summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2012-04-05 07:44:51 +0000
committer Aaron Giles <aaron@aarongiles.com>2012-04-05 07:44:51 +0000
commit194397db29bbf4b5bbf1f22c8fb5a16c39fffa06 (patch)
tree5e6e746191732095345bc7a8ffa6fd4645e530fd
parent82a1191455181e8a74836a6f597a23f288be82d0 (diff)
Moved all drivers to using the paletteram helpers defined in the
driver_device base class. The palette base is now specified via an AM_SHARE of "paletteram" or "paletteram2". The driver_device base class now finds these pointers and places them in m_generic_paletteram_8/_16/_32 and m_generic_paletteram2_8/_16/_32. Removed machine.generic.paletteram*, and machine.generic entirely. Removed AM_BASE_GENERIC/AM_SIZE_GENERIC as they don't apply anymore. Changed required_/optional_shared_ptr to support set_target with base and size for manually configuring a shared pointer, and a new allocate method for dynamically allocating (and registering the memory for save states). A few subsequent cleanups are coming related to this, but wanted to get this in before the next modern push.
-rw-r--r--src/emu/addrmap.c2
-rw-r--r--src/emu/addrmap.h11
-rw-r--r--src/emu/device.c44
-rw-r--r--src/emu/device.h135
-rw-r--r--src/emu/machine.c10
-rw-r--r--src/emu/machine.h40
-rw-r--r--src/emu/memory.c6
-rw-r--r--src/emu/uimain.c35
-rw-r--r--src/emu/video/generic.c537
-rw-r--r--src/emu/video/generic.h68
-rw-r--r--src/lib/util/palette.h73
-rw-r--r--src/mame/drivers/1945kiii.c2
-rw-r--r--src/mame/drivers/2mindril.c2
-rw-r--r--src/mame/drivers/88games.c16
-rw-r--r--src/mame/drivers/acommand.c2
-rw-r--r--src/mame/drivers/actfancr.c4
-rw-r--r--src/mame/drivers/aerofgt.c24
-rw-r--r--src/mame/drivers/ajax.c2
-rw-r--r--src/mame/drivers/albazg.c4
-rw-r--r--src/mame/drivers/aliens.c4
-rw-r--r--src/mame/drivers/amspdwy.c2
-rw-r--r--src/mame/drivers/aquarium.c2
-rw-r--r--src/mame/drivers/arcadecl.c2
-rw-r--r--src/mame/drivers/armedf.c12
-rw-r--r--src/mame/drivers/ashnojoe.c2
-rw-r--r--src/mame/drivers/asterix.c2
-rw-r--r--src/mame/drivers/atarig1.c2
-rw-r--r--src/mame/drivers/atarig42.c2
-rw-r--r--src/mame/drivers/atarigx2.c2
-rw-r--r--src/mame/drivers/atarisy1.c2
-rw-r--r--src/mame/drivers/atarisy2.c2
-rw-r--r--src/mame/drivers/ataxx.c2
-rw-r--r--src/mame/drivers/atetris.c4
-rw-r--r--src/mame/drivers/backfire.c6
-rw-r--r--src/mame/drivers/badlands.c4
-rw-r--r--src/mame/drivers/balsente.c2
-rw-r--r--src/mame/drivers/batman.c2
-rw-r--r--src/mame/drivers/battlera.c2
-rw-r--r--src/mame/drivers/battlnts.c2
-rw-r--r--src/mame/drivers/bbusters.c4
-rw-r--r--src/mame/drivers/bestleag.c2
-rw-r--r--src/mame/drivers/bigstrkb.c2
-rw-r--r--src/mame/drivers/bingor.c2
-rw-r--r--src/mame/drivers/bishi.c4
-rw-r--r--src/mame/drivers/blackt96.c2
-rw-r--r--src/mame/drivers/blktiger.c4
-rw-r--r--src/mame/drivers/blockhl.c2
-rw-r--r--src/mame/drivers/bloodbro.c4
-rw-r--r--src/mame/drivers/blstroid.c2
-rw-r--r--src/mame/drivers/bogeyman.c2
-rw-r--r--src/mame/drivers/bombjack.c2
-rw-r--r--src/mame/drivers/boogwing.c2
-rw-r--r--src/mame/drivers/bottom9.c4
-rw-r--r--src/mame/drivers/btime.c6
-rw-r--r--src/mame/drivers/bublbobl.c6
-rw-r--r--src/mame/drivers/buggychl.c2
-rw-r--r--src/mame/drivers/cabal.c4
-rw-r--r--src/mame/drivers/cabaret.c4
-rw-r--r--src/mame/drivers/calorie.c2
-rw-r--r--src/mame/drivers/cbasebal.c4
-rw-r--r--src/mame/drivers/cbuster.c4
-rw-r--r--src/mame/drivers/centiped.c10
-rw-r--r--src/mame/drivers/chinagat.c4
-rw-r--r--src/mame/drivers/chqflag.c2
-rw-r--r--src/mame/drivers/cischeat.c20
-rw-r--r--src/mame/drivers/citycon.c2
-rw-r--r--src/mame/drivers/cmmb.c2
-rw-r--r--src/mame/drivers/cninja.c10
-rw-r--r--src/mame/drivers/coolridr.c16
-rw-r--r--src/mame/drivers/crimfght.c4
-rw-r--r--src/mame/drivers/crospang.c4
-rw-r--r--src/mame/drivers/crshrace.c2
-rw-r--r--src/mame/drivers/cshooter.c14
-rw-r--r--src/mame/drivers/cubeqst.c6
-rw-r--r--src/mame/drivers/cyberbal.c2
-rw-r--r--src/mame/drivers/cybertnk.c2
-rw-r--r--src/mame/drivers/d9final.c4
-rw-r--r--src/mame/drivers/darius.c4
-rw-r--r--src/mame/drivers/darkhors.c4
-rw-r--r--src/mame/drivers/darkmist.c2
-rw-r--r--src/mame/drivers/darkseal.c4
-rw-r--r--src/mame/drivers/dassault.c2
-rw-r--r--src/mame/drivers/dblewing.c2
-rw-r--r--src/mame/drivers/dbz.c2
-rw-r--r--src/mame/drivers/dcon.c2
-rw-r--r--src/mame/drivers/ddealer.c2
-rw-r--r--src/mame/drivers/ddragon.c8
-rw-r--r--src/mame/drivers/ddragon3.c6
-rw-r--r--src/mame/drivers/deadang.c2
-rw-r--r--src/mame/drivers/dec0.c12
-rw-r--r--src/mame/drivers/dec8.c40
-rw-r--r--src/mame/drivers/deco156.c16
-rw-r--r--src/mame/drivers/deco32.c14
-rw-r--r--src/mame/drivers/deco_ld.c6
-rw-r--r--src/mame/drivers/deco_mlc.c6
-rw-r--r--src/mame/drivers/dietgo.c2
-rw-r--r--src/mame/drivers/diverboy.c2
-rw-r--r--src/mame/drivers/djmain.c6
-rw-r--r--src/mame/drivers/dogfgt.c2
-rw-r--r--src/mame/drivers/dominob.c2
-rw-r--r--src/mame/drivers/dooyong.c16
-rw-r--r--src/mame/drivers/drgnmst.c2
-rw-r--r--src/mame/drivers/drtomy.c2
-rw-r--r--src/mame/drivers/dynduke.c2
-rw-r--r--src/mame/drivers/egghunt.c2
-rw-r--r--src/mame/drivers/eprom.c4
-rw-r--r--src/mame/drivers/esd16.c8
-rw-r--r--src/mame/drivers/expro02.c7
-rw-r--r--src/mame/drivers/exterm.c2
-rw-r--r--src/mame/drivers/f1gp.c6
-rw-r--r--src/mame/drivers/fantland.c8
-rw-r--r--src/mame/drivers/feversoc.c16
-rw-r--r--src/mame/drivers/fitfight.c4
-rw-r--r--src/mame/drivers/flkatck.c2
-rw-r--r--src/mame/drivers/foodf.c2
-rw-r--r--src/mame/drivers/funkyjet.c2
-rw-r--r--src/mame/drivers/fuukifg2.c2
-rw-r--r--src/mame/drivers/gaelco.c8
-rw-r--r--src/mame/drivers/gaelco2.c12
-rw-r--r--src/mame/drivers/gaelco3d.c4
-rw-r--r--src/mame/drivers/gaiden.c6
-rw-r--r--src/mame/drivers/gal3.c17
-rw-r--r--src/mame/drivers/galaxi.c2
-rw-r--r--src/mame/drivers/galpani2.c2
-rw-r--r--src/mame/drivers/galpani3.c4
-rw-r--r--src/mame/drivers/galpanic.c12
-rw-r--r--src/mame/drivers/galspnbl.c2
-rw-r--r--src/mame/drivers/gauntlet.c2
-rw-r--r--src/mame/drivers/gbusters.c5
-rw-r--r--src/mame/drivers/gcpinbal.c2
-rw-r--r--src/mame/drivers/gijoe.c2
-rw-r--r--src/mame/drivers/ginganin.c2
-rw-r--r--src/mame/drivers/gladiatr.c4
-rw-r--r--src/mame/drivers/glass.c2
-rw-r--r--src/mame/drivers/gng.c12
-rw-r--r--src/mame/drivers/go2000.c2
-rw-r--r--src/mame/drivers/goal92.c2
-rw-r--r--src/mame/drivers/goldstar.c6
-rw-r--r--src/mame/drivers/good.c2
-rw-r--r--src/mame/drivers/goodejan.c2
-rw-r--r--src/mame/drivers/gotcha.c2
-rw-r--r--src/mame/drivers/gottlieb.c4
-rw-r--r--src/mame/drivers/gradius3.c2
-rw-r--r--src/mame/drivers/groundfx.c6
-rw-r--r--src/mame/drivers/gstriker.c4
-rw-r--r--src/mame/drivers/gticlub.c6
-rw-r--r--src/mame/drivers/gumbo.c6
-rw-r--r--src/mame/drivers/gunbustr.c8
-rw-r--r--src/mame/drivers/halleys.c7
-rw-r--r--src/mame/drivers/highvdeo.c6
-rw-r--r--src/mame/drivers/himesiki.c2
-rw-r--r--src/mame/drivers/hng64.c4
-rw-r--r--src/mame/drivers/hvyunit.c4
-rw-r--r--src/mame/drivers/igs009.c4
-rw-r--r--src/mame/drivers/igs011.c16
-rw-r--r--src/mame/drivers/igs017.c22
-rw-r--r--src/mame/drivers/igs_m027.c6
-rw-r--r--src/mame/drivers/igspoker.c12
-rw-r--r--src/mame/drivers/inufuku.c2
-rw-r--r--src/mame/drivers/iqblock.c12
-rw-r--r--src/mame/drivers/itech32.c8
-rw-r--r--src/mame/drivers/jack.c2
-rw-r--r--src/mame/drivers/jackie.c4
-rw-r--r--src/mame/drivers/jackpool.c2
-rw-r--r--src/mame/drivers/jalmah.c4
-rw-r--r--src/mame/drivers/jchan.c2
-rw-r--r--src/mame/drivers/kaneko16.c18
-rw-r--r--src/mame/drivers/kickgoal.c2
-rw-r--r--src/mame/drivers/klax.c2
-rw-r--r--src/mame/drivers/konamigx.c8
-rw-r--r--src/mame/drivers/kongambl.c2
-rw-r--r--src/mame/drivers/laserbas.c2
-rw-r--r--src/mame/drivers/legionna.c20
-rw-r--r--src/mame/drivers/leland.c2
-rw-r--r--src/mame/drivers/lethal.c6
-rw-r--r--src/mame/drivers/limenko.c10
-rw-r--r--src/mame/drivers/lkage.c2
-rw-r--r--src/mame/drivers/lordgun.c4
-rw-r--r--src/mame/drivers/lwings.c12
-rw-r--r--src/mame/drivers/m107.c2
-rw-r--r--src/mame/drivers/m72.c32
-rw-r--r--src/mame/drivers/m90.c6
-rw-r--r--src/mame/drivers/madmotor.c2
-rw-r--r--src/mame/drivers/magic10.c12
-rw-r--r--src/mame/drivers/mainevt.c4
-rw-r--r--src/mame/drivers/majorpkr.c10
-rw-r--r--src/mame/drivers/mcatadv.c2
-rw-r--r--src/mame/drivers/mcr.c6
-rw-r--r--src/mame/drivers/mcr3.c4
-rw-r--r--src/mame/drivers/mcr68.c8
-rw-r--r--src/mame/drivers/megasys1.c8
-rw-r--r--src/mame/drivers/metlclsh.c4
-rw-r--r--src/mame/drivers/metro.c46
-rw-r--r--src/mame/drivers/micro3d.c2
-rw-r--r--src/mame/drivers/midas.c4
-rw-r--r--src/mame/drivers/midtunit.c2
-rw-r--r--src/mame/drivers/midvunit.c4
-rw-r--r--src/mame/drivers/midwunit.c2
-rw-r--r--src/mame/drivers/midxunit.c2
-rw-r--r--src/mame/drivers/midyunit.c2
-rw-r--r--src/mame/drivers/mil4000.c2
-rw-r--r--src/mame/drivers/mirage.c2
-rw-r--r--src/mame/drivers/missb2.c2
-rw-r--r--src/mame/drivers/mlanding.c2
-rw-r--r--src/mame/drivers/model1.c8
-rw-r--r--src/mame/drivers/momoko.c2
-rw-r--r--src/mame/drivers/moo.c6
-rw-r--r--src/mame/drivers/mosaic.c4
-rw-r--r--src/mame/drivers/mrflea.c2
-rw-r--r--src/mame/drivers/msisaac.c2
-rw-r--r--src/mame/drivers/mugsmash.c2
-rw-r--r--src/mame/drivers/mwarr.c2
-rw-r--r--src/mame/drivers/mystwarr.c12
-rw-r--r--src/mame/drivers/namcofl.c6
-rw-r--r--src/mame/drivers/namcona1.c4
-rw-r--r--src/mame/drivers/namconb1.c8
-rw-r--r--src/mame/drivers/namcos21.c10
-rw-r--r--src/mame/drivers/namcos22.c4
-rw-r--r--src/mame/drivers/namcos23.c13
-rw-r--r--src/mame/drivers/nbmj8991.c18
-rw-r--r--src/mame/drivers/neoprint.c14
-rw-r--r--src/mame/drivers/news.c2
-rw-r--r--src/mame/drivers/ninjakd2.c8
-rw-r--r--src/mame/drivers/nmg5.c4
-rw-r--r--src/mame/drivers/nmk16.c40
-rw-r--r--src/mame/drivers/nova2001.c4
-rw-r--r--src/mame/drivers/nwk-tr.c6
-rw-r--r--src/mame/drivers/offtwall.c2
-rw-r--r--src/mame/drivers/ohmygod.c2
-rw-r--r--src/mame/drivers/oneshot.c2
-rw-r--r--src/mame/drivers/opwolf.c4
-rw-r--r--src/mame/drivers/othldrby.c2
-rw-r--r--src/mame/drivers/overdriv.c2
-rw-r--r--src/mame/drivers/parodius.c7
-rw-r--r--src/mame/drivers/pass.c2
-rw-r--r--src/mame/drivers/pbaction.c2
-rw-r--r--src/mame/drivers/pgm.c2
-rw-r--r--src/mame/drivers/pinkiri8.c4
-rw-r--r--src/mame/drivers/pipedrm.c4
-rw-r--r--src/mame/drivers/pirates.c2
-rw-r--r--src/mame/drivers/pkscram.c2
-rw-r--r--src/mame/drivers/pktgaldx.c4
-rw-r--r--src/mame/drivers/playmark.c12
-rw-r--r--src/mame/drivers/plygonet.c10
-rw-r--r--src/mame/drivers/pokechmp.c6
-rw-r--r--src/mame/drivers/popobear.c2
-rw-r--r--src/mame/drivers/powerbal.c4
-rw-r--r--src/mame/drivers/powerins.c4
-rw-r--r--src/mame/drivers/prehisle.c2
-rw-r--r--src/mame/drivers/psikyo.c8
-rw-r--r--src/mame/drivers/pushman.c4
-rw-r--r--src/mame/drivers/pzletime.c2
-rw-r--r--src/mame/drivers/qdrmfgp.c4
-rw-r--r--src/mame/drivers/quizdna.c4
-rw-r--r--src/mame/drivers/quizpani.c2
-rw-r--r--src/mame/drivers/quizpun2.c2
-rw-r--r--src/mame/drivers/r2dx_v33.c4
-rw-r--r--src/mame/drivers/rabbit.c10
-rw-r--r--src/mame/drivers/raiden.c4
-rw-r--r--src/mame/drivers/raiden2.c6
-rw-r--r--src/mame/drivers/rainbow.c4
-rw-r--r--src/mame/drivers/rampart.c2
-rw-r--r--src/mame/drivers/rastan.c2
-rw-r--r--src/mame/drivers/rbmk.c2
-rw-r--r--src/mame/drivers/realbrk.c2
-rw-r--r--src/mame/drivers/relief.c2
-rw-r--r--src/mame/drivers/renegade.c4
-rw-r--r--src/mame/drivers/rohga.c8
-rw-r--r--src/mame/drivers/rollerg.c2
-rw-r--r--src/mame/drivers/rpunch.c2
-rw-r--r--src/mame/drivers/rungun.c2
-rw-r--r--src/mame/drivers/sandscrp.c2
-rw-r--r--src/mame/drivers/sderby.c8
-rw-r--r--src/mame/drivers/segas24.c10
-rw-r--r--src/mame/drivers/sengokmj.c2
-rw-r--r--src/mame/drivers/senjyo.c6
-rw-r--r--src/mame/drivers/seta2.c41
-rw-r--r--src/mame/drivers/sf.c6
-rw-r--r--src/mame/drivers/shadfrce.c2
-rw-r--r--src/mame/drivers/shangha3.c6
-rw-r--r--src/mame/drivers/shanghai.c4
-rw-r--r--src/mame/drivers/shuuz.c2
-rw-r--r--src/mame/drivers/sidearms.c12
-rw-r--r--src/mame/drivers/sigmab98.c30
-rw-r--r--src/mame/drivers/silkroad.c6
-rw-r--r--src/mame/drivers/simpl156.c6
-rw-r--r--src/mame/drivers/skullxbo.c2
-rw-r--r--src/mame/drivers/skylncr.c21
-rw-r--r--src/mame/drivers/snowbros.c14
-rw-r--r--src/mame/drivers/solomon.c2
-rw-r--r--src/mame/drivers/spbactn.c2
-rw-r--r--src/mame/drivers/speedbal.c2
-rw-r--r--src/mame/drivers/speedspn.c2
-rw-r--r--src/mame/drivers/splash.c6
-rw-r--r--src/mame/drivers/spoker.c8
-rw-r--r--src/mame/drivers/spool99.c4
-rw-r--r--src/mame/drivers/spy.c5
-rw-r--r--src/mame/drivers/srmp2.c2
-rw-r--r--src/mame/drivers/srmp6.c8
-rw-r--r--src/mame/drivers/srumbler.c2
-rw-r--r--src/mame/drivers/sslam.c4
-rw-r--r--src/mame/drivers/stadhero.c2
-rw-r--r--src/mame/drivers/stepstag.c2
-rw-r--r--src/mame/drivers/stfight.c4
-rw-r--r--src/mame/drivers/stlforce.c2
-rw-r--r--src/mame/drivers/suna8.c12
-rw-r--r--src/mame/drivers/supbtime.c4
-rw-r--r--src/mame/drivers/superchs.c6
-rw-r--r--src/mame/drivers/superqix.c8
-rw-r--r--src/mame/drivers/suprslam.c2
-rw-r--r--src/mame/drivers/surpratk.c7
-rw-r--r--src/mame/drivers/system1.c4
-rw-r--r--src/mame/drivers/tail2nos.c2
-rw-r--r--src/mame/drivers/taito_b.c32
-rw-r--r--src/mame/drivers/taito_f2.c50
-rw-r--r--src/mame/drivers/taito_f3.c2
-rw-r--r--src/mame/drivers/taito_h.c6
-rw-r--r--src/mame/drivers/taito_o.c2
-rw-r--r--src/mame/drivers/taito_x.c8
-rw-r--r--src/mame/drivers/taito_z.c10
-rw-r--r--src/mame/drivers/taotaido.c2
-rw-r--r--src/mame/drivers/targeth.c2
-rw-r--r--src/mame/drivers/tatsumi.c10
-rw-r--r--src/mame/drivers/tbowl.c2
-rw-r--r--src/mame/drivers/tecmo.c6
-rw-r--r--src/mame/drivers/tecmo16.c4
-rw-r--r--src/mame/drivers/tecmosys.c4
-rw-r--r--src/mame/drivers/tehkanwc.c4
-rw-r--r--src/mame/drivers/tetrisp2.c12
-rw-r--r--src/mame/drivers/thoop2.c2
-rw-r--r--src/mame/drivers/thunderj.c2
-rw-r--r--src/mame/drivers/thunderx.c7
-rw-r--r--src/mame/drivers/tigeroad.c2
-rw-r--r--src/mame/drivers/tmaster.c2
-rw-r--r--src/mame/drivers/tmmjprd.c10
-rw-r--r--src/mame/drivers/tmnt.c24
-rw-r--r--src/mame/drivers/tnzs.c12
-rw-r--r--src/mame/drivers/toaplan2.c36
-rw-r--r--src/mame/drivers/toki.c4
-rw-r--r--src/mame/drivers/toobin.c2
-rw-r--r--src/mame/drivers/topspeed.c2
-rw-r--r--src/mame/drivers/trvmadns.c6
-rw-r--r--src/mame/drivers/tumbleb.c17
-rw-r--r--src/mame/drivers/tumblep.c2
-rw-r--r--src/mame/drivers/tunhunt.c2
-rw-r--r--src/mame/drivers/twin16.c4
-rw-r--r--src/mame/drivers/twincobr.c2
-rw-r--r--src/mame/drivers/ultraman.c2
-rw-r--r--src/mame/drivers/ultrsprt.c6
-rw-r--r--src/mame/drivers/umipoker.c2
-rw-r--r--src/mame/drivers/undrfire.c8
-rw-r--r--src/mame/drivers/unico.c6
-rw-r--r--src/mame/drivers/vamphalf.c12
-rw-r--r--src/mame/drivers/vaportra.c4
-rw-r--r--src/mame/drivers/vegaeo.c6
-rw-r--r--src/mame/drivers/vendetta.c7
-rw-r--r--src/mame/drivers/vigilant.c4
-rw-r--r--src/mame/drivers/vindictr.c2
-rw-r--r--src/mame/drivers/vmetal.c2
-rw-r--r--src/mame/drivers/volfied.c2
-rw-r--r--src/mame/drivers/vroulet.c8
-rw-r--r--src/mame/drivers/wardner.c4
-rw-r--r--src/mame/drivers/wc90.c2
-rw-r--r--src/mame/drivers/wc90b.c2
-rw-r--r--src/mame/drivers/wecleman.c7
-rw-r--r--src/mame/drivers/welltris.c2
-rw-r--r--src/mame/drivers/wgp.c2
-rw-r--r--src/mame/drivers/williams.c10
-rw-r--r--src/mame/drivers/wink.c2
-rw-r--r--src/mame/drivers/witch.c4
-rw-r--r--src/mame/drivers/wrally.c2
-rw-r--r--src/mame/drivers/wwfsstar.c2
-rw-r--r--src/mame/drivers/wwfwfest.c4
-rw-r--r--src/mame/drivers/xain.c4
-rw-r--r--src/mame/drivers/xexex.c2
-rw-r--r--src/mame/drivers/xmen.c4
-rw-r--r--src/mame/drivers/xxmissio.c2
-rw-r--r--src/mame/drivers/xybots.c2
-rw-r--r--src/mame/drivers/yunsun16.c2
-rw-r--r--src/mame/drivers/zr107.c12
-rw-r--r--src/mame/includes/gbusters.h1
-rw-r--r--src/mame/includes/lethal.h3
-rw-r--r--src/mame/includes/suna8.h6
-rw-r--r--src/mame/machine/atarigen.c17
-rw-r--r--src/mame/machine/leland.c8
-rw-r--r--src/mame/machine/simpsons.c3
-rw-r--r--src/mame/machine/williams.c2
-rw-r--r--src/mame/video/aliens.c4
-rw-r--r--src/mame/video/amspdwy.c3
-rw-r--r--src/mame/video/atarisy2.c5
-rw-r--r--src/mame/video/balsente.c9
-rw-r--r--src/mame/video/battlera.c5
-rw-r--r--src/mame/video/blockhl.c4
-rw-r--r--src/mame/video/bogeyman.c3
-rw-r--r--src/mame/video/btime.c3
-rw-r--r--src/mame/video/cbuster.c13
-rw-r--r--src/mame/video/centiped.c9
-rw-r--r--src/mame/video/chqflag.c4
-rw-r--r--src/mame/video/citycon.c3
-rw-r--r--src/mame/video/crimfght.c4
-rw-r--r--src/mame/video/darkmist.c7
-rw-r--r--src/mame/video/darkseal.c13
-rw-r--r--src/mame/video/dec0.c13
-rw-r--r--src/mame/video/deco32.c23
-rw-r--r--src/mame/video/decocomn.c19
-rw-r--r--src/mame/video/dynduke.c5
-rw-r--r--src/mame/video/eprom.c2
-rw-r--r--src/mame/video/flstory.c26
-rw-r--r--src/mame/video/foodf.c4
-rw-r--r--src/mame/video/gaelco2.c5
-rw-r--r--src/mame/video/gaelco3d.c10
-rw-r--r--src/mame/video/galpanic.c3
-rw-r--r--src/mame/video/gladiatr.c15
-rw-r--r--src/mame/video/gottlieb.c8
-rw-r--r--src/mame/video/itech32.c36
-rw-r--r--src/mame/video/jack.c3
-rw-r--r--src/mame/video/konamigx.c23
-rw-r--r--src/mame/video/konamiic.c3
-rw-r--r--src/mame/video/konicdev.c2
-rw-r--r--src/mame/video/ladyfrog.c14
-rw-r--r--src/mame/video/lordgun.c3
-rw-r--r--src/mame/video/m72.c24
-rw-r--r--src/mame/video/m92.c8
-rw-r--r--src/mame/video/mcr.c3
-rw-r--r--src/mame/video/mcr3.c3
-rw-r--r--src/mame/video/mcr68.c10
-rw-r--r--src/mame/video/micro3d.c5
-rw-r--r--src/mame/video/midtunit.c9
-rw-r--r--src/mame/video/midvunit.c5
-rw-r--r--src/mame/video/midyunit.c4
-rw-r--r--src/mame/video/mitchell.c17
-rw-r--r--src/mame/video/model1.c2
-rw-r--r--src/mame/video/namcofl.c3
-rw-r--r--src/mame/video/namcona1.c8
-rw-r--r--src/mame/video/namconb1.c12
-rw-r--r--src/mame/video/namcos21.c5
-rw-r--r--src/mame/video/namcos22.c11
-rw-r--r--src/mame/video/nbmj8991.c27
-rw-r--r--src/mame/video/nova2001.c7
-rw-r--r--src/mame/video/nycaptor.c14
-rw-r--r--src/mame/video/playmark.c5
-rw-r--r--src/mame/video/powerins.c3
-rw-r--r--src/mame/video/quizdna.c7
-rw-r--r--src/mame/video/segag80r.c14
-rw-r--r--src/mame/video/simpl156.c3
-rw-r--r--src/mame/video/simpsons.c4
-rw-r--r--src/mame/video/sslam.c5
-rw-r--r--src/mame/video/stfight.c3
-rw-r--r--src/mame/video/suna8.c21
-rw-r--r--src/mame/video/system1.c3
-rw-r--r--src/mame/video/system16.c4
-rw-r--r--src/mame/video/taito_f3.c38
-rw-r--r--src/mame/video/tatsumi.c10
-rw-r--r--src/mame/video/tecmosys.c2
-rw-r--r--src/mame/video/tetrisp2.c6
-rw-r--r--src/mame/video/tmnt.c5
-rw-r--r--src/mame/video/toaplan1.c9
-rw-r--r--src/mame/video/toaplan2.c2
-rw-r--r--src/mame/video/toobin.c6
-rw-r--r--src/mame/video/tunhunt.c3
-rw-r--r--src/mame/video/twin16.c5
-rw-r--r--src/mame/video/unico.c10
-rw-r--r--src/mame/video/vaportra.c13
-rw-r--r--src/mame/video/vigilant.c21
-rw-r--r--src/mame/video/vindictr.c5
-rw-r--r--src/mame/video/wecleman.c6
-rw-r--r--src/mame/video/williams.c14
-rw-r--r--src/mame/video/xxmissio.c3
468 files changed, 1780 insertions, 2056 deletions
diff --git a/src/emu/addrmap.c b/src/emu/addrmap.c
index e1bd5d7331e..631bf544267 100644
--- a/src/emu/addrmap.c
+++ b/src/emu/addrmap.c
@@ -60,8 +60,6 @@ address_map_entry::address_map_entry(address_map &map, offs_t start, offs_t end)
m_sizeptr(NULL),
m_baseptroffs_plus1(0),
m_sizeptroffs_plus1(0),
- m_genbaseptroffs_plus1(0),
- m_gensizeptroffs_plus1(0),
m_region(NULL),
m_rgnoffs(0),
m_rspace8(NULL),
diff --git a/src/emu/addrmap.h b/src/emu/addrmap.h
index f1ce94f2ded..fe77f2c2d92 100644
--- a/src/emu/addrmap.h
+++ b/src/emu/addrmap.h
@@ -117,8 +117,6 @@ public:
void set_sizeptr(size_t *_sizeptr) { m_sizeptr = _sizeptr; }
void set_member_baseptr(FPTR offs) { m_baseptroffs_plus1 = offs + 1; }
void set_member_sizeptr(FPTR offs) { m_sizeptroffs_plus1 = offs + 1; }
- void set_generic_baseptr(FPTR offs) { m_genbaseptroffs_plus1 = offs + 1; }
- void set_generic_sizeptr(FPTR offs) { m_gensizeptroffs_plus1 = offs + 1; }
// mask setting
void set_mask(offs_t _mask);
@@ -153,8 +151,6 @@ public:
size_t * m_sizeptr; // receives size of area in bytes (optional)
UINT32 m_baseptroffs_plus1; // offset of base pointer within driver_data, plus 1
UINT32 m_sizeptroffs_plus1; // offset of size pointer within driver_data, plus 1
- UINT32 m_genbaseptroffs_plus1; // offset of base pointer within generic_pointers, plus 1
- UINT32 m_gensizeptroffs_plus1; // offset of size pointer within generic_pointers, plus 1
const char * m_region; // tag of region containing the memory backing this entry
offs_t m_rgnoffs; // offset within the region
@@ -761,18 +757,12 @@ void _class :: _name(address_map &map, const device_t &device) \
#define AM_BASE(_member) \
curentry->set_member_baseptr(myoffsetof(drivdata_class, _member)); \
-#define AM_BASE_GENERIC(_member) \
- curentry->set_generic_baseptr(myoffsetof(generic_pointers, _member)); \
-
#define AM_SIZE_LEGACY(_size) \
curentry->set_sizeptr(_size); \
#define AM_SIZE(_member) \
curentry->set_member_sizeptr(myoffsetof(drivdata_class, _member)); \
-#define AM_SIZE_GENERIC(_member) \
- curentry->set_generic_sizeptr(myoffsetof(generic_pointers, _member##_size)); \
-
// common shortcuts
#define AM_ROMBANK(_bank) AM_READ_BANK(_bank)
@@ -788,7 +778,6 @@ void _class :: _name(address_map &map, const device_t &device) \
#define AM_RAM_DEVWRITE_LEGACY(_tag, _write) AM_READONLY AM_DEVWRITE_LEGACY(_tag, _write)
#define AM_BASE_SIZE(_base, _size) AM_BASE(_base) AM_SIZE(_size)
-#define AM_BASE_SIZE_GENERIC(_member) AM_BASE_GENERIC(_member) AM_SIZE_GENERIC(_member)
diff --git a/src/emu/device.c b/src/emu/device.c
index 7e6301001b2..f813a5e0441 100644
--- a/src/emu/device.c
+++ b/src/emu/device.c
@@ -377,8 +377,8 @@ void device_t::start()
m_region = machine().region(tag());
// find all the registered devices
- for (auto_finder_base *autodev = m_auto_finder_list; autodev != NULL; autodev = autodev->m_next)
- autodev->findit(*this);
+ for (finder_base *autodev = m_auto_finder_list; autodev != NULL; autodev = autodev->m_next)
+ autodev->findit();
// let the interfaces do their pre-work
for (device_interface *intf = m_interface_list; intf != NULL; intf = intf->interface_next())
@@ -825,58 +825,36 @@ void device_t::remove_subdevice(device_t &device)
// list of stuff to find after we go live
//-------------------------------------------------
-void device_t::register_auto_finder(auto_finder_base &autodev)
+device_t::finder_base *device_t::register_auto_finder(finder_base &autodev)
{
// add to this list
- autodev.m_next = m_auto_finder_list;
+ finder_base *old = m_auto_finder_list;
m_auto_finder_list = &autodev;
+ return old;
}
//-------------------------------------------------
-// auto_finder_base - constructor
+// finder_base - constructor
//-------------------------------------------------
-device_t::auto_finder_base::auto_finder_base(device_t &base, const char *tag)
- : m_next(NULL),
+device_t::finder_base::finder_base(device_t &base, const char *tag)
+ : m_next(base.register_auto_finder(*this)),
+ m_base(base),
m_tag(tag)
{
- // register ourselves with our device class
- base.register_auto_finder(*this);
}
//-------------------------------------------------
-// ~auto_finder_base - destructor
+// ~finder_base - destructor
//-------------------------------------------------
-device_t::auto_finder_base::~auto_finder_base()
+device_t::finder_base::~finder_base()
{
}
-//-------------------------------------------------
-// find_device - find a device; done here instead
-// of inline in the template due to include
-// dependency ordering
-//-------------------------------------------------
-
-device_t *device_t::auto_finder_base::find_device(device_t &base, const char *tag)
-{
- return base.subdevice(tag);
-}
-
-
-//-------------------------------------------------
-// find_shared_ptr - find a shared pointer
-//-------------------------------------------------
-
-void *device_t::auto_finder_base::find_shared_ptr(device_t &base, const char *tag, size_t &bytes)
-{
- return memory_get_shared(base.machine(), tag, bytes);
-}
-
-
//**************************************************************************
// LIVE DEVICE INTERFACES
diff --git a/src/emu/device.h b/src/emu/device.h
index b45a21aecdf..066ec20ba22 100644
--- a/src/emu/device.h
+++ b/src/emu/device.h
@@ -289,106 +289,147 @@ protected:
const input_device_default *m_input_defaults; // devices input ports default overrides
// helper class to request auto-object discovery in the constructor of a derived class
- class auto_finder_base
+ class finder_base
{
+ friend class device_t;
+
public:
// construction/destruction
- auto_finder_base(device_t &base, const char *tag);
- virtual ~auto_finder_base();
+ finder_base(device_t &base, const char *tag);
+ virtual ~finder_base();
// getters
- virtual void findit(device_t &base) = 0;
-
- // helpers
- device_t *find_device(device_t &device, const char *tag);
- void *find_shared_ptr(device_t &device, const char *tag, size_t &bytes);
+ virtual void findit() = 0;
+ protected:
// internal state
- auto_finder_base *m_next;
+ finder_base *m_next;
+ device_t &m_base;
const char *m_tag;
};
- // templated version bound to a specific type
- template<typename _TargetType, bool _Required>
- class auto_finder_type : public auto_finder_base
+ // device finder template
+ template<typename _DeviceClass, bool _Required>
+ class device_finder : public finder_base
{
public:
// construction/destruction
- auto_finder_type(device_t &base, const char *tag)
- : auto_finder_base(base, tag),
+ device_finder(device_t &base, const char *tag)
+ : finder_base(base, tag),
m_target(0) { }
// operators to make use transparent
- operator _TargetType() { return m_target; }
- operator _TargetType() const { return m_target; }
- _TargetType operator->() { return m_target; }
+ operator _DeviceClass *() { return m_target; }
+ operator _DeviceClass *() const { return m_target; }
+ _DeviceClass *operator->() { return m_target; }
// getter for explicit fetching
- _TargetType target() const { return m_target; }
+ _DeviceClass *target() const { return m_target; }
// setter for setting the object
- void set_target(_TargetType target)
+ void set_target(_DeviceClass *target)
{
m_target = target;
if (target == 0 && _Required)
- throw emu_fatalerror("Unable to find required object '%s'", this->m_tag);
+ throw emu_fatalerror("Unable to find required device '%s'", this->m_tag);
}
+ // finder
+ virtual void findit() { set_target(m_base.subdevice<_DeviceClass>(m_tag)); }
+
protected:
// internal state
- _TargetType m_target;
+ _DeviceClass *m_target;
};
-
+
// optional device finder
template<class _DeviceClass>
- class optional_device : public auto_finder_type<_DeviceClass *, false>
+ class optional_device : public device_finder<_DeviceClass, false>
{
public:
- optional_device(device_t &base, const char *tag) : auto_finder_type<_DeviceClass *, false>(base, tag) { }
- virtual void findit(device_t &base) { this->set_target(downcast<_DeviceClass *>(this->find_device(base, this->m_tag))); }
+ optional_device(device_t &base, const char *tag) : device_finder<_DeviceClass, false>(base, tag) { }
};
// required devices are similar but throw an error if they are not found
template<class _DeviceClass>
- class required_device : public auto_finder_type<_DeviceClass *, true>
+ class required_device : public device_finder<_DeviceClass, true>
{
public:
- required_device(device_t &base, const char *tag) : auto_finder_type<_DeviceClass *, true>(base, tag) { }
- virtual void findit(device_t &base) { this->set_target(downcast<_DeviceClass *>(this->find_device(base, this->m_tag))); }
+ required_device(device_t &base, const char *tag) : device_finder<_DeviceClass, true>(base, tag) { }
};
-
- // optional shared pointer finder
- template<typename _PointerType>
- class optional_shared_ptr : public auto_finder_type<_PointerType *, false>
+
+ // shared pointer finder template
+ template<typename _PointerType, bool _Required>
+ class shared_ptr_finder : public finder_base
{
public:
- optional_shared_ptr(device_t &base, const char *tag) : auto_finder_type<_PointerType *, false>(base, tag), m_bytes(0) { }
- virtual void findit(device_t &base) { this->set_target(reinterpret_cast<_PointerType *>(this->find_shared_ptr(base, this->m_tag, m_bytes))); }
+ // construction/destruction
+ shared_ptr_finder(device_t &base, const char *tag)
+ : finder_base(base, tag),
+ m_target(0),
+ m_bytes(0),
+ m_allocated(false) { }
+
+ virtual ~shared_ptr_finder() { if (m_allocated) global_free(m_target); }
+
+ // operators to make use transparent
+ operator _PointerType *() { return m_target; }
+ operator _PointerType *() const { return m_target; }
+ _PointerType *operator->() { return m_target; }
+
+ // getter for explicit fetching
+ _PointerType *target() const { return m_target; }
UINT32 bytes() const { return m_bytes; }
- private:
+ // setter for setting the object
+ void set_target(_PointerType *target, size_t bytes)
+ {
+ m_target = target;
+ m_bytes = bytes;
+ if (target == 0 && _Required)
+ throw emu_fatalerror("Unable to find required shared pointer '%s'", this->m_tag);
+ }
+
+ // dynamic allocation of a shared pointer
+ void allocate(UINT32 entries)
+ {
+ assert(!m_allocated);
+ m_allocated = true;
+ m_target = global_alloc_array_clear(_PointerType, entries);
+ m_bytes = entries * sizeof(_PointerType);
+ m_base.save_pointer(m_target, m_tag, entries);
+ }
+
+ // finder
+ virtual void findit() { astring subtag; m_target = reinterpret_cast<_PointerType *>(memory_get_shared(m_base.machine(), m_base.subtag(subtag, m_tag), m_bytes)); }
+
+ protected:
// internal state
+ _PointerType *m_target;
size_t m_bytes;
+ bool m_allocated;
};
-
- // required shared pointer finder
- template<typename _PointerType>
- class required_shared_ptr : public auto_finder_type<_PointerType *, true>
+
+ // optional device finder
+ template<class _PointerType>
+ class optional_shared_ptr : public shared_ptr_finder<_PointerType, false>
{
public:
- required_shared_ptr(device_t &base, const char *tag) : auto_finder_type<_PointerType *, true>(base, tag), m_bytes(0) { }
- virtual void findit(device_t &base) { this->set_target(reinterpret_cast<_PointerType *>(this->find_shared_ptr(base, this->m_tag, m_bytes))); }
- UINT32 bytes() const { return m_bytes; }
+ optional_shared_ptr(device_t &base, const char *tag) : shared_ptr_finder<_PointerType, false>(base, tag) { }
+ };
- private:
- // internal state
- size_t m_bytes;
+ // required devices are similar but throw an error if they are not found
+ template<class _PointerType>
+ class required_shared_ptr : public shared_ptr_finder<_PointerType, true>
+ {
+ public:
+ required_shared_ptr(device_t &base, const char *tag) : shared_ptr_finder<_PointerType, true>(base, tag) { }
};
// internal helpers
- void register_auto_finder(auto_finder_base &autodev);
+ finder_base *register_auto_finder(finder_base &autodev);
- auto_finder_base * m_auto_finder_list;
+ finder_base * m_auto_finder_list;
private:
// private helpers
diff --git a/src/emu/machine.c b/src/emu/machine.c
index f4a493688d6..f2c9445d5e7 100644
--- a/src/emu/machine.c
+++ b/src/emu/machine.c
@@ -184,7 +184,6 @@ running_machine::running_machine(const machine_config &_config, osd_interface &o
m_logerror_list(m_respool)
{
memset(gfx, 0, sizeof(gfx));
- memset(&generic, 0, sizeof(generic));
memset(&m_base_time, 0, sizeof(m_base_time));
// set the machine on all devices
@@ -1050,9 +1049,12 @@ driver_device::driver_device(const machine_config &mconfig, device_type type, co
: device_t(mconfig, type, "Driver Device", tag, NULL, 0),
m_system(NULL),
m_palette_init(NULL),
- m_generic_paletteram(*this, "paletteram"),
- m_generic_paletteram16(*this, "paletteram"),
- m_generic_paletteram2(*this, "paletteram2")
+ m_generic_paletteram_8(*this, "paletteram"),
+ m_generic_paletteram2_8(*this, "paletteram2"),
+ m_generic_paletteram_16(*this, "paletteram"),
+ m_generic_paletteram2_16(*this, "paletteram2"),
+ m_generic_paletteram_32(*this, "paletteram"),
+ m_generic_paletteram2_32(*this, "paletteram2")
{
memset(m_callbacks, 0, sizeof(m_callbacks));
}
diff --git a/src/emu/machine.h b/src/emu/machine.h
index 1f064c00448..159894e9d22 100644
--- a/src/emu/machine.h
+++ b/src/emu/machine.h
@@ -258,17 +258,6 @@ private:
-// ======================> generic_pointers
-
-// holds generic pointers that are commonly used
-struct generic_pointers
-{
- generic_ptr paletteram; // palette RAM
- generic_ptr paletteram2; // secondary palette RAM
-};
-
-
-
// ======================> system_time
// system time description, both local and UTC
@@ -417,9 +406,6 @@ public:
// debugger-related information
UINT32 debug_flags; // the current debug flags
- // generic pointers
- generic_pointers generic; // generic pointers
-
// internal core information
memory_private * memory_data; // internal data from memory.c
palette_private * palette_data; // internal data from palette.c
@@ -594,6 +580,14 @@ public:
DECLARE_WRITE8_MEMBER( soundlatch2_clear_w );
DECLARE_WRITE8_MEMBER( soundlatch3_clear_w );
DECLARE_WRITE8_MEMBER( soundlatch4_clear_w );
+
+ // general palette helpers
+ void set_color_332(pen_t color, int rshift, int gshift, int bshift, UINT32 data);
+ void set_color_444(pen_t color, int rshift, int gshift, int bshift, UINT32 data);
+ void set_color_555(pen_t color, int rshift, int gshift, int bshift, UINT32 data);
+ void set_color_565(pen_t color, int rshift, int gshift, int bshift, UINT32 data);
+ void set_color_888(pen_t color, int rshift, int gshift, int bshift, UINT32 data);
+ void set_color_4444(pen_t color, int ishift, int rshift, int gshift, int bshift, UINT16 data);
// 3-3-2 RGB palette write handlers
DECLARE_WRITE8_MEMBER( paletteram_BBGGGRRR_w );
@@ -679,10 +673,10 @@ protected:
virtual void device_reset_after_children();
// internal helpers
- inline UINT16 paletteram16_le(offs_t offset) const { return m_generic_paletteram[offset & ~1] | (m_generic_paletteram[offset | 1] << 8); }
- inline UINT16 paletteram16_be(offs_t offset) const { return m_generic_paletteram[offset | 1] | (m_generic_paletteram[offset & ~1] << 8); }
- inline UINT16 paletteram16_split(offs_t offset) const { return m_generic_paletteram[offset] | (m_generic_paletteram2[offset] << 8); }
- inline UINT32 paletteram32_be(offs_t offset) const { return m_generic_paletteram16[offset | 1] | (m_generic_paletteram16[offset & ~1] << 16); }
+ inline UINT16 paletteram16_le(offs_t offset) const { return m_generic_paletteram_8[offset & ~1] | (m_generic_paletteram_8[offset | 1] << 8); }
+ inline UINT16 paletteram16_be(offs_t offset) const { return m_generic_paletteram_8[offset | 1] | (m_generic_paletteram_8[offset & ~1] << 8); }
+ inline UINT16 paletteram16_split(offs_t offset) const { return m_generic_paletteram_8[offset] | (m_generic_paletteram2_8[offset] << 8); }
+ inline UINT32 paletteram32_be(offs_t offset) const { return m_generic_paletteram_16[offset | 1] | (m_generic_paletteram_16[offset & ~1] << 16); }
// internal state
const game_driver * m_system; // pointer to the game driver
@@ -690,10 +684,14 @@ protected:
legacy_callback_func m_callbacks[CB_COUNT]; // generic legacy callbacks
palette_init_func m_palette_init; // one-time palette init callback
+public:
// generic pointers
- optional_shared_ptr<UINT8> m_generic_paletteram;
- optional_shared_ptr<UINT16> m_generic_paletteram16;
- optional_shared_ptr<UINT8> m_generic_paletteram2;
+ optional_shared_ptr<UINT8> m_generic_paletteram_8;
+ optional_shared_ptr<UINT8> m_generic_paletteram2_8;
+ optional_shared_ptr<UINT16> m_generic_paletteram_16;
+ optional_shared_ptr<UINT16> m_generic_paletteram2_16;
+ optional_shared_ptr<UINT32> m_generic_paletteram_32;
+ optional_shared_ptr<UINT32> m_generic_paletteram2_32;
};
diff --git a/src/emu/memory.c b/src/emu/memory.c
index cdfdefaf109..61642bf731d 100644
--- a/src/emu/memory.c
+++ b/src/emu/memory.c
@@ -2475,14 +2475,10 @@ void address_space::locate_memory()
*entry->m_baseptr = entry->m_memory;
if (entry->m_baseptroffs_plus1 != 0)
*(void **)(reinterpret_cast<UINT8 *>(machine().driver_data()) + entry->m_baseptroffs_plus1 - 1) = entry->m_memory;
- if (entry->m_genbaseptroffs_plus1 != 0)
- *(void **)((UINT8 *)&machine().generic + entry->m_genbaseptroffs_plus1 - 1) = entry->m_memory;
if (entry->m_sizeptr != NULL)
*entry->m_sizeptr = entry->m_byteend - entry->m_bytestart + 1;
if (entry->m_sizeptroffs_plus1 != 0)
*(size_t *)(reinterpret_cast<UINT8 *>(machine().driver_data()) + entry->m_sizeptroffs_plus1 - 1) = entry->m_byteend - entry->m_bytestart + 1;
- if (entry->m_gensizeptroffs_plus1 != 0)
- *(size_t *)((UINT8 *)&machine().generic + entry->m_gensizeptroffs_plus1 - 1) = entry->m_byteend - entry->m_bytestart + 1;
}
// once this is done, find the starting bases for the banks
@@ -3224,7 +3220,7 @@ void *address_space::find_backing_memory(offs_t addrstart, offs_t addrend)
bool address_space::needs_backing_store(const address_map_entry *entry)
{
// if we are asked to provide a base pointer, then yes, we do need backing
- if (entry->m_baseptr != NULL || entry->m_baseptroffs_plus1 != 0 || entry->m_genbaseptroffs_plus1 != 0)
+ if (entry->m_baseptr != NULL || entry->m_baseptroffs_plus1 != 0)
return true;
// if we are sharing, and we don't have a pointer yet, create one
diff --git a/src/emu/uimain.c b/src/emu/uimain.c
index fad77703f4c..29b394fc2ea 100644
--- a/src/emu/uimain.c
+++ b/src/emu/uimain.c
@@ -2631,18 +2631,18 @@ void ui_menu_select_game::custom_render(void *selectedref, float top, float bott
const game_driver *driver;
float width, maxwidth;
float x1, y1, x2, y2;
- char tempbuf[5][256];
+ astring tempbuf[5];
rgb_t color;
int line;
/* display the current typeahead */
if (search[0] != 0)
- sprintf(&tempbuf[0][0], "Type name or select: %s_", search);
+ tempbuf[0].printf("Type name or select: %s_", search);
else
- sprintf(&tempbuf[0][0], "Type name or select: (random)");
+ tempbuf[0].printf("Type name or select: (random)");
/* get the size of the text */
- ui_draw_text_full(container, &tempbuf[0][0], 0.0f, 0.0f, 1.0f, JUSTIFY_CENTER, WRAP_TRUNCATE,
+ ui_draw_text_full(container, tempbuf[0], 0.0f, 0.0f, 1.0f, JUSTIFY_CENTER, WRAP_TRUNCATE,
DRAW_NONE, ARGB_WHITE, ARGB_BLACK, &width, NULL);
width += 2 * UI_BOX_LR_BORDER;
maxwidth = MAX(width, origx2 - origx1);
@@ -2663,7 +2663,7 @@ void ui_menu_select_game::custom_render(void *selectedref, float top, float bott
y2 -= UI_BOX_TB_BORDER;
/* draw the text within it */
- ui_draw_text_full(container, &tempbuf[0][0], x1, y1, x2 - x1, JUSTIFY_CENTER, WRAP_TRUNCATE,
+ ui_draw_text_full(container, tempbuf[0], x1, y1, x2 - x1, JUSTIFY_CENTER, WRAP_TRUNCATE,
DRAW_NORMAL, UI_TEXT_COLOR, UI_TEXT_BG_COLOR, NULL, NULL);
/* determine the text to render below */
@@ -2673,21 +2673,21 @@ void ui_menu_select_game::custom_render(void *selectedref, float top, float bott
const char *gfxstat, *soundstat;
/* first line is game name */
- sprintf(&tempbuf[0][0], "%-.100s", driver->description);
+ tempbuf[0].printf("%-.100s", driver->description);
/* next line is year, manufacturer */
- sprintf(&tempbuf[1][0], "%s, %-.100s", driver->year, driver->manufacturer);
+ tempbuf[1].printf("%s, %-.100s", driver->year, driver->manufacturer);
/* next line source path */
- sprintf(&tempbuf[2][0], "Driver: %-.100s", strrchr(driver->source_file, '/')+1);
+ tempbuf[2].printf("Driver: %-.100s", core_filename_extract_base(tempbuf[3], driver->source_file).cstr());
/* next line is overall driver status */
if (driver->flags & GAME_NOT_WORKING)
- strcpy(&tempbuf[3][0], "Overall: NOT WORKING");
+ tempbuf[3].cpy("Overall: NOT WORKING");
else if (driver->flags & GAME_UNEMULATED_PROTECTION)
- strcpy(&tempbuf[3][0], "Overall: Unemulated Protection");
+ tempbuf[3].cpy("Overall: Unemulated Protection");
else
- strcpy(&tempbuf[3][0], "Overall: Working");
+ tempbuf[3].cpy("Overall: Working");
/* next line is graphics, sound status */
if (driver->flags & (GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_IMPERFECT_COLORS))
@@ -2702,7 +2702,7 @@ void ui_menu_select_game::custom_render(void *selectedref, float top, float bott
else
soundstat = "OK";
- sprintf(&tempbuf[4][0], "Gfx: %s, Sound: %s", gfxstat, soundstat);
+ tempbuf[4].printf("Gfx: %s, Sound: %s", gfxstat, soundstat);
}
else
{
@@ -2711,18 +2711,15 @@ void ui_menu_select_game::custom_render(void *selectedref, float top, float bott
int col = 0;
/* first line is version string */
- sprintf(&tempbuf[line++][0], "%s %s", emulator_info::get_applongname(), build_version);
+ tempbuf[line++].printf("%s %s", emulator_info::get_applongname(), build_version);
/* output message */
while (line < ARRAY_LENGTH(tempbuf))
{
if (*s == 0 || *s == '\n')
- {
- tempbuf[line++][col] = 0;
col = 0;
- }
else
- tempbuf[line][col++] = *s;
+ tempbuf[line].cat(*s);
if (*s != 0)
s++;
@@ -2733,7 +2730,7 @@ void ui_menu_select_game::custom_render(void *selectedref, float top, float bott
maxwidth = origx2 - origx1;
for (line = 0; line < 4; line++)
{
- ui_draw_text_full(container, &tempbuf[line][0], 0.0f, 0.0f, 1.0f, JUSTIFY_CENTER, WRAP_TRUNCATE,
+ ui_draw_text_full(container, tempbuf[line], 0.0f, 0.0f, 1.0f, JUSTIFY_CENTER, WRAP_TRUNCATE,
DRAW_NONE, ARGB_WHITE, ARGB_BLACK, &width, NULL);
width += 2 * UI_BOX_LR_BORDER;
maxwidth = MAX(maxwidth, width);
@@ -2764,7 +2761,7 @@ void ui_menu_select_game::custom_render(void *selectedref, float top, float bott
/* draw all lines */
for (line = 0; line < 4; line++)
{
- ui_draw_text_full(container, &tempbuf[line][0], x1, y1, x2 - x1, JUSTIFY_CENTER, WRAP_TRUNCATE,
+ ui_draw_text_full(container, tempbuf[line], x1, y1, x2 - x1, JUSTIFY_CENTER, WRAP_TRUNCATE,
DRAW_NORMAL, UI_TEXT_COLOR, UI_TEXT_BG_COLOR, NULL, NULL);
y1 += ui_get_line_height(machine());
}
diff --git a/src/emu/video/generic.c b/src/emu/video/generic.c
index 04191c46d74..593fe31c7b8 100644
--- a/src/emu/video/generic.c
+++ b/src/emu/video/generic.c
@@ -113,50 +113,14 @@ const gfx_layout gfx_16x16x4_planar =
***************************************************************************/
/*-------------------------------------------------
- paletteram16_le - return a 16-bit value
- assembled from the two bytes of little-endian
- palette RAM referenced by offset
--------------------------------------------------*/
-
-inline UINT16 paletteram16_le(running_machine &machine, offs_t offset)
-{
- return machine.generic.paletteram.u8[offset & ~1] | (machine.generic.paletteram.u8[offset | 1] << 8);
-}
-
-
-/*-------------------------------------------------
- paletteram16_be - return a 16-bit value
- assembled from the two bytes of big-endian
- palette RAM referenced by offset
--------------------------------------------------*/
-
-inline UINT16 paletteram16_be(running_machine &machine, offs_t offset)
-{
- return machine.generic.paletteram.u8[offset | 1] | (machine.generic.paletteram.u8[offset & ~1] << 8);
-}
-
-
-/*-------------------------------------------------
- paletteram16_split - return a 16-bit value
- assembled from the two bytes of split palette
- RAM referenced by offset
--------------------------------------------------*/
-
-inline UINT16 paletteram16_split(running_machine &machine, offs_t offset)
-{
- return machine.generic.paletteram.u8[offset] | (machine.generic.paletteram2.u8[offset] << 8);
-}
-
-
-/*-------------------------------------------------
- paletteram32_be - return a 32-bit value
- assembled from the two words of big-endian
- palette RAM referenced by offset
+ set_color_332 - set a 3-3-2 RGB color using
+ the 16-bit data provided and the specified
+ shift values
-------------------------------------------------*/
-inline UINT32 paletteram32_be(running_machine &machine, offs_t offset)
+void driver_device::set_color_332(pen_t color, int rshift, int gshift, int bshift, UINT32 data)
{
- return machine.generic.paletteram.u16[offset | 1] | (machine.generic.paletteram.u16[offset & ~1] << 16);
+ palette_set_color(machine(), color, pal332(data, rshift, gshift, bshift));
}
@@ -166,9 +130,9 @@ inline UINT32 paletteram32_be(running_machine &machine, offs_t offset)
shift values
-------------------------------------------------*/
-inline void set_color_444(running_machine &machine, pen_t color, int rshift, int gshift, int bshift, UINT16 data)
+void driver_device::set_color_444(pen_t color, int rshift, int gshift, int bshift, UINT32 data)
{
- palette_set_color_rgb(machine, color, pal4bit(data >> rshift), pal4bit(data >> gshift), pal4bit(data >> bshift));
+ palette_set_color(machine(), color, pal444(data, rshift, gshift, bshift));
}
@@ -178,7 +142,7 @@ inline void set_color_444(running_machine &machine, pen_t color, int rshift, int
shift values
-------------------------------------------------*/
-inline void set_color_4444(running_machine &machine, pen_t color, int ishift, int rshift, int gshift, int bshift, UINT16 data)
+void driver_device::set_color_4444(pen_t color, int ishift, int rshift, int gshift, int bshift, UINT16 data)
{
static const UINT8 ztable[16] =
{ 0x0, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf, 0x10, 0x11 };
@@ -189,7 +153,7 @@ inline void set_color_4444(running_machine &machine, pen_t color, int ishift, in
g = ((data >> gshift) & 15) * i;
b = ((data >> bshift) & 15) * i;
- palette_set_color_rgb(machine, color, r, g, b);
+ palette_set_color_rgb(machine(), color, r, g, b);
}
@@ -199,9 +163,21 @@ inline void set_color_4444(running_machine &machine, pen_t color, int ishift, in
shift values
-------------------------------------------------*/
-inline void set_color_555(running_machine &machine, pen_t color, int rshift, int gshift, int bshift, UINT16 data)
+void driver_device::set_color_555(pen_t color, int rshift, int gshift, int bshift, UINT32 data)
{
- palette_set_color_rgb(machine, color, pal5bit(data >> rshift), pal5bit(data >> gshift), pal5bit(data >> bshift));
+ palette_set_color(machine(), color, pal555(data, rshift, gshift, bshift));
+}
+
+
+/*-------------------------------------------------
+ set_color_565 - set a 5-6-5 RGB color using
+ the 16-bit data provided and the specified
+ shift values
+-------------------------------------------------*/
+
+void driver_device::set_color_565(pen_t color, int rshift, int gshift, int bshift, UINT32 data)
+{
+ palette_set_color(machine(), color, pal565(data, rshift, gshift, bshift));
}
@@ -211,9 +187,9 @@ inline void set_color_555(running_machine &machine, pen_t color, int rshift, int
shift values
-------------------------------------------------*/
-inline void set_color_888(running_machine &machine, pen_t color, int rshift, int gshift, int bshift, UINT32 data)
+void driver_device::set_color_888(pen_t color, int rshift, int gshift, int bshift, UINT32 data)
{
- palette_set_color_rgb(machine, color, (data >> rshift) & 0xff, (data >> gshift) & 0xff, (data >> bshift) & 0xff);
+ palette_set_color(machine(), color, pal888(data, rshift, gshift, bshift));
}
@@ -525,15 +501,9 @@ PALETTE_INIT( RRRRR_GGGGGG_BBBBB )
RRR-GGG-BB writes
-------------------------------------------------*/
-WRITE8_HANDLER( paletteram_RRRGGGBB_w )
-{
- space->machine().generic.paletteram.u8[offset] = data;
- palette_set_color_rgb(space->machine(), offset, pal3bit(data >> 5), pal3bit(data >> 2), pal2bit(data >> 0));
-}
-
WRITE8_MEMBER( driver_device::paletteram_RRRGGGBB_w )
{
- m_generic_paletteram[offset] = data;
+ m_generic_paletteram_8[offset] = data;
palette_set_color_rgb(machine(), offset, pal3bit(data >> 5), pal3bit(data >> 2), pal2bit(data >> 0));
}
@@ -542,15 +512,9 @@ WRITE8_MEMBER( driver_device::paletteram_RRRGGGBB_w )
BB-GGG-RR writes
-------------------------------------------------*/
-WRITE8_HANDLER( paletteram_BBGGGRRR_w )
-{
- space->machine().generic.paletteram.u8[offset] = data;
- palette_set_color_rgb(space->machine(), offset, pal3bit(data >> 0), pal3bit(data >> 3), pal2bit(data >> 6));
-}
-
WRITE8_MEMBER( driver_device::paletteram_BBGGGRRR_w )
{
- m_generic_paletteram[offset] = data;
+ m_generic_paletteram_8[offset] = data;
palette_set_color_rgb(machine(), offset, pal3bit(data >> 0), pal3bit(data >> 3), pal2bit(data >> 6));
}
@@ -559,21 +523,11 @@ WRITE8_MEMBER( driver_device::paletteram_BBGGGRRR_w )
BB-GG-RR-II writes
-------------------------------------------------*/
-WRITE8_HANDLER( paletteram_BBGGRRII_w )
-{
- int i = (data >> 0) & 3;
-
- space->machine().generic.paletteram.u8[offset] = data;
- palette_set_color_rgb(space->machine(), offset, pal4bit(((data >> 0) & 0x0c) | i),
- pal4bit(((data >> 2) & 0x0c) | i),
- pal4bit(((data >> 4) & 0x0c) | i));
-}
-
WRITE8_MEMBER( driver_device::paletteram_BBGGRRII_w )
{
int i = (data >> 0) & 3;
- m_generic_paletteram[offset] = data;
+ m_generic_paletteram_8[offset] = data;
palette_set_color_rgb(machine(), offset, pal4bit(((data >> 0) & 0x0c) | i),
pal4bit(((data >> 2) & 0x0c) | i),
pal4bit(((data >> 4) & 0x0c) | i));
@@ -583,21 +537,11 @@ WRITE8_MEMBER( driver_device::paletteram_BBGGRRII_w )
II-BB-GG-RR writes
-------------------------------------------------*/
-WRITE8_HANDLER( paletteram_IIBBGGRR_w )
-{
- int i = (data >> 6) & 3;
-
- space->machine().generic.paletteram.u8[offset] = data;
- palette_set_color_rgb(space->machine(), offset, pal4bit(((data << 2) & 0x0c) | i),
- pal4bit(((data >> 0) & 0x0c) | i),
- pal4bit(((data >> 2) & 0x0c) | i));
-}
-
WRITE8_MEMBER( driver_device::paletteram_IIBBGGRR_w )
{
int i = (data >> 6) & 3;
- m_generic_paletteram[offset] = data;
+ m_generic_paletteram_8[offset] = data;
palette_set_color_rgb(machine(), offset, pal4bit(((data << 2) & 0x0c) | i),
pal4bit(((data >> 0) & 0x0c) | i),
pal4bit(((data >> 2) & 0x0c) | i));
@@ -613,64 +557,34 @@ WRITE8_MEMBER( driver_device::paletteram_IIBBGGRR_w )
xxxx-BBBB-GGGG-RRRR writes
-------------------------------------------------*/
-WRITE8_HANDLER( paletteram_xxxxBBBBGGGGRRRR_le_w )
-{
- space->machine().generic.paletteram.u8[offset] = data;
- set_color_444(space->machine(), offset / 2, 0, 4, 8, paletteram16_le(space->machine(), offset));
-}
-
-WRITE8_HANDLER( paletteram_xxxxBBBBGGGGRRRR_be_w )
-{
- space->machine().generic.paletteram.u8[offset] = data;
- set_color_444(space->machine(), offset / 2, 0, 4, 8, paletteram16_be(space->machine(), offset));
-}
-
-WRITE8_HANDLER( paletteram_xxxxBBBBGGGGRRRR_split1_w )
-{
- space->machine().generic.paletteram.u8[offset] = data;
- set_color_444(space->machine(), offset, 0, 4, 8, paletteram16_split(space->machine(), offset));
-}
-
-WRITE8_HANDLER( paletteram_xxxxBBBBGGGGRRRR_split2_w )
-{
- space->machine().generic.paletteram2.u8[offset] = data;
- set_color_444(space->machine(), offset, 0, 4, 8, paletteram16_split(space->machine(), offset));
-}
-
-WRITE16_HANDLER( paletteram16_xxxxBBBBGGGGRRRR_word_w )
-{
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
- set_color_444(space->machine(), offset, 0, 4, 8, space->machine().generic.paletteram.u16[offset]);
-}
-
WRITE8_MEMBER( driver_device::paletteram_xxxxBBBBGGGGRRRR_le_w )
{
- m_generic_paletteram[offset] = data;
- set_color_444(machine(), offset / 2, 0, 4, 8, paletteram16_le(offset));
+ m_generic_paletteram_8[offset] = data;
+ set_color_444(offset / 2, 0, 4, 8, paletteram16_le(offset));
}
WRITE8_MEMBER( driver_device::paletteram_xxxxBBBBGGGGRRRR_be_w )
{
- m_generic_paletteram[offset] = data;
- set_color_444(machine(), offset / 2, 0, 4, 8, paletteram16_be(offset));
+ m_generic_paletteram_8[offset] = data;
+ set_color_444(offset / 2, 0, 4, 8, paletteram16_be(offset));
}
WRITE8_MEMBER( driver_device::paletteram_xxxxBBBBGGGGRRRR_split1_w )
{
- m_generic_paletteram[offset] = data;
- set_color_444(machine(), offset, 0, 4, 8, paletteram16_split(offset));
+ m_generic_paletteram_8[offset] = data;
+ set_color_444(offset, 0, 4, 8, paletteram16_split(offset));
}
WRITE8_MEMBER( driver_device::paletteram_xxxxBBBBGGGGRRRR_split2_w )
{
- m_generic_paletteram2[offset] = data;
- set_color_444(machine(), offset, 0, 4, 8, paletteram16_split(offset));
+ m_generic_paletteram2_8[offset] = data;
+ set_color_444(offset, 0, 4, 8, paletteram16_split(offset));
}
WRITE16_MEMBER( driver_device::paletteram16_xxxxBBBBGGGGRRRR_word_w )
{
- COMBINE_DATA(&m_generic_paletteram16[offset]);
- set_color_444(machine(), offset, 0, 4, 8, m_generic_paletteram16[offset]);
+ COMBINE_DATA(&m_generic_paletteram_16[offset]);
+ set_color_444(offset, 0, 4, 8, m_generic_paletteram_16[offset]);
}
@@ -678,64 +592,34 @@ WRITE16_MEMBER( driver_device::paletteram16_xxxxBBBBGGGGRRRR_word_w )
xxxx-BBBB-RRRR-GGGG writes
-------------------------------------------------*/
-WRITE8_HANDLER( paletteram_xxxxBBBBRRRRGGGG_le_w )
-{
- space->machine().generic.paletteram.u8[offset] = data;
- set_color_444(space->machine(), offset / 2, 4, 0, 8, paletteram16_le(space->machine(), offset));
-}
-
-WRITE8_HANDLER( paletteram_xxxxBBBBRRRRGGGG_be_w )
-{
- space->machine().generic.paletteram.u8[offset] = data;
- set_color_444(space->machine(), offset / 2, 4, 0, 8, paletteram16_be(space->machine(), offset));
-}
-
-WRITE8_HANDLER( paletteram_xxxxBBBBRRRRGGGG_split1_w )
-{
- space->machine().generic.paletteram.u8[offset] = data;
- set_color_444(space->machine(), offset, 4, 0, 8, paletteram16_split(space->machine(), offset));
-}
-
-WRITE8_HANDLER( paletteram_xxxxBBBBRRRRGGGG_split2_w )
-{
- space->machine().generic.paletteram2.u8[offset] = data;
- set_color_444(space->machine(), offset, 4, 0, 8, paletteram16_split(space->machine(), offset));
-}
-
-WRITE16_HANDLER( paletteram16_xxxxBBBBRRRRGGGG_word_w )
-{
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
- set_color_444(space->machine(), offset, 4, 0, 8, space->machine().generic.paletteram.u16[offset]);
-}
-
WRITE8_MEMBER( driver_device::paletteram_xxxxBBBBRRRRGGGG_le_w )
{
- m_generic_paletteram[offset] = data;
- set_color_444(machine(), offset / 2, 4, 0, 8, paletteram16_le(offset));
+ m_generic_paletteram_8[offset] = data;
+ set_color_444(offset / 2, 4, 0, 8, paletteram16_le(offset));
}
WRITE8_MEMBER( driver_device::paletteram_xxxxBBBBRRRRGGGG_be_w )
{
- m_generic_paletteram[offset] = data;
- set_color_444(machine(), offset / 2, 4, 0, 8, paletteram16_be(offset));
+ m_generic_paletteram_8[offset] = data;
+ set_color_444(offset / 2, 4, 0, 8, paletteram16_be(offset));
}
WRITE8_MEMBER( driver_device::paletteram_xxxxBBBBRRRRGGGG_split1_w )
{
- m_generic_paletteram[offset] = data;
- set_color_444(machine(), offset, 4, 0, 8, paletteram16_split(offset));
+ m_generic_paletteram_8[offset] = data;
+ set_color_444(offset, 4, 0, 8, paletteram16_split(offset));
}
WRITE8_MEMBER( driver_device::paletteram_xxxxBBBBRRRRGGGG_split2_w )
{
- m_generic_paletteram2[offset] = data;
- set_color_444(machine(), offset, 4, 0, 8, paletteram16_split(offset));
+ m_generic_paletteram2_8[offset] = data;
+ set_color_444(offset, 4, 0, 8, paletteram16_split(offset));
}
WRITE16_MEMBER( driver_device::paletteram16_xxxxBBBBRRRRGGGG_word_w )
{
- COMBINE_DATA(&m_generic_paletteram16[offset]);
- set_color_444(machine(), offset, 4, 0, 8, m_generic_paletteram16[offset]);
+ COMBINE_DATA(&m_generic_paletteram_16[offset]);
+ set_color_444(offset, 4, 0, 8, m_generic_paletteram_16[offset]);
}
@@ -743,28 +627,16 @@ WRITE16_MEMBER( driver_device::paletteram16_xxxxBBBBRRRRGGGG_word_w )
xxxx-RRRR-BBBB-GGGG writes
-------------------------------------------------*/
-WRITE8_HANDLER( paletteram_xxxxRRRRBBBBGGGG_split1_w )
-{
- space->machine().generic.paletteram.u8[offset] = data;
- set_color_444(space->machine(), offset, 8, 0, 4, paletteram16_split(space->machine(), offset));
-}
-
-WRITE8_HANDLER( paletteram_xxxxRRRRBBBBGGGG_split2_w )
-{
- space->machine().generic.paletteram2.u8[offset] = data;
- set_color_444(space->machine(), offset, 8, 0, 4, paletteram16_split(space->machine(), offset));
-}
-
WRITE8_MEMBER( driver_device::paletteram_xxxxRRRRBBBBGGGG_split1_w )
{
- m_generic_paletteram[offset] = data;
- set_color_444(machine(), offset, 8, 0, 4, paletteram16_split(offset));
+ m_generic_paletteram_8[offset] = data;
+ set_color_444(offset, 8, 0, 4, paletteram16_split(offset));
}
WRITE8_MEMBER( driver_device::paletteram_xxxxRRRRBBBBGGGG_split2_w )
{
- m_generic_paletteram2[offset] = data;
- set_color_444(machine(), offset, 8, 0, 4, paletteram16_split(offset));
+ m_generic_paletteram2_8[offset] = data;
+ set_color_444(offset, 8, 0, 4, paletteram16_split(offset));
}
@@ -772,64 +644,34 @@ WRITE8_MEMBER( driver_device::paletteram_xxxxRRRRBBBBGGGG_split2_w )
xxxx-RRRR-GGGG-BBBB writes
-------------------------------------------------*/
-WRITE8_HANDLER( paletteram_xxxxRRRRGGGGBBBB_le_w )
-{
- space->machine().generic.paletteram.u8[offset] = data;
- set_color_444(space->machine(), offset / 2, 8, 4, 0, paletteram16_le(space->machine(), offset));
-}
-
-WRITE8_HANDLER( paletteram_xxxxRRRRGGGGBBBB_be_w )
-{
- space->machine().generic.paletteram.u8[offset] = data;
- set_color_444(space->machine(), offset / 2, 8, 4, 0, paletteram16_be(space->machine(), offset));
-}
-
-WRITE8_HANDLER( paletteram_xxxxRRRRGGGGBBBB_split1_w )
-{
- space->machine().generic.paletteram.u8[offset] = data;
- set_color_444(space->machine(), offset, 8, 4, 0, paletteram16_split(space->machine(), offset));
-}
-
-WRITE8_HANDLER( paletteram_xxxxRRRRGGGGBBBB_split2_w )
-{
- space->machine().generic.paletteram2.u8[offset] = data;
- set_color_444(space->machine(), offset, 8, 4, 0, paletteram16_split(space->machine(), offset));
-}
-
-WRITE16_HANDLER( paletteram16_xxxxRRRRGGGGBBBB_word_w )
-{
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
- set_color_444(space->machine(), offset, 8, 4, 0, space->machine().generic.paletteram.u16[offset]);
-}
-
WRITE8_MEMBER( driver_device::paletteram_xxxxRRRRGGGGBBBB_le_w )
{
- m_generic_paletteram[offset] = data;
- set_color_444(machine(), offset / 2, 8, 4, 0, paletteram16_le(offset));
+ m_generic_paletteram_8[offset] = data;
+ set_color_444(offset / 2, 8, 4, 0, paletteram16_le(offset));
}
WRITE8_MEMBER( driver_device::paletteram_xxxxRRRRGGGGBBBB_be_w )
{
- m_generic_paletteram[offset] = data;
- set_color_444(machine(), offset / 2, 8, 4, 0, paletteram16_be(offset));
+ m_generic_paletteram_8[offset] = data;
+ set_color_444(offset / 2, 8, 4, 0, paletteram16_be(offset));
}
WRITE8_MEMBER( driver_device::paletteram_xxxxRRRRGGGGBBBB_split1_w )
{
- m_generic_paletteram[offset] = data;
- set_color_444(machine(), offset, 8, 4, 0, paletteram16_split(offset));
+ m_generic_paletteram_8[offset] = data;
+ set_color_444(offset, 8, 4, 0, paletteram16_split(offset));
}
WRITE8_MEMBER( driver_device::paletteram_xxxxRRRRGGGGBBBB_split2_w )
{
- m_generic_paletteram2[offset] = data;
- set_color_444(machine(), offset, 8, 4, 0, paletteram16_split(offset));
+ m_generic_paletteram2_8[offset] = data;
+ set_color_444(offset, 8, 4, 0, paletteram16_split(offset));
}
WRITE16_MEMBER( driver_device::paletteram16_xxxxRRRRGGGGBBBB_word_w )
{
- COMBINE_DATA(&m_generic_paletteram16[offset]);
- set_color_444(machine(), offset, 8, 4, 0, m_generic_paletteram16[offset]);
+ COMBINE_DATA(&m_generic_paletteram_16[offset]);
+ set_color_444(offset, 8, 4, 0, m_generic_paletteram_16[offset]);
}
@@ -837,52 +679,28 @@ WRITE16_MEMBER( driver_device::paletteram16_xxxxRRRRGGGGBBBB_word_w )
RRRR-GGGG-BBBB-xxxx writes
-------------------------------------------------*/
-WRITE8_HANDLER( paletteram_RRRRGGGGBBBBxxxx_be_w )
-{
- space->machine().generic.paletteram.u8[offset] = data;
- set_color_444(space->machine(), offset / 2, 12, 8, 4, paletteram16_be(space->machine(), offset));
-}
-
-WRITE8_HANDLER( paletteram_RRRRGGGGBBBBxxxx_split1_w )
-{
- space->machine().generic.paletteram.u8[offset] = data;
- set_color_444(space->machine(), offset, 12, 8, 4, paletteram16_split(space->machine(), offset));
-}
-
-WRITE8_HANDLER( paletteram_RRRRGGGGBBBBxxxx_split2_w )
-{
- space->machine().generic.paletteram2.u8[offset] = data;
- set_color_444(space->machine(), offset, 12, 8, 4, paletteram16_split(space->machine(), offset));
-}
-
-WRITE16_HANDLER( paletteram16_RRRRGGGGBBBBxxxx_word_w )
-{
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
- set_color_444(space->machine(), offset, 12, 8, 4, space->machine().generic.paletteram.u16[offset]);
-}
-
WRITE8_MEMBER( driver_device::paletteram_RRRRGGGGBBBBxxxx_be_w )
{
- m_generic_paletteram[offset] = data;
- set_color_444(machine(), offset / 2, 12, 8, 4, paletteram16_be(offset));
+ m_generic_paletteram_8[offset] = data;
+ set_color_444(offset / 2, 12, 8, 4, paletteram16_be(offset));
}
WRITE8_MEMBER( driver_device::paletteram_RRRRGGGGBBBBxxxx_split1_w )
{
- m_generic_paletteram[offset] = data;
- set_color_444(machine(), offset, 12, 8, 4, paletteram16_split(offset));
+ m_generic_paletteram_8[offset] = data;
+ set_color_444(offset, 12, 8, 4, paletteram16_split(offset));
}
WRITE8_MEMBER( driver_device::paletteram_RRRRGGGGBBBBxxxx_split2_w )
{
- m_generic_paletteram2[offset] = data;
- set_color_444(machine(), offset, 12, 8, 4, paletteram16_split(offset));
+ m_generic_paletteram2_8[offset] = data;
+ set_color_444(offset, 12, 8, 4, paletteram16_split(offset));
}
WRITE16_MEMBER( driver_device::paletteram16_RRRRGGGGBBBBxxxx_word_w )
{
- COMBINE_DATA(&m_generic_paletteram16[offset]);
- set_color_444(machine(), offset, 12, 8, 4, m_generic_paletteram16[offset]);
+ COMBINE_DATA(&m_generic_paletteram_16[offset]);
+ set_color_444(offset, 12, 8, 4, m_generic_paletteram_16[offset]);
}
@@ -895,64 +713,34 @@ WRITE16_MEMBER( driver_device::paletteram16_RRRRGGGGBBBBxxxx_word_w )
x-BBBBB-GGGGG-RRRRR writes
-------------------------------------------------*/
-WRITE8_HANDLER( paletteram_xBBBBBGGGGGRRRRR_le_w )
-{
- space->machine().generic.paletteram.u8[offset] = data;
- set_color_555(space->machine(), offset / 2, 0, 5, 10, paletteram16_le(space->machine(), offset));
-}
-
-WRITE8_HANDLER( paletteram_xBBBBBGGGGGRRRRR_be_w )
-{
- space->machine().generic.paletteram.u8[offset] = data;
- set_color_555(space->machine(), offset / 2, 0, 5, 10, paletteram16_be(space->machine(), offset));
-}
-
-WRITE8_HANDLER( paletteram_xBBBBBGGGGGRRRRR_split1_w )
-{
- space->machine().generic.paletteram.u8[offset] = data;
- set_color_555(space->machine(), offset, 0, 5, 10, paletteram16_split(space->machine(), offset));
-}
-
-WRITE8_HANDLER( paletteram_xBBBBBGGGGGRRRRR_split2_w )
-{
- space->machine().generic.paletteram2.u8[offset] = data;
- set_color_555(space->machine(), offset, 0, 5, 10, paletteram16_split(space->machine(), offset));
-}
-
-WRITE16_HANDLER( paletteram16_xBBBBBGGGGGRRRRR_word_w )
-{
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
- set_color_555(space->machine(), offset, 0, 5, 10, space->machine().generic.paletteram.u16[offset]);
-}
-
WRITE8_MEMBER( driver_device::paletteram_xBBBBBGGGGGRRRRR_le_w )
{
- m_generic_paletteram[offset] = data;
- set_color_555(machine(), offset / 2, 0, 5, 10, paletteram16_le(offset));
+ m_generic_paletteram_8[offset] = data;
+ set_color_555(offset / 2, 0, 5, 10, paletteram16_le(offset));
}
WRITE8_MEMBER( driver_device::paletteram_xBBBBBGGGGGRRRRR_be_w )
{
- m_generic_paletteram[offset] = data;
- set_color_555(machine(), offset / 2, 0, 5, 10, paletteram16_be(offset));
+ m_generic_paletteram_8[offset] = data;
+ set_color_555(offset / 2, 0, 5, 10, paletteram16_be(offset));
}
WRITE8_MEMBER( driver_device::paletteram_xBBBBBGGGGGRRRRR_split1_w )
{
- m_generic_paletteram[offset] = data;
- set_color_555(machine(), offset, 0, 5, 10, paletteram16_split(offset));
+ m_generic_paletteram_8[offset] = data;
+ set_color_555(offset, 0, 5, 10, paletteram16_split(offset));
}
WRITE8_MEMBER( driver_device::paletteram_xBBBBBGGGGGRRRRR_split2_w )
{
- m_generic_paletteram2[offset] = data;
- set_color_555(machine(), offset, 0, 5, 10, paletteram16_split(offset));
+ m_generic_paletteram2_8[offset] = data;
+ set_color_555(offset, 0, 5, 10, paletteram16_split(offset));
}
WRITE16_MEMBER( driver_device::paletteram16_xBBBBBGGGGGRRRRR_word_w )
{
- COMBINE_DATA(&m_generic_paletteram16[offset]);
- set_color_555(machine(), offset, 0, 5, 10, m_generic_paletteram16[offset]);
+ COMBINE_DATA(&m_generic_paletteram_16[offset]);
+ set_color_555(offset, 0, 5, 10, m_generic_paletteram_16[offset]);
}
@@ -960,28 +748,16 @@ WRITE16_MEMBER( driver_device::paletteram16_xBBBBBGGGGGRRRRR_word_w )
x-BBBBB-RRRRR-GGGGG writes
-------------------------------------------------*/
-WRITE8_HANDLER( paletteram_xBBBBBRRRRRGGGGG_split1_w )
-{
- space->machine().generic.paletteram.u8[offset] = data;
- set_color_555(space->machine(), offset, 5, 0, 10, paletteram16_split(space->machine(), offset));
-}
-
-WRITE8_HANDLER( paletteram_xBBBBBRRRRRGGGGG_split2_w )
-{
- space->machine().generic.paletteram2.u8[offset] = data;
- set_color_555(space->machine(), offset, 5, 0, 10, paletteram16_split(space->machine(), offset));
-}
-
WRITE8_MEMBER( driver_device::paletteram_xBBBBBRRRRRGGGGG_split1_w )
{
- m_generic_paletteram[offset] = data;
- set_color_555(machine(), offset, 5, 0, 10, paletteram16_split(offset));
+ m_generic_paletteram_8[offset] = data;
+ set_color_555(offset, 5, 0, 10, paletteram16_split(offset));
}
WRITE8_MEMBER( driver_device::paletteram_xBBBBBRRRRRGGGGG_split2_w )
{
- m_generic_paletteram2[offset] = data;
- set_color_555(machine(), offset, 5, 0, 10, paletteram16_split(offset));
+ m_generic_paletteram2_8[offset] = data;
+ set_color_555(offset, 5, 0, 10, paletteram16_split(offset));
}
@@ -989,64 +765,34 @@ WRITE8_MEMBER( driver_device::paletteram_xBBBBBRRRRRGGGGG_split2_w )
x-RRRRR-GGGGG-BBBBB writes
-------------------------------------------------*/
-WRITE8_HANDLER( paletteram_xRRRRRGGGGGBBBBB_le_w )
-{
- space->machine().generic.paletteram.u8[offset] = data;
- set_color_555(space->machine(), offset / 2, 10, 5, 0, paletteram16_le(space->machine(), offset));
-}
-
-WRITE8_HANDLER( paletteram_xRRRRRGGGGGBBBBB_be_w )
-{
- space->machine().generic.paletteram.u8[offset] = data;
- set_color_555(space->machine(), offset / 2, 10, 5, 0, paletteram16_be(space->machine(), offset));
-}
-
-WRITE8_HANDLER( paletteram_xRRRRRGGGGGBBBBB_split1_w )
-{
- space->machine().generic.paletteram.u8[offset] = data;
- set_color_555(space->machine(), offset, 10, 5, 0, paletteram16_split(space->machine(), offset));
-}
-
-WRITE8_HANDLER( paletteram_xRRRRRGGGGGBBBBB_split2_w )
-{
- space->machine().generic.paletteram2.u8[offset] = data;
- set_color_555(space->machine(), offset, 10, 5, 0, paletteram16_split(space->machine(), offset));
-}
-
-WRITE16_HANDLER( paletteram16_xRRRRRGGGGGBBBBB_word_w )
-{
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
- set_color_555(space->machine(), offset, 10, 5, 0, space->machine().generic.paletteram.u16[offset]);
-}
-
WRITE8_MEMBER( driver_device::paletteram_xRRRRRGGGGGBBBBB_le_w )
{
- m_generic_paletteram[offset] = data;
- set_color_555(machine(), offset / 2, 10, 5, 0, paletteram16_le(offset));
+ m_generic_paletteram_8[offset] = data;
+ set_color_555(offset / 2, 10, 5, 0, paletteram16_le(offset));
}
WRITE8_MEMBER( driver_device::paletteram_xRRRRRGGGGGBBBBB_be_w )
{
- m_generic_paletteram[offset] = data;
- set_color_555(machine(), offset / 2, 10, 5, 0, paletteram16_be(offset));
+ m_generic_paletteram_8[offset] = data;
+ set_color_555(offset / 2, 10, 5, 0, paletteram16_be(offset));
}
WRITE8_MEMBER( driver_device::paletteram_xRRRRRGGGGGBBBBB_split1_w )
{
- m_generic_paletteram[offset] = data;
- set_color_555(machine(), offset, 10, 5, 0, paletteram16_split(offset));
+ m_generic_paletteram_8[offset] = data;
+ set_color_555(offset, 10, 5, 0, paletteram16_split(offset));
}
WRITE8_MEMBER( driver_device::paletteram_xRRRRRGGGGGBBBBB_split2_w )
{
- m_generic_paletteram2[offset] = data;
- set_color_555(machine(), offset, 10, 5, 0, paletteram16_split(offset));
+ m_generic_paletteram2_8[offset] = data;
+ set_color_555(offset, 10, 5, 0, paletteram16_split(offset));
}
WRITE16_MEMBER( driver_device::paletteram16_xRRRRRGGGGGBBBBB_word_w )
{
- COMBINE_DATA(&m_generic_paletteram16[offset]);
- set_color_555(machine(), offset, 10, 5, 0, m_generic_paletteram16[offset]);
+ COMBINE_DATA(&m_generic_paletteram_16[offset]);
+ set_color_555(offset, 10, 5, 0, m_generic_paletteram_16[offset]);
}
@@ -1054,16 +800,10 @@ WRITE16_MEMBER( driver_device::paletteram16_xRRRRRGGGGGBBBBB_word_w )
x-GGGGG-RRRRR-BBBBB writes
-------------------------------------------------*/
-WRITE16_HANDLER( paletteram16_xGGGGGRRRRRBBBBB_word_w )
-{
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
- set_color_555(space->machine(), offset, 5, 10, 0, space->machine().generic.paletteram.u16[offset]);
-}
-
WRITE16_MEMBER( driver_device::paletteram16_xGGGGGRRRRRBBBBB_word_w )
{
- COMBINE_DATA(&m_generic_paletteram16[offset]);
- set_color_555(machine(), offset, 5, 10, 0, m_generic_paletteram16[offset]);
+ COMBINE_DATA(&m_generic_paletteram_16[offset]);
+ set_color_555(offset, 5, 10, 0, m_generic_paletteram_16[offset]);
}
@@ -1071,16 +811,10 @@ WRITE16_MEMBER( driver_device::paletteram16_xGGGGGRRRRRBBBBB_word_w )
x-GGGGG-BBBBB-RRRRR writes
-------------------------------------------------*/
-WRITE16_HANDLER( paletteram16_xGGGGGBBBBBRRRRR_word_w )
-{
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
- set_color_555(space->machine(), offset, 0, 10, 5, space->machine().generic.paletteram.u16[offset]);
-}
-
WRITE16_MEMBER( driver_device::paletteram16_xGGGGGBBBBBRRRRR_word_w )
{
- COMBINE_DATA(&m_generic_paletteram16[offset]);
- set_color_555(machine(), offset, 0, 10, 5, m_generic_paletteram16[offset]);
+ COMBINE_DATA(&m_generic_paletteram_16[offset]);
+ set_color_555(offset, 0, 10, 5, m_generic_paletteram_16[offset]);
}
@@ -1088,32 +822,20 @@ WRITE16_MEMBER( driver_device::paletteram16_xGGGGGBBBBBRRRRR_word_w )
GGGGG-RRRRR-BBBBB-x writes
-------------------------------------------------*/
-WRITE16_HANDLER( paletteram16_GGGGGRRRRRBBBBBx_word_w )
-{
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
- set_color_555(space->machine(), offset, 6, 11, 1, space->machine().generic.paletteram.u16[offset]);
-}
-
WRITE16_MEMBER( driver_device::paletteram16_GGGGGRRRRRBBBBBx_word_w )
{
- COMBINE_DATA(&m_generic_paletteram16[offset]);
- set_color_555(machine(), offset, 6, 11, 1, m_generic_paletteram16[offset]);
+ COMBINE_DATA(&m_generic_paletteram_16[offset]);
+ set_color_555(offset, 6, 11, 1, m_generic_paletteram_16[offset]);
}
/*-------------------------------------------------
RRRRR-GGGGG-BBBBB-x writes
-------------------------------------------------*/
-WRITE16_HANDLER( paletteram16_RRRRRGGGGGBBBBBx_word_w )
-{
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
- set_color_555(space->machine(), offset, 11, 6, 1, space->machine().generic.paletteram.u16[offset]);
-}
-
WRITE16_MEMBER( driver_device::paletteram16_RRRRRGGGGGBBBBBx_word_w )
{
- COMBINE_DATA(&m_generic_paletteram16[offset]);
- set_color_555(machine(), offset, 11, 6, 1, m_generic_paletteram16[offset]);
+ COMBINE_DATA(&m_generic_paletteram_16[offset]);
+ set_color_555(offset, 11, 6, 1, m_generic_paletteram_16[offset]);
}
@@ -1121,19 +843,10 @@ WRITE16_MEMBER( driver_device::paletteram16_RRRRRGGGGGBBBBBx_word_w )
RRRR-GGGG-BBBB-RGBx writes
-------------------------------------------------*/
-WRITE16_HANDLER( paletteram16_RRRRGGGGBBBBRGBx_word_w )
-{
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
- data = space->machine().generic.paletteram.u16[offset];
- palette_set_color_rgb(space->machine(), offset, pal5bit(((data >> 11) & 0x1e) | ((data >> 3) & 0x01)),
- pal5bit(((data >> 7) & 0x1e) | ((data >> 2) & 0x01)),
- pal5bit(((data >> 3) & 0x1e) | ((data >> 1) & 0x01)));
-}
-
WRITE16_MEMBER( driver_device::paletteram16_RRRRGGGGBBBBRGBx_word_w )
{
- COMBINE_DATA(&m_generic_paletteram16[offset]);
- data = m_generic_paletteram16[offset];
+ COMBINE_DATA(&m_generic_paletteram_16[offset]);
+ data = m_generic_paletteram_16[offset];
palette_set_color_rgb(machine(), offset, pal5bit(((data >> 11) & 0x1e) | ((data >> 3) & 0x01)),
pal5bit(((data >> 7) & 0x1e) | ((data >> 2) & 0x01)),
pal5bit(((data >> 3) & 0x1e) | ((data >> 1) & 0x01)));
@@ -1149,16 +862,10 @@ WRITE16_MEMBER( driver_device::paletteram16_RRRRGGGGBBBBRGBx_word_w )
IIII-RRRR-GGGG-BBBB writes
-------------------------------------------------*/
-WRITE16_HANDLER( paletteram16_IIIIRRRRGGGGBBBB_word_w )
-{
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
- set_color_4444(space->machine(), offset, 12, 8, 4, 0, space->machine().generic.paletteram.u16[offset]);
-}
-
WRITE16_MEMBER( driver_device::paletteram16_IIIIRRRRGGGGBBBB_word_w )
{
- COMBINE_DATA(&m_generic_paletteram16[offset]);
- set_color_4444(machine(), offset, 12, 8, 4, 0, m_generic_paletteram16[offset]);
+ COMBINE_DATA(&m_generic_paletteram_16[offset]);
+ set_color_4444(offset, 12, 8, 4, 0, m_generic_paletteram_16[offset]);
}
@@ -1166,16 +873,10 @@ WRITE16_MEMBER( driver_device::paletteram16_IIIIRRRRGGGGBBBB_word_w )
RRRR-GGGG-BBBB-IIII writes
-------------------------------------------------*/
-WRITE16_HANDLER( paletteram16_RRRRGGGGBBBBIIII_word_w )
-{
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
- set_color_4444(space->machine(), offset, 0, 12, 8, 4, space->machine().generic.paletteram.u16[offset]);
-}
-
WRITE16_MEMBER( driver_device::paletteram16_RRRRGGGGBBBBIIII_word_w )
{
- COMBINE_DATA(&m_generic_paletteram16[offset]);
- set_color_4444(machine(), offset, 0, 12, 8, 4, m_generic_paletteram16[offset]);
+ COMBINE_DATA(&m_generic_paletteram_16[offset]);
+ set_color_4444(offset, 0, 12, 8, 4, m_generic_paletteram_16[offset]);
}
@@ -1188,16 +889,10 @@ WRITE16_MEMBER( driver_device::paletteram16_RRRRGGGGBBBBIIII_word_w )
xxxxxxxx-RRRRRRRR-GGGGGGGG-BBBBBBBB writes
-------------------------------------------------*/
-WRITE16_HANDLER( paletteram16_xrgb_word_be_w )
-{
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
- set_color_888(space->machine(), offset / 2, 16, 8, 0, paletteram32_be(space->machine(), offset));
-}
-
WRITE16_MEMBER( driver_device::paletteram16_xrgb_word_be_w )
{
- COMBINE_DATA(&m_generic_paletteram16[offset]);
- set_color_888(machine(), offset / 2, 16, 8, 0, paletteram32_be(offset));
+ COMBINE_DATA(&m_generic_paletteram_16[offset]);
+ set_color_888(offset / 2, 16, 8, 0, paletteram32_be(offset));
}
@@ -1205,14 +900,8 @@ WRITE16_MEMBER( driver_device::paletteram16_xrgb_word_be_w )
xxxxxxxx-BBBBBBBB-GGGGGGGG-RRRRRRRR writes
-------------------------------------------------*/
-WRITE16_HANDLER( paletteram16_xbgr_word_be_w )
-{
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
- set_color_888(space->machine(), offset / 2, 0, 8, 16, paletteram32_be(space->machine(), offset));
-}
-
WRITE16_MEMBER( driver_device::paletteram16_xbgr_word_be_w )
{
- COMBINE_DATA(&m_generic_paletteram16[offset]);
- set_color_888(machine(), offset / 2, 0, 8, 16, paletteram32_be(offset));
+ COMBINE_DATA(&m_generic_paletteram_16[offset]);
+ set_color_888(offset / 2, 0, 8, 16, paletteram32_be(offset));
}
diff --git a/src/emu/video/generic.h b/src/emu/video/generic.h
index 02cb22dfebc..e57dc4be32b 100644
--- a/src/emu/video/generic.h
+++ b/src/emu/video/generic.h
@@ -69,72 +69,4 @@ PALETTE_INIT( BBBBB_GGGGG_RRRRR );
PALETTE_INIT( RRRRR_GGGGGG_BBBBB );
-
-/* ----- generic palette RAM write handlers, use MRAx_RAM to read ----- */
-
-/* 3-3-2 RGB palette write handlers */
-WRITE8_HANDLER( paletteram_BBGGGRRR_w );
-WRITE8_HANDLER( paletteram_RRRGGGBB_w );
-WRITE8_HANDLER( paletteram_BBGGRRII_w );
-WRITE8_HANDLER( paletteram_IIBBGGRR_w );
-
-/* 4-4-4 RGB palette write handlers */
-WRITE8_HANDLER( paletteram_xxxxBBBBGGGGRRRR_le_w );
-WRITE8_HANDLER( paletteram_xxxxBBBBGGGGRRRR_be_w );
-WRITE8_HANDLER( paletteram_xxxxBBBBGGGGRRRR_split1_w ); /* uses paletteram */
-WRITE8_HANDLER( paletteram_xxxxBBBBGGGGRRRR_split2_w ); /* uses paletteram2 */
-WRITE16_HANDLER( paletteram16_xxxxBBBBGGGGRRRR_word_w );
-
-WRITE8_HANDLER( paletteram_xxxxBBBBRRRRGGGG_le_w );
-WRITE8_HANDLER( paletteram_xxxxBBBBRRRRGGGG_be_w );
-WRITE8_HANDLER( paletteram_xxxxBBBBRRRRGGGG_split1_w ); /* uses paletteram */
-WRITE8_HANDLER( paletteram_xxxxBBBBRRRRGGGG_split2_w ); /* uses paletteram2 */
-WRITE16_HANDLER( paletteram16_xxxxBBBBRRRRGGGG_word_w );
-
-WRITE8_HANDLER( paletteram_xxxxRRRRBBBBGGGG_split1_w ); /* uses paletteram */
-WRITE8_HANDLER( paletteram_xxxxRRRRBBBBGGGG_split2_w ); /* uses paletteram2 */
-
-WRITE8_HANDLER( paletteram_xxxxRRRRGGGGBBBB_le_w );
-WRITE8_HANDLER( paletteram_xxxxRRRRGGGGBBBB_be_w );
-WRITE8_HANDLER( paletteram_xxxxRRRRGGGGBBBB_split1_w ); /* uses paletteram */
-WRITE8_HANDLER( paletteram_xxxxRRRRGGGGBBBB_split2_w ); /* uses paletteram2 */
-WRITE16_HANDLER( paletteram16_xxxxRRRRGGGGBBBB_word_w );
-
-WRITE8_HANDLER( paletteram_RRRRGGGGBBBBxxxx_be_w );
-WRITE8_HANDLER( paletteram_RRRRGGGGBBBBxxxx_split1_w ); /* uses paletteram */
-WRITE8_HANDLER( paletteram_RRRRGGGGBBBBxxxx_split2_w ); /* uses paletteram2 */
-WRITE16_HANDLER( paletteram16_RRRRGGGGBBBBxxxx_word_w );
-
-/* 4-4-4-4 IRGB palette write handlers */
-WRITE16_HANDLER( paletteram16_IIIIRRRRGGGGBBBB_word_w );
-WRITE16_HANDLER( paletteram16_RRRRGGGGBBBBIIII_word_w );
-
-/* 5-5-5 RGB palette write handlers */
-WRITE8_HANDLER( paletteram_xBBBBBGGGGGRRRRR_le_w );
-WRITE8_HANDLER( paletteram_xBBBBBGGGGGRRRRR_be_w );
-WRITE8_HANDLER( paletteram_xBBBBBGGGGGRRRRR_split1_w ); /* uses paletteram */
-WRITE8_HANDLER( paletteram_xBBBBBGGGGGRRRRR_split2_w ); /* uses paletteram2 */
-WRITE16_HANDLER( paletteram16_xBBBBBGGGGGRRRRR_word_w );
-
-WRITE8_HANDLER( paletteram_xBBBBBRRRRRGGGGG_split1_w ); /* uses paletteram */
-WRITE8_HANDLER( paletteram_xBBBBBRRRRRGGGGG_split2_w ); /* uses paletteram2 */
-
-WRITE8_HANDLER( paletteram_xRRRRRGGGGGBBBBB_le_w );
-WRITE8_HANDLER( paletteram_xRRRRRGGGGGBBBBB_be_w );
-WRITE8_HANDLER( paletteram_xRRRRRGGGGGBBBBB_split1_w );
-WRITE8_HANDLER( paletteram_xRRRRRGGGGGBBBBB_split2_w );
-WRITE16_HANDLER( paletteram16_xRRRRRGGGGGBBBBB_word_w );
-
-WRITE16_HANDLER( paletteram16_xGGGGGRRRRRBBBBB_word_w );
-WRITE16_HANDLER( paletteram16_xGGGGGBBBBBRRRRR_word_w );
-
-WRITE16_HANDLER( paletteram16_RRRRRGGGGGBBBBBx_word_w );
-WRITE16_HANDLER( paletteram16_GGGGGRRRRRBBBBBx_word_w );
-WRITE16_HANDLER( paletteram16_RRRRGGGGBBBBRGBx_word_w );
-
-/* 8-8-8 RGB palette write handlers */
-WRITE16_HANDLER( paletteram16_xrgb_word_be_w );
-WRITE16_HANDLER( paletteram16_xbgr_word_be_w );
-
-
#endif /* __VIDEO_GENERIC_H__ */
diff --git a/src/lib/util/palette.h b/src/lib/util/palette.h
index 53c92ee3842..39b643d361c 100644
--- a/src/lib/util/palette.h
+++ b/src/lib/util/palette.h
@@ -200,7 +200,7 @@ void palette_normalize_range(palette_t *palette, UINT32 start, UINT32 end, int l
a 15-bit OSD-specified RGB value
-------------------------------------------------*/
-INLINE rgb15_t rgb_to_rgb15(rgb_t rgb)
+inline rgb15_t rgb_to_rgb15(rgb_t rgb)
{
return ((RGB_RED(rgb) >> 3) << 10) | ((RGB_GREEN(rgb) >> 3) << 5) | ((RGB_BLUE(rgb) >> 3) << 0);
}
@@ -210,7 +210,7 @@ INLINE rgb15_t rgb_to_rgb15(rgb_t rgb)
rgb_clamp - clamp an RGB component to 0-255
-------------------------------------------------*/
-INLINE UINT8 rgb_clamp(INT32 value)
+inline UINT8 rgb_clamp(INT32 value)
{
if (value < 0)
return 0;
@@ -224,7 +224,7 @@ INLINE UINT8 rgb_clamp(INT32 value)
pal1bit - convert a 1-bit value to 8 bits
-------------------------------------------------*/
-INLINE UINT8 pal1bit(UINT8 bits)
+inline UINT8 pal1bit(UINT8 bits)
{
return (bits & 1) ? 0xff : 0x00;
}
@@ -234,7 +234,7 @@ INLINE UINT8 pal1bit(UINT8 bits)
pal2bit - convert a 2-bit value to 8 bits
-------------------------------------------------*/
-INLINE UINT8 pal2bit(UINT8 bits)
+inline UINT8 pal2bit(UINT8 bits)
{
bits &= 3;
return (bits << 6) | (bits << 4) | (bits << 2) | bits;
@@ -245,7 +245,7 @@ INLINE UINT8 pal2bit(UINT8 bits)
pal3bit - convert a 3-bit value to 8 bits
-------------------------------------------------*/
-INLINE UINT8 pal3bit(UINT8 bits)
+inline UINT8 pal3bit(UINT8 bits)
{
bits &= 7;
return (bits << 5) | (bits << 2) | (bits >> 1);
@@ -256,7 +256,7 @@ INLINE UINT8 pal3bit(UINT8 bits)
pal4bit - convert a 4-bit value to 8 bits
-------------------------------------------------*/
-INLINE UINT8 pal4bit(UINT8 bits)
+inline UINT8 pal4bit(UINT8 bits)
{
bits &= 0xf;
return (bits << 4) | bits;
@@ -267,7 +267,7 @@ INLINE UINT8 pal4bit(UINT8 bits)
pal5bit - convert a 5-bit value to 8 bits
-------------------------------------------------*/
-INLINE UINT8 pal5bit(UINT8 bits)
+inline UINT8 pal5bit(UINT8 bits)
{
bits &= 0x1f;
return (bits << 3) | (bits >> 2);
@@ -278,7 +278,7 @@ INLINE UINT8 pal5bit(UINT8 bits)
pal6bit - convert a 6-bit value to 8 bits
-------------------------------------------------*/
-INLINE UINT8 pal6bit(UINT8 bits)
+inline UINT8 pal6bit(UINT8 bits)
{
bits &= 0x3f;
return (bits << 2) | (bits >> 4);
@@ -289,11 +289,66 @@ INLINE UINT8 pal6bit(UINT8 bits)
pal7bit - convert a 7-bit value to 8 bits
-------------------------------------------------*/
-INLINE UINT8 pal7bit(UINT8 bits)
+inline UINT8 pal7bit(UINT8 bits)
{
bits &= 0x7f;
return (bits << 1) | (bits >> 6);
}
+/*-------------------------------------------------
+ pal332 - create a 3-3-2 color by extracting
+ bits from a UINT32
+-------------------------------------------------*/
+
+inline rgb_t pal332(UINT32 data, UINT8 rshift, UINT8 gshift, UINT8 bshift)
+{
+ return MAKE_RGB(pal3bit(data >> rshift), pal3bit(data >> gshift), pal2bit(data >> bshift));
+}
+
+
+/*-------------------------------------------------
+ pal444 - create a 4-4-4 color by extracting
+ bits from a UINT32
+-------------------------------------------------*/
+
+inline rgb_t pal444(UINT32 data, UINT8 rshift, UINT8 gshift, UINT8 bshift)
+{
+ return MAKE_RGB(pal4bit(data >> rshift), pal4bit(data >> gshift), pal4bit(data >> bshift));
+}
+
+
+/*-------------------------------------------------
+ pal555 - create a 5-5-5 color by extracting
+ bits from a UINT32
+-------------------------------------------------*/
+
+inline rgb_t pal555(UINT32 data, UINT8 rshift, UINT8 gshift, UINT8 bshift)
+{
+ return MAKE_RGB(pal5bit(data >> rshift), pal5bit(data >> gshift), pal5bit(data >> bshift));
+}
+
+
+/*-------------------------------------------------
+ pal565 - create a 5-6-5 color by extracting
+ bits from a UINT32
+-------------------------------------------------*/
+
+inline rgb_t pal565(UINT32 data, UINT8 rshift, UINT8 gshift, UINT8 bshift)
+{
+ return MAKE_RGB(pal5bit(data >> rshift), pal6bit(data >> gshift), pal5bit(data >> bshift));
+}
+
+
+/*-------------------------------------------------
+ pal888 - create a 8-8-8 color by extracting
+ bits from a UINT32
+-------------------------------------------------*/
+
+inline rgb_t pal888(UINT32 data, UINT8 rshift, UINT8 gshift, UINT8 bshift)
+{
+ return MAKE_RGB(data >> rshift, data >> gshift, data >> bshift);
+}
+
+
#endif /* __PALETTE_H__ */
diff --git a/src/mame/drivers/1945kiii.c b/src/mame/drivers/1945kiii.c
index 6481c17d0ed..0dd8fb94300 100644
--- a/src/mame/drivers/1945kiii.c
+++ b/src/mame/drivers/1945kiii.c
@@ -150,7 +150,7 @@ static ADDRESS_MAP_START( k3_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_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) // palette
+ AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram") // palette
AM_RANGE(0x240000, 0x240fff) AM_RAM AM_BASE(m_spriteram_1)
AM_RANGE(0x280000, 0x280fff) AM_RAM AM_BASE(m_spriteram_2)
AM_RANGE(0x2c0000, 0x2c0fff) AM_RAM_WRITE(k3_bgram_w) AM_BASE(m_bgram)
diff --git a/src/mame/drivers/2mindril.c b/src/mame/drivers/2mindril.c
index 896f7853fcb..607626d6b3e 100644
--- a/src/mame/drivers/2mindril.c
+++ b/src/mame/drivers/2mindril.c
@@ -202,7 +202,7 @@ static ADDRESS_MAP_START( drill_map, AS_PROGRAM, 16, _2mindril_state )
AM_RANGE(0x430000, 0x43ffff) AM_READWRITE_LEGACY(f3_pivot_r,f3_pivot_w)
AM_RANGE(0x460000, 0x46000f) AM_WRITE_LEGACY(f3_control_0_w)
AM_RANGE(0x460010, 0x46001f) AM_WRITE_LEGACY(f3_control_1_w)
- AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x502022, 0x502023) AM_WRITENOP //countinously switches between 0 and 2
AM_RANGE(0x600000, 0x600007) AM_DEVREADWRITE8_LEGACY("ymsnd", ym2610_r, ym2610_w, 0x00ff)
AM_RANGE(0x60000c, 0x60000d) AM_READWRITE_LEGACY(drill_irq_r,drill_irq_w)
diff --git a/src/mame/drivers/88games.c b/src/mame/drivers/88games.c
index 64b8d9e2a8e..98d1634e78a 100644
--- a/src/mame/drivers/88games.c
+++ b/src/mame/drivers/88games.c
@@ -128,7 +128,7 @@ WRITE8_MEMBER(_88games_state::k052109_051960_w)
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, _88games_state )
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_BASE(m_banked_rom) /* banked ROM + palette RAM */
- AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_be_w) AM_BASE(m_paletteram_1000) /* banked ROM + palette RAM */
+ AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_be_w) AM_BASE(m_paletteram_1000) /* banked ROM + palette RAM */
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_BASE(m_ram)
@@ -278,18 +278,18 @@ static KONAMI_SETLINES_CALLBACK( k88games_banking )
memcpy(state->m_banked_rom, &RAM[offs], 0x1000);
if (lines & 0x08)
{
- if (device->machine().generic.paletteram.u8 != state->m_paletteram_1000)
+ if (state->m_generic_paletteram_8 != state->m_paletteram_1000)
{
- memcpy(state->m_paletteram_1000, device->machine().generic.paletteram.u8, 0x1000);
- device->machine().generic.paletteram.u8 = state->m_paletteram_1000;
+ memcpy(state->m_paletteram_1000, state->m_generic_paletteram_8, 0x1000);
+ state->m_generic_paletteram_8.set_target(state->m_paletteram_1000, 0x1000);
}
}
else
{
- if (device->machine().generic.paletteram.u8 != &RAM[0x20000])
+ if (state->m_generic_paletteram_8 != &RAM[0x20000])
{
- memcpy(&RAM[0x20000], device->machine().generic.paletteram.u8, 0x1000);
- device->machine().generic.paletteram.u8 = &RAM[0x20000];
+ memcpy(&RAM[0x20000], state->m_generic_paletteram_8, 0x1000);
+ state->m_generic_paletteram_8.set_target(&RAM[0x20000], 0x01000);
}
memcpy(state->m_paletteram_1000, &RAM[offs+0x1000], 0x1000);
}
@@ -330,7 +330,7 @@ static MACHINE_RESET( 88games )
_88games_state *state = machine.driver_data<_88games_state>();
konami_configure_set_lines(machine.device("maincpu"), k88games_banking);
- machine.generic.paletteram.u8 = &machine.region("maincpu")->base()[0x20000];
+ state->m_generic_paletteram_8.set_target(&machine.region("maincpu")->base()[0x20000], 0x1000);
state->m_videobank = 0;
state->m_zoomreadroms = 0;
diff --git a/src/mame/drivers/acommand.c b/src/mame/drivers/acommand.c
index f33727ceeb2..18e8033cf43 100644
--- a/src/mame/drivers/acommand.c
+++ b/src/mame/drivers/acommand.c
@@ -458,7 +458,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_WRITE(ac_bgvram_w) AM_BASE(m_ac_bgvram)
AM_RANGE(0x0b0000, 0x0b3fff) AM_RAM_WRITE(ac_txvram_w) AM_BASE(m_ac_txvram)
- AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x0f0000, 0x0f7fff) AM_RAM
AM_RANGE(0x0f8000, 0x0f8fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x0f9000, 0x0fffff) AM_RAM
diff --git a/src/mame/drivers/actfancr.c b/src/mame/drivers/actfancr.c
index 9ad328fe9d1..6ce6729d45c 100644
--- a/src/mame/drivers/actfancr.c
+++ b/src/mame/drivers/actfancr.c
@@ -82,7 +82,7 @@ static ADDRESS_MAP_START( actfan_map, AS_PROGRAM, 8, actfancr_state )
AM_RANGE(0x072000, 0x0727ff) AM_DEVREADWRITE_LEGACY("tilegen2", deco_bac06_pf_data_8bit_swap_r, deco_bac06_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_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x120000, 0x1205ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_SHARE("paletteram")
AM_RANGE(0x130000, 0x130000) AM_READ_PORT("P1")
AM_RANGE(0x130001, 0x130001) AM_READ_PORT("P2")
AM_RANGE(0x130002, 0x130002) AM_READ_PORT("DSW1")
@@ -105,7 +105,7 @@ static ADDRESS_MAP_START( triothep_map, AS_PROGRAM, 8, actfancr_state )
AM_RANGE(0x100000, 0x100001) AM_WRITE(actfancr_sound_w)
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_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x130000, 0x1305ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_SHARE("paletteram")
AM_RANGE(0x140000, 0x140001) AM_READNOP /* Value doesn't matter */
AM_RANGE(0x1f0000, 0x1f3fff) AM_RAM AM_BASE(m_main_ram) /* Main ram */
AM_RANGE(0x1ff000, 0x1ff001) AM_READWRITE(triothep_control_r, triothep_control_select_w)
diff --git a/src/mame/drivers/aerofgt.c b/src/mame/drivers/aerofgt.c
index 50c66b4c594..1bffb1f68f1 100644
--- a/src/mame/drivers/aerofgt.c
+++ b/src/mame/drivers/aerofgt.c
@@ -142,7 +142,7 @@ static ADDRESS_MAP_START( pspikes_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0xff8000, 0xff8fff) AM_RAM_WRITE_LEGACY(aerofgt_bg1videoram_w) AM_BASE(m_bg1videoram)
AM_RANGE(0xffc000, 0xffc3ff) AM_WRITEONLY AM_BASE_SIZE(m_spriteram3, m_spriteram3_size)
AM_RANGE(0xffd000, 0xffdfff) AM_RAM AM_BASE(m_rasterram) /* bg1 scroll registers */
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0") AM_WRITE_LEGACY(pspikes_palette_bank_w)
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1") AM_WRITE_LEGACY(pspikes_gfxbank_w)
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW") AM_WRITE_LEGACY(aerofgt_bg1scrolly_w)
@@ -158,7 +158,7 @@ static ADDRESS_MAP_START( pspikesb_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0xffc000, 0xffcbff) AM_RAM AM_BASE_SIZE(m_spriteram3, m_spriteram3_size)
AM_RANGE(0xffd200, 0xffd201) AM_WRITE_LEGACY(pspikesb_gfxbank_w)
AM_RANGE(0xffd000, 0xffdfff) AM_RAM AM_BASE(m_rasterram) /* bg1 scroll registers */
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
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_LEGACY(aerofgt_bg1scrolly_w)
@@ -178,7 +178,7 @@ static ADDRESS_MAP_START( spikes91_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0xffc000, 0xffcfff) AM_RAM AM_BASE_SIZE(m_spriteram3, m_spriteram3_size)
//AM_RANGE(0xffd200, 0xffd201) AM_WRITE_LEGACY(pspikesb_gfxbank_w)
AM_RANGE(0xffd000, 0xffdfff) AM_RAM AM_BASE(m_rasterram) /* bg1 scroll registers */
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0")
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1") AM_WRITE_LEGACY(pspikes_gfxbank_w)
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW") AM_WRITE_LEGACY(aerofgt_bg1scrolly_w)
@@ -193,7 +193,7 @@ static ADDRESS_MAP_START( pspikesc_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0xff8000, 0xff8fff) AM_RAM_WRITE_LEGACY(aerofgt_bg1videoram_w) AM_BASE(m_bg1videoram)
AM_RANGE(0xffc000, 0xffcbff) AM_RAM AM_BASE_SIZE(m_spriteram3, m_spriteram3_size)
AM_RANGE(0xffd000, 0xffdfff) AM_RAM AM_BASE(m_rasterram) /* bg1 scroll registers */
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0") AM_WRITE_LEGACY(pspikes_palette_bank_w)
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1") AM_WRITE_LEGACY(pspikes_gfxbank_w)
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW")
@@ -211,7 +211,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_BASE_SIZE(m_spriteram3, m_spriteram3_size)
- AM_RANGE(0x0fe000, 0x0fe7ff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0fe000, 0x0fe7ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x0ff000, 0x0ff001) AM_READ_PORT("IN0")
AM_RANGE(0x0ff002, 0x0ff003) AM_READ_PORT("IN1") AM_WRITE_LEGACY(karatblz_gfxbank_w)
AM_RANGE(0x0ff004, 0x0ff005) AM_READ_PORT("IN2")
@@ -229,7 +229,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_BASE_SIZE(m_spriteram3, m_spriteram3_size)
AM_RANGE(0xffd000, 0xffd1ff) AM_RAM AM_BASE(m_rasterram) /* bg1 scroll registers */
- AM_RANGE(0xffe000, 0xffe7ff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xffe000, 0xffe7ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0") AM_WRITE_LEGACY(spinlbrk_gfxbank_w)
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1") AM_WRITE_LEGACY(aerofgt_bg2scrollx_w)
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW")
@@ -247,7 +247,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_BASE_SIZE(m_spriteram3, m_spriteram3_size)
AM_RANGE(0x0fd000, 0x0fdfff) AM_RAM AM_BASE(m_rasterram) /* bg1 scroll registers */
- AM_RANGE(0x0fe000, 0x0fe7ff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0fe000, 0x0fe7ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x0ff000, 0x0ff001) AM_READ_PORT("IN0")
AM_RANGE(0x0ff002, 0x0ff003) AM_READ_PORT("IN1") AM_WRITE_LEGACY(aerofgt_bg1scrolly_w)
AM_RANGE(0x0ff004, 0x0ff005) AM_READ_PORT("DSW") AM_WRITE_LEGACY(aerofgt_bg2scrollx_w)
@@ -267,7 +267,7 @@ static ADDRESS_MAP_START( aerofgtb_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0x0e4000, 0x0e7fff) AM_RAM AM_BASE_SIZE(m_spriteram2, m_spriteram2_size)
AM_RANGE(0x0f8000, 0x0fbfff) AM_RAM /* work RAM */
AM_RANGE(0x0fc000, 0x0fc7ff) AM_RAM AM_BASE_SIZE(m_spriteram3, m_spriteram3_size)
- AM_RANGE(0x0fd000, 0x0fd7ff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0fd000, 0x0fd7ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x0fe000, 0x0fe001) AM_READ_PORT("IN0")
AM_RANGE(0x0fe002, 0x0fe003) AM_READ_PORT("IN1") AM_WRITE_LEGACY(aerofgt_bg1scrolly_w)
AM_RANGE(0x0fe004, 0x0fe005) AM_READ_PORT("DSW1") AM_WRITE_LEGACY(aerofgt_bg2scrollx_w)
@@ -280,7 +280,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_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1a0000, 0x1a07ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x1b0000, 0x1b07ff) AM_RAM AM_BASE(m_rasterram) /* used only for the scroll registers */
AM_RANGE(0x1b0800, 0x1b0801) AM_NOP /* ??? */
AM_RANGE(0x1b0ff0, 0x1b0fff) AM_RAM /* stack area during boot */
@@ -312,7 +312,7 @@ static ADDRESS_MAP_START( aerfboot_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0x0e4000, 0x0e7fff) AM_RAM AM_BASE_SIZE(m_spriteram2, m_spriteram2_size)
AM_RANGE(0x0f8000, 0x0fbfff) AM_RAM /* work RAM */
AM_RANGE(0x0fc000, 0x0fc7ff) AM_RAM //AM_BASE_SIZE(m_spriteram3, m_spriteram3_size)
- AM_RANGE(0x0fd000, 0x0fd7ff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0fd000, 0x0fd7ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x0fe000, 0x0fe001) AM_READ_PORT("IN0")
AM_RANGE(0x0fe002, 0x0fe003) AM_READ_PORT("IN1")
AM_RANGE(0x0fe004, 0x0fe005) AM_READ_PORT("DSW1")
@@ -341,7 +341,7 @@ static ADDRESS_MAP_START( aerfboo2_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0x0e4000, 0x0e7fff) AM_RAM AM_BASE_SIZE(m_spriteram2, m_spriteram2_size)
AM_RANGE(0x0f8000, 0x0fbfff) AM_RAM /* work RAM */
AM_RANGE(0x0fc000, 0x0fc7ff) AM_RAM AM_BASE_SIZE(m_spriteram3, m_spriteram3_size)
- AM_RANGE(0x0fd000, 0x0fd7ff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0fd000, 0x0fd7ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x0fe000, 0x0fe001) AM_READ_PORT("IN0")
AM_RANGE(0x0fe002, 0x0fe003) AM_READ_PORT("IN1")
AM_RANGE(0x0fe004, 0x0fe005) AM_READ_PORT("DSW1")
@@ -368,7 +368,7 @@ static ADDRESS_MAP_START( wbbc97_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0xff8000, 0xff8fff) AM_RAM_WRITE_LEGACY(aerofgt_bg1videoram_w) AM_BASE(m_bg1videoram)
AM_RANGE(0xffc000, 0xffc3ff) AM_WRITEONLY AM_BASE_SIZE(m_spriteram3, m_spriteram3_size)
AM_RANGE(0xffd000, 0xffdfff) AM_RAM AM_BASE(m_rasterram) /* bg1 scroll registers */
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0") AM_WRITE_LEGACY(pspikes_palette_bank_w)
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1") AM_WRITE_LEGACY(pspikes_gfxbank_w)
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW") AM_WRITE_LEGACY(aerofgt_bg1scrolly_w)
diff --git a/src/mame/drivers/ajax.c b/src/mame/drivers/ajax.c
index 0dda8aa3add..284ee9f7425 100644
--- a/src/mame/drivers/ajax.c
+++ b/src/mame/drivers/ajax.c
@@ -29,7 +29,7 @@ static ADDRESS_MAP_START( ajax_main_map, AS_PROGRAM, 8, ajax_state )
AM_RANGE(0x0000, 0x01c0) AM_READWRITE_LEGACY(ajax_ls138_f10_r, ajax_ls138_f10_w) /* bankswitch + sound command + FIRQ command */
AM_RANGE(0x0800, 0x0807) AM_DEVREADWRITE_LEGACY("k051960", k051937_r, k051937_w) /* sprite control registers */
AM_RANGE(0x0c00, 0x0fff) AM_DEVREADWRITE_LEGACY("k051960", k051960_r, k051960_w) /* sprite RAM 2128SL at J7 */
- AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_be_w) AM_BASE_GENERIC(paletteram)/* palette */
+ AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_be_w) AM_SHARE("paletteram")/* 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("bank2") /* banked ROM */
diff --git a/src/mame/drivers/albazg.c b/src/mame/drivers/albazg.c
index 291d5ac1c9b..be8a564bb67 100644
--- a/src/mame/drivers/albazg.c
+++ b/src/mame/drivers/albazg.c
@@ -233,8 +233,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_BASE(m_cus_ram)
- AM_RANGE(0xb000, 0xb07f) AM_RAM_WRITE_LEGACY(paletteram_xRRRRRGGGGGBBBBB_split1_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0xb080, 0xb0ff) AM_RAM_WRITE_LEGACY(paletteram_xRRRRRGGGGGBBBBB_split2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0xb000, 0xb07f) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_split1_w) AM_SHARE("paletteram")
+ AM_RANGE(0xb080, 0xb0ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_split2_w) AM_SHARE("paletteram2")
AM_RANGE(0xc000, 0xc3ff) AM_RAM_WRITE(yumefuda_vram_w) AM_BASE(m_videoram)
AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(yumefuda_cram_w) AM_BASE(m_colorram)
AM_RANGE(0xe000, 0xffff) AM_RAM
diff --git a/src/mame/drivers/aliens.c b/src/mame/drivers/aliens.c
index 425c9468060..85d817b6ad4 100644
--- a/src/mame/drivers/aliens.c
+++ b/src/mame/drivers/aliens.c
@@ -29,16 +29,14 @@ static INTERRUPT_GEN( aliens_interrupt )
READ8_MEMBER(aliens_state::bankedram_r)
{
-
if (m_palette_selected)
- return machine().generic.paletteram.u8[offset];
+ return m_generic_paletteram_8[offset];
else
return m_ram[offset];
}
WRITE8_MEMBER(aliens_state::bankedram_w)
{
-
if (m_palette_selected)
paletteram_xBBBBBGGGGGRRRRR_be_w(space, offset, data);
else
diff --git a/src/mame/drivers/amspdwy.c b/src/mame/drivers/amspdwy.c
index 48842a96c71..9ae99a2dcba 100644
--- a/src/mame/drivers/amspdwy.c
+++ b/src/mame/drivers/amspdwy.c
@@ -75,7 +75,7 @@ WRITE8_MEMBER(amspdwy_state::amspdwy_sound_w)
static ADDRESS_MAP_START( amspdwy_map, AS_PROGRAM, 8, amspdwy_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM // ROM
- AM_RANGE(0x8000, 0x801f) AM_WRITE_LEGACY(amspdwy_paletteram_w) AM_BASE_GENERIC(paletteram)// Palette
+ AM_RANGE(0x8000, 0x801f) AM_WRITE_LEGACY(amspdwy_paletteram_w) AM_SHARE("paletteram")// Palette
AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x0400) AM_RAM_WRITE_LEGACY(amspdwy_videoram_w) AM_BASE(m_videoram) // Layer, mirrored?
AM_RANGE(0x9800, 0x9bff) AM_RAM_WRITE_LEGACY(amspdwy_colorram_w) AM_BASE(m_colorram) // Layer
AM_RANGE(0x9c00, 0x9fff) AM_RAM // Unused?
diff --git a/src/mame/drivers/aquarium.c b/src/mame/drivers/aquarium.c
index 321f843f225..d4c0e40b8aa 100644
--- a/src/mame/drivers/aquarium.c
+++ b/src/mame/drivers/aquarium.c
@@ -109,7 +109,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, aquarium_state )
AM_RANGE(0xc01000, 0xc01fff) AM_RAM_WRITE_LEGACY(aquarium_bak_videoram_w) AM_BASE(m_bak_videoram)
AM_RANGE(0xc02000, 0xc03fff) AM_RAM_WRITE_LEGACY(aquarium_txt_videoram_w) AM_BASE(m_txt_videoram)
AM_RANGE(0xc80000, 0xc81fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0xd00000, 0xd00fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xd00000, 0xd00fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0xd80014, 0xd8001f) AM_WRITEONLY AM_BASE(m_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.c b/src/mame/drivers/arcadecl.c
index 213d3b4d48f..40f1eb0dbd7 100644
--- a/src/mame/drivers/arcadecl.c
+++ b/src/mame/drivers/arcadecl.c
@@ -155,7 +155,7 @@ static WRITE16_HANDLER( 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_BASE(m_bitmap)
- AM_RANGE(0x3c0000, 0x3c07ff) AM_RAM_WRITE_LEGACY(atarigen_expanded_666_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x3c0000, 0x3c07ff) AM_RAM_WRITE_LEGACY(atarigen_expanded_666_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x3e0000, 0x3e07ff) AM_READWRITE_LEGACY(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
AM_RANGE(0x3e0800, 0x3effbf) AM_RAM
AM_RANGE(0x3effc0, 0x3effff) AM_READWRITE_LEGACY(atarimo_0_slipram_r, atarimo_0_slipram_w)
diff --git a/src/mame/drivers/armedf.c b/src/mame/drivers/armedf.c
index 6ef2d017c15..62d5e798172 100644
--- a/src/mame/drivers/armedf.c
+++ b/src/mame/drivers/armedf.c
@@ -392,7 +392,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_WRITE_LEGACY(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x068000, 0x069fff) AM_READWRITE8_LEGACY(nb1414m4_text_videoram_r,nb1414m4_text_videoram_w,0x00ff)
AM_RANGE(0x06a000, 0x06a9ff) AM_RAM
AM_RANGE(0x06c000, 0x06cfff) AM_RAM AM_BASE(m_spr_pal_clut)
@@ -423,7 +423,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_WRITE_LEGACY(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x068000, 0x069fff) AM_READWRITE8_LEGACY(nb1414m4_text_videoram_r,nb1414m4_text_videoram_w,0x00ff)
AM_RANGE(0x06a000, 0x06a9ff) AM_RAM
AM_RANGE(0x06c000, 0x06cfff) AM_RAM AM_BASE(m_spr_pal_clut)
@@ -445,7 +445,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_WRITE_LEGACY(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x068000, 0x069fff) AM_READWRITE8_LEGACY(nb1414m4_text_videoram_r,nb1414m4_text_videoram_w,0x00ff)
AM_RANGE(0x06a000, 0x06a9ff) AM_RAM
AM_RANGE(0x06c000, 0x06cfff) AM_RAM AM_BASE(m_spr_pal_clut)
@@ -478,7 +478,7 @@ static ADDRESS_MAP_START( legiono_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_WRITE_LEGACY(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x068000, 0x069fff) AM_READWRITE8_LEGACY(nb1414m4_text_videoram_r,nb1414m4_text_videoram_w,0x00ff)
AM_RANGE(0x06a000, 0x06a9ff) AM_RAM
AM_RANGE(0x06c000, 0x06cfff) AM_RAM AM_BASE(m_spr_pal_clut)
@@ -503,7 +503,7 @@ static ADDRESS_MAP_START( armedf_map, AS_PROGRAM, 16, armedf_state )
AM_RANGE(0x066000, 0x066fff) AM_RAM_WRITE_LEGACY(armedf_bg_videoram_w) AM_BASE(m_bg_videoram)
AM_RANGE(0x067000, 0x067fff) AM_RAM_WRITE_LEGACY(armedf_fg_videoram_w) AM_BASE(m_fg_videoram)
AM_RANGE(0x068000, 0x069fff) AM_READWRITE8_LEGACY(armedf_text_videoram_r,armedf_text_videoram_w,0x00ff)
- AM_RANGE(0x06a000, 0x06afff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x06a000, 0x06afff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x06b000, 0x06bfff) AM_RAM AM_BASE(m_spr_pal_clut)
AM_RANGE(0x06c000, 0x06c001) AM_READ_PORT("P1")
AM_RANGE(0x06c002, 0x06c003) AM_READ_PORT("P2")
@@ -678,7 +678,7 @@ static ADDRESS_MAP_START( bigfghtr_map, AS_PROGRAM, 16, bigfghtr_state )
AM_RANGE(0x086000, 0x086fff) AM_RAM_WRITE_LEGACY(armedf_bg_videoram_w) AM_BASE(m_bg_videoram)
AM_RANGE(0x087000, 0x087fff) AM_RAM_WRITE_LEGACY(armedf_fg_videoram_w) AM_BASE(m_fg_videoram)
AM_RANGE(0x088000, 0x089fff) AM_READWRITE8_LEGACY(armedf_text_videoram_r,armedf_text_videoram_w,0x00ff)
- AM_RANGE(0x08a000, 0x08afff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x08a000, 0x08afff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x08b000, 0x08bfff) AM_RAM AM_BASE(m_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.c b/src/mame/drivers/ashnojoe.c
index 29ffb53a61a..8da2718cb5a 100644
--- a/src/mame/drivers/ashnojoe.c
+++ b/src/mame/drivers/ashnojoe.c
@@ -104,7 +104,7 @@ static ADDRESS_MAP_START( ashnojoe_map, AS_PROGRAM, 16, ashnojoe_state )
AM_RANGE(0x046000, 0x046fff) AM_RAM_WRITE_LEGACY(ashnojoe_tileram6_w) AM_BASE(m_tileram_6)
AM_RANGE(0x047000, 0x047fff) AM_RAM_WRITE_LEGACY(ashnojoe_tileram7_w) AM_BASE(m_tileram_7)
AM_RANGE(0x048000, 0x048fff) AM_RAM_WRITE_LEGACY(ashnojoe_tileram_w) AM_BASE(m_tileram)
- AM_RANGE(0x049000, 0x049fff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x049000, 0x049fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
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.c b/src/mame/drivers/asterix.c
index 1d1389d159e..10a63d640a8 100644
--- a/src/mame/drivers/asterix.c
+++ b/src/mame/drivers/asterix.c
@@ -174,7 +174,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, asterix_state )
AM_RANGE(0x180000, 0x1807ff) AM_DEVREADWRITE_LEGACY("k053244", 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_LEGACY("k053244", k053244_word_r, k053244_word_w)
- AM_RANGE(0x280000, 0x280fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x280000, 0x280fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x300000, 0x30001f) AM_DEVREADWRITE_LEGACY("k053244", 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/atarig1.c b/src/mame/drivers/atarig1.c
index d2551be751b..45f7439ca33 100644
--- a/src/mame/drivers/atarig1.c
+++ b/src/mame/drivers/atarig1.c
@@ -226,7 +226,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarig1_state )
AM_RANGE(0xfd0000, 0xfd0001) AM_READ_LEGACY(atarigen_sound_upper_r)
AM_RANGE(0xfd8000, 0xfdffff) AM_READWRITE_LEGACY(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
/* AM_RANGE(0xfe0000, 0xfe7fff) AM_READ_LEGACY(from_r)*/
- AM_RANGE(0xfe8000, 0xfe89ff) AM_RAM_WRITE_LEGACY(atarigen_666_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xfe8000, 0xfe89ff) AM_RAM_WRITE_LEGACY(atarigen_666_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0xff0000, 0xff0fff) AM_DEVREADWRITE_LEGACY("rle", atarirle_spriteram_r, atarirle_spriteram_w)
AM_RANGE(0xff2000, 0xff2001) AM_WRITE_LEGACY(mo_command_w) AM_BASE(m_mo_command)
AM_RANGE(0xff4000, 0xff5fff) AM_WRITE_LEGACY(atarigen_playfield_w) AM_BASE(m_playfield)
diff --git a/src/mame/drivers/atarig42.c b/src/mame/drivers/atarig42.c
index 7081834bae1..e88f764d4f5 100644
--- a/src/mame/drivers/atarig42.c
+++ b/src/mame/drivers/atarig42.c
@@ -366,7 +366,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarig42_state )
AM_RANGE(0xf60000, 0xf60001) AM_READ_LEGACY(asic65_r)
AM_RANGE(0xf80000, 0xf80003) AM_WRITE_LEGACY(asic65_data_w)
AM_RANGE(0xfa0000, 0xfa0fff) AM_READWRITE_LEGACY(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
- AM_RANGE(0xfc0000, 0xfc0fff) AM_RAM_WRITE_LEGACY(atarigen_666_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xfc0000, 0xfc0fff) AM_RAM_WRITE_LEGACY(atarigen_666_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0xff0000, 0xff0fff) AM_DEVREADWRITE_LEGACY("rle", atarirle_spriteram_r, atarirle_spriteram_w)
AM_RANGE(0xff2000, 0xff5fff) AM_WRITE_LEGACY(atarigen_playfield_w) AM_BASE(m_playfield)
AM_RANGE(0xff6000, 0xff6fff) AM_WRITE_LEGACY(atarigen_alpha_w) AM_BASE(m_alpha)
diff --git a/src/mame/drivers/atarigx2.c b/src/mame/drivers/atarigx2.c
index 0cef34dd38d..2e81153b5ff 100644
--- a/src/mame/drivers/atarigx2.c
+++ b/src/mame/drivers/atarigx2.c
@@ -1156,7 +1156,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, atarigx2_state )
AM_RANGE(0xca0000, 0xca0fff) AM_READWRITE_LEGACY(atarigx2_protection_r, atarigx2_protection_w) AM_BASE(m_protection_base)
AM_RANGE(0xd00000, 0xd1ffff) AM_READ_LEGACY(a2d_data_r)
AM_RANGE(0xd20000, 0xd20fff) AM_READWRITE_LEGACY(atarigen_eeprom_upper32_r, atarigen_eeprom32_w) AM_SHARE("eeprom")
- AM_RANGE(0xd40000, 0xd40fff) AM_RAM_WRITE_LEGACY(atarigen_666_paletteram32_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xd40000, 0xd40fff) AM_RAM_WRITE_LEGACY(atarigen_666_paletteram32_w) AM_SHARE("paletteram")
AM_RANGE(0xd72000, 0xd75fff) AM_WRITE_LEGACY(atarigen_playfield32_w) AM_BASE(m_playfield32)
AM_RANGE(0xd76000, 0xd76fff) AM_WRITE_LEGACY(atarigen_alpha32_w) AM_BASE(m_alpha32)
AM_RANGE(0xd78000, 0xd78fff) AM_DEVREADWRITE_LEGACY("rle", atarirle_spriteram32_r, atarirle_spriteram32_w)
diff --git a/src/mame/drivers/atarisy1.c b/src/mame/drivers/atarisy1.c
index 73cb52204df..8e1f44b5150 100644
--- a/src/mame/drivers/atarisy1.c
+++ b/src/mame/drivers/atarisy1.c
@@ -484,7 +484,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarisy1_state )
AM_RANGE(0xa00000, 0xa01fff) AM_RAM_WRITE_LEGACY(atarigen_playfield_w) AM_BASE(m_playfield)
AM_RANGE(0xa02000, 0xa02fff) AM_READWRITE_LEGACY(atarimo_0_spriteram_r, atarisy1_spriteram_w)
AM_RANGE(0xa03000, 0xa03fff) AM_RAM_WRITE_LEGACY(atarigen_alpha_w) AM_BASE(m_alpha)
- AM_RANGE(0xb00000, 0xb007ff) AM_RAM_WRITE_LEGACY(paletteram16_IIIIRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xb00000, 0xb007ff) AM_RAM_WRITE(paletteram16_IIIIRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0xf00000, 0xf00fff) AM_READWRITE_LEGACY(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
AM_RANGE(0xf20000, 0xf20007) AM_READ_LEGACY(trakball_r)
AM_RANGE(0xf40000, 0xf4001f) AM_READWRITE_LEGACY(joystick_r, joystick_w)
diff --git a/src/mame/drivers/atarisy2.c b/src/mame/drivers/atarisy2.c
index 519f8f7ac09..0beda3a48d0 100644
--- a/src/mame/drivers/atarisy2.c
+++ b/src/mame/drivers/atarisy2.c
@@ -801,7 +801,7 @@ static WRITE8_HANDLER( 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_WRITE_LEGACY(atarisy2_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1000, 0x11ff) AM_MIRROR(0x0200) AM_RAM_WRITE_LEGACY(atarisy2_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x1400, 0x1403) AM_MIRROR(0x007c) AM_READWRITE_LEGACY(adc_r, bankselect_w) AM_BASE(m_bankselect)
AM_RANGE(0x1480, 0x1487) AM_MIRROR(0x0078) AM_WRITE_LEGACY(adc_strobe_w)
AM_RANGE(0x1580, 0x1581) AM_MIRROR(0x001e) AM_WRITE_LEGACY(int0_ack_w)
diff --git a/src/mame/drivers/ataxx.c b/src/mame/drivers/ataxx.c
index 5f9c4af991c..d3b23c0f0c3 100644
--- a/src/mame/drivers/ataxx.c
+++ b/src/mame/drivers/ataxx.c
@@ -50,7 +50,7 @@ static ADDRESS_MAP_START( master_map_program, AS_PROGRAM, 8, leland_state )
AM_RANGE(0x2000, 0x9fff) AM_ROMBANK("bank1")
AM_RANGE(0xa000, 0xdfff) AM_ROMBANK("bank2") AM_WRITE_LEGACY(ataxx_battery_ram_w) AM_SHARE("battery")
AM_RANGE(0xe000, 0xf7ff) AM_RAM
- AM_RANGE(0xf800, 0xffff) AM_READWRITE_LEGACY(ataxx_paletteram_and_misc_r, ataxx_paletteram_and_misc_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf800, 0xffff) AM_READWRITE_LEGACY(ataxx_paletteram_and_misc_r, ataxx_paletteram_and_misc_w) AM_SHARE("paletteram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/atetris.c b/src/mame/drivers/atetris.c
index ae790f480a6..6c9dfb650d3 100644
--- a/src/mame/drivers/atetris.c
+++ b/src/mame/drivers/atetris.c
@@ -201,7 +201,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_LEGACY(atetris_videoram_w) AM_BASE(m_videoram)
- AM_RANGE(0x2000, 0x20ff) AM_MIRROR(0x0300) AM_RAM_WRITE_LEGACY(paletteram_RRRGGGBB_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x2000, 0x20ff) AM_MIRROR(0x0300) AM_RAM_WRITE(paletteram_RRRGGGBB_w) AM_SHARE("paletteram")
AM_RANGE(0x2400, 0x25ff) AM_MIRROR(0x0200) AM_RAM_WRITE(nvram_w) AM_SHARE("nvram")
AM_RANGE(0x2800, 0x280f) AM_MIRROR(0x03e0) AM_DEVREADWRITE_LEGACY("pokey1", pokey_r, pokey_w)
AM_RANGE(0x2810, 0x281f) AM_MIRROR(0x03e0) AM_DEVREADWRITE_LEGACY("pokey2", pokey_r, pokey_w)
@@ -218,7 +218,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_LEGACY(atetris_videoram_w) AM_BASE(m_videoram)
- AM_RANGE(0x2000, 0x20ff) AM_RAM_WRITE_LEGACY(paletteram_RRRGGGBB_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x2000, 0x20ff) AM_RAM_WRITE(paletteram_RRRGGGBB_w) AM_SHARE("paletteram")
AM_RANGE(0x2400, 0x25ff) AM_RAM_WRITE(nvram_w) AM_SHARE("nvram")
AM_RANGE(0x2802, 0x2802) AM_DEVWRITE_LEGACY("sn1", sn76496_w)
AM_RANGE(0x2804, 0x2804) AM_DEVWRITE_LEGACY("sn2", sn76496_w)
diff --git a/src/mame/drivers/backfire.c b/src/mame/drivers/backfire.c
index 54f25695868..80d6ed86665 100644
--- a/src/mame/drivers/backfire.c
+++ b/src/mame/drivers/backfire.c
@@ -208,8 +208,8 @@ static WRITE32_DEVICE_HANDLER(backfire_eeprom_w)
WRITE32_MEMBER(backfire_state::backfire_nonbuffered_palette_w)
{
- COMBINE_DATA(&machine().generic.paletteram.u32[offset]);
- palette_set_color_rgb(machine(),offset,pal5bit(machine().generic.paletteram.u32[offset] >> 0),pal5bit(machine().generic.paletteram.u32[offset] >> 5),pal5bit(machine().generic.paletteram.u32[offset] >> 10));
+ COMBINE_DATA(&m_generic_paletteram_32[offset]);
+ palette_set_color_rgb(machine(),offset,pal5bit(m_generic_paletteram_32[offset] >> 0),pal5bit(m_generic_paletteram_32[offset] >> 5),pal5bit(m_generic_paletteram_32[offset] >> 10));
}
/* map 32-bit writes to 16-bit */
@@ -282,7 +282,7 @@ static ADDRESS_MAP_START( backfire_map, AS_PROGRAM, 32, backfire_state )
AM_RANGE(0x144000, 0x145fff) AM_DEVREADWRITE_LEGACY("tilegen2", deco16ic_pf2_data_dword_r, deco16ic_pf2_data_dword_w)
AM_RANGE(0x150000, 0x150fff) AM_READWRITE(backfire_pf3_rowscroll_r, backfire_pf3_rowscroll_w)
AM_RANGE(0x154000, 0x154fff) AM_READWRITE(backfire_pf4_rowscroll_r, backfire_pf4_rowscroll_w)
- AM_RANGE(0x160000, 0x161fff) AM_WRITE(backfire_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x160000, 0x161fff) AM_WRITE(backfire_nonbuffered_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x170000, 0x177fff) AM_RAM AM_BASE(m_mainram)// main ram
// AM_RANGE(0x180010, 0x180013) AM_RAM AM_BASE_LEGACY(&backfire_180010) // always 180010 ?
diff --git a/src/mame/drivers/badlands.c b/src/mame/drivers/badlands.c
index a27808a00e9..fe1d89f309c 100644
--- a/src/mame/drivers/badlands.c
+++ b/src/mame/drivers/badlands.c
@@ -397,7 +397,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, badlands_state )
AM_RANGE(0xfea000, 0xfebfff) AM_READ_LEGACY(atarigen_sound_upper_r)
AM_RANGE(0xfec000, 0xfedfff) AM_WRITE_LEGACY(badlands_pf_bank_w)
AM_RANGE(0xfee000, 0xfeffff) AM_WRITE_LEGACY(atarigen_eeprom_enable_w)
- AM_RANGE(0xffc000, 0xffc3ff) AM_RAM_WRITE_LEGACY(atarigen_expanded_666_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xffc000, 0xffc3ff) AM_RAM_WRITE_LEGACY(atarigen_expanded_666_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE_LEGACY(atarigen_playfield_w) AM_BASE(m_playfield)
AM_RANGE(0xfff000, 0xfff1ff) AM_READWRITE_LEGACY(atarimo_0_spriteram_r, atarimo_0_spriteram_expanded_w)
AM_RANGE(0xfff200, 0xffffff) AM_RAM
@@ -658,7 +658,7 @@ static ADDRESS_MAP_START( bootleg_map, AS_PROGRAM, 16, badlands_state )
AM_RANGE(0xfec000, 0xfedfff) AM_WRITE_LEGACY(badlands_pf_bank_w)
AM_RANGE(0xfee000, 0xfeffff) AM_WRITE_LEGACY(atarigen_eeprom_enable_w)
- AM_RANGE(0xffc000, 0xffc3ff) AM_RAM_WRITE_LEGACY(atarigen_expanded_666_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xffc000, 0xffc3ff) AM_RAM_WRITE_LEGACY(atarigen_expanded_666_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE_LEGACY(atarigen_playfield_w) AM_BASE(m_playfield)
AM_RANGE(0xfff000, 0xfff1ff) AM_READWRITE_LEGACY(atarimo_0_spriteram_r, atarimo_0_spriteram_expanded_w)
AM_RANGE(0xfff200, 0xffffff) AM_RAM
diff --git a/src/mame/drivers/balsente.c b/src/mame/drivers/balsente.c
index 3d809b430e9..96e225009dc 100644
--- a/src/mame/drivers/balsente.c
+++ b/src/mame/drivers/balsente.c
@@ -245,7 +245,7 @@ DIP locations verified for:
static ADDRESS_MAP_START( cpu1_map, AS_PROGRAM, 8, balsente_state )
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE(m_spriteram)
AM_RANGE(0x0800, 0x7fff) AM_RAM_WRITE_LEGACY(balsente_videoram_w) AM_BASE(m_videoram)
- AM_RANGE(0x8000, 0x8fff) AM_RAM_WRITE_LEGACY(balsente_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x8000, 0x8fff) AM_RAM_WRITE_LEGACY(balsente_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x9000, 0x9007) AM_WRITE_LEGACY(balsente_adc_select_w)
AM_RANGE(0x9400, 0x9401) AM_READ_LEGACY(balsente_adc_data_r)
AM_RANGE(0x9800, 0x987f) AM_WRITE_LEGACY(balsente_misc_output_w)
diff --git a/src/mame/drivers/batman.c b/src/mame/drivers/batman.c
index b81f0a7675b..0634ce02d93 100644
--- a/src/mame/drivers/batman.c
+++ b/src/mame/drivers/batman.c
@@ -143,7 +143,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, batman_state )
AM_RANGE(0x260050, 0x260051) AM_MIRROR(0x11ff8e) AM_WRITE_LEGACY(latch_w)
AM_RANGE(0x260060, 0x260061) AM_MIRROR(0x11ff8e) AM_WRITE_LEGACY(atarigen_eeprom_enable_w)
AM_RANGE(0x2a0000, 0x2a0001) AM_MIRROR(0x11fffe) AM_WRITE_LEGACY(watchdog_reset16_w)
- AM_RANGE(0x3e0000, 0x3e0fff) AM_MIRROR(0x100000) AM_RAM_WRITE_LEGACY(atarigen_666_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x3e0000, 0x3e0fff) AM_MIRROR(0x100000) AM_RAM_WRITE_LEGACY(atarigen_666_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x3effc0, 0x3effff) AM_MIRROR(0x100000) AM_READWRITE_LEGACY(batman_atarivc_r, batman_atarivc_w) AM_BASE(m_atarivc_data)
AM_RANGE(0x3f0000, 0x3f1fff) AM_MIRROR(0x100000) AM_WRITE_LEGACY(atarigen_playfield2_latched_msb_w) AM_BASE(m_playfield2)
AM_RANGE(0x3f2000, 0x3f3fff) AM_MIRROR(0x100000) AM_WRITE_LEGACY(atarigen_playfield_latched_lsb_w) AM_BASE(m_playfield)
diff --git a/src/mame/drivers/battlera.c b/src/mame/drivers/battlera.c
index 5e430a92442..7543d18fd84 100644
--- a/src/mame/drivers/battlera.c
+++ b/src/mame/drivers/battlera.c
@@ -67,7 +67,7 @@ static ADDRESS_MAP_START( battlera_map, AS_PROGRAM, 8, battlera_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_READWRITE_LEGACY(HuC6270_debug_r, HuC6270_debug_w) /* Cheat to edit vram data */
AM_RANGE(0x1e0800, 0x1e0801) AM_WRITE(battlera_sound_w)
- AM_RANGE(0x1e1000, 0x1e13ff) AM_WRITE_LEGACY(battlera_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1e1000, 0x1e13ff) AM_WRITE_LEGACY(battlera_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8") /* Main ram */
AM_RANGE(0x1fe000, 0x1fe001) AM_READWRITE_LEGACY(HuC6270_register_r, HuC6270_register_w)
AM_RANGE(0x1fe002, 0x1fe003) AM_WRITE_LEGACY(HuC6270_data_w)
diff --git a/src/mame/drivers/battlnts.c b/src/mame/drivers/battlnts.c
index 5df3ab46a9f..86c496bf2ca 100644
--- a/src/mame/drivers/battlnts.c
+++ b/src/mame/drivers/battlnts.c
@@ -60,7 +60,7 @@ static ADDRESS_MAP_START( battlnts_map, AS_PROGRAM, 8, battlnts_state )
AM_RANGE(0x0000, 0x1fff) AM_DEVREADWRITE_LEGACY("k007342", k007342_r, k007342_w) /* Color RAM + Video RAM */
AM_RANGE(0x2000, 0x21ff) AM_DEVREADWRITE_LEGACY("k007420", k007420_r, k007420_w) /* Sprite RAM */
AM_RANGE(0x2200, 0x23ff) AM_DEVREADWRITE_LEGACY("k007342", k007342_scroll_r, k007342_scroll_w) /* Scroll RAM */
- AM_RANGE(0x2400, 0x24ff) AM_RAM_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_be_w) AM_BASE_GENERIC(paletteram)/* palette */
+ AM_RANGE(0x2400, 0x24ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_be_w) AM_SHARE("paletteram")/* palette */
AM_RANGE(0x2600, 0x2607) AM_DEVWRITE_LEGACY("k007342", k007342_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.c b/src/mame/drivers/bbusters.c
index 1e0efe53430..5f66b8ab800 100644
--- a/src/mame/drivers/bbusters.c
+++ b/src/mame/drivers/bbusters.c
@@ -335,7 +335,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_BASE(m_pf1_scroll_data)
AM_RANGE(0x0b8008, 0x0b800b) AM_WRITEONLY AM_BASE(m_pf2_scroll_data)
- AM_RANGE(0x0d0000, 0x0d0fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0d0000, 0x0d0fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
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 */
@@ -362,7 +362,7 @@ static ADDRESS_MAP_START( mechatt_map, AS_PROGRAM, 16, bbusters_state )
AM_RANGE(0x0b8000, 0x0b8003) AM_WRITEONLY AM_BASE(m_pf1_scroll_data)
AM_RANGE(0x0c0000, 0x0c3fff) AM_RAM_WRITE_LEGACY(bbusters_pf2_w) AM_BASE(m_pf2_data)
AM_RANGE(0x0c8000, 0x0c8003) AM_WRITEONLY AM_BASE(m_pf2_scroll_data)
- AM_RANGE(0x0d0000, 0x0d07ff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0d0000, 0x0d07ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
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/bestleag.c b/src/mame/drivers/bestleag.c
index d500642fe8c..d7864c9271a 100644
--- a/src/mame/drivers/bestleag.c
+++ b/src/mame/drivers/bestleag.c
@@ -234,7 +234,7 @@ static ADDRESS_MAP_START( bestleag_map, AS_PROGRAM, 16, bestleag_state )
AM_RANGE(0x0e8000, 0x0ebfff) AM_RAM_WRITE(bestleag_fgram_w) AM_BASE(m_fgram)
AM_RANGE(0x0f0000, 0x0f3fff) AM_RAM_WRITE(bestleag_txram_w) AM_BASE(m_txram)
AM_RANGE(0x0f8000, 0x0f800b) AM_RAM AM_BASE(m_vregs)
- AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x200000, 0x200fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x300010, 0x300011) AM_READ_PORT("SYSTEM")
AM_RANGE(0x300012, 0x300013) AM_READ_PORT("P1")
diff --git a/src/mame/drivers/bigstrkb.c b/src/mame/drivers/bigstrkb.c
index ae6afbd107c..14029de75ec 100644
--- a/src/mame/drivers/bigstrkb.c
+++ b/src/mame/drivers/bigstrkb.c
@@ -53,7 +53,7 @@ static ADDRESS_MAP_START( bigstrkb_map, AS_PROGRAM, 16, bigstrkb_state )
AM_RANGE(0x0ec000, 0x0effff) AM_RAM_WRITE_LEGACY(bsb_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0x0f0000, 0x0f7fff) AM_RAM
- AM_RANGE(0x0f8000, 0x0f87ff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0f8000, 0x0f87ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x0f8800, 0x0fffff) AM_RAM
AM_RANGE(0x1f0000, 0x1f7fff) AM_RAM
diff --git a/src/mame/drivers/bingor.c b/src/mame/drivers/bingor.c
index dc93b534500..50a77aaf9ec 100644
--- a/src/mame/drivers/bingor.c
+++ b/src/mame/drivers/bingor.c
@@ -511,7 +511,7 @@ READ16_MEMBER(bingor_state::test_r)
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_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBIIII_word_w) AM_BASE_GENERIC(paletteram) //wrong
+ AM_RANGE(0xa0300, 0xa031f) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBIIII_word_w) AM_SHARE("paletteram") //wrong
AM_RANGE(0xa0000, 0xaffff) AM_RAM AM_BASE(m_blit_ram)
AM_RANGE(0xe0000, 0xfffff) AM_ROM AM_REGION("boot_prg",0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/bishi.c b/src/mame/drivers/bishi.c
index 70f7a9c0586..50fe923fa5b 100644
--- a/src/mame/drivers/bishi.c
+++ b/src/mame/drivers/bishi.c
@@ -124,7 +124,7 @@ static TIMER_DEVICE_CALLBACK( bishi_scanline )
/* compensate for a bug in the ram/rom test */
READ16_MEMBER(bishi_state::bishi_mirror_r)
{
- return machine().generic.paletteram.u16[offset];
+ return m_generic_paletteram_16[offset];
}
READ16_MEMBER(bishi_state::bishi_K056832_rom_r)
@@ -156,7 +156,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, bishi_state )
AM_RANGE(0x870000, 0x8700ff) AM_DEVWRITE_LEGACY("k055555", k055555_word_w) // PCU2
AM_RANGE(0x880000, 0x880003) AM_DEVREADWRITE8_LEGACY("ymz", ymz280b_r, ymz280b_w, 0xff00)
AM_RANGE(0xa00000, 0xa01fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_word_r, k056832_ram_word_w) // Graphic planes
- AM_RANGE(0xb00000, 0xb03fff) AM_RAM_WRITE_LEGACY(paletteram16_xbgr_word_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xb00000, 0xb03fff) AM_RAM_WRITE(paletteram16_xbgr_word_be_w) AM_SHARE("paletteram")
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.c b/src/mame/drivers/blackt96.c
index d54c03705b6..acc778b1889 100644
--- a/src/mame/drivers/blackt96.c
+++ b/src/mame/drivers/blackt96.c
@@ -187,7 +187,7 @@ static ADDRESS_MAP_START( blackt96_map, AS_PROGRAM, 16, blackt96_state )
AM_RANGE(0x100000, 0x100fff) AM_RAM AM_BASE(m_tilemapram) // text tilemap
AM_RANGE(0x200000, 0x207fff) AM_RAM AM_BASE(m_tilemapram2)// sprite list + sprite tilemaps
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0xc00000, 0xc03fff) AM_RAM // main ram
ADDRESS_MAP_END
diff --git a/src/mame/drivers/blktiger.c b/src/mame/drivers/blktiger.c
index 965669c793e..7e0dc142463 100644
--- a/src/mame/drivers/blktiger.c
+++ b/src/mame/drivers/blktiger.c
@@ -72,8 +72,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_LEGACY(blktiger_bgvideoram_r, blktiger_bgvideoram_w)
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE_LEGACY(blktiger_txvideoram_w) AM_BASE(m_txvideoram)
- AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBRRRRGGGG_split1_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBRRRRGGGG_split2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split1_w) AM_SHARE("paletteram")
+ AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split2_w) AM_SHARE("paletteram2")
AM_RANGE(0xe000, 0xfdff) AM_RAM
AM_RANGE(0xfe00, 0xffff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/blockhl.c b/src/mame/drivers/blockhl.c
index 407a807873b..7675181be32 100644
--- a/src/mame/drivers/blockhl.c
+++ b/src/mame/drivers/blockhl.c
@@ -42,7 +42,7 @@ READ8_MEMBER(blockhl_state::bankedram_r)
{
if (m_palette_selected)
- return machine().generic.paletteram.u8[offset];
+ return m_generic_paletteram_8[offset];
else
return m_ram[offset];
}
diff --git a/src/mame/drivers/bloodbro.c b/src/mame/drivers/bloodbro.c
index 927e9ba9eb6..cd1de81e05c 100644
--- a/src/mame/drivers/bloodbro.c
+++ b/src/mame/drivers/bloodbro.c
@@ -125,7 +125,7 @@ static ADDRESS_MAP_START( bloodbro_map, AS_PROGRAM, 16, bloodbro_state )
AM_RANGE(0x08d400, 0x08d7ff) AM_RAM
AM_RANGE(0x08d800, 0x08dfff) AM_RAM_WRITE_LEGACY(bloodbro_txvideoram_w) AM_BASE(m_txvideoram)
AM_RANGE(0x08e000, 0x08e7ff) AM_RAM
- AM_RANGE(0x08e800, 0x08f7ff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x08e800, 0x08f7ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x08f800, 0x08ffff) AM_RAM
AM_RANGE(0x0a0000, 0x0a000d) AM_READWRITE_LEGACY(seibu_main_word_r, seibu_main_word_w)
AM_RANGE(0x0c0000, 0x0c007f) AM_RAM AM_BASE(m_scroll)
@@ -151,7 +151,7 @@ static ADDRESS_MAP_START( weststry_map, AS_PROGRAM, 16, bloodbro_state )
AM_RANGE(0x0c1002, 0x0c1003) AM_READ_PORT("IN0")
AM_RANGE(0x0c1004, 0x0c1005) AM_READ_PORT("IN1")
AM_RANGE(0x0c1000, 0x0c17ff) AM_RAM
- AM_RANGE(0x128000, 0x1287ff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x128000, 0x1287ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x120000, 0x128fff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/blstroid.c b/src/mame/drivers/blstroid.c
index e08ddd65e0f..5bd180c475a 100644
--- a/src/mame/drivers/blstroid.c
+++ b/src/mame/drivers/blstroid.c
@@ -106,7 +106,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, blstroid_state )
AM_RANGE(0xff9800, 0xff9801) AM_MIRROR(0x7f83f8) AM_READ_PORT("DIAL0")
AM_RANGE(0xff9804, 0xff9805) AM_MIRROR(0x7f83f8) AM_READ_PORT("DIAL1")
AM_RANGE(0xff9c00, 0xff9c03) AM_MIRROR(0x7f83fc) AM_READ_LEGACY(inputs_r)
- AM_RANGE(0xffa000, 0xffa3ff) AM_MIRROR(0x7f8c00) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xffa000, 0xffa3ff) AM_MIRROR(0x7f8c00) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0xffb000, 0xffb3ff) AM_MIRROR(0x7f8c00) AM_READWRITE_LEGACY(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
AM_RANGE(0xffc000, 0xffcfff) AM_MIRROR(0x7f8000) AM_RAM_WRITE_LEGACY(atarigen_playfield_w) AM_BASE(m_playfield)
AM_RANGE(0xffd000, 0xffdfff) AM_MIRROR(0x7f8000) AM_READWRITE_LEGACY(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
diff --git a/src/mame/drivers/bogeyman.c b/src/mame/drivers/bogeyman.c
index 1b3bf674534..8690b45b63f 100644
--- a/src/mame/drivers/bogeyman.c
+++ b/src/mame/drivers/bogeyman.c
@@ -52,7 +52,7 @@ static ADDRESS_MAP_START( bogeyman_map, AS_PROGRAM, 8, bogeyman_state )
AM_RANGE(0x2000, 0x20ff) AM_RAM_WRITE_LEGACY(bogeyman_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0x2100, 0x21ff) AM_RAM_WRITE_LEGACY(bogeyman_colorram_w) AM_BASE(m_colorram)
AM_RANGE(0x2800, 0x2bff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0x3000, 0x300f) AM_RAM_WRITE_LEGACY(bogeyman_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x3000, 0x300f) AM_RAM_WRITE_LEGACY(bogeyman_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x3800, 0x3800) AM_READ_PORT("P1") AM_WRITE(bogeyman_8910_control_w)
AM_RANGE(0x3801, 0x3801) AM_READ_PORT("P2") AM_WRITE(bogeyman_8910_latch_w)
AM_RANGE(0x3802, 0x3802) AM_READ_PORT("DSW1")
diff --git a/src/mame/drivers/bombjack.c b/src/mame/drivers/bombjack.c
index e5886c722ee..e5f8db072e3 100644
--- a/src/mame/drivers/bombjack.c
+++ b/src/mame/drivers/bombjack.c
@@ -142,7 +142,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, bombjack_state )
AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE_LEGACY(bombjack_colorram_w) AM_BASE(m_colorram)
AM_RANGE(0x9820, 0x987f) AM_WRITEONLY AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x9a00, 0x9a00) AM_WRITENOP
- AM_RANGE(0x9c00, 0x9cff) AM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x9c00, 0x9cff) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_SHARE("paletteram")
AM_RANGE(0x9e00, 0x9e00) AM_WRITE_LEGACY(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/boogwing.c b/src/mame/drivers/boogwing.c
index ae3a5f2c320..8b46a693d6e 100644
--- a/src/mame/drivers/boogwing.c
+++ b/src/mame/drivers/boogwing.c
@@ -122,7 +122,7 @@ static ADDRESS_MAP_START( boogwing_map, AS_PROGRAM, 16, boogwing_state )
AM_RANGE(0x280000, 0x28000f) AM_NOP // ?
AM_RANGE(0x282000, 0x282001) AM_NOP // Palette setup?
AM_RANGE(0x282008, 0x282009) AM_DEVWRITE_LEGACY("deco_common", decocomn_palette_dma_w)
- AM_RANGE(0x284000, 0x285fff) AM_DEVWRITE_LEGACY("deco_common", decocomn_buffered_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x284000, 0x285fff) AM_DEVWRITE_LEGACY("deco_common", decocomn_buffered_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x3c0000, 0x3c004f) AM_RAM // ?
ADDRESS_MAP_END
diff --git a/src/mame/drivers/bottom9.c b/src/mame/drivers/bottom9.c
index 4a1275994b4..6307570b8b9 100644
--- a/src/mame/drivers/bottom9.c
+++ b/src/mame/drivers/bottom9.c
@@ -84,7 +84,7 @@ READ8_MEMBER(bottom9_state::bottom9_bankedram2_r)
if (m_k052109_selected)
return k052109_051960_r(space, offset + 0x2000);
else
- return machine().generic.paletteram.u8[offset];
+ return m_generic_paletteram_8[offset];
}
WRITE8_MEMBER(bottom9_state::bottom9_bankedram2_w)
@@ -177,7 +177,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, bottom9_state )
AM_RANGE(0x1fd3, 0x1fd3) AM_READ_PORT("DSW1")
AM_RANGE(0x1fe0, 0x1fe0) AM_READ_PORT("DSW2")
AM_RANGE(0x1ff0, 0x1fff) AM_DEVWRITE_LEGACY("k051316", k051316_ctrl_w)
- AM_RANGE(0x2000, 0x27ff) AM_READWRITE(bottom9_bankedram2_r, bottom9_bankedram2_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x2000, 0x27ff) AM_READWRITE(bottom9_bankedram2_r, bottom9_bankedram2_w) AM_SHARE("paletteram")
AM_RANGE(0x0000, 0x3fff) AM_READWRITE(k052109_051960_r, k052109_051960_w)
AM_RANGE(0x4000, 0x5fff) AM_RAM
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("bank1")
diff --git a/src/mame/drivers/btime.c b/src/mame/drivers/btime.c
index ee7dbc9f2f8..c0bdba8e233 100644
--- a/src/mame/drivers/btime.c
+++ b/src/mame/drivers/btime.c
@@ -352,7 +352,7 @@ static ADDRESS_MAP_START( btime_map, AS_PROGRAM, 8, btime_state )
AM_RANGE(0x0000, 0xffff) AM_WRITE(btime_w) /* override the following entries to */
/* support ROM decryption */
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE(m_rambase)
- AM_RANGE(0x0c00, 0x0c0f) AM_WRITE_LEGACY(btime_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0c00, 0x0c0f) AM_WRITE_LEGACY(btime_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x1000, 0x13ff) AM_RAM AM_BASE_SIZE(m_videoram, m_videoram_size)
AM_RANGE(0x1400, 0x17ff) AM_RAM AM_BASE(m_colorram)
AM_RANGE(0x1800, 0x1bff) AM_READWRITE_LEGACY(btime_mirrorvideoram_r, btime_mirrorvideoram_w)
@@ -389,7 +389,7 @@ static ADDRESS_MAP_START( tisland_map, AS_PROGRAM, 8, btime_state )
AM_RANGE(0x0000, 0xffff) AM_WRITE(tisland_w) /* override the following entries to */
/* support ROM decryption */
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE(m_rambase)
- AM_RANGE(0x0c00, 0x0c0f) AM_WRITE_LEGACY(btime_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0c00, 0x0c0f) AM_WRITE_LEGACY(btime_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x1000, 0x13ff) AM_RAM AM_BASE_SIZE(m_videoram, m_videoram_size)
AM_RANGE(0x1400, 0x17ff) AM_RAM AM_BASE(m_colorram)
AM_RANGE(0x1800, 0x1bff) AM_READWRITE_LEGACY(btime_mirrorvideoram_r, btime_mirrorvideoram_w)
@@ -471,7 +471,7 @@ static ADDRESS_MAP_START( bnj_map, AS_PROGRAM, 8, btime_state )
AM_RANGE(0x5000, 0x51ff) AM_WRITE_LEGACY(bnj_background_w) AM_BASE_SIZE(m_bnj_backgroundram, m_bnj_backgroundram_size)
AM_RANGE(0x5400, 0x5400) AM_WRITE_LEGACY(bnj_scroll1_w)
AM_RANGE(0x5800, 0x5800) AM_WRITE_LEGACY(bnj_scroll2_w)
- AM_RANGE(0x5c00, 0x5c0f) AM_WRITE_LEGACY(btime_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x5c00, 0x5c0f) AM_WRITE_LEGACY(btime_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0xa000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/bublbobl.c b/src/mame/drivers/bublbobl.c
index b5b707d52d0..62e3a89a073 100644
--- a/src/mame/drivers/bublbobl.c
+++ b/src/mame/drivers/bublbobl.c
@@ -290,7 +290,7 @@ static ADDRESS_MAP_START( master_map, AS_PROGRAM, 8, bublbobl_state )
AM_RANGE(0xc000, 0xdcff) AM_RAM AM_BASE_SIZE(m_videoram, m_videoram_size)
AM_RANGE(0xdd00, 0xdfff) AM_RAM AM_BASE_SIZE(m_objectram, m_objectram_size)
AM_RANGE(0xe000, 0xf7ff) AM_RAM AM_SHARE("share1")
- AM_RANGE(0xf800, 0xf9ff) AM_RAM_WRITE_LEGACY(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf800, 0xf9ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_SHARE("paletteram")
AM_RANGE(0xfa00, 0xfa00) AM_READWRITE_LEGACY(bublbobl_sound_status_r, bublbobl_sound_command_w)
AM_RANGE(0xfa03, 0xfa03) AM_WRITE_LEGACY(bublbobl_soundcpu_reset_w)
AM_RANGE(0xfa80, 0xfa80) AM_WRITE_LEGACY(watchdog_reset_w)
@@ -346,7 +346,7 @@ static ADDRESS_MAP_START( bootleg_map, AS_PROGRAM, 8, bublbobl_state )
AM_RANGE(0xc000, 0xdcff) AM_RAM AM_BASE_SIZE(m_videoram, m_videoram_size)
AM_RANGE(0xdd00, 0xdfff) AM_RAM AM_BASE_SIZE(m_objectram, m_objectram_size)
AM_RANGE(0xe000, 0xf7ff) AM_RAM AM_SHARE("share1")
- AM_RANGE(0xf800, 0xf9ff) AM_RAM_WRITE_LEGACY(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf800, 0xf9ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_SHARE("paletteram")
AM_RANGE(0xfa00, 0xfa00) AM_READWRITE_LEGACY(bublbobl_sound_status_r, bublbobl_sound_command_w)
AM_RANGE(0xfa03, 0xfa03) AM_WRITE_LEGACY(bublbobl_soundcpu_reset_w)
AM_RANGE(0xfa80, 0xfa80) AM_WRITENOP // ???
@@ -370,7 +370,7 @@ static ADDRESS_MAP_START( tokio_map, AS_PROGRAM, 8, bublbobl_state )
AM_RANGE(0xc000, 0xdcff) AM_RAM AM_BASE_SIZE(m_videoram, m_videoram_size)
AM_RANGE(0xdd00, 0xdfff) AM_RAM AM_BASE_SIZE(m_objectram, m_objectram_size)
AM_RANGE(0xe000, 0xf7ff) AM_RAM AM_SHARE("share1")
- AM_RANGE(0xf800, 0xf9ff) AM_RAM_WRITE_LEGACY(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf800, 0xf9ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_SHARE("paletteram")
AM_RANGE(0xfa00, 0xfa00) AM_WRITE_LEGACY(watchdog_reset_w)
AM_RANGE(0xfa03, 0xfa03) AM_READ_PORT("DSW0")
AM_RANGE(0xfa04, 0xfa04) AM_READ_PORT("DSW1")
diff --git a/src/mame/drivers/buggychl.c b/src/mame/drivers/buggychl.c
index 259f78252d4..7634ad26add 100644
--- a/src/mame/drivers/buggychl.c
+++ b/src/mame/drivers/buggychl.c
@@ -154,7 +154,7 @@ static ADDRESS_MAP_START( buggychl_map, AS_PROGRAM, 8, buggychl_state )
// AM_RANGE(0xd60b, 0xd60b) // other inputs, not used?
AM_RANGE(0xd610, 0xd610) AM_WRITE(sound_command_w)
AM_RANGE(0xd618, 0xd618) AM_WRITENOP /* accelerator clear */
- AM_RANGE(0xd700, 0xd7ff) AM_WRITE_LEGACY(paletteram_xxxxRRRRGGGGBBBB_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xd700, 0xd7ff) AM_WRITE(paletteram_xxxxRRRRGGGGBBBB_be_w) AM_SHARE("paletteram")
AM_RANGE(0xd840, 0xd85f) AM_WRITEONLY AM_BASE(m_scrollv)
AM_RANGE(0xdb00, 0xdbff) AM_WRITEONLY AM_BASE(m_scrollh)
AM_RANGE(0xdc04, 0xdc04) AM_WRITEONLY /* should be fg scroll */
diff --git a/src/mame/drivers/cabal.c b/src/mame/drivers/cabal.c
index 1e609d6a2b6..472ff890e20 100644
--- a/src/mame/drivers/cabal.c
+++ b/src/mame/drivers/cabal.c
@@ -130,7 +130,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, cabal_state )
AM_RANGE(0xc0000, 0xc0001) AM_WRITE(track_reset_w)
AM_RANGE(0xc0040, 0xc0041) AM_WRITENOP /* ??? */
AM_RANGE(0xc0080, 0xc0081) AM_WRITE_LEGACY(cabal_flipscreen_w)
- AM_RANGE(0xe0000, 0xe07ff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xe0000, 0xe07ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0xe8008, 0xe8009) AM_WRITE(cabal_sound_irq_trigger_word_w) // fix coin insertion
AM_RANGE(0xe8000, 0xe800d) AM_READWRITE_LEGACY(seibu_main_word_r, seibu_main_word_w)
ADDRESS_MAP_END
@@ -148,7 +148,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_LEGACY(cabal_flipscreen_w)
- AM_RANGE(0xe0000, 0xe07ff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xe0000, 0xe07ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0xe8000, 0xe8003) AM_WRITE(cabalbl_sndcmd_w)
AM_RANGE(0xe8004, 0xe8005) AM_READ_LEGACY(soundlatch2_word_r)
AM_RANGE(0xe8008, 0xe8009) AM_WRITE(cabalbl_sound_irq_trigger_word_w)
diff --git a/src/mame/drivers/cabaret.c b/src/mame/drivers/cabaret.c
index dc656915c03..3b95a0e1a70 100644
--- a/src/mame/drivers/cabaret.c
+++ b/src/mame/drivers/cabaret.c
@@ -177,8 +177,8 @@ static ADDRESS_MAP_START( cabaret_portmap, AS_IO, 8, cabaret_state )
AM_RANGE( 0x2000, 0x27ff ) AM_RAM_WRITE(fg_tile_w ) AM_BASE(m_fg_tile_ram )
AM_RANGE( 0x2800, 0x2fff ) AM_RAM_WRITE(fg_color_w ) AM_BASE(m_fg_color_ram )
- AM_RANGE( 0x3000, 0x37ff ) AM_RAM_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_BASE_GENERIC( paletteram )
- AM_RANGE( 0x3800, 0x3fff ) AM_RAM_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_BASE_GENERIC( paletteram2 )
+ AM_RANGE( 0x3000, 0x37ff ) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_SHARE("paletteram")
+ AM_RANGE( 0x3800, 0x3fff ) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_SHARE("paletteram2")
AM_RANGE( 0x1000, 0x103f ) AM_RAM_WRITE(bg_scroll_w ) AM_BASE(m_bg_scroll )
diff --git a/src/mame/drivers/calorie.c b/src/mame/drivers/calorie.c
index 0cceb7142a5..50ddacf4f40 100644
--- a/src/mame/drivers/calorie.c
+++ b/src/mame/drivers/calorie.c
@@ -246,7 +246,7 @@ static ADDRESS_MAP_START( calorie_map, AS_PROGRAM, 8, calorie_state )
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(fg_ram_w) AM_BASE(m_fg_ram)
AM_RANGE(0xd800, 0xdbff) AM_RAM AM_BASE(m_sprites)
- AM_RANGE(0xdc00, 0xdcff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xdc00, 0xdcff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_SHARE("paletteram")
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.c b/src/mame/drivers/cbasebal.c
index 6baa5ea4742..b0e3c0d99a6 100644
--- a/src/mame/drivers/cbasebal.c
+++ b/src/mame/drivers/cbasebal.c
@@ -50,7 +50,7 @@ READ8_MEMBER(cbasebal_state::bankedram_r)
return cbasebal_textram_r(&space, offset); /* VRAM */
case 1:
if (offset < 0x800)
- return machine().generic.paletteram.u8[offset];
+ return m_generic_paletteram_8[offset];
else
return 0;
break;
@@ -111,7 +111,7 @@ static const eeprom_interface cbasebal_eeprom_intf =
static ADDRESS_MAP_START( cbasebal_map, AS_PROGRAM, 8, cbasebal_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
- AM_RANGE(0xc000, 0xcfff) AM_READWRITE(bankedram_r, bankedram_w) AM_BASE_GENERIC(paletteram) /* palette + vram + scrollram */
+ AM_RANGE(0xc000, 0xcfff) AM_READWRITE(bankedram_r, bankedram_w) AM_SHARE("paletteram") /* palette + vram + scrollram */
AM_RANGE(0xe000, 0xfdff) AM_RAM /* work RAM */
AM_RANGE(0xfe00, 0xffff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cbuster.c b/src/mame/drivers/cbuster.c
index 469fa0fd707..9962b3a6007 100644
--- a/src/mame/drivers/cbuster.c
+++ b/src/mame/drivers/cbuster.c
@@ -120,8 +120,8 @@ static ADDRESS_MAP_START( twocrude_map, AS_PROGRAM, 16, cbuster_state )
AM_RANGE(0x0b4000, 0x0b4001) AM_WRITENOP
AM_RANGE(0x0b5000, 0x0b500f) AM_DEVWRITE_LEGACY("tilegen1", deco16ic_pf_control_w)
AM_RANGE(0x0b6000, 0x0b600f) AM_DEVWRITE_LEGACY("tilegen2", deco16ic_pf_control_w)
- AM_RANGE(0x0b8000, 0x0b8fff) AM_RAM_WRITE_LEGACY(twocrude_palette_24bit_rg_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0x0b9000, 0x0b9fff) AM_RAM_WRITE_LEGACY(twocrude_palette_24bit_b_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0x0b8000, 0x0b8fff) AM_RAM_WRITE_LEGACY(twocrude_palette_24bit_rg_w) AM_SHARE("paletteram")
+ AM_RANGE(0x0b9000, 0x0b9fff) AM_RAM_WRITE_LEGACY(twocrude_palette_24bit_b_w) AM_SHARE("paletteram2")
AM_RANGE(0x0bc000, 0x0bc00f) AM_READWRITE(twocrude_control_r, twocrude_control_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/centiped.c b/src/mame/drivers/centiped.c
index 29d943a5ad5..2f82b67100d 100644
--- a/src/mame/drivers/centiped.c
+++ b/src/mame/drivers/centiped.c
@@ -693,7 +693,7 @@ static ADDRESS_MAP_START( centiped_map, AS_PROGRAM, 8, centiped_state )
AM_RANGE(0x0c02, 0x0c02) AM_READ(centiped_IN2_r) /* IN2 */
AM_RANGE(0x0c03, 0x0c03) AM_READ_PORT("IN3") /* IN3 */
AM_RANGE(0x1000, 0x100f) AM_DEVREADWRITE_LEGACY("pokey", pokey_r, pokey_w)
- AM_RANGE(0x1400, 0x140f) AM_WRITE_LEGACY(centiped_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1400, 0x140f) AM_WRITE_LEGACY(centiped_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x1600, 0x163f) AM_DEVWRITE("earom",atari_vg_earom_device, write)
AM_RANGE(0x1680, 0x1680) AM_DEVWRITE("earom", atari_vg_earom_device, ctrl_w)
AM_RANGE(0x1700, 0x173f) AM_DEVREAD("earom", atari_vg_earom_device, read)
@@ -719,7 +719,7 @@ static ADDRESS_MAP_START( centipdb_map, AS_PROGRAM, 8, centiped_state )
AM_RANGE(0x0c03, 0x0c03) AM_MIRROR(0x4000) AM_READ_PORT("IN3") /* IN3 */
AM_RANGE(0x1000, 0x1001) AM_MIRROR(0x4000) AM_DEVWRITE_LEGACY("pokey", ay8910_data_address_w)
AM_RANGE(0x1001, 0x1001) AM_MIRROR(0x4000) AM_DEVREAD_LEGACY("pokey", ay8910_r)
- AM_RANGE(0x1400, 0x140f) AM_MIRROR(0x4000) AM_WRITE_LEGACY(centiped_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1400, 0x140f) AM_MIRROR(0x4000) AM_WRITE_LEGACY(centiped_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x1600, 0x163f) AM_MIRROR(0x4000) AM_DEVWRITE("earom", atari_vg_earom_device, write)
AM_RANGE(0x1680, 0x1680) AM_MIRROR(0x4000) AM_DEVWRITE("earom", atari_vg_earom_device, ctrl_w)
AM_RANGE(0x1700, 0x173f) AM_MIRROR(0x4000) AM_DEVREAD("earom", atari_vg_earom_device, read)
@@ -752,7 +752,7 @@ static ADDRESS_MAP_START( milliped_map, AS_PROGRAM, 8, centiped_state )
AM_RANGE(0x2010, 0x2010) AM_READ(milliped_IN2_r)
AM_RANGE(0x2011, 0x2011) AM_READ_PORT("IN3")
AM_RANGE(0x2030, 0x2030) AM_DEVREAD("earom", atari_vg_earom_device, read)
- AM_RANGE(0x2480, 0x249f) AM_WRITE_LEGACY(milliped_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x2480, 0x249f) AM_WRITE_LEGACY(milliped_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x2500, 0x2502) AM_WRITE(coin_count_w)
AM_RANGE(0x2503, 0x2504) AM_WRITE(led_w)
AM_RANGE(0x2505, 0x2505) AM_WRITE(input_select_w) /* TBEN */
@@ -811,7 +811,7 @@ static ADDRESS_MAP_START( mazeinv_map, AS_PROGRAM, 8, centiped_state )
AM_RANGE(0x2011, 0x2011) AM_READ_PORT("IN3")
AM_RANGE(0x2020, 0x2020) AM_READ(mazeinv_input_r)
AM_RANGE(0x2030, 0x2030) AM_DEVREAD("earom", atari_vg_earom_device, read)
- AM_RANGE(0x2480, 0x249f) AM_WRITE_LEGACY(mazeinv_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x2480, 0x249f) AM_WRITE_LEGACY(mazeinv_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x2500, 0x2502) AM_WRITE(coin_count_w)
AM_RANGE(0x2503, 0x2504) AM_WRITE(led_w)
AM_RANGE(0x2505, 0x2505) AM_WRITE(input_select_w)
@@ -841,7 +841,7 @@ static ADDRESS_MAP_START( bullsdrt_map, AS_PROGRAM, 8, centiped_state )
AM_RANGE(0x1200, 0x123f) AM_MIRROR(0x6000) AM_DEVREADWRITE("earom",atari_vg_earom_device, read, write)
AM_RANGE(0x1280, 0x1280) AM_MIRROR(0x6000) AM_DEVWRITE("earom", atari_vg_earom_device, ctrl_w)
AM_RANGE(0x1300, 0x1300) AM_MIRROR(0x6000) AM_READ_PORT("DSW2")
- AM_RANGE(0x1400, 0x140f) AM_MIRROR(0x6000) AM_WRITE_LEGACY(centiped_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1400, 0x140f) AM_MIRROR(0x6000) AM_WRITE_LEGACY(centiped_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x1481, 0x1481) AM_MIRROR(0x6000) AM_WRITE(bullsdrt_coin_count_w)
AM_RANGE(0x1483, 0x1484) AM_MIRROR(0x6000) AM_WRITE(led_w)
AM_RANGE(0x1487, 0x1487) AM_MIRROR(0x6000) AM_WRITE_LEGACY(centiped_flip_screen_w)
diff --git a/src/mame/drivers/chinagat.c b/src/mame/drivers/chinagat.c
index d2cc91fabf5..99cae53ddd8 100644
--- a/src/mame/drivers/chinagat.c
+++ b/src/mame/drivers/chinagat.c
@@ -309,8 +309,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, ddragon_state )
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE_LEGACY(ddragon_fgvideoram_w) AM_BASE(m_fgvideoram)
AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE_LEGACY(ddragon_bgvideoram_w) AM_BASE(m_bgvideoram)
- AM_RANGE(0x3000, 0x317f) AM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0x3400, 0x357f) AM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0x3000, 0x317f) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("paletteram")
+ AM_RANGE(0x3400, 0x357f) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("paletteram2")
AM_RANGE(0x3800, 0x397f) AM_WRITE_BANK("bank3") AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x3e00, 0x3e04) AM_WRITE_LEGACY(chinagat_interrupt_w)
AM_RANGE(0x3e06, 0x3e06) AM_WRITEONLY AM_BASE(m_scrolly_lo)
diff --git a/src/mame/drivers/chqflag.c b/src/mame/drivers/chqflag.c
index c5374dbb86c..a16b99eb74b 100644
--- a/src/mame/drivers/chqflag.c
+++ b/src/mame/drivers/chqflag.c
@@ -51,7 +51,7 @@ WRITE8_MEMBER(chqflag_state::chqflag_bankswitch_w)
{
space.install_read_bank(0x1800, 0x1fff, "bank5");
space.install_write_handler(0x1800, 0x1fff, write8_delegate(FUNC(driver_device::paletteram_xBBBBBGGGGGRRRRR_be_w),this));
- memory_set_bankptr(machine(), "bank5", machine().generic.paletteram.v);
+ memory_set_bankptr(machine(), "bank5", m_generic_paletteram_8);
if (m_k051316_readroms)
space.install_legacy_readwrite_handler(*m_k051316_1, 0x1000, 0x17ff, FUNC(k051316_rom_r), FUNC(k051316_w)); /* 051316 #1 (ROM test) */
diff --git a/src/mame/drivers/cischeat.c b/src/mame/drivers/cischeat.c
index acb3e63c06b..e30ddb86a04 100644
--- a/src/mame/drivers/cischeat.c
+++ b/src/mame/drivers/cischeat.c
@@ -192,7 +192,7 @@ Cisco Heat.
WRITE16_MEMBER(cischeat_state::bigrun_paletteram16_w)
{
- UINT16 word = COMBINE_DATA(&machine().generic.paletteram.u16[offset]);
+ UINT16 word = COMBINE_DATA(&m_generic_paletteram_16[offset]);
int r = pal5bit(((word >> 11) & 0x1E ) | ((word >> 3) & 0x01));
int g = pal5bit(((word >> 7 ) & 0x1E ) | ((word >> 2) & 0x01));
int b = pal5bit(((word >> 3 ) & 0x1E ) | ((word >> 1) & 0x01));
@@ -224,7 +224,7 @@ static ADDRESS_MAP_START( bigrun_map, AS_PROGRAM, 16, cischeat_state )
AM_RANGE(0x094000, 0x097fff) AM_WRITE_LEGACY(cischeat_scrollram_1_w) AM_BASE(m_scrollram[1]) // Scroll ram 1
AM_RANGE(0x098000, 0x09bfff) AM_WRITE_LEGACY(cischeat_scrollram_2_w) AM_BASE(m_scrollram[2]) // Scroll ram 2
- AM_RANGE(0x09c000, 0x09ffff) AM_WRITE(bigrun_paletteram16_w) AM_BASE_GENERIC(paletteram) // Palettes
+ AM_RANGE(0x09c000, 0x09ffff) AM_WRITE(bigrun_paletteram16_w) AM_SHARE("paletteram") // Palettes
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_BASE(m_ram) // RAM
AM_RANGE(0x100000, 0x13ffff) AM_ROM AM_REGION("user1",0) // ROM
ADDRESS_MAP_END
@@ -245,7 +245,7 @@ ADDRESS_MAP_END
WRITE16_MEMBER(cischeat_state::cischeat_paletteram16_w)
{
- UINT16 word = COMBINE_DATA(&machine().generic.paletteram.u16[offset]);
+ UINT16 word = COMBINE_DATA(&m_generic_paletteram_16[offset]);
int r = pal5bit(((word >> 11) & 0x1E ) | ((word >> 3) & 0x01));
int g = pal5bit(((word >> 7 ) & 0x1E ) | ((word >> 2) & 0x01));
int b = pal5bit(((word >> 3 ) & 0x1E ) | ((word >> 1) & 0x01));
@@ -284,7 +284,7 @@ static ADDRESS_MAP_START( cischeat_map, AS_PROGRAM, 16, cischeat_state )
AM_RANGE(0x0a8000, 0x0affff) AM_RAM_WRITE_LEGACY(cischeat_scrollram_1_w) AM_BASE(m_scrollram[1]) // Scroll ram 1
AM_RANGE(0x0b0000, 0x0b7fff) AM_RAM_WRITE_LEGACY(cischeat_scrollram_2_w) AM_BASE(m_scrollram[2]) // Scroll ram 2
- AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_WRITE(cischeat_paletteram16_w) AM_BASE_GENERIC(paletteram) // Palettes
+ AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_WRITE(cischeat_paletteram16_w) AM_SHARE("paletteram") // Palettes
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_BASE(m_ram) // RAM
AM_RANGE(0x100000, 0x17ffff) AM_ROM AM_REGION("user1",0) // ROM
@@ -297,7 +297,7 @@ ADDRESS_MAP_END
WRITE16_MEMBER(cischeat_state::f1gpstar_paletteram16_w)
{
- UINT16 word = COMBINE_DATA(&machine().generic.paletteram.u16[offset]);
+ UINT16 word = COMBINE_DATA(&m_generic_paletteram_16[offset]);
int r = pal5bit(((word >> 11) & 0x1E ) | ((word >> 3) & 0x01));
int g = pal5bit(((word >> 7 ) & 0x1E ) | ((word >> 2) & 0x01));
int b = pal5bit(((word >> 3 ) & 0x1E ) | ((word >> 1) & 0x01));
@@ -338,7 +338,7 @@ static ADDRESS_MAP_START( f1gpstar_map, AS_PROGRAM, 16, cischeat_state )
AM_RANGE(0x0a8000, 0x0affff) AM_RAM_WRITE_LEGACY(cischeat_scrollram_1_w) AM_BASE(m_scrollram[1]) // Scroll ram 1
AM_RANGE(0x0b0000, 0x0b7fff) AM_RAM_WRITE_LEGACY(cischeat_scrollram_2_w) AM_BASE(m_scrollram[2]) // Scroll ram 2
- AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_WRITE(f1gpstar_paletteram16_w) AM_BASE_GENERIC(paletteram) // Palettes
+ AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_WRITE(f1gpstar_paletteram16_w) AM_SHARE("paletteram") // Palettes
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_BASE(m_ram) // RAM
AM_RANGE(0x100000, 0x17ffff) AM_ROM AM_REGION("user1",0) // ROM
@@ -364,7 +364,7 @@ static ADDRESS_MAP_START( f1gpstr2_map, AS_PROGRAM, 16, cischeat_state )
AM_RANGE(0x0a8000, 0x0affff) AM_RAM_WRITE_LEGACY(cischeat_scrollram_1_w) AM_BASE(m_scrollram[1]) // Scroll ram 1
AM_RANGE(0x0b0000, 0x0b7fff) AM_RAM_WRITE_LEGACY(cischeat_scrollram_2_w) AM_BASE(m_scrollram[2]) // Scroll ram 2
- AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_WRITE(f1gpstar_paletteram16_w) AM_BASE_GENERIC(paletteram) // Palettes
+ AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_WRITE(f1gpstar_paletteram16_w) AM_SHARE("paletteram") // Palettes
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_BASE(m_ram) // RAM
AM_RANGE(0x100000, 0x17ffff) AM_ROM AM_REGION("user1",0) // ROM
@@ -377,7 +377,7 @@ ADDRESS_MAP_END
WRITE16_MEMBER(cischeat_state::scudhamm_paletteram16_w)
{
- int newword = COMBINE_DATA(&machine().generic.paletteram.u16[offset]);
+ int newword = COMBINE_DATA(&m_generic_paletteram_16[offset]);
int r = pal5bit(((newword >> 11) & 0x1E ) | ((newword >> 3) & 0x01));
int g = pal5bit(((newword >> 7 ) & 0x1E ) | ((newword >> 2) & 0x01));
@@ -497,7 +497,7 @@ static ADDRESS_MAP_START( scudhamm_map, AS_PROGRAM, 16, cischeat_state )
AM_RANGE(0x082000, 0x082fff) AM_RAM_WRITE_LEGACY(scudhamm_vregs_w) AM_BASE(m_vregs) // Video Registers + RAM
AM_RANGE(0x0a0000, 0x0a3fff) AM_RAM_WRITE_LEGACY(cischeat_scrollram_0_w) AM_BASE(m_scrollram[0]) // Scroll RAM 0
AM_RANGE(0x0b0000, 0x0b3fff) AM_RAM_WRITE_LEGACY(cischeat_scrollram_2_w) AM_BASE(m_scrollram[2]) // Scroll RAM 2
- AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_WRITE(scudhamm_paletteram16_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_WRITE(scudhamm_paletteram16_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_BASE(m_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
@@ -578,7 +578,7 @@ static ADDRESS_MAP_START( armchmp2_map, AS_PROGRAM, 16, cischeat_state )
AM_RANGE(0x082000, 0x082fff) AM_RAM_WRITE_LEGACY(scudhamm_vregs_w) AM_BASE(m_vregs) // Video Registers + RAM
AM_RANGE(0x0a0000, 0x0a3fff) AM_RAM_WRITE_LEGACY(cischeat_scrollram_0_w) AM_BASE(m_scrollram[0]) // Scroll RAM 0
AM_RANGE(0x0b0000, 0x0b3fff) AM_RAM_WRITE_LEGACY(cischeat_scrollram_2_w) AM_BASE(m_scrollram[2]) // Scroll RAM 2
- AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_WRITE(scudhamm_paletteram16_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_WRITE(scudhamm_paletteram16_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_BASE(m_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
diff --git a/src/mame/drivers/citycon.c b/src/mame/drivers/citycon.c
index 31a165a8335..723477bcf3e 100644
--- a/src/mame/drivers/citycon.c
+++ b/src/mame/drivers/citycon.c
@@ -37,7 +37,7 @@ static ADDRESS_MAP_START( citycon_map, AS_PROGRAM, 8, citycon_state )
AM_RANGE(0x3002, 0x3002) AM_READ_PORT("DSW2") AM_WRITE_LEGACY(soundlatch2_w)
AM_RANGE(0x3004, 0x3005) AM_READNOP AM_WRITEONLY AM_BASE(m_scroll)
AM_RANGE(0x3007, 0x3007) AM_READ(citycon_irq_ack_r)
- AM_RANGE(0x3800, 0x3cff) AM_RAM_WRITE_LEGACY(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x3800, 0x3cff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_SHARE("paletteram")
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cmmb.c b/src/mame/drivers/cmmb.c
index 3f801e278e2..7529a59938a 100644
--- a/src/mame/drivers/cmmb.c
+++ b/src/mame/drivers/cmmb.c
@@ -177,7 +177,7 @@ static ADDRESS_MAP_START( cmmb_map, AS_PROGRAM, 8, cmmb_state )
AM_RANGE(0x0000, 0x01ff) AM_RAM /* zero page address */
// AM_RANGE(0x13c0, 0x13ff) AM_RAM //spriteram
AM_RANGE(0x1000, 0x13ff) AM_RAM AM_BASE(m_videoram)
- AM_RANGE(0x2480, 0x249f) AM_RAM_WRITE(cmmb_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x2480, 0x249f) AM_RAM_WRITE(cmmb_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x4000, 0x400f) AM_READWRITE(cmmb_input_r,cmmb_output_w) //i/o
AM_RANGE(0x4900, 0x4900) AM_READ(kludge_r)
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
diff --git a/src/mame/drivers/cninja.c b/src/mame/drivers/cninja.c
index c15e3c38c38..5a8bc4e0d67 100644
--- a/src/mame/drivers/cninja.c
+++ b/src/mame/drivers/cninja.c
@@ -177,7 +177,7 @@ static ADDRESS_MAP_START( cninja_map, AS_PROGRAM, 16, cninja_state )
AM_RANGE(0x184000, 0x187fff) AM_RAM AM_BASE(m_ram)
AM_RANGE(0x190000, 0x190007) AM_READWRITE(cninja_irq_r, cninja_irq_w)
- AM_RANGE(0x19c000, 0x19dfff) AM_RAM_DEVWRITE_LEGACY("deco_common", decocomn_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x19c000, 0x19dfff) AM_RAM_DEVWRITE_LEGACY("deco_common", decocomn_nonbuffered_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x1a4000, 0x1a47ff) AM_RAM AM_SHARE("spriteram") /* Sprites */
AM_RANGE(0x1b4000, 0x1b4001) AM_DEVWRITE("spriteram", buffered_spriteram16_device, write) /* DMA flag */
@@ -212,7 +212,7 @@ static ADDRESS_MAP_START( cninjabl_map, AS_PROGRAM, 16, cninja_state )
AM_RANGE(0x180000, 0x187fff) AM_RAM // more ram on bootleg?
AM_RANGE(0x190000, 0x190007) AM_READWRITE(cninja_irq_r, cninja_irq_w)
- AM_RANGE(0x19c000, 0x19dfff) AM_RAM_DEVWRITE_LEGACY("deco_common", decocomn_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x19c000, 0x19dfff) AM_RAM_DEVWRITE_LEGACY("deco_common", decocomn_nonbuffered_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x1b4000, 0x1b4001) AM_DEVWRITE("spriteram", buffered_spriteram16_device, write) /* DMA flag */
ADDRESS_MAP_END
@@ -232,7 +232,7 @@ static ADDRESS_MAP_START( edrandy_map, AS_PROGRAM, 16, cninja_state )
AM_RANGE(0x15c000, 0x15c7ff) AM_RAM AM_BASE(m_pf3_rowscroll)
AM_RANGE(0x15e000, 0x15e7ff) AM_RAM AM_BASE(m_pf4_rowscroll)
- AM_RANGE(0x188000, 0x189fff) AM_RAM_DEVWRITE_LEGACY("deco_common", decocomn_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x188000, 0x189fff) AM_RAM_DEVWRITE_LEGACY("deco_common", decocomn_nonbuffered_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x194000, 0x197fff) AM_RAM AM_BASE(m_ram) /* Main ram */
AM_RANGE(0x198000, 0x1987ff) AM_READWRITE_LEGACY(deco16_60_prot_r, deco16_60_prot_w) AM_BASE_LEGACY(&deco16_prot_ram) /* Protection device */
AM_RANGE(0x199550, 0x199551) AM_WRITENOP /* Looks like a bug in game code, a protection write is referenced off a5 instead of a6 and ends up here */
@@ -265,7 +265,7 @@ static ADDRESS_MAP_START( robocop2_map, AS_PROGRAM, 16, cninja_state )
AM_RANGE(0x18c000, 0x18c7ff) AM_READ(robocop2_prot_r) /* Protection device */
AM_RANGE(0x18c064, 0x18c065) AM_WRITE(cninja_sound_w)
AM_RANGE(0x198000, 0x198001) AM_DEVWRITE("spriteram", buffered_spriteram16_device, write) /* DMA flag */
- AM_RANGE(0x1a8000, 0x1a9fff) AM_RAM_DEVWRITE_LEGACY("deco_common", decocomn_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1a8000, 0x1a9fff) AM_RAM_DEVWRITE_LEGACY("deco_common", decocomn_nonbuffered_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x1b0000, 0x1b0007) AM_READWRITE(cninja_irq_r, cninja_irq_w)
AM_RANGE(0x1b8000, 0x1bbfff) AM_RAM AM_BASE(m_ram) /* Main ram */
AM_RANGE(0x1f0000, 0x1f0001) AM_DEVWRITE_LEGACY("deco_common", decocomn_priority_w)
@@ -277,7 +277,7 @@ static ADDRESS_MAP_START( mutantf_map, AS_PROGRAM, 16, cninja_state )
AM_RANGE(0x100000, 0x103fff) AM_RAM
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x140000, 0x1407ff) AM_RAM AM_SHARE("spriteram2")
- AM_RANGE(0x160000, 0x161fff) AM_RAM_DEVWRITE_LEGACY("deco_common", decocomn_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x160000, 0x161fff) AM_RAM_DEVWRITE_LEGACY("deco_common", decocomn_nonbuffered_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x180000, 0x180001) AM_DEVWRITE_LEGACY("deco_common", decocomn_priority_w)
AM_RANGE(0x180002, 0x180003) AM_WRITENOP /* VBL irq ack */
AM_RANGE(0x1a0000, 0x1a07ff) AM_READWRITE_LEGACY(deco16_66_prot_r, deco16_66_prot_w) AM_BASE_LEGACY(&deco16_prot_ram) /* Protection device */
diff --git a/src/mame/drivers/coolridr.c b/src/mame/drivers/coolridr.c
index 191d57db53f..a906de5175f 100644
--- a/src/mame/drivers/coolridr.c
+++ b/src/mame/drivers/coolridr.c
@@ -568,15 +568,15 @@ WRITE32_MEMBER(coolridr_state::sysh1_txt_blit_w)
WRITE32_MEMBER(coolridr_state::sysh1_pal_w)
{
int r,g,b;
- COMBINE_DATA(&machine().generic.paletteram.u32[offset]);
+ COMBINE_DATA(&m_generic_paletteram_32[offset]);
- r = ((machine().generic.paletteram.u32[offset] & 0x00007c00) >> 10);
- g = ((machine().generic.paletteram.u32[offset] & 0x000003e0) >> 5);
- b = ((machine().generic.paletteram.u32[offset] & 0x0000001f) >> 0);
+ r = ((m_generic_paletteram_32[offset] & 0x00007c00) >> 10);
+ g = ((m_generic_paletteram_32[offset] & 0x000003e0) >> 5);
+ b = ((m_generic_paletteram_32[offset] & 0x0000001f) >> 0);
palette_set_color_rgb(machine(),(offset*2)+1,pal5bit(r),pal5bit(g),pal5bit(b));
- r = ((machine().generic.paletteram.u32[offset] & 0x7c000000) >> 26);
- g = ((machine().generic.paletteram.u32[offset] & 0x03e00000) >> 21);
- b = ((machine().generic.paletteram.u32[offset] & 0x001f0000) >> 16);
+ r = ((m_generic_paletteram_32[offset] & 0x7c000000) >> 26);
+ g = ((m_generic_paletteram_32[offset] & 0x03e00000) >> 21);
+ b = ((m_generic_paletteram_32[offset] & 0x001f0000) >> 16);
palette_set_color_rgb(machine(),offset*2,pal5bit(r),pal5bit(g),pal5bit(b));
}
@@ -690,7 +690,7 @@ static ADDRESS_MAP_START( system_h1_map, AS_PROGRAM, 32, coolridr_state )
AM_RANGE(0x01000000, 0x01ffffff) AM_ROM AM_REGION("gfx_data",0x0000000)
AM_RANGE(0x03000000, 0x030fffff) AM_RAM AM_BASE(m_h1_vram)//bg vram
- AM_RANGE(0x03c00000, 0x03c0ffff) AM_RAM_WRITE(sysh1_pal_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x03c00000, 0x03c0ffff) AM_RAM_WRITE(sysh1_pal_w) AM_SHARE("paletteram")
AM_RANGE(0x03d00000, 0x03dfffff) AM_RAM_WRITE(sysh1_char_w) AM_BASE(m_h1_charram) //FIXME: half size
AM_RANGE(0x03e00000, 0x03efffff) AM_RAM_WRITE(sysh1_dma_w) AM_BASE(m_framebuffer_vram) //FIXME: not all of it
diff --git a/src/mame/drivers/crimfght.c b/src/mame/drivers/crimfght.c
index 7fb2b097c59..3fb24d02b86 100644
--- a/src/mame/drivers/crimfght.c
+++ b/src/mame/drivers/crimfght.c
@@ -407,8 +407,8 @@ static KONAMI_SETLINES_CALLBACK( crimfght_banking )
if (lines & 0x20)
{
device->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x03ff, "bank3");
- device->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x0000, 0x03ff, FUNC(paletteram_xBBBBBGGGGGRRRRR_be_w));
- memory_set_bankptr(device->machine(), "bank3", device->machine().generic.paletteram.v);
+ device->memory().space(AS_PROGRAM)->install_write_handler(0x0000, 0x03ff, write8_delegate(FUNC(crimfght_state::paletteram_xBBBBBGGGGGRRRRR_be_w), state));
+ memory_set_bankptr(device->machine(), "bank3", state->m_generic_paletteram_8);
}
else
device->memory().space(AS_PROGRAM)->install_readwrite_bank(0x0000, 0x03ff, "bank1"); /* RAM */
diff --git a/src/mame/drivers/crospang.c b/src/mame/drivers/crospang.c
index e84beba310b..7574e2b19c4 100644
--- a/src/mame/drivers/crospang.c
+++ b/src/mame/drivers/crospang.c
@@ -58,7 +58,7 @@ static ADDRESS_MAP_START( crospang_map, AS_PROGRAM, 16, crospang_state )
AM_RANGE(0x10000e, 0x10000f) AM_WRITENOP
AM_RANGE(0x120000, 0x1207ff) AM_RAM_WRITE_LEGACY(crospang_fg_videoram_w) AM_BASE(m_fg_videoram)
AM_RANGE(0x122000, 0x1227ff) AM_RAM_WRITE_LEGACY(crospang_bg_videoram_w) AM_BASE(m_bg_videoram)
- AM_RANGE(0x200000, 0x2005ff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x200000, 0x2005ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x210000, 0x2107ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x270000, 0x270001) AM_WRITE(crospang_soundlatch_w)
AM_RANGE(0x280000, 0x280001) AM_READ_PORT("P1_P2")
@@ -78,7 +78,7 @@ static ADDRESS_MAP_START( bestri_map, AS_PROGRAM, 16, crospang_state )
AM_RANGE(0x120000, 0x1207ff) AM_RAM_WRITE_LEGACY(crospang_fg_videoram_w) AM_BASE(m_fg_videoram)
AM_RANGE(0x122000, 0x1227ff) AM_RAM_WRITE_LEGACY(crospang_bg_videoram_w) AM_BASE(m_bg_videoram)
- AM_RANGE(0x200000, 0x2005ff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x200000, 0x2005ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x210000, 0x2107ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x270000, 0x270001) AM_WRITE(crospang_soundlatch_w)
AM_RANGE(0x270004, 0x270005) AM_WRITENOP
diff --git a/src/mame/drivers/crshrace.c b/src/mame/drivers/crshrace.c
index c1a80c6128f..f6c23a88d49 100644
--- a/src/mame/drivers/crshrace.c
+++ b/src/mame/drivers/crshrace.c
@@ -194,7 +194,7 @@ static ADDRESS_MAP_START( crshrace_map, AS_PROGRAM, 16, crshrace_state )
AM_RANGE(0xfe0000, 0xfeffff) AM_RAM
AM_RANGE(0xffc000, 0xffc001) AM_WRITE_LEGACY(crshrace_roz_bank_w)
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE_LEGACY(crshrace_videoram2_w) AM_BASE(m_videoram2)
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE_LEGACY(paletteram16_xGGGGGBBBBBRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xGGGGGBBBBBRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("P1") AM_WRITE_LEGACY(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/cshooter.c b/src/mame/drivers/cshooter.c
index 31d07496341..52cbe8cb52e 100644
--- a/src/mame/drivers/cshooter.c
+++ b/src/mame/drivers/cshooter.c
@@ -243,28 +243,28 @@ WRITE8_MEMBER(cshooter_state::bank_w)
WRITE8_MEMBER(cshooter_state::pal_w)
{
- machine().generic.paletteram.u8[offset]=data;
+ m_generic_paletteram_8[offset]=data;
offset&=0xff;
- palette_set_color_rgb(machine(), offset, pal4bit(machine().generic.paletteram.u8[offset] >> 4), pal4bit(machine().generic.paletteram.u8[offset]), pal4bit(machine().generic.paletteram.u8[offset+0x100]));
+ palette_set_color_rgb(machine(), offset, pal4bit(m_generic_paletteram_8[offset] >> 4), pal4bit(m_generic_paletteram_8[offset]), pal4bit(m_generic_paletteram_8[offset+0x100]));
}
WRITE8_MEMBER(cshooter_state::pal2_w)
{
- machine().generic.paletteram.u8[offset]=data;
+ m_generic_paletteram_8[offset]=data;
offset&=0x1ff;
- palette_set_color_rgb(machine(), offset, pal4bit(machine().generic.paletteram.u8[offset] >> 4), pal4bit(machine().generic.paletteram.u8[offset]), pal4bit(machine().generic.paletteram.u8[offset+0x200]));
+ palette_set_color_rgb(machine(), offset, pal4bit(m_generic_paletteram_8[offset] >> 4), pal4bit(m_generic_paletteram_8[offset]), pal4bit(m_generic_paletteram_8[offset+0x200]));
}
READ8_MEMBER(cshooter_state::pal_r)
{
- return machine().generic.paletteram.u8[offset];
+ return m_generic_paletteram_8[offset];
}
static ADDRESS_MAP_START( cshooter_map, AS_PROGRAM, 8, cshooter_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xafff) AM_READ_BANK("bank1") AM_WRITEONLY
AM_RANGE(0xb000, 0xb0ff) AM_READONLY // sound related ?
- AM_RANGE(0xc000, 0xc1ff) AM_WRITE(pal_w) AM_READ(pal_r) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xc000, 0xc1ff) AM_WRITE(pal_w) AM_READ(pal_r) AM_SHARE("paletteram")
AM_RANGE(0xc200, 0xc200) AM_READ_PORT("IN0")
AM_RANGE(0xc201, 0xc201) AM_READ_PORT("IN1")
AM_RANGE(0xc202, 0xc202) AM_READ_PORT("IN2")
@@ -305,7 +305,7 @@ static ADDRESS_MAP_START( airraid_map, AS_PROGRAM, 8, cshooter_state )
AM_RANGE(0xc700, 0xc700) AM_WRITE(cshooter_c700_w)
AM_RANGE(0xc801, 0xc801) AM_WRITENOP // see notes
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(cshooter_txram_w) AM_BASE(m_txram)
- AM_RANGE(0xd800, 0xdbff) AM_WRITE(pal2_w) AM_READ(pal_r) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xd800, 0xdbff) AM_WRITE(pal2_w) AM_READ(pal_r) AM_SHARE("paletteram")
AM_RANGE(0xdc11, 0xdc11) AM_WRITE(bank_w)
AM_RANGE(0xdc00, 0xdc1f) AM_RAM //video registers
AM_RANGE(0xde00, 0xde0f) AM_READWRITE(seibu_sound_comms_r,seibu_sound_comms_w)
diff --git a/src/mame/drivers/cubeqst.c b/src/mame/drivers/cubeqst.c
index 931ac6c41b8..6d8fbd14383 100644
--- a/src/mame/drivers/cubeqst.c
+++ b/src/mame/drivers/cubeqst.c
@@ -104,7 +104,7 @@ static PALETTE_INIT( cubeqst )
WRITE16_MEMBER(cubeqst_state::palette_w)
{
machine().primary_screen->update_now();
- COMBINE_DATA(&machine().generic.paletteram.u16[offset]);
+ COMBINE_DATA(&m_generic_paletteram_16[offset]);
}
/* TODO: This is a simplified version of what actually happens */
@@ -168,7 +168,7 @@ static SCREEN_UPDATE_RGB32( cubeqst )
}
/* Draw the span, testing for depth */
- pen = state->m_colormap[screen.machine().generic.paletteram.u16[color]];
+ pen = state->m_colormap[state->m_generic_paletteram_16[color]];
for (x = h1; x <= h2; ++x)
{
if (!(state->m_depth_buffer[x] < depth))
@@ -418,7 +418,7 @@ static ADDRESS_MAP_START( m68k_program_map, AS_PROGRAM, 16, cubeqst_state )
AM_RANGE(0x038002, 0x038003) AM_READWRITE(chop_r, ldaud_w)
AM_RANGE(0x038008, 0x038009) AM_READWRITE(line_r, reset_w)
AM_RANGE(0x03800e, 0x03800f) AM_READWRITE(laserdisc_r, laserdisc_w)
- AM_RANGE(0x03c800, 0x03c9ff) AM_RAM_WRITE(palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x03c800, 0x03c9ff) AM_RAM_WRITE(palette_w) AM_SHARE("paletteram")
AM_RANGE(0x03cc00, 0x03cc01) AM_WRITE(control_w)
AM_RANGE(0x03e000, 0x03efff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x03f000, 0x03ffff) AM_RAM
diff --git a/src/mame/drivers/cyberbal.c b/src/mame/drivers/cyberbal.c
index 5229f3bf48c..7f4077ec30e 100644
--- a/src/mame/drivers/cyberbal.c
+++ b/src/mame/drivers/cyberbal.c
@@ -255,7 +255,7 @@ static ADDRESS_MAP_START( cyberbal2p_map, AS_PROGRAM, 16, cyberbal_state )
AM_RANGE(0xfc4000, 0xfc4003) AM_READ_LEGACY(special_port2_r)
AM_RANGE(0xfc6000, 0xfc6003) AM_READ_LEGACY(atarigen_sound_upper_r)
AM_RANGE(0xfc8000, 0xfc8fff) AM_READWRITE_LEGACY(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
- AM_RANGE(0xfca000, 0xfcafff) AM_RAM_WRITE_LEGACY(atarigen_666_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xfca000, 0xfcafff) AM_RAM_WRITE_LEGACY(atarigen_666_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0xfd0000, 0xfd0003) AM_WRITE_LEGACY(atarigen_eeprom_enable_w)
AM_RANGE(0xfd2000, 0xfd2003) AM_WRITE_LEGACY(atarigen_sound_reset_w)
AM_RANGE(0xfd4000, 0xfd4003) AM_WRITE_LEGACY(watchdog_reset16_w)
diff --git a/src/mame/drivers/cybertnk.c b/src/mame/drivers/cybertnk.c
index 2af5a715c2e..c4266cfdeeb 100644
--- a/src/mame/drivers/cybertnk.c
+++ b/src/mame/drivers/cybertnk.c
@@ -667,7 +667,7 @@ static ADDRESS_MAP_START( master_mem, AS_PROGRAM, 16, cybertnk_state )
AM_RANGE(0x0c4000, 0x0c5fff) AM_RAM AM_BASE(m_bg_vram)
AM_RANGE(0x0c8000, 0x0c9fff) AM_RAM AM_BASE(m_fg_vram)
AM_RANGE(0x0e0000, 0x0e0fff) AM_RAM AM_SHARE("sharedram")
- AM_RANGE(0x100000, 0x107fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x100000, 0x107fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x110000, 0x1101ff) AM_READWRITE(io_r,io_w) AM_BASE(m_io_ram)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/d9final.c b/src/mame/drivers/d9final.c
index 6fa13b054a6..4c5adfb67ff 100644
--- a/src/mame/drivers/d9final.c
+++ b/src/mame/drivers/d9final.c
@@ -109,8 +109,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_WRITE_LEGACY(paletteram_xxxxBBBBRRRRGGGG_split1_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0xcc00, 0xcfff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBRRRRGGGG_split2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0xc800, 0xcbff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split1_w) AM_SHARE("paletteram")
+ AM_RANGE(0xcc00, 0xcfff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split2_w) AM_SHARE("paletteram2")
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(sc0_lovram) AM_BASE(m_lo_vram)
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(sc0_hivram) AM_BASE(m_hi_vram)
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(sc0_cram) AM_BASE(m_cram)
diff --git a/src/mame/drivers/darius.c b/src/mame/drivers/darius.c
index 40aa274425a..23cecbd474d 100644
--- a/src/mame/drivers/darius.c
+++ b/src/mame/drivers/darius.c
@@ -249,7 +249,7 @@ static ADDRESS_MAP_START( darius_map, AS_PROGRAM, 16, darius_state )
AM_RANGE(0xd20000, 0xd20003) AM_DEVWRITE_LEGACY("pc080sn", pc080sn_yscroll_word_w)
AM_RANGE(0xd40000, 0xd40003) AM_DEVWRITE_LEGACY("pc080sn", pc080sn_xscroll_word_w)
AM_RANGE(0xd50000, 0xd50003) AM_DEVWRITE_LEGACY("pc080sn", pc080sn_ctrl_word_w)
- AM_RANGE(0xd80000, 0xd80fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)/* palette */
+ AM_RANGE(0xd80000, 0xd80fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")/* palette */
AM_RANGE(0xe00100, 0xe00fff) AM_RAM AM_SHARE("share1") AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0xe01000, 0xe02fff) AM_RAM AM_SHARE("share2")
AM_RANGE(0xe08000, 0xe0ffff) AM_RAM_WRITE_LEGACY(darius_fg_layer_w) AM_SHARE("share3") AM_BASE(m_fg_ram)
@@ -260,7 +260,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(0xc00000, 0xc0007f) AM_WRITE(darius_ioc_w) /* only writes $c00050 (?) */
- AM_RANGE(0xd80000, 0xd80fff) AM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w)
+ AM_RANGE(0xd80000, 0xd80fff) AM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w)
AM_RANGE(0xe00100, 0xe00fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0xe01000, 0xe02fff) AM_RAM AM_SHARE("share2")
AM_RANGE(0xe08000, 0xe0ffff) AM_RAM_WRITE_LEGACY(darius_fg_layer_w) AM_SHARE("share3")
diff --git a/src/mame/drivers/darkhors.c b/src/mame/drivers/darkhors.c
index d9cba7c0743..0f27cab57a4 100644
--- a/src/mame/drivers/darkhors.c
+++ b/src/mame/drivers/darkhors.c
@@ -334,7 +334,7 @@ static ADDRESS_MAP_START( darkhors_map, AS_PROGRAM, 32, darkhors_state )
AM_RANGE(0x870000, 0x873fff) AM_RAM_WRITE(darkhors_tmapram2_w) AM_BASE(m_tmapram2)
AM_RANGE(0x874000, 0x87dfff) AM_RAM
AM_RANGE(0x87e000, 0x87ffff) AM_RAM AM_BASE(m_spriteram)
- AM_RANGE(0x880000, 0x89ffff) AM_WRITE(paletteram32_xBBBBBGGGGGRRRRR_dword_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x880000, 0x89ffff) AM_WRITE(paletteram32_xBBBBBGGGGGRRRRR_dword_w) AM_SHARE("paletteram")
AM_RANGE(0x8a0000, 0x8bffff) AM_WRITEONLY // this should still be palette ram!
AM_RANGE(0x8c0120, 0x8c012f) AM_WRITEONLY AM_BASE(m_tmapscroll)
AM_RANGE(0x8c0130, 0x8c013f) AM_WRITEONLY AM_BASE(m_tmapscroll2)
@@ -365,7 +365,7 @@ static ADDRESS_MAP_START( jclub2_map, AS_PROGRAM, 32, darkhors_state )
AM_RANGE(0x800000, 0x87ffff) AM_RAM AM_BASE(m_spriteram)
- AM_RANGE(0x880000, 0x89ffff) AM_WRITE(paletteram32_xBBBBBGGGGGRRRRR_dword_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x880000, 0x89ffff) AM_WRITE(paletteram32_xBBBBBGGGGGRRRRR_dword_w) AM_SHARE("paletteram")
AM_RANGE(0x8a0000, 0x8bffff) AM_WRITEONLY // this should still be palette ram!
AM_RANGE(0x8C0000, 0x8C01ff) AM_RAM
diff --git a/src/mame/drivers/darkmist.c b/src/mame/drivers/darkmist.c
index a20427c008f..6b42d9000a2 100644
--- a/src/mame/drivers/darkmist.c
+++ b/src/mame/drivers/darkmist.c
@@ -46,7 +46,7 @@ static ADDRESS_MAP_START( memmap, AS_PROGRAM, 8, darkmist_state )
AM_RANGE(0xc806, 0xc806) AM_READ_PORT("DSW1")
AM_RANGE(0xc807, 0xc807) AM_READ_PORT("DSW2")
AM_RANGE(0xc808, 0xc808) AM_READ_PORT("UNK")
- AM_RANGE(0xd000, 0xd3ff) AM_RAM AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xd000, 0xd3ff) AM_RAM AM_SHARE("paletteram")
AM_RANGE(0xd400, 0xd41f) AM_RAM AM_BASE(m_scroll)
AM_RANGE(0xd600, 0xd67f) AM_READWRITE_LEGACY(t5182_sharedram_r, t5182_sharedram_w)
AM_RANGE(0xd680, 0xd680) AM_WRITE_LEGACY(t5182_sound_irq_w)
diff --git a/src/mame/drivers/darkseal.c b/src/mame/drivers/darkseal.c
index 68a77a3a319..6363f5926ef 100644
--- a/src/mame/drivers/darkseal.c
+++ b/src/mame/drivers/darkseal.c
@@ -63,8 +63,8 @@ static ADDRESS_MAP_START( darkseal_map, AS_PROGRAM, 16, darkseal_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM AM_BASE(m_ram)
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x140000, 0x140fff) AM_RAM_WRITE_LEGACY(darkseal_palette_24bit_rg_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0x141000, 0x141fff) AM_RAM_WRITE_LEGACY(darkseal_palette_24bit_b_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0x140000, 0x140fff) AM_RAM_WRITE_LEGACY(darkseal_palette_24bit_rg_w) AM_SHARE("paletteram")
+ AM_RANGE(0x141000, 0x141fff) AM_RAM_WRITE_LEGACY(darkseal_palette_24bit_b_w) AM_SHARE("paletteram2")
AM_RANGE(0x180000, 0x18000f) AM_READWRITE(darkseal_control_r, darkseal_control_w)
AM_RANGE(0x200000, 0x201fff) AM_DEVREADWRITE_LEGACY("tilegen2", deco16ic_pf1_data_r, deco16ic_pf1_data_w)
diff --git a/src/mame/drivers/dassault.c b/src/mame/drivers/dassault.c
index d58011aad7f..4c2bd58c346 100644
--- a/src/mame/drivers/dassault.c
+++ b/src/mame/drivers/dassault.c
@@ -207,7 +207,7 @@ READ16_MEMBER(dassault_state::shared_ram_r)
static ADDRESS_MAP_START( dassault_map, AS_PROGRAM, 16, dassault_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x100000, 0x103fff) AM_RAM_DEVWRITE_LEGACY("deco_common", decocomn_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x100000, 0x103fff) AM_RAM_DEVWRITE_LEGACY("deco_common", decocomn_nonbuffered_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x140004, 0x140007) AM_WRITENOP /* ? */
AM_RANGE(0x180000, 0x180001) AM_WRITE(dassault_sound_w)
diff --git a/src/mame/drivers/dblewing.c b/src/mame/drivers/dblewing.c
index 334cba9f60d..65805438700 100644
--- a/src/mame/drivers/dblewing.c
+++ b/src/mame/drivers/dblewing.c
@@ -329,7 +329,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_LEGACY("tilegen1", deco16ic_pf_control_w)
AM_RANGE(0x300000, 0x3007ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0x320000, 0x3207ff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x320000, 0x3207ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0xff0000, 0xff3fff) AM_MIRROR(0xc000) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/dbz.c b/src/mame/drivers/dbz.c
index 5b12721c961..d03f062ae2f 100644
--- a/src/mame/drivers/dbz.c
+++ b/src/mame/drivers/dbz.c
@@ -120,7 +120,7 @@ static ADDRESS_MAP_START( dbz_map, AS_PROGRAM, 16, dbz_state )
AM_RANGE(0x498000, 0x49ffff) AM_DEVREAD_LEGACY("k056832", k056832_rom_word_8000_r) // code near a60 in dbz2, subroutine at 730 in dbz
AM_RANGE(0x4a0000, 0x4a0fff) AM_DEVREADWRITE_LEGACY("k053246", k053247_word_r, k053247_word_w)
AM_RANGE(0x4a1000, 0x4a3fff) AM_RAM
- AM_RANGE(0x4a8000, 0x4abfff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // palette
+ AM_RANGE(0x4a8000, 0x4abfff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // palette
AM_RANGE(0x4c0000, 0x4c0001) AM_DEVREAD_LEGACY("k053246", k053246_word_r)
AM_RANGE(0x4c0000, 0x4c0007) AM_DEVWRITE_LEGACY("k053246", k053246_word_w)
AM_RANGE(0x4c4000, 0x4c4007) AM_DEVWRITE_LEGACY("k053246", k053246_word_w)
diff --git a/src/mame/drivers/dcon.c b/src/mame/drivers/dcon.c
index 711597d9fcc..c419f25407d 100644
--- a/src/mame/drivers/dcon.c
+++ b/src/mame/drivers/dcon.c
@@ -28,7 +28,7 @@ static ADDRESS_MAP_START( dcon_map, AS_PROGRAM, 16, dcon_state )
AM_RANGE(0x8c800, 0x8cfff) AM_RAM_WRITE_LEGACY(dcon_foreground_w) AM_BASE(m_fore_data)
AM_RANGE(0x8d000, 0x8d7ff) AM_RAM_WRITE_LEGACY(dcon_midground_w) AM_BASE(m_mid_data)
AM_RANGE(0x8d800, 0x8e7ff) AM_RAM_WRITE_LEGACY(dcon_text_w) AM_BASE(m_textram)
- AM_RANGE(0x8e800, 0x8f7ff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x8e800, 0x8f7ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x8f800, 0x8ffff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x9d000, 0x9d7ff) AM_WRITE_LEGACY(dcon_gfxbank_w)
diff --git a/src/mame/drivers/ddealer.c b/src/mame/drivers/ddealer.c
index 97849d4d908..578813fb608 100644
--- a/src/mame/drivers/ddealer.c
+++ b/src/mame/drivers/ddealer.c
@@ -460,7 +460,7 @@ static ADDRESS_MAP_START( ddealer, AS_PROGRAM, 16, ddealer_state )
AM_RANGE(0x080008, 0x080009) AM_READ_PORT("DSW1")
AM_RANGE(0x08000a, 0x08000b) AM_READ_PORT("UNK")
AM_RANGE(0x084000, 0x084003) AM_DEVWRITE8_LEGACY("ymsnd", ym2203_w, 0x00ff) // ym ?
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram) // palette ram
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram") // palette ram
AM_RANGE(0x08c000, 0x08cfff) AM_RAM_WRITE(ddealer_vregs_w) AM_BASE(m_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.c b/src/mame/drivers/ddragon.c
index 38b6e0e0cbe..b0f7cc21e8f 100644
--- a/src/mame/drivers/ddragon.c
+++ b/src/mame/drivers/ddragon.c
@@ -503,8 +503,8 @@ static READ8_HANDLER( dd_adpcm_status_r )
static ADDRESS_MAP_START( ddragon_map, AS_PROGRAM, 8, ddragon_state )
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_BASE(m_rambase)
- AM_RANGE(0x1000, 0x11ff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0x1200, 0x13ff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0x1000, 0x11ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("paletteram")
+ AM_RANGE(0x1200, 0x13ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("paletteram2")
AM_RANGE(0x1400, 0x17ff) AM_RAM
AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE_LEGACY(ddragon_fgvideoram_w) AM_BASE(m_fgvideoram)
AM_RANGE(0x2000, 0x2fff) AM_READWRITE_LEGACY(ddragon_spriteram_r, ddragon_spriteram_w) AM_BASE(m_spriteram)
@@ -537,8 +537,8 @@ static ADDRESS_MAP_START( dd2_map, AS_PROGRAM, 8, ddragon_state )
AM_RANGE(0x3809, 0x3809) AM_WRITEONLY AM_BASE(m_scrollx_lo)
AM_RANGE(0x380a, 0x380a) AM_WRITEONLY AM_BASE(m_scrolly_lo)
AM_RANGE(0x380b, 0x380f) AM_WRITE_LEGACY(ddragon_interrupt_w)
- AM_RANGE(0x3c00, 0x3dff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0x3e00, 0x3fff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0x3c00, 0x3dff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("paletteram")
+ AM_RANGE(0x3e00, 0x3fff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("paletteram2")
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ddragon3.c b/src/mame/drivers/ddragon3.c
index a89f1c3a2b1..3d8ad741945 100644
--- a/src/mame/drivers/ddragon3.c
+++ b/src/mame/drivers/ddragon3.c
@@ -216,7 +216,7 @@ static ADDRESS_MAP_START( ddragon3_map, AS_PROGRAM, 16, ddragon3_state )
AM_RANGE(0x100004, 0x100005) AM_READ_PORT("DSW")
AM_RANGE(0x100006, 0x100007) AM_READ_PORT("P3")
AM_RANGE(0x100000, 0x10000f) AM_WRITE(ddragon3_io_w)
- AM_RANGE(0x140000, 0x1405ff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) /* Palette RAM */
+ AM_RANGE(0x140000, 0x1405ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram") /* Palette RAM */
AM_RANGE(0x180000, 0x180fff) AM_RAM AM_BASE(m_spriteram)
AM_RANGE(0x1c0000, 0x1c3fff) AM_RAM /* working RAM */
ADDRESS_MAP_END
@@ -227,7 +227,7 @@ static ADDRESS_MAP_START( dd3b_map, AS_PROGRAM, 16, ddragon3_state )
AM_RANGE(0x081000, 0x081fff) AM_RAM AM_BASE(m_spriteram)
AM_RANGE(0x082000, 0x0827ff) AM_RAM_WRITE_LEGACY(ddragon3_bg_videoram_w) AM_BASE(m_bg_videoram) /* Background (32x32 Tiles - 2 by per tile) */
AM_RANGE(0x0c0000, 0x0c000f) AM_WRITE_LEGACY(ddragon3_scroll_w)
- AM_RANGE(0x100000, 0x1005ff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) /* Palette RAM */
+ AM_RANGE(0x100000, 0x1005ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram") /* Palette RAM */
AM_RANGE(0x140000, 0x14000f) AM_WRITE(ddragon3_io_w)
AM_RANGE(0x180000, 0x180001) AM_READ_PORT("IN0")
AM_RANGE(0x180002, 0x180003) AM_READ_PORT("IN1")
@@ -243,7 +243,7 @@ static ADDRESS_MAP_START( ctribe_map, AS_PROGRAM, 16, ddragon3_state )
AM_RANGE(0x082000, 0x0827ff) AM_RAM_WRITE_LEGACY(ddragon3_bg_videoram_w) AM_BASE(m_bg_videoram) /* Background (32x32 Tiles - 2 by per tile) */
AM_RANGE(0x082800, 0x082fff) AM_RAM
AM_RANGE(0x0c0000, 0x0c000f) AM_READWRITE_LEGACY(ddragon3_scroll_r, ddragon3_scroll_w)
- AM_RANGE(0x100000, 0x1005ff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram) /* Palette RAM */
+ AM_RANGE(0x100000, 0x1005ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram") /* Palette RAM */
AM_RANGE(0x140000, 0x14000f) AM_WRITE(ddragon3_io_w)
AM_RANGE(0x180000, 0x180001) AM_READ_PORT("IN0")
AM_RANGE(0x180002, 0x180003) AM_READ_PORT("IN1")
diff --git a/src/mame/drivers/deadang.c b/src/mame/drivers/deadang.c
index fc1e0f8c66b..4c071376119 100644
--- a/src/mame/drivers/deadang.c
+++ b/src/mame/drivers/deadang.c
@@ -67,7 +67,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_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0c000, 0x0cfff) AM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x0d000, 0x0dfff) AM_WRITEONLY
AM_RANGE(0x0e000, 0x0e0ff) AM_WRITEONLY AM_BASE(m_scroll_ram)
AM_RANGE(0x0e100, 0x0ffff) AM_WRITEONLY
diff --git a/src/mame/drivers/dec0.c b/src/mame/drivers/dec0.c
index 4222380502f..e8214dcc692 100644
--- a/src/mame/drivers/dec0.c
+++ b/src/mame/drivers/dec0.c
@@ -305,8 +305,8 @@ static ADDRESS_MAP_START( dec0_map, AS_PROGRAM, 16, dec0_state )
AM_RANGE(0x300000, 0x30001f) AM_READ_LEGACY(dec0_rotary_r)
AM_RANGE(0x30c000, 0x30c00b) AM_READ_LEGACY(dec0_controls_r)
AM_RANGE(0x30c010, 0x30c01f) AM_WRITE(dec0_control_w) /* Priority, sound, etc. */
- AM_RANGE(0x310000, 0x3107ff) AM_RAM_WRITE_LEGACY(dec0_paletteram_rg_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0x314000, 0x3147ff) AM_RAM_WRITE_LEGACY(dec0_paletteram_b_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0x310000, 0x3107ff) AM_RAM_WRITE_LEGACY(dec0_paletteram_rg_w) AM_SHARE("paletteram")
+ AM_RANGE(0x314000, 0x3147ff) AM_RAM_WRITE_LEGACY(dec0_paletteram_b_w) AM_SHARE("paletteram2")
AM_RANGE(0xff8000, 0xffbfff) AM_RAM AM_BASE(m_ram) /* Main ram */
AM_RANGE(0xffc000, 0xffc7ff) AM_RAM AM_BASE(m_spriteram) /* Sprites */
ADDRESS_MAP_END
@@ -509,7 +509,7 @@ static ADDRESS_MAP_START( slyspy_map, AS_PROGRAM, 16, dec0_state )
AM_RANGE(0x304000, 0x307fff) AM_RAM AM_BASE(m_ram) /* Sly spy main ram */
AM_RANGE(0x308000, 0x3087ff) AM_RAM AM_BASE(m_spriteram) /* Sprites */
- AM_RANGE(0x310000, 0x3107ff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x310000, 0x3107ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x314000, 0x314003) AM_WRITE(slyspy_control_w)
AM_RANGE(0x314008, 0x31400f) AM_READ_LEGACY(slyspy_controls_r)
AM_RANGE(0x31c000, 0x31c00f) AM_READ_LEGACY(slyspy_protection_r) AM_WRITENOP
@@ -520,7 +520,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_BASE(m_ram)
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_BASE(m_spriteram)
- AM_RANGE(0x140000, 0x1407ff) AM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x140000, 0x1407ff) AM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x160000, 0x160001) AM_WRITE_LEGACY(dec0_priority_w)
AM_RANGE(0x180000, 0x18000f) AM_READ_LEGACY(midres_controls_r)
AM_RANGE(0x180008, 0x18000f) AM_WRITENOP /* ?? watchdog ?? */
@@ -608,7 +608,7 @@ static ADDRESS_MAP_START( secretab_map, AS_PROGRAM, 16, dec0_state )
AM_RANGE(0x300c00, 0x300fff) AM_DEVREADWRITE_LEGACY("tilegen3", deco_bac06_pf_rowscroll_r, deco_bac06_pf_rowscroll_w)
AM_RANGE(0x301000, 0x3017ff) AM_DEVREADWRITE_LEGACY("tilegen3", deco_bac06_pf_data_r, deco_bac06_pf_data_w)
AM_RANGE(0x301800, 0x307fff) AM_RAM AM_BASE(m_ram) /* Sly spy main ram */
- AM_RANGE(0x310000, 0x3107ff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x310000, 0x3107ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0xb08000, 0xb087ff) AM_RAM AM_BASE(m_spriteram) /* Sprites */
ADDRESS_MAP_END
@@ -638,7 +638,7 @@ static ADDRESS_MAP_START( automat_map, AS_PROGRAM, 16, dec0_state )
AM_RANGE(0x300000, 0x30001f) AM_READ_LEGACY(dec0_rotary_r)
AM_RANGE(0x30c000, 0x30c00b) AM_READ_LEGACY(dec0_controls_r)
AM_RANGE(0x30c000, 0x30c01f) AM_WRITE(automat_control_w) /* Priority, sound, etc. */
- AM_RANGE(0x310000, 0x3107ff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x310000, 0x3107ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x314000, 0x3147ff) AM_RAM
AM_RANGE(0x400008, 0x400009) AM_WRITE_LEGACY(dec0_priority_w) // NEW
AM_RANGE(0xff8000, 0xffbfff) AM_RAM AM_BASE(m_ram) /* Main ram */
diff --git a/src/mame/drivers/dec8.c b/src/mame/drivers/dec8.c
index 02260e31af1..0c299fe8185 100644
--- a/src/mame/drivers/dec8.c
+++ b/src/mame/drivers/dec8.c
@@ -583,8 +583,8 @@ WRITE8_MEMBER(dec8_state::flip_screen_w){ flip_screen_set(machine(), 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_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("share3") AM_BASE_GENERIC(paletteram)
- AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("share4") AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("share3") AM_SHARE("paletteram")
+ AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("share4") AM_SHARE("paletteram2")
AM_RANGE(0x1800, 0x1800) AM_READ_PORT("IN0")
AM_RANGE(0x1801, 0x1801) AM_READ_PORT("IN1")
AM_RANGE(0x1802, 0x1802) AM_READ_PORT("IN2")
@@ -609,8 +609,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_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("share3")
- AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("share4")
+ AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("share3")
+ AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("share4")
AM_RANGE(0x1800, 0x1800) AM_READ_PORT("IN0")
AM_RANGE(0x1801, 0x1801) AM_READ_PORT("IN1")
AM_RANGE(0x1802, 0x1802) AM_READ_PORT("IN2")
@@ -629,8 +629,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_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("share3") AM_BASE_GENERIC(paletteram)
- AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("share4") AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("share3") AM_SHARE("paletteram")
+ AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("share4") AM_SHARE("paletteram2")
AM_RANGE(0x1800, 0x1800) AM_READ_PORT("IN0")
AM_RANGE(0x1801, 0x1801) AM_READ_PORT("IN1")
AM_RANGE(0x1802, 0x1802) AM_READ_PORT("IN2")
@@ -653,8 +653,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_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("share3")
- AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("share4")
+ AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("share3")
+ AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("share4")
AM_RANGE(0x1800, 0x1800) AM_READ_PORT("IN0")
AM_RANGE(0x1801, 0x1801) AM_READ_PORT("IN1")
AM_RANGE(0x1802, 0x1802) AM_READ_PORT("IN2")
@@ -680,8 +680,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_LEGACY(dec8_videoram_w) AM_BASE_SIZE(m_videoram, m_videoram_size)
AM_RANGE(0x2000, 0x27ff) AM_READWRITE_LEGACY(dec8_bg_data_r, dec8_bg_data_w) AM_BASE(m_bg_data)
- AM_RANGE(0x2800, 0x2bff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0x2c00, 0x2fff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0x2800, 0x2bff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("paletteram")
+ AM_RANGE(0x2c00, 0x2fff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("paletteram2")
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 */
@@ -703,8 +703,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_LEGACY(dec8_videoram_w) AM_BASE_SIZE(m_videoram, m_videoram_size)
AM_RANGE(0x2000, 0x27ff) AM_READWRITE_LEGACY(dec8_bg_data_r, dec8_bg_data_w) AM_BASE(m_bg_data)
- AM_RANGE(0x2800, 0x2bff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0x2c00, 0x2fff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0x2800, 0x2bff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("paletteram")
+ AM_RANGE(0x2c00, 0x2fff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("paletteram2")
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 */
@@ -747,8 +747,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_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("share3") AM_BASE_GENERIC(paletteram)
- AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("share4") AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("share3") AM_SHARE("paletteram")
+ AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("share4") AM_SHARE("paletteram2")
AM_RANGE(0x1800, 0x1800) AM_READ_PORT("IN1")
AM_RANGE(0x1801, 0x1801) AM_READ_PORT("IN0")
AM_RANGE(0x1803, 0x1803) AM_READ_PORT("IN2")
@@ -772,8 +772,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_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("share3")
- AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("share4")
+ AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("share3")
+ AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("share4")
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)
@@ -793,7 +793,7 @@ static ADDRESS_MAP_START( oscar_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE_LEGACY(dec8_videoram_w) AM_BASE_SIZE(m_videoram, m_videoram_size)
AM_RANGE(0x2800, 0x2fff) AM_DEVREADWRITE_LEGACY("tilegen1", deco_bac06_pf_data_8bit_r, deco_bac06_pf_data_8bit_w)
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("spriteram") /* Sprites */
- AM_RANGE(0x3800, 0x3bff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x3800, 0x3bff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_be_w) AM_SHARE("paletteram")
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 */
@@ -831,8 +831,8 @@ static ADDRESS_MAP_START( srdarwin_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x1805, 0x1806) AM_WRITE_LEGACY(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_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0x3000, 0x308f) AM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0x2800, 0x288f) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("paletteram")
+ AM_RANGE(0x3000, 0x308f) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("paletteram2")
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 */
@@ -848,7 +848,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_LEGACY(dec8_videoram_w) AM_BASE_SIZE(m_videoram, m_videoram_size)
AM_RANGE(0x2800, 0x2fff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x3000, 0x31ff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x3000, 0x31ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_be_w) AM_SHARE("paletteram")
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.c b/src/mame/drivers/deco156.c
index 3697fff9ed5..bac2024ab08 100644
--- a/src/mame/drivers/deco156.c
+++ b/src/mame/drivers/deco156.c
@@ -102,8 +102,8 @@ static WRITE32_DEVICE_HANDLER( hvysmsh_oki_0_bank_w )
WRITE32_MEMBER(deco156_state::wcvol95_nonbuffered_palette_w)
{
- COMBINE_DATA(&machine().generic.paletteram.u32[offset]);
- palette_set_color_rgb(machine(),offset,pal5bit(machine().generic.paletteram.u32[offset] >> 0),pal5bit(machine().generic.paletteram.u32[offset] >> 5),pal5bit(machine().generic.paletteram.u32[offset] >> 10));
+ COMBINE_DATA(&m_generic_paletteram_32[offset]);
+ palette_set_color_rgb(machine(),offset,pal5bit(m_generic_paletteram_32[offset] >> 0),pal5bit(m_generic_paletteram_32[offset] >> 5),pal5bit(m_generic_paletteram_32[offset] >> 10));
}
/* This is the same as deco32_nonbuffered_palette_w in video/deco32.c */
@@ -111,11 +111,11 @@ WRITE32_MEMBER(deco156_state::deco156_nonbuffered_palette_w)
{
int r,g,b;
- COMBINE_DATA(&machine().generic.paletteram.u32[offset]);
+ COMBINE_DATA(&m_generic_paletteram_32[offset]);
- b = (machine().generic.paletteram.u32[offset] >>16) & 0xff;
- g = (machine().generic.paletteram.u32[offset] >> 8) & 0xff;
- r = (machine().generic.paletteram.u32[offset] >> 0) & 0xff;
+ b = (m_generic_paletteram_32[offset] >>16) & 0xff;
+ g = (m_generic_paletteram_32[offset] >> 8) & 0xff;
+ r = (m_generic_paletteram_32[offset] >> 0) & 0xff;
palette_set_color(machine(),offset,MAKE_RGB(r,g,b));
}
@@ -143,7 +143,7 @@ static ADDRESS_MAP_START( hvysmsh_map, AS_PROGRAM, 32, deco156_state )
AM_RANGE(0x194000, 0x195fff) AM_DEVREADWRITE_LEGACY("tilegen1", deco16ic_pf2_data_dword_r, deco16ic_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_WRITE(deco156_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1c0000, 0x1c0fff) AM_RAM_WRITE(deco156_nonbuffered_palette_w) AM_SHARE("paletteram")
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
@@ -160,7 +160,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_RAM_WRITE(wcvol95_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x180000, 0x180fff) AM_RAM_WRITE(wcvol95_nonbuffered_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x1a0000, 0x1a0007) AM_DEVREADWRITE8_LEGACY("ymz", ymz280b_r, ymz280b_w, 0x000000ff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/deco32.c b/src/mame/drivers/deco32.c
index d3fc8c857d8..ad1c577c20e 100644
--- a/src/mame/drivers/deco32.c
+++ b/src/mame/drivers/deco32.c
@@ -730,7 +730,7 @@ static ADDRESS_MAP_START( captaven_map, AS_PROGRAM, 32, deco32_state )
AM_RANGE(0x128000, 0x128fff) AM_READ(captaven_prot_r)
AM_RANGE(0x1280c8, 0x1280cb) AM_WRITE(deco32_sound_w)
- AM_RANGE(0x130000, 0x131fff) AM_RAM_WRITE_LEGACY(deco32_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram) /* Palette RAM */
+ AM_RANGE(0x130000, 0x131fff) AM_RAM_WRITE_LEGACY(deco32_nonbuffered_palette_w) AM_SHARE("paletteram") /* Palette RAM */
AM_RANGE(0x148000, 0x14800f) AM_READWRITE(deco32_irq_controller_r, deco32_irq_controller_w)
AM_RANGE(0x160000, 0x167fff) AM_RAM /* Extra work RAM */
AM_RANGE(0x168000, 0x168003) AM_READ(captaven_soundcpu_r)
@@ -762,7 +762,7 @@ static ADDRESS_MAP_START( fghthist_map, AS_PROGRAM, 32, deco32_state )
AM_RANGE(0x140000, 0x140003) AM_WRITENOP /* VBL irq ack */
- AM_RANGE(0x168000, 0x169fff) AM_RAM_WRITE_LEGACY(deco32_buffered_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x168000, 0x169fff) AM_RAM_WRITE_LEGACY(deco32_buffered_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x16c008, 0x16c00b) AM_WRITE_LEGACY(deco32_palette_dma_w)
//
AM_RANGE(0x178000, 0x179fff) AM_READWRITE(deco32_spriteram_r, deco32_spriteram_w)
@@ -793,7 +793,7 @@ static ADDRESS_MAP_START( fghthsta_memmap, AS_PROGRAM, 32, deco32_state )
AM_RANGE(0x140000, 0x140003) AM_WRITENOP /* VBL irq ack */
AM_RANGE(0x150000, 0x150003) AM_WRITE(fghthist_eeprom_w) /* Volume port/Eprom */
- AM_RANGE(0x168000, 0x169fff) AM_RAM_WRITE_LEGACY(deco32_buffered_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x168000, 0x169fff) AM_RAM_WRITE_LEGACY(deco32_buffered_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x16c008, 0x16c00b) AM_WRITE_LEGACY(deco32_palette_dma_w)
AM_RANGE(0x16c010, 0x16c013) AM_READNOP
@@ -824,7 +824,7 @@ static ADDRESS_MAP_START( dragngun_map, AS_PROGRAM, 32, dragngun_state )
AM_RANGE(0x120000, 0x120fff) AM_READ(dragngun_prot_r)
AM_RANGE(0x1204c0, 0x1204c3) AM_WRITE(deco32_sound_w)
AM_RANGE(0x128000, 0x12800f) AM_READWRITE(deco32_irq_controller_r, deco32_irq_controller_w)
- AM_RANGE(0x130000, 0x131fff) AM_RAM_WRITE_LEGACY(deco32_buffered_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x130000, 0x131fff) AM_RAM_WRITE_LEGACY(deco32_buffered_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x138000, 0x138003) AM_NOP /* Palette dma complete in bit 0x8? ack? return 0 else tight loop */
AM_RANGE(0x138008, 0x13800b) AM_WRITE_LEGACY(deco32_palette_dma_w)
@@ -872,7 +872,7 @@ static ADDRESS_MAP_START( lockload_map, AS_PROGRAM, 32, dragngun_state )
AM_RANGE(0x1204c0, 0x1204c3) AM_WRITE(deco32_sound_w)
AM_RANGE(0x128000, 0x12800f) AM_READWRITE(deco32_irq_controller_r, deco32_irq_controller_w)
- AM_RANGE(0x130000, 0x131fff) AM_RAM_WRITE_LEGACY(deco32_buffered_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x130000, 0x131fff) AM_RAM_WRITE_LEGACY(deco32_buffered_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x138000, 0x138003) AM_READONLY AM_WRITENOP //palette dma complete in bit 0x8? ack? return 0 else tight loop
AM_RANGE(0x138008, 0x13800b) AM_WRITE_LEGACY(deco32_palette_dma_w)
@@ -927,7 +927,7 @@ static ADDRESS_MAP_START( tattass_map, AS_PROGRAM, 32, deco32_state )
AM_RANGE(0x164004, 0x164007) AM_WRITENOP /* Palette control Obj1 ($6 constant) */
AM_RANGE(0x164008, 0x16400b) AM_WRITENOP /* Palette control Obj2 ($5 constant) */
AM_RANGE(0x16400c, 0x16400f) AM_WRITENOP
- AM_RANGE(0x168000, 0x169fff) AM_RAM_WRITE_LEGACY(deco32_buffered_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x168000, 0x169fff) AM_RAM_WRITE_LEGACY(deco32_buffered_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x16c000, 0x16c003) AM_WRITENOP
AM_RANGE(0x16c008, 0x16c00b) AM_WRITE_LEGACY(deco32_palette_dma_w)
@@ -968,7 +968,7 @@ static ADDRESS_MAP_START( nslasher_map, AS_PROGRAM, 32, deco32_state )
AM_RANGE(0x164004, 0x164007) AM_WRITENOP /* Palette control Obj1 ($4 constant) */
AM_RANGE(0x164008, 0x16400b) AM_WRITENOP /* Palette control Obj2 ($6 constant) */
AM_RANGE(0x16400c, 0x16400f) AM_WRITENOP
- AM_RANGE(0x168000, 0x169fff) AM_RAM_WRITE_LEGACY(deco32_buffered_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x168000, 0x169fff) AM_RAM_WRITE_LEGACY(deco32_buffered_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x16c000, 0x16c003) AM_WRITENOP
AM_RANGE(0x16c008, 0x16c00b) AM_WRITE_LEGACY(deco32_palette_dma_w)
diff --git a/src/mame/drivers/deco_ld.c b/src/mame/drivers/deco_ld.c
index c024167e44e..26b8cf34139 100644
--- a/src/mame/drivers/deco_ld.c
+++ b/src/mame/drivers/deco_ld.c
@@ -196,7 +196,7 @@ static ADDRESS_MAP_START( begas_map, AS_PROGRAM, 8, deco_ld_state )
AM_RANGE(0x1003, 0x1003) AM_WRITE(rblaster_vram_bank_w) //might be 1001
AM_RANGE(0x1006, 0x1006) AM_NOP //ld status / command
AM_RANGE(0x1007, 0x1007) AM_READWRITE(laserdisc_r,laserdisc_w) // ld data
- AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE_LEGACY(paletteram_RRRGGGBB_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(paletteram_RRRGGGBB_w) AM_SHARE("paletteram")
AM_RANGE(0x2000, 0x27ff) AM_RAM
AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE(m_videoram)
AM_RANGE(0x3000, 0x3fff) AM_RAM
@@ -214,7 +214,7 @@ static ADDRESS_MAP_START( cobra_map, AS_PROGRAM, 8, deco_ld_state )
AM_RANGE(0x1004, 0x1004) AM_WRITE(rblaster_vram_bank_w) //might be 1001
AM_RANGE(0x1006, 0x1006) AM_NOP //ld status / command
AM_RANGE(0x1007, 0x1007) AM_READWRITE(laserdisc_r,laserdisc_w) // ld data
- AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE_LEGACY(paletteram_RRRGGGBB_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(paletteram_RRRGGGBB_w) AM_SHARE("paletteram")
AM_RANGE(0x2000, 0x2fff) AM_RAM
AM_RANGE(0x3000, 0x37ff) AM_RAM //vram attr?
AM_RANGE(0x3800, 0x3fff) AM_RAM AM_BASE(m_videoram)
@@ -230,7 +230,7 @@ static ADDRESS_MAP_START( rblaster_map, AS_PROGRAM, 8, deco_ld_state )
AM_RANGE(0x1003, 0x1003) AM_WRITE(rblaster_vram_bank_w) //might be 1001
AM_RANGE(0x1006, 0x1006) AM_NOP //ld status / command
AM_RANGE(0x1007, 0x1007) AM_READWRITE(laserdisc_r,laserdisc_w) // ld data
- AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE_LEGACY(paletteram_RRRGGGBB_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(paletteram_RRRGGGBB_w) AM_SHARE("paletteram")
AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE(m_videoram)
AM_RANGE(0x3000, 0x3fff) AM_RAM
AM_RANGE(0xc000, 0xffff) AM_ROM
diff --git a/src/mame/drivers/deco_mlc.c b/src/mame/drivers/deco_mlc.c
index 3132e680f70..42d1b7be818 100644
--- a/src/mame/drivers/deco_mlc.c
+++ b/src/mame/drivers/deco_mlc.c
@@ -147,9 +147,9 @@ static WRITE32_DEVICE_HANDLER( avengrs_eprom_w )
WRITE32_MEMBER(deco_mlc_state::avengrs_palette_w)
{
- COMBINE_DATA(&machine().generic.paletteram.u32[offset]);
+ COMBINE_DATA(&m_generic_paletteram_32[offset]);
/* x bbbbb ggggg rrrrr */
- palette_set_color_rgb(machine(),offset,pal5bit(machine().generic.paletteram.u32[offset] >> 0),pal5bit(machine().generic.paletteram.u32[offset] >> 5),pal5bit(machine().generic.paletteram.u32[offset] >> 10));
+ palette_set_color_rgb(machine(),offset,pal5bit(m_generic_paletteram_32[offset] >> 0),pal5bit(m_generic_paletteram_32[offset] >> 5),pal5bit(m_generic_paletteram_32[offset] >> 10));
}
READ32_MEMBER(deco_mlc_state::decomlc_vbl_r)
@@ -267,7 +267,7 @@ static ADDRESS_MAP_START( decomlc_map, AS_PROGRAM, 32, deco_mlc_state )
AM_RANGE(0x0200080, 0x02000ff) AM_RAM AM_BASE(m_mlc_clip_ram) AM_MIRROR(0xff000000)
AM_RANGE(0x0204000, 0x0206fff) AM_RAM_READ(mlc_spriteram_r) AM_BASE_SIZE(m_spriteram, m_spriteram_size) AM_MIRROR(0xff000000)
AM_RANGE(0x0280000, 0x029ffff) AM_RAM_READ(mlc_vram_r) AM_BASE(m_mlc_vram) AM_MIRROR(0xff000000)
- AM_RANGE(0x0300000, 0x0307fff) AM_RAM_WRITE(avengrs_palette_w) AM_BASE_GENERIC(paletteram) AM_MIRROR(0xff000000)
+ AM_RANGE(0x0300000, 0x0307fff) AM_RAM_WRITE(avengrs_palette_w) AM_SHARE("paletteram") AM_MIRROR(0xff000000)
AM_RANGE(0x0400000, 0x0400003) AM_READ_PORT("INPUTS") AM_MIRROR(0xff000000)
AM_RANGE(0x0440000, 0x044001f) AM_READ(test3_r) AM_MIRROR(0xff000000)
AM_RANGE(0x044001c, 0x044001f) AM_WRITENOP AM_MIRROR(0xff000000)
diff --git a/src/mame/drivers/dietgo.c b/src/mame/drivers/dietgo.c
index 0cc01640fab..a4047a89de3 100644
--- a/src/mame/drivers/dietgo.c
+++ b/src/mame/drivers/dietgo.c
@@ -24,7 +24,7 @@ static ADDRESS_MAP_START( dietgo_map, AS_PROGRAM, 16, dietgo_state )
AM_RANGE(0x220000, 0x2207ff) AM_WRITEONLY AM_BASE(m_pf1_rowscroll)
AM_RANGE(0x222000, 0x2227ff) AM_WRITEONLY AM_BASE(m_pf2_rowscroll)
AM_RANGE(0x280000, 0x2807ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0x300000, 0x300bff) AM_RAM_DEVWRITE_LEGACY("deco_common", decocomn_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x300000, 0x300bff) AM_RAM_DEVWRITE_LEGACY("deco_common", decocomn_nonbuffered_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x340000, 0x3407ff) AM_READWRITE_LEGACY(dietgo_104_prot_r, dietgo_104_prot_w)
AM_RANGE(0x380000, 0x38ffff) AM_RAM // mainram
ADDRESS_MAP_END
diff --git a/src/mame/drivers/diverboy.c b/src/mame/drivers/diverboy.c
index 9d576f22dd5..52109ccf23e 100644
--- a/src/mame/drivers/diverboy.c
+++ b/src/mame/drivers/diverboy.c
@@ -144,7 +144,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_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x100000, 0x100001) AM_WRITE(soundcmd_w)
- AM_RANGE(0x140000, 0x1407ff) AM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x140000, 0x1407ff) AM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
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.c b/src/mame/drivers/djmain.c
index 8b63ce99db8..762e086ae80 100644
--- a/src/mame/drivers/djmain.c
+++ b/src/mame/drivers/djmain.c
@@ -88,8 +88,8 @@ WRITE32_MEMBER(djmain_state::paletteram32_w)
{
int r,g,b;
- COMBINE_DATA(&machine().generic.paletteram.u32[offset]);
- data = machine().generic.paletteram.u32[offset];
+ COMBINE_DATA(&m_generic_paletteram_32[offset]);
+ data = m_generic_paletteram_32[offset];
r = (data >> 0) & 0xff;
g = (data >> 8) & 0xff;
@@ -435,7 +435,7 @@ static ADDRESS_MAP_START( memory_map, 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_WRITE(paletteram32_w) // COLOR RAM
- AM_BASE_GENERIC(paletteram)
+ AM_SHARE("paletteram")
AM_RANGE(0x500000, 0x57ffff) AM_READWRITE(sndram_r, sndram_w) // SOUND RAM
AM_RANGE(0x580000, 0x58003f) AM_DEVREADWRITE_LEGACY("k056832", k056832_long_r, k056832_long_w) // VIDEO REG (tilemap)
AM_RANGE(0x590000, 0x590007) AM_WRITE(unknown590000_w) // ??
diff --git a/src/mame/drivers/dogfgt.c b/src/mame/drivers/dogfgt.c
index 00a96c6ad7b..4ffdd930db3 100644
--- a/src/mame/drivers/dogfgt.c
+++ b/src/mame/drivers/dogfgt.c
@@ -71,7 +71,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_WRITE_LEGACY(paletteram_BBGGGRRR_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1870, 0x187f) AM_WRITE(paletteram_BBGGGRRR_w) AM_SHARE("paletteram")
AM_RANGE(0x2000, 0x3fff) AM_READWRITE_LEGACY(dogfgt_bitmapram_r, dogfgt_bitmapram_w)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/dominob.c b/src/mame/drivers/dominob.c
index febf207142d..0b44c236849 100644
--- a/src/mame/drivers/dominob.c
+++ b/src/mame/drivers/dominob.c
@@ -182,7 +182,7 @@ static ADDRESS_MAP_START( memmap, AS_PROGRAM, 8, dominob_state )
AM_RANGE(0xe840, 0xefff) AM_RAM
AM_RANGE(0xf000, 0xf07f) AM_RAM AM_BASE(m_bgram)
AM_RANGE(0xf080, 0xf7ff) AM_RAM
- AM_RANGE(0xf800, 0xfbff) AM_RAM_WRITE_LEGACY(paletteram_xxxxRRRRGGGGBBBB_le_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf800, 0xfbff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_le_w) AM_SHARE("paletteram")
AM_RANGE(0xfc00, 0xffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/dooyong.c b/src/mame/drivers/dooyong.c
index dcf9ea77c05..07f45f3102a 100644
--- a/src/mame/drivers/dooyong.c
+++ b/src/mame/drivers/dooyong.c
@@ -128,7 +128,7 @@ static ADDRESS_MAP_START( lastday_map, AS_PROGRAM, 8, dooyong_state )
AM_RANGE(0xc012, 0xc012) AM_WRITE_LEGACY(soundlatch_w)
AM_RANGE(0xc013, 0xc013) AM_READ_PORT("DSWA")
AM_RANGE(0xc014, 0xc014) AM_READ_PORT("DSWB")
- AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_SHARE("paletteram")
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE_LEGACY(dooyong_txvideoram8_w) AM_BASE(m_txvideoram)
AM_RANGE(0xe000, 0xefff) AM_RAM
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("spriteram")
@@ -149,7 +149,7 @@ static ADDRESS_MAP_START( pollux_map, AS_PROGRAM, 8, dooyong_state )
AM_RANGE(0xf010, 0xf010) AM_WRITE_LEGACY(soundlatch_w)
AM_RANGE(0xf018, 0xf01f) AM_WRITE_LEGACY(dooyong_bgscroll8_w)
AM_RANGE(0xf020, 0xf027) AM_WRITE_LEGACY(dooyong_fgscroll8_w)
- AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE_LEGACY(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_SHARE("paletteram")
ADDRESS_MAP_END
static ADDRESS_MAP_START( gulfstrm_map, AS_PROGRAM, 8, dooyong_state )
@@ -168,7 +168,7 @@ static ADDRESS_MAP_START( gulfstrm_map, AS_PROGRAM, 8, dooyong_state )
AM_RANGE(0xf010, 0xf010) AM_WRITE_LEGACY(soundlatch_w)
AM_RANGE(0xf018, 0xf01f) AM_WRITE_LEGACY(dooyong_bgscroll8_w)
AM_RANGE(0xf020, 0xf027) AM_WRITE_LEGACY(dooyong_fgscroll8_w)
- AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE_LEGACY(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_SHARE("paletteram")
ADDRESS_MAP_END
static ADDRESS_MAP_START( bluehawk_map, AS_PROGRAM, 8, dooyong_state )
@@ -185,7 +185,7 @@ static ADDRESS_MAP_START( bluehawk_map, AS_PROGRAM, 8, dooyong_state )
AM_RANGE(0xc018, 0xc01f) AM_WRITE_LEGACY(dooyong_fg2scroll8_w)
AM_RANGE(0xc040, 0xc047) AM_WRITE_LEGACY(dooyong_bgscroll8_w)
AM_RANGE(0xc048, 0xc04f) AM_WRITE_LEGACY(dooyong_fgscroll8_w)
- AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE_LEGACY(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_SHARE("paletteram")
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE_LEGACY(dooyong_txvideoram8_w) AM_BASE(m_txvideoram)
AM_RANGE(0xe000, 0xefff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xf000, 0xffff) AM_RAM
@@ -216,7 +216,7 @@ static ADDRESS_MAP_START( primella_map, AS_PROGRAM, 8, dooyong_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_RAM_WRITE_LEGACY(dooyong_txvideoram8_w) AM_BASE(m_txvideoram)
- AM_RANGE(0xf000, 0xf7ff) AM_WRITE_LEGACY(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf000, 0xf7ff) AM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_SHARE("paletteram")
AM_RANGE(0xf800, 0xf800) AM_READ_PORT("DSWA")
AM_RANGE(0xf800, 0xf800) AM_WRITE_LEGACY(primella_ctrl_w) /* bank switch, flip screen etc */
AM_RANGE(0xf810, 0xf810) AM_READ_PORT("DSWB")
@@ -239,7 +239,7 @@ static ADDRESS_MAP_START( rshark_map, AS_PROGRAM, 16, dooyong_state )
AM_RANGE(0x0c0006, 0x0c0007) AM_READ_PORT("SYSTEM")
AM_RANGE(0x0c4000, 0x0c400f) AM_WRITE_LEGACY(dooyong_bgscroll16_w)
AM_RANGE(0x0c4010, 0x0c401f) AM_WRITE_LEGACY(dooyong_bg2scroll16_w)
- AM_RANGE(0x0c8000, 0x0c8fff) AM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0c8000, 0x0c8fff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x0c0012, 0x0c0013) AM_WRITE_LEGACY(soundlatch_word_w)
AM_RANGE(0x0c0014, 0x0c0015) AM_WRITE_LEGACY(rshark_ctrl_w) /* flip screen + unknown stuff */
AM_RANGE(0x0cc000, 0x0cc00f) AM_WRITE_LEGACY(dooyong_fgscroll16_w)
@@ -257,7 +257,7 @@ static ADDRESS_MAP_START( superx_map, AS_PROGRAM, 16, dooyong_state )
AM_RANGE(0x080006, 0x080007) AM_READ_PORT("SYSTEM")
AM_RANGE(0x084000, 0x08400f) AM_WRITE_LEGACY(dooyong_bgscroll16_w)
AM_RANGE(0x084010, 0x08401f) AM_WRITE_LEGACY(dooyong_bg2scroll16_w)
- AM_RANGE(0x088000, 0x088fff) AM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x088000, 0x088fff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x080012, 0x080013) AM_WRITE_LEGACY(soundlatch_word_w)
AM_RANGE(0x080014, 0x080015) AM_WRITE_LEGACY(rshark_ctrl_w) /* flip screen + unknown stuff */
AM_RANGE(0x08c000, 0x08c00f) AM_WRITE_LEGACY(dooyong_fgscroll16_w)
@@ -278,7 +278,7 @@ static ADDRESS_MAP_START( popbingo_map, AS_PROGRAM, 16, dooyong_state )
AM_RANGE(0x0c0018, 0x0c001b) AM_WRITENOP // ?
AM_RANGE(0x0c4000, 0x0c400f) AM_WRITE_LEGACY(dooyong_bgscroll16_w)
AM_RANGE(0x0c4010, 0x0c401f) AM_WRITE_LEGACY(dooyong_bg2scroll16_w) // not used atm
- AM_RANGE(0x0c8000, 0x0c8fff) AM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0c8000, 0x0c8fff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x0cc000, 0x0cc00f) AM_WRITE_LEGACY(dooyong_fgscroll16_w) // not used atm
AM_RANGE(0x0cc010, 0x0cc01f) AM_WRITE_LEGACY(dooyong_fg2scroll16_w) // not used atm
AM_RANGE(0x0dc000, 0x0dc01f) AM_RAM // registers of some kind?
diff --git a/src/mame/drivers/drgnmst.c b/src/mame/drivers/drgnmst.c
index 04f09399d02..6a69e832b91 100644
--- a/src/mame/drivers/drgnmst.c
+++ b/src/mame/drivers/drgnmst.c
@@ -199,7 +199,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_WRITE_LEGACY(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x900000, 0x903fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x904000, 0x907fff) AM_RAM_WRITE_LEGACY(drgnmst_md_videoram_w) AM_BASE(m_md_videoram)
AM_RANGE(0x908000, 0x90bfff) AM_RAM_WRITE_LEGACY(drgnmst_bg_videoram_w) AM_BASE(m_bg_videoram)
AM_RANGE(0x90c000, 0x90ffff) AM_RAM_WRITE_LEGACY(drgnmst_fg_videoram_w) AM_BASE(m_fg_videoram)
diff --git a/src/mame/drivers/drtomy.c b/src/mame/drivers/drtomy.c
index 100240a8758..b3e943ec40f 100644
--- a/src/mame/drivers/drtomy.c
+++ b/src/mame/drivers/drtomy.c
@@ -164,7 +164,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_BASE(m_videoram_fg) /* Video RAM FG */
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(drtomy_vram_bg_w) AM_BASE(m_videoram_bg) /* Video RAM BG */
- AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) /* Palette */
+ AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") /* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(m_spriteram) /* Sprite RAM */
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW1")
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("DSW2")
diff --git a/src/mame/drivers/dynduke.c b/src/mame/drivers/dynduke.c
index d8b1c271c42..01eae481057 100644
--- a/src/mame/drivers/dynduke.c
+++ b/src/mame/drivers/dynduke.c
@@ -90,7 +90,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_LEGACY(dynduke_background_w) AM_BASE(m_back_data)
AM_RANGE(0x06800, 0x06fff) AM_RAM_WRITE_LEGACY(dynduke_foreground_w) AM_BASE(m_fore_data)
- AM_RANGE(0x07000, 0x07fff) AM_RAM_WRITE_LEGACY(dynduke_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x07000, 0x07fff) AM_RAM_WRITE_LEGACY(dynduke_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x08000, 0x08fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x0a000, 0x0a001) AM_WRITE_LEGACY(dynduke_gfxbank_w)
AM_RANGE(0x0c000, 0x0c001) AM_WRITENOP
diff --git a/src/mame/drivers/egghunt.c b/src/mame/drivers/egghunt.c
index 17be0cc1f08..44dde71ac0c 100644
--- a/src/mame/drivers/egghunt.c
+++ b/src/mame/drivers/egghunt.c
@@ -219,7 +219,7 @@ static WRITE8_DEVICE_HANDLER( 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_WRITE_LEGACY(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_SHARE("paletteram")
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(egghunt_atram_w) AM_BASE(m_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.c b/src/mame/drivers/eprom.c
index af83fb3f639..fac615f2e6e 100644
--- a/src/mame/drivers/eprom.c
+++ b/src/mame/drivers/eprom.c
@@ -175,7 +175,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, eprom_state )
AM_RANGE(0x360010, 0x360011) AM_WRITE_LEGACY(eprom_latch_w)
AM_RANGE(0x360020, 0x360021) AM_WRITE_LEGACY(atarigen_sound_reset_w)
AM_RANGE(0x360030, 0x360031) AM_WRITE_LEGACY(atarigen_sound_w)
- AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM AM_SHARE("paletteram")
AM_RANGE(0x3f0000, 0x3f1fff) AM_WRITE_LEGACY(atarigen_playfield_w) AM_BASE(m_playfield)
AM_RANGE(0x3f2000, 0x3f3fff) AM_READWRITE_LEGACY(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
AM_RANGE(0x3f4000, 0x3f4f7f) AM_WRITE_LEGACY(atarigen_alpha_w) AM_BASE(m_alpha)
@@ -200,7 +200,7 @@ static ADDRESS_MAP_START( guts_map, AS_PROGRAM, 16, eprom_state )
// AM_RANGE(0x360010, 0x360011) AM_WRITE_LEGACY(eprom_latch_w)
AM_RANGE(0x360020, 0x360021) AM_WRITE_LEGACY(atarigen_sound_reset_w)
AM_RANGE(0x360030, 0x360031) AM_WRITE_LEGACY(atarigen_sound_w)
- AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM AM_SHARE("paletteram")
AM_RANGE(0xff0000, 0xff1fff) AM_WRITE_LEGACY(atarigen_playfield_upper_w) AM_BASE(m_playfield_upper)
AM_RANGE(0xff8000, 0xff9fff) AM_WRITE_LEGACY(atarigen_playfield_w) AM_BASE(m_playfield)
AM_RANGE(0xffa000, 0xffbfff) AM_READWRITE_LEGACY(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
diff --git a/src/mame/drivers/esd16.c b/src/mame/drivers/esd16.c
index 93ff00780b9..2ec2b025ea5 100644
--- a/src/mame/drivers/esd16.c
+++ b/src/mame/drivers/esd16.c
@@ -82,7 +82,7 @@ WRITE16_MEMBER(esd16_state::esd16_sound_command_w)
static ADDRESS_MAP_START( multchmp_map, AS_PROGRAM, 16, esd16_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM
- AM_RANGE(0x200000, 0x2005ff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x200000, 0x2005ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // Palette
/**/AM_RANGE(0x300000, 0x3007ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
AM_RANGE(0x300800, 0x300807) AM_WRITE(esd16_spriteram_w) // Sprites (Mirrored)
/**/AM_RANGE(0x400000, 0x403fff) AM_RAM_WRITE_LEGACY(esd16_vram_0_w) AM_BASE(m_vram_0) // Layers
@@ -133,7 +133,7 @@ WRITE16_MEMBER(esd16_state::esd_eeprom_w)
static ADDRESS_MAP_START( hedpanic_map, AS_PROGRAM, 16, esd16_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM
- AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x900000, 0x9007ff) AM_WRITEONLY AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
AM_RANGE(0x900800, 0x900807) AM_WRITE(esd16_spriteram_w) // Sprites (Mirrored)
AM_RANGE(0xa00000, 0xa03fff) AM_WRITE_LEGACY(esd16_vram_0_w) AM_BASE(m_vram_0) // Layers
@@ -164,7 +164,7 @@ static ADDRESS_MAP_START( mchampdx_map, AS_PROGRAM, 16, esd16_state )
AM_RANGE(0x300000, 0x303fff) AM_WRITE_LEGACY(esd16_vram_0_w) AM_BASE(m_vram_0) // Layers
AM_RANGE(0x320000, 0x323fff) AM_WRITE_LEGACY(esd16_vram_1_w) AM_BASE(m_vram_1) //
AM_RANGE(0x324000, 0x327fff) AM_WRITE_LEGACY(esd16_vram_1_w) AM_BASE(m_vram_1) // mirror?
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x500000, 0x500001) AM_WRITENOP // IRQ Ack
AM_RANGE(0x500002, 0x500003) AM_READ_PORT("P1_P2")
AM_RANGE(0x500004, 0x500005) AM_READ_PORT("SYSTEM")
@@ -188,7 +188,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( tangtang_map, AS_PROGRAM, 16, esd16_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
- AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // RAM
+ AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // RAM
AM_RANGE(0x200000, 0x2007ff) AM_WRITEONLY AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
AM_RANGE(0x200800, 0x200807) AM_WRITE(esd16_spriteram_w) // Sprites (Mirrored)
AM_RANGE(0x300000, 0x303fff) AM_WRITE_LEGACY(esd16_vram_0_w) AM_BASE(m_vram_0) // Layers
diff --git a/src/mame/drivers/expro02.c b/src/mame/drivers/expro02.c
index 4db9fa3d52c..cbcc6627a7b 100644
--- a/src/mame/drivers/expro02.c
+++ b/src/mame/drivers/expro02.c
@@ -323,7 +323,8 @@ static WRITE16_HANDLER( galsnew_6295_bankswitch_w )
static WRITE16_HANDLER( galsnew_paletteram_w )
{
- data = COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
+ expro02_state *state = space->machine().driver_data<expro02_state>();
+ data = COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
palette_set_color_rgb(space->machine(),offset,pal5bit(data >> 6),pal5bit(data >> 11),pal5bit(data >> 1));
}
@@ -383,7 +384,7 @@ static ADDRESS_MAP_START( galsnew_map, AS_PROGRAM, 16, expro02_state )
AM_RANGE(0x582000, 0x582fff) AM_RAM AM_BASE(m_vscroll[1]) //
AM_RANGE(0x583000, 0x583fff) AM_RAM AM_BASE(m_vscroll[0]) //
- AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE_LEGACY(galsnew_paletteram_w) AM_BASE_GENERIC(paletteram) // palette?
+ AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE_LEGACY(galsnew_paletteram_w) AM_SHARE("paletteram") // palette?
AM_RANGE(0x680000, 0x68001f) AM_RAM_WRITE_LEGACY(kaneko16_layers_0_regs_w) AM_BASE(m_layers_0_regs) // sprite regs? tileregs?
@@ -419,7 +420,7 @@ static ADDRESS_MAP_START( fantasia_map, AS_PROGRAM, 16, expro02_state )
AM_RANGE(0x581000, 0x581fff) AM_RAM_WRITE_LEGACY(kaneko16_vram_0_w) AM_BASE(m_vram[0]) //
AM_RANGE(0x582000, 0x582fff) AM_RAM AM_BASE(m_vscroll[1]) //
AM_RANGE(0x583000, 0x583fff) AM_RAM AM_BASE(m_vscroll[0]) //
- AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE_LEGACY(galsnew_paletteram_w) AM_BASE_GENERIC(paletteram) // palette?
+ AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE_LEGACY(galsnew_paletteram_w) AM_SHARE("paletteram") // palette?
AM_RANGE(0x680000, 0x68001f) AM_RAM_WRITE_LEGACY(kaneko16_layers_0_regs_w) AM_BASE(m_layers_0_regs) // sprite regs? tileregs?
AM_RANGE(0x700000, 0x700fff) AM_RAM AM_SHARE("spriteram") // sprites? 0x72f words tested
AM_RANGE(0x780000, 0x78001f) AM_RAM_WRITE_LEGACY(kaneko16_sprites_regs_w) AM_BASE(m_sprites_regs) // sprite regs? tileregs?
diff --git a/src/mame/drivers/exterm.c b/src/mame/drivers/exterm.c
index cb24b0589cc..d157baa7940 100644
--- a/src/mame/drivers/exterm.c
+++ b/src/mame/drivers/exterm.c
@@ -286,7 +286,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_WRITE(sound_latch_w)
AM_RANGE(0x015c0000, 0x015fffff) AM_MIRROR(0xfc000000) AM_WRITE_LEGACY(watchdog_reset16_w)
- AM_RANGE(0x01800000, 0x01807fff) AM_MIRROR(0xfc7f8000) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x01800000, 0x01807fff) AM_MIRROR(0xfc7f8000) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x02800000, 0x02807fff) AM_MIRROR(0xfc7f8000) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x03000000, 0x03ffffff) AM_MIRROR(0xfc000000) AM_ROM AM_REGION("user1", 0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/f1gp.c b/src/mame/drivers/f1gp.c
index 7963b623a6c..0a358762d86 100644
--- a/src/mame/drivers/f1gp.c
+++ b/src/mame/drivers/f1gp.c
@@ -103,7 +103,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_READWRITE(sharedram_r, sharedram_w) AM_BASE(m_sharedram) // DUAL RAM
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE_LEGACY(f1gp_fgvideoram_w) AM_BASE(m_fgvideoram) // CHARACTER
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // PALETTE
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // PALETTE
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("INPUTS")
AM_RANGE(0xfff000, 0xfff001) AM_WRITE_LEGACY(f1gp_gfxctrl_w)
// AM_RANGE(0xfff002, 0xfff003) analog wheel?
@@ -125,7 +125,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_READWRITE(sharedram_r, sharedram_w) AM_BASE(m_sharedram) // DUAL RAM
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE_LEGACY(f1gp_fgvideoram_w) AM_BASE(m_fgvideoram) // CHARACTER
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // PALETTE
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // PALETTE
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("INPUTS") AM_WRITE_LEGACY(f1gp2_gfxctrl_w)
// AM_RANGE(0xfff002, 0xfff003) analog wheel?
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW1")
@@ -198,7 +198,7 @@ static ADDRESS_MAP_START( f1gpb_cpu1_map, AS_PROGRAM, 16, f1gp_state )
AM_RANGE(0xff8000, 0xffbfff) AM_RAM
AM_RANGE(0xffc000, 0xffcfff) AM_READWRITE(sharedram_r, sharedram_w) AM_BASE(m_sharedram)
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE_LEGACY(f1gp_fgvideoram_w) AM_BASE(m_fgvideoram)
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
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.c b/src/mame/drivers/fantland.c
index dddb2600333..18d8e7e11a2 100644
--- a/src/mame/drivers/fantland.c
+++ b/src/mame/drivers/fantland.c
@@ -123,7 +123,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_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w ) AM_BASE_GENERIC( paletteram )
+ AM_RANGE( 0xa2000, 0xa21ff ) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w ) AM_SHARE("paletteram")
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 )
@@ -143,7 +143,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_WRITE_LEGACY(paletteram_xRRRRRGGGGGBBBBB_le_w ) AM_BASE_GENERIC( paletteram )
+ AM_RANGE( 0x52000, 0x521ff ) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w ) AM_SHARE("paletteram")
AM_RANGE( 0x53000, 0x53000 ) AM_READ_PORT("P1") AM_WRITE(fantland_nmi_enable_w )
AM_RANGE( 0x53001, 0x53001 ) AM_READ_PORT("P2")
@@ -235,7 +235,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_WRITE_LEGACY(paletteram_xRRRRRGGGGGBBBBB_le_w ) AM_BASE_GENERIC( paletteram )
+ AM_RANGE( 0x52000, 0x521ff ) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w ) AM_SHARE("paletteram")
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" )
@@ -264,7 +264,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_WRITE_LEGACY(paletteram_xRRRRRGGGGGBBBBB_le_w ) AM_BASE_GENERIC( paletteram )
+ AM_RANGE(0x52000, 0x521ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w ) AM_SHARE( "paletteram" )
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.c b/src/mame/drivers/feversoc.c
index 202ce16fcf4..85a133e88a4 100644
--- a/src/mame/drivers/feversoc.c
+++ b/src/mame/drivers/feversoc.c
@@ -118,17 +118,17 @@ static SCREEN_UPDATE_IND16( feversoc )
WRITE32_MEMBER(feversoc_state::fs_paletteram_w)
{
int r,g,b;
- COMBINE_DATA(&machine().generic.paletteram.u32[offset]);
+ COMBINE_DATA(&m_generic_paletteram_32[offset]);
- r = ((machine().generic.paletteram.u32[offset] & 0x001f0000)>>16) << 3;
- g = ((machine().generic.paletteram.u32[offset] & 0x03e00000)>>16) >> 2;
- b = ((machine().generic.paletteram.u32[offset] & 0x7c000000)>>16) >> 7;
+ r = ((m_generic_paletteram_32[offset] & 0x001f0000)>>16) << 3;
+ g = ((m_generic_paletteram_32[offset] & 0x03e00000)>>16) >> 2;
+ b = ((m_generic_paletteram_32[offset] & 0x7c000000)>>16) >> 7;
palette_set_color(machine(),offset*2+0,MAKE_RGB(r,g,b));
- r = (machine().generic.paletteram.u32[offset] & 0x001f) << 3;
- g = (machine().generic.paletteram.u32[offset] & 0x03e0) >> 2;
- b = (machine().generic.paletteram.u32[offset] & 0x7c00) >> 7;
+ r = (m_generic_paletteram_32[offset] & 0x001f) << 3;
+ g = (m_generic_paletteram_32[offset] & 0x03e0) >> 2;
+ b = (m_generic_paletteram_32[offset] & 0x7c00) >> 7;
palette_set_color(machine(),offset*2+1,MAKE_RGB(r,g,b));
}
@@ -171,7 +171,7 @@ static ADDRESS_MAP_START( feversoc_map, AS_PROGRAM, 32, feversoc_state )
AM_RANGE(0x06000008, 0x0600000b) AM_READ(in0_r)
AM_RANGE(0x0600000c, 0x0600000f) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff0000)
// AM_RANGE(0x06010000, 0x06017fff) AM_RAM //contains RISE11 keys and other related stuff.
- AM_RANGE(0x06018000, 0x06019fff) AM_RAM_WRITE(fs_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x06018000, 0x06019fff) AM_RAM_WRITE(fs_paletteram_w) AM_SHARE("paletteram")
ADDRESS_MAP_END
static const gfx_layout spi_spritelayout =
diff --git a/src/mame/drivers/fitfight.c b/src/mame/drivers/fitfight.c
index b4a590356db..6e70666788c 100644
--- a/src/mame/drivers/fitfight.c
+++ b/src/mame/drivers/fitfight.c
@@ -164,7 +164,7 @@ static ADDRESS_MAP_START( fitfight_main_map, AS_PROGRAM, 16, fitfight_state )
AM_RANGE(0xb14000, 0xb17fff) AM_WRITENOP //used by histryma @0x0000b25a,b270
AM_RANGE(0xb18000, 0xb1bfff) AM_WRITENOP //used by histryma @0x0000b25a,b270,b286
- AM_RANGE(0xc00000, 0xc00fff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xc00000, 0xc00fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_BASE(m_spriteram)
@@ -195,7 +195,7 @@ static ADDRESS_MAP_START( bbprot_main_map, AS_PROGRAM, 16, fitfight_state )
AM_RANGE(0xb0c000, 0xb0ffff) AM_RAM_WRITE_LEGACY(fof_txt_tileram_w) AM_BASE(m_fof_txt_tileram)
AM_RANGE(0xc00000, 0xc00fff) AM_READONLY
- AM_RANGE(0xc00000, 0xc03fff) AM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xc00000, 0xc03fff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_BASE(m_spriteram)
diff --git a/src/mame/drivers/flkatck.c b/src/mame/drivers/flkatck.c
index 204c0b62fef..2d290808dbb 100644
--- a/src/mame/drivers/flkatck.c
+++ b/src/mame/drivers/flkatck.c
@@ -96,7 +96,7 @@ static ADDRESS_MAP_START( flkatck_map, AS_PROGRAM, 8, flkatck_state )
AM_RANGE(0x0000, 0x0007) AM_RAM_WRITE_LEGACY(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_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_le_w) AM_BASE_GENERIC(paletteram) /* palette */
+ AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_le_w) AM_SHARE("paletteram") /* palette */
AM_RANGE(0x1000, 0x1fff) AM_RAM /* RAM */
AM_RANGE(0x2000, 0x3fff) AM_RAM_WRITE_LEGACY(flkatck_k007121_w) AM_BASE(m_k007121_ram) /* Video RAM (007121) */
AM_RANGE(0x4000, 0x5fff) AM_ROMBANK("bank1") /* banked ROM */
diff --git a/src/mame/drivers/foodf.c b/src/mame/drivers/foodf.c
index b1d83646b5c..18566b00412 100644
--- a/src/mame/drivers/foodf.c
+++ b/src/mame/drivers/foodf.c
@@ -222,7 +222,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, foodf_state )
AM_RANGE(0x940000, 0x940007) AM_MIRROR(0x023ff8) AM_READ_LEGACY(analog_r)
AM_RANGE(0x944000, 0x944007) AM_MIRROR(0x023ff8) AM_WRITE_LEGACY(analog_w)
AM_RANGE(0x948000, 0x948001) AM_MIRROR(0x023ffe) AM_READ_PORT("SYSTEM") AM_WRITE8_LEGACY(digital_w, 0x00ff)
- AM_RANGE(0x950000, 0x9501ff) AM_MIRROR(0x023e00) AM_WRITE_LEGACY(foodf_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x950000, 0x9501ff) AM_MIRROR(0x023e00) AM_WRITE_LEGACY(foodf_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x954000, 0x954001) AM_MIRROR(0x023ffe) AM_WRITE_LEGACY(nvram_recall_w)
AM_RANGE(0x958000, 0x958001) AM_MIRROR(0x023ffe) AM_READWRITE_LEGACY(watchdog_reset16_r, watchdog_reset16_w)
AM_RANGE(0xa40000, 0xa4001f) AM_MIRROR(0x03ffe0) AM_DEVREADWRITE8_LEGACY("pokey2", pokey_r, pokey_w, 0x00ff)
diff --git a/src/mame/drivers/funkyjet.c b/src/mame/drivers/funkyjet.c
index 82dec57dbd1..5f3762f8770 100644
--- a/src/mame/drivers/funkyjet.c
+++ b/src/mame/drivers/funkyjet.c
@@ -102,7 +102,7 @@ Notes:
static ADDRESS_MAP_START( funkyjet_map, AS_PROGRAM, 16, funkyjet_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x120000, 0x1207ff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x120000, 0x1207ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x140000, 0x143fff) AM_RAM
AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x180000, 0x1807ff) AM_READWRITE_LEGACY(deco16_146_funkyjet_prot_r, deco16_146_funkyjet_prot_w) AM_BASE_LEGACY(&deco16_prot_ram)
diff --git a/src/mame/drivers/fuukifg2.c b/src/mame/drivers/fuukifg2.c
index 2788f4ea087..2bafe3361eb 100644
--- a/src/mame/drivers/fuukifg2.c
+++ b/src/mame/drivers/fuukifg2.c
@@ -93,7 +93,7 @@ static ADDRESS_MAP_START( fuuki16_map, AS_PROGRAM, 16, fuuki16_state )
AM_RANGE(0x504000, 0x505fff) AM_RAM_WRITE_LEGACY(fuuki16_vram_2_w) AM_BASE(m_vram[2]) //
AM_RANGE(0x506000, 0x507fff) AM_RAM_WRITE_LEGACY(fuuki16_vram_3_w) AM_BASE(m_vram[3]) //
AM_RANGE(0x600000, 0x601fff) AM_MIRROR(0x008000) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites, mirrored?
- AM_RANGE(0x700000, 0x703fff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x700000, 0x703fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // 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/gaelco.c b/src/mame/drivers/gaelco.c
index 0a730c84939..ceb1739ee08 100644
--- a/src/mame/drivers/gaelco.c
+++ b/src/mame/drivers/gaelco.c
@@ -122,7 +122,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_BASE(m_vregs) /* Video Registers */
// AM_RANGE(0x10800c, 0x10800d) AM_WRITE_LEGACY(watchdog_reset_w) /* INT 6 ACK/Watchdog timer */
- AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) /* Palette */
+ AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram") /* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(m_spriteram) /* Sprite RAM */
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW1")
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("DSW2")
@@ -149,7 +149,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_BASE(m_vregs) /* Video Registers */
// AM_RANGE(0x10800c, 0x10800d) AM_WRITE_LEGACY(watchdog_reset_w) /* INT 6 ACK/Watchdog timer */
- AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) /* Palette */
+ AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram") /* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(m_spriteram) /* Sprite RAM */
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW2")
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("DSW1")
@@ -166,7 +166,7 @@ static ADDRESS_MAP_START( squash_map, AS_PROGRAM, 16, gaelco_state )
AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(gaelco_encrypted_w) AM_BASE(m_screen) /* Screen RAM */
AM_RANGE(0x108000, 0x108007) AM_WRITEONLY AM_BASE(m_vregs) /* Video Registers */
// AM_RANGE(0x10800c, 0x10800d) AM_WRITE_LEGACY(watchdog_reset_w) /* INT 6 ACK/Watchdog timer */
- AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) /* Palette */
+ AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram") /* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(m_spriteram) /* Sprite RAM */
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW2")
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("DSW1")
@@ -183,7 +183,7 @@ static ADDRESS_MAP_START( thoop_map, AS_PROGRAM, 16, gaelco_state )
AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(thoop_encrypted_w) AM_BASE(m_screen) /* Screen RAM */
AM_RANGE(0x108000, 0x108007) AM_WRITEONLY AM_BASE(m_vregs) /* Video Registers */
// AM_RANGE(0x10800c, 0x10800d) AM_WRITE_LEGACY(watchdog_reset_w) /* INT 6 ACK/Watchdog timer */
- AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) /* Palette */
+ AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram") /* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(m_spriteram) /* Sprite RAM */
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW2")
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("DSW1")
diff --git a/src/mame/drivers/gaelco2.c b/src/mame/drivers/gaelco2.c
index 5ac239d685e..16e71b43f47 100644
--- a/src/mame/drivers/gaelco2.c
+++ b/src/mame/drivers/gaelco2.c
@@ -58,7 +58,7 @@ static ADDRESS_MAP_START( maniacsq_map, AS_PROGRAM, 16, gaelco2_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM /* ROM */
AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE_LEGACY("gaelco", gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE_LEGACY(gaelco2_vram_w) AM_SHARE("spriteram") /* Video RAM */
- AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE_LEGACY(gaelco2_palette_w) AM_BASE_GENERIC(paletteram) /* Palette */
+ AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE_LEGACY(gaelco2_palette_w) AM_SHARE("paletteram") /* Palette */
AM_RANGE(0x218004, 0x218009) AM_RAM AM_BASE(m_vregs) /* Video Registers */
AM_RANGE(0x300000, 0x300001) AM_READ_PORT("IN0") /* DSW #1 + Input 1P */
AM_RANGE(0x300002, 0x300003) AM_READ_PORT("IN1") /* DSW #2 + Input 2P */
@@ -215,7 +215,7 @@ static ADDRESS_MAP_START( bang_map, AS_PROGRAM, 16, gaelco2_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE_LEGACY("gaelco", gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE_LEGACY(gaelco2_vram_w) AM_SHARE("spriteram") /* Video RAM */
- AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE_LEGACY(gaelco2_palette_w) AM_BASE_GENERIC(paletteram) /* Palette */
+ AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE_LEGACY(gaelco2_palette_w) AM_SHARE("paletteram") /* Palette */
AM_RANGE(0x218004, 0x218009) AM_READONLY /* Video Registers */
AM_RANGE(0x218004, 0x218007) AM_WRITEONLY AM_BASE(m_vregs) /* Video Registers */
AM_RANGE(0x218008, 0x218009) AM_WRITENOP /* CLR INT Video */
@@ -433,7 +433,7 @@ static ADDRESS_MAP_START( alighunt_map, AS_PROGRAM, 16, gaelco2_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE_LEGACY("gaelco", gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE_LEGACY(gaelco2_vram_w) AM_SHARE("spriteram") /* Video RAM */
- AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE_LEGACY(gaelco2_palette_w) AM_BASE_GENERIC(paletteram) /* Palette */
+ AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE_LEGACY(gaelco2_palette_w) AM_SHARE("paletteram") /* Palette */
AM_RANGE(0x218004, 0x218009) AM_RAM AM_BASE(m_vregs) /* Video Registers */
AM_RANGE(0x300000, 0x300001) AM_READ_PORT("IN0") /* DSW #1 + Input 1P */
AM_RANGE(0x300002, 0x300003) AM_READ_PORT("IN1") /* DSW #2 + Input 2P */
@@ -644,7 +644,7 @@ static ADDRESS_MAP_START( touchgo_map, AS_PROGRAM, 16, gaelco2_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE_LEGACY("gaelco", gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE_LEGACY(gaelco2_vram_w) AM_SHARE("spriteram") /* Video RAM */
- AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE_LEGACY(gaelco2_palette_w) AM_BASE_GENERIC(paletteram) /* Palette */
+ AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE_LEGACY(gaelco2_palette_w) AM_SHARE("paletteram") /* Palette */
AM_RANGE(0x218004, 0x218009) AM_RAM AM_BASE(m_vregs) /* Video Registers */
AM_RANGE(0x300000, 0x300001) AM_READ_PORT("IN0") /* DSW #1 + Input 1P */
AM_RANGE(0x300002, 0x300003) AM_READ_PORT("IN1") /* DSW #2 + Input 2P */
@@ -908,7 +908,7 @@ static ADDRESS_MAP_START( snowboar_map, AS_PROGRAM, 16, gaelco2_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE_LEGACY("gaelco", gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE_LEGACY(gaelco2_vram_w) AM_SHARE("spriteram") /* Video RAM */
- AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE_LEGACY(gaelco2_palette_w) AM_BASE_GENERIC(paletteram) /* Palette */
+ AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE_LEGACY(gaelco2_palette_w) AM_SHARE("paletteram") /* Palette */
AM_RANGE(0x212000, 0x213fff) AM_RAM /* Extra RAM */
AM_RANGE(0x218004, 0x218009) AM_RAM AM_BASE(m_vregs) /* Video Registers */
AM_RANGE(0x300000, 0x300001) AM_READ_PORT("P1")
@@ -1093,7 +1093,7 @@ static ADDRESS_MAP_START( wrally2_map, AS_PROGRAM, 16, gaelco2_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE_LEGACY("gaelco", gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE_LEGACY(gaelco2_vram_w) AM_SHARE("spriteram") /* Video RAM */
- AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE_LEGACY(gaelco2_palette_w) AM_BASE_GENERIC(paletteram) /* Palette */
+ AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE_LEGACY(gaelco2_palette_w) AM_SHARE("paletteram") /* Palette */
AM_RANGE(0x212000, 0x213fff) AM_RAM /* Extra RAM */
AM_RANGE(0x218004, 0x218009) AM_RAM AM_BASE(m_vregs) /* Video Registers */
AM_RANGE(0x300000, 0x300001) AM_READ_PORT("IN0") /* DIPSW #2 + Inputs 1P */
diff --git a/src/mame/drivers/gaelco3d.c b/src/mame/drivers/gaelco3d.c
index 6ea1f2888e9..590836ab997 100644
--- a/src/mame/drivers/gaelco3d.c
+++ b/src/mame/drivers/gaelco3d.c
@@ -770,7 +770,7 @@ WRITE32_MEMBER(gaelco3d_state::unknown_13a_w)
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, gaelco3d_state )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x1fffff) AM_ROM
- AM_RANGE(0x400000, 0x40ffff) AM_RAM_WRITE_LEGACY(gaelco3d_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x400000, 0x40ffff) AM_RAM_WRITE_LEGACY(gaelco3d_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x51000c, 0x51000d) AM_READ_PORT("IN0")
AM_RANGE(0x51001c, 0x51001d) AM_READ_PORT("IN1")
AM_RANGE(0x51002c, 0x51002d) AM_READ_PORT("IN2")
@@ -800,7 +800,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( main020_map, AS_PROGRAM, 32, gaelco3d_state )
AM_RANGE(0x000000, 0x1fffff) AM_ROM
- AM_RANGE(0x400000, 0x40ffff) AM_RAM_WRITE_LEGACY(gaelco3d_paletteram_020_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x400000, 0x40ffff) AM_RAM_WRITE_LEGACY(gaelco3d_paletteram_020_w) AM_SHARE("paletteram")
AM_RANGE(0x51000c, 0x51000f) AM_READ_PORT("IN0")
AM_RANGE(0x51001c, 0x51001f) AM_READ_PORT("IN1")
AM_RANGE(0x51002c, 0x51002f) AM_READ_PORT("IN2")
diff --git a/src/mame/drivers/gaiden.c b/src/mame/drivers/gaiden.c
index 35877e27889..581586da5f7 100644
--- a/src/mame/drivers/gaiden.c
+++ b/src/mame/drivers/gaiden.c
@@ -394,7 +394,7 @@ static ADDRESS_MAP_START( gaiden_map, AS_PROGRAM, 16, gaiden_state )
AM_RANGE(0x072000, 0x073fff) AM_READWRITE_LEGACY(gaiden_videoram2_r, gaiden_videoram2_w) AM_BASE(m_videoram2)
AM_RANGE(0x074000, 0x075fff) AM_READWRITE_LEGACY(gaiden_videoram3_r, gaiden_videoram3_w) AM_BASE(m_videoram3)
AM_RANGE(0x076000, 0x077fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0x078000, 0x079fff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x078000, 0x079fff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x07a000, 0x07a001) AM_READ_PORT("SYSTEM")
AM_RANGE(0x07a002, 0x07a003) AM_READ_PORT("P1_P2") AM_WRITE_LEGACY(gaiden_sproffsety_w)
AM_RANGE(0x07a004, 0x07a005) AM_READ_PORT("DSW")
@@ -420,7 +420,7 @@ static ADDRESS_MAP_START( drgnbowl_map, AS_PROGRAM, 16, gaiden_state )
AM_RANGE(0x072000, 0x073fff) AM_RAM_WRITE_LEGACY(gaiden_videoram2_w) AM_BASE(m_videoram2)
AM_RANGE(0x074000, 0x075fff) AM_RAM_WRITE_LEGACY(gaiden_videoram3_w) AM_BASE(m_videoram3)
AM_RANGE(0x076000, 0x077fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0x078000, 0x079fff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x078000, 0x079fff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
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")
@@ -916,7 +916,7 @@ static ADDRESS_MAP_START( mastninj_map, AS_PROGRAM, 16, gaiden_state )
AM_RANGE(0x072000, 0x073fff) AM_READWRITE_LEGACY(gaiden_videoram2_r, gaiden_videoram2_w) AM_BASE(m_videoram2)
AM_RANGE(0x074000, 0x075fff) AM_READWRITE_LEGACY(gaiden_videoram3_r, gaiden_videoram3_w) AM_BASE(m_videoram3)
AM_RANGE(0x076000, 0x077fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0x078000, 0x079fff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x078000, 0x079fff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
// 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/gal3.c b/src/mame/drivers/gal3.c
index 2cd2482b81f..7edf73b23fc 100644
--- a/src/mame/drivers/gal3.c
+++ b/src/mame/drivers/gal3.c
@@ -171,14 +171,15 @@ static VIDEO_START(gal3)
static void update_palette( running_machine &machine )
{
+ gal3_state *state = machine.driver_data<gal3_state>();
int i;
INT16 data1,data2;
int r,g,b;
for( i=0; i<NAMCOS21_NUM_COLORS; i++ )
{
- data1 = machine.generic.paletteram.u16[0x00000/2+i];
- data2 = machine.generic.paletteram.u16[0x10000/2+i];
+ data1 = state->m_generic_paletteram_16[0x00000/2+i];
+ data2 = state->m_generic_paletteram_16[0x10000/2+i];
r = data1>>8;
g = data1&0xff;
@@ -305,17 +306,17 @@ WRITE32_MEMBER(gal3_state::led_slv_w)
READ32_MEMBER(gal3_state::paletteram32_r)
{
offset *= 2;
- return (machine().generic.paletteram.u16[offset]<<16)|machine().generic.paletteram.u16[offset+1];
+ return (m_generic_paletteram_16[offset]<<16)|m_generic_paletteram_16[offset+1];
}
WRITE32_MEMBER(gal3_state::paletteram32_w)
{
UINT32 v;
offset *= 2;
- v = (machine().generic.paletteram.u16[offset]<<16)|machine().generic.paletteram.u16[offset+1];
+ v = (m_generic_paletteram_16[offset]<<16)|m_generic_paletteram_16[offset+1];
COMBINE_DATA( &v );
- machine().generic.paletteram.u16[offset+0] = v>>16;
- machine().generic.paletteram.u16[offset+1] = v&0xffff;
+ m_generic_paletteram_16[offset+0] = v>>16;
+ m_generic_paletteram_16[offset+1] = v&0xffff;
}
READ32_MEMBER(gal3_state::namcos21_video_enable_r)
@@ -388,13 +389,13 @@ static ADDRESS_MAP_START( cpu_slv_map, AS_PROGRAM, 32, gal3_state )
/// AM_RANGE(0xf1480000, 0xf14807ff) AM_READWRITE_LEGACY(namcos21_depthcue_r,namcos21_depthcue_w)
AM_RANGE(0xf1700000, 0xf170ffff) AM_READWRITE_LEGACY(namco_obj32_r,namco_obj32_w)
AM_RANGE(0xf1720000, 0xf1720007) AM_READWRITE_LEGACY(namco_spritepos32_r,namco_spritepos32_w)
- AM_RANGE(0xf1740000, 0xf175ffff) AM_READWRITE(paletteram32_r,paletteram32_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf1740000, 0xf175ffff) AM_READWRITE(paletteram32_r,paletteram32_w) AM_SHARE("paletteram")
AM_RANGE(0xf1760000, 0xf1760003) AM_READWRITE(namcos21_video_enable_r,namcos21_video_enable_w)
AM_RANGE(0xf2200000, 0xf220ffff) AM_RAM
AM_RANGE(0xf2700000, 0xf270ffff) AM_RAM //AM_READWRITE_LEGACY(namco_obj16_r,namco_obj16_w)
AM_RANGE(0xf2720000, 0xf2720007) AM_RAM //AM_READWRITE_LEGACY(namco_spritepos16_r,namco_spritepos16_w)
- AM_RANGE(0xf2740000, 0xf275ffff) AM_RAM //AM_READWRITE_LEGACY(paletteram16_r,paletteram16_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf2740000, 0xf275ffff) AM_RAM //AM_READWRITE(paletteram16_r,paletteram16_w) AM_SHARE("paletteram")
AM_RANGE(0xf2760000, 0xf2760003) AM_RAM //AM_READWRITE(namcos21_video_enable_r,namcos21_video_enable_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/galaxi.c b/src/mame/drivers/galaxi.c
index 3a84b02361d..99d144a6f2f 100644
--- a/src/mame/drivers/galaxi.c
+++ b/src/mame/drivers/galaxi.c
@@ -283,7 +283,7 @@ static ADDRESS_MAP_START( galaxi_map, AS_PROGRAM, 16, galaxi_state )
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(galaxi_fg_w ) AM_BASE(m_fg_ram)
AM_RANGE(0x102000, 0x1047ff) AM_READNOP // unknown
- AM_RANGE(0x300000, 0x3007ff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x300000, 0x3007ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x500000, 0x500001) AM_READ_PORT("INPUTS")
AM_RANGE(0x500000, 0x500001) AM_WRITE(galaxi_500000_w)
diff --git a/src/mame/drivers/galpani2.c b/src/mame/drivers/galpani2.c
index 79d27290b1f..7993e57a614 100644
--- a/src/mame/drivers/galpani2.c
+++ b/src/mame/drivers/galpani2.c
@@ -304,7 +304,7 @@ static ADDRESS_MAP_START( galpani2_mem1, AS_PROGRAM, 16, galpani2_state )
AM_RANGE(0x314000, 0x314001) AM_WRITENOP // ? flip backgrounds ?
AM_RANGE(0x318000, 0x318001) AM_DEVREADWRITE_LEGACY("eeprom", galpani2_eeprom_r, galpani2_eeprom_w) // EEPROM
AM_RANGE(0x380000, 0x387fff) AM_RAM // Palette?
- AM_RANGE(0x388000, 0x38ffff) AM_RAM_WRITE_LEGACY(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram ) // Palette
+ AM_RANGE(0x388000, 0x38ffff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_SHARE("paletteram" ) // Palette
AM_RANGE(0x390000, 0x3901ff) AM_WRITENOP // ? at startup of service mode
AM_RANGE(0x400000, 0x43ffff) AM_RAM_WRITE_LEGACY(galpani2_bg8_0_w) AM_BASE(m_bg8[0]) // Background 0
diff --git a/src/mame/drivers/galpani3.c b/src/mame/drivers/galpani3.c
index b16230f2ef5..3a6969ab451 100644
--- a/src/mame/drivers/galpani3.c
+++ b/src/mame/drivers/galpani3.c
@@ -164,7 +164,7 @@ static int gp3_is_alpha_pen(running_machine &machine, int pen)
if (pen<0x4000)
{
- dat = machine.generic.paletteram.u16[pen];
+ dat = state->m_generic_paletteram_16[pen];
}
else if (pen<0x4100)
{
@@ -867,7 +867,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_WRITE_LEGACY(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // area [A] - palette for sprites
+ AM_RANGE(0x280000, 0x287fff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_SHARE("paletteram") // area [A] - palette for sprites
AM_RANGE(0x300000, 0x303fff) AM_RAM_WRITE_LEGACY(galpani3_suprnova_sprite32_w) AM_SHARE("spriteram")
AM_RANGE(0x380000, 0x38003f) AM_RAM_WRITE_LEGACY(galpani3_suprnova_sprite32regs_w) AM_BASE(m_sprregs)
diff --git a/src/mame/drivers/galpanic.c b/src/mame/drivers/galpanic.c
index 5983021235c..e22c9833ea5 100644
--- a/src/mame/drivers/galpanic.c
+++ b/src/mame/drivers/galpanic.c
@@ -230,7 +230,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_BASE(m_fgvideoram) AM_SIZE(m_fgvideoram_size)
AM_RANGE(0x520000, 0x53ffff) AM_RAM_WRITE_LEGACY(galpanic_bgvideoram_w) AM_BASE(m_bgvideoram) /* + work RAM */
- AM_RANGE(0x600000, 0x6007ff) AM_RAM_WRITE_LEGACY(galpanic_paletteram_w) AM_BASE_GENERIC(paletteram) /* 1024 colors, but only 512 seem to be used */
+ AM_RANGE(0x600000, 0x6007ff) AM_RAM_WRITE_LEGACY(galpanic_paletteram_w) AM_SHARE("paletteram") /* 1024 colors, but only 512 seem to be used */
AM_RANGE(0x700000, 0x701fff) AM_DEVREADWRITE_LEGACY("pandora", pandora_spriteram_LSB_r, pandora_spriteram_LSB_w)
AM_RANGE(0x702000, 0x704fff) AM_RAM
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1")
@@ -265,7 +265,7 @@ static ADDRESS_MAP_START( comad_map, AS_PROGRAM, 16, galpanic_state )
AM_RANGE(0x000000, 0x4fffff) AM_ROM
AM_RANGE(0x500000, 0x51ffff) AM_RAM AM_BASE(m_fgvideoram) AM_SIZE(m_fgvideoram_size)
AM_RANGE(0x520000, 0x53ffff) AM_RAM_WRITE_LEGACY(galpanic_bgvideoram_w) AM_BASE(m_bgvideoram) /* + work RAM */
- AM_RANGE(0x600000, 0x6007ff) AM_RAM_WRITE_LEGACY(galpanic_paletteram_w) AM_BASE_GENERIC(paletteram) /* 1024 colors, but only 512 seem to be used */
+ AM_RANGE(0x600000, 0x6007ff) AM_RAM_WRITE_LEGACY(galpanic_paletteram_w) AM_SHARE("paletteram") /* 1024 colors, but only 512 seem to be used */
AM_RANGE(0x700000, 0x700fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1")
AM_RANGE(0x800002, 0x800003) AM_READ_PORT("DSW2")
@@ -284,7 +284,7 @@ static ADDRESS_MAP_START( fantsia2_map, AS_PROGRAM, 16, galpanic_state )
AM_RANGE(0x000000, 0x4fffff) AM_ROM
AM_RANGE(0x500000, 0x51ffff) AM_RAM AM_BASE(m_fgvideoram) AM_SIZE(m_fgvideoram_size)
AM_RANGE(0x520000, 0x53ffff) AM_RAM_WRITE_LEGACY(galpanic_bgvideoram_w) AM_BASE(m_bgvideoram) /* + work RAM */
- AM_RANGE(0x600000, 0x6007ff) AM_RAM_WRITE_LEGACY(galpanic_paletteram_w) AM_BASE_GENERIC(paletteram) /* 1024 colors, but only 512 seem to be used */
+ AM_RANGE(0x600000, 0x6007ff) AM_RAM_WRITE_LEGACY(galpanic_paletteram_w) AM_SHARE("paletteram") /* 1024 colors, but only 512 seem to be used */
AM_RANGE(0x700000, 0x700fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1")
AM_RANGE(0x800002, 0x800003) AM_READ_PORT("DSW2")
@@ -303,7 +303,7 @@ static ADDRESS_MAP_START( galhustl_map, AS_PROGRAM, 16, galpanic_state )
AM_RANGE(0x500000, 0x51ffff) AM_RAM AM_BASE(m_fgvideoram) AM_SIZE(m_fgvideoram_size)
AM_RANGE(0x520000, 0x53ffff) AM_WRITE_LEGACY(galpanic_bgvideoram_w) AM_BASE(m_bgvideoram)
AM_RANGE(0x580000, 0x583fff) AM_RAM_WRITE_LEGACY(galpanic_bgvideoram_mirror_w)
- AM_RANGE(0x600000, 0x6007ff) AM_RAM_WRITE_LEGACY(galpanic_paletteram_w) AM_BASE_GENERIC(paletteram) /* 1024 colors, but only 512 seem to be used */
+ AM_RANGE(0x600000, 0x6007ff) AM_RAM_WRITE_LEGACY(galpanic_paletteram_w) AM_SHARE("paletteram") /* 1024 colors, but only 512 seem to be used */
AM_RANGE(0x600800, 0x600fff) AM_RAM // writes only 1?
AM_RANGE(0x680000, 0x68001f) AM_RAM // regs?
AM_RANGE(0x700000, 0x700fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
@@ -329,7 +329,7 @@ static ADDRESS_MAP_START( zipzap_map, AS_PROGRAM, 16, galpanic_state )
AM_RANGE(0x500000, 0x51ffff) AM_RAM AM_BASE(m_fgvideoram) AM_SIZE(m_fgvideoram_size)
AM_RANGE(0x520000, 0x53ffff) AM_RAM_WRITE_LEGACY(galpanic_bgvideoram_w) AM_BASE(m_bgvideoram)
AM_RANGE(0x580000, 0x583fff) AM_RAM_WRITE_LEGACY(galpanic_bgvideoram_mirror_w)
- AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE_LEGACY(galpanic_paletteram_w) AM_BASE_GENERIC(paletteram) /* 1024 colors, but only 512 seem to be used */
+ AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE_LEGACY(galpanic_paletteram_w) AM_SHARE("paletteram") /* 1024 colors, but only 512 seem to be used */
AM_RANGE(0x680000, 0x68001f) AM_RAM
AM_RANGE(0x700000, 0x700fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x701000, 0x71ffff) AM_RAM
@@ -350,7 +350,7 @@ static ADDRESS_MAP_START( supmodel_map, AS_PROGRAM, 16, galpanic_state )
AM_RANGE(0x500000, 0x51ffff) AM_RAM AM_BASE(m_fgvideoram) AM_SIZE(m_fgvideoram_size)
AM_RANGE(0x520000, 0x53ffff) AM_RAM_WRITE_LEGACY(galpanic_bgvideoram_w) AM_BASE(m_bgvideoram)
// AM_RANGE(0x580000, 0x583fff) AM_RAM_WRITE_LEGACY(galpanic_bgvideoram_mirror_w) // can't be right, causes half the display to vanish at times!
- AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE_LEGACY(galpanic_paletteram_w) AM_BASE_GENERIC(paletteram) /* 1024 colors, but only 512 seem to be used */
+ AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE_LEGACY(galpanic_paletteram_w) AM_SHARE("paletteram") /* 1024 colors, but only 512 seem to be used */
AM_RANGE(0x680000, 0x68001f) AM_RAM
AM_RANGE(0x700000, 0x700fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x780000, 0x78001f) AM_RAM
diff --git a/src/mame/drivers/galspnbl.c b/src/mame/drivers/galspnbl.c
index 78ada89ecb5..d6ccd42eb61 100644
--- a/src/mame/drivers/galspnbl.c
+++ b/src/mame/drivers/galspnbl.c
@@ -51,7 +51,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_BASE(m_bgvideoram)
AM_RANGE(0xa00000, 0xa00fff) AM_WRITENOP /* more palette ? */
- AM_RANGE(0xa01000, 0xa017ff) AM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xa01000, 0xa017ff) AM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
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.c b/src/mame/drivers/gauntlet.c
index 05d3f3ae05e..a7e7f17c5a8 100644
--- a/src/mame/drivers/gauntlet.c
+++ b/src/mame/drivers/gauntlet.c
@@ -331,7 +331,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, gauntlet_state )
AM_RANGE(0x905f6e, 0x905f6f) AM_MIRROR(0x2c8000) AM_RAM_WRITE_LEGACY(gauntlet_yscroll_w) AM_BASE(m_yscroll)
AM_RANGE(0x905000, 0x905f7f) AM_MIRROR(0x2c8000) AM_RAM_WRITE_LEGACY(atarigen_alpha_w) AM_BASE(m_alpha)
AM_RANGE(0x905f80, 0x905fff) AM_MIRROR(0x2c8000) AM_READWRITE_LEGACY(atarimo_0_slipram_r, atarimo_0_slipram_w)
- AM_RANGE(0x910000, 0x9107ff) AM_MIRROR(0x2cf800) AM_RAM_WRITE_LEGACY(paletteram16_IIIIRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x910000, 0x9107ff) AM_MIRROR(0x2cf800) AM_RAM_WRITE(paletteram16_IIIIRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x930000, 0x930001) AM_MIRROR(0x2cfffe) AM_WRITE_LEGACY(gauntlet_xscroll_w) AM_BASE(m_xscroll)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/gbusters.c b/src/mame/drivers/gbusters.c
index 9317932b7f6..198c2dd3988 100644
--- a/src/mame/drivers/gbusters.c
+++ b/src/mame/drivers/gbusters.c
@@ -31,7 +31,7 @@ READ8_MEMBER(gbusters_state::bankedram_r)
{
if (m_palette_selected)
- return machine().generic.paletteram.u8[offset];
+ return m_generic_paletteram_8[offset];
else
return m_ram[offset];
}
@@ -273,7 +273,7 @@ static MACHINE_START( gbusters )
memory_configure_bank(machine, "bank1", 0, 16, &ROM[0x10000], 0x2000);
memory_set_bank(machine, "bank1", 0);
- machine.generic.paletteram.u8 = auto_alloc_array_clear(machine, UINT8, 0x800);
+ state->m_generic_paletteram_8.allocate(0x800);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");
@@ -283,7 +283,6 @@ static MACHINE_START( gbusters )
state->save_item(NAME(state->m_palette_selected));
state->save_item(NAME(state->m_priority));
- state_save_register_global_pointer(machine, machine.generic.paletteram.u8, 0x800);
}
static MACHINE_RESET( gbusters )
diff --git a/src/mame/drivers/gcpinbal.c b/src/mame/drivers/gcpinbal.c
index 06b1a80bfcf..270ba1f9aad 100644
--- a/src/mame/drivers/gcpinbal.c
+++ b/src/mame/drivers/gcpinbal.c
@@ -233,7 +233,7 @@ static ADDRESS_MAP_START( gcpinbal_map, AS_PROGRAM, 16, gcpinbal_state )
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0xc00000, 0xc03fff) AM_READWRITE_LEGACY(gcpinbal_tilemaps_word_r, gcpinbal_tilemaps_word_w) AM_BASE(m_tilemapram)
AM_RANGE(0xc80000, 0xc80fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) /* sprite ram */
- AM_RANGE(0xd00000, 0xd00fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xd00000, 0xd00fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0xd80000, 0xd800ff) AM_READWRITE(ioc_r, ioc_w) AM_BASE(m_ioc_ram)
AM_RANGE(0xff0000, 0xffffff) AM_RAM /* RAM */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/gijoe.c b/src/mame/drivers/gijoe.c
index eb509a993ba..74ccfff0b84 100644
--- a/src/mame/drivers/gijoe.c
+++ b/src/mame/drivers/gijoe.c
@@ -172,7 +172,7 @@ static ADDRESS_MAP_START( gijoe_map, AS_PROGRAM, 16, gijoe_state )
AM_RANGE(0x160000, 0x160007) AM_DEVWRITE_LEGACY("k056832", k056832_b_word_w) // VSCCS (board dependent)
AM_RANGE(0x170000, 0x170001) AM_WRITENOP // Watchdog
AM_RANGE(0x180000, 0x18ffff) AM_RAM AM_BASE(m_workram) // Main RAM. Spec. 180000-1803ff, 180400-187fff
- AM_RANGE(0x190000, 0x190fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x190000, 0x190fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x1a0000, 0x1a001f) AM_DEVWRITE_LEGACY("k053251", k053251_lsb_w)
AM_RANGE(0x1b0000, 0x1b003f) AM_DEVWRITE_LEGACY("k056832", k056832_word_w)
AM_RANGE(0x1c000c, 0x1c000d) AM_WRITE(sound_cmd_w)
diff --git a/src/mame/drivers/ginganin.c b/src/mame/drivers/ginganin.c
index 09ba8090756..5bd00c7ab3a 100644
--- a/src/mame/drivers/ginganin.c
+++ b/src/mame/drivers/ginganin.c
@@ -76,7 +76,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_LEGACY(ginganin_txtram16_w) AM_BASE(m_txtram)
AM_RANGE(0x040000, 0x0407ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0x050000, 0x0507ff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x050000, 0x0507ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x060000, 0x06000f) AM_RAM_WRITE_LEGACY(ginganin_vregs16_w) AM_BASE(m_vregs)
AM_RANGE(0x068000, 0x06bfff) AM_RAM_WRITE_LEGACY(ginganin_fgram16_w) AM_BASE(m_fgram)
AM_RANGE(0x070000, 0x070001) AM_READ_PORT("P1_P2")
diff --git a/src/mame/drivers/gladiatr.c b/src/mame/drivers/gladiatr.c
index a7db28bb9ce..edbd39c679a 100644
--- a/src/mame/drivers/gladiatr.c
+++ b/src/mame/drivers/gladiatr.c
@@ -378,7 +378,7 @@ static ADDRESS_MAP_START( ppking_cpu1_map, AS_PROGRAM, 8, gladiatr_state )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcbff) AM_RAM AM_BASE(m_spriteram)
AM_RANGE(0xcc00, 0xcfff) AM_WRITE_LEGACY(ppking_video_registers_w)
- AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE_LEGACY(gladiatr_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE_LEGACY(gladiatr_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE_LEGACY(gladiatr_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE_LEGACY(gladiatr_colorram_w) AM_BASE(m_colorram)
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE_LEGACY(gladiatr_textram_w) AM_BASE(m_textram)
@@ -416,7 +416,7 @@ static ADDRESS_MAP_START( gladiatr_cpu1_map, AS_PROGRAM, 8, gladiatr_state )
AM_RANGE(0x6000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xcbff) AM_RAM AM_BASE(m_spriteram)
AM_RANGE(0xcc00, 0xcfff) AM_WRITE_LEGACY(gladiatr_video_registers_w)
- AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE_LEGACY(gladiatr_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE_LEGACY(gladiatr_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE_LEGACY(gladiatr_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE_LEGACY(gladiatr_colorram_w) AM_BASE(m_colorram)
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE_LEGACY(gladiatr_textram_w) AM_BASE(m_textram)
diff --git a/src/mame/drivers/glass.c b/src/mame/drivers/glass.c
index d9492dadf01..5aad4572dab 100644
--- a/src/mame/drivers/glass.c
+++ b/src/mame/drivers/glass.c
@@ -83,7 +83,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_BASE(m_vregs) /* Video Registers */
AM_RANGE(0x108008, 0x108009) AM_WRITE(clr_int_w) /* CLR INT Video */
- AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) /* Palette */
+ AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram") /* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(m_spriteram) /* Sprite RAM */
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW2")
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("DSW1")
diff --git a/src/mame/drivers/gng.c b/src/mame/drivers/gng.c
index 284e9ad661c..82fed8c0326 100644
--- a/src/mame/drivers/gng.c
+++ b/src/mame/drivers/gng.c
@@ -50,8 +50,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_WRITE_LEGACY(paletteram_RRRRGGGGBBBBxxxx_split2_w) AM_BASE_GENERIC(paletteram2)
- AM_RANGE(0x3900, 0x39ff) AM_WRITE_LEGACY(paletteram_RRRRGGGGBBBBxxxx_split1_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x3800, 0x38ff) AM_WRITE(paletteram_RRRRGGGGBBBBxxxx_split2_w) AM_SHARE("paletteram2")
+ AM_RANGE(0x3900, 0x39ff) AM_WRITE(paletteram_RRRRGGGGBBBBxxxx_split1_w) AM_SHARE("paletteram")
AM_RANGE(0x3a00, 0x3a00) AM_WRITE_LEGACY(soundlatch_w)
AM_RANGE(0x3b08, 0x3b09) AM_WRITE_LEGACY(gng_bgscrollx_w)
AM_RANGE(0x3b0a, 0x3b0b) AM_WRITE_LEGACY(gng_bgscrolly_w)
@@ -328,10 +328,10 @@ static MACHINE_RESET( gng )
For now let's fill everything with white colors until we have better info about it */
for(i=0;i<0x100;i+=4)
{
- machine.generic.paletteram.u8[i] = machine.generic.paletteram2.u8[i] = 0x00;
- machine.generic.paletteram.u8[i+1] = machine.generic.paletteram2.u8[i+1] = 0x55;
- machine.generic.paletteram.u8[i+2] = machine.generic.paletteram2.u8[i+2] = 0xaa;
- machine.generic.paletteram.u8[i+3] = machine.generic.paletteram2.u8[i+3] = 0xff;
+ state->m_generic_paletteram_8[i] = state->m_generic_paletteram2_8[i] = 0x00;
+ state->m_generic_paletteram_8[i+1] = state->m_generic_paletteram2_8[i+1] = 0x55;
+ state->m_generic_paletteram_8[i+2] = state->m_generic_paletteram2_8[i+2] = 0xaa;
+ state->m_generic_paletteram_8[i+3] = state->m_generic_paletteram2_8[i+3] = 0xff;
palette_set_color_rgb(machine,i+0,0x00,0x00,0x00);
palette_set_color_rgb(machine,i+1,0x55,0x55,0x55);
palette_set_color_rgb(machine,i+2,0xaa,0xaa,0xaa);
diff --git a/src/mame/drivers/go2000.c b/src/mame/drivers/go2000.c
index 5d900951d55..c6c46766bcb 100644
--- a/src/mame/drivers/go2000.c
+++ b/src/mame/drivers/go2000.c
@@ -63,7 +63,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_BASE(m_videoram)
AM_RANGE(0x610000, 0x61ffff) AM_RAM AM_BASE(m_videoram2)
- AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
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.c b/src/mame/drivers/goal92.c
index 9d74759b7dd..b7afc26b5fa 100644
--- a/src/mame/drivers/goal92.c
+++ b/src/mame/drivers/goal92.c
@@ -53,7 +53,7 @@ static ADDRESS_MAP_START( goal92_map, AS_PROGRAM, 16, goal92_state )
AM_RANGE(0x101000, 0x1017ff) AM_RAM_WRITE_LEGACY(goal92_foreground_w) AM_BASE(m_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_LEGACY(goal92_text_w) AM_BASE(m_tx_data)
- AM_RANGE(0x103000, 0x103fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x103000, 0x103fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x104000, 0x13ffff) AM_RAM
AM_RANGE(0x140000, 0x1407ff) AM_RAM AM_BASE(m_spriteram)
AM_RANGE(0x140800, 0x140801) AM_WRITENOP
diff --git a/src/mame/drivers/goldstar.c b/src/mame/drivers/goldstar.c
index c84fef37472..1965dd36904 100644
--- a/src/mame/drivers/goldstar.c
+++ b/src/mame/drivers/goldstar.c
@@ -163,7 +163,7 @@ static ADDRESS_MAP_START( goldstar_map, AS_PROGRAM, 8, goldstar_state )
AM_RANGE(0xf840, 0xf840) AM_DEVWRITE_LEGACY("aysnd", ay8910_address_w)
AM_RANGE(0xfa00, 0xfa00) AM_WRITE_LEGACY(goldstar_fa00_w)
AM_RANGE(0xfb00, 0xfb00) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0xfd00, 0xfdff) AM_RAM_WRITE_LEGACY(paletteram_BBGGGRRR_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xfd00, 0xfdff) AM_RAM_WRITE(paletteram_BBGGGRRR_w) AM_SHARE("paletteram")
AM_RANGE(0xfe00, 0xfe00) AM_READWRITE(protection_r,protection_w)
ADDRESS_MAP_END
@@ -522,8 +522,8 @@ READ8_MEMBER(goldstar_state::unkch_unk_r)
/* newer / more capable hw */
static ADDRESS_MAP_START( unkch_map, AS_PROGRAM, 8, goldstar_state )
AM_RANGE(0x0000, 0x9fff) AM_ROM
- AM_RANGE(0xc000, 0xc1ff) AM_RAM_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_split1_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0xc800, 0xc9ff) AM_RAM_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_split2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0xc000, 0xc1ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split1_w) AM_SHARE("paletteram")
+ AM_RANGE(0xc800, 0xc9ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split2_w) AM_SHARE("paletteram2")
AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_SHARE("nvram")
diff --git a/src/mame/drivers/good.c b/src/mame/drivers/good.c
index 5e84008e3cb..d73c3bf133d 100644
--- a/src/mame/drivers/good.c
+++ b/src/mame/drivers/good.c
@@ -111,7 +111,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_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x800000, 0x8007ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x820000, 0x820fff) AM_RAM_WRITE(fg_tilemapram_w) AM_BASE(m_fg_tilemapram)
AM_RANGE(0x822000, 0x822fff) AM_RAM_WRITE(bg_tilemapram_w) AM_BASE(m_bg_tilemapram)
diff --git a/src/mame/drivers/goodejan.c b/src/mame/drivers/goodejan.c
index a3622f40124..20bfa3910c3 100644
--- a/src/mame/drivers/goodejan.c
+++ b/src/mame/drivers/goodejan.c
@@ -107,7 +107,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_LEGACY(seibucrtc_sc0vram_w) AM_BASE_LEGACY(&seibucrtc_sc0vram)
AM_RANGE(0x0c800, 0x0cfff) AM_RAM_WRITE_LEGACY(seibucrtc_sc3vram_w) AM_BASE_LEGACY(&seibucrtc_sc3vram)
- AM_RANGE(0x0d000, 0x0dfff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0d000, 0x0dfff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
/*Guess: these two aren't used/initialized at all.*/
AM_RANGE(0x0e000, 0x0e7ff) AM_RAM_WRITE_LEGACY(seibucrtc_sc1vram_w) AM_BASE_LEGACY(&seibucrtc_sc1vram)
AM_RANGE(0x0e800, 0x0efff) AM_RAM_WRITE_LEGACY(seibucrtc_sc2vram_w) AM_BASE_LEGACY(&seibucrtc_sc2vram)
diff --git a/src/mame/drivers/gotcha.c b/src/mame/drivers/gotcha.c
index 1345c9012c6..f8339a4f0e8 100644
--- a/src/mame/drivers/gotcha.c
+++ b/src/mame/drivers/gotcha.c
@@ -101,7 +101,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_DEVWRITE_LEGACY("oki", gotcha_oki_bank_w)
AM_RANGE(0x120000, 0x12ffff) AM_RAM
- AM_RANGE(0x140000, 0x1405ff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x140000, 0x1405ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x180000, 0x180001) AM_READ_PORT("INPUTS")
AM_RANGE(0x180002, 0x180003) AM_READ_PORT("SYSTEM")
diff --git a/src/mame/drivers/gottlieb.c b/src/mame/drivers/gottlieb.c
index 76fd535f0d2..c7aecc63776 100644
--- a/src/mame/drivers/gottlieb.c
+++ b/src/mame/drivers/gottlieb.c
@@ -702,7 +702,7 @@ static ADDRESS_MAP_START( reactor_map, AS_PROGRAM, 8, gottlieb_state )
AM_RANGE(0x3000, 0x33ff) AM_MIRROR(0x0c00) AM_RAM_WRITE_LEGACY(gottlieb_videoram_w) AM_BASE(m_videoram) /* BRSEL */
AM_RANGE(0x4000, 0x4fff) AM_RAM_WRITE_LEGACY(gottlieb_charram_w) AM_BASE(m_charram) /* BOJRSEL1 */
/* AM_RANGE(0x5000, 0x5fff) AM_WRITE_LEGACY() */ /* BOJRSEL2 */
- AM_RANGE(0x6000, 0x601f) AM_MIRROR(0x0fe0) AM_WRITE_LEGACY(gottlieb_paletteram_w) AM_BASE_GENERIC(paletteram) /* COLSEL */
+ AM_RANGE(0x6000, 0x601f) AM_MIRROR(0x0fe0) AM_WRITE_LEGACY(gottlieb_paletteram_w) AM_SHARE("paletteram") /* COLSEL */
AM_RANGE(0x7000, 0x7000) AM_MIRROR(0x0ff8) AM_WRITE_LEGACY(watchdog_reset_w)
AM_RANGE(0x7001, 0x7001) AM_MIRROR(0x0ff8) AM_WRITE(gottlieb_analog_reset_w) /* A1J2 interface */
AM_RANGE(0x7002, 0x7002) AM_MIRROR(0x0ff8) AM_WRITE(gottlieb_sh_w) /* trackball H */
@@ -724,7 +724,7 @@ static ADDRESS_MAP_START( gottlieb_map, AS_PROGRAM, 8, gottlieb_state )
AM_RANGE(0x3000, 0x30ff) AM_MIRROR(0x0700) AM_WRITEONLY AM_BASE(m_spriteram) /* FRSEL */
AM_RANGE(0x3800, 0x3bff) AM_MIRROR(0x0400) AM_RAM_WRITE_LEGACY(gottlieb_videoram_w) AM_BASE(m_videoram) /* BRSEL */
AM_RANGE(0x4000, 0x4fff) AM_RAM_WRITE_LEGACY(gottlieb_charram_w) AM_BASE(m_charram) /* BOJRSEL1 */
- AM_RANGE(0x5000, 0x501f) AM_MIRROR(0x07e0) AM_WRITE_LEGACY(gottlieb_paletteram_w) AM_BASE_GENERIC(paletteram) /* COLSEL */
+ AM_RANGE(0x5000, 0x501f) AM_MIRROR(0x07e0) AM_WRITE_LEGACY(gottlieb_paletteram_w) AM_SHARE("paletteram") /* COLSEL */
AM_RANGE(0x5800, 0x5800) AM_MIRROR(0x07f8) AM_WRITE_LEGACY(watchdog_reset_w)
AM_RANGE(0x5801, 0x5801) AM_MIRROR(0x07f8) AM_WRITE(gottlieb_analog_reset_w) /* A1J2 interface */
AM_RANGE(0x5802, 0x5802) AM_MIRROR(0x07f8) AM_WRITE(gottlieb_sh_w) /* OP20-27 */
diff --git a/src/mame/drivers/gradius3.c b/src/mame/drivers/gradius3.c
index 44aed71f1aa..6c55cbaf8f0 100644
--- a/src/mame/drivers/gradius3.c
+++ b/src/mame/drivers/gradius3.c
@@ -157,7 +157,7 @@ static WRITE8_DEVICE_HANDLER( 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_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
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.c b/src/mame/drivers/groundfx.c
index e204061e129..6175800d336 100644
--- a/src/mame/drivers/groundfx.c
+++ b/src/mame/drivers/groundfx.c
@@ -81,10 +81,10 @@ Extract a standard version of this
WRITE32_MEMBER(groundfx_state::color_ram_w)
{
int a,r,g,b;
- COMBINE_DATA(&machine().generic.paletteram.u32[offset]);
+ COMBINE_DATA(&m_generic_paletteram_32[offset]);
{
- a = machine().generic.paletteram.u32[offset];
+ a = m_generic_paletteram_32[offset];
r = (a &0xff0000) >> 16;
g = (a &0xff00) >> 8;
b = (a &0xff);
@@ -227,7 +227,7 @@ static ADDRESS_MAP_START( groundfx_map, AS_PROGRAM, 32, groundfx_state )
AM_RANGE(0x830000, 0x83002f) AM_DEVREADWRITE_LEGACY("tc0480scp", tc0480scp_ctrl_long_r, tc0480scp_ctrl_long_w) // debugging
AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_long_r, tc0100scn_long_w) /* piv tilemaps */
AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_long_r, tc0100scn_ctrl_long_w)
- AM_RANGE(0xa00000, 0xa0ffff) AM_RAM_WRITE(color_ram_w) AM_BASE_GENERIC(paletteram) /* palette ram */
+ AM_RANGE(0xa00000, 0xa0ffff) AM_RAM_WRITE(color_ram_w) AM_SHARE("paletteram") /* palette ram */
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/gstriker.c b/src/mame/drivers/gstriker.c
index f4738d7d8ef..0eeaeb3575f 100644
--- a/src/mame/drivers/gstriker.c
+++ b/src/mame/drivers/gstriker.c
@@ -282,7 +282,7 @@ static ADDRESS_MAP_START( gstriker_map, AS_PROGRAM, 16, gstriker_state )
AM_RANGE(0x140000, 0x141fff) AM_RAM AM_BASE(m_CG10103[0].vram)
AM_RANGE(0x180000, 0x180fff) AM_RAM_WRITE_LEGACY(VS920A_0_vram_w) AM_BASE(m_VS920A[0].vram)
AM_RANGE(0x181000, 0x181fff) AM_RAM AM_BASE(m_lineram)
- AM_RANGE(0x1c0000, 0x1c0fff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1c0000, 0x1c0fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x200000, 0x20000f) AM_RAM_WRITE_LEGACY(MB60553_0_regs_w)
AM_RANGE(0x200040, 0x20005f) AM_RAM //AM_BASE_LEGACY(&gs_mixer_regs)
@@ -319,7 +319,7 @@ static ADDRESS_MAP_START( vgoal_map, AS_PROGRAM, 16, gstriker_state )
AM_RANGE(0x140000, 0x141fff) AM_RAM AM_BASE(m_CG10103[0].vram)
AM_RANGE(0x180000, 0x180fff) AM_RAM_WRITE_LEGACY(VS920A_0_vram_w) AM_BASE(m_VS920A[0].vram)
AM_RANGE(0x181000, 0x181fff) AM_RAM AM_BASE(m_lineram)
- AM_RANGE(0x1c0000, 0x1c4fff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1c0000, 0x1c4fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x200000, 0x20000f) AM_RAM_WRITE_LEGACY(MB60553_0_regs_w)
AM_RANGE(0x200040, 0x20005f) AM_RAM //AM_BASE_LEGACY(&gs_mixer_regs)
diff --git a/src/mame/drivers/gticlub.c b/src/mame/drivers/gticlub.c
index 3243a0a26d6..95f27a59a0e 100644
--- a/src/mame/drivers/gticlub.c
+++ b/src/mame/drivers/gticlub.c
@@ -262,8 +262,8 @@ public:
WRITE32_MEMBER(gticlub_state::paletteram32_w)
{
- COMBINE_DATA(&machine().generic.paletteram.u32[offset]);
- data = machine().generic.paletteram.u32[offset];
+ COMBINE_DATA(&m_generic_paletteram_32[offset]);
+ data = m_generic_paletteram_32[offset];
palette_set_color_rgb(machine(), offset, pal5bit(data >> 10), pal5bit(data >> 5), pal5bit(data >> 0));
}
@@ -416,7 +416,7 @@ static MACHINE_START( gticlub )
static ADDRESS_MAP_START( gticlub_map, AS_PROGRAM, 32, gticlub_state )
AM_RANGE(0x00000000, 0x000fffff) AM_RAM AM_BASE(m_work_ram) /* Work RAM */
AM_RANGE(0x74000000, 0x740000ff) AM_READWRITE(gticlub_k001604_reg_r, gticlub_k001604_reg_w)
- AM_RANGE(0x74010000, 0x7401ffff) AM_RAM_WRITE(paletteram32_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x74010000, 0x7401ffff) AM_RAM_WRITE(paletteram32_w) AM_SHARE("paletteram")
AM_RANGE(0x74020000, 0x7403ffff) AM_READWRITE(gticlub_k001604_tile_r, gticlub_k001604_tile_w)
AM_RANGE(0x74040000, 0x7407ffff) AM_READWRITE(gticlub_k001604_char_r, gticlub_k001604_char_w)
AM_RANGE(0x78000000, 0x7800ffff) AM_READWRITE_LEGACY(cgboard_dsp_shared_r_ppc, cgboard_dsp_shared_w_ppc)
diff --git a/src/mame/drivers/gumbo.c b/src/mame/drivers/gumbo.c
index 1f7bc2c6f79..8c84d284e7f 100644
--- a/src/mame/drivers/gumbo.c
+++ b/src/mame/drivers/gumbo.c
@@ -49,7 +49,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_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1b0000, 0x1b03ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
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)
@@ -63,7 +63,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_LEGACY(gumbo_fg_videoram_w) AM_BASE(m_fg_videoram) // fg tilemap
- AM_RANGE(0x1a0000, 0x1a03ff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1a0000, 0x1a03ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
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)
@@ -73,7 +73,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_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1b0000, 0x1b03ff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
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.c b/src/mame/drivers/gunbustr.c
index ad58168e77b..5f9884616af 100644
--- a/src/mame/drivers/gunbustr.c
+++ b/src/mame/drivers/gunbustr.c
@@ -69,12 +69,12 @@ static INTERRUPT_GEN( gunbustr_interrupt )
WRITE32_MEMBER(gunbustr_state::gunbustr_palette_w)
{
int a;
- COMBINE_DATA(&machine().generic.paletteram.u32[offset]);
+ COMBINE_DATA(&m_generic_paletteram_32[offset]);
- a = machine().generic.paletteram.u32[offset] >> 16;
+ a = m_generic_paletteram_32[offset] >> 16;
palette_set_color_rgb(machine(),offset*2,pal5bit(a >> 10),pal5bit(a >> 5),pal5bit(a >> 0));
- a = machine().generic.paletteram.u32[offset] &0xffff;
+ a = m_generic_paletteram_32[offset] &0xffff;
palette_set_color_rgb(machine(),offset*2+1,pal5bit(a >> 10),pal5bit(a >> 5),pal5bit(a >> 0));
}
@@ -202,7 +202,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_LEGACY("tc0480scp", tc0480scp_long_r, tc0480scp_long_w)
AM_RANGE(0x830000, 0x83002f) AM_DEVREADWRITE_LEGACY("tc0480scp", tc0480scp_ctrl_long_r, tc0480scp_ctrl_long_w)
- AM_RANGE(0x900000, 0x901fff) AM_RAM_WRITE(gunbustr_palette_w) AM_BASE_GENERIC(paletteram) /* Palette ram */
+ AM_RANGE(0x900000, 0x901fff) AM_RAM_WRITE(gunbustr_palette_w) AM_SHARE("paletteram") /* Palette ram */
AM_RANGE(0xc00000, 0xc03fff) AM_RAM /* network ram ?? */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/halleys.c b/src/mame/drivers/halleys.c
index a1fef47b226..3895bde61e9 100644
--- a/src/mame/drivers/halleys.c
+++ b/src/mame/drivers/halleys.c
@@ -1156,6 +1156,7 @@ static void halleys_decode_rgb(running_machine &machine, UINT32 *r, UINT32 *g, U
00 00 00 00 c5 0b f3 17 fd cf 1f ef df bf 7f ff
00 00 00 00 01 61 29 26 0b f5 e2 17 57 fb cf f7
*/
+ halleys_state *state = machine.driver_data<halleys_state>();
int latch1_273, latch2_273;
UINT8 *sram_189;
UINT8 *prom_6330;
@@ -1163,7 +1164,7 @@ static void halleys_decode_rgb(running_machine &machine, UINT32 *r, UINT32 *g, U
int bit0, bit1, bit2, bit3, bit4;
// the four 16x4-bit SN74S189 SRAM chips are assumed be the game's 32-byte palette RAM
- sram_189 = machine.generic.paletteram.u8;
+ sram_189 = state->m_generic_paletteram_8;
// each of the three 32-byte 6330 PROM is wired to an RGB component output
prom_6330 = machine.region("proms")->base();
@@ -1199,7 +1200,7 @@ WRITE8_MEMBER(halleys_state::halleys_paletteram_IIRRGGBB_w)
UINT32 d, r, g, b, i, j;
UINT32 *pal_ptr = m_internal_palette;
- machine().generic.paletteram.u8[offset] = data;
+ m_generic_paletteram_8[offset] = data;
d = (UINT32)data;
j = d | BG_RGB;
pal_ptr[offset] = j;
@@ -1669,7 +1670,7 @@ static ADDRESS_MAP_START( halleys_map, AS_PROGRAM, 8, halleys_state )
AM_RANGE(0xff9c, 0xff9c) AM_WRITE(firq_ack_w)
AM_RANGE(0xff00, 0xffbf) AM_RAM AM_BASE(m_io_ram) AM_SIZE(m_io_ramsize) // I/O write fall-through
- AM_RANGE(0xffc0, 0xffdf) AM_RAM_WRITE(halleys_paletteram_IIRRGGBB_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xffc0, 0xffdf) AM_RAM_WRITE(halleys_paletteram_IIRRGGBB_w) AM_SHARE("paletteram")
AM_RANGE(0xffe0, 0xffff) AM_READ(vector_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/highvdeo.c b/src/mame/drivers/highvdeo.c
index 74bb43d132b..beee4ca66f1 100644
--- a/src/mame/drivers/highvdeo.c
+++ b/src/mame/drivers/highvdeo.c
@@ -364,9 +364,9 @@ WRITE16_MEMBER(highvdeo_state::tv_tcf_paletteram_w)
{
int r, g, b, color;
- COMBINE_DATA(&machine().generic.paletteram.u16[offset]);
+ COMBINE_DATA(&m_generic_paletteram_16[offset]);
- color = machine().generic.paletteram.u16[offset];
+ color = m_generic_paletteram_16[offset];
r = (color >> 8) & 0xf8;
g = (color >> 3) & 0xf8;
b = (color << 3) & 0xf8;
@@ -389,7 +389,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_BASE(m_blit_ram) /*blitter ram*/
- AM_RANGE(0x7fe00, 0x7ffff) AM_RAM_WRITE(tv_tcf_paletteram_w ) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x7fe00, 0x7ffff) AM_RAM_WRITE(tv_tcf_paletteram_w ) AM_SHARE("paletteram")
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.c b/src/mame/drivers/himesiki.c
index b16eb5d5c2b..e78ede9ff28 100644
--- a/src/mame/drivers/himesiki.c
+++ b/src/mame/drivers/himesiki.c
@@ -109,7 +109,7 @@ static ADDRESS_MAP_START( himesiki_prm0, AS_PROGRAM, 8, himesiki_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_RAM
AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_BASE(m_spriteram)
- AM_RANGE(0xa800, 0xafff) AM_RAM_WRITE_LEGACY(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xa800, 0xafff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_SHARE("paletteram")
AM_RANGE(0xb000, 0xbfff) AM_RAM_WRITE_LEGACY(himesiki_bg_ram_w) AM_BASE(m_bg_ram)
AM_RANGE(0xc000, 0xffff) AM_ROMBANK("bank1")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/hng64.c b/src/mame/drivers/hng64.c
index 24bf0f226eb..289f928c5de 100644
--- a/src/mame/drivers/hng64.c
+++ b/src/mame/drivers/hng64.c
@@ -509,7 +509,7 @@ READ32_MEMBER(hng64_state::hng64_com_share_r)
WRITE32_MEMBER(hng64_state::hng64_pal_w)
{
- UINT32 *paletteram = machine().generic.paletteram.u32;
+ UINT32 *paletteram = m_generic_paletteram_32;
int r, g, b/*, a*/;
COMBINE_DATA(&paletteram[offset]);
@@ -1050,7 +1050,7 @@ static ADDRESS_MAP_START( hng_map, AS_PROGRAM, 32, hng64_state )
AM_RANGE(0x20010000, 0x20010013) AM_RAM AM_BASE(m_spriteregs)
AM_RANGE(0x20100000, 0x2017ffff) AM_RAM_WRITE_LEGACY(hng64_videoram_w) AM_BASE(m_videoram) // Tilemap
AM_RANGE(0x20190000, 0x20190037) AM_RAM AM_BASE(m_videoregs)
- AM_RANGE(0x20200000, 0x20203fff) AM_RAM_WRITE(hng64_pal_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x20200000, 0x20203fff) AM_RAM_WRITE(hng64_pal_w) AM_SHARE("paletteram")
AM_RANGE(0x20208000, 0x2020805f) AM_READWRITE(tcram_r, tcram_w) AM_BASE(m_tcram) // Transition Control
AM_RANGE(0x20300000, 0x203001ff) AM_RAM_WRITE(dl_w) AM_BASE(m_dl) // 3d Display List
// AM_RANGE(0x20300200, 0x20300213) AM_RAM_WRITE_LEGACY(xxxx) AM_BASE(m_xxxxxxxx) // 3d Display List Upload?
diff --git a/src/mame/drivers/hvyunit.c b/src/mame/drivers/hvyunit.c
index 34cf30dee63..92956aaea87 100644
--- a/src/mame/drivers/hvyunit.c
+++ b/src/mame/drivers/hvyunit.c
@@ -433,8 +433,8 @@ static ADDRESS_MAP_START( slave_memory, AS_PROGRAM, 8, hvyunit_state )
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank2")
AM_RANGE(0xc000, 0xc3ff) AM_RAM_WRITE(hu_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0xc400, 0xc7ff) AM_RAM_WRITE(hu_colorram_w) AM_BASE(m_colorram)
- AM_RANGE(0xd000, 0xd1ff) AM_RAM_WRITE_LEGACY(paletteram_xxxxRRRRGGGGBBBB_split2_w) AM_BASE_GENERIC(paletteram2)
- AM_RANGE(0xd800, 0xd9ff) AM_RAM_WRITE_LEGACY(paletteram_xxxxRRRRGGGGBBBB_split1_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xd000, 0xd1ff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_split2_w) AM_SHARE("paletteram2")
+ AM_RANGE(0xd800, 0xd9ff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_split1_w) AM_SHARE("paletteram")
AM_RANGE(0xd000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("share1")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/igs009.c b/src/mame/drivers/igs009.c
index 589074b0e16..bcbf613182d 100644
--- a/src/mame/drivers/igs009.c
+++ b/src/mame/drivers/igs009.c
@@ -454,8 +454,8 @@ static ADDRESS_MAP_START( jingbell_portmap, AS_IO, 8, igs009_state )
AM_RANGE( 0x1000, 0x11ff ) AM_RAM_WRITE(bg_scroll_w ) AM_BASE(m_bg_scroll )
- AM_RANGE( 0x2000, 0x23ff ) AM_RAM_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_BASE_GENERIC( paletteram )
- AM_RANGE( 0x2400, 0x27ff ) AM_RAM_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_BASE_GENERIC( paletteram2 )
+ AM_RANGE( 0x2000, 0x23ff ) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_SHARE("paletteram")
+ AM_RANGE( 0x2400, 0x27ff ) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_SHARE("paletteram2")
AM_RANGE( 0x3000, 0x33ff ) AM_RAM_WRITE(gp98_reel1_ram_w ) AM_BASE(m_gp98_reel1_ram )
AM_RANGE( 0x3400, 0x37ff ) AM_RAM_WRITE(gp98_reel2_ram_w ) AM_BASE(m_gp98_reel2_ram )
diff --git a/src/mame/drivers/igs011.c b/src/mame/drivers/igs011.c
index e3e05940024..9a9814b1c6d 100644
--- a/src/mame/drivers/igs011.c
+++ b/src/mame/drivers/igs011.c
@@ -342,9 +342,9 @@ WRITE16_MEMBER(igs011_state::igs011_palette)
{
int rgb;
- COMBINE_DATA(&machine().generic.paletteram.u16[offset]);
+ COMBINE_DATA(&m_generic_paletteram_16[offset]);
- rgb = (machine().generic.paletteram.u16[offset & 0x7ff] & 0xff) | ((machine().generic.paletteram.u16[offset | 0x800] & 0xff) << 8);
+ rgb = (m_generic_paletteram_16[offset & 0x7ff] & 0xff) | ((m_generic_paletteram_16[offset | 0x800] & 0xff) << 8);
palette_set_color_rgb(machine(),offset & 0x7ff,pal5bit(rgb >> 0),pal5bit(rgb >> 5),pal5bit(rgb >> 10));
}
@@ -2139,7 +2139,7 @@ static ADDRESS_MAP_START( drgnwrld, AS_PROGRAM, 16, igs011_state )
AM_RANGE( 0x000000, 0x07ffff ) AM_ROM
AM_RANGE( 0x100000, 0x103fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x200000, 0x200fff ) AM_RAM AM_BASE(m_priority_ram )
- AM_RANGE( 0x400000, 0x401fff ) AM_RAM_WRITE(igs011_palette ) AM_BASE_GENERIC( paletteram )
+ AM_RANGE( 0x400000, 0x401fff ) AM_RAM_WRITE(igs011_palette ) AM_SHARE("paletteram")
AM_RANGE( 0x500000, 0x500001 ) AM_READ_PORT( "COIN" )
AM_RANGE( 0x600000, 0x600001 ) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff )
AM_RANGE( 0x700000, 0x700003 ) AM_DEVWRITE8_LEGACY("ymsnd", ym3812_w, 0x00ff )
@@ -2225,7 +2225,7 @@ static ADDRESS_MAP_START( lhb, AS_PROGRAM, 16, igs011_state )
AM_RANGE( 0x100000, 0x103fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x200000, 0x200fff ) AM_RAM AM_BASE(m_priority_ram )
AM_RANGE( 0x300000, 0x3fffff ) AM_READWRITE(igs011_layers_r, igs011_layers_w )
- AM_RANGE( 0x400000, 0x401fff ) AM_RAM_WRITE(igs011_palette ) AM_BASE_GENERIC( paletteram )
+ AM_RANGE( 0x400000, 0x401fff ) AM_RAM_WRITE(igs011_palette ) AM_SHARE("paletteram")
AM_RANGE( 0x600000, 0x600001 ) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff )
AM_RANGE( 0x700000, 0x700001 ) AM_READ_PORT( "COIN" )
AM_RANGE( 0x700002, 0x700005 ) AM_READ(lhb_inputs_r )
@@ -2266,7 +2266,7 @@ static ADDRESS_MAP_START( xymg, AS_PROGRAM, 16, igs011_state )
AM_RANGE( 0x1f0000, 0x1f3fff ) AM_RAM AM_SHARE("nvram") // extra ram
AM_RANGE( 0x200000, 0x200fff ) AM_RAM AM_BASE(m_priority_ram )
AM_RANGE( 0x300000, 0x3fffff ) AM_READWRITE(igs011_layers_r, igs011_layers_w )
- AM_RANGE( 0x400000, 0x401fff ) AM_RAM_WRITE(igs011_palette ) AM_BASE_GENERIC( paletteram )
+ AM_RANGE( 0x400000, 0x401fff ) AM_RAM_WRITE(igs011_palette ) AM_SHARE("paletteram")
AM_RANGE( 0x600000, 0x600001 ) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff )
AM_RANGE( 0x700000, 0x700003 ) AM_WRITE(xymg_igs003_w )
AM_RANGE( 0x700002, 0x700003 ) AM_READ(xymg_igs003_r )
@@ -2302,7 +2302,7 @@ static ADDRESS_MAP_START( wlcc, AS_PROGRAM, 16, igs011_state )
AM_RANGE( 0x100000, 0x103fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x200000, 0x200fff ) AM_RAM AM_BASE(m_priority_ram )
AM_RANGE( 0x300000, 0x3fffff ) AM_READWRITE(igs011_layers_r, igs011_layers_w )
- AM_RANGE( 0x400000, 0x401fff ) AM_RAM_WRITE(igs011_palette ) AM_BASE_GENERIC( paletteram )
+ AM_RANGE( 0x400000, 0x401fff ) AM_RAM_WRITE(igs011_palette ) AM_SHARE("paletteram")
AM_RANGE( 0x520000, 0x520001 ) AM_READ_PORT( "COIN" )
AM_RANGE( 0x600000, 0x600001 ) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff )
AM_RANGE( 0x800000, 0x800003 ) AM_WRITE(wlcc_igs003_w )
@@ -2344,7 +2344,7 @@ static ADDRESS_MAP_START( lhb2, AS_PROGRAM, 16, igs011_state )
AM_RANGE( 0x208000, 0x208003 ) AM_WRITE(lhb2_igs003_w )
AM_RANGE( 0x208002, 0x208003 ) AM_READ(lhb2_igs003_r )
AM_RANGE( 0x20c000, 0x20cfff ) AM_RAM AM_BASE(m_priority_ram)
- AM_RANGE( 0x210000, 0x211fff ) AM_RAM_WRITE(igs011_palette ) AM_BASE_GENERIC( paletteram )
+ AM_RANGE( 0x210000, 0x211fff ) AM_RAM_WRITE(igs011_palette ) AM_SHARE("paletteram")
AM_RANGE( 0x214000, 0x214001 ) AM_READ_PORT( "COIN" )
AM_RANGE( 0x300000, 0x3fffff ) AM_READWRITE(igs011_layers_r, igs011_layers_w )
AM_RANGE( 0xa20000, 0xa20001 ) AM_WRITE(igs011_priority_w )
@@ -2459,7 +2459,7 @@ static ADDRESS_MAP_START( vbowl, AS_PROGRAM, 16, igs011_state )
AM_RANGE( 0x100000, 0x103fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x200000, 0x200fff ) AM_RAM AM_BASE(m_priority_ram )
AM_RANGE( 0x300000, 0x3fffff ) AM_READWRITE(igs011_layers_r, igs011_layers_w )
- AM_RANGE( 0x400000, 0x401fff ) AM_RAM_WRITE(igs011_palette ) AM_BASE_GENERIC( paletteram )
+ AM_RANGE( 0x400000, 0x401fff ) AM_RAM_WRITE(igs011_palette ) AM_SHARE("paletteram")
AM_RANGE( 0x520000, 0x520001 ) AM_READ_PORT( "COIN" )
AM_RANGE( 0x600000, 0x600007 ) AM_DEVREADWRITE_LEGACY("ics", ics2115_word_r, ics2115_word_w )
AM_RANGE( 0x700000, 0x700003 ) AM_RAM AM_BASE(m_vbowl_trackball )
diff --git a/src/mame/drivers/igs017.c b/src/mame/drivers/igs017.c
index a2002bc50b8..b01a0040441 100644
--- a/src/mame/drivers/igs017.c
+++ b/src/mame/drivers/igs017.c
@@ -1182,7 +1182,7 @@ static ADDRESS_MAP_START( iqblocka_io, AS_IO, 8, igs017_state )
AM_RANGE( 0x0000, 0x003f ) AM_RAM // internal regs
AM_RANGE( 0x1000, 0x17ff ) AM_RAM AM_BASE(m_spriteram)
- AM_RANGE( 0x1800, 0x1bff ) AM_RAM_WRITE_LEGACY(paletteram_xRRRRRGGGGGBBBBB_le_w ) AM_BASE_GENERIC(paletteram)
+ AM_RANGE( 0x1800, 0x1bff ) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w ) AM_SHARE("paletteram")
AM_RANGE( 0x1c00, 0x1fff ) AM_RAM
// AM_RANGE(0x200a, 0x200a) AM_WRITENOP
@@ -1292,9 +1292,9 @@ WRITE16_MEMBER(igs017_state::irq2_enable_w)
WRITE16_MEMBER(igs017_state::mgcs_paletteram_w)
{
- COMBINE_DATA(&machine().generic.paletteram.u16[offset]);
+ COMBINE_DATA(&m_generic_paletteram_16[offset]);
- int bgr = ((machine().generic.paletteram.u16[offset/2*2+0] & 0xff) << 8) | (machine().generic.paletteram.u16[offset/2*2+1] & 0xff);
+ int bgr = ((m_generic_paletteram_16[offset/2*2+0] & 0xff) << 8) | (m_generic_paletteram_16[offset/2*2+1] & 0xff);
// bitswap
bgr = BITSWAP16(bgr, 7,8,9,2,14,3,13,15,12,11,10,0,1,4,5,6);
@@ -1308,7 +1308,7 @@ static ADDRESS_MAP_START( mgcs, AS_PROGRAM, 16, igs017_state )
AM_RANGE( 0x49c000, 0x49c003 ) AM_WRITE(mgcs_magic_w )
AM_RANGE( 0x49c002, 0x49c003 ) AM_READ(mgcs_magic_r )
AM_RANGE( 0xa02000, 0xa02fff ) AM_READWRITE(spriteram_lsb_r, spriteram_lsb_w ) AM_BASE(m_spriteram)
- AM_RANGE( 0xa03000, 0xa037ff ) AM_RAM_WRITE(mgcs_paletteram_w ) AM_BASE_GENERIC( paletteram )
+ AM_RANGE( 0xa03000, 0xa037ff ) AM_RAM_WRITE(mgcs_paletteram_w ) AM_SHARE("paletteram")
AM_RANGE( 0xa04020, 0xa04027 ) AM_DEVREAD8_LEGACY("ppi8255", ppi8255_r, 0x00ff )
AM_RANGE( 0xa04024, 0xa04025 ) AM_WRITE(video_disable_lsb_w )
AM_RANGE( 0xa04028, 0xa04029 ) AM_WRITE(irq2_enable_w )
@@ -1324,9 +1324,9 @@ ADDRESS_MAP_END
WRITE16_MEMBER(igs017_state::sdmg2_paletteram_w)
{
- COMBINE_DATA(&machine().generic.paletteram.u16[offset]);
+ COMBINE_DATA(&m_generic_paletteram_16[offset]);
- int bgr = ((machine().generic.paletteram.u16[offset/2*2+1] & 0xff) << 8) | (machine().generic.paletteram.u16[offset/2*2+0] & 0xff);
+ int bgr = ((m_generic_paletteram_16[offset/2*2+1] & 0xff) << 8) | (m_generic_paletteram_16[offset/2*2+0] & 0xff);
palette_set_color_rgb(machine(), offset/2, pal5bit(bgr >> 0), pal5bit(bgr >> 5), pal5bit(bgr >> 10));
}
@@ -1404,7 +1404,7 @@ static ADDRESS_MAP_START( sdmg2, AS_PROGRAM, 16, igs017_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x1f0000, 0x1fffff) AM_RAM
AM_RANGE(0x202000, 0x202fff) AM_READWRITE(spriteram_lsb_r, spriteram_lsb_w ) AM_BASE(m_spriteram)
- AM_RANGE(0x203000, 0x2037ff) AM_RAM_WRITE(sdmg2_paletteram_w ) AM_BASE_GENERIC( paletteram )
+ AM_RANGE(0x203000, 0x2037ff) AM_RAM_WRITE(sdmg2_paletteram_w ) AM_SHARE("paletteram")
AM_RANGE(0x204020, 0x204027) AM_DEVREAD8_LEGACY("ppi8255", ppi8255_r, 0x00ff )
AM_RANGE(0x204024, 0x204025) AM_WRITE(video_disable_lsb_w )
AM_RANGE(0x204028, 0x204029) AM_WRITE(irq2_enable_w )
@@ -1524,7 +1524,7 @@ static ADDRESS_MAP_START( mgdha_map, AS_PROGRAM, 16, igs017_state )
AM_RANGE(0x876000, 0x876003) AM_WRITE(mgdha_magic_w )
AM_RANGE(0x876002, 0x876003) AM_READ(mgdha_magic_r )
AM_RANGE(0xa02000, 0xa02fff) AM_READWRITE(spriteram_lsb_r, spriteram_lsb_w ) AM_BASE(m_spriteram)
- AM_RANGE(0xa03000, 0xa037ff) AM_RAM_WRITE(sdmg2_paletteram_w ) AM_BASE_GENERIC( paletteram )
+ AM_RANGE(0xa03000, 0xa037ff) AM_RAM_WRITE(sdmg2_paletteram_w ) AM_SHARE("paletteram")
// AM_RANGE(0xa04014, 0xa04015) // written with FF at boot
AM_RANGE(0xa04020, 0xa04027) AM_DEVREAD8_LEGACY("ppi8255", ppi8255_r, 0x00ff )
AM_RANGE(0xa04024, 0xa04025) AM_WRITE(video_disable_lsb_w )
@@ -1540,8 +1540,8 @@ ADDRESS_MAP_END
WRITE8_MEMBER(igs017_state::tjsb_paletteram_w)
{
- machine().generic.paletteram.u8[offset] = data;
- int bgr = (machine().generic.paletteram.u8[offset/2*2+1] << 8) | machine().generic.paletteram.u8[offset/2*2+0];
+ m_generic_paletteram_8[offset] = data;
+ int bgr = (m_generic_paletteram_8[offset/2*2+1] << 8) | m_generic_paletteram_8[offset/2*2+0];
// bitswap
bgr = BITSWAP16(bgr, 15, 12,3,6,10,5, 4,2,9,13,8, 7,11,1,0,14);
@@ -1612,7 +1612,7 @@ static ADDRESS_MAP_START( tjsb_io, AS_IO, 8, igs017_state )
AM_RANGE( 0x0000, 0x003f ) AM_RAM // internal regs
AM_RANGE( 0x1000, 0x17ff ) AM_RAM AM_BASE(m_spriteram)
- AM_RANGE( 0x1800, 0x1bff ) AM_RAM_WRITE(tjsb_paletteram_w ) AM_BASE_GENERIC(paletteram)
+ AM_RANGE( 0x1800, 0x1bff ) AM_RAM_WRITE(tjsb_paletteram_w ) AM_SHARE("paletteram")
AM_RANGE( 0x1c00, 0x1fff ) AM_RAM
// AM_RANGE(0x200a, 0x200a) AM_WRITENOP
diff --git a/src/mame/drivers/igs_m027.c b/src/mame/drivers/igs_m027.c
index 2a99be4d362..d2d0cbcf0d7 100644
--- a/src/mame/drivers/igs_m027.c
+++ b/src/mame/drivers/igs_m027.c
@@ -142,10 +142,10 @@ static TILE_GET_INFO( get_bg_tilemap_tile_info )
/* Palette Layer */
WRITE32_MEMBER(igs_m027_state::igs_palette32_w)
{
- machine().generic.paletteram.u16=(UINT16 *)m_igs_palette32;
+ m_generic_paletteram_16.set_target((UINT16 *)m_igs_palette32, 0x800);
COMBINE_DATA(&m_igs_palette32[offset]);
- //paletteram16_xGGGGGRRRRRBBBBB_word_w(offset*2,machine().generic.paletteram.u16[offset*2],0);
- //paletteram16_xGGGGGRRRRRBBBBB_word_w(offset*2+1,machine().generic.paletteram.u16[offset*2+1],0);
+ //paletteram16_xGGGGGRRRRRBBBBB_word_w(offset*2,m_generic_paletteram_16[offset*2],0);
+ //paletteram16_xGGGGGRRRRRBBBBB_word_w(offset*2+1,m_generic_paletteram_16[offset*2+1],0);
//if(data!=0)
//fprintf(stdout,"PALETTE RAM OFFSET %x ,data %x!\n",offset ,m_igs_palette32[offset]);
}
diff --git a/src/mame/drivers/igspoker.c b/src/mame/drivers/igspoker.c
index b00a986e96b..59861db9a1c 100644
--- a/src/mame/drivers/igspoker.c
+++ b/src/mame/drivers/igspoker.c
@@ -351,8 +351,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_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_BASE_GENERIC( paletteram )
- AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_BASE_GENERIC( paletteram2 )
+ AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_SHARE("paletteram")
+ AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_SHARE("paletteram2")
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 */
@@ -1105,8 +1105,8 @@ INPUT_PORTS_END
static ADDRESS_MAP_START( number10_io_map, AS_IO, 8, igspoker_state )
- AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_BASE_GENERIC( paletteram )
- AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_BASE_GENERIC( paletteram2 )
+ AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_SHARE("paletteram")
+ AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_SHARE("paletteram2")
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 */
@@ -1128,8 +1128,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_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_BASE_GENERIC( paletteram )
- AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_BASE_GENERIC( paletteram2 )
+ AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_SHARE("paletteram")
+ AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_SHARE("paletteram2")
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/inufuku.c b/src/mame/drivers/inufuku.c
index 1418a18ea16..a5ee82a8322 100644
--- a/src/mame/drivers/inufuku.c
+++ b/src/mame/drivers/inufuku.c
@@ -140,7 +140,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_WRITE(inufuku_soundcommand_w) // sound command
- AM_RANGE(0x300000, 0x301fff) AM_RAM_WRITE_LEGACY(paletteram16_xGGGGGBBBBBRRRRR_word_w) AM_BASE_GENERIC(paletteram) // palette ram
+ AM_RANGE(0x300000, 0x301fff) AM_RAM_WRITE(paletteram16_xGGGGGBBBBBRRRRR_word_w) AM_SHARE("paletteram") // palette ram
AM_RANGE(0x380000, 0x3801ff) AM_WRITEONLY AM_BASE(m_bg_rasterram) // bg raster ram
AM_RANGE(0x400000, 0x401fff) AM_READWRITE_LEGACY(inufuku_bg_videoram_r, inufuku_bg_videoram_w) AM_BASE(m_bg_videoram) // bg ram
AM_RANGE(0x402000, 0x403fff) AM_READWRITE_LEGACY(inufuku_tx_videoram_r, inufuku_tx_videoram_w) AM_BASE(m_tx_videoram) // text ram
diff --git a/src/mame/drivers/iqblock.c b/src/mame/drivers/iqblock.c
index 76154e5941e..f7ca6ec5648 100644
--- a/src/mame/drivers/iqblock.c
+++ b/src/mame/drivers/iqblock.c
@@ -131,8 +131,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( main_portmap, AS_IO, 8, iqblock_state )
- AM_RANGE(0x2000, 0x23ff) AM_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_split1_w)
- AM_RANGE(0x2800, 0x2bff) AM_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_split2_w)
+ AM_RANGE(0x2000, 0x23ff) AM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split1_w)
+ AM_RANGE(0x2800, 0x2bff) AM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split2_w)
AM_RANGE(0x6000, 0x603f) AM_WRITE_LEGACY(iqblock_fgscroll_w)
AM_RANGE(0x6800, 0x69ff) AM_WRITE_LEGACY(iqblock_fgvideoram_w) /* initialized up to 6fff... bug or larger tilemap? */
AM_RANGE(0x7000, 0x7fff) AM_WRITE_LEGACY(iqblock_bgvideoram_w)
@@ -443,8 +443,8 @@ static DRIVER_INIT( iqblock )
}
/* initialize pointers for I/O mapped RAM */
- machine.generic.paletteram.u8 = rom + 0x12000;
- machine.generic.paletteram2.u8 = rom + 0x12800;
+ state->m_generic_paletteram_8.set_target(rom + 0x12000, 0x800);
+ state->m_generic_paletteram2_8.set_target(rom + 0x12800, 0x800);
state->m_fgvideoram = rom + 0x16800;
state->m_bgvideoram = rom + 0x17000;
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xfe26, 0xfe26, write8_delegate(FUNC(iqblock_state::iqblock_prot_w),state));
@@ -466,8 +466,8 @@ static DRIVER_INIT( grndtour )
}
/* initialize pointers for I/O mapped RAM */
- machine.generic.paletteram.u8 = rom + 0x12000;
- machine.generic.paletteram2.u8 = rom + 0x12800;
+ state->m_generic_paletteram_8.set_target(rom + 0x12000, 0x800);
+ state->m_generic_paletteram_8.set_target(rom + 0x12800, 0x800);
state->m_fgvideoram = rom + 0x16800;
state->m_bgvideoram = rom + 0x17000;
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xfe39, 0xfe39, write8_delegate(FUNC(iqblock_state::grndtour_prot_w),state));
diff --git a/src/mame/drivers/itech32.c b/src/mame/drivers/itech32.c
index f5ce06551db..f617cfc57c0 100644
--- a/src/mame/drivers/itech32.c
+++ b/src/mame/drivers/itech32.c
@@ -911,7 +911,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_LEGACY(itech32_video_r, itech32_video_w) AM_BASE(m_video)
AM_RANGE(0x0a0000, 0x0a0001) AM_WRITE(int1_ack_w)
- AM_RANGE(0x0c0000, 0x0c7fff) AM_RAM_WRITE_LEGACY(timekill_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0c0000, 0x0c7fff) AM_RAM_WRITE_LEGACY(timekill_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x100000, 0x17ffff) AM_ROM AM_REGION("user1", 0) AM_BASE(m_main_rom)
ADDRESS_MAP_END
@@ -929,7 +929,7 @@ static ADDRESS_MAP_START( bloodstm_map, AS_PROGRAM, 16, itech32_state )
AM_RANGE(0x400000, 0x400001) AM_WRITE_LEGACY(watchdog_reset16_w)
AM_RANGE(0x480000, 0x480001) AM_WRITE(sound_data_w)
AM_RANGE(0x500000, 0x5000ff) AM_READWRITE_LEGACY(bloodstm_video_r, bloodstm_video_w) AM_BASE(m_video)
- AM_RANGE(0x580000, 0x59ffff) AM_RAM_WRITE_LEGACY(bloodstm_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x580000, 0x59ffff) AM_RAM_WRITE_LEGACY(bloodstm_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x700000, 0x700001) AM_WRITE_LEGACY(bloodstm_plane_w)
AM_RANGE(0x780000, 0x780001) AM_READ_PORT("EXTRA")
AM_RANGE(0x800000, 0x87ffff) AM_MIRROR(0x780000) AM_ROM AM_REGION("user1", 0) AM_BASE(m_main_rom)
@@ -993,7 +993,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_LEGACY(drivedge_zbuf_control_w) AM_BASE(m_drivedge_zbuf_control)
AM_RANGE(0x180000, 0x180003) AM_WRITE_LEGACY(drivedge_color0_w)
- AM_RANGE(0x1a0000, 0x1bffff) AM_RAM_WRITE_LEGACY(drivedge_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1a0000, 0x1bffff) AM_RAM_WRITE_LEGACY(drivedge_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x1c0000, 0x1c0003) AM_WRITENOP
AM_RANGE(0x1e0000, 0x1e0113) AM_READWRITE_LEGACY(itech020_video_r, itech020_video_w) AM_BASE(m_video)
AM_RANGE(0x1e4000, 0x1e4003) AM_WRITE(tms_reset_assert_w)
@@ -1031,7 +1031,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_LEGACY(itech020_video_r, itech020_video_w) AM_BASE(m_video)
AM_RANGE(0x578000, 0x57ffff) AM_READNOP /* touched by protection */
- AM_RANGE(0x580000, 0x59ffff) AM_RAM_WRITE_LEGACY(itech020_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x580000, 0x59ffff) AM_RAM_WRITE_LEGACY(itech020_paletteram_w) AM_SHARE("paletteram")
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.c b/src/mame/drivers/jack.c
index 95b3aa787fa..dd55803f6a4 100644
--- a/src/mame/drivers/jack.c
+++ b/src/mame/drivers/jack.c
@@ -145,7 +145,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_LEGACY(jack_flipscreen_r, jack_flipscreen_w)
- AM_RANGE(0xb600, 0xb61f) AM_WRITE_LEGACY(jack_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xb600, 0xb61f) AM_WRITE_LEGACY(jack_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0xb800, 0xbbff) AM_RAM_WRITE_LEGACY(jack_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0xbc00, 0xbfff) AM_RAM_WRITE_LEGACY(jack_colorram_w) AM_BASE(m_colorram)
AM_RANGE(0xc000, 0xffff) AM_ROM
diff --git a/src/mame/drivers/jackie.c b/src/mame/drivers/jackie.c
index 885e4c92c62..610ef9ed1d9 100644
--- a/src/mame/drivers/jackie.c
+++ b/src/mame/drivers/jackie.c
@@ -360,8 +360,8 @@ static ADDRESS_MAP_START( jackie_io_map, AS_IO, 8, jackie_state )
AM_RANGE(0x05a0, 0x05a4) AM_WRITE(jackie_unk_reg3_lo_w)
AM_RANGE(0x0da0, 0x0da4) AM_WRITE(jackie_unk_reg3_hi_w)
AM_RANGE(0x1000, 0x1107) AM_RAM AM_BASE(m_bg_scroll2 )
- AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_BASE_GENERIC( paletteram )
- AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_BASE_GENERIC( paletteram2 )
+ AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_SHARE("paletteram")
+ AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_SHARE("paletteram2")
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.c b/src/mame/drivers/jackpool.c
index 9a949e8b1aa..69f5a8fe25d 100644
--- a/src/mame/drivers/jackpool.c
+++ b/src/mame/drivers/jackpool.c
@@ -174,7 +174,7 @@ static ADDRESS_MAP_START( jackpool_mem, AS_PROGRAM, 16, jackpool_state )
AM_RANGE(0x340000, 0x347fff) AM_RAM AM_BASE(m_vram)
AM_RANGE(0x348000, 0x34ffff) AM_RAM //<- vram banks 2 & 3?
- AM_RANGE(0x360000, 0x3603ff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x360000, 0x3603ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x380000, 0x380061) AM_READWRITE(jackpool_io_r,jackpool_io_w) AM_BASE(m_io)//AM_READ(jackpool_io_r)
AM_RANGE(0x800000, 0x80000f) AM_READ(jackpool_ff_r) AM_WRITENOP //UART
diff --git a/src/mame/drivers/jalmah.c b/src/mame/drivers/jalmah.c
index 8192fdbefc0..7df60836fe0 100644
--- a/src/mame/drivers/jalmah.c
+++ b/src/mame/drivers/jalmah.c
@@ -993,7 +993,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_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram) /* Palette RAM */
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram") /* Palette RAM */
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(sc0_vram_w) AM_BASE(m_sc0_vram)
AM_RANGE(0x094000, 0x097fff) AM_RAM_WRITE(sc1_vram_w) AM_BASE(m_sc1_vram)
AM_RANGE(0x098000, 0x09bfff) AM_RAM_WRITE(sc2_vram_w) AM_BASE(m_sc2_vram)
@@ -1017,7 +1017,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_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram) /* Palette RAM */
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram") /* Palette RAM */
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(urashima_sc0_vram_w) AM_BASE(m_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.c b/src/mame/drivers/jchan.c
index 1ae3341548b..8a290f4b4bc 100644
--- a/src/mame/drivers/jchan.c
+++ b/src/mame/drivers/jchan.c
@@ -509,7 +509,7 @@ static ADDRESS_MAP_START( jchan_main, AS_PROGRAM, 16, jchan_state )
AM_RANGE(0x500000, 0x503fff) AM_RAM_WRITE_LEGACY(jchan_suprnova_sprite32_1_w) AM_BASE(m_spriteram_1)
AM_RANGE(0x600000, 0x60003f) AM_RAM_WRITE_LEGACY(jchan_suprnova_sprite32regs_1_w) AM_BASE(m_sprregs_1)
- AM_RANGE(0x700000, 0x70ffff) AM_RAM_WRITE_LEGACY(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // palette for sprites?
+ AM_RANGE(0x700000, 0x70ffff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_SHARE("paletteram") // palette for sprites?
AM_RANGE(0xf00000, 0xf00007) AM_READWRITE_LEGACY(jchan_ctrl_r, jchan_ctrl_w) AM_BASE(m_ctrl)
diff --git a/src/mame/drivers/kaneko16.c b/src/mame/drivers/kaneko16.c
index 613d86c77bd..132f9207675 100644
--- a/src/mame/drivers/kaneko16.c
+++ b/src/mame/drivers/kaneko16.c
@@ -372,7 +372,7 @@ static ADDRESS_MAP_START( berlwall, AS_PROGRAM, 16, kaneko16_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // Work RAM
AM_RANGE(0x30e000, 0x30ffff) AM_RAM AM_SHARE("spriteram") // Sprites
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE_LEGACY(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_SHARE("paletteram") // Palette
// AM_RANGE(0x480000, 0x480001) AM_RAM // ?
AM_RANGE(0x500000, 0x500001) AM_READWRITE_LEGACY(kaneko16_bg15_reg_r, kaneko16_bg15_reg_w) AM_BASE(m_bg15_reg) // High Color Background
AM_RANGE(0x580000, 0x580001) AM_READWRITE_LEGACY(kaneko16_bg15_select_r, kaneko16_bg15_select_w) AM_BASE(m_bg15_select)
@@ -429,7 +429,7 @@ static ADDRESS_MAP_START( bakubrkr, AS_PROGRAM, 16, kaneko16_state )
AM_RANGE(0x582000, 0x582fff) AM_RAM AM_BASE(m_vscroll[3]) //
AM_RANGE(0x583000, 0x583fff) AM_RAM AM_BASE(m_vscroll[2]) //
AM_RANGE(0x600000, 0x601fff) AM_RAM AM_SHARE("spriteram") // Sprites
- AM_RANGE(0x700000, 0x700fff) AM_RAM_WRITE_LEGACY(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x700000, 0x700fff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x800000, 0x80001f) AM_RAM_WRITE_LEGACY(kaneko16_layers_0_regs_w) AM_BASE(m_layers_0_regs) // Layers 0 Regs
AM_RANGE(0x900000, 0x90001f) AM_RAM_WRITE_LEGACY(kaneko16_sprites_regs_w) AM_BASE(m_sprites_regs ) // Sprites Regs
AM_RANGE(0xa80000, 0xa80001) AM_READ_LEGACY(watchdog_reset16_r) // Watchdog
@@ -449,7 +449,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( blazeon, AS_PROGRAM, 16, kaneko16_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x300000, 0x30ffff) AM_RAM // Work RAM
- AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE_LEGACY(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE_LEGACY(kaneko16_vram_1_w) AM_BASE(m_vram[1]) // Layers 0
AM_RANGE(0x601000, 0x601fff) AM_RAM_WRITE_LEGACY(kaneko16_vram_0_w) AM_BASE(m_vram[0]) //
AM_RANGE(0x602000, 0x602fff) AM_RAM AM_BASE(m_vscroll[1]) //
@@ -513,7 +513,7 @@ static ADDRESS_MAP_START( bloodwar, AS_PROGRAM, 16, kaneko16_state )
AM_RANGE(0x2b0000, 0x2b0001) AM_WRITE_LEGACY(toybox_mcu_com1_w)
AM_RANGE(0x2c0000, 0x2c0001) AM_WRITE_LEGACY(toybox_mcu_com2_w)
AM_RANGE(0x2d0000, 0x2d0001) AM_WRITE_LEGACY(toybox_mcu_com3_w)
- AM_RANGE(0x300000, 0x30ffff) AM_RAM_WRITE_LEGACY(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x300000, 0x30ffff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x400000, 0x401fff) AM_RAM AM_SHARE("spriteram") // Sprites
AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE_LEGACY(kaneko16_vram_1_w) AM_BASE(m_vram[1]) // Layers 0
AM_RANGE(0x501000, 0x501fff) AM_RAM_WRITE_LEGACY(kaneko16_vram_0_w) AM_BASE(m_vram[0]) //
@@ -575,7 +575,7 @@ static ADDRESS_MAP_START( bonkadv, AS_PROGRAM, 16, kaneko16_state )
AM_RANGE(0x2b0000, 0x2b0001) AM_WRITE_LEGACY(toybox_mcu_com1_w)
AM_RANGE(0x2c0000, 0x2c0001) AM_WRITE_LEGACY(toybox_mcu_com2_w)
AM_RANGE(0x2d0000, 0x2d0001) AM_WRITE_LEGACY(toybox_mcu_com3_w)
- AM_RANGE(0x300000, 0x30ffff) AM_RAM_WRITE_LEGACY(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x300000, 0x30ffff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x400000, 0x401fff) AM_RAM AM_SHARE("spriteram") // Sprites
AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE_LEGACY(kaneko16_vram_1_w) AM_BASE(m_vram[1]) // Layers 0
AM_RANGE(0x501000, 0x501fff) AM_RAM_WRITE_LEGACY(kaneko16_vram_0_w) AM_BASE(m_vram[0]) //
@@ -655,7 +655,7 @@ static ADDRESS_MAP_START( gtmr_map, AS_PROGRAM, 16, kaneko16_state )
AM_RANGE(0x2c0000, 0x2c0001) AM_WRITE_LEGACY(toybox_mcu_com2_w)
AM_RANGE(0x2d0000, 0x2d0001) AM_WRITE_LEGACY(toybox_mcu_com3_w)
- AM_RANGE(0x300000, 0x30ffff) AM_RAM_WRITE_LEGACY(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x300000, 0x30ffff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x310000, 0x327fff) AM_RAM //
AM_RANGE(0x400000, 0x401fff) AM_RAM AM_SHARE("spriteram") // Sprites
@@ -731,7 +731,7 @@ static ADDRESS_MAP_START( gtmr2_map, AS_PROGRAM, 16, kaneko16_state )
AM_RANGE(0x2c0000, 0x2c0001) AM_WRITE_LEGACY(toybox_mcu_com2_w)
AM_RANGE(0x2d0000, 0x2d0001) AM_WRITE_LEGACY(toybox_mcu_com3_w)
- AM_RANGE(0x300000, 0x30ffff) AM_RAM_WRITE_LEGACY(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x300000, 0x30ffff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x310000, 0x327fff) AM_RAM //
AM_RANGE(0x400000, 0x401fff) AM_RAM AM_SHARE("spriteram") // Sprites
@@ -778,7 +778,7 @@ static ADDRESS_MAP_START( mgcrystl, AS_PROGRAM, 16, kaneko16_state )
AM_RANGE(0x400000, 0x40001f) AM_DEVREADWRITE_LEGACY("ay1", kaneko16_YM2149_r, kaneko16_YM2149_w) // Sound
AM_RANGE(0x400200, 0x40021f) AM_DEVREADWRITE_LEGACY("ay2", kaneko16_YM2149_r, kaneko16_YM2149_w)
AM_RANGE(0x400400, 0x400401) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
- AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE_LEGACY(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE_LEGACY(kaneko16_vram_1_w) AM_BASE(m_vram[1]) // Layers 0
AM_RANGE(0x601000, 0x601fff) AM_RAM_WRITE_LEGACY(kaneko16_vram_0_w) AM_BASE(m_vram[0]) //
AM_RANGE(0x602000, 0x602fff) AM_RAM AM_BASE(m_vscroll[1]) //
@@ -846,7 +846,7 @@ static ADDRESS_MAP_START( shogwarr, AS_PROGRAM, 16, kaneko16_state )
AM_RANGE(0x2b0000, 0x2b0001) AM_WRITE_LEGACY(calc3_mcu_com2_w)
//AM_RANGE(0x2c0000, 0x2c0001) AM_WRITE_LEGACY(calc3_run) // guess, might be irqack
AM_RANGE(0x2d0000, 0x2d0001) AM_WRITE_LEGACY(calc3_mcu_com3_w)
- AM_RANGE(0x380000, 0x380fff) AM_RAM_WRITE_LEGACY(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x380000, 0x380fff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_SHARE("paletteram") // 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.c b/src/mame/drivers/kickgoal.c
index 88cce3ad142..df38a065f71 100644
--- a/src/mame/drivers/kickgoal.c
+++ b/src/mame/drivers/kickgoal.c
@@ -493,7 +493,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_BASE(m_scrram) /* Scroll Registers */
AM_RANGE(0xb00000, 0xb007ff) AM_WRITEONLY AM_BASE_SIZE(m_spriteram, m_spriteram_size) /* Sprites */
- AM_RANGE(0xc00000, 0xc007ff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram) /* Palette */ // actionhw reads this
+ AM_RANGE(0xc00000, 0xc007ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram") /* Palette */ // actionhw reads this
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/klax.c b/src/mame/drivers/klax.c
index 9cb6fb3dd6d..8f7acb07481 100644
--- a/src/mame/drivers/klax.c
+++ b/src/mame/drivers/klax.c
@@ -92,7 +92,7 @@ static ADDRESS_MAP_START( klax_map, AS_PROGRAM, 16, klax_state )
AM_RANGE(0x270000, 0x270001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x2e0000, 0x2e0001) AM_WRITE_LEGACY(watchdog_reset16_w)
AM_RANGE(0x360000, 0x360001) AM_WRITE_LEGACY(interrupt_ack_w)
- AM_RANGE(0x3e0000, 0x3e07ff) AM_RAM_WRITE_LEGACY(atarigen_expanded_666_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x3e0000, 0x3e07ff) AM_RAM_WRITE_LEGACY(atarigen_expanded_666_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x3f0000, 0x3f0f7f) AM_RAM_WRITE_LEGACY(atarigen_playfield_w) AM_BASE(m_playfield)
AM_RANGE(0x3f0f80, 0x3f0fff) AM_READWRITE_LEGACY(atarimo_0_slipram_r, atarimo_0_slipram_w)
AM_RANGE(0x3f1000, 0x3f1fff) AM_RAM_WRITE_LEGACY(atarigen_playfield_upper_w) AM_BASE(m_playfield_upper)
diff --git a/src/mame/drivers/konamigx.c b/src/mame/drivers/konamigx.c
index fc2511438ab..5c31b190268 100644
--- a/src/mame/drivers/konamigx.c
+++ b/src/mame/drivers/konamigx.c
@@ -1188,7 +1188,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( gx_type1_map, AS_PROGRAM, 32, konamigx_state )
AM_RANGE(0xd4a000, 0xd4a01f) AM_READ(gx6bppspr_r) // sprite ROM readback
- AM_RANGE(0xd90000, 0xd97fff) AM_RAM_WRITE_LEGACY(konamigx_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xd90000, 0xd97fff) AM_RAM_WRITE_LEGACY(konamigx_palette_w) AM_SHARE("paletteram")
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")
@@ -1208,7 +1208,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_WRITE_LEGACY(konamigx_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xd90000, 0xd97fff) AM_RAM_WRITE_LEGACY(konamigx_palette_w) AM_SHARE("paletteram")
AM_IMPORT_FROM(gx_base_memmap)
ADDRESS_MAP_END
@@ -1219,7 +1219,7 @@ static ADDRESS_MAP_START( gx_type3_map, AS_PROGRAM, 32, konamigx_state )
//AM_RANGE(0xe20000, 0xe20003) AM_WRITENOP
AM_RANGE(0xe40000, 0xe40003) AM_WRITE_LEGACY(konamigx_type3_psac2_bank_w) AM_BASE_LEGACY(&konamigx_type3_psac2_bank)
AM_RANGE(0xe60000, 0xe60fff) AM_RAM AM_BASE_LEGACY((UINT32**)&K053936_0_linectrl)
- AM_RANGE(0xe80000, 0xe83fff) AM_RAM AM_BASE_GENERIC(paletteram) // main monitor palette
+ AM_RANGE(0xe80000, 0xe83fff) AM_RAM AM_SHARE("paletteram") // main monitor palette
AM_RANGE(0xea0000, 0xea3fff) AM_RAM AM_BASE_LEGACY(&gx_subpaletteram32)
AM_RANGE(0xec0000, 0xec0003) AM_READ(type3_sync_r)
//AM_RANGE(0xf00000, 0xf07fff) AM_RAM
@@ -1233,7 +1233,7 @@ static ADDRESS_MAP_START( gx_type4_map, AS_PROGRAM, 32, konamigx_state )
AM_RANGE(0xe20000, 0xe20003) AM_WRITENOP
AM_RANGE(0xe40000, 0xe40003) AM_WRITENOP
AM_RANGE(0xe60000, 0xe60fff) AM_RAM AM_BASE_LEGACY((UINT32**)&K053936_0_linectrl) // 29C & 29G (PSAC2 line control)
- AM_RANGE(0xe80000, 0xe87fff) AM_RAM AM_BASE_GENERIC(paletteram) // 11G/13G/15G (main screen palette RAM)
+ AM_RANGE(0xe80000, 0xe87fff) AM_RAM AM_SHARE("paletteram") // 11G/13G/15G (main screen palette RAM)
AM_RANGE(0xea0000, 0xea7fff) AM_RAM AM_BASE_LEGACY(&gx_subpaletteram32) // 5G/7G/9G (sub screen palette RAM)
AM_RANGE(0xec0000, 0xec0003) AM_READ(type3_sync_r) // type 4 polls this too
AM_RANGE(0xf00000, 0xf07fff) AM_RAM_WRITE_LEGACY(konamigx_t4_psacmap_w) AM_BASE_LEGACY(&gx_psacram) // PSAC2 tilemap
diff --git a/src/mame/drivers/kongambl.c b/src/mame/drivers/kongambl.c
index 81d019006e0..cf4c0d5f939 100644
--- a/src/mame/drivers/kongambl.c
+++ b/src/mame/drivers/kongambl.c
@@ -85,7 +85,7 @@ static ADDRESS_MAP_START( kongambl_map, AS_PROGRAM, 32, kongambl_state )
AM_RANGE(0x440000, 0x443fff) AM_RAM
- AM_RANGE(0x460000, 0x47ffff) AM_RAM_WRITE_LEGACY(konamigx_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x460000, 0x47ffff) AM_RAM_WRITE_LEGACY(konamigx_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x480000, 0x48003f) AM_DEVWRITE_LEGACY("k056832", k056832_long_w)
diff --git a/src/mame/drivers/laserbas.c b/src/mame/drivers/laserbas.c
index 311b294cad5..05cb328a86c 100644
--- a/src/mame/drivers/laserbas.c
+++ b/src/mame/drivers/laserbas.c
@@ -154,7 +154,7 @@ static ADDRESS_MAP_START( laserbas_io, AS_IO, 8, laserbas_state )
// AM_RANGE(0x23, 0x23) AM_WRITE_LEGACY(test_w) bit 2 presumably is a mux for 0x20?
AM_RANGE(0x40, 0x43) AM_DEVREADWRITE_LEGACY("pit0", pit8253_r, pit8253_w)
AM_RANGE(0x44, 0x47) AM_DEVREADWRITE_LEGACY("pit1", pit8253_r, pit8253_w)
- AM_RANGE(0x80, 0x9f) AM_RAM_WRITE_LEGACY(paletteram_RRRGGGBB_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x80, 0x9f) AM_RAM_WRITE(paletteram_RRRGGGBB_w) AM_SHARE("paletteram")
ADDRESS_MAP_END
static INPUT_PORTS_START( laserbas )
diff --git a/src/mame/drivers/legionna.c b/src/mame/drivers/legionna.c
index 7fdf5fc2ad3..dc57cb8c330 100644
--- a/src/mame/drivers/legionna.c
+++ b/src/mame/drivers/legionna.c
@@ -87,7 +87,7 @@ static ADDRESS_MAP_START( legionna_map, AS_PROGRAM, 16, legionna_state )
AM_RANGE(0x101800, 0x101fff) AM_RAM_WRITE_LEGACY(legionna_foreground_w) AM_BASE(m_fore_data)
AM_RANGE(0x102000, 0x1027ff) AM_RAM_WRITE_LEGACY(legionna_midground_w) AM_BASE(m_mid_data)
AM_RANGE(0x102800, 0x1037ff) AM_RAM_WRITE_LEGACY(legionna_text_w) AM_BASE(m_textram)
- AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) /* palette xRRRRxGGGGxBBBBx ? */
+ AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram") /* palette xRRRRxGGGGxBBBBx ? */
AM_RANGE(0x105000, 0x105fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x106000, 0x107fff) AM_RAM
AM_RANGE(0x108000, 0x11ffff) AM_RAM /* main ram */
@@ -103,7 +103,7 @@ static ADDRESS_MAP_START( heatbrl_map, AS_PROGRAM, 16, legionna_state )
AM_RANGE(0x101800, 0x101fff) AM_RAM_WRITE_LEGACY(legionna_midground_w) AM_BASE(m_mid_data)
AM_RANGE(0x102000, 0x102fff) AM_RAM_WRITE_LEGACY(legionna_text_w) AM_BASE(m_textram)
AM_RANGE(0x103000, 0x103fff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x108000, 0x11ffff) AM_RAM
ADDRESS_MAP_END
@@ -116,7 +116,7 @@ static ADDRESS_MAP_START( godzilla_map, AS_PROGRAM, 16, legionna_state )
AM_RANGE(0x102000, 0x1027ff) AM_RAM_WRITE_LEGACY(legionna_midground_w) AM_BASE(m_mid_data)
AM_RANGE(0x102800, 0x1037ff) AM_RAM_WRITE_LEGACY(legionna_text_w) AM_BASE(m_textram)
AM_RANGE(0x103800, 0x103fff) AM_RAM_WRITE_LEGACY(legionna_foreground_w) AM_BASE(m_fore_data)
- AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x105000, 0x105fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x106000, 0x1067ff) AM_RAM
AM_RANGE(0x106800, 0x106fff) AM_RAM
@@ -128,7 +128,7 @@ ADDRESS_MAP_END
WRITE16_MEMBER(legionna_state::denjin_paletteram16_xBBBBBGGGGGRRRRR_word_w)
{
offset^=1;
- COMBINE_DATA(&machine().generic.paletteram.u16[offset]);
+ COMBINE_DATA(&m_generic_paletteram_16[offset]);
paletteram16_xBBBBBGGGGGRRRRR_word_w(space,offset,data,mem_mask);
}
@@ -141,7 +141,7 @@ static ADDRESS_MAP_START( denjinmk_map, AS_PROGRAM, 16, legionna_state )
AM_RANGE(0x101800, 0x101fff) AM_RAM_WRITE_LEGACY(legionna_foreground_w) AM_BASE(m_fore_data)
AM_RANGE(0x102000, 0x1027ff) AM_RAM_WRITE_LEGACY(legionna_midground_w) AM_BASE(m_mid_data)
AM_RANGE(0x102800, 0x103fff) AM_RAM_WRITE_LEGACY(legionna_text_w) AM_BASE(m_textram)
- AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(denjin_paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(denjin_paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x105000, 0x105fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x106000, 0x107fff) AM_RAM
AM_RANGE(0x108000, 0x11dfff) AM_RAM
@@ -157,8 +157,8 @@ static ADDRESS_MAP_START( grainbow_map, AS_PROGRAM, 16, legionna_state )
AM_RANGE(0x101000, 0x1017ff) AM_RAM_WRITE_LEGACY(legionna_foreground_w) AM_BASE(m_fore_data)
AM_RANGE(0x101800, 0x101fff) AM_RAM_WRITE_LEGACY(legionna_midground_w) AM_BASE(m_mid_data)
AM_RANGE(0x102000, 0x102fff) AM_RAM_WRITE_LEGACY(legionna_text_w) AM_BASE(m_textram)
- AM_RANGE(0x103000, 0x103fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0x104000, 0x104fff) AM_RAM//_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x103000, 0x103fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
+ AM_RANGE(0x104000, 0x104fff) AM_RAM//_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x105000, 0x105fff) AM_RAM
AM_RANGE(0x106000, 0x106fff) AM_RAM
AM_RANGE(0x107000, 0x107fff) AM_RAM AM_SHARE("spriteram")
@@ -173,7 +173,7 @@ static ADDRESS_MAP_START( cupsoc_mem, AS_PROGRAM, 16, legionna_state )
AM_RANGE(0x101000, 0x1017ff) AM_RAM_WRITE_LEGACY(legionna_foreground_w) AM_BASE(m_fore_data)
AM_RANGE(0x101800, 0x101fff) AM_RAM_WRITE_LEGACY(legionna_midground_w) AM_BASE(m_mid_data)
AM_RANGE(0x102000, 0x102fff) AM_RAM_WRITE_LEGACY(legionna_text_w) AM_BASE(m_textram)
- AM_RANGE(0x103000, 0x103fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x103000, 0x103fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x104000, 0x104fff) AM_RAM
AM_RANGE(0x105000, 0x106fff) AM_RAM
AM_RANGE(0x107000, 0x1077ff) AM_RAM AM_SHARE("spriteram")
@@ -192,7 +192,7 @@ static ADDRESS_MAP_START( cupsocs_mem, AS_PROGRAM, 16, legionna_state )
AM_RANGE(0x101000, 0x1017ff) AM_RAM_WRITE_LEGACY(legionna_foreground_w) AM_BASE(m_fore_data)
AM_RANGE(0x101800, 0x101fff) AM_RAM_WRITE_LEGACY(legionna_midground_w) AM_BASE(m_mid_data)
AM_RANGE(0x102000, 0x102fff) AM_RAM_WRITE_LEGACY(legionna_text_w) AM_BASE(m_textram)
- AM_RANGE(0x103000, 0x103fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x103000, 0x103fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x104000, 0x104fff) AM_RAM
AM_RANGE(0x105000, 0x106fff) AM_RAM
AM_RANGE(0x107000, 0x1077ff) AM_RAM AM_SHARE("spriteram")
@@ -211,7 +211,7 @@ static ADDRESS_MAP_START( cupsocbl_mem, AS_PROGRAM, 16, legionna_state )
AM_RANGE(0x101000, 0x1017ff) AM_RAM_WRITE_LEGACY(legionna_foreground_w) AM_BASE(m_fore_data)
AM_RANGE(0x101800, 0x101fff) AM_RAM_WRITE_LEGACY(legionna_midground_w) AM_BASE(m_mid_data)
AM_RANGE(0x102000, 0x102fff) AM_RAM_WRITE_LEGACY(legionna_text_w) AM_BASE(m_textram)
- AM_RANGE(0x103000, 0x103fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x103000, 0x103fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x104000, 0x104fff) AM_RAM
AM_RANGE(0x105000, 0x106fff) AM_RAM
AM_RANGE(0x107000, 0x1077ff) AM_RAM AM_SHARE("spriteram")
diff --git a/src/mame/drivers/leland.c b/src/mame/drivers/leland.c
index a8b96e954f3..b3353d0c757 100644
--- a/src/mame/drivers/leland.c
+++ b/src/mame/drivers/leland.c
@@ -67,7 +67,7 @@ static ADDRESS_MAP_START( master_map_program, AS_PROGRAM, 8, leland_state )
AM_RANGE(0x2000, 0x9fff) AM_ROMBANK("bank1")
AM_RANGE(0xa000, 0xdfff) AM_ROMBANK("bank2") AM_WRITE_LEGACY(leland_battery_ram_w) AM_SHARE("battery")
AM_RANGE(0xe000, 0xefff) AM_RAM
- AM_RANGE(0xf000, 0xf3ff) AM_READWRITE_LEGACY(leland_gated_paletteram_r, leland_gated_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf000, 0xf3ff) AM_READWRITE_LEGACY(leland_gated_paletteram_r, leland_gated_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0xf800, 0xf801) AM_WRITE_LEGACY(leland_master_video_addr_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/lethal.c b/src/mame/drivers/lethal.c
index 546677b2ae0..e436be516a2 100644
--- a/src/mame/drivers/lethal.c
+++ b/src/mame/drivers/lethal.c
@@ -242,7 +242,7 @@ READ8_MEMBER(lethal_state::le_4800_r)
if (m_cur_control2 & 0x10) // RAM enable
{
- return machine().generic.paletteram.u8[offset];
+ return m_generic_paletteram_8[offset];
}
else
{
@@ -584,7 +584,7 @@ static MACHINE_START( lethalen )
memory_configure_bank(machine, "bank1", 0, 0x20, &ROM[0x10000], 0x2000);
memory_set_bank(machine, "bank1", 0);
- machine.generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x3800 + 0x02);
+ state->m_generic_paletteram_8.allocate(0x3800 + 0x02);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("soundcpu");
@@ -596,8 +596,6 @@ static MACHINE_START( lethalen )
state->save_item(NAME(state->m_cur_control2));
state->save_item(NAME(state->m_sprite_colorbase));
state->save_item(NAME(state->m_layer_colorbase));
-
- state_save_register_global_pointer(machine, machine.generic.paletteram.u8, 0x3800 + 0x02);
}
static MACHINE_RESET( lethalen )
diff --git a/src/mame/drivers/limenko.c b/src/mame/drivers/limenko.c
index 1b9bbf7bd94..8147d5425f2 100644
--- a/src/mame/drivers/limenko.c
+++ b/src/mame/drivers/limenko.c
@@ -83,17 +83,17 @@ WRITE32_MEMBER(limenko_state::limenko_coincounter_w)
WRITE32_MEMBER(limenko_state::limenko_paletteram_w)
{
UINT16 paldata;
- COMBINE_DATA(&machine().generic.paletteram.u32[offset]);
+ COMBINE_DATA(&m_generic_paletteram_32[offset]);
if(ACCESSING_BITS_0_15)
{
- paldata = machine().generic.paletteram.u32[offset] & 0x7fff;
+ paldata = m_generic_paletteram_32[offset] & 0x7fff;
palette_set_color_rgb(machine(), offset * 2 + 1, pal5bit(paldata >> 0), pal5bit(paldata >> 5), pal5bit(paldata >> 10));
}
if(ACCESSING_BITS_16_31)
{
- paldata = (machine().generic.paletteram.u32[offset] >> 16) & 0x7fff;
+ paldata = (m_generic_paletteram_32[offset] >> 16) & 0x7fff;
palette_set_color_rgb(machine(), offset * 2 + 0, pal5bit(paldata >> 0), pal5bit(paldata >> 5), pal5bit(paldata >> 10));
}
}
@@ -164,7 +164,7 @@ static ADDRESS_MAP_START( limenko_map, AS_PROGRAM, 32, limenko_state )
AM_RANGE(0x80010000, 0x80017fff) AM_RAM_WRITE(bg_videoram_w) AM_BASE(m_bg_videoram)
AM_RANGE(0x80018000, 0x80018fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x80019000, 0x80019fff) AM_RAM AM_BASE(m_spriteram2)
- AM_RANGE(0x8001c000, 0x8001dfff) AM_RAM_WRITE(limenko_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x8001c000, 0x8001dfff) AM_RAM_WRITE(limenko_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x8001e000, 0x8001ebff) AM_RAM // ? not used
AM_RANGE(0x8001ffec, 0x8001ffff) AM_RAM AM_BASE(m_videoreg)
AM_RANGE(0x8003e000, 0x8003e003) AM_WRITE(spriteram_buffer_w)
@@ -191,7 +191,7 @@ static ADDRESS_MAP_START( spotty_map, AS_PROGRAM, 32, limenko_state )
AM_RANGE(0x80010000, 0x80017fff) AM_RAM_WRITE(bg_videoram_w) AM_BASE(m_bg_videoram)
AM_RANGE(0x80018000, 0x80018fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x80019000, 0x80019fff) AM_RAM AM_BASE(m_spriteram2)
- AM_RANGE(0x8001c000, 0x8001dfff) AM_RAM_WRITE(limenko_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x8001c000, 0x8001dfff) AM_RAM_WRITE(limenko_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x8001e000, 0x8001ebff) AM_RAM // ? not used
AM_RANGE(0x8001ffec, 0x8001ffff) AM_RAM AM_BASE(m_videoreg)
AM_RANGE(0x8003e000, 0x8003e003) AM_WRITE(spriteram_buffer_w)
diff --git a/src/mame/drivers/lkage.c b/src/mame/drivers/lkage.c
index 220c85e016b..e4ee06f64be 100644
--- a/src/mame/drivers/lkage.c
+++ b/src/mame/drivers/lkage.c
@@ -135,7 +135,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_WRITE_LEGACY(paletteram_xxxxRRRRGGGGBBBB_le_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_le_w) AM_SHARE("paletteram")
AM_RANGE(0xf000, 0xf003) AM_RAM AM_BASE(m_vreg) /* video registers */
AM_RANGE(0xf060, 0xf060) AM_WRITE(lkage_sound_command_w)
AM_RANGE(0xf061, 0xf061) AM_WRITENOP AM_READ(sound_status_r)
diff --git a/src/mame/drivers/lordgun.c b/src/mame/drivers/lordgun.c
index 4504212e82a..493474b1578 100644
--- a/src/mame/drivers/lordgun.c
+++ b/src/mame/drivers/lordgun.c
@@ -273,7 +273,7 @@ static ADDRESS_MAP_START( lordgun_map, AS_PROGRAM, 16, lordgun_state )
AM_RANGE(0x318000, 0x319fff) AM_RAM_WRITE_LEGACY(lordgun_vram_3_w) AM_BASE(m_vram[3]) // DISPLAY
AM_RANGE(0x31c000, 0x31c7ff) AM_RAM AM_BASE(m_scrollram) // LINE
AM_RANGE(0x400000, 0x4007ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // ANIMATOR
- AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE_LEGACY(lordgun_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE_LEGACY(lordgun_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x502000, 0x502001) AM_WRITEONLY AM_BASE(m_scroll_x[0])
AM_RANGE(0x502200, 0x502201) AM_WRITEONLY AM_BASE(m_scroll_x[1])
AM_RANGE(0x502400, 0x502401) AM_WRITEONLY AM_BASE(m_scroll_x[2])
@@ -305,7 +305,7 @@ static ADDRESS_MAP_START( aliencha_map, AS_PROGRAM, 16, lordgun_state )
AM_RANGE(0x318000, 0x319fff) AM_RAM_WRITE_LEGACY(lordgun_vram_3_w) AM_BASE(m_vram[3]) // TEXT
AM_RANGE(0x31c000, 0x31c7ff) AM_RAM AM_BASE(m_scrollram) // LINE OFFSET
AM_RANGE(0x400000, 0x4007ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // ANIMATE
- AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE_LEGACY(lordgun_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE_LEGACY(lordgun_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x502000, 0x502001) AM_WRITEONLY AM_BASE(m_scroll_x[0])
AM_RANGE(0x502200, 0x502201) AM_WRITEONLY AM_BASE(m_scroll_x[1])
AM_RANGE(0x502400, 0x502401) AM_WRITEONLY AM_BASE(m_scroll_x[2])
diff --git a/src/mame/drivers/lwings.c b/src/mame/drivers/lwings.c
index 6f49719e409..418ca9cecdd 100644
--- a/src/mame/drivers/lwings.c
+++ b/src/mame/drivers/lwings.c
@@ -288,8 +288,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_LEGACY(lwings_fgvideoram_w) AM_BASE(m_fgvideoram)
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE_LEGACY(lwings_bg1videoram_w) AM_BASE(m_bg1videoram)
- AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE_LEGACY(paletteram_RRRRGGGGBBBBxxxx_split2_w) AM_BASE_GENERIC(paletteram2)
- AM_RANGE(0xf400, 0xf7ff) AM_RAM_WRITE_LEGACY(paletteram_RRRRGGGGBBBBxxxx_split1_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_split2_w) AM_SHARE("paletteram2")
+ AM_RANGE(0xf400, 0xf7ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_split1_w) AM_SHARE("paletteram")
AM_RANGE(0xf800, 0xf801) AM_WRITE_LEGACY(lwings_bg1_scrollx_w)
AM_RANGE(0xf802, 0xf803) AM_WRITE_LEGACY(lwings_bg1_scrolly_w)
AM_RANGE(0xf804, 0xf804) AM_WRITE_LEGACY(trojan_bg2_scrollx_w)
@@ -311,8 +311,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_LEGACY(lwings_fgvideoram_w) AM_BASE(m_fgvideoram)
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE_LEGACY(lwings_bg1videoram_w) AM_BASE(m_bg1videoram)
- AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE_LEGACY(paletteram_RRRRGGGGBBBBxxxx_split2_w) AM_BASE_GENERIC(paletteram2)
- AM_RANGE(0xf400, 0xf7ff) AM_RAM_WRITE_LEGACY(paletteram_RRRRGGGGBBBBxxxx_split1_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_split2_w) AM_SHARE("paletteram2")
+ AM_RANGE(0xf400, 0xf7ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_split1_w) AM_SHARE("paletteram")
AM_RANGE(0xf808, 0xf808) AM_READ_PORT("SERVICE")
AM_RANGE(0xf809, 0xf809) AM_READ_PORT("P1")
@@ -333,8 +333,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_LEGACY(lwings_fgvideoram_w) AM_BASE(m_fgvideoram)
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE_LEGACY(lwings_bg1videoram_w) AM_BASE(m_bg1videoram)
- AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE_LEGACY(paletteram_RRRRGGGGBBBBxxxx_split2_w) AM_BASE_GENERIC(paletteram2)
- AM_RANGE(0xf400, 0xf7ff) AM_RAM_WRITE_LEGACY(paletteram_RRRRGGGGBBBBxxxx_split1_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_split2_w) AM_SHARE("paletteram2")
+ AM_RANGE(0xf400, 0xf7ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_split1_w) AM_SHARE("paletteram")
AM_RANGE(0xf800, 0xf801) AM_WRITE_LEGACY(lwings_bg1_scrollx_w)
AM_RANGE(0xf802, 0xf803) AM_WRITE_LEGACY(lwings_bg1_scrolly_w)
diff --git a/src/mame/drivers/m107.c b/src/mame/drivers/m107.c
index 2f934886d0c..6b5c258e822 100644
--- a/src/mame/drivers/m107.c
+++ b/src/mame/drivers/m107.c
@@ -131,7 +131,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, m107_state )
AM_RANGE(0xd0000, 0xdffff) AM_RAM_WRITE_LEGACY(m107_vram_w) AM_BASE(m_vram_data)
AM_RANGE(0xe0000, 0xeffff) AM_RAM /* System ram */
AM_RANGE(0xf8000, 0xf8fff) AM_RAM AM_BASE(m_spriteram)
- AM_RANGE(0xf9000, 0xf9fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf9000, 0xf9fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0xffff0, 0xfffff) AM_ROM AM_REGION("maincpu", 0x7fff0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/m72.c b/src/mame/drivers/m72.c
index 54d278fbbfe..9d25f75585b 100644
--- a/src/mame/drivers/m72.c
+++ b/src/mame/drivers/m72.c
@@ -871,8 +871,8 @@ static ADDRESS_MAP_START( NAME##_map, AS_PROGRAM, 16 , m72_state ) \
AM_RANGE(0x00000, ROMSIZE-1) AM_ROM \
AM_RANGE(WORKRAM, WORKRAM+0x3fff) AM_RAM /* work RAM */ \
AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) \
- AM_RANGE(0xc8000, 0xc8bff) AM_READWRITE_LEGACY(m72_palette1_r, m72_palette1_w) AM_BASE_GENERIC(paletteram) \
- AM_RANGE(0xcc000, 0xccbff) AM_READWRITE_LEGACY(m72_palette2_r, m72_palette2_w) AM_BASE_GENERIC(paletteram2) \
+ AM_RANGE(0xc8000, 0xc8bff) AM_READWRITE_LEGACY(m72_palette1_r, m72_palette1_w) AM_SHARE("paletteram") \
+ AM_RANGE(0xcc000, 0xccbff) AM_READWRITE_LEGACY(m72_palette2_r, m72_palette2_w) AM_SHARE("paletteram2") \
AM_RANGE(0xd0000, 0xd3fff) AM_RAM_WRITE_LEGACY(m72_videoram1_w) AM_BASE(m_videoram1) \
AM_RANGE(0xd8000, 0xdbfff) AM_RAM_WRITE_LEGACY(m72_videoram2_w) AM_BASE(m_videoram2) \
AM_RANGE(0xe0000, 0xeffff) AM_READWRITE(soundram_r, soundram_w) \
@@ -891,8 +891,8 @@ static ADDRESS_MAP_START( xmultipl_map, AS_PROGRAM, 16, m72_state )
AM_RANGE(0x9c000, 0x9ffff) AM_RAM /* work RAM */
AM_RANGE(0xb0ffe, 0xb0fff) AM_WRITEONLY /* leftover from protection?? */
AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0xc8000, 0xc8bff) AM_READWRITE_LEGACY(m72_palette1_r, m72_palette1_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0xcc000, 0xccbff) AM_READWRITE_LEGACY(m72_palette2_r, m72_palette2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0xc8000, 0xc8bff) AM_READWRITE_LEGACY(m72_palette1_r, m72_palette1_w) AM_SHARE("paletteram")
+ AM_RANGE(0xcc000, 0xccbff) AM_READWRITE_LEGACY(m72_palette2_r, m72_palette2_w) AM_SHARE("paletteram2")
AM_RANGE(0xd0000, 0xd3fff) AM_RAM_WRITE_LEGACY(m72_videoram1_w) AM_BASE(m_videoram1)
AM_RANGE(0xd8000, 0xdbfff) AM_RAM_WRITE_LEGACY(m72_videoram2_w) AM_BASE(m_videoram2)
AM_RANGE(0xffff0, 0xfffff) AM_ROM
@@ -903,8 +903,8 @@ static ADDRESS_MAP_START( dbreed_map, AS_PROGRAM, 16, m72_state )
AM_RANGE(0x88000, 0x8bfff) AM_RAM /* work RAM */
AM_RANGE(0xb0ffe, 0xb0fff) AM_WRITEONLY /* leftover from protection?? */
AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0xc8000, 0xc8bff) AM_READWRITE_LEGACY(m72_palette1_r, m72_palette1_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0xcc000, 0xccbff) AM_READWRITE_LEGACY(m72_palette2_r, m72_palette2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0xc8000, 0xc8bff) AM_READWRITE_LEGACY(m72_palette1_r, m72_palette1_w) AM_SHARE("paletteram")
+ AM_RANGE(0xcc000, 0xccbff) AM_READWRITE_LEGACY(m72_palette2_r, m72_palette2_w) AM_SHARE("paletteram2")
AM_RANGE(0xd0000, 0xd3fff) AM_RAM_WRITE_LEGACY(m72_videoram1_w) AM_BASE(m_videoram1)
AM_RANGE(0xd8000, 0xdbfff) AM_RAM_WRITE_LEGACY(m72_videoram2_w) AM_BASE(m_videoram2)
AM_RANGE(0xffff0, 0xfffff) AM_ROM
@@ -915,10 +915,10 @@ static ADDRESS_MAP_START( rtype2_map, AS_PROGRAM, 16, m72_state )
AM_RANGE(0xb0000, 0xb0001) AM_WRITE_LEGACY(m72_irq_line_w)
AM_RANGE(0xbc000, 0xbc001) AM_WRITE_LEGACY(m72_dmaon_w)
AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0xc8000, 0xc8bff) AM_READWRITE_LEGACY(m72_palette1_r, m72_palette1_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xc8000, 0xc8bff) AM_READWRITE_LEGACY(m72_palette1_r, m72_palette1_w) AM_SHARE("paletteram")
AM_RANGE(0xd0000, 0xd3fff) AM_RAM_WRITE_LEGACY(m72_videoram1_w) AM_BASE(m_videoram1)
AM_RANGE(0xd4000, 0xd7fff) AM_RAM_WRITE_LEGACY(m72_videoram2_w) AM_BASE(m_videoram2)
- AM_RANGE(0xd8000, 0xd8bff) AM_READWRITE_LEGACY(m72_palette2_r, m72_palette2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0xd8000, 0xd8bff) AM_READWRITE_LEGACY(m72_palette2_r, m72_palette2_w) AM_SHARE("paletteram2")
AM_RANGE(0xe0000, 0xe3fff) AM_RAM /* work RAM */
AM_RANGE(0xffff0, 0xfffff) AM_ROM
ADDRESS_MAP_END
@@ -926,12 +926,12 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( majtitle_map, AS_PROGRAM, 16, m72_state )
AM_RANGE(0x00000, 0x7ffff) AM_ROM
AM_RANGE(0xa0000, 0xa03ff) AM_RAM AM_BASE(m_majtitle_rowscrollram)
- AM_RANGE(0xa4000, 0xa4bff) AM_READWRITE_LEGACY(m72_palette2_r, m72_palette2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0xa4000, 0xa4bff) AM_READWRITE_LEGACY(m72_palette2_r, m72_palette2_w) AM_SHARE("paletteram2")
AM_RANGE(0xac000, 0xaffff) AM_RAM_WRITE_LEGACY(m72_videoram1_w) AM_BASE(m_videoram1)
AM_RANGE(0xb0000, 0xbffff) AM_RAM_WRITE_LEGACY(m72_videoram2_w) AM_BASE(m_videoram2) /* larger than the other games */
AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0xc8000, 0xc83ff) AM_RAM AM_BASE(m_spriteram2)
- AM_RANGE(0xcc000, 0xccbff) AM_READWRITE_LEGACY(m72_palette1_r, m72_palette1_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xcc000, 0xccbff) AM_READWRITE_LEGACY(m72_palette1_r, m72_palette1_w) AM_SHARE("paletteram")
AM_RANGE(0xd0000, 0xd3fff) AM_RAM /* work RAM */
AM_RANGE(0xe0000, 0xe0001) AM_WRITE_LEGACY(m72_irq_line_w)
AM_RANGE(0xe4000, 0xe4001) AM_WRITEONLY /* playfield enable? 1 during screen transitions, 0 otherwise */
@@ -944,8 +944,8 @@ static ADDRESS_MAP_START( hharry_map, AS_PROGRAM, 16, m72_state )
AM_RANGE(0xa0000, 0xa3fff) AM_RAM /* work RAM */
AM_RANGE(0xb0ffe, 0xb0fff) AM_WRITEONLY /* leftover from protection?? */
AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0xc8000, 0xc8bff) AM_READWRITE_LEGACY(m72_palette1_r, m72_palette1_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0xcc000, 0xccbff) AM_READWRITE_LEGACY(m72_palette2_r, m72_palette2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0xc8000, 0xc8bff) AM_READWRITE_LEGACY(m72_palette1_r, m72_palette1_w) AM_SHARE("paletteram")
+ AM_RANGE(0xcc000, 0xccbff) AM_READWRITE_LEGACY(m72_palette2_r, m72_palette2_w) AM_SHARE("paletteram2")
AM_RANGE(0xd0000, 0xd3fff) AM_RAM_WRITE_LEGACY(m72_videoram1_w) AM_BASE(m_videoram1)
AM_RANGE(0xd8000, 0xdbfff) AM_RAM_WRITE_LEGACY(m72_videoram2_w) AM_BASE(m_videoram2)
AM_RANGE(0xffff0, 0xfffff) AM_ROM
@@ -953,8 +953,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( hharryu_map, AS_PROGRAM, 16, m72_state )
AM_RANGE(0x00000, 0x7ffff) AM_ROM
- AM_RANGE(0xa0000, 0xa0bff) AM_READWRITE_LEGACY(m72_palette1_r, m72_palette1_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0xa8000, 0xa8bff) AM_READWRITE_LEGACY(m72_palette2_r, m72_palette2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0xa0000, 0xa0bff) AM_READWRITE_LEGACY(m72_palette1_r, m72_palette1_w) AM_SHARE("paletteram")
+ AM_RANGE(0xa8000, 0xa8bff) AM_READWRITE_LEGACY(m72_palette2_r, m72_palette2_w) AM_SHARE("paletteram2")
AM_RANGE(0xb0000, 0xb0001) AM_WRITE_LEGACY(m72_irq_line_w)
AM_RANGE(0xbc000, 0xbc001) AM_WRITE_LEGACY(m72_dmaon_w)
AM_RANGE(0xb0ffe, 0xb0fff) AM_WRITEONLY /* leftover from protection?? */
@@ -967,8 +967,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( kengo_map, AS_PROGRAM, 16, m72_state )
AM_RANGE(0x00000, 0x7ffff) AM_ROM
- AM_RANGE(0xa0000, 0xa0bff) AM_READWRITE_LEGACY(m72_palette1_r, m72_palette1_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0xa8000, 0xa8bff) AM_READWRITE_LEGACY(m72_palette2_r, m72_palette2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0xa0000, 0xa0bff) AM_READWRITE_LEGACY(m72_palette1_r, m72_palette1_w) AM_SHARE("paletteram")
+ AM_RANGE(0xa8000, 0xa8bff) AM_READWRITE_LEGACY(m72_palette2_r, m72_palette2_w) AM_SHARE("paletteram2")
AM_RANGE(0xb0000, 0xb0001) AM_WRITE_LEGACY(m72_irq_line_w)
AM_RANGE(0xb4000, 0xb4001) AM_WRITENOP /* ??? */
AM_RANGE(0xbc000, 0xbc001) AM_WRITE_LEGACY(m72_dmaon_w)
diff --git a/src/mame/drivers/m90.c b/src/mame/drivers/m90.c
index a2334ffc4d1..52235a38eee 100644
--- a/src/mame/drivers/m90.c
+++ b/src/mame/drivers/m90.c
@@ -77,7 +77,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_LEGACY(m90_video_w) AM_BASE(m_video_data)
- AM_RANGE(0xe0000, 0xe03ff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xe0000, 0xe03ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0xffff0, 0xfffff) AM_ROM
ADDRESS_MAP_END
@@ -86,7 +86,7 @@ static ADDRESS_MAP_START( dynablsb_main_cpu_map, AS_PROGRAM, 16, m90_state )
AM_RANGE(0x6000e, 0x60fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0xa0000, 0xa3fff) AM_RAM
AM_RANGE(0xd0000, 0xdffff) AM_RAM_WRITE_LEGACY(m90_video_w) AM_BASE(m_video_data)
- AM_RANGE(0xe0000, 0xe03ff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xe0000, 0xe03ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0xffff0, 0xfffff) AM_ROM
ADDRESS_MAP_END
@@ -95,7 +95,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_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0xd0000, 0xdffff) AM_RAM_WRITE_LEGACY(m90_video_w) AM_BASE(m_video_data)
- AM_RANGE(0xe0000, 0xe03ff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xe0000, 0xe03ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0xffff0, 0xfffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/madmotor.c b/src/mame/drivers/madmotor.c
index 21dfc3d3fb0..bf291385051 100644
--- a/src/mame/drivers/madmotor.c
+++ b/src/mame/drivers/madmotor.c
@@ -56,7 +56,7 @@ static ADDRESS_MAP_START( madmotor_map, AS_PROGRAM, 16, madmotor_state )
AM_RANGE(0x1a4000, 0x1a4fff) AM_DEVREADWRITE_LEGACY("tilegen3", deco_bac06_pf_data_r, deco_bac06_pf_data_w)
AM_RANGE(0x3e0000, 0x3e3fff) AM_RAM
AM_RANGE(0x3e8000, 0x3e87ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0x3f0000, 0x3f07ff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x3f0000, 0x3f07ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
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.c b/src/mame/drivers/magic10.c
index 057bdbae98a..e7a71cc423c 100644
--- a/src/mame/drivers/magic10.c
+++ b/src/mame/drivers/magic10.c
@@ -135,7 +135,7 @@ WRITE16_MEMBER(magic10_state::layer2_videoram_w)
WRITE16_MEMBER(magic10_state::paletteram_w)
{
- data = COMBINE_DATA(&machine().generic.paletteram.u16[offset]);
+ data = COMBINE_DATA(&m_generic_paletteram_16[offset]);
palette_set_color_rgb( machine(), offset, pal4bit(data >> 4), pal4bit(data >> 0), pal4bit(data >> 8));
}
@@ -292,7 +292,7 @@ static ADDRESS_MAP_START( magic10_map, AS_PROGRAM, 16, magic10_state )
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(layer0_videoram_w) AM_BASE(m_layer0_videoram)
AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(layer2_videoram_w) AM_BASE(m_layer2_videoram)
AM_RANGE(0x200000, 0x2007ff) AM_RAM AM_SHARE("nvram")
- AM_RANGE(0x300000, 0x3001ff) AM_RAM_WRITE(paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x300000, 0x3001ff) AM_RAM_WRITE(paletteram_w) AM_SHARE("paletteram")
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)
@@ -308,7 +308,7 @@ static ADDRESS_MAP_START( magic10a_map, AS_PROGRAM, 16, magic10_state )
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(layer0_videoram_w) AM_BASE(m_layer0_videoram)
AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(layer2_videoram_w) AM_BASE(m_layer2_videoram)
AM_RANGE(0x200000, 0x2007ff) AM_RAM AM_SHARE("nvram")
- AM_RANGE(0x300000, 0x3001ff) AM_RAM_WRITE(paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x300000, 0x3001ff) AM_RAM_WRITE(paletteram_w) AM_SHARE("paletteram")
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)
@@ -324,7 +324,7 @@ static ADDRESS_MAP_START( magic102_map, AS_PROGRAM, 16, magic10_state )
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(layer0_videoram_w) AM_BASE(m_layer0_videoram)
AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(layer2_videoram_w) AM_BASE(m_layer2_videoram)
AM_RANGE(0x200000, 0x2007ff) AM_RAM AM_SHARE("nvram")
- AM_RANGE(0x400000, 0x4001ff) AM_RAM_WRITE(paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x400000, 0x4001ff) AM_RAM_WRITE(paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x500000, 0x500001) AM_READ(magic102_r)
AM_RANGE(0x500004, 0x500005) AM_READNOP // gives credits
AM_RANGE(0x500006, 0x500007) AM_READNOP // gives credits
@@ -343,7 +343,7 @@ static ADDRESS_MAP_START( hotslot_map, AS_PROGRAM, 16, magic10_state )
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(layer0_videoram_w) AM_BASE(m_layer0_videoram)
AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(layer2_videoram_w) AM_BASE(m_layer2_videoram)
AM_RANGE(0x200000, 0x2007ff) AM_RAM AM_SHARE("nvram")
- AM_RANGE(0x400000, 0x4001ff) AM_RAM_WRITE(paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x400000, 0x4001ff) AM_RAM_WRITE(paletteram_w) AM_SHARE("paletteram")
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")
@@ -362,7 +362,7 @@ static ADDRESS_MAP_START( sgsafari_map, AS_PROGRAM, 16, magic10_state )
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(layer0_videoram_w) AM_BASE(m_layer0_videoram)
AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(layer2_videoram_w) AM_BASE(m_layer2_videoram)
AM_RANGE(0x200000, 0x203fff) AM_RAM AM_SHARE("nvram")
- AM_RANGE(0x300000, 0x3001ff) AM_RAM_WRITE(paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x300000, 0x3001ff) AM_RAM_WRITE(paletteram_w) AM_SHARE("paletteram")
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.c b/src/mame/drivers/mainevt.c
index 1fb905836f9..5b87b6358bd 100644
--- a/src/mame/drivers/mainevt.c
+++ b/src/mame/drivers/mainevt.c
@@ -179,7 +179,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_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x5e00, 0x5fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_be_w) AM_SHARE("paletteram")
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -203,7 +203,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_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x5e00, 0x5fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_be_w) AM_SHARE("paletteram")
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/majorpkr.c b/src/mame/drivers/majorpkr.c
index 0aff6294ded..db420d1a15e 100644
--- a/src/mame/drivers/majorpkr.c
+++ b/src/mame/drivers/majorpkr.c
@@ -529,9 +529,7 @@ static VIDEO_START(majorpkr)
state->m_fg_tilemap = tilemap_create(machine, fg_get_tile_info, tilemap_scan_rows, 16, 8, 36, 28);
state->m_fg_tilemap->set_transparent_pen(0);
- state->machine().generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 4 * 0x800);
-
- state->m_videoram = auto_alloc_array(machine, UINT8, 4 * 0x800); /* 2 banks in use, but the game clears 4 after boot ... */
+ state->m_generic_paletteram_8.allocate(4 * 0x800);
}
@@ -581,15 +579,15 @@ WRITE8_MEMBER(majorpkr_state::palette_bank_w)
READ8_MEMBER(majorpkr_state::paletteram_r)
{
- return machine().generic.paletteram.u8[m_palette_bank * 0x800 + offset];
+ return m_generic_paletteram_8[m_palette_bank * 0x800 + offset];
}
WRITE8_MEMBER(majorpkr_state::paletteram_w)
{
- machine().generic.paletteram.u8[m_palette_bank * 0x800 + offset] = data;
+ m_generic_paletteram_8[m_palette_bank * 0x800 + offset] = data;
offset >>= 1;
- int color = machine().generic.paletteram.u8[m_palette_bank * 0x800 + offset * 2] + machine().generic.paletteram.u8[m_palette_bank * 0x800 + offset * 2 + 1] * 256;
+ int color = m_generic_paletteram_8[m_palette_bank * 0x800 + offset * 2] + m_generic_paletteram_8[m_palette_bank * 0x800 + offset * 2 + 1] * 256;
palette_set_color(machine(), offset + m_palette_bank * 256 * 4, MAKE_RGB(pal5bit(color >> 5), pal5bit(color >> 10), pal5bit(color)));
}
diff --git a/src/mame/drivers/mcatadv.c b/src/mame/drivers/mcatadv.c
index 239f9a93d2b..99041a0bc00 100644
--- a/src/mame/drivers/mcatadv.c
+++ b/src/mame/drivers/mcatadv.c
@@ -183,7 +183,7 @@ static ADDRESS_MAP_START( mcatadv_map, AS_PROGRAM, 16, mcatadv_state )
AM_RANGE(0x400000, 0x401fff) AM_RAM_WRITE_LEGACY(mcatadv_videoram1_w) AM_BASE(m_videoram1) // Tilemap 0
AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE_LEGACY(mcatadv_videoram2_w) AM_BASE(m_videoram2) // Tilemap 1
- AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE_LEGACY(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x602000, 0x602fff) AM_RAM // Bigger than needs to be?
AM_RANGE(0x700000, 0x707fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites, two halves for double buffering
diff --git a/src/mame/drivers/mcr.c b/src/mame/drivers/mcr.c
index a1cae824c5a..116966cd0f1 100644
--- a/src/mame/drivers/mcr.c
+++ b/src/mame/drivers/mcr.c
@@ -641,8 +641,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_WRITE_LEGACY(paletteram_xxxxRRRRBBBBGGGG_split1_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0xf800, 0xf81f) AM_MIRROR(0x03e0) AM_WRITE_LEGACY(paletteram_xxxxRRRRBBBBGGGG_split2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0xf400, 0xf41f) AM_MIRROR(0x03e0) AM_WRITE(paletteram_xxxxRRRRBBBBGGGG_split1_w) AM_SHARE("paletteram")
+ AM_RANGE(0xf800, 0xf81f) AM_MIRROR(0x03e0) AM_WRITE(paletteram_xxxxRRRRBBBBGGGG_split2_w) AM_SHARE("paletteram2")
AM_RANGE(0xfc00, 0xffff) AM_RAM_WRITE_LEGACY(mcr_90009_videoram_w) AM_BASE(m_videoram)
ADDRESS_MAP_END
@@ -698,7 +698,7 @@ static ADDRESS_MAP_START( cpu_91490_map, AS_PROGRAM, 8, mcr_state )
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xe800, 0xe9ff) AM_MIRROR(0x0200) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE_LEGACY(mcr_91490_videoram_w) AM_BASE(m_videoram)
- AM_RANGE(0xf800, 0xf87f) AM_MIRROR(0x0780) AM_WRITE_LEGACY(mcr_91490_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf800, 0xf87f) AM_MIRROR(0x0780) AM_WRITE_LEGACY(mcr_91490_paletteram_w) AM_SHARE("paletteram")
ADDRESS_MAP_END
/* upper I/O map determined by PAL; only SSIO ports are verified from schematics */
diff --git a/src/mame/drivers/mcr3.c b/src/mame/drivers/mcr3.c
index c51bf396150..ac203f80838 100644
--- a/src/mame/drivers/mcr3.c
+++ b/src/mame/drivers/mcr3.c
@@ -493,7 +493,7 @@ static ADDRESS_MAP_START( mcrmono_map, AS_PROGRAM, 8, mcr3_state )
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xe800, 0xe9ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0xea00, 0xebff) AM_RAM
- AM_RANGE(0xec00, 0xec7f) AM_MIRROR(0x0380) AM_WRITE_LEGACY(mcr3_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xec00, 0xec7f) AM_MIRROR(0x0380) AM_WRITE_LEGACY(mcr3_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE_LEGACY(mcr3_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0xf800, 0xffff) AM_ROM /* schematics show a 2716 @ 2B here, but nobody used it */
ADDRESS_MAP_END
@@ -528,7 +528,7 @@ static ADDRESS_MAP_START( spyhunt_map, AS_PROGRAM, 8, mcr3_state )
AM_RANGE(0xe800, 0xebff) AM_MIRROR(0x0400) AM_RAM_WRITE_LEGACY(spyhunt_alpharam_w) AM_BASE(m_spyhunt_alpharam)
AM_RANGE(0xf000, 0xf7ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xf800, 0xf9ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0xfa00, 0xfa7f) AM_MIRROR(0x0180) AM_WRITE_LEGACY(mcr3_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xfa00, 0xfa7f) AM_MIRROR(0x0180) AM_WRITE_LEGACY(mcr3_paletteram_w) AM_SHARE("paletteram")
ADDRESS_MAP_END
/* upper I/O map determined by PAL; only SSIO ports and scroll registers are verified from schematics */
diff --git a/src/mame/drivers/mcr68.c b/src/mame/drivers/mcr68.c
index 3e350d9a620..826f3602c9f 100644
--- a/src/mame/drivers/mcr68.c
+++ b/src/mame/drivers/mcr68.c
@@ -307,7 +307,7 @@ static ADDRESS_MAP_START( mcr68_map, AS_PROGRAM, 16, mcr68_state )
AM_RANGE(0x070000, 0x070fff) AM_RAM_WRITE_LEGACY(mcr68_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0x071000, 0x071fff) AM_RAM
AM_RANGE(0x080000, 0x080fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0x090000, 0x09007f) AM_WRITE_LEGACY(mcr68_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x090000, 0x09007f) AM_WRITE_LEGACY(mcr68_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x0a0000, 0x0a000f) AM_READWRITE_LEGACY(mcr68_6840_upper_r, mcr68_6840_upper_w)
AM_RANGE(0x0b0000, 0x0bffff) AM_WRITE_LEGACY(watchdog_reset16_w)
AM_RANGE(0x0d0000, 0x0dffff) AM_READ_PORT("IN0")
@@ -333,7 +333,7 @@ static ADDRESS_MAP_START( zwackery_map, AS_PROGRAM, 16, mcr68_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_LEGACY(zwackery_videoram_w) AM_BASE(m_videoram)
- AM_RANGE(0x802000, 0x803fff) AM_RAM_WRITE_LEGACY(zwackery_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x802000, 0x803fff) AM_RAM_WRITE_LEGACY(zwackery_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0xc00000, 0xc00fff) AM_RAM_WRITE_LEGACY(zwackery_spriteram_w) AM_BASE_SIZE(m_spriteram, m_spriteram_size)
ADDRESS_MAP_END
@@ -351,7 +351,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_WRITE_LEGACY(mcr68_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0c0000, 0x0c007f) AM_WRITE_LEGACY(mcr68_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x0e0000, 0x0effff) AM_WRITE_LEGACY(watchdog_reset16_w)
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE_LEGACY(mcr68_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0x120000, 0x120001) AM_READWRITE(pigskin_protection_r, pigskin_protection_w)
@@ -377,7 +377,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_WRITE_LEGACY(mcr68_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x120000, 0x12007f) AM_WRITE_LEGACY(mcr68_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x140000, 0x1407ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x160000, 0x160fff) AM_RAM_WRITE_LEGACY(mcr68_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0x180000, 0x18000f) AM_READWRITE_LEGACY(mcr68_6840_upper_r, mcr68_6840_upper_w)
diff --git a/src/mame/drivers/megasys1.c b/src/mame/drivers/megasys1.c
index 322ff4ebfb1..012783718bd 100644
--- a/src/mame/drivers/megasys1.c
+++ b/src/mame/drivers/megasys1.c
@@ -180,7 +180,7 @@ static ADDRESS_MAP_START( megasys1A_map, AS_PROGRAM, 16, megasys1_state )
AM_RANGE(0x080006, 0x080007) AM_READ_PORT("DSW")
AM_RANGE(0x080008, 0x080009) AM_READ_LEGACY(soundlatch2_word_r) /* from sound cpu */
AM_RANGE(0x084000, 0x0843ff) AM_RAM_WRITE_LEGACY(megasys1_vregs_A_w) AM_BASE(m_vregs)
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x08e000, 0x08ffff) AM_RAM AM_BASE(m_objectram)
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE_LEGACY(megasys1_scrollram_0_w) AM_BASE(m_scrollram[0])
AM_RANGE(0x094000, 0x097fff) AM_RAM_WRITE_LEGACY(megasys1_scrollram_1_w) AM_BASE(m_scrollram[1])
@@ -257,7 +257,7 @@ static ADDRESS_MAP_START( megasys1B_map, AS_PROGRAM, 16, megasys1_state )
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x044000, 0x0443ff) AM_RAM_WRITE_LEGACY(megasys1_vregs_A_w) AM_BASE(m_vregs)
- AM_RANGE(0x048000, 0x0487ff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x048000, 0x0487ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x04e000, 0x04ffff) AM_RAM AM_BASE(m_objectram)
AM_RANGE(0x050000, 0x053fff) AM_RAM_WRITE_LEGACY(megasys1_scrollram_0_w) AM_BASE(m_scrollram[0])
AM_RANGE(0x054000, 0x057fff) AM_RAM_WRITE_LEGACY(megasys1_scrollram_1_w) AM_BASE(m_scrollram[1])
@@ -284,7 +284,7 @@ static ADDRESS_MAP_START( megasys1C_map, AS_PROGRAM, 16, megasys1_state )
AM_RANGE(0x0e0000, 0x0e3fff) AM_RAM_WRITE_LEGACY(megasys1_scrollram_0_w) AM_BASE(m_scrollram[0])
AM_RANGE(0x0e8000, 0x0ebfff) AM_RAM_WRITE_LEGACY(megasys1_scrollram_1_w) AM_BASE(m_scrollram[1])
AM_RANGE(0x0f0000, 0x0f3fff) AM_RAM_WRITE_LEGACY(megasys1_scrollram_2_w) AM_BASE(m_scrollram[2])
- AM_RANGE(0x0f8000, 0x0f87ff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0f8000, 0x0f87ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x0d8000, 0x0d8001) AM_READWRITE(ip_select_r,ip_select_w)
AM_RANGE(0x1c0000, 0x1cffff) AM_MIRROR(0x30000) AM_RAM AM_BASE(m_ram) //0x1f****, Cybattler reads attract mode inputs at 0x1d****
ADDRESS_MAP_END
@@ -305,7 +305,7 @@ static ADDRESS_MAP_START( megasys1D_map, AS_PROGRAM, 16, megasys1_state )
AM_RANGE(0x0ca000, 0x0cbfff) AM_RAM AM_BASE(m_objectram)
AM_RANGE(0x0d0000, 0x0d3fff) AM_RAM_WRITE_LEGACY(megasys1_scrollram_1_w) AM_BASE(m_scrollram[1])
AM_RANGE(0x0d4000, 0x0d7fff) AM_RAM_WRITE_LEGACY(megasys1_scrollram_2_w) AM_BASE(m_scrollram[2])
- AM_RANGE(0x0d8000, 0x0d87ff) AM_MIRROR(0x3000) AM_RAM_WRITE_LEGACY(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0d8000, 0x0d87ff) AM_MIRROR(0x3000) AM_RAM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x0e0000, 0x0e0001) AM_READ_PORT("DSW")
AM_RANGE(0x0e8000, 0x0ebfff) AM_RAM_WRITE_LEGACY(megasys1_scrollram_0_w) AM_BASE(m_scrollram[0])
AM_RANGE(0x0f0000, 0x0f0001) AM_READ_PORT("SYSTEM")
diff --git a/src/mame/drivers/metlclsh.c b/src/mame/drivers/metlclsh.c
index cce32d9819f..403e1a4b93d 100644
--- a/src/mame/drivers/metlclsh.c
+++ b/src/mame/drivers/metlclsh.c
@@ -65,8 +65,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_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE_GENERIC(paletteram)
-/**/AM_RANGE(0xcc00, 0xcc2f) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE_GENERIC(paletteram2)
+/**/AM_RANGE(0xc800, 0xc82f) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("paletteram")
+/**/AM_RANGE(0xcc00, 0xcc2f) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("paletteram2")
AM_RANGE(0xd000, 0xd001) AM_DEVREADWRITE_LEGACY("ym1", ym2203_r,ym2203_w)
/**/AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE_LEGACY(metlclsh_fgram_w) AM_BASE(m_fgram)
AM_RANGE(0xe000, 0xe001) AM_DEVWRITE_LEGACY("ym2", ym3526_w )
diff --git a/src/mame/drivers/metro.c b/src/mame/drivers/metro.c
index 6a0bde3891f..d26bc0d1b5b 100644
--- a/src/mame/drivers/metro.c
+++ b/src/mame/drivers/metro.c
@@ -883,7 +883,7 @@ static ADDRESS_MAP_START( balcube_map, AS_PROGRAM, 16, metro_state )
AM_RANGE(0x620000, 0x63ffff) AM_RAM_WRITE_LEGACY(metro_vram_1_w) AM_BASE(m_vram_1) // Layer 1
AM_RANGE(0x640000, 0x65ffff) AM_RAM_WRITE_LEGACY(metro_vram_2_w) AM_BASE(m_vram_2) // Layer 2
AM_RANGE(0x660000, 0x66ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0x670000, 0x673fff) AM_RAM_WRITE_LEGACY(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x670000, 0x673fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x674000, 0x674fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
AM_RANGE(0x678000, 0x6787ff) AM_RAM AM_BASE_SIZE(m_tiletable, m_tiletable_size) // Tiles Set
AM_RANGE(0x678840, 0x67884d) AM_WRITE(metro_blitter_w) AM_BASE(m_blitter_regs) // Tiles Blitter
@@ -914,7 +914,7 @@ static ADDRESS_MAP_START( daitoa_map, AS_PROGRAM, 16, metro_state )
AM_RANGE(0x120000, 0x13ffff) AM_RAM_WRITE_LEGACY(metro_vram_1_w) AM_BASE(m_vram_1) // Layer 1
AM_RANGE(0x140000, 0x15ffff) AM_RAM_WRITE_LEGACY(metro_vram_2_w) AM_BASE(m_vram_2) // Layer 2
AM_RANGE(0x160000, 0x16ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0x170000, 0x173fff) AM_RAM_WRITE_LEGACY(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x170000, 0x173fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x174000, 0x174fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
AM_RANGE(0x178000, 0x1787ff) AM_RAM AM_BASE_SIZE(m_tiletable, m_tiletable_size) // Tiles Set
AM_RANGE(0x178840, 0x17884d) AM_WRITE(metro_blitter_w) AM_BASE(m_blitter_regs) // Tiles Blitter
@@ -953,7 +953,7 @@ static ADDRESS_MAP_START( bangball_map, AS_PROGRAM, 16, metro_state )
AM_RANGE(0xe20000, 0xe3ffff) AM_RAM_WRITE_LEGACY(metro_vram_1_w) AM_BASE(m_vram_1) // Layer 1
AM_RANGE(0xe40000, 0xe5ffff) AM_RAM_WRITE_LEGACY(metro_vram_2_w) AM_BASE(m_vram_2) // Layer 2
AM_RANGE(0xe60000, 0xe6ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0xe70000, 0xe73fff) AM_RAM_WRITE_LEGACY(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0xe70000, 0xe73fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0xe74000, 0xe74fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
AM_RANGE(0xe78000, 0xe787ff) AM_RAM AM_BASE_SIZE(m_tiletable, m_tiletable_size) // Tiles Set
AM_RANGE(0xe78840, 0xe7884d) AM_WRITE(metro_blitter_w) AM_BASE(m_blitter_regs) // Tiles Blitter
@@ -979,7 +979,7 @@ static ADDRESS_MAP_START( batlbubl_map, AS_PROGRAM, 16, metro_state )
AM_RANGE(0x120000, 0x13ffff) AM_RAM_WRITE_LEGACY(metro_vram_1_w) AM_BASE(m_vram_1) // Layer 1
AM_RANGE(0x140000, 0x15ffff) AM_RAM_WRITE_LEGACY(metro_vram_2_w) AM_BASE(m_vram_2) // Layer 2
AM_RANGE(0x160000, 0x16ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0x170000, 0x173fff) AM_RAM_WRITE_LEGACY(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x170000, 0x173fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x174000, 0x174fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
AM_RANGE(0x178000, 0x1787ff) AM_RAM AM_BASE_SIZE(m_tiletable, m_tiletable_size) // Tiles Set
AM_RANGE(0x178840, 0x17884d) AM_WRITE(metro_blitter_w) AM_BASE(m_blitter_regs) // Tiles Blitter
@@ -1015,7 +1015,7 @@ static ADDRESS_MAP_START( msgogo_map, AS_PROGRAM, 16, metro_state )
AM_RANGE(0x120000, 0x13ffff) AM_RAM_WRITE_LEGACY(metro_vram_1_w) AM_BASE(m_vram_1) // Layer 1
AM_RANGE(0x140000, 0x15ffff) AM_RAM_WRITE_LEGACY(metro_vram_2_w) AM_BASE(m_vram_2) // Layer 2
AM_RANGE(0x160000, 0x16ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0x170000, 0x173fff) AM_RAM_WRITE_LEGACY(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x170000, 0x173fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x174000, 0x174fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
AM_RANGE(0x178000, 0x1787ff) AM_RAM AM_BASE_SIZE(m_tiletable, m_tiletable_size) // Tiles Set
AM_RANGE(0x178840, 0x17884d) AM_WRITE(metro_blitter_w) AM_BASE(m_blitter_regs) // Tiles Blitter
@@ -1049,7 +1049,7 @@ static ADDRESS_MAP_START( daitorid_map, AS_PROGRAM, 16, metro_state )
AM_RANGE(0x420000, 0x43ffff) AM_RAM_WRITE_LEGACY(metro_vram_1_w) AM_BASE(m_vram_1) // Layer 1
AM_RANGE(0x440000, 0x45ffff) AM_RAM_WRITE_LEGACY(metro_vram_2_w) AM_BASE(m_vram_2) // Layer 2
AM_RANGE(0x460000, 0x46ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0x470000, 0x473fff) AM_RAM_WRITE_LEGACY(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x470000, 0x473fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x474000, 0x474fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
AM_RANGE(0x478000, 0x4787ff) AM_RAM AM_BASE_SIZE(m_tiletable, m_tiletable_size) // Tiles Set
AM_RANGE(0x478840, 0x47884d) AM_WRITE(metro_blitter_w) AM_BASE(m_blitter_regs) // Tiles Blitter
@@ -1082,7 +1082,7 @@ static ADDRESS_MAP_START( dharma_map, AS_PROGRAM, 16, metro_state )
AM_RANGE(0x820000, 0x83ffff) AM_RAM_WRITE_LEGACY(metro_vram_1_w) AM_BASE(m_vram_1) // Layer 1
AM_RANGE(0x840000, 0x85ffff) AM_RAM_WRITE_LEGACY(metro_vram_2_w) AM_BASE(m_vram_2) // Layer 2
AM_RANGE(0x860000, 0x86ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0x870000, 0x873fff) AM_RAM_WRITE_LEGACY(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x870000, 0x873fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x874000, 0x874fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
AM_RANGE(0x878000, 0x8787ff) AM_RAM AM_BASE_SIZE(m_tiletable, m_tiletable_size) // Tiles Set
AM_RANGE(0x878840, 0x87884d) AM_WRITE(metro_blitter_w) AM_BASE(m_blitter_regs) // Tiles Blitter
@@ -1133,7 +1133,7 @@ static ADDRESS_MAP_START( karatour_map, AS_PROGRAM, 16, metro_state )
AM_RANGE(0x40000a, 0x40000b) AM_READ_PORT("DSW1") //
AM_RANGE(0x40000c, 0x40000d) AM_READ_PORT("IN2") //
AM_RANGE(0x860000, 0x86ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0x870000, 0x873fff) AM_RAM_WRITE_LEGACY(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x870000, 0x873fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x874000, 0x874fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
AM_RANGE(0x875000, 0x875fff) AM_READWRITE(karatour_vram_0_r, karatour_vram_0_w) // Layer 0 (Part of)
AM_RANGE(0x876000, 0x876fff) AM_READWRITE(karatour_vram_1_r, karatour_vram_1_w) // Layer 1 (Part of)
@@ -1163,7 +1163,7 @@ static ADDRESS_MAP_START( kokushi_map, AS_PROGRAM, 16, metro_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x7fc000, 0x7fffff) AM_RAM // RAM
AM_RANGE(0x860000, 0x86ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0x870000, 0x873fff) AM_RAM_WRITE_LEGACY(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x870000, 0x873fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x874000, 0x874fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
AM_RANGE(0x875000, 0x875fff) AM_READWRITE(karatour_vram_0_r, karatour_vram_0_w) // Layer 0 (Part of)
AM_RANGE(0x876000, 0x876fff) AM_READWRITE(karatour_vram_1_r, karatour_vram_1_w) // Layer 1 (Part of)
@@ -1198,7 +1198,7 @@ static ADDRESS_MAP_START( lastfort_map, AS_PROGRAM, 16, metro_state )
AM_RANGE(0x820000, 0x83ffff) AM_RAM_WRITE_LEGACY(metro_vram_1_w) AM_BASE(m_vram_1) // Layer 1
AM_RANGE(0x840000, 0x85ffff) AM_RAM_WRITE_LEGACY(metro_vram_2_w) AM_BASE(m_vram_2) // Layer 2
AM_RANGE(0x860000, 0x86ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0x870000, 0x873fff) AM_RAM_WRITE_LEGACY(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x870000, 0x873fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x874000, 0x874fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
AM_RANGE(0x878000, 0x8787ff) AM_RAM AM_BASE_SIZE(m_tiletable, m_tiletable_size) // Tiles Set
AM_RANGE(0x878800, 0x878813) AM_WRITEONLY AM_BASE(m_videoregs) // Video Registers
@@ -1238,7 +1238,7 @@ static ADDRESS_MAP_START( lastforg_map, AS_PROGRAM, 16, metro_state )
AM_RANGE(0x8a0000, 0x8bffff) AM_RAM_WRITE_LEGACY(metro_vram_1_w) AM_BASE(m_vram_1) // Layer 1
AM_RANGE(0x8c0000, 0x8dffff) AM_RAM_WRITE_LEGACY(metro_vram_2_w) AM_BASE(m_vram_2) // Layer 2
AM_RANGE(0x8e0000, 0x8effff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0x8f0000, 0x8f3fff) AM_RAM_WRITE_LEGACY(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x8f0000, 0x8f3fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x8f4000, 0x8f4fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
AM_RANGE(0x8f8000, 0x8f87ff) AM_RAM AM_BASE_SIZE(m_tiletable, m_tiletable_size) // Tiles Set
AM_RANGE(0x8f8800, 0x8f8813) AM_WRITEONLY AM_BASE(m_videoregs) // Video Registers
@@ -1332,7 +1332,7 @@ static ADDRESS_MAP_START( gakusai_map, AS_PROGRAM, 16, metro_state )
AM_RANGE(0x220000, 0x23ffff) AM_RAM_WRITE_LEGACY(metro_vram_1_w) AM_BASE(m_vram_1) // Layer 1
AM_RANGE(0x240000, 0x25ffff) AM_RAM_WRITE_LEGACY(metro_vram_2_w) AM_BASE(m_vram_2) // Layer 2
AM_RANGE(0x260000, 0x26ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0x270000, 0x273fff) AM_RAM_WRITE_LEGACY(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x270000, 0x273fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x274000, 0x274fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
AM_RANGE(0x278000, 0x2787ff) AM_RAM AM_BASE_SIZE(m_tiletable, m_tiletable_size) // Tiles Set
AM_RANGE(0x27880e, 0x27880f) AM_RAM AM_BASE(m_screenctrl) // Screen Control
@@ -1369,7 +1369,7 @@ static ADDRESS_MAP_START( gakusai2_map, AS_PROGRAM, 16, metro_state )
AM_RANGE(0x620000, 0x63ffff) AM_RAM_WRITE_LEGACY(metro_vram_1_w) AM_BASE(m_vram_1) // Layer 1
AM_RANGE(0x640000, 0x65ffff) AM_RAM_WRITE_LEGACY(metro_vram_2_w) AM_BASE(m_vram_2) // Layer 2
AM_RANGE(0x660000, 0x66ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0x670000, 0x673fff) AM_RAM_WRITE_LEGACY(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x670000, 0x673fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x674000, 0x674fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
AM_RANGE(0x675000, 0x675fff) AM_RAM // Sprites?
AM_RANGE(0x678000, 0x6787ff) AM_RAM AM_BASE_SIZE(m_tiletable, m_tiletable_size) // Tiles Set
@@ -1441,7 +1441,7 @@ static ADDRESS_MAP_START( dokyusp_map, AS_PROGRAM, 16, metro_state )
AM_RANGE(0x220000, 0x23ffff) AM_RAM_WRITE_LEGACY(metro_vram_1_w) AM_BASE(m_vram_1) // Layer 1
AM_RANGE(0x240000, 0x25ffff) AM_RAM_WRITE_LEGACY(metro_vram_2_w) AM_BASE(m_vram_2) // Layer 2
AM_RANGE(0x260000, 0x26ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0x270000, 0x273fff) AM_RAM_WRITE_LEGACY(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x270000, 0x273fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x274000, 0x274fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
AM_RANGE(0x278000, 0x2787ff) AM_RAM AM_BASE_SIZE(m_tiletable, m_tiletable_size) // Tiles Set
AM_RANGE(0x278810, 0x27881f) AM_WRITEONLY AM_BASE(m_irq_levels) // IRQ Levels
@@ -1479,7 +1479,7 @@ static ADDRESS_MAP_START( dokyusei_map, AS_PROGRAM, 16, metro_state )
AM_RANGE(0x440000, 0x45ffff) AM_RAM_WRITE_LEGACY(metro_vram_2_w) AM_BASE(m_vram_2) // Layer 2
AM_RANGE(0x460000, 0x46ffff) AM_READ(metro_bankedrom_r) // Banked ROM
AM_RANGE(0x460000, 0x46ffff) AM_WRITENOP // DSW Selection
- AM_RANGE(0x470000, 0x473fff) AM_RAM_WRITE_LEGACY(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x470000, 0x473fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x474000, 0x474fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
AM_RANGE(0x478000, 0x4787ff) AM_RAM AM_BASE_SIZE(m_tiletable, m_tiletable_size) // Tiles Set
AM_RANGE(0x47880e, 0x47880f) AM_WRITEONLY AM_BASE(m_screenctrl) // Screen Control
@@ -1518,7 +1518,7 @@ static ADDRESS_MAP_START( pangpoms_map, AS_PROGRAM, 16, metro_state )
AM_RANGE(0x420000, 0x43ffff) AM_RAM_WRITE_LEGACY(metro_vram_1_w) AM_BASE(m_vram_1) // Layer 1
AM_RANGE(0x440000, 0x45ffff) AM_RAM_WRITE_LEGACY(metro_vram_2_w) AM_BASE(m_vram_2) // Layer 2
AM_RANGE(0x460000, 0x46ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0x470000, 0x473fff) AM_RAM_WRITE_LEGACY(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x470000, 0x473fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x474000, 0x474fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
AM_RANGE(0x478000, 0x4787ff) AM_RAM AM_BASE_SIZE(m_tiletable, m_tiletable_size) // Tiles Set
AM_RANGE(0x478800, 0x478813) AM_RAM AM_BASE(m_videoregs) // Video Registers
@@ -1554,7 +1554,7 @@ static ADDRESS_MAP_START( poitto_map, AS_PROGRAM, 16, metro_state )
AM_RANGE(0xc20000, 0xc3ffff) AM_RAM_WRITE_LEGACY(metro_vram_1_w) AM_BASE(m_vram_1) // Layer 1
AM_RANGE(0xc40000, 0xc5ffff) AM_RAM_WRITE_LEGACY(metro_vram_2_w) AM_BASE(m_vram_2) // Layer 2
AM_RANGE(0xc60000, 0xc6ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0xc70000, 0xc73fff) AM_RAM_WRITE_LEGACY(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0xc70000, 0xc73fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0xc74000, 0xc74fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
AM_RANGE(0xc78000, 0xc787ff) AM_RAM AM_BASE_SIZE(m_tiletable, m_tiletable_size) // Tiles Set
AM_RANGE(0xc78800, 0xc78813) AM_WRITEONLY AM_BASE(m_videoregs) // Video Registers
@@ -1587,7 +1587,7 @@ static ADDRESS_MAP_START( skyalert_map, AS_PROGRAM, 16, metro_state )
AM_RANGE(0x820000, 0x83ffff) AM_RAM_WRITE_LEGACY(metro_vram_1_w) AM_BASE(m_vram_1) // Layer 1
AM_RANGE(0x840000, 0x85ffff) AM_RAM_WRITE_LEGACY(metro_vram_2_w) AM_BASE(m_vram_2) // Layer 2
AM_RANGE(0x860000, 0x86ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0x870000, 0x873fff) AM_RAM_WRITE_LEGACY(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x870000, 0x873fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x874000, 0x874fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
AM_RANGE(0x878000, 0x8787ff) AM_RAM AM_BASE_SIZE(m_tiletable, m_tiletable_size) // Tiles Set
AM_RANGE(0x878800, 0x878813) AM_WRITEONLY AM_BASE(m_videoregs) // Video Registers
@@ -1623,7 +1623,7 @@ static ADDRESS_MAP_START( pururun_map, AS_PROGRAM, 16, metro_state )
AM_RANGE(0xc20000, 0xc3ffff) AM_RAM_WRITE_LEGACY(metro_vram_1_w) AM_BASE(m_vram_1) // Layer 1
AM_RANGE(0xc40000, 0xc5ffff) AM_RAM_WRITE_LEGACY(metro_vram_2_w) AM_BASE(m_vram_2) // Layer 2
AM_RANGE(0xc60000, 0xc6ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0xc70000, 0xc73fff) AM_RAM_WRITE_LEGACY(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0xc70000, 0xc73fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0xc74000, 0xc74fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
AM_RANGE(0xc78000, 0xc787ff) AM_RAM AM_BASE_SIZE(m_tiletable, m_tiletable_size) // Tiles Set
AM_RANGE(0xc78840, 0xc7884d) AM_WRITE(metro_blitter_w) AM_BASE(m_blitter_regs) // Tiles Blitter
@@ -1656,7 +1656,7 @@ static ADDRESS_MAP_START( toride2g_map, AS_PROGRAM, 16, metro_state )
AM_RANGE(0xc20000, 0xc3ffff) AM_RAM_WRITE_LEGACY(metro_vram_1_w) AM_BASE(m_vram_1) // Layer 1
AM_RANGE(0xc40000, 0xc5ffff) AM_RAM_WRITE_LEGACY(metro_vram_2_w) AM_BASE(m_vram_2) // Layer 2
AM_RANGE(0xc60000, 0xc6ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0xc70000, 0xc73fff) AM_RAM_WRITE_LEGACY(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0xc70000, 0xc73fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0xc74000, 0xc74fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
AM_RANGE(0xc78000, 0xc787ff) AM_RAM AM_BASE_SIZE(m_tiletable, m_tiletable_size) // Tiles Set
AM_RANGE(0xc78840, 0xc7884d) AM_WRITE(metro_blitter_w) AM_BASE(m_blitter_regs) // Tiles Blitter
@@ -1733,7 +1733,7 @@ static ADDRESS_MAP_START( blzntrnd_map, AS_PROGRAM, 16, metro_state )
AM_RANGE(0x240000, 0x25ffff) AM_RAM_WRITE_LEGACY(metro_vram_2_w) AM_BASE(m_vram_2) // Layer 2
AM_RANGE(0x260000, 0x26ffff) AM_READ(metro_bankedrom_r) // Banked ROM
AM_RANGE(0x260000, 0x26ffff) AM_WRITENOP // ??????
- AM_RANGE(0x270000, 0x273fff) AM_RAM_WRITE_LEGACY(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x270000, 0x273fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x274000, 0x274fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
AM_RANGE(0x278000, 0x2787ff) AM_RAM AM_BASE_SIZE(m_tiletable, m_tiletable_size) // Tiles Set
AM_RANGE(0x278860, 0x27886b) AM_WRITE_LEGACY(metro_window_w) AM_BASE(m_window) // Tilemap Window
@@ -1775,7 +1775,7 @@ static ADDRESS_MAP_START( mouja_map, AS_PROGRAM, 16, metro_state )
AM_RANGE(0x400000, 0x41ffff) AM_RAM_WRITE_LEGACY(metro_vram_0_w) AM_BASE(m_vram_0) // Layer 0
AM_RANGE(0x420000, 0x43ffff) AM_RAM_WRITE_LEGACY(metro_vram_1_w) AM_BASE(m_vram_1) // Layer 1
AM_RANGE(0x440000, 0x45ffff) AM_RAM_WRITE_LEGACY(metro_vram_2_w) AM_BASE(m_vram_2) // Layer 2
- AM_RANGE(0x470000, 0x473fff) AM_RAM_WRITE_LEGACY(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x470000, 0x473fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x474000, 0x474fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
AM_RANGE(0x478000, 0x4787ff) AM_RAM AM_BASE_SIZE(m_tiletable, m_tiletable_size) // Tiles Set
AM_RANGE(0x47880e, 0x47880f) AM_WRITEONLY AM_BASE(m_screenctrl) // Screen Control
@@ -1862,7 +1862,7 @@ static ADDRESS_MAP_START( puzzlet_map, AS_PROGRAM, 16, metro_state )
AM_RANGE(0x760000, 0x76ffff) AM_READ(metro_bankedrom_r) // Banked ROM
// AM_RANGE(0x772000, 0x773fff) AM_RAM
- AM_RANGE(0x770000, 0x773fff) AM_RAM_WRITE_LEGACY(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x770000, 0x773fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x775000, 0x775fff) AM_RAM_WRITE(vram_0_clr_w)
AM_RANGE(0x776000, 0x776fff) AM_RAM_WRITE(vram_1_clr_w)
diff --git a/src/mame/drivers/micro3d.c b/src/mame/drivers/micro3d.c
index 7c86b8273dd..537db9762ab 100644
--- a/src/mame/drivers/micro3d.c
+++ b/src/mame/drivers/micro3d.c
@@ -225,7 +225,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_LEGACY(micro3d_xfer3dk_w)
- AM_RANGE(0x02000000, 0x0200ffff) AM_RAM_WRITE_LEGACY(micro3d_clut_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x02000000, 0x0200ffff) AM_RAM_WRITE_LEGACY(micro3d_clut_w) AM_SHARE("paletteram")
AM_RANGE(0x02600000, 0x0260000f) AM_WRITE_LEGACY(micro3d_creg_w)
AM_RANGE(0x02c00000, 0x02c0003f) AM_READ_LEGACY(micro3d_ti_uart_r)
AM_RANGE(0x02e00000, 0x02e0003f) AM_WRITE_LEGACY(micro3d_ti_uart_w)
diff --git a/src/mame/drivers/midas.c b/src/mame/drivers/midas.c
index f40d5079382..6680d3ca703 100644
--- a/src/mame/drivers/midas.c
+++ b/src/mame/drivers/midas.c
@@ -274,7 +274,7 @@ static ADDRESS_MAP_START( livequiz_map, AS_PROGRAM, 16, midas_state )
AM_RANGE(0x9c0000, 0x9c0005) AM_WRITE(midas_gfxregs_w ) AM_BASE(m_gfxregs )
- AM_RANGE(0xa00000, 0xa3ffff) AM_RAM_WRITE_LEGACY(paletteram16_xrgb_word_be_w ) AM_BASE_GENERIC( paletteram )
+ AM_RANGE(0xa00000, 0xa3ffff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w ) AM_SHARE("paletteram")
AM_RANGE(0xa40000, 0xa7ffff) AM_RAM
AM_RANGE(0xb00000, 0xb00001) AM_READ(ret_ffff )
@@ -353,7 +353,7 @@ static ADDRESS_MAP_START( hammer_map, AS_PROGRAM, 16, midas_state )
AM_RANGE(0x9c0000, 0x9c0005) AM_WRITE(midas_gfxregs_w ) AM_BASE(m_gfxregs )
- AM_RANGE(0xa00000, 0xa3ffff) AM_RAM_WRITE_LEGACY(paletteram16_xrgb_word_be_w ) AM_BASE_GENERIC( paletteram )
+ AM_RANGE(0xa00000, 0xa3ffff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w ) AM_SHARE("paletteram")
AM_RANGE(0xa40000, 0xa7ffff) AM_RAM
AM_RANGE(0xb00000, 0xb00001) AM_READ(ret_ffff )
diff --git a/src/mame/drivers/midtunit.c b/src/mame/drivers/midtunit.c
index 47803625116..ace48aa1318 100644
--- a/src/mame/drivers/midtunit.c
+++ b/src/mame/drivers/midtunit.c
@@ -46,7 +46,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, midtunit_state )
AM_RANGE(0x01400000, 0x0141ffff) AM_READWRITE_LEGACY(midtunit_cmos_r, midtunit_cmos_w) AM_SHARE("nvram")
AM_RANGE(0x01480000, 0x014fffff) AM_WRITE_LEGACY(midtunit_cmos_enable_w)
AM_RANGE(0x01600000, 0x0160003f) AM_READ_LEGACY(midtunit_input_r)
- AM_RANGE(0x01800000, 0x0187ffff) AM_RAM_WRITE_LEGACY(midtunit_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x01800000, 0x0187ffff) AM_RAM_WRITE_LEGACY(midtunit_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x01a80000, 0x01a800ff) AM_READWRITE_LEGACY(midtunit_dma_r, midtunit_dma_w)
AM_RANGE(0x01b00000, 0x01b0001f) AM_WRITE_LEGACY(midtunit_control_w)
/* AM_RANGE(0x01c00060, 0x01c0007f) AM_WRITE_LEGACY(midtunit_cmos_enable_w) */
diff --git a/src/mame/drivers/midvunit.c b/src/mame/drivers/midvunit.c
index 69727c7bccc..ede09c50bc0 100644
--- a/src/mame/drivers/midvunit.c
+++ b/src/mame/drivers/midvunit.c
@@ -500,7 +500,7 @@ static ADDRESS_MAP_START( midvunit_map, AS_PROGRAM, 32, midvunit_state )
AM_RANGE(0x997000, 0x997000) AM_NOP // communications
AM_RANGE(0x9a0000, 0x9a0000) AM_WRITE_LEGACY(midvunit_sound_w)
AM_RANGE(0x9c0000, 0x9c1fff) AM_READWRITE_LEGACY(midvunit_cmos_r, midvunit_cmos_w) AM_SHARE("nvram")
- AM_RANGE(0x9e0000, 0x9e7fff) AM_RAM_WRITE_LEGACY(midvunit_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x9e0000, 0x9e7fff) AM_RAM_WRITE_LEGACY(midvunit_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0xa00000, 0xbfffff) AM_READWRITE_LEGACY(midvunit_textureram_r, midvunit_textureram_w) AM_BASE(m_textureram)
AM_RANGE(0xc00000, 0xffffff) AM_ROM AM_REGION("user1", 0)
ADDRESS_MAP_END
@@ -525,7 +525,7 @@ static ADDRESS_MAP_START( midvplus_map, AS_PROGRAM, 32, midvunit_state )
AM_RANGE(0x994000, 0x994000) AM_WRITE_LEGACY(midvunit_control_w)
AM_RANGE(0x995020, 0x995020) AM_WRITE_LEGACY(midvunit_cmos_protect_w)
AM_RANGE(0x9a0000, 0x9a0007) AM_DEVREADWRITE_LEGACY("ide", midway_ide_asic_r, midway_ide_asic_w)
- AM_RANGE(0x9c0000, 0x9c7fff) AM_RAM_WRITE_LEGACY(midvunit_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x9c0000, 0x9c7fff) AM_RAM_WRITE_LEGACY(midvunit_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x9d0000, 0x9d000f) AM_READWRITE_LEGACY(midvplus_misc_r, midvplus_misc_w) AM_BASE(m_midvplus_misc)
AM_RANGE(0xa00000, 0xbfffff) AM_READWRITE_LEGACY(midvunit_textureram_r, midvunit_textureram_w) AM_BASE(m_textureram)
AM_RANGE(0xc00000, 0xcfffff) AM_RAM
diff --git a/src/mame/drivers/midwunit.c b/src/mame/drivers/midwunit.c
index bfe224cd025..a27ddacac15 100644
--- a/src/mame/drivers/midwunit.c
+++ b/src/mame/drivers/midwunit.c
@@ -110,7 +110,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, midwunit_state )
AM_RANGE(0x01600000, 0x0160001f) AM_READWRITE_LEGACY(midwunit_security_r, midwunit_security_w)
AM_RANGE(0x01680000, 0x0168001f) AM_READWRITE_LEGACY(midwunit_sound_r, midwunit_sound_w)
AM_RANGE(0x01800000, 0x0187ffff) AM_READWRITE_LEGACY(midwunit_io_r, midwunit_io_w)
- AM_RANGE(0x01880000, 0x018fffff) AM_RAM_WRITE_LEGACY(midtunit_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x01880000, 0x018fffff) AM_RAM_WRITE_LEGACY(midtunit_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x01a00000, 0x01a000ff) AM_MIRROR(0x00080000) AM_READWRITE_LEGACY(midtunit_dma_r, midtunit_dma_w)
AM_RANGE(0x01b00000, 0x01b0001f) AM_READWRITE_LEGACY(midwunit_control_r, midwunit_control_w)
AM_RANGE(0x02000000, 0x06ffffff) AM_READ_LEGACY(midwunit_gfxrom_r) AM_BASE(m_decode_memory)
diff --git a/src/mame/drivers/midxunit.c b/src/mame/drivers/midxunit.c
index a7be4f67655..d58cd8e9498 100644
--- a/src/mame/drivers/midxunit.c
+++ b/src/mame/drivers/midxunit.c
@@ -110,7 +110,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, midxunit_state )
AM_RANGE(0x80800000, 0x8080001f) AM_READWRITE_LEGACY(midxunit_analog_r, midxunit_analog_select_w)
AM_RANGE(0x80c00000, 0x80c000ff) AM_READWRITE_LEGACY(midxunit_uart_r, midxunit_uart_w)
AM_RANGE(0xa0440000, 0xa047ffff) AM_READWRITE_LEGACY(midxunit_cmos_r, midxunit_cmos_w) AM_SHARE("nvram")
- AM_RANGE(0xa0800000, 0xa08fffff) AM_READWRITE_LEGACY(midxunit_paletteram_r, midxunit_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xa0800000, 0xa08fffff) AM_READWRITE_LEGACY(midxunit_paletteram_r, midxunit_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0xc0000000, 0xc00003ff) AM_READWRITE_LEGACY(tms34020_io_register_r, tms34020_io_register_w)
AM_RANGE(0xc0c00000, 0xc0c000ff) AM_MIRROR(0x00400000) AM_READWRITE_LEGACY(midtunit_dma_r, midtunit_dma_w)
AM_RANGE(0xf8000000, 0xfeffffff) AM_READ_LEGACY(midwunit_gfxrom_r) AM_BASE(m_decode_memory)
diff --git a/src/mame/drivers/midyunit.c b/src/mame/drivers/midyunit.c
index fc42b8d8466..73da48229a4 100644
--- a/src/mame/drivers/midyunit.c
+++ b/src/mame/drivers/midyunit.c
@@ -179,7 +179,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, midyunit_state )
AM_RANGE(0x00000000, 0x001fffff) AM_READWRITE_LEGACY(midyunit_vram_r, midyunit_vram_w)
AM_RANGE(0x01000000, 0x010fffff) AM_RAM
AM_RANGE(0x01400000, 0x0140ffff) AM_READWRITE_LEGACY(midyunit_cmos_r, midyunit_cmos_w)
- AM_RANGE(0x01800000, 0x0181ffff) AM_RAM_WRITE_LEGACY(midyunit_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x01800000, 0x0181ffff) AM_RAM_WRITE_LEGACY(midyunit_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x01a80000, 0x01a8009f) AM_MIRROR(0x00080000) AM_READWRITE_LEGACY(midyunit_dma_r, midyunit_dma_w)
AM_RANGE(0x01c00000, 0x01c0005f) AM_READ_LEGACY(midyunit_input_r)
AM_RANGE(0x01c00060, 0x01c0007f) AM_READWRITE_LEGACY(midyunit_protection_r, midyunit_cmos_enable_w)
diff --git a/src/mame/drivers/mil4000.c b/src/mame/drivers/mil4000.c
index 79e947e5f7d..79eb474e86d 100644
--- a/src/mame/drivers/mil4000.c
+++ b/src/mame/drivers/mil4000.c
@@ -286,7 +286,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_WRITE_LEGACY(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x780000, 0x780fff) AM_RAM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0xff0000, 0xffffff) AM_RAM AM_SHARE("nvram") // 2x CY62256L-70 (U7 & U8).
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mirage.c b/src/mame/drivers/mirage.c
index 4db79ab20b2..f08dcf4ecf4 100644
--- a/src/mame/drivers/mirage.c
+++ b/src/mame/drivers/mirage.c
@@ -140,7 +140,7 @@ static ADDRESS_MAP_START( mirage_map, AS_PROGRAM, 16, miragemi_state )
AM_RANGE(0x110000, 0x110bff) AM_RAM AM_BASE(m_pf1_rowscroll)
AM_RANGE(0x112000, 0x112bff) AM_RAM AM_BASE(m_pf2_rowscroll)
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x130000, 0x1307ff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x130000, 0x1307ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
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(0x140006, 0x140007) AM_READ_LEGACY(random_readers)
diff --git a/src/mame/drivers/missb2.c b/src/mame/drivers/missb2.c
index 43c8f12a3d7..5ac1978c931 100644
--- a/src/mame/drivers/missb2.c
+++ b/src/mame/drivers/missb2.c
@@ -162,7 +162,7 @@ static ADDRESS_MAP_START( master_map, AS_PROGRAM, 8, missb2_state )
AM_RANGE(0xc000, 0xdcff) AM_RAM AM_BASE_SIZE(m_videoram, m_videoram_size)
AM_RANGE(0xdd00, 0xdfff) AM_RAM AM_BASE_SIZE(m_objectram, m_objectram_size)
AM_RANGE(0xe000, 0xf7ff) AM_RAM AM_SHARE("share1")
- AM_RANGE(0xf800, 0xf9ff) AM_RAM_WRITE_LEGACY(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf800, 0xf9ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_SHARE("paletteram")
AM_RANGE(0xfa00, 0xfa00) AM_WRITE_LEGACY(bublbobl_sound_command_w)
AM_RANGE(0xfa03, 0xfa03) AM_WRITENOP // sound cpu reset
AM_RANGE(0xfa80, 0xfa80) AM_WRITENOP
diff --git a/src/mame/drivers/mlanding.c b/src/mame/drivers/mlanding.c
index cea3c19bafa..7470ab6811b 100644
--- a/src/mame/drivers/mlanding.c
+++ b/src/mame/drivers/mlanding.c
@@ -481,7 +481,7 @@ static ADDRESS_MAP_START( mlanding_mem, AS_PROGRAM, 16, mlanding_state )
AM_RANGE(0x2d0000, 0x2d0001) AM_READNOP
AM_RANGE(0x2d0002, 0x2d0003) AM_DEVREAD8_LEGACY("tc0140syt", tc0140syt_comm_r, 0x00ff)
- AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x280000, 0x2807ff) AM_READWRITE(ml_mecha_ram_r,ml_mecha_ram_w)
AM_RANGE(0x290000, 0x290001) AM_READ_PORT("IN1")
diff --git a/src/mame/drivers/model1.c b/src/mame/drivers/model1.c
index caced910163..a5d46064b90 100644
--- a/src/mame/drivers/model1.c
+++ b/src/mame/drivers/model1.c
@@ -797,9 +797,9 @@ WRITE16_MEMBER(model1_state::md0_w)
WRITE16_MEMBER(model1_state::p_w)
{
- UINT16 old = machine().generic.paletteram.u16[offset];
+ UINT16 old = m_generic_paletteram_16[offset];
paletteram16_xBBBBBGGGGGRRRRR_word_w(space, offset, data, mem_mask);
- if(0 && machine().generic.paletteram.u16[offset] != old)
+ if(0 && m_generic_paletteram_16[offset] != old)
logerror("XVIDEO: p_w %x, %04x @ %04x (%x)\n", offset, data, mem_mask, cpu_get_pc(&space.device()));
}
@@ -883,7 +883,7 @@ static ADDRESS_MAP_START( model1_mem, AS_PROGRAM, 16, model1_state )
AM_RANGE(0x770000, 0x770001) AM_WRITENOP // Video synchronization switch
AM_RANGE(0x780000, 0x7fffff) AM_DEVREADWRITE("tile", segas24_tile, char_r, char_w)
- AM_RANGE(0x900000, 0x903fff) AM_RAM_WRITE(p_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x900000, 0x903fff) AM_RAM_WRITE(p_w) AM_SHARE("paletteram")
AM_RANGE(0x910000, 0x91bfff) AM_RAM AM_BASE(m_color_xlat)
AM_RANGE(0xc00000, 0xc0003f) AM_READ(io_r) AM_WRITENOP
@@ -931,7 +931,7 @@ static ADDRESS_MAP_START( model1_vr_mem, AS_PROGRAM, 16, model1_state )
AM_RANGE(0x770000, 0x770001) AM_WRITENOP // Video synchronization switch
AM_RANGE(0x780000, 0x7fffff) AM_DEVREADWRITE("tile", segas24_tile, char_r, char_w)
- AM_RANGE(0x900000, 0x903fff) AM_RAM_WRITE(p_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x900000, 0x903fff) AM_RAM_WRITE(p_w) AM_SHARE("paletteram")
AM_RANGE(0x910000, 0x91bfff) AM_RAM AM_BASE(m_color_xlat)
AM_RANGE(0xc00000, 0xc0003f) AM_READ(io_r) AM_WRITENOP
diff --git a/src/mame/drivers/momoko.c b/src/mame/drivers/momoko.c
index 32b3afc74b7..4b351f6668d 100644
--- a/src/mame/drivers/momoko.c
+++ b/src/mame/drivers/momoko.c
@@ -63,7 +63,7 @@ static ADDRESS_MAP_START( momoko_map, AS_PROGRAM, 8, momoko_state )
AM_RANGE(0xd404, 0xd404) AM_WRITE_LEGACY(watchdog_reset_w)
AM_RANGE(0xd406, 0xd406) AM_READ_PORT("DSW0") AM_WRITE_LEGACY(soundlatch_w)
AM_RANGE(0xd407, 0xd407) AM_READ_PORT("DSW1")
- AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE_LEGACY(paletteram_xxxxRRRRGGGGBBBB_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_be_w) AM_SHARE("paletteram")
AM_RANGE(0xdc00, 0xdc00) AM_WRITE_LEGACY(momoko_fg_scrolly_w)
AM_RANGE(0xdc01, 0xdc01) AM_WRITE_LEGACY(momoko_fg_scrollx_w)
AM_RANGE(0xdc02, 0xdc02) AM_WRITE_LEGACY(momoko_fg_select_w)
diff --git a/src/mame/drivers/moo.c b/src/mame/drivers/moo.c
index f0a9a0db094..da9ee09d515 100644
--- a/src/mame/drivers/moo.c
+++ b/src/mame/drivers/moo.c
@@ -280,7 +280,7 @@ static ADDRESS_MAP_START( moo_map, AS_PROGRAM, 16, moo_state )
AM_RANGE(0x1a0000, 0x1a1fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_word_r, k056832_ram_word_w) /* Graphic planes */
AM_RANGE(0x1a2000, 0x1a3fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_word_r, k056832_ram_word_w) /* Graphic planes mirror */
AM_RANGE(0x1b0000, 0x1b1fff) AM_DEVREAD_LEGACY("k056832", k056832_rom_word_r) /* Passthrough to tile roms */
- AM_RANGE(0x1c0000, 0x1c1fff) AM_RAM_WRITE_LEGACY(paletteram16_xrgb_word_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1c0000, 0x1c1fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_SHARE("paletteram")
#if MOO_DEBUG
AM_RANGE(0x0c0000, 0x0c003f) AM_DEVREAD_LEGACY("k056832", k056832_word_r)
AM_RANGE(0x0c2000, 0x0c2007) AM_DEVREAD_LEGACY("k053246", k053246_reg_word_r)
@@ -313,7 +313,7 @@ static ADDRESS_MAP_START( moobl_map, AS_PROGRAM, 16, moo_state )
AM_RANGE(0x1a0000, 0x1a1fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_word_r, k056832_ram_word_w) /* Graphic planes */
AM_RANGE(0x1a2000, 0x1a3fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_word_r, k056832_ram_word_w) /* Graphic planes mirror */
AM_RANGE(0x1b0000, 0x1b1fff) AM_DEVREAD_LEGACY("k056832", k056832_rom_word_r) /* Passthrough to tile roms */
- AM_RANGE(0x1c0000, 0x1c1fff) AM_RAM_WRITE_LEGACY(paletteram16_xrgb_word_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1c0000, 0x1c1fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_SHARE("paletteram")
ADDRESS_MAP_END
static ADDRESS_MAP_START( bucky_map, AS_PROGRAM, 16, moo_state )
@@ -344,7 +344,7 @@ static ADDRESS_MAP_START( bucky_map, AS_PROGRAM, 16, moo_state )
AM_RANGE(0x182000, 0x183fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_word_r, k056832_ram_word_w) /* Graphic planes mirror */
AM_RANGE(0x184000, 0x187fff) AM_RAM /* extra tile RAM? */
AM_RANGE(0x190000, 0x191fff) AM_DEVREAD_LEGACY("k056832", k056832_rom_word_r) /* Passthrough to tile roms */
- AM_RANGE(0x1b0000, 0x1b3fff) AM_RAM_WRITE_LEGACY(paletteram16_xrgb_word_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1b0000, 0x1b3fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_SHARE("paletteram")
AM_RANGE(0x200000, 0x23ffff) AM_ROM /* data */
#if MOO_DEBUG
AM_RANGE(0x0c0000, 0x0c003f) AM_DEVREAD_LEGACY("k056832", k056832_word_r)
diff --git a/src/mame/drivers/mosaic.c b/src/mame/drivers/mosaic.c
index 7fd2b919839..e06263d9793 100644
--- a/src/mame/drivers/mosaic.c
+++ b/src/mame/drivers/mosaic.c
@@ -92,7 +92,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_LEGACY(mosaic_bgvideoram_w) AM_BASE(m_bgvideoram)
AM_RANGE(0x23000, 0x23fff) AM_RAM_WRITE_LEGACY(mosaic_fgvideoram_w) AM_BASE(m_fgvideoram)
- AM_RANGE(0x24000, 0x241ff) AM_RAM_WRITE_LEGACY(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x24000, 0x241ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_SHARE("paletteram")
ADDRESS_MAP_END
static ADDRESS_MAP_START( gfire2_map, AS_PROGRAM, 8, mosaic_state )
@@ -100,7 +100,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_LEGACY(mosaic_bgvideoram_w) AM_BASE(m_bgvideoram)
AM_RANGE(0x23000, 0x23fff) AM_RAM_WRITE_LEGACY(mosaic_fgvideoram_w) AM_BASE(m_fgvideoram)
- AM_RANGE(0x24000, 0x241ff) AM_RAM_WRITE_LEGACY(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x24000, 0x241ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_SHARE("paletteram")
ADDRESS_MAP_END
static ADDRESS_MAP_START( mosaic_io_map, AS_IO, 8, mosaic_state )
diff --git a/src/mame/drivers/mrflea.c b/src/mame/drivers/mrflea.c
index fbd31d1e86c..c0c57aac375 100644
--- a/src/mame/drivers/mrflea.c
+++ b/src/mame/drivers/mrflea.c
@@ -162,7 +162,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_LEGACY(mrflea_videoram_w) AM_BASE(m_videoram)
- AM_RANGE(0xe800, 0xe83f) AM_RAM_WRITE_LEGACY(paletteram_xxxxRRRRGGGGBBBB_le_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xe800, 0xe83f) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_le_w) AM_SHARE("paletteram")
AM_RANGE(0xec00, 0xecff) AM_RAM_WRITE_LEGACY(mrflea_spriteram_w) AM_BASE(m_spriteram)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/msisaac.c b/src/mame/drivers/msisaac.c
index 860655b68f1..0a815200ad2 100644
--- a/src/mame/drivers/msisaac.c
+++ b/src/mame/drivers/msisaac.c
@@ -174,7 +174,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_WRITE_LEGACY(paletteram_xxxxRRRRGGGGBBBB_le_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_le_w) AM_SHARE("paletteram")
AM_RANGE(0xf000, 0xf000) AM_WRITE_LEGACY(msisaac_bg2_textbank_w)
AM_RANGE(0xf001, 0xf001) AM_WRITENOP //???
AM_RANGE(0xf002, 0xf002) AM_WRITENOP //???
diff --git a/src/mame/drivers/mugsmash.c b/src/mame/drivers/mugsmash.c
index 879b9926dbf..311a466ee6f 100644
--- a/src/mame/drivers/mugsmash.c
+++ b/src/mame/drivers/mugsmash.c
@@ -176,7 +176,7 @@ static ADDRESS_MAP_START( mugsmash_map, AS_PROGRAM, 16, mugsmash_state )
AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE_LEGACY(mugsmash_videoram1_w) AM_BASE(m_videoram1)
AM_RANGE(0x082000, 0x082fff) AM_RAM_WRITE_LEGACY(mugsmash_videoram2_w) AM_BASE(m_videoram2)
AM_RANGE(0x0c0000, 0x0c0007) AM_WRITE_LEGACY(mugsmash_reg_w) AM_BASE(m_regs1) /* video registers*/
- AM_RANGE(0x100000, 0x1005ff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x100000, 0x1005ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x140000, 0x140007) AM_WRITE(mugsmash_reg2_w) AM_BASE(m_regs2) /* sound + ? */
AM_RANGE(0x1c0000, 0x1c3fff) AM_RAM /* main ram? */
AM_RANGE(0x1c4000, 0x1cffff) AM_RAM
diff --git a/src/mame/drivers/mwarr.c b/src/mame/drivers/mwarr.c
index 493e5581e53..c3e80be1142 100644
--- a/src/mame/drivers/mwarr.c
+++ b/src/mame/drivers/mwarr.c
@@ -191,7 +191,7 @@ static ADDRESS_MAP_START( mwarr_map, AS_PROGRAM, 16, mwarr_state )
AM_RANGE(0x103400, 0x1037ff) AM_RAM AM_BASE(m_mlow_scrollram)
AM_RANGE(0x103800, 0x103bff) AM_RAM AM_BASE(m_mhigh_scrollram)
AM_RANGE(0x103c00, 0x103fff) AM_RAM AM_BASE(m_vidattrram)
- AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x108000, 0x108fff) AM_RAM AM_BASE(m_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.c b/src/mame/drivers/mystwarr.c
index 5e9aaa1111a..145d15b0f9a 100644
--- a/src/mame/drivers/mystwarr.c
+++ b/src/mame/drivers/mystwarr.c
@@ -274,7 +274,7 @@ static ADDRESS_MAP_START( mystwarr_map, AS_PROGRAM, 16, mystwarr_state )
AM_RANGE(0x600000, 0x601fff) AM_READWRITE_LEGACY(K056832_ram_word_r,K056832_ram_word_w)
AM_RANGE(0x602000, 0x603fff) AM_READWRITE_LEGACY(K056832_ram_word_r,K056832_ram_word_w) // tilemap RAM mirror read(essential)
AM_RANGE(0x680000, 0x683fff) AM_READ_LEGACY(K056832_mw_rom_word_r)
- AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE_LEGACY(paletteram16_xrgb_word_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_SHARE("paletteram")
#if MW_DEBUG
AM_RANGE(0x480000, 0x4800ff) AM_READ_LEGACY(K055555_word_r)
AM_RANGE(0x482010, 0x48201f) AM_READ_LEGACY(K053247_reg_word_r)
@@ -315,7 +315,7 @@ static ADDRESS_MAP_START( metamrph_map, AS_PROGRAM, 16, mystwarr_state )
AM_RANGE(0x302000, 0x303fff) AM_READWRITE_LEGACY(K056832_ram_word_r,K056832_ram_word_w) // tilemap RAM mirror read/write (essential)
AM_RANGE(0x310000, 0x311fff) AM_READ_LEGACY(K056832_mw_rom_word_r)
AM_RANGE(0x320000, 0x321fff) AM_DEVREAD("k053250_1", k053250_t, rom_r)
- AM_RANGE(0x330000, 0x331fff) AM_RAM_WRITE_LEGACY(paletteram16_xrgb_word_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x330000, 0x331fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_SHARE("paletteram")
#if MW_DEBUG
AM_RANGE(0x240000, 0x240007) AM_READ_LEGACY(K053246_reg_word_r)
AM_RANGE(0x244010, 0x24401f) AM_READ_LEGACY(K053247_reg_word_r)
@@ -358,7 +358,7 @@ static ADDRESS_MAP_START( viostorm_map, AS_PROGRAM, 16, mystwarr_state )
AM_RANGE(0x302000, 0x303fff) AM_READWRITE_LEGACY(K056832_ram_word_r,K056832_ram_word_w) // tilemap RAM mirror read(essential)
AM_RANGE(0x304000, 0x3041ff) AM_RAM
AM_RANGE(0x310000, 0x311fff) AM_READ_LEGACY(K056832_mw_rom_word_r)
- AM_RANGE(0x330000, 0x331fff) AM_RAM_WRITE_LEGACY(paletteram16_xrgb_word_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x330000, 0x331fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_SHARE("paletteram")
#if MW_DEBUG
AM_RANGE(0x240000, 0x240007) AM_READ_LEGACY(K053246_reg_word_r)
AM_RANGE(0x244010, 0x24401f) AM_READ_LEGACY(K053247_reg_word_r)
@@ -445,7 +445,7 @@ static ADDRESS_MAP_START( martchmp_map, AS_PROGRAM, 16, mystwarr_state )
AM_RANGE(0x41c000, 0x41c01f) AM_DEVREADWRITE8_LEGACY("k053252",k053252_r,k053252_w,0x00ff) // CCU
AM_RANGE(0x41e000, 0x41e007) AM_WRITE_LEGACY(K056832_b_word_w) // VSCCS
AM_RANGE(0x480000, 0x483fff) AM_READWRITE(K053247_martchmp_word_r,K053247_martchmp_word_w) AM_BASE(m_spriteram) // sprite RAM
- AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE_LEGACY(paletteram16_xrgb_word_be_w) AM_BASE_GENERIC(paletteram) // palette RAM
+ AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_SHARE("paletteram") // palette RAM
AM_RANGE(0x680000, 0x681fff) AM_READWRITE_LEGACY(K056832_ram_word_r,K056832_ram_word_w) // tilemap RAM
AM_RANGE(0x682000, 0x683fff) AM_READWRITE_LEGACY(K056832_ram_word_r,K056832_ram_word_w) // tilemap RAM mirror read/write (essential)
AM_RANGE(0x700000, 0x703fff) AM_READ_LEGACY(K056832_mw_rom_word_r) // tile ROM readback
@@ -466,7 +466,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_BASE(m_spriteram)
AM_RANGE(0x410000, 0x411fff) AM_READWRITE_LEGACY(K056832_ram_word_r,K056832_ram_word_w) // tilemap RAM
AM_RANGE(0x412000, 0x413fff) AM_READWRITE_LEGACY(K056832_ram_word_r,K056832_ram_word_w) // tilemap RAM mirror read/write (essential)
- AM_RANGE(0x420000, 0x421fff) AM_RAM_WRITE_LEGACY(paletteram16_xrgb_word_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x420000, 0x421fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_SHARE("paletteram")
AM_RANGE(0x430000, 0x430007) AM_WRITE_LEGACY(K053246_word_w)
AM_RANGE(0x440000, 0x443fff) AM_READ_LEGACY(K056832_mw_rom_word_r)
AM_RANGE(0x450000, 0x45000f) AM_READ_LEGACY(K055673_rom_word_r)
@@ -513,7 +513,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_BASE(m_spriteram)
AM_RANGE(0x410000, 0x411fff) AM_READWRITE_LEGACY(K056832_ram_word_r,K056832_ram_word_w) // tilemap RAM
AM_RANGE(0x412000, 0x413fff) AM_READWRITE_LEGACY(K056832_ram_word_r,K056832_ram_word_w) // tilemap RAM mirror read / write (essential)
- AM_RANGE(0x420000, 0x421fff) AM_RAM_WRITE_LEGACY(paletteram16_xrgb_word_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x420000, 0x421fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_SHARE("paletteram")
AM_RANGE(0x430000, 0x430007) AM_WRITE_LEGACY(K053246_word_w)
AM_RANGE(0x440000, 0x441fff) AM_READ_LEGACY(K056832_mw_rom_word_r)
AM_RANGE(0x450000, 0x45000f) AM_READ_LEGACY(K055673_rom_word_r)
diff --git a/src/mame/drivers/namcofl.c b/src/mame/drivers/namcofl.c
index a81f8b8a26f..ef7eb5b8192 100644
--- a/src/mame/drivers/namcofl.c
+++ b/src/mame/drivers/namcofl.c
@@ -200,11 +200,11 @@ WRITE32_MEMBER(namcofl_state::namcofl_sysreg_w)
WRITE32_MEMBER(namcofl_state::namcofl_paletteram_w)
{
- COMBINE_DATA(&machine().generic.paletteram.u32[offset]);
+ COMBINE_DATA(&m_generic_paletteram_32[offset]);
if ((offset == 0x1808/4) && ACCESSING_BITS_16_31)
{
- UINT16 v = machine().generic.paletteram.u32[offset] >> 16;
+ UINT16 v = m_generic_paletteram_32[offset] >> 16;
UINT16 triggerscanline=(((v>>8)&0xff)|((v&0xff)<<8))-(32+1);
m_raster_interrupt_timer->adjust(machine().primary_screen->time_until_pos(triggerscanline));
@@ -233,7 +233,7 @@ static ADDRESS_MAP_START( namcofl_mem, AS_PROGRAM, 32, namcofl_state )
AM_RANGE(0x30284000, 0x3028bfff) AM_READWRITE(namcofl_share_r, namcofl_share_w)
AM_RANGE(0x30300000, 0x30303fff) AM_RAM /* COMRAM */
AM_RANGE(0x30380000, 0x303800ff) AM_READ(fl_network_r ) /* network registers */
- AM_RANGE(0x30400000, 0x3040ffff) AM_RAM_WRITE(namcofl_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x30400000, 0x3040ffff) AM_RAM_WRITE(namcofl_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x30800000, 0x3080ffff) AM_READWRITE_LEGACY(namco_tilemapvideoram32_le_r, namco_tilemapvideoram32_le_w )
AM_RANGE(0x30a00000, 0x30a0003f) AM_READWRITE_LEGACY(namco_tilemapcontrol32_le_r, namco_tilemapcontrol32_le_w )
AM_RANGE(0x30c00000, 0x30c1ffff) AM_READWRITE_LEGACY(namco_rozvideoram32_le_r,namco_rozvideoram32_le_w)
diff --git a/src/mame/drivers/namcona1.c b/src/mame/drivers/namcona1.c
index 6fe3672bce4..81bde2fe360 100644
--- a/src/mame/drivers/namcona1.c
+++ b/src/mame/drivers/namcona1.c
@@ -745,7 +745,7 @@ static ADDRESS_MAP_START( namcona1_main_map, AS_PROGRAM, 16, namcona1_state )
AM_RANGE(0xe00000, 0xe00fff) AM_READWRITE(namcona1_nvram_r, namcona1_nvram_w)
AM_RANGE(0xe40000, 0xe4000f) AM_READWRITE(custom_key_r, custom_key_w)
AM_RANGE(0xefff00, 0xefffff) AM_READWRITE(namcona1_vreg_r, namcona1_vreg_w) AM_BASE(m_vreg)
- AM_RANGE(0xf00000, 0xf01fff) AM_READWRITE_LEGACY(namcona1_paletteram_r, namcona1_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf00000, 0xf01fff) AM_READWRITE_LEGACY(namcona1_paletteram_r, namcona1_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0xf40000, 0xf7ffff) AM_READWRITE_LEGACY(namcona1_gfxram_r, namcona1_gfxram_w)
AM_RANGE(0xff0000, 0xffbfff) AM_READWRITE_LEGACY(namcona1_videoram_r, namcona1_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0xffd000, 0xffdfff) AM_RAM /* unknown */
@@ -767,7 +767,7 @@ static ADDRESS_MAP_START( namcona2_main_map, AS_PROGRAM, 16, namcona1_state )
/* xday: additional battery-backed ram at 00E024FA? */
AM_RANGE(0xe40000, 0xe4000f) AM_READWRITE(custom_key_r, custom_key_w)
AM_RANGE(0xefff00, 0xefffff) AM_READWRITE(namcona1_vreg_r, namcona1_vreg_w) AM_BASE(m_vreg)
- AM_RANGE(0xf00000, 0xf01fff) AM_READWRITE_LEGACY(namcona1_paletteram_r, namcona1_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf00000, 0xf01fff) AM_READWRITE_LEGACY(namcona1_paletteram_r, namcona1_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0xf40000, 0xf7ffff) AM_READWRITE_LEGACY(namcona1_gfxram_r, namcona1_gfxram_w)
AM_RANGE(0xff0000, 0xffbfff) AM_READWRITE_LEGACY(namcona1_videoram_r, namcona1_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0xffd000, 0xffdfff) AM_RAM /* unknown */
diff --git a/src/mame/drivers/namconb1.c b/src/mame/drivers/namconb1.c
index 90e5c3998a4..5e39ea77b81 100644
--- a/src/mame/drivers/namconb1.c
+++ b/src/mame/drivers/namconb1.c
@@ -345,7 +345,7 @@ static INTERRUPT_GEN( namconb1_interrupt )
* 40001e 0x00
* 40001f 0x00
*/
- int scanline = (device->machine().generic.paletteram.u32[0x1808/4]&0xffff)-32;
+ int scanline = (state->m_generic_paletteram_32[0x1808/4]&0xffff)-32;
if((!state->m_vblank_irq_active) && (state->m_namconb_cpureg[0x04] & 0xf0)) {
device_set_input_line(device, state->m_namconb_cpureg[0x04] & 0xf, ASSERT_LINE);
@@ -403,7 +403,7 @@ static INTERRUPT_GEN( namconb2_interrupt )
* f0001e 0x00
* f0001f 0x01
*/
- int scanline = (device->machine().generic.paletteram.u32[0x1808/4]&0xffff)-32;
+ int scanline = (state->m_generic_paletteram_32[0x1808/4]&0xffff)-32;
if((!state->m_vblank_irq_active) && state->m_namconb_cpureg[0x00]) {
device_set_input_line(device, state->m_namconb_cpureg[0x00], ASSERT_LINE);
@@ -868,7 +868,7 @@ static ADDRESS_MAP_START( namconb1_am, AS_PROGRAM, 32, namconb1_state )
AM_RANGE(0x660000, 0x66003f) AM_READWRITE_LEGACY(namco_tilemapcontrol32_r,namco_tilemapcontrol32_w)
AM_RANGE(0x680000, 0x68000f) AM_RAM AM_BASE(m_spritebank32)
AM_RANGE(0x6e0000, 0x6e001f) AM_READ_LEGACY(custom_key_r) AM_WRITENOP
- AM_RANGE(0x700000, 0x707fff) AM_RAM AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x700000, 0x707fff) AM_RAM AM_SHARE("paletteram")
ADDRESS_MAP_END
static ADDRESS_MAP_START( namconb2_am, AS_PROGRAM, 32, namconb1_state )
@@ -885,7 +885,7 @@ static ADDRESS_MAP_START( namconb2_am, AS_PROGRAM, 32, namconb1_state )
AM_RANGE(0x6c0000, 0x6c003f) AM_READWRITE_LEGACY(namco_tilemapcontrol32_r, namco_tilemapcontrol32_w )
AM_RANGE(0x700000, 0x71ffff) AM_READWRITE_LEGACY(namco_rozvideoram32_r,namco_rozvideoram32_w)
AM_RANGE(0x740000, 0x74001f) AM_READWRITE_LEGACY(namco_rozcontrol32_r,namco_rozcontrol32_w)
- AM_RANGE(0x800000, 0x807fff) AM_RAM AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x800000, 0x807fff) AM_RAM AM_SHARE("paletteram")
AM_RANGE(0x900008, 0x90000f) AM_RAM AM_BASE(m_spritebank32)
AM_RANGE(0x940000, 0x94000f) AM_RAM AM_BASE(m_tilebank32)
AM_RANGE(0x980000, 0x98000f) AM_READ_LEGACY(namco_rozbank32_r) AM_WRITE_LEGACY(namco_rozbank32_w)
diff --git a/src/mame/drivers/namcos21.c b/src/mame/drivers/namcos21.c
index 13c96c8fdc6..05426abbfbb 100644
--- a/src/mame/drivers/namcos21.c
+++ b/src/mame/drivers/namcos21.c
@@ -1048,12 +1048,12 @@ READ16_MEMBER(namcos21_state::data2_r)
READ16_MEMBER(namcos21_state::paletteram16_r)
{
- return machine().generic.paletteram.u16[offset];
+ return m_generic_paletteram_16[offset];
}
WRITE16_MEMBER(namcos21_state::paletteram16_w)
{
- COMBINE_DATA(&machine().generic.paletteram.u16[offset]);
+ COMBINE_DATA(&m_generic_paletteram_16[offset]);
}
/******************************************************************************/
@@ -1077,7 +1077,7 @@ READ16_MEMBER(namcos21_state::NAMCO_C139_SCI_register_r){ return 0; }
AM_RANGE(0x480000, 0x4807ff) AM_READWRITE(namcos21_depthcue_r,namcos21_depthcue_w) /* Air Combat */ \
AM_RANGE(0x700000, 0x71ffff) AM_READWRITE_LEGACY(namco_obj16_r,namco_obj16_w) \
AM_RANGE(0x720000, 0x720007) AM_READWRITE_LEGACY(namco_spritepos16_r,namco_spritepos16_w) \
- AM_RANGE(0x740000, 0x75ffff) AM_READWRITE(paletteram16_r,paletteram16_w) AM_BASE_GENERIC(paletteram) \
+ AM_RANGE(0x740000, 0x75ffff) AM_READWRITE(paletteram16_r,paletteram16_w) AM_SHARE("paletteram") \
AM_RANGE(0x760000, 0x760001) AM_READWRITE(namcos21_video_enable_r,namcos21_video_enable_w) \
AM_RANGE(0x800000, 0x8fffff) AM_READ(datarom_r) \
AM_RANGE(0x900000, 0x90ffff) AM_READWRITE(shareram1_r,shareram1_w) AM_BASE(m_mpSharedRAM1) \
@@ -1355,7 +1355,7 @@ static ADDRESS_MAP_START( am_gpu_winrun, AS_PROGRAM, 16, namcos21_state )
AM_RANGE(0x180000, 0x19ffff) AM_RAM /* work RAM */
AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE_LEGACY(namcos2_68k_gpu_C148_r,namcos2_68k_gpu_C148_w)
AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_BASE(m_winrun_gpucomram )
- AM_RANGE(0x400000, 0x41ffff) AM_READWRITE(paletteram16_r,paletteram16_w) AM_BASE_GENERIC( paletteram )
+ AM_RANGE(0x400000, 0x41ffff) AM_READWRITE(paletteram16_r,paletteram16_w) AM_SHARE("paletteram")
AM_RANGE(0x600000, 0x6fffff) AM_READ(gpu_data_r)
AM_RANGE(0xc00000, 0xcfffff) AM_READWRITE_LEGACY(winrun_gpu_videoram_r,winrun_gpu_videoram_w)
AM_RANGE(0xd00000, 0xd0000f) AM_READWRITE_LEGACY(winrun_gpu_register_r,winrun_gpu_register_w)
@@ -1417,7 +1417,7 @@ ADDRESS_MAP_END
#define DRIVEYES_68K_COMMON \
AM_RANGE(0x700000, 0x71ffff) AM_READWRITE_LEGACY(namco_obj16_r,namco_obj16_w) \
AM_RANGE(0x720000, 0x720007) AM_READWRITE_LEGACY(namco_spritepos16_r,namco_spritepos16_w) \
- AM_RANGE(0x740000, 0x75ffff) AM_READWRITE(paletteram16_r,paletteram16_w) AM_BASE_GENERIC(paletteram) \
+ AM_RANGE(0x740000, 0x75ffff) AM_READWRITE(paletteram16_r,paletteram16_w) AM_SHARE("paletteram") \
AM_RANGE(0x760000, 0x760001) AM_READWRITE(namcos21_video_enable_r,namcos21_video_enable_w) \
AM_RANGE(0x800000, 0x8fffff) AM_READ(datarom_r) \
AM_RANGE(0x900000, 0x90ffff) AM_READWRITE(shareram1_r,shareram1_w) AM_BASE(m_mpSharedRAM1) \
diff --git a/src/mame/drivers/namcos22.c b/src/mame/drivers/namcos22.c
index b260faf672a..08c2c0dba82 100644
--- a/src/mame/drivers/namcos22.c
+++ b/src/mame/drivers/namcos22.c
@@ -2562,7 +2562,7 @@ static ADDRESS_MAP_START( namcos22s_am, AS_PROGRAM, 32, namcos22_state )
AM_RANGE(0x810200, 0x8103ff) AM_READWRITE_LEGACY(namcos22s_czram_r, namcos22s_czram_w)
AM_RANGE(0x820000, 0x8202ff) AM_WRITENOP /* leftover of old (non-super) video mixer device */
AM_RANGE(0x824000, 0x8243ff) AM_READWRITE_LEGACY(namcos22_gamma_r, namcos22_gamma_w) AM_BASE(m_gamma)
- AM_RANGE(0x828000, 0x83ffff) AM_READWRITE_LEGACY(namcos22_paletteram_r, namcos22_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x828000, 0x83ffff) AM_READWRITE_LEGACY(namcos22_paletteram_r, namcos22_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x860000, 0x860007) AM_READWRITE_LEGACY(namcos22s_spotram_r, namcos22s_spotram_w)
AM_RANGE(0x880000, 0x89dfff) AM_READWRITE_LEGACY(namcos22_cgram_r, namcos22_cgram_w) AM_BASE(m_cgram)
AM_RANGE(0x89e000, 0x89ffff) AM_READWRITE_LEGACY(namcos22_textram_r, namcos22_textram_w) AM_BASE(m_textram)
@@ -3204,7 +3204,7 @@ static ADDRESS_MAP_START( namcos22_am, AS_PROGRAM, 32, namcos22_state )
* Mounted position: VIDEO 6B, 7B, 8B (near C305)
* Note: 0xff00-0xffff are for Tilemap (16 x 16)
*/
- AM_RANGE(0x90028000, 0x9003ffff) AM_READWRITE_LEGACY(namcos22_paletteram_r, namcos22_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x90028000, 0x9003ffff) AM_READWRITE_LEGACY(namcos22_paletteram_r, namcos22_paletteram_w) AM_SHARE("paletteram")
/**
* unknown (option)
diff --git a/src/mame/drivers/namcos23.c b/src/mame/drivers/namcos23.c
index ef6458b071e..801b011f1a9 100644
--- a/src/mame/drivers/namcos23.c
+++ b/src/mame/drivers/namcos23.c
@@ -1469,14 +1469,15 @@ static UINT8 nthbyte( const UINT32 *pSource, int offs )
INLINE void UpdatePalette( running_machine &machine, int entry )
{
+ namcos23_state *state = machine.driver_data<namcos23_state>();
int j;
for( j=0; j<2; j++ )
{
int which = (entry*2)+(j*2);
- int r = nthbyte(machine.generic.paletteram.u32, which+0x00001);
- int g = nthbyte(machine.generic.paletteram.u32, which+0x10001);
- int b = nthbyte(machine.generic.paletteram.u32, which+0x20001);
+ int r = nthbyte(state->m_generic_paletteram_32, which+0x00001);
+ int g = nthbyte(state->m_generic_paletteram_32, which+0x10001);
+ int b = nthbyte(state->m_generic_paletteram_32, which+0x20001);
palette_set_color( machine, which/2, MAKE_RGB(r,g,b) );
}
}
@@ -1485,7 +1486,7 @@ INLINE void UpdatePalette( running_machine &machine, int entry )
WRITE32_MEMBER(namcos23_state::namcos23_paletteram_w)
{
- COMBINE_DATA( &machine().generic.paletteram.u32[offset] );
+ COMBINE_DATA( &m_generic_paletteram_32[offset] );
UpdatePalette(machine(), (offset % (0x10000/4))*2);
}
@@ -2459,7 +2460,7 @@ static ADDRESS_MAP_START( gorgon_map, AS_PROGRAM, 32, namcos23_state )
AM_RANGE(0x06080000, 0x06081fff) AM_RAM
AM_RANGE(0x06108000, 0x061087ff) AM_RAM // GAMMA (C404-3S)
- AM_RANGE(0x06110000, 0x0613ffff) AM_RAM_WRITE(namcos23_paletteram_w ) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x06110000, 0x0613ffff) AM_RAM_WRITE(namcos23_paletteram_w ) AM_SHARE("paletteram")
AM_RANGE(0x06400000, 0x06403fff) AM_RAM_WRITE(s23_txtchar_w ) AM_BASE(m_charram) // text layer characters
AM_RANGE(0x06404000, 0x0641dfff) AM_RAM
AM_RANGE(0x0641e000, 0x0641ffff) AM_RAM_WRITE(namcos23_textram_w ) AM_BASE(m_textram)
@@ -2493,7 +2494,7 @@ static ADDRESS_MAP_START( ss23_map, AS_PROGRAM, 32, namcos23_state )
AM_RANGE(0x0681e000, 0x0681ffff) AM_RAM_WRITE(namcos23_textram_w ) AM_BASE(m_textram)
AM_RANGE(0x06820000, 0x0682000f) AM_READWRITE16(s23_c361_r, s23_c361_w, 0xffffffff ) // C361
AM_RANGE(0x06a08000, 0x06a087ff) AM_RAM // Blending control & GAMMA (C404)
- AM_RANGE(0x06a10000, 0x06a3ffff) AM_RAM_WRITE(namcos23_paletteram_w ) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x06a10000, 0x06a3ffff) AM_RAM_WRITE(namcos23_paletteram_w ) AM_SHARE("paletteram")
AM_RANGE(0x08000000, 0x08ffffff) AM_ROM AM_REGION("data", 0x0000000) AM_MIRROR(0x1000000) // data ROMs
AM_RANGE(0x0a000000, 0x0affffff) AM_ROM AM_REGION("data", 0x1000000) AM_MIRROR(0x1000000)
AM_RANGE(0x0c000000, 0x0c00001f) AM_READWRITE16(s23_c412_r, s23_c412_w, 0xffffffff )
diff --git a/src/mame/drivers/nbmj8991.c b/src/mame/drivers/nbmj8991.c
index c083a6b1cb7..dd990bf8c2d 100644
--- a/src/mame/drivers/nbmj8991.c
+++ b/src/mame/drivers/nbmj8991.c
@@ -193,27 +193,27 @@ static DRIVER_INIT( av2mj2rg )
static ADDRESS_MAP_START( pstadium_map, AS_PROGRAM, 8, nbmj8991_state )
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf00f) AM_READWRITE_LEGACY(nbmj8991_clut_r,nbmj8991_clut_w)
- AM_RANGE(0xf200, 0xf3ff) AM_RAM_WRITE_LEGACY(nbmj8991_palette_type3_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf200, 0xf3ff) AM_RAM_WRITE_LEGACY(nbmj8991_palette_type3_w) AM_SHARE("paletteram")
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram") // finalbny
ADDRESS_MAP_END
static ADDRESS_MAP_START( triplew1_map, AS_PROGRAM, 8, nbmj8991_state )
AM_RANGE(0x0000, 0xefff) AM_ROM
- AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE_LEGACY(nbmj8991_palette_type3_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE_LEGACY(nbmj8991_palette_type3_w) AM_SHARE("paletteram")
AM_RANGE(0xf200, 0xf20f) AM_READWRITE_LEGACY(nbmj8991_clut_r,nbmj8991_clut_w)
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram") // mjgottub
ADDRESS_MAP_END
static ADDRESS_MAP_START( triplew2_map, AS_PROGRAM, 8, nbmj8991_state )
AM_RANGE(0x0000, 0xefff) AM_ROM
- AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE_LEGACY(nbmj8991_palette_type3_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE_LEGACY(nbmj8991_palette_type3_w) AM_SHARE("paletteram")
AM_RANGE(0xf400, 0xf40f) AM_READWRITE_LEGACY(nbmj8991_clut_r,nbmj8991_clut_w)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
static ADDRESS_MAP_START( mjlstory_map, AS_PROGRAM, 8, nbmj8991_state )
AM_RANGE(0x0000, 0xefff) AM_ROM
- AM_RANGE(0xf200, 0xf3ff) AM_RAM_WRITE_LEGACY(nbmj8991_palette_type3_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf200, 0xf3ff) AM_RAM_WRITE_LEGACY(nbmj8991_palette_type3_w) AM_SHARE("paletteram")
AM_RANGE(0xf700, 0xf70f) AM_READWRITE_LEGACY(nbmj8991_clut_r,nbmj8991_clut_w)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
@@ -221,27 +221,27 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( galkoku_map, AS_PROGRAM, 8, nbmj8991_state )
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf00f) AM_READWRITE_LEGACY(nbmj8991_clut_r,nbmj8991_clut_w)
- AM_RANGE(0xf400, 0xf5ff) AM_RAM_WRITE_LEGACY(nbmj8991_palette_type1_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf400, 0xf5ff) AM_RAM_WRITE_LEGACY(nbmj8991_palette_type1_w) AM_SHARE("paletteram")
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram") // hyouban
ADDRESS_MAP_END
static ADDRESS_MAP_START( galkaika_map, AS_PROGRAM, 8, nbmj8991_state )
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf00f) AM_READWRITE_LEGACY(nbmj8991_clut_r,nbmj8991_clut_w)
- AM_RANGE(0xf400, 0xf5ff) AM_RAM_WRITE_LEGACY(nbmj8991_palette_type2_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf400, 0xf5ff) AM_RAM_WRITE_LEGACY(nbmj8991_palette_type2_w) AM_SHARE("paletteram")
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram") // tokimbsj
ADDRESS_MAP_END
static ADDRESS_MAP_START( tokyogal_map, AS_PROGRAM, 8, nbmj8991_state )
AM_RANGE(0x0000, 0xefff) AM_ROM
- AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE_LEGACY(nbmj8991_palette_type2_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE_LEGACY(nbmj8991_palette_type2_w) AM_SHARE("paletteram")
AM_RANGE(0xf400, 0xf40f) AM_READWRITE_LEGACY(nbmj8991_clut_r,nbmj8991_clut_w)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
static ADDRESS_MAP_START( av2mj1bb_map, AS_PROGRAM, 8, nbmj8991_state )
AM_RANGE(0x0000, 0xefff) AM_ROM
- AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE_LEGACY(nbmj8991_palette_type3_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE_LEGACY(nbmj8991_palette_type3_w) AM_SHARE("paletteram")
AM_RANGE(0xf500, 0xf50f) AM_READWRITE_LEGACY(nbmj8991_clut_r,nbmj8991_clut_w)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
@@ -249,7 +249,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( av2mj2rg_map, AS_PROGRAM, 8, nbmj8991_state )
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf00f) AM_READWRITE_LEGACY(nbmj8991_clut_r,nbmj8991_clut_w)
- AM_RANGE(0xf200, 0xf3ff) AM_RAM_WRITE_LEGACY(nbmj8991_palette_type3_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf200, 0xf3ff) AM_RAM_WRITE_LEGACY(nbmj8991_palette_type3_w) AM_SHARE("paletteram")
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/neoprint.c b/src/mame/drivers/neoprint.c
index c0cee305e28..9c4aaf0a83b 100644
--- a/src/mame/drivers/neoprint.c
+++ b/src/mame/drivers/neoprint.c
@@ -214,7 +214,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_BASE(m_npvidram)
- AM_RANGE(0x500000, 0x51ffff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x500000, 0x51ffff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x600000, 0x600001) AM_READWRITE(neoprint_audio_result_r,audio_command_w)
AM_RANGE(0x600002, 0x600003) AM_READWRITE(neoprint_calendar_r,neoprint_calendar_w)
AM_RANGE(0x600004, 0x600005) AM_READ_PORT("SYSTEM") AM_WRITENOP
@@ -233,12 +233,12 @@ WRITE16_MEMBER(neoprint_state::nprsp_palette_w)
{
UINT8 r,g,b,i;
- COMBINE_DATA(&machine().generic.paletteram.u16[offset]);
+ COMBINE_DATA(&m_generic_paletteram_16[offset]);
- g = (machine().generic.paletteram.u16[offset & ~1] & 0xf800) >> 8;
- r = (machine().generic.paletteram.u16[offset & ~1] & 0x00f8) >> 0;
- i = (machine().generic.paletteram.u16[offset | 1] & 0x1c00) >> 10;
- b = (machine().generic.paletteram.u16[offset | 1] & 0x00f8) >> 0;
+ g = (m_generic_paletteram_16[offset & ~1] & 0xf800) >> 8;
+ r = (m_generic_paletteram_16[offset & ~1] & 0x00f8) >> 0;
+ i = (m_generic_paletteram_16[offset | 1] & 0x1c00) >> 10;
+ b = (m_generic_paletteram_16[offset | 1] & 0x00f8) >> 0;
r |= i;
g |= i;
b |= i;
@@ -294,7 +294,7 @@ static ADDRESS_MAP_START( nprsp_map, AS_PROGRAM, 16, neoprint_state )
AM_RANGE(0x300000, 0x33ffff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x380000, 0x38ffff) AM_RAM
AM_RANGE(0x400000, 0x43ffff) AM_RAM AM_BASE(m_npvidram)
- AM_RANGE(0x500000, 0x57ffff) AM_RAM_WRITE(nprsp_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x500000, 0x57ffff) AM_RAM_WRITE(nprsp_palette_w) AM_SHARE("paletteram")
ADDRESS_MAP_END
/*************************************
diff --git a/src/mame/drivers/news.c b/src/mame/drivers/news.c
index 22bfeaad561..e21f87f79c9 100644
--- a/src/mame/drivers/news.c
+++ b/src/mame/drivers/news.c
@@ -23,7 +23,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_LEGACY(news_fgram_w) AM_BASE(m_fgram)
AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE_LEGACY(news_bgram_w) AM_BASE(m_bgram)
- AM_RANGE(0x9000, 0x91ff) AM_RAM_WRITE_LEGACY(paletteram_xxxxRRRRGGGGBBBB_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x9000, 0x91ff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_be_w) AM_SHARE("paletteram")
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.c b/src/mame/drivers/ninjakd2.c
index 01d48f11f8e..cff7068a610 100644
--- a/src/mame/drivers/ninjakd2.c
+++ b/src/mame/drivers/ninjakd2.c
@@ -402,7 +402,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_LEGACY(ninjakd2_sprite_overdraw_w)
AM_RANGE(0xc208, 0xc20c) AM_WRITE_LEGACY(ninjakd2_bg_ctrl_w) // scroll + enable
- AM_RANGE(0xc800, 0xcdff) AM_RAM_WRITE_LEGACY(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xc800, 0xcdff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_SHARE("paletteram")
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE_LEGACY(ninjakd2_fgvideoram_w) AM_BASE(m_fg_videoram)
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE_LEGACY(ninjakd2_bgvideoram_w) AM_BASE(m_bg_videoram)
AM_RANGE(0xe000, 0xf9ff) AM_RAM
@@ -417,7 +417,7 @@ static ADDRESS_MAP_START( mnight_main_cpu, AS_PROGRAM, 8, ninjakd2_state )
AM_RANGE(0xda00, 0xdfff) AM_RAM AM_BASE(m_spriteram)
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE_LEGACY(ninjakd2_bgvideoram_w) AM_BASE(m_bg_videoram)
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE_LEGACY(ninjakd2_fgvideoram_w) AM_BASE(m_fg_videoram)
- AM_RANGE(0xf000, 0xf5ff) AM_RAM_WRITE_LEGACY(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf000, 0xf5ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_SHARE("paletteram")
AM_RANGE(0xf800, 0xf800) AM_READ_PORT("KEYCOIN")
AM_RANGE(0xf801, 0xf801) AM_READ_PORT("PAD1")
AM_RANGE(0xf802, 0xf802) AM_READ_PORT("PAD2")
@@ -434,7 +434,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_WRITE_LEGACY(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_SHARE("paletteram")
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE_LEGACY(ninjakd2_fgvideoram_w) AM_BASE(m_fg_videoram)
AM_RANGE(0xd000, 0xd3ff) AM_READWRITE_LEGACY(robokid_bg2_videoram_r, robokid_bg2_videoram_w) // banked
AM_RANGE(0xd400, 0xd7ff) AM_READWRITE_LEGACY(robokid_bg1_videoram_r, robokid_bg1_videoram_w) // banked
@@ -480,7 +480,7 @@ static ADDRESS_MAP_START( omegaf_main_cpu, AS_PROGRAM, 8, ninjakd2_state )
AM_RANGE(0xc800, 0xcbff) AM_READWRITE_LEGACY(robokid_bg1_videoram_r, robokid_bg1_videoram_w) // banked
AM_RANGE(0xcc00, 0xcfff) AM_READWRITE_LEGACY(robokid_bg2_videoram_r, robokid_bg2_videoram_w) // banked
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE_LEGACY(ninjakd2_fgvideoram_w) AM_BASE(m_fg_videoram)
- AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE_LEGACY(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_SHARE("paletteram")
AM_RANGE(0xe000, 0xf9ff) AM_RAM
AM_RANGE(0xfa00, 0xffff) AM_RAM AM_BASE(m_spriteram)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/nmg5.c b/src/mame/drivers/nmg5.c
index eedb0ffe73f..03214078d6d 100644
--- a/src/mame/drivers/nmg5.c
+++ b/src/mame/drivers/nmg5.c
@@ -330,7 +330,7 @@ static WRITE8_DEVICE_HANDLER( 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_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x180000, 0x180001) AM_WRITE(nmg5_soundlatch_w)
AM_RANGE(0x180002, 0x180003) AM_WRITENOP
@@ -350,7 +350,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_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x440000, 0x4407ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x460000, 0x4607ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x480000, 0x480001) AM_WRITE(nmg5_soundlatch_w)
AM_RANGE(0x480002, 0x480003) AM_WRITENOP
diff --git a/src/mame/drivers/nmk16.c b/src/mame/drivers/nmk16.c
index 3a09dc59818..74144cb5043 100644
--- a/src/mame/drivers/nmk16.c
+++ b/src/mame/drivers/nmk16.c
@@ -319,7 +319,7 @@ static ADDRESS_MAP_START( vandyke_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x080016, 0x080017) AM_WRITENOP /* IRQ enable? */
AM_RANGE(0x080018, 0x080019) AM_WRITE_LEGACY(nmk_tilebank_w)
AM_RANGE(0x08001e, 0x08001f) AM_WRITE_LEGACY(NMK004_w)
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x08c000, 0x08c007) AM_WRITE_LEGACY(vandyke_scroll_w)
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE_LEGACY(nmk_bgvideoram0_w) AM_BASE(m_nmk_bgvideoram0)
AM_RANGE(0x094000, 0x097fff) AM_RAM /* what is this? */
@@ -338,7 +338,7 @@ static ADDRESS_MAP_START( vandykeb_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x080018, 0x080019) AM_WRITE_LEGACY(nmk_tilebank_w)
AM_RANGE(0x080010, 0x08001d) AM_WRITE_LEGACY(vandykeb_scroll_w) /* 10, 12, 1a, 1c */
AM_RANGE(0x08001e, 0x08001f) AM_WRITE_LEGACY(NMK004_w)
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x08c000, 0x08c007) AM_WRITENOP /* just in case... */
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE_LEGACY(nmk_bgvideoram0_w) AM_BASE(m_nmk_bgvideoram0)
AM_RANGE(0x094000, 0x097fff) AM_RAM /* what is this? */
@@ -356,7 +356,7 @@ static ADDRESS_MAP_START( manybloc_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x080014, 0x080015) AM_WRITE_LEGACY(nmk_flipscreen_w)
AM_RANGE(0x08001c, 0x08001d) AM_WRITENOP /* See notes at the top of the driver */
AM_RANGE(0x08001e, 0x08001f) AM_READWRITE_LEGACY(soundlatch2_word_r,soundlatch_word_w)
- AM_RANGE(0x088000, 0x0883ff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x088000, 0x0883ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE_LEGACY(nmk_bgvideoram0_w) AM_BASE(m_nmk_bgvideoram0)
AM_RANGE(0x09c000, 0x09cfff) AM_RAM_WRITE_LEGACY(manybloc_scroll_w) AM_BASE(m_gunnail_scrollram)
AM_RANGE(0x09d000, 0x09d7ff) AM_RAM_WRITE_LEGACY(nmk_txvideoram_w) AM_BASE(m_nmk_txvideoram)
@@ -375,7 +375,7 @@ static ADDRESS_MAP_START( tharrier_map, AS_PROGRAM, 16, nmk16_state )
// AM_RANGE(0x080018, 0x080019) AM_WRITE_LEGACY(nmk_tilebank_w)
AM_RANGE(0x08001e, 0x08001f) AM_WRITE_LEGACY(soundlatch_word_w)
AM_RANGE(0x080202, 0x080203) AM_READ_PORT("IN2")
- AM_RANGE(0x088000, 0x0883ff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x088000, 0x0883ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
// AM_RANGE(0x08c000, 0x08c007) AM_WRITE_LEGACY(nmk_scroll_w)
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE_LEGACY(nmk_bgvideoram0_w) AM_BASE(m_nmk_bgvideoram0)
AM_RANGE(0x09c000, 0x09c7ff) AM_RAM /* Unused txvideoram area? */
@@ -410,7 +410,7 @@ static ADDRESS_MAP_START( mustang_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x080014, 0x080015) AM_WRITE_LEGACY(nmk_flipscreen_w)
AM_RANGE(0x080016, 0x080017) AM_WRITENOP // frame number?
AM_RANGE(0x08001e, 0x08001f) AM_WRITE_LEGACY(NMK004_w)
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x08c000, 0x08c001) AM_WRITE_LEGACY(mustang_scroll_w)
AM_RANGE(0x08c002, 0x08c087) AM_WRITENOP // ??
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE_LEGACY(nmk_bgvideoram0_w) AM_BASE(m_nmk_bgvideoram0)
@@ -427,7 +427,7 @@ static ADDRESS_MAP_START( mustangb_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x080014, 0x080015) AM_WRITE_LEGACY(nmk_flipscreen_w)
AM_RANGE(0x080016, 0x080017) AM_WRITENOP // frame number?
AM_RANGE(0x08001e, 0x08001f) AM_WRITE_LEGACY(seibu_main_mustb_w)
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x08c000, 0x08c001) AM_WRITE_LEGACY(mustang_scroll_w)
AM_RANGE(0x08c002, 0x08c087) AM_WRITENOP // ??
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE_LEGACY(nmk_bgvideoram0_w) AM_BASE(m_nmk_bgvideoram0)
@@ -445,7 +445,7 @@ static ADDRESS_MAP_START( twinactn_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x080014, 0x080015) AM_WRITE_LEGACY(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_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x08c000, 0x08c001) AM_WRITE_LEGACY(mustang_scroll_w)
AM_RANGE(0x08c002, 0x08c087) AM_WRITENOP // ??
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE_LEGACY(nmk_bgvideoram0_w) AM_BASE(m_nmk_bgvideoram0)
@@ -466,7 +466,7 @@ static ADDRESS_MAP_START( acrobatm_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0xc0016, 0xc0017) AM_WRITENOP
AM_RANGE(0xc0018, 0xc0019) AM_WRITE_LEGACY(nmk_tilebank_w)
AM_RANGE(0xc001e, 0xc001f) AM_WRITE_LEGACY(NMK004_w)
- AM_RANGE(0xc4000, 0xc45ff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xc4000, 0xc45ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0xc8000, 0xc8007) AM_RAM_WRITE_LEGACY(nmk_scroll_w)
AM_RANGE(0xcc000, 0xcffff) AM_RAM_WRITE_LEGACY(nmk_bgvideoram0_w) AM_BASE(m_nmk_bgvideoram0)
AM_RANGE(0xd4000, 0xd47ff) AM_RAM_WRITE_LEGACY(nmk_txvideoram_w) AM_BASE(m_nmk_txvideoram)
@@ -482,7 +482,7 @@ static ADDRESS_MAP_START( bioship_map, AS_PROGRAM, 16, nmk16_state )
// AM_RANGE(0x080014, 0x080015) AM_WRITE_LEGACY(nmk_flipscreen_w)
AM_RANGE(0x08001e, 0x08001f) AM_WRITE_LEGACY(NMK004_w)
AM_RANGE(0x084000, 0x084001) AM_WRITE_LEGACY(bioship_bank_w)
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x08c000, 0x08c007) AM_RAM_WRITE_LEGACY(bioshipbg_scroll_w)
AM_RANGE(0x08c010, 0x08c017) AM_RAM_WRITE_LEGACY(bioship_scroll_w)
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE_LEGACY(nmk_bgvideoram0_w) AM_BASE(m_nmk_bgvideoram0)
@@ -662,7 +662,7 @@ static ADDRESS_MAP_START( hachamf_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x080018, 0x080019) AM_WRITE_LEGACY(nmk_tilebank_w)
AM_RANGE(0x08001e, 0x08001f) AM_WRITE_LEGACY(NMK004_w)
/* Video Region */
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x08c000, 0x08c007) AM_WRITE_LEGACY(nmk_scroll_w)
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE_LEGACY(nmk_bgvideoram0_w) AM_BASE(m_nmk_bgvideoram0)
AM_RANGE(0x09c000, 0x09c7ff) AM_RAM_WRITE_LEGACY(nmk_txvideoram_w) AM_BASE(m_nmk_txvideoram)
@@ -895,7 +895,7 @@ static ADDRESS_MAP_START( tdragon_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x0c0018, 0x0c0019) AM_WRITE_LEGACY(nmk_tilebank_w) /* Tile Bank ? */
AM_RANGE(0x0c001e, 0x0c001f) AM_WRITE_LEGACY(NMK004_w)
AM_RANGE(0x0c4000, 0x0c4007) AM_RAM_WRITE_LEGACY(nmk_scroll_w)
- AM_RANGE(0x0c8000, 0x0c87ff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0c8000, 0x0c87ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x0cc000, 0x0cffff) AM_RAM_WRITE_LEGACY(nmk_bgvideoram0_w) AM_BASE(m_nmk_bgvideoram0)
AM_RANGE(0x0d0000, 0x0d07ff) AM_RAM_WRITE_LEGACY(nmk_txvideoram_w) AM_BASE(m_nmk_txvideoram)
ADDRESS_MAP_END
@@ -912,7 +912,7 @@ static ADDRESS_MAP_START( tdragonb_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x0c0018, 0x0c0019) AM_WRITE_LEGACY(nmk_tilebank_w) /* Tile Bank ? */
AM_RANGE(0x0c001e, 0x0c001f) AM_WRITE_LEGACY(seibu_main_mustb_w)
AM_RANGE(0x0c4000, 0x0c4007) AM_RAM_WRITE_LEGACY(nmk_scroll_w)
- AM_RANGE(0x0c8000, 0x0c87ff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0c8000, 0x0c87ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x0cc000, 0x0cffff) AM_RAM_WRITE_LEGACY(nmk_bgvideoram0_w) AM_BASE(m_nmk_bgvideoram0)
AM_RANGE(0x0d0000, 0x0d07ff) AM_RAM_WRITE_LEGACY(nmk_txvideoram_w) AM_BASE(m_nmk_txvideoram)
ADDRESS_MAP_END
@@ -928,7 +928,7 @@ static ADDRESS_MAP_START( ssmissin_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x0c0018, 0x0c0019) AM_WRITE_LEGACY(nmk_tilebank_w) /* Tile Bank ? */
AM_RANGE(0x0c001e, 0x0c001f) AM_WRITE(ssmissin_sound_w)
AM_RANGE(0x0c4000, 0x0c4007) AM_RAM_WRITE_LEGACY(nmk_scroll_w)
- AM_RANGE(0x0c8000, 0x0c87ff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0c8000, 0x0c87ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x0cc000, 0x0cffff) AM_RAM_WRITE_LEGACY(nmk_bgvideoram0_w) AM_BASE(m_nmk_bgvideoram0)
AM_RANGE(0x0d0000, 0x0d07ff) AM_MIRROR(0x1800) AM_RAM_WRITE_LEGACY(nmk_txvideoram_w) AM_BASE(m_nmk_txvideoram) //mirror for airattck
ADDRESS_MAP_END
@@ -953,7 +953,7 @@ static ADDRESS_MAP_START( strahl_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x8001e, 0x8001f) AM_WRITE_LEGACY(NMK004_w)
AM_RANGE(0x84000, 0x84007) AM_RAM_WRITE_LEGACY(nmk_scroll_w)
AM_RANGE(0x88000, 0x88007) AM_RAM_WRITE_LEGACY(nmk_scroll_2_w)
- AM_RANGE(0x8c000, 0x8c7ff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x8c000, 0x8c7ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x90000, 0x93fff) AM_RAM_WRITE_LEGACY(nmk_bgvideoram0_w) AM_BASE(m_nmk_bgvideoram0)
AM_RANGE(0x94000, 0x97fff) AM_RAM_WRITE_LEGACY(nmk_fgvideoram_w) AM_BASE(m_nmk_fgvideoram)
AM_RANGE(0x9c000, 0x9c7ff) AM_RAM_WRITE_LEGACY(nmk_txvideoram_w) AM_BASE(m_nmk_txvideoram)
@@ -971,7 +971,7 @@ static ADDRESS_MAP_START( macross_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x080016, 0x080017) AM_WRITENOP /* IRQ enable? */
AM_RANGE(0x080018, 0x080019) AM_WRITE_LEGACY(nmk_tilebank_w)
AM_RANGE(0x08001e, 0x08001f) AM_WRITE_LEGACY(NMK004_w)
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x08c000, 0x08c007) AM_RAM_WRITE_LEGACY(nmk_scroll_w)
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE_LEGACY(nmk_bgvideoram0_w) AM_BASE(m_nmk_bgvideoram0)
AM_RANGE(0x09c000, 0x09c7ff) AM_RAM_WRITE_LEGACY(nmk_txvideoram_w) AM_BASE(m_nmk_txvideoram)
@@ -989,7 +989,7 @@ static ADDRESS_MAP_START( gunnail_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x080016, 0x080017) AM_WRITENOP /* IRQ enable? */
AM_RANGE(0x080018, 0x080019) AM_WRITE_LEGACY(nmk_tilebank_w)
AM_RANGE(0x08001e, 0x08001f) AM_WRITE_LEGACY(NMK004_w)
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x08c000, 0x08c1ff) AM_WRITEONLY AM_BASE(m_gunnail_scrollram)
AM_RANGE(0x08c200, 0x08c3ff) AM_WRITEONLY AM_BASE(m_gunnail_scrollramy)
AM_RANGE(0x08c400, 0x08c7ff) AM_WRITEONLY // unknown
@@ -1009,7 +1009,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_LEGACY(nmk_tilebank_w)
AM_RANGE(0x10001e, 0x10001f) AM_WRITE(macross2_sound_command_w) /* to Z80 */
- AM_RANGE(0x120000, 0x1207ff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x120000, 0x1207ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x130000, 0x1301ff) AM_RAM AM_BASE(m_gunnail_scrollram)
AM_RANGE(0x130200, 0x1303ff) AM_RAM AM_BASE(m_gunnail_scrollramy)
@@ -1035,7 +1035,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_LEGACY(nmk_tilebank_w)
AM_RANGE(0x10001e, 0x10001f) AM_WRITE(macross2_sound_command_w) /* to Z80 */
- AM_RANGE(0x120000, 0x1207ff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x120000, 0x1207ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x130000, 0x1301ff) AM_RAM AM_BASE(m_gunnail_scrollram)
AM_RANGE(0x130200, 0x1303ff) AM_RAM AM_BASE(m_gunnail_scrollramy)
@@ -1110,7 +1110,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_DEVWRITE_LEGACY("nmk112", nmk112_okibank_lsb_w)
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x094000, 0x094001) AM_WRITE_LEGACY(nmk_tilebank_w)
AM_RANGE(0x094002, 0x094003) AM_WRITENOP /* IRQ enable? */
AM_RANGE(0x09c000, 0x09cfff) AM_MIRROR(0x1000) AM_RAM_WRITE_LEGACY(nmk_bgvideoram0_w) AM_BASE(m_nmk_bgvideoram0)
@@ -4624,7 +4624,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_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+/**/AM_RANGE(0x088000, 0x0885ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x088600, 0x08bfff) AM_WRITEONLY //
/**/AM_RANGE(0x08c000, 0x08c003) AM_RAM_WRITE(afega_scroll0_w) AM_BASE(m_afega_scroll_0) // Scroll
/**/AM_RANGE(0x08c004, 0x08c007) AM_RAM_WRITE(afega_scroll1_w) AM_BASE(m_afega_scroll_1) //
diff --git a/src/mame/drivers/nova2001.c b/src/mame/drivers/nova2001.c
index d49a151b1f4..060bc835d24 100644
--- a/src/mame/drivers/nova2001.c
+++ b/src/mame/drivers/nova2001.c
@@ -205,7 +205,7 @@ static ADDRESS_MAP_START( ninjakun_cpu1_map, AS_PROGRAM, 8, nova2001_state )
AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE_LEGACY(nova2001_fg_videoram_w) AM_BASE(m_fg_videoram) AM_SHARE("share1")
AM_RANGE(0xc800, 0xcfff) AM_READWRITE_LEGACY(ninjakun_bg_videoram_r, ninjakun_bg_videoram_w) AM_BASE(m_bg_videoram) AM_SHARE("share2")
AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_BASE(m_spriteram) AM_SHARE("share3")
- AM_RANGE(0xd800, 0xd9ff) AM_RAM_WRITE_LEGACY(ninjakun_paletteram_w) AM_BASE_GENERIC(paletteram) AM_SHARE("share4")
+ AM_RANGE(0xd800, 0xd9ff) AM_RAM_WRITE_LEGACY(ninjakun_paletteram_w) AM_SHARE("paletteram") AM_SHARE("share4")
AM_RANGE(0xe000, 0xe3ff) AM_RAM AM_SHARE("share5")
AM_RANGE(0xe400, 0xe7ff) AM_RAM AM_SHARE("share6")
ADDRESS_MAP_END
@@ -260,7 +260,7 @@ static ADDRESS_MAP_START( raiders5_cpu1_map, AS_PROGRAM, 8, nova2001_state )
AM_RANGE(0xc001, 0xc001) AM_DEVREAD_LEGACY("ay1", ay8910_r)
AM_RANGE(0xc002, 0xc003) AM_DEVWRITE_LEGACY("ay2", ay8910_address_data_w)
AM_RANGE(0xc003, 0xc003) AM_DEVREAD_LEGACY("ay2", ay8910_r)
- AM_RANGE(0xd000, 0xd1ff) AM_RAM_WRITE_LEGACY(ninjakun_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xd000, 0xd1ff) AM_RAM_WRITE_LEGACY(ninjakun_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("share1")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/nwk-tr.c b/src/mame/drivers/nwk-tr.c
index 8959fc60c40..b013abc56dc 100644
--- a/src/mame/drivers/nwk-tr.c
+++ b/src/mame/drivers/nwk-tr.c
@@ -257,8 +257,8 @@ public:
WRITE32_MEMBER(nwktr_state::paletteram32_w)
{
- COMBINE_DATA(&machine().generic.paletteram.u32[offset]);
- data = machine().generic.paletteram.u32[offset];
+ COMBINE_DATA(&m_generic_paletteram_32[offset]);
+ data = m_generic_paletteram_32[offset];
palette_set_color_rgb(machine(), offset, pal5bit(data >> 10), pal5bit(data >> 5), pal5bit(data >> 0));
}
@@ -496,7 +496,7 @@ static MACHINE_START( nwktr )
static ADDRESS_MAP_START( nwktr_map, AS_PROGRAM, 32, nwktr_state )
AM_RANGE(0x00000000, 0x003fffff) AM_RAM AM_BASE(m_work_ram) /* Work RAM */
AM_RANGE(0x74000000, 0x740000ff) AM_DEVREADWRITE_LEGACY("k001604", k001604_reg_r, k001604_reg_w)
- AM_RANGE(0x74010000, 0x74017fff) AM_RAM_WRITE(paletteram32_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x74010000, 0x74017fff) AM_RAM_WRITE(paletteram32_w) AM_SHARE("paletteram")
AM_RANGE(0x74020000, 0x7403ffff) AM_DEVREADWRITE_LEGACY("k001604", k001604_tile_r, k001604_tile_w)
AM_RANGE(0x74040000, 0x7407ffff) AM_DEVREADWRITE_LEGACY("k001604", k001604_char_r, k001604_char_w)
AM_RANGE(0x78000000, 0x7800ffff) AM_READWRITE_LEGACY(cgboard_dsp_shared_r_ppc, cgboard_dsp_shared_w_ppc)
diff --git a/src/mame/drivers/offtwall.c b/src/mame/drivers/offtwall.c
index b98cdaca949..b70429d8cb1 100644
--- a/src/mame/drivers/offtwall.c
+++ b/src/mame/drivers/offtwall.c
@@ -292,7 +292,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, offtwall_state )
AM_RANGE(0x260050, 0x260051) AM_WRITE_LEGACY(io_latch_w)
AM_RANGE(0x260060, 0x260061) AM_WRITE_LEGACY(atarigen_eeprom_enable_w)
AM_RANGE(0x2a0000, 0x2a0001) AM_WRITE_LEGACY(watchdog_reset16_w)
- AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_WRITE_LEGACY(atarigen_666_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_WRITE_LEGACY(atarigen_666_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x3effc0, 0x3effff) AM_READWRITE_LEGACY(offtwall_atarivc_r, offtwall_atarivc_w) AM_BASE(m_atarivc_data)
AM_RANGE(0x3f4000, 0x3f5eff) AM_RAM_WRITE_LEGACY(atarigen_playfield_latched_msb_w) AM_BASE(m_playfield)
AM_RANGE(0x3f5f00, 0x3f5f7f) AM_RAM AM_BASE(m_atarivc_eof_data)
diff --git a/src/mame/drivers/ohmygod.c b/src/mame/drivers/ohmygod.c
index eb062f79318..5acabcdb94b 100644
--- a/src/mame/drivers/ohmygod.c
+++ b/src/mame/drivers/ohmygod.c
@@ -45,7 +45,7 @@ static ADDRESS_MAP_START( ohmygod_map, AS_PROGRAM, 16, ohmygod_state )
AM_RANGE(0x308000, 0x30ffff) AM_RAM
AM_RANGE(0x400000, 0x400001) AM_WRITE_LEGACY(ohmygod_scrollx_w)
AM_RANGE(0x400002, 0x400003) AM_WRITE_LEGACY(ohmygod_scrolly_w)
- AM_RANGE(0x600000, 0x6007ff) AM_RAM_WRITE_LEGACY(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x600000, 0x6007ff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x700000, 0x703fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x704000, 0x707fff) AM_RAM
AM_RANGE(0x708000, 0x70ffff) AM_RAM /* Work RAM */
diff --git a/src/mame/drivers/oneshot.c b/src/mame/drivers/oneshot.c
index 4557117eb5b..70ecbd9ec5a 100644
--- a/src/mame/drivers/oneshot.c
+++ b/src/mame/drivers/oneshot.c
@@ -103,7 +103,7 @@ static WRITE16_DEVICE_HANDLER( 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_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0c0000, 0x0c07ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x120000, 0x120fff) AM_RAM AM_BASE(m_sprites)
AM_RANGE(0x180000, 0x180fff) AM_RAM_WRITE_LEGACY(oneshot_mid_videoram_w) AM_BASE(m_mid_videoram) // some people , girl etc.
AM_RANGE(0x181000, 0x181fff) AM_RAM_WRITE_LEGACY(oneshot_fg_videoram_w) AM_BASE(m_fg_videoram) // credits etc.
diff --git a/src/mame/drivers/opwolf.c b/src/mame/drivers/opwolf.c
index c50d4c2ff1f..8805492c761 100644
--- a/src/mame/drivers/opwolf.c
+++ b/src/mame/drivers/opwolf.c
@@ -362,7 +362,7 @@ static ADDRESS_MAP_START( opwolf_map, AS_PROGRAM, 16, opwolf_state )
AM_RANGE(0x0ff802, 0x0ff803) AM_WRITE_LEGACY(opwolf_cchip_status_w)
AM_RANGE(0x0ffc00, 0x0ffc01) AM_WRITE_LEGACY(opwolf_cchip_bank_w)
AM_RANGE(0x100000, 0x107fff) AM_RAM
- AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x380000, 0x380003) AM_READ(opwolf_dsw_r) /* dip switches */
AM_RANGE(0x380000, 0x380003) AM_WRITE_LEGACY(opwolf_spritectrl_w) // usually 0x4, changes when you fire
AM_RANGE(0x3a0000, 0x3a0003) AM_READ(opwolf_lightgun_r) /* lightgun, read at $11e0/6 */
@@ -383,7 +383,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_WRITE_LEGACY(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x380000, 0x380003) AM_READ(opwolf_dsw_r) /* dip switches */
AM_RANGE(0x380000, 0x380003) AM_WRITE_LEGACY(opwolf_spritectrl_w) // usually 0x4, changes when you fire
AM_RANGE(0x3a0000, 0x3a0003) AM_READ(opwolf_lightgun_r) /* lightgun, read at $11e0/6 */
diff --git a/src/mame/drivers/othldrby.c b/src/mame/drivers/othldrby.c
index 4ae637c6a5f..3cf7efbd28e 100644
--- a/src/mame/drivers/othldrby.c
+++ b/src/mame/drivers/othldrby.c
@@ -89,7 +89,7 @@ static ADDRESS_MAP_START( othldrby_map, AS_PROGRAM, 16, othldrby_state )
AM_RANGE(0x300008, 0x300009) AM_WRITE_LEGACY(othldrby_vreg_addr_w)
AM_RANGE(0x30000c, 0x30000d) AM_READ_PORT("VBLANK")
AM_RANGE(0x30000c, 0x30000f) AM_WRITE_LEGACY(othldrby_vreg_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x600000, 0x600001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x700000, 0x700001) AM_READ(othldrby_scanline_r)
AM_RANGE(0x700004, 0x700005) AM_READ_PORT("DSW1")
diff --git a/src/mame/drivers/overdriv.c b/src/mame/drivers/overdriv.c
index 03721d6d954..769612cc174 100644
--- a/src/mame/drivers/overdriv.c
+++ b/src/mame/drivers/overdriv.c
@@ -157,7 +157,7 @@ WRITE16_MEMBER(overdriv_state::overdriv_cpuB_irq6_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_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
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.c b/src/mame/drivers/parodius.c
index 3aeec28bd53..22f911aa49d 100644
--- a/src/mame/drivers/parodius.c
+++ b/src/mame/drivers/parodius.c
@@ -32,9 +32,9 @@ READ8_MEMBER(parodius_state::bankedram_r)
if (m_videobank & 0x01)
{
if (m_videobank & 0x04)
- return machine().generic.paletteram.u8[offset + 0x0800];
+ return m_generic_paletteram_8[offset + 0x0800];
else
- return machine().generic.paletteram.u8[offset];
+ return m_generic_paletteram_8[offset];
}
else
return m_ram[offset];
@@ -254,7 +254,7 @@ static MACHINE_START( parodius )
memory_configure_bank(machine, "bank1", 14, 2, &ROM[0x08000], 0x4000);
memory_set_bank(machine, "bank1", 0);
- machine.generic.paletteram.u8 = auto_alloc_array_clear(machine, UINT8, 0x1000);
+ state->m_generic_paletteram_8.allocate(0x1000);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");
@@ -267,7 +267,6 @@ static MACHINE_START( parodius )
state->save_item(NAME(state->m_sprite_colorbase));
state->save_item(NAME(state->m_layer_colorbase));
state->save_item(NAME(state->m_layerpri));
- state_save_register_global_pointer(machine, machine.generic.paletteram.u8, 0x1000);
}
static MACHINE_RESET( parodius )
diff --git a/src/mame/drivers/pass.c b/src/mame/drivers/pass.c
index fd4df5d1fc0..b7993d5d151 100644
--- a/src/mame/drivers/pass.c
+++ b/src/mame/drivers/pass.c
@@ -113,7 +113,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_LEGACY(pass_bg_videoram_w) AM_BASE(m_bg_videoram) // Background
AM_RANGE(0x210000, 0x213fff) AM_RAM_WRITE_LEGACY(pass_fg_videoram_w) AM_BASE(m_fg_videoram) // Foreground
- AM_RANGE(0x220000, 0x2203ff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x220000, 0x2203ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x230000, 0x230001) AM_WRITE_LEGACY(soundlatch_word_w)
AM_RANGE(0x230100, 0x230101) AM_READ_PORT("DSW")
AM_RANGE(0x230200, 0x230201) AM_READ_PORT("INPUTS")
diff --git a/src/mame/drivers/pbaction.c b/src/mame/drivers/pbaction.c
index a842bc2ea5d..cbc0bf2d197 100644
--- a/src/mame/drivers/pbaction.c
+++ b/src/mame/drivers/pbaction.c
@@ -91,7 +91,7 @@ static ADDRESS_MAP_START( pbaction_map, AS_PROGRAM, 8, pbaction_state )
AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE_LEGACY(pbaction_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE_LEGACY(pbaction_colorram_w) AM_BASE(m_colorram)
AM_RANGE(0xe000, 0xe07f) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0xe400, 0xe5ff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xe400, 0xe5ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_SHARE("paletteram")
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/pgm.c b/src/mame/drivers/pgm.c
index 4389d7178b6..03eefd03ded 100644
--- a/src/mame/drivers/pgm.c
+++ b/src/mame/drivers/pgm.c
@@ -323,7 +323,7 @@ ADDRESS_MAP_START( pgm_base_mem, AS_PROGRAM, 16, pgm_state )
AM_RANGE(0x800000, 0x81ffff) AM_RAM AM_MIRROR(0x0e0000) AM_BASE_LEGACY(&pgm_mainram) AM_SHARE("sram") /* Main Ram */
AM_RANGE(0x900000, 0x907fff) AM_MIRROR(0x0f8000) AM_READWRITE(pgm_videoram_r, pgm_videoram_w) AM_BASE(m_videoram) /* IGS023 VIDEO CHIP */
- AM_RANGE(0xa00000, 0xa011ff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xa00000, 0xa011ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0xb00000, 0xb0ffff) AM_RAM AM_BASE(m_videoregs) /* Video Regs inc. Zoom Table */
AM_RANGE(0xc00002, 0xc00003) AM_READ_LEGACY(soundlatch_word_r) AM_WRITE(m68k_l1_w)
diff --git a/src/mame/drivers/pinkiri8.c b/src/mame/drivers/pinkiri8.c
index 01893754928..5e07a693cf6 100644
--- a/src/mame/drivers/pinkiri8.c
+++ b/src/mame/drivers/pinkiri8.c
@@ -77,8 +77,8 @@ static ADDRESS_MAP_START( janshi_vdp_map8, AS_0, 8, pinkiri8_state )
AM_RANGE(0xfc3800, 0xfc3fff) AM_RAM AM_BASE(m_janshi_vram2) // y pos + unknown
- AM_RANGE(0xff0000, 0xff07ff) AM_RAM_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_split1_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0xff2000, 0xff27ff) AM_RAM_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_split2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0xff0000, 0xff07ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split1_w) AM_SHARE("paletteram")
+ AM_RANGE(0xff2000, 0xff27ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split2_w) AM_SHARE("paletteram2")
AM_RANGE(0xff6000, 0xff601f) AM_RAM AM_BASE(m_janshi_crtc_regs)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pipedrm.c b/src/mame/drivers/pipedrm.c
index c6557074636..94acf6afb55 100644
--- a/src/mame/drivers/pipedrm.c
+++ b/src/mame/drivers/pipedrm.c
@@ -267,7 +267,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, fromance_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_WRITE_LEGACY(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xc000, 0xcfff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_SHARE("paletteram")
AM_RANGE(0xd000, 0xffff) AM_READWRITE_LEGACY(fromance_videoram_r, fromance_videoram_w) AM_BASE_SIZE(m_videoram, m_videoram_size)
ADDRESS_MAP_END
@@ -878,7 +878,7 @@ static DRIVER_INIT( pipedrm )
fromance_state *state = machine.driver_data<fromance_state>();
/* sprite RAM lives at the end of palette RAM */
- state->m_spriteram = &machine.generic.paletteram.u8[0xc00];
+ state->m_spriteram = &state->m_generic_paletteram_8[0xc00];
state->m_spriteram_size = 0x400;
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_ram(0xcc00, 0xcfff, state->m_spriteram);
}
diff --git a/src/mame/drivers/pirates.c b/src/mame/drivers/pirates.c
index e2ed063a121..4d775183b75 100644
--- a/src/mame/drivers/pirates.c
+++ b/src/mame/drivers/pirates.c
@@ -172,7 +172,7 @@ static ADDRESS_MAP_START( pirates_map, AS_PROGRAM, 16, pirates_state )
// AM_RANGE(0x500800, 0x50080f) AM_WRITENOP
AM_RANGE(0x600000, 0x600001) AM_WRITE(pirates_out_w)
AM_RANGE(0x700000, 0x700001) AM_WRITEONLY AM_BASE(m_scroll) // scroll reg
- AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x900000, 0x90017f) AM_RAM // more of tilemaps ?
AM_RANGE(0x900180, 0x90137f) AM_RAM_WRITE_LEGACY(pirates_tx_tileram_w) AM_BASE(m_tx_tileram)
AM_RANGE(0x901380, 0x902a7f) AM_RAM_WRITE_LEGACY(pirates_fg_tileram_w) AM_BASE(m_fg_tileram)
diff --git a/src/mame/drivers/pkscram.c b/src/mame/drivers/pkscram.c
index 8b852868966..dd63e5420e3 100644
--- a/src/mame/drivers/pkscram.c
+++ b/src/mame/drivers/pkscram.c
@@ -103,7 +103,7 @@ static ADDRESS_MAP_START( pkscramble_map, AS_PROGRAM, 16, pkscram_state )
AM_RANGE(0x045000, 0x045fff) AM_RAM_WRITE(pkscramble_mdtilemap_w) AM_BASE(m_pkscramble_mdtilemap_ram) // md tilemap (just a copy of fg?)
AM_RANGE(0x046000, 0x046fff) AM_RAM_WRITE(pkscramble_bgtilemap_w) AM_BASE(m_pkscramble_bgtilemap_ram) // bg tilemap
AM_RANGE(0x047000, 0x047fff) AM_RAM // unused
- AM_RANGE(0x048000, 0x048fff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x048000, 0x048fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
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.c b/src/mame/drivers/pktgaldx.c
index ebdeadee3d7..207d2090653 100644
--- a/src/mame/drivers/pktgaldx.c
+++ b/src/mame/drivers/pktgaldx.c
@@ -80,7 +80,7 @@ static ADDRESS_MAP_START( pktgaldx_map, AS_PROGRAM, 16, pktgaldx_state )
AM_RANGE(0x112000, 0x1127ff) AM_RAM AM_BASE(m_pf2_rowscroll)
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0x130000, 0x130fff) AM_RAM_DEVWRITE_LEGACY("deco_common", decocomn_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x130000, 0x130fff) AM_RAM_DEVWRITE_LEGACY("deco_common", decocomn_nonbuffered_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x140000, 0x14000f) AM_DEVWRITE8("oki1", okim6295_device, write, 0x00ff)
AM_RANGE(0x140006, 0x140007) AM_DEVREAD8("oki1", okim6295_device, read, 0x00ff)
@@ -151,7 +151,7 @@ static ADDRESS_MAP_START( pktgaldb_map, AS_PROGRAM, 16, pktgaldx_state )
AM_RANGE(0x300000, 0x30000f) AM_RAM // ??
- AM_RANGE(0x330000, 0x330bff) AM_RAM_WRITE_LEGACY(paletteram16_xbgr_word_be_w) AM_BASE_GENERIC(paletteram) // extra colours?
+ AM_RANGE(0x330000, 0x330bff) AM_RAM_WRITE(paletteram16_xbgr_word_be_w) AM_SHARE("paletteram") // extra colours?
ADDRESS_MAP_END
diff --git a/src/mame/drivers/playmark.c b/src/mame/drivers/playmark.c
index 2dec5a8ee81..a9ecbeba6c6 100644
--- a/src/mame/drivers/playmark.c
+++ b/src/mame/drivers/playmark.c
@@ -233,7 +233,7 @@ static ADDRESS_MAP_START( bigtwin_main_map, AS_PROGRAM, 16, playmark_state )
AM_RANGE(0x70001a, 0x70001b) AM_READ_PORT("DSW1")
AM_RANGE(0x70001c, 0x70001d) AM_READ_PORT("DSW2")
AM_RANGE(0x70001e, 0x70001f) AM_WRITE(playmark_snd_command_w)
- AM_RANGE(0x780000, 0x7807ff) AM_WRITE_LEGACY(bigtwin_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x780000, 0x7807ff) AM_WRITE_LEGACY(bigtwin_paletteram_w) AM_SHARE("paletteram")
// AM_RANGE(0xe00000, 0xe00001) ?? written on startup
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
@@ -246,7 +246,7 @@ static ADDRESS_MAP_START( bigtwinb_main_map, AS_PROGRAM, 16, playmark_state )
AM_RANGE(0x108000, 0x10ffff) AM_RAM_WRITE_LEGACY(hrdtimes_txvideoram_w) AM_BASE(m_videoram1)
AM_RANGE(0x110000, 0x11000d) AM_WRITE_LEGACY(hrdtimes_scroll_w)
AM_RANGE(0x201000, 0x2013ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0x280000, 0x2807ff) AM_RAM_WRITE_LEGACY(bigtwin_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x280000, 0x2807ff) AM_RAM_WRITE_LEGACY(bigtwin_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x300010, 0x300011) AM_READ_PORT("SYSTEM")
AM_RANGE(0x300012, 0x300013) AM_READ_PORT("P1")
AM_RANGE(0x300014, 0x300015) AM_READ_PORT("P2")
@@ -276,7 +276,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_LEGACY(playmark_snd_status???)
// AM_RANGE(0x71001e, 0x71001f) AM_WRITENOP//playmark_snd_command_w },
- AM_RANGE(0x780000, 0x780fff) AM_WRITE_LEGACY(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x780000, 0x780fff) AM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
@@ -296,7 +296,7 @@ static ADDRESS_MAP_START( excelsr_main_map, AS_PROGRAM, 16, playmark_state )
AM_RANGE(0x70001a, 0x70001b) AM_READ_PORT("DSW1")
AM_RANGE(0x70001c, 0x70001d) AM_READ_PORT("DSW2")
AM_RANGE(0x70001e, 0x70001f) AM_WRITE(playmark_snd_command_w)
- AM_RANGE(0x780000, 0x7807ff) AM_RAM_WRITE_LEGACY(bigtwin_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x780000, 0x7807ff) AM_RAM_WRITE_LEGACY(bigtwin_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
@@ -307,7 +307,7 @@ static ADDRESS_MAP_START( hotmind_main_map, AS_PROGRAM, 16, playmark_state )
AM_RANGE(0x108000, 0x10ffff) AM_RAM_WRITE_LEGACY(hrdtimes_txvideoram_w) AM_BASE(m_videoram1)
AM_RANGE(0x110000, 0x11000d) AM_WRITE_LEGACY(hrdtimes_scroll_w)
AM_RANGE(0x200000, 0x200fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0x280000, 0x2807ff) AM_RAM_WRITE_LEGACY(bigtwin_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x280000, 0x2807ff) AM_RAM_WRITE_LEGACY(bigtwin_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x300010, 0x300011) AM_READ_PORT("SYSTEM")
AM_RANGE(0x300012, 0x300013) AM_READ_PORT("P1")
AM_RANGE(0x300014, 0x300015) AM_READ_PORT("P2") AM_WRITE(hotmind_coin_eeprom_w)
@@ -327,7 +327,7 @@ static ADDRESS_MAP_START( hrdtimes_main_map, AS_PROGRAM, 16, playmark_state )
AM_RANGE(0x108000, 0x10ffff) AM_RAM_WRITE_LEGACY(hrdtimes_txvideoram_w) AM_BASE(m_videoram1)
AM_RANGE(0x110000, 0x11000d) AM_WRITE_LEGACY(hrdtimes_scroll_w)
AM_RANGE(0x200000, 0x200fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0x280000, 0x2807ff) AM_RAM_WRITE_LEGACY(bigtwin_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x280000, 0x2807ff) AM_RAM_WRITE_LEGACY(bigtwin_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x280800, 0x280fff) AM_RAM // unused
AM_RANGE(0x300010, 0x300011) AM_READ_PORT("SYSTEM")
AM_RANGE(0x300012, 0x300013) AM_READ_PORT("P1")
diff --git a/src/mame/drivers/plygonet.c b/src/mame/drivers/plygonet.c
index ff606356195..e22293ba539 100644
--- a/src/mame/drivers/plygonet.c
+++ b/src/mame/drivers/plygonet.c
@@ -293,11 +293,11 @@ WRITE32_MEMBER(polygonet_state::plygonet_palette_w)
{
int r,g,b;
- COMBINE_DATA(&machine().generic.paletteram.u32[offset]);
+ COMBINE_DATA(&m_generic_paletteram_32[offset]);
- r = (machine().generic.paletteram.u32[offset] >>16) & 0xff;
- g = (machine().generic.paletteram.u32[offset] >> 8) & 0xff;
- b = (machine().generic.paletteram.u32[offset] >> 0) & 0xff;
+ r = (m_generic_paletteram_32[offset] >>16) & 0xff;
+ g = (m_generic_paletteram_32[offset] >> 8) & 0xff;
+ b = (m_generic_paletteram_32[offset] >> 0) & 0xff;
palette_set_color(machine(),offset,MAKE_RGB(r,g,b));
}
@@ -504,7 +504,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_WRITE(plygonet_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x200000, 0x21ffff) AM_RAM_WRITE(plygonet_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x400000, 0x40001f) AM_DEVREADWRITE16_LEGACY("k053936", k053936_ctrl_r, k053936_ctrl_w, 0xffffffff)
AM_RANGE(0x440000, 0x440fff) AM_READWRITE_LEGACY(polygonet_roz_ram_r, polygonet_roz_ram_w)
AM_RANGE(0x480000, 0x4bffff) AM_DEVREAD_LEGACY("eeprom", polygonet_eeprom_r)
diff --git a/src/mame/drivers/pokechmp.c b/src/mame/drivers/pokechmp.c
index e0249eb47ca..8239adce6da 100644
--- a/src/mame/drivers/pokechmp.c
+++ b/src/mame/drivers/pokechmp.c
@@ -100,8 +100,8 @@ INLINE void pokechmp_set_color(running_machine &machine, pen_t color, int rshift
WRITE8_MEMBER(pokechmp_state::pokechmp_paletteram_w)
{
- machine().generic.paletteram.u8[offset] = data;
- pokechmp_set_color(machine(), offset &0x3ff, 0, 5, 10, (machine().generic.paletteram.u8[offset&0x3ff]<<8) | ( machine().generic.paletteram.u8[ (offset&0x3ff)+0x400 ] ) );
+ m_generic_paletteram_8[offset] = data;
+ pokechmp_set_color(machine(), offset &0x3ff, 0, 5, 10, (m_generic_paletteram_8[offset&0x3ff]<<8) | ( m_generic_paletteram_8[ (offset&0x3ff)+0x400 ] ) );
}
@@ -119,7 +119,7 @@ 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, 0x27ff) AM_RAM_WRITE(pokechmp_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(pokechmp_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x4000, 0x5fff) AM_ROMBANK("bank1")
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("bank2")
diff --git a/src/mame/drivers/popobear.c b/src/mame/drivers/popobear.c
index 8d809318a6a..e4e1ec274e4 100644
--- a/src/mame/drivers/popobear.c
+++ b/src/mame/drivers/popobear.c
@@ -303,7 +303,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_LEGACY(popo_48003a_r) AM_WRITE_LEGACY(popo_48003a_w)
- AM_RANGE(0x480400, 0x4807ff) AM_RAM AM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x480400, 0x4807ff) AM_RAM AM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x500000, 0x500001) AM_READ_PORT("IN0")
AM_RANGE(0x520000, 0x520001) AM_READ_PORT("IN1")
diff --git a/src/mame/drivers/powerbal.c b/src/mame/drivers/powerbal.c
index 3935fcba480..85261388300 100644
--- a/src/mame/drivers/powerbal.c
+++ b/src/mame/drivers/powerbal.c
@@ -77,7 +77,7 @@ static WRITE16_DEVICE_HANDLER( oki_banking )
static ADDRESS_MAP_START( magicstk_main_map, AS_PROGRAM, 16, playmark_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
- AM_RANGE(0x088000, 0x0883ff) AM_RAM_WRITE_LEGACY(bigtwin_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x088000, 0x0883ff) AM_RAM_WRITE_LEGACY(bigtwin_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x094000, 0x094001) AM_WRITENOP
AM_RANGE(0x094002, 0x094003) AM_WRITENOP
AM_RANGE(0x094004, 0x094005) AM_WRITE_LEGACY(tile_banking_w)
@@ -96,7 +96,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( powerbal_main_map, AS_PROGRAM, 16, playmark_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x088000, 0x0883ff) AM_RAM_WRITE_LEGACY(bigtwin_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x088000, 0x0883ff) AM_RAM_WRITE_LEGACY(bigtwin_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x094000, 0x094001) AM_WRITENOP
AM_RANGE(0x094002, 0x094003) AM_WRITENOP
AM_RANGE(0x094004, 0x094005) AM_WRITE_LEGACY(tile_banking_w)
diff --git a/src/mame/drivers/powerins.c b/src/mame/drivers/powerins.c
index b684f8aba8d..8bf092729c3 100644
--- a/src/mame/drivers/powerins.c
+++ b/src/mame/drivers/powerins.c
@@ -82,7 +82,7 @@ static ADDRESS_MAP_START( powerins_map, AS_PROGRAM, 16, powerins_state )
AM_RANGE(0x100018, 0x100019) AM_WRITE_LEGACY(powerins_tilebank_w) // Tiles Banking (VRAM 0)
AM_RANGE(0x10001e, 0x10001f) AM_WRITE(powerins_soundlatch_w) // Sound Latch
AM_RANGE(0x100030, 0x100031) AM_WRITE(powerins_okibank_w) // Sound
- AM_RANGE(0x120000, 0x120fff) AM_RAM_WRITE_LEGACY(powerins_paletteram16_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x120000, 0x120fff) AM_RAM_WRITE_LEGACY(powerins_paletteram16_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x130000, 0x130007) AM_RAM AM_BASE(m_vctrl_0) // VRAM 0 Control
AM_RANGE(0x140000, 0x143fff) AM_RAM_WRITE_LEGACY(powerins_vram_0_w) AM_BASE(m_vram_0) // VRAM 0
AM_RANGE(0x170000, 0x170fff) AM_RAM_WRITE_LEGACY(powerins_vram_1_w) AM_BASE(m_vram_1) // VRAM 1
@@ -103,7 +103,7 @@ static ADDRESS_MAP_START( powerina_map, AS_PROGRAM, 16, powerins_state )
AM_RANGE(0x10001e, 0x10001f) AM_WRITENOP // Sound Latch, NOPed since there is no sound cpu
AM_RANGE(0x100030, 0x100031) AM_WRITE(powerins_okibank_w) // Sound
AM_RANGE(0x10003e, 0x10003f) AM_DEVREADWRITE8("oki1", okim6295_device, read, write, 0x00ff) // (used by powerina)
- AM_RANGE(0x120000, 0x120fff) AM_RAM_WRITE_LEGACY(powerins_paletteram16_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x120000, 0x120fff) AM_RAM_WRITE_LEGACY(powerins_paletteram16_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x130000, 0x130007) AM_RAM AM_BASE(m_vctrl_0) // VRAM 0 Control
AM_RANGE(0x140000, 0x143fff) AM_RAM_WRITE_LEGACY(powerins_vram_0_w) AM_BASE(m_vram_0) // VRAM 0
AM_RANGE(0x170000, 0x170fff) AM_RAM_WRITE_LEGACY(powerins_vram_1_w) AM_BASE(m_vram_1) // VRAM 1
diff --git a/src/mame/drivers/prehisle.c b/src/mame/drivers/prehisle.c
index 453042e65b5..c1625104771 100644
--- a/src/mame/drivers/prehisle.c
+++ b/src/mame/drivers/prehisle.c
@@ -31,7 +31,7 @@ static ADDRESS_MAP_START( prehisle_map, AS_PROGRAM, 16, prehisle_state )
AM_RANGE(0x090000, 0x0907ff) AM_RAM_WRITE_LEGACY(prehisle_fg_videoram16_w) AM_BASE(m_videoram)
AM_RANGE(0x0a0000, 0x0a07ff) AM_RAM AM_BASE(m_spriteram)
AM_RANGE(0x0b0000, 0x0b3fff) AM_RAM_WRITE_LEGACY(prehisle_bg_videoram16_w) AM_BASE(m_bg_videoram16)
- AM_RANGE(0x0d0000, 0x0d07ff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0d0000, 0x0d07ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x0e0000, 0x0e00ff) AM_READ_LEGACY(prehisle_control16_r)
AM_RANGE(0x0f0070, 0x0ff071) AM_WRITE(prehisle_sound16_w)
AM_RANGE(0x0f0000, 0x0ff0ff) AM_WRITE_LEGACY(prehisle_control16_w)
diff --git a/src/mame/drivers/psikyo.c b/src/mame/drivers/psikyo.c
index cb870dd3e02..98ad0bf32f0 100644
--- a/src/mame/drivers/psikyo.c
+++ b/src/mame/drivers/psikyo.c
@@ -318,7 +318,7 @@ WRITE32_MEMBER(psikyo_state::paletteram32_xRRRRRGGGGGBBBBB_dword_w)
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_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites, buffered by two frames (list buffered + fb buffered)
- AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram32_xRRRRRGGGGGBBBBB_dword_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram32_xRRRRRGGGGGBBBBB_dword_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE_LEGACY(psikyo_vram_0_w) AM_BASE(m_vram_0) // Layer 0
AM_RANGE(0x802000, 0x803fff) AM_RAM_WRITE_LEGACY(psikyo_vram_1_w) AM_BASE(m_vram_1) // Layer 1
AM_RANGE(0x804000, 0x807fff) AM_RAM AM_BASE(m_vregs) // RAM + Vregs
@@ -367,7 +367,7 @@ static ADDRESS_MAP_START( psikyo_bootleg_map, AS_PROGRAM, 32, psikyo_state )
AM_RANGE(0x200000, 0x200fff) AM_RAM AM_BASE(m_bootleg_spritebuffer) // RAM (it copies the spritelist here, the HW probably doesn't have automatic buffering like the originals?
AM_RANGE(0x400000, 0x401fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites, buffered by two frames (list buffered + fb buffered)
- AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram32_xRRRRRGGGGGBBBBB_dword_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram32_xRRRRRGGGGGBBBBB_dword_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE_LEGACY(psikyo_vram_0_w) AM_BASE(m_vram_0) // Layer 0
AM_RANGE(0x802000, 0x803fff) AM_RAM_WRITE_LEGACY(psikyo_vram_1_w) AM_BASE(m_vram_1) // Layer 1
AM_RANGE(0x804000, 0x807fff) AM_RAM AM_BASE(m_vregs) // RAM + Vregs
@@ -1893,7 +1893,7 @@ static DRIVER_INIT( tengai )
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00010, 0xc00013, write32_delegate(FUNC(psikyo_state::s1945_soundlatch_w),state));
/* protection */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00004, 0xc0000b, write32_delegate(FUNC(psikyo_state::psikyo_state::s1945_mcu_w),state));
+ machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00004, 0xc0000b, write32_delegate(FUNC(psikyo_state::s1945_mcu_w),state));
s1945_mcu_init(machine);
state->m_s1945_mcu_table = 0;
@@ -1913,7 +1913,7 @@ static DRIVER_INIT( gunbird )
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc00000, 0xc0000b, read32_delegate(FUNC(psikyo_state::gunbird_input_r),state));
/* sound latch */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00010, 0xc00013, write32_delegate(FUNC(psikyo_state::psikyo_state::psikyo_soundlatch_w),state));
+ machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xc00010, 0xc00013, write32_delegate(FUNC(psikyo_state::psikyo_soundlatch_w),state));
state->m_ka302c_banking = 1;
diff --git a/src/mame/drivers/pushman.c b/src/mame/drivers/pushman.c
index b5554d13815..74469061e61 100644
--- a/src/mame/drivers/pushman.c
+++ b/src/mame/drivers/pushman.c
@@ -153,7 +153,7 @@ static ADDRESS_MAP_START( pushman_map, AS_PROGRAM, 16, pushman_state )
AM_RANGE(0xfe8000, 0xfe8003) AM_WRITE_LEGACY(pushman_scroll_w)
AM_RANGE(0xfe800e, 0xfe800f) AM_WRITENOP /* ? */
AM_RANGE(0xfec000, 0xfec7ff) AM_RAM_WRITE_LEGACY(pushman_videoram_w) AM_BASE(m_videoram)
- AM_RANGE(0xff8000, 0xff87ff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xff8000, 0xff87ff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0xffc000, 0xffffff) AM_RAM
ADDRESS_MAP_END
@@ -186,7 +186,7 @@ static ADDRESS_MAP_START( bballs_map, AS_PROGRAM, 16, pushman_state )
AM_RANGE(0xe8000, 0xe8003) AM_WRITE_LEGACY(pushman_scroll_w)
AM_RANGE(0xe800e, 0xe800f) AM_WRITENOP /* ? */
AM_RANGE(0xec000, 0xec7ff) AM_RAM_WRITE_LEGACY(pushman_videoram_w) AM_BASE(m_videoram)
- AM_RANGE(0xf8000, 0xf87ff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf8000, 0xf87ff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0xfc000, 0xfffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pzletime.c b/src/mame/drivers/pzletime.c
index a80a73f456c..f30aba336ac 100644
--- a/src/mame/drivers/pzletime.c
+++ b/src/mame/drivers/pzletime.c
@@ -211,7 +211,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_BASE(m_video_regs)
AM_RANGE(0x800000, 0x800001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
- AM_RANGE(0x900000, 0x9005ff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x900000, 0x9005ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0xa00000, 0xa00007) AM_RAM AM_BASE(m_tilemap_regs)
AM_RANGE(0xb00000, 0xb3ffff) AM_RAM AM_BASE(m_bg_videoram)
AM_RANGE(0xc00000, 0xc00fff) AM_RAM_WRITE(mid_videoram_w) AM_BASE(m_mid_videoram)
diff --git a/src/mame/drivers/qdrmfgp.c b/src/mame/drivers/qdrmfgp.c
index 3372a775672..4a55d3dc887 100644
--- a/src/mame/drivers/qdrmfgp.c
+++ b/src/mame/drivers/qdrmfgp.c
@@ -335,7 +335,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_BASE(m_workram) /* work ram */
AM_RANGE(0x180000, 0x183fff) AM_RAM AM_SHARE("nvram") /* backup ram */
- AM_RANGE(0x280000, 0x280fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x280000, 0x280fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x300000, 0x30003f) AM_DEVWRITE_LEGACY("k056832", k056832_word_w) /* video reg */
AM_RANGE(0x320000, 0x32001f) AM_DEVREADWRITE8_LEGACY("k053252", k053252_r, k053252_w,0x00ff) /* ccu */
AM_RANGE(0x330000, 0x330001) AM_READ_PORT("SENSOR") /* battery power & service sw */
@@ -358,7 +358,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_BASE(m_workram) /* work ram */
AM_RANGE(0x180000, 0x183fff) AM_RAM AM_SHARE("nvram") /* backup ram */
- AM_RANGE(0x280000, 0x280fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x280000, 0x280fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x300000, 0x30003f) AM_DEVWRITE_LEGACY("k056832", k056832_word_w) /* video reg */
AM_RANGE(0x320000, 0x32001f) AM_DEVREADWRITE8_LEGACY("k053252", k053252_r, k053252_w,0xff00) /* ccu */
AM_RANGE(0x330000, 0x330001) AM_READ_PORT("SENSOR") /* battery power & service */
diff --git a/src/mame/drivers/quizdna.c b/src/mame/drivers/quizdna.c
index 47f3ebb4704..b5468fe3ec8 100644
--- a/src/mame/drivers/quizdna.c
+++ b/src/mame/drivers/quizdna.c
@@ -38,7 +38,7 @@ static ADDRESS_MAP_START( quizdna_map, AS_PROGRAM, 8, quizdna_state )
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe1ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0xe200, 0xefff) AM_RAM
- AM_RANGE(0xf000, 0xffff) AM_RAM_WRITE_LEGACY(paletteram_xBGR_RRRR_GGGG_BBBB_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf000, 0xffff) AM_RAM_WRITE_LEGACY(paletteram_xBGR_RRRR_GGGG_BBBB_w) AM_SHARE("paletteram")
ADDRESS_MAP_END
static ADDRESS_MAP_START( gekiretu_map, AS_PROGRAM, 8, quizdna_state )
@@ -47,7 +47,7 @@ static ADDRESS_MAP_START( gekiretu_map, AS_PROGRAM, 8, quizdna_state )
AM_RANGE(0x8000, 0x9fff) AM_WRITE_LEGACY(quizdna_fg_ram_w)
AM_RANGE(0xa000, 0xbfff) AM_WRITE_LEGACY(quizdna_bg_ram_w)
AM_RANGE(0xc000, 0xdfff) AM_RAM
- AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE_LEGACY(paletteram_xBGR_RRRR_GGGG_BBBB_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE_LEGACY(paletteram_xBGR_RRRR_GGGG_BBBB_w) AM_SHARE("paletteram")
AM_RANGE(0xf000, 0xf1ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0xf200, 0xffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/quizpani.c b/src/mame/drivers/quizpani.c
index 8529f59cf7b..837580c7c2f 100644
--- a/src/mame/drivers/quizpani.c
+++ b/src/mame/drivers/quizpani.c
@@ -62,7 +62,7 @@ static ADDRESS_MAP_START( quizpani_map, AS_PROGRAM, 16, quizpani_state )
AM_RANGE(0x100018, 0x100019) AM_WRITE_LEGACY(quizpani_tilesbank_w)
AM_RANGE(0x104000, 0x104001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x104020, 0x104027) AM_DEVWRITE_LEGACY("nmk112", nmk112_okibank_lsb_w)
- AM_RANGE(0x108000, 0x1083ff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x108000, 0x1083ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x108400, 0x1085ff) AM_WRITENOP
AM_RANGE(0x10c000, 0x10c007) AM_RAM AM_BASE(m_scrollreg)
AM_RANGE(0x10c008, 0x10c403) AM_WRITENOP
diff --git a/src/mame/drivers/quizpun2.c b/src/mame/drivers/quizpun2.c
index cac70b0d873..ab82bc0c13a 100644
--- a/src/mame/drivers/quizpun2.c
+++ b/src/mame/drivers/quizpun2.c
@@ -364,7 +364,7 @@ static ADDRESS_MAP_START( quizpun2_map, AS_PROGRAM, 8, quizpun2_state )
AM_RANGE( 0xc000, 0xc7ff ) AM_RAM_WRITE(bg_ram_w ) AM_BASE(m_bg_ram ) // 4 * 400
AM_RANGE( 0xc800, 0xcfff ) AM_RAM //
- AM_RANGE( 0xd000, 0xd3ff ) AM_RAM_WRITE_LEGACY(paletteram_xRRRRRGGGGGBBBBB_le_w ) AM_BASE_GENERIC( paletteram )
+ AM_RANGE( 0xd000, 0xd3ff ) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w ) AM_SHARE("paletteram")
AM_RANGE( 0xe000, 0xffff ) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/r2dx_v33.c b/src/mame/drivers/r2dx_v33.c
index 641062525e7..0c2ecd087d2 100644
--- a/src/mame/drivers/r2dx_v33.c
+++ b/src/mame/drivers/r2dx_v33.c
@@ -405,7 +405,7 @@ static ADDRESS_MAP_START( rdx_v33_map, AS_PROGRAM, 16, r2dx_v33_state )
AM_RANGE(0x0e800, 0x0f7ff) AM_RAM_WRITE(rdx_tx_vram_w) AM_BASE_LEGACY(&tx_vram)
AM_RANGE(0x0f800, 0x0ffff) AM_RAM /* Stack area */
AM_RANGE(0x10000, 0x1efff) AM_RAM
- AM_RANGE(0x1f000, 0x1ffff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1f000, 0x1ffff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK("bank1")
AM_RANGE(0x40000, 0xfffff) AM_ROM AM_REGION("mainprg", 0x40000 )
@@ -478,7 +478,7 @@ static ADDRESS_MAP_START( nzerotea_map, AS_PROGRAM, 16, r2dx_v33_state )
AM_RANGE(0x0e800, 0x0f7ff) AM_RAM_WRITE(rdx_tx_vram_w) AM_BASE_LEGACY(&tx_vram)
AM_RANGE(0x0f800, 0x0ffff) AM_RAM /* Stack area */
AM_RANGE(0x10000, 0x1efff) AM_RAM
- AM_RANGE(0x1f000, 0x1ffff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1f000, 0x1ffff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK("bank1")
AM_RANGE(0x40000, 0xfffff) AM_ROM AM_REGION("mainprg", 0x40000 )
diff --git a/src/mame/drivers/rabbit.c b/src/mame/drivers/rabbit.c
index a961ee5b345..b388cee8c16 100644
--- a/src/mame/drivers/rabbit.c
+++ b/src/mame/drivers/rabbit.c
@@ -477,11 +477,11 @@ static SCREEN_UPDATE_IND16(rabbit)
WRITE32_MEMBER(rabbit_state::rabbit_paletteram_dword_w)
{
int r,g,b;
- COMBINE_DATA(&machine().generic.paletteram.u32[offset]);
+ COMBINE_DATA(&m_generic_paletteram_32[offset]);
- b = ((machine().generic.paletteram.u32[offset] & 0x000000ff) >>0);
- r = ((machine().generic.paletteram.u32[offset] & 0x0000ff00) >>8);
- g = ((machine().generic.paletteram.u32[offset] & 0x00ff0000) >>16);
+ b = ((m_generic_paletteram_32[offset] & 0x000000ff) >>0);
+ r = ((m_generic_paletteram_32[offset] & 0x0000ff00) >>8);
+ g = ((m_generic_paletteram_32[offset] & 0x00ff0000) >>16);
palette_set_color(machine(),offset,MAKE_RGB(r,g,b));
}
@@ -769,7 +769,7 @@ static ADDRESS_MAP_START( rabbit_map, AS_PROGRAM, 32, rabbit_state )
AM_RANGE(0x488000, 0x48bfff) AM_READWRITE(rabbit_tilemap2_r,rabbit_tilemap2_w)
AM_RANGE(0x48c000, 0x48ffff) AM_READWRITE(rabbit_tilemap3_r,rabbit_tilemap3_w)
AM_RANGE(0x494000, 0x497fff) AM_RAM AM_BASE(m_spriteram) // sprites?
- AM_RANGE(0x4a0000, 0x4affff) AM_RAM_WRITE(rabbit_paletteram_dword_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x4a0000, 0x4affff) AM_RAM_WRITE(rabbit_paletteram_dword_w) AM_SHARE("paletteram")
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/raiden.c b/src/mame/drivers/raiden.c
index 0e5912a42ba..6a4c95cc2bc 100644
--- a/src/mame/drivers/raiden.c
+++ b/src/mame/drivers/raiden.c
@@ -63,7 +63,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_LEGACY(raiden_background_w) AM_BASE(m_back_data)
AM_RANGE(0x02800, 0x02fff) AM_RAM_WRITE_LEGACY(raiden_foreground_w) AM_BASE(m_fore_data)
- AM_RANGE(0x03000, 0x03fff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x03000, 0x03fff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x04000, 0x04fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x07ffe, 0x0afff) AM_WRITENOP
AM_RANGE(0xc0000, 0xfffff) AM_ROM
@@ -104,7 +104,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_LEGACY(raiden_background_w) AM_BASE(m_back_data)
AM_RANGE(0x06800, 0x06fff) AM_RAM_WRITE_LEGACY(raiden_foreground_w) AM_BASE(m_fore_data)
- AM_RANGE(0x07000, 0x07fff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x07000, 0x07fff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x08000, 0x08fff) AM_RAM AM_SHARE("share1")
//AM_RANGE(0x07ffe, 0x0afff) AM_WRITENOP
AM_RANGE(0xc0000, 0xfffff) AM_ROM
diff --git a/src/mame/drivers/raiden2.c b/src/mame/drivers/raiden2.c
index 8edbfac7309..1336f29fd5b 100644
--- a/src/mame/drivers/raiden2.c
+++ b/src/mame/drivers/raiden2.c
@@ -1271,7 +1271,7 @@ static ADDRESS_MAP_START( raiden2_mem, AS_PROGRAM, 16, raiden2_state )
AM_RANGE(0x0f800, 0x0ffff) AM_RAM /* Stack area */
AM_RANGE(0x10000, 0x1efff) AM_RAM
- AM_RANGE(0x1f000, 0x1ffff) AM_RAM AM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1f000, 0x1ffff) AM_RAM AM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK("mainbank")
AM_RANGE(0x40000, 0xfffff) AM_ROM AM_REGION("mainprg", 0x40000)
@@ -1308,7 +1308,7 @@ static ADDRESS_MAP_START( zeroteam_mem, AS_PROGRAM, 16, raiden2_state )
AM_RANGE(0x0c000, 0x0c7ff) AM_RAM_WRITE(raiden2_foreground_w) AM_BASE(fore_data)
AM_RANGE(0x0c800, 0x0cfff) AM_RAM_WRITE(raiden2_midground_w) AM_BASE(mid_data)
AM_RANGE(0x0d000, 0x0dfff) AM_RAM_WRITE(raiden2_text_w) AM_BASE(text_data)
- AM_RANGE(0x0e000, 0x0efff) AM_RAM AM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0e000, 0x0efff) AM_RAM AM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x0f000, 0x0ffff) AM_RAM AM_BASE(sprites)
AM_RANGE(0x10000, 0x1ffff) AM_RAM
@@ -1338,7 +1338,7 @@ static ADDRESS_MAP_START( xsedae_mem, AS_PROGRAM, 16, raiden2_state )
AM_RANGE(0x0c000, 0x0c7ff) AM_RAM_WRITE(raiden2_foreground_w) AM_BASE(fore_data)
AM_RANGE(0x0c800, 0x0cfff) AM_RAM_WRITE(raiden2_midground_w) AM_BASE(mid_data)
AM_RANGE(0x0d000, 0x0dfff) AM_RAM_WRITE(raiden2_text_w) AM_BASE(text_data)
- AM_RANGE(0x0e000, 0x0efff) AM_RAM AM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0e000, 0x0efff) AM_RAM AM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x0f000, 0x0ffff) AM_RAM AM_BASE(sprites)
AM_RANGE(0x10000, 0x1ffff) AM_RAM
diff --git a/src/mame/drivers/rainbow.c b/src/mame/drivers/rainbow.c
index 5e962fdae32..cb6f06c9387 100644
--- a/src/mame/drivers/rainbow.c
+++ b/src/mame/drivers/rainbow.c
@@ -347,7 +347,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_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
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_LEGACY(rbisland_spritectrl_w)
@@ -368,7 +368,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_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
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/rampart.c b/src/mame/drivers/rampart.c
index 230e087564f..dd5991b3497 100644
--- a/src/mame/drivers/rampart.c
+++ b/src/mame/drivers/rampart.c
@@ -139,7 +139,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_BASE(m_bitmap)
AM_RANGE(0x220000, 0x3bffff) AM_WRITENOP /* the code blasts right through this when initializing */
- AM_RANGE(0x3c0000, 0x3c07ff) AM_MIRROR(0x019800) AM_RAM_WRITE_LEGACY(atarigen_expanded_666_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x3c0000, 0x3c07ff) AM_MIRROR(0x019800) AM_RAM_WRITE_LEGACY(atarigen_expanded_666_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x3e0000, 0x3e07ff) AM_MIRROR(0x010000) AM_READWRITE_LEGACY(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
AM_RANGE(0x3e0800, 0x3e3f3f) AM_MIRROR(0x010000) AM_RAM
AM_RANGE(0x3e3f40, 0x3e3f7f) AM_MIRROR(0x010000) AM_READWRITE_LEGACY(atarimo_0_slipram_r, atarimo_0_slipram_w)
diff --git a/src/mame/drivers/rastan.c b/src/mame/drivers/rastan.c
index ab8683cf702..13a42b0472d 100644
--- a/src/mame/drivers/rastan.c
+++ b/src/mame/drivers/rastan.c
@@ -205,7 +205,7 @@ static WRITE8_DEVICE_HANDLER( 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_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x350008, 0x350009) AM_WRITENOP /* 0 only (often) ? */
AM_RANGE(0x380000, 0x380001) AM_WRITE_LEGACY(rastan_spritectrl_w) /* sprite palette bank, coin counters & lockout */
AM_RANGE(0x390000, 0x390001) AM_READ_PORT("P1")
diff --git a/src/mame/drivers/rbmk.c b/src/mame/drivers/rbmk.c
index 8c438ac872e..4e5647b57f2 100644
--- a/src/mame/drivers/rbmk.c
+++ b/src/mame/drivers/rbmk.c
@@ -116,7 +116,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_BASE(m_gms_vidram2)
AM_RANGE(0x980300, 0x983fff) AM_RAM // 0x2048 words ???, byte access
- AM_RANGE(0x900000, 0x900fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x900000, 0x900fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x9c0000, 0x9c0fff) AM_RAM AM_BASE(m_gms_vidram)
AM_RANGE(0xb00000, 0xb00001) AM_DEVWRITE_LEGACY("eeprom", eeprom_w)
AM_RANGE(0xC00000, 0xC00001) AM_READ_PORT("IN0") AM_WRITE(gms_write1)
diff --git a/src/mame/drivers/realbrk.c b/src/mame/drivers/realbrk.c
index cfc2104d8a4..4315bc12832 100644
--- a/src/mame/drivers/realbrk.c
+++ b/src/mame/drivers/realbrk.c
@@ -155,7 +155,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_BASE(m_spriteram) // Sprites
- AM_RANGE(0x400000, 0x40ffff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram ) // Palette
+ AM_RANGE(0x400000, 0x40ffff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram" ) // Palette
AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE_LEGACY(realbrk_vram_0_w) AM_BASE(m_vram_0 ) // Background (0)
AM_RANGE(0x602000, 0x603fff) AM_RAM_WRITE_LEGACY(realbrk_vram_1_w) AM_BASE(m_vram_1 ) // Background (1)
AM_RANGE(0x604000, 0x604fff) AM_RAM_WRITE_LEGACY(realbrk_vram_2_w) AM_BASE(m_vram_2 ) // Text (2)
diff --git a/src/mame/drivers/relief.c b/src/mame/drivers/relief.c
index dc95f327117..11370a9dd23 100644
--- a/src/mame/drivers/relief.c
+++ b/src/mame/drivers/relief.c
@@ -161,7 +161,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, relief_state )
AM_RANGE(0x260010, 0x260011) AM_READ_LEGACY(special_port2_r)
AM_RANGE(0x260012, 0x260013) AM_READ_PORT("260012")
AM_RANGE(0x2a0000, 0x2a0001) AM_WRITE_LEGACY(watchdog_reset16_w)
- AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_WRITE_LEGACY(atarigen_666_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_WRITE_LEGACY(atarigen_666_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x3effc0, 0x3effff) AM_READWRITE_LEGACY(relief_atarivc_r, relief_atarivc_w) AM_BASE(m_atarivc_data)
AM_RANGE(0x3f0000, 0x3f1fff) AM_RAM_WRITE_LEGACY(atarigen_playfield2_latched_msb_w) AM_BASE(m_playfield2)
AM_RANGE(0x3f2000, 0x3f3fff) AM_RAM_WRITE_LEGACY(atarigen_playfield_latched_lsb_w) AM_BASE(m_playfield)
diff --git a/src/mame/drivers/renegade.c b/src/mame/drivers/renegade.c
index 90812ee4f33..edf872f8d0e 100644
--- a/src/mame/drivers/renegade.c
+++ b/src/mame/drivers/renegade.c
@@ -657,8 +657,8 @@ static ADDRESS_MAP_START( renegade_map, AS_PROGRAM, 8, renegade_state )
AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE_LEGACY(renegade_videoram2_w) AM_BASE(m_videoram2)
AM_RANGE(0x2000, 0x27ff) AM_RAM AM_BASE(m_spriteram)
AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE_LEGACY(renegade_videoram_w) AM_BASE(m_videoram)
- AM_RANGE(0x3000, 0x30ff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0x3100, 0x31ff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0x3000, 0x30ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("paletteram")
+ AM_RANGE(0x3100, 0x31ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("paletteram2")
AM_RANGE(0x3800, 0x3800) AM_READ_PORT("IN0") AM_WRITE_LEGACY(renegade_scroll0_w) /* Player#1 controls, P1,P2 start */
AM_RANGE(0x3801, 0x3801) AM_READ_PORT("IN1") AM_WRITE_LEGACY(renegade_scroll1_w) /* Player#2 controls, coin triggers */
AM_RANGE(0x3802, 0x3802) AM_READ_PORT("DSW2") AM_WRITE(sound_w) /* DIP2 various IO ports */
diff --git a/src/mame/drivers/rohga.c b/src/mame/drivers/rohga.c
index 8d685dfee6f..7c46c5d2538 100644
--- a/src/mame/drivers/rohga.c
+++ b/src/mame/drivers/rohga.c
@@ -160,7 +160,7 @@ static ADDRESS_MAP_START( rohga_map, AS_PROGRAM, 16, rohga_state )
AM_RANGE(0x3ce000, 0x3cefff) AM_MIRROR(0x1000) AM_RAM AM_BASE(m_pf4_rowscroll)
AM_RANGE(0x3d0000, 0x3d07ff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x3e0000, 0x3e1fff) AM_RAM_DEVWRITE_LEGACY("deco_common", decocomn_buffered_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x3e0000, 0x3e1fff) AM_RAM_DEVWRITE_LEGACY("deco_common", decocomn_buffered_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x3f0000, 0x3f3fff) AM_RAM /* Main ram */
ADDRESS_MAP_END
@@ -188,7 +188,7 @@ static ADDRESS_MAP_START( wizdfire_map, AS_PROGRAM, 16, rohga_state )
AM_RANGE(0x360000, 0x3607ff) AM_RAM AM_SHARE("spriteram2")
AM_RANGE(0x370000, 0x370001) AM_DEVWRITE("spriteram2", buffered_spriteram16_device, write) /* Triggers DMA for spriteram */
- AM_RANGE(0x380000, 0x381fff) AM_RAM_DEVWRITE_LEGACY("deco_common", decocomn_buffered_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x380000, 0x381fff) AM_RAM_DEVWRITE_LEGACY("deco_common", decocomn_buffered_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x390008, 0x390009) AM_DEVWRITE_LEGACY("deco_common", decocomn_palette_dma_w)
AM_RANGE(0xfe4000, 0xfe47ff) AM_READWRITE_LEGACY(deco16_104_prot_r,deco16_104_prot_w) AM_BASE_LEGACY(&deco16_prot_ram) /* Protection device */
@@ -220,7 +220,7 @@ static ADDRESS_MAP_START( nitrobal_map, AS_PROGRAM, 16, rohga_state )
AM_RANGE(0x360000, 0x3607ff) AM_RAM AM_SHARE("spriteram2")
AM_RANGE(0x370000, 0x370001) AM_DEVWRITE("spriteram2", buffered_spriteram16_device, write) /* Triggers DMA for spriteram */
- AM_RANGE(0x380000, 0x381fff) AM_RAM_DEVWRITE_LEGACY("deco_common", decocomn_buffered_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x380000, 0x381fff) AM_RAM_DEVWRITE_LEGACY("deco_common", decocomn_buffered_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x390008, 0x390009) AM_DEVWRITE_LEGACY("deco_common", decocomn_palette_dma_w)
AM_RANGE(0xfec000, 0xff3fff) AM_RAM
@@ -253,7 +253,7 @@ static ADDRESS_MAP_START( schmeisr_map, AS_PROGRAM, 16, rohga_state )
AM_RANGE(0x3ce000, 0x3cefff) AM_MIRROR(0x1000) AM_RAM AM_BASE(m_pf4_rowscroll)
AM_RANGE(0x3d0000, 0x3d07ff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x3e0000, 0x3e1fff) AM_MIRROR(0x2000) AM_RAM_DEVWRITE_LEGACY("deco_common", decocomn_buffered_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x3e0000, 0x3e1fff) AM_MIRROR(0x2000) AM_RAM_DEVWRITE_LEGACY("deco_common", decocomn_buffered_palette_w) AM_SHARE("paletteram")
AM_RANGE(0xff0000, 0xff7fff) AM_RAM /* Main ram */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/rollerg.c b/src/mame/drivers/rollerg.c
index 734c39b633f..1b586196fcb 100644
--- a/src/mame/drivers/rollerg.c
+++ b/src/mame/drivers/rollerg.c
@@ -93,7 +93,7 @@ static ADDRESS_MAP_START( rollerg_map, AS_PROGRAM, 8, rollerg_state )
AM_RANGE(0x0300, 0x030f) AM_DEVREADWRITE_LEGACY("k053244", k053244_r, k053244_w)
AM_RANGE(0x0800, 0x0fff) AM_READ(rollerg_k051316_r) AM_DEVWRITE_LEGACY("k051316", k051316_w)
AM_RANGE(0x1000, 0x17ff) AM_DEVREADWRITE_LEGACY("k053244", k053245_r, k053245_w)
- AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_be_w) AM_SHARE("paletteram")
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.c b/src/mame/drivers/rpunch.c
index 1c7a656e7fd..df52d360541 100644
--- a/src/mame/drivers/rpunch.c
+++ b/src/mame/drivers/rpunch.c
@@ -227,7 +227,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, rpunch_state )
AM_RANGE(0x040000, 0x04ffff) AM_RAM AM_BASE(m_bitmapram) AM_SIZE(m_bitmapram_size)
AM_RANGE(0x060000, 0x060fff) AM_RAM AM_BASE(m_spriteram)
AM_RANGE(0x080000, 0x083fff) AM_RAM_WRITE_LEGACY(rpunch_videoram_w) AM_BASE(m_videoram)
- AM_RANGE(0x0a0000, 0x0a07ff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0a0000, 0x0a07ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x0c0000, 0x0c0007) AM_WRITE_LEGACY(rpunch_scrollreg_w)
AM_RANGE(0x0c0008, 0x0c0009) AM_WRITE_LEGACY(rpunch_crtc_data_w)
AM_RANGE(0x0c000c, 0x0c000d) AM_WRITE_LEGACY(rpunch_videoreg_w)
diff --git a/src/mame/drivers/rungun.c b/src/mame/drivers/rungun.c
index 82dfb44aac7..0f84cbd0db2 100644
--- a/src/mame/drivers/rungun.c
+++ b/src/mame/drivers/rungun.c
@@ -181,7 +181,7 @@ static INTERRUPT_GEN(rng_interrupt)
static ADDRESS_MAP_START( rungun_map, AS_PROGRAM, 16, rungun_state )
AM_RANGE(0x000000, 0x2fffff) AM_ROM // main program + data
- AM_RANGE(0x300000, 0x3007ff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x300000, 0x3007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x380000, 0x39ffff) AM_RAM // work RAM
AM_RANGE(0x400000, 0x43ffff) AM_READNOP // AM_READ_LEGACY(K053936_0_rom_r ) // '936 ROM readback window
AM_RANGE(0x480000, 0x48001f) AM_READWRITE(rng_sysregs_r, rng_sysregs_w) AM_BASE(m_sysreg)
diff --git a/src/mame/drivers/sandscrp.c b/src/mame/drivers/sandscrp.c
index 94c18ec9d1e..a37892eab0e 100644
--- a/src/mame/drivers/sandscrp.c
+++ b/src/mame/drivers/sandscrp.c
@@ -238,7 +238,7 @@ static ADDRESS_MAP_START( sandscrp, AS_PROGRAM, 16, sandscrp_state )
AM_RANGE(0x402000, 0x402fff) AM_RAM AM_BASE(m_vscroll[1]) //
AM_RANGE(0x403000, 0x403fff) AM_RAM AM_BASE(m_vscroll[0]) //
AM_RANGE(0x500000, 0x501fff) AM_DEVREADWRITE_LEGACY("pandora", pandora_spriteram_LSB_r, pandora_spriteram_LSB_w ) // sprites
- AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE_LEGACY(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0xa00000, 0xa00001) AM_WRITE_LEGACY(sandscrp_coin_counter_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.c b/src/mame/drivers/sderby.c
index 91baf3d4fe2..4da9d1b96ca 100644
--- a/src/mame/drivers/sderby.c
+++ b/src/mame/drivers/sderby.c
@@ -286,7 +286,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_WRITE_LEGACY(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x380000, 0x380fff) AM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_SHARE("paletteram")
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
@@ -305,7 +305,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_WRITE_LEGACY(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x380000, 0x380fff) AM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_SHARE("paletteram")
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
@@ -324,7 +324,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_WRITE_LEGACY(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x380000, 0x380fff) AM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0xd00000, 0xd001ff) AM_RAM
AM_RANGE(0x800000, 0x800fff) AM_RAM AM_BASE(m_spriteram) AM_SIZE(m_spriteram_size)
AM_RANGE(0x801000, 0x80100d) AM_WRITENOP /* unknown */
@@ -346,7 +346,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_WRITE_LEGACY(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x780000, 0x780fff) AM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0xff0000, 0xff07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xffc000, 0xffffff) AM_RAM
diff --git a/src/mame/drivers/segas24.c b/src/mame/drivers/segas24.c
index 63d9f537406..ba071ad542d 100644
--- a/src/mame/drivers/segas24.c
+++ b/src/mame/drivers/segas24.c
@@ -1087,14 +1087,14 @@ WRITE16_MEMBER( segas24_state::sys16_io_w )
READ16_MEMBER( segas24_state::sys16_paletteram_r )
{
- return machine().generic.paletteram.u16[offset];
+ return m_generic_paletteram_16[offset];
}
WRITE16_MEMBER( segas24_state::sys16_paletteram_w )
{
int r, g, b;
- COMBINE_DATA (machine().generic.paletteram.u16 + offset);
- data = machine().generic.paletteram.u16[offset];
+ COMBINE_DATA (m_generic_paletteram_16 + offset);
+ data = m_generic_paletteram_16[offset];
r = (data & 0x00f) << 4;
if(data & 0x1000)
@@ -1186,7 +1186,7 @@ static ADDRESS_MAP_START( system24_cpu1_map, AS_PROGRAM, 16, segas24_state )
AM_RANGE(0x260000, 0x260001) AM_MIRROR(0x10fffe) AM_WRITENOP /* Frame trigger position (XVOUT) */
AM_RANGE(0x270000, 0x270001) AM_MIRROR(0x10fffe) AM_WRITENOP /* Synchronization mode */
AM_RANGE(0x280000, 0x29ffff) AM_MIRROR(0x160000) AM_DEVREADWRITE("tile", segas24_tile, char_r, char_w)
- AM_RANGE(0x400000, 0x403fff) AM_MIRROR(0x1f8000) AM_READWRITE(sys16_paletteram_r, sys16_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x400000, 0x403fff) AM_MIRROR(0x1f8000) AM_READWRITE(sys16_paletteram_r, sys16_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x404000, 0x40401f) AM_MIRROR(0x1fbfe0) AM_DEVREADWRITE("mixer", segas24_mixer, read, write)
AM_RANGE(0x600000, 0x63ffff) AM_MIRROR(0x180000) AM_DEVREADWRITE("sprite", segas24_sprite, read, write)
AM_RANGE(0x800000, 0x80007f) AM_MIRROR(0x1ffe00) AM_READWRITE(sys16_io_r, sys16_io_w)
@@ -1227,7 +1227,7 @@ static ADDRESS_MAP_START( system24_cpu2_map, AS_PROGRAM, 16, segas24_state )
AM_RANGE(0x260000, 0x260001) AM_MIRROR(0x10fffe) AM_WRITENOP /* Frame trigger position (XVOUT) */
AM_RANGE(0x270000, 0x270001) AM_MIRROR(0x10fffe) AM_WRITENOP /* Synchronization mode */
AM_RANGE(0x280000, 0x29ffff) AM_MIRROR(0x160000) AM_DEVREADWRITE("tile", segas24_tile, char_r, char_w)
- AM_RANGE(0x400000, 0x403fff) AM_MIRROR(0x1f8000) AM_READWRITE(sys16_paletteram_r, sys16_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x400000, 0x403fff) AM_MIRROR(0x1f8000) AM_READWRITE(sys16_paletteram_r, sys16_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x404000, 0x40401f) AM_MIRROR(0x1fbfe0) AM_DEVREADWRITE("mixer", segas24_mixer, read, write)
AM_RANGE(0x600000, 0x63ffff) AM_MIRROR(0x180000) AM_DEVREADWRITE("sprite", segas24_sprite, read, write)
AM_RANGE(0x800000, 0x80007f) AM_MIRROR(0x1ffe00) AM_READWRITE(sys16_io_r, sys16_io_w)
diff --git a/src/mame/drivers/sengokmj.c b/src/mame/drivers/sengokmj.c
index 1251eebc210..15c843ed4fb 100644
--- a/src/mame/drivers/sengokmj.c
+++ b/src/mame/drivers/sengokmj.c
@@ -121,7 +121,7 @@ static ADDRESS_MAP_START( sengokmj_map, AS_PROGRAM, 16, sengokmj_state )
AM_RANGE(0x0c800, 0x0cfff) AM_RAM_WRITE_LEGACY(seibucrtc_sc1vram_w) AM_BASE_LEGACY(&seibucrtc_sc1vram)
AM_RANGE(0x0d000, 0x0d7ff) AM_RAM_WRITE_LEGACY(seibucrtc_sc2vram_w) AM_BASE_LEGACY(&seibucrtc_sc2vram)
AM_RANGE(0x0d800, 0x0e7ff) AM_RAM_WRITE_LEGACY(seibucrtc_sc3vram_w) AM_BASE_LEGACY(&seibucrtc_sc3vram)
- AM_RANGE(0x0e800, 0x0f7ff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0e800, 0x0f7ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x0f800, 0x0ffff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xc0000, 0xfffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/senjyo.c b/src/mame/drivers/senjyo.c
index 2df5db39155..218a15ef547 100644
--- a/src/mame/drivers/senjyo.c
+++ b/src/mame/drivers/senjyo.c
@@ -123,7 +123,7 @@ WRITE8_MEMBER(senjyo_state::senjyo_paletteram_w)
int gg = g|((g!=0)?i:0);
int bb = b|((b!=0)?i:0);
- machine().generic.paletteram.u8[offset] = data;
+ m_generic_paletteram_8[offset] = data;
palette_set_color_rgb(machine(), offset, pal4bit(rr), pal4bit(gg), pal4bit(bb) );
}
@@ -133,7 +133,7 @@ static ADDRESS_MAP_START( senjyo_map, AS_PROGRAM, 8, senjyo_state )
AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE_LEGACY(senjyo_fgvideoram_w) AM_BASE(m_fgvideoram)
AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE_LEGACY(senjyo_fgcolorram_w) AM_BASE(m_fgcolorram)
AM_RANGE(0x9800, 0x987f) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0x9c00, 0x9dff) AM_RAM_WRITE(senjyo_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x9c00, 0x9dff) AM_RAM_WRITE(senjyo_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x9e00, 0x9e1f) AM_RAM AM_BASE(m_fgscroll)
AM_RANGE(0x9e20, 0x9e21) AM_RAM AM_BASE(m_scrolly3)
/* AM_RANGE(0x9e22, 0x9e23) height of the layer (Senjyo only, fixed at 0x380) */
@@ -201,7 +201,7 @@ static ADDRESS_MAP_START( starforb_map, AS_PROGRAM, 8, senjyo_state )
AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE_LEGACY(senjyo_fgvideoram_w) AM_BASE(m_fgvideoram)
AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE_LEGACY(senjyo_fgcolorram_w) AM_BASE(m_fgcolorram)
AM_RANGE(0x9800, 0x987f) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0x9c00, 0x9dff) AM_RAM_WRITE(senjyo_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x9c00, 0x9dff) AM_RAM_WRITE(senjyo_paletteram_w) AM_SHARE("paletteram")
/* The format / use of the ram here is different on the bootleg */
AM_RANGE(0x9e20, 0x9e21) AM_RAM AM_BASE(m_scrolly3)
AM_RANGE(0x9e25, 0x9e25) AM_RAM AM_BASE(m_scrollx3)
diff --git a/src/mame/drivers/seta2.c b/src/mame/drivers/seta2.c
index f4c41fbb076..39bc0cc3cfc 100644
--- a/src/mame/drivers/seta2.c
+++ b/src/mame/drivers/seta2.c
@@ -162,7 +162,7 @@ static ADDRESS_MAP_START( grdians_map, AS_PROGRAM, 16, seta2_state )
AM_RANGE(0x800000, 0x800001) AM_WRITE_LEGACY(grdians_lockout_w)
AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
- AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0xc50000, 0xc5ffff) AM_RAM // cleared
AM_RANGE(0xc60000, 0xc6003f) AM_WRITE_LEGACY(seta2_vregs_w) AM_BASE(m_vregs) // Video Registers
AM_RANGE(0xe00010, 0xe0001f) AM_WRITE_LEGACY(seta2_sound_bank_w) // Samples Banks
@@ -202,7 +202,7 @@ static ADDRESS_MAP_START( gundamex_map, AS_PROGRAM, 16, seta2_state )
AM_RANGE(0x800000, 0x800001) AM_WRITE_LEGACY(grdians_lockout_w)
AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
- AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0xc50000, 0xc5ffff) AM_RAM // cleared
AM_RANGE(0xc60000, 0xc6003f) AM_WRITE_LEGACY(seta2_vregs_w) AM_BASE(m_vregs) // Video Registers
AM_RANGE(0xe00010, 0xe0001f) AM_WRITE_LEGACY(seta2_sound_bank_w) // Samples Banks
@@ -267,7 +267,7 @@ static ADDRESS_MAP_START( mj4simai_map, AS_PROGRAM, 16, seta2_state )
AM_RANGE(0x600300, 0x60030f) AM_WRITE_LEGACY(seta2_sound_bank_w) // Samples Banks
AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
- AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0xc60000, 0xc6003f) AM_WRITE_LEGACY(seta2_vregs_w) AM_BASE(m_vregs) // Video Registers
AM_RANGE(0xfffc00, 0xffffff) AM_READWRITE_LEGACY(tmp68301_regs_r, tmp68301_regs_w) // TMP68301 Registers
ADDRESS_MAP_END
@@ -290,7 +290,7 @@ static ADDRESS_MAP_START( myangel_map, AS_PROGRAM, 16, seta2_state )
AM_RANGE(0x700310, 0x70031f) AM_WRITE_LEGACY(seta2_sound_bank_w) // Samples Banks
AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
- AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0xc60000, 0xc6003f) AM_WRITE_LEGACY(seta2_vregs_w) AM_BASE(m_vregs) // Video Registers
AM_RANGE(0xfffc00, 0xffffff) AM_READWRITE_LEGACY(tmp68301_regs_r, tmp68301_regs_w) // TMP68301 Registers
ADDRESS_MAP_END
@@ -313,7 +313,7 @@ static ADDRESS_MAP_START( myangel2_map, AS_PROGRAM, 16, seta2_state )
AM_RANGE(0x600300, 0x60030f) AM_WRITE_LEGACY(seta2_sound_bank_w) // Samples Banks
AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
AM_RANGE(0xd00000, 0xd3ffff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
- AM_RANGE(0xd40000, 0xd4ffff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0xd40000, 0xd4ffff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0xd60000, 0xd6003f) AM_WRITE_LEGACY(seta2_vregs_w) AM_BASE(m_vregs) // Video Registers
AM_RANGE(0xfffc00, 0xffffff) AM_READWRITE_LEGACY(tmp68301_regs_r, tmp68301_regs_w) // TMP68301 Registers
ADDRESS_MAP_END
@@ -357,7 +357,7 @@ static ADDRESS_MAP_START( pzlbowl_map, AS_PROGRAM, 16, seta2_state )
AM_RANGE(0x500006, 0x500007) AM_READ_LEGACY(watchdog_reset16_r) // Watchdog
AM_RANGE(0x700000, 0x700001) AM_READ_LEGACY(pzlbowl_protection_r) // Protection
AM_RANGE(0x800000, 0x83ffff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
- AM_RANGE(0x840000, 0x84ffff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x840000, 0x84ffff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x860000, 0x86003f) AM_WRITE_LEGACY(seta2_vregs_w) AM_BASE(m_vregs) // Video Registers
AM_RANGE(0x900000, 0x903fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
AM_RANGE(0xfffc00, 0xffffff) AM_READWRITE_LEGACY(tmp68301_regs_r, tmp68301_regs_w) // TMP68301 Registers
@@ -383,7 +383,7 @@ static ADDRESS_MAP_START( penbros_map, AS_PROGRAM, 16, seta2_state )
AM_RANGE(0x600006, 0x600007) AM_READ_LEGACY(watchdog_reset16_r) // Watchdog
//AM_RANGE(0x700000, 0x700001) AM_READ_LEGACY(pzlbowl_protection_r) // Protection
AM_RANGE(0xb00000, 0xb3ffff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
- AM_RANGE(0xb40000, 0xb4ffff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0xb40000, 0xb4ffff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0xb60000, 0xb6003f) AM_WRITE_LEGACY(seta2_vregs_w) AM_BASE(m_vregs)
AM_RANGE(0xa00000, 0xa03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
AM_RANGE(0xfffc00, 0xffffff) AM_READWRITE_LEGACY(tmp68301_regs_r, tmp68301_regs_w) // TMP68301 Registers
@@ -442,7 +442,7 @@ static ADDRESS_MAP_START( reelquak_map, AS_PROGRAM, 16, seta2_state )
AM_RANGE(0x400300, 0x40030f) AM_WRITE_LEGACY(seta2_sound_bank_w) // Samples Banks
AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
- AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0xc60000, 0xc6003f) AM_WRITE_LEGACY(seta2_vregs_w) AM_BASE(m_vregs) // Video Registers
AM_RANGE(0xfffd0a, 0xfffd0b) AM_WRITE_LEGACY(reelquak_leds_w ) // parallel data register (leds)
AM_RANGE(0xfffc00, 0xffffff) AM_READWRITE_LEGACY(tmp68301_regs_r, tmp68301_regs_w) // TMP68301 Registers
@@ -499,7 +499,7 @@ static ADDRESS_MAP_START( samshoot_map, AS_PROGRAM, 16, seta2_state )
AM_RANGE( 0x700006, 0x700007 ) AM_READ_LEGACY(watchdog_reset16_r ) // Watchdog?
AM_RANGE( 0x800000, 0x83ffff ) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
- AM_RANGE( 0x840000, 0x84ffff ) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE( 0x840000, 0x84ffff ) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE( 0x860000, 0x86003f ) AM_WRITE_LEGACY(seta2_vregs_w) AM_BASE(m_vregs) // Video Registers
AM_RANGE( 0x900000, 0x903fff ) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r, seta_sound_word_w ) // Sound
@@ -550,19 +550,16 @@ static READ16_HANDLER( spriteram16_word_r )
return state->m_spriteram[offset];
}
-static READ16_HANDLER( paletteram16_word_r )
+static WRITE32_HANDLER( paletteram32_dword_w )
{
- return space->machine().generic.paletteram.u16[offset];
+ seta2_state *state = space->machine().driver_data<seta2_state>();
+ COMBINE_DATA( &state->m_generic_paletteram_32[offset] );
+ if (ACCESSING_BITS_16_31)
+ state->set_color_555(offset * 2 + 0, 10+16, 5+16, 0+16, state->m_generic_paletteram_32[offset]);
+ if (ACCESSING_BITS_0_15)
+ state->set_color_555(offset * 2 + 1, 10, 5, 0, state->m_generic_paletteram_32[offset]);
}
-static READ16BETO32BE( spriteram32_dword, spriteram16_word_r );
-static WRITE16BETO32BE( spriteram32_dword, spriteram16_word_w );
-
-static READ16BETO32BE( paletteram32_dword, paletteram16_word_r );
-static WRITE16BETO32BE( paletteram32_dword, paletteram16_xRRRRRGGGGGBBBBB_word_w );
-
-static WRITE16BETO32BE( seta2_vregs_dword, seta2_vregs_w );
-
// Main CPU
// ColdFire peripherals
@@ -634,9 +631,9 @@ static ADDRESS_MAP_START( funcube_map, AS_PROGRAM, 32, seta2_state )
AM_RANGE( 0x00600000, 0x00600003 ) AM_DEVREADWRITE_LEGACY("oki", oki_read, oki_write)
- AM_RANGE( 0x00800000, 0x0083ffff ) AM_READWRITE_LEGACY(spriteram32_dword_r, spriteram32_dword_w ) AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE( 0x00840000, 0x0084ffff ) AM_READWRITE_LEGACY(paletteram32_dword_r, paletteram32_dword_w ) AM_BASE_GENERIC(paletteram)
- AM_RANGE( 0x00860000, 0x0086003f ) AM_WRITE_LEGACY(seta2_vregs_dword_w ) AM_BASE(m_vregs)
+ AM_RANGE( 0x00800000, 0x0083ffff ) AM_READWRITE16_LEGACY(spriteram16_word_r, spriteram16_word_w, 0xffffffff ) AM_BASE_SIZE(m_spriteram, m_spriteram_size)
+ AM_RANGE( 0x00840000, 0x0084ffff ) AM_RAM_WRITE_LEGACY(paletteram32_dword_w) AM_SHARE("paletteram")
+ AM_RANGE( 0x00860000, 0x0086003f ) AM_WRITE16_LEGACY(seta2_vregs_w, 0xffffffff ) AM_BASE(m_vregs)
AM_RANGE( 0x00c00000, 0x00c002ff ) AM_READWRITE_LEGACY(funcube_nvram_dword_r, funcube_nvram_dword_w )
diff --git a/src/mame/drivers/sf.c b/src/mame/drivers/sf.c
index 61c29fc235c..145e39fb36a 100644
--- a/src/mame/drivers/sf.c
+++ b/src/mame/drivers/sf.c
@@ -191,7 +191,7 @@ static WRITE8_DEVICE_HANDLER( msm5205_w )
static ADDRESS_MAP_START( sf_map, AS_PROGRAM, 16, sf_state )
AM_RANGE(0x000000, 0x04ffff) AM_ROM
AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE_LEGACY(sf_videoram_w) AM_BASE_SIZE(m_videoram, m_videoram_size)
- AM_RANGE(0xb00000, 0xb007ff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xb00000, 0xb007ff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0xc00000, 0xc00001) AM_READ_PORT("COINS")
AM_RANGE(0xc00002, 0xc00003) AM_READ_PORT("IN0")
AM_RANGE(0xc00004, 0xc00005) AM_READ(button1_r)
@@ -213,7 +213,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sfus_map, AS_PROGRAM, 16, sf_state )
AM_RANGE(0x000000, 0x04ffff) AM_ROM
AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE_LEGACY(sf_videoram_w) AM_BASE_SIZE(m_videoram, m_videoram_size)
- AM_RANGE(0xb00000, 0xb007ff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xb00000, 0xb007ff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0xc00000, 0xc00001) AM_READ_PORT("IN0")
AM_RANGE(0xc00002, 0xc00003) AM_READ_PORT("IN1")
AM_RANGE(0xc00004, 0xc00005) AM_READ(dummy_r)
@@ -235,7 +235,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sfjp_map, AS_PROGRAM, 16, sf_state )
AM_RANGE(0x000000, 0x04ffff) AM_ROM
AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE_LEGACY(sf_videoram_w) AM_BASE_SIZE(m_videoram, m_videoram_size)
- AM_RANGE(0xb00000, 0xb007ff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xb00000, 0xb007ff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0xc00000, 0xc00001) AM_READ_PORT("COINS")
AM_RANGE(0xc00002, 0xc00003) AM_READ_PORT("P1")
AM_RANGE(0xc00004, 0xc00005) AM_READ_PORT("P2")
diff --git a/src/mame/drivers/shadfrce.c b/src/mame/drivers/shadfrce.c
index 96907a595b8..cecfa5de67d 100644
--- a/src/mame/drivers/shadfrce.c
+++ b/src/mame/drivers/shadfrce.c
@@ -369,7 +369,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_LEGACY(shadfrce_fgvideoram_w) AM_BASE(m_fgvideoram)
AM_RANGE(0x142000, 0x143fff) AM_RAM AM_BASE(m_spvideoram) AM_SIZE(m_spvideoram_size) /* sprites */
- AM_RANGE(0x180000, 0x187fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x180000, 0x187fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x1c0000, 0x1c0001) AM_WRITE_LEGACY(shadfrce_bg0scrollx_w) /* SCROLL X */
AM_RANGE(0x1c0002, 0x1c0003) AM_WRITE_LEGACY(shadfrce_bg0scrolly_w) /* SCROLL Y */
AM_RANGE(0x1c0004, 0x1c0005) AM_WRITE_LEGACY(shadfrce_bg1scrollx_w) /* SCROLL X */
diff --git a/src/mame/drivers/shangha3.c b/src/mame/drivers/shangha3.c
index 666a19bef5a..52316f46dd0 100644
--- a/src/mame/drivers/shangha3.c
+++ b/src/mame/drivers/shangha3.c
@@ -118,7 +118,7 @@ WRITE16_MEMBER(shangha3_state::heberpop_sound_command_w)
static ADDRESS_MAP_START( shangha3_map, AS_PROGRAM, 16, shangha3_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x200000, 0x200001) AM_READ_PORT("INPUTS")
AM_RANGE(0x200002, 0x200003) AM_READ_PORT("SYSTEM")
AM_RANGE(0x200008, 0x200009) AM_WRITE_LEGACY(shangha3_blitter_go_w)
@@ -136,7 +136,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_WRITE_LEGACY(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x200000, 0x200001) AM_READ_PORT("INPUTS")
AM_RANGE(0x200002, 0x200003) AM_READ_PORT("SYSTEM")
AM_RANGE(0x200004, 0x200005) AM_READ_PORT("DSW")
@@ -159,7 +159,7 @@ static ADDRESS_MAP_START( blocken_map, AS_PROGRAM, 16, shangha3_state )
AM_RANGE(0x10000a, 0x10000b) AM_WRITENOP /* irq ack? */
AM_RANGE(0x10000c, 0x10000d) AM_WRITE(blocken_coinctrl_w)
AM_RANGE(0x10000e, 0x10000f) AM_WRITE(heberpop_sound_command_w)
- AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x300000, 0x30ffff) AM_RAM AM_BASE_SIZE(m_ram, m_ram_size) /* gfx & work ram */
AM_RANGE(0x340000, 0x340001) AM_WRITE_LEGACY(shangha3_flipscreen_w)
AM_RANGE(0x360000, 0x360001) AM_WRITE_LEGACY(shangha3_gfxlist_addr_w)
diff --git a/src/mame/drivers/shanghai.c b/src/mame/drivers/shanghai.c
index 8139f382fb2..1cc5787e5ca 100644
--- a/src/mame/drivers/shanghai.c
+++ b/src/mame/drivers/shanghai.c
@@ -142,7 +142,7 @@ 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_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x04000, 0x041ff) AM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x80000, 0xfffff) AM_ROM
ADDRESS_MAP_END
@@ -181,7 +181,7 @@ static ADDRESS_MAP_START( kothello_map, AS_PROGRAM, 16, shanghai_state )
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_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0a000, 0x0a1ff) AM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x0b010, 0x0b01f) AM_READWRITE_LEGACY(seibu_main_word_r, seibu_main_word_w)
AM_RANGE(0x80000, 0xfffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/shuuz.c b/src/mame/drivers/shuuz.c
index 3beff6b5ee8..217cd8d25ef 100644
--- a/src/mame/drivers/shuuz.c
+++ b/src/mame/drivers/shuuz.c
@@ -148,7 +148,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, shuuz_state )
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, 0x3e087f) AM_RAM_WRITE_LEGACY(atarigen_666_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x3e0000, 0x3e087f) AM_RAM_WRITE_LEGACY(atarigen_666_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x3effc0, 0x3effff) AM_READWRITE_LEGACY(shuuz_atarivc_r, shuuz_atarivc_w) AM_BASE(m_atarivc_data)
AM_RANGE(0x3f4000, 0x3f5eff) AM_RAM_WRITE_LEGACY(atarigen_playfield_latched_msb_w) AM_BASE(m_playfield)
AM_RANGE(0x3f5f00, 0x3f5f7f) AM_RAM AM_BASE(m_atarivc_eof_data)
diff --git a/src/mame/drivers/sidearms.c b/src/mame/drivers/sidearms.c
index d2b993a89bf..73e2c00b220 100644
--- a/src/mame/drivers/sidearms.c
+++ b/src/mame/drivers/sidearms.c
@@ -72,8 +72,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_WRITE_LEGACY(paletteram_xxxxBBBBRRRRGGGG_split1_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0xc400, 0xc7ff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBRRRRGGGG_split2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0xc000, 0xc3ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split1_w) AM_SHARE("paletteram")
+ AM_RANGE(0xc400, 0xc7ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split2_w) AM_SHARE("paletteram2")
AM_RANGE(0xc800, 0xc800) AM_READ_PORT("SYSTEM") AM_WRITE_LEGACY(soundlatch_w)
AM_RANGE(0xc801, 0xc801) AM_READ_PORT("P1") AM_WRITE(sidearms_bankswitch_w)
AM_RANGE(0xc802, 0xc802) AM_READ_PORT("P2") AM_WRITE_LEGACY(watchdog_reset_w)
@@ -95,8 +95,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_WRITE_LEGACY(paletteram_xxxxBBBBRRRRGGGG_split1_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0xe400, 0xe7ff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBRRRRGGGG_split2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split1_w) AM_SHARE("paletteram")
+ AM_RANGE(0xe400, 0xe7ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split2_w) AM_SHARE("paletteram2")
AM_RANGE(0xe800, 0xe807) AM_READ(turtship_ports_r)
AM_RANGE(0xe800, 0xe800) AM_WRITE_LEGACY(soundlatch_w)
AM_RANGE(0xe801, 0xe801) AM_WRITE(sidearms_bankswitch_w)
@@ -142,8 +142,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_WRITE_LEGACY(paletteram_xxxxBBBBRRRRGGGG_split1_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0xc400, 0xc7ff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBRRRRGGGG_split2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0xc000, 0xc3ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split1_w) AM_SHARE("paletteram")
+ AM_RANGE(0xc400, 0xc7ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split2_w) AM_SHARE("paletteram2")
AM_RANGE(0xc800, 0xc800) AM_READ_PORT("DSW0") AM_WRITE_LEGACY(soundlatch_w)
AM_RANGE(0xc801, 0xc801) AM_READ_PORT("DSW1") AM_WRITE(whizz_bankswitch_w)
AM_RANGE(0xc802, 0xc802) AM_READ_PORT("DSW2") AM_WRITE_LEGACY(watchdog_reset_w)
diff --git a/src/mame/drivers/sigmab98.c b/src/mame/drivers/sigmab98.c
index 88624421f3e..12c607f3869 100644
--- a/src/mame/drivers/sigmab98.c
+++ b/src/mame/drivers/sigmab98.c
@@ -491,7 +491,7 @@ static ADDRESS_MAP_START( gegege_mem_map, AS_PROGRAM, 8, sigmab98_state )
AM_RANGE( 0xa000, 0xafff ) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE( 0xc000, 0xc1ff ) AM_RAM_WRITE_LEGACY(paletteram_xRRRRRGGGGGBBBBB_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE( 0xc000, 0xc1ff ) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_be_w) AM_SHARE("paletteram")
AM_RANGE( 0xc800, 0xc87f ) AM_RAM
@@ -737,7 +737,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_WRITE_LEGACY(paletteram_xRRRRRGGGGGBBBBB_be_w ) AM_BASE_GENERIC( paletteram )
+ AM_RANGE( 0xd000, 0xd1ff ) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_be_w ) AM_SHARE("paletteram")
AM_RANGE( 0xd800, 0xd87f ) AM_RAM // table?
AM_RANGE( 0xe011, 0xe011 ) AM_WRITENOP // IRQ Enable? Screen disable?
@@ -905,7 +905,7 @@ READ8_MEMBER(sigmab98_state::haekaka_b000_r)
case 0x67: // PALETTERAM + TABLE? + REGS
if (offset < 0x200)
- return machine().generic.paletteram.u8[offset];
+ return m_generic_paletteram_8[offset];
else if (offset == (0xc013-0xb000))
return haekaka_vblank_r(space, offset);
break;
@@ -931,7 +931,7 @@ WRITE8_MEMBER(sigmab98_state::haekaka_b000_w)
if (offset < 0x200)
{
paletteram_xRRRRRGGGGGBBBBB_be_w(space, offset, data);
-// machine().generic.paletteram.u8[offset] = data;
+// m_generic_paletteram_8[offset] = data;
return;
}
else if ((offset >= 0x800) && (offset < 0x880))
@@ -1139,7 +1139,7 @@ WRITE8_MEMBER(sigmab98_state::itazuram_rambank_w)
switch (data)
{
case 0x52: memory_set_bankptr(machine(), "palbank", m_nvram); break;
- case 0x64: memory_set_bankptr(machine(), "palbank", machine().generic.paletteram.u8); break;
+ case 0x64: memory_set_bankptr(machine(), "palbank", m_generic_paletteram_8); break;
default:
logerror("%s: unknown ram bank = %02x, reg2 = %02x\n", machine().describe_context(), data, m_reg2);
return;
@@ -1172,7 +1172,7 @@ WRITE8_MEMBER(sigmab98_state::itazuram_nvram_palette_w)
if (m_rambank == 0x64)
{
paletteram_xRRRRRGGGGGBBBBB_be_w(space, offset, data);
-// machine().generic.paletteram.u8[offset] = data;
+// m_generic_paletteram_8[offset] = data;
}
else if (m_rambank == 0x52)
{
@@ -1190,7 +1190,7 @@ WRITE8_MEMBER(sigmab98_state::itazuram_palette_w)
{
if (offset < 0x200)
paletteram_xRRRRRGGGGGBBBBB_be_w(space, offset, data);
-// machine().generic.paletteram.u8[offset] = data;
+// m_generic_paletteram_8[offset] = data;
}
else
{
@@ -1199,7 +1199,7 @@ WRITE8_MEMBER(sigmab98_state::itazuram_palette_w)
}
READ8_MEMBER(sigmab98_state::itazuram_palette_r)
{
- return machine().generic.paletteram.u8[offset];
+ return m_generic_paletteram_8[offset];
}
static ADDRESS_MAP_START( itazuram_map, AS_PROGRAM, 8, sigmab98_state )
@@ -1381,7 +1381,7 @@ READ8_MEMBER(sigmab98_state::tdoboon_c000_r)
case 0x66: // PALETTERAM + TABLE?
if (offset < 0x200)
- return machine().generic.paletteram.u8[offset];
+ return m_generic_paletteram_8[offset];
break;
case 0x67: // REGS
@@ -1410,7 +1410,7 @@ WRITE8_MEMBER(sigmab98_state::tdoboon_c000_w)
if (offset < 0x200)
{
paletteram_xRRRRRGGGGGBBBBB_be_w(space, offset, data);
-// machine().generic.paletteram.u8[offset] = data;
+// m_generic_paletteram_8[offset] = data;
return;
}
else if ((offset >= 0x800) && (offset < 0x880))
@@ -2155,9 +2155,9 @@ static DRIVER_INIT( itazuram )
state->m_rombank = 0x0f;
// RAM banks
- machine.generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x3000);
- memset(machine.generic.paletteram.u8, 0, 0x3000);
- memory_set_bankptr(machine, "palbank", machine.generic.paletteram.u8);
+ state->m_generic_paletteram_8.allocate(0x3000);
+ memset(state->m_generic_paletteram_8, 0, 0x3000);
+ memory_set_bankptr(machine, "palbank", state->m_generic_paletteram_8);
state->m_rambank = 0x64;
state->m_spriteram = auto_alloc_array(machine, UINT8, 0x1000 * 5);
@@ -2269,8 +2269,8 @@ static DRIVER_INIT( haekaka )
{
sigmab98_state *state = machine.driver_data<sigmab98_state>();
// RAM banks
- machine.generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x200);
- memset(machine.generic.paletteram.u8, 0, 0x200);
+ state->m_generic_paletteram_8.allocate(0x200);
+ memset(state->m_generic_paletteram_8, 0, 0x200);
state->m_spriteram = auto_alloc_array(machine, UINT8, 0x1000);
memset(state->m_spriteram, 0, 0x1000);
diff --git a/src/mame/drivers/silkroad.c b/src/mame/drivers/silkroad.c
index b71cbc1d937..1d6de3e6a47 100644
--- a/src/mame/drivers/silkroad.c
+++ b/src/mame/drivers/silkroad.c
@@ -129,8 +129,8 @@ ROM15.BIN MX29F1610, SOP44 Surface Mounted Mask ROM /
WRITE32_MEMBER(silkroad_state::paletteram32_xRRRRRGGGGGBBBBB_dword_w)
{
- COMBINE_DATA(&machine().generic.paletteram.u32[offset]);
- palette_set_color_rgb(machine(),offset,pal5bit(machine().generic.paletteram.u32[offset] >> (10+16)),pal5bit(machine().generic.paletteram.u32[offset] >> (5+16)),pal5bit(machine().generic.paletteram.u32[offset] >> (0+16)));
+ COMBINE_DATA(&m_generic_paletteram_32[offset]);
+ palette_set_color_rgb(machine(),offset,pal5bit(m_generic_paletteram_32[offset] >> (10+16)),pal5bit(m_generic_paletteram_32[offset] >> (5+16)),pal5bit(m_generic_paletteram_32[offset] >> (0+16)));
}
static WRITE32_DEVICE_HANDLER(silk_6295_bank_w)
@@ -155,7 +155,7 @@ WRITE32_MEMBER(silkroad_state::silk_coin_counter_w)
static ADDRESS_MAP_START( cpu_map, AS_PROGRAM, 32, silkroad_state )
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x40c000, 0x40cfff) AM_RAM AM_BASE(m_sprram) // sprites
- AM_RANGE(0x600000, 0x603fff) AM_RAM_WRITE(paletteram32_xRRRRRGGGGGBBBBB_dword_w) AM_BASE_GENERIC(paletteram) // palette
+ AM_RANGE(0x600000, 0x603fff) AM_RAM_WRITE(paletteram32_xRRRRRGGGGGBBBBB_dword_w) AM_SHARE("paletteram") // palette
AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE_LEGACY(silkroad_fgram_w) AM_BASE(m_vidram) // lower Layer
AM_RANGE(0x804000, 0x807fff) AM_RAM_WRITE_LEGACY(silkroad_fgram2_w) AM_BASE(m_vidram2) // mid layer
AM_RANGE(0x808000, 0x80bfff) AM_RAM_WRITE_LEGACY(silkroad_fgram3_w) AM_BASE(m_vidram3) // higher layer
diff --git a/src/mame/drivers/simpl156.c b/src/mame/drivers/simpl156.c
index 9b424d76cc3..04644410de3 100644
--- a/src/mame/drivers/simpl156.c
+++ b/src/mame/drivers/simpl156.c
@@ -138,7 +138,7 @@ READ32_MEMBER(simpl156_state::simpl156_inputs_read)
READ32_MEMBER(simpl156_state::simpl156_palette_r)
{
- return machine().generic.paletteram.u16[offset]^0xffff0000;
+ return m_generic_paletteram_16[offset]^0xffff0000;
}
WRITE32_MEMBER(simpl156_state::simpl156_palette_w)
@@ -149,10 +149,10 @@ WRITE32_MEMBER(simpl156_state::simpl156_palette_w)
data &= 0x0000ffff;
mem_mask &= 0x0000ffff;
- COMBINE_DATA(&machine().generic.paletteram.u16[offset]);
+ COMBINE_DATA(&m_generic_paletteram_16[offset]);
color = offset;
- dat = machine().generic.paletteram.u16[offset] & 0xffff;
+ dat = m_generic_paletteram_16[offset] & 0xffff;
palette_set_color_rgb(machine(),color,pal5bit(dat >> 0),pal5bit(dat >> 5),pal5bit(dat >> 10));
}
diff --git a/src/mame/drivers/skullxbo.c b/src/mame/drivers/skullxbo.c
index b7b0ec8e54e..27e486d406d 100644
--- a/src/mame/drivers/skullxbo.c
+++ b/src/mame/drivers/skullxbo.c
@@ -141,7 +141,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, skullxbo_state )
AM_RANGE(0xff1e80, 0xff1eff) AM_WRITE_LEGACY(skullxbo_xscroll_w)
AM_RANGE(0xff1f00, 0xff1f7f) AM_WRITE_LEGACY(atarigen_scanline_int_ack_w)
AM_RANGE(0xff1f80, 0xff1fff) AM_WRITE_LEGACY(watchdog_reset16_w)
- AM_RANGE(0xff2000, 0xff2fff) AM_RAM_WRITE_LEGACY(atarigen_666_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xff2000, 0xff2fff) AM_RAM_WRITE_LEGACY(atarigen_666_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0xff4000, 0xff47ff) AM_WRITE_LEGACY(skullxbo_yscroll_w) AM_BASE(m_yscroll)
AM_RANGE(0xff4800, 0xff4fff) AM_WRITE_LEGACY(skullxbo_mobwr_w)
AM_RANGE(0xff6000, 0xff6fff) AM_WRITE_LEGACY(atarigen_eeprom_w) AM_SHARE("eeprom")
diff --git a/src/mame/drivers/skylncr.c b/src/mame/drivers/skylncr.c
index a90d19ecc53..4f7183bf061 100644
--- a/src/mame/drivers/skylncr.c
+++ b/src/mame/drivers/skylncr.c
@@ -255,11 +255,11 @@ WRITE8_MEMBER(skylncr_state::skylncr_paletteram_w)
else
{
int r,g,b;
- machine().generic.paletteram.u8[m_color] = data;
+ m_generic_paletteram_8[m_color] = data;
- r = machine().generic.paletteram.u8[(m_color/3 * 3) + 0];
- g = machine().generic.paletteram.u8[(m_color/3 * 3) + 1];
- b = machine().generic.paletteram.u8[(m_color/3 * 3) + 2];
+ r = m_generic_paletteram_8[(m_color/3 * 3) + 0];
+ g = m_generic_paletteram_8[(m_color/3 * 3) + 1];
+ b = m_generic_paletteram_8[(m_color/3 * 3) + 2];
r = (r << 2) | (r >> 4);
g = (g << 2) | (g >> 4);
b = (b << 2) | (b >> 4);
@@ -279,11 +279,11 @@ WRITE8_MEMBER(skylncr_state::skylncr_paletteram2_w)
else
{
int r,g,b;
- machine().generic.paletteram2.u8[m_color2] = data;
+ m_generic_paletteram2_8[m_color2] = data;
- r = machine().generic.paletteram2.u8[(m_color2/3 * 3) + 0];
- g = machine().generic.paletteram2.u8[(m_color2/3 * 3) + 1];
- b = machine().generic.paletteram2.u8[(m_color2/3 * 3) + 2];
+ r = m_generic_paletteram2_8[(m_color2/3 * 3) + 0];
+ g = m_generic_paletteram2_8[(m_color2/3 * 3) + 1];
+ b = m_generic_paletteram2_8[(m_color2/3 * 3) + 2];
r = (r << 2) | (r >> 4);
g = (g << 2) | (g >> 4);
b = (b << 2) | (b >> 4);
@@ -858,8 +858,9 @@ ROM_END
static DRIVER_INIT( skylncr )
{
- machine.generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x100 * 3);
- machine.generic.paletteram2.u8 = auto_alloc_array(machine, UINT8, 0x100 * 3);
+ skylncr_state *state = machine.driver_data<skylncr_state>();
+ state->m_generic_paletteram_8.allocate(0x100 * 3);
+ state->m_generic_paletteram2_8.allocate(0x100 * 3);
}
diff --git a/src/mame/drivers/snowbros.c b/src/mame/drivers/snowbros.c
index 0bfe4510846..3b57f629ea7 100644
--- a/src/mame/drivers/snowbros.c
+++ b/src/mame/drivers/snowbros.c
@@ -204,7 +204,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_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x600000, 0x6001ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x700000, 0x701fff) AM_DEVREADWRITE_LEGACY("pandora", pandora_spriteram_LSB_r, pandora_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 */
@@ -286,7 +286,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_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x600000, 0x6001ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x700000, 0x701fff) AM_RAM AM_BASE_SIZE(m_bootleg_spriteram16, m_spriteram_size)
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 */
@@ -307,7 +307,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_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xa00000, 0xa007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0xb00000, 0xb01fff) AM_RAM AM_BASE_SIZE(m_bootleg_spriteram16, m_spriteram_size)
ADDRESS_MAP_END
@@ -344,7 +344,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_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x600000, 0x6001ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x700000, 0x701fff) AM_RAM AM_BASE_SIZE(m_bootleg_spriteram16, m_spriteram_size)
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 */
@@ -384,7 +384,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_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x600000, 0x6001ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x700000, 0x701fff) AM_DEVREADWRITE_LEGACY("pandora", pandora_spriteram_LSB_r,pandora_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 */
@@ -519,7 +519,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_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC (paletteram)
+ AM_RANGE( 0x600000, 0x6003ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE( 0x700000, 0x7021ff) AM_RAM AM_BASE_SIZE(m_bootleg_spriteram16, m_spriteram_size)
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 */
@@ -538,7 +538,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_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x600000, 0x6001ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x700000, 0x701fff) AM_DEVREADWRITE_LEGACY("pandora", pandora_spriteram_LSB_r, pandora_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 */
diff --git a/src/mame/drivers/solomon.c b/src/mame/drivers/solomon.c
index a2c7f28765b..4d09c7011af 100644
--- a/src/mame/drivers/solomon.c
+++ b/src/mame/drivers/solomon.c
@@ -52,7 +52,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, solomon_state )
AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE_LEGACY(solomon_colorram2_w) AM_BASE(m_colorram2)
AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE_LEGACY(solomon_videoram2_w) AM_BASE(m_videoram2)
AM_RANGE(0xe000, 0xe07f) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0xe400, 0xe5ff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xe400, 0xe5ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_SHARE("paletteram")
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.c b/src/mame/drivers/spbactn.c
index 6b7c9d9d88f..1e0eecf8feb 100644
--- a/src/mame/drivers/spbactn.c
+++ b/src/mame/drivers/spbactn.c
@@ -146,7 +146,7 @@ static ADDRESS_MAP_START( spbactn_map, AS_PROGRAM, 16, spbactn_state )
AM_RANGE(0x50000, 0x50fff) AM_RAM AM_BASE(m_spvideoram)
AM_RANGE(0x60000, 0x67fff) AM_RAM AM_BASE(m_fgvideoram)
AM_RANGE(0x70000, 0x77fff) AM_RAM AM_BASE(m_bgvideoram)
- AM_RANGE(0x80000, 0x827ff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x80000, 0x827ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x90000, 0x90001) AM_READ_PORT("IN0")
AM_RANGE(0x90010, 0x90011) AM_READ_PORT("IN1")
AM_RANGE(0x90020, 0x90021) AM_READ_PORT("SYSTEM")
diff --git a/src/mame/drivers/speedbal.c b/src/mame/drivers/speedbal.c
index 62fcc0a36df..eafb262cc38 100644
--- a/src/mame/drivers/speedbal.c
+++ b/src/mame/drivers/speedbal.c
@@ -69,7 +69,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_LEGACY(speedbal_background_videoram_w) AM_BASE(m_background_videoram)
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE_LEGACY(speedbal_foreground_videoram_w) AM_BASE(m_foreground_videoram)
- AM_RANGE(0xf000, 0xf5ff) AM_RAM_WRITE_LEGACY(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf000, 0xf5ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_SHARE("paletteram")
AM_RANGE(0xf600, 0xfeff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xff00, 0xffff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/speedspn.c b/src/mame/drivers/speedspn.c
index e51c7acec37..6b01f649c1b 100644
--- a/src/mame/drivers/speedspn.c
+++ b/src/mame/drivers/speedspn.c
@@ -107,7 +107,7 @@ static WRITE8_DEVICE_HANDLER( oki_banking_w )
static ADDRESS_MAP_START( speedspn_map, AS_PROGRAM, 8, speedspn_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE_LEGACY(paletteram_xxxxRRRRGGGGBBBB_le_w) AM_BASE_GENERIC(paletteram) /* RAM COLOUR */
+ AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_le_w) AM_SHARE("paletteram") /* RAM COLOUR */
AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE_LEGACY(speedspn_attram_w) AM_BASE(m_attram)
AM_RANGE(0x9000, 0x9fff) AM_READWRITE_LEGACY(speedspn_vidram_r,speedspn_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.c b/src/mame/drivers/splash.c
index eb4444d9fd9..3f6324a578f 100644
--- a/src/mame/drivers/splash.c
+++ b/src/mame/drivers/splash.c
@@ -100,7 +100,7 @@ static ADDRESS_MAP_START( splash_map, AS_PROGRAM, 16, splash_state )
AM_RANGE(0x880000, 0x8817ff) AM_RAM_WRITE_LEGACY(splash_vram_w) AM_BASE(m_videoram) /* Video RAM */
AM_RANGE(0x881800, 0x881803) AM_RAM AM_BASE(m_vregs) /* Scroll registers */
AM_RANGE(0x881804, 0x881fff) AM_RAM /* Work RAM */
- AM_RANGE(0x8c0000, 0x8c0fff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)/* Palette is xRRRRxGGGGxBBBBx */
+ AM_RANGE(0x8c0000, 0x8c0fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")/* Palette is xRRRRxGGGGxBBBBx */
AM_RANGE(0x900000, 0x900fff) AM_RAM AM_BASE(m_spriteram) /* Sprite RAM */
AM_RANGE(0xffc000, 0xffffff) AM_RAM /* Work RAM */
ADDRESS_MAP_END
@@ -179,7 +179,7 @@ static ADDRESS_MAP_START( roldfrog_map, AS_PROGRAM, 16, splash_state )
AM_RANGE(0x880000, 0x8817ff) AM_RAM_WRITE_LEGACY(splash_vram_w) AM_BASE(m_videoram) /* Video RAM */
AM_RANGE(0x881800, 0x881803) AM_RAM AM_BASE(m_vregs) /* Scroll registers */
AM_RANGE(0x881804, 0x881fff) AM_RAM /* Work RAM */
- AM_RANGE(0x8c0000, 0x8c0fff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)/* Palette is xRRRRxGGGGxBBBBx */
+ AM_RANGE(0x8c0000, 0x8c0fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")/* Palette is xRRRRxGGGGxBBBBx */
AM_RANGE(0xa00000, 0xa00001) AM_READ(roldfrog_bombs_r)
AM_RANGE(0xd00000, 0xd00fff) AM_RAM AM_BASE(m_spriteram) /* Sprite RAM */
AM_RANGE(0xe00000, 0xe00001) AM_WRITEONLY AM_BASE(m_bitmap_mode) /* Bitmap Mode? */
@@ -240,7 +240,7 @@ static ADDRESS_MAP_START( funystrp_map, AS_PROGRAM, 16, splash_state )
AM_RANGE(0x880000, 0x8817ff) AM_RAM_WRITE_LEGACY(splash_vram_w) AM_BASE(m_videoram) /* Video RAM */
AM_RANGE(0x881800, 0x881803) AM_RAM AM_BASE(m_vregs) /* Scroll registers */
AM_RANGE(0x881804, 0x881fff) AM_WRITENOP
- AM_RANGE(0x8c0000, 0x8c0fff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)/* Palette is xRRRRxGGGGxBBBBx */
+ AM_RANGE(0x8c0000, 0x8c0fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")/* Palette is xRRRRxGGGGxBBBBx */
AM_RANGE(0xd00000, 0xd01fff) AM_READWRITE(spr_read, spr_write) AM_BASE(m_spriteram) /* Sprite RAM */
AM_RANGE(0xfe0000, 0xffffff) AM_RAM AM_MASK(0xffff) /* there's fe0000 <-> ff0000 compare */ /* Work RAM */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/spoker.c b/src/mame/drivers/spoker.c
index 2e70f5ef8b8..43a81d162ed 100644
--- a/src/mame/drivers/spoker.c
+++ b/src/mame/drivers/spoker.c
@@ -226,8 +226,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_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_BASE_GENERIC( paletteram )
- AM_RANGE( 0x2400, 0x27ff ) AM_RAM_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_BASE_GENERIC( paletteram2 )
+ AM_RANGE( 0x2000, 0x23ff ) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_SHARE("paletteram")
+ AM_RANGE( 0x2400, 0x27ff ) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_SHARE("paletteram2")
AM_RANGE( 0x3000, 0x33ff ) AM_RAM_WRITE(bg_tile_w ) AM_BASE(m_bg_tile_ram )
@@ -257,8 +257,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_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_BASE_GENERIC( paletteram )
- AM_RANGE( 0x2800, 0x2fff ) AM_RAM_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_BASE_GENERIC( paletteram2 )
+ AM_RANGE( 0x2000, 0x27ff ) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_SHARE("paletteram")
+ AM_RANGE( 0x2800, 0x2fff ) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_SHARE("paletteram2")
AM_RANGE( 0x3000, 0x33ff ) AM_RAM_WRITE(bg_tile_w ) AM_BASE(m_bg_tile_ram )
diff --git a/src/mame/drivers/spool99.c b/src/mame/drivers/spool99.c
index f9d7fb3c0f2..63ee71fb1e1 100644
--- a/src/mame/drivers/spool99.c
+++ b/src/mame/drivers/spool99.c
@@ -217,7 +217,7 @@ static ADDRESS_MAP_START( spool99_map, AS_PROGRAM, 8, spool99_state )
AM_RANGE(0xafef, 0xafef) AM_DEVWRITE_LEGACY("eeprom", eeprom_dataline_w )
AM_RANGE(0xaff8, 0xaff8) AM_DEVWRITE("oki", okim6295_device, write)
- AM_RANGE(0xb000, 0xb3ff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xb000, 0xb3ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_SHARE("paletteram")
AM_RANGE(0xb800, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(spool99_vram_w) AM_BASE(m_vram)
@@ -263,7 +263,7 @@ static ADDRESS_MAP_START( vcarn_map, AS_PROGRAM, 8, spool99_state )
AM_RANGE(0xa747, 0xa747) AM_DEVWRITE_LEGACY("eeprom", eeprom_dataline_w )
AM_RANGE(0xa780, 0xa780) AM_DEVWRITE("oki", okim6295_device, write)
- AM_RANGE(0xa800, 0xabff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xa800, 0xabff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_SHARE("paletteram")
AM_RANGE(0xb000, 0xdfff) AM_RAM
// AM_RANGE(0xdf00, 0xdfff) AM_READWRITE(vcarn_io_r,vcarn_io_w) AM_BASE_LEGACY(&vcarn_io)
diff --git a/src/mame/drivers/spy.c b/src/mame/drivers/spy.c
index 8bdd6ffc1fd..63cc249ebdb 100644
--- a/src/mame/drivers/spy.c
+++ b/src/mame/drivers/spy.c
@@ -39,7 +39,7 @@ READ8_MEMBER(spy_state::spy_bankedram1_r)
if (m_rambank & 1)
{
- return machine().generic.paletteram.u8[offset];
+ return m_generic_paletteram_8[offset];
}
else if (m_rambank & 2)
{
@@ -502,7 +502,7 @@ static MACHINE_START( spy )
memory_configure_bank(machine, "bank1", 0, 12, &ROM[0x10000], 0x2000);
- machine.generic.paletteram.u8 = auto_alloc_array_clear(machine, UINT8, 0x800);
+ state->m_generic_paletteram_8.allocate(0x800);
memset(state->m_pmcram, 0, sizeof(state->m_pmcram));
state->m_maincpu = machine.device("maincpu");
@@ -516,7 +516,6 @@ static MACHINE_START( spy )
state->save_item(NAME(state->m_pmcbank));
state->save_item(NAME(state->m_video_enable));
state->save_item(NAME(state->m_old_3f90));
- state->save_pointer(NAME(machine.generic.paletteram.u8), 0x800);
state->save_item(NAME(state->m_pmcram));
}
diff --git a/src/mame/drivers/srmp2.c b/src/mame/drivers/srmp2.c
index bf288e6d0b3..52bd77479f1 100644
--- a/src/mame/drivers/srmp2.c
+++ b/src/mame/drivers/srmp2.c
@@ -428,7 +428,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_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x700000, 0x7003ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
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/srmp6.c b/src/mame/drivers/srmp6.c
index add0432f304..e22fd73c10a 100644
--- a/src/mame/drivers/srmp6.c
+++ b/src/mame/drivers/srmp6.c
@@ -124,9 +124,9 @@ static void update_palette(running_machine &machine)
for(i = 0; i < 0x800; i++)
{
- r = machine.generic.paletteram.u16[i] >> 0 & 0x1F;
- g = machine.generic.paletteram.u16[i] >> 5 & 0x1F;
- b = machine.generic.paletteram.u16[i] >> 10 & 0x1F;
+ r = state->m_generic_paletteram_16[i] >> 0 & 0x1F;
+ g = state->m_generic_paletteram_16[i] >> 5 & 0x1F;
+ b = state->m_generic_paletteram_16[i] >> 10 & 0x1F;
if(brg < 0) {
r += (r * brg) >> 5;
@@ -547,7 +547,7 @@ static ADDRESS_MAP_START( srmp6_map, AS_PROGRAM, 16, srmp6_state )
AM_RANGE(0x800000, 0x9fffff) AM_ROM AM_REGION("user1", 0)
AM_RANGE(0x300000, 0x300005) AM_READWRITE(srmp6_inputs_r, srmp6_input_select_w) // inputs
- AM_RANGE(0x480000, 0x480fff) AM_RAM_WRITE(paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x480000, 0x480fff) AM_RAM_WRITE(paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x4d0000, 0x4d0001) AM_READ(srmp6_irq_ack_r)
// OBJ RAM: checked [$400000-$47dfff]
diff --git a/src/mame/drivers/srumbler.c b/src/mame/drivers/srumbler.c
index 2ae33855684..a6beb5d1950 100644
--- a/src/mame/drivers/srumbler.c
+++ b/src/mame/drivers/srumbler.c
@@ -88,7 +88,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_WRITE_LEGACY(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x7000, 0x73ff) AM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_SHARE("paletteram")
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.c b/src/mame/drivers/sslam.c
index f46a07af0b2..913fa2bf2cf 100644
--- a/src/mame/drivers/sslam.c
+++ b/src/mame/drivers/sslam.c
@@ -388,7 +388,7 @@ static ADDRESS_MAP_START( sslam_program_map, AS_PROGRAM, 16, sslam_state )
AM_RANGE(0x108000, 0x10ffff) AM_RAM_WRITE_LEGACY(sslam_tx_tileram_w) AM_BASE(m_tx_tileram)
AM_RANGE(0x110000, 0x11000d) AM_RAM AM_BASE(m_regs)
AM_RANGE(0x200000, 0x200001) AM_WRITENOP
- AM_RANGE(0x280000, 0x280fff) AM_RAM_WRITE_LEGACY(sslam_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x280000, 0x280fff) AM_RAM_WRITE_LEGACY(sslam_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x201000, 0x201fff) AM_RAM AM_BASE(m_spriteram)
AM_RANGE(0x304000, 0x304001) AM_WRITENOP
AM_RANGE(0x300010, 0x300011) AM_READ_PORT("IN0")
@@ -411,7 +411,7 @@ static ADDRESS_MAP_START( powerbls_map, AS_PROGRAM, 16, sslam_state )
AM_RANGE(0x110000, 0x11000d) AM_RAM AM_BASE(m_regs)
AM_RANGE(0x200000, 0x200001) AM_WRITENOP
AM_RANGE(0x201000, 0x201fff) AM_RAM AM_BASE(m_spriteram)
- AM_RANGE(0x280000, 0x2803ff) AM_RAM_WRITE_LEGACY(sslam_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x280000, 0x2803ff) AM_RAM_WRITE_LEGACY(sslam_paletteram_w) AM_SHARE("paletteram")
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/stadhero.c b/src/mame/drivers/stadhero.c
index aec2e9e541f..0c3fbd17ef3 100644
--- a/src/mame/drivers/stadhero.c
+++ b/src/mame/drivers/stadhero.c
@@ -64,7 +64,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, stadhero_state )
AM_RANGE(0x240010, 0x240017) AM_DEVWRITE_LEGACY("tilegen1", deco_bac06_pf_control_1_w)
AM_RANGE(0x260000, 0x261fff) AM_DEVREADWRITE_LEGACY("tilegen1", deco_bac06_pf_data_r, deco_bac06_pf_data_w)
AM_RANGE(0x30c000, 0x30c00b) AM_READWRITE(stadhero_control_r, stadhero_control_w)
- AM_RANGE(0x310000, 0x3107ff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x310000, 0x3107ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0xff8000, 0xffbfff) AM_RAM /* Main ram */
AM_RANGE(0xffc000, 0xffc7ff) AM_MIRROR(0x000800) AM_RAM AM_BASE(m_spriteram)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/stepstag.c b/src/mame/drivers/stepstag.c
index 324a6b90d84..bbfd7bb4a8c 100644
--- a/src/mame/drivers/stepstag.c
+++ b/src/mame/drivers/stepstag.c
@@ -63,7 +63,7 @@ static ADDRESS_MAP_START( stepstag_map, AS_PROGRAM, 16, stepstag_state )
AM_RANGE(0x104000, 0x107fff) AM_RAM // Spare Object RAM
AM_RANGE(0x108000, 0x10ffff) AM_RAM // Work RAM
AM_RANGE(0x200000, 0x23ffff) AM_READWRITE8_LEGACY(tetrisp2_priority_r, rockn_priority_w, 0x00ff) // Priority
- AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE_LEGACY(tetrisp2_palette_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE_LEGACY(tetrisp2_palette_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x400000, 0x403fff) AM_RAM_WRITE_LEGACY(tetrisp2_vram_fg_w) AM_BASE(m_vram_fg) // Foreground
AM_RANGE(0x404000, 0x407fff) AM_RAM_WRITE_LEGACY(tetrisp2_vram_bg_w) AM_BASE(m_vram_bg) // Background
AM_RANGE(0x408000, 0x409fff) AM_RAM // ???
diff --git a/src/mame/drivers/stfight.c b/src/mame/drivers/stfight.c
index 309b96b02d5..7f4d49cd164 100644
--- a/src/mame/drivers/stfight.c
+++ b/src/mame/drivers/stfight.c
@@ -237,8 +237,8 @@ DONE? (check on real board)
static ADDRESS_MAP_START( cpu1_map, AS_PROGRAM, 8, stfight_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") /* sf02.bin */
- AM_RANGE(0xc000, 0xc0ff) AM_RAM AM_BASE_GENERIC(paletteram)
- AM_RANGE(0xc100, 0xc1ff) AM_RAM AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0xc000, 0xc0ff) AM_RAM AM_SHARE("paletteram")
+ AM_RANGE(0xc100, 0xc1ff) AM_RAM AM_SHARE("paletteram2")
AM_RANGE(0xc200, 0xc200) AM_READ_PORT("P1") /* IN1 */
AM_RANGE(0xc201, 0xc201) AM_READ_PORT("P2") /* IN2 */
AM_RANGE(0xc202, 0xc202) AM_READ_PORT("START") /* IN3 */
diff --git a/src/mame/drivers/stlforce.c b/src/mame/drivers/stlforce.c
index eded6c307fa..7909840e33c 100644
--- a/src/mame/drivers/stlforce.c
+++ b/src/mame/drivers/stlforce.c
@@ -101,7 +101,7 @@ static ADDRESS_MAP_START( stlforce_map, AS_PROGRAM, 16, stlforce_state )
AM_RANGE(0x103400, 0x1037ff) AM_RAM AM_BASE(m_mlow_scrollram)
AM_RANGE(0x103800, 0x103bff) AM_RAM AM_BASE(m_mhigh_scrollram)
AM_RANGE(0x103c00, 0x103fff) AM_RAM AM_BASE(m_vidattrram)
- AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x105000, 0x107fff) AM_RAM /* unknown / ram */
AM_RANGE(0x108000, 0x108fff) AM_RAM AM_BASE(m_spriteram)
AM_RANGE(0x109000, 0x11ffff) AM_RAM
diff --git a/src/mame/drivers/suna8.c b/src/mame/drivers/suna8.c
index 910b4e0a443..0e3c8584bc4 100644
--- a/src/mame/drivers/suna8.c
+++ b/src/mame/drivers/suna8.c
@@ -511,7 +511,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_WRITE_LEGACY(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0xd800, 0xd9ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0xda00, 0xda00) AM_RAM_READ(hardhead_ip_r) AM_BASE(m_hardhead_ip) // Input Port Select
AM_RANGE(0xda80, 0xda80) AM_READ_LEGACY(soundlatch2_r) AM_WRITE(hardhead_bankswitch_w ) // ROM Banking
AM_RANGE(0xdb00, 0xdb00) AM_WRITE_LEGACY(soundlatch_w ) // To Sound CPU
@@ -587,7 +587,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_WRITE_LEGACY(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0xc600, 0xc7ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0xc800, 0xdfff) AM_RAM // RAM
AM_RANGE(0xe000, 0xffff) AM_RAM_WRITE_LEGACY(suna8_spriteram_w) AM_BASE(m_spriteram) // Sprites
ADDRESS_MAP_END
@@ -669,7 +669,7 @@ static ADDRESS_MAP_START( brickzn_map, AS_PROGRAM, 8, suna8_state )
AM_RANGE(0xc108, 0xc108) AM_READ_PORT("TRACK1") // P1 (Analog)
AM_RANGE(0xc10c, 0xc10c) AM_READ_PORT("TRACK2") // P2
AM_RANGE(0xc140, 0xc140) AM_READ(brickzn_c140_r) // ???
- AM_RANGE(0xc600, 0xc7ff) AM_READWRITE_LEGACY(suna8_banked_paletteram_r, brickzn_banked_paletteram_w) // Palette (Banked)
+ AM_RANGE(0xc600, 0xc7ff) AM_READWRITE(banked_paletteram_r, brickzn_banked_paletteram_w) // Palette (Banked)
AM_RANGE(0xc800, 0xdfff) AM_RAM // RAM
AM_RANGE(0xe000, 0xffff) AM_READWRITE_LEGACY(suna8_banked_spriteram_r, suna8_banked_spriteram_w) // Sprites (Banked)
ADDRESS_MAP_END
@@ -789,7 +789,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_WRITE_LEGACY(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram ) // Palette (Banked??)
+ AM_RANGE(0xc600, 0xc7ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_SHARE("paletteram" ) // Palette (Banked??)
AM_RANGE(0xc800, 0xdfff) AM_RAMBANK("bank2") // RAM (Banked?)
AM_RANGE(0xe000, 0xffff) AM_READWRITE_LEGACY(suna8_banked_spriteram_r, suna8_banked_spriteram_w) // Sprites (Banked)
ADDRESS_MAP_END
@@ -825,7 +825,7 @@ static ADDRESS_MAP_START( starfigh_map, AS_PROGRAM, 8, suna8_state )
AM_RANGE(0xc300, 0xc300) AM_WRITE(hardhea2_flipscreen_w ) // Flip Screen
AM_RANGE(0xc400, 0xc400) AM_WRITE(hardhea2_leds_w ) // Leds + Coin Counter
AM_RANGE(0xc500, 0xc500) AM_WRITE_LEGACY(soundlatch_w ) // To Sound CPU
- AM_RANGE(0xc600, 0xc7ff) AM_READWRITE_LEGACY(suna8_banked_paletteram_r, paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram ) // Palette (Banked??)
+ AM_RANGE(0xc600, 0xc7ff) AM_READWRITE(banked_paletteram_r, paletteram_RRRRGGGGBBBBxxxx_be_w) AM_SHARE("paletteram" ) // Palette (Banked??)
AM_RANGE(0xc800, 0xdfff) AM_RAM // RAM
AM_RANGE(0xe000, 0xffff) AM_READWRITE_LEGACY(suna8_banked_spriteram_r, suna8_banked_spriteram_w) // Sprites (Banked)
ADDRESS_MAP_END
@@ -958,7 +958,7 @@ static ADDRESS_MAP_START( sparkman_map, AS_PROGRAM, 8, suna8_state )
AM_RANGE(0xc400, 0xc400) AM_WRITE(sparkman_leds_w ) // Leds
AM_RANGE(0xc480, 0xc480) AM_WRITE(sparkman_coin_counter_w ) // Coin Counter
AM_RANGE(0xc500, 0xc500) AM_WRITE_LEGACY(soundlatch_w ) // To Sound CPU
- AM_RANGE(0xc600, 0xc7ff) AM_RAM_WRITE_LEGACY(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram ) // Palette (Banked??)
+ AM_RANGE(0xc600, 0xc7ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_SHARE("paletteram" ) // Palette (Banked??)
AM_RANGE(0xc800, 0xdfff) AM_RAM_WRITE(suna8_wram_w) AM_BASE(m_wram) // RAM
AM_RANGE(0xe000, 0xffff) AM_READWRITE_LEGACY(suna8_banked_spriteram_r, suna8_banked_spriteram_w) // Sprites (Banked)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/supbtime.c b/src/mame/drivers/supbtime.c
index 7692976649f..0ab757ca7be 100644
--- a/src/mame/drivers/supbtime.c
+++ b/src/mame/drivers/supbtime.c
@@ -64,7 +64,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_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x120800, 0x13ffff) AM_WRITENOP /* Nothing there */
- AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x180000, 0x18000f) AM_READ(supbtime_controls_r)
AM_RANGE(0x18000a, 0x18000d) AM_WRITENOP
AM_RANGE(0x1a0000, 0x1a0001) AM_WRITE(sound_w)
@@ -79,7 +79,7 @@ static ADDRESS_MAP_START( chinatwn_map, AS_PROGRAM, 16, supbtime_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_WRITE(sound_w)
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x180000, 0x18000f) AM_READ(supbtime_controls_r)
AM_RANGE(0x18000a, 0x18000d) AM_WRITENOP
AM_RANGE(0x1a0000, 0x1a3fff) AM_RAM
diff --git a/src/mame/drivers/superchs.c b/src/mame/drivers/superchs.c
index 5c61d6ea732..99237dfc362 100644
--- a/src/mame/drivers/superchs.c
+++ b/src/mame/drivers/superchs.c
@@ -94,9 +94,9 @@ WRITE32_MEMBER(superchs_state::cpua_ctrl_w)
WRITE32_MEMBER(superchs_state::superchs_palette_w)
{
int a,r,g,b;
- COMBINE_DATA(&machine().generic.paletteram.u32[offset]);
+ COMBINE_DATA(&m_generic_paletteram_32[offset]);
- a = machine().generic.paletteram.u32[offset];
+ a = m_generic_paletteram_32[offset];
r = (a &0xff0000) >> 16;
g = (a &0xff00) >> 8;
b = (a &0xff);
@@ -229,7 +229,7 @@ static ADDRESS_MAP_START( superchs_map, AS_PROGRAM, 32, superchs_state )
AM_RANGE(0x1b0000, 0x1b002f) AM_DEVREADWRITE_LEGACY("tc0480scp", tc0480scp_ctrl_long_r, tc0480scp_ctrl_long_w)
AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_BASE(m_shared_ram)
AM_RANGE(0x240000, 0x240003) AM_WRITE(cpua_ctrl_w)
- AM_RANGE(0x280000, 0x287fff) AM_RAM_WRITE(superchs_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x280000, 0x287fff) AM_RAM_WRITE(superchs_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x2c0000, 0x2c07ff) AM_RAM AM_SHARE("f3_shared")
AM_RANGE(0x300000, 0x300007) AM_READWRITE(superchs_input_r, superchs_input_w) /* eerom etc. */
AM_RANGE(0x340000, 0x340003) AM_READWRITE(superchs_stick_r, superchs_stick_w) /* stick int request */
diff --git a/src/mame/drivers/superqix.c b/src/mame/drivers/superqix.c
index 1532efcbc11..a4650598274 100644
--- a/src/mame/drivers/superqix.c
+++ b/src/mame/drivers/superqix.c
@@ -572,7 +572,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, superqix_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( pbillian_port_map, AS_IO, 8, superqix_state )
- AM_RANGE(0x0000, 0x01ff) AM_RAM_WRITE_LEGACY(paletteram_BBGGRRII_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0000, 0x01ff) AM_RAM_WRITE(paletteram_BBGGRRII_w) AM_SHARE("paletteram")
AM_RANGE(0x0401, 0x0401) AM_DEVREAD_LEGACY("aysnd", ay8910_r)
AM_RANGE(0x0402, 0x0403) AM_DEVWRITE_LEGACY("aysnd", ay8910_data_address_w)
AM_RANGE(0x0408, 0x0408) AM_READ(pbillian_from_mcu_r)
@@ -585,7 +585,7 @@ static ADDRESS_MAP_START( pbillian_port_map, AS_IO, 8, superqix_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( hotsmash_port_map, AS_IO, 8, superqix_state )
- AM_RANGE(0x0000, 0x01ff) AM_RAM_WRITE_LEGACY(paletteram_BBGGRRII_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0000, 0x01ff) AM_RAM_WRITE(paletteram_BBGGRRII_w) AM_SHARE("paletteram")
AM_RANGE(0x0401, 0x0401) AM_DEVREAD_LEGACY("aysnd", ay8910_r)
AM_RANGE(0x0402, 0x0403) AM_DEVWRITE_LEGACY("aysnd", ay8910_data_address_w)
AM_RANGE(0x0408, 0x0408) AM_READ(hotsmash_from_mcu_r)
@@ -598,7 +598,7 @@ static ADDRESS_MAP_START( hotsmash_port_map, AS_IO, 8, superqix_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( sqix_port_map, AS_IO, 8, superqix_state )
- AM_RANGE(0x0000, 0x00ff) AM_RAM_WRITE_LEGACY(paletteram_BBGGRRII_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0000, 0x00ff) AM_RAM_WRITE(paletteram_BBGGRRII_w) AM_SHARE("paletteram")
AM_RANGE(0x0401, 0x0401) AM_DEVREAD_LEGACY("ay1", ay8910_r)
AM_RANGE(0x0402, 0x0403) AM_DEVWRITE_LEGACY("ay1", ay8910_data_address_w)
AM_RANGE(0x0405, 0x0405) AM_DEVREAD_LEGACY("ay2", ay8910_r)
@@ -611,7 +611,7 @@ static ADDRESS_MAP_START( sqix_port_map, AS_IO, 8, superqix_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( bootleg_port_map, AS_IO, 8, superqix_state )
- AM_RANGE(0x0000, 0x00ff) AM_RAM_WRITE_LEGACY(paletteram_BBGGRRII_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0000, 0x00ff) AM_RAM_WRITE(paletteram_BBGGRRII_w) AM_SHARE("paletteram")
AM_RANGE(0x0401, 0x0401) AM_DEVREAD_LEGACY("ay1", ay8910_r)
AM_RANGE(0x0402, 0x0403) AM_DEVWRITE_LEGACY("ay1", ay8910_data_address_w)
AM_RANGE(0x0405, 0x0405) AM_DEVREAD_LEGACY("ay2", ay8910_r)
diff --git a/src/mame/drivers/suprslam.c b/src/mame/drivers/suprslam.c
index ef595b1c817..c8ea90a9947 100644
--- a/src/mame/drivers/suprslam.c
+++ b/src/mame/drivers/suprslam.c
@@ -134,7 +134,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_LEGACY("k053936", k053936_linectrl_r, k053936_linectrl_w)
AM_RANGE(0xff9000, 0xff9001) AM_WRITE(sound_command_w)
- AM_RANGE(0xffa000, 0xffafff) AM_RAM_WRITE_LEGACY(paletteram16_xGGGGGBBBBBRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xffa000, 0xffafff) AM_RAM_WRITE(paletteram16_xGGGGGBBBBBRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0xffd000, 0xffd01f) AM_DEVWRITE_LEGACY("k053936", k053936_ctrl_w)
AM_RANGE(0xffe000, 0xffe001) AM_WRITE_LEGACY(suprslam_bank_w)
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("P1")
diff --git a/src/mame/drivers/surpratk.c b/src/mame/drivers/surpratk.c
index 06098698816..4dd348e469a 100644
--- a/src/mame/drivers/surpratk.c
+++ b/src/mame/drivers/surpratk.c
@@ -31,9 +31,9 @@ READ8_MEMBER(surpratk_state::bankedram_r)
if (m_videobank & 0x02)
{
if (m_videobank & 0x04)
- return machine().generic.paletteram.u8[offset + 0x0800];
+ return m_generic_paletteram_8[offset + 0x0800];
else
- return machine().generic.paletteram.u8[offset];
+ return m_generic_paletteram_8[offset];
}
else if (m_videobank & 0x01)
return k053245_r(m_k053244, offset);
@@ -197,7 +197,7 @@ static MACHINE_START( surpratk )
memory_configure_bank(machine, "bank1", 28, 4, &ROM[0x08000], 0x2000);
memory_set_bank(machine, "bank1", 0);
- machine.generic.paletteram.u8 = auto_alloc_array_clear(machine, UINT8, 0x1000);
+ state->m_generic_paletteram_8.allocate(0x1000);
state->m_maincpu = machine.device("maincpu");
state->m_k053244 = machine.device("k053244");
@@ -208,7 +208,6 @@ static MACHINE_START( surpratk )
state->save_item(NAME(state->m_sprite_colorbase));
state->save_item(NAME(state->m_layer_colorbase));
state->save_item(NAME(state->m_layerpri));
- state_save_register_global_pointer(machine, machine.generic.paletteram.u8, 0x1000);
}
static MACHINE_RESET( surpratk )
diff --git a/src/mame/drivers/system1.c b/src/mame/drivers/system1.c
index 281f0f2d235..b152203ebda 100644
--- a/src/mame/drivers/system1.c
+++ b/src/mame/drivers/system1.c
@@ -721,7 +721,7 @@ static ADDRESS_MAP_START( system1_map, AS_PROGRAM, 8, system1_state )
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xcfff) AM_RAM AM_BASE(m_ram)
AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_BASE(m_spriteram)
- AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE_LEGACY(system1_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE_LEGACY(system1_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0xe000, 0xefff) AM_READWRITE_LEGACY(system1_videoram_r, system1_videoram_w)
AM_RANGE(0xf000, 0xf3ff) AM_READWRITE_LEGACY(system1_mixer_collision_r, system1_mixer_collision_w)
AM_RANGE(0xf400, 0xf7ff) AM_WRITE_LEGACY(system1_mixer_collision_reset_w)
@@ -738,7 +738,7 @@ static ADDRESS_MAP_START( nobo_map, AS_PROGRAM, 8, system1_state )
AM_RANGE(0xc800, 0xcbff) AM_READWRITE_LEGACY(system1_sprite_collision_r, system1_sprite_collision_w)
AM_RANGE(0xcc00, 0xcfff) AM_WRITE_LEGACY(system1_sprite_collision_reset_w)
AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_BASE(m_spriteram)
- AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE_LEGACY(system1_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE_LEGACY(system1_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0xe000, 0xefff) AM_READWRITE_LEGACY(system1_videoram_r, system1_videoram_w)
AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE(m_ram)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tail2nos.c b/src/mame/drivers/tail2nos.c
index 02bec516fc9..4e3b169aacc 100644
--- a/src/mame/drivers/tail2nos.c
+++ b/src/mame/drivers/tail2nos.c
@@ -43,7 +43,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, tail2nos_state )
AM_RANGE(0xffc000, 0xffc2ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0xffc300, 0xffcfff) AM_RAM
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE_LEGACY(tail2nos_bgvideoram_w) AM_BASE(m_bgvideoram)
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("INPUTS") AM_WRITE_LEGACY(tail2nos_gfxbank_w)
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW")
AM_RANGE(0xfff008, 0xfff009) AM_WRITE(sound_command_w)
diff --git a/src/mame/drivers/taito_b.c b/src/mame/drivers/taito_b.c
index db85f172c53..4d42bcda13a 100644
--- a/src/mame/drivers/taito_b.c
+++ b/src/mame/drivers/taito_b.c
@@ -515,7 +515,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_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x600000, 0x607fff) AM_RAM /* Main RAM */ /*ashura up to 603fff only*/
TC0180VCU_MEMRW( 0x400000 )
AM_RANGE(0x800000, 0x800001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
@@ -530,7 +530,7 @@ static ADDRESS_MAP_START( crimec_map, AS_PROGRAM, 16, taitob_state )
TC0180VCU_MEMRW( 0x400000 )
AM_RANGE(0x600000, 0x600001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
AM_RANGE(0x600002, 0x600003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
- AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0xa00000, 0xa0ffff) AM_RAM /* Main RAM */
ADDRESS_MAP_END
@@ -542,12 +542,12 @@ static ADDRESS_MAP_START( tetrist_map, AS_PROGRAM, 16, taitob_state )
TC0180VCU_MEMRW( 0x400000 )
AM_RANGE(0x600000, 0x60000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0xff00)
AM_RANGE(0x800000, 0x807fff) AM_RAM /* Main RAM */
- AM_RANGE(0xa00000, 0xa01fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xa00000, 0xa01fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
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_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
TC0180VCU_MEMRW( 0x400000 )
AM_RANGE(0x600000, 0x600001) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_portreg_r, tc0220ioc_portreg_w, 0xff00)
AM_RANGE(0x600002, 0x600003) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_port_r, tc0220ioc_port_w, 0xff00)
@@ -565,7 +565,7 @@ static ADDRESS_MAP_START( hitice_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x700000, 0x700001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
AM_RANGE(0x700002, 0x700003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x800000, 0x803fff) AM_RAM /* Main RAM */
- AM_RANGE(0xa00000, 0xa01fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xa00000, 0xa01fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0xb00000, 0xb7ffff) AM_RAM_WRITE_LEGACY(hitice_pixelram_w) AM_BASE(m_pixelram)
// { 0xbffff0, 0xbffff1, ???
AM_RANGE(0xbffff2, 0xbffff5) AM_WRITE_LEGACY(hitice_pixel_scroll_w)
@@ -588,7 +588,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_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xa00000, 0xa01fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
ADDRESS_MAP_END
@@ -603,7 +603,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_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
AM_RANGE(0x700002, 0x700003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
- AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x900000, 0x90ffff) AM_RAM /* Main RAM */
ADDRESS_MAP_END
@@ -619,7 +619,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_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
AM_RANGE(0x700002, 0x700003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
- AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x900000, 0x90ffff) AM_RAM /* Main RAM */
ADDRESS_MAP_END
@@ -631,7 +631,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_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x300000, 0x301fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x302000, 0x303fff) AM_READONLY
AM_RANGE(0x400000, 0x40ffff) AM_RAM /* Main RAM */
TC0180VCU_MEMRW( 0x500000 )
@@ -649,7 +649,7 @@ static ADDRESS_MAP_START( qzshowby_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x600000, 0x600001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
AM_RANGE(0x600002, 0x600003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x700000, 0x700003) AM_WRITE(gain_control_w)
- AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x900000, 0x90ffff) AM_RAM /* Main RAM */
ADDRESS_MAP_END
@@ -659,7 +659,7 @@ static ADDRESS_MAP_START( viofight_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x200000, 0x200001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
AM_RANGE(0x200002, 0x200003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
TC0180VCU_MEMRW( 0x400000 )
- AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x800000, 0x80000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0xff00)
AM_RANGE(0xa00000, 0xa03fff) AM_RAM /* Main RAM */
ADDRESS_MAP_END
@@ -669,7 +669,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_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x800000, 0x800001) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_portreg_r, tc0220ioc_portreg_w, 0xff00)
AM_RANGE(0x800002, 0x800003) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_port_r, tc0220ioc_port_w, 0xff00)
AM_RANGE(0xa00000, 0xa00001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
@@ -689,7 +689,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_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x300000, 0x301fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x400000, 0x403fff) AM_RAM /* Main RAM */
TC0180VCU_MEMRW( 0x500000 )
ADDRESS_MAP_END
@@ -699,7 +699,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_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x300000, 0x301fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x400000, 0x40000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0xff00)
AM_RANGE(0x410000, 0x41000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0xff00) /* mirror address - seems to be only used for coin control */
AM_RANGE(0x500000, 0x500001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
@@ -710,7 +710,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_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE_LEGACY("tc0510nio", tc0510nio_halfword_wordswap_r, tc0510nio_halfword_wordswap_w)
AM_RANGE(0x320000, 0x320001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
AM_RANGE(0x320002, 0x320003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
@@ -728,7 +728,7 @@ static ADDRESS_MAP_START( realpunc_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x188002, 0x188003) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_comm_w, 0xff00)
AM_RANGE(0x18c000, 0x18c001) AM_WRITE(realpunc_output_w)
TC0180VCU_MEMRW( 0x200000 )
- AM_RANGE(0x280000, 0x281fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x280000, 0x281fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x300000, 0x300001) AM_DEVREADWRITE_LEGACY("hd63484", hd63484_status_r, hd63484_address_w)
AM_RANGE(0x300002, 0x300003) AM_DEVREADWRITE_LEGACY("hd63484", hd63484_data_r, hd63484_data_w)
// AM_RANGE(0x320000, 0x320001) AM_READ_LEGACY(SMH_NOP) // ?
diff --git a/src/mame/drivers/taito_f2.c b/src/mame/drivers/taito_f2.c
index 7183c6544bf..3ae97a2d7f0 100644
--- a/src/mame/drivers/taito_f2.c
+++ b/src/mame/drivers/taito_f2.c
@@ -702,7 +702,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_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0x00ff)
AM_RANGE(0x320000, 0x320001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
AM_RANGE(0x320002, 0x320003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
@@ -721,7 +721,7 @@ static ADDRESS_MAP_START( megab_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x120000, 0x12000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0x00ff)
AM_RANGE(0x180000, 0x180fff) AM_READWRITE(cchip2_word_r, cchip2_word_w) AM_BASE(m_cchip2_ram)
AM_RANGE(0x200000, 0x20ffff) AM_RAM
- AM_RANGE(0x300000, 0x301fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x300000, 0x301fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x400000, 0x40001f) AM_DEVWRITE8_LEGACY("tc0360pri", tc0360pri_w, 0x00ff) /* ?? */
AM_RANGE(0x600000, 0x60ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
AM_RANGE(0x610000, 0x61ffff) AM_RAM /* unused? */
@@ -731,7 +731,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_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x100000, 0x101fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0x00ff)
AM_RANGE(0x220000, 0x220001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
AM_RANGE(0x220002, 0x220003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
@@ -747,7 +747,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_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0x00ff)
AM_RANGE(0x300018, 0x30001f) AM_READ(cameltry_paddle_r)
AM_RANGE(0x320000, 0x320001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
@@ -776,7 +776,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_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0x00ff)
AM_RANGE(0x320000, 0x320001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
AM_RANGE(0x320002, 0x320003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
@@ -811,7 +811,7 @@ static ADDRESS_MAP_START( ssi_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10000f) AM_DEVREADWRITE_LEGACY("tc0510nio", tc0510nio_halfword_r, tc0510nio_halfword_w)
AM_RANGE(0x200000, 0x20ffff) AM_RAM
- AM_RANGE(0x300000, 0x301fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x300000, 0x301fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x400000, 0x400001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
AM_RANGE(0x400002, 0x400003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
// AM_RANGE(0x500000, 0x500001) AM_WRITENOP /* ?? */
@@ -823,7 +823,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_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE_LEGACY("tc0510nio", tc0510nio_halfword_wordswap_r, tc0510nio_halfword_wordswap_w)
AM_RANGE(0x320000, 0x320001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
AM_RANGE(0x320002, 0x320003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
@@ -837,7 +837,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_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
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")
@@ -883,7 +883,7 @@ static ADDRESS_MAP_START( footchmp_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x400000, 0x40ffff) AM_DEVREADWRITE_LEGACY("tc0480scp", tc0480scp_word_r, tc0480scp_word_w) /* tilemaps */
AM_RANGE(0x430000, 0x43002f) AM_DEVREADWRITE_LEGACY("tc0480scp", tc0480scp_ctrl_word_r, tc0480scp_ctrl_word_w)
AM_RANGE(0x500000, 0x50001f) AM_DEVWRITE8_LEGACY("tc0360pri", tc0360pri_w, 0x00ff) /* 500002 written like a watchdog?! */
- AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x700006, 0x700007) AM_WRITE(taitof2_4p_coin_word_w)
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSWA")
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("DSWB")
@@ -900,7 +900,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_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE_LEGACY("tc0510nio", tc0510nio_halfword_r, tc0510nio_halfword_w)
AM_RANGE(0x320000, 0x320001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
AM_RANGE(0x320002, 0x320003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
@@ -919,7 +919,7 @@ static ADDRESS_MAP_START( yuyugogo_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0xa00000, 0xa01fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xa00000, 0xa01fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0xb00000, 0xb10fff) AM_RAM /* deliberate writes to $b10xxx, I think */
AM_RANGE(0xc00000, 0xc01fff) AM_WRITE_LEGACY(taitof2_sprite_extension_w) AM_BASE_SIZE(m_sprite_extension, m_spriteext_size)
AM_RANGE(0xd00000, 0xdfffff) AM_ROM AM_REGION("extra", 0)
@@ -928,7 +928,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_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x300000, 0x30000f) AM_READ(ninjak_input_r)
AM_RANGE(0x30000e, 0x30000f) AM_WRITE(ninjak_coin_word_w)
AM_RANGE(0x380000, 0x380001) AM_WRITE_LEGACY(watchdog_reset16_w) /* ??? */
@@ -944,7 +944,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_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
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")
@@ -967,7 +967,7 @@ static ADDRESS_MAP_START( qzquest_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE_LEGACY("tc0510nio", tc0510nio_halfword_r, tc0510nio_halfword_w)
AM_RANGE(0x300000, 0x300001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
AM_RANGE(0x300002, 0x300003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
- AM_RANGE(0x400000, 0x401fff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x400000, 0x401fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x500000, 0x50ffff) AM_RAM
AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x700000, 0x70ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
@@ -983,7 +983,7 @@ static ADDRESS_MAP_START( pulirula_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x402000, 0x40200f) AM_DEVWRITE_LEGACY("tc0430grw", tc0430grw_ctrl_word_w)
// AM_RANGE(0x500000, 0x500001) AM_WRITENOP /* ??? */
AM_RANGE(0x600000, 0x603fff) AM_WRITE_LEGACY(taitof2_sprite_extension_w) AM_BASE_SIZE(m_sprite_extension, m_spriteext_size)
- AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
@@ -999,7 +999,7 @@ static ADDRESS_MAP_START( metalb_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x500000, 0x50ffff) AM_DEVREADWRITE_LEGACY("tc0480scp", tc0480scp_word_r, tc0480scp_word_w) /* tilemaps */
AM_RANGE(0x530000, 0x53002f) AM_DEVREADWRITE_LEGACY("tc0480scp", tc0480scp_ctrl_word_r, tc0480scp_ctrl_word_w)
AM_RANGE(0x600000, 0x60001f) AM_DEVWRITE8_LEGACY("tc0360pri", tc0360pri_w, 0x00ff)
- AM_RANGE(0x700000, 0x703fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x700000, 0x703fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x800000, 0x80000f) AM_DEVREADWRITE_LEGACY("tc0510nio", tc0510nio_halfword_wordswap_r, tc0510nio_halfword_wordswap_w)
AM_RANGE(0x900000, 0x900001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
AM_RANGE(0x900002, 0x900003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
@@ -1011,7 +1011,7 @@ static ADDRESS_MAP_START( qzchikyu_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE_LEGACY("tc0510nio", tc0510nio_halfword_r, tc0510nio_halfword_w)
AM_RANGE(0x300000, 0x300001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
AM_RANGE(0x300002, 0x300003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
- AM_RANGE(0x400000, 0x401fff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x400000, 0x401fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x500000, 0x50ffff) AM_RAM
AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x700000, 0x70ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
@@ -1024,7 +1024,7 @@ static ADDRESS_MAP_START( yesnoj_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x400000, 0x40ffff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x500000, 0x50ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
AM_RANGE(0x520000, 0x52000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
- AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
// AM_RANGE(0x700000, 0x70000b) AM_READ_LEGACY(yesnoj_unknown_r) /* what's this? */
AM_RANGE(0x800000, 0x800001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
AM_RANGE(0x800002, 0x800003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
@@ -1046,7 +1046,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_LEGACY("tc0480scp", tc0480scp_ctrl_word_r, tc0480scp_ctrl_word_w)
AM_RANGE(0x500000, 0x50001f) AM_DEVWRITE8_LEGACY("tc0360pri", tc0360pri_w, 0x00ff) /* uses 500002 like a watchdog !? */
- AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSWA")
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("DSWB")
AM_RANGE(0x700004, 0x700005) AM_READ_PORT("IN2")
@@ -1062,7 +1062,7 @@ static ADDRESS_MAP_START( dinorex_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x000000, 0x2fffff) AM_ROM
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE_LEGACY("tc0510nio", tc0510nio_halfword_r, tc0510nio_halfword_w)
AM_RANGE(0x400000, 0x400fff) AM_WRITE_LEGACY(taitof2_sprite_extension_w) AM_BASE_SIZE(m_sprite_extension, m_spriteext_size)
- AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x600000, 0x60ffff) AM_RAM
AM_RANGE(0x700000, 0x70001f) AM_DEVWRITE8_LEGACY("tc0360pri", tc0360pri_w, 0x00ff) /* ?? */
AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
@@ -1080,7 +1080,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_LEGACY(taitof2_sprite_extension_w) AM_BASE_SIZE(m_sprite_extension, m_spriteext_size)
- AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
@@ -1096,7 +1096,7 @@ static ADDRESS_MAP_START( qcrayon_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x500000, 0x500001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
AM_RANGE(0x500002, 0x500003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x600000, 0x603fff) AM_WRITE_LEGACY(taitof2_sprite_extension_w) AM_BASE_SIZE(m_sprite_extension, m_spriteext_size)
- AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
@@ -1107,7 +1107,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_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x300000, 0x301fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x400000, 0x40ffff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x500000, 0x50ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
AM_RANGE(0x520000, 0x52000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
@@ -1126,7 +1126,7 @@ static ADDRESS_MAP_START( driftout_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x300000, 0x30ffff) AM_RAM
AM_RANGE(0x400000, 0x401fff) AM_DEVREADWRITE_LEGACY("tc0430grw", tc0430grw_word_r, tc0430grw_word_w) /* ROZ tilemap */
AM_RANGE(0x402000, 0x40200f) AM_DEVWRITE_LEGACY("tc0430grw", tc0430grw_ctrl_word_w)
- AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
@@ -1143,7 +1143,7 @@ static ADDRESS_MAP_START( driveout_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x300000, 0x30ffff) AM_RAM
AM_RANGE(0x400000, 0x401fff) AM_DEVREADWRITE_LEGACY("tc0430grw", tc0430grw_word_r, tc0430grw_word_w) /* ROZ tilemap */
AM_RANGE(0x402000, 0x40200f) AM_DEVWRITE_LEGACY("tc0430grw", tc0430grw_ctrl_word_w)
- AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
diff --git a/src/mame/drivers/taito_f3.c b/src/mame/drivers/taito_f3.c
index 7b2f734ae07..4159ecd4144 100644
--- a/src/mame/drivers/taito_f3.c
+++ b/src/mame/drivers/taito_f3.c
@@ -191,7 +191,7 @@ static ADDRESS_MAP_START( f3_map, AS_PROGRAM, 32, taito_f3_state )
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x300000, 0x30007f) AM_WRITE(f3_sound_bankswitch_w)
AM_RANGE(0x400000, 0x41ffff) AM_MIRROR(0x20000) AM_RAM AM_BASE(m_f3_ram)
- AM_RANGE(0x440000, 0x447fff) AM_RAM_WRITE_LEGACY(f3_palette_24bit_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x440000, 0x447fff) AM_RAM_WRITE_LEGACY(f3_palette_24bit_w) AM_SHARE("paletteram")
AM_RANGE(0x4a0000, 0x4a001f) AM_READWRITE(f3_control_r, f3_control_w)
AM_RANGE(0x4c0000, 0x4c0003) AM_WRITE16(f3_unk_w,0xffffffff)
AM_RANGE(0x600000, 0x60ffff) AM_READWRITE16_LEGACY(f3_spriteram_r,f3_spriteram_w,0xffffffff) //AM_BASE_SIZE(m_spriteram, m_spriteram_size)
diff --git a/src/mame/drivers/taito_h.c b/src/mame/drivers/taito_h.c
index 38d980fbe40..44da739a865 100644
--- a/src/mame/drivers/taito_h.c
+++ b/src/mame/drivers/taito_h.c
@@ -255,7 +255,7 @@ static ADDRESS_MAP_START( syvalion_map, AS_PROGRAM, 16, taitoh_state )
AM_RANGE(0x300000, 0x300001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
AM_RANGE(0x300002, 0x300003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
AM_RANGE(0x400000, 0x420fff) AM_DEVREADWRITE_LEGACY("tc0080vco", tc0080vco_word_r, tc0080vco_word_w)
- AM_RANGE(0x500800, 0x500fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x500800, 0x500fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
ADDRESS_MAP_END
static ADDRESS_MAP_START( recordbr_map, AS_PROGRAM, 16, taitoh_state )
@@ -266,7 +266,7 @@ static ADDRESS_MAP_START( recordbr_map, AS_PROGRAM, 16, taitoh_state )
AM_RANGE(0x300000, 0x300001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
AM_RANGE(0x300002, 0x300003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
AM_RANGE(0x400000, 0x420fff) AM_DEVREADWRITE_LEGACY("tc0080vco", tc0080vco_word_r, tc0080vco_word_w)
- AM_RANGE(0x500800, 0x500fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x500800, 0x500fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
ADDRESS_MAP_END
static ADDRESS_MAP_START( dleague_map, AS_PROGRAM, 16, taitoh_state )
@@ -276,7 +276,7 @@ static ADDRESS_MAP_START( dleague_map, AS_PROGRAM, 16, taitoh_state )
AM_RANGE(0x300000, 0x300001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
AM_RANGE(0x300002, 0x300003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
AM_RANGE(0x400000, 0x420fff) AM_DEVREADWRITE_LEGACY("tc0080vco", tc0080vco_word_r, tc0080vco_word_w)
- AM_RANGE(0x500800, 0x500fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x500800, 0x500fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x600000, 0x600001) AM_WRITENOP /* ?? writes zero once per frame */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/taito_o.c b/src/mame/drivers/taito_o.c
index 9a2e9fef511..7b51d107100 100644
--- a/src/mame/drivers/taito_o.c
+++ b/src/mame/drivers/taito_o.c
@@ -66,7 +66,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_LEGACY("ymsnd", ym2203_r, ym2203_w, 0x00ff)
AM_RANGE(0x400000, 0x420fff) AM_DEVREADWRITE_LEGACY("tc0080vco", tc0080vco_word_r, tc0080vco_word_w)
- AM_RANGE(0x500800, 0x500fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x500800, 0x500fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
ADDRESS_MAP_END
static INPUT_PORTS_START( parentj )
diff --git a/src/mame/drivers/taito_x.c b/src/mame/drivers/taito_x.c
index cdede03d8b4..7f11c4b580b 100644
--- a/src/mame/drivers/taito_x.c
+++ b/src/mame/drivers/taito_x.c
@@ -432,7 +432,7 @@ static ADDRESS_MAP_START( superman_map, AS_PROGRAM, 16, taitox_state )
AM_RANGE(0x900000, 0x9007ff) AM_READWRITE_LEGACY(cchip1_ram_r, cchip1_ram_w)
AM_RANGE(0x900802, 0x900803) AM_READWRITE_LEGACY(cchip1_ctrl_r, cchip1_ctrl_w)
AM_RANGE(0x900c00, 0x900c01) AM_WRITE_LEGACY(cchip1_bank_w)
- AM_RANGE(0xb00000, 0xb00fff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xb00000, 0xb00fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0xd00000, 0xd005ff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spriteylow_r16, spriteylow_w16) // Sprites Y
AM_RANGE(0xd00600, 0xd00607) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritectrl_r16, spritectrl_w16)
AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritecode_r16, spritecode_w16) // Sprites Code + X + Attr
@@ -447,7 +447,7 @@ static ADDRESS_MAP_START( daisenpu_map, AS_PROGRAM, 16, taitox_state )
AM_RANGE(0x800000, 0x800001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
AM_RANGE(0x800002, 0x800003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
AM_RANGE(0x900000, 0x90000f) AM_READWRITE_LEGACY(daisenpu_input_r, daisenpu_input_w)
- AM_RANGE(0xb00000, 0xb00fff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xb00000, 0xb00fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0xd00000, 0xd005ff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spriteylow_r16, spriteylow_w16) // Sprites Y
AM_RANGE(0xd00600, 0xd00607) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritectrl_r16, spritectrl_w16)
AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritecode_r16, spritecode_w16) // Sprites Code + X + Attr
@@ -462,7 +462,7 @@ static ADDRESS_MAP_START( gigandes_map, AS_PROGRAM, 16, taitox_state )
AM_RANGE(0x800000, 0x800001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
AM_RANGE(0x800002, 0x800003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
AM_RANGE(0x900000, 0x90000f) AM_READWRITE_LEGACY(daisenpu_input_r, daisenpu_input_w)
- AM_RANGE(0xb00000, 0xb00fff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xb00000, 0xb00fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0xd00000, 0xd005ff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spriteylow_r16, spriteylow_w16) // Sprites Y
AM_RANGE(0xd00600, 0xd00607) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritectrl_r16, spritectrl_w16)
AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritecode_r16, spritecode_w16) // Sprites Code + X + Attr
@@ -477,7 +477,7 @@ static ADDRESS_MAP_START( ballbros_map, AS_PROGRAM, 16, taitox_state )
AM_RANGE(0x800000, 0x800001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
AM_RANGE(0x800002, 0x800003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
AM_RANGE(0x900000, 0x90000f) AM_READWRITE_LEGACY(daisenpu_input_r, daisenpu_input_w)
- AM_RANGE(0xb00000, 0xb00fff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xb00000, 0xb00fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0xd00000, 0xd005ff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spriteylow_r16, spriteylow_w16) // Sprites Y
AM_RANGE(0xd00600, 0xd00607) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritectrl_r16, spritectrl_w16)
AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritecode_r16, spritecode_w16) // Sprites Code + X + Attr
diff --git a/src/mame/drivers/taito_z.c b/src/mame/drivers/taito_z.c
index 990330a4d57..adf72eb02ef 100644
--- a/src/mame/drivers/taito_z.c
+++ b/src/mame/drivers/taito_z.c
@@ -1586,7 +1586,7 @@ static ADDRESS_MAP_START( bshark_map, AS_PROGRAM, 16, taitoz_state )
AM_RANGE(0x400000, 0x40000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 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_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xa00000, 0xa01fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0xc00000, 0xc00fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0xd00000, 0xd0ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
AM_RANGE(0xd20000, 0xd2000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
@@ -1599,7 +1599,7 @@ static ADDRESS_MAP_START( bsharkjjs_map, AS_PROGRAM, 16, taitoz_state )
AM_RANGE(0x400000, 0x40000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 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_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xa00000, 0xa01fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0xc00000, 0xc00fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0xd00000, 0xd0ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
AM_RANGE(0xd20000, 0xd2000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
@@ -1627,7 +1627,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_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0xa00000, 0xa0ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
AM_RANGE(0xa20000, 0xa2000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
@@ -1721,7 +1721,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(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_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE_LEGACY("tc0480scp", tc0480scp_word_r, tc0480scp_word_w) /* tilemap mirror */
AM_RANGE(0xa00000, 0xa0ffff) AM_DEVREADWRITE_LEGACY("tc0480scp", tc0480scp_word_r, tc0480scp_word_w) /* tilemaps */
AM_RANGE(0xa30000, 0xa3002f) AM_DEVREADWRITE_LEGACY("tc0480scp", tc0480scp_ctrl_word_r, tc0480scp_ctrl_word_w)
@@ -1746,7 +1746,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_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE_LEGACY("tc0480scp", tc0480scp_word_r, tc0480scp_word_w) /* tilemaps */
AM_RANGE(0x930000, 0x93002f) AM_DEVREADWRITE_LEGACY("tc0480scp", tc0480scp_ctrl_word_r, tc0480scp_ctrl_word_w)
AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) /* mostly unused ? */
diff --git a/src/mame/drivers/taotaido.c b/src/mame/drivers/taotaido.c
index 176b0d3bf13..ef078f585b8 100644
--- a/src/mame/drivers/taotaido.c
+++ b/src/mame/drivers/taotaido.c
@@ -93,7 +93,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, taotaido_state )
AM_RANGE(0xa00000, 0xa01fff) AM_RAM AM_BASE(m_spriteram) // sprite ram
AM_RANGE(0xc00000, 0xc0ffff) AM_RAM AM_BASE(m_spriteram2) // sprite tile lookup ram
AM_RANGE(0xfe0000, 0xfeffff) AM_RAM // main ram
- AM_RANGE(0xffc000, 0xffcfff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // palette ram
+ AM_RANGE(0xffc000, 0xffcfff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // palette ram
AM_RANGE(0xffe000, 0xffe3ff) AM_RAM AM_BASE(m_scrollram) // rowscroll / rowselect / scroll ram
AM_RANGE(0xffff80, 0xffff81) AM_READ_PORT("P1")
AM_RANGE(0xffff82, 0xffff83) AM_READ_PORT("P2")
diff --git a/src/mame/drivers/targeth.c b/src/mame/drivers/targeth.c
index f7581cf7f86..986d72d2623 100644
--- a/src/mame/drivers/targeth.c
+++ b/src/mame/drivers/targeth.c
@@ -73,7 +73,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_BASE(m_vregs) /* Video Registers */
AM_RANGE(0x10800c, 0x10800d) AM_WRITENOP /* CLR Video INT */
- AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) /* Palette */
+ AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram") /* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(m_spriteram) /* Sprite RAM */
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW2")
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("DSW1")
diff --git a/src/mame/drivers/tatsumi.c b/src/mame/drivers/tatsumi.c
index 5f59431285e..dc7cb3df4f6 100644
--- a/src/mame/drivers/tatsumi.c
+++ b/src/mame/drivers/tatsumi.c
@@ -165,7 +165,7 @@ WRITE16_MEMBER(tatsumi_state::cyclwarr_cpu_bb_w)
COMBINE_DATA(&m_cyclwarr_cpub_ram[offset]);
}
-READ16_MEMBER(tatsumi_state::cyclwarr_palette_r){ return machine().generic.paletteram.u16[offset]; }
+READ16_MEMBER(tatsumi_state::cyclwarr_palette_r){ return m_generic_paletteram_16[offset]; }
READ16_MEMBER(tatsumi_state::cyclwarr_sprite_r){
return m_spriteram[offset]; }
WRITE16_MEMBER(tatsumi_state::cyclwarr_sprite_w){
@@ -208,7 +208,7 @@ WRITE16_MEMBER(tatsumi_state::cyclwarr_sound_w)
static ADDRESS_MAP_START( apache3_v30_map, AS_PROGRAM, 16, tatsumi_state )
AM_RANGE(0x00000, 0x03fff) AM_RAM
AM_RANGE(0x04000, 0x07fff) AM_RAM AM_SHARE("nvram")
- AM_RANGE(0x08000, 0x08fff) AM_RAM_WRITE_LEGACY(apache3_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x08000, 0x08fff) AM_RAM_WRITE_LEGACY(apache3_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x0c000, 0x0dfff) AM_RAM_WRITE_LEGACY(roundup5_text_w) AM_BASE(m_videoram)
AM_RANGE(0x0e800, 0x0e803) AM_WRITENOP // CRT
AM_RANGE(0x0f000, 0x0f001) AM_READ_PORT("DSW")
@@ -257,7 +257,7 @@ static ADDRESS_MAP_START( roundup5_v30_map, AS_PROGRAM, 16, tatsumi_state )
AM_RANGE(0x0d800, 0x0d801) AM_WRITEONLY AM_BASE(m_roundup5_unknown1) // VRAM2 X scroll (todo)
AM_RANGE(0x0dc00, 0x0dc01) AM_WRITEONLY AM_BASE(m_roundup5_unknown2) // VRAM2 Y scroll (todo)
AM_RANGE(0x0e000, 0x0e001) AM_WRITE_LEGACY(roundup5_control_w)
- AM_RANGE(0x0f000, 0x0ffff) AM_RAM_WRITE_LEGACY(roundup5_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0f000, 0x0ffff) AM_RAM_WRITE_LEGACY(roundup5_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x10000, 0x1ffff) AM_READWRITE_LEGACY(roundup_v30_z80_r, roundup_v30_z80_w)
AM_RANGE(0x20000, 0x2ffff) AM_READWRITE_LEGACY(tatsumi_v30_68000_r, tatsumi_v30_68000_w)
AM_RANGE(0x30000, 0x3ffff) AM_READWRITE_LEGACY(roundup5_vram_r, roundup5_vram_w)
@@ -307,7 +307,7 @@ static ADDRESS_MAP_START( cyclwarr_68000a_map, AS_PROGRAM, 16, tatsumi_state )
AM_RANGE(0x0ba008, 0x0ba009) AM_READWRITE_LEGACY(cyclwarr_control_r, cyclwarr_control_w)
AM_RANGE(0x0c0000, 0x0c3fff) AM_READWRITE(cyclwarr_sprite_r, cyclwarr_sprite_w) AM_BASE(m_spriteram)
AM_RANGE(0x0ca000, 0x0ca1ff) AM_WRITE_LEGACY(tatsumi_sprite_control_w) AM_BASE(m_sprite_control_ram)
- AM_RANGE(0x0d0000, 0x0d3fff) AM_READWRITE(cyclwarr_palette_r, paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0d0000, 0x0d3fff) AM_READWRITE(cyclwarr_palette_r, paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x140000, 0x1bffff) AM_ROMBANK("bank2") /* CPU B ROM */
AM_RANGE(0x2c0000, 0x33ffff) AM_ROMBANK("bank1") /* CPU A ROM */
ADDRESS_MAP_END
@@ -363,7 +363,7 @@ static ADDRESS_MAP_START( bigfight_68000a_map, AS_PROGRAM, 16, tatsumi_state )
AM_RANGE(0x0ba008, 0x0ba009) AM_READWRITE_LEGACY(cyclwarr_control_r, cyclwarr_control_w)
AM_RANGE(0x0c0000, 0x0c3fff) AM_READWRITE(cyclwarr_sprite_r, cyclwarr_sprite_w) AM_BASE(m_spriteram)
AM_RANGE(0x0ca000, 0x0ca1ff) AM_WRITE_LEGACY(tatsumi_sprite_control_w) AM_BASE(m_sprite_control_ram)
- AM_RANGE(0x0d0000, 0x0d3fff) AM_READWRITE(cyclwarr_palette_r, paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0d0000, 0x0d3fff) AM_READWRITE(cyclwarr_palette_r, paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
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.c b/src/mame/drivers/tbowl.c
index 2631dcc72b2..7b68333b048 100644
--- a/src/mame/drivers/tbowl.c
+++ b/src/mame/drivers/tbowl.c
@@ -131,7 +131,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_BASE(m_spriteram)
- AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBRRRRGGGG_be_w) AM_BASE_GENERIC(paletteram) // 2x palettes, one for each monitor?
+ AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_be_w) AM_SHARE("paletteram") // 2x palettes, one for each monitor?
AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK("bank2")
AM_RANGE(0xf800, 0xfbff) AM_READWRITE(shared_r, shared_w)
AM_RANGE(0xfc00, 0xfc00) AM_WRITE(tbowlc_bankswitch_w)
diff --git a/src/mame/drivers/tecmo.c b/src/mame/drivers/tecmo.c
index 81c660591c4..3a02a9f2b8f 100644
--- a/src/mame/drivers/tecmo.c
+++ b/src/mame/drivers/tecmo.c
@@ -139,7 +139,7 @@ static ADDRESS_MAP_START( rygar_map, AS_PROGRAM, 8, tecmo_state )
AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE_LEGACY(tecmo_fgvideoram_w) AM_BASE(m_fgvideoram)
AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE_LEGACY(tecmo_bgvideoram_w) AM_BASE(m_bgvideoram)
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBRRRRGGGG_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_be_w) AM_SHARE("paletteram")
AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK("bank1")
AM_RANGE(0xf800, 0xf800) AM_READ_PORT("JOY1")
AM_RANGE(0xf801, 0xf801) AM_READ_PORT("BUTTONS1")
@@ -166,7 +166,7 @@ static ADDRESS_MAP_START( gemini_map, AS_PROGRAM, 8, tecmo_state )
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE_LEGACY(tecmo_txvideoram_w) AM_BASE(m_txvideoram)
AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE_LEGACY(tecmo_fgvideoram_w) AM_BASE(m_fgvideoram)
AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE_LEGACY(tecmo_bgvideoram_w) AM_BASE(m_bgvideoram)
- AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBRRRRGGGG_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_be_w) AM_SHARE("paletteram")
AM_RANGE(0xe800, 0xefff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK("bank1")
AM_RANGE(0xf800, 0xf800) AM_READ_PORT("JOY1")
@@ -195,7 +195,7 @@ static ADDRESS_MAP_START( silkworm_map, AS_PROGRAM, 8, tecmo_state )
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE_LEGACY(tecmo_txvideoram_w) AM_BASE(m_txvideoram)
AM_RANGE(0xd000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBRRRRGGGG_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_be_w) AM_SHARE("paletteram")
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.c b/src/mame/drivers/tecmo16.c
index 0228fb22a8a..00d0dd0135f 100644
--- a/src/mame/drivers/tecmo16.c
+++ b/src/mame/drivers/tecmo16.c
@@ -53,7 +53,7 @@ static ADDRESS_MAP_START( fstarfrc_map, AS_PROGRAM, 16, tecmo16_state )
AM_RANGE(0x121800, 0x121fff) AM_RAM_WRITE_LEGACY(tecmo16_colorram2_w) AM_BASE(m_colorram2)
AM_RANGE(0x122000, 0x127fff) AM_RAM /* work area */
AM_RANGE(0x130000, 0x130fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0x140000, 0x141fff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x140000, 0x141fff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x150000, 0x150001) AM_WRITE_LEGACY(tecmo16_flipscreen_w)
AM_RANGE(0x150010, 0x150011) AM_WRITE(tecmo16_sound_command_w)
AM_RANGE(0x150030, 0x150031) AM_READ_PORT("DSW2") AM_WRITENOP /* ??? */
@@ -76,7 +76,7 @@ static ADDRESS_MAP_START( ginkun_map, AS_PROGRAM, 16, tecmo16_state )
AM_RANGE(0x123000, 0x123fff) AM_RAM_WRITE_LEGACY(tecmo16_colorram2_w) AM_BASE(m_colorram2)
AM_RANGE(0x124000, 0x124fff) AM_RAM /* extra RAM for Riot */
AM_RANGE(0x130000, 0x130fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0x140000, 0x141fff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x140000, 0x141fff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x150000, 0x150001) AM_WRITE_LEGACY(tecmo16_flipscreen_w)
AM_RANGE(0x150010, 0x150011) AM_WRITE(tecmo16_sound_command_w)
AM_RANGE(0x150020, 0x150021) AM_READ_PORT("EXTRA") AM_WRITENOP /* ??? */
diff --git a/src/mame/drivers/tecmosys.c b/src/mame/drivers/tecmosys.c
index 7868105f294..90e0a0bae8f 100644
--- a/src/mame/drivers/tecmosys.c
+++ b/src/mame/drivers/tecmosys.c
@@ -300,10 +300,10 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, tecmosys_state )
AM_RANGE(0x700000, 0x703fff) AM_RAM_WRITE_LEGACY(fg_tilemap_w) AM_BASE(m_fgtilemap_ram) // fix ram
AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_BASE(m_spriteram) // obj ram
AM_RANGE(0x880000, 0x88000b) AM_READ(unk880000_r)
- AM_RANGE(0x900000, 0x907fff) AM_RAM_WRITE_LEGACY(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // AM_WRITEONLY // obj pal
+ AM_RANGE(0x900000, 0x907fff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_SHARE("paletteram") // AM_WRITEONLY // obj pal
//AM_RANGE(0x980000, 0x9807ff) AM_WRITEONLY // bg pal
- //AM_RANGE(0x980800, 0x980fff) AM_WRITE_LEGACY(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // fix pal
+ //AM_RANGE(0x980800, 0x980fff) AM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_SHARE("paletteram") // fix pal
// the two above are as tested by the game code, I've only rolled them into one below to get colours to show right.
AM_RANGE(0x980000, 0x980fff) AM_RAM_WRITE_LEGACY(tilemap_paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE(m_tilemap_paletteram16)
diff --git a/src/mame/drivers/tehkanwc.c b/src/mame/drivers/tehkanwc.c
index de2dc464b0f..b7e5d62f322 100644
--- a/src/mame/drivers/tehkanwc.c
+++ b/src/mame/drivers/tehkanwc.c
@@ -219,7 +219,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_LEGACY(tehkanwc_videoram_w) AM_SHARE("share2") AM_BASE(m_videoram)
AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE_LEGACY(tehkanwc_colorram_w) AM_SHARE("share3") AM_BASE(m_colorram)
- AM_RANGE(0xd800, 0xddff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_be_w) AM_SHARE("share4") AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xd800, 0xddff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_be_w) AM_SHARE("share4") AM_SHARE("paletteram")
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_LEGACY(tehkanwc_videoram2_w) AM_SHARE("share6") AM_BASE(m_videoram2)
AM_RANGE(0xe800, 0xebff) AM_RAM AM_SHARE("share7") AM_BASE_SIZE(m_spriteram, m_spriteram_size) /* sprites */
@@ -245,7 +245,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_LEGACY(tehkanwc_videoram_w) AM_SHARE("share2")
AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE_LEGACY(tehkanwc_colorram_w) AM_SHARE("share3")
- AM_RANGE(0xd800, 0xddff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_be_w) AM_SHARE("share4") AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xd800, 0xddff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_be_w) AM_SHARE("share4") AM_SHARE("paletteram")
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_LEGACY(tehkanwc_videoram2_w) AM_SHARE("share6")
AM_RANGE(0xe800, 0xebff) AM_RAM AM_SHARE("share7") /* sprites */
diff --git a/src/mame/drivers/tetrisp2.c b/src/mame/drivers/tetrisp2.c
index 6b06a6f82cc..fd6b277a13a 100644
--- a/src/mame/drivers/tetrisp2.c
+++ b/src/mame/drivers/tetrisp2.c
@@ -289,7 +289,7 @@ static ADDRESS_MAP_START( tetrisp2_map, AS_PROGRAM, 16, tetrisp2_state )
AM_RANGE(0x104000, 0x107fff) AM_RAM // Spare Object RAM
AM_RANGE(0x108000, 0x10ffff) AM_RAM // Work RAM
AM_RANGE(0x200000, 0x23ffff) AM_READWRITE8_LEGACY(tetrisp2_priority_r, tetrisp2_priority_w, 0x00ff)
- AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE_LEGACY(tetrisp2_palette_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE_LEGACY(tetrisp2_palette_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x400000, 0x403fff) AM_RAM_WRITE_LEGACY(tetrisp2_vram_fg_w) AM_BASE(m_vram_fg) // Foreground
AM_RANGE(0x404000, 0x407fff) AM_RAM_WRITE_LEGACY(tetrisp2_vram_bg_w) AM_BASE(m_vram_bg) // Background
AM_RANGE(0x408000, 0x409fff) AM_RAM // ???
@@ -347,7 +347,7 @@ static ADDRESS_MAP_START( nndmseal_map, AS_PROGRAM, 16, tetrisp2_state )
AM_RANGE(0x108000, 0x10ffff) AM_RAM // Work RAM
AM_RANGE(0x200000, 0x23ffff) AM_WRITE8_LEGACY(tetrisp2_priority_w, 0x00ff) // Priority
AM_RANGE(0x200000, 0x23ffff) AM_READ_LEGACY(nndmseal_priority_r)
- AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE_LEGACY(tetrisp2_palette_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE_LEGACY(tetrisp2_palette_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x400000, 0x403fff) AM_RAM_WRITE_LEGACY(tetrisp2_vram_fg_w) AM_BASE(m_vram_fg ) // Foreground
AM_RANGE(0x404000, 0x407fff) AM_RAM_WRITE_LEGACY(tetrisp2_vram_bg_w) AM_BASE(m_vram_bg ) // Background
@@ -392,7 +392,7 @@ static ADDRESS_MAP_START( rockn1_map, AS_PROGRAM, 16, tetrisp2_state )
AM_RANGE(0x104000, 0x107fff) AM_RAM // Spare Object RAM
AM_RANGE(0x108000, 0x10ffff) AM_RAM // Work RAM
AM_RANGE(0x200000, 0x23ffff) AM_READWRITE8_LEGACY(tetrisp2_priority_r, rockn_priority_w, 0x00ff) // Priority
- AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE_LEGACY(tetrisp2_palette_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE_LEGACY(tetrisp2_palette_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x400000, 0x403fff) AM_RAM_WRITE_LEGACY(tetrisp2_vram_fg_w) AM_BASE(m_vram_fg) // Foreground
AM_RANGE(0x404000, 0x407fff) AM_RAM_WRITE_LEGACY(tetrisp2_vram_bg_w) AM_BASE(m_vram_bg) // Background
AM_RANGE(0x408000, 0x409fff) AM_RAM // ???
@@ -426,7 +426,7 @@ static ADDRESS_MAP_START( rockn2_map, AS_PROGRAM, 16, tetrisp2_state )
AM_RANGE(0x104000, 0x107fff) AM_RAM // Spare Object RAM
AM_RANGE(0x108000, 0x10ffff) AM_RAM // Work RAM
AM_RANGE(0x200000, 0x23ffff) AM_READWRITE8_LEGACY(tetrisp2_priority_r, rockn_priority_w, 0x00ff) // Priority
- AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE_LEGACY(tetrisp2_palette_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE_LEGACY(tetrisp2_palette_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x500000, 0x50ffff) AM_RAM // Line
AM_RANGE(0x600000, 0x60ffff) AM_RAM_WRITE_LEGACY(tetrisp2_vram_rot_w) AM_BASE(m_vram_rot) // Rotation
AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE_LEGACY(tetrisp2_vram_fg_w) AM_BASE(m_vram_fg) // Foreground
@@ -460,7 +460,7 @@ static ADDRESS_MAP_START( rocknms_main_map, AS_PROGRAM, 16, tetrisp2_state )
AM_RANGE(0x104000, 0x107fff) AM_RAM // Spare Object RAM
AM_RANGE(0x108000, 0x10ffff) AM_RAM // Work RAM
AM_RANGE(0x200000, 0x23ffff) AM_READWRITE8_LEGACY(tetrisp2_priority_r, rockn_priority_w, 0x00ff) // Priority
- AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE_LEGACY(tetrisp2_palette_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE_LEGACY(tetrisp2_palette_w) AM_SHARE("paletteram") // Palette
// AM_RANGE(0x500000, 0x50ffff) AM_RAM // Line
AM_RANGE(0x600000, 0x60ffff) AM_RAM_WRITE_LEGACY(tetrisp2_vram_rot_w) AM_BASE(m_vram_rot) // Rotation
AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE_LEGACY(tetrisp2_vram_fg_w) AM_BASE(m_vram_fg) // Foreground
@@ -495,7 +495,7 @@ static ADDRESS_MAP_START( rocknms_sub_map, AS_PROGRAM, 16, tetrisp2_state )
AM_RANGE(0x104000, 0x107fff) AM_RAM // Spare Object RAM
AM_RANGE(0x108000, 0x10ffff) AM_RAM // Work RAM
AM_RANGE(0x200000, 0x23ffff) AM_RAM_WRITE_LEGACY(rocknms_sub_priority_w) AM_BASE(m_rocknms_sub_priority) // Priority
- AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE_LEGACY(rocknms_sub_palette_w) AM_BASE_GENERIC(paletteram2) // Palette
+ AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE_LEGACY(rocknms_sub_palette_w) AM_SHARE("paletteram2") // Palette
// AM_RANGE(0x500000, 0x50ffff) AM_RAM // Line
AM_RANGE(0x600000, 0x60ffff) AM_RAM_WRITE_LEGACY(rocknms_sub_vram_rot_w) AM_BASE(m_rocknms_sub_vram_rot) // Rotation
AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE_LEGACY(rocknms_sub_vram_fg_w) AM_BASE(m_rocknms_sub_vram_fg) // Foreground
diff --git a/src/mame/drivers/thoop2.c b/src/mame/drivers/thoop2.c
index 0edd420be9b..1f90e05c6d5 100644
--- a/src/mame/drivers/thoop2.c
+++ b/src/mame/drivers/thoop2.c
@@ -89,7 +89,7 @@ static ADDRESS_MAP_START( thoop2_map, AS_PROGRAM, 16, thoop2_state )
AM_RANGE(0x100000, 0x101fff) AM_RAM_WRITE_LEGACY(thoop2_vram_w) AM_BASE(m_videoram) /* Video RAM */
AM_RANGE(0x108000, 0x108007) AM_WRITEONLY AM_BASE(m_vregs) /* Video Registers */
AM_RANGE(0x10800c, 0x10800d) AM_WRITE_LEGACY(watchdog_reset16_w) /* INT 6 ACK/Watchdog timer */
- AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)/* Palette */
+ AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")/* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(m_spriteram) /* Sprite RAM */
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW2")
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("DSW1")
diff --git a/src/mame/drivers/thunderj.c b/src/mame/drivers/thunderj.c
index 0f6a7b46f28..ef3b923b00c 100644
--- a/src/mame/drivers/thunderj.c
+++ b/src/mame/drivers/thunderj.c
@@ -164,7 +164,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, thunderj_state )
AM_RANGE(0x360010, 0x360011) AM_WRITE_LEGACY(latch_w)
AM_RANGE(0x360020, 0x360021) AM_WRITE_LEGACY(atarigen_sound_reset_w)
AM_RANGE(0x360030, 0x360031) AM_WRITE_LEGACY(atarigen_sound_w)
- AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_WRITE_LEGACY(atarigen_666_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_WRITE_LEGACY(atarigen_666_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x3effc0, 0x3effff) AM_READWRITE_LEGACY(thunderj_atarivc_r, thunderj_atarivc_w) AM_BASE(m_atarivc_data)
AM_RANGE(0x3f0000, 0x3f1fff) AM_RAM_WRITE_LEGACY(atarigen_playfield2_latched_msb_w) AM_BASE(m_playfield2)
AM_RANGE(0x3f2000, 0x3f3fff) AM_RAM_WRITE_LEGACY(atarigen_playfield_latched_lsb_w) AM_BASE(m_playfield)
diff --git a/src/mame/drivers/thunderx.c b/src/mame/drivers/thunderx.c
index dfff09f573d..e7284de87d6 100644
--- a/src/mame/drivers/thunderx.c
+++ b/src/mame/drivers/thunderx.c
@@ -39,7 +39,7 @@ READ8_MEMBER(thunderx_state::scontra_bankedram_r)
{
if (m_palette_selected)
- return machine().generic.paletteram.u8[offset];
+ return m_generic_paletteram_8[offset];
else
return m_ram[offset];
}
@@ -72,7 +72,7 @@ READ8_MEMBER(thunderx_state::thunderx_bankedram_r)
}
}
else
- return machine().generic.paletteram.u8[offset];
+ return m_generic_paletteram_8[offset];
}
WRITE8_MEMBER(thunderx_state::thunderx_bankedram_w)
@@ -606,7 +606,7 @@ static MACHINE_START( scontra )
{
thunderx_state *state = machine.driver_data<thunderx_state>();
- machine.generic.paletteram.u8 = auto_alloc_array_clear(machine, UINT8, 0x800);
+ state->m_generic_paletteram_8.allocate(0x800);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");
@@ -619,7 +619,6 @@ static MACHINE_START( scontra )
state->save_item(NAME(state->m_palette_selected));
state->save_item(NAME(state->m_rambank));
state->save_item(NAME(state->m_pmcbank));
- state_save_register_global_pointer(machine, machine.generic.paletteram.u8, 0x800);
}
static MACHINE_START( thunderx )
diff --git a/src/mame/drivers/tigeroad.c b/src/mame/drivers/tigeroad.c
index 7c5356fba6d..e4d7941e3bc 100644
--- a/src/mame/drivers/tigeroad.c
+++ b/src/mame/drivers/tigeroad.c
@@ -177,7 +177,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, tigeroad_state )
AM_RANGE(0xfec000, 0xfec7ff) AM_RAM_WRITE_LEGACY(tigeroad_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0xfe8000, 0xfe8003) AM_WRITE_LEGACY(tigeroad_scroll_w)
AM_RANGE(0xfe800e, 0xfe800f) AM_WRITEONLY /* fe800e = watchdog or IRQ acknowledge */
- AM_RANGE(0xff8200, 0xff867f) AM_RAM_WRITE_LEGACY(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xff8200, 0xff867f) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0xffc000, 0xffffff) AM_RAM AM_BASE(m_ram16)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tmaster.c b/src/mame/drivers/tmaster.c
index d94c27ebf91..2d6cbb6d5eb 100644
--- a/src/mame/drivers/tmaster.c
+++ b/src/mame/drivers/tmaster.c
@@ -538,7 +538,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_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w ) AM_BASE_GENERIC(paletteram)
+ AM_RANGE( 0x600000, 0x601fff ) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w ) AM_SHARE("paletteram")
AM_RANGE( 0x800000, 0x800001 ) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff )
diff --git a/src/mame/drivers/tmmjprd.c b/src/mame/drivers/tmmjprd.c
index a5f6bc5bbdf..cb047523b96 100644
--- a/src/mame/drivers/tmmjprd.c
+++ b/src/mame/drivers/tmmjprd.c
@@ -617,11 +617,11 @@ INPUT_PORTS_END
WRITE32_MEMBER(tmmjprd_state::tmmjprd_paletteram_dword_w)
{
int r,g,b;
- COMBINE_DATA(&machine().generic.paletteram.u32[offset]);
+ COMBINE_DATA(&m_generic_paletteram_32[offset]);
- b = ((machine().generic.paletteram.u32[offset] & 0x000000ff) >>0);
- r = ((machine().generic.paletteram.u32[offset] & 0x0000ff00) >>8);
- g = ((machine().generic.paletteram.u32[offset] & 0x00ff0000) >>16);
+ b = ((m_generic_paletteram_32[offset] & 0x000000ff) >>0);
+ r = ((m_generic_paletteram_32[offset] & 0x0000ff00) >>8);
+ g = ((m_generic_paletteram_32[offset] & 0x00ff0000) >>16);
palette_set_color(machine(),offset,MAKE_RGB(r,g,b));
}
@@ -693,7 +693,7 @@ static ADDRESS_MAP_START( tmmjprd_map, AS_PROGRAM, 32, tmmjprd_state )
AM_RANGE(0x28c000, 0x28ffff) AM_READWRITE(tmmjprd_tilemap3_r,tmmjprd_tilemap3_w)
/* ?? is palette ram shared with sprites in this case or just a different map */
AM_RANGE(0x290000, 0x29bfff) AM_RAM AM_BASE(m_spriteram)
- AM_RANGE(0x29c000, 0x29ffff) AM_RAM_WRITE(tmmjprd_paletteram_dword_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x29c000, 0x29ffff) AM_RAM_WRITE(tmmjprd_paletteram_dword_w) AM_SHARE("paletteram")
AM_RANGE(0x400000, 0x400003) AM_READ(tmmjprd_mux_r) AM_DEVWRITE_LEGACY("eeprom", tmmjprd_eeprom_write)
AM_RANGE(0xf00000, 0xffffff) AM_RAM
diff --git a/src/mame/drivers/tmnt.c b/src/mame/drivers/tmnt.c
index 618d8dbba9d..4f7a173d07b 100644
--- a/src/mame/drivers/tmnt.c
+++ b/src/mame/drivers/tmnt.c
@@ -558,7 +558,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_RAM_WRITE_LEGACY(tmnt_paletteram_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE_LEGACY(tmnt_paletteram_word_w) AM_SHARE("paletteram")
AM_RANGE(0x0a0000, 0x0a0001) AM_READ_PORT("COINS") AM_WRITE_LEGACY(tmnt_0a0000_w)
AM_RANGE(0x0a0002, 0x0a0003) AM_READ_PORT("P1")
AM_RANGE(0x0a0004, 0x0a0005) AM_READ_PORT("P2")
@@ -579,7 +579,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_RAM_WRITE_LEGACY(tmnt_paletteram_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE_LEGACY(tmnt_paletteram_word_w) AM_SHARE("paletteram")
AM_RANGE(0x0a0000, 0x0a0001) AM_READ_PORT("COINS") AM_WRITE_LEGACY(tmnt_0a0000_w)
AM_RANGE(0x0a0002, 0x0a0003) AM_READ_PORT("P1")
AM_RANGE(0x0a0004, 0x0a0005) AM_READ_PORT("P2")
@@ -600,7 +600,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_RAM_WRITE_LEGACY(tmnt_paletteram_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE_LEGACY(tmnt_paletteram_word_w) AM_SHARE("paletteram")
AM_RANGE(0x0a0000, 0x0a0001) AM_READ_PORT("COINS") AM_WRITE_LEGACY(tmnt_0a0000_w)
AM_RANGE(0x0a0002, 0x0a0003) AM_READ_PORT("P1")
AM_RANGE(0x0a0004, 0x0a0005) AM_READ_PORT("P2")
@@ -621,7 +621,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_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x090000, 0x090fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
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")
@@ -640,7 +640,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_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x090000, 0x093fff) AM_RAM /*main RAM */
AM_RANGE(0x0a0000, 0x0a0001) AM_READ_PORT("COINS")
AM_RANGE(0x0a0002, 0x0a0003) AM_READ_PORT("P1")
@@ -671,7 +671,7 @@ static ADDRESS_MAP_START( blswhstl_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0x180000, 0x183fff) AM_DEVREADWRITE_LEGACY("k052109", k052109_word_r, k052109_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_BASE(m_spriteram)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x500000, 0x50003f) AM_DEVREADWRITE_LEGACY("k054000", k054000_lsb_r, k054000_lsb_w)
AM_RANGE(0x680000, 0x68001f) AM_READWRITE(k053244_word_noA1_r, k053244_word_noA1_w)
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("P1")
@@ -713,7 +713,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_BASE(m_spriteram)
- AM_RANGE(0x108000, 0x108fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x108000, 0x108fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x10c000, 0x10cfff) AM_DEVREADWRITE_LEGACY("k053936", k053936_linectrl_r, k053936_linectrl_w) /* 053936? */
AM_RANGE(0x110000, 0x11001f) AM_WRITE(k053244_word_noA1_w) /* duplicate! */
AM_RANGE(0x114000, 0x11401f) AM_DEVREADWRITE_LEGACY("k053245", k053244_lsb_r, k053244_lsb_w) /* duplicate! */
@@ -737,7 +737,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_BASE(m_spriteram)
- AM_RANGE(0x108000, 0x108fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x108000, 0x108fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x10c000, 0x10cfff) AM_DEVREADWRITE_LEGACY("k053936", k053936_linectrl_r, k053936_linectrl_w)
AM_RANGE(0x110000, 0x11001f) AM_WRITE(k053244_word_noA1_w) /* duplicate! */
AM_RANGE(0x114000, 0x11401f) AM_DEVREADWRITE_LEGACY("k053245", k053244_lsb_r, k053244_lsb_w) /* duplicate! */
@@ -999,7 +999,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_BASE(m_tmnt2_rom)
AM_RANGE(0x104000, 0x107fff) AM_RAM AM_BASE(m_sunset_104000) /* main RAM */
- AM_RANGE(0x140000, 0x140fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x140000, 0x140fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x180000, 0x183fff) AM_RAM_WRITE(k053245_scattered_word_w) AM_BASE(m_spriteram) // k053245_scattered_word_r
AM_RANGE(0x1c0000, 0x1c0001) AM_READ_PORT("P1")
AM_RANGE(0x1c0002, 0x1c0003) AM_READ_PORT("P2")
@@ -1025,7 +1025,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_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x140000, 0x140fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x180000, 0x183fff) AM_READWRITE(k053245_scattered_word_r, k053245_scattered_word_w) AM_BASE(m_spriteram)
AM_RANGE(0x1c0000, 0x1c0001) AM_READ_PORT("P1")
AM_RANGE(0x1c0002, 0x1c0003) AM_READ_PORT("P2")
@@ -1051,7 +1051,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_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x14c000, 0x14cfff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x14e700, 0x14e71f) AM_DEVWRITE_LEGACY("k053251", k053251_lsb_w)
AM_RANGE(0x180000, 0x183fff) AM_READWRITE(k053245_scattered_word_r, k053245_scattered_word_w) AM_BASE(m_spriteram)
AM_RANGE(0x184000, 0x18ffff) AM_RAM
@@ -1077,7 +1077,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_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x300000, 0x30001f) AM_DEVWRITE_LEGACY("k053251", k053251_lsb_w)
AM_RANGE(0x400000, 0x400003) AM_DEVREAD8_LEGACY("k053260", punkshot_sound_r, 0x00ff) /* K053260 */
AM_RANGE(0x400000, 0x400001) AM_DEVWRITE8_LEGACY("k053260", k053260_w, 0x00ff)
diff --git a/src/mame/drivers/tnzs.c b/src/mame/drivers/tnzs.c
index 7fa2acfeff1..39870caabe5 100644
--- a/src/mame/drivers/tnzs.c
+++ b/src/mame/drivers/tnzs.c
@@ -761,7 +761,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, tnzs_state )
/* arknoid2, extrmatn, plumppop and drtoppel have PROMs instead of RAM */
/* drtoppel writes here anyway! (maybe leftover from tests during development) */
/* so the handler is patched out in init_drtopple() */
- AM_RANGE(0xf800, 0xfbff) AM_RAM_WRITE_LEGACY(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf800, 0xfbff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_SHARE("paletteram")
ADDRESS_MAP_END
static ADDRESS_MAP_START( cpu0_type2, AS_PROGRAM, 8, tnzs_state )
@@ -824,7 +824,7 @@ static ADDRESS_MAP_START( tnzsb_cpu1_map, AS_PROGRAM, 8, tnzs_state )
AM_RANGE(0xd000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xefff) AM_RAM AM_SHARE("share1")
AM_RANGE(0xf000, 0xf003) AM_READONLY
- AM_RANGE(0xf000, 0xf3ff) AM_WRITE_LEGACY(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf000, 0xf3ff) AM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_SHARE("paletteram")
ADDRESS_MAP_END
static ADDRESS_MAP_START( kabukiz_cpu1_map, AS_PROGRAM, 8, tnzs_state )
@@ -839,7 +839,7 @@ static ADDRESS_MAP_START( kabukiz_cpu1_map, AS_PROGRAM, 8, tnzs_state )
AM_RANGE(0xc002, 0xc002) AM_READ_PORT("IN2")
AM_RANGE(0xd000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xefff) AM_RAM AM_SHARE("share1")
- AM_RANGE(0xf800, 0xfbff) AM_WRITE_LEGACY(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf800, 0xfbff) AM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_SHARE("paletteram")
ADDRESS_MAP_END
static ADDRESS_MAP_START( tnzsb_cpu2_map, AS_PROGRAM, 8, tnzs_state )
@@ -871,11 +871,11 @@ WRITE8_MEMBER(tnzs_state::jpopnics_palette_w)
{
int r, g, b;
UINT16 paldata;
- machine().generic.paletteram.u8[offset] = data;
+ m_generic_paletteram_8[offset] = data;
offset = offset >> 1;
- paldata = (machine().generic.paletteram.u8[offset * 2] << 8) | machine().generic.paletteram.u8[(offset * 2 + 1)];
+ paldata = (m_generic_paletteram_8[offset * 2] << 8) | m_generic_paletteram_8[(offset * 2 + 1)];
g = (paldata >> 12) & 0x000f;
r = (paldata >> 4) & 0x000f;
@@ -897,7 +897,7 @@ static ADDRESS_MAP_START( jpopnics_main_map, AS_PROGRAM, 8, tnzs_state )
AM_RANGE(0xf300, 0xf303) AM_MIRROR(0xfc) AM_DEVWRITE_LEGACY("spritegen", spritectrl_w8) /* control registers (0x80 mirror used by Arkanoid 2) */
AM_RANGE(0xf400, 0xf400) AM_DEVWRITE_LEGACY("spritegen", spritebgflag_w8) /* enable / disable background transparency */
AM_RANGE(0xf600, 0xf600) AM_READNOP AM_WRITE_LEGACY(tnzs_bankswitch_w)
- AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(jpopnics_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(jpopnics_palette_w) AM_SHARE("paletteram")
ADDRESS_MAP_END
WRITE8_MEMBER(tnzs_state::jpopnics_subbankswitch_w)
diff --git a/src/mame/drivers/toaplan2.c b/src/mame/drivers/toaplan2.c
index 75244f1073b..00bb146c6b0 100644
--- a/src/mame/drivers/toaplan2.c
+++ b/src/mame/drivers/toaplan2.c
@@ -1028,7 +1028,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_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x140000, 0x14000d) AM_DEVREADWRITE_LEGACY("gp9001vdp0", gp9001_vdp_r, gp9001_vdp_w)
AM_RANGE(0x180000, 0x180001) AM_READ_PORT("DSWA")
AM_RANGE(0x180010, 0x180011) AM_READ_PORT("DSWB")
@@ -1045,7 +1045,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_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x100000, 0x100001) AM_READ(ghox_p1_h_analog_r)
AM_RANGE(0x140000, 0x14000d) AM_DEVREADWRITE_LEGACY("gp9001vdp0", gp9001_vdp_r, gp9001_vdp_w)
AM_RANGE(0x180000, 0x180001) AM_READWRITE(ghox_mcu_r, ghox_mcu_w) // really part of shared RAM
@@ -1069,7 +1069,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_LEGACY("gp9001vdp0", gp9001_vdp_r, gp9001_vdp_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x500000, 0x50000d) AM_DEVREADWRITE_LEGACY("gp9001vdp1", gp9001_vdp_r, gp9001_vdp_w)
AM_RANGE(0x700000, 0x700001) AM_READ(video_count_r) // test bit 8
ADDRESS_MAP_END
@@ -1084,7 +1084,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_LEGACY("gp9001vdp0", gp9001_vdp_r, gp9001_vdp_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x700000, 0x700001) AM_READ(video_count_r) // test bit 8
ADDRESS_MAP_END
@@ -1106,7 +1106,7 @@ static ADDRESS_MAP_START( kbash2_68k_mem, AS_PROGRAM, 16, toaplan2_state )
AM_RANGE(0x200028, 0x200029) AM_DEVWRITE_LEGACY("oki1", oki_bankswitch_w)
AM_RANGE(0x20002c, 0x20002d) AM_READ(video_count_r)
AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE_LEGACY("gp9001vdp0", gp9001_vdp_r, gp9001_vdp_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
ADDRESS_MAP_END
@@ -1114,7 +1114,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_LEGACY("gp9001vdp0", gp9001_vdp_r, gp9001_vdp_w)
- AM_RANGE(0x300000, 0x300fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x300000, 0x300fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x400000, 0x401fff) AM_RAM_WRITE_LEGACY(toaplan2_txvideoram16_w) AM_BASE_SIZE(m_txvideoram16, m_tx_vram_size)
AM_RANGE(0x402000, 0x4021ff) AM_RAM_WRITE_LEGACY(toaplan2_txvideoram16_offs_w) AM_BASE_SIZE(m_txvideoram16_offs, m_tx_offs_vram_size)
AM_RANGE(0x402200, 0x402fff) AM_RAM
@@ -1137,7 +1137,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_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x140000, 0x14000d) AM_DEVREADWRITE_LEGACY("gp9001vdp0", 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)
@@ -1155,7 +1155,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_LEGACY("gp9001vdp0", pipibibi_bootleg_spriteram16_r, pipibibi_bootleg_spriteram16_w) // SpriteRAM
AM_RANGE(0x083800, 0x087fff) AM_RAM // SpriteRAM (unused)
- AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x120000, 0x120fff) AM_RAM // Copy of SpriteRAM ?
// AM_RANGE(0x13f000, 0x13f001) AM_WRITENOP // ???
AM_RANGE(0x180000, 0x182fff) AM_DEVREADWRITE_LEGACY("gp9001vdp0", pipibibi_bootleg_videoram16_r, pipibibi_bootleg_videoram16_w) // TileRAM
@@ -1182,7 +1182,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_LEGACY("gp9001vdp0", gp9001_vdp_r, gp9001_vdp_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE_LEGACY(toaplan2_txvideoram16_w) AM_BASE_SIZE(m_txvideoram16, m_tx_vram_size)
AM_RANGE(0x502000, 0x5021ff) AM_RAM_WRITE_LEGACY(toaplan2_txvideoram16_offs_w) AM_BASE_SIZE(m_txvideoram16_offs, m_tx_offs_vram_size)
AM_RANGE(0x503000, 0x5031ff) AM_RAM_WRITE_LEGACY(toaplan2_txscrollram16_w) AM_BASE_SIZE(m_txscrollram16, m_tx_scroll_vram_size)
@@ -1204,7 +1204,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_LEGACY("gp9001vdp0", gp9001_vdp_r, gp9001_vdp_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE_LEGACY(toaplan2_txvideoram16_w) AM_BASE_SIZE(m_txvideoram16, m_tx_vram_size)
AM_RANGE(0x502000, 0x5021ff) AM_RAM_WRITE_LEGACY(toaplan2_txvideoram16_offs_w) AM_BASE_SIZE(m_txvideoram16_offs, m_tx_offs_vram_size)
AM_RANGE(0x503000, 0x5031ff) AM_RAM_WRITE_LEGACY(toaplan2_txscrollram16_w) AM_BASE_SIZE(m_txscrollram16, m_tx_scroll_vram_size)
@@ -1223,7 +1223,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_LEGACY("gp9001vdp0", gp9001_vdp_r, gp9001_vdp_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x700000, 0x700001) AM_READ(video_count_r)
ADDRESS_MAP_END
@@ -1237,7 +1237,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_LEGACY("gp9001vdp0", gp9001_vdp_r, gp9001_vdp_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x500000, 0x50000d) AM_DEVREADWRITE_LEGACY("gp9001vdp1", gp9001_vdp_r, gp9001_vdp_w)
AM_RANGE(0x700000, 0x700001) AM_READ(video_count_r)
ADDRESS_MAP_END
@@ -1247,7 +1247,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_LEGACY("gp9001vdp0", gp9001_vdp_r, gp9001_vdp_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x500000, 0x500003) AM_DEVREADWRITE8_LEGACY("ymsnd", ym2151_r, ym2151_w, 0x00ff)
AM_RANGE(0x600000, 0x600001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("JMPR")
@@ -1276,7 +1276,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_LEGACY("gp9001vdp0", gp9001_vdp_r, gp9001_vdp_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x401000, 0x4017ff) AM_RAM // Unused palette RAM
AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE_LEGACY(toaplan2_txvideoram16_w) AM_BASE_SIZE(m_txvideoram16, m_tx_vram_size)
AM_RANGE(0x502000, 0x5021ff) AM_RAM_WRITE_LEGACY(toaplan2_txvideoram16_offs_w) AM_BASE_SIZE(m_txvideoram16_offs, m_tx_offs_vram_size)
@@ -1300,7 +1300,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_LEGACY("gp9001vdp0", gp9001_vdp_r, gp9001_vdp_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x401000, 0x4017ff) AM_RAM // Unused palette RAM
AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE_LEGACY(toaplan2_txvideoram16_w) AM_BASE_SIZE(m_txvideoram16, m_tx_vram_size)
AM_RANGE(0x502000, 0x5021ff) AM_RAM_WRITE_LEGACY(toaplan2_txvideoram16_offs_w) AM_BASE_SIZE(m_txvideoram16_offs, m_tx_offs_vram_size)
@@ -1323,7 +1323,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_LEGACY("gp9001vdp0", gp9001_vdp_r, gp9001_vdp_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE_LEGACY(toaplan2_txvideoram16_w) AM_BASE_SIZE(m_txvideoram16, m_tx_vram_size)
AM_RANGE(0x502000, 0x5021ff) AM_RAM_WRITE_LEGACY(toaplan2_txvideoram16_offs_w) AM_BASE_SIZE(m_txvideoram16_offs, m_tx_offs_vram_size)
AM_RANGE(0x502200, 0x502fff) AM_RAM
@@ -1337,7 +1337,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_LEGACY(toaplan2_txvideoram16_w) AM_BASE_SIZE(m_txvideoram16, m_tx_vram_size)
- AM_RANGE(0x202000, 0x202fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) AM_SIZE(m_paletteram_size)
+ AM_RANGE(0x202000, 0x202fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram") AM_SIZE(m_paletteram_size)
AM_RANGE(0x203000, 0x2031ff) AM_RAM_WRITE_LEGACY(toaplan2_txvideoram16_offs_w) AM_BASE_SIZE(m_txvideoram16_offs, m_tx_offs_vram_size)
AM_RANGE(0x203200, 0x2033ff) AM_RAM_WRITE_LEGACY(toaplan2_txscrollram16_w) AM_BASE_SIZE(m_txscrollram16, m_tx_scroll_vram_size)
AM_RANGE(0x203400, 0x207fff) AM_RAM AM_BASE_SIZE(m_mainram16, m_mainram_overlap_size)
@@ -1367,7 +1367,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_LEGACY(toaplan2_txvideoram16_w) AM_BASE_SIZE(m_txvideoram16, m_tx_vram_size)
- AM_RANGE(0x202000, 0x202fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) AM_SIZE(m_paletteram_size)
+ AM_RANGE(0x202000, 0x202fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram") AM_SIZE(m_paletteram_size)
AM_RANGE(0x203000, 0x2031ff) AM_RAM_WRITE_LEGACY(toaplan2_txvideoram16_offs_w) AM_BASE_SIZE(m_txvideoram16_offs, m_tx_offs_vram_size)
AM_RANGE(0x203200, 0x2033ff) AM_RAM_WRITE_LEGACY(toaplan2_txscrollram16_w) AM_BASE_SIZE(m_txscrollram16, m_tx_scroll_vram_size)
AM_RANGE(0x203400, 0x207fff) AM_RAM AM_BASE_SIZE(m_mainram16, m_mainram_overlap_size)
diff --git a/src/mame/drivers/toki.c b/src/mame/drivers/toki.c
index 56d3b5a2cdd..e836086468e 100644
--- a/src/mame/drivers/toki.c
+++ b/src/mame/drivers/toki.c
@@ -93,7 +93,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_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x06e000, 0x06e7ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x06e800, 0x06efff) AM_RAM_WRITE_LEGACY(toki_background1_videoram16_w) AM_BASE(m_background1_videoram16)
AM_RANGE(0x06f000, 0x06f7ff) AM_RAM_WRITE_LEGACY(toki_background2_videoram16_w) AM_BASE(m_background2_videoram16)
AM_RANGE(0x06f800, 0x06ffff) AM_RAM_WRITE_LEGACY(toki_foreground_videoram16_w) AM_BASE(m_videoram)
@@ -108,7 +108,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_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x06e000, 0x06e7ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x06e800, 0x06efff) AM_RAM_WRITE_LEGACY(toki_background1_videoram16_w) AM_BASE(m_background1_videoram16)
AM_RANGE(0x06f000, 0x06f7ff) AM_RAM_WRITE_LEGACY(toki_background2_videoram16_w) AM_BASE(m_background2_videoram16)
AM_RANGE(0x06f800, 0x06ffff) AM_RAM_WRITE_LEGACY(toki_foreground_videoram16_w) AM_BASE(m_videoram)
diff --git a/src/mame/drivers/toobin.c b/src/mame/drivers/toobin.c
index 8dc2baa5600..5d0f72d5048 100644
--- a/src/mame/drivers/toobin.c
+++ b/src/mame/drivers/toobin.c
@@ -113,7 +113,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, toobin_state )
AM_RANGE(0xc00000, 0xc07fff) AM_RAM_WRITE_LEGACY(atarigen_playfield_large_w) AM_BASE(m_playfield)
AM_RANGE(0xc08000, 0xc097ff) AM_MIRROR(0x046000) AM_RAM_WRITE_LEGACY(atarigen_alpha_w) AM_BASE(m_alpha)
AM_RANGE(0xc09800, 0xc09fff) AM_MIRROR(0x046000) AM_READWRITE_LEGACY(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
- AM_RANGE(0xc10000, 0xc107ff) AM_MIRROR(0x047800) AM_RAM_WRITE_LEGACY(toobin_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xc10000, 0xc107ff) AM_MIRROR(0x047800) AM_RAM_WRITE_LEGACY(toobin_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0xff6000, 0xff6001) AM_READNOP /* who knows? read at controls time */
AM_RANGE(0xff8000, 0xff8001) AM_MIRROR(0x4500fe) AM_WRITE_LEGACY(watchdog_reset16_w)
AM_RANGE(0xff8100, 0xff8101) AM_MIRROR(0x4500fe) AM_WRITE_LEGACY(atarigen_sound_w)
diff --git a/src/mame/drivers/topspeed.c b/src/mame/drivers/topspeed.c
index 738ad96d82d..083f8d9e086 100644
--- a/src/mame/drivers/topspeed.c
+++ b/src/mame/drivers/topspeed.c
@@ -441,7 +441,7 @@ static WRITE8_DEVICE_HANDLER( topspeed_msm5205_stop_w )
static ADDRESS_MAP_START( topspeed_map, AS_PROGRAM, 16, topspeed_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(sharedram_r, sharedram_w) AM_BASE_SIZE(m_sharedram, m_sharedram_size)
- AM_RANGE(0x500000, 0x503fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x500000, 0x503fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x600002, 0x600003) AM_WRITE(cpua_ctrl_w)
AM_RANGE(0x7e0000, 0x7e0001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
AM_RANGE(0x7e0002, 0x7e0003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
diff --git a/src/mame/drivers/trvmadns.c b/src/mame/drivers/trvmadns.c
index 0a6a471d11d..3606dda6c4b 100644
--- a/src/mame/drivers/trvmadns.c
+++ b/src/mame/drivers/trvmadns.c
@@ -165,9 +165,9 @@ WRITE8_MEMBER(trvmadns_state::trvmadns_gfxram_w)
WRITE8_MEMBER(trvmadns_state::trvmadns_palette_w)
{
int r,g,b,datax;
- machine().generic.paletteram.u8[offset] = data;
+ m_generic_paletteram_8[offset] = data;
offset>>=1;
- datax=machine().generic.paletteram.u8[offset*2+1]+256*machine().generic.paletteram.u8[offset*2];
+ datax=m_generic_paletteram_8[offset*2+1]+256*m_generic_paletteram_8[offset*2];
b = (((datax & 0x0007)>>0) | ((datax & 0x0200)>>6)) ^ 0xf;
r = (((datax & 0x0038)>>3) | ((datax & 0x0400)>>7)) ^ 0xf;
@@ -218,7 +218,7 @@ static ADDRESS_MAP_START( cpu_map, AS_PROGRAM, 8, trvmadns_state )
AM_RANGE(0x6000, 0x7fff) AM_WRITE(trvmadns_gfxram_w) AM_BASE(m_gfxram)
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa7ff) AM_RAM_WRITE(trvmadns_tileram_w) AM_BASE(m_tileram)
- AM_RANGE(0xc000, 0xc01f) AM_RAM_WRITE(trvmadns_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xc000, 0xc01f) AM_RAM_WRITE(trvmadns_palette_w) AM_SHARE("paletteram")
AM_RANGE(0xe000, 0xe000) AM_WRITE(w2)//NOP
AM_RANGE(0xe004, 0xe004) AM_WRITE(w3)//NOP
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tumbleb.c b/src/mame/drivers/tumbleb.c
index 8d3d962fc7c..ecc85f25863 100644
--- a/src/mame/drivers/tumbleb.c
+++ b/src/mame/drivers/tumbleb.c
@@ -654,7 +654,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_BASE(m_mainram)
- AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) /* Bootleg sprite buffer */
AM_RANGE(0x160800, 0x160807) AM_WRITEONLY /* writes past the end of spriteram */
AM_RANGE(0x180000, 0x18000f) AM_READ(tumblepopb_controls_r)
@@ -676,7 +676,7 @@ static ADDRESS_MAP_START( fncywld_main_map, AS_PROGRAM, 16, tumbleb_state )
#endif
AM_RANGE(0x100000, 0x100003) AM_DEVREADWRITE8_LEGACY("ymsnd", ym2151_r, ym2151_w, 0x00ff)
AM_RANGE(0x100004, 0x100005) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
- AM_RANGE(0x140000, 0x140fff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x140000, 0x140fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) /* sprites */
AM_RANGE(0x160800, 0x16080f) AM_WRITEONLY /* goes slightly past the end of spriteram? */
AM_RANGE(0x180000, 0x18000f) AM_READ(tumblepopb_controls_r)
@@ -704,7 +704,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_LEGACY(bcstory_tilebank_w)
AM_RANGE(0x120000, 0x123fff) AM_RAM AM_BASE(m_mainram)
- AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x160000, 0x160fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) /* Bootleg sprite buffer */
AM_RANGE(0x180000, 0x18000f) AM_READ(tumblepopb_controls_r)
AM_RANGE(0x18000c, 0x18000d) AM_WRITENOP
@@ -720,7 +720,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( jumppop_main_map, AS_PROGRAM, 16, tumbleb_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x120000, 0x123fff) AM_RAM AM_BASE(m_mainram)
- AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x160000, 0x160fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) /* Bootleg sprite buffer */
AM_RANGE(0x180000, 0x180001) AM_NOP /* IRQ ack? */
AM_RANGE(0x180002, 0x180003) AM_READ_PORT("PLAYERS")
@@ -745,7 +745,7 @@ static ADDRESS_MAP_START( suprtrio_main_map, AS_PROGRAM, 16, tumbleb_state )
AM_RANGE(0xa00000, 0xa0000f) AM_RAM AM_BASE(m_control)
AM_RANGE(0xa20000, 0xa20fff) AM_RAM_WRITE_LEGACY(tumblepb_pf1_data_w) AM_BASE(m_pf1_data)
AM_RANGE(0xa22000, 0xa22fff) AM_RAM_WRITE_LEGACY(tumblepb_pf2_data_w) AM_BASE(m_pf2_data)
- AM_RANGE(0xcf0000, 0xcf05ff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xcf0000, 0xcf05ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0xe00000, 0xe00001) AM_READ_PORT("PLAYERS") AM_WRITE_LEGACY(suprtrio_tilebank_w)
AM_RANGE(0xe40000, 0xe40001) AM_READ_PORT("SYSTEM")
AM_RANGE(0xe80002, 0xe80003) AM_READ_PORT("DSW")
@@ -756,7 +756,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_BASE(m_mainram)
- AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) /* Bootleg sprite buffer */
AM_RANGE(0x160800, 0x160807) AM_WRITEONLY // writes past the end of spriteram
AM_RANGE(0x180000, 0x18000f) AM_READ(tumblepopb_controls_r)
@@ -839,7 +839,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_BASE(m_mainram)
- AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) /* Bootleg sprite buffer */
AM_RANGE(0x160800, 0x160807) AM_WRITEONLY /* writes past the end of spriteram */
AM_RANGE(0x180000, 0x18000f) AM_READ(tumblepopb_controls_r)
@@ -3754,7 +3754,8 @@ static DRIVER_INIT( 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 */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x140000, 0x140fff, FUNC(paletteram16_xxxxBBBBGGGGRRRR_word_w));
+ tumbleb_state *state = machine.driver_data<tumbleb_state>();
+ machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x140000, 0x140fff, write16_delegate(FUNC(tumbleb_state::paletteram16_xxxxBBBBGGGGRRRR_word_w), state));
/* slightly different banking */
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x100002, 0x100003, FUNC(chokchok_tilebank_w));
diff --git a/src/mame/drivers/tumblep.c b/src/mame/drivers/tumblep.c
index 88f39ba3c70..94662551cc3 100644
--- a/src/mame/drivers/tumblep.c
+++ b/src/mame/drivers/tumblep.c
@@ -113,7 +113,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, tumblep_state )
#endif
AM_RANGE(0x100000, 0x100001) AM_WRITE(tumblep_sound_w)
AM_RANGE(0x120000, 0x123fff) AM_RAM
- AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x180000, 0x18000f) AM_READ(tumblepop_controls_r)
AM_RANGE(0x18000c, 0x18000d) AM_WRITENOP
AM_RANGE(0x1a0000, 0x1a07ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
diff --git a/src/mame/drivers/tunhunt.c b/src/mame/drivers/tunhunt.c
index a92264d067a..8ef09471dc8 100644
--- a/src/mame/drivers/tunhunt.c
+++ b/src/mame/drivers/tunhunt.c
@@ -135,7 +135,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, tunhunt_state )
AM_RANGE(0x1080, 0x10ff) AM_WRITEONLY
AM_RANGE(0x1200, 0x12ff) AM_WRITEONLY
AM_RANGE(0x1400, 0x14ff) AM_WRITEONLY
- AM_RANGE(0x1600, 0x160f) AM_WRITEONLY AM_BASE_GENERIC(paletteram) /* COLRAM (D7-D4 SHADE; D3-D0 COLOR) */
+ AM_RANGE(0x1600, 0x160f) AM_WRITEONLY AM_SHARE("paletteram") /* COLRAM (D7-D4 SHADE; D3-D0 COLOR) */
AM_RANGE(0x1800, 0x1800) AM_WRITEONLY /* SHEL0H */
AM_RANGE(0x1a00, 0x1a00) AM_WRITEONLY /* SHEL1H */
AM_RANGE(0x1c00, 0x1c00) AM_WRITEONLY /* MOBJV */
diff --git a/src/mame/drivers/twin16.c b/src/mame/drivers/twin16.c
index bdcd48fc208..3af7fcfc741 100644
--- a/src/mame/drivers/twin16.c
+++ b/src/mame/drivers/twin16.c
@@ -237,7 +237,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, twin16_state )
AM_RANGE(0x040000, 0x043fff) AM_READ_BANK(COMRAM_r) AM_WRITE_BANK(COMRAM_w)
// AM_RANGE(0x044000, 0x04ffff) AM_NOP // miaj
AM_RANGE(0x060000, 0x063fff) AM_RAM
- AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE_LEGACY(twin16_paletteram_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE_LEGACY(twin16_paletteram_word_w) AM_SHARE("paletteram")
AM_RANGE(0x081000, 0x081fff) AM_WRITENOP
AM_RANGE(0x0a0000, 0x0a001b) AM_READ(twin16_input_r)
AM_RANGE(0x0a0000, 0x0a0001) AM_WRITE(twin16_CPUA_register_w)
@@ -272,7 +272,7 @@ static ADDRESS_MAP_START( fround_map, AS_PROGRAM, 16, twin16_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x043fff) AM_READ_BANK(COMRAM_r) AM_WRITE_BANK(COMRAM_w)
AM_RANGE(0x060000, 0x063fff) AM_RAM
- AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE_LEGACY(twin16_paletteram_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE_LEGACY(twin16_paletteram_word_w) AM_SHARE("paletteram")
AM_RANGE(0x0a0000, 0x0a001b) AM_READ(twin16_input_r)
AM_RANGE(0x0a0000, 0x0a0001) AM_WRITE(fround_CPU_register_w)
AM_RANGE(0x0a0008, 0x0a0009) AM_WRITE(sound_command_w)
diff --git a/src/mame/drivers/twincobr.c b/src/mame/drivers/twincobr.c
index 6bab507af5f..9f23e6c7404 100644
--- a/src/mame/drivers/twincobr.c
+++ b/src/mame/drivers/twincobr.c
@@ -278,7 +278,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("spriteram")
- AM_RANGE(0x050000, 0x050dff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x050000, 0x050dff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
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_LEGACY(twincobr_txscroll_w) /* text layer scroll */
diff --git a/src/mame/drivers/ultraman.c b/src/mame/drivers/ultraman.c
index 76188444228..695881bddb3 100644
--- a/src/mame/drivers/ultraman.c
+++ b/src/mame/drivers/ultraman.c
@@ -34,7 +34,7 @@ WRITE16_MEMBER(ultraman_state::sound_irq_trigger_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_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)/* Palette */
+ AM_RANGE(0x180000, 0x183fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")/* 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.c b/src/mame/drivers/ultrsprt.c
index db7879519e0..18233fa2d66 100644
--- a/src/mame/drivers/ultrsprt.c
+++ b/src/mame/drivers/ultrsprt.c
@@ -63,8 +63,8 @@ static SCREEN_UPDATE_IND16( ultrsprt )
WRITE32_MEMBER(ultrsprt_state::palette_w)
{
- COMBINE_DATA(&machine().generic.paletteram.u32[offset]);
- data = machine().generic.paletteram.u32[offset];
+ COMBINE_DATA(&m_generic_paletteram_32[offset]);
+ data = m_generic_paletteram_32[offset];
palette_set_color(machine(), (offset*2)+0, MAKE_RGB(pal5bit(data >> 26), pal5bit(data >> 21), pal5bit(data >> 16)));
palette_set_color(machine(), (offset*2)+1, MAKE_RGB(pal5bit(data >> 10), pal5bit(data >> 5), pal5bit(data >> 0)));
@@ -119,7 +119,7 @@ static ADDRESS_MAP_START( ultrsprt_map, AS_PROGRAM, 32, ultrsprt_state )
AM_RANGE(0x70000088, 0x7000008f) AM_DEVREAD_LEGACY("k056800", k056800_host_r)
AM_RANGE(0x700000e0, 0x700000e3) AM_WRITE(int_ack_w)
AM_RANGE(0x7f000000, 0x7f01ffff) AM_RAM AM_BASE(m_workram)
- AM_RANGE(0x7f700000, 0x7f703fff) AM_RAM_WRITE(palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x7f700000, 0x7f703fff) AM_RAM_WRITE(palette_w) AM_SHARE("paletteram")
AM_RANGE(0x7f800000, 0x7f9fffff) AM_MIRROR(0x00600000) AM_ROM AM_REGION("user1", 0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/umipoker.c b/src/mame/drivers/umipoker.c
index f9bead3cf54..52401a1ab18 100644
--- a/src/mame/drivers/umipoker.c
+++ b/src/mame/drivers/umipoker.c
@@ -305,7 +305,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_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x600000, 0x6007ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(umipoker_vram_0_w) AM_BASE(m_vram_0)
AM_RANGE(0x802000, 0x803fff) AM_RAM_WRITE(umipoker_vram_1_w) AM_BASE(m_vram_1)
AM_RANGE(0x804000, 0x805fff) AM_RAM_WRITE(umipoker_vram_2_w) AM_BASE(m_vram_2)
diff --git a/src/mame/drivers/undrfire.c b/src/mame/drivers/undrfire.c
index 382a99e393b..5e872c1459f 100644
--- a/src/mame/drivers/undrfire.c
+++ b/src/mame/drivers/undrfire.c
@@ -208,10 +208,10 @@ Extract a standard version of this
WRITE32_MEMBER(undrfire_state::color_ram_w)
{
int a,r,g,b;
- COMBINE_DATA(&machine().generic.paletteram.u32[offset]);
+ COMBINE_DATA(&m_generic_paletteram_32[offset]);
{
- a = machine().generic.paletteram.u32[offset];
+ a = m_generic_paletteram_32[offset];
r = (a & 0xff0000) >> 16;
g = (a & 0xff00) >> 8;
b = (a & 0xff);
@@ -486,7 +486,7 @@ static ADDRESS_MAP_START( undrfire_map, AS_PROGRAM, 32, undrfire_state )
AM_RANGE(0x830000, 0x83002f) AM_DEVREADWRITE_LEGACY("tc0480scp", tc0480scp_ctrl_long_r, tc0480scp_ctrl_long_w)
AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_long_r, tc0100scn_long_w) /* piv tilemaps */
AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_long_r, tc0100scn_ctrl_long_w)
- AM_RANGE(0xa00000, 0xa0ffff) AM_RAM_WRITE(color_ram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xa00000, 0xa0ffff) AM_RAM_WRITE(color_ram_w) AM_SHARE("paletteram")
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 */
@@ -505,7 +505,7 @@ static ADDRESS_MAP_START( cbombers_cpua_map, AS_PROGRAM, 32, undrfire_state )
AM_RANGE(0x830000, 0x83002f) AM_DEVREADWRITE_LEGACY("tc0480scp", tc0480scp_ctrl_long_r, tc0480scp_ctrl_long_w)
AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_long_r, tc0100scn_long_w) /* piv tilemaps */
AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_long_r, tc0100scn_ctrl_long_w)
- AM_RANGE(0xa00000, 0xa0ffff) AM_RAM_WRITE(color_ram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xa00000, 0xa0ffff) AM_RAM_WRITE(color_ram_w) AM_SHARE("paletteram")
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/unico.c b/src/mame/drivers/unico.c
index 14c48f31a53..359366c51b4 100644
--- a/src/mame/drivers/unico.c
+++ b/src/mame/drivers/unico.c
@@ -74,7 +74,7 @@ static ADDRESS_MAP_START( burglarx_map, AS_PROGRAM, 16, unico_state )
AM_RANGE(0x904000, 0x90ffff) AM_RAM_WRITE_LEGACY(unico_vram_w) AM_BASE(m_vram) // Layers 1, 2, 0
AM_RANGE(0x920000, 0x923fff) AM_RAM // ? 0
AM_RANGE(0x930000, 0x9307ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
- AM_RANGE(0x940000, 0x947fff) AM_RAM_WRITE_LEGACY(unico_palette_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x940000, 0x947fff) AM_RAM_WRITE_LEGACY(unico_palette_w) AM_SHARE("paletteram") // Palette
ADDRESS_MAP_END
@@ -162,7 +162,7 @@ static ADDRESS_MAP_START( zeropnt_map, AS_PROGRAM, 16, unico_state )
AM_RANGE(0x904000, 0x90ffff) AM_RAM_WRITE_LEGACY(unico_vram_w) AM_BASE(m_vram) // Layers 1, 2, 0
AM_RANGE(0x920000, 0x923fff) AM_RAM // ? 0
AM_RANGE(0x930000, 0x9307ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
- AM_RANGE(0x940000, 0x947fff) AM_RAM_WRITE_LEGACY(unico_palette_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x940000, 0x947fff) AM_RAM_WRITE_LEGACY(unico_palette_w) AM_SHARE("paletteram") // Palette
ADDRESS_MAP_END
@@ -236,7 +236,7 @@ static ADDRESS_MAP_START( zeropnt2_map, AS_PROGRAM, 32, unico_state )
AM_RANGE(0x904000, 0x90ffff) AM_RAM_WRITE_LEGACY(unico_vram32_w) AM_BASE(m_vram32) // Layers 1, 2, 0
AM_RANGE(0x920000, 0x923fff) AM_RAM // ? 0
AM_RANGE(0x930000, 0x9307ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
- AM_RANGE(0x940000, 0x947fff) AM_RAM_WRITE_LEGACY(unico_palette32_w) AM_BASE_GENERIC(paletteram ) // Palette
+ AM_RANGE(0x940000, 0x947fff) AM_RAM_WRITE_LEGACY(unico_palette32_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0xfe0000, 0xffffff) AM_RAM // RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/vamphalf.c b/src/mame/drivers/vamphalf.c
index 99f0abf9cc5..24588757e2b 100644
--- a/src/mame/drivers/vamphalf.c
+++ b/src/mame/drivers/vamphalf.c
@@ -187,12 +187,12 @@ WRITE32_MEMBER(vamphalf_state::paletteram32_w)
{
UINT16 paldata;
- COMBINE_DATA(&machine().generic.paletteram.u32[offset]);
+ COMBINE_DATA(&m_generic_paletteram_32[offset]);
- paldata = machine().generic.paletteram.u32[offset] & 0xffff;
+ paldata = m_generic_paletteram_32[offset] & 0xffff;
palette_set_color_rgb(machine(), offset*2 + 1, pal5bit(paldata >> 10), pal5bit(paldata >> 5), pal5bit(paldata >> 0));
- paldata = (machine().generic.paletteram.u32[offset] >> 16) & 0xffff;
+ paldata = (m_generic_paletteram_32[offset] >> 16) & 0xffff;
palette_set_color_rgb(machine(), offset*2 + 0, pal5bit(paldata >> 10), pal5bit(paldata >> 5), pal5bit(paldata >> 0));
}
@@ -320,14 +320,14 @@ WRITE16_MEMBER(vamphalf_state::boonggab_lamps_w)
static ADDRESS_MAP_START( common_map, AS_PROGRAM, 16, vamphalf_state )
AM_RANGE(0x00000000, 0x001fffff) AM_RAM AM_BASE(m_wram)
AM_RANGE(0x40000000, 0x4003ffff) AM_RAM AM_BASE(m_tiles)
- AM_RANGE(0x80000000, 0x8000ffff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x80000000, 0x8000ffff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
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_BASE(m_wram32)
AM_RANGE(0x40000000, 0x4003ffff) AM_RAM AM_BASE(m_tiles32)
- AM_RANGE(0x80000000, 0x8000ffff) AM_RAM_WRITE(paletteram32_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x80000000, 0x8000ffff) AM_RAM_WRITE(paletteram32_w) AM_SHARE("paletteram")
AM_RANGE(0xfff00000, 0xffffffff) AM_ROM AM_REGION("user1",0)
ADDRESS_MAP_END
@@ -442,7 +442,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( aoh_map, AS_PROGRAM, 32, vamphalf_state )
AM_RANGE(0x00000000, 0x003fffff) AM_RAM AM_BASE(m_wram32)
AM_RANGE(0x40000000, 0x4003ffff) AM_RAM AM_BASE(m_tiles32)
- AM_RANGE(0x80000000, 0x8000ffff) AM_RAM_WRITE(paletteram32_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x80000000, 0x8000ffff) AM_RAM_WRITE(paletteram32_w) AM_SHARE("paletteram")
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/vaportra.c b/src/mame/drivers/vaportra.c
index 62c245c7bfe..c2c6588705c 100644
--- a/src/mame/drivers/vaportra.c
+++ b/src/mame/drivers/vaportra.c
@@ -58,8 +58,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, vaportra_state )
AM_RANGE(0x280000, 0x281fff) AM_DEVREADWRITE_LEGACY("tilegen1", deco16ic_pf1_data_r, deco16ic_pf1_data_w)
AM_RANGE(0x282000, 0x283fff) AM_DEVREADWRITE_LEGACY("tilegen1", deco16ic_pf2_data_r, deco16ic_pf2_data_w)
AM_RANGE(0x2c0000, 0x2c000f) AM_DEVWRITE_LEGACY("tilegen1", deco16ic_pf_control_w)
- AM_RANGE(0x300000, 0x3009ff) AM_RAM_WRITE_LEGACY(vaportra_palette_24bit_rg_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0x304000, 0x3049ff) AM_RAM_WRITE_LEGACY(vaportra_palette_24bit_b_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0x300000, 0x3009ff) AM_RAM_WRITE_LEGACY(vaportra_palette_24bit_rg_w) AM_SHARE("paletteram")
+ AM_RANGE(0x304000, 0x3049ff) AM_RAM_WRITE_LEGACY(vaportra_palette_24bit_b_w) AM_SHARE("paletteram2")
AM_RANGE(0x308000, 0x308001) AM_NOP
AM_RANGE(0x30c000, 0x30c001) AM_DEVWRITE("spriteram", buffered_spriteram16_device, write)
AM_RANGE(0xff8000, 0xff87ff) AM_RAM AM_SHARE("spriteram")
diff --git a/src/mame/drivers/vegaeo.c b/src/mame/drivers/vegaeo.c
index cc977fa7187..dce9d36e75f 100644
--- a/src/mame/drivers/vegaeo.c
+++ b/src/mame/drivers/vegaeo.c
@@ -75,9 +75,9 @@ WRITE32_MEMBER(vegaeo_state::vega_palette_w)
{
UINT16 paldata;
- COMBINE_DATA(&machine().generic.paletteram.u32[offset]);
+ COMBINE_DATA(&m_generic_paletteram_32[offset]);
- paldata = machine().generic.paletteram.u32[offset] & 0x7fff;
+ paldata = m_generic_paletteram_32[offset] & 0x7fff;
palette_set_color_rgb(machine(), offset, pal5bit(paldata >> 10), pal5bit(paldata >> 5), pal5bit(paldata >> 0));
}
@@ -99,7 +99,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_LEGACY("at28c16", at28c16_r, at28c16_w, 0x000000ff)
- AM_RANGE(0xfc200000, 0xfc2003ff) AM_RAM_WRITE(vega_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xfc200000, 0xfc2003ff) AM_RAM_WRITE(vega_palette_w) AM_SHARE("paletteram")
AM_RANGE(0xfc400000, 0xfc40005b) AM_WRITENOP // crt registers ?
AM_RANGE(0xfc600000, 0xfc600003) AM_WRITENOP // soundlatch
AM_RANGE(0xfca00000, 0xfca00003) AM_WRITE(vega_misc_w)
diff --git a/src/mame/drivers/vendetta.c b/src/mame/drivers/vendetta.c
index 14e193a69d8..31f737309e2 100644
--- a/src/mame/drivers/vendetta.c
+++ b/src/mame/drivers/vendetta.c
@@ -169,9 +169,9 @@ static void vendetta_video_banking( running_machine &machine, int select )
if (select & 1)
{
space->install_read_bank(state->m_video_banking_base + 0x2000, state->m_video_banking_base + 0x2fff, "bank4" );
- space->install_legacy_write_handler(state->m_video_banking_base + 0x2000, state->m_video_banking_base + 0x2fff, FUNC(paletteram_xBBBBBGGGGGRRRRR_be_w) );
+ space->install_write_handler(state->m_video_banking_base + 0x2000, state->m_video_banking_base + 0x2fff, write8_delegate(FUNC(vendetta_state::paletteram_xBBBBBGGGGGRRRRR_be_w), state) );
space->install_legacy_readwrite_handler(*state->m_k053246, state->m_video_banking_base + 0x0000, state->m_video_banking_base + 0x0fff, FUNC(k053247_r), FUNC(k053247_w) );
- memory_set_bankptr(machine, "bank4", machine.generic.paletteram.v);
+ memory_set_bankptr(machine, "bank4", state->m_generic_paletteram_8);
}
else
{
@@ -464,7 +464,7 @@ static MACHINE_START( vendetta )
memory_configure_bank(machine, "bank1", 0, 28, &ROM[0x10000], 0x2000);
memory_set_bank(machine, "bank1", 0);
- machine.generic.paletteram.u8 = auto_alloc_array_clear(machine, UINT8, 0x1000);
+ state->m_generic_paletteram_8.allocate(0x1000);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");
@@ -478,7 +478,6 @@ static MACHINE_START( vendetta )
state->save_item(NAME(state->m_sprite_colorbase));
state->save_item(NAME(state->m_layer_colorbase));
state->save_item(NAME(state->m_layerpri));
- state_save_register_global_pointer(machine, machine.generic.paletteram.u8, 0x1000);
}
static MACHINE_RESET( vendetta )
diff --git a/src/mame/drivers/vigilant.c b/src/mame/drivers/vigilant.c
index a3ac3e7048b..34cac59c604 100644
--- a/src/mame/drivers/vigilant.c
+++ b/src/mame/drivers/vigilant.c
@@ -65,7 +65,7 @@ static ADDRESS_MAP_START( vigilant_map, AS_PROGRAM, 8, vigilant_state )
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") /* Fallthrough */
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc020, 0xc0df) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE_LEGACY(vigilant_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE_LEGACY(vigilant_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0xd000, 0xdfff) AM_RAM AM_BASE(m_videoram)
AM_RANGE(0xe000, 0xefff) AM_RAM
ADDRESS_MAP_END
@@ -86,7 +86,7 @@ static ADDRESS_MAP_START( kikcubic_map, AS_PROGRAM, 8, vigilant_state )
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") /* Fallthrough */
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc0ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
- AM_RANGE(0xc800, 0xcaff) AM_RAM_WRITE_LEGACY(vigilant_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xc800, 0xcaff) AM_RAM_WRITE_LEGACY(vigilant_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0xd000, 0xdfff) AM_RAM AM_BASE(m_videoram)
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/vindictr.c b/src/mame/drivers/vindictr.c
index 4a0ddc826f6..636f5ab41a5 100644
--- a/src/mame/drivers/vindictr.c
+++ b/src/mame/drivers/vindictr.c
@@ -96,7 +96,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, vindictr_state )
AM_RANGE(0x360010, 0x360011) AM_WRITENOP
AM_RANGE(0x360020, 0x360021) AM_WRITE_LEGACY(atarigen_sound_reset_w)
AM_RANGE(0x360030, 0x360031) AM_WRITE_LEGACY(atarigen_sound_w)
- AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_WRITE_LEGACY(vindictr_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_WRITE_LEGACY(vindictr_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x3f0000, 0x3f1fff) AM_MIRROR(0x8000) AM_RAM_WRITE_LEGACY(atarigen_playfield_w) AM_BASE(m_playfield)
AM_RANGE(0x3f2000, 0x3f3fff) AM_MIRROR(0x8000) AM_READWRITE_LEGACY(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
AM_RANGE(0x3f4000, 0x3f4f7f) AM_MIRROR(0x8000) AM_RAM_WRITE_LEGACY(atarigen_alpha_w) AM_BASE(m_alpha)
diff --git a/src/mame/drivers/vmetal.c b/src/mame/drivers/vmetal.c
index 5a5f6d19a84..85aa0f3d67b 100644
--- a/src/mame/drivers/vmetal.c
+++ b/src/mame/drivers/vmetal.c
@@ -224,7 +224,7 @@ static ADDRESS_MAP_START( varia_program_map, AS_PROGRAM, 16, vmetal_state )
AM_RANGE(0x160000, 0x16ffff) AM_READ_LEGACY(varia_crom_read) // cgrom read window ..
- AM_RANGE(0x170000, 0x173fff) AM_RAM_WRITE_LEGACY(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x170000, 0x173fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x174000, 0x174fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x175000, 0x177fff) AM_RAM
AM_RANGE(0x178000, 0x1787ff) AM_RAM AM_BASE(m_tlookup)
diff --git a/src/mame/drivers/volfied.c b/src/mame/drivers/volfied.c
index f8498f8b395..5f06c1dce9d 100644
--- a/src/mame/drivers/volfied.c
+++ b/src/mame/drivers/volfied.c
@@ -67,7 +67,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_LEGACY("pc090oj", pc090oj_word_r, pc090oj_word_w)
AM_RANGE(0x400000, 0x47ffff) AM_READWRITE_LEGACY(volfied_video_ram_r, volfied_video_ram_w)
- AM_RANGE(0x500000, 0x503fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x500000, 0x503fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x600000, 0x600001) AM_WRITE_LEGACY(volfied_video_mask_w)
AM_RANGE(0x700000, 0x700001) AM_WRITE_LEGACY(volfied_sprite_ctrl_w)
AM_RANGE(0xd00000, 0xd00001) AM_READWRITE_LEGACY(volfied_video_ctrl_r, volfied_video_ctrl_w)
diff --git a/src/mame/drivers/vroulet.c b/src/mame/drivers/vroulet.c
index e99a89d57a9..614a592a9b2 100644
--- a/src/mame/drivers/vroulet.c
+++ b/src/mame/drivers/vroulet.c
@@ -68,13 +68,13 @@ WRITE8_MEMBER(vroulet_state::vroulet_paletteram_w)
*/
int i,j,a,b;
- machine().generic.paletteram.u8[offset]=data;
+ m_generic_paletteram_8[offset]=data;
for(i=0;i<32;i++)
{
for(j=0;j<16;j++)
{
- a=machine().generic.paletteram.u8[((i*8+j)*2)&0xff ];
- b=machine().generic.paletteram.u8[((i*8+j)*2+1)&0xff ];
+ a=m_generic_paletteram_8[((i*8+j)*2)&0xff ];
+ b=m_generic_paletteram_8[((i*8+j)*2+1)&0xff ];
palette_set_color_rgb(machine(),i*16+j,pal4bit(b),pal4bit(b>>4),pal4bit(a));
}
}
@@ -127,7 +127,7 @@ static ADDRESS_MAP_START( vroulet_map, AS_PROGRAM, 8, vroulet_state )
AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(vroulet_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(vroulet_colorram_w) AM_BASE(m_colorram)
AM_RANGE(0xa000, 0xa001) AM_RAM AM_BASE(m_ball)
- AM_RANGE(0xb000, 0xb0ff) AM_WRITE(vroulet_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xb000, 0xb0ff) AM_WRITE(vroulet_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0xc000, 0xc000) AM_NOP
ADDRESS_MAP_END
diff --git a/src/mame/drivers/wardner.c b/src/mame/drivers/wardner.c
index 79c6b64488b..b5ffeddb734 100644
--- a/src/mame/drivers/wardner.c
+++ b/src/mame/drivers/wardner.c
@@ -180,7 +180,7 @@ static WRITE8_HANDLER( wardner_ramrom_bank_sw )
memory_set_bankptr(space->machine(), "bank1", &RAM[0x0000]);
memory_set_bankptr(space->machine(), "bank2", state->m_rambase_ae00);
memory_set_bankptr(space->machine(), "bank3", state->m_rambase_c000);
- memory_set_bankptr(space->machine(), "bank4", space->machine().generic.paletteram.v);
+ memory_set_bankptr(space->machine(), "bank4", state->m_generic_paletteram_8);
}
}
}
@@ -205,7 +205,7 @@ static ADDRESS_MAP_START( main_program_map, AS_PROGRAM, 8, wardner_state )
AM_RANGE(0x8000, 0x8fff) AM_WRITE_LEGACY(wardner_sprite_w) AM_SHARE("spriteram")
AM_RANGE(0x9000, 0x9fff) AM_ROM
- AM_RANGE(0xa000, 0xadff) AM_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_le_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xa000, 0xadff) AM_WRITE(paletteram_xBBBBBGGGGGRRRRR_le_w) AM_SHARE("paletteram")
AM_RANGE(0xae00, 0xafff) AM_RAM AM_BASE(m_rambase_ae00)
AM_RANGE(0xb000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_BASE(m_rambase_c000) AM_SHARE("share1") /* Shared RAM with Sound Z80 */
diff --git a/src/mame/drivers/wc90.c b/src/mame/drivers/wc90.c
index 605f5fab399..0c3a179c416 100644
--- a/src/mame/drivers/wc90.c
+++ b/src/mame/drivers/wc90.c
@@ -145,7 +145,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_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0xd800, 0xdfff) AM_RAM
- AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBRRRRGGGG_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_be_w) AM_SHARE("paletteram")
AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK("bank2")
AM_RANGE(0xf800, 0xfbff) AM_RAM AM_SHARE("share1")
AM_RANGE(0xfc00, 0xfc00) AM_WRITE(wc90_bankswitch1_w)
diff --git a/src/mame/drivers/wc90b.c b/src/mame/drivers/wc90b.c
index 8f8f51887a4..df74320ca00 100644
--- a/src/mame/drivers/wc90b.c
+++ b/src/mame/drivers/wc90b.c
@@ -164,7 +164,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_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0xd800, 0xdfff) AM_RAM
- AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_be_w) AM_SHARE("paletteram")
AM_RANGE(0xe800, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK("bank2")
AM_RANGE(0xf800, 0xfbff) AM_RAM AM_SHARE("share1")
diff --git a/src/mame/drivers/wecleman.c b/src/mame/drivers/wecleman.c
index e4918837201..75500d0ad6e 100644
--- a/src/mame/drivers/wecleman.c
+++ b/src/mame/drivers/wecleman.c
@@ -504,7 +504,7 @@ static ADDRESS_MAP_START( wecleman_map, AS_PROGRAM, 16, wecleman_state )
AM_RANGE(0x080000, 0x080011) AM_RAM_WRITE(blitter_w) AM_BASE(m_blitter_regs) // Blitter
AM_RANGE(0x100000, 0x103fff) AM_RAM_WRITE_LEGACY(wecleman_pageram_w) AM_BASE(m_pageram) // Background Layers
AM_RANGE(0x108000, 0x108fff) AM_RAM_WRITE_LEGACY(wecleman_txtram_w) AM_BASE(m_txtram) // Text Layer
- AM_RANGE(0x110000, 0x110fff) AM_RAM_WRITE_LEGACY(wecleman_paletteram16_SSSSBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x110000, 0x110fff) AM_RAM_WRITE_LEGACY(wecleman_paletteram16_SSSSBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x124000, 0x127fff) AM_RAM AM_SHARE("share1") // Shared with main CPU
AM_RANGE(0x130000, 0x130fff) AM_RAM AM_BASE(m_spriteram) // Sprites
AM_RANGE(0x140000, 0x140001) AM_WRITE_LEGACY(wecleman_soundlatch_w) // To sound CPU
@@ -536,7 +536,7 @@ static ADDRESS_MAP_START( hotchase_map, AS_PROGRAM, 16, wecleman_state )
AM_RANGE(0x101000, 0x10101f) AM_DEVWRITE8_LEGACY("k051316_1", k051316_ctrl_w, 0x00ff) // Background Ctrl
AM_RANGE(0x102000, 0x102fff) AM_DEVREADWRITE8_LEGACY("k051316_2", k051316_r, k051316_w, 0x00ff) // Foreground
AM_RANGE(0x103000, 0x10301f) AM_DEVWRITE8_LEGACY("k051316_2", k051316_ctrl_w, 0x00ff) // Foreground Ctrl
- AM_RANGE(0x110000, 0x111fff) AM_RAM_WRITE_LEGACY(hotchase_paletteram16_SBGRBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x110000, 0x111fff) AM_RAM_WRITE_LEGACY(hotchase_paletteram16_SBGRBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x120000, 0x123fff) AM_RAM AM_SHARE("share1") // Shared with sub CPU
AM_RANGE(0x130000, 0x130fff) AM_RAM AM_BASE(m_spriteram) // Sprites
AM_RANGE(0x140000, 0x140001) AM_WRITE(hotchase_soundlatch_w) // To sound CPU
@@ -1098,13 +1098,14 @@ static const k051316_interface hotchase_k051316_intf_1 =
static MACHINE_RESET( hotchase )
{
+ wecleman_state *state = machine.driver_data<wecleman_state>();
int i;
/* TODO: PCB reference clearly shows that the POST has random/filled data on the paletteram.
For now let's fill everything with white colors until we have better info about it */
for(i=0;i<0x2000/2;i++)
{
- machine.generic.paletteram.u16[i] = 0xffff;
+ state->m_generic_paletteram_16[i] = 0xffff;
palette_set_color_rgb(machine,i,0xff,0xff,0xff);
}
}
diff --git a/src/mame/drivers/welltris.c b/src/mame/drivers/welltris.c
index 87d5db7ea92..963c2fd400d 100644
--- a/src/mame/drivers/welltris.c
+++ b/src/mame/drivers/welltris.c
@@ -359,7 +359,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_WRITE_LEGACY(welltris_spriteram_w) AM_BASE(m_spriteram) /* Sprite */
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE_LEGACY(welltris_charvideoram_w) AM_BASE(m_charvideoram) /* Char */
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) /* Palette */
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") /* Palette */
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("P1") /* Bottom Controls */
AM_RANGE(0xfff000, 0xfff001) AM_WRITE_LEGACY(welltris_palette_bank_w)
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("P2") /* Top Controls */
diff --git a/src/mame/drivers/wgp.c b/src/mame/drivers/wgp.c
index 5a02817f287..0fce8c605f7 100644
--- a/src/mame/drivers/wgp.c
+++ b/src/mame/drivers/wgp.c
@@ -656,7 +656,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, wgp_state )
AM_RANGE(0x502000, 0x517fff) AM_READWRITE_LEGACY(wgp_pivram_word_r, wgp_pivram_word_w) AM_BASE(m_pivram) /* piv tilemaps */
AM_RANGE(0x520000, 0x52001f) AM_READWRITE_LEGACY(wgp_piv_ctrl_word_r, wgp_piv_ctrl_word_w) AM_BASE(m_piv_ctrlram)
AM_RANGE(0x600000, 0x600003) AM_WRITE(rotate_port_w) /* rotation control ? */
- AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
ADDRESS_MAP_END
static ADDRESS_MAP_START( cpu2_map, AS_PROGRAM, 16 /* LAN areas not mapped... */, wgp_state )
diff --git a/src/mame/drivers/williams.c b/src/mame/drivers/williams.c
index 1f7bf19c2ec..fd5a23d5214 100644
--- a/src/mame/drivers/williams.c
+++ b/src/mame/drivers/williams.c
@@ -512,7 +512,7 @@
static ADDRESS_MAP_START( defender_map, AS_PROGRAM, 8, williams_state )
AM_RANGE(0x0000, 0xbfff) AM_RAM AM_BASE(m_videoram)
/* range from 0xc000-0xcfff is mapped programmatically below */
- AM_RANGE(0xc000, 0xc00f) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xc000, 0xc00f) AM_SHARE("paletteram")
AM_RANGE(0xc400, 0xc4ff) AM_SHARE("nvram")
AM_RANGE(0xc000, 0xcfff) AM_ROMBANK("bank1")
AM_RANGE(0xd000, 0xdfff) AM_WRITE_LEGACY(defender_bank_select_w)
@@ -535,7 +535,7 @@ void defender_install_io_space(address_space *space)
space->install_readwrite_handler(0xcc00, 0xcc03, 0, 0x03e0, read8_delegate(FUNC(pia6821_device::read), pia_1), write8_delegate(FUNC(pia6821_device::write), pia_1));
space->install_readwrite_handler(0xcc04, 0xcc07, 0, 0x03e0, read8_delegate(FUNC(pia6821_device::read), pia_0), write8_delegate(FUNC(pia6821_device::write), pia_0));
memory_set_bankptr(space->machine(), "bank3", space->machine().driver_data<williams_state>()->m_nvram);
- memory_set_bankptr(space->machine(), "bank4", space->machine().generic.paletteram.v);
+ memory_set_bankptr(space->machine(), "bank4", space->machine().driver_data<williams_state>()->m_generic_paletteram_8);
}
@@ -549,7 +549,7 @@ void defender_install_io_space(address_space *space)
static ADDRESS_MAP_START( williams_map, AS_PROGRAM, 8, williams_state )
AM_RANGE(0x0000, 0x8fff) AM_READ_BANK("bank1") AM_WRITEONLY AM_BASE(m_videoram)
AM_RANGE(0x9000, 0xbfff) AM_RAM
- AM_RANGE(0xc000, 0xc00f) AM_MIRROR(0x03f0) AM_WRITEONLY AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xc000, 0xc00f) AM_MIRROR(0x03f0) AM_WRITEONLY AM_SHARE("paletteram")
AM_RANGE(0xc804, 0xc807) AM_MIRROR(0x00f0) AM_DEVREADWRITE("pia_0", pia6821_device, read, write)
AM_RANGE(0xc80c, 0xc80f) AM_MIRROR(0x00f0) AM_DEVREADWRITE("pia_1", pia6821_device, read, write)
AM_RANGE(0xc900, 0xc9ff) AM_WRITE_LEGACY(williams_vram_select_w)
@@ -564,7 +564,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( williams_extra_ram_map, AS_PROGRAM, 8, williams_state )
AM_RANGE(0x0000, 0x8fff) AM_READ_BANK("bank1") AM_WRITEONLY AM_BASE(m_videoram)
AM_RANGE(0x9000, 0xbfff) AM_RAM
- AM_RANGE(0xc000, 0xc00f) AM_MIRROR(0x03f0) AM_WRITEONLY AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xc000, 0xc00f) AM_MIRROR(0x03f0) AM_WRITEONLY AM_SHARE("paletteram")
AM_RANGE(0xc804, 0xc807) AM_MIRROR(0x00f0) AM_DEVREADWRITE("pia_0", pia6821_device, read, write)
AM_RANGE(0xc80c, 0xc80f) AM_MIRROR(0x00f0) AM_DEVREADWRITE("pia_1", pia6821_device, read, write)
AM_RANGE(0xc900, 0xc9ff) AM_WRITE_LEGACY(sinistar_vram_select_w)
@@ -590,7 +590,7 @@ static ADDRESS_MAP_START( blaster_map, AS_PROGRAM, 8, williams_state )
AM_RANGE(0xbb00, 0xbbff) AM_WRITEONLY AM_BASE(m_blaster_palette_0)
AM_RANGE(0xbc00, 0xbcff) AM_WRITEONLY AM_BASE(m_blaster_scanline_control)
AM_RANGE(0x9000, 0xbfff) AM_RAM
- AM_RANGE(0xc000, 0xc00f) AM_MIRROR(0x03f0) AM_WRITEONLY AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xc000, 0xc00f) AM_MIRROR(0x03f0) AM_WRITEONLY AM_SHARE("paletteram")
AM_RANGE(0xc804, 0xc807) AM_MIRROR(0x00f0) AM_DEVREADWRITE("pia_0", pia6821_device, read, write)
AM_RANGE(0xc80c, 0xc80f) AM_MIRROR(0x00f0) AM_DEVREADWRITE("pia_1", pia6821_device, read, write)
AM_RANGE(0xc900, 0xc93f) AM_WRITE_LEGACY(blaster_vram_select_w)
diff --git a/src/mame/drivers/wink.c b/src/mame/drivers/wink.c
index 4925746561f..09977c7fafb 100644
--- a/src/mame/drivers/wink.c
+++ b/src/mame/drivers/wink.c
@@ -144,7 +144,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_WRITE_LEGACY(paletteram_xxxxBBBBRRRRGGGG_le_w) AM_BASE_GENERIC(paletteram) //0x10-0x1f is likely to be something else
+ AM_RANGE(0x00, 0x1f) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_le_w) AM_SHARE("paletteram") //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.c b/src/mame/drivers/witch.c
index f47a812e1ec..1163e3b3370 100644
--- a/src/mame/drivers/witch.c
+++ b/src/mame/drivers/witch.c
@@ -471,8 +471,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_BASE(m_gfx1_vram)
AM_RANGE(0xcc00, 0xcfff) AM_READWRITE(gfx1_cram_r, gfx1_cram_w) AM_BASE(m_gfx1_cram)
AM_RANGE(0xd000, 0xdfff) AM_RAM AM_BASE(m_sprite_ram)
- AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_split1_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE_LEGACY(paletteram_xBBBBBGGGGGRRRRR_split2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split1_w) AM_SHARE("paletteram")
+ AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split2_w) AM_SHARE("paletteram2")
AM_RANGE(0xf000, 0xf0ff) AM_RAM AM_SHARE("share1")
AM_RANGE(0xf100, 0xf17f) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xf180, 0xffff) AM_RAM AM_SHARE("share2")
diff --git a/src/mame/drivers/wrally.c b/src/mame/drivers/wrally.c
index 1b6ea0cce56..e8870430ede 100644
--- a/src/mame/drivers/wrally.c
+++ b/src/mame/drivers/wrally.c
@@ -106,7 +106,7 @@ static ADDRESS_MAP_START( wrally_map, AS_PROGRAM, 16, wrally_state )
AM_RANGE(0x100000, 0x103fff) AM_RAM_WRITE_LEGACY(wrally_vram_w) AM_BASE(m_videoram) /* encrypted Video RAM */
AM_RANGE(0x108000, 0x108007) AM_RAM AM_BASE(m_vregs) /* Video Registers */
AM_RANGE(0x10800c, 0x10800d) AM_WRITENOP /* CLR INT Video */
- AM_RANGE(0x200000, 0x203fff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBRRRRGGGG_word_w) AM_BASE_GENERIC(paletteram) /* Palette */
+ AM_RANGE(0x200000, 0x203fff) AM_RAM_WRITE(paletteram16_xxxxBBBBRRRRGGGG_word_w) AM_SHARE("paletteram") /* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(m_spriteram) /* Sprite RAM */
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW")
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("P1_P2")
diff --git a/src/mame/drivers/wwfsstar.c b/src/mame/drivers/wwfsstar.c
index ddd6734060c..31548fef168 100644
--- a/src/mame/drivers/wwfsstar.c
+++ b/src/mame/drivers/wwfsstar.c
@@ -164,7 +164,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, wwfsstar_state )
AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE_LEGACY(wwfsstar_fg0_videoram_w) AM_BASE(m_fg0_videoram) /* FG0 Ram */
AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM_WRITE_LEGACY(wwfsstar_bg0_videoram_w) AM_BASE(m_bg0_videoram) /* BG0 Ram */
AM_RANGE(0x100000, 0x1003ff) AM_RAM AM_BASE(m_spriteram) /* SPR Ram */
- AM_RANGE(0x140000, 0x140fff) AM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x140000, 0x140fff) AM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x180000, 0x180003) AM_WRITE(wwfsstar_irqack_w)
AM_RANGE(0x180000, 0x180001) AM_READ_PORT("DSW1")
AM_RANGE(0x180002, 0x180003) AM_READ_PORT("DSW2")
diff --git a/src/mame/drivers/wwfwfest.c b/src/mame/drivers/wwfwfest.c
index 1422f2b8dd1..ed99d61852f 100644
--- a/src/mame/drivers/wwfwfest.c
+++ b/src/mame/drivers/wwfwfest.c
@@ -79,7 +79,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, wwfwfest_state )
AM_RANGE(0x140022, 0x140023) AM_READ_PORT("P2")
AM_RANGE(0x140024, 0x140025) AM_READ_PORT("P3")
AM_RANGE(0x140026, 0x140027) AM_READ_PORT("P4")
- AM_RANGE(0x180000, 0x18ffff) AM_READWRITE(wwfwfest_paletteram16_xxxxBBBBGGGGRRRR_word_r,wwfwfest_paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x180000, 0x18ffff) AM_READWRITE(wwfwfest_paletteram16_xxxxBBBBGGGGRRRR_word_r,wwfwfest_paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x1c0000, 0x1c3fff) AM_RAM /* Work Ram */
ADDRESS_MAP_END
@@ -117,7 +117,7 @@ WRITE16_MEMBER(wwfwfest_state::wwfwfest_flipscreen_w)
READ16_MEMBER(wwfwfest_state::wwfwfest_paletteram16_xxxxBBBBGGGGRRRR_word_r)
{
offset = (offset & 0x000f) | (offset & 0x7fc0) >> 2;
- return machine().generic.paletteram.u16[offset];
+ return m_generic_paletteram_16[offset];
}
WRITE16_MEMBER(wwfwfest_state::wwfwfest_paletteram16_xxxxBBBBGGGGRRRR_word_w)
diff --git a/src/mame/drivers/xain.c b/src/mame/drivers/xain.c
index eb4d4450d6a..f1daa53941a 100644
--- a/src/mame/drivers/xain.c
+++ b/src/mame/drivers/xain.c
@@ -418,8 +418,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, xain_state )
AM_RANGE(0x3a0d, 0x3a0d) AM_WRITE_LEGACY(xain_flipscreen_w)
AM_RANGE(0x3a0e, 0x3a0e) AM_WRITE(xain_68705_w)
AM_RANGE(0x3a0f, 0x3a0f) AM_WRITE(xainCPUA_bankswitch_w)
- AM_RANGE(0x3c00, 0x3dff) AM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0x3e00, 0x3fff) AM_WRITE_LEGACY(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0x3c00, 0x3dff) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE("paletteram")
+ AM_RANGE(0x3e00, 0x3fff) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE("paletteram2")
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/xexex.c b/src/mame/drivers/xexex.c
index 9a155f6d670..ad2d20e9487 100644
--- a/src/mame/drivers/xexex.c
+++ b/src/mame/drivers/xexex.c
@@ -346,7 +346,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, xexex_state )
AM_RANGE(0x182000, 0x183fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_word_r, k056832_ram_word_w)
AM_RANGE(0x190000, 0x191fff) AM_DEVREAD_LEGACY("k056832", k056832_rom_word_r) // Passthrough to tile roms
AM_RANGE(0x1a0000, 0x1a1fff) AM_DEVREAD("k053250", k053250_t, rom_r)
- AM_RANGE(0x1b0000, 0x1b1fff) AM_RAM_WRITE_LEGACY(paletteram16_xrgb_word_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1b0000, 0x1b1fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_SHARE("paletteram")
#if XE_DEBUG
AM_RANGE(0x0c0000, 0x0c003f) AM_DEVREAD_LEGACY("k056832", k056832_word_r)
diff --git a/src/mame/drivers/xmen.c b/src/mame/drivers/xmen.c
index 1b1fffdd4b5..bc8c6291f22 100644
--- a/src/mame/drivers/xmen.c
+++ b/src/mame/drivers/xmen.c
@@ -112,7 +112,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, xmen_state )
AM_RANGE(0x080000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x100fff) AM_DEVREADWRITE_LEGACY("k053246", k053247_word_r, k053247_word_w)
AM_RANGE(0x101000, 0x101fff) AM_RAM
- AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x108000, 0x108001) AM_WRITE(eeprom_w)
AM_RANGE(0x108020, 0x108027) AM_DEVWRITE_LEGACY("k053246", k053246_word_w)
AM_RANGE(0x10804c, 0x10804d) AM_WRITE(sound_cmd_w)
@@ -147,7 +147,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_BASE(m_xmen6p_spriteramright) /* sprites (screen 2) */
AM_RANGE(0x103000, 0x103fff) AM_RAM /* 6p - a buffer? */
- AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x108000, 0x108001) AM_WRITE(eeprom_w)
AM_RANGE(0x108020, 0x108027) AM_DEVWRITE_LEGACY("k053246", k053246_word_w) /* sprites */
AM_RANGE(0x10804c, 0x10804d) AM_WRITE(sound_cmd_w)
diff --git a/src/mame/drivers/xxmissio.c b/src/mame/drivers/xxmissio.c
index c55bcb1a9f8..36e8c8bc3a1 100644
--- a/src/mame/drivers/xxmissio.c
+++ b/src/mame/drivers/xxmissio.c
@@ -102,7 +102,7 @@ static ADDRESS_MAP_START( map1, AS_PROGRAM, 8, xxmissio_state )
AM_RANGE(0xc800, 0xcfff) AM_SHARE("share2") AM_READWRITE_LEGACY(xxmissio_bgram_r, xxmissio_bgram_w) AM_BASE(m_bgram)
AM_RANGE(0xd000, 0xd7ff) AM_SHARE("share3") AM_RAM AM_BASE(m_spriteram)
- AM_RANGE(0xd800, 0xdaff) AM_SHARE("share4") AM_RAM_WRITE_LEGACY(xxmissio_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xd800, 0xdaff) AM_SHARE("share4") AM_RAM_WRITE_LEGACY(xxmissio_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0xe000, 0xefff) AM_SHARE("share5") AM_RAM
AM_RANGE(0xf000, 0xffff) AM_SHARE("share6") AM_RAM
diff --git a/src/mame/drivers/xybots.c b/src/mame/drivers/xybots.c
index 4cb35fb429c..66523f7f963 100644
--- a/src/mame/drivers/xybots.c
+++ b/src/mame/drivers/xybots.c
@@ -92,7 +92,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, xybots_state )
AM_RANGE(0xff9000, 0xffadff) AM_MIRROR(0x7f8000) AM_RAM
AM_RANGE(0xffae00, 0xffafff) AM_MIRROR(0x7f8000) AM_READWRITE_LEGACY(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
AM_RANGE(0xffb000, 0xffbfff) AM_MIRROR(0x7f8000) AM_RAM_WRITE_LEGACY(atarigen_playfield_w) AM_BASE(m_playfield)
- AM_RANGE(0xffc000, 0xffc7ff) AM_MIRROR(0x7f8800) AM_RAM_WRITE_LEGACY(paletteram16_IIIIRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xffc000, 0xffc7ff) AM_MIRROR(0x7f8800) AM_RAM_WRITE(paletteram16_IIIIRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0xffd000, 0xffdfff) AM_MIRROR(0x7f8000) AM_READWRITE_LEGACY(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
AM_RANGE(0xffe000, 0xffe0ff) AM_MIRROR(0x7f8000) AM_READ_LEGACY(atarigen_sound_r)
AM_RANGE(0xffe100, 0xffe1ff) AM_MIRROR(0x7f8000) AM_READ_PORT("FFE100")
diff --git a/src/mame/drivers/yunsun16.c b/src/mame/drivers/yunsun16.c
index abc5f930202..d5c39f0bd1d 100644
--- a/src/mame/drivers/yunsun16.c
+++ b/src/mame/drivers/yunsun16.c
@@ -129,7 +129,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, yunsun16_state )
AM_RANGE(0x800180, 0x800181) AM_WRITE(yunsun16_sound_bank_w) // 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_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x900000, 0x903fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x908000, 0x90bfff) AM_RAM_WRITE_LEGACY(yunsun16_vram_1_w) AM_BASE(m_vram_1) // Layer 1
AM_RANGE(0x90c000, 0x90ffff) AM_RAM_WRITE_LEGACY(yunsun16_vram_0_w) AM_BASE(m_vram_0) // Layer 0
AM_RANGE(0x910000, 0x910fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
diff --git a/src/mame/drivers/zr107.c b/src/mame/drivers/zr107.c
index 82c34632365..df6c2babd74 100644
--- a/src/mame/drivers/zr107.c
+++ b/src/mame/drivers/zr107.c
@@ -233,8 +233,8 @@ static SCREEN_UPDATE_RGB32( jetwave )
WRITE32_MEMBER(zr107_state::paletteram32_w)
{
- COMBINE_DATA(&machine().generic.paletteram.u32[offset]);
- data = machine().generic.paletteram.u32[offset];
+ COMBINE_DATA(&m_generic_paletteram_32[offset]);
+ data = m_generic_paletteram_32[offset];
palette_set_color_rgb(machine(), (offset * 2) + 0, pal5bit(data >> 26), pal5bit(data >> 21), pal5bit(data >> 16));
palette_set_color_rgb(machine(), (offset * 2) + 1, pal5bit(data >> 10), pal5bit(data >> 5), pal5bit(data >> 0));
}
@@ -412,7 +412,7 @@ static ADDRESS_MAP_START( zr107_map, AS_PROGRAM, 32, zr107_state )
AM_RANGE(0x74000000, 0x74003fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_long_r, k056832_ram_long_w)
AM_RANGE(0x74020000, 0x7402003f) AM_DEVREADWRITE_LEGACY("k056832", k056832_long_r, k056832_long_w)
AM_RANGE(0x74060000, 0x7406003f) AM_READWRITE(ccu_r, ccu_w)
- AM_RANGE(0x74080000, 0x74081fff) AM_RAM_WRITE(paletteram32_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x74080000, 0x74081fff) AM_RAM_WRITE(paletteram32_w) AM_SHARE("paletteram")
AM_RANGE(0x740a0000, 0x740a3fff) AM_DEVREAD_LEGACY("k056832", k056832_rom_long_r)
AM_RANGE(0x78000000, 0x7800ffff) AM_READWRITE_LEGACY(cgboard_dsp_shared_r_ppc, cgboard_dsp_shared_w_ppc) /* 21N 21K 23N 23K */
AM_RANGE(0x78010000, 0x7801ffff) AM_WRITE_LEGACY(cgboard_dsp_shared_w_ppc)
@@ -430,15 +430,15 @@ ADDRESS_MAP_END
WRITE32_MEMBER(zr107_state::jetwave_palette_w)
{
- COMBINE_DATA(&machine().generic.paletteram.u32[offset]);
- data = machine().generic.paletteram.u32[offset];
+ COMBINE_DATA(&m_generic_paletteram_32[offset]);
+ data = m_generic_paletteram_32[offset];
palette_set_color_rgb(machine(), offset, pal5bit(data >> 10), pal5bit(data >> 5), pal5bit(data >> 0));
}
static ADDRESS_MAP_START( jetwave_map, AS_PROGRAM, 32, zr107_state )
AM_RANGE(0x00000000, 0x000fffff) AM_MIRROR(0x80000000) AM_RAM /* Work RAM */
AM_RANGE(0x74000000, 0x740000ff) AM_MIRROR(0x80000000) AM_DEVREADWRITE_LEGACY("k001604", k001604_reg_r, k001604_reg_w)
- AM_RANGE(0x74010000, 0x7401ffff) AM_MIRROR(0x80000000) AM_RAM_WRITE(jetwave_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x74010000, 0x7401ffff) AM_MIRROR(0x80000000) AM_RAM_WRITE(jetwave_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x74020000, 0x7403ffff) AM_MIRROR(0x80000000) AM_DEVREADWRITE_LEGACY("k001604", k001604_tile_r, k001604_tile_w)
AM_RANGE(0x74040000, 0x7407ffff) AM_MIRROR(0x80000000) AM_DEVREADWRITE_LEGACY("k001604", k001604_char_r, k001604_char_w)
AM_RANGE(0x78000000, 0x7800ffff) AM_MIRROR(0x80000000) AM_READWRITE_LEGACY(cgboard_dsp_shared_r_ppc, cgboard_dsp_shared_w_ppc) /* 21N 21K 23N 23K */
diff --git a/src/mame/includes/gbusters.h b/src/mame/includes/gbusters.h
index c5d17e7aef3..b9d440989be 100644
--- a/src/mame/includes/gbusters.h
+++ b/src/mame/includes/gbusters.h
@@ -12,7 +12,6 @@ public:
/* memory pointers */
UINT8 * m_ram;
-// UINT8 * m_paletteram; // currently this uses generic palette handling
/* video-related */
int m_layer_colorbase[3];
diff --git a/src/mame/includes/lethal.h b/src/mame/includes/lethal.h
index 239eb4f47d7..3ed332d55a6 100644
--- a/src/mame/includes/lethal.h
+++ b/src/mame/includes/lethal.h
@@ -10,9 +10,6 @@ public:
lethal_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
- /* memory pointers */
-// UINT8 * m_paletteram; // currently this uses generic palette handling
-
/* video-related */
int m_layer_colorbase[4];
int m_sprite_colorbase;
diff --git a/src/mame/includes/suna8.h b/src/mame/includes/suna8.h
index 17f6863e1f7..a53f42d8755 100644
--- a/src/mame/includes/suna8.h
+++ b/src/mame/includes/suna8.h
@@ -71,6 +71,9 @@ public:
DECLARE_READ8_MEMBER(sparkman_c0a3_r);
DECLARE_WRITE8_MEMBER(sparkman_en_trash_w);
DECLARE_WRITE8_MEMBER(brickzn_pcm_w);
+
+ DECLARE_READ8_MEMBER(banked_paletteram_r);
+ DECLARE_WRITE8_MEMBER( brickzn_banked_paletteram_w );
};
@@ -87,11 +90,8 @@ SAMPLES_START( suna8_sh_start );
WRITE8_HANDLER( suna8_spriteram_w ); // for debug
WRITE8_HANDLER( suna8_banked_spriteram_w ); // for debug
-READ8_HANDLER( suna8_banked_paletteram_r );
READ8_HANDLER( suna8_banked_spriteram_r );
-WRITE8_HANDLER( brickzn_banked_paletteram_w );
-
VIDEO_START( suna8_textdim0 );
VIDEO_START( suna8_textdim8 );
VIDEO_START( suna8_textdim12 );
diff --git a/src/mame/machine/atarigen.c b/src/mame/machine/atarigen.c
index ad90b382a03..108042d2e84 100644
--- a/src/mame/machine/atarigen.c
+++ b/src/mame/machine/atarigen.c
@@ -1395,10 +1395,11 @@ void atarigen_halt_until_hblank_0(screen_device &screen)
WRITE16_HANDLER( atarigen_666_paletteram_w )
{
+ atarigen_state *state = space->machine().driver_data<atarigen_state>();
int newword, r, g, b;
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
- newword = space->machine().generic.paletteram.u16[offset];
+ COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
+ newword = state->m_generic_paletteram_16[offset];
r = ((newword >> 9) & 0x3e) | ((newword >> 15) & 1);
g = ((newword >> 4) & 0x3e) | ((newword >> 15) & 1);
@@ -1415,12 +1416,13 @@ WRITE16_HANDLER( atarigen_666_paletteram_w )
WRITE16_HANDLER( atarigen_expanded_666_paletteram_w )
{
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
+ atarigen_state *state = space->machine().driver_data<atarigen_state>();
+ COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
if (ACCESSING_BITS_8_15)
{
int palentry = offset / 2;
- int newword = (space->machine().generic.paletteram.u16[palentry * 2] & 0xff00) | (space->machine().generic.paletteram.u16[palentry * 2 + 1] >> 8);
+ int newword = (state->m_generic_paletteram_16[palentry * 2] & 0xff00) | (state->m_generic_paletteram_16[palentry * 2 + 1] >> 8);
int r, g, b;
@@ -1439,13 +1441,14 @@ WRITE16_HANDLER( atarigen_expanded_666_paletteram_w )
WRITE32_HANDLER( atarigen_666_paletteram32_w )
{
+ atarigen_state *state = space->machine().driver_data<atarigen_state>();
int newword, r, g, b;
- COMBINE_DATA(&space->machine().generic.paletteram.u32[offset]);
+ COMBINE_DATA(&state->m_generic_paletteram_32[offset]);
if (ACCESSING_BITS_16_31)
{
- newword = space->machine().generic.paletteram.u32[offset] >> 16;
+ newword = state->m_generic_paletteram_32[offset] >> 16;
r = ((newword >> 9) & 0x3e) | ((newword >> 15) & 1);
g = ((newword >> 4) & 0x3e) | ((newword >> 15) & 1);
@@ -1456,7 +1459,7 @@ WRITE32_HANDLER( atarigen_666_paletteram32_w )
if (ACCESSING_BITS_0_15)
{
- newword = space->machine().generic.paletteram.u32[offset] & 0xffff;
+ newword = state->m_generic_paletteram_32[offset] & 0xffff;
r = ((newword >> 9) & 0x3e) | ((newword >> 15) & 1);
g = ((newword >> 4) & 0x3e) | ((newword >> 15) & 1);
diff --git a/src/mame/machine/leland.c b/src/mame/machine/leland.c
index 474d5949e52..74420a0160d 100644
--- a/src/mame/machine/leland.c
+++ b/src/mame/machine/leland.c
@@ -1250,7 +1250,7 @@ WRITE8_HANDLER( leland_gated_paletteram_w )
{
leland_state *state = space->machine().driver_data<leland_state>();
if (state->m_wcol_enable)
- paletteram_BBGGGRRR_w(space, offset, data);
+ state->paletteram_BBGGGRRR_w(*space, offset, data);
}
@@ -1258,7 +1258,7 @@ READ8_HANDLER( leland_gated_paletteram_r )
{
leland_state *state = space->machine().driver_data<leland_state>();
if (state->m_wcol_enable)
- return space->machine().generic.paletteram.u8[offset];
+ return state->m_generic_paletteram_8[offset];
return 0xff;
}
@@ -1267,7 +1267,7 @@ WRITE8_HANDLER( ataxx_paletteram_and_misc_w )
{
leland_state *state = space->machine().driver_data<leland_state>();
if (state->m_wcol_enable)
- paletteram_xxxxRRRRGGGGBBBB_le_w(space, offset, data);
+ state->paletteram_xxxxRRRRGGGGBBBB_le_w(*space, offset, data);
else if (offset == 0x7f8 || offset == 0x7f9)
leland_master_video_addr_w(space, offset - 0x7f8, data);
else if (offset == 0x7fc)
@@ -1299,7 +1299,7 @@ READ8_HANDLER( ataxx_paletteram_and_misc_r )
{
leland_state *state = space->machine().driver_data<leland_state>();
if (state->m_wcol_enable)
- return space->machine().generic.paletteram.u8[offset];
+ return state->m_generic_paletteram_8[offset];
else if (offset == 0x7fc || offset == 0x7fd)
{
int result = state->m_xrom_base[0x00000 | state->m_xrom1_addr | ((offset & 1) << 16)];
diff --git a/src/mame/machine/simpsons.c b/src/mame/machine/simpsons.c
index 09eb50056cd..1163231ee38 100644
--- a/src/mame/machine/simpsons.c
+++ b/src/mame/machine/simpsons.c
@@ -82,7 +82,7 @@ MACHINE_START( simpsons )
{
simpsons_state *state = machine.driver_data<simpsons_state>();
- machine.generic.paletteram.u8 = auto_alloc_array_clear(machine, UINT8, 0x1000);
+ state->m_generic_paletteram_8.allocate(0x1000);
state->m_xtraram = auto_alloc_array_clear(machine, UINT8, 0x1000);
state->m_spriteram = auto_alloc_array_clear(machine, UINT16, 0x1000 / 2);
@@ -98,7 +98,6 @@ MACHINE_START( simpsons )
state->save_item(NAME(state->m_sprite_colorbase));
state->save_item(NAME(state->m_layer_colorbase));
state->save_item(NAME(state->m_layerpri));
- state_save_register_global_pointer(machine, machine.generic.paletteram.u8, 0x1000);
state->save_pointer(NAME(state->m_xtraram), 0x1000);
state->save_pointer(NAME(state->m_spriteram), 0x1000 / 2);
machine.save().register_postload(save_prepost_delegate(FUNC(simpsons_postload), &machine));
diff --git a/src/mame/machine/williams.c b/src/mame/machine/williams.c
index e002bd066c6..aee4d0217b5 100644
--- a/src/mame/machine/williams.c
+++ b/src/mame/machine/williams.c
@@ -542,7 +542,7 @@ WRITE8_HANDLER( williams2_bank_select_w )
space->install_read_bank(0x8000, 0x87ff, "bank4");
space->install_legacy_write_handler(0x8000, 0x87ff, FUNC(williams2_paletteram_w));
memory_set_bank(space->machine(), "bank1", 1 + ((state->m_vram_bank & 4) >> 1));
- memory_set_bankptr(space->machine(), "bank4", space->machine().generic.paletteram.v);
+ memory_set_bankptr(space->machine(), "bank4", state->m_generic_paletteram_8);
break;
}
}
diff --git a/src/mame/video/aliens.c b/src/mame/video/aliens.c
index c19ebe020a1..10eb9fa49af 100644
--- a/src/mame/video/aliens.c
+++ b/src/mame/video/aliens.c
@@ -57,14 +57,12 @@ VIDEO_START( aliens )
{
aliens_state *state = machine.driver_data<aliens_state>();
- machine.generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x400);
+ state->m_generic_paletteram_8.allocate(0x400);
state->m_layer_colorbase[0] = 0;
state->m_layer_colorbase[1] = 4;
state->m_layer_colorbase[2] = 8;
state->m_sprite_colorbase = 16;
-
- state_save_register_global_pointer(machine, machine.generic.paletteram.u8, 0x400);
}
diff --git a/src/mame/video/amspdwy.c b/src/mame/video/amspdwy.c
index 9b11890793b..fb1bbca3f01 100644
--- a/src/mame/video/amspdwy.c
+++ b/src/mame/video/amspdwy.c
@@ -18,8 +18,9 @@
WRITE8_HANDLER( amspdwy_paletteram_w )
{
+ amspdwy_state *state = space->machine().driver_data<amspdwy_state>();
data ^= 0xff;
- paletteram_BBGGGRRR_w(space, offset, data);
+ state->paletteram_BBGGGRRR_w(*space, offset, data);
// paletteram_RRRGGGBB_w(offset, data);
}
diff --git a/src/mame/video/atarisy2.c b/src/mame/video/atarisy2.c
index 3f59311cfd1..bc1130458f1 100644
--- a/src/mame/video/atarisy2.c
+++ b/src/mame/video/atarisy2.c
@@ -213,8 +213,9 @@ WRITE16_HANDLER( atarisy2_paletteram_w )
int newword, inten, red, green, blue;
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
- newword = space->machine().generic.paletteram.u16[offset];
+ atarisy2_state *state = space->machine().driver_data<atarisy2_state>();
+ COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
+ newword = state->m_generic_paletteram_16[offset];
inten = intensity_table[newword & 15];
red = (color_table[(newword >> 12) & 15] * inten) >> 4;
diff --git a/src/mame/video/balsente.c b/src/mame/video/balsente.c
index 8a512de0c8a..5236277b2b7 100644
--- a/src/mame/video/balsente.c
+++ b/src/mame/video/balsente.c
@@ -88,11 +88,12 @@ WRITE8_HANDLER( balsente_paletteram_w )
{
int r, g, b;
- space->machine().generic.paletteram.u8[offset] = data & 0x0f;
+ balsente_state *state = space->machine().driver_data<balsente_state>();
+ state->m_generic_paletteram_8[offset] = data & 0x0f;
- r = space->machine().generic.paletteram.u8[(offset & ~3) + 0];
- g = space->machine().generic.paletteram.u8[(offset & ~3) + 1];
- b = space->machine().generic.paletteram.u8[(offset & ~3) + 2];
+ r = state->m_generic_paletteram_8[(offset & ~3) + 0];
+ g = state->m_generic_paletteram_8[(offset & ~3) + 1];
+ b = state->m_generic_paletteram_8[(offset & ~3) + 2];
palette_set_color_rgb(space->machine(), offset / 4, pal4bit(r), pal4bit(g), pal4bit(b));
}
diff --git a/src/mame/video/battlera.c b/src/mame/video/battlera.c
index 61881ace3fa..b231e952885 100644
--- a/src/mame/video/battlera.c
+++ b/src/mame/video/battlera.c
@@ -42,10 +42,11 @@ WRITE8_HANDLER( battlera_palette_w )
{
int pal_word;
- space->machine().generic.paletteram.u8[offset]=data;
+ battlera_state *state = space->machine().driver_data<battlera_state>();
+ state->m_generic_paletteram_8[offset]=data;
if (offset%2) offset-=1;
- pal_word=space->machine().generic.paletteram.u8[offset] | (space->machine().generic.paletteram.u8[offset+1]<<8);
+ pal_word=state->m_generic_paletteram_8[offset] | (state->m_generic_paletteram_8[offset+1]<<8);
palette_set_color_rgb(space->machine(), offset/2, pal3bit(pal_word >> 3), pal3bit(pal_word >> 6), pal3bit(pal_word >> 0));
}
diff --git a/src/mame/video/blockhl.c b/src/mame/video/blockhl.c
index adbe6e50076..4d415dd76ad 100644
--- a/src/mame/video/blockhl.c
+++ b/src/mame/video/blockhl.c
@@ -45,14 +45,12 @@ VIDEO_START( blockhl )
{
blockhl_state *state = machine.driver_data<blockhl_state>();
- machine.generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x800);
+ state->m_generic_paletteram_8.allocate(0x800);
state->m_layer_colorbase[0] = 0;
state->m_layer_colorbase[1] = 16;
state->m_layer_colorbase[2] = 32;
state->m_sprite_colorbase = 48;
-
- state_save_register_global_pointer(machine, machine.generic.paletteram.u8, 0x800);
}
SCREEN_UPDATE_IND16( blockhl )
diff --git a/src/mame/video/bogeyman.c b/src/mame/video/bogeyman.c
index ee4e518af12..9307e5be81c 100644
--- a/src/mame/video/bogeyman.c
+++ b/src/mame/video/bogeyman.c
@@ -70,7 +70,8 @@ WRITE8_HANDLER( bogeyman_colorram2_w )
WRITE8_HANDLER( bogeyman_paletteram_w )
{
/* RGB output is inverted */
- paletteram_BBGGGRRR_w(space, offset, ~data);
+ bogeyman_state *state = space->machine().driver_data<bogeyman_state>();
+ state->paletteram_BBGGGRRR_w(*space, offset, ~data);
}
static TILE_GET_INFO( get_bg_tile_info )
diff --git a/src/mame/video/btime.c b/src/mame/video/btime.c
index 7f2849a92e8..5aebbd97ed3 100644
--- a/src/mame/video/btime.c
+++ b/src/mame/video/btime.c
@@ -140,7 +140,8 @@ VIDEO_START( bnj )
WRITE8_HANDLER( btime_paletteram_w )
{
/* RGB output is inverted */
- paletteram_BBGGGRRR_w(space, offset, ~data);
+ btime_state *state = space->machine().driver_data<btime_state>();
+ state->paletteram_BBGGGRRR_w(*space, offset, ~data);
}
WRITE8_HANDLER( lnc_videoram_w )
diff --git a/src/mame/video/cbuster.c b/src/mame/video/cbuster.c
index 7f6fda7cff9..c8a14877ddc 100644
--- a/src/mame/video/cbuster.c
+++ b/src/mame/video/cbuster.c
@@ -15,24 +15,27 @@
static void update_24bitcol( running_machine &machine, int offset )
{
+ cbuster_state *state = machine.driver_data<cbuster_state>();
UINT8 r, g, b; /* The highest palette value seems to be 0x8e */
- r = (UINT8)((float)((machine.generic.paletteram.u16[offset] >> 0) & 0xff) * 1.75);
- g = (UINT8)((float)((machine.generic.paletteram.u16[offset] >> 8) & 0xff) * 1.75);
- b = (UINT8)((float)((machine.generic.paletteram2.u16[offset] >> 0) & 0xff) * 1.75);
+ r = (UINT8)((float)((state->m_generic_paletteram_16[offset] >> 0) & 0xff) * 1.75);
+ g = (UINT8)((float)((state->m_generic_paletteram_16[offset] >> 8) & 0xff) * 1.75);
+ b = (UINT8)((float)((state->m_generic_paletteram2_16[offset] >> 0) & 0xff) * 1.75);
palette_set_color(machine, offset, MAKE_RGB(r, g, b));
}
WRITE16_HANDLER( twocrude_palette_24bit_rg_w )
{
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
+ cbuster_state *state = space->machine().driver_data<cbuster_state>();
+ COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
update_24bitcol(space->machine(), offset);
}
WRITE16_HANDLER( twocrude_palette_24bit_b_w )
{
- COMBINE_DATA(&space->machine().generic.paletteram2.u16[offset]);
+ cbuster_state *state = space->machine().driver_data<cbuster_state>();
+ COMBINE_DATA(&state->m_generic_paletteram2_16[offset]);
update_24bitcol(space->machine(), offset);
}
diff --git a/src/mame/video/centiped.c b/src/mame/video/centiped.c
index 7da4ac8e521..9228e85e880 100644
--- a/src/mame/video/centiped.c
+++ b/src/mame/video/centiped.c
@@ -229,7 +229,8 @@ WRITE8_HANDLER( bullsdrt_sprites_bank_w )
WRITE8_HANDLER( centiped_paletteram_w )
{
- space->machine().generic.paletteram.u8[offset] = data;
+ centiped_state *state = space->machine().driver_data<centiped_state>();
+ state->m_generic_paletteram_8[offset] = data;
/* bit 2 of the output palette RAM is always pulled high, so we ignore */
/* any palette changes unless the write is to a palette RAM address */
@@ -407,7 +408,8 @@ static void melliped_mazeinv_set_color(running_machine &machine, offs_t offset,
WRITE8_HANDLER( milliped_paletteram_w )
{
- space->machine().generic.paletteram.u8[offset] = data;
+ centiped_state *state = space->machine().driver_data<centiped_state>();
+ state->m_generic_paletteram_8[offset] = data;
melliped_mazeinv_set_color(space->machine(), offset, data);
}
@@ -415,7 +417,8 @@ WRITE8_HANDLER( milliped_paletteram_w )
WRITE8_HANDLER( mazeinv_paletteram_w )
{
- space->machine().generic.paletteram.u8[offset] = data;
+ centiped_state *state = space->machine().driver_data<centiped_state>();
+ state->m_generic_paletteram_8[offset] = data;
/* the value passed in is a look-up index into the color PROM */
melliped_mazeinv_set_color(space->machine(), offset, ~space->machine().region("proms")->base()[~data & 0x0f]);
diff --git a/src/mame/video/chqflag.c b/src/mame/video/chqflag.c
index 445aa15925b..17b1cf1d822 100644
--- a/src/mame/video/chqflag.c
+++ b/src/mame/video/chqflag.c
@@ -56,13 +56,11 @@ VIDEO_START( chqflag )
{
chqflag_state *state = machine.driver_data<chqflag_state>();
- machine.generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x800);
+ state->m_generic_paletteram_8.allocate(0x800);
state->m_sprite_colorbase = 0;
state->m_zoom_colorbase[0] = 0x10;
state->m_zoom_colorbase[1] = 0x02;
-
- state_save_register_global_pointer(machine, machine.generic.paletteram.u8, 0x800);
}
/***************************************************************************
diff --git a/src/mame/video/citycon.c b/src/mame/video/citycon.c
index 1a07b4f5c6c..c7c189d6f4f 100644
--- a/src/mame/video/citycon.c
+++ b/src/mame/video/citycon.c
@@ -136,7 +136,8 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const
INLINE void changecolor_RRRRGGGGBBBBxxxx( running_machine &machine, int color, int indx )
{
- int data = machine.generic.paletteram.u8[2 * indx | 1] | (machine.generic.paletteram.u8[2 * indx] << 8);
+ citycon_state *state = machine.driver_data<citycon_state>();
+ int data = state->m_generic_paletteram_8[2 * indx | 1] | (state->m_generic_paletteram_8[2 * indx] << 8);
palette_set_color_rgb(machine, color, pal4bit(data >> 12), pal4bit(data >> 8), pal4bit(data >> 4));
}
diff --git a/src/mame/video/crimfght.c b/src/mame/video/crimfght.c
index 44ffc04f111..882e62cf859 100644
--- a/src/mame/video/crimfght.c
+++ b/src/mame/video/crimfght.c
@@ -59,14 +59,12 @@ VIDEO_START( crimfght )
{
crimfght_state *state = machine.driver_data<crimfght_state>();
- machine.generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x400);
+ state->m_generic_paletteram_8.allocate(0x400);
state->m_layer_colorbase[0] = 0;
state->m_layer_colorbase[1] = 4;
state->m_layer_colorbase[2] = 8;
state->m_sprite_colorbase = 16;
-
- state_save_register_global_pointer(machine, machine.generic.paletteram.u8, 0x400);
}
diff --git a/src/mame/video/darkmist.c b/src/mame/video/darkmist.c
index 01a6f401aca..38d5b9ceeff 100644
--- a/src/mame/video/darkmist.c
+++ b/src/mame/video/darkmist.c
@@ -102,13 +102,14 @@ PALETTE_INIT(darkmist)
static void set_pens(running_machine &machine)
{
+ darkmist_state *state = machine.driver_data<darkmist_state>();
int i;
for (i = 0; i < 0x100; i++)
{
- int r = pal4bit(machine.generic.paletteram.u8[i | 0x200] >> 0);
- int g = pal4bit(machine.generic.paletteram.u8[i | 0x000] >> 4);
- int b = pal4bit(machine.generic.paletteram.u8[i | 0x000] >> 0);
+ int r = pal4bit(state->m_generic_paletteram_8[i | 0x200] >> 0);
+ int g = pal4bit(state->m_generic_paletteram_8[i | 0x000] >> 4);
+ int b = pal4bit(state->m_generic_paletteram_8[i | 0x000] >> 0);
colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
}
diff --git a/src/mame/video/darkseal.c b/src/mame/video/darkseal.c
index 532d0e7bdf0..d5c885fa754 100644
--- a/src/mame/video/darkseal.c
+++ b/src/mame/video/darkseal.c
@@ -29,24 +29,27 @@
static void update_24bitcol(running_machine &machine, int offset)
{
+ darkseal_state *state = machine.driver_data<darkseal_state>();
int r,g,b;
- r = (machine.generic.paletteram.u16[offset] >> 0) & 0xff;
- g = (machine.generic.paletteram.u16[offset] >> 8) & 0xff;
- b = (machine.generic.paletteram2.u16[offset] >> 0) & 0xff;
+ r = (state->m_generic_paletteram_16[offset] >> 0) & 0xff;
+ g = (state->m_generic_paletteram_16[offset] >> 8) & 0xff;
+ b = (state->m_generic_paletteram2_16[offset] >> 0) & 0xff;
palette_set_color(machine,offset,MAKE_RGB(r,g,b));
}
WRITE16_HANDLER( darkseal_palette_24bit_rg_w )
{
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
+ darkseal_state *state = space->machine().driver_data<darkseal_state>();
+ COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
update_24bitcol(space->machine(), offset);
}
WRITE16_HANDLER( darkseal_palette_24bit_b_w )
{
- COMBINE_DATA(&space->machine().generic.paletteram2.u16[offset]);
+ darkseal_state *state = space->machine().driver_data<darkseal_state>();
+ COMBINE_DATA(&state->m_generic_paletteram2_16[offset]);
update_24bitcol(space->machine(), offset);
}
diff --git a/src/mame/video/dec0.c b/src/mame/video/dec0.c
index de01872c8f9..d3b443a285e 100644
--- a/src/mame/video/dec0.c
+++ b/src/mame/video/dec0.c
@@ -21,24 +21,27 @@ WRITE16_HANDLER( dec0_update_sprites_w )
static void update_24bitcol(running_machine &machine, int offset)
{
+ dec0_state *state = machine.driver_data<dec0_state>();
int r,g,b;
- r = (machine.generic.paletteram.u16[offset] >> 0) & 0xff;
- g = (machine.generic.paletteram.u16[offset] >> 8) & 0xff;
- b = (machine.generic.paletteram2.u16[offset] >> 0) & 0xff;
+ r = (state->m_generic_paletteram_16[offset] >> 0) & 0xff;
+ g = (state->m_generic_paletteram_16[offset] >> 8) & 0xff;
+ b = (state->m_generic_paletteram2_16[offset] >> 0) & 0xff;
palette_set_color(machine,offset,MAKE_RGB(r,g,b));
}
WRITE16_HANDLER( dec0_paletteram_rg_w )
{
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
+ dec0_state *state = space->machine().driver_data<dec0_state>();
+ COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
update_24bitcol(space->machine(), offset);
}
WRITE16_HANDLER( dec0_paletteram_b_w )
{
- COMBINE_DATA(&space->machine().generic.paletteram2.u16[offset]);
+ dec0_state *state = space->machine().driver_data<dec0_state>();
+ COMBINE_DATA(&state->m_generic_paletteram2_16[offset]);
update_24bitcol(space->machine(), offset);
}
diff --git a/src/mame/video/deco32.c b/src/mame/video/deco32.c
index 5ea9071c5a8..ce85c3e7b12 100644
--- a/src/mame/video/deco32.c
+++ b/src/mame/video/deco32.c
@@ -82,9 +82,9 @@ static void updateAceRam(running_machine& machine)
for (i=0; i<2048; i++)
{
/* Lerp palette entry to 'fadept' according to 'fadeps' */
- b = (machine.generic.paletteram.u32[i] >>16) & 0xff;
- g = (machine.generic.paletteram.u32[i] >> 8) & 0xff;
- r = (machine.generic.paletteram.u32[i] >> 0) & 0xff;
+ b = (state->m_generic_paletteram_32[i] >>16) & 0xff;
+ g = (state->m_generic_paletteram_32[i] >> 8) & 0xff;
+ r = (state->m_generic_paletteram_32[i] >> 0) & 0xff;
if (i>255) /* Screenshots seem to suggest ACE fades do not affect playfield 1 palette (0-255) */
{
@@ -107,11 +107,12 @@ WRITE32_HANDLER( deco32_nonbuffered_palette_w )
{
int r,g,b;
- COMBINE_DATA(&space->machine().generic.paletteram.u32[offset]);
+ deco32_state *state = space->machine().driver_data<deco32_state>();
+ COMBINE_DATA(&state->m_generic_paletteram_32[offset]);
- b = (space->machine().generic.paletteram.u32[offset] >>16) & 0xff;
- g = (space->machine().generic.paletteram.u32[offset] >> 8) & 0xff;
- r = (space->machine().generic.paletteram.u32[offset] >> 0) & 0xff;
+ b = (state->m_generic_paletteram_32[offset] >>16) & 0xff;
+ g = (state->m_generic_paletteram_32[offset] >> 8) & 0xff;
+ r = (state->m_generic_paletteram_32[offset] >> 0) & 0xff;
palette_set_color(space->machine(),offset,MAKE_RGB(r,g,b));
}
@@ -119,7 +120,7 @@ WRITE32_HANDLER( deco32_nonbuffered_palette_w )
WRITE32_HANDLER( deco32_buffered_palette_w )
{
deco32_state *state = space->machine().driver_data<deco32_state>();
- COMBINE_DATA(&space->machine().generic.paletteram.u32[offset]);
+ COMBINE_DATA(&state->m_generic_paletteram_32[offset]);
state->m_dirty_palette[offset]=1;
}
@@ -139,9 +140,9 @@ WRITE32_HANDLER( deco32_palette_dma_w )
}
else
{
- b = (space->machine().generic.paletteram.u32[i] >>16) & 0xff;
- g = (space->machine().generic.paletteram.u32[i] >> 8) & 0xff;
- r = (space->machine().generic.paletteram.u32[i] >> 0) & 0xff;
+ b = (state->m_generic_paletteram_32[i] >>16) & 0xff;
+ g = (state->m_generic_paletteram_32[i] >> 8) & 0xff;
+ r = (state->m_generic_paletteram_32[i] >> 0) & 0xff;
palette_set_color(space->machine(),i,MAKE_RGB(r,g,b));
}
diff --git a/src/mame/video/decocomn.c b/src/mame/video/decocomn.c
index 07c1ea5981c..639dc440a10 100644
--- a/src/mame/video/decocomn.c
+++ b/src/mame/video/decocomn.c
@@ -47,12 +47,13 @@ WRITE16_DEVICE_HANDLER( decocomn_nonbuffered_palette_w )
{
int r,g,b;
- COMBINE_DATA(&device->machine().generic.paletteram.u16[offset]);
+ driver_device *state = device->machine().driver_data();
+ COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
if (offset&1) offset--;
- b = (device->machine().generic.paletteram.u16[offset] >> 0) & 0xff;
- g = (device->machine().generic.paletteram.u16[offset + 1] >> 8) & 0xff;
- r = (device->machine().generic.paletteram.u16[offset + 1] >> 0) & 0xff;
+ b = (state->m_generic_paletteram_16[offset] >> 0) & 0xff;
+ g = (state->m_generic_paletteram_16[offset + 1] >> 8) & 0xff;
+ r = (state->m_generic_paletteram_16[offset + 1] >> 0) & 0xff;
palette_set_color(device->machine(), offset / 2, MAKE_RGB(r,g,b));
}
@@ -61,7 +62,8 @@ WRITE16_DEVICE_HANDLER( decocomn_buffered_palette_w )
{
decocomn_state *decocomn = get_safe_token(device);
- COMBINE_DATA(&device->machine().generic.paletteram.u16[offset]);
+ driver_device *state = device->machine().driver_data();
+ COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
decocomn->dirty_palette[offset / 2] = 1;
}
@@ -69,6 +71,7 @@ WRITE16_DEVICE_HANDLER( decocomn_buffered_palette_w )
WRITE16_DEVICE_HANDLER( decocomn_palette_dma_w )
{
decocomn_state *decocomn = get_safe_token(device);
+ driver_device *state = device->machine().driver_data();
const int m = device->machine().total_colors();
int r, g, b, i;
@@ -78,9 +81,9 @@ WRITE16_DEVICE_HANDLER( decocomn_palette_dma_w )
{
decocomn->dirty_palette[i] = 0;
- b = (device->machine().generic.paletteram.u16[i * 2] >> 0) & 0xff;
- g = (device->machine().generic.paletteram.u16[i * 2 + 1] >> 8) & 0xff;
- r = (device->machine().generic.paletteram.u16[i * 2 + 1] >> 0) & 0xff;
+ b = (state->m_generic_paletteram_16[i * 2] >> 0) & 0xff;
+ g = (state->m_generic_paletteram_16[i * 2 + 1] >> 8) & 0xff;
+ r = (state->m_generic_paletteram_16[i * 2 + 1] >> 0) & 0xff;
palette_set_color(device->machine(), i, MAKE_RGB(r,g,b));
}
diff --git a/src/mame/video/dynduke.c b/src/mame/video/dynduke.c
index 84b5d1f8efd..4432e2bbbb7 100644
--- a/src/mame/video/dynduke.c
+++ b/src/mame/video/dynduke.c
@@ -7,10 +7,11 @@
WRITE16_HANDLER( dynduke_paletteram_w )
{
+ dynduke_state *state = space->machine().driver_data<dynduke_state>();
int color;
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
- color=space->machine().generic.paletteram.u16[offset];
+ COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
+ color=state->m_generic_paletteram_16[offset];
palette_set_color_rgb(space->machine(),offset,pal4bit(color >> 0),pal4bit(color >> 4),pal4bit(color >> 8));
}
diff --git a/src/mame/video/eprom.c b/src/mame/video/eprom.c
index fd67e8f94fe..653c3626d09 100644
--- a/src/mame/video/eprom.c
+++ b/src/mame/video/eprom.c
@@ -23,7 +23,7 @@ static void update_palette(running_machine &machine)
for (color = 0; color < 0x800; ++color)
{
int i, r, g, b;
- UINT16 const data = machine.generic.paletteram.u16[color];
+ UINT16 const data = state->m_generic_paletteram_16[color];
/* FIXME this is only a very crude approximation of the palette output.
* The circuit involves a dozen transistors and probably has an output
diff --git a/src/mame/video/flstory.c b/src/mame/video/flstory.c
index 16eb4f5cada..3b1f89272a5 100644
--- a/src/mame/video/flstory.c
+++ b/src/mame/video/flstory.c
@@ -66,10 +66,8 @@ VIDEO_START( flstory )
state->m_bg_tilemap->set_transmask(1, 0x8000, 0x7fff); /* split type 1 has pen 15 transparent in front half */
state->m_bg_tilemap->set_scroll_cols(32);
- machine.generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x200);
- machine.generic.paletteram2.u8 = auto_alloc_array(machine, UINT8, 0x200);
- state_save_register_global_pointer(machine, machine.generic.paletteram.u8, 0x200);
- state_save_register_global_pointer(machine, machine.generic.paletteram2.u8, 0x200);
+ state->m_generic_paletteram_8.allocate(0x200);
+ state->m_generic_paletteram2_8.allocate(0x200);
}
VIDEO_START( rumba )
@@ -81,10 +79,8 @@ VIDEO_START( rumba )
state->m_bg_tilemap->set_transmask(1, 0x8000, 0x7fff); /* split type 1 has pen 15 transparent in front half */
state->m_bg_tilemap->set_scroll_cols(32);
- machine.generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x200);
- machine.generic.paletteram2.u8 = auto_alloc_array(machine, UINT8, 0x200);
- state_save_register_global_pointer(machine, machine.generic.paletteram.u8, 0x200);
- state_save_register_global_pointer(machine, machine.generic.paletteram2.u8, 0x200);
+ state->m_generic_paletteram_8.allocate(0x200);
+ state->m_generic_paletteram2_8.allocate(0x200);
}
VIDEO_START( victnine )
@@ -93,10 +89,8 @@ VIDEO_START( victnine )
state->m_bg_tilemap = tilemap_create(machine, victnine_get_tile_info, tilemap_scan_rows, 8, 8, 32, 32);
state->m_bg_tilemap->set_scroll_cols(32);
- machine.generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x200);
- machine.generic.paletteram2.u8 = auto_alloc_array(machine, UINT8, 0x200);
- state_save_register_global_pointer(machine, machine.generic.paletteram.u8, 0x200);
- state_save_register_global_pointer(machine, machine.generic.paletteram2.u8, 0x200);
+ state->m_generic_paletteram_8.allocate(0x200);
+ state->m_generic_paletteram2_8.allocate(0x200);
}
WRITE8_HANDLER( flstory_videoram_w )
@@ -110,18 +104,18 @@ WRITE8_HANDLER( flstory_palette_w )
{
flstory_state *state = space->machine().driver_data<flstory_state>();
if (offset & 0x100)
- paletteram_xxxxBBBBGGGGRRRR_split2_w(space, (offset & 0xff) + (state->m_palette_bank << 8),data);
+ state->paletteram_xxxxBBBBGGGGRRRR_split2_w(*space, (offset & 0xff) + (state->m_palette_bank << 8),data);
else
- paletteram_xxxxBBBBGGGGRRRR_split1_w(space, (offset & 0xff) + (state->m_palette_bank << 8),data);
+ state->paletteram_xxxxBBBBGGGGRRRR_split1_w(*space, (offset & 0xff) + (state->m_palette_bank << 8),data);
}
READ8_HANDLER( flstory_palette_r )
{
flstory_state *state = space->machine().driver_data<flstory_state>();
if (offset & 0x100)
- return space->machine().generic.paletteram2.u8[ (offset & 0xff) + (state->m_palette_bank << 8) ];
+ return state->m_generic_paletteram2_8[ (offset & 0xff) + (state->m_palette_bank << 8) ];
else
- return space->machine().generic.paletteram.u8 [ (offset & 0xff) + (state->m_palette_bank << 8) ];
+ return state->m_generic_paletteram_8 [ (offset & 0xff) + (state->m_palette_bank << 8) ];
}
WRITE8_HANDLER( flstory_gfxctrl_w )
diff --git a/src/mame/video/foodf.c b/src/mame/video/foodf.c
index 7723cbc601c..d1407b87483 100644
--- a/src/mame/video/foodf.c
+++ b/src/mame/video/foodf.c
@@ -82,8 +82,8 @@ WRITE16_HANDLER( foodf_paletteram_w )
foodf_state *state = space->machine().driver_data<foodf_state>();
int newword, r, g, b, bit0, bit1, bit2;
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
- newword = space->machine().generic.paletteram.u16[offset];
+ COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
+ newword = state->m_generic_paletteram_16[offset];
/* only the bottom 8 bits are used */
/* red component */
diff --git a/src/mame/video/gaelco2.c b/src/mame/video/gaelco2.c
index 715a2aed0b1..e0d7f58b6db 100644
--- a/src/mame/video/gaelco2.c
+++ b/src/mame/video/gaelco2.c
@@ -224,10 +224,11 @@ static const int pen_color_adjust[16] = {
WRITE16_HANDLER( gaelco2_palette_w )
{
+ gaelco2_state *state = space->machine().driver_data<gaelco2_state>();
int i, color, r, g, b, auxr, auxg, auxb;
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
- color = space->machine().generic.paletteram.u16[offset];
+ COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
+ color = state->m_generic_paletteram_16[offset];
/* extract RGB components */
r = (color >> 10) & 0x1f;
diff --git a/src/mame/video/gaelco3d.c b/src/mame/video/gaelco3d.c
index 2e9bbab81fd..24f5b2cea59 100644
--- a/src/mame/video/gaelco3d.c
+++ b/src/mame/video/gaelco3d.c
@@ -409,8 +409,8 @@ WRITE16_HANDLER( gaelco3d_paletteram_w )
{
gaelco3d_state *state = space->machine().driver_data<gaelco3d_state>();
state->m_poly->wait("Palette change");
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
- state->m_palette[offset] = ((space->machine().generic.paletteram.u16[offset] & 0x7fe0) << 6) | (space->machine().generic.paletteram.u16[offset] & 0x1f);
+ COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
+ state->m_palette[offset] = ((state->m_generic_paletteram_16[offset] & 0x7fe0) << 6) | (state->m_generic_paletteram_16[offset] & 0x1f);
}
@@ -418,9 +418,9 @@ WRITE32_HANDLER( gaelco3d_paletteram_020_w )
{
gaelco3d_state *state = space->machine().driver_data<gaelco3d_state>();
state->m_poly->wait("Palette change");
- COMBINE_DATA(&space->machine().generic.paletteram.u32[offset]);
- state->m_palette[offset*2+0] = ((space->machine().generic.paletteram.u32[offset] & 0x7fe00000) >> 10) | ((space->machine().generic.paletteram.u32[offset] & 0x1f0000) >> 16);
- state->m_palette[offset*2+1] = ((space->machine().generic.paletteram.u32[offset] & 0x7fe0) << 6) | (space->machine().generic.paletteram.u32[offset] & 0x1f);
+ COMBINE_DATA(&state->m_generic_paletteram_32[offset]);
+ state->m_palette[offset*2+0] = ((state->m_generic_paletteram_32[offset] & 0x7fe00000) >> 10) | ((state->m_generic_paletteram_32[offset] & 0x1f0000) >> 16);
+ state->m_palette[offset*2+1] = ((state->m_generic_paletteram_32[offset] & 0x7fe0) << 6) | (state->m_generic_paletteram_32[offset] & 0x1f);
}
diff --git a/src/mame/video/galpanic.c b/src/mame/video/galpanic.c
index afcca531f82..70f3946aed7 100644
--- a/src/mame/video/galpanic.c
+++ b/src/mame/video/galpanic.c
@@ -39,7 +39,8 @@ WRITE16_HANDLER( galpanic_bgvideoram_w )
WRITE16_HANDLER( galpanic_paletteram_w )
{
- data = COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
+ galpanic_state *state = space->machine().driver_data<galpanic_state>();
+ data = COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
/* bit 0 seems to be a transparency flag for the front bitmap */
palette_set_color_rgb(space->machine(),offset,pal5bit(data >> 6),pal5bit(data >> 11),pal5bit(data >> 1));
}
diff --git a/src/mame/video/gladiatr.c b/src/mame/video/gladiatr.c
index dab763949d1..68de96f86f8 100644
--- a/src/mame/video/gladiatr.c
+++ b/src/mame/video/gladiatr.c
@@ -104,16 +104,17 @@ WRITE8_HANDLER( gladiatr_paletteram_w )
{
int r,g,b;
- space->machine().generic.paletteram.u8[offset] = data;
+ gladiatr_state *state = space->machine().driver_data<gladiatr_state>();
+ state->m_generic_paletteram_8[offset] = data;
offset &= 0x3ff;
- r = (space->machine().generic.paletteram.u8[offset] >> 0) & 0x0f;
- g = (space->machine().generic.paletteram.u8[offset] >> 4) & 0x0f;
- b = (space->machine().generic.paletteram.u8[offset + 0x400] >> 0) & 0x0f;
+ r = (state->m_generic_paletteram_8[offset] >> 0) & 0x0f;
+ g = (state->m_generic_paletteram_8[offset] >> 4) & 0x0f;
+ b = (state->m_generic_paletteram_8[offset + 0x400] >> 0) & 0x0f;
- r = (r << 1) + ((space->machine().generic.paletteram.u8[offset + 0x400] >> 4) & 0x01);
- g = (g << 1) + ((space->machine().generic.paletteram.u8[offset + 0x400] >> 5) & 0x01);
- b = (b << 1) + ((space->machine().generic.paletteram.u8[offset + 0x400] >> 6) & 0x01);
+ r = (r << 1) + ((state->m_generic_paletteram_8[offset + 0x400] >> 4) & 0x01);
+ g = (g << 1) + ((state->m_generic_paletteram_8[offset + 0x400] >> 5) & 0x01);
+ b = (b << 1) + ((state->m_generic_paletteram_8[offset + 0x400] >> 6) & 0x01);
palette_set_color_rgb(space->machine(),offset,pal5bit(r),pal5bit(g),pal5bit(b));
}
diff --git a/src/mame/video/gottlieb.c b/src/mame/video/gottlieb.c
index 40dea50d396..3a2f5ad9a39 100644
--- a/src/mame/video/gottlieb.c
+++ b/src/mame/video/gottlieb.c
@@ -20,15 +20,15 @@ WRITE8_HANDLER( gottlieb_paletteram_w )
gottlieb_state *state = space->machine().driver_data<gottlieb_state>();
int r, g, b, a, val;
- space->machine().generic.paletteram.u8[offset] = data;
+ state->m_generic_paletteram_8[offset] = data;
/* blue & green are encoded in the even bytes */
- val = space->machine().generic.paletteram.u8[offset & ~1];
+ val = state->m_generic_paletteram_8[offset & ~1];
g = combine_4_weights(state->m_weights, (val >> 4) & 1, (val >> 5) & 1, (val >> 6) & 1, (val >> 7) & 1);
b = combine_4_weights(state->m_weights, (val >> 0) & 1, (val >> 1) & 1, (val >> 2) & 1, (val >> 3) & 1);
/* red is encoded in the odd bytes */
- val = space->machine().generic.paletteram.u8[offset | 1];
+ val = state->m_generic_paletteram_8[offset | 1];
r = combine_4_weights(state->m_weights, (val >> 0) & 1, (val >> 1) & 1, (val >> 2) & 1, (val >> 3) & 1);
/* alpha is set to 0 if laserdisc video is enabled */
@@ -88,7 +88,7 @@ WRITE8_HANDLER( gottlieb_laserdisc_video_control_w )
/* configure the palette if the laserdisc is enabled */
state->m_transparent0 = (data >> 3) & 1;
- gottlieb_paletteram_w(space, 0, space->machine().generic.paletteram.u8[0]);
+ gottlieb_paletteram_w(space, 0, state->m_generic_paletteram_8[0]);
}
diff --git a/src/mame/video/itech32.c b/src/mame/video/itech32.c
index 27e5df03f82..5a24d5a923a 100644
--- a/src/mame/video/itech32.c
+++ b/src/mame/video/itech32.c
@@ -311,13 +311,14 @@ WRITE32_HANDLER( itech020_plane_w )
WRITE16_HANDLER( timekill_paletteram_w )
{
+ itech32_state *state = space->machine().driver_data<itech32_state>();
int r, g, b;
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
+ COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
- r = space->machine().generic.paletteram.u16[offset & ~1] & 0xff;
- g = space->machine().generic.paletteram.u16[offset & ~1] >> 8;
- b = space->machine().generic.paletteram.u16[offset | 1] >> 8;
+ r = state->m_generic_paletteram_16[offset & ~1] & 0xff;
+ g = state->m_generic_paletteram_16[offset & ~1] >> 8;
+ b = state->m_generic_paletteram_16[offset | 1] >> 8;
palette_set_color(space->machine(), offset / 2, MAKE_RGB(r, g, b));
}
@@ -325,16 +326,17 @@ WRITE16_HANDLER( timekill_paletteram_w )
WRITE16_HANDLER( bloodstm_paletteram_w )
{
+ itech32_state *state = space->machine().driver_data<itech32_state>();
int r, g, b;
/* in test mode, the LSB is used; in game mode, the MSB is used */
if (!ACCESSING_BITS_0_7 && (offset & 1))
data >>= 8, mem_mask >>= 8;
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
+ COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
- r = space->machine().generic.paletteram.u16[offset & ~1] & 0xff;
- g = space->machine().generic.paletteram.u16[offset & ~1] >> 8;
- b = space->machine().generic.paletteram.u16[offset | 1] & 0xff;
+ r = state->m_generic_paletteram_16[offset & ~1] & 0xff;
+ g = state->m_generic_paletteram_16[offset & ~1] >> 8;
+ b = state->m_generic_paletteram_16[offset | 1] & 0xff;
palette_set_color(space->machine(), offset / 2, MAKE_RGB(r, g, b));
}
@@ -344,11 +346,12 @@ WRITE32_HANDLER( drivedge_paletteram_w )
{
int r, g, b;
- COMBINE_DATA(&space->machine().generic.paletteram.u32[offset]);
+ itech32_state *state = space->machine().driver_data<itech32_state>();
+ COMBINE_DATA(&state->m_generic_paletteram_32[offset]);
- r = space->machine().generic.paletteram.u32[offset] & 0xff;
- g = (space->machine().generic.paletteram.u32[offset] >> 8) & 0xff;
- b = (space->machine().generic.paletteram.u32[offset] >> 16) & 0xff;
+ r = state->m_generic_paletteram_32[offset] & 0xff;
+ g = (state->m_generic_paletteram_32[offset] >> 8) & 0xff;
+ b = (state->m_generic_paletteram_32[offset] >> 16) & 0xff;
palette_set_color(space->machine(), offset, MAKE_RGB(r, g, b));
}
@@ -358,11 +361,12 @@ WRITE32_HANDLER( itech020_paletteram_w )
{
int r, g, b;
- COMBINE_DATA(&space->machine().generic.paletteram.u32[offset]);
+ itech32_state *state = space->machine().driver_data<itech32_state>();
+ COMBINE_DATA(&state->m_generic_paletteram_32[offset]);
- r = (space->machine().generic.paletteram.u32[offset] >> 16) & 0xff;
- g = (space->machine().generic.paletteram.u32[offset] >> 8) & 0xff;
- b = space->machine().generic.paletteram.u32[offset] & 0xff;
+ r = (state->m_generic_paletteram_32[offset] >> 16) & 0xff;
+ g = (state->m_generic_paletteram_32[offset] >> 8) & 0xff;
+ b = state->m_generic_paletteram_32[offset] & 0xff;
palette_set_color(space->machine(), offset, MAKE_RGB(r, g, b));
}
diff --git a/src/mame/video/jack.c b/src/mame/video/jack.c
index 31bd43803f5..9b4c66d435f 100644
--- a/src/mame/video/jack.c
+++ b/src/mame/video/jack.c
@@ -27,7 +27,8 @@ WRITE8_HANDLER( jack_colorram_w )
WRITE8_HANDLER( jack_paletteram_w )
{
/* RGB output is inverted */
- paletteram_BBGGGRRR_w(space, offset, ~data);
+ jack_state *state = space->machine().driver_data<jack_state>();
+ state->paletteram_BBGGGRRR_w(*space, offset, ~data);
}
READ8_HANDLER( jack_flipscreen_r )
diff --git a/src/mame/video/konamigx.c b/src/mame/video/konamigx.c
index 38c1e3f6872..d184e3f715f 100644
--- a/src/mame/video/konamigx.c
+++ b/src/mame/video/konamigx.c
@@ -2497,6 +2497,7 @@ SCREEN_UPDATE_RGB32(konamigx)
SCREEN_UPDATE_RGB32(konamigx_left)
{
/* the video gets demuxed by a board which plugs into the jamma connector */
+ konamigx_state *state = screen.machine().driver_data<konamigx_state>();
konamigx_current_frame^=1;
if (konamigx_current_frame==1)
@@ -2507,7 +2508,7 @@ SCREEN_UPDATE_RGB32(konamigx_left)
{
for (offset=0;offset<0x4000/4;offset++)
{
- UINT32 coldat = screen.machine().generic.paletteram.u32[offset];
+ UINT32 coldat = state->m_generic_paletteram_32[offset];
set_color_555(screen.machine(), offset*2, 0, 5, 10,coldat >> 16);
set_color_555(screen.machine(), offset*2+1, 0, 5, 10,coldat & 0xffff);
@@ -2519,9 +2520,9 @@ SCREEN_UPDATE_RGB32(konamigx_left)
{
int r,g,b;
- r = (screen.machine().generic.paletteram.u32[offset] >>16) & 0xff;
- g = (screen.machine().generic.paletteram.u32[offset] >> 8) & 0xff;
- b = (screen.machine().generic.paletteram.u32[offset] >> 0) & 0xff;
+ r = (state->m_generic_paletteram_32[offset] >>16) & 0xff;
+ g = (state->m_generic_paletteram_32[offset] >> 8) & 0xff;
+ b = (state->m_generic_paletteram_32[offset] >> 0) & 0xff;
palette_set_color(screen.machine(),offset,MAKE_RGB(r,g,b));
}
@@ -2585,11 +2586,12 @@ WRITE32_HANDLER( konamigx_palette_w )
{
int r,g,b;
- COMBINE_DATA(&space->machine().generic.paletteram.u32[offset]);
+ konamigx_state *state = space->machine().driver_data<konamigx_state>();
+ COMBINE_DATA(&state->m_generic_paletteram_32[offset]);
- r = (space->machine().generic.paletteram.u32[offset] >>16) & 0xff;
- g = (space->machine().generic.paletteram.u32[offset] >> 8) & 0xff;
- b = (space->machine().generic.paletteram.u32[offset] >> 0) & 0xff;
+ r = (state->m_generic_paletteram_32[offset] >>16) & 0xff;
+ g = (state->m_generic_paletteram_32[offset] >> 8) & 0xff;
+ b = (state->m_generic_paletteram_32[offset] >> 0) & 0xff;
palette_set_color(space->machine(),offset,MAKE_RGB(r,g,b));
}
@@ -2621,9 +2623,10 @@ INLINE void set_color_555(running_machine &machine, pen_t color, int rshift, int
WRITE32_HANDLER( konamigx_555_palette_w )
{
UINT32 coldat;
- COMBINE_DATA(&space->machine().generic.paletteram.u32[offset]);
+ konamigx_state *state = space->machine().driver_data<konamigx_state>();
+ COMBINE_DATA(&state->m_generic_paletteram_32[offset]);
- coldat = space->machine().generic.paletteram.u32[offset];
+ coldat = state->m_generic_paletteram_32[offset];
set_color_555(space->machine(), offset*2, 0, 5, 10,coldat >> 16);
set_color_555(space->machine(), offset*2+1, 0, 5, 10,coldat & 0xffff);
diff --git a/src/mame/video/konamiic.c b/src/mame/video/konamiic.c
index 81b06806412..3afff32bd8e 100644
--- a/src/mame/video/konamiic.c
+++ b/src/mame/video/konamiic.c
@@ -3181,6 +3181,7 @@ void K054338_fill_backcolor(running_machine &machine, bitmap_rgb32 &bitmap, int
UINT32 *dst_ptr, *pal_ptr;
int bgcolor;
const rectangle &visarea = machine.primary_screen->visible_area();
+ driver_device *state = machine.driver_data();
clipx = visarea.min_x & ~3;
clipy = visarea.min_y;
@@ -3192,7 +3193,7 @@ void K054338_fill_backcolor(running_machine &machine, bitmap_rgb32 &bitmap, int
dst_ptr += clipx;
BGC_SET = 0;
- pal_ptr = machine.generic.paletteram.u32;
+ pal_ptr = state->m_generic_paletteram_32;
if (!mode)
{
diff --git a/src/mame/video/konicdev.c b/src/mame/video/konicdev.c
index 834f1dcb775..03025573ffa 100644
--- a/src/mame/video/konicdev.c
+++ b/src/mame/video/konicdev.c
@@ -8261,7 +8261,7 @@ void k054338_fill_backcolor( device_t *device, bitmap_rgb32 &bitmap, int mode )
dst_ptr += clipx;
BGC_SET = 0;
- pal_ptr = device->machine().generic.paletteram.u32;
+ pal_ptr = device->machine().driver_data()->m_generic_paletteram_32;
if (!mode || k054338->k055555 == NULL)
{
diff --git a/src/mame/video/ladyfrog.c b/src/mame/video/ladyfrog.c
index 30fd92f5ef8..7519446239d 100644
--- a/src/mame/video/ladyfrog.c
+++ b/src/mame/video/ladyfrog.c
@@ -51,9 +51,9 @@ WRITE8_HANDLER( ladyfrog_palette_w )
ladyfrog_state *state = space->machine().driver_data<ladyfrog_state>();
if (offset & 0x100)
- paletteram_xxxxBBBBGGGGRRRR_split2_w(space, (offset & 0xff) + (state->m_palette_bank << 8), data);
+ state->paletteram_xxxxBBBBGGGGRRRR_split2_w(*space, (offset & 0xff) + (state->m_palette_bank << 8), data);
else
- paletteram_xxxxBBBBGGGGRRRR_split1_w(space, (offset & 0xff) + (state->m_palette_bank << 8), data);
+ state->paletteram_xxxxBBBBGGGGRRRR_split1_w(*space, (offset & 0xff) + (state->m_palette_bank << 8), data);
}
READ8_HANDLER( ladyfrog_palette_r )
@@ -61,9 +61,9 @@ READ8_HANDLER( ladyfrog_palette_r )
ladyfrog_state *state = space->machine().driver_data<ladyfrog_state>();
if (offset & 0x100)
- return space->machine().generic.paletteram2.u8[(offset & 0xff) + (state->m_palette_bank << 8)];
+ return state->m_generic_paletteram2_8[(offset & 0xff) + (state->m_palette_bank << 8)];
else
- return space->machine().generic.paletteram.u8[(offset & 0xff) + (state->m_palette_bank << 8)];
+ return state->m_generic_paletteram_8[(offset & 0xff) + (state->m_palette_bank << 8)];
}
WRITE8_HANDLER( ladyfrog_gfxctrl_w )
@@ -145,13 +145,11 @@ static VIDEO_START( ladyfrog_common )
state->m_spriteram = auto_alloc_array(machine, UINT8, 160);
state->m_bg_tilemap = tilemap_create(machine, get_tile_info, tilemap_scan_rows, 8, 8, 32, 32);
- machine.generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x200);
- machine.generic.paletteram2.u8 = auto_alloc_array(machine, UINT8, 0x200);
+ state->m_generic_paletteram_8.allocate(0x200);
+ state->m_generic_paletteram2_8.allocate(0x200);
state->m_bg_tilemap->set_scroll_cols(32);
state->m_bg_tilemap->set_scrolldy(15, 15);
- state_save_register_global_pointer(machine, machine.generic.paletteram.u8, 0x200);
- state_save_register_global_pointer(machine, machine.generic.paletteram2.u8, 0x200);
state->save_pointer(NAME(state->m_spriteram), 160);
}
diff --git a/src/mame/video/lordgun.c b/src/mame/video/lordgun.c
index 67d3d6f3a23..fbb8a7cf8db 100644
--- a/src/mame/video/lordgun.c
+++ b/src/mame/video/lordgun.c
@@ -48,7 +48,8 @@ Note: if MAME_DEBUG is defined, pressing Z with:
// xxxxBBBBGGGGRRRR, but repeat ecah color for each priority code (since we stuff it in the high bits of the pen)
WRITE16_HANDLER( lordgun_paletteram_w )
{
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
+ lordgun_state *state = space->machine().driver_data<lordgun_state>();
+ COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
for (int pri = 0; pri < 8; pri++)
palette_set_color_rgb(space->machine(), offset+0x800*pri, pal4bit(data >> 0), pal4bit(data >> 4), pal4bit(data >> 8));
}
diff --git a/src/mame/video/m72.c b/src/mame/video/m72.c
index 79f8a7d527d..7c7853ecc42 100644
--- a/src/mame/video/m72.c
+++ b/src/mame/video/m72.c
@@ -266,7 +266,8 @@ READ16_HANDLER( m72_palette1_r )
/* A9 isn't connected, so 0x200-0x3ff mirrors 0x000-0x1ff etc. */
offset &= ~0x100;
- return space->machine().generic.paletteram.u16[offset] | 0xffe0; /* only D0-D4 are connected */
+ m72_state *state = space->machine().driver_data<m72_state>();
+ return state->m_generic_paletteram_16[offset] | 0xffe0; /* only D0-D4 are connected */
}
READ16_HANDLER( m72_palette2_r )
@@ -274,7 +275,8 @@ READ16_HANDLER( m72_palette2_r )
/* A9 isn't connected, so 0x200-0x3ff mirrors 0x000-0x1ff etc. */
offset &= ~0x100;
- return space->machine().generic.paletteram2.u16[offset] | 0xffe0; /* only D0-D4 are connected */
+ m72_state *state = space->machine().driver_data<m72_state>();
+ return state->m_generic_paletteram2_16[offset] | 0xffe0; /* only D0-D4 are connected */
}
INLINE void changecolor(running_machine &machine,int color,int r,int g,int b)
@@ -287,13 +289,14 @@ WRITE16_HANDLER( m72_palette1_w )
/* A9 isn't connected, so 0x200-0x3ff mirrors 0x000-0x1ff etc. */
offset &= ~0x100;
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
+ m72_state *state = space->machine().driver_data<m72_state>();
+ COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
offset &= 0x0ff;
changecolor(space->machine(),
offset,
- space->machine().generic.paletteram.u16[offset + 0x000],
- space->machine().generic.paletteram.u16[offset + 0x200],
- space->machine().generic.paletteram.u16[offset + 0x400]);
+ state->m_generic_paletteram_16[offset + 0x000],
+ state->m_generic_paletteram_16[offset + 0x200],
+ state->m_generic_paletteram_16[offset + 0x400]);
}
WRITE16_HANDLER( m72_palette2_w )
@@ -301,13 +304,14 @@ WRITE16_HANDLER( m72_palette2_w )
/* A9 isn't connected, so 0x200-0x3ff mirrors 0x000-0x1ff etc. */
offset &= ~0x100;
- COMBINE_DATA(&space->machine().generic.paletteram2.u16[offset]);
+ m72_state *state = space->machine().driver_data<m72_state>();
+ COMBINE_DATA(&state->m_generic_paletteram2_16[offset]);
offset &= 0x0ff;
changecolor(space->machine(),
offset + 256,
- space->machine().generic.paletteram2.u16[offset + 0x000],
- space->machine().generic.paletteram2.u16[offset + 0x200],
- space->machine().generic.paletteram2.u16[offset + 0x400]);
+ state->m_generic_paletteram2_16[offset + 0x000],
+ state->m_generic_paletteram2_16[offset + 0x200],
+ state->m_generic_paletteram2_16[offset + 0x400]);
}
WRITE16_HANDLER( m72_videoram1_w )
diff --git a/src/mame/video/m92.c b/src/mame/video/m92.c
index ed633a869d2..e0783038013 100644
--- a/src/mame/video/m92.c
+++ b/src/mame/video/m92.c
@@ -129,13 +129,13 @@ WRITE16_HANDLER( m92_videocontrol_w )
READ16_HANDLER( m92_paletteram_r )
{
m92_state *state = space->machine().driver_data<m92_state>();
- return space->machine().generic.paletteram.u16[offset + 0x400 * state->m_palette_bank];
+ return state->m_generic_paletteram_16[offset + 0x400 * state->m_palette_bank];
}
WRITE16_HANDLER( m92_paletteram_w )
{
m92_state *state = space->machine().driver_data<m92_state>();
- paletteram16_xBBBBBGGGGGRRRRR_word_w(space, offset + 0x400 * state->m_palette_bank, data, mem_mask);
+ state->paletteram16_xBBBBBGGGGGRRRRR_word_w(*space, offset + 0x400 * state->m_palette_bank, data, mem_mask);
}
/*****************************************************************************/
@@ -287,7 +287,7 @@ VIDEO_START( m92 )
state_save_register_item_array(machine, "layer", NULL, laynum, layer->control);
}
- machine.generic.paletteram.u16 = auto_alloc_array(machine, UINT16, 0x1000/2);
+ state->m_generic_paletteram_16.allocate(0x1000/2);
memset(state->m_spriteram->live(),0,0x800);
memset(state->m_spriteram->buffer(),0,0x800);
@@ -298,8 +298,6 @@ VIDEO_START( m92 )
state->save_item(NAME(state->m_raster_irq_position));
state->save_item(NAME(state->m_sprite_buffer_busy));
state->save_item(NAME(state->m_palette_bank));
-
- state_save_register_global_pointer(machine, machine.generic.paletteram.u16, 0x1000/2);
}
VIDEO_START( ppan )
diff --git a/src/mame/video/mcr.c b/src/mame/video/mcr.c
index c9da45dc14e..3e89e1adf6e 100644
--- a/src/mame/video/mcr.c
+++ b/src/mame/video/mcr.c
@@ -170,7 +170,8 @@ static void journey_set_color(running_machine &machine, int index, int data)
WRITE8_HANDLER( mcr_91490_paletteram_w )
{
- space->machine().generic.paletteram.u8[offset] = data;
+ mcr_state *state = space->machine().driver_data<mcr_state>();
+ state->m_generic_paletteram_8[offset] = data;
offset &= 0x7f;
mcr_set_color(space->machine(), (offset / 2) & 0x3f, data | ((offset & 1) << 8));
}
diff --git a/src/mame/video/mcr3.c b/src/mame/video/mcr3.c
index fab9eea2faf..b37557e3740 100644
--- a/src/mame/video/mcr3.c
+++ b/src/mame/video/mcr3.c
@@ -133,7 +133,8 @@ VIDEO_START( spyhunt )
WRITE8_HANDLER( mcr3_paletteram_w )
{
- space->machine().generic.paletteram.u8[offset] = data;
+ mcr3_state *state = space->machine().driver_data<mcr3_state>();
+ state->m_generic_paletteram_8[offset] = data;
offset &= 0x7f;
/* high bit of red comes from low bit of address */
diff --git a/src/mame/video/mcr68.c b/src/mame/video/mcr68.c
index 3a8409c9566..5cd6a410fe5 100644
--- a/src/mame/video/mcr68.c
+++ b/src/mame/video/mcr68.c
@@ -153,8 +153,9 @@ WRITE16_HANDLER( mcr68_paletteram_w )
{
int newword;
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
- newword = space->machine().generic.paletteram.u16[offset];
+ mcr68_state *state = space->machine().driver_data<mcr68_state>();
+ COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
+ newword = state->m_generic_paletteram_16[offset];
palette_set_color_rgb(space->machine(), offset, pal3bit(newword >> 6), pal3bit(newword >> 0), pal3bit(newword >> 3));
}
@@ -163,8 +164,9 @@ WRITE16_HANDLER( zwackery_paletteram_w )
{
int newword;
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
- newword = space->machine().generic.paletteram.u16[offset];
+ mcr68_state *state = space->machine().driver_data<mcr68_state>();
+ COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
+ newword = state->m_generic_paletteram_16[offset];
palette_set_color_rgb(space->machine(), offset, pal5bit(~newword >> 10), pal5bit(~newword >> 0), pal5bit(~newword >> 5));
}
diff --git a/src/mame/video/micro3d.c b/src/mame/video/micro3d.c
index 88e2e95034b..2f615182dd4 100644
--- a/src/mame/video/micro3d.c
+++ b/src/mame/video/micro3d.c
@@ -111,8 +111,9 @@ WRITE16_HANDLER( micro3d_clut_w )
{
UINT16 word;
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
- word = space->machine().generic.paletteram.u16[offset];
+ micro3d_state *state = space->machine().driver_data<micro3d_state>();
+ COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
+ word = state->m_generic_paletteram_16[offset];
palette_set_color_rgb(space->machine(), offset, pal5bit(word >> 6), pal5bit(word >> 1), pal5bit(word >> 11));
}
diff --git a/src/mame/video/midtunit.c b/src/mame/video/midtunit.c
index 7e3574d0911..260e15e9f23 100644
--- a/src/mame/video/midtunit.c
+++ b/src/mame/video/midtunit.c
@@ -7,6 +7,7 @@
#include "emu.h"
#include "cpu/tms34010/tms34010.h"
#include "includes/midtunit.h"
+#include "includes/midxunit.h"
/* compile-time options */
@@ -296,8 +297,9 @@ WRITE16_HANDLER( midtunit_paletteram_w )
{
//int newword;
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
- //newword = space->machine().generic.paletteram.u16[offset];
+ midtunit_state *state = space->machine().driver_data<midtunit_state>();
+ COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
+ //newword = state->m_generic_paletteram_16[offset];
palette_set_color_rgb(space->machine(), offset, pal5bit(data >> 10), pal5bit(data >> 5), pal5bit(data >> 0));
}
@@ -311,7 +313,8 @@ WRITE16_HANDLER( midxunit_paletteram_w )
READ16_HANDLER( midxunit_paletteram_r )
{
- return space->machine().generic.paletteram.u16[offset / 2];
+ midxunit_state *state = space->machine().driver_data<midxunit_state>();
+ return state->m_generic_paletteram_16[offset / 2];
}
diff --git a/src/mame/video/midvunit.c b/src/mame/video/midvunit.c
index 72ff00f93ec..d0973915162 100644
--- a/src/mame/video/midvunit.c
+++ b/src/mame/video/midvunit.c
@@ -486,8 +486,9 @@ WRITE32_HANDLER( midvunit_paletteram_w )
{
int newword;
- COMBINE_DATA(&space->machine().generic.paletteram.u32[offset]);
- newword = space->machine().generic.paletteram.u32[offset];
+ midvunit_state *state = space->machine().driver_data<midvunit_state>();
+ COMBINE_DATA(&state->m_generic_paletteram_32[offset]);
+ newword = state->m_generic_paletteram_32[offset];
palette_set_color_rgb(space->machine(), offset, pal5bit(newword >> 10), pal5bit(newword >> 5), pal5bit(newword >> 0));
}
diff --git a/src/mame/video/midyunit.c b/src/mame/video/midyunit.c
index f4a444a070a..b1368510680 100644
--- a/src/mame/video/midyunit.c
+++ b/src/mame/video/midyunit.c
@@ -243,8 +243,8 @@ WRITE16_HANDLER( midyunit_paletteram_w )
midyunit_state *state = space->machine().driver_data<midyunit_state>();
int newword;
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
- newword = space->machine().generic.paletteram.u16[offset];
+ COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
+ newword = state->m_generic_paletteram_16[offset];
palette_set_color_rgb(space->machine(), offset & state->m_palette_mask, pal5bit(newword >> 10), pal5bit(newword >> 5), pal5bit(newword >> 0));
}
diff --git a/src/mame/video/mitchell.c b/src/mame/video/mitchell.c
index c9d5f613509..828da329f75 100644
--- a/src/mame/video/mitchell.c
+++ b/src/mame/video/mitchell.c
@@ -45,10 +45,9 @@ VIDEO_START( pang )
state->m_objram = auto_alloc_array_clear(machine, UINT8, state->m_videoram_size);
/* Palette RAM */
- machine.generic.paletteram.u8 = auto_alloc_array_clear(machine, UINT8, 2 * machine.total_colors());
+ state->m_generic_paletteram_8.allocate(2 * machine.total_colors());
state->save_pointer(NAME(state->m_objram), state->m_videoram_size);
- state_save_register_global_pointer(machine, machine.generic.paletteram.u8, 2 * machine.total_colors());
}
@@ -267,9 +266,9 @@ WRITE8_HANDLER( pang_paletteram_w )
mitchell_state *state = space->machine().driver_data<mitchell_state>();
if (state->m_paletteram_bank)
- paletteram_xxxxRRRRGGGGBBBB_le_w(space, offset + 0x800, data);
+ state->paletteram_xxxxRRRRGGGGBBBB_le_w(*space, offset + 0x800, data);
else
- paletteram_xxxxRRRRGGGGBBBB_le_w(space, offset, data);
+ state->paletteram_xxxxRRRRGGGGBBBB_le_w(*space, offset, data);
}
READ8_HANDLER( pang_paletteram_r )
@@ -277,19 +276,21 @@ READ8_HANDLER( pang_paletteram_r )
mitchell_state *state = space->machine().driver_data<mitchell_state>();
if (state->m_paletteram_bank)
- return space->machine().generic.paletteram.u8[offset + 0x800];
+ return state->m_generic_paletteram_8[offset + 0x800];
- return space->machine().generic.paletteram.u8[offset];
+ return state->m_generic_paletteram_8[offset];
}
WRITE8_HANDLER( mgakuen_paletteram_w )
{
- paletteram_xxxxRRRRGGGGBBBB_le_w(space, offset, data);
+ mitchell_state *state = space->machine().driver_data<mitchell_state>();
+ state->paletteram_xxxxRRRRGGGGBBBB_le_w(*space, offset, data);
}
READ8_HANDLER( mgakuen_paletteram_r )
{
- return space->machine().generic.paletteram.u8[offset];
+ mitchell_state *state = space->machine().driver_data<mitchell_state>();
+ return state->m_generic_paletteram_8[offset];
}
diff --git a/src/mame/video/model1.c b/src/mame/video/model1.c
index 6af74f0183f..767f258d378 100644
--- a/src/mame/video/model1.c
+++ b/src/mame/video/model1.c
@@ -1448,7 +1448,7 @@ static void tgp_scan(running_machine &machine)
VIDEO_START(model1)
{
model1_state *state = machine.driver_data<model1_state>();
- state->m_paletteram16 = machine.generic.paletteram.u16;
+ state->m_paletteram16 = state->m_generic_paletteram_16;
state->m_view = auto_alloc_clear(machine, struct view);
diff --git a/src/mame/video/namcofl.c b/src/mame/video/namcofl.c
index 2428cdd09c0..db18a8d7774 100644
--- a/src/mame/video/namcofl.c
+++ b/src/mame/video/namcofl.c
@@ -48,6 +48,7 @@ nth_byte32( const UINT32 *pSource, int which )
static void namcofl_install_palette(running_machine &machine)
{
+ namcofl_state *state = machine.driver_data<namcofl_state>();
int pen, page, dword_offset, byte_offset;
UINT32 r,g,b;
UINT32 *pSource;
@@ -58,7 +59,7 @@ static void namcofl_install_palette(running_machine &machine)
pen = 0;
for( page=0; page<4; page++ )
{
- pSource = &machine.generic.paletteram.u32[page*0x2000/4];
+ pSource = &state->m_generic_paletteram_32[page*0x2000/4];
for( dword_offset=0; dword_offset<0x800/4; dword_offset++ )
{
r = pSource[dword_offset+0x0000/4];
diff --git a/src/mame/video/namcona1.c b/src/mame/video/namcona1.c
index e205b57a1ef..977f79cc7e3 100644
--- a/src/mame/video/namcona1.c
+++ b/src/mame/video/namcona1.c
@@ -163,7 +163,8 @@ READ16_HANDLER( namcona1_videoram_r )
static void
UpdatePalette(running_machine &machine, int offset )
{
- UINT16 data = machine.generic.paletteram.u16[offset]; /* -RRRRRGG GGGBBBBB */
+ namcona1_state *state = machine.driver_data<namcona1_state>();
+ UINT16 data = state->m_generic_paletteram_16[offset]; /* -RRRRRGG GGGBBBBB */
/**
* sprites can be configured to use an alternate interpretation of palette ram
* (used in-game in Emeraldia)
@@ -180,13 +181,14 @@ UpdatePalette(running_machine &machine, int offset )
READ16_HANDLER( namcona1_paletteram_r )
{
- return space->machine().generic.paletteram.u16[offset];
+ namcona1_state *state = space->machine().driver_data<namcona1_state>();
+ return state->m_generic_paletteram_16[offset];
} /* namcona1_paletteram_r */
WRITE16_HANDLER( namcona1_paletteram_w )
{
namcona1_state *state = space->machine().driver_data<namcona1_state>();
- COMBINE_DATA( &space->machine().generic.paletteram.u16[offset] );
+ COMBINE_DATA( &state->m_generic_paletteram_16[offset] );
if( state->m_vreg[0x8e/2] )
{ /* graphics enabled; update palette immediately */
UpdatePalette(space->machine(), offset );
diff --git a/src/mame/video/namconb1.c b/src/mame/video/namconb1.c
index c348d55a5c5..94a22669af7 100644
--- a/src/mame/video/namconb1.c
+++ b/src/mame/video/namconb1.c
@@ -74,6 +74,7 @@ NB2TilemapCB(running_machine &machine, UINT16 code, int *tile, int *mask )
static void namconb1_install_palette(running_machine &machine)
{
+ namconb1_state *state = machine.driver_data<namconb1_state>();
int pen, page, dword_offset, byte_offset;
UINT32 r,g,b;
UINT32 *pSource;
@@ -85,7 +86,7 @@ static void namconb1_install_palette(running_machine &machine)
pen = 0;
for( page=0; page<4; page++ )
{
- pSource = &machine.generic.paletteram.u32[page*0x2000/4];
+ pSource = &state->m_generic_paletteram_32[page*0x2000/4];
for( dword_offset=0; dword_offset<0x800/4; dword_offset++ )
{
r = pSource[dword_offset+0x0000/4];
@@ -136,8 +137,9 @@ SCREEN_UPDATE_IND16( namconb1 )
/* compute window for custom screen blanking */
rectangle clip;
//004a 016a 0021 0101 0144 0020 (nebulas ray)
- UINT32 xclip = screen.machine().generic.paletteram.u32[0x1800/4];
- UINT32 yclip = screen.machine().generic.paletteram.u32[0x1804/4];
+ namconb1_state *state = screen.machine().driver_data<namconb1_state>();
+ UINT32 xclip = state->m_generic_paletteram_32[0x1800/4];
+ UINT32 yclip = state->m_generic_paletteram_32[0x1804/4];
clip.min_x = (xclip>>16) - 0x4a;
clip.max_x = (xclip&0xffff) - 0x4a - 1;
clip.min_y = (yclip>>16) - 0x21;
@@ -174,8 +176,8 @@ SCREEN_UPDATE_IND16( namconb2 )
/* compute window for custom screen blanking */
rectangle clip;
//004a016a 00210101 01440020
- UINT32 xclip = screen.machine().generic.paletteram.u32[0x1800/4];
- UINT32 yclip = screen.machine().generic.paletteram.u32[0x1804/4];
+ UINT32 xclip = state->m_generic_paletteram_32[0x1800/4];
+ UINT32 yclip = state->m_generic_paletteram_32[0x1804/4];
clip.min_x = (xclip>>16) - 0x4b;
clip.max_x = (xclip&0xffff) - 0x4b - 1;
clip.min_y = (yclip>>16) - 0x21;
diff --git a/src/mame/video/namcos21.c b/src/mame/video/namcos21.c
index ed120cce038..15e586f48c2 100644
--- a/src/mame/video/namcos21.c
+++ b/src/mame/video/namcos21.c
@@ -137,6 +137,7 @@ VIDEO_START( namcos21 )
static void
update_palette( running_machine &machine )
{
+ namcos21_state *state = machine.driver_data<namcos21_state>();
int i;
INT16 data1,data2;
int r,g,b;
@@ -160,8 +161,8 @@ update_palette( running_machine &machine )
*/
for( i=0; i<NAMCOS21_NUM_COLORS; i++ )
{
- data1 = machine.generic.paletteram.u16[0x00000/2+i];
- data2 = machine.generic.paletteram.u16[0x10000/2+i];
+ data1 = state->m_generic_paletteram_16[0x00000/2+i];
+ data2 = state->m_generic_paletteram_16[0x10000/2+i];
r = data1>>8;
g = data1&0xff;
diff --git a/src/mame/video/namcos22.c b/src/mame/video/namcos22.c
index 2059d48ef12..a8563d77621 100644
--- a/src/mame/video/namcos22.c
+++ b/src/mame/video/namcos22.c
@@ -1788,9 +1788,9 @@ static void UpdatePalette(running_machine &machine)
for( j=0; j<4; j++ )
{
int which = i*4+j;
- int r = nthbyte(machine.generic.paletteram.u32,which+0x00000);
- int g = nthbyte(machine.generic.paletteram.u32,which+0x08000);
- int b = nthbyte(machine.generic.paletteram.u32,which+0x10000);
+ int r = nthbyte(state->m_generic_paletteram_32,which+0x00000);
+ int g = nthbyte(state->m_generic_paletteram_32,which+0x08000);
+ int b = nthbyte(state->m_generic_paletteram_32,which+0x10000);
palette_set_color( machine,which,MAKE_RGB(r,g,b) );
}
state->m_dirtypal[i] = 0;
@@ -2721,13 +2721,14 @@ WRITE32_HANDLER( namcos22_cgram_w )
READ32_HANDLER( namcos22_paletteram_r )
{
- return space->machine().generic.paletteram.u32[offset];
+ namcos22_state *state = space->machine().driver_data<namcos22_state>();
+ return state->m_generic_paletteram_32[offset];
}
WRITE32_HANDLER( namcos22_paletteram_w )
{
namcos22_state *state = space->machine().driver_data<namcos22_state>();
- COMBINE_DATA( &space->machine().generic.paletteram.u32[offset] );
+ COMBINE_DATA( &state->m_generic_paletteram_32[offset] );
state->m_dirtypal[offset&(0x7fff/4)] = 1;
}
diff --git a/src/mame/video/nbmj8991.c b/src/mame/video/nbmj8991.c
index 4a5076d9492..af35904613f 100644
--- a/src/mame/video/nbmj8991.c
+++ b/src/mame/video/nbmj8991.c
@@ -25,15 +25,16 @@ WRITE8_HANDLER( nbmj8991_palette_type1_w )
{
int r, g, b;
- space->machine().generic.paletteram.u8[offset] = data;
+ nbmj8991_state *state = space->machine().driver_data<nbmj8991_state>();
+ state->m_generic_paletteram_8[offset] = data;
if (!(offset & 1)) return;
offset &= 0x1fe;
- r = ((space->machine().generic.paletteram.u8[offset + 0] & 0x0f) >> 0);
- g = ((space->machine().generic.paletteram.u8[offset + 1] & 0xf0) >> 4);
- b = ((space->machine().generic.paletteram.u8[offset + 1] & 0x0f) >> 0);
+ r = ((state->m_generic_paletteram_8[offset + 0] & 0x0f) >> 0);
+ g = ((state->m_generic_paletteram_8[offset + 1] & 0xf0) >> 4);
+ b = ((state->m_generic_paletteram_8[offset + 1] & 0x0f) >> 0);
palette_set_color_rgb(space->machine(), (offset >> 1), pal4bit(r), pal4bit(g), pal4bit(b));
}
@@ -42,15 +43,16 @@ WRITE8_HANDLER( nbmj8991_palette_type2_w )
{
int r, g, b;
- space->machine().generic.paletteram.u8[offset] = data;
+ nbmj8991_state *state = space->machine().driver_data<nbmj8991_state>();
+ state->m_generic_paletteram_8[offset] = data;
if (!(offset & 1)) return;
offset &= 0x1fe;
- r = ((space->machine().generic.paletteram.u8[offset + 0] & 0x7c) >> 2);
- g = (((space->machine().generic.paletteram.u8[offset + 0] & 0x03) << 3) | ((space->machine().generic.paletteram.u8[offset + 1] & 0xe0) >> 5));
- b = ((space->machine().generic.paletteram.u8[offset + 1] & 0x1f) >> 0);
+ r = ((state->m_generic_paletteram_8[offset + 0] & 0x7c) >> 2);
+ g = (((state->m_generic_paletteram_8[offset + 0] & 0x03) << 3) | ((state->m_generic_paletteram_8[offset + 1] & 0xe0) >> 5));
+ b = ((state->m_generic_paletteram_8[offset + 1] & 0x1f) >> 0);
palette_set_color_rgb(space->machine(), (offset / 2), pal5bit(r), pal5bit(g), pal5bit(b));
}
@@ -59,15 +61,16 @@ WRITE8_HANDLER( nbmj8991_palette_type3_w )
{
int r, g, b;
- space->machine().generic.paletteram.u8[offset] = data;
+ nbmj8991_state *state = space->machine().driver_data<nbmj8991_state>();
+ state->m_generic_paletteram_8[offset] = data;
if (!(offset & 1)) return;
offset &= 0x1fe;
- r = ((space->machine().generic.paletteram.u8[offset + 1] & 0x0f) >> 0);
- g = ((space->machine().generic.paletteram.u8[offset + 0] & 0xf0) >> 4);
- b = ((space->machine().generic.paletteram.u8[offset + 0] & 0x0f) >> 0);
+ r = ((state->m_generic_paletteram_8[offset + 1] & 0x0f) >> 0);
+ g = ((state->m_generic_paletteram_8[offset + 0] & 0xf0) >> 4);
+ b = ((state->m_generic_paletteram_8[offset + 0] & 0x0f) >> 0);
palette_set_color_rgb(space->machine(), (offset >> 1), pal4bit(r), pal4bit(g), pal4bit(b));
}
diff --git a/src/mame/video/nova2001.c b/src/mame/video/nova2001.c
index 201af2fa433..600d0514374 100644
--- a/src/mame/video/nova2001.c
+++ b/src/mame/video/nova2001.c
@@ -51,18 +51,19 @@ WRITE8_HANDLER( ninjakun_paletteram_w )
{
int i;
- paletteram_BBGGRRII_w(space,offset,data);
+ nova2001_state *state = space->machine().driver_data<nova2001_state>();
+ state->paletteram_BBGGRRII_w(*space,offset,data);
// expand the sprite palette to full length
if (offset < 16)
{
- paletteram_BBGGRRII_w(space, 0x200 + offset * 16 + 1, data);
+ state->paletteram_BBGGRRII_w(*space, 0x200 + offset * 16 + 1, data);
if (offset != 1)
{
for (i = 0; i < 16; i++)
{
- paletteram_BBGGRRII_w(space, 0x200 + offset + i * 16, data);
+ state->paletteram_BBGGRRII_w(*space, 0x200 + offset + i * 16, data);
}
}
}
diff --git a/src/mame/video/nycaptor.c b/src/mame/video/nycaptor.c
index 1351ba0546c..0d4ee4c3238 100644
--- a/src/mame/video/nycaptor.c
+++ b/src/mame/video/nycaptor.c
@@ -84,13 +84,11 @@ VIDEO_START( nycaptor )
state->m_bg_tilemap->set_transmask(2, 0xfffc, 0x0003);//split 2
state->m_bg_tilemap->set_transmask(3, 0xfff0, 0x000f);//split 3
- machine.generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x200);
- machine.generic.paletteram2.u8 = auto_alloc_array(machine, UINT8, 0x200);
+ state->m_generic_paletteram_8.allocate(0x200);
+ state->m_generic_paletteram2_8.allocate(0x200);
state->m_bg_tilemap->set_scroll_cols(32);
state->save_pointer(NAME(state->m_spriteram), 160);
- state_save_register_global_pointer(machine, machine.generic.paletteram.u8, 0x200);
- state_save_register_global_pointer(machine, machine.generic.paletteram2.u8, 0x200);
}
WRITE8_HANDLER( nycaptor_videoram_w )
@@ -114,9 +112,9 @@ WRITE8_HANDLER( nycaptor_palette_w )
return;
if (offset & 0x100)
- paletteram_xxxxBBBBGGGGRRRR_split2_w(space, (offset & 0xff) + (state->m_palette_bank << 8), data);
+ state->paletteram_xxxxBBBBGGGGRRRR_split2_w(*space, (offset & 0xff) + (state->m_palette_bank << 8), data);
else
- paletteram_xxxxBBBBGGGGRRRR_split1_w(space, (offset & 0xff) + (state->m_palette_bank << 8), data);
+ state->paletteram_xxxxBBBBGGGGRRRR_split1_w(*space, (offset & 0xff) + (state->m_palette_bank << 8), data);
}
READ8_HANDLER( nycaptor_palette_r )
@@ -124,9 +122,9 @@ READ8_HANDLER( nycaptor_palette_r )
nycaptor_state *state = space->machine().driver_data<nycaptor_state>();
if (offset & 0x100)
- return space->machine().generic.paletteram2.u8[(offset & 0xff) + (state->m_palette_bank << 8)];
+ return state->m_generic_paletteram2_8[(offset & 0xff) + (state->m_palette_bank << 8)];
else
- return space->machine().generic.paletteram.u8 [(offset & 0xff) + (state->m_palette_bank << 8)];
+ return state->m_generic_paletteram_8 [(offset & 0xff) + (state->m_palette_bank << 8)];
}
WRITE8_HANDLER( nycaptor_gfxctrl_w )
diff --git a/src/mame/video/playmark.c b/src/mame/video/playmark.c
index e2587b6c5c1..d61984b5a10 100644
--- a/src/mame/video/playmark.c
+++ b/src/mame/video/playmark.c
@@ -300,9 +300,10 @@ WRITE16_HANDLER( bigtwin_paletteram_w )
{
int r, g, b, val;
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
+ playmark_state *state = space->machine().driver_data<playmark_state>();
+ COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
- val = space->machine().generic.paletteram.u16[offset];
+ val = state->m_generic_paletteram_16[offset];
r = (val >> 11) & 0x1e;
g = (val >> 7) & 0x1e;
b = (val >> 3) & 0x1e;
diff --git a/src/mame/video/powerins.c b/src/mame/video/powerins.c
index d3f0022eb4f..e77de63a8e5 100644
--- a/src/mame/video/powerins.c
+++ b/src/mame/video/powerins.c
@@ -81,7 +81,8 @@ WRITE16_HANDLER( powerins_paletteram16_w )
/* RRRR GGGG BBBB RGBx */
/* 4321 4321 4321 000x */
- UINT16 newword = COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
+ powerins_state *state = space->machine().driver_data<powerins_state>();
+ UINT16 newword = COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
int r = ((newword >> 11) & 0x1E ) | ((newword >> 3) & 0x01);
int g = ((newword >> 7) & 0x1E ) | ((newword >> 2) & 0x01);
diff --git a/src/mame/video/quizdna.c b/src/mame/video/quizdna.c
index 1e74d2a3109..83ba2369df4 100644
--- a/src/mame/video/quizdna.c
+++ b/src/mame/video/quizdna.c
@@ -126,10 +126,11 @@ WRITE8_HANDLER( paletteram_xBGR_RRRR_GGGG_BBBB_w )
int r,g,b,d0,d1;
int offs = offset & ~1;
- space->machine().generic.paletteram.u8[offset] = data;
+ quizdna_state *state = space->machine().driver_data<quizdna_state>();
+ state->m_generic_paletteram_8[offset] = data;
- d0 = space->machine().generic.paletteram.u8[offs];
- d1 = space->machine().generic.paletteram.u8[offs+1];
+ d0 = state->m_generic_paletteram_8[offs];
+ d1 = state->m_generic_paletteram_8[offs+1];
r = ((d1 << 1) & 0x1e) | ((d1 >> 4) & 1);
g = ((d0 >> 3) & 0x1e) | ((d1 >> 5) & 1);
diff --git a/src/mame/video/segag80r.c b/src/mame/video/segag80r.c
index 7a80a8163b9..2207662be55 100644
--- a/src/mame/video/segag80r.c
+++ b/src/mame/video/segag80r.c
@@ -197,7 +197,7 @@ VIDEO_START( segag80r )
gfx_element_set_source(machine.gfx[0], &videoram[0x800]);
/* allocate paletteram */
- machine.generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x80);
+ state->m_generic_paletteram_8.allocate(0x80);
/* initialize the particulars for each type of background PCB */
switch (state->m_background_pcb)
@@ -227,8 +227,6 @@ VIDEO_START( segag80r )
}
/* register for save states */
- state_save_register_global_pointer(machine, machine.generic.paletteram.u8, 0x80);
-
state_save_register_global(machine, state->m_video_control);
state_save_register_global(machine, state->m_video_flip);
state_save_register_global(machine, state->m_vblank_latch);
@@ -263,7 +261,7 @@ WRITE8_HANDLER( segag80r_videoram_w )
if ((offset & 0x1000) && (state->m_video_control & 0x02))
{
offset &= 0x3f;
- space->machine().generic.paletteram.u8[offset] = data;
+ state->m_generic_paletteram_8[offset] = data;
g80_set_palette_entry(space->machine(), offset, data);
return;
}
@@ -432,7 +430,7 @@ WRITE8_HANDLER( monsterb_videoram_w )
if ((offset & 0x1fc0) == 0x1040 && (state->m_video_control & 0x40))
{
offs_t paloffs = offset & 0x3f;
- space->machine().generic.paletteram.u8[paloffs | 0x40] = data;
+ state->m_generic_paletteram_8[paloffs | 0x40] = data;
g80_set_palette_entry(space->machine(), paloffs | 0x40, data);
/* note that since the background board is not integrated with the main board */
/* writes here also write through to regular videoram */
@@ -504,7 +502,7 @@ WRITE8_HANDLER( pignewt_videoram_w )
if ((offset & 0x1fc0) == 0x1040 && (state->m_video_control & 0x02))
{
offs_t paloffs = offset & 0x3f;
- space->machine().generic.paletteram.u8[paloffs | 0x40] = data;
+ state->m_generic_paletteram_8[paloffs | 0x40] = data;
g80_set_palette_entry(space->machine(), paloffs | 0x40, data);
return;
}
@@ -590,7 +588,7 @@ WRITE8_HANDLER( sindbadm_videoram_w )
if ((offset & 0x1fc0) == 0x1000 && (state->m_video_control & 0x02))
{
offs_t paloffs = offset & 0x3f;
- space->machine().generic.paletteram.u8[paloffs | 0x40] = data;
+ state->m_generic_paletteram_8[paloffs | 0x40] = data;
g80_set_palette_entry(space->machine(), paloffs | 0x40, data);
return;
}
@@ -697,7 +695,7 @@ static void draw_background_spaceod(running_machine &machine, bitmap_ind16 &bitm
for (x = cliprect.min_x; x <= cliprect.max_x; x++)
{
int effx = ((x + state->m_spaceod_hcounter) ^ flipmask) + xoffset;
- UINT8 fgpix = machine.generic.paletteram.u8[dst[x]];
+ UINT8 fgpix = state->m_generic_paletteram_8[dst[x]];
UINT8 bgpix = src[effx & xmask] & 0x3f;
/* the background detect flag is set if:
diff --git a/src/mame/video/simpl156.c b/src/mame/video/simpl156.c
index c4c605010d5..9ac24638194 100644
--- a/src/mame/video/simpl156.c
+++ b/src/mame/video/simpl156.c
@@ -16,7 +16,7 @@ VIDEO_START( simpl156 )
state->m_pf1_rowscroll = auto_alloc_array_clear(machine, UINT16, 0x800/2);
state->m_pf2_rowscroll = auto_alloc_array_clear(machine, UINT16, 0x800/2);
state->m_spriteram = auto_alloc_array_clear(machine, UINT16, 0x2000/2);
- machine.generic.paletteram.u16 = auto_alloc_array_clear(machine, UINT16, 0x1000/2);
+ state->m_generic_paletteram_16.allocate(0x1000/2);
memset(state->m_spriteram, 0xff, 0x2000);
@@ -24,7 +24,6 @@ VIDEO_START( simpl156 )
state->save_pointer(NAME(state->m_pf1_rowscroll), 0x800/2);
state->save_pointer(NAME(state->m_pf2_rowscroll), 0x800/2);
state->save_pointer(NAME(state->m_spriteram), 0x2000/2);
- state_save_register_global_pointer(machine, machine.generic.paletteram.u16, 0x1000/2);
}
SCREEN_UPDATE_IND16( simpl156 )
diff --git a/src/mame/video/simpsons.c b/src/mame/video/simpsons.c
index 1981477833f..81d4f6575d4 100644
--- a/src/mame/video/simpsons.c
+++ b/src/mame/video/simpsons.c
@@ -102,8 +102,8 @@ void simpsons_video_banking( running_machine &machine, int bank )
if (bank & 1)
{
space->install_read_bank(0x0000, 0x0fff, "bank5");
- space->install_legacy_write_handler(0x0000, 0x0fff, FUNC(paletteram_xBBBBBGGGGGRRRRR_be_w));
- memory_set_bankptr(machine, "bank5", machine.generic.paletteram.v);
+ space->install_write_handler(0x0000, 0x0fff, write8_delegate(FUNC(simpsons_state::paletteram_xBBBBBGGGGGRRRRR_be_w), state));
+ memory_set_bankptr(machine, "bank5", state->m_generic_paletteram_8);
}
else
space->install_legacy_readwrite_handler(*state->m_k052109, 0x0000, 0x0fff, FUNC(k052109_r), FUNC(k052109_w));
diff --git a/src/mame/video/sslam.c b/src/mame/video/sslam.c
index 5262ddead8c..d77d5c0522c 100644
--- a/src/mame/video/sslam.c
+++ b/src/mame/video/sslam.c
@@ -8,9 +8,10 @@ WRITE16_HANDLER( sslam_paletteram_w )
{
int r, g, b, val;
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
+ sslam_state *state = space->machine().driver_data<sslam_state>();
+ COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
- val = space->machine().generic.paletteram.u16[offset];
+ val = state->m_generic_paletteram_16[offset];
r = (val >> 11) & 0x1e;
g = (val >> 7) & 0x1e;
b = (val >> 3) & 0x1e;
diff --git a/src/mame/video/stfight.c b/src/mame/video/stfight.c
index ffd4d2fdbfa..aa7447b2f06 100644
--- a/src/mame/video/stfight.c
+++ b/src/mame/video/stfight.c
@@ -69,11 +69,12 @@ PALETTE_INIT( stfight )
static void set_pens(running_machine &machine)
{
+ stfight_state *state = machine.driver_data<stfight_state>();
int i;
for (i = 0; i < 0x100; i++)
{
- UINT16 data = machine.generic.paletteram.u8[i] | (machine.generic.paletteram2.u8[i] << 8);
+ UINT16 data = state->m_generic_paletteram_8[i] | (state->m_generic_paletteram2_8[i] << 8);
rgb_t color = MAKE_RGB(pal4bit(data >> 4), pal4bit(data >> 0), pal4bit(data >> 8));
colortable_palette_set_color(machine.colortable, i, color);
diff --git a/src/mame/video/suna8.c b/src/mame/video/suna8.c
index 440de5f8fd6..d6566c06948 100644
--- a/src/mame/video/suna8.c
+++ b/src/mame/video/suna8.c
@@ -101,12 +101,10 @@ static TILE_GET_INFO( get_tile_info )
#endif
-READ8_HANDLER( suna8_banked_paletteram_r )
+READ8_MEMBER( suna8_state::banked_paletteram_r )
{
- suna8_state *state = space->machine().driver_data<suna8_state>();
-
- offset += state->m_palettebank * 0x200;
- return space->machine().generic.paletteram.u8[offset];
+ offset += m_palettebank * 0x200;
+ return m_generic_paletteram_8[offset];
}
READ8_HANDLER( suna8_banked_spriteram_r )
@@ -141,15 +139,14 @@ WRITE8_HANDLER( suna8_banked_spriteram_w )
/*
Banked Palette RAM. The data is scrambled
*/
-WRITE8_HANDLER( brickzn_banked_paletteram_w )
+WRITE8_MEMBER( suna8_state::brickzn_banked_paletteram_w )
{
- suna8_state *state = space->machine().driver_data<suna8_state>();
int r,g,b;
UINT16 rgb;
- offset += state->m_palettebank * 0x200;
- space->machine().generic.paletteram.u8[offset] = data;
- rgb = (space->machine().generic.paletteram.u8[offset&~1] << 8) + space->machine().generic.paletteram.u8[offset|1];
+ offset += m_palettebank * 0x200;
+ m_generic_paletteram_8[offset] = data;
+ rgb = (m_generic_paletteram_8[offset&~1] << 8) + m_generic_paletteram_8[offset|1];
r = (((rgb & (1<<0xc))?1:0)<<0) |
(((rgb & (1<<0xb))?1:0)<<1) |
(((rgb & (1<<0xe))?1:0)<<2) |
@@ -163,7 +160,7 @@ WRITE8_HANDLER( brickzn_banked_paletteram_w )
(((rgb & (1<<0x6))?1:0)<<2) |
(((rgb & (1<<0x7))?1:0)<<3);
- palette_set_color_rgb(space->machine(),offset/2,pal4bit(r),pal4bit(g),pal4bit(b));
+ palette_set_color_rgb(machine(),offset/2,pal4bit(r),pal4bit(g),pal4bit(b));
}
@@ -175,7 +172,7 @@ static void suna8_vh_start_common(running_machine &machine, int dim)
state->m_text_dim = dim;
if (!(state->m_text_dim > 0))
{
- machine.generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x200 * 2);
+ state->m_generic_paletteram_8.allocate(0x200 * 2);
state->m_spriteram = auto_alloc_array(machine, UINT8, 0x2000 * 2);
state->m_spritebank = 0;
state->m_palettebank = 0;
diff --git a/src/mame/video/system1.c b/src/mame/video/system1.c
index b8b784ab71a..0817506ea8a 100644
--- a/src/mame/video/system1.c
+++ b/src/mame/video/system1.c
@@ -324,7 +324,8 @@ WRITE8_HANDLER( system1_paletteram_w )
accurate to +/- .003K ohms.
*/
- space->machine().generic.paletteram.u8[offset] = data;
+ system1_state *state = space->machine().driver_data<system1_state>();
+ state->m_generic_paletteram_8[offset] = data;
if (color_prom != NULL)
{
diff --git a/src/mame/video/system16.c b/src/mame/video/system16.c
index 07f12e22f6b..5c31db4790f 100644
--- a/src/mame/video/system16.c
+++ b/src/mame/video/system16.c
@@ -115,8 +115,8 @@ WRITE16_HANDLER( sys16_paletteram_w )
segas1x_bootleg_state *state = space->machine().driver_data<segas1x_bootleg_state>();
UINT16 newword;
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
- newword = space->machine().generic.paletteram.u16[offset];
+ COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
+ newword = state->m_generic_paletteram_16[offset];
/* sBGR BBBB GGGG RRRR */
/* x000 4321 4321 4321 */
diff --git a/src/mame/video/taito_f3.c b/src/mame/video/taito_f3.c
index b73b8192cb0..c582772284a 100644
--- a/src/mame/video/taito_f3.c
+++ b/src/mame/video/taito_f3.c
@@ -872,46 +872,46 @@ WRITE32_HANDLER( f3_palette_24bit_w )
taito_f3_state *state = space->machine().driver_data<taito_f3_state>();
int r,g,b;
- COMBINE_DATA(&space->machine().generic.paletteram.u32[offset]);
+ COMBINE_DATA(&state->m_generic_paletteram_32[offset]);
/* 12 bit palette games - there has to be a palette select bit somewhere */
if (state->m_f3_game==SPCINVDX || state->m_f3_game==RIDINGF || state->m_f3_game==ARABIANM || state->m_f3_game==RINGRAGE) {
- b = 15 * ((space->machine().generic.paletteram.u32[offset] >> 4) & 0xf);
- g = 15 * ((space->machine().generic.paletteram.u32[offset] >> 8) & 0xf);
- r = 15 * ((space->machine().generic.paletteram.u32[offset] >> 12) & 0xf);
+ b = 15 * ((state->m_generic_paletteram_32[offset] >> 4) & 0xf);
+ g = 15 * ((state->m_generic_paletteram_32[offset] >> 8) & 0xf);
+ r = 15 * ((state->m_generic_paletteram_32[offset] >> 12) & 0xf);
}
/* This is weird - why are only the sprites and VRAM palettes 21 bit? */
else if (state->m_f3_game==CLEOPATR) {
if (offset<0x100 || offset>0x1000) {
- r = ((space->machine().generic.paletteram.u32[offset] >>16) & 0x7f)<<1;
- g = ((space->machine().generic.paletteram.u32[offset] >> 8) & 0x7f)<<1;
- b = ((space->machine().generic.paletteram.u32[offset] >> 0) & 0x7f)<<1;
+ r = ((state->m_generic_paletteram_32[offset] >>16) & 0x7f)<<1;
+ g = ((state->m_generic_paletteram_32[offset] >> 8) & 0x7f)<<1;
+ b = ((state->m_generic_paletteram_32[offset] >> 0) & 0x7f)<<1;
} else {
- r = (space->machine().generic.paletteram.u32[offset] >>16) & 0xff;
- g = (space->machine().generic.paletteram.u32[offset] >> 8) & 0xff;
- b = (space->machine().generic.paletteram.u32[offset] >> 0) & 0xff;
+ r = (state->m_generic_paletteram_32[offset] >>16) & 0xff;
+ g = (state->m_generic_paletteram_32[offset] >> 8) & 0xff;
+ b = (state->m_generic_paletteram_32[offset] >> 0) & 0xff;
}
}
/* Another weird couple - perhaps this is alpha blending related? */
else if (state->m_f3_game==TWINQIX || state->m_f3_game==RECALH) {
if (offset>0x1c00) {
- r = ((space->machine().generic.paletteram.u32[offset] >>16) & 0x7f)<<1;
- g = ((space->machine().generic.paletteram.u32[offset] >> 8) & 0x7f)<<1;
- b = ((space->machine().generic.paletteram.u32[offset] >> 0) & 0x7f)<<1;
+ r = ((state->m_generic_paletteram_32[offset] >>16) & 0x7f)<<1;
+ g = ((state->m_generic_paletteram_32[offset] >> 8) & 0x7f)<<1;
+ b = ((state->m_generic_paletteram_32[offset] >> 0) & 0x7f)<<1;
} else {
- r = (space->machine().generic.paletteram.u32[offset] >>16) & 0xff;
- g = (space->machine().generic.paletteram.u32[offset] >> 8) & 0xff;
- b = (space->machine().generic.paletteram.u32[offset] >> 0) & 0xff;
+ r = (state->m_generic_paletteram_32[offset] >>16) & 0xff;
+ g = (state->m_generic_paletteram_32[offset] >> 8) & 0xff;
+ b = (state->m_generic_paletteram_32[offset] >> 0) & 0xff;
}
}
/* All other games - standard 24 bit palette */
else {
- r = (space->machine().generic.paletteram.u32[offset] >>16) & 0xff;
- g = (space->machine().generic.paletteram.u32[offset] >> 8) & 0xff;
- b = (space->machine().generic.paletteram.u32[offset] >> 0) & 0xff;
+ r = (state->m_generic_paletteram_32[offset] >>16) & 0xff;
+ g = (state->m_generic_paletteram_32[offset] >> 8) & 0xff;
+ b = (state->m_generic_paletteram_32[offset] >> 0) & 0xff;
}
palette_set_color(space->machine(),offset,MAKE_RGB(r,g,b));
diff --git a/src/mame/video/tatsumi.c b/src/mame/video/tatsumi.c
index 9350d70f164..ccf456833b6 100644
--- a/src/mame/video/tatsumi.c
+++ b/src/mame/video/tatsumi.c
@@ -57,7 +57,8 @@ WRITE16_HANDLER( roundup5_palette_w )
// static int hack=0;
int word;
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
+ tatsumi_state *state = space->machine().driver_data<tatsumi_state>();
+ COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
// if (offset==0xbfe)
// hack++;
@@ -79,7 +80,7 @@ bit 0: 3.9kOhm resistor
// logerror("PAL: %04x %02x\n",offset,data);
offset&=~1;
- word = ((space->machine().generic.paletteram.u16[offset] & 0xff)<<8) | (space->machine().generic.paletteram.u16[offset+1] & 0xff);
+ word = ((state->m_generic_paletteram_16[offset] & 0xff)<<8) | (state->m_generic_paletteram_16[offset+1] & 0xff);
palette_set_color_rgb(space->machine(),offset/2,pal5bit(word >> 10),pal5bit(word >> 5),pal5bit(word >> 0));
}
@@ -88,7 +89,8 @@ WRITE16_HANDLER( apache3_palette_w )
{
// static int hack=0;
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
+ tatsumi_state *state = space->machine().driver_data<tatsumi_state>();
+ COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
// if (offset==0xbfe)
// hack++;
@@ -109,7 +111,7 @@ bit 0: 3.9kOhm resistor
// logerror("PAL: %04x %02x\n",offset,data);
- data = space->machine().generic.paletteram.u16[offset];
+ data = state->m_generic_paletteram_16[offset];
palette_set_color_rgb(space->machine(),offset,pal5bit(data >> 10),pal5bit(data >> 5),pal5bit(data >> 0));
}
diff --git a/src/mame/video/tecmosys.c b/src/mame/video/tecmosys.c
index d5fa3c588a4..df667ac6ffb 100644
--- a/src/mame/video/tecmosys.c
+++ b/src/mame/video/tecmosys.c
@@ -257,7 +257,7 @@ static void tecmosys_do_final_mix(running_machine &machine, bitmap_rgb32 &bitmap
if (srcptr2[x]&0x3fff)
{
- penvalue2 = machine.generic.paletteram.u16[srcptr2[x]&0x3fff];
+ penvalue2 = state->m_generic_paletteram_16[srcptr2[x]&0x3fff];
colour2 = paldata[srcptr2[x]&0x3fff];
}
else
diff --git a/src/mame/video/tetrisp2.c b/src/mame/video/tetrisp2.c
index cfd33d14859..b5d3bf8dbaa 100644
--- a/src/mame/video/tetrisp2.c
+++ b/src/mame/video/tetrisp2.c
@@ -46,14 +46,16 @@ To Do:
/* BBBBBGGGGGRRRRRx xxxxxxxxxxxxxxxx */
WRITE16_HANDLER( tetrisp2_palette_w )
{
- data = COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
+ tetrisp2_state *state = space->machine().driver_data<tetrisp2_state>();
+ data = COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
if ((offset & 1) == 0)
palette_set_color_rgb(space->machine(),offset/2,pal5bit(data >> 1),pal5bit(data >> 6),pal5bit(data >> 11));
}
WRITE16_HANDLER( rocknms_sub_palette_w )
{
- data = COMBINE_DATA(&space->machine().generic.paletteram2.u16[offset]);
+ tetrisp2_state *state = space->machine().driver_data<tetrisp2_state>();
+ data = COMBINE_DATA(&state->m_generic_paletteram2_16[offset]);
if ((offset & 1) == 0)
palette_set_color_rgb(space->machine(),(0x8000 + (offset/2)),pal5bit(data >> 1),pal5bit(data >> 6),pal5bit(data >> 11));
}
diff --git a/src/mame/video/tmnt.c b/src/mame/video/tmnt.c
index ca975e53824..4465fcce0e9 100644
--- a/src/mame/video/tmnt.c
+++ b/src/mame/video/tmnt.c
@@ -315,10 +315,11 @@ VIDEO_START( blswhstl )
WRITE16_HANDLER( tmnt_paletteram_word_w )
{
- COMBINE_DATA(space->machine().generic.paletteram.u16 + offset);
+ tmnt_state *state = space->machine().driver_data<tmnt_state>();
+ COMBINE_DATA(state->m_generic_paletteram_16 + offset);
offset &= ~1;
- data = (space->machine().generic.paletteram.u16[offset] << 8) | space->machine().generic.paletteram.u16[offset + 1];
+ data = (state->m_generic_paletteram_16[offset] << 8) | state->m_generic_paletteram_16[offset + 1];
palette_set_color_rgb(space->machine(), offset / 2, pal5bit(data >> 0), pal5bit(data >> 5), pal5bit(data >> 10));
}
diff --git a/src/mame/video/toaplan1.c b/src/mame/video/toaplan1.c
index b76ba3c5917..d05e6f91ba4 100644
--- a/src/mame/video/toaplan1.c
+++ b/src/mame/video/toaplan1.c
@@ -232,9 +232,8 @@ static void toaplan1_paletteram_alloc(running_machine &machine)
{
toaplan1_state *state = machine.driver_data<toaplan1_state>();
- machine.generic.paletteram.u16 = auto_alloc_array(machine, UINT16, (state->m_colorram1_size + state->m_colorram2_size)/2);
-
- state_save_register_global_pointer(machine, machine.generic.paletteram.u16, (state->m_colorram1_size + state->m_colorram2_size)/2);
+ UINT32 bytes = (state->m_colorram1_size + state->m_colorram2_size)/2;
+ state->m_generic_paletteram_16.allocate(bytes);
}
static void toaplan1_vram_alloc(running_machine &machine)
@@ -517,7 +516,7 @@ WRITE16_HANDLER( toaplan1_colorram1_w )
toaplan1_state *state = space->machine().driver_data<toaplan1_state>();
COMBINE_DATA(&state->m_colorram1[offset]);
- paletteram16_xBBBBBGGGGGRRRRR_word_w(space, offset, data, mem_mask);
+ state->paletteram16_xBBBBBGGGGGRRRRR_word_w(*space, offset, data, mem_mask);
}
/* sprite palette */
@@ -533,7 +532,7 @@ WRITE16_HANDLER( toaplan1_colorram2_w )
toaplan1_state *state = space->machine().driver_data<toaplan1_state>();
COMBINE_DATA(&state->m_colorram2[offset]);
- paletteram16_xBBBBBGGGGGRRRRR_word_w(space, offset+(state->m_colorram1_size/2), data, mem_mask);
+ state->paletteram16_xBBBBBGGGGGRRRRR_word_w(*space, offset+(state->m_colorram1_size/2), data, mem_mask);
}
READ16_HANDLER( toaplan1_spriteram16_r )
diff --git a/src/mame/video/toaplan2.c b/src/mame/video/toaplan2.c
index 1f0a9f5e18b..6b0bd82b934 100644
--- a/src/mame/video/toaplan2.c
+++ b/src/mame/video/toaplan2.c
@@ -265,7 +265,7 @@ WRITE16_HANDLER( batrider_textdata_dma_w )
memcpy(dest, state->m_txvideoram16, state->m_tx_vram_size);
dest += (state->m_tx_vram_size/2);
- memcpy(dest, space->machine().generic.paletteram.u16, state->m_paletteram_size);
+ memcpy(dest, state->m_generic_paletteram_16, state->m_paletteram_size);
dest += (state->m_paletteram_size/2);
memcpy(dest, state->m_txvideoram16_offs, state->m_tx_offs_vram_size);
dest += (state->m_tx_offs_vram_size/2);
diff --git a/src/mame/video/toobin.c b/src/mame/video/toobin.c
index e760dc1e588..dc4f49884ab 100644
--- a/src/mame/video/toobin.c
+++ b/src/mame/video/toobin.c
@@ -115,8 +115,8 @@ WRITE16_HANDLER( toobin_paletteram_w )
toobin_state *state = space->machine().driver_data<toobin_state>();
int newword;
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
- newword = space->machine().generic.paletteram.u16[offset];
+ COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
+ newword = state->m_generic_paletteram_16[offset];
{
int red = (((newword >> 10) & 31) * 224) >> 5;
@@ -146,7 +146,7 @@ WRITE16_HANDLER( toobin_intensity_w )
state->m_brightness = (double)(~data & 0x1f) / 31.0;
for (i = 0; i < 0x400; i++)
- if (!(space->machine().generic.paletteram.u16[i] & 0x8000))
+ if (!(state->m_generic_paletteram_16[i] & 0x8000))
palette_set_pen_contrast(space->machine(), i, state->m_brightness);
}
}
diff --git a/src/mame/video/tunhunt.c b/src/mame/video/tunhunt.c
index 331da04e12a..f0d3cfb32be 100644
--- a/src/mame/video/tunhunt.c
+++ b/src/mame/video/tunhunt.c
@@ -157,6 +157,7 @@ static void set_pens(running_machine &machine)
00 f0 f0 00 b0 00 f0 f0
*/
//const UINT8 *color_prom = machine.region( "proms" )->base();
+ tunhunt_state *state = machine.driver_data<tunhunt_state>();
int color;
int shade;
int i;
@@ -164,7 +165,7 @@ static void set_pens(running_machine &machine)
for( i=0; i<16; i++ )
{
- color = machine.generic.paletteram.u8[i];
+ color = state->m_generic_paletteram_8[i];
shade = 0xf^(color>>4);
color &= 0xf; /* hue select */
diff --git a/src/mame/video/twin16.c b/src/mame/video/twin16.c
index 11c6e36504a..5f83bff2b44 100644
--- a/src/mame/video/twin16.c
+++ b/src/mame/video/twin16.c
@@ -49,10 +49,11 @@ WRITE16_HANDLER( twin16_text_ram_w )
WRITE16_HANDLER( twin16_paletteram_word_w )
{ // identical to tmnt_paletteram_w
- COMBINE_DATA(space->machine().generic.paletteram.u16 + offset);
+ twin16_state *state = space->machine().driver_data<twin16_state>();
+ COMBINE_DATA(state->m_generic_paletteram_16 + offset);
offset &= ~1;
- data = ((space->machine().generic.paletteram.u16[offset] & 0xff) << 8) | (space->machine().generic.paletteram.u16[offset + 1] & 0xff);
+ data = ((state->m_generic_paletteram_16[offset] & 0xff) << 8) | (state->m_generic_paletteram_16[offset + 1] & 0xff);
palette_set_color_rgb(space->machine(), offset / 2, pal5bit(data >> 0), pal5bit(data >> 5), pal5bit(data >> 10));
}
diff --git a/src/mame/video/unico.c b/src/mame/video/unico.c
index 70a97086da9..237c7fa2278 100644
--- a/src/mame/video/unico.c
+++ b/src/mame/video/unico.c
@@ -53,10 +53,11 @@ Note: if MAME_DEBUG is defined, pressing Z with:
WRITE16_HANDLER( unico_palette_w )
{
+ unico_state *state = space->machine().driver_data<unico_state>();
UINT16 data1, data2;
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
- data1 = space->machine().generic.paletteram.u16[offset & ~1];
- data2 = space->machine().generic.paletteram.u16[offset | 1];
+ COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
+ data1 = state->m_generic_paletteram_16[offset & ~1];
+ data2 = state->m_generic_paletteram_16[offset | 1];
palette_set_color_rgb( space->machine(),offset/2,
(data1 >> 8) & 0xFC,
(data1 >> 0) & 0xFC,
@@ -65,7 +66,8 @@ WRITE16_HANDLER( unico_palette_w )
WRITE32_HANDLER( unico_palette32_w )
{
- UINT32 rgb0 = COMBINE_DATA(&space->machine().generic.paletteram.u32[offset]);
+ unico_state *state = space->machine().driver_data<unico_state>();
+ UINT32 rgb0 = COMBINE_DATA(&state->m_generic_paletteram_32[offset]);
palette_set_color_rgb( space->machine(),offset,
(rgb0 >> 24) & 0xFC,
(rgb0 >> 16) & 0xFC,
diff --git a/src/mame/video/vaportra.c b/src/mame/video/vaportra.c
index 507cd2a54eb..a978a9c5650 100644
--- a/src/mame/video/vaportra.c
+++ b/src/mame/video/vaportra.c
@@ -26,24 +26,27 @@ WRITE16_HANDLER( vaportra_priority_w )
static void update_24bitcol( running_machine &machine, int offset )
{
+ vaportra_state *state = machine.driver_data<vaportra_state>();
UINT8 r, g, b;
- r = (machine.generic.paletteram.u16[offset] >> 0) & 0xff;
- g = (machine.generic.paletteram.u16[offset] >> 8) & 0xff;
- b = (machine.generic.paletteram2.u16[offset] >> 0) & 0xff;
+ r = (state->m_generic_paletteram_16[offset] >> 0) & 0xff;
+ g = (state->m_generic_paletteram_16[offset] >> 8) & 0xff;
+ b = (state->m_generic_paletteram2_16[offset] >> 0) & 0xff;
palette_set_color(machine, offset, MAKE_RGB(r,g,b));
}
WRITE16_HANDLER( vaportra_palette_24bit_rg_w )
{
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
+ vaportra_state *state = space->machine().driver_data<vaportra_state>();
+ COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
update_24bitcol(space->machine(), offset);
}
WRITE16_HANDLER( vaportra_palette_24bit_b_w )
{
- COMBINE_DATA(&space->machine().generic.paletteram2.u16[offset]);
+ vaportra_state *state = space->machine().driver_data<vaportra_state>();
+ COMBINE_DATA(&state->m_generic_paletteram2_16[offset]);
update_24bitcol(space->machine(), offset);
}
diff --git a/src/mame/video/vigilant.c b/src/mame/video/vigilant.c
index 5d7ba11d794..e7d241d104e 100644
--- a/src/mame/video/vigilant.c
+++ b/src/mame/video/vigilant.c
@@ -96,14 +96,15 @@ WRITE8_HANDLER( vigilant_paletteram_w )
int bank,r,g,b;
- space->machine().generic.paletteram.u8[offset] = data;
+ vigilant_state *state = space->machine().driver_data<vigilant_state>();
+ state->m_generic_paletteram_8[offset] = data;
bank = offset & 0x400;
offset &= 0xff;
- r = (space->machine().generic.paletteram.u8[bank + offset + 0x000] << 3) & 0xFF;
- g = (space->machine().generic.paletteram.u8[bank + offset + 0x100] << 3) & 0xFF;
- b = (space->machine().generic.paletteram.u8[bank + offset + 0x200] << 3) & 0xFF;
+ r = (state->m_generic_paletteram_8[bank + offset + 0x000] << 3) & 0xFF;
+ g = (state->m_generic_paletteram_8[bank + offset + 0x100] << 3) & 0xFF;
+ b = (state->m_generic_paletteram_8[bank + offset + 0x200] << 3) & 0xFF;
palette_set_color(space->machine(), (bank >> 2) + offset,MAKE_RGB(r,g,b));
}
@@ -306,15 +307,15 @@ SCREEN_UPDATE_IND16( vigilant )
int r,g,b;
- r = (screen.machine().generic.paletteram.u8[0x400 + 16 * state->m_rear_color + i] << 3) & 0xFF;
- g = (screen.machine().generic.paletteram.u8[0x500 + 16 * state->m_rear_color + i] << 3) & 0xFF;
- b = (screen.machine().generic.paletteram.u8[0x600 + 16 * state->m_rear_color + i] << 3) & 0xFF;
+ r = (state->m_generic_paletteram_8[0x400 + 16 * state->m_rear_color + i] << 3) & 0xFF;
+ g = (state->m_generic_paletteram_8[0x500 + 16 * state->m_rear_color + i] << 3) & 0xFF;
+ b = (state->m_generic_paletteram_8[0x600 + 16 * state->m_rear_color + i] << 3) & 0xFF;
palette_set_color(screen.machine(),512 + i,MAKE_RGB(r,g,b));
- r = (screen.machine().generic.paletteram.u8[0x400 + 16 * state->m_rear_color + 32 + i] << 3) & 0xFF;
- g = (screen.machine().generic.paletteram.u8[0x500 + 16 * state->m_rear_color + 32 + i] << 3) & 0xFF;
- b = (screen.machine().generic.paletteram.u8[0x600 + 16 * state->m_rear_color + 32 + i] << 3) & 0xFF;
+ r = (state->m_generic_paletteram_8[0x400 + 16 * state->m_rear_color + 32 + i] << 3) & 0xFF;
+ g = (state->m_generic_paletteram_8[0x500 + 16 * state->m_rear_color + 32 + i] << 3) & 0xFF;
+ b = (state->m_generic_paletteram_8[0x600 + 16 * state->m_rear_color + 32 + i] << 3) & 0xFF;
palette_set_color(screen.machine(),512 + 16 + i,MAKE_RGB(r,g,b));
}
diff --git a/src/mame/video/vindictr.c b/src/mame/video/vindictr.c
index 32b0619c41f..57b547a3b1d 100644
--- a/src/mame/video/vindictr.c
+++ b/src/mame/video/vindictr.c
@@ -115,8 +115,9 @@ WRITE16_HANDLER( vindictr_paletteram_w )
int c;
/* first blend the data */
- COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
- data = space->machine().generic.paletteram.u16[offset];
+ vindictr_state *state = space->machine().driver_data<vindictr_state>();
+ COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
+ data = state->m_generic_paletteram_16[offset];
/* now generate colors at all 16 intensities */
for (c = 0; c < 8; c++)
diff --git a/src/mame/video/wecleman.c b/src/mame/video/wecleman.c
index 9924fb315d9..fd3c0a5a150 100644
--- a/src/mame/video/wecleman.c
+++ b/src/mame/video/wecleman.c
@@ -859,7 +859,8 @@ WRITE16_HANDLER( hotchase_paletteram16_SBGRBBBBGGGGRRRR_word_w )
{
int newword, r, g, b;
- newword = COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
+ wecleman_state *state = space->machine().driver_data<wecleman_state>();
+ newword = COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
r = ((newword << 1) & 0x1E ) | ((newword >> 12) & 0x01);
g = ((newword >> 3) & 0x1E ) | ((newword >> 13) & 0x01);
@@ -872,7 +873,8 @@ WRITE16_HANDLER( hotchase_paletteram16_SBGRBBBBGGGGRRRR_word_w )
WRITE16_HANDLER( wecleman_paletteram16_SSSSBBBBGGGGRRRR_word_w )
{
- int newword = COMBINE_DATA(&space->machine().generic.paletteram.u16[offset]);
+ wecleman_state *state = space->machine().driver_data<wecleman_state>();
+ int newword = COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
// the highest nibble has some unknown functions
// if (newword & 0xf000) logerror("MSN set on color %03x: %1x\n", offset, newword>>12);
diff --git a/src/mame/video/williams.c b/src/mame/video/williams.c
index 871d4264cce..17222ed83f6 100644
--- a/src/mame/video/williams.c
+++ b/src/mame/video/williams.c
@@ -154,8 +154,7 @@ VIDEO_START( williams2 )
blitter_init(machine, state->m_blitter_config, NULL);
/* allocate paletteram */
- machine.generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x400 * 2);
- state_save_register_global_pointer(machine, machine.generic.paletteram.u8, 0x400 * 2);
+ state->m_generic_paletteram_8.allocate(0x400 * 2);
/* create the tilemap */
state->m_bg_tilemap = tilemap_create(machine, get_tile_info, tilemap_scan_cols, 24,16, 128,16);
@@ -180,7 +179,7 @@ SCREEN_UPDATE_RGB32( williams )
/* precompute the palette */
for (x = 0; x < 16; x++)
- pens[x] = state->m_palette_lookup[screen.machine().generic.paletteram.u8[x]];
+ pens[x] = state->m_palette_lookup[state->m_generic_paletteram_8[x]];
/* loop over rows */
for (y = cliprect.min_y; y <= cliprect.max_y; y++)
@@ -208,7 +207,7 @@ SCREEN_UPDATE_RGB32( blaster )
/* precompute the palette */
for (x = 0; x < 16; x++)
- pens[x] = state->m_palette_lookup[screen.machine().generic.paletteram.u8[x]];
+ pens[x] = state->m_palette_lookup[state->m_generic_paletteram_8[x]];
/* if we're blitting from the top, start with a 0 for color 0 */
if (cliprect.min_y == screen.visible_area().min_y || !(state->m_blaster_video_control & 1))
@@ -323,11 +322,12 @@ WRITE8_HANDLER( williams2_paletteram_w )
UINT8 entry_lo, entry_hi, i, r, g, b;
/* set the new value */
- space->machine().generic.paletteram.u8[offset] = data;
+ williams_state *state = space->machine().driver_data<williams_state>();
+ state->m_generic_paletteram_8[offset] = data;
/* pull the associated low/high bytes */
- entry_lo = space->machine().generic.paletteram.u8[offset & ~1];
- entry_hi = space->machine().generic.paletteram.u8[offset | 1];
+ entry_lo = state->m_generic_paletteram_8[offset & ~1];
+ entry_hi = state->m_generic_paletteram_8[offset | 1];
/* update the palette entry */
i = ztable[(entry_hi >> 4) & 15];
diff --git a/src/mame/video/xxmissio.c b/src/mame/video/xxmissio.c
index b739b428f29..4d01b510a63 100644
--- a/src/mame/video/xxmissio.c
+++ b/src/mame/video/xxmissio.c
@@ -48,7 +48,8 @@ READ8_HANDLER( xxmissio_bgram_r )
WRITE8_HANDLER( xxmissio_paletteram_w )
{
- paletteram_BBGGRRII_w(space,offset,data);
+ xxmissio_state *state = space->machine().driver_data<xxmissio_state>();
+ state->paletteram_BBGGRRII_w(*space,offset,data);
}
/****************************************************************************/