summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2009-11-28 03:06:46 +0000
committer Aaron Giles <aaron@aarongiles.com>2009-11-28 03:06:46 +0000
commit6bfe172c789792068f959376006a711f7a407d68 (patch)
tree9d5d5a20bf184d0732672678e43ddbde01d488b3 /src
parentb716ea8271047ca54465281c9d8f6a470a79b9a2 (diff)
Removed global videoram, colorram, paletteram, and spriteram.
Added equivalent pointers to machine->generic. Updated all references. Now that accessing these is more awkward, it is probably best to put these pointers in the driver data structures instead of using the generic pointers. The main reason to continue using generic pointers is to allow use of paletteram shortcuts and buffered spriteram handling.
Diffstat (limited to 'src')
-rw-r--r--src/emu/machine/generic.c36
-rw-r--r--src/emu/mame.h34
-rw-r--r--src/emu/memory.c9
-rw-r--r--src/emu/memory.h12
-rw-r--r--src/emu/video.c18
-rw-r--r--src/emu/video/generic.c288
-rw-r--r--src/emu/video/generic.h72
-rw-r--r--src/mame/drivers/1942.c2
-rw-r--r--src/mame/drivers/1943.c2
-rw-r--r--src/mame/drivers/1945kiii.c2
-rw-r--r--src/mame/drivers/2mindril.c2
-rw-r--r--src/mame/drivers/40love.c16
-rw-r--r--src/mame/drivers/4enraya.c2
-rw-r--r--src/mame/drivers/4roses.c4
-rw-r--r--src/mame/drivers/88games.c14
-rw-r--r--src/mame/drivers/acefruit.c16
-rw-r--r--src/mame/drivers/acommand.c7
-rw-r--r--src/mame/drivers/actfancr.c8
-rw-r--r--src/mame/drivers/aeroboto.c2
-rw-r--r--src/mame/drivers/aerofgt.c24
-rw-r--r--src/mame/drivers/airbustr.c10
-rw-r--r--src/mame/drivers/ajax.c2
-rw-r--r--src/mame/drivers/albazg.c4
-rw-r--r--src/mame/drivers/aliens.c2
-rw-r--r--src/mame/drivers/alpha68k.c20
-rw-r--r--src/mame/drivers/amaticmg.c4
-rw-r--r--src/mame/drivers/ambush.c4
-rw-r--r--src/mame/drivers/ampoker2.c2
-rw-r--r--src/mame/drivers/amspdwy.c8
-rw-r--r--src/mame/drivers/aquarium.c4
-rw-r--r--src/mame/drivers/arcadecl.c2
-rw-r--r--src/mame/drivers/argus.c6
-rw-r--r--src/mame/drivers/arkanoid.c4
-rw-r--r--src/mame/drivers/armedf.c28
-rw-r--r--src/mame/drivers/ashnojoe.c2
-rw-r--r--src/mame/drivers/asterix.c2
-rw-r--r--src/mame/drivers/astinvad.c10
-rw-r--r--src/mame/drivers/astrocde.c10
-rw-r--r--src/mame/drivers/astrocorp.c6
-rw-r--r--src/mame/drivers/atarifb.c8
-rw-r--r--src/mame/drivers/atarig1.c2
-rw-r--r--src/mame/drivers/atarig42.c2
-rw-r--r--src/mame/drivers/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.c10
-rw-r--r--src/mame/drivers/avalnche.c4
-rw-r--r--src/mame/drivers/aztarac.c2
-rw-r--r--src/mame/drivers/backfire.c6
-rw-r--r--src/mame/drivers/badlands.c4
-rw-r--r--src/mame/drivers/bagman.c12
-rw-r--r--src/mame/drivers/balsente.c6
-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.c14
-rw-r--r--src/mame/drivers/beathead.c6
-rw-r--r--src/mame/drivers/beezer.c2
-rw-r--r--src/mame/drivers/bestleag.c7
-rw-r--r--src/mame/drivers/bigfghtr.c7
-rw-r--r--src/mame/drivers/bigstrkb.c2
-rw-r--r--src/mame/drivers/bingor.c2
-rw-r--r--src/mame/drivers/bionicc.c2
-rw-r--r--src/mame/drivers/bishi.c4
-rw-r--r--src/mame/drivers/bishjan.c10
-rw-r--r--src/mame/drivers/blackt96.c2
-rw-r--r--src/mame/drivers/bladestl.c2
-rw-r--r--src/mame/drivers/blktiger.c6
-rw-r--r--src/mame/drivers/blmbycar.c4
-rw-r--r--src/mame/drivers/blockhl.c4
-rw-r--r--src/mame/drivers/bloodbro.c8
-rw-r--r--src/mame/drivers/blstroid.c2
-rw-r--r--src/mame/drivers/blueprnt.c2
-rw-r--r--src/mame/drivers/bmcbowl.c6
-rw-r--r--src/mame/drivers/bogeyman.c4
-rw-r--r--src/mame/drivers/bombjack.c4
-rw-r--r--src/mame/drivers/boogwing.c6
-rw-r--r--src/mame/drivers/bottom9.c4
-rw-r--r--src/mame/drivers/brkthru.c8
-rw-r--r--src/mame/drivers/btime.c24
-rw-r--r--src/mame/drivers/bublbobl.c12
-rw-r--r--src/mame/drivers/buggychl.c6
-rw-r--r--src/mame/drivers/bwing.c2
-rw-r--r--src/mame/drivers/cabal.c16
-rw-r--r--src/mame/drivers/cabaret.c4
-rw-r--r--src/mame/drivers/calomega.c12
-rw-r--r--src/mame/drivers/calorie.c2
-rw-r--r--src/mame/drivers/capbowl.c6
-rw-r--r--src/mame/drivers/cardline.c22
-rw-r--r--src/mame/drivers/carjmbre.c2
-rw-r--r--src/mame/drivers/cave.c52
-rw-r--r--src/mame/drivers/cbasebal.c6
-rw-r--r--src/mame/drivers/cbuster.c6
-rw-r--r--src/mame/drivers/ccastles.c16
-rw-r--r--src/mame/drivers/centiped.c34
-rw-r--r--src/mame/drivers/champbas.c4
-rw-r--r--src/mame/drivers/chinagat.c6
-rw-r--r--src/mame/drivers/chqflag.c4
-rw-r--r--src/mame/drivers/circusc.c2
-rw-r--r--src/mame/drivers/cischeat.c20
-rw-r--r--src/mame/drivers/citycon.c4
-rw-r--r--src/mame/drivers/cloak.c4
-rw-r--r--src/mame/drivers/cloud9.c16
-rw-r--r--src/mame/drivers/clshroad.c2
-rw-r--r--src/mame/drivers/cmmb.c8
-rw-r--r--src/mame/drivers/cninja.c18
-rw-r--r--src/mame/drivers/coinmstr.c6
-rw-r--r--src/mame/drivers/cojag.c8
-rw-r--r--src/mame/drivers/combatsc.c4
-rw-r--r--src/mame/drivers/commando.c2
-rw-r--r--src/mame/drivers/contra.c4
-rw-r--r--src/mame/drivers/coolpool.c2
-rw-r--r--src/mame/drivers/coolridr.c14
-rw-r--r--src/mame/drivers/cop01.c2
-rw-r--r--src/mame/drivers/copsnrob.c2
-rw-r--r--src/mame/drivers/cosmic.c14
-rw-r--r--src/mame/drivers/cowrace.c12
-rw-r--r--src/mame/drivers/crimfght.c2
-rw-r--r--src/mame/drivers/crospang.c8
-rw-r--r--src/mame/drivers/crshrace.c6
-rw-r--r--src/mame/drivers/cshooter.c19
-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/dacholer.c4
-rw-r--r--src/mame/drivers/darius.c4
-rw-r--r--src/mame/drivers/darkhors.c13
-rw-r--r--src/mame/drivers/darkmist.c6
-rw-r--r--src/mame/drivers/darkseal.c6
-rw-r--r--src/mame/drivers/dassault.c6
-rw-r--r--src/mame/drivers/dblewing.c5
-rw-r--r--src/mame/drivers/dbz.c2
-rw-r--r--src/mame/drivers/dcon.c4
-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/ddrible.c2
-rw-r--r--src/mame/drivers/deadang.c6
-rw-r--r--src/mame/drivers/dec0.c22
-rw-r--r--src/mame/drivers/dec8.c72
-rw-r--r--src/mame/drivers/deco156.c17
-rw-r--r--src/mame/drivers/deco32.c34
-rw-r--r--src/mame/drivers/deco_ld.c10
-rw-r--r--src/mame/drivers/deco_mlc.c10
-rw-r--r--src/mame/drivers/deniam.c4
-rw-r--r--src/mame/drivers/dietgo.c4
-rw-r--r--src/mame/drivers/diverboy.c6
-rw-r--r--src/mame/drivers/djboy.c4
-rw-r--r--src/mame/drivers/djmain.c6
-rw-r--r--src/mame/drivers/dlair.c4
-rw-r--r--src/mame/drivers/docastle.c6
-rw-r--r--src/mame/drivers/dogfgt.c4
-rw-r--r--src/mame/drivers/dominob.c6
-rw-r--r--src/mame/drivers/dooyong.c34
-rw-r--r--src/mame/drivers/dorachan.c4
-rw-r--r--src/mame/drivers/dotrikun.c4
-rw-r--r--src/mame/drivers/drgnmst.c4
-rw-r--r--src/mame/drivers/drtomy.c2
-rw-r--r--src/mame/drivers/dynduke.c10
-rw-r--r--src/mame/drivers/egghunt.c2
-rw-r--r--src/mame/drivers/embargo.c4
-rw-r--r--src/mame/drivers/epos.c4
-rw-r--r--src/mame/drivers/eprom.c4
-rw-r--r--src/mame/drivers/esd16.c16
-rw-r--r--src/mame/drivers/exedexes.c2
-rw-r--r--src/mame/drivers/exerion.c4
-rw-r--r--src/mame/drivers/exidy440.c2
-rw-r--r--src/mame/drivers/expro02.c10
-rw-r--r--src/mame/drivers/exprraid.c2
-rw-r--r--src/mame/drivers/exterm.c2
-rw-r--r--src/mame/drivers/f1gp.c8
-rw-r--r--src/mame/drivers/fantland.c28
-rw-r--r--src/mame/drivers/fastlane.c4
-rw-r--r--src/mame/drivers/fcombat.c4
-rw-r--r--src/mame/drivers/feversoc.c19
-rw-r--r--src/mame/drivers/finalizr.c4
-rw-r--r--src/mame/drivers/firefox.c4
-rw-r--r--src/mame/drivers/firetrap.c4
-rw-r--r--src/mame/drivers/fitfight.c4
-rw-r--r--src/mame/drivers/flkatck.c2
-rw-r--r--src/mame/drivers/flower.c2
-rw-r--r--src/mame/drivers/flstory.c12
-rw-r--r--src/mame/drivers/foodf.c6
-rw-r--r--src/mame/drivers/freekick.c6
-rw-r--r--src/mame/drivers/funkyjet.c4
-rw-r--r--src/mame/drivers/funworld.c28
-rw-r--r--src/mame/drivers/fuukifg2.c4
-rw-r--r--src/mame/drivers/fuukifg3.c20
-rw-r--r--src/mame/drivers/gaelco.c8
-rw-r--r--src/mame/drivers/gaelco2.c24
-rw-r--r--src/mame/drivers/gaelco3d.c4
-rw-r--r--src/mame/drivers/gaiden.c12
-rw-r--r--src/mame/drivers/gal3.c18
-rw-r--r--src/mame/drivers/galastrm.c2
-rw-r--r--src/mame/drivers/galaxi.c2
-rw-r--r--src/mame/drivers/galaxian.c44
-rw-r--r--src/mame/drivers/galivan.c12
-rw-r--r--src/mame/drivers/galpani2.c4
-rw-r--r--src/mame/drivers/galpani3.c14
-rw-r--r--src/mame/drivers/galpanic.c22
-rw-r--r--src/mame/drivers/galspnbl.c4
-rw-r--r--src/mame/drivers/gatron.c2
-rw-r--r--src/mame/drivers/gauntlet.c2
-rw-r--r--src/mame/drivers/gberet.c22
-rw-r--r--src/mame/drivers/gbusters.c4
-rw-r--r--src/mame/drivers/gcpinbal.c4
-rw-r--r--src/mame/drivers/gei.c20
-rw-r--r--src/mame/drivers/gijoe.c12
-rw-r--r--src/mame/drivers/ginganin.c4
-rw-r--r--src/mame/drivers/gladiatr.c12
-rw-r--r--src/mame/drivers/glass.c2
-rw-r--r--src/mame/drivers/gng.c6
-rw-r--r--src/mame/drivers/go2000.c2
-rw-r--r--src/mame/drivers/goal92.c4
-rw-r--r--src/mame/drivers/goindol.c4
-rw-r--r--src/mame/drivers/goldnpkr.c20
-rw-r--r--src/mame/drivers/goldstar.c42
-rw-r--r--src/mame/drivers/good.c2
-rw-r--r--src/mame/drivers/goodejan.c4
-rw-r--r--src/mame/drivers/gotcha.c4
-rw-r--r--src/mame/drivers/gottlieb.c12
-rw-r--r--src/mame/drivers/gotya.c6
-rw-r--r--src/mame/drivers/gradius3.c2
-rw-r--r--src/mame/drivers/gridlee.c4
-rw-r--r--src/mame/drivers/groundfx.c8
-rw-r--r--src/mame/drivers/gstream.c16
-rw-r--r--src/mame/drivers/gstriker.c4
-rw-r--r--src/mame/drivers/gsword.c2
-rw-r--r--src/mame/drivers/gticlub.c6
-rw-r--r--src/mame/drivers/gumbo.c6
-rw-r--r--src/mame/drivers/gunbustr.c10
-rw-r--r--src/mame/drivers/gundealr.c2
-rw-r--r--src/mame/drivers/gunsmoke.c6
-rw-r--r--src/mame/drivers/halleys.c6
-rw-r--r--src/mame/drivers/hanaawas.c4
-rw-r--r--src/mame/drivers/hcastle.c6
-rw-r--r--src/mame/drivers/hexa.c2
-rw-r--r--src/mame/drivers/higemaru.c6
-rw-r--r--src/mame/drivers/highvdeo.c6
-rw-r--r--src/mame/drivers/himesiki.c4
-rw-r--r--src/mame/drivers/hitpoker.c26
-rw-r--r--src/mame/drivers/hng64.c12
-rw-r--r--src/mame/drivers/holeland.c12
-rw-r--r--src/mame/drivers/homedata.c6
-rw-r--r--src/mame/drivers/homerun.c2
-rw-r--r--src/mame/drivers/hvyunit.c16
-rw-r--r--src/mame/drivers/hyperspt.c12
-rw-r--r--src/mame/drivers/hyprduel.c8
-rw-r--r--src/mame/drivers/igs009.c4
-rw-r--r--src/mame/drivers/igs011.c16
-rw-r--r--src/mame/drivers/igs017.c32
-rw-r--r--src/mame/drivers/igs_m027.c6
-rw-r--r--src/mame/drivers/igspoker.c12
-rw-r--r--src/mame/drivers/ikki.c4
-rw-r--r--src/mame/drivers/ilpag.c20
-rw-r--r--src/mame/drivers/inufuku.c2
-rw-r--r--src/mame/drivers/iqblock.c8
-rw-r--r--src/mame/drivers/irobot.c4
-rw-r--r--src/mame/drivers/ironhors.c16
-rw-r--r--src/mame/drivers/itech32.c8
-rw-r--r--src/mame/drivers/jack.c14
-rw-r--r--src/mame/drivers/jackal.c2
-rw-r--r--src/mame/drivers/jackie.c4
-rw-r--r--src/mame/drivers/jackpool.c2
-rw-r--r--src/mame/drivers/jailbrek.c6
-rw-r--r--src/mame/drivers/jalmah.c4
-rw-r--r--src/mame/drivers/jchan.c4
-rw-r--r--src/mame/drivers/jedi.c2
-rw-r--r--src/mame/drivers/jokrwild.c12
-rw-r--r--src/mame/drivers/jollyjgr.c15
-rw-r--r--src/mame/drivers/jongkyo.c6
-rw-r--r--src/mame/drivers/jrpacman.c6
-rw-r--r--src/mame/drivers/junofrst.c4
-rw-r--r--src/mame/drivers/kaneko16.c36
-rw-r--r--src/mame/drivers/karnov.c4
-rw-r--r--src/mame/drivers/kchamp.c12
-rw-r--r--src/mame/drivers/kickgoal.c4
-rw-r--r--src/mame/drivers/kingdrby.c3
-rw-r--r--src/mame/drivers/kingobox.c12
-rw-r--r--src/mame/drivers/klax.c2
-rw-r--r--src/mame/drivers/kncljoe.c4
-rw-r--r--src/mame/drivers/koftball.c8
-rw-r--r--src/mame/drivers/koikoi.c10
-rw-r--r--src/mame/drivers/konamigx.c8
-rw-r--r--src/mame/drivers/kopunch.c2
-rw-r--r--src/mame/drivers/ksayakyu.c4
-rw-r--r--src/mame/drivers/labyrunr.c4
-rw-r--r--src/mame/drivers/ladybug.c12
-rw-r--r--src/mame/drivers/ladyfrog.c2
-rw-r--r--src/mame/drivers/laserbat.c10
-rw-r--r--src/mame/drivers/lastduel.c8
-rw-r--r--src/mame/drivers/lastfght.c10
-rw-r--r--src/mame/drivers/lazercmd.c6
-rw-r--r--src/mame/drivers/legionna.c30
-rw-r--r--src/mame/drivers/leland.c2
-rw-r--r--src/mame/drivers/lemmings.c14
-rw-r--r--src/mame/drivers/lethal.c4
-rw-r--r--src/mame/drivers/liberate.c40
-rw-r--r--src/mame/drivers/limenko.c22
-rw-r--r--src/mame/drivers/lkage.c6
-rw-r--r--src/mame/drivers/lordgun.c8
-rw-r--r--src/mame/drivers/lsasquad.c8
-rw-r--r--src/mame/drivers/lvcards.c12
-rw-r--r--src/mame/drivers/lwings.c18
-rw-r--r--src/mame/drivers/m10.c6
-rw-r--r--src/mame/drivers/m107.c4
-rw-r--r--src/mame/drivers/m52.c4
-rw-r--r--src/mame/drivers/m57.c2
-rw-r--r--src/mame/drivers/m58.c2
-rw-r--r--src/mame/drivers/m62.c24
-rw-r--r--src/mame/drivers/m63.c6
-rw-r--r--src/mame/drivers/m72.c44
-rw-r--r--src/mame/drivers/m90.c10
-rw-r--r--src/mame/drivers/m92.c4
-rw-r--r--src/mame/drivers/macrossp.c18
-rw-r--r--src/mame/drivers/madmotor.c4
-rw-r--r--src/mame/drivers/magic10.c12
-rw-r--r--src/mame/drivers/magicfly.c24
-rw-r--r--src/mame/drivers/magmax.c4
-rw-r--r--src/mame/drivers/mainevt.c4
-rw-r--r--src/mame/drivers/mainsnk.c2
-rw-r--r--src/mame/drivers/markham.c4
-rw-r--r--src/mame/drivers/mastboy.c4
-rw-r--r--src/mame/drivers/matmania.c16
-rw-r--r--src/mame/drivers/mazerbla.c2
-rw-r--r--src/mame/drivers/mcatadv.c4
-rw-r--r--src/mame/drivers/mcr.c18
-rw-r--r--src/mame/drivers/mcr3.c12
-rw-r--r--src/mame/drivers/mcr68.c24
-rw-r--r--src/mame/drivers/meadows.c10
-rw-r--r--src/mame/drivers/megasys1.c12
-rw-r--r--src/mame/drivers/megazone.c6
-rw-r--r--src/mame/drivers/meijinsn.c6
-rw-r--r--src/mame/drivers/merit.c8
-rw-r--r--src/mame/drivers/mermaid.c6
-rw-r--r--src/mame/drivers/metlclsh.c6
-rw-r--r--src/mame/drivers/metro.c90
-rw-r--r--src/mame/drivers/micro3d.c6
-rw-r--r--src/mame/drivers/midas.c2
-rw-r--r--src/mame/drivers/midtunit.c2
-rw-r--r--src/mame/drivers/midvunit.c10
-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/midzeus.c4
-rw-r--r--src/mame/drivers/mikie.c6
-rw-r--r--src/mame/drivers/mil4000.c2
-rw-r--r--src/mame/drivers/miniboy7.c12
-rw-r--r--src/mame/drivers/minivadr.c6
-rw-r--r--src/mame/drivers/mirage.c5
-rw-r--r--src/mame/drivers/mirax.c15
-rw-r--r--src/mame/drivers/missb2.c4
-rw-r--r--src/mame/drivers/missile.c20
-rw-r--r--src/mame/drivers/mjkjidai.c6
-rw-r--r--src/mame/drivers/mlanding.c2
-rw-r--r--src/mame/drivers/model1.c8
-rw-r--r--src/mame/drivers/model2.c9
-rw-r--r--src/mame/drivers/mole.c2
-rw-r--r--src/mame/drivers/momoko.c6
-rw-r--r--src/mame/drivers/moo.c24
-rw-r--r--src/mame/drivers/mosaic.c4
-rw-r--r--src/mame/drivers/mouser.c6
-rw-r--r--src/mame/drivers/mrdo.c2
-rw-r--r--src/mame/drivers/mrflea.c6
-rw-r--r--src/mame/drivers/mrjong.c4
-rw-r--r--src/mame/drivers/msisaac.c6
-rw-r--r--src/mame/drivers/mugsmash.c2
-rw-r--r--src/mame/drivers/munchmo.c2
-rw-r--r--src/mame/drivers/mustache.c4
-rw-r--r--src/mame/drivers/mwarr.c6
-rw-r--r--src/mame/drivers/mystwarr.c28
-rw-r--r--src/mame/drivers/namcofl.c6
-rw-r--r--src/mame/drivers/namcoic.c17
-rw-r--r--src/mame/drivers/namcona1.c14
-rw-r--r--src/mame/drivers/namconb1.c8
-rw-r--r--src/mame/drivers/namcos21.c10
-rw-r--r--src/mame/drivers/namcos22.c6
-rw-r--r--src/mame/drivers/namcos23.c12
-rw-r--r--src/mame/drivers/naughtyb.c4
-rw-r--r--src/mame/drivers/nbmj8991.c18
-rw-r--r--src/mame/drivers/nemesis.c36
-rw-r--r--src/mame/drivers/news.c2
-rw-r--r--src/mame/drivers/ninjakd2.c16
-rw-r--r--src/mame/drivers/ninjaw.c4
-rw-r--r--src/mame/drivers/nitedrvr.c4
-rw-r--r--src/mame/drivers/nmg5.c11
-rw-r--r--src/mame/drivers/nmk16.c42
-rw-r--r--src/mame/drivers/nova2001.c12
-rw-r--r--src/mame/drivers/nwk-tr.c6
-rw-r--r--src/mame/drivers/nycaptor.c12
-rw-r--r--src/mame/drivers/offtwall.c2
-rw-r--r--src/mame/drivers/ohmygod.c4
-rw-r--r--src/mame/drivers/olibochu.c22
-rw-r--r--src/mame/drivers/oneshot.c2
-rw-r--r--src/mame/drivers/onetwo.c14
-rw-r--r--src/mame/drivers/opwolf.c4
-rw-r--r--src/mame/drivers/othello.c4
-rw-r--r--src/mame/drivers/othldrby.c2
-rw-r--r--src/mame/drivers/othunder.c2
-rw-r--r--src/mame/drivers/overdriv.c2
-rw-r--r--src/mame/drivers/pacman.c90
-rw-r--r--src/mame/drivers/panicr.c9
-rw-r--r--src/mame/drivers/paradise.c14
-rw-r--r--src/mame/drivers/parodius.c6
-rw-r--r--src/mame/drivers/pasha2.c8
-rw-r--r--src/mame/drivers/pass.c2
-rw-r--r--src/mame/drivers/pbaction.c8
-rw-r--r--src/mame/drivers/pcktgal.c4
-rw-r--r--src/mame/drivers/pengo.c14
-rw-r--r--src/mame/drivers/peplus.c6
-rw-r--r--src/mame/drivers/pgm.c14
-rw-r--r--src/mame/drivers/pingpong.c12
-rw-r--r--src/mame/drivers/pipedrm.c10
-rw-r--r--src/mame/drivers/pirates.c2
-rw-r--r--src/mame/drivers/pitnrun.c4
-rw-r--r--src/mame/drivers/pkscram.c2
-rw-r--r--src/mame/drivers/pktgaldx.c6
-rw-r--r--src/mame/drivers/playch10.c2
-rw-r--r--src/mame/drivers/playmark.c20
-rw-r--r--src/mame/drivers/plygonet.c10
-rw-r--r--src/mame/drivers/pokechmp.c10
-rw-r--r--src/mame/drivers/polyplay.c2
-rw-r--r--src/mame/drivers/pooyan.c8
-rw-r--r--src/mame/drivers/popeye.c18
-rw-r--r--src/mame/drivers/popper.c2
-rw-r--r--src/mame/drivers/portrait.c2
-rw-r--r--src/mame/drivers/powerbal.c11
-rw-r--r--src/mame/drivers/powerins.c8
-rw-r--r--src/mame/drivers/prehisle.c6
-rw-r--r--src/mame/drivers/progolf.c10
-rw-r--r--src/mame/drivers/psikyo.c5
-rw-r--r--src/mame/drivers/psikyo4.c12
-rw-r--r--src/mame/drivers/psikyosh.c16
-rw-r--r--src/mame/drivers/psychic5.c4
-rw-r--r--src/mame/drivers/pturn.c9
-rw-r--r--src/mame/drivers/pushman.c12
-rw-r--r--src/mame/drivers/pzletime.c5
-rw-r--r--src/mame/drivers/qdrmfgp.c8
-rw-r--r--src/mame/drivers/quizdna.c8
-rw-r--r--src/mame/drivers/quizo.c8
-rw-r--r--src/mame/drivers/quizpani.c2
-rw-r--r--src/mame/drivers/quizpun2.c2
-rw-r--r--src/mame/drivers/rabbit.c10
-rw-r--r--src/mame/drivers/raiden.c10
-rw-r--r--src/mame/drivers/raiden2.c26
-rw-r--r--src/mame/drivers/rainbow.c6
-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.c4
-rw-r--r--src/mame/drivers/redclash.c8
-rw-r--r--src/mame/drivers/relief.c2
-rw-r--r--src/mame/drivers/renegade.c8
-rw-r--r--src/mame/drivers/rmhaihai.c16
-rw-r--r--src/mame/drivers/rockrage.c2
-rw-r--r--src/mame/drivers/rocnrope.c8
-rw-r--r--src/mame/drivers/rohga.c20
-rw-r--r--src/mame/drivers/rollerg.c2
-rw-r--r--src/mame/drivers/rollrace.c6
-rw-r--r--src/mame/drivers/royalmah.c40
-rw-r--r--src/mame/drivers/rpunch.c6
-rw-r--r--src/mame/drivers/rungun.c2
-rw-r--r--src/mame/drivers/sandscrp.c2
-rw-r--r--src/mame/drivers/sauro.c4
-rw-r--r--src/mame/drivers/sbasketb.c6
-rw-r--r--src/mame/drivers/sbowling.c12
-rw-r--r--src/mame/drivers/sbrkout.c16
-rw-r--r--src/mame/drivers/scotrsht.c6
-rw-r--r--src/mame/drivers/scregg.c4
-rw-r--r--src/mame/drivers/sderby.c12
-rw-r--r--src/mame/drivers/seattle.c4
-rw-r--r--src/mame/drivers/segac2.c10
-rw-r--r--src/mame/drivers/segag80r.c2
-rw-r--r--src/mame/drivers/segahang.c4
-rw-r--r--src/mame/drivers/segaorun.c4
-rw-r--r--src/mame/drivers/segas16a.c2
-rw-r--r--src/mame/drivers/segas16b.c12
-rw-r--r--src/mame/drivers/segas18.c8
-rw-r--r--src/mame/drivers/segas24.c2
-rw-r--r--src/mame/drivers/segaxbd.c2
-rw-r--r--src/mame/drivers/segaybd.c2
-rw-r--r--src/mame/drivers/seicross.c8
-rw-r--r--src/mame/drivers/sengokmj.c4
-rw-r--r--src/mame/drivers/senjyo.c8
-rw-r--r--src/mame/drivers/seta.c187
-rw-r--r--src/mame/drivers/seta2.c48
-rw-r--r--src/mame/drivers/sf.c12
-rw-r--r--src/mame/drivers/shadfrce.c4
-rw-r--r--src/mame/drivers/shangha3.c6
-rw-r--r--src/mame/drivers/shanghai.c4
-rw-r--r--src/mame/drivers/shangkid.c10
-rw-r--r--src/mame/drivers/shaolins.c6
-rw-r--r--src/mame/drivers/shisen.c4
-rw-r--r--src/mame/drivers/shootout.c8
-rw-r--r--src/mame/drivers/shougi.c6
-rw-r--r--src/mame/drivers/shuuz.c2
-rw-r--r--src/mame/drivers/sidearms.c30
-rw-r--r--src/mame/drivers/sidepckt.c6
-rw-r--r--src/mame/drivers/silkroad.c6
-rw-r--r--src/mame/drivers/simpl156.c20
-rw-r--r--src/mame/drivers/simpsons.c6
-rw-r--r--src/mame/drivers/skullxbo.c2
-rw-r--r--src/mame/drivers/skyarmy.c3
-rw-r--r--src/mame/drivers/skyfox.c2
-rw-r--r--src/mame/drivers/skylncr.c20
-rw-r--r--src/mame/drivers/slapfght.c24
-rw-r--r--src/mame/drivers/slapshot.c4
-rw-r--r--src/mame/drivers/sliver.c14
-rw-r--r--src/mame/drivers/snk.c116
-rw-r--r--src/mame/drivers/snk6502.c20
-rw-r--r--src/mame/drivers/snk68.c8
-rw-r--r--src/mame/drivers/snookr10.c8
-rw-r--r--src/mame/drivers/snowbros.c22
-rw-r--r--src/mame/drivers/solomon.c8
-rw-r--r--src/mame/drivers/sonson.c6
-rw-r--r--src/mame/drivers/spbactn.c2
-rw-r--r--src/mame/drivers/spcforce.c4
-rw-r--r--src/mame/drivers/spdodgeb.c2
-rw-r--r--src/mame/drivers/speedatk.c4
-rw-r--r--src/mame/drivers/speedbal.c4
-rw-r--r--src/mame/drivers/speedspn.c2
-rw-r--r--src/mame/drivers/splash.c6
-rw-r--r--src/mame/drivers/spoker.c4
-rw-r--r--src/mame/drivers/spool99.c14
-rw-r--r--src/mame/drivers/sprint4.c6
-rw-r--r--src/mame/drivers/spy.c4
-rw-r--r--src/mame/drivers/srmp2.c16
-rw-r--r--src/mame/drivers/srmp6.c8
-rw-r--r--src/mame/drivers/srumbler.c4
-rw-r--r--src/mame/drivers/sshangha.c12
-rw-r--r--src/mame/drivers/sslam.c4
-rw-r--r--src/mame/drivers/ssozumo.c8
-rw-r--r--src/mame/drivers/ssv.c6
-rw-r--r--src/mame/drivers/stadhero.c4
-rw-r--r--src/mame/drivers/starwars.c4
-rw-r--r--src/mame/drivers/statriv2.c12
-rw-r--r--src/mame/drivers/stfight.c4
-rw-r--r--src/mame/drivers/stlforce.c2
-rw-r--r--src/mame/drivers/strnskil.c4
-rw-r--r--src/mame/drivers/sub.c6
-rw-r--r--src/mame/drivers/subs.c4
-rw-r--r--src/mame/drivers/subsino.c14
-rw-r--r--src/mame/drivers/suna16.c10
-rw-r--r--src/mame/drivers/suna8.c14
-rw-r--r--src/mame/drivers/supbtime.c8
-rw-r--r--src/mame/drivers/supdrapo.c4
-rw-r--r--src/mame/drivers/superchs.c8
-rw-r--r--src/mame/drivers/superdq.c6
-rw-r--r--src/mame/drivers/superqix.c10
-rw-r--r--src/mame/drivers/suprgolf.c18
-rw-r--r--src/mame/drivers/suprloco.c2
-rw-r--r--src/mame/drivers/suprnova.c2
-rw-r--r--src/mame/drivers/suprridr.c2
-rw-r--r--src/mame/drivers/suprslam.c2
-rw-r--r--src/mame/drivers/surpratk.c6
-rw-r--r--src/mame/drivers/system1.c8
-rw-r--r--src/mame/drivers/system16.c36
-rw-r--r--src/mame/drivers/tagteam.c4
-rw-r--r--src/mame/drivers/tail2nos.c4
-rw-r--r--src/mame/drivers/taito_b.c30
-rw-r--r--src/mame/drivers/taito_f2.c108
-rw-r--r--src/mame/drivers/taito_f3.c6
-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.c24
-rw-r--r--src/mame/drivers/taito_z.c28
-rw-r--r--src/mame/drivers/taitoair.c6
-rw-r--r--src/mame/drivers/tankbatt.c2
-rw-r--r--src/mame/drivers/tankbust.c6
-rw-r--r--src/mame/drivers/taotaido.c2
-rw-r--r--src/mame/drivers/targeth.c2
-rw-r--r--src/mame/drivers/tatsumi.c26
-rw-r--r--src/mame/drivers/tattack.c8
-rw-r--r--src/mame/drivers/tbowl.c2
-rw-r--r--src/mame/drivers/tecmo.c12
-rw-r--r--src/mame/drivers/tecmo16.c8
-rw-r--r--src/mame/drivers/tecmosys.c6
-rw-r--r--src/mame/drivers/tehkanwc.c10
-rw-r--r--src/mame/drivers/terracre.c8
-rw-r--r--src/mame/drivers/tetrisp2.c24
-rw-r--r--src/mame/drivers/thedeep.c2
-rw-r--r--src/mame/drivers/thoop2.c2
-rw-r--r--src/mame/drivers/thunderj.c2
-rw-r--r--src/mame/drivers/thunderx.c8
-rw-r--r--src/mame/drivers/tigeroad.c6
-rw-r--r--src/mame/drivers/timelimt.c4
-rw-r--r--src/mame/drivers/timeplt.c16
-rw-r--r--src/mame/drivers/tmaster.c2
-rw-r--r--src/mame/drivers/tmmjprd.c10
-rw-r--r--src/mame/drivers/tmnt.c56
-rw-r--r--src/mame/drivers/tnzs.c12
-rw-r--r--src/mame/drivers/toaplan1.c2
-rw-r--r--src/mame/drivers/toaplan2.c36
-rw-r--r--src/mame/drivers/toki.c12
-rw-r--r--src/mame/drivers/toobin.c2
-rw-r--r--src/mame/drivers/topspeed.c4
-rw-r--r--src/mame/drivers/toypop.c12
-rw-r--r--src/mame/drivers/trackfld.c32
-rw-r--r--src/mame/drivers/travrusa.c2
-rw-r--r--src/mame/drivers/triplhnt.c4
-rw-r--r--src/mame/drivers/truco.c2
-rw-r--r--src/mame/drivers/trucocl.c4
-rw-r--r--src/mame/drivers/trvmadns.c10
-rw-r--r--src/mame/drivers/tryout.c6
-rw-r--r--src/mame/drivers/tsamurai.c16
-rw-r--r--src/mame/drivers/tumbleb.c28
-rw-r--r--src/mame/drivers/tumblep.c4
-rw-r--r--src/mame/drivers/tunhunt.c6
-rw-r--r--src/mame/drivers/tutankhm.c4
-rw-r--r--src/mame/drivers/twin16.c20
-rw-r--r--src/mame/drivers/twincobr.c4
-rw-r--r--src/mame/drivers/ultraman.c2
-rw-r--r--src/mame/drivers/ultratnk.c6
-rw-r--r--src/mame/drivers/ultrsprt.c6
-rw-r--r--src/mame/drivers/undrfire.c12
-rw-r--r--src/mame/drivers/unico.c12
-rw-r--r--src/mame/drivers/upscope.c8
-rw-r--r--src/mame/drivers/vamphalf.c12
-rw-r--r--src/mame/drivers/vaportra.c6
-rw-r--r--src/mame/drivers/vastar.c6
-rw-r--r--src/mame/drivers/vball.c2
-rw-r--r--src/mame/drivers/vegaeo.c6
-rw-r--r--src/mame/drivers/vendetta.c4
-rw-r--r--src/mame/drivers/vigilant.c12
-rw-r--r--src/mame/drivers/vindictr.c2
-rw-r--r--src/mame/drivers/vmetal.c4
-rw-r--r--src/mame/drivers/volfied.c2
-rw-r--r--src/mame/drivers/vpoker.c6
-rw-r--r--src/mame/drivers/vroulet.c20
-rw-r--r--src/mame/drivers/vulgus.c2
-rw-r--r--src/mame/drivers/wallc.c6
-rw-r--r--src/mame/drivers/wardner.c6
-rw-r--r--src/mame/drivers/warriorb.c4
-rw-r--r--src/mame/drivers/wc90.c4
-rw-r--r--src/mame/drivers/wc90b.c4
-rw-r--r--src/mame/drivers/wecleman.c8
-rw-r--r--src/mame/drivers/welltris.c2
-rw-r--r--src/mame/drivers/wgp.c4
-rw-r--r--src/mame/drivers/williams.c12
-rw-r--r--src/mame/drivers/wink.c8
-rw-r--r--src/mame/drivers/wiping.c6
-rw-r--r--src/mame/drivers/witch.c4
-rw-r--r--src/mame/drivers/wiz.c8
-rw-r--r--src/mame/drivers/wrally.c2
-rw-r--r--src/mame/drivers/wwfsstar.c4
-rw-r--r--src/mame/drivers/wwfwfest.c6
-rw-r--r--src/mame/drivers/xain.c6
-rw-r--r--src/mame/drivers/xexex.c14
-rw-r--r--src/mame/drivers/xmen.c4
-rw-r--r--src/mame/drivers/xorworld.c4
-rw-r--r--src/mame/drivers/xxmissio.c2
-rw-r--r--src/mame/drivers/xybots.c2
-rw-r--r--src/mame/drivers/yiear.c6
-rw-r--r--src/mame/drivers/yunsun16.c4
-rw-r--r--src/mame/drivers/zac2650.c2
-rw-r--r--src/mame/drivers/zaccaria.c4
-rw-r--r--src/mame/drivers/zaxxon.c8
-rw-r--r--src/mame/drivers/zerozone.c4
-rw-r--r--src/mame/drivers/zodiack.c4
-rw-r--r--src/mame/drivers/zr107.c12
-rw-r--r--src/mame/includes/model2.h1
-rw-r--r--src/mame/machine/atarigen.c14
-rw-r--r--src/mame/machine/dec0.c2
-rw-r--r--src/mame/machine/leland.c4
-rw-r--r--src/mame/machine/midtunit.c4
-rw-r--r--src/mame/machine/midwunit.c6
-rw-r--r--src/mame/machine/simpsons.c4
-rw-r--r--src/mame/machine/starwars.c4
-rw-r--r--src/mame/machine/williams.c6
-rw-r--r--src/mame/video/1942.c2
-rw-r--r--src/mame/video/1943.c2
-rw-r--r--src/mame/video/40love.c28
-rw-r--r--src/mame/video/actfancr.c2
-rw-r--r--src/mame/video/aeroboto.c2
-rw-r--r--src/mame/video/airbustr.c8
-rw-r--r--src/mame/video/aliens.c2
-rw-r--r--src/mame/video/alpha68k.c24
-rw-r--r--src/mame/video/ambush.c4
-rw-r--r--src/mame/video/ampoker2.c10
-rw-r--r--src/mame/video/amspdwy.c11
-rw-r--r--src/mame/video/aquarium.c2
-rw-r--r--src/mame/video/argus.c12
-rw-r--r--src/mame/video/arkanoid.c2
-rw-r--r--src/mame/video/armedf.c3
-rw-r--r--src/mame/video/astrocde.c2
-rw-r--r--src/mame/video/atarisy2.c4
-rw-r--r--src/mame/video/atetris.c6
-rw-r--r--src/mame/video/bagman.c13
-rw-r--r--src/mame/video/balsente.c12
-rw-r--r--src/mame/video/baraduke.c14
-rw-r--r--src/mame/video/battlera.c4
-rw-r--r--src/mame/video/bbusters.c12
-rw-r--r--src/mame/video/beathead.c17
-rw-r--r--src/mame/video/beezer.c4
-rw-r--r--src/mame/video/bionicc.c3
-rw-r--r--src/mame/video/bladestl.c8
-rw-r--r--src/mame/video/blktiger.c3
-rw-r--r--src/mame/video/blmbycar.c2
-rw-r--r--src/mame/video/bloodbro.c6
-rw-r--r--src/mame/video/blueprnt.c2
-rw-r--r--src/mame/video/bogeyman.c2
-rw-r--r--src/mame/video/bombjack.c2
-rw-r--r--src/mame/video/boogwing.c4
-rw-r--r--src/mame/video/bosco.c10
-rw-r--r--src/mame/video/brkthru.c2
-rw-r--r--src/mame/video/btime.c2
-rw-r--r--src/mame/video/buggychl.c7
-rw-r--r--src/mame/video/bwing.c6
-rw-r--r--src/mame/video/cabal.c11
-rw-r--r--src/mame/video/calomega.c8
-rw-r--r--src/mame/video/carjmbre.c4
-rw-r--r--src/mame/video/cave.c16
-rw-r--r--src/mame/video/cbasebal.c3
-rw-r--r--src/mame/video/cbuster.c11
-rw-r--r--src/mame/video/centiped.c20
-rw-r--r--src/mame/video/champbas.c2
-rw-r--r--src/mame/video/circusc.c2
-rw-r--r--src/mame/video/cischeat.c4
-rw-r--r--src/mame/video/citycon.c4
-rw-r--r--src/mame/video/cloak.c7
-rw-r--r--src/mame/video/clshroad.c3
-rw-r--r--src/mame/video/cninja.c10
-rw-r--r--src/mame/video/combatsc.c22
-rw-r--r--src/mame/video/commando.c3
-rw-r--r--src/mame/video/contra.c16
-rw-r--r--src/mame/video/cop01.c2
-rw-r--r--src/mame/video/copsnrob.c2
-rw-r--r--src/mame/video/cosmic.c4
-rw-r--r--src/mame/video/crimfght.c2
-rw-r--r--src/mame/video/crospang.c2
-rw-r--r--src/mame/video/crshrace.c2
-rw-r--r--src/mame/video/darius.c3
-rw-r--r--src/mame/video/darkmist.c21
-rw-r--r--src/mame/video/darkseal.c11
-rw-r--r--src/mame/video/dassault.c3
-rw-r--r--src/mame/video/dcon.c1
-rw-r--r--src/mame/video/ddrible.c8
-rw-r--r--src/mame/video/deadang.c7
-rw-r--r--src/mame/video/dec0.c14
-rw-r--r--src/mame/video/dec8.c3
-rw-r--r--src/mame/video/deco16ic.c16
-rw-r--r--src/mame/video/deco32.c38
-rw-r--r--src/mame/video/deco_mlc.c2
-rw-r--r--src/mame/video/deniam.c2
-rw-r--r--src/mame/video/dietgo.c1
-rw-r--r--src/mame/video/digdug.c9
-rw-r--r--src/mame/video/djboy.c10
-rw-r--r--src/mame/video/docastle.c2
-rw-r--r--src/mame/video/dogfgt.c2
-rw-r--r--src/mame/video/dooyong.c7
-rw-r--r--src/mame/video/dynduke.c9
-rw-r--r--src/mame/video/epos.c2
-rw-r--r--src/mame/video/eprom.c2
-rw-r--r--src/mame/video/esd16.c4
-rw-r--r--src/mame/video/exedexes.c3
-rw-r--r--src/mame/video/exerion.c2
-rw-r--r--src/mame/video/exidy440.c4
-rw-r--r--src/mame/video/exprraid.c2
-rw-r--r--src/mame/video/f1gp.c5
-rw-r--r--src/mame/video/fantland.c7
-rw-r--r--src/mame/video/fastlane.c10
-rw-r--r--src/mame/video/fcombat.c2
-rw-r--r--src/mame/video/finalizr.c2
-rw-r--r--src/mame/video/firetrap.c2
-rw-r--r--src/mame/video/flower.c2
-rw-r--r--src/mame/video/flstory.c24
-rw-r--r--src/mame/video/foodf.c5
-rw-r--r--src/mame/video/freekick.c6
-rw-r--r--src/mame/video/fromance.c3
-rw-r--r--src/mame/video/funkyjet.c1
-rw-r--r--src/mame/video/funworld.c8
-rw-r--r--src/mame/video/fuukifg2.c3
-rw-r--r--src/mame/video/fuukifg3.c12
-rw-r--r--src/mame/video/gaelco2.c9
-rw-r--r--src/mame/video/gaelco3d.c10
-rw-r--r--src/mame/video/gaiden.c5
-rw-r--r--src/mame/video/galaga.c9
-rw-r--r--src/mame/video/galastrm.c3
-rw-r--r--src/mame/video/galaxian.c12
-rw-r--r--src/mame/video/galivan.c19
-rw-r--r--src/mame/video/galpanic.c5
-rw-r--r--src/mame/video/galspnbl.c3
-rw-r--r--src/mame/video/gaplus.c9
-rw-r--r--src/mame/video/gatron.c4
-rw-r--r--src/mame/video/gberet.c15
-rw-r--r--src/mame/video/gcpinbal.c3
-rw-r--r--src/mame/video/ginganin.c3
-rw-r--r--src/mame/video/gladiatr.c16
-rw-r--r--src/mame/video/gng.c3
-rw-r--r--src/mame/video/goal92.c5
-rw-r--r--src/mame/video/goindol.c6
-rw-r--r--src/mame/video/goldstar.c12
-rw-r--r--src/mame/video/gotcha.c3
-rw-r--r--src/mame/video/gottlieb.c15
-rw-r--r--src/mame/video/gotya.c9
-rw-r--r--src/mame/video/gridlee.c8
-rw-r--r--src/mame/video/groundfx.c3
-rw-r--r--src/mame/video/gsword.c4
-rw-r--r--src/mame/video/gunbustr.c3
-rw-r--r--src/mame/video/gundealr.c6
-rw-r--r--src/mame/video/gunsmoke.c11
-rw-r--r--src/mame/video/hanaawas.c10
-rw-r--r--src/mame/video/hcastle.c24
-rw-r--r--src/mame/video/higemaru.c11
-rw-r--r--src/mame/video/himesiki.c1
-rw-r--r--src/mame/video/holeland.c18
-rw-r--r--src/mame/video/homedata.c26
-rw-r--r--src/mame/video/homerun.c3
-rw-r--r--src/mame/video/hyperspt.c19
-rw-r--r--src/mame/video/hyprduel.c8
-rw-r--r--src/mame/video/ikki.c13
-rw-r--r--src/mame/video/irobot.c4
-rw-r--r--src/mame/video/ironhors.c34
-rw-r--r--src/mame/video/itech32.c40
-rw-r--r--src/mame/video/jack.c20
-rw-r--r--src/mame/video/jackal.c8
-rw-r--r--src/mame/video/jailbrek.c11
-rw-r--r--src/mame/video/kan_panb.c9
-rw-r--r--src/mame/video/kaneko16.c3
-rw-r--r--src/mame/video/kangaroo.c18
-rw-r--r--src/mame/video/karnov.c5
-rw-r--r--src/mame/video/kchamp.c10
-rw-r--r--src/mame/video/kickgoal.c6
-rw-r--r--src/mame/video/kingobox.c18
-rw-r--r--src/mame/video/kncljoe.c7
-rw-r--r--src/mame/video/konamigx.c20
-rw-r--r--src/mame/video/konamiic.c2
-rw-r--r--src/mame/video/kopunch.c4
-rw-r--r--src/mame/video/ksayakyu.c10
-rw-r--r--src/mame/video/labyrunr.c12
-rw-r--r--src/mame/video/ladybug.c19
-rw-r--r--src/mame/video/ladyfrog.c16
-rw-r--r--src/mame/video/lastduel.c3
-rw-r--r--src/mame/video/lazercmd.c2
-rw-r--r--src/mame/video/legionna.c1
-rw-r--r--src/mame/video/lemmings.c4
-rw-r--r--src/mame/video/liberate.c16
-rw-r--r--src/mame/video/lkage.c10
-rw-r--r--src/mame/video/lordgun.c4
-rw-r--r--src/mame/video/lsasquad.c11
-rw-r--r--src/mame/video/lvcards.c8
-rw-r--r--src/mame/video/lwings.c12
-rw-r--r--src/mame/video/m10.c4
-rw-r--r--src/mame/video/m107.c2
-rw-r--r--src/mame/video/m57.c2
-rw-r--r--src/mame/video/m58.c2
-rw-r--r--src/mame/video/m62.c2
-rw-r--r--src/mame/video/m72.c45
-rw-r--r--src/mame/video/m90.c6
-rw-r--r--src/mame/video/m92.c11
-rw-r--r--src/mame/video/macrossp.c10
-rw-r--r--src/mame/video/madmotor.c5
-rw-r--r--src/mame/video/magmax.c5
-rw-r--r--src/mame/video/mainsnk.c2
-rw-r--r--src/mame/video/mappy.c24
-rw-r--r--src/mame/video/markham.c7
-rw-r--r--src/mame/video/matmania.c26
-rw-r--r--src/mame/video/mcatadv.c10
-rw-r--r--src/mame/video/mcr.c24
-rw-r--r--src/mame/video/mcr3.c15
-rw-r--r--src/mame/video/mcr68.c28
-rw-r--r--src/mame/video/meadows.c7
-rw-r--r--src/mame/video/megasys1.c5
-rw-r--r--src/mame/video/megazone.c13
-rw-r--r--src/mame/video/mermaid.c24
-rw-r--r--src/mame/video/metlclsh.c3
-rw-r--r--src/mame/video/metro.c8
-rw-r--r--src/mame/video/midtunit.c6
-rw-r--r--src/mame/video/midvunit.c4
-rw-r--r--src/mame/video/midyunit.c4
-rw-r--r--src/mame/video/mikie.c13
-rw-r--r--src/mame/video/mitchell.c10
-rw-r--r--src/mame/video/mjkjidai.c3
-rw-r--r--src/mame/video/model1.c3
-rw-r--r--src/mame/video/model2rd.c4
-rw-r--r--src/mame/video/momoko.c5
-rw-r--r--src/mame/video/mouser.c7
-rw-r--r--src/mame/video/mrdo.c3
-rw-r--r--src/mame/video/mrflea.c12
-rw-r--r--src/mame/video/mrjong.c22
-rw-r--r--src/mame/video/msisaac.c8
-rw-r--r--src/mame/video/munchmo.c2
-rw-r--r--src/mame/video/mustache.c9
-rw-r--r--src/mame/video/namcofl.c2
-rw-r--r--src/mame/video/namcona1.c24
-rw-r--r--src/mame/video/namconb1.c10
-rw-r--r--src/mame/video/namcos1.c13
-rw-r--r--src/mame/video/namcos21.c12
-rw-r--r--src/mame/video/namcos22.c19
-rw-r--r--src/mame/video/namcos86.c13
-rw-r--r--src/mame/video/naughtyb.c6
-rw-r--r--src/mame/video/nbmj8991.c24
-rw-r--r--src/mame/video/nemesis.c11
-rw-r--r--src/mame/video/ninjakd2.c6
-rw-r--r--src/mame/video/ninjaw.c3
-rw-r--r--src/mame/video/nitedrvr.c4
-rw-r--r--src/mame/video/nova2001.c2
-rw-r--r--src/mame/video/nycaptor.c18
-rw-r--r--src/mame/video/ohmygod.c5
-rw-r--r--src/mame/video/othunder.c3
-rw-r--r--src/mame/video/pacland.c9
-rw-r--r--src/mame/video/pacman.c32
-rw-r--r--src/mame/video/paradise.c19
-rw-r--r--src/mame/video/pbaction.c11
-rw-r--r--src/mame/video/pcktgal.c9
-rw-r--r--src/mame/video/pingpong.c11
-rw-r--r--src/mame/video/pitnrun.c5
-rw-r--r--src/mame/video/pktgaldx.c1
-rw-r--r--src/mame/video/playch10.c6
-rw-r--r--src/mame/video/playmark.c9
-rw-r--r--src/mame/video/pokechmp.c9
-rw-r--r--src/mame/video/polyplay.c4
-rw-r--r--src/mame/video/pooyan.c10
-rw-r--r--src/mame/video/popeye.c11
-rw-r--r--src/mame/video/popper.c2
-rw-r--r--src/mame/video/portrait.c4
-rw-r--r--src/mame/video/powerins.c6
-rw-r--r--src/mame/video/prehisle.c5
-rw-r--r--src/mame/video/psikyo.c2
-rw-r--r--src/mame/video/psikyo4.c4
-rw-r--r--src/mame/video/psikyosh.c2
-rw-r--r--src/mame/video/psychic5.c4
-rw-r--r--src/mame/video/pushman.c5
-rw-r--r--src/mame/video/quizdna.c9
-rw-r--r--src/mame/video/raiden.c5
-rw-r--r--src/mame/video/rallyx.c20
-rw-r--r--src/mame/video/rastan.c3
-rw-r--r--src/mame/video/realbrk.c2
-rw-r--r--src/mame/video/redclash.c15
-rw-r--r--src/mame/video/renegade.c6
-rw-r--r--src/mame/video/retofinv.c9
-rw-r--r--src/mame/video/rockrage.c8
-rw-r--r--src/mame/video/rocnrope.c12
-rw-r--r--src/mame/video/rohga.c18
-rw-r--r--src/mame/video/rollrace.c12
-rw-r--r--src/mame/video/rpunch.c7
-rw-r--r--src/mame/video/sauro.c6
-rw-r--r--src/mame/video/sbasketb.c11
-rw-r--r--src/mame/video/scotrsht.c11
-rw-r--r--src/mame/video/sderby.c3
-rw-r--r--src/mame/video/segag80r.c24
-rw-r--r--src/mame/video/segaic16.c17
-rw-r--r--src/mame/video/segaic16.h1
-rw-r--r--src/mame/video/segaic24.c6
-rw-r--r--src/mame/video/sei_crtc.c1
-rw-r--r--src/mame/video/seicross.c18
-rw-r--r--src/mame/video/senjyo.c3
-rw-r--r--src/mame/video/seta.c20
-rw-r--r--src/mame/video/seta2.c7
-rw-r--r--src/mame/video/shadfrce.c4
-rw-r--r--src/mame/video/shangkid.c26
-rw-r--r--src/mame/video/shaolins.c11
-rw-r--r--src/mame/video/shisen.c10
-rw-r--r--src/mame/video/shootout.c7
-rw-r--r--src/mame/video/sidearms.c9
-rw-r--r--src/mame/video/sidepckt.c11
-rw-r--r--src/mame/video/simpl156.c5
-rw-r--r--src/mame/video/simpsons.c7
-rw-r--r--src/mame/video/skyfox.c3
-rw-r--r--src/mame/video/skykid.c9
-rw-r--r--src/mame/video/slapfght.c20
-rw-r--r--src/mame/video/slapshot.c20
-rw-r--r--src/mame/video/snk.c23
-rw-r--r--src/mame/video/snk6502.c16
-rw-r--r--src/mame/video/snk68.c10
-rw-r--r--src/mame/video/snookr10.c12
-rw-r--r--src/mame/video/solomon.c11
-rw-r--r--src/mame/video/sonson.c11
-rw-r--r--src/mame/video/spcforce.c6
-rw-r--r--src/mame/video/spdodgeb.c3
-rw-r--r--src/mame/video/speedatk.c10
-rw-r--r--src/mame/video/speedbal.c3
-rw-r--r--src/mame/video/sprint4.c26
-rw-r--r--src/mame/video/srmp2.c15
-rw-r--r--src/mame/video/srumbler.c3
-rw-r--r--src/mame/video/sshangha.c8
-rw-r--r--src/mame/video/ssozumo.c19
-rw-r--r--src/mame/video/ssv.c9
-rw-r--r--src/mame/video/stadhero.c1
-rw-r--r--src/mame/video/stfight.c8
-rw-r--r--src/mame/video/strnskil.c7
-rw-r--r--src/mame/video/subs.c5
-rw-r--r--src/mame/video/suna16.c12
-rw-r--r--src/mame/video/suna8.c22
-rw-r--r--src/mame/video/supbtime.c1
-rw-r--r--src/mame/video/superchs.c3
-rw-r--r--src/mame/video/superqix.c6
-rw-r--r--src/mame/video/suprloco.c6
-rw-r--r--src/mame/video/suprnova.c2
-rw-r--r--src/mame/video/suprridr.c1
-rw-r--r--src/mame/video/system1.c49
-rw-r--r--src/mame/video/system16.c4
-rw-r--r--src/mame/video/tagteam.c26
-rw-r--r--src/mame/video/tail2nos.c3
-rw-r--r--src/mame/video/taito_f2.c70
-rw-r--r--src/mame/video/taito_f3.c58
-rw-r--r--src/mame/video/taito_z.c16
-rw-r--r--src/mame/video/tankbatt.c6
-rw-r--r--src/mame/video/tankbust.c17
-rw-r--r--src/mame/video/tatsumi.c13
-rw-r--r--src/mame/video/tecmo.c3
-rw-r--r--src/mame/video/tecmo16.c3
-rw-r--r--src/mame/video/tehkanwc.c11
-rw-r--r--src/mame/video/terracre.c6
-rw-r--r--src/mame/video/tetrisp2.c12
-rw-r--r--src/mame/video/thedeep.c2
-rw-r--r--src/mame/video/thief.c8
-rw-r--r--src/mame/video/tigeroad.c8
-rw-r--r--src/mame/video/timelimt.c7
-rw-r--r--src/mame/video/timeplt.c10
-rw-r--r--src/mame/video/tmnt.c4
-rw-r--r--src/mame/video/toaplan1.c33
-rw-r--r--src/mame/video/toaplan2.c2
-rw-r--r--src/mame/video/toki.c12
-rw-r--r--src/mame/video/toobin.c6
-rw-r--r--src/mame/video/topspeed.c1
-rw-r--r--src/mame/video/trackfld.c12
-rw-r--r--src/mame/video/travrusa.c2
-rw-r--r--src/mame/video/truco.c2
-rw-r--r--src/mame/video/trucocl.c12
-rw-r--r--src/mame/video/tryout.c8
-rw-r--r--src/mame/video/tsamurai.c15
-rw-r--r--src/mame/video/tumbleb.c5
-rw-r--r--src/mame/video/tumblep.c1
-rw-r--r--src/mame/video/tunhunt.c16
-rw-r--r--src/mame/video/tutankhm.c12
-rw-r--r--src/mame/video/twin16.c15
-rw-r--r--src/mame/video/twincobr.c11
-rw-r--r--src/mame/video/ultratnk.c10
-rw-r--r--src/mame/video/undrfire.c6
-rw-r--r--src/mame/video/unico.c14
-rw-r--r--src/mame/video/vaportra.c11
-rw-r--r--src/mame/video/vastar.c5
-rw-r--r--src/mame/video/vball.c4
-rw-r--r--src/mame/video/vigilant.c35
-rw-r--r--src/mame/video/vindictr.c4
-rw-r--r--src/mame/video/vulgus.c3
-rw-r--r--src/mame/video/warriorb.c3
-rw-r--r--src/mame/video/wc90.c3
-rw-r--r--src/mame/video/wc90b.c3
-rw-r--r--src/mame/video/wecleman.c6
-rw-r--r--src/mame/video/wgp.c1
-rw-r--r--src/mame/video/williams.c14
-rw-r--r--src/mame/video/wiping.c15
-rw-r--r--src/mame/video/wiz.c22
-rw-r--r--src/mame/video/wwfsstar.c2
-rw-r--r--src/mame/video/wwfwfest.c1
-rw-r--r--src/mame/video/xain.c3
-rw-r--r--src/mame/video/xevious.c9
-rw-r--r--src/mame/video/xorworld.c5
-rw-r--r--src/mame/video/yiear.c10
-rw-r--r--src/mame/video/yunsun16.c2
-rw-r--r--src/mame/video/zac2650.c4
-rw-r--r--src/mame/video/zaccaria.c6
-rw-r--r--src/mame/video/zaxxon.c18
-rw-r--r--src/mame/video/zodiack.c4
1058 files changed, 5169 insertions, 4908 deletions
diff --git a/src/emu/machine/generic.c b/src/emu/machine/generic.c
index 77107ffcfb2..9dc6bf0a525 100644
--- a/src/emu/machine/generic.c
+++ b/src/emu/machine/generic.c
@@ -95,8 +95,8 @@ void generic_machine_init(running_machine *machine)
state_save_register_item_array(machine, "coin", NULL, 0, state->lastcoin);
/* reset NVRAM size and pointers */
- machine->generic.nvram.ptr.v = NULL;
- machine->generic.nvram.size = 0;
+ machine->generic.nvram.v = NULL;
+ machine->generic.nvram_size = 0;
/* reset memory card info */
state->memcard_inserted = -1;
@@ -397,13 +397,13 @@ void nvram_save(running_machine *machine)
NVRAM_HANDLER( generic_0fill )
{
if (read_or_write)
- mame_fwrite(file, machine->generic.nvram.ptr.v, machine->generic.nvram.size);
+ mame_fwrite(file, machine->generic.nvram.v, machine->generic.nvram_size);
else if (file != NULL)
- mame_fread(file, machine->generic.nvram.ptr.v, machine->generic.nvram.size);
- else if (memory_region_length(machine, "nvram") == machine->generic.nvram.size)
- memcpy(machine->generic.nvram.ptr.v, memory_region(machine, "nvram"), machine->generic.nvram.size);
+ mame_fread(file, machine->generic.nvram.v, machine->generic.nvram_size);
+ else if (memory_region_length(machine, "nvram") == machine->generic.nvram_size)
+ memcpy(machine->generic.nvram.v, memory_region(machine, "nvram"), machine->generic.nvram_size);
else
- memset(machine->generic.nvram.ptr.v, 0, machine->generic.nvram.size);
+ memset(machine->generic.nvram.v, 0, machine->generic.nvram_size);
}
@@ -415,13 +415,13 @@ NVRAM_HANDLER( generic_0fill )
NVRAM_HANDLER( generic_1fill )
{
if (read_or_write)
- mame_fwrite(file, machine->generic.nvram.ptr.v, machine->generic.nvram.size);
+ mame_fwrite(file, machine->generic.nvram.v, machine->generic.nvram_size);
else if (file != NULL)
- mame_fread(file, machine->generic.nvram.ptr.v, machine->generic.nvram.size);
- else if (memory_region_length(machine, "nvram") == machine->generic.nvram.size)
- memcpy(machine->generic.nvram.ptr.v, memory_region(machine, "nvram"), machine->generic.nvram.size);
+ mame_fread(file, machine->generic.nvram.v, machine->generic.nvram_size);
+ else if (memory_region_length(machine, "nvram") == machine->generic.nvram_size)
+ memcpy(machine->generic.nvram.v, memory_region(machine, "nvram"), machine->generic.nvram_size);
else
- memset(machine->generic.nvram.ptr.v, 0xff, machine->generic.nvram.size);
+ memset(machine->generic.nvram.v, 0xff, machine->generic.nvram_size);
}
@@ -433,16 +433,16 @@ NVRAM_HANDLER( generic_1fill )
NVRAM_HANDLER( generic_randfill )
{
if (read_or_write)
- mame_fwrite(file, machine->generic.nvram.ptr.v, machine->generic.nvram.size);
+ mame_fwrite(file, machine->generic.nvram.v, machine->generic.nvram_size);
else if (file != NULL)
- mame_fread(file, machine->generic.nvram.ptr.v, machine->generic.nvram.size);
- else if (memory_region_length(machine, "nvram") == machine->generic.nvram.size)
- memcpy(machine->generic.nvram.ptr.v, memory_region(machine, "nvram"), machine->generic.nvram.size);
+ mame_fread(file, machine->generic.nvram.v, machine->generic.nvram_size);
+ else if (memory_region_length(machine, "nvram") == machine->generic.nvram_size)
+ memcpy(machine->generic.nvram.v, memory_region(machine, "nvram"), machine->generic.nvram_size);
else
{
- UINT8 *nvram = (UINT8 *)machine->generic.nvram.ptr.v;
+ UINT8 *nvram = (UINT8 *)machine->generic.nvram.v;
int i;
- for (i = 0; i < machine->generic.nvram.size; i++)
+ for (i = 0; i < machine->generic.nvram_size; i++)
nvram[i] = mame_rand(machine);
}
}
diff --git a/src/emu/mame.h b/src/emu/mame.h
index a6b2abcf3d7..4969978a21f 100644
--- a/src/emu/mame.h
+++ b/src/emu/mame.h
@@ -144,18 +144,14 @@ typedef struct _generic_machine_private generic_machine_private;
/* structure to hold a pointer/size pair for generic pointers */
-typedef struct _generic_ptr generic_ptr;
-struct _generic_ptr
+typedef union _generic_ptr generic_ptr;
+union _generic_ptr
{
- union
- {
- void * v;
- UINT8 * u8;
- UINT16 * u16;
- UINT32 * u32;
- UINT64 * u64;
- } ptr;
- size_t size;
+ void * v;
+ UINT8 * u8;
+ UINT16 * u16;
+ UINT32 * u32;
+ UINT64 * u64;
};
@@ -164,6 +160,22 @@ typedef struct _generic_pointers generic_pointers;
struct _generic_pointers
{
generic_ptr nvram; /* generic NVRAM */
+ UINT32 nvram_size;
+ generic_ptr videoram; /* videoram */
+ UINT32 videoram_size;
+ generic_ptr colorram; /* color ram */
+ UINT32 colorram_size;
+ generic_ptr spriteram; /* spriteram */
+ UINT32 spriteram_size;
+ generic_ptr spriteram2; /* secondary spriteram */
+ UINT32 spriteram2_size;
+ generic_ptr spriteram3; /* tertiary spriteram */
+ UINT32 spriteram3_size;
+ generic_ptr buffered_spriteram; /* buffered spriteram */
+ generic_ptr buffered_spriteram2;/* secondary buffered spriteram */
+ generic_ptr buffered_spriteram3;/* tertiary buffered spriteram */
+ generic_ptr paletteram; /* palette RAM */
+ generic_ptr paletteram2; /* secondary palette RAM */
};
diff --git a/src/emu/memory.c b/src/emu/memory.c
index d1b32ac04d6..5426cd3d8f6 100644
--- a/src/emu/memory.c
+++ b/src/emu/memory.c
@@ -2237,15 +2237,6 @@ static void map_detokenize(address_map *map, const game_driver *driver, const ch
entry->gensizeptroffs_plus1++;
break;
- case ADDRMAP_TOKEN_BASE_SIZE_GENERIC:
- check_entry_field(genbaseptroffs_plus1);
- check_entry_field(gensizeptroffs_plus1);
- TOKEN_UNGET_UINT32(tokens);
- TOKEN_GET_UINT32_UNPACK2(tokens, entrytype, 8, entry->genbaseptroffs_plus1, 24);
- entry->genbaseptroffs_plus1++;
- entry->gensizeptroffs_plus1 = entry->genbaseptroffs_plus1 + offsetof(generic_ptr, size);
- break;
-
default:
fatalerror("Invalid token %d in address map\n", entrytype);
break;
diff --git a/src/emu/memory.h b/src/emu/memory.h
index 10ea9451d7d..b6611d39834 100644
--- a/src/emu/memory.h
+++ b/src/emu/memory.h
@@ -80,8 +80,7 @@ enum
ADDRMAP_TOKEN_BASE_GENERIC,
ADDRMAP_TOKEN_SIZEPTR,
ADDRMAP_TOKEN_SIZE_MEMBER,
- ADDRMAP_TOKEN_SIZE_GENERIC,
- ADDRMAP_TOKEN_BASE_SIZE_GENERIC
+ ADDRMAP_TOKEN_SIZE_GENERIC
};
@@ -771,7 +770,7 @@ union _addrmap64_token
TOKEN_UINT32_PACK2(ADDRMAP_TOKEN_BASE_MEMBER, 8, offsetof(_struct, _member), 24),
#define AM_BASE_GENERIC(_member) \
- TOKEN_UINT32_PACK2(ADDRMAP_TOKEN_BASE_GENERIC, 8, offsetof(generic_pointers, _member.ptr), 24),
+ TOKEN_UINT32_PACK2(ADDRMAP_TOKEN_BASE_GENERIC, 8, offsetof(generic_pointers, _member), 24),
#define AM_SIZE(_size) \
TOKEN_UINT32_PACK1(ADDRMAP_TOKEN_SIZEPTR, 8), \
@@ -781,10 +780,7 @@ union _addrmap64_token
TOKEN_UINT32_PACK2(ADDRMAP_TOKEN_SIZE_MEMBER, 8, offsetof(_struct, _member), 24),
#define AM_SIZE_GENERIC(_member) \
- TOKEN_UINT32_PACK2(ADDRMAP_TOKEN_SIZE_GENERIC, 8, offsetof(generic_pointers, _member.size), 24),
-
-#define AM_BASE_SIZE_GENERIC(_member) \
- TOKEN_UINT32_PACK2(ADDRMAP_TOKEN_BASE_SIZE_GENERIC, 8, offsetof(generic_pointers, _member), 24),
+ TOKEN_UINT32_PACK2(ADDRMAP_TOKEN_SIZE_GENERIC, 8, offsetof(generic_pointers, _member##_size), 24),
/* common shortcuts */
@@ -811,6 +807,8 @@ union _addrmap64_token
#define AM_READNOP AM_READ(SMH_NOP)
#define AM_WRITENOP AM_WRITE(SMH_NOP)
+#define AM_BASE_SIZE_GENERIC(_member) AM_BASE_GENERIC(_member) AM_SIZE_GENERIC(_member)
+
/***************************************************************************
diff --git a/src/emu/video.c b/src/emu/video.c
index 1b039ac71c5..2a8de8aba7a 100644
--- a/src/emu/video.c
+++ b/src/emu/video.c
@@ -431,29 +431,23 @@ static void video_exit(running_machine *machine)
static void init_buffered_spriteram(running_machine *machine)
{
- assert_always(spriteram_size != 0, "Video buffers spriteram but spriteram_size is 0");
+ assert_always(machine->generic.spriteram_size != 0, "Video buffers spriteram but spriteram size is 0");
/* allocate memory for the back buffer */
- buffered_spriteram = auto_alloc_array(machine, UINT8, spriteram_size);
+ machine->generic.buffered_spriteram.u8 = auto_alloc_array(machine, UINT8, machine->generic.spriteram_size);
/* register for saving it */
- state_save_register_global_pointer(machine, buffered_spriteram, spriteram_size);
+ state_save_register_global_pointer(machine, machine->generic.buffered_spriteram.u8, machine->generic.spriteram_size);
/* do the same for the second back buffer, if present */
- if (spriteram_2_size)
+ if (machine->generic.spriteram2_size)
{
/* allocate memory */
- buffered_spriteram_2 = auto_alloc_array(machine, UINT8, spriteram_2_size);
+ machine->generic.buffered_spriteram2.u8 = auto_alloc_array(machine, UINT8, machine->generic.spriteram2_size);
/* register for saving it */
- state_save_register_global_pointer(machine, buffered_spriteram_2, spriteram_2_size);
+ state_save_register_global_pointer(machine, machine->generic.buffered_spriteram2.u8, machine->generic.spriteram2_size);
}
-
- /* make 16-bit and 32-bit pointer variants */
- buffered_spriteram16 = (UINT16 *)buffered_spriteram;
- buffered_spriteram32 = (UINT32 *)buffered_spriteram;
- buffered_spriteram16_2 = (UINT16 *)buffered_spriteram_2;
- buffered_spriteram32_2 = (UINT32 *)buffered_spriteram_2;
}
diff --git a/src/emu/video/generic.c b/src/emu/video/generic.c
index 4b64a9813bd..a5fae8344cf 100644
--- a/src/emu/video/generic.c
+++ b/src/emu/video/generic.c
@@ -18,46 +18,6 @@
GLOBAL VARIABLES
***************************************************************************/
-UINT8 *videoram;
-UINT16 *videoram16;
-UINT32 *videoram32;
-size_t videoram_size;
-
-UINT8 *colorram;
-UINT16 *colorram16;
-UINT32 *colorram32;
-
-UINT8 *spriteram; /* not used in this module... */
-UINT16 *spriteram16; /* ... */
-UINT32 *spriteram32; /* ... */
-
-UINT8 *spriteram_2;
-UINT16 *spriteram16_2;
-UINT32 *spriteram32_2;
-
-UINT8 *spriteram_3;
-UINT16 *spriteram16_3;
-UINT32 *spriteram32_3;
-
-UINT8 *buffered_spriteram;
-UINT16 *buffered_spriteram16;
-UINT32 *buffered_spriteram32;
-
-UINT8 *buffered_spriteram_2;
-UINT16 *buffered_spriteram16_2;
-UINT32 *buffered_spriteram32_2;
-
-size_t spriteram_size; /* ... here just for convenience */
-size_t spriteram_2_size;
-size_t spriteram_3_size;
-
-UINT8 *paletteram;
-UINT16 *paletteram16;
-UINT32 *paletteram32;
-
-UINT8 *paletteram_2; /* use when palette RAM is split in two parts */
-UINT16 *paletteram16_2;
-
bitmap_t *tmpbitmap;
static int flip_screen_x, flip_screen_y;
@@ -156,9 +116,9 @@ const gfx_layout gfx_16x16x4_planar =
palette RAM referenced by offset
-------------------------------------------------*/
-INLINE UINT16 paletteram16_le(offs_t offset)
+INLINE UINT16 paletteram16_le(running_machine *machine, offs_t offset)
{
- return paletteram[offset & ~1] | (paletteram[offset | 1] << 8);
+ return machine->generic.paletteram.u8[offset & ~1] | (machine->generic.paletteram.u8[offset | 1] << 8);
}
@@ -168,9 +128,9 @@ INLINE UINT16 paletteram16_le(offs_t offset)
palette RAM referenced by offset
-------------------------------------------------*/
-INLINE UINT16 paletteram16_be(offs_t offset)
+INLINE UINT16 paletteram16_be(running_machine *machine, offs_t offset)
{
- return paletteram[offset | 1] | (paletteram[offset & ~1] << 8);
+ return machine->generic.paletteram.u8[offset | 1] | (machine->generic.paletteram.u8[offset & ~1] << 8);
}
@@ -180,9 +140,9 @@ INLINE UINT16 paletteram16_be(offs_t offset)
RAM referenced by offset
-------------------------------------------------*/
-INLINE UINT16 paletteram16_split(offs_t offset)
+INLINE UINT16 paletteram16_split(running_machine *machine, offs_t offset)
{
- return paletteram[offset] | (paletteram_2[offset] << 8);
+ return machine->generic.paletteram.u8[offset] | (machine->generic.paletteram2.u8[offset] << 8);
}
@@ -192,9 +152,9 @@ INLINE UINT16 paletteram16_split(offs_t offset)
palette RAM referenced by offset
-------------------------------------------------*/
-INLINE UINT32 paletteram32_be(offs_t offset)
+INLINE UINT32 paletteram32_be(running_machine *machine, offs_t offset)
{
- return paletteram16[offset | 1] | (paletteram16[offset & ~1] << 16);
+ return machine->generic.paletteram.u16[offset | 1] | (machine->generic.paletteram.u16[offset & ~1] << 16);
}
@@ -267,31 +227,21 @@ INLINE void set_color_888(running_machine *machine, pen_t color, int rshift, int
void generic_video_init(running_machine *machine)
{
- videoram = NULL;
- videoram16 = NULL;
- videoram32 = NULL;
- videoram_size = 0;
- colorram = NULL;
- colorram16 = NULL;
- colorram32 = NULL;
- spriteram = NULL;
- spriteram16 = NULL;
- spriteram32 = NULL;
- spriteram_2 = NULL;
- spriteram16_2 = NULL;
- spriteram32_2 = NULL;
- spriteram_3 = NULL;
- spriteram16_3 = NULL;
- spriteram32_3 = NULL;
- buffered_spriteram = NULL;
- buffered_spriteram16 = NULL;
- buffered_spriteram32 = NULL;
- buffered_spriteram_2 = NULL;
- buffered_spriteram16_2 = NULL;
- buffered_spriteram32_2 = NULL;
- spriteram_size = 0; /* ... here just for convenience */
- spriteram_2_size = 0;
- spriteram_3_size = 0;
+ machine->generic.paletteram.v = NULL;
+ machine->generic.paletteram2.v = NULL;
+ machine->generic.videoram.v = NULL;
+ machine->generic.videoram_size = 0;
+ machine->generic.colorram.v = NULL;
+ machine->generic.colorram_size = 0;
+ machine->generic.spriteram.v = NULL;
+ machine->generic.spriteram_size = 0;
+ machine->generic.spriteram2.v = NULL;
+ machine->generic.spriteram2_size = 0;
+ machine->generic.spriteram3.v = NULL;
+ machine->generic.spriteram3_size = 0;
+ machine->generic.buffered_spriteram.v = NULL;
+ machine->generic.buffered_spriteram2.v = NULL;
+ machine->generic.buffered_spriteram3.v = NULL;
tmpbitmap = NULL;
flip_screen_x = flip_screen_y = 0;
state_save_register_item(machine, "video", NULL, 0, flip_screen_x);
@@ -387,17 +337,17 @@ more control is needed over what is buffered.
WRITE8_HANDLER( buffer_spriteram_w )
{
- memcpy(buffered_spriteram, spriteram, spriteram_size);
+ memcpy(space->machine->generic.buffered_spriteram.u8, space->machine->generic.spriteram.u8, space->machine->generic.spriteram_size);
}
WRITE16_HANDLER( buffer_spriteram16_w )
{
- memcpy(buffered_spriteram16, spriteram16, spriteram_size);
+ memcpy(space->machine->generic.buffered_spriteram.u16, space->machine->generic.spriteram.u16, space->machine->generic.spriteram_size);
}
WRITE32_HANDLER( buffer_spriteram32_w )
{
- memcpy(buffered_spriteram32, spriteram32, spriteram_size);
+ memcpy(space->machine->generic.buffered_spriteram.u32, space->machine->generic.spriteram.u32, space->machine->generic.spriteram_size);
}
@@ -408,17 +358,17 @@ WRITE32_HANDLER( buffer_spriteram32_w )
WRITE8_HANDLER( buffer_spriteram_2_w )
{
- memcpy(buffered_spriteram_2, spriteram_2, spriteram_2_size);
+ memcpy(space->machine->generic.buffered_spriteram2.u8, space->machine->generic.spriteram2.u8, space->machine->generic.spriteram2_size);
}
WRITE16_HANDLER( buffer_spriteram16_2_w )
{
- memcpy(buffered_spriteram16_2, spriteram16_2, spriteram_2_size);
+ memcpy(space->machine->generic.buffered_spriteram2.u16, space->machine->generic.spriteram2.u16, space->machine->generic.spriteram2_size);
}
WRITE32_HANDLER( buffer_spriteram32_2_w )
{
- memcpy(buffered_spriteram32_2, spriteram32_2, spriteram_2_size);
+ memcpy(space->machine->generic.buffered_spriteram2.u32, space->machine->generic.spriteram2.u32, space->machine->generic.spriteram2_size);
}
@@ -427,14 +377,14 @@ WRITE32_HANDLER( buffer_spriteram32_2_w )
spriteram
-------------------------------------------------*/
-void buffer_spriteram(UINT8 *ptr, int length)
+void buffer_spriteram(running_machine *machine, UINT8 *ptr, int length)
{
- memcpy(buffered_spriteram, ptr, length);
+ memcpy(machine->generic.buffered_spriteram.u8, ptr, length);
}
-void buffer_spriteram_2(UINT8 *ptr, int length)
+void buffer_spriteram_2(running_machine *machine, UINT8 *ptr, int length)
{
- memcpy(buffered_spriteram_2, ptr, length);
+ memcpy(machine->generic.buffered_spriteram2.u8, ptr, length);
}
@@ -713,7 +663,7 @@ PALETTE_INIT( RRRRR_GGGGGG_BBBBB )
WRITE8_HANDLER( paletteram_RRRGGGBB_w )
{
- paletteram[offset] = data;
+ space->machine->generic.paletteram.u8[offset] = data;
palette_set_color_rgb(space->machine, offset, pal3bit(data >> 5), pal3bit(data >> 2), pal2bit(data >> 0));
}
@@ -724,7 +674,7 @@ WRITE8_HANDLER( paletteram_RRRGGGBB_w )
WRITE8_HANDLER( paletteram_BBGGGRRR_w )
{
- paletteram[offset] = data;
+ space->machine->generic.paletteram.u8[offset] = data;
palette_set_color_rgb(space->machine, offset, pal3bit(data >> 0), pal3bit(data >> 3), pal2bit(data >> 6));
}
@@ -737,7 +687,7 @@ WRITE8_HANDLER( paletteram_BBGGRRII_w )
{
int i = (data >> 0) & 3;
- paletteram[offset] = data;
+ 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));
@@ -751,7 +701,7 @@ WRITE8_HANDLER( paletteram_IIBBGGRR_w )
{
int i = (data >> 6) & 3;
- paletteram[offset] = data;
+ 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));
@@ -769,32 +719,32 @@ WRITE8_HANDLER( paletteram_IIBBGGRR_w )
WRITE8_HANDLER( paletteram_xxxxBBBBGGGGRRRR_le_w )
{
- paletteram[offset] = data;
- set_color_444(space->machine, offset / 2, 0, 4, 8, paletteram16_le(offset));
+ 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 )
{
- paletteram[offset] = data;
- set_color_444(space->machine, offset / 2, 0, 4, 8, paletteram16_be(offset));
+ 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 )
{
- paletteram[offset] = data;
- set_color_444(space->machine, offset, 0, 4, 8, paletteram16_split(offset));
+ 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 )
{
- paletteram_2[offset] = data;
- set_color_444(space->machine, offset, 0, 4, 8, paletteram16_split(offset));
+ 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(&paletteram16[offset]);
- set_color_444(space->machine, offset, 0, 4, 8, paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
+ set_color_444(space->machine, offset, 0, 4, 8, space->machine->generic.paletteram.u16[offset]);
}
@@ -804,32 +754,32 @@ WRITE16_HANDLER( paletteram16_xxxxBBBBGGGGRRRR_word_w )
WRITE8_HANDLER( paletteram_xxxxBBBBRRRRGGGG_le_w )
{
- paletteram[offset] = data;
- set_color_444(space->machine, offset / 2, 4, 0, 8, paletteram16_le(offset));
+ 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 )
{
- paletteram[offset] = data;
- set_color_444(space->machine, offset / 2, 4, 0, 8, paletteram16_be(offset));
+ 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 )
{
- paletteram[offset] = data;
- set_color_444(space->machine, offset, 4, 0, 8, paletteram16_split(offset));
+ 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 )
{
- paletteram_2[offset] = data;
- set_color_444(space->machine, offset, 4, 0, 8, paletteram16_split(offset));
+ 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(&paletteram16[offset]);
- set_color_444(space->machine, offset, 4, 0, 8, paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
+ set_color_444(space->machine, offset, 4, 0, 8, space->machine->generic.paletteram.u16[offset]);
}
@@ -839,14 +789,14 @@ WRITE16_HANDLER( paletteram16_xxxxBBBBRRRRGGGG_word_w )
WRITE8_HANDLER( paletteram_xxxxRRRRBBBBGGGG_split1_w )
{
- paletteram[offset] = data;
- set_color_444(space->machine, offset, 8, 0, 4, paletteram16_split(offset));
+ 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 )
{
- paletteram_2[offset] = data;
- set_color_444(space->machine, offset, 8, 0, 4, paletteram16_split(offset));
+ space->machine->generic.paletteram2.u8[offset] = data;
+ set_color_444(space->machine, offset, 8, 0, 4, paletteram16_split(space->machine, offset));
}
@@ -856,32 +806,32 @@ WRITE8_HANDLER( paletteram_xxxxRRRRBBBBGGGG_split2_w )
WRITE8_HANDLER( paletteram_xxxxRRRRGGGGBBBB_le_w )
{
- paletteram[offset] = data;
- set_color_444(space->machine, offset / 2, 8, 4, 0, paletteram16_le(offset));
+ 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 )
{
- paletteram[offset] = data;
- set_color_444(space->machine, offset / 2, 8, 4, 0, paletteram16_be(offset));
+ 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 )
{
- paletteram[offset] = data;
- set_color_444(space->machine, offset, 8, 4, 0, paletteram16_split(offset));
+ 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 )
{
- paletteram_2[offset] = data;
- set_color_444(space->machine, offset, 8, 4, 0, paletteram16_split(offset));
+ 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(&paletteram16[offset]);
- set_color_444(space->machine, offset, 8, 4, 0, paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
+ set_color_444(space->machine, offset, 8, 4, 0, space->machine->generic.paletteram.u16[offset]);
}
@@ -891,26 +841,26 @@ WRITE16_HANDLER( paletteram16_xxxxRRRRGGGGBBBB_word_w )
WRITE8_HANDLER( paletteram_RRRRGGGGBBBBxxxx_be_w )
{
- paletteram[offset] = data;
- set_color_444(space->machine, offset / 2, 12, 8, 4, paletteram16_be(offset));
+ 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 )
{
- paletteram[offset] = data;
- set_color_444(space->machine, offset, 12, 8, 4, paletteram16_split(offset));
+ 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 )
{
- paletteram_2[offset] = data;
- set_color_444(space->machine, offset, 12, 8, 4, paletteram16_split(offset));
+ 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(&paletteram16[offset]);
- set_color_444(space->machine, offset, 12, 8, 4, paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
+ set_color_444(space->machine, offset, 12, 8, 4, space->machine->generic.paletteram.u16[offset]);
}
@@ -925,32 +875,32 @@ WRITE16_HANDLER( paletteram16_RRRRGGGGBBBBxxxx_word_w )
WRITE8_HANDLER( paletteram_xBBBBBGGGGGRRRRR_le_w )
{
- paletteram[offset] = data;
- set_color_555(space->machine, offset / 2, 0, 5, 10, paletteram16_le(offset));
+ 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 )
{
- paletteram[offset] = data;
- set_color_555(space->machine, offset / 2, 0, 5, 10, paletteram16_be(offset));
+ 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 )
{
- paletteram[offset] = data;
- set_color_555(space->machine, offset, 0, 5, 10, paletteram16_split(offset));
+ 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 )
{
- paletteram_2[offset] = data;
- set_color_555(space->machine, offset, 0, 5, 10, paletteram16_split(offset));
+ 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(&paletteram16[offset]);
- set_color_555(space->machine, offset, 0, 5, 10, paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
+ set_color_555(space->machine, offset, 0, 5, 10, space->machine->generic.paletteram.u16[offset]);
}
@@ -960,14 +910,14 @@ WRITE16_HANDLER( paletteram16_xBBBBBGGGGGRRRRR_word_w )
WRITE8_HANDLER( paletteram_xBBBBBRRRRRGGGGG_split1_w )
{
- paletteram[offset] = data;
- set_color_555(space->machine, offset, 5, 0, 10, paletteram16_split(offset));
+ 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 )
{
- paletteram_2[offset] = data;
- set_color_555(space->machine, offset, 5, 0, 10, paletteram16_split(offset));
+ space->machine->generic.paletteram2.u8[offset] = data;
+ set_color_555(space->machine, offset, 5, 0, 10, paletteram16_split(space->machine, offset));
}
@@ -977,26 +927,26 @@ WRITE8_HANDLER( paletteram_xBBBBBRRRRRGGGGG_split2_w )
WRITE8_HANDLER( paletteram_xRRRRRGGGGGBBBBB_le_w )
{
- paletteram[offset] = data;
- set_color_555(space->machine, offset / 2, 10, 5, 0, paletteram16_le(offset));
+ 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_split1_w )
{
- paletteram[offset] = data;
- set_color_555(space->machine, offset, 10, 5, 0, paletteram16_split(offset));
+ 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 )
{
- paletteram_2[offset] = data;
- set_color_555(space->machine, offset, 10, 5, 0, paletteram16_split(offset));
+ 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(&paletteram16[offset]);
- set_color_555(space->machine, offset, 10, 5, 0, paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
+ set_color_555(space->machine, offset, 10, 5, 0, space->machine->generic.paletteram.u16[offset]);
}
@@ -1006,8 +956,8 @@ WRITE16_HANDLER( paletteram16_xRRRRRGGGGGBBBBB_word_w )
WRITE16_HANDLER( paletteram16_xGGGGGRRRRRBBBBB_word_w )
{
- COMBINE_DATA(&paletteram16[offset]);
- set_color_555(space->machine, offset, 5, 10, 0, paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
+ set_color_555(space->machine, offset, 5, 10, 0, space->machine->generic.paletteram.u16[offset]);
}
@@ -1017,8 +967,8 @@ WRITE16_HANDLER( paletteram16_xGGGGGRRRRRBBBBB_word_w )
WRITE16_HANDLER( paletteram16_xGGGGGBBBBBRRRRR_word_w )
{
- COMBINE_DATA(&paletteram16[offset]);
- set_color_555(space->machine, offset, 0, 10, 5, paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
+ set_color_555(space->machine, offset, 0, 10, 5, space->machine->generic.paletteram.u16[offset]);
}
@@ -1028,8 +978,8 @@ WRITE16_HANDLER( paletteram16_xGGGGGBBBBBRRRRR_word_w )
WRITE16_HANDLER( paletteram16_GGGGGRRRRRBBBBBx_word_w )
{
- COMBINE_DATA(&paletteram16[offset]);
- set_color_555(space->machine, offset, 6, 11, 1, paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
+ set_color_555(space->machine, offset, 6, 11, 1, space->machine->generic.paletteram.u16[offset]);
}
/*-------------------------------------------------
@@ -1038,8 +988,8 @@ WRITE16_HANDLER( paletteram16_GGGGGRRRRRBBBBBx_word_w )
WRITE16_HANDLER( paletteram16_RRRRRGGGGGBBBBBx_word_w )
{
- COMBINE_DATA(&paletteram16[offset]);
- set_color_555(space->machine, offset, 11, 6, 1, paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
+ set_color_555(space->machine, offset, 11, 6, 1, space->machine->generic.paletteram.u16[offset]);
}
@@ -1049,8 +999,8 @@ WRITE16_HANDLER( paletteram16_RRRRRGGGGGBBBBBx_word_w )
WRITE16_HANDLER( paletteram16_RRRRGGGGBBBBRGBx_word_w )
{
- COMBINE_DATA(&paletteram16[offset]);
- data = paletteram16[offset];
+ 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)));
@@ -1068,8 +1018,8 @@ WRITE16_HANDLER( paletteram16_RRRRGGGGBBBBRGBx_word_w )
WRITE16_HANDLER( paletteram16_IIIIRRRRGGGGBBBB_word_w )
{
- COMBINE_DATA(&paletteram16[offset]);
- set_color_4444(space->machine, offset, 12, 8, 4, 0, paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
+ set_color_4444(space->machine, offset, 12, 8, 4, 0, space->machine->generic.paletteram.u16[offset]);
}
@@ -1079,8 +1029,8 @@ WRITE16_HANDLER( paletteram16_IIIIRRRRGGGGBBBB_word_w )
WRITE16_HANDLER( paletteram16_RRRRGGGGBBBBIIII_word_w )
{
- COMBINE_DATA(&paletteram16[offset]);
- set_color_4444(space->machine, offset, 0, 12, 8, 4, paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
+ set_color_4444(space->machine, offset, 0, 12, 8, 4, space->machine->generic.paletteram.u16[offset]);
}
@@ -1095,8 +1045,8 @@ WRITE16_HANDLER( paletteram16_RRRRGGGGBBBBIIII_word_w )
WRITE16_HANDLER( paletteram16_xrgb_word_be_w )
{
- COMBINE_DATA(&paletteram16[offset]);
- set_color_888(space->machine, offset / 2, 16, 8, 0, paletteram32_be(offset));
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
+ set_color_888(space->machine, offset / 2, 16, 8, 0, paletteram32_be(space->machine, offset));
}
@@ -1106,6 +1056,6 @@ WRITE16_HANDLER( paletteram16_xrgb_word_be_w )
WRITE16_HANDLER( paletteram16_xbgr_word_be_w )
{
- COMBINE_DATA(&paletteram16[offset]);
- set_color_888(space->machine, offset / 2, 0, 8, 16, paletteram32_be(offset));
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
+ set_color_888(space->machine, offset / 2, 0, 8, 16, paletteram32_be(space->machine, offset));
}
diff --git a/src/emu/video/generic.h b/src/emu/video/generic.h
index a1de846e11b..cdbde21025a 100644
--- a/src/emu/video/generic.h
+++ b/src/emu/video/generic.h
@@ -22,46 +22,6 @@
GLOBAL VARIABLES
***************************************************************************/
-extern UINT8 *videoram;
-extern UINT16 *videoram16;
-extern UINT32 *videoram32;
-extern size_t videoram_size;
-
-extern UINT8 *colorram;
-extern UINT16 *colorram16;
-extern UINT32 *colorram32;
-
-extern UINT8 *spriteram;
-extern UINT16 *spriteram16;
-extern UINT32 *spriteram32;
-
-extern UINT8 *spriteram_2;
-extern UINT16 *spriteram16_2;
-extern UINT32 *spriteram32_2;
-
-extern UINT8 *spriteram_3;
-extern UINT16 *spriteram16_3;
-extern UINT32 *spriteram32_3;
-
-extern UINT8 *buffered_spriteram;
-extern UINT16 *buffered_spriteram16;
-extern UINT32 *buffered_spriteram32;
-
-extern UINT8 *buffered_spriteram_2;
-extern UINT16 *buffered_spriteram16_2;
-extern UINT32 *buffered_spriteram32_2;
-
-extern size_t spriteram_size;
-extern size_t spriteram_2_size;
-extern size_t spriteram_3_size;
-
-extern UINT8 *paletteram;
-extern UINT16 *paletteram16;
-extern UINT32 *paletteram32;
-
-extern UINT8 *paletteram_2; /* use when palette RAM is split in two parts */
-extern UINT16 *paletteram16_2;
-
extern bitmap_t *tmpbitmap;
@@ -109,8 +69,8 @@ WRITE16_HANDLER( buffer_spriteram16_2_w );
WRITE32_HANDLER( buffer_spriteram32_2_w );
/* perform the actual buffering */
-void buffer_spriteram(UINT8 *ptr, int length);
-void buffer_spriteram_2(UINT8 *ptr, int length);
+void buffer_spriteram(running_machine *machine, UINT8 *ptr, int length);
+void buffer_spriteram_2(running_machine *machine, UINT8 *ptr, int length);
@@ -153,28 +113,28 @@ 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 paletteram_2[] */
+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 paletteram_2[] */
+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 paletteram_2[] */
+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 paletteram_2[] */
+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 paletteram_2[] */
+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 */
@@ -184,12 +144,12 @@ 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 paletteram_2[] */
+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 paletteram_2[] */
+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_split1_w );
diff --git a/src/mame/drivers/1942.c b/src/mame/drivers/1942.c
index c440e749ab0..ed0980d4a7d 100644
--- a/src/mame/drivers/1942.c
+++ b/src/mame/drivers/1942.c
@@ -97,7 +97,7 @@ static ADDRESS_MAP_START( c1942_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc804, 0xc804) AM_WRITE(c1942_c804_w)
AM_RANGE(0xc805, 0xc805) AM_WRITE(c1942_palette_bank_w)
AM_RANGE(0xc806, 0xc806) AM_WRITE(c1942_bankswitch_w)
- AM_RANGE(0xcc00, 0xcc7f) AM_RAM AM_BASE_MEMBER(_1942_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xcc00, 0xcc7f) AM_RAM AM_BASE_MEMBER(_1942_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(c1942_fgvideoram_w) AM_BASE_MEMBER(_1942_state, fg_videoram)
AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(c1942_bgvideoram_w) AM_BASE_MEMBER(_1942_state, bg_videoram)
AM_RANGE(0xe000, 0xefff) AM_RAM
diff --git a/src/mame/drivers/1943.c b/src/mame/drivers/1943.c
index 3fcdf2e9583..1218acacba5 100644
--- a/src/mame/drivers/1943.c
+++ b/src/mame/drivers/1943.c
@@ -70,7 +70,7 @@ static ADDRESS_MAP_START( c1943_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd888, 0xd888) AM_WRITENOP // ???
AM_RANGE(0xd8a8, 0xd8a8) AM_WRITENOP // ???
AM_RANGE(0xe000, 0xefff) AM_RAM
- AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE_MEMBER(_1943_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE_MEMBER(_1943_state, spriteram) AM_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
diff --git a/src/mame/drivers/1945kiii.c b/src/mame/drivers/1945kiii.c
index 089ea823f20..010aebc8809 100644
--- a/src/mame/drivers/1945kiii.c
+++ b/src/mame/drivers/1945kiii.c
@@ -158,7 +158,7 @@ static ADDRESS_MAP_START( k3_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM // Main Ram
- AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16) // palette
+ AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) // palette
AM_RANGE(0x240000, 0x240fff) AM_RAM AM_BASE_MEMBER(k3_state, spriteram_1)
AM_RANGE(0x280000, 0x280fff) AM_RAM AM_BASE_MEMBER(k3_state, spriteram_2)
AM_RANGE(0x2c0000, 0x2c0fff) AM_RAM_WRITE(k3_bgram_w) AM_BASE_MEMBER(k3_state, bgram)
diff --git a/src/mame/drivers/2mindril.c b/src/mame/drivers/2mindril.c
index 9d09fb670b1..bd52fff1941 100644
--- a/src/mame/drivers/2mindril.c
+++ b/src/mame/drivers/2mindril.c
@@ -254,7 +254,7 @@ static ADDRESS_MAP_START( drill_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x41c000, 0x41dfff) AM_RAM AM_BASE_MEMBER(_2mindril_state, textram)
AM_RANGE(0x41e000, 0x41ffff) AM_RAM_WRITE(charram_w) AM_BASE_MEMBER(_2mindril_state, charram)
AM_RANGE(0x400000, 0x4fffff) AM_RAM AM_BASE_MEMBER(_2mindril_state, unkram)// video stuff, 460000 - video regs ?
- AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x502000, 0x503fff) AM_RAM
AM_RANGE(0x600000, 0x600007) AM_DEVREADWRITE8("ymsnd", ym2610_r, ym2610_w, 0x00ff)
AM_RANGE(0x60000c, 0x60000d) AM_RAM
diff --git a/src/mame/drivers/40love.c b/src/mame/drivers/40love.c
index c5671a8a075..b91a26bcca3 100644
--- a/src/mame/drivers/40love.c
+++ b/src/mame/drivers/40love.c
@@ -672,11 +672,11 @@ static ADDRESS_MAP_START( 40love_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x880b, 0x880b) AM_READ_PORT("P2")
AM_RANGE(0x880c, 0x880c) AM_READ_PORT("DSW1") AM_WRITE(fortyl_pixram_sel_w) /* pixram bank select */
AM_RANGE(0x880d, 0x880d) AM_READ_PORT("DSW2") AM_WRITENOP /* unknown */
- AM_RANGE(0x9000, 0x97ff) AM_READWRITE(fortyl_bg_videoram_r, fortyl_bg_videoram_w) AM_BASE(&videoram) /* #1 M5517P on video board */
+ AM_RANGE(0x9000, 0x97ff) AM_READWRITE(fortyl_bg_videoram_r, fortyl_bg_videoram_w) AM_BASE_GENERIC(videoram) /* #1 M5517P on video board */
AM_RANGE(0x9800, 0x983f) AM_RAM AM_BASE(&fortyl_video_ctrl) /* video control area */
- AM_RANGE(0x9840, 0x987f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) /* sprites part 1 */
- AM_RANGE(0x9880, 0x98bf) AM_READWRITE(fortyl_bg_colorram_r, fortyl_bg_colorram_w) AM_BASE(&colorram) /* background attributes (2 bytes per line) */
- AM_RANGE(0x98c0, 0x98ff) AM_RAM AM_BASE(&spriteram_2) AM_SIZE(&spriteram_2_size)/* sprites part 2 */
+ AM_RANGE(0x9840, 0x987f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* sprites part 1 */
+ AM_RANGE(0x9880, 0x98bf) AM_READWRITE(fortyl_bg_colorram_r, fortyl_bg_colorram_w) AM_BASE_GENERIC(colorram) /* background attributes (2 bytes per line) */
+ AM_RANGE(0x98c0, 0x98ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram2)/* sprites part 2 */
AM_RANGE(0xa000, 0xbfff) AM_ROMBANK(1)
AM_RANGE(0xc000, 0xffff) AM_READWRITE(fortyl_pixram_r, fortyl_pixram_w) /* banked pixel layer */
ADDRESS_MAP_END
@@ -698,11 +698,11 @@ static ADDRESS_MAP_START( undoukai_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xa80b, 0xa80b) AM_READ_PORT("P2")
AM_RANGE(0xa80c, 0xa80c) AM_READ_PORT("DSW1") AM_WRITE(fortyl_pixram_sel_w) /* pixram bank select */
AM_RANGE(0xa80d, 0xa80d) AM_READ_PORT("DSW2") AM_WRITENOP /* unknown */
- AM_RANGE(0xb000, 0xb7ff) AM_READWRITE(fortyl_bg_videoram_r, fortyl_bg_videoram_w) AM_BASE(&videoram) /* #1 M5517P on video board */
+ AM_RANGE(0xb000, 0xb7ff) AM_READWRITE(fortyl_bg_videoram_r, fortyl_bg_videoram_w) AM_BASE_GENERIC(videoram) /* #1 M5517P on video board */
AM_RANGE(0xb800, 0xb83f) AM_RAM AM_BASE(&fortyl_video_ctrl) /* video control area */
- AM_RANGE(0xb840, 0xb87f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) /* sprites part 1 */
- AM_RANGE(0xb880, 0xb8bf) AM_READWRITE(fortyl_bg_colorram_r, fortyl_bg_colorram_w) AM_BASE(&colorram) /* background attributes (2 bytes per line) */
- AM_RANGE(0xb8e0, 0xb8ff) AM_RAM AM_BASE(&spriteram_2) AM_SIZE(&spriteram_2_size) /* sprites part 2 */
+ AM_RANGE(0xb840, 0xb87f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* sprites part 1 */
+ AM_RANGE(0xb880, 0xb8bf) AM_READWRITE(fortyl_bg_colorram_r, fortyl_bg_colorram_w) AM_BASE_GENERIC(colorram) /* background attributes (2 bytes per line) */
+ AM_RANGE(0xb8e0, 0xb8ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram2) /* sprites part 2 */
AM_RANGE(0xc000, 0xffff) AM_READWRITE(fortyl_pixram_r, fortyl_pixram_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/4enraya.c b/src/mame/drivers/4enraya.c
index d6645871b19..17bfc363bca 100644
--- a/src/mame/drivers/4enraya.c
+++ b/src/mame/drivers/4enraya.c
@@ -73,7 +73,7 @@ static WRITE8_DEVICE_HANDLER( sound_control_w )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
- AM_RANGE(0xd000, 0xdfff) AM_WRITE(fenraya_videoram_w) AM_BASE_MEMBER(_4enraya_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xd000, 0xdfff) AM_WRITE(fenraya_videoram_w) AM_BASE_MEMBER(_4enraya_state, videoram) AM_SIZE_GENERIC(videoram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( main_portmap, ADDRESS_SPACE_IO, 8 )
diff --git a/src/mame/drivers/4roses.c b/src/mame/drivers/4roses.c
index 47db9f41afa..6d8ffcb21f9 100644
--- a/src/mame/drivers/4roses.c
+++ b/src/mame/drivers/4roses.c
@@ -197,8 +197,8 @@ VIDEO_UPDATE( funworld );
static ADDRESS_MAP_START( 4roses_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x07ff) AM_RAM // AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0x6000, 0x6fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x6000, 0x6fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/88games.c b/src/mame/drivers/88games.c
index 3b1b47719c5..5e000a01f54 100644
--- a/src/mame/drivers/88games.c
+++ b/src/mame/drivers/88games.c
@@ -449,18 +449,18 @@ logerror("%04x: bank select %02x\n",cpu_get_pc(device),lines);
memcpy(banked_rom,&RAM[offs],0x1000);
if (lines & 0x08)
{
- if (paletteram != paletteram_1000)
+ if (device->machine->generic.paletteram.u8 != paletteram_1000)
{
- memcpy(paletteram_1000,paletteram,0x1000);
- paletteram = paletteram_1000;
+ memcpy(paletteram_1000,device->machine->generic.paletteram.u8,0x1000);
+ device->machine->generic.paletteram.u8 = paletteram_1000;
}
}
else
{
- if (paletteram != &RAM[0x20000])
+ if (device->machine->generic.paletteram.u8 != &RAM[0x20000])
{
- memcpy(&RAM[0x20000],paletteram,0x1000);
- paletteram = &RAM[0x20000];
+ memcpy(&RAM[0x20000],device->machine->generic.paletteram.u8,0x1000);
+ device->machine->generic.paletteram.u8 = &RAM[0x20000];
}
memcpy(paletteram_1000,&RAM[offs+0x1000],0x1000);
}
@@ -478,7 +478,7 @@ logerror("%04x: bank select %02x\n",cpu_get_pc(device),lines);
static MACHINE_RESET( 88games )
{
konami_configure_set_lines(cputag_get_cpu(machine, "maincpu"), k88games_banking);
- paletteram = &memory_region(machine, "maincpu")[0x20000];
+ machine->generic.paletteram.u8 = &memory_region(machine, "maincpu")[0x20000];
}
static MACHINE_START( 88games )
diff --git a/src/mame/drivers/acefruit.c b/src/mame/drivers/acefruit.c
index ec85143f0da..769da009bb2 100644
--- a/src/mame/drivers/acefruit.c
+++ b/src/mame/drivers/acefruit.c
@@ -21,7 +21,7 @@ static void acefruit_update_irq(running_machine *machine, int vpos )
for( col = 0; col < 32; col++ )
{
int tile_index = ( col * 32 ) + row;
- int color = colorram[ tile_index ];
+ int color = machine->generic.colorram.u8[ tile_index ];
switch( color )
{
@@ -73,8 +73,8 @@ static VIDEO_UPDATE( acefruit )
for( col = 0; col < 32; col++ )
{
int tile_index = ( col * 32 ) + row;
- int code = videoram[ tile_index ];
- int color = colorram[ tile_index ];
+ int code = screen->machine->generic.videoram.u8[ tile_index ];
+ int color = screen->machine->generic.colorram.u8[ tile_index ];
if( color < 0x4 )
{
@@ -90,7 +90,7 @@ static VIDEO_UPDATE( acefruit )
for( x = 0; x < 16; x++ )
{
- int sprite = ( spriteram[ ( spriteindex / 64 ) % 6 ] & 0xf ) ^ 0xf;
+ int sprite = ( screen->machine->generic.spriteram.u8[ ( spriteindex / 64 ) % 6 ] & 0xf ) ^ 0xf;
const UINT8 *gfxdata = gfx_element_get_data(gfx, sprite);
for( y = 0; y < 8; y++ )
@@ -197,7 +197,7 @@ static CUSTOM_INPUT( starspnr_payout_r )
static WRITE8_HANDLER( acefruit_colorram_w )
{
- colorram[ offset ] = data & 0xf;
+ space->machine->generic.colorram.u8[ offset ] = data & 0xf;
}
static WRITE8_HANDLER( acefruit_coin_w )
@@ -256,8 +256,8 @@ static PALETTE_INIT( acefruit )
static ADDRESS_MAP_START( acefruit_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x20ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0x4000, 0x43ff) AM_RAM AM_BASE(&videoram)
- AM_RANGE(0x4400, 0x47ff) AM_RAM_WRITE(acefruit_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x4000, 0x43ff) AM_RAM AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x4400, 0x47ff) AM_RAM_WRITE(acefruit_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x8000, 0x8000) AM_READ_PORT("IN0")
AM_RANGE(0x8001, 0x8001) AM_READ_PORT("IN1")
AM_RANGE(0x8002, 0x8002) AM_READ_PORT("IN2")
@@ -266,7 +266,7 @@ static ADDRESS_MAP_START( acefruit_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8005, 0x8005) AM_READ_PORT("IN5")
AM_RANGE(0x8006, 0x8006) AM_READ_PORT("IN6")
AM_RANGE(0x8007, 0x8007) AM_READ_PORT("IN7")
- AM_RANGE(0x6000, 0x6005) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0x6000, 0x6005) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0xa000, 0xa001) AM_WRITE(acefruit_lamp_w)
AM_RANGE(0xa002, 0xa003) AM_WRITE(acefruit_coin_w)
AM_RANGE(0xa004, 0xa004) AM_WRITE(acefruit_solenoid_w)
diff --git a/src/mame/drivers/acommand.c b/src/mame/drivers/acommand.c
index 70bdb7a14bb..c7614a70e1b 100644
--- a/src/mame/drivers/acommand.c
+++ b/src/mame/drivers/acommand.c
@@ -92,9 +92,10 @@ static TILE_GET_INFO( ac_get_tx_tile_info )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int priority, int pri_mask)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
- for (offs = 0;offs < spriteram_size/2;offs += 8)
+ for (offs = 0;offs < machine->generic.spriteram_size/2;offs += 8)
{
if (!(spriteram16[offs+0] & 0x1000))
{
@@ -423,9 +424,9 @@ static ADDRESS_MAP_START( acommand_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x082208, 0x082209) AM_WRITE(ac_unk2_w)
AM_RANGE(0x0a0000, 0x0a3fff) AM_RAM_WRITE(ac_bgvram_w) AM_BASE(&ac_bgvram)
AM_RANGE(0x0b0000, 0x0b3fff) AM_RAM_WRITE(ac_txvram_w) AM_BASE(&ac_txvram)
- AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x0f0000, 0x0f7fff) AM_RAM
- AM_RANGE(0x0f8000, 0x0f8fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x0f8000, 0x0f8fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x0f9000, 0x0fffff) AM_RAM
AM_RANGE(0x100000, 0x1000ff) AM_READ(ac_devices_r) AM_WRITE(ac_devices_w) AM_BASE(&ac_devram)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/actfancr.c b/src/mame/drivers/actfancr.c
index a6974a4d63c..a6f63c61bbb 100644
--- a/src/mame/drivers/actfancr.c
+++ b/src/mame/drivers/actfancr.c
@@ -68,9 +68,9 @@ static ADDRESS_MAP_START( actfan_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x062000, 0x063fff) AM_READWRITE(actfancr_pf1_data_r, actfancr_pf1_data_w) AM_BASE_MEMBER(actfancr_state, pf1_data)
AM_RANGE(0x070000, 0x07001f) AM_WRITE(actfancr_pf2_control_w)
AM_RANGE(0x072000, 0x0727ff) AM_READWRITE(actfancr_pf2_data_r, actfancr_pf2_data_w) AM_BASE_MEMBER(actfancr_state, pf2_data)
- AM_RANGE(0x100000, 0x1007ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x100000, 0x1007ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x110000, 0x110001) AM_WRITE(buffer_spriteram_w)
- AM_RANGE(0x120000, 0x1205ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE(&paletteram)
+ AM_RANGE(0x120000, 0x1205ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(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")
@@ -90,8 +90,8 @@ static ADDRESS_MAP_START( triothep_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x066400, 0x0667ff) AM_WRITEONLY AM_BASE_MEMBER(actfancr_state, pf1_rowscroll_data)
AM_RANGE(0x100000, 0x100001) AM_WRITE(actfancr_sound_w)
AM_RANGE(0x110000, 0x110001) AM_WRITE(buffer_spriteram_w)
- AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0x130000, 0x1305ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE(&paletteram)
+ AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x130000, 0x1305ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x140000, 0x140001) AM_READNOP /* Value doesn't matter */
AM_RANGE(0x1f0000, 0x1f3fff) AM_RAM AM_BASE_MEMBER(actfancr_state, main_ram) /* Main ram */
AM_RANGE(0x1ff000, 0x1ff001) AM_READWRITE(triothep_control_r, triothep_control_select_w)
diff --git a/src/mame/drivers/aeroboto.c b/src/mame/drivers/aeroboto.c
index f9648c7f371..e4702527c0c 100644
--- a/src/mame/drivers/aeroboto.c
+++ b/src/mame/drivers/aeroboto.c
@@ -76,7 +76,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1800, 0x183f) AM_RAM AM_BASE_MEMBER(aeroboto_state, hscroll) // horizontal scroll regs
AM_RANGE(0x2000, 0x20ff) AM_RAM_WRITE(aeroboto_tilecolor_w) AM_BASE_MEMBER(aeroboto_state, tilecolor) // tile color RAM
AM_RANGE(0x1840, 0x27ff) AM_WRITENOP // cleared during custom LSI test
- AM_RANGE(0x2800, 0x28ff) AM_RAM AM_BASE_MEMBER(aeroboto_state, spriteram) AM_SIZE(&spriteram_size) // sprite RAM
+ AM_RANGE(0x2800, 0x28ff) AM_RAM AM_BASE_MEMBER(aeroboto_state, spriteram) AM_SIZE_GENERIC(spriteram) // sprite RAM
AM_RANGE(0x2900, 0x2fff) AM_WRITENOP // cleared along with sprite RAM
AM_RANGE(0x2973, 0x2973) AM_READ(aeroboto_2973_r) // protection read
AM_RANGE(0x3000, 0x3000) AM_READWRITE(aeroboto_in0_r, aeroboto_3000_w)
diff --git a/src/mame/drivers/aerofgt.c b/src/mame/drivers/aerofgt.c
index ec545c17c58..53d53586282 100644
--- a/src/mame/drivers/aerofgt.c
+++ b/src/mame/drivers/aerofgt.c
@@ -155,7 +155,7 @@ static ADDRESS_MAP_START( pspikes_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xff8000, 0xff8fff) AM_RAM_WRITE(aerofgt_bg1videoram_w) AM_BASE(&aerofgt_bg1videoram)
AM_RANGE(0xffc000, 0xffc3ff) AM_WRITEONLY AM_BASE(&aerofgt_spriteram3) AM_SIZE(&aerofgt_spriteram3_size)
AM_RANGE(0xffd000, 0xffdfff) AM_RAM AM_BASE(&aerofgt_rasterram) /* bg1 scroll registers */
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0") AM_WRITE(pspikes_palette_bank_w)
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1") AM_WRITE(pspikes_gfxbank_w)
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW") AM_WRITE(aerofgt_bg1scrolly_w)
@@ -171,7 +171,7 @@ static ADDRESS_MAP_START( pspikesb_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xffc000, 0xffcbff) AM_RAM AM_BASE(&aerofgt_spriteram3) AM_SIZE(&aerofgt_spriteram3_size)
AM_RANGE(0xffd200, 0xffd201) AM_WRITE(pspikesb_gfxbank_w)
AM_RANGE(0xffd000, 0xffdfff) AM_RAM AM_BASE(&aerofgt_rasterram) /* bg1 scroll registers */
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(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(aerofgt_bg1scrolly_w)
@@ -191,7 +191,7 @@ static ADDRESS_MAP_START( spikes91_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xffc000, 0xffcfff) AM_RAM AM_BASE(&aerofgt_spriteram3) AM_SIZE(&aerofgt_spriteram3_size)
//AM_RANGE(0xffd200, 0xffd201) AM_WRITE(pspikesb_gfxbank_w)
AM_RANGE(0xffd000, 0xffdfff) AM_RAM AM_BASE(&aerofgt_rasterram) /* bg1 scroll registers */
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0")
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1") AM_WRITE(pspikes_gfxbank_w)
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW") AM_WRITE(aerofgt_bg1scrolly_w)
@@ -206,7 +206,7 @@ static ADDRESS_MAP_START( pspikesc_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xff8000, 0xff8fff) AM_RAM_WRITE(aerofgt_bg1videoram_w) AM_BASE(&aerofgt_bg1videoram)
AM_RANGE(0xffc000, 0xffcbff) AM_RAM AM_BASE(&aerofgt_spriteram3) AM_SIZE(&aerofgt_spriteram3_size)
AM_RANGE(0xffd000, 0xffdfff) AM_RAM AM_BASE(&aerofgt_rasterram) /* bg1 scroll registers */
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0") AM_WRITE(pspikes_palette_bank_w)
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1") AM_WRITE(pspikes_gfxbank_w)
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW")
@@ -224,7 +224,7 @@ static ADDRESS_MAP_START( karatblz_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0c0000, 0x0cffff) AM_RAM /* work RAM */
AM_RANGE(0x0f8000, 0x0fbfff) AM_RAM /* work RAM */
AM_RANGE(0x0fc000, 0x0fc7ff) AM_RAM AM_BASE(&aerofgt_spriteram3) AM_SIZE(&aerofgt_spriteram3_size)
- AM_RANGE(0x0fe000, 0x0fe7ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0fe000, 0x0fe7ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x0ff000, 0x0ff001) AM_READ_PORT("IN0")
AM_RANGE(0x0ff002, 0x0ff003) AM_READ_PORT("IN1") AM_WRITE(karatblz_gfxbank_w)
AM_RANGE(0x0ff004, 0x0ff005) AM_READ_PORT("IN2")
@@ -242,7 +242,7 @@ static ADDRESS_MAP_START( spinlbrk_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xff8000, 0xffbfff) AM_RAM /* work RAM */
AM_RANGE(0xffc000, 0xffc7ff) AM_RAM AM_BASE(&aerofgt_spriteram3) AM_SIZE(&aerofgt_spriteram3_size)
AM_RANGE(0xffd000, 0xffd1ff) AM_RAM AM_BASE(&aerofgt_rasterram) /* bg1 scroll registers */
- AM_RANGE(0xffe000, 0xffe7ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xffe000, 0xffe7ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0") AM_WRITE(spinlbrk_gfxbank_w)
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1") AM_WRITE(aerofgt_bg2scrollx_w)
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW")
@@ -260,7 +260,7 @@ static ADDRESS_MAP_START( turbofrc_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0f8000, 0x0fbfff) AM_RAM /* work RAM */
AM_RANGE(0x0fc000, 0x0fc7ff) AM_RAM AM_BASE(&aerofgt_spriteram3) AM_SIZE(&aerofgt_spriteram3_size)
AM_RANGE(0x0fd000, 0x0fdfff) AM_RAM AM_BASE(&aerofgt_rasterram) /* bg1 scroll registers */
- AM_RANGE(0x0fe000, 0x0fe7ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0fe000, 0x0fe7ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x0ff000, 0x0ff001) AM_READ_PORT("IN0")
AM_RANGE(0x0ff002, 0x0ff003) AM_READ_PORT("IN1") AM_WRITE(aerofgt_bg1scrolly_w)
AM_RANGE(0x0ff004, 0x0ff005) AM_READ_PORT("DSW") AM_WRITE(aerofgt_bg2scrollx_w)
@@ -280,7 +280,7 @@ static ADDRESS_MAP_START( aerofgtb_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0e4000, 0x0e7fff) AM_RAM AM_BASE(&aerofgt_spriteram2) AM_SIZE(&aerofgt_spriteram2_size)
AM_RANGE(0x0f8000, 0x0fbfff) AM_RAM /* work RAM */
AM_RANGE(0x0fc000, 0x0fc7ff) AM_RAM AM_BASE(&aerofgt_spriteram3) AM_SIZE(&aerofgt_spriteram3_size)
- AM_RANGE(0x0fd000, 0x0fd7ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0fd000, 0x0fd7ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x0fe000, 0x0fe001) AM_READ_PORT("IN0")
AM_RANGE(0x0fe002, 0x0fe003) AM_READ_PORT("IN1") AM_WRITE(aerofgt_bg1scrolly_w)
AM_RANGE(0x0fe004, 0x0fe005) AM_READ_PORT("DSW1") AM_WRITE(aerofgt_bg2scrollx_w)
@@ -293,7 +293,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( aerofgt_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x1a0000, 0x1a07ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x1a0000, 0x1a07ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x1b0000, 0x1b07ff) AM_RAM AM_BASE(&aerofgt_rasterram) /* used only for the scroll registers */
AM_RANGE(0x1b0800, 0x1b0801) AM_NOP /* ??? */
AM_RANGE(0x1b0ff0, 0x1b0fff) AM_RAM /* stack area during boot */
@@ -325,7 +325,7 @@ static ADDRESS_MAP_START( aerfboot_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0e4000, 0x0e7fff) AM_RAM AM_BASE(&aerofgt_spriteram2) AM_SIZE(&aerofgt_spriteram2_size)
AM_RANGE(0x0f8000, 0x0fbfff) AM_RAM /* work RAM */
AM_RANGE(0x0fc000, 0x0fc7ff) AM_RAM //AM_BASE(&aerofgt_spriteram3) AM_SIZE(&aerofgt_spriteram3_size)
- AM_RANGE(0x0fd000, 0x0fd7ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0fd000, 0x0fd7ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(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")
@@ -354,7 +354,7 @@ static ADDRESS_MAP_START( aerfboo2_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0e4000, 0x0e7fff) AM_RAM AM_BASE(&aerofgt_spriteram2) AM_SIZE(&aerofgt_spriteram2_size)
AM_RANGE(0x0f8000, 0x0fbfff) AM_RAM /* work RAM */
AM_RANGE(0x0fc000, 0x0fc7ff) AM_RAM AM_BASE(&aerofgt_spriteram3) AM_SIZE(&aerofgt_spriteram3_size)
- AM_RANGE(0x0fd000, 0x0fd7ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0fd000, 0x0fd7ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(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")
@@ -381,7 +381,7 @@ static ADDRESS_MAP_START( wbbc97_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xff8000, 0xff8fff) AM_RAM_WRITE(aerofgt_bg1videoram_w) AM_BASE(&aerofgt_bg1videoram)
AM_RANGE(0xffc000, 0xffc3ff) AM_WRITEONLY AM_BASE(&aerofgt_spriteram3) AM_SIZE(&aerofgt_spriteram3_size)
AM_RANGE(0xffd000, 0xffdfff) AM_RAM AM_BASE(&aerofgt_rasterram) /* bg1 scroll registers */
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0") AM_WRITE(pspikes_palette_bank_w)
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1") AM_WRITE(pspikes_gfxbank_w)
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW") AM_WRITE(aerofgt_bg1scrolly_w)
diff --git a/src/mame/drivers/airbustr.c b/src/mame/drivers/airbustr.c
index a6b1ff3b6e6..16893a01e4d 100644
--- a/src/mame/drivers/airbustr.c
+++ b/src/mame/drivers/airbustr.c
@@ -351,8 +351,8 @@ static WRITE8_HANDLER( airbustr_paletteram_w )
/* xGGG GGRR RRRB BBBB */
/* x432 1043 2104 3210 */
- paletteram[offset] = data;
- val = (paletteram[offset | 1] << 8) | paletteram[offset & ~1];
+ space->machine->generic.paletteram.u8[offset] = data;
+ val = (space->machine->generic.paletteram.u8[offset | 1] << 8) | space->machine->generic.paletteram.u8[offset & ~1];
palette_set_color_rgb(space->machine, offset/2, pal5bit(val >> 5), pal5bit(val >> 10), pal5bit(val >> 0));
}
@@ -388,9 +388,9 @@ static ADDRESS_MAP_START( slave_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(2)
AM_RANGE(0xc000, 0xc3ff) AM_RAM_WRITE(airbustr_videoram2_w) AM_BASE(&airbustr_videoram2)
AM_RANGE(0xc400, 0xc7ff) AM_RAM_WRITE(airbustr_colorram2_w) AM_BASE(&airbustr_colorram2)
- AM_RANGE(0xc800, 0xcbff) AM_RAM_WRITE(airbustr_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xcc00, 0xcfff) AM_RAM_WRITE(airbustr_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0xd000, 0xd5ff) AM_RAM_WRITE(airbustr_paletteram_w) AM_BASE(&paletteram)
+ AM_RANGE(0xc800, 0xcbff) AM_RAM_WRITE(airbustr_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xcc00, 0xcfff) AM_RAM_WRITE(airbustr_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xd000, 0xd5ff) AM_RAM_WRITE(airbustr_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xd600, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xefff) AM_RAM
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE(1)
diff --git a/src/mame/drivers/ajax.c b/src/mame/drivers/ajax.c
index 8019f4689b7..156ed4be131 100644
--- a/src/mame/drivers/ajax.c
+++ b/src/mame/drivers/ajax.c
@@ -29,7 +29,7 @@ static ADDRESS_MAP_START( ajax_main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x01c0) AM_READWRITE(ajax_ls138_f10_r, ajax_ls138_f10_w) /* bankswitch + sound command + FIRQ command */
AM_RANGE(0x0800, 0x0807) AM_READWRITE(K051937_r, K051937_w) /* sprite control registers */
AM_RANGE(0x0c00, 0x0fff) AM_READWRITE(K051960_r, K051960_w) /* sprite RAM 2128SL at J7 */
- AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_be_w) AM_BASE(&paletteram)/* palette */
+ AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_be_w) AM_BASE_GENERIC(paletteram)/* palette */
AM_RANGE(0x2000, 0x3fff) AM_RAM AM_SHARE(1) /* shared RAM with the 6809 */
AM_RANGE(0x4000, 0x5fff) AM_RAM /* RAM 6264L at K10 */
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK(2) /* banked ROM */
diff --git a/src/mame/drivers/albazg.c b/src/mame/drivers/albazg.c
index 65b2e5ef14b..76a8d4d99de 100644
--- a/src/mame/drivers/albazg.c
+++ b/src/mame/drivers/albazg.c
@@ -253,8 +253,8 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
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_MEMBER(albazg_state, cus_ram)
- AM_RANGE(0xb000, 0xb07f) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_split1_w) AM_BASE(&paletteram)
- AM_RANGE(0xb080, 0xb0ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_split2_w) AM_BASE(&paletteram_2)
+ AM_RANGE(0xb000, 0xb07f) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_split1_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xb080, 0xb0ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_split2_w) AM_BASE_GENERIC(paletteram2)
AM_RANGE(0xc000, 0xc3ff) AM_RAM_WRITE(yumefuda_vram_w) AM_BASE_MEMBER(albazg_state, videoram)
AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(yumefuda_cram_w) AM_BASE_MEMBER(albazg_state, colorram)
AM_RANGE(0xe000, 0xffff) AM_RAM
diff --git a/src/mame/drivers/aliens.c b/src/mame/drivers/aliens.c
index 8d3b91d594f..7e9b69a3570 100644
--- a/src/mame/drivers/aliens.c
+++ b/src/mame/drivers/aliens.c
@@ -37,7 +37,7 @@ static INTERRUPT_GEN( aliens_interrupt )
static READ8_HANDLER( bankedram_r )
{
if (palette_selected)
- return paletteram[offset];
+ return space->machine->generic.paletteram.u8[offset];
else
return ram[offset];
}
diff --git a/src/mame/drivers/alpha68k.c b/src/mame/drivers/alpha68k.c
index 0bb8f4a9bda..31e1f53fc87 100644
--- a/src/mame/drivers/alpha68k.c
+++ b/src/mame/drivers/alpha68k.c
@@ -711,8 +711,8 @@ static READ16_HANDLER( alpha_V_trigger_r )
static ADDRESS_MAP_START( kyros_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x01ffff) AM_ROM // main program
AM_RANGE(0x020000, 0x020fff) AM_RAM AM_BASE(&shared_ram) // work RAM
- AM_RANGE(0x040000, 0x041fff) AM_RAM AM_BASE(&spriteram16) // sprite RAM
- AM_RANGE(0x060000, 0x060001) AM_RAM AM_BASE(&videoram16) // MSB: watchdog, LSB: BGC
+ AM_RANGE(0x040000, 0x041fff) AM_RAM AM_BASE_GENERIC(spriteram) // sprite RAM
+ AM_RANGE(0x060000, 0x060001) AM_RAM AM_BASE_GENERIC(videoram) // MSB: watchdog, LSB: BGC
AM_RANGE(0x080000, 0x0801ff) AM_READWRITE(kyros_alpha_trigger_r, alpha_microcontroller_w)
AM_RANGE(0x0c0000, 0x0c0001) AM_READ_PORT("IN0")
AM_RANGE(0x0e0000, 0x0e0001) AM_READWRITE(kyros_dip_r, kyros_sound_w)
@@ -721,7 +721,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( alpha68k_I_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM // main program
AM_RANGE(0x080000, 0x083fff) AM_RAM // work RAM
- AM_RANGE(0x100000, 0x103fff) AM_RAM AM_BASE(&spriteram16) // video RAM
+ AM_RANGE(0x100000, 0x103fff) AM_RAM AM_BASE_GENERIC(spriteram) // video RAM
AM_RANGE(0x180000, 0x180001) AM_READ_PORT("IN3") AM_WRITENOP // LSB: DSW0, MSB: watchdog(?)
AM_RANGE(0x180008, 0x180009) AM_READ_PORT("IN4") // LSB: DSW1
AM_RANGE(0x300000, 0x300001) AM_READ_PORT("IN0") // joy1, joy2
@@ -741,10 +741,10 @@ static ADDRESS_MAP_START( alpha68k_II_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0d8000, 0x0d8001) AM_READNOP /* IRQ ack? */
AM_RANGE(0x0e0000, 0x0e0001) AM_READNOP /* IRQ ack? */
AM_RANGE(0x0e8000, 0x0e8001) AM_READNOP /* watchdog? */
- AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(alpha68k_videoram_w) AM_BASE(&videoram16)
- AM_RANGE(0x200000, 0x207fff) AM_RAM AM_BASE(&spriteram16)
+ AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(alpha68k_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x200000, 0x207fff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x300000, 0x3001ff) AM_READWRITE(alpha_II_trigger_r, alpha_microcontroller_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(alpha68k_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(alpha68k_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x800000, 0x83ffff) AM_ROMBANK(8)
ADDRESS_MAP_END
@@ -757,12 +757,12 @@ static ADDRESS_MAP_START( alpha68k_V_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0d8000, 0x0d8001) AM_READNOP /* IRQ ack? */
AM_RANGE(0x0e0000, 0x0e0001) AM_READNOP /* IRQ ack? */
AM_RANGE(0x0e8000, 0x0e8001) AM_READNOP /* watchdog? */
- AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(alpha68k_videoram_w) AM_BASE(&videoram16)
- AM_RANGE(0x200000, 0x207fff) AM_RAM AM_BASE(&spriteram16)
+ AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(alpha68k_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x200000, 0x207fff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x300000, 0x303fff) AM_READ(alpha_V_trigger_r)
AM_RANGE(0x300000, 0x3001ff) AM_WRITE(alpha_microcontroller_w)
AM_RANGE(0x303e00, 0x303fff) AM_WRITE(alpha_microcontroller_w) /* Gang Wars mirror */
- AM_RANGE(0x400000, 0x401fff) AM_RAM_WRITE(alpha68k_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x400000, 0x401fff) AM_RAM_WRITE(alpha68k_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x800000, 0x83ffff) AM_ROMBANK(8)
ADDRESS_MAP_END
@@ -771,7 +771,7 @@ static READ16_HANDLER(sound_cpu_r) { return 1; }
static ADDRESS_MAP_START( tnextspc_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x070000, 0x073fff) AM_RAM
- AM_RANGE(0x0a0000, 0x0a3fff) AM_RAM AM_BASE(&spriteram16)
+ AM_RANGE(0x0a0000, 0x0a3fff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x0d0000, 0x0d0001) AM_WRITENOP // unknown write port (0)
AM_RANGE(0x0e0000, 0x0e0001) AM_READ_PORT("P1")
AM_RANGE(0x0e0002, 0x0e0003) AM_READ_PORT("P2")
diff --git a/src/mame/drivers/amaticmg.c b/src/mame/drivers/amaticmg.c
index 5fa197df6ce..cdceef754dd 100644
--- a/src/mame/drivers/amaticmg.c
+++ b/src/mame/drivers/amaticmg.c
@@ -422,8 +422,8 @@ static ADDRESS_MAP_START( amaticmg_map, ADDRESS_SPACE_PROGRAM, 8 )
// AM_RANGE(0x0000, 0x0000) AM_RAM // AM_BASE_SIZE_GENERIC(nvram)
// AM_RANGE(0x0000, 0x0000) AM_DEVWRITE("crtc", mc6845_address_w)
// AM_RANGE(0x0000, 0x0000) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
-// AM_RANGE(0x0000, 0x0000) AM_RAM_WRITE(amaticmg_videoram_w) AM_BASE(&videoram)
-// AM_RANGE(0x0000, 0x0000) AM_RAM_WRITE(amaticmg_colorram_w) AM_BASE(&colorram)
+// AM_RANGE(0x0000, 0x0000) AM_RAM_WRITE(amaticmg_videoram_w) AM_BASE_GENERIC(videoram)
+// AM_RANGE(0x0000, 0x0000) AM_RAM_WRITE(amaticmg_colorram_w) AM_BASE_GENERIC(colorram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( amaticmg_portmap, ADDRESS_SPACE_IO, 8 )
diff --git a/src/mame/drivers/ambush.c b/src/mame/drivers/ambush.c
index 1a62cff40b4..91cf9043d3b 100644
--- a/src/mame/drivers/ambush.c
+++ b/src/mame/drivers/ambush.c
@@ -70,8 +70,8 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc080, 0xc09f) AM_BASE_MEMBER(ambush_state, scrollram)
AM_RANGE(0xc100, 0xc1ff) AM_BASE_MEMBER(ambush_state, colorram)
- AM_RANGE(0xc200, 0xc3ff) AM_BASE_MEMBER(ambush_state, spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0xc400, 0xc7ff) AM_BASE_MEMBER(ambush_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xc200, 0xc3ff) AM_BASE_MEMBER(ambush_state, spriteram) AM_SIZE_GENERIC(spriteram)
+ AM_RANGE(0xc400, 0xc7ff) AM_BASE_MEMBER(ambush_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0xc800, 0xc800) AM_READ_PORT("DSW1")
AM_RANGE(0xcc00, 0xcc03) AM_WRITENOP
AM_RANGE(0xcc04, 0xcc04) AM_WRITE(flip_screen_w)
diff --git a/src/mame/drivers/ampoker2.c b/src/mame/drivers/ampoker2.c
index 5c3b06b6a26..c1c9e38a6f8 100644
--- a/src/mame/drivers/ampoker2.c
+++ b/src/mame/drivers/ampoker2.c
@@ -584,7 +584,7 @@ static WRITE8_HANDLER( ampoker2_watchdog_reset_w )
static ADDRESS_MAP_START( ampoker2_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(ampoker2_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(ampoker2_videoram_w) AM_BASE_GENERIC(videoram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( ampoker2_io_map, ADDRESS_SPACE_IO, 8 )
diff --git a/src/mame/drivers/amspdwy.c b/src/mame/drivers/amspdwy.c
index 2f396aa93a9..15fd92a62e1 100644
--- a/src/mame/drivers/amspdwy.c
+++ b/src/mame/drivers/amspdwy.c
@@ -85,9 +85,9 @@ static WRITE8_HANDLER( amspdwy_sound_w )
static ADDRESS_MAP_START( amspdwy_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM // ROM
- AM_RANGE(0x8000, 0x801f) AM_WRITE(amspdwy_paletteram_w) AM_BASE(&paletteram)// Palette
- AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x0400) AM_RAM_WRITE(amspdwy_videoram_w) AM_BASE(&videoram) // Layer, mirrored?
- AM_RANGE(0x9800, 0x9bff) AM_RAM_WRITE(amspdwy_colorram_w) AM_BASE(&colorram) // Layer
+ AM_RANGE(0x8000, 0x801f) AM_WRITE(amspdwy_paletteram_w) AM_BASE_GENERIC(paletteram)// Palette
+ AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x0400) AM_RAM_WRITE(amspdwy_videoram_w) AM_BASE_GENERIC(videoram) // Layer, mirrored?
+ AM_RANGE(0x9800, 0x9bff) AM_RAM_WRITE(amspdwy_colorram_w) AM_BASE_GENERIC(colorram) // Layer
AM_RANGE(0x9c00, 0x9fff) AM_RAM // Unused?
// AM_RANGE(0xa000, 0xa000) AM_WRITENOP // ?
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("DSW1")
@@ -96,7 +96,7 @@ static ADDRESS_MAP_START( amspdwy_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xac00, 0xac00) AM_READ(amspdwy_wheel_1_r) // Player 2
AM_RANGE(0xb000, 0xb000) AM_WRITENOP // ? Exiting IRQ
AM_RANGE(0xb400, 0xb400) AM_DEVREAD("ymsnd", amspdwy_sound_r) AM_WRITE(amspdwy_sound_w) // YM2151 status, To Sound CPU
- AM_RANGE(0xc000, 0xc0ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)// Sprites
+ AM_RANGE(0xc000, 0xc0ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)// Sprites
AM_RANGE(0xe000, 0xe7ff) AM_RAM // Work RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/aquarium.c b/src/mame/drivers/aquarium.c
index 337aef502c5..3150baf6e3d 100644
--- a/src/mame/drivers/aquarium.c
+++ b/src/mame/drivers/aquarium.c
@@ -138,8 +138,8 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xc00000, 0xc00fff) AM_RAM_WRITE(aquarium_mid_videoram_w) AM_BASE_MEMBER(aquarium_state, mid_videoram)
AM_RANGE(0xc01000, 0xc01fff) AM_RAM_WRITE(aquarium_bak_videoram_w) AM_BASE_MEMBER(aquarium_state, bak_videoram)
AM_RANGE(0xc02000, 0xc03fff) AM_RAM_WRITE(aquarium_txt_videoram_w) AM_BASE_MEMBER(aquarium_state, txt_videoram)
- AM_RANGE(0xc80000, 0xc81fff) AM_RAM AM_BASE_MEMBER(aquarium_state, spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0xd00000, 0xd00fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xc80000, 0xc81fff) AM_RAM AM_BASE_MEMBER(aquarium_state, spriteram) AM_SIZE_GENERIC(spriteram)
+ AM_RANGE(0xd00000, 0xd00fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xd80014, 0xd8001f) AM_WRITEONLY AM_BASE_MEMBER(aquarium_state, 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 ea228bb988c..912e31e4cbc 100644
--- a/src/mame/drivers/arcadecl.c
+++ b/src/mame/drivers/arcadecl.c
@@ -145,7 +145,7 @@ static WRITE16_HANDLER( latch_w )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x200000, 0x21ffff) AM_RAM AM_BASE(&rampart_bitmap)
- AM_RANGE(0x3c0000, 0x3c07ff) AM_RAM_WRITE(atarigen_expanded_666_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x3c0000, 0x3c07ff) AM_RAM_WRITE(atarigen_expanded_666_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x3e0000, 0x3e07ff) AM_RAM_WRITE(atarimo_0_spriteram_w) AM_BASE(&atarimo_0_spriteram)
AM_RANGE(0x3e0800, 0x3effbf) AM_RAM
AM_RANGE(0x3effc0, 0x3effff) AM_RAM_WRITE(atarimo_0_slipram_w) AM_BASE(&atarimo_0_slipram)
diff --git a/src/mame/drivers/argus.c b/src/mame/drivers/argus.c
index 3383acc8b5e..9dc38dcb9ad 100644
--- a/src/mame/drivers/argus.c
+++ b/src/mame/drivers/argus.c
@@ -199,7 +199,7 @@ static ADDRESS_MAP_START( argus_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd000, 0xd7ff) AM_READWRITE(argus_txram_r, argus_txram_w) AM_BASE(&argus_txram)
AM_RANGE(0xd800, 0xdfff) AM_READWRITE(argus_bg1ram_r, argus_bg1ram_w) AM_BASE(&argus_bg1ram)
AM_RANGE(0xe000, 0xf1ff) AM_RAM
- AM_RANGE(0xf200, 0xf7ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xf200, 0xf7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
@@ -223,7 +223,7 @@ static ADDRESS_MAP_START( valtric_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd000, 0xd7ff) AM_READWRITE(argus_txram_r, argus_txram_w) AM_BASE(&argus_txram)
AM_RANGE(0xd800, 0xdfff) AM_READWRITE(argus_bg1ram_r, argus_bg1ram_w) AM_BASE(&argus_bg1ram)
AM_RANGE(0xe000, 0xf1ff) AM_RAM
- AM_RANGE(0xf200, 0xf7ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xf200, 0xf7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
@@ -250,7 +250,7 @@ static ADDRESS_MAP_START( butasan_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc800, 0xcfff) AM_READWRITE(argus_paletteram_r, butasan_paletteram_w) AM_BASE(&argus_paletteram)
AM_RANGE(0xd000, 0xdfff) AM_READWRITE(butasan_pagedram_r, butasan_pagedram_w)
AM_RANGE(0xe000, 0xefff) AM_RAM
- AM_RANGE(0xf000, 0xf67f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xf000, 0xf67f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xf680, 0xffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/arkanoid.c b/src/mame/drivers/arkanoid.c
index 1b930da142d..4dc44dab571 100644
--- a/src/mame/drivers/arkanoid.c
+++ b/src/mame/drivers/arkanoid.c
@@ -523,7 +523,7 @@ static ADDRESS_MAP_START( arkanoid_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd010, 0xd010) AM_READ_PORT("BUTTONS") AM_WRITE(watchdog_reset_w)
AM_RANGE(0xd018, 0xd018) AM_READWRITE(arkanoid_Z80_mcu_r, arkanoid_Z80_mcu_w) /* input from the 68705 */
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(arkanoid_videoram_w) AM_BASE_MEMBER(arkanoid_state, videoram)
- AM_RANGE(0xe800, 0xe83f) AM_RAM AM_BASE_MEMBER(arkanoid_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xe800, 0xe83f) AM_RAM AM_BASE_MEMBER(arkanoid_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xe840, 0xefff) AM_RAM
AM_RANGE(0xf000, 0xffff) AM_READNOP /* fixes instant death in final level */
ADDRESS_MAP_END
@@ -538,7 +538,7 @@ static ADDRESS_MAP_START( bootleg_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd010, 0xd010) AM_READ_PORT("BUTTONS") AM_WRITE(watchdog_reset_w)
AM_RANGE(0xd018, 0xd018) AM_READ_PORT("MUX") AM_WRITENOP
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(arkanoid_videoram_w) AM_BASE_MEMBER(arkanoid_state, videoram)
- AM_RANGE(0xe800, 0xe83f) AM_RAM AM_BASE_MEMBER(arkanoid_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xe800, 0xe83f) AM_RAM AM_BASE_MEMBER(arkanoid_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xe840, 0xefff) AM_RAM
AM_RANGE(0xf000, 0xffff) AM_READNOP /* fixes instant death in final level */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/armedf.c b/src/mame/drivers/armedf.c
index 2c2922dfd74..fe06cf95411 100644
--- a/src/mame/drivers/armedf.c
+++ b/src/mame/drivers/armedf.c
@@ -253,9 +253,9 @@ static WRITE16_HANDLER( legion_command_c )
static ADDRESS_MAP_START( terraf_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x04ffff) AM_ROM
- AM_RANGE(0x060000, 0x0603ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x060000, 0x0603ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x060400, 0x063fff) AM_RAM
- AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x068000, 0x069fff) AM_RAM_WRITE(armedf_text_videoram_w) AM_BASE_MEMBER(armedf_state, text_videoram)
AM_RANGE(0x06a000, 0x06a9ff) AM_RAM
AM_RANGE(0x06c000, 0x06c9ff) AM_RAM
@@ -279,9 +279,9 @@ ADDRESS_MAP_END
/* the same for now */
static ADDRESS_MAP_START( terrafb_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x04ffff) AM_ROM
- AM_RANGE(0x060000, 0x0603ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x060000, 0x0603ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x060400, 0x063fff) AM_RAM
- AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x068000, 0x069fff) AM_RAM_WRITE(armedf_text_videoram_w) AM_BASE_MEMBER(armedf_state, text_videoram)
AM_RANGE(0x06a000, 0x06a9ff) AM_RAM
AM_RANGE(0x06c000, 0x06c9ff) AM_RAM
@@ -304,9 +304,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( kodure_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x05ffff) AM_ROM
- AM_RANGE(0x060000, 0x060fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x060000, 0x060fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x061000, 0x063fff) AM_RAM
- AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x068000, 0x069fff) AM_RAM_WRITE(armedf_text_videoram_w) AM_BASE_MEMBER(armedf_state, text_videoram)
AM_RANGE(0x06a000, 0x06a9ff) AM_RAM
AM_RANGE(0x06c000, 0x06c9ff) AM_RAM
@@ -326,9 +326,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( cclimbr2_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x05ffff) AM_ROM
- AM_RANGE(0x060000, 0x060fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x060000, 0x060fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x061000, 0x063fff) AM_RAM
- AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x068000, 0x069fff) AM_RAM_WRITE(armedf_text_videoram_w) AM_BASE_MEMBER(armedf_state, text_videoram)
AM_RANGE(0x06a000, 0x06a9ff) AM_RAM
AM_RANGE(0x06c000, 0x06c9ff) AM_RAM
@@ -349,9 +349,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( legion_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x05ffff) AM_ROM
- AM_RANGE(0x060000, 0x060fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x060000, 0x060fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x061000, 0x063fff) AM_RAM
- AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x068000, 0x069fff) AM_RAM_WRITE(armedf_text_videoram_w) AM_BASE_MEMBER(armedf_state, text_videoram)
AM_RANGE(0x06a000, 0x06a9ff) AM_RAM
AM_RANGE(0x06c000, 0x06c9ff) AM_RAM
@@ -374,9 +374,9 @@ static ADDRESS_MAP_START( legiono_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x04003f) AM_WRITEONLY AM_BASE_MEMBER(armedf_state, legion_cmd)
AM_RANGE(0x040040, 0x05ffff) AM_ROM
- AM_RANGE(0x060000, 0x060fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x060000, 0x060fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x061000, 0x063fff) AM_RAM
- AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x064000, 0x064fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x068000, 0x069fff) AM_RAM_WRITE(armedf_text_videoram_w) AM_BASE_MEMBER(armedf_state, text_videoram)
AM_RANGE(0x06a000, 0x06a9ff) AM_RAM
AM_RANGE(0x06c000, 0x06c9ff) AM_RAM
@@ -397,12 +397,12 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( armedf_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x05ffff) AM_ROM
- AM_RANGE(0x060000, 0x060fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x060000, 0x060fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x061000, 0x065fff) AM_RAM
AM_RANGE(0x066000, 0x066fff) AM_RAM_WRITE(armedf_bg_videoram_w) AM_BASE_MEMBER(armedf_state, bg_videoram)
AM_RANGE(0x067000, 0x067fff) AM_RAM_WRITE(armedf_fg_videoram_w) AM_BASE_MEMBER(armedf_state, fg_videoram)
AM_RANGE(0x068000, 0x069fff) AM_RAM_WRITE(armedf_text_videoram_w) AM_BASE_MEMBER(armedf_state, text_videoram)
- AM_RANGE(0x06a000, 0x06afff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x06a000, 0x06afff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x06b000, 0x06bfff) AM_RAM
AM_RANGE(0x06c000, 0x06c001) AM_READ_PORT("P1")
AM_RANGE(0x06c002, 0x06c003) AM_READ_PORT("P2")
diff --git a/src/mame/drivers/ashnojoe.c b/src/mame/drivers/ashnojoe.c
index f1573557237..9c215694ff5 100644
--- a/src/mame/drivers/ashnojoe.c
+++ b/src/mame/drivers/ashnojoe.c
@@ -105,7 +105,7 @@ static ADDRESS_MAP_START( ashnojoe_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x046000, 0x046fff) AM_RAM_WRITE(ashnojoe_tileram6_w) AM_BASE_MEMBER(ashnojoe_state, tileram_6)
AM_RANGE(0x047000, 0x047fff) AM_RAM_WRITE(ashnojoe_tileram7_w) AM_BASE_MEMBER(ashnojoe_state, tileram_7)
AM_RANGE(0x048000, 0x048fff) AM_RAM_WRITE(ashnojoe_tileram_w) AM_BASE_MEMBER(ashnojoe_state, tileram)
- AM_RANGE(0x049000, 0x049fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x049000, 0x049fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(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 162932a1634..02ad9c4d1e1 100644
--- a/src/mame/drivers/asterix.c
+++ b/src/mame/drivers/asterix.c
@@ -182,7 +182,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x180000, 0x1807ff) AM_READWRITE(K053245_word_r, K053245_word_w)
AM_RANGE(0x180800, 0x180fff) AM_RAM // extra RAM, or mirror for the above?
AM_RANGE(0x200000, 0x20000f) AM_READWRITE(K053244_word_r, K053244_word_w)
- AM_RANGE(0x280000, 0x280fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x280000, 0x280fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x300000, 0x30001f) AM_READWRITE(K053244_lsb_r, K053244_lsb_w)
AM_RANGE(0x380000, 0x380001) AM_READ_PORT("IN0")
AM_RANGE(0x380002, 0x380003) AM_READ(control1_r)
diff --git a/src/mame/drivers/astinvad.c b/src/mame/drivers/astinvad.c
index b1fa7aba7aa..8063d327ef6 100644
--- a/src/mame/drivers/astinvad.c
+++ b/src/mame/drivers/astinvad.c
@@ -100,10 +100,10 @@ static const ppi8255_interface ppi8255_intf[2] =
static VIDEO_START( spaceint )
{
astinvad_state *state = (astinvad_state *)machine->driver_data;
- state->colorram = auto_alloc_array(machine, UINT8, videoram_size);
+ state->colorram = auto_alloc_array(machine, UINT8, machine->generic.videoram_size);
state_save_register_global(machine, state->color_latch);
- state_save_register_global_pointer(machine, state->colorram, videoram_size);
+ state_save_register_global_pointer(machine, state->colorram, machine->generic.videoram_size);
}
@@ -172,7 +172,7 @@ static VIDEO_UPDATE( spaceint )
const UINT8 *color_prom = memory_region(screen->machine, "proms");
int offs;
- for (offs = 0; offs < videoram_size; offs++)
+ for (offs = 0; offs < screen->machine->generic.videoram_size; offs++)
{
UINT8 data = state->videoram[offs];
UINT8 color = state->colorram[offs];
@@ -389,14 +389,14 @@ static ADDRESS_MAP_START( kamikaze_map, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x1bff) AM_ROM
AM_RANGE(0x1c00, 0x1fff) AM_RAM
- AM_RANGE(0x2000, 0x3fff) AM_RAM AM_BASE_MEMBER(astinvad_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x2000, 0x3fff) AM_RAM AM_BASE_MEMBER(astinvad_state, videoram) AM_SIZE_GENERIC(videoram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( spaceint_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
- AM_RANGE(0x4000, 0x5fff) AM_RAM_WRITE(spaceint_videoram_w) AM_BASE_MEMBER(astinvad_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x4000, 0x5fff) AM_RAM_WRITE(spaceint_videoram_w) AM_BASE_MEMBER(astinvad_state, videoram) AM_SIZE_GENERIC(videoram)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/astrocde.c b/src/mame/drivers/astrocde.c
index 3d2faedda67..66f3e048cb5 100644
--- a/src/mame/drivers/astrocde.c
+++ b/src/mame/drivers/astrocde.c
@@ -582,7 +582,7 @@ static WRITE8_HANDLER( tenpindx_lights_w )
static ADDRESS_MAP_START( seawolf2_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x0000, 0x3fff) AM_WRITE(astrocade_funcgen_w)
- AM_RANGE(0x4000, 0x7fff) AM_RAM AM_BASE(&videoram)
+ AM_RANGE(0x4000, 0x7fff) AM_RAM AM_BASE_GENERIC(videoram)
AM_RANGE(0xc000, 0xc3ff) AM_RAM
ADDRESS_MAP_END
@@ -590,14 +590,14 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( ebases_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x0000, 0x3fff) AM_WRITE(astrocade_funcgen_w)
- AM_RANGE(0x4000, 0x7fff) AM_RAM AM_BASE(&videoram)
+ AM_RANGE(0x4000, 0x7fff) AM_RAM AM_BASE_GENERIC(videoram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( spacezap_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x0000, 0x3fff) AM_WRITE(astrocade_funcgen_w)
- AM_RANGE(0x4000, 0x7fff) AM_RAM AM_BASE(&videoram)
+ AM_RANGE(0x4000, 0x7fff) AM_RAM AM_BASE_GENERIC(videoram)
AM_RANGE(0xd000, 0xd03f) AM_READWRITE(protected_ram_r, protected_ram_w) AM_BASE(&protected_ram)
AM_RANGE(0xd040, 0xd7ff) AM_RAM
ADDRESS_MAP_END
@@ -606,7 +606,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( wow_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x0000, 0x3fff) AM_WRITE(astrocade_funcgen_w)
- AM_RANGE(0x4000, 0x7fff) AM_RAM AM_BASE(&videoram)
+ AM_RANGE(0x4000, 0x7fff) AM_RAM AM_BASE_GENERIC(videoram)
AM_RANGE(0x8000, 0xcfff) AM_ROM
AM_RANGE(0xd000, 0xd03f) AM_READWRITE(protected_ram_r, protected_ram_w) AM_BASE(&protected_ram)
AM_RANGE(0xd040, 0xdfff) AM_RAM
@@ -616,7 +616,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( robby_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x0000, 0x3fff) AM_WRITE(astrocade_funcgen_w)
- AM_RANGE(0x4000, 0x7fff) AM_RAM AM_BASE(&videoram)
+ AM_RANGE(0x4000, 0x7fff) AM_RAM AM_BASE_GENERIC(videoram)
AM_RANGE(0x8000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xe1ff) AM_READWRITE(protected_ram_r, protected_ram_w) AM_BASE(&protected_ram)
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
diff --git a/src/mame/drivers/astrocorp.c b/src/mame/drivers/astrocorp.c
index 9d2e0b883c0..4003b1031b2 100644
--- a/src/mame/drivers/astrocorp.c
+++ b/src/mame/drivers/astrocorp.c
@@ -50,7 +50,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap,const recta
{
astrocrp_state *state = (astrocrp_state *)machine->driver_data;
UINT16 *source = state->spriteram16;
- UINT16 *finish = state->spriteram16 + spriteram_size / 2;
+ UINT16 *finish = state->spriteram16 + machine->generic.spriteram_size / 2;
for ( ; source < finish; source += 8 / 2 )
{
@@ -172,7 +172,7 @@ static WRITE16_HANDLER( astrocorp_palette_w )
static ADDRESS_MAP_START( showhand_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE( 0x000000, 0x01ffff ) AM_ROM
- AM_RANGE( 0x050000, 0x050fff ) AM_RAM AM_BASE_MEMBER(astrocrp_state, spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE( 0x050000, 0x050fff ) AM_RAM AM_BASE_MEMBER(astrocrp_state, spriteram16) AM_SIZE_GENERIC(spriteram)
AM_RANGE( 0x052000, 0x052001 ) AM_WRITENOP
AM_RANGE( 0x054000, 0x054001 ) AM_READ_PORT("INPUTS")
AM_RANGE( 0x058000, 0x058001 ) AM_WRITE(astrocorp_eeprom_w)
@@ -189,7 +189,7 @@ static ADDRESS_MAP_START( showhanc_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE( 0x000000, 0x01ffff ) AM_ROM
AM_RANGE( 0x060000, 0x0601ff ) AM_RAM_WRITE(astrocorp_palette_w) AM_BASE_MEMBER(astrocrp_state, paletteram16)
AM_RANGE( 0x070000, 0x070001 ) AM_DEVWRITE("oki", astrocorp_sound_bank_w)
- AM_RANGE( 0x080000, 0x080fff ) AM_RAM AM_BASE_MEMBER(astrocrp_state, spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE( 0x080000, 0x080fff ) AM_RAM AM_BASE_MEMBER(astrocrp_state, spriteram16) AM_SIZE_GENERIC(spriteram)
AM_RANGE( 0x082000, 0x082001 ) AM_WRITENOP
AM_RANGE( 0x084000, 0x084001 ) AM_READ_PORT("INPUTS")
AM_RANGE( 0x088000, 0x088001 ) AM_WRITE(astrocorp_eeprom_w)
diff --git a/src/mame/drivers/atarifb.c b/src/mame/drivers/atarifb.c
index ed9f1e495d1..f9bb3ed824a 100644
--- a/src/mame/drivers/atarifb.c
+++ b/src/mame/drivers/atarifb.c
@@ -154,7 +154,7 @@ static ADDRESS_MAP_START( atarifb_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0260, 0x039f) AM_RAM
AM_RANGE(0x03a0, 0x03ff) AM_RAM_WRITE(atarifb_alpha2_videoram_w) AM_BASE_MEMBER(atarifb_state, alphap2_videoram)
AM_RANGE(0x1000, 0x13bf) AM_RAM_WRITE(atarifb_field_videoram_w) AM_BASE_MEMBER(atarifb_state, field_videoram)
- AM_RANGE(0x13c0, 0x13ff) AM_RAM AM_BASE_MEMBER(atarifb_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x13c0, 0x13ff) AM_RAM AM_BASE_MEMBER(atarifb_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0x2000, 0x2000) AM_WRITEONLY AM_BASE_MEMBER(atarifb_state, scroll_register) /* OUT 0 */
AM_RANGE(0x2001, 0x2001) AM_WRITE(atarifb_out1_w) /* OUT 1 */
AM_RANGE(0x2002, 0x2002) AM_WRITE(atarifb_out2_w) /* OUT 2 */
@@ -174,7 +174,7 @@ static ADDRESS_MAP_START( atarifb4_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0260, 0x039f) AM_RAM
AM_RANGE(0x03a0, 0x03ff) AM_RAM_WRITE(atarifb_alpha2_videoram_w) AM_BASE_MEMBER(atarifb_state, alphap2_videoram)
AM_RANGE(0x1000, 0x13bf) AM_RAM_WRITE(atarifb_field_videoram_w) AM_BASE_MEMBER(atarifb_state, field_videoram)
- AM_RANGE(0x13c0, 0x13ff) AM_RAM AM_BASE_MEMBER(atarifb_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x13c0, 0x13ff) AM_RAM AM_BASE_MEMBER(atarifb_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0x2000, 0x2000) AM_WRITEONLY AM_BASE_MEMBER(atarifb_state, scroll_register) /* OUT 0 */
AM_RANGE(0x2001, 0x2001) AM_WRITE(atarifb4_out1_w) /* OUT 1 */
AM_RANGE(0x2002, 0x2002) AM_WRITE(atarifb_out2_w) /* OUT 2 */
@@ -195,7 +195,7 @@ static ADDRESS_MAP_START( abaseb_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0260, 0x039f) AM_RAM
AM_RANGE(0x03a0, 0x03ff) AM_RAM_WRITE(atarifb_alpha2_videoram_w) AM_BASE_MEMBER(atarifb_state, alphap2_videoram)
AM_RANGE(0x1000, 0x13bf) AM_RAM_WRITE(atarifb_field_videoram_w) AM_BASE_MEMBER(atarifb_state, field_videoram)
- AM_RANGE(0x13c0, 0x13ff) AM_RAM AM_BASE_MEMBER(atarifb_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x13c0, 0x13ff) AM_RAM AM_BASE_MEMBER(atarifb_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0x2000, 0x2000) AM_WRITEONLY AM_BASE_MEMBER(atarifb_state, scroll_register) /* OUT 0 */
AM_RANGE(0x2001, 0x2001) AM_WRITE(abaseb_out1_w) /* OUT 1 */
AM_RANGE(0x2002, 0x2002) AM_WRITE(atarifb_out2_w) /* OUT 2 */
@@ -215,7 +215,7 @@ static ADDRESS_MAP_START( soccer_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0260, 0x039f) AM_RAM
AM_RANGE(0x03a0, 0x03ff) AM_RAM_WRITE(atarifb_alpha2_videoram_w) AM_BASE_MEMBER(atarifb_state, alphap2_videoram)
AM_RANGE(0x0800, 0x0bbf) AM_RAM_WRITE(atarifb_field_videoram_w) AM_BASE_MEMBER(atarifb_state, field_videoram)
- AM_RANGE(0x0bc0, 0x0bff) AM_RAM AM_BASE_MEMBER(atarifb_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x0bc0, 0x0bff) AM_RAM AM_BASE_MEMBER(atarifb_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0x1000, 0x1000) AM_WRITEONLY AM_BASE_MEMBER(atarifb_state, scroll_register) /* OUT 0 */
AM_RANGE(0x1001, 0x1001) AM_WRITE(soccer_out1_w) /* OUT 1 */
AM_RANGE(0x1002, 0x1002) AM_WRITE(soccer_out2_w) /* OUT 2 */
diff --git a/src/mame/drivers/atarig1.c b/src/mame/drivers/atarig1.c
index 80ea4e5e2e4..f502e7bbf4c 100644
--- a/src/mame/drivers/atarig1.c
+++ b/src/mame/drivers/atarig1.c
@@ -227,7 +227,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xfd0000, 0xfd0001) AM_READ(atarigen_sound_upper_r)
AM_RANGE(0xfd8000, 0xfdffff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE(&atarigen_eeprom) AM_SIZE(&atarigen_eeprom_size)
/* AM_RANGE(0xfe0000, 0xfe7fff) AM_READ(from_r)*/
- AM_RANGE(0xfe8000, 0xfe89ff) AM_RAM_WRITE(atarigen_666_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xfe8000, 0xfe89ff) AM_RAM_WRITE(atarigen_666_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xff0000, 0xff0fff) AM_WRITE(atarirle_0_spriteram_w) AM_BASE(&atarirle_0_spriteram)
AM_RANGE(0xff2000, 0xff2001) AM_WRITE(mo_command_w) AM_BASE(&mo_command)
AM_RANGE(0xff4000, 0xff5fff) AM_WRITE(atarigen_playfield_w) AM_BASE(&atarigen_playfield)
diff --git a/src/mame/drivers/atarig42.c b/src/mame/drivers/atarig42.c
index 4d02c5eb319..5886295e219 100644
--- a/src/mame/drivers/atarig42.c
+++ b/src/mame/drivers/atarig42.c
@@ -358,7 +358,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xf60000, 0xf60001) AM_READ(asic65_r)
AM_RANGE(0xf80000, 0xf80003) AM_WRITE(asic65_data_w)
AM_RANGE(0xfa0000, 0xfa0fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE(&atarigen_eeprom) AM_SIZE(&atarigen_eeprom_size)
- AM_RANGE(0xfc0000, 0xfc0fff) AM_RAM_WRITE(atarigen_666_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xfc0000, 0xfc0fff) AM_RAM_WRITE(atarigen_666_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xff0000, 0xff0fff) AM_WRITE(atarirle_0_spriteram_w) AM_BASE(&atarirle_0_spriteram)
AM_RANGE(0xff2000, 0xff5fff) AM_WRITE(atarigen_playfield_w) AM_BASE(&atarigen_playfield)
AM_RANGE(0xff6000, 0xff6fff) AM_WRITE(atarigen_alpha_w) AM_BASE(&atarigen_alpha)
diff --git a/src/mame/drivers/atarigx2.c b/src/mame/drivers/atarigx2.c
index 6be48602f5e..da66250d19f 100644
--- a/src/mame/drivers/atarigx2.c
+++ b/src/mame/drivers/atarigx2.c
@@ -1166,7 +1166,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0xca0000, 0xca0fff) AM_READWRITE(atarigx2_protection_r, atarigx2_protection_w) AM_BASE(&protection_base)
AM_RANGE(0xd00000, 0xd1ffff) AM_READ(a2d_data_r)
AM_RANGE(0xd20000, 0xd20fff) AM_READWRITE(atarigen_eeprom_upper32_r, atarigen_eeprom32_w) AM_BASE((UINT32 **)&atarigen_eeprom) AM_SIZE(&atarigen_eeprom_size)
- AM_RANGE(0xd40000, 0xd40fff) AM_RAM_WRITE(atarigen_666_paletteram32_w) AM_BASE(&paletteram32)
+ AM_RANGE(0xd40000, 0xd40fff) AM_RAM_WRITE(atarigen_666_paletteram32_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xd72000, 0xd75fff) AM_WRITE(atarigen_playfield32_w) AM_BASE(&atarigen_playfield32)
AM_RANGE(0xd76000, 0xd76fff) AM_WRITE(atarigen_alpha32_w) AM_BASE(&atarigen_alpha32)
AM_RANGE(0xd78000, 0xd78fff) AM_WRITE(atarirle_0_spriteram32_w) AM_BASE(&atarirle_0_spriteram32)
diff --git a/src/mame/drivers/atarisy1.c b/src/mame/drivers/atarisy1.c
index e297ec0c2df..e7fd8aa90da 100644
--- a/src/mame/drivers/atarisy1.c
+++ b/src/mame/drivers/atarisy1.c
@@ -473,7 +473,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xa00000, 0xa01fff) AM_RAM_WRITE(atarigen_playfield_w) AM_BASE(&atarigen_playfield)
AM_RANGE(0xa02000, 0xa02fff) AM_RAM_WRITE(atarisy1_spriteram_w) AM_BASE(&atarimo_0_spriteram)
AM_RANGE(0xa03000, 0xa03fff) AM_RAM_WRITE(atarigen_alpha_w) AM_BASE(&atarigen_alpha)
- AM_RANGE(0xb00000, 0xb007ff) AM_RAM_WRITE(paletteram16_IIIIRRRRGGGGBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xb00000, 0xb007ff) AM_RAM_WRITE(paletteram16_IIIIRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xf00000, 0xf00fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE(&atarigen_eeprom) AM_SIZE(&atarigen_eeprom_size)
AM_RANGE(0xf20000, 0xf20007) AM_READ(trakball_r)
AM_RANGE(0xf40000, 0xf4001f) AM_READWRITE(joystick_r, joystick_w)
diff --git a/src/mame/drivers/atarisy2.c b/src/mame/drivers/atarisy2.c
index f8ffa54a063..9f0facbab8e 100644
--- a/src/mame/drivers/atarisy2.c
+++ b/src/mame/drivers/atarisy2.c
@@ -719,7 +719,7 @@ static WRITE8_HANDLER( coincount_w )
/* full memory map derived from schematics */
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0000, 0x0fff) AM_RAM
- AM_RANGE(0x1000, 0x11ff) AM_MIRROR(0x0200) AM_RAM_WRITE(atarisy2_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x1000, 0x11ff) AM_MIRROR(0x0200) AM_RAM_WRITE(atarisy2_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x1400, 0x1403) AM_MIRROR(0x007c) AM_READWRITE(adc_r, bankselect_w) AM_BASE(&bankselect)
AM_RANGE(0x1480, 0x1487) AM_MIRROR(0x0078) AM_WRITE(adc_strobe_w)
AM_RANGE(0x1580, 0x1581) AM_MIRROR(0x001e) AM_WRITE(int0_ack_w)
diff --git a/src/mame/drivers/ataxx.c b/src/mame/drivers/ataxx.c
index 27e5889b0a5..618d94f074c 100644
--- a/src/mame/drivers/ataxx.c
+++ b/src/mame/drivers/ataxx.c
@@ -50,7 +50,7 @@ static ADDRESS_MAP_START( master_map_program, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xa000, 0xdfff) AM_ROMBANK(2)
AM_RANGE(0xa000, 0xdfff) AM_WRITE(ataxx_battery_ram_w)
AM_RANGE(0xe000, 0xf7ff) AM_RAM
- AM_RANGE(0xf800, 0xffff) AM_READWRITE(ataxx_paletteram_and_misc_r, ataxx_paletteram_and_misc_w) AM_BASE(&paletteram)
+ AM_RANGE(0xf800, 0xffff) AM_READWRITE(ataxx_paletteram_and_misc_r, ataxx_paletteram_and_misc_w) AM_BASE_GENERIC(paletteram)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/atetris.c b/src/mame/drivers/atetris.c
index 4c8bcbc75ab..66b1ba2aad3 100644
--- a/src/mame/drivers/atetris.c
+++ b/src/mame/drivers/atetris.c
@@ -185,7 +185,7 @@ static WRITE8_HANDLER( coincount_w )
static WRITE8_HANDLER( nvram_w )
{
if (nvram_write_enable)
- space->machine->generic.nvram.ptr.u8[offset] = data;
+ space->machine->generic.nvram.u8[offset] = data;
nvram_write_enable = 0;
}
@@ -206,8 +206,8 @@ static WRITE8_HANDLER( nvram_enable_w )
/* full address map derived from schematics */
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_RAM
- AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(atetris_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x2000, 0x20ff) AM_MIRROR(0x0300) AM_RAM_WRITE(paletteram_RRRGGGBB_w) AM_BASE(&paletteram)
+ AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(atetris_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x2000, 0x20ff) AM_MIRROR(0x0300) AM_RAM_WRITE(paletteram_RRRGGGBB_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x2400, 0x25ff) AM_MIRROR(0x0200) AM_RAM_WRITE(nvram_w) AM_BASE_SIZE_GENERIC(nvram)
AM_RANGE(0x2800, 0x280f) AM_MIRROR(0x03e0) AM_DEVREADWRITE("pokey1", pokey_r, pokey_w)
AM_RANGE(0x2810, 0x281f) AM_MIRROR(0x03e0) AM_DEVREADWRITE("pokey2", pokey_r, pokey_w)
@@ -223,8 +223,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( atetrsb2_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_RAM
- AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(atetris_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x2000, 0x20ff) AM_RAM_WRITE(paletteram_RRRGGGBB_w) AM_BASE(&paletteram)
+ AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(atetris_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x2000, 0x20ff) AM_RAM_WRITE(paletteram_RRRGGGBB_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x2400, 0x25ff) AM_RAM_WRITE(nvram_w) AM_BASE_SIZE_GENERIC(nvram)
AM_RANGE(0x2802, 0x2802) AM_DEVWRITE("sn1", sn76496_w)
AM_RANGE(0x2804, 0x2804) AM_DEVWRITE("sn2", sn76496_w)
diff --git a/src/mame/drivers/avalnche.c b/src/mame/drivers/avalnche.c
index f3069766d79..0bf024ef997 100644
--- a/src/mame/drivers/avalnche.c
+++ b/src/mame/drivers/avalnche.c
@@ -63,7 +63,7 @@ static VIDEO_UPDATE( avalnche )
avalnche_state *state = (avalnche_state *)screen->machine->driver_data;
offs_t offs;
- for (offs = 0; offs < videoram_size; offs++)
+ for (offs = 0; offs < screen->machine->generic.videoram_size; offs++)
{
int i;
@@ -132,7 +132,7 @@ static WRITE8_HANDLER( avalance_start_lamp_w )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
- AM_RANGE(0x0000, 0x1fff) AM_RAM AM_BASE_MEMBER(avalnche_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x0000, 0x1fff) AM_RAM AM_BASE_MEMBER(avalnche_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x2000, 0x2000) AM_MIRROR(0x0ffc) AM_READ_PORT("IN0")
AM_RANGE(0x2001, 0x2001) AM_MIRROR(0x0ffc) AM_READ_PORT("IN1")
AM_RANGE(0x2002, 0x2002) AM_MIRROR(0x0ffc) AM_READ_PORT("PADDLE")
diff --git a/src/mame/drivers/aztarac.c b/src/mame/drivers/aztarac.c
index 4a687ba313e..9b86aba290c 100644
--- a/src/mame/drivers/aztarac.c
+++ b/src/mame/drivers/aztarac.c
@@ -49,7 +49,7 @@ static MACHINE_RESET( aztarac )
static READ16_HANDLER( nvram_r )
{
- return space->machine->generic.nvram.ptr.u16[offset] | 0xfff0;
+ return space->machine->generic.nvram.u16[offset] | 0xfff0;
}
diff --git a/src/mame/drivers/backfire.c b/src/mame/drivers/backfire.c
index e8ad1c307ff..5d83c2a23f1 100644
--- a/src/mame/drivers/backfire.c
+++ b/src/mame/drivers/backfire.c
@@ -261,8 +261,8 @@ static WRITE32_HANDLER(backfire_eeprom_w)
static WRITE32_HANDLER(wcvol95_nonbuffered_palette_w)
{
- COMBINE_DATA(&paletteram32[offset]);
- palette_set_color_rgb(space->machine,offset,pal5bit(paletteram32[offset] >> 0),pal5bit(paletteram32[offset] >> 5),pal5bit(paletteram32[offset] >> 10));
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
+ palette_set_color_rgb(space->machine,offset,pal5bit(space->machine->generic.paletteram.u32[offset] >> 0),pal5bit(space->machine->generic.paletteram.u32[offset] >> 5),pal5bit(space->machine->generic.paletteram.u32[offset] >> 10));
}
/* map 32-bit writes to 16-bit */
@@ -318,7 +318,7 @@ static ADDRESS_MAP_START( backfire_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x144000, 0x145fff) AM_READWRITE( backfire_pf4_data_r, backfire_pf4_data_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(wcvol95_nonbuffered_palette_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x160000, 0x161fff) AM_WRITE(wcvol95_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x170000, 0x177fff) AM_RAM AM_BASE( &backfire_mainram )// main ram
// AM_RANGE(0x180010, 0x180013) AM_RAM AM_BASE(&backfire_180010) // always 180010 ?
diff --git a/src/mame/drivers/badlands.c b/src/mame/drivers/badlands.c
index 49748385094..1101c3e67db 100644
--- a/src/mame/drivers/badlands.c
+++ b/src/mame/drivers/badlands.c
@@ -390,7 +390,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xfea000, 0xfebfff) AM_READ(atarigen_sound_upper_r)
AM_RANGE(0xfec000, 0xfedfff) AM_WRITE(badlands_pf_bank_w)
AM_RANGE(0xfee000, 0xfeffff) AM_WRITE(atarigen_eeprom_enable_w)
- AM_RANGE(0xffc000, 0xffc3ff) AM_RAM_WRITE(atarigen_expanded_666_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xffc000, 0xffc3ff) AM_RAM_WRITE(atarigen_expanded_666_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(atarigen_playfield_w) AM_BASE(&atarigen_playfield)
AM_RANGE(0xfff000, 0xfff1ff) AM_RAM_WRITE(atarimo_0_spriteram_expanded_w) AM_BASE(&atarimo_0_spriteram)
AM_RANGE(0xfff200, 0xffffff) AM_RAM
@@ -651,7 +651,7 @@ static ADDRESS_MAP_START( bootleg_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xfec000, 0xfedfff) AM_WRITE(badlands_pf_bank_w)
AM_RANGE(0xfee000, 0xfeffff) AM_WRITE(atarigen_eeprom_enable_w)
- AM_RANGE(0xffc000, 0xffc3ff) AM_RAM_WRITE(atarigen_expanded_666_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xffc000, 0xffc3ff) AM_RAM_WRITE(atarigen_expanded_666_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(atarigen_playfield_w) AM_BASE(&atarigen_playfield)
AM_RANGE(0xfff000, 0xfff1ff) AM_RAM_WRITE(atarimo_0_spriteram_expanded_w) AM_BASE(&atarimo_0_spriteram)
AM_RANGE(0xfff200, 0xffffff) AM_RAM
diff --git a/src/mame/drivers/bagman.c b/src/mame/drivers/bagman.c
index 32c67618d8b..9805bcd5f3c 100644
--- a/src/mame/drivers/bagman.c
+++ b/src/mame/drivers/bagman.c
@@ -172,8 +172,8 @@ static WRITE8_HANDLER( bagman_coin_counter_w )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM
- AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(bagman_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x9800, 0x9bff) AM_RAM_WRITE(bagman_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(bagman_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x9800, 0x9bff) AM_RAM_WRITE(bagman_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x9c00, 0x9fff) AM_WRITENOP /* written to, but unused */
AM_RANGE(0xa000, 0xa000) AM_READ(bagman_pal16r6_r)
//AM_RANGE(0xa800, 0xa805) AM_READ(bagman_ls259_r) /*just for debugging purposes*/
@@ -181,7 +181,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xa001, 0xa002) AM_WRITE(bagman_flipscreen_w)
AM_RANGE(0xa003, 0xa003) AM_WRITEONLY AM_BASE(&bagman_video_enable)
AM_RANGE(0xc000, 0xffff) AM_ROM /* Super Bagman only */
- AM_RANGE(0x9800, 0x981f) AM_WRITEONLY AM_BASE(&spriteram) AM_SIZE(&spriteram_size) /* hidden portion of color RAM */
+ AM_RANGE(0x9800, 0x981f) AM_WRITEONLY AM_BASE_SIZE_GENERIC(spriteram) /* hidden portion of color RAM */
/* here only to initialize the pointer, */
/* writes are handled by bagman_colorram_w */
AM_RANGE(0xa800, 0xa805) AM_WRITE(bagman_ls259_w) /* TMS5110 driving state machine */
@@ -201,9 +201,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( pickin_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x7000, 0x77ff) AM_RAM
- AM_RANGE(0x8800, 0x8bff) AM_RAM_WRITE(bagman_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x9800, 0x9bff) AM_RAM_WRITE(bagman_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0x9800, 0x981f) AM_WRITEONLY AM_BASE(&spriteram) AM_SIZE(&spriteram_size) /* hidden portion of color RAM */
+ AM_RANGE(0x8800, 0x8bff) AM_RAM_WRITE(bagman_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x9800, 0x9bff) AM_RAM_WRITE(bagman_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x9800, 0x981f) AM_WRITEONLY AM_BASE_SIZE_GENERIC(spriteram) /* hidden portion of color RAM */
/* here only to initialize the pointer, */
/* writes are handled by bagman_colorram_w */
AM_RANGE(0x9c00, 0x9fff) AM_WRITENOP /* written to, but unused */
diff --git a/src/mame/drivers/balsente.c b/src/mame/drivers/balsente.c
index 679a705981f..b697f1d3c58 100644
--- a/src/mame/drivers/balsente.c
+++ b/src/mame/drivers/balsente.c
@@ -242,9 +242,9 @@ DIP locations verified for:
*************************************/
static ADDRESS_MAP_START( cpu1_map, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE(&spriteram)
- AM_RANGE(0x0800, 0x7fff) AM_RAM_WRITE(balsente_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x8000, 0x8fff) AM_RAM_WRITE(balsente_paletteram_w) AM_BASE(&paletteram)
+ AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_GENERIC(spriteram)
+ AM_RANGE(0x0800, 0x7fff) AM_RAM_WRITE(balsente_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x8000, 0x8fff) AM_RAM_WRITE(balsente_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x9000, 0x9007) AM_WRITE(balsente_adc_select_w)
AM_RANGE(0x9400, 0x9401) AM_READ(balsente_adc_data_r)
AM_RANGE(0x9800, 0x987f) AM_WRITE(balsente_misc_output_w)
diff --git a/src/mame/drivers/batman.c b/src/mame/drivers/batman.c
index c6078f5e328..2e6bd16f4d5 100644
--- a/src/mame/drivers/batman.c
+++ b/src/mame/drivers/batman.c
@@ -141,7 +141,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x260050, 0x260051) AM_MIRROR(0x11ff8e) AM_WRITE(latch_w)
AM_RANGE(0x260060, 0x260061) AM_MIRROR(0x11ff8e) AM_WRITE(atarigen_eeprom_enable_w)
AM_RANGE(0x2a0000, 0x2a0001) AM_MIRROR(0x11fffe) AM_WRITE(watchdog_reset16_w)
- AM_RANGE(0x3e0000, 0x3e0fff) AM_MIRROR(0x100000) AM_RAM_WRITE(atarigen_666_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x3e0000, 0x3e0fff) AM_MIRROR(0x100000) AM_RAM_WRITE(atarigen_666_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x3effc0, 0x3effff) AM_MIRROR(0x100000) AM_READWRITE(batman_atarivc_r, batman_atarivc_w) AM_BASE(&atarivc_data)
AM_RANGE(0x3f0000, 0x3f1fff) AM_MIRROR(0x100000) AM_WRITE(atarigen_playfield2_latched_msb_w) AM_BASE(&atarigen_playfield2)
AM_RANGE(0x3f2000, 0x3f3fff) AM_MIRROR(0x100000) AM_WRITE(atarigen_playfield_latched_lsb_w) AM_BASE(&atarigen_playfield)
diff --git a/src/mame/drivers/battlera.c b/src/mame/drivers/battlera.c
index f44dda146fb..a9c141ab70a 100644
--- a/src/mame/drivers/battlera.c
+++ b/src/mame/drivers/battlera.c
@@ -80,7 +80,7 @@ static ADDRESS_MAP_START( battlera_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_READWRITE(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(battlera_palette_w) AM_BASE(&paletteram)
+ AM_RANGE(0x1e1000, 0x1e13ff) AM_WRITE(battlera_palette_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK(8) /* Main ram */
AM_RANGE(0x1fe000, 0x1fe001) AM_READWRITE(HuC6270_register_r, HuC6270_register_w)
AM_RANGE(0x1fe002, 0x1fe003) AM_WRITE(HuC6270_data_w)
diff --git a/src/mame/drivers/battlnts.c b/src/mame/drivers/battlnts.c
index 6c0a6ec230f..5797571f62d 100644
--- a/src/mame/drivers/battlnts.c
+++ b/src/mame/drivers/battlnts.c
@@ -53,7 +53,7 @@ static ADDRESS_MAP_START( battlnts_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_READWRITE(K007342_r, K007342_w) /* Color RAM + Video RAM */
AM_RANGE(0x2000, 0x21ff) AM_READWRITE(K007420_r, K007420_w) /* Sprite RAM */
AM_RANGE(0x2200, 0x23ff) AM_READWRITE(K007342_scroll_r, K007342_scroll_w) /* Scroll RAM */
- AM_RANGE(0x2400, 0x24ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_be_w) AM_BASE(&paletteram)/* palette */
+ AM_RANGE(0x2400, 0x24ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_be_w) AM_BASE_GENERIC(paletteram)/* palette */
AM_RANGE(0x2600, 0x2607) AM_WRITE(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 10621e5c782..fd8fe7c595e 100644
--- a/src/mame/drivers/bbusters.c
+++ b/src/mame/drivers/bbusters.c
@@ -324,17 +324,17 @@ static READ16_HANDLER( mechatt_gun_r )
static ADDRESS_MAP_START( bbusters_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x08ffff) AM_RAM AM_BASE(&bbusters_ram)
- AM_RANGE(0x090000, 0x090fff) AM_RAM_WRITE(bbusters_video_w) AM_BASE(&videoram16)
- AM_RANGE(0x0a0000, 0x0a0fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x090000, 0x090fff) AM_RAM_WRITE(bbusters_video_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x0a0000, 0x0a0fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x0a1000, 0x0a7fff) AM_RAM /* service mode */
- AM_RANGE(0x0a8000, 0x0a8fff) AM_RAM AM_BASE(&spriteram16_2) AM_SIZE(&spriteram_2_size)
+ AM_RANGE(0x0a8000, 0x0a8fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram2)
AM_RANGE(0x0a9000, 0x0affff) AM_RAM /* service mode */
AM_RANGE(0x0b0000, 0x0b1fff) AM_RAM_WRITE(bbusters_pf1_w) AM_BASE(&bbusters_pf1_data)
AM_RANGE(0x0b2000, 0x0b3fff) AM_RAM_WRITE(bbusters_pf2_w) AM_BASE(&bbusters_pf2_data)
AM_RANGE(0x0b4000, 0x0b5fff) AM_RAM /* service mode */
AM_RANGE(0x0b8000, 0x0b8003) AM_WRITEONLY AM_BASE(&bbusters_pf1_scroll_data)
AM_RANGE(0x0b8008, 0x0b800b) AM_WRITEONLY AM_BASE(&bbusters_pf2_scroll_data)
- AM_RANGE(0x0d0000, 0x0d0fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0d0000, 0x0d0fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(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 */
@@ -353,14 +353,14 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( mechatt_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x06ffff) AM_ROM
AM_RANGE(0x070000, 0x07ffff) AM_RAM AM_BASE(&bbusters_ram)
- AM_RANGE(0x090000, 0x090fff) AM_RAM_WRITE(bbusters_video_w) AM_BASE(&videoram16)
- AM_RANGE(0x0a0000, 0x0a0fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x090000, 0x090fff) AM_RAM_WRITE(bbusters_video_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x0a0000, 0x0a0fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x0a1000, 0x0a7fff) AM_WRITENOP
AM_RANGE(0x0b0000, 0x0b3fff) AM_RAM_WRITE(bbusters_pf1_w) AM_BASE(&bbusters_pf1_data)
AM_RANGE(0x0b8000, 0x0b8003) AM_WRITEONLY AM_BASE(&bbusters_pf1_scroll_data)
AM_RANGE(0x0c0000, 0x0c3fff) AM_RAM_WRITE(bbusters_pf2_w) AM_BASE(&bbusters_pf2_data)
AM_RANGE(0x0c8000, 0x0c8003) AM_WRITEONLY AM_BASE(&bbusters_pf2_scroll_data)
- AM_RANGE(0x0d0000, 0x0d07ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0d0000, 0x0d07ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(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/beathead.c b/src/mame/drivers/beathead.c
index 80bf9aff3cf..3afb2988163 100644
--- a/src/mame/drivers/beathead.c
+++ b/src/mame/drivers/beathead.c
@@ -248,7 +248,7 @@ static WRITE32_HANDLER( eeprom_data_w )
if (eeprom_enabled)
{
mem_mask &= 0x000000ff;
- COMBINE_DATA(space->machine->generic.nvram.ptr.u32 + offset);
+ COMBINE_DATA(space->machine->generic.nvram.u32 + offset);
eeprom_enabled = 0;
}
}
@@ -340,12 +340,12 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x41000500, 0x41000503) AM_WRITE(eeprom_enable_w)
AM_RANGE(0x41000600, 0x41000603) AM_WRITE(beathead_finescroll_w)
AM_RANGE(0x41000700, 0x41000703) AM_WRITE(watchdog_reset32_w)
- AM_RANGE(0x42000000, 0x4201ffff) AM_RAM_WRITE(beathead_palette_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x42000000, 0x4201ffff) AM_RAM_WRITE(beathead_palette_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x43000000, 0x43000007) AM_READWRITE(beathead_hsync_ram_r, beathead_hsync_ram_w)
AM_RANGE(0x8df80000, 0x8df80003) AM_READNOP /* noisy x4 during scanline int */
AM_RANGE(0x8f380000, 0x8f3fffff) AM_WRITE(beathead_vram_latch_w)
AM_RANGE(0x8f900000, 0x8f97ffff) AM_WRITE(beathead_vram_transparent_w)
- AM_RANGE(0x8f980000, 0x8f9fffff) AM_RAM AM_BASE(&videoram32)
+ AM_RANGE(0x8f980000, 0x8f9fffff) AM_RAM AM_BASE_GENERIC(videoram)
AM_RANGE(0x8fb80000, 0x8fbfffff) AM_WRITE(beathead_vram_bulk_w)
AM_RANGE(0x8fff8000, 0x8fff8003) AM_WRITEONLY AM_BASE(&beathead_vram_bulk_latch)
AM_RANGE(0x9e280000, 0x9e2fffff) AM_WRITE(beathead_vram_copy_w)
diff --git a/src/mame/drivers/beezer.c b/src/mame/drivers/beezer.c
index a774d9e9aba..c75c522d20f 100644
--- a/src/mame/drivers/beezer.c
+++ b/src/mame/drivers/beezer.c
@@ -15,7 +15,7 @@
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0xbfff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x0000, 0xbfff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0xc000, 0xcfff) AM_ROMBANK(1)
AM_RANGE(0xd000, 0xffff) AM_ROM AM_WRITE(beezer_bankswitch_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/bestleag.c b/src/mame/drivers/bestleag.c
index 9411227e8f2..060179bcebe 100644
--- a/src/mame/drivers/bestleag.c
+++ b/src/mame/drivers/bestleag.c
@@ -89,6 +89,7 @@ Note: sprite chip is different than the other Big Striker sets and they
*/
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
/*
@@ -98,7 +99,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
int offs;
- for (offs = 0x16/2;offs < spriteram_size/2;offs += 4)
+ for (offs = 0x16/2;offs < machine->generic.spriteram_size/2;offs += 4)
{
int code = spriteram16[offs+3] & 0xfff;
int color = (spriteram16[offs+2] & 0xf000) >> 12;
@@ -190,8 +191,8 @@ static ADDRESS_MAP_START( bestleag_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0e8000, 0x0ebfff) AM_RAM_WRITE(bestleag_fgram_w) AM_BASE(&bestleag_fgram)
AM_RANGE(0x0f0000, 0x0f3fff) AM_RAM_WRITE(bestleag_txram_w) AM_BASE(&bestleag_txram)
AM_RANGE(0x0f8000, 0x0f800b) AM_RAM AM_BASE(&bestleag_vregs)
- AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0x200000, 0x200fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x200000, 0x200fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x300010, 0x300011) AM_READ_PORT("SYSTEM")
AM_RANGE(0x300012, 0x300013) AM_READ_PORT("P1")
AM_RANGE(0x300014, 0x300015) AM_READ_PORT("P2")
diff --git a/src/mame/drivers/bigfghtr.c b/src/mame/drivers/bigfghtr.c
index 855f4e9a46c..08408d74bfc 100644
--- a/src/mame/drivers/bigfghtr.c
+++ b/src/mame/drivers/bigfghtr.c
@@ -243,8 +243,9 @@ static WRITE16_HANDLER( bg_scrolly_w )
static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int priority )
{
+ UINT16 *buffered_spriteram16 = machine->generic.buffered_spriteram.u16;
int offs;
- for (offs = 0; offs < spriteram_size / 2; offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram_size / 2; offs += 4)
{
int code = buffered_spriteram16[offs + 1]; /* ??YX?TTTTTTTTTTT */
int flipx = code & 0x2000;
@@ -358,13 +359,13 @@ static READ16_HANDLER(sharedram_r)
static ADDRESS_MAP_START( mainmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x080000, 0x0805ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x080000, 0x0805ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x080600, 0x080fff) AM_READWRITE(sharedram_r, sharedram_w) AM_BASE_MEMBER(bigfghtr_state, sharedram16)
AM_RANGE(0x081000, 0x085fff) AM_RAM //??
AM_RANGE(0x086000, 0x086fff) AM_RAM_WRITE(bg_videoram_w) AM_BASE_MEMBER(bigfghtr_state, bg_videoram)
AM_RANGE(0x087000, 0x087fff) AM_RAM_WRITE(fg_videoram_w) AM_BASE_MEMBER(bigfghtr_state, fg_videoram)
AM_RANGE(0x088000, 0x089fff) AM_RAM_WRITE(text_videoram_w) AM_BASE_MEMBER(bigfghtr_state, text_videoram)
- AM_RANGE(0x08a000, 0x08afff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x08a000, 0x08afff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x08b000, 0x08bfff) AM_RAM //??
AM_RANGE(0x08c000, 0x08c001) AM_READ_PORT("P1")
AM_RANGE(0x08c002, 0x08c003) AM_READ_PORT("P2")
diff --git a/src/mame/drivers/bigstrkb.c b/src/mame/drivers/bigstrkb.c
index 6cfc7a52070..1895a2564d3 100644
--- a/src/mame/drivers/bigstrkb.c
+++ b/src/mame/drivers/bigstrkb.c
@@ -63,7 +63,7 @@ static ADDRESS_MAP_START( bigstrkb_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0ec000, 0x0effff) AM_RAM_WRITE(bsb_videoram_w) AM_BASE(&bsb_videoram)
AM_RANGE(0x0f0000, 0x0f7fff) AM_RAM
- AM_RANGE(0x0f8000, 0x0f87ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0f8000, 0x0f87ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(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 f24aeea03ef..b2f73064c46 100644
--- a/src/mame/drivers/bingor.c
+++ b/src/mame/drivers/bingor.c
@@ -500,7 +500,7 @@ static READ16_HANDLER( test_r )
static ADDRESS_MAP_START( bingor_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00000, 0x0ffff) AM_RAM
AM_RANGE(0x90000, 0x9ffff) AM_ROM AM_REGION("gfx", 0)
- AM_RANGE(0xa0300, 0xa031f) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBIIII_word_w) AM_BASE(&paletteram16) //wrong
+ AM_RANGE(0xa0300, 0xa031f) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBIIII_word_w) AM_BASE_GENERIC(paletteram) //wrong
AM_RANGE(0xa0000, 0xaffff) AM_RAM AM_BASE(&blit_ram)
AM_RANGE(0xe0000, 0xfffff) AM_ROM AM_REGION("boot_prg",0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/bionicc.c b/src/mame/drivers/bionicc.c
index 254a031dfaf..5cb9fc28703 100644
--- a/src/mame/drivers/bionicc.c
+++ b/src/mame/drivers/bionicc.c
@@ -149,7 +149,7 @@ static INTERRUPT_GEN( bionicc_interrupt )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0xfe0000, 0xfe07ff) AM_RAM /* RAM? */
- AM_RANGE(0xfe0800, 0xfe0cff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xfe0800, 0xfe0cff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xfe0d00, 0xfe3fff) AM_RAM /* RAM? */
AM_RANGE(0xfe4000, 0xfe4001) AM_WRITE(bionicc_gfxctrl_w) /* + coin counters */
AM_RANGE(0xfe4000, 0xfe4001) AM_READ_PORT("SYSTEM")
diff --git a/src/mame/drivers/bishi.c b/src/mame/drivers/bishi.c
index 814cc197b53..20f3ed65342 100644
--- a/src/mame/drivers/bishi.c
+++ b/src/mame/drivers/bishi.c
@@ -141,7 +141,7 @@ static INTERRUPT_GEN(bishi_interrupt)
/* compensate for a bug in the ram/rom test */
static READ16_HANDLER( bishi_mirror_r )
{
- return paletteram16[offset];
+ return space->machine->generic.paletteram.u16[offset];
}
static READ16_HANDLER( bishi_K056832_rom_r )
@@ -177,7 +177,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x870000, 0x8700ff) AM_WRITE(K055555_word_w) // PCU2
AM_RANGE(0x880000, 0x880003) AM_DEVREADWRITE8("ymz", ymz280b_r, ymz280b_w, 0xff00)
AM_RANGE(0xa00000, 0xa01fff) AM_READWRITE(K056832_ram_word_r, K056832_ram_word_w) // Graphic planes
- AM_RANGE(0xb00000, 0xb03fff) AM_RAM_WRITE(paletteram16_xbgr_word_be_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xb00000, 0xb03fff) AM_RAM_WRITE(paletteram16_xbgr_word_be_w) AM_BASE_GENERIC(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/bishjan.c b/src/mame/drivers/bishjan.c
index 0f0c35789d6..3f3754beb38 100644
--- a/src/mame/drivers/bishjan.c
+++ b/src/mame/drivers/bishjan.c
@@ -227,7 +227,7 @@ static VIDEO_START(bishjan)
bishjan_videoram_2_hi = auto_alloc_array(machine, UINT8, 0x80 * 0x40);
- colorram = auto_alloc_array(machine, UINT8, 256*3);
+ machine->generic.colorram.u8 = auto_alloc_array(machine, UINT8, 256*3);
}
static VIDEO_UPDATE( bishjan )
@@ -282,11 +282,11 @@ static WRITE8_HANDLER(colordac_w)
break;
case 1:
- colorram[colordac_offs] = data;
+ space->machine->generic.colorram.u8[colordac_offs] = data;
palette_set_color_rgb(space->machine, colordac_offs/3,
- pal6bit(colorram[(colordac_offs/3)*3+0]),
- pal6bit(colorram[(colordac_offs/3)*3+1]),
- pal6bit(colorram[(colordac_offs/3)*3+2])
+ pal6bit(space->machine->generic.colorram.u8[(colordac_offs/3)*3+0]),
+ pal6bit(space->machine->generic.colorram.u8[(colordac_offs/3)*3+1]),
+ pal6bit(space->machine->generic.colorram.u8[(colordac_offs/3)*3+2])
);
colordac_offs = (colordac_offs+1) % (256*3);
break;
diff --git a/src/mame/drivers/blackt96.c b/src/mame/drivers/blackt96.c
index 026bae9a77b..7eb972e9dd3 100644
--- a/src/mame/drivers/blackt96.c
+++ b/src/mame/drivers/blackt96.c
@@ -168,7 +168,7 @@ static ADDRESS_MAP_START( blackt96_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x100000, 0x100fff) AM_RAM AM_BASE(&blackt96_tilemapram) // text tilemap
AM_RANGE(0x200000, 0x207fff) AM_RAM AM_BASE(&blackt96_tilemapram2)// sprite list + sprite tilemaps
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xc00000, 0xc03fff) AM_RAM // main ram
ADDRESS_MAP_END
diff --git a/src/mame/drivers/bladestl.c b/src/mame/drivers/bladestl.c
index c34d430387b..11159cd3b42 100644
--- a/src/mame/drivers/bladestl.c
+++ b/src/mame/drivers/bladestl.c
@@ -112,7 +112,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_READWRITE(K007342_r, K007342_w) /* Color RAM + Video RAM */
AM_RANGE(0x2000, 0x21ff) AM_READWRITE(K007420_r, K007420_w) /* Sprite RAM */
AM_RANGE(0x2200, 0x23ff) AM_READWRITE(K007342_scroll_r, K007342_scroll_w) /* Scroll RAM */
- AM_RANGE(0x2400, 0x245f) AM_RAM AM_BASE(&paletteram) /* palette */
+ AM_RANGE(0x2400, 0x245f) AM_RAM AM_BASE_GENERIC(paletteram) /* palette */
AM_RANGE(0x2600, 0x2607) AM_WRITE(K007342_vreg_w) /* Video Registers */
AM_RANGE(0x2e00, 0x2e00) AM_READ_PORT("COINSW") /* DIPSW #3, coinsw, startsw */
AM_RANGE(0x2e01, 0x2e01) AM_READ_PORT("P1") /* 1P controls */
diff --git a/src/mame/drivers/blktiger.c b/src/mame/drivers/blktiger.c
index 193d83fbe4e..9194b9567a3 100644
--- a/src/mame/drivers/blktiger.c
+++ b/src/mame/drivers/blktiger.c
@@ -76,10 +76,10 @@ static ADDRESS_MAP_START( blktiger_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
AM_RANGE(0xc000, 0xcfff) AM_READWRITE(blktiger_bgvideoram_r, blktiger_bgvideoram_w)
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(blktiger_txvideoram_w) AM_BASE_MEMBER(blktiger_state, txvideoram)
- AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split1_w) AM_BASE(&paletteram)
- AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split2_w) AM_BASE(&paletteram_2)
+ AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split1_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split2_w) AM_BASE_GENERIC(paletteram2)
AM_RANGE(0xe000, 0xfdff) AM_RAM
- AM_RANGE(0xfe00, 0xffff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xfe00, 0xffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( blktiger_io_map, ADDRESS_SPACE_IO, 8 )
diff --git a/src/mame/drivers/blmbycar.c b/src/mame/drivers/blmbycar.c
index c60d2a2fde9..3861a50d709 100644
--- a/src/mame/drivers/blmbycar.c
+++ b/src/mame/drivers/blmbycar.c
@@ -115,7 +115,7 @@ static ADDRESS_MAP_START( blmbycar_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x204000, 0x2045ff) AM_RAM_WRITE(blmbycar_palette_w) AM_BASE_MEMBER(blmbycar_state, paletteram16) // Palette
AM_RANGE(0x204600, 0x207fff) AM_RAM
AM_RANGE(0x440000, 0x441fff) AM_RAM
- AM_RANGE(0x444000, 0x445fff) AM_WRITEONLY AM_BASE_MEMBER(blmbycar_state, spriteram16) AM_SIZE(&spriteram_size)// Sprites (size?)
+ AM_RANGE(0x444000, 0x445fff) AM_WRITEONLY AM_BASE_MEMBER(blmbycar_state, spriteram16) AM_SIZE_GENERIC(spriteram)// Sprites (size?)
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW")
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("P1_P2")
AM_RANGE(0x700004, 0x700005) AM_READ(blmbycar_opt_wheel_r) // Wheel (optical)
@@ -150,7 +150,7 @@ static ADDRESS_MAP_START( watrball_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x204000, 0x2045ff) AM_RAM_WRITE(blmbycar_palette_w) AM_BASE_MEMBER(blmbycar_state, paletteram16) // Palette
AM_RANGE(0x204600, 0x207fff) AM_RAM
AM_RANGE(0x440000, 0x441fff) AM_RAM
- AM_RANGE(0x444000, 0x445fff) AM_WRITEONLY AM_BASE_MEMBER(blmbycar_state, spriteram16) AM_SIZE(&spriteram_size)// Sprites (size?)
+ AM_RANGE(0x444000, 0x445fff) AM_WRITEONLY AM_BASE_MEMBER(blmbycar_state, spriteram16) AM_SIZE_GENERIC(spriteram)// Sprites (size?)
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW")
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("P1_P2")
AM_RANGE(0x700006, 0x700007) AM_READNOP // read
diff --git a/src/mame/drivers/blockhl.c b/src/mame/drivers/blockhl.c
index 0af6748ae23..d95b99954b4 100644
--- a/src/mame/drivers/blockhl.c
+++ b/src/mame/drivers/blockhl.c
@@ -47,7 +47,7 @@ static INTERRUPT_GEN( blockhl_interrupt )
static READ8_HANDLER( bankedram_r )
{
if (palette_selected)
- return paletteram[offset];
+ return space->machine->generic.paletteram.u8[offset];
else
return ram[offset];
}
@@ -276,7 +276,7 @@ static MACHINE_RESET( blockhl )
konami_configure_set_lines(cputag_get_cpu(machine, "maincpu"), blockhl_banking);
- paletteram = &RAM[0x18000];
+ machine->generic.paletteram.u8 = &RAM[0x18000];
}
diff --git a/src/mame/drivers/bloodbro.c b/src/mame/drivers/bloodbro.c
index b885c9152b7..c6e54ea5942 100644
--- a/src/mame/drivers/bloodbro.c
+++ b/src/mame/drivers/bloodbro.c
@@ -133,14 +133,14 @@ extern VIDEO_START( bloodbro );
static ADDRESS_MAP_START( bloodbro_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x08afff) AM_RAM
- AM_RANGE(0x08b000, 0x08bfff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x08b000, 0x08bfff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x08c000, 0x08c3ff) AM_RAM_WRITE(bloodbro_bgvideoram_w) AM_BASE(&bloodbro_bgvideoram)
AM_RANGE(0x08c400, 0x08cfff) AM_RAM
AM_RANGE(0x08d000, 0x08d3ff) AM_RAM_WRITE(bloodbro_fgvideoram_w) AM_BASE(&bloodbro_fgvideoram)
AM_RANGE(0x08d400, 0x08d7ff) AM_RAM
AM_RANGE(0x08d800, 0x08dfff) AM_RAM_WRITE(bloodbro_txvideoram_w) AM_BASE(&bloodbro_txvideoram)
AM_RANGE(0x08e000, 0x08e7ff) AM_RAM
- AM_RANGE(0x08e800, 0x08f7ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x08e800, 0x08f7ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x08f800, 0x08ffff) AM_RAM
AM_RANGE(0x0a0000, 0x0a000d) AM_READWRITE(seibu_main_word_r, seibu_main_word_w)
AM_RANGE(0x0c0000, 0x0c007f) AM_RAM AM_BASE(&bloodbro_scroll)
@@ -155,7 +155,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( weststry_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x08afff) AM_RAM
- AM_RANGE(0x08b000, 0x08bfff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x08b000, 0x08bfff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x08c000, 0x08c3ff) AM_RAM_WRITE(bloodbro_bgvideoram_w) AM_BASE(&bloodbro_bgvideoram)
AM_RANGE(0x08c400, 0x08cfff) AM_RAM
AM_RANGE(0x08d000, 0x08d3ff) AM_RAM_WRITE(bloodbro_fgvideoram_w) AM_BASE(&bloodbro_fgvideoram)
@@ -166,7 +166,7 @@ static ADDRESS_MAP_START( weststry_map, ADDRESS_SPACE_PROGRAM, 16 )
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(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x128000, 0x1287ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(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 f33c662c65b..0814ac26c37 100644
--- a/src/mame/drivers/blstroid.c
+++ b/src/mame/drivers/blstroid.c
@@ -95,7 +95,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
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(inputs_r)
- AM_RANGE(0xffa000, 0xffa3ff) AM_MIRROR(0x7f8c00) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xffa000, 0xffa3ff) AM_MIRROR(0x7f8c00) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xffb000, 0xffb3ff) AM_MIRROR(0x7f8c00) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE(&atarigen_eeprom) AM_SIZE(&atarigen_eeprom_size)
AM_RANGE(0xffc000, 0xffcfff) AM_MIRROR(0x7f8000) AM_RAM_WRITE(atarigen_playfield_w) AM_BASE(&atarigen_playfield)
AM_RANGE(0xffd000, 0xffdfff) AM_MIRROR(0x7f8000) AM_RAM_WRITE(atarimo_0_spriteram_w) AM_BASE(&atarimo_0_spriteram)
diff --git a/src/mame/drivers/blueprnt.c b/src/mame/drivers/blueprnt.c
index cc7c4c83cd1..1d1667172ee 100644
--- a/src/mame/drivers/blueprnt.c
+++ b/src/mame/drivers/blueprnt.c
@@ -99,7 +99,7 @@ static ADDRESS_MAP_START( blueprnt_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(blueprnt_videoram_w) AM_MIRROR(0x400) AM_BASE_MEMBER(blueprnt_state, videoram)
AM_RANGE(0xa000, 0xa0ff) AM_RAM AM_BASE_MEMBER(blueprnt_state, scrollram)
- AM_RANGE(0xb000, 0xb0ff) AM_RAM AM_BASE_MEMBER(blueprnt_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xb000, 0xb0ff) AM_RAM AM_BASE_MEMBER(blueprnt_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("P1") AM_WRITE(blueprnt_coin_counter_w)
AM_RANGE(0xc001, 0xc001) AM_READ_PORT("P2")
AM_RANGE(0xc003, 0xc003) AM_READ(blueprnt_sh_dipsw_r)
diff --git a/src/mame/drivers/bmcbowl.c b/src/mame/drivers/bmcbowl.c
index 8da4db9b119..a96d9939997 100644
--- a/src/mame/drivers/bmcbowl.c
+++ b/src/mame/drivers/bmcbowl.c
@@ -202,8 +202,8 @@ static WRITE16_HANDLER( bmc_RAMDAC_offset_w )
static WRITE16_HANDLER( bmc_RAMDAC_color_w )
{
- colorram[clr_offset]=data;
- palette_set_color_rgb(space->machine,clr_offset/3,pal6bit(colorram[(clr_offset/3)*3]),pal6bit(colorram[(clr_offset/3)*3+1]),pal6bit(colorram[(clr_offset/3)*3+2]));
+ space->machine->generic.colorram.u8[clr_offset]=data;
+ palette_set_color_rgb(space->machine,clr_offset/3,pal6bit(space->machine->generic.colorram.u8[(clr_offset/3)*3]),pal6bit(space->machine->generic.colorram.u8[(clr_offset/3)*3+1]),pal6bit(space->machine->generic.colorram.u8[(clr_offset/3)*3+2]));
clr_offset=(clr_offset+1)%768;
}
@@ -551,7 +551,7 @@ ROM_END
static DRIVER_INIT(bmcbowl)
{
- colorram = auto_alloc_array(machine, UINT8, 768);
+ machine->generic.colorram.u8 = auto_alloc_array(machine, UINT8, 768);
}
GAME( 1994, bmcbowl, 0, bmcbowl, bmcbowl, bmcbowl, ROT0, "BMC", "BMC Bowling", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/bogeyman.c b/src/mame/drivers/bogeyman.c
index d4076f448ae..97a2e715f46 100644
--- a/src/mame/drivers/bogeyman.c
+++ b/src/mame/drivers/bogeyman.c
@@ -54,8 +54,8 @@ static ADDRESS_MAP_START( bogeyman_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1c00, 0x1fff) AM_RAM_WRITE(bogeyman_colorram2_w) AM_BASE_MEMBER(bogeyman_state, colorram2)
AM_RANGE(0x2000, 0x20ff) AM_RAM_WRITE(bogeyman_videoram_w) AM_BASE_MEMBER(bogeyman_state, videoram)
AM_RANGE(0x2100, 0x21ff) AM_RAM_WRITE(bogeyman_colorram_w) AM_BASE_MEMBER(bogeyman_state, colorram)
- AM_RANGE(0x2800, 0x2bff) AM_RAM AM_BASE_MEMBER(bogeyman_state, spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0x3000, 0x300f) AM_RAM_WRITE(bogeyman_paletteram_w) AM_BASE(&paletteram)
+ AM_RANGE(0x2800, 0x2bff) AM_RAM AM_BASE_MEMBER(bogeyman_state, spriteram) AM_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x3000, 0x300f) AM_RAM_WRITE(bogeyman_paletteram_w) AM_BASE_GENERIC(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 4932470fd5b..ebfb4ffde82 100644
--- a/src/mame/drivers/bombjack.c
+++ b/src/mame/drivers/bombjack.c
@@ -135,9 +135,9 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(bombjack_videoram_w) AM_BASE_MEMBER(bombjack_state, videoram)
AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(bombjack_colorram_w) AM_BASE_MEMBER(bombjack_state, colorram)
- AM_RANGE(0x9820, 0x987f) AM_WRITEONLY AM_BASE_MEMBER(bombjack_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x9820, 0x987f) AM_WRITEONLY AM_BASE_MEMBER(bombjack_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0x9a00, 0x9a00) AM_WRITENOP
- AM_RANGE(0x9c00, 0x9cff) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE(&paletteram)
+ AM_RANGE(0x9c00, 0x9cff) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x9e00, 0x9e00) AM_WRITE(bombjack_background_w)
AM_RANGE(0xb000, 0xb000) AM_READ_PORT("P1")
AM_RANGE(0xb000, 0xb000) AM_WRITE(interrupt_enable_w)
diff --git a/src/mame/drivers/boogwing.c b/src/mame/drivers/boogwing.c
index 151e180b833..e5049a7be64 100644
--- a/src/mame/drivers/boogwing.c
+++ b/src/mame/drivers/boogwing.c
@@ -100,9 +100,9 @@ static ADDRESS_MAP_START( boogwing_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x220002, 0x22000f) AM_NOP
AM_RANGE(0x240000, 0x240001) AM_WRITE(buffer_spriteram16_w)
- AM_RANGE(0x242000, 0x2427ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x242000, 0x2427ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x244000, 0x244001) AM_WRITE(buffer_spriteram16_2_w)
- AM_RANGE(0x246000, 0x2467ff) AM_RAM AM_BASE(&spriteram16_2) AM_SIZE(&spriteram_2_size)
+ AM_RANGE(0x246000, 0x2467ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram2)
AM_RANGE(0x24e6c0, 0x24e6c1) AM_READ_PORT("DSW")
AM_RANGE(0x24e138, 0x24e139) AM_READ_PORT("SYSTEM")
@@ -124,7 +124,7 @@ static ADDRESS_MAP_START( boogwing_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x280000, 0x28000f) AM_NOP // ?
AM_RANGE(0x282000, 0x282001) AM_NOP // Palette setup?
AM_RANGE(0x282008, 0x282009) AM_WRITE(deco16_palette_dma_w)
- AM_RANGE(0x284000, 0x285fff) AM_WRITE(deco16_buffered_palette_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x284000, 0x285fff) AM_WRITE(deco16_buffered_palette_w) AM_BASE_GENERIC(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 73881b361c2..f7051946c7e 100644
--- a/src/mame/drivers/bottom9.c
+++ b/src/mame/drivers/bottom9.c
@@ -58,7 +58,7 @@ static WRITE8_HANDLER( bottom9_bankedram1_w )
static READ8_HANDLER( bottom9_bankedram2_r )
{
if (K052109_selected) return K052109_051960_r(space,offset + 0x2000);
- else return paletteram[offset];
+ else return space->machine->generic.paletteram.u8[offset];
}
static WRITE8_HANDLER( bottom9_bankedram2_w )
@@ -144,7 +144,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1fd3, 0x1fd3) AM_READ_PORT("DSW1")
AM_RANGE(0x1fe0, 0x1fe0) AM_READ_PORT("DSW2")
AM_RANGE(0x1ff0, 0x1fff) AM_WRITE(K051316_ctrl_0_w)
- AM_RANGE(0x2000, 0x27ff) AM_READWRITE(bottom9_bankedram2_r, bottom9_bankedram2_w) AM_BASE(&paletteram)
+ AM_RANGE(0x2000, 0x27ff) AM_READWRITE(bottom9_bankedram2_r, bottom9_bankedram2_w) AM_BASE_GENERIC(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(1)
diff --git a/src/mame/drivers/brkthru.c b/src/mame/drivers/brkthru.c
index 8698ccce040..5b318770966 100644
--- a/src/mame/drivers/brkthru.c
+++ b/src/mame/drivers/brkthru.c
@@ -103,8 +103,8 @@ static INPUT_CHANGED( coin_inserted )
static ADDRESS_MAP_START( brkthru_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x03ff) AM_RAM_WRITE(brkthru_fgram_w) AM_BASE_MEMBER(brkthru_state, fg_videoram) AM_SIZE_MEMBER(brkthru_state, fg_videoram_size)
AM_RANGE(0x0400, 0x0bff) AM_RAM
- AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(brkthru_bgram_w) AM_BASE_MEMBER(brkthru_state, videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x1000, 0x10ff) AM_RAM AM_BASE_MEMBER(brkthru_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(brkthru_bgram_w) AM_BASE_MEMBER(brkthru_state, videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x1000, 0x10ff) AM_RAM AM_BASE_MEMBER(brkthru_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0x1100, 0x17ff) AM_RAM
AM_RANGE(0x1800, 0x1800) AM_READ_PORT("P1")
AM_RANGE(0x1801, 0x1801) AM_READ_PORT("P2")
@@ -121,8 +121,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( darwin_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(brkthru_fgram_w) AM_BASE_MEMBER(brkthru_state, fg_videoram) AM_SIZE_MEMBER(brkthru_state, fg_videoram_size)
AM_RANGE(0x1400, 0x1bff) AM_RAM
- AM_RANGE(0x1c00, 0x1fff) AM_RAM_WRITE(brkthru_bgram_w) AM_BASE_MEMBER(brkthru_state, videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x0000, 0x00ff) AM_RAM AM_BASE_MEMBER(brkthru_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x1c00, 0x1fff) AM_RAM_WRITE(brkthru_bgram_w) AM_BASE_MEMBER(brkthru_state, videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x0000, 0x00ff) AM_RAM AM_BASE_MEMBER(brkthru_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0x0100, 0x01ff) AM_WRITENOP /*tidyup, nothing realy here?*/
AM_RANGE(0x0800, 0x0800) AM_READ_PORT("P1")
AM_RANGE(0x0801, 0x0801) AM_READ_PORT("P2")
diff --git a/src/mame/drivers/btime.c b/src/mame/drivers/btime.c
index c6897a63e93..5ba24f537b9 100644
--- a/src/mame/drivers/btime.c
+++ b/src/mame/drivers/btime.c
@@ -359,8 +359,8 @@ static ADDRESS_MAP_START( btime_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xffff) AM_WRITE(btime_w) /* override the following entries to */
/* support ROM decryption */
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_MEMBER(btime_state, rambase)
- AM_RANGE(0x0c00, 0x0c0f) AM_WRITE(btime_paletteram_w) AM_BASE(&paletteram)
- AM_RANGE(0x1000, 0x13ff) AM_RAM AM_BASE_MEMBER(btime_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x0c00, 0x0c0f) AM_WRITE(btime_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1000, 0x13ff) AM_RAM AM_BASE_MEMBER(btime_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x1400, 0x17ff) AM_RAM AM_BASE_MEMBER(btime_state, colorram)
AM_RANGE(0x1800, 0x1bff) AM_READWRITE(btime_mirrorvideoram_r, btime_mirrorvideoram_w)
AM_RANGE(0x1c00, 0x1fff) AM_READWRITE(btime_mirrorcolorram_r, btime_mirrorcolorram_w)
@@ -375,7 +375,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( cookrace_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x03ff) AM_RAM AM_BASE_MEMBER(btime_state, rambase)
AM_RANGE(0x0500, 0x3fff) AM_ROM
- AM_RANGE(0xc000, 0xc3ff) AM_RAM AM_BASE_MEMBER(btime_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xc000, 0xc3ff) AM_RAM AM_BASE_MEMBER(btime_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0xc400, 0xc7ff) AM_RAM AM_BASE_MEMBER(btime_state, colorram)
AM_RANGE(0xc800, 0xcbff) AM_READWRITE(btime_mirrorvideoram_r, btime_mirrorvideoram_w)
AM_RANGE(0xcc00, 0xcfff) AM_READWRITE(btime_mirrorcolorram_r, btime_mirrorcolorram_w)
@@ -396,8 +396,8 @@ static ADDRESS_MAP_START( tisland_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xffff) AM_WRITE(tisland_w) /* override the following entries to */
/* support ROM decryption */
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_MEMBER(btime_state, rambase)
- AM_RANGE(0x0c00, 0x0c0f) AM_WRITE(btime_paletteram_w) AM_BASE(&paletteram)
- AM_RANGE(0x1000, 0x13ff) AM_RAM AM_BASE_MEMBER(btime_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x0c00, 0x0c0f) AM_WRITE(btime_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1000, 0x13ff) AM_RAM AM_BASE_MEMBER(btime_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x1400, 0x17ff) AM_RAM AM_BASE_MEMBER(btime_state, colorram)
AM_RANGE(0x1800, 0x1bff) AM_READWRITE(btime_mirrorvideoram_r, btime_mirrorvideoram_w)
AM_RANGE(0x1c00, 0x1fff) AM_READWRITE(btime_mirrorcolorram_r, btime_mirrorcolorram_w)
@@ -414,7 +414,7 @@ static ADDRESS_MAP_START( zoar_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xffff) AM_WRITE(zoar_w) /* override the following entries to */
/* support ROM decryption */
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_MEMBER(btime_state, rambase)
- AM_RANGE(0x8000, 0x83ff) AM_WRITEONLY AM_BASE_MEMBER(btime_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x8000, 0x83ff) AM_WRITEONLY AM_BASE_MEMBER(btime_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x8400, 0x87ff) AM_WRITEONLY AM_BASE_MEMBER(btime_state, colorram)
AM_RANGE(0x8800, 0x8bff) AM_WRITE(btime_mirrorvideoram_w)
AM_RANGE(0x8c00, 0x8fff) AM_WRITE(btime_mirrorcolorram_w)
@@ -434,7 +434,7 @@ static ADDRESS_MAP_START( lnc_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xffff) AM_WRITE(lnc_w) /* override the following entries to */
/* support ROM decryption */
AM_RANGE(0x0000, 0x3bff) AM_RAM AM_BASE_MEMBER(btime_state, rambase)
- AM_RANGE(0x3c00, 0x3fff) AM_RAM_WRITE(lnc_videoram_w) AM_BASE_MEMBER(btime_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x3c00, 0x3fff) AM_RAM_WRITE(lnc_videoram_w) AM_BASE_MEMBER(btime_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x7800, 0x7bff) AM_WRITEONLY AM_BASE_MEMBER(btime_state, colorram) /* this is just here to initialize the pointer */
AM_RANGE(0x7c00, 0x7fff) AM_READWRITE(btime_mirrorvideoram_r, lnc_mirrorvideoram_w)
AM_RANGE(0x8000, 0x8000) AM_READ_PORT("DSW1") AM_WRITENOP /* ??? */
@@ -451,7 +451,7 @@ static ADDRESS_MAP_START( mmonkey_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xffff) AM_WRITE(mmonkey_w) /* override the following entries to */
/* support ROM decryption */
AM_RANGE(0x0000, 0x3bff) AM_RAM AM_BASE_MEMBER(btime_state, rambase)
- AM_RANGE(0x3c00, 0x3fff) AM_RAM_WRITE(lnc_videoram_w) AM_BASE_MEMBER(btime_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x3c00, 0x3fff) AM_RAM_WRITE(lnc_videoram_w) AM_BASE_MEMBER(btime_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x7800, 0x7bff) AM_WRITEONLY AM_BASE_MEMBER(btime_state, colorram) /* this is just here to initialize the pointer */
AM_RANGE(0x7c00, 0x7fff) AM_READWRITE(btime_mirrorvideoram_r, lnc_mirrorvideoram_w)
AM_RANGE(0x8000, 0x8000) AM_READ_PORT("DSW1")
@@ -471,14 +471,14 @@ static ADDRESS_MAP_START( bnj_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1002, 0x1002) AM_READ_PORT("P1") AM_WRITE(audio_command_w)
AM_RANGE(0x1003, 0x1003) AM_READ_PORT("P2")
AM_RANGE(0x1004, 0x1004) AM_READ_PORT("SYSTEM")
- AM_RANGE(0x4000, 0x43ff) AM_RAM AM_BASE_MEMBER(btime_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x4000, 0x43ff) AM_RAM AM_BASE_MEMBER(btime_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x4400, 0x47ff) AM_RAM AM_BASE_MEMBER(btime_state, colorram)
AM_RANGE(0x4800, 0x4bff) AM_READWRITE(btime_mirrorvideoram_r, btime_mirrorvideoram_w)
AM_RANGE(0x4c00, 0x4fff) AM_READWRITE(btime_mirrorcolorram_r, btime_mirrorcolorram_w)
AM_RANGE(0x5000, 0x51ff) AM_WRITE(bnj_background_w) AM_BASE_MEMBER(btime_state, bnj_backgroundram) AM_SIZE_MEMBER(btime_state, bnj_backgroundram_size)
AM_RANGE(0x5400, 0x5400) AM_WRITE(bnj_scroll1_w)
AM_RANGE(0x5800, 0x5800) AM_WRITE(bnj_scroll2_w)
- AM_RANGE(0x5c00, 0x5c0f) AM_WRITE(btime_paletteram_w) AM_BASE(&paletteram)
+ AM_RANGE(0x5c00, 0x5c0f) AM_WRITE(btime_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xa000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -487,9 +487,9 @@ static ADDRESS_MAP_START( disco_map, ADDRESS_SPACE_PROGRAM, 8 )
/* support ROM decryption */
AM_RANGE(0x0000, 0x04ff) AM_RAM AM_BASE_MEMBER(btime_state, rambase)
AM_RANGE(0x2000, 0x7fff) AM_RAM_WRITE(deco_charram_w) AM_BASE_MEMBER(btime_state, deco_charram)
- AM_RANGE(0x8000, 0x83ff) AM_RAM AM_BASE_MEMBER(btime_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x8000, 0x83ff) AM_RAM AM_BASE_MEMBER(btime_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x8400, 0x87ff) AM_RAM AM_BASE_MEMBER(btime_state, colorram)
- AM_RANGE(0x8800, 0x881f) AM_RAM AM_BASE_MEMBER(btime_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x8800, 0x881f) AM_RAM AM_BASE_MEMBER(btime_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0x9000, 0x9000) AM_READ_PORT("SYSTEM")
AM_RANGE(0x9200, 0x9200) AM_READ_PORT("P1")
AM_RANGE(0x9400, 0x9400) AM_READ_PORT("P2")
diff --git a/src/mame/drivers/bublbobl.c b/src/mame/drivers/bublbobl.c
index 0430bcab47e..4ad03f2cf51 100644
--- a/src/mame/drivers/bublbobl.c
+++ b/src/mame/drivers/bublbobl.c
@@ -288,10 +288,10 @@ TODO:
static ADDRESS_MAP_START( master_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
- AM_RANGE(0xc000, 0xdcff) AM_RAM AM_BASE_MEMBER(bublbobl_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xc000, 0xdcff) AM_RAM AM_BASE_MEMBER(bublbobl_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0xdd00, 0xdfff) AM_RAM AM_BASE_MEMBER(bublbobl_state, objectram) AM_SIZE_MEMBER(bublbobl_state, objectram_size)
AM_RANGE(0xe000, 0xf7ff) AM_RAM AM_SHARE(1)
- AM_RANGE(0xf800, 0xf9ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE(&paletteram)
+ AM_RANGE(0xf800, 0xf9ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xfa00, 0xfa00) AM_READWRITE(bublbobl_sound_status_r, bublbobl_sound_command_w)
AM_RANGE(0xfa03, 0xfa03) AM_WRITE(bublbobl_soundcpu_reset_w)
AM_RANGE(0xfa80, 0xfa80) AM_WRITE(watchdog_reset_w)
@@ -344,10 +344,10 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( bootleg_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
- AM_RANGE(0xc000, 0xdcff) AM_RAM AM_BASE_MEMBER(bublbobl_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xc000, 0xdcff) AM_RAM AM_BASE_MEMBER(bublbobl_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0xdd00, 0xdfff) AM_RAM AM_BASE_MEMBER(bublbobl_state, objectram) AM_SIZE_MEMBER(bublbobl_state, objectram_size)
AM_RANGE(0xe000, 0xf7ff) AM_RAM AM_SHARE(1)
- AM_RANGE(0xf800, 0xf9ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE(&paletteram)
+ AM_RANGE(0xf800, 0xf9ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xfa00, 0xfa00) AM_READWRITE(bublbobl_sound_status_r, bublbobl_sound_command_w)
AM_RANGE(0xfa03, 0xfa03) AM_WRITE(bublbobl_soundcpu_reset_w)
AM_RANGE(0xfa80, 0xfa80) AM_WRITENOP // ???
@@ -368,10 +368,10 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( tokio_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
- AM_RANGE(0xc000, 0xdcff) AM_RAM AM_BASE_MEMBER(bublbobl_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xc000, 0xdcff) AM_RAM AM_BASE_MEMBER(bublbobl_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0xdd00, 0xdfff) AM_RAM AM_BASE_MEMBER(bublbobl_state, objectram) AM_SIZE_MEMBER(bublbobl_state, objectram_size)
AM_RANGE(0xe000, 0xf7ff) AM_RAM AM_SHARE(1)
- AM_RANGE(0xf800, 0xf9ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE(&paletteram)
+ AM_RANGE(0xf800, 0xf9ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xfa00, 0xfa00) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xfa03, 0xfa03) AM_READ_PORT("DSW0")
AM_RANGE(0xfa04, 0xfa04) AM_READ_PORT("DSW1")
diff --git a/src/mame/drivers/buggychl.c b/src/mame/drivers/buggychl.c
index 8131792f262..b9094320f56 100644
--- a/src/mame/drivers/buggychl.c
+++ b/src/mame/drivers/buggychl.c
@@ -139,14 +139,14 @@ static ADDRESS_MAP_START( buggychl_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8800, 0x8fff) AM_RAM /* 6116 SRAM (35) */
AM_RANGE(0x9000, 0x9fff) AM_WRITE(buggychl_sprite_lookup_w)
AM_RANGE(0xa000, 0xbfff) AM_ROMBANK(1) AM_WRITE(buggychl_chargen_w) AM_BASE(&buggychl_character_ram)
- AM_RANGE(0xc800, 0xcfff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xc800, 0xcfff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0xd100, 0xd100) AM_WRITE(buggychl_ctrl_w)
AM_RANGE(0xd200, 0xd200) AM_WRITE(bankswitch_w)
AM_RANGE(0xd300, 0xd300) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xd303, 0xd303) AM_WRITE(buggychl_sprite_lookup_bank_w)
AM_RANGE(0xd400, 0xd400) AM_READWRITE(buggychl_mcu_r, buggychl_mcu_w)
AM_RANGE(0xd401, 0xd401) AM_READ(buggychl_mcu_status_r)
- AM_RANGE(0xd500, 0xd57f) AM_WRITEONLY AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xd500, 0xd57f) AM_WRITEONLY AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xd600, 0xd600) AM_READ_PORT("DSW1")
AM_RANGE(0xd601, 0xd601) AM_READ_PORT("DSW2")
AM_RANGE(0xd602, 0xd602) AM_READ_PORT("DSW3")
@@ -157,7 +157,7 @@ static ADDRESS_MAP_START( buggychl_map, ADDRESS_SPACE_PROGRAM, 8 )
// 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(paletteram_xxxxRRRRGGGGBBBB_be_w) AM_BASE(&paletteram)
+ AM_RANGE(0xd700, 0xd7ff) AM_WRITE(paletteram_xxxxRRRRGGGGBBBB_be_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xd840, 0xd85f) AM_WRITEONLY AM_BASE(&buggychl_scrollv)
AM_RANGE(0xdb00, 0xdbff) AM_WRITEONLY AM_BASE(&buggychl_scrollh)
AM_RANGE(0xdc04, 0xdc04) AM_WRITEONLY /* should be fg scroll */
diff --git a/src/mame/drivers/bwing.c b/src/mame/drivers/bwing.c
index 6bff7178287..2427a1f1b58 100644
--- a/src/mame/drivers/bwing.c
+++ b/src/mame/drivers/bwing.c
@@ -196,7 +196,7 @@ static ADDRESS_MAP_START( bwp1_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0800, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(bwing_videoram_w) AM_BASE_MEMBER(bwing_state, videoram)
AM_RANGE(0x1400, 0x17ff) AM_RAM
- AM_RANGE(0x1800, 0x19ff) AM_RAM_WRITE(bwing_spriteram_w) AM_BASE(&buffered_spriteram)
+ AM_RANGE(0x1800, 0x19ff) AM_RAM_WRITE(bwing_spriteram_w) AM_BASE_GENERIC(buffered_spriteram)
AM_RANGE(0x1a00, 0x1aff) AM_RAM_WRITE(bwing_paletteram_w) AM_BASE_MEMBER(bwing_state, paletteram)
AM_RANGE(0x1b00, 0x1b07) AM_RAM_WRITE(bwing_scrollreg_w)
AM_RANGE(0x1c00, 0x1c07) AM_RAM_WRITE(bwp1_ctrl_w)
diff --git a/src/mame/drivers/cabal.c b/src/mame/drivers/cabal.c
index 3bc386dba42..2ed630c3efa 100644
--- a/src/mame/drivers/cabal.c
+++ b/src/mame/drivers/cabal.c
@@ -126,10 +126,10 @@ static WRITE16_HANDLER( cabalbl_sound_irq_trigger_word_w )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00000, 0x3ffff) AM_ROM
AM_RANGE(0x40000, 0x437ff) AM_RAM
- AM_RANGE(0x43800, 0x43fff) AM_RAM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x43800, 0x43fff) AM_RAM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x44000, 0x4ffff) AM_RAM
- AM_RANGE(0x60000, 0x607ff) AM_RAM_WRITE(cabal_text_videoram16_w) AM_BASE(&colorram16)
- AM_RANGE(0x80000, 0x801ff) AM_RAM_WRITE(cabal_background_videoram16_w) AM_BASE(&videoram16) AM_SIZE(&videoram_size)
+ AM_RANGE(0x60000, 0x607ff) AM_RAM_WRITE(cabal_text_videoram16_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x80000, 0x801ff) AM_RAM_WRITE(cabal_background_videoram16_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x80200, 0x803ff) AM_RAM_WRITE(SMH_RAM)
AM_RANGE(0xa0000, 0xa0001) AM_READ_PORT("DSW")
AM_RANGE(0xa0008, 0xa000f) AM_READ(track_r)
@@ -137,7 +137,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xc0000, 0xc0001) AM_WRITE(track_reset_w)
AM_RANGE(0xc0040, 0xc0041) AM_WRITENOP /* ??? */
AM_RANGE(0xc0080, 0xc0081) AM_WRITE(cabal_flipscreen_w)
- AM_RANGE(0xe0000, 0xe07ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xe0000, 0xe07ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xe8008, 0xe8009) AM_WRITE(cabal_sound_irq_trigger_word_w) // fix coin insertion
AM_RANGE(0xe8000, 0xe800d) AM_READWRITE(seibu_main_word_r, seibu_main_word_w)
ADDRESS_MAP_END
@@ -145,17 +145,17 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( cabalbl_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00000, 0x3ffff) AM_ROM
AM_RANGE(0x40000, 0x437ff) AM_RAM
- AM_RANGE(0x43800, 0x43fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x43800, 0x43fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x44000, 0x4ffff) AM_RAM
- AM_RANGE(0x60000, 0x607ff) AM_RAM_WRITE(cabal_text_videoram16_w) AM_BASE(&colorram16)
- AM_RANGE(0x80000, 0x801ff) AM_RAM_WRITE(cabal_background_videoram16_w) AM_BASE(&videoram16) AM_SIZE(&videoram_size)
+ AM_RANGE(0x60000, 0x607ff) AM_RAM_WRITE(cabal_text_videoram16_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x80000, 0x801ff) AM_RAM_WRITE(cabal_background_videoram16_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x80200, 0x803ff) AM_RAM
AM_RANGE(0xa0000, 0xa0001) AM_READ_PORT("DSW")
AM_RANGE(0xa0008, 0xa0009) AM_READ_PORT("JOY")
AM_RANGE(0xa0010, 0xa0011) AM_READ_PORT("INPUTS")
AM_RANGE(0xc0040, 0xc0041) AM_WRITENOP /* ??? */
AM_RANGE(0xc0080, 0xc0081) AM_WRITE(cabal_flipscreen_w)
- AM_RANGE(0xe0000, 0xe07ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xe0000, 0xe07ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xe8000, 0xe8003) AM_WRITE(cabalbl_sndcmd_w)
AM_RANGE(0xe8004, 0xe8005) AM_READ(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 25ee313d6e4..89b2bb6feb6 100644
--- a/src/mame/drivers/cabaret.c
+++ b/src/mame/drivers/cabaret.c
@@ -156,8 +156,8 @@ static ADDRESS_MAP_START( cabaret_portmap, ADDRESS_SPACE_IO, 8 )
AM_RANGE( 0x2000, 0x27ff ) AM_RAM_WRITE( fg_tile_w ) AM_BASE( &fg_tile_ram )
AM_RANGE( 0x2800, 0x2fff ) AM_RAM_WRITE( fg_color_w ) AM_BASE( &fg_color_ram )
- AM_RANGE( 0x3000, 0x37ff ) AM_RAM_WRITE( paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_BASE( &paletteram )
- AM_RANGE( 0x3800, 0x3fff ) AM_RAM_WRITE( paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_BASE( &paletteram_2 )
+ AM_RANGE( 0x3000, 0x37ff ) AM_RAM_WRITE( paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_BASE_GENERIC( paletteram )
+ AM_RANGE( 0x3800, 0x3fff ) AM_RAM_WRITE( paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_BASE_GENERIC( paletteram2 )
AM_RANGE( 0x1000, 0x103f ) AM_RAM_WRITE( bg_scroll_w ) AM_BASE( &bg_scroll )
diff --git a/src/mame/drivers/calomega.c b/src/mame/drivers/calomega.c
index 1c97c30e3ef..4cc244b7704 100644
--- a/src/mame/drivers/calomega.c
+++ b/src/mame/drivers/calomega.c
@@ -762,8 +762,8 @@ static ADDRESS_MAP_START( sys903_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x08c8, 0x08cb) AM_DEVREADWRITE("pia1", pia6821_r, pia6821_w)
AM_RANGE(0x08d0, 0x08d0) AM_DEVREADWRITE("acia6850_0", acia6850_stat_r, acia6850_ctrl_w)
AM_RANGE(0x08d1, 0x08d1) AM_DEVREADWRITE("acia6850_0", acia6850_data_r, acia6850_data_w)
- AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(calomega_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(calomega_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(calomega_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(calomega_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x1800, 0x3fff) AM_ROM
ADDRESS_MAP_END
@@ -775,8 +775,8 @@ static ADDRESS_MAP_START( s903mod_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0881, 0x0881) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
AM_RANGE(0x08c4, 0x08c7) AM_DEVREADWRITE("pia0", pia6821_r, pia6821_w)
AM_RANGE(0x08c8, 0x08cb) AM_DEVREADWRITE("pia1", pia6821_r, pia6821_w)
- AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(calomega_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(calomega_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(calomega_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(calomega_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x1800, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -788,8 +788,8 @@ static ADDRESS_MAP_START( sys905_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1081, 0x1081) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
AM_RANGE(0x10c4, 0x10c7) AM_DEVREADWRITE("pia0", pia6821_r, pia6821_w)
AM_RANGE(0x10c8, 0x10cb) AM_DEVREADWRITE("pia1", pia6821_r, pia6821_w)
- AM_RANGE(0x2000, 0x23ff) AM_RAM_WRITE(calomega_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x2400, 0x27ff) AM_RAM_WRITE(calomega_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x2000, 0x23ff) AM_RAM_WRITE(calomega_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x2400, 0x27ff) AM_RAM_WRITE(calomega_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x2800, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/calorie.c b/src/mame/drivers/calorie.c
index ac47bc5c970..28366c9fc7f 100644
--- a/src/mame/drivers/calorie.c
+++ b/src/mame/drivers/calorie.c
@@ -239,7 +239,7 @@ static ADDRESS_MAP_START( calorie_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(fg_ram_w) AM_BASE_MEMBER(calorie_state, fg_ram)
AM_RANGE(0xd800, 0xdbff) AM_RAM AM_BASE_MEMBER(calorie_state, sprites)
- AM_RANGE(0xdc00, 0xdcff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE(&paletteram)
+ AM_RANGE(0xdc00, 0xdcff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(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/capbowl.c b/src/mame/drivers/capbowl.c
index b7228838d2b..d53d4825a08 100644
--- a/src/mame/drivers/capbowl.c
+++ b/src/mame/drivers/capbowl.c
@@ -214,15 +214,15 @@ static void firqhandler( const device_config *device, int irq )
static NVRAM_HANDLER( capbowl )
{
if (read_or_write)
- mame_fwrite(file, machine->generic.nvram.ptr.v, machine->generic.nvram.size);
+ mame_fwrite(file, machine->generic.nvram.v, machine->generic.nvram_size);
else if (file)
- mame_fread(file, machine->generic.nvram.ptr.v, machine->generic.nvram.size);
+ mame_fread(file, machine->generic.nvram.v, machine->generic.nvram_size);
else
{
/* invalidate nvram to make the game initialize it.
A 0xff fill will cause the game to malfunction, so we use a
0x01 fill which seems OK */
- memset(machine->generic.nvram.ptr.v, 0x01, machine->generic.nvram.size);
+ memset(machine->generic.nvram.v, 0x01, machine->generic.nvram_size);
}
}
diff --git a/src/mame/drivers/cardline.c b/src/mame/drivers/cardline.c
index dd6eb841a07..ff64e4b767b 100644
--- a/src/mame/drivers/cardline.c
+++ b/src/mame/drivers/cardline.c
@@ -24,9 +24,9 @@
static int cardline_video;
-#define DRAW_TILE(offset, transparency) drawgfx_transpen(bitmap, cliprect, screen->machine->gfx[0],\
- (videoram[index+offset] | (colorram[index+offset]<<8))&0x3fff,\
- (colorram[index+offset]&0x80)>>7,\
+#define DRAW_TILE(machine, offset, transparency) drawgfx_transpen(bitmap, cliprect, machine->gfx[0],\
+ (machine->generic.videoram.u8[index+offset] | (machine->generic.colorram.u8[index+offset]<<8))&0x3fff,\
+ (machine->generic.colorram.u8[index+offset]&0x80)>>7,\
0,0,\
x<<3, y<<3,\
transparency?transparency:-1);
@@ -42,14 +42,14 @@ static VIDEO_UPDATE( cardline )
int index=y*64+x;
if(cardline_video&1)
{
- DRAW_TILE(0,0);
- DRAW_TILE(0x800,1);
+ DRAW_TILE(screen->machine,0,0);
+ DRAW_TILE(screen->machine,0x800,1);
}
if(cardline_video&2)
{
- DRAW_TILE(0x1000,0);
- DRAW_TILE(0x1800,1);
+ DRAW_TILE(screen->machine,0x1000,0);
+ DRAW_TILE(screen->machine,0x1800,1);
}
}
}
@@ -59,13 +59,13 @@ static VIDEO_UPDATE( cardline )
static WRITE8_HANDLER(vram_w)
{
offset+=0x1000*((cardline_video&2)>>1);
- videoram[offset]=data;
+ space->machine->generic.videoram.u8[offset]=data;
}
static WRITE8_HANDLER(attr_w)
{
offset+=0x1000*((cardline_video&2)>>1);
- colorram[offset]=data;
+ space->machine->generic.colorram.u8[offset]=data;
}
static WRITE8_HANDLER(video_w)
@@ -111,8 +111,8 @@ static ADDRESS_MAP_START( mem_io, ADDRESS_SPACE_IO, 8 )
AM_RANGE(0x2840, 0x2840) AM_NOP
AM_RANGE(0x2880, 0x2880) AM_NOP
AM_RANGE(0x3003, 0x3003) AM_NOP
- AM_RANGE(0xc000, 0xdfff) AM_WRITE(vram_w) AM_BASE(&videoram)
- AM_RANGE(0xe000, 0xffff) AM_WRITE(attr_w) AM_BASE(&colorram)
+ AM_RANGE(0xc000, 0xdfff) AM_WRITE(vram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xe000, 0xffff) AM_WRITE(attr_w) AM_BASE_GENERIC(colorram)
/* Ports */
AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_READWRITE(unk_r, video_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/carjmbre.c b/src/mame/drivers/carjmbre.c
index 064700df634..ffbd4e269d8 100644
--- a/src/mame/drivers/carjmbre.c
+++ b/src/mame/drivers/carjmbre.c
@@ -63,7 +63,7 @@ static ADDRESS_MAP_START( carjmbre_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8fc1, 0x8fc1) AM_WRITENOP //overrun during initial screen clear
AM_RANGE(0x8fe1, 0x8fe1) AM_WRITENOP //overrun during initial screen clear
AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(carjmbre_videoram_w) AM_BASE_MEMBER(carjmbre_state, videoram)
- AM_RANGE(0x9800, 0x985f) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(carjmbre_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x9800, 0x985f) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(carjmbre_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0x9880, 0x98df) AM_WRITE(SMH_RAM) //spriteram mirror
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("P1")
AM_RANGE(0xa800, 0xa800) AM_READ_PORT("P2")
diff --git a/src/mame/drivers/cave.c b/src/mame/drivers/cave.c
index b3930c5acb4..68bdb284e87 100644
--- a/src/mame/drivers/cave.c
+++ b/src/mame/drivers/cave.c
@@ -466,11 +466,11 @@ static ADDRESS_MAP_START( dfeveron_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM
AM_RANGE(0x300000, 0x300003) AM_DEVREADWRITE8("ymz", ymz280b_r, ymz280b_w, 0x00ff) // YMZ280
-/**/AM_RANGE(0x400000, 0x407fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+/**/AM_RANGE(0x400000, 0x407fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
/**/AM_RANGE(0x408000, 0x40ffff) AM_RAM AM_BASE(&cave_spriteram16_2) // Sprites?
/**/AM_RANGE(0x500000, 0x507fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE(&cave_vram_0) // Layer 0
/**/AM_RANGE(0x600000, 0x607fff) AM_RAM_WRITE(cave_vram_1_w) AM_BASE(&cave_vram_1) // Layer 1
-/**/AM_RANGE(0x708000, 0x708fff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&cave_paletteram_size) // Palette
+/**/AM_RANGE(0x708000, 0x708fff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&cave_paletteram_size) // Palette
/**/AM_RANGE(0x710000, 0x710bff) AM_READ(SMH_RAM) // ?
AM_RANGE(0x710c00, 0x710fff) AM_RAM // ?
AM_RANGE(0x800000, 0x800007) AM_READ(cave_irq_cause_r) // IRQ Cause
@@ -491,7 +491,7 @@ static ADDRESS_MAP_START( ddonpach_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM
AM_RANGE(0x300000, 0x300003) AM_DEVREADWRITE8("ymz", ymz280b_r, ymz280b_w, 0x00ff) // YMZ280
-/**/AM_RANGE(0x400000, 0x407fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+/**/AM_RANGE(0x400000, 0x407fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
/**/AM_RANGE(0x408000, 0x40ffff) AM_RAM AM_BASE(&cave_spriteram16_2) // Sprites?
/**/AM_RANGE(0x500000, 0x507fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE(&cave_vram_0) // Layer 0
/**/AM_RANGE(0x600000, 0x607fff) AM_RAM_WRITE(cave_vram_1_w) AM_BASE(&cave_vram_1) // Layer 1
@@ -501,7 +501,7 @@ static ADDRESS_MAP_START( ddonpach_map, ADDRESS_SPACE_PROGRAM, 16 )
/**/AM_RANGE(0x900000, 0x900005) AM_RAM AM_BASE(&cave_vctrl_0) // Layer 0 Control
/**/AM_RANGE(0xa00000, 0xa00005) AM_RAM AM_BASE(&cave_vctrl_1) // Layer 1 Control
/**/AM_RANGE(0xb00000, 0xb00005) AM_RAM AM_BASE(&cave_vctrl_2) // Layer 2 Control
-/**/AM_RANGE(0xc00000, 0xc0ffff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&cave_paletteram_size) // Palette
+/**/AM_RANGE(0xc00000, 0xc0ffff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&cave_paletteram_size) // Palette
AM_RANGE(0xd00000, 0xd00001) AM_READ_PORT("IN0" ) // Inputs
AM_RANGE(0xd00002, 0xd00003) AM_READ_PORT("IN1" ) // Inputs + EEPROM
AM_RANGE(0xe00000, 0xe00001) AM_WRITE(cave_eeprom_msb_w) // EEPROM
@@ -543,13 +543,13 @@ static ADDRESS_MAP_START( donpachi_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x200000, 0x207fff) AM_RAM_WRITE(cave_vram_1_w) AM_BASE(&cave_vram_1) // Layer 1
AM_RANGE(0x300000, 0x307fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE(&cave_vram_0) // Layer 0
AM_RANGE(0x400000, 0x407fff) AM_RAM_WRITE(cave_vram_2_8x8_w) AM_BASE(&cave_vram_2) // Layer 2
- AM_RANGE(0x500000, 0x507fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x500000, 0x507fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0x508000, 0x50ffff) AM_RAM AM_BASE(&cave_spriteram16_2) // Sprites?
/**/AM_RANGE(0x600000, 0x600005) AM_RAM AM_BASE(&cave_vctrl_1) // Layer 1 Control
/**/AM_RANGE(0x700000, 0x700005) AM_RAM AM_BASE(&cave_vctrl_0) // Layer 0 Control
/**/AM_RANGE(0x800000, 0x800005) AM_RAM AM_BASE(&cave_vctrl_2) // Layer 2 Control
AM_RANGE(0x900000, 0x90007f) AM_READWRITE(donpachi_videoregs_r, SMH_RAM) AM_BASE(&cave_videoregs) // Video Regs
-/**/AM_RANGE(0xa08000, 0xa08fff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&cave_paletteram_size) // Palette
+/**/AM_RANGE(0xa08000, 0xa08fff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&cave_paletteram_size) // Palette
AM_RANGE(0xb00000, 0xb00003) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x00ff) // M6295
AM_RANGE(0xb00010, 0xb00013) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x00ff) //
AM_RANGE(0xb00020, 0xb0002f) AM_WRITE(NMK112_okibank_lsb_w) //
@@ -567,7 +567,7 @@ static ADDRESS_MAP_START( esprade_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM
AM_RANGE(0x300000, 0x300003) AM_DEVREADWRITE8("ymz", ymz280b_r, ymz280b_w, 0x00ff) // YMZ280
-/**/AM_RANGE(0x400000, 0x407fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+/**/AM_RANGE(0x400000, 0x407fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
/**/AM_RANGE(0x408000, 0x40ffff) AM_RAM AM_BASE(&cave_spriteram16_2) // Sprites?
/**/AM_RANGE(0x500000, 0x507fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE(&cave_vram_0) // Layer 0
/**/AM_RANGE(0x600000, 0x607fff) AM_RAM_WRITE(cave_vram_1_w) AM_BASE(&cave_vram_1) // Layer 1
@@ -577,7 +577,7 @@ static ADDRESS_MAP_START( esprade_map, ADDRESS_SPACE_PROGRAM, 16 )
/**/AM_RANGE(0x900000, 0x900005) AM_RAM AM_BASE(&cave_vctrl_0) // Layer 0 Control
/**/AM_RANGE(0xa00000, 0xa00005) AM_RAM AM_BASE(&cave_vctrl_1) // Layer 1 Control
/**/AM_RANGE(0xb00000, 0xb00005) AM_RAM AM_BASE(&cave_vctrl_2) // Layer 2 Control
-/**/AM_RANGE(0xc00000, 0xc0ffff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&cave_paletteram_size) // Palette
+/**/AM_RANGE(0xc00000, 0xc0ffff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&cave_paletteram_size) // Palette
AM_RANGE(0xd00000, 0xd00001) AM_READ_PORT("IN0" ) // Inputs
AM_RANGE(0xd00002, 0xd00003) AM_READ_PORT("IN1" ) // Inputs + EEPROM
AM_RANGE(0xe00000, 0xe00001) AM_WRITE(cave_eeprom_msb_w ) // EEPROM
@@ -592,7 +592,7 @@ static ADDRESS_MAP_START( gaia_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM
AM_RANGE(0x300000, 0x300003) AM_DEVREADWRITE8("ymz", ymz280b_r, ymz280b_w, 0x00ff) // YMZ280
- AM_RANGE(0x400000, 0x407fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprite bank 1
+ AM_RANGE(0x400000, 0x407fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprite bank 1
AM_RANGE(0x408000, 0x40ffff) AM_RAM AM_BASE(&cave_spriteram16_2) // Sprite bank 2
AM_RANGE(0x500000, 0x507fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE(&cave_vram_0) // Layer 0
AM_RANGE(0x508000, 0x50ffff) AM_RAM // More Layer 0, Tested but not used?
@@ -605,7 +605,7 @@ static ADDRESS_MAP_START( gaia_map, ADDRESS_SPACE_PROGRAM, 16 )
/**/AM_RANGE(0x900000, 0x900005) AM_RAM AM_BASE(&cave_vctrl_0) // Layer 0 Control
/**/AM_RANGE(0xa00000, 0xa00005) AM_RAM AM_BASE(&cave_vctrl_1) // Layer 1 Control
/**/AM_RANGE(0xb00000, 0xb00005) AM_RAM AM_BASE(&cave_vctrl_2) // Layer 2 Control
- AM_RANGE(0xc00000, 0xc0ffff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&cave_paletteram_size) // Palette
+ AM_RANGE(0xc00000, 0xc0ffff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&cave_paletteram_size) // Palette
AM_RANGE(0xd00010, 0xd00011) AM_READ_PORT("IN0") // Inputs
AM_RANGE(0xd00010, 0xd00011) AM_WRITE(gaia_coin_lsb_w) // Coin counter only
AM_RANGE(0xd00012, 0xd00013) AM_READ_PORT("IN1") // Inputs
@@ -623,7 +623,7 @@ static ADDRESS_MAP_START( guwange_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM
AM_RANGE(0x300000, 0x300007) AM_READ(cave_irq_cause_r) // IRQ Cause
AM_RANGE(0x300000, 0x30007f) AM_WRITE(SMH_RAM) AM_BASE(&cave_videoregs) // Video Regs
-/**/AM_RANGE(0x400000, 0x407fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+/**/AM_RANGE(0x400000, 0x407fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
/**/AM_RANGE(0x408000, 0x40ffff) AM_RAM AM_BASE(&cave_spriteram16_2) // Sprites?
/**/AM_RANGE(0x500000, 0x507fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE(&cave_vram_0) // Layer 0
/**/AM_RANGE(0x600000, 0x607fff) AM_RAM_WRITE(cave_vram_1_w) AM_BASE(&cave_vram_1) // Layer 1
@@ -632,7 +632,7 @@ static ADDRESS_MAP_START( guwange_map, ADDRESS_SPACE_PROGRAM, 16 )
/**/AM_RANGE(0x900000, 0x900005) AM_RAM AM_BASE(&cave_vctrl_0) // Layer 0 Control
/**/AM_RANGE(0xa00000, 0xa00005) AM_RAM AM_BASE(&cave_vctrl_1) // Layer 1 Control
/**/AM_RANGE(0xb00000, 0xb00005) AM_RAM AM_BASE(&cave_vctrl_2) // Layer 2 Control
-/**/AM_RANGE(0xc00000, 0xc0ffff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&cave_paletteram_size) // Palette
+/**/AM_RANGE(0xc00000, 0xc0ffff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&cave_paletteram_size) // Palette
AM_RANGE(0xd00010, 0xd00011) AM_READ_PORT("IN0") // Inputs
AM_RANGE(0xd00010, 0xd00011) AM_WRITE(cave_eeprom_lsb_w) // EEPROM
AM_RANGE(0xd00012, 0xd00013) AM_READ_PORT("IN1") // Inputs + EEPROM
@@ -648,7 +648,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( hotdogst_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x300000, 0x30ffff) AM_RAM // RAM
-/**/AM_RANGE(0x408000, 0x408fff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&cave_paletteram_size) // Palette
+/**/AM_RANGE(0x408000, 0x408fff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&cave_paletteram_size) // Palette
/**/AM_RANGE(0x880000, 0x887fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE(&cave_vram_0) // Layer 0
/**/AM_RANGE(0x900000, 0x907fff) AM_RAM_WRITE(cave_vram_1_w) AM_BASE(&cave_vram_1) // Layer 1
/**/AM_RANGE(0x980000, 0x987fff) AM_RAM_WRITE(cave_vram_2_w) AM_BASE(&cave_vram_2) // Layer 2
@@ -663,7 +663,7 @@ static ADDRESS_MAP_START( hotdogst_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xc80002, 0xc80003) AM_READ_PORT("IN1") // Inputs + EEPROM
AM_RANGE(0xd00000, 0xd00001) AM_WRITE(hotdogst_eeprom_msb_w) // EEPROM
AM_RANGE(0xd00002, 0xd00003) AM_WRITE(SMH_NOP) // ???
-/**/AM_RANGE(0xf00000, 0xf07fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+/**/AM_RANGE(0xf00000, 0xf07fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
/**/AM_RANGE(0xf08000, 0xf0ffff) AM_RAM AM_BASE(&cave_spriteram16_2) // Sprites?
ADDRESS_MAP_END
@@ -742,11 +742,11 @@ static ADDRESS_MAP_START( korokoro_map, ADDRESS_SPACE_PROGRAM, 16 )
// AM_RANGE(0x140000, 0x140005) AM_READ(SMH_RAM) // Layer 0 Control
AM_RANGE(0x140000, 0x140005) AM_WRITE(SMH_RAM) AM_BASE(&cave_vctrl_0) // Layer 0 Control
// AM_RANGE(0x180000, 0x187fff) AM_READ(SMH_RAM) // Sprites
- AM_RANGE(0x180000, 0x187fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x180000, 0x187fff) AM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0x1c0000, 0x1c0007) AM_READ(cave_irq_cause_r) // IRQ Cause
AM_RANGE(0x1c0000, 0x1c007f) AM_WRITE(SMH_RAM) AM_BASE(&cave_videoregs) // Video Regs
// AM_RANGE(0x200000, 0x207fff) AM_READ(SMH_RAM) // Palette
- AM_RANGE(0x200000, 0x207fff) AM_WRITE(SMH_RAM) AM_BASE(&paletteram16) AM_SIZE(&cave_paletteram_size) // Palette
+ AM_RANGE(0x200000, 0x207fff) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(paletteram) AM_SIZE(&cave_paletteram_size) // Palette
// AM_RANGE(0x240000, 0x240003) AM_DEVREAD8( "ymz", ymz280b_r, 0x00ff) // YMZ280
AM_RANGE(0x240000, 0x240003) AM_DEVWRITE8( "ymz", ymz280b_w, 0x00ff) // YMZ280
AM_RANGE(0x280000, 0x280001) AM_READ_PORT("IN0") // Inputs + ???
@@ -765,7 +765,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( mazinger_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM
-/**/AM_RANGE(0x200000, 0x207fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+/**/AM_RANGE(0x200000, 0x207fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
/**/AM_RANGE(0x208000, 0x20ffff) AM_RAM AM_BASE(&cave_spriteram16_2) // Sprites?
AM_RANGE(0x300000, 0x300007) AM_READ(cave_irq_cause_r) // IRQ Cause
AM_RANGE(0x300068, 0x300069) AM_WRITE(watchdog_reset16_w) // Watchdog
@@ -778,7 +778,7 @@ static ADDRESS_MAP_START( mazinger_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("IN0") // Inputs
AM_RANGE(0x800002, 0x800003) AM_READ_PORT("IN1") // Inputs + EEPROM
AM_RANGE(0x900000, 0x900001) AM_WRITE(cave_eeprom_msb_w) // EEPROM
-/**/AM_RANGE(0xc08000, 0xc0ffff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&cave_paletteram_size) // Palette
+/**/AM_RANGE(0xc08000, 0xc0ffff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&cave_paletteram_size) // Palette
AM_RANGE(0xd00000, 0xd7ffff) AM_ROMBANK(1) // ROM
ADDRESS_MAP_END
@@ -791,7 +791,7 @@ static ADDRESS_MAP_START( metmqstr_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x17ffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x27ffff) AM_ROM // ROM
- AM_RANGE(0x408000, 0x408fff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&cave_paletteram_size) // Palette
+ AM_RANGE(0x408000, 0x408fff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&cave_paletteram_size) // Palette
AM_RANGE(0x600000, 0x600001) AM_READ(watchdog_reset16_r) // Watchdog?
AM_RANGE(0x880000, 0x887fff) AM_RAM_WRITE(cave_vram_2_w) AM_BASE(&cave_vram_2) // Layer 2
AM_RANGE(0x888000, 0x88ffff) AM_RAM //
@@ -810,7 +810,7 @@ static ADDRESS_MAP_START( metmqstr_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xc80000, 0xc80001) AM_READ_PORT("IN0") // Inputs
AM_RANGE(0xc80002, 0xc80003) AM_READ_PORT("IN1") // Inputs + EEPROM
AM_RANGE(0xd00000, 0xd00001) AM_WRITE(metmqstr_eeprom_msb_w) // EEPROM
- AM_RANGE(0xf00000, 0xf07fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0xf00000, 0xf07fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0xf08000, 0xf0ffff) AM_RAM AM_BASE(&cave_spriteram16_2) // RAM
ADDRESS_MAP_END
@@ -855,7 +855,7 @@ static ADDRESS_MAP_START( pwrinst2_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x880000, 0x887fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE(&cave_vram_0) // Layer 0
AM_RANGE(0x900000, 0x907fff) AM_RAM_WRITE(cave_vram_1_w) AM_BASE(&cave_vram_1) // Layer 1
AM_RANGE(0x980000, 0x987fff) AM_RAM_WRITE(cave_vram_3_8x8_w) AM_BASE(&cave_vram_3) // Layer 3
- AM_RANGE(0xa00000, 0xa07fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0xa00000, 0xa07fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0xa08000, 0xa0ffff) AM_RAM AM_BASE(&cave_spriteram16_2) // Sprites?
AM_RANGE(0xa10000, 0xa1ffff) AM_RAM // Sprites?
AM_RANGE(0xa80000, 0xa8007f) AM_READWRITE(donpachi_videoregs_r, SMH_RAM) AM_BASE(&cave_videoregs) // Video Regs
@@ -866,7 +866,7 @@ static ADDRESS_MAP_START( pwrinst2_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xd80000, 0xd80001) AM_READ(soundlatch_ack_r) // ? From Sound CPU
AM_RANGE(0xe00000, 0xe00001) AM_WRITE(sound_cmd_w) // To Sound CPU
AM_RANGE(0xe80000, 0xe80001) AM_READ(pwrinst2_eeprom_r) // EEPROM
- AM_RANGE(0xf00000, 0xf04fff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&cave_paletteram_size) // Palette
+ AM_RANGE(0xf00000, 0xf04fff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&cave_paletteram_size) // Palette
ADDRESS_MAP_END
@@ -900,10 +900,10 @@ static ADDRESS_MAP_START( sailormn_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x110000, 0x110001) AM_RAM // (agallet)
AM_RANGE(0x200000, 0x3fffff) AM_ROM // ROM
AM_RANGE(0x400000, 0x407fff) AM_RAM // (agallet)
- AM_RANGE(0x408000, 0x40bfff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&cave_paletteram_size) // Palette
+ AM_RANGE(0x408000, 0x40bfff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&cave_paletteram_size) // Palette
AM_RANGE(0x40c000, 0x40ffff) AM_RAM // (agallet)
AM_RANGE(0x410000, 0x410001) AM_RAM // (agallet)
- AM_RANGE(0x500000, 0x507fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x500000, 0x507fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0x508000, 0x50ffff) AM_RAM AM_BASE(&cave_spriteram16_2) // Sprites?
AM_RANGE(0x510000, 0x510001) AM_RAM // (agallet)
AM_RANGE(0x600000, 0x600001) AM_READ(sailormn_input0_r) // Inputs + Watchdog!
@@ -932,13 +932,13 @@ static ADDRESS_MAP_START( uopoko_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM
AM_RANGE(0x300000, 0x300003) AM_DEVREADWRITE8("ymz", ymz280b_r, ymz280b_w, 0x00ff) // YMZ280
-/**/AM_RANGE(0x400000, 0x407fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+/**/AM_RANGE(0x400000, 0x407fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
/**/AM_RANGE(0x408000, 0x40ffff) AM_RAM AM_BASE(&cave_spriteram16_2) // Sprites?
/**/AM_RANGE(0x500000, 0x507fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE(&cave_vram_0) // Layer 0
AM_RANGE(0x600000, 0x600007) AM_READ(cave_irq_cause_r) // IRQ Cause
AM_RANGE(0x600000, 0x60007f) AM_WRITE(SMH_RAM) AM_BASE(&cave_videoregs) // Video Regs
/**/AM_RANGE(0x700000, 0x700005) AM_RAM AM_BASE(&cave_vctrl_0) // Layer 0 Control
-/**/AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&cave_paletteram_size) // Palette
+/**/AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&cave_paletteram_size) // Palette
AM_RANGE(0x900000, 0x900001) AM_READ_PORT("IN0") // Inputs
AM_RANGE(0x900002, 0x900003) AM_READ_PORT("IN1") // Inputs + EEPROM
AM_RANGE(0xa00000, 0xa00001) AM_WRITE(cave_eeprom_msb_w) // EEPROM
diff --git a/src/mame/drivers/cbasebal.c b/src/mame/drivers/cbasebal.c
index 418a4a2d62e..4fa25189f2b 100644
--- a/src/mame/drivers/cbasebal.c
+++ b/src/mame/drivers/cbasebal.c
@@ -53,7 +53,7 @@ static READ8_HANDLER( bankedram_r )
else if (rambank == 1)
{
if (offset < 0x800)
- return paletteram[offset];
+ return space->machine->generic.paletteram.u8[offset];
else return 0;
}
else
@@ -134,9 +134,9 @@ static WRITE8_HANDLER( eeprom_serial_w )
static ADDRESS_MAP_START( cbasebal_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
- AM_RANGE(0xc000, 0xcfff) AM_READWRITE(bankedram_r, bankedram_w) AM_BASE(&paletteram) /* palette + vram + scrollram */
+ AM_RANGE(0xc000, 0xcfff) AM_READWRITE(bankedram_r, bankedram_w) AM_BASE_GENERIC(paletteram) /* palette + vram + scrollram */
AM_RANGE(0xe000, 0xfdff) AM_RAM /* work RAM */
- AM_RANGE(0xfe00, 0xffff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xfe00, 0xffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( cbasebal_portmap, ADDRESS_SPACE_IO, 8 )
diff --git a/src/mame/drivers/cbuster.c b/src/mame/drivers/cbuster.c
index 434d2f613e4..5fa016300c5 100644
--- a/src/mame/drivers/cbuster.c
+++ b/src/mame/drivers/cbuster.c
@@ -124,12 +124,12 @@ static ADDRESS_MAP_START( twocrude_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0ac000, 0x0ac7ff) AM_RAM AM_BASE(&deco16_pf3_rowscroll)
AM_RANGE(0x0ae000, 0x0ae7ff) AM_RAM AM_BASE(&deco16_pf4_rowscroll)
- AM_RANGE(0x0b0000, 0x0b07ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x0b0000, 0x0b07ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x0b4000, 0x0b4001) AM_WRITENOP
AM_RANGE(0x0b5000, 0x0b500f) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf12_control)
AM_RANGE(0x0b6000, 0x0b600f) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf34_control)
- AM_RANGE(0x0b8000, 0x0b8fff) AM_RAM_WRITE(twocrude_palette_24bit_rg_w) AM_BASE(&paletteram16)
- AM_RANGE(0x0b9000, 0x0b9fff) AM_RAM_WRITE(twocrude_palette_24bit_b_w) AM_BASE(&paletteram16_2)
+ AM_RANGE(0x0b8000, 0x0b8fff) AM_RAM_WRITE(twocrude_palette_24bit_rg_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0b9000, 0x0b9fff) AM_RAM_WRITE(twocrude_palette_24bit_b_w) AM_BASE_GENERIC(paletteram2)
AM_RANGE(0x0bc000, 0x0bc00f) AM_READWRITE(twocrude_control_r, twocrude_control_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ccastles.c b/src/mame/drivers/ccastles.c
index 68a7f7837e5..7072d511f79 100644
--- a/src/mame/drivers/ccastles.c
+++ b/src/mame/drivers/ccastles.c
@@ -234,12 +234,12 @@ static MACHINE_START( ccastles )
schedule_next_irq(machine, 0);
/* allocate backing memory for the NVRAM */
- machine->generic.nvram.ptr.u8 = auto_alloc_array(machine, UINT8, machine->generic.nvram.size);
+ machine->generic.nvram.u8 = auto_alloc_array(machine, UINT8, machine->generic.nvram_size);
/* setup for save states */
state_save_register_global(machine, state->irq_state);
state_save_register_global_array(machine, state->nvram_store);
- state_save_register_global_pointer(machine, machine->generic.nvram.ptr.u8, machine->generic.nvram.size);
+ state_save_register_global_pointer(machine, machine->generic.nvram.u8, machine->generic.nvram_size);
}
@@ -307,19 +307,19 @@ static NVRAM_HANDLER( ccastles )
if (read_or_write)
{
/* on power down, the EAROM is implicitly stored */
- memcpy(machine->generic.nvram.ptr.v, nvram_stage, machine->generic.nvram.size);
- mame_fwrite(file, machine->generic.nvram.ptr.v, machine->generic.nvram.size);
+ memcpy(machine->generic.nvram.v, nvram_stage, machine->generic.nvram_size);
+ mame_fwrite(file, machine->generic.nvram.v, machine->generic.nvram_size);
}
else if (file)
- mame_fread(file, machine->generic.nvram.ptr.v, machine->generic.nvram.size);
+ mame_fread(file, machine->generic.nvram.v, machine->generic.nvram_size);
else
- memset(machine->generic.nvram.ptr.v, 0, machine->generic.nvram.size);
+ memset(machine->generic.nvram.v, 0, machine->generic.nvram_size);
}
static WRITE8_HANDLER( nvram_recall_w )
{
- memcpy(nvram_stage, space->machine->generic.nvram.ptr.v, space->machine->generic.nvram.size);
+ memcpy(nvram_stage, space->machine->generic.nvram.v, space->machine->generic.nvram_size);
}
@@ -329,7 +329,7 @@ static WRITE8_HANDLER( nvram_store_w )
state->nvram_store[offset] = data & 1;
if (!state->nvram_store[0] && state->nvram_store[1])
- memcpy(space->machine->generic.nvram.ptr.v, nvram_stage, space->machine->generic.nvram.size);
+ memcpy(space->machine->generic.nvram.v, nvram_stage, space->machine->generic.nvram_size);
}
diff --git a/src/mame/drivers/centiped.c b/src/mame/drivers/centiped.c
index c9689eaa3a6..577d8010d57 100644
--- a/src/mame/drivers/centiped.c
+++ b/src/mame/drivers/centiped.c
@@ -674,8 +674,8 @@ static READ8_DEVICE_HANDLER( caterplr_AY8910_r )
static ADDRESS_MAP_START( centiped_map, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x03ff) AM_RAM AM_BASE(&rambase)
- AM_RANGE(0x0400, 0x07bf) AM_RAM_WRITE(centiped_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x07c0, 0x07ff) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0x0400, 0x07bf) AM_RAM_WRITE(centiped_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x07c0, 0x07ff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x0800, 0x0800) AM_READ_PORT("DSW1") /* DSW1 */
AM_RANGE(0x0801, 0x0801) AM_READ_PORT("DSW2") /* DSW2 */
AM_RANGE(0x0c00, 0x0c00) AM_READ(centiped_IN0_r) /* IN0 */
@@ -683,7 +683,7 @@ static ADDRESS_MAP_START( centiped_map, ADDRESS_SPACE_PROGRAM, 8 )
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("pokey", pokey_r, pokey_w)
- AM_RANGE(0x1400, 0x140f) AM_WRITE(centiped_paletteram_w) AM_BASE(&paletteram)
+ AM_RANGE(0x1400, 0x140f) AM_WRITE(centiped_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x1600, 0x163f) AM_DEVWRITE("earom", atari_vg_earom_w)
AM_RANGE(0x1680, 0x1680) AM_DEVWRITE("earom", atari_vg_earom_ctrl_w)
AM_RANGE(0x1700, 0x173f) AM_DEVREAD("earom", atari_vg_earom_r)
@@ -699,8 +699,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( centipdb_map, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x03ff) AM_MIRROR(0x4000) AM_RAM
- AM_RANGE(0x0400, 0x07bf) AM_MIRROR(0x4000) AM_RAM_WRITE(centiped_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x07c0, 0x07ff) AM_MIRROR(0x4000) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0x0400, 0x07bf) AM_MIRROR(0x4000) AM_RAM_WRITE(centiped_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x07c0, 0x07ff) AM_MIRROR(0x4000) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x0800, 0x0800) AM_MIRROR(0x4000) AM_READ_PORT("DSW1") /* DSW1 */
AM_RANGE(0x0801, 0x0801) AM_MIRROR(0x4000) AM_READ_PORT("DSW2") /* DSW2 */
AM_RANGE(0x0c00, 0x0c00) AM_MIRROR(0x4000) AM_READ(centiped_IN0_r) /* IN0 */
@@ -709,7 +709,7 @@ static ADDRESS_MAP_START( centipdb_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0c03, 0x0c03) AM_MIRROR(0x4000) AM_READ_PORT("IN3") /* IN3 */
AM_RANGE(0x1000, 0x1001) AM_MIRROR(0x4000) AM_DEVWRITE("pokey", ay8910_data_address_w)
AM_RANGE(0x1001, 0x1001) AM_MIRROR(0x4000) AM_DEVREAD("pokey", ay8910_r)
- AM_RANGE(0x1400, 0x140f) AM_MIRROR(0x4000) AM_WRITE(centiped_paletteram_w) AM_BASE(&paletteram)
+ AM_RANGE(0x1400, 0x140f) AM_MIRROR(0x4000) AM_WRITE(centiped_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x1600, 0x163f) AM_MIRROR(0x4000) AM_DEVWRITE("earom", atari_vg_earom_w)
AM_RANGE(0x1680, 0x1680) AM_MIRROR(0x4000) AM_DEVWRITE("earom", atari_vg_earom_ctrl_w)
AM_RANGE(0x1700, 0x173f) AM_MIRROR(0x4000) AM_DEVREAD("earom", atari_vg_earom_r)
@@ -735,14 +735,14 @@ static ADDRESS_MAP_START( milliped_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x040f) AM_DEVREADWRITE("pokey", pokey_r, pokey_w)
AM_RANGE(0x0800, 0x080f) AM_DEVREADWRITE("pokey2", pokey_r, pokey_w)
- AM_RANGE(0x1000, 0x13bf) AM_RAM_WRITE(centiped_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x13c0, 0x13ff) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0x1000, 0x13bf) AM_RAM_WRITE(centiped_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x13c0, 0x13ff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x2000, 0x2000) AM_READ(centiped_IN0_r)
AM_RANGE(0x2001, 0x2001) AM_READ(milliped_IN1_r)
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_r)
- AM_RANGE(0x2480, 0x249f) AM_WRITE(milliped_paletteram_w) AM_BASE(&paletteram)
+ AM_RANGE(0x2480, 0x249f) AM_WRITE(milliped_paletteram_w) AM_BASE_GENERIC(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 */
@@ -766,8 +766,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( warlords_map, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x03ff) AM_RAM
- AM_RANGE(0x0400, 0x07bf) AM_RAM_WRITE(centiped_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x07c0, 0x07ff) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0x0400, 0x07bf) AM_RAM_WRITE(centiped_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x07c0, 0x07ff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x0800, 0x0800) AM_READ_PORT("DSW1") /* DSW1 */
AM_RANGE(0x0801, 0x0801) AM_READ_PORT("DSW2") /* DSW2 */
AM_RANGE(0x0c00, 0x0c00) AM_READ_PORT("IN0") /* IN0 */
@@ -793,15 +793,15 @@ static ADDRESS_MAP_START( mazeinv_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x040f) AM_DEVREADWRITE("pokey", pokey_r, pokey_w)
AM_RANGE(0x0800, 0x080f) AM_DEVREADWRITE("pokey2", pokey_r, pokey_w)
- AM_RANGE(0x1000, 0x13bf) AM_RAM_WRITE(centiped_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x13c0, 0x13ff) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0x1000, 0x13bf) AM_RAM_WRITE(centiped_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x13c0, 0x13ff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x2000, 0x2000) AM_READ_PORT("IN0")
AM_RANGE(0x2001, 0x2001) AM_READ_PORT("IN1")
AM_RANGE(0x2010, 0x2010) AM_READ_PORT("IN2")
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_r)
- AM_RANGE(0x2480, 0x249f) AM_WRITE(mazeinv_paletteram_w) AM_BASE(&paletteram)
+ AM_RANGE(0x2480, 0x249f) AM_WRITE(mazeinv_paletteram_w) AM_BASE_GENERIC(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)
@@ -831,14 +831,14 @@ static ADDRESS_MAP_START( bullsdrt_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1200, 0x123f) AM_MIRROR(0x6000) AM_DEVREADWRITE("earom", atari_vg_earom_r, atari_vg_earom_w)
AM_RANGE(0x1280, 0x1280) AM_MIRROR(0x6000) AM_DEVWRITE("earom", atari_vg_earom_ctrl_w)
AM_RANGE(0x1300, 0x1300) AM_MIRROR(0x6000) AM_READ_PORT("DSW2")
- AM_RANGE(0x1400, 0x140f) AM_MIRROR(0x6000) AM_WRITE(centiped_paletteram_w) AM_BASE(&paletteram)
+ AM_RANGE(0x1400, 0x140f) AM_MIRROR(0x6000) AM_WRITE(centiped_paletteram_w) AM_BASE_GENERIC(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(centiped_flip_screen_w)
AM_RANGE(0x1500, 0x1500) AM_MIRROR(0x6000) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x1580, 0x1580) AM_MIRROR(0x6000) AM_NOP
- AM_RANGE(0x1800, 0x1bbf) AM_MIRROR(0x6000) AM_WRITE(centiped_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x1bc0, 0x1bff) AM_MIRROR(0x6000) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0x1800, 0x1bbf) AM_MIRROR(0x6000) AM_WRITE(centiped_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x1bc0, 0x1bff) AM_MIRROR(0x6000) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x1c00, 0x1fff) AM_MIRROR(0x6000) AM_RAM
AM_RANGE(0x2000, 0x2fff) AM_ROM
AM_RANGE(0x4000, 0x4fff) AM_ROM
diff --git a/src/mame/drivers/champbas.c b/src/mame/drivers/champbas.c
index 065fc89c1de..388f6268c40 100644
--- a/src/mame/drivers/champbas.c
+++ b/src/mame/drivers/champbas.c
@@ -216,7 +216,7 @@ static ADDRESS_MAP_START( talbot_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x7000, 0x7001) AM_DEVWRITE("aysnd", ay8910_data_address_w)
AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(champbas_bg_videoram_w) AM_BASE_MEMBER(champbas_state, bg_videoram)
AM_RANGE(0x8800, 0x8fef) AM_RAM
- AM_RANGE(0x8ff0, 0x8fff) AM_RAM AM_BASE_MEMBER(champbas_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x8ff0, 0x8fff) AM_RAM AM_BASE_MEMBER(champbas_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("P1")
AM_RANGE(0xa040, 0xa040) AM_READ_PORT("P2")
@@ -244,7 +244,7 @@ static ADDRESS_MAP_START( champbas_main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x7800, 0x7fff) AM_ROM // champbb2 only
AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(champbas_bg_videoram_w) AM_BASE_MEMBER(champbas_state, bg_videoram)
AM_RANGE(0x8800, 0x8fef) AM_RAM
- AM_RANGE(0x8ff0, 0x8fff) AM_RAM AM_BASE_MEMBER(champbas_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x8ff0, 0x8fff) AM_RAM AM_BASE_MEMBER(champbas_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("P1")
AM_RANGE(0xa040, 0xa040) AM_READ_PORT("P2")
diff --git a/src/mame/drivers/chinagat.c b/src/mame/drivers/chinagat.c
index dcc8c3f9bce..067289d88e6 100644
--- a/src/mame/drivers/chinagat.c
+++ b/src/mame/drivers/chinagat.c
@@ -316,9 +316,9 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE(1)
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(ddragon_fgvideoram_w) AM_BASE_MEMBER(ddragon_state, fgvideoram)
AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(ddragon_bgvideoram_w) AM_BASE_MEMBER(ddragon_state, bgvideoram)
- AM_RANGE(0x3000, 0x317f) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE(&paletteram)
- AM_RANGE(0x3400, 0x357f) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE(&paletteram_2)
- AM_RANGE(0x3800, 0x397f) AM_WRITE(SMH_BANK(3)) AM_BASE_MEMBER(ddragon_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x3000, 0x317f) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x3400, 0x357f) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0x3800, 0x397f) AM_WRITE(SMH_BANK(3)) AM_BASE_MEMBER(ddragon_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0x3e00, 0x3e04) AM_WRITE(chinagat_interrupt_w)
AM_RANGE(0x3e06, 0x3e06) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(ddragon_state, scrolly_lo)
AM_RANGE(0x3e07, 0x3e07) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(ddragon_state, scrollx_lo)
diff --git a/src/mame/drivers/chqflag.c b/src/mame/drivers/chqflag.c
index 5421d178473..892886dee85 100644
--- a/src/mame/drivers/chqflag.c
+++ b/src/mame/drivers/chqflag.c
@@ -57,7 +57,7 @@ static WRITE8_HANDLER( chqflag_bankswitch_w )
if (data & 0x20)
{
memory_install_readwrite8_handler(space, 0x1800, 0x1fff, 0, 0, (read8_space_func)SMH_BANK(5), paletteram_xBBBBBGGGGGRRRRR_be_w);
- memory_set_bankptr(space->machine, 5, paletteram);
+ memory_set_bankptr(space->machine, 5, space->machine->generic.paletteram.v);
if (K051316_readroms)
memory_install_readwrite8_handler(space, 0x1000, 0x17ff, 0, 0, K051316_rom_0_r, K051316_0_w); /* 051316 #1 (ROM test) */
@@ -440,7 +440,7 @@ static DRIVER_INIT( chqflag )
UINT8 *RAM = memory_region(machine, "maincpu");
konami_rom_deinterleave_2(machine, "gfx1");
- paletteram = &RAM[0x58000];
+ machine->generic.paletteram.u8 = &RAM[0x58000];
}
GAMEL( 1988, chqflag, 0, chqflag, chqflag, chqflag, ROT90, "Konami", "Chequered Flag", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND, layout_chqflag )
diff --git a/src/mame/drivers/circusc.c b/src/mame/drivers/circusc.c
index 7aea2b5a0be..33ead2f7edd 100644
--- a/src/mame/drivers/circusc.c
+++ b/src/mame/drivers/circusc.c
@@ -162,7 +162,7 @@ static ADDRESS_MAP_START( circusc_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x3000, 0x33ff) AM_RAM_WRITE(circusc_colorram_w) AM_BASE_MEMBER(circusc_state, colorram) /* colorram */
AM_RANGE(0x3400, 0x37ff) AM_RAM_WRITE(circusc_videoram_w) AM_BASE_MEMBER(circusc_state, videoram) /* videoram */
AM_RANGE(0x3800, 0x38ff) AM_RAM AM_BASE_MEMBER(circusc_state, spriteram_2) /* spriteram2 */
- AM_RANGE(0x3900, 0x39ff) AM_RAM AM_BASE_MEMBER(circusc_state, spriteram) AM_SIZE(&spriteram_size) /* spriteram */
+ AM_RANGE(0x3900, 0x39ff) AM_RAM AM_BASE_MEMBER(circusc_state, spriteram) AM_SIZE_GENERIC(spriteram) /* spriteram */
AM_RANGE(0x3a00, 0x3fff) AM_RAM
AM_RANGE(0x6000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cischeat.c b/src/mame/drivers/cischeat.c
index e97de60a767..7ccecfb2207 100644
--- a/src/mame/drivers/cischeat.c
+++ b/src/mame/drivers/cischeat.c
@@ -205,7 +205,7 @@ static READ16_HANDLER( rom_3_r ) {return rom_3[offset];}
static WRITE16_HANDLER( bigrun_paletteram16_w )
{
- UINT16 word = COMBINE_DATA(&paletteram16[offset]);
+ UINT16 word = COMBINE_DATA(&space->machine->generic.paletteram.u16[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));
@@ -237,7 +237,7 @@ static ADDRESS_MAP_START( bigrun_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x094000, 0x097fff) AM_WRITE(megasys1_scrollram_1_w) AM_BASE(&megasys1_scrollram[1]) // Scroll ram 1
AM_RANGE(0x098000, 0x09bfff) AM_WRITE(megasys1_scrollram_2_w) AM_BASE(&megasys1_scrollram[2]) // Scroll ram 2
- AM_RANGE(0x09c000, 0x09ffff) AM_WRITE(bigrun_paletteram16_w) AM_BASE(&paletteram16 ) // Palettes
+ AM_RANGE(0x09c000, 0x09ffff) AM_WRITE(bigrun_paletteram16_w) AM_BASE_GENERIC(paletteram) // Palettes
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_BASE(&megasys1_ram) // RAM
AM_RANGE(0x100000, 0x13ffff) AM_READWRITE(rom_1_r, SMH_ROM) // ROM
ADDRESS_MAP_END
@@ -258,7 +258,7 @@ ADDRESS_MAP_END
static WRITE16_HANDLER( cischeat_paletteram16_w )
{
- UINT16 word = COMBINE_DATA(&paletteram16[offset]);
+ UINT16 word = COMBINE_DATA(&space->machine->generic.paletteram.u16[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));
@@ -297,7 +297,7 @@ static ADDRESS_MAP_START( cischeat_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0a8000, 0x0affff) AM_RAM_WRITE(megasys1_scrollram_1_w) AM_BASE(&megasys1_scrollram[1]) // Scroll ram 1
AM_RANGE(0x0b0000, 0x0b7fff) AM_RAM_WRITE(megasys1_scrollram_2_w) AM_BASE(&megasys1_scrollram[2]) // Scroll ram 2
- AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_WRITE(cischeat_paletteram16_w) AM_BASE(&paletteram16) // Palettes
+ AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_WRITE(cischeat_paletteram16_w) AM_BASE_GENERIC(paletteram) // Palettes
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_BASE(&megasys1_ram) // RAM
AM_RANGE(0x100000, 0x17ffff) AM_READWRITE(rom_1_r, SMH_ROM) // ROM
@@ -310,7 +310,7 @@ ADDRESS_MAP_END
static WRITE16_HANDLER( f1gpstar_paletteram16_w )
{
- UINT16 word = COMBINE_DATA(&paletteram16[offset]);
+ UINT16 word = COMBINE_DATA(&space->machine->generic.paletteram.u16[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));
@@ -351,7 +351,7 @@ static ADDRESS_MAP_START( f1gpstar_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0a8000, 0x0affff) AM_RAM_WRITE(megasys1_scrollram_1_w) AM_BASE(&megasys1_scrollram[1]) // Scroll ram 1
AM_RANGE(0x0b0000, 0x0b7fff) AM_RAM_WRITE(megasys1_scrollram_2_w) AM_BASE(&megasys1_scrollram[2]) // Scroll ram 2
- AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_WRITE(f1gpstar_paletteram16_w) AM_BASE(&paletteram16) // Palettes
+ AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_WRITE(f1gpstar_paletteram16_w) AM_BASE_GENERIC(paletteram) // Palettes
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_BASE(&megasys1_ram) // RAM
AM_RANGE(0x100000, 0x17ffff) AM_READWRITE(rom_1_r, SMH_ROM) // ROM
@@ -377,7 +377,7 @@ static ADDRESS_MAP_START( f1gpstr2_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0a8000, 0x0affff) AM_RAM_WRITE(megasys1_scrollram_1_w) AM_BASE(&megasys1_scrollram[1]) // Scroll ram 1
AM_RANGE(0x0b0000, 0x0b7fff) AM_RAM_WRITE(megasys1_scrollram_2_w) AM_BASE(&megasys1_scrollram[2]) // Scroll ram 2
- AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_WRITE(f1gpstar_paletteram16_w) AM_BASE(&paletteram16) // Palettes
+ AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_WRITE(f1gpstar_paletteram16_w) AM_BASE_GENERIC(paletteram) // Palettes
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_BASE(&megasys1_ram) // RAM
AM_RANGE(0x100000, 0x17ffff) AM_READWRITE(rom_1_r, SMH_ROM) // ROM
@@ -390,7 +390,7 @@ ADDRESS_MAP_END
static WRITE16_HANDLER( scudhamm_paletteram16_w )
{
- int newword = COMBINE_DATA(&paletteram16[offset]);
+ int newword = COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
int r = pal5bit(((newword >> 11) & 0x1E ) | ((newword >> 3) & 0x01));
int g = pal5bit(((newword >> 7 ) & 0x1E ) | ((newword >> 2) & 0x01));
@@ -508,7 +508,7 @@ static ADDRESS_MAP_START( scudhamm_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x082000, 0x082fff) AM_RAM_WRITE(scudhamm_vregs_w) AM_BASE(&megasys1_vregs) // Video Registers + RAM
AM_RANGE(0x0a0000, 0x0a3fff) AM_RAM_WRITE(megasys1_scrollram_0_w) AM_BASE(&megasys1_scrollram[0]) // Scroll RAM 0
AM_RANGE(0x0b0000, 0x0b3fff) AM_RAM_WRITE(megasys1_scrollram_2_w) AM_BASE(&megasys1_scrollram[2]) // Scroll RAM 2
- AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_WRITE(scudhamm_paletteram16_w) AM_BASE(&paletteram16) // Palette
+ AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_WRITE(scudhamm_paletteram16_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_BASE(&megasys1_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
@@ -590,7 +590,7 @@ static ADDRESS_MAP_START( armchmp2_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x082000, 0x082fff) AM_RAM_WRITE(scudhamm_vregs_w) AM_BASE(&megasys1_vregs) // Video Registers + RAM
AM_RANGE(0x0a0000, 0x0a3fff) AM_RAM_WRITE(megasys1_scrollram_0_w) AM_BASE(&megasys1_scrollram[0]) // Scroll RAM 0
AM_RANGE(0x0b0000, 0x0b3fff) AM_RAM_WRITE(megasys1_scrollram_2_w) AM_BASE(&megasys1_scrollram[2]) // Scroll RAM 2
- AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_WRITE(scudhamm_paletteram16_w) AM_BASE(&paletteram16) // Palette
+ AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_WRITE(scudhamm_paletteram16_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_BASE(&megasys1_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 2414de72fd8..0e496f0bcc2 100644
--- a/src/mame/drivers/citycon.c
+++ b/src/mame/drivers/citycon.c
@@ -30,14 +30,14 @@ static ADDRESS_MAP_START( citycon_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(citycon_videoram_w) AM_BASE_MEMBER(citycon_state, videoram)
AM_RANGE(0x2000, 0x20ff) AM_RAM_WRITE(citycon_linecolor_w) AM_BASE_MEMBER(citycon_state, linecolor)
- AM_RANGE(0x2800, 0x28ff) AM_RAM AM_BASE_MEMBER(citycon_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x2800, 0x28ff) AM_RAM AM_BASE_MEMBER(citycon_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0x2800, 0x2fff) AM_NOP //0x2900-0x2fff cleared at post but unused
AM_RANGE(0x3000, 0x3000) AM_READWRITE(citycon_in_r, citycon_background_w) /* player 1 & 2 inputs multiplexed */
AM_RANGE(0x3001, 0x3001) AM_READ_PORT("DSW1") AM_WRITE(soundlatch_w)
AM_RANGE(0x3002, 0x3002) AM_READ_PORT("DSW2") AM_WRITE(soundlatch2_w)
AM_RANGE(0x3004, 0x3005) AM_READNOP AM_WRITEONLY AM_BASE_MEMBER(citycon_state, scroll)
AM_RANGE(0x3007, 0x3007) AM_READ(citycon_irq_ack_r)
- AM_RANGE(0x3800, 0x3cff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE(&paletteram)
+ AM_RANGE(0x3800, 0x3cff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cloak.c b/src/mame/drivers/cloak.c
index 33d3917cfde..e0ed5c234ee 100644
--- a/src/mame/drivers/cloak.c
+++ b/src/mame/drivers/cloak.c
@@ -167,7 +167,7 @@ static WRITE8_HANDLER( cloak_nvram_enable_w )
static ADDRESS_MAP_START( master_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x03ff) AM_RAM
- AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(cloak_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(cloak_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x0800, 0x0fff) AM_RAM AM_SHARE(1)
AM_RANGE(0x1000, 0x100f) AM_DEVREADWRITE("pokey1", pokey_r, pokey_w) /* DSW0 also */
AM_RANGE(0x1800, 0x180f) AM_DEVREADWRITE("pokey2", pokey_r, pokey_w) /* DSW1 also */
@@ -177,7 +177,7 @@ static ADDRESS_MAP_START( master_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x2600, 0x2600) AM_WRITE(cloak_custom_w)
AM_RANGE(0x2800, 0x29ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
AM_RANGE(0x2f00, 0x2fff) AM_NOP
- AM_RANGE(0x3000, 0x30ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x3000, 0x30ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x3200, 0x327f) AM_WRITE(cloak_paletteram_w)
AM_RANGE(0x3800, 0x3801) AM_WRITE(cloak_coin_counter_w)
AM_RANGE(0x3803, 0x3803) AM_WRITE(cloak_flipscreen_w)
diff --git a/src/mame/drivers/cloud9.c b/src/mame/drivers/cloud9.c
index fa9f0f37eaf..09fecfd3c55 100644
--- a/src/mame/drivers/cloud9.c
+++ b/src/mame/drivers/cloud9.c
@@ -200,11 +200,11 @@ static MACHINE_START( cloud9 )
schedule_next_irq(machine, 0-64);
/* allocate backing memory for the NVRAM */
- machine->generic.nvram.ptr.u8 = auto_alloc_array(machine, UINT8, machine->generic.nvram.size);
+ machine->generic.nvram.u8 = auto_alloc_array(machine, UINT8, machine->generic.nvram_size);
/* setup for save states */
state_save_register_global(machine, state->irq_state);
- state_save_register_global_pointer(machine, machine->generic.nvram.ptr.u8, machine->generic.nvram.size);
+ state_save_register_global_pointer(machine, machine->generic.nvram.u8, machine->generic.nvram_size);
}
@@ -264,25 +264,25 @@ static NVRAM_HANDLER( cloud9 )
if (read_or_write)
{
/* on power down, the EAROM is implicitly stored */
- memcpy(machine->generic.nvram.ptr.v, nvram_stage, machine->generic.nvram.size);
- mame_fwrite(file, machine->generic.nvram.ptr.v, machine->generic.nvram.size);
+ memcpy(machine->generic.nvram.v, nvram_stage, machine->generic.nvram_size);
+ mame_fwrite(file, machine->generic.nvram.v, machine->generic.nvram_size);
}
else if (file)
- mame_fread(file, machine->generic.nvram.ptr.v, machine->generic.nvram.size);
+ mame_fread(file, machine->generic.nvram.v, machine->generic.nvram_size);
else
- memset(machine->generic.nvram.ptr.v, 0, machine->generic.nvram.size);
+ memset(machine->generic.nvram.v, 0, machine->generic.nvram_size);
}
static WRITE8_HANDLER( nvram_recall_w )
{
- memcpy(nvram_stage, space->machine->generic.nvram.ptr.v, space->machine->generic.nvram.size);
+ memcpy(nvram_stage, space->machine->generic.nvram.v, space->machine->generic.nvram_size);
}
static WRITE8_HANDLER( nvram_store_w )
{
- memcpy(space->machine->generic.nvram.ptr.v, nvram_stage, space->machine->generic.nvram.size);
+ memcpy(space->machine->generic.nvram.v, nvram_stage, space->machine->generic.nvram_size);
}
diff --git a/src/mame/drivers/clshroad.c b/src/mame/drivers/clshroad.c
index c2c8b840906..768d7e9cb00 100644
--- a/src/mame/drivers/clshroad.c
+++ b/src/mame/drivers/clshroad.c
@@ -64,7 +64,7 @@ static ADDRESS_MAP_START( clshroad_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0x95ff) AM_RAM
AM_RANGE(0x9600, 0x97ff) AM_RAM AM_SHARE(1)
AM_RANGE(0x9800, 0x9dff) AM_RAM
- AM_RANGE(0x9e00, 0x9fff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x9e00, 0x9fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xa001, 0xa001) AM_WRITENOP // ? Interrupt related
AM_RANGE(0xa004, 0xa004) AM_WRITE(clshroad_flipscreen_w)
AM_RANGE(0xa100, 0xa107) AM_READ(clshroad_input_r)
diff --git a/src/mame/drivers/cmmb.c b/src/mame/drivers/cmmb.c
index 94202d40540..9724144c8ff 100644
--- a/src/mame/drivers/cmmb.c
+++ b/src/mame/drivers/cmmb.c
@@ -47,8 +47,8 @@ static VIDEO_UPDATE( cmmb )
{
for (x=0;x<32;x++)
{
- int tile = videoram[count] & 0x3f;
- int colour = (videoram[count] & 0xc0)>>6;
+ int tile = screen->machine->generic.videoram.u8[count] & 0x3f;
+ int colour = (screen->machine->generic.videoram.u8[count] & 0xc0)>>6;
drawgfx_opaque(bitmap,cliprect,gfx,tile,colour,0,0,x*8,y*8);
count++;
@@ -142,8 +142,8 @@ static READ8_HANDLER( kludge_r )
static ADDRESS_MAP_START( cmmb_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x01ff) AM_RAM /* zero page address */
// AM_RANGE(0x13c0, 0x13ff) AM_RAM //spriteram
- AM_RANGE(0x1000, 0x13ff) AM_RAM AM_BASE(&videoram)
- AM_RANGE(0x2480, 0x249f) AM_RAM_WRITE(cmmb_paletteram_w) AM_BASE(&paletteram)
+ AM_RANGE(0x1000, 0x13ff) AM_RAM AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x2480, 0x249f) AM_RAM_WRITE(cmmb_paletteram_w) AM_BASE_GENERIC(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(1)
diff --git a/src/mame/drivers/cninja.c b/src/mame/drivers/cninja.c
index cb643de567d..83c7c41c6c3 100644
--- a/src/mame/drivers/cninja.c
+++ b/src/mame/drivers/cninja.c
@@ -170,9 +170,9 @@ static ADDRESS_MAP_START( cninja_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x184000, 0x187fff) AM_RAM AM_BASE(&cninja_ram)
AM_RANGE(0x190000, 0x190007) AM_READWRITE(cninja_irq_r, cninja_irq_w)
- AM_RANGE(0x19c000, 0x19dfff) AM_RAM_WRITE(deco16_nonbuffered_palette_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x19c000, 0x19dfff) AM_RAM_WRITE(deco16_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0x1a4000, 0x1a47ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* Sprites */
+ AM_RANGE(0x1a4000, 0x1a47ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Sprites */
AM_RANGE(0x1b4000, 0x1b4001) AM_WRITE(buffer_spriteram16_w) /* DMA flag */
AM_RANGE(0x1bc000, 0x1bc0ff) AM_WRITE(deco16_104_cninja_prot_w) AM_BASE(&deco16_prot_ram) /* Protection writes */
AM_RANGE(0x1bc000, 0x1bcfff) AM_READ(deco16_104_cninja_prot_r) AM_BASE(&deco16_prot_ram) /* Protection device */
@@ -195,7 +195,7 @@ static ADDRESS_MAP_START( edrandy_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x15c000, 0x15c7ff) AM_RAM AM_BASE(&deco16_pf3_rowscroll)
AM_RANGE(0x15e000, 0x15e7ff) AM_RAM AM_BASE(&deco16_pf4_rowscroll)
- AM_RANGE(0x188000, 0x189fff) AM_RAM_WRITE(deco16_nonbuffered_palette_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x188000, 0x189fff) AM_RAM_WRITE(deco16_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x194000, 0x197fff) AM_RAM AM_BASE(&cninja_ram) /* Main ram */
AM_RANGE(0x198000, 0x1987ff) AM_READWRITE(deco16_60_prot_r, deco16_60_prot_w) AM_BASE(&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 */
@@ -203,7 +203,7 @@ static ADDRESS_MAP_START( edrandy_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x1a4000, 0x1a4007) AM_READWRITE(cninja_irq_r, cninja_irq_w)
AM_RANGE(0x1ac000, 0x1ac001) AM_WRITE(buffer_spriteram16_w) /* DMA flag */
- AM_RANGE(0x1bc000, 0x1bc7ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* Sprites */
+ AM_RANGE(0x1bc000, 0x1bc7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Sprites */
AM_RANGE(0x1bc800, 0x1bcfff) AM_WRITENOP /* Another bug in game code? Sprite list can overrun. Doesn't seem to mirror */
ADDRESS_MAP_END
@@ -222,12 +222,12 @@ static ADDRESS_MAP_START( robocop2_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x15c000, 0x15c7ff) AM_RAM AM_BASE(&deco16_pf3_rowscroll)
AM_RANGE(0x15e000, 0x15e7ff) AM_RAM AM_BASE(&deco16_pf4_rowscroll)
- AM_RANGE(0x180000, 0x1807ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x180000, 0x1807ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
// AM_RANGE(0x18c000, 0x18c0ff) AM_WRITE(cninja_loopback_w) /* Protection writes */
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_WRITE(buffer_spriteram16_w) /* DMA flag */
- AM_RANGE(0x1a8000, 0x1a9fff) AM_RAM_WRITE(deco16_nonbuffered_palette_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x1a8000, 0x1a9fff) AM_RAM_WRITE(deco16_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x1b0000, 0x1b0007) AM_READWRITE(cninja_irq_r, cninja_irq_w)
AM_RANGE(0x1b8000, 0x1bbfff) AM_RAM AM_BASE(&cninja_ram) /* Main ram */
AM_RANGE(0x1f0000, 0x1f0001) AM_WRITE(deco16_priority_w)
@@ -237,9 +237,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( mutantf_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM
- AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0x140000, 0x1407ff) AM_RAM AM_BASE(&spriteram16_2) AM_SIZE(&spriteram_2_size)
- AM_RANGE(0x160000, 0x161fff) AM_RAM_WRITE(deco16_nonbuffered_palette_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x140000, 0x1407ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram2)
+ AM_RANGE(0x160000, 0x161fff) AM_RAM_WRITE(deco16_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x180000, 0x180001) AM_WRITE(deco16_priority_w)
AM_RANGE(0x180002, 0x180003) AM_WRITENOP /* VBL irq ack */
AM_RANGE(0x1a0000, 0x1a07ff) AM_READWRITE(deco16_66_prot_r, deco16_66_prot_w) AM_BASE(&deco16_prot_ram) /* Protection device */
diff --git a/src/mame/drivers/coinmstr.c b/src/mame/drivers/coinmstr.c
index c9790a2e611..98da44f036c 100644
--- a/src/mame/drivers/coinmstr.c
+++ b/src/mame/drivers/coinmstr.c
@@ -36,7 +36,7 @@ static UINT8 question_adr[4];
static WRITE8_HANDLER( quizmstr_bg_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
if(offset >= 0x0240)
tilemap_mark_tile_dirty(bg_tilemap,offset - 0x0240);
@@ -184,7 +184,7 @@ static READ8_HANDLER( ff_r )
static ADDRESS_MAP_START( coinmstr_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_RAM
- AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(quizmstr_bg_w) AM_BASE(&videoram)
+ AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(quizmstr_bg_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(quizmstr_attr1_w) AM_BASE(&attr_ram1)
AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(quizmstr_attr2_w) AM_BASE(&attr_ram2)
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(quizmstr_attr3_w) AM_BASE(&attr_ram3)
@@ -878,7 +878,7 @@ GFXDECODE_END
static TILE_GET_INFO( get_bg_tile_info )
{
- int tile = videoram[tile_index + 0x0240];
+ int tile = machine->generic.videoram.u8[tile_index + 0x0240];
int color = tile_index;
tile |= (attr_ram1[tile_index + 0x0240] & 0x80) << 1;
diff --git a/src/mame/drivers/cojag.c b/src/mame/drivers/cojag.c
index 250969214b1..1aae3f0b99c 100644
--- a/src/mame/drivers/cojag.c
+++ b/src/mame/drivers/cojag.c
@@ -509,9 +509,9 @@ static WRITE32_HANDLER( latch_w )
static READ32_HANDLER( eeprom_data_r )
{
if (cojag_is_r3000)
- return space->machine->generic.nvram.ptr.u32[offset] | 0xffffff00;
+ return space->machine->generic.nvram.u32[offset] | 0xffffff00;
else
- return space->machine->generic.nvram.ptr.u32[offset] | 0x00ffffff;
+ return space->machine->generic.nvram.u32[offset] | 0x00ffffff;
}
@@ -526,9 +526,9 @@ static WRITE32_HANDLER( eeprom_data_w )
// if (eeprom_enable)
{
if (cojag_is_r3000)
- space->machine->generic.nvram.ptr.u32[offset] = data & 0x000000ff;
+ space->machine->generic.nvram.u32[offset] = data & 0x000000ff;
else
- space->machine->generic.nvram.ptr.u32[offset] = data & 0xff000000;
+ space->machine->generic.nvram.u32[offset] = data & 0xff000000;
}
// else
// logerror("%08X:error writing to disabled EEPROM\n", cpu_get_previouspc(space->cpu));
diff --git a/src/mame/drivers/combatsc.c b/src/mame/drivers/combatsc.c
index 05dc5812ad3..6e885447916 100644
--- a/src/mame/drivers/combatsc.c
+++ b/src/mame/drivers/combatsc.c
@@ -286,7 +286,7 @@ static ADDRESS_MAP_START( combasc_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0418, 0x0418) AM_WRITE(combasc_sh_irqtrigger_w)
AM_RANGE(0x041c, 0x041c) AM_WRITE(watchdog_reset_w) /* watchdog reset? */
- AM_RANGE(0x0600, 0x06ff) AM_RAM AM_BASE(&paletteram) /* palette */
+ AM_RANGE(0x0600, 0x06ff) AM_RAM AM_BASE_GENERIC(paletteram) /* palette */
AM_RANGE(0x0800, 0x1fff) AM_RAM /* RAM */
AM_RANGE(0x2000, 0x3fff) AM_READWRITE(combasc_video_r, combasc_video_w)
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK(1) /* banked ROM area */
@@ -296,7 +296,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( combascb_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x04ff) AM_RAM
AM_RANGE(0x0500, 0x0500) AM_WRITE(combascb_bankselect_w)
- AM_RANGE(0x0600, 0x06ff) AM_RAM AM_BASE(&paletteram) /* palette */
+ AM_RANGE(0x0600, 0x06ff) AM_RAM AM_BASE_GENERIC(paletteram) /* palette */
AM_RANGE(0x0800, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x3fff) AM_READWRITE(combasc_video_r, combasc_video_w)
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK(1) /* banked ROM/RAM area */
diff --git a/src/mame/drivers/commando.c b/src/mame/drivers/commando.c
index 2f740a909b9..5637ddca317 100644
--- a/src/mame/drivers/commando.c
+++ b/src/mame/drivers/commando.c
@@ -67,7 +67,7 @@ static ADDRESS_MAP_START( commando_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(commando_videoram_w) AM_BASE_MEMBER(commando_state, videoram)
AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE(commando_colorram_w) AM_BASE_MEMBER(commando_state, colorram)
AM_RANGE(0xe000, 0xfdff) AM_RAM
- AM_RANGE(0xfe00, 0xff7f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xfe00, 0xff7f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xff80, 0xffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/contra.c b/src/mame/drivers/contra.c
index 0828806a7d2..1d5ade40037 100644
--- a/src/mame/drivers/contra.c
+++ b/src/mame/drivers/contra.c
@@ -85,7 +85,7 @@ static ADDRESS_MAP_START( contra_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x001e, 0x001e) AM_WRITENOP /* ? */
AM_RANGE(0x0060, 0x0067) AM_WRITE(contra_K007121_ctrl_1_w)
- AM_RANGE(0x0c00, 0x0cff) AM_RAM AM_BASE(&paletteram)
+ AM_RANGE(0x0c00, 0x0cff) AM_RAM AM_BASE_GENERIC(paletteram)
AM_RANGE(0x1000, 0x1fff) AM_RAM
@@ -94,7 +94,7 @@ static ADDRESS_MAP_START( contra_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x2400, 0x27ff) AM_WRITE(contra_fg_vram_w) AM_BASE(&contra_fg_vram)
AM_RANGE(0x2800, 0x2bff) AM_WRITE(contra_text_cram_w) AM_BASE(&contra_text_cram)
AM_RANGE(0x2c00, 0x2fff) AM_WRITE(contra_text_vram_w) AM_BASE(&contra_text_vram)
- AM_RANGE(0x3000, 0x37ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram)/* 2nd bank is at 0x5000 */
+ AM_RANGE(0x3000, 0x37ff) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(spriteram)/* 2nd bank is at 0x5000 */
AM_RANGE(0x3800, 0x3fff) AM_WRITE(SMH_RAM) // second sprite buffer
AM_RANGE(0x4000, 0x43ff) AM_WRITE(contra_bg_cram_w) AM_BASE(&contra_bg_cram)
AM_RANGE(0x4400, 0x47ff) AM_WRITE(contra_bg_vram_w) AM_BASE(&contra_bg_vram)
diff --git a/src/mame/drivers/coolpool.c b/src/mame/drivers/coolpool.c
index 9b8ab32a2e2..b8361e6c12d 100644
--- a/src/mame/drivers/coolpool.c
+++ b/src/mame/drivers/coolpool.c
@@ -194,7 +194,7 @@ static WRITE16_HANDLER( nvram_data_w )
if (ACCESSING_BITS_0_7)
{
if (nvram_write_enable)
- space->machine->generic.nvram.ptr.u16[offset] = data & 0xff;
+ space->machine->generic.nvram.u16[offset] = data & 0xff;
}
}
diff --git a/src/mame/drivers/coolridr.c b/src/mame/drivers/coolridr.c
index 119ef0878e6..f91ab68ba89 100644
--- a/src/mame/drivers/coolridr.c
+++ b/src/mame/drivers/coolridr.c
@@ -96,15 +96,15 @@ static WRITE32_HANDLER(sysh1_ioga_w)
static WRITE32_HANDLER( paletteram32_sysh1_w )
{
int r,g,b;
- COMBINE_DATA(&paletteram32[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
- b = ((paletteram32[offset] & 0x00007c00) >> 10);
- g = ((paletteram32[offset] & 0x000003e0) >> 5);
- r = ((paletteram32[offset] & 0x0000001f) >> 0);
+ b = ((space->machine->generic.paletteram.u32[offset] & 0x00007c00) >> 10);
+ g = ((space->machine->generic.paletteram.u32[offset] & 0x000003e0) >> 5);
+ r = ((space->machine->generic.paletteram.u32[offset] & 0x0000001f) >> 0);
palette_set_color_rgb(space->machine,(offset*2)+1,pal5bit(r),pal5bit(g),pal5bit(b));
- b = ((paletteram32[offset] & 0x7c000000) >> 26);
- g = ((paletteram32[offset] & 0x03e00000) >> 21);
- r = ((paletteram32[offset] & 0x001f0000) >> 16);
+ b = ((space->machine->generic.paletteram.u32[offset] & 0x7c000000) >> 26);
+ g = ((space->machine->generic.paletteram.u32[offset] & 0x03e00000) >> 21);
+ r = ((space->machine->generic.paletteram.u32[offset] & 0x001f0000) >> 16);
palette_set_color_rgb(space->machine,offset*2,pal5bit(r),pal5bit(g),pal5bit(b));
}
diff --git a/src/mame/drivers/cop01.c b/src/mame/drivers/cop01.c
index 1822d6074e4..8a0af04b58c 100644
--- a/src/mame/drivers/cop01.c
+++ b/src/mame/drivers/cop01.c
@@ -109,7 +109,7 @@ static ADDRESS_MAP_START( cop01_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM /* c000-c7ff in cop01 */
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(cop01_background_w) AM_BASE_MEMBER(cop01_state, bgvideoram)
- AM_RANGE(0xe000, 0xe0ff) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(cop01_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xe000, 0xe0ff) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(cop01_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xf000, 0xf3ff) AM_WRITE(cop01_foreground_w) AM_BASE_MEMBER(cop01_state, fgvideoram)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/copsnrob.c b/src/mame/drivers/copsnrob.c
index b3b1292b3de..1ce5e922d7f 100644
--- a/src/mame/drivers/copsnrob.c
+++ b/src/mame/drivers/copsnrob.c
@@ -118,7 +118,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0900, 0x0903) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(copsnrob_state, carimage)
AM_RANGE(0x0a00, 0x0a03) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(copsnrob_state, cary)
AM_RANGE(0x0b00, 0x0bff) AM_RAM
- AM_RANGE(0x0c00, 0x0fff) AM_RAM AM_BASE_MEMBER(copsnrob_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x0c00, 0x0fff) AM_RAM AM_BASE_MEMBER(copsnrob_state, videoram) AM_SIZE_GENERIC(videoram)
// AM_RANGE(0x1000, 0x1003) AM_WRITENOP
// AM_RANGE(0x1000, 0x1000) AM_READ_PORT("IN0")
AM_RANGE(0x1000, 0x1000) AM_READ(copsnrob_misc_r)
diff --git a/src/mame/drivers/cosmic.c b/src/mame/drivers/cosmic.c
index c266d8a7fb3..4eb88df67c1 100644
--- a/src/mame/drivers/cosmic.c
+++ b/src/mame/drivers/cosmic.c
@@ -429,8 +429,8 @@ static WRITE8_HANDLER( flip_screen_w )
static ADDRESS_MAP_START( panic_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
- AM_RANGE(0x4000, 0x5fff) AM_RAM AM_BASE_MEMBER(cosmic_state, videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x6000, 0x601f) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(cosmic_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x4000, 0x5fff) AM_RAM AM_BASE_MEMBER(cosmic_state, videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x6000, 0x601f) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(cosmic_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0x6800, 0x6800) AM_READ_PORT("P1")
AM_RANGE(0x6801, 0x6801) AM_READ_PORT("P2")
AM_RANGE(0x6802, 0x6802) AM_READ_PORT("DSW")
@@ -444,8 +444,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( cosmica_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
- AM_RANGE(0x4000, 0x5fff) AM_RAM AM_BASE_MEMBER(cosmic_state, videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x6000, 0x601f) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(cosmic_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x4000, 0x5fff) AM_RAM AM_BASE_MEMBER(cosmic_state, videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x6000, 0x601f) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(cosmic_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0x6800, 0x6800) AM_READ_PORT("P1")
AM_RANGE(0x6801, 0x6801) AM_READ_PORT("P2")
AM_RANGE(0x6802, 0x6802) AM_READ_PORT("DSW")
@@ -458,7 +458,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( cosmicg_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_ROM
- AM_RANGE(0x2000, 0x3fff) AM_RAM AM_BASE_MEMBER(cosmic_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x2000, 0x3fff) AM_RAM AM_BASE_MEMBER(cosmic_state, videoram) AM_SIZE_GENERIC(videoram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( cosmicg_io_map, ADDRESS_SPACE_IO, 8 )
@@ -472,7 +472,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( magspot_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x3800, 0x3807) AM_READ(magspot_coinage_dip_r)
- AM_RANGE(0x4000, 0x401f) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(cosmic_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x4000, 0x401f) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(cosmic_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0x4800, 0x4800) AM_DEVWRITE("dac", dac_w)
AM_RANGE(0x480c, 0x480d) AM_WRITE(cosmic_color_register_w)
AM_RANGE(0x480f, 0x480f) AM_WRITE(flip_screen_w)
@@ -480,7 +480,7 @@ static ADDRESS_MAP_START( magspot_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x5001, 0x5001) AM_READ_PORT("IN1")
AM_RANGE(0x5002, 0x5002) AM_READ_PORT("IN2")
AM_RANGE(0x5003, 0x5003) AM_READ_PORT("IN3")
- AM_RANGE(0x6000, 0x7fff) AM_RAM AM_BASE_MEMBER(cosmic_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x6000, 0x7fff) AM_RAM AM_BASE_MEMBER(cosmic_state, videoram) AM_SIZE_GENERIC(videoram)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cowrace.c b/src/mame/drivers/cowrace.c
index d90cf0e2ab2..a717b45af7c 100644
--- a/src/mame/drivers/cowrace.c
+++ b/src/mame/drivers/cowrace.c
@@ -15,20 +15,20 @@ static tilemap *tmap;
static WRITE8_HANDLER( cowrace_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(tmap, offset);
}
static WRITE8_HANDLER( cowrace_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(tmap, offset);
}
static TILE_GET_INFO( get_tile_info )
{
- UINT16 code = videoram[ tile_index ] + (colorram[ tile_index ] << 8) ;
- UINT8 color = 0;//(colorram[ tile_index ] & 0x3e)>>1;
+ UINT16 code = machine->generic.videoram.u8[ tile_index ] + (machine->generic.colorram.u8[ tile_index ] << 8) ;
+ UINT8 color = 0;//(machine->generic.colorram.u8[ tile_index ] & 0x3e)>>1;
SET_TILE_INFO(1, code & 0x1ff, color, TILE_FLIPYX( 0 ));;
}
@@ -90,8 +90,8 @@ AM_RANGE(0x38c2, 0x38c2) AM_READWRITE( ret_ff, cowrace_38c2_w )
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x3000, 0x33ff) AM_RAM
- AM_RANGE(0x4000, 0x43ff) AM_READWRITE( SMH_RAM, cowrace_videoram_w ) AM_BASE( &videoram )
- AM_RANGE(0x5000, 0x53ff) AM_READWRITE( SMH_RAM, cowrace_colorram_w ) AM_BASE( &colorram )
+ AM_RANGE(0x4000, 0x43ff) AM_READWRITE( SMH_RAM, cowrace_videoram_w ) AM_BASE_GENERIC( videoram )
+ AM_RANGE(0x5000, 0x53ff) AM_READWRITE( SMH_RAM, cowrace_colorram_w ) AM_BASE_GENERIC( colorram )
ADDRESS_MAP_END
static ADDRESS_MAP_START( io_map_cowrace, ADDRESS_SPACE_IO, 8 )
diff --git a/src/mame/drivers/crimfght.c b/src/mame/drivers/crimfght.c
index 4a907af8734..aef6344aebd 100644
--- a/src/mame/drivers/crimfght.c
+++ b/src/mame/drivers/crimfght.c
@@ -345,7 +345,7 @@ static KONAMI_SETLINES_CALLBACK( crimfght_banking )
if (lines & 0x20)
{
memory_install_readwrite8_handler(cpu_get_address_space(device, ADDRESS_SPACE_PROGRAM), 0x0000, 0x03ff, 0, 0, (read8_space_func)SMH_BANK(3), paletteram_xBBBBBGGGGGRRRRR_be_w);
- memory_set_bankptr(device->machine, 3, paletteram);
+ memory_set_bankptr(device->machine, 3, device->machine->generic.paletteram.v);
}
else
memory_install_readwrite8_handler(cpu_get_address_space(device, ADDRESS_SPACE_PROGRAM), 0x0000, 0x03ff, 0, 0, (read8_space_func)SMH_BANK(1), (write8_space_func)SMH_BANK(1)); /* RAM */
diff --git a/src/mame/drivers/crospang.c b/src/mame/drivers/crospang.c
index 5f4091f35d0..79c4df14cc2 100644
--- a/src/mame/drivers/crospang.c
+++ b/src/mame/drivers/crospang.c
@@ -56,8 +56,8 @@ static ADDRESS_MAP_START( crospang_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x10000e, 0x10000f) AM_WRITENOP
AM_RANGE(0x120000, 0x1207ff) AM_RAM_WRITE(crospang_fg_videoram_w) AM_BASE_MEMBER(crospang_state, fg_videoram)
AM_RANGE(0x122000, 0x1227ff) AM_RAM_WRITE(crospang_bg_videoram_w) AM_BASE_MEMBER(crospang_state, bg_videoram)
- AM_RANGE(0x200000, 0x2005ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0x210000, 0x2107ff) AM_RAM AM_BASE_MEMBER(crospang_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x200000, 0x2005ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x210000, 0x2107ff) AM_RAM AM_BASE_MEMBER(crospang_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0x270000, 0x270001) AM_WRITE(crospang_soundlatch_w)
AM_RANGE(0x280000, 0x280001) AM_READ_PORT("P1_P2")
AM_RANGE(0x280002, 0x280003) AM_READ_PORT("COIN")
@@ -76,8 +76,8 @@ static ADDRESS_MAP_START( bestri_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x120000, 0x1207ff) AM_RAM_WRITE(crospang_fg_videoram_w) AM_BASE_MEMBER(crospang_state, fg_videoram)
AM_RANGE(0x122000, 0x1227ff) AM_RAM_WRITE(crospang_bg_videoram_w) AM_BASE_MEMBER(crospang_state, bg_videoram)
- AM_RANGE(0x200000, 0x2005ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0x210000, 0x2107ff) AM_RAM AM_BASE_MEMBER(crospang_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x200000, 0x2005ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x210000, 0x2107ff) AM_RAM AM_BASE_MEMBER(crospang_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0x270000, 0x270001) AM_WRITE(crospang_soundlatch_w)
AM_RANGE(0x270004, 0x270005) AM_WRITENOP
AM_RANGE(0x280000, 0x280001) AM_READ_PORT("P1_P2")
diff --git a/src/mame/drivers/crshrace.c b/src/mame/drivers/crshrace.c
index 642b2c35b8b..94e2369b953 100644
--- a/src/mame/drivers/crshrace.c
+++ b/src/mame/drivers/crshrace.c
@@ -192,13 +192,13 @@ static ADDRESS_MAP_START( crshrace_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300000, 0x3fffff) AM_READ(extrarom1_r)
AM_RANGE(0x400000, 0x4fffff) AM_READ(extrarom2_r)
AM_RANGE(0x500000, 0x5fffff) AM_READ(extrarom2_r) /* mirror */
- AM_RANGE(0xa00000, 0xa0ffff) AM_RAM AM_BASE(&spriteram16_2) AM_SIZE(&spriteram_2_size)
+ AM_RANGE(0xa00000, 0xa0ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram2)
AM_RANGE(0xd00000, 0xd01fff) AM_RAM_WRITE(crshrace_videoram1_w) AM_BASE(&crshrace_videoram1)
- AM_RANGE(0xe00000, 0xe01fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xe00000, 0xe01fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xfe0000, 0xfeffff) AM_RAM
AM_RANGE(0xffc000, 0xffc001) AM_WRITE(crshrace_roz_bank_w)
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE(crshrace_videoram2_w) AM_BASE(&crshrace_videoram2)
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xGGGGGBBBBBRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xGGGGGBBBBBRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("P1") AM_WRITE(crshrace_gfxctrl_w)
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("P2")
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW0")
diff --git a/src/mame/drivers/cshooter.c b/src/mame/drivers/cshooter.c
index 089c5d580a0..e98382e09ed 100644
--- a/src/mame/drivers/cshooter.c
+++ b/src/mame/drivers/cshooter.c
@@ -151,8 +151,9 @@ static VIDEO_UPDATE(cshooter)
//sprites
{
+ UINT8 *spriteram = screen->machine->generic.spriteram.u8;
int i;
- for(i=0;i<spriteram_size;i+=4)
+ for(i=0;i<screen->machine->generic.spriteram_size;i+=4)
{
if(spriteram[i+3]!=0)
{
@@ -237,28 +238,28 @@ static WRITE8_HANDLER ( bank_w )
static WRITE8_HANDLER(pal_w)
{
- paletteram[offset]=data;
+ space->machine->generic.paletteram.u8[offset]=data;
offset&=0xff;
- palette_set_color_rgb(space->machine, offset, pal4bit(paletteram[offset] >> 4), pal4bit(paletteram[offset]), pal4bit(paletteram[offset+0x100]));
+ palette_set_color_rgb(space->machine, offset, pal4bit(space->machine->generic.paletteram.u8[offset] >> 4), pal4bit(space->machine->generic.paletteram.u8[offset]), pal4bit(space->machine->generic.paletteram.u8[offset+0x100]));
}
static WRITE8_HANDLER(pal2_w)
{
- paletteram[offset]=data;
+ space->machine->generic.paletteram.u8[offset]=data;
offset&=0x1ff;
- palette_set_color_rgb(space->machine, offset, pal4bit(paletteram[offset] >> 4), pal4bit(paletteram[offset]), pal4bit(paletteram[offset+0x200]));
+ palette_set_color_rgb(space->machine, offset, pal4bit(space->machine->generic.paletteram.u8[offset] >> 4), pal4bit(space->machine->generic.paletteram.u8[offset]), pal4bit(space->machine->generic.paletteram.u8[offset+0x200]));
}
static READ8_HANDLER(pal_r)
{
- return paletteram[offset];
+ return space->machine->generic.paletteram.u8[offset];
}
static ADDRESS_MAP_START( cshooter_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xafff) AM_READWRITE(SMH_BANK(1), SMH_RAM)
AM_RANGE(0xb000, 0xb0ff) AM_READ(SMH_RAM) // sound related ?
- AM_RANGE(0xc000, 0xc1ff) AM_WRITE(pal_w) AM_READ(pal_r) AM_BASE(&paletteram)
+ AM_RANGE(0xc000, 0xc1ff) AM_WRITE(pal_w) AM_READ(pal_r) AM_BASE_GENERIC(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")
@@ -289,12 +290,12 @@ static ADDRESS_MAP_START( airraid_map, ADDRESS_SPACE_PROGRAM, 8 )
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(&cshooter_txram)
- AM_RANGE(0xd800, 0xdbff) AM_WRITE(pal2_w) AM_READ(pal_r) AM_BASE(&paletteram)
+ AM_RANGE(0xd800, 0xdbff) AM_WRITE(pal2_w) AM_READ(pal_r) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xdc11, 0xdc11) AM_WRITE(bank_w)
AM_RANGE(0xdc00, 0xddff) AM_RAM
AM_RANGE(0xde00, 0xdeff) AM_RAM
AM_RANGE(0xe000, 0xfdff) AM_RAM AM_BASE(&mainram)
- AM_RANGE(0xfe00, 0xffff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xfe00, 0xffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cubeqst.c b/src/mame/drivers/cubeqst.c
index 398c9421898..103cf411bc5 100644
--- a/src/mame/drivers/cubeqst.c
+++ b/src/mame/drivers/cubeqst.c
@@ -90,7 +90,7 @@ static PALETTE_INIT( cubeqst )
static WRITE16_HANDLER( palette_w )
{
video_screen_update_now(space->machine->primary_screen);
- COMBINE_DATA(&paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
}
/* TODO: This is a simplified version of what actually happens */
@@ -153,7 +153,7 @@ static VIDEO_UPDATE( cubeqst )
}
/* Draw the span, testing for depth */
- pen = colormap[paletteram16[color]];
+ pen = colormap[screen->machine->generic.paletteram.u16[color]];
for (x = h1; x <= h2; ++x)
{
if (!(depth_buffer[x] < depth))
@@ -402,7 +402,7 @@ static ADDRESS_MAP_START( m68k_program_map, ADDRESS_SPACE_PROGRAM, 16 )
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(&paletteram16)
+ AM_RANGE(0x03c800, 0x03c9ff) AM_RAM_WRITE(palette_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x03cc00, 0x03cc01) AM_WRITE(control_w)
AM_RANGE(0x03e000, 0x03efff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
AM_RANGE(0x03f000, 0x03ffff) AM_RAM
diff --git a/src/mame/drivers/cyberbal.c b/src/mame/drivers/cyberbal.c
index 12317ce7e21..aa0cbd30c03 100644
--- a/src/mame/drivers/cyberbal.c
+++ b/src/mame/drivers/cyberbal.c
@@ -232,7 +232,7 @@ static ADDRESS_MAP_START( cyberb2p_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xfc4000, 0xfc4003) AM_READ(special_port2_r)
AM_RANGE(0xfc6000, 0xfc6003) AM_READ(atarigen_sound_upper_r)
AM_RANGE(0xfc8000, 0xfc8fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE(&atarigen_eeprom) AM_SIZE(&atarigen_eeprom_size)
- AM_RANGE(0xfca000, 0xfcafff) AM_RAM_WRITE(atarigen_666_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xfca000, 0xfcafff) AM_RAM_WRITE(atarigen_666_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xfd0000, 0xfd0003) AM_WRITE(atarigen_eeprom_enable_w)
AM_RANGE(0xfd2000, 0xfd2003) AM_WRITE(atarigen_sound_reset_w)
AM_RANGE(0xfd4000, 0xfd4003) AM_WRITE(watchdog_reset16_w)
diff --git a/src/mame/drivers/cybertnk.c b/src/mame/drivers/cybertnk.c
index eeac2d297c1..b31b2a32082 100644
--- a/src/mame/drivers/cybertnk.c
+++ b/src/mame/drivers/cybertnk.c
@@ -377,7 +377,7 @@ static ADDRESS_MAP_START( master_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0c0000, 0x0c3fff) AM_RAM_WRITE(tx_vram_w) AM_BASE(&tx_vram)
AM_RANGE(0x0c4000, 0x0cffff) AM_RAM
AM_RANGE(0x0e0000, 0x0e0fff) AM_READWRITE(share_r, share_w) AM_BASE(&shared_ram)
- AM_RANGE(0x100000, 0x107fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x100000, 0x107fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x110000, 0x1101ff) AM_READWRITE(io_r,io_w) AM_BASE(&io_ram)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/d9final.c b/src/mame/drivers/d9final.c
index c6e9cf4b47d..8d73f7667b7 100644
--- a/src/mame/drivers/d9final.c
+++ b/src/mame/drivers/d9final.c
@@ -89,8 +89,8 @@ static ADDRESS_MAP_START( d9final_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
AM_RANGE(0xc000, 0xc7ff) AM_RAM
- AM_RANGE(0xc800, 0xcbff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split1_w) AM_BASE(&paletteram)
- AM_RANGE(0xcc00, 0xcfff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split2_w) AM_BASE(&paletteram_2)
+ AM_RANGE(0xc800, 0xcbff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split1_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xcc00, 0xcfff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split2_w) AM_BASE_GENERIC(paletteram2)
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(sc0_lovram) AM_BASE(&lo_vram)
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(sc0_hivram) AM_BASE(&hi_vram)
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(sc0_cram) AM_BASE(&cram)
diff --git a/src/mame/drivers/dacholer.c b/src/mame/drivers/dacholer.c
index bdc89d7b047..aba8ae2c792 100644
--- a/src/mame/drivers/dacholer.c
+++ b/src/mame/drivers/dacholer.c
@@ -93,7 +93,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8800, 0x97ff) AM_RAM
AM_RANGE(0xc000, 0xc3ff) AM_RAM_WRITE(background_w) AM_BASE_MEMBER(dacholer_state, bgvideoram)
AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(foreground_w) AM_BASE_MEMBER(dacholer_state, fgvideoram)
- AM_RANGE(0xe000, 0xe0ff) AM_RAM AM_BASE_MEMBER(dacholer_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xe000, 0xe0ff) AM_RAM AM_BASE_MEMBER(dacholer_state, spriteram) AM_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( main_io_map, ADDRESS_SPACE_IO, 8 )
@@ -326,7 +326,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rect
dacholer_state *state = (dacholer_state *)machine->driver_data;
int offs, code, attr, sx, sy, flipx, flipy;
- for (offs = 0; offs < spriteram_size; offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 4)
{
code = state->spriteram[offs + 1];
attr = state->spriteram[offs + 2];
diff --git a/src/mame/drivers/darius.c b/src/mame/drivers/darius.c
index 08fa3338b1d..b811c1e0966 100644
--- a/src/mame/drivers/darius.c
+++ b/src/mame/drivers/darius.c
@@ -257,8 +257,8 @@ static ADDRESS_MAP_START( darius_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xd20000, 0xd20003) AM_WRITE(PC080SN_yscroll_word_0_w)
AM_RANGE(0xd40000, 0xd40003) AM_WRITE(PC080SN_xscroll_word_0_w)
AM_RANGE(0xd50000, 0xd50003) AM_WRITE(PC080SN_ctrl_word_0_w)
- AM_RANGE(0xd80000, 0xd80fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)/* palette */
- AM_RANGE(0xe00100, 0xe00fff) AM_RAM AM_SHARE(1) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xd80000, 0xd80fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)/* palette */
+ AM_RANGE(0xe00100, 0xe00fff) AM_RAM AM_SHARE(1) AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xe01000, 0xe02fff) AM_RAM AM_SHARE(2)
AM_RANGE(0xe08000, 0xe0ffff) AM_RAM_WRITE(darius_fg_layer_w) AM_SHARE(3) AM_BASE(&darius_fg_ram)
AM_RANGE(0xe10000, 0xe10fff) AM_RAM /* ??? */
diff --git a/src/mame/drivers/darkhors.c b/src/mame/drivers/darkhors.c
index 76ec6c534dd..631d45bb245 100644
--- a/src/mame/drivers/darkhors.c
+++ b/src/mame/drivers/darkhors.c
@@ -107,8 +107,8 @@ static WRITE32_HANDLER( darkhors_tmapram2_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
- UINT32 *s = spriteram32;
- UINT32 *end = spriteram32 + 0x02000/4;
+ UINT32 *s = machine->generic.spriteram.u32;
+ UINT32 *end = machine->generic.spriteram.u32 + 0x02000/4;
for ( ; s < end; s += 8/4 )
{
@@ -254,7 +254,6 @@ static WRITE32_HANDLER( darkhors_eeprom_w )
static WRITE32_HANDLER( paletteram32_xBBBBBGGGGGRRRRR_dword_w )
{
- paletteram16 = (UINT16 *)paletteram32;
if (ACCESSING_BITS_16_31) paletteram16_xBBBBBGGGGGRRRRR_word_w(space, offset*2, data >> 16, mem_mask >> 16);
if (ACCESSING_BITS_0_15) paletteram16_xBBBBBGGGGGRRRRR_word_w(space, offset*2+1, data, mem_mask);
}
@@ -319,8 +318,8 @@ static ADDRESS_MAP_START( darkhors_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x86c000, 0x86ffff) AM_RAM_WRITE(darkhors_tmapram_w) AM_BASE(&darkhors_tmapram)
AM_RANGE(0x870000, 0x873fff) AM_RAM_WRITE(darkhors_tmapram2_w) AM_BASE(&darkhors_tmapram2)
AM_RANGE(0x874000, 0x87dfff) AM_RAM
- AM_RANGE(0x87e000, 0x87ffff) AM_RAM AM_BASE(&spriteram32)
- AM_RANGE(0x880000, 0x89ffff) AM_WRITE(paletteram32_xBBBBBGGGGGRRRRR_dword_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x87e000, 0x87ffff) AM_RAM AM_BASE_GENERIC(spriteram)
+ AM_RANGE(0x880000, 0x89ffff) AM_WRITE(paletteram32_xBBBBBGGGGGRRRRR_dword_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x8a0000, 0x8bffff) AM_WRITE(SMH_RAM) // this should still be palette ram!
AM_RANGE(0x8c0120, 0x8c012f) AM_WRITE(SMH_RAM) AM_BASE(&darkhors_tmapscroll)
AM_RANGE(0x8c0130, 0x8c013f) AM_WRITE(SMH_RAM) AM_BASE(&darkhors_tmapscroll2)
@@ -351,9 +350,9 @@ static ADDRESS_MAP_START( jclub2_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x580400, 0x580403) AM_READ_PORT("580400")
AM_RANGE(0x580420, 0x580423) AM_READ_PORT("580420")
- AM_RANGE(0x800000, 0x87ffff) AM_RAM AM_BASE(&spriteram32)
+ AM_RANGE(0x800000, 0x87ffff) AM_RAM AM_BASE_GENERIC(spriteram)
- AM_RANGE(0x880000, 0x89ffff) AM_WRITE(paletteram32_xBBBBBGGGGGRRRRR_dword_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x880000, 0x89ffff) AM_WRITE(paletteram32_xBBBBBGGGGGRRRRR_dword_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x8a0000, 0x8bffff) AM_WRITE(SMH_RAM) // 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 3a14b82f795..e46c5a7fa2e 100644
--- a/src/mame/drivers/darkmist.c
+++ b/src/mame/drivers/darkmist.c
@@ -69,16 +69,16 @@ static ADDRESS_MAP_START( memmap, ADDRESS_SPACE_PROGRAM, 8 )
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(&paletteram)
+ AM_RANGE(0xd000, 0xd3ff) AM_RAM AM_BASE_GENERIC(paletteram)
AM_RANGE(0xd400, 0xd41f) AM_RAM AM_BASE(&darkmist_scroll)
AM_RANGE(0xd600, 0xd67f) AM_READWRITE(t5182shared_r, t5182shared_w)
AM_RANGE(0xd680, 0xd680) AM_WRITE(t5182_sound_irq_w)
AM_RANGE(0xd681, 0xd681) AM_READ(t5182_sharedram_semaphore_snd_r)
AM_RANGE(0xd682, 0xd682) AM_WRITE(t5182_sharedram_semaphore_main_acquire_w)
AM_RANGE(0xd683, 0xd683) AM_WRITE(t5182_sharedram_semaphore_main_release_w)
- AM_RANGE(0xd800, 0xdfff) AM_RAM AM_BASE(&videoram)
+ AM_RANGE(0xd800, 0xdfff) AM_RAM AM_BASE_GENERIC(videoram)
AM_RANGE(0xe000, 0xefff) AM_RAM AM_BASE(&darkmist_workram)
- AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/darkseal.c b/src/mame/drivers/darkseal.c
index f7555ab1b4f..cfbd04208f6 100644
--- a/src/mame/drivers/darkseal.c
+++ b/src/mame/drivers/darkseal.c
@@ -74,9 +74,9 @@ static READ16_HANDLER( darkseal_control_r )
static ADDRESS_MAP_START( darkseal_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM AM_BASE(&darkseal_ram)
- AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0x140000, 0x140fff) AM_RAM_WRITE(darkseal_palette_24bit_rg_w) AM_BASE(&paletteram16)
- AM_RANGE(0x141000, 0x141fff) AM_RAM_WRITE(darkseal_palette_24bit_b_w) AM_BASE(&paletteram16_2)
+ AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x140000, 0x140fff) AM_RAM_WRITE(darkseal_palette_24bit_rg_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x141000, 0x141fff) AM_RAM_WRITE(darkseal_palette_24bit_b_w) AM_BASE_GENERIC(paletteram2)
AM_RANGE(0x180000, 0x18000f) AM_READWRITE(darkseal_control_r, darkseal_control_w)
AM_RANGE(0x200000, 0x200fff) AM_WRITE(darkseal_pf3b_data_w) /* 2nd half of pf3, only used on last level */
AM_RANGE(0x202000, 0x203fff) AM_WRITE(darkseal_pf3_data_w) AM_BASE(&darkseal_pf3_data)
diff --git a/src/mame/drivers/dassault.c b/src/mame/drivers/dassault.c
index caa3dd86964..05541c207d2 100644
--- a/src/mame/drivers/dassault.c
+++ b/src/mame/drivers/dassault.c
@@ -213,7 +213,7 @@ static READ16_HANDLER( shared_ram_r )
static ADDRESS_MAP_START( dassault_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x100000, 0x103fff) AM_RAM_WRITE(deco16_nonbuffered_palette_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x100000, 0x103fff) AM_RAM_WRITE(deco16_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x140004, 0x140007) AM_WRITENOP /* ? */
AM_RANGE(0x180000, 0x180001) AM_WRITE(dassault_sound_w)
@@ -234,7 +234,7 @@ static ADDRESS_MAP_START( dassault_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x260000, 0x26000f) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf34_control)
AM_RANGE(0x3f8000, 0x3fbfff) AM_RAM AM_BASE(&dassault_ram) /* Main ram */
- AM_RANGE(0x3fc000, 0x3fcfff) AM_RAM AM_BASE(&spriteram16_2) AM_SIZE(&spriteram_2_size) /* Spriteram (2nd) */
+ AM_RANGE(0x3fc000, 0x3fcfff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram2) /* Spriteram (2nd) */
AM_RANGE(0x3feffc, 0x3fefff) AM_READWRITE(dassault_irq_r, dassault_irq_w)
AM_RANGE(0x3fe000, 0x3fefff) AM_READWRITE(shared_ram_r, shared_ram_w) AM_BASE(&shared_ram) /* Shared ram */
ADDRESS_MAP_END
@@ -247,7 +247,7 @@ static ADDRESS_MAP_START( dassault_sub_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x100004, 0x100005) AM_READ(dassault_sub_control_r)
AM_RANGE(0x3f8000, 0x3fbfff) AM_RAM AM_BASE(&dassault_ram2) /* Sub cpu ram */
- AM_RANGE(0x3fc000, 0x3fcfff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* Sprite ram */
+ AM_RANGE(0x3fc000, 0x3fcfff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Sprite ram */
AM_RANGE(0x3feffc, 0x3fefff) AM_READWRITE(dassault_irq_r, dassault_irq_w)
AM_RANGE(0x3fe000, 0x3fefff) AM_READWRITE(shared_ram_r, shared_ram_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/dblewing.c b/src/mame/drivers/dblewing.c
index 3a1693a62ca..d8ae12cc544 100644
--- a/src/mame/drivers/dblewing.c
+++ b/src/mame/drivers/dblewing.c
@@ -58,6 +58,7 @@ x = xpos
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
for (offs = 0x400-4;offs >= 0;offs -= 4)
@@ -452,8 +453,8 @@ static ADDRESS_MAP_START( dblewing_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x284000, 0x284001) AM_RAM
AM_RANGE(0x288000, 0x288001) AM_RAM
AM_RANGE(0x28C000, 0x28C00f) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf12_control)
- AM_RANGE(0x300000, 0x3007ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0x320000, 0x3207ff) AM_READWRITE(SMH_RAM,paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x300000, 0x3007ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x320000, 0x3207ff) AM_READWRITE(SMH_RAM,paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(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 576896a662b..4d38d418aa9 100644
--- a/src/mame/drivers/dbz.c
+++ b/src/mame/drivers/dbz.c
@@ -139,7 +139,7 @@ static ADDRESS_MAP_START( dbz_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x498000, 0x49ffff) AM_READ(K056832_rom_word_8000_r) // code near a60 in dbz2, subroutine at 730 in dbz
AM_RANGE(0x4a0000, 0x4a0fff) AM_READWRITE(K053247_word_r, K053247_word_w)
AM_RANGE(0x4a1000, 0x4a3fff) AM_RAM
- AM_RANGE(0x4a8000, 0x4abfff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) // palette
+ AM_RANGE(0x4a8000, 0x4abfff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // palette
AM_RANGE(0x4c0000, 0x4c0001) AM_READ(K053246_word_r)
AM_RANGE(0x4c0000, 0x4c0007) AM_WRITE(K053246_word_w)
AM_RANGE(0x4c4000, 0x4c4007) AM_WRITE(K053246_word_w)
diff --git a/src/mame/drivers/dcon.c b/src/mame/drivers/dcon.c
index 03bbeb827f0..168c935d065 100644
--- a/src/mame/drivers/dcon.c
+++ b/src/mame/drivers/dcon.c
@@ -41,8 +41,8 @@ static ADDRESS_MAP_START( dcon_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x8c800, 0x8cfff) AM_RAM_WRITE(dcon_foreground_w) AM_BASE(&dcon_fore_data)
AM_RANGE(0x8d000, 0x8d7ff) AM_RAM_WRITE(dcon_midground_w) AM_BASE(&dcon_mid_data)
AM_RANGE(0x8d800, 0x8e7ff) AM_RAM_WRITE(dcon_text_w) AM_BASE(&dcon_textram)
- AM_RANGE(0x8e800, 0x8f7ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0x8f800, 0x8ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x8e800, 0x8f7ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x8f800, 0x8ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x9d000, 0x9d7ff) AM_WRITE(dcon_gfxbank_w)
AM_RANGE(0xa0000, 0xa000d) AM_READWRITE(seibu_main_word_r, seibu_main_word_w)
diff --git a/src/mame/drivers/ddealer.c b/src/mame/drivers/ddealer.c
index fb0af0b642f..f5719f8496d 100644
--- a/src/mame/drivers/ddealer.c
+++ b/src/mame/drivers/ddealer.c
@@ -456,7 +456,7 @@ static ADDRESS_MAP_START( ddealer, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x080008, 0x080009) AM_READ_PORT("DSW1")
AM_RANGE(0x08000a, 0x08000b) AM_READ_PORT("UNK")
AM_RANGE(0x084000, 0x084003) AM_DEVWRITE8("ymsnd", ym2203_w, 0x00ff) // ym ?
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16) // palette ram
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram) // palette ram
AM_RANGE(0x08c000, 0x08cfff) AM_RAM_WRITE(ddealer_vregs_w) AM_BASE_MEMBER(ddealer_state, 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 e55b5959a4d..b5cb4957e46 100644
--- a/src/mame/drivers/ddragon.c
+++ b/src/mame/drivers/ddragon.c
@@ -500,8 +500,8 @@ static READ8_HANDLER( dd_adpcm_status_r )
static ADDRESS_MAP_START( ddragon_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_BASE_MEMBER(ddragon_state, rambase)
- AM_RANGE(0x1000, 0x11ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE(&paletteram)
- AM_RANGE(0x1200, 0x13ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE(&paletteram_2)
+ AM_RANGE(0x1000, 0x11ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1200, 0x13ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE_GENERIC(paletteram2)
AM_RANGE(0x1400, 0x17ff) AM_RAM
AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(ddragon_fgvideoram_w) AM_BASE_MEMBER(ddragon_state, fgvideoram)
AM_RANGE(0x2000, 0x2fff) AM_READWRITE(ddragon_spriteram_r, ddragon_spriteram_w) AM_BASE_MEMBER(ddragon_state, spriteram)
@@ -534,8 +534,8 @@ static ADDRESS_MAP_START( dd2_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x3809, 0x3809) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(ddragon_state, scrollx_lo)
AM_RANGE(0x380a, 0x380a) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(ddragon_state, scrolly_lo)
AM_RANGE(0x380b, 0x380f) AM_WRITE(ddragon_interrupt_w)
- AM_RANGE(0x3c00, 0x3dff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE(&paletteram)
- AM_RANGE(0x3e00, 0x3fff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE(&paletteram_2)
+ AM_RANGE(0x3c00, 0x3dff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x3e00, 0x3fff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE_GENERIC(paletteram2)
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK(1)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ddragon3.c b/src/mame/drivers/ddragon3.c
index 2af7e4bd922..ea5e67f2459 100644
--- a/src/mame/drivers/ddragon3.c
+++ b/src/mame/drivers/ddragon3.c
@@ -216,7 +216,7 @@ static ADDRESS_MAP_START( ddragon3_map, ADDRESS_SPACE_PROGRAM, 16 )
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(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16) /* Palette RAM */
+ AM_RANGE(0x140000, 0x1405ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) /* Palette RAM */
AM_RANGE(0x180000, 0x180fff) AM_RAM AM_BASE_MEMBER(ddragon3_state, spriteram)
AM_RANGE(0x1c0000, 0x1c3fff) AM_RAM /* working RAM */
ADDRESS_MAP_END
@@ -227,7 +227,7 @@ static ADDRESS_MAP_START( dd3b_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x081000, 0x081fff) AM_RAM AM_BASE_MEMBER(ddragon3_state, spriteram)
AM_RANGE(0x082000, 0x0827ff) AM_RAM_WRITE(ddragon3_bg_videoram_w) AM_BASE_MEMBER(ddragon3_state, bg_videoram) /* Background (32x32 Tiles - 2 by per tile) */
AM_RANGE(0x0c0000, 0x0c000f) AM_WRITE(ddragon3_scroll_w)
- AM_RANGE(0x100000, 0x1005ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16) /* Palette RAM */
+ AM_RANGE(0x100000, 0x1005ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(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, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x082000, 0x0827ff) AM_RAM_WRITE(ddragon3_bg_videoram_w) AM_BASE_MEMBER(ddragon3_state, bg_videoram) /* Background (32x32 Tiles - 2 by per tile) */
AM_RANGE(0x082800, 0x082fff) AM_RAM
AM_RANGE(0x0c0000, 0x0c000f) AM_READWRITE(ddragon3_scroll_r, ddragon3_scroll_w)
- AM_RANGE(0x100000, 0x1005ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16) /* Palette RAM */
+ AM_RANGE(0x100000, 0x1005ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(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/ddrible.c b/src/mame/drivers/ddrible.c
index 7b44f9ecfd9..60970c29295 100644
--- a/src/mame/drivers/ddrible.c
+++ b/src/mame/drivers/ddrible.c
@@ -128,7 +128,7 @@ static WRITE8_DEVICE_HANDLER( ddrible_vlm5030_ctrl_w )
static ADDRESS_MAP_START( cpu0_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0004) AM_WRITE(K005885_0_w) /* video registers (005885 #1) */
AM_RANGE(0x0800, 0x0804) AM_WRITE(K005885_1_w) /* video registers (005885 #2) */
- AM_RANGE(0x1800, 0x187f) AM_RAM AM_BASE(&paletteram) /* palette */
+ AM_RANGE(0x1800, 0x187f) AM_RAM AM_BASE_GENERIC(paletteram) /* palette */
AM_RANGE(0x2000, 0x2fff) AM_RAM_WRITE(ddrible_fg_videoram_w) AM_BASE(&ddrible_fg_videoram) /* Video RAM 1 */
AM_RANGE(0x3000, 0x3fff) AM_RAM AM_BASE(&ddrible_spriteram_1) /* Object RAM 1 */
AM_RANGE(0x4000, 0x5fff) AM_RAM AM_BASE(&ddrible_sharedram) /* shared RAM with CPU #1 */
diff --git a/src/mame/drivers/deadang.c b/src/mame/drivers/deadang.c
index cc89857d646..280c9725e6f 100644
--- a/src/mame/drivers/deadang.c
+++ b/src/mame/drivers/deadang.c
@@ -67,16 +67,16 @@ static READ16_HANDLER( ghunter_trackball_high_r )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00000, 0x037ff) AM_RAM
- AM_RANGE(0x03800, 0x03fff) AM_RAM AM_BASE(&spriteram16)
+ AM_RANGE(0x03800, 0x03fff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x04000, 0x04fff) AM_RAM AM_SHARE(1)
AM_RANGE(0x05000, 0x05fff) AM_WRITE(SMH_RAM)
AM_RANGE(0x06000, 0x0600f) AM_READWRITE(seibu_main_word_r, seibu_main_word_w)
AM_RANGE(0x06010, 0x07fff) AM_WRITE(SMH_RAM)
- AM_RANGE(0x08000, 0x087ff) AM_WRITE(deadang_text_w) AM_BASE(&videoram16)
+ AM_RANGE(0x08000, 0x087ff) AM_WRITE(deadang_text_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x08800, 0x0bfff) AM_WRITE(SMH_RAM)
AM_RANGE(0x0a000, 0x0a001) AM_READ_PORT("P1_P2")
AM_RANGE(0x0a002, 0x0a003) AM_READ_PORT("DSW")
- AM_RANGE(0x0c000, 0x0cfff) AM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0c000, 0x0cfff) AM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x0d000, 0x0dfff) AM_WRITE(SMH_RAM)
AM_RANGE(0x0e000, 0x0e0ff) AM_WRITE(SMH_RAM) AM_BASE(&deadang_scroll_ram)
AM_RANGE(0x0e100, 0x0ffff) AM_WRITE(SMH_RAM)
diff --git a/src/mame/drivers/dec0.c b/src/mame/drivers/dec0.c
index 2aefe1d01ee..d35a777cc06 100644
--- a/src/mame/drivers/dec0.c
+++ b/src/mame/drivers/dec0.c
@@ -190,10 +190,10 @@ static ADDRESS_MAP_START( dec0_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300000, 0x30001f) AM_READ(dec0_rotary_r)
AM_RANGE(0x30c000, 0x30c00b) AM_READ(dec0_controls_r)
AM_RANGE(0x30c010, 0x30c01f) AM_WRITE(dec0_control_w) /* Priority, sound, etc. */
- AM_RANGE(0x310000, 0x3107ff) AM_RAM_WRITE(dec0_paletteram_rg_w) AM_BASE(&paletteram16)
- AM_RANGE(0x314000, 0x3147ff) AM_RAM_WRITE(dec0_paletteram_b_w) AM_BASE(&paletteram16_2)
+ AM_RANGE(0x310000, 0x3107ff) AM_RAM_WRITE(dec0_paletteram_rg_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x314000, 0x3147ff) AM_RAM_WRITE(dec0_paletteram_b_w) AM_BASE_GENERIC(paletteram2)
AM_RANGE(0xff8000, 0xffbfff) AM_RAM AM_BASE(&dec0_ram) /* Main ram */
- AM_RANGE(0xffc000, 0xffc7ff) AM_RAM AM_BASE(&spriteram16) /* Sprites */
+ AM_RANGE(0xffc000, 0xffc7ff) AM_RAM AM_BASE_GENERIC(spriteram) /* Sprites */
ADDRESS_MAP_END
static ADDRESS_MAP_START( robocop_sub_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -244,8 +244,8 @@ static ADDRESS_MAP_START( slyspy_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x301000, 0x3017ff) AM_WRITE(dec0_pf3_data_w) AM_BASE(&dec0_pf3_data)
AM_RANGE(0x304000, 0x307fff) AM_RAM AM_BASE(&dec0_ram) /* Sly spy main ram */
- AM_RANGE(0x308000, 0x3087ff) AM_RAM AM_BASE(&spriteram16) /* Sprites */
- AM_RANGE(0x310000, 0x3107ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x308000, 0x3087ff) AM_RAM AM_BASE_GENERIC(spriteram) /* Sprites */
+ AM_RANGE(0x310000, 0x3107ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x314000, 0x314003) AM_WRITE(slyspy_control_w)
AM_RANGE(0x314008, 0x31400f) AM_READ(slyspy_controls_r)
AM_RANGE(0x31c000, 0x31c00f) AM_READ(slyspy_protection_r) AM_WRITENOP
@@ -254,8 +254,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( midres_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM AM_BASE(&dec0_ram)
- AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_BASE(&spriteram16)
- AM_RANGE(0x140000, 0x1407ff) AM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_BASE_GENERIC(spriteram)
+ AM_RANGE(0x140000, 0x1407ff) AM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x160000, 0x160001) AM_WRITE(dec0_priority_w)
AM_RANGE(0x180000, 0x18000f) AM_READ(midres_controls_r)
AM_RANGE(0x180008, 0x18000f) AM_WRITENOP /* ?? watchdog ?? */
@@ -340,8 +340,8 @@ static ADDRESS_MAP_START( secretab_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300c00, 0x300fff) AM_RAM AM_BASE(&dec0_pf3_rowscroll)
AM_RANGE(0x301000, 0x3017ff) AM_RAM_WRITE(dec0_pf3_data_w) AM_BASE(&dec0_pf3_data)
AM_RANGE(0x301800, 0x307fff) AM_RAM AM_BASE(&dec0_ram) /* Sly spy main ram */
- AM_RANGE(0x310000, 0x3107ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0xb08000, 0xb087ff) AM_RAM AM_BASE(&spriteram16) /* Sprites */
+ AM_RANGE(0x310000, 0x3107ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xb08000, 0xb087ff) AM_RAM AM_BASE_GENERIC(spriteram) /* Sprites */
ADDRESS_MAP_END
static ADDRESS_MAP_START( automat_map, ADDRESS_SPACE_PROGRAM, 16 )
@@ -369,11 +369,11 @@ static ADDRESS_MAP_START( automat_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300000, 0x30001f) AM_READ(dec0_rotary_r)
AM_RANGE(0x30c000, 0x30c00b) AM_READ(dec0_controls_r)
AM_RANGE(0x30c000, 0x30c01f) AM_WRITE(automat_control_w) /* Priority, sound, etc. */
- AM_RANGE(0x310000, 0x3107ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x310000, 0x3107ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x314000, 0x3147ff) AM_RAM
AM_RANGE(0x400008, 0x400009) AM_WRITE(dec0_priority_w) // NEW
AM_RANGE(0xff8000, 0xffbfff) AM_RAM AM_BASE(&dec0_ram) /* Main ram */
- AM_RANGE(0xffc000, 0xffc7ff) AM_RAM AM_BASE(&spriteram16) /* Sprites */
+ AM_RANGE(0xffc000, 0xffc7ff) AM_RAM AM_BASE_GENERIC(spriteram) /* Sprites */
ADDRESS_MAP_END
static WRITE8_HANDLER( automat_adpcm_w )
diff --git a/src/mame/drivers/dec8.c b/src/mame/drivers/dec8.c
index 82448358726..a0bfb085299 100644
--- a/src/mame/drivers/dec8.c
+++ b/src/mame/drivers/dec8.c
@@ -524,8 +524,8 @@ static WRITE8_HANDLER( shackled_int_w )
/******************************************************************************/
-static READ8_HANDLER( shackled_sprite_r ) { return spriteram[offset]; }
-static WRITE8_HANDLER( shackled_sprite_w ) { spriteram[offset] = data; }
+static READ8_HANDLER( shackled_sprite_r ) { return space->machine->generic.spriteram.u8[offset]; }
+static WRITE8_HANDLER( shackled_sprite_w ) { space->machine->generic.spriteram.u8[offset] = data; }
static WRITE8_HANDLER( flip_screen_w ) { flip_screen_set(space->machine, data); }
/******************************************************************************/
@@ -535,9 +535,9 @@ static ADDRESS_MAP_START( cobra_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0800, 0x0fff) AM_READWRITE(dec8_pf0_data_r, dec8_pf0_data_w) AM_BASE_MEMBER(dec8_state, pf0_data)
AM_RANGE(0x1000, 0x17ff) AM_READWRITE(dec8_pf1_data_r, dec8_pf1_data_w) AM_BASE_MEMBER(dec8_state, pf1_data)
AM_RANGE(0x1800, 0x1fff) AM_RAM
- AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_MEMBER(dec8_state, videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0x3000, 0x31ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_be_w) AM_BASE(&paletteram)
+ AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_MEMBER(dec8_state, videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x3000, 0x31ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_be_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x3200, 0x37ff) AM_WRITE(SMH_RAM) /* Unused */
AM_RANGE(0x3800, 0x3800) AM_READ_PORT("IN0") /* Player 1 */
AM_RANGE(0x3801, 0x3801) AM_READ_PORT("IN1") /* Player 2 */
@@ -556,12 +556,12 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( ghostb_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x17ff) AM_RAM
- AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_MEMBER(dec8_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_MEMBER(dec8_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x2000, 0x27ff) AM_READWRITE(dec8_pf0_data_r, dec8_pf0_data_w) AM_BASE_MEMBER(dec8_state, pf0_data)
AM_RANGE(0x2800, 0x2bff) AM_RAM
AM_RANGE(0x2c00, 0x2dff) AM_RAM AM_BASE_MEMBER(dec8_state, row)
AM_RANGE(0x2e00, 0x2fff) AM_RAM /* Unused */
- AM_RANGE(0x3000, 0x37ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x3000, 0x37ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x3800, 0x3800) AM_READ_PORT("IN0") /* Player 1 */
AM_RANGE(0x3800, 0x3800) AM_WRITE(dec8_sound_w)
AM_RANGE(0x3801, 0x3801) AM_READ_PORT("IN1") /* Player 2 */
@@ -580,12 +580,12 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( meikyuh_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x17ff) AM_RAM
- AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_MEMBER(dec8_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_MEMBER(dec8_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x2000, 0x27ff) AM_READWRITE(dec8_pf0_data_r, dec8_pf0_data_w) AM_BASE_MEMBER(dec8_state, pf0_data)
AM_RANGE(0x2800, 0x2bff) AM_RAM
AM_RANGE(0x2c00, 0x2dff) AM_RAM AM_BASE_MEMBER(dec8_state, row)
AM_RANGE(0x2e00, 0x2fff) AM_RAM /* Unused */
- AM_RANGE(0x3000, 0x37ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x3000, 0x37ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x3800, 0x3800) AM_READ_PORT("IN0") /* Player 1 */
AM_RANGE(0x3800, 0x3800) AM_WRITE(dec8_sound_w)
AM_RANGE(0x3801, 0x3801) AM_READ_PORT("IN1") /* Player 2 */
@@ -603,8 +603,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( srdarwin_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x05ff) AM_RAM
- AM_RANGE(0x0600, 0x07ff) AM_RAM AM_BASE(&spriteram)
- AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(srdarwin_videoram_w) AM_BASE_MEMBER(dec8_state, videoram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x0600, 0x07ff) AM_RAM AM_BASE_GENERIC(spriteram)
+ AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(srdarwin_videoram_w) AM_BASE_MEMBER(dec8_state, videoram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0x1000, 0x13ff) AM_RAM
AM_RANGE(0x1400, 0x17ff) AM_READWRITE(dec8_pf0_data_r, dec8_pf0_data_w) AM_BASE_MEMBER(dec8_state, pf0_data)
AM_RANGE(0x1800, 0x1801) AM_WRITE(srdarwin_i8751_w)
@@ -614,8 +614,8 @@ static ADDRESS_MAP_START( srdarwin_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1805, 0x1806) AM_WRITE(srdarwin_control_w) /* Scroll & Bank */
AM_RANGE(0x2000, 0x2000) AM_READWRITE(i8751_h_r, dec8_sound_w) /* Sound */
AM_RANGE(0x2001, 0x2001) AM_READWRITE(i8751_l_r, flip_screen_w) /* Flipscreen */
- AM_RANGE(0x2800, 0x288f) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE(&paletteram)
- AM_RANGE(0x3000, 0x308f) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE(&paletteram_2)
+ AM_RANGE(0x2800, 0x288f) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x3000, 0x308f) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE_GENERIC(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 */
@@ -626,11 +626,11 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( gondo_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x17ff) AM_RAM
- AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_MEMBER(dec8_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_MEMBER(dec8_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x2000, 0x27ff) AM_READWRITE(dec8_pf0_data_r, dec8_pf0_data_w) AM_BASE_MEMBER(dec8_state, pf0_data)
- AM_RANGE(0x2800, 0x2bff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE(&paletteram)
- AM_RANGE(0x2c00, 0x2fff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE(&paletteram_2)
- AM_RANGE(0x3000, 0x37ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) /* Sprites */
+ AM_RANGE(0x2800, 0x2bff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x2c00, 0x2fff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0x3000, 0x37ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Sprites */
AM_RANGE(0x3800, 0x3800) AM_READ_PORT("DSW0") /* Dip 1 */
AM_RANGE(0x3801, 0x3801) AM_READ_PORT("DSW1") /* Dip 2 */
AM_RANGE(0x380a, 0x380b) AM_READ(gondo_player_1_r) /* Player 1 rotary */
@@ -651,10 +651,10 @@ static ADDRESS_MAP_START( oscar_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0eff) AM_RAM AM_SHARE(1)
AM_RANGE(0x0f00, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x1fff) AM_RAM AM_SHARE(2)
- AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_MEMBER(dec8_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_MEMBER(dec8_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x2800, 0x2fff) AM_READWRITE(dec8_pf0_data_r, dec8_pf0_data_w) AM_BASE_MEMBER(dec8_state, pf0_data)
- AM_RANGE(0x3000, 0x37ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) /* Sprites */
- AM_RANGE(0x3800, 0x3bff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_be_w) AM_BASE(&paletteram)
+ AM_RANGE(0x3000, 0x37ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Sprites */
+ AM_RANGE(0x3800, 0x3bff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_be_w) AM_BASE_GENERIC(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 */
@@ -680,8 +680,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( lastmiss_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE(1)
- AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE(3) AM_BASE(&paletteram)
- AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE(4) AM_BASE(&paletteram_2)
+ AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE(3) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE(4) AM_BASE_GENERIC(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")
@@ -696,8 +696,8 @@ static ADDRESS_MAP_START( lastmiss_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x180c, 0x180c) AM_WRITE(dec8_sound_w)
AM_RANGE(0x180d, 0x180d) AM_WRITE(lastmiss_control_w) /* Bank switch + Scroll MSB */
AM_RANGE(0x180e, 0x180f) AM_WRITE(lastmiss_i8751_w)
- AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_MEMBER(dec8_state, videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_MEMBER(dec8_state, videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE(2)
AM_RANGE(0x3800, 0x3fff) AM_READWRITE(dec8_pf0_data_r, dec8_pf0_data_w) AM_BASE_MEMBER(dec8_state, pf0_data)
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK(1)
@@ -726,8 +726,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( shackled_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE(1)
- AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE(3) AM_BASE(&paletteram)
- AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE(4) AM_BASE(&paletteram_2)
+ AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE(3) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE(4) AM_BASE_GENERIC(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")
@@ -766,8 +766,8 @@ static ADDRESS_MAP_START( shackled_sub_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x180c, 0x180c) AM_WRITE(dec8_sound_w)
AM_RANGE(0x180d, 0x180d) AM_WRITE(shackled_control_w) /* Bank switch + Scroll MSB */
AM_RANGE(0x180e, 0x180f) AM_WRITE(shackled_i8751_w)
- AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_MEMBER(dec8_state, videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_MEMBER(dec8_state, videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE(2)
AM_RANGE(0x3800, 0x3fff) AM_READWRITE(dec8_pf0_data_r, dec8_pf0_data_w)
AM_RANGE(0x4000, 0xffff) AM_ROM
@@ -775,8 +775,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( csilver_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE(1)
- AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE(3) AM_BASE(&paletteram)
- AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE(4) AM_BASE(&paletteram_2)
+ AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_SHARE(3) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_SHARE(4) AM_BASE_GENERIC(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")
@@ -807,8 +807,8 @@ static ADDRESS_MAP_START( csilver_sub_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1800, 0x1804) AM_WRITE(shackled_int_w)
AM_RANGE(0x1805, 0x1805) AM_READ_PORT("DSW0") AM_WRITE(buffer_spriteram_w) /* DMA */
AM_RANGE(0x180c, 0x180c) AM_WRITE(dec8_sound_w)
- AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_MEMBER(dec8_state, videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_MEMBER(dec8_state, videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE(2)
AM_RANGE(0x3800, 0x3fff) AM_READWRITE(dec8_pf0_data_r, dec8_pf0_data_w)
AM_RANGE(0x4000, 0xffff) AM_ROM
@@ -816,11 +816,11 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( garyoret_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x17ff) AM_RAM
- AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_MEMBER(dec8_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(dec8_videoram_w) AM_BASE_MEMBER(dec8_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x2000, 0x27ff) AM_READWRITE(dec8_pf0_data_r, dec8_pf0_data_w) AM_BASE_MEMBER(dec8_state, pf0_data)
- AM_RANGE(0x2800, 0x2bff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE(&paletteram)
- AM_RANGE(0x2c00, 0x2fff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE(&paletteram_2)
- AM_RANGE(0x3000, 0x37ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) /* Sprites */
+ AM_RANGE(0x2800, 0x2bff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x2c00, 0x2fff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0x3000, 0x37ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Sprites */
AM_RANGE(0x3800, 0x3800) AM_READ_PORT("DSW0") /* Dip 1 */
AM_RANGE(0x3801, 0x3801) AM_READ_PORT("DSW1") /* Dip 2 */
AM_RANGE(0x3808, 0x3808) AM_READNOP /* ? */
diff --git a/src/mame/drivers/deco156.c b/src/mame/drivers/deco156.c
index fbe9b1f7ad4..fdf7d29de6e 100644
--- a/src/mame/drivers/deco156.c
+++ b/src/mame/drivers/deco156.c
@@ -36,7 +36,7 @@ static VIDEO_START( wcvol95 )
deco16_pf1_rowscroll = auto_alloc_array(machine, UINT16, 0x800/2);
deco16_pf2_rowscroll = auto_alloc_array(machine, UINT16, 0x800/2);
deco16_pf12_control = auto_alloc_array(machine, UINT16, 0x10/2);
- paletteram16 = auto_alloc_array(machine, UINT16, 0x1000/2);
+ machine->generic.paletteram.u16 = auto_alloc_array(machine, UINT16, 0x1000/2);
/* and register the allocated ram so that save states still work */
state_save_register_global_pointer(machine, deco16_pf1_data, 0x2000/2);
@@ -44,7 +44,7 @@ static VIDEO_START( wcvol95 )
state_save_register_global_pointer(machine, deco16_pf1_rowscroll, 0x800/2);
state_save_register_global_pointer(machine, deco16_pf2_rowscroll, 0x800/2);
state_save_register_global_pointer(machine, deco16_pf12_control, 0x10/2);
- state_save_register_global_pointer(machine, paletteram16, 0x1000/2);
+ state_save_register_global_pointer(machine, machine->generic.paletteram.u16, 0x1000/2);
deco16_1_video_init(machine);
@@ -56,6 +56,7 @@ static VIDEO_START( wcvol95 )
its the same sprite chip Data East used on many, many 16-bit era titles */
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT32 *spriteram32 = machine->generic.spriteram.u32;
int offs;
flip_screen_set_no_update(machine, 1);
@@ -161,8 +162,8 @@ static WRITE32_DEVICE_HANDLER( hvysmsh_oki_0_bank_w )
static WRITE32_HANDLER(wcvol95_nonbuffered_palette_w)
{
- COMBINE_DATA(&paletteram32[offset]);
- palette_set_color_rgb(space->machine,offset,pal5bit(paletteram32[offset] >> 0),pal5bit(paletteram32[offset] >> 5),pal5bit(paletteram32[offset] >> 10));
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
+ palette_set_color_rgb(space->machine,offset,pal5bit(space->machine->generic.paletteram.u32[offset] >> 0),pal5bit(space->machine->generic.paletteram.u32[offset] >> 5),pal5bit(space->machine->generic.paletteram.u32[offset] >> 10));
}
/***************************************************************************/
@@ -193,9 +194,9 @@ static ADDRESS_MAP_START( hvysmsh_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x194000, 0x195fff) AM_READWRITE( wcvol95_pf2_data_r, wcvol95_pf2_data_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_READ(SMH_RAM) AM_WRITE(deco32_nonbuffered_palette_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x1c0000, 0x1c0fff) AM_READ(SMH_RAM) AM_WRITE(deco32_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x1d0010, 0x1d002f) AM_READNOP // Check for DMA complete?
- AM_RANGE(0x1e0000, 0x1e1fff) AM_RAM AM_BASE(&spriteram32) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x1e0000, 0x1e1fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( wcvol95_map, ADDRESS_SPACE_PROGRAM, 32 )
@@ -208,9 +209,9 @@ static ADDRESS_MAP_START( wcvol95_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x130000, 0x137fff) AM_RAM
AM_RANGE(0x140000, 0x140003) AM_READ_PORT("INPUTS")
AM_RANGE(0x150000, 0x150003) AM_WRITE_PORT("EEPROMOUT")
- AM_RANGE(0x160000, 0x161fff) AM_RAM AM_BASE(&spriteram32) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x160000, 0x161fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x170000, 0x170003) AM_NOP // Irq ack?
- AM_RANGE(0x180000, 0x180fff) AM_READ(SMH_RAM) AM_WRITE(wcvol95_nonbuffered_palette_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x180000, 0x180fff) AM_READ(SMH_RAM) AM_WRITE(wcvol95_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x1a0000, 0x1a0007) AM_DEVREADWRITE8("ymz", ymz280b_r, ymz280b_w, 0x000000ff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/deco32.c b/src/mame/drivers/deco32.c
index c75a5a05930..21254303a24 100644
--- a/src/mame/drivers/deco32.c
+++ b/src/mame/drivers/deco32.c
@@ -660,11 +660,11 @@ static ADDRESS_MAP_START( captaven_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x100000, 0x100007) AM_READ(deco32_71_r)
AM_RANGE(0x100000, 0x100003) AM_WRITE(buffer_spriteram32_w)
AM_RANGE(0x108000, 0x108003) AM_WRITENOP /* ? */
- AM_RANGE(0x110000, 0x110fff) AM_RAM AM_BASE(&spriteram32) AM_SIZE(&spriteram_size) /* Sprites */
+ AM_RANGE(0x110000, 0x110fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Sprites */
AM_RANGE(0x120000, 0x127fff) AM_RAM AM_BASE(&deco32_ram) /* Main RAM */
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(deco32_nonbuffered_palette_w) AM_BASE(&paletteram32) /* Palette RAM */
+ AM_RANGE(0x130000, 0x131fff) AM_RAM_WRITE(deco32_nonbuffered_palette_w) AM_BASE_GENERIC(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)
@@ -693,11 +693,11 @@ static ADDRESS_MAP_START( fghthist_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x140000, 0x140003) AM_WRITENOP /* VBL irq ack */
- AM_RANGE(0x168000, 0x169fff) AM_RAM_WRITE(deco32_buffered_palette_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x168000, 0x169fff) AM_RAM_WRITE(deco32_buffered_palette_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x16c008, 0x16c00b) AM_WRITE(deco32_palette_dma_w)
//
- AM_RANGE(0x178000, 0x178fff) AM_RAM AM_BASE(&spriteram32) AM_SIZE(&spriteram_size)
- AM_RANGE(0x179000, 0x179fff) AM_RAM AM_BASE(&spriteram32_2) // ?
+ AM_RANGE(0x178000, 0x178fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x179000, 0x179fff) AM_RAM AM_BASE_GENERIC(spriteram2) // ?
AM_RANGE(0x17c010, 0x17c013) AM_WRITE(buffer_spriteram32_w)
AM_RANGE(0x182000, 0x183fff) AM_RAM_WRITE(deco32_pf1_data_w) AM_BASE(&deco32_pf1_data)
@@ -725,11 +725,11 @@ static ADDRESS_MAP_START( fghthsta_memmap, ADDRESS_SPACE_PROGRAM, 32 )
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_READ(SMH_RAM) AM_WRITE(deco32_buffered_palette_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x168000, 0x169fff) AM_READ(SMH_RAM) AM_WRITE(deco32_buffered_palette_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x16c008, 0x16c00b) AM_WRITE(deco32_palette_dma_w)
AM_RANGE(0x16c010, 0x16c013) AM_READNOP
- AM_RANGE(0x178000, 0x179fff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) AM_BASE(&spriteram32) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x178000, 0x179fff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x17c010, 0x17c013) AM_WRITE(buffer_spriteram32_w)
AM_RANGE(0x17c020, 0x17c023) AM_READNOP
@@ -754,7 +754,7 @@ static ADDRESS_MAP_START( dragngun_map, ADDRESS_SPACE_PROGRAM, 32 )
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(deco32_buffered_palette_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x130000, 0x131fff) AM_RAM_WRITE(deco32_buffered_palette_w) AM_BASE_GENERIC(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(deco32_palette_dma_w)
@@ -777,7 +777,7 @@ static ADDRESS_MAP_START( dragngun_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x20c000, 0x20cfff) AM_RAM AM_BASE(&dragngun_sprite_layout_1_ram)
AM_RANGE(0x210000, 0x217fff) AM_RAM AM_BASE(&dragngun_sprite_lookup_0_ram)
AM_RANGE(0x218000, 0x21ffff) AM_RAM AM_BASE(&dragngun_sprite_lookup_1_ram)
- AM_RANGE(0x220000, 0x221fff) AM_RAM AM_BASE(&spriteram32) AM_SIZE(&spriteram_size) /* Main spriteram */
+ AM_RANGE(0x220000, 0x221fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Main spriteram */
AM_RANGE(0x228000, 0x2283ff) AM_RAM //0x10 byte increments only
@@ -802,7 +802,7 @@ static ADDRESS_MAP_START( lockload_map, ADDRESS_SPACE_PROGRAM, 32 )
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(deco32_buffered_palette_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x130000, 0x131fff) AM_RAM_WRITE(deco32_buffered_palette_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x138000, 0x138003) AM_READWRITE(SMH_RAM, SMH_NOP) //palette dma complete in bit 0x8? ack? return 0 else tight loop
AM_RANGE(0x138008, 0x13800b) AM_WRITE(deco32_palette_dma_w)
@@ -826,7 +826,7 @@ static ADDRESS_MAP_START( lockload_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x20c000, 0x20cfff) AM_RAM AM_BASE(&dragngun_sprite_layout_1_ram)
AM_RANGE(0x210000, 0x217fff) AM_RAM AM_BASE(&dragngun_sprite_lookup_0_ram)
AM_RANGE(0x218000, 0x21ffff) AM_RAM AM_BASE(&dragngun_sprite_lookup_1_ram)
- AM_RANGE(0x220000, 0x221fff) AM_RAM AM_BASE(&spriteram32) AM_SIZE(&spriteram_size) /* Main spriteram */
+ AM_RANGE(0x220000, 0x221fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Main spriteram */
AM_RANGE(0x228000, 0x2283ff) AM_RAM //0x10 byte increments only
AM_RANGE(0x230000, 0x230003) AM_WRITE(dragngun_spriteram_dma_w)
@@ -857,15 +857,15 @@ static ADDRESS_MAP_START( tattass_map, ADDRESS_SPACE_PROGRAM, 32 )
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(deco32_buffered_palette_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x168000, 0x169fff) AM_RAM_WRITE(deco32_buffered_palette_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x16c000, 0x16c003) AM_WRITENOP
AM_RANGE(0x16c008, 0x16c00b) AM_WRITE(deco32_palette_dma_w)
- AM_RANGE(0x170000, 0x171fff) AM_RAM AM_BASE(&spriteram32) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x170000, 0x171fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x174000, 0x174003) AM_WRITENOP /* Sprite DMA mode (2) */
AM_RANGE(0x174010, 0x174013) AM_WRITE(buffer_spriteram32_w)
AM_RANGE(0x174018, 0x17401b) AM_WRITENOP /* Sprite 'CPU' (unused) */
- AM_RANGE(0x178000, 0x179fff) AM_RAM AM_BASE(&spriteram32_2) AM_SIZE(&spriteram_2_size)
+ AM_RANGE(0x178000, 0x179fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram2)
AM_RANGE(0x17c000, 0x17c003) AM_WRITENOP /* Sprite DMA mode (2) */
AM_RANGE(0x17c010, 0x17c013) AM_WRITE(buffer_spriteram32_2_w)
@@ -898,15 +898,15 @@ static ADDRESS_MAP_START( nslasher_map, ADDRESS_SPACE_PROGRAM, 32 )
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(deco32_buffered_palette_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x168000, 0x169fff) AM_RAM_WRITE(deco32_buffered_palette_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x16c000, 0x16c003) AM_WRITENOP
AM_RANGE(0x16c008, 0x16c00b) AM_WRITE(deco32_palette_dma_w)
- AM_RANGE(0x170000, 0x171fff) AM_RAM_WRITE(SMH_RAM) AM_BASE(&spriteram32) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x170000, 0x171fff) AM_RAM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x174000, 0x174003) AM_WRITENOP /* Sprite DMA mode (2) */
AM_RANGE(0x174010, 0x174013) AM_WRITE(buffer_spriteram32_w)
AM_RANGE(0x174018, 0x17401b) AM_WRITENOP /* Sprite 'CPU' (unused) */
- AM_RANGE(0x178000, 0x179fff) AM_RAM_WRITE(SMH_RAM) AM_BASE(&spriteram32_2) AM_SIZE(&spriteram_2_size)
+ AM_RANGE(0x178000, 0x179fff) AM_RAM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram2)
AM_RANGE(0x17c000, 0x17c003) AM_WRITENOP /* Sprite DMA mode (2) */
AM_RANGE(0x17c010, 0x17c013) AM_WRITE(buffer_spriteram32_2_w)
AM_RANGE(0x17c018, 0x17c01b) AM_WRITENOP /* Sprite 'CPU' (unused) */
diff --git a/src/mame/drivers/deco_ld.c b/src/mame/drivers/deco_ld.c
index 0472e20edc2..3cb850a1707 100644
--- a/src/mame/drivers/deco_ld.c
+++ b/src/mame/drivers/deco_ld.c
@@ -61,7 +61,7 @@ static VIDEO_UPDATE( rblaster )
{
for (x=0;x<32;x++)
{
- int tile = videoram[count];
+ int tile = screen->machine->generic.videoram.u8[count];
int colour = (vram_bank & 0x7);
drawgfx_opaque(bitmap,cliprect,gfx,tile,colour,0,0,x*8,y*8);
@@ -114,10 +114,10 @@ static ADDRESS_MAP_START( cobra_map, ADDRESS_SPACE_PROGRAM, 8 )
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(paletteram_RRRGGGBB_w) AM_BASE(&paletteram)
+ AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(paletteram_RRRGGGBB_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x2000, 0x2fff) AM_RAM
AM_RANGE(0x3000, 0x37ff) AM_RAM //vram attr?
- AM_RANGE(0x3800, 0x3fff) AM_RAM AM_BASE(&videoram)
+ AM_RANGE(0x3800, 0x3fff) AM_RAM AM_BASE_GENERIC(videoram)
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -130,8 +130,8 @@ static ADDRESS_MAP_START( rblaster_map, ADDRESS_SPACE_PROGRAM, 8 )
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(paletteram_RRRGGGBB_w) AM_BASE(&paletteram)
- AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE(&videoram)
+ AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(paletteram_RRRGGGBB_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE_GENERIC(videoram)
AM_RANGE(0x3000, 0x3fff) AM_RAM
AM_RANGE(0xc000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/deco_mlc.c b/src/mame/drivers/deco_mlc.c
index 77258fcba2b..befc20336bf 100644
--- a/src/mame/drivers/deco_mlc.c
+++ b/src/mame/drivers/deco_mlc.c
@@ -155,9 +155,9 @@ static WRITE32_HANDLER( avengrs_eprom_w )
static WRITE32_HANDLER( avengrs_palette_w )
{
- COMBINE_DATA(&paletteram32[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
/* x bbbbb ggggg rrrrr */
- palette_set_color_rgb(space->machine,offset,pal5bit(paletteram32[offset] >> 0),pal5bit(paletteram32[offset] >> 5),pal5bit(paletteram32[offset] >> 10));
+ palette_set_color_rgb(space->machine,offset,pal5bit(space->machine->generic.paletteram.u32[offset] >> 0),pal5bit(space->machine->generic.paletteram.u32[offset] >> 5),pal5bit(space->machine->generic.paletteram.u32[offset] >> 10));
}
static READ32_HANDLER( decomlc_vbl_r )
@@ -229,7 +229,7 @@ static WRITE32_HANDLER( mlc_irq_w )
static READ32_HANDLER(mlc_spriteram_r)
{
- return spriteram32[offset]&0xffff;
+ return space->machine->generic.spriteram.u32[offset]&0xffff;
}
static READ32_HANDLER(mlc_vram_r)
@@ -273,9 +273,9 @@ static ADDRESS_MAP_START( decomlc_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x0200078, 0x020007f) AM_READ(test2_r) AM_MIRROR(0xff000000)
AM_RANGE(0x0200000, 0x020007f) AM_WRITE(mlc_irq_w) AM_BASE(&irq_ram) AM_MIRROR(0xff000000)
AM_RANGE(0x0200080, 0x02000ff) AM_RAM AM_BASE(&mlc_clip_ram) AM_MIRROR(0xff000000)
- AM_RANGE(0x0204000, 0x0206fff) AM_READWRITE(mlc_spriteram_r, SMH_RAM) AM_BASE(&spriteram32) AM_SIZE(&spriteram_size) AM_MIRROR(0xff000000)
+ AM_RANGE(0x0204000, 0x0206fff) AM_READWRITE(mlc_spriteram_r, SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram) AM_MIRROR(0xff000000)
AM_RANGE(0x0280000, 0x029ffff) AM_READWRITE(mlc_vram_r, SMH_RAM) AM_BASE(&mlc_vram) AM_MIRROR(0xff000000)
- AM_RANGE(0x0300000, 0x0307fff) AM_RAM_WRITE(avengrs_palette_w) AM_BASE(&paletteram32) AM_MIRROR(0xff000000)
+ AM_RANGE(0x0300000, 0x0307fff) AM_RAM_WRITE(avengrs_palette_w) AM_BASE_GENERIC(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/deniam.c b/src/mame/drivers/deniam.c
index 20846979770..ea4b28d25ef 100644
--- a/src/mame/drivers/deniam.c
+++ b/src/mame/drivers/deniam.c
@@ -75,7 +75,7 @@ static ADDRESS_MAP_START( deniam16b_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x400000, 0x40ffff) AM_RAM_WRITE(deniam_videoram_w) AM_BASE_MEMBER(deniam_state, videoram)
AM_RANGE(0x410000, 0x410fff) AM_RAM_WRITE(deniam_textram_w) AM_BASE_MEMBER(deniam_state, textram)
- AM_RANGE(0x440000, 0x4407ff) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(deniam_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x440000, 0x4407ff) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(deniam_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0x840000, 0x840fff) AM_WRITE(deniam_palette_w) AM_BASE_MEMBER(deniam_state, paletteram)
AM_RANGE(0xc40000, 0xc40001) AM_WRITE(sound_command_w)
AM_RANGE(0xc40002, 0xc40003) AM_READWRITE(deniam_coinctrl_r, deniam_coinctrl_w)
@@ -105,7 +105,7 @@ static ADDRESS_MAP_START( deniam16c_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x400000, 0x40ffff) AM_RAM_WRITE(deniam_videoram_w) AM_BASE_MEMBER(deniam_state, videoram)
AM_RANGE(0x410000, 0x410fff) AM_RAM_WRITE(deniam_textram_w) AM_BASE_MEMBER(deniam_state, textram)
- AM_RANGE(0x440000, 0x4407ff) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(deniam_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x440000, 0x4407ff) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(deniam_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0x840000, 0x840fff) AM_WRITE(deniam_palette_w) AM_BASE_MEMBER(deniam_state, paletteram)
AM_RANGE(0xc40000, 0xc40001) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
AM_RANGE(0xc40002, 0xc40003) AM_READWRITE(deniam_coinctrl_r, deniam_coinctrl_w)
diff --git a/src/mame/drivers/dietgo.c b/src/mame/drivers/dietgo.c
index e8f650008cc..ea34a0600c4 100644
--- a/src/mame/drivers/dietgo.c
+++ b/src/mame/drivers/dietgo.c
@@ -24,8 +24,8 @@ static ADDRESS_MAP_START( dietgo_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x212000, 0x213fff) AM_WRITE(deco16_pf2_data_w) AM_BASE(&deco16_pf2_data)
AM_RANGE(0x220000, 0x2207ff) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf1_rowscroll)
AM_RANGE(0x222000, 0x2227ff) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf2_rowscroll)
- AM_RANGE(0x280000, 0x2807ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0x300000, 0x300bff) AM_READ(SMH_RAM) AM_WRITE(deco16_nonbuffered_palette_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x280000, 0x2807ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x300000, 0x300bff) AM_READ(SMH_RAM) AM_WRITE(deco16_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x340000, 0x3407ff) AM_READ(dietgo_104_prot_r) AM_WRITE(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 458d4a1e77b..8eb80eba2eb 100644
--- a/src/mame/drivers/diverboy.c
+++ b/src/mame/drivers/diverboy.c
@@ -70,7 +70,7 @@ static void draw_sprites( running_machine* machine, bitmap_t *bitmap, const rect
{
diverboy_state *state = (diverboy_state *)machine->driver_data;
UINT16 *source = state->spriteram;
- UINT16 *finish = source + (spriteram_size / 2);
+ UINT16 *finish = source + (machine->generic.spriteram_size / 2);
while (source < finish)
{
@@ -132,9 +132,9 @@ static WRITE8_DEVICE_HANDLER( okibank_w )
static ADDRESS_MAP_START( diverboy_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x04ffff) AM_RAM
- AM_RANGE(0x080000, 0x083fff) AM_RAM AM_BASE_MEMBER(diverboy_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x080000, 0x083fff) AM_RAM AM_BASE_MEMBER(diverboy_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0x100000, 0x100001) AM_WRITE(soundcmd_w)
- AM_RANGE(0x140000, 0x1407ff) AM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x140000, 0x1407ff) AM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(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/djboy.c b/src/mame/drivers/djboy.c
index 4a939f816c3..ca1b9f64b8a 100644
--- a/src/mame/drivers/djboy.c
+++ b/src/mame/drivers/djboy.c
@@ -760,8 +760,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( cpu1_am, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(2)
- AM_RANGE(0xc000, 0xcfff) AM_RAM_WRITE(djboy_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(djboy_paletteram_w) AM_BASE(&paletteram)
+ AM_RANGE(0xc000, 0xcfff) AM_RAM_WRITE(djboy_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(djboy_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xd400, 0xd8ff) AM_RAM
AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE(1)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/djmain.c b/src/mame/drivers/djmain.c
index 1f64a6e923c..c27050045da 100644
--- a/src/mame/drivers/djmain.c
+++ b/src/mame/drivers/djmain.c
@@ -105,8 +105,8 @@ static WRITE32_HANDLER( paletteram32_w )
{
int r,g,b;
- COMBINE_DATA(&paletteram32[offset]);
- data = paletteram32[offset];
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
+ data = space->machine->generic.paletteram.u32[offset];
r = (data >> 0) & 0xff;
g = (data >> 8) & 0xff;
@@ -472,7 +472,7 @@ static ADDRESS_MAP_START( memory_map, ADDRESS_SPACE_PROGRAM, 32 )
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(&paletteram32)
+ AM_BASE_GENERIC(paletteram)
AM_RANGE(0x500000, 0x57ffff) AM_READWRITE(sndram_r, sndram_w) // SOUND RAM
AM_RANGE(0x580000, 0x58003f) AM_READWRITE(K056832_long_r, K056832_long_w) // VIDEO REG (tilemap)
AM_RANGE(0x590000, 0x590007) AM_WRITE(unknown590000_w) // ??
diff --git a/src/mame/drivers/dlair.c b/src/mame/drivers/dlair.c
index 2ef74745673..28d9eb0481d 100644
--- a/src/mame/drivers/dlair.c
+++ b/src/mame/drivers/dlair.c
@@ -167,7 +167,7 @@ static VIDEO_UPDATE( dleuro )
for (y = 0; y < 32; y++)
for (x = 0; x < 32; x++)
{
- UINT8 *base = &videoram[y * 64 + x * 2 + 1];
+ UINT8 *base = &screen->machine->generic.videoram.u8[y * 64 + x * 2 + 1];
drawgfx_opaque(bitmap, cliprect, screen->machine->gfx[0], base[0], base[1], 0, 0, 10 * x, 16 * y);
}
@@ -400,7 +400,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( dleuro_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xa000, 0xa7ff) AM_MIRROR(0x1800) AM_RAM
- AM_RANGE(0xc000, 0xc7ff) AM_MIRROR(0x1800) AM_RAM AM_BASE(&videoram)
+ AM_RANGE(0xc000, 0xc7ff) AM_MIRROR(0x1800) AM_RAM AM_BASE_GENERIC(videoram)
AM_RANGE(0xe000, 0xe000) AM_MIRROR(0x1f47) // WT LED 1
AM_RANGE(0xe008, 0xe008) AM_MIRROR(0x1f47) // WT LED 2
AM_RANGE(0xe010, 0xe010) AM_MIRROR(0x1f47) AM_WRITE(led_den1_w) // WT EXT LED 1
diff --git a/src/mame/drivers/docastle.c b/src/mame/drivers/docastle.c
index 1b8163e0854..702821ab6db 100644
--- a/src/mame/drivers/docastle.c
+++ b/src/mame/drivers/docastle.c
@@ -213,7 +213,7 @@ static WRITE8_DEVICE_HANDLER( idsoccer_adpcm_w )
static ADDRESS_MAP_START( docastle_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x97ff) AM_RAM
- AM_RANGE(0x9800, 0x99ff) AM_RAM AM_BASE_MEMBER(docastle_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x9800, 0x99ff) AM_RAM AM_BASE_MEMBER(docastle_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xa000, 0xa008) AM_READWRITE(docastle_shared0_r, docastle_shared1_w)
AM_RANGE(0xa800, 0xa800) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xb000, 0xb3ff) AM_MIRROR(0x0800) AM_RAM_WRITE(docastle_videoram_w) AM_BASE_MEMBER(docastle_state, videoram)
@@ -256,7 +256,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( dorunrun_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x37ff) AM_RAM
- AM_RANGE(0x3800, 0x39ff) AM_RAM AM_BASE_MEMBER(docastle_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x3800, 0x39ff) AM_RAM AM_BASE_MEMBER(docastle_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0x4000, 0x9fff) AM_ROM
AM_RANGE(0xa000, 0xa008) AM_READWRITE(docastle_shared0_r, docastle_shared1_w)
AM_RANGE(0xa800, 0xa800) AM_WRITE(watchdog_reset_w)
@@ -286,7 +286,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( idsoccer_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x57ff) AM_RAM
- AM_RANGE(0x5800, 0x59ff) AM_RAM AM_BASE_MEMBER(docastle_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x5800, 0x59ff) AM_RAM AM_BASE_MEMBER(docastle_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0x6000, 0x9fff) AM_ROM
AM_RANGE(0xa000, 0xa008) AM_READWRITE(docastle_shared0_r, docastle_shared1_w)
AM_RANGE(0xa800, 0xa800) AM_WRITE(watchdog_reset_w)
diff --git a/src/mame/drivers/dogfgt.c b/src/mame/drivers/dogfgt.c
index 284c289ad27..bfaa4c66090 100644
--- a/src/mame/drivers/dogfgt.c
+++ b/src/mame/drivers/dogfgt.c
@@ -64,7 +64,7 @@ static WRITE8_HANDLER( dogfgt_soundcontrol_w )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x07ff) AM_READWRITE(sharedram_r, sharedram_w) AM_BASE_MEMBER(dogfgt_state, sharedram)
- AM_RANGE(0x0f80, 0x0fdf) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(dogfgt_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x0f80, 0x0fdf) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(dogfgt_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0x1000, 0x17ff) AM_WRITE(dogfgt_bgvideoram_w) AM_BASE_MEMBER(dogfgt_state, bgvideoram)
AM_RANGE(0x1800, 0x1800) AM_READ_PORT("P1")
AM_RANGE(0x1800, 0x1800) AM_WRITE(dogfgt_1800_w) /* text color, flip screen & coin counters */
@@ -76,7 +76,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
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(paletteram_BBGGGRRR_w) AM_BASE(&paletteram)
+ AM_RANGE(0x1870, 0x187f) AM_WRITE(paletteram_BBGGGRRR_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x2000, 0x3fff) AM_READWRITE(dogfgt_bitmapram_r, dogfgt_bitmapram_w)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/dominob.c b/src/mame/drivers/dominob.c
index 60f21f92b2d..40269d53cb5 100644
--- a/src/mame/drivers/dominob.c
+++ b/src/mame/drivers/dominob.c
@@ -58,7 +58,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rect
dominob_state *state = (dominob_state *)machine->driver_data;
int offs;
- for (offs = 0; offs < spriteram_size; offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 4)
{
int sx, sy, code;
@@ -142,11 +142,11 @@ static ADDRESS_MAP_START( memmap, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd018, 0xd018) AM_READ_PORT("IN2") AM_WRITENOP
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_MEMBER(dominob_state, videoram)
- AM_RANGE(0xe800, 0xe83f) AM_RAM AM_BASE_MEMBER(dominob_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xe800, 0xe83f) AM_RAM AM_BASE_MEMBER(dominob_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xe840, 0xefff) AM_RAM
AM_RANGE(0xf000, 0xf07f) AM_RAM AM_BASE_MEMBER(dominob_state, bgram)
AM_RANGE(0xf080, 0xf7ff) AM_RAM
- AM_RANGE(0xf800, 0xfbff) AM_WRITE(paletteram_xxxxRRRRGGGGBBBB_le_w) AM_READ(SMH_RAM) AM_BASE(&paletteram)
+ AM_RANGE(0xf800, 0xfbff) AM_WRITE(paletteram_xxxxRRRRGGGGBBBB_le_w) AM_READ(SMH_RAM) AM_BASE_GENERIC(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 d2322bae460..53c7eaf2936 100644
--- a/src/mame/drivers/dooyong.c
+++ b/src/mame/drivers/dooyong.c
@@ -95,17 +95,17 @@ static ADDRESS_MAP_START( lastday_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc012, 0xc012) AM_WRITE(soundlatch_w)
AM_RANGE(0xc013, 0xc013) AM_READ_PORT("DSWA")
AM_RANGE(0xc014, 0xc014) AM_READ_PORT("DSWB")
- AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE(&paletteram)
+ AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(dooyong_txvideoram8_w) AM_BASE(&dooyong_txvideoram)
AM_RANGE(0xe000, 0xefff) AM_RAM
- AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( pollux_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
AM_RANGE(0xc000, 0xcfff) AM_RAM
- AM_RANGE(0xd000, 0xdfff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xd000, 0xdfff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(dooyong_txvideoram8_w) AM_BASE(&dooyong_txvideoram)
AM_RANGE(0xf000, 0xf000) AM_READ_PORT("DSWA") AM_WRITE(lastday_bankswitch_w)
AM_RANGE(0xf001, 0xf001) AM_READ_PORT("DSWB")
@@ -116,14 +116,14 @@ static ADDRESS_MAP_START( pollux_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xf010, 0xf010) AM_WRITE(soundlatch_w)
AM_RANGE(0xf018, 0xf01f) AM_WRITE(dooyong_bgscroll8_w)
AM_RANGE(0xf020, 0xf027) AM_WRITE(dooyong_fgscroll8_w)
- AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE(&paletteram)
+ AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE_GENERIC(paletteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( gulfstrm_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
AM_RANGE(0xc000, 0xcfff) AM_RAM
- AM_RANGE(0xd000, 0xdfff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xd000, 0xdfff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(dooyong_txvideoram8_w) AM_BASE(&dooyong_txvideoram)
AM_RANGE(0xf000, 0xf000) AM_READ_PORT("DSWA")
AM_RANGE(0xf000, 0xf000) AM_WRITE(lastday_bankswitch_w)
@@ -135,7 +135,7 @@ static ADDRESS_MAP_START( gulfstrm_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xf010, 0xf010) AM_WRITE(soundlatch_w)
AM_RANGE(0xf018, 0xf01f) AM_WRITE(dooyong_bgscroll8_w)
AM_RANGE(0xf020, 0xf027) AM_WRITE(dooyong_fgscroll8_w)
- AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE(&paletteram)
+ AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE_GENERIC(paletteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( bluehawk_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -152,16 +152,16 @@ static ADDRESS_MAP_START( bluehawk_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc018, 0xc01f) AM_WRITE(dooyong_fg2scroll8_w)
AM_RANGE(0xc040, 0xc047) AM_WRITE(dooyong_bgscroll8_w)
AM_RANGE(0xc048, 0xc04f) AM_WRITE(dooyong_fgscroll8_w)
- AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE(&paletteram)
+ AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(dooyong_txvideoram8_w) AM_BASE(&dooyong_txvideoram)
- AM_RANGE(0xe000, 0xefff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xe000, 0xefff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
static ADDRESS_MAP_START( flytiger_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
- AM_RANGE(0xc000, 0xcfff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xc000, 0xcfff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xd000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe000) AM_READ_PORT("P1")
AM_RANGE(0xe000, 0xe000) AM_WRITE(lastday_bankswitch_w)
@@ -173,7 +173,7 @@ static ADDRESS_MAP_START( flytiger_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xe020, 0xe020) AM_WRITE(soundlatch_w)
AM_RANGE(0xe030, 0xe037) AM_WRITE(dooyong_bgscroll8_w)
AM_RANGE(0xe040, 0xe047) AM_WRITE(dooyong_fgscroll8_w)
- AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE(&paletteram)
+ AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xf000, 0xffff) AM_RAM_WRITE(dooyong_txvideoram8_w) AM_BASE(&dooyong_txvideoram)
ADDRESS_MAP_END
@@ -183,7 +183,7 @@ static ADDRESS_MAP_START( primella_map, ADDRESS_SPACE_PROGRAM, 8 )
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(dooyong_txvideoram8_w) AM_BASE(&dooyong_txvideoram)
- AM_RANGE(0xf000, 0xf7ff) AM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE(&paletteram)
+ AM_RANGE(0xf000, 0xf7ff) AM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xf800, 0xf800) AM_READ_PORT("DSWA")
AM_RANGE(0xf800, 0xf800) AM_WRITE(primella_ctrl_w) /* bank switch, flip screen etc */
AM_RANGE(0xf810, 0xf810) AM_READ_PORT("DSWB")
@@ -199,14 +199,14 @@ static ADDRESS_MAP_START( rshark_map, ADDRESS_SPACE_PROGRAM, 16 )
ADDRESS_MAP_GLOBAL_MASK(0xfffff) /* super-x needs this and is similar */
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x04cfff) AM_RAM
- AM_RANGE(0x04d000, 0x04dfff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x04d000, 0x04dfff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x04e000, 0x04ffff) AM_RAM
AM_RANGE(0x0c0002, 0x0c0003) AM_READ_PORT("DSW")
AM_RANGE(0x0c0004, 0x0c0005) AM_READ_PORT("P1_P2")
AM_RANGE(0x0c0006, 0x0c0007) AM_READ_PORT("SYSTEM")
AM_RANGE(0x0c4000, 0x0c400f) AM_WRITE(dooyong_bgscroll16_w)
AM_RANGE(0x0c4010, 0x0c401f) AM_WRITE(dooyong_bg2scroll16_w)
- AM_RANGE(0x0c8000, 0x0c8fff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0c8000, 0x0c8fff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x0c0012, 0x0c0013) AM_WRITE(soundlatch_word_w)
AM_RANGE(0x0c0014, 0x0c0015) AM_WRITE(rshark_ctrl_w) /* flip screen + unknown stuff */
AM_RANGE(0x0cc000, 0x0cc00f) AM_WRITE(dooyong_fgscroll16_w)
@@ -217,14 +217,14 @@ static ADDRESS_MAP_START( superx_map, ADDRESS_SPACE_PROGRAM, 16 )
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x0d0000, 0x0dcfff) AM_RAM
- AM_RANGE(0x0dd000, 0x0ddfff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x0dd000, 0x0ddfff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x0de000, 0x0dffff) AM_RAM
AM_RANGE(0x080002, 0x080003) AM_READ_PORT("DSW")
AM_RANGE(0x080004, 0x080005) AM_READ_PORT("P1_P2")
AM_RANGE(0x080006, 0x080007) AM_READ_PORT("SYSTEM")
AM_RANGE(0x084000, 0x08400f) AM_WRITE(dooyong_bgscroll16_w)
AM_RANGE(0x084010, 0x08401f) AM_WRITE(dooyong_bg2scroll16_w)
- AM_RANGE(0x088000, 0x088fff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x088000, 0x088fff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x080012, 0x080013) AM_WRITE(soundlatch_word_w)
AM_RANGE(0x080014, 0x080015) AM_WRITE(rshark_ctrl_w) /* flip screen + unknown stuff */
AM_RANGE(0x08c000, 0x08c00f) AM_WRITE(dooyong_fgscroll16_w)
@@ -235,7 +235,7 @@ static ADDRESS_MAP_START( popbingo_map, ADDRESS_SPACE_PROGRAM, 16 )
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x04cfff) AM_RAM
- AM_RANGE(0x04d000, 0x04dfff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x04d000, 0x04dfff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x04e000, 0x04ffff) AM_RAM
AM_RANGE(0x0c0002, 0x0c0003) AM_READ_PORT("DSW")
AM_RANGE(0x0c0004, 0x0c0005) AM_READ_PORT("P1_P2")
@@ -245,7 +245,7 @@ static ADDRESS_MAP_START( popbingo_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0c0018, 0x0c001b) AM_WRITENOP // ?
AM_RANGE(0x0c4000, 0x0c400f) AM_WRITE(dooyong_bgscroll16_w)
AM_RANGE(0x0c4010, 0x0c401f) AM_WRITE(dooyong_bg2scroll16_w) // not used atm
- AM_RANGE(0x0c8000, 0x0c8fff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0c8000, 0x0c8fff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x0cc000, 0x0cc00f) AM_WRITE(dooyong_fgscroll16_w) // not used atm
AM_RANGE(0x0cc010, 0x0cc01f) AM_WRITE(dooyong_fg2scroll16_w) // not used atm
AM_RANGE(0x0dc000, 0x0dc01f) AM_RAM // registers of some kind?
diff --git a/src/mame/drivers/dorachan.c b/src/mame/drivers/dorachan.c
index 21189783ba4..ef13188cba3 100644
--- a/src/mame/drivers/dorachan.c
+++ b/src/mame/drivers/dorachan.c
@@ -85,7 +85,7 @@ static VIDEO_UPDATE( dorachan )
color_map_base = memory_region(screen->machine, "proms");
- for (offs = 0; offs < videoram_size; offs++)
+ for (offs = 0; offs < screen->machine->generic.videoram_size; offs++)
{
int i;
UINT8 fore_color;
@@ -148,7 +148,7 @@ static ADDRESS_MAP_START( dorachan_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x2800, 0x2800) AM_MIRROR(0x03ff) AM_READ_PORT("SYSTEM")
AM_RANGE(0x2c00, 0x2c00) AM_MIRROR(0x03ff) AM_READ_PORT("JOY")
AM_RANGE(0x3800, 0x3800) AM_MIRROR(0x03ff) AM_READ_PORT("V128")
- AM_RANGE(0x4000, 0x5fff) AM_RAM AM_BASE_MEMBER(dorachan_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x4000, 0x5fff) AM_RAM AM_BASE_MEMBER(dorachan_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x6000, 0x77ff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/dotrikun.c b/src/mame/drivers/dotrikun.c
index 266115acb7d..f22ce45bc60 100644
--- a/src/mame/drivers/dotrikun.c
+++ b/src/mame/drivers/dotrikun.c
@@ -57,7 +57,7 @@ VIDEO_UPDATE( dotrikun )
pen_t back_pen = MAKE_RGB(pal1bit(state->color >> 3), pal1bit(state->color >> 4), pal1bit(state->color >> 5));
pen_t fore_pen = MAKE_RGB(pal1bit(state->color >> 0), pal1bit(state->color >> 1), pal1bit(state->color >> 2));
- for (offs = 0; offs < videoram_size; offs++)
+ for (offs = 0; offs < screen->machine->generic.videoram_size; offs++)
{
int i;
UINT8 data = state->videoram[offs];
@@ -92,7 +92,7 @@ VIDEO_UPDATE( dotrikun )
static ADDRESS_MAP_START( dotrikun_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
- AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE_MEMBER(dotrikun_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE_MEMBER(dotrikun_state, videoram) AM_SIZE_GENERIC(videoram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 )
diff --git a/src/mame/drivers/drgnmst.c b/src/mame/drivers/drgnmst.c
index 2957f7261c6..a9b48b65ec1 100644
--- a/src/mame/drivers/drgnmst.c
+++ b/src/mame/drivers/drgnmst.c
@@ -207,12 +207,12 @@ static ADDRESS_MAP_START( drgnmst_main_map, ADDRESS_SPACE_PROGRAM, 16 )
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(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x900000, 0x903fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x904000, 0x907fff) AM_RAM_WRITE(drgnmst_md_videoram_w) AM_BASE_MEMBER(drgnmst_state, md_videoram)
AM_RANGE(0x908000, 0x90bfff) AM_RAM_WRITE(drgnmst_bg_videoram_w) AM_BASE_MEMBER(drgnmst_state, bg_videoram)
AM_RANGE(0x90c000, 0x90ffff) AM_RAM_WRITE(drgnmst_fg_videoram_w) AM_BASE_MEMBER(drgnmst_state, fg_videoram)
AM_RANGE(0x920000, 0x923fff) AM_RAM AM_BASE_MEMBER(drgnmst_state, rowscrollram) // rowscroll ram
- AM_RANGE(0x930000, 0x9307ff) AM_RAM AM_BASE_MEMBER(drgnmst_state, spriteram) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x930000, 0x9307ff) AM_RAM AM_BASE_MEMBER(drgnmst_state, spriteram) AM_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/drtomy.c b/src/mame/drivers/drtomy.c
index b251b4d731f..f8f4f3c8d71 100644
--- a/src/mame/drivers/drtomy.c
+++ b/src/mame/drivers/drtomy.c
@@ -159,7 +159,7 @@ static ADDRESS_MAP_START( drtomy_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM /* ROM */
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(drtomy_vram_fg_w) AM_BASE_MEMBER(drtomy_state, videoram_fg) /* Video RAM FG */
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(drtomy_vram_bg_w) AM_BASE_MEMBER(drtomy_state, videoram_bg) /* Video RAM BG */
- AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) /* Palette */
+ AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) /* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE_MEMBER(drtomy_state, 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 0266708689e..1ca7c63e895 100644
--- a/src/mame/drivers/dynduke.c
+++ b/src/mame/drivers/dynduke.c
@@ -85,14 +85,14 @@ extern UINT16 *dynduke_back_data, *dynduke_fore_data, *dynduke_scroll_ram;
static ADDRESS_MAP_START( master_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00000, 0x06fff) AM_RAM
- AM_RANGE(0x07000, 0x07fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x07000, 0x07fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x08000, 0x080ff) AM_RAM AM_BASE(&dynduke_scroll_ram)
AM_RANGE(0x0a000, 0x0afff) AM_RAM AM_SHARE(1)
AM_RANGE(0x0b000, 0x0b001) AM_READ_PORT("P1_P2")
AM_RANGE(0x0b002, 0x0b003) AM_READ_PORT("DSW")
AM_RANGE(0x0b004, 0x0b005) AM_WRITENOP
AM_RANGE(0x0b006, 0x0b007) AM_WRITE(dynduke_control_w)
- AM_RANGE(0x0c000, 0x0c7ff) AM_RAM_WRITE(dynduke_text_w) AM_BASE(&videoram16)
+ AM_RANGE(0x0c000, 0x0c7ff) AM_RAM_WRITE(dynduke_text_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x0d000, 0x0d00d) AM_READWRITE(seibu_main_word_r, seibu_main_word_w)
AM_RANGE(0xa0000, 0xfffff) AM_ROM
ADDRESS_MAP_END
@@ -101,7 +101,7 @@ static ADDRESS_MAP_START( slave_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00000, 0x05fff) AM_RAM
AM_RANGE(0x06000, 0x067ff) AM_RAM_WRITE(dynduke_background_w) AM_BASE(&dynduke_back_data)
AM_RANGE(0x06800, 0x06fff) AM_RAM_WRITE(dynduke_foreground_w) AM_BASE(&dynduke_fore_data)
- AM_RANGE(0x07000, 0x07fff) AM_RAM_WRITE(dynduke_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x07000, 0x07fff) AM_RAM_WRITE(dynduke_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x08000, 0x08fff) AM_RAM AM_SHARE(1)
AM_RANGE(0x0a000, 0x0a001) AM_WRITE(dynduke_gfxbank_w)
AM_RANGE(0x0c000, 0x0c001) AM_WRITENOP
@@ -111,8 +111,8 @@ ADDRESS_MAP_END
/* Memory map used by DlbDyn - probably an addressing PAL is different */
static ADDRESS_MAP_START( masterj_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00000, 0x06fff) AM_RAM
- AM_RANGE(0x07000, 0x07fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0x08000, 0x087ff) AM_RAM_WRITE(dynduke_text_w) AM_BASE(&videoram16)
+ AM_RANGE(0x07000, 0x07fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x08000, 0x087ff) AM_RAM_WRITE(dynduke_text_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x09000, 0x0900d) AM_READWRITE(seibu_main_word_r, seibu_main_word_w)
AM_RANGE(0x0c000, 0x0c0ff) AM_RAM AM_BASE(&dynduke_scroll_ram)
AM_RANGE(0x0e000, 0x0efff) AM_RAM AM_SHARE(1)
diff --git a/src/mame/drivers/egghunt.c b/src/mame/drivers/egghunt.c
index 4d58f54fd68..3abc95b5c6c 100644
--- a/src/mame/drivers/egghunt.c
+++ b/src/mame/drivers/egghunt.c
@@ -215,7 +215,7 @@ static WRITE8_DEVICE_HANDLER( egghunt_okibanking_w )
static ADDRESS_MAP_START( egghunt_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE(&paletteram)
+ AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(egghunt_atram_w) AM_BASE_MEMBER(egghunt_state, 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/embargo.c b/src/mame/drivers/embargo.c
index 5cb21a8a6a1..cde23abd32c 100644
--- a/src/mame/drivers/embargo.c
+++ b/src/mame/drivers/embargo.c
@@ -32,7 +32,7 @@ static VIDEO_UPDATE( embargo )
embargo_state *state = (embargo_state *)screen->machine->driver_data;
offs_t offs;
- for (offs = 0; offs < videoram_size; offs++)
+ for (offs = 0; offs < screen->machine->generic.videoram_size; offs++)
{
int i;
@@ -151,7 +151,7 @@ static WRITE8_HANDLER( input_select_w )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1e00, 0x1fff) AM_RAM
- AM_RANGE(0x2000, 0x3fff) AM_RAM AM_BASE_MEMBER(embargo_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x2000, 0x3fff) AM_RAM AM_BASE_MEMBER(embargo_state, videoram) AM_SIZE_GENERIC(videoram)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/epos.c b/src/mame/drivers/epos.c
index cd903d43c88..e527637b980 100644
--- a/src/mame/drivers/epos.c
+++ b/src/mame/drivers/epos.c
@@ -60,7 +60,7 @@ static WRITE8_HANDLER( dealer_decrypt_rom )
static ADDRESS_MAP_START( epos_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x77ff) AM_ROM
AM_RANGE(0x7800, 0x7fff) AM_RAM
- AM_RANGE(0x8000, 0xffff) AM_RAM AM_BASE_MEMBER(epos_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x8000, 0xffff) AM_RAM AM_BASE_MEMBER(epos_state, videoram) AM_SIZE_GENERIC(videoram)
ADDRESS_MAP_END
@@ -68,7 +68,7 @@ static ADDRESS_MAP_START( dealer_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROMBANK(1)
AM_RANGE(0x6000, 0x6fff) AM_ROMBANK(2)
AM_RANGE(0x7000, 0x7fff) AM_RAM
- AM_RANGE(0x8000, 0xffff) AM_RAM AM_BASE_MEMBER(epos_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x8000, 0xffff) AM_RAM AM_BASE_MEMBER(epos_state, videoram) AM_SIZE_GENERIC(videoram)
ADDRESS_MAP_END
/*************************************
diff --git a/src/mame/drivers/eprom.c b/src/mame/drivers/eprom.c
index eec358876dc..63551885cfd 100644
--- a/src/mame/drivers/eprom.c
+++ b/src/mame/drivers/eprom.c
@@ -178,7 +178,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x360010, 0x360011) AM_WRITE(eprom_latch_w)
AM_RANGE(0x360020, 0x360021) AM_WRITE(atarigen_sound_reset_w)
AM_RANGE(0x360030, 0x360031) AM_WRITE(atarigen_sound_w)
- AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM AM_BASE(&paletteram16)
+ AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM AM_BASE_GENERIC(paletteram)
AM_RANGE(0x3f0000, 0x3f1fff) AM_WRITE(atarigen_playfield_w) AM_BASE(&atarigen_playfield)
AM_RANGE(0x3f2000, 0x3f3fff) AM_WRITE(atarimo_0_spriteram_w) AM_BASE(&atarimo_0_spriteram)
AM_RANGE(0x3f4000, 0x3f4f7f) AM_WRITE(atarigen_alpha_w) AM_BASE(&atarigen_alpha)
@@ -203,7 +203,7 @@ static ADDRESS_MAP_START( guts_map, ADDRESS_SPACE_PROGRAM, 16 )
// AM_RANGE(0x360010, 0x360011) AM_WRITE(eprom_latch_w)
AM_RANGE(0x360020, 0x360021) AM_WRITE(atarigen_sound_reset_w)
AM_RANGE(0x360030, 0x360031) AM_WRITE(atarigen_sound_w)
- AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM AM_BASE(&paletteram16)
+ AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM AM_BASE_GENERIC(paletteram)
AM_RANGE(0xff0000, 0xff1fff) AM_WRITE(atarigen_playfield_upper_w) AM_BASE(&atarigen_playfield_upper)
AM_RANGE(0xff8000, 0xff9fff) AM_WRITE(atarigen_playfield_w) AM_BASE(&atarigen_playfield)
AM_RANGE(0xffa000, 0xffbfff) AM_WRITE(atarimo_0_spriteram_w) AM_BASE(&atarimo_0_spriteram)
diff --git a/src/mame/drivers/esd16.c b/src/mame/drivers/esd16.c
index 73cb645f15c..d84459da9ac 100644
--- a/src/mame/drivers/esd16.c
+++ b/src/mame/drivers/esd16.c
@@ -84,8 +84,8 @@ static WRITE16_HANDLER( esd16_sound_command_w )
static ADDRESS_MAP_START( multchmp_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM
- AM_RANGE(0x200000, 0x2005ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) // Palette
-/**/AM_RANGE(0x300000, 0x3007ff) AM_RAM AM_BASE_MEMBER(esd16_state, spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x200000, 0x2005ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
+/**/AM_RANGE(0x300000, 0x3007ff) AM_RAM AM_BASE_MEMBER(esd16_state, spriteram16) AM_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0x300800, 0x300807) AM_WRITE(esd16_spriteram_w) // Sprites (Mirrored)
/**/AM_RANGE(0x400000, 0x403fff) AM_RAM_WRITE(esd16_vram_0_w) AM_BASE_MEMBER(esd16_state, vram_0) // Layers
/**/AM_RANGE(0x420000, 0x423fff) AM_RAM_WRITE(esd16_vram_1_w) AM_BASE_MEMBER(esd16_state, vram_1) //
@@ -136,8 +136,8 @@ static WRITE16_HANDLER( esd_eeprom_w )
static ADDRESS_MAP_START( hedpanic_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM
- AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) // Palette
- AM_RANGE(0x900000, 0x9007ff) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(esd16_state, spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x900000, 0x9007ff) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(esd16_state, spriteram16) AM_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0x900800, 0x900807) AM_WRITE(esd16_spriteram_w) // Sprites (Mirrored)
AM_RANGE(0xa00000, 0xa03fff) AM_WRITE(esd16_vram_0_w) AM_BASE_MEMBER(esd16_state, vram_0) // Layers
AM_RANGE(0xa20000, 0xa23fff) AM_WRITE(esd16_vram_1_w) AM_BASE_MEMBER(esd16_state, vram_1) //
@@ -167,7 +167,7 @@ static ADDRESS_MAP_START( mchampdx_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300000, 0x303fff) AM_WRITE(esd16_vram_0_w) AM_BASE_MEMBER(esd16_state, vram_0) // Layers
AM_RANGE(0x320000, 0x323fff) AM_WRITE(esd16_vram_1_w) AM_BASE_MEMBER(esd16_state, vram_1) //
AM_RANGE(0x324000, 0x327fff) AM_WRITE(esd16_vram_1_w) AM_BASE_MEMBER(esd16_state, vram_1) // mirror?
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) // Palette
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(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")
@@ -176,7 +176,7 @@ static ADDRESS_MAP_START( mchampdx_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x50000a, 0x50000b) AM_WRITENOP // ? 2 not checked
AM_RANGE(0x50000c, 0x50000d) AM_WRITE(esd16_sound_command_w) // To Sound CPU // ok
AM_RANGE(0x50000e, 0x50000f) AM_WRITE(esd_eeprom_w)
- AM_RANGE(0x600000, 0x6007ff) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(esd16_state, spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x600000, 0x6007ff) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(esd16_state, spriteram16) AM_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0x600800, 0x600807) AM_WRITE(esd16_spriteram_w) // Sprites (Mirrored)
AM_RANGE(0x700000, 0x700003) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(esd16_state, scroll_0) // Scroll
AM_RANGE(0x700004, 0x700007) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(esd16_state, scroll_1) //
@@ -191,8 +191,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( tangtang_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
- AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) // RAM
- AM_RANGE(0x200000, 0x2007ff) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(esd16_state, spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // RAM
+ AM_RANGE(0x200000, 0x2007ff) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(esd16_state, spriteram16) AM_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0x200800, 0x200807) AM_WRITE(esd16_spriteram_w) // Sprites (Mirrored)
AM_RANGE(0x300000, 0x303fff) AM_WRITE(esd16_vram_0_w) AM_BASE_MEMBER(esd16_state, vram_0) // Layers
AM_RANGE(0x320000, 0x323fff) AM_WRITE(esd16_vram_1_w) AM_BASE_MEMBER(esd16_state, vram_1) //
diff --git a/src/mame/drivers/exedexes.c b/src/mame/drivers/exedexes.c
index 2d5c393f405..9abd0ab09d2 100644
--- a/src/mame/drivers/exedexes.c
+++ b/src/mame/drivers/exedexes.c
@@ -43,7 +43,7 @@ static ADDRESS_MAP_START( exedexes_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd804, 0xd805) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(exedexes_state, bg_scroll)
AM_RANGE(0xd807, 0xd807) AM_WRITE(exedexes_gfxctrl_w) /* layer enables */
AM_RANGE(0xe000, 0xefff) AM_RAM /* Work RAM */
- AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) /* Sprite RAM */
+ AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Sprite RAM */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/exerion.c b/src/mame/drivers/exerion.c
index 3b42b06bac0..69b6bc141bb 100644
--- a/src/mame/drivers/exerion.c
+++ b/src/mame/drivers/exerion.c
@@ -91,8 +91,8 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6008, 0x600b) AM_READ(exerion_protection_r)
AM_RANGE(0x6000, 0x67ff) AM_RAM AM_BASE_MEMBER(exerion_state, main_ram)
- AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE_MEMBER(exerion_state, videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x8800, 0x887f) AM_RAM AM_BASE_MEMBER(exerion_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE_MEMBER(exerion_state, videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x8800, 0x887f) AM_RAM AM_BASE_MEMBER(exerion_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0x8800, 0x8bff) AM_RAM
AM_RANGE(0xa000, 0xa000) AM_READ(exerion_port01_r)
AM_RANGE(0xa800, 0xa800) AM_READ_PORT("DSW0")
diff --git a/src/mame/drivers/exidy440.c b/src/mame/drivers/exidy440.c
index 04a9380e9b1..1aed1a117f8 100644
--- a/src/mame/drivers/exidy440.c
+++ b/src/mame/drivers/exidy440.c
@@ -469,7 +469,7 @@ static MACHINE_RESET( exidy440 )
static ADDRESS_MAP_START( exidy440_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_BASE(&exidy440_imageram)
- AM_RANGE(0x2000, 0x209f) AM_RAM_WRITE(exidy440_spriteram_w) AM_BASE(&spriteram)
+ AM_RANGE(0x2000, 0x209f) AM_RAM_WRITE(exidy440_spriteram_w) AM_BASE_GENERIC(spriteram)
AM_RANGE(0x20a0, 0x29ff) AM_RAM
AM_RANGE(0x2a00, 0x2aff) AM_READWRITE(exidy440_videoram_r, exidy440_videoram_w)
AM_RANGE(0x2b00, 0x2b00) AM_READ(exidy440_vertical_pos_r)
diff --git a/src/mame/drivers/expro02.c b/src/mame/drivers/expro02.c
index 10b217e726e..0f97e1dc60e 100644
--- a/src/mame/drivers/expro02.c
+++ b/src/mame/drivers/expro02.c
@@ -309,7 +309,7 @@ static WRITE16_HANDLER( galsnew_6295_bankswitch_w )
static WRITE16_HANDLER( galsnew_paletteram_w )
{
- data = COMBINE_DATA(&paletteram16[offset]);
+ data = COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
palette_set_color_rgb(space->machine,offset,pal5bit(data >> 6),pal5bit(data >> 11),pal5bit(data >> 1));
}
@@ -368,11 +368,11 @@ static ADDRESS_MAP_START( galsnew_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x582000, 0x582fff) AM_RAM AM_BASE(&kaneko16_vscroll_1) //
AM_RANGE(0x583000, 0x583fff) AM_RAM AM_BASE(&kaneko16_vscroll_0) //
- AM_RANGE(0x600000, 0x600fff) AM_READWRITE(SMH_RAM,galsnew_paletteram_w) AM_BASE(&paletteram16) // palette?
+ AM_RANGE(0x600000, 0x600fff) AM_READWRITE(SMH_RAM,galsnew_paletteram_w) AM_BASE_GENERIC(paletteram) // palette?
AM_RANGE(0x680000, 0x68001f) AM_READWRITE(SMH_RAM,kaneko16_layers_0_regs_w) AM_BASE(&kaneko16_layers_0_regs) // sprite regs? tileregs?
- AM_RANGE(0x700000, 0x700fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // sprites? 0x72f words tested
+ AM_RANGE(0x700000, 0x700fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // sprites? 0x72f words tested
AM_RANGE(0x780000, 0x78001f) AM_READWRITE(SMH_RAM,kaneko16_sprites_regs_w) AM_BASE(&kaneko16_sprites_regs) // sprite regs? tileregs?
@@ -404,9 +404,9 @@ static ADDRESS_MAP_START( fantasia_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x581000, 0x581fff) AM_READWRITE(SMH_RAM,kaneko16_vram_0_w) AM_BASE(&kaneko16_vram_0) //
AM_RANGE(0x582000, 0x582fff) AM_RAM AM_BASE(&kaneko16_vscroll_1) //
AM_RANGE(0x583000, 0x583fff) AM_RAM AM_BASE(&kaneko16_vscroll_0) //
- AM_RANGE(0x600000, 0x600fff) AM_READWRITE(SMH_RAM,galsnew_paletteram_w) AM_BASE(&paletteram16) // palette?
+ AM_RANGE(0x600000, 0x600fff) AM_READWRITE(SMH_RAM,galsnew_paletteram_w) AM_BASE_GENERIC(paletteram) // palette?
AM_RANGE(0x680000, 0x68001f) AM_READWRITE(SMH_RAM,kaneko16_layers_0_regs_w) AM_BASE(&kaneko16_layers_0_regs) // sprite regs? tileregs?
- AM_RANGE(0x700000, 0x700fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // sprites? 0x72f words tested
+ AM_RANGE(0x700000, 0x700fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // sprites? 0x72f words tested
AM_RANGE(0x780000, 0x78001f) AM_READWRITE(SMH_RAM,kaneko16_sprites_regs_w) AM_BASE(&kaneko16_sprites_regs) // sprite regs? tileregs?
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1")
AM_RANGE(0x800002, 0x800003) AM_READ_PORT("DSW2")
diff --git a/src/mame/drivers/exprraid.c b/src/mame/drivers/exprraid.c
index b008b201b71..fca09e21655 100644
--- a/src/mame/drivers/exprraid.c
+++ b/src/mame/drivers/exprraid.c
@@ -244,7 +244,7 @@ static READ8_HANDLER( vblank_r )
static ADDRESS_MAP_START( master_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x05ff) AM_RAM AM_BASE_MEMBER(exprraid_state, main_ram)
- AM_RANGE(0x0600, 0x07ff) AM_RAM AM_BASE_MEMBER(exprraid_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x0600, 0x07ff) AM_RAM AM_BASE_MEMBER(exprraid_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(exprraid_videoram_w) AM_BASE_MEMBER(exprraid_state, videoram)
AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(exprraid_colorram_w) AM_BASE_MEMBER(exprraid_state, colorram)
AM_RANGE(0x1317, 0x1317) AM_READNOP // ???
diff --git a/src/mame/drivers/exterm.c b/src/mame/drivers/exterm.c
index b89803f1e29..5ac0d747fd4 100644
--- a/src/mame/drivers/exterm.c
+++ b/src/mame/drivers/exterm.c
@@ -320,7 +320,7 @@ static ADDRESS_MAP_START( master_map, ADDRESS_SPACE_PROGRAM, 16 )
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(watchdog_reset16_w)
- AM_RANGE(0x01800000, 0x01807fff) AM_MIRROR(0xfc7f8000) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x01800000, 0x01807fff) AM_MIRROR(0xfc7f8000) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x02800000, 0x02807fff) AM_MIRROR(0xfc7f8000) AM_RAM AM_BASE_SIZE_GENERIC(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 4559d6aba01..58bae1e2aa5 100644
--- a/src/mame/drivers/f1gp.c
+++ b/src/mame/drivers/f1gp.c
@@ -106,7 +106,7 @@ static ADDRESS_MAP_START( f1gp_cpu1_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xff8000, 0xffbfff) AM_RAM // WORK RAM-1
AM_RANGE(0xffc000, 0xffcfff) AM_READWRITE(sharedram_r, sharedram_w) AM_BASE(&sharedram) // DUAL RAM
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE(f1gp_fgvideoram_w) AM_BASE(&f1gp_fgvideoram) // CHARACTER
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) // PALETTE
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // PALETTE
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("INPUTS")
AM_RANGE(0xfff000, 0xfff001) AM_WRITE(f1gp_gfxctrl_w)
// AM_RANGE(0xfff002, 0xfff003) analog wheel?
@@ -128,7 +128,7 @@ static ADDRESS_MAP_START( f1gp2_cpu1_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xff8000, 0xffbfff) AM_RAM // WORK RAM-1
AM_RANGE(0xffc000, 0xffcfff) AM_READWRITE(sharedram_r, sharedram_w) AM_BASE(&sharedram) // DUAL RAM
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE(f1gp_fgvideoram_w) AM_BASE(&f1gp_fgvideoram) // CHARACTER
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) // PALETTE
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // PALETTE
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("INPUTS") AM_WRITE(f1gp2_gfxctrl_w)
// AM_RANGE(0xfff002, 0xfff003) analog wheel?
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW1")
@@ -188,7 +188,7 @@ static ADDRESS_MAP_START( f1gpb_cpu1_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x2fffff) AM_READ(extrarom_r)
AM_RANGE(0xa00000, 0xbfffff) AM_READ(extrarom2_r)
- AM_RANGE(0x800000, 0x801fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x800000, 0x801fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xc00000, 0xc3ffff) AM_READWRITE(f1gp_zoomdata_r, f1gp_zoomdata_w)
AM_RANGE(0xd00000, 0xd01fff) AM_READWRITE(f1gp_rozvideoram_r, f1gp_rozvideoram_w) AM_BASE(&f1gp_rozvideoram)
AM_RANGE(0xd02000, 0xd03fff) AM_READWRITE(f1gp_rozvideoram_r, f1gp_rozvideoram_w) /* mirror */
@@ -201,7 +201,7 @@ static ADDRESS_MAP_START( f1gpb_cpu1_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xff8000, 0xffbfff) AM_RAM
AM_RANGE(0xffc000, 0xffcfff) AM_READWRITE(sharedram_r, sharedram_w) AM_BASE(&sharedram)
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE(f1gp_fgvideoram_w) AM_BASE(&f1gp_fgvideoram)
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(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 481c6bf2838..4ee4d6ac614 100644
--- a/src/mame/drivers/fantland.c
+++ b/src/mame/drivers/fantland.c
@@ -93,16 +93,19 @@ static WRITE16_HANDLER( fantland_soundlatch_16_w )
static READ16_HANDLER( spriteram_16_r )
{
+ UINT8 *spriteram = space->machine->generic.spriteram.u8;
return spriteram[2 * offset + 0] | (spriteram[2 * offset + 1] << 8);
}
static READ16_HANDLER( spriteram2_16_r )
{
+ UINT8 *spriteram_2 = space->machine->generic.spriteram2.u8;
return spriteram_2[2 * offset + 0] | (spriteram_2[2 * offset + 1] << 8);
}
static WRITE16_HANDLER( spriteram_16_w )
{
+ UINT8 *spriteram = space->machine->generic.spriteram.u8;
if (ACCESSING_BITS_0_7)
spriteram[2 * offset + 0] = data;
if (ACCESSING_BITS_8_15)
@@ -111,6 +114,7 @@ static WRITE16_HANDLER( spriteram_16_w )
static WRITE16_HANDLER( spriteram2_16_w )
{
+ UINT8 *spriteram_2 = space->machine->generic.spriteram2.u8;
if (ACCESSING_BITS_0_7)
spriteram_2[2 * offset + 0] = data;
if (ACCESSING_BITS_8_15)
@@ -121,13 +125,13 @@ static ADDRESS_MAP_START( fantland_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE( 0x00000, 0x07fff ) AM_RAM
AM_RANGE( 0x08000, 0x7ffff ) AM_ROM
- AM_RANGE( 0xa2000, 0xa21ff ) AM_READWRITE( SMH_RAM, paletteram16_xRRRRRGGGGGBBBBB_word_w ) AM_BASE( &paletteram16 )
+ AM_RANGE( 0xa2000, 0xa21ff ) AM_READWRITE( SMH_RAM, paletteram16_xRRRRRGGGGGBBBBB_word_w ) AM_BASE_GENERIC( 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 )
- AM_RANGE( 0xa4000, 0xa67ff ) AM_READWRITE( spriteram_16_r, spriteram_16_w ) AM_BASE( (UINT16 **)&spriteram )
- AM_RANGE( 0xc0000, 0xcffff ) AM_READWRITE( spriteram2_16_r, spriteram2_16_w ) AM_BASE( (UINT16 **)&spriteram_2 )
+ AM_RANGE( 0xa4000, 0xa67ff ) AM_READWRITE( spriteram_16_r, spriteram_16_w ) AM_BASE_GENERIC( spriteram )
+ AM_RANGE( 0xc0000, 0xcffff ) AM_READWRITE( spriteram2_16_r, spriteram2_16_w ) AM_BASE_GENERIC( spriteram2 )
AM_RANGE( 0xe0000, 0xfffff ) AM_ROM
ADDRESS_MAP_END
@@ -141,15 +145,15 @@ static ADDRESS_MAP_START( galaxygn_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE( 0x00000, 0x07fff ) AM_RAM
AM_RANGE( 0x10000, 0x2ffff ) AM_ROM
- AM_RANGE( 0x52000, 0x521ff ) AM_READWRITE( SMH_RAM, paletteram_xRRRRRGGGGGBBBBB_le_w ) AM_BASE( &paletteram )
+ AM_RANGE( 0x52000, 0x521ff ) AM_READWRITE( SMH_RAM, paletteram_xRRRRRGGGGGBBBBB_le_w ) AM_BASE_GENERIC( paletteram )
AM_RANGE( 0x53000, 0x53000 ) AM_READ_PORT("P1") AM_WRITE( fantland_nmi_enable_w )
AM_RANGE( 0x53001, 0x53001 ) AM_READ_PORT("P2")
AM_RANGE( 0x53002, 0x53002 ) AM_READ_PORT("DSW1") AM_WRITE( fantland_soundlatch_w )
AM_RANGE( 0x53003, 0x53003 ) AM_READ_PORT("P2")
- AM_RANGE( 0x54000, 0x567ff ) AM_RAM AM_BASE( &spriteram )
- AM_RANGE( 0x60000, 0x6ffff ) AM_RAM AM_BASE( &spriteram_2 )
+ AM_RANGE( 0x54000, 0x567ff ) AM_RAM AM_BASE_GENERIC( spriteram )
+ AM_RANGE( 0x60000, 0x6ffff ) AM_RAM AM_BASE_GENERIC( spriteram2 )
AM_RANGE( 0x70000, 0x7ffff ) AM_ROM
AM_RANGE( 0xf0000, 0xfffff ) AM_ROM
@@ -235,19 +239,19 @@ static ADDRESS_MAP_START( borntofi_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE( 0x00000, 0x07fff ) AM_RAM
AM_RANGE( 0x10000, 0x2ffff ) AM_ROM
- AM_RANGE( 0x52000, 0x521ff ) AM_READWRITE( SMH_RAM, paletteram_xRRRRRGGGGGBBBBB_le_w ) AM_BASE( &paletteram )
+ AM_RANGE( 0x52000, 0x521ff ) AM_READWRITE( SMH_RAM, paletteram_xRRRRRGGGGGBBBBB_le_w ) AM_BASE_GENERIC( 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" )
- AM_RANGE( 0x54000, 0x567ff ) AM_RAM AM_BASE( &spriteram )
+ AM_RANGE( 0x54000, 0x567ff ) AM_RAM AM_BASE_GENERIC( spriteram )
AM_RANGE( 0x57000, 0x57000 ) AM_READ_PORT( "P1 Lightgun Y" )
AM_RANGE( 0x57001, 0x57001 ) AM_READ_PORT( "P1 Lightgun X" )
AM_RANGE( 0x57002, 0x57002 ) AM_READ_PORT( "P2 Lightgun Y" )
AM_RANGE( 0x57003, 0x57003 ) AM_READ_PORT( "P2 Lightgun X" )
- AM_RANGE( 0x60000, 0x6ffff ) AM_RAM AM_BASE( &spriteram_2 )
+ AM_RANGE( 0x60000, 0x6ffff ) AM_RAM AM_BASE_GENERIC( spriteram2 )
AM_RANGE( 0x70000, 0x7ffff ) AM_ROM
AM_RANGE( 0xf0000, 0xfffff ) AM_ROM
@@ -264,15 +268,15 @@ static ADDRESS_MAP_START( wheelrun_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x30000, 0x3ffff) AM_ROM
AM_RANGE(0x70000, 0x7ffff) AM_ROM
- AM_RANGE(0x52000, 0x521ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w ) AM_BASE(&paletteram )
+ AM_RANGE(0x52000, 0x521ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w ) AM_BASE_GENERIC( paletteram )
AM_RANGE(0x53000, 0x53000) AM_READ_PORT( "53000" ) AM_WRITE( borntofi_nmi_enable_w )
AM_RANGE(0x53001, 0x53001) AM_READ_PORT( "53001" )
AM_RANGE(0x53002, 0x53002) AM_READ_PORT( "53002" ) AM_WRITE( fantland_soundlatch_w )
AM_RANGE(0x53003, 0x53003) AM_READ_PORT( "53003" ) AM_WRITENOP
- AM_RANGE(0x54000, 0x567ff) AM_RAM AM_BASE(&spriteram )
- AM_RANGE(0x60000, 0x6ffff) AM_RAM AM_BASE(&spriteram_2 )
+ AM_RANGE(0x54000, 0x567ff) AM_RAM AM_BASE_GENERIC(spriteram )
+ AM_RANGE(0x60000, 0x6ffff) AM_RAM AM_BASE_GENERIC(spriteram2 )
AM_RANGE(0xf0000, 0xfffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/fastlane.c b/src/mame/drivers/fastlane.c
index c297f23d6f0..a7289a51a70 100644
--- a/src/mame/drivers/fastlane.c
+++ b/src/mame/drivers/fastlane.c
@@ -93,11 +93,11 @@ static ADDRESS_MAP_START( fastlane_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0d00, 0x0d0d) AM_DEVREADWRITE("konami1", fastlane_k007232_r, fastlane_k007232_w) /* 007232 registers (chip 1) */
AM_RANGE(0x0e00, 0x0e0d) AM_DEVREADWRITE("konami2", fastlane_k007232_r, fastlane_k007232_w) /* 007232 registers (chip 2) */
AM_RANGE(0x0f00, 0x0f1f) AM_READWRITE(K051733_r, K051733_w) /* 051733 (protection) */
- AM_RANGE(0x1000, 0x17ff) AM_RAM AM_BASE(&paletteram) /* Palette RAM */
+ AM_RANGE(0x1000, 0x17ff) AM_RAM AM_BASE_GENERIC(paletteram) /* Palette RAM */
AM_RANGE(0x1800, 0x1fff) AM_RAM /* Work RAM */
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(fastlane_vram1_w) AM_BASE(&fastlane_videoram1) /* Video RAM (chip 1) */
AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(fastlane_vram2_w) AM_BASE(&fastlane_videoram2) /* Video RAM (chip 2) */
- AM_RANGE(0x3000, 0x3fff) AM_RAM AM_BASE(&spriteram) /* Sprite RAM */
+ AM_RANGE(0x3000, 0x3fff) AM_RAM AM_BASE_GENERIC(spriteram) /* Sprite RAM */
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK(1) /* banked ROM */
AM_RANGE(0x8000, 0xffff) AM_ROM /* ROM */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/fcombat.c b/src/mame/drivers/fcombat.c
index 48f5e2b6ce8..f0d9b9cc860 100644
--- a/src/mame/drivers/fcombat.c
+++ b/src/mame/drivers/fcombat.c
@@ -119,8 +119,8 @@ static WRITE8_HANDLER(ee00_w)
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
- AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_BASE_MEMBER(fcombat_state, videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0xd800, 0xd8ff) AM_RAM AM_BASE_MEMBER(fcombat_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_BASE_MEMBER(fcombat_state, videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0xd800, 0xd8ff) AM_RAM AM_BASE_MEMBER(fcombat_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xe000, 0xe000) AM_READ(fcombat_port01_r)
AM_RANGE(0xe100, 0xe100) AM_READ_PORT("DSW0")
AM_RANGE(0xe200, 0xe200) AM_READ_PORT("DSW1")
diff --git a/src/mame/drivers/feversoc.c b/src/mame/drivers/feversoc.c
index 7b99e43d558..4be54cc7978 100644
--- a/src/mame/drivers/feversoc.c
+++ b/src/mame/drivers/feversoc.c
@@ -72,6 +72,7 @@ static VIDEO_START( feversoc )
static VIDEO_UPDATE( feversoc )
{
+ UINT32 *spriteram32 = screen->machine->generic.spriteram.u32;
int offs,spr_offs,colour,sx,sy,h,w,dx,dy;
bitmap_fill(bitmap, cliprect, screen->machine->pens[0]); //black pen
@@ -101,17 +102,17 @@ static VIDEO_UPDATE( feversoc )
static WRITE32_HANDLER( fs_paletteram_w )
{
int r,g,b;
- COMBINE_DATA(&paletteram32[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
- r = ((paletteram32[offset] & 0x001f0000)>>16) << 3;
- g = ((paletteram32[offset] & 0x03e00000)>>16) >> 2;
- b = ((paletteram32[offset] & 0x7c000000)>>16) >> 7;
+ r = ((space->machine->generic.paletteram.u32[offset] & 0x001f0000)>>16) << 3;
+ g = ((space->machine->generic.paletteram.u32[offset] & 0x03e00000)>>16) >> 2;
+ b = ((space->machine->generic.paletteram.u32[offset] & 0x7c000000)>>16) >> 7;
palette_set_color(space->machine,offset*2+0,MAKE_RGB(r,g,b));
- r = (paletteram32[offset] & 0x001f) << 3;
- g = (paletteram32[offset] & 0x03e0) >> 2;
- b = (paletteram32[offset] & 0x7c00) >> 7;
+ r = (space->machine->generic.paletteram.u32[offset] & 0x001f) << 3;
+ g = (space->machine->generic.paletteram.u32[offset] & 0x03e0) >> 2;
+ b = (space->machine->generic.paletteram.u32[offset] & 0x7c00) >> 7;
palette_set_color(space->machine,offset*2+1,MAKE_RGB(r,g,b));
}
@@ -148,13 +149,13 @@ static WRITE32_HANDLER( output_w )
static ADDRESS_MAP_START( feversoc_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x00000000, 0x0003ffff) AM_ROM
AM_RANGE(0x02000000, 0x0203dfff) AM_RAM //work ram
- AM_RANGE(0x0203e000, 0x0203ffff) AM_RAM AM_BASE(&spriteram32)
+ AM_RANGE(0x0203e000, 0x0203ffff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x06000000, 0x06000003) AM_WRITE(output_w)
AM_RANGE(0x06000004, 0x06000007) AM_WRITENOP //???
AM_RANGE(0x06000008, 0x0600000b) AM_READ(in0_r)
AM_RANGE(0x0600000c, 0x0600000f) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 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(&paletteram32)
+ AM_RANGE(0x06018000, 0x06019fff) AM_RAM_WRITE(fs_paletteram_w) AM_BASE_GENERIC(paletteram)
ADDRESS_MAP_END
static const gfx_layout spi_spritelayout =
diff --git a/src/mame/drivers/finalizr.c b/src/mame/drivers/finalizr.c
index e07bd3f3872..e1d73caa17c 100644
--- a/src/mame/drivers/finalizr.c
+++ b/src/mame/drivers/finalizr.c
@@ -118,10 +118,10 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x081c, 0x081c) AM_WRITE(finalizr_i8039_irq_w) /* custom sound chip */
AM_RANGE(0x081d, 0x081d) AM_WRITE(soundlatch_w) /* custom sound chip */
AM_RANGE(0x2000, 0x23ff) AM_RAM AM_BASE_MEMBER(finalizr_state, colorram)
- AM_RANGE(0x2400, 0x27ff) AM_RAM AM_BASE_MEMBER(finalizr_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x2400, 0x27ff) AM_RAM AM_BASE_MEMBER(finalizr_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x2800, 0x2bff) AM_RAM AM_BASE_MEMBER(finalizr_state, colorram2)
AM_RANGE(0x2c00, 0x2fff) AM_RAM AM_BASE_MEMBER(finalizr_state, videoram2)
- AM_RANGE(0x3000, 0x31ff) AM_RAM AM_BASE_MEMBER(finalizr_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x3000, 0x31ff) AM_RAM AM_BASE_MEMBER(finalizr_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0x3200, 0x37ff) AM_RAM
AM_RANGE(0x3800, 0x39ff) AM_RAM AM_BASE_MEMBER(finalizr_state, spriteram_2)
AM_RANGE(0x3a00, 0x3fff) AM_RAM
diff --git a/src/mame/drivers/firefox.c b/src/mame/drivers/firefox.c
index f4d0222dae8..ace3d1cc8d7 100644
--- a/src/mame/drivers/firefox.c
+++ b/src/mame/drivers/firefox.c
@@ -171,7 +171,7 @@ static VIDEO_UPDATE( firefox )
for( sprite = 0; sprite < 32; sprite++ )
{
- UINT8 *sprite_data = spriteram + ( 0x200 * sprite_bank ) + ( sprite * 16 );
+ UINT8 *sprite_data = screen->machine->generic.spriteram.u8 + ( 0x200 * sprite_bank ) + ( sprite * 16 );
int flags = sprite_data[ 0 ];
int y = sprite_data[ 1 ] + ( 256 * ( ( flags >> 0 ) & 1 ) );
int x = sprite_data[ 2 ] + ( 256 * ( ( flags >> 1 ) & 1 ) );
@@ -451,7 +451,7 @@ static MACHINE_START( firefox )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(tileram_w) AM_BASE(&tileram)
- AM_RANGE(0x2000, 0x27ff) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0x2000, 0x27ff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x2800, 0x2aff) AM_READWRITE(SMH_RAM, sprite_palette_w) AM_BASE(&sprite_palette)
AM_RANGE(0x2b00, 0x2b00) AM_MIRROR(0x04ff) AM_WRITE(firefox_objram_bank_w)
AM_RANGE(0x2c00, 0x2eff) AM_READWRITE(SMH_RAM, tile_palette_w) AM_BASE(&tile_palette)
diff --git a/src/mame/drivers/firetrap.c b/src/mame/drivers/firetrap.c
index 9731e1ad623..1f022ddf71a 100644
--- a/src/mame/drivers/firetrap.c
+++ b/src/mame/drivers/firetrap.c
@@ -228,7 +228,7 @@ static ADDRESS_MAP_START( firetrap_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(firetrap_bg1videoram_w) AM_BASE_MEMBER(firetrap_state, bg1videoram)
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(firetrap_bg2videoram_w) AM_BASE_MEMBER(firetrap_state, bg2videoram)
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(firetrap_fgvideoram_w) AM_BASE_MEMBER(firetrap_state, fgvideoram)
- AM_RANGE(0xe800, 0xe97f) AM_RAM AM_BASE_MEMBER(firetrap_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xe800, 0xe97f) AM_RAM AM_BASE_MEMBER(firetrap_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xf000, 0xf000) AM_WRITENOP /* IRQ acknowledge */
AM_RANGE(0xf001, 0xf001) AM_WRITE(firetrap_sound_command_w)
AM_RANGE(0xf002, 0xf002) AM_WRITE(firetrap_bankselect_w)
@@ -254,7 +254,7 @@ static ADDRESS_MAP_START( firetrap_bootleg_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(firetrap_bg1videoram_w) AM_BASE_MEMBER(firetrap_state, bg1videoram)
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(firetrap_bg2videoram_w) AM_BASE_MEMBER(firetrap_state, bg2videoram)
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(firetrap_fgvideoram_w) AM_BASE_MEMBER(firetrap_state, fgvideoram)
- AM_RANGE(0xe800, 0xe97f) AM_RAM AM_BASE_MEMBER(firetrap_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xe800, 0xe97f) AM_RAM AM_BASE_MEMBER(firetrap_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xf000, 0xf000) AM_WRITENOP /* IRQ acknowledge */
AM_RANGE(0xf001, 0xf001) AM_WRITE(firetrap_sound_command_w)
AM_RANGE(0xf002, 0xf002) AM_WRITE(firetrap_bankselect_w)
diff --git a/src/mame/drivers/fitfight.c b/src/mame/drivers/fitfight.c
index d2f4afdcbc5..aadbd958549 100644
--- a/src/mame/drivers/fitfight.c
+++ b/src/mame/drivers/fitfight.c
@@ -168,7 +168,7 @@ static ADDRESS_MAP_START( fitfight_main_map, ADDRESS_SPACE_PROGRAM, 16 )
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(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xc00000, 0xc00fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_BASE_MEMBER(fitfight_state, spriteram)
@@ -199,7 +199,7 @@ static ADDRESS_MAP_START( bbprot_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xb0c000, 0xb0ffff) AM_RAM_WRITE(fof_txt_tileram_w) AM_BASE_MEMBER(fitfight_state, fof_txt_tileram)
AM_RANGE(0xc00000, 0xc00fff) AM_READ(SMH_RAM)
- AM_RANGE(0xc00000, 0xc03fff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xc00000, 0xc03fff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_BASE_MEMBER(fitfight_state, spriteram)
diff --git a/src/mame/drivers/flkatck.c b/src/mame/drivers/flkatck.c
index 2f976714166..dbab9b3256f 100644
--- a/src/mame/drivers/flkatck.c
+++ b/src/mame/drivers/flkatck.c
@@ -110,7 +110,7 @@ static ADDRESS_MAP_START( flkatck_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0007) AM_RAM_WRITE(flkatck_k007121_regs_w) /* 007121 registers */
AM_RANGE(0x0008, 0x03ff) AM_RAM /* RAM */
AM_RANGE(0x0400, 0x041f) AM_READWRITE(flkatck_ls138_r, flkatck_ls138_w) /* inputs, DIPS, bankswitch, counters, sound command */
- AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_le_w) AM_BASE(&paletteram) /* palette */
+ AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_le_w) AM_BASE_GENERIC(paletteram) /* palette */
AM_RANGE(0x1000, 0x1fff) AM_RAM /* RAM */
AM_RANGE(0x2000, 0x3fff) AM_RAM_WRITE(flkatck_k007121_w) AM_BASE(&k007121_ram) /* Video RAM (007121) */
AM_RANGE(0x4000, 0x5fff) AM_ROMBANK(1) /* banked ROM */
diff --git a/src/mame/drivers/flower.c b/src/mame/drivers/flower.c
index 6b8c0b81813..b80bc2050c5 100644
--- a/src/mame/drivers/flower.c
+++ b/src/mame/drivers/flower.c
@@ -116,7 +116,7 @@ static ADDRESS_MAP_START( flower_cpu1_2, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xa103, 0xa103) AM_READ_PORT("IN1CPU0")
AM_RANGE(0xa400, 0xa400) AM_WRITE(sound_command_w)
AM_RANGE(0xc000, 0xddff) AM_SHARE(1) AM_RAM
- AM_RANGE(0xde00, 0xdfff) AM_SHARE(2) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0xde00, 0xdfff) AM_SHARE(2) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0xe000, 0xe7ff) AM_SHARE(3) AM_RAM_WRITE(flower_textram_w) AM_BASE(&flower_textram)
AM_RANGE(0xe000, 0xefff) AM_SHARE(4) AM_RAM //only cleared?
AM_RANGE(0xf000, 0xf1ff) AM_SHARE(5) AM_RAM_WRITE(flower_bg0ram_w) AM_BASE(&flower_bg0ram)
diff --git a/src/mame/drivers/flstory.c b/src/mame/drivers/flstory.c
index abd03df0c1c..b4f3fe0954f 100644
--- a/src/mame/drivers/flstory.c
+++ b/src/mame/drivers/flstory.c
@@ -73,7 +73,7 @@ static WRITE8_HANDLER( nmi_enable_w )
static ADDRESS_MAP_START( flstory_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
- AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(flstory_videoram_w) AM_BASE_MEMBER(flstory_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(flstory_videoram_w) AM_BASE_MEMBER(flstory_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0xc800, 0xcfff) AM_RAM /* unknown */
AM_RANGE(0xd000, 0xd000) AM_READWRITE(flstory_mcu_r, flstory_mcu_w)
AM_RANGE(0xd001, 0xd001) AM_WRITENOP /* watchdog? */
@@ -89,7 +89,7 @@ static ADDRESS_MAP_START( flstory_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd805, 0xd805) AM_READ(flstory_mcu_status_r)
AM_RANGE(0xd806, 0xd806) AM_READ_PORT("P2")
// AM_RANGE(0xda00, 0xda00) AM_WRITE(SMH_RAM)
- AM_RANGE(0xdc00, 0xdc9f) AM_RAM AM_BASE_MEMBER(flstory_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xdc00, 0xdc9f) AM_RAM AM_BASE_MEMBER(flstory_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xdca0, 0xdcbf) AM_RAM_WRITE(flstory_scrlram_w) AM_BASE_MEMBER(flstory_state, scrlram)
AM_RANGE(0xdcc0, 0xdcff) AM_RAM /* unknown */
AM_RANGE(0xdd00, 0xdeff) AM_READWRITE(flstory_palette_r, flstory_palette_w)
@@ -99,7 +99,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( onna34ro_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
- AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(flstory_videoram_w) AM_BASE_MEMBER(flstory_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(flstory_videoram_w) AM_BASE_MEMBER(flstory_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0xc800, 0xcfff) AM_RAM /* unknown */
AM_RANGE(0xd000, 0xd000) AM_READWRITE(onna34ro_mcu_r, onna34ro_mcu_w)
AM_RANGE(0xd001, 0xd001) AM_WRITENOP /* watchdog? */
@@ -115,7 +115,7 @@ static ADDRESS_MAP_START( onna34ro_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd805, 0xd805) AM_READ(onna34ro_mcu_status_r)
AM_RANGE(0xd806, 0xd806) AM_READ_PORT("P2")
// AM_RANGE(0xda00, 0xda00) AM_WRITE(SMH_RAM)
- AM_RANGE(0xdc00, 0xdc9f) AM_RAM AM_BASE_MEMBER(flstory_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xdc00, 0xdc9f) AM_RAM AM_BASE_MEMBER(flstory_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xdca0, 0xdcbf) AM_RAM_WRITE(flstory_scrlram_w) AM_BASE_MEMBER(flstory_state, scrlram)
AM_RANGE(0xdcc0, 0xdcff) AM_RAM /* unknown */
AM_RANGE(0xdd00, 0xdeff) AM_READWRITE(flstory_palette_r, flstory_palette_w)
@@ -133,7 +133,7 @@ static CUSTOM_INPUT( victnine_mcu_status_bit01_r )
static ADDRESS_MAP_START( victnine_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
- AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(flstory_videoram_w) AM_BASE_MEMBER(flstory_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(flstory_videoram_w) AM_BASE_MEMBER(flstory_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0xc800, 0xcfff) AM_RAM /* unknown */
AM_RANGE(0xd000, 0xd000) AM_READWRITE(victnine_mcu_r, victnine_mcu_w)
AM_RANGE(0xd001, 0xd001) AM_WRITENOP /* watchdog? */
@@ -150,7 +150,7 @@ static ADDRESS_MAP_START( victnine_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd806, 0xd806) AM_READ_PORT("P2")
AM_RANGE(0xd807, 0xd807) AM_READ_PORT("EXTRA_P2")
// AM_RANGE(0xda00, 0xda00) AM_WRITE(SMH_RAM)
- AM_RANGE(0xdc00, 0xdc9f) AM_RAM AM_BASE_MEMBER(flstory_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xdc00, 0xdc9f) AM_RAM AM_BASE_MEMBER(flstory_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xdca0, 0xdcbf) AM_RAM_WRITE(flstory_scrlram_w) AM_BASE_MEMBER(flstory_state, scrlram)
AM_RANGE(0xdce0, 0xdce0) AM_READWRITE(victnine_gfxctrl_r, victnine_gfxctrl_w)
AM_RANGE(0xdce1, 0xdce1) AM_WRITENOP /* unknown */
diff --git a/src/mame/drivers/foodf.c b/src/mame/drivers/foodf.c
index 231c78b495f..d7474ac3bf0 100644
--- a/src/mame/drivers/foodf.c
+++ b/src/mame/drivers/foodf.c
@@ -102,7 +102,7 @@ static UINT8 whichport = 0;
static READ16_HANDLER( nvram_r )
{
- return space->machine->generic.nvram.ptr.u16[offset] | 0xfff0;
+ return space->machine->generic.nvram.u16[offset] | 0xfff0;
}
@@ -218,13 +218,13 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x00ffff) AM_MIRROR(0x3e0000) AM_ROM
AM_RANGE(0x014000, 0x014fff) AM_MIRROR(0x3e3000) AM_RAM
AM_RANGE(0x018000, 0x018fff) AM_MIRROR(0x3e3000) AM_RAM
- AM_RANGE(0x01c000, 0x01c0ff) AM_MIRROR(0x3e3f00) AM_RAM AM_BASE(&spriteram16)
+ AM_RANGE(0x01c000, 0x01c0ff) AM_MIRROR(0x3e3f00) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x800000, 0x8007ff) AM_MIRROR(0x03f800) AM_RAM_WRITE(atarigen_playfield_w) AM_BASE(&atarigen_playfield)
AM_RANGE(0x900000, 0x9001ff) AM_MIRROR(0x03fe00) AM_READWRITE(nvram_r, SMH_RAM) AM_BASE_SIZE_GENERIC(nvram)
AM_RANGE(0x940000, 0x940007) AM_MIRROR(0x023ff8) AM_READ(analog_r)
AM_RANGE(0x944000, 0x944007) AM_MIRROR(0x023ff8) AM_WRITE(analog_w)
AM_RANGE(0x948000, 0x948001) AM_MIRROR(0x023ffe) AM_READ_PORT("SYSTEM") AM_WRITE(digital_w)
- AM_RANGE(0x950000, 0x9501ff) AM_MIRROR(0x023e00) AM_WRITE(foodf_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x950000, 0x9501ff) AM_MIRROR(0x023e00) AM_WRITE(foodf_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x954000, 0x954001) AM_MIRROR(0x023ffe) AM_WRITENOP /* RECALL */
AM_RANGE(0x958000, 0x958001) AM_MIRROR(0x023ffe) AM_READWRITE(watchdog_reset16_r, watchdog_reset16_w)
AM_RANGE(0xa40000, 0xa4001f) AM_MIRROR(0x03ffe0) AM_DEVREADWRITE8("pokey2", pokey_r, pokey_w, 0x00ff)
diff --git a/src/mame/drivers/freekick.c b/src/mame/drivers/freekick.c
index fc9d938fab1..a913ed11bb6 100644
--- a/src/mame/drivers/freekick.c
+++ b/src/mame/drivers/freekick.c
@@ -167,7 +167,7 @@ static ADDRESS_MAP_START( pbillrd_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(freek_videoram_w) AM_BASE_MEMBER(freekick_state, videoram)
- AM_RANGE(0xd800, 0xd8ff) AM_RAM AM_BASE_MEMBER(freekick_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xd800, 0xd8ff) AM_RAM AM_BASE_MEMBER(freekick_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xd900, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe000) AM_READ_PORT("IN0")
AM_RANGE(0xe000, 0xe001) AM_WRITE(flipscreen_w)
@@ -186,7 +186,7 @@ static ADDRESS_MAP_START( freekckb_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xcfff) AM_ROM
AM_RANGE(0xd000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(freek_videoram_w) AM_BASE_MEMBER(freekick_state, videoram) // tilemap
- AM_RANGE(0xe800, 0xe8ff) AM_RAM AM_BASE_MEMBER(freekick_state, spriteram) AM_SIZE(&spriteram_size) // sprites
+ AM_RANGE(0xe800, 0xe8ff) AM_RAM AM_BASE_MEMBER(freekick_state, spriteram) AM_SIZE_GENERIC(spriteram) // sprites
AM_RANGE(0xec00, 0xec03) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w)
AM_RANGE(0xf000, 0xf003) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w)
AM_RANGE(0xf800, 0xf800) AM_READ_PORT("IN0") AM_WRITE(flipscreen_w)
@@ -206,7 +206,7 @@ static ADDRESS_MAP_START( gigas_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(freek_videoram_w) AM_BASE_MEMBER(freekick_state, videoram)
- AM_RANGE(0xd800, 0xd8ff) AM_RAM AM_BASE_MEMBER(freekick_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xd800, 0xd8ff) AM_RAM AM_BASE_MEMBER(freekick_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xd900, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe000) AM_READ_PORT("IN0") AM_WRITENOP // probably not flipscreen
AM_RANGE(0xe002, 0xe003) AM_WRITE(coin_w)
diff --git a/src/mame/drivers/funkyjet.c b/src/mame/drivers/funkyjet.c
index c5dcfa1c4c1..78c7074201c 100644
--- a/src/mame/drivers/funkyjet.c
+++ b/src/mame/drivers/funkyjet.c
@@ -104,9 +104,9 @@ VIDEO_UPDATE( funkyjet );
static ADDRESS_MAP_START( funkyjet_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x120000, 0x1207ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x120000, 0x1207ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x140000, 0x143fff) AM_RAM
- AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE(&spriteram16)
+ AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x180000, 0x1807ff) AM_READWRITE(deco16_146_funkyjet_prot_r, deco16_146_funkyjet_prot_w) AM_BASE(&deco16_prot_ram)
AM_RANGE(0x184000, 0x184001) AM_WRITENOP
AM_RANGE(0x188000, 0x188001) AM_WRITENOP
diff --git a/src/mame/drivers/funworld.c b/src/mame/drivers/funworld.c
index a4c01eca358..f3b0e8cd544 100644
--- a/src/mame/drivers/funworld.c
+++ b/src/mame/drivers/funworld.c
@@ -1113,8 +1113,8 @@ static ADDRESS_MAP_START( funworld_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0c00, 0x0c01) AM_DEVWRITE("ay8910", ay8910_address_data_w)
AM_RANGE(0x0e00, 0x0e00) AM_DEVWRITE("crtc", mc6845_address_w)
AM_RANGE(0x0e01, 0x0e01) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
- AM_RANGE(0x2000, 0x2fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x3000, 0x3fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x2000, 0x2fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x3000, 0x3fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x4000, 0x4000) AM_READNOP
AM_RANGE(0x8000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xffff) AM_ROM
@@ -1131,8 +1131,8 @@ static ADDRESS_MAP_START( magicrd2_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x2c00, 0x2cff) AM_RAM /* range for protection */
AM_RANGE(0x3600, 0x36ff) AM_RAM /* some games use $3603-05 range for protection */
AM_RANGE(0x3c00, 0x3cff) AM_RAM /* range for protection */
- AM_RANGE(0x4000, 0x4fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x5000, 0x5fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x4000, 0x4fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x5000, 0x5fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x6000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -1146,8 +1146,8 @@ static ADDRESS_MAP_START( cuoreuno_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0e01, 0x0e01) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
AM_RANGE(0x2000, 0x2000) AM_READNOP /* some unknown reads */
AM_RANGE(0x3e00, 0x3fff) AM_RAM /* some games use $3e03-05 range for protection */
- AM_RANGE(0x6000, 0x6fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x6000, 0x6fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -1159,8 +1159,8 @@ static ADDRESS_MAP_START( royalmcu_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x2c00, 0x2c01) AM_DEVWRITE("ay8910", ay8910_address_data_w)
AM_RANGE(0x2e00, 0x2e00) AM_DEVWRITE("crtc", mc6845_address_w)
AM_RANGE(0x2e01, 0x2e01) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
- AM_RANGE(0x4000, 0x4fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x5000, 0x5fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x4000, 0x4fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x5000, 0x5fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x6000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -1174,8 +1174,8 @@ static ADDRESS_MAP_START( saloon_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1800, 0x1800) AM_DEVREAD("ay8910", ay8910_r)
AM_RANGE(0x1800, 0x1801) AM_DEVWRITE("ay8910", ay8910_address_data_w)
// AM_RANGE(0x2000, 0x2000) AM_READNOP /* some unknown reads... maybe a DSW */
- AM_RANGE(0x6000, 0x6fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x6000, 0x6fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -2283,14 +2283,14 @@ This code should be inserted into a PC-DOS program, that program is nowhere to b
static NVRAM_HANDLER( jolyc980 )
{
if (read_or_write)
- mame_fwrite(file, machine->generic.nvram.ptr.v, machine->generic.nvram.size);
+ mame_fwrite(file, machine->generic.nvram.v, machine->generic.nvram_size);
else if (file)
- mame_fread(file, machine->generic.nvram.ptr.v, machine->generic.nvram.size);
+ mame_fread(file, machine->generic.nvram.v, machine->generic.nvram_size);
else
{
int i;
- for(i=0;i<machine->generic.nvram.size;i++)
- machine->generic.nvram.ptr.u8[i] = jolyc980_default_eeprom[i];
+ for(i=0;i<machine->generic.nvram_size;i++)
+ machine->generic.nvram.u8[i] = jolyc980_default_eeprom[i];
}
}
diff --git a/src/mame/drivers/fuukifg2.c b/src/mame/drivers/fuukifg2.c
index 7dd54bf2850..c486a1863e8 100644
--- a/src/mame/drivers/fuukifg2.c
+++ b/src/mame/drivers/fuukifg2.c
@@ -97,8 +97,8 @@ static ADDRESS_MAP_START( fuuki16_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x502000, 0x503fff) AM_RAM_WRITE(fuuki16_vram_1_w) AM_BASE(&fuuki16_vram_1) //
AM_RANGE(0x504000, 0x505fff) AM_RAM_WRITE(fuuki16_vram_2_w) AM_BASE(&fuuki16_vram_2) //
AM_RANGE(0x506000, 0x507fff) AM_RAM_WRITE(fuuki16_vram_3_w) AM_BASE(&fuuki16_vram_3) //
- AM_RANGE(0x600000, 0x601fff) AM_MIRROR(0x008000) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites, mirrored?
- AM_RANGE(0x700000, 0x703fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) // Palette
+ AM_RANGE(0x600000, 0x601fff) AM_MIRROR(0x008000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites, mirrored?
+ AM_RANGE(0x700000, 0x703fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(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/fuukifg3.c b/src/mame/drivers/fuukifg3.c
index df8edef450f..54524e971eb 100644
--- a/src/mame/drivers/fuukifg3.c
+++ b/src/mame/drivers/fuukifg3.c
@@ -189,11 +189,11 @@ static WRITE32_HANDLER( paletteram32_xRRRRRGGGGGBBBBB_dword_w )
if(ACCESSING_BITS_16_31)
{
int r,g,b;
- COMBINE_DATA(&paletteram32[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
- r = (paletteram32[offset] & 0x7c000000) >> (10+16);
- g = (paletteram32[offset] & 0x03e00000) >> (5+16);
- b = (paletteram32[offset] & 0x001f0000) >> (0+16);
+ r = (space->machine->generic.paletteram.u32[offset] & 0x7c000000) >> (10+16);
+ g = (space->machine->generic.paletteram.u32[offset] & 0x03e00000) >> (5+16);
+ b = (space->machine->generic.paletteram.u32[offset] & 0x001f0000) >> (0+16);
palette_set_color_rgb(space->machine,offset*2,pal5bit(r),pal5bit(g),pal5bit(b));
}
@@ -201,11 +201,11 @@ static WRITE32_HANDLER( paletteram32_xRRRRRGGGGGBBBBB_dword_w )
if(ACCESSING_BITS_0_15)
{
int r,g,b;
- COMBINE_DATA(&paletteram32[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
- r = (paletteram32[offset] & 0x00007c00) >> (10);
- g = (paletteram32[offset] & 0x000003e0) >> (5);
- b = (paletteram32[offset] & 0x0000001f) >> (0);
+ r = (space->machine->generic.paletteram.u32[offset] & 0x00007c00) >> (10);
+ g = (space->machine->generic.paletteram.u32[offset] & 0x000003e0) >> (5);
+ b = (space->machine->generic.paletteram.u32[offset] & 0x0000001f) >> (0);
palette_set_color_rgb(space->machine,offset*2+1,pal5bit(r),pal5bit(g),pal5bit(b));
}
@@ -267,8 +267,8 @@ static ADDRESS_MAP_START( fuuki32_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x506000, 0x507fff) AM_RAM_WRITE(fuuki32_vram_3_w) AM_BASE(&fuuki32_vram_3) // Tilemap bg2
AM_RANGE(0x508000, 0x517fff) AM_RAM // More tilemap, or linescroll? Seems to be empty all of the time
- AM_RANGE(0x600000, 0x601fff) AM_RAM AM_BASE(&spriteram32) AM_SIZE(&spriteram_size) // Sprites
- AM_RANGE(0x700000, 0x703fff) AM_RAM_WRITE(paletteram32_xRRRRRGGGGGBBBBB_dword_w) AM_BASE(&paletteram32) // Palette
+ AM_RANGE(0x600000, 0x601fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
+ AM_RANGE(0x700000, 0x703fff) AM_RAM_WRITE(paletteram32_xRRRRRGGGGGBBBBB_dword_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE(0x800000, 0x800003) AM_READ_PORT("800000") AM_WRITENOP // Coin
AM_RANGE(0x810000, 0x810003) AM_READ_PORT("810000") AM_WRITENOP // Player Inputs
diff --git a/src/mame/drivers/gaelco.c b/src/mame/drivers/gaelco.c
index 52240b11a53..590a0b45b00 100644
--- a/src/mame/drivers/gaelco.c
+++ b/src/mame/drivers/gaelco.c
@@ -145,7 +145,7 @@ static ADDRESS_MAP_START( bigkarnk_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x102000, 0x103fff) AM_RAM /* Screen RAM */
AM_RANGE(0x108000, 0x108007) AM_WRITEONLY AM_BASE(&gaelco_vregs) /* Video Registers */
// AM_RANGE(0x10800c, 0x10800d) AM_WRITE(watchdog_reset_w) /* INT 6 ACK/Watchdog timer */
- AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16) /* Palette */
+ AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) /* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(&gaelco_spriteram) /* Sprite RAM */
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW1")
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("DSW2")
@@ -292,7 +292,7 @@ static ADDRESS_MAP_START( maniacsq_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x102000, 0x103fff) AM_RAM /* Screen RAM */
AM_RANGE(0x108000, 0x108007) AM_WRITE(SMH_RAM) AM_BASE(&gaelco_vregs) /* Video Registers */
// AM_RANGE(0x10800c, 0x10800d) AM_WRITE(watchdog_reset_w) /* INT 6 ACK/Watchdog timer */
- AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16) /* Palette */
+ AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) /* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(&gaelco_spriteram) /* Sprite RAM */
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW2")
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("DSW1")
@@ -573,7 +573,7 @@ static ADDRESS_MAP_START( squash_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(gaelco_encrypted_w) AM_BASE(&gaelco_screen) /* Screen RAM */
AM_RANGE(0x108000, 0x108007) AM_WRITE(SMH_RAM) AM_BASE(&gaelco_vregs) /* Video Registers */
// AM_RANGE(0x10800c, 0x10800d) AM_WRITE(watchdog_reset_w) /* INT 6 ACK/Watchdog timer */
- AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16) /* Palette */
+ AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) /* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(&gaelco_spriteram) /* Sprite RAM */
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW2")
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("DSW1")
@@ -726,7 +726,7 @@ static ADDRESS_MAP_START( thoop_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(thoop_encrypted_w) AM_BASE(&gaelco_screen) /* Screen RAM */
AM_RANGE(0x108000, 0x108007) AM_WRITE(SMH_RAM) AM_BASE(&gaelco_vregs) /* Video Registers */
// AM_RANGE(0x10800c, 0x10800d) AM_WRITE(watchdog_reset_w) /* INT 6 ACK/Watchdog timer */
- AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16) /* Palette */
+ AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) /* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(&gaelco_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 0bb5a9606e5..b95cd116ead 100644
--- a/src/mame/drivers/gaelco2.c
+++ b/src/mame/drivers/gaelco2.c
@@ -59,8 +59,8 @@ GFXDECODEINFO(0x0400000, 128)
static ADDRESS_MAP_START( maniacsq_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM /* ROM */
AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelcosnd_r, gaelcosnd_w) AM_BASE(&gaelco_sndregs) /* Sound Registers */
- AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* Video RAM */
- AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_BASE(&paletteram16) /* Palette */
+ AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_BASE_SIZE_GENERIC(spriteram) /* Video RAM */
+ AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_BASE_GENERIC(paletteram) /* Palette */
AM_RANGE(0x218004, 0x218009) AM_RAM AM_BASE(&gaelco2_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 */
@@ -217,8 +217,8 @@ static READ16_HANDLER(p2_gun_y) {return (input_port_read(space->machine, "LIGHT1
static ADDRESS_MAP_START( bang_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelcosnd_r, gaelcosnd_w) AM_BASE(&gaelco_sndregs) /* Sound Registers */
- AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* Video RAM */
- AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_BASE(&paletteram16) /* Palette */
+ AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_BASE_SIZE_GENERIC(spriteram) /* Video RAM */
+ AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_BASE_GENERIC(paletteram) /* Palette */
AM_RANGE(0x218004, 0x218009) AM_READ(SMH_RAM) /* Video Registers */
AM_RANGE(0x218004, 0x218007) AM_WRITE(SMH_RAM) AM_BASE(&gaelco2_vregs) /* Video Registers */
AM_RANGE(0x218008, 0x218009) AM_WRITENOP /* CLR INT Video */
@@ -423,8 +423,8 @@ ROM_END
static ADDRESS_MAP_START( alighunt_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelcosnd_r, gaelcosnd_w) AM_BASE(&gaelco_sndregs) /* Sound Registers */
- AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* Video RAM */
- AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_BASE(&paletteram16) /* Palette */
+ AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_BASE_SIZE_GENERIC(spriteram) /* Video RAM */
+ AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_BASE_GENERIC(paletteram) /* Palette */
AM_RANGE(0x218004, 0x218009) AM_RAM AM_BASE(&gaelco2_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 */
@@ -635,8 +635,8 @@ static READ16_HANDLER ( dallas_kludge_r )
static ADDRESS_MAP_START( touchgo_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelcosnd_r, gaelcosnd_w) AM_BASE(&gaelco_sndregs) /* Sound Registers */
- AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* Video RAM */
- AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_BASE(&paletteram16) /* Palette */
+ AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_BASE_SIZE_GENERIC(spriteram) /* Video RAM */
+ AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_BASE_GENERIC(paletteram) /* Palette */
AM_RANGE(0x218004, 0x218009) AM_RAM AM_BASE(&gaelco2_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 */
@@ -900,8 +900,8 @@ ROM_END
static ADDRESS_MAP_START( snowboar_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelcosnd_r, gaelcosnd_w) AM_BASE(&gaelco_sndregs) /* Sound Registers */
- AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* Video RAM */
- AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_BASE(&paletteram16) /* Palette */
+ AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_BASE_SIZE_GENERIC(spriteram) /* Video RAM */
+ AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_BASE_GENERIC(paletteram) /* Palette */
AM_RANGE(0x212000, 0x213fff) AM_RAM /* Extra RAM */
AM_RANGE(0x218004, 0x218009) AM_RAM AM_BASE(&gaelco2_vregs) /* Video Registers */
AM_RANGE(0x300000, 0x300001) AM_READ_PORT("P1")
@@ -1086,8 +1086,8 @@ ROM_END
static ADDRESS_MAP_START( wrally2_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelcosnd_r, gaelcosnd_w) AM_BASE(&gaelco_sndregs) /* Sound Registers */
- AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* Video RAM */
- AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_BASE(&paletteram16) /* Palette */
+ AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_BASE_SIZE_GENERIC(spriteram) /* Video RAM */
+ AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_BASE_GENERIC(paletteram) /* Palette */
AM_RANGE(0x212000, 0x213fff) AM_RAM /* Extra RAM */
AM_RANGE(0x218004, 0x218009) AM_RAM AM_BASE(&gaelco2_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 136e4c7c7c0..55610a2e0e7 100644
--- a/src/mame/drivers/gaelco3d.c
+++ b/src/mame/drivers/gaelco3d.c
@@ -734,7 +734,7 @@ static WRITE16_HANDLER( led_1_w )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x1fffff) AM_ROM
- AM_RANGE(0x400000, 0x40ffff) AM_RAM_WRITE(gaelco3d_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x400000, 0x40ffff) AM_RAM_WRITE(gaelco3d_paletteram_w) AM_BASE_GENERIC(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")
@@ -761,7 +761,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( main020_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x000000, 0x1fffff) AM_ROM
- AM_RANGE(0x400000, 0x40ffff) AM_RAM_WRITE(gaelco3d_paletteram_020_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x400000, 0x40ffff) AM_RAM_WRITE(gaelco3d_paletteram_020_w) AM_BASE_GENERIC(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 5868b1abf35..f95edcdc320 100644
--- a/src/mame/drivers/gaiden.c
+++ b/src/mame/drivers/gaiden.c
@@ -379,8 +379,8 @@ static ADDRESS_MAP_START( gaiden_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x070000, 0x070fff) AM_RAM_WRITE(gaiden_videoram_w) AM_BASE(&gaiden_videoram)
AM_RANGE(0x072000, 0x073fff) AM_READWRITE(gaiden_videoram2_r, gaiden_videoram2_w) AM_BASE(&gaiden_videoram2)
AM_RANGE(0x074000, 0x075fff) AM_READWRITE(gaiden_videoram3_r, gaiden_videoram3_w) AM_BASE(&gaiden_videoram3)
- AM_RANGE(0x076000, 0x077fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0x078000, 0x079fff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x076000, 0x077fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x078000, 0x079fff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x078800, 0x079fff) AM_READNOP /* extra portion of palette RAM, not really used */
AM_RANGE(0x07a000, 0x07a001) AM_READ_PORT("SYSTEM")
AM_RANGE(0x07a002, 0x07a003) AM_READ_PORT("P1_P2")
@@ -403,8 +403,8 @@ static ADDRESS_MAP_START( drgnbowl_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x070000, 0x070fff) AM_RAM_WRITE(gaiden_videoram_w) AM_BASE(&gaiden_videoram)
AM_RANGE(0x072000, 0x073fff) AM_RAM_WRITE(gaiden_videoram2_w) AM_BASE(&gaiden_videoram2)
AM_RANGE(0x074000, 0x075fff) AM_RAM_WRITE(gaiden_videoram3_w) AM_BASE(&gaiden_videoram3)
- AM_RANGE(0x076000, 0x077fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0x078000, 0x079fff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x076000, 0x077fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x078000, 0x079fff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(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")
@@ -1001,8 +1001,8 @@ static ADDRESS_MAP_START( mastninj_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x070000, 0x070fff) AM_RAM_WRITE(gaiden_videoram_w) AM_BASE(&gaiden_videoram)
AM_RANGE(0x072000, 0x073fff) AM_READWRITE(gaiden_videoram2_r, gaiden_videoram2_w) AM_BASE(&gaiden_videoram2)
AM_RANGE(0x074000, 0x075fff) AM_READWRITE(gaiden_videoram3_r, gaiden_videoram3_w) AM_BASE(&gaiden_videoram3)
- AM_RANGE(0x076000, 0x077fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0x078000, 0x079fff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x076000, 0x077fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x078000, 0x079fff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(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 20cd2ead756..d45e0dca74e 100644
--- a/src/mame/drivers/gal3.c
+++ b/src/mame/drivers/gal3.c
@@ -164,12 +164,10 @@ static void update_palette( running_machine *machine )
INT16 data1,data2;
int r,g,b;
- paletteram16=(UINT16*)paletteram32;
-
for( i=0; i<NAMCOS21_NUM_COLORS; i++ )
{
- data1 = paletteram16[0x00000/2+i];
- data2 = paletteram16[0x10000/2+i];
+ data1 = machine->generic.paletteram.u16[0x00000/2+i];
+ data2 = machine->generic.paletteram.u16[0x10000/2+i];
r = data1>>8;
g = data1&0xff;
@@ -315,17 +313,17 @@ static WRITE32_HANDLER( led_slv_w )
static READ32_HANDLER( paletteram32_r )
{
offset *= 2;
- return (paletteram16[offset]<<16)|paletteram16[offset+1];
+ return (space->machine->generic.paletteram.u16[offset]<<16)|space->machine->generic.paletteram.u16[offset+1];
}
static WRITE32_HANDLER( paletteram32_w )
{
UINT32 v;
offset *= 2;
- v = (paletteram16[offset]<<16)|paletteram16[offset+1];
+ v = (space->machine->generic.paletteram.u16[offset]<<16)|space->machine->generic.paletteram.u16[offset+1];
COMBINE_DATA( &v );
- paletteram16[offset+0] = v>>16;
- paletteram16[offset+1] = v&0xffff;
+ space->machine->generic.paletteram.u16[offset+0] = v>>16;
+ space->machine->generic.paletteram.u16[offset+1] = v&0xffff;
}
static READ32_HANDLER(namcos21_video_enable_r)
@@ -397,13 +395,13 @@ static ADDRESS_MAP_START( cpu_slv_map, ADDRESS_SPACE_PROGRAM, 32 )
/// AM_RANGE(0xf1480000, 0xf14807ff) AM_READWRITE(namcos21_depthcue_r,namcos21_depthcue_w)
AM_RANGE(0xf1700000, 0xf170ffff) AM_READWRITE(namco_obj32_r,namco_obj32_w)
AM_RANGE(0xf1720000, 0xf1720007) AM_READWRITE(namco_spritepos32_r,namco_spritepos32_w)
- AM_RANGE(0xf1740000, 0xf175ffff) AM_READWRITE(paletteram32_r,paletteram32_w) AM_BASE(&paletteram32)
+ AM_RANGE(0xf1740000, 0xf175ffff) AM_READWRITE(paletteram32_r,paletteram32_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xf1760000, 0xf1760003) AM_READWRITE(namcos21_video_enable_r,namcos21_video_enable_w)
AM_RANGE(0xf2200000, 0xf220ffff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM)
AM_RANGE(0xf2700000, 0xf270ffff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //AM_READWRITE(namco_obj16_r,namco_obj16_w)
AM_RANGE(0xf2720000, 0xf2720007) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //AM_READWRITE(namco_spritepos16_r,namco_spritepos16_w)
- AM_RANGE(0xf2740000, 0xf275ffff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //AM_READWRITE(paletteram16_r,paletteram16_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xf2740000, 0xf275ffff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //AM_READWRITE(paletteram16_r,paletteram16_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xf2760000, 0xf2760003) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) //AM_READWRITE(namcos21_video_enable_r,namcos21_video_enable_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/galastrm.c b/src/mame/drivers/galastrm.c
index a7a50d621aa..ff590c91ab4 100644
--- a/src/mame/drivers/galastrm.c
+++ b/src/mame/drivers/galastrm.c
@@ -179,7 +179,7 @@ static WRITE32_HANDLER( galastrm_adstick_ctrl_w )
static ADDRESS_MAP_START( galastrm_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x200000, 0x21ffff) AM_RAM AM_BASE(&galastrm_ram) /* main CPUA ram */
- AM_RANGE(0x300000, 0x303fff) AM_RAM AM_BASE(&spriteram32) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x300000, 0x303fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x400000, 0x400003) AM_READ_PORT("IN0")
AM_RANGE(0x400004, 0x400007) AM_READ_PORT("IN1")
AM_RANGE(0x400000, 0x400007) AM_WRITE(galastrm_input_w) /* eerom etc. */
diff --git a/src/mame/drivers/galaxi.c b/src/mame/drivers/galaxi.c
index e9927979347..b754e1105d2 100644
--- a/src/mame/drivers/galaxi.c
+++ b/src/mame/drivers/galaxi.c
@@ -235,7 +235,7 @@ static ADDRESS_MAP_START( galaxi_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE( 0x101000, 0x101fff ) AM_RAM_WRITE( galaxi_fg_w ) AM_BASE( &fg_ram )
AM_RANGE( 0x102000, 0x1047ff ) AM_READNOP // unknown
- AM_RANGE( 0x300000, 0x3007ff ) AM_RAM_WRITE( paletteram16_xRRRRRGGGGGBBBBB_word_w ) AM_BASE( &paletteram16 )
+ AM_RANGE( 0x300000, 0x3007ff ) AM_RAM_WRITE( paletteram16_xRRRRRGGGGGBBBBB_word_w ) AM_BASE_GENERIC( paletteram )
AM_RANGE( 0x500000, 0x500001 ) AM_READ_PORT( "INPUTS" )
AM_RANGE( 0x500000, 0x500001 ) AM_WRITE( galaxi_500000_w )
diff --git a/src/mame/drivers/galaxian.c b/src/mame/drivers/galaxian.c
index 36808e4ad08..642123bd6b8 100644
--- a/src/mame/drivers/galaxian.c
+++ b/src/mame/drivers/galaxian.c
@@ -1190,8 +1190,8 @@ static ADDRESS_MAP_START( galaxian_map_base, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x0400) AM_RAM
- AM_RANGE(0x5000, 0x53ff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x5800, 0x58ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE(&spriteram)
+ AM_RANGE(0x5000, 0x53ff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x5800, 0x58ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x07ff) AM_READ_PORT("IN0")
AM_RANGE(0x6000, 0x6001) AM_MIRROR(0x07f8) AM_WRITE(start_lamp_w)
AM_RANGE(0x6002, 0x6002) AM_MIRROR(0x07f8) AM_WRITE(coin_lock_w)
@@ -1225,8 +1225,8 @@ static ADDRESS_MAP_START( mooncrst_map_base, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x0400) AM_RAM
- AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x9800, 0x98ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE(&spriteram)
+ AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x9800, 0x98ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
AM_RANGE(0xa000, 0xa000) AM_MIRROR(0x07ff) AM_READ_PORT("IN0")
AM_RANGE(0xa000, 0xa002) AM_MIRROR(0x07f8) AM_WRITE(galaxian_gfxbank_w)
AM_RANGE(0xa003, 0xa003) AM_MIRROR(0x07f8) AM_WRITE(coin_count_0_w)
@@ -1257,8 +1257,8 @@ static ADDRESS_MAP_START( dambustr_map, ADDRESS_SPACE_PROGRAM, 8 )
// AM_RANGE(0x8000, 0x8000) AM_WRITE(dambustr_bg_color_w)
// AM_RANGE(0x8001, 0x8001) AM_WRITE(dambustr_bg_split_line_w)
AM_RANGE(0xc000, 0xc3ff) AM_MIRROR(0x0400) AM_RAM
- AM_RANGE(0xd000, 0xd3ff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xd800, 0xd8ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE(&spriteram)
+ AM_RANGE(0xd000, 0xd3ff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xd800, 0xd8ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
AM_RANGE(0xe000, 0xe000) AM_MIRROR(0x07ff) AM_READ_PORT("IN0")
AM_RANGE(0xe004, 0xe007) AM_MIRROR(0x07f8) AM_WRITE(galaxian_lfo_freq_w)
AM_RANGE(0xe800, 0xe800) AM_MIRROR(0x07ff) AM_READ_PORT("IN1")
@@ -1279,8 +1279,8 @@ static ADDRESS_MAP_START( theend_map, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
- AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x5000, 0x50ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE(&spriteram)
+ AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x5000, 0x50ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
AM_RANGE(0x6801, 0x6801) AM_MIRROR(0x07f8) AM_WRITE(irq_enable_w)
AM_RANGE(0x6802, 0x6802) AM_MIRROR(0x07f8) AM_WRITE(coin_count_0_w)
AM_RANGE(0x6803, 0x6803) AM_MIRROR(0x07f8) AM_WRITE(scramble_background_enable_w)
@@ -1298,8 +1298,8 @@ static ADDRESS_MAP_START( scobra_map, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_MIRROR(0x4000) AM_RAM
- AM_RANGE(0x8800, 0x8bff) AM_MIRROR(0x4400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x9000, 0x90ff) AM_MIRROR(0x4700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE(&spriteram)
+ AM_RANGE(0x8800, 0x8bff) AM_MIRROR(0x4400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x9000, 0x90ff) AM_MIRROR(0x4700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
AM_RANGE(0x9800, 0x9803) AM_MIRROR(0x47fc) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w)
AM_RANGE(0xa000, 0xa003) AM_MIRROR(0x47fc) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w)
AM_RANGE(0xa801, 0xa801) AM_MIRROR(0x47f8) AM_WRITE(irq_enable_w)
@@ -1319,8 +1319,8 @@ static ADDRESS_MAP_START( frogger_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8800) AM_MIRROR(0x07ff) AM_READ(watchdog_reset_r)
- AM_RANGE(0xa800, 0xabff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xb000, 0xb0ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE(&spriteram)
+ AM_RANGE(0xa800, 0xabff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xb000, 0xb0ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
AM_RANGE(0xb808, 0xb808) AM_MIRROR(0x07e3) AM_WRITE(irq_enable_w)
AM_RANGE(0xb80c, 0xb80c) AM_MIRROR(0x07e3) AM_WRITE(galaxian_flip_screen_y_w)
AM_RANGE(0xb810, 0xb810) AM_MIRROR(0x07e3) AM_WRITE(galaxian_flip_screen_x_w)
@@ -1335,8 +1335,8 @@ static ADDRESS_MAP_START( turtles_map, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_MIRROR(0x4000) AM_RAM
- AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x4400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x9800, 0x98ff) AM_MIRROR(0x4700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE(&spriteram)
+ AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x4400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x9800, 0x98ff) AM_MIRROR(0x4700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
AM_RANGE(0xa000, 0xa000) AM_MIRROR(0x47c7) AM_WRITE(scramble_background_red_w)
AM_RANGE(0xa008, 0xa008) AM_MIRROR(0x47c7) AM_WRITE(irq_enable_w)
AM_RANGE(0xa010, 0xa010) AM_MIRROR(0x47c7) AM_WRITE(galaxian_flip_screen_y_w)
@@ -1356,8 +1356,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sfx_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
- AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x5000, 0x50ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE(&spriteram)
+ AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x5000, 0x50ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
AM_RANGE(0x6800, 0x6800) AM_MIRROR(0x07f8) AM_WRITE(scramble_background_red_w)
AM_RANGE(0x6801, 0x6801) AM_MIRROR(0x07f8) AM_WRITE(irq_enable_w)
AM_RANGE(0x6802, 0x6802) AM_MIRROR(0x07f8) AM_WRITE(coin_count_0_w)
@@ -1385,8 +1385,8 @@ static ADDRESS_MAP_START( jumpbug_map, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
- AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x5000, 0x50ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE(&spriteram)
+ AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x5000, 0x50ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
AM_RANGE(0x5800, 0x5800) AM_MIRROR(0x00ff) AM_DEVWRITE("aysnd", ay8910_data_w)
AM_RANGE(0x5900, 0x5900) AM_MIRROR(0x00ff) AM_DEVWRITE("aysnd", ay8910_address_w)
AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x07ff) AM_READ_PORT("IN0")
@@ -1407,8 +1407,8 @@ static ADDRESS_MAP_START( frogf_map, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
- AM_RANGE(0x8800, 0x8bff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x9000, 0x90ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE(&spriteram)
+ AM_RANGE(0x8800, 0x8bff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x9000, 0x90ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
AM_RANGE(0xa802, 0xa802) AM_MIRROR(0x07f1) AM_WRITE(galaxian_flip_screen_x_w)
AM_RANGE(0xa804, 0xa804) AM_MIRROR(0x07f1) AM_WRITE(irq_enable_w)
AM_RANGE(0xa806, 0xa806) AM_MIRROR(0x07f1) AM_WRITE(galaxian_flip_screen_y_w)
@@ -1424,8 +1424,8 @@ static ADDRESS_MAP_START( mshuttle_map, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM
- AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x9800, 0x98ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE(&spriteram)
+ AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x9800, 0x98ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0")
AM_RANGE(0xa000, 0xa000) AM_WRITE(irq_enable_w)
AM_RANGE(0xa001, 0xa001) AM_WRITE(galaxian_stars_enable_w)
diff --git a/src/mame/drivers/galivan.c b/src/mame/drivers/galivan.c
index 9ac96ff3227..32e4d775382 100644
--- a/src/mame/drivers/galivan.c
+++ b/src/mame/drivers/galivan.c
@@ -107,10 +107,10 @@ static ADDRESS_MAP_START( galivan_map, ADDRESS_SPACE_PROGRAM, 8 )
// The next three entires need to be looked at. It's ugly.
AM_RANGE(0xc000, 0xdfff) AM_READ(SMH_BANK(1))
- AM_RANGE(0xd800, 0xdbff) AM_WRITE(galivan_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0xdc00, 0xdfff) AM_WRITE(galivan_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0xd800, 0xdbff) AM_WRITE(galivan_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0xdc00, 0xdfff) AM_WRITE(galivan_colorram_w) AM_BASE_GENERIC(colorram)
- AM_RANGE(0xe000, 0xe0ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xe000, 0xe0ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xe100, 0xffff) AM_RAM
ADDRESS_MAP_END
@@ -120,10 +120,10 @@ static ADDRESS_MAP_START( ninjemak_map, ADDRESS_SPACE_PROGRAM, 8 )
// The next three entires need to be looked at. It's ugly.
AM_RANGE(0xc000, 0xdfff) AM_READ(SMH_BANK(1))
AM_RANGE(0xd800, 0xd81f) AM_WRITE(ninjemak_videoreg_w)
- AM_RANGE(0xd800, 0xdbff) AM_WRITE(galivan_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0xdc00, 0xdfff) AM_WRITE(galivan_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0xd800, 0xdbff) AM_WRITE(galivan_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0xdc00, 0xdfff) AM_WRITE(galivan_colorram_w) AM_BASE_GENERIC(colorram)
- AM_RANGE(0xe000, 0xe1ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xe000, 0xe1ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xe200, 0xffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/galpani2.c b/src/mame/drivers/galpani2.c
index 72c1a101861..7fa7b3fae2a 100644
--- a/src/mame/drivers/galpani2.c
+++ b/src/mame/drivers/galpani2.c
@@ -292,7 +292,7 @@ static ADDRESS_MAP_START( galpani2_mem1, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_BASE(&galpani2_ram ) // Work RAM
AM_RANGE(0x110000, 0x11000f) AM_RAM // ? corrupted? stack dumper on POST failure, pc+sr on gp2se
AM_RANGE(0x300000, 0x301fff) AM_RAM // ?
- AM_RANGE(0x302000, 0x303fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size ) // Sprites
+ AM_RANGE(0x302000, 0x303fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0x304000, 0x30401f) AM_RAM_WRITE(kaneko16_sprites_regs_w) AM_BASE(&kaneko16_sprites_regs ) // Sprites Regs
AM_RANGE(0x308000, 0x308001) AM_WRITENOP // ? 0 at startup
AM_RANGE(0x30c000, 0x30c001) AM_WRITENOP // ? hblank effect ?
@@ -300,7 +300,7 @@ static ADDRESS_MAP_START( galpani2_mem1, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x314000, 0x314001) AM_WRITENOP // ? flip backgrounds ?
AM_RANGE(0x318000, 0x318001) AM_READWRITE(galpani2_eeprom_r, galpani2_eeprom_w) // EEPROM
AM_RANGE(0x380000, 0x387fff) AM_RAM // Palette?
- AM_RANGE(0x388000, 0x38ffff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE(&paletteram16 ) // Palette
+ AM_RANGE(0x388000, 0x38ffff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram ) // Palette
AM_RANGE(0x390000, 0x3901ff) AM_WRITENOP // ? at startup of service mode
AM_RANGE(0x400000, 0x43ffff) AM_RAM_WRITE(galpani2_bg8_0_w) AM_BASE(&galpani2_bg8_0 ) // Background 0
diff --git a/src/mame/drivers/galpani3.c b/src/mame/drivers/galpani3.c
index 6223b317ce7..8fdb88d3c64 100644
--- a/src/mame/drivers/galpani3.c
+++ b/src/mame/drivers/galpani3.c
@@ -125,7 +125,7 @@ static VIDEO_START(galpani3)
{
/* so we can use suprnova.c */
galpani3_spriteram32 = auto_alloc_array(machine, UINT32, 0x4000/4);
- spriteram_size = 0x4000;
+ machine->generic.spriteram_size = 0x4000;
galpani3_spc_regs = auto_alloc_array(machine, UINT32, 0x40/4);
suprnova_alt_enable_sprites = 1;
@@ -135,13 +135,13 @@ static VIDEO_START(galpani3)
}
-static int gp3_is_alpha_pen(int pen)
+static int gp3_is_alpha_pen(running_machine *machine, int pen)
{
UINT16 dat = 0;
if (pen<0x4000)
{
- dat = paletteram16[pen];
+ dat = machine->generic.paletteram.u16[pen];
}
else if (pen<0x4100)
{
@@ -239,7 +239,7 @@ static VIDEO_UPDATE(galpani3)
UINT16 pen = dat1+0x4000;
UINT32 pal = paldata[pen];
- if (gp3_is_alpha_pen(pen))
+ if (gp3_is_alpha_pen(screen->machine, pen))
{
int r,g,b;
r = (pal & 0x00ff0000)>>16;
@@ -267,7 +267,7 @@ static VIDEO_UPDATE(galpani3)
UINT16 pen = dat2+0x4100;
UINT32 pal = paldata[pen];
- if (gp3_is_alpha_pen(pen))
+ if (gp3_is_alpha_pen(screen->machine, pen))
{
int r,g,b;
r = (pal & 0x00ff0000)>>16;
@@ -325,7 +325,7 @@ static VIDEO_UPDATE(galpani3)
bitmap_fill(sprite_bitmap_1, cliprect, 0x0000);
- skns_draw_sprites(screen->machine, sprite_bitmap_1, cliprect, galpani3_spriteram32, spriteram_size, memory_region(screen->machine,"gfx1"), memory_region_length (screen->machine, "gfx1"), galpani3_spc_regs );
+ skns_draw_sprites(screen->machine, sprite_bitmap_1, cliprect, galpani3_spriteram32, screen->machine->generic.spriteram_size, memory_region(screen->machine,"gfx1"), memory_region_length (screen->machine, "gfx1"), galpani3_spc_regs );
// ignoring priority bits for now..
for (y=0;y<240;y++)
@@ -820,7 +820,7 @@ static ADDRESS_MAP_START( galpani3_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x17ffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // area [B] - Work RAM
- AM_RANGE(0x280000, 0x287fff) AM_RAM AM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE(&paletteram16) // area [A] - palette for sprites
+ AM_RANGE(0x280000, 0x287fff) AM_RAM AM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // area [A] - palette for sprites
AM_RANGE(0x300000, 0x303fff) AM_RAM_WRITE(galpani3_suprnova_sprite32_w) AM_BASE(&galpani3_spriteram)
AM_RANGE(0x380000, 0x38003f) AM_RAM_WRITE(galpani3_suprnova_sprite32regs_w) AM_BASE(&galpani3_sprregs)
diff --git a/src/mame/drivers/galpanic.c b/src/mame/drivers/galpanic.c
index 6d40d85a2f7..05456a86071 100644
--- a/src/mame/drivers/galpanic.c
+++ b/src/mame/drivers/galpanic.c
@@ -222,7 +222,7 @@ static ADDRESS_MAP_START( galpanic_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x400000, 0x400001) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
AM_RANGE(0x500000, 0x51ffff) AM_RAM AM_BASE(&galpanic_fgvideoram) AM_SIZE(&galpanic_fgvideoram_size)
AM_RANGE(0x520000, 0x53ffff) AM_RAM_WRITE(galpanic_bgvideoram_w) AM_BASE(&galpanic_bgvideoram) /* + work RAM */
- AM_RANGE(0x600000, 0x6007ff) AM_RAM_WRITE(galpanic_paletteram_w) AM_BASE(&paletteram16) /* 1024 colors, but only 512 seem to be used */
+ AM_RANGE(0x600000, 0x6007ff) AM_RAM_WRITE(galpanic_paletteram_w) AM_BASE_GENERIC(paletteram) /* 1024 colors, but only 512 seem to be used */
AM_RANGE(0x700000, 0x701fff) AM_READWRITE(pandora_spriteram_LSB_r, pandora_spriteram_LSB_w)
AM_RANGE(0x702000, 0x704fff) AM_RAM
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1_P1")
@@ -256,8 +256,8 @@ static ADDRESS_MAP_START( comad_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x4fffff) AM_ROM
AM_RANGE(0x500000, 0x51ffff) AM_RAM AM_BASE(&galpanic_fgvideoram) AM_SIZE(&galpanic_fgvideoram_size)
AM_RANGE(0x520000, 0x53ffff) AM_RAM_WRITE(galpanic_bgvideoram_w) AM_BASE(&galpanic_bgvideoram) /* + work RAM */
- AM_RANGE(0x600000, 0x6007ff) AM_RAM_WRITE(galpanic_paletteram_w) AM_BASE(&paletteram16) /* 1024 colors, but only 512 seem to be used */
- AM_RANGE(0x700000, 0x700fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x600000, 0x6007ff) AM_RAM_WRITE(galpanic_paletteram_w) AM_BASE_GENERIC(paletteram) /* 1024 colors, but only 512 seem to be used */
+ AM_RANGE(0x700000, 0x700fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1_P1")
AM_RANGE(0x800002, 0x800003) AM_READ_PORT("DSW2_P2")
AM_RANGE(0x800004, 0x800005) AM_READ_PORT("SYSTEM")
@@ -275,8 +275,8 @@ static ADDRESS_MAP_START( fantsia2_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x4fffff) AM_ROM
AM_RANGE(0x500000, 0x51ffff) AM_RAM AM_BASE(&galpanic_fgvideoram) AM_SIZE(&galpanic_fgvideoram_size)
AM_RANGE(0x520000, 0x53ffff) AM_RAM_WRITE(galpanic_bgvideoram_w) AM_BASE(&galpanic_bgvideoram) /* + work RAM */
- AM_RANGE(0x600000, 0x6007ff) AM_RAM_WRITE(galpanic_paletteram_w) AM_BASE(&paletteram16) /* 1024 colors, but only 512 seem to be used */
- AM_RANGE(0x700000, 0x700fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x600000, 0x6007ff) AM_RAM_WRITE(galpanic_paletteram_w) AM_BASE_GENERIC(paletteram) /* 1024 colors, but only 512 seem to be used */
+ AM_RANGE(0x700000, 0x700fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1_P1")
AM_RANGE(0x800002, 0x800003) AM_READ_PORT("DSW2_P2")
AM_RANGE(0x800004, 0x800005) AM_READ_PORT("SYSTEM")
@@ -294,10 +294,10 @@ static ADDRESS_MAP_START( galhustl_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x500000, 0x51ffff) AM_RAM AM_BASE(&galpanic_fgvideoram) AM_SIZE(&galpanic_fgvideoram_size)
AM_RANGE(0x520000, 0x53ffff) AM_WRITE(galpanic_bgvideoram_w) AM_BASE(&galpanic_bgvideoram)
AM_RANGE(0x580000, 0x583fff) AM_RAM_WRITE(galpanic_bgvideoram_mirror_w)
- AM_RANGE(0x600000, 0x6007ff) AM_RAM_WRITE(galpanic_paletteram_w) AM_BASE(&paletteram16) /* 1024 colors, but only 512 seem to be used */
+ AM_RANGE(0x600000, 0x6007ff) AM_RAM_WRITE(galpanic_paletteram_w) AM_BASE_GENERIC(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(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x700000, 0x700fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x780000, 0x78001f) AM_RAM // regs?
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1_P1")
AM_RANGE(0x800002, 0x800003) AM_READ_PORT("DSW2_P2")
@@ -320,9 +320,9 @@ static ADDRESS_MAP_START( zipzap_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x500000, 0x51ffff) AM_RAM AM_BASE(&galpanic_fgvideoram) AM_SIZE(&galpanic_fgvideoram_size)
AM_RANGE(0x520000, 0x53ffff) AM_RAM_WRITE(galpanic_bgvideoram_w) AM_BASE(&galpanic_bgvideoram)
AM_RANGE(0x580000, 0x583fff) AM_RAM_WRITE(galpanic_bgvideoram_mirror_w)
- AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE(galpanic_paletteram_w) AM_BASE(&paletteram16) /* 1024 colors, but only 512 seem to be used */
+ AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE(galpanic_paletteram_w) AM_BASE_GENERIC(paletteram) /* 1024 colors, but only 512 seem to be used */
AM_RANGE(0x680000, 0x68001f) AM_RAM
- AM_RANGE(0x700000, 0x700fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x700000, 0x700fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x701000, 0x71ffff) AM_RAM
AM_RANGE(0x780000, 0x78001f) AM_RAM
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1_P1")
@@ -341,9 +341,9 @@ static ADDRESS_MAP_START( supmodel_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x500000, 0x51ffff) AM_RAM AM_BASE(&galpanic_fgvideoram) AM_SIZE(&galpanic_fgvideoram_size)
AM_RANGE(0x520000, 0x53ffff) AM_RAM_WRITE(galpanic_bgvideoram_w) AM_BASE(&galpanic_bgvideoram)
// AM_RANGE(0x580000, 0x583fff) AM_RAM_WRITE(galpanic_bgvideoram_mirror_w) // can't be right, causes half the display to vanish at times!
- AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE(galpanic_paletteram_w) AM_BASE(&paletteram16) /* 1024 colors, but only 512 seem to be used */
+ AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE(galpanic_paletteram_w) AM_BASE_GENERIC(paletteram) /* 1024 colors, but only 512 seem to be used */
AM_RANGE(0x680000, 0x68001f) AM_RAM
- AM_RANGE(0x700000, 0x700fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x700000, 0x700fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x780000, 0x78001f) AM_RAM
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1_P1")
AM_RANGE(0x800002, 0x800003) AM_READ_PORT("DSW2_P2")
diff --git a/src/mame/drivers/galspnbl.c b/src/mame/drivers/galspnbl.c
index 5d235ba9350..cb8fff1a3f9 100644
--- a/src/mame/drivers/galspnbl.c
+++ b/src/mame/drivers/galspnbl.c
@@ -50,7 +50,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x708000, 0x70ffff) AM_RAM /* galspnbl work RAM, bitmaps are decompressed here */
AM_RANGE(0x800000, 0x803fff) AM_RAM /* hotpinbl work RAM */
AM_RANGE(0x808000, 0x80ffff) AM_RAM /* hotpinbl work RAM, bitmaps are decompressed here */
- AM_RANGE(0x880000, 0x880fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x880000, 0x880fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x8ff400, 0x8fffff) AM_WRITENOP /* ??? */
AM_RANGE(0x900000, 0x900fff) AM_RAM AM_BASE(&galspnbl_colorram)
AM_RANGE(0x901000, 0x903fff) AM_WRITENOP /* ??? */
@@ -58,7 +58,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x905000, 0x907fff) AM_WRITENOP /* ??? */
AM_RANGE(0x980000, 0x9bffff) AM_RAM AM_BASE(&galspnbl_bgvideoram)
AM_RANGE(0xa00000, 0xa00fff) AM_WRITENOP /* more palette ? */
- AM_RANGE(0xa01000, 0xa017ff) AM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xa01000, 0xa017ff) AM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(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/gatron.c b/src/mame/drivers/gatron.c
index 81ca1409d8c..147ab813ea7 100644
--- a/src/mame/drivers/gatron.c
+++ b/src/mame/drivers/gatron.c
@@ -344,7 +344,7 @@ static const ppi8255_interface ppi8255_intf =
static ADDRESS_MAP_START( gat_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM
- AM_RANGE(0x6000, 0x63ff) AM_RAM_WRITE(gat_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x6000, 0x63ff) AM_RAM_WRITE(gat_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) /* battery backed RAM */
AM_RANGE(0xa000, 0xa000) AM_DEVWRITE("snsnd", sn76496_w) /* PSG */
AM_RANGE(0xe000, 0xe000) AM_WRITE(output_port_0_w) /* lamps */
diff --git a/src/mame/drivers/gauntlet.c b/src/mame/drivers/gauntlet.c
index d8612f1febb..8cf18bc74aa 100644
--- a/src/mame/drivers/gauntlet.c
+++ b/src/mame/drivers/gauntlet.c
@@ -316,7 +316,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x905f6e, 0x905f6f) AM_MIRROR(0x2c8000) AM_RAM_WRITE(gauntlet_yscroll_w) AM_BASE(&atarigen_yscroll)
AM_RANGE(0x905000, 0x905f7f) AM_MIRROR(0x2c8000) AM_RAM_WRITE(atarigen_alpha_w) AM_BASE(&atarigen_alpha)
AM_RANGE(0x905f80, 0x905fff) AM_MIRROR(0x2c8000) AM_RAM_WRITE(atarimo_0_slipram_w) AM_BASE(&atarimo_0_slipram)
- AM_RANGE(0x910000, 0x9107ff) AM_MIRROR(0x2cf800) AM_RAM_WRITE(paletteram16_IIIIRRRRGGGGBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x910000, 0x9107ff) AM_MIRROR(0x2cf800) AM_RAM_WRITE(paletteram16_IIIIRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x930000, 0x930001) AM_MIRROR(0x2cfffe) AM_WRITE(gauntlet_xscroll_w) AM_BASE(&atarigen_xscroll)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/gberet.c b/src/mame/drivers/gberet.c
index 0964654fdd2..27652e696bd 100644
--- a/src/mame/drivers/gberet.c
+++ b/src/mame/drivers/gberet.c
@@ -148,10 +148,10 @@ static WRITE8_HANDLER( mrgoemon_flipscreen_w )
static ADDRESS_MAP_START( gberet_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
- AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(gberet_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(gberet_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xd000, 0xd0ff) AM_RAM AM_BASE(&spriteram_2)
- AM_RANGE(0xd100, 0xd1ff) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(gberet_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(gberet_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xd000, 0xd0ff) AM_RAM AM_BASE_GENERIC(spriteram2)
+ AM_RANGE(0xd100, 0xd1ff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0xd200, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe03f) AM_RAM_WRITE(gberet_scroll_w) AM_BASE(&gberet_scrollram)
AM_RANGE(0xe040, 0xe042) AM_WRITENOP // ???
@@ -169,14 +169,14 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( gberetb_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
- AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(gberet_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(gberet_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(gberet_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(gberet_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0xd000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe03f) AM_RAM
AM_RANGE(0xe040, 0xe043) AM_WRITENOP // ???
AM_RANGE(0xe044, 0xe044) AM_WRITE(gberet_flipscreen_w)
AM_RANGE(0xe800, 0xe8ff) AM_RAM
- AM_RANGE(0xe900, 0xe9ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xe900, 0xe9ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xf000, 0xf000) AM_WRITENOP // coin counter not supported
AM_RANGE(0xf200, 0xf200) AM_READ_PORT("DSW2")
AM_RANGE(0xf400, 0xf400) AM_DEVWRITE("snsnd", sn76496_w)
@@ -190,10 +190,10 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( mrgoemon_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
- AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(gberet_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(gberet_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xd000, 0xd0ff) AM_RAM AM_BASE(&spriteram_2)
- AM_RANGE(0xd100, 0xd1ff) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(gberet_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(gberet_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xd000, 0xd0ff) AM_RAM AM_BASE_GENERIC(spriteram2)
+ AM_RANGE(0xd100, 0xd1ff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0xd200, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe03f) AM_RAM_WRITE(gberet_scroll_w) AM_BASE(&gberet_scrollram)
AM_RANGE(0xe040, 0xe042) AM_WRITENOP // ???
diff --git a/src/mame/drivers/gbusters.c b/src/mame/drivers/gbusters.c
index da0349bad92..469ebf86d1b 100644
--- a/src/mame/drivers/gbusters.c
+++ b/src/mame/drivers/gbusters.c
@@ -37,7 +37,7 @@ static INTERRUPT_GEN( gbusters_interrupt )
static READ8_HANDLER( bankedram_r )
{
if (palette_selected)
- return paletteram[offset];
+ return space->machine->generic.paletteram.u8[offset];
else
return ram[offset];
}
@@ -369,7 +369,7 @@ static MACHINE_RESET( gbusters )
/* mirror address for banked ROM */
memcpy(&RAM[0x18000], &RAM[0x10000], 0x08000 );
- paletteram = &RAM[0x30000];
+ machine->generic.paletteram.u8 = &RAM[0x30000];
}
diff --git a/src/mame/drivers/gcpinbal.c b/src/mame/drivers/gcpinbal.c
index 3e344852507..50d330fa331 100644
--- a/src/mame/drivers/gcpinbal.c
+++ b/src/mame/drivers/gcpinbal.c
@@ -231,8 +231,8 @@ static void gcp_adpcm_int(const device_config *device)
static ADDRESS_MAP_START( gcpinbal_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0xc00000, 0xc03fff) AM_READWRITE(gcpinbal_tilemaps_word_r, gcpinbal_tilemaps_word_w) AM_BASE(&gcpinbal_tilemapram)
- AM_RANGE(0xc80000, 0xc80fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* sprite ram */
- AM_RANGE(0xd00000, 0xd00fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xc80000, 0xc80fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* sprite ram */
+ AM_RANGE(0xd00000, 0xd00fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xd80000, 0xd800ff) AM_READWRITE(ioc_r, ioc_w) AM_BASE(&gcpinbal_ioc_ram)
AM_RANGE(0xff0000, 0xffffff) AM_RAM /* RAM */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/gei.c b/src/mame/drivers/gei.c
index 64d98167096..bb9d1eb28f2 100644
--- a/src/mame/drivers/gei.c
+++ b/src/mame/drivers/gei.c
@@ -91,7 +91,7 @@ static WRITE8_HANDLER( gei_bitmap_w )
static int prevoffset, yadd;
int i;
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
yadd = (offset==prevoffset) ? (yadd+1):0;
prevoffset = offset;
@@ -345,7 +345,7 @@ static ADDRESS_MAP_START( getrivia_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0x8002) AM_WRITE(gei_drawctrl_w)
AM_RANGE(0x8000, 0x9fff) AM_ROM /* space for diagnostic ROM? */
AM_RANGE(0xa000, 0xbfff) AM_ROM
- AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(gei_bitmap_w) AM_BASE(&videoram)
+ AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(gei_bitmap_w) AM_BASE_GENERIC(videoram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( gselect_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -359,7 +359,7 @@ static ADDRESS_MAP_START( gselect_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x4800, 0x4803) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w)
AM_RANGE(0x5000, 0x5003) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w)
AM_RANGE(0x8000, 0x8002) AM_WRITE(gei_drawctrl_w)
- AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(gei_bitmap_w) AM_BASE(&videoram)
+ AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(gei_bitmap_w) AM_BASE_GENERIC(videoram)
ADDRESS_MAP_END
// TODO: where are mapped the lower 0x2000 bytes of the banks?
@@ -376,7 +376,7 @@ static ADDRESS_MAP_START( amuse_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x607e, 0x607e) AM_WRITE(banksel_1_1_w)
AM_RANGE(0x8000, 0x8002) AM_WRITE(gei_drawctrl_w)
AM_RANGE(0x8000, 0xbfff) AM_ROM
- AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(gei_bitmap_w) AM_BASE(&videoram)
+ AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(gei_bitmap_w) AM_BASE_GENERIC(videoram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( gepoker_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -393,7 +393,7 @@ static ADDRESS_MAP_START( gepoker_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0x8002) AM_WRITE(gei_drawctrl_w)
AM_RANGE(0x8000, 0xbfff) AM_ROM /* space for diagnostic ROM? */
AM_RANGE(0xe000, 0xffff) AM_ROM
- AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(gei_bitmap_w) AM_BASE(&videoram)
+ AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(gei_bitmap_w) AM_BASE_GENERIC(videoram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( amuse1_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -410,7 +410,7 @@ static ADDRESS_MAP_START( amuse1_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0x8002) AM_WRITE(gei_drawctrl_w)
AM_RANGE(0x8000, 0xbfff) AM_ROM /* space for diagnostic ROM? */
AM_RANGE(0xe000, 0xffff) AM_ROM
- AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(gei_bitmap_w) AM_BASE(&videoram)
+ AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(gei_bitmap_w) AM_BASE_GENERIC(videoram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( findout_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -430,7 +430,7 @@ static ADDRESS_MAP_START( findout_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x7800, 0x7fff) AM_ROM /*space for diagnostic ROM?*/
AM_RANGE(0x8000, 0xffff) AM_ROMBANK(1)
AM_RANGE(0x8000, 0x8002) AM_WRITE(gei_drawctrl_w)
- AM_RANGE(0xc000, 0xffff) AM_WRITE(gei_bitmap_w) AM_BASE(&videoram)
+ AM_RANGE(0xc000, 0xffff) AM_WRITE(gei_bitmap_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x0000, 0xffff) AM_READ(catchall)
ADDRESS_MAP_END
@@ -445,7 +445,7 @@ static ADDRESS_MAP_START( suprpokr_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0x8002) AM_WRITE(gei_drawctrl_w)
AM_RANGE(0x8000, 0xbfff) AM_ROM /* space for diagnostic ROM? */
AM_RANGE(0xe000, 0xffff) AM_ROM
- AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(gei_bitmap_w) AM_BASE(&videoram)
+ AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(gei_bitmap_w) AM_BASE_GENERIC(videoram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( geimulti_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -458,7 +458,7 @@ static ADDRESS_MAP_START( geimulti_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x6000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8002) AM_WRITE(gei_drawctrl_w)
AM_RANGE(0x8000, 0xffff) AM_ROMBANK(1)
- AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(gei_bitmap_w) AM_BASE(&videoram)
+ AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(gei_bitmap_w) AM_BASE_GENERIC(videoram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sprtauth_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -472,7 +472,7 @@ static ADDRESS_MAP_START( sprtauth_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x6000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8002) AM_WRITE(gei_drawctrl_w)
AM_RANGE(0x8000, 0xffff) AM_ROMBANK(1)
- AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(gei_bitmap_w) AM_BASE(&videoram)
+ AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(gei_bitmap_w) AM_BASE_GENERIC(videoram)
ADDRESS_MAP_END
static INPUT_PORTS_START(reelfun_standard)
diff --git a/src/mame/drivers/gijoe.c b/src/mame/drivers/gijoe.c
index 541f8c8b7a7..08ea9d893ef 100644
--- a/src/mame/drivers/gijoe.c
+++ b/src/mame/drivers/gijoe.c
@@ -124,12 +124,12 @@ static WRITE16_HANDLER( control2_w )
}
}
-static void gijoe_objdma(void)
+static void gijoe_objdma(running_machine *machine)
{
UINT16 *src_head, *src_tail, *dst_head, *dst_tail;
- src_head = spriteram16;
- src_tail = spriteram16 + 255*8;
+ src_head = machine->generic.spriteram.u16;
+ src_tail = machine->generic.spriteram.u16 + 255*8;
K053247_export_config(&dst_head, 0, 0, 0, 0);
dst_tail = dst_head + 255*8;
@@ -161,7 +161,7 @@ static INTERRUPT_GEN( gijoe_interrupt )
if (K053246_is_IRQ_enabled())
{
- gijoe_objdma();
+ gijoe_objdma(device->machine);
// 42.7us(clr) + 341.3us(xfer) delay at 6Mhz dotclock
timer_adjust_oneshot(dmadelay_timer, JOE_DMADELAY, 0);
@@ -205,7 +205,7 @@ static MACHINE_START( gijoe )
static ADDRESS_MAP_START( gijoe_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
- AM_RANGE(0x100000, 0x100fff) AM_RAM AM_BASE(&spriteram16) // Sprites
+ AM_RANGE(0x100000, 0x100fff) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites
AM_RANGE(0x110000, 0x110007) AM_WRITE(K053246_word_w)
AM_RANGE(0x120000, 0x121fff) AM_READWRITE(K056832_ram_word_r, K056832_ram_word_w) // Graphic planes
AM_RANGE(0x122000, 0x123fff) AM_READWRITE(K056832_ram_word_r, K056832_ram_word_w) // Graphic planes mirror read
@@ -213,7 +213,7 @@ static ADDRESS_MAP_START( gijoe_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x160000, 0x160007) AM_WRITE(K056832_b_word_w) // VSCCS (board dependent)
AM_RANGE(0x170000, 0x170001) AM_WRITENOP // Watchdog
AM_RANGE(0x180000, 0x18ffff) AM_RAM AM_BASE(&gijoe_workram) // Main RAM. Spec. 180000-1803ff, 180400-187fff
- AM_RANGE(0x190000, 0x190fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x190000, 0x190fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x1a0000, 0x1a001f) AM_WRITE(K053251_lsb_w)
AM_RANGE(0x1b0000, 0x1b003f) AM_WRITE(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 52113f791db..5c4288407b4 100644
--- a/src/mame/drivers/ginganin.c
+++ b/src/mame/drivers/ginganin.c
@@ -80,8 +80,8 @@ static ADDRESS_MAP_START( ginganin_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x020000, 0x023fff) AM_RAM
AM_RANGE(0x030000, 0x0307ff) AM_RAM_WRITE(ginganin_txtram16_w) AM_BASE(&ginganin_txtram16)
- AM_RANGE(0x040000, 0x0407ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0x050000, 0x0507ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x040000, 0x0407ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x050000, 0x0507ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x060000, 0x06000f) AM_RAM_WRITE(ginganin_vregs16_w) AM_BASE(&ginganin_vregs16)
AM_RANGE(0x068000, 0x06bfff) AM_RAM_WRITE(ginganin_fgram16_w) AM_BASE(&ginganin_fgram16)
AM_RANGE(0x070000, 0x070001) AM_READ_PORT("P1_P2")
diff --git a/src/mame/drivers/gladiatr.c b/src/mame/drivers/gladiatr.c
index cbd17897e4b..2b63eea1687 100644
--- a/src/mame/drivers/gladiatr.c
+++ b/src/mame/drivers/gladiatr.c
@@ -386,9 +386,9 @@ static MACHINE_RESET( ppking )
static ADDRESS_MAP_START( ppking_cpu1_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
- AM_RANGE(0xc000, 0xcbff) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0xc000, 0xcbff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0xcc00, 0xcfff) AM_WRITE(ppking_video_registers_w)
- AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(gladiatr_paletteram_w) AM_BASE(&paletteram)
+ AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(gladiatr_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(gladiatr_videoram_w) AM_BASE(&gladiatr_videoram)
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(gladiatr_colorram_w) AM_BASE(&gladiatr_colorram)
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(gladiatr_textram_w) AM_BASE(&gladiatr_textram)
@@ -424,9 +424,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( gladiatr_cpu1_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0xbfff) AM_ROMBANK(1)
- AM_RANGE(0xc000, 0xcbff) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0xc000, 0xcbff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0xcc00, 0xcfff) AM_WRITE(gladiatr_video_registers_w)
- AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(gladiatr_paletteram_w) AM_BASE(&paletteram)
+ AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(gladiatr_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(gladiatr_videoram_w) AM_BASE(&gladiatr_videoram)
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(gladiatr_colorram_w) AM_BASE(&gladiatr_colorram)
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(gladiatr_textram_w) AM_BASE(&gladiatr_textram)
@@ -1011,9 +1011,9 @@ static DRIVER_INIT( gladiatr )
static READ8_HANDLER(f6a3_r)
{
if(cpu_get_previouspc(space->cpu)==0x8e)
- space->machine->generic.nvram.ptr.u8[0x6a3]=1;
+ space->machine->generic.nvram.u8[0x6a3]=1;
- return space->machine->generic.nvram.ptr.u8[0x6a3];
+ return space->machine->generic.nvram.u8[0x6a3];
}
static DRIVER_INIT(ppking)
diff --git a/src/mame/drivers/glass.c b/src/mame/drivers/glass.c
index ac7dfe79c1d..44b314d7ab7 100644
--- a/src/mame/drivers/glass.c
+++ b/src/mame/drivers/glass.c
@@ -98,7 +98,7 @@ static ADDRESS_MAP_START( glass_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x102000, 0x102fff) AM_RAM /* Extra Video RAM */
AM_RANGE(0x108000, 0x108007) AM_WRITE(SMH_RAM) AM_BASE(&glass_vregs) /* Video Registers */
AM_RANGE(0x108008, 0x108009) AM_WRITE(clr_int_w) /* CLR INT Video */
- AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16) /* Palette */
+ AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) /* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(&glass_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 185da01493d..90b9dd0c22d 100644
--- a/src/mame/drivers/gng.c
+++ b/src/mame/drivers/gng.c
@@ -68,7 +68,7 @@ static MACHINE_START( gng )
static ADDRESS_MAP_START( gng_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1dff) AM_RAM
- AM_RANGE(0x1e00, 0x1fff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x1e00, 0x1fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(gng_fgvideoram_w) AM_BASE(&gng_fgvideoram)
AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(gng_bgvideoram_w) AM_BASE(&gng_bgvideoram)
AM_RANGE(0x3000, 0x3000) AM_READ_PORT("SYSTEM")
@@ -76,8 +76,8 @@ static ADDRESS_MAP_START( gng_map, ADDRESS_SPACE_PROGRAM, 8 )
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(paletteram_RRRRGGGGBBBBxxxx_split2_w) AM_BASE(&paletteram_2)
- AM_RANGE(0x3900, 0x39ff) AM_WRITE(paletteram_RRRRGGGGBBBBxxxx_split1_w) AM_BASE(&paletteram)
+ AM_RANGE(0x3800, 0x38ff) AM_WRITE(paletteram_RRRRGGGGBBBBxxxx_split2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0x3900, 0x39ff) AM_WRITE(paletteram_RRRRGGGGBBBBxxxx_split1_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x3a00, 0x3a00) AM_WRITE(soundlatch_w)
AM_RANGE(0x3b08, 0x3b09) AM_WRITE(gng_bgscrollx_w)
AM_RANGE(0x3b0a, 0x3b0b) AM_WRITE(gng_bgscrolly_w)
diff --git a/src/mame/drivers/go2000.c b/src/mame/drivers/go2000.c
index 31b6867ed0e..446853b1815 100644
--- a/src/mame/drivers/go2000.c
+++ b/src/mame/drivers/go2000.c
@@ -48,7 +48,7 @@ static ADDRESS_MAP_START( go2000_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x200000, 0x203fff) AM_RAM
AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_BASE(&go2000_video)
AM_RANGE(0x610000, 0x61ffff) AM_RAM AM_BASE(&go2000_video2)
- AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(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 d89aef62904..30bf72bf1a7 100644
--- a/src/mame/drivers/goal92.c
+++ b/src/mame/drivers/goal92.c
@@ -66,9 +66,9 @@ static ADDRESS_MAP_START( goal92_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x101000, 0x1017ff) AM_RAM_WRITE(goal92_foreground_w) AM_BASE(&goal92_fore_data)
AM_RANGE(0x101800, 0x101fff) AM_RAM // it has tiles for clouds, but they aren't used
AM_RANGE(0x102000, 0x102fff) AM_RAM_WRITE(goal92_text_w) AM_BASE(&goal92_textram)
- AM_RANGE(0x103000, 0x103fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x103000, 0x103fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x104000, 0x13ffff) AM_RAM
- AM_RANGE(0x140000, 0x1407ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x140000, 0x1407ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x140800, 0x140801) AM_WRITENOP
AM_RANGE(0x140802, 0x140803) AM_WRITENOP
AM_RANGE(0x180000, 0x18000f) AM_READ(goal92_inputs_r)
diff --git a/src/mame/drivers/goindol.c b/src/mame/drivers/goindol.c
index c6da4550fb6..9f498112832 100644
--- a/src/mame/drivers/goindol.c
+++ b/src/mame/drivers/goindol.c
@@ -107,10 +107,10 @@ static ADDRESS_MAP_START( goindol_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc830, 0xc830) AM_READ_PORT("P1")
AM_RANGE(0xc830, 0xd830) AM_WRITE(SMH_RAM) AM_BASE(&goindol_fg_scrollx)
AM_RANGE(0xc834, 0xc834) AM_READ_PORT("P2")
- AM_RANGE(0xd000, 0xd03f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xd000, 0xd03f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xd040, 0xd7ff) AM_RAM
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(goindol_bg_videoram_w) AM_BASE(&goindol_bg_videoram) AM_SIZE(&goindol_bg_videoram_size)
- AM_RANGE(0xe000, 0xe03f) AM_RAM AM_BASE(&spriteram_2)
+ AM_RANGE(0xe000, 0xe03f) AM_RAM AM_BASE_GENERIC(spriteram2)
AM_RANGE(0xe040, 0xe7ff) AM_RAM
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(goindol_fg_videoram_w) AM_BASE(&goindol_fg_videoram) AM_SIZE(&goindol_fg_videoram_size)
AM_RANGE(0xf000, 0xf000) AM_READ_PORT("DSW1")
diff --git a/src/mame/drivers/goldnpkr.c b/src/mame/drivers/goldnpkr.c
index d2e4c326a92..e6e7bda943b 100644
--- a/src/mame/drivers/goldnpkr.c
+++ b/src/mame/drivers/goldnpkr.c
@@ -634,13 +634,13 @@ static tilemap *bg_tilemap;
static WRITE8_HANDLER( goldnpkr_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
static WRITE8_HANDLER( goldnpkr_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -654,8 +654,8 @@ static TILE_GET_INFO( get_bg_tile_info )
xx-- ---- unused.
*/
- int attr = colorram[tile_index];
- int code = ((attr & 1) << 8) | videoram[tile_index];
+ int attr = machine->generic.colorram.u8[tile_index];
+ int code = ((attr & 1) << 8) | machine->generic.videoram.u8[tile_index];
int bank = (attr & 0x02) >> 1; /* bit 1 switch the gfx banks */
int color = (attr & 0x3c) >> 2; /* bits 2-3-4-5 for color */
@@ -898,8 +898,8 @@ static ADDRESS_MAP_START( goldnpkr_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
AM_RANGE(0x0844, 0x0847) AM_DEVREADWRITE("pia0", pia6821_r, pia6821_w)
AM_RANGE(0x0848, 0x084b) AM_DEVREADWRITE("pia1", pia6821_r, pia6821_w)
- AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(goldnpkr_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(goldnpkr_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(goldnpkr_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(goldnpkr_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x4000, 0x7fff) AM_ROM
ADDRESS_MAP_END
@@ -910,8 +910,8 @@ static ADDRESS_MAP_START( pottnpkr_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
AM_RANGE(0x0844, 0x0847) AM_DEVREADWRITE("pia0", pia6821_r, pia6821_w)
AM_RANGE(0x0848, 0x084b) AM_DEVREADWRITE("pia1", pia6821_r, pia6821_w)
- AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(goldnpkr_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(goldnpkr_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(goldnpkr_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(goldnpkr_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x2000, 0x3fff) AM_ROM
ADDRESS_MAP_END
@@ -922,8 +922,8 @@ static ADDRESS_MAP_START( witchcrd_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
AM_RANGE(0x0844, 0x0847) AM_DEVREADWRITE("pia0", pia6821_r, pia6821_w)
AM_RANGE(0x0848, 0x084b) AM_DEVREADWRITE("pia1", pia6821_r, pia6821_w)
- AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(goldnpkr_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(goldnpkr_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(goldnpkr_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(goldnpkr_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x2000, 0x2000) AM_READ_PORT("SW2")
// AM_RANGE(0x2108, 0x210b) AM_NOP /* unknown 40-pin device */
AM_RANGE(0x4000, 0x7fff) AM_ROM
diff --git a/src/mame/drivers/goldstar.c b/src/mame/drivers/goldstar.c
index 28af390210c..e3aef666d11 100644
--- a/src/mame/drivers/goldstar.c
+++ b/src/mame/drivers/goldstar.c
@@ -168,8 +168,8 @@ static ADDRESS_MAP_START( goldstar_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xb7ff) AM_ROM
AM_RANGE(0xb800, 0xbfff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size)
AM_RANGE(0xc000, 0xc7ff) AM_ROM
- AM_RANGE(0xc800, 0xcfff) AM_RAM AM_WRITE(goldstar_fg_vidram_w) AM_BASE(&videoram)
- AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_WRITE(goldstar_fg_atrram_w) AM_BASE(&colorram)
+ AM_RANGE(0xc800, 0xcfff) AM_RAM AM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0xd800, 0xd9ff) AM_RAM AM_WRITE( goldstar_reel1_ram_w ) AM_BASE(&goldstar_reel1_ram)
AM_RANGE(0xe000, 0xe1ff) AM_RAM AM_WRITE( goldstar_reel2_ram_w ) AM_BASE(&goldstar_reel2_ram)
AM_RANGE(0xe800, 0xe9ff) AM_RAM AM_WRITE( goldstar_reel3_ram_w ) AM_BASE(&goldstar_reel3_ram)
@@ -191,7 +191,7 @@ static ADDRESS_MAP_START( goldstar_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xf840, 0xf840) AM_DEVWRITE("aysnd", ay8910_address_w)
AM_RANGE(0xfa00, 0xfa00) AM_WRITE(goldstar_fa00_w)
AM_RANGE(0xfb00, 0xfb00) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
- AM_RANGE(0xfd00, 0xfdff) AM_READWRITE(SMH_RAM,paletteram_BBGGGRRR_w) AM_BASE(&paletteram)
+ AM_RANGE(0xfd00, 0xfdff) AM_READWRITE(SMH_RAM,paletteram_BBGGGRRR_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xfe00, 0xfe00) AM_READWRITE(protection_r,protection_w)
ADDRESS_MAP_END
@@ -211,8 +211,8 @@ static ADDRESS_MAP_START( ncb3_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xb7ff) AM_ROM
AM_RANGE(0xb800, 0xbfff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size)
AM_RANGE(0xc000, 0xc7ff) AM_ROM
- AM_RANGE(0xc800, 0xcfff) AM_RAM AM_WRITE(goldstar_fg_vidram_w) AM_BASE(&videoram)
- AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_WRITE(goldstar_fg_atrram_w) AM_BASE(&colorram)
+ AM_RANGE(0xc800, 0xcfff) AM_RAM AM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0xd800, 0xd9ff) AM_RAM AM_WRITE(goldstar_reel1_ram_w) AM_BASE(&goldstar_reel1_ram)
AM_RANGE(0xe000, 0xe1ff) AM_RAM AM_WRITE(goldstar_reel2_ram_w) AM_BASE(&goldstar_reel2_ram)
AM_RANGE(0xe800, 0xe9ff) AM_RAM AM_WRITE(goldstar_reel3_ram_w) AM_BASE(&goldstar_reel3_ram)
@@ -285,8 +285,8 @@ static ADDRESS_MAP_START( cm_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size)
- AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_WRITE(goldstar_fg_vidram_w) AM_BASE(&videoram)
- AM_RANGE(0xe800, 0xefff) AM_RAM AM_WRITE(goldstar_fg_atrram_w) AM_BASE(&colorram)
+ AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xe800, 0xefff) AM_RAM AM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0xf000, 0xf1ff) AM_RAM AM_WRITE( goldstar_reel1_ram_w ) AM_BASE(&goldstar_reel1_ram)
AM_RANGE(0xf200, 0xf3ff) AM_RAM AM_WRITE( goldstar_reel2_ram_w ) AM_BASE(&goldstar_reel2_ram)
@@ -307,8 +307,8 @@ static ADDRESS_MAP_START( nfm_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd800, 0xdfff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size)
- AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_WRITE(goldstar_fg_vidram_w) AM_BASE(&videoram)
- AM_RANGE(0xe800, 0xefff) AM_RAM AM_WRITE(goldstar_fg_atrram_w) AM_BASE(&colorram)
+ AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xe800, 0xefff) AM_RAM AM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0xf000, 0xf1ff) AM_RAM AM_WRITE( goldstar_reel1_ram_w ) AM_BASE(&goldstar_reel1_ram)
AM_RANGE(0xf200, 0xf3ff) AM_RAM AM_WRITE( goldstar_reel2_ram_w ) AM_BASE(&goldstar_reel2_ram)
@@ -381,8 +381,8 @@ static WRITE8_HANDLER( lucky8_outport_w )
static ADDRESS_MAP_START( lucky8_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size)
- AM_RANGE(0x8800, 0x8fff) AM_RAM AM_WRITE(goldstar_fg_vidram_w) AM_BASE(&videoram)
- AM_RANGE(0x9000, 0x97ff) AM_RAM AM_WRITE(goldstar_fg_atrram_w) AM_BASE(&colorram)
+ AM_RANGE(0x8800, 0x8fff) AM_RAM AM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x9000, 0x97ff) AM_RAM AM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x9800, 0x99ff) AM_RAM AM_WRITE(goldstar_reel1_ram_w) AM_BASE(&goldstar_reel1_ram)
AM_RANGE(0xa000, 0xa1ff) AM_RAM AM_WRITE(goldstar_reel2_ram_w) AM_BASE(&goldstar_reel2_ram)
AM_RANGE(0xa800, 0xa9ff) AM_RAM AM_WRITE(goldstar_reel3_ram_w) AM_BASE(&goldstar_reel3_ram)
@@ -403,8 +403,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( kkojnoli_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM /* definitelly no NVRAM */
- AM_RANGE(0x8800, 0x8fff) AM_RAM AM_WRITE(goldstar_fg_vidram_w) AM_BASE(&videoram)
- AM_RANGE(0x9000, 0x97ff) AM_RAM AM_WRITE(goldstar_fg_atrram_w) AM_BASE(&colorram)
+ AM_RANGE(0x8800, 0x8fff) AM_RAM AM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x9000, 0x97ff) AM_RAM AM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x9800, 0x99ff) AM_RAM AM_WRITE(goldstar_reel1_ram_w) AM_BASE(&goldstar_reel1_ram)
AM_RANGE(0xa000, 0xa1ff) AM_RAM AM_WRITE(goldstar_reel2_ram_w) AM_BASE(&goldstar_reel2_ram)
AM_RANGE(0xa800, 0xa9ff) AM_RAM AM_WRITE(goldstar_reel3_ram_w) AM_BASE(&goldstar_reel3_ram)
@@ -442,8 +442,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( ladylinr_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size)
- AM_RANGE(0x8800, 0x8fff) AM_RAM AM_WRITE(goldstar_fg_vidram_w) AM_BASE(&videoram)
- AM_RANGE(0x9000, 0x97ff) AM_RAM AM_WRITE(goldstar_fg_atrram_w) AM_BASE(&colorram)
+ AM_RANGE(0x8800, 0x8fff) AM_RAM AM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x9000, 0x97ff) AM_RAM AM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x9800, 0x99ff) AM_RAM AM_WRITE(goldstar_reel1_ram_w) AM_BASE(&goldstar_reel1_ram)
AM_RANGE(0xa000, 0xa1ff) AM_RAM AM_WRITE(goldstar_reel2_ram_w) AM_BASE(&goldstar_reel2_ram)
AM_RANGE(0xa800, 0xa9ff) AM_RAM AM_WRITE(goldstar_reel3_ram_w) AM_BASE(&goldstar_reel3_ram)
@@ -463,8 +463,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( wcat3_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size)
- AM_RANGE(0x8800, 0x8fff) AM_RAM AM_WRITE(goldstar_fg_vidram_w) AM_BASE(&videoram)
- AM_RANGE(0x9000, 0x97ff) AM_RAM AM_WRITE(goldstar_fg_atrram_w) AM_BASE(&colorram)
+ AM_RANGE(0x8800, 0x8fff) AM_RAM AM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x9000, 0x97ff) AM_RAM AM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x9800, 0x99ff) AM_RAM AM_WRITE(goldstar_reel1_ram_w) AM_BASE(&goldstar_reel1_ram)
AM_RANGE(0xa000, 0xa1ff) AM_RAM AM_WRITE(goldstar_reel2_ram_w) AM_BASE(&goldstar_reel2_ram)
AM_RANGE(0xa800, 0xa9ff) AM_RAM AM_WRITE(goldstar_reel3_ram_w) AM_BASE(&goldstar_reel3_ram)
@@ -493,15 +493,15 @@ static READ8_HANDLER( unkch_unk_r )
// scrolling is wrong / different
static ADDRESS_MAP_START( unkch_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x9fff) AM_ROM
- AM_RANGE(0xc000, 0xc1ff) AM_READWRITE(SMH_RAM,paletteram_xBBBBBGGGGGRRRRR_split1_w) AM_BASE(&paletteram)
- AM_RANGE(0xc800, 0xc9ff) AM_READWRITE(SMH_RAM,paletteram_xBBBBBGGGGGRRRRR_split2_w) AM_BASE(&paletteram_2)
+ AM_RANGE(0xc000, 0xc1ff) AM_READWRITE(SMH_RAM,paletteram_xBBBBBGGGGGRRRRR_split1_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xc800, 0xc9ff) AM_READWRITE(SMH_RAM,paletteram_xBBBBBGGGGGRRRRR_split2_w) AM_BASE_GENERIC(paletteram2)
AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size)
AM_RANGE(0xd800, 0xdfff) AM_RAM
- AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_WRITE(goldstar_fg_vidram_w) AM_BASE(&videoram)
- AM_RANGE(0xe800, 0xefff) AM_RAM AM_WRITE(goldstar_fg_atrram_w) AM_BASE(&colorram)
+ AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xe800, 0xefff) AM_RAM AM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0xf000, 0xf1ff) AM_RAM AM_WRITE( goldstar_reel1_ram_w ) AM_BASE(&goldstar_reel1_ram)
AM_RANGE(0xf200, 0xf3ff) AM_RAM AM_WRITE( goldstar_reel2_ram_w ) AM_BASE(&goldstar_reel2_ram)
diff --git a/src/mame/drivers/good.c b/src/mame/drivers/good.c
index a441a87bfee..6587c46100c 100644
--- a/src/mame/drivers/good.c
+++ b/src/mame/drivers/good.c
@@ -93,7 +93,7 @@ static ADDRESS_MAP_START( good_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x280002, 0x280003) AM_READ_PORT("IN1")
AM_RANGE(0x280004, 0x280005) AM_READ_PORT("IN2")
- AM_RANGE(0x800000, 0x8007ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x800000, 0x8007ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x820000, 0x820fff) AM_RAM_WRITE(fg_tilemapram_w) AM_BASE(&fg_tilemapram)
AM_RANGE(0x822000, 0x822fff) AM_RAM_WRITE(bg_tilemapram_w) AM_BASE(&bg_tilemapram)
diff --git a/src/mame/drivers/goodejan.c b/src/mame/drivers/goodejan.c
index aa8f1ee1077..4706098fc6c 100644
--- a/src/mame/drivers/goodejan.c
+++ b/src/mame/drivers/goodejan.c
@@ -97,11 +97,11 @@ static ADDRESS_MAP_START( goodejan_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00000, 0x0afff) AM_RAM
AM_RANGE(0x0c000, 0x0c7ff) AM_RAM_WRITE(seibucrtc_sc0vram_w) AM_BASE(&seibucrtc_sc0vram)
AM_RANGE(0x0c800, 0x0cfff) AM_RAM_WRITE(seibucrtc_sc3vram_w) AM_BASE(&seibucrtc_sc3vram)
- AM_RANGE(0x0d000, 0x0dfff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0d000, 0x0dfff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
/*Guess: these two aren't used/initialized at all.*/
AM_RANGE(0x0e000, 0x0e7ff) AM_RAM_WRITE(seibucrtc_sc1vram_w) AM_BASE(&seibucrtc_sc1vram)
AM_RANGE(0x0e800, 0x0efff) AM_RAM_WRITE(seibucrtc_sc2vram_w) AM_BASE(&seibucrtc_sc2vram)
- AM_RANGE(0x0f800, 0x0ffff) AM_RAM AM_BASE(&spriteram16)
+ AM_RANGE(0x0f800, 0x0ffff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0xc0000, 0xfffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/gotcha.c b/src/mame/drivers/gotcha.c
index 9622c47ebb3..7df2bee1835 100644
--- a/src/mame/drivers/gotcha.c
+++ b/src/mame/drivers/gotcha.c
@@ -112,8 +112,8 @@ static ADDRESS_MAP_START( gotcha_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x100002, 0x100003) AM_WRITE(gotcha_lamps_w)
AM_RANGE(0x100004, 0x100005) AM_DEVWRITE("oki", gotcha_oki_bank_w)
AM_RANGE(0x120000, 0x12ffff) AM_RAM
- AM_RANGE(0x140000, 0x1405ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x140000, 0x1405ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x180000, 0x180001) AM_READ_PORT("INPUTS")
AM_RANGE(0x180002, 0x180003) AM_READ_PORT("SYSTEM")
AM_RANGE(0x180004, 0x180005) AM_READ_PORT("DSW")
diff --git a/src/mame/drivers/gottlieb.c b/src/mame/drivers/gottlieb.c
index ce9d241923a..acf602c3e9a 100644
--- a/src/mame/drivers/gottlieb.c
+++ b/src/mame/drivers/gottlieb.c
@@ -715,11 +715,11 @@ static INTERRUPT_GEN( gottlieb_interrupt )
static ADDRESS_MAP_START( reactor_map, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xffff)
AM_RANGE(0x0000, 0x1fff) AM_RAM
- AM_RANGE(0x2000, 0x20ff) AM_MIRROR(0x0f00) AM_WRITEONLY AM_BASE(&spriteram) /* FRSEL */
- AM_RANGE(0x3000, 0x33ff) AM_MIRROR(0x0c00) AM_RAM_WRITE(gottlieb_videoram_w) AM_BASE(&videoram) /* BRSEL */
+ AM_RANGE(0x2000, 0x20ff) AM_MIRROR(0x0f00) AM_WRITEONLY AM_BASE_GENERIC(spriteram) /* FRSEL */
+ AM_RANGE(0x3000, 0x33ff) AM_MIRROR(0x0c00) AM_RAM_WRITE(gottlieb_videoram_w) AM_BASE_GENERIC(videoram) /* BRSEL */
AM_RANGE(0x4000, 0x4fff) AM_RAM_WRITE(gottlieb_charram_w) AM_BASE(&gottlieb_charram) /* BOJRSEL1 */
/* AM_RANGE(0x5000, 0x5fff) AM_WRITE() */ /* BOJRSEL2 */
- AM_RANGE(0x6000, 0x601f) AM_MIRROR(0x0fe0) AM_WRITE(gottlieb_paletteram_w) AM_BASE(&paletteram) /* COLSEL */
+ AM_RANGE(0x6000, 0x601f) AM_MIRROR(0x0fe0) AM_WRITE(gottlieb_paletteram_w) AM_BASE_GENERIC(paletteram) /* COLSEL */
AM_RANGE(0x7000, 0x7000) AM_MIRROR(0x0ff8) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x7001, 0x7001) AM_MIRROR(0x0ff8) AM_WRITE(gottlieb_analog_reset_w) /* A1J2 interface */
AM_RANGE(0x7002, 0x7002) AM_MIRROR(0x0ff8) AM_WRITE(gottlieb_sh_w) /* trackball H */
@@ -738,10 +738,10 @@ static ADDRESS_MAP_START( gottlieb_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
AM_RANGE(0x1000, 0x1fff) AM_RAM AM_REGION("maincpu", 0x1000) /* or ROM */
AM_RANGE(0x2000, 0x2fff) AM_RAM AM_REGION("maincpu", 0x2000) /* or ROM */
- AM_RANGE(0x3000, 0x30ff) AM_MIRROR(0x0700) AM_WRITEONLY AM_BASE(&spriteram) /* FRSEL */
- AM_RANGE(0x3800, 0x3bff) AM_MIRROR(0x0400) AM_RAM_WRITE(gottlieb_videoram_w) AM_BASE(&videoram) /* BRSEL */
+ AM_RANGE(0x3000, 0x30ff) AM_MIRROR(0x0700) AM_WRITEONLY AM_BASE_GENERIC(spriteram) /* FRSEL */
+ AM_RANGE(0x3800, 0x3bff) AM_MIRROR(0x0400) AM_RAM_WRITE(gottlieb_videoram_w) AM_BASE_GENERIC(videoram) /* BRSEL */
AM_RANGE(0x4000, 0x4fff) AM_RAM_WRITE(gottlieb_charram_w) AM_BASE(&gottlieb_charram) /* BOJRSEL1 */
- AM_RANGE(0x5000, 0x501f) AM_MIRROR(0x07e0) AM_WRITE(gottlieb_paletteram_w) AM_BASE(&paletteram) /* COLSEL */
+ AM_RANGE(0x5000, 0x501f) AM_MIRROR(0x07e0) AM_WRITE(gottlieb_paletteram_w) AM_BASE_GENERIC(paletteram) /* COLSEL */
AM_RANGE(0x5800, 0x5800) AM_MIRROR(0x07f8) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x5801, 0x5801) AM_MIRROR(0x07f8) AM_WRITE(gottlieb_analog_reset_w) /* A1J2 interface */
AM_RANGE(0x5802, 0x5802) AM_MIRROR(0x07f8) AM_WRITE(gottlieb_sh_w) /* OP20-27 */
diff --git a/src/mame/drivers/gotya.c b/src/mame/drivers/gotya.c
index c80bcdef529..cb27e16a7a2 100644
--- a/src/mame/drivers/gotya.c
+++ b/src/mame/drivers/gotya.c
@@ -49,10 +49,10 @@ static ADDRESS_MAP_START( gotya_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x6005, 0x6005) AM_WRITE(gotya_soundlatch_w)
AM_RANGE(0x6006, 0x6006) AM_WRITE(SMH_RAM) AM_BASE(&gotya_scroll)
AM_RANGE(0x6007, 0x6007) AM_WRITE(watchdog_reset_w)
- AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(gotya_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(gotya_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(gotya_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(gotya_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0xd000, 0xd3df) AM_RAM AM_BASE(&gotya_videoram2)
- AM_RANGE(0xd3e0, 0xd3ff) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0xd3e0, 0xd3ff) AM_RAM AM_BASE_GENERIC(spriteram)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/gradius3.c b/src/mame/drivers/gradius3.c
index d072804dcbe..2ad6e1c4706 100644
--- a/src/mame/drivers/gradius3.c
+++ b/src/mame/drivers/gradius3.c
@@ -174,7 +174,7 @@ static WRITE8_DEVICE_HANDLER( sound_bank_w )
static ADDRESS_MAP_START( gradius3_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x043fff) AM_RAM
- AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(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/gridlee.c b/src/mame/drivers/gridlee.c
index a7e4e8eddfb..b79baa5e215 100644
--- a/src/mame/drivers/gridlee.c
+++ b/src/mame/drivers/gridlee.c
@@ -312,8 +312,8 @@ static WRITE8_HANDLER( gridlee_coin_counter_w )
/* CPU 1 read addresses */
static ADDRESS_MAP_START( cpu1_map, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE(&spriteram)
- AM_RANGE(0x0800, 0x7fff) AM_RAM_WRITE(gridlee_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_GENERIC(spriteram)
+ AM_RANGE(0x0800, 0x7fff) AM_RAM_WRITE(gridlee_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x9000, 0x9000) AM_WRITE(led_0_w)
AM_RANGE(0x9010, 0x9010) AM_WRITE(led_1_w)
AM_RANGE(0x9020, 0x9020) AM_WRITE(gridlee_coin_counter_w)
diff --git a/src/mame/drivers/groundfx.c b/src/mame/drivers/groundfx.c
index da4f09c1f98..8ba9519e9bc 100644
--- a/src/mame/drivers/groundfx.c
+++ b/src/mame/drivers/groundfx.c
@@ -88,10 +88,10 @@ Extract a standard version of this
static WRITE32_HANDLER( color_ram_w )
{
int a,r,g,b;
- COMBINE_DATA(&paletteram32[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
{
- a = paletteram32[offset];
+ a = space->machine->generic.paletteram.u32[offset];
r = (a &0xff0000) >> 16;
g = (a &0xff00) >> 8;
b = (a &0xff);
@@ -233,7 +233,7 @@ static WRITE32_HANDLER( motor_control_w )
static ADDRESS_MAP_START( groundfx_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x200000, 0x21ffff) AM_RAM AM_BASE(&groundfx_ram) /* main CPUA ram */
- AM_RANGE(0x300000, 0x303fff) AM_RAM AM_BASE(&spriteram32) AM_SIZE(&spriteram_size) /* sprite ram */
+ AM_RANGE(0x300000, 0x303fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* sprite ram */
AM_RANGE(0x400000, 0x400003) AM_WRITE(motor_control_w) /* gun vibration */
AM_RANGE(0x500000, 0x500003) AM_READ_PORT("BUTTONS")
AM_RANGE(0x500004, 0x500007) AM_READ_PORT("SYSTEM")
@@ -244,7 +244,7 @@ static ADDRESS_MAP_START( groundfx_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x830000, 0x83002f) AM_READWRITE(TC0480SCP_ctrl_long_r,TC0480SCP_ctrl_long_w) // debugging
AM_RANGE(0x900000, 0x90ffff) AM_READWRITE(TC0100SCN_long_r,TC0100SCN_long_w) /* piv tilemaps */
AM_RANGE(0x920000, 0x92000f) AM_READWRITE(TC0100SCN_ctrl_long_r,TC0100SCN_ctrl_long_w)
- AM_RANGE(0xa00000, 0xa0ffff) AM_RAM_WRITE(color_ram_w) AM_BASE(&paletteram32) /* palette ram */
+ AM_RANGE(0xa00000, 0xa0ffff) AM_RAM_WRITE(color_ram_w) AM_BASE_GENERIC(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/gstream.c b/src/mame/drivers/gstream.c
index 178d966d877..d2d13f3a6e1 100644
--- a/src/mame/drivers/gstream.c
+++ b/src/mame/drivers/gstream.c
@@ -167,16 +167,16 @@ static CUSTOM_INPUT( gstream_mirror_r )
static WRITE32_HANDLER( gstream_palette_w )
{
- COMBINE_DATA(&paletteram32[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
- palette_set_color_rgb(space->machine,offset*2,pal5bit(paletteram32[offset] >> (0+16)),
- pal5bit(paletteram32[offset] >> (6+16)),
- pal5bit(paletteram32[offset] >> (11+16)));
+ palette_set_color_rgb(space->machine,offset*2,pal5bit(space->machine->generic.paletteram.u32[offset] >> (0+16)),
+ pal5bit(space->machine->generic.paletteram.u32[offset] >> (6+16)),
+ pal5bit(space->machine->generic.paletteram.u32[offset] >> (11+16)));
- palette_set_color_rgb(space->machine,offset*2+1,pal5bit(paletteram32[offset] >> (0)),
- pal5bit(paletteram32[offset] >> (6)),
- pal5bit(paletteram32[offset] >> (11)));
+ palette_set_color_rgb(space->machine,offset*2+1,pal5bit(space->machine->generic.paletteram.u32[offset] >> (0)),
+ pal5bit(space->machine->generic.paletteram.u32[offset] >> (6)),
+ pal5bit(space->machine->generic.paletteram.u32[offset] >> (11)));
}
static WRITE32_HANDLER( gstream_vram_w )
@@ -214,7 +214,7 @@ static ADDRESS_MAP_START( gstream_32bit_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x4E000000, 0x4E1FFFFF) AM_ROM AM_REGION("user2",0) // main game rom
AM_RANGE(0x4F000000, 0x4F000003) AM_WRITE(gstream_tilemap3_scrollx_w)
AM_RANGE(0x4F200000, 0x4F200003) AM_WRITE(gstream_tilemap3_scrolly_w)
- AM_RANGE(0x4F400000, 0x4F406FFF) AM_RAM_WRITE(gstream_palette_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x4F400000, 0x4F406FFF) AM_RAM_WRITE(gstream_palette_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x4F800000, 0x4F800003) AM_WRITE(gstream_tilemap1_scrollx_w)
AM_RANGE(0x4FA00000, 0x4FA00003) AM_WRITE(gstream_tilemap1_scrolly_w)
AM_RANGE(0x4FC00000, 0x4FC00003) AM_WRITE(gstream_tilemap2_scrollx_w)
diff --git a/src/mame/drivers/gstriker.c b/src/mame/drivers/gstriker.c
index 4364c54be3b..9907010005c 100644
--- a/src/mame/drivers/gstriker.c
+++ b/src/mame/drivers/gstriker.c
@@ -291,7 +291,7 @@ static ADDRESS_MAP_START( gstriker_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x140000, 0x141fff) AM_RAM AM_BASE(&CG10103_0_vram)
AM_RANGE(0x180000, 0x180fff) AM_RAM_WRITE(VS920A_0_vram_w) AM_BASE(&VS920A_0_vram)
AM_RANGE(0x181000, 0x181fff) AM_RAM AM_BASE(&gstriker_lineram)
- AM_RANGE(0x1c0000, 0x1c0fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x1c0000, 0x1c0fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x200000, 0x20000f) AM_RAM_WRITE(MB60553_0_regs_w)
AM_RANGE(0x200040, 0x20005f) AM_RAM //AM_BASE(&gs_mixer_regs)
@@ -328,7 +328,7 @@ static ADDRESS_MAP_START( vgoal_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x140000, 0x141fff) AM_RAM AM_BASE(&CG10103_0_vram)
AM_RANGE(0x180000, 0x180fff) AM_RAM_WRITE(VS920A_0_vram_w) AM_BASE(&VS920A_0_vram)
AM_RANGE(0x181000, 0x181fff) AM_RAM AM_BASE(&gstriker_lineram)
- AM_RANGE(0x1c0000, 0x1c4fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x1c0000, 0x1c4fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x200000, 0x20000f) AM_RAM_WRITE(MB60553_0_regs_w)
AM_RANGE(0x200040, 0x20005f) AM_RAM //AM_BASE(&gs_mixer_regs)
diff --git a/src/mame/drivers/gsword.c b/src/mame/drivers/gsword.c
index 0c8a32e461e..1985d8ec980 100644
--- a/src/mame/drivers/gsword.c
+++ b/src/mame/drivers/gsword.c
@@ -374,7 +374,7 @@ static ADDRESS_MAP_START( cpu1_map, ADDRESS_SPACE_PROGRAM , 8 )
AM_RANGE(0xaa80, 0xaa80) AM_WRITE(gsword_videoctrl_w) /* flip screen, char palette bank */
AM_RANGE(0xab00, 0xab00) AM_WRITE(gsword_scroll_w)
AM_RANGE(0xab80, 0xabff) AM_WRITEONLY AM_BASE(&gsword_spriteattrib_ram)
- AM_RANGE(0xb000, 0xb7ff) AM_RAM_WRITE(gsword_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0xb000, 0xb7ff) AM_RAM_WRITE(gsword_videoram_w) AM_BASE_GENERIC(videoram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( cpu1_io_map, ADDRESS_SPACE_IO, 8 )
diff --git a/src/mame/drivers/gticlub.c b/src/mame/drivers/gticlub.c
index 0e65df2f61b..5025a75a4d9 100644
--- a/src/mame/drivers/gticlub.c
+++ b/src/mame/drivers/gticlub.c
@@ -249,8 +249,8 @@ READ32_HANDLER(K001604_reg_r);
static WRITE32_HANDLER( paletteram32_w )
{
- COMBINE_DATA(&paletteram32[offset]);
- data = paletteram32[offset];
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
+ data = space->machine->generic.paletteram.u32[offset];
palette_set_color_rgb(space->machine, offset, pal5bit(data >> 10), pal5bit(data >> 5), pal5bit(data >> 0));
}
@@ -604,7 +604,7 @@ static MACHINE_START( gticlub )
static ADDRESS_MAP_START( gticlub_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x00000000, 0x000fffff) AM_RAM AM_BASE(&work_ram) /* Work RAM */
AM_RANGE(0x74000000, 0x740000ff) AM_READWRITE(K001604_reg_r, K001604_reg_w)
- AM_RANGE(0x74010000, 0x7401ffff) AM_RAM_WRITE(paletteram32_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x74010000, 0x7401ffff) AM_RAM_WRITE(paletteram32_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x74020000, 0x7403ffff) AM_READWRITE(K001604_tile_r, K001604_tile_w)
AM_RANGE(0x74040000, 0x7407ffff) AM_READWRITE(K001604_char_r, K001604_char_w)
AM_RANGE(0x78000000, 0x7800ffff) AM_READWRITE(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 77f564777a4..57a37818d67 100644
--- a/src/mame/drivers/gumbo.c
+++ b/src/mame/drivers/gumbo.c
@@ -56,7 +56,7 @@ VIDEO_UPDATE( gumbo );
static ADDRESS_MAP_START( gumbo_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x083fff) AM_RAM // main ram
- AM_RANGE(0x1b0000, 0x1b03ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x1b0000, 0x1b03ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(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_r, okim6295_w, 0x00ff)
@@ -70,7 +70,7 @@ static ADDRESS_MAP_START( mspuzzle_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM // main ram
AM_RANGE(0x190000, 0x197fff) AM_RAM_WRITE(gumbo_fg_videoram_w) AM_BASE(&gumbo_fg_videoram) // fg tilemap
- AM_RANGE(0x1a0000, 0x1a03ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x1a0000, 0x1a03ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(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_r, okim6295_w, 0x00ff)
@@ -80,7 +80,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( dblpoint_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x083fff) AM_RAM // main ram
- AM_RANGE(0x1b0000, 0x1b03ff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x1b0000, 0x1b03ff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(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_r, okim6295_w, 0x00ff)
diff --git a/src/mame/drivers/gunbustr.c b/src/mame/drivers/gunbustr.c
index 5d93f4db797..0dbd33d6d40 100644
--- a/src/mame/drivers/gunbustr.c
+++ b/src/mame/drivers/gunbustr.c
@@ -76,12 +76,12 @@ static INTERRUPT_GEN( gunbustr_interrupt )
static WRITE32_HANDLER( gunbustr_palette_w )
{
int a;
- COMBINE_DATA(&paletteram32[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
- a = paletteram32[offset] >> 16;
+ a = space->machine->generic.paletteram.u32[offset] >> 16;
palette_set_color_rgb(space->machine,offset*2,pal5bit(a >> 10),pal5bit(a >> 5),pal5bit(a >> 0));
- a = paletteram32[offset] &0xffff;
+ a = space->machine->generic.paletteram.u32[offset] &0xffff;
palette_set_color_rgb(space->machine,offset*2+1,pal5bit(a >> 10),pal5bit(a >> 5),pal5bit(a >> 0));
}
@@ -177,7 +177,7 @@ static WRITE32_HANDLER( gunbustr_gun_w )
static ADDRESS_MAP_START( gunbustr_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x200000, 0x21ffff) AM_RAM AM_BASE(&gunbustr_ram) /* main CPUA ram */
- AM_RANGE(0x300000, 0x301fff) AM_RAM AM_BASE(&spriteram32) AM_SIZE(&spriteram_size) /* Sprite ram */
+ AM_RANGE(0x300000, 0x301fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Sprite ram */
AM_RANGE(0x380000, 0x380003) AM_WRITE(motor_control_w) /* motor, lamps etc. */
AM_RANGE(0x390000, 0x3907ff) AM_RAM AM_BASE(&f3_shared_ram) /* Sound shared ram */
AM_RANGE(0x400000, 0x400003) AM_READ_PORT("P1_P2")
@@ -186,7 +186,7 @@ static ADDRESS_MAP_START( gunbustr_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x500000, 0x500003) AM_READWRITE(gunbustr_gun_r, gunbustr_gun_w) /* gun coord read */
AM_RANGE(0x800000, 0x80ffff) AM_READWRITE(TC0480SCP_long_r, TC0480SCP_long_w)
AM_RANGE(0x830000, 0x83002f) AM_READWRITE(TC0480SCP_ctrl_long_r, TC0480SCP_ctrl_long_w)
- AM_RANGE(0x900000, 0x901fff) AM_RAM_WRITE(gunbustr_palette_w) AM_BASE(&paletteram32) /* Palette ram */
+ AM_RANGE(0x900000, 0x901fff) AM_RAM_WRITE(gunbustr_palette_w) AM_BASE_GENERIC(paletteram) /* Palette ram */
AM_RANGE(0xc00000, 0xc03fff) AM_RAM /* network ram ?? */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/gundealr.c b/src/mame/drivers/gundealr.c
index 53dad053c4e..4ae1727ca53 100644
--- a/src/mame/drivers/gundealr.c
+++ b/src/mame/drivers/gundealr.c
@@ -168,7 +168,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc014, 0xc014) AM_WRITE(gundealr_flipscreen_w)
AM_RANGE(0xc016, 0xc016) AM_WRITE(yamyam_bankswitch_w)
AM_RANGE(0xc020, 0xc023) AM_WRITE(gundealr_fg_scroll_w) /* Gun Dealer only */
- AM_RANGE(0xc400, 0xc7ff) AM_RAM_WRITE(gundealr_paletteram_w) AM_BASE(&paletteram)
+ AM_RANGE(0xc400, 0xc7ff) AM_RAM_WRITE(gundealr_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(gundealr_bg_videoram_w) AM_BASE(&gundealr_bg_videoram)
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(gundealr_fg_videoram_w) AM_BASE(&gundealr_fg_videoram)
AM_RANGE(0xe000, 0xffff) AM_RAM AM_BASE(&rambase)
diff --git a/src/mame/drivers/gunsmoke.c b/src/mame/drivers/gunsmoke.c
index ed15c57471c..ef5a25e324c 100644
--- a/src/mame/drivers/gunsmoke.c
+++ b/src/mame/drivers/gunsmoke.c
@@ -121,13 +121,13 @@ static ADDRESS_MAP_START( gunsmoke_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc800, 0xc800) AM_WRITE(soundlatch_w)
AM_RANGE(0xc804, 0xc804) AM_WRITE(gunsmoke_c804_w) // ROM bank switch, screen flip
AM_RANGE(0xc806, 0xc806) AM_WRITE(watchdog_reset_w)
- AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(gunsmoke_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE(gunsmoke_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(gunsmoke_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE(gunsmoke_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0xd800, 0xd801) AM_RAM AM_BASE(&gunsmoke_scrollx)
AM_RANGE(0xd802, 0xd802) AM_RAM AM_BASE(&gunsmoke_scrolly)
AM_RANGE(0xd806, 0xd806) AM_WRITE(gunsmoke_d806_w) // sprites and bg enable
AM_RANGE(0xe000, 0xefff) AM_RAM
- AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
diff --git a/src/mame/drivers/halleys.c b/src/mame/drivers/halleys.c
index 4237fb78e32..b68e0e15ca4 100644
--- a/src/mame/drivers/halleys.c
+++ b/src/mame/drivers/halleys.c
@@ -1115,7 +1115,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 = paletteram;
+ sram_189 = machine->generic.paletteram.u8;
// each of the three 32-byte 6330 PROM is wired to an RGB component output
prom_6330 = memory_region(machine, "proms");
@@ -1151,7 +1151,7 @@ static WRITE8_HANDLER( halleys_paletteram_IIRRGGBB_w )
UINT32 d, r, g, b, i, j;
UINT32 *pal_ptr = internal_palette;
- paletteram[offset] = data;
+ space->machine->generic.paletteram.u8[offset] = data;
d = (UINT32)data;
j = d | BG_RGB;
pal_ptr[offset] = j;
@@ -1643,7 +1643,7 @@ static ADDRESS_MAP_START( halleys_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xff9c, 0xff9c) AM_WRITE(firq_ack_w)
AM_RANGE(0xff00, 0xffbf) AM_RAM AM_BASE(&io_ram) AM_SIZE(&io_ramsize) // I/O write fall-through
- AM_RANGE(0xffc0, 0xffdf) AM_RAM_WRITE(halleys_paletteram_IIRRGGBB_w) AM_BASE(&paletteram)
+ AM_RANGE(0xffc0, 0xffdf) AM_RAM_WRITE(halleys_paletteram_IIRRGGBB_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xffe0, 0xffff) AM_READ(vector_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/hanaawas.c b/src/mame/drivers/hanaawas.c
index e6600d21582..9a18792af12 100644
--- a/src/mame/drivers/hanaawas.c
+++ b/src/mame/drivers/hanaawas.c
@@ -82,8 +82,8 @@ static ADDRESS_MAP_START( hanaawas_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x4000, 0x4fff) AM_ROM
AM_RANGE(0x6000, 0x6fff) AM_ROM
- AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(hanaawas_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(hanaawas_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(hanaawas_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(hanaawas_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x8800, 0x8bff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/hcastle.c b/src/mame/drivers/hcastle.c
index 3e486f2a8ef..8c0a0c17460 100644
--- a/src/mame/drivers/hcastle.c
+++ b/src/mame/drivers/hcastle.c
@@ -65,12 +65,12 @@ static ADDRESS_MAP_START( hcastle_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0414, 0x0414) AM_READ_PORT("DSW1")
AM_RANGE(0x0415, 0x0415) AM_READ_PORT("DSW2")
AM_RANGE(0x0418, 0x0418) AM_READWRITE(hcastle_gfxbank_r, hcastle_gfxbank_w)
- AM_RANGE(0x0600, 0x06ff) AM_RAM AM_BASE(&paletteram)
+ AM_RANGE(0x0600, 0x06ff) AM_RAM AM_BASE_GENERIC(paletteram)
AM_RANGE(0x0700, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x2fff) AM_RAM_WRITE(hcastle_pf1_video_w) AM_BASE(&hcastle_pf1_videoram)
- AM_RANGE(0x3000, 0x3fff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x3000, 0x3fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x4000, 0x4fff) AM_RAM_WRITE(hcastle_pf2_video_w) AM_BASE(&hcastle_pf2_videoram)
- AM_RANGE(0x5000, 0x5fff) AM_RAM AM_BASE(&spriteram_2) AM_SIZE(&spriteram_2_size)
+ AM_RANGE(0x5000, 0x5fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram2)
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK(1)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/hexa.c b/src/mame/drivers/hexa.c
index 627604f5711..6a8cf659454 100644
--- a/src/mame/drivers/hexa.c
+++ b/src/mame/drivers/hexa.c
@@ -60,7 +60,7 @@ static ADDRESS_MAP_START( hexa_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd000, 0xd001) AM_DEVWRITE("aysnd", ay8910_address_data_w)
AM_RANGE(0xd008, 0xd008) AM_WRITE(hexa_d008_w)
AM_RANGE(0xd010, 0xd010) AM_WRITE(watchdog_reset_w) /* or IRQ acknowledge, or both */
- AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(hexa_videoram_w) AM_BASE_MEMBER(hexa_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(hexa_videoram_w) AM_BASE_MEMBER(hexa_state, videoram) AM_SIZE_GENERIC(videoram)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/higemaru.c b/src/mame/drivers/higemaru.c
index d606562854e..fd034cca2a0 100644
--- a/src/mame/drivers/higemaru.c
+++ b/src/mame/drivers/higemaru.c
@@ -44,9 +44,9 @@ static ADDRESS_MAP_START( higemaru_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc800, 0xc800) AM_WRITE(higemaru_c800_w)
AM_RANGE(0xc801, 0xc802) AM_DEVWRITE("ay1", ay8910_address_data_w)
AM_RANGE(0xc803, 0xc804) AM_DEVWRITE("ay2", ay8910_address_data_w)
- AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(higemaru_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE(higemaru_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0xd880, 0xd9ff) AM_RAM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(higemaru_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE(higemaru_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xd880, 0xd9ff) AM_RAM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xe000, 0xefff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/highvdeo.c b/src/mame/drivers/highvdeo.c
index 3b359ea804c..4194041d102 100644
--- a/src/mame/drivers/highvdeo.c
+++ b/src/mame/drivers/highvdeo.c
@@ -314,9 +314,9 @@ static WRITE16_HANDLER( tv_tcf_paletteram_w )
{
int r, g, b, color;
- COMBINE_DATA(&paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
- color = paletteram16[offset];
+ color = space->machine->generic.paletteram.u16[offset];
r = (color >> 8) & 0xf8;
g = (color >> 3) & 0xf8;
b = (color << 3) & 0xf8;
@@ -339,7 +339,7 @@ static ADDRESS_MAP_START( tv_tcf_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00000, 0x003ff) AM_RAM /*irq vector area*/
AM_RANGE(0x00400, 0x03fff) AM_RAM AM_BASE_SIZE_GENERIC( nvram )
AM_RANGE(0x40000, 0x5d4bf) AM_RAM AM_BASE(&blit_ram) /*blitter ram*/
- AM_RANGE(0x7fe00, 0x7ffff) AM_RAM_WRITE( tv_tcf_paletteram_w ) AM_BASE(&paletteram16)
+ AM_RANGE(0x7fe00, 0x7ffff) AM_RAM_WRITE( tv_tcf_paletteram_w ) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x80000, 0xbffff) AM_ROMBANK(1)
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 7c066df12d0..1293036345e 100644
--- a/src/mame/drivers/himesiki.c
+++ b/src/mame/drivers/himesiki.c
@@ -118,8 +118,8 @@ static WRITE8_HANDLER( himesiki_sound_w )
static ADDRESS_MAP_START( himesiki_prm0, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_RAM
- AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0xa800, 0xafff) AM_RAM AM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE(&paletteram)
+ AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0xa800, 0xafff) AM_RAM AM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xb000, 0xbfff) AM_RAM AM_WRITE(himesiki_bg_ram_w) AM_BASE(&himesiki_bg_ram)
AM_RANGE(0xc000, 0xffff) AM_ROMBANK(1)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/hitpoker.c b/src/mame/drivers/hitpoker.c
index 6f620c8afdf..b39b85b3ab5 100644
--- a/src/mame/drivers/hitpoker.c
+++ b/src/mame/drivers/hitpoker.c
@@ -54,9 +54,9 @@ static UINT8 hitpoker_pic_data;
static VIDEO_START(hitpoker)
{
- videoram = auto_alloc_array(machine, UINT8, 0x35ff);
- paletteram = auto_alloc_array(machine, UINT8, 0x1000);
- colorram = auto_alloc_array(machine, UINT8, 0x2000);
+ machine->generic.videoram.u8 = auto_alloc_array(machine, UINT8, 0x35ff);
+ machine->generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x1000);
+ machine->generic.colorram.u8 = auto_alloc_array(machine, UINT8, 0x2000);
}
static VIDEO_UPDATE(hitpoker)
@@ -72,9 +72,9 @@ static VIDEO_UPDATE(hitpoker)
{
int tile,color,gfx_bpp;
- tile = (((videoram[count]<<8)|(videoram[count+1])) & 0x3fff);
- gfx_bpp = (colorram[count] & 0x80)>>7; //flag between 4 and 8 bpp
- color = gfx_bpp ? ((colorram[count] & 0x70)>>4) : (colorram[count] & 0xf);
+ tile = (((screen->machine->generic.videoram.u8[count]<<8)|(screen->machine->generic.videoram.u8[count+1])) & 0x3fff);
+ gfx_bpp = (screen->machine->generic.colorram.u8[count] & 0x80)>>7; //flag between 4 and 8 bpp
+ color = gfx_bpp ? ((screen->machine->generic.colorram.u8[count] & 0x70)>>4) : (screen->machine->generic.colorram.u8[count] & 0xf);
drawgfx_opaque(bitmap,cliprect,screen->machine->gfx[gfx_bpp],tile,color,0,0,x*8,y*8);
@@ -90,7 +90,7 @@ static READ8_HANDLER( hitpoker_vram_r )
UINT8 *ROM = memory_region(space->machine, "maincpu");
if(hitpoker_pic_data & 0x10)
- return videoram[offset];
+ return space->machine->generic.videoram.u8[offset];
else
return ROM[offset+0x8000];
}
@@ -100,7 +100,7 @@ static WRITE8_HANDLER( hitpoker_vram_w )
// UINT8 *ROM = memory_region(space->machine, "maincpu");
// if(hitpoker_sys_regs[0x00] & 0x10)
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
}
static READ8_HANDLER( hitpoker_cram_r )
@@ -108,14 +108,14 @@ static READ8_HANDLER( hitpoker_cram_r )
UINT8 *ROM = memory_region(space->machine, "maincpu");
if(hitpoker_pic_data & 0x10)
- return colorram[offset];
+ return space->machine->generic.colorram.u8[offset];
else
return ROM[offset+0xc000];
}
static WRITE8_HANDLER( hitpoker_cram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
}
static READ8_HANDLER( hitpoker_paletteram_r )
@@ -123,7 +123,7 @@ static READ8_HANDLER( hitpoker_paletteram_r )
UINT8 *ROM = memory_region(space->machine, "maincpu");
if(hitpoker_pic_data & 0x10)
- return paletteram[offset];
+ return space->machine->generic.paletteram.u8[offset];
else
return ROM[offset+0xe000];
}
@@ -131,9 +131,9 @@ static READ8_HANDLER( hitpoker_paletteram_r )
static WRITE8_HANDLER( hitpoker_paletteram_w )
{
int r,g,b,datax;
- paletteram[offset] = data;
+ space->machine->generic.paletteram.u8[offset] = data;
offset>>=1;
- datax=256*paletteram[offset*2]+paletteram[offset*2+1];
+ datax=256*space->machine->generic.paletteram.u8[offset*2]+space->machine->generic.paletteram.u8[offset*2+1];
/* RGB565 */
b = ((datax)&0xf800)>>11;
diff --git a/src/mame/drivers/hng64.c b/src/mame/drivers/hng64.c
index 41daa371dc8..0a0d9b01983 100644
--- a/src/mame/drivers/hng64.c
+++ b/src/mame/drivers/hng64.c
@@ -555,12 +555,12 @@ static READ32_HANDLER( hng64_com_share_r )
static WRITE32_HANDLER( hng64_pal_w )
{
int r,g,b,a;
- COMBINE_DATA(&paletteram32[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
- b = ((paletteram32[offset] & 0x000000ff) >>0);
- g = ((paletteram32[offset] & 0x0000ff00) >>8);
- r = ((paletteram32[offset] & 0x00ff0000) >>16);
- a = ((paletteram32[offset] & 0xff000000) >>24);
+ b = ((space->machine->generic.paletteram.u32[offset] & 0x000000ff) >>0);
+ g = ((space->machine->generic.paletteram.u32[offset] & 0x0000ff00) >>8);
+ r = ((space->machine->generic.paletteram.u32[offset] & 0x00ff0000) >>16);
+ a = ((space->machine->generic.paletteram.u32[offset] & 0xff000000) >>24);
// a sure ain't alpha.
// mame_printf_debug("Alpha : %d %d %d %d\n", a, b, g, r) ;
@@ -1044,7 +1044,7 @@ static ADDRESS_MAP_START( hng_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x20010000, 0x20010013) AM_RAM AM_BASE(&hng64_spriteregs) // Sprites Registers
AM_RANGE(0x20100000, 0x2017ffff) AM_RAM_WRITE(hng64_videoram_w) AM_BASE(&hng64_videoram) // Tilemap
AM_RANGE(0x20190000, 0x20190037) AM_RAM AM_BASE(&hng64_videoregs) // Video Registers
- AM_RANGE(0x20200000, 0x20203fff) AM_RAM_WRITE(hng64_pal_w) AM_BASE(&paletteram32) // Palette
+ AM_RANGE(0x20200000, 0x20203fff) AM_RAM_WRITE(hng64_pal_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE(0x20208000, 0x2020805f) AM_READWRITE(tcram_r, tcram_w) AM_BASE(&hng64_tcram) // Transition Control
AM_RANGE(0x20300000, 0x203001ff) AM_RAM_WRITE(dl_w) AM_BASE(&hng64_dl) // 3d Display List
AM_RANGE(0x20300214, 0x20300217) AM_WRITE(dl_control_w)
diff --git a/src/mame/drivers/holeland.c b/src/mame/drivers/holeland.c
index 8d84f098d4c..44aa77bcd03 100644
--- a/src/mame/drivers/holeland.c
+++ b/src/mame/drivers/holeland.c
@@ -33,17 +33,17 @@ static ADDRESS_MAP_START( holeland_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xa000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc001) AM_WRITE(holeland_pal_offs_w)
AM_RANGE(0xc006, 0xc007) AM_WRITE(holeland_flipscreen_w)
- AM_RANGE(0xe000, 0xe3ff) AM_WRITE(holeland_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0xe400, 0xe7ff) AM_WRITE(holeland_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0xf000, 0xf3ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xe000, 0xe3ff) AM_WRITE(holeland_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xe400, 0xe7ff) AM_WRITE(holeland_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0xf000, 0xf3ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( crzrally_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
- AM_RANGE(0xe000, 0xe3ff) AM_WRITE(holeland_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0xe400, 0xe7ff) AM_WRITE(holeland_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0xe800, 0xebff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xe000, 0xe3ff) AM_WRITE(holeland_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xe400, 0xe7ff) AM_WRITE(holeland_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0xe800, 0xebff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xf000, 0xf000) AM_WRITE(holeland_scroll_w)
AM_RANGE(0xf800, 0xf801) AM_WRITE(holeland_pal_offs_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/homedata.c b/src/mame/drivers/homedata.c
index 696bd0a34c1..a6eea54112f 100644
--- a/src/mame/drivers/homedata.c
+++ b/src/mame/drivers/homedata.c
@@ -565,7 +565,7 @@ static WRITE8_HANDLER( bankswitch_w )
static ADDRESS_MAP_START( mrokumei_map, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x3fff) AM_RAM_WRITE(mrokumei_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x0000, 0x3fff) AM_RAM_WRITE(mrokumei_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x4000, 0x5fff) AM_RAM
AM_RANGE(0x6000, 0x6fff) AM_RAM /* work ram */
AM_RANGE(0x7000, 0x77ff) AM_RAM /* hourouki expects this to act as RAM */
@@ -599,7 +599,7 @@ ADDRESS_MAP_END
/********************************************************************************/
static ADDRESS_MAP_START( reikaids_map, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x3fff) AM_RAM_WRITE(reikaids_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x0000, 0x3fff) AM_RAM_WRITE(reikaids_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x4000, 0x5fff) AM_RAM
AM_RANGE(0x6000, 0x6fff) AM_RAM /* work RAM */
AM_RANGE(0x7800, 0x7800) AM_RAM /* behaves as normal RAM */
@@ -633,7 +633,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( pteacher_map, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x3fff) AM_RAM_WRITE(pteacher_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x0000, 0x3fff) AM_RAM_WRITE(pteacher_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x4000, 0x5eff) AM_RAM
AM_RANGE(0x5f00, 0x5fff) AM_RAM
AM_RANGE(0x6000, 0x6fff) AM_RAM /* work ram */
diff --git a/src/mame/drivers/homerun.c b/src/mame/drivers/homerun.c
index a5227a10ba3..68c021ba239 100644
--- a/src/mame/drivers/homerun.c
+++ b/src/mame/drivers/homerun.c
@@ -81,7 +81,7 @@ static ADDRESS_MAP_START( homerun_memmap, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_READ(SMH_BANK(1))
AM_RANGE(0x8000, 0x9fff) AM_RAM_WRITE(homerun_videoram_w) AM_BASE(&homerun_videoram)
- AM_RANGE(0xa000, 0xa0ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xa000, 0xa0ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xb000, 0xb0ff) AM_WRITE(homerun_color_w)
AM_RANGE(0xc000, 0xdfff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/hvyunit.c b/src/mame/drivers/hvyunit.c
index 40b627f3534..3c273852b5e 100644
--- a/src/mame/drivers/hvyunit.c
+++ b/src/mame/drivers/hvyunit.c
@@ -276,8 +276,8 @@ static READ8_HANDLER( mermaid_status_r )
static TILE_GET_INFO( get_bg_tile_info )
{
- int attr = colorram[tile_index];
- int code = videoram[tile_index] + ((attr & 0x0f) << 8);
+ int attr = machine->generic.colorram.u8[tile_index];
+ int code = machine->generic.videoram.u8[tile_index] + ((attr & 0x0f) << 8);
int color = (attr >> 4);
SET_TILE_INFO(1, code, color, 0);
@@ -336,13 +336,13 @@ static WRITE8_HANDLER( master_bankswitch_w )
static WRITE8_HANDLER( hu_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
static WRITE8_HANDLER( hu_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -385,10 +385,10 @@ static WRITE8_HANDLER( hu_scrolly_w)
static ADDRESS_MAP_START( slave_memory, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(2)
- AM_RANGE(0xc000, 0xc3ff) AM_RAM_WRITE(hu_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xc400, 0xc7ff) AM_RAM_WRITE(hu_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0xd000, 0xd1ff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_split2_w) AM_BASE(&paletteram_2)
- AM_RANGE(0xd800, 0xd9ff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_split1_w) AM_BASE(&paletteram)
+ AM_RANGE(0xc000, 0xc3ff) AM_RAM_WRITE(hu_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xc400, 0xc7ff) AM_RAM_WRITE(hu_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xd000, 0xd1ff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_split2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0xd800, 0xd9ff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_split1_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xd000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xefff) AM_RAM AM_SHARE(1)
AM_RANGE(0xf000, 0xffff) AM_RAM
diff --git a/src/mame/drivers/hyperspt.c b/src/mame/drivers/hyperspt.c
index d802acdaa77..eb212a6b0d5 100644
--- a/src/mame/drivers/hyperspt.c
+++ b/src/mame/drivers/hyperspt.c
@@ -53,7 +53,7 @@ static NVRAM_HANDLER( hyperspt )
static ADDRESS_MAP_START( hyperspt_map, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x1000, 0x10bf) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x1000, 0x10bf) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x10c0, 0x10ff) AM_RAM AM_BASE(&hyperspt_scroll) /* Scroll amount */
AM_RANGE(0x1400, 0x1400) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x1480, 0x1480) AM_WRITE(hyperspt_flipscreen_w)
@@ -66,15 +66,15 @@ static ADDRESS_MAP_START( hyperspt_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1681, 0x1681) AM_READ_PORT("P1_P2")
AM_RANGE(0x1682, 0x1682) AM_READ_PORT("P3_P4")
AM_RANGE(0x1683, 0x1683) AM_READ_PORT("DSW1")
- AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(hyperspt_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(hyperspt_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(hyperspt_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(hyperspt_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x3000, 0x37ff) AM_RAM
AM_RANGE(0x3800, 0x3fff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size)
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( roadf_map, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x1000, 0x10bf) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x1000, 0x10bf) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x10c0, 0x10ff) AM_RAM AM_BASE(&hyperspt_scroll) /* Scroll amount */
AM_RANGE(0x1400, 0x1400) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x1480, 0x1480) AM_WRITE(hyperspt_flipscreen_w)
@@ -87,8 +87,8 @@ static ADDRESS_MAP_START( roadf_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1681, 0x1681) AM_READ_PORT("P1")
AM_RANGE(0x1682, 0x1682) AM_READ_PORT("P2")
AM_RANGE(0x1683, 0x1683) AM_READ_PORT("DSW1")
- AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(hyperspt_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(hyperspt_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(hyperspt_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(hyperspt_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x3000, 0x37ff) AM_RAM
AM_RANGE(0x3800, 0x3fff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size)
AM_RANGE(0x4000, 0xffff) AM_ROM
diff --git a/src/mame/drivers/hyprduel.c b/src/mame/drivers/hyprduel.c
index 8166f89c9b0..623d8b86991 100644
--- a/src/mame/drivers/hyprduel.c
+++ b/src/mame/drivers/hyprduel.c
@@ -432,8 +432,8 @@ static ADDRESS_MAP_START( hyprduel_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x420000, 0x43ffff) AM_RAM_WRITE(hyprduel_vram_1_w) AM_BASE(&hyprduel_vram_1) /* Layer 1 */
AM_RANGE(0x440000, 0x45ffff) AM_RAM_WRITE(hyprduel_vram_2_w) AM_BASE(&hyprduel_vram_2) /* Layer 2 */
AM_RANGE(0x460000, 0x46ffff) AM_READ(hyprduel_bankedrom_r) /* Banked ROM */
- AM_RANGE(0x470000, 0x473fff) AM_RAM AM_WRITE(hyprduel_paletteram_w) AM_BASE(&paletteram16) /* Palette */
- AM_RANGE(0x474000, 0x474fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* Sprites */
+ AM_RANGE(0x470000, 0x473fff) AM_RAM AM_WRITE(hyprduel_paletteram_w) AM_BASE_GENERIC(paletteram) /* Palette */
+ AM_RANGE(0x474000, 0x474fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Sprites */
AM_RANGE(0x475000, 0x477fff) AM_RAM /* only used memory test */
AM_RANGE(0x478000, 0x4787ff) AM_RAM AM_BASE(&hyprduel_tiletable) AM_SIZE(&hyprduel_tiletable_size) /* Tiles Set */
AM_RANGE(0x478840, 0x47884d) AM_WRITE(hyprduel_blitter_w) AM_BASE(&hyprduel_blitter_regs) /* Tiles Blitter */
@@ -479,8 +479,8 @@ static ADDRESS_MAP_START( magerror_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x820000, 0x83ffff) AM_RAM_WRITE(hyprduel_vram_1_w) AM_BASE(&hyprduel_vram_1) /* Layer 1 */
AM_RANGE(0x840000, 0x85ffff) AM_RAM_WRITE(hyprduel_vram_2_w) AM_BASE(&hyprduel_vram_2) /* Layer 2 */
AM_RANGE(0x860000, 0x86ffff) AM_READ(hyprduel_bankedrom_r) /* Banked ROM */
- AM_RANGE(0x870000, 0x873fff) AM_RAM AM_WRITE(hyprduel_paletteram_w) AM_BASE(&paletteram16) /* Palette */
- AM_RANGE(0x874000, 0x874fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size ) /* Sprites */
+ AM_RANGE(0x870000, 0x873fff) AM_RAM AM_WRITE(hyprduel_paletteram_w) AM_BASE_GENERIC(paletteram) /* Palette */
+ AM_RANGE(0x874000, 0x874fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Sprites */
AM_RANGE(0x875000, 0x877fff) AM_RAM /* only used memory test */
AM_RANGE(0x878000, 0x8787ff) AM_RAM AM_BASE(&hyprduel_tiletable) AM_SIZE(&hyprduel_tiletable_size) /* Tiles Set */
AM_RANGE(0x878840, 0x87884d) AM_WRITE(hyprduel_blitter_w) AM_BASE(&hyprduel_blitter_regs) /* Tiles Blitter */
diff --git a/src/mame/drivers/igs009.c b/src/mame/drivers/igs009.c
index 47af8aeef1b..e4c756cba1e 100644
--- a/src/mame/drivers/igs009.c
+++ b/src/mame/drivers/igs009.c
@@ -417,8 +417,8 @@ static ADDRESS_MAP_START( jingbell_portmap, ADDRESS_SPACE_IO, 8 )
AM_RANGE( 0x1000, 0x11ff ) AM_RAM_WRITE( bg_scroll_w ) AM_BASE( &bg_scroll )
- AM_RANGE( 0x2000, 0x23ff ) AM_RAM_WRITE( paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_BASE( &paletteram )
- AM_RANGE( 0x2400, 0x27ff ) AM_RAM_WRITE( paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_BASE( &paletteram_2 )
+ AM_RANGE( 0x2000, 0x23ff ) AM_RAM_WRITE( paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_BASE_GENERIC( paletteram )
+ AM_RANGE( 0x2400, 0x27ff ) AM_RAM_WRITE( paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_BASE_GENERIC( paletteram2 )
AM_RANGE( 0x3000, 0x33ff ) AM_RAM_WRITE( gp98_reel1_ram_w ) AM_BASE( &gp98_reel1_ram )
AM_RANGE( 0x3400, 0x37ff ) AM_RAM_WRITE( gp98_reel2_ram_w ) AM_BASE( &gp98_reel2_ram )
diff --git a/src/mame/drivers/igs011.c b/src/mame/drivers/igs011.c
index e73706c03ae..577768c5721 100644
--- a/src/mame/drivers/igs011.c
+++ b/src/mame/drivers/igs011.c
@@ -219,9 +219,9 @@ static WRITE16_HANDLER( igs011_palette )
{
int rgb;
- COMBINE_DATA(&paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
- rgb = (paletteram16[offset & 0x7ff] & 0xff) | ((paletteram16[offset | 0x800] & 0xff) << 8);
+ rgb = (space->machine->generic.paletteram.u16[offset & 0x7ff] & 0xff) | ((space->machine->generic.paletteram.u16[offset | 0x800] & 0xff) << 8);
palette_set_color_rgb(space->machine,offset & 0x7ff,pal5bit(rgb >> 0),pal5bit(rgb >> 5),pal5bit(rgb >> 10));
}
@@ -1194,7 +1194,7 @@ static ADDRESS_MAP_START( drgnwrld, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE( 0x000000, 0x07ffff ) AM_ROM
AM_RANGE( 0x100000, 0x103fff ) AM_RAM AM_BASE_SIZE_GENERIC( nvram )
AM_RANGE( 0x200000, 0x200fff ) AM_RAM AM_BASE( &igs011_priority_ram )
- AM_RANGE( 0x400000, 0x401fff ) AM_RAM_WRITE( igs011_palette ) AM_BASE( &paletteram16 )
+ AM_RANGE( 0x400000, 0x401fff ) AM_RAM_WRITE( igs011_palette ) AM_BASE_GENERIC( paletteram )
AM_RANGE( 0x500000, 0x500001 ) AM_READ_PORT( "COIN" )
AM_RANGE( 0x600000, 0x600001 ) AM_DEVREADWRITE8( "oki", okim6295_r, okim6295_w, 0x00ff )
AM_RANGE( 0x700000, 0x700003 ) AM_DEVWRITE8( "ymsnd", ym3812_w, 0x00ff )
@@ -1223,7 +1223,7 @@ static ADDRESS_MAP_START( lhb2, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE( 0x208000, 0x208003 ) AM_WRITE( lhb2_magic_w )
AM_RANGE( 0x208002, 0x208003 ) AM_READ ( lhb2_magic_r )
AM_RANGE( 0x20c000, 0x20cfff ) AM_RAM AM_BASE(&igs011_priority_ram)
- AM_RANGE( 0x210000, 0x211fff ) AM_RAM_WRITE( igs011_palette ) AM_BASE( &paletteram16 )
+ AM_RANGE( 0x210000, 0x211fff ) AM_RAM_WRITE( igs011_palette ) AM_BASE_GENERIC( 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 )
@@ -1246,7 +1246,7 @@ static ADDRESS_MAP_START( wlcc, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE( 0x100000, 0x103fff ) AM_RAM AM_BASE_SIZE_GENERIC( nvram )
AM_RANGE( 0x200000, 0x200fff ) AM_RAM AM_BASE( &igs011_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( &paletteram16 )
+ AM_RANGE( 0x400000, 0x401fff ) AM_RAM_WRITE( igs011_palette ) AM_BASE_GENERIC( paletteram )
AM_RANGE( 0x520000, 0x520001 ) AM_READ_PORT( "COIN" )
AM_RANGE( 0x600000, 0x600001 ) AM_DEVREADWRITE8( "oki", okim6295_r, okim6295_w, 0x00ff )
AM_RANGE( 0x800000, 0x800003 ) AM_WRITE( wlcc_magic_w )
@@ -1279,7 +1279,7 @@ static ADDRESS_MAP_START( lhb, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE( 0x100000, 0x103fff ) AM_RAM AM_BASE_SIZE_GENERIC( nvram )
AM_RANGE( 0x200000, 0x200fff ) AM_RAM AM_BASE( &igs011_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( &paletteram16 )
+ AM_RANGE( 0x400000, 0x401fff ) AM_RAM_WRITE( igs011_palette ) AM_BASE_GENERIC( paletteram )
AM_RANGE( 0x600000, 0x600001 ) AM_DEVREADWRITE8( "oki", okim6295_r, okim6295_w, 0x00ff )
AM_RANGE( 0x700000, 0x700001 ) AM_READ_PORT( "COIN" )
AM_RANGE( 0x700002, 0x700005 ) AM_READ ( lhb_inputs_r )
@@ -1360,7 +1360,7 @@ static ADDRESS_MAP_START( vbowl, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE( 0x100000, 0x103fff ) AM_RAM AM_BASE_SIZE_GENERIC( nvram )
AM_RANGE( 0x200000, 0x200fff ) AM_RAM AM_BASE( &igs011_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( &paletteram16 )
+ AM_RANGE( 0x400000, 0x401fff ) AM_RAM_WRITE( igs011_palette ) AM_BASE_GENERIC( paletteram )
AM_RANGE( 0x520000, 0x520001 ) AM_READ_PORT( "COIN" )
AM_RANGE( 0x600000, 0x600007 ) AM_DEVREADWRITE( "ics", ics2115_word_r, ics2115_word_w )
AM_RANGE( 0x700000, 0x700003 ) AM_RAM AM_BASE( &vbowl_trackball )
@@ -1399,7 +1399,7 @@ static ADDRESS_MAP_START( xymg, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE( 0x100000, 0x103fff ) AM_RAM
AM_RANGE( 0x200000, 0x200fff ) AM_RAM AM_BASE( &igs011_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( &paletteram16 )
+ AM_RANGE( 0x400000, 0x401fff ) AM_RAM_WRITE( igs011_palette ) AM_BASE_GENERIC( paletteram )
AM_RANGE( 0x600000, 0x600001 ) AM_DEVREADWRITE8( "oki", okim6295_r, okim6295_w, 0x00ff )
AM_RANGE( 0x700000, 0x700003 ) AM_WRITE( xymg_magic_w )
AM_RANGE( 0x700002, 0x700003 ) AM_READ ( xymg_magic_r )
diff --git a/src/mame/drivers/igs017.c b/src/mame/drivers/igs017.c
index 95764d8f555..f2f3096bdcd 100644
--- a/src/mame/drivers/igs017.c
+++ b/src/mame/drivers/igs017.c
@@ -128,12 +128,12 @@ static WRITE16_HANDLER( bg_lsb_w )
static READ16_HANDLER( spriteram_lsb_r )
{
- return spriteram[offset];
+ return space->machine->generic.spriteram.u8[offset];
}
static WRITE16_HANDLER( spriteram_lsb_w )
{
if (ACCESSING_BITS_0_7)
- spriteram[offset] = data;
+ space->machine->generic.spriteram.u8[offset] = data;
}
@@ -228,8 +228,8 @@ static void draw_sprite(running_machine *machine, bitmap_t *bitmap,const rectang
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
- UINT8 *s = spriteram;
- UINT8 *end = spriteram + 0x800;
+ UINT8 *s = machine->generic.spriteram.u8;
+ UINT8 *end = machine->generic.spriteram.u8 + 0x800;
for ( ; s < end; s += 8 )
{
@@ -1093,8 +1093,8 @@ static READ8_HANDLER( input_r )
static ADDRESS_MAP_START( iqblocka_io, ADDRESS_SPACE_IO, 8 )
AM_RANGE( 0x0000, 0x003f ) AM_RAM // internal regs
- AM_RANGE( 0x1000, 0x17ff ) AM_RAM AM_BASE( &spriteram )
- AM_RANGE( 0x1800, 0x1bff ) AM_READWRITE( SMH_RAM, paletteram_xRRRRRGGGGGBBBBB_le_w ) AM_BASE(&paletteram)
+ AM_RANGE( 0x1000, 0x17ff ) AM_RAM AM_BASE_GENERIC( spriteram )
+ AM_RANGE( 0x1800, 0x1bff ) AM_READWRITE( SMH_RAM, paletteram_xRRRRRGGGGGBBBBB_le_w ) AM_BASE_GENERIC(paletteram)
AM_RANGE( 0x1c00, 0x1fff ) AM_RAM
// AM_RANGE(0x200a, 0x200a) AM_WRITENOP
@@ -1209,9 +1209,9 @@ static WRITE16_HANDLER( mgcs_paletteram_xRRRRRGGGGGBBBBB_w )
{
int rgb;
- COMBINE_DATA(&paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
- rgb = ((paletteram16[offset/2*2+0] & 0xff) << 8) | (paletteram16[offset/2*2+1] & 0xff);
+ rgb = ((space->machine->generic.paletteram.u16[offset/2*2+0] & 0xff) << 8) | (space->machine->generic.paletteram.u16[offset/2*2+1] & 0xff);
// bitswap
rgb = BITSWAP16(rgb,7,8,9,2,14,3,13,15,12,11,10,0,1,4,5,6);
@@ -1224,8 +1224,8 @@ static ADDRESS_MAP_START( mgcs, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE( 0x300000, 0x303fff ) AM_RAM
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( (UINT16**)&spriteram )
- AM_RANGE( 0xa03000, 0xa037ff ) AM_RAM_WRITE( mgcs_paletteram_xRRRRRGGGGGBBBBB_w ) AM_BASE( &paletteram16 )
+ AM_RANGE( 0xa02000, 0xa02fff ) AM_READWRITE( spriteram_lsb_r, spriteram_lsb_w ) AM_BASE_GENERIC( spriteram )
+ AM_RANGE( 0xa03000, 0xa037ff ) AM_RAM_WRITE( mgcs_paletteram_xRRRRRGGGGGBBBBB_w ) AM_BASE_GENERIC( paletteram )
AM_RANGE( 0xa04020, 0xa04027 ) AM_DEVREAD8( "ppi8255", ppi8255_r, 0x00ff )
AM_RANGE( 0xa04024, 0xa04025 ) AM_WRITE( video_disable_lsb_w )
AM_RANGE( 0xa04028, 0xa04029 ) AM_WRITE( irq2_enable_w )
@@ -1243,9 +1243,9 @@ static WRITE16_HANDLER( sdmg2_paletteram_xRRRRRGGGGGBBBBB_w )
{
int rgb;
- COMBINE_DATA(&paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
- rgb = ((paletteram16[offset/2*2+1] & 0xff) << 8) | (paletteram16[offset/2*2+0] & 0xff);
+ rgb = ((space->machine->generic.paletteram.u16[offset/2*2+1] & 0xff) << 8) | (space->machine->generic.paletteram.u16[offset/2*2+0] & 0xff);
palette_set_color_rgb(space->machine, offset/2, pal5bit(rgb >> 0), pal5bit(rgb >> 5), pal5bit(rgb >> 10));
}
@@ -1321,8 +1321,8 @@ static READ16_HANDLER( sdmg2_magic_r )
static ADDRESS_MAP_START( sdmg2, ADDRESS_SPACE_PROGRAM, 16 )
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( (UINT16**)&spriteram )
- AM_RANGE(0x203000, 0x2037ff) AM_RAM_WRITE( sdmg2_paletteram_xRRRRRGGGGGBBBBB_w ) AM_BASE( &paletteram16 )
+ AM_RANGE(0x202000, 0x202fff) AM_READWRITE( spriteram_lsb_r, spriteram_lsb_w ) AM_BASE_GENERIC( spriteram )
+ AM_RANGE(0x203000, 0x2037ff) AM_RAM_WRITE( sdmg2_paletteram_xRRRRRGGGGGBBBBB_w ) AM_BASE_GENERIC( paletteram )
AM_RANGE(0x204020, 0x204027) AM_DEVREAD8( "ppi8255", ppi8255_r, 0x00ff )
AM_RANGE(0x204024, 0x204025) AM_WRITE( video_disable_lsb_w )
AM_RANGE(0x204028, 0x204029) AM_WRITE( irq2_enable_w )
@@ -1429,8 +1429,8 @@ static ADDRESS_MAP_START( mgdh_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x600000, 0x603fff) AM_RAM
AM_RANGE(0x876000, 0x876003) AM_WRITE( mgdh_magic_w )
AM_RANGE(0x876002, 0x876003) AM_READ ( mgdh_magic_r )
- AM_RANGE(0xa02000, 0xa02fff) AM_READWRITE( spriteram_lsb_r, spriteram_lsb_w ) AM_BASE( (UINT16**)&spriteram )
- AM_RANGE(0xa03000, 0xa037ff) AM_RAM_WRITE( sdmg2_paletteram_xRRRRRGGGGGBBBBB_w ) AM_BASE( &paletteram16 )
+ AM_RANGE(0xa02000, 0xa02fff) AM_READWRITE( spriteram_lsb_r, spriteram_lsb_w ) AM_BASE_GENERIC( spriteram )
+ AM_RANGE(0xa03000, 0xa037ff) AM_RAM_WRITE( sdmg2_paletteram_xRRRRRGGGGGBBBBB_w ) AM_BASE_GENERIC( paletteram )
AM_RANGE(0xa04020, 0xa04027) AM_DEVREAD8( "ppi8255", ppi8255_r, 0x00ff )
AM_RANGE(0xa04024, 0xa04025) AM_WRITE( video_disable_lsb_w )
AM_RANGE(0xa04028, 0xa04029) AM_WRITE( irq2_enable_w )
diff --git a/src/mame/drivers/igs_m027.c b/src/mame/drivers/igs_m027.c
index 42deb655e92..e081fb8ab6f 100644
--- a/src/mame/drivers/igs_m027.c
+++ b/src/mame/drivers/igs_m027.c
@@ -121,10 +121,10 @@ static TILE_GET_INFO( get_bg_tilemap_tile_info )
/* Pallete Layer */
static WRITE32_HANDLER( igs_pallete32_w )
{
- paletteram16=(UINT16 *)igs_pallete32;
+ space->machine->generic.paletteram.u16=(UINT16 *)igs_pallete32;
COMBINE_DATA(&igs_pallete32[offset]);
- //paletteram16_xGGGGGRRRRRBBBBB_word_w(offset*2,paletteram16[offset*2],0);
- //paletteram16_xGGGGGRRRRRBBBBB_word_w(offset*2+1,paletteram16[offset*2+1],0);
+ //paletteram16_xGGGGGRRRRRBBBBB_word_w(offset*2,space->machine->generic.paletteram.u16[offset*2],0);
+ //paletteram16_xGGGGGRRRRRBBBBB_word_w(offset*2+1,space->machine->generic.paletteram.u16[offset*2+1],0);
//if(data!=0)
//fprintf(stdout,"PALLETE RAM OFFSET %x ,data %x!\n",offset ,igs_pallete32[offset]);
}
diff --git a/src/mame/drivers/igspoker.c b/src/mame/drivers/igspoker.c
index dd03691a30b..4942e4e0883 100644
--- a/src/mame/drivers/igspoker.c
+++ b/src/mame/drivers/igspoker.c
@@ -299,8 +299,8 @@ static ADDRESS_MAP_START( igspoker_prg_map, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_END
static ADDRESS_MAP_START( igspoker_io_map, ADDRESS_SPACE_IO, 8 )
- AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE( paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_BASE( &paletteram )
- AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE( paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_BASE( &paletteram_2 )
+ AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE( paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_BASE_GENERIC( paletteram )
+ AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE( paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_BASE_GENERIC( 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 */
@@ -907,8 +907,8 @@ INPUT_PORTS_END
static ADDRESS_MAP_START( number10_io_map, ADDRESS_SPACE_IO, 8 )
- AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE( paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_BASE( &paletteram )
- AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE( paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_BASE( &paletteram_2 )
+ AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE( paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_BASE_GENERIC( paletteram )
+ AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE( paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_BASE_GENERIC( 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 */
@@ -930,8 +930,8 @@ static ADDRESS_MAP_START( number10_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_END
static ADDRESS_MAP_START( cpokerpk_io_map, ADDRESS_SPACE_IO, 8 )
- AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE( paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_BASE( &paletteram )
- AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE( paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_BASE( &paletteram_2 )
+ AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE( paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_BASE_GENERIC( paletteram )
+ AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE( paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_BASE_GENERIC( 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/ikki.c b/src/mame/drivers/ikki.c
index 0c17e5b74f0..48c151a8bbc 100644
--- a/src/mame/drivers/ikki.c
+++ b/src/mame/drivers/ikki.c
@@ -46,7 +46,7 @@ static ADDRESS_MAP_START( ikki_cpu1, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xcfff) AM_RAM AM_SHARE(1)
- AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0xe000, 0xe000) AM_READ(ikki_e000_r)
AM_RANGE(0xe001, 0xe001) AM_READ_PORT("DSW1")
AM_RANGE(0xe002, 0xe002) AM_READ_PORT("DSW2")
@@ -60,7 +60,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( ikki_cpu2, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_ROM
- AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xc800, 0xcfff) AM_RAM AM_SHARE(1)
AM_RANGE(0xd801, 0xd801) AM_DEVWRITE("sn1", sn76496_w)
AM_RANGE(0xd802, 0xd802) AM_DEVWRITE("sn2", sn76496_w)
diff --git a/src/mame/drivers/ilpag.c b/src/mame/drivers/ilpag.c
index 2215098cd9a..ea91e7a66a1 100644
--- a/src/mame/drivers/ilpag.c
+++ b/src/mame/drivers/ilpag.c
@@ -468,19 +468,19 @@ static TIMER_DEVICE_CALLBACK( steaser_mcu_sim )
{
// static int i;
/*first off, signal the "MCU is running" flag*/
- timer->machine->generic.nvram.ptr.u16[0x932/2] = 0xffff;
+ timer->machine->generic.nvram.u16[0x932/2] = 0xffff;
/*clear the inputs (they are impulsed)*/
// for(i=0;i<8;i+=2)
-// timer->machine->generic.nvram.ptr.u16[((0x8a0)+i)/2] = 0;
+// timer->machine->generic.nvram.u16[((0x8a0)+i)/2] = 0;
/*finally, read the inputs*/
- timer->machine->generic.nvram.ptr.u16[0x89e/2] = input_port_read(timer->machine, "MENU") & 0xffff;
- timer->machine->generic.nvram.ptr.u16[0x8a0/2] = input_port_read(timer->machine, "STAT") & 0xffff;
- timer->machine->generic.nvram.ptr.u16[0x8a2/2] = input_port_read(timer->machine, "BET_DEAL") & 0xffff;
- timer->machine->generic.nvram.ptr.u16[0x8a4/2] = input_port_read(timer->machine, "TAKE_DOUBLE") & 0xffff;
- timer->machine->generic.nvram.ptr.u16[0x8a6/2] = input_port_read(timer->machine, "SMALL_BIG") & 0xffff;
- timer->machine->generic.nvram.ptr.u16[0x8a8/2] = input_port_read(timer->machine, "CANCEL_HOLD1") & 0xffff;
- timer->machine->generic.nvram.ptr.u16[0x8aa/2] = input_port_read(timer->machine, "HOLD2_HOLD3") & 0xffff;
- timer->machine->generic.nvram.ptr.u16[0x8ac/2] = input_port_read(timer->machine, "HOLD4_HOLD5") & 0xffff;
+ timer->machine->generic.nvram.u16[0x89e/2] = input_port_read(timer->machine, "MENU") & 0xffff;
+ timer->machine->generic.nvram.u16[0x8a0/2] = input_port_read(timer->machine, "STAT") & 0xffff;
+ timer->machine->generic.nvram.u16[0x8a2/2] = input_port_read(timer->machine, "BET_DEAL") & 0xffff;
+ timer->machine->generic.nvram.u16[0x8a4/2] = input_port_read(timer->machine, "TAKE_DOUBLE") & 0xffff;
+ timer->machine->generic.nvram.u16[0x8a6/2] = input_port_read(timer->machine, "SMALL_BIG") & 0xffff;
+ timer->machine->generic.nvram.u16[0x8a8/2] = input_port_read(timer->machine, "CANCEL_HOLD1") & 0xffff;
+ timer->machine->generic.nvram.u16[0x8aa/2] = input_port_read(timer->machine, "HOLD2_HOLD3") & 0xffff;
+ timer->machine->generic.nvram.u16[0x8ac/2] = input_port_read(timer->machine, "HOLD4_HOLD5") & 0xffff;
}
/* TODO: remove this hack.*/
diff --git a/src/mame/drivers/inufuku.c b/src/mame/drivers/inufuku.c
index aed3d94a8b6..7265affd0f7 100644
--- a/src/mame/drivers/inufuku.c
+++ b/src/mame/drivers/inufuku.c
@@ -182,7 +182,7 @@ static ADDRESS_MAP_START( inufuku_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x200000, 0x200001) AM_WRITE(inufuku_eeprom_w) // eeprom
AM_RANGE(0x280000, 0x280001) AM_WRITE(inufuku_soundcommand_w) // sound command
- AM_RANGE(0x300000, 0x301fff) AM_RAM_WRITE(paletteram16_xGGGGGBBBBBRRRRR_word_w) AM_BASE(&paletteram16) // palette ram
+ AM_RANGE(0x300000, 0x301fff) AM_RAM_WRITE(paletteram16_xGGGGGBBBBBRRRRR_word_w) AM_BASE_GENERIC(paletteram) // palette ram
AM_RANGE(0x380000, 0x3801ff) AM_WRITE(SMH_RAM) AM_BASE(&inufuku_bg_rasterram) // bg raster ram
AM_RANGE(0x400000, 0x401fff) AM_READWRITE(inufuku_bg_videoram_r, inufuku_bg_videoram_w) AM_BASE(&inufuku_bg_videoram) // bg ram
AM_RANGE(0x402000, 0x403fff) AM_READWRITE(inufuku_text_videoram_r, inufuku_text_videoram_w) AM_BASE(&inufuku_text_videoram) // text ram
diff --git a/src/mame/drivers/iqblock.c b/src/mame/drivers/iqblock.c
index 5c8ef270361..4e13b999635 100644
--- a/src/mame/drivers/iqblock.c
+++ b/src/mame/drivers/iqblock.c
@@ -437,8 +437,8 @@ static DRIVER_INIT( iqblock )
}
/* initialize pointers for I/O mapped RAM */
- paletteram = rom + 0x12000;
- paletteram_2 = rom + 0x12800;
+ machine->generic.paletteram.u8 = rom + 0x12000;
+ machine->generic.paletteram2.u8 = rom + 0x12800;
iqblock_fgvideoram = rom + 0x16800;
iqblock_bgvideoram = rom + 0x17000;
memory_install_write8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xfe26, 0xfe26, 0, 0, iqblock_prot_w);
@@ -459,8 +459,8 @@ static DRIVER_INIT( grndtour )
}
/* initialize pointers for I/O mapped RAM */
- paletteram = rom + 0x12000;
- paletteram_2 = rom + 0x12800;
+ machine->generic.paletteram.u8 = rom + 0x12000;
+ machine->generic.paletteram2.u8 = rom + 0x12800;
iqblock_fgvideoram = rom + 0x16800;
iqblock_bgvideoram = rom + 0x17000;
memory_install_write8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xfe39, 0xfe39, 0, 0, grndtour_prot_w);
diff --git a/src/mame/drivers/irobot.c b/src/mame/drivers/irobot.c
index 2694092f18b..5131164c3cd 100644
--- a/src/mame/drivers/irobot.c
+++ b/src/mame/drivers/irobot.c
@@ -89,7 +89,7 @@
static WRITE8_HANDLER( irobot_nvram_w )
{
- space->machine->generic.nvram.ptr.u8[offset] = data & 0x0f;
+ space->machine->generic.nvram.u8[offset] = data & 0x0f;
}
@@ -137,7 +137,7 @@ static ADDRESS_MAP_START( irobot_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1900, 0x19ff) AM_WRITE(SMH_RAM) /* Watchdog reset */
AM_RANGE(0x1a00, 0x1a00) AM_WRITE(irobot_clearfirq_w)
AM_RANGE(0x1b00, 0x1bff) AM_WRITE(irobot_control_w)
- AM_RANGE(0x1c00, 0x1fff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x1c00, 0x1fff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x2000, 0x3fff) AM_READWRITE(irobot_sharedmem_r, irobot_sharedmem_w)
AM_RANGE(0x4000, 0x5fff) AM_ROMBANK(1)
AM_RANGE(0x6000, 0xffff) AM_ROM
diff --git a/src/mame/drivers/ironhors.c b/src/mame/drivers/ironhors.c
index 12d3f215c87..0f4bf4732bf 100644
--- a/src/mame/drivers/ironhors.c
+++ b/src/mame/drivers/ironhors.c
@@ -74,12 +74,12 @@ static ADDRESS_MAP_START( master_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1800, 0x1800) AM_WRITENOP // ???
AM_RANGE(0x1a00, 0x1a01) AM_WRITENOP // ???
AM_RANGE(0x1c00, 0x1dff) AM_WRITENOP // ???
- AM_RANGE(0x2000, 0x23ff) AM_RAM_WRITE(ironhors_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0x2400, 0x27ff) AM_RAM_WRITE(ironhors_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x2000, 0x23ff) AM_RAM_WRITE(ironhors_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x2400, 0x27ff) AM_RAM_WRITE(ironhors_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x2800, 0x2fff) AM_RAM
- AM_RANGE(0x3000, 0x30ff) AM_RAM AM_BASE(&spriteram_2)
+ AM_RANGE(0x3000, 0x30ff) AM_RAM AM_BASE_GENERIC(spriteram2)
AM_RANGE(0x3100, 0x37ff) AM_RAM
- AM_RANGE(0x3800, 0x38ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x3800, 0x38ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x3900, 0x3fff) AM_RAM
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -119,12 +119,12 @@ static ADDRESS_MAP_START( farwest_master_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1a02, 0x1a02) AM_WRITE(ironhors_palettebank_w)
AM_RANGE(0x0000, 0x1bff) AM_ROM
// AM_RANGE(0x1c00, 0x1fff) AM_RAM
- AM_RANGE(0x2000, 0x23ff) AM_RAM_WRITE(ironhors_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0x2400, 0x27ff) AM_RAM_WRITE(ironhors_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x2000, 0x23ff) AM_RAM_WRITE(ironhors_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x2400, 0x27ff) AM_RAM_WRITE(ironhors_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x2800, 0x2fff) AM_RAM
- AM_RANGE(0x1c00, 0x1dff) AM_RAM AM_BASE(&spriteram_2)
+ AM_RANGE(0x1c00, 0x1dff) AM_RAM AM_BASE_GENERIC(spriteram2)
AM_RANGE(0x3000, 0x38ff) AM_RAM
- AM_RANGE(0x1e00, 0x1eff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x1e00, 0x1eff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x3900, 0x3fff) AM_RAM
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/itech32.c b/src/mame/drivers/itech32.c
index a1fcf616268..6d08268cc88 100644
--- a/src/mame/drivers/itech32.c
+++ b/src/mame/drivers/itech32.c
@@ -961,7 +961,7 @@ static ADDRESS_MAP_START( timekill_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x078000, 0x078001) AM_WRITE(sound_data_w)
AM_RANGE(0x080000, 0x08007f) AM_READWRITE(itech32_video_r, itech32_video_w) AM_BASE(&itech32_video)
AM_RANGE(0x0a0000, 0x0a0001) AM_WRITE(int1_ack_w)
- AM_RANGE(0x0c0000, 0x0c7fff) AM_RAM_WRITE(timekill_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0c0000, 0x0c7fff) AM_RAM_WRITE(timekill_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x100000, 0x17ffff) AM_ROM AM_REGION("user1", 0) AM_BASE(&main_rom)
ADDRESS_MAP_END
@@ -979,7 +979,7 @@ static ADDRESS_MAP_START( bloodstm_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x400000, 0x400001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x480000, 0x480001) AM_WRITE(sound_data_w)
AM_RANGE(0x500000, 0x5000ff) AM_READWRITE(bloodstm_video_r, bloodstm_video_w) AM_BASE(&itech32_video)
- AM_RANGE(0x580000, 0x59ffff) AM_RAM_WRITE(bloodstm_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x580000, 0x59ffff) AM_RAM_WRITE(bloodstm_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x700000, 0x700001) AM_WRITE(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(&main_rom)
@@ -1044,7 +1044,7 @@ AM_RANGE(0x000c00, 0x007fff) AM_MIRROR(0x40000) AM_READWRITE(test2_r, test2_w)
AM_RANGE(0x08e000, 0x08e003) AM_READ_PORT("8e000") AM_WRITENOP
AM_RANGE(0x100000, 0x10000f) AM_WRITE(drivedge_zbuf_control_w) AM_BASE(&drivedge_zbuf_control)
AM_RANGE(0x180000, 0x180003) AM_WRITE(drivedge_color0_w)
- AM_RANGE(0x1a0000, 0x1bffff) AM_RAM_WRITE(drivedge_paletteram_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x1a0000, 0x1bffff) AM_RAM_WRITE(drivedge_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x1c0000, 0x1c0003) AM_WRITENOP
AM_RANGE(0x1e0000, 0x1e0113) AM_READWRITE(itech020_video_r, itech020_video_w) AM_BASE((UINT32 **)&itech32_video)
AM_RANGE(0x1e4000, 0x1e4003) AM_WRITE(tms_reset_assert_w)
@@ -1082,7 +1082,7 @@ static ADDRESS_MAP_START( itech020_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x480000, 0x480003) AM_WRITE(sound_data32_w)
AM_RANGE(0x500000, 0x5000ff) AM_READWRITE(itech020_video_r, itech020_video_w) AM_BASE((UINT32 **)&itech32_video)
AM_RANGE(0x578000, 0x57ffff) AM_READNOP /* touched by protection */
- AM_RANGE(0x580000, 0x59ffff) AM_RAM_WRITE(itech020_paletteram_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x580000, 0x59ffff) AM_RAM_WRITE(itech020_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x600000, 0x603fff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size)
/* ? */ AM_RANGE(0x61ff00, 0x61ffff) AM_WRITENOP /* Unknown Writes */
AM_RANGE(0x680000, 0x680003) AM_READWRITE(itech020_prot_result_r, SMH_NOP)
diff --git a/src/mame/drivers/jack.c b/src/mame/drivers/jack.c
index 4d734210c54..f30f6242fb0 100644
--- a/src/mame/drivers/jack.c
+++ b/src/mame/drivers/jack.c
@@ -141,7 +141,7 @@ static READ8_HANDLER( striv_question_r )
static ADDRESS_MAP_START( jack_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x5fff) AM_RAM
- AM_RANGE(0xb000, 0xb07f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xb000, 0xb07f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xb400, 0xb400) AM_WRITE(jack_sh_command_w)
AM_RANGE(0xb500, 0xb500) AM_READ_PORT("DSW1")
AM_RANGE(0xb501, 0xb501) AM_READ_PORT("DSW2")
@@ -150,16 +150,16 @@ static ADDRESS_MAP_START( jack_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xb504, 0xb504) AM_READ_PORT("IN2")
AM_RANGE(0xb505, 0xb505) AM_READ_PORT("IN3")
AM_RANGE(0xb506, 0xb507) AM_READWRITE(jack_flipscreen_r, jack_flipscreen_w)
- AM_RANGE(0xb600, 0xb61f) AM_WRITE(jack_paletteram_w) AM_BASE(&paletteram)
- AM_RANGE(0xb800, 0xbbff) AM_RAM_WRITE(jack_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xbc00, 0xbfff) AM_RAM_WRITE(jack_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0xb600, 0xb61f) AM_WRITE(jack_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xb800, 0xbbff) AM_RAM_WRITE(jack_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xbc00, 0xbfff) AM_RAM_WRITE(jack_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0xc000, 0xffff) AM_ROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( joinem_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM
- AM_RANGE(0xb000, 0xb0ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xb000, 0xb0ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xb400, 0xb400) AM_WRITE(jack_sh_command_w)
AM_RANGE(0xb500, 0xb500) AM_READ_PORT("DSW1")
AM_RANGE(0xb501, 0xb501) AM_READ_PORT("DSW2")
@@ -168,8 +168,8 @@ static ADDRESS_MAP_START( joinem_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xb504, 0xb504) AM_READ_PORT("IN2")
AM_RANGE(0xb506, 0xb507) AM_READWRITE(jack_flipscreen_r, jack_flipscreen_w)
AM_RANGE(0xb700, 0xb700) AM_WRITE(joinem_misc_w)
- AM_RANGE(0xb800, 0xbbff) AM_RAM_WRITE(jack_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xbc00, 0xbfff) AM_RAM_WRITE(jack_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0xb800, 0xbbff) AM_RAM_WRITE(jack_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xbc00, 0xbfff) AM_RAM_WRITE(jack_colorram_w) AM_BASE_GENERIC(colorram)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/jackal.c b/src/mame/drivers/jackal.c
index 9b56591e611..4bb19fea494 100644
--- a/src/mame/drivers/jackal.c
+++ b/src/mame/drivers/jackal.c
@@ -118,7 +118,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( slave_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x2000, 0x2001) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
- AM_RANGE(0x4000, 0x43ff) AM_RAM_WRITE(SMH_RAM) AM_BASE(&paletteram) // self test only checks 0x4000-0x423f, 007327 should actually go up to 4fff
+ AM_RANGE(0x4000, 0x43ff) AM_RAM_WRITE(SMH_RAM) AM_BASE_GENERIC(paletteram) // self test only checks 0x4000-0x423f, 007327 should actually go up to 4fff
AM_RANGE(0x6000, 0x605f) AM_RAM // SOUND RAM (Self test check 0x6000-605f, 0x7c00-0x7fff)
AM_RANGE(0x6060, 0x7fff) AM_RAM AM_SHARE(1)
AM_RANGE(0x8000, 0xffff) AM_ROM
diff --git a/src/mame/drivers/jackie.c b/src/mame/drivers/jackie.c
index 3dbe76f596a..8e03703e2b1 100644
--- a/src/mame/drivers/jackie.c
+++ b/src/mame/drivers/jackie.c
@@ -284,8 +284,8 @@ static ADDRESS_MAP_START( jackie_io_map, ADDRESS_SPACE_IO, 8 )
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( &bg_scroll2 )
- AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE( paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_BASE( &paletteram )
- AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE( paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_BASE( &paletteram_2 )
+ AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE( paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_BASE_GENERIC( paletteram )
+ AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE( paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_BASE_GENERIC( 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 9780b80b157..03be7108c1b 100644
--- a/src/mame/drivers/jackpool.c
+++ b/src/mame/drivers/jackpool.c
@@ -163,7 +163,7 @@ static ADDRESS_MAP_START( jackpool_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x340000, 0x347fff) AM_RAM AM_BASE(&jackpool_vram)
AM_RANGE(0x348000, 0x34ffff) AM_RAM //<- vram banks 2 & 3?
- AM_RANGE(0x360000, 0x3603ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x360000, 0x3603ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x380000, 0x380061) AM_READWRITE(jackpool_io_r,jackpool_io_w) AM_BASE(&jackpool_io)//AM_READ(jackpool_io_r)
AM_RANGE(0x800000, 0x80000f) AM_READ(jackpool_ff_r) AM_WRITENOP //UART
diff --git a/src/mame/drivers/jailbrek.c b/src/mame/drivers/jailbrek.c
index 1c1c6a0f698..54d649d0a9c 100644
--- a/src/mame/drivers/jailbrek.c
+++ b/src/mame/drivers/jailbrek.c
@@ -141,9 +141,9 @@ static WRITE8_DEVICE_HANDLER( jailbrek_speech_w ) {
}
static ADDRESS_MAP_START( jailbrek_map, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x07ff) AM_RAM_WRITE(jailbrek_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(jailbrek_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x1000, 0x10bf) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x0000, 0x07ff) AM_RAM_WRITE(jailbrek_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(jailbrek_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x1000, 0x10bf) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x10c0, 0x14ff) AM_RAM /* ??? */
AM_RANGE(0x1500, 0x1fff) AM_RAM /* work ram */
AM_RANGE(0x2000, 0x203f) AM_RAM AM_BASE(&jailbrek_scroll_x)
diff --git a/src/mame/drivers/jalmah.c b/src/mame/drivers/jalmah.c
index c3df7728b01..d02f4c7ac32 100644
--- a/src/mame/drivers/jalmah.c
+++ b/src/mame/drivers/jalmah.c
@@ -911,7 +911,7 @@ static ADDRESS_MAP_START( jalmah, ADDRESS_SPACE_PROGRAM, 16 )
/**/AM_RANGE(0x080020, 0x08003f) AM_RAM_WRITE(jalmah_scroll_w)
AM_RANGE(0x080040, 0x080041) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
// 0x084000, 0x084001 ?
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16) /* Palette RAM */
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram) /* Palette RAM */
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(sc0_vram_w) AM_BASE(&sc0_vram)
AM_RANGE(0x094000, 0x097fff) AM_RAM_WRITE(sc1_vram_w) AM_BASE(&sc1_vram)
AM_RANGE(0x098000, 0x09bfff) AM_RAM_WRITE(sc2_vram_w) AM_BASE(&sc2_vram)
@@ -935,7 +935,7 @@ static ADDRESS_MAP_START( urashima, ADDRESS_SPACE_PROGRAM, 16 )
/**/AM_RANGE(0x08001c, 0x08001d) AM_RAM_WRITE(urashima_bank_w)
AM_RANGE(0x080040, 0x080041) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
// 0x084000, 0x084001 ?
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16) /* Palette RAM */
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram) /* Palette RAM */
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(urashima_sc0_vram_w) AM_BASE(&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 50e03435172..5ab4bbad0b0 100644
--- a/src/mame/drivers/jchan.c
+++ b/src/mame/drivers/jchan.c
@@ -349,7 +349,7 @@ static VIDEO_START(jchan)
jchan_sprite_ram32_1 = auto_alloc_array(machine, UINT32, 0x4000/4);
jchan_sprite_ram32_2 = auto_alloc_array(machine, UINT32, 0x4000/4);
- spriteram_size = 0x4000;
+ machine->generic.spriteram_size = 0x4000;
jchan_sprite_regs32_1 = auto_alloc_array(machine, UINT32, 0x40/4);
jchan_sprite_regs32_2 = auto_alloc_array(machine, UINT32, 0x40/4);
@@ -511,7 +511,7 @@ static ADDRESS_MAP_START( jchan_main, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x500000, 0x503fff) AM_RAM_WRITE(jchan_suprnova_sprite32_1_w) AM_BASE(&jchan_spriteram_1)
AM_RANGE(0x600000, 0x60003f) AM_RAM_WRITE(jchan_suprnova_sprite32regs_1_w) AM_BASE(&jchan_sprregs_1)
- AM_RANGE(0x700000, 0x70ffff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE(&paletteram16) // palette for sprites?
+ AM_RANGE(0x700000, 0x70ffff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // palette for sprites?
AM_RANGE(0xf00000, 0xf00007) AM_READWRITE(jchan_ctrl_r, jchan_ctrl_w) AM_BASE(&jchan_ctrl)
diff --git a/src/mame/drivers/jedi.c b/src/mame/drivers/jedi.c
index 8b4a150e731..6e0cbeba4b0 100644
--- a/src/mame/drivers/jedi.c
+++ b/src/mame/drivers/jedi.c
@@ -248,7 +248,7 @@ static WRITE8_HANDLER( nvram_data_w )
jedi_state *state = (jedi_state *)space->machine->driver_data;
if (state->nvram_enabled)
- space->machine->generic.nvram.ptr.u8[offset] = data;
+ space->machine->generic.nvram.u8[offset] = data;
}
diff --git a/src/mame/drivers/jokrwild.c b/src/mame/drivers/jokrwild.c
index 9635c729edc..6af81b3c673 100644
--- a/src/mame/drivers/jokrwild.c
+++ b/src/mame/drivers/jokrwild.c
@@ -105,14 +105,14 @@ static tilemap *bg_tilemap;
static WRITE8_HANDLER( jokrwild_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
static WRITE8_HANDLER( jokrwild_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -125,8 +125,8 @@ static TILE_GET_INFO( get_bg_tile_info )
---- ---- color code.
---- ---- seems unused.
*/
-// int attr = colorram[tile_index];
- int code = videoram[tile_index];
+// int attr = machine->generic.colorram.u8[tile_index];
+ int code = machine->generic.videoram.u8[tile_index];
// int bank = (attr & 0x08) >> 3;
// int color = (attr & 0x03);
@@ -173,8 +173,8 @@ static PALETTE_INIT( jokrwild )
*************************/
static ADDRESS_MAP_START( jokrwild_map, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x07ff) AM_RAM AM_WRITE(jokrwild_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x2000, 0x27ff) AM_RAM AM_WRITE(jokrwild_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x0000, 0x07ff) AM_RAM AM_WRITE(jokrwild_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x2000, 0x27ff) AM_RAM AM_WRITE(jokrwild_colorram_w) AM_BASE_GENERIC(colorram)
// AM_RANGE(0x0010, 0x0010) AM_READ(random_gen_r)
// AM_RANGE(0x4004, 0x4007) AM_DEVREADWRITE("pia0", pia6821_r, pia6821_w)
// AM_RANGE(0x4008, 0x400b) AM_DEVREADWRITE("pia1", pia6821_r, pia6821_w)
diff --git a/src/mame/drivers/jollyjgr.c b/src/mame/drivers/jollyjgr.c
index c0f5c5d998d..0d39dacf8c4 100644
--- a/src/mame/drivers/jollyjgr.c
+++ b/src/mame/drivers/jollyjgr.c
@@ -107,7 +107,7 @@ static UINT8 *jollyjgr_bitmap;
static WRITE8_HANDLER( jollyjgr_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap,offset);
}
@@ -126,7 +126,7 @@ static WRITE8_HANDLER( jollyjgr_attrram_w )
tilemap_set_scrolly(bg_tilemap, offset >> 1, data);
}
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
}
static WRITE8_HANDLER( jollyjgr_misc_w )
@@ -156,9 +156,9 @@ static ADDRESS_MAP_START( jollyjgr_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8fff, 0x8fff) AM_READ_PORT("DSW2")
AM_RANGE(0x8ffc, 0x8ffc) AM_WRITE(jollyjgr_misc_w)
AM_RANGE(0x8ffd, 0x8ffd) AM_WRITE(jollyjgr_coin_lookout_w)
- AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(jollyjgr_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x9800, 0x983f) AM_RAM_WRITE(jollyjgr_attrram_w) AM_BASE(&colorram)
- AM_RANGE(0x9840, 0x987f) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(jollyjgr_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x9800, 0x983f) AM_RAM_WRITE(jollyjgr_attrram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x9840, 0x987f) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x9880, 0x9bff) AM_RAM
AM_RANGE(0xa000, 0xffff) AM_RAM AM_BASE(&jollyjgr_bitmap)
ADDRESS_MAP_END
@@ -268,8 +268,8 @@ static PALETTE_INIT( jollyjgr )
/* Tilemap is the same as in Galaxian */
static TILE_GET_INFO( get_bg_tile_info )
{
- int color = colorram[((tile_index & 0x1f) << 1) | 1] & 7;
- SET_TILE_INFO(0, videoram[tile_index], color, 0);
+ int color = machine->generic.colorram.u8[((tile_index & 0x1f) << 1) | 1] & 7;
+ SET_TILE_INFO(0, machine->generic.videoram.u8[tile_index], color, 0);
}
static VIDEO_START( jollyjgr )
@@ -318,6 +318,7 @@ static void draw_bitmap(bitmap_t *bitmap)
static VIDEO_UPDATE( jollyjgr )
{
+ UINT8 *spriteram = screen->machine->generic.spriteram.u8;
int offs;
bitmap_fill(bitmap,cliprect,32);
diff --git a/src/mame/drivers/jongkyo.c b/src/mame/drivers/jongkyo.c
index 4e4b7c83ece..186614df64d 100644
--- a/src/mame/drivers/jongkyo.c
+++ b/src/mame/drivers/jongkyo.c
@@ -67,8 +67,8 @@ static VIDEO_UPDATE(jongkyo)
- data1 = videoram[0x4000 + x/4 + y*64];
- data2 = videoram[x/4 + y*64];
+ data1 = screen->machine->generic.videoram.u8[0x4000 + x/4 + y*64];
+ data2 = screen->machine->generic.videoram.u8[x/4 + y*64];
for (b = 0; b < 4; ++b)
{
@@ -197,7 +197,7 @@ static ADDRESS_MAP_START( jongkyo_memmap, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x4000, 0x6bff) AM_READ(SMH_ROM) // fixed rom
AM_RANGE(0x6c00, 0x6fff) AM_READ(SMH_BANK(1)) // banked (8 banks)
AM_RANGE(0x7000, 0x77ff) AM_RAM
- AM_RANGE(0x8000, 0xffff) AM_RAM AM_BASE(&videoram)
+ AM_RANGE(0x8000, 0xffff) AM_RAM AM_BASE_GENERIC(videoram)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/jrpacman.c b/src/mame/drivers/jrpacman.c
index c9e3184c1c2..ead2e55d4cd 100644
--- a/src/mame/drivers/jrpacman.c
+++ b/src/mame/drivers/jrpacman.c
@@ -120,16 +120,16 @@ static WRITE8_HANDLER( jrpacman_interrupt_vector_w )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
- AM_RANGE(0x4000, 0x47ff) AM_RAM_WRITE(jrpacman_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x4000, 0x47ff) AM_RAM_WRITE(jrpacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x4800, 0x4fef) AM_RAM
- AM_RANGE(0x4ff0, 0x4fff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x4ff0, 0x4fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x5000, 0x503f) AM_READ_PORT("P1")
AM_RANGE(0x5000, 0x5000) AM_WRITE(interrupt_enable_w)
AM_RANGE(0x5001, 0x5001) AM_DEVWRITE("namco", pacman_sound_enable_w)
AM_RANGE(0x5003, 0x5003) AM_WRITE(pacman_flipscreen_w)
AM_RANGE(0x5040, 0x507f) AM_READ_PORT("P2")
AM_RANGE(0x5040, 0x505f) AM_DEVWRITE("namco", pacman_sound_w) AM_BASE(&pacman_soundregs)
- AM_RANGE(0x5060, 0x506f) AM_WRITEONLY AM_BASE(&spriteram_2)
+ AM_RANGE(0x5060, 0x506f) AM_WRITEONLY AM_BASE_GENERIC(spriteram2)
AM_RANGE(0x5070, 0x5070) AM_WRITE(pengo_palettebank_w)
AM_RANGE(0x5071, 0x5071) AM_WRITE(pengo_colortablebank_w)
AM_RANGE(0x5073, 0x5073) AM_WRITE(jrpacman_bgpriority_w)
diff --git a/src/mame/drivers/junofrst.c b/src/mame/drivers/junofrst.c
index ee073789b6e..e7c3d0f379c 100644
--- a/src/mame/drivers/junofrst.c
+++ b/src/mame/drivers/junofrst.c
@@ -177,8 +177,8 @@ static WRITE8_HANDLER( junofrst_coin_counter_w )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x7fff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x8000, 0x800f) AM_RAM AM_BASE(&paletteram)
+ AM_RANGE(0x0000, 0x7fff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x8000, 0x800f) AM_RAM AM_BASE_GENERIC(paletteram)
AM_RANGE(0x8010, 0x8010) AM_READ_PORT("DSW2")
AM_RANGE(0x801c, 0x801c) AM_READ(watchdog_reset_r)
AM_RANGE(0x8020, 0x8020) AM_READ_PORT("SYSTEM")
diff --git a/src/mame/drivers/kaneko16.c b/src/mame/drivers/kaneko16.c
index b54fb965997..24867386bf3 100644
--- a/src/mame/drivers/kaneko16.c
+++ b/src/mame/drivers/kaneko16.c
@@ -363,8 +363,8 @@ static WRITE16_HANDLER( kaneko16_eeprom_w )
static ADDRESS_MAP_START( berlwall, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // Work RAM
- AM_RANGE(0x30e000, 0x30ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE(&paletteram16) // Palette
+ AM_RANGE(0x30e000, 0x30ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
// AM_RANGE(0x480000, 0x480001) AM_RAM // ?
AM_RANGE(0x500000, 0x500001) AM_READWRITE(kaneko16_bg15_reg_r, kaneko16_bg15_reg_w) AM_BASE(&kaneko16_bg15_reg) // High Color Background
AM_RANGE(0x580000, 0x580001) AM_READWRITE(kaneko16_bg15_select_r, kaneko16_bg15_select_w) AM_BASE(&kaneko16_bg15_select)
@@ -419,8 +419,8 @@ static ADDRESS_MAP_START( bakubrkr, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x581000, 0x581fff) AM_READWRITE(SMH_RAM,kaneko16_vram_2_w) AM_BASE(&kaneko16_vram_2) //
AM_RANGE(0x582000, 0x582fff) AM_RAM AM_BASE(&kaneko16_vscroll_3) //
AM_RANGE(0x583000, 0x583fff) AM_RAM AM_BASE(&kaneko16_vscroll_2) //
- AM_RANGE(0x600000, 0x601fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
- AM_RANGE(0x700000, 0x700fff) AM_READWRITE(SMH_RAM,paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE(&paletteram16) // Palette
+ AM_RANGE(0x600000, 0x601fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
+ AM_RANGE(0x700000, 0x700fff) AM_READWRITE(SMH_RAM,paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE(0x800000, 0x80001f) AM_READWRITE(SMH_RAM,kaneko16_layers_0_regs_w) AM_BASE(&kaneko16_layers_0_regs) // Layers 0 Regs
AM_RANGE(0x900000, 0x90001f) AM_READWRITE(SMH_RAM,kaneko16_sprites_regs_w) AM_BASE(&kaneko16_sprites_regs ) // Sprites Regs
AM_RANGE(0xa80000, 0xa80001) AM_READ(watchdog_reset16_r) // Watchdog
@@ -440,12 +440,12 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( blazeon, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x300000, 0x30ffff) AM_RAM // Work RAM
- AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE(&paletteram16) // Palette
+ AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE(kaneko16_vram_1_w) AM_BASE(&kaneko16_vram_1) // Layers 0
AM_RANGE(0x601000, 0x601fff) AM_RAM_WRITE(kaneko16_vram_0_w) AM_BASE(&kaneko16_vram_0) //
AM_RANGE(0x602000, 0x602fff) AM_RAM AM_BASE(&kaneko16_vscroll_1) //
AM_RANGE(0x603000, 0x603fff) AM_RAM AM_BASE(&kaneko16_vscroll_0) //
- AM_RANGE(0x700000, 0x700fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x700000, 0x700fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0x800000, 0x80001f) AM_RAM_WRITE(kaneko16_layers_0_regs_w) AM_BASE(&kaneko16_layers_0_regs) // Layers 0 Regs
AM_RANGE(0x900000, 0x90001f) AM_RAM_WRITE(kaneko16_sprites_regs_w) AM_BASE(&kaneko16_sprites_regs) // Sprites Regs #1
AM_RANGE(0x980000, 0x98001f) AM_RAM // Sprites Regs #2
@@ -502,8 +502,8 @@ static ADDRESS_MAP_START( bloodwar, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x2b0000, 0x2b0001) AM_WRITE(toybox_mcu_com1_w)
AM_RANGE(0x2c0000, 0x2c0001) AM_WRITE(toybox_mcu_com2_w)
AM_RANGE(0x2d0000, 0x2d0001) AM_WRITE(toybox_mcu_com3_w)
- AM_RANGE(0x300000, 0x30ffff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE(&paletteram16) // Palette
- AM_RANGE(0x400000, 0x401fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x300000, 0x30ffff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x400000, 0x401fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE(kaneko16_vram_1_w) AM_BASE(&kaneko16_vram_1) // Layers 0
AM_RANGE(0x501000, 0x501fff) AM_RAM_WRITE(kaneko16_vram_0_w) AM_BASE(&kaneko16_vram_0) //
AM_RANGE(0x502000, 0x502fff) AM_RAM AM_BASE(&kaneko16_vscroll_1) //
@@ -562,8 +562,8 @@ static ADDRESS_MAP_START( bonkadv, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x2b0000, 0x2b0001) AM_WRITE(toybox_mcu_com1_w)
AM_RANGE(0x2c0000, 0x2c0001) AM_WRITE(toybox_mcu_com2_w)
AM_RANGE(0x2d0000, 0x2d0001) AM_WRITE(toybox_mcu_com3_w)
- AM_RANGE(0x300000, 0x30ffff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE(&paletteram16) // Palette
- AM_RANGE(0x400000, 0x401fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x300000, 0x30ffff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x400000, 0x401fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE(kaneko16_vram_1_w) AM_BASE(&kaneko16_vram_1) // Layers 0
AM_RANGE(0x501000, 0x501fff) AM_RAM_WRITE(kaneko16_vram_0_w) AM_BASE(&kaneko16_vram_0) //
AM_RANGE(0x502000, 0x502fff) AM_RAM AM_BASE(&kaneko16_vscroll_1) //
@@ -640,9 +640,9 @@ static ADDRESS_MAP_START( gtmr_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x2c0000, 0x2c0001) AM_WRITE(toybox_mcu_com2_w)
AM_RANGE(0x2d0000, 0x2d0001) AM_WRITE(toybox_mcu_com3_w)
- AM_RANGE(0x300000, 0x30ffff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE(&paletteram16) // Palette
+ AM_RANGE(0x300000, 0x30ffff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE(0x310000, 0x327fff) AM_RAM //
- AM_RANGE(0x400000, 0x401fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x400000, 0x401fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE(kaneko16_vram_1_w) AM_BASE(&kaneko16_vram_1) // Layers 0
AM_RANGE(0x501000, 0x501fff) AM_RAM_WRITE(kaneko16_vram_0_w) AM_BASE(&kaneko16_vram_0) //
@@ -716,9 +716,9 @@ static ADDRESS_MAP_START( gtmr2_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x2c0000, 0x2c0001) AM_WRITE(toybox_mcu_com2_w)
AM_RANGE(0x2d0000, 0x2d0001) AM_WRITE(toybox_mcu_com3_w)
- AM_RANGE(0x300000, 0x30ffff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE(&paletteram16) // Palette
+ AM_RANGE(0x300000, 0x30ffff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE(0x310000, 0x327fff) AM_RAM //
- AM_RANGE(0x400000, 0x401fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x400000, 0x401fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE(kaneko16_vram_1_w) AM_BASE(&kaneko16_vram_1) // Layers 0
AM_RANGE(0x501000, 0x501fff) AM_RAM_WRITE(kaneko16_vram_0_w) AM_BASE(&kaneko16_vram_0) //
@@ -763,7 +763,7 @@ static ADDRESS_MAP_START( mgcrystl, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x400000, 0x40001f) AM_DEVREADWRITE("ay1", kaneko16_YM2149_r, kaneko16_YM2149_w) // Sound
AM_RANGE(0x400200, 0x40021f) AM_DEVREADWRITE("ay2", kaneko16_YM2149_r, kaneko16_YM2149_w)
AM_RANGE(0x400400, 0x400401) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
- AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE(&paletteram16) // Palette
+ AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE(kaneko16_vram_1_w) AM_BASE(&kaneko16_vram_1) // Layers 0
AM_RANGE(0x601000, 0x601fff) AM_RAM_WRITE(kaneko16_vram_0_w) AM_BASE(&kaneko16_vram_0) //
AM_RANGE(0x602000, 0x602fff) AM_RAM AM_BASE(&kaneko16_vscroll_1) //
@@ -772,7 +772,7 @@ static ADDRESS_MAP_START( mgcrystl, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x681000, 0x681fff) AM_RAM_WRITE(kaneko16_vram_2_w) AM_BASE(&kaneko16_vram_2) //
AM_RANGE(0x682000, 0x682fff) AM_RAM AM_BASE(&kaneko16_vscroll_3) //
AM_RANGE(0x683000, 0x683fff) AM_RAM AM_BASE(&kaneko16_vscroll_2) //
- AM_RANGE(0x700000, 0x701fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x700000, 0x701fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0x800000, 0x80001f) AM_RAM_WRITE(kaneko16_layers_0_regs_w) AM_BASE(&kaneko16_layers_0_regs) // Layers 0 Regs
AM_RANGE(0x900000, 0x90001f) AM_RAM_WRITE(kaneko16_sprites_regs_w) AM_BASE(&kaneko16_sprites_regs) // Sprites Regs
AM_RANGE(0xb00000, 0xb0001f) AM_RAM_WRITE(kaneko16_layers_1_regs_w) AM_BASE(&kaneko16_layers_1_regs) // Layers 1 Regs
@@ -831,10 +831,10 @@ static ADDRESS_MAP_START( shogwarr, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x2b0000, 0x2b0001) AM_WRITE(calc3_mcu_com2_w)
//AM_RANGE(0x2c0000, 0x2c0001) AM_WRITE(calc3_run) // guess, might be irqack
AM_RANGE(0x2d0000, 0x2d0001) AM_WRITE(calc3_mcu_com3_w)
- AM_RANGE(0x380000, 0x380fff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE(&paletteram16) // Palette
+ AM_RANGE(0x380000, 0x380fff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE(0x400000, 0x400001) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x00ff) // Samples
AM_RANGE(0x480000, 0x480001) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x00ff)
- AM_RANGE(0x580000, 0x581fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x580000, 0x581fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE(kaneko16_vram_1_w) AM_BASE(&kaneko16_vram_1) // Layers 0
AM_RANGE(0x601000, 0x601fff) AM_READWRITE(SMH_RAM,kaneko16_vram_0_w) AM_BASE(&kaneko16_vram_0)
AM_RANGE(0x602000, 0x602fff) AM_RAM AM_BASE(&kaneko16_vscroll_1)
diff --git a/src/mame/drivers/karnov.c b/src/mame/drivers/karnov.c
index ed962c1cdc6..eae2e3820e4 100644
--- a/src/mame/drivers/karnov.c
+++ b/src/mame/drivers/karnov.c
@@ -362,8 +362,8 @@ static READ16_HANDLER( karnov_control_r )
static ADDRESS_MAP_START( karnov_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x060000, 0x063fff) AM_RAM AM_BASE(&karnov_ram)
- AM_RANGE(0x080000, 0x080fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0x0a0000, 0x0a07ff) AM_RAM_WRITE(karnov_videoram_w) AM_BASE(&videoram16)
+ AM_RANGE(0x080000, 0x080fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x0a0000, 0x0a07ff) AM_RAM_WRITE(karnov_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x0a0800, 0x0a0fff) AM_WRITE(karnov_videoram_w) /* Wndrplnt Mirror */
AM_RANGE(0x0a1000, 0x0a17ff) AM_WRITEONLY AM_BASE(&karnov_pf_data)
AM_RANGE(0x0a1800, 0x0a1fff) AM_WRITE(karnov_playfield_swap_w)
diff --git a/src/mame/drivers/kchamp.c b/src/mame/drivers/kchamp.c
index 450f4e87d64..4affebcf655 100644
--- a/src/mame/drivers/kchamp.c
+++ b/src/mame/drivers/kchamp.c
@@ -121,9 +121,9 @@ static WRITE8_HANDLER( sound_msm_w )
static ADDRESS_MAP_START( kchampvs_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
- AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(kchamp_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE(kchamp_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0xd800, 0xd8ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(kchamp_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE(kchamp_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xd800, 0xd8ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xd900, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -173,9 +173,9 @@ static WRITE8_HANDLER( kc_sound_control_w )
static ADDRESS_MAP_START( kchamp_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_RAM
- AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(kchamp_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xe400, 0xe7ff) AM_RAM_WRITE(kchamp_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0xea00, 0xeaff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(kchamp_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xe400, 0xe7ff) AM_RAM_WRITE(kchamp_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xea00, 0xeaff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xeb00, 0xffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/kickgoal.c b/src/mame/drivers/kickgoal.c
index 76377b68b81..324095ceeae 100644
--- a/src/mame/drivers/kickgoal.c
+++ b/src/mame/drivers/kickgoal.c
@@ -512,8 +512,8 @@ static ADDRESS_MAP_START( kickgoal_program_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xa08000, 0xa0bfff) AM_RAM_WRITE(kickgoal_bg2ram_w) AM_BASE(&kickgoal_bg2ram) /* Lower BG Layer */
AM_RANGE(0xa0c000, 0xa0ffff) AM_RAM_WRITE(SMH_RAM) // more tilemap?
AM_RANGE(0xa10000, 0xa1000f) AM_WRITE(SMH_RAM) AM_BASE(&kickgoal_scrram) /* Scroll Registers */
- AM_RANGE(0xb00000, 0xb007ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* Sprites */
- AM_RANGE(0xc00000, 0xc007ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16) /* Palette */ // actionhw reads this
+ AM_RANGE(0xb00000, 0xb007ff) AM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram) /* Sprites */
+ AM_RANGE(0xc00000, 0xc007ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram) /* Palette */ // actionhw reads this
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/kingdrby.c b/src/mame/drivers/kingdrby.c
index 357e135a9c3..24dfb2de8e8 100644
--- a/src/mame/drivers/kingdrby.c
+++ b/src/mame/drivers/kingdrby.c
@@ -134,6 +134,7 @@ static VIDEO_START(kingdrby)
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int count = 0;
/*sprites not fully understood.*/
@@ -355,7 +356,7 @@ static ADDRESS_MAP_START( slave_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x5000, 0x5003) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w) /* I/O Ports */
AM_RANGE(0x6000, 0x6003) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w) /* I/O Ports */
AM_RANGE(0x7000, 0x73ff) AM_RAM AM_SHARE(1)
- AM_RANGE(0x7400, 0x74ff) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0x7400, 0x74ff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x7600, 0x7600) AM_DEVWRITE("crtc", mc6845_address_w)
AM_RANGE(0x7601, 0x7601) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
AM_RANGE(0x7801, 0x780f) AM_WRITE(led_array_w)
diff --git a/src/mame/drivers/kingobox.c b/src/mame/drivers/kingobox.c
index 21f3704b68f..6f76f373e19 100644
--- a/src/mame/drivers/kingobox.c
+++ b/src/mame/drivers/kingobox.c
@@ -89,8 +89,8 @@ static ADDRESS_MAP_START( kingobox_video_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM /* work ram */
AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_SHARE(1) /* shared with main */
- AM_RANGE(0xc000, 0xc0ff) AM_RAM_WRITE(kingofb_videoram_w) AM_BASE(&videoram) /* background vram */
- AM_RANGE(0xc400, 0xc4ff) AM_RAM_WRITE(kingofb_colorram_w) AM_BASE(&colorram) /* background colorram */
+ AM_RANGE(0xc000, 0xc0ff) AM_RAM_WRITE(kingofb_videoram_w) AM_BASE_GENERIC(videoram) /* background vram */
+ AM_RANGE(0xc400, 0xc4ff) AM_RAM_WRITE(kingofb_colorram_w) AM_BASE_GENERIC(colorram) /* background colorram */
AM_RANGE(0xc800, 0xcbff) AM_RAM_WRITE(kingofb_videoram2_w) AM_BASE(&kingofb_videoram2) /* foreground vram */
AM_RANGE(0xcc00, 0xcfff) AM_RAM_WRITE(kingofb_colorram2_w) AM_BASE(&kingofb_colorram2) /* foreground colorram */
ADDRESS_MAP_END
@@ -99,7 +99,7 @@ static ADDRESS_MAP_START( kingobox_sprite_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM /* work ram */
AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_SHARE(2) /* shared with main */
- AM_RANGE(0xc000, 0xc3ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) /* sprite ram */
+ AM_RANGE(0xc000, 0xc3ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* sprite ram */
AM_RANGE(0xc400, 0xc43f) AM_RAM /* something related to scroll? */
ADDRESS_MAP_END
@@ -140,8 +140,8 @@ static ADDRESS_MAP_START( ringking_video_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM /* work ram */
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE(1) /* shared with main */
- AM_RANGE(0xa800, 0xa8ff) AM_RAM_WRITE(kingofb_videoram_w) AM_BASE(&videoram) /* background vram */
- AM_RANGE(0xac00, 0xacff) AM_RAM_WRITE(kingofb_colorram_w) AM_BASE(&colorram) /* background colorram */
+ AM_RANGE(0xa800, 0xa8ff) AM_RAM_WRITE(kingofb_videoram_w) AM_BASE_GENERIC(videoram) /* background vram */
+ AM_RANGE(0xac00, 0xacff) AM_RAM_WRITE(kingofb_colorram_w) AM_BASE_GENERIC(colorram) /* background colorram */
AM_RANGE(0xa000, 0xa3ff) AM_RAM_WRITE(kingofb_videoram2_w) AM_BASE(&kingofb_videoram2) /* foreground vram */
AM_RANGE(0xa400, 0xa7ff) AM_RAM_WRITE(kingofb_colorram2_w) AM_BASE(&kingofb_colorram2) /* foreground colorram */
ADDRESS_MAP_END
@@ -150,7 +150,7 @@ static ADDRESS_MAP_START( ringking_sprite_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM /* work ram */
AM_RANGE(0xc800, 0xcfff) AM_RAM AM_SHARE(2) /* shared with main */
- AM_RANGE(0xa000, 0xa3ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) /* sprite ram */
+ AM_RANGE(0xa000, 0xa3ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* sprite ram */
AM_RANGE(0xa400, 0xa43f) AM_RAM /* something related to scroll? */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/klax.c b/src/mame/drivers/klax.c
index f779ce6cd4c..99286e67472 100644
--- a/src/mame/drivers/klax.c
+++ b/src/mame/drivers/klax.c
@@ -83,7 +83,7 @@ static ADDRESS_MAP_START( klax_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x270000, 0x270001) AM_DEVREADWRITE8("oki", okim6295_r,okim6295_w, 0x00ff)
AM_RANGE(0x2e0000, 0x2e0001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x360000, 0x360001) AM_WRITE(interrupt_ack_w)
- AM_RANGE(0x3e0000, 0x3e07ff) AM_RAM_WRITE(atarigen_expanded_666_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x3e0000, 0x3e07ff) AM_RAM_WRITE(atarigen_expanded_666_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x3f0000, 0x3f0f7f) AM_RAM_WRITE(atarigen_playfield_w) AM_BASE(&atarigen_playfield)
AM_RANGE(0x3f0f80, 0x3f0fff) AM_RAM_WRITE(atarimo_0_slipram_w) AM_BASE(&atarimo_0_slipram)
AM_RANGE(0x3f1000, 0x3f1fff) AM_RAM_WRITE(atarigen_playfield_upper_w) AM_BASE(&atarigen_playfield_upper)
diff --git a/src/mame/drivers/kncljoe.c b/src/mame/drivers/kncljoe.c
index 72d15fc37b6..792e2d4cfc7 100644
--- a/src/mame/drivers/kncljoe.c
+++ b/src/mame/drivers/kncljoe.c
@@ -55,7 +55,7 @@ static WRITE8_HANDLER( sound_cmd_w )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
- AM_RANGE(0xc000, 0xcfff) AM_RAM_WRITE(kncljoe_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0xc000, 0xcfff) AM_RAM_WRITE(kncljoe_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0xd000, 0xd001) AM_WRITE(kncljoe_scroll_w) AM_BASE(&kncljoe_scrollregs)
AM_RANGE(0xd800, 0xd800) AM_READ_PORT("SYSTEM")
AM_RANGE(0xd801, 0xd801) AM_READ_PORT("P1")
@@ -68,7 +68,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd803, 0xd803) AM_DEVWRITE("sn2", sn76496_w)
AM_RANGE(0xd807, 0xd807) AM_READNOP /* unknown read */
AM_RANGE(0xd817, 0xd817) AM_READNOP /* unknown read */
- AM_RANGE(0xe800, 0xefff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xe800, 0xefff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/koftball.c b/src/mame/drivers/koftball.c
index 8f4b7c00773..9419113d787 100644
--- a/src/mame/drivers/koftball.c
+++ b/src/mame/drivers/koftball.c
@@ -80,14 +80,14 @@ static WRITE16_HANDLER( bmc_RAMDAC_offset_w )
static WRITE16_HANDLER( bmc_RAMDAC_color_w )
{
- colorram[clr_offset]=data;
- palette_set_color_rgb(space->machine,clr_offset/3,pal6bit(colorram[(clr_offset/3)*3]),pal6bit(colorram[(clr_offset/3)*3+1]),pal6bit(colorram[(clr_offset/3)*3+2]));
+ space->machine->generic.colorram.u8[clr_offset]=data;
+ palette_set_color_rgb(space->machine,clr_offset/3,pal6bit(space->machine->generic.colorram.u8[(clr_offset/3)*3]),pal6bit(space->machine->generic.colorram.u8[(clr_offset/3)*3+1]),pal6bit(space->machine->generic.colorram.u8[(clr_offset/3)*3+2]));
clr_offset=(clr_offset+1)%768;
}
static READ16_HANDLER( bmc_RAMDAC_color_r )
{
- return colorram[clr_offset];
+ return space->machine->generic.colorram.u8[clr_offset];
}
static READ16_HANDLER(random_number_r)
@@ -271,7 +271,7 @@ static const UINT16 nvram[]=
#endif
static DRIVER_INIT(koftball)
{
- colorram=auto_alloc_array(machine, UINT8, 768);
+ machine->generic.colorram.u8=auto_alloc_array(machine, UINT8, 768);
#if NVRAM_HACK
{
diff --git a/src/mame/drivers/koikoi.c b/src/mame/drivers/koikoi.c
index 4e4b4d25c1a..9cde8bfae3c 100644
--- a/src/mame/drivers/koikoi.c
+++ b/src/mame/drivers/koikoi.c
@@ -51,16 +51,16 @@ static const int inputTab[]= { 0x22, 0x64, 0x44, 0x68, 0x30, 0x50, 0x70, 0x48, 0
static TILE_GET_INFO( get_tile_info )
{
- int code = videoram[tile_index]|((videoram[tile_index+0x400] & 0x40)<<2);
- int color = (videoram[tile_index+0x400]&0x1f);
- int flip = (videoram[tile_index+0x400]&0x80)?(TILEMAP_FLIPX|TILEMAP_FLIPY):0;
+ int code = machine->generic.videoram.u8[tile_index]|((machine->generic.videoram.u8[tile_index+0x400] & 0x40)<<2);
+ int color = (machine->generic.videoram.u8[tile_index+0x400]&0x1f);
+ int flip = (machine->generic.videoram.u8[tile_index+0x400]&0x80)?(TILEMAP_FLIPX|TILEMAP_FLIPY):0;
SET_TILE_INFO( 0, code, color, flip);
}
static WRITE8_HANDLER(vram_w)
{
- videoram[offset]=data;
+ space->machine->generic.videoram.u8[offset]=data;
tilemap_mark_tile_dirty(koikoi_tilemap,offset&0x3ff);
}
@@ -122,7 +122,7 @@ static WRITE8_HANDLER(io_w)
static ADDRESS_MAP_START( koikoi_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM
- AM_RANGE(0x7000, 0x77ff) AM_RAM_WRITE(vram_w) AM_BASE(&videoram)
+ AM_RANGE(0x7000, 0x77ff) AM_RAM_WRITE(vram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x8000, 0x8000) AM_READ_PORT("DSW")
AM_RANGE(0x9000, 0x9007) AM_READWRITE(io_r, io_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/konamigx.c b/src/mame/drivers/konamigx.c
index 6dbcff499de..3c154cf8e63 100644
--- a/src/mame/drivers/konamigx.c
+++ b/src/mame/drivers/konamigx.c
@@ -1218,7 +1218,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( gx_type1_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0xd4a000, 0xd4a01f) AM_READ(gx6bppspr_r) // sprite ROM readback
- AM_RANGE(0xd90000, 0xd97fff) AM_RAM_WRITE(konamigx_palette_w) AM_BASE(&paletteram32)
+ AM_RANGE(0xd90000, 0xd97fff) AM_RAM_WRITE(konamigx_palette_w) AM_BASE_GENERIC(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")
@@ -1238,7 +1238,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( gx_type2_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0xcc0000, 0xcc0003) AM_WRITE(esc_w)
- AM_RANGE(0xd90000, 0xd97fff) AM_RAM_WRITE(konamigx_palette_w) AM_BASE(&paletteram32)
+ AM_RANGE(0xd90000, 0xd97fff) AM_RAM_WRITE(konamigx_palette_w) AM_BASE_GENERIC(paletteram)
AM_IMPORT_FROM(gx_base_memmap)
ADDRESS_MAP_END
@@ -1252,7 +1252,7 @@ static ADDRESS_MAP_START( gx_type3_map, ADDRESS_SPACE_PROGRAM, 32 )
//AM_RANGE(0xe20000, 0xe20003) AM_WRITENOP
AM_RANGE(0xe40000, 0xe40003) AM_WRITE(konamigx_type3_psac2_bank_w) AM_BASE(&konamigx_type3_psac2_bank)
AM_RANGE(0xe60000, 0xe60fff) AM_RAM AM_BASE((UINT32**)&K053936_0_linectrl)
- AM_RANGE(0xe80000, 0xe83fff) AM_RAM AM_BASE(&paletteram32) // main monitor palette
+ AM_RANGE(0xe80000, 0xe83fff) AM_RAM AM_BASE_GENERIC(paletteram) // main monitor palette
AM_RANGE(0xea0000, 0xea3fff) AM_RAM AM_BASE(&gx_subpaletteram32)
AM_RANGE(0xec0000, 0xec0003) AM_READ(type3_sync_r)
//AM_RANGE(0xf00000, 0xf07fff) AM_RAM
@@ -1266,7 +1266,7 @@ static ADDRESS_MAP_START( gx_type4_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0xe20000, 0xe20003) AM_WRITENOP
AM_RANGE(0xe40000, 0xe40003) AM_WRITENOP
AM_RANGE(0xe60000, 0xe60fff) AM_RAM AM_BASE((UINT32**)&K053936_0_linectrl) // 29C & 29G (PSAC2 line control)
- AM_RANGE(0xe80000, 0xe87fff) AM_RAM AM_BASE(&paletteram32) // 11G/13G/15G (main screen palette RAM)
+ AM_RANGE(0xe80000, 0xe87fff) AM_RAM AM_BASE_GENERIC(paletteram) // 11G/13G/15G (main screen palette RAM)
AM_RANGE(0xea0000, 0xea7fff) AM_RAM AM_BASE(&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(konamigx_t4_psacmap_w) AM_BASE(&gx_psacram) // PSAC2 tilemap
diff --git a/src/mame/drivers/kopunch.c b/src/mame/drivers/kopunch.c
index 2b42dcbaf31..06e0853a4e4 100644
--- a/src/mame/drivers/kopunch.c
+++ b/src/mame/drivers/kopunch.c
@@ -57,7 +57,7 @@ static WRITE8_HANDLER( kopunch_coin_w )
static ADDRESS_MAP_START( kopunch_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
- AM_RANGE(0x6000, 0x63ff) AM_RAM_WRITE(kopunch_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x6000, 0x63ff) AM_RAM_WRITE(kopunch_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x7000, 0x70ff) AM_RAM_WRITE(kopunch_videoram2_w) AM_BASE(&kopunch_videoram2)
AM_RANGE(0x7100, 0x7aff) AM_RAM // ???
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ksayakyu.c b/src/mame/drivers/ksayakyu.c
index fa99e2bb5f0..efa183c418f 100644
--- a/src/mame/drivers/ksayakyu.c
+++ b/src/mame/drivers/ksayakyu.c
@@ -119,8 +119,8 @@ static ADDRESS_MAP_START( maincpu_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xa806, 0xa806) AM_READ(sound_status_r)
AM_RANGE(0xa807, 0xa807) AM_READNOP /* watchdog ? */
AM_RANGE(0xa808, 0xa808) AM_WRITE(bank_select_w)
- AM_RANGE(0xb000, 0xb7ff) AM_RAM_WRITE(ksayakyu_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xb800, 0xbfff) AM_RAM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xb000, 0xb7ff) AM_RAM_WRITE(ksayakyu_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xb800, 0xbfff) AM_RAM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( soundcpu_map, ADDRESS_SPACE_PROGRAM, 8 )
diff --git a/src/mame/drivers/labyrunr.c b/src/mame/drivers/labyrunr.c
index f16f6690f39..184c6c0d500 100644
--- a/src/mame/drivers/labyrunr.c
+++ b/src/mame/drivers/labyrunr.c
@@ -66,9 +66,9 @@ static ADDRESS_MAP_START( labyrunr_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0c00, 0x0c00) AM_WRITE(labyrunr_bankswitch_w)
AM_RANGE(0x0d00, 0x0d1f) AM_READWRITE(K051733_r, K051733_w)
AM_RANGE(0x0e00, 0x0e00) AM_WRITE(watchdog_reset_w)
- AM_RANGE(0x1000, 0x10ff) AM_RAM AM_BASE(&paletteram)
+ AM_RANGE(0x1000, 0x10ff) AM_RAM AM_BASE_GENERIC(paletteram)
AM_RANGE(0x1800, 0x1fff) AM_RAM
- AM_RANGE(0x2000, 0x2fff) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0x2000, 0x2fff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x3000, 0x37ff) AM_RAM_WRITE(labyrunr_vram1_w) AM_BASE(&labyrunr_videoram1)
AM_RANGE(0x3800, 0x3fff) AM_RAM_WRITE(labyrunr_vram2_w) AM_BASE(&labyrunr_videoram2)
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK(1)
diff --git a/src/mame/drivers/ladybug.c b/src/mame/drivers/ladybug.c
index 001b81fb857..dac75e3a893 100644
--- a/src/mame/drivers/ladybug.c
+++ b/src/mame/drivers/ladybug.c
@@ -90,7 +90,7 @@ WRITE8_HANDLER( sraider_misc_w );
static ADDRESS_MAP_START( ladybug_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM
- AM_RANGE(0x7000, 0x73ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x7000, 0x73ff) AM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x8000, 0x8fff) AM_READNOP
AM_RANGE(0x9000, 0x9000) AM_READ_PORT("IN0")
AM_RANGE(0x9001, 0x9001) AM_READ_PORT("IN1")
@@ -99,8 +99,8 @@ static ADDRESS_MAP_START( ladybug_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xa000, 0xa000) AM_WRITE(ladybug_flipscreen_w)
AM_RANGE(0xb000, 0xbfff) AM_DEVWRITE("sn1", sn76496_w)
AM_RANGE(0xc000, 0xcfff) AM_DEVWRITE("sn2", sn76496_w)
- AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(ladybug_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE(ladybug_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(ladybug_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE(ladybug_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0xe000, 0xe000) AM_READ_PORT("IN2")
ADDRESS_MAP_END
@@ -108,7 +108,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sraider_cpu1_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM
- AM_RANGE(0x7000, 0x73ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x7000, 0x73ff) AM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x8005, 0x8005) AM_READ(sraider_8005_r) // protection check?
AM_RANGE(0x8006, 0x8006) AM_WRITE(sraider_sound_low_w)
AM_RANGE(0x8007, 0x8007) AM_WRITE(sraider_sound_high_w)
@@ -116,8 +116,8 @@ static ADDRESS_MAP_START( sraider_cpu1_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x9001, 0x9001) AM_READ_PORT("IN1")
AM_RANGE(0x9002, 0x9002) AM_READ_PORT("DSW0")
AM_RANGE(0x9003, 0x9003) AM_READ_PORT("DSW1")
- AM_RANGE(0xd000, 0xd3ff) AM_WRITE(ladybug_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xd400, 0xd7ff) AM_WRITE(ladybug_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0xd000, 0xd3ff) AM_WRITE(ladybug_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xd400, 0xd7ff) AM_WRITE(ladybug_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0xe000, 0xe000) AM_WRITENOP //unknown 0x10 when in attract, 0x20 when coined/playing
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ladyfrog.c b/src/mame/drivers/ladyfrog.c
index 998d681abc3..6b6321dc169 100644
--- a/src/mame/drivers/ladyfrog.c
+++ b/src/mame/drivers/ladyfrog.c
@@ -146,7 +146,7 @@ static READ8_HANDLER( snd_flag_r )
static ADDRESS_MAP_START( ladyfrog_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc07f) AM_RAM
- AM_RANGE(0xc080, 0xc87f) AM_READ(ladyfrog_videoram_r) AM_WRITE(ladyfrog_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xc080, 0xc87f) AM_READ(ladyfrog_videoram_r) AM_WRITE(ladyfrog_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0xd000, 0xd000) AM_WRITE(ladyfrog_gfxctrl2_w)
AM_RANGE(0xd400, 0xd400) AM_READ(from_snd_r) AM_WRITE(sound_command_w)
AM_RANGE(0xd401, 0xd401) AM_READ(snd_flag_r)
diff --git a/src/mame/drivers/laserbat.c b/src/mame/drivers/laserbat.c
index 7bfe3576b03..896ddcec320 100644
--- a/src/mame/drivers/laserbat.c
+++ b/src/mame/drivers/laserbat.c
@@ -50,12 +50,12 @@ static WRITE8_HANDLER( laserbat_videoram_w )
{
if(laserbat_video_page == 0)
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap,offset);
}
else if(laserbat_video_page == 1)
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap,offset); // wrong!
}
}
@@ -498,7 +498,7 @@ GFXDECODE_END
static TILE_GET_INFO( get_tile_info )
{
// wrong color index!
- SET_TILE_INFO(0, videoram[tile_index], colorram[tile_index] & 0x7f, 0);
+ SET_TILE_INFO(0, machine->generic.videoram.u8[tile_index], machine->generic.colorram.u8[tile_index] & 0x7f, 0);
}
static VIDEO_START( laserbat )
@@ -508,8 +508,8 @@ static VIDEO_START( laserbat )
bg_tilemap = tilemap_create(machine, get_tile_info,tilemap_scan_rows,8,8,32,32);
- videoram = auto_alloc_array(machine, UINT8, 0x400);
- colorram = auto_alloc_array(machine, UINT8, 0x400);
+ machine->generic.videoram.u8 = auto_alloc_array(machine, UINT8, 0x400);
+ machine->generic.colorram.u8 = auto_alloc_array(machine, UINT8, 0x400);
/* configure the S2636 chips */
s2636_0 = s2636_config(machine, s2636_0_ram, screen_height, screen_width, 0, -19);
diff --git a/src/mame/drivers/lastduel.c b/src/mame/drivers/lastduel.c
index 5e9d3398ad1..cd2a9001e95 100644
--- a/src/mame/drivers/lastduel.c
+++ b/src/mame/drivers/lastduel.c
@@ -150,7 +150,7 @@ static WRITE16_HANDLER( lastduel_sound_w )
static ADDRESS_MAP_START( lastduel_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0xfc0000, 0xfc0003) AM_WRITENOP /* Written rarely */
- AM_RANGE(0xfc0800, 0xfc0fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xfc0800, 0xfc0fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xfc4000, 0xfc4001) AM_READ_PORT("P1_P2") AM_WRITE(lastduel_flip_w)
AM_RANGE(0xfc4002, 0xfc4003) AM_READ_PORT("SYSTEM") AM_WRITE(lastduel_sound_w)
AM_RANGE(0xfc4004, 0xfc4005) AM_READ_PORT("DSW1")
@@ -159,19 +159,19 @@ static ADDRESS_MAP_START( lastduel_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xfcc000, 0xfcdfff) AM_RAM_WRITE(lastduel_vram_w) AM_BASE(&lastduel_vram)
AM_RANGE(0xfd0000, 0xfd3fff) AM_RAM_WRITE(lastduel_scroll1_w) AM_BASE(&lastduel_scroll1)
AM_RANGE(0xfd4000, 0xfd7fff) AM_RAM_WRITE(lastduel_scroll2_w) AM_BASE(&lastduel_scroll2)
- AM_RANGE(0xfd8000, 0xfd87ff) AM_RAM_WRITE(lastduel_palette_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xfd8000, 0xfd87ff) AM_RAM_WRITE(lastduel_palette_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xfe0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
static ADDRESS_MAP_START( madgear_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0xfc1800, 0xfc1fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xfc1800, 0xfc1fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xfc4000, 0xfc4001) AM_READ_PORT("DSW1") AM_WRITE(lastduel_flip_w)
AM_RANGE(0xfc4002, 0xfc4003) AM_READ_PORT("DSW2") AM_WRITE(lastduel_sound_w)
AM_RANGE(0xfc4004, 0xfc4005) AM_READ_PORT("P1_P2")
AM_RANGE(0xfc4006, 0xfc4007) AM_READ_PORT("SYSTEM")
AM_RANGE(0xfc8000, 0xfc9fff) AM_RAM_WRITE(lastduel_vram_w) AM_BASE(&lastduel_vram)
- AM_RANGE(0xfcc000, 0xfcc7ff) AM_RAM_WRITE(lastduel_palette_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xfcc000, 0xfcc7ff) AM_RAM_WRITE(lastduel_palette_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xfd0000, 0xfd000f) AM_WRITE(lastduel_scroll_w)
AM_RANGE(0xfd4000, 0xfd7fff) AM_RAM_WRITE(madgear_scroll1_w) AM_BASE(&lastduel_scroll1)
AM_RANGE(0xfd8000, 0xfdffff) AM_RAM_WRITE(madgear_scroll2_w) AM_BASE(&lastduel_scroll2)
diff --git a/src/mame/drivers/lastfght.c b/src/mame/drivers/lastfght.c
index 76b8453f638..888d4714811 100644
--- a/src/mame/drivers/lastfght.c
+++ b/src/mame/drivers/lastfght.c
@@ -80,7 +80,7 @@ static VIDEO_START( lastfght )
for (i = 0; i < 2; i++)
lastfght_bitmap[i] = video_screen_auto_bitmap_alloc(machine->primary_screen);
- colorram = auto_alloc_array(machine, UINT8, 256*3);
+ machine->generic.colorram.u8 = auto_alloc_array(machine, UINT8, 256*3);
}
@@ -131,11 +131,11 @@ static WRITE16_HANDLER(colordac_w)
{
if (ACCESSING_BITS_0_7)
{
- colorram[clr_offset] = data;
+ space->machine->generic.colorram.u8[clr_offset] = data;
palette_set_color_rgb(space->machine, clr_offset/3,
- pal6bit(colorram[(clr_offset/3)*3+0]),
- pal6bit(colorram[(clr_offset/3)*3+1]),
- pal6bit(colorram[(clr_offset/3)*3+2])
+ pal6bit(space->machine->generic.colorram.u8[(clr_offset/3)*3+0]),
+ pal6bit(space->machine->generic.colorram.u8[(clr_offset/3)*3+1]),
+ pal6bit(space->machine->generic.colorram.u8[(clr_offset/3)*3+2])
);
clr_offset = (clr_offset+1) % (256*3);
}
diff --git a/src/mame/drivers/lazercmd.c b/src/mame/drivers/lazercmd.c
index 648b8bb11c4..2313c60d1d2 100644
--- a/src/mame/drivers/lazercmd.c
+++ b/src/mame/drivers/lazercmd.c
@@ -419,7 +419,7 @@ static READ8_HANDLER( lazercmd_hardware_r )
static ADDRESS_MAP_START( lazercmd_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0bff) AM_ROM
AM_RANGE(0x1c00, 0x1c1f) AM_RAM
- AM_RANGE(0x1c20, 0x1eff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x1c20, 0x1eff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x1f00, 0x1f03) AM_WRITE(lazercmd_hardware_w)
AM_RANGE(0x1f00, 0x1f07) AM_READ(lazercmd_hardware_r)
ADDRESS_MAP_END
@@ -429,7 +429,7 @@ static ADDRESS_MAP_START( medlanes_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0bff) AM_ROM
AM_RANGE(0x1000, 0x17ff) AM_ROM
AM_RANGE(0x1c00, 0x1c1f) AM_RAM
- AM_RANGE(0x1c20, 0x1eff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x1c20, 0x1eff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x1f00, 0x1f03) AM_WRITE(medlanes_hardware_w)
AM_RANGE(0x1f00, 0x1f07) AM_READ(lazercmd_hardware_r)
ADDRESS_MAP_END
@@ -438,7 +438,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( bbonk_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0bff) AM_ROM
AM_RANGE(0x1c00, 0x1c1f) AM_RAM
- AM_RANGE(0x1c20, 0x1eff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x1c20, 0x1eff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x1f00, 0x1f03) AM_WRITE(bbonk_hardware_w)
AM_RANGE(0x1f00, 0x1f07) AM_READ(lazercmd_hardware_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/legionna.c b/src/mame/drivers/legionna.c
index 0a939de67a6..7f26b437955 100644
--- a/src/mame/drivers/legionna.c
+++ b/src/mame/drivers/legionna.c
@@ -90,9 +90,9 @@ static ADDRESS_MAP_START( legionna_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x102000, 0x1027ff) AM_RAM_WRITE(legionna_midground_w) AM_BASE(&legionna_mid_data)
AM_RANGE(0x102800, 0x1037ff) AM_RAM_WRITE(legionna_text_w) AM_BASE(&legionna_textram)
AM_RANGE(0x104000, 0x104fff) AM_RAM /* The 4000-4fff area contains PALETTE words and may be extra paletteram? */
- AM_RANGE(0x105000, 0x105fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x105000, 0x105fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x106000, 0x106fff) AM_RAM /* is this used outside inits ?? */
- AM_RANGE(0x107000, 0x107fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16) /* palette xRRRRxGGGGxBBBBx ? */
+ AM_RANGE(0x107000, 0x107fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) /* palette xRRRRxGGGGxBBBBx ? */
AM_RANGE(0x108000, 0x11ffff) AM_RAM /* main ram */
ADDRESS_MAP_END
@@ -105,8 +105,8 @@ static ADDRESS_MAP_START( heatbrl_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x101000, 0x1017ff) AM_RAM_WRITE(legionna_foreground_w) AM_BASE(&legionna_fore_data)
AM_RANGE(0x101800, 0x101fff) AM_RAM_WRITE(legionna_midground_w) AM_BASE(&legionna_mid_data)
AM_RANGE(0x102000, 0x102fff) AM_RAM_WRITE(legionna_text_w) AM_BASE(&legionna_textram)
- AM_RANGE(0x103000, 0x103fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x103000, 0x103fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x108000, 0x11ffff) AM_RAM
ADDRESS_MAP_END
@@ -119,8 +119,8 @@ static ADDRESS_MAP_START( godzilla_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x102000, 0x1027ff) AM_RAM_WRITE(legionna_midground_w) AM_BASE(&legionna_mid_data)
AM_RANGE(0x102800, 0x1037ff) AM_RAM_WRITE(legionna_text_w) AM_BASE(&legionna_textram)
AM_RANGE(0x103800, 0x103fff) AM_RAM_WRITE(legionna_foreground_w) AM_BASE(&legionna_fore_data)
- AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0x105000, 0x105fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x105000, 0x105fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x106000, 0x1067ff) AM_RAM
AM_RANGE(0x106800, 0x106fff) AM_RAM
AM_RANGE(0x107000, 0x107fff) AM_RAM /*Ani-DSP ram*/
@@ -131,7 +131,7 @@ ADDRESS_MAP_END
static WRITE16_HANDLER( denjin_paletteram16_xBBBBBGGGGGRRRRR_word_w )
{
offset^=1;
- COMBINE_DATA(&paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
paletteram16_xBBBBBGGGGGRRRRR_word_w(space,offset,data,mem_mask);
}
@@ -145,10 +145,10 @@ static ADDRESS_MAP_START( denjinmk_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x102000, 0x1027ff) AM_RAM_WRITE(legionna_midground_w) AM_BASE(&legionna_mid_data)
AM_RANGE(0x102800, 0x103fff) AM_RAM_WRITE(legionna_text_w) AM_BASE(&legionna_textram)
AM_RANGE(0x104000, 0x104fff) AM_RAM
- AM_RANGE(0x105000, 0x105fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x105000, 0x105fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x106000, 0x107fff) AM_RAM
AM_RANGE(0x108000, 0x11dfff) AM_RAM
- AM_RANGE(0x11e000, 0x11efff) AM_RAM_WRITE(denjin_paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x11e000, 0x11efff) AM_RAM_WRITE(denjin_paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x11f000, 0x11ffff) AM_RAM
ADDRESS_MAP_END
@@ -160,11 +160,11 @@ static ADDRESS_MAP_START( grainbow_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x101000, 0x1017ff) AM_RAM_WRITE(legionna_foreground_w) AM_BASE(&legionna_fore_data)
AM_RANGE(0x101800, 0x101fff) AM_RAM_WRITE(legionna_midground_w) AM_BASE(&legionna_mid_data)
AM_RANGE(0x102000, 0x102fff) AM_RAM_WRITE(legionna_text_w) AM_BASE(&legionna_textram)
- AM_RANGE(0x103000, 0x103fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x103000, 0x103fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w)
AM_RANGE(0x105000, 0x105fff) AM_RAM
AM_RANGE(0x106000, 0x106fff) AM_RAM
- AM_RANGE(0x107000, 0x107fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x107000, 0x107fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x108000, 0x11ffff) AM_RAM
ADDRESS_MAP_END
@@ -176,10 +176,10 @@ static ADDRESS_MAP_START( cupsoc_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x101000, 0x1017ff) AM_RAM_WRITE(legionna_foreground_w) AM_BASE(&legionna_fore_data)
AM_RANGE(0x101800, 0x101fff) AM_RAM_WRITE(legionna_midground_w) AM_BASE(&legionna_mid_data)
AM_RANGE(0x102000, 0x102fff) AM_RAM_WRITE(legionna_text_w) AM_BASE(&legionna_textram)
- AM_RANGE(0x103000, 0x103fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x103000, 0x103fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) /*<according to the debug mode,there is a DMA that copies from here to the paletteram>*/
AM_RANGE(0x105000, 0x106fff) AM_RAM
- AM_RANGE(0x107000, 0x1077ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x107000, 0x1077ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x107800, 0x107fff) AM_RAM /*Ani Dsp(?) Ram*/
AM_RANGE(0x108000, 0x10ffff) AM_RAM
AM_RANGE(0x110000, 0x119fff) AM_RAM
@@ -195,10 +195,10 @@ static ADDRESS_MAP_START( cupsocbl_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x101000, 0x1017ff) AM_RAM_WRITE(legionna_foreground_w) AM_BASE(&legionna_fore_data)
AM_RANGE(0x101800, 0x101fff) AM_RAM_WRITE(legionna_midground_w) AM_BASE(&legionna_mid_data)
AM_RANGE(0x102000, 0x102fff) AM_RAM_WRITE(legionna_text_w) AM_BASE(&legionna_textram)
- AM_RANGE(0x103000, 0x103fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x103000, 0x103fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) /*<according to the debug mode,there is a DMA that copies from here to the paletteram>*/
AM_RANGE(0x105000, 0x106fff) AM_RAM
- AM_RANGE(0x107000, 0x1077ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x107000, 0x1077ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x107800, 0x107fff) AM_RAM /*Ani Dsp(?) Ram*/
AM_RANGE(0x108000, 0x10ffff) AM_RAM
AM_RANGE(0x110000, 0x119fff) AM_RAM
diff --git a/src/mame/drivers/leland.c b/src/mame/drivers/leland.c
index 389664d3d0e..685fc5924b0 100644
--- a/src/mame/drivers/leland.c
+++ b/src/mame/drivers/leland.c
@@ -67,7 +67,7 @@ static ADDRESS_MAP_START( master_map_program, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xa000, 0xdfff) AM_ROMBANK(2)
AM_RANGE(0xa000, 0xdfff) AM_WRITE(leland_battery_ram_w)
AM_RANGE(0xe000, 0xefff) AM_RAM
- AM_RANGE(0xf000, 0xf3ff) AM_READWRITE(leland_gated_paletteram_r, leland_gated_paletteram_w) AM_BASE(&paletteram)
+ AM_RANGE(0xf000, 0xf3ff) AM_READWRITE(leland_gated_paletteram_r, leland_gated_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xf800, 0xf801) AM_WRITE(leland_master_video_addr_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/lemmings.c b/src/mame/drivers/lemmings.c
index 5191af85eff..d70607af00f 100644
--- a/src/mame/drivers/lemmings.c
+++ b/src/mame/drivers/lemmings.c
@@ -63,12 +63,12 @@ static WRITE16_HANDLER( lemmings_palette_24bit_w )
{
int r,g,b;
- COMBINE_DATA(&paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
if (offset&1) offset--;
- b = (paletteram16[offset] >> 0) & 0xff;
- g = (paletteram16[offset+1] >> 8) & 0xff;
- r = (paletteram16[offset+1] >> 0) & 0xff;
+ b = (space->machine->generic.paletteram.u16[offset] >> 0) & 0xff;
+ g = (space->machine->generic.paletteram.u16[offset+1] >> 8) & 0xff;
+ r = (space->machine->generic.paletteram.u16[offset+1] >> 0) & 0xff;
palette_set_color(space->machine,offset/2,MAKE_RGB(r,g,b));
}
@@ -89,9 +89,9 @@ static WRITE8_HANDLER( lemmings_sound_ack_w )
static ADDRESS_MAP_START( lemmings_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
- AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0x140000, 0x1407ff) AM_RAM AM_BASE(&spriteram16_2) AM_SIZE(&spriteram_2_size)
- AM_RANGE(0x160000, 0x160fff) AM_RAM_WRITE(lemmings_palette_24bit_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x140000, 0x1407ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram2)
+ AM_RANGE(0x160000, 0x160fff) AM_RAM_WRITE(lemmings_palette_24bit_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x170000, 0x17000f) AM_RAM_WRITE(lemmings_control_w) AM_BASE(&lemmings_control_data)
AM_RANGE(0x190000, 0x19000f) AM_READ(lemmings_trackball_r)
AM_RANGE(0x1a0000, 0x1a07ff) AM_READ(lemmings_prot_r)
diff --git a/src/mame/drivers/lethal.c b/src/mame/drivers/lethal.c
index dd94a8ac7ae..f75897aed7e 100644
--- a/src/mame/drivers/lethal.c
+++ b/src/mame/drivers/lethal.c
@@ -283,7 +283,7 @@ static READ8_HANDLER( le_4800_r )
{
if (cur_control2 & 0x10) // RAM enable
{
- return paletteram[offset];
+ return space->machine->generic.paletteram.u8[offset];
}
else
{
@@ -496,7 +496,7 @@ static ADDRESS_MAP_START( le_main, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x40db, 0x40db) AM_READ(gunsaux_r) // top X bit of guns
AM_RANGE(0x40dc, 0x40dc) AM_WRITE(le_bankswitch_w)
AM_RANGE(0x47fe, 0x47ff) AM_WRITE(le_bgcolor_w) // BG color
- AM_RANGE(0x4800, 0x7fff) AM_READWRITE(le_4800_r, le_4800_w) AM_BASE(&paletteram) // bankswitched: RAM and registers
+ AM_RANGE(0x4800, 0x7fff) AM_READWRITE(le_4800_r, le_4800_w) AM_BASE_GENERIC(paletteram) // bankswitched: RAM and registers
AM_RANGE(0x8000, 0xffff) AM_READ(SMH_BANK(2)) AM_WRITE(SMH_ROM)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/liberate.c b/src/mame/drivers/liberate.c
index f45df763dea..286acd00c9e 100644
--- a/src/mame/drivers/liberate.c
+++ b/src/mame/drivers/liberate.c
@@ -56,9 +56,9 @@ static READ8_HANDLER( deco16_bank_r )
return ROM[offset];
/* Else the handler falls through to read the usual address */
- if (offset<0x400) return colorram[offset];
- if (offset<0x800) return videoram[offset-0x400];
- if (offset<0x1000) return spriteram[offset-0x800];
+ if (offset<0x400) return space->machine->generic.colorram.u8[offset];
+ if (offset<0x800) return space->machine->generic.videoram.u8[offset-0x400];
+ if (offset<0x1000) return space->machine->generic.spriteram.u8[offset-0x800];
if (offset<0x2200) { logerror("%04x: Unmapped bank read %04x\n",cpu_get_pc(space->cpu),offset); return 0; }
if (offset<0x2800) return scratchram[offset-0x2200];
@@ -99,10 +99,10 @@ static READ8_HANDLER( prosoccr_bank_r )
return ROM[offset];
/* Else the handler falls through to read the usual address */
- if (offset<0x400) return colorram[offset];
- if (offset<0x800) return videoram[offset-0x400];
- if (offset<0xc00) return colorram[offset-0x800];
- if (offset<0x1000) return spriteram[offset-0xc00];
+ if (offset<0x400) return space->machine->generic.colorram.u8[offset];
+ if (offset<0x800) return space->machine->generic.videoram.u8[offset-0x400];
+ if (offset<0xc00) return space->machine->generic.colorram.u8[offset-0x800];
+ if (offset<0x1000) return space->machine->generic.spriteram.u8[offset-0xc00];
if (offset<0x2200) { logerror("%04x: Unmapped bank read %04x\n",cpu_get_pc(space->cpu),offset); return 0; }
if (offset<0x2800) return scratchram[offset-0x2200];
@@ -241,14 +241,14 @@ static WRITE8_HANDLER( prosport_charram_w )
*************************************/
static ADDRESS_MAP_START( prosport_map, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0200, 0x021f) AM_RAM_WRITE(prosport_paletteram_w) AM_BASE(&paletteram)
+ AM_RANGE(0x0200, 0x021f) AM_RAM_WRITE(prosport_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x0000, 0x03ff) AM_MIRROR(0x2000) AM_RAM
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(prosport_bg_vram_w) AM_BASE(&prosport_bg_vram)
AM_RANGE(0x0800, 0x1fff) AM_READWRITE(prosport_charram_r,prosport_charram_w) //0x1e00-0x1fff isn't charram!
AM_RANGE(0x2400, 0x2fff) AM_RAM
- AM_RANGE(0x3000, 0x33ff) AM_RAM_WRITE(liberate_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0x3400, 0x37ff) AM_RAM_WRITE(liberate_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x3800, 0x3fff) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0x3000, 0x33ff) AM_RAM_WRITE(liberate_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x3400, 0x37ff) AM_RAM_WRITE(liberate_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x3800, 0x3fff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x8000, 0x800f) AM_WRITE(prosport_io_w)
AM_RANGE(0x8000, 0x800f) AM_ROMBANK(1)
AM_RANGE(0x4000, 0xffff) AM_ROM
@@ -258,9 +258,9 @@ static ADDRESS_MAP_START( liberate_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x3fff) AM_ROM /* Mirror of main rom */
AM_RANGE(0x4000, 0x7fff) AM_READ(deco16_bank_r)
- AM_RANGE(0x4000, 0x43ff) AM_WRITE(liberate_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0x4400, 0x47ff) AM_WRITE(liberate_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x4800, 0x4fff) AM_WRITEONLY AM_BASE(&spriteram)
+ AM_RANGE(0x4000, 0x43ff) AM_WRITE(liberate_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x4400, 0x47ff) AM_WRITE(liberate_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x4800, 0x4fff) AM_WRITEONLY AM_BASE_GENERIC(spriteram)
AM_RANGE(0x6200, 0x67ff) AM_RAM AM_BASE(&scratchram)
AM_RANGE(0x8000, 0x800f) AM_WRITE(deco16_io_w)
AM_RANGE(0x8000, 0x800f) AM_ROMBANK(1)
@@ -271,9 +271,9 @@ static ADDRESS_MAP_START( prosoccr_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x3fff) AM_ROM /* Mirror of main rom */
AM_RANGE(0x4000, 0x7fff) AM_READ(prosoccr_bank_r)
- AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x800) AM_WRITE(liberate_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0x4400, 0x47ff) AM_WRITE(liberate_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x4c00, 0x4fff) AM_WRITEONLY AM_BASE(&spriteram)
+ AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x800) AM_WRITE(liberate_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x4400, 0x47ff) AM_WRITE(liberate_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x4c00, 0x4fff) AM_WRITEONLY AM_BASE_GENERIC(spriteram)
AM_RANGE(0x6200, 0x67ff) AM_RAM AM_BASE(&scratchram)
AM_RANGE(0x8000, 0x97ff) AM_READWRITE(prosoccr_charram_r,prosoccr_charram_w)
AM_RANGE(0x9800, 0x9800) AM_WRITE(prosoccr_char_bank_w)
@@ -295,9 +295,9 @@ static ADDRESS_MAP_START( liberatb_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x3fff) AM_ROM /* Mirror of main rom */
AM_RANGE(0x4000, 0x7fff) AM_READ(deco16_bank_r)
- AM_RANGE(0x4000, 0x43ff) AM_WRITE(liberate_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0x4400, 0x47ff) AM_WRITE(liberate_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x4800, 0x4fff) AM_WRITEONLY AM_BASE(&spriteram)
+ AM_RANGE(0x4000, 0x43ff) AM_WRITE(liberate_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x4400, 0x47ff) AM_WRITE(liberate_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x4800, 0x4fff) AM_WRITEONLY AM_BASE_GENERIC(spriteram)
AM_RANGE(0x6200, 0x67ff) AM_WRITEONLY AM_BASE(&scratchram)
AM_RANGE(0xf000, 0xf00f) AM_WRITE(deco16_io_w)
AM_RANGE(0xf000, 0xf000) AM_READ_PORT("IN1")
diff --git a/src/mame/drivers/limenko.c b/src/mame/drivers/limenko.c
index bbeb17752ce..ef43f42b9f9 100644
--- a/src/mame/drivers/limenko.c
+++ b/src/mame/drivers/limenko.c
@@ -54,17 +54,17 @@ static WRITE32_HANDLER( limenko_coincounter_w )
static WRITE32_HANDLER( limenko_paletteram_w )
{
UINT16 paldata;
- COMBINE_DATA(&paletteram32[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
if(ACCESSING_BITS_0_15)
{
- paldata = paletteram32[offset] & 0x7fff;
+ paldata = space->machine->generic.paletteram.u32[offset] & 0x7fff;
palette_set_color_rgb(space->machine, offset * 2 + 1, pal5bit(paldata >> 0), pal5bit(paldata >> 5), pal5bit(paldata >> 10));
}
if(ACCESSING_BITS_16_31)
{
- paldata = (paletteram32[offset] >> 16) & 0x7fff;
+ paldata = (space->machine->generic.paletteram.u32[offset] >> 16) & 0x7fff;
palette_set_color_rgb(space->machine, offset * 2 + 0, pal5bit(paldata >> 0), pal5bit(paldata >> 5), pal5bit(paldata >> 10));
}
}
@@ -114,12 +114,12 @@ static WRITE32_HANDLER( spriteram_buffer_w )
if(spriteram_bit)
{
// draw the sprites to the frame buffer
- draw_sprites(space->machine,spriteram32_2,&clip,prev_sprites_count);
+ draw_sprites(space->machine,space->machine->generic.spriteram2.u32,&clip,prev_sprites_count);
}
else
{
// draw the sprites to the frame buffer
- draw_sprites(space->machine,spriteram32,&clip,prev_sprites_count);
+ draw_sprites(space->machine,space->machine->generic.spriteram.u32,&clip,prev_sprites_count);
}
// buffer the next number of sprites to draw
@@ -136,9 +136,9 @@ static ADDRESS_MAP_START( limenko_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x80000000, 0x80007fff) AM_RAM_WRITE(fg_videoram_w) AM_BASE(&fg_videoram)
AM_RANGE(0x80008000, 0x8000ffff) AM_RAM_WRITE(md_videoram_w) AM_BASE(&md_videoram)
AM_RANGE(0x80010000, 0x80017fff) AM_RAM_WRITE(bg_videoram_w) AM_BASE(&bg_videoram)
- AM_RANGE(0x80018000, 0x80018fff) AM_RAM AM_BASE(&spriteram32) AM_SIZE(&spriteram_size)
- AM_RANGE(0x80019000, 0x80019fff) AM_RAM AM_BASE(&spriteram32_2)
- AM_RANGE(0x8001c000, 0x8001dfff) AM_RAM_WRITE(limenko_paletteram_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x80018000, 0x80018fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x80019000, 0x80019fff) AM_RAM AM_BASE_GENERIC(spriteram2)
+ AM_RANGE(0x8001c000, 0x8001dfff) AM_RAM_WRITE(limenko_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x8001e000, 0x8001ebff) AM_RAM // ? not used
AM_RANGE(0x8001ffec, 0x8001ffff) AM_RAM AM_BASE(&limenko_videoreg)
AM_RANGE(0x8003e000, 0x8003e003) AM_WRITE(spriteram_buffer_w)
@@ -163,9 +163,9 @@ static ADDRESS_MAP_START( spotty_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x80000000, 0x80007fff) AM_RAM_WRITE(fg_videoram_w) AM_BASE(&fg_videoram)
AM_RANGE(0x80008000, 0x8000ffff) AM_RAM_WRITE(md_videoram_w) AM_BASE(&md_videoram)
AM_RANGE(0x80010000, 0x80017fff) AM_RAM_WRITE(bg_videoram_w) AM_BASE(&bg_videoram)
- AM_RANGE(0x80018000, 0x80018fff) AM_RAM AM_BASE(&spriteram32) AM_SIZE(&spriteram_size)
- AM_RANGE(0x80019000, 0x80019fff) AM_RAM AM_BASE(&spriteram32_2)
- AM_RANGE(0x8001c000, 0x8001dfff) AM_RAM_WRITE(limenko_paletteram_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x80018000, 0x80018fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x80019000, 0x80019fff) AM_RAM AM_BASE_GENERIC(spriteram2)
+ AM_RANGE(0x8001c000, 0x8001dfff) AM_RAM_WRITE(limenko_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x8001e000, 0x8001ebff) AM_RAM // ? not used
AM_RANGE(0x8001ffec, 0x8001ffff) AM_RAM AM_BASE(&limenko_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 64c59de5ff0..aa50f3818f8 100644
--- a/src/mame/drivers/lkage.c
+++ b/src/mame/drivers/lkage.c
@@ -117,7 +117,7 @@ static WRITE8_HANDLER( lkage_sh_nmi_enable_w )
static ADDRESS_MAP_START( lkage_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xe7ff) AM_RAM /* work ram */
- AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_le_w) AM_BASE(&paletteram)
+ AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_le_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xf000, 0xf003) AM_RAM AM_BASE(&lkage_vreg) /* video registers */
AM_RANGE(0xf060, 0xf060) AM_WRITE(lkage_sound_command_w)
AM_RANGE(0xf061, 0xf061) AM_WRITENOP
@@ -133,8 +133,8 @@ static ADDRESS_MAP_START( lkage_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xf0a0, 0xf0a3) AM_RAM /* unknown */
AM_RANGE(0xf0c0, 0xf0c5) AM_RAM AM_BASE(&lkage_scroll)
AM_RANGE(0xf0e1, 0xf0e1) AM_WRITENOP /* pulsed */
- AM_RANGE(0xf100, 0xf15f) AM_RAM AM_BASE(&spriteram)
- AM_RANGE(0xf400, 0xffff) AM_RAM_WRITE(lkage_videoram_w) AM_BASE(&videoram) /* videoram */
+ AM_RANGE(0xf100, 0xf15f) AM_RAM AM_BASE_GENERIC(spriteram)
+ AM_RANGE(0xf400, 0xffff) AM_RAM_WRITE(lkage_videoram_w) AM_BASE_GENERIC(videoram) /* videoram */
ADDRESS_MAP_END
static READ8_HANDLER( port_fetch_r )
diff --git a/src/mame/drivers/lordgun.c b/src/mame/drivers/lordgun.c
index 170ccc6557b..5b43a293d96 100644
--- a/src/mame/drivers/lordgun.c
+++ b/src/mame/drivers/lordgun.c
@@ -153,8 +153,8 @@ static ADDRESS_MAP_START( lordgun_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x314000, 0x317fff) AM_RAM_WRITE(lordgun_vram_2_w) AM_BASE(&lordgun_vram_2) // DISPLAY
AM_RANGE(0x318000, 0x319fff) AM_RAM_WRITE(lordgun_vram_3_w) AM_BASE(&lordgun_vram_3) // DISPLAY
AM_RANGE(0x31c000, 0x31c7ff) AM_RAM AM_BASE(&lordgun_scrollram) // LINE
- AM_RANGE(0x400000, 0x4007ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // ANIMATOR
- AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x400000, 0x4007ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // ANIMATOR
+ AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x502000, 0x502001) AM_WRITE(SMH_RAM) AM_BASE(&lordgun_scroll_x_0)
AM_RANGE(0x502200, 0x502201) AM_WRITE(SMH_RAM) AM_BASE(&lordgun_scroll_x_1)
AM_RANGE(0x502400, 0x502401) AM_WRITE(SMH_RAM) AM_BASE(&lordgun_scroll_x_2)
@@ -184,8 +184,8 @@ static ADDRESS_MAP_START( hfh_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x314000, 0x317fff) AM_RAM_WRITE(lordgun_vram_2_w) AM_BASE(&lordgun_vram_2) // DISPLAY
AM_RANGE(0x318000, 0x319fff) AM_RAM_WRITE(lordgun_vram_3_w) AM_BASE(&lordgun_vram_3) // DISPLAY
AM_RANGE(0x31c000, 0x31c7ff) AM_RAM AM_BASE(&lordgun_scrollram) // LINE
- AM_RANGE(0x400000, 0x4007ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // ANIMATOR
- AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x400000, 0x4007ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // ANIMATOR
+ AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x502000, 0x502001) AM_WRITE(SMH_RAM) AM_BASE(&lordgun_scroll_x_0)
AM_RANGE(0x502200, 0x502201) AM_WRITE(SMH_RAM) AM_BASE(&lordgun_scroll_x_1)
AM_RANGE(0x502400, 0x502401) AM_WRITE(SMH_RAM) AM_BASE(&lordgun_scroll_x_2)
diff --git a/src/mame/drivers/lsasquad.c b/src/mame/drivers/lsasquad.c
index 640d9cc8b81..a854a067266 100644
--- a/src/mame/drivers/lsasquad.c
+++ b/src/mame/drivers/lsasquad.c
@@ -172,9 +172,9 @@ static ADDRESS_MAP_START( lsasquad_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK(1)
AM_RANGE(0xa000, 0xbfff) AM_RAM /* SRAM */
- AM_RANGE(0xc000, 0xdfff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size) /* SCREEN RAM */
+ AM_RANGE(0xc000, 0xdfff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) /* SCREEN RAM */
AM_RANGE(0xe000, 0xe3ff) AM_RAM AM_BASE(&lsasquad_scrollram) /* SCROLL RAM */
- AM_RANGE(0xe400, 0xe5ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) /* OBJECT RAM */
+ AM_RANGE(0xe400, 0xe5ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* OBJECT RAM */
AM_RANGE(0xe800, 0xe800) AM_READ_PORT("DSWA")
AM_RANGE(0xe801, 0xe801) AM_READ_PORT("DSWB")
AM_RANGE(0xe802, 0xe802) AM_READ_PORT("DSWC")
@@ -342,9 +342,9 @@ static ADDRESS_MAP_START( daikaiju_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_READ(SMH_BANK(1))
AM_RANGE(0xa000, 0xbfff) AM_RAM /* SRAM */
- AM_RANGE(0xc000, 0xdfff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size) /* SCREEN RAM */
+ AM_RANGE(0xc000, 0xdfff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) /* SCREEN RAM */
AM_RANGE(0xe000, 0xe3ff) AM_RAM AM_BASE(&lsasquad_scrollram) /* SCROLL RAM */
- AM_RANGE(0xe400, 0xe7ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) /* OBJECT RAM */
+ AM_RANGE(0xe400, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* OBJECT RAM */
AM_RANGE(0xe800, 0xe800) AM_READ_PORT("DSWA")
AM_RANGE(0xe801, 0xe801) AM_READ_PORT("DSWB")
AM_RANGE(0xe803, 0xe803) AM_READ(daikaiju_mcu_status_r) /* COIN + 68705 status */
diff --git a/src/mame/drivers/lvcards.c b/src/mame/drivers/lvcards.c
index 6a64f80c186..e6ed1384001 100644
--- a/src/mame/drivers/lvcards.c
+++ b/src/mame/drivers/lvcards.c
@@ -157,8 +157,8 @@ static READ8_HANDLER( payout_r )
static ADDRESS_MAP_START( ponttehk_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(lvcards_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(lvcards_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(lvcards_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(lvcards_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0")
AM_RANGE(0xa001, 0xa001) AM_READ_PORT("IN1") AM_WRITENOP // lamps
AM_RANGE(0xa002, 0xa002) AM_READ(payout_r) AM_WRITE(control_port_2a_w)//AM_WRITENOP // ???
@@ -167,8 +167,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( lvcards_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(lvcards_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(lvcards_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(lvcards_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(lvcards_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0")
AM_RANGE(0xa001, 0xa001) AM_READ_PORT("IN1") AM_WRITENOP
AM_RANGE(0xa002, 0xa002) AM_READ_PORT("IN2") AM_WRITENOP
@@ -184,8 +184,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( lvpoker_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(lvcards_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(lvcards_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(lvcards_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(lvcards_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0")
AM_RANGE(0xa001, 0xa001) AM_READ_PORT("IN1") AM_WRITENOP // lamps
AM_RANGE(0xa002, 0xa002) AM_READ(payout_r) AM_WRITE(control_port_2_w)
diff --git a/src/mame/drivers/lwings.c b/src/mame/drivers/lwings.c
index faa2364400f..de30f78e80e 100644
--- a/src/mame/drivers/lwings.c
+++ b/src/mame/drivers/lwings.c
@@ -271,12 +271,12 @@ static ADDRESS_MAP_START( avengers_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
AM_RANGE(0xc000, 0xddff) AM_RAM
- AM_RANGE(0xde00, 0xdf7f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xde00, 0xdf7f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xdf80, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(lwings_fgvideoram_w) AM_BASE(&lwings_fgvideoram)
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(lwings_bg1videoram_w) AM_BASE(&lwings_bg1videoram)
- AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_split2_w) AM_BASE(&paletteram_2)
- AM_RANGE(0xf400, 0xf7ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_split1_w) AM_BASE(&paletteram)
+ AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_split2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0xf400, 0xf7ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_split1_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xf800, 0xf801) AM_WRITE(lwings_bg1_scrollx_w)
AM_RANGE(0xf802, 0xf803) AM_WRITE(lwings_bg1_scrolly_w)
AM_RANGE(0xf804, 0xf804) AM_WRITE(trojan_bg2_scrollx_w)
@@ -295,11 +295,11 @@ static ADDRESS_MAP_START( lwings_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
AM_RANGE(0xc000, 0xddff) AM_RAM
- AM_RANGE(0xde00, 0xdfff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xde00, 0xdfff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(lwings_fgvideoram_w) AM_BASE(&lwings_fgvideoram)
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(lwings_bg1videoram_w) AM_BASE(&lwings_bg1videoram)
- AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_split2_w) AM_BASE(&paletteram_2)
- AM_RANGE(0xf400, 0xf7ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_split1_w) AM_BASE(&paletteram)
+ AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_split2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0xf400, 0xf7ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_split1_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xf808, 0xf808) AM_READ_PORT("SERVICE")
AM_RANGE(0xf809, 0xf809) AM_READ_PORT("P1")
@@ -316,12 +316,12 @@ static ADDRESS_MAP_START( trojan_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
AM_RANGE(0xc000, 0xddff) AM_RAM
- AM_RANGE(0xde00, 0xdf7f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xde00, 0xdf7f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xdf80, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(lwings_fgvideoram_w) AM_BASE(&lwings_fgvideoram)
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(lwings_bg1videoram_w) AM_BASE(&lwings_bg1videoram)
- AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_split2_w) AM_BASE(&paletteram_2)
- AM_RANGE(0xf400, 0xf7ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_split1_w) AM_BASE(&paletteram)
+ AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_split2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0xf400, 0xf7ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_split1_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xf800, 0xf801) AM_WRITE(lwings_bg1_scrollx_w)
AM_RANGE(0xf802, 0xf803) AM_WRITE(lwings_bg1_scrolly_w)
diff --git a/src/mame/drivers/m10.c b/src/mame/drivers/m10.c
index 288c828c0ee..6be7fbd587d 100644
--- a/src/mame/drivers/m10.c
+++ b/src/mame/drivers/m10.c
@@ -556,7 +556,7 @@ static INTERRUPT_GEN( m15_interrupt )
static ADDRESS_MAP_START( m10_main, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x02ff) AM_RAM AM_BASE_MEMBER(m10_state, memory) /* scratch ram */
AM_RANGE(0x1000, 0x2fff) AM_READ(SMH_ROM) AM_BASE_MEMBER(m10_state, rom)
- AM_RANGE(0x4000, 0x43ff) AM_RAM AM_BASE_MEMBER(m10_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x4000, 0x43ff) AM_RAM AM_BASE_MEMBER(m10_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x4800, 0x4bff) AM_RAM_WRITE(m10_colorram_w) AM_BASE_MEMBER(m10_state, colorram) /* foreground colour */
AM_RANGE(0x5000, 0x53ff) AM_RAM_WRITE(m10_chargen_w) AM_BASE_MEMBER(m10_state, chargen) /* background ????? */
AM_RANGE(0xa200, 0xa200) AM_READ_PORT("DSW")
@@ -570,7 +570,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( m11_main, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x02ff) AM_RAM AM_BASE_MEMBER(m10_state, memory) /* scratch ram */
AM_RANGE(0x1000, 0x2fff) AM_READ(SMH_ROM) AM_BASE_MEMBER(m10_state, rom)
- AM_RANGE(0x4000, 0x43ff) AM_RAM AM_BASE_MEMBER(m10_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x4000, 0x43ff) AM_RAM AM_BASE_MEMBER(m10_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x4800, 0x4bff) AM_RAM_WRITE(m10_colorram_w) AM_BASE_MEMBER(m10_state, colorram) /* foreground colour */
AM_RANGE(0x5000, 0x53ff) AM_RAM AM_BASE_MEMBER(m10_state, chargen) /* background ????? */
AM_RANGE(0xa100, 0xa100) AM_WRITE(m11_a100_w) /* sound writes ???? */
@@ -584,7 +584,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( m15_main, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x02ff) AM_RAM AM_BASE_MEMBER(m10_state, memory) /* scratch ram */
AM_RANGE(0x1000, 0x33ff) AM_READ(SMH_ROM) AM_BASE_MEMBER(m10_state, rom)
- AM_RANGE(0x4000, 0x43ff) AM_RAM AM_BASE_MEMBER(m10_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x4000, 0x43ff) AM_RAM AM_BASE_MEMBER(m10_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x4800, 0x4bff) AM_RAM_WRITE(m10_colorram_w) AM_BASE_MEMBER(m10_state, colorram) /* foreground colour */
AM_RANGE(0x5000, 0x57ff) AM_RAM_WRITE(m15_chargen_w) AM_BASE_MEMBER(m10_state, chargen) /* background ????? */
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("P2")
diff --git a/src/mame/drivers/m107.c b/src/mame/drivers/m107.c
index 0dc1b928448..641de554726 100644
--- a/src/mame/drivers/m107.c
+++ b/src/mame/drivers/m107.c
@@ -166,8 +166,8 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xa0000, 0xbffff) AM_ROMBANK(1)
AM_RANGE(0xd0000, 0xdffff) AM_RAM_WRITE(m107_vram_w) AM_BASE(&m107_vram_data)
AM_RANGE(0xe0000, 0xeffff) AM_RAM /* System ram */
- AM_RANGE(0xf8000, 0xf8fff) AM_RAM AM_BASE(&spriteram16)
- AM_RANGE(0xf9000, 0xf9fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xf8000, 0xf8fff) AM_RAM AM_BASE_GENERIC(spriteram)
+ AM_RANGE(0xf9000, 0xf9fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xffff0, 0xfffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/m52.c b/src/mame/drivers/m52.c
index f7941bcf24e..d106ab7c34f 100644
--- a/src/mame/drivers/m52.c
+++ b/src/mame/drivers/m52.c
@@ -62,7 +62,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(m52_videoram_w) AM_BASE_MEMBER(irem_z80_state, videoram)
AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(m52_colorram_w) AM_BASE_MEMBER(irem_z80_state, colorram)
AM_RANGE(0x8800, 0x8800) AM_MIRROR(0x07ff) AM_READ(m52_protection_r)
- AM_RANGE(0xc800, 0xcbff) AM_MIRROR(0x0400) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xc800, 0xcbff) AM_MIRROR(0x0400) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xd000, 0xd000) AM_MIRROR(0x07fc) AM_WRITE(irem_sound_cmd_w)
AM_RANGE(0xd001, 0xd001) AM_MIRROR(0x07fc) AM_WRITE(m52_flipscreen_w) /* + coin counters */
AM_RANGE(0xd000, 0xd000) AM_MIRROR(0x07f8) AM_READ_PORT("IN0")
@@ -78,7 +78,7 @@ static ADDRESS_MAP_START( alpha1v_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x6fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(m52_videoram_w) AM_BASE_MEMBER(irem_z80_state, videoram)
AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(m52_colorram_w) AM_BASE_MEMBER(irem_z80_state, colorram)
- AM_RANGE(0xc800, 0xc9ff) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE(&spriteram_size) AM_SHARE(1) // bigger or mirrored?
+ AM_RANGE(0xc800, 0xc9ff) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE_GENERIC(spriteram) AM_SHARE(1) // bigger or mirrored?
AM_RANGE(0xd000, 0xd000) AM_READ_PORT("IN0") AM_WRITE(irem_sound_cmd_w)
AM_RANGE(0xd001, 0xd001) AM_READ_PORT("IN1") AM_WRITE(alpha1v_flipscreen_w)
AM_RANGE(0xd002, 0xd002) AM_READ_PORT("IN2")
diff --git a/src/mame/drivers/m57.c b/src/mame/drivers/m57.c
index 2648afbd30d..26c4f44316e 100644
--- a/src/mame/drivers/m57.c
+++ b/src/mame/drivers/m57.c
@@ -67,7 +67,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(m57_videoram_w) AM_BASE_MEMBER(irem_z80_state, videoram)
AM_RANGE(0x9000, 0x91ff) AM_RAM AM_BASE_MEMBER(irem_z80_state, scrollram)
- AM_RANGE(0xc820, 0xc8ff) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xc820, 0xc8ff) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xd000, 0xd000) AM_WRITE(irem_sound_cmd_w)
AM_RANGE(0xd001, 0xd001) AM_WRITE(m57_flipscreen_w) /* + coin counters */
AM_RANGE(0xd000, 0xd000) AM_READ_PORT("IN0")
diff --git a/src/mame/drivers/m58.c b/src/mame/drivers/m58.c
index 904ee863f27..19ed5c21a85 100644
--- a/src/mame/drivers/m58.c
+++ b/src/mame/drivers/m58.c
@@ -27,7 +27,7 @@ static ADDRESS_MAP_START( yard_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM_WRITE(yard_videoram_w) AM_BASE_MEMBER(irem_z80_state, videoram)
AM_RANGE(0x9000, 0x9fff) AM_WRITE(yard_scroll_panel_w)
- AM_RANGE(0xc820, 0xc87f) AM_RAM AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xc820, 0xc87f) AM_RAM AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xa000, 0xa000) AM_RAM AM_BASE_MEMBER(irem_z80_state, yard_scroll_x_low)
AM_RANGE(0xa200, 0xa200) AM_RAM AM_BASE_MEMBER(irem_z80_state, yard_scroll_x_high)
AM_RANGE(0xa400, 0xa400) AM_RAM AM_BASE_MEMBER(irem_z80_state, yard_scroll_y_low)
diff --git a/src/mame/drivers/m62.c b/src/mame/drivers/m62.c
index 75cb49087f4..04293fb851c 100644
--- a/src/mame/drivers/m62.c
+++ b/src/mame/drivers/m62.c
@@ -175,7 +175,7 @@ static ADDRESS_MAP_START( kungfum_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xa000, 0xa000) AM_WRITE(m62_hscroll_low_w)
AM_RANGE(0xb000, 0xb000) AM_WRITE(m62_hscroll_high_w)
- AM_RANGE(0xc000, 0xc0ff) AM_WRITEONLY AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xc000, 0xc0ff) AM_WRITEONLY AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE_GENERIC(spriteram)
/* Kung Fu Master is the only game in this driver to have separated (but */
/* contiguous) videoram and colorram. They are interleaved in all the others. */
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(kungfum_tileram_w) AM_BASE_MEMBER(irem_z80_state, m62_tileram)
@@ -194,7 +194,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( battroad_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xa000, 0xbfff) AM_ROMBANK(1)
- AM_RANGE(0xc000, 0xc0ff) AM_WRITEONLY AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xc000, 0xc0ff) AM_WRITEONLY AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(m62_textram_w) AM_BASE_MEMBER(irem_z80_state, m62_textram)
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(m62_tileram_w) AM_BASE_MEMBER(irem_z80_state, m62_tileram)
AM_RANGE(0xe000, 0xefff) AM_RAM
@@ -215,7 +215,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( ldrun_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0xc000, 0xc0ff) AM_WRITEONLY AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xc000, 0xc0ff) AM_WRITEONLY AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(m62_tileram_w) AM_BASE_MEMBER(irem_z80_state, m62_tileram)
AM_RANGE(0xe000, 0xefff) AM_RAM
ADDRESS_MAP_END
@@ -223,7 +223,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( ldrun2_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK(1)
- AM_RANGE(0xc000, 0xc0ff) AM_WRITEONLY AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xc000, 0xc0ff) AM_WRITEONLY AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(m62_tileram_w) AM_BASE_MEMBER(irem_z80_state, m62_tileram)
AM_RANGE(0xe000, 0xefff) AM_RAM
ADDRESS_MAP_END
@@ -244,7 +244,7 @@ static ADDRESS_MAP_START( ldrun3_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc800, 0xc800) AM_READ(ldrun3_prot_5_r)
AM_RANGE(0xcc00, 0xcc00) AM_READ(ldrun3_prot_7_r)
AM_RANGE(0xcfff, 0xcfff) AM_READ(ldrun3_prot_7_r)
- AM_RANGE(0xc000, 0xc0ff) AM_WRITEONLY AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xc000, 0xc0ff) AM_WRITEONLY AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(m62_tileram_w) AM_BASE_MEMBER(irem_z80_state, m62_tileram)
AM_RANGE(0xd000, 0xefff) AM_RAM
ADDRESS_MAP_END
@@ -263,7 +263,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( ldrun4_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
- AM_RANGE(0xc000, 0xc0ff) AM_WRITEONLY AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xc000, 0xc0ff) AM_WRITEONLY AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xc800, 0xc800) AM_WRITE(ldrun4_bankswitch_w)
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(m62_tileram_w) AM_BASE_MEMBER(irem_z80_state, m62_tileram)
AM_RANGE(0xe000, 0xefff) AM_RAM
@@ -283,7 +283,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( lotlot_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xa000, 0xafff) AM_RAM_WRITE(m62_textram_w) AM_BASE_MEMBER(irem_z80_state, m62_textram)
- AM_RANGE(0xc000, 0xc0ff) AM_WRITEONLY AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xc000, 0xc0ff) AM_WRITEONLY AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(m62_tileram_w) AM_BASE_MEMBER(irem_z80_state, m62_tileram)
AM_RANGE(0xe000, 0xefff) AM_RAM
ADDRESS_MAP_END
@@ -292,7 +292,7 @@ static ADDRESS_MAP_START( kidniki_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK(1)
AM_RANGE(0xa000, 0xafff) AM_RAM_WRITE(m62_tileram_w) AM_BASE_MEMBER(irem_z80_state, m62_tileram)
- AM_RANGE(0xc000, 0xc0ff) AM_WRITEONLY AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xc000, 0xc0ff) AM_WRITEONLY AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(m62_textram_w) AM_BASE_MEMBER(irem_z80_state, m62_textram)
AM_RANGE(0xe000, 0xefff) AM_RAM
ADDRESS_MAP_END
@@ -316,7 +316,7 @@ static ADDRESS_MAP_START( spelunkr_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK(1)
AM_RANGE(0xa000, 0xbfff) AM_RAM_WRITE(m62_tileram_w) AM_BASE_MEMBER(irem_z80_state, m62_tileram)
- AM_RANGE(0xc000, 0xc0ff) AM_WRITEONLY AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xc000, 0xc0ff) AM_WRITEONLY AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(m62_textram_w) AM_BASE_MEMBER(irem_z80_state, m62_textram)
AM_RANGE(0xd000, 0xd000) AM_WRITE(m62_vscroll_low_w)
AM_RANGE(0xd001, 0xd001) AM_WRITE(m62_vscroll_high_w)
@@ -332,7 +332,7 @@ static ADDRESS_MAP_START( spelunk2_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0x8fff) AM_ROMBANK(1)
AM_RANGE(0x9000, 0x9fff) AM_ROMBANK(2)
AM_RANGE(0xa000, 0xbfff) AM_RAM_WRITE(m62_tileram_w) AM_BASE_MEMBER(irem_z80_state, m62_tileram)
- AM_RANGE(0xc000, 0xc0ff) AM_WRITEONLY AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xc000, 0xc0ff) AM_WRITEONLY AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(m62_textram_w) AM_BASE_MEMBER(irem_z80_state, m62_textram)
AM_RANGE(0xd000, 0xd000) AM_WRITE(m62_vscroll_low_w)
AM_RANGE(0xd001, 0xd001) AM_WRITE(m62_hscroll_low_w)
@@ -344,7 +344,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( youjyudn_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
- AM_RANGE(0xc000, 0xc0ff) AM_WRITEONLY AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xc000, 0xc0ff) AM_WRITEONLY AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(m62_textram_w) AM_BASE_MEMBER(irem_z80_state, m62_textram)
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(m62_tileram_w) AM_BASE_MEMBER(irem_z80_state, m62_tileram)
AM_RANGE(0xe000, 0xefff) AM_RAM
@@ -364,7 +364,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( horizon_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
- AM_RANGE(0xc000, 0xc1ff) AM_RAM AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xc000, 0xc1ff) AM_RAM AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xc800, 0xc83f) AM_RAM_WRITE(horizon_scrollram_w) AM_BASE_MEMBER(irem_z80_state, scrollram)
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(m62_tileram_w) AM_BASE_MEMBER(irem_z80_state, m62_tileram)
AM_RANGE(0xe000, 0xefff) AM_RAM
diff --git a/src/mame/drivers/m63.c b/src/mame/drivers/m63.c
index 05f3482d503..f44a48bd21c 100644
--- a/src/mame/drivers/m63.c
+++ b/src/mame/drivers/m63.c
@@ -291,7 +291,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
m63_state *state = (m63_state *)machine->driver_data;
int offs;
- for (offs = 0; offs < spriteram_size; offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 4)
{
int code = state->spriteram[offs + 1] | ((state->spriteram[offs + 2] & 0x10) << 4);
int color = (state->spriteram[offs + 2] & 0x0f) + (state->pal_bank << 4);
@@ -428,7 +428,7 @@ static ADDRESS_MAP_START( m63_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xd000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe1ff) AM_RAM
- AM_RANGE(0xe200, 0xe2ff) AM_RAM AM_BASE_MEMBER(m63_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xe200, 0xe2ff) AM_RAM AM_BASE_MEMBER(m63_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xe300, 0xe3ff) AM_RAM AM_BASE_MEMBER(m63_state, scrollram)
AM_RANGE(0xe400, 0xe7ff) AM_RAM_WRITE(m63_videoram2_w) AM_BASE_MEMBER(m63_state, videoram2)
AM_RANGE(0xe800, 0xebff) AM_RAM_WRITE(m63_videoram_w) AM_BASE_MEMBER(m63_state, videoram)
@@ -449,7 +449,7 @@ static ADDRESS_MAP_START( fghtbskt_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xd000, 0xd1ff) AM_RAM
- AM_RANGE(0xd200, 0xd2ff) AM_RAM AM_BASE_MEMBER(m63_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xd200, 0xd2ff) AM_RAM AM_BASE_MEMBER(m63_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xd300, 0xd3ff) AM_RAM AM_BASE_MEMBER(m63_state, scrollram)
AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE(m63_videoram2_w) AM_BASE_MEMBER(m63_state, videoram2)
AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(m63_videoram_w) AM_BASE_MEMBER(m63_state, videoram)
diff --git a/src/mame/drivers/m72.c b/src/mame/drivers/m72.c
index 6476b98f856..510fbaf9741 100644
--- a/src/mame/drivers/m72.c
+++ b/src/mame/drivers/m72.c
@@ -834,9 +834,9 @@ static READ16_HANDLER( poundfor_trackball_r )
static ADDRESS_MAP_START( NAME##_map, ADDRESS_SPACE_PROGRAM, 16 ) \
AM_RANGE(0x00000, ROMSIZE-1) AM_ROM \
AM_RANGE(WORKRAM, WORKRAM+0x3fff) AM_RAM /* work RAM */ \
- AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) \
- AM_RANGE(0xc8000, 0xc8bff) AM_READWRITE(m72_palette1_r, m72_palette1_w) AM_BASE(&paletteram16) \
- AM_RANGE(0xcc000, 0xccbff) AM_READWRITE(m72_palette2_r, m72_palette2_w) AM_BASE(&paletteram16_2) \
+ AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) \
+ AM_RANGE(0xc8000, 0xc8bff) AM_READWRITE(m72_palette1_r, m72_palette1_w) AM_BASE_GENERIC(paletteram) \
+ AM_RANGE(0xcc000, 0xccbff) AM_READWRITE(m72_palette2_r, m72_palette2_w) AM_BASE_GENERIC(paletteram2) \
AM_RANGE(0xd0000, 0xd3fff) AM_RAM_WRITE(m72_videoram1_w) AM_BASE(&m72_videoram1) \
AM_RANGE(0xd8000, 0xdbfff) AM_RAM_WRITE(m72_videoram2_w) AM_BASE(&m72_videoram2) \
AM_RANGE(0xe0000, 0xeffff) AM_READWRITE(soundram_r, soundram_w) \
@@ -854,9 +854,9 @@ static ADDRESS_MAP_START( dbreed_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00000, 0x7ffff) AM_ROM
AM_RANGE(0x88000, 0x8bfff) AM_RAM /* work RAM */
AM_RANGE(0xb0ffe, 0xb0fff) AM_WRITE(SMH_RAM) /* leftover from protection?? */
- AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0xc8000, 0xc8bff) AM_READWRITE(m72_palette1_r, m72_palette1_w) AM_BASE(&paletteram16)
- AM_RANGE(0xcc000, 0xccbff) AM_READWRITE(m72_palette2_r, m72_palette2_w) AM_BASE(&paletteram16_2)
+ AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0xc8000, 0xc8bff) AM_READWRITE(m72_palette1_r, m72_palette1_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xcc000, 0xccbff) AM_READWRITE(m72_palette2_r, m72_palette2_w) AM_BASE_GENERIC(paletteram2)
AM_RANGE(0xd0000, 0xd3fff) AM_RAM_WRITE(m72_videoram1_w) AM_BASE(&m72_videoram1)
AM_RANGE(0xd8000, 0xdbfff) AM_RAM_WRITE(m72_videoram2_w) AM_BASE(&m72_videoram2)
AM_RANGE(0xffff0, 0xfffff) AM_ROM
@@ -866,11 +866,11 @@ static ADDRESS_MAP_START( rtype2_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00000, 0x7ffff) AM_ROM
AM_RANGE(0xb0000, 0xb0001) AM_WRITE(m72_irq_line_w)
AM_RANGE(0xbc000, 0xbc001) AM_WRITE(m72_dmaon_w)
- AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0xc8000, 0xc8bff) AM_READWRITE(m72_palette1_r, m72_palette1_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0xc8000, 0xc8bff) AM_READWRITE(m72_palette1_r, m72_palette1_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xd0000, 0xd3fff) AM_RAM_WRITE(m72_videoram1_w) AM_BASE(&m72_videoram1)
AM_RANGE(0xd4000, 0xd7fff) AM_RAM_WRITE(m72_videoram2_w) AM_BASE(&m72_videoram2)
- AM_RANGE(0xd8000, 0xd8bff) AM_READWRITE(m72_palette2_r, m72_palette2_w) AM_BASE(&paletteram16_2)
+ AM_RANGE(0xd8000, 0xd8bff) AM_READWRITE(m72_palette2_r, m72_palette2_w) AM_BASE_GENERIC(paletteram2)
AM_RANGE(0xe0000, 0xe3fff) AM_RAM /* work RAM */
AM_RANGE(0xffff0, 0xfffff) AM_ROM
ADDRESS_MAP_END
@@ -878,12 +878,12 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( majtitle_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00000, 0x7ffff) AM_ROM
AM_RANGE(0xa0000, 0xa03ff) AM_RAM AM_BASE(&majtitle_rowscrollram)
- AM_RANGE(0xa4000, 0xa4bff) AM_READWRITE(m72_palette2_r, m72_palette2_w) AM_BASE(&paletteram16_2)
+ AM_RANGE(0xa4000, 0xa4bff) AM_READWRITE(m72_palette2_r, m72_palette2_w) AM_BASE_GENERIC(paletteram2)
AM_RANGE(0xac000, 0xaffff) AM_RAM_WRITE(m72_videoram1_w) AM_BASE(&m72_videoram1)
AM_RANGE(0xb0000, 0xbffff) AM_RAM_WRITE(m72_videoram2_w) AM_BASE(&m72_videoram2) /* larger than the other games */
- AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0xc8000, 0xc83ff) AM_RAM AM_BASE(&spriteram16_2)
- AM_RANGE(0xcc000, 0xccbff) AM_READWRITE(m72_palette1_r, m72_palette1_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0xc8000, 0xc83ff) AM_RAM AM_BASE_GENERIC(spriteram2)
+ AM_RANGE(0xcc000, 0xccbff) AM_READWRITE(m72_palette1_r, m72_palette1_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xd0000, 0xd3fff) AM_RAM /* work RAM */
AM_RANGE(0xe0000, 0xe0001) AM_WRITE(m72_irq_line_w)
AM_RANGE(0xe4000, 0xe4001) AM_WRITE(SMH_RAM) /* playfield enable? 1 during screen transitions, 0 otherwise */
@@ -895,9 +895,9 @@ static ADDRESS_MAP_START( hharry_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00000, 0x7ffff) AM_ROM
AM_RANGE(0xa0000, 0xa3fff) AM_RAM /* work RAM */
AM_RANGE(0xb0ffe, 0xb0fff) AM_WRITE(SMH_RAM) /* leftover from protection?? */
- AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0xc8000, 0xc8bff) AM_READWRITE(m72_palette1_r, m72_palette1_w) AM_BASE(&paletteram16)
- AM_RANGE(0xcc000, 0xccbff) AM_READWRITE(m72_palette2_r, m72_palette2_w) AM_BASE(&paletteram16_2)
+ AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0xc8000, 0xc8bff) AM_READWRITE(m72_palette1_r, m72_palette1_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xcc000, 0xccbff) AM_READWRITE(m72_palette2_r, m72_palette2_w) AM_BASE_GENERIC(paletteram2)
AM_RANGE(0xd0000, 0xd3fff) AM_RAM_WRITE(m72_videoram1_w) AM_BASE(&m72_videoram1)
AM_RANGE(0xd8000, 0xdbfff) AM_RAM_WRITE(m72_videoram2_w) AM_BASE(&m72_videoram2)
AM_RANGE(0xffff0, 0xfffff) AM_ROM
@@ -905,12 +905,12 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( hharryu_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00000, 0x7ffff) AM_ROM
- AM_RANGE(0xa0000, 0xa0bff) AM_READWRITE(m72_palette1_r, m72_palette1_w) AM_BASE(&paletteram16)
- AM_RANGE(0xa8000, 0xa8bff) AM_READWRITE(m72_palette2_r, m72_palette2_w) AM_BASE(&paletteram16_2)
+ AM_RANGE(0xa0000, 0xa0bff) AM_READWRITE(m72_palette1_r, m72_palette1_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xa8000, 0xa8bff) AM_READWRITE(m72_palette2_r, m72_palette2_w) AM_BASE_GENERIC(paletteram2)
AM_RANGE(0xb0000, 0xb0001) AM_WRITE(m72_irq_line_w)
AM_RANGE(0xbc000, 0xbc001) AM_WRITE(m72_dmaon_w)
AM_RANGE(0xb0ffe, 0xb0fff) AM_WRITE(SMH_RAM) /* leftover from protection?? */
- AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xd0000, 0xd3fff) AM_RAM_WRITE(m72_videoram1_w) AM_BASE(&m72_videoram1)
AM_RANGE(0xd4000, 0xd7fff) AM_RAM_WRITE(m72_videoram2_w) AM_BASE(&m72_videoram2)
AM_RANGE(0xe0000, 0xe3fff) AM_RAM /* work RAM */
@@ -919,12 +919,12 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( kengo_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00000, 0x7ffff) AM_ROM
- AM_RANGE(0xa0000, 0xa0bff) AM_READWRITE(m72_palette1_r, m72_palette1_w) AM_BASE(&paletteram16)
- AM_RANGE(0xa8000, 0xa8bff) AM_READWRITE(m72_palette2_r, m72_palette2_w) AM_BASE(&paletteram16_2)
+ AM_RANGE(0xa0000, 0xa0bff) AM_READWRITE(m72_palette1_r, m72_palette1_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xa8000, 0xa8bff) AM_READWRITE(m72_palette2_r, m72_palette2_w) AM_BASE_GENERIC(paletteram2)
AM_RANGE(0xb0000, 0xb0001) AM_WRITE(m72_irq_line_w)
AM_RANGE(0xb4000, 0xb4001) AM_WRITENOP /* ??? */
AM_RANGE(0xbc000, 0xbc001) AM_WRITE(m72_dmaon_w)
- AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x80000, 0x83fff) AM_RAM_WRITE(m72_videoram1_w) AM_BASE(&m72_videoram1)
AM_RANGE(0x84000, 0x87fff) AM_RAM_WRITE(m72_videoram2_w) AM_BASE(&m72_videoram2)
AM_RANGE(0xe0000, 0xe3fff) AM_RAM /* work RAM */
diff --git a/src/mame/drivers/m90.c b/src/mame/drivers/m90.c
index df90e671241..bc1e5ac0884 100644
--- a/src/mame/drivers/m90.c
+++ b/src/mame/drivers/m90.c
@@ -95,25 +95,25 @@ static ADDRESS_MAP_START( m90_main_cpu_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x80000, 0x8ffff) AM_ROMBANK(1) /* Quiz F1 only */
AM_RANGE(0xa0000, 0xa3fff) AM_RAM
AM_RANGE(0xd0000, 0xdffff) AM_RAM_WRITE(m90_video_w) AM_BASE(&m90_video_data)
- AM_RANGE(0xe0000, 0xe03ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xe0000, 0xe03ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xffff0, 0xfffff) AM_ROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( dynablsb_main_cpu_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00000, 0x3ffff) AM_ROM
- AM_RANGE(0x6000e, 0x60fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x6000e, 0x60fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xa0000, 0xa3fff) AM_RAM
AM_RANGE(0xd0000, 0xdffff) AM_RAM_WRITE(m90_video_w) AM_BASE(&m90_video_data)
- AM_RANGE(0xe0000, 0xe03ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xe0000, 0xe03ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xffff0, 0xfffff) AM_ROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( bomblord_main_cpu_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00000, 0x7ffff) AM_ROM
AM_RANGE(0xa0000, 0xa3fff) AM_RAM
- AM_RANGE(0xc000e, 0xc0fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xc000e, 0xc0fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xd0000, 0xdffff) AM_RAM_WRITE(m90_video_w) AM_BASE(&m90_video_data)
- AM_RANGE(0xe0000, 0xe03ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xe0000, 0xe03ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xffff0, 0xfffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/m92.c b/src/mame/drivers/m92.c
index 4c9fc1d593c..e7c52a84adf 100644
--- a/src/mame/drivers/m92.c
+++ b/src/mame/drivers/m92.c
@@ -378,7 +378,7 @@ static ADDRESS_MAP_START( lethalth_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00000, 0x7ffff) AM_ROM
AM_RANGE(0x80000, 0x8ffff) AM_RAM_WRITE(m92_vram_w) AM_BASE(&m92_vram_data)
AM_RANGE(0xe0000, 0xeffff) AM_RAM /* System ram */
- AM_RANGE(0xf8000, 0xf87ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xf8000, 0xf87ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xf8800, 0xf8fff) AM_READWRITE(m92_paletteram_r, m92_paletteram_w)
AM_RANGE(0xf9000, 0xf900f) AM_WRITE(m92_spritecontrol_w) AM_BASE(&m92_spritecontrol)
AM_RANGE(0xf9800, 0xf9801) AM_WRITE(m92_videocontrol_w)
@@ -391,7 +391,7 @@ static ADDRESS_MAP_START( m92_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xc0000, 0xcffff) AM_ROMBANK(2) /* Mirror of rom: Used by In The Hunt as protection */
AM_RANGE(0xd0000, 0xdffff) AM_RAM_WRITE(m92_vram_w) AM_BASE(&m92_vram_data)
AM_RANGE(0xe0000, 0xeffff) AM_RAM /* System ram */
- AM_RANGE(0xf8000, 0xf87ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xf8000, 0xf87ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xf8800, 0xf8fff) AM_READWRITE(m92_paletteram_r, m92_paletteram_w)
AM_RANGE(0xf9000, 0xf900f) AM_WRITE(m92_spritecontrol_w) AM_BASE(&m92_spritecontrol)
AM_RANGE(0xf9800, 0xf9801) AM_WRITE(m92_videocontrol_w)
diff --git a/src/mame/drivers/macrossp.c b/src/mame/drivers/macrossp.c
index 96df040be61..473199324b5 100644
--- a/src/mame/drivers/macrossp.c
+++ b/src/mame/drivers/macrossp.c
@@ -323,11 +323,11 @@ VIDEO_EOF(macrossp);
static WRITE32_HANDLER( paletteram32_macrossp_w )
{
int r,g,b;
- COMBINE_DATA(&paletteram32[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
- b = ((paletteram32[offset] & 0x0000ff00) >>8);
- g = ((paletteram32[offset] & 0x00ff0000) >>16);
- r = ((paletteram32[offset] & 0xff000000) >>24);
+ b = ((space->machine->generic.paletteram.u32[offset] & 0x0000ff00) >>8);
+ g = ((space->machine->generic.paletteram.u32[offset] & 0x00ff0000) >>16);
+ r = ((space->machine->generic.paletteram.u32[offset] & 0xff000000) >>24);
palette_set_color(space->machine,offset,MAKE_RGB(r,g,b));
}
@@ -377,13 +377,13 @@ static void update_colors(running_machine *machine)
for(i=0;i<0x1000;i++)
{
- b = ((paletteram32[i] & 0x0000ff00) >> 8);
+ b = ((machine->generic.paletteram.u32[i] & 0x0000ff00) >> 8);
if(fade_effect > b) { b = 0; }
else { b-=fade_effect; }
- g = ((paletteram32[i] & 0x00ff0000) >>16);
+ g = ((machine->generic.paletteram.u32[i] & 0x00ff0000) >>16);
if(fade_effect > g) { g = 0; }
else { g-=fade_effect; }
- r = ((paletteram32[i] & 0xff000000) >>24);
+ r = ((machine->generic.paletteram.u32[i] & 0xff000000) >>24);
if(fade_effect > r) { r = 0; }
else { r-=fade_effect; }
@@ -406,7 +406,7 @@ static WRITE32_HANDLER( macrossp_palette_fade_w )
static ADDRESS_MAP_START( macrossp_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x000000, 0x3fffff) AM_ROM
- AM_RANGE(0x800000, 0x802fff) AM_RAM AM_BASE(&macrossp_spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x800000, 0x802fff) AM_RAM AM_BASE(&macrossp_spriteram) AM_SIZE_GENERIC(spriteram)
/* SCR A Layer */
AM_RANGE(0x900000, 0x903fff) AM_RAM_WRITE(macrossp_scra_videoram_w) AM_BASE(&macrossp_scra_videoram)
AM_RANGE(0x904200, 0x9043ff) AM_WRITEONLY /* W/O? */
@@ -424,7 +424,7 @@ static ADDRESS_MAP_START( macrossp_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x91c200, 0x91c3ff) AM_WRITEONLY /* W/O? */
AM_RANGE(0x91d000, 0x91d00b) AM_WRITEONLY AM_BASE(&macrossp_text_videoregs) /* W/O? */
- AM_RANGE(0xa00000, 0xa03fff) AM_RAM_WRITE(paletteram32_macrossp_w) AM_BASE(&paletteram32)
+ AM_RANGE(0xa00000, 0xa03fff) AM_RAM_WRITE(paletteram32_macrossp_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xb00000, 0xb00003) AM_READ_PORT("INPUTS")
AM_RANGE(0xb00004, 0xb00007) AM_READ(macrossp_soundstatus_r) AM_WRITENOP // irq related?
diff --git a/src/mame/drivers/madmotor.c b/src/mame/drivers/madmotor.c
index 33a2f4cec40..295cdbbdd3b 100644
--- a/src/mame/drivers/madmotor.c
+++ b/src/mame/drivers/madmotor.c
@@ -55,8 +55,8 @@ static ADDRESS_MAP_START( madmotor_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x1a0000, 0x1a001f) AM_WRITEONLY AM_BASE(&madmotor_pf3_control)
AM_RANGE(0x1a4000, 0x1a4fff) AM_RAM_WRITE(madmotor_pf3_data_w) AM_BASE(&madmotor_pf3_data)
AM_RANGE(0x3e0000, 0x3e3fff) AM_RAM
- AM_RANGE(0x3e8000, 0x3e87ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0x3f0000, 0x3f07ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x3e8000, 0x3e87ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x3f0000, 0x3f07ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(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 162801c6515..e210c6718dd 100644
--- a/src/mame/drivers/magic10.c
+++ b/src/mame/drivers/magic10.c
@@ -110,7 +110,7 @@ static WRITE16_HANDLER( layer2_videoram_w )
static WRITE16_HANDLER( paletteram_w )
{
- data = COMBINE_DATA(&paletteram16[offset]);
+ data = COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
palette_set_color_rgb( space->machine, offset, pal4bit(data >> 4), pal4bit(data >> 0), pal4bit(data >> 8));
}
@@ -264,7 +264,7 @@ static ADDRESS_MAP_START( magic10_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(layer0_videoram_w) AM_BASE(&layer0_videoram)
AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(layer2_videoram_w) AM_BASE(&layer2_videoram)
AM_RANGE(0x200000, 0x2007ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0x300000, 0x3001ff) AM_RAM_WRITE(paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x300000, 0x3001ff) AM_RAM_WRITE(paletteram_w) AM_BASE_GENERIC(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)
@@ -280,7 +280,7 @@ static ADDRESS_MAP_START( magic10a_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(layer0_videoram_w) AM_BASE(&layer0_videoram)
AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(layer2_videoram_w) AM_BASE(&layer2_videoram)
AM_RANGE(0x200000, 0x2007ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0x300000, 0x3001ff) AM_RAM_WRITE(paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x300000, 0x3001ff) AM_RAM_WRITE(paletteram_w) AM_BASE_GENERIC(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)
@@ -296,7 +296,7 @@ static ADDRESS_MAP_START( magic102_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(layer0_videoram_w) AM_BASE(&layer0_videoram)
AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(layer2_videoram_w) AM_BASE(&layer2_videoram)
AM_RANGE(0x200000, 0x2007ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0x400000, 0x4001ff) AM_RAM_WRITE(paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x400000, 0x4001ff) AM_RAM_WRITE(paletteram_w) AM_BASE_GENERIC(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
@@ -315,7 +315,7 @@ static ADDRESS_MAP_START( hotslot_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(layer0_videoram_w) AM_BASE(&layer0_videoram)
AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(layer2_videoram_w) AM_BASE(&layer2_videoram)
AM_RANGE(0x200000, 0x2007ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0x400000, 0x4001ff) AM_RAM_WRITE(paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x400000, 0x4001ff) AM_RAM_WRITE(paletteram_w) AM_BASE_GENERIC(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")
@@ -334,7 +334,7 @@ static ADDRESS_MAP_START( sgsafari_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(layer0_videoram_w) AM_BASE(&layer0_videoram)
AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(layer2_videoram_w) AM_BASE(&layer2_videoram)
AM_RANGE(0x200000, 0x203fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0x300000, 0x3001ff) AM_RAM_WRITE(paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x300000, 0x3001ff) AM_RAM_WRITE(paletteram_w) AM_BASE_GENERIC(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_r, okim6295_w, 0x00ff)
diff --git a/src/mame/drivers/magicfly.c b/src/mame/drivers/magicfly.c
index 4037c594c8e..cd84fa6f2ba 100644
--- a/src/mame/drivers/magicfly.c
+++ b/src/mame/drivers/magicfly.c
@@ -409,13 +409,13 @@ static tilemap *bg_tilemap;
static WRITE8_HANDLER( magicfly_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
static WRITE8_HANDLER( magicfly_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -430,16 +430,16 @@ static TILE_GET_INFO( get_magicfly_tile_info )
x--- ---- Mirrored from bit 3. The code check this one to boot the game.
*/
- int attr = colorram[tile_index];
- int code = videoram[tile_index];
+ int attr = machine->generic.colorram.u8[tile_index];
+ int code = machine->generic.videoram.u8[tile_index];
int bank = (attr & 0x10) >> 4; /* bit 4 switch the gfx banks */
int color = attr & 0x07; /* bits 0-2 for color */
/* Seems that bit 7 is mirrored from bit 3 to have a normal boot */
/* Boot only check the first color RAM offset */
- colorram[0] = colorram[0] | ((colorram[0] & 0x08) << 4); /* only for 1st offset */
-// colorram[tile_index] = attr | ((attr & 0x08) << 4); /* for the whole color RAM */
+ machine->generic.colorram.u8[0] = machine->generic.colorram.u8[0] | ((machine->generic.colorram.u8[0] & 0x08) << 4); /* only for 1st offset */
+// machine->generic.colorram.u8[tile_index] = attr | ((attr & 0x08) << 4); /* for the whole color RAM */
SET_TILE_INFO(bank, code, color, 0);
}
@@ -460,16 +460,16 @@ static TILE_GET_INFO( get_7mezzo_tile_info )
x--- ---- Mirrored from bit 2. The code check this one to boot the game.
*/
- int attr = colorram[tile_index];
- int code = videoram[tile_index];
+ int attr = machine->generic.colorram.u8[tile_index];
+ int code = machine->generic.videoram.u8[tile_index];
int bank = (attr & 0x10) >> 4; /* bit 4 switch the gfx banks */
int color = attr & 0x07; /* bits 0-2 for color */
/* Seems that bit 7 is mirrored from bit 2 to have a normal boot */
/* Boot only check the first color RAM offset */
- colorram[0] = colorram[0] | ((colorram[0] & 0x04) << 5); /* only for 1st offset */
-// colorram[tile_index] = attr | ((attr & 0x04) << 5); /* for the whole color RAM */
+ machine->generic.colorram.u8[0] = machine->generic.colorram.u8[0] | ((machine->generic.colorram.u8[0] & 0x04) << 5); /* only for 1st offset */
+// machine->generic.colorram.u8[tile_index] = attr | ((attr & 0x04) << 5); /* for the whole color RAM */
SET_TILE_INFO(bank, code, color, 0);
}
@@ -556,8 +556,8 @@ static ADDRESS_MAP_START( magicfly_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) /* MK48Z02B NVRAM */
AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_address_w)
AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
- AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(magicfly_videoram_w) AM_BASE(&videoram) /* HM6116LP #1 (2K x 8) RAM (only 1st half used) */
- AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(magicfly_colorram_w) AM_BASE(&colorram) /* HM6116LP #2 (2K x 8) RAM (only 1st half used) */
+ AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(magicfly_videoram_w) AM_BASE_GENERIC(videoram) /* HM6116LP #1 (2K x 8) RAM (only 1st half used) */
+ AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(magicfly_colorram_w) AM_BASE_GENERIC(colorram) /* HM6116LP #2 (2K x 8) RAM (only 1st half used) */
AM_RANGE(0x2800, 0x2800) AM_READ(mux_port_r) /* multiplexed input port */
AM_RANGE(0x3000, 0x3000) AM_WRITE(mux_port_w) /* output port */
AM_RANGE(0xc000, 0xffff) AM_ROM /* ROM space */
diff --git a/src/mame/drivers/magmax.c b/src/mame/drivers/magmax.c
index 4c09455f343..b4830be5e88 100644
--- a/src/mame/drivers/magmax.c
+++ b/src/mame/drivers/magmax.c
@@ -213,8 +213,8 @@ static WRITE16_HANDLER( magmax_vreg_w )
static ADDRESS_MAP_START( magmax_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x013fff) AM_ROM
AM_RANGE(0x018000, 0x018fff) AM_RAM
- AM_RANGE(0x020000, 0x0207ff) AM_RAM AM_BASE(&videoram16) AM_SIZE(&videoram_size)
- AM_RANGE(0x028000, 0x0281ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x020000, 0x0207ff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x028000, 0x0281ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x030000, 0x030001) AM_READ_PORT("P1")
AM_RANGE(0x030002, 0x030003) AM_READ_PORT("P2")
AM_RANGE(0x030004, 0x030005) AM_READ_PORT("SYSTEM")
diff --git a/src/mame/drivers/mainevt.c b/src/mame/drivers/mainevt.c
index 19481d3616b..7d7bc5ff7a2 100644
--- a/src/mame/drivers/mainevt.c
+++ b/src/mame/drivers/mainevt.c
@@ -159,7 +159,7 @@ static ADDRESS_MAP_START( mainevt_map, ADDRESS_SPACE_PROGRAM, 8 )
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(paletteram_xBBBBBGGGGGRRRRR_be_w) AM_BASE(&paletteram)
+ AM_RANGE(0x5e00, 0x5fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_be_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK(1)
AM_RANGE(0x8000, 0xffff) AM_READ(SMH_ROM)
ADDRESS_MAP_END
@@ -183,7 +183,7 @@ static ADDRESS_MAP_START( devstors_map, ADDRESS_SPACE_PROGRAM, 8 )
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(paletteram_xBBBBBGGGGGRRRRR_be_w) AM_BASE(&paletteram)
+ AM_RANGE(0x5e00, 0x5fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_be_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK(1)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mainsnk.c b/src/mame/drivers/mainsnk.c
index b4950919957..e72356103e2 100644
--- a/src/mame/drivers/mainsnk.c
+++ b/src/mame/drivers/mainsnk.c
@@ -160,7 +160,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc700, 0xc700) AM_WRITE(sound_command_w)
AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(mainsnk_bgram_w) AM_BASE(&mainsnk_bgram)
AM_RANGE(0xdc00, 0xe7ff) AM_RAM
- AM_RANGE(0xe800, 0xefff) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0xe800, 0xefff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(mainsnk_fgram_w) AM_BASE(&mainsnk_fgram) // + work RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/markham.c b/src/mame/drivers/markham.c
index 086bb3ef8ab..7044538ea2d 100644
--- a/src/mame/drivers/markham.c
+++ b/src/mame/drivers/markham.c
@@ -33,8 +33,8 @@ static ADDRESS_MAP_START( markham_master_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
- AM_RANGE(0xc800, 0xcfff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(markham_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0xc800, 0xcfff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(markham_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0xd800, 0xdfff) AM_RAM AM_SHARE(1)
AM_RANGE(0xe000, 0xe000) AM_READ_PORT("DSW2")
diff --git a/src/mame/drivers/mastboy.c b/src/mame/drivers/mastboy.c
index 46907715395..50cffbb9569 100644
--- a/src/mame/drivers/mastboy.c
+++ b/src/mame/drivers/mastboy.c
@@ -583,14 +583,14 @@ static WRITE8_HANDLER( mastboy_bank_w )
static READ8_HANDLER( mastboy_backupram_r )
{
- return space->machine->generic.nvram.ptr.u8[offset];
+ return space->machine->generic.nvram.u8[offset];
}
static WRITE8_HANDLER( mastboy_backupram_w )
{
// if (mastboy_backupram_enabled)
// {
- space->machine->generic.nvram.ptr.u8[offset] = data;
+ space->machine->generic.nvram.u8[offset] = data;
// }
// else
// {
diff --git a/src/mame/drivers/matmania.c b/src/mame/drivers/matmania.c
index fef164ec84f..b7a9508b3b4 100644
--- a/src/mame/drivers/matmania.c
+++ b/src/mame/drivers/matmania.c
@@ -55,28 +55,28 @@ static WRITE8_HANDLER( maniach_sh_command_w )
static ADDRESS_MAP_START( matmania_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x077f) AM_RAM
- AM_RANGE(0x0780, 0x07df) AM_WRITEONLY AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x0780, 0x07df) AM_WRITEONLY AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x1000, 0x13ff) AM_RAM AM_BASE(&matmania_videoram2) AM_SIZE(&matmania_videoram2_size)
AM_RANGE(0x1400, 0x17ff) AM_RAM AM_BASE(&matmania_colorram2)
- AM_RANGE(0x2000, 0x21ff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x2200, 0x23ff) AM_RAM AM_BASE(&colorram)
+ AM_RANGE(0x2000, 0x21ff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x2200, 0x23ff) AM_RAM AM_BASE_GENERIC(colorram)
AM_RANGE(0x2400, 0x25ff) AM_RAM AM_BASE(&matmania_videoram3) AM_SIZE(&matmania_videoram3_size)
AM_RANGE(0x2600, 0x27ff) AM_RAM AM_BASE(&matmania_colorram3)
AM_RANGE(0x3000, 0x3000) AM_READ_PORT("IN0") AM_WRITEONLY AM_BASE(&matmania_pageselect)
AM_RANGE(0x3010, 0x3010) AM_READ_PORT("IN1") AM_WRITE(matmania_sh_command_w)
AM_RANGE(0x3020, 0x3020) AM_READ_PORT("DSW2") AM_WRITEONLY AM_BASE(&matmania_scroll)
AM_RANGE(0x3030, 0x3030) AM_READ_PORT("DSW1") AM_WRITENOP /* ?? */
- AM_RANGE(0x3050, 0x307f) AM_WRITE(matmania_paletteram_w) AM_BASE(&paletteram)
+ AM_RANGE(0x3050, 0x307f) AM_WRITE(matmania_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( maniach_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x077f) AM_RAM
- AM_RANGE(0x0780, 0x07df) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x0780, 0x07df) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x1000, 0x13ff) AM_RAM AM_BASE(&matmania_videoram2) AM_SIZE(&matmania_videoram2_size)
AM_RANGE(0x1400, 0x17ff) AM_RAM AM_BASE(&matmania_colorram2)
- AM_RANGE(0x2000, 0x21ff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x2200, 0x23ff) AM_RAM AM_BASE(&colorram)
+ AM_RANGE(0x2000, 0x21ff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x2200, 0x23ff) AM_RAM AM_BASE_GENERIC(colorram)
AM_RANGE(0x2400, 0x25ff) AM_RAM AM_BASE(&matmania_videoram3) AM_SIZE(&matmania_videoram3_size)
AM_RANGE(0x2600, 0x27ff) AM_RAM AM_BASE(&matmania_colorram3)
AM_RANGE(0x3000, 0x3000) AM_READ_PORT("IN0") AM_WRITEONLY AM_BASE(&matmania_pageselect)
@@ -85,7 +85,7 @@ static ADDRESS_MAP_START( maniach_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x3030, 0x3030) AM_READ_PORT("DSW1") AM_WRITENOP /* ?? */
AM_RANGE(0x3040, 0x3040) AM_READWRITE(maniach_mcu_r,maniach_mcu_w)
AM_RANGE(0x3041, 0x3041) AM_READ(maniach_mcu_status_r)
- AM_RANGE(0x3050, 0x307f) AM_WRITE(matmania_paletteram_w) AM_BASE(&paletteram)
+ AM_RANGE(0x3050, 0x307f) AM_WRITE(matmania_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mazerbla.c b/src/mame/drivers/mazerbla.c
index 4773aaf7bc3..5a8b19ec2d3 100644
--- a/src/mame/drivers/mazerbla.c
+++ b/src/mame/drivers/mazerbla.c
@@ -940,7 +940,7 @@ static ADDRESS_MAP_START( mazerbla_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE(1)
AM_RANGE(0xd800, 0xd800) AM_READ(cfb_zpu_int_req_clr)
- AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0xe800, 0xefff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mcatadv.c b/src/mame/drivers/mcatadv.c
index f410fe73d90..3d3353fbcff 100644
--- a/src/mame/drivers/mcatadv.c
+++ b/src/mame/drivers/mcatadv.c
@@ -186,10 +186,10 @@ static ADDRESS_MAP_START( mcatadv_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x400000, 0x401fff) AM_RAM_WRITE(mcatadv_videoram1_w) AM_BASE(&mcatadv_videoram1) // Tilemap 0
AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(mcatadv_videoram2_w) AM_BASE(&mcatadv_videoram2) // Tilemap 1
- AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x602000, 0x602fff) AM_RAM // Bigger than needs to be?
- AM_RANGE(0x700000, 0x707fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites, two halves for double buffering
+ AM_RANGE(0x700000, 0x707fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites, two halves for double buffering
AM_RANGE(0x708000, 0x70ffff) AM_RAM // Tests more than is needed?
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("P1")
diff --git a/src/mame/drivers/mcr.c b/src/mame/drivers/mcr.c
index 0883e17fb8f..6b9fbc713e3 100644
--- a/src/mame/drivers/mcr.c
+++ b/src/mame/drivers/mcr.c
@@ -618,10 +618,10 @@ static ADDRESS_MAP_START( cpu_90009_map, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x6fff) AM_ROM
AM_RANGE(0x7000, 0x77ff) AM_MIRROR(0x0800) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0xf000, 0xf1ff) AM_MIRROR(0x0200) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0xf400, 0xf41f) AM_MIRROR(0x03e0) AM_WRITE(paletteram_xxxxRRRRBBBBGGGG_split1_w) AM_BASE(&paletteram)
- AM_RANGE(0xf800, 0xf81f) AM_MIRROR(0x03e0) AM_WRITE(paletteram_xxxxRRRRBBBBGGGG_split2_w) AM_BASE(&paletteram_2)
- AM_RANGE(0xfc00, 0xffff) AM_RAM_WRITE(mcr_90009_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xf000, 0xf1ff) AM_MIRROR(0x0200) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0xf400, 0xf41f) AM_MIRROR(0x03e0) AM_WRITE(paletteram_xxxxRRRRBBBBGGGG_split1_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf800, 0xf81f) AM_MIRROR(0x03e0) AM_WRITE(paletteram_xxxxRRRRBBBBGGGG_split2_w) AM_BASE_GENERIC(paletteram2)
+ AM_RANGE(0xfc00, 0xffff) AM_RAM_WRITE(mcr_90009_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
ADDRESS_MAP_END
/* upper I/O map determined by PAL; only SSIO ports are verified from schematics */
@@ -647,8 +647,8 @@ static ADDRESS_MAP_START( cpu_90010_map, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_MIRROR(0x1800) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0xe000, 0xe1ff) AM_MIRROR(0x1600) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0xe800, 0xefff) AM_MIRROR(0x1000) AM_RAM_WRITE(mcr_90010_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xe000, 0xe1ff) AM_MIRROR(0x1600) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0xe800, 0xefff) AM_MIRROR(0x1000) AM_RAM_WRITE(mcr_90010_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
ADDRESS_MAP_END
/* upper I/O map determined by PAL; only SSIO ports are verified from schematics */
@@ -674,9 +674,9 @@ static ADDRESS_MAP_START( cpu_91490_map, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0xe800, 0xe9ff) AM_MIRROR(0x0200) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(mcr_91490_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0xf800, 0xf87f) AM_MIRROR(0x0780) AM_WRITE(mcr_91490_paletteram_w) AM_BASE(&paletteram)
+ AM_RANGE(0xe800, 0xe9ff) AM_MIRROR(0x0200) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(mcr_91490_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0xf800, 0xf87f) AM_MIRROR(0x0780) AM_WRITE(mcr_91490_paletteram_w) AM_BASE_GENERIC(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 79f7df455d8..ae1223bb2c5 100644
--- a/src/mame/drivers/mcr3.c
+++ b/src/mame/drivers/mcr3.c
@@ -478,10 +478,10 @@ static ADDRESS_MAP_START( mcrmono_map, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0xe800, 0xe9ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xe800, 0xe9ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xea00, 0xebff) AM_RAM
- AM_RANGE(0xec00, 0xec7f) AM_MIRROR(0x0380) AM_WRITE(mcr3_paletteram_w) AM_BASE(&paletteram)
- AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(mcr3_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xec00, 0xec7f) AM_MIRROR(0x0380) AM_WRITE(mcr3_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(mcr3_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0xf800, 0xffff) AM_ROM /* schematics show a 2716 @ 2B here, but nobody used it */
ADDRESS_MAP_END
@@ -511,11 +511,11 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( spyhunt_map, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xdfff) AM_ROM
- AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(spyhunt_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(spyhunt_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0xe800, 0xebff) AM_MIRROR(0x0400) AM_RAM_WRITE(spyhunt_alpharam_w) AM_BASE(&spyhunt_alpharam)
AM_RANGE(0xf000, 0xf7ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0xf800, 0xf9ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0xfa00, 0xfa7f) AM_MIRROR(0x0180) AM_WRITE(mcr3_paletteram_w) AM_BASE(&paletteram)
+ AM_RANGE(0xf800, 0xf9ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0xfa00, 0xfa7f) AM_MIRROR(0x0180) AM_WRITE(mcr3_paletteram_w) AM_BASE_GENERIC(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 0a6c2ec75b5..01875b2fdef 100644
--- a/src/mame/drivers/mcr68.c
+++ b/src/mame/drivers/mcr68.c
@@ -314,10 +314,10 @@ static ADDRESS_MAP_START( mcr68_map, ADDRESS_SPACE_PROGRAM, 16 )
ADDRESS_MAP_GLOBAL_MASK(0x1fffff)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x060000, 0x063fff) AM_RAM
- AM_RANGE(0x070000, 0x070fff) AM_RAM_WRITE(mcr68_videoram_w) AM_BASE(&videoram16) AM_SIZE(&videoram_size)
+ AM_RANGE(0x070000, 0x070fff) AM_RAM_WRITE(mcr68_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x071000, 0x071fff) AM_RAM
- AM_RANGE(0x080000, 0x080fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0x090000, 0x09007f) AM_WRITE(mcr68_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x080000, 0x080fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x090000, 0x09007f) AM_WRITE(mcr68_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x0a0000, 0x0a000f) AM_READWRITE(mcr68_6840_upper_r, mcr68_6840_upper_w)
AM_RANGE(0x0b0000, 0x0bffff) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x0d0000, 0x0dffff) AM_READ_PORT("IN0")
@@ -342,9 +342,9 @@ static ADDRESS_MAP_START( zwackery_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x104000, 0x104007) AM_DEVREADWRITE8("pia0", pia6821_r, pia6821_w, 0xff00)
AM_RANGE(0x108000, 0x108007) AM_DEVREADWRITE8("pia1", pia6821_r, pia6821_w, 0x00ff)
AM_RANGE(0x10c000, 0x10c007) AM_DEVREADWRITE8("pia2", pia6821_r, pia6821_w, 0x00ff)
- AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(zwackery_videoram_w) AM_BASE(&videoram16) AM_SIZE(&videoram_size)
- AM_RANGE(0x802000, 0x803fff) AM_RAM_WRITE(zwackery_paletteram_w) AM_BASE(&paletteram16)
- AM_RANGE(0xc00000, 0xc00fff) AM_RAM_WRITE(zwackery_spriteram_w) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(zwackery_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x802000, 0x803fff) AM_RAM_WRITE(zwackery_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xc00000, 0xc00fff) AM_RAM_WRITE(zwackery_spriteram_w) AM_BASE_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END
@@ -361,12 +361,12 @@ static ADDRESS_MAP_START( pigskin_map, ADDRESS_SPACE_PROGRAM, 16 )
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(mcr68_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0c0000, 0x0c007f) AM_WRITE(mcr68_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x0e0000, 0x0effff) AM_WRITE(watchdog_reset16_w)
- AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(mcr68_videoram_w) AM_BASE(&videoram16) AM_SIZE(&videoram_size)
+ AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(mcr68_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x120000, 0x120001) AM_READWRITE(pigskin_protection_r, pigskin_protection_w)
AM_RANGE(0x140000, 0x143fff) AM_RAM
- AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x180000, 0x18000f) AM_READWRITE(mcr68_6840_upper_r, mcr68_6840_upper_w)
AM_RANGE(0x1a0000, 0x1affff) AM_WRITE(archrivl_control_w)
AM_RANGE(0x1e0000, 0x1effff) AM_READ_PORT("IN0")
@@ -387,9 +387,9 @@ static ADDRESS_MAP_START( trisport_map, ADDRESS_SPACE_PROGRAM, 16 )
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_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0x120000, 0x12007f) AM_WRITE(mcr68_paletteram_w) AM_BASE(&paletteram16)
- AM_RANGE(0x140000, 0x1407ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0x160000, 0x160fff) AM_RAM_WRITE(mcr68_videoram_w) AM_BASE(&videoram16) AM_SIZE(&videoram_size)
+ AM_RANGE(0x120000, 0x12007f) AM_WRITE(mcr68_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x140000, 0x1407ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x160000, 0x160fff) AM_RAM_WRITE(mcr68_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x180000, 0x18000f) AM_READWRITE(mcr68_6840_upper_r, mcr68_6840_upper_w)
AM_RANGE(0x1a0000, 0x1affff) AM_WRITE(archrivl_control_w)
AM_RANGE(0x1c0000, 0x1cffff) AM_WRITE(watchdog_reset16_w)
diff --git a/src/mame/drivers/meadows.c b/src/mame/drivers/meadows.c
index 3b0767901a1..cf45e328764 100644
--- a/src/mame/drivers/meadows.c
+++ b/src/mame/drivers/meadows.c
@@ -351,10 +351,10 @@ static ADDRESS_MAP_START( meadows_main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0c02, 0x0c02) AM_READ(hsync_chain_r)
AM_RANGE(0x0c03, 0x0c03) AM_READ_PORT("DSW")
AM_RANGE(0x0c00, 0x0c03) AM_WRITE(meadows_audio_w)
- AM_RANGE(0x0d00, 0x0d0f) AM_WRITE(meadows_spriteram_w) AM_BASE(&spriteram)
+ AM_RANGE(0x0d00, 0x0d0f) AM_WRITE(meadows_spriteram_w) AM_BASE_GENERIC(spriteram)
AM_RANGE(0x0e00, 0x0eff) AM_RAM
AM_RANGE(0x1000, 0x1bff) AM_ROM
- AM_RANGE(0x1c00, 0x1fff) AM_RAM_WRITE(meadows_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x1c00, 0x1fff) AM_RAM_WRITE(meadows_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( bowl3d_main_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -364,15 +364,15 @@ static ADDRESS_MAP_START( bowl3d_main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0c02, 0x0c02) AM_READ(hsync_chain_r)
AM_RANGE(0x0c03, 0x0c03) AM_READ_PORT("DSW")
AM_RANGE(0x0c00, 0x0c03) AM_WRITE(meadows_audio_w)
- AM_RANGE(0x0d00, 0x0d0f) AM_WRITE(meadows_spriteram_w) AM_BASE(&spriteram)
+ AM_RANGE(0x0d00, 0x0d0f) AM_WRITE(meadows_spriteram_w) AM_BASE_GENERIC(spriteram)
AM_RANGE(0x0e00, 0x0eff) AM_RAM
AM_RANGE(0x1000, 0x1bff) AM_ROM
- AM_RANGE(0x1c00, 0x1fff) AM_RAM_WRITE(meadows_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x1c00, 0x1fff) AM_RAM_WRITE(meadows_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( minferno_main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0bff) AM_ROM
- AM_RANGE(0x1c00, 0x1eff) AM_RAM_WRITE(meadows_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x1c00, 0x1eff) AM_RAM_WRITE(meadows_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x1f00, 0x1f00) AM_READ_PORT("JOY1")
AM_RANGE(0x1f01, 0x1f01) AM_READ_PORT("JOY2")
AM_RANGE(0x1f02, 0x1f02) AM_READ_PORT("BUTTONS")
diff --git a/src/mame/drivers/megasys1.c b/src/mame/drivers/megasys1.c
index dd751d2d23c..8ba3cd6849d 100644
--- a/src/mame/drivers/megasys1.c
+++ b/src/mame/drivers/megasys1.c
@@ -180,7 +180,7 @@ static ADDRESS_MAP_START( megasys1A_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x080006, 0x080007) AM_READ_PORT("DSW")
AM_RANGE(0x080008, 0x080009) AM_READ(soundlatch2_word_r) /* from sound cpu */
AM_RANGE(0x084000, 0x0843ff) AM_RAM_WRITE(megasys1_vregs_A_w) AM_BASE(&megasys1_vregs)
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x08e000, 0x08ffff) AM_RAM AM_BASE(&megasys1_objectram)
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(megasys1_scrollram_0_w) AM_BASE(&megasys1_scrollram[0])
AM_RANGE(0x094000, 0x097fff) AM_RAM_WRITE(megasys1_scrollram_1_w) AM_BASE(&megasys1_scrollram[1])
@@ -255,7 +255,7 @@ static ADDRESS_MAP_START( megasys1B_map, ADDRESS_SPACE_PROGRAM, 16 )
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x044000, 0x0443ff) AM_RAM_WRITE(megasys1_vregs_A_w) AM_BASE(&megasys1_vregs)
- AM_RANGE(0x048000, 0x0487ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x048000, 0x0487ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x04e000, 0x04ffff) AM_RAM AM_BASE(&megasys1_objectram)
AM_RANGE(0x050000, 0x053fff) AM_RAM_WRITE(megasys1_scrollram_0_w) AM_BASE(&megasys1_scrollram[0])
AM_RANGE(0x054000, 0x057fff) AM_RAM_WRITE(megasys1_scrollram_1_w) AM_BASE(&megasys1_scrollram[1])
@@ -282,7 +282,7 @@ static ADDRESS_MAP_START( megasys1C_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0e0000, 0x0e3fff) AM_RAM_WRITE(megasys1_scrollram_0_w) AM_BASE(&megasys1_scrollram[0])
AM_RANGE(0x0e8000, 0x0ebfff) AM_RAM_WRITE(megasys1_scrollram_1_w) AM_BASE(&megasys1_scrollram[1])
AM_RANGE(0x0f0000, 0x0f3fff) AM_RAM_WRITE(megasys1_scrollram_2_w) AM_BASE(&megasys1_scrollram[2])
- AM_RANGE(0x0f8000, 0x0f87ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0f8000, 0x0f87ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x0d8000, 0x0d8001) AM_READWRITE(ip_select_r,ip_select_w)
AM_RANGE(0x1f0000, 0x1fffff) AM_RAM AM_BASE(&megasys1_ram)
ADDRESS_MAP_END
@@ -303,7 +303,7 @@ static ADDRESS_MAP_START( megasys1D_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0ca000, 0x0cbfff) AM_RAM AM_BASE(&megasys1_objectram)
AM_RANGE(0x0d0000, 0x0d3fff) AM_RAM_WRITE(megasys1_scrollram_1_w) AM_BASE(&megasys1_scrollram[1])
AM_RANGE(0x0d4000, 0x0d7fff) AM_RAM_WRITE(megasys1_scrollram_2_w) AM_BASE(&megasys1_scrollram[2])
- AM_RANGE(0x0d8000, 0x0d87ff) AM_MIRROR(0x3000) AM_RAM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0d8000, 0x0d87ff) AM_MIRROR(0x3000) AM_RAM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x0e0000, 0x0e0001) AM_READ_PORT("DSW")
AM_RANGE(0x0e8000, 0x0ebfff) AM_RAM_WRITE(megasys1_scrollram_0_w) AM_BASE(&megasys1_scrollram[0])
AM_RANGE(0x0f0000, 0x0f0001) AM_READ_PORT("SYSTEM")
@@ -3830,11 +3830,11 @@ static DRIVER_INIT( rodlandj )
static READ16_HANDLER( soldamj_spriteram16_r )
{
- return spriteram16[offset];
+ return space->machine->generic.spriteram.u16[offset];
}
static WRITE16_HANDLER( soldamj_spriteram16_w )
{
- if (offset < 0x800/2) COMBINE_DATA(&spriteram16[offset]);
+ if (offset < 0x800/2) COMBINE_DATA(&space->machine->generic.spriteram.u16[offset]);
}
static DRIVER_INIT( soldamj )
diff --git a/src/mame/drivers/megazone.c b/src/mame/drivers/megazone.c
index cae73ff335a..73d448ce9b4 100644
--- a/src/mame/drivers/megazone.c
+++ b/src/mame/drivers/megazone.c
@@ -98,11 +98,11 @@ static ADDRESS_MAP_START( megazone_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0800, 0x0800) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x1000, 0x1000) AM_WRITEONLY AM_BASE(&megazone_scrolly)
AM_RANGE(0x1800, 0x1800) AM_WRITEONLY AM_BASE(&megazone_scrollx)
- AM_RANGE(0x2000, 0x23ff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x2000, 0x23ff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x2400, 0x27ff) AM_RAM AM_BASE(&megazone_videoram2) AM_SIZE(&megazone_videoram2_size)
- AM_RANGE(0x2800, 0x2bff) AM_RAM AM_BASE(&colorram)
+ AM_RANGE(0x2800, 0x2bff) AM_RAM AM_BASE_GENERIC(colorram)
AM_RANGE(0x2c00, 0x2fff) AM_RAM AM_BASE(&megazone_colorram2)
- AM_RANGE(0x3000, 0x33ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x3000, 0x33ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x3800, 0x3fff) AM_RAM AM_SHARE(1)
AM_RANGE(0x4000, 0xffff) AM_ROM /* 4000->5FFF is a debug rom */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/meijinsn.c b/src/mame/drivers/meijinsn.c
index 0f270545844..6059595f5d5 100644
--- a/src/mame/drivers/meijinsn.c
+++ b/src/mame/drivers/meijinsn.c
@@ -147,7 +147,7 @@ static READ16_HANDLER( alpha_mcu_r )
static ADDRESS_MAP_START( meijinsn_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080e00, 0x080fff) AM_READ(alpha_mcu_r) AM_WRITENOP
- AM_RANGE(0x100000, 0x107fff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) AM_BASE(&videoram16)
+ AM_RANGE(0x100000, 0x107fff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(videoram)
AM_RANGE(0x180000, 0x180dff) AM_RAM
AM_RANGE(0x180e00, 0x180fff) AM_RAM AM_BASE(&shared_ram)
AM_RANGE(0x181000, 0x181fff) AM_RAM
@@ -269,8 +269,8 @@ static VIDEO_UPDATE(meijinsn)
sx = offs >> 8;
sy = offs & 0xff;
- data1 = videoram16[offs]>>8;
- data2 = videoram16[offs]&0xff;
+ data1 = screen->machine->generic.videoram.u16[offs]>>8;
+ data2 = screen->machine->generic.videoram.u16[offs]&0xff;
for (x=0; x<4; x++)
{
diff --git a/src/mame/drivers/merit.c b/src/mame/drivers/merit.c
index 70c561f5e3e..a6e68721cf7 100644
--- a/src/mame/drivers/merit.c
+++ b/src/mame/drivers/merit.c
@@ -1153,16 +1153,16 @@ static NVRAM_HANDLER(dodge)
{
if (read_or_write)
{
- mame_fwrite(file, machine->generic.nvram.ptr.v, machine->generic.nvram.size);
+ mame_fwrite(file, machine->generic.nvram.v, machine->generic.nvram_size);
}
else if (file)
{
- mame_fread(file, machine->generic.nvram.ptr.v, machine->generic.nvram.size);
+ mame_fread(file, machine->generic.nvram.v, machine->generic.nvram_size);
}
else
{
- memset(machine->generic.nvram.ptr.v, 0x00, machine->generic.nvram.size);
- machine->generic.nvram.ptr.u8[0x1040] = 0xc9; /* ret */
+ memset(machine->generic.nvram.v, 0x00, machine->generic.nvram_size);
+ machine->generic.nvram.u8[0x1040] = 0xc9; /* ret */
}
}
diff --git a/src/mame/drivers/mermaid.c b/src/mame/drivers/mermaid.c
index 4efd92a7022..1a5c6fe537c 100644
--- a/src/mame/drivers/mermaid.c
+++ b/src/mame/drivers/mermaid.c
@@ -161,11 +161,11 @@ static ADDRESS_MAP_START( mermaid_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xcbff) AM_RAM_WRITE(mermaid_videoram2_w) AM_BASE(&mermaid_videoram2)
- AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(mermaid_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(mermaid_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0xd800, 0xd81f) AM_RAM_WRITE(mermaid_bg_scroll_w) AM_BASE(&mermaid_bg_scrollram)
AM_RANGE(0xd840, 0xd85f) AM_RAM_WRITE(mermaid_fg_scroll_w) AM_BASE(&mermaid_fg_scrollram)
- AM_RANGE(0xd880, 0xd8bf) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE(mermaid_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0xd880, 0xd8bf) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE(mermaid_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0xe000, 0xe000) AM_READ_PORT("DSW")
AM_RANGE(0xe000, 0xe001) AM_RAM AM_BASE(&mermaid_ay8910_enable)
AM_RANGE(0xe002, 0xe002) AM_WRITENOP // ???
diff --git a/src/mame/drivers/metlclsh.c b/src/mame/drivers/metlclsh.c
index c7dedbcaed3..4084b58844b 100644
--- a/src/mame/drivers/metlclsh.c
+++ b/src/mame/drivers/metlclsh.c
@@ -78,12 +78,12 @@ static ADDRESS_MAP_START( metlclsh_master_map, ADDRESS_SPACE_PROGRAM, 8 )
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(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE(&paletteram)
-/**/AM_RANGE(0xcc00, 0xcc2f) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE(&paletteram_2)
+/**/AM_RANGE(0xc800, 0xc82f) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE_GENERIC(paletteram)
+/**/AM_RANGE(0xcc00, 0xcc2f) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE_GENERIC(paletteram2)
AM_RANGE(0xd000, 0xd001) AM_DEVREADWRITE("ym1", ym2203_r,ym2203_w)
/**/AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(metlclsh_fgram_w) AM_BASE(&metlclsh_fgram)
AM_RANGE(0xe000, 0xe001) AM_DEVWRITE("ym2", ym3526_w )
- AM_RANGE(0xe800, 0xe9ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size )
+ AM_RANGE(0xe800, 0xe9ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xfff0, 0xffff) AM_ROM // Reset/IRQ vectors
ADDRESS_MAP_END
diff --git a/src/mame/drivers/metro.c b/src/mame/drivers/metro.c
index 11dac513c2f..317763c6d0c 100644
--- a/src/mame/drivers/metro.c
+++ b/src/mame/drivers/metro.c
@@ -880,8 +880,8 @@ static ADDRESS_MAP_START( balcube_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x620000, 0x63ffff) AM_RAM_WRITE(metro_vram_1_w) AM_BASE(&metro_vram_1) // Layer 1
AM_RANGE(0x640000, 0x65ffff) AM_RAM_WRITE(metro_vram_2_w) AM_BASE(&metro_vram_2) // Layer 2
AM_RANGE(0x660000, 0x66ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0x670000, 0x673fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE(&paletteram16) // Palette
- AM_RANGE(0x674000, 0x674fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x670000, 0x673fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x674000, 0x674fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0x678000, 0x6787ff) AM_RAM AM_BASE(&metro_tiletable) AM_SIZE(&metro_tiletable_size) // Tiles Set
AM_RANGE(0x678840, 0x67884d) AM_WRITE(metro_blitter_w) AM_BASE(&metro_blitter_regs) // Tiles Blitter
AM_RANGE(0x678860, 0x67886b) AM_WRITE(metro_window_w) AM_BASE(&metro_window) // Tilemap Window
@@ -911,8 +911,8 @@ static ADDRESS_MAP_START( daitoa_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x120000, 0x13ffff) AM_RAM_WRITE(metro_vram_1_w) AM_BASE(&metro_vram_1 ) // Layer 1
AM_RANGE(0x140000, 0x15ffff) AM_RAM_WRITE(metro_vram_2_w) AM_BASE(&metro_vram_2 ) // Layer 2
AM_RANGE(0x160000, 0x16ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0x170000, 0x173fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE(&paletteram16) // Palette
- AM_RANGE(0x174000, 0x174fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x170000, 0x173fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x174000, 0x174fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0x178000, 0x1787ff) AM_RAM AM_BASE(&metro_tiletable) AM_SIZE(&metro_tiletable_size) // Tiles Set
AM_RANGE(0x178840, 0x17884d) AM_WRITE(metro_blitter_w) AM_BASE(&metro_blitter_regs) // Tiles Blitter
AM_RANGE(0x178860, 0x17886b) AM_WRITE(metro_window_w) AM_BASE(&metro_window) // Tilemap Window
@@ -950,8 +950,8 @@ static ADDRESS_MAP_START( bangball_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xe20000, 0xe3ffff) AM_RAM_WRITE(metro_vram_1_w) AM_BASE(&metro_vram_1) // Layer 1
AM_RANGE(0xe40000, 0xe5ffff) AM_RAM_WRITE(metro_vram_2_w) AM_BASE(&metro_vram_2) // Layer 2
AM_RANGE(0xe60000, 0xe6ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0xe70000, 0xe73fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE(&paletteram16) // Palette
- AM_RANGE(0xe74000, 0xe74fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0xe70000, 0xe73fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0xe74000, 0xe74fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0xe78000, 0xe787ff) AM_RAM AM_BASE(&metro_tiletable) AM_SIZE(&metro_tiletable_size) // Tiles Set
AM_RANGE(0xe78840, 0xe7884d) AM_WRITE(metro_blitter_w) AM_BASE(&metro_blitter_regs) // Tiles Blitter
AM_RANGE(0xe78860, 0xe7886b) AM_WRITE(metro_window_w) AM_BASE(&metro_window) // Tilemap Window
@@ -976,8 +976,8 @@ static ADDRESS_MAP_START( batlbubl_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x120000, 0x13ffff) AM_RAM_WRITE(metro_vram_1_w) AM_BASE(&metro_vram_1) // Layer 1
AM_RANGE(0x140000, 0x15ffff) AM_RAM_WRITE(metro_vram_2_w) AM_BASE(&metro_vram_2) // Layer 2
AM_RANGE(0x160000, 0x16ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0x170000, 0x173fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE(&paletteram16) // Palette
- AM_RANGE(0x174000, 0x174fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x170000, 0x173fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x174000, 0x174fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0x178000, 0x1787ff) AM_RAM AM_BASE(&metro_tiletable) AM_SIZE(&metro_tiletable_size) // Tiles Set
AM_RANGE(0x178840, 0x17884d) AM_WRITE(metro_blitter_w) AM_BASE(&metro_blitter_regs) // Tiles Blitter
AM_RANGE(0x178860, 0x17886b) AM_WRITE(metro_window_w) AM_BASE(&metro_window) // Tilemap Window
@@ -1012,8 +1012,8 @@ static ADDRESS_MAP_START( daitorid_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x420000, 0x43ffff) AM_RAM_WRITE(metro_vram_1_w) AM_BASE(&metro_vram_1 ) // Layer 1
AM_RANGE(0x440000, 0x45ffff) AM_RAM_WRITE(metro_vram_2_w) AM_BASE(&metro_vram_2 ) // Layer 2
AM_RANGE(0x460000, 0x46ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0x470000, 0x473fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE(&paletteram16) // Palette
- AM_RANGE(0x474000, 0x474fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x470000, 0x473fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x474000, 0x474fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0x478000, 0x4787ff) AM_RAM AM_BASE(&metro_tiletable) AM_SIZE(&metro_tiletable_size) // Tiles Set
AM_RANGE(0x478840, 0x47884d) AM_WRITE(metro_blitter_w) AM_BASE(&metro_blitter_regs) // Tiles Blitter
AM_RANGE(0x478860, 0x47886b) AM_WRITE(metro_window_w) AM_BASE(&metro_window) // Tilemap Window
@@ -1045,8 +1045,8 @@ static ADDRESS_MAP_START( dharma_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x820000, 0x83ffff) AM_RAM_WRITE(metro_vram_1_w) AM_BASE(&metro_vram_1 ) // Layer 1
AM_RANGE(0x840000, 0x85ffff) AM_RAM_WRITE(metro_vram_2_w) AM_BASE(&metro_vram_2 ) // Layer 2
AM_RANGE(0x860000, 0x86ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0x870000, 0x873fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE(&paletteram16) // Palette
- AM_RANGE(0x874000, 0x874fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x870000, 0x873fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x874000, 0x874fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0x878000, 0x8787ff) AM_RAM AM_BASE(&metro_tiletable) AM_SIZE(&metro_tiletable_size ) // Tiles Set
AM_RANGE(0x878840, 0x87884d) AM_WRITE(metro_blitter_w) AM_BASE(&metro_blitter_regs) // Tiles Blitter
AM_RANGE(0x878860, 0x87886b) AM_WRITE(metro_window_w) AM_BASE(&metro_window ) // Tilemap Window
@@ -1102,8 +1102,8 @@ static ADDRESS_MAP_START( karatour_map, ADDRESS_SPACE_PROGRAM, 16 )
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(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE(&paletteram16) // Palette
- AM_RANGE(0x874000, 0x874fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x870000, 0x873fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x874000, 0x874fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // 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)
AM_RANGE(0x877000, 0x877fff) AM_READWRITE(karatour_vram_2_r,karatour_vram_2_w) // Layer 2 (Part of)
@@ -1132,8 +1132,8 @@ static ADDRESS_MAP_START( kokushi_map, ADDRESS_SPACE_PROGRAM, 16 )
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(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE(&paletteram16) // Palette
- AM_RANGE(0x874000, 0x874fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x870000, 0x873fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x874000, 0x874fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // 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)
AM_RANGE(0x877000, 0x877fff) AM_READWRITE(karatour_vram_2_r,karatour_vram_2_w) // Layer 2 (Part of)
@@ -1167,8 +1167,8 @@ static ADDRESS_MAP_START( lastfort_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x820000, 0x83ffff) AM_RAM_WRITE(metro_vram_1_w) AM_BASE(&metro_vram_1) // Layer 1
AM_RANGE(0x840000, 0x85ffff) AM_RAM_WRITE(metro_vram_2_w) AM_BASE(&metro_vram_2) // Layer 2
AM_RANGE(0x860000, 0x86ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0x870000, 0x873fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE(&paletteram16) // Palette
- AM_RANGE(0x874000, 0x874fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x870000, 0x873fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x874000, 0x874fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0x878000, 0x8787ff) AM_RAM AM_BASE(&metro_tiletable) AM_SIZE(&metro_tiletable_size) // Tiles Set
AM_RANGE(0x878800, 0x878813) AM_WRITEONLY AM_BASE(&metro_videoregs) // Video Registers
AM_RANGE(0x878840, 0x87884d) AM_WRITE(metro_blitter_w) AM_BASE(&metro_blitter_regs) // Tiles Blitter
@@ -1207,8 +1207,8 @@ static ADDRESS_MAP_START( lastforg_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x8a0000, 0x8bffff) AM_RAM_WRITE(metro_vram_1_w) AM_BASE(&metro_vram_1) // Layer 1
AM_RANGE(0x8c0000, 0x8dffff) AM_RAM_WRITE(metro_vram_2_w) AM_BASE(&metro_vram_2) // Layer 2
AM_RANGE(0x8e0000, 0x8effff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0x8f0000, 0x8f3fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE(&paletteram16) // Palette
- AM_RANGE(0x8f4000, 0x8f4fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x8f0000, 0x8f3fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x8f4000, 0x8f4fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0x8f8000, 0x8f87ff) AM_RAM AM_BASE(&metro_tiletable) AM_SIZE(&metro_tiletable_size) // Tiles Set
AM_RANGE(0x8f8800, 0x8f8813) AM_WRITEONLY AM_BASE(&metro_videoregs) // Video Registers
AM_RANGE(0x8f8840, 0x8f884d) AM_WRITE(metro_blitter_w) AM_BASE(&metro_blitter_regs) // Tiles Blitter
@@ -1296,8 +1296,8 @@ static ADDRESS_MAP_START( gakusai_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x220000, 0x23ffff) AM_RAM_WRITE(metro_vram_1_w) AM_BASE(&metro_vram_1) // Layer 1
AM_RANGE(0x240000, 0x25ffff) AM_RAM_WRITE(metro_vram_2_w) AM_BASE(&metro_vram_2) // Layer 2
AM_RANGE(0x260000, 0x26ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0x270000, 0x273fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE(&paletteram16) // Palette
- AM_RANGE(0x274000, 0x274fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x270000, 0x273fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x274000, 0x274fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0x278000, 0x2787ff) AM_RAM AM_BASE(&metro_tiletable) AM_SIZE(&metro_tiletable_size) // Tiles Set
AM_RANGE(0x27880e, 0x27880f) AM_RAM AM_BASE(&metro_screenctrl) // Screen Control
AM_RANGE(0x278810, 0x27881f) AM_WRITEONLY AM_BASE(&metro_irq_levels) // IRQ Levels
@@ -1333,8 +1333,8 @@ static ADDRESS_MAP_START( gakusai2_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x620000, 0x63ffff) AM_RAM_WRITE(metro_vram_1_w) AM_BASE(&metro_vram_1) // Layer 1
AM_RANGE(0x640000, 0x65ffff) AM_RAM_WRITE(metro_vram_2_w) AM_BASE(&metro_vram_2) // Layer 2
AM_RANGE(0x660000, 0x66ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0x670000, 0x673fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE(&paletteram16) // Palette
- AM_RANGE(0x674000, 0x674fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x670000, 0x673fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x674000, 0x674fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0x675000, 0x675fff) AM_RAM // Sprites?
AM_RANGE(0x678000, 0x6787ff) AM_RAM AM_BASE(&metro_tiletable) AM_SIZE(&metro_tiletable_size) // Tiles Set
AM_RANGE(0x67880e, 0x67880f) AM_RAM AM_BASE(&metro_screenctrl) // Screen Control
@@ -1402,8 +1402,8 @@ static ADDRESS_MAP_START( dokyusp_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x220000, 0x23ffff) AM_RAM_WRITE(metro_vram_1_w) AM_BASE(&metro_vram_1) // Layer 1
AM_RANGE(0x240000, 0x25ffff) AM_RAM_WRITE(metro_vram_2_w) AM_BASE(&metro_vram_2) // Layer 2
AM_RANGE(0x260000, 0x26ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0x270000, 0x273fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE(&paletteram16) // Palette
- AM_RANGE(0x274000, 0x274fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x270000, 0x273fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x274000, 0x274fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0x278000, 0x2787ff) AM_RAM AM_BASE(&metro_tiletable) AM_SIZE(&metro_tiletable_size) // Tiles Set
AM_RANGE(0x278810, 0x27881f) AM_WRITEONLY AM_BASE(&metro_irq_levels) // IRQ Levels
AM_RANGE(0x278820, 0x27882f) AM_WRITEONLY AM_BASE(&metro_irq_vectors) // IRQ Vectors
@@ -1440,8 +1440,8 @@ static ADDRESS_MAP_START( dokyusei_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x440000, 0x45ffff) AM_RAM_WRITE(metro_vram_2_w) AM_BASE(&metro_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(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE(&paletteram16) // Palette
- AM_RANGE(0x474000, 0x474fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x470000, 0x473fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x474000, 0x474fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0x478000, 0x4787ff) AM_RAM AM_BASE(&metro_tiletable) AM_SIZE(&metro_tiletable_size) // Tiles Set
AM_RANGE(0x47880e, 0x47880f) AM_WRITEONLY AM_BASE(&metro_screenctrl) // Screen Control
AM_RANGE(0x478810, 0x47881f) AM_WRITEONLY AM_BASE(&metro_irq_levels) // IRQ Levels
@@ -1479,8 +1479,8 @@ static ADDRESS_MAP_START( pangpoms_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x420000, 0x43ffff) AM_RAM_WRITE(metro_vram_1_w) AM_BASE(&metro_vram_1) // Layer 1
AM_RANGE(0x440000, 0x45ffff) AM_RAM_WRITE(metro_vram_2_w) AM_BASE(&metro_vram_2) // Layer 2
AM_RANGE(0x460000, 0x46ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0x470000, 0x473fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE(&paletteram16) // Palette
- AM_RANGE(0x474000, 0x474fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x470000, 0x473fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x474000, 0x474fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0x478000, 0x4787ff) AM_RAM AM_BASE(&metro_tiletable) AM_SIZE(&metro_tiletable_size) // Tiles Set
AM_RANGE(0x478800, 0x478813) AM_RAM AM_BASE(&metro_videoregs) // Video Registers
AM_RANGE(0x478840, 0x47884d) AM_WRITE(metro_blitter_w) AM_BASE(&metro_blitter_regs) // Tiles Blitter
@@ -1515,8 +1515,8 @@ static ADDRESS_MAP_START( poitto_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xc20000, 0xc3ffff) AM_RAM_WRITE(metro_vram_1_w) AM_BASE(&metro_vram_1) // Layer 1
AM_RANGE(0xc40000, 0xc5ffff) AM_RAM_WRITE(metro_vram_2_w) AM_BASE(&metro_vram_2) // Layer 2
AM_RANGE(0xc60000, 0xc6ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0xc70000, 0xc73fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE(&paletteram16) // Palette
- AM_RANGE(0xc74000, 0xc74fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0xc70000, 0xc73fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0xc74000, 0xc74fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0xc78000, 0xc787ff) AM_RAM AM_BASE(&metro_tiletable) AM_SIZE(&metro_tiletable_size) // Tiles Set
AM_RANGE(0xc78800, 0xc78813) AM_WRITEONLY AM_BASE(&metro_videoregs) // Video Registers
AM_RANGE(0xc78840, 0xc7884d) AM_WRITE(metro_blitter_w) AM_BASE(&metro_blitter_regs) // Tiles Blitter
@@ -1548,8 +1548,8 @@ static ADDRESS_MAP_START( skyalert_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x820000, 0x83ffff) AM_RAM_WRITE(metro_vram_1_w) AM_BASE(&metro_vram_1) // Layer 1
AM_RANGE(0x840000, 0x85ffff) AM_RAM_WRITE(metro_vram_2_w) AM_BASE(&metro_vram_2) // Layer 2
AM_RANGE(0x860000, 0x86ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0x870000, 0x873fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE(&paletteram16) // Palette
- AM_RANGE(0x874000, 0x874fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x870000, 0x873fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x874000, 0x874fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0x878000, 0x8787ff) AM_RAM AM_BASE(&metro_tiletable) AM_SIZE(&metro_tiletable_size) // Tiles Set
AM_RANGE(0x878800, 0x878813) AM_WRITEONLY AM_BASE(&metro_videoregs) // Video Registers
AM_RANGE(0x878840, 0x87884d) AM_WRITE(metro_blitter_w) AM_BASE(&metro_blitter_regs) // Tiles Blitter
@@ -1584,8 +1584,8 @@ static ADDRESS_MAP_START( pururun_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xc20000, 0xc3ffff) AM_RAM_WRITE(metro_vram_1_w) AM_BASE(&metro_vram_1) // Layer 1
AM_RANGE(0xc40000, 0xc5ffff) AM_RAM_WRITE(metro_vram_2_w) AM_BASE(&metro_vram_2) // Layer 2
AM_RANGE(0xc60000, 0xc6ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0xc70000, 0xc73fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE(&paletteram16) // Palette
- AM_RANGE(0xc74000, 0xc74fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0xc70000, 0xc73fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0xc74000, 0xc74fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0xc78000, 0xc787ff) AM_RAM AM_BASE(&metro_tiletable) AM_SIZE(&metro_tiletable_size) // Tiles Set
AM_RANGE(0xc78840, 0xc7884d) AM_WRITE(metro_blitter_w) AM_BASE(&metro_blitter_regs) // Tiles Blitter
AM_RANGE(0xc78860, 0xc7886b) AM_WRITE(metro_window_w) AM_BASE(&metro_window) // Tilemap Window
@@ -1617,8 +1617,8 @@ static ADDRESS_MAP_START( toride2g_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xc20000, 0xc3ffff) AM_RAM_WRITE(metro_vram_1_w) AM_BASE(&metro_vram_1) // Layer 1
AM_RANGE(0xc40000, 0xc5ffff) AM_RAM_WRITE(metro_vram_2_w) AM_BASE(&metro_vram_2) // Layer 2
AM_RANGE(0xc60000, 0xc6ffff) AM_READ(metro_bankedrom_r) // Banked ROM
- AM_RANGE(0xc70000, 0xc73fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE(&paletteram16) // Palette
- AM_RANGE(0xc74000, 0xc74fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0xc70000, 0xc73fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0xc74000, 0xc74fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0xc78000, 0xc787ff) AM_RAM AM_BASE(&metro_tiletable) AM_SIZE(&metro_tiletable_size) // Tiles Set
AM_RANGE(0xc78840, 0xc7884d) AM_WRITE(metro_blitter_w) AM_BASE(&metro_blitter_regs) // Tiles Blitter
AM_RANGE(0xc78860, 0xc7886b) AM_WRITE(metro_window_w) AM_BASE(&metro_window) // Tilemap Window
@@ -1692,8 +1692,8 @@ static ADDRESS_MAP_START( blzntrnd_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x240000, 0x25ffff) AM_RAM_WRITE(metro_vram_2_w) AM_BASE(&metro_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(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE(&paletteram16) // Palette
- AM_RANGE(0x274000, 0x274fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x270000, 0x273fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x274000, 0x274fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0x278000, 0x2787ff) AM_RAM AM_BASE(&metro_tiletable) AM_SIZE(&metro_tiletable_size) // Tiles Set
AM_RANGE(0x278860, 0x27886b) AM_WRITE(metro_window_w) AM_BASE(&metro_window) // Tilemap Window
AM_RANGE(0x278870, 0x27887b) AM_WRITEONLY AM_BASE(&metro_scroll) // Scroll
@@ -1732,8 +1732,8 @@ static ADDRESS_MAP_START( mouja_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x400000, 0x41ffff) AM_RAM_WRITE(metro_vram_0_w) AM_BASE(&metro_vram_0 ) // Layer 0
AM_RANGE(0x420000, 0x43ffff) AM_RAM_WRITE(metro_vram_1_w) AM_BASE(&metro_vram_1 ) // Layer 1
AM_RANGE(0x440000, 0x45ffff) AM_RAM_WRITE(metro_vram_2_w) AM_BASE(&metro_vram_2 ) // Layer 2
- AM_RANGE(0x470000, 0x473fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE(&paletteram16) // Palette
- AM_RANGE(0x474000, 0x474fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x470000, 0x473fff) AM_RAM_WRITE(paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x474000, 0x474fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0x478000, 0x4787ff) AM_RAM AM_BASE(&metro_tiletable) AM_SIZE(&metro_tiletable_size) // Tiles Set
AM_RANGE(0x47880e, 0x47880f) AM_WRITEONLY AM_BASE(&metro_screenctrl) // Screen Control
AM_RANGE(0x478810, 0x47881f) AM_WRITEONLY AM_BASE(&metro_irq_levels) // IRQ Levels
@@ -1784,12 +1784,12 @@ static ADDRESS_MAP_START( puzzlet_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE( 0x700000, 0x71ffff ) AM_READWRITE( SMH_RAM, metro_vram_0_w ) AM_BASE( &metro_vram_0 ) // Layer 0
AM_RANGE( 0x720000, 0x73ffff ) AM_READWRITE( SMH_RAM, metro_vram_1_w ) AM_BASE( &metro_vram_1 ) // Layer 1
AM_RANGE( 0x740000, 0x75ffff ) AM_READWRITE( SMH_RAM, metro_vram_2_w ) AM_BASE( &metro_vram_2 ) // Layer 2
- AM_RANGE( 0x774000, 0x774fff ) AM_RAM AM_BASE( &spriteram16 ) AM_SIZE( &spriteram_size ) // Sprites
-
+ AM_RANGE( 0x774000, 0x774fff ) AM_RAM AM_BASE_SIZE_GENERIC( spriteram )
+
AM_RANGE( 0x760000, 0x76ffff ) AM_READ( metro_bankedrom_r ) // Banked ROM
// AM_RANGE( 0x772000, 0x773fff ) AM_RAM
- AM_RANGE( 0x770000, 0x773fff ) AM_RAM_WRITE( paletteram16_GGGGGRRRRRBBBBBx_word_w ) AM_BASE( &paletteram16 ) // Palette
+ AM_RANGE( 0x770000, 0x773fff ) AM_RAM_WRITE( paletteram16_GGGGGRRRRRBBBBBx_word_w ) AM_BASE_GENERIC( paletteram ) // Palette
AM_RANGE( 0x775000, 0x777fff ) AM_RAM
diff --git a/src/mame/drivers/micro3d.c b/src/mame/drivers/micro3d.c
index 2526b580a8f..5ae2c96400d 100644
--- a/src/mame/drivers/micro3d.c
+++ b/src/mame/drivers/micro3d.c
@@ -120,8 +120,8 @@ static WRITE16_HANDLER( paletteram_w )
{
UINT16 word;
- COMBINE_DATA(&paletteram16[offset]);
- word = paletteram16[offset];
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
+ word = space->machine->generic.paletteram.u16[offset];
palette_set_color_rgb(space->machine, offset, pal5bit(word >> 6), pal5bit(word >> 1), pal5bit(word >> 11));
}
@@ -579,7 +579,7 @@ static ADDRESS_MAP_START( vgbmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00800000, 0x00bfffff) AM_RAM
AM_RANGE(0x00c00000, 0x00c0000f) AM_READ_PORT("VGB_SW")
AM_RANGE(0x00e00000, 0x00e0000f) AM_NOP /* XFER3dk???? 16-bit write */
- AM_RANGE(0x02000000, 0x0200ffff) AM_RAM_WRITE(paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x02000000, 0x0200ffff) AM_RAM_WRITE(paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x02600000, 0x0260000f) AM_WRITE(creg_w)
AM_RANGE(0x02c00000, 0x02c0003f) AM_READ(ti_uart_r)
AM_RANGE(0x02e00000, 0x02e0003f) AM_WRITE(ti_uart_w)
diff --git a/src/mame/drivers/midas.c b/src/mame/drivers/midas.c
index 5f059a23423..73181250e5d 100644
--- a/src/mame/drivers/midas.c
+++ b/src/mame/drivers/midas.c
@@ -229,7 +229,7 @@ static ADDRESS_MAP_START( mem_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x9c0000, 0x9c0005) AM_WRITE( livequiz_gfxregs_w ) AM_BASE( &livequiz_gfxregs )
- AM_RANGE(0xa00000, 0xa3ffff) AM_READWRITE( SMH_RAM, paletteram16_xrgb_word_be_w ) AM_BASE( &paletteram16 )
+ AM_RANGE(0xa00000, 0xa3ffff) AM_READWRITE( SMH_RAM, paletteram16_xrgb_word_be_w ) AM_BASE_GENERIC( 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 566dbd162a5..a827ae510c2 100644
--- a/src/mame/drivers/midtunit.c
+++ b/src/mame/drivers/midtunit.c
@@ -45,7 +45,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x01400000, 0x0141ffff) AM_READWRITE(midtunit_cmos_r, midtunit_cmos_w) AM_BASE_SIZE_GENERIC(nvram)
AM_RANGE(0x01480000, 0x014fffff) AM_WRITE(midtunit_cmos_enable_w)
AM_RANGE(0x01600000, 0x0160003f) AM_READ(midtunit_input_r)
- AM_RANGE(0x01800000, 0x0187ffff) AM_RAM_WRITE(midtunit_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x01800000, 0x0187ffff) AM_RAM_WRITE(midtunit_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x01a80000, 0x01a800ff) AM_READWRITE(midtunit_dma_r, midtunit_dma_w)
AM_RANGE(0x01b00000, 0x01b0001f) AM_WRITE(midtunit_control_w)
/* AM_RANGE(0x01c00060, 0x01c0007f) AM_WRITE(midtunit_cmos_enable_w) */
diff --git a/src/mame/drivers/midvunit.c b/src/mame/drivers/midvunit.c
index 0ba05c3dfb5..7ba7b358aad 100644
--- a/src/mame/drivers/midvunit.c
+++ b/src/mame/drivers/midvunit.c
@@ -183,13 +183,13 @@ static WRITE32_HANDLER( midvunit_cmos_protect_w )
static WRITE32_HANDLER( midvunit_cmos_w )
{
if (!cmos_protected)
- COMBINE_DATA(space->machine->generic.nvram.ptr.u32 + offset);
+ COMBINE_DATA(space->machine->generic.nvram.u32 + offset);
}
static READ32_HANDLER( midvunit_cmos_r )
{
- return space->machine->generic.nvram.ptr.u32[offset];
+ return space->machine->generic.nvram.u32[offset];
}
@@ -356,7 +356,7 @@ static READ32_HANDLER( bit_data_r )
{
int bit = (bit_data[bit_index / 32] >> (31 - (bit_index % 32))) & 1;
bit_index = (bit_index + 1) % 512;
- return bit ? space->machine->generic.nvram.ptr.u32[offset] : ~space->machine->generic.nvram.ptr.u32[offset];
+ return bit ? space->machine->generic.nvram.u32[offset] : ~space->machine->generic.nvram.u32[offset];
}
@@ -503,7 +503,7 @@ static ADDRESS_MAP_START( midvunit_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x997000, 0x997000) AM_NOP // communications
AM_RANGE(0x9a0000, 0x9a0000) AM_WRITE(midvunit_sound_w)
AM_RANGE(0x9c0000, 0x9c1fff) AM_READWRITE(midvunit_cmos_r, midvunit_cmos_w) AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0x9e0000, 0x9e7fff) AM_RAM_WRITE(midvunit_paletteram_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x9e0000, 0x9e7fff) AM_RAM_WRITE(midvunit_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xa00000, 0xbfffff) AM_READWRITE(midvunit_textureram_r, midvunit_textureram_w) AM_BASE(&midvunit_textureram)
AM_RANGE(0xc00000, 0xffffff) AM_ROM AM_REGION("user1", 0)
ADDRESS_MAP_END
@@ -528,7 +528,7 @@ static ADDRESS_MAP_START( midvplus_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x994000, 0x994000) AM_WRITE(midvunit_control_w)
AM_RANGE(0x995020, 0x995020) AM_WRITE(midvunit_cmos_protect_w)
AM_RANGE(0x9a0000, 0x9a0007) AM_DEVREADWRITE("ide", midway_ide_asic_r, midway_ide_asic_w)
- AM_RANGE(0x9c0000, 0x9c7fff) AM_RAM_WRITE(midvunit_paletteram_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x9c0000, 0x9c7fff) AM_RAM_WRITE(midvunit_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x9d0000, 0x9d000f) AM_READWRITE(midvplus_misc_r, midvplus_misc_w) AM_BASE(&midvplus_misc)
AM_RANGE(0xa00000, 0xbfffff) AM_READWRITE(midvunit_textureram_r, midvunit_textureram_w) AM_BASE(&midvunit_textureram)
AM_RANGE(0xc00000, 0xcfffff) AM_RAM
diff --git a/src/mame/drivers/midwunit.c b/src/mame/drivers/midwunit.c
index f1fcd2766ab..48977899f0f 100644
--- a/src/mame/drivers/midwunit.c
+++ b/src/mame/drivers/midwunit.c
@@ -108,7 +108,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x01600000, 0x0160001f) AM_READWRITE(midwunit_security_r, midwunit_security_w)
AM_RANGE(0x01680000, 0x0168001f) AM_READWRITE(midwunit_sound_r, midwunit_sound_w)
AM_RANGE(0x01800000, 0x0187ffff) AM_READWRITE(midwunit_io_r, midwunit_io_w)
- AM_RANGE(0x01880000, 0x018fffff) AM_RAM_WRITE(midtunit_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x01880000, 0x018fffff) AM_RAM_WRITE(midtunit_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x01a00000, 0x01a000ff) AM_MIRROR(0x00080000) AM_READWRITE(midtunit_dma_r, midtunit_dma_w)
AM_RANGE(0x01b00000, 0x01b0001f) AM_READWRITE(midwunit_control_r, midwunit_control_w)
AM_RANGE(0x02000000, 0x06ffffff) AM_READ(midwunit_gfxrom_r) AM_BASE((UINT16 **)&midwunit_decode_memory)
diff --git a/src/mame/drivers/midxunit.c b/src/mame/drivers/midxunit.c
index 7eeef4e2118..67e096c861e 100644
--- a/src/mame/drivers/midxunit.c
+++ b/src/mame/drivers/midxunit.c
@@ -108,7 +108,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x80800000, 0x8080001f) AM_READWRITE(midxunit_analog_r, midxunit_analog_select_w)
AM_RANGE(0x80c00000, 0x80c000ff) AM_READWRITE(midxunit_uart_r, midxunit_uart_w)
AM_RANGE(0xa0440000, 0xa047ffff) AM_READWRITE(midwunit_cmos_r, midxunit_cmos_w) AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0xa0800000, 0xa08fffff) AM_READWRITE(midxunit_paletteram_r, midxunit_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xa0800000, 0xa08fffff) AM_READWRITE(midxunit_paletteram_r, midxunit_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xc0000000, 0xc00003ff) AM_READWRITE(tms34020_io_register_r, tms34020_io_register_w)
AM_RANGE(0xc0c00000, 0xc0c000ff) AM_MIRROR(0x00400000) AM_READWRITE(midtunit_dma_r, midtunit_dma_w)
AM_RANGE(0xf8000000, 0xfeffffff) AM_READ(midwunit_gfxrom_r) AM_BASE((UINT16 **)&midwunit_decode_memory)
diff --git a/src/mame/drivers/midyunit.c b/src/mame/drivers/midyunit.c
index cbabc7ee725..7e530dca3bb 100644
--- a/src/mame/drivers/midyunit.c
+++ b/src/mame/drivers/midyunit.c
@@ -197,7 +197,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00000000, 0x001fffff) AM_READWRITE(midyunit_vram_r, midyunit_vram_w)
AM_RANGE(0x01000000, 0x010fffff) AM_RAM
AM_RANGE(0x01400000, 0x0140ffff) AM_READWRITE(midyunit_cmos_r, midyunit_cmos_w)
- AM_RANGE(0x01800000, 0x0181ffff) AM_RAM_WRITE(midyunit_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x01800000, 0x0181ffff) AM_RAM_WRITE(midyunit_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x01a80000, 0x01a8009f) AM_MIRROR(0x00080000) AM_READWRITE(midyunit_dma_r, midyunit_dma_w)
AM_RANGE(0x01c00000, 0x01c0005f) AM_READ(midyunit_input_r)
AM_RANGE(0x01c00060, 0x01c0007f) AM_READWRITE(midyunit_protection_r, midyunit_cmos_enable_w)
diff --git a/src/mame/drivers/midzeus.c b/src/mame/drivers/midzeus.c
index 2f5177750fe..e77d79083d4 100644
--- a/src/mame/drivers/midzeus.c
+++ b/src/mame/drivers/midzeus.c
@@ -129,7 +129,7 @@ static INTERRUPT_GEN( display_irq )
static WRITE32_HANDLER( cmos_w )
{
if (bitlatch[2] && !cmos_protected)
- COMBINE_DATA(&space->machine->generic.nvram.ptr.u32[offset]);
+ COMBINE_DATA(&space->machine->generic.nvram.u32[offset]);
else
logerror("%06X:timekeeper_w with bitlatch[2] = %d, cmos_protected = %d\n", cpu_get_pc(space->cpu), bitlatch[2], cmos_protected);
cmos_protected = TRUE;
@@ -138,7 +138,7 @@ static WRITE32_HANDLER( cmos_w )
static READ32_HANDLER( cmos_r )
{
- return space->machine->generic.nvram.ptr.u32[offset] | 0xffffff00;
+ return space->machine->generic.nvram.u32[offset] | 0xffffff00;
}
diff --git a/src/mame/drivers/mikie.c b/src/mame/drivers/mikie.c
index 25ecae87c99..83207e1abd1 100644
--- a/src/mame/drivers/mikie.c
+++ b/src/mame/drivers/mikie.c
@@ -79,10 +79,10 @@ static ADDRESS_MAP_START( mikie_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x2403, 0x2403) AM_READ_PORT("DSW2")
AM_RANGE(0x2500, 0x2500) AM_READ_PORT("DSW0")
AM_RANGE(0x2501, 0x2501) AM_READ_PORT("DSW1")
- AM_RANGE(0x2800, 0x288f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x2800, 0x288f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x2890, 0x37ff) AM_RAM
- AM_RANGE(0x3800, 0x3bff) AM_RAM_WRITE(mikie_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0x3c00, 0x3fff) AM_RAM_WRITE(mikie_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x3800, 0x3bff) AM_RAM_WRITE(mikie_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x3c00, 0x3fff) AM_RAM_WRITE(mikie_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x4000, 0x5fff) AM_ROM // Machine checks for extra rom
AM_RANGE(0x6000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mil4000.c b/src/mame/drivers/mil4000.c
index 0f10039ee83..db40c81e75b 100644
--- a/src/mame/drivers/mil4000.c
+++ b/src/mame/drivers/mil4000.c
@@ -265,7 +265,7 @@ static ADDRESS_MAP_START( mil4000_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x708010, 0x708011) AM_NOP //touch screen
AM_RANGE(0x70801e, 0x70801f) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
- AM_RANGE(0x780000, 0x780fff) AM_RAM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x780000, 0x780fff) AM_RAM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xff0000, 0xffffff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) // 2x CY62256L-70 (U7 & U8).
ADDRESS_MAP_END
diff --git a/src/mame/drivers/miniboy7.c b/src/mame/drivers/miniboy7.c
index b493e4eb84d..5433b2409e8 100644
--- a/src/mame/drivers/miniboy7.c
+++ b/src/mame/drivers/miniboy7.c
@@ -136,13 +136,13 @@ static tilemap *bg_tilemap;
static WRITE8_HANDLER( miniboy7_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
static WRITE8_HANDLER( miniboy7_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -154,8 +154,8 @@ static TILE_GET_INFO( get_bg_tile_info )
---- --x- tiles bank.
xx-- ---x seems unused. */
- int attr = colorram[tile_index];
- int code = videoram[tile_index];
+ int attr = machine->generic.colorram.u8[tile_index];
+ int code = machine->generic.videoram.u8[tile_index];
int bank = (attr & 0x02) >> 1; /* bit 1 switch the gfx banks */
int color = (attr & 0x3c); /* bits 2-3-4-5 for color? */
@@ -183,8 +183,8 @@ static VIDEO_UPDATE( miniboy7 )
static ADDRESS_MAP_START( miniboy7_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x07ff) AM_RAM /* battery backed RAM? */
- AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(miniboy7_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x1000, 0x17ff) AM_RAM_WRITE(miniboy7_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(miniboy7_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x1000, 0x17ff) AM_RAM_WRITE(miniboy7_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x1800, 0x25ff) AM_RAM /* looks like videoram */
AM_RANGE(0x2600, 0x27ff) AM_RAM
AM_RANGE(0x2800, 0x2800) AM_DEVWRITE("crtc", mc6845_address_w)
diff --git a/src/mame/drivers/minivadr.c b/src/mame/drivers/minivadr.c
index c0b8195c321..a942df73643 100644
--- a/src/mame/drivers/minivadr.c
+++ b/src/mame/drivers/minivadr.c
@@ -25,13 +25,13 @@ static VIDEO_UPDATE( minivadr )
{
offs_t offs;
- for (offs = 0; offs < videoram_size; offs++)
+ for (offs = 0; offs < screen->machine->generic.videoram_size; offs++)
{
int i;
UINT8 x = offs << 3;
int y = offs >> 5;
- UINT8 data = videoram[offs];
+ UINT8 data = screen->machine->generic.videoram.u8[offs];
for (i = 0; i < 8; i++)
{
@@ -49,7 +49,7 @@ static VIDEO_UPDATE( minivadr )
static ADDRESS_MAP_START( minivadr_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_ROM
- AM_RANGE(0xa000, 0xbfff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xa000, 0xbfff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0xe008, 0xe008) AM_READ_PORT("INPUTS") AM_WRITENOP // W - ???
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mirage.c b/src/mame/drivers/mirage.c
index 8fe41d5a5d6..11866ea0e11 100644
--- a/src/mame/drivers/mirage.c
+++ b/src/mame/drivers/mirage.c
@@ -43,6 +43,7 @@ MR_01-.3A [a0b758aa]
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect, int pri)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
for (offs = 0;offs < 0x400;offs += 4)
@@ -177,8 +178,8 @@ static ADDRESS_MAP_START( mirage_map, ADDRESS_SPACE_PROGRAM, 16 )
/* linescroll */
AM_RANGE(0x110000, 0x110bff) AM_RAM AM_BASE(&deco16_pf1_rowscroll)
AM_RANGE(0x112000, 0x112bff) AM_RAM AM_BASE(&deco16_pf2_rowscroll)
- AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_BASE(&spriteram16)
- AM_RANGE(0x130000, 0x1307ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_BASE_GENERIC(spriteram)
+ AM_RANGE(0x130000, 0x1307ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x140000, 0x14000f) AM_DEVREADWRITE8("oki_sfx", okim6295_r, okim6295_w, 0x00ff)
AM_RANGE(0x150000, 0x15000f) AM_DEVREADWRITE8("oki_bgm", okim6295_r, okim6295_w, 0x00ff)
// AM_RANGE(0x140006, 0x140007) AM_READ(random_readers)
diff --git a/src/mame/drivers/mirax.c b/src/mame/drivers/mirax.c
index b4ec5795fbc..537f72d420b 100644
--- a/src/mame/drivers/mirax.c
+++ b/src/mame/drivers/mirax.c
@@ -82,6 +82,7 @@ static VIDEO_START(mirax)
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int count;
for(count=0;count<0x200;count+=4)
@@ -116,8 +117,8 @@ static VIDEO_UPDATE(mirax)
{
for (x=0;x<32;x++)
{
- int tile = videoram[count];
- int color = (colorram[x*2]<<8) | (colorram[(x*2)+1]);
+ int tile = screen->machine->generic.videoram.u8[count];
+ int color = (screen->machine->generic.colorram.u8[x*2]<<8) | (screen->machine->generic.colorram.u8[(x*2)+1]);
int x_scroll = (color & 0xff00)>>8;
tile |= ((color & 0xe0)<<3);
@@ -138,8 +139,8 @@ static VIDEO_UPDATE(mirax)
{
for (x=0;x<32;x++)
{
- int tile = videoram[count];
- int color = (colorram[x*2]<<8) | (colorram[(x*2)+1]);
+ int tile = screen->machine->generic.videoram.u8[count];
+ int color = (screen->machine->generic.colorram.u8[x*2]<<8) | (screen->machine->generic.colorram.u8[(x*2)+1]);
int x_scroll = (color & 0xff00)>>8;
tile |= ((color & 0xe0)<<3);
@@ -203,9 +204,9 @@ static WRITE8_HANDLER( mirax_sound_cmd_w )
static ADDRESS_MAP_START( mirax_main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc800, 0xd7ff) AM_RAM
- AM_RANGE(0xe000, 0xe3ff) AM_RAM AM_BASE(&videoram)
- AM_RANGE(0xe800, 0xe9ff) AM_RAM AM_BASE(&spriteram)
- AM_RANGE(0xea00, 0xea3f) AM_RAM AM_BASE(&colorram) //per-column color + bank bits for the videoram
+ AM_RANGE(0xe000, 0xe3ff) AM_RAM AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xe800, 0xe9ff) AM_RAM AM_BASE_GENERIC(spriteram)
+ AM_RANGE(0xea00, 0xea3f) AM_RAM AM_BASE_GENERIC(colorram) //per-column color + bank bits for the videoram
AM_RANGE(0xf000, 0xf000) AM_READ_PORT("P1")
AM_RANGE(0xf100, 0xf100) AM_READ_PORT("P2")
AM_RANGE(0xf200, 0xf200) AM_READ_PORT("DSW1")
diff --git a/src/mame/drivers/missb2.c b/src/mame/drivers/missb2.c
index ff63714cece..f0502eb7332 100644
--- a/src/mame/drivers/missb2.c
+++ b/src/mame/drivers/missb2.c
@@ -146,10 +146,10 @@ static WRITE8_HANDLER( missb2_bg_bank_w )
static ADDRESS_MAP_START( master_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
- AM_RANGE(0xc000, 0xdcff) AM_RAM AM_BASE_MEMBER(bublbobl_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xc000, 0xdcff) AM_RAM AM_BASE_MEMBER(bublbobl_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0xdd00, 0xdfff) AM_RAM AM_BASE_MEMBER(bublbobl_state, objectram) AM_SIZE_MEMBER(bublbobl_state, objectram_size)
AM_RANGE(0xe000, 0xf7ff) AM_RAM AM_SHARE(1)
- AM_RANGE(0xf800, 0xf9ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE(&paletteram)
+ AM_RANGE(0xf800, 0xf9ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xfa00, 0xfa00) AM_WRITE(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/missile.c b/src/mame/drivers/missile.c
index 5a3a74c9713..3a584a14d88 100644
--- a/src/mame/drivers/missile.c
+++ b/src/mame/drivers/missile.c
@@ -454,7 +454,7 @@ static DIRECT_UPDATE_HANDLER( missile_direct_handler )
/* RAM? */
if (address < 0x4000)
{
- direct->raw = direct->decrypted = videoram - offset;
+ direct->raw = direct->decrypted = space->machine->generic.videoram.u8 - offset;
return ~0;
}
@@ -561,7 +561,7 @@ static void write_vram(const address_space *space, offs_t address, UINT8 data)
vramaddr = address >> 2;
vramdata = data_lookup[data >> 6];
vrammask = writeprom[(address & 7) | 0x10];
- videoram[vramaddr] = (videoram[vramaddr] & vrammask) | (vramdata & ~vrammask);
+ space->machine->generic.videoram.u8[vramaddr] = (space->machine->generic.videoram.u8[vramaddr] & vrammask) | (vramdata & ~vrammask);
/* 3-bit VRAM writes use an extra clock to write the 3rd bit elsewhere */
/* on the schematics, this is the MUSHROOM == 1 case */
@@ -570,7 +570,7 @@ static void write_vram(const address_space *space, offs_t address, UINT8 data)
vramaddr = get_bit3_addr(address);
vramdata = -((data >> 5) & 1);
vrammask = writeprom[(address & 7) | 0x18];
- videoram[vramaddr] = (videoram[vramaddr] & vrammask) | (vramdata & ~vrammask);
+ space->machine->generic.videoram.u8[vramaddr] = (space->machine->generic.videoram.u8[vramaddr] & vrammask) | (vramdata & ~vrammask);
/* account for the extra clock cycle */
cpu_adjust_icount(space->cpu, -1);
@@ -590,7 +590,7 @@ static UINT8 read_vram(const address_space *space, offs_t address)
/* this should only be called if MADSEL == 1 */
vramaddr = address >> 2;
vrammask = 0x11 << (address & 3);
- vramdata = videoram[vramaddr] & vrammask;
+ vramdata = space->machine->generic.videoram.u8[vramaddr] & vrammask;
if ((vramdata & 0xf0) == 0)
result &= ~0x80;
if ((vramdata & 0x0f) == 0)
@@ -602,7 +602,7 @@ static UINT8 read_vram(const address_space *space, offs_t address)
{
vramaddr = get_bit3_addr(address);
vrammask = 1 << (address & 7);
- vramdata = videoram[vramaddr] & vrammask;
+ vramdata = space->machine->generic.videoram.u8[vramaddr] & vrammask;
if (vramdata == 0)
result &= ~0x20;
@@ -630,12 +630,12 @@ static VIDEO_UPDATE( missile )
UINT16 *dst = (UINT16 *)bitmap->base + y * bitmap->rowpixels;
int effy = flipscreen ? ((256+24 - y) & 0xff) : y;
- UINT8 *src = &videoram[effy * 64];
+ UINT8 *src = &screen->machine->generic.videoram.u8[effy * 64];
UINT8 *src3 = NULL;
/* compute the base of the 3rd pixel row */
if (effy >= 224)
- src3 = &videoram[get_bit3_addr(effy << 8)];
+ src3 = &screen->machine->generic.videoram.u8[get_bit3_addr(effy << 8)];
/* loop over X */
for (x = cliprect->min_x; x <= cliprect->max_x; x++)
@@ -675,7 +675,7 @@ static WRITE8_HANDLER( missile_w )
/* RAM */
if (offset < 0x4000)
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
/* POKEY */
else if (offset < 0x4800)
@@ -730,7 +730,7 @@ static READ8_HANDLER( missile_r )
/* RAM */
if (offset < 0x4000)
- result = videoram[offset];
+ result = space->machine->generic.videoram.u8[offset];
/* ROM */
else if (offset >= 0x5000)
@@ -778,7 +778,7 @@ static READ8_HANDLER( missile_r )
/* complete memory map derived from schematics (implemented above) */
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0xffff) AM_READWRITE(missile_r, missile_w) AM_BASE(&videoram)
+ AM_RANGE(0x0000, 0xffff) AM_READWRITE(missile_r, missile_w) AM_BASE_GENERIC(videoram)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mjkjidai.c b/src/mame/drivers/mjkjidai.c
index a24c7b28ae7..d82126f04fa 100644
--- a/src/mame/drivers/mjkjidai.c
+++ b/src/mame/drivers/mjkjidai.c
@@ -176,9 +176,9 @@ static ADDRESS_MAP_START( mjkjidai_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xd000, 0xdfff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size) // cleared and initialized on startup if bit 6 if port 00 is 0
- AM_RANGE(0xe000, 0xe01f) AM_RAM AM_BASE(&spriteram) // shared with tilemap ram
- AM_RANGE(0xe800, 0xe81f) AM_RAM AM_BASE(&spriteram_2) // shared with tilemap ram
- AM_RANGE(0xf000, 0xf01f) AM_RAM AM_BASE(&spriteram_3) // shared with tilemap ram
+ AM_RANGE(0xe000, 0xe01f) AM_RAM AM_BASE_GENERIC(spriteram) // shared with tilemap ram
+ AM_RANGE(0xe800, 0xe81f) AM_RAM AM_BASE_GENERIC(spriteram2) // shared with tilemap ram
+ AM_RANGE(0xf000, 0xf01f) AM_RAM AM_BASE_GENERIC(spriteram3) // shared with tilemap ram
AM_RANGE(0xe000, 0xf7ff) AM_RAM_WRITE(mjkjidai_videoram_w) AM_BASE(&mjkjidai_videoram)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mlanding.c b/src/mame/drivers/mlanding.c
index 5a561fabfe1..181090283ad 100644
--- a/src/mame/drivers/mlanding.c
+++ b/src/mame/drivers/mlanding.c
@@ -444,7 +444,7 @@ static ADDRESS_MAP_START( mlanding_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x2d0000, 0x2d0001) AM_READNOP
AM_RANGE(0x2d0002, 0x2d0003) AM_READ8(taitosound_comm_r, 0x00ff)
- AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(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 45df6c425f0..a36d2c97116 100644
--- a/src/mame/drivers/model1.c
+++ b/src/mame/drivers/model1.c
@@ -798,9 +798,9 @@ static WRITE16_HANDLER(md0_w)
static WRITE16_HANDLER(p_w)
{
- UINT16 old = paletteram16[offset];
+ UINT16 old = space->machine->generic.paletteram.u16[offset];
paletteram16_xBBBBBGGGGGRRRRR_word_w(space, offset, data, mem_mask);
- if(0 && paletteram16[offset] != old)
+ if(0 && space->machine->generic.paletteram.u16[offset] != old)
logerror("XVIDEO: p_w %x, %04x @ %04x (%x)\n", offset, data, mem_mask, cpu_get_pc(space->cpu));
}
@@ -881,7 +881,7 @@ static ADDRESS_MAP_START( model1_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x770000, 0x770001) AM_WRITENOP // Video synchronization switch
AM_RANGE(0x780000, 0x7fffff) AM_READWRITE(sys24_char_r, sys24_char_w)
- AM_RANGE(0x900000, 0x903fff) AM_RAM_WRITE(p_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x900000, 0x903fff) AM_RAM_WRITE(p_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x910000, 0x91bfff) AM_RAM AM_BASE(&model1_color_xlat)
AM_RANGE(0xc00000, 0xc0003f) AM_READ(io_r) AM_WRITENOP
@@ -929,7 +929,7 @@ static ADDRESS_MAP_START( model1_vr_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x770000, 0x770001) AM_WRITENOP // Video synchronization switch
AM_RANGE(0x780000, 0x7fffff) AM_READWRITE(sys24_char_r, sys24_char_w)
- AM_RANGE(0x900000, 0x903fff) AM_RAM_WRITE(p_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x900000, 0x903fff) AM_RAM_WRITE(p_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x910000, 0x91bfff) AM_RAM AM_BASE(&model1_color_xlat)
AM_RANGE(0xc00000, 0xc0003f) AM_READ(io_r) AM_WRITENOP
diff --git a/src/mame/drivers/model2.c b/src/mame/drivers/model2.c
index 45ea0634f09..c3e2a3ce322 100644
--- a/src/mame/drivers/model2.c
+++ b/src/mame/drivers/model2.c
@@ -64,6 +64,7 @@
UINT32 *model2_bufferram, *model2_colorxlat;
static UINT32 *model2_workram, *model2_backup1, *model2_backup2;
UINT32 *model2_textureram0, *model2_textureram1, *model2_lumaram;
+UINT32 *model2_paletteram32;
static UINT32 model2_intreq;
static UINT32 model2_intena;
static UINT32 model2_coproctl, model2_coprocnt, model2_geoctl, model2_geocnt;
@@ -397,11 +398,11 @@ static void chcolor(running_machine *machine, pen_t color, UINT16 data)
static WRITE32_HANDLER( pal32_w )
{
- COMBINE_DATA(paletteram32 + offset);
+ COMBINE_DATA(model2_paletteram32 + offset);
if(ACCESSING_BITS_0_15)
- chcolor(space->machine, offset * 2, paletteram32[offset]);
+ chcolor(space->machine, offset * 2, model2_paletteram32[offset]);
if(ACCESSING_BITS_16_31)
- chcolor(space->machine, offset * 2 + 1, paletteram32[offset] >> 16);
+ chcolor(space->machine, offset * 2 + 1, model2_paletteram32[offset] >> 16);
}
static WRITE32_HANDLER( ctrl0_w )
@@ -1241,7 +1242,7 @@ static ADDRESS_MAP_START( model2_base_mem, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x01100000, 0x0110ffff) AM_READWRITE(sys24_tile32_r, sys24_tile32_w) AM_MIRROR(0x10000)
AM_RANGE(0x01180000, 0x011fffff) AM_READWRITE(sys24_char32_r, sys24_char32_w) AM_MIRROR(0x100000)
- AM_RANGE(0x01800000, 0x01803fff) AM_RAM_WRITE(pal32_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x01800000, 0x01803fff) AM_RAM_WRITE(pal32_w) AM_BASE(&model2_paletteram32)
AM_RANGE(0x01810000, 0x0181bfff) AM_RAM AM_BASE(&model2_colorxlat)
AM_RANGE(0x0181c000, 0x0181c003) AM_WRITE(model2_3d_zclip_w)
AM_RANGE(0x01a10000, 0x01a1ffff) AM_READWRITE(network_r, network_w)
diff --git a/src/mame/drivers/mole.c b/src/mame/drivers/mole.c
index b283691621a..03d09723170 100644
--- a/src/mame/drivers/mole.c
+++ b/src/mame/drivers/mole.c
@@ -115,7 +115,7 @@ static ADDRESS_MAP_START( mole_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0800, 0x0800) AM_WRITENOP // ???
AM_RANGE(0x0820, 0x0820) AM_WRITENOP // ???
AM_RANGE(0x5000, 0x7fff) AM_MIRROR(0x8000) AM_ROM
- AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(mole_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(mole_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x8400, 0x8400) AM_WRITE(mole_tilebank_w)
AM_RANGE(0x8c00, 0x8c01) AM_DEVWRITE("aysnd", ay8910_data_address_w)
AM_RANGE(0x8c40, 0x8c40) AM_WRITENOP // ???
diff --git a/src/mame/drivers/momoko.c b/src/mame/drivers/momoko.c
index 741a2e7e148..59c03b6c4c3 100644
--- a/src/mame/drivers/momoko.c
+++ b/src/mame/drivers/momoko.c
@@ -73,17 +73,17 @@ static WRITE8_HANDLER( momoko_bg_read_bank_w )
static ADDRESS_MAP_START( momoko_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
- AM_RANGE(0xd064, 0xd0ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xd064, 0xd0ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xd400, 0xd400) AM_READ_PORT("IN0") AM_WRITENOP /* interrupt ack? */
AM_RANGE(0xd402, 0xd402) AM_READ_PORT("IN1") AM_WRITE(momoko_flipscreen_w)
AM_RANGE(0xd404, 0xd404) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xd406, 0xd406) AM_READ_PORT("DSW0") AM_WRITE(soundlatch_w)
AM_RANGE(0xd407, 0xd407) AM_READ_PORT("DSW1")
- AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_be_w) AM_BASE(&paletteram)
+ AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_be_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xdc00, 0xdc00) AM_WRITE(momoko_fg_scrolly_w)
AM_RANGE(0xdc01, 0xdc01) AM_WRITE(momoko_fg_scrollx_w)
AM_RANGE(0xdc02, 0xdc02) AM_WRITE(momoko_fg_select_w)
- AM_RANGE(0xe000, 0xe3ff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xe000, 0xe3ff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0xe800, 0xe800) AM_WRITE(momoko_text_scrolly_w)
AM_RANGE(0xe801, 0xe801) AM_WRITE(momoko_text_mode_w)
AM_RANGE(0xf000, 0xffff) AM_ROMBANK(1)
diff --git a/src/mame/drivers/moo.c b/src/mame/drivers/moo.c
index 67f39e822f8..a0592820f25 100644
--- a/src/mame/drivers/moo.c
+++ b/src/mame/drivers/moo.c
@@ -140,13 +140,13 @@ static WRITE16_HANDLER( control2_w )
}
-static void moo_objdma(int type)
+static void moo_objdma(running_machine *machine, int type)
{
int counter, num_inactive;
UINT16 *src, *dst, zmask;
K053247_export_config(&dst, 0, 0, 0, &counter);
- src = spriteram16;
+ src = machine->generic.spriteram.u16;
num_inactive = counter = 256;
zmask = (type) ? 0x00ff : 0xffff;
@@ -175,7 +175,7 @@ static INTERRUPT_GEN(moo_interrupt)
{
if (K053246_is_IRQ_enabled())
{
- moo_objdma(game_type);
+ moo_objdma(device->machine, game_type);
// schedule DMA end interrupt (delay shortened to catch up with V-blank)
timer_set(device->machine, ATTOTIME_IN_USEC(MOO_DMADELAY), NULL, 0, dmaend_callback);
@@ -188,7 +188,7 @@ static INTERRUPT_GEN(moo_interrupt)
static INTERRUPT_GEN(moobl_interrupt)
{
- moo_objdma(game_type);
+ moo_objdma(device->machine, game_type);
// schedule DMA end interrupt (delay shortened to catch up with V-blank)
timer_set(device->machine, ATTOTIME_IN_USEC(MOO_DMADELAY), NULL, 0, dmaend_callback);
@@ -235,7 +235,7 @@ static WRITE8_HANDLER( sound_bankswitch_w )
static READ16_HANDLER( K053247_scattered_word_r )
{
if (offset & 0x0078)
- return spriteram16[offset];
+ return space->machine->generic.spriteram.u16[offset];
else
{
offset = (offset & 0x0007) | ((offset & 0x7f80) >> 4);
@@ -246,7 +246,7 @@ static READ16_HANDLER( K053247_scattered_word_r )
static WRITE16_HANDLER( K053247_scattered_word_w )
{
if (offset & 0x0078)
- COMBINE_DATA(spriteram16+offset);
+ COMBINE_DATA(space->machine->generic.spriteram.u16+offset);
else
{
offset = (offset & 0x0007) | ((offset & 0x7f80) >> 4);
@@ -318,11 +318,11 @@ static ADDRESS_MAP_START( moo_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0de000, 0x0de001) AM_READWRITE(control2_r,control2_w)
AM_RANGE(0x100000, 0x17ffff) AM_ROM
AM_RANGE(0x180000, 0x18ffff) AM_RAM AM_BASE(&workram) /* Work RAM */
- AM_RANGE(0x190000, 0x19ffff) AM_RAM AM_BASE(&spriteram16) /* Sprite RAM */
+ AM_RANGE(0x190000, 0x19ffff) AM_RAM AM_BASE_GENERIC(spriteram) /* Sprite RAM */
AM_RANGE(0x1a0000, 0x1a1fff) AM_READWRITE(K056832_ram_word_r,K056832_ram_word_w) /* Graphic planes */
AM_RANGE(0x1a2000, 0x1a3fff) AM_READWRITE(K056832_ram_word_r,K056832_ram_word_w) /* Graphic planes mirror */
AM_RANGE(0x1b0000, 0x1b1fff) AM_READ(K056832_rom_word_r) /* Passthrough to tile roms */
- AM_RANGE(0x1c0000, 0x1c1fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x1c0000, 0x1c1fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_BASE_GENERIC(paletteram)
#if MOO_DEBUG
AM_RANGE(0x0c0000, 0x0c003f) AM_READ(K056832_word_r)
AM_RANGE(0x0c2000, 0x0c2007) AM_READ(K053246_reg_word_r)
@@ -352,17 +352,17 @@ static ADDRESS_MAP_START( moobl_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0de000, 0x0de001) AM_READWRITE(control2_r,control2_w)
AM_RANGE(0x100000, 0x17ffff) AM_ROM
AM_RANGE(0x180000, 0x18ffff) AM_RAM AM_BASE(&workram) /* Work RAM */
- AM_RANGE(0x190000, 0x19ffff) AM_RAM AM_BASE(&spriteram16) /* Sprite RAM */
+ AM_RANGE(0x190000, 0x19ffff) AM_RAM AM_BASE_GENERIC(spriteram) /* Sprite RAM */
AM_RANGE(0x1a0000, 0x1a1fff) AM_READWRITE(K056832_ram_word_r,K056832_ram_word_w) /* Graphic planes */
AM_RANGE(0x1a2000, 0x1a3fff) AM_READWRITE(K056832_ram_word_r,K056832_ram_word_w) /* Graphic planes mirror */
AM_RANGE(0x1b0000, 0x1b1fff) AM_READ(K056832_rom_word_r) /* Passthrough to tile roms */
- AM_RANGE(0x1c0000, 0x1c1fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x1c0000, 0x1c1fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_BASE_GENERIC(paletteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( bucky_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x08ffff) AM_RAM
- AM_RANGE(0x090000, 0x09ffff) AM_RAM AM_BASE(&spriteram16) /* Sprite RAM */
+ AM_RANGE(0x090000, 0x09ffff) AM_RAM AM_BASE_GENERIC(spriteram) /* Sprite RAM */
AM_RANGE(0x0a0000, 0x0affff) AM_RAM /* extra sprite RAM? */
AM_RANGE(0x0c0000, 0x0c003f) AM_WRITE(K056832_word_w)
AM_RANGE(0x0c2000, 0x0c2007) AM_WRITE(K053246_word_w)
@@ -387,7 +387,7 @@ static ADDRESS_MAP_START( bucky_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x182000, 0x183fff) AM_READWRITE(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_READ(K056832_rom_word_r) /* Passthrough to tile roms */
- AM_RANGE(0x1b0000, 0x1b3fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x1b0000, 0x1b3fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x200000, 0x23ffff) AM_ROM /* data */
#if MOO_DEBUG
AM_RANGE(0x0c0000, 0x0c003f) AM_READ(K056832_word_r)
diff --git a/src/mame/drivers/mosaic.c b/src/mame/drivers/mosaic.c
index 13ef4ef03f4..a72d8729dd8 100644
--- a/src/mame/drivers/mosaic.c
+++ b/src/mame/drivers/mosaic.c
@@ -101,7 +101,7 @@ static ADDRESS_MAP_START( mosaic_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x20000, 0x21fff) AM_RAM
AM_RANGE(0x22000, 0x22fff) AM_RAM_WRITE(mosaic_bgvideoram_w) AM_BASE(&mosaic_bgvideoram)
AM_RANGE(0x23000, 0x23fff) AM_RAM_WRITE(mosaic_fgvideoram_w) AM_BASE(&mosaic_fgvideoram)
- AM_RANGE(0x24000, 0x241ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE(&paletteram)
+ AM_RANGE(0x24000, 0x241ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE_GENERIC(paletteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( gfire2_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -109,7 +109,7 @@ static ADDRESS_MAP_START( gfire2_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x10000, 0x17fff) AM_RAM
AM_RANGE(0x22000, 0x22fff) AM_RAM_WRITE(mosaic_bgvideoram_w) AM_BASE(&mosaic_bgvideoram)
AM_RANGE(0x23000, 0x23fff) AM_RAM_WRITE(mosaic_fgvideoram_w) AM_BASE(&mosaic_fgvideoram)
- AM_RANGE(0x24000, 0x241ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE(&paletteram)
+ AM_RANGE(0x24000, 0x241ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE_GENERIC(paletteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( mosaic_io_map, ADDRESS_SPACE_IO, 8 )
diff --git a/src/mame/drivers/mouser.c b/src/mame/drivers/mouser.c
index 4f28654b986..5e2cec2e85b 100644
--- a/src/mame/drivers/mouser.c
+++ b/src/mame/drivers/mouser.c
@@ -57,9 +57,9 @@ static ADDRESS_MAP_START( mouser_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x6bff) AM_RAM
AM_RANGE(0x8800, 0x88ff) AM_WRITENOP /* unknown */
- AM_RANGE(0x9000, 0x93ff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x9800, 0x9cff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0x9c00, 0x9fff) AM_RAM AM_BASE(&colorram)
+ AM_RANGE(0x9000, 0x93ff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x9800, 0x9cff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x9c00, 0x9fff) AM_RAM AM_BASE_GENERIC(colorram)
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("P1") AM_WRITE(mouser_nmi_enable_w) /* bit 0 = NMI Enable */
AM_RANGE(0xa001, 0xa001) AM_WRITE(mouser_flip_screen_x_w)
AM_RANGE(0xa002, 0xa002) AM_WRITE(mouser_flip_screen_y_w)
diff --git a/src/mame/drivers/mrdo.c b/src/mame/drivers/mrdo.c
index d3573222077..b406cc2f3ff 100644
--- a/src/mame/drivers/mrdo.c
+++ b/src/mame/drivers/mrdo.c
@@ -46,7 +46,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(mrdo_bgvideoram_w) AM_BASE(&mrdo_bgvideoram)
AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(mrdo_fgvideoram_w) AM_BASE(&mrdo_fgvideoram)
- AM_RANGE(0x9000, 0x90ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x9000, 0x90ff) AM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x9800, 0x9800) AM_WRITE(mrdo_flipscreen_w) /* screen flip + playfield priority */
AM_RANGE(0x9801, 0x9801) AM_DEVWRITE("sn1", sn76496_w)
AM_RANGE(0x9802, 0x9802) AM_DEVWRITE("sn2", sn76496_w)
diff --git a/src/mame/drivers/mrflea.c b/src/mame/drivers/mrflea.c
index 2308c020603..f07fae64a0b 100644
--- a/src/mame/drivers/mrflea.c
+++ b/src/mame/drivers/mrflea.c
@@ -149,9 +149,9 @@ static READ8_HANDLER( mrflea_interrupt_type_r )
static ADDRESS_MAP_START( mrflea_master_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
- AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(mrflea_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xe800, 0xe83f) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_le_w) AM_BASE(&paletteram)
- AM_RANGE(0xec00, 0xecff) AM_RAM_WRITE(mrflea_spriteram_w) AM_BASE(&spriteram)
+ AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(mrflea_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xe800, 0xe83f) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_le_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xec00, 0xecff) AM_RAM_WRITE(mrflea_spriteram_w) AM_BASE_GENERIC(spriteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( mrflea_master_io_map, ADDRESS_SPACE_IO, 8 )
diff --git a/src/mame/drivers/mrjong.c b/src/mame/drivers/mrjong.c
index d1388312f97..3a562b49bf1 100644
--- a/src/mame/drivers/mrjong.c
+++ b/src/mame/drivers/mrjong.c
@@ -60,8 +60,8 @@ static ADDRESS_MAP_START( mrjong_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa7ff) AM_RAM
- AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(mrjong_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xe400, 0xe7ff) AM_RAM_WRITE(mrjong_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(mrjong_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xe400, 0xe7ff) AM_RAM_WRITE(mrjong_colorram_w) AM_BASE_GENERIC(colorram)
ADDRESS_MAP_END
static WRITE8_HANDLER( io_0x00_w )
diff --git a/src/mame/drivers/msisaac.c b/src/mame/drivers/msisaac.c
index aefc6e3e51c..a50dd7fce32 100644
--- a/src/mame/drivers/msisaac.c
+++ b/src/mame/drivers/msisaac.c
@@ -201,7 +201,7 @@ static WRITE8_HANDLER( msisaac_mcu_w )
static ADDRESS_MAP_START( msisaac_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xe7ff) AM_RAM
- AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_le_w) AM_BASE(&paletteram)
+ AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_le_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xf000, 0xf000) AM_WRITE(msisaac_bg2_textbank_w)
AM_RANGE(0xf001, 0xf001) AM_WRITENOP //???
AM_RANGE(0xf002, 0xf002) AM_WRITENOP //???
@@ -228,8 +228,8 @@ static ADDRESS_MAP_START( msisaac_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xf084, 0xf084) AM_READ_PORT("IN1")
// AM_RANGE(0xf086, 0xf086) AM_READ_PORT("IN2")
- AM_RANGE(0xf100, 0xf17f) AM_RAM AM_BASE(&spriteram) //sprites
- AM_RANGE(0xf400, 0xf7ff) AM_RAM_WRITE(msisaac_fg_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0xf100, 0xf17f) AM_RAM AM_BASE_GENERIC(spriteram) //sprites
+ AM_RANGE(0xf400, 0xf7ff) AM_RAM_WRITE(msisaac_fg_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0xf800, 0xfbff) AM_RAM_WRITE(msisaac_bg2_videoram_w) AM_BASE(&msisaac_videoram2)
AM_RANGE(0xfc00, 0xffff) AM_RAM_WRITE(msisaac_bg_videoram_w) AM_BASE(&msisaac_videoram)
// AM_RANGE(0xf801, 0xf801) AM_WRITE(msisaac_bgcolor_w)
diff --git a/src/mame/drivers/mugsmash.c b/src/mame/drivers/mugsmash.c
index c42f8bf7739..8ee080819d8 100644
--- a/src/mame/drivers/mugsmash.c
+++ b/src/mame/drivers/mugsmash.c
@@ -184,7 +184,7 @@ static ADDRESS_MAP_START( mugsmash_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(mugsmash_videoram1_w) AM_BASE(&mugsmash_videoram1)
AM_RANGE(0x082000, 0x082fff) AM_RAM_WRITE(mugsmash_videoram2_w) AM_BASE(&mugsmash_videoram2)
AM_RANGE(0x0c0000, 0x0c0007) AM_WRITE(mugsmash_reg_w) AM_BASE(&mugsmash_regs1) /* video registers*/
- AM_RANGE(0x100000, 0x1005ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x100000, 0x1005ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x140000, 0x140007) AM_WRITE(mugsmash_reg2_w) AM_BASE(&mugsmash_regs2) /* sound + ? */
AM_RANGE(0x1c0000, 0x1c3fff) AM_RAM /* main ram? */
AM_RANGE(0x1c4000, 0x1cffff) AM_RAM
diff --git a/src/mame/drivers/munchmo.c b/src/mame/drivers/munchmo.c
index dba72cb9ac2..1a65abf43ee 100644
--- a/src/mame/drivers/munchmo.c
+++ b/src/mame/drivers/munchmo.c
@@ -77,7 +77,7 @@ static ADDRESS_MAP_START( mnchmobl_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xa000, 0xa3ff) AM_MIRROR(0x0400) AM_RAM AM_BASE(&mnchmobl_sprite_xpos)
AM_RANGE(0xa800, 0xabff) AM_MIRROR(0x0400) AM_RAM AM_BASE(&mnchmobl_sprite_tile)
AM_RANGE(0xb000, 0xb3ff) AM_MIRROR(0x0400) AM_RAM AM_BASE(&mnchmobl_sprite_attr)
- AM_RANGE(0xb800, 0xb8ff) AM_MIRROR(0x0100) AM_RAM AM_BASE(&videoram)
+ AM_RANGE(0xb800, 0xb8ff) AM_MIRROR(0x0100) AM_RAM AM_BASE_GENERIC(videoram)
AM_RANGE(0xbaba, 0xbaba) AM_WRITENOP /* ? */
AM_RANGE(0xbc00, 0xbc7f) AM_RAM AM_BASE(&mnchmobl_status_vram)
AM_RANGE(0xbe00, 0xbe00) AM_WRITE(mnchmobl_soundlatch_w)
diff --git a/src/mame/drivers/mustache.c b/src/mame/drivers/mustache.c
index 4021d701ecd..62c552605a7 100644
--- a/src/mame/drivers/mustache.c
+++ b/src/mame/drivers/mustache.c
@@ -63,7 +63,7 @@ static WRITE8_HANDLER(t5182shared_w)
static ADDRESS_MAP_START( memmap, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROM
- AM_RANGE(0xc000, 0xcfff) AM_RAM_WRITE(mustache_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0xc000, 0xcfff) AM_RAM_WRITE(mustache_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0xd000, 0xd000) AM_WRITE(t5182_sound_irq_w)
AM_RANGE(0xd001, 0xd001) AM_READ(t5182_sharedram_semaphore_snd_r)
AM_RANGE(0xd002, 0xd002) AM_WRITE(t5182_sharedram_semaphore_main_acquire_w)
@@ -76,7 +76,7 @@ static ADDRESS_MAP_START( memmap, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd804, 0xd804) AM_READ_PORT("DSWB")
AM_RANGE(0xd806, 0xd806) AM_WRITE(mustache_scroll_w)
AM_RANGE(0xd807, 0xd807) AM_WRITE(mustache_video_control_w)
- AM_RANGE(0xe800, 0xefff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xe800, 0xefff) AM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mwarr.c b/src/mame/drivers/mwarr.c
index 3e64a41b5d8..92d0c88a418 100644
--- a/src/mame/drivers/mwarr.c
+++ b/src/mame/drivers/mwarr.c
@@ -104,7 +104,7 @@ static WRITE16_HANDLER( sprites_commands_w )
/* refresh sprites on screen */
for( i = 0; i < 0x800; i++)
{
- sprites_buffer[i] = spriteram16[i];
+ sprites_buffer[i] = space->machine->generic.spriteram.u16[i];
}
break;
@@ -142,8 +142,8 @@ static ADDRESS_MAP_START( mwarr_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x103400, 0x1037ff) AM_RAM AM_BASE(&mlow_scrollram)
AM_RANGE(0x103800, 0x103bff) AM_RAM AM_BASE(&mhigh_scrollram)
AM_RANGE(0x103c00, 0x103fff) AM_RAM AM_BASE(&vidattrram)
- AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0x108000, 0x108fff) AM_RAM AM_BASE(&spriteram16)
+ AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x108000, 0x108fff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x110000, 0x110001) AM_READ_PORT("P1_P2")
AM_RANGE(0x110002, 0x110003) AM_READ_PORT("SYSTEM")
AM_RANGE(0x110004, 0x110005) AM_READ_PORT("DSW")
diff --git a/src/mame/drivers/mystwarr.c b/src/mame/drivers/mystwarr.c
index c6796ceb4bc..b78d4387da2 100644
--- a/src/mame/drivers/mystwarr.c
+++ b/src/mame/drivers/mystwarr.c
@@ -346,7 +346,7 @@ static READ16_HANDLER( dddcoins_r )
static READ16_HANDLER( K053247_scattered_word_r )
{
if (offset & 0x0078)
- return spriteram16[offset];
+ return space->machine->generic.spriteram.u16[offset];
else
{
offset = (offset & 0x0007) | ((offset & 0x7f80) >> 4);
@@ -359,7 +359,7 @@ static WRITE16_HANDLER( K053247_scattered_word_w )
if (offset & 0x0078)
{
// mame_printf_debug("spr write %x to %x (PC=%x)\n", data, offset, cpu_get_pc(space->cpu));
- COMBINE_DATA(spriteram16+offset);
+ COMBINE_DATA(space->machine->generic.spriteram.u16+offset);
}
else
{
@@ -374,7 +374,7 @@ static WRITE16_HANDLER( K053247_scattered_word_w )
static ADDRESS_MAP_START( mystwarr_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x1fffff) AM_ROM // main program
AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_BASE(&gx_workram)
- AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(K053247_scattered_word_r,K053247_scattered_word_w) AM_BASE(&spriteram16)
+ AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(K053247_scattered_word_r,K053247_scattered_word_w) AM_BASE_GENERIC(spriteram)
AM_RANGE(0x480000, 0x4800ff) AM_WRITE(K055555_word_w)
AM_RANGE(0x482000, 0x48200f) AM_READ(K055673_rom_word_r)
AM_RANGE(0x482010, 0x48201f) AM_WRITE(K053247_reg_word_w)
@@ -397,7 +397,7 @@ static ADDRESS_MAP_START( mystwarr_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x600000, 0x601fff) AM_READWRITE(K056832_ram_word_r,K056832_ram_word_w)
AM_RANGE(0x602000, 0x603fff) AM_READWRITE(K056832_ram_word_r,K056832_ram_word_w) // tilemap RAM mirror read(essential)
AM_RANGE(0x680000, 0x683fff) AM_READ(K056832_mw_rom_word_r)
- AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_BASE_GENERIC(paletteram)
#if MW_DEBUG
AM_RANGE(0x480000, 0x4800ff) AM_READ(K055555_word_r)
AM_RANGE(0x482010, 0x48201f) AM_READ(K053247_reg_word_r)
@@ -439,7 +439,7 @@ static ADDRESS_MAP_START( metamrph_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x302000, 0x303fff) AM_READWRITE(K056832_ram_word_r,K056832_ram_word_w) // tilemap RAM mirror read/write (essential)
AM_RANGE(0x310000, 0x311fff) AM_READ(K056832_mw_rom_word_r)
AM_RANGE(0x320000, 0x321fff) AM_READ(K053250_0_rom_r)
- AM_RANGE(0x330000, 0x331fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x330000, 0x331fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_BASE_GENERIC(paletteram)
#if MW_DEBUG
AM_RANGE(0x240000, 0x240007) AM_READ(K053246_reg_word_r)
AM_RANGE(0x244010, 0x24401f) AM_READ(K053247_reg_word_r)
@@ -483,7 +483,7 @@ static ADDRESS_MAP_START( viostorm_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x302000, 0x303fff) AM_READWRITE(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(K056832_mw_rom_word_r)
- AM_RANGE(0x330000, 0x331fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x330000, 0x331fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_BASE_GENERIC(paletteram)
#if MW_DEBUG
AM_RANGE(0x240000, 0x240007) AM_READ(K053246_reg_word_r)
AM_RANGE(0x244010, 0x24401f) AM_READ(K053247_reg_word_r)
@@ -499,7 +499,7 @@ ADDRESS_MAP_END
static READ16_HANDLER( K053247_martchmp_word_r )
{
if (offset & 0x0018)
- return spriteram16[offset];
+ return space->machine->generic.spriteram.u16[offset];
else
{
offset = (offset & 0x0007) | ((offset & 0x1fe0) >> 2);
@@ -511,7 +511,7 @@ static WRITE16_HANDLER( K053247_martchmp_word_w )
{
if (offset & 0x0018)
{
- COMBINE_DATA(spriteram16+offset);
+ COMBINE_DATA(space->machine->generic.spriteram.u16+offset);
}
else
{
@@ -570,8 +570,8 @@ static ADDRESS_MAP_START( martchmp_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x41a000, 0x41a001) AM_WRITE(sound_irq_w)
AM_RANGE(0x41c000, 0x41c01f) AM_WRITE(K053252_word_w) // CCU
AM_RANGE(0x41e000, 0x41e007) AM_WRITE(K056832_b_word_w) // VSCCS
- AM_RANGE(0x480000, 0x483fff) AM_READWRITE(K053247_martchmp_word_r,K053247_martchmp_word_w) AM_BASE(&spriteram16) // sprite RAM
- AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_BASE(&paletteram16) // palette RAM
+ AM_RANGE(0x480000, 0x483fff) AM_READWRITE(K053247_martchmp_word_r,K053247_martchmp_word_w) AM_BASE_GENERIC(spriteram) // sprite RAM
+ AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_BASE_GENERIC(paletteram) // palette RAM
AM_RANGE(0x680000, 0x681fff) AM_READWRITE(K056832_ram_word_r,K056832_ram_word_w) // tilemap RAM
AM_RANGE(0x682000, 0x683fff) AM_READWRITE(K056832_ram_word_r,K056832_ram_word_w) // tilemap RAM mirror read/write (essential)
AM_RANGE(0x700000, 0x703fff) AM_READ(K056832_mw_rom_word_r) // tile ROM readback
@@ -589,10 +589,10 @@ ADDRESS_MAP_END
/* Ultimate Battler Dadandarn */
static ADDRESS_MAP_START( dadandrn_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x1fffff) AM_ROM // main program and data ROM
- AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(K053247_scattered_word_r,K053247_scattered_word_w) AM_BASE(&spriteram16)
+ AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(K053247_scattered_word_r,K053247_scattered_word_w) AM_BASE_GENERIC(spriteram)
AM_RANGE(0x410000, 0x411fff) AM_READWRITE(K056832_ram_word_r,K056832_ram_word_w) // tilemap RAM
AM_RANGE(0x412000, 0x413fff) AM_READWRITE(K056832_ram_word_r,K056832_ram_word_w) // tilemap RAM mirror read/write (essential)
- AM_RANGE(0x420000, 0x421fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x420000, 0x421fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x430000, 0x430007) AM_WRITE(K053246_word_w)
AM_RANGE(0x440000, 0x443fff) AM_READ(K056832_mw_rom_word_r)
AM_RANGE(0x450000, 0x45000f) AM_READ(K055673_rom_word_r)
@@ -637,10 +637,10 @@ ADDRESS_MAP_END
// c00000 = 936 tiles (7fffff window)
static ADDRESS_MAP_START( gaiapols_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x2fffff) AM_ROM // main program
- AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(K053247_scattered_word_r,K053247_scattered_word_w) AM_BASE(&spriteram16)
+ AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(K053247_scattered_word_r,K053247_scattered_word_w) AM_BASE_GENERIC(spriteram)
AM_RANGE(0x410000, 0x411fff) AM_READWRITE(K056832_ram_word_r,K056832_ram_word_w) // tilemap RAM
AM_RANGE(0x412000, 0x413fff) AM_READWRITE(K056832_ram_word_r,K056832_ram_word_w) // tilemap RAM mirror read / write (essential)
- AM_RANGE(0x420000, 0x421fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x420000, 0x421fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x430000, 0x430007) AM_WRITE(K053246_word_w)
AM_RANGE(0x440000, 0x441fff) AM_READ(K056832_mw_rom_word_r)
AM_RANGE(0x450000, 0x45000f) AM_READ(K055673_rom_word_r)
diff --git a/src/mame/drivers/namcofl.c b/src/mame/drivers/namcofl.c
index 5f779052b0a..d4fa9a53e58 100644
--- a/src/mame/drivers/namcofl.c
+++ b/src/mame/drivers/namcofl.c
@@ -212,11 +212,11 @@ static WRITE32_HANDLER( namcofl_sysreg_w )
static WRITE32_HANDLER( namcofl_paletteram_w )
{
- COMBINE_DATA(&paletteram32[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
if ((offset == 0x1808/4) && ACCESSING_BITS_16_31)
{
- UINT16 v = paletteram32[offset] >> 16;
+ UINT16 v = space->machine->generic.paletteram.u32[offset] >> 16;
UINT16 triggerscanline=(((v>>8)&0xff)|((v&0xff)<<8))-(32+1);
timer_adjust_oneshot(raster_interrupt_timer, video_screen_get_time_until_pos(space->machine->primary_screen, triggerscanline, 0), 0);
@@ -245,7 +245,7 @@ static ADDRESS_MAP_START( namcofl_mem, ADDRESS_SPACE_PROGRAM, 32 )
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(&paletteram32)
+ AM_RANGE(0x30400000, 0x3040ffff) AM_RAM_WRITE(namcofl_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x30800000, 0x3080ffff) AM_READWRITE(namco_tilemapvideoram32_le_r, namco_tilemapvideoram32_le_w )
AM_RANGE(0x30a00000, 0x30a0003f) AM_READWRITE(namco_tilemapcontrol32_le_r, namco_tilemapcontrol32_le_w )
AM_RANGE(0x30c00000, 0x30c1ffff) AM_READWRITE(namco_rozvideoram32_le_r,namco_rozvideoram32_le_w)
diff --git a/src/mame/drivers/namcoic.c b/src/mame/drivers/namcoic.c
index ba5e5d2677d..ae7b9a24b10 100644
--- a/src/mame/drivers/namcoic.c
+++ b/src/mame/drivers/namcoic.c
@@ -719,6 +719,7 @@ static int mGfxC355; /* gfx bank for sprites */
static void
draw_spriteC355(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, const UINT16 *pSource, int pri, int zpos )
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
unsigned screen_height_remaining, screen_width_remaining;
unsigned source_height_remaining, source_width_remaining;
int hpos,vpos;
@@ -917,8 +918,8 @@ namco_obj_init( running_machine *machine, int gfxbank, int palXOR, int (*codeToT
{
mpCodeToTile = DefaultCodeToTile;
}
- spriteram16 = auto_alloc_array(machine, UINT16, 0x20000/2);
- memset( spriteram16, 0, 0x20000 ); /* needed for Nebulas Ray */
+ machine->generic.spriteram.u16 = auto_alloc_array(machine, UINT16, 0x20000/2);
+ memset( machine->generic.spriteram.u16, 0, 0x20000 ); /* needed for Nebulas Ray */
memset( mSpritePos,0x00,sizeof(mSpritePos) );
} /* namcosC355_init */
@@ -950,26 +951,27 @@ namco_obj_draw(running_machine *machine, bitmap_t *bitmap, const rectangle *clip
}
// if( offs==0 )
{ /* boot */
- DrawObjectList(machine, bitmap,cliprect,pri,&spriteram16[0x02000/2], &spriteram16[0x00000/2] );
+ DrawObjectList(machine, bitmap,cliprect,pri,&machine->generic.spriteram.u16[0x02000/2], &machine->generic.spriteram.u16[0x00000/2] );
}
// else
{
- DrawObjectList(machine, bitmap,cliprect,pri,&spriteram16[0x14000/2], &spriteram16[0x10000/2] );
+ DrawObjectList(machine, bitmap,cliprect,pri,&machine->generic.spriteram.u16[0x14000/2], &machine->generic.spriteram.u16[0x10000/2] );
}
} /* namco_obj_draw */
WRITE16_HANDLER( namco_obj16_w )
{
- COMBINE_DATA( &spriteram16[offset] );
+ COMBINE_DATA( &space->machine->generic.spriteram.u16[offset] );
} /* namco_obj16_w */
READ16_HANDLER( namco_obj16_r )
{
- return spriteram16[offset];
+ return space->machine->generic.spriteram.u16[offset];
} /* namco_obj16_r */
WRITE32_HANDLER( namco_obj32_w )
{
+ UINT16 *spriteram16 = space->machine->generic.spriteram.u16;
UINT32 v;
offset *= 2;
v = (spriteram16[offset]<<16)|spriteram16[offset+1];
@@ -980,12 +982,14 @@ WRITE32_HANDLER( namco_obj32_w )
READ32_HANDLER( namco_obj32_r )
{
+ UINT16 *spriteram16 = space->machine->generic.spriteram.u16;
offset *= 2;
return (spriteram16[offset]<<16)|spriteram16[offset+1];
} /* namco_obj32_r */
WRITE32_HANDLER( namco_obj32_le_w )
{
+ UINT16 *spriteram16 = space->machine->generic.spriteram.u16;
UINT32 v;
offset *= 2;
v = (spriteram16[offset+1]<<16)|spriteram16[offset];
@@ -996,6 +1000,7 @@ WRITE32_HANDLER( namco_obj32_le_w )
READ32_HANDLER( namco_obj32_le_r )
{
+ UINT16 *spriteram16 = space->machine->generic.spriteram.u16;
offset *= 2;
return (spriteram16[offset+1]<<16)|spriteram16[offset];
} /* namco_obj32_r */
diff --git a/src/mame/drivers/namcona1.c b/src/mame/drivers/namcona1.c
index 87f7348413d..c56bbaff766 100644
--- a/src/mame/drivers/namcona1.c
+++ b/src/mame/drivers/namcona1.c
@@ -532,7 +532,7 @@ static int transfer_dword( running_machine *machine, UINT32 dest, UINT32 source
}
else if( dest>=0xfff000 && dest<0x1000000 )
{
- spriteram16[(dest-0xfff000)/2] = data;
+ space->machine->generic.spriteram.u16[(dest-0xfff000)/2] = data;
}
else
{
@@ -749,12 +749,12 @@ static ADDRESS_MAP_START( namcona1_main_map, ADDRESS_SPACE_PROGRAM, 16 )
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(&namcona1_vreg)
- AM_RANGE(0xf00000, 0xf01fff) AM_READWRITE(namcona1_paletteram_r, namcona1_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xf00000, 0xf01fff) AM_READWRITE(namcona1_paletteram_r, namcona1_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xf40000, 0xf7ffff) AM_READWRITE(namcona1_gfxram_r, namcona1_gfxram_w)
- AM_RANGE(0xff0000, 0xffbfff) AM_READWRITE(namcona1_videoram_r, namcona1_videoram_w) AM_BASE(&videoram16)
+ AM_RANGE(0xff0000, 0xffbfff) AM_READWRITE(namcona1_videoram_r, namcona1_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0xffd000, 0xffdfff) AM_RAM /* unknown */
AM_RANGE(0xffe000, 0xffefff) AM_RAM AM_BASE(&namcona1_scroll) /* scroll registers */
- AM_RANGE(0xfff000, 0xffffff) AM_RAM AM_BASE(&spriteram16) /* spriteram */
+ AM_RANGE(0xfff000, 0xffffff) AM_RAM AM_BASE_GENERIC(spriteram) /* spriteram */
ADDRESS_MAP_END
@@ -771,12 +771,12 @@ static ADDRESS_MAP_START( namcona2_main_map, ADDRESS_SPACE_PROGRAM, 16 )
/* 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(&namcona1_vreg)
- AM_RANGE(0xf00000, 0xf01fff) AM_READWRITE(namcona1_paletteram_r, namcona1_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xf00000, 0xf01fff) AM_READWRITE(namcona1_paletteram_r, namcona1_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xf40000, 0xf7ffff) AM_READWRITE(namcona1_gfxram_r, namcona1_gfxram_w)
- AM_RANGE(0xff0000, 0xffbfff) AM_READWRITE(namcona1_videoram_r, namcona1_videoram_w) AM_BASE(&videoram16)
+ AM_RANGE(0xff0000, 0xffbfff) AM_READWRITE(namcona1_videoram_r, namcona1_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0xffd000, 0xffdfff) AM_RAM /* unknown */
AM_RANGE(0xffe000, 0xffefff) AM_RAM AM_BASE(&namcona1_scroll) /* scroll registers */
- AM_RANGE(0xfff000, 0xffffff) AM_RAM AM_BASE(&spriteram16) /* spriteram */
+ AM_RANGE(0xfff000, 0xffffff) AM_RAM AM_BASE_GENERIC(spriteram) /* spriteram */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/namconb1.c b/src/mame/drivers/namconb1.c
index beb79f74511..3c30226c624 100644
--- a/src/mame/drivers/namconb1.c
+++ b/src/mame/drivers/namconb1.c
@@ -335,7 +335,7 @@ static INTERRUPT_GEN( namconb1_interrupt )
* 40001e 0x00
* 40001f 0x00
*/
- int scanline = (paletteram32[0x1808/4]&0xffff)-32;
+ int scanline = (device->machine->generic.paletteram.u32[0x1808/4]&0xffff)-32;
if((!vblank_irq_active) && (namconb_cpureg[0x04] & 0xf0)) {
cpu_set_input_line(device, namconb_cpureg[0x04] & 0xf, ASSERT_LINE);
@@ -406,7 +406,7 @@ static INTERRUPT_GEN( namconb2_interrupt )
* f0001e 0x00
* f0001f 0x01
*/
- int scanline = (paletteram32[0x1808/4]&0xffff)-32;
+ int scanline = (device->machine->generic.paletteram.u32[0x1808/4]&0xffff)-32;
if((!vblank_irq_active) && namconb_cpureg[0x00]) {
cpu_set_input_line(device, namconb_cpureg[0x00], ASSERT_LINE);
@@ -864,7 +864,7 @@ static ADDRESS_MAP_START( namconb1_am, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x660000, 0x66003f) AM_READWRITE(namco_tilemapcontrol32_r,namco_tilemapcontrol32_w)
AM_RANGE(0x680000, 0x68000f) AM_RAM AM_BASE(&namconb1_spritebank32)
AM_RANGE(0x6e0000, 0x6e001f) AM_READ(custom_key_r) AM_WRITENOP
- AM_RANGE(0x700000, 0x707fff) AM_RAM AM_BASE(&paletteram32)
+ AM_RANGE(0x700000, 0x707fff) AM_RAM AM_BASE_GENERIC(paletteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( namconb2_am, ADDRESS_SPACE_PROGRAM, 32 )
@@ -881,7 +881,7 @@ static ADDRESS_MAP_START( namconb2_am, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x6c0000, 0x6c003f) AM_READWRITE(namco_tilemapcontrol32_r, namco_tilemapcontrol32_w )
AM_RANGE(0x700000, 0x71ffff) AM_READWRITE(namco_rozvideoram32_r,namco_rozvideoram32_w)
AM_RANGE(0x740000, 0x74001f) AM_READWRITE(namco_rozcontrol32_r,namco_rozcontrol32_w)
- AM_RANGE(0x800000, 0x807fff) AM_RAM AM_BASE(&paletteram32)
+ AM_RANGE(0x800000, 0x807fff) AM_RAM AM_BASE_GENERIC(paletteram)
AM_RANGE(0x900008, 0x90000f) AM_RAM AM_BASE(&namconb1_spritebank32)
AM_RANGE(0x940000, 0x94000f) AM_RAM AM_BASE(&namconb1_tilebank32)
AM_RANGE(0x980000, 0x98000f) AM_READ(namco_rozbank32_r) AM_WRITE(namco_rozbank32_w)
diff --git a/src/mame/drivers/namcos21.c b/src/mame/drivers/namcos21.c
index ade29e40b0a..f536b882556 100644
--- a/src/mame/drivers/namcos21.c
+++ b/src/mame/drivers/namcos21.c
@@ -1087,12 +1087,12 @@ static READ16_HANDLER( data2_r )
static READ16_HANDLER( paletteram16_r )
{
- return paletteram16[offset];
+ return space->machine->generic.paletteram.u16[offset];
}
static WRITE16_HANDLER( paletteram16_w )
{
- COMBINE_DATA(&paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
}
/******************************************************************************/
@@ -1116,7 +1116,7 @@ static READ16_HANDLER( 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(namco_obj16_r,namco_obj16_w) \
AM_RANGE(0x720000, 0x720007) AM_READWRITE(namco_spritepos16_r,namco_spritepos16_w) \
- AM_RANGE(0x740000, 0x75ffff) AM_READWRITE(paletteram16_r,paletteram16_w) AM_BASE(&paletteram16) \
+ AM_RANGE(0x740000, 0x75ffff) AM_READWRITE(paletteram16_r,paletteram16_w) AM_BASE_GENERIC(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(&mpSharedRAM1) \
@@ -1393,7 +1393,7 @@ static ADDRESS_MAP_START( am_gpu_winrun, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x180000, 0x19ffff) AM_RAM /* work RAM */
AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE(namcos2_68k_gpu_C148_r,namcos2_68k_gpu_C148_w)
AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_BASE( &winrun_gpucomram )
- AM_RANGE(0x400000, 0x41ffff) AM_READWRITE(paletteram16_r,paletteram16_w) AM_BASE( &paletteram16 )
+ AM_RANGE(0x400000, 0x41ffff) AM_READWRITE(paletteram16_r,paletteram16_w) AM_BASE_GENERIC( paletteram )
AM_RANGE(0x600000, 0x6fffff) AM_READ(gpu_data_r)
AM_RANGE(0xc00000, 0xcfffff) AM_READWRITE(winrun_gpu_videoram_r,winrun_gpu_videoram_w)
AM_RANGE(0xd00000, 0xd0000f) AM_READWRITE(winrun_gpu_register_r,winrun_gpu_register_w)
@@ -1455,7 +1455,7 @@ ADDRESS_MAP_END
#define DRIVEYES_68K_COMMON \
AM_RANGE(0x700000, 0x71ffff) AM_READWRITE(namco_obj16_r,namco_obj16_w) \
AM_RANGE(0x720000, 0x720007) AM_READWRITE(namco_spritepos16_r,namco_spritepos16_w) \
- AM_RANGE(0x740000, 0x75ffff) AM_READWRITE(paletteram16_r,paletteram16_w) AM_BASE(&paletteram16) \
+ AM_RANGE(0x740000, 0x75ffff) AM_READWRITE(paletteram16_r,paletteram16_w) AM_BASE_GENERIC(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(&mpSharedRAM1) \
diff --git a/src/mame/drivers/namcos22.c b/src/mame/drivers/namcos22.c
index aaba7138d7c..cdefa2df873 100644
--- a/src/mame/drivers/namcos22.c
+++ b/src/mame/drivers/namcos22.c
@@ -2448,14 +2448,14 @@ static ADDRESS_MAP_START( namcos22s_am, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x810200, 0x8103ff) AM_READ(namcos22_czram_r) AM_WRITE(namcos22_czram_w)
AM_RANGE(0x820000, 0x8202ff) AM_RAM /* unknown (air combat) */
AM_RANGE(0x824000, 0x8243ff) AM_READ(namcos22_gamma_r) AM_WRITE(namcos22_gamma_w) AM_BASE(&namcos22_gamma)
- AM_RANGE(0x828000, 0x83ffff) AM_READ(namcos22_paletteram_r) AM_WRITE(namcos22_paletteram_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x828000, 0x83ffff) AM_READ(namcos22_paletteram_r) AM_WRITE(namcos22_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x860000, 0x860007) AM_READ(spotram_r) AM_WRITE(spotram_w)
AM_RANGE(0x880000, 0x89dfff) AM_READ(SMH_RAM) AM_WRITE(namcos22_cgram_w) AM_BASE(&namcos22_cgram)
AM_RANGE(0x89e000, 0x89ffff) AM_READ(namcos22_textram_r) AM_WRITE(namcos22_textram_w) AM_BASE(&namcos22_textram)
AM_RANGE(0x8a0000, 0x8a000f) AM_RAM AM_BASE(&namcos22_tilemapattr)
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE(&namcos22_vics_data)
AM_RANGE(0x940000, 0x94007f) AM_RAM AM_BASE(&namcos22_vics_control)
- AM_RANGE(0x980000, 0x9affff) AM_RAM AM_BASE(&spriteram32) /* C374 */
+ AM_RANGE(0x980000, 0x9affff) AM_RAM AM_BASE_GENERIC(spriteram) /* C374 */
AM_RANGE(0xa04000, 0xa0bfff) AM_READ(namcos22_mcuram_r) AM_WRITE(namcos22_mcuram_w) AM_BASE(&namcos22_shareram) /* COM RAM */
AM_RANGE(0xc00000, 0xc1ffff) AM_READ(namcos22_dspram_r) AM_WRITE(namcos22_dspram_w) AM_BASE(&namcos22_polygonram)
AM_RANGE(0xe00000, 0xe3ffff) AM_RAM /* workram */
@@ -3144,7 +3144,7 @@ static ADDRESS_MAP_START( namcos22_am, ADDRESS_SPACE_PROGRAM, 32 )
* Mounted position: VIDEO 6B, 7B, 8B (near C305)
* Note: 0xff00-0xffff are for Tilemap (16 x 16)
*/
- AM_RANGE(0x90028000, 0x9003ffff) AM_READ(SMH_RAM) AM_WRITE(namcos22_paletteram_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x90028000, 0x9003ffff) AM_READ(SMH_RAM) AM_WRITE(namcos22_paletteram_w) AM_BASE_GENERIC(paletteram)
/**
* unknown (option)
diff --git a/src/mame/drivers/namcos23.c b/src/mame/drivers/namcos23.c
index ad77b59468a..8ff75172241 100644
--- a/src/mame/drivers/namcos23.c
+++ b/src/mame/drivers/namcos23.c
@@ -975,23 +975,23 @@ INLINE void UpdatePalette( running_machine *machine, int entry )
for( j=0; j<2; j++ )
{
int which = (entry*2)+(j*2);
- int r = nthbyte(paletteram32, which+0x00001);
- int g = nthbyte(paletteram32, which+0x10001);
- int b = nthbyte(paletteram32, which+0x20001);
+ 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);
palette_set_color( machine, which/2, MAKE_RGB(r,g,b) );
}
}
static READ32_HANDLER( namcos23_paletteram_r )
{
- return paletteram32[offset];
+ return space->machine->generic.paletteram.u32[offset];
}
/* each LONGWORD is 2 colors. each OFFSET is 2 colors */
static WRITE32_HANDLER( namcos23_paletteram_w )
{
- COMBINE_DATA( &paletteram32[offset] );
+ COMBINE_DATA( &space->machine->generic.paletteram.u32[offset] );
UpdatePalette(space->machine, (offset % (0x10000/4))*2);
}
@@ -1066,7 +1066,7 @@ static ADDRESS_MAP_START( ss23_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x06804000, 0x0681dfff) AM_RAM
AM_RANGE(0x0681e000, 0x0681ffff) AM_READ(namcos23_textram_r) AM_WRITE(namcos23_textram_w) AM_BASE(&namcos23_textram)
AM_RANGE(0x06a08000, 0x06a0ffff) AM_RAM //gamma?
- AM_RANGE(0x06a10000, 0x06a3ffff) AM_READ(namcos23_paletteram_r) AM_WRITE(namcos23_paletteram_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x06a10000, 0x06a3ffff) AM_READ(namcos23_paletteram_r) AM_WRITE(namcos23_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x06820008, 0x0682000f) AM_READ( ss23_vstat_r ) // vblank status?
AM_RANGE(0x08000000, 0x08017fff) AM_RAM
AM_RANGE(0x0d000000, 0x0d000007) AM_READ(sysctl_stat_r) AM_WRITENOP
diff --git a/src/mame/drivers/naughtyb.c b/src/mame/drivers/naughtyb.c
index 1b5e94fa7ca..bc19d036ebe 100644
--- a/src/mame/drivers/naughtyb.c
+++ b/src/mame/drivers/naughtyb.c
@@ -179,7 +179,7 @@ static READ8_HANDLER( popflame_protection_r ) /* Not used by bootleg/hack */
static ADDRESS_MAP_START( naughtyb_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_RAM
- AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x8800, 0x8fff) AM_RAM AM_BASE(&naughtyb_videoram2)
AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(naughtyb_videoreg_w)
AM_RANGE(0x9800, 0x9fff) AM_RAM AM_BASE(&naughtyb_scrollreg)
@@ -192,7 +192,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( popflame_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_RAM
- AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x8800, 0x8fff) AM_RAM AM_BASE(&naughtyb_videoram2)
AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(popflame_videoreg_w)
AM_RANGE(0x9800, 0x9fff) AM_RAM AM_BASE(&naughtyb_scrollreg)
diff --git a/src/mame/drivers/nbmj8991.c b/src/mame/drivers/nbmj8991.c
index d41267208e3..4778362a0f7 100644
--- a/src/mame/drivers/nbmj8991.c
+++ b/src/mame/drivers/nbmj8991.c
@@ -191,27 +191,27 @@ static DRIVER_INIT( av2mj2rg )
static ADDRESS_MAP_START( pstadium_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf00f) AM_READWRITE(nbmj8991_clut_r,nbmj8991_clut_w)
- AM_RANGE(0xf200, 0xf3ff) AM_RAM_WRITE(nbmj8991_palette_type3_w) AM_BASE(&paletteram)
+ AM_RANGE(0xf200, 0xf3ff) AM_RAM_WRITE(nbmj8991_palette_type3_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size) // finalbny
ADDRESS_MAP_END
static ADDRESS_MAP_START( triplew1_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xefff) AM_ROM
- AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE(nbmj8991_palette_type3_w) AM_BASE(&paletteram)
+ AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE(nbmj8991_palette_type3_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xf200, 0xf20f) AM_READWRITE(nbmj8991_clut_r,nbmj8991_clut_w)
AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size) // mjgottub
ADDRESS_MAP_END
static ADDRESS_MAP_START( triplew2_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xefff) AM_ROM
- AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE(nbmj8991_palette_type3_w) AM_BASE(&paletteram)
+ AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE(nbmj8991_palette_type3_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xf400, 0xf40f) AM_READWRITE(nbmj8991_clut_r,nbmj8991_clut_w)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
static ADDRESS_MAP_START( mjlstory_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xefff) AM_ROM
- AM_RANGE(0xf200, 0xf3ff) AM_RAM_WRITE(nbmj8991_palette_type3_w) AM_BASE(&paletteram)
+ AM_RANGE(0xf200, 0xf3ff) AM_RAM_WRITE(nbmj8991_palette_type3_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xf700, 0xf70f) AM_READWRITE(nbmj8991_clut_r,nbmj8991_clut_w)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
@@ -219,27 +219,27 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( galkoku_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf00f) AM_READWRITE(nbmj8991_clut_r,nbmj8991_clut_w)
- AM_RANGE(0xf400, 0xf5ff) AM_RAM_WRITE(nbmj8991_palette_type1_w) AM_BASE(&paletteram)
+ AM_RANGE(0xf400, 0xf5ff) AM_RAM_WRITE(nbmj8991_palette_type1_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size) // hyouban
ADDRESS_MAP_END
static ADDRESS_MAP_START( galkaika_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf00f) AM_READWRITE(nbmj8991_clut_r,nbmj8991_clut_w)
- AM_RANGE(0xf400, 0xf5ff) AM_RAM_WRITE(nbmj8991_palette_type2_w) AM_BASE(&paletteram)
+ AM_RANGE(0xf400, 0xf5ff) AM_RAM_WRITE(nbmj8991_palette_type2_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size) // tokimbsj
ADDRESS_MAP_END
static ADDRESS_MAP_START( tokyogal_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xefff) AM_ROM
- AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE(nbmj8991_palette_type2_w) AM_BASE(&paletteram)
+ AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE(nbmj8991_palette_type2_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xf400, 0xf40f) AM_READWRITE(nbmj8991_clut_r,nbmj8991_clut_w)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
static ADDRESS_MAP_START( av2mj1bb_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xefff) AM_ROM
- AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE(nbmj8991_palette_type3_w) AM_BASE(&paletteram)
+ AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE(nbmj8991_palette_type3_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xf500, 0xf50f) AM_READWRITE(nbmj8991_clut_r,nbmj8991_clut_w)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
@@ -247,7 +247,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( av2mj2rg_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf00f) AM_READWRITE(nbmj8991_clut_r,nbmj8991_clut_w)
- AM_RANGE(0xf200, 0xf3ff) AM_RAM_WRITE(nbmj8991_palette_type3_w) AM_BASE(&paletteram)
+ AM_RANGE(0xf200, 0xf3ff) AM_RAM_WRITE(nbmj8991_palette_type3_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/nemesis.c b/src/mame/drivers/nemesis.c
index fbd343d16ad..d2b7b79b7c2 100644
--- a/src/mame/drivers/nemesis.c
+++ b/src/mame/drivers/nemesis.c
@@ -293,8 +293,8 @@ static ADDRESS_MAP_START( nemesis_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x053000, 0x053fff) AM_RAM_WRITE(nemesis_videoram2_word_w) AM_BASE(&nemesis_videoram2)
AM_RANGE(0x054000, 0x054fff) AM_RAM_WRITE(nemesis_colorram1_word_w) AM_BASE(&nemesis_colorram1)
AM_RANGE(0x055000, 0x055fff) AM_RAM_WRITE(nemesis_colorram2_word_w) AM_BASE(&nemesis_colorram2)
- AM_RANGE(0x056000, 0x056fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0x05a000, 0x05afff) AM_RAM_WRITE(nemesis_palette_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x056000, 0x056fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x05a000, 0x05afff) AM_RAM_WRITE(nemesis_palette_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x05c000, 0x05c001) AM_WRITE(nemesis_soundlatch_word_w)
AM_RANGE(0x05c400, 0x05c401) AM_READ_PORT("DSW0")
AM_RANGE(0x05c402, 0x05c403) AM_READ_PORT("DSW1")
@@ -326,9 +326,9 @@ static ADDRESS_MAP_START( gx400_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x053000, 0x053fff) AM_RAM_WRITE(nemesis_videoram2_word_w) AM_BASE(&nemesis_videoram2)
AM_RANGE(0x054000, 0x054fff) AM_RAM_WRITE(nemesis_colorram1_word_w) AM_BASE(&nemesis_colorram1)
AM_RANGE(0x055000, 0x055fff) AM_RAM_WRITE(nemesis_colorram2_word_w) AM_BASE(&nemesis_colorram2)
- AM_RANGE(0x056000, 0x056fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x056000, 0x056fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x057000, 0x057fff) AM_RAM /* needed for twinbee */
- AM_RANGE(0x05a000, 0x05afff) AM_RAM_WRITE(nemesis_palette_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x05a000, 0x05afff) AM_RAM_WRITE(nemesis_palette_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x05c000, 0x05c001) AM_WRITE(nemesis_soundlatch_word_w)
AM_RANGE(0x05c402, 0x05c403) AM_READ_PORT("DSW0")
AM_RANGE(0x05c404, 0x05c405) AM_READ_PORT("DSW1")
@@ -359,8 +359,8 @@ static ADDRESS_MAP_START( konamigt_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x053000, 0x053fff) AM_RAM_WRITE(nemesis_videoram2_word_w) AM_BASE(&nemesis_videoram2)
AM_RANGE(0x054000, 0x054fff) AM_RAM_WRITE(nemesis_colorram1_word_w) AM_BASE(&nemesis_colorram1)
AM_RANGE(0x055000, 0x055fff) AM_RAM_WRITE(nemesis_colorram2_word_w) AM_BASE(&nemesis_colorram2)
- AM_RANGE(0x056000, 0x056fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0x05a000, 0x05afff) AM_RAM_WRITE(nemesis_palette_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x056000, 0x056fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x05a000, 0x05afff) AM_RAM_WRITE(nemesis_palette_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x05c000, 0x05c001) AM_WRITE(nemesis_soundlatch_word_w)
AM_RANGE(0x05c400, 0x05c401) AM_READ_PORT("DSW0")
AM_RANGE(0x05c402, 0x05c403) AM_READ_PORT("DSW1")
@@ -393,8 +393,8 @@ static ADDRESS_MAP_START( rf2_gx400_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x053000, 0x053fff) AM_RAM_WRITE(nemesis_videoram2_word_w) AM_BASE(&nemesis_videoram2)
AM_RANGE(0x054000, 0x054fff) AM_RAM_WRITE(nemesis_colorram1_word_w) AM_BASE(&nemesis_colorram1)
AM_RANGE(0x055000, 0x055fff) AM_RAM_WRITE(nemesis_colorram2_word_w) AM_BASE(&nemesis_colorram2)
- AM_RANGE(0x056000, 0x056fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0x05a000, 0x05afff) AM_RAM_WRITE(nemesis_palette_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x056000, 0x056fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x05a000, 0x05afff) AM_RAM_WRITE(nemesis_palette_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x05c000, 0x05c001) AM_WRITE(nemesis_soundlatch_word_w)
AM_RANGE(0x05c402, 0x05c403) AM_READ_PORT("DSW0")
AM_RANGE(0x05c404, 0x05c405) AM_READ_PORT("DSW1")
@@ -454,7 +454,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( salamand_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x087fff) AM_RAM
- AM_RANGE(0x090000, 0x091fff) AM_RAM_WRITE(salamander_palette_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x090000, 0x091fff) AM_RAM_WRITE(salamander_palette_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x0a0000, 0x0a0001) AM_WRITE(salamand_control_port_word_w) /* irq enable, flipscreen, etc. */
AM_RANGE(0x0c0000, 0x0c0001) AM_WRITE(nemesis_soundlatch_word_w)
AM_RANGE(0x0c0002, 0x0c0003) AM_READ_PORT("DSW0")
@@ -468,7 +468,7 @@ static ADDRESS_MAP_START( salamand_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x102000, 0x102fff) AM_RAM_WRITE(nemesis_colorram2_word_w) AM_BASE(&nemesis_colorram2)
AM_RANGE(0x103000, 0x103fff) AM_RAM_WRITE(nemesis_colorram1_word_w) AM_BASE(&nemesis_colorram1)
AM_RANGE(0x120000, 0x12ffff) AM_RAM_WRITE(nemesis_characterram_word_w) AM_BASE(&nemesis_characterram) AM_SIZE(&nemesis_characterram_size)
- AM_RANGE(0x180000, 0x180fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* more sprite ram ??? */
+ AM_RANGE(0x180000, 0x180fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* more sprite ram ??? */
AM_RANGE(0x190000, 0x191fff) AM_RAM
AM_RANGE(0x190000, 0x1903ff) AM_BASE(&nemesis_xscroll2)
AM_RANGE(0x190400, 0x1907ff) AM_BASE(&nemesis_xscroll1)
@@ -478,7 +478,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( blkpnthr_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x080000, 0x081fff) AM_RAM_WRITE(salamander_palette_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x080000, 0x081fff) AM_RAM_WRITE(salamander_palette_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x090000, 0x097fff) AM_RAM
AM_RANGE(0x0a0000, 0x0a0001) AM_RAM AM_WRITE(salamand_control_port_word_w) /* irq enable, flipscreen, etc. */
AM_RANGE(0x0c0000, 0x0c0001) AM_WRITE(nemesis_soundlatch_word_w)
@@ -498,13 +498,13 @@ static ADDRESS_MAP_START( blkpnthr_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x180400, 0x1807ff) AM_BASE(&nemesis_xscroll2)
AM_RANGE(0x180f00, 0x180f7f) AM_BASE(&nemesis_yscroll2)
AM_RANGE(0x180f80, 0x180fff) AM_BASE(&nemesis_yscroll1)
- AM_RANGE(0x190000, 0x190fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* more sprite ram ??? */
+ AM_RANGE(0x190000, 0x190fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* more sprite ram ??? */
ADDRESS_MAP_END
static ADDRESS_MAP_START( citybomb_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x080000, 0x087fff) AM_RAM
- AM_RANGE(0x0e0000, 0x0e1fff) AM_RAM_WRITE(salamander_palette_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0e0000, 0x0e1fff) AM_RAM_WRITE(salamander_palette_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x0f0000, 0x0f0001) AM_READ_PORT("DSW1")
AM_RANGE(0x0f0002, 0x0f0003) AM_READ_PORT("IN2")
AM_RANGE(0x0f0004, 0x0f0005) AM_READ_PORT("IN1")
@@ -525,13 +525,13 @@ static ADDRESS_MAP_START( citybomb_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300400, 0x3007ff) AM_BASE(&nemesis_xscroll2)
AM_RANGE(0x300f00, 0x300f7f) AM_BASE(&nemesis_yscroll2)
AM_RANGE(0x300f80, 0x300fff) AM_BASE(&nemesis_yscroll1)
- AM_RANGE(0x310000, 0x310fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* more sprite ram ??? */
+ AM_RANGE(0x310000, 0x310fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* more sprite ram ??? */
ADDRESS_MAP_END
static ADDRESS_MAP_START( nyanpani_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x040000, 0x047fff) AM_RAM
- AM_RANGE(0x060000, 0x061fff) AM_RAM_WRITE(salamander_palette_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x060000, 0x061fff) AM_RAM_WRITE(salamander_palette_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x100000, 0x13ffff) AM_ROM
AM_RANGE(0x070000, 0x070001) AM_READ_PORT("DSW1")
AM_RANGE(0x070002, 0x070003) AM_READ_PORT("IN2")
@@ -546,7 +546,7 @@ static ADDRESS_MAP_START( nyanpani_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x202000, 0x202fff) AM_RAM_WRITE(nemesis_colorram1_word_w) AM_BASE(&nemesis_colorram1)
AM_RANGE(0x203000, 0x203fff) AM_RAM_WRITE(nemesis_colorram2_word_w) AM_BASE(&nemesis_colorram2)
AM_RANGE(0x210000, 0x21ffff) AM_RAM_WRITE(nemesis_characterram_word_w) AM_BASE(&nemesis_characterram) AM_SIZE(&nemesis_characterram_size)
- AM_RANGE(0x300000, 0x300fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* more sprite ram ??? */
+ AM_RANGE(0x300000, 0x300fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* more sprite ram ??? */
AM_RANGE(0x310000, 0x311fff) AM_RAM
AM_RANGE(0x310000, 0x3103ff) AM_BASE(&nemesis_xscroll1)
AM_RANGE(0x310400, 0x3107ff) AM_BASE(&nemesis_xscroll2)
@@ -599,7 +599,7 @@ static ADDRESS_MAP_START( hcrash_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x040000, 0x05ffff) AM_ROM
AM_RANGE(0x080000, 0x083fff) AM_RAM
- AM_RANGE(0x090000, 0x091fff) AM_RAM_WRITE(salamander_palette_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x090000, 0x091fff) AM_RAM_WRITE(salamander_palette_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x0a0000, 0x0a0001) AM_WRITE(salamand_control_port_word_w) /* irq enable, flipscreen, etc. */
AM_RANGE(0x0c0000, 0x0c0001) AM_WRITE(nemesis_soundlatch_word_w)
AM_RANGE(0x0c0002, 0x0c0003) AM_READ_PORT("DSW0")
@@ -618,7 +618,7 @@ static ADDRESS_MAP_START( hcrash_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x102000, 0x102fff) AM_RAM_WRITE(nemesis_colorram2_word_w) AM_BASE(&nemesis_colorram2)
AM_RANGE(0x103000, 0x103fff) AM_RAM_WRITE(nemesis_colorram1_word_w) AM_BASE(&nemesis_colorram1)
AM_RANGE(0x120000, 0x12ffff) AM_RAM_WRITE(nemesis_characterram_word_w) AM_BASE(&nemesis_characterram) AM_SIZE(&nemesis_characterram_size)
- AM_RANGE(0x180000, 0x180fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x180000, 0x180fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x190000, 0x191fff) AM_RAM
AM_RANGE(0x190000, 0x1903ff) AM_BASE(&nemesis_xscroll2)
AM_RANGE(0x190400, 0x1907ff) AM_BASE(&nemesis_xscroll1)
diff --git a/src/mame/drivers/news.c b/src/mame/drivers/news.c
index 4459558b6ca..6d50ecd5463 100644
--- a/src/mame/drivers/news.c
+++ b/src/mame/drivers/news.c
@@ -23,7 +23,7 @@ static ADDRESS_MAP_START( news_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM /* 4000-7fff is written to during startup, probably leftover code */
AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(news_fgram_w) AM_BASE(&news_fgram)
AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(news_bgram_w) AM_BASE(&news_bgram)
- AM_RANGE(0x9000, 0x91ff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_be_w) AM_BASE(&paletteram)
+ AM_RANGE(0x9000, 0x91ff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_be_w) AM_BASE_GENERIC(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_r,okim6295_w)
diff --git a/src/mame/drivers/ninjakd2.c b/src/mame/drivers/ninjakd2.c
index bd0daf286fd..224d9941a98 100644
--- a/src/mame/drivers/ninjakd2.c
+++ b/src/mame/drivers/ninjakd2.c
@@ -385,11 +385,11 @@ static ADDRESS_MAP_START( ninjakd2_main_cpu, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc202, 0xc202) AM_WRITE(ninjakd2_bankselect_w)
AM_RANGE(0xc203, 0xc203) AM_WRITE(ninjakd2_sprite_overdraw_w)
AM_RANGE(0xc208, 0xc20c) AM_WRITE(ninjakd2_bg_ctrl_w) // scroll + enable
- AM_RANGE(0xc800, 0xcdff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE(&paletteram)
+ AM_RANGE(0xc800, 0xcdff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(ninjakd2_fgvideoram_w) AM_BASE(&ninjakd2_fg_videoram)
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(ninjakd2_bgvideoram_w) AM_BASE(&ninjakd2_bg_videoram)
AM_RANGE(0xe000, 0xf9ff) AM_RAM
- AM_RANGE(0xfa00, 0xffff) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0xfa00, 0xffff) AM_RAM AM_BASE_GENERIC(spriteram)
ADDRESS_MAP_END
@@ -397,10 +397,10 @@ static ADDRESS_MAP_START( mnight_main_cpu, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
AM_RANGE(0xc000, 0xd9ff) AM_RAM
- AM_RANGE(0xda00, 0xdfff) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0xda00, 0xdfff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(ninjakd2_bgvideoram_w) AM_BASE(&ninjakd2_bg_videoram)
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(ninjakd2_fgvideoram_w) AM_BASE(&ninjakd2_fg_videoram)
- AM_RANGE(0xf000, 0xf5ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE(&paletteram)
+ AM_RANGE(0xf000, 0xf5ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(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")
@@ -417,7 +417,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( robokid_main_cpu, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
- AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE(&paletteram)
+ AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(ninjakd2_fgvideoram_w) AM_BASE(&ninjakd2_fg_videoram)
AM_RANGE(0xd000, 0xd3ff) AM_READWRITE(robokid_bg2_videoram_r, robokid_bg2_videoram_w) // banked
AM_RANGE(0xd400, 0xd7ff) AM_READWRITE(robokid_bg1_videoram_r, robokid_bg1_videoram_w) // banked
@@ -438,7 +438,7 @@ static ADDRESS_MAP_START( robokid_main_cpu, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xdf00, 0xdf04) AM_WRITE(robokid_bg2_ctrl_w) // scroll + enable
AM_RANGE(0xdf05, 0xdf05) AM_WRITE(robokid_bg2_bank_w)
AM_RANGE(0xe000, 0xf9ff) AM_RAM
- AM_RANGE(0xfa00, 0xffff) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0xfa00, 0xffff) AM_RAM AM_BASE_GENERIC(spriteram)
ADDRESS_MAP_END
@@ -463,9 +463,9 @@ static ADDRESS_MAP_START( omegaf_main_cpu, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc800, 0xcbff) AM_READWRITE(robokid_bg1_videoram_r, robokid_bg1_videoram_w) // banked
AM_RANGE(0xcc00, 0xcfff) AM_READWRITE(robokid_bg2_videoram_r, robokid_bg2_videoram_w) // banked
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(ninjakd2_fgvideoram_w) AM_BASE(&ninjakd2_fg_videoram)
- AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE(&paletteram)
+ AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xe000, 0xf9ff) AM_RAM
- AM_RANGE(0xfa00, 0xffff) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0xfa00, 0xffff) AM_RAM AM_BASE_GENERIC(spriteram)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ninjaw.c b/src/mame/drivers/ninjaw.c
index cd7dc76d9c3..258dc864021 100644
--- a/src/mame/drivers/ninjaw.c
+++ b/src/mame/drivers/ninjaw.c
@@ -412,7 +412,7 @@ static ADDRESS_MAP_START( ninjaw_master_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x210000, 0x210001) AM_WRITE(cpua_ctrl_w)
AM_RANGE(0x220000, 0x220003) AM_READWRITE(ninjaw_sound_r,ninjaw_sound_w)
AM_RANGE(0x240000, 0x24ffff) AM_RAM AM_SHARE(1)
- AM_RANGE(0x260000, 0x263fff) AM_RAM AM_SHARE(2) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x260000, 0x263fff) AM_RAM AM_SHARE(2) AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x280000, 0x293fff) AM_READWRITE(TC0100SCN_word_0_r,TC0100SCN_triple_screen_w) /* tilemaps (1st screen/all screens) */
AM_RANGE(0x2a0000, 0x2a000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r,TC0100SCN_ctrl_word_0_w)
AM_RANGE(0x2c0000, 0x2d3fff) AM_READWRITE(TC0100SCN_word_1_r,TC0100SCN_word_1_w) /* tilemaps (2nd screen) */
@@ -448,7 +448,7 @@ static ADDRESS_MAP_START( darius2_master_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x210000, 0x210001) AM_WRITE(cpua_ctrl_w)
AM_RANGE(0x220000, 0x220003) AM_READWRITE(ninjaw_sound_r,ninjaw_sound_w)
AM_RANGE(0x240000, 0x24ffff) AM_RAM AM_SHARE(1)
- AM_RANGE(0x260000, 0x263fff) AM_RAM AM_SHARE(2) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x260000, 0x263fff) AM_RAM AM_SHARE(2) AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x280000, 0x293fff) AM_READWRITE(TC0100SCN_word_0_r,TC0100SCN_triple_screen_w) /* tilemaps (1st screen/all screens) */
AM_RANGE(0x2a0000, 0x2a000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r,TC0100SCN_ctrl_word_0_w)
AM_RANGE(0x2c0000, 0x2d3fff) AM_READWRITE(TC0100SCN_word_1_r,TC0100SCN_word_1_w) /* tilemaps (2nd screen) */
diff --git a/src/mame/drivers/nitedrvr.c b/src/mame/drivers/nitedrvr.c
index f56c7205e3f..ec4ffa0218f 100644
--- a/src/mame/drivers/nitedrvr.c
+++ b/src/mame/drivers/nitedrvr.c
@@ -44,13 +44,13 @@
static ADDRESS_MAP_START( nitedrvr_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x00ff) AM_RAM AM_MIRROR(0x100) // SCRAM
- AM_RANGE(0x0200, 0x027f) AM_RAM_WRITE(nitedrvr_videoram_w) AM_MIRROR(0x180) AM_BASE(&videoram) // PFW
+ AM_RANGE(0x0200, 0x027f) AM_RAM_WRITE(nitedrvr_videoram_w) AM_MIRROR(0x180) AM_BASE_GENERIC(videoram) // PFW
AM_RANGE(0x0400, 0x05ff) AM_WRITE(nitedrvr_hvc_w) AM_BASE(&nitedrvr_hvc) // POSH, POSV, CHAR, Watchdog
AM_RANGE(0x0600, 0x07ff) AM_READ(nitedrvr_in0_r)
AM_RANGE(0x0800, 0x09ff) AM_READ(nitedrvr_in1_r)
AM_RANGE(0x0a00, 0x0bff) AM_WRITE(nitedrvr_out0_w)
AM_RANGE(0x0c00, 0x0dff) AM_WRITE(nitedrvr_out1_w)
- AM_RANGE(0x8000, 0x807f) AM_RAM AM_MIRROR(0x380) AM_BASE(&videoram) // PFR
+ AM_RANGE(0x8000, 0x807f) AM_RAM AM_MIRROR(0x380) AM_BASE_GENERIC(videoram) // PFR
AM_RANGE(0x8400, 0x87ff) AM_READWRITE(nitedrvr_steering_reset_r, nitedrvr_steering_reset_w)
AM_RANGE(0x9000, 0x9fff) AM_ROM // ROM1-ROM2
AM_RANGE(0xfff0, 0xffff) AM_ROM // ROM2 for 6502 vectors
diff --git a/src/mame/drivers/nmg5.c b/src/mame/drivers/nmg5.c
index 2e5bd6eee9e..023e888d1d7 100644
--- a/src/mame/drivers/nmg5.c
+++ b/src/mame/drivers/nmg5.c
@@ -292,8 +292,8 @@ static WRITE8_DEVICE_HANDLER( oki_banking_w )
static ADDRESS_MAP_START( nmg5_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x120000, 0x12ffff) AM_RAM
- AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x180000, 0x180001) AM_WRITE(nmg5_soundlatch_w)
AM_RANGE(0x180002, 0x180003) AM_WRITENOP
AM_RANGE(0x180004, 0x180005) AM_READWRITE(prot_r, prot_w)
@@ -312,8 +312,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( pclubys_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM
- AM_RANGE(0x440000, 0x4407ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0x460000, 0x4607ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x440000, 0x4407ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x460000, 0x4607ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x480000, 0x480001) AM_WRITE(nmg5_soundlatch_w)
AM_RANGE(0x480002, 0x480003) AM_WRITENOP
AM_RANGE(0x480004, 0x480005) AM_READWRITE(prot_r, prot_w)
@@ -807,9 +807,10 @@ static VIDEO_START( nmg5 )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
- for (offs = 0;offs < spriteram_size/2;offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram_size/2;offs += 4)
{
int sx,sy,code,color,flipx,flipy,height,y;
diff --git a/src/mame/drivers/nmk16.c b/src/mame/drivers/nmk16.c
index 99b4e30d33d..80066321b69 100644
--- a/src/mame/drivers/nmk16.c
+++ b/src/mame/drivers/nmk16.c
@@ -327,7 +327,7 @@ static ADDRESS_MAP_START( vandyke_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x080016, 0x080017) AM_WRITENOP /* IRQ enable? */
AM_RANGE(0x080018, 0x080019) AM_WRITE(nmk_tilebank_w)
AM_RANGE(0x08001e, 0x08001f) AM_WRITE(NMK004_w)
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x08c000, 0x08c007) AM_WRITE(vandyke_scroll_w)
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_BASE(&nmk_bgvideoram0)
AM_RANGE(0x094000, 0x097fff) AM_RAM /* what is this? */
@@ -346,7 +346,7 @@ static ADDRESS_MAP_START( vandykeb_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x080018, 0x080019) AM_WRITE(nmk_tilebank_w)
AM_RANGE(0x080010, 0x08001d) AM_WRITE(vandykeb_scroll_w) /* 10, 12, 1a, 1c */
AM_RANGE(0x08001e, 0x08001f) AM_WRITE(NMK004_w)
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x08c000, 0x08c007) AM_WRITENOP /* just in case... */
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_BASE(&nmk_bgvideoram0)
AM_RANGE(0x094000, 0x097fff) AM_RAM /* what is this? */
@@ -364,7 +364,7 @@ static ADDRESS_MAP_START( manybloc_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x080014, 0x080015) AM_WRITE(nmk_flipscreen_w)
AM_RANGE(0x08001c, 0x08001d) AM_WRITENOP /* See notes at the top of the driver */
AM_RANGE(0x08001e, 0x08001f) AM_READWRITE(soundlatch2_word_r,soundlatch_word_w)
- AM_RANGE(0x088000, 0x0883ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x088000, 0x0883ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_BASE(&nmk_bgvideoram0)
AM_RANGE(0x09c000, 0x09cfff) AM_RAM_WRITE(manybloc_scroll_w) AM_BASE(&gunnail_scrollram)
AM_RANGE(0x09d000, 0x09d7ff) AM_RAM_WRITE(nmk_txvideoram_w) AM_BASE(&nmk_txvideoram)
@@ -383,7 +383,7 @@ static ADDRESS_MAP_START( tharrier_map, ADDRESS_SPACE_PROGRAM, 16 )
// AM_RANGE(0x080018, 0x080019) AM_WRITE(nmk_tilebank_w)
AM_RANGE(0x08001e, 0x08001f) AM_WRITE(soundlatch_word_w)
AM_RANGE(0x080202, 0x080203) AM_READ_PORT("IN2")
- AM_RANGE(0x088000, 0x0883ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x088000, 0x0883ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
// AM_RANGE(0x08c000, 0x08c007) AM_WRITE(nmk_scroll_w)
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_BASE(&nmk_bgvideoram0)
AM_RANGE(0x09c000, 0x09c7ff) AM_RAM /* Unused txvideoram area? */
@@ -418,7 +418,7 @@ static ADDRESS_MAP_START( mustang_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x080014, 0x080015) AM_WRITE(nmk_flipscreen_w)
AM_RANGE(0x080016, 0x080017) AM_WRITENOP // frame number?
AM_RANGE(0x08001e, 0x08001f) AM_WRITE(NMK004_w)
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x08c000, 0x08c001) AM_WRITE(mustang_scroll_w)
AM_RANGE(0x08c002, 0x08c087) AM_WRITENOP // ??
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_BASE(&nmk_bgvideoram0)
@@ -435,7 +435,7 @@ static ADDRESS_MAP_START( mustangb_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x080014, 0x080015) AM_WRITE(nmk_flipscreen_w)
AM_RANGE(0x080016, 0x080017) AM_WRITENOP // frame number?
AM_RANGE(0x08001e, 0x08001f) AM_WRITE(seibu_main_mustb_w)
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x08c000, 0x08c001) AM_WRITE(mustang_scroll_w)
AM_RANGE(0x08c002, 0x08c087) AM_WRITENOP // ??
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_BASE(&nmk_bgvideoram0)
@@ -453,7 +453,7 @@ static ADDRESS_MAP_START( twinactn_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x080014, 0x080015) AM_WRITE(nmk_flipscreen_w)
AM_RANGE(0x080016, 0x080017) AM_WRITENOP // frame number?
AM_RANGE(0x08001e, 0x08001f) AM_WRITE(afega_soundlatch_w)
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x08c000, 0x08c001) AM_WRITE(mustang_scroll_w)
AM_RANGE(0x08c002, 0x08c087) AM_WRITENOP // ??
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_BASE(&nmk_bgvideoram0)
@@ -474,7 +474,7 @@ static ADDRESS_MAP_START( acrobatm_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xc0016, 0xc0017) AM_WRITENOP
AM_RANGE(0xc0018, 0xc0019) AM_WRITE(nmk_tilebank_w)
AM_RANGE(0xc001e, 0xc001f) AM_WRITE(NMK004_w)
- AM_RANGE(0xc4000, 0xc45ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xc4000, 0xc45ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xc8000, 0xc8007) AM_RAM_WRITE(nmk_scroll_w)
AM_RANGE(0xcc000, 0xcffff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_BASE(&nmk_bgvideoram0)
AM_RANGE(0xd4000, 0xd47ff) AM_RAM_WRITE(nmk_txvideoram_w) AM_BASE(&nmk_txvideoram)
@@ -490,7 +490,7 @@ static ADDRESS_MAP_START( bioship_map, ADDRESS_SPACE_PROGRAM, 16 )
// AM_RANGE(0x080014, 0x080015) AM_WRITE(nmk_flipscreen_w)
AM_RANGE(0x08001e, 0x08001f) AM_WRITE(NMK004_w)
AM_RANGE(0x084000, 0x084001) AM_WRITE(bioship_bank_w)
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x08c000, 0x08c007) AM_RAM_WRITE(bioshipbg_scroll_w)
AM_RANGE(0x08c010, 0x08c017) AM_RAM_WRITE(bioship_scroll_w)
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_BASE(&nmk_bgvideoram0)
@@ -670,7 +670,7 @@ static ADDRESS_MAP_START( hachamf_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x080018, 0x080019) AM_WRITE(nmk_tilebank_w)
AM_RANGE(0x08001e, 0x08001f) AM_WRITE(NMK004_w)
/* Video Region */
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x08c000, 0x08c007) AM_WRITE(nmk_scroll_w)
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_BASE(&nmk_bgvideoram0)
AM_RANGE(0x09c000, 0x09c7ff) AM_RAM_WRITE(nmk_txvideoram_w) AM_BASE(&nmk_txvideoram)
@@ -891,7 +891,7 @@ static ADDRESS_MAP_START( tdragon_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x044022, 0x044023) AM_READNOP /* No Idea */
// AM_RANGE(0x0b0000, 0x0b7fff) AM_RAM /* Work RAM */
-// AM_RANGE(0x0b8000, 0x0b8fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* Sprite RAM */
+// AM_RANGE(0x0b8000, 0x0b8fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Sprite RAM */
// AM_RANGE(0x0b9000, 0x0bdfff) AM_RAM AM_BASE(&nmk16_mcu_work_ram) /* Work RAM */
// AM_RANGE(0x0be000, 0x0befff) AM_READWRITE(mcu_shared_r,tdragon_mcu_shared_w) AM_BASE(&nmk16_mcu_shared_ram) /* Work RAM */
// AM_RANGE(0x0bf000, 0x0bffff) AM_RAM /* Work RAM */
@@ -905,7 +905,7 @@ static ADDRESS_MAP_START( tdragon_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0c0018, 0x0c0019) AM_WRITE(nmk_tilebank_w) /* Tile Bank ? */
AM_RANGE(0x0c001e, 0x0c001f) AM_WRITE(NMK004_w)
AM_RANGE(0x0c4000, 0x0c4007) AM_RAM_WRITE(nmk_scroll_w)
- AM_RANGE(0x0c8000, 0x0c87ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0c8000, 0x0c87ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x0cc000, 0x0cffff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_BASE(&nmk_bgvideoram0)
AM_RANGE(0x0d0000, 0x0d07ff) AM_RAM_WRITE(nmk_txvideoram_w) AM_BASE(&nmk_txvideoram)
ADDRESS_MAP_END
@@ -922,7 +922,7 @@ static ADDRESS_MAP_START( tdragonb_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0c0018, 0x0c0019) AM_WRITE(nmk_tilebank_w) /* Tile Bank ? */
AM_RANGE(0x0c001e, 0x0c001f) AM_WRITE(seibu_main_mustb_w)
AM_RANGE(0x0c4000, 0x0c4007) AM_RAM_WRITE(nmk_scroll_w)
- AM_RANGE(0x0c8000, 0x0c87ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0c8000, 0x0c87ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x0cc000, 0x0cffff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_BASE(&nmk_bgvideoram0)
AM_RANGE(0x0d0000, 0x0d07ff) AM_RAM_WRITE(nmk_txvideoram_w) AM_BASE(&nmk_txvideoram)
ADDRESS_MAP_END
@@ -938,7 +938,7 @@ static ADDRESS_MAP_START( ssmissin_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0c0018, 0x0c0019) AM_WRITE(nmk_tilebank_w) /* Tile Bank ? */
AM_RANGE(0x0c001e, 0x0c001f) AM_WRITE(ssmissin_sound_w)
AM_RANGE(0x0c4000, 0x0c4007) AM_RAM_WRITE(nmk_scroll_w)
- AM_RANGE(0x0c8000, 0x0c87ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0c8000, 0x0c87ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x0cc000, 0x0cffff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_BASE(&nmk_bgvideoram0)
AM_RANGE(0x0d0000, 0x0d07ff) AM_MIRROR(0x1800) AM_RAM_WRITE(nmk_txvideoram_w) AM_BASE(&nmk_txvideoram) //mirror for airattck
ADDRESS_MAP_END
@@ -963,7 +963,7 @@ static ADDRESS_MAP_START( strahl_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x8001e, 0x8001f) AM_WRITE(NMK004_w)
AM_RANGE(0x84000, 0x84007) AM_RAM_WRITE(nmk_scroll_w)
AM_RANGE(0x88000, 0x88007) AM_RAM_WRITE(nmk_scroll_2_w)
- AM_RANGE(0x8c000, 0x8c7ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x8c000, 0x8c7ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x90000, 0x93fff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_BASE(&nmk_bgvideoram0)
AM_RANGE(0x94000, 0x97fff) AM_RAM_WRITE(nmk_fgvideoram_w) AM_BASE(&nmk_fgvideoram)
AM_RANGE(0x9c000, 0x9c7ff) AM_RAM_WRITE(nmk_txvideoram_w) AM_BASE(&nmk_txvideoram)
@@ -981,7 +981,7 @@ static ADDRESS_MAP_START( macross_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x080016, 0x080017) AM_WRITENOP /* IRQ enable? */
AM_RANGE(0x080018, 0x080019) AM_WRITE(nmk_tilebank_w)
AM_RANGE(0x08001e, 0x08001f) AM_WRITE(NMK004_w)
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x08c000, 0x08c007) AM_RAM_WRITE(nmk_scroll_w)
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_BASE(&nmk_bgvideoram0)
AM_RANGE(0x09c000, 0x09c7ff) AM_RAM_WRITE(nmk_txvideoram_w) AM_BASE(&nmk_txvideoram)
@@ -999,7 +999,7 @@ static ADDRESS_MAP_START( gunnail_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x080016, 0x080017) AM_WRITENOP /* IRQ enable? */
AM_RANGE(0x080018, 0x080019) AM_WRITE(nmk_tilebank_w)
AM_RANGE(0x08001e, 0x08001f) AM_WRITE(NMK004_w)
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x08c000, 0x08c1ff) AM_WRITEONLY AM_BASE(&gunnail_scrollram)
AM_RANGE(0x08c200, 0x08c3ff) AM_WRITEONLY AM_BASE(&gunnail_scrollramy)
AM_RANGE(0x08c400, 0x08c7ff) AM_WRITEONLY // unknown
@@ -1019,7 +1019,7 @@ static ADDRESS_MAP_START( macross2_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x100016, 0x100017) AM_WRITE(macross2_sound_reset_w) /* Z80 reset */
AM_RANGE(0x100018, 0x100019) AM_WRITE(nmk_tilebank_w)
AM_RANGE(0x10001e, 0x10001f) AM_WRITE(macross2_sound_command_w) /* to Z80 */
- AM_RANGE(0x120000, 0x1207ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x120000, 0x1207ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x130000, 0x1301ff) AM_RAM AM_BASE(&gunnail_scrollram)
AM_RANGE(0x130200, 0x1303ff) AM_RAM AM_BASE(&gunnail_scrollramy)
@@ -1045,7 +1045,7 @@ static ADDRESS_MAP_START( raphero_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x100016, 0x100017) AM_WRITENOP /* IRQ enable or z80 sound reset like in Macross 2? */
AM_RANGE(0x100018, 0x100019) AM_WRITE(nmk_tilebank_w)
AM_RANGE(0x10001e, 0x10001f) AM_WRITE(macross2_sound_command_w) /* to Z80 */
- AM_RANGE(0x120000, 0x1207ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x120000, 0x1207ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x130000, 0x1301ff) AM_RAM AM_BASE(&gunnail_scrollram)
AM_RANGE(0x130200, 0x1303ff) AM_RAM AM_BASE(&gunnail_scrollramy)
@@ -1121,7 +1121,7 @@ static ADDRESS_MAP_START( bjtwin_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x084000, 0x084001) AM_DEVREADWRITE8("oki1", okim6295_r,okim6295_w, 0x00ff)
AM_RANGE(0x084010, 0x084011) AM_DEVREADWRITE8("oki2", okim6295_r,okim6295_w, 0x00ff)
AM_RANGE(0x084020, 0x08402f) AM_WRITE(NMK112_okibank_lsb_w)
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x094000, 0x094001) AM_WRITE(nmk_tilebank_w)
AM_RANGE(0x094002, 0x094003) AM_WRITENOP /* IRQ enable? */
AM_RANGE(0x09c000, 0x09cfff) AM_MIRROR(0x1000) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_BASE(&nmk_bgvideoram0)
@@ -4666,7 +4666,7 @@ static ADDRESS_MAP_START( afega, ADDRESS_SPACE_PROGRAM, 16 )
/**/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_WRITE(SMH_RAM) //
-/**/AM_RANGE(0x088000, 0x0885ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16) // Palette
+/**/AM_RANGE(0x088000, 0x0885ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE(0x088600, 0x08bfff) AM_WRITE(SMH_RAM) //
/**/AM_RANGE(0x08c000, 0x08c003) AM_RAM_WRITE(afega_scroll0_w) AM_BASE(&afega_scroll_0) // Scroll
/**/AM_RANGE(0x08c004, 0x08c007) AM_RAM_WRITE(afega_scroll1_w) AM_BASE(&afega_scroll_1) //
diff --git a/src/mame/drivers/nova2001.c b/src/mame/drivers/nova2001.c
index 3c88a2c623a..523f6de8a20 100644
--- a/src/mame/drivers/nova2001.c
+++ b/src/mame/drivers/nova2001.c
@@ -177,7 +177,7 @@ static ADDRESS_MAP_START( nova2001_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xa000, 0xa7ff) AM_RAM_WRITE(nova2001_fg_videoram_w) AM_BASE(&nova2001_fg_videoram)
AM_RANGE(0xa800, 0xafff) AM_RAM_WRITE(nova2001_bg_videoram_w) AM_BASE(&nova2001_bg_videoram)
- AM_RANGE(0xb000, 0xb7ff) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0xb000, 0xb7ff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0xb800, 0xbfff) AM_WRITE(nova2001_flipscreen_w)
AM_RANGE(0xc000, 0xc000) AM_DEVREADWRITE("ay1", ay8910_r, ay8910_data_w)
AM_RANGE(0xc001, 0xc001) AM_DEVREADWRITE("ay2", ay8910_r, ay8910_data_w)
@@ -204,8 +204,8 @@ static ADDRESS_MAP_START( ninjakun_cpu1_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xa003, 0xa003) AM_WRITE(pkunwar_flipscreen_w)
AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(nova2001_fg_videoram_w) AM_BASE(&nova2001_fg_videoram) AM_SHARE(1)
AM_RANGE(0xc800, 0xcfff) AM_READWRITE(ninjakun_bg_videoram_r, ninjakun_bg_videoram_w) AM_BASE(&nova2001_bg_videoram) AM_SHARE(2)
- AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_BASE(&spriteram) AM_SHARE(3)
- AM_RANGE(0xd800, 0xd9ff) AM_RAM_WRITE(ninjakun_paletteram_w) AM_BASE(&paletteram) AM_SHARE(4)
+ AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_BASE_GENERIC(spriteram) AM_SHARE(3)
+ AM_RANGE(0xd800, 0xd9ff) AM_RAM_WRITE(ninjakun_paletteram_w) AM_BASE_GENERIC(paletteram) AM_SHARE(4)
AM_RANGE(0xe000, 0xe3ff) AM_RAM AM_SHARE(5)
AM_RANGE(0xe400, 0xe7ff) AM_RAM AM_SHARE(6)
ADDRESS_MAP_END
@@ -232,7 +232,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( pkunwar_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(nova2001_bg_videoram_w) AM_BASE(&nova2001_bg_videoram)
AM_RANGE(0xa000, 0xa001) AM_DEVWRITE("ay1", ay8910_address_data_w)
AM_RANGE(0xa001, 0xa001) AM_DEVREAD("ay1", ay8910_r)
@@ -250,7 +250,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( raiders5_cpu1_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(nova2001_fg_videoram_w) AM_BASE(&nova2001_fg_videoram)
AM_RANGE(0x9000, 0x97ff) AM_READWRITE(ninjakun_bg_videoram_r, ninjakun_bg_videoram_w) AM_BASE(&nova2001_bg_videoram)
AM_RANGE(0xa000, 0xa000) AM_WRITE(nova2001_scroll_x_w)
@@ -260,7 +260,7 @@ static ADDRESS_MAP_START( raiders5_cpu1_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc001, 0xc001) AM_DEVREAD("ay1", ay8910_r)
AM_RANGE(0xc002, 0xc003) AM_DEVWRITE("ay2", ay8910_address_data_w)
AM_RANGE(0xc003, 0xc003) AM_DEVREAD("ay2", ay8910_r)
- AM_RANGE(0xd000, 0xd1ff) AM_RAM_WRITE(ninjakun_paletteram_w) AM_BASE(&paletteram)
+ AM_RANGE(0xd000, 0xd1ff) AM_RAM_WRITE(ninjakun_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE(1)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/nwk-tr.c b/src/mame/drivers/nwk-tr.c
index 7a789fb8baf..27a51c88e0c 100644
--- a/src/mame/drivers/nwk-tr.c
+++ b/src/mame/drivers/nwk-tr.c
@@ -230,8 +230,8 @@ static UINT32 *work_ram;
static WRITE32_HANDLER( paletteram32_w )
{
- COMBINE_DATA(&paletteram32[offset]);
- data = paletteram32[offset];
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
+ data = space->machine->generic.paletteram.u32[offset];
palette_set_color_rgb(space->machine, offset, pal5bit(data >> 10), pal5bit(data >> 5), pal5bit(data >> 0));
}
@@ -886,7 +886,7 @@ static MACHINE_START( nwktr )
static ADDRESS_MAP_START( nwktr_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x00000000, 0x003fffff) AM_RAM AM_BASE(&work_ram) /* Work RAM */
AM_RANGE(0x74000000, 0x740000ff) AM_READWRITE(K001604_reg_r, K001604_reg_w)
- AM_RANGE(0x74010000, 0x74017fff) AM_RAM_WRITE(paletteram32_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x74010000, 0x74017fff) AM_RAM_WRITE(paletteram32_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x74020000, 0x7403ffff) AM_READWRITE(K001604_tile_r, K001604_tile_w)
AM_RANGE(0x74040000, 0x7407ffff) AM_READWRITE(K001604_char_r, K001604_char_w)
AM_RANGE(0x78000000, 0x7800ffff) AM_READWRITE(cgboard_dsp_shared_r_ppc, cgboard_dsp_shared_w_ppc)
diff --git a/src/mame/drivers/nycaptor.c b/src/mame/drivers/nycaptor.c
index 58048a9673e..ddaf8d12c6f 100644
--- a/src/mame/drivers/nycaptor.c
+++ b/src/mame/drivers/nycaptor.c
@@ -292,7 +292,7 @@ static WRITE8_HANDLER( nycaptor_generic_control_w )
static ADDRESS_MAP_START( nycaptor_master_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
- AM_RANGE(0xc000, 0xc7ff) AM_READ(nycaptor_videoram_r) AM_WRITE(nycaptor_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xc000, 0xc7ff) AM_READ(nycaptor_videoram_r) AM_WRITE(nycaptor_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0xd000, 0xd000) AM_READ(nycaptor_mcu_r) AM_WRITE(nycaptor_mcu_w)
AM_RANGE(0xd001, 0xd001) AM_WRITE(sub_cpu_halt_w)
AM_RANGE(0xd002, 0xd002) AM_READ(nycaptor_generic_control_r) AM_WRITE(nycaptor_generic_control_w) /* bit 3 - memory bank at 0x8000-0xbfff */
@@ -317,7 +317,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( nycaptor_slave_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0xc000, 0xc7ff) AM_READ(nycaptor_videoram_r) AM_WRITE(nycaptor_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xc000, 0xc7ff) AM_READ(nycaptor_videoram_r) AM_WRITE(nycaptor_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0xd800, 0xd800) AM_READ_PORT("DSW0")
AM_RANGE(0xd801, 0xd801) AM_READ_PORT("DSW1")
AM_RANGE(0xd802, 0xd802) AM_READ_PORT("DSW2")
@@ -397,7 +397,7 @@ static WRITE8_HANDLER( cyclshtg_generic_control_w )
static ADDRESS_MAP_START( cyclshtg_master_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
- AM_RANGE(0xc000, 0xcfff) AM_READ(nycaptor_videoram_r) AM_WRITE(nycaptor_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xc000, 0xcfff) AM_READ(nycaptor_videoram_r) AM_WRITE(nycaptor_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0xd000, 0xd000) AM_READ(cyclshtg_mcu_r) AM_WRITE(cyclshtg_mcu_w)
AM_RANGE(0xd001, 0xd001) AM_WRITE(sub_cpu_halt_w)
AM_RANGE(0xd002, 0xd002) AM_READ(nycaptor_generic_control_r) AM_WRITE(cyclshtg_generic_control_w)
@@ -421,7 +421,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( cyclshtg_slave_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
- AM_RANGE(0xc000, 0xcfff) AM_READ(nycaptor_videoram_r) AM_WRITE(nycaptor_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xc000, 0xcfff) AM_READ(nycaptor_videoram_r) AM_WRITE(nycaptor_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0xd800, 0xd800) AM_READ_PORT("DSW0")
AM_RANGE(0xd801, 0xd801) AM_READ_PORT("DSW1")
AM_RANGE(0xd802, 0xd802) AM_READ_PORT("DSW2")
@@ -446,7 +446,7 @@ static READ8_HANDLER(unk_r)
static ADDRESS_MAP_START( bronx_master_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
- AM_RANGE(0xc000, 0xcfff) AM_READ(nycaptor_videoram_r) AM_WRITE(nycaptor_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xc000, 0xcfff) AM_READ(nycaptor_videoram_r) AM_WRITE(nycaptor_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0xd000, 0xd000) AM_READ(cyclshtg_mcu_r) AM_WRITENOP
AM_RANGE(0xd001, 0xd001) AM_WRITE(sub_cpu_halt_w)
AM_RANGE(0xd002, 0xd002) AM_READ(nycaptor_generic_control_r) AM_WRITE(cyclshtg_generic_control_w)
@@ -470,7 +470,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( bronx_slave_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0xc000, 0xcfff) AM_READ(nycaptor_videoram_r) AM_WRITE(nycaptor_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xc000, 0xcfff) AM_READ(nycaptor_videoram_r) AM_WRITE(nycaptor_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0xd800, 0xd800) AM_READ_PORT("DSW0")
AM_RANGE(0xd801, 0xd801) AM_READ_PORT("DSW1")
AM_RANGE(0xd802, 0xd802) AM_READ_PORT("DSW2")
diff --git a/src/mame/drivers/offtwall.c b/src/mame/drivers/offtwall.c
index 83732478e3a..a3b3d799472 100644
--- a/src/mame/drivers/offtwall.c
+++ b/src/mame/drivers/offtwall.c
@@ -282,7 +282,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x260050, 0x260051) AM_WRITE(io_latch_w)
AM_RANGE(0x260060, 0x260061) AM_WRITE(atarigen_eeprom_enable_w)
AM_RANGE(0x2a0000, 0x2a0001) AM_WRITE(watchdog_reset16_w)
- AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_WRITE(atarigen_666_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_WRITE(atarigen_666_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x3effc0, 0x3effff) AM_READWRITE(offtwall_atarivc_r, offtwall_atarivc_w) AM_BASE(&atarivc_data)
AM_RANGE(0x3f4000, 0x3f5eff) AM_RAM_WRITE(atarigen_playfield_latched_msb_w) AM_BASE(&atarigen_playfield)
AM_RANGE(0x3f5f00, 0x3f5f7f) AM_RAM AM_BASE(&atarivc_eof_data)
diff --git a/src/mame/drivers/ohmygod.c b/src/mame/drivers/ohmygod.c
index 8d8cec88b09..9a3612c4cca 100644
--- a/src/mame/drivers/ohmygod.c
+++ b/src/mame/drivers/ohmygod.c
@@ -64,8 +64,8 @@ static ADDRESS_MAP_START( ohmygod_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x308000, 0x30ffff) AM_RAM
AM_RANGE(0x400000, 0x400001) AM_WRITE(ohmygod_scrollx_w)
AM_RANGE(0x400002, 0x400003) AM_WRITE(ohmygod_scrolly_w)
- AM_RANGE(0x600000, 0x6007ff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0x700000, 0x703fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x600000, 0x6007ff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x700000, 0x703fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x704000, 0x707fff) AM_RAM
AM_RANGE(0x708000, 0x70ffff) AM_RAM /* Work RAM */
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("P1")
diff --git a/src/mame/drivers/olibochu.c b/src/mame/drivers/olibochu.c
index 38c7e959d9a..405115241b8 100644
--- a/src/mame/drivers/olibochu.c
+++ b/src/mame/drivers/olibochu.c
@@ -97,13 +97,13 @@ static PALETTE_INIT( olibochu )
static WRITE8_HANDLER( olibochu_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
static WRITE8_HANDLER( olibochu_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -120,8 +120,8 @@ static WRITE8_HANDLER( olibochu_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int attr = colorram[tile_index];
- int code = videoram[tile_index] + ((attr & 0x20) << 3);
+ int attr = machine->generic.colorram.u8[tile_index];
+ int code = machine->generic.videoram.u8[tile_index] + ((attr & 0x20) << 3);
int color = (attr & 0x1f) + 0x20;
int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0);
@@ -136,11 +136,13 @@ static VIDEO_START( olibochu )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
+ UINT8 *spriteram_2 = machine->generic.spriteram2.u8;
int offs;
/* 16x16 sprites */
- for (offs = 0;offs < spriteram_size;offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram_size;offs += 4)
{
int attr = spriteram[offs+1];
int code = spriteram[offs];
@@ -167,7 +169,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
/* 8x8 sprites */
- for (offs = 0;offs < spriteram_2_size;offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram2_size;offs += 4)
{
int attr = spriteram_2[offs+1];
int code = spriteram_2[offs];
@@ -218,8 +220,8 @@ static WRITE8_HANDLER( sound_command_w )
static ADDRESS_MAP_START( olibochu_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(olibochu_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(olibochu_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(olibochu_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(olibochu_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x9000, 0x903f) AM_RAM //???
AM_RANGE(0x9800, 0x983f) AM_RAM //???
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0")
@@ -230,8 +232,8 @@ static ADDRESS_MAP_START( olibochu_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xa005, 0xa005) AM_READ_PORT("DSW2")
AM_RANGE(0xa800, 0xa801) AM_WRITE(sound_command_w)
AM_RANGE(0xa802, 0xa802) AM_WRITE(olibochu_flipscreen_w) /* bit 6 = enable sound? */
- AM_RANGE(0xf400, 0xf41f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0xf440, 0xf47f) AM_RAM AM_BASE(&spriteram_2) AM_SIZE(&spriteram_2_size)
+ AM_RANGE(0xf400, 0xf41f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0xf440, 0xf47f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram2)
AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/oneshot.c b/src/mame/drivers/oneshot.c
index 175ae3fdd35..4cfe4c95987 100644
--- a/src/mame/drivers/oneshot.c
+++ b/src/mame/drivers/oneshot.c
@@ -110,7 +110,7 @@ static WRITE16_DEVICE_HANDLER( soundbank_w )
static ADDRESS_MAP_START( oneshot_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x087fff) AM_RAM
- AM_RANGE(0x0c0000, 0x0c07ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0c0000, 0x0c07ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x120000, 0x120fff) AM_RAM AM_BASE(&oneshot_sprites)
AM_RANGE(0x180000, 0x180fff) AM_RAM_WRITE(oneshot_mid_videoram_w) AM_BASE(&oneshot_mid_videoram) // some people , girl etc.
AM_RANGE(0x181000, 0x181fff) AM_RAM_WRITE(oneshot_fg_videoram_w) AM_BASE(&oneshot_fg_videoram) // credits etc.
diff --git a/src/mame/drivers/onetwo.c b/src/mame/drivers/onetwo.c
index d72c35bc6c0..5ba34248d4d 100644
--- a/src/mame/drivers/onetwo.c
+++ b/src/mame/drivers/onetwo.c
@@ -88,21 +88,21 @@ static WRITE8_HANDLER( onetwo_soundlatch_w )
static void setColor(running_machine *machine, int offset)
{
int r, g, b;
- r = paletteram[offset] & 0x1f;
- g = paletteram_2[offset] & 0x1f;
- b = ((paletteram[offset] & 0x60) >> 2) | ((paletteram_2[offset] & 0xe0) >> 5);
+ r = machine->generic.paletteram.u8[offset] & 0x1f;
+ g = machine->generic.paletteram2.u8[offset] & 0x1f;
+ b = ((machine->generic.paletteram.u8[offset] & 0x60) >> 2) | ((machine->generic.paletteram2.u8[offset] & 0xe0) >> 5);
palette_set_color_rgb(machine, offset, pal5bit(r), pal5bit(g), pal5bit(b));
}
static WRITE8_HANDLER(palette1_w)
{
- paletteram[offset] = data;
+ space->machine->generic.paletteram.u8[offset] = data;
setColor(space->machine, offset);
}
static WRITE8_HANDLER(palette2_w)
{
- paletteram_2[offset] = data;
+ space->machine->generic.paletteram2.u8[offset] = data;
setColor(space->machine, offset);
}
@@ -111,8 +111,8 @@ static WRITE8_HANDLER(palette2_w)
static ADDRESS_MAP_START( main_cpu, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("maincpu", 0x10000)
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
- AM_RANGE(0xc800, 0xc87f) AM_RAM_WRITE(palette1_w) AM_BASE(&paletteram)
- AM_RANGE(0xc900, 0xc97f) AM_RAM_WRITE(palette2_w) AM_BASE(&paletteram_2)
+ AM_RANGE(0xc800, 0xc87f) AM_RAM_WRITE(palette1_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xc900, 0xc97f) AM_RAM_WRITE(palette2_w) AM_BASE_GENERIC(paletteram2)
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(onetwo_fgram_w) AM_BASE(&fgram)
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/opwolf.c b/src/mame/drivers/opwolf.c
index c3bba197b67..5854d26b559 100644
--- a/src/mame/drivers/opwolf.c
+++ b/src/mame/drivers/opwolf.c
@@ -376,7 +376,7 @@ static ADDRESS_MAP_START( opwolf_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0ff802, 0x0ff803) AM_WRITE(opwolf_cchip_status_w)
AM_RANGE(0x0ffc00, 0x0ffc01) AM_WRITE(opwolf_cchip_bank_w)
AM_RANGE(0x100000, 0x107fff) AM_RAM
- AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x380000, 0x380003) AM_READ(opwolf_dsw_r) /* dip switches */
AM_RANGE(0x380000, 0x380003) AM_WRITE(rainbow_spritectrl_w) // usually 0x4, changes when you fire
AM_RANGE(0x3a0000, 0x3a0003) AM_READ(opwolf_lightgun_r) /* lightgun, read at $11e0/6 */
@@ -397,7 +397,7 @@ static ADDRESS_MAP_START( opwolfb_map, ADDRESS_SPACE_PROGRAM, 16 )
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(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x380000, 0x380003) AM_READ(opwolf_dsw_r) /* dip switches */
AM_RANGE(0x380000, 0x380003) AM_WRITE(rainbow_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/othello.c b/src/mame/drivers/othello.c
index c4f73693886..8a45aa1c11f 100644
--- a/src/mame/drivers/othello.c
+++ b/src/mame/drivers/othello.c
@@ -67,7 +67,7 @@ static MC6845_UPDATE_ROW( update_row )
for(cx=0;cx<x_count;++cx)
{
- data_address=((videoram[ma+cx]+tile_bank)<<4)|ra;
+ data_address=((device->machine->generic.videoram.u8[ma+cx]+tile_bank)<<4)|ra;
tmp=gfx[data_address]|(gfx[data_address+0x2000]<<8)|(gfx[data_address+0x4000]<<16);
for(x=0;x<TILE_WIDTH;++x)
@@ -106,7 +106,7 @@ VIDEO_UPDATE( othello )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x8000, 0x97ff) AM_NOP /* not populated */
- AM_RANGE(0x9800, 0x9fff) AM_RAM AM_BASE(&videoram)
+ AM_RANGE(0x9800, 0x9fff) AM_RAM AM_BASE_GENERIC(videoram)
AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/othldrby.c b/src/mame/drivers/othldrby.c
index 660cb3fd58e..294ee909ef3 100644
--- a/src/mame/drivers/othldrby.c
+++ b/src/mame/drivers/othldrby.c
@@ -103,7 +103,7 @@ static ADDRESS_MAP_START( othldrby_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300008, 0x300009) AM_WRITE(othldrby_vreg_addr_w)
AM_RANGE(0x30000c, 0x30000d) AM_READ(pip) // vblank?
AM_RANGE(0x30000c, 0x30000f) AM_WRITE(othldrby_vreg_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x600000, 0x600001) AM_DEVREADWRITE8("oki", okim6295_r,okim6295_w, 0x00ff)
AM_RANGE(0x700000, 0x700001) AM_READ(pap) // scanline???
AM_RANGE(0x700004, 0x700005) AM_READ_PORT("DSW1")
diff --git a/src/mame/drivers/othunder.c b/src/mame/drivers/othunder.c
index 5ebdbddcb9e..926e9c88400 100644
--- a/src/mame/drivers/othunder.c
+++ b/src/mame/drivers/othunder.c
@@ -506,7 +506,7 @@ static ADDRESS_MAP_START( othunder_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x200000, 0x20ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0x220000, 0x22000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
AM_RANGE(0x300000, 0x300003) AM_READWRITE(othunder_sound_r, othunder_sound_w)
- AM_RANGE(0x400000, 0x4005ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x400000, 0x4005ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x500000, 0x500007) AM_READWRITE(othunder_lightgun_r, othunder_lightgun_w)
AM_RANGE(0x600000, 0x600003) AM_WRITE(irq_ack_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/overdriv.c b/src/mame/drivers/overdriv.c
index e92db4b9154..cbaea22d8cc 100644
--- a/src/mame/drivers/overdriv.c
+++ b/src/mame/drivers/overdriv.c
@@ -225,7 +225,7 @@ static WRITE16_HANDLER( overdriv_cpuB_irq6_w )
static ADDRESS_MAP_START( overdriv_master_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x043fff) AM_RAM /* work RAM */
- AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(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/pacman.c b/src/mame/drivers/pacman.c
index c57ba028d21..df902259014 100644
--- a/src/mame/drivers/pacman.c
+++ b/src/mame/drivers/pacman.c
@@ -530,7 +530,7 @@ static WRITE8_HANDLER( alibaba_sound_w )
if (offset < 0x10)
pacman_sound_w(devtag_get_device(space->machine, "namco"), offset, data);
else if (offset < 0x20)
- spriteram_2[offset - 0x10] = data;
+ space->machine->generic.spriteram2.u8[offset - 0x10] = data;
else
pacman_sound_w(devtag_get_device(space->machine, "namco"), offset - 0x10, data);
}
@@ -891,11 +891,11 @@ static WRITE8_HANDLER( mspacman_enable_decode_w ) { mspacman_enable_deco
static ADDRESS_MAP_START( pacman_map, ADDRESS_SPACE_PROGRAM, 8 )
//A lot of games don't have an a15 at the cpu. Generally only games with a cpu daughter board can access the full 32k of romspace.
AM_RANGE(0x0000, 0x3fff) AM_MIRROR(0x8000) AM_ROM
- AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READWRITE(pacman_read_nop,SMH_NOP)
AM_RANGE(0x4c00, 0x4fef) AM_MIRROR(0xa000) AM_RAM
- AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf38) AM_WRITE(interrupt_enable_w)
AM_RANGE(0x5001, 0x5001) AM_MIRROR(0xaf38) AM_DEVWRITE("namco", pacman_sound_enable_w)
AM_RANGE(0x5002, 0x5002) AM_MIRROR(0xaf38) AM_WRITENOP
@@ -904,7 +904,7 @@ static ADDRESS_MAP_START( pacman_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x5006, 0x5006) AM_MIRROR(0xaf38) AM_WRITENOP // AM_WRITE(pacman_coin_lockout_global_w)
AM_RANGE(0x5007, 0x5007) AM_MIRROR(0xaf38) AM_WRITE(pacman_coin_counter_w)
AM_RANGE(0x5040, 0x505f) AM_MIRROR(0xaf00) AM_DEVWRITE("namco", pacman_sound_w) AM_BASE(&pacman_soundregs)
- AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITE(SMH_RAM) AM_BASE(&spriteram_2)
+ AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(spriteram2)
AM_RANGE(0x5070, 0x507f) AM_MIRROR(0xaf00) AM_WRITENOP
AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_WRITENOP
AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE(watchdog_reset_w)
@@ -918,11 +918,11 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( mspacman_map, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READWRITE(pacman_read_nop,SMH_NOP)
AM_RANGE(0x4c00, 0x4fef) AM_MIRROR(0xa000) AM_RAM
- AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf38) AM_WRITE(interrupt_enable_w)
AM_RANGE(0x5001, 0x5001) AM_MIRROR(0xaf38) AM_DEVWRITE("namco", pacman_sound_enable_w)
AM_RANGE(0x5002, 0x5002) AM_MIRROR(0xaf38) AM_WRITENOP
@@ -931,7 +931,7 @@ static ADDRESS_MAP_START( mspacman_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x5006, 0x5006) AM_MIRROR(0xaf38) AM_WRITE(pacman_coin_lockout_global_w)
AM_RANGE(0x5007, 0x5007) AM_MIRROR(0xaf38) AM_WRITE(pacman_coin_counter_w)
AM_RANGE(0x5040, 0x505f) AM_MIRROR(0xaf00) AM_DEVWRITE("namco", pacman_sound_w) AM_BASE(&pacman_soundregs)
- AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITE(SMH_RAM) AM_BASE(&spriteram_2)
+ AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(spriteram2)
AM_RANGE(0x5070, 0x507f) AM_MIRROR(0xaf00) AM_WRITENOP
AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_WRITENOP
AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE(watchdog_reset_w)
@@ -958,11 +958,11 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( woodpek_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
- AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READWRITE(pacman_read_nop,SMH_NOP)
AM_RANGE(0x4c00, 0x4fef) AM_MIRROR(0xa000) AM_RAM
- AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf38) AM_WRITE(interrupt_enable_w)
AM_RANGE(0x5001, 0x5001) AM_MIRROR(0xaf38) AM_DEVWRITE("namco", pacman_sound_enable_w)
AM_RANGE(0x5002, 0x5002) AM_MIRROR(0xaf38) AM_WRITENOP
@@ -971,7 +971,7 @@ static ADDRESS_MAP_START( woodpek_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x5006, 0x5006) AM_MIRROR(0xaf38) AM_WRITENOP // AM_WRITE(pacman_coin_lockout_global_w)
AM_RANGE(0x5007, 0x5007) AM_MIRROR(0xaf38) AM_WRITE(pacman_coin_counter_w)
AM_RANGE(0x5040, 0x505f) AM_MIRROR(0xaf00) AM_DEVWRITE("namco", pacman_sound_w) AM_BASE(&pacman_soundregs)
- AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITE(SMH_RAM) AM_BASE(&spriteram_2)
+ AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(spriteram2)
AM_RANGE(0x5070, 0x507f) AM_MIRROR(0xaf00) AM_WRITENOP
AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_WRITENOP
AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE(watchdog_reset_w)
@@ -985,18 +985,18 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( alibaba_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
- AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READWRITE(pacman_read_nop,SMH_NOP)
AM_RANGE(0x4c00, 0x4eef) AM_MIRROR(0xa000) AM_RAM
- AM_RANGE(0x4ef0, 0x4eff) AM_MIRROR(0xa000) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x4ef0, 0x4eff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x4f00, 0x4fff) AM_MIRROR(0xa000) AM_RAM
AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf38) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x5004, 0x5005) AM_MIRROR(0xaf38) AM_WRITE(pacman_leds_w)
AM_RANGE(0x5006, 0x5006) AM_MIRROR(0xaf38) AM_WRITE(pacman_coin_lockout_global_w)
AM_RANGE(0x5007, 0x5007) AM_MIRROR(0xaf38) AM_WRITE(pacman_coin_counter_w)
AM_RANGE(0x5040, 0x506f) AM_MIRROR(0xaf00) AM_WRITE(alibaba_sound_w) AM_BASE(&pacman_soundregs) /* the sound region is not contiguous */
- AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITE(SMH_RAM) AM_BASE(&spriteram_2) /* actually at 5050-505f, here to point to free RAM */
+ AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(spriteram2) /* actually at 5050-505f, here to point to free RAM */
AM_RANGE(0x5070, 0x507f) AM_MIRROR(0xaf00) AM_WRITENOP
AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_WRITENOP
AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf00) AM_DEVWRITE("namco", pacman_sound_enable_w)
@@ -1017,10 +1017,10 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( dremshpr_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
- AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x4800, 0x4fef) AM_MIRROR(0xa000) AM_RAM
- AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf38) AM_WRITE(interrupt_enable_w)
// AM_RANGE(0x5001, 0x5001) AM_MIRROR(0xaf38) AM_DEVWRITE("namco", pacman_sound_enable_w)
AM_RANGE(0x5002, 0x5002) AM_MIRROR(0xaf38) AM_WRITENOP /* unknown */
@@ -1029,7 +1029,7 @@ static ADDRESS_MAP_START( dremshpr_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x5006, 0x5006) AM_MIRROR(0xaf38) AM_WRITENOP // AM_WRITE(pacman_coin_lockout_global_w)
AM_RANGE(0x5007, 0x5007) AM_MIRROR(0xaf38) AM_WRITE(pacman_coin_counter_w)
// AM_RANGE(0x5040, 0x505f) AM_MIRROR(0xaf00) AM_DEVWRITE("namco", pacman_sound_w) AM_BASE(&pacman_soundregs)
- AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITE(SMH_RAM) AM_BASE(&spriteram_2)
+ AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(spriteram2)
AM_RANGE(0x5070, 0x507f) AM_MIRROR(0xaf00) AM_WRITENOP
AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_WRITENOP
AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE(watchdog_reset_w)
@@ -1043,11 +1043,11 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( epos_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_MIRROR(0x8000) AM_ROMBANK(1)
- AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READWRITE(pacman_read_nop,SMH_NOP)
AM_RANGE(0x4c00, 0x4fef) AM_MIRROR(0xa000) AM_RAM
- AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf38) AM_WRITE(interrupt_enable_w)
AM_RANGE(0x5001, 0x5001) AM_MIRROR(0xaf38) AM_DEVWRITE("namco", pacman_sound_enable_w)
AM_RANGE(0x5002, 0x5002) AM_MIRROR(0xaf38) AM_WRITENOP
@@ -1056,7 +1056,7 @@ static ADDRESS_MAP_START( epos_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x5006, 0x5006) AM_MIRROR(0xaf38) AM_WRITENOP // AM_WRITE(pacman_coin_lockout_global_w)
AM_RANGE(0x5007, 0x5007) AM_MIRROR(0xaf38) AM_WRITE(pacman_coin_counter_w)
AM_RANGE(0x5040, 0x505f) AM_MIRROR(0xaf00) AM_DEVWRITE("namco", pacman_sound_w) AM_BASE(&pacman_soundregs)
- AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITE(SMH_RAM) AM_BASE(&spriteram_2)
+ AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(spriteram2)
AM_RANGE(0x5070, 0x507f) AM_MIRROR(0xaf00) AM_WRITENOP
AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_WRITENOP
AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE(watchdog_reset_w)
@@ -1069,10 +1069,10 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( vanvan_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
- AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x4800, 0x4fef) AM_MIRROR(0xa000) AM_RAM
- AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf38) AM_WRITE(interrupt_enable_w)
AM_RANGE(0x5001, 0x5001) AM_MIRROR(0xaf38) AM_WRITE(vanvan_bgcolor_w)
AM_RANGE(0x5002, 0x5002) AM_MIRROR(0xaf38) AM_WRITENOP
@@ -1081,7 +1081,7 @@ static ADDRESS_MAP_START( vanvan_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x5005, 0x5006) AM_MIRROR(0xaf38) AM_WRITENOP /* always written together with 5001 */
AM_RANGE(0x5007, 0x5007) AM_MIRROR(0xaf38) AM_WRITE(pacman_coin_counter_w)
AM_RANGE(0x5040, 0x505f) AM_MIRROR(0xaf00) AM_WRITENOP
- AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITE(SMH_RAM) AM_BASE(&spriteram_2)
+ AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(spriteram2)
AM_RANGE(0x5070, 0x507f) AM_MIRROR(0xaf00) AM_WRITENOP
AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_WRITENOP /* ??? toggled before reading 5000 */
AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE(watchdog_reset_w)
@@ -1098,7 +1098,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( s2650games_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_MIRROR(0x8000) AM_ROMBANK(1)
- AM_RANGE(0x1000, 0x13ff) AM_MIRROR(0xe000) AM_WRITE(s2650games_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x1000, 0x13ff) AM_MIRROR(0xe000) AM_WRITE(s2650games_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x1400, 0x141f) AM_MIRROR(0xe000) AM_WRITE(s2650games_scroll_w)
AM_RANGE(0x1420, 0x148f) AM_MIRROR(0xe000) AM_WRITE(SMH_RAM)
AM_RANGE(0x1490, 0x149f) AM_MIRROR(0xe000) AM_WRITE(SMH_RAM) AM_BASE(&s2650games_spriteram)
@@ -1109,7 +1109,7 @@ static ADDRESS_MAP_START( s2650games_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1504, 0x1506) AM_MIRROR(0xe000) AM_WRITENOP
AM_RANGE(0x1507, 0x1507) AM_MIRROR(0xe000) AM_WRITE(pacman_coin_counter_w)
AM_RANGE(0x1508, 0x155f) AM_MIRROR(0xe000) AM_WRITE(SMH_RAM)
- AM_RANGE(0x1560, 0x156f) AM_MIRROR(0xe000) AM_WRITE(SMH_RAM) AM_BASE(&spriteram_2)
+ AM_RANGE(0x1560, 0x156f) AM_MIRROR(0xe000) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(spriteram2)
AM_RANGE(0x1570, 0x157f) AM_MIRROR(0xe000) AM_WRITE(SMH_RAM)
AM_RANGE(0x1586, 0x1587) AM_MIRROR(0xe000) AM_WRITENOP
AM_RANGE(0x15c0, 0x15c0) AM_MIRROR(0xe000) AM_WRITE(watchdog_reset_w)
@@ -1117,9 +1117,9 @@ static ADDRESS_MAP_START( s2650games_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1500, 0x1500) AM_MIRROR(0xe000) AM_READ_PORT("IN0")
AM_RANGE(0x1540, 0x1540) AM_MIRROR(0xe000) AM_READ_PORT("IN1")
AM_RANGE(0x1580, 0x1580) AM_MIRROR(0xe000) AM_READ_PORT("DSW0")
- AM_RANGE(0x1800, 0x1bff) AM_MIRROR(0xe000) AM_WRITE(s2650games_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x1800, 0x1bff) AM_MIRROR(0xe000) AM_WRITE(s2650games_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x1c00, 0x1fef) AM_MIRROR(0xe000) AM_RAM
- AM_RANGE(0x1ff0, 0x1fff) AM_MIRROR(0xe000) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x1ff0, 0x1fff) AM_MIRROR(0xe000) AM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x2000, 0x2fff) AM_MIRROR(0x8000) AM_ROMBANK(2)
AM_RANGE(0x4000, 0x4fff) AM_MIRROR(0x8000) AM_ROMBANK(3)
AM_RANGE(0x6000, 0x6fff) AM_MIRROR(0x8000) AM_ROMBANK(4)
@@ -1128,8 +1128,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( rocktrv2_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
- AM_RANGE(0x4000, 0x43ff) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x4400, 0x47ff) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x4000, 0x43ff) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x4400, 0x47ff) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x4c00, 0x4fff) AM_RAM
AM_RANGE(0x5000, 0x5000) AM_WRITE(interrupt_enable_w)
AM_RANGE(0x5001, 0x5001) AM_DEVWRITE("namco", pacman_sound_enable_w)
@@ -1155,8 +1155,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( bigbucks_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
- AM_RANGE(0x4000, 0x43ff) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x4400, 0x47ff) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x4000, 0x43ff) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x4400, 0x47ff) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x4c00, 0x4fff) AM_RAM
AM_RANGE(0x5000, 0x5000) AM_WRITE(interrupt_enable_w)
AM_RANGE(0x5001, 0x5001) AM_DEVWRITE("namco", pacman_sound_enable_w)
@@ -1176,11 +1176,11 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( mschamp_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROMBANK(1)
- AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READWRITE(pacman_read_nop,SMH_NOP)
AM_RANGE(0x4c00, 0x4fef) AM_MIRROR(0xa000) AM_RAM
- AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf38) AM_WRITE(interrupt_enable_w)
AM_RANGE(0x5001, 0x5001) AM_MIRROR(0xaf38) AM_DEVWRITE("namco", pacman_sound_enable_w)
AM_RANGE(0x5002, 0x5002) AM_MIRROR(0xaf38) AM_WRITENOP
@@ -1189,7 +1189,7 @@ static ADDRESS_MAP_START( mschamp_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x5006, 0x5006) AM_MIRROR(0xaf38) AM_WRITENOP // AM_WRITE(pacman_coin_lockout_global_w)
AM_RANGE(0x5007, 0x5007) AM_MIRROR(0xaf38) AM_WRITE(pacman_coin_counter_w)
AM_RANGE(0x5040, 0x505f) AM_MIRROR(0xaf00) AM_DEVWRITE("namco", pacman_sound_w) AM_BASE(&pacman_soundregs)
- AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITE(SMH_RAM) AM_BASE(&spriteram_2)
+ AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(spriteram2)
AM_RANGE(0x5070, 0x507f) AM_MIRROR(0xaf00) AM_WRITENOP
AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_WRITENOP
AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE(watchdog_reset_w)
@@ -1203,11 +1203,11 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( crushs_map, ADDRESS_SPACE_PROGRAM, 8 )
//A lot of games don't have an a15 at the cpu. Generally only games with a cpu daughter board can access the full 32k of romspace.
AM_RANGE(0x0000, 0x3fff) AM_MIRROR(0x8000) AM_ROM
- AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_READWRITE(SMH_RAM,pacman_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READWRITE(pacman_read_nop,SMH_NOP)
AM_RANGE(0x4c00, 0x4fef) AM_MIRROR(0xa000) AM_RAM
- AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf38) AM_WRITE(interrupt_enable_w)
AM_RANGE(0x5001, 0x5001) AM_MIRROR(0xaf38) AM_DEVWRITE("namco", pacman_sound_enable_w)
AM_RANGE(0x5002, 0x5002) AM_MIRROR(0xaf38) AM_WRITENOP
@@ -1216,7 +1216,7 @@ static ADDRESS_MAP_START( crushs_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x5006, 0x5006) AM_MIRROR(0xaf38) AM_WRITENOP // AM_WRITE(pacman_coin_lockout_global_w)
AM_RANGE(0x5007, 0x5007) AM_MIRROR(0xaf38) AM_WRITE(pacman_coin_counter_w)
AM_RANGE(0x5040, 0x505f) AM_MIRROR(0xaf00) AM_WRITENOP // doesn't use pacman sound hw
- AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITE(SMH_RAM) AM_BASE(&spriteram_2)
+ AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(spriteram2)
AM_RANGE(0x5070, 0x507f) AM_MIRROR(0xaf00) AM_WRITENOP
AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_WRITENOP
AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE(watchdog_reset_w)
diff --git a/src/mame/drivers/panicr.c b/src/mame/drivers/panicr.c
index fedd0045ac9..32b7f64993c 100644
--- a/src/mame/drivers/panicr.c
+++ b/src/mame/drivers/panicr.c
@@ -144,8 +144,8 @@ static TILE_GET_INFO( get_bgtile_info )
static TILE_GET_INFO( get_txttile_info )
{
- int code=videoram[tile_index*4];
- int attr=videoram[tile_index*4+2];
+ int code=machine->generic.videoram.u8[tile_index*4];
+ int attr=machine->generic.videoram.u8[tile_index*4+2];
int color = attr & 0x07;
tileinfo->group = color;
@@ -174,10 +174,10 @@ static WRITE8_HANDLER(t5182shared_w)
static ADDRESS_MAP_START( panicr_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x00000, 0x01fff) AM_RAM AM_BASE(&mainram)
- AM_RANGE(0x02000, 0x02fff) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0x02000, 0x02fff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x03000, 0x03fff) AM_RAM
AM_RANGE(0x08000, 0x0bfff) AM_RAM AM_REGION("user3", 0) //attribue map ?
- AM_RANGE(0x0c000, 0x0cfff) AM_RAM AM_BASE(&videoram)
+ AM_RANGE(0x0c000, 0x0cfff) AM_RAM AM_BASE_GENERIC(videoram)
AM_RANGE(0x0d000, 0x0d000) AM_WRITE(t5182_sound_irq_w)
AM_RANGE(0x0d002, 0x0d002) AM_READ(t5182_sharedram_semaphore_snd_r)
AM_RANGE(0x0d004, 0x0d004) AM_WRITE(t5182_sharedram_semaphore_main_acquire_w)
@@ -202,6 +202,7 @@ static VIDEO_START( panicr )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect )
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs,fx,fy,x,y,color,sprite;
for (offs = 0; offs<0x1000; offs+=16)
diff --git a/src/mame/drivers/paradise.c b/src/mame/drivers/paradise.c
index 531fd23c921..18598bacbd3 100644
--- a/src/mame/drivers/paradise.c
+++ b/src/mame/drivers/paradise.c
@@ -78,25 +78,25 @@ static WRITE8_HANDLER( torus_coin_counter_w )
static ADDRESS_MAP_START( paradise_map, ADDRESS_SPACE_PROGRAM, 8 )
STANDARD_MAP
AM_RANGE(0xd800, 0xd8ff) AM_RAM // RAM
- AM_RANGE(0xd900, 0xe0ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size ) // Sprites
+ AM_RANGE(0xd900, 0xe0ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0xe100, 0xffff) AM_RAM // RAM
ADDRESS_MAP_END
static ADDRESS_MAP_START( tgtball_map, ADDRESS_SPACE_PROGRAM, 8 )
STANDARD_MAP
AM_RANGE(0xd800, 0xd8ff) AM_RAM // RAM
- AM_RANGE(0xd900, 0xd9ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size ) // Sprites
+ AM_RANGE(0xd900, 0xd9ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0xda00, 0xffff) AM_RAM // RAM
ADDRESS_MAP_END
static ADDRESS_MAP_START( torus_map, ADDRESS_SPACE_PROGRAM, 8 )
STANDARD_MAP
- AM_RANGE(0xd800, 0xdfff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size ) // Sprites
+ AM_RANGE(0xd800, 0xdfff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0xe000, 0xffff) AM_RAM // RAM
ADDRESS_MAP_END
static ADDRESS_MAP_START( paradise_io_map, ADDRESS_SPACE_IO, 8 )
- AM_RANGE(0x0000, 0x17ff) AM_RAM_WRITE(paradise_palette_w) AM_BASE(&paletteram) // Palette
+ AM_RANGE(0x0000, 0x17ff) AM_RAM_WRITE(paradise_palette_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE(0x1800, 0x1800) AM_WRITE(paradise_priority_w ) // Layers priority
AM_RANGE(0x2001, 0x2001) AM_WRITE(paradise_flipscreen_w ) // Flip Screen
AM_RANGE(0x2004, 0x2004) AM_WRITE(paradise_palbank_w ) // Layers palette bank
@@ -109,11 +109,11 @@ static ADDRESS_MAP_START( paradise_io_map, ADDRESS_SPACE_IO, 8 )
AM_RANGE(0x2023, 0x2023) AM_READ_PORT("P2" )
AM_RANGE(0x2024, 0x2024) AM_READ_PORT("SYSTEM" )
AM_RANGE(0x2030, 0x2030) AM_DEVREADWRITE("oki2", okim6295_r, okim6295_w) // OKI 1
- AM_RANGE(0x8000, 0xffff) AM_RAM_WRITE(paradise_pixmap_w ) AM_BASE(&videoram) // Pixmap
+ AM_RANGE(0x8000, 0xffff) AM_RAM_WRITE(paradise_pixmap_w ) AM_BASE_GENERIC(videoram) // Pixmap
ADDRESS_MAP_END
static ADDRESS_MAP_START( torus_io_map, ADDRESS_SPACE_IO, 8 )
- AM_RANGE(0x0000, 0x17ff) AM_RAM_WRITE(paradise_palette_w) AM_BASE(&paletteram) // Palette
+ AM_RANGE(0x0000, 0x17ff) AM_RAM_WRITE(paradise_palette_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE(0x1800, 0x1800) AM_WRITE(paradise_priority_w ) // Layers priority
AM_RANGE(0x2001, 0x2001) AM_WRITE(paradise_flipscreen_w ) // Flip Screen
AM_RANGE(0x2004, 0x2004) AM_WRITE(paradise_palbank_w ) // Layers palette bank
@@ -124,7 +124,7 @@ static ADDRESS_MAP_START( torus_io_map, ADDRESS_SPACE_IO, 8 )
AM_RANGE(0x2022, 0x2022) AM_READ_PORT("P1" )
AM_RANGE(0x2023, 0x2023) AM_READ_PORT("P2" )
AM_RANGE(0x2024, 0x2024) AM_READ_PORT("SYSTEM" )
- AM_RANGE(0x8000, 0xffff) AM_RAM_WRITE(paradise_pixmap_w ) AM_BASE(&videoram) // Pixmap
+ AM_RANGE(0x8000, 0xffff) AM_RAM_WRITE(paradise_pixmap_w ) AM_BASE_GENERIC(videoram) // Pixmap
ADDRESS_MAP_END
diff --git a/src/mame/drivers/parodius.c b/src/mame/drivers/parodius.c
index c57ac29cc39..dcd29fd7eb5 100644
--- a/src/mame/drivers/parodius.c
+++ b/src/mame/drivers/parodius.c
@@ -33,9 +33,9 @@ static READ8_HANDLER( bankedram_r )
if (videobank & 0x01)
{
if (videobank & 0x04)
- return paletteram[offset + 0x0800];
+ return space->machine->generic.paletteram.u8[offset + 0x0800];
else
- return paletteram[offset];
+ return space->machine->generic.paletteram.u8[offset];
}
else
return ram[offset];
@@ -335,7 +335,7 @@ static MACHINE_RESET( parodius )
konami_configure_set_lines(cputag_get_cpu(machine, "maincpu"), parodius_banking);
- paletteram = &memory_region(machine, "maincpu")[0x48000];
+ machine->generic.paletteram.u8 = &memory_region(machine, "maincpu")[0x48000];
videobank = 0;
diff --git a/src/mame/drivers/pasha2.c b/src/mame/drivers/pasha2.c
index 7a4149f5e4a..835f42fa23a 100644
--- a/src/mame/drivers/pasha2.c
+++ b/src/mame/drivers/pasha2.c
@@ -110,14 +110,14 @@ static WRITE16_HANDLER( pasha2_misc_w )
static WRITE16_HANDLER( pasha2_palette_w )
{
int color;
- COMBINE_DATA(&paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
offset &= 0xff;
- color = (paletteram16[offset] >> 8) | (paletteram16[offset+0x100] & 0xff00);
+ color = (space->machine->generic.paletteram.u16[offset] >> 8) | (space->machine->generic.paletteram.u16[offset+0x100] & 0xff00);
palette_set_color_rgb(space->machine,offset*2+0,pal5bit(color),pal5bit(color >> 5),pal5bit(color >> 10));
- color = (paletteram16[offset] & 0xff) | ((paletteram16[offset+0x100] & 0xff) << 8);
+ color = (space->machine->generic.paletteram.u16[offset] & 0xff) | ((space->machine->generic.paletteram.u16[offset+0x100] & 0xff) << 8);
palette_set_color_rgb(space->machine,offset*2+1,pal5bit(color),pal5bit(color >> 5),pal5bit(color >> 10));
}
@@ -207,7 +207,7 @@ static ADDRESS_MAP_START( pasha2_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x40074000, 0x40074001) AM_WRITE(vbuffer_set_w)
AM_RANGE(0x40078000, 0x40078001) AM_WRITENOP //once at startup -> to disable the eeprom?
AM_RANGE(0x80000000, 0x803fffff) AM_ROMBANK(1)
- AM_RANGE(0xe0000000, 0xe00003ff) AM_RAM_WRITE(pasha2_palette_w) AM_BASE(&paletteram16) //tilemap? palette?
+ AM_RANGE(0xe0000000, 0xe00003ff) AM_RAM_WRITE(pasha2_palette_w) AM_BASE_GENERIC(paletteram) //tilemap? palette?
AM_RANGE(0xfff80000, 0xffffffff) AM_ROM AM_REGION("user1",0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pass.c b/src/mame/drivers/pass.c
index b206f74cc0f..ed18a9f5aa0 100644
--- a/src/mame/drivers/pass.c
+++ b/src/mame/drivers/pass.c
@@ -123,7 +123,7 @@ static ADDRESS_MAP_START( pass_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x080000, 0x083fff) AM_RAM
AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(pass_bg_videoram_w) AM_BASE(&pass_bg_videoram) // Background
AM_RANGE(0x210000, 0x213fff) AM_RAM_WRITE(pass_fg_videoram_w) AM_BASE(&pass_fg_videoram) // Foreground
- AM_RANGE(0x220000, 0x2203ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x220000, 0x2203ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x230000, 0x230001) AM_WRITE(soundlatch_word_w)
AM_RANGE(0x230100, 0x230101) AM_READ_PORT("DSW")
AM_RANGE(0x230200, 0x230201) AM_READ_PORT("INPUTS")
diff --git a/src/mame/drivers/pbaction.c b/src/mame/drivers/pbaction.c
index 8fefc5902e4..e44102169cf 100644
--- a/src/mame/drivers/pbaction.c
+++ b/src/mame/drivers/pbaction.c
@@ -99,10 +99,10 @@ static ADDRESS_MAP_START( pbaction_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc000, 0xcfff) AM_RAM AM_BASE(&work_ram)
AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(pbaction_videoram2_w) AM_BASE(&pbaction_videoram2)
AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE(pbaction_colorram2_w) AM_BASE(&pbaction_colorram2)
- AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(pbaction_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE(pbaction_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0xe000, 0xe07f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0xe400, 0xe5ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE(&paletteram)
+ AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(pbaction_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE(pbaction_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xe000, 0xe07f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0xe400, 0xe5ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xe600, 0xe600) AM_READ_PORT("P1") AM_WRITE(interrupt_enable_w)
AM_RANGE(0xe601, 0xe601) AM_READ_PORT("P2")
AM_RANGE(0xe602, 0xe602) AM_READ_PORT("SYSTEM")
diff --git a/src/mame/drivers/pcktgal.c b/src/mame/drivers/pcktgal.c
index 43429def3bb..fad671b0c9c 100644
--- a/src/mame/drivers/pcktgal.c
+++ b/src/mame/drivers/pcktgal.c
@@ -78,8 +78,8 @@ static READ8_DEVICE_HANDLER( pcktgal_adpcm_reset_r )
static ADDRESS_MAP_START( pcktgal_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x07ff) AM_RAM
- AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(pcktgal_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x1000, 0x11ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(pcktgal_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x1000, 0x11ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x1800, 0x1800) AM_READ_PORT("P1")
AM_RANGE(0x1801, 0x1801) AM_WRITE(pcktgal_flipscreen_w)
/* 1800 - 0x181f are unused BAC-06 registers, see video/dec0.c */
diff --git a/src/mame/drivers/pengo.c b/src/mame/drivers/pengo.c
index 4b0124a9b58..61e582bed61 100644
--- a/src/mame/drivers/pengo.c
+++ b/src/mame/drivers/pengo.c
@@ -98,12 +98,12 @@
static ADDRESS_MAP_START( pengo_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(pacman_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size) /* video and color RAM, scratchpad RAM, sprite codes */
- AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(pacman_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) /* video and color RAM, scratchpad RAM, sprite codes */
+ AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(pacman_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x8800, 0x8fef) AM_RAM
- AM_RANGE(0x8ff0, 0x8fff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x8ff0, 0x8fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x9000, 0x901f) AM_DEVWRITE("namco", pacman_sound_w) AM_BASE(&pacman_soundregs)
- AM_RANGE(0x9020, 0x902f) AM_WRITE(SMH_RAM) AM_BASE(&spriteram_2)
+ AM_RANGE(0x9020, 0x902f) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(spriteram2)
AM_RANGE(0x9000, 0x903f) AM_READ_PORT("DSW1")
AM_RANGE(0x9040, 0x907f) AM_READ_PORT("DSW0")
AM_RANGE(0x9040, 0x9040) AM_WRITE(interrupt_enable_w)
@@ -121,11 +121,11 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( jrpacmbl_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(jrpacman_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(jrpacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x8800, 0x8fef) AM_RAM
- AM_RANGE(0x8ff0, 0x8fff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x8ff0, 0x8fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x9000, 0x901f) AM_DEVWRITE("namco", pacman_sound_w) AM_BASE(&pacman_soundregs)
- AM_RANGE(0x9020, 0x902f) AM_WRITE(SMH_RAM) AM_BASE(&spriteram_2)
+ AM_RANGE(0x9020, 0x902f) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(spriteram2)
AM_RANGE(0x9030, 0x9030) AM_WRITE(jrpacman_scroll_w)
AM_RANGE(0x9040, 0x904f) AM_READ_PORT("DSW")
AM_RANGE(0x9040, 0x9040) AM_WRITE(interrupt_enable_w)
diff --git a/src/mame/drivers/peplus.c b/src/mame/drivers/peplus.c
index 0ce9498a6f5..ea128f82083 100644
--- a/src/mame/drivers/peplus.c
+++ b/src/mame/drivers/peplus.c
@@ -353,7 +353,7 @@ static WRITE_LINE_DEVICE_HANDLER(crtc_vsync)
static WRITE8_DEVICE_HANDLER( peplus_crtc_display_w )
{
- videoram[vid_address] = data;
+ device->machine->generic.videoram.u8[vid_address] = data;
palette_ram[vid_address] = io_port[1];
palette_ram2[vid_address] = io_port[3];
@@ -642,7 +642,7 @@ static TILE_GET_INFO( get_bg_tile_info )
{
int pr = palette_ram[tile_index];
int pr2 = palette_ram2[tile_index];
- int vr = videoram[tile_index];
+ int vr = machine->generic.videoram.u8[tile_index];
int code = ((pr & 0x0f)*256) | vr;
int color = (pr>>4) & 0x0f;
@@ -751,7 +751,7 @@ static ADDRESS_MAP_START( peplus_iomap, ADDRESS_SPACE_IO, 8 )
AM_RANGE(0x6000, 0x6000) AM_READ(peplus_bgcolor_r) AM_WRITE(peplus_bgcolor_w)
// Bogus Location for Video RAM
- AM_RANGE(0x06001, 0x06400) AM_RAM AM_BASE(&videoram)
+ AM_RANGE(0x06001, 0x06400) AM_RAM AM_BASE_GENERIC(videoram)
// Superboard Data
AM_RANGE(0x7000, 0x7fff) AM_READWRITE(peplus_s7000_r, peplus_s7000_w) AM_BASE(&s7000_ram)
diff --git a/src/mame/drivers/pgm.c b/src/mame/drivers/pgm.c
index 8a873410ae4..8965c107ace 100644
--- a/src/mame/drivers/pgm.c
+++ b/src/mame/drivers/pgm.c
@@ -546,7 +546,7 @@ static ADDRESS_MAP_START( pgm_mem, ADDRESS_SPACE_PROGRAM, 16)
// AM_RANGE(0x904000, 0x905fff) AM_RAM_WRITE(pgm_tx_videoram_w) AM_BASE(&pgm_tx_videoram) /* Text Layer */
// AM_RANGE(0x907000, 0x9077ff) AM_RAM AM_BASE(&pgm_rowscrollram)
AM_RANGE(0x900000, 0x907fff) AM_MIRROR(0x0f8000) AM_RAM_WRITE(pgm_videoram_w) AM_BASE(&pgm_videoram) /* IGS023 VIDEO CHIP */
- AM_RANGE(0xa00000, 0xa011ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xa00000, 0xa011ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xb00000, 0xb0ffff) AM_RAM AM_BASE(&pgm_videoregs) /* Video Regs inc. Zoom Table */
AM_RANGE(0xc00002, 0xc00003) AM_READWRITE(soundlatch_word_r, m68k_l1_w)
@@ -579,7 +579,7 @@ static ADDRESS_MAP_START( killbld_mem, ADDRESS_SPACE_PROGRAM, 16)
// AM_RANGE(0x904000, 0x905fff) AM_RAM_WRITE(pgm_tx_videoram_w) AM_BASE(&pgm_tx_videoram) /* Text Layer */
// AM_RANGE(0x907000, 0x9077ff) AM_RAM AM_BASE(&pgm_rowscrollram)
AM_RANGE(0x900000, 0x907fff) AM_MIRROR(0x0f8000) AM_RAM_WRITE(pgm_videoram_w) AM_BASE(&pgm_videoram) /* IGS023 VIDEO CHIP */
- AM_RANGE(0xa00000, 0xa011ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xa00000, 0xa011ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xb00000, 0xb0ffff) AM_RAM AM_BASE(&pgm_videoregs) /* Video Regs inc. Zoom Table */
AM_RANGE(0xc00002, 0xc00003) AM_READWRITE(soundlatch_word_r, m68k_l1_w)
@@ -612,7 +612,7 @@ static ADDRESS_MAP_START( olds_mem, ADDRESS_SPACE_PROGRAM, 16)
// AM_RANGE(0x904000, 0x905fff) AM_RAM_WRITE(pgm_tx_videoram_w) AM_BASE(&pgm_tx_videoram) /* Text Layer */
// AM_RANGE(0x907000, 0x9077ff) AM_RAM AM_BASE(&pgm_rowscrollram)
AM_RANGE(0x900000, 0x907fff) AM_MIRROR(0x0f8000) AM_RAM_WRITE(pgm_videoram_w) AM_BASE(&pgm_videoram) /* IGS023 VIDEO CHIP */
- AM_RANGE(0xa00000, 0xa011ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xa00000, 0xa011ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xb00000, 0xb0ffff) AM_RAM AM_BASE(&pgm_videoregs) /* Video Regs inc. Zoom Table */
AM_RANGE(0xc00002, 0xc00003) AM_READWRITE(soundlatch_word_r, m68k_l1_w)
@@ -642,7 +642,7 @@ static ADDRESS_MAP_START( kov2_mem, ADDRESS_SPACE_PROGRAM, 16)
// AM_RANGE(0x904000, 0x905fff) AM_RAM_WRITE(pgm_tx_videoram_w) AM_BASE(&pgm_tx_videoram) /* Text Layer */
// AM_RANGE(0x907000, 0x9077ff) AM_RAM AM_BASE(&pgm_rowscrollram)
AM_RANGE(0x900000, 0x907fff) AM_MIRROR(0x0f8000) AM_RAM_WRITE(pgm_videoram_w) AM_BASE(&pgm_videoram) /* IGS023 VIDEO CHIP */
- AM_RANGE(0xa00000, 0xa011ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xa00000, 0xa011ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xb00000, 0xb0ffff) AM_RAM AM_BASE(&pgm_videoregs) /* Video Regs inc. Zoom Table */
AM_RANGE(0xc00002, 0xc00003) AM_READWRITE(soundlatch_word_r, m68k_l1_w)
@@ -676,7 +676,7 @@ static ADDRESS_MAP_START( cavepgm_mem, ADDRESS_SPACE_PROGRAM, 16)
// AM_RANGE(0x904000, 0x905fff) AM_RAM_WRITE(pgm_tx_videoram_w) AM_BASE(&pgm_tx_videoram) /* Text Layer */
// AM_RANGE(0x907000, 0x9077ff) AM_RAM AM_BASE(&pgm_rowscrollram)
AM_RANGE(0x900000, 0x907fff) AM_MIRROR(0x0f8000) AM_RAM_WRITE(pgm_videoram_w) AM_BASE(&pgm_videoram) /* IGS023 VIDEO CHIP */
- AM_RANGE(0xa00000, 0xa011ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xa00000, 0xa011ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xb00000, 0xb0ffff) AM_RAM AM_BASE(&pgm_videoregs) /* Video Regs inc. Zoom Table */
AM_RANGE(0xc00002, 0xc00003) AM_READWRITE(soundlatch_word_r, m68k_l1_w)
@@ -803,7 +803,7 @@ static ADDRESS_MAP_START( kovsh_mem, ADDRESS_SPACE_PROGRAM, 16)
// AM_RANGE(0x904000, 0x905fff) AM_RAM_WRITE(pgm_tx_videoram_w) AM_BASE(&pgm_tx_videoram) /* Text Layer */
// AM_RANGE(0x907000, 0x9077ff) AM_RAM AM_BASE(&pgm_rowscrollram)
AM_RANGE(0x900000, 0x907fff) AM_MIRROR(0x0f8000) AM_RAM_WRITE(pgm_videoram_w) AM_BASE(&pgm_videoram) /* IGS023 VIDEO CHIP */
- AM_RANGE(0xa00000, 0xa011ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xa00000, 0xa011ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xb00000, 0xb0ffff) AM_RAM AM_BASE(&pgm_videoregs) /* Video Regs inc. Zoom Table */
AM_RANGE(0xc00002, 0xc00003) AM_READWRITE(soundlatch_word_r, m68k_l1_w)
@@ -912,7 +912,7 @@ static ADDRESS_MAP_START( svg_68k_mem, ADDRESS_SPACE_PROGRAM, 16)
// AM_RANGE(0x904000, 0x905fff) AM_RAM_WRITE(pgm_tx_videoram_w) AM_BASE(&pgm_tx_videoram) /* Text Layer */
// AM_RANGE(0x907000, 0x9077ff) AM_RAM AM_BASE(&pgm_rowscrollram)
AM_RANGE(0x900000, 0x907fff) AM_MIRROR(0x0f8000) AM_RAM_WRITE(pgm_videoram_w) AM_BASE(&pgm_videoram) /* IGS023 VIDEO CHIP */
- AM_RANGE(0xa00000, 0xa011ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xa00000, 0xa011ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xb00000, 0xb0ffff) AM_RAM AM_BASE(&pgm_videoregs) /* Video Regs inc. Zoom Table */
AM_RANGE(0xc00002, 0xc00003) AM_READWRITE(soundlatch_word_r, m68k_l1_w)
diff --git a/src/mame/drivers/pingpong.c b/src/mame/drivers/pingpong.c
index 46b097df525..ce8c680db6d 100644
--- a/src/mame/drivers/pingpong.c
+++ b/src/mame/drivers/pingpong.c
@@ -93,10 +93,10 @@ static INTERRUPT_GEN( pingpong_interrupt )
static ADDRESS_MAP_START( pingpong_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(pingpong_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(pingpong_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(pingpong_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(pingpong_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x9000, 0x9002) AM_RAM
- AM_RANGE(0x9003, 0x9052) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x9003, 0x9052) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x9053, 0x97ff) AM_RAM
AM_RANGE(0xa800, 0xa800) AM_READ_PORT("SYSTEM")
AM_RANGE(0xa880, 0xa880) AM_READ_PORT("INPUTS")
@@ -114,10 +114,10 @@ static ADDRESS_MAP_START( merlinmm_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x5400, 0x57ff) AM_RAM
AM_RANGE(0x6000, 0x6007) AM_WRITENOP /* solenoid writes */
AM_RANGE(0x7000, 0x7000) AM_READ_PORT("IN4")
- AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(pingpong_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(pingpong_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(pingpong_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(pingpong_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x9000, 0x9002) AM_RAM
- AM_RANGE(0x9003, 0x9052) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x9003, 0x9052) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x9053, 0x97ff) AM_RAM
AM_RANGE(0xa000, 0xa000) AM_WRITE(coin_w) /* irq enables */
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0")
diff --git a/src/mame/drivers/pipedrm.c b/src/mame/drivers/pipedrm.c
index 5f7a40543f2..823e8976bd6 100644
--- a/src/mame/drivers/pipedrm.c
+++ b/src/mame/drivers/pipedrm.c
@@ -284,8 +284,8 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_RAM
AM_RANGE(0xa000, 0xbfff) AM_ROMBANK(1)
- AM_RANGE(0xc000, 0xcfff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE(&paletteram)
- AM_RANGE(0xd000, 0xffff) AM_READWRITE(fromance_videoram_r, fromance_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xc000, 0xcfff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xd000, 0xffff) AM_READWRITE(fromance_videoram_r, fromance_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
ADDRESS_MAP_END
@@ -846,10 +846,10 @@ ROM_END
static DRIVER_INIT( pipedrm )
{
/* sprite RAM lives at the end of palette RAM */
- spriteram = &paletteram[0xc00];
- spriteram_size = 0x400;
+ machine->generic.spriteram.u8 = &machine->generic.paletteram.u8[0xc00];
+ machine->generic.spriteram_size = 0x400;
memory_install_readwrite8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xcc00, 0xcfff, 0, 0, (read8_space_func)SMH_BANK(3), (write8_space_func)SMH_BANK(3));
- memory_set_bankptr(machine, 3, spriteram);
+ memory_set_bankptr(machine, 3, machine->generic.spriteram.v);
}
diff --git a/src/mame/drivers/pirates.c b/src/mame/drivers/pirates.c
index 04966f9f79c..ea90edf5a04 100644
--- a/src/mame/drivers/pirates.c
+++ b/src/mame/drivers/pirates.c
@@ -187,7 +187,7 @@ static ADDRESS_MAP_START( pirates_map, ADDRESS_SPACE_PROGRAM, 16 )
// AM_RANGE(0x500800, 0x50080f) AM_WRITENOP
AM_RANGE(0x600000, 0x600001) AM_WRITE(pirates_out_w)
AM_RANGE(0x700000, 0x700001) AM_WRITEONLY AM_BASE(&pirates_scroll) // scroll reg
- AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x900000, 0x90017f) AM_RAM // more of tilemaps ?
AM_RANGE(0x900180, 0x90137f) AM_RAM_WRITE(pirates_tx_tileram_w) AM_BASE(&pirates_tx_tileram)
AM_RANGE(0x901380, 0x902a7f) AM_RAM_WRITE(pirates_fg_tileram_w) AM_BASE(&pirates_fg_tileram)
diff --git a/src/mame/drivers/pitnrun.c b/src/mame/drivers/pitnrun.c
index ce0d588cc88..8ff0ceb1fbf 100644
--- a/src/mame/drivers/pitnrun.c
+++ b/src/mame/drivers/pitnrun.c
@@ -94,9 +94,9 @@ static WRITE8_HANDLER(pitnrun_vflip_w)
static ADDRESS_MAP_START( pitnrun_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
- AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(pitnrun_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(pitnrun_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x9000, 0x9fff) AM_RAM_WRITE(pitnrun_videoram2_w) AM_BASE(&pitnrun_videoram2)
- AM_RANGE(0xa000, 0xa0ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xa000, 0xa0ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xa800, 0xa800) AM_READ_PORT("SYSTEM")
AM_RANGE(0xa800, 0xa807) AM_WRITENOP /* Analog Sound */
AM_RANGE(0xb000, 0xb000) AM_READ_PORT("DSW") AM_WRITE(nmi_enable_w)
diff --git a/src/mame/drivers/pkscram.c b/src/mame/drivers/pkscram.c
index f3317084d33..8b394bf9f6f 100644
--- a/src/mame/drivers/pkscram.c
+++ b/src/mame/drivers/pkscram.c
@@ -89,7 +89,7 @@ static ADDRESS_MAP_START( pkscramble_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x045000, 0x045fff) AM_RAM_WRITE(pkscramble_mdtilemap_w) AM_BASE(&pkscramble_mdtilemap_ram) // md tilemap (just a copy of fg?)
AM_RANGE(0x046000, 0x046fff) AM_RAM_WRITE(pkscramble_bgtilemap_w) AM_BASE(&pkscramble_bgtilemap_ram) // bg tilemap
AM_RANGE(0x047000, 0x047fff) AM_RAM // unused
- AM_RANGE(0x048000, 0x048fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x048000, 0x048fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(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 6e0781c6c70..52408b1a1fb 100644
--- a/src/mame/drivers/pktgaldx.c
+++ b/src/mame/drivers/pktgaldx.c
@@ -84,8 +84,8 @@ static ADDRESS_MAP_START( pktgaldx_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x110000, 0x1107ff) AM_RAM AM_BASE(&deco16_pf1_rowscroll)
AM_RANGE(0x112000, 0x1127ff) AM_RAM AM_BASE(&deco16_pf2_rowscroll)
- AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0x130000, 0x130fff) AM_RAM_WRITE(deco16_nonbuffered_palette_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x130000, 0x130fff) AM_RAM_WRITE(deco16_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x140000, 0x14000f) AM_DEVWRITE8("oki1", okim6295_w, 0x00ff)
AM_RANGE(0x140006, 0x140007) AM_DEVREAD8("oki1", okim6295_r, 0x00ff)
@@ -156,7 +156,7 @@ static ADDRESS_MAP_START( pktgaldb_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300000, 0x30000f) AM_RAM // ??
- AM_RANGE(0x330000, 0x330bff) AM_RAM_WRITE(paletteram16_xbgr_word_be_w) AM_BASE(&paletteram16) // extra colours?
+ AM_RANGE(0x330000, 0x330bff) AM_RAM_WRITE(paletteram16_xbgr_word_be_w) AM_BASE_GENERIC(paletteram) // extra colours?
ADDRESS_MAP_END
diff --git a/src/mame/drivers/playch10.c b/src/mame/drivers/playch10.c
index df7b6c38331..5b1386e3278 100644
--- a/src/mame/drivers/playch10.c
+++ b/src/mame/drivers/playch10.c
@@ -383,7 +383,7 @@ static ADDRESS_MAP_START( bios_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM // 8V
AM_RANGE(0x8800, 0x8fff) AM_READWRITE(ram_8w_r, ram_8w_w) AM_BASE(&ram_8w) // 8W
- AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(playch10_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(playch10_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0xc000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xffff) AM_READWRITE(pc10_prot_r, pc10_prot_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/playmark.c b/src/mame/drivers/playmark.c
index 392369ecb4e..f6eeacf7daa 100644
--- a/src/mame/drivers/playmark.c
+++ b/src/mame/drivers/playmark.c
@@ -234,7 +234,7 @@ static READ8_HANDLER( PIC16C5X_T0_clk_r )
static ADDRESS_MAP_START( bigtwin_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x304000, 0x304001) AM_NOP /* watchdog? irq ack? */
- AM_RANGE(0x440000, 0x4403ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x440000, 0x4403ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x500000, 0x500fff) AM_WRITE(wbeachvl_fgvideoram_w) AM_BASE(&wbeachvl_videoram2)
AM_RANGE(0x501000, 0x501fff) AM_WRITENOP /* unused RAM? */
AM_RANGE(0x502000, 0x503fff) AM_WRITE(wbeachvl_txvideoram_w) AM_BASE(&wbeachvl_videoram1)
@@ -249,14 +249,14 @@ static ADDRESS_MAP_START( bigtwin_main_map, ADDRESS_SPACE_PROGRAM, 16 )
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(bigtwin_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x780000, 0x7807ff) AM_WRITE(bigtwin_paletteram_w) AM_BASE_GENERIC(paletteram)
// AM_RANGE(0xe00000, 0xe00001) ?? written on startup
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
static ADDRESS_MAP_START( wbeachvl_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(wbeachvl_bgvideoram_w) AM_BASE(&wbeachvl_videoram3)
AM_RANGE(0x504000, 0x505fff) AM_RAM_WRITE(wbeachvl_fgvideoram_w) AM_BASE(&wbeachvl_videoram2)
AM_RANGE(0x508000, 0x509fff) AM_RAM_WRITE(wbeachvl_txvideoram_w) AM_BASE(&wbeachvl_videoram1)
@@ -272,14 +272,14 @@ static ADDRESS_MAP_START( wbeachvl_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x71001a, 0x71001b) AM_READ_PORT("P4")
// AM_RANGE(0x71001c, 0x71001d) AM_READ(playmark_snd_status???)
// AM_RANGE(0x71001e, 0x71001f) AM_WRITENOP//playmark_snd_command_w },
- AM_RANGE(0x780000, 0x780fff) AM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x780000, 0x780fff) AM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
static ADDRESS_MAP_START( excelsr_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x2fffff) AM_ROM
AM_RANGE(0x304000, 0x304001) AM_WRITENOP /* watchdog? irq ack? */
- AM_RANGE(0x440000, 0x440cff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x440000, 0x440cff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE(wbeachvl_fgvideoram_w) AM_BASE(&wbeachvl_videoram2)
AM_RANGE(0x501000, 0x501fff) AM_RAM_WRITE(wbeachvl_txvideoram_w) AM_BASE(&wbeachvl_videoram1)
AM_RANGE(0x510000, 0x51000b) AM_WRITE(excelsr_scroll_w)
@@ -292,7 +292,7 @@ static ADDRESS_MAP_START( excelsr_main_map, ADDRESS_SPACE_PROGRAM, 16 )
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(bigtwin_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x780000, 0x7807ff) AM_RAM_WRITE(bigtwin_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
@@ -302,8 +302,8 @@ static ADDRESS_MAP_START( hotmind_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x104000, 0x107fff) AM_RAM_WRITE(hrdtimes_fgvideoram_w) AM_BASE(&wbeachvl_videoram2)
AM_RANGE(0x108000, 0x10ffff) AM_RAM_WRITE(hrdtimes_txvideoram_w) AM_BASE(&wbeachvl_videoram1)
AM_RANGE(0x110000, 0x11000d) AM_WRITE(hrdtimes_scroll_w)
- AM_RANGE(0x200000, 0x200fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0x280000, 0x2807ff) AM_RAM_WRITE(bigtwin_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x200000, 0x200fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x280000, 0x2807ff) AM_RAM_WRITE(bigtwin_paletteram_w) AM_BASE_GENERIC(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)
@@ -322,8 +322,8 @@ static ADDRESS_MAP_START( hrdtimes_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x104000, 0x107fff) AM_RAM_WRITE(hrdtimes_fgvideoram_w) AM_BASE(&wbeachvl_videoram2)
AM_RANGE(0x108000, 0x10ffff) AM_RAM_WRITE(hrdtimes_txvideoram_w) AM_BASE(&wbeachvl_videoram1)
AM_RANGE(0x110000, 0x11000d) AM_WRITE(hrdtimes_scroll_w)
- AM_RANGE(0x200000, 0x200fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0x280000, 0x2807ff) AM_RAM_WRITE(bigtwin_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x200000, 0x200fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x280000, 0x2807ff) AM_RAM_WRITE(bigtwin_paletteram_w) AM_BASE_GENERIC(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 0c26ba2081e..927810a7c05 100644
--- a/src/mame/drivers/plygonet.c
+++ b/src/mame/drivers/plygonet.c
@@ -331,11 +331,11 @@ static WRITE32_HANDLER( plygonet_palette_w )
{
int r,g,b;
- COMBINE_DATA(&paletteram32[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
- r = (paletteram32[offset] >>16) & 0xff;
- g = (paletteram32[offset] >> 8) & 0xff;
- b = (paletteram32[offset] >> 0) & 0xff;
+ 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;
palette_set_color(space->machine,offset,MAKE_RGB(r,g,b));
}
@@ -541,7 +541,7 @@ static WRITE16_HANDLER( dsp56k_ram_bank04_write )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x000000, 0x1fffff) AM_ROM
- AM_RANGE(0x200000, 0x21ffff) AM_RAM_WRITE(plygonet_palette_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x200000, 0x21ffff) AM_RAM_WRITE(plygonet_palette_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x400000, 0x40001f) AM_RAM AM_BASE((UINT32**)&K053936_0_ctrl)
AM_RANGE(0x440000, 0x440fff) AM_READWRITE(polygonet_roz_ram_r, polygonet_roz_ram_w)
AM_RANGE(0x480000, 0x4bffff) AM_READ(polygonet_eeprom_r)
diff --git a/src/mame/drivers/pokechmp.c b/src/mame/drivers/pokechmp.c
index 4693d4e3719..194fd81d2e9 100644
--- a/src/mame/drivers/pokechmp.c
+++ b/src/mame/drivers/pokechmp.c
@@ -106,15 +106,15 @@ INLINE void pokechmp_set_color(running_machine *machine, pen_t color, int rshift
static WRITE8_HANDLER( pokechmp_paletteram_w )
{
- paletteram[offset] = data;
- pokechmp_set_color(space->machine, offset &0x3ff, 0, 5, 10, (paletteram[offset&0x3ff]<<8) | ( paletteram[ (offset&0x3ff)+0x400 ] ) );
+ space->machine->generic.paletteram.u8[offset] = data;
+ pokechmp_set_color(space->machine, offset &0x3ff, 0, 5, 10, (space->machine->generic.paletteram.u8[offset&0x3ff]<<8) | ( space->machine->generic.paletteram.u8[ (offset&0x3ff)+0x400 ] ) );
}
static ADDRESS_MAP_START( pokechmp_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x07ff) AM_RAM
- AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(pokechmp_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x1000, 0x11ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(pokechmp_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x1000, 0x11ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x1800, 0x1800) AM_READ_PORT("P1")
AM_RANGE(0x1801, 0x1801) AM_WRITE(pokechmp_flipscreen_w)
@@ -125,7 +125,7 @@ static ADDRESS_MAP_START( pokechmp_map, ADDRESS_SPACE_PROGRAM, 8 )
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(&paletteram)
+ AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(pokechmp_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x4000, 0x5fff) AM_ROMBANK(1)
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK(2)
diff --git a/src/mame/drivers/polyplay.c b/src/mame/drivers/polyplay.c
index 07b7066d7f5..32b0362c27d 100644
--- a/src/mame/drivers/polyplay.c
+++ b/src/mame/drivers/polyplay.c
@@ -156,7 +156,7 @@ static ADDRESS_MAP_START( polyplay_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1000, 0x8fff) AM_ROM
AM_RANGE(0xe800, 0xebff) AM_ROM AM_REGION("gfx1", 0)
AM_RANGE(0xec00, 0xf7ff) AM_RAM_WRITE(polyplay_characterram_w) AM_BASE(&polyplay_characterram)
- AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pooyan.c b/src/mame/drivers/pooyan.c
index bc0258e9375..44dee3cf6ec 100644
--- a/src/mame/drivers/pooyan.c
+++ b/src/mame/drivers/pooyan.c
@@ -57,11 +57,11 @@ static WRITE8_HANDLER( irq_enable_w )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(pooyan_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(pooyan_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(pooyan_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(pooyan_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x8800, 0x8fff) AM_RAM
- AM_RANGE(0x9000, 0x90ff) AM_MIRROR(0x0b00) AM_RAM AM_BASE(&spriteram)
- AM_RANGE(0x9400, 0x94ff) AM_MIRROR(0x0b00) AM_RAM AM_BASE(&spriteram_2)
+ AM_RANGE(0x9000, 0x90ff) AM_MIRROR(0x0b00) AM_RAM AM_BASE_GENERIC(spriteram)
+ AM_RANGE(0x9400, 0x94ff) AM_MIRROR(0x0b00) AM_RAM AM_BASE_GENERIC(spriteram2)
AM_RANGE(0xa000, 0xa000) AM_MIRROR(0x5e7f) AM_READ_PORT("DSW1")
AM_RANGE(0xa080, 0xa080) AM_MIRROR(0x5e1f) AM_READ_PORT("IN0")
AM_RANGE(0xa0a0, 0xa0a0) AM_MIRROR(0x5e1f) AM_READ_PORT("IN1")
diff --git a/src/mame/drivers/popeye.c b/src/mame/drivers/popeye.c
index b18b998fda0..b0aaf978705 100644
--- a/src/mame/drivers/popeye.c
+++ b/src/mame/drivers/popeye.c
@@ -84,10 +84,10 @@ static ADDRESS_MAP_START( skyskipr_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8c00, 0x8c02) AM_RAM AM_BASE(&popeye_background_pos)
AM_RANGE(0x8c03, 0x8c03) AM_RAM AM_BASE(&popeye_palettebank)
- AM_RANGE(0x8c04, 0x8e7f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x8c04, 0x8e7f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x8e80, 0x8fff) AM_RAM
- AM_RANGE(0xa000, 0xa3ff) AM_WRITE(popeye_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xa400, 0xa7ff) AM_WRITE(popeye_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0xa000, 0xa3ff) AM_WRITE(popeye_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xa400, 0xa7ff) AM_WRITE(popeye_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0xc000, 0xcfff) AM_WRITE(skyskipr_bitmap_w)
AM_RANGE(0xe000, 0xe001) AM_READWRITE(protection_r,protection_w)
ADDRESS_MAP_END
@@ -98,10 +98,10 @@ static ADDRESS_MAP_START( popeye_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8800, 0x8bff) AM_RAM
AM_RANGE(0x8c00, 0x8c02) AM_RAM AM_BASE(&popeye_background_pos)
AM_RANGE(0x8c03, 0x8c03) AM_RAM AM_BASE(&popeye_palettebank)
- AM_RANGE(0x8c04, 0x8e7f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x8c04, 0x8e7f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x8e80, 0x8fff) AM_RAM
- AM_RANGE(0xa000, 0xa3ff) AM_WRITE(popeye_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xa400, 0xa7ff) AM_WRITE(popeye_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0xa000, 0xa3ff) AM_WRITE(popeye_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xa400, 0xa7ff) AM_WRITE(popeye_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0xc000, 0xdfff) AM_WRITE(popeye_bitmap_w)
AM_RANGE(0xe000, 0xe001) AM_READWRITE(protection_r,protection_w)
ADDRESS_MAP_END
@@ -111,10 +111,10 @@ static ADDRESS_MAP_START( popeyebl_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8c00, 0x8c02) AM_RAM AM_BASE(&popeye_background_pos)
AM_RANGE(0x8c03, 0x8c03) AM_RAM AM_BASE(&popeye_palettebank)
- AM_RANGE(0x8c04, 0x8e7f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x8c04, 0x8e7f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x8e80, 0x8fff) AM_RAM
- AM_RANGE(0xa000, 0xa3ff) AM_WRITE(popeye_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xa400, 0xa7ff) AM_WRITE(popeye_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0xa000, 0xa3ff) AM_WRITE(popeye_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xa400, 0xa7ff) AM_WRITE(popeye_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0xc000, 0xcfff) AM_WRITE(skyskipr_bitmap_w)
AM_RANGE(0xe000, 0xe01f) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/popper.c b/src/mame/drivers/popper.c
index 24299c85901..9a5eeeda134 100644
--- a/src/mame/drivers/popper.c
+++ b/src/mame/drivers/popper.c
@@ -160,7 +160,7 @@ static ADDRESS_MAP_START( popper_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc9c0, 0xc9ff) AM_RAM_WRITE(popper_ol_attribram_w) AM_BASE_MEMBER(popper_state, ol_attribram)
AM_RANGE(0xca00, 0xce1f) AM_RAM_WRITE(popper_attribram_w) AM_BASE_MEMBER(popper_state, attribram)
AM_RANGE(0xce20, 0xcfff) AM_RAM
- AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_BASE_MEMBER(popper_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_BASE_MEMBER(popper_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xd800, 0xdfff) AM_RAM AM_SHARE(1)
AM_RANGE(0xe000, 0xe007) AM_READ(popper_input_ports_r)
AM_RANGE(0xe000, 0xe000) AM_WRITE(interrupt_enable_w)
diff --git a/src/mame/drivers/portrait.c b/src/mame/drivers/portrait.c
index d37d1a77653..7ac25e7cb88 100644
--- a/src/mame/drivers/portrait.c
+++ b/src/mame/drivers/portrait.c
@@ -130,7 +130,7 @@ static ADDRESS_MAP_START( portrait_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(portrait_bgvideo_write) AM_BASE(&portrait_bgvideoram)
AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(portrait_fgvideo_write) AM_BASE(&portrait_fgvideoram)
- AM_RANGE(0x9000, 0x91ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x9000, 0x91ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x9200, 0x97ff) AM_RAM
AM_RANGE(0xa000, 0xa000) AM_WRITE(soundlatch_w)
AM_RANGE(0xa010, 0xa010) AM_WRITENOP // ?
diff --git a/src/mame/drivers/powerbal.c b/src/mame/drivers/powerbal.c
index 88627c6d4b1..22ffdd3a2b0 100644
--- a/src/mame/drivers/powerbal.c
+++ b/src/mame/drivers/powerbal.c
@@ -101,7 +101,7 @@ static WRITE16_DEVICE_HANDLER( oki_banking )
static ADDRESS_MAP_START( magicstk_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
- AM_RANGE(0x088000, 0x0883ff) AM_RAM_WRITE(bigtwin_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x088000, 0x0883ff) AM_RAM_WRITE(bigtwin_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x094000, 0x094001) AM_WRITENOP
AM_RANGE(0x094002, 0x094003) AM_WRITENOP
AM_RANGE(0x094004, 0x094005) AM_WRITE(tile_banking_w)
@@ -115,12 +115,12 @@ static ADDRESS_MAP_START( magicstk_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0c201e, 0x0c201f) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
AM_RANGE(0x0c4000, 0x0c4001) AM_WRITENOP
AM_RANGE(0x0e0000, 0x0fffff) AM_RAM
- AM_RANGE(0x100000, 0x100fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x100000, 0x100fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( powerbal_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x088000, 0x0883ff) AM_RAM_WRITE(bigtwin_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x088000, 0x0883ff) AM_RAM_WRITE(bigtwin_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x094000, 0x094001) AM_WRITENOP
AM_RANGE(0x094002, 0x094003) AM_WRITENOP
AM_RANGE(0x094004, 0x094005) AM_WRITE(tile_banking_w)
@@ -135,7 +135,7 @@ static ADDRESS_MAP_START( powerbal_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0c201e, 0x0c201f) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
AM_RANGE(0x0c4000, 0x0c4001) AM_WRITENOP
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM
- AM_RANGE(0x101000, 0x101fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x101000, 0x101fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x102000, 0x10200d) AM_WRITENOP // not used scroll regs?
AM_RANGE(0x103000, 0x103fff) AM_RAM
ADDRESS_MAP_END
@@ -412,10 +412,11 @@ static TILE_GET_INFO( powerbal_get_bg_tile_info )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
int height = machine->gfx[0]->height;
- for (offs = 4;offs < spriteram_size/2;offs += 4)
+ for (offs = 4;offs < machine->generic.spriteram_size/2;offs += 4)
{
int sx,sy,code,color,flipx;
diff --git a/src/mame/drivers/powerins.c b/src/mame/drivers/powerins.c
index 4cba901373d..935c3ccfc18 100644
--- a/src/mame/drivers/powerins.c
+++ b/src/mame/drivers/powerins.c
@@ -101,12 +101,12 @@ static ADDRESS_MAP_START( powerins_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x100018, 0x100019) AM_WRITE(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(powerins_paletteram16_w) AM_BASE(&paletteram16) // Palette
+ AM_RANGE(0x120000, 0x120fff) AM_RAM_WRITE(powerins_paletteram16_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE(0x130000, 0x130007) AM_RAM AM_BASE(&powerins_vctrl_0) // VRAM 0 Control
AM_RANGE(0x140000, 0x143fff) AM_RAM_WRITE(powerins_vram_0_w) AM_BASE(&powerins_vram_0) // VRAM 0
AM_RANGE(0x170000, 0x170fff) AM_RAM_WRITE(powerins_vram_1_w) AM_BASE(&powerins_vram_1) // VRAM 1
AM_RANGE(0x171000, 0x171fff) AM_WRITE(powerins_vram_1_w) // Mirror of VRAM 1?
- AM_RANGE(0x180000, 0x18ffff) AM_RAM AM_BASE(&spriteram16) // RAM + Sprites
+ AM_RANGE(0x180000, 0x18ffff) AM_RAM AM_BASE_GENERIC(spriteram) // RAM + Sprites
ADDRESS_MAP_END
/* powerina: same as the original one but without the sound cpu (and inferior sound HW) */
@@ -122,12 +122,12 @@ static ADDRESS_MAP_START( powerina_map, ADDRESS_SPACE_PROGRAM, 16 )
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_r,okim6295_w, 0x00ff) // (used by powerina)
- AM_RANGE(0x120000, 0x120fff) AM_RAM_WRITE(powerins_paletteram16_w) AM_BASE(&paletteram16) // Palette
+ AM_RANGE(0x120000, 0x120fff) AM_RAM_WRITE(powerins_paletteram16_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE(0x130000, 0x130007) AM_RAM AM_BASE(&powerins_vctrl_0) // VRAM 0 Control
AM_RANGE(0x140000, 0x143fff) AM_RAM_WRITE(powerins_vram_0_w) AM_BASE(&powerins_vram_0) // VRAM 0
AM_RANGE(0x170000, 0x170fff) AM_RAM_WRITE(powerins_vram_1_w) AM_BASE(&powerins_vram_1) // VRAM 1
AM_RANGE(0x171000, 0x171fff) AM_WRITE(powerins_vram_1_w) // Mirror of VRAM 1?
- AM_RANGE(0x180000, 0x18ffff) AM_RAM AM_BASE(&spriteram16) // RAM + Sprites
+ AM_RANGE(0x180000, 0x18ffff) AM_RAM AM_BASE_GENERIC(spriteram) // RAM + Sprites
ADDRESS_MAP_END
static ADDRESS_MAP_START( powerins_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
diff --git a/src/mame/drivers/prehisle.c b/src/mame/drivers/prehisle.c
index 63a85a233cb..8ecad925573 100644
--- a/src/mame/drivers/prehisle.c
+++ b/src/mame/drivers/prehisle.c
@@ -37,10 +37,10 @@ static WRITE16_HANDLER( prehisle_sound16_w )
static ADDRESS_MAP_START( prehisle_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x070000, 0x073fff) AM_RAM
- AM_RANGE(0x090000, 0x0907ff) AM_RAM_WRITE(prehisle_fg_videoram16_w) AM_BASE(&videoram16)
- AM_RANGE(0x0a0000, 0x0a07ff) AM_RAM AM_BASE(&spriteram16)
+ AM_RANGE(0x090000, 0x0907ff) AM_RAM_WRITE(prehisle_fg_videoram16_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x0a0000, 0x0a07ff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x0b0000, 0x0b3fff) AM_RAM_WRITE(prehisle_bg_videoram16_w) AM_BASE(&prehisle_bg_videoram16)
- AM_RANGE(0x0d0000, 0x0d07ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0d0000, 0x0d07ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x0e0000, 0x0e00ff) AM_READ(prehisle_control16_r)
AM_RANGE(0x0f0070, 0x0ff071) AM_WRITE(prehisle_sound16_w)
AM_RANGE(0x0f0000, 0x0ff0ff) AM_WRITE(prehisle_control16_w)
diff --git a/src/mame/drivers/progolf.c b/src/mame/drivers/progolf.c
index db6a617c7b0..b19d7e8f857 100644
--- a/src/mame/drivers/progolf.c
+++ b/src/mame/drivers/progolf.c
@@ -70,7 +70,7 @@ static VIDEO_START( progolf )
scrollx_lo = 0;
progolf_fg_fb = auto_alloc_array(machine, UINT8, 0x2000*8);
- videoram = auto_alloc_array(machine, UINT8, 0x1000);
+ machine->generic.videoram.u8 = auto_alloc_array(machine, UINT8, 0x1000);
}
@@ -87,7 +87,7 @@ static VIDEO_UPDATE( progolf )
{
for(y=0;y<32;y++)
{
- int tile = videoram[count];
+ int tile = screen->machine->generic.videoram.u8[count];
drawgfx_opaque(bitmap,cliprect,screen->machine->gfx[0],tile,1,0,0,(256-x*8)+scroll,y*8);
/* wrap-around */
@@ -196,7 +196,7 @@ static READ8_HANDLER( progolf_videoram_r )
else if (progolf_gfx_switch == 0x70)
return gfx_rom[offset + 0x2000];
else
- return videoram[offset];
+ return space->machine->generic.videoram.u8[offset];
} else {
if (progolf_gfx_switch == 0x10)
return gfx_rom[offset];
@@ -205,14 +205,14 @@ static READ8_HANDLER( progolf_videoram_r )
else if (progolf_gfx_switch == 0x30)
return gfx_rom[offset + 0x2000];
else
- return videoram[offset];
+ return space->machine->generic.videoram.u8[offset];
}
}
static WRITE8_HANDLER( progolf_videoram_w )
{
//if(progolf_gfx_switch & 0x40)
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
}
static ADDRESS_MAP_START( main_cpu, ADDRESS_SPACE_PROGRAM, 8 )
diff --git a/src/mame/drivers/psikyo.c b/src/mame/drivers/psikyo.c
index 77bc2961a74..d4b74043547 100644
--- a/src/mame/drivers/psikyo.c
+++ b/src/mame/drivers/psikyo.c
@@ -337,7 +337,6 @@ static READ32_HANDLER( s1945_input_r )
static WRITE32_HANDLER( paletteram32_xRRRRRGGGGGBBBBB_dword_w )
{
- paletteram16 = (UINT16 *)paletteram32;
if (ACCESSING_BITS_16_31)
paletteram16_xRRRRRGGGGGBBBBB_word_w(space, offset*2, data >> 16, mem_mask >> 16);
if (ACCESSING_BITS_0_15)
@@ -346,8 +345,8 @@ static WRITE32_HANDLER( paletteram32_xRRRRRGGGGGBBBBB_dword_w )
static ADDRESS_MAP_START( psikyo_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM (not all used)
- AM_RANGE(0x400000, 0x401fff) AM_RAM AM_BASE(&spriteram32) AM_SIZE(&spriteram_size) // Sprites, buffered by two frames (list buffered + fb buffered)
- AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram32_xRRRRRGGGGGBBBBB_dword_w) AM_BASE(&paletteram32) // Palette
+ AM_RANGE(0x400000, 0x401fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // 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(0x800000, 0x801fff) AM_RAM_WRITE(psikyo_vram_0_w) AM_BASE(&psikyo_vram_0) // Layer 0
AM_RANGE(0x802000, 0x803fff) AM_RAM_WRITE(psikyo_vram_1_w) AM_BASE(&psikyo_vram_1) // Layer 1
AM_RANGE(0x804000, 0x807fff) AM_RAM AM_BASE(&psikyo_vregs) // RAM + Vregs
diff --git a/src/mame/drivers/psikyo4.c b/src/mame/drivers/psikyo4.c
index 640f09444dc..b488f4f6974 100644
--- a/src/mame/drivers/psikyo4.c
+++ b/src/mame/drivers/psikyo4.c
@@ -250,11 +250,11 @@ static CUSTOM_INPUT( mahjong_ctrl_r ) /* used by hotgmck/hgkairak */
static WRITE32_HANDLER( ps4_paletteram32_RRRRRRRRGGGGGGGGBBBBBBBBxxxxxxxx_dword_w )
{
int r,g,b;
- COMBINE_DATA(&paletteram32[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
- b = ((paletteram32[offset] & 0x0000ff00) >>8);
- g = ((paletteram32[offset] & 0x00ff0000) >>16);
- r = ((paletteram32[offset] & 0xff000000) >>24);
+ b = ((space->machine->generic.paletteram.u32[offset] & 0x0000ff00) >>8);
+ g = ((space->machine->generic.paletteram.u32[offset] & 0x00ff0000) >>16);
+ r = ((space->machine->generic.paletteram.u32[offset] & 0xff000000) >>24);
palette_set_color(space->machine,offset,MAKE_RGB(r,g,b));
palette_set_color(space->machine,offset+0x800,MAKE_RGB(r,g,b)); // For screen 2
@@ -394,7 +394,7 @@ static WRITE32_HANDLER( hotgmck_pcm_bank_w )
static ADDRESS_MAP_START( ps4_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x00000000, 0x000fffff) AM_ROM // program ROM (1 meg)
AM_RANGE(0x02000000, 0x021fffff) AM_ROMBANK(1) // data ROM
- AM_RANGE(0x03000000, 0x030037ff) AM_RAM AM_BASE(&spriteram32) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x03000000, 0x030037ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x03003fe0, 0x03003fe3) AM_READWRITE(ps4_eeprom_r,ps4_eeprom_w)
AM_RANGE(0x03003fe4, 0x03003fe7) AM_READNOP // also writes to this address - might be vblank?
// AM_RANGE(0x03003fe4, 0x03003fe7) AM_WRITENOP // might be vblank?
@@ -403,7 +403,7 @@ static ADDRESS_MAP_START( ps4_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x03003ff4, 0x03003ff7) AM_WRITE(ps4_bgpen_1_dword_w) AM_BASE(&bgpen_1) // screen 1 clear colour
AM_RANGE(0x03003ff8, 0x03003ffb) AM_WRITE(ps4_screen2_brt_w) // screen 2 brightness
AM_RANGE(0x03003ffc, 0x03003fff) AM_WRITE(ps4_bgpen_2_dword_w) AM_BASE(&bgpen_2) // screen 2 clear colour
- AM_RANGE(0x03004000, 0x03005fff) AM_RAM_WRITE(ps4_paletteram32_RRRRRRRRGGGGGGGGBBBBBBBBxxxxxxxx_dword_w) AM_BASE(&paletteram32) // palette
+ AM_RANGE(0x03004000, 0x03005fff) AM_RAM_WRITE(ps4_paletteram32_RRRRRRRRGGGGGGGGBBBBBBBBxxxxxxxx_dword_w) AM_BASE_GENERIC(paletteram) // palette
AM_RANGE(0x05000000, 0x05000003) AM_DEVREAD8("ymf", ymf278b_r, 0xffffffff) // read YMF status
AM_RANGE(0x05000000, 0x05000007) AM_DEVWRITE8("ymf", ymf278b_w, 0xffffffff)
AM_RANGE(0x05800000, 0x05800003) AM_READ_PORT("P1_P2")
diff --git a/src/mame/drivers/psikyosh.c b/src/mame/drivers/psikyosh.c
index fe86201b8c9..dc8770366ce 100644
--- a/src/mame/drivers/psikyosh.c
+++ b/src/mame/drivers/psikyosh.c
@@ -442,11 +442,11 @@ static WRITE32_HANDLER( psikyosh_irqctrl_w )
static WRITE32_HANDLER( paletteram32_RRRRRRRRGGGGGGGGBBBBBBBBxxxxxxxx_dword_w )
{
int r,g,b;
- COMBINE_DATA(&paletteram32[offset]); /* is this ok .. */
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]); /* is this ok .. */
- b = ((paletteram32[offset] & 0x0000ff00) >>8);
- g = ((paletteram32[offset] & 0x00ff0000) >>16);
- r = ((paletteram32[offset] & 0xff000000) >>24);
+ b = ((space->machine->generic.paletteram.u32[offset] & 0x0000ff00) >>8);
+ g = ((space->machine->generic.paletteram.u32[offset] & 0x00ff0000) >>16);
+ r = ((space->machine->generic.paletteram.u32[offset] & 0xff000000) >>24);
palette_set_color(space->machine,offset,MAKE_RGB(r,g,b));
}
@@ -482,9 +482,9 @@ static READ32_HANDLER( psh_sample_r ) /* Send sample data for test */
static ADDRESS_MAP_START( ps3v1_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x00000000, 0x000fffff) AM_ROM // program ROM (1 meg)
AM_RANGE(0x02000000, 0x021fffff) AM_ROMBANK(1) // data ROM
- AM_RANGE(0x03000000, 0x03003fff) AM_RAM AM_BASE(&spriteram32) AM_SIZE(&spriteram_size) // sprites (might be a bit longer)
+ AM_RANGE(0x03000000, 0x03003fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // sprites (might be a bit longer)
AM_RANGE(0x03004000, 0x0300ffff) AM_RAM AM_BASE(&psikyosh_bgram) // backgrounds
- AM_RANGE(0x03040000, 0x03044fff) AM_RAM_WRITE(paletteram32_RRRRRRRRGGGGGGGGBBBBBBBBxxxxxxxx_dword_w) AM_BASE(&paletteram32) // palette..
+ AM_RANGE(0x03040000, 0x03044fff) AM_RAM_WRITE(paletteram32_RRRRRRRRGGGGGGGGBBBBBBBBxxxxxxxx_dword_w) AM_BASE_GENERIC(paletteram) // palette..
AM_RANGE(0x03050000, 0x030501ff) AM_RAM AM_BASE(&psikyosh_zoomram) // a gradient sometimes ...
AM_RANGE(0x0305ffdc, 0x0305ffdf) AM_READNOP AM_WRITE(psikyosh_irqctrl_w) // also writes to this address - might be vblank reads?
AM_RANGE(0x0305ffe0, 0x0305ffff) AM_RAM_WRITE(psikyosh_vidregs_w) AM_BASE(&psikyosh_vidregs) // video registers
@@ -507,9 +507,9 @@ static ADDRESS_MAP_START( ps5_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x03000004, 0x03000007) AM_READ_PORT("JP4") AM_WRITE(psh_eeprom_w)
AM_RANGE(0x03100000, 0x03100003) AM_DEVREAD8("ymf", ymf278b_r, 0xffffffff)
AM_RANGE(0x03100000, 0x03100007) AM_DEVWRITE8("ymf", ymf278b_w, 0xffffffff)
- AM_RANGE(0x04000000, 0x04003fff) AM_RAM AM_BASE(&spriteram32) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x04000000, 0x04003fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x04004000, 0x0400ffff) AM_RAM AM_BASE(&psikyosh_bgram) // backgrounds
- AM_RANGE(0x04040000, 0x04044fff) AM_RAM_WRITE(paletteram32_RRRRRRRRGGGGGGGGBBBBBBBBxxxxxxxx_dword_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x04040000, 0x04044fff) AM_RAM_WRITE(paletteram32_RRRRRRRRGGGGGGGGBBBBBBBBxxxxxxxx_dword_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x04050000, 0x040501ff) AM_RAM AM_BASE(&psikyosh_zoomram)
AM_RANGE(0x0405ffdc, 0x0405ffdf) AM_READNOP AM_WRITE(psikyosh_irqctrl_w) // also writes to this address - might be vblank reads?
AM_RANGE(0x0405ffe0, 0x0405ffff) AM_RAM_WRITE(psikyosh_vidregs_w) AM_BASE(&psikyosh_vidregs) // video registers
diff --git a/src/mame/drivers/psychic5.c b/src/mame/drivers/psychic5.c
index 4b25f00f92e..23c659a9254 100644
--- a/src/mame/drivers/psychic5.c
+++ b/src/mame/drivers/psychic5.c
@@ -436,7 +436,7 @@ static ADDRESS_MAP_START( psychic5_main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xf004, 0xf004) AM_NOP // ???
AM_RANGE(0xf005, 0xf005) AM_READWRITE(SMH_NOP, psychic5_title_screen_w)
AM_RANGE(0xf006, 0xf1ff) AM_NOP
- AM_RANGE(0xf200, 0xf7ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xf200, 0xf7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
@@ -466,7 +466,7 @@ static ADDRESS_MAP_START( bombsa_main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd005, 0xd005) AM_WRITE(bombsa_unknown_w) // ?
AM_RANGE(0xd000, 0xd1ff) AM_RAM
- AM_RANGE(0xd200, 0xd7ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xd200, 0xd7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xd800, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xffff) AM_READWRITE(psychic5_paged_ram_r, bombsa_paged_ram_w)
diff --git a/src/mame/drivers/pturn.c b/src/mame/drivers/pturn.c
index d3e617ae4b0..cceb81f6099 100644
--- a/src/mame/drivers/pturn.c
+++ b/src/mame/drivers/pturn.c
@@ -98,7 +98,7 @@ static const UINT8 tile_lookup[0x10]=
static TILE_GET_INFO( get_pturn_tile_info )
{
int tileno;
- tileno = videoram[tile_index];
+ tileno = machine->generic.videoram.u8[tile_index];
tileno=tile_lookup[tileno>>4]|(tileno&0xf)|(fgbank<<8);
@@ -129,6 +129,7 @@ static VIDEO_START(pturn)
static VIDEO_UPDATE(pturn)
{
+ UINT8 *spriteram = screen->machine->generic.spriteram.u8;
int offs;
int sx, sy;
int flipx, flipy;
@@ -183,7 +184,7 @@ READ8_HANDLER (pturn_protection2_r)
static WRITE8_HANDLER( pturn_videoram_w )
{
- videoram[offset]=data;
+ space->machine->generic.videoram.u8[offset]=data;
tilemap_mark_tile_dirty(pturn_fgmap,offset);
}
@@ -279,11 +280,11 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xdfe0, 0xdfe0) AM_NOP
- AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(pturn_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(pturn_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0xe400, 0xe400) AM_WRITE(fgpalette_w)
AM_RANGE(0xe800, 0xe800) AM_WRITE(sound_w)
- AM_RANGE(0xf000, 0xf0ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xf000, 0xf0ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xf400, 0xf400) AM_WRITE(bg_scrollx_w)
diff --git a/src/mame/drivers/pushman.c b/src/mame/drivers/pushman.c
index f0e3ed7747c..bde9d0369eb 100644
--- a/src/mame/drivers/pushman.c
+++ b/src/mame/drivers/pushman.c
@@ -149,14 +149,14 @@ static MACHINE_RESET( bballs )
static ADDRESS_MAP_START( pushman_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x060000, 0x060007) AM_READWRITE(pushman_68705_r,pushman_68705_w)
- AM_RANGE(0xfe0800, 0xfe17ff) AM_RAM AM_BASE(&spriteram16)
+ AM_RANGE(0xfe0800, 0xfe17ff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0xfe4000, 0xfe4001) AM_READ_PORT("INPUTS") AM_WRITE(pushman_flipscreen_w)
AM_RANGE(0xfe4002, 0xfe4003) AM_READ_PORT("SYSTEM") AM_WRITE(pushman_control_w)
AM_RANGE(0xfe4004, 0xfe4005) AM_READ_PORT("DSW")
AM_RANGE(0xfe8000, 0xfe8003) AM_WRITE(pushman_scroll_w)
AM_RANGE(0xfe800e, 0xfe800f) AM_WRITENOP /* ? */
- AM_RANGE(0xfec000, 0xfec7ff) AM_RAM_WRITE(pushman_videoram_w) AM_BASE(&videoram16)
- AM_RANGE(0xff8000, 0xff87ff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xfec000, 0xfec7ff) AM_RAM_WRITE(pushman_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xff8000, 0xff87ff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xffc000, 0xffffff) AM_RAM
ADDRESS_MAP_END
@@ -182,14 +182,14 @@ static ADDRESS_MAP_START( bballs_map, ADDRESS_SPACE_PROGRAM, 16 )
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
AM_RANGE(0x00000, 0x1ffff) AM_ROM
AM_RANGE(0x60000, 0x60007) AM_READWRITE(bballs_68705_r,bballs_68705_w)
- AM_RANGE(0xe0800, 0xe17ff) AM_RAM AM_BASE(&spriteram16)
+ AM_RANGE(0xe0800, 0xe17ff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0xe4000, 0xe4001) AM_READ_PORT("INPUTS") AM_WRITE(pushman_flipscreen_w)
AM_RANGE(0xe4002, 0xe4003) AM_READ_PORT("SYSTEM") AM_WRITE(pushman_control_w)
AM_RANGE(0xe4004, 0xe4005) AM_READ_PORT("DSW")
AM_RANGE(0xe8000, 0xe8003) AM_WRITE(pushman_scroll_w)
AM_RANGE(0xe800e, 0xe800f) AM_WRITENOP /* ? */
- AM_RANGE(0xec000, 0xec7ff) AM_RAM_WRITE(pushman_videoram_w) AM_BASE(&videoram16)
- AM_RANGE(0xf8000, 0xf87ff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xec000, 0xec7ff) AM_RAM_WRITE(pushman_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xf8000, 0xf87ff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(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 98ae16ac8cf..bad973f6458 100644
--- a/src/mame/drivers/pzletime.c
+++ b/src/mame/drivers/pzletime.c
@@ -89,6 +89,7 @@ static VIDEO_UPDATE( pzletime )
tilemap_draw(bitmap,cliprect,mid_tilemap, 0,0);
{
+ UINT16 *spriteram16 = screen->machine->generic.spriteram.u16;
int offs,spr_offs,colour,sx,sy;
for(offs = 0; offs < 0x2000/2; offs += 4)
@@ -186,12 +187,12 @@ static ADDRESS_MAP_START( pzletime_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x3fffff) AM_ROM
AM_RANGE(0x700000, 0x700005) AM_RAM_WRITE(video_regs_w) AM_BASE(&video_regs)
AM_RANGE(0x800000, 0x800001) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
- AM_RANGE(0x900000, 0x9005ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x900000, 0x9005ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xa00000, 0xa00007) AM_RAM AM_BASE(&tilemap_regs)
AM_RANGE(0xb00000, 0xb3ffff) AM_RAM AM_BASE(&bg_videoram)
AM_RANGE(0xc00000, 0xc00fff) AM_RAM_WRITE(mid_videoram_w) AM_BASE(&mid_videoram)
AM_RANGE(0xc01000, 0xc01fff) AM_RAM_WRITE(txt_videoram_w) AM_BASE(&txt_videoram)
- AM_RANGE(0xd00000, 0xd01fff) AM_RAM AM_BASE(&spriteram16)
+ AM_RANGE(0xd00000, 0xd01fff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0xe00000, 0xe00001) AM_READ_PORT("INPUT") AM_WRITE(eeprom_w)
AM_RANGE(0xe00002, 0xe00003) AM_READ_PORT("SYSTEM") AM_WRITE(ticket_w)
AM_RANGE(0xe00004, 0xe00005) AM_DEVWRITE("oki", oki_bank_w)
diff --git a/src/mame/drivers/qdrmfgp.c b/src/mame/drivers/qdrmfgp.c
index c3835c89057..2b0d2aa5fea 100644
--- a/src/mame/drivers/qdrmfgp.c
+++ b/src/mame/drivers/qdrmfgp.c
@@ -82,7 +82,7 @@ static WRITE16_HANDLER( gp_control_w )
if (control & 0x0100)
{
- int vol = space->machine->generic.nvram.ptr.u16[0x10] & 0xff;
+ int vol = space->machine->generic.nvram.u16[0x10] & 0xff;
if (vol)
{
const device_config *k054539 = devtag_get_device(space->machine, "konami");
@@ -112,7 +112,7 @@ static WRITE16_HANDLER( gp2_control_w )
if (control & 0x0100)
{
- int vol = space->machine->generic.nvram.ptr.u16[0x8] & 0xff;
+ int vol = space->machine->generic.nvram.u16[0x8] & 0xff;
if (vol)
{
const device_config *k054539 = devtag_get_device(space->machine, "konami");
@@ -333,7 +333,7 @@ static ADDRESS_MAP_START( qdrmfgp_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_BASE(&workram) /* work ram */
AM_RANGE(0x180000, 0x183fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) /* backup ram */
- AM_RANGE(0x280000, 0x280fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x280000, 0x280fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x300000, 0x30003f) AM_WRITE(K056832_word_w) /* video reg */
AM_RANGE(0x320000, 0x32001f) AM_READWRITE(K053252_word_r,K053252_word_w) /* ccu */
AM_RANGE(0x330000, 0x330001) AM_READ_PORT("SENSOR") /* battery power & service sw */
@@ -356,7 +356,7 @@ static ADDRESS_MAP_START( qdrmfgp2_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x110fff) AM_RAM AM_BASE(&workram) /* work ram */
AM_RANGE(0x180000, 0x183fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) /* backup ram */
- AM_RANGE(0x280000, 0x280fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x280000, 0x280fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x300000, 0x30003f) AM_WRITE(K056832_word_w) /* video reg */
AM_RANGE(0x320000, 0x32001f) AM_READWRITE(K053252_word_r,K053252_word_w) /* 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 5ac23e691b2..f307ca3e1e4 100644
--- a/src/mame/drivers/quizdna.c
+++ b/src/mame/drivers/quizdna.c
@@ -47,9 +47,9 @@ static ADDRESS_MAP_START( quizdna_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0x9fff) AM_WRITE(quizdna_fg_ram_w)
AM_RANGE(0xa000, 0xbfff) AM_WRITE(quizdna_bg_ram_w)
AM_RANGE(0xc000, 0xdfff) AM_RAM
- AM_RANGE(0xe000, 0xe1ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xe000, 0xe1ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xe200, 0xefff) AM_RAM
- AM_RANGE(0xf000, 0xffff) AM_RAM_WRITE(paletteram_xBGR_RRRR_GGGG_BBBB_w) AM_BASE(&paletteram)
+ AM_RANGE(0xf000, 0xffff) AM_RAM_WRITE(paletteram_xBGR_RRRR_GGGG_BBBB_w) AM_BASE_GENERIC(paletteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( gekiretu_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -58,8 +58,8 @@ static ADDRESS_MAP_START( gekiretu_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0x9fff) AM_WRITE(quizdna_fg_ram_w)
AM_RANGE(0xa000, 0xbfff) AM_WRITE(quizdna_bg_ram_w)
AM_RANGE(0xc000, 0xdfff) AM_RAM
- AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(paletteram_xBGR_RRRR_GGGG_BBBB_w) AM_BASE(&paletteram)
- AM_RANGE(0xf000, 0xf1ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(paletteram_xBGR_RRRR_GGGG_BBBB_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xf000, 0xf1ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xf200, 0xffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/quizo.c b/src/mame/drivers/quizo.c
index 8675334964a..7c6c8bd2fb4 100644
--- a/src/mame/drivers/quizo.c
+++ b/src/mame/drivers/quizo.c
@@ -70,8 +70,8 @@ static VIDEO_UPDATE( quizo )
{
for(x=0;x<80;x++)
{
- int data=videoram[y*80+x];
- int data1=videoram[y*80+x+0x4000];
+ int data=screen->machine->generic.videoram.u8[y*80+x];
+ int data1=screen->machine->generic.videoram.u8[y*80+x+0x4000];
int pix;
pix=(data&1)|(((data>>4)&1)<<1)|((data1&1)<<2)|(((data1>>4)&1)<<3);
@@ -96,7 +96,7 @@ static VIDEO_UPDATE( quizo )
static WRITE8_HANDLER(vram_w)
{
int bank=(port70&8)?1:0;
- videoram[offset+bank*0x4000]=data;
+ space->machine->generic.videoram.u8[offset+bank*0x4000]=data;
}
static WRITE8_HANDLER(port70_w)
@@ -244,7 +244,7 @@ ROM_END
static DRIVER_INIT(quizo)
{
- videoram=auto_alloc_array(machine, UINT8, 0x4000*2);
+ machine->generic.videoram.u8=auto_alloc_array(machine, UINT8, 0x4000*2);
}
GAME( 1985, quizo, 0, quizo, quizo, quizo, ROT0, "Seoul Coin Corp.", "Quiz Olympic (set 1)", 0 )
diff --git a/src/mame/drivers/quizpani.c b/src/mame/drivers/quizpani.c
index 3f3e21e7cec..cc8dc275bef 100644
--- a/src/mame/drivers/quizpani.c
+++ b/src/mame/drivers/quizpani.c
@@ -58,7 +58,7 @@ static ADDRESS_MAP_START( quizpani_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x100018, 0x100019) AM_WRITE(quizpani_tilesbank_w)
AM_RANGE(0x104000, 0x104001) AM_DEVREADWRITE8("oki", okim6295_r,okim6295_w, 0x00ff)
AM_RANGE(0x104020, 0x104027) AM_WRITE(NMK112_okibank_lsb_w)
- AM_RANGE(0x108000, 0x1083ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x108000, 0x1083ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x108400, 0x1085ff) AM_WRITENOP
AM_RANGE(0x10c000, 0x10c007) AM_RAM AM_BASE(&quizpani_scrollreg)
AM_RANGE(0x10c008, 0x10c403) AM_WRITENOP
diff --git a/src/mame/drivers/quizpun2.c b/src/mame/drivers/quizpun2.c
index 524e01ed925..3be1c1c196a 100644
--- a/src/mame/drivers/quizpun2.c
+++ b/src/mame/drivers/quizpun2.c
@@ -298,7 +298,7 @@ static ADDRESS_MAP_START( quizpun2_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE( 0xc000, 0xc7ff ) AM_RAM_WRITE( bg_ram_w ) AM_BASE( &bg_ram ) // 4 * 400
AM_RANGE( 0xc800, 0xcfff ) AM_RAM //
- AM_RANGE( 0xd000, 0xd3ff ) AM_RAM_WRITE( paletteram_xRRRRRGGGGGBBBBB_le_w ) AM_BASE( &paletteram )
+ AM_RANGE( 0xd000, 0xd3ff ) AM_RAM_WRITE( paletteram_xRRRRRGGGGGBBBBB_le_w ) AM_BASE_GENERIC( paletteram )
AM_RANGE( 0xe000, 0xffff ) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/rabbit.c b/src/mame/drivers/rabbit.c
index d3a096b1073..78cad7194c2 100644
--- a/src/mame/drivers/rabbit.c
+++ b/src/mame/drivers/rabbit.c
@@ -449,11 +449,11 @@ static VIDEO_UPDATE(rabbit)
static WRITE32_HANDLER( rabbit_paletteram_dword_w )
{
int r,g,b;
- COMBINE_DATA(&paletteram32[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
- b = ((paletteram32[offset] & 0x000000ff) >>0);
- r = ((paletteram32[offset] & 0x0000ff00) >>8);
- g = ((paletteram32[offset] & 0x00ff0000) >>16);
+ b = ((space->machine->generic.paletteram.u32[offset] & 0x000000ff) >>0);
+ r = ((space->machine->generic.paletteram.u32[offset] & 0x0000ff00) >>8);
+ g = ((space->machine->generic.paletteram.u32[offset] & 0x00ff0000) >>16);
palette_set_color(space->machine,offset,MAKE_RGB(r,g,b));
}
@@ -738,7 +738,7 @@ static ADDRESS_MAP_START( rabbit_map, ADDRESS_SPACE_PROGRAM, 32 )
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(&rabbit_spriteram) // sprites?
- AM_RANGE(0x4a0000, 0x4affff) AM_RAM_WRITE(rabbit_paletteram_dword_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x4a0000, 0x4affff) AM_RAM_WRITE(rabbit_paletteram_dword_w) AM_BASE_GENERIC(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 b3417d5f372..378a7683608 100644
--- a/src/mame/drivers/raiden.c
+++ b/src/mame/drivers/raiden.c
@@ -58,12 +58,12 @@ extern UINT16 *raiden_back_data,*raiden_fore_data,*raiden_scroll_ram;
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00000, 0x06fff) AM_RAM
- AM_RANGE(0x07000, 0x07fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x07000, 0x07fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x0a000, 0x0afff) AM_RAM AM_SHARE(1) AM_BASE(&raiden_shared_ram)
AM_RANGE(0x0b000, 0x0b001) AM_READ_PORT("P1_P2")
AM_RANGE(0x0b002, 0x0b003) AM_READ_PORT("DSW")
AM_RANGE(0x0b000, 0x0b007) AM_WRITE(raiden_control_w)
- AM_RANGE(0x0c000, 0x0c7ff) AM_WRITE(raiden_text_w) AM_BASE(&videoram16)
+ AM_RANGE(0x0c000, 0x0c7ff) AM_WRITE(raiden_text_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x0d000, 0x0d00d) AM_READWRITE(seibu_main_word_r, seibu_main_word_w)
AM_RANGE(0x0d060, 0x0d067) AM_WRITE(SMH_RAM) AM_BASE(&raiden_scroll_ram)
AM_RANGE(0xa0000, 0xfffff) AM_ROM
@@ -73,7 +73,7 @@ static ADDRESS_MAP_START( sub_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00000, 0x01fff) AM_RAM
AM_RANGE(0x02000, 0x027ff) AM_RAM_WRITE(raiden_background_w) AM_BASE(&raiden_back_data)
AM_RANGE(0x02800, 0x02fff) AM_RAM_WRITE(raiden_foreground_w) AM_BASE(&raiden_fore_data)
- AM_RANGE(0x03000, 0x03fff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x03000, 0x03fff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x04000, 0x04fff) AM_RAM AM_SHARE(1)
AM_RANGE(0x07ffe, 0x0afff) AM_WRITENOP
AM_RANGE(0xc0000, 0xfffff) AM_ROM
@@ -83,10 +83,10 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( alt_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00000, 0x06fff) AM_RAM
- AM_RANGE(0x07000, 0x07fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x07000, 0x07fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x08000, 0x08fff) AM_RAM AM_SHARE(1) AM_BASE(&raiden_shared_ram)
AM_RANGE(0x0a000, 0x0a00d) AM_READWRITE(seibu_main_word_r, seibu_main_word_w)
- AM_RANGE(0x0c000, 0x0c7ff) AM_WRITE(raiden_text_w) AM_BASE(&videoram16)
+ AM_RANGE(0x0c000, 0x0c7ff) AM_WRITE(raiden_text_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x0e000, 0x0e001) AM_READ_PORT("P1_P2")
AM_RANGE(0x0e000, 0x0e007) AM_WRITE(raidena_control_w)
AM_RANGE(0x0e002, 0x0e003) AM_READ_PORT("DSW")
diff --git a/src/mame/drivers/raiden2.c b/src/mame/drivers/raiden2.c
index a76edadfb2b..1aaefb9af80 100644
--- a/src/mame/drivers/raiden2.c
+++ b/src/mame/drivers/raiden2.c
@@ -167,8 +167,8 @@ static void combine32(UINT32 *val, int offset, UINT16 data, UINT16 mem_mask)
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect ,int pri_mask )
{
- const UINT16 *source = spriteram16 + 0x1000/2 - 4;
- const UINT16 *finish = spriteram16;
+ const UINT16 *source = machine->generic.spriteram.u16 + 0x1000/2 - 4;
+ const UINT16 *finish = machine->generic.spriteram.u16;
const gfx_element *gfx = machine->gfx[2];
@@ -280,7 +280,7 @@ static WRITE16_HANDLER(raiden2_foreground_w)
static WRITE16_HANDLER(raiden2_text_w)
{
- COMBINE_DATA(&videoram16[offset]);
+ COMBINE_DATA(&space->machine->generic.videoram.u16[offset]);
tilemap_mark_tile_dirty(text_layer, offset);
}
@@ -320,7 +320,7 @@ static TILE_GET_INFO( get_fore_tile_info )
static TILE_GET_INFO( get_text_tile_info )
{
- int tile = videoram16[tile_index];
+ int tile = machine->generic.videoram.u16[tile_index];
int color = (tile>>12)&0xf;
tile &= 0xfff;
@@ -841,15 +841,15 @@ static ADDRESS_MAP_START( raiden2_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00000, 0x0bfff) AM_READWRITE(any_r, any_w) AM_BASE(&mainram)
// AM_RANGE(0x00000, 0x003ff) AM_RAM
- AM_RANGE(0x0c000, 0x0cfff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x0c000, 0x0cfff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x0d000, 0x0d7ff) AM_RAM_WRITE(raiden2_background_w) AM_BASE(&back_data)
AM_RANGE(0x0d800, 0x0dfff) AM_RAM_WRITE(raiden2_foreground_w) AM_BASE(&fore_data)
AM_RANGE(0x0e000, 0x0e7ff) AM_RAM_WRITE(raiden2_midground_w) AM_BASE(&mid_data)
- AM_RANGE(0x0e800, 0x0f7ff) AM_RAM_WRITE(raiden2_text_w) AM_BASE(&videoram16)
+ AM_RANGE(0x0e800, 0x0f7ff) AM_RAM_WRITE(raiden2_text_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x0f800, 0x0ffff) AM_RAM /* Stack area */
AM_RANGE(0x10000, 0x1efff) AM_RAM_WRITE(w1x) AM_BASE(&w1ram)
- AM_RANGE(0x1f000, 0x1ffff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x1f000, 0x1ffff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK(1)
AM_RANGE(0x40000, 0xfffff) AM_ROMBANK(2)
@@ -949,15 +949,15 @@ static ADDRESS_MAP_START( nzerotea_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00000, 0x0bfff) AM_READWRITE(any_r, any_w) AM_BASE(&mainram)
// AM_RANGE(0x00000, 0x003ff) AM_RAM
- AM_RANGE(0x0c000, 0x0cfff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x0c000, 0x0cfff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x0d000, 0x0d7ff) AM_RAM_WRITE(raiden2_background_w) AM_BASE(&back_data)
AM_RANGE(0x0d800, 0x0dfff) AM_RAM_WRITE(raiden2_foreground_w) AM_BASE(&fore_data)
AM_RANGE(0x0e000, 0x0e7ff) AM_RAM_WRITE(raiden2_midground_w) AM_BASE(&mid_data)
- AM_RANGE(0x0e800, 0x0f7ff) AM_RAM_WRITE(raiden2_text_w) AM_BASE(&videoram16)
+ AM_RANGE(0x0e800, 0x0f7ff) AM_RAM_WRITE(raiden2_text_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x0f800, 0x0ffff) AM_RAM /* Stack area */
AM_RANGE(0x10000, 0x1efff) AM_RAM_WRITE(w1x) AM_BASE(&w1ram)
- AM_RANGE(0x1f000, 0x1ffff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x1f000, 0x1ffff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK(1)
AM_RANGE(0x40000, 0xfffff) AM_ROMBANK(2)
@@ -2144,14 +2144,14 @@ static ADDRESS_MAP_START( rdx_v33_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00800, 0x0087f) AM_RAM // copies eeprom here?
AM_RANGE(0x00880, 0x0bfff) AM_RAM
- AM_RANGE(0x0c000, 0x0cfff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x0c000, 0x0cfff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x0d000, 0x0d7ff) AM_RAM_WRITE(raiden2_background_w) AM_BASE(&back_data)
AM_RANGE(0x0d800, 0x0dfff) AM_RAM_WRITE(raiden2_foreground_w) AM_BASE(&fore_data)
AM_RANGE(0x0e000, 0x0e7ff) AM_RAM_WRITE(raiden2_midground_w) AM_BASE(&mid_data)
- AM_RANGE(0x0e800, 0x0f7ff) AM_RAM_WRITE(raiden2_text_w) AM_BASE(&videoram16)
+ AM_RANGE(0x0e800, 0x0f7ff) AM_RAM_WRITE(raiden2_text_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x0f800, 0x0ffff) AM_RAM /* Stack area */
AM_RANGE(0x10000, 0x1efff) AM_RAM
- AM_RANGE(0x1f000, 0x1ffff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x1f000, 0x1ffff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
/* not sure of bank sizes etc. */
AM_RANGE(0x20000, 0x2ffff) AM_ROMBANK(1)
diff --git a/src/mame/drivers/rainbow.c b/src/mame/drivers/rainbow.c
index 0557b991b9d..fe455236a50 100644
--- a/src/mame/drivers/rainbow.c
+++ b/src/mame/drivers/rainbow.c
@@ -356,7 +356,7 @@ static WRITE16_HANDLER( jumping_sound_w )
static ADDRESS_MAP_START( rainbow_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x10c000, 0x10ffff) AM_RAM /* main RAM */
- AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(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(rainbow_spritectrl_w)
@@ -377,7 +377,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( jumping_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x09ffff) AM_ROM
AM_RANGE(0x10c000, 0x10ffff) AM_RAM /* main RAM */
- AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(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")
@@ -388,7 +388,7 @@ static ADDRESS_MAP_START( jumping_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x400006, 0x400007) AM_WRITE(jumping_sound_w)
AM_RANGE(0x420000, 0x420001) AM_READNOP /* read, but result not used */
AM_RANGE(0x430000, 0x430003) AM_WRITE(PC080SN_yscroll_word_0_w)
- AM_RANGE(0x440000, 0x4407ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x440000, 0x4407ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x800000, 0x80ffff) AM_WRITENOP /* original c-chip location (not used) */
AM_RANGE(0xc00000, 0xc0ffff) AM_READWRITE(PC080SN_word_0_r,PC080SN_word_0_w)
AM_RANGE(0xc20000, 0xc20003) AM_WRITENOP /* seems it is a leftover from rainbow: scroll y written here too */
diff --git a/src/mame/drivers/rampart.c b/src/mame/drivers/rampart.c
index aa639939c20..e340fb9971d 100644
--- a/src/mame/drivers/rampart.c
+++ b/src/mame/drivers/rampart.c
@@ -130,7 +130,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x140000, 0x147fff) AM_MIRROR(0x438000) AM_ROM /* slapstic goes here */
AM_RANGE(0x200000, 0x21ffff) AM_RAM AM_BASE(&rampart_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(atarigen_expanded_666_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x3c0000, 0x3c07ff) AM_MIRROR(0x019800) AM_RAM_WRITE(atarigen_expanded_666_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x3e0000, 0x3e07ff) AM_MIRROR(0x010000) AM_RAM_WRITE(atarimo_0_spriteram_w) AM_BASE(&atarimo_0_spriteram)
AM_RANGE(0x3e0800, 0x3e3f3f) AM_MIRROR(0x010000) AM_RAM
AM_RANGE(0x3e3f40, 0x3e3f7f) AM_MIRROR(0x010000) AM_RAM_WRITE(atarimo_0_slipram_w) AM_BASE(&atarimo_0_slipram)
diff --git a/src/mame/drivers/rastan.c b/src/mame/drivers/rastan.c
index e81b29e6260..ecd17c03bf6 100644
--- a/src/mame/drivers/rastan.c
+++ b/src/mame/drivers/rastan.c
@@ -224,7 +224,7 @@ static WRITE8_DEVICE_HANDLER( rastan_msm5205_stop_w )
static ADDRESS_MAP_START( rastan_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x10c000, 0x10ffff) AM_RAM
- AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x350008, 0x350009) AM_WRITENOP /* 0 only (often) ? */
AM_RANGE(0x380000, 0x380001) AM_WRITE(rastan_spritectrl_w) /* sprite palette bank, coin counters & lockout */
AM_RANGE(0x390000, 0x390001) AM_READ_PORT("P1")
diff --git a/src/mame/drivers/rbmk.c b/src/mame/drivers/rbmk.c
index 90c8e1560c8..45033bb7124 100644
--- a/src/mame/drivers/rbmk.c
+++ b/src/mame/drivers/rbmk.c
@@ -99,7 +99,7 @@ static ADDRESS_MAP_START( rbmk_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x500000, 0x50ffff) AM_RAM
AM_RANGE(0x940000, 0x940fff) AM_RAM AM_BASE(&gms_vidram2)
AM_RANGE(0x980300, 0x983fff) AM_RAM // 0x2048 words ???, byte access
- AM_RANGE(0x900000, 0x900fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x900000, 0x900fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x9c0000, 0x9c0fff) AM_RAM AM_BASE(&gms_vidram)
AM_RANGE(0xb00000, 0xb00001) AM_WRITE(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 64aaa08e33a..ebf201075c7 100644
--- a/src/mame/drivers/realbrk.c
+++ b/src/mame/drivers/realbrk.c
@@ -157,8 +157,8 @@ static WRITE16_HANDLER( backup_ram_w )
/*Basic memory map for this HW*/
static ADDRESS_MAP_START( base_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
- AM_RANGE(0x200000, 0x203fff) AM_RAM AM_BASE(&spriteram16) // Sprites
- AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(SMH_RAM,paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16 ) // Palette
+ AM_RANGE(0x200000, 0x203fff) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites
+ AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(SMH_RAM,paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram ) // Palette
AM_RANGE(0x600000, 0x601fff) AM_READWRITE(SMH_RAM,realbrk_vram_0_w) AM_BASE(&realbrk_vram_0 ) // Background (0)
AM_RANGE(0x602000, 0x603fff) AM_READWRITE(SMH_RAM,realbrk_vram_1_w) AM_BASE(&realbrk_vram_1 ) // Background (1)
AM_RANGE(0x604000, 0x604fff) AM_READWRITE(SMH_RAM,realbrk_vram_2_w) AM_BASE(&realbrk_vram_2 ) // Text (2)
diff --git a/src/mame/drivers/redclash.c b/src/mame/drivers/redclash.c
index 2e1ae4b3df7..ec809756a32 100644
--- a/src/mame/drivers/redclash.c
+++ b/src/mame/drivers/redclash.c
@@ -49,8 +49,8 @@ static WRITE8_HANDLER( irqack_w )
static ADDRESS_MAP_START( zerohour_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x3000, 0x37ff) AM_RAM
- AM_RANGE(0x3800, 0x3bff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0x4000, 0x43ff) AM_RAM_WRITE(redclash_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x3800, 0x3bff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x4000, 0x43ff) AM_RAM_WRITE(redclash_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x4800, 0x4800) AM_READ_PORT("IN0") /* IN0 */
AM_RANGE(0x4801, 0x4801) AM_READ_PORT("IN1") /* IN1 */
AM_RANGE(0x4802, 0x4802) AM_READ_PORT("DSW1") /* DSW0 */
@@ -69,7 +69,7 @@ static ADDRESS_MAP_START( redclash_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x2fff) AM_ROM
// AM_RANGE(0x3000, 0x3000) AM_WRITENOP
// AM_RANGE(0x3800, 0x3800) AM_WRITENOP
- AM_RANGE(0x4000, 0x43ff) AM_RAM_WRITE(redclash_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x4000, 0x43ff) AM_RAM_WRITE(redclash_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x4800, 0x4800) AM_READ_PORT("IN0") /* IN0 */
AM_RANGE(0x4801, 0x4801) AM_READ_PORT("IN1") /* IN1 */
AM_RANGE(0x4802, 0x4802) AM_READ_PORT("DSW1") /* DSW0 */
@@ -81,7 +81,7 @@ static ADDRESS_MAP_START( redclash_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x5806, 0x5806) AM_WRITE(redclash_star2_w)
AM_RANGE(0x5807, 0x5807) AM_WRITE(redclash_flipscreen_w)
AM_RANGE(0x6000, 0x67ff) AM_RAM
- AM_RANGE(0x6800, 0x6bff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x6800, 0x6bff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x7000, 0x7000) AM_WRITE(redclash_star_reset_w)
AM_RANGE(0x7800, 0x7800) AM_WRITE(irqack_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/relief.c b/src/mame/drivers/relief.c
index c8f1c1d6faf..6125ab92453 100644
--- a/src/mame/drivers/relief.c
+++ b/src/mame/drivers/relief.c
@@ -159,7 +159,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x260010, 0x260011) AM_READ(special_port2_r)
AM_RANGE(0x260012, 0x260013) AM_READ_PORT("260012")
AM_RANGE(0x2a0000, 0x2a0001) AM_WRITE(watchdog_reset16_w)
- AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_WRITE(atarigen_666_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_WRITE(atarigen_666_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x3effc0, 0x3effff) AM_READWRITE(relief_atarivc_r, relief_atarivc_w) AM_BASE(&atarivc_data)
AM_RANGE(0x3f0000, 0x3f1fff) AM_RAM_WRITE(atarigen_playfield2_latched_msb_w) AM_BASE(&atarigen_playfield2)
AM_RANGE(0x3f2000, 0x3f3fff) AM_RAM_WRITE(atarigen_playfield_latched_lsb_w) AM_BASE(&atarigen_playfield)
diff --git a/src/mame/drivers/renegade.c b/src/mame/drivers/renegade.c
index ced2285d3da..cac216678f0 100644
--- a/src/mame/drivers/renegade.c
+++ b/src/mame/drivers/renegade.c
@@ -538,10 +538,10 @@ static WRITE8_HANDLER( renegade_coin_counter_w )
static ADDRESS_MAP_START( renegade_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x17ff) AM_RAM
AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(renegade_videoram2_w) AM_BASE(&renegade_videoram2)
- AM_RANGE(0x2000, 0x27ff) AM_RAM AM_BASE(&spriteram)
- AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(renegade_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x3000, 0x30ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE(&paletteram)
- AM_RANGE(0x3100, 0x31ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE(&paletteram_2)
+ AM_RANGE(0x2000, 0x27ff) AM_RAM AM_BASE_GENERIC(spriteram)
+ AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(renegade_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x3000, 0x30ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x3100, 0x31ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE_GENERIC(paletteram2)
AM_RANGE(0x3800, 0x3800) AM_READ_PORT("IN0") AM_WRITE(renegade_scroll0_w) /* Player#1 controls, P1,P2 start */
AM_RANGE(0x3801, 0x3801) AM_READ_PORT("IN1") AM_WRITE(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/rmhaihai.c b/src/mame/drivers/rmhaihai.c
index 6db9c17a170..eb8cea09a39 100644
--- a/src/mame/drivers/rmhaihai.c
+++ b/src/mame/drivers/rmhaihai.c
@@ -38,20 +38,20 @@ static tilemap *bg_tilemap;
static WRITE8_HANDLER( rmhaihai_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
static WRITE8_HANDLER( rmhaihai_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
static TILE_GET_INFO( get_bg_tile_info )
{
- int attr = colorram[tile_index];
- int code = videoram[tile_index] + (gfxbank << 12) + ((attr & 0x07) << 8) + ((attr & 0x80) << 4);
+ int attr = machine->generic.colorram.u8[tile_index];
+ int code = machine->generic.videoram.u8[tile_index] + (gfxbank << 12) + ((attr & 0x07) << 8) + ((attr & 0x80) << 4);
int color = (gfxbank << 5) + (attr >> 3);
SET_TILE_INFO(0, code, color, 0);
@@ -174,8 +174,8 @@ static MACHINE_RESET( themj )
static ADDRESS_MAP_START( rmhaihai_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xa000, 0xa7ff) AM_RAM
- AM_RANGE(0xa800, 0xafff) AM_RAM_WRITE(rmhaihai_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0xb000, 0xb7ff) AM_RAM_WRITE(rmhaihai_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0xa800, 0xafff) AM_RAM_WRITE(rmhaihai_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xb000, 0xb7ff) AM_RAM_WRITE(rmhaihai_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0xb83c, 0xb83c) AM_WRITENOP // ??
AM_RANGE(0xbc00, 0xbc00) AM_WRITENOP // ??
AM_RANGE(0xc000, 0xdfff) AM_ROM
@@ -199,8 +199,8 @@ static ADDRESS_MAP_START( themj_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK(1)
AM_RANGE(0xa000, 0xa7ff) AM_RAM
- AM_RANGE(0xa800, 0xafff) AM_RAM_WRITE(rmhaihai_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0xb000, 0xb7ff) AM_RAM_WRITE(rmhaihai_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0xa800, 0xafff) AM_RAM_WRITE(rmhaihai_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xb000, 0xb7ff) AM_RAM_WRITE(rmhaihai_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0xc000, 0xdfff) AM_ROMBANK(2)
AM_RANGE(0xe000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/rockrage.c b/src/mame/drivers/rockrage.c
index afcb99598d9..8e39636fb9d 100644
--- a/src/mame/drivers/rockrage.c
+++ b/src/mame/drivers/rockrage.c
@@ -104,7 +104,7 @@ static ADDRESS_MAP_START( rockrage_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_READWRITE(K007342_r,K007342_w) /* Color RAM + Video RAM */
AM_RANGE(0x2000, 0x21ff) AM_READWRITE(K007420_r,K007420_w) /* Sprite RAM */
AM_RANGE(0x2200, 0x23ff) AM_READWRITE(K007342_scroll_r,K007342_scroll_w) /* Scroll RAM */
- AM_RANGE(0x2400, 0x247f) AM_RAM AM_BASE(&paletteram) /* Palette */
+ AM_RANGE(0x2400, 0x247f) AM_RAM AM_BASE_GENERIC(paletteram) /* Palette */
AM_RANGE(0x2600, 0x2607) AM_WRITE(K007342_vreg_w) /* Video Registers */
AM_RANGE(0x2e00, 0x2e00) AM_READ_PORT("SYSTEM")
AM_RANGE(0x2e01, 0x2e01) AM_READ_PORT("P1")
diff --git a/src/mame/drivers/rocnrope.c b/src/mame/drivers/rocnrope.c
index 215d00e019b..9af31ae0f43 100644
--- a/src/mame/drivers/rocnrope.c
+++ b/src/mame/drivers/rocnrope.c
@@ -40,11 +40,11 @@ static ADDRESS_MAP_START( rocnrope_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x3083, 0x3083) AM_READ_PORT("DSW1")
AM_RANGE(0x3000, 0x3000) AM_READ_PORT("DSW2")
AM_RANGE(0x3100, 0x3100) AM_READ_PORT("DSW3")
- AM_RANGE(0x4000, 0x402f) AM_RAM AM_BASE(&spriteram_2)
- AM_RANGE(0x4400, 0x442f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x4000, 0x402f) AM_RAM AM_BASE_GENERIC(spriteram2)
+ AM_RANGE(0x4400, 0x442f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x4000, 0x47ff) AM_RAM
- AM_RANGE(0x4800, 0x4bff) AM_RAM_WRITE(rocnrope_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0x4c00, 0x4fff) AM_RAM_WRITE(rocnrope_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x4800, 0x4bff) AM_RAM_WRITE(rocnrope_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x4c00, 0x4fff) AM_RAM_WRITE(rocnrope_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x5000, 0x5fff) AM_RAM
AM_RANGE(0x8000, 0x8000) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x8080, 0x8080) AM_WRITE(rocnrope_flipscreen_w)
diff --git a/src/mame/drivers/rohga.c b/src/mame/drivers/rohga.c
index ccf2963b17f..adb3a9f9eca 100644
--- a/src/mame/drivers/rohga.c
+++ b/src/mame/drivers/rohga.c
@@ -165,8 +165,8 @@ static ADDRESS_MAP_START( rohga_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x3cc000, 0x3ccfff) AM_MIRROR(0x1000) AM_RAM AM_BASE(&deco16_pf3_rowscroll)
AM_RANGE(0x3ce000, 0x3cefff) AM_MIRROR(0x1000) AM_RAM AM_BASE(&deco16_pf4_rowscroll)
- AM_RANGE(0x3d0000, 0x3d07ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0x3e0000, 0x3e1fff) AM_RAM_WRITE(deco16_buffered_palette_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x3d0000, 0x3d07ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x3e0000, 0x3e1fff) AM_RAM_WRITE(deco16_buffered_palette_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x3f0000, 0x3f3fff) AM_RAM /* Main ram */
ADDRESS_MAP_END
@@ -189,12 +189,12 @@ static ADDRESS_MAP_START( wizdfire_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x320002, 0x320003) AM_WRITENOP /* ? */
AM_RANGE(0x320004, 0x320005) AM_WRITE(wizdfire_irq_ack_w) /* VBL IRQ ack */
- AM_RANGE(0x340000, 0x3407ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x340000, 0x3407ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x350000, 0x350001) AM_WRITE(buffer_spriteram16_w) /* Triggers DMA for spriteram */
- AM_RANGE(0x360000, 0x3607ff) AM_RAM AM_BASE(&spriteram16_2) AM_SIZE(&spriteram_2_size)
+ AM_RANGE(0x360000, 0x3607ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram2)
AM_RANGE(0x370000, 0x370001) AM_WRITE(buffer_spriteram16_2_w) /* Triggers DMA for spriteram */
- AM_RANGE(0x380000, 0x381fff) AM_RAM_WRITE(deco16_buffered_palette_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x380000, 0x381fff) AM_RAM_WRITE(deco16_buffered_palette_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x390008, 0x390009) AM_WRITE(deco16_palette_dma_w)
AM_RANGE(0xfe4000, 0xfe47ff) AM_READWRITE(deco16_104_prot_r,deco16_104_prot_w) AM_BASE(&deco16_prot_ram) /* Protection device */
@@ -221,12 +221,12 @@ static ADDRESS_MAP_START( nitrobal_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x320002, 0x320003) AM_WRITENOP /* ? */
AM_RANGE(0x320004, 0x320005) AM_WRITE(wizdfire_irq_ack_w) /* VBL IRQ ack */
- AM_RANGE(0x340000, 0x3407ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x340000, 0x3407ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x350000, 0x350001) AM_WRITE(buffer_spriteram16_w) /* Triggers DMA for spriteram */
- AM_RANGE(0x360000, 0x3607ff) AM_RAM AM_BASE(&spriteram16_2) AM_SIZE(&spriteram_2_size)
+ AM_RANGE(0x360000, 0x3607ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram2)
AM_RANGE(0x370000, 0x370001) AM_WRITE(buffer_spriteram16_2_w) /* Triggers DMA for spriteram */
- AM_RANGE(0x380000, 0x381fff) AM_RAM_WRITE(deco16_buffered_palette_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x380000, 0x381fff) AM_RAM_WRITE(deco16_buffered_palette_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x390008, 0x390009) AM_WRITE(deco16_palette_dma_w)
AM_RANGE(0xfec000, 0xff3fff) AM_RAM
@@ -258,8 +258,8 @@ static ADDRESS_MAP_START( schmeisr_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x3cc000, 0x3ccfff) AM_MIRROR(0x1000) AM_RAM AM_BASE(&deco16_pf3_rowscroll)
AM_RANGE(0x3ce000, 0x3cefff) AM_MIRROR(0x1000) AM_RAM AM_BASE(&deco16_pf4_rowscroll)
- AM_RANGE(0x3d0000, 0x3d07ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0x3e0000, 0x3e1fff) AM_MIRROR(0x2000) AM_RAM_WRITE(deco16_buffered_palette_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x3d0000, 0x3d07ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x3e0000, 0x3e1fff) AM_MIRROR(0x2000) AM_RAM_WRITE(deco16_buffered_palette_w) AM_BASE_GENERIC(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 d2483f96942..cd11de74d85 100644
--- a/src/mame/drivers/rollerg.c
+++ b/src/mame/drivers/rollerg.c
@@ -96,7 +96,7 @@ static ADDRESS_MAP_START( rollerg_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0300, 0x030f) AM_READWRITE(K053244_r,K053244_w)
AM_RANGE(0x0800, 0x0fff) AM_READWRITE(rollerg_K051316_r,K051316_0_w)
AM_RANGE(0x1000, 0x17ff) AM_READWRITE(K053245_r,K053245_w)
- AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_be_w) AM_BASE(&paletteram)
+ AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_be_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x2000, 0x3aff) AM_RAM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK(1)
AM_RANGE(0x8000, 0xffff) AM_ROM
diff --git a/src/mame/drivers/rollrace.c b/src/mame/drivers/rollrace.c
index a178e005533..a7841cef2bb 100644
--- a/src/mame/drivers/rollrace.c
+++ b/src/mame/drivers/rollrace.c
@@ -40,11 +40,11 @@ static ADDRESS_MAP_START( rollrace_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xd806, 0xd806) AM_READNOP /* looks like a watchdog, bit4 checked*/
AM_RANGE(0xd900, 0xd900) AM_READWRITE(ra_fake_d800_r,ra_fake_d800_w) /* protection ??*/
- AM_RANGE(0xe000, 0xe3ff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0xe400, 0xe47f) AM_RAM AM_BASE(&colorram)
+ AM_RANGE(0xe000, 0xe3ff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0xe400, 0xe47f) AM_RAM AM_BASE_GENERIC(colorram)
AM_RANGE(0xe800, 0xe800) AM_WRITE(soundlatch_w)
AM_RANGE(0xec00, 0xec0f) AM_NOP /* Analog sound effects ?? ec00 sound enable ?*/
- AM_RANGE(0xf000, 0xf0ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xf000, 0xf0ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xf400, 0xf400) AM_WRITE(rollrace_backgroundcolor_w)
AM_RANGE(0xf800, 0xf800) AM_READ_PORT("P1")
AM_RANGE(0xf801, 0xf801) AM_READ_PORT("P2") AM_WRITE(rollrace_bkgpen_w)
diff --git a/src/mame/drivers/royalmah.c b/src/mame/drivers/royalmah.c
index 1ea09f847a4..c1209f00e79 100644
--- a/src/mame/drivers/royalmah.c
+++ b/src/mame/drivers/royalmah.c
@@ -192,8 +192,8 @@ static VIDEO_UPDATE( royalmah )
{
int i;
- UINT8 data1 = videoram[offs + 0x0000];
- UINT8 data2 = videoram[offs + 0x4000];
+ UINT8 data1 = screen->machine->generic.videoram.u8[offs + 0x0000];
+ UINT8 data2 = screen->machine->generic.videoram.u8[offs + 0x4000];
UINT8 y = 255 - (offs >> 6);
UINT8 x = 255 - (offs << 2);
@@ -423,7 +423,7 @@ static ADDRESS_MAP_START( royalmah_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE( 0x0000, 0x6fff ) AM_READWRITE( SMH_ROM, royalmah_rom_w )
AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
AM_RANGE( 0x8000, 0xffff ) AM_READ( SMH_BANK(1) ) // banked ROMs not present in royalmah
- AM_RANGE( 0x8000, 0xffff ) AM_WRITE( SMH_RAM ) AM_BASE(&videoram)
+ AM_RANGE( 0x8000, 0xffff ) AM_WRITE( SMH_RAM ) AM_BASE_GENERIC(videoram)
ADDRESS_MAP_END
@@ -433,7 +433,7 @@ static ADDRESS_MAP_START( mjapinky_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE( 0x7800, 0x7fff ) AM_RAM
AM_RANGE( 0x8000, 0x8000 ) AM_READ( mjapinky_dsw_r )
AM_RANGE( 0x8000, 0xffff ) AM_READ( SMH_BANK(1) )
- AM_RANGE( 0x8000, 0xffff ) AM_WRITE( SMH_RAM ) AM_BASE(&videoram)
+ AM_RANGE( 0x8000, 0xffff ) AM_WRITE( SMH_RAM ) AM_BASE_GENERIC(videoram)
ADDRESS_MAP_END
@@ -565,7 +565,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( janho_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE( 0x0000, 0x6fff ) AM_READWRITE( SMH_ROM, royalmah_rom_w )
AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE(1) AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE( 0x8000, 0xffff ) AM_WRITE( SMH_RAM ) AM_BASE(&videoram)
+ AM_RANGE( 0x8000, 0xffff ) AM_WRITE( SMH_RAM ) AM_BASE_GENERIC(videoram)
ADDRESS_MAP_END
@@ -687,7 +687,7 @@ static ADDRESS_MAP_START( jansou_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE( 0x6800, 0x6800 ) AM_WRITE(jansou_sound_w)
AM_RANGE( 0x7000, 0x77ff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE( 0x8000, 0xffff ) AM_WRITE( SMH_RAM ) AM_BASE(&videoram)
+ AM_RANGE( 0x8000, 0xffff ) AM_WRITE( SMH_RAM ) AM_BASE_GENERIC(videoram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( jansou_sub_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -710,7 +710,7 @@ static ADDRESS_MAP_START( janptr96_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE( 0x6000, 0x6fff ) AM_RAMBANK(3) // nvram
AM_RANGE( 0x7000, 0x7fff ) AM_RAMBANK(2) // banked nvram
AM_RANGE( 0x8000, 0xffff ) AM_READ(SMH_BANK(1))
- AM_RANGE( 0x8000, 0xffff ) AM_WRITE(SMH_RAM) AM_BASE(&videoram)
+ AM_RANGE( 0x8000, 0xffff ) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(videoram)
ADDRESS_MAP_END
static WRITE8_HANDLER( janptr96_dswsel_w )
@@ -743,7 +743,7 @@ static WRITE8_HANDLER( janptr96_rombank_w )
static WRITE8_HANDLER( janptr96_rambank_w )
{
- memory_set_bankptr(space->machine, 2,space->machine->generic.nvram.ptr.u8 + 0x1000 + 0x1000 * data);
+ memory_set_bankptr(space->machine, 2,space->machine->generic.nvram.u8 + 0x1000 + 0x1000 * data);
}
static READ8_HANDLER( janptr96_unknown_r )
@@ -810,7 +810,7 @@ static WRITE8_HANDLER( mjifb_rom_io_w )
{
if (mjifb_rom_enable)
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
return;
}
@@ -835,13 +835,13 @@ static WRITE8_HANDLER( mjifb_rom_io_w )
static WRITE8_HANDLER( mjifb_videoram_w )
{
- videoram[offset + 0x4000] = data;
+ space->machine->generic.videoram.u8[offset + 0x4000] = data;
}
static ADDRESS_MAP_START( mjifb_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE( 0x0000, 0x6fff ) AM_ROM
AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE( 0x8000, 0xbfff ) AM_READWRITE(mjifb_rom_io_r, mjifb_rom_io_w) AM_BASE(&videoram)
+ AM_RANGE( 0x8000, 0xbfff ) AM_READWRITE(mjifb_rom_io_r, mjifb_rom_io_w) AM_BASE_GENERIC(videoram)
AM_RANGE( 0xc000, 0xffff ) AM_READWRITE(SMH_ROM, mjifb_videoram_w)
// AM_RANGE( 0xc000, 0xffff ) AM_READWRITE(SMH_ROM, SMH_RAM) This should, but doesn't work
ADDRESS_MAP_END
@@ -917,7 +917,7 @@ static WRITE8_HANDLER( mjdejavu_rom_io_w )
{
if (mjifb_rom_enable)
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
return;
}
@@ -940,7 +940,7 @@ static WRITE8_HANDLER( mjdejavu_rom_io_w )
static ADDRESS_MAP_START( mjdejavu_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE( 0x0000, 0x6fff ) AM_ROM
AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE( 0x8000, 0xbfff ) AM_READWRITE(mjdejavu_rom_io_r, mjdejavu_rom_io_w) AM_BASE(&videoram)
+ AM_RANGE( 0x8000, 0xbfff ) AM_READWRITE(mjdejavu_rom_io_r, mjdejavu_rom_io_w) AM_BASE_GENERIC(videoram)
AM_RANGE( 0xc000, 0xffff ) AM_READWRITE(SMH_ROM, mjifb_videoram_w)
ADDRESS_MAP_END
@@ -982,7 +982,7 @@ static ADDRESS_MAP_START( mjtensin_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE( 0x6ff3, 0x6ff3 ) AM_WRITE( mjtensin_6ff3_w )
AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
AM_RANGE( 0x8000, 0xffff ) AM_READ( SMH_BANK(1) )
- AM_RANGE( 0x8000, 0xffff ) AM_WRITE( SMH_RAM ) AM_BASE(&videoram)
+ AM_RANGE( 0x8000, 0xffff ) AM_WRITE( SMH_RAM ) AM_BASE_GENERIC(videoram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( mjtensin_iomap, ADDRESS_SPACE_IO, 8 )
@@ -1052,7 +1052,7 @@ static ADDRESS_MAP_START( cafetime_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE( 0x7fe4, 0x7fe4 ) AM_READ( cafetime_7fe4_r )
AM_RANGE( 0x7ff0, 0x7fff ) AM_DEVREADWRITE("rtc", msm6242_r, msm6242_w)
AM_RANGE( 0x8000, 0xffff ) AM_READ( SMH_BANK(1) )
- AM_RANGE( 0x8000, 0xffff ) AM_WRITE( SMH_RAM ) AM_BASE(&videoram)
+ AM_RANGE( 0x8000, 0xffff ) AM_WRITE( SMH_RAM ) AM_BASE_GENERIC(videoram)
ADDRESS_MAP_END
@@ -1117,7 +1117,7 @@ static WRITE8_HANDLER( mjvegasa_rom_io_w )
{
if ((rombank & 0x70) != 0x70)
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
return;
}
@@ -1173,7 +1173,7 @@ static ADDRESS_MAP_START( mjvegasa_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE( 0x00000, 0x05fff ) AM_ROM
AM_RANGE( 0x06000, 0x07fff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE( 0x08000, 0x0ffff ) AM_READWRITE(mjvegasa_rom_io_r, mjvegasa_rom_io_w) AM_BASE(&videoram)
+ AM_RANGE( 0x08000, 0x0ffff ) AM_READWRITE(mjvegasa_rom_io_r, mjvegasa_rom_io_w) AM_BASE_GENERIC(videoram)
AM_RANGE( 0x10001, 0x10001 ) AM_DEVREAD( "aysnd", ay8910_r )
AM_RANGE( 0x10002, 0x10003 ) AM_DEVWRITE( "aysnd", ay8910_data_address_w )
@@ -4613,10 +4613,10 @@ static DRIVER_INIT( ippatsu ) { memory_set_bankptr(machine, 1, memory_region(mac
static DRIVER_INIT( janptr96 )
{
- machine->generic.nvram.size = 0x1000 * 9;
- machine->generic.nvram.ptr.u8 = auto_alloc_array(machine, UINT8, machine->generic.nvram.size );
+ machine->generic.nvram_size = 0x1000 * 9;
+ machine->generic.nvram.u8 = auto_alloc_array(machine, UINT8, machine->generic.nvram_size );
- memory_set_bankptr(machine, 3,machine->generic.nvram.ptr.u8);
+ memory_set_bankptr(machine, 3,machine->generic.nvram.u8);
}
GAME( 1981, royalmj, 0, royalmah, royalmah, 0, ROT0, "Nichibutsu", "Royal Mahjong (Japan, v1.13)", 0 )
diff --git a/src/mame/drivers/rpunch.c b/src/mame/drivers/rpunch.c
index 6d46f0f8116..bedcd25756a 100644
--- a/src/mame/drivers/rpunch.c
+++ b/src/mame/drivers/rpunch.c
@@ -244,9 +244,9 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x04ffff) AM_RAM AM_BASE(&rpunch_bitmapram) AM_SIZE(&rpunch_bitmapram_size)
- AM_RANGE(0x060000, 0x060fff) AM_RAM AM_BASE(&spriteram16)
- AM_RANGE(0x080000, 0x083fff) AM_RAM_WRITE(rpunch_videoram_w) AM_BASE(&videoram16) AM_SIZE(&videoram_size)
- AM_RANGE(0x0a0000, 0x0a07ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x060000, 0x060fff) AM_RAM AM_BASE_GENERIC(spriteram)
+ AM_RANGE(0x080000, 0x083fff) AM_RAM_WRITE(rpunch_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x0a0000, 0x0a07ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x0c0000, 0x0c0007) AM_WRITE(rpunch_scrollreg_w)
AM_RANGE(0x0c0008, 0x0c0009) AM_WRITE(rpunch_crtc_data_w)
AM_RANGE(0x0c000c, 0x0c000d) AM_WRITE(rpunch_videoreg_w)
diff --git a/src/mame/drivers/rungun.c b/src/mame/drivers/rungun.c
index e115539ed46..cf005d6e42a 100644
--- a/src/mame/drivers/rungun.c
+++ b/src/mame/drivers/rungun.c
@@ -208,7 +208,7 @@ static INTERRUPT_GEN(rng_interrupt)
static ADDRESS_MAP_START( rungun_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x2fffff) AM_ROM // main program + data
- AM_RANGE(0x300000, 0x3007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x300000, 0x3007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x380000, 0x39ffff) AM_RAM // work RAM
AM_RANGE(0x400000, 0x43ffff) AM_READNOP // AM_READ( K053936_0_rom_r ) // '936 ROM readback window
AM_RANGE(0x480000, 0x48001f) AM_READWRITE(rng_sysregs_r,rng_sysregs_w) AM_BASE(&rng_sysreg)
diff --git a/src/mame/drivers/sandscrp.c b/src/mame/drivers/sandscrp.c
index 6aeccc7b24b..7634e32d0e2 100644
--- a/src/mame/drivers/sandscrp.c
+++ b/src/mame/drivers/sandscrp.c
@@ -214,7 +214,7 @@ static ADDRESS_MAP_START( sandscrp, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x402000, 0x402fff) AM_RAM AM_BASE(&kaneko16_vscroll_1) //
AM_RANGE(0x403000, 0x403fff) AM_RAM AM_BASE(&kaneko16_vscroll_0) //
AM_RANGE(0x500000, 0x501fff) AM_READWRITE(pandora_spriteram_LSB_r, pandora_spriteram_LSB_w ) // sprites
- AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE(&paletteram16) // Palette
+ AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE(0xa00000, 0xa00001) AM_WRITE(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/sauro.c b/src/mame/drivers/sauro.c
index 4ffd31bdad2..1133dda879d 100644
--- a/src/mame/drivers/sauro.c
+++ b/src/mame/drivers/sauro.c
@@ -137,7 +137,7 @@ static WRITE8_DEVICE_HANDLER( adpcm_w )
static ADDRESS_MAP_START( sauro_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0xe800, 0xebff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xe800, 0xebff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE(tecfri_videoram_w) AM_BASE(&tecfri_videoram)
AM_RANGE(0xf400, 0xf7ff) AM_RAM_WRITE(tecfri_colorram_w) AM_BASE(&tecfri_colorram)
AM_RANGE(0xf800, 0xfbff) AM_RAM_WRITE(tecfri_videoram2_w) AM_BASE(&tecfri_videoram2)
@@ -183,7 +183,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( trckydoc_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0xe800, 0xebff) AM_RAM AM_MIRROR(0x400) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xe800, 0xebff) AM_RAM AM_MIRROR(0x400) AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE(tecfri_videoram_w) AM_BASE(&tecfri_videoram)
AM_RANGE(0xf400, 0xf7ff) AM_RAM_WRITE(tecfri_colorram_w) AM_BASE(&tecfri_colorram)
AM_RANGE(0xf800, 0xf800) AM_READ_PORT("DSW1")
diff --git a/src/mame/drivers/sbasketb.c b/src/mame/drivers/sbasketb.c
index 2802517bf33..506296e1b62 100644
--- a/src/mame/drivers/sbasketb.c
+++ b/src/mame/drivers/sbasketb.c
@@ -74,9 +74,9 @@ static WRITE8_HANDLER( sbasketb_coin_counter_w )
static ADDRESS_MAP_START( sbasketb_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x2000, 0x2fff) AM_RAM
- AM_RANGE(0x3000, 0x33ff) AM_RAM_WRITE(sbasketb_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0x3400, 0x37ff) AM_RAM_WRITE(sbasketb_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x3800, 0x39ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x3000, 0x33ff) AM_RAM_WRITE(sbasketb_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x3400, 0x37ff) AM_RAM_WRITE(sbasketb_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x3800, 0x39ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x3a00, 0x3bff) AM_RAM /* Probably unused, but initialized */
AM_RANGE(0x3c00, 0x3c00) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x3c10, 0x3c10) AM_READNOP /* ???? */
diff --git a/src/mame/drivers/sbowling.c b/src/mame/drivers/sbowling.c
index 00f1e5b4197..b5c3bf470dc 100644
--- a/src/mame/drivers/sbowling.c
+++ b/src/mame/drivers/sbowling.c
@@ -76,15 +76,15 @@ static WRITE8_HANDLER( sbw_videoram_w )
int flip = flip_screen_get(space->machine);
int x,y,i,v1,v2;
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
offset &= 0x1fff;
y = offset / 32;
x = (offset % 32) * 8;
- v1 = videoram[offset];
- v2 = videoram[offset+0x2000];
+ v1 = space->machine->generic.videoram.u8[offset];
+ v2 = space->machine->generic.videoram.u8[offset+0x2000];
for(i = 0; i < 8; i++)
{
@@ -154,8 +154,8 @@ static WRITE8_HANDLER (system_w)
if((sbw_system^data)&1)
{
int offs;
- for (offs = 0;offs < videoram_size; offs++)
- sbw_videoram_w(space, offs, videoram[offs]);
+ for (offs = 0;offs < space->machine->generic.videoram_size; offs++)
+ sbw_videoram_w(space, offs, space->machine->generic.videoram.u8[offs]);
}
sbw_system = data;
}
@@ -186,7 +186,7 @@ static READ8_HANDLER (controls_r)
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x2fff) AM_ROM
- AM_RANGE(0x8000, 0xbfff) AM_RAM_WRITE(sbw_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x8000, 0xbfff) AM_RAM_WRITE(sbw_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0xf800, 0xf801) AM_DEVWRITE("aysnd", ay8910_address_data_w)
AM_RANGE(0xf801, 0xf801) AM_DEVREAD("aysnd", ay8910_r)
AM_RANGE(0xfc00, 0xffff) AM_RAM
diff --git a/src/mame/drivers/sbrkout.c b/src/mame/drivers/sbrkout.c
index cb7068a2dd9..46b4675c043 100644
--- a/src/mame/drivers/sbrkout.c
+++ b/src/mame/drivers/sbrkout.c
@@ -85,7 +85,7 @@ static TIMER_CALLBACK( pot_trigger_callback );
static MACHINE_START( sbrkout )
{
- memory_set_bankptr(machine, 1, &videoram[0x380]);
+ memory_set_bankptr(machine, 1, &machine->generic.videoram.u8[0x380]);
scanline_timer = timer_alloc(machine, scanline_callback, NULL);
pot_timer = timer_alloc(machine, pot_trigger_callback, NULL);
@@ -120,7 +120,7 @@ static TIMER_CALLBACK( scanline_callback )
cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
/* update the DAC state */
- dac_data_w(devtag_get_device(machine, "dac"), (videoram[0x380 + 0x11] & (scanline >> 2)) ? 255 : 0);
+ dac_data_w(devtag_get_device(machine, "dac"), (machine->generic.videoram.u8[0x380 + 0x11] & (scanline >> 2)) ? 255 : 0);
/* on the VBLANK, read the pot and schedule an interrupt time for it */
if (scanline == video_screen_get_visible_area(machine->primary_screen)->max_y + 1)
@@ -279,7 +279,7 @@ static READ8_HANDLER( sync2_r )
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = (videoram[tile_index] & 0x80) ? videoram[tile_index] : 0;
+ int code = (machine->generic.videoram.u8[tile_index] & 0x80) ? machine->generic.videoram.u8[tile_index] : 0;
SET_TILE_INFO(0, code, 0, 0);
}
@@ -292,7 +292,7 @@ static VIDEO_START( sbrkout )
static WRITE8_HANDLER( sbrkout_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -312,9 +312,9 @@ static VIDEO_UPDATE( sbrkout )
for (ball = 2; ball >= 0; ball--)
{
- int code = ((videoram[0x380 + 0x18 + ball * 2 + 1] & 0x80) >> 7);
- int sx = 31 * 8 - videoram[0x380 + 0x10 + ball * 2];
- int sy = 30 * 8 - videoram[0x380 + 0x18 + ball * 2];
+ int code = ((screen->machine->generic.videoram.u8[0x380 + 0x18 + ball * 2 + 1] & 0x80) >> 7);
+ int sx = 31 * 8 - screen->machine->generic.videoram.u8[0x380 + 0x10 + ball * 2];
+ int sy = 30 * 8 - screen->machine->generic.videoram.u8[0x380 + 0x18 + ball * 2];
drawgfx_transpen(bitmap, cliprect, screen->machine->gfx[1], code, 0, 0, 0, sx, sy, 0);
}
@@ -333,7 +333,7 @@ static VIDEO_UPDATE( sbrkout )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x380) AM_RAMBANK(1)
- AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(sbrkout_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(sbrkout_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x0800, 0x083f) AM_READ(switches_r)
AM_RANGE(0x0840, 0x0840) AM_MIRROR(0x003f) AM_READ_PORT("COIN")
AM_RANGE(0x0880, 0x0880) AM_MIRROR(0x003f) AM_READ_PORT("START")
diff --git a/src/mame/drivers/scotrsht.c b/src/mame/drivers/scotrsht.c
index 819c2c6f481..0253e092c1f 100644
--- a/src/mame/drivers/scotrsht.c
+++ b/src/mame/drivers/scotrsht.c
@@ -70,9 +70,9 @@ static WRITE8_HANDLER( scotrsht_soundlatch_w )
}
static ADDRESS_MAP_START( scotrsht_map, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x07ff) AM_RAM_WRITE(scotrsht_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(scotrsht_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x1000, 0x10bf) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) /* sprites */
+ AM_RANGE(0x0000, 0x07ff) AM_RAM_WRITE(scotrsht_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(scotrsht_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x1000, 0x10bf) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* sprites */
AM_RANGE(0x10c0, 0x1fff) AM_RAM /* work ram */
AM_RANGE(0x2000, 0x201f) AM_RAM AM_BASE(&scotrsht_scroll) /* scroll registers */
AM_RANGE(0x2040, 0x2040) AM_WRITENOP
diff --git a/src/mame/drivers/scregg.c b/src/mame/drivers/scregg.c
index 502ebfd1a3c..34081752df5 100644
--- a/src/mame/drivers/scregg.c
+++ b/src/mame/drivers/scregg.c
@@ -57,7 +57,7 @@ it as ASCII text.
static ADDRESS_MAP_START( dommy_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x07ff) AM_RAM
- AM_RANGE(0x2000, 0x23ff) AM_RAM AM_BASE_MEMBER(btime_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x2000, 0x23ff) AM_RAM AM_BASE_MEMBER(btime_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x2400, 0x27ff) AM_RAM AM_BASE_MEMBER(btime_state, colorram)
AM_RANGE(0x2800, 0x2bff) AM_READWRITE(btime_mirrorvideoram_r, btime_mirrorvideoram_w)
AM_RANGE(0x4000, 0x4000) AM_READ_PORT("DSW1") AM_WRITENOP
@@ -73,7 +73,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( eggs_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x07ff) AM_RAM
- AM_RANGE(0x1000, 0x13ff) AM_RAM AM_BASE_MEMBER(btime_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x1000, 0x13ff) AM_RAM AM_BASE_MEMBER(btime_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x1400, 0x17ff) AM_RAM AM_BASE_MEMBER(btime_state, colorram)
AM_RANGE(0x1800, 0x1bff) AM_READWRITE(btime_mirrorvideoram_r,btime_mirrorvideoram_w)
AM_RANGE(0x1c00, 0x1fff) AM_READWRITE(btime_mirrorcolorram_r,btime_mirrorcolorram_w)
diff --git a/src/mame/drivers/sderby.c b/src/mame/drivers/sderby.c
index 788d24991ff..f9a3d35b920 100644
--- a/src/mame/drivers/sderby.c
+++ b/src/mame/drivers/sderby.c
@@ -292,11 +292,11 @@ static ADDRESS_MAP_START( sderby_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x104000, 0x10400b) AM_WRITE(sderby_scroll_w)
AM_RANGE(0x10400c, 0x10400d) AM_WRITENOP /* ??? - check code at 0x000456 (executed once at startup) */
AM_RANGE(0x10400e, 0x10400f) AM_WRITENOP /* ??? - check code at 0x000524 (executed once at startup) */
- AM_RANGE(0x200000, 0x200fff) AM_RAM AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x200000, 0x200fff) AM_RAM AM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram)
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_r, okim6295_w, 0x00ff)
- AM_RANGE(0x380000, 0x380fff) AM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x380000, 0x380fff) AM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x500000, 0x500001) AM_WRITENOP /* unknown... write 0x01 in game, and 0x00 on reset */
AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
AM_RANGE(0xffc000, 0xffffff) AM_RAM
@@ -315,9 +315,9 @@ static ADDRESS_MAP_START( spacewin_map, ADDRESS_SPACE_PROGRAM, 16 )
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_r, okim6295_w, 0x00ff)
- AM_RANGE(0x380000, 0x380fff) AM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x380000, 0x380fff) AM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xd00000, 0xd001ff) AM_RAM
- AM_RANGE(0x800000, 0x800fff) AM_RAM AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x800000, 0x800fff) AM_RAM AM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x801000, 0x80100d) AM_WRITENOP /* unknown */
AM_RANGE(0x8f0000, 0x8f07ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) /* 16K Dallas DS1220Y-200 NVRAM */
AM_RANGE(0x8fc000, 0x8fffff) AM_RAM
@@ -325,7 +325,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( roulette_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
- AM_RANGE(0x440000, 0x440fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x440000, 0x440fff) AM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE(sderby_videoram_w) AM_BASE(&sderby_videoram) /* bg */
AM_RANGE(0x501000, 0x501fff) AM_RAM_WRITE(sderby_md_videoram_w) AM_BASE(&sderby_md_videoram) /* mid */
AM_RANGE(0x502000, 0x503fff) AM_RAM_WRITE(sderby_fg_videoram_w) AM_BASE(&sderby_fg_videoram) /* fg */
@@ -337,7 +337,7 @@ static ADDRESS_MAP_START( roulette_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x70800a, 0x70800b) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 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(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x780000, 0x780fff) AM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xff0000, 0xff07ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
AM_RANGE(0xffc000, 0xffffff) AM_RAM
diff --git a/src/mame/drivers/seattle.c b/src/mame/drivers/seattle.c
index 3d000a798f7..e8ca5d9d566 100644
--- a/src/mame/drivers/seattle.c
+++ b/src/mame/drivers/seattle.c
@@ -1575,14 +1575,14 @@ static WRITE32_DEVICE_HANDLER( widget_w )
static WRITE32_HANDLER( cmos_w )
{
if (cmos_write_enabled)
- COMBINE_DATA(space->machine->generic.nvram.ptr.u32 + offset);
+ COMBINE_DATA(space->machine->generic.nvram.u32 + offset);
cmos_write_enabled = FALSE;
}
static READ32_HANDLER( cmos_r )
{
- return space->machine->generic.nvram.ptr.u32[offset];
+ return space->machine->generic.nvram.u32[offset];
}
diff --git a/src/mame/drivers/segac2.c b/src/mame/drivers/segac2.c
index da51afe0973..51c8f73828f 100644
--- a/src/mame/drivers/segac2.c
+++ b/src/mame/drivers/segac2.c
@@ -131,7 +131,7 @@ static MACHINE_START( segac2 )
static MACHINE_RESET( segac2 )
{
- megadrive_ram = machine->generic.nvram.ptr.u16;
+ megadrive_ram = machine->generic.nvram.u16;
/* set up interrupts and such */
MACHINE_RESET_CALL(megadriv);
@@ -212,7 +212,7 @@ static READ16_HANDLER( palette_r )
offset &= 0x1ff;
if (segac2_alt_palette_mode)
offset = ((offset << 1) & 0x100) | ((offset << 2) & 0x80) | ((~offset >> 2) & 0x40) | ((offset >> 1) & 0x20) | (offset & 0x1f);
- return paletteram16[offset + palbank * 0x200];
+ return space->machine->generic.paletteram.u16[offset + palbank * 0x200];
}
/* handle writes to the paletteram */
@@ -228,8 +228,8 @@ static WRITE16_HANDLER( palette_w )
offset += palbank * 0x200;
/* combine data */
- COMBINE_DATA(&paletteram16[offset]);
- newword = paletteram16[offset];
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
+ newword = space->machine->generic.paletteram.u16[offset];
/* up to 8 bits */
r = ((newword << 1) & 0x1e) | ((newword >> 12) & 0x01);
@@ -627,7 +627,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x840000, 0x84001f) AM_MIRROR(0x13fee0) AM_READWRITE(io_chip_r, io_chip_w)
AM_RANGE(0x840100, 0x840107) AM_MIRROR(0x13fef8) AM_DEVREADWRITE8("ymsnd", ym3438_r, ym3438_w, 0x00ff)
AM_RANGE(0x880100, 0x880101) AM_MIRROR(0x13fefe) AM_WRITE(counter_timer_w)
- AM_RANGE(0x8c0000, 0x8c0fff) AM_MIRROR(0x13f000) AM_READWRITE(palette_r, palette_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x8c0000, 0x8c0fff) AM_MIRROR(0x13f000) AM_READWRITE(palette_r, palette_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xc00000, 0xc0001f) AM_MIRROR(0x18ff00) AM_READWRITE(megadriv_vdp_r, megadriv_vdp_w)
AM_RANGE(0xe00000, 0xe0ffff) AM_MIRROR(0x1f0000) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/segag80r.c b/src/mame/drivers/segag80r.c
index 98beef5faf8..740ddc2bed9 100644
--- a/src/mame/drivers/segag80r.c
+++ b/src/mame/drivers/segag80r.c
@@ -349,7 +349,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0800, 0x7fff) AM_ROM /* PROM board ROM area */
AM_RANGE(0x8000, 0xbfff) AM_ROM /* PROM board ROM area */
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(mainram_w) AM_BASE(&mainram)
- AM_RANGE(0xe000, 0xffff) AM_RAM_WRITE(vidram_w) AM_BASE(&videoram)
+ AM_RANGE(0xe000, 0xffff) AM_RAM_WRITE(vidram_w) AM_BASE_GENERIC(videoram)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/segahang.c b/src/mame/drivers/segahang.c
index b2a1a9a12ec..c43cd67d1ca 100644
--- a/src/mame/drivers/segahang.c
+++ b/src/mame/drivers/segahang.c
@@ -403,7 +403,7 @@ static ADDRESS_MAP_START( hangon_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x400000, 0x403fff) AM_RAM_WRITE(segaic16_tileram_0_w) AM_BASE(&segaic16_tileram_0)
AM_RANGE(0x410000, 0x410fff) AM_RAM_WRITE(segaic16_textram_0_w) AM_BASE(&segaic16_textram_0)
AM_RANGE(0x600000, 0x6007ff) AM_RAM AM_BASE(&segaic16_spriteram_0)
- AM_RANGE(0xa00000, 0xa00fff) AM_RAM_WRITE(segaic16_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xa00000, 0xa00fff) AM_RAM_WRITE(segaic16_paletteram_w) AM_BASE(&segaic16_paletteram)
AM_RANGE(0xc00000, 0xc3ffff) AM_ROM AM_REGION("sub", 0)
AM_RANGE(0xc68000, 0xc68fff) AM_RAM AM_SHARE(1) AM_BASE(&segaic16_roadram_0)
AM_RANGE(0xc7c000, 0xc7ffff) AM_RAM AM_SHARE(2)
@@ -416,7 +416,7 @@ static ADDRESS_MAP_START( sharrier_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x040000, 0x043fff) AM_RAM AM_BASE(&workram)
AM_RANGE(0x100000, 0x107fff) AM_RAM_WRITE(segaic16_tileram_0_w) AM_BASE(&segaic16_tileram_0)
AM_RANGE(0x108000, 0x108fff) AM_RAM_WRITE(segaic16_textram_0_w) AM_BASE(&segaic16_textram_0)
- AM_RANGE(0x110000, 0x110fff) AM_RAM_WRITE(segaic16_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x110000, 0x110fff) AM_RAM_WRITE(segaic16_paletteram_w) AM_BASE(&segaic16_paletteram)
AM_RANGE(0x124000, 0x127fff) AM_RAM AM_SHARE(2)
AM_RANGE(0x130000, 0x130fff) AM_RAM AM_BASE(&segaic16_spriteram_0)
AM_RANGE(0x140000, 0x14ffff) AM_READWRITE(sharrier_io_r, sharrier_io_w)
diff --git a/src/mame/drivers/segaorun.c b/src/mame/drivers/segaorun.c
index 184167f2cf8..8c65dd549d3 100644
--- a/src/mame/drivers/segaorun.c
+++ b/src/mame/drivers/segaorun.c
@@ -103,7 +103,7 @@ static const segaic16_memory_map_entry outrun_info[] =
{ 0x35/2, 0x00000, 0x60000, 0xf00000, ~0, (read16_space_func)SMH_BANK(12), (write16_space_func)SMH_UNMAP, &cpu1rom, "CPU 1 ROM" },
{ 0x31/2, 0x00000, 0x04000, 0xffc000, ~0, misc_io_r, misc_io_w, NULL, "I/O space" },
{ 0x2d/2, 0x00000, 0x01000, 0xfff000, ~0, (read16_space_func)SMH_BANK(13), (write16_space_func)SMH_BANK(13), &segaic16_spriteram_0, "object RAM" },
- { 0x29/2, 0x00000, 0x02000, 0xffe000, ~0, (read16_space_func)SMH_BANK(14), segaic16_paletteram_w, &paletteram16, "color RAM" },
+ { 0x29/2, 0x00000, 0x02000, 0xffe000, ~0, (read16_space_func)SMH_BANK(14), segaic16_paletteram_w, &segaic16_paletteram, "color RAM" },
{ 0x25/2, 0x00000, 0x10000, 0xfe0000, ~0, (read16_space_func)SMH_BANK(15), segaic16_tileram_0_w, &segaic16_tileram_0, "tile RAM" },
{ 0x25/2, 0x10000, 0x01000, 0xfef000, ~0, (read16_space_func)SMH_BANK(16), segaic16_textram_0_w, &segaic16_textram_0, "text RAM" },
{ 0x21/2, 0x60000, 0x08000, 0xf98000, ~0, (read16_space_func)SMH_BANK(17), (write16_space_func)SMH_BANK(17), &workram, "CPU 0 RAM" },
@@ -145,7 +145,7 @@ static void outrun_generic_init(running_machine *machine)
{
/* allocate memory for regions not automatically assigned */
segaic16_spriteram_0 = auto_alloc_array(machine, UINT16, 0x01000/2);
- paletteram16 = auto_alloc_array(machine, UINT16, 0x02000/2);
+ segaic16_paletteram = auto_alloc_array(machine, UINT16, 0x02000/2);
segaic16_tileram_0 = auto_alloc_array(machine, UINT16, 0x10000/2);
segaic16_textram_0 = auto_alloc_array(machine, UINT16, 0x01000/2);
workram = auto_alloc_array(machine, UINT16, 0x08000/2);
diff --git a/src/mame/drivers/segas16a.c b/src/mame/drivers/segas16a.c
index 475a0c58b52..e399f552efd 100644
--- a/src/mame/drivers/segas16a.c
+++ b/src/mame/drivers/segas16a.c
@@ -979,7 +979,7 @@ static ADDRESS_MAP_START( system16a_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x400000, 0x407fff) AM_MIRROR(0xb88000) AM_RAM_WRITE(segaic16_tileram_0_w) AM_BASE(&segaic16_tileram_0)
AM_RANGE(0x410000, 0x410fff) AM_MIRROR(0xb8f000) AM_RAM_WRITE(segaic16_textram_0_w) AM_BASE(&segaic16_textram_0)
AM_RANGE(0x440000, 0x4407ff) AM_MIRROR(0x3bf800) AM_RAM AM_BASE(&segaic16_spriteram_0)
- AM_RANGE(0x840000, 0x840fff) AM_MIRROR(0x3bf000) AM_RAM_WRITE(segaic16_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x840000, 0x840fff) AM_MIRROR(0x3bf000) AM_RAM_WRITE(segaic16_paletteram_w) AM_BASE(&segaic16_paletteram)
AM_RANGE(0xc40000, 0xc43fff) AM_MIRROR(0x39c000) AM_READWRITE(misc_io_r, misc_io_w)
AM_RANGE(0xc60000, 0xc6ffff) AM_READ(watchdog_reset16_r)
AM_RANGE(0xc70000, 0xc73fff) AM_MIRROR(0x38c000) AM_RAM AM_BASE(&workram)
diff --git a/src/mame/drivers/segas16b.c b/src/mame/drivers/segas16b.c
index 2cf05ff44a9..a10bd3f9fa2 100644
--- a/src/mame/drivers/segas16b.c
+++ b/src/mame/drivers/segas16b.c
@@ -951,7 +951,7 @@ static WRITE16_HANDLER( atomicp_sound_w );
static const segaic16_memory_map_entry rom_171_5358_info_small[] =
{
{ 0x3d/2, 0x00000, 0x04000, 0xffc000, ~0, misc_io_r, misc_io_w, NULL, "I/O space" },
- { 0x39/2, 0x00000, 0x01000, 0xfff000, ~0, (read16_space_func)SMH_BANK(10), segaic16_paletteram_w, &paletteram16, "color RAM" },
+ { 0x39/2, 0x00000, 0x01000, 0xfff000, ~0, (read16_space_func)SMH_BANK(10), segaic16_paletteram_w, &segaic16_paletteram, "color RAM" },
{ 0x35/2, 0x00000, 0x10000, 0xfe0000, ~0, (read16_space_func)SMH_BANK(11), segaic16_tileram_0_w, &segaic16_tileram_0, "tile RAM" },
{ 0x35/2, 0x10000, 0x01000, 0xfef000, ~0, (read16_space_func)SMH_BANK(12), segaic16_textram_0_w, &segaic16_textram_0, "text RAM" },
{ 0x31/2, 0x00000, 0x00800, 0xfff800, ~0, (read16_space_func)SMH_BANK(13), (write16_space_func)SMH_BANK(13), &segaic16_spriteram_0, "object RAM" },
@@ -965,7 +965,7 @@ static const segaic16_memory_map_entry rom_171_5358_info_small[] =
static const segaic16_memory_map_entry rom_171_5358_info[] =
{
{ 0x3d/2, 0x00000, 0x04000, 0xffc000, ~0, misc_io_r, misc_io_w, NULL, "I/O space" },
- { 0x39/2, 0x00000, 0x01000, 0xfff000, ~0, (read16_space_func)SMH_BANK(10), segaic16_paletteram_w, &paletteram16, "color RAM" },
+ { 0x39/2, 0x00000, 0x01000, 0xfff000, ~0, (read16_space_func)SMH_BANK(10), segaic16_paletteram_w, &segaic16_paletteram, "color RAM" },
{ 0x35/2, 0x00000, 0x10000, 0xfe0000, ~0, (read16_space_func)SMH_BANK(11), segaic16_tileram_0_w, &segaic16_tileram_0, "tile RAM" },
{ 0x35/2, 0x10000, 0x01000, 0xfef000, ~0, (read16_space_func)SMH_BANK(12), segaic16_textram_0_w, &segaic16_textram_0, "text RAM" },
{ 0x31/2, 0x00000, 0x00800, 0xfff800, ~0, (read16_space_func)SMH_BANK(13), (write16_space_func)SMH_BANK(13), &segaic16_spriteram_0, "object RAM" },
@@ -979,7 +979,7 @@ static const segaic16_memory_map_entry rom_171_5358_info[] =
static const segaic16_memory_map_entry rom_171_5704_info[] =
{
{ 0x3d/2, 0x00000, 0x04000, 0xffc000, ~0, misc_io_r, misc_io_w, NULL, "I/O space" },
- { 0x39/2, 0x00000, 0x01000, 0xfff000, ~0, (read16_space_func)SMH_BANK(10), segaic16_paletteram_w, &paletteram16, "color RAM" },
+ { 0x39/2, 0x00000, 0x01000, 0xfff000, ~0, (read16_space_func)SMH_BANK(10), segaic16_paletteram_w, &segaic16_paletteram, "color RAM" },
{ 0x35/2, 0x00000, 0x10000, 0xfe0000, ~0, (read16_space_func)SMH_BANK(11), segaic16_tileram_0_w, &segaic16_tileram_0, "tile RAM" },
{ 0x35/2, 0x10000, 0x01000, 0xfef000, ~0, (read16_space_func)SMH_BANK(12), segaic16_textram_0_w, &segaic16_textram_0, "text RAM" },
{ 0x31/2, 0x00000, 0x00800, 0xfff800, ~0, (read16_space_func)SMH_BANK(13), (write16_space_func)SMH_BANK(13), &segaic16_spriteram_0, "object RAM" },
@@ -993,7 +993,7 @@ static const segaic16_memory_map_entry rom_171_5704_info[] =
static const segaic16_memory_map_entry rom_atomicp_info[] =
{
{ 0x3d/2, 0x00000, 0x04000, 0xffc000, ~0, misc_io_r, misc_io_w, NULL, "I/O space" },
- { 0x39/2, 0x00000, 0x01000, 0xfff000, ~0, (read16_space_func)SMH_BANK(10), segaic16_paletteram_w, &paletteram16, "color RAM" },
+ { 0x39/2, 0x00000, 0x01000, 0xfff000, ~0, (read16_space_func)SMH_BANK(10), segaic16_paletteram_w, &segaic16_paletteram, "color RAM" },
{ 0x35/2, 0x00000, 0x10000, 0xfe0000, ~0, (read16_space_func)SMH_BANK(11), segaic16_tileram_0_w, &segaic16_tileram_0, "tile RAM" },
{ 0x35/2, 0x10000, 0x01000, 0xfef000, ~0, (read16_space_func)SMH_BANK(12), segaic16_textram_0_w, &segaic16_textram_0, "text RAM" },
{ 0x31/2, 0x00000, 0x00800, 0xfff800, ~0, (read16_space_func)SMH_BANK(13), (write16_space_func)SMH_BANK(13), &segaic16_spriteram_0, "object RAM" },
@@ -1007,7 +1007,7 @@ static const segaic16_memory_map_entry rom_atomicp_info[] =
static const segaic16_memory_map_entry rom_171_5797_info[] =
{
{ 0x3d/2, 0x00000, 0x04000, 0xffc000, ~0, misc_io_r, misc_io_w, NULL, "I/O space" },
- { 0x39/2, 0x00000, 0x01000, 0xfff000, ~0, (read16_space_func)SMH_BANK(10), segaic16_paletteram_w, &paletteram16, "color RAM" },
+ { 0x39/2, 0x00000, 0x01000, 0xfff000, ~0, (read16_space_func)SMH_BANK(10), segaic16_paletteram_w, &segaic16_paletteram, "color RAM" },
{ 0x35/2, 0x00000, 0x10000, 0xfe0000, ~0, (read16_space_func)SMH_BANK(11), segaic16_tileram_0_w, &segaic16_tileram_0, "tile RAM" },
{ 0x35/2, 0x10000, 0x01000, 0xfef000, ~0, (read16_space_func)SMH_BANK(12), segaic16_textram_0_w, &segaic16_textram_0, "text RAM" },
{ 0x31/2, 0x00000, 0x00800, 0xfff800, ~0, (read16_space_func)SMH_BANK(13), (write16_space_func)SMH_BANK(13), &segaic16_spriteram_0, "object RAM" },
@@ -1053,7 +1053,7 @@ static void system16b_generic_init(running_machine *machine, int _rom_board)
/* allocate memory for regions not autmatically assigned */
segaic16_spriteram_0 = auto_alloc_array(machine, UINT16, 0x00800/2);
- paletteram16 = auto_alloc_array(machine, UINT16, 0x01000/2);
+ segaic16_paletteram = auto_alloc_array(machine, UINT16, 0x01000/2);
segaic16_tileram_0 = auto_alloc_array(machine, UINT16, 0x10000/2);
segaic16_textram_0 = auto_alloc_array(machine, UINT16, 0x01000/2);
workram = auto_alloc_array(machine, UINT16, 0x04000/2);
diff --git a/src/mame/drivers/segas18.c b/src/mame/drivers/segas18.c
index 50c8b1e6e21..372dadf6958 100644
--- a/src/mame/drivers/segas18.c
+++ b/src/mame/drivers/segas18.c
@@ -93,7 +93,7 @@ static WRITE16_HANDLER( rom_5987_bank_w );
static const segaic16_memory_map_entry rom_171_shad_info[] =
{
{ 0x3d/2, 0x00000, 0x04000, 0xffc000, ~0, misc_io_r, misc_io_w, NULL, "I/O space" },
- { 0x39/2, 0x00000, 0x02000, 0xffe000, ~0, (read16_space_func)SMH_BANK(10), segaic16_paletteram_w, &paletteram16, "color RAM" },
+ { 0x39/2, 0x00000, 0x02000, 0xffe000, ~0, (read16_space_func)SMH_BANK(10), segaic16_paletteram_w, &segaic16_paletteram, "color RAM" },
{ 0x35/2, 0x00000, 0x10000, 0xfe0000, ~0, (read16_space_func)SMH_BANK(11), segaic16_tileram_0_w, &segaic16_tileram_0, "tile RAM" },
{ 0x35/2, 0x10000, 0x01000, 0xfef000, ~0, (read16_space_func)SMH_BANK(12), segaic16_textram_0_w, &segaic16_textram_0, "text RAM" },
{ 0x31/2, 0x00000, 0x00800, 0xfff800, ~0, (read16_space_func)SMH_BANK(13), (write16_space_func)SMH_BANK(13), &segaic16_spriteram_0, "object RAM" },
@@ -107,7 +107,7 @@ static const segaic16_memory_map_entry rom_171_shad_info[] =
static const segaic16_memory_map_entry rom_171_5874_info[] =
{
{ 0x3d/2, 0x00000, 0x04000, 0xffc000, ~0, misc_io_r, misc_io_w, NULL, "I/O space" },
- { 0x39/2, 0x00000, 0x02000, 0xffe000, ~0, (read16_space_func)SMH_BANK(10), segaic16_paletteram_w, &paletteram16, "color RAM" },
+ { 0x39/2, 0x00000, 0x02000, 0xffe000, ~0, (read16_space_func)SMH_BANK(10), segaic16_paletteram_w, &segaic16_paletteram, "color RAM" },
{ 0x35/2, 0x00000, 0x10000, 0xfe0000, ~0, (read16_space_func)SMH_BANK(11), segaic16_tileram_0_w, &segaic16_tileram_0, "tile RAM" },
{ 0x35/2, 0x10000, 0x01000, 0xfef000, ~0, (read16_space_func)SMH_BANK(12), segaic16_textram_0_w, &segaic16_textram_0, "text RAM" },
{ 0x31/2, 0x00000, 0x00800, 0xfff800, ~0, (read16_space_func)SMH_BANK(13), (write16_space_func)SMH_BANK(13), &segaic16_spriteram_0, "object RAM" },
@@ -121,7 +121,7 @@ static const segaic16_memory_map_entry rom_171_5874_info[] =
static const segaic16_memory_map_entry rom_171_5987_info[] =
{
{ 0x3d/2, 0x00000, 0x04000, 0xffc000, ~0, misc_io_r, misc_io_w, NULL, "I/O space" },
- { 0x39/2, 0x00000, 0x02000, 0xffe000, ~0, (read16_space_func)SMH_BANK(10), segaic16_paletteram_w, &paletteram16, "color RAM" },
+ { 0x39/2, 0x00000, 0x02000, 0xffe000, ~0, (read16_space_func)SMH_BANK(10), segaic16_paletteram_w, &segaic16_paletteram, "color RAM" },
{ 0x35/2, 0x00000, 0x10000, 0xfe0000, ~0, (read16_space_func)SMH_BANK(11), segaic16_tileram_0_w, &segaic16_tileram_0, "tile RAM" },
{ 0x35/2, 0x10000, 0x01000, 0xfef000, ~0, (read16_space_func)SMH_BANK(12), segaic16_textram_0_w, &segaic16_textram_0, "text RAM" },
{ 0x31/2, 0x00000, 0x00800, 0xfff800, ~0, (read16_space_func)SMH_BANK(13), (write16_space_func)SMH_BANK(13), &segaic16_spriteram_0, "object RAM" },
@@ -168,7 +168,7 @@ static void system18_generic_init(running_machine *machine, int _rom_board)
/* allocate memory for regions not autmatically assigned */
segaic16_spriteram_0 = auto_alloc_array(machine, UINT16, 0x00800/2);
- paletteram16 = auto_alloc_array(machine, UINT16, 0x04000/2);
+ segaic16_paletteram = auto_alloc_array(machine, UINT16, 0x04000/2);
segaic16_tileram_0 = auto_alloc_array(machine, UINT16, 0x10000/2);
segaic16_textram_0 = auto_alloc_array(machine, UINT16, 0x01000/2);
workram = auto_alloc_array(machine, UINT16, 0x04000/2);
diff --git a/src/mame/drivers/segas24.c b/src/mame/drivers/segas24.c
index 161b6bdd992..5ab1d4a79c2 100644
--- a/src/mame/drivers/segas24.c
+++ b/src/mame/drivers/segas24.c
@@ -1003,7 +1003,7 @@ static ADDRESS_MAP_START( system24_cpu1_map, ADDRESS_SPACE_PROGRAM, 16 )
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_READWRITE(sys24_char_r, sys24_char_w)
- AM_RANGE(0x400000, 0x403fff) AM_MIRROR(0x1f8000) AM_READWRITE(system24temp_sys16_paletteram1_r, system24temp_sys16_paletteram1_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x400000, 0x403fff) AM_MIRROR(0x1f8000) AM_READWRITE(system24temp_sys16_paletteram1_r, system24temp_sys16_paletteram1_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x404000, 0x40401f) AM_MIRROR(0x1fbfe0) AM_READWRITE(sys24_mixer_r, sys24_mixer_w)
AM_RANGE(0x600000, 0x63ffff) AM_MIRROR(0x180000) AM_READWRITE(sys24_sprite_r, sys24_sprite_w)
AM_RANGE(0x800000, 0x80007f) AM_MIRROR(0x1ffe00) AM_READWRITE(system24temp_sys16_io_r, system24temp_sys16_io_w)
diff --git a/src/mame/drivers/segaxbd.c b/src/mame/drivers/segaxbd.c
index f77adf9d50e..50a6aa7f232 100644
--- a/src/mame/drivers/segaxbd.c
+++ b/src/mame/drivers/segaxbd.c
@@ -735,7 +735,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0e8000, 0x0e801f) AM_MIRROR(0x003fe0) AM_READWRITE(segaic16_compare_timer_0_r, segaic16_compare_timer_0_w)
AM_RANGE(0x100000, 0x100fff) AM_MIRROR(0x00f000) AM_RAM AM_BASE(&segaic16_spriteram_0)
AM_RANGE(0x110000, 0x11ffff) AM_WRITE(segaic16_sprites_draw_0_w)
- AM_RANGE(0x120000, 0x123fff) AM_MIRROR(0x00c000) AM_RAM_WRITE(segaic16_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x120000, 0x123fff) AM_MIRROR(0x00c000) AM_RAM_WRITE(segaic16_paletteram_w) AM_BASE(&segaic16_paletteram)
AM_RANGE(0x130000, 0x13ffff) AM_READWRITE(adc_r, adc_w)
AM_RANGE(0x140000, 0x14000f) AM_MIRROR(0x00fff0) AM_READWRITE(iochip_0_r, iochip_0_w)
AM_RANGE(0x150000, 0x15000f) AM_MIRROR(0x00fff0) AM_READWRITE(iochip_1_r, iochip_1_w)
diff --git a/src/mame/drivers/segaybd.c b/src/mame/drivers/segaybd.c
index 3203697f749..c2b46cf6f78 100644
--- a/src/mame/drivers/segaybd.c
+++ b/src/mame/drivers/segaybd.c
@@ -437,7 +437,7 @@ static ADDRESS_MAP_START( suby_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0c0000, 0x0cffff) AM_RAM AM_SHARE(1)
AM_RANGE(0x180000, 0x1807ff) AM_MIRROR(0x007800) AM_RAM AM_BASE(&segaic16_rotateram_0)
AM_RANGE(0x188000, 0x188fff) AM_MIRROR(0x007000) AM_RAM AM_BASE(&segaic16_spriteram_0)
- AM_RANGE(0x190000, 0x193fff) AM_MIRROR(0x004000) AM_RAM_WRITE(segaic16_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x190000, 0x193fff) AM_MIRROR(0x004000) AM_RAM_WRITE(segaic16_paletteram_w) AM_BASE(&segaic16_paletteram)
AM_RANGE(0x198000, 0x19ffff) AM_READ(segaic16_rotate_control_0_r)
AM_RANGE(0x1f0000, 0x1fffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/seicross.c b/src/mame/drivers/seicross.c
index ab4dc422585..59a2847d953 100644
--- a/src/mame/drivers/seicross.c
+++ b/src/mame/drivers/seicross.c
@@ -120,11 +120,11 @@ static WRITE8_DEVICE_HANDLER( friskyt_portB_w )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x77ff) AM_ROM
AM_RANGE(0x7800, 0x7fff) AM_RAM AM_SHARE(1)
- AM_RANGE(0x8820, 0x887f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(seicross_videoram_w) AM_BASE(&videoram) /* video RAM */
+ AM_RANGE(0x8820, 0x887f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(seicross_videoram_w) AM_BASE_GENERIC(videoram) /* video RAM */
AM_RANGE(0x9800, 0x981f) AM_RAM AM_BASE(&seicross_row_scroll)
- AM_RANGE(0x9880, 0x989f) AM_WRITE(SMH_RAM) AM_BASE(&spriteram_2) AM_SIZE(&spriteram_2_size)
- AM_RANGE(0x9c00, 0x9fff) AM_RAM_WRITE(seicross_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x9880, 0x989f) AM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram2)
+ AM_RANGE(0x9c00, 0x9fff) AM_RAM_WRITE(seicross_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0") /* IN0 */
AM_RANGE(0xa800, 0xa800) AM_READ_PORT("IN1") /* IN1 */
AM_RANGE(0xb000, 0xb000) AM_READ_PORT("TEST") /* test */
diff --git a/src/mame/drivers/sengokmj.c b/src/mame/drivers/sengokmj.c
index 7fa2752be31..893ff558fde 100644
--- a/src/mame/drivers/sengokmj.c
+++ b/src/mame/drivers/sengokmj.c
@@ -109,8 +109,8 @@ static ADDRESS_MAP_START( sengokmj_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0c800, 0x0cfff) AM_RAM_WRITE(seibucrtc_sc1vram_w) AM_BASE(&seibucrtc_sc1vram)
AM_RANGE(0x0d000, 0x0d7ff) AM_RAM_WRITE(seibucrtc_sc2vram_w) AM_BASE(&seibucrtc_sc2vram)
AM_RANGE(0x0d800, 0x0e7ff) AM_RAM_WRITE(seibucrtc_sc3vram_w) AM_BASE(&seibucrtc_sc3vram)
- AM_RANGE(0x0e800, 0x0f7ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0x0f800, 0x0ffff) AM_RAM AM_BASE(&spriteram16)
+ AM_RANGE(0x0e800, 0x0f7ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0f800, 0x0ffff) AM_RAM AM_BASE_GENERIC(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 206b382e29b..a99c0d82f09 100644
--- a/src/mame/drivers/senjyo.c
+++ b/src/mame/drivers/senjyo.c
@@ -104,8 +104,8 @@ static ADDRESS_MAP_START( senjyo_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(senjyo_fgvideoram_w) AM_BASE(&senjyo_fgvideoram)
AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(senjyo_fgcolorram_w) AM_BASE(&senjyo_fgcolorram)
- AM_RANGE(0x9800, 0x987f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0x9c00, 0x9dff) AM_RAM_WRITE(paletteram_IIBBGGRR_w) AM_BASE(&paletteram)
+ AM_RANGE(0x9800, 0x987f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x9c00, 0x9dff) AM_RAM_WRITE(paletteram_IIBBGGRR_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x9e00, 0x9e1f) AM_RAM AM_BASE(&senjyo_fgscroll)
AM_RANGE(0x9e20, 0x9e21) AM_RAM AM_BASE(&senjyo_scrolly3)
/* AM_RANGE(0x9e22, 0x9e23) height of the layer (Senjyo only, fixed at 0x380) */
@@ -184,8 +184,8 @@ static ADDRESS_MAP_START( starforb_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(senjyo_fgvideoram_w) AM_BASE(&senjyo_fgvideoram)
AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(senjyo_fgcolorram_w) AM_BASE(&senjyo_fgcolorram)
- AM_RANGE(0x9800, 0x987f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0x9c00, 0x9dff) AM_RAM_WRITE(paletteram_IIBBGGRR_w) AM_BASE(&paletteram)
+ AM_RANGE(0x9800, 0x987f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x9c00, 0x9dff) AM_RAM_WRITE(paletteram_IIBBGGRR_w) AM_BASE_GENERIC(paletteram)
/* The format / use of the ram here is different on the bootleg */
AM_RANGE(0x9e20, 0x9e21) AM_RAM AM_BASE(&senjyo_scrolly3)
AM_RANGE(0x9e25, 0x9e25) AM_RAM AM_BASE(&senjyo_scrollx3)
diff --git a/src/mame/drivers/seta.c b/src/mame/drivers/seta.c
index 490294e6222..f54b6dce088 100644
--- a/src/mame/drivers/seta.c
+++ b/src/mame/drivers/seta.c
@@ -1541,13 +1541,14 @@ static READ8_DEVICE_HANDLER( dsw2_r )
*/
static VIDEO_EOF( seta_buffer_sprites )
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int ctrl2 = spriteram16[ 0x602/2 ];
if (~ctrl2 & 0x20)
{
if (ctrl2 & 0x40)
- memcpy(&spriteram16_2[0x0000/2],&spriteram16_2[0x2000/2],0x2000/2);
+ memcpy(&machine->generic.spriteram2.u16[0x0000/2],&machine->generic.spriteram2.u16[0x2000/2],0x2000/2);
else
- memcpy(&spriteram16_2[0x2000/2],&spriteram16_2[0x0000/2],0x2000/2);
+ memcpy(&machine->generic.spriteram2.u16[0x2000/2],&machine->generic.spriteram2.u16[0x0000/2],0x2000/2);
}
}
@@ -1583,12 +1584,12 @@ static ADDRESS_MAP_START( tndrcade_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x200000, 0x200001) AM_WRITENOP // ? 0
AM_RANGE(0x280000, 0x280001) AM_WRITENOP // ? 0 / 1 (sub cpu related?)
AM_RANGE(0x300000, 0x300001) AM_WRITENOP // ? 0 / 1
- AM_RANGE(0x380000, 0x3803ff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&seta_paletteram_size) // Palette
+ AM_RANGE(0x380000, 0x3803ff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&seta_paletteram_size) // Palette
/**/AM_RANGE(0x400000, 0x400001) AM_WRITENOP // ? $4000
-/**/AM_RANGE(0x600000, 0x600607) AM_RAM AM_BASE(&spriteram16) // Sprites Y
+/**/AM_RANGE(0x600000, 0x600607) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites Y
AM_RANGE(0x800000, 0x800007) AM_WRITE(sub_ctrl_w) // Sub CPU Control?
AM_RANGE(0xa00000, 0xa00fff) AM_READWRITE(sharedram_68000_r,sharedram_68000_w) // Shared RAM
- AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_BASE(&spriteram16_2) // Sprites Code + X + Attr
+ AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_BASE_GENERIC(spriteram2) // Sprites Code + X + Attr
AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_SHARE(1) // RAM (Mirrored?)
AM_RANGE(0xffc000, 0xffffff) AM_RAM AM_SHARE(1) // RAM (Mirrored?)
ADDRESS_MAP_END
@@ -1607,14 +1608,14 @@ static ADDRESS_MAP_START( downtown_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x400000, 0x400007) AM_WRITE(twineagl_tilebank_w) // special tile banking to animate water in twineagl
AM_RANGE(0x500000, 0x500001) AM_WRITENOP // ?
AM_RANGE(0x600000, 0x600003) AM_READ(seta_dsw_r) // DSW
- AM_RANGE(0x700000, 0x7003ff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&seta_paletteram_size) // Palette
+ AM_RANGE(0x700000, 0x7003ff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&seta_paletteram_size) // Palette
AM_RANGE(0x800000, 0x800005) AM_WRITEONLY AM_BASE(&seta_vctrl_0)// VRAM Ctrl
AM_RANGE(0x900000, 0x903fff) AM_RAM_WRITE(seta_vram_0_w) AM_BASE(&seta_vram_0) // VRAM
AM_RANGE(0xa00000, 0xa00007) AM_WRITE(sub_ctrl_w) // Sub CPU Control?
AM_RANGE(0xb00000, 0xb00fff) AM_READWRITE(sharedram_68000_r,sharedram_68000_w) // Shared RAM
AM_RANGE(0xc00000, 0xc00001) AM_WRITENOP // ? $4000
- AM_RANGE(0xd00000, 0xd00607) AM_RAM AM_BASE(&spriteram16) // Sprites Y
- AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_BASE(&spriteram16_2) // Sprites Code + X + Attr
+ AM_RANGE(0xd00000, 0xd00607) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites Y
+ AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_BASE_GENERIC(spriteram2) // Sprites Code + X + Attr
AM_RANGE(0xf00000, 0xffffff) AM_RAM // RAM
ADDRESS_MAP_END
@@ -1666,14 +1667,14 @@ static ADDRESS_MAP_START( calibr50_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x400000, 0x400001) AM_READ(watchdog_reset16_r) // Watchdog
AM_RANGE(0x500000, 0x500001) AM_WRITENOP // ?
AM_RANGE(0x600000, 0x600003) AM_READ(seta_dsw_r) // DSW
- AM_RANGE(0x700000, 0x7003ff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&seta_paletteram_size) // Palette
+ AM_RANGE(0x700000, 0x7003ff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&seta_paletteram_size) // Palette
AM_RANGE(0x800000, 0x800005) AM_WRITEONLY AM_BASE(&seta_vctrl_0)// VRAM Ctrl
AM_RANGE(0x900000, 0x903fff) AM_RAM_WRITE(seta_vram_0_w) AM_BASE(&seta_vram_0) // VRAM
AM_RANGE(0x904000, 0x904fff) AM_RAM //
AM_RANGE(0xa00000, 0xa00019) AM_READ(calibr50_ip_r) // Input Ports
-/**/AM_RANGE(0xd00000, 0xd00607) AM_RAM AM_BASE(&spriteram16) // Sprites Y
- AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_BASE(&spriteram16_2) // Sprites Code + X + Attr
+/**/AM_RANGE(0xd00000, 0xd00607) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites Y
+ AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_BASE_GENERIC(spriteram2) // Sprites Code + X + Attr
AM_RANGE(0xb00000, 0xb00001) AM_READWRITE(soundlatch2_word_r,calibr50_soundlatch_w) // From Sub CPU
/**/AM_RANGE(0xc00000, 0xc00001) AM_RAM // ? $4000
ADDRESS_MAP_END
@@ -1738,10 +1739,10 @@ static WRITE16_HANDLER( usclssic_lockout_w )
static ADDRESS_MAP_START( usclssic_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0xff0000, 0xffffff) AM_RAM // RAM
- AM_RANGE(0x800000, 0x800607) AM_RAM AM_BASE(&spriteram16) // Sprites Y
+ AM_RANGE(0x800000, 0x800607) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites Y
/**/AM_RANGE(0x900000, 0x900001) AM_RAM // ? $4000
AM_RANGE(0xa00000, 0xa00005) AM_RAM AM_BASE(&seta_vctrl_0) // VRAM Ctrl
-/**/AM_RANGE(0xb00000, 0xb003ff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&seta_paletteram_size) // Palette
+/**/AM_RANGE(0xb00000, 0xb003ff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&seta_paletteram_size) // Palette
AM_RANGE(0xb40000, 0xb40003) AM_READ(usclssic_trackball_x_r) // TrackBall X
AM_RANGE(0xb40000, 0xb40001) AM_WRITE(usclssic_lockout_w) // Coin Lockout + Tiles Banking
AM_RANGE(0xb40004, 0xb40007) AM_READ(usclssic_trackball_y_r) // TrackBall Y + Buttons
@@ -1751,7 +1752,7 @@ static ADDRESS_MAP_START( usclssic_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xb40018, 0xb4001f) AM_READ(usclssic_dsw_r) // 2 DSWs
AM_RANGE(0xb40018, 0xb40019) AM_WRITE(watchdog_reset16_w) // Watchdog
AM_RANGE(0xb80000, 0xb80001) AM_READNOP // Watchdog (value is discarded)?
- AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_BASE(&spriteram16_2) // Sprites Code + X + Attr
+ AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_BASE_GENERIC(spriteram2) // Sprites Code + X + Attr
AM_RANGE(0xd00000, 0xd03fff) AM_RAM_WRITE(seta_vram_0_w) AM_BASE(&seta_vram_0) // VRAM
AM_RANGE(0xd04000, 0xd04fff) AM_RAM //
AM_RANGE(0xe00000, 0xe00fff) AM_RAM // NVRAM? (odd bytes)
@@ -1770,13 +1771,13 @@ static ADDRESS_MAP_START( atehate_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300000, 0x300001) AM_WRITENOP // ? 0 (irq ack lev 2?)
AM_RANGE(0x500000, 0x500001) AM_WRITENOP // ? (end of lev 1: bit 4 goes 1,0,1)
AM_RANGE(0x600000, 0x600003) AM_READ(seta_dsw_r) // DSW
- AM_RANGE(0x700000, 0x7003ff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&seta_paletteram_size) // Palette
- AM_RANGE(0xa00000, 0xa00607) AM_RAM AM_BASE(&spriteram16) // Sprites Y
+ AM_RANGE(0x700000, 0x7003ff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&seta_paletteram_size) // Palette
+ AM_RANGE(0xa00000, 0xa00607) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites Y
AM_RANGE(0xb00000, 0xb00001) AM_READ_PORT("P1") // P1
AM_RANGE(0xb00002, 0xb00003) AM_READ_PORT("P2") // P2
AM_RANGE(0xb00004, 0xb00005) AM_READ_PORT("COINS") // Coins
/**/AM_RANGE(0xc00000, 0xc00001) AM_RAM // ? 0x4000
- AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_BASE(&spriteram16_2) // Sprites Code + X + Attr
+ AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_BASE_GENERIC(spriteram2) // Sprites Code + X + Attr
ADDRESS_MAP_END
@@ -1795,11 +1796,11 @@ static ADDRESS_MAP_START( blandia_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x500000, 0x500005) AM_RAM_WRITE(seta_vregs_w) AM_BASE(&seta_vregs) // (gundhara) Coin Lockout + Video Registers
AM_RANGE(0x600000, 0x600003) AM_READ(seta_dsw_r) // DSW
AM_RANGE(0x700000, 0x7003ff) AM_RAM // (rezon,jjsquawk)
- AM_RANGE(0x700400, 0x700fff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&seta_paletteram_size) // Palette
+ AM_RANGE(0x700400, 0x700fff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&seta_paletteram_size) // Palette
AM_RANGE(0x701000, 0x70ffff) AM_RAM //
-/**/AM_RANGE(0x800000, 0x800607) AM_RAM AM_BASE(&spriteram16) // Sprites Y
+/**/AM_RANGE(0x800000, 0x800607) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites Y
AM_RANGE(0x880000, 0x880001) AM_RAM // ? 0xc000
- AM_RANGE(0x900000, 0x903fff) AM_RAM AM_BASE(&spriteram16_2) // Sprites Code + X + Attr
+ AM_RANGE(0x900000, 0x903fff) AM_RAM AM_BASE_GENERIC(spriteram2) // Sprites Code + X + Attr
/**/AM_RANGE(0xa00000, 0xa00005) AM_RAM AM_BASE(&seta_vctrl_0) // VRAM 0&1 Ctrl
/**/AM_RANGE(0xa80000, 0xa80005) AM_RAM AM_BASE(&seta_vctrl_2) // VRAM 2&3 Ctrl
AM_RANGE(0xb00000, 0xb03fff) AM_RAM_WRITE(seta_vram_0_w) AM_BASE(&seta_vram_0) // VRAM 0&1
@@ -1829,7 +1830,7 @@ static ADDRESS_MAP_START( blandiap_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x500000, 0x500005) AM_RAM_WRITE(seta_vregs_w) AM_BASE(&seta_vregs) // (gundhara) Coin Lockout + Video Registers
AM_RANGE(0x600000, 0x600003) AM_READ(seta_dsw_r) // DSW
AM_RANGE(0x700000, 0x7003ff) AM_RAM // (rezon,jjsquawk)
- AM_RANGE(0x700400, 0x700fff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&seta_paletteram_size) // Palette
+ AM_RANGE(0x700400, 0x700fff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&seta_paletteram_size) // Palette
AM_RANGE(0x701000, 0x70ffff) AM_RAM //
AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE(seta_vram_0_w) AM_BASE(&seta_vram_0) // VRAM 0&1
AM_RANGE(0x804000, 0x80ffff) AM_RAM // (jjsquawk)
@@ -1837,9 +1838,9 @@ static ADDRESS_MAP_START( blandiap_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x884000, 0x88ffff) AM_RAM // (jjsquawk)
/**/AM_RANGE(0x900000, 0x900005) AM_RAM AM_BASE(&seta_vctrl_0) // VRAM 0&1 Ctrl
/**/AM_RANGE(0x980000, 0x980005) AM_RAM AM_BASE(&seta_vctrl_2) // VRAM 2&3 Ctrl
-/**/AM_RANGE(0xa00000, 0xa00607) AM_RAM AM_BASE(&spriteram16) // Sprites Y
+/**/AM_RANGE(0xa00000, 0xa00607) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites Y
/**/AM_RANGE(0xa80000, 0xa80001) AM_RAM // ? 0x4000
- AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_BASE(&spriteram16_2) // Sprites Code + X + Attr
+ AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_BASE_GENERIC(spriteram2) // Sprites Code + X + Attr
AM_RANGE(0xc00000, 0xc03fff) AM_DEVREADWRITE("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
AM_RANGE(0xd00000, 0xd00007) AM_WRITENOP // ?
AM_RANGE(0xe00000, 0xe00001) AM_WRITENOP // ? VBlank IRQ Ack
@@ -1907,7 +1908,7 @@ static ADDRESS_MAP_START( wrofaero_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x600000, 0x600003) AM_READ(seta_dsw_r) // DSW
AM_RANGE(0x700000, 0x7003ff) AM_RAM // (rezon,jjsquawk)
- AM_RANGE(0x700400, 0x700fff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&seta_paletteram_size) // Palette
+ AM_RANGE(0x700400, 0x700fff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&seta_paletteram_size) // Palette
AM_RANGE(0x701000, 0x70ffff) AM_RAM //
AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE(seta_vram_0_w) AM_BASE(&seta_vram_0) // VRAM 0&1
AM_RANGE(0x804000, 0x80ffff) AM_RAM // (jjsquawk)
@@ -1915,9 +1916,9 @@ static ADDRESS_MAP_START( wrofaero_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x884000, 0x88ffff) AM_RAM // (jjsquawk)
/**/AM_RANGE(0x900000, 0x900005) AM_RAM AM_BASE(&seta_vctrl_0) // VRAM 0&1 Ctrl
/**/AM_RANGE(0x980000, 0x980005) AM_RAM AM_BASE(&seta_vctrl_2) // VRAM 2&3 Ctrl
-/**/AM_RANGE(0xa00000, 0xa00607) AM_RAM AM_BASE(&spriteram16) // Sprites Y
+/**/AM_RANGE(0xa00000, 0xa00607) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites Y
/**/AM_RANGE(0xa80000, 0xa80001) AM_RAM // ? 0x4000
- AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_BASE(&spriteram16_2) // Sprites Code + X + Attr
+ AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_BASE_GENERIC(spriteram2) // Sprites Code + X + Attr
AM_RANGE(0xc00000, 0xc03fff) AM_DEVREADWRITE("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
#if __uPD71054_TIMER
AM_RANGE(0xd00000, 0xd00007) AM_WRITE(timer_regs_w) // ?
@@ -1940,16 +1941,16 @@ static ADDRESS_MAP_START( jjsquawb_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x600000, 0x600003) AM_READ(seta_dsw_r) // DSW
AM_RANGE(0x700000, 0x70b3ff) AM_RAM // RZ: (rezon,jjsquawk)
- AM_RANGE(0x70b400, 0x70bfff) AM_RAM AM_BASE(&paletteram16 ) AM_SIZE(&seta_paletteram_size) // Palette
+ AM_RANGE(0x70b400, 0x70bfff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&seta_paletteram_size) // Palette
AM_RANGE(0x70c000, 0x70ffff) AM_RAM //
AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE(seta_vram_0_w) AM_BASE(&seta_vram_0) // VRAM 0
AM_RANGE(0x804000, 0x807fff) AM_RAM_WRITE(seta_vram_2_w) AM_BASE(&seta_vram_2) // VRAM 2
AM_RANGE(0x884000, 0x88ffff) AM_RAM // (jjsquawk)
AM_RANGE(0x908000, 0x908005) AM_RAM AM_BASE(&seta_vctrl_0) // VRAM 0&1 Ctrl
AM_RANGE(0x909000, 0x909005) AM_RAM AM_BASE(&seta_vctrl_2) // VRAM 2&3 Ctrl
- AM_RANGE(0xa0a000, 0xa0a607) AM_RAM AM_BASE(&spriteram16) // RZ: Sprites Y
+ AM_RANGE(0xa0a000, 0xa0a607) AM_RAM AM_BASE_GENERIC(spriteram) // RZ: Sprites Y
// AM_RANGE(0xa80000, 0xa80001) AM_RAM // ? 0x4000
- AM_RANGE(0xb0c000, 0xb0ffff) AM_RAM AM_BASE(&spriteram16_2) // RZ: Sprites Code + X + Attr
+ AM_RANGE(0xb0c000, 0xb0ffff) AM_RAM AM_BASE_GENERIC(spriteram2) // RZ: Sprites Code + X + Attr
AM_RANGE(0xc00000, 0xc03fff) AM_DEVREADWRITE("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
#if __uPD71054_TIMER
AM_RANGE(0xd00000, 0xd00007) AM_WRITE(timer_regs_w) // ?
@@ -1978,10 +1979,10 @@ static ADDRESS_MAP_START( orbs_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x8000f0, 0x8000f1) AM_RAM // NVRAM
AM_RANGE(0x800100, 0x8001ff) AM_RAM // NVRAM
AM_RANGE(0xa00000, 0xa03fff) AM_DEVREADWRITE("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
- AM_RANGE(0xb00000, 0xb003ff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&seta_paletteram_size) // Palette
- AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_BASE(&spriteram16_2) // Sprites Code + X + Attr
+ AM_RANGE(0xb00000, 0xb003ff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&seta_paletteram_size) // Palette
+ AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_BASE_GENERIC(spriteram2) // Sprites Code + X + Attr
/**/AM_RANGE(0xd00000, 0xd00001) AM_RAM // ? 0x4000
-/**/AM_RANGE(0xe00000, 0xe00607) AM_RAM AM_BASE(&spriteram16) // Sprites Y
+/**/AM_RANGE(0xe00000, 0xe00607) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites Y
ADDRESS_MAP_END
/***************************************************************************
@@ -2060,10 +2061,10 @@ static ADDRESS_MAP_START( keroppi_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x900000, 0x900001) AM_WRITENOP // ?
AM_RANGE(0x900002, 0x900003) AM_WRITE(keroppi_prize_w) //
AM_RANGE(0xa00000, 0xa03fff) AM_DEVREADWRITE("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
- AM_RANGE(0xb00000, 0xb003ff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&seta_paletteram_size) // Palette
- AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_BASE(&spriteram16_2) // Sprites Code + X + Attr
+ AM_RANGE(0xb00000, 0xb003ff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&seta_paletteram_size) // Palette
+ AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_BASE_GENERIC(spriteram2) // Sprites Code + X + Attr
/**/AM_RANGE(0xd00000, 0xd00001) AM_RAM // ? 0x4000
-/**/AM_RANGE(0xe00000, 0xe00607) AM_RAM AM_BASE(&spriteram16) // Sprites Y
+/**/AM_RANGE(0xe00000, 0xe00607) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites Y
ADDRESS_MAP_END
static MACHINE_START( keroppi )
@@ -2090,10 +2091,10 @@ static ADDRESS_MAP_START( blockcar_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x500002, 0x500003) AM_READ_PORT("P2") // P2
AM_RANGE(0x500004, 0x500005) AM_READ_PORT("COINS") // Coins
AM_RANGE(0xa00000, 0xa03fff) AM_DEVREADWRITE("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
- AM_RANGE(0xb00000, 0xb003ff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&seta_paletteram_size) // Palette
- AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_BASE(&spriteram16_2) // Sprites Code + X + Attr
+ AM_RANGE(0xb00000, 0xb003ff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&seta_paletteram_size) // Palette
+ AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_BASE_GENERIC(spriteram2) // Sprites Code + X + Attr
/**/AM_RANGE(0xd00000, 0xd00001) AM_RAM // ? 0x4000
-/**/AM_RANGE(0xe00000, 0xe00607) AM_RAM AM_BASE(&spriteram16) // Sprites Y
+/**/AM_RANGE(0xe00000, 0xe00607) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites Y
ADDRESS_MAP_END
@@ -2111,7 +2112,7 @@ static ADDRESS_MAP_START( daioh_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x500006, 0x500007) AM_READ_PORT("EXTRA") // Buttons 4,5,6
AM_RANGE(0x600000, 0x600003) AM_READ(seta_dsw_r ) // DSW
AM_RANGE(0x700000, 0x7003ff) AM_RAM
- AM_RANGE(0x700400, 0x700fff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&seta_paletteram_size) // Palette
+ AM_RANGE(0x700400, 0x700fff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&seta_paletteram_size) // Palette
AM_RANGE(0x701000, 0x70ffff) AM_RAM //
AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE(seta_vram_0_w) AM_BASE(&seta_vram_0 ) // VRAM 0&1
AM_RANGE(0x804000, 0x80ffff) AM_RAM //
@@ -2119,9 +2120,9 @@ static ADDRESS_MAP_START( daioh_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x884000, 0x88ffff) AM_RAM //
AM_RANGE(0x900000, 0x900005) AM_RAM AM_BASE(&seta_vctrl_0) // VRAM 0&1 Ctrl
AM_RANGE(0x980000, 0x980005) AM_RAM AM_BASE(&seta_vctrl_2) // VRAM 2&3 Ctrl
- AM_RANGE(0xa00000, 0xa00607) AM_RAM AM_BASE(&spriteram16 ) // Sprites Y
+ AM_RANGE(0xa00000, 0xa00607) AM_RAM AM_BASE_GENERIC(spriteram ) // Sprites Y
AM_RANGE(0xa80000, 0xa80001) AM_RAM // ? 0x4000
- AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_BASE(&spriteram16_2 ) // Sprites Code + X + Attr
+ AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_BASE_GENERIC(spriteram2 ) // Sprites Code + X + Attr
AM_RANGE(0xb04000, 0xb13fff) AM_RAM
AM_RANGE(0xc00000, 0xc03fff) AM_DEVREADWRITE("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
AM_RANGE(0xe00000, 0xe00001) AM_WRITENOP //
@@ -2141,7 +2142,7 @@ static ADDRESS_MAP_START( drgnunit_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300000, 0x300001) AM_WRITENOP // ? IRQ Ack
AM_RANGE(0x500000, 0x500001) AM_RAM_WRITE(seta_vregs_w) AM_BASE(&seta_vregs) // Coin Lockout + Video Registers
AM_RANGE(0x600000, 0x600003) AM_READ(seta_dsw_r) // DSW
- AM_RANGE(0x700000, 0x7003ff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&seta_paletteram_size) // Palette
+ AM_RANGE(0x700000, 0x7003ff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&seta_paletteram_size) // Palette
AM_RANGE(0x800000, 0x800005) AM_RAM AM_BASE(&seta_vctrl_0) // VRAM Ctrl
AM_RANGE(0x900000, 0x903fff) AM_RAM_WRITE(seta_vram_0_w) AM_BASE(&seta_vram_0 ) // VRAM
AM_RANGE(0x904000, 0x90ffff) AM_WRITENOP // unused (qzkklogy)
@@ -2150,8 +2151,8 @@ static ADDRESS_MAP_START( drgnunit_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xb00004, 0xb00005) AM_READ_PORT("COINS") // Coins
AM_RANGE(0xb00006, 0xb00007) AM_READNOP // unused (qzkklogy)
/**/AM_RANGE(0xc00000, 0xc00001) AM_RAM // ? $4000
-/**/AM_RANGE(0xd00000, 0xd00607) AM_RAM AM_BASE(&spriteram16) // Sprites Y
- AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_BASE(&spriteram16_2) // Sprites Code + X + Attr
+/**/AM_RANGE(0xd00000, 0xd00607) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites Y
+ AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_BASE_GENERIC(spriteram2) // Sprites Code + X + Attr
ADDRESS_MAP_END
/***************************************************************************
@@ -2206,14 +2207,14 @@ WRITE16_HANDLER( setaroul_spr_w )
mem_mask = mem_mask >> 8;
}
- COMBINE_DATA(&spriteram16[realoffs]);
+ COMBINE_DATA(&space->machine->generic.spriteram.u16[realoffs]);
}
static ADDRESS_MAP_START( setaroul_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x01ffff) AM_ROM // ROM
- AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_BASE(&spriteram16_2) // Sprites Code + X + Attr (maybe not)
+ AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_BASE_GENERIC(spriteram2) // Sprites Code + X + Attr (maybe not)
AM_RANGE(0xc40000, 0xc40001) AM_RAM //AM_BASE(&seta_vregs)
AM_RANGE(0xc80000, 0xc80001) AM_NOP
@@ -2234,7 +2235,7 @@ static ADDRESS_MAP_START( setaroul_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xe00000, 0xe03fff) AM_RAM_WRITE(seta_vram_0_w) AM_BASE(&seta_vram_0 ) // VRAM - draws wheel if you reset enough times..
AM_RANGE(0xe40000, 0xe40005) AM_RAM AM_BASE(&seta_vctrl_0) // VRAM Ctrl
AM_RANGE(0xf00000, 0xf03fff) AM_RAM
- AM_RANGE(0xf40000, 0xf40c11) AM_WRITE(setaroul_spr_w) AM_BASE(&spriteram16) // Sprites Y
+ AM_RANGE(0xf40000, 0xf40c11) AM_WRITE(setaroul_spr_w) AM_BASE_GENERIC(spriteram) // Sprites Y
ADDRESS_MAP_END
/***************************************************************************
@@ -2253,7 +2254,7 @@ static ADDRESS_MAP_START( extdwnhl_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x40000c, 0x40000d) AM_READWRITE(watchdog_reset16_r,watchdog_reset16_w) // Watchdog (extdwnhl (R) & sokonuke (W) MUST RETURN $FFFF)
AM_RANGE(0x500000, 0x500003) AM_RAM_WRITE(seta_vregs_w) AM_BASE(&seta_vregs) // Coin Lockout + Video Registers
AM_RANGE(0x500004, 0x500007) AM_NOP // IRQ Ack (extdwnhl (R) & sokonuke (W))
- AM_RANGE(0x600400, 0x600fff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&seta_paletteram_size) // Palette
+ AM_RANGE(0x600400, 0x600fff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&seta_paletteram_size) // Palette
AM_RANGE(0x601000, 0x610bff) AM_RAM //
AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE(seta_vram_0_w) AM_BASE(&seta_vram_0) // VRAM 0&1
AM_RANGE(0x804000, 0x80ffff) AM_RAM //
@@ -2261,9 +2262,9 @@ static ADDRESS_MAP_START( extdwnhl_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x884000, 0x88ffff) AM_RAM //
/**/AM_RANGE(0x900000, 0x900005) AM_RAM AM_BASE(&seta_vctrl_0) // VRAM 0&1 Ctrl
/**/AM_RANGE(0x980000, 0x980005) AM_RAM AM_BASE(&seta_vctrl_2) // VRAM 2&3 Ctrl
-/**/AM_RANGE(0xa00000, 0xa00607) AM_RAM AM_BASE(&spriteram16) // Sprites Y
+/**/AM_RANGE(0xa00000, 0xa00607) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites Y
/**/AM_RANGE(0xa80000, 0xa80001) AM_RAM // ? 0x4000
- AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_BASE(&spriteram16_2) // Sprites Code + X + Attr
+ AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_BASE_GENERIC(spriteram2) // Sprites Code + X + Attr
AM_RANGE(0xb04000, 0xb13fff) AM_RAM //
AM_RANGE(0xe00000, 0xe03fff) AM_DEVREADWRITE("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
ADDRESS_MAP_END
@@ -2284,7 +2285,7 @@ static ADDRESS_MAP_START( kamenrid_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x600000, 0x600005) AM_RAM_WRITE(seta_vregs_w) AM_BASE(&seta_vregs) // ? Coin Lockout + Video Registers
AM_RANGE(0x600006, 0x600007) AM_WRITENOP // ?
AM_RANGE(0x700000, 0x7003ff) AM_RAM // Palette RAM (tested)
- AM_RANGE(0x700400, 0x700fff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&seta_paletteram_size) // Palette
+ AM_RANGE(0x700400, 0x700fff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&seta_paletteram_size) // Palette
AM_RANGE(0x701000, 0x703fff) AM_RAM // Palette
AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE(seta_vram_0_w) AM_BASE(&seta_vram_0 ) // VRAM 0&1
AM_RANGE(0x804000, 0x807fff) AM_RAM // tested
@@ -2292,9 +2293,9 @@ static ADDRESS_MAP_START( kamenrid_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x884000, 0x887fff) AM_RAM // tested
AM_RANGE(0x900000, 0x900005) AM_RAM AM_BASE(&seta_vctrl_0) // VRAM 0&1 Ctrl
AM_RANGE(0x980000, 0x980005) AM_RAM AM_BASE(&seta_vctrl_2) // VRAM 2&3 Ctrl
- AM_RANGE(0xa00000, 0xa00607) AM_RAM AM_BASE(&spriteram16) // Sprites Y
+ AM_RANGE(0xa00000, 0xa00607) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites Y
AM_RANGE(0xa80000, 0xa80001) AM_RAM // ? $4000
- AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_BASE(&spriteram16_2) // Sprites Code + X + Attr
+ AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_BASE_GENERIC(spriteram2) // Sprites Code + X + Attr
AM_RANGE(0xb04000, 0xb07fff) AM_RAM // tested
#if __uPD71054_TIMER
AM_RANGE(0xc00000, 0xc00007) AM_WRITE(timer_regs_w) // ?
@@ -2315,15 +2316,15 @@ static ADDRESS_MAP_START( madshark_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x50000c, 0x50000d) AM_WRITE(watchdog_reset16_w) // Watchdog
AM_RANGE(0x600000, 0x600005) AM_RAM_WRITE(seta_vregs_w) AM_BASE(&seta_vregs) // ? Coin Lockout + Video Registers
AM_RANGE(0x600006, 0x600007) AM_WRITENOP // ?
- AM_RANGE(0x700400, 0x700fff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&seta_paletteram_size) // Palette
+ AM_RANGE(0x700400, 0x700fff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&seta_paletteram_size) // Palette
AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE(seta_vram_0_w) AM_BASE(&seta_vram_0) // VRAM 0&1
AM_RANGE(0x880000, 0x883fff) AM_RAM_WRITE(seta_vram_2_w) AM_BASE(&seta_vram_2) // VRAM 2&3
AM_RANGE(0x900000, 0x900005) AM_RAM AM_BASE(&seta_vctrl_0) // VRAM 0&1 Ctrl
AM_RANGE(0x980000, 0x980005) AM_RAM AM_BASE(&seta_vctrl_2) // VRAM 2&3 Ctrl
- AM_RANGE(0xa00000, 0xa00607) AM_RAM AM_BASE(&spriteram16) // Sprites Y
+ AM_RANGE(0xa00000, 0xa00607) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites Y
AM_RANGE(0xa80000, 0xa80001) AM_RAM // ? $4000
- AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_BASE(&spriteram16_2) // Sprites Code + X + Attr
+ AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_BASE_GENERIC(spriteram2) // Sprites Code + X + Attr
#if __uPD71054_TIMER
AM_RANGE(0xc00000, 0xc00007) AM_WRITE(timer_regs_w) // ?
#else
@@ -2375,10 +2376,10 @@ static ADDRESS_MAP_START( krzybowl_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x8000f0, 0x8000f1) AM_RAM // NVRAM
AM_RANGE(0x800100, 0x8001ff) AM_RAM // NVRAM
AM_RANGE(0xa00000, 0xa03fff) AM_DEVREADWRITE("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
- AM_RANGE(0xb00000, 0xb003ff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&seta_paletteram_size) // Palette
- AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_BASE(&spriteram16_2) // Sprites Code + X + Attr
+ AM_RANGE(0xb00000, 0xb003ff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&seta_paletteram_size) // Palette
+ AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_BASE_GENERIC(spriteram2) // Sprites Code + X + Attr
/**/AM_RANGE(0xd00000, 0xd00001) AM_RAM // ? 0x4000
-/**/AM_RANGE(0xe00000, 0xe00607) AM_RAM AM_BASE(&spriteram16) // Sprites Y
+/**/AM_RANGE(0xe00000, 0xe00607) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites Y
ADDRESS_MAP_END
@@ -2410,10 +2411,10 @@ static ADDRESS_MAP_START( msgundam_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x400004, 0x400005) AM_WRITENOP // Lev 4 IRQ Ack
AM_RANGE(0x500000, 0x500005) AM_RAM_WRITE(msgundam_vregs_w) AM_BASE(&seta_vregs) // Coin Lockout + Video Registers
AM_RANGE(0x600000, 0x600003) AM_READ(seta_dsw_r) // DSW
- AM_RANGE(0x700400, 0x700fff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&seta_paletteram_size) // Palette
- AM_RANGE(0x800000, 0x800607) AM_RAM AM_BASE(&spriteram16) // Sprites Y
+ AM_RANGE(0x700400, 0x700fff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&seta_paletteram_size) // Palette
+ AM_RANGE(0x800000, 0x800607) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites Y
AM_RANGE(0x880000, 0x880001) AM_RAM // ? 0x4000
- AM_RANGE(0x900000, 0x903fff) AM_RAM AM_BASE(&spriteram16_2) // Sprites Code + X + Attr
+ AM_RANGE(0x900000, 0x903fff) AM_RAM AM_BASE_GENERIC(spriteram2) // Sprites Code + X + Attr
AM_RANGE(0xa00000, 0xa03fff) AM_RAM_WRITE(seta_vram_0_w) AM_BASE(&seta_vram_0) // VRAM 0&1
AM_RANGE(0xa80000, 0xa83fff) AM_RAM_WRITE(seta_vram_2_w) AM_BASE(&seta_vram_2) // VRAM 2&3
AM_RANGE(0xb00000, 0xb00005) AM_RAM AM_BASE(&seta_vctrl_0) // VRAM 0&1 Ctrl
@@ -2447,10 +2448,10 @@ static ADDRESS_MAP_START( oisipuzl_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x880000, 0x883fff) AM_RAM_WRITE(seta_vram_2_w) AM_BASE(&seta_vram_2) // VRAM 2&3
/**/AM_RANGE(0x900000, 0x900005) AM_RAM AM_BASE(&seta_vctrl_0) // VRAM 0&1 Ctrl
/**/AM_RANGE(0x980000, 0x980005) AM_RAM AM_BASE(&seta_vctrl_2) // VRAM 2&3 Ctrl
-/**/AM_RANGE(0xa00000, 0xa00607) AM_RAM AM_BASE(&spriteram16) // Sprites Y
+/**/AM_RANGE(0xa00000, 0xa00607) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites Y
/**/AM_RANGE(0xa80000, 0xa80001) AM_RAM // ? 0x4000
- AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_BASE(&spriteram16_2) // Sprites Code + X + Attr
- AM_RANGE(0xc00400, 0xc00fff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&seta_paletteram_size) // Palette
+ AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_BASE_GENERIC(spriteram2) // Sprites Code + X + Attr
+ AM_RANGE(0xc00400, 0xc00fff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&seta_paletteram_size) // Palette
ADDRESS_MAP_END
@@ -2475,10 +2476,10 @@ static ADDRESS_MAP_START( triplfun_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x880000, 0x883fff) AM_RAM_WRITE(seta_vram_2_w) AM_BASE(&seta_vram_2) // VRAM 2&3
/**/AM_RANGE(0x900000, 0x900005) AM_RAM AM_BASE(&seta_vctrl_0) // VRAM 0&1 Ctrl
/**/AM_RANGE(0x980000, 0x980005) AM_RAM AM_BASE(&seta_vctrl_2) // VRAM 2&3 Ctrl
-/**/AM_RANGE(0xa00000, 0xa00607) AM_RAM AM_BASE(&spriteram16) // Sprites Y
+/**/AM_RANGE(0xa00000, 0xa00607) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites Y
/**/AM_RANGE(0xa80000, 0xa80001) AM_RAM // ? 0x4000
- AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_BASE(&spriteram16_2) // Sprites Code + X + Attr
- AM_RANGE(0xc00400, 0xc00fff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&seta_paletteram_size) // Palette
+ AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_BASE_GENERIC(spriteram2) // Sprites Code + X + Attr
+ AM_RANGE(0xc00400, 0xc00fff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&seta_paletteram_size) // Palette
ADDRESS_MAP_END
@@ -2525,10 +2526,10 @@ static ADDRESS_MAP_START( kiwame_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM
AM_RANGE(0xfffc00, 0xffffff) AM_READWRITE(kiwame_nvram_r,kiwame_nvram_w) AM_BASE(&kiwame_nvram) // NVRAM + Regs ?
- AM_RANGE(0x800000, 0x803fff) AM_RAM AM_BASE(&spriteram16_2) // Sprites Code + X + Attr
+ AM_RANGE(0x800000, 0x803fff) AM_RAM AM_BASE_GENERIC(spriteram2) // Sprites Code + X + Attr
/**/AM_RANGE(0x900000, 0x900001) AM_RAM // ? 0x4000
-/**/AM_RANGE(0xa00000, 0xa00607) AM_RAM AM_BASE(&spriteram16) // Sprites Y
- AM_RANGE(0xb00000, 0xb003ff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&seta_paletteram_size) // Palette
+/**/AM_RANGE(0xa00000, 0xa00607) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites Y
+ AM_RANGE(0xb00000, 0xb003ff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&seta_paletteram_size) // Palette
AM_RANGE(0xc00000, 0xc03fff) AM_DEVREADWRITE("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
AM_RANGE(0xd00000, 0xd00009) AM_READ(kiwame_input_r) // mahjong panel
AM_RANGE(0xe00000, 0xe00003) AM_READ(seta_dsw_r) // DSW
@@ -2560,7 +2561,7 @@ static ADDRESS_MAP_START( thunderl_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x400000, 0x40ffff) AM_WRITE(thunderl_protection_w) // Protection (not in wits)
AM_RANGE(0x500000, 0x500001) AM_RAM_WRITE(seta_vregs_w) AM_BASE(&seta_vregs ) // Coin Lockout
AM_RANGE(0x600000, 0x600003) AM_READ(seta_dsw_r) // DSW
- AM_RANGE(0x700000, 0x7003ff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&seta_paletteram_size) // Palette
+ AM_RANGE(0x700000, 0x7003ff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&seta_paletteram_size) // Palette
AM_RANGE(0xb00000, 0xb00001) AM_READ_PORT("P1") // P1
AM_RANGE(0xb00002, 0xb00003) AM_READ_PORT("P2") // P2
AM_RANGE(0xb00004, 0xb00005) AM_READ_PORT("COINS") // Coins
@@ -2568,8 +2569,8 @@ static ADDRESS_MAP_START( thunderl_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xb00008, 0xb00009) AM_READ_PORT("P3") // P3 (wits)
AM_RANGE(0xb0000a, 0xb0000b) AM_READ_PORT("P4") // P4 (wits)
/**/AM_RANGE(0xc00000, 0xc00001) AM_RAM // ? 0x4000
-/**/AM_RANGE(0xd00000, 0xd00607) AM_RAM AM_BASE(&spriteram16) // Sprites Y
- AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_BASE(&spriteram16_2) // Sprites Code + X + Attr
+/**/AM_RANGE(0xd00000, 0xd00607) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites Y
+ AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_BASE_GENERIC(spriteram2) // Sprites Code + X + Attr
AM_RANGE(0xe04000, 0xe07fff) AM_RAM // (wits)
ADDRESS_MAP_END
@@ -2600,7 +2601,7 @@ static ADDRESS_MAP_START( wiggie_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x400000, 0x40ffff) AM_WRITE(thunderl_protection_w) // Protection (not in wits)
AM_RANGE(0x500000, 0x500001) AM_RAM_WRITE(seta_vregs_w) AM_BASE(&seta_vregs) // Coin Lockout
AM_RANGE(0x600000, 0x600003) AM_READ(seta_dsw_r) // DSW
- AM_RANGE(0x700000, 0x7003ff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&seta_paletteram_size) // Palette
+ AM_RANGE(0x700000, 0x7003ff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&seta_paletteram_size) // Palette
AM_RANGE(0xb00000, 0xb00001) AM_READ_PORT("P1") // P1
AM_RANGE(0xb00002, 0xb00003) AM_READ_PORT("P2") // P2
AM_RANGE(0xb00004, 0xb00005) AM_READ_PORT("COINS") // Coins
@@ -2608,8 +2609,8 @@ static ADDRESS_MAP_START( wiggie_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xb00008, 0xb00009) AM_READ_PORT("P3") // P3 (wits)
AM_RANGE(0xb0000a, 0xb0000b) AM_READ_PORT("P4") // P4 (wits)
/**/AM_RANGE(0xc00000, 0xc00001) AM_RAM // ? 0x4000
-/**/AM_RANGE(0xd00000, 0xd00607) AM_RAM AM_BASE(&spriteram16) // Sprites Y
- AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_BASE(&spriteram16_2) // Sprites Code + X + Attr
+/**/AM_RANGE(0xd00000, 0xd00607) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites Y
+ AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_BASE_GENERIC(spriteram2) // Sprites Code + X + Attr
AM_RANGE(0xe04000, 0xe07fff) AM_RAM // (wits)
ADDRESS_MAP_END
@@ -2628,7 +2629,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( umanclub_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM
- AM_RANGE(0x300000, 0x3003ff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&seta_paletteram_size) // Palette
+ AM_RANGE(0x300000, 0x3003ff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&seta_paletteram_size) // Palette
AM_RANGE(0x300400, 0x300fff) AM_RAM //
AM_RANGE(0x400000, 0x400001) AM_READ_PORT("P1") // P1
AM_RANGE(0x400002, 0x400003) AM_READ_PORT("P2") // P2
@@ -2637,9 +2638,9 @@ static ADDRESS_MAP_START( umanclub_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x400004, 0x400005) AM_WRITENOP // ? (end of lev 2)
AM_RANGE(0x500000, 0x500001) AM_RAM_WRITE(seta_vregs_w) AM_BASE(&seta_vregs ) // Coin Lockout + Video Registers
AM_RANGE(0x600000, 0x600003) AM_READ(seta_dsw_r) // DSW
- AM_RANGE(0xa00000, 0xa00607) AM_RAM AM_BASE(&spriteram16) // Sprites Y
+ AM_RANGE(0xa00000, 0xa00607) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites Y
/**/AM_RANGE(0xa80000, 0xa80001) AM_RAM // ? 0x4000
- AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_BASE(&spriteram16_2) // Sprites Code + X + Attr
+ AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_BASE_GENERIC(spriteram2) // Sprites Code + X + Attr
AM_RANGE(0xc00000, 0xc03fff) AM_DEVREADWRITE("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
ADDRESS_MAP_END
@@ -2665,13 +2666,13 @@ static ADDRESS_MAP_START( utoukond_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x400004, 0x400005) AM_READ_PORT("COINS") // Coins
AM_RANGE(0x500000, 0x500005) AM_RAM_WRITE(seta_vregs_w) AM_BASE(&seta_vregs) // ? Coin Lockout + Video Registers
AM_RANGE(0x600000, 0x600003) AM_READ(seta_dsw_r) // DSW
- AM_RANGE(0x700400, 0x700fff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&seta_paletteram_size) // Palette
+ AM_RANGE(0x700400, 0x700fff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&seta_paletteram_size) // Palette
AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE(seta_vram_0_w) AM_BASE(&seta_vram_0) // VRAM 0&1
AM_RANGE(0x880000, 0x883fff) AM_RAM_WRITE(seta_vram_2_w) AM_BASE(&seta_vram_2) // VRAM 2&3
AM_RANGE(0x900000, 0x900005) AM_WRITEONLY AM_BASE(&seta_vctrl_0)// VRAM 0&1 Ctrl
AM_RANGE(0x980000, 0x980005) AM_WRITEONLY AM_BASE(&seta_vctrl_2)// VRAM 2&3 Ctrl
- AM_RANGE(0xa00000, 0xa00607) AM_RAM AM_BASE(&spriteram16) // Sprites Y
- AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_BASE(&spriteram16_2) // Sprites Code + X + Attr
+ AM_RANGE(0xa00000, 0xa00607) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites Y
+ AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_BASE_GENERIC(spriteram2) // Sprites Code + X + Attr
AM_RANGE(0xc00000, 0xc00001) AM_WRITE(utoukond_soundlatch_w) // To Sound CPU (cause an IRQ)
AM_RANGE(0xe00000, 0xe00001) AM_WRITENOP // ? ack
ADDRESS_MAP_END
@@ -2710,10 +2711,10 @@ static ADDRESS_MAP_START( pairlove_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x500004, 0x500005) AM_READ_PORT("COINS") // Coins
AM_RANGE(0x900000, 0x9001ff) AM_READWRITE(pairlove_prot_r,pairlove_prot_w)
AM_RANGE(0xa00000, 0xa03fff) AM_DEVREADWRITE("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
- AM_RANGE(0xb00000, 0xb00fff) AM_RAM AM_BASE(&paletteram16) AM_SIZE(&seta_paletteram_size) // Palette
- AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_BASE(&spriteram16_2) // Sprites Code + X + Attr
+ AM_RANGE(0xb00000, 0xb00fff) AM_RAM AM_BASE_GENERIC(paletteram) AM_SIZE(&seta_paletteram_size) // Palette
+ AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_BASE_GENERIC(spriteram2) // Sprites Code + X + Attr
AM_RANGE(0xd00000, 0xd00001) AM_RAM // ? 0x4000
- AM_RANGE(0xe00000, 0xe00607) AM_RAM AM_BASE(&spriteram16) // Sprites Y
+ AM_RANGE(0xe00000, 0xe00607) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites Y
AM_RANGE(0xf00000, 0xf0ffff) AM_RAM // RAM
ADDRESS_MAP_END
@@ -2731,7 +2732,7 @@ static ADDRESS_MAP_START( crazyfgt_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x610006, 0x610007) AM_WRITENOP
AM_RANGE(0x620000, 0x620003) AM_WRITENOP // protection
AM_RANGE(0x630000, 0x630003) AM_READ(seta_dsw_r)
- AM_RANGE(0x640400, 0x640fff) AM_WRITE(SMH_RAM) AM_BASE(&paletteram16 ) AM_SIZE(&seta_paletteram_size) // Palette
+ AM_RANGE(0x640400, 0x640fff) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(paletteram) AM_SIZE(&seta_paletteram_size) // Palette
AM_RANGE(0x650000, 0x650003) AM_DEVWRITE8("ymsnd", ym3812_w, 0x00ff)
AM_RANGE(0x658000, 0x658001) AM_DEVWRITE8("oki", okim6295_w, 0x00ff)
AM_RANGE(0x670000, 0x670001) AM_READNOP // watchdog?
@@ -2739,9 +2740,9 @@ static ADDRESS_MAP_START( crazyfgt_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x880000, 0x883fff) AM_WRITE(seta_vram_0_w) AM_BASE(&seta_vram_0) // VRAM 0
AM_RANGE(0x900000, 0x900005) AM_RAM AM_BASE(&seta_vctrl_2) // VRAM 2&3 Ctrl
AM_RANGE(0x980000, 0x980005) AM_RAM AM_BASE(&seta_vctrl_0) // VRAM 0&1 Ctrl
- AM_RANGE(0xa00000, 0xa00607) AM_RAM AM_BASE(&spriteram16) // Sprites Y
+ AM_RANGE(0xa00000, 0xa00607) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites Y
AM_RANGE(0xa80000, 0xa80001) AM_WRITENOP // ? 0x4000
- AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_BASE(&spriteram16_2) // Sprites Code + X + Attr
+ AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_BASE_GENERIC(spriteram2) // Sprites Code + X + Attr
ADDRESS_MAP_END
@@ -2805,8 +2806,8 @@ static ADDRESS_MAP_START( inttoote_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xc00000, 0xc00001) AM_RAM // ? 0x4000
- AM_RANGE(0xd00000, 0xd00607) AM_RAM AM_BASE(&spriteram16 ) // Sprites Y
- AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_BASE(&spriteram16_2 ) // Sprites Code + X + Attr
+ AM_RANGE(0xd00000, 0xd00607) AM_RAM AM_BASE_GENERIC(spriteram ) // Sprites Y
+ AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_BASE_GENERIC(spriteram2 ) // Sprites Code + X + Attr
AM_RANGE(0xffc000, 0xffffff) AM_RAM // RAM
ADDRESS_MAP_END
@@ -2868,8 +2869,8 @@ static ADDRESS_MAP_START( jockeyc_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xc00000, 0xc00001) AM_RAM // ? 0x4000
- AM_RANGE(0xd00000, 0xd00607) AM_RAM AM_BASE(&spriteram16) // Sprites Y
- AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_BASE(&spriteram16_2) // Sprites Code + X + Attr
+ AM_RANGE(0xd00000, 0xd00607) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites Y
+ AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_BASE_GENERIC(spriteram2) // Sprites Code + X + Attr
AM_RANGE(0xffc000, 0xffffff) AM_RAM // RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/seta2.c b/src/mame/drivers/seta2.c
index 4a699c8db8a..0e6af4ba833 100644
--- a/src/mame/drivers/seta2.c
+++ b/src/mame/drivers/seta2.c
@@ -588,8 +588,8 @@ static ADDRESS_MAP_START( grdians_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x70000c, 0x70000d) AM_READ(watchdog_reset16_r) // Watchdog
AM_RANGE(0x800000, 0x800001) AM_WRITE(grdians_lockout_w)
AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
- AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
- AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) // Palette
+ AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
+ AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE(0xc50000, 0xc5ffff) AM_RAM // cleared
AM_RANGE(0xc60000, 0xc6003f) AM_WRITE(seta2_vregs_w) AM_BASE(&seta2_vregs) // Video Registers
AM_RANGE(0xe00010, 0xe0001f) AM_WRITE(seta2_sound_bank_w) // Samples Banks
@@ -650,8 +650,8 @@ static ADDRESS_MAP_START( gundamex_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x70000c, 0x70000d) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x800000, 0x800001) AM_WRITE(grdians_lockout_w)
AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
- AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
- AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16 ) // Palette
+ AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
+ AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE(0xc50000, 0xc5ffff) AM_RAM // cleared
AM_RANGE(0xc60000, 0xc6003f) AM_WRITE(seta2_vregs_w) AM_BASE(&seta2_vregs) // Video Registers
AM_RANGE(0xe00010, 0xe0001f) AM_WRITE(seta2_sound_bank_w) // Samples Banks
@@ -711,8 +711,8 @@ static ADDRESS_MAP_START( mj4simai_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x600302, 0x600303) AM_READ_PORT("DSW2") // DSW 2
AM_RANGE(0x600300, 0x60030f) AM_WRITE(seta2_sound_bank_w) // Samples Banks
AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
- AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
- AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) // Palette
+ AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
+ AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE(0xc60000, 0xc6003f) AM_WRITE(seta2_vregs_w) AM_BASE(&seta2_vregs) // Video Registers
AM_RANGE(0xfffc00, 0xffffff) AM_RAM_WRITE(tmp68301_regs_w) AM_BASE(&tmp68301_regs) // TMP68301 Registers
ADDRESS_MAP_END
@@ -734,8 +734,8 @@ static ADDRESS_MAP_START( myangel_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x700302, 0x700303) AM_READ_PORT("DSW2") // DSW 2
AM_RANGE(0x700310, 0x70031f) AM_WRITE(seta2_sound_bank_w) // Samples Banks
AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
- AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
- AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) // Palette
+ AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
+ AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE(0xc60000, 0xc6003f) AM_WRITE(seta2_vregs_w) AM_BASE(&seta2_vregs) // Video Registers
AM_RANGE(0xfffc00, 0xffffff) AM_RAM_WRITE(tmp68301_regs_w) AM_BASE(&tmp68301_regs) // TMP68301 Registers
ADDRESS_MAP_END
@@ -757,8 +757,8 @@ static ADDRESS_MAP_START( myangel2_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x600302, 0x600303) AM_READ_PORT("DSW2") // DSW 2
AM_RANGE(0x600300, 0x60030f) AM_WRITE(seta2_sound_bank_w) // Samples Banks
AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
- AM_RANGE(0xd00000, 0xd3ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
- AM_RANGE(0xd40000, 0xd4ffff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) // Palette
+ AM_RANGE(0xd00000, 0xd3ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
+ AM_RANGE(0xd40000, 0xd4ffff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE(0xd60000, 0xd6003f) AM_WRITE(seta2_vregs_w) AM_BASE(&seta2_vregs ) // Video Registers
AM_RANGE(0xfffc00, 0xffffff) AM_RAM_WRITE(tmp68301_regs_w) AM_BASE(&tmp68301_regs) // TMP68301 Registers
ADDRESS_MAP_END
@@ -801,8 +801,8 @@ static ADDRESS_MAP_START( pzlbowl_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x500004, 0x500005) AM_READWRITE(pzlbowl_coins_r,pzlbowl_coin_counter_w) // Coins + Protection?
AM_RANGE(0x500006, 0x500007) AM_READ(watchdog_reset16_r) // Watchdog
AM_RANGE(0x700000, 0x700001) AM_READ(pzlbowl_protection_r) // Protection
- AM_RANGE(0x800000, 0x83ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
- AM_RANGE(0x840000, 0x84ffff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) // Palette
+ AM_RANGE(0x800000, 0x83ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
+ AM_RANGE(0x840000, 0x84ffff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE(0x860000, 0x86003f) AM_WRITE(seta2_vregs_w) AM_BASE(&seta2_vregs) // Video Registers
AM_RANGE(0x900000, 0x903fff) AM_DEVREADWRITE("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
AM_RANGE(0xfffc00, 0xffffff) AM_RAM_WRITE(tmp68301_regs_w) AM_BASE(&tmp68301_regs) // TMP68301 Registers
@@ -827,8 +827,8 @@ static ADDRESS_MAP_START( penbros_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x600004, 0x600005) AM_WRITE(pzlbowl_coin_counter_w) // Coins Counter
AM_RANGE(0x600006, 0x600007) AM_READ(watchdog_reset16_r) // Watchdog
// AM_RANGE(0x700000, 0x700001) AM_READ(pzlbowl_protection_r) // Protection
- AM_RANGE(0xb00000, 0xb3ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
- AM_RANGE(0xb40000, 0xb4ffff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) // Palette
+ AM_RANGE(0xb00000, 0xb3ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
+ AM_RANGE(0xb40000, 0xb4ffff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE(0xb60000, 0xb6003f) AM_WRITE(seta2_vregs_w) AM_BASE(&seta2_vregs )
AM_RANGE(0xa00000, 0xa03fff) AM_DEVREADWRITE("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
AM_RANGE(0xfffc00, 0xffffff) AM_RAM_WRITE(tmp68301_regs_w) AM_BASE(&tmp68301_regs) // TMP68301 Registers
@@ -870,8 +870,8 @@ static ADDRESS_MAP_START( samshoot_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE( 0x700004, 0x700005 ) AM_READ_PORT("COIN") AM_WRITE( samshoot_coin_w ) // Coins
AM_RANGE( 0x700006, 0x700007 ) AM_READ( watchdog_reset16_r ) // Watchdog?
- AM_RANGE( 0x800000, 0x83ffff ) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Sprites
- AM_RANGE( 0x840000, 0x84ffff ) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) // Palette
+ AM_RANGE( 0x800000, 0x83ffff ) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
+ AM_RANGE( 0x840000, 0x84ffff ) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE( 0x860000, 0x86003f ) AM_WRITE(seta2_vregs_w) AM_BASE(&seta2_vregs) // Video Registers
AM_RANGE( 0x900000, 0x903fff ) AM_DEVREADWRITE( "x1snd", seta_sound_word_r, seta_sound_word_w ) // Sound
@@ -900,7 +900,7 @@ static UINT8 funcube_serial_count;
// RAM shared with the sub CPU
static READ32_HANDLER( funcube_nvram_dword_r )
{
- UINT16 val = space->machine->generic.nvram.ptr.u16[offset];
+ UINT16 val = space->machine->generic.nvram.u16[offset];
return ((val & 0xff00) << 8) | (val & 0x00ff);
}
@@ -908,27 +908,27 @@ static WRITE32_HANDLER( funcube_nvram_dword_w )
{
if (ACCESSING_BITS_0_7)
{
- space->machine->generic.nvram.ptr.u16[offset] = (space->machine->generic.nvram.ptr.u16[offset] & 0xff00) | (data & 0x000000ff);
+ space->machine->generic.nvram.u16[offset] = (space->machine->generic.nvram.u16[offset] & 0xff00) | (data & 0x000000ff);
}
if (ACCESSING_BITS_16_23)
{
- space->machine->generic.nvram.ptr.u16[offset] = (space->machine->generic.nvram.ptr.u16[offset] & 0x00ff) | ((data & 0x00ff0000) >> 8);
+ space->machine->generic.nvram.u16[offset] = (space->machine->generic.nvram.u16[offset] & 0x00ff) | ((data & 0x00ff0000) >> 8);
}
}
static WRITE16_HANDLER( spriteram16_word_w )
{
- COMBINE_DATA( &spriteram16[offset] );
+ COMBINE_DATA( &space->machine->generic.spriteram.u16[offset] );
}
static READ16_HANDLER( spriteram16_word_r )
{
- return spriteram16[offset];
+ return space->machine->generic.spriteram.u16[offset];
}
static READ16_HANDLER( paletteram16_word_r )
{
- return paletteram16[offset];
+ return space->machine->generic.paletteram.u16[offset];
}
static READ16BETO32BE( spriteram32_dword, spriteram16_word_r );
@@ -990,8 +990,8 @@ static ADDRESS_MAP_START( funcube_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE( 0x00600000, 0x00600003 ) AM_WRITE( SMH_NOP ) // sound chip
- AM_RANGE( 0x00800000, 0x0083ffff ) AM_READWRITE( spriteram32_dword_r, spriteram32_dword_w ) AM_BASE((UINT32**)&spriteram16 ) AM_SIZE(&spriteram_size)
- AM_RANGE( 0x00840000, 0x0084ffff ) AM_READWRITE( paletteram32_dword_r, paletteram32_dword_w ) AM_BASE((UINT32**)&paletteram16)
+ AM_RANGE( 0x00800000, 0x0083ffff ) AM_READWRITE( spriteram32_dword_r, spriteram32_dword_w ) AM_BASE_GENERIC(spriteram) AM_SIZE_GENERIC(spriteram)
+ AM_RANGE( 0x00840000, 0x0084ffff ) AM_READWRITE( paletteram32_dword_r, paletteram32_dword_w ) AM_BASE_GENERIC(paletteram)
AM_RANGE( 0x00860000, 0x0086003f ) AM_WRITE( seta2_vregs_dword_w ) AM_BASE((UINT32**)&seta2_vregs)
AM_RANGE( 0x00c00000, 0x00c002ff ) AM_READWRITE( funcube_nvram_dword_r, funcube_nvram_dword_w )
diff --git a/src/mame/drivers/sf.c b/src/mame/drivers/sf.c
index 155f72cffce..cea1a88a2b3 100644
--- a/src/mame/drivers/sf.c
+++ b/src/mame/drivers/sf.c
@@ -190,8 +190,8 @@ static WRITE8_DEVICE_HANDLER( msm5205_w )
static ADDRESS_MAP_START( sf_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x04ffff) AM_ROM
- AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(sf_videoram_w) AM_BASE(&sf_videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0xb00000, 0xb007ff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(sf_videoram_w) AM_BASE(&sf_videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0xb00000, 0xb007ff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(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)
@@ -212,8 +212,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sfus_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x04ffff) AM_ROM
- AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(sf_videoram_w) AM_BASE(&sf_videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0xb00000, 0xb007ff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(sf_videoram_w) AM_BASE(&sf_videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0xb00000, 0xb007ff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(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)
@@ -234,8 +234,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sfjp_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x04ffff) AM_ROM
- AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(sf_videoram_w) AM_BASE(&sf_videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0xb00000, 0xb007ff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(sf_videoram_w) AM_BASE(&sf_videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0xb00000, 0xb007ff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(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 f68b902fa67..6ad8145ab46 100644
--- a/src/mame/drivers/shadfrce.c
+++ b/src/mame/drivers/shadfrce.c
@@ -386,8 +386,8 @@ static ADDRESS_MAP_START( shadfrce_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x102000, 0x1027ff) AM_RAM_WRITE(shadfrce_bg1videoram_w) AM_BASE(&shadfrce_bg1videoram) /* bg 2 */
AM_RANGE(0x102800, 0x103fff) AM_RAM
AM_RANGE(0x140000, 0x141fff) AM_RAM_WRITE(shadfrce_fgvideoram_w) AM_BASE(&shadfrce_fgvideoram)
- AM_RANGE(0x142000, 0x143fff) AM_RAM AM_BASE(&shadfrce_spvideoram) AM_SIZE(&spriteram_size) /* sprites */
- AM_RANGE(0x180000, 0x187fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x142000, 0x143fff) AM_RAM AM_BASE(&shadfrce_spvideoram) AM_SIZE_GENERIC(spriteram) /* sprites */
+ AM_RANGE(0x180000, 0x187fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x1c0000, 0x1c0001) AM_WRITE(shadfrce_bg0scrollx_w) /* SCROLL X */
AM_RANGE(0x1c0002, 0x1c0003) AM_WRITE(shadfrce_bg0scrolly_w) /* SCROLL Y */
AM_RANGE(0x1c0004, 0x1c0005) AM_WRITE(shadfrce_bg1scrollx_w) /* SCROLL X */
diff --git a/src/mame/drivers/shangha3.c b/src/mame/drivers/shangha3.c
index 9169b826814..fc1565d18fc 100644
--- a/src/mame/drivers/shangha3.c
+++ b/src/mame/drivers/shangha3.c
@@ -128,7 +128,7 @@ static WRITE16_HANDLER( heberpop_sound_command_w )
static ADDRESS_MAP_START( shangha3_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x200000, 0x200001) AM_READ_PORT("INPUTS")
AM_RANGE(0x200002, 0x200003) AM_READ_PORT("SYSTEM")
AM_RANGE(0x200008, 0x200009) AM_WRITE(shangha3_blitter_go_w)
@@ -146,7 +146,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( heberpop_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
- AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE_GENERIC(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")
@@ -169,7 +169,7 @@ static ADDRESS_MAP_START( blocken_map, ADDRESS_SPACE_PROGRAM, 16 )
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(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x300000, 0x30ffff) AM_RAM AM_BASE(&shangha3_ram) AM_SIZE(&shangha3_ram_size) /* gfx & work ram */
AM_RANGE(0x340000, 0x340001) AM_WRITE(shangha3_flipscreen_w)
AM_RANGE(0x360000, 0x360001) AM_WRITE(shangha3_gfxlist_addr_w)
diff --git a/src/mame/drivers/shanghai.c b/src/mame/drivers/shanghai.c
index 0f38b27844b..a1baa9cd400 100644
--- a/src/mame/drivers/shanghai.c
+++ b/src/mame/drivers/shanghai.c
@@ -128,7 +128,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( shangha2_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00000, 0x03fff) AM_RAM
- AM_RANGE(0x04000, 0x041ff) AM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x04000, 0x041ff) AM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x80000, 0xfffff) AM_ROM
ADDRESS_MAP_END
@@ -167,7 +167,7 @@ static ADDRESS_MAP_START( kothello_map, ADDRESS_SPACE_PROGRAM, 16 )
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(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0a000, 0x0a1ff) AM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x0b010, 0x0b01f) AM_READWRITE(seibu_main_word_r, seibu_main_word_w)
AM_RANGE(0x80000, 0xfffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/shangkid.c b/src/mame/drivers/shangkid.c
index 57f61985f4a..b7caaba8ae2 100644
--- a/src/mame/drivers/shangkid.c
+++ b/src/mame/drivers/shangkid.c
@@ -257,9 +257,9 @@ static ADDRESS_MAP_START( chinhero_main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xb802, 0xb802) AM_READ_PORT("P2")
AM_RANGE(0xb803, 0xb803) AM_READ_PORT("P1")
AM_RANGE(0xc000, 0xc002) AM_WRITE(SMH_RAM) AM_BASE(&shangkid_videoreg)
- AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(shangkid_videoram_w) AM_BASE(&videoram) AM_SHARE(1)
+ AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(shangkid_videoram_w) AM_BASE_GENERIC(videoram) AM_SHARE(1)
AM_RANGE(0xe000, 0xfdff) AM_RAM AM_SHARE(2)
- AM_RANGE(0xfe00, 0xffff) AM_RAM AM_BASE(&spriteram) AM_SHARE(3)
+ AM_RANGE(0xfe00, 0xffff) AM_RAM AM_BASE_GENERIC(spriteram) AM_SHARE(3)
ADDRESS_MAP_END
static ADDRESS_MAP_START( shangkid_main_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -278,9 +278,9 @@ static ADDRESS_MAP_START( shangkid_main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xb802, 0xb802) AM_READ_PORT("P2")
AM_RANGE(0xb803, 0xb803) AM_READ_PORT("P1")
AM_RANGE(0xc000, 0xc002) AM_WRITE(SMH_RAM) AM_BASE(&shangkid_videoreg)
- AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(shangkid_videoram_w) AM_BASE(&videoram) AM_SHARE(1)
+ AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(shangkid_videoram_w) AM_BASE_GENERIC(videoram) AM_SHARE(1)
AM_RANGE(0xe000, 0xfdff) AM_RAM AM_SHARE(2)
- AM_RANGE(0xfe00, 0xffff) AM_RAM AM_BASE(&spriteram) AM_SHARE(3)
+ AM_RANGE(0xfe00, 0xffff) AM_RAM AM_BASE_GENERIC(spriteram) AM_SHARE(3)
ADDRESS_MAP_END
/***************************************************************************************/
@@ -447,7 +447,7 @@ MACHINE_DRIVER_END
static ADDRESS_MAP_START( dynamski_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_BASE(&videoram) /* tilemap */
+ AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_BASE_GENERIC(videoram) /* tilemap */
AM_RANGE(0xc800, 0xcbff) AM_RAM
AM_RANGE(0xd000, 0xd3ff) AM_RAM
AM_RANGE(0xd800, 0xdbff) AM_RAM
diff --git a/src/mame/drivers/shaolins.c b/src/mame/drivers/shaolins.c
index 98918fb0b18..6ce177e7517 100644
--- a/src/mame/drivers/shaolins.c
+++ b/src/mame/drivers/shaolins.c
@@ -55,9 +55,9 @@ static ADDRESS_MAP_START( shaolins_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x2000, 0x2000) AM_WRITE(shaolins_scroll_w)
AM_RANGE(0x2800, 0x2bff) AM_RAM /* RAM BANK 2 */
AM_RANGE(0x3000, 0x30ff) AM_RAM /* RAM BANK 1 */
- AM_RANGE(0x3100, 0x33ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0x3800, 0x3bff) AM_RAM_WRITE(shaolins_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0x3c00, 0x3fff) AM_RAM_WRITE(shaolins_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x3100, 0x33ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x3800, 0x3bff) AM_RAM_WRITE(shaolins_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x3c00, 0x3fff) AM_RAM_WRITE(shaolins_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x4000, 0x5fff) AM_ROM /* Machine checks for extra rom */
AM_RANGE(0x6000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/shisen.c b/src/mame/drivers/shisen.c
index 282b181d4a4..84b0df9748e 100644
--- a/src/mame/drivers/shisen.c
+++ b/src/mame/drivers/shisen.c
@@ -51,8 +51,8 @@ static WRITE8_HANDLER( sichuan2_coin_w )
static ADDRESS_MAP_START( shisen_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
- AM_RANGE(0xc800, 0xcaff) AM_RAM_WRITE(sichuan2_paletteram_w) AM_BASE(&paletteram)
- AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(sichuan2_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0xc800, 0xcaff) AM_RAM_WRITE(sichuan2_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(sichuan2_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/shootout.c b/src/mame/drivers/shootout.c
index 0589df94a01..5989761fdb9 100644
--- a/src/mame/drivers/shootout.c
+++ b/src/mame/drivers/shootout.c
@@ -80,9 +80,9 @@ static ADDRESS_MAP_START( shootout_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1002, 0x1002) AM_READ_PORT("P2") AM_WRITE(shootout_coin_counter_w)
AM_RANGE(0x1003, 0x1003) AM_READ_PORT("DSW2") AM_WRITE(sound_cpu_command_w)
AM_RANGE(0x1004, 0x17ff) AM_RAM
- AM_RANGE(0x1800, 0x19ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x1800, 0x19ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(shootout_textram_w) AM_BASE(&shootout_textram)
- AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(shootout_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(shootout_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK(1)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -94,10 +94,10 @@ static ADDRESS_MAP_START( shootouj_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1002, 0x1002) AM_READ_PORT("P2")
AM_RANGE(0x1003, 0x1003) AM_READ_PORT("DSW2")
AM_RANGE(0x1800, 0x1800) AM_WRITE(shootout_coin_counter_w)
- AM_RANGE(0x2000, 0x21ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x2000, 0x21ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x2800, 0x2801) AM_DEVREADWRITE("ymsnd", ym2203_r,ym2203_w)
AM_RANGE(0x3000, 0x37ff) AM_RAM_WRITE(shootout_textram_w) AM_BASE(&shootout_textram)
- AM_RANGE(0x3800, 0x3fff) AM_RAM_WRITE(shootout_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x3800, 0x3fff) AM_RAM_WRITE(shootout_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK(1)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/shougi.c b/src/mame/drivers/shougi.c
index c0b031270e2..4331407c13d 100644
--- a/src/mame/drivers/shougi.c
+++ b/src/mame/drivers/shougi.c
@@ -159,8 +159,8 @@ static VIDEO_UPDATE( shougi )
// if (flipscreen[0]) sx = 31 - sx;
// if (flipscreen[1]) sy = 31 - sy;
- data1 = videoram[offs]; /* color */
- data2 = videoram[0x4000 + offs]; /* pixel data */
+ data1 = screen->machine->generic.videoram.u8[offs]; /* color */
+ data2 = screen->machine->generic.videoram.u8[0x4000 + offs]; /* pixel data */
for (x=0; x<4; x++) /*4 pixels per byte (2 bitplanes in 2 nibbles: 1st=bits 7-4, 2nd=bits 3-0)*/
{
@@ -283,7 +283,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x7000, 0x73ff) AM_RAM AM_SHARE(1) /* 2114 x 2 (0x400 x 4bit each) */
AM_RANGE(0x7800, 0x7bff) AM_RAM AM_SHARE(2) /* 2114 x 2 (0x400 x 4bit each) */
- AM_RANGE(0x8000, 0xffff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size) /* 4116 x 16 (32K) */
+ AM_RANGE(0x8000, 0xffff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) /* 4116 x 16 (32K) */
ADDRESS_MAP_END
/* sub */
diff --git a/src/mame/drivers/shuuz.c b/src/mame/drivers/shuuz.c
index ae2dc586d7a..2b50a801734 100644
--- a/src/mame/drivers/shuuz.c
+++ b/src/mame/drivers/shuuz.c
@@ -139,7 +139,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x105002, 0x105003) AM_READ_PORT("BUTTONS")
AM_RANGE(0x106000, 0x106001) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
AM_RANGE(0x107000, 0x107007) AM_NOP
- AM_RANGE(0x3e0000, 0x3e087f) AM_RAM_WRITE(atarigen_666_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x3e0000, 0x3e087f) AM_RAM_WRITE(atarigen_666_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x3effc0, 0x3effff) AM_READWRITE(shuuz_atarivc_r, shuuz_atarivc_w) AM_BASE(&atarivc_data)
AM_RANGE(0x3f4000, 0x3f5eff) AM_RAM_WRITE(atarigen_playfield_latched_msb_w) AM_BASE(&atarigen_playfield)
AM_RANGE(0x3f5f00, 0x3f5f7f) AM_RAM AM_BASE(&atarivc_eof_data)
diff --git a/src/mame/drivers/sidearms.c b/src/mame/drivers/sidearms.c
index b48a699dd50..f5fd29f1ffa 100644
--- a/src/mame/drivers/sidearms.c
+++ b/src/mame/drivers/sidearms.c
@@ -87,8 +87,8 @@ static READ8_HANDLER( turtship_ports_r )
static ADDRESS_MAP_START( sidearms_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
- AM_RANGE(0xc000, 0xc3ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split1_w) AM_BASE(&paletteram)
- AM_RANGE(0xc400, 0xc7ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split2_w) AM_BASE(&paletteram_2)
+ AM_RANGE(0xc000, 0xc3ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split1_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xc400, 0xc7ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split2_w) AM_BASE_GENERIC(paletteram2)
AM_RANGE(0xc800, 0xc800) AM_READ_PORT("SYSTEM") AM_WRITE(soundlatch_w)
AM_RANGE(0xc801, 0xc801) AM_READ_PORT("P1") AM_WRITE(sidearms_bankswitch_w)
AM_RANGE(0xc802, 0xc802) AM_READ_PORT("P2") AM_WRITE(watchdog_reset_w)
@@ -99,19 +99,19 @@ static ADDRESS_MAP_START( sidearms_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc808, 0xc809) AM_WRITEONLY AM_BASE(&sidearms_bg_scrollx)
AM_RANGE(0xc80a, 0xc80b) AM_WRITEONLY AM_BASE(&sidearms_bg_scrolly)
AM_RANGE(0xc80c, 0xc80c) AM_WRITE(sidearms_gfxctrl_w) /* background and sprite enable */
- AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(sidearms_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(sidearms_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(sidearms_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(sidearms_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0xe000, 0xefff) AM_RAM
- AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( turtship_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
AM_RANGE(0xc000, 0xcfff) AM_RAM
- AM_RANGE(0xd000, 0xdfff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split1_w) AM_BASE(&paletteram)
- AM_RANGE(0xe400, 0xe7ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split2_w) AM_BASE(&paletteram_2)
+ AM_RANGE(0xd000, 0xdfff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split1_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xe400, 0xe7ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split2_w) AM_BASE_GENERIC(paletteram2)
AM_RANGE(0xe800, 0xe807) AM_READ(turtship_ports_r)
AM_RANGE(0xe800, 0xe800) AM_WRITE(soundlatch_w)
AM_RANGE(0xe801, 0xe801) AM_WRITE(sidearms_bankswitch_w)
@@ -122,8 +122,8 @@ static ADDRESS_MAP_START( turtship_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xe808, 0xe809) AM_WRITEONLY AM_BASE(&sidearms_bg_scrollx)
AM_RANGE(0xe80a, 0xe80b) AM_WRITEONLY AM_BASE(&sidearms_bg_scrolly)
AM_RANGE(0xe80c, 0xe80c) AM_WRITE(sidearms_gfxctrl_w) /* background and sprite enable */
- AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(sidearms_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(sidearms_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(sidearms_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(sidearms_colorram_w) AM_BASE_GENERIC(colorram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sidearms_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -157,8 +157,8 @@ static WRITE8_HANDLER( whizz_bankswitch_w )
static ADDRESS_MAP_START( whizz_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
- AM_RANGE(0xc000, 0xc3ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split1_w) AM_BASE(&paletteram)
- AM_RANGE(0xc400, 0xc7ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split2_w) AM_BASE(&paletteram_2)
+ AM_RANGE(0xc000, 0xc3ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split1_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xc400, 0xc7ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split2_w) AM_BASE_GENERIC(paletteram2)
AM_RANGE(0xc800, 0xc800) AM_READ_PORT("DSW0") AM_WRITE(soundlatch_w)
AM_RANGE(0xc801, 0xc801) AM_READ_PORT("DSW1") AM_WRITE(whizz_bankswitch_w)
AM_RANGE(0xc802, 0xc802) AM_READ_PORT("DSW2") AM_WRITE(watchdog_reset_w)
@@ -172,10 +172,10 @@ static ADDRESS_MAP_START( whizz_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xe805, 0xe805) AM_WRITE(sidearms_star_scrollx_w)
AM_RANGE(0xe806, 0xe806) AM_WRITE(sidearms_star_scrolly_w)
AM_RANGE(0xc80c, 0xc80c) AM_WRITE(sidearms_gfxctrl_w)
- AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(sidearms_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(sidearms_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(sidearms_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(sidearms_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0xe000, 0xefff) AM_RAM
- AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( whizz_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
diff --git a/src/mame/drivers/sidepckt.c b/src/mame/drivers/sidepckt.c
index e5d1af3fd9a..6b337bd3e1a 100644
--- a/src/mame/drivers/sidepckt.c
+++ b/src/mame/drivers/sidepckt.c
@@ -127,11 +127,11 @@ static WRITE8_HANDLER( sidepctj_i8751_w )
static ADDRESS_MAP_START( sidepckt_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_RAM
- AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(sidepckt_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(sidepckt_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x1400, 0x17ff) AM_RAM // ???
- AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(sidepckt_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(sidepckt_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x1c00, 0x1fff) AM_RAM // ???
- AM_RANGE(0x2000, 0x20ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x2000, 0x20ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x2100, 0x24ff) AM_RAM // ???
AM_RANGE(0x3000, 0x3000) AM_READ_PORT("P1")
AM_RANGE(0x3001, 0x3001) AM_READ_PORT("P2")
diff --git a/src/mame/drivers/silkroad.c b/src/mame/drivers/silkroad.c
index 02c634984b0..5c0a74f24b1 100644
--- a/src/mame/drivers/silkroad.c
+++ b/src/mame/drivers/silkroad.c
@@ -136,8 +136,8 @@ VIDEO_UPDATE(silkroad);
static WRITE32_HANDLER( paletteram32_xRRRRRGGGGGBBBBB_dword_w )
{
- COMBINE_DATA(&paletteram32[offset]);
- palette_set_color_rgb(space->machine,offset,pal5bit(paletteram32[offset] >> (10+16)),pal5bit(paletteram32[offset] >> (5+16)),pal5bit(paletteram32[offset] >> (0+16)));
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
+ palette_set_color_rgb(space->machine,offset,pal5bit(space->machine->generic.paletteram.u32[offset] >> (10+16)),pal5bit(space->machine->generic.paletteram.u32[offset] >> (5+16)),pal5bit(space->machine->generic.paletteram.u32[offset] >> (0+16)));
}
static WRITE32_DEVICE_HANDLER(silk_6295_bank_w)
@@ -162,7 +162,7 @@ static WRITE32_HANDLER(silk_coin_counter_w)
static ADDRESS_MAP_START( cpu_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x40c000, 0x40cfff) AM_RAM AM_BASE(&silkroad_sprram) // sprites
- AM_RANGE(0x600000, 0x603fff) AM_RAM_WRITE(paletteram32_xRRRRRGGGGGBBBBB_dword_w) AM_BASE(&paletteram32) // palette
+ AM_RANGE(0x600000, 0x603fff) AM_RAM_WRITE(paletteram32_xRRRRRGGGGGBBBBB_dword_w) AM_BASE_GENERIC(paletteram) // palette
AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE(silkroad_fgram_w) AM_BASE(&silkroad_vidram) // lower Layer
AM_RANGE(0x804000, 0x807fff) AM_RAM_WRITE(silkroad_fgram2_w) AM_BASE(&silkroad_vidram2) // mid layer
AM_RANGE(0x808000, 0x80bfff) AM_RAM_WRITE(silkroad_fgram3_w) AM_BASE(&silkroad_vidram3) // higher layer
diff --git a/src/mame/drivers/simpl156.c b/src/mame/drivers/simpl156.c
index b4805884fe3..ee22f3aed1b 100644
--- a/src/mame/drivers/simpl156.c
+++ b/src/mame/drivers/simpl156.c
@@ -146,7 +146,7 @@ static READ32_HANDLER( simpl156_inputs_read )
static READ32_HANDLER( simpl156_palette_r )
{
- return paletteram16[offset]^0xffff0000;
+ return space->machine->generic.paletteram.u16[offset]^0xffff0000;
}
static WRITE32_HANDLER( simpl156_palette_w )
@@ -157,10 +157,10 @@ static WRITE32_HANDLER( simpl156_palette_w )
data &=0x0000ffff;
mem_mask &=0x0000ffff;
- COMBINE_DATA(&paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
color = offset;
- dat = paletteram16[offset]&0xffff;
+ dat = space->machine->generic.paletteram.u16[offset]&0xffff;
palette_set_color_rgb(space->machine,color,pal5bit(dat >> 0),pal5bit(dat >> 5),pal5bit(dat >> 10));
}
@@ -192,7 +192,7 @@ static WRITE32_HANDLER( simpl156_eeprom_w )
static READ32_HANDLER( simpl156_spriteram_r )
{
- return spriteram32[offset]^0xffff0000;
+ return space->machine->generic.spriteram.u32[offset]^0xffff0000;
}
static WRITE32_HANDLER( simpl156_spriteram_w )
@@ -200,7 +200,7 @@ static WRITE32_HANDLER( simpl156_spriteram_w )
data &=0x0000ffff;
mem_mask &=0x0000ffff;
- COMBINE_DATA(&spriteram32[offset]);
+ COMBINE_DATA(&space->machine->generic.spriteram.u32[offset]);
}
static UINT32*simpl156_mainram;
@@ -291,7 +291,7 @@ static WRITE32_HANDLER( simpl156_pf2_data_w )
static ADDRESS_MAP_START( joemacr_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x107fff) AM_READWRITE(simpl156_mainram_r, simpl156_mainram_w) AM_BASE(&simpl156_mainram) // main ram
- AM_RANGE(0x110000, 0x111fff) AM_READWRITE(simpl156_spriteram_r, simpl156_spriteram_w) AM_BASE(&spriteram32) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x110000, 0x111fff) AM_READWRITE(simpl156_spriteram_r, simpl156_spriteram_w) AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x120000, 0x120fff) AM_READWRITE(simpl156_palette_r,simpl156_palette_w)
AM_RANGE(0x130000, 0x130003) AM_READWRITE(simpl156_system_r,simpl156_eeprom_w)
AM_RANGE(0x140000, 0x14001f) AM_READWRITE(simpl156_pf12_control_r, simpl156_pf12_control_w)
@@ -315,7 +315,7 @@ static ADDRESS_MAP_START( chainrec_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x201000, 0x201fff) AM_RAM AM_BASE(&simpl156_systemram) // work ram (32-bit)
AM_RANGE(0x3c0000, 0x3c0003) AM_DEVREADWRITE8("okimusic", okim6295_r, okim6295_w, 0x000000ff)
AM_RANGE(0x400000, 0x407fff) AM_READWRITE(simpl156_mainram_r, simpl156_mainram_w) AM_BASE(&simpl156_mainram) // main ram?
- AM_RANGE(0x410000, 0x411fff) AM_READWRITE(simpl156_spriteram_r, simpl156_spriteram_w) AM_BASE(&spriteram32) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x410000, 0x411fff) AM_READWRITE(simpl156_spriteram_r, simpl156_spriteram_w) AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x420000, 0x420fff) AM_READWRITE(simpl156_palette_r,simpl156_palette_w)
AM_RANGE(0x430000, 0x430003) AM_READWRITE(simpl156_system_r,simpl156_eeprom_w)
AM_RANGE(0x440000, 0x44001f) AM_READWRITE(simpl156_pf12_control_r, simpl156_pf12_control_w)
@@ -336,7 +336,7 @@ static ADDRESS_MAP_START( magdrop_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x201000, 0x201fff) AM_RAM AM_BASE(&simpl156_systemram) // work ram (32-bit)
AM_RANGE(0x340000, 0x340003) AM_DEVREADWRITE8("okimusic", okim6295_r, okim6295_w, 0x000000ff)
AM_RANGE(0x380000, 0x387fff) AM_READWRITE(simpl156_mainram_r, simpl156_mainram_w) AM_BASE(&simpl156_mainram) // main ram?
- AM_RANGE(0x390000, 0x391fff) AM_READWRITE(simpl156_spriteram_r, simpl156_spriteram_w) AM_BASE(&spriteram32) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x390000, 0x391fff) AM_READWRITE(simpl156_spriteram_r, simpl156_spriteram_w) AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x3a0000, 0x3a0fff) AM_READWRITE(simpl156_palette_r,simpl156_palette_w)
AM_RANGE(0x3b0000, 0x3b0003) AM_READWRITE(simpl156_system_r,simpl156_eeprom_w)
AM_RANGE(0x3c0000, 0x3c001f) AM_READWRITE(simpl156_pf12_control_r, simpl156_pf12_control_w)
@@ -357,7 +357,7 @@ static ADDRESS_MAP_START( magdropp_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x201000, 0x201fff) AM_RAM AM_BASE(&simpl156_systemram) // work ram (32-bit)
AM_RANGE(0x4c0000, 0x4c0003) AM_DEVREADWRITE8("okimusic", okim6295_r, okim6295_w, 0x000000ff)
AM_RANGE(0x680000, 0x687fff) AM_READWRITE(simpl156_mainram_r, simpl156_mainram_w) AM_BASE(&simpl156_mainram) // main ram?
- AM_RANGE(0x690000, 0x691fff) AM_READWRITE(simpl156_spriteram_r, simpl156_spriteram_w) AM_BASE(&spriteram32) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x690000, 0x691fff) AM_READWRITE(simpl156_spriteram_r, simpl156_spriteram_w) AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x6a0000, 0x6a0fff) AM_READWRITE(simpl156_palette_r,simpl156_palette_w)
AM_RANGE(0x6b0000, 0x6b0003) AM_READWRITE(simpl156_system_r,simpl156_eeprom_w)
AM_RANGE(0x6c0000, 0x6c001f) AM_READWRITE(simpl156_pf12_control_r, simpl156_pf12_control_w)
@@ -377,7 +377,7 @@ static ADDRESS_MAP_START( mitchell156_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x100000, 0x100003) AM_DEVREADWRITE8("okisfx", okim6295_r, okim6295_w, 0x000000ff)
AM_RANGE(0x140000, 0x140003) AM_DEVREADWRITE8("okimusic", okim6295_r, okim6295_w, 0x000000ff)
AM_RANGE(0x180000, 0x187fff) AM_READWRITE(simpl156_mainram_r, simpl156_mainram_w) AM_BASE(&simpl156_mainram) // main ram
- AM_RANGE(0x190000, 0x191fff) AM_READWRITE(simpl156_spriteram_r, simpl156_spriteram_w) AM_BASE(&spriteram32) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x190000, 0x191fff) AM_READWRITE(simpl156_spriteram_r, simpl156_spriteram_w) AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x1a0000, 0x1a0fff) AM_READWRITE(simpl156_palette_r,simpl156_palette_w)
AM_RANGE(0x1b0000, 0x1b0003) AM_READWRITE(simpl156_system_r,simpl156_eeprom_w)
AM_RANGE(0x1c0000, 0x1c001f) AM_READWRITE(simpl156_pf12_control_r, simpl156_pf12_control_w)
diff --git a/src/mame/drivers/simpsons.c b/src/mame/drivers/simpsons.c
index 00b9217be97..2b052a7edb1 100644
--- a/src/mame/drivers/simpsons.c
+++ b/src/mame/drivers/simpsons.c
@@ -213,13 +213,13 @@ INPUT_PORTS_END
***************************************************************************/
-static void simpsons_objdma(void)
+static void simpsons_objdma(running_machine *machine)
{
int counter, num_inactive;
UINT16 *src, *dst;
K053247_export_config(&dst, 0, 0, 0, &counter);
- src = spriteram16;
+ src = machine->generic.spriteram.u16;
num_inactive = counter = 256;
do {
@@ -246,7 +246,7 @@ static INTERRUPT_GEN( simpsons_irq )
{
if (K053246_is_IRQ_enabled())
{
- simpsons_objdma();
+ simpsons_objdma(device->machine);
// 32+256us delay at 8MHz dotclock; artificially shortened since actual V-blank length is unknown
timer_set(device->machine, ATTOTIME_IN_USEC(30), NULL, 0, dmaend_callback);
diff --git a/src/mame/drivers/skullxbo.c b/src/mame/drivers/skullxbo.c
index fc9bdb6e71d..98af4eee8f4 100644
--- a/src/mame/drivers/skullxbo.c
+++ b/src/mame/drivers/skullxbo.c
@@ -130,7 +130,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xff1e80, 0xff1eff) AM_WRITE(skullxbo_xscroll_w)
AM_RANGE(0xff1f00, 0xff1f7f) AM_WRITE(atarigen_scanline_int_ack_w)
AM_RANGE(0xff1f80, 0xff1fff) AM_WRITE(watchdog_reset16_w)
- AM_RANGE(0xff2000, 0xff2fff) AM_RAM_WRITE(atarigen_666_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xff2000, 0xff2fff) AM_RAM_WRITE(atarigen_666_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xff4000, 0xff47ff) AM_WRITE(skullxbo_yscroll_w) AM_BASE(&atarigen_yscroll)
AM_RANGE(0xff4800, 0xff4fff) AM_WRITE(skullxbo_mobwr_w)
AM_RANGE(0xff6000, 0xff6fff) AM_WRITE(atarigen_eeprom_w) AM_BASE(&atarigen_eeprom) AM_SIZE(&atarigen_eeprom_size)
diff --git a/src/mame/drivers/skyarmy.c b/src/mame/drivers/skyarmy.c
index 084304f0371..74af6ff0ccb 100644
--- a/src/mame/drivers/skyarmy.c
+++ b/src/mame/drivers/skyarmy.c
@@ -95,6 +95,7 @@ static VIDEO_START( skyarmy )
static VIDEO_UPDATE( skyarmy )
{
+ UINT8 *spriteram = screen->machine->generic.spriteram.u8;
int sx, sy, flipx, flipy, offs,pal;
int i;
for(i=0;i<0x20;i++)tilemap_set_scrolly( skyarmy_tilemap,i,skyarmy_scrollram[i]);
@@ -146,7 +147,7 @@ static ADDRESS_MAP_START( skyarmy_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(skyarmy_videoram_w) AM_BASE(&skyarmy_videoram) /* Video RAM */
AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(skyarmy_colorram_w) AM_BASE(&skyarmy_colorram) /* Color RAM */
- AM_RANGE(0x9800, 0x983f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) /* Sprites */
+ AM_RANGE(0x9800, 0x983f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Sprites */
AM_RANGE(0x9840, 0x985f) AM_RAM AM_BASE(&skyarmy_scrollram) /* Scroll RAM */
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("DSW")
AM_RANGE(0xa001, 0xa001) AM_READ_PORT("P1")
diff --git a/src/mame/drivers/skyfox.c b/src/mame/drivers/skyfox.c
index 8396a991a7c..9b777af6bfe 100644
--- a/src/mame/drivers/skyfox.c
+++ b/src/mame/drivers/skyfox.c
@@ -50,7 +50,7 @@ VIDEO_UPDATE( skyfox );
static ADDRESS_MAP_START( skyfox_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM // ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM // RAM
- AM_RANGE(0xd000, 0xd3ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0xd000, 0xd3ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0xd400, 0xdfff) AM_RAM // RAM?
AM_RANGE(0xe000, 0xe000) AM_READ_PORT("INPUTS") // Input Ports
AM_RANGE(0xe001, 0xe001) AM_READ_PORT("DSW0") //
diff --git a/src/mame/drivers/skylncr.c b/src/mame/drivers/skylncr.c
index 82ffc38ceff..005fe2d332b 100644
--- a/src/mame/drivers/skylncr.c
+++ b/src/mame/drivers/skylncr.c
@@ -220,11 +220,11 @@ static WRITE8_HANDLER( skylncr_paletteram_w )
else
{
int r,g,b;
- paletteram[color] = data;
+ space->machine->generic.paletteram.u8[color] = data;
- r = paletteram[(color/3 * 3) + 0];
- g = paletteram[(color/3 * 3) + 1];
- b = paletteram[(color/3 * 3) + 2];
+ r = space->machine->generic.paletteram.u8[(color/3 * 3) + 0];
+ g = space->machine->generic.paletteram.u8[(color/3 * 3) + 1];
+ b = space->machine->generic.paletteram.u8[(color/3 * 3) + 2];
r = (r << 2) | (r >> 4);
g = (g << 2) | (g >> 4);
b = (b << 2) | (b >> 4);
@@ -245,11 +245,11 @@ static WRITE8_HANDLER( skylncr_paletteram2_w )
else
{
int r,g,b;
- paletteram_2[color] = data;
+ space->machine->generic.paletteram2.u8[color] = data;
- r = paletteram_2[(color/3 * 3) + 0];
- g = paletteram_2[(color/3 * 3) + 1];
- b = paletteram_2[(color/3 * 3) + 2];
+ r = space->machine->generic.paletteram2.u8[(color/3 * 3) + 0];
+ g = space->machine->generic.paletteram2.u8[(color/3 * 3) + 1];
+ b = space->machine->generic.paletteram2.u8[(color/3 * 3) + 2];
r = (r << 2) | (r >> 4);
g = (g << 2) | (g >> 4);
b = (b << 2) | (b >> 4);
@@ -824,8 +824,8 @@ ROM_END
static DRIVER_INIT( skylncr )
{
- paletteram = auto_alloc_array(machine, UINT8, 0x100 * 3);
- paletteram_2 = auto_alloc_array(machine, UINT8, 0x100 * 3);
+ machine->generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x100 * 3);
+ machine->generic.paletteram2.u8 = auto_alloc_array(machine, UINT8, 0x100 * 3);
}
diff --git a/src/mame/drivers/slapfght.c b/src/mame/drivers/slapfght.c
index 993d591ac55..864c9bd1d7d 100644
--- a/src/mame/drivers/slapfght.c
+++ b/src/mame/drivers/slapfght.c
@@ -413,9 +413,9 @@ static ADDRESS_MAP_START( perfrman_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x880f) AM_RAM AM_SHARE(1)
AM_RANGE(0x8810, 0x8fff) AM_RAMBANK(1) /* Shared RAM with sound CPU */
- AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x9800, 0x9fff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x9800, 0x9fff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( tigerh_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -423,9 +423,9 @@ static ADDRESS_MAP_START( tigerh_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc80f) AM_RAM AM_SHARE(1)
AM_RANGE(0xc810, 0xcfff) AM_RAM
- AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xe800, 0xe800) AM_WRITEONLY AM_BASE(&slapfight_scrollx_lo)
AM_RANGE(0xe801, 0xe801) AM_WRITEONLY AM_BASE(&slapfight_scrollx_hi)
AM_RANGE(0xe802, 0xe802) AM_WRITEONLY AM_BASE(&slapfight_scrolly)
@@ -439,9 +439,9 @@ static ADDRESS_MAP_START( slapfght_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc80f) AM_RAM AM_SHARE(1)
AM_RANGE(0xc810, 0xcfff) AM_RAM
- AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xe800, 0xe800) AM_WRITEONLY AM_BASE(&slapfight_scrollx_lo)
AM_RANGE(0xe801, 0xe801) AM_WRITEONLY AM_BASE(&slapfight_scrollx_hi)
AM_RANGE(0xe802, 0xe802) AM_WRITEONLY AM_BASE(&slapfight_scrolly)
@@ -456,9 +456,9 @@ static ADDRESS_MAP_START( slapbtuk_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc80f) AM_RAM AM_SHARE(1)
AM_RANGE(0xc810, 0xcfff) AM_RAM
- AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xe800, 0xe800) AM_WRITEONLY AM_BASE(&slapfight_scrollx_hi)
AM_RANGE(0xe802, 0xe802) AM_WRITEONLY AM_BASE(&slapfight_scrolly)
AM_RANGE(0xe803, 0xe803) AM_WRITEONLY AM_BASE(&slapfight_scrollx_lo)
diff --git a/src/mame/drivers/slapshot.c b/src/mame/drivers/slapshot.c
index ee59ebe4d19..77a3e4229c9 100644
--- a/src/mame/drivers/slapshot.c
+++ b/src/mame/drivers/slapshot.c
@@ -280,7 +280,7 @@ static READ16_HANDLER( slapshot_msb_sound_r )
static ADDRESS_MAP_START( slapshot_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x500000, 0x50ffff) AM_RAM /* main RAM */
- AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* sprite ram */
+ AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* sprite ram */
AM_RANGE(0x700000, 0x701fff) AM_RAM AM_BASE(&taito_sprite_ext) AM_SIZE(&taito_spriteext_size) /* debugging */
AM_RANGE(0x800000, 0x80ffff) AM_READWRITE(TC0480SCP_word_r, TC0480SCP_word_w) /* tilemaps */
AM_RANGE(0x830000, 0x83002f) AM_READWRITE(TC0480SCP_ctrl_word_r, TC0480SCP_ctrl_word_w)
@@ -295,7 +295,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( opwolf3_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x500000, 0x50ffff) AM_RAM /* main RAM */
- AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* sprite ram */
+ AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* sprite ram */
AM_RANGE(0x700000, 0x701fff) AM_RAM AM_BASE(&taito_sprite_ext) AM_SIZE(&taito_spriteext_size) /* debugging */
AM_RANGE(0x800000, 0x80ffff) AM_READWRITE(TC0480SCP_word_r, TC0480SCP_word_w) /* tilemaps */
AM_RANGE(0x830000, 0x83002f) AM_READWRITE(TC0480SCP_ctrl_word_r, TC0480SCP_ctrl_word_w)
diff --git a/src/mame/drivers/sliver.c b/src/mame/drivers/sliver.c
index b9581cca2af..b5c33907699 100644
--- a/src/mame/drivers/sliver.c
+++ b/src/mame/drivers/sliver.c
@@ -183,7 +183,7 @@ static WRITE16_HANDLER( sliver_RAMDAC_offset_w )
static WRITE16_HANDLER( sliver_RAMDAC_color_w )
{
- colorram[clr_offset]=data;
+ space->machine->generic.colorram.u8[clr_offset]=data;
clr_offset=(clr_offset+1)%768;
}
@@ -207,16 +207,16 @@ static void plot_pixel_rgb(int x, int y, UINT32 r, UINT32 g, UINT32 b)
}
}
-static void plot_pixel_pal(int x, int y, int addr)
+static void plot_pixel_pal(running_machine *machine, int x, int y, int addr)
{
UINT32 r,g,b;
UINT16 color;
if(y<0 ||x<0 || x>383 || y> 255) return;
addr*=3;
- b=colorram[addr]<<2;
- g=colorram[addr+1]<<2;
- r=colorram[addr+2]<<2;
+ b=machine->generic.colorram.u8[addr]<<2;
+ g=machine->generic.colorram.u8[addr+1]<<2;
+ r=machine->generic.colorram.u8[addr+2]<<2;
if (sliver_bitmap_fg->bpp == 32)
{
@@ -277,7 +277,7 @@ static void blit_gfx(running_machine *machine)
romdata = rom[romoffs&0x1fffff];
if(romdata)
{
- plot_pixel_pal(fifo[tmpptr+5]+fifo[tmpptr+3]-x, fifo[tmpptr+6]+fifo[tmpptr+4]-y, romdata);
+ plot_pixel_pal(machine, fifo[tmpptr+5]+fifo[tmpptr+3]-x, fifo[tmpptr+6]+fifo[tmpptr+4]-y, romdata);
}
romoffs++;
}
@@ -590,7 +590,7 @@ ROM_END
static DRIVER_INIT(sliver)
{
jpeg_addr = -1;
- colorram=auto_alloc_array(machine, UINT8, 256*3);
+ machine->generic.colorram.u8=auto_alloc_array(machine, UINT8, 256*3);
}
GAME( 1996, sliver, 0, sliver, sliver, sliver, ROT0, "Hollow Corp", "Sliver", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/snk.c b/src/mame/drivers/snk.c
index 167181657ce..c01a2754e7b 100644
--- a/src/mame/drivers/snk.c
+++ b/src/mame/drivers/snk.c
@@ -576,9 +576,9 @@ static WRITE8_HANDLER( hardflags_scroll_msb_w )
// low 6 bits might indicate radius, but it's not clear
}
-static int hardflags_check(int num)
+static int hardflags_check(running_machine *machine, int num)
{
- const UINT8 *sr = &spriteram[0x800 + 4*num];
+ const UINT8 *sr = &machine->generic.spriteram.u8[0x800 + 4*num];
int x = sr[2] + ((sr[3] & 0x80) << 1);
int y = sr[0] + ((sr[3] & 0x10) << 4);
@@ -591,33 +591,33 @@ static int hardflags_check(int num)
return 1;
}
-static int hardflags_check8(int num)
+static int hardflags_check8(running_machine *machine, int num)
{
return
- (hardflags_check(num + 0) << 0) |
- (hardflags_check(num + 1) << 1) |
- (hardflags_check(num + 2) << 2) |
- (hardflags_check(num + 3) << 3) |
- (hardflags_check(num + 4) << 4) |
- (hardflags_check(num + 5) << 5) |
- (hardflags_check(num + 6) << 6) |
- (hardflags_check(num + 7) << 7);
+ (hardflags_check(machine, num + 0) << 0) |
+ (hardflags_check(machine, num + 1) << 1) |
+ (hardflags_check(machine, num + 2) << 2) |
+ (hardflags_check(machine, num + 3) << 3) |
+ (hardflags_check(machine, num + 4) << 4) |
+ (hardflags_check(machine, num + 5) << 5) |
+ (hardflags_check(machine, num + 6) << 6) |
+ (hardflags_check(machine, num + 7) << 7);
}
-static READ8_HANDLER( hardflags1_r ) { return hardflags_check8(0*8); }
-static READ8_HANDLER( hardflags2_r ) { return hardflags_check8(1*8); }
-static READ8_HANDLER( hardflags3_r ) { return hardflags_check8(2*8); }
-static READ8_HANDLER( hardflags4_r ) { return hardflags_check8(3*8); }
-static READ8_HANDLER( hardflags5_r ) { return hardflags_check8(4*8); }
-static READ8_HANDLER( hardflags6_r ) { return hardflags_check8(5*8); }
+static READ8_HANDLER( hardflags1_r ) { return hardflags_check8(space->machine, 0*8); }
+static READ8_HANDLER( hardflags2_r ) { return hardflags_check8(space->machine, 1*8); }
+static READ8_HANDLER( hardflags3_r ) { return hardflags_check8(space->machine, 2*8); }
+static READ8_HANDLER( hardflags4_r ) { return hardflags_check8(space->machine, 3*8); }
+static READ8_HANDLER( hardflags5_r ) { return hardflags_check8(space->machine, 4*8); }
+static READ8_HANDLER( hardflags6_r ) { return hardflags_check8(space->machine, 5*8); }
static READ8_HANDLER( hardflags7_r )
{
// apparently the startup tests use bits 0&1 while the game uses bits 4&5
return
- (hardflags_check(6*8 + 0) << 0) |
- (hardflags_check(6*8 + 1) << 1) |
- (hardflags_check(6*8 + 0) << 4) |
- (hardflags_check(6*8 + 1) << 5);
+ (hardflags_check(space->machine, 6*8 + 0) << 0) |
+ (hardflags_check(space->machine, 6*8 + 1) << 1) |
+ (hardflags_check(space->machine, 6*8 + 0) << 4) |
+ (hardflags_check(space->machine, 6*8 + 1) << 5);
}
@@ -669,9 +669,9 @@ static WRITE8_HANDLER( turbocheck_msb_w )
// low 6 bits might indicate radius, but it's not clear
}
-static int turbofront_check(int small, int num)
+static int turbofront_check(running_machine *machine, int small, int num)
{
- const UINT8 *sr = &spriteram[0x800*small + 4*num];
+ const UINT8 *sr = &machine->generic.spriteram.u8[0x800*small + 4*num];
int x = sr[2] + ((sr[3] & 0x80) << 1);
int y = sr[0] + ((sr[3] & 0x10) << 4);
@@ -684,31 +684,31 @@ static int turbofront_check(int small, int num)
return 1;
}
-static int turbofront_check8(int small, int num)
+static int turbofront_check8(running_machine *machine, int small, int num)
{
return
- (turbofront_check(small, num + 0) << 0) |
- (turbofront_check(small, num + 1) << 1) |
- (turbofront_check(small, num + 2) << 2) |
- (turbofront_check(small, num + 3) << 3) |
- (turbofront_check(small, num + 4) << 4) |
- (turbofront_check(small, num + 5) << 5) |
- (turbofront_check(small, num + 6) << 6) |
- (turbofront_check(small, num + 7) << 7);
+ (turbofront_check(machine, small, num + 0) << 0) |
+ (turbofront_check(machine, small, num + 1) << 1) |
+ (turbofront_check(machine, small, num + 2) << 2) |
+ (turbofront_check(machine, small, num + 3) << 3) |
+ (turbofront_check(machine, small, num + 4) << 4) |
+ (turbofront_check(machine, small, num + 5) << 5) |
+ (turbofront_check(machine, small, num + 6) << 6) |
+ (turbofront_check(machine, small, num + 7) << 7);
}
-static READ8_HANDLER( turbocheck16_1_r ) { return turbofront_check8(1, 0*8); }
-static READ8_HANDLER( turbocheck16_2_r ) { return turbofront_check8(1, 1*8); }
-static READ8_HANDLER( turbocheck16_3_r ) { return turbofront_check8(1, 2*8); }
-static READ8_HANDLER( turbocheck16_4_r ) { return turbofront_check8(1, 3*8); }
-static READ8_HANDLER( turbocheck16_5_r ) { return turbofront_check8(1, 4*8); }
-static READ8_HANDLER( turbocheck16_6_r ) { return turbofront_check8(1, 5*8); }
-static READ8_HANDLER( turbocheck16_7_r ) { return turbofront_check8(1, 6*8); }
-static READ8_HANDLER( turbocheck16_8_r ) { return turbofront_check8(1, 7*8); }
-static READ8_HANDLER( turbocheck32_1_r ) { return turbofront_check8(0, 0*8); }
-static READ8_HANDLER( turbocheck32_2_r ) { return turbofront_check8(0, 1*8); }
-static READ8_HANDLER( turbocheck32_3_r ) { return turbofront_check8(0, 2*8); }
-static READ8_HANDLER( turbocheck32_4_r ) { return turbofront_check8(0, 3*8); }
+static READ8_HANDLER( turbocheck16_1_r ) { return turbofront_check8(space->machine, 1, 0*8); }
+static READ8_HANDLER( turbocheck16_2_r ) { return turbofront_check8(space->machine, 1, 1*8); }
+static READ8_HANDLER( turbocheck16_3_r ) { return turbofront_check8(space->machine, 1, 2*8); }
+static READ8_HANDLER( turbocheck16_4_r ) { return turbofront_check8(space->machine, 1, 3*8); }
+static READ8_HANDLER( turbocheck16_5_r ) { return turbofront_check8(space->machine, 1, 4*8); }
+static READ8_HANDLER( turbocheck16_6_r ) { return turbofront_check8(space->machine, 1, 5*8); }
+static READ8_HANDLER( turbocheck16_7_r ) { return turbofront_check8(space->machine, 1, 6*8); }
+static READ8_HANDLER( turbocheck16_8_r ) { return turbofront_check8(space->machine, 1, 7*8); }
+static READ8_HANDLER( turbocheck32_1_r ) { return turbofront_check8(space->machine, 0, 0*8); }
+static READ8_HANDLER( turbocheck32_2_r ) { return turbofront_check8(space->machine, 0, 1*8); }
+static READ8_HANDLER( turbocheck32_3_r ) { return turbofront_check8(space->machine, 0, 2*8); }
+static READ8_HANDLER( turbocheck32_4_r ) { return turbofront_check8(space->machine, 0, 3*8); }
@@ -842,7 +842,7 @@ static ADDRESS_MAP_START( marvins_cpuA_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8500, 0x8500) AM_READ_PORT("DSW2")
AM_RANGE(0x8600, 0x8600) AM_WRITE(marvins_flipscreen_w)
AM_RANGE(0x8700, 0x8700) AM_READWRITE(snk_cpuB_nmi_trigger_r, snk_cpuA_nmi_ack_w)
- AM_RANGE(0xc000, 0xcfff) AM_RAM AM_BASE(&spriteram) AM_SHARE(1) // + work ram
+ AM_RANGE(0xc000, 0xcfff) AM_RAM AM_BASE_GENERIC(spriteram) AM_SHARE(1) // + work ram
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(marvins_fg_videoram_w) AM_SHARE(2) AM_BASE(&snk_fg_videoram)
AM_RANGE(0xd800, 0xdfff) AM_RAM AM_SHARE(3)
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(marvins_bg_videoram_w) AM_SHARE(4) AM_BASE(&snk_bg_videoram)
@@ -889,7 +889,7 @@ static ADDRESS_MAP_START( madcrash_cpuA_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8500, 0x8500) AM_READ_PORT("DSW2")
AM_RANGE(0x8600, 0x8600) AM_MIRROR(0xff) AM_WRITE(marvins_flipscreen_w)
AM_RANGE(0x8700, 0x8700) AM_READWRITE(snk_cpuB_nmi_trigger_r, snk_cpuA_nmi_ack_w)
- AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_BASE(&spriteram) AM_SHARE(1) // + work ram
+ AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_BASE_GENERIC(spriteram) AM_SHARE(1) // + work ram
AM_RANGE(0xc800, 0xc800) AM_MIRROR(0xff) AM_WRITE(marvins_palette_bank_w)
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(marvins_bg_videoram_w) AM_SHARE(2) AM_BASE(&snk_bg_videoram)
AM_RANGE(0xd800, 0xdfff) AM_RAM AM_SHARE(3)
@@ -936,7 +936,7 @@ static ADDRESS_MAP_START( madcrush_cpuA_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8500, 0x8500) AM_READ_PORT("DSW2")
AM_RANGE(0x8600, 0x8600) AM_MIRROR(0xff) AM_WRITE(marvins_flipscreen_w)
AM_RANGE(0x8700, 0x8700) AM_READWRITE(snk_cpuB_nmi_trigger_r, snk_cpuA_nmi_ack_w)
- AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_BASE(&spriteram) AM_SHARE(1) // + work ram
+ AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_BASE_GENERIC(spriteram) AM_SHARE(1) // + work ram
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(marvins_fg_videoram_w) AM_SHARE(4) AM_BASE(&snk_fg_videoram)
AM_RANGE(0xc800, 0xc800) AM_MIRROR(0xff) AM_WRITE(marvins_palette_bank_w)
AM_RANGE(0xd800, 0xdfff) AM_RAM AM_SHARE(5)
@@ -989,7 +989,7 @@ static ADDRESS_MAP_START( jcross_cpuA_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd500, 0xd500) AM_WRITE(snk_sp16_scrollx_w)
AM_RANGE(0xd600, 0xd600) AM_WRITE(snk_bg_scrolly_w)
AM_RANGE(0xd700, 0xd700) AM_WRITE(snk_bg_scrollx_w)
- AM_RANGE(0xd800, 0xdfff) AM_RAM AM_BASE(&spriteram) AM_SHARE(1) // + work ram
+ AM_RANGE(0xd800, 0xdfff) AM_RAM AM_BASE_GENERIC(spriteram) AM_SHARE(1) // + work ram
AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(marvins_bg_videoram_w) AM_SHARE(2) AM_BASE(&snk_bg_videoram)
AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(snk_tx_videoram_w) AM_SHARE(3) AM_BASE(&snk_tx_videoram) // + work RAM
AM_RANGE(0xffff, 0xffff) AM_WRITENOP // simply a program patch to not write to two not existing video registers?
@@ -1020,7 +1020,7 @@ static ADDRESS_MAP_START( sgladiat_cpuA_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd500, 0xd500) AM_WRITE(snk_sp16_scrollx_w)
AM_RANGE(0xd600, 0xd600) AM_WRITE(snk_bg_scrolly_w)
AM_RANGE(0xd700, 0xd700) AM_WRITE(snk_bg_scrollx_w)
- AM_RANGE(0xd800, 0xdfff) AM_RAM AM_BASE(&spriteram) AM_SHARE(1) // + work ram
+ AM_RANGE(0xd800, 0xdfff) AM_RAM AM_BASE_GENERIC(spriteram) AM_SHARE(1) // + work ram
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(marvins_bg_videoram_w) AM_SHARE(2) AM_BASE(&snk_bg_videoram)
AM_RANGE(0xe800, 0xefff) AM_RAM
AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(snk_tx_videoram_w) AM_SHARE(3) AM_BASE(&snk_tx_videoram) // + work RAM
@@ -1057,7 +1057,7 @@ static ADDRESS_MAP_START( hal21_cpuA_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd500, 0xd500) AM_WRITE(snk_sp16_scrollx_w)
AM_RANGE(0xd600, 0xd600) AM_WRITE(snk_bg_scrolly_w)
AM_RANGE(0xd700, 0xd700) AM_WRITE(snk_bg_scrollx_w)
- AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE(&spriteram) AM_SHARE(1) // + work ram
+ AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_GENERIC(spriteram) AM_SHARE(1) // + work ram
AM_RANGE(0xe800, 0xf7ff) AM_RAM_WRITE(marvins_bg_videoram_w) AM_SHARE(2) AM_BASE(&snk_bg_videoram)
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(snk_tx_videoram_w) AM_SHARE(3) AM_BASE(&snk_tx_videoram) // + work RAM
ADDRESS_MAP_END
@@ -1088,7 +1088,7 @@ static ADDRESS_MAP_START( aso_cpuA_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xce00, 0xce00) AM_WRITENOP // always 05?
AM_RANGE(0xcf00, 0xcf00) AM_WRITE(aso_bg_bank_w) // tile and palette bank
AM_RANGE(0xd800, 0xdfff) AM_RAM AM_SHARE(1)
- AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE(2) AM_BASE(&spriteram) // + work ram
+ AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE(2) AM_BASE_GENERIC(spriteram) // + work ram
AM_RANGE(0xe800, 0xf7ff) AM_RAM_WRITE(marvins_bg_videoram_w) AM_SHARE(3) AM_BASE(&snk_bg_videoram)
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(snk_tx_videoram_w) AM_SHARE(4) AM_BASE(&snk_tx_videoram) // + work RAM
ADDRESS_MAP_END
@@ -1121,7 +1121,7 @@ static ADDRESS_MAP_START( tnk3_cpuA_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xcb00, 0xcb00) AM_WRITE(snk_bg_scrolly_w)
AM_RANGE(0xcc00, 0xcc00) AM_WRITE(snk_bg_scrollx_w)
AM_RANGE(0xcf00, 0xcf00) AM_WRITENOP // fitegolf/countryc only. Either 0 or 1. Video related?
- AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_SHARE(1) AM_BASE(&spriteram) // + work ram
+ AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_SHARE(1) AM_BASE_GENERIC(spriteram) // + work ram
AM_RANGE(0xd800, 0xf7ff) AM_RAM_WRITE(snk_bg_videoram_w) AM_SHARE(2) AM_BASE(&snk_bg_videoram)
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(snk_tx_videoram_w) AM_SHARE(3) AM_BASE(&snk_tx_videoram) // + work RAM
ADDRESS_MAP_END
@@ -1168,7 +1168,7 @@ static ADDRESS_MAP_START( ikari_cpuA_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xcee0, 0xcee0) AM_READ(hardflags7_r)
// note the mirror. ikari and victroad use d800, ikarijp uses d000
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(snk_bg_videoram_w) AM_MIRROR(0x0800) AM_SHARE(2) AM_BASE(&snk_bg_videoram)
- AM_RANGE(0xe000, 0xf7ff) AM_RAM AM_SHARE(3) AM_BASE(&spriteram) // + work ram
+ AM_RANGE(0xe000, 0xf7ff) AM_RAM AM_SHARE(3) AM_BASE_GENERIC(spriteram) // + work ram
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(snk_tx_videoram_w) AM_SHARE(4) AM_BASE(&snk_tx_videoram) // + work RAM
ADDRESS_MAP_END
@@ -1232,7 +1232,7 @@ static ADDRESS_MAP_START( bermudat_cpuA_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xccf0, 0xccf0) AM_READ(turbocheck32_4_r)
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(snk_bg_videoram_w) AM_SHARE(1) AM_BASE(&snk_bg_videoram)
AM_RANGE(0xd800, 0xdfff) AM_RAM AM_SHARE(2)
- AM_RANGE(0xe000, 0xf7ff) AM_RAM AM_SHARE(3) AM_BASE(&spriteram) // + work ram
+ AM_RANGE(0xe000, 0xf7ff) AM_RAM AM_SHARE(3) AM_BASE_GENERIC(spriteram) // + work ram
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(snk_tx_videoram_w) AM_SHARE(4) AM_BASE(&snk_tx_videoram) // + work RAM
ADDRESS_MAP_END
@@ -1278,7 +1278,7 @@ static ADDRESS_MAP_START( gwar_cpuA_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xcac0, 0xcac0) AM_WRITE(snk_sprite_split_point_w)
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(snk_bg_videoram_w) AM_SHARE(1) AM_BASE(&snk_bg_videoram)
AM_RANGE(0xd800, 0xdfff) AM_RAM AM_SHARE(2)
- AM_RANGE(0xe000, 0xf7ff) AM_RAM AM_SHARE(3) AM_BASE(&spriteram) // + work ram
+ AM_RANGE(0xe000, 0xf7ff) AM_RAM AM_SHARE(3) AM_BASE_GENERIC(spriteram) // + work ram
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(snk_tx_videoram_w) AM_SHARE(4) AM_BASE(&snk_tx_videoram) // + work RAM
ADDRESS_MAP_END
@@ -1306,7 +1306,7 @@ static ADDRESS_MAP_START( gwara_cpuA_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(snk_tx_videoram_w) AM_SHARE(1) AM_BASE(&snk_tx_videoram) // + work RAM
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(snk_bg_videoram_w) AM_SHARE(2) AM_BASE(&snk_bg_videoram)
AM_RANGE(0xd800, 0xdfff) AM_RAM AM_SHARE(3)
- AM_RANGE(0xe000, 0xf7ff) AM_RAM AM_SHARE(4) AM_BASE(&spriteram) // + work ram
+ AM_RANGE(0xe000, 0xf7ff) AM_RAM AM_SHARE(4) AM_BASE_GENERIC(spriteram) // + work ram
AM_RANGE(0xf800, 0xf800) AM_WRITE(snk_bg_scrolly_w)
AM_RANGE(0xf840, 0xf840) AM_WRITE(snk_bg_scrollx_w)
AM_RANGE(0xf880, 0xf880) AM_WRITE(gwara_videoattrs_w) // flip screen, scroll msb
@@ -1325,7 +1325,7 @@ static ADDRESS_MAP_START( gwara_cpuB_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(snk_tx_videoram_w) AM_SHARE(1)
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(snk_bg_videoram_w) AM_SHARE(2)
AM_RANGE(0xd800, 0xdfff) AM_RAM AM_SHARE(3)
- AM_RANGE(0xe000, 0xf7ff) AM_RAM AM_SHARE(4) AM_BASE(&spriteram) // + work ram
+ AM_RANGE(0xe000, 0xf7ff) AM_RAM AM_SHARE(4) AM_BASE_GENERIC(spriteram) // + work ram
AM_RANGE(0xf8c0, 0xf8c0) AM_WRITE(gwar_tx_bank_w) // char and palette bank
ADDRESS_MAP_END
@@ -1356,7 +1356,7 @@ static ADDRESS_MAP_START( tdfever_cpuA_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc9c0, 0xc9c0) AM_WRITE(snk_sp32_scrollx_w)
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(snk_bg_videoram_w) AM_SHARE(1) AM_BASE(&snk_bg_videoram)
AM_RANGE(0xd800, 0xdfff) AM_RAM AM_SHARE(2)
- AM_RANGE(0xe000, 0xf7ff) AM_RAM_WRITE(tdfever_spriteram_w) AM_SHARE(3) AM_BASE(&spriteram) // + work ram
+ AM_RANGE(0xe000, 0xf7ff) AM_RAM_WRITE(tdfever_spriteram_w) AM_SHARE(3) AM_BASE_GENERIC(spriteram) // + work ram
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(snk_tx_videoram_w) AM_SHARE(4) AM_BASE(&snk_tx_videoram) // + work RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/snk6502.c b/src/mame/drivers/snk6502.c
index f7104175ab5..017343381ac 100644
--- a/src/mame/drivers/snk6502.c
+++ b/src/mame/drivers/snk6502.c
@@ -326,8 +326,8 @@ static CUSTOM_INPUT( sasuke_count_r )
static ADDRESS_MAP_START( sasuke_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(snk6502_videoram2_w) AM_BASE(&snk6502_videoram2)
- AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(snk6502_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(snk6502_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(snk6502_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(snk6502_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(snk6502_charram_w) AM_BASE(&snk6502_charram)
AM_RANGE(0x3000, 0x3000) AM_DEVWRITE("crtc", mc6845_address_w)
AM_RANGE(0x3001, 0x3001) AM_DEVWRITE("crtc", mc6845_register_w)
@@ -345,8 +345,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( satansat_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(snk6502_videoram2_w) AM_BASE(&snk6502_videoram2)
- AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(snk6502_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(snk6502_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(snk6502_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(snk6502_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(snk6502_charram_w) AM_BASE(&snk6502_charram)
AM_RANGE(0x3000, 0x3000) AM_DEVWRITE("crtc", mc6845_address_w)
AM_RANGE(0x3001, 0x3001) AM_DEVWRITE("crtc", mc6845_register_w)
@@ -364,8 +364,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( vanguard_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(snk6502_videoram2_w) AM_BASE(&snk6502_videoram2)
- AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(snk6502_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(snk6502_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(snk6502_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(snk6502_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(snk6502_charram_w) AM_BASE(&snk6502_charram)
AM_RANGE(0x3000, 0x3000) AM_DEVWRITE("crtc", mc6845_address_w)
AM_RANGE(0x3001, 0x3001) AM_DEVWRITE("crtc", mc6845_register_w)
@@ -385,8 +385,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( fantasy_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(snk6502_videoram2_w) AM_BASE(&snk6502_videoram2)
- AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(snk6502_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(snk6502_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(snk6502_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(snk6502_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(snk6502_charram_w) AM_BASE(&snk6502_charram)
AM_RANGE(0x2000, 0x2000) AM_DEVWRITE("crtc", mc6845_address_w)
AM_RANGE(0x2001, 0x2001) AM_DEVWRITE("crtc", mc6845_register_w)
@@ -405,8 +405,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( pballoon_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(snk6502_videoram2_w) AM_BASE(&snk6502_videoram2)
- AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(snk6502_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(snk6502_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(snk6502_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(snk6502_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(snk6502_charram_w) AM_BASE(&snk6502_charram)
AM_RANGE(0x3000, 0x9fff) AM_ROM
AM_RANGE(0xb000, 0xb000) AM_DEVWRITE("crtc", mc6845_address_w)
diff --git a/src/mame/drivers/snk68.c b/src/mame/drivers/snk68.c
index 7834bcb8fad..3d87bd2a98c 100644
--- a/src/mame/drivers/snk68.c
+++ b/src/mame/drivers/snk68.c
@@ -139,8 +139,8 @@ static ADDRESS_MAP_START( pow_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0f0008, 0x0f0009) AM_READ_PORT("DSW2")
// AM_RANGE(0x0f0008, 0x0f0009) AM_WRITENOP /* ?? */
AM_RANGE(0x100000, 0x100fff) AM_READWRITE(pow_fg_videoram_r, pow_fg_videoram_w) AM_MIRROR(0x1000) AM_BASE(&pow_fg_videoram) // 8-bit
- AM_RANGE(0x200000, 0x207fff) AM_READWRITE(pow_spriteram_r, pow_spriteram_w) AM_BASE(&spriteram16) // only partially populated
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(pow_paletteram16_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x200000, 0x207fff) AM_READWRITE(pow_spriteram_r, pow_spriteram_w) AM_BASE_GENERIC(spriteram) // only partially populated
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(pow_paletteram16_word_w) AM_BASE_GENERIC(paletteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( searchar_map, ADDRESS_SPACE_PROGRAM, 16 )
@@ -159,10 +159,10 @@ static ADDRESS_MAP_START( searchar_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0f0000, 0x0f0001) AM_READ_PORT("DSW1")
AM_RANGE(0x0f0008, 0x0f0009) AM_READ_PORT("DSW2")
AM_RANGE(0x0f8000, 0x0f8001) AM_READ(sound_status_r)
- AM_RANGE(0x100000, 0x107fff) AM_READWRITE(pow_spriteram_r, pow_spriteram_w) AM_BASE(&spriteram16) // only partially populated
+ AM_RANGE(0x100000, 0x107fff) AM_READWRITE(pow_spriteram_r, pow_spriteram_w) AM_BASE_GENERIC(spriteram) // only partially populated
AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(searchar_fg_videoram_w) AM_MIRROR(0x1000) AM_BASE(&pow_fg_videoram) /* Mirror is used by Ikari 3 */
AM_RANGE(0x300000, 0x33ffff) AM_ROMBANK(1) /* Extra code bank */
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(pow_paletteram16_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(pow_paletteram16_word_w) AM_BASE_GENERIC(paletteram)
ADDRESS_MAP_END
/******************************************************************************/
diff --git a/src/mame/drivers/snookr10.c b/src/mame/drivers/snookr10.c
index bd81eb768c9..f92172021a8 100644
--- a/src/mame/drivers/snookr10.c
+++ b/src/mame/drivers/snookr10.c
@@ -514,8 +514,8 @@ static ADDRESS_MAP_START( snookr10_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x3004, 0x3004) AM_READ(dsw_port_1_r) /* complement of DS1, bit 7 */
AM_RANGE(0x5000, 0x5000) AM_WRITE(output_port_0_w) /* OUT0 */
AM_RANGE(0x5001, 0x5001) AM_WRITE(output_port_1_w) /* OUT1 */
- AM_RANGE(0x6000, 0x6fff) AM_RAM_WRITE(snookr10_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(snookr10_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x6000, 0x6fff) AM_RAM_WRITE(snookr10_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(snookr10_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -528,8 +528,8 @@ static ADDRESS_MAP_START( tenballs_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x4003, 0x4003) AM_READ_PORT("SW1") /* DS1 */
AM_RANGE(0x5000, 0x5000) AM_WRITE(output_port_0_w) /* OUT0 */
AM_RANGE(0x5001, 0x5001) AM_WRITE(output_port_1_w) /* OUT1 */
- AM_RANGE(0x6000, 0x6fff) AM_RAM_WRITE(snookr10_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(snookr10_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x6000, 0x6fff) AM_RAM_WRITE(snookr10_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(snookr10_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/snowbros.c b/src/mame/drivers/snowbros.c
index 044207c065a..015f7acfeb4 100644
--- a/src/mame/drivers/snowbros.c
+++ b/src/mame/drivers/snowbros.c
@@ -184,7 +184,7 @@ static ADDRESS_MAP_START( snowbros_map, ADDRESS_SPACE_PROGRAM, 16 )
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(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x600000, 0x6001ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x700000, 0x701fff) AM_READWRITE(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 */
@@ -267,8 +267,8 @@ static ADDRESS_MAP_START( wintbob_map, ADDRESS_SPACE_PROGRAM, 16 )
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(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0x700000, 0x701fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x600000, 0x6001ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x700000, 0x701fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
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 */
AM_RANGE(0xa00000, 0xa00001) AM_WRITE(snowbros_irq2_ack_w) /* IRQ 2 acknowledge */
@@ -288,8 +288,8 @@ static ADDRESS_MAP_START( honeydol_map, ADDRESS_SPACE_PROGRAM, 16 )
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(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0xb00000, 0xb01fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xa00000, 0xa007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xb00000, 0xb01fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( honeydol_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -325,8 +325,8 @@ static ADDRESS_MAP_START( twinadv_map, ADDRESS_SPACE_PROGRAM, 16 )
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(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0x700000, 0x701fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x600000, 0x6001ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x700000, 0x701fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
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 */
AM_RANGE(0xa00000, 0xa00001) AM_WRITE(snowbros_irq2_ack_w) /* IRQ 2 acknowledge */
@@ -365,7 +365,7 @@ static ADDRESS_MAP_START( hyperpac_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x500002, 0x500003) AM_READ_PORT("DSW2")
AM_RANGE(0x500004, 0x500005) AM_READ_PORT("SYSTEM")
- AM_RANGE(0x600000, 0x6001ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x600000, 0x6001ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x700000, 0x701fff) AM_READWRITE(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 */
@@ -497,8 +497,8 @@ static ADDRESS_MAP_START( snowbros3_map, ADDRESS_SPACE_PROGRAM, 16 )
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(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE (&paletteram16)
- AM_RANGE( 0x700000, 0x7021ff) AM_RAM AM_BASE( &spriteram16) AM_SIZE( &spriteram_size )
+ AM_RANGE( 0x600000, 0x6003ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC (paletteram)
+ AM_RANGE( 0x700000, 0x7021ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
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 */
AM_RANGE(0xa00000, 0xa00001) AM_WRITE(snowbros_irq2_ack_w) /* IRQ 2 acknowledge */
@@ -516,7 +516,7 @@ static ADDRESS_MAP_START( finalttr_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x500002, 0x500003) AM_READ_PORT("DSW2")
AM_RANGE(0x500004, 0x500005) AM_READ_PORT("SYSTEM")
- AM_RANGE(0x600000, 0x6001ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x600000, 0x6001ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x700000, 0x701fff) AM_READWRITE(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 188582f7c73..daa160a93d7 100644
--- a/src/mame/drivers/solomon.c
+++ b/src/mame/drivers/solomon.c
@@ -53,12 +53,12 @@ static READ8_HANDLER( solomon_0xe603_r )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
- AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(solomon_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE(solomon_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(solomon_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE(solomon_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(solomon_colorram2_w) AM_BASE(&solomon_colorram2)
AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE(solomon_videoram2_w) AM_BASE(&solomon_videoram2)
- AM_RANGE(0xe000, 0xe07f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0xe400, 0xe5ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE(&paletteram)
+ AM_RANGE(0xe000, 0xe07f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0xe400, 0xe5ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(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/sonson.c b/src/mame/drivers/sonson.c
index 5741f57e123..be0bc1bd243 100644
--- a/src/mame/drivers/sonson.c
+++ b/src/mame/drivers/sonson.c
@@ -90,9 +90,9 @@ static WRITE8_HANDLER( sonson_coin2_counter_w )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_RAM
- AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(sonson_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(sonson_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0x2020, 0x207f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(sonson_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(sonson_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x2020, 0x207f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x3000, 0x3000) AM_WRITE(sonson_scrollx_w)
AM_RANGE(0x3002, 0x3002) AM_READ_PORT("P1")
AM_RANGE(0x3003, 0x3003) AM_READ_PORT("P2")
diff --git a/src/mame/drivers/spbactn.c b/src/mame/drivers/spbactn.c
index 5075a29d031..8336049be20 100644
--- a/src/mame/drivers/spbactn.c
+++ b/src/mame/drivers/spbactn.c
@@ -151,7 +151,7 @@ static ADDRESS_MAP_START( spbactn_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x50000, 0x50fff) AM_RAM AM_BASE(&spbactn_spvideoram)
AM_RANGE(0x60000, 0x67fff) AM_RAM AM_BASE(&spbactn_fgvideoram)
AM_RANGE(0x70000, 0x77fff) AM_RAM AM_BASE(&spbactn_bgvideoram)
- AM_RANGE(0x80000, 0x827ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x80000, 0x827ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(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/spcforce.c b/src/mame/drivers/spcforce.c
index 9842b1874f9..a96d24b058b 100644
--- a/src/mame/drivers/spcforce.c
+++ b/src/mame/drivers/spcforce.c
@@ -91,8 +91,8 @@ static ADDRESS_MAP_START( spcforce_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x700b, 0x700b) AM_WRITE(spcforce_flip_screen_w)
AM_RANGE(0x700e, 0x700e) AM_WRITE(interrupt_enable_w)
AM_RANGE(0x700f, 0x700f) AM_WRITENOP
- AM_RANGE(0x8000, 0x83ff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x9000, 0x93ff) AM_RAM AM_BASE(&colorram)
+ AM_RANGE(0x8000, 0x83ff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x9000, 0x93ff) AM_RAM AM_BASE_GENERIC(colorram)
AM_RANGE(0xa000, 0xa3ff) AM_RAM AM_BASE(&spcforce_scrollram)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/spdodgeb.c b/src/mame/drivers/spdodgeb.c
index 63ec7462ef5..9e8e759b3c7 100644
--- a/src/mame/drivers/spdodgeb.c
+++ b/src/mame/drivers/spdodgeb.c
@@ -269,7 +269,7 @@ static READ8_HANDLER( port_0_r )
static ADDRESS_MAP_START( spdodgeb_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_RAM
- AM_RANGE(0x1000, 0x10ff) AM_WRITEONLY AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x1000, 0x10ff) AM_WRITEONLY AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x2000, 0x2fff) AM_RAM_WRITE(spdodgeb_videoram_w) AM_BASE(&spdodgeb_videoram)
AM_RANGE(0x3000, 0x3000) AM_READ(port_0_r) //AM_WRITENOP
AM_RANGE(0x3001, 0x3001) AM_READ_PORT("DSW") //AM_WRITENOP
diff --git a/src/mame/drivers/speedatk.c b/src/mame/drivers/speedatk.c
index 548ca9f7a06..021b46631fa 100644
--- a/src/mame/drivers/speedatk.c
+++ b/src/mame/drivers/speedatk.c
@@ -189,8 +189,8 @@ static ADDRESS_MAP_START( speedatk_mem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0x8000) AM_READWRITE(key_matrix_r,key_matrix_w)
AM_RANGE(0x8001, 0x8001) AM_READWRITE(key_matrix_status_r,key_matrix_status_w)
AM_RANGE(0x8800, 0x8fff) AM_RAM
- AM_RANGE(0xa000, 0xa3ff) AM_RAM_WRITE(speedatk_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xb000, 0xb3ff) AM_RAM_WRITE(speedatk_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0xa000, 0xa3ff) AM_RAM_WRITE(speedatk_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xb000, 0xb3ff) AM_RAM_WRITE(speedatk_colorram_w) AM_BASE_GENERIC(colorram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( speedatk_io, ADDRESS_SPACE_IO, 8 )
diff --git a/src/mame/drivers/speedbal.c b/src/mame/drivers/speedbal.c
index 585943c76bf..1839a64d4dd 100644
--- a/src/mame/drivers/speedbal.c
+++ b/src/mame/drivers/speedbal.c
@@ -77,9 +77,9 @@ static ADDRESS_MAP_START( main_cpu_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xdc00, 0xdfff) AM_RAM AM_SHARE(1) // shared with SOUND
AM_RANGE(0xe000, 0xe1ff) AM_RAM_WRITE(speedbal_background_videoram_w) AM_BASE(&speedbal_background_videoram)
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(speedbal_foreground_videoram_w) AM_BASE(&speedbal_foreground_videoram)
- AM_RANGE(0xf000, 0xf5ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE(&paletteram)
+ AM_RANGE(0xf000, 0xf5ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xf600, 0xfeff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0xff00, 0xffff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xff00, 0xffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( main_cpu_io_map, ADDRESS_SPACE_IO, 8 )
diff --git a/src/mame/drivers/speedspn.c b/src/mame/drivers/speedspn.c
index 2503f97d4dc..5d8ba1432c6 100644
--- a/src/mame/drivers/speedspn.c
+++ b/src/mame/drivers/speedspn.c
@@ -118,7 +118,7 @@ static WRITE8_DEVICE_HANDLER( oki_banking_w )
static ADDRESS_MAP_START( speedspn_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_le_w) AM_BASE(&paletteram) /* RAM COLOUR */
+ AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_le_w) AM_BASE_GENERIC(paletteram) /* RAM COLOUR */
AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(speedspn_attram_w) AM_BASE(&speedspn_attram)
AM_RANGE(0x9000, 0x9fff) AM_READWRITE(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 0ab5370115f..760aa758bdf 100644
--- a/src/mame/drivers/splash.c
+++ b/src/mame/drivers/splash.c
@@ -117,7 +117,7 @@ static ADDRESS_MAP_START( splash_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x880000, 0x8817ff) AM_RAM_WRITE(splash_vram_w) AM_BASE(&splash_videoram) /* Video RAM */
AM_RANGE(0x881800, 0x881803) AM_RAM AM_BASE(&splash_vregs) /* Scroll registers */
AM_RANGE(0x881804, 0x881fff) AM_RAM /* Work RAM */
- AM_RANGE(0x8c0000, 0x8c0fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)/* Palette is xRRRRxGGGGxBBBBx */
+ AM_RANGE(0x8c0000, 0x8c0fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)/* Palette is xRRRRxGGGGxBBBBx */
AM_RANGE(0x900000, 0x900fff) AM_RAM AM_BASE(&splash_spriteram) /* Sprite RAM */
AM_RANGE(0xffc000, 0xffffff) AM_RAM /* Work RAM */
ADDRESS_MAP_END
@@ -166,7 +166,7 @@ static ADDRESS_MAP_START( roldfrog_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x880000, 0x8817ff) AM_RAM_WRITE(splash_vram_w) AM_BASE(&splash_videoram) /* Video RAM */
AM_RANGE(0x881800, 0x881803) AM_RAM AM_BASE(&splash_vregs) /* Scroll registers */
AM_RANGE(0x881804, 0x881fff) AM_RAM /* Work RAM */
- AM_RANGE(0x8c0000, 0x8c0fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)/* Palette is xRRRRxGGGGxBBBBx */
+ AM_RANGE(0x8c0000, 0x8c0fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)/* Palette is xRRRRxGGGGxBBBBx */
AM_RANGE(0xa00000, 0xa00001) AM_READ(roldfrog_bombs_r)
AM_RANGE(0xd00000, 0xd00fff) AM_RAM AM_BASE(&splash_spriteram) /* Sprite RAM */
AM_RANGE(0xe00000, 0xe00001) AM_WRITEONLY AM_BASE(&roldfrog_bitmap_mode) /* Bitmap Mode? */
@@ -200,7 +200,7 @@ static ADDRESS_MAP_START( funystrp_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x880000, 0x8817ff) AM_RAM_WRITE(splash_vram_w) AM_BASE(&splash_videoram) /* Video RAM */
AM_RANGE(0x881800, 0x881803) AM_RAM AM_BASE(&splash_vregs) /* Scroll registers */
AM_RANGE(0x881804, 0x881fff) AM_RAM /* Work RAM */
- AM_RANGE(0x8c0000, 0x8c0fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)/* Palette is xRRRRxGGGGxBBBBx */
+ AM_RANGE(0x8c0000, 0x8c0fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)/* Palette is xRRRRxGGGGxBBBBx */
AM_RANGE(0xd00000, 0xd01fff) AM_RAM AM_BASE(&splash_spriteram) /* Sprite RAM */
AM_RANGE(0xff0000, 0xffffff) AM_RAM /* Work RAM */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/spoker.c b/src/mame/drivers/spoker.c
index 5bfcbe3b311..29ea589873e 100644
--- a/src/mame/drivers/spoker.c
+++ b/src/mame/drivers/spoker.c
@@ -192,8 +192,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( spoker_portmap, ADDRESS_SPACE_IO, 8 )
AM_RANGE( 0x0000, 0x003f ) AM_RAM // Z180 internal regs
- AM_RANGE( 0x2000, 0x23ff ) AM_RAM_WRITE( paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_BASE( &paletteram )
- AM_RANGE( 0x2400, 0x27ff ) AM_RAM_WRITE( paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_BASE( &paletteram_2 )
+ AM_RANGE( 0x2000, 0x23ff ) AM_RAM_WRITE( paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_BASE_GENERIC( paletteram )
+ AM_RANGE( 0x2400, 0x27ff ) AM_RAM_WRITE( paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_BASE_GENERIC( paletteram2 )
AM_RANGE( 0x3000, 0x33ff ) AM_RAM_WRITE( bg_tile_w ) AM_BASE( &bg_tile_ram )
diff --git a/src/mame/drivers/spool99.c b/src/mame/drivers/spool99.c
index a701d032614..9f3907b746c 100644
--- a/src/mame/drivers/spool99.c
+++ b/src/mame/drivers/spool99.c
@@ -97,8 +97,8 @@ static tilemap *sc0_tilemap;
static TILE_GET_INFO( get_spool99_tile_info )
{
- int code = ((videoram[tile_index*2+1]<<8) | (videoram[tile_index*2+0]));
- int color = colorram[tile_index*2+0];
+ int code = ((machine->generic.videoram.u8[tile_index*2+1]<<8) | (machine->generic.videoram.u8[tile_index*2+0]));
+ int color = machine->generic.colorram.u8[tile_index*2+0];
SET_TILE_INFO(
0,
@@ -120,13 +120,13 @@ static VIDEO_UPDATE(spool99)
static WRITE8_HANDLER( spool99_vram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(sc0_tilemap,offset/2);
}
static WRITE8_HANDLER( spool99_cram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(sc0_tilemap,offset/2);
}
@@ -190,11 +190,11 @@ static ADDRESS_MAP_START( spool99_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xafef, 0xafef) AM_WRITE(eeprom_dataline_w )
AM_RANGE(0xaff8, 0xaff8) AM_DEVWRITE("oki", okim6295_w)
- AM_RANGE(0xb000, 0xb3ff) AM_RAM AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE(&paletteram) // palette
+ AM_RANGE(0xb000, 0xb3ff) AM_RAM AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(paletteram) // palette
AM_RANGE(0xb800, 0xdfff) AM_RAM
- AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(spool99_vram_w) AM_BASE(&videoram)
- AM_RANGE(0xf000, 0xffff) AM_RAM_WRITE(spool99_cram_w) AM_BASE(&colorram)
+ AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(spool99_vram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xf000, 0xffff) AM_RAM_WRITE(spool99_cram_w) AM_BASE_GENERIC(colorram)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/sprint4.c b/src/mame/drivers/sprint4.c
index 9d8ac3d5bed..37665fafe7e 100644
--- a/src/mame/drivers/sprint4.c
+++ b/src/mame/drivers/sprint4.c
@@ -143,7 +143,7 @@ static MACHINE_RESET( sprint4 )
static READ8_HANDLER( sprint4_wram_r )
{
- return videoram[0x380 + offset];
+ return space->machine->generic.videoram.u8[0x380 + offset];
}
@@ -169,7 +169,7 @@ static READ8_HANDLER( sprint4_options_r )
static WRITE8_HANDLER( sprint4_wram_w )
{
- videoram[0x380 + offset] = data;
+ space->machine->generic.videoram.u8[0x380 + offset] = data;
}
@@ -242,7 +242,7 @@ static ADDRESS_MAP_START( sprint4_cpu_map, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0080, 0x00ff) AM_MIRROR(0x700) AM_READWRITE(sprint4_wram_r, sprint4_wram_w)
- AM_RANGE(0x0800, 0x0bff) AM_MIRROR(0x400) AM_RAM_WRITE(sprint4_video_ram_w) AM_BASE(&videoram)
+ AM_RANGE(0x0800, 0x0bff) AM_MIRROR(0x400) AM_RAM_WRITE(sprint4_video_ram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x0000, 0x0007) AM_MIRROR(0x718) AM_READ(sprint4_analog_r)
AM_RANGE(0x0020, 0x0027) AM_MIRROR(0x718) AM_READ(sprint4_coin_r)
diff --git a/src/mame/drivers/spy.c b/src/mame/drivers/spy.c
index bb1a6eebade..a3681903d85 100644
--- a/src/mame/drivers/spy.c
+++ b/src/mame/drivers/spy.c
@@ -45,7 +45,7 @@ static READ8_HANDLER( spy_bankedram1_r )
{
if (rambank & 1)
{
- return paletteram[offset];
+ return space->machine->generic.paletteram.u8[offset];
}
else if (rambank & 2)
{
@@ -583,7 +583,7 @@ static void gfx_untangle(running_machine *machine)
static DRIVER_INIT( spy )
{
- paletteram = &memory_region(machine, "maincpu")[0x28000];
+ machine->generic.paletteram.u8 = &memory_region(machine, "maincpu")[0x28000];
pmcram = &memory_region(machine, "maincpu")[0x28800];
gfx_untangle(machine);
}
diff --git a/src/mame/drivers/srmp2.c b/src/mame/drivers/srmp2.c
index 8c6a121ca51..e821e7083c7 100644
--- a/src/mame/drivers/srmp2.c
+++ b/src/mame/drivers/srmp2.c
@@ -385,8 +385,8 @@ static WRITE8_HANDLER( srmp3_rombank_w )
static ADDRESS_MAP_START( srmp2_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x0c0000, 0x0c3fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0x140000, 0x143fff) AM_RAM AM_BASE(&spriteram16_2) /* Sprites Code + X + Attr */
- AM_RANGE(0x180000, 0x180609) AM_RAM AM_BASE(&spriteram16) /* Sprites Y */
+ AM_RANGE(0x140000, 0x143fff) AM_RAM AM_BASE_GENERIC(spriteram2) /* Sprites Code + X + Attr */
+ AM_RANGE(0x180000, 0x180609) AM_RAM AM_BASE_GENERIC(spriteram) /* Sprites Y */
AM_RANGE(0x1c0000, 0x1c0001) AM_WRITENOP /* ??? */
AM_RANGE(0x800000, 0x800001) AM_WRITE(srmp2_flags_w) /* ADPCM bank, Color bank, etc. */
AM_RANGE(0x900000, 0x900001) AM_READ_PORT("SYSTEM") /* Coinage */
@@ -414,7 +414,7 @@ static ADDRESS_MAP_START( mjyuugi_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300000, 0x300001) AM_READNOP /* ??? */
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(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x700000, 0x7003ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x800000, 0x800001) AM_READNOP /* ??? */
AM_RANGE(0x900000, 0x900001) AM_READWRITE(srmp2_input_1_r,srmp2_input_1_w) /* I/O port 1 */
AM_RANGE(0x900002, 0x900003) AM_READWRITE(srmp2_input_2_r,srmp2_input_2_w) /* I/O port 2 */
@@ -424,9 +424,9 @@ static ADDRESS_MAP_START( mjyuugi_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xb00000, 0xb00001) AM_DEVREAD8("aysnd", ay8910_r, 0x00ff)
AM_RANGE(0xb00000, 0xb00003) AM_DEVWRITE8("aysnd", ay8910_address_data_w, 0x00ff)
AM_RANGE(0xc00000, 0xc00001) AM_WRITENOP /* ??? */
- AM_RANGE(0xd00000, 0xd00609) AM_RAM AM_BASE(&spriteram16) /* Sprites Y */
+ AM_RANGE(0xd00000, 0xd00609) AM_RAM AM_BASE_GENERIC(spriteram) /* Sprites Y */
AM_RANGE(0xd02000, 0xd023ff) AM_RAM /* ??? only writes $00fa */
- AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_BASE(&spriteram16_2) /* Sprites Code + X + Attr */
+ AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_BASE_GENERIC(spriteram2) /* Sprites Code + X + Attr */
AM_RANGE(0xffc000, 0xffffff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
ADDRESS_MAP_END
@@ -543,10 +543,10 @@ static ADDRESS_MAP_START( srmp3_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK(1) /* rom bank */
AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) /* work ram */
AM_RANGE(0xa800, 0xa800) AM_WRITENOP /* flag ? */
- AM_RANGE(0xb000, 0xb303) AM_RAM AM_BASE(&spriteram) /* Sprites Y */
+ AM_RANGE(0xb000, 0xb303) AM_RAM AM_BASE_GENERIC(spriteram) /* Sprites Y */
AM_RANGE(0xb800, 0xb800) AM_WRITENOP /* flag ? */
- AM_RANGE(0xc000, 0xdfff) AM_RAM AM_BASE(&spriteram_2) /* Sprites Code + X + Attr */
- AM_RANGE(0xe000, 0xffff) AM_RAM AM_BASE(&spriteram_3)
+ AM_RANGE(0xc000, 0xdfff) AM_RAM AM_BASE_GENERIC(spriteram2) /* Sprites Code + X + Attr */
+ AM_RANGE(0xe000, 0xffff) AM_RAM AM_BASE_GENERIC(spriteram3)
ADDRESS_MAP_END
static ADDRESS_MAP_START( srmp3_io_map, ADDRESS_SPACE_IO, 8 )
diff --git a/src/mame/drivers/srmp6.c b/src/mame/drivers/srmp6.c
index a2327f0b8ef..4340022d218 100644
--- a/src/mame/drivers/srmp6.c
+++ b/src/mame/drivers/srmp6.c
@@ -100,9 +100,9 @@ static void update_palette(running_machine *machine)
for(i = 0; i < 0x800; i++)
{
- r = paletteram16[i] >> 0 & 0x1F;
- g = paletteram16[i] >> 5 & 0x1F;
- b = paletteram16[i] >> 10 & 0x1F;
+ r = machine->generic.paletteram.u16[i] >> 0 & 0x1F;
+ g = machine->generic.paletteram.u16[i] >> 5 & 0x1F;
+ b = machine->generic.paletteram.u16[i] >> 10 & 0x1F;
if(brg < 0) {
r += (r * brg) >> 5;
@@ -517,7 +517,7 @@ static ADDRESS_MAP_START( srmp6, ADDRESS_SPACE_PROGRAM, 16 )
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(&paletteram16)
+ AM_RANGE(0x480000, 0x480fff) AM_RAM_WRITE(paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x4d0000, 0x4d0001) AM_READWRITE(watchdog_reset16_r, watchdog_reset16_w) // watchdog
// OBJ RAM: checked [$400000-$47dfff]
diff --git a/src/mame/drivers/srumbler.c b/src/mame/drivers/srumbler.c
index f8966f1729a..a5953afff6f 100644
--- a/src/mame/drivers/srumbler.c
+++ b/src/mame/drivers/srumbler.c
@@ -80,7 +80,7 @@ Ignore the warnings about writing to unmapped memory.
static ADDRESS_MAP_START( srumbler_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1dff) AM_RAM /* RAM (of 1 sort or another) */
- AM_RANGE(0x1e00, 0x1fff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x1e00, 0x1fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x2000, 0x3fff) AM_RAM_WRITE(srumbler_background_w) AM_BASE(&srumbler_backgroundram)
AM_RANGE(0x4008, 0x4008) AM_READ_PORT("SYSTEM") AM_WRITE(srumbler_bankswitch_w)
AM_RANGE(0x4009, 0x4009) AM_READ_PORT("P1") AM_WRITE(srumbler_4009_w)
@@ -93,7 +93,7 @@ static ADDRESS_MAP_START( srumbler_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x6000, 0x6fff) AM_ROMBANK(7) /* Banked ROM */
AM_RANGE(0x6000, 0x6fff) AM_WRITENOP /* Video RAM 2 ??? (not used) */
AM_RANGE(0x7000, 0x7fff) AM_ROMBANK(8) /* Banked ROM */
- AM_RANGE(0x7000, 0x73ff) AM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE(&paletteram)
+ AM_RANGE(0x7000, 0x73ff) AM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x8000, 0x8fff) AM_ROMBANK(9) /* Banked ROM */
AM_RANGE(0x9000, 0x9fff) AM_ROMBANK(10) /* Banked ROM */
AM_RANGE(0xa000, 0xafff) AM_ROMBANK(11) /* Banked ROM */
diff --git a/src/mame/drivers/sshangha.c b/src/mame/drivers/sshangha.c
index bdeb588aadc..fe1171c683c 100644
--- a/src/mame/drivers/sshangha.c
+++ b/src/mame/drivers/sshangha.c
@@ -154,13 +154,13 @@ static ADDRESS_MAP_START( sshangha_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x320002, 0x320005) AM_WRITENOP
AM_RANGE(0x320006, 0x320007) AM_READNOP //irq ack
- AM_RANGE(0x340000, 0x340fff) AM_RAM AM_BASE(&spriteram16)
+ AM_RANGE(0x340000, 0x340fff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x350000, 0x350001) AM_READ(deco_71_r)
AM_RANGE(0x350000, 0x350007) AM_WRITENOP
- AM_RANGE(0x360000, 0x360fff) AM_RAM AM_BASE(&spriteram16_2)
+ AM_RANGE(0x360000, 0x360fff) AM_RAM AM_BASE_GENERIC(spriteram2)
AM_RANGE(0x370000, 0x370001) AM_READ(deco_71_r)
AM_RANGE(0x370000, 0x370007) AM_WRITENOP
- AM_RANGE(0x380000, 0x383fff) AM_RAM_WRITE(paletteram16_xbgr_word_be_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x380000, 0x383fff) AM_RAM_WRITE(paletteram16_xbgr_word_be_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x3c0000, 0x3c0fff) AM_RAM /* Sprite ram buffer on bootleg only?? */
AM_RANGE(0xfec000, 0xff3fff) AM_RAM
AM_RANGE(0xff4000, 0xff47ff) AM_READWRITE(sshangha_protection16_r,sshangha_protection16_w) AM_BASE(&sshangha_prot_data)
@@ -181,13 +181,13 @@ static ADDRESS_MAP_START( sshanghb_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x320002, 0x320005) AM_WRITENOP
AM_RANGE(0x320006, 0x320007) AM_READNOP //irq ack
- AM_RANGE(0x340000, 0x340fff) AM_RAM AM_BASE(&spriteram16)
+ AM_RANGE(0x340000, 0x340fff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x350000, 0x350001) AM_READ(deco_71_r)
AM_RANGE(0x350000, 0x350007) AM_WRITENOP
- AM_RANGE(0x360000, 0x360fff) AM_RAM AM_BASE(&spriteram16_2)
+ AM_RANGE(0x360000, 0x360fff) AM_RAM AM_BASE_GENERIC(spriteram2)
AM_RANGE(0x370000, 0x370001) AM_READ(deco_71_r)
AM_RANGE(0x370000, 0x370007) AM_WRITENOP
- AM_RANGE(0x380000, 0x383fff) AM_RAM_WRITE(paletteram16_xbgr_word_be_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x380000, 0x383fff) AM_RAM_WRITE(paletteram16_xbgr_word_be_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x3c0000, 0x3c0fff) AM_RAM /* Sprite ram buffer on bootleg only?? */
AM_RANGE(0xfec000, 0xff3fff) AM_RAM
AM_RANGE(0xff4000, 0xff47ff) AM_RAM
diff --git a/src/mame/drivers/sslam.c b/src/mame/drivers/sslam.c
index 0a33d97c3be..a79bea8b994 100644
--- a/src/mame/drivers/sslam.c
+++ b/src/mame/drivers/sslam.c
@@ -409,7 +409,7 @@ static ADDRESS_MAP_START( sslam_program_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x108000, 0x10ffff) AM_RAM_WRITE(sslam_tx_tileram_w) AM_BASE(&sslam_tx_tileram)
AM_RANGE(0x110000, 0x11000d) AM_RAM AM_BASE(&sslam_regs)
AM_RANGE(0x200000, 0x200001) AM_WRITENOP
- AM_RANGE(0x280000, 0x280fff) AM_RAM_WRITE(bigtwin_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x280000, 0x280fff) AM_RAM_WRITE(bigtwin_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x201000, 0x201fff) AM_RAM AM_BASE(&sslam_spriteram)
AM_RANGE(0x304000, 0x304001) AM_WRITENOP
AM_RANGE(0x300010, 0x300011) AM_READ_PORT("IN0")
@@ -432,7 +432,7 @@ static ADDRESS_MAP_START( powerbls_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x110000, 0x11000d) AM_RAM AM_BASE(&sslam_regs)
AM_RANGE(0x200000, 0x200001) AM_WRITENOP
AM_RANGE(0x201000, 0x201fff) AM_RAM AM_BASE(&sslam_spriteram)
- AM_RANGE(0x280000, 0x2803ff) AM_RAM_WRITE(bigtwin_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x280000, 0x2803ff) AM_RAM_WRITE(bigtwin_paletteram_w) AM_BASE_GENERIC(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/ssozumo.c b/src/mame/drivers/ssozumo.c
index 06e43cd994b..b5aab27a089 100644
--- a/src/mame/drivers/ssozumo.c
+++ b/src/mame/drivers/ssozumo.c
@@ -37,11 +37,11 @@ static WRITE8_HANDLER( ssozumo_sh_command_w )
static ADDRESS_MAP_START( ssozumo_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x077f) AM_RAM
- AM_RANGE(0x0780, 0x07ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x0780, 0x07ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x2000, 0x23ff) AM_RAM_WRITE(ssozumo_videoram2_w) AM_BASE(&ssozumo_videoram2)
AM_RANGE(0x2400, 0x27ff) AM_RAM_WRITE(ssozumo_colorram2_w) AM_BASE(&ssozumo_colorram2)
- AM_RANGE(0x3000, 0x31ff) AM_RAM_WRITE(ssozumo_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x3200, 0x33ff) AM_RAM_WRITE(ssozumo_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x3000, 0x31ff) AM_RAM_WRITE(ssozumo_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x3200, 0x33ff) AM_RAM_WRITE(ssozumo_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x3400, 0x35ff) AM_RAM
AM_RANGE(0x3600, 0x37ff) AM_RAM
AM_RANGE(0x4000, 0x4000) AM_READ_PORT("P1") AM_WRITE(ssozumo_flipscreen_w)
@@ -49,7 +49,7 @@ static ADDRESS_MAP_START( ssozumo_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x4020, 0x4020) AM_READ_PORT("DSW2") AM_WRITE(ssozumo_scroll_w)
AM_RANGE(0x4030, 0x4030) AM_READ_PORT("DSW1")
// AM_RANGE(0x4030, 0x4030) AM_WRITEONLY
- AM_RANGE(0x4050, 0x407f) AM_RAM_WRITE(ssozumo_paletteram_w) AM_BASE(&paletteram)
+ AM_RANGE(0x4050, 0x407f) AM_RAM_WRITE(ssozumo_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x6000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ssv.c b/src/mame/drivers/ssv.c
index 3a0025d43ca..de7f5f04057 100644
--- a/src/mame/drivers/ssv.c
+++ b/src/mame/drivers/ssv.c
@@ -424,8 +424,8 @@ static READ16_HANDLER( fake_r ) { return ssv_scroll[offset]; }
#define SSV_MAP( _ROM ) \
AM_RANGE(0x000000, 0x00ffff) AM_RAM AM_BASE(&ssv_mainram) /* RAM */ \
- AM_RANGE(0x100000, 0x13ffff) AM_RAM AM_BASE(&spriteram16) /* Sprites */ \
- AM_RANGE(0x140000, 0x15ffff) AM_RAM_WRITE(paletteram16_xrgb_swap_word_w) AM_BASE(&paletteram16) /* Palette */ \
+ AM_RANGE(0x100000, 0x13ffff) AM_RAM AM_BASE_GENERIC(spriteram) /* Sprites */ \
+ AM_RANGE(0x140000, 0x15ffff) AM_RAM_WRITE(paletteram16_xrgb_swap_word_w) AM_BASE_GENERIC(paletteram) /* Palette */ \
AM_RANGE(0x160000, 0x17ffff) AM_RAM /* */ \
AM_RANGE(0x1c0000, 0x1c0001) AM_READ(ssv_vblank_r ) /* Vblank? */ \
/**/AM_RANGE(0x1c0002, 0x1c007f) AM_READ(SMH_RAM ) /* Scroll */ \
@@ -603,7 +603,7 @@ static ADDRESS_MAP_START( gdfs_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x500000, 0x500001) AM_WRITE(gdfs_eeprom_w)
AM_RANGE(0x540000, 0x540001) AM_READ(gdfs_eeprom_r)
AM_RANGE(0x600000, 0x600fff) AM_RAM
- AM_RANGE(0x800000, 0x87ffff) AM_RAM AM_BASE(&spriteram16_2)
+ AM_RANGE(0x800000, 0x87ffff) AM_RAM AM_BASE_GENERIC(spriteram2)
AM_RANGE(0x8c0000, 0x8c00ff) AM_READWRITE(gdfs_blitram_r, gdfs_blitram_w) AM_BASE(&gdfs_blitram)
AM_RANGE(0x900000, 0x9fffff) AM_READWRITE(gdfs_gfxram_r, gdfs_gfxram_w)
SSV_MAP( 0xc00000 )
diff --git a/src/mame/drivers/stadhero.c b/src/mame/drivers/stadhero.c
index e2da667a484..e3dc5c6e424 100644
--- a/src/mame/drivers/stadhero.c
+++ b/src/mame/drivers/stadhero.c
@@ -71,9 +71,9 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x240010, 0x240017) AM_WRITE(SMH_RAM) AM_BASE(&stadhero_pf2_control_1)
AM_RANGE(0x260000, 0x261fff) AM_READWRITE(stadhero_pf2_data_r, stadhero_pf2_data_w)
AM_RANGE(0x30c000, 0x30c00b) AM_READWRITE(stadhero_control_r, stadhero_control_w)
- AM_RANGE(0x310000, 0x3107ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x310000, 0x3107ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xff8000, 0xffbfff) AM_RAM /* Main ram */
- AM_RANGE(0xffc000, 0xffc7ff) AM_MIRROR(0x000800) AM_RAM AM_BASE(&spriteram16)
+ AM_RANGE(0xffc000, 0xffc7ff) AM_MIRROR(0x000800) AM_RAM AM_BASE_GENERIC(spriteram)
ADDRESS_MAP_END
/******************************************************************************/
diff --git a/src/mame/drivers/starwars.c b/src/mame/drivers/starwars.c
index 429b6c67794..091e5ccddd3 100644
--- a/src/mame/drivers/starwars.c
+++ b/src/mame/drivers/starwars.c
@@ -505,7 +505,7 @@ ROM_END
static DRIVER_INIT( starwars )
{
/* X2212 nvram */
- machine->generic.nvram.ptr.u8 = auto_alloc_array(machine, UINT8, machine->generic.nvram.size);
+ machine->generic.nvram.u8 = auto_alloc_array(machine, UINT8, machine->generic.nvram_size);
/* prepare the mathbox */
starwars_is_esb = 0;
@@ -522,7 +522,7 @@ static DRIVER_INIT( esb )
UINT8 *rom = memory_region(machine, "maincpu");
/* X2212 nvram */
- machine->generic.nvram.ptr.u8 = auto_alloc_array(machine, UINT8, machine->generic.nvram.size);
+ machine->generic.nvram.u8 = auto_alloc_array(machine, UINT8, machine->generic.nvram_size);
/* init the slapstic */
slapstic_init(machine, 101);
diff --git a/src/mame/drivers/statriv2.c b/src/mame/drivers/statriv2.c
index 6a638f4a273..d650bc0210d 100644
--- a/src/mame/drivers/statriv2.c
+++ b/src/mame/drivers/statriv2.c
@@ -93,16 +93,16 @@ static UINT8 last_coin;
static TILE_GET_INFO( horizontal_tile_info )
{
- int code = videoram[0x400+tile_index];
- int attr = videoram[tile_index] & 0x3f;
+ int code = machine->generic.videoram.u8[0x400+tile_index];
+ int attr = machine->generic.videoram.u8[tile_index] & 0x3f;
SET_TILE_INFO(0, code, attr, 0);
}
static TILE_GET_INFO( vertical_tile_info )
{
- int code = videoram[0x400+tile_index];
- int attr = videoram[tile_index] & 0x3f;
+ int code = machine->generic.videoram.u8[0x400+tile_index];
+ int attr = machine->generic.videoram.u8[tile_index] & 0x3f;
SET_TILE_INFO(0, ((code & 0x7f) << 1) | ((code & 0x80) >> 7), attr, 0);
}
@@ -146,7 +146,7 @@ static VIDEO_START( vertical )
static WRITE8_HANDLER( statriv2_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(statriv2_tilemap, offset & 0x3ff);
}
@@ -268,7 +268,7 @@ static ADDRESS_MAP_START( statriv2_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM
AM_RANGE(0x4800, 0x48ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(statriv2_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(statriv2_videoram_w) AM_BASE_GENERIC(videoram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( statriv2_io_map, ADDRESS_SPACE_IO, 8 )
diff --git a/src/mame/drivers/stfight.c b/src/mame/drivers/stfight.c
index f71d0fb166e..ffcacdfee47 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, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1) /* sf02.bin */
- AM_RANGE(0xc000, 0xc0ff) AM_RAM AM_BASE(&paletteram)
- AM_RANGE(0xc100, 0xc1ff) AM_RAM AM_BASE(&paletteram_2)
+ AM_RANGE(0xc000, 0xc0ff) AM_RAM AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xc100, 0xc1ff) AM_RAM AM_BASE_GENERIC(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 75a3ed2d76c..761ba9b6023 100644
--- a/src/mame/drivers/stlforce.c
+++ b/src/mame/drivers/stlforce.c
@@ -111,7 +111,7 @@ static ADDRESS_MAP_START( stlforce_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x103400, 0x1037ff) AM_RAM AM_BASE(&stlforce_mlow_scrollram)
AM_RANGE(0x103800, 0x103bff) AM_RAM AM_BASE(&stlforce_mhigh_scrollram)
AM_RANGE(0x103c00, 0x103fff) AM_RAM AM_BASE(&stlforce_vidattrram)
- AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x105000, 0x107fff) AM_RAM /* unknown / ram */
AM_RANGE(0x108000, 0x108fff) AM_RAM AM_BASE(&stlforce_spriteram)
AM_RANGE(0x109000, 0x11ffff) AM_RAM
diff --git a/src/mame/drivers/strnskil.c b/src/mame/drivers/strnskil.c
index b40d26869c0..d7a7d87af59 100644
--- a/src/mame/drivers/strnskil.c
+++ b/src/mame/drivers/strnskil.c
@@ -93,7 +93,7 @@ static ADDRESS_MAP_START( strnskil_map1, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xcfff) AM_RAM AM_SHARE(1)
- AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(strnskil_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(strnskil_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0xd800, 0xd800) AM_READ(strnskil_d800_r)
AM_RANGE(0xd801, 0xd801) AM_READ_PORT("DSW1")
@@ -109,7 +109,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( strnskil_map2, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM
- AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xc800, 0xcfff) AM_RAM AM_SHARE(1)
AM_RANGE(0xd801, 0xd801) AM_DEVWRITE("sn1", sn76496_w)
diff --git a/src/mame/drivers/sub.c b/src/mame/drivers/sub.c
index 591590ee325..0d7738c03fd 100644
--- a/src/mame/drivers/sub.c
+++ b/src/mame/drivers/sub.c
@@ -154,6 +154,8 @@ VIDEO_UPDATE(sub)
1 --cc cccc color
*/
{
+ UINT8 *spriteram = screen->machine->generic.spriteram.u8;
+ UINT8 *spriteram_2 = screen->machine->generic.spriteram2.u8;
UINT8 x,y,spr_offs,i,col,fx,fy;
for(i=0;i<0x40;i+=2)
@@ -202,8 +204,8 @@ static ADDRESS_MAP_START( subm_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xb000, 0xbfff) AM_RAM
AM_RANGE(0xc000, 0xc3ff) AM_RAM AM_BASE(&sub_attr)
AM_RANGE(0xc400, 0xc7ff) AM_RAM AM_BASE(&sub_vid)
- AM_RANGE(0xd000, 0xd03f) AM_RAM AM_BASE(&spriteram)
- AM_RANGE(0xd800, 0xd83f) AM_RAM AM_BASE(&spriteram_2)
+ AM_RANGE(0xd000, 0xd03f) AM_RAM AM_BASE_GENERIC(spriteram)
+ AM_RANGE(0xd800, 0xd83f) AM_RAM AM_BASE_GENERIC(spriteram2)
AM_RANGE(0xd840, 0xd85f) AM_RAM AM_BASE(&sub_scrolly)
AM_RANGE(0xe000, 0xe000) AM_NOP
diff --git a/src/mame/drivers/subs.c b/src/mame/drivers/subs.c
index 7ca39303977..ad6e9676ef5 100644
--- a/src/mame/drivers/subs.c
+++ b/src/mame/drivers/subs.c
@@ -63,9 +63,9 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x006a, 0x006b) AM_DEVWRITE("discrete", subs_crash_w)
AM_RANGE(0x006c, 0x006d) AM_WRITE(subs_invert1_w)
AM_RANGE(0x006e, 0x006f) AM_WRITE(subs_invert2_w)
- AM_RANGE(0x0090, 0x009f) AM_BASE(&spriteram)
+ AM_RANGE(0x0090, 0x009f) AM_BASE_GENERIC(spriteram)
AM_RANGE(0x0000, 0x01ff) AM_RAM
- AM_RANGE(0x0800, 0x0bff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x0800, 0x0bff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x2000, 0x3fff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/subsino.c b/src/mame/drivers/subsino.c
index a88f589aea5..f799fd4856d 100644
--- a/src/mame/drivers/subsino.c
+++ b/src/mame/drivers/subsino.c
@@ -40,19 +40,19 @@ static WRITE8_HANDLER( subsino_tiles_offset_w )
static WRITE8_HANDLER( subsino_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(tmap, offset);
}
static WRITE8_HANDLER( subsino_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(tmap, offset);
}
static TILE_GET_INFO( get_tile_info )
{
- UINT16 code = videoram[ tile_index ] + (colorram[ tile_index ] << 8);
+ UINT16 code = machine->generic.videoram.u8[ tile_index ] + (machine->generic.colorram.u8[ tile_index ] << 8);
UINT16 color = (code >> 8) & 0x0f;
code = ((code & 0xf000) >> 4) + ((code & 0xff) >> 0);
code += tiles_offset;
@@ -126,16 +126,16 @@ static ADDRESS_MAP_START( srider_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE( 0x0d01b, 0x0d01b ) AM_WRITE( subsino_tiles_offset_w )
- AM_RANGE( 0x0e000, 0x0e7ff ) AM_RAM_WRITE( subsino_colorram_w ) AM_BASE( &colorram )
- AM_RANGE( 0x0e800, 0x0efff ) AM_RAM_WRITE( subsino_videoram_w ) AM_BASE( &videoram )
+ AM_RANGE( 0x0e000, 0x0e7ff ) AM_RAM_WRITE( subsino_colorram_w ) AM_BASE_GENERIC( colorram )
+ AM_RANGE( 0x0e800, 0x0efff ) AM_RAM_WRITE( subsino_videoram_w ) AM_BASE_GENERIC( videoram )
ADDRESS_MAP_END
static ADDRESS_MAP_START( victor5_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE( 0x00000, 0x0bfff ) AM_ROM
AM_RANGE( 0x0c000, 0x0cfff ) AM_RAM
- AM_RANGE( 0x0e000, 0x0e7ff ) AM_RAM_WRITE( subsino_colorram_w ) AM_BASE( &colorram )
- AM_RANGE( 0x0e800, 0x0efff ) AM_RAM_WRITE( subsino_videoram_w ) AM_BASE( &videoram )
+ AM_RANGE( 0x0e000, 0x0e7ff ) AM_RAM_WRITE( subsino_colorram_w ) AM_BASE_GENERIC( colorram )
+ AM_RANGE( 0x0e800, 0x0efff ) AM_RAM_WRITE( subsino_videoram_w ) AM_BASE_GENERIC( videoram )
ADDRESS_MAP_END
diff --git a/src/mame/drivers/suna16.c b/src/mame/drivers/suna16.c
index c17fe5c5b03..571fb4f1075 100644
--- a/src/mame/drivers/suna16.c
+++ b/src/mame/drivers/suna16.c
@@ -106,7 +106,7 @@ static ADDRESS_MAP_START( bssoccer_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x200000, 0x203fff) AM_RAM // RAM
AM_RANGE(0x400000, 0x4001ff) AM_READWRITE(suna16_paletteram16_r, suna16_paletteram16_w) // Banked Palette
AM_RANGE(0x400200, 0x400fff) AM_RAM //
- AM_RANGE(0x600000, 0x61ffff) AM_RAM AM_BASE(&spriteram16) // Sprites
+ AM_RANGE(0x600000, 0x61ffff) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites
AM_RANGE(0xa00000, 0xa00001) AM_READ_PORT("P1") AM_WRITE(suna16_soundlatch_w) // To Sound CPU
AM_RANGE(0xa00002, 0xa00003) AM_READ_PORT("P2") AM_WRITE(suna16_flipscreen_w) // Flip Screen
AM_RANGE(0xa00004, 0xa00005) AM_READ_PORT("P3") AM_WRITE(bssoccer_leds_w) // Leds
@@ -125,7 +125,7 @@ static ADDRESS_MAP_START( uballoon_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x800000, 0x803fff) AM_RAM // RAM
AM_RANGE(0x200000, 0x2001ff) AM_READWRITE(suna16_paletteram16_r, suna16_paletteram16_w) // Banked Palette
AM_RANGE(0x200200, 0x200fff) AM_RAM //
- AM_RANGE(0x400000, 0x41ffff) AM_MIRROR(0x1e0000) AM_RAM AM_BASE(&spriteram16) // Sprites
+ AM_RANGE(0x400000, 0x41ffff) AM_MIRROR(0x1e0000) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites
AM_RANGE(0x600000, 0x600001) AM_READ_PORT("P1") AM_WRITE(suna16_soundlatch_w) // To Sound CPU
AM_RANGE(0x600002, 0x600003) AM_READ_PORT("P2")
AM_RANGE(0x600004, 0x600005) AM_READ_PORT("DSW1") AM_WRITE(suna16_flipscreen_w) // Flip Screen
@@ -150,7 +150,7 @@ static ADDRESS_MAP_START( sunaq_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x540000, 0x5401ff) AM_READWRITE(suna16_paletteram16_r, suna16_paletteram16_w)
AM_RANGE(0x540200, 0x540fff) AM_RAM // RAM
AM_RANGE(0x580000, 0x583fff) AM_RAM // RAM
- AM_RANGE(0x5c0000, 0x5dffff) AM_RAM AM_BASE(&spriteram16) // Sprites
+ AM_RANGE(0x5c0000, 0x5dffff) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites
ADDRESS_MAP_END
@@ -191,8 +191,8 @@ static ADDRESS_MAP_START( bestbest_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE( 0x540000, 0x540fff ) AM_READWRITE( suna16_paletteram16_r, suna16_paletteram16_w ) // Banked(?) Palette
AM_RANGE( 0x541000, 0x54ffff ) AM_RAM //
AM_RANGE( 0x580000, 0x58ffff ) AM_RAM // RAM
- AM_RANGE( 0x5c0000, 0x5dffff ) AM_RAM AM_BASE( &spriteram16 ) // Sprites (Chip 1)
- AM_RANGE( 0x5e0000, 0x5fffff ) AM_RAM AM_BASE( &spriteram16_2 ) // Sprites (Chip 2)
+ AM_RANGE( 0x5c0000, 0x5dffff ) AM_RAM AM_BASE_GENERIC( spriteram ) // Sprites (Chip 1)
+ AM_RANGE( 0x5e0000, 0x5fffff ) AM_RAM AM_BASE_GENERIC( spriteram2 ) // Sprites (Chip 2)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/suna8.c b/src/mame/drivers/suna8.c
index a97126d396a..c82ad8b130e 100644
--- a/src/mame/drivers/suna8.c
+++ b/src/mame/drivers/suna8.c
@@ -512,7 +512,7 @@ static ADDRESS_MAP_START( hardhead_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM // ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1) // Banked ROM
AM_RANGE(0xc000, 0xd7ff) AM_RAM // RAM
- AM_RANGE(0xd800, 0xd9ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE(&paletteram) // Palette
+ AM_RANGE(0xd800, 0xd9ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE(0xda00, 0xda00) AM_READWRITE(hardhead_ip_r, SMH_RAM) AM_BASE(&hardhead_ip) // Input Port Select
AM_RANGE(0xda80, 0xda80) AM_READWRITE(soundlatch2_r, hardhead_bankswitch_w ) // ROM Banking
AM_RANGE(0xdb00, 0xdb00) AM_WRITE(soundlatch_w ) // To Sound CPU
@@ -521,7 +521,7 @@ static ADDRESS_MAP_START( hardhead_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xdc80, 0xdc80) AM_NOP // <- R (after bank select)
AM_RANGE(0xdd00, 0xdd00) AM_NOP // <- R (after ip select)
AM_RANGE(0xdd80, 0xddff) AM_READWRITE(hardhead_protection_r, hardhead_protection_w ) // Protection
- AM_RANGE(0xe000, 0xffff) AM_RAM_WRITE(suna8_spriteram_w) AM_BASE(&spriteram ) // Sprites
+ AM_RANGE(0xe000, 0xffff) AM_RAM_WRITE(suna8_spriteram_w) AM_BASE_GENERIC(spriteram ) // Sprites
ADDRESS_MAP_END
@@ -581,9 +581,9 @@ static ADDRESS_MAP_START( rranger_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc280, 0xc280) AM_WRITE(SMH_NOP ) // ? 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(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE(&paletteram) // Palette
+ AM_RANGE(0xc600, 0xc7ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE(0xc800, 0xdfff) AM_RAM // RAM
- AM_RANGE(0xe000, 0xffff) AM_RAM_WRITE(suna8_spriteram_w) AM_BASE(&spriteram ) // Sprites
+ AM_RANGE(0xe000, 0xffff) AM_RAM_WRITE(suna8_spriteram_w) AM_BASE_GENERIC(spriteram ) // Sprites
ADDRESS_MAP_END
@@ -776,7 +776,7 @@ static ADDRESS_MAP_START( hardhea2_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc533, 0xc533) AM_WRITE(hardhea2_rambank_0_w )
// Protection ***
- AM_RANGE(0xc600, 0xc7ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE(&paletteram ) // Palette (Banked??)
+ AM_RANGE(0xc600, 0xc7ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram ) // Palette (Banked??)
AM_RANGE(0xc800, 0xdfff) AM_RAMBANK(2) // RAM (Banked?)
AM_RANGE(0xe000, 0xffff) AM_READWRITE(suna8_banked_spriteram_r, suna8_banked_spriteram_w) // Sprites (Banked)
ADDRESS_MAP_END
@@ -811,7 +811,7 @@ static ADDRESS_MAP_START( starfigh_map, ADDRESS_SPACE_PROGRAM, 8 )
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(soundlatch_w ) // To Sound CPU
- AM_RANGE(0xc600, 0xc7ff) AM_READWRITE(suna8_banked_paletteram_r, paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE(&paletteram ) // Palette (Banked??)
+ AM_RANGE(0xc600, 0xc7ff) AM_READWRITE(suna8_banked_paletteram_r, paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram ) // Palette (Banked??)
AM_RANGE(0xc800, 0xdfff) AM_RAM // RAM
AM_RANGE(0xe000, 0xffff) AM_READWRITE(suna8_banked_spriteram_r, suna8_banked_spriteram_w) // Sprites (Banked)
ADDRESS_MAP_END
@@ -891,7 +891,7 @@ static ADDRESS_MAP_START( sparkman_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc380, 0xc380) AM_WRITE(sparkman_nmi_w ) // ? NMI related ?
AM_RANGE(0xc400, 0xc400) AM_WRITE(sparkman_leds_w ) // Leds + Coin Counter
AM_RANGE(0xc500, 0xc500) AM_WRITE(soundlatch_w ) // To Sound CPU
- AM_RANGE(0xc600, 0xc7ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE(&paletteram ) // Palette (Banked??)
+ AM_RANGE(0xc600, 0xc7ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram ) // Palette (Banked??)
AM_RANGE(0xc800, 0xdfff) AM_RAM // RAM
AM_RANGE(0xe000, 0xffff) AM_READWRITE(suna8_banked_spriteram_r, suna8_banked_spriteram_w ) // Sprites (Banked)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/supbtime.c b/src/mame/drivers/supbtime.c
index 31997e3e655..41c27ee0ee5 100644
--- a/src/mame/drivers/supbtime.c
+++ b/src/mame/drivers/supbtime.c
@@ -63,9 +63,9 @@ static ADDRESS_MAP_START( supbtime_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM
AM_RANGE(0x104000, 0x11ffff) AM_WRITENOP /* Nothing there */
- AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_BASE(&spriteram16)
+ AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x120800, 0x13ffff) AM_WRITENOP /* Nothing there */
- AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(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,8 +79,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( chinatwn_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_WRITE(sound_w)
- AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_BASE(&spriteram16)
- AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_BASE_GENERIC(spriteram)
+ AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(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/supdrapo.c b/src/mame/drivers/supdrapo.c
index 3d411090ea1..af7b78d40cc 100644
--- a/src/mame/drivers/supdrapo.c
+++ b/src/mame/drivers/supdrapo.c
@@ -45,7 +45,7 @@ static ADDRESS_MAP_START( sdpoker_mem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x57ff, 0x57ff) AM_RAM AM_SHARE(1)
AM_RANGE(0x5800, 0x58ff) AM_RAM AM_SHARE(1) AM_BASE(&col_line)
AM_RANGE(0x6000, 0x67ff) AM_RAM //work ram
- AM_RANGE(0x6800, 0x6bff) AM_RAM AM_BASE(&videoram)
+ AM_RANGE(0x6800, 0x6bff) AM_RAM AM_BASE_GENERIC(videoram)
AM_RANGE(0x6c00, 0x6fff) AM_RAM AM_BASE(&char_bank)
AM_RANGE(0x7000, 0x7bff) AM_RAM //$7600 seems watchdog
AM_RANGE(0x7c00, 0x7c00) AM_WRITENOP //?
@@ -204,7 +204,7 @@ static VIDEO_UPDATE( supdrapo )
{
for(x=0;x<32;x++)
{
- int tile = videoram[count] + char_bank[count] * 0x100;
+ int tile = screen->machine->generic.videoram.u8[count] + char_bank[count] * 0x100;
/* Global Column Coloring, GUESS! */
color = col_line[(x*2)+1] ? (col_line[(x*2)+1]-1) & 0x7 : 0;
diff --git a/src/mame/drivers/superchs.c b/src/mame/drivers/superchs.c
index 07326f77f6d..1ccba7cd59d 100644
--- a/src/mame/drivers/superchs.c
+++ b/src/mame/drivers/superchs.c
@@ -103,9 +103,9 @@ static WRITE32_HANDLER( cpua_ctrl_w )
static WRITE32_HANDLER( superchs_palette_w )
{
int a,r,g,b;
- COMBINE_DATA(&paletteram32[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
- a = paletteram32[offset];
+ a = space->machine->generic.paletteram.u32[offset];
r = (a &0xff0000) >> 16;
g = (a &0xff00) >> 8;
b = (a &0xff);
@@ -233,12 +233,12 @@ static WRITE32_HANDLER( superchs_stick_w )
static ADDRESS_MAP_START( superchs_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x11ffff) AM_RAM AM_BASE(&superchs_ram)
- AM_RANGE(0x140000, 0x141fff) AM_RAM AM_BASE(&spriteram32) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x140000, 0x141fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x180000, 0x18ffff) AM_READWRITE(TC0480SCP_long_r, TC0480SCP_long_w)
AM_RANGE(0x1b0000, 0x1b002f) AM_READWRITE(TC0480SCP_ctrl_long_r, TC0480SCP_ctrl_long_w)
AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_BASE(&shared_ram)
AM_RANGE(0x240000, 0x240003) AM_WRITE(cpua_ctrl_w)
- AM_RANGE(0x280000, 0x287fff) AM_RAM_WRITE(superchs_palette_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x280000, 0x287fff) AM_RAM_WRITE(superchs_palette_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x2c0000, 0x2c07ff) AM_RAM AM_BASE(&f3_shared_ram)
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/superdq.c b/src/mame/drivers/superdq.c
index 400ef0f9992..0ea64d8244e 100644
--- a/src/mame/drivers/superdq.c
+++ b/src/mame/drivers/superdq.c
@@ -36,7 +36,7 @@ static int superdq_color_bank = 0;
static TILE_GET_INFO( get_tile_info )
{
- int tile = videoram[tile_index];
+ int tile = machine->generic.videoram.u8[tile_index];
SET_TILE_INFO(0,tile,superdq_color_bank,0);
}
@@ -123,7 +123,7 @@ static INTERRUPT_GEN( superdq_vblank )
static WRITE8_HANDLER( superdq_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(superdq_tilemap,offset);
}
@@ -177,7 +177,7 @@ static WRITE8_HANDLER( superdq_ld_w )
static ADDRESS_MAP_START( superdq_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
- AM_RANGE(0x5c00, 0x5fff) AM_RAM_WRITE(superdq_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x5c00, 0x5fff) AM_RAM_WRITE(superdq_videoram_w) AM_BASE_GENERIC(videoram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( superdq_io, ADDRESS_SPACE_IO, 8 )
diff --git a/src/mame/drivers/superqix.c b/src/mame/drivers/superqix.c
index 7bbfb992eb4..d0a05253b2c 100644
--- a/src/mame/drivers/superqix.c
+++ b/src/mame/drivers/superqix.c
@@ -576,14 +576,14 @@ static MACHINE_START( pbillian )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
- AM_RANGE(0xe000, 0xe0ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xe000, 0xe0ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xe100, 0xe7ff) AM_RAM
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(superqix_videoram_w) AM_BASE(&superqix_videoram)
AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
static ADDRESS_MAP_START( pbillian_port_map, ADDRESS_SPACE_IO, 8 )
- AM_RANGE(0x0000, 0x01ff) AM_RAM_WRITE(paletteram_BBGGRRII_w) AM_BASE(&paletteram)
+ AM_RANGE(0x0000, 0x01ff) AM_RAM_WRITE(paletteram_BBGGRRII_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x0401, 0x0401) AM_DEVREAD("aysnd", ay8910_r)
AM_RANGE(0x0402, 0x0403) AM_DEVWRITE("aysnd", ay8910_data_address_w)
AM_RANGE(0x0408, 0x0408) AM_READ(pbillian_from_mcu_r)
@@ -596,7 +596,7 @@ static ADDRESS_MAP_START( pbillian_port_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_END
static ADDRESS_MAP_START( hotsmash_port_map, ADDRESS_SPACE_IO, 8 )
- AM_RANGE(0x0000, 0x01ff) AM_RAM_WRITE(paletteram_BBGGRRII_w) AM_BASE(&paletteram)
+ AM_RANGE(0x0000, 0x01ff) AM_RAM_WRITE(paletteram_BBGGRRII_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x0401, 0x0401) AM_DEVREAD("aysnd", ay8910_r)
AM_RANGE(0x0402, 0x0403) AM_DEVWRITE("aysnd", ay8910_data_address_w)
AM_RANGE(0x0408, 0x0408) AM_READ(hotsmash_from_mcu_r)
@@ -609,7 +609,7 @@ static ADDRESS_MAP_START( hotsmash_port_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_END
static ADDRESS_MAP_START( sqix_port_map, ADDRESS_SPACE_IO, 8 )
- AM_RANGE(0x0000, 0x00ff) AM_RAM_WRITE(paletteram_BBGGRRII_w) AM_BASE(&paletteram)
+ AM_RANGE(0x0000, 0x00ff) AM_RAM_WRITE(paletteram_BBGGRRII_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x0401, 0x0401) AM_DEVREAD("ay1", ay8910_r)
AM_RANGE(0x0402, 0x0403) AM_DEVWRITE("ay1", ay8910_data_address_w)
AM_RANGE(0x0405, 0x0405) AM_DEVREAD("ay2", ay8910_r)
@@ -622,7 +622,7 @@ static ADDRESS_MAP_START( sqix_port_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_END
static ADDRESS_MAP_START( bootleg_port_map, ADDRESS_SPACE_IO, 8 )
- AM_RANGE(0x0000, 0x00ff) AM_RAM_WRITE(paletteram_BBGGRRII_w) AM_BASE(&paletteram)
+ AM_RANGE(0x0000, 0x00ff) AM_RAM_WRITE(paletteram_BBGGRRII_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x0401, 0x0401) AM_DEVREAD("ay1", ay8910_r)
AM_RANGE(0x0402, 0x0403) AM_DEVWRITE("ay1", ay8910_data_address_w)
AM_RANGE(0x0405, 0x0405) AM_DEVREAD("ay2", ay8910_r)
diff --git a/src/mame/drivers/suprgolf.c b/src/mame/drivers/suprgolf.c
index e24a577e75e..af6aad8cb1e 100644
--- a/src/mame/drivers/suprgolf.c
+++ b/src/mame/drivers/suprgolf.c
@@ -35,8 +35,8 @@ static UINT8 suprgolf_vreg_pen;
static TILE_GET_INFO( get_tile_info )
{
- int code = videoram[tile_index*2]+256*(videoram[tile_index*2+1]);
- int color = videoram[tile_index*2+0x800] & 0x7f;
+ int code = machine->generic.videoram.u8[tile_index*2]+256*(machine->generic.videoram.u8[tile_index*2+1]);
+ int color = machine->generic.videoram.u8[tile_index*2+0x800] & 0x7f;
SET_TILE_INFO(
0,
@@ -48,7 +48,7 @@ static TILE_GET_INFO( get_tile_info )
static VIDEO_START( suprgolf )
{
suprgolf_tilemap = tilemap_create( machine, get_tile_info,tilemap_scan_rows,8,8,32,32 );
- paletteram = auto_alloc_array(machine, UINT8, 0x1000);
+ machine->generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x1000);
suprgolf_bg_vram = auto_alloc_array(machine, UINT8, 0x2000*0x20);
suprgolf_bg_fb = auto_alloc_array(machine, UINT16, 0x2000*0x20);
suprgolf_fg_fb = auto_alloc_array(machine, UINT16, 0x2000*0x20);
@@ -105,9 +105,9 @@ static UINT8 palette_switch;
static READ8_HANDLER( suprgolf_videoram_r )
{
if(palette_switch)
- return paletteram[offset];
+ return space->machine->generic.paletteram.u8[offset];
else
- return videoram[offset];
+ return space->machine->generic.videoram.u8[offset];
}
static WRITE8_HANDLER( suprgolf_videoram_w )
@@ -115,9 +115,9 @@ static WRITE8_HANDLER( suprgolf_videoram_w )
if(palette_switch)
{
int r,g,b,datax;
- paletteram[offset] = data;
+ space->machine->generic.paletteram.u8[offset] = data;
offset>>=1;
- datax=paletteram[offset*2]+256*paletteram[offset*2+1];
+ datax=space->machine->generic.paletteram.u8[offset*2]+256*space->machine->generic.paletteram.u8[offset*2+1];
b = (datax & 0x8000) ? 0 : ((datax)&0x001f)>>0;
g = (datax & 0x8000) ? 0 : ((datax)&0x03e0)>>5;
@@ -127,7 +127,7 @@ static WRITE8_HANDLER( suprgolf_videoram_w )
}
else
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(suprgolf_tilemap, (offset & 0x7fe) >> 1);
}
}
@@ -269,7 +269,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x4000, 0x4000) AM_WRITE( rom2_bank_select_w )
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(2)
AM_RANGE(0xc000, 0xdfff) AM_READWRITE( suprgolf_bg_vram_r, suprgolf_bg_vram_w ) // banked background vram
- AM_RANGE(0xe000, 0xefff) AM_READWRITE( suprgolf_videoram_r, suprgolf_videoram_w ) AM_BASE(&videoram) //foreground vram + paletteram
+ AM_RANGE(0xe000, 0xefff) AM_READWRITE( suprgolf_videoram_r, suprgolf_videoram_w ) AM_BASE_GENERIC(videoram) //foreground vram + paletteram
AM_RANGE(0xf000, 0xf000) AM_WRITE( suprgolf_pen_w )
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/suprloco.c b/src/mame/drivers/suprloco.c
index 620ebb7fc28..2449585bb54 100644
--- a/src/mame/drivers/suprloco.c
+++ b/src/mame/drivers/suprloco.c
@@ -41,7 +41,7 @@ static WRITE8_HANDLER( suprloco_soundport_w )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROM
- AM_RANGE(0xc000, 0xc1ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xc000, 0xc1ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xc800, 0xc800) AM_READ_PORT("SYSTEM")
AM_RANGE(0xd000, 0xd000) AM_READ_PORT("P1")
AM_RANGE(0xd800, 0xd800) AM_READ_PORT("P2")
diff --git a/src/mame/drivers/suprnova.c b/src/mame/drivers/suprnova.c
index 952ce9a3c79..759c65fcdb7 100644
--- a/src/mame/drivers/suprnova.c
+++ b/src/mame/drivers/suprnova.c
@@ -776,7 +776,7 @@ static ADDRESS_MAP_START( skns_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x00c00000, 0x00c00003) AM_DEVREADWRITE8("ymz", ymz280b_r, ymz280b_w, 0xffff0000) /* ymz280_w (sound) */
AM_RANGE(0x01000000, 0x0100000f) AM_READWRITE(skns_msm6242_r, skns_msm6242_w)
AM_RANGE(0x01800000, 0x01800003) AM_WRITE(skns_hit2_w)
- AM_RANGE(0x02000000, 0x02003fff) AM_RAM AM_BASE(&spriteram32) AM_SIZE(&spriteram_size) /* sprite ram */
+ AM_RANGE(0x02000000, 0x02003fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* sprite ram */
AM_RANGE(0x02100000, 0x0210003f) AM_RAM AM_BASE(&skns_spc_regs) /* sprite registers */
AM_RANGE(0x02400000, 0x0240007f) AM_RAM_WRITE(skns_v3_regs_w) AM_BASE(&skns_v3_regs) /* tilemap registers */
AM_RANGE(0x02500000, 0x02503fff) AM_RAM_WRITE(skns_tilemapA_w) AM_BASE(&skns_tilemapA_ram) /* tilemap A */
diff --git a/src/mame/drivers/suprridr.c b/src/mame/drivers/suprridr.c
index 1fe4279173f..ee298524f8d 100644
--- a/src/mame/drivers/suprridr.c
+++ b/src/mame/drivers/suprridr.c
@@ -167,7 +167,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8800, 0x8bff) AM_RAM_WRITE(suprridr_bgram_w) AM_BASE(&suprridr_bgram)
AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(suprridr_fgram_w) AM_BASE(&suprridr_fgram)
AM_RANGE(0x9800, 0x983f) AM_RAM
- AM_RANGE(0x9840, 0x987f) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0x9840, 0x987f) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x9880, 0x9bff) AM_RAM
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("INPUTS")
AM_RANGE(0xa800, 0xa800) AM_READ_PORT("SYSTEM")
diff --git a/src/mame/drivers/suprslam.c b/src/mame/drivers/suprslam.c
index 33266cfd714..c6782a5f478 100644
--- a/src/mame/drivers/suprslam.c
+++ b/src/mame/drivers/suprslam.c
@@ -145,7 +145,7 @@ static ADDRESS_MAP_START( suprslam_map, ADDRESS_SPACE_PROGRAM, 16 )
// AM_RANGE(0xff2000, 0xff203f) AM_RAM /* ?? */
AM_RANGE(0xff8000, 0xff8fff) AM_RAM AM_BASE(&K053936_0_linectrl)
AM_RANGE(0xff9000, 0xff9001) AM_WRITE(sound_command_w)
- AM_RANGE(0xffa000, 0xffafff) AM_RAM_WRITE(paletteram16_xGGGGGBBBBBRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xffa000, 0xffafff) AM_RAM_WRITE(paletteram16_xGGGGGBBBBBRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xffd000, 0xffd01f) AM_WRITE(SMH_RAM) AM_BASE(&K053936_0_ctrl)
AM_RANGE(0xffe000, 0xffe001) AM_WRITE(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 a20f3a2ba9f..3dcd07db72e 100644
--- a/src/mame/drivers/surpratk.c
+++ b/src/mame/drivers/surpratk.c
@@ -34,9 +34,9 @@ static READ8_HANDLER( bankedram_r )
if (videobank & 0x02)
{
if (videobank & 0x04)
- return paletteram[offset + 0x0800];
+ return space->machine->generic.paletteram.u8[offset + 0x0800];
else
- return paletteram[offset];
+ return space->machine->generic.paletteram.u8[offset];
}
else if (videobank & 0x01)
return K053245_r(space,offset);
@@ -282,7 +282,7 @@ static MACHINE_RESET( surpratk )
{
konami_configure_set_lines(cputag_get_cpu(machine, "maincpu"), surpratk_banking);
- paletteram = &memory_region(machine, "maincpu")[0x48000];
+ machine->generic.paletteram.u8 = &memory_region(machine, "maincpu")[0x48000];
}
static DRIVER_INIT( surpratk )
diff --git a/src/mame/drivers/system1.c b/src/mame/drivers/system1.c
index dbe74ec8e2e..b90f9cbb1e0 100644
--- a/src/mame/drivers/system1.c
+++ b/src/mame/drivers/system1.c
@@ -704,8 +704,8 @@ static ADDRESS_MAP_START( system1_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
AM_RANGE(0xc000, 0xcfff) AM_RAM AM_BASE(&system1_ram)
- AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_BASE(&spriteram)
- AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(system1_paletteram_w) AM_BASE(&paletteram)
+ AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_BASE_GENERIC(spriteram)
+ AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(system1_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xe000, 0xefff) AM_READWRITE(system1_videoram_r, system1_videoram_w)
AM_RANGE(0xf000, 0xf3ff) AM_READWRITE(system1_mixer_collision_r, system1_mixer_collision_w)
AM_RANGE(0xf400, 0xf7ff) AM_WRITE(system1_mixer_collision_reset_w)
@@ -721,8 +721,8 @@ static ADDRESS_MAP_START( nobo_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc400, 0xc7ff) AM_WRITE(system1_mixer_collision_reset_w)
AM_RANGE(0xc800, 0xcbff) AM_READWRITE(system1_sprite_collision_r, system1_sprite_collision_w)
AM_RANGE(0xcc00, 0xcfff) AM_WRITE(system1_sprite_collision_reset_w)
- AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_BASE(&spriteram)
- AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(system1_paletteram_w) AM_BASE(&paletteram)
+ AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_BASE_GENERIC(spriteram)
+ AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(system1_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xe000, 0xefff) AM_READWRITE(system1_videoram_r, system1_videoram_w)
AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE(&system1_ram)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/system16.c b/src/mame/drivers/system16.c
index d49ac293235..5f2d34086eb 100644
--- a/src/mame/drivers/system16.c
+++ b/src/mame/drivers/system16.c
@@ -497,7 +497,7 @@ static ADDRESS_MAP_START( bayroute_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x600000, 0x600fff) AM_RAM AM_BASE(&segaic16_spriteram_0)
AM_RANGE(0x700000, 0x70ffff) AM_RAM_WRITE( sys16_tileram_w ) AM_BASE(&sys16_tileram)
AM_RANGE(0x710000, 0x710fff) AM_RAM_WRITE( sys16_textram_w ) AM_BASE(&sys16_textram)
- AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&paletteram16)
+ AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&segaic16_paletteram)
AM_RANGE(0x900000, 0x900001) AM_WRITE(sys16_coinctrl_w)
AM_RANGE(0x901002, 0x901003) AM_READ_PORT("P1")
AM_RANGE(0x901006, 0x901007) AM_READ_PORT("P2")
@@ -820,7 +820,7 @@ static ADDRESS_MAP_START( goldnaxe_b1_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x118018, 0x118019) AM_WRITE(sys16bootleg_bgscrollx_w)
AM_RANGE(0x118020, 0x118021) AM_WRITE(sys16bootleg_fgpage_w)
AM_RANGE(0x118028, 0x118029) AM_WRITE(sys16bootleg_bgpage_w)
- AM_RANGE(0x140000, 0x143fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&paletteram16)
+ AM_RANGE(0x140000, 0x143fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&segaic16_paletteram)
AM_RANGE(0x200000, 0x200fff) AM_RAM AM_BASE(&segaic16_spriteram_0)
AM_RANGE(0xc40000, 0xc40001) AM_WRITE(sys16_coinctrl_w)
AM_RANGE(0xc41002, 0xc41003) AM_READ_PORT("P1")
@@ -847,7 +847,7 @@ static ADDRESS_MAP_START( bayroute_b1_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x718018, 0x718019) AM_WRITE(sys16bootleg_bgscrollx_w)
AM_RANGE(0x718020, 0x718021) AM_WRITE(sys16bootleg_fgpage_w)
AM_RANGE(0x718028, 0x718029) AM_WRITE(sys16bootleg_bgpage_w)
- AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&paletteram16)
+ AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&segaic16_paletteram)
AM_RANGE(0x901000, 0x901001) AM_READ_PORT("SERVICE") AM_WRITE(sys16_coinctrl_w)
AM_RANGE(0x901002, 0x901003) AM_READ_PORT("P1")
AM_RANGE(0x901006, 0x901007) AM_READ_PORT("P2")
@@ -917,7 +917,7 @@ static ADDRESS_MAP_START( bayroute_b2_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x718024, 0x718025) AM_WRITE(datsu_page2_w)
AM_RANGE(0x718026, 0x718027) AM_WRITE(datsu_page3_w)
- AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&paletteram16)
+ AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&segaic16_paletteram)
AM_RANGE(0x900000, 0x900001) AM_READ_PORT("DSW1")
AM_RANGE(0x900002, 0x900003) AM_READ_PORT("DSW2")
AM_RANGE(0x900006, 0x900007) AM_WRITE(sound_command_w)
@@ -932,7 +932,7 @@ static ADDRESS_MAP_START( dduxbl_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x400000, 0x40ffff) AM_RAM_WRITE( sys16_tileram_w ) AM_BASE(&sys16_tileram)
AM_RANGE(0x410000, 0x410fff) AM_RAM_WRITE( sys16_textram_w ) AM_BASE(&sys16_textram)
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(&segaic16_spriteram_0)
- AM_RANGE(0x840000, 0x840fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&paletteram16)
+ AM_RANGE(0x840000, 0x840fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&segaic16_paletteram)
AM_RANGE(0xc40000, 0xc40001) AM_WRITE(sys16_coinctrl_w)
AM_RANGE(0xc40006, 0xc40007) AM_WRITE(sound_command_w)
AM_RANGE(0xc41002, 0xc41003) AM_READ_PORT("P1")
@@ -1021,7 +1021,7 @@ static ADDRESS_MAP_START( goldnaxe_b2_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0bffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM_WRITE( sys16_tileram_w ) AM_BASE(&sys16_tileram)
AM_RANGE(0x110000, 0x110fff) AM_RAM_WRITE( sys16_textram_w ) AM_BASE(&sys16_textram)
- AM_RANGE(0x140000, 0x143fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&paletteram16)
+ AM_RANGE(0x140000, 0x143fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&segaic16_paletteram)
AM_RANGE(0x200000, 0x200fff) AM_RAM AM_BASE(&segaic16_spriteram_0)
AM_RANGE(0xc40000, 0xc40001) AM_READ_PORT("DSW2") AM_WRITE(SMH_NOP)
AM_RANGE(0xc40002, 0xc40003) AM_READ_PORT("DSW1")
@@ -1195,7 +1195,7 @@ static ADDRESS_MAP_START( fpointbl_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x600000, 0x600001) AM_READ_PORT("DSW2")
AM_RANGE(0x600002, 0x600003) AM_READ_PORT("DSW1")
- AM_RANGE(0x840000, 0x840fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&paletteram16)
+ AM_RANGE(0x840000, 0x840fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&segaic16_paletteram)
AM_RANGE(0x843000, 0x843001) AM_WRITENOP
AM_RANGE(0xC46000, 0xC46001) AM_WRITE(sys16bootleg_fgscrolly_w)
@@ -1254,7 +1254,7 @@ static ADDRESS_MAP_START( eswatbl_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x418028, 0x418029) AM_WRITE(sys16bootleg_fgpage_w)
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(&segaic16_spriteram_0)
- AM_RANGE(0x840000, 0x840fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&paletteram16)
+ AM_RANGE(0x840000, 0x840fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&segaic16_paletteram)
AM_RANGE(0xc40000, 0xc40001) AM_WRITE(sys16_coinctrl_w)
AM_RANGE(0xc41002, 0xc41003) AM_READ_PORT("P1")
AM_RANGE(0xc41006, 0xc41007) AM_READ_PORT("P2")
@@ -1293,7 +1293,7 @@ static ADDRESS_MAP_START( system16a_bootleg_passsht_map, ADDRESS_SPACE_PROGRAM,
AM_RANGE(0x410000, 0x410fff) AM_RAM AM_BASE(&sys16_textram)
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(&segaic16_spriteram_0)
- AM_RANGE(0x840000, 0x840fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&paletteram16)
+ AM_RANGE(0x840000, 0x840fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&segaic16_paletteram)
AM_RANGE(0xc40000, 0xc40001) AM_WRITE(sys16_coinctrl_w)
AM_RANGE(0xc41002, 0xc41003) AM_READ_PORT("P1")
AM_RANGE(0xc41004, 0xc41005) AM_READ_PORT("P2")
@@ -1372,7 +1372,7 @@ static ADDRESS_MAP_START( system16a_bootleg_passht4b_map, ADDRESS_SPACE_PROGRAM,
AM_RANGE(0x40a000, 0x40bfff) AM_RAM AM_BASE(&system16a_bootleg_bg1_tileram)
AM_RANGE(0x410000, 0x410fff) AM_RAM AM_BASE(&sys16_textram)
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(&segaic16_spriteram_0)
- AM_RANGE(0x840000, 0x840fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&paletteram16)
+ AM_RANGE(0x840000, 0x840fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&segaic16_paletteram)
AM_RANGE(0xc41000, 0xc41001) AM_READ(passht4b_service_r)
AM_RANGE(0xc41002, 0xc41003) AM_READ(passht4b_io1_r)
AM_RANGE(0xc41004, 0xc41005) AM_READ(passht4b_io2_r)
@@ -1569,7 +1569,7 @@ static ADDRESS_MAP_START( system16a_bootleg_shinobi_map, ADDRESS_SPACE_PROGRAM,
AM_RANGE(0x411000, 0x411fff) AM_RAM AM_BASE(&system16a_bootleg_bg0_tileram)
AM_RANGE(0x412000, 0x412fff) AM_RAM AM_BASE(&system16a_bootleg_bg1_tileram)
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(&segaic16_spriteram_0)
- AM_RANGE(0x840000, 0x840fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&paletteram16)
+ AM_RANGE(0x840000, 0x840fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&segaic16_paletteram)
AM_RANGE(0xc40000, 0xc40001) AM_WRITE(sound_command_nmi_w)
AM_RANGE(0xc41000, 0xc41001) AM_READ_PORT("SERVICE")
AM_RANGE(0xc41002, 0xc41003) AM_READ_PORT("P1")
@@ -1624,7 +1624,7 @@ static ADDRESS_MAP_START( tetrisbl_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x418028, 0x418029) AM_WRITE(sys16bootleg_bgpage_w)
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(&segaic16_spriteram_0)
- AM_RANGE(0x840000, 0x840fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&paletteram16)
+ AM_RANGE(0x840000, 0x840fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&segaic16_paletteram)
AM_RANGE(0xc40000, 0xc40001) AM_WRITE(sys16_coinctrl_w)
AM_RANGE(0xc41000, 0xc41001) AM_READ_PORT("SERVICE")
AM_RANGE(0xc41002, 0xc41003) AM_READ_PORT("P1")
@@ -1664,7 +1664,7 @@ static ADDRESS_MAP_START( beautyb_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x418028, 0x418029) AM_WRITE(sys16bootleg_fgpage_w)
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(&segaic16_spriteram_0)
- AM_RANGE(0x840000, 0x840fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&paletteram16)
+ AM_RANGE(0x840000, 0x840fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&segaic16_paletteram)
AM_RANGE(0xC41000, 0xC41001) AM_READ(beautyb_unkx_r )
AM_RANGE(0xC41002, 0xC41003) AM_READ(beautyb_unkx_r )
@@ -1764,7 +1764,7 @@ static ADDRESS_MAP_START( tturfbl_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300000, 0x300fff) AM_RAM AM_BASE(&segaic16_spriteram_0)
AM_RANGE(0x400000, 0x40ffff) AM_RAM_WRITE( sys16_tileram_w ) AM_BASE(&sys16_tileram)
AM_RANGE(0x410000, 0x410fff) AM_RAM_WRITE( sys16_textram_w ) AM_BASE(&sys16_textram)
- AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&paletteram16)
+ AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&segaic16_paletteram)
AM_RANGE(0x600000, 0x600001) AM_WRITE(sys16_coinctrl_w)
AM_RANGE(0x600000, 0x600001) AM_READ_PORT("DSW2")
AM_RANGE(0x600002, 0x600003) AM_READ_PORT("DSW1")
@@ -1856,7 +1856,7 @@ static ADDRESS_MAP_START( wb3bbl_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x40a000, 0x40bfff) AM_RAM AM_BASE(&system16a_bootleg_bg1_tileram)
AM_RANGE(0x410000, 0x410fff) AM_RAM AM_BASE(&sys16_textram)
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(&segaic16_spriteram_0)
- AM_RANGE(0x840000, 0x840fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&paletteram16)
+ AM_RANGE(0x840000, 0x840fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&segaic16_paletteram)
AM_RANGE(0xc40000, 0xc40001) AM_WRITE(sys16_coinctrl_w)
AM_RANGE(0xc41000, 0xc41001) AM_READ_PORT("SERVICE")
AM_RANGE(0xc41002, 0xc41003) AM_READ_PORT("P1")
@@ -2881,7 +2881,7 @@ static ADDRESS_MAP_START( shdancbl_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x400000, 0x40ffff) AM_RAM_WRITE( sys16_tileram_w ) AM_BASE(&sys16_tileram)
AM_RANGE(0x410000, 0x410fff) AM_RAM_WRITE( sys16_textram_w ) AM_BASE(&sys16_textram)
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(&segaic16_spriteram_0)
- AM_RANGE(0x840000, 0x840fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&paletteram16)
+ AM_RANGE(0x840000, 0x840fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&segaic16_paletteram)
AM_RANGE(0xc00000, 0xc0ffff) AM_NOP
AM_RANGE(0xc40000, 0xc40001) AM_READ_PORT("COINAGE")
AM_RANGE(0xc40002, 0xc40003) AM_READ_PORT("DSW1")
@@ -2927,7 +2927,7 @@ static ADDRESS_MAP_START( mwalkbl_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x400000, 0x40ffff) AM_RAM_WRITE( sys16_tileram_w ) AM_BASE(&sys16_tileram)
AM_RANGE(0x410000, 0x410fff) AM_RAM_WRITE( sys16_textram_w ) AM_BASE(&sys16_textram)
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(&segaic16_spriteram_0)
- AM_RANGE(0x840000, 0x840fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&paletteram16)
+ AM_RANGE(0x840000, 0x840fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&segaic16_paletteram)
/* bootleg video regs */
/*AM_RANGE(0xc00000, 0xc00001) AM_NOP
@@ -2985,7 +2985,7 @@ static ADDRESS_MAP_START( astormbl_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM_WRITE( sys16_tileram_w ) AM_BASE(&sys16_tileram)
AM_RANGE(0x110000, 0x110fff) AM_RAM_WRITE( sys16_textram_w ) AM_BASE(&sys16_textram)
- AM_RANGE(0x140000, 0x140fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&paletteram16)
+ AM_RANGE(0x140000, 0x140fff) AM_RAM_WRITE( segaic16_paletteram_w ) AM_BASE(&segaic16_paletteram)
AM_RANGE(0x200000, 0x200fff) AM_RAM AM_BASE(&segaic16_spriteram_0)
AM_RANGE(0xa00000, 0xa00001) AM_READ_PORT("COINAGE")
AM_RANGE(0xa00002, 0xa00003) AM_READ_PORT("DSW1")
diff --git a/src/mame/drivers/tagteam.c b/src/mame/drivers/tagteam.c
index a7098dcb85d..949248deb15 100644
--- a/src/mame/drivers/tagteam.c
+++ b/src/mame/drivers/tagteam.c
@@ -60,8 +60,8 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x4000, 0x43ff) AM_READWRITE(tagteam_mirrorvideoram_r, tagteam_mirrorvideoram_w)
AM_RANGE(0x4400, 0x47ff) AM_READWRITE(tagteam_mirrorcolorram_r, tagteam_mirrorcolorram_w)
AM_RANGE(0x4800, 0x4fff) AM_READ(SMH_RAM)
- AM_RANGE(0x4800, 0x4bff) AM_WRITE(tagteam_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x4c00, 0x4fff) AM_WRITE(tagteam_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x4800, 0x4bff) AM_WRITE(tagteam_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x4c00, 0x4fff) AM_WRITE(tagteam_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tail2nos.c b/src/mame/drivers/tail2nos.c
index 98c693e6e83..5772c1e0e89 100644
--- a/src/mame/drivers/tail2nos.c
+++ b/src/mame/drivers/tail2nos.c
@@ -76,10 +76,10 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x500000, 0x500fff) AM_READWRITE(tail2nos_K051316_0_r, tail2nos_K051316_0_w)
AM_RANGE(0x510000, 0x51001f) AM_WRITE(tail2nos_K051316_ctrl_0_w)
AM_RANGE(0xff8000, 0xffbfff) AM_RAM /* work RAM */
- AM_RANGE(0xffc000, 0xffc2ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xffc000, 0xffc2ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xffc300, 0xffcfff) AM_RAM
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE(tail2nos_bgvideoram_w) AM_BASE(&tail2nos_bgvideoram)
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("INPUTS") AM_WRITE(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 9d7cdba2f51..863e046cf1c 100644
--- a/src/mame/drivers/taito_b.c
+++ b/src/mame/drivers/taito_b.c
@@ -451,7 +451,7 @@ static READ16_HANDLER( pbobble_input_bypass_r )
static ADDRESS_MAP_START( rastsag2_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x600000, 0x607fff) AM_RAM /* Main RAM */ /*ashura up to 603fff only*/
TC0180VCU_MEMRW( 0x400000 )
AM_RANGE(0x800000, 0x800001) AM_READNOP AM_WRITE8(taitosound_port_w, 0xff00)
@@ -466,7 +466,7 @@ static ADDRESS_MAP_START( crimec_map, ADDRESS_SPACE_PROGRAM, 16 )
TC0180VCU_MEMRW( 0x400000 )
AM_RANGE(0x600000, 0x600001) AM_READNOP AM_WRITE8(taitosound_port_w, 0xff00)
AM_RANGE(0x600002, 0x600003) AM_READWRITE8(taitosound_comm_r, taitosound_comm_w, 0xff00)
- AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xa00000, 0xa0ffff) AM_RAM /* Main RAM */
ADDRESS_MAP_END
@@ -478,12 +478,12 @@ static ADDRESS_MAP_START( tetrist_map, ADDRESS_SPACE_PROGRAM, 16 )
TC0180VCU_MEMRW( 0x400000 )
AM_RANGE(0x600000, 0x60000f) AM_READWRITE8(TC0220IOC_r, TC0220IOC_w, 0xff00)
AM_RANGE(0x800000, 0x807fff) AM_RAM /* Main RAM */
- AM_RANGE(0xa00000, 0xa01fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xa00000, 0xa01fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( tetrista_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
TC0180VCU_MEMRW( 0x400000 )
AM_RANGE(0x600000, 0x600001) AM_READWRITE8(TC0220IOC_portreg_r, TC0220IOC_portreg_w, 0xff00)
AM_RANGE(0x600002, 0x600003) AM_READWRITE8(TC0220IOC_port_r, TC0220IOC_port_w, 0xff00)
@@ -501,7 +501,7 @@ static ADDRESS_MAP_START( hitice_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x700000, 0x700001) AM_READNOP AM_WRITE8(taitosound_port_w, 0xff00)
AM_RANGE(0x700002, 0x700003) AM_READWRITE8(taitosound_comm_r, taitosound_comm_w, 0xff00)
AM_RANGE(0x800000, 0x803fff) AM_RAM /* Main RAM */
- AM_RANGE(0xa00000, 0xa01fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xa00000, 0xa01fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xb00000, 0xb7ffff) AM_RAM_WRITE(hitice_pixelram_w) AM_BASE(&taitob_pixelram)
// { 0xbffff0, 0xbffff1, ???
AM_RANGE(0xbffff2, 0xbffff5) AM_WRITE(hitice_pixel_scroll_w)
@@ -524,7 +524,7 @@ static ADDRESS_MAP_START( rambo3_map, ADDRESS_SPACE_PROGRAM, 16 )
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(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xa00000, 0xa01fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
ADDRESS_MAP_END
@@ -539,7 +539,7 @@ static ADDRESS_MAP_START( pbobble_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x600000, 0x600003) AM_WRITE(gain_control_w)
AM_RANGE(0x700000, 0x700001) AM_READNOP AM_WRITE8(taitosound_port_w, 0xff00)
AM_RANGE(0x700002, 0x700003) AM_READWRITE8(taitosound_comm_r, taitosound_comm_w, 0xff00)
- AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x900000, 0x90ffff) AM_RAM /* Main RAM */
ADDRESS_MAP_END
@@ -555,7 +555,7 @@ static ADDRESS_MAP_START( spacedx_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x600000, 0x600003) AM_WRITE(gain_control_w)
AM_RANGE(0x700000, 0x700001) AM_READNOP AM_WRITE8(taitosound_port_w, 0xff00)
AM_RANGE(0x700002, 0x700003) AM_READWRITE8(taitosound_comm_r, taitosound_comm_w, 0xff00)
- AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x900000, 0x90ffff) AM_RAM /* Main RAM */
ADDRESS_MAP_END
@@ -568,7 +568,7 @@ static ADDRESS_MAP_START( spacedxo_map, ADDRESS_SPACE_PROGRAM, 16 )
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(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x300000, 0x301fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x400000, 0x40ffff) AM_RAM /* Main RAM */
TC0180VCU_MEMRW( 0x500000 )
ADDRESS_MAP_END
@@ -585,7 +585,7 @@ static ADDRESS_MAP_START( qzshowby_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x600000, 0x600001) AM_READNOP AM_WRITE8(taitosound_port_w, 0xff00)
AM_RANGE(0x600002, 0x600003) AM_READWRITE8(taitosound_comm_r, taitosound_comm_w, 0xff00)
AM_RANGE(0x700000, 0x700003) AM_WRITE(gain_control_w)
- AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x900000, 0x90ffff) AM_RAM /* Main RAM */
ADDRESS_MAP_END
@@ -595,7 +595,7 @@ static ADDRESS_MAP_START( viofight_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x200000, 0x200001) AM_READNOP AM_WRITE8(taitosound_port_w, 0xff00)
AM_RANGE(0x200002, 0x200003) AM_READWRITE8(taitosound_comm_r, taitosound_comm_w, 0xff00)
TC0180VCU_MEMRW( 0x400000 )
- AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x800000, 0x80000f) AM_READWRITE8(TC0220IOC_r, TC0220IOC_w, 0xff00)
AM_RANGE(0xa00000, 0xa03fff) AM_RAM /* Main RAM */
ADDRESS_MAP_END
@@ -605,7 +605,7 @@ static ADDRESS_MAP_START( masterw_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x200000, 0x203fff) AM_RAM /* Main RAM */
TC0180VCU_MEMRW( 0x400000 )
- AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x800000, 0x800001) AM_READWRITE8(TC0220IOC_portreg_r, TC0220IOC_portreg_w, 0xff00)
AM_RANGE(0x800002, 0x800003) AM_READWRITE8(TC0220IOC_port_r, TC0220IOC_port_w, 0xff00)
AM_RANGE(0xa00000, 0xa00001) AM_READNOP AM_WRITE8(taitosound_port_w, 0xff00)
@@ -625,7 +625,7 @@ static ADDRESS_MAP_START( silentd_map, ADDRESS_SPACE_PROGRAM, 16 )
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(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x300000, 0x301fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x400000, 0x403fff) AM_RAM /* Main RAM */
TC0180VCU_MEMRW( 0x500000 )
ADDRESS_MAP_END
@@ -635,7 +635,7 @@ static ADDRESS_MAP_START( selfeena_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM /* Main RAM */
TC0180VCU_MEMRW( 0x200000 )
- AM_RANGE(0x300000, 0x301fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x300000, 0x301fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x400000, 0x40000f) AM_READWRITE8(TC0220IOC_r, TC0220IOC_w, 0xff00)
AM_RANGE(0x410000, 0x41000f) AM_READWRITE8(TC0220IOC_r, TC0220IOC_w, 0xff00) /* mirror address - seems to be only used for coin control */
AM_RANGE(0x500000, 0x500001) AM_READNOP AM_WRITE8(taitosound_port_w, 0xff00)
@@ -646,7 +646,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sbm_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM /* Main RAM */
- AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x300000, 0x30000f) AM_READWRITE(TC0510NIO_halfword_wordswap_r, TC0510NIO_halfword_wordswap_w)
AM_RANGE(0x320000, 0x320001) AM_READNOP AM_WRITE8(taitosound_port_w, 0xff00)
AM_RANGE(0x320002, 0x320003) AM_READWRITE8(taitosound_comm_r, taitosound_comm_w, 0xff00)
diff --git a/src/mame/drivers/taito_f2.c b/src/mame/drivers/taito_f2.c
index 9330ce9c722..9d2271e8144 100644
--- a/src/mame/drivers/taito_f2.c
+++ b/src/mame/drivers/taito_f2.c
@@ -701,20 +701,20 @@ static ADDRESS_MAP_START( finalb_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x800000, 0x80ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0x810000, 0x81ffff) AM_WRITENOP /* error in game init code ? */
AM_RANGE(0x820000, 0x82000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
- AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xb00002, 0xb00003) AM_WRITENOP /* ?? */
ADDRESS_MAP_END
static ADDRESS_MAP_START( dondokod_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
- AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x300000, 0x30000f) AM_READWRITE8(TC0220IOC_r, TC0220IOC_w, 0x00ff) /* I/O */
AM_RANGE(0x320000, 0x320001) AM_WRITE8(taitosound_port_w, 0xff00)
AM_RANGE(0x320002, 0x320003) AM_READWRITE8(taitosound_comm_r, taitosound_comm_w, 0xff00)
AM_RANGE(0x800000, 0x80ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
- AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xa00000, 0xa01fff) AM_READWRITE(TC0280GRD_word_r, TC0280GRD_word_w) /* ROZ tilemap */
AM_RANGE(0xa02000, 0xa0200f) AM_WRITE(TC0280GRD_ctrl_word_w)
AM_RANGE(0xb00000, 0xb0001f) AM_WRITE8(TC0360PRI_w, 0x00ff) /* ?? */
@@ -727,17 +727,17 @@ static ADDRESS_MAP_START( megab_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x120000, 0x12000f) AM_READWRITE8(TC0220IOC_r, TC0220IOC_w, 0x00ff) /* I/O */
AM_RANGE(0x180000, 0x180fff) AM_READWRITE(cchip2_word_r, cchip2_word_w) AM_BASE(&cchip2_ram)
AM_RANGE(0x200000, 0x20ffff) AM_RAM
- AM_RANGE(0x300000, 0x301fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x300000, 0x301fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x400000, 0x40001f) AM_WRITE8(TC0360PRI_w, 0x00ff) /* ?? */
AM_RANGE(0x600000, 0x60ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0x610000, 0x61ffff) AM_RAM /* unused? */
AM_RANGE(0x620000, 0x62000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
- AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( thundfox_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x100000, 0x101fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x100000, 0x101fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x200000, 0x20000f) AM_READWRITE8(TC0220IOC_r, TC0220IOC_w, 0x00ff) /* I/O */
AM_RANGE(0x220000, 0x220001) AM_WRITE8(taitosound_port_w, 0xff00)
AM_RANGE(0x220002, 0x220003) AM_READWRITE8(taitosound_comm_r, taitosound_comm_w, 0xff00)
@@ -746,21 +746,21 @@ static ADDRESS_MAP_START( thundfox_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x420000, 0x42000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
AM_RANGE(0x500000, 0x50ffff) AM_READWRITE(TC0100SCN_word_1_r, TC0100SCN_word_1_w) /* tilemaps */
AM_RANGE(0x520000, 0x52000f) AM_READWRITE(TC0100SCN_ctrl_word_1_r, TC0100SCN_ctrl_word_1_w)
- AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x800000, 0x80001f) AM_WRITE8(TC0360PRI_w, 0xff00)
ADDRESS_MAP_END
static ADDRESS_MAP_START( cameltry_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
- AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x300000, 0x30000f) AM_READWRITE8(TC0220IOC_r, TC0220IOC_w, 0x00ff) /* I/O */
AM_RANGE(0x300018, 0x30001f) AM_READ(cameltry_paddle_r)
AM_RANGE(0x320000, 0x320001) AM_WRITE8(taitosound_port_w, 0xff00)
AM_RANGE(0x320002, 0x320003) AM_READWRITE8(taitosound_comm_r, taitosound_comm_w, 0xff00)
AM_RANGE(0x800000, 0x813fff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
- AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xa00000, 0xa01fff) AM_READWRITE(TC0280GRD_word_r, TC0280GRD_word_w) /* ROZ tilemap */
AM_RANGE(0xa02000, 0xa0200f) AM_WRITE(TC0280GRD_ctrl_word_w)
AM_RANGE(0xd00000, 0xd0001f) AM_WRITE8(TC0360PRI_w, 0x00ff) /* ?? */
@@ -775,20 +775,20 @@ static ADDRESS_MAP_START( qtorimon_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x600002, 0x600003) AM_READWRITE8(taitosound_comm_r, taitosound_comm_w, 0xff00)
AM_RANGE(0x800000, 0x80ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
- AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x910000, 0x9120ff) AM_WRITENOP /* error in init code ? */
ADDRESS_MAP_END
static ADDRESS_MAP_START( liquidk_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
- AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x300000, 0x30000f) AM_READWRITE8(TC0220IOC_r, TC0220IOC_w, 0x00ff) /* I/O */
AM_RANGE(0x320000, 0x320001) AM_WRITE8(taitosound_port_w, 0x00ff)
AM_RANGE(0x320002, 0x320003) AM_READWRITE8(taitosound_comm_r, taitosound_comm_w, 0x00ff)
AM_RANGE(0x800000, 0x80ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
- AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xb00000, 0xb0001f) AM_WRITE8(TC0360PRI_w, 0x00ff) /* ?? */
ADDRESS_MAP_END
@@ -810,32 +810,32 @@ static ADDRESS_MAP_START( quizhq_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x800000, 0x80ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0x810000, 0x81ffff) AM_WRITENOP /* error in init code ? */
AM_RANGE(0x820000, 0x82000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
- AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( ssi_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10000f) AM_READWRITE(TC0510NIO_halfword_r, TC0510NIO_halfword_w)
AM_RANGE(0x200000, 0x20ffff) AM_RAM
- AM_RANGE(0x300000, 0x301fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x300000, 0x301fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x400000, 0x400001) AM_WRITE8(taitosound_port_w, 0xff00)
AM_RANGE(0x400002, 0x400003) AM_READWRITE8(taitosound_comm_r, taitosound_comm_w, 0xff00)
// AM_RANGE(0x500000, 0x500001) AM_WRITENOP /* ?? */
AM_RANGE(0x600000, 0x60ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps (not used) */
AM_RANGE(0x620000, 0x62000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
- AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* sprite ram */
+ AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* sprite ram */
ADDRESS_MAP_END
static ADDRESS_MAP_START( gunfront_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0bffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
- AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x300000, 0x30000f) AM_READWRITE(TC0510NIO_halfword_wordswap_r, TC0510NIO_halfword_wordswap_w)
AM_RANGE(0x320000, 0x320001) AM_WRITE8(taitosound_port_w, 0xff00)
AM_RANGE(0x320002, 0x320003) AM_READWRITE8(taitosound_comm_r, taitosound_comm_w, 0xff00)
AM_RANGE(0x800000, 0x80ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
- AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
// AM_RANGE(0xa00000, 0xa00001) AM_WRITENOP /* ?? */
AM_RANGE(0xb00000, 0xb0001f) AM_WRITE8(TC0360PRI_w, 0x00ff) /* ?? */
ADDRESS_MAP_END
@@ -843,7 +843,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( growl_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
- AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(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")
@@ -859,7 +859,7 @@ static ADDRESS_MAP_START( growl_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x50c000, 0x50c00f) AM_READ_PORT("IN4")
AM_RANGE(0x800000, 0x80ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
- AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xb00000, 0xb0001f) AM_WRITE8(TC0360PRI_w, 0x00ff) /* ?? */
ADDRESS_MAP_END
@@ -878,18 +878,18 @@ static ADDRESS_MAP_START( mjnquest_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x380000, 0x380001) AM_WRITE(TC0100SCN_gfxbank_w) /* scr gfx bank select */
AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0x420000, 0x42000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
- AM_RANGE(0x500000, 0x50ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x500000, 0x50ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( footchmp_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
- AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x300000, 0x30000f) AM_WRITE(taitof2_spritebank_w) /* updated at $a6e, off irq5 */
AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(TC0480SCP_word_r, TC0480SCP_word_w) /* tilemaps */
AM_RANGE(0x430000, 0x43002f) AM_READWRITE(TC0480SCP_ctrl_word_r, TC0480SCP_ctrl_word_w)
AM_RANGE(0x500000, 0x50001f) AM_WRITE8(TC0360PRI_w, 0x00ff) /* 500002 written like a watchdog?! */
- AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(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")
@@ -906,13 +906,13 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( koshien_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
- AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x300000, 0x30000f) AM_READWRITE(TC0510NIO_halfword_r, TC0510NIO_halfword_w)
AM_RANGE(0x320000, 0x320001) AM_WRITE8(taitosound_port_w, 0xff00)
AM_RANGE(0x320002, 0x320003) AM_READWRITE8(taitosound_comm_r, taitosound_comm_w, 0xff00)
AM_RANGE(0x800000, 0x80ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
- AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xa20000, 0xa20001) AM_WRITE(koshien_spritebank_w)
AM_RANGE(0xb00000, 0xb0001f) AM_WRITE8(TC0360PRI_w, 0xff00)
ADDRESS_MAP_END
@@ -924,8 +924,8 @@ static ADDRESS_MAP_START( yuyugogo_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x400002, 0x400003) AM_READWRITE8(taitosound_comm_r, taitosound_comm_w, 0xff00)
AM_RANGE(0x800000, 0x80ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
- AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0xa00000, 0xa01fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0xa00000, 0xa01fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xb00000, 0xb10fff) AM_RAM /* deliberate writes to $b10xxx, I think */
AM_RANGE(0xc00000, 0xc01fff) AM_WRITE(taitof2_sprite_extension_w) AM_BASE(&f2_sprite_extension) AM_SIZE(&f2_spriteext_size)
AM_RANGE(0xd00000, 0xdfffff) AM_ROM AM_REGION("extra", 0)
@@ -934,7 +934,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( ninjak_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
- AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(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(watchdog_reset16_w) /* ??? */
@@ -943,14 +943,14 @@ static ADDRESS_MAP_START( ninjak_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x600000, 0x60000f) AM_WRITE(taitof2_spritebank_w)
AM_RANGE(0x800000, 0x80ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
- AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xb00000, 0xb0001f) AM_WRITE8(TC0360PRI_w, 0x00ff) /* b00002 written like a watchdog?! */
ADDRESS_MAP_END
static ADDRESS_MAP_START( solfigtr_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
- AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(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")
@@ -964,7 +964,7 @@ static ADDRESS_MAP_START( solfigtr_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x504000, 0x504001) AM_WRITENOP /* unknown... various values */
AM_RANGE(0x800000, 0x80ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
- AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xb00000, 0xb0001f) AM_WRITE8(TC0360PRI_w, 0x00ff) /* ?? */
ADDRESS_MAP_END
@@ -973,9 +973,9 @@ static ADDRESS_MAP_START( qzquest_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x200000, 0x20000f) AM_READWRITE(TC0510NIO_halfword_r, TC0510NIO_halfword_w)
AM_RANGE(0x300000, 0x300001) AM_WRITE8(taitosound_port_w, 0x00ff)
AM_RANGE(0x300002, 0x300003) AM_READWRITE8(taitosound_comm_r, taitosound_comm_w, 0x00ff)
- AM_RANGE(0x400000, 0x401fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x400000, 0x401fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x500000, 0x50ffff) AM_RAM
- AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x700000, 0x70ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0x720000, 0x72000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
ADDRESS_MAP_END
@@ -989,10 +989,10 @@ static ADDRESS_MAP_START( pulirula_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x402000, 0x40200f) AM_WRITE(TC0430GRW_ctrl_word_w)
// AM_RANGE(0x500000, 0x500001) AM_WRITENOP /* ??? */
AM_RANGE(0x600000, 0x603fff) AM_WRITE(taitof2_sprite_extension_w) AM_BASE(&f2_sprite_extension) AM_SIZE(&f2_spriteext_size)
- AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x800000, 0x80ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
- AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xa00000, 0xa0001f) AM_WRITE8(TC0360PRI_w, 0xff00)
AM_RANGE(0xb00000, 0xb0000f) AM_READWRITE(TC0510NIO_halfword_r, TC0510NIO_halfword_w)
ADDRESS_MAP_END
@@ -1000,12 +1000,12 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( metalb_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0bffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
- AM_RANGE(0x300000, 0x30ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x300000, 0x30ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
// AM_RANGE(0x42000c, 0x42000f) AM_WRITENOP /* zeroed */
AM_RANGE(0x500000, 0x50ffff) AM_READWRITE(TC0480SCP_word_r, TC0480SCP_word_w) /* tilemaps */
AM_RANGE(0x530000, 0x53002f) AM_READWRITE(TC0480SCP_ctrl_word_r, TC0480SCP_ctrl_word_w)
AM_RANGE(0x600000, 0x60001f) AM_WRITE8(TC0360PRI_w, 0x00ff)
- AM_RANGE(0x700000, 0x703fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x700000, 0x703fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x800000, 0x80000f) AM_READWRITE(TC0510NIO_halfword_wordswap_r, TC0510NIO_halfword_wordswap_w)
AM_RANGE(0x900000, 0x900001) AM_WRITE8(taitosound_port_w, 0xff00)
AM_RANGE(0x900002, 0x900003) AM_READWRITE8(taitosound_comm_r, taitosound_comm_w, 0xff00)
@@ -1017,9 +1017,9 @@ static ADDRESS_MAP_START( qzchikyu_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x200000, 0x20000f) AM_READWRITE(TC0510NIO_halfword_r, TC0510NIO_halfword_w)
AM_RANGE(0x300000, 0x300001) AM_WRITE8(taitosound_port_w, 0x00ff)
AM_RANGE(0x300002, 0x300003) AM_READWRITE8(taitosound_comm_r, taitosound_comm_w, 0x00ff)
- AM_RANGE(0x400000, 0x401fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x400000, 0x401fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x500000, 0x50ffff) AM_RAM
- AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x700000, 0x70ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0x720000, 0x72000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
ADDRESS_MAP_END
@@ -1027,10 +1027,10 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( yesnoj_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM
- AM_RANGE(0x400000, 0x40ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x400000, 0x40ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x500000, 0x50ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0x520000, 0x52000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
- AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
// AM_RANGE(0x700000, 0x70000b) AM_READ(yesnoj_unknown_r) /* what's this? */
AM_RANGE(0x800000, 0x800001) AM_WRITE8(taitosound_port_w, 0xff00)
AM_RANGE(0x800002, 0x800003) AM_READWRITE8(taitosound_comm_r, taitosound_comm_w, 0xff00)
@@ -1046,13 +1046,13 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( deadconx_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
- AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x300000, 0x30000f) AM_WRITE(taitof2_spritebank_w)
AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(TC0480SCP_word_r, TC0480SCP_word_w) /* tilemaps */
// AM_RANGE(0x42000c, 0x42000f) AM_WRITENOP /* zeroed */
AM_RANGE(0x430000, 0x43002f) AM_READWRITE(TC0480SCP_ctrl_word_r, TC0480SCP_ctrl_word_w)
AM_RANGE(0x500000, 0x50001f) AM_WRITE8(TC0360PRI_w, 0x00ff) /* uses 500002 like a watchdog !? */
- AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(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")
@@ -1068,10 +1068,10 @@ static ADDRESS_MAP_START( dinorex_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x2fffff) AM_ROM
AM_RANGE(0x300000, 0x30000f) AM_READWRITE(TC0510NIO_halfword_r, TC0510NIO_halfword_w)
AM_RANGE(0x400000, 0x400fff) AM_WRITE(taitof2_sprite_extension_w) AM_BASE(&f2_sprite_extension) AM_SIZE(&f2_spriteext_size)
- AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x600000, 0x60ffff) AM_RAM
AM_RANGE(0x700000, 0x70001f) AM_WRITE8(TC0360PRI_w, 0x00ff) /* ?? */
- AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x900000, 0x90ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0x920000, 0x92000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
AM_RANGE(0xa00000, 0xa00001) AM_WRITE8(taitosound_port_w, 0xff00)
@@ -1086,10 +1086,10 @@ static ADDRESS_MAP_START( qjinsei_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300000, 0x30ffff) AM_RAM
AM_RANGE(0x500000, 0x500001) AM_WRITENOP /* watchdog ? */
AM_RANGE(0x600000, 0x603fff) AM_WRITE(taitof2_sprite_extension_w) AM_BASE(&f2_sprite_extension) AM_SIZE(&f2_spriteext_size)
- AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x800000, 0x80ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
- AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xa00000, 0xa0001f) AM_WRITE8(TC0360PRI_w, 0x00ff) /* ?? */
AM_RANGE(0xb00000, 0xb0000f) AM_READWRITE(TC0510NIO_halfword_r, TC0510NIO_halfword_w)
ADDRESS_MAP_END
@@ -1102,8 +1102,8 @@ static ADDRESS_MAP_START( qcrayon_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x500000, 0x500001) AM_WRITE8(taitosound_port_w, 0xff00)
AM_RANGE(0x500002, 0x500003) AM_READWRITE8(taitosound_comm_r, taitosound_comm_w, 0xff00)
AM_RANGE(0x600000, 0x603fff) AM_WRITE(taitof2_sprite_extension_w) AM_BASE(&f2_sprite_extension) AM_SIZE(&f2_spriteext_size)
- AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x900000, 0x90ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0x920000, 0x92000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
AM_RANGE(0xa00000, 0xa0000f) AM_READWRITE(TC0510NIO_halfword_r, TC0510NIO_halfword_w)
@@ -1113,8 +1113,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( qcrayon2_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM
- AM_RANGE(0x300000, 0x301fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0x400000, 0x40ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x300000, 0x301fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x400000, 0x40ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x500000, 0x50ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0x520000, 0x52000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
AM_RANGE(0x600000, 0x67ffff) AM_ROM AM_REGION("extra", 0) /* extra data rom */
@@ -1132,10 +1132,10 @@ static ADDRESS_MAP_START( driftout_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300000, 0x30ffff) AM_RAM
AM_RANGE(0x400000, 0x401fff) AM_READWRITE(TC0430GRW_word_r, TC0430GRW_word_w) /* ROZ tilemap */
AM_RANGE(0x402000, 0x40200f) AM_WRITE(TC0430GRW_ctrl_word_w)
- AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x800000, 0x80ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
- AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xa00000, 0xa0001f) AM_WRITE8(TC0360PRI_w, 0xff00)
AM_RANGE(0xb00000, 0xb0000f) AM_READWRITE(TC0510NIO_halfword_r, TC0510NIO_halfword_w)
AM_RANGE(0xb00018, 0xb00019) AM_READ_PORT("PADDLE1")
@@ -1149,10 +1149,10 @@ static ADDRESS_MAP_START( driveout_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300000, 0x30ffff) AM_RAM
AM_RANGE(0x400000, 0x401fff) AM_READWRITE(TC0430GRW_word_r, TC0430GRW_word_w) /* ROZ tilemap */
AM_RANGE(0x402000, 0x40200f) AM_WRITE(TC0430GRW_ctrl_word_w)
- AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x800000, 0x80ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
- AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xa00000, 0xa0001f) AM_WRITE8(TC0360PRI_w, 0xff00)
AM_RANGE(0xb00000, 0xb0000f) AM_READWRITE(TC0510NIO_halfword_r, TC0510NIO_halfword_w)
AM_RANGE(0xb00018, 0xb00019) AM_READ_PORT("PADDLE1")
diff --git a/src/mame/drivers/taito_f3.c b/src/mame/drivers/taito_f3.c
index 36f7a76ab73..ff9567c4281 100644
--- a/src/mame/drivers/taito_f3.c
+++ b/src/mame/drivers/taito_f3.c
@@ -155,11 +155,11 @@ static ADDRESS_MAP_START( f3_map, ADDRESS_SPACE_PROGRAM, 32 )
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(&f3_ram)
- AM_RANGE(0x440000, 0x447fff) AM_RAM_WRITE(f3_palette_24bit_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x440000, 0x447fff) AM_RAM_WRITE(f3_palette_24bit_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x4a0000, 0x4a001f) AM_READWRITE(f3_control_r, f3_control_w)
- AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_BASE(&spriteram32) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x610000, 0x61bfff) AM_RAM_WRITE(f3_pf_data_w) AM_BASE(&f3_pf_data)
- AM_RANGE(0x61c000, 0x61dfff) AM_RAM_WRITE(f3_videoram_w) AM_BASE(&videoram32)
+ AM_RANGE(0x61c000, 0x61dfff) AM_RAM_WRITE(f3_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x61e000, 0x61ffff) AM_RAM_WRITE(f3_vram_w) AM_BASE(&f3_vram)
AM_RANGE(0x620000, 0x62ffff) AM_RAM_WRITE(f3_lineram_w) AM_BASE(&f3_line_ram)
AM_RANGE(0x630000, 0x63ffff) AM_RAM_WRITE(f3_pivot_w) AM_BASE(&f3_pivot_ram)
diff --git a/src/mame/drivers/taito_h.c b/src/mame/drivers/taito_h.c
index f96976e8df0..039e8045f35 100644
--- a/src/mame/drivers/taito_h.c
+++ b/src/mame/drivers/taito_h.c
@@ -273,7 +273,7 @@ static ADDRESS_MAP_START( syvalion_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300000, 0x300001) AM_READNOP AM_WRITE8(taitosound_port_w, 0x00ff)
AM_RANGE(0x300002, 0x300003) AM_READWRITE8(taitosound_comm_r, taitosound_comm_w, 0x00ff)
AM_RANGE(0x400000, 0x420fff) AM_READWRITE(TC0080VCO_word_r, TC0080VCO_word_w)
- AM_RANGE(0x500800, 0x500fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x500800, 0x500fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( recordbr_map, ADDRESS_SPACE_PROGRAM, 16 )
@@ -284,7 +284,7 @@ static ADDRESS_MAP_START( recordbr_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300000, 0x300001) AM_READNOP AM_WRITE8(taitosound_port_w, 0x00ff)
AM_RANGE(0x300002, 0x300003) AM_READWRITE8(taitosound_comm_r, taitosound_comm_w, 0x00ff)
AM_RANGE(0x400000, 0x420fff) AM_READWRITE(TC0080VCO_word_r, TC0080VCO_word_w)
- AM_RANGE(0x500800, 0x500fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x500800, 0x500fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( dleague_map, ADDRESS_SPACE_PROGRAM, 16 )
@@ -294,7 +294,7 @@ static ADDRESS_MAP_START( dleague_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300000, 0x300001) AM_READNOP AM_WRITE8(taitosound_port_w, 0x00ff)
AM_RANGE(0x300002, 0x300003) AM_READWRITE8(taitosound_comm_r, taitosound_comm_w, 0x00ff)
AM_RANGE(0x400000, 0x420fff) AM_READWRITE(TC0080VCO_word_r, TC0080VCO_word_w)
- AM_RANGE(0x500800, 0x500fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x500800, 0x500fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(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 aed6c4d3a76..a7c2f1536dc 100644
--- a/src/mame/drivers/taito_o.c
+++ b/src/mame/drivers/taito_o.c
@@ -68,7 +68,7 @@ static ADDRESS_MAP_START( parentj_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x200000, 0x20000f) AM_READWRITE(io_r, io_w) /* TC0220IOC ? */
AM_RANGE(0x300000, 0x300003) AM_DEVREADWRITE8("ymsnd", ym2203_r, ym2203_w, 0x00ff)
AM_RANGE(0x400000, 0x420fff) AM_READWRITE(TC0080VCO_word_r, TC0080VCO_word_w)
- AM_RANGE(0x500800, 0x500fff) AM_RAM AM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x500800, 0x500fff) AM_RAM AM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(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 e3e1828c160..9fa2b9d4498 100644
--- a/src/mame/drivers/taito_x.c
+++ b/src/mame/drivers/taito_x.c
@@ -422,9 +422,9 @@ static ADDRESS_MAP_START( superman_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x900000, 0x9007ff) AM_READWRITE(cchip1_ram_r, cchip1_ram_w)
AM_RANGE(0x900802, 0x900803) AM_READWRITE(cchip1_ctrl_r, cchip1_ctrl_w)
AM_RANGE(0x900c00, 0x900c01) AM_WRITE(cchip1_bank_w)
- AM_RANGE(0xb00000, 0xb00fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_BASE(&spriteram16 ) // Sprites Y
- AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_BASE(&spriteram16_2 ) // Sprites Code + X + Attr
+ AM_RANGE(0xb00000, 0xb00fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_BASE_GENERIC(spriteram ) // Sprites Y
+ AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_BASE_GENERIC(spriteram2 ) // Sprites Code + X + Attr
AM_RANGE(0xf00000, 0xf03fff) AM_RAM /* Main RAM */
ADDRESS_MAP_END
@@ -436,9 +436,9 @@ static ADDRESS_MAP_START( daisenpu_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x800000, 0x800001) AM_READNOP AM_WRITE8(taitosound_port_w, 0x00ff)
AM_RANGE(0x800002, 0x800003) AM_READWRITE8(taitosound_comm_r, taitosound_comm_w, 0x00ff)
AM_RANGE(0x900000, 0x90000f) AM_READWRITE(daisenpu_input_r, daisenpu_input_w)
- AM_RANGE(0xb00000, 0xb00fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_BASE(&spriteram16 ) // Sprites Y
- AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_BASE(&spriteram16_2 ) // Sprites Code + X + Attr
+ AM_RANGE(0xb00000, 0xb00fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_BASE_GENERIC(spriteram ) // Sprites Y
+ AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_BASE_GENERIC(spriteram2 ) // Sprites Code + X + Attr
AM_RANGE(0xf00000, 0xf03fff) AM_RAM /* Main RAM */
ADDRESS_MAP_END
@@ -450,9 +450,9 @@ static ADDRESS_MAP_START( gigandes_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x800000, 0x800001) AM_READNOP AM_WRITE8(taitosound_port_w, 0x00ff)
AM_RANGE(0x800002, 0x800003) AM_READWRITE8(taitosound_comm_r, taitosound_comm_w, 0x00ff)
AM_RANGE(0x900000, 0x90000f) AM_READWRITE(daisenpu_input_r, daisenpu_input_w)
- AM_RANGE(0xb00000, 0xb00fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_BASE(&spriteram16 ) // Sprites Y
- AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_BASE(&spriteram16_2 ) // Sprites Code + X + Attr
+ AM_RANGE(0xb00000, 0xb00fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites Y
+ AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_BASE_GENERIC(spriteram2 ) // Sprites Code + X + Attr
AM_RANGE(0xf00000, 0xf03fff) AM_RAM /* Main RAM */
ADDRESS_MAP_END
@@ -464,9 +464,9 @@ static ADDRESS_MAP_START( ballbros_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x800000, 0x800001) AM_READNOP AM_WRITE8(taitosound_port_w, 0x00ff)
AM_RANGE(0x800002, 0x800003) AM_READWRITE8(taitosound_comm_r, taitosound_comm_w, 0x00ff)
AM_RANGE(0x900000, 0x90000f) AM_READWRITE(daisenpu_input_r, daisenpu_input_w)
- AM_RANGE(0xb00000, 0xb00fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_BASE(&spriteram16 ) // Sprites Y
- AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_BASE(&spriteram16_2 ) // Sprites Code + X + Attr
+ AM_RANGE(0xb00000, 0xb00fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_BASE_GENERIC(spriteram ) // Sprites Y
+ AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_BASE_GENERIC(spriteram2 ) // Sprites Code + X + Attr
AM_RANGE(0xf00000, 0xf03fff) AM_RAM /* Main RAM */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/taito_z.c b/src/mame/drivers/taito_z.c
index a80c380d08d..52b8a0cd9d3 100644
--- a/src/mame/drivers/taito_z.c
+++ b/src/mame/drivers/taito_z.c
@@ -1509,7 +1509,7 @@ static ADDRESS_MAP_START( contcirc_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x200000, 0x20ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0x220000, 0x22000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
AM_RANGE(0x300000, 0x301fff) AM_READWRITE(TC0150ROD_word_r, TC0150ROD_word_w) /* "root ram" */
- AM_RANGE(0x400000, 0x4006ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x400000, 0x4006ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( contcirc_cpub_map, ADDRESS_SPACE_PROGRAM, 16 )
@@ -1534,7 +1534,7 @@ static ADDRESS_MAP_START( chasehq_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xa00000, 0xa00007) AM_READWRITE(TC0110PCR_word_r, TC0110PCR_step1_word_w) /* palette */
AM_RANGE(0xc00000, 0xc0ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0xc20000, 0xc2000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
- AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xe00000, 0xe003ff) AM_READWRITE(chasehq_motor_r, chasehq_motor_w) /* motor cpu */
ADDRESS_MAP_END
@@ -1551,7 +1551,7 @@ static ADDRESS_MAP_START( enforce_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x100000, 0x103fff) AM_RAM
AM_RANGE(0x104000, 0x107fff) AM_RAM AM_SHARE(1)
AM_RANGE(0x200000, 0x200001) AM_WRITE(cpua_ctrl_w) // works without?
- AM_RANGE(0x300000, 0x3006ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x300000, 0x3006ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x400000, 0x401fff) AM_READWRITE(TC0150ROD_word_r, TC0150ROD_word_w) /* "root ram" ??? */
AM_RANGE(0x500000, 0x500007) AM_READWRITE(TC0110PCR_word_r, TC0110PCR_step1_rbswap_word_w) /* palette */
AM_RANGE(0x600000, 0x60ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
@@ -1575,8 +1575,8 @@ static ADDRESS_MAP_START( bshark_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x400000, 0x40000f) AM_READWRITE8(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(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0xc00000, 0xc00fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xa00000, 0xa01fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xc00000, 0xc00fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xd00000, 0xd0ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0xd20000, 0xd2000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
ADDRESS_MAP_END
@@ -1603,10 +1603,10 @@ static ADDRESS_MAP_START( sci_map, ADDRESS_SPACE_PROGRAM, 16 )
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(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xa00000, 0xa0ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0xa20000, 0xa2000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
- AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xc08000, 0xc08001) AM_READWRITE(sci_spriteframe_r, sci_spriteframe_w)
ADDRESS_MAP_END
@@ -1628,7 +1628,7 @@ static ADDRESS_MAP_START( nightstr_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xa00000, 0xa00007) AM_READWRITE(TC0110PCR_word_r, TC0110PCR_step1_word_w) /* palette */
AM_RANGE(0xc00000, 0xc0ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0xc20000, 0xc2000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
- AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xe00000, 0xe00001) AM_WRITENOP /* Motor 1 (left) */
AM_RANGE(0xe00008, 0xe00009) AM_WRITENOP /* Motor 2 (center) */
AM_RANGE(0xe00010, 0xe00011) AM_WRITENOP /* Motor 3 (right) */
@@ -1652,7 +1652,7 @@ static ADDRESS_MAP_START( aquajack_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x800000, 0x801fff) AM_READWRITE(TC0150ROD_word_r, TC0150ROD_word_w)
AM_RANGE(0xa00000, 0xa0ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0xa20000, 0xa2000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
- AM_RANGE(0xc40000, 0xc403ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xc40000, 0xc403ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( aquajack_cpub_map, ADDRESS_SPACE_PROGRAM, 16 )
@@ -1671,7 +1671,7 @@ static ADDRESS_MAP_START( spacegun_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x30c000, 0x30ffff) AM_RAM
AM_RANGE(0x310000, 0x31ffff) AM_RAM AM_SHARE(1)
- AM_RANGE(0x500000, 0x5005ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x500000, 0x5005ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x900000, 0x90ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0x920000, 0x92000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w)
AM_RANGE(0xb00000, 0xb00007) AM_READWRITE(TC0110PCR_word_r, TC0110PCR_step1_rbswap_word_w) /* palette */
@@ -1699,11 +1699,11 @@ static ADDRESS_MAP_START( dblaxle_map, ADDRESS_SPACE_PROGRAM, 16 )
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(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x900000, 0x90ffff) AM_READWRITE(TC0480SCP_word_r, TC0480SCP_word_w) /* tilemap mirror */
AM_RANGE(0xa00000, 0xa0ffff) AM_READWRITE(TC0480SCP_word_r, TC0480SCP_word_w) /* tilemaps */
AM_RANGE(0xa30000, 0xa3002f) AM_READWRITE(TC0480SCP_ctrl_word_r, TC0480SCP_ctrl_word_w)
- AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* mostly unused ? */
+ AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* mostly unused ? */
AM_RANGE(0xc08000, 0xc08001) AM_READWRITE(sci_spriteframe_r, sci_spriteframe_w) /* set in int6, seems to stay zero */
ADDRESS_MAP_END
@@ -1724,10 +1724,10 @@ static ADDRESS_MAP_START( racingb_map, ADDRESS_SPACE_PROGRAM, 16 )
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(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x900000, 0x90ffff) AM_READWRITE(TC0480SCP_word_r, TC0480SCP_word_w) /* tilemaps */
AM_RANGE(0x930000, 0x93002f) AM_READWRITE(TC0480SCP_ctrl_word_r, TC0480SCP_ctrl_word_w)
- AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* mostly unused ? */
+ AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* mostly unused ? */
AM_RANGE(0xb08000, 0xb08001) AM_READWRITE(sci_spriteframe_r, sci_spriteframe_w) /* alternates 0/0x100 */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/taitoair.c b/src/mame/drivers/taitoair.c
index 48c4f644dc1..6ab76063b2b 100644
--- a/src/mame/drivers/taitoair.c
+++ b/src/mame/drivers/taitoair.c
@@ -293,9 +293,9 @@ static WRITE16_HANDLER( dsp_HOLDA_signal_w )
static WRITE16_HANDLER( airsys_paletteram16_w ) /* xxBBBBxRRRRxGGGG */
{
int a;
- COMBINE_DATA(&paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
- a = paletteram16[offset];
+ a = space->machine->generic.paletteram.u16[offset];
palette_set_color_rgb(space->machine,offset,pal4bit(a >> 0),pal4bit(a >> 5),pal4bit(a >> 10));
}
@@ -381,7 +381,7 @@ static ADDRESS_MAP_START( airsys_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x140000, 0x140001) AM_WRITE(system_control_w) /* Pause the TMS32025 */
AM_RANGE(0x180000, 0x183fff) AM_RAM /* "gradiation ram (0)" */
AM_RANGE(0x184000, 0x187fff) AM_RAM /* "gradiation ram (1)" */
- AM_RANGE(0x188000, 0x18bfff) AM_RAM_WRITE(airsys_paletteram16_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x188000, 0x18bfff) AM_RAM_WRITE(airsys_paletteram16_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x800000, 0x820fff) AM_READWRITE(TC0080VCO_word_r, TC0080VCO_word_w) /* tilemaps, sprites */
AM_RANGE(0x908000, 0x90ffff) AM_RAM AM_BASE(&taitoair_line_ram) /* "line ram" */
AM_RANGE(0x910000, 0x91ffff) AM_RAM AM_BASE(&dsp_ram) /* "dsp common ram" (TMS320C25) */
diff --git a/src/mame/drivers/tankbatt.c b/src/mame/drivers/tankbatt.c
index 603a5c894bb..71a944a6db2 100644
--- a/src/mame/drivers/tankbatt.c
+++ b/src/mame/drivers/tankbatt.c
@@ -170,7 +170,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x000f) AM_RAM AM_BASE(&tankbatt_bulletsram) AM_SIZE(&tankbatt_bulletsram_size)
AM_RANGE(0x0010, 0x01ff) AM_RAM
AM_RANGE(0x0200, 0x07ff) AM_RAM
- AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(tankbatt_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(tankbatt_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x0c00, 0x0c07) AM_READ(tankbatt_in0_r)
AM_RANGE(0x0c00, 0x0c01) AM_WRITE(tankbatt_led_w)
AM_RANGE(0x0c02, 0x0c02) AM_WRITE(tankbatt_coin_counter_w)
diff --git a/src/mame/drivers/tankbust.c b/src/mame/drivers/tankbust.c
index 7015aade992..4f6f08777f2 100644
--- a/src/mame/drivers/tankbust.c
+++ b/src/mame/drivers/tankbust.c
@@ -196,10 +196,10 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x9fff) AM_READWRITE(SMH_BANK(1), SMH_ROM)
AM_RANGE(0xa000, 0xbfff) AM_READWRITE(SMH_BANK(2), SMH_ROM)
- AM_RANGE(0xc000, 0xc7ff) AM_READWRITE(tankbust_background_videoram_r, tankbust_background_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xc800, 0xcfff) AM_READWRITE(tankbust_background_colorram_r, tankbust_background_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0xc000, 0xc7ff) AM_READWRITE(tankbust_background_videoram_r, tankbust_background_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xc800, 0xcfff) AM_READWRITE(tankbust_background_colorram_r, tankbust_background_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0xd000, 0xd7ff) AM_READWRITE(tankbust_txtram_r, tankbust_txtram_w) AM_BASE(&tankbust_txtram)
- AM_RANGE(0xd800, 0xd8ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xd800, 0xd8ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xe000, 0xe007) AM_READWRITE(debug_output_area_r, tankbust_e0xx_w)
AM_RANGE(0xe800, 0xe800) AM_READ_PORT("INPUTS") AM_WRITE(tankbust_yscroll_w)
AM_RANGE(0xe801, 0xe801) AM_READ_PORT("SYSTEM")
diff --git a/src/mame/drivers/taotaido.c b/src/mame/drivers/taotaido.c
index c244d536d08..959661d6ef7 100644
--- a/src/mame/drivers/taotaido.c
+++ b/src/mame/drivers/taotaido.c
@@ -94,7 +94,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xa00000, 0xa01fff) AM_RAM AM_BASE(&taotaido_spriteram) // sprite ram
AM_RANGE(0xc00000, 0xc0ffff) AM_RAM AM_BASE(&taotaido_spriteram2) // sprite tile lookup ram
AM_RANGE(0xfe0000, 0xfeffff) AM_RAM // main ram
- AM_RANGE(0xffc000, 0xffcfff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) // palette ram
+ AM_RANGE(0xffc000, 0xffcfff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // palette ram
AM_RANGE(0xffe000, 0xffe3ff) AM_RAM AM_BASE(&taotaido_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 13a43a310f6..727c97dab8a 100644
--- a/src/mame/drivers/targeth.c
+++ b/src/mame/drivers/targeth.c
@@ -78,7 +78,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x108006, 0x108007) AM_READ_PORT("GUNY2")
AM_RANGE(0x108000, 0x108007) AM_WRITE(SMH_RAM) AM_BASE(&targeth_vregs) /* Video Registers */
AM_RANGE(0x10800c, 0x10800d) AM_WRITENOP /* CLR Video INT */
- AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16) /* Palette */
+ AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) /* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(&targeth_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 c6866af8f08..d8d84243708 100644
--- a/src/mame/drivers/tatsumi.c
+++ b/src/mame/drivers/tatsumi.c
@@ -165,9 +165,9 @@ static UINT16 bigfight_a60000[2];
static READ16_HANDLER(cyclwarr_cpu_bb_r){ return cyclwarr_cpub_ram[offset]; }
static WRITE16_HANDLER(cyclwarr_cpu_bb_w) { COMBINE_DATA(&cyclwarr_cpub_ram[offset]); }
-static READ16_HANDLER(cyclwarr_palette_r) { return paletteram16[offset]; }
-static READ16_HANDLER(cyclwarr_sprite_r) { return spriteram16[offset]; }
-static WRITE16_HANDLER(cyclwarr_sprite_w) { COMBINE_DATA(&spriteram16[offset]); }
+static READ16_HANDLER(cyclwarr_palette_r) { return space->machine->generic.paletteram.u16[offset]; }
+static READ16_HANDLER(cyclwarr_sprite_r) { return space->machine->generic.spriteram.u16[offset]; }
+static WRITE16_HANDLER(cyclwarr_sprite_w) { COMBINE_DATA(&space->machine->generic.spriteram.u16[offset]); }
static WRITE16_HANDLER(bigfight_a20000_w) { COMBINE_DATA(&bigfight_a20000[offset]); }
static WRITE16_HANDLER(bigfight_a40000_w) { COMBINE_DATA(&bigfight_a40000[offset]); }
static WRITE16_HANDLER(bigfight_a60000_w) { COMBINE_DATA(&bigfight_a60000[offset]); }
@@ -195,8 +195,8 @@ static WRITE16_HANDLER(cyclwarr_sound_w)
static ADDRESS_MAP_START( apache3_v30_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00000, 0x03fff) AM_RAM
AM_RANGE(0x04000, 0x07fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0x08000, 0x08fff) AM_RAM_WRITE(apache3_palette_w) AM_BASE(&paletteram16)
- AM_RANGE(0x0c000, 0x0dfff) AM_RAM_WRITE(roundup5_text_w) AM_BASE(&videoram16)
+ AM_RANGE(0x08000, 0x08fff) AM_RAM_WRITE(apache3_palette_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x0c000, 0x0dfff) AM_RAM_WRITE(roundup5_text_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x0e800, 0x0e803) AM_WRITENOP // CRT
AM_RANGE(0x0f000, 0x0f001) AM_READ_PORT("DSW")
AM_RANGE(0x0f000, 0x0f001) AM_WRITENOP // todo
@@ -209,7 +209,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( apache3_68000_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00000, 0x7ffff) AM_ROM
AM_RANGE(0x80000, 0x83fff) AM_RAM AM_BASE(&tatsumi_68k_ram)
- AM_RANGE(0x90000, 0x93fff) AM_RAM AM_BASE(&spriteram16)
+ AM_RANGE(0x90000, 0x93fff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x9a000, 0x9a1ff) AM_WRITE(tatsumi_sprite_control_w) AM_BASE(&tatsumi_sprite_control_ram)
AM_RANGE(0xa0000, 0xa0001) AM_WRITE(apache3_rotate_w) // /BNKCS
AM_RANGE(0xb0000, 0xb0001) AM_WRITE(apache3_z80_ctrl_w)
@@ -237,14 +237,14 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( roundup5_v30_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00000, 0x07fff) AM_RAM
- AM_RANGE(0x08000, 0x0bfff) AM_RAM_WRITE(roundup5_text_w) AM_BASE(&videoram16)
+ AM_RANGE(0x08000, 0x0bfff) AM_RAM_WRITE(roundup5_text_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x0c000, 0x0c003) AM_WRITE(roundup5_crt_w)
AM_RANGE(0x0d000, 0x0d001) AM_READ_PORT("DSW")
AM_RANGE(0x0d400, 0x0d40f) AM_WRITE(SMH_RAM) AM_BASE(&roundup5_unknown0)
AM_RANGE(0x0d800, 0x0d801) AM_WRITE(SMH_RAM) AM_BASE(&roundup5_unknown1) // VRAM2 X scroll (todo)
AM_RANGE(0x0dc00, 0x0dc01) AM_WRITE(SMH_RAM) AM_BASE(&roundup5_unknown2) // VRAM2 Y scroll (todo)
AM_RANGE(0x0e000, 0x0e001) AM_WRITE(roundup5_control_w)
- AM_RANGE(0x0f000, 0x0ffff) AM_RAM_WRITE(roundup5_palette_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0f000, 0x0ffff) AM_RAM_WRITE(roundup5_palette_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x10000, 0x1ffff) AM_READWRITE(roundup_v30_z80_r, roundup_v30_z80_w)
AM_RANGE(0x20000, 0x2ffff) AM_READWRITE(tatsumi_v30_68000_r, tatsumi_v30_68000_w)
AM_RANGE(0x30000, 0x3ffff) AM_READWRITE(roundup5_vram_r, roundup5_vram_w)
@@ -254,7 +254,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( roundup5_68000_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00000, 0x7ffff) AM_ROM
AM_RANGE(0x80000, 0x83fff) AM_RAM AM_BASE(&tatsumi_68k_ram)
- AM_RANGE(0x90000, 0x93fff) AM_RAM AM_BASE(&spriteram16)
+ AM_RANGE(0x90000, 0x93fff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x9a000, 0x9a1ff) AM_WRITE(tatsumi_sprite_control_w) AM_BASE(&tatsumi_sprite_control_ram)
AM_RANGE(0xa0000, 0xa0fff) AM_RAM AM_BASE(&roundup_r_ram) // Road control data
AM_RANGE(0xb0000, 0xb0fff) AM_RAM AM_BASE(&roundup_p_ram) // Road pixel data
@@ -292,9 +292,9 @@ static ADDRESS_MAP_START( cyclwarr_68000a_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0b9002, 0x0b9009) AM_READ(cyclwarr_input_r) /* Coins, P1 input, P2 input, dip 3 */
AM_RANGE(0x0ba000, 0x0ba007) AM_READ(cyclwarr_input2_r) /* Dip 1, Dip 2, P3 input, P4 input */
AM_RANGE(0x0ba008, 0x0ba009) AM_READWRITE(cyclwarr_control_r, cyclwarr_control_w)
- AM_RANGE(0x0c0000, 0x0c3fff) AM_READWRITE(cyclwarr_sprite_r, cyclwarr_sprite_w) AM_BASE(&spriteram16)
+ AM_RANGE(0x0c0000, 0x0c3fff) AM_READWRITE(cyclwarr_sprite_r, cyclwarr_sprite_w) AM_BASE_GENERIC(spriteram)
AM_RANGE(0x0ca000, 0x0ca1ff) AM_WRITE(tatsumi_sprite_control_w) AM_BASE(&tatsumi_sprite_control_ram)
- AM_RANGE(0x0d0000, 0x0d3fff) AM_READWRITE(cyclwarr_palette_r, paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0d0000, 0x0d3fff) AM_READWRITE(cyclwarr_palette_r, paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x140000, 0x1bffff) AM_ROMBANK(2) /* CPU B ROM */
AM_RANGE(0x2c0000, 0x33ffff) AM_ROMBANK(1) /* CPU A ROM */
ADDRESS_MAP_END
@@ -348,9 +348,9 @@ static ADDRESS_MAP_START( bigfight_68000a_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0b9002, 0x0b9009) AM_READ(cyclwarr_input_r) /* Coins, P1 input, P2 input, dip 3 */
AM_RANGE(0x0ba000, 0x0ba007) AM_READ(cyclwarr_input2_r) /* Dip 1, Dip 2, P3 input, P4 input */
AM_RANGE(0x0ba008, 0x0ba009) AM_READWRITE(cyclwarr_control_r, cyclwarr_control_w)
- AM_RANGE(0x0c0000, 0x0c3fff) AM_READWRITE(cyclwarr_sprite_r, cyclwarr_sprite_w) AM_BASE(&spriteram16)
+ AM_RANGE(0x0c0000, 0x0c3fff) AM_READWRITE(cyclwarr_sprite_r, cyclwarr_sprite_w) AM_BASE_GENERIC(spriteram)
AM_RANGE(0x0ca000, 0x0ca1ff) AM_WRITE(tatsumi_sprite_control_w) AM_BASE(&tatsumi_sprite_control_ram)
- AM_RANGE(0x0d0000, 0x0d3fff) AM_READWRITE(cyclwarr_palette_r, paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0d0000, 0x0d3fff) AM_READWRITE(cyclwarr_palette_r, paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x100000, 0x17ffff) AM_ROMBANK(2) /* CPU A ROM */
AM_RANGE(0x200000, 0x27ffff) AM_ROMBANK(1) /* CPU B ROM */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tattack.c b/src/mame/drivers/tattack.c
index 8444d77af96..b0c44d729be 100644
--- a/src/mame/drivers/tattack.c
+++ b/src/mame/drivers/tattack.c
@@ -26,8 +26,8 @@ static tilemap *tmap;
static TILE_GET_INFO( get_tile_info )
{
- int code = videoram[tile_index];
- int color=colorram[tile_index];
+ int code = machine->generic.videoram.u8[tile_index];
+ int color=machine->generic.colorram.u8[tile_index];
if((color&1 ) || (color>15) )
logerror("COLOR %i\n",color);
@@ -56,8 +56,8 @@ static VIDEO_START( tattack )
static ADDRESS_MAP_START( mem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_ROM
// AM_RANGE(0x4000, 0x4000) AM_READNOP $315
- AM_RANGE(0x5000, 0x53ff) AM_RAM AM_BASE(&videoram)
- AM_RANGE(0x7000, 0x73ff) AM_RAM AM_BASE(&colorram) // color map ? something else .. only bits 1-3 are used
+ AM_RANGE(0x5000, 0x53ff) AM_RAM AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x7000, 0x73ff) AM_RAM AM_BASE_GENERIC(colorram) // color map ? something else .. only bits 1-3 are used
AM_RANGE(0x6000, 0x6000) AM_READ_PORT("DSW2")
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("DSW1") // dsw ? something else ?
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("INPUTS") AM_WRITENOP
diff --git a/src/mame/drivers/tbowl.c b/src/mame/drivers/tbowl.c
index d8031d27a66..e361a204e5c 100644
--- a/src/mame/drivers/tbowl.c
+++ b/src/mame/drivers/tbowl.c
@@ -149,7 +149,7 @@ static ADDRESS_MAP_START( 6206C_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc000, 0xdfff) AM_READ(SMH_RAM)
AM_RANGE(0xc000, 0xd7ff) AM_WRITE(SMH_RAM)
AM_RANGE(0xd800, 0xdfff) AM_WRITE(SMH_RAM) AM_BASE(&tbowl_spriteram)
- AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_be_w) AM_BASE(&paletteram) // 2x palettes, one for each monitor?
+ AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_be_w) AM_BASE_GENERIC(paletteram) // 2x palettes, one for each monitor?
AM_RANGE(0xf000, 0xf7ff) AM_READWRITE(SMH_BANK(2), SMH_ROM)
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 c468d475c26..36482cf4da1 100644
--- a/src/mame/drivers/tecmo.c
+++ b/src/mame/drivers/tecmo.c
@@ -152,8 +152,8 @@ static ADDRESS_MAP_START( rygar_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(tecmo_txvideoram_w) AM_BASE(&tecmo_txvideoram)
AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(tecmo_fgvideoram_w) AM_BASE(&tecmo_fgvideoram)
AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE(tecmo_bgvideoram_w) AM_BASE(&tecmo_bgvideoram)
- AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_be_w) AM_BASE(&paletteram)
+ AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_be_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK(1)
AM_RANGE(0xf800, 0xf800) AM_READ_PORT("JOY1")
AM_RANGE(0xf801, 0xf801) AM_READ_PORT("BUTTONS1")
@@ -180,8 +180,8 @@ static ADDRESS_MAP_START( gemini_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(tecmo_txvideoram_w) AM_BASE(&tecmo_txvideoram)
AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(tecmo_fgvideoram_w) AM_BASE(&tecmo_fgvideoram)
AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE(tecmo_bgvideoram_w) AM_BASE(&tecmo_bgvideoram)
- AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_be_w) AM_BASE(&paletteram)
- AM_RANGE(0xe800, 0xefff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_be_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xe800, 0xefff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK(1)
AM_RANGE(0xf800, 0xf800) AM_READ_PORT("JOY1")
AM_RANGE(0xf801, 0xf801) AM_READ_PORT("BUTTONS1")
@@ -208,8 +208,8 @@ static ADDRESS_MAP_START( silkworm_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc400, 0xc7ff) AM_RAM_WRITE(tecmo_fgvideoram_w) AM_BASE(&tecmo_fgvideoram)
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(tecmo_txvideoram_w) AM_BASE(&tecmo_txvideoram)
AM_RANGE(0xd000, 0xdfff) AM_RAM
- AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_be_w) AM_BASE(&paletteram)
+ AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_be_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK(1)
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 dc410078257..f23147b54cb 100644
--- a/src/mame/drivers/tecmo16.c
+++ b/src/mame/drivers/tecmo16.c
@@ -77,8 +77,8 @@ static ADDRESS_MAP_START( fstarfrc_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x121000, 0x1217ff) AM_RAM_WRITE(tecmo16_videoram2_w) AM_BASE(&tecmo16_videoram2)
AM_RANGE(0x121800, 0x121fff) AM_RAM_WRITE(tecmo16_colorram2_w) AM_BASE(&tecmo16_colorram2)
AM_RANGE(0x122000, 0x127fff) AM_RAM /* work area */
- AM_RANGE(0x130000, 0x130fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0x140000, 0x141fff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x130000, 0x130fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x140000, 0x141fff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x150000, 0x150001) AM_WRITE(tecmo16_flipscreen_w)
AM_RANGE(0x150010, 0x150011) AM_WRITE(tecmo16_sound_command_w)
AM_RANGE(0x150030, 0x150031) AM_READ_PORT("DSW2") AM_WRITENOP /* ??? */
@@ -100,8 +100,8 @@ static ADDRESS_MAP_START( ginkun_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x122000, 0x122fff) AM_RAM_WRITE(tecmo16_videoram2_w) AM_BASE(&tecmo16_videoram2)
AM_RANGE(0x123000, 0x123fff) AM_RAM_WRITE(tecmo16_colorram2_w) AM_BASE(&tecmo16_colorram2)
AM_RANGE(0x124000, 0x124fff) AM_RAM /* extra RAM for Riot */
- AM_RANGE(0x130000, 0x130fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0x140000, 0x141fff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x130000, 0x130fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x140000, 0x141fff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x150000, 0x150001) AM_WRITE(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 b2af7e0d01e..d0705639877 100644
--- a/src/mame/drivers/tecmosys.c
+++ b/src/mame/drivers/tecmosys.c
@@ -423,10 +423,10 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x700000, 0x703fff) AM_RAM_WRITE(fg_tilemap_w) AM_BASE(&fgtilemap_ram) // fix ram
AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_BASE(&tecmosys_spriteram) // obj ram
AM_RANGE(0x880000, 0x88000b) AM_READ(unk880000_r)
- AM_RANGE(0x900000, 0x907fff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE(&paletteram16) // AM_WRITE(SMH_RAM) // obj pal
+ AM_RANGE(0x900000, 0x907fff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram) // AM_WRITE(SMH_RAM) // obj pal
//AM_RANGE(0x980000, 0x9807ff) AM_WRITE(SMH_RAM) // bg pal
- //AM_RANGE(0x980800, 0x980fff) AM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE(&paletteram16) // fix pal
+ //AM_RANGE(0x980800, 0x980fff) AM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(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(tilemap_paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE(&tilemap_paletteram16)
@@ -729,7 +729,7 @@ static void tecmosys_do_final_mix(running_machine *machine, bitmap_t* bitmap)
if (srcptr2[x]&0x3fff)
{
- penvalue2 = paletteram16[srcptr2[x]&0x3fff];
+ penvalue2 = machine->generic.paletteram.u16[srcptr2[x]&0x3fff];
colour2 = paldata[srcptr2[x]&0x3fff];
}
else
diff --git a/src/mame/drivers/tehkanwc.c b/src/mame/drivers/tehkanwc.c
index 71f98177e7b..1a058f40678 100644
--- a/src/mame/drivers/tehkanwc.c
+++ b/src/mame/drivers/tehkanwc.c
@@ -232,12 +232,12 @@ static ADDRESS_MAP_START( main_mem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xcfff) AM_RAM AM_SHARE(1)
- AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(tehkanwc_videoram_w) AM_SHARE(2) AM_BASE(&videoram)
- AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE(tehkanwc_colorram_w) AM_SHARE(3) AM_BASE(&colorram)
- AM_RANGE(0xd800, 0xddff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_be_w) AM_SHARE(4) AM_BASE(&paletteram)
+ AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(tehkanwc_videoram_w) AM_SHARE(2) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE(tehkanwc_colorram_w) AM_SHARE(3) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xd800, 0xddff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_be_w) AM_SHARE(4) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xde00, 0xdfff) AM_RAM AM_SHARE(5) /* unused part of the palette RAM, I think? Gridiron uses it */
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(tehkanwc_videoram2_w) AM_SHARE(6) AM_BASE(&tehkanwc_videoram2)
- AM_RANGE(0xe800, 0xebff) AM_RAM AM_SHARE(7) AM_BASE(&spriteram) AM_SIZE(&spriteram_size) /* sprites */
+ AM_RANGE(0xe800, 0xebff) AM_RAM AM_SHARE(7) AM_BASE_SIZE_GENERIC(spriteram) /* sprites */
AM_RANGE(0xec00, 0xec01) AM_RAM_WRITE(tehkanwc_scroll_x_w)
AM_RANGE(0xec02, 0xec02) AM_RAM_WRITE(tehkanwc_scroll_y_w)
AM_RANGE(0xf800, 0xf801) AM_READWRITE(tehkanwc_track_0_r, tehkanwc_track_0_reset_w) /* track 0 x/y */
@@ -260,7 +260,7 @@ static ADDRESS_MAP_START( sub_mem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc800, 0xcfff) AM_RAM AM_SHARE(1)
AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(tehkanwc_videoram_w) AM_SHARE(2)
AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE(tehkanwc_colorram_w) AM_SHARE(3)
- AM_RANGE(0xd800, 0xddff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_be_w) AM_SHARE(4) AM_BASE(&paletteram)
+ AM_RANGE(0xd800, 0xddff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_be_w) AM_SHARE(4) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xde00, 0xdfff) AM_RAM AM_SHARE(5) /* unused part of the palette RAM, I think? Gridiron uses it */
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(tehkanwc_videoram2_w) AM_SHARE(6)
AM_RANGE(0xe800, 0xebff) AM_RAM AM_SHARE(7) /* sprites */
diff --git a/src/mame/drivers/terracre.c b/src/mame/drivers/terracre.c
index 27e8067bd95..7a7ce8b5efc 100644
--- a/src/mame/drivers/terracre.c
+++ b/src/mame/drivers/terracre.c
@@ -209,7 +209,7 @@ static MACHINE_START( amazon )
static ADDRESS_MAP_START( terracre_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x01ffff) AM_ROM
- AM_RANGE(0x020000, 0x0201ff) AM_RAM AM_BASE(&spriteram16)
+ AM_RANGE(0x020000, 0x0201ff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x020200, 0x021fff) AM_RAM
AM_RANGE(0x022000, 0x022fff) AM_WRITE(amazon_background_w) AM_BASE(&amazon_videoram)
AM_RANGE(0x023000, 0x023fff) AM_RAM
@@ -221,12 +221,12 @@ static ADDRESS_MAP_START( terracre_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x026002, 0x026003) AM_WRITE(amazon_scrollx_w)
AM_RANGE(0x026004, 0x026005) AM_WRITE(amazon_scrolly_w)
AM_RANGE(0x02600c, 0x02600d) AM_WRITE(amazon_sound_w)
- AM_RANGE(0x028000, 0x0287ff) AM_WRITE(amazon_foreground_w) AM_BASE(&videoram16)
+ AM_RANGE(0x028000, 0x0287ff) AM_WRITE(amazon_foreground_w) AM_BASE_GENERIC(videoram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( amazon_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x01ffff) AM_ROM
- AM_RANGE(0x040000, 0x0401ff) AM_RAM AM_BASE(&spriteram16)
+ AM_RANGE(0x040000, 0x0401ff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x040200, 0x040fff) AM_RAM
AM_RANGE(0x042000, 0x042fff) AM_WRITE(amazon_background_w) AM_BASE(&amazon_videoram)
AM_RANGE(0x044000, 0x044001) AM_READ_PORT("IN0")
@@ -237,7 +237,7 @@ static ADDRESS_MAP_START( amazon_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x046002, 0x046003) AM_WRITE(amazon_scrollx_w)
AM_RANGE(0x046004, 0x046005) AM_WRITE(amazon_scrolly_w)
AM_RANGE(0x04600c, 0x04600d) AM_WRITE(amazon_sound_w)
- AM_RANGE(0x050000, 0x050fff) AM_WRITE(amazon_foreground_w) AM_BASE(&videoram16)
+ AM_RANGE(0x050000, 0x050fff) AM_WRITE(amazon_foreground_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x070000, 0x070003) AM_READWRITE(amazon_protection_r, amazon_protection_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tetrisp2.c b/src/mame/drivers/tetrisp2.c
index 85d5a536d8a..d8dbc4c92ba 100644
--- a/src/mame/drivers/tetrisp2.c
+++ b/src/mame/drivers/tetrisp2.c
@@ -310,11 +310,11 @@ static WRITE16_HANDLER( tetrisp2_coincounter_w )
static ADDRESS_MAP_START( tetrisp2_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
- AM_RANGE(0x100000, 0x103fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Object RAM
+ AM_RANGE(0x100000, 0x103fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Object RAM
AM_RANGE(0x104000, 0x107fff) AM_RAM // Spare Object RAM
AM_RANGE(0x108000, 0x10ffff) AM_RAM // Work RAM
AM_RANGE(0x200000, 0x23ffff) AM_READWRITE8(tetrisp2_priority_r, tetrisp2_priority_w, 0x00ff)
- AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE(tetrisp2_palette_w) AM_BASE(&paletteram16) // Palette
+ AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE(tetrisp2_palette_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE(0x400000, 0x403fff) AM_RAM_WRITE(tetrisp2_vram_fg_w) AM_BASE(&tetrisp2_vram_fg) // Foreground
AM_RANGE(0x404000, 0x407fff) AM_RAM_WRITE(tetrisp2_vram_bg_w) AM_BASE(&tetrisp2_vram_bg) // Background
AM_RANGE(0x408000, 0x409fff) AM_RAM // ???
@@ -367,12 +367,12 @@ static WRITE16_HANDLER( nndmseal_b20000_w )
static ADDRESS_MAP_START( nndmseal_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x100000, 0x103fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size ) // Object RAM
+ AM_RANGE(0x100000, 0x103fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Object RAM
AM_RANGE(0x104000, 0x107fff) AM_RAM // Spare Object RAM
AM_RANGE(0x108000, 0x10ffff) AM_RAM // Work RAM
AM_RANGE(0x200000, 0x23ffff) AM_WRITE8(tetrisp2_priority_w, 0x00ff) // Priority
AM_RANGE(0x200000, 0x23ffff) AM_READ(nndmseal_priority_r)
- AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE(tetrisp2_palette_w) AM_BASE(&paletteram16 ) // Palette
+ AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE(tetrisp2_palette_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE(0x400000, 0x403fff) AM_RAM_WRITE(tetrisp2_vram_fg_w) AM_BASE(&tetrisp2_vram_fg ) // Foreground
AM_RANGE(0x404000, 0x407fff) AM_RAM_WRITE(tetrisp2_vram_bg_w) AM_BASE(&tetrisp2_vram_bg ) // Background
@@ -413,11 +413,11 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( rockn1_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
- AM_RANGE(0x100000, 0x103fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Object RAM
+ AM_RANGE(0x100000, 0x103fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Object RAM
AM_RANGE(0x104000, 0x107fff) AM_RAM // Spare Object RAM
AM_RANGE(0x108000, 0x10ffff) AM_RAM // Work RAM
AM_RANGE(0x200000, 0x23ffff) AM_READWRITE8(tetrisp2_priority_r, rockn_priority_w, 0x00ff) // Priority
- AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE(tetrisp2_palette_w) AM_BASE(&paletteram16) // Palette
+ AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE(tetrisp2_palette_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE(0x400000, 0x403fff) AM_RAM_WRITE(tetrisp2_vram_fg_w) AM_BASE(&tetrisp2_vram_fg) // Foreground
AM_RANGE(0x404000, 0x407fff) AM_RAM_WRITE(tetrisp2_vram_bg_w) AM_BASE(&tetrisp2_vram_bg) // Background
AM_RANGE(0x408000, 0x409fff) AM_RAM // ???
@@ -447,11 +447,11 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( rockn2_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
- AM_RANGE(0x100000, 0x103fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Object RAM
+ AM_RANGE(0x100000, 0x103fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Object RAM
AM_RANGE(0x104000, 0x107fff) AM_RAM // Spare Object RAM
AM_RANGE(0x108000, 0x10ffff) AM_RAM // Work RAM
AM_RANGE(0x200000, 0x23ffff) AM_READWRITE8(tetrisp2_priority_r, rockn_priority_w, 0x00ff) // Priority
- AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE(tetrisp2_palette_w) AM_BASE(&paletteram16) // Palette
+ AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE(tetrisp2_palette_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE(0x500000, 0x50ffff) AM_RAM // Line
AM_RANGE(0x600000, 0x60ffff) AM_RAM_WRITE(tetrisp2_vram_rot_w) AM_BASE(&tetrisp2_vram_rot) // Rotation
AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE(tetrisp2_vram_fg_w) AM_BASE(&tetrisp2_vram_fg) // Foreground
@@ -481,11 +481,11 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( rocknms_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
- AM_RANGE(0x100000, 0x103fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Object RAM
+ AM_RANGE(0x100000, 0x103fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Object RAM
AM_RANGE(0x104000, 0x107fff) AM_RAM // Spare Object RAM
AM_RANGE(0x108000, 0x10ffff) AM_RAM // Work RAM
AM_RANGE(0x200000, 0x23ffff) AM_READWRITE8(tetrisp2_priority_r, rockn_priority_w, 0x00ff) // Priority
- AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE(tetrisp2_palette_w) AM_BASE(&paletteram16) // Palette
+ AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE(tetrisp2_palette_w) AM_BASE_GENERIC(paletteram) // Palette
// AM_RANGE(0x500000, 0x50ffff) AM_RAM // Line
AM_RANGE(0x600000, 0x60ffff) AM_RAM_WRITE(tetrisp2_vram_rot_w) AM_BASE(&tetrisp2_vram_rot) // Rotation
AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE(tetrisp2_vram_fg_w) AM_BASE(&tetrisp2_vram_fg) // Foreground
@@ -516,11 +516,11 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( rocknms_sub_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
- AM_RANGE(0x100000, 0x103fff) AM_RAM AM_BASE(&spriteram16_2) AM_SIZE(&spriteram_2_size) // Object RAM
+ AM_RANGE(0x100000, 0x103fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram2) // Object RAM
AM_RANGE(0x104000, 0x107fff) AM_RAM // Spare Object RAM
AM_RANGE(0x108000, 0x10ffff) AM_RAM // Work RAM
AM_RANGE(0x200000, 0x23ffff) AM_RAM_WRITE(rocknms_sub_priority_w) AM_BASE(&rocknms_sub_priority) // Priority
- AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE(rocknms_sub_palette_w) AM_BASE(&paletteram16_2) // Palette
+ AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE(rocknms_sub_palette_w) AM_BASE_GENERIC(paletteram2) // Palette
// AM_RANGE(0x500000, 0x50ffff) AM_RAM // Line
AM_RANGE(0x600000, 0x60ffff) AM_RAM_WRITE(rocknms_sub_vram_rot_w) AM_BASE(&rocknms_sub_vram_rot) // Rotation
AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE(rocknms_sub_vram_fg_w) AM_BASE(&rocknms_sub_vram_fg) // Foreground
diff --git a/src/mame/drivers/thedeep.c b/src/mame/drivers/thedeep.c
index 5713dffe432..60d616f45e0 100644
--- a/src/mame/drivers/thedeep.c
+++ b/src/mame/drivers/thedeep.c
@@ -163,7 +163,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xe00c, 0xe00c) AM_WRITE(thedeep_sound_w ) // To Sound CPU
AM_RANGE(0xe100, 0xe100) AM_WRITE(thedeep_e100_w ) // ?
AM_RANGE(0xe210, 0xe213) AM_WRITE(SMH_RAM) AM_BASE(&thedeep_scroll ) // Scroll
- AM_RANGE(0xe400, 0xe7ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size ) // Sprites
+ AM_RANGE(0xe400, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(thedeep_vram_1_w) AM_BASE(&thedeep_vram_1 ) // Text Layer
AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(thedeep_vram_0_w) AM_BASE(&thedeep_vram_0 ) // Background Layer
AM_RANGE(0xf800, 0xf83f) AM_RAM AM_BASE(&thedeep_scroll2 ) // Column Scroll
diff --git a/src/mame/drivers/thoop2.c b/src/mame/drivers/thoop2.c
index 5b2a4a464a6..4f5fd2ac84f 100644
--- a/src/mame/drivers/thoop2.c
+++ b/src/mame/drivers/thoop2.c
@@ -98,7 +98,7 @@ static ADDRESS_MAP_START( thoop2_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x100000, 0x101fff) AM_RAM_WRITE(thoop2_vram_w) AM_BASE(&thoop2_videoram) /* Video RAM */
AM_RANGE(0x108000, 0x108007) AM_WRITEONLY AM_BASE(&thoop2_vregs) /* Video Registers */
AM_RANGE(0x10800c, 0x10800d) AM_WRITE(watchdog_reset16_w) /* INT 6 ACK/Watchdog timer */
- AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)/* Palette */
+ AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)/* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(&thoop2_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 2fb1688174a..731ab19c0d9 100644
--- a/src/mame/drivers/thunderj.c
+++ b/src/mame/drivers/thunderj.c
@@ -148,7 +148,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x360010, 0x360011) AM_WRITE(latch_w)
AM_RANGE(0x360020, 0x360021) AM_WRITE(atarigen_sound_reset_w)
AM_RANGE(0x360030, 0x360031) AM_WRITE(atarigen_sound_w)
- AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_WRITE(atarigen_666_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_WRITE(atarigen_666_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x3effc0, 0x3effff) AM_READWRITE(thunderj_atarivc_r, thunderj_atarivc_w) AM_BASE(&atarivc_data)
AM_RANGE(0x3f0000, 0x3f1fff) AM_RAM_WRITE(atarigen_playfield2_latched_msb_w) AM_BASE(&atarigen_playfield2)
AM_RANGE(0x3f2000, 0x3f3fff) AM_RAM_WRITE(atarigen_playfield_latched_lsb_w) AM_BASE(&atarigen_playfield)
diff --git a/src/mame/drivers/thunderx.c b/src/mame/drivers/thunderx.c
index 9af0f731de4..86be22d5013 100644
--- a/src/mame/drivers/thunderx.c
+++ b/src/mame/drivers/thunderx.c
@@ -47,7 +47,7 @@ static UINT8 *ram,*pmcram;
static READ8_HANDLER( scontra_bankedram_r )
{
if (palette_selected)
- return paletteram[offset];
+ return space->machine->generic.paletteram.u8[offset];
else
return ram[offset];
}
@@ -78,7 +78,7 @@ static READ8_HANDLER( thunderx_bankedram_r )
}
}
else
- return paletteram[offset];
+ return space->machine->generic.paletteram.u8[offset];
}
static WRITE8_HANDLER( thunderx_bankedram_w )
@@ -917,7 +917,7 @@ static MACHINE_RESET( scontra )
{
UINT8 *RAM = memory_region(machine, "maincpu");
- paletteram = &RAM[0x30000];
+ machine->generic.paletteram.u8 = &RAM[0x30000];
}
static MACHINE_RESET( thunderx )
@@ -927,7 +927,7 @@ static MACHINE_RESET( thunderx )
konami_configure_set_lines(cputag_get_cpu(machine, "maincpu"), thunderx_banking);
memory_set_bankptr(machine, 1, &RAM[0x10000] ); /* init the default bank */
- paletteram = &RAM[0x28000];
+ machine->generic.paletteram.u8 = &RAM[0x28000];
pmcram = &RAM[0x28800];
}
diff --git a/src/mame/drivers/tigeroad.c b/src/mame/drivers/tigeroad.c
index b2ab09bc73d..7799f70164d 100644
--- a/src/mame/drivers/tigeroad.c
+++ b/src/mame/drivers/tigeroad.c
@@ -175,16 +175,16 @@ static WRITE8_DEVICE_HANDLER( msm5205_w )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
- AM_RANGE(0xfe0800, 0xfe0cff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xfe0800, 0xfe0cff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xfe0d00, 0xfe1807) AM_RAM /* still part of OBJ RAM */
AM_RANGE(0xfe4000, 0xfe4001) AM_READ_PORT("P1_P2") AM_WRITE(tigeroad_videoctrl_w) /* char bank, coin counters, + ? */
AM_RANGE(0xfe4002, 0xfe4003) AM_READ_PORT("SYSTEM")
/* AM_RANGE(0xfe4002, 0xfe4003) AM_WRITE(tigeroad_soundcmd_w) added by init_tigeroad() */
AM_RANGE(0xfe4004, 0xfe4005) AM_READ_PORT("DSW")
- AM_RANGE(0xfec000, 0xfec7ff) AM_RAM_WRITE(tigeroad_videoram_w) AM_BASE(&videoram16)
+ AM_RANGE(0xfec000, 0xfec7ff) AM_RAM_WRITE(tigeroad_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0xfe8000, 0xfe8003) AM_WRITE(tigeroad_scroll_w)
AM_RANGE(0xfe800e, 0xfe800f) AM_WRITE(SMH_RAM) /* fe800e = watchdog or IRQ acknowledge */
- AM_RANGE(0xff8200, 0xff867f) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xff8200, 0xff867f) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xffc000, 0xffffff) AM_RAM AM_BASE(&ram16)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/timelimt.c b/src/mame/drivers/timelimt.c
index e72769c93a4..37a99cb84ff 100644
--- a/src/mame/drivers/timelimt.c
+++ b/src/mame/drivers/timelimt.c
@@ -58,9 +58,9 @@ static WRITE8_HANDLER( sound_reset_w )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM /* rom */
AM_RANGE(0x8000, 0x87ff) AM_RAM /* ram */
- AM_RANGE(0x8800, 0x8bff) AM_RAM_WRITE(timelimt_videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size) /* video ram */
+ AM_RANGE(0x8800, 0x8bff) AM_RAM_WRITE(timelimt_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) /* video ram */
AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(timelimt_bg_videoram_w) AM_BASE(&timelimt_bg_videoram) AM_SIZE(&timelimt_bg_videoram_size)/* background ram */
- AM_RANGE(0x9800, 0x98ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) /* sprite ram */
+ AM_RANGE(0x9800, 0x98ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* sprite ram */
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("INPUTS")
AM_RANGE(0xa800, 0xa800) AM_READ_PORT("SYSTEM")
AM_RANGE(0xb000, 0xb000) AM_READ_PORT("DSW")
diff --git a/src/mame/drivers/timeplt.c b/src/mame/drivers/timeplt.c
index e8dd37655ee..5ff8e9cc4bc 100644
--- a/src/mame/drivers/timeplt.c
+++ b/src/mame/drivers/timeplt.c
@@ -121,11 +121,11 @@ static READ8_HANDLER( psurge_protection_r )
static ADDRESS_MAP_START( timeplt_main_map, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x5fff) AM_ROM
- AM_RANGE(0xa000, 0xa3ff) AM_RAM_WRITE(timeplt_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0xa400, 0xa7ff) AM_RAM_WRITE(timeplt_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0xa000, 0xa3ff) AM_RAM_WRITE(timeplt_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xa400, 0xa7ff) AM_RAM_WRITE(timeplt_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0xa800, 0xafff) AM_RAM
- AM_RANGE(0xb000, 0xb0ff) AM_MIRROR(0x0b00) AM_RAM AM_BASE(&spriteram)
- AM_RANGE(0xb400, 0xb4ff) AM_MIRROR(0x0b00) AM_RAM AM_BASE(&spriteram_2)
+ AM_RANGE(0xb000, 0xb0ff) AM_MIRROR(0x0b00) AM_RAM AM_BASE_GENERIC(spriteram)
+ AM_RANGE(0xb400, 0xb4ff) AM_MIRROR(0x0b00) AM_RAM AM_BASE_GENERIC(spriteram2)
AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x0cff) AM_WRITE(soundlatch_w)
AM_RANGE(0xc200, 0xc200) AM_MIRROR(0x0cff) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xc300, 0xc300) AM_MIRROR(0x0cf1) AM_WRITE(timeplt_nmi_enable_w)
@@ -145,11 +145,11 @@ static ADDRESS_MAP_START( psurge_main_map, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6004, 0x6004) AM_READ(psurge_protection_r)
- AM_RANGE(0xa000, 0xa3ff) AM_RAM_WRITE(timeplt_colorram_w) AM_BASE(&colorram)
- AM_RANGE(0xa400, 0xa7ff) AM_RAM_WRITE(timeplt_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0xa000, 0xa3ff) AM_RAM_WRITE(timeplt_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xa400, 0xa7ff) AM_RAM_WRITE(timeplt_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0xa800, 0xafff) AM_RAM
- AM_RANGE(0xb000, 0xb0ff) AM_MIRROR(0x0b00) AM_RAM AM_BASE(&spriteram)
- AM_RANGE(0xb400, 0xb4ff) AM_MIRROR(0x0b00) AM_RAM AM_BASE(&spriteram_2)
+ AM_RANGE(0xb000, 0xb0ff) AM_MIRROR(0x0b00) AM_RAM AM_BASE_GENERIC(spriteram)
+ AM_RANGE(0xb400, 0xb4ff) AM_MIRROR(0x0b00) AM_RAM AM_BASE_GENERIC(spriteram2)
AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x0cff) AM_WRITE(soundlatch_w)
AM_RANGE(0xc200, 0xc200) AM_MIRROR(0x0cff) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xc302, 0xc302) AM_MIRROR(0x0cf1) AM_WRITE(timeplt_flipscreen_w)
diff --git a/src/mame/drivers/tmaster.c b/src/mame/drivers/tmaster.c
index 425bd7ba361..43945ec781e 100644
--- a/src/mame/drivers/tmaster.c
+++ b/src/mame/drivers/tmaster.c
@@ -491,7 +491,7 @@ static ADDRESS_MAP_START( tmaster_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE( 0x580000, 0x580001 ) AM_WRITENOP // often
- AM_RANGE( 0x600000, 0x601fff ) AM_READWRITE( SMH_RAM, paletteram16_xBBBBBGGGGGRRRRR_word_w ) AM_BASE(&paletteram16)
+ AM_RANGE( 0x600000, 0x601fff ) AM_READWRITE( SMH_RAM, paletteram16_xBBBBBGGGGGRRRRR_word_w ) AM_BASE_GENERIC(paletteram)
AM_RANGE( 0x800000, 0x800001 ) AM_DEVREADWRITE8( "oki", okim6295_r, okim6295_w, 0x00ff )
diff --git a/src/mame/drivers/tmmjprd.c b/src/mame/drivers/tmmjprd.c
index 39a97e4a329..30485cc249b 100644
--- a/src/mame/drivers/tmmjprd.c
+++ b/src/mame/drivers/tmmjprd.c
@@ -588,11 +588,11 @@ INPUT_PORTS_END
static WRITE32_HANDLER( tmmjprd_paletteram_dword_w )
{
int r,g,b;
- COMBINE_DATA(&paletteram32[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
- b = ((paletteram32[offset] & 0x000000ff) >>0);
- r = ((paletteram32[offset] & 0x0000ff00) >>8);
- g = ((paletteram32[offset] & 0x00ff0000) >>16);
+ b = ((space->machine->generic.paletteram.u32[offset] & 0x000000ff) >>0);
+ r = ((space->machine->generic.paletteram.u32[offset] & 0x0000ff00) >>8);
+ g = ((space->machine->generic.paletteram.u32[offset] & 0x00ff0000) >>16);
palette_set_color(space->machine,offset,MAKE_RGB(r,g,b));
}
@@ -665,7 +665,7 @@ static ADDRESS_MAP_START( tmmjprd_map, ADDRESS_SPACE_PROGRAM, 32 )
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(&tmmjprd_spriteram)
- AM_RANGE(0x29c000, 0x29ffff) AM_RAM_WRITE(tmmjprd_paletteram_dword_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x29c000, 0x29ffff) AM_RAM_WRITE(tmmjprd_paletteram_dword_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x400000, 0x400003) AM_READ(tmmjprd_mux_r) AM_WRITE(tmmjprd_eeprom_write)
AM_RANGE(0xf00000, 0xffffff) AM_RAM
diff --git a/src/mame/drivers/tmnt.c b/src/mame/drivers/tmnt.c
index 3afc6a923db..890591e657e 100644
--- a/src/mame/drivers/tmnt.c
+++ b/src/mame/drivers/tmnt.c
@@ -126,7 +126,7 @@ static WRITE16_HANDLER( punkshot_K052109_word_noA12_w )
static READ16_HANDLER( K053245_scattered_word_r )
{
if (offset & 0x0031)
- return spriteram16[offset];
+ return space->machine->generic.spriteram.u16[offset];
else
{
offset = ((offset & 0x000e) >> 1) | ((offset & 0x1fc0) >> 3);
@@ -136,7 +136,7 @@ static READ16_HANDLER( K053245_scattered_word_r )
static WRITE16_HANDLER( K053245_scattered_word_w )
{
- COMBINE_DATA(spriteram16 + offset);
+ COMBINE_DATA(space->machine->generic.spriteram.u16 + offset);
if (!(offset & 0x0031))
{
@@ -651,7 +651,7 @@ static ADDRESS_MAP_START( cuebrick_main_map, ADDRESS_SPACE_PROGRAM, 16 )
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(tmnt_paletteram_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(tmnt_paletteram_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x0a0000, 0x0a0001) AM_READ_PORT("COINS") AM_WRITE(tmnt_0a0000_w)
AM_RANGE(0x0a0002, 0x0a0003) AM_READ_PORT("P1")
AM_RANGE(0x0a0004, 0x0a0005) AM_READ_PORT("P2")
@@ -672,7 +672,7 @@ static ADDRESS_MAP_START( mia_main_map, ADDRESS_SPACE_PROGRAM, 16 )
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(tmnt_paletteram_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(tmnt_paletteram_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x0a0000, 0x0a0001) AM_READ_PORT("COINS") AM_WRITE(tmnt_0a0000_w)
AM_RANGE(0x0a0002, 0x0a0003) AM_READ_PORT("P1")
AM_RANGE(0x0a0004, 0x0a0005) AM_READ_PORT("P2")
@@ -693,7 +693,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( tmnt_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x060000, 0x063fff) AM_RAM /* main RAM */
- AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(tmnt_paletteram_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(tmnt_paletteram_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x0a0000, 0x0a0001) AM_READ_PORT("COINS") AM_WRITE(tmnt_0a0000_w)
AM_RANGE(0x0a0002, 0x0a0003) AM_READ_PORT("P1")
AM_RANGE(0x0a0004, 0x0a0005) AM_READ_PORT("P2")
@@ -714,7 +714,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( punkshot_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x083fff) AM_RAM /* main RAM */
- AM_RANGE(0x090000, 0x090fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x090000, 0x090fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(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")
@@ -733,7 +733,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( lgtnfght_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
- AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(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")
@@ -745,7 +745,7 @@ static ADDRESS_MAP_START( lgtnfght_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0a0020, 0x0a0023) AM_DEVREAD8("konami", punkshot_sound_r, 0x00ff) /* K053260 */
AM_RANGE(0x0a0020, 0x0a0021) AM_DEVWRITE8("konami", k053260_w, 0x00ff)
AM_RANGE(0x0a0028, 0x0a0029) AM_WRITE(watchdog_reset16_w)
- AM_RANGE(0x0b0000, 0x0b3fff) AM_READWRITE(K053245_scattered_word_r, K053245_scattered_word_w) AM_BASE(&spriteram16)
+ AM_RANGE(0x0b0000, 0x0b3fff) AM_READWRITE(K053245_scattered_word_r, K053245_scattered_word_w) AM_BASE_GENERIC(spriteram)
AM_RANGE(0x0c0000, 0x0c001f) AM_READWRITE(K053244_word_noA1_r, K053244_word_noA1_w)
AM_RANGE(0x0e0000, 0x0e001f) AM_WRITE(K053251_lsb_w)
AM_RANGE(0x100000, 0x107fff) AM_READWRITE(K052109_word_noA12_r, K052109_word_noA12_w)
@@ -762,8 +762,8 @@ static ADDRESS_MAP_START( blswhstl_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x180000, 0x183fff) AM_READWRITE(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(&spriteram16)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x300000, 0x303fff) AM_READWRITE(K053245_scattered_word_r, K053245_scattered_word_w) AM_BASE_GENERIC(spriteram)
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x500000, 0x50003f) AM_READWRITE(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")
@@ -783,8 +783,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( glfgreat_main_map, ADDRESS_SPACE_PROGRAM, 16 )
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(&spriteram16)
- AM_RANGE(0x108000, 0x108fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x104000, 0x107fff) AM_READWRITE(K053245_scattered_word_r, K053245_scattered_word_w) AM_BASE_GENERIC(spriteram)
+ AM_RANGE(0x108000, 0x108fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x10c000, 0x10cfff) AM_RAM AM_BASE(&K053936_0_linectrl) /* 053936? */
AM_RANGE(0x110000, 0x11001f) AM_WRITE(K053244_word_noA1_w) /* duplicate! */
AM_RANGE(0x114000, 0x11401f) AM_READWRITE(K053244_lsb_r, K053244_lsb_w) /* duplicate! */
@@ -806,8 +806,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( prmrsocr_main_map, ADDRESS_SPACE_PROGRAM, 16 )
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(&spriteram16)
- AM_RANGE(0x108000, 0x108fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x104000, 0x107fff) AM_READWRITE(K053245_scattered_word_r, K053245_scattered_word_w) AM_BASE_GENERIC(spriteram)
+ AM_RANGE(0x108000, 0x108fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x10c000, 0x10cfff) AM_RAM AM_BASE(&K053936_0_linectrl)
AM_RANGE(0x110000, 0x11001f) AM_WRITE(K053244_word_noA1_w) /* duplicate! */
AM_RANGE(0x114000, 0x11401f) AM_READWRITE(K053244_lsb_r, K053244_lsb_w) /* duplicate! */
@@ -829,11 +829,11 @@ static UINT16 *tmnt2_1c0800,*sunset_104000;
static UINT16 *tmnt2_rom;
#if 1
-INLINE UINT32 tmnt2_get_word(UINT32 addr)
+INLINE UINT32 tmnt2_get_word(running_machine *machine, UINT32 addr)
{
if (addr <= 0x07ffff/2) return(tmnt2_rom[addr]); else
if (addr >= 0x104000/2 && addr <= 0x107fff/2) return(sunset_104000[addr-0x104000/2]); else
- if (addr >= 0x180000/2 && addr <= 0x183fff/2) return(spriteram16[addr-0x180000/2]);
+ if (addr >= 0x180000/2 && addr <= 0x183fff/2) return(machine->generic.spriteram.u16[addr-0x180000/2]);
return(0);
}
@@ -842,7 +842,7 @@ static void tmnt2_put_word(const address_space *space, UINT32 addr, UINT16 data)
UINT32 offs;
if (addr >= 0x180000/2 && addr <= 0x183fff/2)
{
- spriteram16[addr-0x180000/2] = data;
+ space->machine->generic.spriteram.u16[addr-0x180000/2] = data;
offs = addr-0x180000/2;
if (!(offs & 0x0031))
{
@@ -873,8 +873,8 @@ static WRITE16_HANDLER( tmnt2_1c0800_w )
mod_addr = (mcu[4] | (mcu[5]&0xff)<<16) >> 1;
zlock = (mcu[8] & 0xff) == 0x0001;
- for (i=0; i< 4; i++) src[i] = tmnt2_get_word(src_addr + i);
- for (i=0; i<24; i++) mod[i] = tmnt2_get_word(mod_addr + i);
+ for (i=0; i< 4; i++) src[i] = tmnt2_get_word(space->machine, src_addr + i);
+ for (i=0; i<24; i++) mod[i] = tmnt2_get_word(space->machine, mod_addr + i);
code = src[0]; // code
@@ -1059,8 +1059,8 @@ logerror("copy command %04x sprite %08x data %08x: %04x%04x %04x%04x modifiers
static ADDRESS_MAP_START( tmnt2_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM AM_BASE(&tmnt2_rom)
AM_RANGE(0x104000, 0x107fff) AM_RAM AM_BASE(&sunset_104000) /* main RAM */
- AM_RANGE(0x140000, 0x140fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0x180000, 0x183fff) AM_RAM_WRITE(K053245_scattered_word_w) AM_BASE(&spriteram16) // K053245_scattered_word_r
+ AM_RANGE(0x140000, 0x140fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x180000, 0x183fff) AM_RAM_WRITE(K053245_scattered_word_w) AM_BASE_GENERIC(spriteram) // K053245_scattered_word_r
AM_RANGE(0x1c0000, 0x1c0001) AM_READ_PORT("P1")
AM_RANGE(0x1c0002, 0x1c0003) AM_READ_PORT("P2")
AM_RANGE(0x1c0004, 0x1c0005) AM_READ_PORT("P3")
@@ -1085,8 +1085,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( ssriders_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0bffff) AM_ROM
AM_RANGE(0x104000, 0x107fff) AM_RAM /* main RAM */
- AM_RANGE(0x140000, 0x140fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0x180000, 0x183fff) AM_READWRITE(K053245_scattered_word_r, K053245_scattered_word_w) AM_BASE(&spriteram16)
+ AM_RANGE(0x140000, 0x140fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x180000, 0x183fff) AM_READWRITE(K053245_scattered_word_r, K053245_scattered_word_w) AM_BASE_GENERIC(spriteram)
AM_RANGE(0x1c0000, 0x1c0001) AM_READ_PORT("P1")
AM_RANGE(0x1c0002, 0x1c0003) AM_READ_PORT("P2")
AM_RANGE(0x1c0004, 0x1c0005) AM_READ_PORT("P3")
@@ -1111,9 +1111,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sunsetbl_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0bffff) AM_ROM
AM_RANGE(0x104000, 0x107fff) AM_RAM /* main RAM */
- AM_RANGE(0x14c000, 0x14cfff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x14c000, 0x14cfff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x14e700, 0x14e71f) AM_WRITE(K053251_lsb_w)
- AM_RANGE(0x180000, 0x183fff) AM_READWRITE(K053245_scattered_word_r, K053245_scattered_word_w) AM_BASE(&spriteram16)
+ AM_RANGE(0x180000, 0x183fff) AM_READWRITE(K053245_scattered_word_r, K053245_scattered_word_w) AM_BASE_GENERIC(spriteram)
AM_RANGE(0x184000, 0x18ffff) AM_RAM
AM_RANGE(0x1c0300, 0x1c0301) AM_WRITE(ssriders_1c0300_w)
AM_RANGE(0x1c0400, 0x1c0401) AM_WRITENOP
@@ -1137,7 +1137,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( thndrx2_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM /* main RAM */
- AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x300000, 0x30001f) AM_WRITE(K053251_lsb_w)
AM_RANGE(0x400000, 0x400003) AM_DEVREAD8("konami", punkshot_sound_r, 0x00ff) /* K053260 */
AM_RANGE(0x400000, 0x400001) AM_DEVWRITE8("konami", k053260_w, 0x00ff)
@@ -3931,8 +3931,8 @@ static DRIVER_INIT( glfgreat )
static DRIVER_INIT( cuebrick )
{
- machine->generic.nvram.ptr.u8 = (UINT8 *)cuebrick_nvram;
- machine->generic.nvram.size = 0x400*0x20;
+ machine->generic.nvram.u8 = (UINT8 *)cuebrick_nvram;
+ machine->generic.nvram_size = 0x400*0x20;
/* ROMs are interleaved at byte level */
shuffle(memory_region(machine, "gfx1"),memory_region_length(machine, "gfx1"));
diff --git a/src/mame/drivers/tnzs.c b/src/mame/drivers/tnzs.c
index c97d7b623f6..f5c4fa05675 100644
--- a/src/mame/drivers/tnzs.c
+++ b/src/mame/drivers/tnzs.c
@@ -759,7 +759,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
/* 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(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE(&paletteram)
+ AM_RANGE(0xf800, 0xfbff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE_GENERIC(paletteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( cpu0_type2, ADDRESS_SPACE_PROGRAM, 8 )
@@ -822,7 +822,7 @@ static ADDRESS_MAP_START( tnzsb_cpu1_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xefff) AM_RAM AM_SHARE(1)
AM_RANGE(0xf000, 0xf003) AM_READ(SMH_RAM)
- AM_RANGE(0xf000, 0xf3ff) AM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE(&paletteram)
+ AM_RANGE(0xf000, 0xf3ff) AM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE_GENERIC(paletteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( kabukiz_cpu1_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -837,7 +837,7 @@ static ADDRESS_MAP_START( kabukiz_cpu1_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc002, 0xc002) AM_READ_PORT("IN2")
AM_RANGE(0xd000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xefff) AM_RAM AM_SHARE(1)
- AM_RANGE(0xf800, 0xfbff) AM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE(&paletteram)
+ AM_RANGE(0xf800, 0xfbff) AM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE_GENERIC(paletteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( tnzsb_cpu2_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -869,11 +869,11 @@ static WRITE8_HANDLER( jpopnics_palette_w )
{
int r, g, b;
UINT16 paldata;
- paletteram[offset] = data;
+ space->machine->generic.paletteram.u8[offset] = data;
offset = offset >> 1;
- paldata = (paletteram[offset * 2] << 8) | paletteram[(offset * 2 + 1)];
+ paldata = (space->machine->generic.paletteram.u8[offset * 2] << 8) | space->machine->generic.paletteram.u8[(offset * 2 + 1)];
g = (paldata >> 12) & 0x000f;
r = (paldata >> 4) & 0x000f;
@@ -893,7 +893,7 @@ static ADDRESS_MAP_START( jpopnics_main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xf300, 0xf303) AM_MIRROR(0xfc) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(tnzs_state, objctrl) /* control registers (0x80 mirror used by Arkanoid 2) */
AM_RANGE(0xf400, 0xf400) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(tnzs_state, bg_flag) /* enable / disable background transparency */
AM_RANGE(0xf600, 0xf600) AM_READWRITE(SMH_NOP, tnzs_bankswitch_w)
- AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(jpopnics_palette_w) AM_BASE(&paletteram)
+ AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(jpopnics_palette_w) AM_BASE_GENERIC(paletteram)
ADDRESS_MAP_END
static WRITE8_HANDLER( jpopnics_subbankswitch_w )
diff --git a/src/mame/drivers/toaplan1.c b/src/mame/drivers/toaplan1.c
index 3ee78ac9653..2ca7d187c0b 100644
--- a/src/mame/drivers/toaplan1.c
+++ b/src/mame/drivers/toaplan1.c
@@ -76,7 +76,7 @@ static ADDRESS_MAP_START( rallybik_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x040000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x083fff) AM_RAM
- AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x100000, 0x100001) AM_WRITE(rallybik_bcu_flipscreen_w)
AM_RANGE(0x100002, 0x100003) AM_READWRITE(toaplan1_tileram_offs_r, toaplan1_tileram_offs_w)
AM_RANGE(0x100004, 0x100007) AM_READWRITE(rallybik_tileram16_r, toaplan1_tileram16_w)
diff --git a/src/mame/drivers/toaplan2.c b/src/mame/drivers/toaplan2.c
index 46728d03069..59d6af25f18 100644
--- a/src/mame/drivers/toaplan2.c
+++ b/src/mame/drivers/toaplan2.c
@@ -1314,7 +1314,7 @@ static ADDRESS_MAP_START( tekipaki_68k_mem, ADDRESS_SPACE_PROGRAM, 16 )
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(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x140000, 0x140001) AM_WRITE(toaplan2_0_voffs_w)
AM_RANGE(0x140004, 0x140007) AM_READWRITE(toaplan2_0_videoram16_r, toaplan2_0_videoram16_w) /* Tile/Sprite VideoRAM */
AM_RANGE(0x140008, 0x140009) AM_WRITE(toaplan2_0_scroll_reg_select_w)
@@ -1334,7 +1334,7 @@ static ADDRESS_MAP_START( ghox_68k_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x040001) AM_READ(ghox_p2_h_analog_r) /* Paddle 2 */
AM_RANGE(0x080000, 0x083fff) AM_RAM
- AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x100000, 0x100001) AM_READ(ghox_p1_h_analog_r) /* Paddle 1 */
AM_RANGE(0x140000, 0x140001) AM_WRITE(toaplan2_0_voffs_w)
AM_RANGE(0x140004, 0x140007) AM_READWRITE(toaplan2_0_videoram16_r, toaplan2_0_videoram16_w) /* Tile/Sprite VideoRAM */
@@ -1377,7 +1377,7 @@ static ADDRESS_MAP_START( dogyuun_68k_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300004, 0x300007) AM_READWRITE(toaplan2_0_videoram16_r, toaplan2_0_videoram16_w) /* Tile/Sprite VideoRAM */
AM_RANGE(0x300008, 0x300009) AM_WRITE(toaplan2_0_scroll_reg_select_w)
AM_RANGE(0x30000c, 0x30000d) AM_READWRITE(toaplan2_inputport_0_word_r, toaplan2_0_scroll_reg_data_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
/***** The following loctions in 0x50000x are for video controller 2 ******/
AM_RANGE(0x500000, 0x500001) AM_WRITE(toaplan2_1_voffs_w) /* VideoRAM selector/offset */
AM_RANGE(0x500004, 0x500007) AM_READWRITE(toaplan2_1_videoram16_r, toaplan2_1_videoram16_w) /* Tile/Sprite VideoRAM */
@@ -1403,7 +1403,7 @@ static ADDRESS_MAP_START( kbash_68k_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300004, 0x300007) AM_READWRITE(toaplan2_0_videoram16_r, toaplan2_0_videoram16_w) /* Tile/Sprite VideoRAM */
AM_RANGE(0x300008, 0x300009) AM_WRITE(toaplan2_0_scroll_reg_select_w)
AM_RANGE(0x30000c, 0x30000d) AM_READWRITE(toaplan2_inputport_0_word_r, toaplan2_0_scroll_reg_data_w) /* VBlank */
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x700000, 0x700001) AM_READ(video_count_r) /* test bit 8 */
ADDRESS_MAP_END
@@ -1428,7 +1428,7 @@ static ADDRESS_MAP_START( kbash2_68k_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300004, 0x300007) AM_READWRITE(toaplan2_0_videoram16_r, toaplan2_0_videoram16_w) /* Tile/Sprite VideoRAM */
AM_RANGE(0x300008, 0x300009) AM_WRITE(toaplan2_0_scroll_reg_select_w)
AM_RANGE(0x30000c, 0x30000d) AM_READWRITE(toaplan2_inputport_0_word_r, toaplan2_0_scroll_reg_data_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
ADDRESS_MAP_END
@@ -1439,7 +1439,7 @@ static ADDRESS_MAP_START( truxton2_68k_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x200004, 0x200007) AM_READWRITE(toaplan2_0_videoram16_r, toaplan2_0_videoram16_w)
AM_RANGE(0x200008, 0x200009) AM_WRITE(toaplan2_0_scroll_reg_select_w)
AM_RANGE(0x20000c, 0x20000d) AM_READWRITE(toaplan2_inputport_0_word_r, toaplan2_0_scroll_reg_data_w)
- AM_RANGE(0x300000, 0x300fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x300000, 0x300fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x400000, 0x401fff) AM_READWRITE(toaplan2_txvideoram16_r, toaplan2_txvideoram16_w) AM_BASE(&toaplan2_txvideoram16) AM_SIZE(&toaplan2_tx_vram_size)
AM_RANGE(0x402000, 0x4021ff) AM_READWRITE(toaplan2_txvideoram16_offs_r, toaplan2_txvideoram16_offs_w) AM_BASE(&toaplan2_txvideoram16_offs) AM_SIZE(&toaplan2_tx_offs_vram_size)
AM_RANGE(0x402200, 0x402fff) AM_RAM
@@ -1462,7 +1462,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( pipibibs_68k_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x082fff) AM_RAM
- AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x140000, 0x140001) AM_WRITE(toaplan2_0_voffs_w)
AM_RANGE(0x140004, 0x140007) AM_READWRITE(toaplan2_0_videoram16_r, toaplan2_0_videoram16_w)
AM_RANGE(0x140008, 0x140009) AM_WRITE(toaplan2_0_scroll_reg_select_w)
@@ -1483,7 +1483,7 @@ static ADDRESS_MAP_START( pipibibi_68k_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x080000, 0x082fff) AM_RAM
AM_RANGE(0x083000, 0x0837ff) AM_READWRITE(pipibibi_spriteram16_r, pipibibi_spriteram16_w) /* SpriteRAM */
AM_RANGE(0x083800, 0x087fff) AM_RAM /* SpriteRAM (unused) */
- AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x120000, 0x120fff) AM_RAM /* Copy of SpriteRAM ? */
// AM_RANGE(0x13f000, 0x13f001) AM_WRITENOP /* ??? */
AM_RANGE(0x180000, 0x182fff) AM_READWRITE(pipibibi_videoram16_r, pipibibi_videoram16_w) /* TileRAM */
@@ -1538,7 +1538,7 @@ static ADDRESS_MAP_START( fixeight_68k_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300004, 0x300007) AM_READWRITE(toaplan2_0_videoram16_r, toaplan2_0_videoram16_w) /* Tile/Sprite VideoRAM */
AM_RANGE(0x300008, 0x300009) AM_WRITE(toaplan2_0_scroll_reg_select_w)
AM_RANGE(0x30000c, 0x30000d) AM_READWRITE(toaplan2_inputport_0_word_r, toaplan2_0_scroll_reg_data_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x500000, 0x501fff) AM_READWRITE(toaplan2_txvideoram16_r, toaplan2_txvideoram16_w) AM_BASE(&toaplan2_txvideoram16) AM_SIZE(&toaplan2_tx_vram_size)
AM_RANGE(0x502000, 0x5021ff) AM_READWRITE(toaplan2_txvideoram16_offs_r, toaplan2_txvideoram16_offs_w) AM_BASE(&toaplan2_txvideoram16_offs) AM_SIZE(&toaplan2_tx_offs_vram_size)
AM_RANGE(0x503000, 0x5031ff) AM_READWRITE(toaplan2_txscrollram16_r, toaplan2_txscrollram16_w) AM_BASE(&toaplan2_txscrollram16) AM_SIZE(&toaplan2_tx_scroll_vram_size)
@@ -1562,7 +1562,7 @@ static ADDRESS_MAP_START( fixeighb_68k_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300004, 0x300007) AM_READWRITE(toaplan2_0_videoram16_r, toaplan2_0_videoram16_w) /* Tile/Sprite VideoRAM */
AM_RANGE(0x300008, 0x300009) AM_WRITE(toaplan2_0_scroll_reg_select_w)
AM_RANGE(0x30000c, 0x30000d) AM_READWRITE(toaplan2_inputport_0_word_r, toaplan2_0_scroll_reg_data_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x500000, 0x501fff) AM_READWRITE(toaplan2_txvideoram16_r, toaplan2_txvideoram16_w) AM_BASE(&toaplan2_txvideoram16) AM_SIZE(&toaplan2_tx_vram_size)
AM_RANGE(0x502000, 0x5021ff) AM_READWRITE(toaplan2_txvideoram16_offs_r, toaplan2_txvideoram16_offs_w) AM_BASE(&toaplan2_txvideoram16_offs) AM_SIZE(&toaplan2_tx_offs_vram_size)
AM_RANGE(0x503000, 0x5031ff) AM_READWRITE(toaplan2_txscrollram16_r, toaplan2_txscrollram16_w) AM_BASE(&toaplan2_txscrollram16) AM_SIZE(&toaplan2_tx_scroll_vram_size)
@@ -1596,7 +1596,7 @@ static ADDRESS_MAP_START( vfive_68k_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300004, 0x300007) AM_READWRITE(toaplan2_0_videoram16_r, toaplan2_0_videoram16_w) /* Tile/Sprite VideoRAM */
AM_RANGE(0x300008, 0x300009) AM_WRITE(toaplan2_0_scroll_reg_select_w)
AM_RANGE(0x30000c, 0x30000d) AM_READWRITE(toaplan2_inputport_0_word_r, toaplan2_0_scroll_reg_data_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x700000, 0x700001) AM_READ(video_count_r)
ADDRESS_MAP_END
@@ -1672,7 +1672,7 @@ static ADDRESS_MAP_START( batsugun_68k_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300004, 0x300007) AM_READWRITE(toaplan2_0_videoram16_r, toaplan2_0_videoram16_w) /* Tile/Sprite VideoRAM */
AM_RANGE(0x300008, 0x300009) AM_WRITE(toaplan2_0_scroll_reg_select_w)
AM_RANGE(0x30000c, 0x30000d) AM_READWRITE(toaplan2_inputport_0_word_r, toaplan2_0_scroll_reg_data_w) /* VBlank */
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
/***** The following in 0x50000x are for video controller 2 ******/
AM_RANGE(0x500000, 0x500001) AM_WRITE(toaplan2_1_voffs_w) /* VideoRAM selector/offset */
AM_RANGE(0x500004, 0x500007) AM_READWRITE(toaplan2_1_videoram16_r, toaplan2_1_videoram16_w) /* Tile/Sprite VideoRAM */
@@ -1689,7 +1689,7 @@ static ADDRESS_MAP_START( snowbro2_68k_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300004, 0x300007) AM_READWRITE(toaplan2_0_videoram16_r, toaplan2_0_videoram16_w) /* Tile/Sprite VideoRAM */
AM_RANGE(0x300008, 0x300009) AM_WRITE(toaplan2_0_scroll_reg_select_w)
AM_RANGE(0x30000c, 0x30000d) AM_READWRITE(toaplan2_inputport_0_word_r, toaplan2_0_scroll_reg_data_w) /* VBlank */
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x500000, 0x500003) AM_DEVREADWRITE8("ymsnd", ym2151_r, ym2151_w, 0x00ff)
AM_RANGE(0x600000, 0x600001) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("JMPR")
@@ -1721,7 +1721,7 @@ static ADDRESS_MAP_START( mahoudai_68k_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300004, 0x300007) AM_READWRITE(toaplan2_0_videoram16_r, toaplan2_0_videoram16_w) /* Tile/Sprite VideoRAM */
AM_RANGE(0x300008, 0x300009) AM_WRITE(toaplan2_0_scroll_reg_select_w)
AM_RANGE(0x30000c, 0x30000d) AM_READWRITE(toaplan2_inputport_0_word_r, toaplan2_0_scroll_reg_data_w) /* VBlank */
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x401000, 0x4017ff) AM_RAM /* Unused PaletteRAM */
AM_RANGE(0x500000, 0x501fff) AM_READWRITE(toaplan2_txvideoram16_r, toaplan2_txvideoram16_w) AM_BASE(&toaplan2_txvideoram16) AM_SIZE(&toaplan2_tx_vram_size)
AM_RANGE(0x502000, 0x5021ff) AM_READWRITE(toaplan2_txvideoram16_offs_r, toaplan2_txvideoram16_offs_w) AM_BASE(&toaplan2_txvideoram16_offs) AM_SIZE(&toaplan2_tx_offs_vram_size)
@@ -1748,7 +1748,7 @@ static ADDRESS_MAP_START( shippumd_68k_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300004, 0x300007) AM_READWRITE(toaplan2_0_videoram16_r, toaplan2_0_videoram16_w) /* Tile/Sprite VideoRAM */
AM_RANGE(0x300008, 0x300009) AM_WRITE(toaplan2_0_scroll_reg_select_w)
AM_RANGE(0x30000c, 0x30000d) AM_READWRITE(toaplan2_inputport_0_word_r, toaplan2_0_scroll_reg_data_w) /* VBlank */
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x401000, 0x4017ff) AM_RAM /* Unused PaletteRAM */
AM_RANGE(0x500000, 0x501fff) AM_READWRITE(toaplan2_txvideoram16_r, toaplan2_txvideoram16_w) AM_BASE(&toaplan2_txvideoram16) AM_SIZE(&toaplan2_tx_vram_size)
AM_RANGE(0x502000, 0x5021ff) AM_READWRITE(toaplan2_txvideoram16_offs_r, toaplan2_txvideoram16_offs_w) AM_BASE(&toaplan2_txvideoram16_offs) AM_SIZE(&toaplan2_tx_offs_vram_size)
@@ -1774,7 +1774,7 @@ static ADDRESS_MAP_START( bgaregga_68k_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300004, 0x300007) AM_READWRITE(toaplan2_0_videoram16_r, toaplan2_0_videoram16_w) /* Tile/Sprite VideoRAM */
AM_RANGE(0x300008, 0x300009) AM_WRITE(toaplan2_0_scroll_reg_select_w)
AM_RANGE(0x30000c, 0x30000d) AM_READWRITE(toaplan2_inputport_0_word_r, toaplan2_0_scroll_reg_data_w) /* VBlank */
- AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x500000, 0x501fff) AM_READWRITE(toaplan2_txvideoram16_r, toaplan2_txvideoram16_w) AM_BASE(&toaplan2_txvideoram16) AM_SIZE(&toaplan2_tx_vram_size)
AM_RANGE(0x502000, 0x5021ff) AM_READWRITE(toaplan2_txvideoram16_offs_r, toaplan2_txvideoram16_offs_w) AM_BASE(&toaplan2_txvideoram16_offs) AM_SIZE(&toaplan2_tx_offs_vram_size)
AM_RANGE(0x502200, 0x502fff) AM_RAM
@@ -1787,7 +1787,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( batrider_68k_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x200000, 0x201fff) AM_READWRITE(toaplan2_txvideoram16_r, toaplan2_txvideoram16_w) AM_BASE(&toaplan2_txvideoram16) AM_SIZE(&toaplan2_tx_vram_size) /* Text VideoRAM */
- AM_RANGE(0x202000, 0x202fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16) AM_SIZE(&batrider_paletteram16_size)
+ AM_RANGE(0x202000, 0x202fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) AM_SIZE(&batrider_paletteram16_size)
AM_RANGE(0x203000, 0x2031ff) AM_READWRITE(toaplan2_txvideoram16_offs_r, toaplan2_txvideoram16_offs_w) AM_BASE(&toaplan2_txvideoram16_offs) AM_SIZE(&toaplan2_tx_offs_vram_size)
AM_RANGE(0x203200, 0x2033ff) AM_READWRITE(toaplan2_txscrollram16_r, toaplan2_txscrollram16_w) AM_BASE(&toaplan2_txscrollram16) AM_SIZE(&toaplan2_tx_scroll_vram_size)
AM_RANGE(0x203400, 0x207fff) AM_READWRITE(raizing_tx_gfxram16_r, raizing_tx_gfxram16_w) /* Main RAM actually */
@@ -1818,7 +1818,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( bbakraid_68k_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x200000, 0x201fff) AM_READWRITE(toaplan2_txvideoram16_r, toaplan2_txvideoram16_w) AM_BASE(&toaplan2_txvideoram16) AM_SIZE(&toaplan2_tx_vram_size) /* Text VideoRAM */
- AM_RANGE(0x202000, 0x202fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16) AM_SIZE(&batrider_paletteram16_size)
+ AM_RANGE(0x202000, 0x202fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) AM_SIZE(&batrider_paletteram16_size)
AM_RANGE(0x203000, 0x2031ff) AM_READWRITE(toaplan2_txvideoram16_offs_r, toaplan2_txvideoram16_offs_w) AM_BASE(&toaplan2_txvideoram16_offs) AM_SIZE(&toaplan2_tx_offs_vram_size)
AM_RANGE(0x203200, 0x2033ff) AM_READWRITE(toaplan2_txscrollram16_r, toaplan2_txscrollram16_w) AM_BASE(&toaplan2_txscrollram16) AM_SIZE(&toaplan2_tx_scroll_vram_size)
AM_RANGE(0x203400, 0x207fff) AM_READWRITE(raizing_tx_gfxram16_r, raizing_tx_gfxram16_w) /* Main RAM actually */
diff --git a/src/mame/drivers/toki.c b/src/mame/drivers/toki.c
index 7f8446bc7db..9c38eefc723 100644
--- a/src/mame/drivers/toki.c
+++ b/src/mame/drivers/toki.c
@@ -107,11 +107,11 @@ static WRITE8_HANDLER( toki_adpcm_data_w )
static ADDRESS_MAP_START( toki_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x060000, 0x06d7ff) AM_RAM
- AM_RANGE(0x06d800, 0x06dfff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0x06e000, 0x06e7ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x06d800, 0x06dfff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x06e000, 0x06e7ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x06e800, 0x06efff) AM_RAM_WRITE(toki_background1_videoram16_w) AM_BASE(&toki_background1_videoram16)
AM_RANGE(0x06f000, 0x06f7ff) AM_RAM_WRITE(toki_background2_videoram16_w) AM_BASE(&toki_background2_videoram16)
- AM_RANGE(0x06f800, 0x06ffff) AM_RAM_WRITE(toki_foreground_videoram16_w) AM_BASE(&videoram16)
+ AM_RANGE(0x06f800, 0x06ffff) AM_RAM_WRITE(toki_foreground_videoram16_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x080000, 0x08000d) AM_READWRITE(seibu_main_word_r, seibu_main_word_w)
AM_RANGE(0x0a0000, 0x0a005f) AM_WRITE(toki_control_w) AM_BASE(&toki_scrollram16)
AM_RANGE(0x0c0000, 0x0c0001) AM_READ_PORT("DSW")
@@ -123,14 +123,14 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( tokib_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x060000, 0x06dfff) AM_RAM
- AM_RANGE(0x06e000, 0x06e7ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x06e000, 0x06e7ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x06e800, 0x06efff) AM_RAM_WRITE(toki_background1_videoram16_w) AM_BASE(&toki_background1_videoram16)
AM_RANGE(0x06f000, 0x06f7ff) AM_RAM_WRITE(toki_background2_videoram16_w) AM_BASE(&toki_background2_videoram16)
- AM_RANGE(0x06f800, 0x06ffff) AM_RAM_WRITE(toki_foreground_videoram16_w) AM_BASE(&videoram16)
+ AM_RANGE(0x06f800, 0x06ffff) AM_RAM_WRITE(toki_foreground_videoram16_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x071000, 0x071001) AM_WRITENOP /* sprite related? seems another scroll register */
/* gets written the same value as 75000a (bg2 scrollx) */
AM_RANGE(0x071804, 0x071807) AM_WRITENOP /* sprite related, always 01be0100 */
- AM_RANGE(0x07180e, 0x071e45) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x07180e, 0x071e45) AM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x072000, 0x072001) AM_READ(watchdog_reset16_r) /* probably */
AM_RANGE(0x075000, 0x075001) AM_WRITE(tokib_soundcommand16_w)
AM_RANGE(0x075004, 0x07500b) AM_WRITE(SMH_RAM) AM_BASE(&toki_scrollram16)
diff --git a/src/mame/drivers/toobin.c b/src/mame/drivers/toobin.c
index 33293d8283b..a2594c42340 100644
--- a/src/mame/drivers/toobin.c
+++ b/src/mame/drivers/toobin.c
@@ -111,7 +111,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xc00000, 0xc07fff) AM_RAM_WRITE(atarigen_playfield_large_w) AM_BASE(&atarigen_playfield)
AM_RANGE(0xc08000, 0xc097ff) AM_MIRROR(0x046000) AM_RAM_WRITE(atarigen_alpha_w) AM_BASE(&atarigen_alpha)
AM_RANGE(0xc09800, 0xc09fff) AM_MIRROR(0x046000) AM_RAM_WRITE(atarimo_0_spriteram_w) AM_BASE(&atarimo_0_spriteram)
- AM_RANGE(0xc10000, 0xc107ff) AM_MIRROR(0x047800) AM_RAM_WRITE(toobin_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xc10000, 0xc107ff) AM_MIRROR(0x047800) AM_RAM_WRITE(toobin_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xff6000, 0xff6001) AM_READNOP /* who knows? read at controls time */
AM_RANGE(0xff8000, 0xff8001) AM_MIRROR(0x4500fe) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0xff8100, 0xff8101) AM_MIRROR(0x4500fe) AM_WRITE(atarigen_sound_w)
diff --git a/src/mame/drivers/topspeed.c b/src/mame/drivers/topspeed.c
index c404f226435..3b2a748f1a2 100644
--- a/src/mame/drivers/topspeed.c
+++ b/src/mame/drivers/topspeed.c
@@ -453,7 +453,7 @@ static WRITE8_DEVICE_HANDLER( topspeed_msm5205_stop_w )
static ADDRESS_MAP_START( topspeed_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(sharedram_r, sharedram_w) AM_BASE(&sharedram) AM_SIZE(&sharedram_size)
- AM_RANGE(0x500000, 0x503fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x500000, 0x503fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x600002, 0x600003) AM_WRITE(cpua_ctrl_w)
AM_RANGE(0x7e0000, 0x7e0001) AM_READNOP AM_WRITE8(taitosound_port_w, 0x00ff)
AM_RANGE(0x7e0002, 0x7e0003) AM_READWRITE8(taitosound_comm_r, taitosound_comm_w, 0x00ff)
@@ -467,7 +467,7 @@ static ADDRESS_MAP_START( topspeed_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xb20000, 0xb20003) AM_WRITE(PC080SN_yscroll_word_1_w)
AM_RANGE(0xb40000, 0xb40003) AM_WRITE(PC080SN_xscroll_word_1_w)
AM_RANGE(0xb50000, 0xb50003) AM_WRITE(PC080SN_ctrl_word_1_w)
- AM_RANGE(0xd00000, 0xd00fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xd00000, 0xd00fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xe00000, 0xe0ffff) AM_RAM AM_BASE(&topspeed_spritemap)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/toypop.c b/src/mame/drivers/toypop.c
index af7693798a5..1596d0b79a1 100644
--- a/src/mame/drivers/toypop.c
+++ b/src/mame/drivers/toypop.c
@@ -254,11 +254,11 @@ static WRITE16_HANDLER( toypop_m68000_interrupt_disable_w )
static ADDRESS_MAP_START( liblrabl_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x07ff) AM_RAM_WRITE(toypop_videoram_w) AM_BASE(&toypop_videoram) /* video RAM */
AM_RANGE(0x0800, 0x0f7f) AM_RAM /* general RAM, area 1 */
- AM_RANGE(0x0f80, 0x0fff) AM_RAM AM_BASE(&spriteram) /* sprite RAM, area 1 */
+ AM_RANGE(0x0f80, 0x0fff) AM_RAM AM_BASE_GENERIC(spriteram) /* sprite RAM, area 1 */
AM_RANGE(0x1000, 0x177f) AM_RAM /* general RAM, area 2 */
- AM_RANGE(0x1780, 0x17ff) AM_RAM AM_BASE(&spriteram_2) /* sprite RAM, area 2 */
+ AM_RANGE(0x1780, 0x17ff) AM_RAM AM_BASE_GENERIC(spriteram2) /* sprite RAM, area 2 */
AM_RANGE(0x1800, 0x1f7f) AM_RAM /* general RAM, area 3 */
- AM_RANGE(0x1f80, 0x1fff) AM_RAM AM_BASE(&spriteram_3) /* sprite RAM, area 3 */
+ AM_RANGE(0x1f80, 0x1fff) AM_RAM AM_BASE_GENERIC(spriteram3) /* sprite RAM, area 3 */
AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE(&toypop_m68000_sharedram) /* shared RAM with the 68000 CPU */
AM_RANGE(0x6000, 0x63ff) AM_DEVREADWRITE("namco", toypop_sound_sharedram_r, toypop_sound_sharedram_w) /* shared RAM with sound CPU */
AM_RANGE(0x6800, 0x683f) AM_READWRITE(namcoio_r, namcoio_w) /* custom I/O */
@@ -275,11 +275,11 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( toypop_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x07ff) AM_RAM_WRITE(toypop_videoram_w) AM_BASE(&toypop_videoram) /* video RAM */
AM_RANGE(0x0800, 0x0f7f) AM_RAM /* general RAM, area 1 */
- AM_RANGE(0x0f80, 0x0fff) AM_RAM AM_BASE(&spriteram) /* sprite RAM, area 1 */
+ AM_RANGE(0x0f80, 0x0fff) AM_RAM AM_BASE_GENERIC(spriteram) /* sprite RAM, area 1 */
AM_RANGE(0x1000, 0x177f) AM_RAM /* general RAM, area 2 */
- AM_RANGE(0x1780, 0x17ff) AM_RAM AM_BASE(&spriteram_2) /* sprite RAM, area 2 */
+ AM_RANGE(0x1780, 0x17ff) AM_RAM AM_BASE_GENERIC(spriteram2) /* sprite RAM, area 2 */
AM_RANGE(0x1800, 0x1f7f) AM_RAM /* general RAM, area 3 */
- AM_RANGE(0x1f80, 0x1fff) AM_RAM AM_BASE(&spriteram_3) /* sprite RAM, area 3 */
+ AM_RANGE(0x1f80, 0x1fff) AM_RAM AM_BASE_GENERIC(spriteram3) /* sprite RAM, area 3 */
AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE(&toypop_m68000_sharedram) /* shared RAM with the 68000 CPU */
AM_RANGE(0x6000, 0x603f) AM_READWRITE(namcoio_r, namcoio_w) /* custom I/O */
AM_RANGE(0x6800, 0x6bff) AM_DEVREADWRITE("namco", toypop_sound_sharedram_r, toypop_sound_sharedram_w) /* shared RAM with sound CPU */
diff --git a/src/mame/drivers/trackfld.c b/src/mame/drivers/trackfld.c
index e094c99d12b..be62a294e76 100644
--- a/src/mame/drivers/trackfld.c
+++ b/src/mame/drivers/trackfld.c
@@ -116,15 +116,15 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1282, 0x1282) AM_MIRROR(0x007c) AM_READ_PORT("IN1")
AM_RANGE(0x1283, 0x1283) AM_MIRROR(0x007c) AM_READ_PORT("DSW1")
/* not used according to schems: AM_RANGE(0x1300, 0x1300) AM_MIRROR(0x007f) AM_READ_PORT("DSW3") */
- AM_RANGE(0x1800, 0x183f) AM_RAM AM_BASE(&spriteram_2)
+ AM_RANGE(0x1800, 0x183f) AM_RAM AM_BASE_GENERIC(spriteram2)
AM_RANGE(0x1840, 0x185f) AM_RAM AM_BASE(&trackfld_scroll)
AM_RANGE(0x1860, 0x1bff) AM_RAM
- AM_RANGE(0x1c00, 0x1c3f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x1c00, 0x1c3f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x1c40, 0x1c5f) AM_RAM AM_BASE(&trackfld_scroll2)
AM_RANGE(0x1c60, 0x1fff) AM_RAM
AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0x3000, 0x37ff) AM_RAM_WRITE(trackfld_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x3800, 0x3fff) AM_RAM_WRITE(trackfld_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x3000, 0x37ff) AM_RAM_WRITE(trackfld_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x3800, 0x3fff) AM_RAM_WRITE(trackfld_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x6000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -142,16 +142,16 @@ static ADDRESS_MAP_START( reaktor_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x9281, 0x9281) AM_READ_PORT("IN0")
AM_RANGE(0x9282, 0x9282) AM_READ_PORT("IN1")
AM_RANGE(0x9283, 0x9283) AM_READ_PORT("DSW1")
- AM_RANGE(0x9800, 0x983f) AM_RAM AM_BASE(&spriteram_2)
+ AM_RANGE(0x9800, 0x983f) AM_RAM AM_BASE_GENERIC(spriteram2)
AM_RANGE(0x9840, 0x985f) AM_RAM AM_BASE(&trackfld_scroll)
AM_RANGE(0x9860, 0x9bff) AM_RAM
- AM_RANGE(0x9c00, 0x9c3f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x9c00, 0x9c3f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x9c40, 0x9c5f) AM_RAM AM_BASE(&trackfld_scroll2)
AM_RANGE(0x9c60, 0x9fff) AM_RAM
AM_RANGE(0xa800, 0xabff) AM_RAM
AM_RANGE(0xac00, 0xafff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0xb000, 0xb7ff) AM_RAM_WRITE(trackfld_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xb800, 0xbfff) AM_RAM_WRITE(trackfld_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0xb000, 0xb7ff) AM_RAM_WRITE(trackfld_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xb800, 0xbfff) AM_RAM_WRITE(trackfld_colorram_w) AM_BASE_GENERIC(colorram)
ADDRESS_MAP_END
/* Reaktor reads / writes some I/O ports, no idea what they're connected to, if anything */
@@ -175,16 +175,16 @@ static ADDRESS_MAP_START( mastkin_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1281, 0x1281) AM_READ_PORT("IN0")
// AM_RANGE(0x1282, 0x1282) AM_READ_PORT("IN1") /* unused */
AM_RANGE(0x1283, 0x1283) AM_READ_PORT("DSW1")
- AM_RANGE(0x1800, 0x183f) AM_RAM AM_BASE(&spriteram_2)
+ AM_RANGE(0x1800, 0x183f) AM_RAM AM_BASE_GENERIC(spriteram2)
AM_RANGE(0x1840, 0x185f) AM_RAM AM_BASE(&trackfld_scroll)
AM_RANGE(0x1860, 0x1bff) AM_RAM
- AM_RANGE(0x1c00, 0x1c3f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x1c00, 0x1c3f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x1c40, 0x1c5f) AM_RAM AM_BASE(&trackfld_scroll2)
AM_RANGE(0x1c60, 0x1fff) AM_RAM
AM_RANGE(0x2800, 0x2bff) AM_RAM
AM_RANGE(0x2c00, 0x2fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0x3000, 0x37ff) AM_RAM_WRITE(trackfld_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x3800, 0x3fff) AM_RAM_WRITE(trackfld_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x3000, 0x37ff) AM_RAM_WRITE(trackfld_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x3800, 0x3fff) AM_RAM_WRITE(trackfld_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x6000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -201,16 +201,16 @@ static ADDRESS_MAP_START( wizzquiz_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1281, 0x1281) AM_READ_PORT("IN0")
AM_RANGE(0x1282, 0x1282) AM_READ_PORT("IN1")
AM_RANGE(0x1283, 0x1283) AM_READ_PORT("DSW1")
- AM_RANGE(0x1800, 0x183f) AM_RAM AM_BASE(&spriteram_2)
+ AM_RANGE(0x1800, 0x183f) AM_RAM AM_BASE_GENERIC(spriteram2)
AM_RANGE(0x1840, 0x185f) AM_RAM AM_BASE(&trackfld_scroll)
AM_RANGE(0x1860, 0x1bff) AM_RAM
- AM_RANGE(0x1c00, 0x1c3f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x1c00, 0x1c3f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x1c40, 0x1c5f) AM_RAM AM_BASE(&trackfld_scroll2)
AM_RANGE(0x1c60, 0x1fff) AM_RAM
AM_RANGE(0x2800, 0x2bff) AM_RAM
AM_RANGE(0x2c00, 0x2fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0x3000, 0x37ff) AM_READ(SMH_RAM) AM_WRITE(trackfld_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x3800, 0x3fff) AM_READ(SMH_RAM) AM_WRITE(trackfld_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x3000, 0x37ff) AM_READ(SMH_RAM) AM_WRITE(trackfld_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x3800, 0x3fff) AM_READ(SMH_RAM) AM_WRITE(trackfld_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0xc000, 0xc000) AM_WRITE(questions_bank_w)
AM_RANGE(0x6000, 0xdfff) AM_READ(SMH_BANK(1))
AM_RANGE(0xe000, 0xffff) AM_ROM
diff --git a/src/mame/drivers/travrusa.c b/src/mame/drivers/travrusa.c
index 3e67611c160..0119d7d4234 100644
--- a/src/mame/drivers/travrusa.c
+++ b/src/mame/drivers/travrusa.c
@@ -57,7 +57,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0x8fff) AM_RAM_WRITE(travrusa_videoram_w) AM_BASE_MEMBER(irem_z80_state, videoram)
AM_RANGE(0x9000, 0x9000) AM_WRITE(travrusa_scroll_x_low_w)
AM_RANGE(0xa000, 0xa000) AM_WRITE(travrusa_scroll_x_high_w)
- AM_RANGE(0xc800, 0xc9ff) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xc800, 0xc9ff) AM_WRITE(SMH_RAM) AM_BASE_MEMBER(irem_z80_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xd000, 0xd000) AM_WRITE(irem_sound_cmd_w)
AM_RANGE(0xd001, 0xd001) AM_WRITE(travrusa_flipscreen_w) /* + coin counters - not written by shtrider */
AM_RANGE(0xd000, 0xd000) AM_READ_PORT("SYSTEM") /* IN0 */
diff --git a/src/mame/drivers/triplhnt.c b/src/mame/drivers/triplhnt.c
index abaa3986c33..bd3eb57bd53 100644
--- a/src/mame/drivers/triplhnt.c
+++ b/src/mame/drivers/triplhnt.c
@@ -23,8 +23,8 @@ static UINT8 triplhnt_hit_code;
static DRIVER_INIT( triplhnt )
{
- machine->generic.nvram.ptr.u8 = triplhnt_cmos;
- machine->generic.nvram.size = sizeof triplhnt_cmos;
+ machine->generic.nvram.u8 = triplhnt_cmos;
+ machine->generic.nvram_size = sizeof triplhnt_cmos;
}
diff --git a/src/mame/drivers/truco.c b/src/mame/drivers/truco.c
index 27ff6f9e428..7607be633f3 100644
--- a/src/mame/drivers/truco.c
+++ b/src/mame/drivers/truco.c
@@ -31,7 +31,7 @@ PALETTE_INIT( truco );
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x17ff) AM_RAM /* general purpose ram */
- AM_RANGE(0x1800, 0x7bff) AM_RAM AM_BASE(&videoram) /* video ram */
+ AM_RANGE(0x1800, 0x7bff) AM_RAM AM_BASE_GENERIC(videoram) /* video ram */
AM_RANGE(0x7c00, 0x7fff) AM_RAM AM_BASE(&battery_ram) /* battery backed ram */
AM_RANGE(0x8000, 0x8000) AM_READ_PORT("P1") AM_WRITENOP /* controls (and irq ack?) */
AM_RANGE(0x8001, 0x8001) AM_READWRITE(SMH_NOP, SMH_NOP) /* unknown */
diff --git a/src/mame/drivers/trucocl.c b/src/mame/drivers/trucocl.c
index 05f670b9049..8173faa97d0 100644
--- a/src/mame/drivers/trucocl.c
+++ b/src/mame/drivers/trucocl.c
@@ -88,8 +88,8 @@ static WRITE8_DEVICE_HANDLER( audio_dac_w )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
- AM_RANGE(0x4000, 0x43ff) AM_RAM_WRITE(trucocl_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x4400, 0x47ff) AM_RAM_WRITE(trucocl_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x4000, 0x43ff) AM_RAM_WRITE(trucocl_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x4400, 0x47ff) AM_RAM_WRITE(trucocl_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0x4c00, 0x4fff) AM_RAM
AM_RANGE(0x5000, 0x5000) AM_WRITE(irq_enable_w)
AM_RANGE(0x5000, 0x503f) AM_READ_PORT("IN0")
diff --git a/src/mame/drivers/trvmadns.c b/src/mame/drivers/trvmadns.c
index a14dec3e538..e519fc3ab4a 100644
--- a/src/mame/drivers/trvmadns.c
+++ b/src/mame/drivers/trvmadns.c
@@ -152,11 +152,11 @@ static WRITE8_HANDLER( trvmadns_palette_w )
{
int r, g, b;
- paletteram[offset] = data;
+ space->machine->generic.paletteram.u8[offset] = data;
- r = paletteram[offset & ~1] & 0xf;
- g = (paletteram[offset | 1] & 0xf0) >> 4;
- b = paletteram[offset | 1] & 0xf;
+ r = space->machine->generic.paletteram.u8[offset & ~1] & 0xf;
+ g = (space->machine->generic.paletteram.u8[offset | 1] & 0xf0) >> 4;
+ b = space->machine->generic.paletteram.u8[offset | 1] & 0xf;
palette_set_color_rgb(space->machine, offset >> 1, pal4bit(r), pal4bit(g), pal4bit(b));
}
@@ -202,7 +202,7 @@ static ADDRESS_MAP_START( cpu_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x7000, 0x7fff) AM_READ(SMH_BANK(2))
AM_RANGE(0x6000, 0x7fff) AM_WRITE(trvmadns_gfxram_w) AM_BASE(&trvmadns_gfxram)
AM_RANGE(0x8000, 0x87ff) AM_RAM
- AM_RANGE(0xc000, 0xc01f) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_le_w) AM_BASE(&paletteram)
+ AM_RANGE(0xc000, 0xc01f) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_le_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xa000, 0xbfff) AM_RAM_WRITE(trvmadns_tileram_w) AM_BASE(&trvmadns_tileram)
AM_RANGE(0xe000, 0xe000) AM_WRITE(w2)//NOP
AM_RANGE(0xe004, 0xe004) AM_WRITE(w3)//NOP
diff --git a/src/mame/drivers/tryout.c b/src/mame/drivers/tryout.c
index 37a822bc0f2..34b37e0b3b4 100644
--- a/src/mame/drivers/tryout.c
+++ b/src/mame/drivers/tryout.c
@@ -65,11 +65,11 @@ static WRITE8_HANDLER( tryout_bankswitch_w )
static ADDRESS_MAP_START( main_cpu, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x07ff) AM_RAM
- AM_RANGE(0x1000, 0x17ff) AM_RAM_WRITE(tryout_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x1000, 0x17ff) AM_RAM_WRITE(tryout_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x2000, 0x3fff) AM_ROMBANK(1)
AM_RANGE(0x4000, 0xbfff) AM_ROM
- AM_RANGE(0xc800, 0xc87f) AM_RAM AM_BASE(&spriteram)
- AM_RANGE(0xcc00, 0xcc7f) AM_RAM AM_BASE(&spriteram_2)
+ AM_RANGE(0xc800, 0xc87f) AM_RAM AM_BASE_GENERIC(spriteram)
+ AM_RANGE(0xcc00, 0xcc7f) AM_RAM AM_BASE_GENERIC(spriteram2)
AM_RANGE(0xd000, 0xd7ff) AM_READWRITE(tryout_vram_r, tryout_vram_w)
AM_RANGE(0xe000, 0xe000) AM_READ_PORT("DSW")
AM_RANGE(0xe001, 0xe001) AM_READ_PORT("P1")
diff --git a/src/mame/drivers/tsamurai.c b/src/mame/drivers/tsamurai.c
index 7d9e22b047c..02db81dee5a 100644
--- a/src/mame/drivers/tsamurai.c
+++ b/src/mame/drivers/tsamurai.c
@@ -142,11 +142,11 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd900, 0xd900) AM_READ(unknown_d900_r)
AM_RANGE(0xd938, 0xd938) AM_READ(unknown_d938_r)
- AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(tsamurai_fg_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xe400, 0xe43f) AM_RAM_WRITE(tsamurai_fg_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(tsamurai_fg_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xe400, 0xe43f) AM_RAM_WRITE(tsamurai_fg_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0xe440, 0xe7ff) AM_RAM
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(tsamurai_bg_videoram_w) AM_BASE(&tsamurai_videoram)
- AM_RANGE(0xf000, 0xf3ff) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0xf000, 0xf3ff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0xf400, 0xf400) AM_WRITENOP
AM_RANGE(0xf401, 0xf401) AM_WRITE(sound_command1_w)
@@ -175,11 +175,11 @@ static ADDRESS_MAP_START( m660_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd900, 0xd900) AM_READ(unknown_d900_r)
AM_RANGE(0xd938, 0xd938) AM_READ(unknown_d938_r)
- AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(tsamurai_fg_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xe400, 0xe43f) AM_RAM_WRITE(tsamurai_fg_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(tsamurai_fg_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xe400, 0xe43f) AM_RAM_WRITE(tsamurai_fg_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0xe440, 0xe7ff) AM_RAM
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(tsamurai_bg_videoram_w) AM_BASE(&tsamurai_videoram)
- AM_RANGE(0xf000, 0xf3ff) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0xf000, 0xf3ff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0xf400, 0xf400) AM_WRITENOP/* This is always written with F401, F402 & F403 data */
AM_RANGE(0xf401, 0xf401) AM_WRITE(sound_command3_w)
@@ -335,8 +335,8 @@ static ADDRESS_MAP_START( vsgongf_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xa006, 0xa006) AM_READ(vsgongf_a006_r) /* protection */
AM_RANGE(0xa100, 0xa100) AM_READ(vsgongf_a100_r) /* protection */
AM_RANGE(0xc000, 0xc7ff) AM_RAM /* work ram */
- AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(tsamurai_fg_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xe400, 0xe43f) AM_RAM AM_BASE(&spriteram)
+ AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(tsamurai_fg_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xe400, 0xe43f) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0xe440, 0xe47b) AM_RAM
AM_RANGE(0xe800, 0xe800) AM_WRITE(vsgongf_sound_command_w)
AM_RANGE(0xec00, 0xec06) AM_WRITE(SMH_RAM)
diff --git a/src/mame/drivers/tumbleb.c b/src/mame/drivers/tumbleb.c
index 3034f6dbff1..ae9cf33eb12 100644
--- a/src/mame/drivers/tumbleb.c
+++ b/src/mame/drivers/tumbleb.c
@@ -669,8 +669,8 @@ static ADDRESS_MAP_START( tumblepopb_main_map, ADDRESS_SPACE_PROGRAM, 16 )
#endif
AM_RANGE(0x100000, 0x100001) AM_READ(tumblepb_prot_r) AM_DEVWRITE("oki", tumblepb_oki_w)
AM_RANGE(0x120000, 0x123fff) AM_RAM AM_BASE(&tumblepb_mainram)
- AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* Bootleg sprite buffer */
+ AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Bootleg sprite buffer */
AM_RANGE(0x160800, 0x160807) AM_WRITE(SMH_RAM) /* writes past the end of spriteram */
AM_RANGE(0x180000, 0x18000f) AM_READ(tumblepopb_controls_r)
AM_RANGE(0x18000c, 0x18000d) AM_WRITENOP
@@ -693,8 +693,8 @@ static ADDRESS_MAP_START( fncywld_main_map, ADDRESS_SPACE_PROGRAM, 16 )
#endif
AM_RANGE(0x100000, 0x100003) AM_DEVREADWRITE8("ymsnd", ym2151_r, ym2151_w, 0x00ff)
AM_RANGE(0x100004, 0x100005) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
- AM_RANGE(0x140000, 0x140fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* sprites */
+ AM_RANGE(0x140000, 0x140fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* sprites */
AM_RANGE(0x160800, 0x16080f) AM_WRITE(SMH_RAM) /* goes slightly past the end of spriteram? */
AM_RANGE(0x180000, 0x18000f) AM_READ(tumblepopb_controls_r)
AM_RANGE(0x18000c, 0x18000d) AM_WRITENOP
@@ -720,8 +720,8 @@ static ADDRESS_MAP_START( htchctch_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x100000, 0x100001) AM_WRITE(semicom_soundcmd_w)
AM_RANGE(0x100002, 0x100003) AM_WRITE(bcstory_tilebank_w)
AM_RANGE(0x120000, 0x123fff) AM_RAM AM_BASE(&tumblepb_mainram)
- AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0x160000, 0x160fff) AM_RAM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* Bootleg sprite buffer */
+ AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x160000, 0x160fff) AM_RAM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram) /* Bootleg sprite buffer */
AM_RANGE(0x180000, 0x18000f) AM_READ(tumblepopb_controls_r)
AM_RANGE(0x18000c, 0x18000d) AM_WRITENOP
AM_RANGE(0x1a0000, 0x1a0fff) AM_RAM
@@ -735,8 +735,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( jumppop_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x120000, 0x123fff) AM_RAM AM_BASE(&tumblepb_mainram)
- AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0x160000, 0x160fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* Bootleg sprite buffer */
+ AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x160000, 0x160fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Bootleg sprite buffer */
AM_RANGE(0x180000, 0x180001) AM_NOP /* IRQ ack? */
AM_RANGE(0x180002, 0x180003) AM_READ_PORT("PLAYERS")
AM_RANGE(0x180004, 0x180005) AM_READ_PORT("SYSTEM")
@@ -757,11 +757,11 @@ static WRITE16_HANDLER( jumpkids_sound_w )
static ADDRESS_MAP_START( suprtrio_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x700000, 0x700fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x700000, 0x700fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xa00000, 0xa0000f) AM_RAM AM_BASE(&suprtrio_control)
AM_RANGE(0xa20000, 0xa20fff) AM_RAM_WRITE(tumblepb_pf1_data_w) AM_BASE(&tumblepb_pf1_data)
AM_RANGE(0xa22000, 0xa22fff) AM_RAM_WRITE(tumblepb_pf2_data_w) AM_BASE(&tumblepb_pf2_data)
- AM_RANGE(0xcf0000, 0xcf05ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xcf0000, 0xcf05ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xe00000, 0xe00001) AM_READ_PORT("PLAYERS") AM_WRITE(suprtrio_tilebank_w)
AM_RANGE(0xe40000, 0xe40001) AM_READ_PORT("SYSTEM")
AM_RANGE(0xe80002, 0xe80003) AM_READ_PORT("DSW")
@@ -772,8 +772,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( pangpang_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x120000, 0x123fff) AM_RAM AM_BASE(&tumblepb_mainram)
- AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* Bootleg sprite buffer */
+ AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Bootleg sprite buffer */
AM_RANGE(0x160800, 0x160807) AM_WRITE(SMH_RAM) // writes past the end of spriteram
AM_RANGE(0x180000, 0x18000f) AM_READ(tumblepopb_controls_r)
AM_RANGE(0x1a0000, 0x1a07ff) AM_RAM
@@ -855,8 +855,8 @@ static ADDRESS_MAP_START( jumpkids_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_WRITE(jumpkids_sound_w)
AM_RANGE(0x120000, 0x123fff) AM_RAM AM_BASE(&tumblepb_mainram)
- AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* Bootleg sprite buffer */
+ AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* Bootleg sprite buffer */
AM_RANGE(0x160800, 0x160807) AM_WRITE(SMH_RAM) /* writes past the end of spriteram */
AM_RANGE(0x180000, 0x18000f) AM_READ(tumblepopb_controls_r)
AM_RANGE(0x18000c, 0x18000d) AM_WRITENOP
diff --git a/src/mame/drivers/tumblep.c b/src/mame/drivers/tumblep.c
index b13d0f8dbee..ff2833faa67 100644
--- a/src/mame/drivers/tumblep.c
+++ b/src/mame/drivers/tumblep.c
@@ -113,10 +113,10 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
#endif
AM_RANGE(0x100000, 0x100001) AM_WRITE(tumblep_sound_w)
AM_RANGE(0x120000, 0x123fff) AM_RAM
- AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x180000, 0x18000f) AM_READ(tumblepop_controls_r)
AM_RANGE(0x18000c, 0x18000d) AM_WRITENOP
- AM_RANGE(0x1a0000, 0x1a07ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x1a0000, 0x1a07ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x300000, 0x30000f) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf12_control)
AM_RANGE(0x320000, 0x320fff) AM_RAM_WRITE(deco16_pf1_data_w) AM_BASE(&deco16_pf1_data)
AM_RANGE(0x322000, 0x322fff) AM_RAM_WRITE(deco16_pf2_data_w) AM_BASE(&deco16_pf2_data)
diff --git a/src/mame/drivers/tunhunt.c b/src/mame/drivers/tunhunt.c
index 9de91d4477c..fd0f296a49f 100644
--- a/src/mame/drivers/tunhunt.c
+++ b/src/mame/drivers/tunhunt.c
@@ -145,16 +145,16 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1080, 0x10ff) AM_WRITE(SMH_RAM)
AM_RANGE(0x1200, 0x12ff) AM_WRITE(SMH_RAM)
AM_RANGE(0x1400, 0x14ff) AM_WRITE(SMH_RAM)
- AM_RANGE(0x1600, 0x160f) AM_WRITE(SMH_RAM) AM_BASE(&paletteram) /* COLRAM (D7-D4 SHADE; D3-D0 COLOR) */
+ AM_RANGE(0x1600, 0x160f) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(paletteram) /* COLRAM (D7-D4 SHADE; D3-D0 COLOR) */
AM_RANGE(0x1800, 0x1800) AM_WRITE(SMH_RAM) /* SHEL0H */
AM_RANGE(0x1a00, 0x1a00) AM_WRITE(SMH_RAM) /* SHEL1H */
AM_RANGE(0x1c00, 0x1c00) AM_WRITE(SMH_RAM) /* MOBJV */
- AM_RANGE(0x1e00, 0x1eff) AM_WRITE(tunhunt_videoram_w) AM_BASE(&videoram) /* ALPHA */
+ AM_RANGE(0x1e00, 0x1eff) AM_WRITE(tunhunt_videoram_w) AM_BASE_GENERIC(videoram) /* ALPHA */
AM_RANGE(0x2000, 0x2000) AM_WRITENOP /* watchdog */
AM_RANGE(0x2000, 0x2007) AM_READ(tunhunt_button_r)
AM_RANGE(0x2400, 0x2400) AM_WRITENOP /* INT ACK */
AM_RANGE(0x2800, 0x2800) AM_WRITE(tunhunt_control_w)
- AM_RANGE(0x2c00, 0x2fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram)
+ AM_RANGE(0x2c00, 0x2fff) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(spriteram)
AM_RANGE(0x3000, 0x300f) AM_DEVREADWRITE("pokey1", pokey_r, pokey_w)
AM_RANGE(0x4000, 0x400f) AM_DEVREADWRITE("pokey2", pokey_r, pokey_w)
AM_RANGE(0x5000, 0x7fff) AM_READ(SMH_ROM)
diff --git a/src/mame/drivers/tutankhm.c b/src/mame/drivers/tutankhm.c
index e483225eb48..e34c3139958 100644
--- a/src/mame/drivers/tutankhm.c
+++ b/src/mame/drivers/tutankhm.c
@@ -101,8 +101,8 @@ static WRITE8_HANDLER( tutankhm_coin_counter_w )
*************************************/
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x7fff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0x8000, 0x800f) AM_MIRROR(0x00f0) AM_RAM AM_BASE(&paletteram)
+ AM_RANGE(0x0000, 0x7fff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x8000, 0x800f) AM_MIRROR(0x00f0) AM_RAM AM_BASE_GENERIC(paletteram)
AM_RANGE(0x8100, 0x8100) AM_MIRROR(0x000f) AM_RAM AM_BASE(&tutankhm_scroll)
AM_RANGE(0x8120, 0x8120) AM_MIRROR(0x000f) AM_READ(watchdog_reset_r)
AM_RANGE(0x8160, 0x8160) AM_MIRROR(0x000f) AM_READ_PORT("DSW2") /* DSW2 (inverted bits) */
diff --git a/src/mame/drivers/twin16.c b/src/mame/drivers/twin16.c
index 5e0aba3a1be..debb5402a2f 100644
--- a/src/mame/drivers/twin16.c
+++ b/src/mame/drivers/twin16.c
@@ -83,12 +83,12 @@ int twin16_spriteram_process_enable( void )
static READ16_HANDLER( videoram16_r )
{
- return videoram16[offset];
+ return space->machine->generic.videoram.u16[offset];
}
static WRITE16_HANDLER( videoram16_w )
{
- COMBINE_DATA(videoram16 + offset);
+ COMBINE_DATA(space->machine->generic.videoram.u16 + offset);
}
static READ16_HANDLER( extra_rom_r )
@@ -242,7 +242,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x040000, 0x043fff) AM_READWRITE(COMRAM_r, COMRAM_w)
// AM_RANGE(0x044000, 0x04ffff) AM_NOP // miaj
AM_RANGE(0x060000, 0x063fff) AM_RAM
- AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(twin16_paletteram_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(twin16_paletteram_word_w) AM_BASE_GENERIC(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)
@@ -254,8 +254,8 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0c000e, 0x0c000f) AM_READ(twin16_sprite_status_r)
AM_RANGE(0x100000, 0x103fff) AM_RAM_WRITE(twin16_text_ram_w) AM_BASE(&twin16_text_ram)
// AM_RANGE(0x104000, 0x105fff) AM_NOP // miaj
- AM_RANGE(0x120000, 0x123fff) AM_RAM AM_BASE(&videoram16)
- AM_RANGE(0x140000, 0x143fff) AM_RAM AM_SHARE(1) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x120000, 0x123fff) AM_RAM AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x140000, 0x143fff) AM_RAM AM_SHARE(1) AM_BASE_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sub_map, ADDRESS_SPACE_PROGRAM, 16 )
@@ -277,7 +277,7 @@ static ADDRESS_MAP_START( fround_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x043fff) AM_READWRITE(COMRAM_r, COMRAM_w)
AM_RANGE(0x060000, 0x063fff) AM_RAM
- AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(twin16_paletteram_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(twin16_paletteram_word_w) AM_BASE_GENERIC(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)
@@ -286,8 +286,8 @@ static ADDRESS_MAP_START( fround_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0c000e, 0x0c000f) AM_READ(twin16_sprite_status_r)
AM_RANGE(0x0e0000, 0x0e0001) AM_WRITE(fround_gfx_bank_w)
AM_RANGE(0x100000, 0x103fff) AM_RAM_WRITE(twin16_text_ram_w) AM_BASE(&twin16_text_ram)
- AM_RANGE(0x120000, 0x123fff) AM_RAM AM_BASE(&videoram16)
- AM_RANGE(0x140000, 0x143fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x120000, 0x123fff) AM_RAM AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x140000, 0x143fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x500000, 0x6fffff) AM_READ(twin16_gfx_rom1_r)
ADDRESS_MAP_END
@@ -1332,8 +1332,8 @@ static DRIVER_INIT( cuebrickj )
{
gfx_untangle(machine);
- machine->generic.nvram.ptr.u8 = (UINT8 *)cuebrickj_nvram;
- machine->generic.nvram.size = 0x400*0x20;
+ machine->generic.nvram.u8 = (UINT8 *)cuebrickj_nvram;
+ machine->generic.nvram_size = 0x400*0x20;
}
/* Game Drivers */
diff --git a/src/mame/drivers/twincobr.c b/src/mame/drivers/twincobr.c
index 59c9defa4c9..5fcc84a2169 100644
--- a/src/mame/drivers/twincobr.c
+++ b/src/mame/drivers/twincobr.c
@@ -203,8 +203,8 @@ Shark Zame
static ADDRESS_MAP_START( main_program_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x02ffff) AM_ROM
AM_RANGE(0x030000, 0x033fff) AM_RAM /* 68K and DSP shared RAM */
- AM_RANGE(0x040000, 0x040fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0x050000, 0x050dff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x040000, 0x040fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x050000, 0x050dff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x060000, 0x060001) AM_WRITE(twincobr_crtc_reg_sel_w) /* 6845 CRT controller */
AM_RANGE(0x060002, 0x060003) AM_WRITE(twincobr_crtc_data_w) /* 6845 CRT controller */
AM_RANGE(0x070000, 0x070003) AM_WRITE(twincobr_txscroll_w) /* text layer scroll */
diff --git a/src/mame/drivers/ultraman.c b/src/mame/drivers/ultraman.c
index 3e91b912d65..a8be39d6b7b 100644
--- a/src/mame/drivers/ultraman.c
+++ b/src/mame/drivers/ultraman.c
@@ -115,7 +115,7 @@ static WRITE16_HANDLER( sound_irq_trigger_w )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x08ffff) AM_RAM
- AM_RANGE(0x180000, 0x183fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)/* Palette */
+ AM_RANGE(0x180000, 0x183fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(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/ultratnk.c b/src/mame/drivers/ultratnk.c
index d3969eee6ea..6880205648e 100644
--- a/src/mame/drivers/ultratnk.c
+++ b/src/mame/drivers/ultratnk.c
@@ -70,7 +70,7 @@ static MACHINE_RESET( ultratnk )
static READ8_HANDLER( ultratnk_wram_r )
{
- return videoram[0x380 + offset];
+ return space->machine->generic.videoram.u8[0x380 + offset];
}
@@ -96,7 +96,7 @@ static READ8_HANDLER( ultratnk_options_r )
static WRITE8_HANDLER( ultratnk_wram_w )
{
- videoram[0x380 + offset] = data;
+ space->machine->generic.videoram.u8[0x380 + offset] = data;
}
@@ -152,7 +152,7 @@ static ADDRESS_MAP_START( ultratnk_cpu_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x700) AM_RAM
AM_RANGE(0x0080, 0x00ff) AM_MIRROR(0x700) AM_READWRITE(ultratnk_wram_r, ultratnk_wram_w)
- AM_RANGE(0x0800, 0x0bff) AM_MIRROR(0x400) AM_RAM_WRITE(ultratnk_video_ram_w) AM_BASE(&videoram)
+ AM_RANGE(0x0800, 0x0bff) AM_MIRROR(0x400) AM_RAM_WRITE(ultratnk_video_ram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x1000, 0x17ff) AM_READ_PORT("IN0")
AM_RANGE(0x1800, 0x1fff) AM_READ_PORT("IN1")
diff --git a/src/mame/drivers/ultrsprt.c b/src/mame/drivers/ultrsprt.c
index 1c0206d58c9..fd0d08a52a2 100644
--- a/src/mame/drivers/ultrsprt.c
+++ b/src/mame/drivers/ultrsprt.c
@@ -45,8 +45,8 @@ static VIDEO_UPDATE( ultrsprt )
static WRITE32_HANDLER( palette_w )
{
- COMBINE_DATA(&paletteram32[offset]);
- data = paletteram32[offset];
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
+ data = space->machine->generic.paletteram.u32[offset];
palette_set_color(space->machine, (offset*2)+0, MAKE_RGB(pal5bit(data >> 26), pal5bit(data >> 21), pal5bit(data >> 16)));
palette_set_color(space->machine, (offset*2)+1, MAKE_RGB(pal5bit(data >> 10), pal5bit(data >> 5), pal5bit(data >> 0)));
@@ -104,7 +104,7 @@ static ADDRESS_MAP_START( ultrsprt_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x70000088, 0x7000008f) AM_READ(K056800_host_r)
AM_RANGE(0x700000e0, 0x700000e3) AM_WRITE(int_ack_w)
AM_RANGE(0x7f000000, 0x7f01ffff) AM_RAM AM_BASE(&workram)
- AM_RANGE(0x7f700000, 0x7f703fff) AM_RAM_WRITE(palette_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x7f700000, 0x7f703fff) AM_RAM_WRITE(palette_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x7f800000, 0x7f9fffff) AM_MIRROR(0x00600000) AM_ROM AM_REGION("user1", 0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/undrfire.c b/src/mame/drivers/undrfire.c
index 217a8f02bac..1414f501203 100644
--- a/src/mame/drivers/undrfire.c
+++ b/src/mame/drivers/undrfire.c
@@ -219,10 +219,10 @@ Extract a standard version of this
static WRITE32_HANDLER( color_ram_w )
{
int a,r,g,b;
- COMBINE_DATA(&paletteram32[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
{
- a = paletteram32[offset];
+ a = space->machine->generic.paletteram.u32[offset];
r = (a & 0xff0000) >> 16;
g = (a & 0xff00) >> 8;
b = (a & 0xff);
@@ -494,7 +494,7 @@ static WRITE32_HANDLER( cbombers_adc_w )
static ADDRESS_MAP_START( undrfire_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x200000, 0x21ffff) AM_RAM AM_BASE(&undrfire_ram)
- AM_RANGE(0x300000, 0x303fff) AM_RAM AM_BASE(&spriteram32) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x300000, 0x303fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
// AM_RANGE(0x304000, 0x304003) AM_RAM // debugging - doesn't change ???
// AM_RANGE(0x304400, 0x304403) AM_RAM // debugging - doesn't change ???
AM_RANGE(0x400000, 0x400003) AM_WRITE(motor_control_w) /* gun vibration */
@@ -505,7 +505,7 @@ static ADDRESS_MAP_START( undrfire_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x830000, 0x83002f) AM_READWRITE(TC0480SCP_ctrl_long_r, TC0480SCP_ctrl_long_w)
AM_RANGE(0x900000, 0x90ffff) AM_READWRITE(TC0100SCN_long_r, TC0100SCN_long_w) /* piv tilemaps */
AM_RANGE(0x920000, 0x92000f) AM_READWRITE(TC0100SCN_ctrl_long_r, TC0100SCN_ctrl_long_w)
- AM_RANGE(0xa00000, 0xa0ffff) AM_RAM_WRITE(color_ram_w) AM_BASE(&paletteram32)
+ AM_RANGE(0xa00000, 0xa0ffff) AM_RAM_WRITE(color_ram_w) AM_BASE_GENERIC(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 */
@@ -515,7 +515,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( cbombers_cpua_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x200000, 0x21ffff) AM_RAM
- AM_RANGE(0x300000, 0x303fff) AM_RAM AM_BASE(&spriteram32) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x300000, 0x303fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x400000, 0x400003) AM_WRITE(cbombers_cpua_ctrl_w)
AM_RANGE(0x500000, 0x500007) AM_READWRITE(undrfire_input_r, undrfire_input_w)
AM_RANGE(0x600000, 0x600007) AM_READWRITE(cbombers_adc_r, cbombers_adc_w)
@@ -524,7 +524,7 @@ static ADDRESS_MAP_START( cbombers_cpua_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x830000, 0x83002f) AM_READWRITE(TC0480SCP_ctrl_long_r, TC0480SCP_ctrl_long_w)
AM_RANGE(0x900000, 0x90ffff) AM_READWRITE(TC0100SCN_long_r, TC0100SCN_long_w) /* piv tilemaps */
AM_RANGE(0x920000, 0x92000f) AM_READWRITE(TC0100SCN_ctrl_long_r, TC0100SCN_ctrl_long_w)
- AM_RANGE(0xa00000, 0xa0ffff) AM_RAM_WRITE(color_ram_w) AM_BASE(&paletteram32)
+ AM_RANGE(0xa00000, 0xa0ffff) AM_RAM_WRITE(color_ram_w) AM_BASE_GENERIC(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 166a0c97532..9bb9754ebeb 100644
--- a/src/mame/drivers/unico.c
+++ b/src/mame/drivers/unico.c
@@ -80,8 +80,8 @@ static ADDRESS_MAP_START( burglarx_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x908000, 0x90bfff) AM_RAM_WRITE(unico_vram_2_w) AM_BASE(&unico_vram_2 ) //
AM_RANGE(0x90c000, 0x90ffff) AM_RAM_WRITE(unico_vram_0_w) AM_BASE(&unico_vram_0 ) //
AM_RANGE(0x920000, 0x923fff) AM_RAM // ? 0
- AM_RANGE(0x930000, 0x9307ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size ) // Sprites
- AM_RANGE(0x940000, 0x947fff) AM_RAM_WRITE(unico_palette_w) AM_BASE(&paletteram16 ) // Palette
+ AM_RANGE(0x930000, 0x9307ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
+ AM_RANGE(0x940000, 0x947fff) AM_RAM_WRITE(unico_palette_w) AM_BASE_GENERIC(paletteram) // Palette
ADDRESS_MAP_END
@@ -175,8 +175,8 @@ static ADDRESS_MAP_START( zeropnt_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x908000, 0x90bfff) AM_RAM_WRITE(unico_vram_2_w) AM_BASE(&unico_vram_2 ) //
AM_RANGE(0x90c000, 0x90ffff) AM_RAM_WRITE(unico_vram_0_w) AM_BASE(&unico_vram_0 ) //
AM_RANGE(0x920000, 0x923fff) AM_RAM // ? 0
- AM_RANGE(0x930000, 0x9307ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size ) // Sprites
- AM_RANGE(0x940000, 0x947fff) AM_RAM_WRITE(unico_palette_w) AM_BASE(&paletteram16 ) // Palette
+ AM_RANGE(0x930000, 0x9307ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
+ AM_RANGE(0x940000, 0x947fff) AM_RAM_WRITE(unico_palette_w) AM_BASE_GENERIC(paletteram) // Palette
ADDRESS_MAP_END
@@ -250,8 +250,8 @@ static ADDRESS_MAP_START( zeropnt2_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x908000, 0x90bfff) AM_RAM_WRITE(unico_vram32_2_w) AM_BASE(&unico_vram32_2 ) //
AM_RANGE(0x90c000, 0x90ffff) AM_RAM_WRITE(unico_vram32_0_w) AM_BASE(&unico_vram32_0 ) //
AM_RANGE(0x920000, 0x923fff) AM_RAM // ? 0
- AM_RANGE(0x930000, 0x9307ff) AM_RAM AM_BASE(&spriteram32) AM_SIZE(&spriteram_size ) // Sprites
- AM_RANGE(0x940000, 0x947fff) AM_RAM_WRITE(unico_palette32_w) AM_BASE(&paletteram32 ) // Palette
+ AM_RANGE(0x930000, 0x9307ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) // Sprites
+ AM_RANGE(0x940000, 0x947fff) AM_RAM_WRITE(unico_palette32_w) AM_BASE_GENERIC(paletteram ) // Palette
AM_RANGE(0xfe0000, 0xffffff) AM_RAM // RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/upscope.c b/src/mame/drivers/upscope.c
index 17d062384bd..de19db72dfb 100644
--- a/src/mame/drivers/upscope.c
+++ b/src/mame/drivers/upscope.c
@@ -194,7 +194,7 @@ static WRITE8_DEVICE_HANDLER( upscope_cia_1_porta_w )
else if ((data & 5) == 1)
{
if (LOG_IO) logerror("NVRAM data write @ %02X = %02X\n", nvram_address_latch, parallel_data);
- device->machine->generic.nvram.ptr.u8[nvram_address_latch] = parallel_data;
+ device->machine->generic.nvram.u8[nvram_address_latch] = parallel_data;
}
/* if SEL == 0 && BUSY == 0, who knows? */
@@ -217,7 +217,7 @@ static WRITE8_DEVICE_HANDLER( upscope_cia_1_porta_w )
/* if SEL == 0, we read NVRAM */
else
{
- nvram_data_latch = device->machine->generic.nvram.ptr.u8[nvram_address_latch];
+ nvram_data_latch = device->machine->generic.nvram.u8[nvram_address_latch];
if (LOG_IO) logerror("NVRAM data read @ %02X = %02X\n", nvram_address_latch, nvram_data_latch);
}
}
@@ -387,8 +387,8 @@ static DRIVER_INIT( upscope )
amiga_machine_config(machine, &upscope_intf);
/* allocate NVRAM */
- machine->generic.nvram.size = 0x100;
- machine->generic.nvram.ptr.u8 = auto_alloc_array(machine, UINT8, machine->generic.nvram.size);
+ machine->generic.nvram_size = 0x100;
+ machine->generic.nvram.u8 = auto_alloc_array(machine, UINT8, machine->generic.nvram_size);
/* set up memory */
memory_configure_bank(machine, 1, 0, 1, amiga_chip_ram, 0);
diff --git a/src/mame/drivers/vamphalf.c b/src/mame/drivers/vamphalf.c
index a16a2664fde..9594345cc2a 100644
--- a/src/mame/drivers/vamphalf.c
+++ b/src/mame/drivers/vamphalf.c
@@ -122,12 +122,12 @@ static WRITE32_HANDLER( paletteram32_w )
{
UINT16 paldata;
- COMBINE_DATA(&paletteram32[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
- paldata = paletteram32[offset] & 0xffff;
+ paldata = space->machine->generic.paletteram.u32[offset] & 0xffff;
palette_set_color_rgb(space->machine, offset*2 + 1, pal5bit(paldata >> 10), pal5bit(paldata >> 5), pal5bit(paldata >> 0));
- paldata = (paletteram32[offset] >> 16) & 0xffff;
+ paldata = (space->machine->generic.paletteram.u32[offset] >> 16) & 0xffff;
palette_set_color_rgb(space->machine, offset*2 + 0, pal5bit(paldata >> 10), pal5bit(paldata >> 5), pal5bit(paldata >> 0));
}
@@ -211,14 +211,14 @@ static WRITE32_DEVICE_HANDLER( aoh_oki_bank_w )
static ADDRESS_MAP_START( common_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x00000000, 0x001fffff) AM_RAM AM_BASE(&wram)
AM_RANGE(0x40000000, 0x4003ffff) AM_RAM AM_BASE(&tiles)
- AM_RANGE(0x80000000, 0x8000ffff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x80000000, 0x8000ffff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xfff00000, 0xffffffff) AM_ROM AM_REGION("user1",0)
ADDRESS_MAP_END
static ADDRESS_MAP_START( common_32bit_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x00000000, 0x001fffff) AM_RAM AM_BASE(&wram32)
AM_RANGE(0x40000000, 0x4003ffff) AM_RAM AM_BASE(&tiles32)
- AM_RANGE(0x80000000, 0x8000ffff) AM_RAM_WRITE(paletteram32_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x80000000, 0x8000ffff) AM_RAM_WRITE(paletteram32_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xfff00000, 0xffffffff) AM_ROM AM_REGION("user1",0)
ADDRESS_MAP_END
@@ -305,7 +305,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( aoh_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x00000000, 0x003fffff) AM_RAM AM_BASE(&wram32)
AM_RANGE(0x40000000, 0x4003ffff) AM_RAM AM_BASE(&tiles32)
- AM_RANGE(0x80000000, 0x8000ffff) AM_RAM_WRITE(paletteram32_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x80000000, 0x8000ffff) AM_RAM_WRITE(paletteram32_w) AM_BASE_GENERIC(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 bfa0b981275..493b77972fb 100644
--- a/src/mame/drivers/vaportra.c
+++ b/src/mame/drivers/vaportra.c
@@ -62,11 +62,11 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x280000, 0x281fff) AM_RAM_WRITE(deco16_pf1_data_w) AM_BASE(&deco16_pf1_data)
AM_RANGE(0x282000, 0x283fff) AM_RAM_WRITE(deco16_pf2_data_w) AM_BASE(&deco16_pf2_data)
AM_RANGE(0x2c0000, 0x2c000f) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf12_control)
- AM_RANGE(0x300000, 0x3009ff) AM_RAM_WRITE(vaportra_palette_24bit_rg_w) AM_BASE(&paletteram16)
- AM_RANGE(0x304000, 0x3049ff) AM_RAM_WRITE(vaportra_palette_24bit_b_w) AM_BASE(&paletteram16_2)
+ AM_RANGE(0x300000, 0x3009ff) AM_RAM_WRITE(vaportra_palette_24bit_rg_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x304000, 0x3049ff) AM_RAM_WRITE(vaportra_palette_24bit_b_w) AM_BASE_GENERIC(paletteram2)
AM_RANGE(0x308000, 0x308001) AM_NOP
AM_RANGE(0x30c000, 0x30c001) AM_WRITE(buffer_spriteram16_w)
- AM_RANGE(0xff8000, 0xff87ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xff8000, 0xff87ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xffc000, 0xffffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/vastar.c b/src/mame/drivers/vastar.c
index 6967b9b49c1..487c186b2ce 100644
--- a/src/mame/drivers/vastar.c
+++ b/src/mame/drivers/vastar.c
@@ -128,11 +128,11 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xf100, 0xf7ff) AM_RAM
/* in hidden portions of video RAM: (fallthrough) */
- AM_RANGE(0xc400, 0xc43f) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size) /* actually c410-c41f and c430-c43f */
+ AM_RANGE(0xc400, 0xc43f) AM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram) /* actually c410-c41f and c430-c43f */
AM_RANGE(0xc7c0, 0xc7df) AM_WRITE(SMH_RAM) AM_BASE(&vastar_bg1_scroll)
AM_RANGE(0xc7e0, 0xc7ff) AM_WRITE(SMH_RAM) AM_BASE(&vastar_bg2_scroll)
- AM_RANGE(0xc800, 0xc83f) AM_WRITE(SMH_RAM) AM_BASE(&spriteram_2) /* actually c810-c81f and c830-c83f */
- AM_RANGE(0xcc00, 0xcc3f) AM_WRITE(SMH_RAM) AM_BASE(&spriteram_3) /* actually cc10-cc1f and cc30-cc3f */
+ AM_RANGE(0xc800, 0xc83f) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(spriteram2) /* actually c810-c81f and c830-c83f */
+ AM_RANGE(0xcc00, 0xcc3f) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(spriteram3) /* actually cc10-cc1f and cc30-cc3f */
ADDRESS_MAP_END
static ADDRESS_MAP_START( main_port_map, ADDRESS_SPACE_IO, 8 )
diff --git a/src/mame/drivers/vball.c b/src/mame/drivers/vball.c
index 4c4d91ac5bc..5c9b4fe0bc5 100644
--- a/src/mame/drivers/vball.c
+++ b/src/mame/drivers/vball.c
@@ -209,7 +209,7 @@ static WRITE8_HANDLER(vb_scrollx_lo_w)
//Cheaters note: Scores are stored in ram @ 0x57-0x58 (though the space is used for other things between matches)
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x07ff) AM_RAM
- AM_RANGE(0x0800, 0x08ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x0800, 0x08ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x1000, 0x1000) AM_READ_PORT("P1")
AM_RANGE(0x1001, 0x1001) AM_READ_PORT("P2")
AM_RANGE(0x1002, 0x1002) AM_READ_PORT("SYSTEM")
diff --git a/src/mame/drivers/vegaeo.c b/src/mame/drivers/vegaeo.c
index 2f310c38a93..701b55a75b4 100644
--- a/src/mame/drivers/vegaeo.c
+++ b/src/mame/drivers/vegaeo.c
@@ -61,9 +61,9 @@ static WRITE32_HANDLER( vega_palette_w )
{
UINT16 paldata;
- COMBINE_DATA(&paletteram32[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
- paldata = paletteram32[offset] & 0x7fff;
+ paldata = space->machine->generic.paletteram.u32[offset] & 0x7fff;
palette_set_color_rgb(space->machine, offset, pal5bit(paldata >> 10), pal5bit(paldata >> 5), pal5bit(paldata >> 0));
}
@@ -85,7 +85,7 @@ static ADDRESS_MAP_START( vega_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x00000000, 0x001fffff) AM_RAM
AM_RANGE(0x80000000, 0x80013fff) AM_READWRITE(vega_vram_r, vega_vram_w)
AM_RANGE(0xfc000000, 0xfc0000ff) AM_DEVREADWRITE8("at28c16", at28c16_r, at28c16_w, 0x000000ff)
- AM_RANGE(0xfc200000, 0xfc2003ff) AM_RAM_WRITE(vega_palette_w) AM_BASE(&paletteram32)
+ AM_RANGE(0xfc200000, 0xfc2003ff) AM_RAM_WRITE(vega_palette_w) AM_BASE_GENERIC(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 f4c7dc1cefc..26c21b0e070 100644
--- a/src/mame/drivers/vendetta.c
+++ b/src/mame/drivers/vendetta.c
@@ -211,7 +211,7 @@ static void vendetta_video_banking( running_machine *machine, int select )
{
memory_install_readwrite8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), video_banking_base + 0x2000, video_banking_base + 0x2fff, 0, 0, (read8_space_func)SMH_BANK(4), paletteram_xBBBBBGGGGGRRRRR_be_w );
memory_install_readwrite8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), video_banking_base + 0x0000, video_banking_base + 0x0fff, 0, 0, K053247_r, K053247_w );
- memory_set_bankptr(machine, 4, paletteram);
+ memory_set_bankptr(machine, 4, machine->generic.paletteram.v);
}
else
{
@@ -703,7 +703,7 @@ static MACHINE_RESET( vendetta )
{
konami_configure_set_lines(cputag_get_cpu(machine, "maincpu"), vendetta_banking);
- paletteram = &memory_region(machine, "maincpu")[0x48000];
+ machine->generic.paletteram.u8 = &memory_region(machine, "maincpu")[0x48000];
irq_enabled = 0;
/* init banks */
diff --git a/src/mame/drivers/vigilant.c b/src/mame/drivers/vigilant.c
index 2210828cd3a..0217ed7885d 100644
--- a/src/mame/drivers/vigilant.c
+++ b/src/mame/drivers/vigilant.c
@@ -74,9 +74,9 @@ static WRITE8_HANDLER( kikcubic_coin_w )
static ADDRESS_MAP_START( vigilant_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0xbfff) AM_READ(SMH_BANK(1)) /* Fallthrough */
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0xc020, 0xc0df) AM_RAM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(vigilant_paletteram_w) AM_BASE(&paletteram)
- AM_RANGE(0xd000, 0xdfff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xc020, 0xc0df) AM_RAM_WRITE(SMH_RAM) AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(vigilant_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xd000, 0xdfff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0xe000, 0xefff) AM_RAM
ADDRESS_MAP_END
@@ -95,9 +95,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( kikcubic_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0xbfff) AM_READ(SMH_BANK(1)) /* Fallthrough */
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0xc000, 0xc0ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0xc800, 0xcaff) AM_RAM_WRITE(vigilant_paletteram_w) AM_BASE(&paletteram)
- AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(SMH_RAM) AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xc000, 0xc0ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0xc800, 0xcaff) AM_RAM_WRITE(vigilant_paletteram_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(SMH_RAM) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(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 f55eae52ae9..e387a80ecf2 100644
--- a/src/mame/drivers/vindictr.c
+++ b/src/mame/drivers/vindictr.c
@@ -86,7 +86,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x360010, 0x360011) AM_WRITENOP
AM_RANGE(0x360020, 0x360021) AM_WRITE(atarigen_sound_reset_w)
AM_RANGE(0x360030, 0x360031) AM_WRITE(atarigen_sound_w)
- AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_WRITE(vindictr_paletteram_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_WRITE(vindictr_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x3f0000, 0x3f1fff) AM_MIRROR(0x8000) AM_RAM_WRITE(atarigen_playfield_w) AM_BASE(&atarigen_playfield)
AM_RANGE(0x3f2000, 0x3f3fff) AM_MIRROR(0x8000) AM_RAM_WRITE(atarimo_0_spriteram_w) AM_BASE(&atarimo_0_spriteram)
AM_RANGE(0x3f4000, 0x3f4f7f) AM_MIRROR(0x8000) AM_RAM_WRITE(atarigen_alpha_w) AM_BASE(&atarigen_alpha)
diff --git a/src/mame/drivers/vmetal.c b/src/mame/drivers/vmetal.c
index 6d4466ac566..4fd843e7744 100644
--- a/src/mame/drivers/vmetal.c
+++ b/src/mame/drivers/vmetal.c
@@ -221,8 +221,8 @@ static ADDRESS_MAP_START( varia_program_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x160000, 0x16ffff) AM_READ(varia_crom_read) // cgrom read window ..
- AM_RANGE(0x170000, 0x173fff) AM_READWRITE(SMH_RAM,paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE(&paletteram16 ) // Palette
- AM_RANGE(0x174000, 0x174fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x170000, 0x173fff) AM_READWRITE(SMH_RAM,paletteram16_GGGGGRRRRRBBBBBx_word_w) AM_BASE_GENERIC(paletteram) // Palette
+ AM_RANGE(0x174000, 0x174fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x175000, 0x177fff) AM_RAM
AM_RANGE(0x178000, 0x1787ff) AM_RAM AM_BASE(&vmetal_tlookup)
AM_RANGE(0x178800, 0x1796ff) AM_RAM AM_BASE(&vmetal_videoregs)
diff --git a/src/mame/drivers/volfied.c b/src/mame/drivers/volfied.c
index 6b5564cd15f..845f8aec4ae 100644
--- a/src/mame/drivers/volfied.c
+++ b/src/mame/drivers/volfied.c
@@ -77,7 +77,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x100000, 0x103fff) AM_RAM /* main */
AM_RANGE(0x200000, 0x203fff) AM_READWRITE(PC090OJ_word_0_r, PC090OJ_word_0_w)
AM_RANGE(0x400000, 0x47ffff) AM_READWRITE(volfied_video_ram_r, volfied_video_ram_w)
- AM_RANGE(0x500000, 0x503fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x500000, 0x503fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x600000, 0x600001) AM_WRITE(volfied_video_mask_w)
AM_RANGE(0x700000, 0x700001) AM_WRITE(volfied_sprite_ctrl_w)
AM_RANGE(0xd00000, 0xd00001) AM_READWRITE(volfied_video_ctrl_r, volfied_video_ctrl_w)
diff --git a/src/mame/drivers/vpoker.c b/src/mame/drivers/vpoker.c
index 2bff1ec7ac0..1a29020d9c3 100644
--- a/src/mame/drivers/vpoker.c
+++ b/src/mame/drivers/vpoker.c
@@ -84,7 +84,7 @@ mm74c920J/mmc6551j-9 x2
static VIDEO_START( vpoker )
{
- videoram = auto_alloc_array(machine, UINT8, 0x200);
+ machine->generic.videoram.u8 = auto_alloc_array(machine, UINT8, 0x200);
}
static VIDEO_UPDATE( vpoker )
@@ -98,7 +98,7 @@ static VIDEO_UPDATE( vpoker )
{
for (x=0;x<0x20;x++)
{
- int tile = videoram[count];
+ int tile = screen->machine->generic.videoram.u8[count];
//int colour = tile>>12;
drawgfx_opaque(bitmap,cliprect,gfx,tile,0,0,0,x*16,y*16);
@@ -129,7 +129,7 @@ static WRITE8_HANDLER( blitter_w )
blit_offs = (blit_ram[1] & 0x01)<<8|(blit_ram[2] & 0xff);
- videoram[blit_offs] = blit_ram[0];
+ space->machine->generic.videoram.u8[blit_offs] = blit_ram[0];
// printf("%02x %02x %02x %02x %02x %02x %02x %02x\n",blit_ram[0],blit_ram[1],blit_ram[2],blit_ram[3],blit_ram[4],blit_ram[5],blit_ram[6],blit_ram[7]);
}
}
diff --git a/src/mame/drivers/vroulet.c b/src/mame/drivers/vroulet.c
index a127c4d599a..db7be4a6401 100644
--- a/src/mame/drivers/vroulet.c
+++ b/src/mame/drivers/vroulet.c
@@ -52,13 +52,13 @@ static WRITE8_HANDLER(vroulet_paletteram_w)
*/
int i,j,a,b;
- paletteram[offset]=data;
+ space->machine->generic.paletteram.u8[offset]=data;
for(i=0;i<32;i++)
{
for(j=0;j<16;j++)
{
- a=paletteram[((i*8+j)*2)&0xff ];
- b=paletteram[((i*8+j)*2+1)&0xff ];
+ a=space->machine->generic.paletteram.u8[((i*8+j)*2)&0xff ];
+ b=space->machine->generic.paletteram.u8[((i*8+j)*2+1)&0xff ];
palette_set_color_rgb(space->machine,i*16+j,pal4bit(b),pal4bit(b>>4),pal4bit(a));
}
}
@@ -66,20 +66,20 @@ static WRITE8_HANDLER(vroulet_paletteram_w)
static WRITE8_HANDLER( vroulet_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
static WRITE8_HANDLER( vroulet_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
static TILE_GET_INFO( get_bg_tile_info )
{
- int attr = colorram[tile_index];
- int code = videoram[tile_index] + ((attr & 0xc0) << 2);
+ int attr = machine->generic.colorram.u8[tile_index];
+ int code = machine->generic.videoram.u8[tile_index] + ((attr & 0xc0) << 2);
int color = attr & 0x1f;
SET_TILE_INFO(0, code, color, 0);
@@ -105,10 +105,10 @@ static ADDRESS_MAP_START( vroulet_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
AM_RANGE(0x8000, 0x8000) AM_NOP
- AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(vroulet_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(vroulet_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(vroulet_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(vroulet_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0xa000, 0xa001) AM_RAM AM_BASE(&vroulet_ball)
- AM_RANGE(0xb000, 0xb0ff) AM_WRITE(vroulet_paletteram_w) AM_BASE(&paletteram)
+ AM_RANGE(0xb000, 0xb0ff) AM_WRITE(vroulet_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xc000, 0xc000) AM_NOP
ADDRESS_MAP_END
diff --git a/src/mame/drivers/vulgus.c b/src/mame/drivers/vulgus.c
index 8b6d3a8ec8b..88b2afca8c0 100644
--- a/src/mame/drivers/vulgus.c
+++ b/src/mame/drivers/vulgus.c
@@ -80,7 +80,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc804, 0xc804) AM_WRITE(vulgus_c804_w)
AM_RANGE(0xc805, 0xc805) AM_WRITE(vulgus_palette_bank_w)
AM_RANGE(0xc902, 0xc903) AM_RAM AM_BASE(&vulgus_scroll_high)
- AM_RANGE(0xcc00, 0xcc7f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xcc00, 0xcc7f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(vulgus_fgvideoram_w) AM_BASE(&vulgus_fgvideoram)
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(vulgus_bgvideoram_w) AM_BASE(&vulgus_bgvideoram)
AM_RANGE(0xe000, 0xefff) AM_RAM
diff --git a/src/mame/drivers/wallc.c b/src/mame/drivers/wallc.c
index 28404190674..c57af3a612e 100644
--- a/src/mame/drivers/wallc.c
+++ b/src/mame/drivers/wallc.c
@@ -117,13 +117,13 @@ static PALETTE_INIT( wallc )
static WRITE8_HANDLER( wallc_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
static TILE_GET_INFO( get_bg_tile_info )
{
- SET_TILE_INFO(0, videoram[tile_index] + 0x100, 1, 0);
+ SET_TILE_INFO(0, machine->generic.videoram.u8[tile_index] + 0x100, 1, 0);
}
static VIDEO_START( wallc )
@@ -144,7 +144,7 @@ static WRITE8_HANDLER( wallc_coin_counter_w )
static ADDRESS_MAP_START( wallc_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(wallc_videoram_w) AM_MIRROR(0xc00) AM_BASE(&videoram) /* 2114, 2114 */
+ AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(wallc_videoram_w) AM_MIRROR(0xc00) AM_BASE_GENERIC(videoram) /* 2114, 2114 */
AM_RANGE(0xa000, 0xa3ff) AM_RAM /* 2114, 2114 */
AM_RANGE(0xb000, 0xb000) AM_READ_PORT("DSW1")
diff --git a/src/mame/drivers/wardner.c b/src/mame/drivers/wardner.c
index 19561692f27..63ae91aceb3 100644
--- a/src/mame/drivers/wardner.c
+++ b/src/mame/drivers/wardner.c
@@ -169,7 +169,7 @@ static WRITE8_HANDLER( wardner_ramrom_bank_sw )
memory_set_bankptr(space->machine, 1, &RAM[0x0000]);
memory_set_bankptr(space->machine, 2, rambase_ae00);
memory_set_bankptr(space->machine, 3, rambase_c000);
- memory_set_bankptr(space->machine, 4, paletteram);
+ memory_set_bankptr(space->machine, 4, space->machine->generic.paletteram.v);
}
}
}
@@ -191,9 +191,9 @@ static ADDRESS_MAP_START( main_program_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0xffff) AM_READ(SMH_BANK(1)) /* Overlapped RAM/Banked ROM - See below */
- AM_RANGE(0x8000, 0x8fff) AM_WRITE(wardner_sprite_w) AM_BASE((void *)&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x8000, 0x8fff) AM_WRITE(wardner_sprite_w) AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x9000, 0x9fff) AM_ROM
- AM_RANGE(0xa000, 0xadff) AM_WRITE(paletteram_xBBBBBGGGGGRRRRR_le_w) AM_BASE(&paletteram)
+ AM_RANGE(0xa000, 0xadff) AM_WRITE(paletteram_xBBBBBGGGGGRRRRR_le_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xae00, 0xafff) AM_RAM AM_BASE(&rambase_ae00)
AM_RANGE(0xb000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_BASE(&rambase_c000) AM_SHARE(1) /* Shared RAM with Sound Z80 */
diff --git a/src/mame/drivers/warriorb.c b/src/mame/drivers/warriorb.c
index a60d58f139a..70beff1b0c2 100644
--- a/src/mame/drivers/warriorb.c
+++ b/src/mame/drivers/warriorb.c
@@ -224,7 +224,7 @@ static ADDRESS_MAP_START( darius2d_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x260000, 0x26000f) AM_READWRITE(TC0100SCN_ctrl_word_1_r, TC0100SCN_ctrl_word_1_w)
AM_RANGE(0x400000, 0x400007) AM_READWRITE(TC0110PCR_word_r, TC0110PCR_step1_word_w) /* palette (1st screen) */
AM_RANGE(0x420000, 0x420007) AM_READWRITE(TC0110PCR_word_1_r, TC0110PCR_step1_word_1_w) /* palette (2nd screen) */
- AM_RANGE(0x600000, 0x6013ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x600000, 0x6013ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x800000, 0x80000f) AM_READWRITE8(TC0220IOC_r, TC0220IOC_w, 0x00ff)
// AM_RANGE(0x820000, 0x820001) AM_WRITENOP // ???
AM_RANGE(0x830000, 0x830003) AM_READWRITE(warriorb_sound_r, warriorb_sound_w)
@@ -239,7 +239,7 @@ static ADDRESS_MAP_START( warriorb_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x360000, 0x36000f) AM_READWRITE(TC0100SCN_ctrl_word_1_r, TC0100SCN_ctrl_word_1_w)
AM_RANGE(0x400000, 0x400007) AM_READWRITE(TC0110PCR_word_r, TC0110PCR_step1_word_w) /* palette (1st screen) */
AM_RANGE(0x420000, 0x420007) AM_READWRITE(TC0110PCR_word_1_r, TC0110PCR_step1_word_1_w) /* palette (2nd screen) */
- AM_RANGE(0x600000, 0x6013ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x600000, 0x6013ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x800000, 0x80000f) AM_READWRITE(TC0510NIO_halfword_r, TC0510NIO_halfword_w)
// AM_RANGE(0x820000, 0x820001) AM_WRITENOP // ? uses bits 0,2,3
AM_RANGE(0x830000, 0x830003) AM_READWRITE(warriorb_sound_r, warriorb_sound_w)
diff --git a/src/mame/drivers/wc90.c b/src/mame/drivers/wc90.c
index b31fad031eb..7ad949fabaf 100644
--- a/src/mame/drivers/wc90.c
+++ b/src/mame/drivers/wc90.c
@@ -143,9 +143,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( wc90_map_2, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
- AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xd800, 0xdfff) AM_RAM
- AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_be_w) AM_BASE(&paletteram)
+ AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_be_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK(2)
AM_RANGE(0xf800, 0xfbff) AM_RAM AM_SHARE(1)
AM_RANGE(0xfc00, 0xfc00) AM_WRITE(wc90_bankswitch1_w)
diff --git a/src/mame/drivers/wc90b.c b/src/mame/drivers/wc90b.c
index ba532ea81de..23c768aefb7 100644
--- a/src/mame/drivers/wc90b.c
+++ b/src/mame/drivers/wc90b.c
@@ -179,9 +179,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( wc90b_map2, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
- AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xd800, 0xdfff) AM_RAM
- AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_be_w) AM_BASE(&paletteram)
+ AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_be_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xe800, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK(2)
AM_RANGE(0xf800, 0xfbff) AM_RAM AM_SHARE(1)
diff --git a/src/mame/drivers/wecleman.c b/src/mame/drivers/wecleman.c
index 89b954be45e..960d1de5e37 100644
--- a/src/mame/drivers/wecleman.c
+++ b/src/mame/drivers/wecleman.c
@@ -543,9 +543,9 @@ static ADDRESS_MAP_START( wecleman_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x080000, 0x080011) AM_RAM_WRITE(blitter_w) AM_BASE(&blitter_regs) // Blitter
AM_RANGE(0x100000, 0x103fff) AM_RAM_WRITE(wecleman_pageram_w) AM_BASE(&wecleman_pageram) // Background Layers
AM_RANGE(0x108000, 0x108fff) AM_RAM_WRITE(wecleman_txtram_w) AM_BASE(&wecleman_txtram) // Text Layer
- AM_RANGE(0x110000, 0x110fff) AM_RAM_WRITE(wecleman_paletteram16_SSSSBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x110000, 0x110fff) AM_RAM_WRITE(wecleman_paletteram16_SSSSBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x124000, 0x127fff) AM_RAM AM_SHARE(1) // Shared with main CPU
- AM_RANGE(0x130000, 0x130fff) AM_RAM AM_BASE(&spriteram16) // Sprites
+ AM_RANGE(0x130000, 0x130fff) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites
AM_RANGE(0x140000, 0x140001) AM_WRITE(wecleman_soundlatch_w) // To sound CPU
AM_RANGE(0x140002, 0x140003) AM_WRITE(selected_ip_w) // Selects accelerator / wheel / ..
AM_RANGE(0x140004, 0x140005) AM_WRITE(irqctrl_w) // Main CPU controls the other CPUs
@@ -604,9 +604,9 @@ static ADDRESS_MAP_START( hotchase_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x101000, 0x10101f) AM_WRITE(hotchase_K051316_ctrl_0_w) // Background Ctrl
AM_RANGE(0x102000, 0x102fff) AM_READWRITE(hotchase_K051316_1_r, hotchase_K051316_1_w) // Foreground
AM_RANGE(0x103000, 0x10301f) AM_WRITE(hotchase_K051316_ctrl_1_w) // Foreground Ctrl
- AM_RANGE(0x110000, 0x111fff) AM_RAM_WRITE(hotchase_paletteram16_SBGRBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x110000, 0x111fff) AM_RAM_WRITE(hotchase_paletteram16_SBGRBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x120000, 0x123fff) AM_RAM AM_SHARE(1) // Shared with sub CPU
- AM_RANGE(0x130000, 0x130fff) AM_RAM AM_BASE(&spriteram16) // Sprites
+ AM_RANGE(0x130000, 0x130fff) AM_RAM AM_BASE_GENERIC(spriteram) // Sprites
// Input Ports:
AM_RANGE(0x140000, 0x140001) AM_WRITE(hotchase_soundlatch_w) // To sound CPU
AM_RANGE(0x140002, 0x140003) AM_WRITE(selected_ip_w) // Selects accelerator / wheel /
diff --git a/src/mame/drivers/welltris.c b/src/mame/drivers/welltris.c
index 5c4c874fa0b..21c837c7522 100644
--- a/src/mame/drivers/welltris.c
+++ b/src/mame/drivers/welltris.c
@@ -371,7 +371,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xff8000, 0xffbfff) AM_RAM /* work */
AM_RANGE(0xffc000, 0xffc3ff) AM_RAM_WRITE(welltris_spriteram_w) AM_BASE(&welltris_spriteram) /* Sprite */
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE(welltris_charvideoram_w) AM_BASE(&welltris_charvideoram) /* Char */
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) /* Palette */
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) /* Palette */
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("P1") /* Bottom Controls */
AM_RANGE(0xfff000, 0xfff001) AM_WRITE(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 9edeab08639..736e32f8e87 100644
--- a/src/mame/drivers/wgp.c
+++ b/src/mame/drivers/wgp.c
@@ -663,13 +663,13 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300000, 0x30ffff) AM_READWRITE(TC0100SCN_word_0_r,TC0100SCN_word_0_w) /* tilemaps */
AM_RANGE(0x320000, 0x32000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r,TC0100SCN_ctrl_word_0_w)
AM_RANGE(0x400000, 0x40bfff) AM_RAM AM_BASE(&wgp_spritemap) AM_SIZE(&wgp_spritemap_size) /* sprite tilemaps */
- AM_RANGE(0x40c000, 0x40dfff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* sprite ram */
+ AM_RANGE(0x40c000, 0x40dfff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* sprite ram */
AM_RANGE(0x40fff0, 0x40fff1) AM_WRITENOP /* ?? (writes 0x8000 and 0 alternately - Wgp2 just 0) */
AM_RANGE(0x500000, 0x501fff) AM_RAM /* unknown/unused */
AM_RANGE(0x502000, 0x517fff) AM_READWRITE(wgp_pivram_word_r,wgp_pivram_word_w) AM_BASE(&wgp_pivram) /* piv tilemaps */
AM_RANGE(0x520000, 0x52001f) AM_READWRITE(wgp_piv_ctrl_word_r,wgp_piv_ctrl_word_w) AM_BASE(&wgp_piv_ctrlram)
AM_RANGE(0x600000, 0x600003) AM_WRITE(rotate_port_w) /* rotation control ? */
- AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( cpu2_map, ADDRESS_SPACE_PROGRAM, 16 ) /* LAN areas not mapped... */
diff --git a/src/mame/drivers/williams.c b/src/mame/drivers/williams.c
index 1e2a4ea7c6e..5d516ce2441 100644
--- a/src/mame/drivers/williams.c
+++ b/src/mame/drivers/williams.c
@@ -513,7 +513,7 @@
static ADDRESS_MAP_START( defender_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_RAM AM_BASE(&williams_videoram)
/* range from 0xc000-0xcfff is mapped programmatically below */
- AM_RANGE(0xc000, 0xc00f) AM_BASE(&paletteram)
+ AM_RANGE(0xc000, 0xc00f) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xc400, 0xc4ff) AM_BASE_SIZE_GENERIC(nvram)
AM_RANGE(0xc000, 0xcfff) AM_ROMBANK(1)
AM_RANGE(0xd000, 0xdfff) AM_WRITE(defender_bank_select_w)
@@ -534,8 +534,8 @@ void defender_install_io_space(const address_space *space)
memory_install_read8_handler (space, 0xc800, 0xcbff, 0, 0x03e0, williams_video_counter_r);
memory_install_readwrite8_device_handler(space, pia_1, 0xcc00, 0xcc03, 0, 0x03e0, pia6821_r, pia6821_w);
memory_install_readwrite8_device_handler(space, pia_0, 0xcc04, 0xcc07, 0, 0x03e0, pia6821_r, pia6821_w);
- memory_set_bankptr(space->machine, 3, space->machine->generic.nvram.ptr.v);
- memory_set_bankptr(space->machine, 4, paletteram);
+ memory_set_bankptr(space->machine, 3, space->machine->generic.nvram.v);
+ memory_set_bankptr(space->machine, 4, space->machine->generic.paletteram.v);
}
@@ -549,7 +549,7 @@ void defender_install_io_space(const address_space *space)
static ADDRESS_MAP_START( williams_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x8fff) AM_READWRITE(SMH_BANK(1), SMH_RAM) AM_BASE(&williams_videoram)
AM_RANGE(0x9000, 0xbfff) AM_RAM
- AM_RANGE(0xc000, 0xc00f) AM_MIRROR(0x03f0) AM_WRITE(SMH_RAM) AM_BASE(&paletteram)
+ AM_RANGE(0xc000, 0xc00f) AM_MIRROR(0x03f0) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xc804, 0xc807) AM_MIRROR(0x00f0) AM_DEVREADWRITE("pia_0", pia6821_r, pia6821_w)
AM_RANGE(0xc80c, 0xc80f) AM_MIRROR(0x00f0) AM_DEVREADWRITE("pia_1", pia6821_r, pia6821_w)
AM_RANGE(0xc900, 0xc9ff) AM_WRITE(williams_vram_select_w)
@@ -564,7 +564,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( williams_extra_ram_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x8fff) AM_READWRITE(SMH_BANK(1), SMH_RAM) AM_BASE(&williams_videoram)
AM_RANGE(0x9000, 0xbfff) AM_RAM
- AM_RANGE(0xc000, 0xc00f) AM_MIRROR(0x03f0) AM_WRITE(SMH_RAM) AM_BASE(&paletteram)
+ AM_RANGE(0xc000, 0xc00f) AM_MIRROR(0x03f0) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xc804, 0xc807) AM_MIRROR(0x00f0) AM_DEVREADWRITE("pia_0", pia6821_r, pia6821_w)
AM_RANGE(0xc80c, 0xc80f) AM_MIRROR(0x00f0) AM_DEVREADWRITE("pia_1", pia6821_r, pia6821_w)
AM_RANGE(0xc900, 0xc9ff) AM_WRITE(sinistar_vram_select_w)
@@ -590,7 +590,7 @@ static ADDRESS_MAP_START( blaster_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xbb00, 0xbbff) AM_WRITE(SMH_RAM) AM_BASE(&blaster_palette_0)
AM_RANGE(0xbc00, 0xbcff) AM_WRITE(SMH_RAM) AM_BASE(&blaster_scanline_control)
AM_RANGE(0x9000, 0xbfff) AM_RAM
- AM_RANGE(0xc000, 0xc00f) AM_MIRROR(0x03f0) AM_WRITE(SMH_RAM) AM_BASE(&paletteram)
+ AM_RANGE(0xc000, 0xc00f) AM_MIRROR(0x03f0) AM_WRITE(SMH_RAM) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xc804, 0xc807) AM_MIRROR(0x00f0) AM_DEVREADWRITE("pia_0", pia6821_r, pia6821_w)
AM_RANGE(0xc80c, 0xc80f) AM_MIRROR(0x00f0) AM_DEVREADWRITE("pia_1", pia6821_r, pia6821_w)
AM_RANGE(0xc900, 0xc93f) AM_WRITE(blaster_vram_select_w)
diff --git a/src/mame/drivers/wink.c b/src/mame/drivers/wink.c
index 2130eeaf5bc..d8d820c0073 100644
--- a/src/mame/drivers/wink.c
+++ b/src/mame/drivers/wink.c
@@ -23,7 +23,7 @@ static UINT8 tile_bank = 0;
static WRITE8_HANDLER( bgram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -65,7 +65,7 @@ static ADDRESS_MAP_START( wink_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x97ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0xa000, 0xa3ff) AM_RAM_WRITE(bgram_w) AM_BASE(&videoram)
+ AM_RANGE(0xa000, 0xa3ff) AM_RAM_WRITE(bgram_w) AM_BASE_GENERIC(videoram)
ADDRESS_MAP_END
@@ -104,7 +104,7 @@ either from the system-bus for loading the palet-data or from the xor-registers
for displaying the content.
so it's a palet-ram write-enable.
*/
- AM_RANGE(0x00, 0x1f) AM_RAM AM_BASE(&colorram) //?
+ AM_RANGE(0x00, 0x1f) AM_RAM AM_BASE_GENERIC(colorram) //?
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)
@@ -256,7 +256,7 @@ INPUT_PORTS_END
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = videoram[tile_index];
+ int code = machine->generic.videoram.u8[tile_index];
code |= 0x200 * tile_bank;
// the 2 parts of the screen use different tile banking
diff --git a/src/mame/drivers/wiping.c b/src/mame/drivers/wiping.c
index 1d2c610be5e..2c2218c0077 100644
--- a/src/mame/drivers/wiping.c
+++ b/src/mame/drivers/wiping.c
@@ -85,9 +85,9 @@ static WRITE8_HANDLER( subcpu_reset_w )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM
- AM_RANGE(0x8000, 0x83ff) AM_BASE(&videoram) AM_SIZE(&videoram_size) /* Fallthrough */
- AM_RANGE(0x8400, 0x87ff) AM_BASE(&colorram)
- AM_RANGE(0x8800, 0x88ff) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x8000, 0x83ff) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) /* Fallthrough */
+ AM_RANGE(0x8400, 0x87ff) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x8800, 0x88ff) AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x8000, 0x8bff) AM_RAM
AM_RANGE(0x9000, 0x93ff) AM_READWRITE(shared1_r,shared1_w) AM_BASE(&sharedram1)
AM_RANGE(0x9800, 0x9bff) AM_READWRITE(shared2_r,shared2_w) AM_BASE(&sharedram2)
diff --git a/src/mame/drivers/witch.c b/src/mame/drivers/witch.c
index e460e727dbd..86b6c246d16 100644
--- a/src/mame/drivers/witch.c
+++ b/src/mame/drivers/witch.c
@@ -448,8 +448,8 @@ static ADDRESS_MAP_START( map_main, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc800, 0xcbff) AM_READWRITE(gfx1_vram_r, gfx1_vram_w) AM_BASE(&gfx1_vram)
AM_RANGE(0xcc00, 0xcfff) AM_READWRITE(gfx1_cram_r, gfx1_cram_w) AM_BASE(&gfx1_cram)
AM_RANGE(0xd000, 0xdfff) AM_RAM AM_BASE(&sprite_ram)
- AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split1_w) AM_BASE(&paletteram)
- AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split2_w) AM_BASE(&paletteram_2)
+ AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split1_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split2_w) AM_BASE_GENERIC(paletteram2)
AM_RANGE(0xf000, 0xf0ff) AM_RAM AM_SHARE(1)
AM_RANGE(0xf100, 0xf17f) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
AM_RANGE(0xf180, 0xffff) AM_RAM AM_SHARE(2)
diff --git a/src/mame/drivers/wiz.c b/src/mame/drivers/wiz.c
index 5900d8e3211..aa2aed9d1b9 100644
--- a/src/mame/drivers/wiz.c
+++ b/src/mame/drivers/wiz.c
@@ -236,12 +236,12 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd000, 0xd3ff) AM_BASE(&wiz_videoram2) /* Fallthrough */
AM_RANGE(0xd400, 0xd7ff) AM_BASE(&wiz_colorram2)
AM_RANGE(0xd800, 0xd83f) AM_BASE(&wiz_attributesram2)
- AM_RANGE(0xd840, 0xd85f) AM_BASE(&spriteram_2) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xd840, 0xd85f) AM_BASE_GENERIC(spriteram2) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xd000, 0xd85f) AM_RAM
- AM_RANGE(0xe000, 0xe3ff) AM_BASE(&videoram) AM_SIZE(&videoram_size) /* Fallthrough */
- AM_RANGE(0xe400, 0xe7ff) AM_BASE(&colorram)
+ AM_RANGE(0xe000, 0xe3ff) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) /* Fallthrough */
+ AM_RANGE(0xe400, 0xe7ff) AM_BASE_GENERIC(colorram)
AM_RANGE(0xe800, 0xe83f) AM_BASE(&wiz_attributesram)
- AM_RANGE(0xe840, 0xe85f) AM_BASE(&spriteram)
+ AM_RANGE(0xe840, 0xe85f) AM_BASE_GENERIC(spriteram)
AM_RANGE(0xe000, 0xe85f) AM_RAM
AM_RANGE(0xf000, 0xf000) AM_READ_PORT("DSW0")
AM_RANGE(0xf000, 0xf000) AM_RAM AM_BASE(&wiz_sprite_bank)
diff --git a/src/mame/drivers/wrally.c b/src/mame/drivers/wrally.c
index 3b3d5c5dd83..0904039a8f5 100644
--- a/src/mame/drivers/wrally.c
+++ b/src/mame/drivers/wrally.c
@@ -107,7 +107,7 @@ static ADDRESS_MAP_START( wrally_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x100000, 0x103fff) AM_READWRITE(SMH_RAM, wrally_vram_w) AM_BASE(&wrally_videoram) /* encrypted Video RAM */
AM_RANGE(0x108000, 0x108007) AM_RAM AM_BASE(&wrally_vregs) /* Video Registers */
AM_RANGE(0x10800c, 0x10800d) AM_WRITENOP /* CLR INT Video */
- AM_RANGE(0x200000, 0x203fff) AM_READWRITE(SMH_RAM, paletteram16_xxxxBBBBRRRRGGGG_word_w) AM_BASE(&paletteram16) /* Palette */
+ AM_RANGE(0x200000, 0x203fff) AM_READWRITE(SMH_RAM, paletteram16_xxxxBBBBRRRRGGGG_word_w) AM_BASE_GENERIC(paletteram) /* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(&wrally_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 ad73f09797b..71500a16e5d 100644
--- a/src/mame/drivers/wwfsstar.c
+++ b/src/mame/drivers/wwfsstar.c
@@ -172,8 +172,8 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(wwfsstar_fg0_videoram_w) AM_BASE(&wwfsstar_fg0_videoram) /* FG0 Ram */
AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM_WRITE(wwfsstar_bg0_videoram_w) AM_BASE(&wwfsstar_bg0_videoram) /* BG0 Ram */
- AM_RANGE(0x100000, 0x1003ff) AM_RAM AM_BASE(&spriteram16) /* SPR Ram */
- AM_RANGE(0x140000, 0x140fff) AM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x100000, 0x1003ff) AM_RAM AM_BASE_GENERIC(spriteram) /* SPR Ram */
+ AM_RANGE(0x140000, 0x140fff) AM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(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 8818b60d2de..d62cbf4ea7a 100644
--- a/src/mame/drivers/wwfwfest.c
+++ b/src/mame/drivers/wwfwfest.c
@@ -69,7 +69,7 @@ static WRITE16_HANDLER ( wwfwfest_irq_ack_w );
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x0c0000, 0x0c1fff) AM_RAM_WRITE(wwfwfest_fg0_videoram_w) AM_BASE(&wwfwfest_fg0_videoram) /* FG0 Ram - 4 bytes per tile */
- AM_RANGE(0x0c2000, 0x0c3fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* SPR Ram */
+ AM_RANGE(0x0c2000, 0x0c3fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* SPR Ram */
AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(wwfwfest_bg0_videoram_w) AM_BASE(&wwfwfest_bg0_videoram) /* BG0 Ram - 4 bytes per tile */
AM_RANGE(0x082000, 0x082fff) AM_RAM_WRITE(wwfwfest_bg1_videoram_w) AM_BASE(&wwfwfest_bg1_videoram) /* BG1 Ram - 2 bytes per tile */
AM_RANGE(0x100000, 0x100007) AM_WRITE(wwfwfest_scroll_write)
@@ -81,7 +81,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
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(&paletteram16)
+ AM_RANGE(0x180000, 0x18ffff) AM_READWRITE(wwfwfest_paletteram16_xxxxBBBBGGGGRRRR_word_r,wwfwfest_paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x1c0000, 0x1c3fff) AM_RAM /* Work Ram */
ADDRESS_MAP_END
@@ -119,7 +119,7 @@ static WRITE16_HANDLER( wwfwfest_flipscreen_w )
static READ16_HANDLER( wwfwfest_paletteram16_xxxxBBBBGGGGRRRR_word_r )
{
offset = (offset & 0x000f) | (offset & 0x7fc0) >> 2;
- return paletteram16[offset];
+ return space->machine->generic.paletteram.u16[offset];
}
static WRITE16_HANDLER( wwfwfest_paletteram16_xxxxBBBBGGGGRRRR_word_w )
diff --git a/src/mame/drivers/xain.c b/src/mame/drivers/xain.c
index 84aa96a9865..ec20295d1b3 100644
--- a/src/mame/drivers/xain.c
+++ b/src/mame/drivers/xain.c
@@ -296,7 +296,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(xain_charram_w) AM_BASE(&xain_charram)
AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(xain_bgram1_w) AM_BASE(&xain_bgram1)
AM_RANGE(0x3000, 0x37ff) AM_RAM_WRITE(xain_bgram0_w) AM_BASE(&xain_bgram0)
- AM_RANGE(0x3800, 0x397f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x3800, 0x397f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x3a00, 0x3a00) AM_READ_PORT("P1")
AM_RANGE(0x3a00, 0x3a01) AM_WRITE(xain_scrollxP1_w)
AM_RANGE(0x3a01, 0x3a01) AM_READ_PORT("P2")
@@ -313,8 +313,8 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x3a0d, 0x3a0d) AM_WRITE(xain_flipscreen_w)
AM_RANGE(0x3a0e, 0x3a0e) AM_WRITE(xain_68705_w) /* to 68705 */
AM_RANGE(0x3a0f, 0x3a0f) AM_WRITE(xainCPUA_bankswitch_w)
- AM_RANGE(0x3c00, 0x3dff) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE(&paletteram)
- AM_RANGE(0x3e00, 0x3fff) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE(&paletteram_2)
+ AM_RANGE(0x3c00, 0x3dff) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE_GENERIC(paletteram)
+ AM_RANGE(0x3e00, 0x3fff) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE_GENERIC(paletteram2)
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK(1)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/xexex.c b/src/mame/drivers/xexex.c
index b3acc377fd6..4304bb5922c 100644
--- a/src/mame/drivers/xexex.c
+++ b/src/mame/drivers/xexex.c
@@ -126,7 +126,7 @@ static NVRAM_HANDLER( xexex )
static READ16_HANDLER( K053247_scattered_word_r )
{
if (offset & 0x0031)
- return spriteram16[offset];
+ return space->machine->generic.spriteram.u16[offset];
else
{
offset = ((offset & 0x000e) >> 1) | ((offset & 0x3fc0) >> 3);
@@ -137,7 +137,7 @@ static READ16_HANDLER( K053247_scattered_word_r )
static WRITE16_HANDLER( K053247_scattered_word_w )
{
if (offset & 0x0031)
- COMBINE_DATA(spriteram16+offset);
+ COMBINE_DATA(space->machine->generic.spriteram.u16+offset);
else
{
offset = ((offset & 0x000e) >> 1) | ((offset & 0x3fc0) >> 3);
@@ -158,7 +158,7 @@ static void xexex_objdma(running_machine *machine, int limiter)
if (limiter && counter == frame) return; // make sure we only do DMA transfer once per frame
K053247_export_config(&dst, 0, 0, 0, &counter);
- src = spriteram16;
+ src = machine->generic.spriteram.u16;
num_inactive = counter = 256;
do
@@ -181,12 +181,12 @@ static void xexex_objdma(running_machine *machine, int limiter)
static READ16_HANDLER( spriteram16_mirror_r )
{
- return(spriteram16[offset]);
+ return(space->machine->generic.spriteram.u16[offset]);
}
static WRITE16_HANDLER( spriteram16_mirror_w )
{
- COMBINE_DATA(spriteram16+offset);
+ COMBINE_DATA(space->machine->generic.spriteram.u16+offset);
}
static READ16_HANDLER( xexex_waitskip_r )
@@ -352,7 +352,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x080014, 0x080015) AM_READ(xexex_waitskip_r) // helps sound CPU by giving back control as early as possible
#endif
- AM_RANGE(0x090000, 0x097fff) AM_RAM AM_BASE(&spriteram16) // K053247 sprite RAM
+ AM_RANGE(0x090000, 0x097fff) AM_RAM AM_BASE_GENERIC(spriteram) // K053247 sprite RAM
AM_RANGE(0x098000, 0x09ffff) AM_READWRITE(spriteram16_mirror_r, spriteram16_mirror_w) // K053247 sprite RAM mirror read
AM_RANGE(0x0c0000, 0x0c003f) AM_WRITE(K056832_word_w) // VACSET (K054157)
AM_RANGE(0x0c2000, 0x0c2007) AM_WRITE(K053246_word_w) // OBJSET1
@@ -378,7 +378,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x182000, 0x183fff) AM_READWRITE(K056832_ram_word_r, K056832_ram_word_w)
AM_RANGE(0x190000, 0x191fff) AM_READWRITE(K056832_rom_word_r, SMH_ROM) // Passthrough to tile roms
AM_RANGE(0x1a0000, 0x1a1fff) AM_READ(K053250_0_rom_r)
- AM_RANGE(0x1b0000, 0x1b1fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x1b0000, 0x1b1fff) AM_RAM_WRITE(paletteram16_xrgb_word_be_w) AM_BASE_GENERIC(paletteram)
#if XE_DEBUG
AM_RANGE(0x0c0000, 0x0c003f) AM_READ(K056832_word_r)
diff --git a/src/mame/drivers/xmen.c b/src/mame/drivers/xmen.c
index 8ddb651e646..a32b0cd6730 100644
--- a/src/mame/drivers/xmen.c
+++ b/src/mame/drivers/xmen.c
@@ -163,7 +163,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x080000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x100fff) AM_READWRITE(K053247_word_r, K053247_word_w)
AM_RANGE(0x101000, 0x101fff) AM_RAM
- AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x108000, 0x108001) AM_WRITE(eeprom_w)
AM_RANGE(0x108020, 0x108027) AM_WRITE(K053246_word_w)
AM_RANGE(0x10804c, 0x10804d) AM_WRITE(sound_cmd_w)
@@ -199,7 +199,7 @@ static ADDRESS_MAP_START( 6p_main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x101000, 0x101fff) AM_RAM
AM_RANGE(0x102000, 0x102fff) AM_RAM AM_BASE(&xmen6p_spriteramright) /* sprites (screen 2) */
AM_RANGE(0x103000, 0x103fff) AM_RAM /* 6p - a buffer? */
- AM_RANGE(0x104000, 0x104fff) AM_READWRITE(SMH_RAM,paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x104000, 0x104fff) AM_READWRITE(SMH_RAM,paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x108000, 0x108001) AM_WRITE(eeprom_w)
AM_RANGE(0x108020, 0x108027) AM_WRITE(K053246_word_w) /* sprites */
AM_RANGE(0x10804c, 0x10804d) AM_WRITE(sound_cmd_w)
diff --git a/src/mame/drivers/xorworld.c b/src/mame/drivers/xorworld.c
index 6285b02670c..602cf191491 100644
--- a/src/mame/drivers/xorworld.c
+++ b/src/mame/drivers/xorworld.c
@@ -103,8 +103,8 @@ static ADDRESS_MAP_START( xorworld_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xa00008, 0xa00009) AM_WRITE(eeprom_chip_select_w)
AM_RANGE(0xa0000a, 0xa0000b) AM_WRITE(eeprom_serial_clock_w)
AM_RANGE(0xa0000c, 0xa0000d) AM_WRITE(eeprom_data_w)
- AM_RANGE(0xffc000, 0xffc7ff) AM_RAM_WRITE(xorworld_videoram16_w) AM_BASE(&videoram16)
- AM_RANGE(0xffc800, 0xffc87f) AM_RAM AM_BASE(&spriteram16)
+ AM_RANGE(0xffc000, 0xffc7ff) AM_RAM_WRITE(xorworld_videoram16_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xffc800, 0xffc87f) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0xffc880, 0xffc881) AM_WRITENOP
AM_RANGE(0xffc882, 0xffc883) AM_WRITENOP
AM_RANGE(0xffc884, 0xffffff) AM_RAM
diff --git a/src/mame/drivers/xxmissio.c b/src/mame/drivers/xxmissio.c
index 3411ed80aee..b93f2d4e63f 100644
--- a/src/mame/drivers/xxmissio.c
+++ b/src/mame/drivers/xxmissio.c
@@ -117,7 +117,7 @@ static ADDRESS_MAP_START( map1, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc800, 0xcfff) AM_SHARE(2) AM_READWRITE(xxmissio_bgram_r, xxmissio_bgram_w) AM_BASE(&xxmissio_bgram)
AM_RANGE(0xd000, 0xd7ff) AM_SHARE(3) AM_RAM AM_BASE(&xxmissio_spriteram)
- AM_RANGE(0xd800, 0xdaff) AM_SHARE(4) AM_RAM_WRITE(xxmissio_paletteram_w) AM_BASE(&paletteram)
+ AM_RANGE(0xd800, 0xdaff) AM_SHARE(4) AM_RAM_WRITE(xxmissio_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xe000, 0xefff) AM_SHARE(5) AM_RAM
AM_RANGE(0xf000, 0xffff) AM_SHARE(6) AM_RAM
diff --git a/src/mame/drivers/xybots.c b/src/mame/drivers/xybots.c
index 34396e4f944..f613681ce62 100644
--- a/src/mame/drivers/xybots.c
+++ b/src/mame/drivers/xybots.c
@@ -83,7 +83,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xff9000, 0xffadff) AM_MIRROR(0x7f8000) AM_RAM
AM_RANGE(0xffae00, 0xffafff) AM_MIRROR(0x7f8000) AM_RAM_WRITE(atarimo_0_spriteram_w) AM_BASE(&atarimo_0_spriteram)
AM_RANGE(0xffb000, 0xffbfff) AM_MIRROR(0x7f8000) AM_RAM_WRITE(atarigen_playfield_w) AM_BASE(&atarigen_playfield)
- AM_RANGE(0xffc000, 0xffc7ff) AM_MIRROR(0x7f8800) AM_RAM_WRITE(paletteram16_IIIIRRRRGGGGBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0xffc000, 0xffc7ff) AM_MIRROR(0x7f8800) AM_RAM_WRITE(paletteram16_IIIIRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xffd000, 0xffdfff) AM_MIRROR(0x7f8000) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE(&atarigen_eeprom) AM_SIZE(&atarigen_eeprom_size)
AM_RANGE(0xffe000, 0xffe0ff) AM_MIRROR(0x7f8000) AM_READ(atarigen_sound_r)
AM_RANGE(0xffe100, 0xffe1ff) AM_MIRROR(0x7f8000) AM_READ_PORT("FFE100")
diff --git a/src/mame/drivers/yiear.c b/src/mame/drivers/yiear.c
index 95951b3c165..350dca48faa 100644
--- a/src/mame/drivers/yiear.c
+++ b/src/mame/drivers/yiear.c
@@ -98,9 +98,9 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x4e02, 0x4e02) AM_READ_PORT("P2")
AM_RANGE(0x4e03, 0x4e03) AM_READ_PORT("DSW3")
AM_RANGE(0x4f00, 0x4f00) AM_WRITE(watchdog_reset_w)
- AM_RANGE(0x5000, 0x502f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0x5400, 0x542f) AM_RAM AM_BASE(&spriteram_2)
- AM_RANGE(0x5800, 0x5fff) AM_WRITE(yiear_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x5000, 0x502f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x5400, 0x542f) AM_RAM AM_BASE_GENERIC(spriteram2)
+ AM_RANGE(0x5800, 0x5fff) AM_WRITE(yiear_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x5000, 0x5fff) AM_RAM
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/yunsun16.c b/src/mame/drivers/yunsun16.c
index 7f159a79a7c..d0319e599b7 100644
--- a/src/mame/drivers/yunsun16.c
+++ b/src/mame/drivers/yunsun16.c
@@ -129,10 +129,10 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x800180, 0x800181) AM_WRITE(yunsun16_sound_bank_w) // Sound
AM_RANGE(0x800188, 0x800189) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff) // Sound
AM_RANGE(0x8001fe, 0x8001ff) AM_WRITE(SMH_NOP) // ? 0 (during int)
- AM_RANGE(0x900000, 0x903fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) // Palette
+ AM_RANGE(0x900000, 0x903fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // Palette
AM_RANGE(0x908000, 0x90bfff) AM_RAM_WRITE(yunsun16_vram_1_w) AM_BASE_MEMBER(yunsun16_state, vram_1) // Layer 1
AM_RANGE(0x90c000, 0x90ffff) AM_RAM_WRITE(yunsun16_vram_0_w) AM_BASE_MEMBER(yunsun16_state, vram_0) // Layer 0
- AM_RANGE(0x910000, 0x910fff) AM_RAM AM_BASE_MEMBER(yunsun16_state, spriteram16) AM_SIZE(&spriteram_size) // Sprites
+ AM_RANGE(0x910000, 0x910fff) AM_RAM AM_BASE_MEMBER(yunsun16_state, spriteram16) AM_SIZE_GENERIC(spriteram) // Sprites
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/zac2650.c b/src/mame/drivers/zac2650.c
index 9808d4e1c9c..d90238e58ea 100644
--- a/src/mame/drivers/zac2650.c
+++ b/src/mame/drivers/zac2650.c
@@ -26,7 +26,7 @@ VIDEO_UPDATE( tinvader );
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x17ff) AM_ROM
- AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(tinvader_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(tinvader_videoram_w) AM_BASE_GENERIC(videoram)
AM_RANGE(0x1c00, 0x1cff) AM_RAM
AM_RANGE(0x1d00, 0x1dff) AM_RAM
AM_RANGE(0x1e80, 0x1e80) AM_READWRITE(tinvader_port_0_r, tinvader_sound_w)
diff --git a/src/mame/drivers/zaccaria.c b/src/mame/drivers/zaccaria.c
index 605d41c4170..195d329337b 100644
--- a/src/mame/drivers/zaccaria.c
+++ b/src/mame/drivers/zaccaria.c
@@ -318,8 +318,8 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x6400, 0x6407) AM_READ(zaccaria_prot1_r)
AM_RANGE(0x6000, 0x67ff) AM_WRITE(zaccaria_videoram_w) AM_BASE(&zaccaria_videoram) /* 6400-67ff is 4 bits wide */
AM_RANGE(0x6800, 0x683f) AM_WRITE(zaccaria_attributes_w) AM_BASE(&zaccaria_attributesram)
- AM_RANGE(0x6840, 0x685f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0x6881, 0x68bc) AM_RAM AM_BASE(&spriteram_2) AM_SIZE(&spriteram_2_size)
+ AM_RANGE(0x6840, 0x685f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
+ AM_RANGE(0x6881, 0x68bc) AM_RAM AM_BASE_SIZE_GENERIC(spriteram2)
AM_RANGE(0x6c00, 0x6c00) AM_WRITE(zaccaria_flip_screen_x_w)
AM_RANGE(0x6c01, 0x6c01) AM_WRITE(zaccaria_flip_screen_y_w)
AM_RANGE(0x6c02, 0x6c02) AM_WRITENOP /* sound reset */
diff --git a/src/mame/drivers/zaxxon.c b/src/mame/drivers/zaxxon.c
index 8934333b32d..508347bd946 100644
--- a/src/mame/drivers/zaxxon.c
+++ b/src/mame/drivers/zaxxon.c
@@ -492,8 +492,8 @@ static CUSTOM_INPUT( zaxxon_coin_r )
static ADDRESS_MAP_START( zaxxon_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM
- AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x1c00) AM_RAM_WRITE(zaxxon_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xa000, 0xa0ff) AM_MIRROR(0x1f00) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x1c00) AM_RAM_WRITE(zaxxon_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xa000, 0xa0ff) AM_MIRROR(0x1f00) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x18fc) AM_READ_PORT("SW00")
AM_RANGE(0xc001, 0xc001) AM_MIRROR(0x18fc) AM_READ_PORT("SW01")
AM_RANGE(0xc002, 0xc002) AM_MIRROR(0x18fc) AM_READ_PORT("DSW02")
@@ -515,8 +515,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( congo_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM
- AM_RANGE(0xa000, 0xa3ff) AM_MIRROR(0x1800) AM_RAM_WRITE(zaxxon_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xa400, 0xa7ff) AM_MIRROR(0x1800) AM_RAM_WRITE(congo_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0xa000, 0xa3ff) AM_MIRROR(0x1800) AM_RAM_WRITE(zaxxon_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xa400, 0xa7ff) AM_MIRROR(0x1800) AM_RAM_WRITE(congo_colorram_w) AM_BASE_GENERIC(colorram)
AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x1fc4) AM_READ_PORT("SW00")
AM_RANGE(0xc001, 0xc001) AM_MIRROR(0x1fc4) AM_READ_PORT("SW01")
AM_RANGE(0xc002, 0xc002) AM_MIRROR(0x1fc4) AM_READ_PORT("DSW02")
diff --git a/src/mame/drivers/zerozone.c b/src/mame/drivers/zerozone.c
index 0841d0ff5f9..1ea341a257a 100644
--- a/src/mame/drivers/zerozone.c
+++ b/src/mame/drivers/zerozone.c
@@ -65,9 +65,9 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x080000, 0x08000f) AM_READ(zerozone_input_r)
AM_RANGE(0x084000, 0x084001) AM_WRITE(zerozone_sound_w)
- AM_RANGE(0x088000, 0x0881ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x088000, 0x0881ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x098000, 0x098001) AM_RAM /* Watchdog? */
- AM_RANGE(0x09ce00, 0x09ffff) AM_RAM_WRITE(zerozone_tilemap_w) AM_BASE_MEMBER(zerozone_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0x09ce00, 0x09ffff) AM_RAM_WRITE(zerozone_tilemap_w) AM_BASE_MEMBER(zerozone_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0x0b4000, 0x0b4001) AM_WRITE(zerozone_tilebank_w)
AM_RANGE(0x0c0000, 0x0cffff) AM_RAM
AM_RANGE(0x0f8000, 0x0f87ff) AM_RAM /* Never read from */
diff --git a/src/mame/drivers/zodiack.c b/src/mame/drivers/zodiack.c
index 3f8ac7c3635..6da904463cc 100644
--- a/src/mame/drivers/zodiack.c
+++ b/src/mame/drivers/zodiack.c
@@ -132,10 +132,10 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x7100, 0x7100) AM_WRITE(zodiac_master_interrupt_enable_w)
AM_RANGE(0x7200, 0x7200) AM_WRITE(zodiack_flipscreen_w)
AM_RANGE(0x9000, 0x903f) AM_RAM_WRITE(zodiack_attributes_w) AM_BASE_MEMBER(espial_state, attributeram)
- AM_RANGE(0x9040, 0x905f) AM_RAM AM_BASE_MEMBER(espial_state, spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x9040, 0x905f) AM_RAM AM_BASE_MEMBER(espial_state, spriteram) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0x9060, 0x907f) AM_RAM AM_BASE_MEMBER(espial_state, bulletsram) AM_SIZE(&zodiack_bulletsram_size)
AM_RANGE(0x9080, 0x93ff) AM_RAM
- AM_RANGE(0xa000, 0xa3ff) AM_RAM_WRITE(zodiack_videoram_w) AM_BASE_MEMBER(espial_state, videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xa000, 0xa3ff) AM_RAM_WRITE(zodiack_videoram_w) AM_BASE_MEMBER(espial_state, videoram) AM_SIZE_GENERIC(videoram)
AM_RANGE(0xb000, 0xb3ff) AM_RAM_WRITE(zodiack_videoram2_w) AM_BASE_MEMBER(espial_state, videoram_2)
AM_RANGE(0xc000, 0xcfff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/zr107.c b/src/mame/drivers/zr107.c
index 6c64d8f823e..af1840032c8 100644
--- a/src/mame/drivers/zr107.c
+++ b/src/mame/drivers/zr107.c
@@ -229,8 +229,8 @@ static VIDEO_UPDATE( jetwave )
static WRITE32_HANDLER( paletteram32_w )
{
- COMBINE_DATA(&paletteram32[offset]);
- data = paletteram32[offset];
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
+ data = space->machine->generic.paletteram.u32[offset];
palette_set_color_rgb(space->machine, (offset * 2) + 0, pal5bit(data >> 26), pal5bit(data >> 21), pal5bit(data >> 16));
palette_set_color_rgb(space->machine, (offset * 2) + 1, pal5bit(data >> 10), pal5bit(data >> 5), pal5bit(data >> 0));
}
@@ -413,7 +413,7 @@ static ADDRESS_MAP_START( zr107_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x74000000, 0x74003fff) AM_READWRITE(K056832_ram_long_r, K056832_ram_long_w)
AM_RANGE(0x74020000, 0x7402003f) AM_READWRITE(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(&paletteram32)
+ AM_RANGE(0x74080000, 0x74081fff) AM_RAM_WRITE(paletteram32_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x740a0000, 0x740a3fff) AM_READ(K056832_rom_long_r)
AM_RANGE(0x78000000, 0x7800ffff) AM_READWRITE(cgboard_dsp_shared_r_ppc, cgboard_dsp_shared_w_ppc) /* 21N 21K 23N 23K */
AM_RANGE(0x78010000, 0x7801ffff) AM_WRITE(cgboard_dsp_shared_w_ppc)
@@ -431,15 +431,15 @@ ADDRESS_MAP_END
static WRITE32_HANDLER( jetwave_palette_w )
{
- COMBINE_DATA(&paletteram32[offset]);
- data = paletteram32[offset];
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
+ data = space->machine->generic.paletteram.u32[offset];
palette_set_color_rgb(space->machine, offset, pal5bit(data >> 10), pal5bit(data >> 5), pal5bit(data >> 0));
}
static ADDRESS_MAP_START( jetwave_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x00000000, 0x000fffff) AM_MIRROR(0x80000000) AM_RAM /* Work RAM */
AM_RANGE(0x74000000, 0x740000ff) AM_MIRROR(0x80000000) AM_READWRITE(K001604_reg_r, K001604_reg_w)
- AM_RANGE(0x74010000, 0x7401ffff) AM_MIRROR(0x80000000) AM_RAM_WRITE(jetwave_palette_w) AM_BASE(&paletteram32)
+ AM_RANGE(0x74010000, 0x7401ffff) AM_MIRROR(0x80000000) AM_RAM_WRITE(jetwave_palette_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x74020000, 0x7403ffff) AM_MIRROR(0x80000000) AM_READWRITE(K001604_tile_r, K001604_tile_w)
AM_RANGE(0x74040000, 0x7407ffff) AM_MIRROR(0x80000000) AM_READWRITE(K001604_char_r, K001604_char_w)
AM_RANGE(0x78000000, 0x7800ffff) AM_MIRROR(0x80000000) AM_READWRITE(cgboard_dsp_shared_r_ppc, cgboard_dsp_shared_w_ppc) /* 21N 21K 23N 23K */
diff --git a/src/mame/includes/model2.h b/src/mame/includes/model2.h
index c4dbf966359..f11d753aa84 100644
--- a/src/mame/includes/model2.h
+++ b/src/mame/includes/model2.h
@@ -7,6 +7,7 @@ extern UINT32 *model2_colorxlat;
extern UINT32 *model2_textureram0;
extern UINT32 *model2_textureram1;
extern UINT32 *model2_lumaram;
+extern UINT32 *model2_paletteram32;
/*----------- defined in video/model2.c -----------*/
diff --git a/src/mame/machine/atarigen.c b/src/mame/machine/atarigen.c
index e98acd7dfed..04dd26ee851 100644
--- a/src/mame/machine/atarigen.c
+++ b/src/mame/machine/atarigen.c
@@ -1495,8 +1495,8 @@ WRITE16_HANDLER( atarigen_666_paletteram_w )
{
int newword, r, g, b;
- COMBINE_DATA(&paletteram16[offset]);
- newword = paletteram16[offset];
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
+ newword = space->machine->generic.paletteram.u16[offset];
r = ((newword >> 9) & 0x3e) | ((newword >> 15) & 1);
g = ((newword >> 4) & 0x3e) | ((newword >> 15) & 1);
@@ -1513,12 +1513,12 @@ WRITE16_HANDLER( atarigen_666_paletteram_w )
WRITE16_HANDLER( atarigen_expanded_666_paletteram_w )
{
- COMBINE_DATA(&paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
if (ACCESSING_BITS_8_15)
{
int palentry = offset / 2;
- int newword = (paletteram16[palentry * 2] & 0xff00) | (paletteram16[palentry * 2 + 1] >> 8);
+ int newword = (space->machine->generic.paletteram.u16[palentry * 2] & 0xff00) | (space->machine->generic.paletteram.u16[palentry * 2 + 1] >> 8);
int r, g, b;
@@ -1539,11 +1539,11 @@ WRITE32_HANDLER( atarigen_666_paletteram32_w )
{
int newword, r, g, b;
- COMBINE_DATA(&paletteram32[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
if (ACCESSING_BITS_16_31)
{
- newword = paletteram32[offset] >> 16;
+ newword = space->machine->generic.paletteram.u32[offset] >> 16;
r = ((newword >> 9) & 0x3e) | ((newword >> 15) & 1);
g = ((newword >> 4) & 0x3e) | ((newword >> 15) & 1);
@@ -1554,7 +1554,7 @@ WRITE32_HANDLER( atarigen_666_paletteram32_w )
if (ACCESSING_BITS_0_15)
{
- newword = paletteram32[offset] & 0xffff;
+ newword = space->machine->generic.paletteram.u32[offset] & 0xffff;
r = ((newword >> 9) & 0x3e) | ((newword >> 15) & 1);
g = ((newword >> 4) & 0x3e) | ((newword >> 15) & 1);
diff --git a/src/mame/machine/dec0.c b/src/mame/machine/dec0.c
index 99c6f5fedf7..0af30d6ee9f 100644
--- a/src/mame/machine/dec0.c
+++ b/src/mame/machine/dec0.c
@@ -507,7 +507,7 @@ void dec0_i8751_reset(void)
static WRITE16_HANDLER( sprite_mirror_w )
{
- COMBINE_DATA(&spriteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.spriteram.u16[offset]);
}
/******************************************************************************/
diff --git a/src/mame/machine/leland.c b/src/mame/machine/leland.c
index 64451960c90..54848fae311 100644
--- a/src/mame/machine/leland.c
+++ b/src/mame/machine/leland.c
@@ -1303,7 +1303,7 @@ WRITE8_HANDLER( leland_gated_paletteram_w )
READ8_HANDLER( leland_gated_paletteram_r )
{
if (wcol_enable)
- return paletteram[offset];
+ return space->machine->generic.paletteram.u8[offset];
return 0xff;
}
@@ -1342,7 +1342,7 @@ WRITE8_HANDLER( ataxx_paletteram_and_misc_w )
READ8_HANDLER( ataxx_paletteram_and_misc_r )
{
if (wcol_enable)
- return paletteram[offset];
+ return space->machine->generic.paletteram.u8[offset];
else if (offset == 0x7fc || offset == 0x7fd)
{
int result = xrom_base[0x00000 | xrom1_addr | ((offset & 1) << 16)];
diff --git a/src/mame/machine/midtunit.c b/src/mame/machine/midtunit.c
index a3456267f21..bd43c19ce6a 100644
--- a/src/mame/machine/midtunit.c
+++ b/src/mame/machine/midtunit.c
@@ -79,7 +79,7 @@ WRITE16_HANDLER( midtunit_cmos_w )
{
if (1)/*cmos_write_enable)*/
{
- COMBINE_DATA(space->machine->generic.nvram.ptr.u16+offset);
+ COMBINE_DATA(space->machine->generic.nvram.u16+offset);
cmos_write_enable = 0;
}
else
@@ -92,7 +92,7 @@ WRITE16_HANDLER( midtunit_cmos_w )
READ16_HANDLER( midtunit_cmos_r )
{
- return space->machine->generic.nvram.ptr.u16[offset];
+ return space->machine->generic.nvram.u16[offset];
}
diff --git a/src/mame/machine/midwunit.c b/src/mame/machine/midwunit.c
index 51d7ed07cc5..598cf3abb9e 100644
--- a/src/mame/machine/midwunit.c
+++ b/src/mame/machine/midwunit.c
@@ -67,7 +67,7 @@ WRITE16_HANDLER( midwunit_cmos_w )
{
if (cmos_write_enable)
{
- COMBINE_DATA(space->machine->generic.nvram.ptr.u16+offset);
+ COMBINE_DATA(space->machine->generic.nvram.u16+offset);
cmos_write_enable = 0;
}
else
@@ -80,13 +80,13 @@ WRITE16_HANDLER( midwunit_cmos_w )
WRITE16_HANDLER( midxunit_cmos_w )
{
- COMBINE_DATA(space->machine->generic.nvram.ptr.u16+offset);
+ COMBINE_DATA(space->machine->generic.nvram.u16+offset);
}
READ16_HANDLER( midwunit_cmos_r )
{
- return space->machine->generic.nvram.ptr.u16[offset];
+ return space->machine->generic.nvram.u16[offset];
}
diff --git a/src/mame/machine/simpsons.c b/src/mame/machine/simpsons.c
index a51e13b2d0a..16d2a085a18 100644
--- a/src/mame/machine/simpsons.c
+++ b/src/mame/machine/simpsons.c
@@ -125,9 +125,9 @@ MACHINE_RESET( simpsons )
konami_configure_set_lines(cputag_get_cpu(machine, "maincpu"), simpsons_banking);
- paletteram = &RAM[0x88000];
+ machine->generic.paletteram.u8 = &RAM[0x88000];
simpsons_xtraram = &RAM[0x89000];
- spriteram16 = (UINT16 *)&RAM[0x8a000];
+ machine->generic.spriteram.u16 = (UINT16 *)&RAM[0x8a000];
simpsons_firq_enabled = 0;
diff --git a/src/mame/machine/starwars.c b/src/mame/machine/starwars.c
index 441677f025c..991bd19cbef 100644
--- a/src/mame/machine/starwars.c
+++ b/src/mame/machine/starwars.c
@@ -71,7 +71,7 @@ static TIMER_CALLBACK( math_run_clear )
WRITE8_HANDLER( starwars_nstore_w )
{
- memcpy (space->machine->generic.nvram.ptr.v, starwars_ram_overlay, space->machine->generic.nvram.size);
+ memcpy (space->machine->generic.nvram.v, starwars_ram_overlay, space->machine->generic.nvram_size);
}
/*************************************
@@ -113,7 +113,7 @@ WRITE8_HANDLER( starwars_out_w )
break;
case 7: /* NVRAM array recall */
- memcpy (starwars_ram_overlay, space->machine->generic.nvram.ptr.v, space->machine->generic.nvram.size);
+ memcpy (starwars_ram_overlay, space->machine->generic.nvram.v, space->machine->generic.nvram_size);
break;
}
}
diff --git a/src/mame/machine/williams.c b/src/mame/machine/williams.c
index 0f6586e4db8..7d90fcbe987 100644
--- a/src/mame/machine/williams.c
+++ b/src/mame/machine/williams.c
@@ -528,7 +528,7 @@ WRITE8_HANDLER( williams2_bank_select_w )
case 3:
memory_install_readwrite8_handler(space, 0x8000, 0x87ff, 0, 0, (read8_space_func)SMH_BANK(4), williams2_paletteram_w);
memory_set_bank(space->machine, 1, 1 + ((vram_bank & 4) >> 1));
- memory_set_bankptr(space->machine, 4, paletteram);
+ memory_set_bankptr(space->machine, 4, space->machine->generic.paletteram.v);
break;
}
}
@@ -647,14 +647,14 @@ READ8_DEVICE_HANDLER( williams_input_port_49way_0_5_r )
WRITE8_HANDLER( williams_cmos_w )
{
/* only 4 bits are valid */
- space->machine->generic.nvram.ptr.u8[offset] = data | 0xf0;
+ space->machine->generic.nvram.u8[offset] = data | 0xf0;
}
WRITE8_HANDLER( bubbles_cmos_w )
{
/* bubbles has additional CMOS for a full 8 bits */
- space->machine->generic.nvram.ptr.u8[offset] = data;
+ space->machine->generic.nvram.u8[offset] = data;
}
diff --git a/src/mame/video/1942.c b/src/mame/video/1942.c
index c2927a5a5f8..b7ce0acb6bd 100644
--- a/src/mame/video/1942.c
+++ b/src/mame/video/1942.c
@@ -205,7 +205,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rect
_1942_state *state = (_1942_state *)machine->driver_data;
int offs;
- for (offs = spriteram_size - 4; offs >= 0; offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4; offs >= 0; offs -= 4)
{
int i, code, col, sx, sy, dir;
diff --git a/src/mame/video/1943.c b/src/mame/video/1943.c
index 9f0e6fe1849..7520d072277 100644
--- a/src/mame/video/1943.c
+++ b/src/mame/video/1943.c
@@ -229,7 +229,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rect
_1943_state *state = (_1943_state *)machine->driver_data;
int offs;
- for (offs = spriteram_size - 32; offs >= 0; offs -= 32)
+ for (offs = machine->generic.spriteram_size - 32; offs >= 0; offs -= 32)
{
int attr = state->spriteram[offs + 1];
int code = state->spriteram[offs] + ((attr & 0xe0) << 3);
diff --git a/src/mame/video/40love.c b/src/mame/video/40love.c
index 7a6ba2b4a79..2592e385a99 100644
--- a/src/mame/video/40love.c
+++ b/src/mame/video/40love.c
@@ -82,8 +82,8 @@ colorram format (2 bytes per one tilemap character line, 8 pixels height):
static TILE_GET_INFO( get_bg_tile_info )
{
- int tile_number = videoram[tile_index];
- int tile_attrib = colorram[(tile_index/64)*2];
+ int tile_number = machine->generic.videoram.u8[tile_index];
+ int tile_attrib = machine->generic.colorram.u8[(tile_index/64)*2];
int tile_h_bank = (tile_attrib&0x40)<<3; /* 0x40->0x200 */
int tile_l_bank = (tile_attrib&0x18)<<3; /* 0x10->0x80, 0x08->0x40 */
@@ -147,10 +147,10 @@ VIDEO_START( fortyl )
***************************************************************************/
-static void fortyl_set_scroll_x(int offset)
+static void fortyl_set_scroll_x(running_machine *machine, int offset)
{
int i = offset & ~1;
- int x = ((colorram[i] & 0x80) << 1) | colorram[i+1]; /* 9 bits signed */
+ int x = ((machine->generic.colorram.u8[i] & 0x80) << 1) | machine->generic.colorram.u8[i+1]; /* 9 bits signed */
if (fortyl_flipscreen)
x += 0x51;
@@ -177,7 +177,7 @@ WRITE8_HANDLER( fortyl_pixram_sel_w )
fortyl_pix_redraw = 1;
for (offs=0;offs<32;offs++)
- fortyl_set_scroll_x(offs*2);
+ fortyl_set_scroll_x(space->machine, offs*2);
}
}
@@ -231,30 +231,30 @@ WRITE8_HANDLER( fortyl_pixram_w )
WRITE8_HANDLER( fortyl_bg_videoram_w )
{
- videoram[offset]=data;
+ space->machine->generic.videoram.u8[offset]=data;
tilemap_mark_tile_dirty(background,offset);
}
READ8_HANDLER( fortyl_bg_videoram_r )
{
- return videoram[offset];
+ return space->machine->generic.videoram.u8[offset];
}
WRITE8_HANDLER( fortyl_bg_colorram_w )
{
- if( colorram[offset]!=data )
+ if( space->machine->generic.colorram.u8[offset]!=data )
{
int i;
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
for (i=(offset/2)*64; i<(offset/2)*64+64; i++)
tilemap_mark_tile_dirty(background,i);
- fortyl_set_scroll_x(offset);
+ fortyl_set_scroll_x(space->machine, offset);
}
}
READ8_HANDLER( fortyl_bg_colorram_r )
{
- return colorram[offset];
+ return space->machine->generic.colorram.u8[offset];
}
/***************************************************************************
@@ -280,10 +280,12 @@ spriteram format (4 bytes per sprite):
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
+ UINT8 *spriteram_2 = machine->generic.spriteram2.u8;
int offs;
/* spriteram #1 */
- for (offs = 0; offs < spriteram_size; offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 4)
{
int code,color,sx,sy,flipx,flipy;
@@ -311,7 +313,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
}
/* spriteram #2 */
- for (offs = 0; offs < spriteram_2_size; offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram2_size; offs += 4)
{
int code,color,sx,sy,flipx,flipy;
diff --git a/src/mame/video/actfancr.c b/src/mame/video/actfancr.c
index 22e4825b324..d73f1db7668 100644
--- a/src/mame/video/actfancr.c
+++ b/src/mame/video/actfancr.c
@@ -153,6 +153,7 @@ READ8_HANDLER( actfancr_pf2_data_r )
VIDEO_UPDATE( actfancr )
{
actfancr_state *state = (actfancr_state *)screen->machine->driver_data;
+ UINT8 *buffered_spriteram = screen->machine->generic.buffered_spriteram.u8;
int offs, mult;
int scrollx = (state->control_1[0x10] + (state->control_1[0x11] << 8));
int scrolly = (state->control_1[0x12] + (state->control_1[0x13] << 8));
@@ -238,6 +239,7 @@ VIDEO_UPDATE( actfancr )
VIDEO_UPDATE( triothep )
{
actfancr_state *state = (actfancr_state *)screen->machine->driver_data;
+ UINT8 *buffered_spriteram = screen->machine->generic.buffered_spriteram.u8;
int offs, i, mult;
int scrollx = (state->control_1[0x10] + (state->control_1[0x11] << 8));
int scrolly = (state->control_1[0x12] + (state->control_1[0x13] << 8));
diff --git a/src/mame/video/aeroboto.c b/src/mame/video/aeroboto.c
index 4e9f1ae52fd..4bbf8af0e56 100644
--- a/src/mame/video/aeroboto.c
+++ b/src/mame/video/aeroboto.c
@@ -134,7 +134,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rect
aeroboto_state *state = (aeroboto_state *)machine->driver_data;
int offs;
- for (offs = 0; offs < spriteram_size; offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 4)
{
int x = state->spriteram[offs + 3];
int y = 240 - state->spriteram[offs];
diff --git a/src/mame/video/airbustr.c b/src/mame/video/airbustr.c
index 9b03cd0e4a4..f5ec77765f3 100644
--- a/src/mame/video/airbustr.c
+++ b/src/mame/video/airbustr.c
@@ -40,13 +40,13 @@ static bitmap_t *sprites_bitmap;
WRITE8_HANDLER( airbustr_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( airbustr_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -106,8 +106,8 @@ static TILE_GET_INFO( get_fg_tile_info )
static TILE_GET_INFO( get_bg_tile_info )
{
- int attr = colorram[tile_index];
- int code = videoram[tile_index] + ((attr & 0x0f) << 8);
+ int attr = machine->generic.colorram.u8[tile_index];
+ int code = machine->generic.videoram.u8[tile_index] + ((attr & 0x0f) << 8);
int color = (attr >> 4) + 16;
SET_TILE_INFO(0, code, color, 0);
diff --git a/src/mame/video/aliens.c b/src/mame/video/aliens.c
index 901eff1b4a5..868682c2117 100644
--- a/src/mame/video/aliens.c
+++ b/src/mame/video/aliens.c
@@ -53,7 +53,7 @@ static void sprite_callback(int *code,int *color,int *priority_mask,int *shadow)
VIDEO_START( aliens )
{
- paletteram = auto_alloc_array(machine, UINT8, 0x400);
+ machine->generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x400);
layer_colorbase[0] = 0;
layer_colorbase[1] = 4;
diff --git a/src/mame/video/alpha68k.c b/src/mame/video/alpha68k.c
index 65017a00698..d17d93ba738 100644
--- a/src/mame/video/alpha68k.c
+++ b/src/mame/video/alpha68k.c
@@ -35,8 +35,8 @@ WRITE16_HANDLER( alpha68k_paletteram_w )
int newword;
int r,g,b;
- COMBINE_DATA(paletteram16 + offset);
- newword = paletteram16[offset];
+ COMBINE_DATA(space->machine->generic.paletteram.u16 + offset);
+ newword = space->machine->generic.paletteram.u16[offset];
r = ((newword >> 7) & 0x1e) | ((newword >> 14) & 0x01);
g = ((newword >> 3) & 0x1e) | ((newword >> 13) & 0x01);
@@ -49,8 +49,8 @@ WRITE16_HANDLER( alpha68k_paletteram_w )
static TILE_GET_INFO( get_tile_info )
{
- int tile = videoram16[2*tile_index] &0xff;
- int color = videoram16[2*tile_index+1] &0x0f;
+ int tile = machine->generic.videoram.u16[2*tile_index] &0xff;
+ int color = machine->generic.videoram.u16[2*tile_index+1] &0x0f;
tile=tile | (bank_base<<8);
@@ -62,11 +62,11 @@ WRITE16_HANDLER( alpha68k_videoram_w )
/* Doh. */
if(ACCESSING_BITS_0_7)
if(ACCESSING_BITS_8_15)
- videoram16[offset] = data;
+ space->machine->generic.videoram.u16[offset] = data;
else
- videoram16[offset] = data & 0xff;
+ space->machine->generic.videoram.u16[offset] = data & 0xff;
else
- videoram16[offset] = (data >> 8) & 0xff;
+ space->machine->generic.videoram.u16[offset] = (data >> 8) & 0xff;
tilemap_mark_tile_dirty(fix_tilemap,offset/2);
}
@@ -87,6 +87,7 @@ VIDEO_START( alpha68k )
//AT
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int j, int s, int e)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs,mx,my,color,tile,fx,fy,i;
for (offs = s; offs < e; offs += 0x40 )
@@ -225,6 +226,7 @@ WRITE16_HANDLER( alpha68k_V_video_control_w )
static void draw_sprites_V(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int j, int s, int e, int fx_mask, int fy_mask, int sprite_mask)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs,mx,my,color,tile,fx,fy,i;
for (offs = s; offs < e; offs += 0x40 )
@@ -272,6 +274,7 @@ static void draw_sprites_V(running_machine *machine, bitmap_t *bitmap, const rec
VIDEO_UPDATE( alpha68k_V )
{
+ UINT16 *spriteram16 = screen->machine->generic.spriteram.u16;
static int last_bank=0;
if (last_bank!=bank_base)
@@ -331,6 +334,7 @@ VIDEO_UPDATE( alpha68k_V_sb )
//AT
static void draw_sprites_I(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int c, int d, int yshift)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int data, offs, mx, my, tile, color, fy, i;
UINT8 *color_prom = memory_region(machine, "user1");
gfx_element *gfx = machine->gfx[0];
@@ -436,6 +440,7 @@ void jongbou_video_banking(int *bank, int data)
static void kyros_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int c,int d)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs,mx,my,color,tile,i,bank,fy,fx;
int data;
UINT8 *color_prom = memory_region(machine, "user1");
@@ -484,7 +489,7 @@ static void kyros_draw_sprites(running_machine *machine, bitmap_t *bitmap, const
VIDEO_UPDATE( kyros )
{
- colortable_entry_set_value(screen->machine->colortable, 0x100, *videoram16 & 0xff);
+ colortable_entry_set_value(screen->machine->colortable, 0x100, *screen->machine->generic.videoram.u16 & 0xff);
bitmap_fill(bitmap, cliprect, 0x100); //AT
kyros_draw_sprites(screen->machine, bitmap,cliprect,2,0x0800);
@@ -498,6 +503,7 @@ VIDEO_UPDATE( kyros )
static void sstingry_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int c,int d)
{
//AT
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int data,offs,mx,my,color,tile,i,bank,fy,fx;
for (offs=0; offs<0x400; offs+=0x20)
@@ -541,7 +547,7 @@ static void sstingry_draw_sprites(running_machine *machine, bitmap_t *bitmap, co
VIDEO_UPDATE( sstingry )
{
- colortable_entry_set_value(screen->machine->colortable, 0x100, *videoram16 & 0xff);
+ colortable_entry_set_value(screen->machine->colortable, 0x100, *screen->machine->generic.videoram.u16 & 0xff);
bitmap_fill(bitmap, cliprect, 0x100); //AT
sstingry_draw_sprites(screen->machine, bitmap,cliprect,2,0x0800);
diff --git a/src/mame/video/ambush.c b/src/mame/video/ambush.c
index 913da26c8be..763b23b6ea1 100644
--- a/src/mame/video/ambush.c
+++ b/src/mame/video/ambush.c
@@ -54,7 +54,7 @@ static void draw_chars( running_machine *machine, bitmap_t *bitmap, const rectan
transpen = (priority == 0) ? -1 : 0;
- for (offs = 0; offs < videoram_size; offs++)
+ for (offs = 0; offs < machine->generic.videoram_size; offs++)
{
int code, sx, sy, col;
UINT8 scroll;
@@ -99,7 +99,7 @@ VIDEO_UPDATE( ambush )
draw_chars(screen->machine, bitmap, cliprect, 0x00);
/* Draw the sprites. */
- for (offs = spriteram_size - 4; offs >= 0; offs -= 4)
+ for (offs = screen->machine->generic.spriteram_size - 4; offs >= 0; offs -= 4)
{
int code, col, sx, sy, flipx, flipy, gfx;
diff --git a/src/mame/video/ampoker2.c b/src/mame/video/ampoker2.c
index 29c10ff12a4..fc13331cdb9 100644
--- a/src/mame/video/ampoker2.c
+++ b/src/mame/video/ampoker2.c
@@ -114,15 +114,15 @@ PALETTE_INIT( ampoker2 )
WRITE8_HANDLER( ampoker2_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset / 2);
}
static TILE_GET_INFO( get_bg_tile_info )
{
int offs = tile_index * 2;
- int attr = videoram[offs + 1];
- int code = videoram[offs];
+ int attr = machine->generic.videoram.u8[offs + 1];
+ int code = machine->generic.videoram.u8[offs];
int color = attr;
code = code + (256 * (color & 0x03)); /* code = color.bit1 + color.bit0 + code */
color = color >> 1; /* color = color - bit0 (bit1..bit7) */
@@ -133,8 +133,8 @@ static TILE_GET_INFO( get_bg_tile_info )
static TILE_GET_INFO( s2k_get_bg_tile_info )
{
int offs = tile_index * 2;
- int attr = videoram[offs + 1];
- int code = videoram[offs];
+ int attr = machine->generic.videoram.u8[offs + 1];
+ int code = machine->generic.videoram.u8[offs];
int color = attr;
code = code + (256 * (color & 0x0f)); /* the game uses 2 extra bits */
color = color >> 1;
diff --git a/src/mame/video/amspdwy.c b/src/mame/video/amspdwy.c
index b3a01c0b0a1..ecf3cc169a1 100644
--- a/src/mame/video/amspdwy.c
+++ b/src/mame/video/amspdwy.c
@@ -47,8 +47,8 @@ WRITE8_HANDLER( amspdwy_flipscreen_w )
static TILE_GET_INFO( get_tile_info )
{
- UINT8 code = videoram[ tile_index ];
- UINT8 color = colorram[ tile_index ];
+ UINT8 code = machine->generic.videoram.u8[ tile_index ];
+ UINT8 color = machine->generic.colorram.u8[ tile_index ];
SET_TILE_INFO(
0,
code + ((color & 0x18)<<5),
@@ -58,13 +58,13 @@ static TILE_GET_INFO( get_tile_info )
WRITE8_HANDLER( amspdwy_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( amspdwy_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -104,11 +104,12 @@ Offset: Format: Value:
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int i;
int max_x = video_screen_get_width(machine->primary_screen) - 1;
int max_y = video_screen_get_height(machine->primary_screen) - 1;
- for (i = 0; i < spriteram_size ; i += 4)
+ for (i = 0; i < machine->generic.spriteram_size ; i += 4)
{
int y = spriteram[i+0];
int x = spriteram[i+1];
diff --git a/src/mame/video/aquarium.c b/src/mame/video/aquarium.c
index 62b4242231c..8c42edab7f5 100644
--- a/src/mame/video/aquarium.c
+++ b/src/mame/video/aquarium.c
@@ -12,7 +12,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rect
UINT8 col, flipx, flipy, chain;
UINT16 code;
- for (offs = 0; offs < spriteram_size / 2; offs += 8)
+ for (offs = 0; offs < machine->generic.spriteram_size / 2; offs += 8)
{
code = ((state->spriteram[offs + 5]) & 0xff) + (((state->spriteram[offs + 6]) & 0xff) << 8);
code &= 0x3fff;
diff --git a/src/mame/video/argus.c b/src/mame/video/argus.c
index 9a4654fcab0..50f0e753d7d 100644
--- a/src/mame/video/argus.c
+++ b/src/mame/video/argus.c
@@ -873,10 +873,11 @@ static void argus_bg0_scroll_handle(running_machine *machine)
static void argus_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int priority)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
/* Draw the sprites */
- for (offs = 0; offs < spriteram_size; offs += 16)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 16)
{
if (!(spriteram[offs+15] == 0 && spriteram[offs+11] == 0xf0))
{
@@ -1007,10 +1008,11 @@ static void valtric_draw_mosaic(const device_config *screen, bitmap_t *bitmap, c
static void valtric_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
/* Draw the sprites */
- for (offs = 0; offs < spriteram_size; offs += 16)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 16)
{
if (!(spriteram[offs+15] == 0 && spriteram[offs+11] == 0xf0))
{
@@ -1045,10 +1047,11 @@ static void valtric_draw_sprites(running_machine *machine, bitmap_t *bitmap, con
static void butasan_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
/* Draw the sprites */
- for (offs = 0; offs < spriteram_size; offs += 16)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 16)
{
int sx, sy, tile, flipx, flipy, color;
int fx, fy;
@@ -1159,11 +1162,12 @@ static void butasan_log_vram(running_machine *machine)
if (input_code_pressed(machine, KEYCODE_M))
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int i;
logerror("\nSprite RAM\n");
logerror("---------------------------------------\n");
logerror(" +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +a +b +c +d +e +f\n");
- for (offs = 0; offs < spriteram_size; offs += 16)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 16)
{
for (i = 0; i < 16; i++)
{
diff --git a/src/mame/video/arkanoid.c b/src/mame/video/arkanoid.c
index 9c5ee164655..06973fe92e4 100644
--- a/src/mame/video/arkanoid.c
+++ b/src/mame/video/arkanoid.c
@@ -142,7 +142,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rect
arkanoid_state *state = (arkanoid_state *)machine->driver_data;
int offs;
- for (offs = 0; offs < spriteram_size; offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 4)
{
int sx, sy, code;
diff --git a/src/mame/video/armedf.c b/src/mame/video/armedf.c
index 5b59f9d7b0c..ee7f60a477d 100644
--- a/src/mame/video/armedf.c
+++ b/src/mame/video/armedf.c
@@ -224,10 +224,11 @@ WRITE16_HANDLER( armedf_mcu_cmd )
static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int priority )
{
+ UINT16 *buffered_spriteram16 = machine->generic.buffered_spriteram.u16;
armedf_state *state = (armedf_state *)machine->driver_data;
int offs;
- for (offs = 0; offs < spriteram_size / 2; offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram_size / 2; offs += 4)
{
int code = buffered_spriteram16[offs + 1]; /* ??YX?TTTTTTTTTTT */
int flipx = code & 0x2000;
diff --git a/src/mame/video/astrocde.c b/src/mame/video/astrocde.c
index 6edb324ad45..b075a8c35d1 100644
--- a/src/mame/video/astrocde.c
+++ b/src/mame/video/astrocde.c
@@ -341,7 +341,7 @@ VIDEO_UPDATE( astrocde )
int xx;
/* select either video data or background data */
- data = (effx >= 0 && effx < 80 && effy >= 0 && effy < vblank) ? videoram[offset++] : bgdata;
+ data = (effx >= 0 && effx < 80 && effy >= 0 && effy < vblank) ? screen->machine->generic.videoram.u8[offset++] : bgdata;
/* iterate over the 4 pixels */
for (xx = 0; xx < 4; xx++)
diff --git a/src/mame/video/atarisy2.c b/src/mame/video/atarisy2.c
index 8b12e69fd67..3f99018a0a0 100644
--- a/src/mame/video/atarisy2.c
+++ b/src/mame/video/atarisy2.c
@@ -233,8 +233,8 @@ WRITE16_HANDLER( atarisy2_paletteram_w )
int newword, inten, red, green, blue;
- COMBINE_DATA(&paletteram16[offset]);
- newword = paletteram16[offset];
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
+ newword = space->machine->generic.paletteram.u16[offset];
inten = intensity_table[newword & 15];
red = (color_table[(newword >> 12) & 15] * inten) >> 4;
diff --git a/src/mame/video/atetris.c b/src/mame/video/atetris.c
index bd4e06a3a2d..4a69832a280 100644
--- a/src/mame/video/atetris.c
+++ b/src/mame/video/atetris.c
@@ -19,8 +19,8 @@ static tilemap *bg_tilemap;
static TILE_GET_INFO( get_tile_info )
{
- int code = videoram[tile_index * 2] | ((videoram[tile_index * 2 + 1] & 7) << 8);
- int color = (videoram[tile_index * 2 + 1] & 0xf0) >> 4;
+ int code = machine->generic.videoram.u8[tile_index * 2] | ((machine->generic.videoram.u8[tile_index * 2 + 1] & 7) << 8);
+ int color = (machine->generic.videoram.u8[tile_index * 2 + 1] & 0xf0) >> 4;
SET_TILE_INFO(0, code, color, 0);
}
@@ -35,7 +35,7 @@ static TILE_GET_INFO( get_tile_info )
WRITE8_HANDLER( atetris_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset / 2);
}
diff --git a/src/mame/video/bagman.c b/src/mame/video/bagman.c
index 1ead4d8b2e0..9c04d78222c 100644
--- a/src/mame/video/bagman.c
+++ b/src/mame/video/bagman.c
@@ -18,13 +18,13 @@ static tilemap *bg_tilemap;
WRITE8_HANDLER( bagman_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( bagman_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -95,9 +95,9 @@ WRITE8_HANDLER( bagman_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int gfxbank = (machine->gfx[2] && (colorram[tile_index] & 0x10)) ? 2 : 0;
- int code = videoram[tile_index] + 8 * (colorram[tile_index] & 0x20);
- int color = colorram[tile_index] & 0x0f;
+ int gfxbank = (machine->gfx[2] && (machine->generic.colorram.u8[tile_index] & 0x10)) ? 2 : 0;
+ int code = machine->generic.videoram.u8[tile_index] + 8 * (machine->generic.colorram.u8[tile_index] & 0x20);
+ int color = machine->generic.colorram.u8[tile_index] & 0x0f;
SET_TILE_INFO(gfxbank, code, color, 0);
}
@@ -110,9 +110,10 @@ VIDEO_START( bagman )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = spriteram_size - 4;offs >= 0;offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4;offs >= 0;offs -= 4)
{
int sx,sy,flipx,flipy;
diff --git a/src/mame/video/balsente.c b/src/mame/video/balsente.c
index 38d44d388fe..44fe7e8ac0f 100644
--- a/src/mame/video/balsente.c
+++ b/src/mame/video/balsente.c
@@ -60,7 +60,7 @@ VIDEO_START( balsente )
WRITE8_HANDLER( balsente_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
/* expand the two pixel values into two bytes */
local_videoram[offset * 2 + 0] = data >> 4;
@@ -100,11 +100,11 @@ WRITE8_HANDLER( balsente_paletteram_w )
{
int r, g, b;
- paletteram[offset] = data & 0x0f;
+ space->machine->generic.paletteram.u8[offset] = data & 0x0f;
- r = paletteram[(offset & ~3) + 0];
- g = paletteram[(offset & ~3) + 1];
- b = paletteram[(offset & ~3) + 2];
+ 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];
palette_set_color_rgb(space->machine, offset / 4, pal4bit(r), pal4bit(g), pal4bit(b));
}
@@ -231,7 +231,7 @@ VIDEO_UPDATE( balsente )
/* draw the sprite images */
for (i = 0; i < 40; i++)
- draw_one_sprite(screen->machine, bitmap, cliprect, &spriteram[(0xe0 + i * 4) & 0xff]);
+ draw_one_sprite(screen->machine, bitmap, cliprect, &screen->machine->generic.spriteram.u8[(0xe0 + i * 4) & 0xff]);
return 0;
}
diff --git a/src/mame/video/baraduke.c b/src/mame/video/baraduke.c
index 7a1ad0eea89..da1837b95b9 100644
--- a/src/mame/video/baraduke.c
+++ b/src/mame/video/baraduke.c
@@ -130,7 +130,7 @@ VIDEO_START( baraduke )
tilemap_set_scrolldx(tx_tilemap,0,512-288);
tilemap_set_scrolldy(tx_tilemap,16,16);
- spriteram = baraduke_spriteram + 0x1800;
+ machine->generic.spriteram.u8 = baraduke_spriteram + 0x1800;
}
@@ -216,11 +216,11 @@ WRITE8_HANDLER( baraduke_spriteram_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int sprite_priority)
{
- const UINT8 *source = &spriteram[0];
- const UINT8 *finish = &spriteram[0x0800-16]; /* the last is NOT a sprite */
+ const UINT8 *source = &machine->generic.spriteram.u8[0];
+ const UINT8 *finish = &machine->generic.spriteram.u8[0x0800-16]; /* the last is NOT a sprite */
- int sprite_xoffs = spriteram[0x07f5] - 256 * (spriteram[0x07f4] & 1);
- int sprite_yoffs = spriteram[0x07f7];
+ int sprite_xoffs = machine->generic.spriteram.u8[0x07f5] - 256 * (machine->generic.spriteram.u8[0x07f4] & 1);
+ int sprite_yoffs = machine->generic.spriteram.u8[0x07f7];
while( source<finish )
{
@@ -312,7 +312,7 @@ VIDEO_UPDATE( baraduke )
/* flip screen is embedded in the sprite control registers */
/* can't use flip_screen_set(screen->machine, ) because the visible area is asymmetrical */
- flip_screen_set_no_update(screen->machine, spriteram[0x07f6] & 0x01);
+ flip_screen_set_no_update(screen->machine, screen->machine->generic.spriteram.u8[0x07f6] & 0x01);
tilemap_set_flip_all(screen->machine,flip_screen_get(screen->machine) ? (TILEMAP_FLIPX | TILEMAP_FLIPY) : 0);
set_scroll(screen->machine, 0);
set_scroll(screen->machine, 1);
@@ -341,7 +341,7 @@ VIDEO_EOF( baraduke )
for (i = 0;i < 0x800;i += 16)
{
for (j = 10;j < 16;j++)
- spriteram[i+j] = spriteram[i+j - 6];
+ machine->generic.spriteram.u8[i+j] = machine->generic.spriteram.u8[i+j - 6];
}
copy_sprites = 0;
diff --git a/src/mame/video/battlera.c b/src/mame/video/battlera.c
index 89357b7bc84..f0c5c8c1410 100644
--- a/src/mame/video/battlera.c
+++ b/src/mame/video/battlera.c
@@ -52,10 +52,10 @@ WRITE8_HANDLER( battlera_palette_w )
{
int pal_word;
- paletteram[offset]=data;
+ space->machine->generic.paletteram.u8[offset]=data;
if (offset%2) offset-=1;
- pal_word=paletteram[offset] | (paletteram[offset+1]<<8);
+ pal_word=space->machine->generic.paletteram.u8[offset] | (space->machine->generic.paletteram.u8[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/bbusters.c b/src/mame/video/bbusters.c
index e4045009848..edeeca0a11f 100644
--- a/src/mame/video/bbusters.c
+++ b/src/mame/video/bbusters.c
@@ -33,7 +33,7 @@ UINT16 *bbusters_pf1_data,*bbusters_pf2_data,*bbusters_pf1_scroll_data,*bbusters
static TILE_GET_INFO( get_bbusters_tile_info )
{
- UINT16 tile=videoram16[tile_index];
+ UINT16 tile=machine->generic.videoram.u16[tile_index];
SET_TILE_INFO(0,tile&0xfff,tile>>12,0);
}
@@ -51,7 +51,7 @@ static TILE_GET_INFO( get_pf2_tile_info )
WRITE16_HANDLER( bbusters_video_w )
{
- COMBINE_DATA(&videoram16[offset]);
+ COMBINE_DATA(&space->machine->generic.videoram.u16[offset]);
tilemap_mark_tile_dirty(fix_tilemap,offset);
}
@@ -273,10 +273,10 @@ VIDEO_UPDATE( bbuster )
tilemap_set_scrolly( pf2_tilemap,0, bbusters_pf2_scroll_data[1] );
tilemap_draw(bitmap,cliprect,pf2_tilemap,0,0);
-// draw_sprites(screen->machine,bitmap,buffered_spriteram16_2,2,0x8,0x8);
+// draw_sprites(screen->machine,bitmap,screen->machine->generic.buffered_spriteram2.u16,2,0x8,0x8);
tilemap_draw(bitmap,cliprect,pf1_tilemap,0,0);
- draw_sprites(screen->machine,bitmap,buffered_spriteram16_2,2,0,0);
- draw_sprites(screen->machine,bitmap,buffered_spriteram16,1,0,0);
+ draw_sprites(screen->machine,bitmap,screen->machine->generic.buffered_spriteram2.u16,2,0,0);
+ draw_sprites(screen->machine,bitmap,screen->machine->generic.buffered_spriteram.u16,1,0,0);
tilemap_draw(bitmap,cliprect,fix_tilemap,0,0);
return 0;
}
@@ -290,7 +290,7 @@ VIDEO_UPDATE( mechatt )
tilemap_draw(bitmap,cliprect,pf2_tilemap,0,0);
tilemap_draw(bitmap,cliprect,pf1_tilemap,0,0);
- draw_sprites(screen->machine,bitmap,buffered_spriteram16,1,0,0);
+ draw_sprites(screen->machine,bitmap,screen->machine->generic.buffered_spriteram.u16,1,0,0);
tilemap_draw(bitmap,cliprect,fix_tilemap,0,0);
return 0;
}
diff --git a/src/mame/video/beathead.c b/src/mame/video/beathead.c
index 90e0773ce3c..178c84bd906 100644
--- a/src/mame/video/beathead.c
+++ b/src/mame/video/beathead.c
@@ -61,7 +61,7 @@ WRITE32_HANDLER( beathead_vram_transparent_w )
if (!(data & 0x0000ff00)) mem_mask &= ~0x0000ff00;
if (!(data & 0x00ff0000)) mem_mask &= ~0x00ff0000;
if (!(data & 0xff000000)) mem_mask &= ~0xff000000;
- COMBINE_DATA(&videoram32[offset]);
+ COMBINE_DATA(&space->machine->generic.videoram.u32[offset]);
}
@@ -74,10 +74,10 @@ WRITE32_HANDLER( beathead_vram_bulk_w )
/* for now, just handle the bulk fill case; the others we'll catch later */
if (data == 0x0f0f0f0f)
- videoram32[offset+0] =
- videoram32[offset+1] =
- videoram32[offset+2] =
- videoram32[offset+3] = *beathead_vram_bulk_latch;
+ space->machine->generic.videoram.u32[offset+0] =
+ space->machine->generic.videoram.u32[offset+1] =
+ space->machine->generic.videoram.u32[offset+2] =
+ space->machine->generic.videoram.u32[offset+3] = *beathead_vram_bulk_latch;
else
logerror("Detected bulk VRAM write with mask %08x\n", data);
}
@@ -94,7 +94,7 @@ WRITE32_HANDLER( beathead_vram_copy_w )
{
/* copy from VRAM to VRAM, for 1024 bytes */
offs_t dest_offset = (4 * offset) & 0x7ffff;
- memcpy(&videoram32[dest_offset / 4], &videoram32[vram_latch_offset / 4], 0x400);
+ memcpy(&space->machine->generic.videoram.u32[dest_offset / 4], &space->machine->generic.videoram.u32[vram_latch_offset / 4], 0x400);
}
@@ -128,7 +128,7 @@ WRITE32_HANDLER( beathead_finescroll_w )
WRITE32_HANDLER( beathead_palette_w )
{
- int newword = COMBINE_DATA(&paletteram32[offset]);
+ int newword = COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
int r = ((newword >> 9) & 0x3e) | ((newword >> 15) & 0x01);
int g = ((newword >> 4) & 0x3e) | ((newword >> 15) & 0x01);
int b = ((newword << 1) & 0x3e) | ((newword >> 15) & 0x01);
@@ -181,6 +181,7 @@ WRITE32_HANDLER( beathead_hsync_ram_w )
VIDEO_UPDATE( beathead )
{
+ UINT8 *videoram = screen->machine->generic.videoram.u8;
int x, y;
/* generate the final screen */
@@ -202,7 +203,7 @@ VIDEO_UPDATE( beathead )
/* unswizzle the scanline first */
for (x = cliprect->min_x; x <= cliprect->max_x; x++)
- scanline[x] = pen_base | ((UINT8 *)videoram32)[BYTE4_XOR_LE(src++)];
+ scanline[x] = pen_base | videoram[BYTE4_XOR_LE(src++)];
}
/* then draw it */
diff --git a/src/mame/video/beezer.c b/src/mame/video/beezer.c
index 25bed89aadf..83f01259d98 100644
--- a/src/mame/video/beezer.c
+++ b/src/mame/video/beezer.c
@@ -24,8 +24,8 @@ VIDEO_UPDATE( beezer )
for (y = cliprect->min_y; y <= cliprect->max_y; y+=2)
for (x = cliprect->min_x; x <= cliprect->max_x; x++)
{
- *BITMAP_ADDR16(bitmap, y+1, x) = videoram[0x80*y+x] & 0x0f;
- *BITMAP_ADDR16(bitmap, y, x) = videoram[0x80*y+x] >> 4;
+ *BITMAP_ADDR16(bitmap, y+1, x) = screen->machine->generic.videoram.u8[0x80*y+x] & 0x0f;
+ *BITMAP_ADDR16(bitmap, y, x) = screen->machine->generic.videoram.u8[0x80*y+x] >> 4;
}
return 0;
diff --git a/src/mame/video/bionicc.c b/src/mame/video/bionicc.c
index 50a2d897698..ebd32043474 100644
--- a/src/mame/video/bionicc.c
+++ b/src/mame/video/bionicc.c
@@ -209,11 +209,12 @@ WRITE16_HANDLER( bionicc_gfxctrl_w )
static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
+ UINT16 *buffered_spriteram16 = machine->generic.buffered_spriteram.u16;
// bionicc_state *state = (bionicc_state *)machine->driver_data;
int offs;
const gfx_element *gfx = machine->gfx[3];
- for (offs = (spriteram_size - 8) / 2; offs >= 0; offs -= 4)
+ for (offs = (machine->generic.spriteram_size - 8) / 2; offs >= 0; offs -= 4)
{
int tile_number = buffered_spriteram16[offs] & 0x7ff;
if( tile_number != 0x7ff )
diff --git a/src/mame/video/bladestl.c b/src/mame/video/bladestl.c
index 6ac0763db1f..0c5eee62a6d 100644
--- a/src/mame/video/bladestl.c
+++ b/src/mame/video/bladestl.c
@@ -25,17 +25,17 @@ PALETTE_INIT( bladestl )
}
-static void set_pens(colortable_t *colortable)
+static void set_pens(running_machine *machine)
{
int i;
for (i = 0x00; i < 0x60; i += 2)
{
- UINT16 data = paletteram[i | 1] | (paletteram[i] << 8);
+ UINT16 data = machine->generic.paletteram.u8[i | 1] | (machine->generic.paletteram.u8[i] << 8);
rgb_t color = MAKE_RGB(pal5bit(data >> 0), pal5bit(data >> 5), pal5bit(data >> 10));
- colortable_palette_set_color(colortable, i >> 1, color);
+ colortable_palette_set_color(machine->colortable, i >> 1, color);
}
}
@@ -90,7 +90,7 @@ VIDEO_START( bladestl )
VIDEO_UPDATE( bladestl )
{
- set_pens(screen->machine->colortable);
+ set_pens(screen->machine);
K007342_tilemap_update();
diff --git a/src/mame/video/blktiger.c b/src/mame/video/blktiger.c
index bfd94b50e4f..48d2f9ca21d 100644
--- a/src/mame/video/blktiger.c
+++ b/src/mame/video/blktiger.c
@@ -197,10 +197,11 @@ WRITE8_HANDLER( blktiger_screen_layout_w )
static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
// blktiger_state *state = (blktiger_state *)machine->driver_data;
+ UINT8 *buffered_spriteram = machine->generic.buffered_spriteram.u8;
int offs;
/* Draw the sprites. */
- for (offs = spriteram_size - 4;offs >= 0;offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4;offs >= 0;offs -= 4)
{
int attr = buffered_spriteram[offs+1];
int sx = buffered_spriteram[offs + 3] - ((attr & 0x10) << 4);
diff --git a/src/mame/video/blmbycar.c b/src/mame/video/blmbycar.c
index 76d798d51fd..5572ce3913f 100644
--- a/src/mame/video/blmbycar.c
+++ b/src/mame/video/blmbycar.c
@@ -171,7 +171,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rect
UINT16 *source, *finish;
source = state->spriteram16 + 0x6 / 2; // !
- finish = state->spriteram16 + spriteram_size / 2 - 8 / 2;
+ finish = state->spriteram16 + machine->generic.spriteram_size / 2 - 8 / 2;
/* Find "the end of sprites" marker */
diff --git a/src/mame/video/bloodbro.c b/src/mame/video/bloodbro.c
index b044003fb4a..eca03ba1a49 100644
--- a/src/mame/video/bloodbro.c
+++ b/src/mame/video/bloodbro.c
@@ -145,8 +145,9 @@ WRITE16_HANDLER( bloodbro_txvideoram_w )
static void bloodbro_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
- for (offs = 0;offs < spriteram_size/2;offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram_size/2;offs += 4)
{
int sx,sy,x,y,width,height,attributes,tile_number,color,flipx,flipy,pri_mask;
@@ -192,10 +193,11 @@ static void bloodbro_draw_sprites(running_machine *machine, bitmap_t *bitmap, co
static void weststry_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
/* TODO: the last two entries are not sprites - control registers? */
- for (offs = 0;offs < spriteram_size/2 - 8;offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram_size/2 - 8;offs += 4)
{
int data = spriteram16[offs+2];
int data0 = spriteram16[offs+0];
diff --git a/src/mame/video/blueprnt.c b/src/mame/video/blueprnt.c
index 24c0fb60d4e..0de64ca2446 100644
--- a/src/mame/video/blueprnt.c
+++ b/src/mame/video/blueprnt.c
@@ -103,7 +103,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rect
blueprnt_state *state = (blueprnt_state *)machine->driver_data;
int offs;
- for (offs = 0; offs < spriteram_size; offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 4)
{
int code = state->spriteram[offs + 1];
int sx = state->spriteram[offs + 3];
diff --git a/src/mame/video/bogeyman.c b/src/mame/video/bogeyman.c
index 7b99b1fa752..a5dc3922b50 100644
--- a/src/mame/video/bogeyman.c
+++ b/src/mame/video/bogeyman.c
@@ -109,7 +109,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rect
bogeyman_state *state = (bogeyman_state *)machine->driver_data;
int offs;
- for (offs = 0; offs < spriteram_size; offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 4)
{
int attr = state->spriteram[offs];
diff --git a/src/mame/video/bombjack.c b/src/mame/video/bombjack.c
index d2e36971f2c..794089b4b10 100644
--- a/src/mame/video/bombjack.c
+++ b/src/mame/video/bombjack.c
@@ -80,7 +80,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rect
bombjack_state *state = (bombjack_state *)machine->driver_data;
int offs;
- for (offs = spriteram_size - 4; offs >= 0; offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4; offs >= 0; offs -= 4)
{
/*
diff --git a/src/mame/video/boogwing.c b/src/mame/video/boogwing.c
index be8f261aa47..b28a69f8867 100644
--- a/src/mame/video/boogwing.c
+++ b/src/mame/video/boogwing.c
@@ -194,8 +194,8 @@ VIDEO_UPDATE(boogwing)
deco16_tilemap_2_draw(screen,bitmap,cliprect,0,32);
}
- draw_sprites(screen->machine, bitmap, cliprect, buffered_spriteram16, 3);
- draw_sprites(screen->machine, bitmap, cliprect, buffered_spriteram16_2, 4);
+ draw_sprites(screen->machine, bitmap, cliprect, screen->machine->generic.buffered_spriteram.u16, 3);
+ draw_sprites(screen->machine, bitmap, cliprect, screen->machine->generic.buffered_spriteram2.u16, 4);
deco16_tilemap_1_draw(screen,bitmap,cliprect,0,0);
return 0;
diff --git a/src/mame/video/bosco.c b/src/mame/video/bosco.c
index 0172c30e30b..df2ca2e767b 100644
--- a/src/mame/video/bosco.c
+++ b/src/mame/video/bosco.c
@@ -144,9 +144,9 @@ VIDEO_START( bosco )
tilemap_set_scrolldx(bg_tilemap,3,3);
- spriteram_size = 0x0c;
- spriteram = bosco_videoram + 0x03d4;
- spriteram_2 = spriteram + 0x0800;
+ machine->generic.spriteram_size = 0x0c;
+ machine->generic.spriteram.u8 = bosco_videoram + 0x03d4;
+ machine->generic.spriteram2.u8 = machine->generic.spriteram.u8 + 0x0800;
bosco_radarx = bosco_videoram + 0x03f0;
bosco_radary = bosco_radarx + 0x0800;
@@ -213,9 +213,11 @@ WRITE8_HANDLER( bosco_starclr_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
+ UINT8 *spriteram_2 = machine->generic.spriteram2.u8;
int offs;
- for (offs = 0;offs < spriteram_size;offs += 2)
+ for (offs = 0;offs < machine->generic.spriteram_size;offs += 2)
{
int sx = spriteram[offs + 1] - 1;
int sy = 240 - spriteram_2[offs];
diff --git a/src/mame/video/brkthru.c b/src/mame/video/brkthru.c
index 11e34d9ef9e..37f2e76503b 100644
--- a/src/mame/video/brkthru.c
+++ b/src/mame/video/brkthru.c
@@ -189,7 +189,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rect
---- ---- ---- ---- ---- ---- xxxx xxxx = X position
*/
- for (offs = 0;offs < spriteram_size; offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram_size; offs += 4)
{
if ((state->spriteram[offs] & 0x09) == prio) /* Enable && Low Priority */
{
diff --git a/src/mame/video/btime.c b/src/mame/video/btime.c
index ec4f3359e8b..7dfe3fb0fe9 100644
--- a/src/mame/video/btime.c
+++ b/src/mame/video/btime.c
@@ -304,7 +304,7 @@ static void draw_chars( running_machine *machine, bitmap_t *bitmap, const rectan
btime_state *state = (btime_state *)machine->driver_data;
offs_t offs;
- for (offs = 0; offs < videoram_size; offs++)
+ for (offs = 0; offs < machine->generic.videoram_size; offs++)
{
UINT8 x = 31 - (offs / 32);
UINT8 y = offs % 32;
diff --git a/src/mame/video/buggychl.c b/src/mame/video/buggychl.c
index 14b872b35af..2689a2f5137 100644
--- a/src/mame/video/buggychl.c
+++ b/src/mame/video/buggychl.c
@@ -103,7 +103,7 @@ static void draw_bg(running_machine *machine, bitmap_t *bitmap, const rectangle
for (offs = 0;offs < 0x400;offs++)
{
- int code = videoram[0x400+offs];
+ int code = machine->generic.videoram.u8[0x400+offs];
int sx = offs % 32;
int sy = offs / 32;
@@ -146,7 +146,7 @@ static void draw_fg(running_machine *machine, bitmap_t *bitmap, const rectangle
/* the following line is most likely wrong */
int transpen = (bg_on && sx >= 22) ? -1 : 0;
- int code = videoram[offs];
+ int code = machine->generic.videoram.u8[offs];
if (flipx) sx = 31 - sx;
if (flipy) sy = 31 - sy;
@@ -163,13 +163,14 @@ static void draw_fg(running_machine *machine, bitmap_t *bitmap, const rectangle
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
const UINT8 *gfx;
profiler_mark_start(PROFILER_USER1);
gfx = memory_region(machine, "gfx2");
- for (offs = 0;offs < spriteram_size;offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram_size;offs += 4)
{
int sx,sy,flipy,zoom,ch,x,px,y;
const UINT8 *lookup;
diff --git a/src/mame/video/bwing.c b/src/mame/video/bwing.c
index 07238508365..9addfd814bc 100644
--- a/src/mame/video/bwing.c
+++ b/src/mame/video/bwing.c
@@ -57,7 +57,7 @@ const gfx_layout bwing_tilelayout =
WRITE8_HANDLER( bwing_spriteram_w )
{
- buffered_spriteram[offset] = data;
+ space->machine->generic.buffered_spriteram.u8[offset] = data;
}
WRITE8_HANDLER( bwing_videoram_w )
@@ -316,7 +316,7 @@ VIDEO_UPDATE( bwing )
bitmap_fill(bitmap, cliprect, get_black_pen(screen->machine));
// draw low priority sprites
- draw_sprites(screen->machine, bitmap, cliprect, buffered_spriteram, 0);
+ draw_sprites(screen->machine, bitmap, cliprect, screen->machine->generic.buffered_spriteram.u8, 0);
// draw foreground
if (!(state->mapmask & 2))
@@ -330,7 +330,7 @@ VIDEO_UPDATE( bwing )
}
// draw high priority sprites
- draw_sprites(screen->machine, bitmap, cliprect, buffered_spriteram, 1);
+ draw_sprites(screen->machine, bitmap, cliprect, screen->machine->generic.buffered_spriteram.u8, 1);
// draw text layer
// if (state->mapmask & 4)
diff --git a/src/mame/video/cabal.c b/src/mame/video/cabal.c
index b420d3851a4..570880bd630 100644
--- a/src/mame/video/cabal.c
+++ b/src/mame/video/cabal.c
@@ -13,7 +13,7 @@ static tilemap *background_layer,*text_layer;
static TILE_GET_INFO( get_back_tile_info )
{
- int tile = videoram16[tile_index];
+ int tile = machine->generic.videoram.u16[tile_index];
int color = (tile>>12)&0xf;
tile &= 0xfff;
@@ -27,7 +27,7 @@ static TILE_GET_INFO( get_back_tile_info )
static TILE_GET_INFO( get_text_tile_info )
{
- int tile = colorram16[tile_index];
+ int tile = machine->generic.colorram.u16[tile_index];
int color = (tile>>10);
tile &= 0x3ff;
@@ -66,13 +66,13 @@ WRITE16_HANDLER( cabal_flipscreen_w )
WRITE16_HANDLER( cabal_background_videoram16_w )
{
- COMBINE_DATA(&videoram16[offset]);
+ COMBINE_DATA(&space->machine->generic.videoram.u16[offset]);
tilemap_mark_tile_dirty(background_layer,offset);
}
WRITE16_HANDLER( cabal_text_videoram16_w )
{
- COMBINE_DATA(&colorram16[offset]);
+ COMBINE_DATA(&space->machine->generic.colorram.u16[offset]);
tilemap_mark_tile_dirty(text_layer,offset);
}
@@ -100,9 +100,10 @@ WRITE16_HANDLER( cabal_text_videoram16_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs,data0,data1,data2;
- for( offs = spriteram_size/2 - 4; offs >= 0; offs -= 4 )
+ for( offs = machine->generic.spriteram_size/2 - 4; offs >= 0; offs -= 4 )
{
data0 = spriteram16[offs];
data1 = spriteram16[offs+1];
diff --git a/src/mame/video/calomega.c b/src/mame/video/calomega.c
index c6f984bd7bb..ba809ca3412 100644
--- a/src/mame/video/calomega.c
+++ b/src/mame/video/calomega.c
@@ -19,13 +19,13 @@ static tilemap *bg_tilemap;
WRITE8_HANDLER( calomega_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( calomega_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -37,8 +37,8 @@ static TILE_GET_INFO( get_bg_tile_info )
---- --x- tiles bank.
xx-- ---x seems unused. */
- int attr = colorram[tile_index];
- int code = videoram[tile_index];
+ int attr = machine->generic.colorram.u8[tile_index];
+ int code = machine->generic.videoram.u8[tile_index];
int bank = (attr & 0x02) >> 1; /* bit 1 switch the gfx banks */
int color = (attr & 0x3c); /* bits 2-3-4-5 for color */
diff --git a/src/mame/video/carjmbre.c b/src/mame/video/carjmbre.c
index 54295b1ac73..981231fe208 100644
--- a/src/mame/video/carjmbre.c
+++ b/src/mame/video/carjmbre.c
@@ -118,11 +118,11 @@ VIDEO_UPDATE( carjmbre )
//----x--- ?? probably colour
//-----xxx colour
//+3 x pos
- for (offs = spriteram_size - 4; offs >= 0; offs -= 4)
+ for (offs = screen->machine->generic.spriteram_size - 4; offs >= 0; offs -= 4)
{
//before copying the sprites to spriteram the game reorders the first
//sprite to last, sprite ordering is incorrect if this isn't undone
- troffs = (offs - 4 + spriteram_size) % spriteram_size;
+ troffs = (offs - 4 + screen->machine->generic.spriteram_size) % screen->machine->generic.spriteram_size;
//unused sprites are marked with ypos <= 0x02 (or >= 0xfd if screen flipped)
if (state->spriteram[troffs] > 0x02 && state->spriteram[troffs] < 0xfd)
diff --git a/src/mame/video/cave.c b/src/mame/video/cave.c
index c3d78e9cfb4..1ccad25f856 100644
--- a/src/mame/video/cave.c
+++ b/src/mame/video/cave.c
@@ -249,7 +249,7 @@ static void set_pens(running_machine *machine)
for (pen = 0; pen < machine->config->total_colors; pen++)
{
- UINT16 data = paletteram16[palette_map[pen]];
+ UINT16 data = machine->generic.paletteram.u16[palette_map[pen]];
rgb_t color = MAKE_RGB(pal5bit(data >> 5), pal5bit(data >> 10), pal5bit(data >> 0));
@@ -577,12 +577,12 @@ static void get_sprite_info_cave(running_machine *machine)
int max_x = video_screen_get_width(machine->primary_screen);
int max_y = video_screen_get_height(machine->primary_screen);
- source = spriteram16 + ((spriteram_size/2) / 2) * spriteram_bank;
+ source = machine->generic.spriteram.u16 + ((machine->generic.spriteram_size/2) / 2) * spriteram_bank;
if (cave_videoregs[ 4 ] & 0x02)
- if (cave_spriteram16_2) source = cave_spriteram16_2 + ((spriteram_size/2) / 2) * spriteram_bank;
+ if (cave_spriteram16_2) source = cave_spriteram16_2 + ((machine->generic.spriteram_size/2) / 2) * spriteram_bank;
- finish = source + ((spriteram_size/2) / 2);
+ finish = source + ((machine->generic.spriteram_size/2) / 2);
for (; source < finish; source+=8 )
@@ -704,12 +704,12 @@ static void get_sprite_info_donpachi(running_machine *machine)
int max_x = video_screen_get_width(machine->primary_screen);
int max_y = video_screen_get_height(machine->primary_screen);
- source = spriteram16 + ((spriteram_size/2) / 2) * spriteram_bank;
+ source = machine->generic.spriteram.u16 + ((machine->generic.spriteram_size/2) / 2) * spriteram_bank;
if (cave_videoregs[ 4 ] & 0x02)
- if (cave_spriteram16_2) source = cave_spriteram16_2 + ((spriteram_size/2) / 2) * spriteram_bank;
+ if (cave_spriteram16_2) source = cave_spriteram16_2 + ((machine->generic.spriteram_size/2) / 2) * spriteram_bank;
- finish = source + ((spriteram_size/2) / 2);
+ finish = source + ((machine->generic.spriteram_size/2) / 2);
for (; source < finish; source+=8 )
{
@@ -793,7 +793,7 @@ static void sprite_init_cave(running_machine *machine)
blit.baseaddr_zbuf = (UINT8 *)sprite_zbuf->base;
blit.line_offset_zbuf = sprite_zbuf->rowpixels * sprite_zbuf->bpp / 8;
- num_sprites = spriteram_size / 0x10 / 2;
+ num_sprites = machine->generic.spriteram_size / 0x10 / 2;
sprite_cave = auto_alloc_array_clear(machine, struct sprite_cave, num_sprites);
memset(sprite_table,0,sizeof(sprite_table));
diff --git a/src/mame/video/cbasebal.c b/src/mame/video/cbasebal.c
index d21bb5efb73..a3ce4dbdc03 100644
--- a/src/mame/video/cbasebal.c
+++ b/src/mame/video/cbasebal.c
@@ -140,11 +140,12 @@ WRITE8_HANDLER( cbasebal_scrolly_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs,sx,sy;
/* the last entry is not a sprite, we skip it otherwise spang shows a bubble */
/* moving diagonally across the screen */
- for (offs = spriteram_size-8;offs >= 0;offs -= 4)
+ for (offs = machine->generic.spriteram_size-8;offs >= 0;offs -= 4)
{
int code = spriteram[offs];
int attr = spriteram[offs+1];
diff --git a/src/mame/video/cbuster.c b/src/mame/video/cbuster.c
index b71f263be11..ab6eec901fc 100644
--- a/src/mame/video/cbuster.c
+++ b/src/mame/video/cbuster.c
@@ -37,22 +37,22 @@ static void update_24bitcol(running_machine *machine, int offset)
{
UINT8 r,g,b; /* The highest palette value seems to be 0x8e */
- r = (UINT8)((float)((paletteram16[offset] >> 0) & 0xff)*1.75);
- g = (UINT8)((float)((paletteram16[offset] >> 8) & 0xff)*1.75);
- b = (UINT8)((float)((paletteram16_2[offset] >> 0) & 0xff)*1.75);
+ 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);
palette_set_color(machine,offset,MAKE_RGB(r,g,b));
}
WRITE16_HANDLER( twocrude_palette_24bit_rg_w )
{
- COMBINE_DATA(&paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
update_24bitcol(space->machine, offset);
}
WRITE16_HANDLER( twocrude_palette_24bit_b_w )
{
- COMBINE_DATA(&paletteram16_2[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram2.u16[offset]);
update_24bitcol(space->machine, offset);
}
@@ -67,6 +67,7 @@ void twocrude_pri_w(int pri)
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int pri)
{
+ UINT16 *buffered_spriteram16 = machine->generic.buffered_spriteram.u16;
int offs;
for (offs = 0;offs < 0x400;offs += 4)
diff --git a/src/mame/video/centiped.c b/src/mame/video/centiped.c
index 8842ce816fd..5bd6a4cec05 100644
--- a/src/mame/video/centiped.c
+++ b/src/mame/video/centiped.c
@@ -23,14 +23,14 @@ static UINT8 penmask[64];
static TILE_GET_INFO( centiped_get_tile_info )
{
- int data = videoram[tile_index];
+ int data = machine->generic.videoram.u8[tile_index];
SET_TILE_INFO(0, (data & 0x3f) + 0x40, 0, TILE_FLIPYX(data >> 6));
}
static TILE_GET_INFO( warlords_get_tile_info )
{
- int data = videoram[tile_index];
+ int data = machine->generic.videoram.u8[tile_index];
int color = ((tile_index & 0x10) >> 4) | ((tile_index & 0x200) >> 8) | (centiped_flipscreen >> 5);
SET_TILE_INFO(0, data & 0x3f, color, TILE_FLIPYX(data >> 6));
}
@@ -38,7 +38,7 @@ static TILE_GET_INFO( warlords_get_tile_info )
static TILE_GET_INFO( milliped_get_tile_info )
{
- int data = videoram[tile_index];
+ int data = machine->generic.videoram.u8[tile_index];
int bank = (data >> 6) & 1;
int color = (data >> 6) & 3;
/* Flip both x and y if flipscreen is non-zero */
@@ -49,7 +49,7 @@ static TILE_GET_INFO( milliped_get_tile_info )
static TILE_GET_INFO( bullsdrt_get_tile_info )
{
- int data = videoram[tile_index];
+ int data = machine->generic.videoram.u8[tile_index];
int bank = bullsdrt_tiles_bankram[tile_index & 0x1f] & 0x0f;
SET_TILE_INFO(0, (data & 0x3f) + 0x40 * bank, 0, TILE_FLIPYX(data >> 6));
}
@@ -136,7 +136,7 @@ VIDEO_START( bullsdrt )
WRITE8_HANDLER( centiped_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -207,7 +207,7 @@ WRITE8_HANDLER( bullsdrt_sprites_bank_w )
WRITE8_HANDLER( centiped_paletteram_w )
{
- paletteram[offset] = data;
+ space->machine->generic.paletteram.u8[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 */
@@ -385,7 +385,7 @@ static void melliped_mazeinv_set_color(running_machine *machine, offs_t offset,
WRITE8_HANDLER( milliped_paletteram_w )
{
- paletteram[offset] = data;
+ space->machine->generic.paletteram.u8[offset] = data;
melliped_mazeinv_set_color(space->machine, offset, data);
}
@@ -393,7 +393,7 @@ WRITE8_HANDLER( milliped_paletteram_w )
WRITE8_HANDLER( mazeinv_paletteram_w )
{
- paletteram[offset] = data;
+ space->machine->generic.paletteram.u8[offset] = data;
/* the value passed in is a look-up index into the color PROM */
melliped_mazeinv_set_color(space->machine, offset, ~memory_region(space->machine, "proms")[~data & 0x0f]);
@@ -409,6 +409,7 @@ WRITE8_HANDLER( mazeinv_paletteram_w )
VIDEO_UPDATE( centiped )
{
+ UINT8 *spriteram = screen->machine->generic.spriteram.u8;
rectangle spriteclip = *cliprect;
int offs;
@@ -439,6 +440,7 @@ VIDEO_UPDATE( centiped )
VIDEO_UPDATE( warlords )
{
+ UINT8 *spriteram = screen->machine->generic.spriteram.u8;
int upright_mode = input_port_read(screen->machine, "IN0") & 0x80;
int offs;
@@ -483,6 +485,7 @@ VIDEO_UPDATE( warlords )
VIDEO_UPDATE( bullsdrt )
{
+ UINT8 *spriteram = screen->machine->generic.spriteram.u8;
rectangle spriteclip = *cliprect;
int offs;
@@ -516,6 +519,7 @@ VIDEO_UPDATE( bullsdrt )
*/
VIDEO_UPDATE( milliped )
{
+ UINT8 *spriteram = screen->machine->generic.spriteram.u8;
rectangle spriteclip = *cliprect;
int offs;
diff --git a/src/mame/video/champbas.c b/src/mame/video/champbas.c
index 3bb01a48e47..268c1e5d3c7 100644
--- a/src/mame/video/champbas.c
+++ b/src/mame/video/champbas.c
@@ -199,7 +199,7 @@ static void champbas_draw_sprites( running_machine *machine, bitmap_t *bitmap, c
int offs;
const gfx_element* const gfx = machine->gfx[1];
- for (offs = spriteram_size - 2; offs >= 0; offs -= 2)
+ for (offs = machine->generic.spriteram_size - 2; offs >= 0; offs -= 2)
{
int code = (state->spriteram[offs] >> 2) | (state->gfx_bank << 6);
int color = (state->spriteram[offs + 1] & 0x1f) | (state->palette_bank << 6);
diff --git a/src/mame/video/circusc.c b/src/mame/video/circusc.c
index d75d061211c..399c1366687 100644
--- a/src/mame/video/circusc.c
+++ b/src/mame/video/circusc.c
@@ -172,7 +172,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rect
else
sr = state->spriteram_2;
- for (offs = 0; offs < spriteram_size; offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 4)
{
int code = sr[offs + 0] + 8 * (sr[offs + 1] & 0x20);
int color = sr[offs + 1] & 0x0f;
diff --git a/src/mame/video/cischeat.c b/src/mame/video/cischeat.c
index 824ad42d4a7..f9f1f8456e1 100644
--- a/src/mame/video/cischeat.c
+++ b/src/mame/video/cischeat.c
@@ -836,7 +836,7 @@ static void cischeat_draw_sprites(running_machine *machine, bitmap_t *bitmap , c
int min_priority, max_priority, high_sprites;
- UINT16 *source = spriteram16;
+ UINT16 *source = machine->generic.spriteram.u16;
const UINT16 *finish = source + 0x1000/2;
@@ -991,7 +991,7 @@ static void bigrun_draw_sprites(running_machine *machine, bitmap_t *bitmap , con
int min_priority, max_priority, high_sprites;
- UINT16 *source = spriteram16;
+ UINT16 *source = machine->generic.spriteram.u16;
const UINT16 *finish = source + 0x1000/2;
/* Move the priority values in place */
diff --git a/src/mame/video/citycon.c b/src/mame/video/citycon.c
index eb16fbbe062..e053899794a 100644
--- a/src/mame/video/citycon.c
+++ b/src/mame/video/citycon.c
@@ -111,7 +111,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rect
citycon_state *state = (citycon_state *)machine->driver_data;
int offs;
- for (offs = spriteram_size - 4; offs >= 0; offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4; offs >= 0; offs -= 4)
{
int sx, sy, flipx;
@@ -136,7 +136,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rect
INLINE void changecolor_RRRRGGGGBBBBxxxx( running_machine *machine, int color, int indx )
{
- int data = paletteram[2 * indx | 1] | (paletteram[2 * indx] << 8);
+ int data = machine->generic.paletteram.u8[2 * indx | 1] | (machine->generic.paletteram.u8[2 * indx] << 8);
palette_set_color_rgb(machine, color, pal4bit(data >> 12), pal4bit(data >> 8), pal4bit(data >> 4));
}
diff --git a/src/mame/video/cloak.c b/src/mame/video/cloak.c
index fd189bc82f7..e5a0c398032 100644
--- a/src/mame/video/cloak.c
+++ b/src/mame/video/cloak.c
@@ -149,7 +149,7 @@ WRITE8_HANDLER( graph_processor_w )
WRITE8_HANDLER( cloak_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -160,7 +160,7 @@ WRITE8_HANDLER( cloak_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = videoram[tile_index];
+ int code = machine->generic.videoram.u8[tile_index];
SET_TILE_INFO(0, code, 0, 0);
}
@@ -205,9 +205,10 @@ static void draw_bitmap(bitmap_t *bitmap, const rectangle *cliprect)
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = (spriteram_size / 4) - 1; offs >= 0; offs--)
+ for (offs = (machine->generic.spriteram_size / 4) - 1; offs >= 0; offs--)
{
int code = spriteram[offs + 64] & 0x7f;
int flipx = spriteram[offs + 64] & 0x80;
diff --git a/src/mame/video/clshroad.c b/src/mame/video/clshroad.c
index 440070eb507..3e440e28cf7 100644
--- a/src/mame/video/clshroad.c
+++ b/src/mame/video/clshroad.c
@@ -292,9 +292,10 @@ Offset: Format: Value:
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int i;
- for (i = 0; i < spriteram_size ; i += 8)
+ for (i = 0; i < machine->generic.spriteram_size ; i += 8)
{
int y = 240 - spriteram[i+1];
int code = (spriteram[i+3] & 0x3f) + (spriteram[i+2] << 6);
diff --git a/src/mame/video/cninja.c b/src/mame/video/cninja.c
index 1abe2df94bf..28ed3d82a93 100644
--- a/src/mame/video/cninja.c
+++ b/src/mame/video/cninja.c
@@ -150,6 +150,7 @@ static void raster_pf3_draw(bitmap_t *bitmap, const rectangle *cliprect, int fla
static void cninja_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT16 *buffered_spriteram16 = machine->generic.buffered_spriteram.u16;
int offs;
for (offs = 0x400-4;offs >=0 ;offs -= 4)
@@ -219,6 +220,7 @@ static void cninja_draw_sprites(running_machine *machine, bitmap_t *bitmap, cons
static void robocop2_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT16 *buffered_spriteram16 = machine->generic.buffered_spriteram.u16;
int offs;
for (offs = 0x400-4;offs >=0 ;offs -= 4)
@@ -511,14 +513,14 @@ VIDEO_UPDATE( mutantf )
transparent against the background, rather than 50% */
if (deco16_priority&1) {
bitmap_fill(screen->machine->priority_bitmap,cliprect,0);
- mutantf_draw_sprites(screen->machine,bitmap,cliprect,buffered_spriteram16,3);
+ mutantf_draw_sprites(screen->machine,bitmap,cliprect,screen->machine->generic.buffered_spriteram.u16,3);
bitmap_fill(screen->machine->priority_bitmap,cliprect,0);
- mutantf_draw_sprites(screen->machine,bitmap,cliprect,buffered_spriteram16_2,4);
+ mutantf_draw_sprites(screen->machine,bitmap,cliprect,screen->machine->generic.buffered_spriteram2.u16,4);
} else {
bitmap_fill(screen->machine->priority_bitmap,cliprect,0);
- mutantf_draw_sprites(screen->machine,bitmap,cliprect,buffered_spriteram16_2,4);
+ mutantf_draw_sprites(screen->machine,bitmap,cliprect,screen->machine->generic.buffered_spriteram2.u16,4);
bitmap_fill(screen->machine->priority_bitmap,cliprect,0);
- mutantf_draw_sprites(screen->machine,bitmap,cliprect,buffered_spriteram16,3);
+ mutantf_draw_sprites(screen->machine,bitmap,cliprect,screen->machine->generic.buffered_spriteram.u16,3);
}
deco16_tilemap_1_draw(screen,bitmap,cliprect,0,0);
return 0;
diff --git a/src/mame/video/combatsc.c b/src/mame/video/combatsc.c
index 9b9788c5111..ef27d0b6c3e 100644
--- a/src/mame/video/combatsc.c
+++ b/src/mame/video/combatsc.c
@@ -103,17 +103,17 @@ PALETTE_INIT( combascb )
}
-static void set_pens(colortable_t *colortable)
+static void set_pens(running_machine *machine)
{
int i;
for (i = 0x00; i < 0x100; i += 2)
{
- UINT16 data = paletteram[i] | (paletteram[i | 1] << 8);
+ UINT16 data = machine->generic.paletteram.u8[i] | (machine->generic.paletteram.u8[i | 1] << 8);
rgb_t color = MAKE_RGB(pal5bit(data >> 0), pal5bit(data >> 5), pal5bit(data >> 10));
- colortable_palette_set_color(colortable, i >> 1, color);
+ colortable_palette_set_color(machine->colortable, i >> 1, color);
}
}
@@ -301,12 +301,12 @@ VIDEO_START( combascb )
READ8_HANDLER( combasc_video_r )
{
- return videoram[offset];
+ return space->machine->generic.videoram.u8[offset];
}
WRITE8_HANDLER( combasc_video_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
if( offset<0x800 )
{
if (combasc_video_circuit)
@@ -359,13 +359,13 @@ WRITE8_HANDLER( combasc_bankselect_w )
if (data & 0x40)
{
combasc_video_circuit = 1;
- videoram = combasc_page[1];
+ space->machine->generic.videoram.u8 = combasc_page[1];
combasc_scrollram = combasc_scrollram1;
}
else
{
combasc_video_circuit = 0;
- videoram = combasc_page[0];
+ space->machine->generic.videoram.u8 = combasc_page[0];
combasc_scrollram = combasc_scrollram0;
}
@@ -386,12 +386,12 @@ WRITE8_HANDLER( combascb_bankselect_w )
if (data & 0x40)
{
combasc_video_circuit = 1;
- videoram = combasc_page[1];
+ space->machine->generic.videoram.u8 = combasc_page[1];
}
else
{
combasc_video_circuit = 0;
- videoram = combasc_page[0];
+ space->machine->generic.videoram.u8 = combasc_page[0];
}
data = data & 0x1f;
@@ -487,7 +487,7 @@ VIDEO_UPDATE( combasc )
{
int i;
- set_pens(screen->machine->colortable);
+ set_pens(screen->machine);
if (K007121_ctrlram[0][0x01] & 0x02)
{
@@ -643,7 +643,7 @@ VIDEO_UPDATE( combascb )
{
int i;
- set_pens(screen->machine->colortable);
+ set_pens(screen->machine);
for( i=0; i<32; i++ )
{
diff --git a/src/mame/video/commando.c b/src/mame/video/commando.c
index 77333853b3c..66f413c0706 100644
--- a/src/mame/video/commando.c
+++ b/src/mame/video/commando.c
@@ -105,9 +105,10 @@ VIDEO_START( commando )
static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
+ UINT8 *buffered_spriteram = machine->generic.buffered_spriteram.u8;
int offs;
- for (offs = spriteram_size - 4; offs >= 0; offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4; offs >= 0; offs -= 4)
{
// bit 1 of attr is not used
int attr = buffered_spriteram[offs + 1];
diff --git a/src/mame/video/contra.c b/src/mame/video/contra.c
index 635e8b2db80..3a490c9494e 100644
--- a/src/mame/video/contra.c
+++ b/src/mame/video/contra.c
@@ -60,17 +60,17 @@ PALETTE_INIT( contra )
}
-static void set_pens(colortable_t *colortable)
+static void set_pens(running_machine *machine)
{
int i;
for (i = 0x00; i < 0x100; i += 2)
{
- UINT16 data = paletteram[i] | (paletteram[i | 1] << 8);
+ UINT16 data = machine->generic.paletteram.u8[i] | (machine->generic.paletteram.u8[i | 1] << 8);
rgb_t color = MAKE_RGB(pal5bit(data >> 0), pal5bit(data >> 5), pal5bit(data >> 10));
- colortable_palette_set_color(colortable, i >> 1, color);
+ colortable_palette_set_color(machine->colortable, i >> 1, color);
}
}
@@ -224,9 +224,9 @@ WRITE8_HANDLER( contra_K007121_ctrl_0_w )
if (offset == 3)
{
if ((data&0x8)==0)
- memcpy(private_spriteram,spriteram+0x800,0x800);
+ memcpy(private_spriteram,space->machine->generic.spriteram.u8+0x800,0x800);
else
- memcpy(private_spriteram,spriteram,0x800);
+ memcpy(private_spriteram,space->machine->generic.spriteram.u8,0x800);
}
if (offset == 6)
{
@@ -244,9 +244,9 @@ WRITE8_HANDLER( contra_K007121_ctrl_1_w )
if (offset == 3)
{
if ((data&0x8)==0)
- memcpy(private_spriteram_2,spriteram+0x2800,0x800);
+ memcpy(private_spriteram_2,space->machine->generic.spriteram.u8+0x2800,0x800);
else
- memcpy(private_spriteram_2,spriteram+0x2000,0x800);
+ memcpy(private_spriteram_2,space->machine->generic.spriteram.u8+0x2000,0x800);
}
if (offset == 6)
{
@@ -288,7 +288,7 @@ VIDEO_UPDATE( contra )
sect_rect(&fg_finalclip, cliprect);
sect_rect(&tx_finalclip, cliprect);
- set_pens(screen->machine->colortable);
+ set_pens(screen->machine);
tilemap_set_scrollx( fg_tilemap,0, K007121_ctrlram[0][0x00] - 40 );
tilemap_set_scrolly( fg_tilemap,0, K007121_ctrlram[0][0x02] );
diff --git a/src/mame/video/cop01.c b/src/mame/video/cop01.c
index 71298db4516..3b6a196781d 100644
--- a/src/mame/video/cop01.c
+++ b/src/mame/video/cop01.c
@@ -171,7 +171,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rect
cop01_state *state = (cop01_state *)machine->driver_data;
int offs, code, attr, sx, sy, flipx, flipy, color;
- for (offs = 0; offs < spriteram_size; offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 4)
{
code = state->spriteram[offs + 1];
attr = state->spriteram[offs + 2];
diff --git a/src/mame/video/copsnrob.c b/src/mame/video/copsnrob.c
index ac72085866b..28db793b9a2 100644
--- a/src/mame/video/copsnrob.c
+++ b/src/mame/video/copsnrob.c
@@ -15,7 +15,7 @@ VIDEO_UPDATE( copsnrob )
/* redrawing the entire display is faster in this case */
- for (offs = videoram_size; offs >= 0; offs--)
+ for (offs = screen->machine->generic.videoram_size; offs >= 0; offs--)
{
int sx,sy;
diff --git a/src/mame/video/cosmic.c b/src/mame/video/cosmic.c
index 34828f1cce8..aad79d8875b 100644
--- a/src/mame/video/cosmic.c
+++ b/src/mame/video/cosmic.c
@@ -256,7 +256,7 @@ static void draw_bitmap( running_machine *machine, bitmap_t *bitmap, const recta
cosmic_state *state = (cosmic_state *)machine->driver_data;
offs_t offs;
- for (offs = 0; offs < videoram_size; offs++)
+ for (offs = 0; offs < machine->generic.videoram_size; offs++)
{
int i;
UINT8 data = state->videoram[offs];
@@ -288,7 +288,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rect
cosmic_state *state = (cosmic_state *)machine->driver_data;
int offs;
- for (offs = spriteram_size - 4;offs >= 0;offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4;offs >= 0;offs -= 4)
{
if (state->spriteram[offs] != 0)
{
diff --git a/src/mame/video/crimfght.c b/src/mame/video/crimfght.c
index 3b164ef91a1..18c9bd761fe 100644
--- a/src/mame/video/crimfght.c
+++ b/src/mame/video/crimfght.c
@@ -54,7 +54,7 @@ static void sprite_callback(int *code,int *color,int *priority,int *shadow)
VIDEO_START( crimfght )
{
- paletteram = auto_alloc_array(machine, UINT8, 0x400);
+ machine->generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x400);
layer_colorbase[0] = 0;
layer_colorbase[1] = 4;
diff --git a/src/mame/video/crospang.c b/src/mame/video/crospang.c
index 528957f26c4..b7cc7214cd4 100644
--- a/src/mame/video/crospang.c
+++ b/src/mame/video/crospang.c
@@ -146,7 +146,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rect
int offs;
int flipscreen = 0;
- for (offs = 0; offs < spriteram_size / 2; offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram_size / 2; offs += 4)
{
int x, y, sprite, colour, multi, fx, fy, inc, flash, mult;
diff --git a/src/mame/video/crshrace.c b/src/mame/video/crshrace.c
index fac50f83078..80a46ef3156 100644
--- a/src/mame/video/crshrace.c
+++ b/src/mame/video/crshrace.c
@@ -101,6 +101,8 @@ WRITE16_HANDLER( crshrace_gfxctrl_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT16 *buffered_spriteram16 = machine->generic.buffered_spriteram.u16;
+ UINT16 *buffered_spriteram16_2 = machine->generic.buffered_spriteram2.u16;
int offs;
diff --git a/src/mame/video/darius.c b/src/mame/video/darius.c
index 0dffcb8b5d5..68a0a9d2ed5 100644
--- a/src/mame/video/darius.c
+++ b/src/mame/video/darius.c
@@ -63,6 +63,7 @@ WRITE16_HANDLER( darius_fg_layer_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect,int primask, int x_offs, int y_offs)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs,curx,cury;
UINT16 code,data,sx,sy;
UINT8 flipx,flipy,color,priority;
@@ -71,7 +72,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan
while processing sprite ram and then draw them all at the end */
struct tempsprite *sprite_ptr = spritelist;
- for (offs = spriteram_size/2-4; offs >= 0; offs -= 4)
+ for (offs = machine->generic.spriteram_size/2-4; offs >= 0; offs -= 4)
{
code = spriteram16[offs+2] &0x1fff;
diff --git a/src/mame/video/darkmist.c b/src/mame/video/darkmist.c
index c9cbb226e6c..d8f347adb60 100644
--- a/src/mame/video/darkmist.c
+++ b/src/mame/video/darkmist.c
@@ -57,8 +57,8 @@ static TILE_GET_INFO( get_txttile_info )
{
int code,attr,pal;
- code=videoram[tile_index];
- attr=videoram[tile_index+0x400];
+ code=machine->generic.videoram.u8[tile_index];
+ attr=machine->generic.videoram.u8[tile_index+0x400];
pal=(attr>>1);
code+=(attr&1)<<8;
@@ -103,20 +103,20 @@ PALETTE_INIT(darkmist)
}
-static void set_pens(colortable_t *colortable)
+static void set_pens(running_machine *machine)
{
int i;
for (i = 0; i < 0x100; i++)
{
- int r = pal4bit(paletteram[i | 0x200] >> 0);
- int g = pal4bit(paletteram[i | 0x000] >> 4);
- int b = pal4bit(paletteram[i | 0x000] >> 0);
+ 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);
- colortable_palette_set_color(colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine->colortable, i, MAKE_RGB(r, g, b));
}
- colortable_palette_set_color(colortable, 0x100, RGB_BLACK);
+ colortable_palette_set_color(machine->colortable, 0x100, RGB_BLACK);
}
@@ -131,10 +131,11 @@ VIDEO_START(darkmist)
VIDEO_UPDATE( darkmist)
{
+ UINT8 *spriteram = screen->machine->generic.spriteram.u8;
#define DM_GETSCROLL(n) (((darkmist_scroll[(n)]<<1)&0xff) + ((darkmist_scroll[(n)]&0x80)?1:0) +( ((darkmist_scroll[(n)-1]<<4) | (darkmist_scroll[(n)-1]<<12) )&0xff00))
- set_pens(screen->machine->colortable);
+ set_pens(screen->machine);
tilemap_set_scrollx(bgtilemap, 0, DM_GETSCROLL(0x2));
tilemap_set_scrolly(bgtilemap, 0, DM_GETSCROLL(0x6));
@@ -163,7 +164,7 @@ VIDEO_UPDATE( darkmist)
*/
int i,fx,fy,tile,palette;
- for(i=0;i<spriteram_size;i+=32)
+ for(i=0;i<screen->machine->generic.spriteram_size;i+=32)
{
fy=spriteram[i+1]&0x40;
fx=spriteram[i+1]&0x80;
diff --git a/src/mame/video/darkseal.c b/src/mame/video/darkseal.c
index 9430936a4c8..c77e9150e7e 100644
--- a/src/mame/video/darkseal.c
+++ b/src/mame/video/darkseal.c
@@ -142,22 +142,22 @@ static void update_24bitcol(running_machine *machine, int offset)
{
int r,g,b;
- r = (paletteram16[offset] >> 0) & 0xff;
- g = (paletteram16[offset] >> 8) & 0xff;
- b = (paletteram16_2[offset] >> 0) & 0xff;
+ r = (machine->generic.paletteram.u16[offset] >> 0) & 0xff;
+ g = (machine->generic.paletteram.u16[offset] >> 8) & 0xff;
+ b = (machine->generic.paletteram2.u16[offset] >> 0) & 0xff;
palette_set_color(machine,offset,MAKE_RGB(r,g,b));
}
WRITE16_HANDLER( darkseal_palette_24bit_rg_w )
{
- COMBINE_DATA(&paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
update_24bitcol(space->machine, offset);
}
WRITE16_HANDLER( darkseal_palette_24bit_b_w )
{
- COMBINE_DATA(&paletteram16_2[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram2.u16[offset]);
update_24bitcol(space->machine, offset);
}
@@ -165,6 +165,7 @@ WRITE16_HANDLER( darkseal_palette_24bit_b_w )
static void draw_sprites(running_machine* machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT16 *buffered_spriteram16 = machine->generic.buffered_spriteram.u16;
int offs;
for (offs = 0;offs < 0x400;offs += 4)
diff --git a/src/mame/video/dassault.c b/src/mame/video/dassault.c
index 6d77e1b3d9e..2c08276e559 100644
--- a/src/mame/video/dassault.c
+++ b/src/mame/video/dassault.c
@@ -11,6 +11,7 @@
static void draw_sprites(running_machine* machine, bitmap_t *bitmap, const rectangle *cliprect, int pf_priority)
{
+ UINT16 *buffered_spriteram16 = machine->generic.buffered_spriteram.u16;
int x,y,sprite,colour,multi,fx,fy,inc,flash,mult;
int offs, bank, gfxbank;
const UINT16 *spritebase;
@@ -30,7 +31,7 @@ static void draw_sprites(running_machine* machine, bitmap_t *bitmap, const recta
}
else
{
- spritebase=buffered_spriteram16_2;
+ spritebase=machine->generic.buffered_spriteram2.u16;
gfxbank=4;
}
diff --git a/src/mame/video/dcon.c b/src/mame/video/dcon.c
index 579db7d1792..22d9303ad57 100644
--- a/src/mame/video/dcon.c
+++ b/src/mame/video/dcon.c
@@ -145,6 +145,7 @@ VIDEO_START( dcon )
static void draw_sprites(running_machine* machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs,fx,fy,x,y,color,sprite;
int dx,dy,ax,ay,inc,pri_mask = 0;
diff --git a/src/mame/video/ddrible.c b/src/mame/video/ddrible.c
index 00496ea19c6..d177bd2b9d7 100644
--- a/src/mame/video/ddrible.c
+++ b/src/mame/video/ddrible.c
@@ -41,17 +41,17 @@ PALETTE_INIT( ddrible )
}
-static void set_pens(colortable_t *colortable)
+static void set_pens(running_machine *machine)
{
int i;
for (i = 0x00; i < 0x80; i += 2)
{
- UINT16 data = paletteram[i | 1] | (paletteram[i] << 8);
+ UINT16 data = machine->generic.paletteram.u8[i | 1] | (machine->generic.paletteram.u8[i] << 8);
rgb_t color = MAKE_RGB(pal5bit(data >> 0), pal5bit(data >> 5), pal5bit(data >> 10));
- colortable_palette_set_color(colortable, i >> 1, color);
+ colortable_palette_set_color(machine->colortable, i >> 1, color);
}
}
@@ -251,7 +251,7 @@ static void draw_sprites(running_machine* machine, bitmap_t *bitmap, const recta
VIDEO_UPDATE( ddrible )
{
- set_pens(screen->machine->colortable);
+ set_pens(screen->machine);
tilemap_set_flip(fg_tilemap, (ddribble_vregs[0][4] & 0x08) ? (TILEMAP_FLIPY | TILEMAP_FLIPX) : 0);
tilemap_set_flip(bg_tilemap, (ddribble_vregs[1][4] & 0x08) ? (TILEMAP_FLIPY | TILEMAP_FLIPX) : 0);
diff --git a/src/mame/video/deadang.c b/src/mame/video/deadang.c
index bd8258453a0..8120838abed 100644
--- a/src/mame/video/deadang.c
+++ b/src/mame/video/deadang.c
@@ -14,7 +14,7 @@ WRITE16_HANDLER( deadang_foreground_w )
WRITE16_HANDLER( deadang_text_w )
{
- COMBINE_DATA(&videoram16[offset]);
+ COMBINE_DATA(&space->machine->generic.videoram.u16[offset]);
tilemap_mark_tile_dirty( text_layer, offset );
}
@@ -63,8 +63,8 @@ static TILE_GET_INFO( get_pf1_tile_info )
static TILE_GET_INFO( get_text_tile_info )
{
- int tile=(videoram16[tile_index] & 0xff) | ((videoram16[tile_index] >> 6) & 0x300);
- int color=(videoram16[tile_index] >> 8)&0xf;
+ int tile=(machine->generic.videoram.u16[tile_index] & 0xff) | ((machine->generic.videoram.u16[tile_index] >> 6) & 0x300);
+ int color=(machine->generic.videoram.u16[tile_index] >> 8)&0xf;
SET_TILE_INFO(0,tile,color,0);
}
@@ -83,6 +83,7 @@ VIDEO_START( deadang )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs,fx,fy,x,y,color,sprite,pri;
for (offs = 0; offs<0x800/2; offs+=4)
diff --git a/src/mame/video/dec0.c b/src/mame/video/dec0.c
index c24e8070ebf..734712e13bb 100644
--- a/src/mame/video/dec0.c
+++ b/src/mame/video/dec0.c
@@ -117,7 +117,7 @@ static UINT16 dec0_pri;
WRITE16_HANDLER( dec0_update_sprites_w )
{
- memcpy(dec0_spriteram,spriteram16,0x800);
+ memcpy(dec0_spriteram,space->machine->generic.spriteram.u16,0x800);
}
/******************************************************************************/
@@ -126,22 +126,22 @@ static void update_24bitcol(running_machine *machine, int offset)
{
int r,g,b;
- r = (paletteram16[offset] >> 0) & 0xff;
- g = (paletteram16[offset] >> 8) & 0xff;
- b = (paletteram16_2[offset] >> 0) & 0xff;
+ r = (machine->generic.paletteram.u16[offset] >> 0) & 0xff;
+ g = (machine->generic.paletteram.u16[offset] >> 8) & 0xff;
+ b = (machine->generic.paletteram2.u16[offset] >> 0) & 0xff;
palette_set_color(machine,offset,MAKE_RGB(r,g,b));
}
WRITE16_HANDLER( dec0_paletteram_rg_w )
{
- COMBINE_DATA(&paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
update_24bitcol(space->machine, offset);
}
WRITE16_HANDLER( dec0_paletteram_b_w )
{
- COMBINE_DATA(&paletteram16_2[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram2.u16[offset]);
update_24bitcol(space->machine, offset);
}
@@ -708,7 +708,7 @@ VIDEO_START( dec0_nodma )
pf3_tilemap_1 = tilemap_create(machine, get_pf3_tile_info,tile_shape1_scan, 16,16, 32, 32);
pf3_tilemap_2 = tilemap_create(machine, get_pf3_tile_info,tile_shape2_scan, 16,16, 16, 64);
- dec0_spriteram=spriteram16;
+ dec0_spriteram=machine->generic.spriteram.u16;
}
VIDEO_START( dec0 )
diff --git a/src/mame/video/dec8.c b/src/mame/video/dec8.c
index 724ac8c8950..b0044524aff 100644
--- a/src/mame/video/dec8.c
+++ b/src/mame/video/dec8.c
@@ -251,6 +251,7 @@ WRITE8_HANDLER( gondo_scroll_w )
/* 'Karnov' sprites, used by Gondomania, Last Mission, Shackled, Ghostbusters */
static void draw_sprites1( running_machine* machine, bitmap_t *bitmap, const rectangle *cliprect, int priority )
{
+ UINT8 *buffered_spriteram = machine->generic.buffered_spriteram.u8;
int offs, x, y, sprite, sprite2, colour, extra, fx, fy;
for (offs = 0; offs < 0x800; offs += 8)
@@ -314,6 +315,7 @@ static void draw_sprites1( running_machine* machine, bitmap_t *bitmap, const rec
/* 'Dec0' sprites, used by Cobra Command, Oscar */
static void draw_sprites2( running_machine* machine, bitmap_t *bitmap, const rectangle *cliprect, int priority )
{
+ UINT8 *buffered_spriteram = machine->generic.buffered_spriteram.u8;
int offs, x, y, sprite, colour, multi, fx, fy, inc, flash, mult;
/* Sprites */
@@ -377,6 +379,7 @@ static void draw_sprites2( running_machine* machine, bitmap_t *bitmap, const rec
static void srdarwin_draw_sprites( running_machine* machine, bitmap_t *bitmap, const rectangle *cliprect, int pri )
{
+ UINT8 *buffered_spriteram = machine->generic.buffered_spriteram.u8;
int offs;
/* Sprites */
diff --git a/src/mame/video/deco16ic.c b/src/mame/video/deco16ic.c
index b14ea270639..c662f083303 100644
--- a/src/mame/video/deco16ic.c
+++ b/src/mame/video/deco16ic.c
@@ -190,19 +190,19 @@ WRITE16_HANDLER( deco16_nonbuffered_palette_w )
{
int r,g,b;
- COMBINE_DATA(&paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
if (offset&1) offset--;
- b = (paletteram16[offset] >> 0) & 0xff;
- g = (paletteram16[offset+1] >> 8) & 0xff;
- r = (paletteram16[offset+1] >> 0) & 0xff;
+ b = (space->machine->generic.paletteram.u16[offset] >> 0) & 0xff;
+ g = (space->machine->generic.paletteram.u16[offset+1] >> 8) & 0xff;
+ r = (space->machine->generic.paletteram.u16[offset+1] >> 0) & 0xff;
palette_set_color(space->machine,offset/2,MAKE_RGB(r,g,b));
}
WRITE16_HANDLER( deco16_buffered_palette_w )
{
- COMBINE_DATA(&paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
dirty_palette[offset/2]=1;
}
@@ -215,9 +215,9 @@ WRITE16_HANDLER( deco16_palette_dma_w )
if (dirty_palette[i]) {
dirty_palette[i]=0;
- b = (paletteram16[i*2] >> 0) & 0xff;
- g = (paletteram16[i*2+1] >> 8) & 0xff;
- r = (paletteram16[i*2+1] >> 0) & 0xff;
+ b = (space->machine->generic.paletteram.u16[i*2] >> 0) & 0xff;
+ g = (space->machine->generic.paletteram.u16[i*2+1] >> 8) & 0xff;
+ r = (space->machine->generic.paletteram.u16[i*2+1] >> 0) & 0xff;
palette_set_color(space->machine,i,MAKE_RGB(r,g,b));
}
diff --git a/src/mame/video/deco32.c b/src/mame/video/deco32.c
index 6a6a4a584bf..75bb3b1f4a2 100644
--- a/src/mame/video/deco32.c
+++ b/src/mame/video/deco32.c
@@ -66,8 +66,8 @@ WRITE32_HANDLER( dragngun_sprite_control_w )
WRITE32_HANDLER( dragngun_spriteram_dma_w )
{
/* DMA spriteram to private sprite chip area, and clear cpu ram */
- memcpy(buffered_spriteram32,spriteram32,spriteram_size);
- memset(spriteram32,0,0x2000);
+ memcpy(space->machine->generic.buffered_spriteram.u32,space->machine->generic.spriteram.u32,space->machine->generic.spriteram_size);
+ memset(space->machine->generic.spriteram.u32,0,0x2000);
}
WRITE32_HANDLER( deco32_ace_ram_w )
@@ -125,9 +125,9 @@ static void updateAceRam(running_machine* machine)
for (i=0; i<2048; i++)
{
/* Lerp palette entry to 'fadept' according to 'fadeps' */
- b = (paletteram32[i] >>16) & 0xff;
- g = (paletteram32[i] >> 8) & 0xff;
- r = (paletteram32[i] >> 0) & 0xff;
+ b = (machine->generic.paletteram.u32[i] >>16) & 0xff;
+ g = (machine->generic.paletteram.u32[i] >> 8) & 0xff;
+ r = (machine->generic.paletteram.u32[i] >> 0) & 0xff;
if (i>255) /* Screenshots seem to suggest ACE fades do not affect playfield 1 palette (0-255) */
{
@@ -150,18 +150,18 @@ WRITE32_HANDLER( deco32_nonbuffered_palette_w )
{
int r,g,b;
- COMBINE_DATA(&paletteram32[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
- b = (paletteram32[offset] >>16) & 0xff;
- g = (paletteram32[offset] >> 8) & 0xff;
- r = (paletteram32[offset] >> 0) & 0xff;
+ 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;
palette_set_color(space->machine,offset,MAKE_RGB(r,g,b));
}
WRITE32_HANDLER( deco32_buffered_palette_w )
{
- COMBINE_DATA(&paletteram32[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
dirty_palette[offset]=1;
}
@@ -180,9 +180,9 @@ WRITE32_HANDLER( deco32_palette_dma_w )
}
else
{
- b = (paletteram32[i] >>16) & 0xff;
- g = (paletteram32[i] >> 8) & 0xff;
- r = (paletteram32[i] >> 0) & 0xff;
+ 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;
palette_set_color(space->machine,i,MAKE_RGB(r,g,b));
}
@@ -1083,7 +1083,7 @@ VIDEO_START( nslasher )
VIDEO_EOF( captaven )
{
- memcpy(buffered_spriteram32,spriteram32,spriteram_size);
+ memcpy(machine->generic.buffered_spriteram.u32,machine->generic.spriteram.u32,machine->generic.spriteram_size);
deco32_raster_display_position=0;
}
@@ -1288,7 +1288,7 @@ VIDEO_UPDATE( captaven )
else
tilemap_draw(bitmap,cliprect,pf1a_tilemap,0,4);
- captaven_draw_sprites(screen->machine,bitmap,cliprect,buffered_spriteram32,3);
+ captaven_draw_sprites(screen->machine,bitmap,cliprect,screen->machine->generic.buffered_spriteram.u32,3);
return 0;
}
@@ -1368,7 +1368,7 @@ VIDEO_UPDATE( dragngun )
tilemap_draw(bitmap,cliprect,pf2_tilemap,0,0);
}
- dragngun_draw_sprites(screen->machine,bitmap,cliprect,buffered_spriteram32);
+ dragngun_draw_sprites(screen->machine,bitmap,cliprect,screen->machine->generic.buffered_spriteram.u32);
/* PF1 can be in 8x8 mode or 16x16 mode */
if (deco32_pf12_control[6]&0x80)
@@ -1428,7 +1428,7 @@ VIDEO_UPDATE( fghthist )
tilemap_draw(bitmap,cliprect,pf3_tilemap,0,0);
tilemap_draw(bitmap,cliprect,pf2_tilemap,0,2);
}
- fghthist_draw_sprites(screen->machine, bitmap, cliprect, buffered_spriteram32,3,0, 0xf);
+ fghthist_draw_sprites(screen->machine, bitmap, cliprect, screen->machine->generic.buffered_spriteram.u32,3,0, 0xf);
tilemap_draw(bitmap,cliprect,pf1_tilemap,0,0);
return 0;
}
@@ -1620,8 +1620,8 @@ VIDEO_UPDATE( nslasher )
bitmap_fill(bitmap,cliprect,screen->machine->pens[0x200]);
/* Draw sprites to temporary bitmaps, saving alpha & priority info for later mixing */
- nslasher_draw_sprites(screen->machine,sprite0_mix_bitmap,cliprect,buffered_spriteram32,3);
- nslasher_draw_sprites(screen->machine,sprite1_mix_bitmap,cliprect,buffered_spriteram32_2,4);
+ nslasher_draw_sprites(screen->machine,sprite0_mix_bitmap,cliprect,screen->machine->generic.buffered_spriteram.u32,3);
+ nslasher_draw_sprites(screen->machine,sprite1_mix_bitmap,cliprect,screen->machine->generic.buffered_spriteram2.u32,4);
/* Render alpha-blended tilemap to seperate buffer for proper mixing */
bitmap_fill(tilemap_alpha_bitmap,cliprect,0);
diff --git a/src/mame/video/deco_mlc.c b/src/mame/video/deco_mlc.c
index 0ea88fb7b8a..639bd7929ef 100644
--- a/src/mame/video/deco_mlc.c
+++ b/src/mame/video/deco_mlc.c
@@ -517,7 +517,7 @@ VIDEO_EOF( mlc )
lookup table. Without buffering incorrect one frame glitches are seen
in several places, especially in Hoops.
*/
- memcpy(mlc_buffered_spriteram, spriteram32, 0x3000);
+ memcpy(mlc_buffered_spriteram, machine->generic.spriteram.u32, 0x3000);
}
VIDEO_UPDATE( mlc )
diff --git a/src/mame/video/deniam.c b/src/mame/video/deniam.c
index 78fd0e2f9e4..4b077ad1148 100644
--- a/src/mame/video/deniam.c
+++ b/src/mame/video/deniam.c
@@ -220,7 +220,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rect
int offs;
UINT8 *gfx = memory_region(machine, "gfx2");
- for (offs = spriteram_size / 2 - 8; offs >= 0; offs -= 8)
+ for (offs = machine->generic.spriteram_size / 2 - 8; offs >= 0; offs -= 8)
{
int sx, starty, endy, x, y, start, color, width, flipx, primask;
UINT8 *rom = gfx;
diff --git a/src/mame/video/dietgo.c b/src/mame/video/dietgo.c
index b0fa60d629c..8acb2412521 100644
--- a/src/mame/video/dietgo.c
+++ b/src/mame/video/dietgo.c
@@ -3,6 +3,7 @@
static void draw_sprites(running_machine* machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
for (offs = 0;offs < 0x400;offs += 4)
diff --git a/src/mame/video/digdug.c b/src/mame/video/digdug.c
index 66bd1f6bb8f..91e91a27202 100644
--- a/src/mame/video/digdug.c
+++ b/src/mame/video/digdug.c
@@ -154,9 +154,9 @@ VIDEO_START( digdug )
tilemap_set_transparent_pen(tx_tilemap, 0);
- spriteram = digdug_objram + 0x380;
- spriteram_2 = digdug_posram + 0x380;
- spriteram_3 = digdug_flpram + 0x380;
+ machine->generic.spriteram.u8 = digdug_objram + 0x380;
+ machine->generic.spriteram2.u8 = digdug_posram + 0x380;
+ machine->generic.spriteram3.u8 = digdug_flpram + 0x380;
state_save_register_global(machine, bg_select);
state_save_register_global(machine, tx_color_mode);
@@ -256,6 +256,9 @@ static const rectangle spritevisiblearea =
static void draw_sprites(running_machine* machine, bitmap_t *bitmap, const rectangle *cliprect )
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
+ UINT8 *spriteram_2 = machine->generic.spriteram2.u8;
+ UINT8 *spriteram_3 = machine->generic.spriteram3.u8;
int offs;
for (offs = 0;offs < 0x80;offs += 2)
diff --git a/src/mame/video/djboy.c b/src/mame/video/djboy.c
index 4de20ee5257..7c289533645 100644
--- a/src/mame/video/djboy.c
+++ b/src/mame/video/djboy.c
@@ -26,8 +26,8 @@ WRITE8_HANDLER( djboy_scrolly_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- UINT8 attr = videoram[tile_index + 0x800];
- int code = videoram[tile_index] + (attr&0xf)*256;
+ UINT8 attr = machine->generic.videoram.u8[tile_index + 0x800];
+ int code = machine->generic.videoram.u8[tile_index] + (attr&0xf)*256;
int color = attr>>4;
if( color&8 )
{
@@ -38,7 +38,7 @@ static TILE_GET_INFO( get_bg_tile_info )
WRITE8_HANDLER( djboy_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty( background, offset & 0x7ff);
}
@@ -52,9 +52,9 @@ WRITE8_HANDLER( djboy_paletteram_w )
{
int val;
- paletteram[offset] = data;
+ space->machine->generic.paletteram.u8[offset] = data;
offset &= ~1;
- val = (paletteram[offset]<<8) | paletteram[offset+1];
+ val = (space->machine->generic.paletteram.u8[offset]<<8) | space->machine->generic.paletteram.u8[offset+1];
palette_set_color_rgb(space->machine,offset/2,pal4bit(val >> 8),pal4bit(val >> 4),pal4bit(val >> 0));
}
diff --git a/src/mame/video/docastle.c b/src/mame/video/docastle.c
index 1a57ad19426..29941a62d9f 100644
--- a/src/mame/video/docastle.c
+++ b/src/mame/video/docastle.c
@@ -139,7 +139,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rect
bitmap_fill(machine->priority_bitmap, NULL, 1);
- for (offs = spriteram_size - 4; offs >= 0; offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4; offs >= 0; offs -= 4)
{
int sx, sy, flipx, flipy, code, color;
diff --git a/src/mame/video/dogfgt.c b/src/mame/video/dogfgt.c
index 6a72088f6b1..561d6fc8853 100644
--- a/src/mame/video/dogfgt.c
+++ b/src/mame/video/dogfgt.c
@@ -189,7 +189,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap,const recta
dogfgt_state *state = (dogfgt_state *)machine->driver_data;
int offs;
- for (offs = 0; offs < spriteram_size; offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 4)
{
if (state->spriteram[offs] & 0x01)
{
diff --git a/src/mame/video/dooyong.c b/src/mame/video/dooyong.c
index 17f6d4f8f2c..817fff371c3 100644
--- a/src/mame/video/dooyong.c
+++ b/src/mame/video/dooyong.c
@@ -370,9 +370,10 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
height only used by pollux, bluehawk and flytiger
x flip and y flip only used by pollux and flytiger */
+ UINT8 *buffered_spriteram = machine->generic.buffered_spriteram.u8;
int offs;
- for (offs = 0; offs < spriteram_size; offs += 32)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 32)
{
int sx, sy, code, color, pri;
int flipx = 0, flipy = 0, height = 0, y;
@@ -437,6 +438,8 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
static void rshark_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT16 *buffered_spriteram16 = machine->generic.buffered_spriteram.u16;
+
/* Sprites take 8 16-bit words each in memory:
MSB LSB
[offs + 0] ???? ???? ???? ???E
@@ -458,7 +461,7 @@ static void rshark_draw_sprites(running_machine *machine, bitmap_t *bitmap, cons
int offs;
- for (offs = (spriteram_size / 2) - 8; offs >= 0; offs -= 8)
+ for (offs = (machine->generic.spriteram_size / 2) - 8; offs >= 0; offs -= 8)
{
if (buffered_spriteram16[offs] & 0x0001) /* enable */
{
diff --git a/src/mame/video/dynduke.c b/src/mame/video/dynduke.c
index d26bbc14233..8d57c12a37a 100644
--- a/src/mame/video/dynduke.c
+++ b/src/mame/video/dynduke.c
@@ -13,8 +13,8 @@ WRITE16_HANDLER( dynduke_paletteram_w )
{
int color;
- COMBINE_DATA(&paletteram16[offset]);
- color=paletteram16[offset];
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
+ color=space->machine->generic.paletteram.u16[offset];
palette_set_color_rgb(space->machine,offset,pal4bit(color >> 0),pal4bit(color >> 4),pal4bit(color >> 8));
}
@@ -32,7 +32,7 @@ WRITE16_HANDLER( dynduke_foreground_w )
WRITE16_HANDLER( dynduke_text_w )
{
- COMBINE_DATA(&videoram16[offset]);
+ COMBINE_DATA(&space->machine->generic.videoram.u16[offset]);
tilemap_mark_tile_dirty(tx_layer,offset);
}
@@ -66,7 +66,7 @@ static TILE_GET_INFO( get_fg_tile_info )
static TILE_GET_INFO( get_tx_tile_info )
{
- int tile=videoram16[tile_index];
+ int tile=machine->generic.videoram.u16[tile_index];
int color=(tile >> 8) & 0x0f;
tile = (tile & 0xff) | ((tile & 0xc000) >> 6);
@@ -133,6 +133,7 @@ WRITE16_HANDLER( dynduke_control_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect,int pri)
{
+ UINT16 *buffered_spriteram16 = machine->generic.buffered_spriteram.u16;
int offs,fx,fy,x,y,color,sprite;
if (!sprite_enable) return;
diff --git a/src/mame/video/epos.c b/src/mame/video/epos.c
index 1a3ce6919df..3e2379a26b0 100644
--- a/src/mame/video/epos.c
+++ b/src/mame/video/epos.c
@@ -80,7 +80,7 @@ VIDEO_UPDATE( epos )
get_pens(screen->machine, pens);
- for (offs = 0; offs < videoram_size; offs++)
+ for (offs = 0; offs < screen->machine->generic.videoram_size; offs++)
{
UINT8 data = state->videoram[offs];
diff --git a/src/mame/video/eprom.c b/src/mame/video/eprom.c
index 3e207ac5b12..05d34dfa360 100644
--- a/src/mame/video/eprom.c
+++ b/src/mame/video/eprom.c
@@ -27,7 +27,7 @@ static void update_palette(running_machine *machine)
for (color = 0; color < 0x800; ++color)
{
int i, r, g, b;
- UINT16 const data = paletteram16[color];
+ UINT16 const data = machine->generic.paletteram.u16[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/esd16.c b/src/mame/video/esd16.c
index 4cd699c7da2..8d89112ff08 100644
--- a/src/mame/video/esd16.c
+++ b/src/mame/video/esd16.c
@@ -191,7 +191,7 @@ static void esd16_draw_sprites( running_machine *machine, bitmap_t *bitmap, cons
int max_x = video_screen_get_width(machine->primary_screen);
int max_y = video_screen_get_height(machine->primary_screen);
- for (offs = spriteram_size / 2 - 8 / 2; offs >= 0 ; offs -= 8 / 2)
+ for (offs = machine->generic.spriteram_size / 2 - 8 / 2; offs >= 0 ; offs -= 8 / 2)
{
int y, starty, endy, incy;
@@ -255,7 +255,7 @@ static void hedpanic_draw_sprites( running_machine *machine, bitmap_t *bitmap, c
int max_x = video_screen_get_width(machine->primary_screen);
int max_y = video_screen_get_height(machine->primary_screen);
- for (offs = spriteram_size / 2 - 8 / 2; offs >= 0 ; offs -= 8 / 2)
+ for (offs = machine->generic.spriteram_size / 2 - 8 / 2; offs >= 0 ; offs -= 8 / 2)
{
int y, starty, endy, incy;
diff --git a/src/mame/video/exedexes.c b/src/mame/video/exedexes.c
index 3317bd3a3f9..ec7c21d7112 100644
--- a/src/mame/video/exedexes.c
+++ b/src/mame/video/exedexes.c
@@ -187,6 +187,7 @@ VIDEO_START( exedexes )
static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int priority )
{
exedexes_state *state = (exedexes_state *)machine->driver_data;
+ UINT8 *buffered_spriteram = machine->generic.buffered_spriteram.u8;
int offs;
if (!state->objon)
@@ -194,7 +195,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rect
priority = priority ? 0x40 : 0x00;
- for (offs = spriteram_size - 32;offs >= 0;offs -= 32)
+ for (offs = machine->generic.spriteram_size - 32;offs >= 0;offs -= 32)
{
if ((buffered_spriteram[offs + 1] & 0x40) == priority)
{
diff --git a/src/mame/video/exerion.c b/src/mame/video/exerion.c
index 038ca206b26..53d41ac7d64 100644
--- a/src/mame/video/exerion.c
+++ b/src/mame/video/exerion.c
@@ -359,7 +359,7 @@ VIDEO_UPDATE( exerion )
draw_background(screen->machine, bitmap, cliprect);
/* draw sprites */
- for (i = 0; i < spriteram_size; i += 4)
+ for (i = 0; i < screen->machine->generic.spriteram_size; i += 4)
{
int flags = state->spriteram[i + 0];
int y = state->spriteram[i + 1] ^ 255;
diff --git a/src/mame/video/exidy440.c b/src/mame/video/exidy440.c
index cafab459b60..fd88b47e1c8 100644
--- a/src/mame/video/exidy440.c
+++ b/src/mame/video/exidy440.c
@@ -184,7 +184,7 @@ READ8_HANDLER( exidy440_vertical_pos_r )
WRITE8_HANDLER( exidy440_spriteram_w )
{
video_screen_update_partial(space->machine->primary_screen, video_screen_get_vpos(space->machine->primary_screen));
- spriteram[offset] = data;
+ space->machine->generic.spriteram.u8[offset] = data;
}
@@ -316,7 +316,7 @@ static void draw_sprites(const device_config *screen, bitmap_t *bitmap, const re
int count = 0;
/* draw the sprite images, checking for collisions along the way */
- UINT8 *sprite = spriteram + (SPRITE_COUNT - 1) * 4;
+ UINT8 *sprite = screen->machine->generic.spriteram.u8 + (SPRITE_COUNT - 1) * 4;
for (i = 0; i < SPRITE_COUNT; i++, sprite -= 4)
{
diff --git a/src/mame/video/exprraid.c b/src/mame/video/exprraid.c
index 25926b52c1a..d4a34ed702a 100644
--- a/src/mame/video/exprraid.c
+++ b/src/mame/video/exprraid.c
@@ -101,7 +101,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rect
exprraid_state *state = (exprraid_state *)machine->driver_data;
int offs;
- for (offs = 0; offs < spriteram_size; offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 4)
{
int attr = state->spriteram[offs + 1];
int code = state->spriteram[offs + 3] + ((attr & 0xe0) << 3);
diff --git a/src/mame/video/f1gp.c b/src/mame/video/f1gp.c
index d83f93bf761..edb04e563de 100644
--- a/src/mame/video/f1gp.c
+++ b/src/mame/video/f1gp.c
@@ -248,10 +248,11 @@ static void f1gp_draw_sprites(running_machine *machine,bitmap_t *bitmap,const re
static void f1gpb_draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
- int attr_start, start_offset = spriteram_size/2 - 4;
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
+ int attr_start, start_offset = machine->generic.spriteram_size/2 - 4;
// find the "end of list" to draw the sprites in reverse order
- for (attr_start = 4;attr_start < spriteram_size/2;attr_start += 4)
+ for (attr_start = 4;attr_start < machine->generic.spriteram_size/2;attr_start += 4)
{
if (spriteram16[attr_start+3-4] == 0xffff) /* end of list marker */
{
diff --git a/src/mame/video/fantland.c b/src/mame/video/fantland.c
index b32cce45bc1..4641644ec28 100644
--- a/src/mame/video/fantland.c
+++ b/src/mame/video/fantland.c
@@ -62,9 +62,10 @@
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
- UINT8 *indx_ram = spriteram + 0x2000, // this ram contains indexes into offs_ram
- *offs_ram = spriteram + 0x2400, // this ram contains x,y offsets or indexes into spriteram_2
- *ram = spriteram, // current sprite pointer in spriteram
+ UINT8 *spriteram_2 = machine->generic.spriteram2.u8;
+ UINT8 *indx_ram = machine->generic.spriteram.u8 + 0x2000, // this ram contains indexes into offs_ram
+ *offs_ram = machine->generic.spriteram.u8 + 0x2400, // this ram contains x,y offsets or indexes into spriteram_2
+ *ram = machine->generic.spriteram.u8, // current sprite pointer in spriteram
*ram2 = indx_ram; // current sprite pointer in indx_ram
// wheelrun is the only game with a smaller visible area
diff --git a/src/mame/video/fastlane.c b/src/mame/video/fastlane.c
index 7fc54b73d09..d4a77dc1738 100644
--- a/src/mame/video/fastlane.c
+++ b/src/mame/video/fastlane.c
@@ -26,17 +26,17 @@ PALETTE_INIT( fastlane )
}
-static void set_pens(colortable_t *colortable)
+static void set_pens(running_machine *machine)
{
int i;
for (i = 0x00; i < 0x800; i += 2)
{
- UINT16 data = paletteram[i | 1] | (paletteram[i] << 8);
+ UINT16 data = machine->generic.paletteram.u8[i | 1] | (machine->generic.paletteram.u8[i] << 8);
rgb_t color = MAKE_RGB(pal5bit(data >> 0), pal5bit(data >> 5), pal5bit(data >> 10));
- colortable_palette_set_color(colortable, i >> 1, color);
+ colortable_palette_set_color(machine->colortable, i >> 1, color);
}
}
@@ -153,7 +153,7 @@ VIDEO_UPDATE( fastlane )
sect_rect(&finalclip0, cliprect);
sect_rect(&finalclip1, cliprect);
- set_pens(screen->machine->colortable);
+ set_pens(screen->machine);
/* set scroll registers */
xoffs = K007121_ctrlram[0][0x00];
@@ -163,7 +163,7 @@ VIDEO_UPDATE( fastlane )
tilemap_set_scrolly( layer0, 0, K007121_ctrlram[0][0x02] );
tilemap_draw(bitmap,&finalclip0,layer0,0,0);
- K007121_sprites_draw(0,bitmap,cliprect,screen->machine->gfx,screen->machine->colortable,spriteram,0,40,0,-1);
+ K007121_sprites_draw(0,bitmap,cliprect,screen->machine->gfx,screen->machine->colortable,screen->machine->generic.spriteram.u8,0,40,0,-1);
tilemap_draw(bitmap,&finalclip1,layer1,0,0);
return 0;
}
diff --git a/src/mame/video/fcombat.c b/src/mame/video/fcombat.c
index b609b2d44e5..3419dcec8f0 100644
--- a/src/mame/video/fcombat.c
+++ b/src/mame/video/fcombat.c
@@ -148,7 +148,7 @@ VIDEO_UPDATE( fcombat )
//draw_background(bitmap, cliprect);
/* draw sprites */
- for (i = 0; i < spriteram_size; i += 4)
+ for (i = 0; i < screen->machine->generic.spriteram_size; i += 4)
{
int flags = state->spriteram[i + 0];
int y = state->spriteram[i + 1] ^ 255;
diff --git a/src/mame/video/finalizr.c b/src/mame/video/finalizr.c
index 8da6b6c36a1..f3cbc2c1710 100644
--- a/src/mame/video/finalizr.c
+++ b/src/mame/video/finalizr.c
@@ -104,7 +104,7 @@ VIDEO_UPDATE( finalizr )
UINT8 *sr = state->spriterambank ? state->spriteram_2 : state->spriteram;
- for (offs = 0; offs <= spriteram_size - 5; offs += 5)
+ for (offs = 0; offs <= screen->machine->generic.spriteram_size - 5; offs += 5)
{
int sx, sy, flipx, flipy, code, color, size;
diff --git a/src/mame/video/firetrap.c b/src/mame/video/firetrap.c
index 8b204c63fbf..98d87125ba2 100644
--- a/src/mame/video/firetrap.c
+++ b/src/mame/video/firetrap.c
@@ -205,7 +205,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rect
firetrap_state *state = (firetrap_state *)machine->driver_data;
int offs;
- for (offs = 0; offs < spriteram_size; offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 4)
{
int sx, sy, flipx, flipy, code, color;
diff --git a/src/mame/video/flower.c b/src/mame/video/flower.c
index af644fd554d..b79c9ff4185 100644
--- a/src/mame/video/flower.c
+++ b/src/mame/video/flower.c
@@ -31,7 +31,7 @@ PALETTE_INIT( flower )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
const gfx_element *gfx = machine->gfx[1];
- UINT8 *source = spriteram + 0x200;
+ UINT8 *source = machine->generic.spriteram.u8 + 0x200;
UINT8 *finish = source - 0x200;
source -= 8;
diff --git a/src/mame/video/flstory.c b/src/mame/video/flstory.c
index 60e94345ef8..5088bd47c12 100644
--- a/src/mame/video/flstory.c
+++ b/src/mame/video/flstory.c
@@ -50,10 +50,10 @@ VIDEO_START( flstory )
tilemap_set_transmask(state->bg_tilemap, 1, 0x8000, 0x7fff); /* split type 1 has pen 15 transparent in front half */
tilemap_set_scroll_cols(state->bg_tilemap, 32);
- paletteram = auto_alloc_array(machine, UINT8, 0x200);
- paletteram_2 = auto_alloc_array(machine, UINT8, 0x200);
- state_save_register_global_pointer(machine, paletteram, 0x200);
- state_save_register_global_pointer(machine, paletteram_2, 0x200);
+ 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);
}
VIDEO_START( victnine )
@@ -62,10 +62,10 @@ VIDEO_START( victnine )
state->bg_tilemap = tilemap_create(machine, victnine_get_tile_info, tilemap_scan_rows, 8, 8, 32, 32);
tilemap_set_scroll_cols(state->bg_tilemap, 32);
- paletteram = auto_alloc_array(machine, UINT8, 0x200);
- paletteram_2 = auto_alloc_array(machine, UINT8, 0x200);
- state_save_register_global_pointer(machine, paletteram, 0x200);
- state_save_register_global_pointer(machine, paletteram_2, 0x200);
+ 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);
}
WRITE8_HANDLER( flstory_videoram_w )
@@ -88,9 +88,9 @@ READ8_HANDLER( flstory_palette_r )
{
flstory_state *state = (flstory_state *)space->machine->driver_data;
if (offset & 0x100)
- return paletteram_2[ (offset & 0xff) + (state->palette_bank << 8) ];
+ return space->machine->generic.paletteram2.u8[ (offset & 0xff) + (state->palette_bank << 8) ];
else
- return paletteram [ (offset & 0xff) + (state->palette_bank << 8) ];
+ return space->machine->generic.paletteram.u8 [ (offset & 0xff) + (state->palette_bank << 8) ];
}
WRITE8_HANDLER( flstory_gfxctrl_w )
@@ -154,7 +154,7 @@ static void flstory_draw_sprites( running_machine *machine, bitmap_t *bitmap, co
for (i = 0; i < 0x20; i++)
{
- int pr = state->spriteram[spriteram_size - 1 - i];
+ int pr = state->spriteram[machine->generic.spriteram_size - 1 - i];
int offs = (pr & 0x1f) * 4;
if ((pr & 0x80) == pri)
@@ -211,7 +211,7 @@ static void victnine_draw_sprites( running_machine *machine, bitmap_t *bitmap, c
for (i = 0; i < 0x20; i++)
{
- int pr = state->spriteram[spriteram_size - 1 - i];
+ int pr = state->spriteram[machine->generic.spriteram_size - 1 - i];
int offs = (pr & 0x1f) * 4;
//if ((pr & 0x80) == pri)
diff --git a/src/mame/video/foodf.c b/src/mame/video/foodf.c
index 0508e0475eb..2e959b7ee2d 100644
--- a/src/mame/video/foodf.c
+++ b/src/mame/video/foodf.c
@@ -86,8 +86,8 @@ WRITE16_HANDLER( foodf_paletteram_w )
{
int newword, r, g, b, bit0, bit1, bit2;
- COMBINE_DATA(&paletteram16[offset]);
- newword = paletteram16[offset];
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
+ newword = space->machine->generic.paletteram.u16[offset];
/* only the bottom 8 bits are used */
/* red component */
@@ -123,6 +123,7 @@ VIDEO_UPDATE( foodf )
int offs;
const gfx_element *gfx = screen->machine->gfx[1];
bitmap_t *priority_bitmap = screen->machine->priority_bitmap;
+ UINT16 *spriteram16 = screen->machine->generic.spriteram.u16;
/* first draw the playfield opaquely */
tilemap_draw(bitmap, cliprect, atarigen_playfield_tilemap, TILEMAP_DRAW_OPAQUE, 0);
diff --git a/src/mame/video/freekick.c b/src/mame/video/freekick.c
index c60c6462099..5cd6b615447 100644
--- a/src/mame/video/freekick.c
+++ b/src/mame/video/freekick.c
@@ -34,7 +34,7 @@ static void gigas_draw_sprites( running_machine *machine, bitmap_t *bitmap, cons
freekick_state *state = (freekick_state *)machine->driver_data;
int offs;
- for (offs = 0; offs < spriteram_size; offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 4)
{
int xpos = state->spriteram[offs + 3];
int ypos = state->spriteram[offs + 2];
@@ -69,7 +69,7 @@ static void pbillrd_draw_sprites( running_machine *machine, bitmap_t *bitmap, co
freekick_state *state = (freekick_state *)machine->driver_data;
int offs;
- for (offs = 0; offs < spriteram_size; offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 4)
{
int xpos = state->spriteram[offs + 3];
int ypos = state->spriteram[offs + 2];
@@ -105,7 +105,7 @@ static void freekick_draw_sprites( running_machine *machine, bitmap_t *bitmap, c
freekick_state *state = (freekick_state *)machine->driver_data;
int offs;
- for (offs = 0; offs < spriteram_size; offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 4)
{
int xpos = state->spriteram[offs + 3];
int ypos = state->spriteram[offs + 0];
diff --git a/src/mame/video/fromance.c b/src/mame/video/fromance.c
index aa5a9dd4b66..d109c58551c 100644
--- a/src/mame/video/fromance.c
+++ b/src/mame/video/fromance.c
@@ -310,10 +310,11 @@ static void draw_sprites(const device_config *screen, bitmap_t *bitmap, const re
{
static const UINT8 zoomtable[16] = { 0,7,14,20,25,30,34,38,42,46,49,52,54,57,59,61 };
const rectangle *visarea = video_screen_get_visible_area(screen);
+ UINT8 *spriteram = screen->machine->generic.spriteram.u8;
int offs;
/* draw the sprites */
- for (offs = 0; offs < spriteram_size; offs += 8)
+ for (offs = 0; offs < screen->machine->generic.spriteram_size; offs += 8)
{
int data2 = spriteram[offs + 4] | (spriteram[offs + 5] << 8);
int priority = (data2 >> 4) & 1;
diff --git a/src/mame/video/funkyjet.c b/src/mame/video/funkyjet.c
index 0178b684d58..8053b8e8e18 100644
--- a/src/mame/video/funkyjet.c
+++ b/src/mame/video/funkyjet.c
@@ -16,6 +16,7 @@ VIDEO_START( funkyjet )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
for (offs = 0;offs < 0x400;offs += 4)
diff --git a/src/mame/video/funworld.c b/src/mame/video/funworld.c
index 467338a5d50..0a63b95ae08 100644
--- a/src/mame/video/funworld.c
+++ b/src/mame/video/funworld.c
@@ -119,13 +119,13 @@ PALETTE_INIT(funworld)
WRITE8_HANDLER( funworld_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( funworld_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -146,9 +146,9 @@ static TILE_GET_INFO( get_bg_tile_info )
---- xxxx unused.
*/
int offs = tile_index;
- int attr = videoram[offs] + (colorram[offs] << 8);
+ int attr = machine->generic.videoram.u8[offs] + (machine->generic.colorram.u8[offs] << 8);
int code = attr & 0xfff;
- int color = colorram[offs] >> 4; // 4 bits for color.
+ int color = machine->generic.colorram.u8[offs] >> 4; // 4 bits for color.
SET_TILE_INFO(0, code, color, 0);
}
diff --git a/src/mame/video/fuukifg2.c b/src/mame/video/fuukifg2.c
index bcdcb7733c6..88471edf632 100644
--- a/src/mame/video/fuukifg2.c
+++ b/src/mame/video/fuukifg2.c
@@ -150,11 +150,12 @@ static void draw_sprites(const device_config *screen, bitmap_t *bitmap, const re
const gfx_element *gfx = screen->machine->gfx[0];
bitmap_t *priority_bitmap = screen->machine->priority_bitmap;
const rectangle *visarea = video_screen_get_visible_area(screen);
+ UINT16 *spriteram16 = screen->machine->generic.spriteram.u16;
int max_x = visarea->max_x+1;
int max_y = visarea->max_y+1;
/* Draw them backwards, for pdrawgfx */
- for ( offs = (spriteram_size-8)/2; offs >=0; offs -= 8/2 )
+ for ( offs = (screen->machine->generic.spriteram_size-8)/2; offs >=0; offs -= 8/2 )
{
int x, y, xstart, ystart, xend, yend, xinc, yinc;
int xnum, ynum, xzoom, yzoom, flipx, flipy;
diff --git a/src/mame/video/fuukifg3.c b/src/mame/video/fuukifg3.c
index c8b5e6673ad..c364a939aac 100644
--- a/src/mame/video/fuukifg3.c
+++ b/src/mame/video/fuukifg3.c
@@ -106,8 +106,8 @@ LAYER_4BPP( 3 )
VIDEO_START( fuuki32 )
{
- buffered_spriteram32 = auto_alloc_array(machine, UINT32, spriteram_size/4);
- buffered_spriteram32_2 = auto_alloc_array(machine, UINT32, spriteram_size/4);
+ machine->generic.buffered_spriteram.u32 = auto_alloc_array(machine, UINT32, machine->generic.spriteram_size/4);
+ machine->generic.buffered_spriteram2.u32 = auto_alloc_array(machine, UINT32, machine->generic.spriteram_size/4);
tilemap_0 = tilemap_create( machine, get_tile_info_0, tilemap_scan_rows,
16, 16, 64,32);
@@ -168,10 +168,10 @@ static void draw_sprites(const device_config *screen, bitmap_t *bitmap, const re
int max_x = visarea->max_x+1;
int max_y = visarea->max_y+1;
- UINT32 *src = buffered_spriteram32_2; /* Use spriteram buffered by 2 frames, need palette buffered by one frame? */
+ UINT32 *src = screen->machine->generic.buffered_spriteram2.u32; /* Use spriteram buffered by 2 frames, need palette buffered by one frame? */
/* Draw them backwards, for pdrawgfx */
- for ( offs = (spriteram_size-8)/4; offs >=0; offs -= 8/4 )
+ for ( offs = (screen->machine->generic.spriteram_size-8)/4; offs >=0; offs -= 8/4 )
{
int x, y, xstart, ystart, xend, yend, xinc, yinc;
int xnum, ynum, xzoom, yzoom, flipx, flipy;
@@ -384,6 +384,6 @@ VIDEO_EOF( fuuki32 )
spr_buffered_tilebank[1] = spr_buffered_tilebank[0];
spr_buffered_tilebank[0] = fuuki32_tilebank[0];
- memcpy(buffered_spriteram32_2,buffered_spriteram32,spriteram_size);
- memcpy(buffered_spriteram32,spriteram32,spriteram_size);
+ memcpy(machine->generic.buffered_spriteram2.u32,machine->generic.buffered_spriteram.u32,machine->generic.spriteram_size);
+ memcpy(machine->generic.buffered_spriteram.u32,machine->generic.spriteram.u32,machine->generic.spriteram_size);
}
diff --git a/src/mame/video/gaelco2.c b/src/mame/video/gaelco2.c
index d2a8d115609..9b4a8300fad 100644
--- a/src/mame/video/gaelco2.c
+++ b/src/mame/video/gaelco2.c
@@ -228,8 +228,8 @@ WRITE16_HANDLER( gaelco2_palette_w )
{
int i, color, r, g, b, auxr, auxg, auxb;
- COMBINE_DATA(&paletteram16[offset]);
- color = paletteram16[offset];
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
+ color = space->machine->generic.paletteram.u16[offset];
/* extract RGB components */
r = (color >> 10) & 0x1f;
@@ -265,7 +265,7 @@ WRITE16_HANDLER( gaelco2_palette_w )
VIDEO_START( gaelco2 )
{
- gaelco2_videoram = spriteram16;
+ gaelco2_videoram = machine->generic.spriteram.u16;
/* create tilemaps */
pant[0] = tilemap_create(machine, get_tile_info_gaelco2_screen0,tilemap_scan_rows,16,16,64,32);
@@ -285,7 +285,7 @@ VIDEO_START( gaelco2 )
VIDEO_START( gaelco2_dual )
{
- gaelco2_videoram = spriteram16;
+ gaelco2_videoram = machine->generic.spriteram.u16;
/* create tilemaps */
pant[0] = tilemap_create(machine, get_tile_info_gaelco2_screen0_dual,tilemap_scan_rows,16,16,64,32);
@@ -341,6 +341,7 @@ VIDEO_START( gaelco2_dual )
static void draw_sprites(const device_config *screen, bitmap_t *bitmap, const rectangle *cliprect, int mask, int xoffs)
{
+ UINT16 *buffered_spriteram16 = screen->machine->generic.buffered_spriteram.u16;
int j, x, y, ex, ey, px, py;
const gfx_element *gfx = screen->machine->gfx[0];
diff --git a/src/mame/video/gaelco3d.c b/src/mame/video/gaelco3d.c
index af9710f3357..214eec0b47a 100644
--- a/src/mame/video/gaelco3d.c
+++ b/src/mame/video/gaelco3d.c
@@ -431,17 +431,17 @@ WRITE32_HANDLER( gaelco3d_render_w )
WRITE16_HANDLER( gaelco3d_paletteram_w )
{
poly_wait(poly, "Palette change");
- COMBINE_DATA(&paletteram16[offset]);
- palette[offset] = ((paletteram16[offset] & 0x7fe0) << 6) | (paletteram16[offset] & 0x1f);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
+ palette[offset] = ((space->machine->generic.paletteram.u16[offset] & 0x7fe0) << 6) | (space->machine->generic.paletteram.u16[offset] & 0x1f);
}
WRITE32_HANDLER( gaelco3d_paletteram_020_w )
{
poly_wait(poly, "Palette change");
- COMBINE_DATA(&paletteram32[offset]);
- palette[offset*2+0] = ((paletteram32[offset] & 0x7fe00000) >> 10) | ((paletteram32[offset] & 0x1f0000) >> 16);
- palette[offset*2+1] = ((paletteram32[offset] & 0x7fe0) << 6) | (paletteram32[offset] & 0x1f);
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
+ palette[offset*2+0] = ((space->machine->generic.paletteram.u32[offset] & 0x7fe00000) >> 10) | ((space->machine->generic.paletteram.u32[offset] & 0x1f0000) >> 16);
+ palette[offset*2+1] = ((space->machine->generic.paletteram.u32[offset] & 0x7fe0) << 6) | (space->machine->generic.paletteram.u32[offset] & 0x1f);
}
diff --git a/src/mame/video/gaiden.c b/src/mame/video/gaiden.c
index b5eb93a6cc4..b6f456b69b0 100644
--- a/src/mame/video/gaiden.c
+++ b/src/mame/video/gaiden.c
@@ -307,7 +307,7 @@ static void gaiden_draw_sprites(running_machine *machine, bitmap_t *bitmap, cons
};
const gfx_element *gfx = machine->gfx[3];
- const UINT16 *source = (NUM_SPRITES - 1) * 8 + spriteram16;
+ const UINT16 *source = (NUM_SPRITES - 1) * 8 + machine->generic.spriteram.u16;
int count = NUM_SPRITES;
/* draw all sprites from front to back */
@@ -405,7 +405,7 @@ static void raiga_draw_sprites(running_machine *machine, bitmap_t *bitmap_bg, bi
};
const gfx_element *gfx = machine->gfx[3];
- const UINT16 *source = (NUM_SPRITES - 1) * 8 + spriteram16;
+ const UINT16 *source = (NUM_SPRITES - 1) * 8 + machine->generic.spriteram.u16;
int count = NUM_SPRITES;
/* draw all sprites from front to back */
@@ -531,6 +531,7 @@ static void raiga_draw_sprites(running_machine *machine, bitmap_t *bitmap_bg, bi
static void drgnbowl_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int i, code, color, x, y, flipx, flipy, priority_mask;
for( i = 0; i < 0x800/2; i += 4 )
diff --git a/src/mame/video/galaga.c b/src/mame/video/galaga.c
index d47835132d8..2a6f39111a9 100644
--- a/src/mame/video/galaga.c
+++ b/src/mame/video/galaga.c
@@ -445,9 +445,9 @@ VIDEO_START( galaga )
galaga_gfxbank = 0;
- spriteram = galaga_ram1 + 0x380;
- spriteram_2 = galaga_ram2 + 0x380;
- spriteram_3 = galaga_ram3 + 0x380;
+ machine->generic.spriteram.u8 = galaga_ram1 + 0x380;
+ machine->generic.spriteram2.u8 = galaga_ram2 + 0x380;
+ machine->generic.spriteram3.u8 = galaga_ram3 + 0x380;
state_save_register_global_array(machine, galaga_starcontrol);
@@ -496,6 +496,9 @@ WRITE8_HANDLER ( gatsbee_bank_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
+ UINT8 *spriteram_2 = machine->generic.spriteram2.u8;
+ UINT8 *spriteram_3 = machine->generic.spriteram3.u8;
int offs;
diff --git a/src/mame/video/galastrm.c b/src/mame/video/galastrm.c
index 564e3b6a842..2f7fa0a30c8 100644
--- a/src/mame/video/galastrm.c
+++ b/src/mame/video/galastrm.c
@@ -107,6 +107,7 @@ static struct tempsprite *sprite_ptr_pre;
static void draw_sprites_pre(running_machine *machine, int x_offs, int y_offs)
{
+ UINT32 *spriteram32 = machine->generic.spriteram.u32;
UINT16 *spritemap = (UINT16 *)memory_region(machine, "user1");
int offs, data, tilenum, color, flipx, flipy;
int x, y, priority, dblsize, curx, cury;
@@ -119,7 +120,7 @@ static void draw_sprites_pre(running_machine *machine, int x_offs, int y_offs)
while processing sprite ram and then draw them all at the end */
sprite_ptr_pre = spritelist;
- for (offs = (spriteram_size/4-4);offs >= 0;offs -= 4)
+ for (offs = (machine->generic.spriteram_size/4-4);offs >= 0;offs -= 4)
{
data = spriteram32[offs+0];
flipx = (data & 0x00800000) >> 23;
diff --git a/src/mame/video/galaxian.c b/src/mame/video/galaxian.c
index 413606065dd..2b7edb15e54 100644
--- a/src/mame/video/galaxian.c
+++ b/src/mame/video/galaxian.c
@@ -509,11 +509,11 @@ VIDEO_UPDATE( galaxian )
tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 0);
/* render the sprites next */
- sprites_draw(screen->machine, bitmap, cliprect, &spriteram[0x40]);
+ sprites_draw(screen->machine, bitmap, cliprect, &screen->machine->generic.spriteram.u8[0x40]);
/* if we have bullets to draw, render them following */
if (galaxian_draw_bullet_ptr != NULL)
- bullets_draw(screen->machine, bitmap, cliprect, &spriteram[0x60]);
+ bullets_draw(screen->machine, bitmap, cliprect, &screen->machine->generic.spriteram.u8[0x60]);
return 0;
}
@@ -530,8 +530,8 @@ static TILE_GET_INFO( bg_get_tile_info )
{
UINT8 x = tile_index & 0x1f;
- UINT16 code = videoram[tile_index];
- UINT8 attrib = spriteram[x*2+1];
+ UINT16 code = machine->generic.videoram.u8[tile_index];
+ UINT8 attrib = machine->generic.spriteram.u8[x*2+1];
UINT8 color = attrib & 7;
if (galaxian_extend_tile_info_ptr != NULL)
@@ -547,7 +547,7 @@ WRITE8_HANDLER( galaxian_videoram_w )
video_screen_update_now(space->machine->primary_screen);
/* store the data and mark the corresponding tile dirty */
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -558,7 +558,7 @@ WRITE8_HANDLER( galaxian_objram_w )
video_screen_update_now(space->machine->primary_screen);
/* store the data */
- spriteram[offset] = data;
+ space->machine->generic.spriteram.u8[offset] = data;
/* the first $40 bytes affect the tilemap */
if (offset < 0x40)
diff --git a/src/mame/video/galivan.c b/src/mame/video/galivan.c
index 4aff4fd7d18..72ebbe66fb4 100644
--- a/src/mame/video/galivan.c
+++ b/src/mame/video/galivan.c
@@ -139,8 +139,8 @@ static TILE_GET_INFO( get_bg_tile_info )
static TILE_GET_INFO( get_tx_tile_info )
{
- int attr = colorram[tile_index];
- int code = videoram[tile_index] | ((attr & 0x01) << 8);
+ int attr = machine->generic.colorram.u8[tile_index];
+ int code = machine->generic.videoram.u8[tile_index] | ((attr & 0x01) << 8);
SET_TILE_INFO(
0,
code,
@@ -163,8 +163,8 @@ static TILE_GET_INFO( ninjemak_get_bg_tile_info )
static TILE_GET_INFO( ninjemak_get_tx_tile_info )
{
- int attr = colorram[tile_index];
- int code = videoram[tile_index] | ((attr & 0x03) << 8);
+ int attr = machine->generic.colorram.u8[tile_index];
+ int code = machine->generic.videoram.u8[tile_index] | ((attr & 0x03) << 8);
SET_TILE_INFO(
0,
code,
@@ -227,13 +227,13 @@ VIDEO_START( ninjemak )
WRITE8_HANDLER( galivan_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(tx_tilemap,offset);
}
WRITE8_HANDLER( galivan_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(tx_tilemap,offset);
}
@@ -275,11 +275,11 @@ WRITE8_HANDLER( ninjemak_gfxbank_w )
logerror("%04x: write %02x to port 80\n",cpu_get_pc(space->cpu),data);
- for (offs = 0; offs < videoram_size; offs++)
+ for (offs = 0; offs < space->machine->generic.videoram_size; offs++)
{
galivan_videoram_w(space, offs, 0x20);
}
- for (offs = 0; offs < videoram_size; offs++)
+ for (offs = 0; offs < space->machine->generic.videoram_size; offs++)
{
galivan_colorram_w(space, offs, 0x03);
}
@@ -351,10 +351,11 @@ WRITE8_HANDLER( ninjemak_scrolly_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
const UINT8 *spritepalettebank = memory_region(machine, "user1");
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
/* draw the sprites */
- for (offs = 0;offs < spriteram_size;offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram_size;offs += 4)
{
int code;
int attr = spriteram[offs+2];
diff --git a/src/mame/video/galpanic.c b/src/mame/video/galpanic.c
index fd06db0e45c..ec3c84f4b65 100644
--- a/src/mame/video/galpanic.c
+++ b/src/mame/video/galpanic.c
@@ -42,7 +42,7 @@ WRITE16_HANDLER( galpanic_bgvideoram_w )
WRITE16_HANDLER( galpanic_paletteram_w )
{
- data = COMBINE_DATA(&paletteram16[offset]);
+ data = COMBINE_DATA(&space->machine->generic.paletteram.u16[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));
}
@@ -50,10 +50,11 @@ WRITE16_HANDLER( galpanic_paletteram_w )
static void comad_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
int sx=0, sy=0;
- for (offs = 0;offs < spriteram_size/2;offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram_size/2;offs += 4)
{
int code,color,flipx,flipy;
diff --git a/src/mame/video/galspnbl.c b/src/mame/video/galspnbl.c
index a99f2bb5bde..c4dc2a4b347 100644
--- a/src/mame/video/galspnbl.c
+++ b/src/mame/video/galspnbl.c
@@ -36,6 +36,7 @@ PALETTE_INIT( galspnbl )
*/
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int priority)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
static const UINT8 layout[8][8] =
{
@@ -49,7 +50,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
{42,43,46,47,58,59,62,63}
};
- for (offs = (spriteram_size-16)/2;offs >= 0;offs -= 8)
+ for (offs = (machine->generic.spriteram_size-16)/2;offs >= 0;offs -= 8)
{
int sx,sy,code,color,size,attr,flipx,flipy;
int col,row;
diff --git a/src/mame/video/gaplus.c b/src/mame/video/gaplus.c
index 92746e564d8..67aac9c2f82 100644
--- a/src/mame/video/gaplus.c
+++ b/src/mame/video/gaplus.c
@@ -199,9 +199,9 @@ VIDEO_START( gaplus )
colortable_configure_tilemap_groups(machine->colortable, bg_tilemap, machine->gfx[0], 0xff);
- spriteram = gaplus_spriteram + 0x780;
- spriteram_2 = spriteram + 0x800;
- spriteram_3 = spriteram_2 + 0x800;
+ machine->generic.spriteram.u8 = gaplus_spriteram + 0x780;
+ machine->generic.spriteram2.u8 = machine->generic.spriteram.u8 + 0x800;
+ machine->generic.spriteram3.u8 = machine->generic.spriteram2.u8 + 0x800;
starfield_init(machine);
}
@@ -267,6 +267,9 @@ static void starfield_render(running_machine *machine, bitmap_t *bitmap)
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
+ UINT8 *spriteram_2 = machine->generic.spriteram2.u8;
+ UINT8 *spriteram_3 = machine->generic.spriteram3.u8;
int offs;
for (offs = 0;offs < 0x80;offs += 2)
diff --git a/src/mame/video/gatron.c b/src/mame/video/gatron.c
index 9fae232e0d2..5ff3f0b94d7 100644
--- a/src/mame/video/gatron.c
+++ b/src/mame/video/gatron.c
@@ -24,7 +24,7 @@ static tilemap *bg_tilemap;
WRITE8_HANDLER( gat_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -37,7 +37,7 @@ static TILE_GET_INFO( get_bg_tile_info )
only one color code
*/
- int code = videoram[tile_index];
+ int code = machine->generic.videoram.u8[tile_index];
SET_TILE_INFO(0, code, 0, 0);
}
diff --git a/src/mame/video/gberet.c b/src/mame/video/gberet.c
index 73c3c313653..0974c85989f 100644
--- a/src/mame/video/gberet.c
+++ b/src/mame/video/gberet.c
@@ -85,13 +85,13 @@ PALETTE_INIT( gberet )
WRITE8_HANDLER( gberet_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( gberet_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -112,8 +112,8 @@ WRITE8_HANDLER( gberet_sprite_bank_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int attr = colorram[tile_index];
- int code = videoram[tile_index] + ((attr & 0x40) << 2);
+ int attr = machine->generic.colorram.u8[tile_index];
+ int code = machine->generic.videoram.u8[tile_index] + ((attr & 0x40) << 2);
int color = attr & 0x0f;
int flags = TILE_FLIPYX((attr & 0x30) >> 4);
@@ -137,9 +137,9 @@ static void gberet_draw_sprites(running_machine *machine, bitmap_t *bitmap, cons
UINT8 *sr;
if (gberet_spritebank & 0x08)
- sr = spriteram_2;
+ sr = machine->generic.spriteram2.u8;
else
- sr = spriteram;
+ sr = machine->generic.spriteram.u8;
for (offs = 0; offs < 0xc0; offs += 4)
{
@@ -190,9 +190,10 @@ WRITE8_HANDLER( gberetb_scroll_w )
static void gberetb_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = spriteram_size - 4; offs >= 0; offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4; offs >= 0; offs -= 4)
{
if (spriteram[offs + 1])
{
diff --git a/src/mame/video/gcpinbal.c b/src/mame/video/gcpinbal.c
index d81e4166809..d05275c75fe 100644
--- a/src/mame/video/gcpinbal.c
+++ b/src/mame/video/gcpinbal.c
@@ -195,6 +195,7 @@ WRITE16_HANDLER( gcpinbal_ctrl_word_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect,int y_offs)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs,chain_pos;
int x,y,curx,cury;
int priority=0;
@@ -204,7 +205,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan
/* According to Raine, word in ioc_ram determines sprite/tile priority... */
priority = (gcpinbal_ioc_ram[0x68/2] & 0x8800) ? 0 : 1;
- for (offs = spriteram_size/2-8;offs >= 0;offs -= 8)
+ for (offs = machine->generic.spriteram_size/2-8;offs >= 0;offs -= 8)
{
code = ((spriteram16[offs+5])&0xff) + (((spriteram16[offs+6]) &0xff) << 8);
code &= 0x3fff;
diff --git a/src/mame/video/ginganin.c b/src/mame/video/ginganin.c
index b1846e02260..f09552a20cf 100644
--- a/src/mame/video/ginganin.c
+++ b/src/mame/video/ginganin.c
@@ -213,9 +213,10 @@ Offset: Values: Format:
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
- for ( offs = 0 ; offs < (spriteram_size >> 1); offs += 4 )
+ for ( offs = 0 ; offs < (machine->generic.spriteram_size >> 1); offs += 4 )
{
int y = spriteram16[offs + 0];
int x = spriteram16[offs + 1];
diff --git a/src/mame/video/gladiatr.c b/src/mame/video/gladiatr.c
index 8be8fac1ca2..cf9874950a5 100644
--- a/src/mame/video/gladiatr.c
+++ b/src/mame/video/gladiatr.c
@@ -106,16 +106,16 @@ WRITE8_HANDLER( gladiatr_paletteram_w )
{
int r,g,b;
- paletteram[offset] = data;
+ space->machine->generic.paletteram.u8[offset] = data;
offset &= 0x3ff;
- r = (paletteram[offset] >> 0) & 0x0f;
- g = (paletteram[offset] >> 4) & 0x0f;
- b = (paletteram[offset + 0x400] >> 0) & 0x0f;
+ 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 = (r << 1) + ((paletteram[offset + 0x400] >> 4) & 0x01);
- g = (g << 1) + ((paletteram[offset + 0x400] >> 5) & 0x01);
- b = (b << 1) + ((paletteram[offset + 0x400] >> 6) & 0x01);
+ 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);
palette_set_color_rgb(space->machine,offset,pal5bit(r),pal5bit(g),pal5bit(b));
}
@@ -209,7 +209,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
{0x0,0x1},
{0x2,0x3},
};
- UINT8 *src = &spriteram[offs + (sprite_buffer << 7)];
+ UINT8 *src = &machine->generic.spriteram.u8[offs + (sprite_buffer << 7)];
int attributes = src[0x800];
int size = (attributes & 0x10) >> 4;
int bank = (attributes & 0x01) + ((attributes & 0x02) ? sprite_bank : 0);
diff --git a/src/mame/video/gng.c b/src/mame/video/gng.c
index c0a94f78cce..ba7f60b1251 100644
--- a/src/mame/video/gng.c
+++ b/src/mame/video/gng.c
@@ -116,11 +116,12 @@ WRITE8_HANDLER( gng_flipscreen_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *buffered_spriteram = machine->generic.buffered_spriteram.u8;
const gfx_element *gfx = machine->gfx[2];
int offs;
- for (offs = spriteram_size - 4;offs >= 0;offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4;offs >= 0;offs -= 4)
{
UINT8 attributes = buffered_spriteram[offs+1];
int sx = buffered_spriteram[offs + 3] - 0x100 * (attributes & 0x01);
diff --git a/src/mame/video/goal92.c b/src/mame/video/goal92.c
index b2591d4caa6..c5d6604c8f3 100644
--- a/src/mame/video/goal92.c
+++ b/src/mame/video/goal92.c
@@ -91,6 +91,7 @@ static TILE_GET_INFO( get_fore_tile_info )
static void draw_sprites(running_machine *machine,bitmap_t *bitmap,const rectangle *cliprect,int pri)
{
+ UINT16 *buffered_spriteram16 = machine->generic.buffered_spriteram.u16;
int offs,fx,fy,x,y,color,sprite;
for (offs = 3;offs <= 0x400-5;offs += 4)
@@ -138,7 +139,7 @@ VIDEO_START( goal92 )
foreground_layer = tilemap_create(machine, get_fore_tile_info,tilemap_scan_rows,16,16,32,32);
text_layer = tilemap_create(machine, get_text_tile_info,tilemap_scan_rows, 8,8,64,32);
- buffered_spriteram16 = auto_alloc_array(machine, UINT16, 0x400*2);
+ machine->generic.buffered_spriteram.u16 = auto_alloc_array(machine, UINT16, 0x400*2);
tilemap_set_transparent_pen(background_layer,15);
tilemap_set_transparent_pen(foreground_layer,15);
@@ -182,5 +183,5 @@ VIDEO_UPDATE( goal92 )
VIDEO_EOF( goal92 )
{
- memcpy(buffered_spriteram16,spriteram16,0x400*2);
+ memcpy(machine->generic.buffered_spriteram.u16,machine->generic.spriteram.u16,0x400*2);
}
diff --git a/src/mame/video/goindol.c b/src/mame/video/goindol.c
index c27559ad832..90c818c98ad 100644
--- a/src/mame/video/goindol.c
+++ b/src/mame/video/goindol.c
@@ -95,7 +95,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
{
int offs,sx,sy,tile,palette;
- for (offs = 0 ;offs < spriteram_size; offs+=4)
+ for (offs = 0 ;offs < machine->generic.spriteram_size; offs+=4)
{
sx = sprite_ram[offs];
sy = 240-sprite_ram[offs+1];
@@ -135,7 +135,7 @@ VIDEO_UPDATE( goindol )
tilemap_draw(bitmap,cliprect,bg_tilemap,0,0);
tilemap_draw(bitmap,cliprect,fg_tilemap,0,0);
- draw_sprites(screen->machine,bitmap,cliprect,1,spriteram);
- draw_sprites(screen->machine,bitmap,cliprect,0,spriteram_2);
+ draw_sprites(screen->machine,bitmap,cliprect,1,screen->machine->generic.spriteram.u8);
+ draw_sprites(screen->machine,bitmap,cliprect,0,screen->machine->generic.spriteram2.u8);
return 0;
}
diff --git a/src/mame/video/goldstar.c b/src/mame/video/goldstar.c
index 37a1b1fe85b..a93a606b88a 100644
--- a/src/mame/video/goldstar.c
+++ b/src/mame/video/goldstar.c
@@ -55,20 +55,20 @@ WRITE8_HANDLER( cm_outport0_w )
WRITE8_HANDLER( goldstar_fg_vidram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(goldstar_fg_tilemap,offset);
}
WRITE8_HANDLER( goldstar_fg_atrram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(goldstar_fg_tilemap,offset);
}
static TILE_GET_INFO( get_goldstar_fg_tile_info )
{
- int code = videoram[tile_index];
- int attr = colorram[tile_index];
+ int code = machine->generic.videoram.u8[tile_index];
+ int attr = machine->generic.colorram.u8[tile_index];
SET_TILE_INFO(
0,
@@ -80,8 +80,8 @@ static TILE_GET_INFO( get_goldstar_fg_tile_info )
// colour / high tile bits are swapped around
static TILE_GET_INFO( get_cherrym_fg_tile_info )
{
- int code = videoram[tile_index];
- int attr = colorram[tile_index];
+ int code = machine->generic.videoram.u8[tile_index];
+ int attr = machine->generic.colorram.u8[tile_index];
SET_TILE_INFO(
0,
diff --git a/src/mame/video/gotcha.c b/src/mame/video/gotcha.c
index bbfaff5829c..aa17f3b4884 100644
--- a/src/mame/video/gotcha.c
+++ b/src/mame/video/gotcha.c
@@ -98,9 +98,10 @@ WRITE16_HANDLER( gotcha_scroll_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
- for (offs = 0;offs < spriteram_size/2;offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram_size/2;offs += 4)
{
int sx,sy,code,color,flipx,flipy,height,y;
diff --git a/src/mame/video/gottlieb.c b/src/mame/video/gottlieb.c
index 6b5fc5c711c..b5b5a2b21ba 100644
--- a/src/mame/video/gottlieb.c
+++ b/src/mame/video/gottlieb.c
@@ -32,15 +32,15 @@ WRITE8_HANDLER( gottlieb_paletteram_w )
{
int r, g, b, a, val;
- paletteram[offset] = data;
+ space->machine->generic.paletteram.u8[offset] = data;
/* blue & green are encoded in the even bytes */
- val = paletteram[offset & ~1];
+ val = space->machine->generic.paletteram.u8[offset & ~1];
g = combine_4_weights(weights, (val >> 4) & 1, (val >> 5) & 1, (val >> 6) & 1, (val >> 7) & 1);
b = combine_4_weights(weights, (val >> 0) & 1, (val >> 1) & 1, (val >> 2) & 1, (val >> 3) & 1);
/* red is encoded in the odd bytes */
- val = paletteram[offset | 1];
+ val = space->machine->generic.paletteram.u8[offset | 1];
r = combine_4_weights(weights, (val >> 0) & 1, (val >> 1) & 1, (val >> 2) & 1, (val >> 3) & 1);
/* alpha is set to 0 if laserdisc video is enabled */
@@ -99,7 +99,7 @@ WRITE8_HANDLER( gottlieb_laserdisc_video_control_w )
/* configure the palette if the laserdisc is enabled */
transparent0 = (data >> 3) & 1;
- gottlieb_paletteram_w(space, 0, paletteram[0]);
+ gottlieb_paletteram_w(space, 0, space->machine->generic.paletteram.u8[0]);
}
@@ -112,7 +112,7 @@ WRITE8_HANDLER( gottlieb_laserdisc_video_control_w )
WRITE8_HANDLER( gottlieb_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -136,7 +136,7 @@ WRITE8_HANDLER( gottlieb_charram_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = videoram[tile_index];
+ int code = machine->generic.videoram.u8[tile_index];
if ((code & 0x80) == 0)
SET_TILE_INFO(gottlieb_gfxcharlo, code, 0, 0);
else
@@ -145,7 +145,7 @@ static TILE_GET_INFO( get_bg_tile_info )
static TILE_GET_INFO( get_screwloo_bg_tile_info )
{
- int code = videoram[tile_index];
+ int code = machine->generic.videoram.u8[tile_index];
if ((code & 0xc0) == 0)
SET_TILE_INFO(gottlieb_gfxcharlo, code, 0, 0);
else
@@ -215,6 +215,7 @@ VIDEO_START( screwloo )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
rectangle clip = *cliprect;
int offs;
diff --git a/src/mame/video/gotya.c b/src/mame/video/gotya.c
index 17f2d8a82c9..cd4f139043b 100644
--- a/src/mame/video/gotya.c
+++ b/src/mame/video/gotya.c
@@ -69,13 +69,13 @@ PALETTE_INIT( gotya )
WRITE8_HANDLER( gotya_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( gotya_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -96,8 +96,8 @@ WRITE8_HANDLER( gotya_video_control_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = videoram[tile_index];
- int color = colorram[tile_index] & 0x0f;
+ int code = machine->generic.videoram.u8[tile_index];
+ int color = machine->generic.colorram.u8[tile_index] & 0x0f;
SET_TILE_INFO(0, code, color, 0);
}
@@ -149,6 +149,7 @@ static void draw_status_row(running_machine *machine, bitmap_t *bitmap, const re
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
for (offs = 2; offs < 0x0e; offs += 2)
diff --git a/src/mame/video/gridlee.c b/src/mame/video/gridlee.c
index 03f792d9b4c..4a3248158ce 100644
--- a/src/mame/video/gridlee.c
+++ b/src/mame/video/gridlee.c
@@ -66,8 +66,8 @@ static STATE_POSTLOAD( expand_pixels )
for(offset = 0; offset < 0x77ff; offset++)
{
- local_videoram[offset * 2 + 0] = videoram[offset] >> 4;
- local_videoram[offset * 2 + 1] = videoram[offset] & 15;
+ local_videoram[offset * 2 + 0] = machine->generic.videoram.u8[offset] >> 4;
+ local_videoram[offset * 2 + 1] = machine->generic.videoram.u8[offset] & 15;
}
}
@@ -115,7 +115,7 @@ WRITE8_HANDLER( gridlee_cocktail_flip_w )
WRITE8_HANDLER( gridlee_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
/* expand the two pixel values into two bytes */
local_videoram[offset * 2 + 0] = data >> 4;
@@ -178,7 +178,7 @@ VIDEO_UPDATE( gridlee )
gfx = memory_region(screen->machine, "gfx1");
for (i = 0; i < 32; i++)
{
- UINT8 *sprite = spriteram + i * 4;
+ UINT8 *sprite = screen->machine->generic.spriteram.u8 + i * 4;
UINT8 *src;
int image = sprite[0];
int ypos = sprite[2] + 17 + BALSENTE_VBEND;
diff --git a/src/mame/video/groundfx.c b/src/mame/video/groundfx.c
index e46a3bc6a1a..8af2f302123 100644
--- a/src/mame/video/groundfx.c
+++ b/src/mame/video/groundfx.c
@@ -83,6 +83,7 @@ Heavy use is made of sprite zooming.
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect,int do_hack,int x_offs,int y_offs)
{
+ UINT32 *spriteram32 = machine->generic.spriteram.u32;
UINT16 *spritemap = (UINT16 *)memory_region(machine, "user1");
int offs, data, tilenum, color, flipx, flipy;
int x, y, priority, dblsize, curx, cury;
@@ -96,7 +97,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan
while processing sprite ram and then draw them all at the end */
struct tempsprite *sprite_ptr = spritelist;
- for (offs = (spriteram_size/4-4);offs >= 0;offs -= 4)
+ for (offs = (machine->generic.spriteram_size/4-4);offs >= 0;offs -= 4)
{
data = spriteram32[offs+0];
flipx = (data & 0x00800000) >> 23;
diff --git a/src/mame/video/gsword.c b/src/mame/video/gsword.c
index 66a45ea7adf..cdeaf792e15 100644
--- a/src/mame/video/gsword.c
+++ b/src/mame/video/gsword.c
@@ -102,7 +102,7 @@ PALETTE_INIT( gsword )
WRITE8_HANDLER( gsword_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -150,7 +150,7 @@ WRITE8_HANDLER( gsword_scroll_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = videoram[tile_index] + ((charbank & 0x03) << 8);
+ int code = machine->generic.videoram.u8[tile_index] + ((charbank & 0x03) << 8);
int color = ((code & 0x3c0) >> 6) + 16 * charpalbank;
int flags = flipscreen ? (TILE_FLIPX | TILE_FLIPY) : 0;
diff --git a/src/mame/video/gunbustr.c b/src/mame/video/gunbustr.c
index 6e579ae832b..8a5382f707c 100644
--- a/src/mame/video/gunbustr.c
+++ b/src/mame/video/gunbustr.c
@@ -71,6 +71,7 @@ Heavy use is made of sprite zooming.
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect,const int *primasks,int x_offs,int y_offs)
{
+ UINT32 *spriteram32 = machine->generic.spriteram.u32;
UINT16 *spritemap = (UINT16 *)memory_region(machine, "user1");
int offs, data, tilenum, color, flipx, flipy;
int x, y, priority, dblsize, curx, cury;
@@ -83,7 +84,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan
while processing sprite ram and then draw them all at the end */
struct tempsprite *sprite_ptr = spritelist;
- for (offs = (spriteram_size/4-4);offs >= 0;offs -= 4)
+ for (offs = (machine->generic.spriteram_size/4-4);offs >= 0;offs -= 4)
{
data = spriteram32[offs+0];
flipx = (data & 0x00800000) >> 23;
diff --git a/src/mame/video/gundealr.c b/src/mame/video/gundealr.c
index 086540aa6b6..03711bb52c4 100644
--- a/src/mame/video/gundealr.c
+++ b/src/mame/video/gundealr.c
@@ -90,13 +90,13 @@ WRITE8_HANDLER( gundealr_paletteram_w )
int r,g,b,val;
- paletteram[offset] = data;
+ space->machine->generic.paletteram.u8[offset] = data;
- val = paletteram[offset & ~1];
+ val = space->machine->generic.paletteram.u8[offset & ~1];
r = (val >> 4) & 0x0f;
g = (val >> 0) & 0x0f;
- val = paletteram[offset | 1];
+ val = space->machine->generic.paletteram.u8[offset | 1];
b = (val >> 4) & 0x0f;
/* TODO: the bottom 4 bits are used as well, but I'm not sure about the meaning */
diff --git a/src/mame/video/gunsmoke.c b/src/mame/video/gunsmoke.c
index 391fdf940d1..5bde9807f91 100644
--- a/src/mame/video/gunsmoke.c
+++ b/src/mame/video/gunsmoke.c
@@ -66,13 +66,13 @@ PALETTE_INIT( gunsmoke )
WRITE8_HANDLER( gunsmoke_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
WRITE8_HANDLER( gunsmoke_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
@@ -121,8 +121,8 @@ static TILE_GET_INFO( get_bg_tile_info )
static TILE_GET_INFO( get_fg_tile_info )
{
- int attr = colorram[tile_index];
- int code = videoram[tile_index] + ((attr & 0xe0) << 2);
+ int attr = machine->generic.colorram.u8[tile_index];
+ int code = machine->generic.videoram.u8[tile_index] + ((attr & 0xe0) << 2);
int color = attr & 0x1f;
tileinfo->group = color;
@@ -151,9 +151,10 @@ VIDEO_START( gunsmoke )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = spriteram_size - 32; offs >= 0; offs -= 32)
+ for (offs = machine->generic.spriteram_size - 32; offs >= 0; offs -= 32)
{
int attr = spriteram[offs + 1];
int bank = (attr & 0xc0) >> 6;
diff --git a/src/mame/video/hanaawas.c b/src/mame/video/hanaawas.c
index 3f5e8e14cc9..1063751a195 100644
--- a/src/mame/video/hanaawas.c
+++ b/src/mame/video/hanaawas.c
@@ -65,13 +65,13 @@ PALETTE_INIT( hanaawas )
WRITE8_HANDLER( hanaawas_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( hanaawas_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
/* dirty both current and next offsets */
tilemap_mark_tile_dirty(bg_tilemap, offset);
@@ -92,10 +92,10 @@ static TILE_GET_INFO( get_bg_tile_info )
{
/* the color is determined by the current color byte, but the bank is via the previous one!!! */
int offset = (tile_index + (flip_screen_get(machine) ? 1 : -1)) & 0x3ff;
- int attr = colorram[offset];
+ int attr = machine->generic.colorram.u8[offset];
int gfxbank = (attr & 0x40) >> 6;
- int code = videoram[tile_index] + ((attr & 0x20) << 3);
- int color = colorram[tile_index] & 0x1f;
+ int code = machine->generic.videoram.u8[tile_index] + ((attr & 0x20) << 3);
+ int color = machine->generic.colorram.u8[tile_index] & 0x1f;
SET_TILE_INFO(gfxbank, code, color, 0);
}
diff --git a/src/mame/video/hcastle.c b/src/mame/video/hcastle.c
index a2f680c1052..aa26ed59aca 100644
--- a/src/mame/video/hcastle.c
+++ b/src/mame/video/hcastle.c
@@ -46,17 +46,17 @@ PALETTE_INIT( hcastle )
}
-static void set_pens(colortable_t *colortable)
+static void set_pens(running_machine *machine)
{
int i;
for (i = 0x00; i < 0x100; i += 2)
{
- UINT16 data = paletteram[i | 1] | (paletteram[i] << 8);
+ UINT16 data = machine->generic.paletteram.u8[i | 1] | (machine->generic.paletteram.u8[i] << 8);
rgb_t color = MAKE_RGB(pal5bit(data >> 0), pal5bit(data >> 5), pal5bit(data >> 10));
- colortable_palette_set_color(colortable, i >> 1, color);
+ colortable_palette_set_color(machine->colortable, i >> 1, color);
}
}
@@ -169,9 +169,9 @@ WRITE8_HANDLER( hcastle_pf1_control_w )
if (offset==3)
{
if ((data&0x8)==0)
- buffer_spriteram(spriteram+0x800,0x800);
+ buffer_spriteram(space->machine, space->machine->generic.spriteram.u8+0x800,0x800);
else
- buffer_spriteram(spriteram,0x800);
+ buffer_spriteram(space->machine, space->machine->generic.spriteram.u8,0x800);
}
else if (offset == 7)
{
@@ -185,9 +185,9 @@ WRITE8_HANDLER( hcastle_pf2_control_w )
if (offset==3)
{
if ((data&0x8)==0)
- buffer_spriteram_2(spriteram_2+0x800,0x800);
+ buffer_spriteram_2(space->machine,space->machine->generic.spriteram2.u8+0x800,0x800);
else
- buffer_spriteram_2(spriteram_2,0x800);
+ buffer_spriteram_2(space->machine,space->machine->generic.spriteram2.u8,0x800);
}
else if (offset == 7)
{
@@ -210,7 +210,7 @@ VIDEO_UPDATE( hcastle )
{
static int old_pf1,old_pf2;
- set_pens(screen->machine->colortable);
+ set_pens(screen->machine);
pf1_bankbase = 0x0000;
pf2_bankbase = 0x4000 * ((gfx_bank & 2) >> 1);
@@ -237,16 +237,16 @@ VIDEO_UPDATE( hcastle )
if ((gfx_bank & 0x04) == 0)
{
tilemap_draw(bitmap,cliprect,bg_tilemap,0,0);
- draw_sprites(screen->machine,bitmap,cliprect, buffered_spriteram, 0 );
- draw_sprites(screen->machine,bitmap,cliprect, buffered_spriteram_2, 1 );
+ draw_sprites(screen->machine,bitmap,cliprect, screen->machine->generic.buffered_spriteram.u8, 0 );
+ draw_sprites(screen->machine,bitmap,cliprect, screen->machine->generic.buffered_spriteram2.u8, 1 );
tilemap_draw(bitmap,cliprect,fg_tilemap,0,0);
}
else
{
tilemap_draw(bitmap,cliprect,bg_tilemap,0,0);
tilemap_draw(bitmap,cliprect,fg_tilemap,0,0);
- draw_sprites(screen->machine,bitmap,cliprect, buffered_spriteram, 0 );
- draw_sprites(screen->machine,bitmap,cliprect, buffered_spriteram_2, 1 );
+ draw_sprites(screen->machine,bitmap,cliprect, screen->machine->generic.buffered_spriteram.u8, 0 );
+ draw_sprites(screen->machine,bitmap,cliprect, screen->machine->generic.buffered_spriteram2.u8, 1 );
}
return 0;
}
diff --git a/src/mame/video/higemaru.c b/src/mame/video/higemaru.c
index ec8c8325c49..c4686a4f6d0 100644
--- a/src/mame/video/higemaru.c
+++ b/src/mame/video/higemaru.c
@@ -4,13 +4,13 @@ static tilemap *bg_tilemap;
WRITE8_HANDLER( higemaru_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( higemaru_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -89,8 +89,8 @@ WRITE8_HANDLER( higemaru_c800_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = videoram[tile_index] + ((colorram[tile_index] & 0x80) << 1);
- int color = colorram[tile_index] & 0x1f;
+ int code = machine->generic.videoram.u8[tile_index] + ((machine->generic.colorram.u8[tile_index] & 0x80) << 1);
+ int color = machine->generic.colorram.u8[tile_index] & 0x1f;
SET_TILE_INFO(0, code, color, 0);
}
@@ -102,9 +102,10 @@ VIDEO_START( higemaru )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = spriteram_size - 16;offs >= 0;offs -= 16)
+ for (offs = machine->generic.spriteram_size - 16;offs >= 0;offs -= 16)
{
int code,col,sx,sy,flipx,flipy;
diff --git a/src/mame/video/himesiki.c b/src/mame/video/himesiki.c
index e94dc0b28c4..1010ef6fd6b 100644
--- a/src/mame/video/himesiki.c
+++ b/src/mame/video/himesiki.c
@@ -55,6 +55,7 @@ WRITE8_HANDLER( himesiki_flip_w )
static void himesiki_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
for (offs = 0x100; offs<0x160; offs+=4)
diff --git a/src/mame/video/holeland.c b/src/mame/video/holeland.c
index defb5981876..c8134ad0060 100644
--- a/src/mame/video/holeland.c
+++ b/src/mame/video/holeland.c
@@ -20,8 +20,8 @@ static tilemap *bg_tilemap;
static TILE_GET_INFO( holeland_get_tile_info )
{
- int attr = colorram[tile_index];
- int tile_number = videoram[tile_index] | ((attr & 0x03) << 8);
+ int attr = machine->generic.colorram.u8[tile_index];
+ int tile_number = machine->generic.videoram.u8[tile_index] | ((attr & 0x03) << 8);
/*if (input_code_pressed(machine, KEYCODE_Q) && (attr & 0x10)) tile_number = rand(); */
/*if (input_code_pressed(machine, KEYCODE_W) && (attr & 0x20)) tile_number = rand(); */
@@ -37,8 +37,8 @@ static TILE_GET_INFO( holeland_get_tile_info )
static TILE_GET_INFO( crzrally_get_tile_info )
{
- int attr = colorram[tile_index];
- int tile_number = videoram[tile_index] | ((attr & 0x03) << 8);
+ int attr = machine->generic.colorram.u8[tile_index];
+ int tile_number = machine->generic.videoram.u8[tile_index] | ((attr & 0x03) << 8);
SET_TILE_INFO(
0,
@@ -69,13 +69,13 @@ VIDEO_START( crzrally )
WRITE8_HANDLER( holeland_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty( bg_tilemap, offset );
}
WRITE8_HANDLER( holeland_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty( bg_tilemap, offset );
}
@@ -104,10 +104,11 @@ WRITE8_HANDLER( holeland_flipscreen_w )
static void holeland_draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs,code,sx,sy,color,flipx, flipy;
/* Weird, sprites entries don't start on DWORD boundary */
- for (offs = 3;offs < spriteram_size - 1;offs += 4)
+ for (offs = 3;offs < machine->generic.spriteram_size - 1;offs += 4)
{
sy = 236 - spriteram[offs];
sx = spriteram[offs+2];
@@ -142,10 +143,11 @@ static void holeland_draw_sprites(running_machine *machine, bitmap_t *bitmap,con
static void crzrally_draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs,code,sx,sy,color,flipx, flipy;
/* Weird, sprites entries don't start on DWORD boundary */
- for (offs = 3;offs < spriteram_size - 1;offs += 4)
+ for (offs = 3;offs < machine->generic.spriteram_size - 1;offs += 4)
{
sy = 236 - spriteram[offs];
sx = spriteram[offs+2];
diff --git a/src/mame/video/homedata.c b/src/mame/video/homedata.c
index 5aa14dacb10..da0f5bdcb4b 100644
--- a/src/mame/video/homedata.c
+++ b/src/mame/video/homedata.c
@@ -409,8 +409,8 @@ PALETTE_INIT( pteacher )
INLINE void mrokumei_info0( running_machine *machine, tile_data *tileinfo, int tile_index, int page, int gfxbank )
{
int addr = tile_index * 2 + 0x2000 * page;
- int attr = videoram[addr];
- int code = videoram[addr + 1] + ((attr & 0x03) << 8) + (gfxbank << 10);
+ int attr = machine->generic.videoram.u8[addr];
+ int code = machine->generic.videoram.u8[addr + 1] + ((attr & 0x03) << 8) + (gfxbank << 10);
int color = (attr >> 2) + (gfxbank << 6);
SET_TILE_INFO( 0, code, color, homedata_flipscreen );
@@ -418,8 +418,8 @@ INLINE void mrokumei_info0( running_machine *machine, tile_data *tileinfo, int t
INLINE void mrokumei_info1( running_machine *machine, tile_data *tileinfo, int tile_index, int page, int gfxbank )
{
int addr = tile_index * 2 + 0x1000 + 0x2000 * page;
- int attr = videoram[addr];
- int code = videoram[addr + 1] + ((attr & 0x07) << 8) + (gfxbank << 11);
+ int attr = machine->generic.videoram.u8[addr];
+ int code = machine->generic.videoram.u8[addr + 1] + ((attr & 0x07) << 8) + (gfxbank << 11);
int color = (attr >> 3) + ((gfxbank & 3) << 6);
SET_TILE_INFO( 1, code, color, homedata_flipscreen );
@@ -434,8 +434,8 @@ static TILE_GET_INFO( mrokumei_get_info1_1 ) { mrokumei_info1( machine, tileinfo
INLINE void reikaids_info( running_machine *machine, tile_data *tileinfo, int tile_index, int page, int layer, int gfxbank )
{
int addr = tile_index * 4 + layer + 0x2000 * page;
- int attr = videoram[addr];
- int code = videoram[addr + 0x1000] + ((attr & 0x03) << 8) + (gfxbank << 10);
+ int attr = machine->generic.videoram.u8[addr];
+ int code = machine->generic.videoram.u8[addr + 0x1000] + ((attr & 0x03) << 8) + (gfxbank << 10);
int color = (attr & 0x7c) >> 2;
int flags = homedata_flipscreen;
@@ -465,8 +465,8 @@ static TILE_GET_INFO( reikaids_get_info1_3 ) { reikaids_info( machine, tileinfo,
INLINE void pteacher_info( running_machine *machine, tile_data *tileinfo, int tile_index, int page, int layer, int gfxbank )
{
int addr = tile_index * 2 + 0x1000 * layer + 0x2000 * page;
- int attr = videoram[addr];
- int code = videoram[addr + 1] + ((attr & 0x07) << 8) + (gfxbank << 11);
+ int attr = machine->generic.videoram.u8[addr];
+ int code = machine->generic.videoram.u8[addr + 1] + ((attr & 0x07) << 8) + (gfxbank << 11);
int color = (attr >> 3) + ((gfxbank & 1) << 5);
SET_TILE_INFO( layer, code, color, homedata_flipscreen );
@@ -481,8 +481,8 @@ static TILE_GET_INFO( pteacher_get_info1_1 ) { pteacher_info( machine, tileinfo,
INLINE void lemnangl_info( running_machine *machine, tile_data *tileinfo, int tile_index, int page, int layer, int gfxset, int gfxbank )
{
int addr = tile_index * 2 + 0x1000 * layer + 0x2000 * page;
- int attr = videoram[addr];
- int code = videoram[addr + 1] + ((attr & 0x07) << 8) + (gfxbank << 11);
+ int attr = machine->generic.videoram.u8[addr];
+ int code = machine->generic.videoram.u8[addr + 1] + ((attr & 0x07) << 8) + (gfxbank << 11);
int color = 16 * (attr >> 3) + gfxbank;
SET_TILE_INFO( 2*layer + gfxset, code, color, homedata_flipscreen );
@@ -564,19 +564,19 @@ VIDEO_START( lemnangl )
WRITE8_HANDLER( mrokumei_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty( bg_tilemap[(offset & 0x2000) >> 13][(offset & 0x1000) >> 12], (offset & 0xffe) >> 1 );
}
WRITE8_HANDLER( reikaids_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty( bg_tilemap[(offset & 0x2000) >> 13][offset & 3], (offset & 0xffc) >> 2 );
}
WRITE8_HANDLER( pteacher_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty( bg_tilemap[(offset & 0x2000) >> 13][(offset & 0x1000) >> 12], (offset & 0xffe) >> 1 );
}
diff --git a/src/mame/video/homerun.c b/src/mame/video/homerun.c
index e5bdb6d6241..31d2e886f29 100644
--- a/src/mame/video/homerun.c
+++ b/src/mame/video/homerun.c
@@ -67,8 +67,9 @@ VIDEO_START(homerun)
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = spriteram_size-4; offs >=0; offs -= 4)
+ for (offs = machine->generic.spriteram_size-4; offs >=0; offs -= 4)
{
int code,color,sx,sy,flipx,flipy;
sx = spriteram[offs+3];
diff --git a/src/mame/video/hyperspt.c b/src/mame/video/hyperspt.c
index bb13c1daaa3..6682cfd72bc 100644
--- a/src/mame/video/hyperspt.c
+++ b/src/mame/video/hyperspt.c
@@ -93,13 +93,13 @@ PALETTE_INIT( hyperspt )
WRITE8_HANDLER( hyperspt_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( hyperspt_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -114,9 +114,9 @@ WRITE8_HANDLER( hyperspt_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = videoram[tile_index] + ((colorram[tile_index] & 0x80) << 1) + ((colorram[tile_index] & 0x40) << 3);
- int color = colorram[tile_index] & 0x0f;
- int flags = ((colorram[tile_index] & 0x10) ? TILE_FLIPX : 0) | ((colorram[tile_index] & 0x20) ? TILE_FLIPY : 0);
+ int code = machine->generic.videoram.u8[tile_index] + ((machine->generic.colorram.u8[tile_index] & 0x80) << 1) + ((machine->generic.colorram.u8[tile_index] & 0x40) << 3);
+ int color = machine->generic.colorram.u8[tile_index] & 0x0f;
+ int flags = ((machine->generic.colorram.u8[tile_index] & 0x10) ? TILE_FLIPX : 0) | ((machine->generic.colorram.u8[tile_index] & 0x20) ? TILE_FLIPY : 0);
SET_TILE_INFO(1, code, color, flags);
}
@@ -130,9 +130,10 @@ VIDEO_START( hyperspt )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = spriteram_size - 4;offs >= 0;offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4;offs >= 0;offs -= 4)
{
int sx = spriteram[offs + 3];
int sy = 240 - spriteram[offs + 1];
@@ -190,9 +191,9 @@ VIDEO_UPDATE( hyperspt )
static TILE_GET_INFO( roadf_get_bg_tile_info )
{
- int code = videoram[tile_index] + ((colorram[tile_index] & 0x80) << 1) + ((colorram[tile_index] & 0x60) << 4);
- int color = colorram[tile_index] & 0x0f;
- int flags = (colorram[tile_index] & 0x10) ? TILE_FLIPX : 0;
+ int code = machine->generic.videoram.u8[tile_index] + ((machine->generic.colorram.u8[tile_index] & 0x80) << 1) + ((machine->generic.colorram.u8[tile_index] & 0x60) << 4);
+ int color = machine->generic.colorram.u8[tile_index] & 0x0f;
+ int flags = (machine->generic.colorram.u8[tile_index] & 0x10) ? TILE_FLIPX : 0;
SET_TILE_INFO(1, code, color, flags);
}
diff --git a/src/mame/video/hyprduel.c b/src/mame/video/hyprduel.c
index 54810904487..f1b66a37a2a 100644
--- a/src/mame/video/hyprduel.c
+++ b/src/mame/video/hyprduel.c
@@ -80,7 +80,7 @@ static int hyprduel_sprite_yoffs_sub;
WRITE16_HANDLER( hyprduel_paletteram_w )
{
- data = COMBINE_DATA(&paletteram16[offset]);
+ data = COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
palette_set_color_rgb(space->machine,offset,pal5bit(data >> 6),pal5bit(data >> 11),pal5bit(data >> 1));
}
@@ -438,7 +438,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
int max_x = video_screen_get_width(machine->primary_screen);
int max_y = video_screen_get_height(machine->primary_screen);
- int max_sprites = spriteram_size / 8;
+ int max_sprites = machine->generic.spriteram_size / 8;
int sprites = hyprduel_videoregs[0x00/2] % max_sprites;
int color_start = ((hyprduel_videoregs[0x08/2] & 0xf) << 4 ) + 0x100;
@@ -458,10 +458,10 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
if (!(hyprduel_videoregs[0x02/2] & 0x8000))
{
- src = spriteram16 + (sprites - 1) * (8/2);
+ src = machine->generic.spriteram.u16 + (sprites - 1) * (8/2);
inc = -(8/2);
} else {
- src = spriteram16;
+ src = machine->generic.spriteram.u16;
inc = (8/2);
}
diff --git a/src/mame/video/ikki.c b/src/mame/video/ikki.c
index fb88ee525af..2b0863ec15c 100644
--- a/src/mame/video/ikki.c
+++ b/src/mame/video/ikki.c
@@ -67,6 +67,7 @@ WRITE8_HANDLER( ikki_scrn_ctrl_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int y;
offs_t offs;
@@ -130,7 +131,7 @@ VIDEO_UPDATE( ikki )
/* draw bg layer */
- for (offs=0; offs<(videoram_size/2); offs++)
+ for (offs=0; offs<(screen->machine->generic.videoram_size/2); offs++)
{
int color, bank;
@@ -172,12 +173,12 @@ VIDEO_UPDATE( ikki )
y = 248-y;
}
- color = videoram[offs*2];
+ color = screen->machine->generic.videoram.u8[offs*2];
bank = (color & 0xe0) << 3;
color = ((color & 0x1f)<<0) | ((color & 0x80) >> 2);
drawgfx_opaque(bitmap,cliprect,screen->machine->gfx[0],
- videoram[offs*2+1] + bank,
+ screen->machine->generic.videoram.u8[offs*2+1] + bank,
color,
ikki_flipscreen,ikki_flipscreen,
x,y);
@@ -187,7 +188,7 @@ VIDEO_UPDATE( ikki )
/* mask sprites */
- for (offs=0; offs<(videoram_size/2); offs++)
+ for (offs=0; offs<(screen->machine->generic.videoram_size/2); offs++)
{
int sx = offs / 32;
int sy = offs % 32;
@@ -207,12 +208,12 @@ VIDEO_UPDATE( ikki )
y = 248-y;
}
- color = videoram[offs*2];
+ color = screen->machine->generic.videoram.u8[offs*2];
bank = (color & 0xe0) << 3;
color = ((color & 0x1f)<<0) | ((color & 0x80) >> 2);
drawgfx_opaque(bitmap,cliprect,screen->machine->gfx[0],
- videoram[offs*2+1] + bank,
+ screen->machine->generic.videoram.u8[offs*2+1] + bank,
color,
ikki_flipscreen,ikki_flipscreen,
x,y);
diff --git a/src/mame/video/irobot.c b/src/mame/video/irobot.c
index 142164431b3..c5b1c61922c 100644
--- a/src/mame/video/irobot.c
+++ b/src/mame/video/irobot.c
@@ -359,8 +359,8 @@ VIDEO_UPDATE( irobot )
for (y = offs = 0; y < 32; y++)
for (x = 0; x < 32; x++, offs++)
{
- int code = videoram[offs] & 0x3f;
- int color = ((videoram[offs] & 0xc0) >> 6) | (irobot_alphamap >> 3);
+ int code = screen->machine->generic.videoram.u8[offs] & 0x3f;
+ int color = ((screen->machine->generic.videoram.u8[offs] & 0xc0) >> 6) | (irobot_alphamap >> 3);
drawgfx_transpen(bitmap,cliprect,screen->machine->gfx[0],
code, color,
diff --git a/src/mame/video/ironhors.c b/src/mame/video/ironhors.c
index 3f992a8c947..2e79f03b78e 100644
--- a/src/mame/video/ironhors.c
+++ b/src/mame/video/ironhors.c
@@ -83,13 +83,13 @@ PALETTE_INIT( ironhors )
WRITE8_HANDLER( ironhors_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( ironhors_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -135,11 +135,11 @@ WRITE8_HANDLER( ironhors_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = videoram[tile_index] + ((colorram[tile_index] & 0x40) << 2) +
- ((colorram[tile_index] & 0x20) << 4) + (charbank << 10);
- int color = (colorram[tile_index] & 0x0f) + 16 * palettebank;
- int flags = ((colorram[tile_index] & 0x10) ? TILE_FLIPX : 0) |
- ((colorram[tile_index] & 0x20) ? TILE_FLIPY : 0);
+ int code = machine->generic.videoram.u8[tile_index] + ((machine->generic.colorram.u8[tile_index] & 0x40) << 2) +
+ ((machine->generic.colorram.u8[tile_index] & 0x20) << 4) + (charbank << 10);
+ int color = (machine->generic.colorram.u8[tile_index] & 0x0f) + 16 * palettebank;
+ int flags = ((machine->generic.colorram.u8[tile_index] & 0x10) ? TILE_FLIPX : 0) |
+ ((machine->generic.colorram.u8[tile_index] & 0x20) ? TILE_FLIPY : 0);
SET_TILE_INFO(0, code, color, flags);
}
@@ -158,11 +158,11 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
UINT8 *sr;
if (spriterambank != 0)
- sr = spriteram;
+ sr = machine->generic.spriteram.u8;
else
- sr = spriteram_2;
+ sr = machine->generic.spriteram2.u8;
- for (offs = 0;offs < spriteram_size;offs += 5)
+ for (offs = 0;offs < machine->generic.spriteram_size;offs += 5)
{
int sx = sr[offs+3];
int sy = sr[offs+2];
@@ -249,10 +249,10 @@ VIDEO_UPDATE( ironhors )
static TILE_GET_INFO( farwest_get_bg_tile_info )
{
- int code = videoram[tile_index] + ((colorram[tile_index] & 0x40) << 2) +
- ((colorram[tile_index] & 0x20) << 4) + (charbank << 10);
- int color = (colorram[tile_index] & 0x0f) + 16 * palettebank;
- int flags = 0;//((colorram[tile_index] & 0x10) ? TILE_FLIPX : 0) | ((colorram[tile_index] & 0x20) ? TILE_FLIPY : 0);
+ int code = machine->generic.videoram.u8[tile_index] + ((machine->generic.colorram.u8[tile_index] & 0x40) << 2) +
+ ((machine->generic.colorram.u8[tile_index] & 0x20) << 4) + (charbank << 10);
+ int color = (machine->generic.colorram.u8[tile_index] & 0x0f) + 16 * palettebank;
+ int flags = 0;//((machine->generic.colorram.u8[tile_index] & 0x10) ? TILE_FLIPX : 0) | ((machine->generic.colorram.u8[tile_index] & 0x20) ? TILE_FLIPY : 0);
SET_TILE_INFO(0, code, color, flags);
}
@@ -268,15 +268,15 @@ VIDEO_START( farwest )
static void farwest_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
int offs;
- UINT8 *sr=spriteram_2;
- UINT8 *sr2=spriteram;
+ UINT8 *sr=machine->generic.spriteram2.u8;
+ UINT8 *sr2=machine->generic.spriteram.u8;
// if (spriterambank != 0)
// sr = spriteram;
//else
//sr = ;
- for (offs = 0;offs < spriteram_size;offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram_size;offs += 4)
{
int sx = sr[offs+2];
int sy = sr[offs+1];
diff --git a/src/mame/video/itech32.c b/src/mame/video/itech32.c
index b7887840991..daf2c208125 100644
--- a/src/mame/video/itech32.c
+++ b/src/mame/video/itech32.c
@@ -204,12 +204,12 @@ VIDEO_START( itech32 )
int i;
/* allocate memory */
- videoram16 = auto_alloc_array(machine, UINT16, VRAM_WIDTH * (itech32_vram_height + 16) * 2);
- memset(videoram16, 0xff, VRAM_WIDTH * (itech32_vram_height + 16) * 2 * 2);
+ machine->generic.videoram.u16 = auto_alloc_array(machine, UINT16, VRAM_WIDTH * (itech32_vram_height + 16) * 2);
+ memset(machine->generic.videoram.u16, 0xff, VRAM_WIDTH * (itech32_vram_height + 16) * 2 * 2);
/* videoplane[0] is the foreground; videoplane[1] is the background */
- videoplane[0] = &videoram16[0 * VRAM_WIDTH * (itech32_vram_height + 16) + 8 * VRAM_WIDTH];
- videoplane[1] = &videoram16[1 * VRAM_WIDTH * (itech32_vram_height + 16) + 8 * VRAM_WIDTH];
+ videoplane[0] = &machine->generic.videoram.u16[0 * VRAM_WIDTH * (itech32_vram_height + 16) + 8 * VRAM_WIDTH];
+ videoplane[1] = &machine->generic.videoram.u16[1 * VRAM_WIDTH * (itech32_vram_height + 16) + 8 * VRAM_WIDTH];
/* set the masks */
vram_mask = VRAM_WIDTH * itech32_vram_height - 1;
@@ -343,11 +343,11 @@ WRITE16_HANDLER( timekill_paletteram_w )
{
int r, g, b;
- COMBINE_DATA(&paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
- r = paletteram16[offset & ~1] & 0xff;
- g = paletteram16[offset & ~1] >> 8;
- b = paletteram16[offset | 1] >> 8;
+ 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;
palette_set_color(space->machine, offset / 2, MAKE_RGB(r, g, b));
}
@@ -360,11 +360,11 @@ WRITE16_HANDLER( bloodstm_paletteram_w )
/* 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(&paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
- r = paletteram16[offset & ~1] & 0xff;
- g = paletteram16[offset & ~1] >> 8;
- b = paletteram16[offset | 1] & 0xff;
+ 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;
palette_set_color(space->machine, offset / 2, MAKE_RGB(r, g, b));
}
@@ -374,11 +374,11 @@ WRITE32_HANDLER( drivedge_paletteram_w )
{
int r, g, b;
- COMBINE_DATA(&paletteram32[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
- r = paletteram32[offset] & 0xff;
- g = (paletteram32[offset] >> 8) & 0xff;
- b = (paletteram32[offset] >> 16) & 0xff;
+ 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;
palette_set_color(space->machine, offset, MAKE_RGB(r, g, b));
}
@@ -388,11 +388,11 @@ WRITE32_HANDLER( itech020_paletteram_w )
{
int r, g, b;
- COMBINE_DATA(&paletteram32[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
- r = (paletteram32[offset] >> 16) & 0xff;
- g = (paletteram32[offset] >> 8) & 0xff;
- b = paletteram32[offset] & 0xff;
+ 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;
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 8b1e70cf848..da22f263139 100644
--- a/src/mame/video/jack.c
+++ b/src/mame/video/jack.c
@@ -12,13 +12,13 @@ static tilemap *bg_tilemap;
WRITE8_HANDLER( jack_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( jack_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -41,10 +41,10 @@ WRITE8_HANDLER( jack_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = videoram[tile_index] + ((colorram[tile_index] & 0x18) << 5);
- int color = colorram[tile_index] & 0x07;
+ int code = machine->generic.videoram.u8[tile_index] + ((machine->generic.colorram.u8[tile_index] & 0x18) << 5);
+ int color = machine->generic.colorram.u8[tile_index] & 0x07;
- // striv: colorram[tile_index] & 0x80 ???
+ // striv: machine->generic.colorram.u8[tile_index] & 0x80 ???
SET_TILE_INFO(0, code, color, 0);
}
@@ -62,9 +62,10 @@ VIDEO_START( jack )
static void jack_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = spriteram_size - 4;offs >= 0;offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4;offs >= 0;offs -= 4)
{
int sx,sy,num, color,flipx,flipy;
@@ -129,8 +130,8 @@ PALETTE_INIT( joinem )
static TILE_GET_INFO( joinem_get_bg_tile_info )
{
- int code = videoram[tile_index] + ((colorram[tile_index] & 0x03) << 8);
- int color = (colorram[tile_index] & 0x38) >> 3;
+ int code = machine->generic.videoram.u8[tile_index] + ((machine->generic.colorram.u8[tile_index] & 0x03) << 8);
+ int color = (machine->generic.colorram.u8[tile_index] & 0x38) >> 3;
SET_TILE_INFO(0, code, color, 0);
}
@@ -142,9 +143,10 @@ VIDEO_START( joinem )
static void joinem_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = spriteram_size - 4;offs >= 0;offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4;offs >= 0;offs -= 4)
{
int sx,sy,num, color,flipx,flipy;
diff --git a/src/mame/video/jackal.c b/src/mame/video/jackal.c
index 3cc3f931c0e..3dc28bd7140 100644
--- a/src/mame/video/jackal.c
+++ b/src/mame/video/jackal.c
@@ -44,17 +44,17 @@ PALETTE_INIT( jackal )
}
-static void set_pens(colortable_t *colortable)
+static void set_pens(running_machine *machine)
{
int i;
for (i = 0; i < 0x400; i += 2)
{
- UINT16 data = paletteram[i] | (paletteram[i | 1] << 8);
+ UINT16 data = machine->generic.paletteram.u8[i] | (machine->generic.paletteram.u8[i | 1] << 8);
rgb_t color = MAKE_RGB(pal5bit(data >> 0), pal5bit(data >> 5), pal5bit(data >> 10));
- colortable_palette_set_color(colortable, i >> 1, color);
+ colortable_palette_set_color(machine->colortable, i >> 1, color);
}
}
@@ -224,7 +224,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
VIDEO_UPDATE( jackal )
{
- set_pens(screen->machine->colortable);
+ set_pens(screen->machine);
draw_background(screen->machine, bitmap, cliprect);
draw_sprites(screen->machine, bitmap, cliprect);
return 0;
diff --git a/src/mame/video/jailbrek.c b/src/mame/video/jailbrek.c
index 25678454568..0a14d97c875 100644
--- a/src/mame/video/jailbrek.c
+++ b/src/mame/video/jailbrek.c
@@ -40,20 +40,20 @@ PALETTE_INIT( jailbrek )
WRITE8_HANDLER( jailbrek_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( jailbrek_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
static TILE_GET_INFO( get_bg_tile_info )
{
- int attr = colorram[tile_index];
- int code = videoram[tile_index] + ((attr & 0xc0) << 2);
+ int attr = machine->generic.colorram.u8[tile_index];
+ int code = machine->generic.videoram.u8[tile_index] + ((attr & 0xc0) << 2);
int color = attr & 0x0f;
SET_TILE_INFO(0, code, color, 0);
@@ -68,9 +68,10 @@ VIDEO_START( jailbrek )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int i;
- for (i = 0; i < spriteram_size; i += 4)
+ for (i = 0; i < machine->generic.spriteram_size; i += 4)
{
int attr = spriteram[i + 1]; // attributes = ?tyxcccc
int code = spriteram[i] + ((attr & 0x40) << 2);
diff --git a/src/mame/video/kan_panb.c b/src/mame/video/kan_panb.c
index 3434328ddb7..33fc3f4dba5 100644
--- a/src/mame/video/kan_panb.c
+++ b/src/mame/video/kan_panb.c
@@ -5,6 +5,7 @@
VIDEO_UPDATE( honeydol )
{
+ UINT16 *spriteram16 = screen->machine->generic.spriteram.u16;
int sx=0, sy=0, x=0, y=0, offs;
/* sprites clip on left / right edges when scrolling, but it seems correct,
no extra sprite attribute bits are set during this time, the sprite co-ordinates
@@ -89,6 +90,7 @@ VIDEO_UPDATE( honeydol )
VIDEO_UPDATE( twinadv )
{
+ UINT16 *spriteram16 = screen->machine->generic.spriteram.u16;
int sx=0, sy=0, x=0, y=0, offs;
/* sprites clip on left / right edges when scrolling, but it seems correct,
no extra sprite attribute bits are set during this time, the sprite co-ordinates
@@ -143,11 +145,12 @@ VIDEO_UPDATE( twinadv )
VIDEO_UPDATE( wintbob )
{
+ UINT16 *spriteram16 = screen->machine->generic.spriteram.u16;
int offs;
bitmap_fill(bitmap,cliprect,get_black_pen(screen->machine));
- for (offs = 0;offs < spriteram_size/2;offs += 8)
+ for (offs = 0;offs < screen->machine->generic.spriteram_size/2;offs += 8)
{
int xpos = spriteram16[offs] & 0xff;
int ypos = spriteram16[offs+4] & 0xff;
@@ -185,7 +188,7 @@ VIDEO_UPDATE( wintbob )
VIDEO_UPDATE( snowbro3 )
{
-
+ UINT16 *spriteram16 = screen->machine->generic.spriteram.u16;
int sx=0, sy=0, x=0, y=0, offs;
/*
@@ -214,7 +217,7 @@ VIDEO_UPDATE( snowbro3 )
bitmap_fill(bitmap,cliprect,get_black_pen(screen->machine));
- for (offs = 0;offs < spriteram_size/2;offs += 8)
+ for (offs = 0;offs < screen->machine->generic.spriteram_size/2;offs += 8)
{
gfx_element *gfx = screen->machine->gfx[0];
int dx = spriteram16[offs+4] & 0xff;
diff --git a/src/mame/video/kaneko16.c b/src/mame/video/kaneko16.c
index eab1675c7dd..e8fbaebc70e 100644
--- a/src/mame/video/kaneko16.c
+++ b/src/mame/video/kaneko16.c
@@ -391,12 +391,13 @@ Offset: Format: Value:
static int kaneko16_parse_sprite_type012(running_machine *machine, int i, struct tempsprite *s)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int attr, xoffs, offs;
if (kaneko16_sprite_type == 2) offs = i * 16/2 + 0x8/2;
else offs = i * 8/2;
- if (offs >= (spriteram_size/2)) return -1;
+ if (offs >= (machine->generic.spriteram_size/2)) return -1;
attr = spriteram16[offs + 0];
s->code = spriteram16[offs + 1];
diff --git a/src/mame/video/kangaroo.c b/src/mame/video/kangaroo.c
index 2558760c9b4..fc608d736d9 100644
--- a/src/mame/video/kangaroo.c
+++ b/src/mame/video/kangaroo.c
@@ -24,8 +24,8 @@ static void blitter_execute(running_machine *machine);
VIDEO_START( kangaroo )
{
/* video RAM is accessed 32 bits at a time (two planes, 4bpp each, 4 pixels) */
- videoram32 = auto_alloc_array(machine, UINT32, 256 * 64);
- state_save_register_global_pointer(machine, videoram32, 256 * 64);
+ machine->generic.videoram.u32 = auto_alloc_array(machine, UINT32, 256 * 64);
+ state_save_register_global_pointer(machine, machine->generic.videoram.u32, 256 * 64);
}
@@ -36,7 +36,7 @@ VIDEO_START( kangaroo )
*
*************************************/
-static void videoram_write(UINT16 offset, UINT8 data, UINT8 mask)
+static void videoram_write(running_machine *machine, UINT16 offset, UINT8 data, UINT8 mask)
{
UINT32 expdata, layermask;
@@ -59,13 +59,13 @@ static void videoram_write(UINT16 offset, UINT8 data, UINT8 mask)
if (mask & 0x01) layermask |= 0x0c0c0c0c;
/* update layers */
- videoram32[offset] = (videoram32[offset] & ~layermask) | (expdata & layermask);
+ machine->generic.videoram.u32[offset] = (machine->generic.videoram.u32[offset] & ~layermask) | (expdata & layermask);
}
WRITE8_HANDLER( kangaroo_videoram_w )
{
- videoram_write(offset, data, kangaroo_video_control[8]);
+ videoram_write(space->machine, offset, data, kangaroo_video_control[8]);
}
@@ -122,8 +122,8 @@ static void blitter_execute(running_machine *machine)
{
UINT16 effdst = (dst + x) & 0x3fff;
UINT16 effsrc = src++ & (gfxhalfsize - 1);
- videoram_write(effdst, gfxbase[0*gfxhalfsize + effsrc], mask & 0x05);
- videoram_write(effdst, gfxbase[1*gfxhalfsize + effsrc], mask & 0x0a);
+ videoram_write(machine, effdst, gfxbase[0*gfxhalfsize + effsrc], mask & 0x05);
+ videoram_write(machine, effdst, gfxbase[1*gfxhalfsize + effsrc], mask & 0x0a);
}
}
@@ -165,8 +165,8 @@ VIDEO_UPDATE( kangaroo )
UINT8 effya = scrolly + (y ^ xora);
UINT8 effxb = (x / 2) ^ xorb;
UINT8 effyb = y ^ xorb;
- UINT8 pixa = (videoram32[effya + 256 * (effxa / 4)] >> (8 * (effxa % 4) + 0)) & 0x0f;
- UINT8 pixb = (videoram32[effyb + 256 * (effxb / 4)] >> (8 * (effxb % 4) + 4)) & 0x0f;
+ UINT8 pixa = (screen->machine->generic.videoram.u32[effya + 256 * (effxa / 4)] >> (8 * (effxa % 4) + 0)) & 0x0f;
+ UINT8 pixb = (screen->machine->generic.videoram.u32[effyb + 256 * (effxb / 4)] >> (8 * (effxb % 4) + 4)) & 0x0f;
UINT8 finalpens;
/* for each layer, contribute bits if (a) enabled, and (b) either has priority or the opposite plane is 0 */
diff --git a/src/mame/video/karnov.c b/src/mame/video/karnov.c
index 1c0717745ba..4b2b1f19515 100644
--- a/src/mame/video/karnov.c
+++ b/src/mame/video/karnov.c
@@ -109,6 +109,7 @@ static void draw_background(running_machine *machine, bitmap_t *bitmap, const re
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT16 *buffered_spriteram16 = machine->generic.buffered_spriteram.u16;
int offs;
for (offs = 0;offs <0x800;offs += 4) {
@@ -176,7 +177,7 @@ VIDEO_UPDATE( karnov )
static TILE_GET_INFO( get_fix_tile_info )
{
- int tile=videoram16[tile_index];
+ int tile=machine->generic.videoram.u16[tile_index];
SET_TILE_INFO(
0,
tile&0xfff,
@@ -186,7 +187,7 @@ static TILE_GET_INFO( get_fix_tile_info )
WRITE16_HANDLER( karnov_videoram_w )
{
- COMBINE_DATA(&videoram16[offset]);
+ COMBINE_DATA(&space->machine->generic.videoram.u16[offset]);
tilemap_mark_tile_dirty(fix_tilemap,offset);
}
diff --git a/src/mame/video/kchamp.c b/src/mame/video/kchamp.c
index 95ce96c85ae..049f112ebe4 100644
--- a/src/mame/video/kchamp.c
+++ b/src/mame/video/kchamp.c
@@ -26,13 +26,13 @@ PALETTE_INIT( kchamp )
WRITE8_HANDLER( kchamp_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( kchamp_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -43,8 +43,8 @@ WRITE8_HANDLER( kchamp_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = videoram[tile_index] + ((colorram[tile_index] & 7) << 8);
- int color = (colorram[tile_index] >> 3) & 0x1f;
+ int code = machine->generic.videoram.u8[tile_index] + ((machine->generic.colorram.u8[tile_index] & 7) << 8);
+ int color = (machine->generic.colorram.u8[tile_index] >> 3) & 0x1f;
SET_TILE_INFO(0, code, color, 0);
}
@@ -67,6 +67,7 @@ VIDEO_START( kchamp )
static void kchamp_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
for (offs = 0; offs < 0x100; offs += 4)
@@ -94,6 +95,7 @@ static void kchamp_draw_sprites(running_machine *machine, bitmap_t *bitmap, cons
static void kchampvs_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
for (offs = 0; offs < 0x100; offs += 4)
diff --git a/src/mame/video/kickgoal.c b/src/mame/video/kickgoal.c
index b2e69a17d2f..63ec7d41631 100644
--- a/src/mame/video/kickgoal.c
+++ b/src/mame/video/kickgoal.c
@@ -86,10 +86,11 @@ WRITE16_HANDLER( kickgoal_bg2ram_w )
static void kickgoal_draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
const gfx_element *gfx = machine->gfx[1];
int offs;
- for (offs = 0;offs < spriteram_size/2;offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram_size/2;offs += 4)
{
int xpos = spriteram16[offs+3];
int ypos = spriteram16[offs+0] & 0x00ff;
@@ -210,10 +211,11 @@ VIDEO_START( actionhw )
static void actionhw_draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
const gfx_element *gfx = machine->gfx[1];
int offs;
- for (offs = 0;offs < spriteram_size/2;offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram_size/2;offs += 4)
{
int xpos = spriteram16[offs+3];
int ypos = spriteram16[offs+0] & 0x00ff;
diff --git a/src/mame/video/kingobox.c b/src/mame/video/kingobox.c
index 91dc0f621d1..6728b2d80ed 100644
--- a/src/mame/video/kingobox.c
+++ b/src/mame/video/kingobox.c
@@ -142,13 +142,13 @@ PALETTE_INIT( ringking )
WRITE8_HANDLER( kingofb_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( kingofb_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -183,9 +183,9 @@ WRITE8_HANDLER( kingofb_f800_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int attr = colorram[tile_index];
+ int attr = machine->generic.colorram.u8[tile_index];
int bank = ((attr & 0x04) >> 2) + 2;
- int code = (tile_index / 16) ? videoram[tile_index] + ((attr & 0x03) << 8) : 0;
+ int code = (tile_index / 16) ? machine->generic.videoram.u8[tile_index] + ((attr & 0x03) << 8) : 0;
int color = ((attr & 0x70) >> 4) + 8 * palette_bank;
SET_TILE_INFO(bank, code, color, 0);
@@ -211,9 +211,10 @@ VIDEO_START( kingofb )
static void kingofb_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = 0; offs < spriteram_size; offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 4)
{
int roffs,bank,code,color,flipx,flipy,sx,sy;
@@ -257,8 +258,8 @@ VIDEO_UPDATE( kingofb )
static TILE_GET_INFO( ringking_get_bg_tile_info )
{
- int code = (tile_index / 16) ? videoram[tile_index] : 0;
- int color = ((colorram[tile_index] & 0x70) >> 4) + 8 * palette_bank;
+ int code = (tile_index / 16) ? machine->generic.videoram.u8[tile_index] : 0;
+ int color = ((machine->generic.colorram.u8[tile_index] & 0x70) >> 4) + 8 * palette_bank;
SET_TILE_INFO(4, code, color, 0);
}
@@ -276,9 +277,10 @@ VIDEO_START( ringking )
static void ringking_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = 0; offs < spriteram_size; offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 4)
{
int bank = (spriteram[offs + 1] & 0x04) >> 2;
int code = spriteram[offs + 3] + ((spriteram[offs + 1] & 0x03) << 8);
diff --git a/src/mame/video/kncljoe.c b/src/mame/video/kncljoe.c
index ab8487df16f..8f036dfa06d 100644
--- a/src/mame/video/kncljoe.c
+++ b/src/mame/video/kncljoe.c
@@ -86,8 +86,8 @@ PALETTE_INIT( kncljoe )
static TILE_GET_INFO( get_bg_tile_info )
{
- int attr = videoram[2*tile_index+1];
- int code = videoram[2*tile_index] + ((attr & 0xc0) << 2) + (tile_bank << 10);
+ int attr = machine->generic.videoram.u8[2*tile_index+1];
+ int code = machine->generic.videoram.u8[2*tile_index] + ((attr & 0xc0) << 2) + (tile_bank << 10);
SET_TILE_INFO(
0,
@@ -123,7 +123,7 @@ VIDEO_START( kncljoe )
WRITE8_HANDLER( kncljoe_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap,offset/2);
}
@@ -183,6 +183,7 @@ WRITE8_HANDLER( kncljoe_scroll_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
rectangle clip = *cliprect;
const gfx_element *gfx = machine->gfx[1 + sprite_bank];
int i, j;
diff --git a/src/mame/video/konamigx.c b/src/mame/video/konamigx.c
index 8247e1ae9d6..3f9a54ab863 100644
--- a/src/mame/video/konamigx.c
+++ b/src/mame/video/konamigx.c
@@ -2333,7 +2333,7 @@ VIDEO_UPDATE(konamigx)
{
for (offset=0;offset<0x4000/4;offset++)
{
- UINT32 coldat = paletteram32[offset];
+ UINT32 coldat = screen->machine->generic.paletteram.u32[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);
@@ -2345,9 +2345,9 @@ VIDEO_UPDATE(konamigx)
{
int r,g,b;
- r = (paletteram32[offset] >>16) & 0xff;
- g = (paletteram32[offset] >> 8) & 0xff;
- b = (paletteram32[offset] >> 0) & 0xff;
+ 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;
palette_set_color(screen->machine,offset,MAKE_RGB(r,g,b));
}
@@ -2549,11 +2549,11 @@ WRITE32_HANDLER( konamigx_palette_w )
{
int r,g,b;
- COMBINE_DATA(&paletteram32[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
- r = (paletteram32[offset] >>16) & 0xff;
- g = (paletteram32[offset] >> 8) & 0xff;
- b = (paletteram32[offset] >> 0) & 0xff;
+ 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;
palette_set_color(space->machine,offset,MAKE_RGB(r,g,b));
}
@@ -2582,9 +2582,9 @@ INLINE void set_color_555(running_machine *machine, pen_t color, int rshift, int
WRITE32_HANDLER( konamigx_555_palette_w )
{
UINT32 coldat;
- COMBINE_DATA(&paletteram32[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
- coldat = paletteram32[offset];
+ coldat = space->machine->generic.paletteram.u32[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 4143924f38f..5d1a83a02ac 100644
--- a/src/mame/video/konamiic.c
+++ b/src/mame/video/konamiic.c
@@ -7344,7 +7344,7 @@ void K054338_fill_backcolor(running_machine *machine, bitmap_t *bitmap, int mode
dst_ptr += clipx;
BGC_SET = 0;
- pal_ptr = paletteram32;
+ pal_ptr = machine->generic.paletteram.u32;
if (!mode)
{
diff --git a/src/mame/video/kopunch.c b/src/mame/video/kopunch.c
index 6c48231691a..bb5640c7189 100644
--- a/src/mame/video/kopunch.c
+++ b/src/mame/video/kopunch.c
@@ -38,7 +38,7 @@ PALETTE_INIT( kopunch )
WRITE8_HANDLER( kopunch_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
@@ -71,7 +71,7 @@ WRITE8_HANDLER( kopunch_gfxbank_w )
static TILE_GET_INFO( get_fg_tile_info )
{
- int code = videoram[tile_index];
+ int code = machine->generic.videoram.u8[tile_index];
SET_TILE_INFO(0, code, 0, 0);
}
diff --git a/src/mame/video/ksayakyu.c b/src/mame/video/ksayakyu.c
index e0eb4106f3d..3e5f8c69849 100644
--- a/src/mame/video/ksayakyu.c
+++ b/src/mame/video/ksayakyu.c
@@ -8,7 +8,7 @@ static int flipscreen;
WRITE8_HANDLER(ksayakyu_videoram_w)
{
- videoram[offset]=data;
+ space->machine->generic.videoram.u8[offset]=data;
tilemap_mark_tile_dirty(ksayakyu_textmap,offset>>1);
}
@@ -56,8 +56,8 @@ static TILE_GET_INFO( get_ksayakyu_tile_info )
static TILE_GET_INFO( get_text_tile_info )
{
- int code = videoram[tile_index*2+1];
- int attr = videoram[tile_index*2];
+ int code = machine->generic.videoram.u8[tile_index*2+1];
+ int attr = machine->generic.videoram.u8[tile_index*2];
int flags=((attr&0x80) ? TILE_FLIPX : 0) | ((attr&0x40) ? TILE_FLIPY : 0);
code|=(attr&3)<<8;
@@ -67,8 +67,8 @@ static TILE_GET_INFO( get_text_tile_info )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
- const UINT8 *source = spriteram+spriteram_size-4;
- const UINT8 *finish = spriteram;
+ const UINT8 *source = machine->generic.spriteram.u8+machine->generic.spriteram_size-4;
+ const UINT8 *finish = machine->generic.spriteram.u8;
while( source>=finish ) /* is order correct ? */
{
diff --git a/src/mame/video/labyrunr.c b/src/mame/video/labyrunr.c
index d866a16f12a..e5a0fa6ab21 100644
--- a/src/mame/video/labyrunr.c
+++ b/src/mame/video/labyrunr.c
@@ -44,17 +44,17 @@ PALETTE_INIT( labyrunr )
}
-static void set_pens(colortable_t *colortable)
+static void set_pens(running_machine *machine)
{
int i;
for (i = 0x00; i < 0x100; i += 2)
{
- UINT16 data = paletteram[i | 1] | (paletteram[i] << 8);
+ UINT16 data = machine->generic.paletteram.u8[i | 1] | (machine->generic.paletteram.u8[i] << 8);
rgb_t color = MAKE_RGB(pal5bit(data >> 0), pal5bit(data >> 5), pal5bit(data >> 10));
- colortable_palette_set_color(colortable, i >> 1, color);
+ colortable_palette_set_color(machine->colortable, i >> 1, color);
}
}
@@ -173,7 +173,7 @@ VIDEO_UPDATE( labyrunr )
{
rectangle finalclip0, finalclip1;
- set_pens(screen->machine->colortable);
+ set_pens(screen->machine);
bitmap_fill(screen->machine->priority_bitmap,cliprect,0);
bitmap_fill(bitmap,cliprect,get_black_pen(screen->machine));
@@ -201,7 +201,7 @@ VIDEO_UPDATE( labyrunr )
}
tilemap_draw(bitmap,&finalclip0,layer0,TILEMAP_DRAW_OPAQUE,0);
- K007121_sprites_draw(0,bitmap,cliprect,screen->machine->gfx,screen->machine->colortable,spriteram,(K007121_ctrlram[0][6]&0x30)*2,40,0,(K007121_ctrlram[0][3] & 0x40) >> 5);
+ K007121_sprites_draw(0,bitmap,cliprect,screen->machine->gfx,screen->machine->colortable,screen->machine->generic.spriteram.u8,(K007121_ctrlram[0][6]&0x30)*2,40,0,(K007121_ctrlram[0][3] & 0x40) >> 5);
/* we ignore the transparency because layer1 is drawn only at the top of the screen also covering sprites */
tilemap_draw(bitmap,&finalclip1,layer1,TILEMAP_DRAW_OPAQUE,0);
}
@@ -269,7 +269,7 @@ VIDEO_UPDATE( labyrunr )
tilemap_draw(bitmap,&finalclip1,layer1,0,1);
if(use_clip3[1]) tilemap_draw(bitmap,&finalclip3,layer1,0,1);
- K007121_sprites_draw(0,bitmap,cliprect,screen->machine->gfx,screen->machine->colortable,spriteram,(K007121_ctrlram[0][6]&0x30)*2,40,0,(K007121_ctrlram[0][3] & 0x40) >> 5);
+ K007121_sprites_draw(0,bitmap,cliprect,screen->machine->gfx,screen->machine->colortable,screen->machine->generic.spriteram.u8,(K007121_ctrlram[0][6]&0x30)*2,40,0,(K007121_ctrlram[0][3] & 0x40) >> 5);
}
return 0;
}
diff --git a/src/mame/video/ladybug.c b/src/mame/video/ladybug.c
index 432adab6643..a270525ce7a 100644
--- a/src/mame/video/ladybug.c
+++ b/src/mame/video/ladybug.c
@@ -149,13 +149,13 @@ PALETTE_INIT( sraider )
WRITE8_HANDLER( ladybug_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( ladybug_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -271,8 +271,8 @@ WRITE8_HANDLER( sraider_io_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = videoram[tile_index] + 32 * (colorram[tile_index] & 0x08);
- int color = colorram[tile_index] & 0x07;
+ int code = machine->generic.videoram.u8[tile_index] + 32 * (machine->generic.colorram.u8[tile_index] & 0x08);
+ int color = machine->generic.colorram.u8[tile_index] & 0x07;
SET_TILE_INFO(0, code, color, 0);
}
@@ -309,9 +309,10 @@ VIDEO_START( sraider )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = spriteram_size - 2*0x40;offs >= 2*0x40;offs -= 0x40)
+ for (offs = machine->generic.spriteram_size - 2*0x40;offs >= 2*0x40;offs -= 0x40)
{
int i = 0;
@@ -369,9 +370,9 @@ VIDEO_UPDATE( ladybug )
int sy = offs / 4;
if (flip_screen_get(screen->machine))
- tilemap_set_scrollx(bg_tilemap, offs, -videoram[32 * sx + sy]);
+ tilemap_set_scrollx(bg_tilemap, offs, -screen->machine->generic.videoram.u8[32 * sx + sy]);
else
- tilemap_set_scrollx(bg_tilemap, offs, videoram[32 * sx + sy]);
+ tilemap_set_scrollx(bg_tilemap, offs, screen->machine->generic.videoram.u8[32 * sx + sy]);
}
tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 0);
@@ -398,9 +399,9 @@ VIDEO_UPDATE( sraider )
int sy = offs / 4;
if (flip_screen_get(screen->machine))
- tilemap_set_scrollx(bg_tilemap, offs, -videoram[32 * sx + sy]);
+ tilemap_set_scrollx(bg_tilemap, offs, -screen->machine->generic.videoram.u8[32 * sx + sy]);
else
- tilemap_set_scrollx(bg_tilemap, offs, videoram[32 * sx + sy]);
+ tilemap_set_scrollx(bg_tilemap, offs, screen->machine->generic.videoram.u8[32 * sx + sy]);
}
// clear the bg bitmap
diff --git a/src/mame/video/ladyfrog.c b/src/mame/video/ladyfrog.c
index 7d385d577bb..66c2aa5ff0d 100644
--- a/src/mame/video/ladyfrog.c
+++ b/src/mame/video/ladyfrog.c
@@ -30,8 +30,8 @@ READ8_HANDLER(ladyfrog_spriteram_r)
static TILE_GET_INFO( get_tile_info )
{
int pal,tile;
- pal=videoram[tile_index*2+1]&0x0f;
- tile=videoram[tile_index*2] + ((videoram[tile_index*2+1] & 0xc0) << 2)+ ((videoram[tile_index*2+1] & 0x30) <<6 );
+ pal=machine->generic.videoram.u8[tile_index*2+1]&0x0f;
+ tile=machine->generic.videoram.u8[tile_index*2] + ((machine->generic.videoram.u8[tile_index*2+1] & 0xc0) << 2)+ ((machine->generic.videoram.u8[tile_index*2+1] & 0x30) <<6 );
SET_TILE_INFO(
0,
tile +0x1000 * tilebank,
@@ -41,13 +41,13 @@ static TILE_GET_INFO( get_tile_info )
WRITE8_HANDLER( ladyfrog_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap,offset>>1);
}
READ8_HANDLER( ladyfrog_videoram_r )
{
- return videoram[offset];
+ return space->machine->generic.videoram.u8[offset];
}
WRITE8_HANDLER( ladyfrog_palette_w )
@@ -61,9 +61,9 @@ WRITE8_HANDLER( ladyfrog_palette_w )
READ8_HANDLER( ladyfrog_palette_r )
{
if (offset & 0x100)
- return paletteram_2[ (offset & 0xff) + (palette_bank << 8) ];
+ return space->machine->generic.paletteram2.u8[ (offset & 0xff) + (palette_bank << 8) ];
else
- return paletteram [ (offset & 0xff) + (palette_bank << 8) ];
+ return space->machine->generic.paletteram.u8 [ (offset & 0xff) + (palette_bank << 8) ];
}
WRITE8_HANDLER( ladyfrog_gfxctrl_w )
@@ -137,8 +137,8 @@ VIDEO_START( ladyfrog_common )
ladyfrog_spriteram = auto_alloc_array(machine, UINT8, 160);
bg_tilemap = tilemap_create( machine, get_tile_info,tilemap_scan_rows,8,8,32,32 );
- paletteram = auto_alloc_array(machine, UINT8, 0x200);
- paletteram_2 = auto_alloc_array(machine, UINT8, 0x200);
+ machine->generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x200);
+ machine->generic.paletteram2.u8 = auto_alloc_array(machine, UINT8, 0x200);
tilemap_set_scroll_cols(bg_tilemap,32);
tilemap_set_scrolldy( bg_tilemap, 15, 15 );
}
diff --git a/src/mame/video/lastduel.c b/src/mame/video/lastduel.c
index 1937cc2901b..29292498c8d 100644
--- a/src/mame/video/lastduel.c
+++ b/src/mame/video/lastduel.c
@@ -188,7 +188,7 @@ WRITE16_HANDLER( madgear_scroll2_w )
WRITE16_HANDLER( lastduel_palette_word_w )
{
int red, green, blue, bright;
- data = COMBINE_DATA(&paletteram16[offset]);
+ data = COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
// Brightness parameter interpreted same way as CPS1
bright = 0x10 + (data&0x0f);
@@ -208,6 +208,7 @@ WRITE16_HANDLER( lastduel_palette_word_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int pri)
{
+ UINT16 *buffered_spriteram16 = machine->generic.buffered_spriteram.u16;
int offs;
if (!sprite_pri_mask)
diff --git a/src/mame/video/lazercmd.c b/src/mame/video/lazercmd.c
index a717f6aca64..c4920b58c05 100644
--- a/src/mame/video/lazercmd.c
+++ b/src/mame/video/lazercmd.c
@@ -71,7 +71,7 @@ VIDEO_UPDATE( lazercmd )
sy *= VERT_CHR;
drawgfx_opaque(bitmap, cliprect,screen->machine->gfx[0],
- videoram[i], video_inverted ? 1 : 0,
+ screen->machine->generic.videoram.u8[i], video_inverted ? 1 : 0,
0,0,
sx,sy);
}
diff --git a/src/mame/video/legionna.c b/src/mame/video/legionna.c
index a4188e2423a..3903052ad88 100644
--- a/src/mame/video/legionna.c
+++ b/src/mame/video/legionna.c
@@ -236,6 +236,7 @@ VIDEO_START( cupsoc )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect,int pri)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs,fx,fy,x,y,color,sprite,cur_pri;
int dx,dy,ax,ay;
diff --git a/src/mame/video/lemmings.c b/src/mame/video/lemmings.c
index 2b699edc598..36a34b1f823 100644
--- a/src/mame/video/lemmings.c
+++ b/src/mame/video/lemmings.c
@@ -107,8 +107,8 @@ VIDEO_START( lemmings )
VIDEO_EOF( lemmings )
{
- memcpy(sprite_triple_buffer_0,buffered_spriteram16,0x800);
- memcpy(sprite_triple_buffer_1,buffered_spriteram16_2,0x800);
+ memcpy(sprite_triple_buffer_0,machine->generic.buffered_spriteram.u16,0x800);
+ memcpy(sprite_triple_buffer_1,machine->generic.buffered_spriteram2.u16,0x800);
}
/******************************************************************************/
diff --git a/src/mame/video/liberate.c b/src/mame/video/liberate.c
index cf6387bd9c1..560e030004d 100644
--- a/src/mame/video/liberate.c
+++ b/src/mame/video/liberate.c
@@ -70,9 +70,11 @@ static TILE_GET_INFO( get_back_tile_info )
static TILE_GET_INFO( get_fix_tile_info )
{
+ UINT8 *videoram = machine->generic.videoram.u8;
+ UINT8 *colorram = machine->generic.colorram.u8;
int tile, color;
- tile = videoram[tile_index] + ((colorram[tile_index] & 0x7) << 8);
+ tile = videoram[tile_index] + (colorram[tile_index] << 8);
color = (colorram[tile_index] & 0x70) >> 4;
SET_TILE_INFO(0, tile, color, 0);
@@ -181,13 +183,13 @@ WRITE8_HANDLER( prosport_io_w )
WRITE8_HANDLER( liberate_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(fix_tilemap, offset);
}
WRITE8_HANDLER( liberate_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(fix_tilemap, offset);
}
@@ -238,7 +240,7 @@ VIDEO_START( prosport )
WRITE8_HANDLER( prosport_paletteram_w )
{
- paletteram[offset] = data;
+ space->machine->generic.paletteram.u8[offset] = data;
/* RGB output is inverted */
palette_set_color_rgb(space->machine, offset, pal3bit(~data >> 0), pal3bit(~data >> 3), pal2bit(~data >> 6));
@@ -278,6 +280,7 @@ PALETTE_INIT( liberate )
static void liberate_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
/* Sprites */
@@ -345,6 +348,7 @@ static void liberate_draw_sprites(running_machine *machine, bitmap_t *bitmap, co
static void prosport_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
int offs,multi,fx,fy,sx,sy,sy2,code,code2,color,gfx_region;
+ UINT8 *spriteram = machine->generic.spriteram.u8;
for (offs = 0x000;offs < 0x800;offs += 4)
{
@@ -405,6 +409,7 @@ static void prosport_draw_sprites(running_machine *machine, bitmap_t *bitmap, co
static void boomrang_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int pri)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs,multi,fx,fy,sx,sy,sy2,code,code2,color;
for (offs = 0x000;offs < 0x800;offs += 4)
@@ -461,6 +466,7 @@ static void boomrang_draw_sprites(running_machine *machine, bitmap_t *bitmap, co
static void prosoccr_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs,code,fx,fy,sx,sy;
for (offs = 0x000;offs < 0x400;offs += 4)
@@ -521,7 +527,7 @@ VIDEO_UPDATE( prosport )
for (offs = 0;offs < 0x400;offs++)
{
- tile=videoram[offs]+((colorram[offs]&0x3)<<8);
+ tile=screen->machine->generic.videoram.u8[offs]+((screen->machine->generic.colorram.u8[offs]&0x3)<<8);
if(deco16_io_ram[0]&0x40) //dynamic ram-based gfxs for Pro Golf
gfx_region = 3;
diff --git a/src/mame/video/lkage.c b/src/mame/video/lkage.c
index 32ae3c9780f..2ef1c82285f 100644
--- a/src/mame/video/lkage.c
+++ b/src/mame/video/lkage.c
@@ -39,7 +39,7 @@ UINT8 *lkage_scroll, *lkage_vreg;
WRITE8_HANDLER( lkage_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
switch( offset/0x400 )
{
@@ -62,19 +62,19 @@ WRITE8_HANDLER( lkage_videoram_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = videoram[tile_index + 0x800] + 256 * (bg_tile_bank?5:1);
+ int code = machine->generic.videoram.u8[tile_index + 0x800] + 256 * (bg_tile_bank?5:1);
SET_TILE_INFO( 0/*gfx*/, code, 0/*color*/, 0/*flags*/ );
}
static TILE_GET_INFO( get_fg_tile_info )
{
- int code = videoram[tile_index + 0x400] + 256 * (fg_tile_bank?1:0);
+ int code = machine->generic.videoram.u8[tile_index + 0x400] + 256 * (fg_tile_bank?1:0);
SET_TILE_INFO( 0/*gfx*/, code, 0/*color*/, 0/*flags*/);
}
static TILE_GET_INFO( get_tx_tile_info )
{
- int code = videoram[tile_index];
+ int code = machine->generic.videoram.u8[tile_index];
SET_TILE_INFO( 0/*gfx*/, code, 0/*color*/, 0/*flags*/);
}
@@ -97,7 +97,7 @@ VIDEO_START( lkage )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
- const UINT8 *source = spriteram;
+ const UINT8 *source = machine->generic.spriteram.u8;
const UINT8 *finish = source+0x60;
while( source<finish )
{
diff --git a/src/mame/video/lordgun.c b/src/mame/video/lordgun.c
index c795c26e7aa..49bb19ed446 100644
--- a/src/mame/video/lordgun.c
+++ b/src/mame/video/lordgun.c
@@ -222,8 +222,8 @@ void lordgun_update_gun(running_machine *machine, int i)
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
- UINT16 *s = spriteram16;
- UINT16 *end = spriteram16 + spriteram_size/2;
+ UINT16 *s = machine->generic.spriteram.u16;
+ UINT16 *end = machine->generic.spriteram.u16 + machine->generic.spriteram_size/2;
for ( ; s < end; s += 8/2 )
{
diff --git a/src/mame/video/lsasquad.c b/src/mame/video/lsasquad.c
index 8d88595063d..347a41944e9 100644
--- a/src/mame/video/lsasquad.c
+++ b/src/mame/video/lsasquad.c
@@ -30,8 +30,8 @@ static void draw_layer(running_machine *machine, bitmap_t *bitmap, const rectang
if (flip_screen_get(machine)) sy = 248 - sy;
sy &= 0xff;
- attr = videoram[base + 2*y + 1];
- code = videoram[base + 2*y] + ((attr & 0x0f) << 8);
+ attr = machine->generic.videoram.u8[base + 2*y + 1];
+ code = machine->generic.videoram.u8[base + 2*y] + ((attr & 0x0f) << 8);
color = attr >> 4;
drawgfx_transpen(bitmap,cliprect,machine->gfx[0],
@@ -113,8 +113,8 @@ static int draw_layer_daikaiju(running_machine *machine, bitmap_t *bitmap, const
if (flip_screen_get(machine)) sy = 248 - sy;
sy &= 0xff;
- attr = videoram[base + 2*y + 1];
- code = videoram[base + 2*y] + ((attr & 0x0f) << 8);
+ attr = machine->generic.videoram.u8[base + 2*y + 1];
+ code = machine->generic.videoram.u8[base + 2*y] + ((attr & 0x0f) << 8);
color = attr >> 4;
@@ -158,9 +158,10 @@ static void drawbg(running_machine *machine, bitmap_t *bitmap, const rectangle *
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = spriteram_size-4;offs >= 0;offs -= 4)
+ for (offs = machine->generic.spriteram_size-4;offs >= 0;offs -= 4)
{
int sx,sy,attr,code,color,flipx,flipy;
diff --git a/src/mame/video/lvcards.c b/src/mame/video/lvcards.c
index e26761ae91e..c506cc735e7 100644
--- a/src/mame/video/lvcards.c
+++ b/src/mame/video/lvcards.c
@@ -82,20 +82,20 @@ PALETTE_INIT( lvcards ) //Ever so slightly different, but different enough.
WRITE8_HANDLER( lvcards_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( lvcards_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
static TILE_GET_INFO( get_bg_tile_info )
{
- int attr = colorram[tile_index];
- int code = videoram[tile_index] + ((attr & 0x30) << 4) + ((attr & 0x80) << 3);
+ int attr = machine->generic.colorram.u8[tile_index];
+ int code = machine->generic.videoram.u8[tile_index] + ((attr & 0x30) << 4) + ((attr & 0x80) << 3);
int color = attr & 0x0f;
int flags = (attr & 0x40) ? TILE_FLIPX : 0;
diff --git a/src/mame/video/lwings.c b/src/mame/video/lwings.c
index b7090ff1aad..4ea60f2fb0d 100644
--- a/src/mame/video/lwings.c
+++ b/src/mame/video/lwings.c
@@ -172,7 +172,7 @@ WRITE8_HANDLER( trojan_bg2_image_w )
***************************************************************************/
-INLINE int is_sprite_on(int offs)
+INLINE int is_sprite_on(UINT8 *buffered_spriteram, int offs)
{
int sx,sy;
@@ -185,12 +185,13 @@ INLINE int is_sprite_on(int offs)
static void lwings_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *buffered_spriteram = machine->generic.buffered_spriteram.u8;
int offs;
- for (offs = spriteram_size - 4;offs >= 0;offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4;offs >= 0;offs -= 4)
{
- if (is_sprite_on(offs))
+ if (is_sprite_on(buffered_spriteram, offs))
{
int code,color,sx,sy,flipx,flipy;
@@ -221,12 +222,13 @@ static void lwings_draw_sprites(running_machine *machine, bitmap_t *bitmap, cons
static void trojan_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *buffered_spriteram = machine->generic.buffered_spriteram.u8;
int offs;
- for (offs = spriteram_size - 4;offs >= 0;offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4;offs >= 0;offs -= 4)
{
- if (is_sprite_on(offs))
+ if (is_sprite_on(buffered_spriteram, offs))
{
int code,color,sx,sy,flipx,flipy;
diff --git a/src/mame/video/m10.c b/src/mame/video/m10.c
index 6c4db2c8b63..d803f422a47 100644
--- a/src/mame/video/m10.c
+++ b/src/mame/video/m10.c
@@ -162,7 +162,7 @@ VIDEO_UPDATE( m10 )
plot_pixel_m10(screen->machine, bitmap, 16, y, 1);
}
- for (offs = videoram_size - 1; offs >= 0; offs--)
+ for (offs = screen->machine->generic.videoram_size - 1; offs >= 0; offs--)
tilemap_mark_tile_dirty(state->tx_tilemap, offs);
tilemap_set_flip(state->tx_tilemap, state->flip ? TILEMAP_FLIPX | TILEMAP_FLIPY : 0);
@@ -183,7 +183,7 @@ VIDEO_UPDATE( m15 )
m10_state *state = (m10_state *)screen->machine->driver_data;
int offs;
- for (offs = videoram_size - 1; offs >= 0; offs--)
+ for (offs = screen->machine->generic.videoram_size - 1; offs >= 0; offs--)
tilemap_mark_tile_dirty(state->tx_tilemap, offs);
//tilemap_mark_all_tiles_dirty(state->tx_tilemap);
diff --git a/src/mame/video/m107.c b/src/mame/video/m107.c
index 18e9a33508a..f9ca86ffa2a 100644
--- a/src/mame/video/m107.c
+++ b/src/mame/video/m107.c
@@ -302,7 +302,7 @@ WRITE16_HANDLER( m107_spritebuffer_w )
{
if (ACCESSING_BITS_0_7) {
// logerror("%04x: buffered spriteram\n",cpu_get_pc(space->cpu));
- memcpy(m107_spriteram,spriteram16,0x1000);
+ memcpy(m107_spriteram,space->machine->generic.spriteram.u16,0x1000);
}
}
diff --git a/src/mame/video/m57.c b/src/mame/video/m57.c
index 299ca2fd355..9614fc84ed6 100644
--- a/src/mame/video/m57.c
+++ b/src/mame/video/m57.c
@@ -226,7 +226,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
irem_z80_state *state = (irem_z80_state *)machine->driver_data;
int offs;
- for (offs = spriteram_size - 4; offs >= 0; offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4; offs >= 0; offs -= 4)
{
UINT8 attributes = state->spriteram[offs + 1];
int sx = state->spriteram[offs + 3];
diff --git a/src/mame/video/m58.c b/src/mame/video/m58.c
index 04d16de8530..9cbe66f496d 100644
--- a/src/mame/video/m58.c
+++ b/src/mame/video/m58.c
@@ -225,7 +225,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
int offs;
const rectangle *visarea = video_screen_get_visible_area(machine->primary_screen);
- for (offs = spriteram_size - 4; offs >= 0; offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4; offs >= 0; offs -= 4)
{
int attr = state->spriteram[offs + 1];
int bank = (attr & 0x20) >> 5;
diff --git a/src/mame/video/m62.c b/src/mame/video/m62.c
index 0eb23719ae1..e951caab3d8 100644
--- a/src/mame/video/m62.c
+++ b/src/mame/video/m62.c
@@ -338,7 +338,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rect
irem_z80_state *state = (irem_z80_state *)machine->driver_data;
int offs;
- for (offs = 0; offs < spriteram_size; offs += 8)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 8)
{
int i, incr, code, col, flipx, flipy, sx, sy;
diff --git a/src/mame/video/m72.c b/src/mame/video/m72.c
index e2fcbe46fea..96f9fd95ca8 100644
--- a/src/mame/video/m72.c
+++ b/src/mame/video/m72.c
@@ -115,7 +115,7 @@ static void register_savestate(running_machine *machine)
state_save_register_global(machine, scrolly1);
state_save_register_global(machine, scrollx2);
state_save_register_global(machine, scrolly2);
- state_save_register_global_pointer(machine, m72_spriteram, spriteram_size/2);
+ state_save_register_global_pointer(machine, m72_spriteram, machine->generic.spriteram_size/2);
}
@@ -124,7 +124,7 @@ VIDEO_START( m72 )
bg_tilemap = tilemap_create(machine, m72_get_bg_tile_info,tilemap_scan_rows,8,8,64,64);
fg_tilemap = tilemap_create(machine, m72_get_fg_tile_info,tilemap_scan_rows,8,8,64,64);
- m72_spriteram = auto_alloc_array(machine, UINT16, spriteram_size/2);
+ m72_spriteram = auto_alloc_array(machine, UINT16, machine->generic.spriteram_size/2);
tilemap_set_transmask(fg_tilemap,0,0xffff,0x0001);
tilemap_set_transmask(fg_tilemap,1,0x00ff,0xff01);
@@ -135,7 +135,7 @@ VIDEO_START( m72 )
//tilemap_set_transmask(bg_tilemap,2,0x0001,0xfffe);
tilemap_set_transmask(bg_tilemap,2,0x0007,0xfff8);
- memset(m72_spriteram,0,spriteram_size);
+ memset(m72_spriteram,0,machine->generic.spriteram_size);
tilemap_set_scrolldx(fg_tilemap,0,0);
tilemap_set_scrolldy(fg_tilemap,-128,16);
@@ -151,7 +151,7 @@ VIDEO_START( rtype2 )
bg_tilemap = tilemap_create(machine, rtype2_get_bg_tile_info,tilemap_scan_rows,8,8,64,64);
fg_tilemap = tilemap_create(machine, rtype2_get_fg_tile_info,tilemap_scan_rows,8,8,64,64);
- m72_spriteram = auto_alloc_array(machine, UINT16, spriteram_size/2);
+ m72_spriteram = auto_alloc_array(machine, UINT16, machine->generic.spriteram_size/2);
tilemap_set_transmask(fg_tilemap,0,0xffff,0x0001);
tilemap_set_transmask(fg_tilemap,1,0x00ff,0xff01);
@@ -161,7 +161,7 @@ VIDEO_START( rtype2 )
tilemap_set_transmask(bg_tilemap,1,0x00ff,0xff00);
tilemap_set_transmask(bg_tilemap,2,0x0001,0xfffe);
- memset(m72_spriteram,0,spriteram_size);
+ memset(m72_spriteram,0,machine->generic.spriteram_size);
tilemap_set_scrolldx(fg_tilemap,4,0);
tilemap_set_scrolldy(fg_tilemap,-128,16);
@@ -190,7 +190,7 @@ VIDEO_START( majtitle )
bg_tilemap = tilemap_create(machine, rtype2_get_bg_tile_info,majtitle_scan_rows,8,8,128,64);
fg_tilemap = tilemap_create(machine, rtype2_get_fg_tile_info,tilemap_scan_rows,8,8,64,64);
- m72_spriteram = auto_alloc_array(machine, UINT16, spriteram_size/2);
+ m72_spriteram = auto_alloc_array(machine, UINT16, machine->generic.spriteram_size/2);
tilemap_set_transmask(fg_tilemap,0,0xffff,0x0001);
tilemap_set_transmask(fg_tilemap,1,0x00ff,0xff01);
@@ -200,7 +200,7 @@ VIDEO_START( majtitle )
tilemap_set_transmask(bg_tilemap,1,0x00ff,0xff00);
tilemap_set_transmask(bg_tilemap,2,0x0001,0xfffe);
- memset(m72_spriteram,0,spriteram_size);
+ memset(m72_spriteram,0,machine->generic.spriteram_size);
tilemap_set_scrolldx(fg_tilemap,4,0);
tilemap_set_scrolldy(fg_tilemap,-128,16);
@@ -216,7 +216,7 @@ VIDEO_START( hharry )
bg_tilemap = tilemap_create(machine, hharry_get_bg_tile_info,tilemap_scan_rows,8,8,64,64);
fg_tilemap = tilemap_create(machine, m72_get_fg_tile_info, tilemap_scan_rows,8,8,64,64);
- m72_spriteram = auto_alloc_array(machine, UINT16, spriteram_size/2);
+ m72_spriteram = auto_alloc_array(machine, UINT16, machine->generic.spriteram_size/2);
tilemap_set_transmask(fg_tilemap,0,0xffff,0x0001);
tilemap_set_transmask(fg_tilemap,1,0x00ff,0xff01);
@@ -226,7 +226,7 @@ VIDEO_START( hharry )
tilemap_set_transmask(bg_tilemap,1,0x00ff,0xff00);
tilemap_set_transmask(bg_tilemap,2,0x0001,0xfffe);
- memset(m72_spriteram,0,spriteram_size);
+ memset(m72_spriteram,0,machine->generic.spriteram_size);
tilemap_set_scrolldx(fg_tilemap,4,0);
tilemap_set_scrolldy(fg_tilemap,-128,16);
@@ -249,7 +249,7 @@ READ16_HANDLER( m72_palette1_r )
/* A9 isn't connected, so 0x200-0x3ff mirrors 0x000-0x1ff etc. */
offset &= ~0x100;
- return paletteram16[offset] | 0xffe0; /* only D0-D4 are connected */
+ return space->machine->generic.paletteram.u16[offset] | 0xffe0; /* only D0-D4 are connected */
}
READ16_HANDLER( m72_palette2_r )
@@ -257,7 +257,7 @@ READ16_HANDLER( m72_palette2_r )
/* A9 isn't connected, so 0x200-0x3ff mirrors 0x000-0x1ff etc. */
offset &= ~0x100;
- return paletteram16_2[offset] | 0xffe0; /* only D0-D4 are connected */
+ return space->machine->generic.paletteram2.u16[offset] | 0xffe0; /* only D0-D4 are connected */
}
INLINE void changecolor(running_machine *machine,int color,int r,int g,int b)
@@ -270,13 +270,13 @@ WRITE16_HANDLER( m72_palette1_w )
/* A9 isn't connected, so 0x200-0x3ff mirrors 0x000-0x1ff etc. */
offset &= ~0x100;
- COMBINE_DATA(&paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
offset &= 0x0ff;
changecolor(space->machine,
offset,
- paletteram16[offset + 0x000],
- paletteram16[offset + 0x200],
- paletteram16[offset + 0x400]);
+ space->machine->generic.paletteram.u16[offset + 0x000],
+ space->machine->generic.paletteram.u16[offset + 0x200],
+ space->machine->generic.paletteram.u16[offset + 0x400]);
}
WRITE16_HANDLER( m72_palette2_w )
@@ -284,13 +284,13 @@ WRITE16_HANDLER( m72_palette2_w )
/* A9 isn't connected, so 0x200-0x3ff mirrors 0x000-0x1ff etc. */
offset &= ~0x100;
- COMBINE_DATA(&paletteram16_2[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram2.u16[offset]);
offset &= 0x0ff;
changecolor(space->machine,
offset + 256,
- paletteram16_2[offset + 0x000],
- paletteram16_2[offset + 0x200],
- paletteram16_2[offset + 0x400]);
+ space->machine->generic.paletteram2.u16[offset + 0x000],
+ space->machine->generic.paletteram2.u16[offset + 0x200],
+ space->machine->generic.paletteram2.u16[offset + 0x400]);
}
WRITE16_HANDLER( m72_videoram1_w )
@@ -333,7 +333,7 @@ WRITE16_HANDLER( m72_scrolly2_w )
WRITE16_HANDLER( m72_dmaon_w )
{
if (ACCESSING_BITS_0_7)
- memcpy(m72_spriteram,spriteram16,spriteram_size);
+ memcpy(m72_spriteram,space->machine->generic.spriteram.u16,space->machine->generic.spriteram_size);
}
@@ -408,7 +408,7 @@ static void m72_draw_sprites(running_machine *machine, bitmap_t *bitmap,const re
int offs;
offs = 0;
- while (offs < spriteram_size/2)
+ while (offs < machine->generic.spriteram_size/2)
{
int code,color,sx,sy,flipx,flipy,w,h,x,y;
@@ -457,9 +457,10 @@ static void m72_draw_sprites(running_machine *machine, bitmap_t *bitmap,const re
static void majtitle_draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT16 *spriteram16_2 = machine->generic.spriteram2.u16;
int offs;
- for (offs = 0;offs < spriteram_size;offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram_size;offs += 4)
{
int code,color,sx,sy,flipx,flipy,w,h,x,y;
diff --git a/src/mame/video/m90.c b/src/mame/video/m90.c
index 2b4bcde46ff..b2cfdc15c11 100644
--- a/src/mame/video/m90.c
+++ b/src/mame/video/m90.c
@@ -188,11 +188,12 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan
static void bomblord_draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs = 0, last_sprite = 0;
int x,y,sprite,colour,fx,fy;
- while ((offs < spriteram_size/2) & (spriteram16[offs+0] != 0x8000))
+ while ((offs < machine->generic.spriteram_size/2) & (spriteram16[offs+0] != 0x8000))
{
last_sprite = offs;
offs += 4;
@@ -226,10 +227,11 @@ static void bomblord_draw_sprites(running_machine *machine, bitmap_t *bitmap,con
static void dynablsb_draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs = 0, last_sprite = 0;
int x,y,sprite,colour,fx,fy;
- while ((offs < spriteram_size/2) & (spriteram16[offs+0] != 0xffff))
+ while ((offs < machine->generic.spriteram_size/2) & (spriteram16[offs+0] != 0xffff))
{
last_sprite = offs;
offs += 4;
diff --git a/src/mame/video/m92.c b/src/mame/video/m92.c
index 1a4e3a48f0e..554d83ab579 100644
--- a/src/mame/video/m92.c
+++ b/src/mame/video/m92.c
@@ -128,7 +128,7 @@ WRITE16_HANDLER( m92_videocontrol_w )
READ16_HANDLER( m92_paletteram_r )
{
- return paletteram16[offset + 0x400 * m92_palette_bank];
+ return space->machine->generic.paletteram.u16[offset + 0x400 * m92_palette_bank];
}
WRITE16_HANDLER( m92_paletteram_w )
@@ -278,10 +278,10 @@ VIDEO_START( m92 )
state_save_register_item_array(machine, "layer", NULL, laynum, layer->control);
}
- paletteram16 = auto_alloc_array(machine, UINT16, 0x1000/2);
+ machine->generic.paletteram.u16 = auto_alloc_array(machine, UINT16, 0x1000/2);
- memset(spriteram16,0,0x800);
- memset(buffered_spriteram16,0,0x800);
+ memset(machine->generic.spriteram.u16,0,0x800);
+ memset(machine->generic.buffered_spriteram.u16,0,0x800);
state_save_register_global_array(machine, pf_master_control);
@@ -290,13 +290,14 @@ VIDEO_START( m92 )
state_save_register_global(machine, m92_sprite_buffer_busy);
state_save_register_global(machine, m92_palette_bank);
- state_save_register_global_pointer(machine, paletteram16, 0x1000);
+ state_save_register_global_pointer(machine, machine->generic.paletteram.u16, 0x1000);
}
/*****************************************************************************/
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT16 *buffered_spriteram16 = machine->generic.buffered_spriteram.u16;
int offs,k;
for (k=0; k<8; k++)
diff --git a/src/mame/video/macrossp.c b/src/mame/video/macrossp.c
index 2af63dbb888..0f3f2db9a22 100644
--- a/src/mame/video/macrossp.c
+++ b/src/mame/video/macrossp.c
@@ -146,8 +146,8 @@ static TILE_GET_INFO( get_macrossp_text_tile_info )
VIDEO_START(macrossp)
{
- spriteram_old = auto_alloc_array_clear(machine, UINT32, spriteram_size/4);
- spriteram_old2 = auto_alloc_array_clear(machine, UINT32, spriteram_size/4);
+ spriteram_old = auto_alloc_array_clear(machine, UINT32, machine->generic.spriteram_size/4);
+ spriteram_old2 = auto_alloc_array_clear(machine, UINT32, machine->generic.spriteram_size/4);
macrossp_text_tilemap = tilemap_create(machine, get_macrossp_text_tile_info,tilemap_scan_rows,16,16,64,64);
macrossp_scra_tilemap = tilemap_create(machine, get_macrossp_scra_tile_info,tilemap_scan_rows,16,16,64,64);
@@ -172,7 +172,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
const gfx_element *gfx = machine->gfx[0];
// UINT32 *source = macrossp_spriteram;
UINT32 *source = spriteram_old2; /* buffers by two frames */
- UINT32 *finish = source + spriteram_size/4;
+ UINT32 *finish = source + machine->generic.spriteram_size/4;
while( source<finish )
@@ -404,6 +404,6 @@ macrossp_scrc_videoregs[2]);// 08 - 0b
VIDEO_EOF( macrossp )
{
/* looks like sprites are *two* frames ahead, like nmk16 */
- memcpy(spriteram_old2,spriteram_old,spriteram_size);
- memcpy(spriteram_old,macrossp_spriteram,spriteram_size);
+ memcpy(spriteram_old2,spriteram_old,machine->generic.spriteram_size);
+ memcpy(spriteram_old,macrossp_spriteram,machine->generic.spriteram_size);
}
diff --git a/src/mame/video/madmotor.c b/src/mame/video/madmotor.c
index 716f7b8cdca..d64e8b6bc18 100644
--- a/src/mame/video/madmotor.c
+++ b/src/mame/video/madmotor.c
@@ -152,10 +152,11 @@ WRITE16_HANDLER( madmotor_pf3_data_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect,int pri_mask,int pri_val)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
offs = 0;
- while (offs < spriteram_size/2)
+ while (offs < machine->generic.spriteram_size/2)
{
int sx,sy,code,color,w,h,flipx,flipy,incy,flash,mult,x,y;
@@ -212,7 +213,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan
}
offs += 4;
- if (offs >= spriteram_size/2 ||
+ if (offs >= machine->generic.spriteram_size/2 ||
spriteram16[offs] & 0x8000) // seems the expected behaviour on the title screen
break;
}
diff --git a/src/mame/video/magmax.c b/src/mame/video/magmax.c
index 582884cc423..22c1040b0fe 100644
--- a/src/mame/video/magmax.c
+++ b/src/mame/video/magmax.c
@@ -91,6 +91,7 @@ VIDEO_START( magmax )
VIDEO_UPDATE( magmax )
{
+ UINT16 *spriteram16 = screen->machine->generic.spriteram.u16;
int offs;
/* bit 2 flip screen */
@@ -175,7 +176,7 @@ VIDEO_UPDATE( magmax )
}
/* draw the sprites */
- for (offs = 0; offs < spriteram_size/2; offs += 4)
+ for (offs = 0; offs < screen->machine->generic.spriteram_size/2; offs += 4)
{
int sx, sy;
@@ -221,7 +222,7 @@ VIDEO_UPDATE( magmax )
//int page = (*magmax_vreg>>3) & 0x1;
int code;
- code = videoram16[offs /*+ page*/] & 0xff;
+ code = screen->machine->generic.videoram.u16[offs /*+ page*/] & 0xff;
if (code)
{
int sx = (offs % 32);
diff --git a/src/mame/video/mainsnk.c b/src/mame/video/mainsnk.c
index 81bf9e942d7..551ce427c73 100644
--- a/src/mame/video/mainsnk.c
+++ b/src/mame/video/mainsnk.c
@@ -94,7 +94,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
{
const gfx_element *gfx = machine->gfx[1];
const UINT8 *source, *finish;
- source = spriteram;
+ source = machine->generic.spriteram.u8;
finish = source + 25*4;
while( source<finish )
diff --git a/src/mame/video/mappy.c b/src/mame/video/mappy.c
index 67707d10e7f..3c52b6fc8de 100644
--- a/src/mame/video/mappy.c
+++ b/src/mame/video/mappy.c
@@ -327,9 +327,9 @@ VIDEO_START( superpac )
colortable_configure_tilemap_groups(machine->colortable, bg_tilemap, machine->gfx[0], 31);
- spriteram = mappy_spriteram + 0x780;
- spriteram_2 = spriteram + 0x800;
- spriteram_3 = spriteram_2 + 0x800;
+ machine->generic.spriteram.u8 = mappy_spriteram + 0x780;
+ machine->generic.spriteram2.u8 = machine->generic.spriteram.u8 + 0x800;
+ machine->generic.spriteram3.u8 = machine->generic.spriteram2.u8 + 0x800;
}
VIDEO_START( phozon )
@@ -338,9 +338,9 @@ VIDEO_START( phozon )
colortable_configure_tilemap_groups(machine->colortable, bg_tilemap, machine->gfx[0], 15);
- spriteram = mappy_spriteram + 0x780;
- spriteram_2 = spriteram + 0x800;
- spriteram_3 = spriteram_2 + 0x800;
+ machine->generic.spriteram.u8 = mappy_spriteram + 0x780;
+ machine->generic.spriteram2.u8 = machine->generic.spriteram.u8 + 0x800;
+ machine->generic.spriteram3.u8 = machine->generic.spriteram2.u8 + 0x800;
state_save_register_global(machine, mappy_scroll);
}
@@ -352,9 +352,9 @@ VIDEO_START( mappy )
colortable_configure_tilemap_groups(machine->colortable, bg_tilemap, machine->gfx[0], 31);
tilemap_set_scroll_cols(bg_tilemap, 36);
- spriteram = mappy_spriteram + 0x780;
- spriteram_2 = spriteram + 0x800;
- spriteram_3 = spriteram_2 + 0x800;
+ machine->generic.spriteram.u8 = mappy_spriteram + 0x780;
+ machine->generic.spriteram2.u8 = machine->generic.spriteram.u8 + 0x800;
+ machine->generic.spriteram3.u8 = machine->generic.spriteram2.u8 + 0x800;
}
@@ -404,6 +404,9 @@ WRITE8_HANDLER( mappy_scroll_w )
/* also used by toypop.c */
void mappy_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int xoffs, int yoffs, int transcolor)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
+ UINT8 *spriteram_2 = machine->generic.spriteram2.u8;
+ UINT8 *spriteram_3 = machine->generic.spriteram3.u8;
int offs;
for (offs = 0;offs < 0x80;offs += 2)
@@ -479,6 +482,9 @@ spriteram_3
static void phozon_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
+ UINT8 *spriteram_2 = machine->generic.spriteram2.u8;
+ UINT8 *spriteram_3 = machine->generic.spriteram3.u8;
int offs;
for (offs = 0;offs < 0x80;offs += 2)
diff --git a/src/mame/video/markham.c b/src/mame/video/markham.c
index 080d6c47ce9..66103b1ec47 100644
--- a/src/mame/video/markham.c
+++ b/src/mame/video/markham.c
@@ -45,7 +45,7 @@ PALETTE_INIT( markham )
WRITE8_HANDLER( markham_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset / 2);
}
@@ -60,8 +60,8 @@ WRITE8_HANDLER( markham_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int attr = videoram[tile_index * 2];
- int code = videoram[(tile_index * 2) + 1] + ((attr & 0x60) << 3);
+ int attr = machine->generic.videoram.u8[tile_index * 2];
+ int code = machine->generic.videoram.u8[(tile_index * 2) + 1] + ((attr & 0x60) << 3);
int color = (attr & 0x1f) | ((attr & 0x80) >> 2);
SET_TILE_INFO(0, code, color, 0);
@@ -77,6 +77,7 @@ VIDEO_START( markham )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
for (offs=0x60; offs<0x100; offs +=4)
diff --git a/src/mame/video/matmania.c b/src/mame/video/matmania.c
index 2a19142f8e6..001d89bd9ed 100644
--- a/src/mame/video/matmania.c
+++ b/src/mame/video/matmania.c
@@ -90,24 +90,24 @@ WRITE8_HANDLER( matmania_paletteram_w )
int offs2;
- paletteram[offset] = data;
+ space->machine->generic.paletteram.u8[offset] = data;
offs2 = offset & 0x0f;
- val = paletteram[offs2];
+ val = space->machine->generic.paletteram.u8[offs2];
bit0 = (val >> 0) & 0x01;
bit1 = (val >> 1) & 0x01;
bit2 = (val >> 2) & 0x01;
bit3 = (val >> 3) & 0x01;
r = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- val = paletteram[offs2 | 0x10];
+ val = space->machine->generic.paletteram.u8[offs2 | 0x10];
bit0 = (val >> 0) & 0x01;
bit1 = (val >> 1) & 0x01;
bit2 = (val >> 2) & 0x01;
bit3 = (val >> 3) & 0x01;
g = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- val = paletteram[offs2 | 0x20];
+ val = space->machine->generic.paletteram.u8[offs2 | 0x20];
bit0 = (val >> 0) & 0x01;
bit1 = (val >> 1) & 0x01;
bit2 = (val >> 2) & 0x01;
@@ -138,11 +138,12 @@ VIDEO_START( matmania )
VIDEO_UPDATE( matmania )
{
+ UINT8 *spriteram = screen->machine->generic.spriteram.u8;
int offs;
/* Update the tiles in the left tile ram bank */
- for (offs = videoram_size - 1;offs >= 0;offs--)
+ for (offs = screen->machine->generic.videoram_size - 1;offs >= 0;offs--)
{
int sx,sy;
@@ -151,8 +152,8 @@ VIDEO_UPDATE( matmania )
sy = offs % 32;
drawgfx_opaque(tmpbitmap,0,screen->machine->gfx[1],
- videoram[offs] + ((colorram[offs] & 0x08) << 5),
- (colorram[offs] & 0x30) >> 4,
+ screen->machine->generic.videoram.u8[offs] + ((screen->machine->generic.colorram.u8[offs] & 0x08) << 5),
+ (screen->machine->generic.colorram.u8[offs] & 0x30) >> 4,
0,sy >= 16, /* flip horizontally tiles on the right half of the bitmap */
16*sx,16*sy);
}
@@ -188,7 +189,7 @@ VIDEO_UPDATE( matmania )
/* Draw the sprites */
- for (offs = 0;offs < spriteram_size;offs += 4)
+ for (offs = 0;offs < screen->machine->generic.spriteram_size;offs += 4)
{
if (spriteram[offs] & 0x01)
{
@@ -221,11 +222,12 @@ VIDEO_UPDATE( matmania )
VIDEO_UPDATE( maniach )
{
+ UINT8 *spriteram = screen->machine->generic.spriteram.u8;
int offs;
/* Update the tiles in the left tile ram bank */
- for (offs = videoram_size - 1;offs >= 0;offs--)
+ for (offs = screen->machine->generic.videoram_size - 1;offs >= 0;offs--)
{
int sx,sy;
@@ -234,8 +236,8 @@ VIDEO_UPDATE( maniach )
sy = offs % 32;
drawgfx_opaque(tmpbitmap,0,screen->machine->gfx[1],
- videoram[offs] + ((colorram[offs] & 0x03) << 8),
- (colorram[offs] & 0x30) >> 4,
+ screen->machine->generic.videoram.u8[offs] + ((screen->machine->generic.colorram.u8[offs] & 0x03) << 8),
+ (screen->machine->generic.colorram.u8[offs] & 0x30) >> 4,
0,sy >= 16, /* flip horizontally tiles on the right half of the bitmap */
16*sx,16*sy);
}
@@ -272,7 +274,7 @@ VIDEO_UPDATE( maniach )
/* Draw the sprites */
- for (offs = 0;offs < spriteram_size;offs += 4)
+ for (offs = 0;offs < screen->machine->generic.spriteram_size;offs += 4)
{
if (spriteram[offs] & 0x01)
{
diff --git a/src/mame/video/mcatadv.c b/src/mame/video/mcatadv.c
index 9c646449336..5d4346e5bd8 100644
--- a/src/mame/video/mcatadv.c
+++ b/src/mame/video/mcatadv.c
@@ -59,7 +59,7 @@ WRITE16_HANDLER( mcatadv_videoram2_w )
static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
UINT16 *source = spriteram_old;
- UINT16 *finish = source + (spriteram_size/2)/2;
+ UINT16 *finish = source + (machine->generic.spriteram_size/2)/2;
int global_x = mcatadv_vidregs[0]-0x184;
int global_y = mcatadv_vidregs[1]-0x1f1;
@@ -72,8 +72,8 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rect
if( vidregs_old[2] == 0x0001 ) /* Double Buffered */
{
- source += (spriteram_size/2)/2;
- finish += (spriteram_size/2)/2;
+ source += (machine->generic.spriteram_size/2)/2;
+ finish += (machine->generic.spriteram_size/2)/2;
}
else if( vidregs_old[2] ) /* I suppose it's possible that there is 4 banks, haven't seen it used though */
{
@@ -252,7 +252,7 @@ VIDEO_START( mcatadv )
mcatadv_tilemap2 = tilemap_create(machine, get_mcatadv_tile_info2,tilemap_scan_rows, 16, 16,32,32);
tilemap_set_transparent_pen(mcatadv_tilemap2,0);
- spriteram_old = auto_alloc_array_clear(machine, UINT16, spriteram_size/2);
+ spriteram_old = auto_alloc_array_clear(machine, UINT16, machine->generic.spriteram_size/2);
vidregs_old = auto_alloc_array(machine, UINT16, (0xf+1)/2);
palette_bank1 = 0;
@@ -261,6 +261,6 @@ VIDEO_START( mcatadv )
VIDEO_EOF( mcatadv )
{
- memcpy(spriteram_old,spriteram16,spriteram_size);
+ memcpy(spriteram_old,machine->generic.spriteram.u16,machine->generic.spriteram_size);
memcpy(vidregs_old,mcatadv_vidregs,0xf);
}
diff --git a/src/mame/video/mcr.c b/src/mame/video/mcr.c
index b148b66ac14..26798336b15 100644
--- a/src/mame/video/mcr.c
+++ b/src/mame/video/mcr.c
@@ -28,7 +28,7 @@ static tilemap *bg_tilemap;
*/
static TILE_GET_INFO( mcr_90009_get_tile_info )
{
- SET_TILE_INFO(0, videoram[tile_index], 0, 0);
+ SET_TILE_INFO(0, machine->generic.videoram.u8[tile_index], 0, 0);
/* sprite color base is constant 0x10 */
tileinfo->category = 1;
@@ -50,7 +50,7 @@ static TILE_GET_INFO( mcr_90009_get_tile_info )
*/
static TILE_GET_INFO( mcr_90010_get_tile_info )
{
- int data = videoram[tile_index * 2] | (videoram[tile_index * 2 + 1] << 8);
+ int data = machine->generic.videoram.u8[tile_index * 2] | (machine->generic.videoram.u8[tile_index * 2 + 1] << 8);
int code = data & 0x1ff;
int color = (data >> 11) & 3;
SET_TILE_INFO(0, code, color, TILE_FLIPYX((data >> 9) & 3));
@@ -75,7 +75,7 @@ static TILE_GET_INFO( mcr_90010_get_tile_info )
*/
static TILE_GET_INFO( mcr_91490_get_tile_info )
{
- int data = videoram[tile_index * 2] | (videoram[tile_index * 2 + 1] << 8);
+ int data = machine->generic.videoram.u8[tile_index * 2] | (machine->generic.videoram.u8[tile_index * 2 + 1] << 8);
int code = data & 0x3ff;
int color = (data >> 12) & 3;
SET_TILE_INFO(0, code, color, TILE_FLIPYX((data >> 10) & 3));
@@ -164,7 +164,7 @@ static void journey_set_color(running_machine *machine, int index, int data)
WRITE8_HANDLER( mcr_91490_paletteram_w )
{
- paletteram[offset] = data;
+ space->machine->generic.paletteram.u8[offset] = data;
offset &= 0x7f;
mcr_set_color(space->machine, (offset / 2) & 0x3f, data | ((offset & 1) << 8));
}
@@ -179,14 +179,14 @@ WRITE8_HANDLER( mcr_91490_paletteram_w )
WRITE8_HANDLER( mcr_90009_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( mcr_90010_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset / 2);
/* palette RAM is mapped into the upper 0x80 bytes here */
@@ -204,7 +204,7 @@ READ8_HANDLER( twotiger_videoram_r )
{
/* Two Tigers swizzles the address bits on videoram */
int effoffs = ((offset << 1) & 0x7fe) | ((offset >> 10) & 1);
- return videoram[effoffs];
+ return space->machine->generic.videoram.u8[effoffs];
}
WRITE8_HANDLER( twotiger_videoram_w )
@@ -212,7 +212,7 @@ WRITE8_HANDLER( twotiger_videoram_w )
/* Two Tigers swizzles the address bits on videoram */
int effoffs = ((offset << 1) & 0x7fe) | ((offset >> 10) & 1);
- videoram[effoffs] = data;
+ space->machine->generic.videoram.u8[effoffs] = data;
tilemap_mark_tile_dirty(bg_tilemap, effoffs / 2);
/* palette RAM is mapped into the upper 0x80 bytes here */
@@ -223,7 +223,7 @@ WRITE8_HANDLER( twotiger_videoram_w )
WRITE8_HANDLER( mcr_91490_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset / 2);
}
@@ -241,11 +241,12 @@ WRITE8_HANDLER( mcr_91490_videoram_w )
static void render_sprites_91399(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
const gfx_element *gfx = machine->gfx[1];
int offs;
/* render the sprites into the bitmap, ORing together */
- for (offs = 0; offs < spriteram_size; offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 4)
{
int code, x, y, sx, sy, hflip, vflip;
@@ -312,11 +313,12 @@ static void render_sprites_91399(running_machine *machine, bitmap_t *bitmap, con
static void render_sprites_91464(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int primask, int sprmask, int colormask)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
const gfx_element *gfx = machine->gfx[1];
int offs;
/* render the sprites into the bitmap, working from topmost to bottommost */
- for (offs = spriteram_size - 4; offs >= 0; offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4; offs >= 0; offs -= 4)
{
int code, color, x, y, sx, sy, hflip, vflip;
diff --git a/src/mame/video/mcr3.c b/src/mame/video/mcr3.c
index ce9ea1f1d9e..86f3d7d1bbc 100644
--- a/src/mame/video/mcr3.c
+++ b/src/mame/video/mcr3.c
@@ -45,7 +45,7 @@ static tilemap *alpha_tilemap;
#ifdef UNUSED_FUNCTION
static TILE_GET_INFO( get_bg_tile_info )
{
- int data = videoram[tile_index * 2] | (videoram[tile_index * 2 + 1] << 8);
+ int data = machine->generic.videoram.u8[tile_index * 2] | (machine->generic.videoram.u8[tile_index * 2 + 1] << 8);
int code = (data & 0x3ff) | ((data >> 4) & 0x400);
int color = (data >> 12) & 3;
SET_TILE_INFO(0, code, color, TILE_FLIPYX((data >> 10) & 3));
@@ -55,7 +55,7 @@ static TILE_GET_INFO( get_bg_tile_info )
static TILE_GET_INFO( mcrmono_get_bg_tile_info )
{
- int data = videoram[tile_index * 2] | (videoram[tile_index * 2 + 1] << 8);
+ int data = machine->generic.videoram.u8[tile_index * 2] | (machine->generic.videoram.u8[tile_index * 2 + 1] << 8);
int code = (data & 0x3ff) | ((data >> 4) & 0x400);
int color = ((data >> 12) & 3) ^ 3;
SET_TILE_INFO(0, code, color, TILE_FLIPYX((data >> 10) & 3));
@@ -71,7 +71,7 @@ static TILEMAP_MAPPER( spyhunt_bg_scan )
static TILE_GET_INFO( spyhunt_get_bg_tile_info )
{
- int data = videoram[tile_index];
+ int data = machine->generic.videoram.u8[tile_index];
int code = (data & 0x3f) | ((data >> 1) & 0x40);
SET_TILE_INFO(0, code, 0, (data & 0x40) ? TILE_FLIPY : 0);
}
@@ -149,7 +149,7 @@ VIDEO_START( spyhunt )
WRITE8_HANDLER( mcr3_paletteram_w )
{
- paletteram[offset] = data;
+ space->machine->generic.paletteram.u8[offset] = data;
offset &= 0x7f;
/* high bit of red comes from low bit of address */
@@ -166,14 +166,14 @@ WRITE8_HANDLER( mcr3_paletteram_w )
WRITE8_HANDLER( mcr3_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset / 2);
}
WRITE8_HANDLER( spyhunt_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -194,12 +194,13 @@ WRITE8_HANDLER( spyhunt_alpharam_w )
static void mcr3_update_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int color_mask, int code_xor, int dx, int dy)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
bitmap_fill(machine->priority_bitmap, cliprect, 1);
/* loop over sprite RAM */
- for (offs = spriteram_size - 4; offs >= 0; offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4; offs >= 0; offs -= 4)
{
int code, color, flipx, flipy, sx, sy, flags;
diff --git a/src/mame/video/mcr68.c b/src/mame/video/mcr68.c
index 767ffd37469..02abbfa5a07 100644
--- a/src/mame/video/mcr68.c
+++ b/src/mame/video/mcr68.c
@@ -27,7 +27,7 @@ static tilemap *fg_tilemap;
static TILE_GET_INFO( get_bg_tile_info )
{
- int data = LOW_BYTE(videoram16[tile_index * 2]) | (LOW_BYTE(videoram16[tile_index * 2 + 1]) << 8);
+ int data = LOW_BYTE(machine->generic.videoram.u16[tile_index * 2]) | (LOW_BYTE(machine->generic.videoram.u16[tile_index * 2 + 1]) << 8);
int code = (data & 0x3ff) | ((data >> 4) & 0xc00);
int color = (~data >> 12) & 3;
SET_TILE_INFO(0, code, color, TILE_FLIPYX((data >> 10) & 3));
@@ -38,7 +38,7 @@ static TILE_GET_INFO( get_bg_tile_info )
static TILE_GET_INFO( zwackery_get_bg_tile_info )
{
- int data = videoram16[tile_index];
+ int data = machine->generic.videoram.u16[tile_index];
int color = (data >> 13) & 7;
SET_TILE_INFO(0, data & 0x3ff, color, TILE_FLIPYX((data >> 11) & 3));
}
@@ -46,7 +46,7 @@ static TILE_GET_INFO( zwackery_get_bg_tile_info )
static TILE_GET_INFO( zwackery_get_fg_tile_info )
{
- int data = videoram16[tile_index];
+ int data = machine->generic.videoram.u16[tile_index];
int color = (data >> 13) & 7;
SET_TILE_INFO(2, data & 0x3ff, color, TILE_FLIPYX((data >> 11) & 3));
tileinfo->category = (color != 0);
@@ -153,8 +153,8 @@ WRITE16_HANDLER( mcr68_paletteram_w )
{
int newword;
- COMBINE_DATA(&paletteram16[offset]);
- newword = paletteram16[offset];
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
+ newword = space->machine->generic.paletteram.u16[offset];
palette_set_color_rgb(space->machine, offset, pal3bit(newword >> 6), pal3bit(newword >> 0), pal3bit(newword >> 3));
}
@@ -163,8 +163,8 @@ WRITE16_HANDLER( zwackery_paletteram_w )
{
int newword;
- COMBINE_DATA(&paletteram16[offset]);
- newword = paletteram16[offset];
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
+ newword = space->machine->generic.paletteram.u16[offset];
palette_set_color_rgb(space->machine, offset, pal5bit(~newword >> 10), pal5bit(~newword >> 0), pal5bit(~newword >> 5));
}
@@ -178,14 +178,14 @@ WRITE16_HANDLER( zwackery_paletteram_w )
WRITE16_HANDLER( mcr68_videoram_w )
{
- COMBINE_DATA(&videoram16[offset]);
+ COMBINE_DATA(&space->machine->generic.videoram.u16[offset]);
tilemap_mark_tile_dirty(bg_tilemap, offset / 2);
}
WRITE16_HANDLER( zwackery_videoram_w )
{
- COMBINE_DATA(&videoram16[offset]);
+ COMBINE_DATA(&space->machine->generic.videoram.u16[offset]);
tilemap_mark_tile_dirty(bg_tilemap, offset);
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
@@ -195,8 +195,8 @@ WRITE16_HANDLER( zwackery_spriteram_w )
{
/* yech -- Zwackery relies on the upper 8 bits of a spriteram read being $ff! */
/* to make this happen we always write $ff in the upper 8 bits */
- COMBINE_DATA(&spriteram16[offset]);
- spriteram16[offset] |= 0xff00;
+ COMBINE_DATA(&space->machine->generic.spriteram.u16[offset]);
+ space->machine->generic.spriteram.u16[offset] |= 0xff00;
}
@@ -210,6 +210,7 @@ WRITE16_HANDLER( zwackery_spriteram_w )
static void mcr68_update_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int priority)
{
rectangle sprite_clip = *video_screen_get_visible_area(machine->primary_screen);
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
/* adjust for clipping */
@@ -220,7 +221,7 @@ static void mcr68_update_sprites(running_machine *machine, bitmap_t *bitmap, con
bitmap_fill(machine->priority_bitmap,&sprite_clip,1);
/* loop over sprite RAM */
- for (offs = spriteram_size / 2 - 4;offs >= 0;offs -= 4)
+ for (offs = machine->generic.spriteram_size / 2 - 4;offs >= 0;offs -= 4)
{
int code, color, flipx, flipy, x, y, flags;
@@ -261,12 +262,13 @@ static void mcr68_update_sprites(running_machine *machine, bitmap_t *bitmap, con
static void zwackery_update_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int priority)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
bitmap_fill(machine->priority_bitmap,cliprect,1);
/* loop over sprite RAM */
- for (offs = spriteram_size / 2 - 4;offs >= 0;offs -= 4)
+ for (offs = machine->generic.spriteram_size / 2 - 4;offs >= 0;offs -= 4)
{
int code, color, flipx, flipy, x, y, flags;
diff --git a/src/mame/video/meadows.c b/src/mame/video/meadows.c
index 3931f80c20c..583d7921687 100644
--- a/src/mame/video/meadows.c
+++ b/src/mame/video/meadows.c
@@ -23,7 +23,7 @@ static tilemap *bg_tilemap;
static TILE_GET_INFO( get_tile_info )
{
- SET_TILE_INFO(0, videoram[tile_index] & 0x7f, 0, 0);
+ SET_TILE_INFO(0, machine->generic.videoram.u8[tile_index] & 0x7f, 0, 0);
}
@@ -49,7 +49,7 @@ VIDEO_START( meadows )
WRITE8_HANDLER( meadows_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -64,7 +64,7 @@ WRITE8_HANDLER( meadows_videoram_w )
WRITE8_HANDLER( meadows_spriteram_w )
{
video_screen_update_now(space->machine->primary_screen);
- spriteram[offset] = data;
+ space->machine->generic.spriteram.u8[offset] = data;
}
@@ -77,6 +77,7 @@ WRITE8_HANDLER( meadows_spriteram_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *clip)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int i;
for (i = 0; i < 4; i++)
diff --git a/src/mame/video/megasys1.c b/src/mame/video/megasys1.c
index 2ce8d25f0e5..6a940b8ea58 100644
--- a/src/mame/video/megasys1.c
+++ b/src/mame/video/megasys1.c
@@ -247,7 +247,7 @@ VIDEO_START( megasys1 )
{
int i;
- spriteram16 = &megasys1_ram[0x8000/2];
+ machine->generic.spriteram.u16 = &megasys1_ram[0x8000/2];
megasys1_buffer_objectram = auto_alloc_array(machine, UINT16, 0x2000);
megasys1_buffer_spriteram16 = auto_alloc_array(machine, UINT16, 0x2000);
@@ -633,6 +633,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan
} /* non Z hw */
else
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
/* MS1-Z just draws Sprite Data, and in reverse order */
@@ -1036,7 +1037,7 @@ VIDEO_EOF( megasys1 )
memcpy(megasys1_buffer_objectram, megasys1_objectram, 0x2000);
//spriteram16
memcpy(megasys1_buffer2_spriteram16, megasys1_buffer_spriteram16, 0x2000);
- memcpy(megasys1_buffer_spriteram16, spriteram16, 0x2000);
+ memcpy(megasys1_buffer_spriteram16, machine->generic.spriteram.u16, 0x2000);
}
diff --git a/src/mame/video/megazone.c b/src/mame/video/megazone.c
index 27b39640355..ad2cc2fa295 100644
--- a/src/mame/video/megazone.c
+++ b/src/mame/video/megazone.c
@@ -119,14 +119,14 @@ VIDEO_UPDATE( megazone )
int x,y;
/* for every character in the Video RAM */
- for (offs = videoram_size - 1;offs >= 0;offs--)
+ for (offs = screen->machine->generic.videoram_size - 1;offs >= 0;offs--)
{
int sx,sy,flipx,flipy;
sx = offs % 32;
sy = offs / 32;
- flipx = colorram[offs] & (1<<6);
- flipy = colorram[offs] & (1<<5);
+ flipx = screen->machine->generic.colorram.u8[offs] & (1<<6);
+ flipy = screen->machine->generic.colorram.u8[offs] & (1<<5);
if (flipscreen)
{
sx = 31 - sx;
@@ -136,8 +136,8 @@ VIDEO_UPDATE( megazone )
}
drawgfx_opaque(tmpbitmap,0,screen->machine->gfx[1],
- ((int)videoram[offs]) + ((colorram[offs] & (1<<7) ? 256 : 0) ),
- (colorram[offs] & 0x0f) + 0x10,
+ ((int)screen->machine->generic.videoram.u8[offs]) + ((screen->machine->generic.colorram.u8[offs] & (1<<7) ? 256 : 0) ),
+ (screen->machine->generic.colorram.u8[offs] & 0x0f) + 0x10,
flipx,flipy,
8*sx,8*sy);
}
@@ -165,7 +165,8 @@ VIDEO_UPDATE( megazone )
/* Draw the sprites. */
{
- for (offs = spriteram_size-4; offs >= 0;offs -= 4)
+ UINT8 *spriteram = screen->machine->generic.spriteram.u8;
+ for (offs = screen->machine->generic.spriteram_size-4; offs >= 0;offs -= 4)
{
int sx = spriteram[offs + 3];
int sy = 255-((spriteram[offs + 1]+16)&0xff);
diff --git a/src/mame/video/mermaid.c b/src/mame/video/mermaid.c
index ddaef91e653..9831d47864c 100644
--- a/src/mame/video/mermaid.c
+++ b/src/mame/video/mermaid.c
@@ -62,13 +62,13 @@ WRITE8_HANDLER( mermaid_videoram2_w )
WRITE8_HANDLER( mermaid_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
WRITE8_HANDLER( mermaid_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
@@ -143,8 +143,8 @@ static TILE_GET_INFO( get_bg_tile_info )
static TILE_GET_INFO( get_fg_tile_info )
{
- int attr = colorram[tile_index];
- int code = videoram[tile_index] + ((attr & 0x30) << 4);
+ int attr = machine->generic.colorram.u8[tile_index];
+ int code = machine->generic.videoram.u8[tile_index] + ((attr & 0x30) << 4);
int color = attr & 0x0f;
int flags = TILE_FLIPYX((attr & 0xc0) >> 6);
@@ -169,9 +169,10 @@ VIDEO_START( mermaid )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = spriteram_size - 4; offs >= 0; offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4; offs >= 0; offs -= 4)
{
int attr = spriteram[offs + 2];
int bank = (attr & 0x30) >> 4;
@@ -236,6 +237,7 @@ static UINT8 collision_check(colortable_t *colortable, rectangle* rect)
VIDEO_EOF( mermaid )
{
const rectangle *visarea = video_screen_get_visible_area(machine->primary_screen);
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs,offs2;
@@ -247,7 +249,7 @@ VIDEO_EOF( mermaid )
// check for bit 0 (sprite-sprite), 1 (sprite-foreground), 2 (sprite-background)
- for (offs = spriteram_size - 4; offs >= 0; offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4; offs >= 0; offs -= 4)
{
int attr = spriteram[offs + 2];
int bank = (attr & 0x30) >> 4;
@@ -318,7 +320,7 @@ VIDEO_EOF( mermaid )
bitmap_fill(helper,&rect,0);
bitmap_fill(helper2,&rect,0);
- for (offs2 = spriteram_size - 4; offs2 >= 0; offs2 -= 4)
+ for (offs2 = machine->generic.spriteram_size - 4; offs2 >= 0; offs2 -= 4)
if (offs != offs2)
{
int attr2 = spriteram[offs2 + 2];
@@ -357,7 +359,7 @@ VIDEO_EOF( mermaid )
// check for bit 3 (sprite-sprite)
- for (offs = spriteram_size - 4; offs >= 0; offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4; offs >= 0; offs -= 4)
{
int attr = spriteram[offs + 2];
int bank = (attr & 0x30) >> 4;
@@ -406,7 +408,7 @@ VIDEO_EOF( mermaid )
bitmap_fill(helper,&rect,0);
bitmap_fill(helper2,&rect,0);
- for (offs2 = spriteram_size - 4; offs2 >= 0; offs2 -= 4)
+ for (offs2 = machine->generic.spriteram_size - 4; offs2 >= 0; offs2 -= 4)
if (offs != offs2)
{
int attr2 = spriteram[offs2 + 2];
@@ -445,7 +447,7 @@ VIDEO_EOF( mermaid )
// check for bit 6
- for (offs = spriteram_size - 4; offs >= 0; offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4; offs >= 0; offs -= 4)
{
int attr = spriteram[offs + 2];
int bank = (attr & 0x30) >> 4;
@@ -494,7 +496,7 @@ VIDEO_EOF( mermaid )
bitmap_fill(helper,&rect,0);
bitmap_fill(helper2,&rect,0);
- for (offs2 = spriteram_size - 4; offs2 >= 0; offs2 -= 4)
+ for (offs2 = machine->generic.spriteram_size - 4; offs2 >= 0; offs2 -= 4)
if (offs != offs2)
{
int attr2 = spriteram[offs2 + 2];
diff --git a/src/mame/video/metlclsh.c b/src/mame/video/metlclsh.c
index e0e9a4e32bd..0257f7f1677 100644
--- a/src/mame/video/metlclsh.c
+++ b/src/mame/video/metlclsh.c
@@ -174,10 +174,11 @@ VIDEO_START( metlclsh )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
gfx_element *gfx = machine->gfx[0];
int offs;
- for (offs = 0;offs < spriteram_size; offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram_size; offs += 4)
{
int attr,code,color,sx,sy,flipx,flipy,wrapy,sizey;
diff --git a/src/mame/video/metro.c b/src/mame/video/metro.c
index 3bc7f26268b..f7a39e4db1f 100644
--- a/src/mame/video/metro.c
+++ b/src/mame/video/metro.c
@@ -128,7 +128,7 @@ static TILEMAP_MAPPER( tilemap_scan_gstrik2 )
#ifdef UNUSED_FUNCTION
WRITE16_HANDLER( metro_paletteram_w )
{
- data = COMBINE_DATA(&paletteram16[offset]);
+ data = COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
palette_set_color_rgb(space->machine,offset,pal5bit(data >> 6),pal5bit(data >> 11),pal5bit(data >> 1));
}
#endif
@@ -605,7 +605,7 @@ void metro_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectan
int max_x = video_screen_get_width(machine->primary_screen);
int max_y = video_screen_get_height(machine->primary_screen);
- int max_sprites = spriteram_size / 8;
+ int max_sprites = machine->generic.spriteram_size / 8;
int sprites = metro_videoregs[0x00/2] % max_sprites;
int color_start = ((metro_videoregs[0x08/2] & 0xf) << 4 ) + 0x100;
@@ -625,10 +625,10 @@ void metro_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectan
if (!(metro_videoregs[0x02/2] & 0x8000))
{
- src = spriteram16 + (sprites - 1) * (8/2);
+ src = machine->generic.spriteram.u16 + (sprites - 1) * (8/2);
inc = -(8/2);
} else {
- src = spriteram16;
+ src = machine->generic.spriteram.u16;
inc = (8/2);
}
diff --git a/src/mame/video/midtunit.c b/src/mame/video/midtunit.c
index e7f2dcadc06..60cd9a5d623 100644
--- a/src/mame/video/midtunit.c
+++ b/src/mame/video/midtunit.c
@@ -295,8 +295,8 @@ WRITE16_HANDLER( midtunit_paletteram_w )
{
//int newword;
- COMBINE_DATA(&paletteram16[offset]);
- //newword = paletteram16[offset];
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
+ //newword = space->machine->generic.paletteram.u16[offset];
palette_set_color_rgb(space->machine, offset, pal5bit(data >> 10), pal5bit(data >> 5), pal5bit(data >> 0));
}
@@ -310,7 +310,7 @@ WRITE16_HANDLER( midxunit_paletteram_w )
READ16_HANDLER( midxunit_paletteram_r )
{
- return paletteram16[offset / 2];
+ return space->machine->generic.paletteram.u16[offset / 2];
}
diff --git a/src/mame/video/midvunit.c b/src/mame/video/midvunit.c
index 9e3e7c6fd8d..b3743fceebd 100644
--- a/src/mame/video/midvunit.c
+++ b/src/mame/video/midvunit.c
@@ -509,8 +509,8 @@ WRITE32_HANDLER( midvunit_paletteram_w )
{
int newword;
- COMBINE_DATA(&paletteram32[offset]);
- newword = paletteram32[offset];
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
+ newword = space->machine->generic.paletteram.u32[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 837d4be7ef8..1ef18bea95d 100644
--- a/src/mame/video/midyunit.c
+++ b/src/mame/video/midyunit.c
@@ -260,8 +260,8 @@ WRITE16_HANDLER( midyunit_paletteram_w )
{
int newword;
- COMBINE_DATA(&paletteram16[offset]);
- newword = paletteram16[offset];
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
+ newword = space->machine->generic.paletteram.u16[offset];
palette_set_color_rgb(space->machine, offset & palette_mask, pal5bit(newword >> 10), pal5bit(newword >> 5), pal5bit(newword >> 0));
}
diff --git a/src/mame/video/mikie.c b/src/mame/video/mikie.c
index c66b1fb57e0..ddbc461c714 100644
--- a/src/mame/video/mikie.c
+++ b/src/mame/video/mikie.c
@@ -92,13 +92,13 @@ PALETTE_INIT( mikie )
WRITE8_HANDLER( mikie_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( mikie_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -122,9 +122,9 @@ WRITE8_HANDLER( mikie_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = videoram[tile_index] + ((colorram[tile_index] & 0x20) << 3);
- int color = (colorram[tile_index] & 0x0f) + 16 * palettebank;
- int flags = ((colorram[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((colorram[tile_index] & 0x80) ? TILE_FLIPY : 0);
+ int code = machine->generic.videoram.u8[tile_index] + ((machine->generic.colorram.u8[tile_index] & 0x20) << 3);
+ int color = (machine->generic.colorram.u8[tile_index] & 0x0f) + 16 * palettebank;
+ int flags = ((machine->generic.colorram.u8[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((machine->generic.colorram.u8[tile_index] & 0x80) ? TILE_FLIPY : 0);
SET_TILE_INFO(0, code, color, flags);
}
@@ -137,9 +137,10 @@ VIDEO_START( mikie )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = 0;offs < spriteram_size;offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram_size;offs += 4)
{
int gfxbank = (spriteram[offs+2] & 0x40) ? 2 : 1;
int code = (spriteram[offs + 2] & 0x3f) + ((spriteram[offs + 2] & 0x80) >> 1) + ((spriteram[offs] & 0x40) << 1);
diff --git a/src/mame/video/mitchell.c b/src/mame/video/mitchell.c
index 2ec16a970f5..4881200ade2 100644
--- a/src/mame/video/mitchell.c
+++ b/src/mame/video/mitchell.c
@@ -49,7 +49,7 @@ static TILE_GET_INFO( get_tile_info )
VIDEO_START( pang )
{
pang_objram=NULL;
- paletteram=NULL;
+ machine->generic.paletteram.u8=NULL;
bg_tilemap = tilemap_create(machine, get_tile_info,tilemap_scan_rows,8,8,64,32);
@@ -64,7 +64,7 @@ VIDEO_START( pang )
/*
Palette RAM
*/
- paletteram = auto_alloc_array_clear(machine, UINT8, 2*machine->config->total_colors);
+ machine->generic.paletteram.u8 = auto_alloc_array_clear(machine, UINT8, 2*machine->config->total_colors);
}
@@ -230,8 +230,8 @@ WRITE8_HANDLER( pang_paletteram_w )
READ8_HANDLER( pang_paletteram_r )
{
- if (paletteram_bank) return paletteram[offset + 0x800];
- return paletteram[offset];
+ if (paletteram_bank) return space->machine->generic.paletteram.u8[offset + 0x800];
+ return space->machine->generic.paletteram.u8[offset];
}
WRITE8_HANDLER( mgakuen_paletteram_w )
@@ -241,7 +241,7 @@ WRITE8_HANDLER( mgakuen_paletteram_w )
READ8_HANDLER( mgakuen_paletteram_r )
{
- return paletteram[offset];
+ return space->machine->generic.paletteram.u8[offset];
}
diff --git a/src/mame/video/mjkjidai.c b/src/mame/video/mjkjidai.c
index 7ebc4930b5e..a81b74f0277 100644
--- a/src/mame/video/mjkjidai.c
+++ b/src/mame/video/mjkjidai.c
@@ -89,6 +89,9 @@ WRITE8_HANDLER( mjkjidai_ctrl_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
+ UINT8 *spriteram_2 = machine->generic.spriteram2.u8;
+ UINT8 *spriteram_3 = machine->generic.spriteram3.u8;
int offs;
for (offs = 0x20-2;offs >= 0;offs -= 2)
diff --git a/src/mame/video/model1.c b/src/mame/video/model1.c
index 421761b3f21..30b68d79949 100644
--- a/src/mame/video/model1.c
+++ b/src/mame/video/model1.c
@@ -18,6 +18,7 @@ enum { FRAC_SHIFT = 16 };
static int render_done;
static UINT16 *tgp_ram;
static float trans_mat[12];
+static UINT16 *paletteram16;
static float vxx, vyy, vzz, ayy, ayyc, ayys;
@@ -1436,6 +1437,8 @@ static void tgp_scan(void)
VIDEO_START(model1)
{
+ paletteram16 = machine->generic.paletteram.u16;
+
vxx=vyy=vzz=0;
ayy = 0;
diff --git a/src/mame/video/model2rd.c b/src/mame/video/model2rd.c
index 5d25f1277d2..bf65bbcf517 100644
--- a/src/mame/video/model2rd.c
+++ b/src/mame/video/model2rd.c
@@ -66,7 +66,7 @@ static void MODEL2_FUNC_NAME(void *dest, INT32 scanline, const poly_extent *exte
const UINT16 *colortable_g = (const UINT16 *)&model2_colorxlat[0x4000/4];
const UINT16 *colortable_b = (const UINT16 *)&model2_colorxlat[0x8000/4];
const UINT16 *lumaram = (const UINT16 *)model2_lumaram;
- const UINT16 *palram = (const UINT16 *)paletteram32;
+ const UINT16 *palram = (const UINT16 *)model2_paletteram32;
UINT32 lumabase = extra->lumabase;
UINT32 color = extra->colorbase;
UINT8 luma;
@@ -121,7 +121,7 @@ static void MODEL2_FUNC_NAME(void *dest, INT32 scanline, const poly_extent *exte
const UINT16 *colortable_g = (const UINT16 *)&model2_colorxlat[0x4000/4];
const UINT16 *colortable_b = (const UINT16 *)&model2_colorxlat[0x8000/4];
const UINT16 *lumaram = (const UINT16 *)model2_lumaram;
- const UINT16 *palram = (const UINT16 *)paletteram32;
+ const UINT16 *palram = (const UINT16 *)model2_paletteram32;
UINT32 colorbase = extra->colorbase;
UINT32 lumabase = extra->lumabase;
UINT32 tex_x = extra->texx;
diff --git a/src/mame/video/momoko.c b/src/mame/video/momoko.c
index 0b5b07b155f..ec2d80576d6 100644
--- a/src/mame/video/momoko.c
+++ b/src/mame/video/momoko.c
@@ -104,6 +104,7 @@ static void momoko_draw_bg_pri(running_machine *machine, bitmap_t *bitmap, int c
VIDEO_UPDATE( momoko )
{
int x, y, dx, dy, rx, ry, radr, chr, sy, fx, fy, px, py, offs, col, pri, flip ;
+ UINT8 *spriteram = screen->machine->generic.spriteram.u8;
UINT8 *BG_MAP = memory_region( screen->machine, "user1" );
UINT8 *BG_COL_MAP = memory_region( screen->machine, "user2" );
@@ -220,7 +221,7 @@ VIDEO_UPDATE( momoko )
/* draw sprites (others) */
- for (offs=9*4; offs<spriteram_size; offs +=4)
+ for (offs=9*4; offs<screen->machine->generic.spriteram_size; offs +=4)
{
chr = spriteram[offs+1] | ((spriteram[offs+2]&0x60)<<3);
chr = ((chr & 0x380) << 1) | (chr & 0x7f);
@@ -274,7 +275,7 @@ VIDEO_UPDATE( momoko )
py = 255-y;
}
drawgfx_transpen(bitmap,cliprect,screen->machine->gfx[0],
- videoram[(sy>>3)*32+x]*8+dy,
+ screen->machine->generic.videoram.u8[(sy>>3)*32+x]*8+dy,
col,
flip,0,
px,py,0);
diff --git a/src/mame/video/mouser.c b/src/mame/video/mouser.c
index 49a674a6ed2..1bb98004c90 100644
--- a/src/mame/video/mouser.c
+++ b/src/mame/video/mouser.c
@@ -55,12 +55,13 @@ WRITE8_HANDLER( mouser_flip_screen_y_w )
VIDEO_UPDATE( mouser )
{
+ UINT8 *spriteram = screen->machine->generic.spriteram.u8;
int offs;
int sx,sy;
int flipx,flipy;
/* for every character in the Video RAM */
- for (offs = videoram_size - 1;offs >= 0;offs--)
+ for (offs = screen->machine->generic.videoram_size - 1;offs >= 0;offs--)
{
int scrolled_y_position;
int color_offs;
@@ -88,8 +89,8 @@ VIDEO_UPDATE( mouser )
color_offs = offs%32 + ((256 + 8*(offs/32) - spriteram[offs%32])%256)/8*32;
drawgfx_opaque(bitmap,cliprect,screen->machine->gfx[0],
- videoram[offs] | (colorram[color_offs]>>5)*256 | ((colorram[color_offs]>>4)&1)*512,
- colorram[color_offs]%16,
+ screen->machine->generic.videoram.u8[offs] | (screen->machine->generic.colorram.u8[color_offs]>>5)*256 | ((screen->machine->generic.colorram.u8[color_offs]>>4)&1)*512,
+ screen->machine->generic.colorram.u8[color_offs]%16,
flip_screen_x_get(screen->machine),flip_screen_y_get(screen->machine),
8*sx,scrolled_y_position);
}
diff --git a/src/mame/video/mrdo.c b/src/mame/video/mrdo.c
index 45a3bad24e3..698834a4c58 100644
--- a/src/mame/video/mrdo.c
+++ b/src/mame/video/mrdo.c
@@ -234,10 +234,11 @@ WRITE8_HANDLER( mrdo_flipscreen_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = spriteram_size - 4;offs >= 0;offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4;offs >= 0;offs -= 4)
{
if (spriteram[offs + 1] != 0)
{
diff --git a/src/mame/video/mrflea.c b/src/mame/video/mrflea.c
index 381465b0ec2..888063bf284 100644
--- a/src/mame/video/mrflea.c
+++ b/src/mame/video/mrflea.c
@@ -19,8 +19,8 @@ WRITE8_HANDLER( mrflea_gfx_bank_w ){
WRITE8_HANDLER( mrflea_videoram_w ){
int bank = offset/0x400;
offset &= 0x3ff;
- videoram[offset] = data;
- videoram[offset+0x400] = bank;
+ space->machine->generic.videoram.u8[offset] = data;
+ space->machine->generic.videoram.u8[offset+0x400] = bank;
/* the address range that tile data is written to sets one bit of
** the bank select. The remaining bits are from a video register.
*/
@@ -28,16 +28,16 @@ WRITE8_HANDLER( mrflea_videoram_w ){
WRITE8_HANDLER( mrflea_spriteram_w ){
if( offset&2 ){ /* tile_number */
- spriteram[offset|1] = offset&1;
+ space->machine->generic.spriteram.u8[offset|1] = offset&1;
offset &= ~1;
}
- spriteram[offset] = data;
+ space->machine->generic.spriteram.u8[offset] = data;
}
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
const gfx_element *gfx = machine->gfx[0];
- const UINT8 *source = spriteram;
+ const UINT8 *source = machine->generic.spriteram.u8;
const UINT8 *finish = source+0x100;
rectangle clip = *video_screen_get_visible_area(machine->primary_screen);
clip.max_x -= 24;
@@ -63,7 +63,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
static void draw_background(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
- const UINT8 *source = videoram;
+ const UINT8 *source = machine->generic.videoram.u8;
const gfx_element *gfx = machine->gfx[1];
int sx,sy;
int base = 0;
diff --git a/src/mame/video/mrjong.c b/src/mame/video/mrjong.c
index 36d6179b8a8..64bf57cf084 100644
--- a/src/mame/video/mrjong.c
+++ b/src/mame/video/mrjong.c
@@ -68,13 +68,13 @@ PALETTE_INIT( mrjong )
***************************************************************************/
WRITE8_HANDLER( mrjong_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( mrjong_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -89,9 +89,9 @@ WRITE8_HANDLER( mrjong_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = videoram[tile_index] | ((colorram[tile_index] & 0x20) << 3);
- int color = colorram[tile_index] & 0x1f;
- int flags = ((colorram[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((colorram[tile_index] & 0x80) ? TILE_FLIPY : 0);
+ int code = machine->generic.videoram.u8[tile_index] | ((machine->generic.colorram.u8[tile_index] & 0x20) << 3);
+ int color = machine->generic.colorram.u8[tile_index] & 0x1f;
+ int flags = ((machine->generic.colorram.u8[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((machine->generic.colorram.u8[tile_index] & 0x80) ? TILE_FLIPY : 0);
SET_TILE_INFO(0, code, color, flags);
}
@@ -115,13 +115,13 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
int sx, sy;
int flipx, flipy;
- sprt = (((videoram[offs + 1] >> 2) & 0x3f) | ((videoram[offs + 3] & 0x20) << 1));
- flipx = (videoram[offs + 1] & 0x01) >> 0;
- flipy = (videoram[offs + 1] & 0x02) >> 1;
- color = (videoram[offs + 3] & 0x1f);
+ sprt = (((machine->generic.videoram.u8[offs + 1] >> 2) & 0x3f) | ((machine->generic.videoram.u8[offs + 3] & 0x20) << 1));
+ flipx = (machine->generic.videoram.u8[offs + 1] & 0x01) >> 0;
+ flipy = (machine->generic.videoram.u8[offs + 1] & 0x02) >> 1;
+ color = (machine->generic.videoram.u8[offs + 3] & 0x1f);
- sx = 224 - videoram[offs + 2];
- sy = videoram[offs + 0];
+ sx = 224 - machine->generic.videoram.u8[offs + 2];
+ sy = machine->generic.videoram.u8[offs + 0];
if (flip_screen_get(machine))
{
sx = 208 - sx;
diff --git a/src/mame/video/msisaac.c b/src/mame/video/msisaac.c
index 4faeeb72f57..acf8ba08979 100644
--- a/src/mame/video/msisaac.c
+++ b/src/mame/video/msisaac.c
@@ -24,7 +24,7 @@ static tilemap *background, *background2, *foreground;
static TILE_GET_INFO( get_fg_tile_info )
{
- int tile_number = videoram[tile_index];
+ int tile_number = machine->generic.videoram.u8[tile_index];
SET_TILE_INFO( 0,
tile_number,
0x10,
@@ -147,7 +147,7 @@ WRITE8_HANDLER( msisaac_bg2_videoram_w )
WRITE8_HANDLER( msisaac_fg_videoram_w )
{
- videoram[offset]=data;
+ space->machine->generic.videoram.u8[offset]=data;
tilemap_mark_tile_dirty(foreground,offset);
}
@@ -159,8 +159,8 @@ WRITE8_HANDLER( msisaac_fg_videoram_w )
***************************************************************************/
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
- const UINT8 *source = spriteram+32*4-4;
- const UINT8 *finish = spriteram; /* ? */
+ const UINT8 *source = machine->generic.spriteram.u8+32*4-4;
+ const UINT8 *finish = machine->generic.spriteram.u8; /* ? */
while( source>=finish )
{
diff --git a/src/mame/video/munchmo.c b/src/mame/video/munchmo.c
index 4cb9321d6da..f5748663178 100644
--- a/src/mame/video/munchmo.c
+++ b/src/mame/video/munchmo.c
@@ -93,7 +93,7 @@ static void draw_background(running_machine *machine, bitmap_t *bitmap, const re
{
int sy = (offs%16)*32;
int sx = (offs/16)*32;
- int tile_number = videoram[offs];
+ int tile_number = machine->generic.videoram.u8[offs];
int row,col;
for( row=0; row<4; row++ )
diff --git a/src/mame/video/mustache.c b/src/mame/video/mustache.c
index 3523fd8fe4e..f5b03490f78 100644
--- a/src/mame/video/mustache.c
+++ b/src/mame/video/mustache.c
@@ -46,7 +46,7 @@ PALETTE_INIT(mustache)
WRITE8_HANDLER( mustache_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset / 2);
}
@@ -77,8 +77,8 @@ WRITE8_HANDLER( mustache_scroll_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int attr = videoram[2 * tile_index + 1];
- int code = videoram[2 * tile_index] + ((attr & 0x60) << 3) + ((control_byte & 0x08) << 7);
+ int attr = machine->generic.videoram.u8[2 * tile_index + 1];
+ int code = machine->generic.videoram.u8[2 * tile_index] + ((attr & 0x60) << 3) + ((control_byte & 0x08) << 7);
int color = attr & 0x0f;
SET_TILE_INFO(0, code, color, ((attr & 0x10) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0) );
@@ -99,9 +99,10 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
rectangle clip = *cliprect;
const gfx_element *gfx = machine->gfx[1];
const rectangle *visarea = video_screen_get_visible_area(machine->primary_screen);
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = 0;offs < spriteram_size;offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram_size;offs += 4)
{
int sy = 240-spriteram[offs];
int sx = 240-spriteram[offs+3];
diff --git a/src/mame/video/namcofl.c b/src/mame/video/namcofl.c
index b3ba936bfb6..2b4b9f9245b 100644
--- a/src/mame/video/namcofl.c
+++ b/src/mame/video/namcofl.c
@@ -62,7 +62,7 @@ static void namcofl_install_palette(running_machine *machine)
pen = 0;
for( page=0; page<4; page++ )
{
- pSource = &paletteram32[page*0x2000/4];
+ pSource = &machine->generic.paletteram.u32[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 d1c5f7967dd..40fcdde5b45 100644
--- a/src/mame/video/namcona1.c
+++ b/src/mame/video/namcona1.c
@@ -78,10 +78,10 @@ static void tilemap_get_info(
}
} /* tilemap_get_info */
-static TILE_GET_INFO( tilemap_get_info0 ){ tilemap_get_info(machine,tileinfo,tile_index,0*0x1000+videoram16,tilemap_palette_bank[0],namcona1_vreg[0xbc/2]&1); }
-static TILE_GET_INFO( tilemap_get_info1 ){ tilemap_get_info(machine,tileinfo,tile_index,1*0x1000+videoram16,tilemap_palette_bank[1],namcona1_vreg[0xbc/2]&2); }
-static TILE_GET_INFO( tilemap_get_info2 ){ tilemap_get_info(machine,tileinfo,tile_index,2*0x1000+videoram16,tilemap_palette_bank[2],namcona1_vreg[0xbc/2]&4); }
-static TILE_GET_INFO( tilemap_get_info3 ){ tilemap_get_info(machine,tileinfo,tile_index,3*0x1000+videoram16,tilemap_palette_bank[3],namcona1_vreg[0xbc/2]&8); }
+static TILE_GET_INFO( tilemap_get_info0 ){ tilemap_get_info(machine,tileinfo,tile_index,0*0x1000+machine->generic.videoram.u16,tilemap_palette_bank[0],namcona1_vreg[0xbc/2]&1); }
+static TILE_GET_INFO( tilemap_get_info1 ){ tilemap_get_info(machine,tileinfo,tile_index,1*0x1000+machine->generic.videoram.u16,tilemap_palette_bank[1],namcona1_vreg[0xbc/2]&2); }
+static TILE_GET_INFO( tilemap_get_info2 ){ tilemap_get_info(machine,tileinfo,tile_index,2*0x1000+machine->generic.videoram.u16,tilemap_palette_bank[2],namcona1_vreg[0xbc/2]&4); }
+static TILE_GET_INFO( tilemap_get_info3 ){ tilemap_get_info(machine,tileinfo,tile_index,3*0x1000+machine->generic.videoram.u16,tilemap_palette_bank[3],namcona1_vreg[0xbc/2]&8); }
static TILE_GET_INFO( roz_get_info )
{
@@ -90,7 +90,7 @@ static TILE_GET_INFO( roz_get_info )
int use_4bpp_gfx = namcona1_vreg[0xbc/2]&16; /* ? */
int c = tile_index%0x40;
int r = tile_index/0x40;
- int data = videoram16[0x8000/2+(r/4)*0x40+c/4]&0xfbf; /* mask out bit 0x40 - patch for Emeraldia Japan */
+ int data = machine->generic.videoram.u16[0x8000/2+(r/4)*0x40+c/4]&0xfbf; /* mask out bit 0x40 - patch for Emeraldia Japan */
int tile = (data+(c%4)+(r%4)*0x40)&0xfff;
int gfx = use_4bpp_gfx;
if( use_4bpp_gfx )
@@ -129,7 +129,7 @@ static TILE_GET_INFO( roz_get_info )
WRITE16_HANDLER( namcona1_videoram_w )
{
- COMBINE_DATA( &videoram16[offset] );
+ COMBINE_DATA( &space->machine->generic.videoram.u16[offset] );
if( offset<0x8000/2 )
{
tilemap_mark_tile_dirty( bg_tilemap[offset/0x1000], offset&0xfff );
@@ -142,7 +142,7 @@ WRITE16_HANDLER( namcona1_videoram_w )
READ16_HANDLER( namcona1_videoram_r )
{
- return videoram16[offset];
+ return space->machine->generic.videoram.u16[offset];
} /* namcona1_videoram_r */
/*************************************************************************/
@@ -150,7 +150,7 @@ READ16_HANDLER( namcona1_videoram_r )
static void
UpdatePalette(running_machine *machine, int offset )
{
- UINT16 data = paletteram16[offset]; /* -RRRRRGG GGGBBBBB */
+ UINT16 data = machine->generic.paletteram.u16[offset]; /* -RRRRRGG GGGBBBBB */
/**
* sprites can be configured to use an alternate interpretation of palette ram
* (used in-game in Emeraldia)
@@ -167,12 +167,12 @@ UpdatePalette(running_machine *machine, int offset )
READ16_HANDLER( namcona1_paletteram_r )
{
- return paletteram16[offset];
+ return space->machine->generic.paletteram.u16[offset];
} /* namcona1_paletteram_r */
WRITE16_HANDLER( namcona1_paletteram_w )
{
- COMBINE_DATA( &paletteram16[offset] );
+ COMBINE_DATA( &space->machine->generic.paletteram.u16[offset] );
if( namcona1_vreg[0x8e/2] )
{ /* graphics enabled; update palette immediately */
UpdatePalette(space->machine, offset );
@@ -442,7 +442,7 @@ static void pdraw_tile(running_machine *machine,
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
int which;
- const UINT16 *source = spriteram16;
+ const UINT16 *source = machine->generic.spriteram.u16;
UINT16 sprite_control;
UINT16 ypos,tile,color,xpos;
int priority;
@@ -587,7 +587,7 @@ static void draw_background(running_machine *machine, bitmap_t *bitmap, const re
draw_pixel_line(
BITMAP_ADDR16(bitmap, line, 0),
BITMAP_ADDR8(machine->priority_bitmap, line, 0),
- videoram16 + ydata + 25,
+ machine->generic.videoram.u16 + ydata + 25,
paldata );
}
else
diff --git a/src/mame/video/namconb1.c b/src/mame/video/namconb1.c
index 71630146bff..eca84eb170a 100644
--- a/src/mame/video/namconb1.c
+++ b/src/mame/video/namconb1.c
@@ -86,7 +86,7 @@ static void namconb1_install_palette(running_machine *machine)
pen = 0;
for( page=0; page<4; page++ )
{
- pSource = &paletteram32[page*0x2000/4];
+ pSource = &machine->generic.paletteram.u32[page*0x2000/4];
for( dword_offset=0; dword_offset<0x800/4; dword_offset++ )
{
r = pSource[dword_offset+0x0000/4];
@@ -137,8 +137,8 @@ VIDEO_UPDATE( namconb1 )
/* compute window for custom screen blanking */
rectangle clip;
//004a 016a 0021 0101 0144 0020 (nebulas ray)
- UINT32 xclip = paletteram32[0x1800/4];
- UINT32 yclip = paletteram32[0x1804/4];
+ UINT32 xclip = screen->machine->generic.paletteram.u32[0x1800/4];
+ UINT32 yclip = screen->machine->generic.paletteram.u32[0x1804/4];
clip.min_x = (xclip>>16) - 0x4a;
clip.max_x = (xclip&0xffff) - 0x4a - 1;
clip.min_y = (yclip>>16) - 0x21;
@@ -176,8 +176,8 @@ VIDEO_UPDATE( namconb2 )
/* compute window for custom screen blanking */
rectangle clip;
//004a016a 00210101 01440020
- UINT32 xclip = paletteram32[0x1800/4];
- UINT32 yclip = paletteram32[0x1804/4];
+ UINT32 xclip = screen->machine->generic.paletteram.u32[0x1800/4];
+ UINT32 yclip = screen->machine->generic.paletteram.u32[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/namcos1.c b/src/mame/video/namcos1.c
index 28128ad7a3d..e94859a0ae1 100644
--- a/src/mame/video/namcos1.c
+++ b/src/mame/video/namcos1.c
@@ -145,7 +145,7 @@ VIDEO_START( namcos1 )
for (i = 0x0800;i < 0x1000;i++)
machine->shadow_table[i] = i + 0x0800;
- spriteram = &namcos1_spriteram[0x800];
+ machine->generic.spriteram.u8 = &namcos1_spriteram[0x800];
memset(namcos1_playfield_control, 0, sizeof(namcos1_playfield_control));
copy_sprites = 0;
@@ -278,12 +278,12 @@ sprite format:
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
- const UINT8 *source = &spriteram[0x0800-0x20]; /* the last is NOT a sprite */
- const UINT8 *finish = &spriteram[0];
+ const UINT8 *source = &machine->generic.spriteram.u8[0x0800-0x20]; /* the last is NOT a sprite */
+ const UINT8 *finish = &machine->generic.spriteram.u8[0];
gfx_element *gfx = machine->gfx[1];
- int sprite_xoffs = spriteram[0x07f5] + ((spriteram[0x07f4] & 1) << 8);
- int sprite_yoffs = spriteram[0x07f7];
+ int sprite_xoffs = machine->generic.spriteram.u8[0x07f5] + ((machine->generic.spriteram.u8[0x07f4] & 1) << 8);
+ int sprite_yoffs = machine->generic.spriteram.u8[0x07f7];
while (source >= finish)
{
@@ -353,7 +353,7 @@ VIDEO_UPDATE( namcos1 )
/* flip screen is embedded in the sprite control registers */
/* can't use flip_screen_set(screen->machine, ) because the visible area is asymmetrical */
- flip_screen_set_no_update(screen->machine, spriteram[0x07f6] & 1);
+ flip_screen_set_no_update(screen->machine, screen->machine->generic.spriteram.u8[0x07f6] & 1);
tilemap_set_flip_all(screen->machine,flip_screen_get(screen->machine) ? (TILEMAP_FLIPY | TILEMAP_FLIPX) : 0);
@@ -419,6 +419,7 @@ VIDEO_EOF( namcos1 )
{
if (copy_sprites)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int i,j;
for (i = 0;i < 0x800;i += 16)
diff --git a/src/mame/video/namcos21.c b/src/mame/video/namcos21.c
index cfa03edfa2c..ecc1199212f 100644
--- a/src/mame/video/namcos21.c
+++ b/src/mame/video/namcos21.c
@@ -53,14 +53,14 @@ WRITE16_HANDLER( winrun_gpu_videoram_w)
{
if( mask&(0x01<<i) )
{
- videoram[(offset+i)&0x7ffff] = color;
+ space->machine->generic.videoram.u8[(offset+i)&0x7ffff] = color;
}
}
} /* winrun_gpu_videoram_w */
READ16_HANDLER( winrun_gpu_videoram_r )
{
- return videoram[offset]<<8;
+ return space->machine->generic.videoram.u8[offset]<<8;
} /* winrun_gpu_videoram_r */
static void
@@ -129,7 +129,7 @@ VIDEO_START( namcos21 )
{
if( namcos2_gametype == NAMCOS21_WINRUN91 )
{
- videoram = auto_alloc_array(machine, UINT8, 0x80000);
+ machine->generic.videoram.u8 = auto_alloc_array(machine, UINT8, 0x80000);
}
AllocatePolyFrameBuffer(machine);
namco_obj_init(machine,
@@ -164,8 +164,8 @@ update_palette( running_machine *machine )
*/
for( i=0; i<NAMCOS21_NUM_COLORS; i++ )
{
- data1 = paletteram16[0x00000/2+i];
- data2 = paletteram16[0x10000/2+i];
+ data1 = machine->generic.paletteram.u16[0x00000/2+i];
+ data2 = machine->generic.paletteram.u16[0x10000/2+i];
r = data1>>8;
g = data1&0xff;
@@ -215,7 +215,7 @@ VIDEO_UPDATE( namcos21 )
int sx,sy;
for( sy=cliprect->min_y; sy<=cliprect->max_y; sy++ )
{
- const UINT8 *pSource = &videoram[((yscroll+sy)&0x3ff)*0x200];
+ const UINT8 *pSource = &screen->machine->generic.videoram.u8[((yscroll+sy)&0x3ff)*0x200];
UINT16 *pDest = BITMAP_ADDR16(bitmap, sy, 0);
for( sx=cliprect->min_x; sx<=cliprect->max_x; sx++ )
{
diff --git a/src/mame/video/namcos22.c b/src/mame/video/namcos22.c
index 716167673d9..37194c0ce18 100644
--- a/src/mame/video/namcos22.c
+++ b/src/mame/video/namcos22.c
@@ -913,7 +913,7 @@ static void RenderSprite(running_machine *machine, bitmap_t *bitmap, struct Scen
}
else
{
- code += nthword( &spriteram32[0x800/4], i+node->data.sprite.linkType*4 );
+ code += nthword( &machine->generic.spriteram.u32[0x800/4], i+node->data.sprite.linkType*4 );
}
poly3d_Draw3dSprite(
bitmap,
@@ -1415,6 +1415,7 @@ DrawSprites( running_machine *machine, bitmap_t *bitmap, const rectangle *clipre
0x9a0004: palette, C381 ZC (depth cueing)
...
*/
+ UINT32 *spriteram32 = machine->generic.spriteram.u32;
int num_sprites = ((spriteram32[0x04/4]>>16)&0x3ff)+1;
const UINT32 *pSource = &spriteram32[0x4000/4];
const UINT32 *pPal = &spriteram32[0x20000/4];
@@ -1484,9 +1485,9 @@ static void UpdatePaletteS(running_machine *machine) /* for Super System22 - app
for( j=0; j<4; j++ )
{
int which = i*4+j;
- int r = nthbyte(paletteram32,which+0x00000);
- int g = nthbyte(paletteram32,which+0x08000);
- int b = nthbyte(paletteram32,which+0x10000);
+ 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);
palette_set_color( machine,which,MAKE_RGB(r,g,b) );
}
dirtypal[i] = 0;
@@ -1504,9 +1505,9 @@ static void UpdatePalette(running_machine *machine) /* for System22 - ignore gam
for( j=0; j<4; j++ )
{
int which = i*4+j;
- int r = nthbyte(paletteram32,which+0x00000);
- int g = nthbyte(paletteram32,which+0x08000);
- int b = nthbyte(paletteram32,which+0x10000);
+ 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);
palette_set_color( machine,which,MAKE_RGB(r,g,b) );
}
dirtypal[i] = 0;
@@ -2190,12 +2191,12 @@ WRITE32_HANDLER( namcos22_gamma_w )
READ32_HANDLER( namcos22_paletteram_r )
{
- return paletteram32[offset];
+ return space->machine->generic.paletteram.u32[offset];
}
WRITE32_HANDLER( namcos22_paletteram_w )
{
- COMBINE_DATA( &paletteram32[offset] );
+ COMBINE_DATA( &space->machine->generic.paletteram.u32[offset] );
dirtypal[offset&(0x7fff/4)] = 1;
}
diff --git a/src/mame/video/namcos86.c b/src/mame/video/namcos86.c
index 66dac2da82b..27e1e6fd6f0 100644
--- a/src/mame/video/namcos86.c
+++ b/src/mame/video/namcos86.c
@@ -136,7 +136,7 @@ VIDEO_START( namcos86 )
tilemap_set_transparent_pen(bg_tilemap[2],7);
tilemap_set_transparent_pen(bg_tilemap[3],7);
- spriteram = rthunder_spriteram + 0x1800;
+ machine->generic.spriteram.u8 = rthunder_spriteram + 0x1800;
}
@@ -264,12 +264,12 @@ sprite format:
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
- const UINT8 *source = &spriteram[0x0800-0x20]; /* the last is NOT a sprite */
- const UINT8 *finish = &spriteram[0];
+ const UINT8 *source = &machine->generic.spriteram.u8[0x0800-0x20]; /* the last is NOT a sprite */
+ const UINT8 *finish = &machine->generic.spriteram.u8[0];
gfx_element *gfx = machine->gfx[2];
- int sprite_xoffs = spriteram[0x07f5] + ((spriteram[0x07f4] & 1) << 8);
- int sprite_yoffs = spriteram[0x07f7];
+ int sprite_xoffs = machine->generic.spriteram.u8[0x07f5] + ((machine->generic.spriteram.u8[0x07f4] & 1) << 8);
+ int sprite_yoffs = machine->generic.spriteram.u8[0x07f7];
int bank_sprites = machine->gfx[2]->total_elements / 8;
@@ -346,7 +346,7 @@ VIDEO_UPDATE( namcos86 )
/* flip screen is embedded in the sprite control registers */
/* can't use flip_screen_set(screen->machine, ) because the visible area is asymmetrical */
- flip_screen_set_no_update(screen->machine, spriteram[0x07f6] & 1);
+ flip_screen_set_no_update(screen->machine, screen->machine->generic.spriteram.u8[0x07f6] & 1);
tilemap_set_flip_all(screen->machine,flip_screen_get(screen->machine) ? (TILEMAP_FLIPY | TILEMAP_FLIPX) : 0);
set_scroll(screen->machine, 0);
set_scroll(screen->machine, 1);
@@ -377,6 +377,7 @@ VIDEO_EOF( namcos86 )
{
if (copy_sprites)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int i,j;
for (i = 0;i < 0x800;i += 16)
diff --git a/src/mame/video/naughtyb.c b/src/mame/video/naughtyb.c
index 1bf90b51e65..558b682c99c 100644
--- a/src/mame/video/naughtyb.c
+++ b/src/mame/video/naughtyb.c
@@ -192,7 +192,7 @@ VIDEO_UPDATE( naughtyb )
// for every character in the Video RAM
- for (offs = videoram_size - 1;offs >= 0;offs--)
+ for (offs = screen->machine->generic.videoram_size - 1;offs >= 0;offs--)
{
int sx,sy;
@@ -230,8 +230,8 @@ VIDEO_UPDATE( naughtyb )
8*sx,8*sy);
drawgfx_transpen(tmpbitmap,0,screen->machine->gfx[1],
- videoram[offs] + 256*bankreg,
- (videoram[offs] >> 5) + 8 * palreg,
+ screen->machine->generic.videoram.u8[offs] + 256*bankreg,
+ (screen->machine->generic.videoram.u8[offs] >> 5) + 8 * palreg,
naughtyb_cocktail,naughtyb_cocktail,
8*sx,8*sy,0);
}
diff --git a/src/mame/video/nbmj8991.c b/src/mame/video/nbmj8991.c
index e180d8e5fe1..3ad1d866daa 100644
--- a/src/mame/video/nbmj8991.c
+++ b/src/mame/video/nbmj8991.c
@@ -41,15 +41,15 @@ WRITE8_HANDLER( nbmj8991_palette_type1_w )
{
int r, g, b;
- paletteram[offset] = data;
+ space->machine->generic.paletteram.u8[offset] = data;
if (!(offset & 1)) return;
offset &= 0x1fe;
- r = ((paletteram[offset + 0] & 0x0f) >> 0);
- g = ((paletteram[offset + 1] & 0xf0) >> 4);
- b = ((paletteram[offset + 1] & 0x0f) >> 0);
+ 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);
palette_set_color_rgb(space->machine, (offset >> 1), pal4bit(r), pal4bit(g), pal4bit(b));
}
@@ -58,15 +58,15 @@ WRITE8_HANDLER( nbmj8991_palette_type2_w )
{
int r, g, b;
- paletteram[offset] = data;
+ space->machine->generic.paletteram.u8[offset] = data;
if (!(offset & 1)) return;
offset &= 0x1fe;
- r = ((paletteram[offset + 0] & 0x7c) >> 2);
- g = (((paletteram[offset + 0] & 0x03) << 3) | ((paletteram[offset + 1] & 0xe0) >> 5));
- b = ((paletteram[offset + 1] & 0x1f) >> 0);
+ 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);
palette_set_color_rgb(space->machine, (offset / 2), pal5bit(r), pal5bit(g), pal5bit(b));
}
@@ -75,15 +75,15 @@ WRITE8_HANDLER( nbmj8991_palette_type3_w )
{
int r, g, b;
- paletteram[offset] = data;
+ space->machine->generic.paletteram.u8[offset] = data;
if (!(offset & 1)) return;
offset &= 0x1fe;
- r = ((paletteram[offset + 1] & 0x0f) >> 0);
- g = ((paletteram[offset + 0] & 0xf0) >> 4);
- b = ((paletteram[offset + 0] & 0x0f) >> 0);
+ 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);
palette_set_color_rgb(space->machine, (offset >> 1), pal4bit(r), pal4bit(g), pal4bit(b));
}
diff --git a/src/mame/video/nemesis.c b/src/mame/video/nemesis.c
index ca7ac659efb..3c03eed61e1 100644
--- a/src/mame/video/nemesis.c
+++ b/src/mame/video/nemesis.c
@@ -172,8 +172,8 @@ WRITE16_HANDLER( nemesis_palette_word_w )
{
int r,g,b,bit1,bit2,bit3,bit4,bit5;
- COMBINE_DATA(paletteram16 + offset);
- data = paletteram16[offset];
+ COMBINE_DATA(space->machine->generic.paletteram.u16 + offset);
+ data = space->machine->generic.paletteram.u16[offset];
/* Mish, 30/11/99 - Schematics show the resistor values are:
300 Ohms
@@ -214,10 +214,10 @@ WRITE16_HANDLER( nemesis_palette_word_w )
WRITE16_HANDLER( salamander_palette_word_w )
{
- COMBINE_DATA(paletteram16 + offset);
+ COMBINE_DATA(space->machine->generic.paletteram.u16 + offset);
offset &= ~1;
- data = ((paletteram16[offset] << 8) & 0xff00) | (paletteram16[offset+1] & 0xff);
+ data = ((space->machine->generic.paletteram.u16[offset] << 8) & 0xff00) | (space->machine->generic.paletteram.u16[offset+1] & 0xff);
palette_set_color_rgb(space->machine,offset / 2,pal5bit(data >> 0),pal5bit(data >> 5),pal5bit(data >> 10));
}
@@ -288,7 +288,7 @@ static STATE_POSTLOAD( nemesis_postload )
/* claim a palette dirty array */
VIDEO_START( nemesis )
{
- spriteram_words = spriteram_size / 2;
+ spriteram_words = machine->generic.spriteram_size / 2;
background = tilemap_create(machine,
get_bg_tile_info, tilemap_scan_rows, 8,8, 64,32 );
@@ -342,6 +342,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
* byte E : not used.
*/
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int adress; /* start of sprite in spriteram */
int sx; /* sprite X-pos */
int sy; /* sprite Y-pos */
diff --git a/src/mame/video/ninjakd2.c b/src/mame/video/ninjakd2.c
index f16019b0a7d..a35626d35d0 100644
--- a/src/mame/video/ninjakd2.c
+++ b/src/mame/video/ninjakd2.c
@@ -92,8 +92,8 @@ static TILEMAP_MAPPER( omegaf_bg_scan )
static void robokid_get_bg_tile_info(running_machine* machine, tile_data* const tileinfo, tilemap_memory_index const tile_index, int const gfxnum, const UINT8* const videoram)
{
- int const lo = videoram[(tile_index << 1)];
- int const hi = videoram[(tile_index << 1) | 1];
+ int const lo = machine->generic.videoram.u8[(tile_index << 1)];
+ int const hi = machine->generic.videoram.u8[(tile_index << 1) | 1];
int const tile = ((hi & 0x10) << 7) | ((hi & 0x20) << 5) | ((hi & 0xc0) << 2) | lo;
int const color = hi & 0x0f;
@@ -361,7 +361,7 @@ static void draw_sprites(running_machine* machine, bitmap_t* bitmap)
int const big_xshift = robokid_sprites ? 1 : 0;
int const big_yshift = robokid_sprites ? 0 : 1;
- UINT8* sprptr = &spriteram[11];
+ UINT8* sprptr = &machine->generic.spriteram.u8[11];
int sprites_drawn = 0;
// the sprite generator draws exactly 96 16x16 sprites per frame. When big
diff --git a/src/mame/video/ninjaw.c b/src/mame/video/ninjaw.c
index 64991830524..7dbf3b4f601 100644
--- a/src/mame/video/ninjaw.c
+++ b/src/mame/video/ninjaw.c
@@ -59,6 +59,7 @@ VIDEO_START( ninjaw )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect,int primask,int x_offs,int y_offs)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs, data, tilenum, color, flipx, flipy;
int x, y, priority, curx, cury;
int code;
@@ -71,7 +72,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan
while processing sprite ram and then draw them all at the end */
struct tempsprite *sprite_ptr = spritelist;
- for (offs = (spriteram_size/2)-4;offs >=0;offs -= 4)
+ for (offs = (machine->generic.spriteram_size/2)-4;offs >=0;offs -= 4)
{
data = spriteram16[offs+2];
tilenum = data & 0x7fff;
diff --git a/src/mame/video/nitedrvr.c b/src/mame/video/nitedrvr.c
index 644142b1bf1..04b051a15e8 100644
--- a/src/mame/video/nitedrvr.c
+++ b/src/mame/video/nitedrvr.c
@@ -13,7 +13,7 @@ static tilemap *bg_tilemap;
WRITE8_HANDLER( nitedrvr_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -27,7 +27,7 @@ WRITE8_HANDLER( nitedrvr_hvc_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = videoram[tile_index] & 0x3f;
+ int code = machine->generic.videoram.u8[tile_index] & 0x3f;
SET_TILE_INFO(0, code, 0, 0);
}
diff --git a/src/mame/video/nova2001.c b/src/mame/video/nova2001.c
index e9c3a8a4283..f783ab393e5 100644
--- a/src/mame/video/nova2001.c
+++ b/src/mame/video/nova2001.c
@@ -259,6 +259,7 @@ WRITE8_HANDLER( pkunwar_flipscreen_w )
static void nova2001_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
const gfx_element *gfx = machine->gfx[0];
int offs;
@@ -295,6 +296,7 @@ static void nova2001_draw_sprites(running_machine *machine, bitmap_t *bitmap, co
static void pkunwar_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
const gfx_element *gfx = machine->gfx[0];
int offs;
diff --git a/src/mame/video/nycaptor.c b/src/mame/video/nycaptor.c
index 938905276cd..d9fa86e653b 100644
--- a/src/mame/video/nycaptor.c
+++ b/src/mame/video/nycaptor.c
@@ -47,8 +47,8 @@ READ8_HANDLER(nycaptor_spriteram_r)
static TILE_GET_INFO( get_tile_info )
{
int pal;
- tileinfo->category = (videoram[tile_index*2 + 1] & 0x30)>>4;
- pal=videoram[tile_index*2+1]&0x0f;
+ tileinfo->category = (machine->generic.videoram.u8[tile_index*2 + 1] & 0x30)>>4;
+ pal=machine->generic.videoram.u8[tile_index*2+1]&0x0f;
tileinfo->group=0;
if((!nycaptor_spot())&&(pal==6))tileinfo->group=1;
if(((nycaptor_spot()==3)&&(pal==8))||((nycaptor_spot()==1)&&(pal==0xc)))tileinfo->group=2;
@@ -62,7 +62,7 @@ static TILE_GET_INFO( get_tile_info )
SET_TILE_INFO(
0,
- videoram[tile_index*2] + ((videoram[tile_index*2+1] & 0xc0) << 2) +0x400 * char_bank,
+ machine->generic.videoram.u8[tile_index*2] + ((machine->generic.videoram.u8[tile_index*2+1] & 0xc0) << 2) +0x400 * char_bank,
pal,0
);
}
@@ -78,20 +78,20 @@ VIDEO_START( nycaptor )
tilemap_set_transmask(bg_tilemap,2,0xfffc,0x0003);//split 2
tilemap_set_transmask(bg_tilemap,3,0xfff0,0x000f);//split 3
- paletteram = auto_alloc_array(machine, UINT8, 0x200);
- paletteram_2 = auto_alloc_array(machine, UINT8, 0x200);
+ machine->generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x200);
+ machine->generic.paletteram2.u8 = auto_alloc_array(machine, UINT8, 0x200);
tilemap_set_scroll_cols(bg_tilemap,32);
}
WRITE8_HANDLER( nycaptor_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap,offset>>1);
}
READ8_HANDLER( nycaptor_videoram_r )
{
- return videoram[offset];
+ return space->machine->generic.videoram.u8[offset];
}
WRITE8_HANDLER( nycaptor_palette_w )
@@ -108,9 +108,9 @@ WRITE8_HANDLER( nycaptor_palette_w )
READ8_HANDLER( nycaptor_palette_r )
{
if (offset & 0x100)
- return paletteram_2[ (offset & 0xff) + (palette_bank << 8) ];
+ return space->machine->generic.paletteram2.u8[ (offset & 0xff) + (palette_bank << 8) ];
else
- return paletteram [ (offset & 0xff) + (palette_bank << 8) ];
+ return space->machine->generic.paletteram.u8 [ (offset & 0xff) + (palette_bank << 8) ];
}
WRITE8_HANDLER( nycaptor_gfxctrl_w )
diff --git a/src/mame/video/ohmygod.c b/src/mame/video/ohmygod.c
index 880c935e3ff..81f380c1917 100644
--- a/src/mame/video/ohmygod.c
+++ b/src/mame/video/ohmygod.c
@@ -81,14 +81,15 @@ WRITE16_HANDLER( ohmygod_scrolly_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
- for (offs = 0;offs < spriteram_size/4;offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram_size/4;offs += 4)
{
int sx,sy,code,color,flipx;
UINT16 *sr;
- sr = spritebank ? (spriteram16+spriteram_size/4) : spriteram16;
+ sr = spritebank ? (spriteram16+machine->generic.spriteram_size/4) : spriteram16;
code = sr[offs+3] & 0x0fff;
color = sr[offs+2] & 0x000f;
diff --git a/src/mame/video/othunder.c b/src/mame/video/othunder.c
index 086da6442af..d269de73948 100644
--- a/src/mame/video/othunder.c
+++ b/src/mame/video/othunder.c
@@ -87,6 +87,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan
{
UINT16 *spritemap = (UINT16 *)memory_region(machine, "user1");
UINT16 tile_mask = (machine->gfx[0]->total_elements) - 1;
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs, data, tilenum, color, flipx, flipy;
int x, y, priority, curx, cury;
int sprites_flipscreen = 0;
@@ -98,7 +99,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan
while processing sprite ram and then draw them all at the end */
struct tempsprite *sprite_ptr = spritelist;
- for (offs = (spriteram_size/2)-4;offs >=0;offs -= 4)
+ for (offs = (machine->generic.spriteram_size/2)-4;offs >=0;offs -= 4)
{
data = spriteram16[offs+0];
zoomy = (data & 0xfe00) >> 9;
diff --git a/src/mame/video/pacland.c b/src/mame/video/pacland.c
index af21b42711e..f0adf69ac59 100644
--- a/src/mame/video/pacland.c
+++ b/src/mame/video/pacland.c
@@ -220,9 +220,9 @@ VIDEO_START( pacland )
tilemap_set_transmask(fg_tilemap, color, mask, 0);
}
- spriteram = pacland_spriteram + 0x780;
- spriteram_2 = spriteram + 0x800;
- spriteram_3 = spriteram_2 + 0x800;
+ machine->generic.spriteram.u8 = pacland_spriteram + 0x780;
+ machine->generic.spriteram2.u8 = machine->generic.spriteram.u8 + 0x800;
+ machine->generic.spriteram3.u8 = machine->generic.spriteram2.u8 + 0x800;
state_save_register_global(machine, palette_bank);
state_save_register_global(machine, scroll0);
@@ -287,6 +287,9 @@ WRITE8_HANDLER( pacland_bankswitch_w )
/* the sprite generator IC is the same as Mappy */
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int whichmask)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
+ UINT8 *spriteram_2 = machine->generic.spriteram2.u8;
+ UINT8 *spriteram_3 = machine->generic.spriteram3.u8;
int offs;
for (offs = 0;offs < 0x80;offs += 2)
diff --git a/src/mame/video/pacman.c b/src/mame/video/pacman.c
index 435659b5a12..cf3dc0d5ae9 100644
--- a/src/mame/video/pacman.c
+++ b/src/mame/video/pacman.c
@@ -152,8 +152,8 @@ static TILEMAP_MAPPER( pacman_scan_rows )
static TILE_GET_INFO( pacman_get_tile_info )
{
- int code = videoram[tile_index] | (charbank << 8);
- int attr = (colorram[tile_index] & 0x1f) | (colortablebank << 5) | (palettebank << 6 );
+ int code = machine->generic.videoram.u8[tile_index] | (charbank << 8);
+ int attr = (machine->generic.colorram.u8[tile_index] & 0x1f) | (colortablebank << 5) | (palettebank << 6 );
SET_TILE_INFO(0,code,attr,0);
}
@@ -198,13 +198,13 @@ VIDEO_START( pacman )
WRITE8_HANDLER( pacman_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty( bg_tilemap, offset );
}
WRITE8_HANDLER( pacman_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty( bg_tilemap, offset );
}
@@ -222,8 +222,10 @@ VIDEO_UPDATE( pacman )
else
tilemap_draw(bitmap,cliprect,bg_tilemap,TILEMAP_DRAW_OPAQUE,0);
- if( spriteram_size )
+ if( screen->machine->generic.spriteram_size )
{
+ UINT8 *spriteram = screen->machine->generic.spriteram.u8;
+ UINT8 *spriteram_2 = screen->machine->generic.spriteram2.u8;
int offs;
rectangle spriteclip = spritevisiblearea;
@@ -231,7 +233,7 @@ VIDEO_UPDATE( pacman )
/* Draw the sprites. Note that it is important to draw them exactly in this */
/* order, to have the correct priorities. */
- for (offs = spriteram_size - 2;offs > 2*2;offs -= 2)
+ for (offs = screen->machine->generic.spriteram_size - 2;offs > 2*2;offs -= 2)
{
int color;
int sx,sy;
@@ -365,8 +367,8 @@ static TILE_GET_INFO( s2650_get_tile_info )
colbank = s2650games_tileram[tile_index & 0x1f] & 0x3;
- code = videoram[tile_index] + (colbank << 8);
- attr = colorram[tile_index & 0x1f];
+ code = machine->generic.videoram.u8[tile_index] + (colbank << 8);
+ attr = machine->generic.colorram.u8[tile_index & 0x1f];
SET_TILE_INFO(0,code,attr & 0x1f,0);
}
@@ -391,11 +393,13 @@ VIDEO_START( s2650games )
VIDEO_UPDATE( s2650games )
{
+ UINT8 *spriteram = screen->machine->generic.spriteram.u8;
+ UINT8 *spriteram_2 = screen->machine->generic.spriteram2.u8;
int offs;
tilemap_draw(bitmap,cliprect,bg_tilemap,0,0);
- for (offs = spriteram_size - 2;offs > 2*2;offs -= 2)
+ for (offs = screen->machine->generic.spriteram_size - 2;offs > 2*2;offs -= 2)
{
int color;
int sx,sy;
@@ -438,14 +442,14 @@ VIDEO_UPDATE( s2650games )
WRITE8_HANDLER( s2650games_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap,offset);
}
WRITE8_HANDLER( s2650games_colorram_w )
{
int i;
- colorram[offset & 0x1f] = data;
+ space->machine->generic.colorram.u8[offset & 0x1f] = data;
for (i = offset; i < 0x0400; i += 32)
tilemap_mark_tile_dirty(bg_tilemap, i);
}
@@ -508,8 +512,8 @@ static TILE_GET_INFO( jrpacman_get_tile_info )
color_index = tile_index + 0x80;
}
- code = videoram[tile_index] | (charbank << 8);
- attr = (videoram[color_index] & 0x1f) | (colortablebank << 5) | (palettebank << 6 );
+ code = machine->generic.videoram.u8[tile_index] | (charbank << 8);
+ attr = (machine->generic.videoram.u8[color_index] & 0x1f) | (colortablebank << 5) | (palettebank << 6 );
SET_TILE_INFO(0,code,attr,0);
}
@@ -563,7 +567,7 @@ VIDEO_START( jrpacman )
WRITE8_HANDLER( jrpacman_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
jrpacman_mark_tile_dirty(offset);
}
diff --git a/src/mame/video/paradise.c b/src/mame/video/paradise.c
index c7f0f82a4f9..02712cab813 100644
--- a/src/mame/video/paradise.c
+++ b/src/mame/video/paradise.c
@@ -51,11 +51,11 @@ WRITE8_HANDLER( tgtball_flipscreen_w )
/* 800 bytes for red, followed by 800 bytes for green & 800 bytes for blue */
WRITE8_HANDLER( paradise_palette_w )
{
- paletteram[offset] = data;
+ space->machine->generic.paletteram.u8[offset] = data;
offset %= 0x800;
- palette_set_color_rgb(space->machine,offset, paletteram[offset + 0x800 * 0],
- paletteram[offset + 0x800 * 1],
- paletteram[offset + 0x800 * 2] );
+ palette_set_color_rgb(space->machine,offset, space->machine->generic.paletteram.u8[offset + 0x800 * 0],
+ space->machine->generic.paletteram.u8[offset + 0x800 * 1],
+ space->machine->generic.paletteram.u8[offset + 0x800 * 2] );
}
/***************************************************************************
@@ -86,9 +86,9 @@ WRITE8_HANDLER( paradise_palbank_w )
int bank2 = (data & 0xf0);
for (i = 0; i < 15; i++)
- palette_set_color_rgb(space->machine,0x800+i, paletteram[0x200 + bank2 + i + 0x800 * 0],
- paletteram[0x200 + bank2 + i + 0x800 * 1],
- paletteram[0x200 + bank2 + i + 0x800 * 2] );
+ palette_set_color_rgb(space->machine,0x800+i, space->machine->generic.paletteram.u8[0x200 + bank2 + i + 0x800 * 0],
+ space->machine->generic.paletteram.u8[0x200 + bank2 + i + 0x800 * 1],
+ space->machine->generic.paletteram.u8[0x200 + bank2 + i + 0x800 * 2] );
if (paradise_palbank != bank1)
{
paradise_palbank = bank1;
@@ -136,7 +136,7 @@ WRITE8_HANDLER( paradise_pixmap_w )
{
int x,y;
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
x = (offset & 0x7f) << 1;
y = (offset >> 7);
@@ -181,8 +181,9 @@ WRITE8_HANDLER( paradise_priority_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int i;
- for (i = 0; i < spriteram_size ; i += paradise_sprite_inc)
+ for (i = 0; i < machine->generic.spriteram_size ; i += paradise_sprite_inc)
{
int code = spriteram[i+0];
int x = spriteram[i+1];
diff --git a/src/mame/video/pbaction.c b/src/mame/video/pbaction.c
index bbc2ec2fb1c..ff6deadbb33 100644
--- a/src/mame/video/pbaction.c
+++ b/src/mame/video/pbaction.c
@@ -16,13 +16,13 @@ static tilemap *bg_tilemap, *fg_tilemap;
WRITE8_HANDLER( pbaction_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( pbaction_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -53,8 +53,8 @@ WRITE8_HANDLER( pbaction_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int attr = colorram[tile_index];
- int code = videoram[tile_index] + 0x10 * (attr & 0x70);
+ int attr = machine->generic.colorram.u8[tile_index];
+ int code = machine->generic.videoram.u8[tile_index] + 0x10 * (attr & 0x70);
int color = attr & 0x07;
int flags = (attr & 0x80) ? TILE_FLIPY : 0;
@@ -84,9 +84,10 @@ VIDEO_START( pbaction )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = spriteram_size - 4;offs >= 0;offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4;offs >= 0;offs -= 4)
{
int sx,sy,flipx,flipy;
diff --git a/src/mame/video/pcktgal.c b/src/mame/video/pcktgal.c
index 9194a2d5243..fcc274746e7 100644
--- a/src/mame/video/pcktgal.c
+++ b/src/mame/video/pcktgal.c
@@ -32,7 +32,7 @@ PALETTE_INIT( pcktgal )
WRITE8_HANDLER( pcktgal_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset / 2);
}
@@ -47,8 +47,8 @@ WRITE8_HANDLER( pcktgal_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = videoram[tile_index*2+1] + ((videoram[tile_index*2] & 0x0f) << 8);
- int color = videoram[tile_index*2] >> 4;
+ int code = machine->generic.videoram.u8[tile_index*2+1] + ((machine->generic.videoram.u8[tile_index*2] & 0x0f) << 8);
+ int color = machine->generic.videoram.u8[tile_index*2] >> 4;
SET_TILE_INFO(0, code, color, 0);
}
@@ -61,9 +61,10 @@ VIDEO_START( pcktgal )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = 0;offs < spriteram_size;offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram_size;offs += 4)
{
if (spriteram[offs] != 0xf8)
{
diff --git a/src/mame/video/pingpong.c b/src/mame/video/pingpong.c
index c034f05b5d2..050e2eb3cfd 100644
--- a/src/mame/video/pingpong.c
+++ b/src/mame/video/pingpong.c
@@ -95,20 +95,20 @@ PALETTE_INIT( pingpong )
WRITE8_HANDLER( pingpong_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( pingpong_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
static TILE_GET_INFO( get_bg_tile_info )
{
- int attr = colorram[tile_index];
- int code = videoram[tile_index] + ((attr & 0x20) << 3);
+ int attr = machine->generic.colorram.u8[tile_index];
+ int code = machine->generic.videoram.u8[tile_index] + ((attr & 0x20) << 3);
int color = attr & 0x1f;
int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0);
@@ -122,9 +122,10 @@ VIDEO_START( pingpong )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = spriteram_size - 4;offs >= 0;offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4;offs >= 0;offs -= 4)
{
int sx,sy,flipx,flipy,color,schar;
diff --git a/src/mame/video/pitnrun.c b/src/mame/video/pitnrun.c
index dbd6fabd0b9..f1c43fc4109 100644
--- a/src/mame/video/pitnrun.c
+++ b/src/mame/video/pitnrun.c
@@ -33,7 +33,7 @@ UINT8* pitnrun_videoram2;
static TILE_GET_INFO( get_tile_info1 )
{
int code;
- code = videoram[tile_index];
+ code = machine->generic.videoram.u8[tile_index];
SET_TILE_INFO(
0,
code,
@@ -54,7 +54,7 @@ static TILE_GET_INFO( get_tile_info2 )
WRITE8_HANDLER( pitnrun_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_all_tiles_dirty( fg );
}
@@ -179,6 +179,7 @@ VIDEO_START(pitnrun)
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int sx, sy, flipx, flipy, offs,pal;
for (offs = 0 ; offs < 0x100; offs+=4)
diff --git a/src/mame/video/pktgaldx.c b/src/mame/video/pktgaldx.c
index f57732a6b2f..d0b13c0c18e 100644
--- a/src/mame/video/pktgaldx.c
+++ b/src/mame/video/pktgaldx.c
@@ -7,6 +7,7 @@ UINT16* pcktgaldb_sprites;
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
int flipscreen=!flip_screen_get(machine);
diff --git a/src/mame/video/playch10.c b/src/mame/video/playch10.c
index 00967959c69..4c687eb9aac 100644
--- a/src/mame/video/playch10.c
+++ b/src/mame/video/playch10.c
@@ -10,7 +10,7 @@ WRITE8_HANDLER( playch10_videoram_w )
{
if (pc10_sdcs)
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset / 2);
}
}
@@ -86,8 +86,8 @@ const ppu2c0x_interface playch10_ppu_interface_hboard =
static TILE_GET_INFO( get_bg_tile_info )
{
int offs = tile_index * 2;
- int code = videoram[offs] + ((videoram[offs + 1] & 0x07) << 8);
- int color = (videoram[offs + 1] >> 3) & 0x1f;
+ int code = machine->generic.videoram.u8[offs] + ((machine->generic.videoram.u8[offs + 1] & 0x07) << 8);
+ int color = (machine->generic.videoram.u8[offs + 1] >> 3) & 0x1f;
SET_TILE_INFO(0, code, color, 0);
}
diff --git a/src/mame/video/playmark.c b/src/mame/video/playmark.c
index 875176ea1f0..2670915b784 100644
--- a/src/mame/video/playmark.c
+++ b/src/mame/video/playmark.c
@@ -241,9 +241,9 @@ WRITE16_HANDLER( bigtwin_paletteram_w )
{
int r,g,b,val;
- COMBINE_DATA(&paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
- val = paletteram16[offset];
+ val = space->machine->generic.paletteram.u16[offset];
r = (val >> 11) & 0x1e;
g = (val >> 7) & 0x1e;
b = (val >> 3) & 0x1e;
@@ -331,12 +331,13 @@ WRITE16_HANDLER( hrdtimes_scroll_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect,int codeshift)
{
- int offs, start_offset = spriteram_size/2 - 4;
+ int offs, start_offset = machine->generic.spriteram_size/2 - 4;
int height = machine->gfx[0]->height;
int colordiv = machine->gfx[0]->color_granularity / 16;
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
// find the "end of list" to draw the sprites in reverse order
- for (offs = 4;offs < spriteram_size/2;offs += 4)
+ for (offs = 4;offs < machine->generic.spriteram_size/2;offs += 4)
{
if (spriteram16[offs+3-4] == 0x2000) /* end of list marker */
{
diff --git a/src/mame/video/pokechmp.c b/src/mame/video/pokechmp.c
index 8c8a6c8f38d..e7969ade026 100644
--- a/src/mame/video/pokechmp.c
+++ b/src/mame/video/pokechmp.c
@@ -6,7 +6,7 @@ static tilemap *bg_tilemap;
WRITE8_HANDLER( pokechmp_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset / 2);
}
@@ -21,8 +21,8 @@ WRITE8_HANDLER( pokechmp_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = videoram[tile_index*2+1] + ((videoram[tile_index*2] & 0x3f) << 8);
- int color = videoram[tile_index*2] >> 6;
+ int code = machine->generic.videoram.u8[tile_index*2+1] + ((machine->generic.videoram.u8[tile_index*2] & 0x3f) << 8);
+ int color = machine->generic.videoram.u8[tile_index*2] >> 6;
SET_TILE_INFO(0, code, color, 0);
}
@@ -35,9 +35,10 @@ VIDEO_START( pokechmp )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = 0;offs < spriteram_size;offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram_size;offs += 4)
{
if (spriteram[offs] != 0xf8)
{
diff --git a/src/mame/video/polyplay.c b/src/mame/video/polyplay.c
index 56ee3f61fcd..5d046c1e2da 100644
--- a/src/mame/video/polyplay.c
+++ b/src/mame/video/polyplay.c
@@ -54,11 +54,11 @@ VIDEO_UPDATE( polyplay )
offs_t offs;
- for (offs = 0; offs < videoram_size; offs++)
+ for (offs = 0; offs < screen->machine->generic.videoram_size; offs++)
{
int sx = (offs & 0x3f) << 3;
int sy = offs >> 6 << 3;
- UINT8 code = videoram[offs];
+ UINT8 code = screen->machine->generic.videoram.u8[offs];
drawgfx_opaque(bitmap,cliprect, screen->machine->gfx[(code >> 7) & 0x01],
code, 0, 0, 0, sx, sy);
diff --git a/src/mame/video/pooyan.c b/src/mame/video/pooyan.c
index ad9b0a7b0ff..edee40746b9 100644
--- a/src/mame/video/pooyan.c
+++ b/src/mame/video/pooyan.c
@@ -102,8 +102,8 @@ PALETTE_INIT( pooyan )
static TILE_GET_INFO( get_bg_tile_info )
{
- int attr = colorram[tile_index];
- int code = videoram[tile_index];
+ int attr = machine->generic.colorram.u8[tile_index];
+ int code = machine->generic.videoram.u8[tile_index];
int color = attr & 0x0f;
int flags = TILE_FLIPYX(attr >> 6);
@@ -133,14 +133,14 @@ VIDEO_START( pooyan )
WRITE8_HANDLER( pooyan_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( pooyan_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -160,6 +160,8 @@ WRITE8_HANDLER( pooyan_flipscreen_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
+ UINT8 *spriteram_2 = machine->generic.spriteram2.u8;
int offs;
for (offs = 0x10;offs < 0x40;offs += 2)
diff --git a/src/mame/video/popeye.c b/src/mame/video/popeye.c
index c6f6e3bfa6c..024d0de2d89 100644
--- a/src/mame/video/popeye.c
+++ b/src/mame/video/popeye.c
@@ -173,13 +173,13 @@ static void set_background_palette(running_machine *machine,int bank)
WRITE8_HANDLER( popeye_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
WRITE8_HANDLER( popeye_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
@@ -236,8 +236,8 @@ WRITE8_HANDLER( skyskipr_bitmap_w )
static TILE_GET_INFO( get_fg_tile_info )
{
- int code = videoram[tile_index];
- int color = colorram[tile_index] & 0x0f;
+ int code = machine->generic.videoram.u8[tile_index];
+ int color = machine->generic.colorram.u8[tile_index] & 0x0f;
SET_TILE_INFO(0, code, color, 0);
}
@@ -315,9 +315,10 @@ static void draw_background(running_machine *machine, bitmap_t *bitmap, const re
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = 0;offs < spriteram_size;offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram_size;offs += 4)
{
int code,color,flipx,flipy,sx,sy;
diff --git a/src/mame/video/popper.c b/src/mame/video/popper.c
index 0ed36285a13..c0624602b72 100644
--- a/src/mame/video/popper.c
+++ b/src/mame/video/popper.c
@@ -213,7 +213,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap,const recta
popper_state *state = (popper_state *)machine->driver_data;
int offs, sx, sy, flipx, flipy;
- for (offs = 0; offs < spriteram_size - 4; offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram_size - 4; offs += 4)
{
//if y position is in the current strip
if (state->spriteram[offs + 1] && (((state->spriteram[offs] + (state->flipscreen ? 2 : 0)) & 0xf0) == (0x0f - offs / 0x80) << 4))
diff --git a/src/mame/video/portrait.c b/src/mame/video/portrait.c
index db32fde1336..8b8f69b8ea5 100644
--- a/src/mame/video/portrait.c
+++ b/src/mame/video/portrait.c
@@ -128,7 +128,7 @@ PALETTE_INIT( portrait )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
- UINT8 *source = spriteram;
+ UINT8 *source = machine->generic.spriteram.u8;
UINT8 *finish = source + 0x200;
while( source < finish )
@@ -151,7 +151,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
if(attr & 0x08) sy |= 0x100;
- sx += (source - spriteram) - 8;
+ sx += (source - machine->generic.spriteram.u8) - 8;
sx &= 0x1ff;
sy = (512 - 64) - sy;
diff --git a/src/mame/video/powerins.c b/src/mame/video/powerins.c
index 020a8eba192..b331a60c6bd 100644
--- a/src/mame/video/powerins.c
+++ b/src/mame/video/powerins.c
@@ -89,7 +89,7 @@ WRITE16_HANDLER( powerins_paletteram16_w )
/* RRRR GGGG BBBB RGBx */
/* 4321 4321 4321 000x */
- UINT16 newword = COMBINE_DATA(&paletteram16[offset]);
+ UINT16 newword = COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
int r = ((newword >> 11) & 0x1E ) | ((newword >> 3) & 0x01);
int g = ((newword >> 7) & 0x1E ) | ((newword >> 2) & 0x01);
@@ -268,8 +268,8 @@ Offset: Format: Value:
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
- UINT16 *source = spriteram16 + 0x8000/2;
- UINT16 *finish = spriteram16 + 0x9000/2;
+ UINT16 *source = machine->generic.spriteram.u16 + 0x8000/2;
+ UINT16 *finish = machine->generic.spriteram.u16 + 0x9000/2;
int screen_w = video_screen_get_width(machine->primary_screen);
int screen_h = video_screen_get_height(machine->primary_screen);
diff --git a/src/mame/video/prehisle.c b/src/mame/video/prehisle.c
index 687e381d4bd..7f3cf1dc2f2 100644
--- a/src/mame/video/prehisle.c
+++ b/src/mame/video/prehisle.c
@@ -24,7 +24,7 @@ WRITE16_HANDLER( prehisle_bg_videoram16_w )
WRITE16_HANDLER( prehisle_fg_videoram16_w )
{
- COMBINE_DATA(&videoram16[offset]);
+ COMBINE_DATA(&space->machine->generic.videoram.u16[offset]);
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
@@ -85,7 +85,7 @@ static TILE_GET_INFO( get_bg_tile_info )
static TILE_GET_INFO( get_fg_tile_info )
{
- int attr = videoram16[tile_index];
+ int attr = machine->generic.videoram.u16[tile_index];
int code = attr & 0xfff;
int color = attr >> 12;
@@ -112,6 +112,7 @@ VIDEO_START( prehisle )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int foreground )
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
for (offs = 0; offs < 1024; offs += 4)
diff --git a/src/mame/video/psikyo.c b/src/mame/video/psikyo.c
index 155db13f0a7..689bf4ed8a4 100644
--- a/src/mame/video/psikyo.c
+++ b/src/mame/video/psikyo.c
@@ -602,5 +602,5 @@ VIDEO_UPDATE( psikyo )
VIDEO_EOF( psikyo )
{
memcpy(spritebuf2, spritebuf1, 0x2000);
- memcpy(spritebuf1, spriteram32, 0x2000);
+ memcpy(spritebuf1, machine->generic.spriteram.u32, 0x2000);
}
diff --git a/src/mame/video/psikyo4.c b/src/mame/video/psikyo4.c
index f3f024650ad..5c60d2663b6 100644
--- a/src/mame/video/psikyo4.c
+++ b/src/mame/video/psikyo4.c
@@ -54,8 +54,8 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
**- End Sprite Format -*/
const gfx_element *gfx = machine->gfx[0];
- UINT32 *source = spriteram32;
- UINT16 *list = (UINT16 *)spriteram32 + 0x2c00/2 + 0x04/2; /* 0x2c00/0x2c02 what are these for, pointers? one for each screen */
+ UINT32 *source = machine->generic.spriteram.u32;
+ UINT16 *list = (UINT16 *)machine->generic.spriteram.u32 + 0x2c00/2 + 0x04/2; /* 0x2c00/0x2c02 what are these for, pointers? one for each screen */
UINT16 listlen=(0xc00/2 - 0x04/2), listcntr=0;
int flipscreen1, flipscreen2;
diff --git a/src/mame/video/psikyosh.c b/src/mame/video/psikyosh.c
index e5713b33f06..9895f74ab8e 100644
--- a/src/mame/video/psikyosh.c
+++ b/src/mame/video/psikyosh.c
@@ -991,7 +991,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
**- End Sprite Format -*/
const gfx_element *gfx;
- UINT32 *src = buffered_spriteram32; /* Use buffered spriteram */
+ UINT32 *src = machine->generic.buffered_spriteram.u32; /* Use buffered spriteram */
UINT16 *list = (UINT16 *)src + 0x3800/2;
UINT16 listlen=0x800/2, listcntr=0;
UINT16 *zoom_table = (UINT16 *)psikyosh_zoomram;
diff --git a/src/mame/video/psychic5.c b/src/mame/video/psychic5.c
index c4fabcc69c2..fe0fbc87318 100644
--- a/src/mame/video/psychic5.c
+++ b/src/mame/video/psychic5.c
@@ -324,10 +324,11 @@ VIDEO_RESET( bombsa )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
/* Draw the sprites */
- for (offs = 0; offs < spriteram_size; offs += 16)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 16)
{
int attr = spriteram[offs + 13];
int code = spriteram[offs + 14] | ((attr & 0xc0) << 2);
@@ -376,6 +377,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
static void draw_background(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
static int sx1 = 0, sy1 = 0, sy2 = 0;
rectangle clip = *cliprect;
diff --git a/src/mame/video/pushman.c b/src/mame/video/pushman.c
index c1cbf595e04..6ae620e17b3 100644
--- a/src/mame/video/pushman.c
+++ b/src/mame/video/pushman.c
@@ -31,7 +31,7 @@ static TILE_GET_INFO( get_back_tile_info )
static TILE_GET_INFO( get_text_tile_info )
{
- int tile = videoram16[tile_index];
+ int tile = machine->generic.videoram.u16[tile_index];
SET_TILE_INFO(
0,
(tile&0xff)|((tile&0xc000)>>6)|((tile&0x2000)>>3),
@@ -70,7 +70,7 @@ WRITE16_HANDLER( pushman_scroll_w )
WRITE16_HANDLER( pushman_videoram_w )
{
- COMBINE_DATA(&videoram16[offset]);
+ COMBINE_DATA(&space->machine->generic.videoram.u16[offset]);
tilemap_mark_tile_dirty(tx_tilemap,offset);
}
@@ -84,6 +84,7 @@ WRITE16_HANDLER( pushman_videoram_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs,x,y,color,sprite,flipx,flipy;
for (offs = 0x0800-4;offs >=0;offs -= 4)
diff --git a/src/mame/video/quizdna.c b/src/mame/video/quizdna.c
index b96bffd893b..a220ae67233 100644
--- a/src/mame/video/quizdna.c
+++ b/src/mame/video/quizdna.c
@@ -128,10 +128,10 @@ WRITE8_HANDLER( paletteram_xBGR_RRRR_GGGG_BBBB_w )
int r,g,b,d0,d1;
int offs = offset & ~1;
- paletteram[offset] = data;
+ space->machine->generic.paletteram.u8[offset] = data;
- d0 = paletteram[offs];
- d1 = paletteram[offs+1];
+ d0 = space->machine->generic.paletteram.u8[offs];
+ d1 = space->machine->generic.paletteram.u8[offs+1];
r = ((d1 << 1) & 0x1e) | ((d1 >> 4) & 1);
g = ((d0 >> 3) & 0x1e) | ((d1 >> 5) & 1);
@@ -142,9 +142,10 @@ WRITE8_HANDLER( paletteram_xBGR_RRRR_GGGG_BBBB_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = 0; offs<spriteram_size; offs+=8)
+ for (offs = 0; offs<machine->generic.spriteram_size; offs+=8)
{
int i;
diff --git a/src/mame/video/raiden.c b/src/mame/video/raiden.c
index 2a0c1a3a048..374c6d4ab45 100644
--- a/src/mame/video/raiden.c
+++ b/src/mame/video/raiden.c
@@ -22,7 +22,7 @@ WRITE16_HANDLER( raiden_foreground_w )
WRITE16_HANDLER( raiden_text_w )
{
- COMBINE_DATA(&videoram16[offset]);
+ COMBINE_DATA(&space->machine->generic.videoram.u16[offset]);
tilemap_mark_tile_dirty(tx_layer, offset);
}
@@ -56,7 +56,7 @@ static TILE_GET_INFO( get_fore_tile_info )
static TILE_GET_INFO( get_text_tile_info )
{
- int tiledata = videoram16[tile_index];
+ int tiledata = machine->generic.videoram.u16[tile_index];
int tile = (tiledata & 0xff) | ((tiledata >> 6) & 0x300);
int color = (tiledata >> 8) & 0x0f;
@@ -113,6 +113,7 @@ WRITE16_HANDLER( raidena_control_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect,int pri_mask)
{
+ UINT16 *buffered_spriteram16 = machine->generic.buffered_spriteram.u16;
int offs,fx,fy,x,y,color,sprite;
for (offs = 0x1000/2-4;offs >= 0;offs -= 4)
diff --git a/src/mame/video/rallyx.c b/src/mame/video/rallyx.c
index 6082ab0d33d..00926a7e75a 100644
--- a/src/mame/video/rallyx.c
+++ b/src/mame/video/rallyx.c
@@ -345,8 +345,8 @@ VIDEO_START( rallyx )
spriteram_base = 0x14;
- spriteram = rallyx_videoram + 0x00;
- spriteram_2 = spriteram + 0x800;
+ machine->generic.spriteram.u8 = rallyx_videoram + 0x00;
+ machine->generic.spriteram2.u8 = machine->generic.spriteram.u8 + 0x800;
rallyx_radarx = rallyx_videoram + 0x20;
rallyx_radary = rallyx_radarx + 0x800;
@@ -372,8 +372,8 @@ VIDEO_START( jungler )
spriteram_base = 0x14;
- spriteram = rallyx_videoram + 0x00;
- spriteram_2 = spriteram + 0x800;
+ machine->generic.spriteram.u8 = rallyx_videoram + 0x00;
+ machine->generic.spriteram2.u8 = machine->generic.spriteram.u8 + 0x800;
rallyx_radarx = rallyx_videoram + 0x20;
rallyx_radary = rallyx_radarx + 0x800;
@@ -408,8 +408,8 @@ VIDEO_START( locomotn )
spriteram_base = 0x14;
- spriteram = rallyx_videoram + 0x00;
- spriteram_2 = spriteram + 0x800;
+ machine->generic.spriteram.u8 = rallyx_videoram + 0x00;
+ machine->generic.spriteram2.u8 = machine->generic.spriteram.u8 + 0x800;
rallyx_radarx = rallyx_videoram + 0x20;
rallyx_radary = rallyx_radarx + 0x800;
@@ -445,8 +445,8 @@ VIDEO_START( commsega )
/* commsega has more sprites and bullets than the other games */
spriteram_base = 0x00;
- spriteram = rallyx_videoram + 0x00;
- spriteram_2 = spriteram + 0x800;
+ machine->generic.spriteram.u8 = rallyx_videoram + 0x00;
+ machine->generic.spriteram2.u8 = machine->generic.spriteram.u8 + 0x800;
rallyx_radarx = rallyx_videoram + 0x20;
rallyx_radary = rallyx_radarx + 0x800;
@@ -532,6 +532,8 @@ static void draw_stars(running_machine *machine, bitmap_t *bitmap, const rectang
static void rallyx_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int displacement )
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
+ UINT8 *spriteram_2 = machine->generic.spriteram2.u8;
int offs;
for (offs = 0x20-2;offs >= spriteram_base;offs -= 2)
@@ -555,6 +557,8 @@ static void rallyx_draw_sprites(running_machine *machine, bitmap_t *bitmap, cons
static void locomotn_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int displacement )
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
+ UINT8 *spriteram_2 = machine->generic.spriteram2.u8;
int offs;
for (offs = 0x20-2;offs >= spriteram_base;offs -= 2)
diff --git a/src/mame/video/rastan.c b/src/mame/video/rastan.c
index d4a8248a1d2..a328e97272d 100644
--- a/src/mame/video/rastan.c
+++ b/src/mame/video/rastan.c
@@ -167,6 +167,7 @@ the Y settings are active low.
VIDEO_UPDATE( jumping )
{
+ UINT16 *spriteram16 = screen->machine->generic.spriteram.u16;
int offs,layer[2];
int sprite_colbank = (sprite_ctrl & 0xe0) >> 1;
@@ -183,7 +184,7 @@ VIDEO_UPDATE( jumping )
PC080SN_tilemap_draw(bitmap,cliprect,0,layer[0],TILEMAP_DRAW_OPAQUE,0);
/* Draw the sprites. 128 sprites in total */
- for (offs = spriteram_size/2-8; offs >= 0; offs -= 8)
+ for (offs = screen->machine->generic.spriteram_size/2-8; offs >= 0; offs -= 8)
{
int tile = spriteram16[offs];
if (tile < screen->machine->gfx[1]->total_elements)
diff --git a/src/mame/video/realbrk.c b/src/mame/video/realbrk.c
index 069d2df1d9a..f616340867e 100644
--- a/src/mame/video/realbrk.c
+++ b/src/mame/video/realbrk.c
@@ -214,6 +214,7 @@ VIDEO_START(realbrk)
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
int max_x = video_screen_get_width(machine->primary_screen);
@@ -379,6 +380,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan
/* layer : 0== bghigh<spr 1== bglow<spr<bghigh 2==spr<bglow 3==boarder */
static void dai2kaku_draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect, int layer)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
int max_x = video_screen_get_width(machine->primary_screen);
diff --git a/src/mame/video/redclash.c b/src/mame/video/redclash.c
index ee9a92072fd..46d1dc03e07 100644
--- a/src/mame/video/redclash.c
+++ b/src/mame/video/redclash.c
@@ -104,7 +104,7 @@ PALETTE_INIT( redclash )
WRITE8_HANDLER( redclash_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
@@ -159,8 +159,8 @@ WRITE8_HANDLER( redclash_star_reset_w )
static TILE_GET_INFO( get_fg_tile_info )
{
- int code = videoram[tile_index];
- int color = (videoram[tile_index] & 0x70) >> 4; // ??
+ int code = machine->generic.videoram.u8[tile_index];
+ int color = (machine->generic.videoram.u8[tile_index] & 0x70) >> 4; // ??
SET_TILE_INFO(0, code, color, 0);
}
@@ -175,9 +175,10 @@ VIDEO_START( redclash )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int i, offs;
- for (offs = spriteram_size - 0x20;offs >= 0;offs -= 0x20)
+ for (offs = machine->generic.spriteram_size - 0x20;offs >= 0;offs -= 0x20)
{
i = 0;
while (i < 0x20 && spriteram[offs + i] != 0)
@@ -261,9 +262,9 @@ static void draw_bullets(running_machine *machine, bitmap_t *bitmap, const recta
for (offs = 0; offs < 0x20; offs++)
{
-// sx = videoram[offs];
- int sx = 8 * offs + (videoram[offs] & 0x07); /* ?? */
- int sy = 0xff - videoram[offs + 0x20];
+// sx =machine->generic.videoram.u8offs];
+ int sx = 8 * offs + (machine->generic.videoram.u8[offs] & 0x07); /* ?? */
+ int sy = 0xff - machine->generic.videoram.u8[offs + 0x20];
if (flip_screen_get(machine))
{
diff --git a/src/mame/video/renegade.c b/src/mame/video/renegade.c
index c23e0ffd2f2..0c978831efb 100644
--- a/src/mame/video/renegade.c
+++ b/src/mame/video/renegade.c
@@ -13,7 +13,7 @@ static tilemap *fg_tilemap;
WRITE8_HANDLER( renegade_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
offset = offset % (64 * 16);
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -42,7 +42,7 @@ WRITE8_HANDLER( renegade_scroll1_w )
static TILE_GET_INFO( get_bg_tilemap_info )
{
- const UINT8 *source = &videoram[tile_index];
+ const UINT8 *source = &machine->generic.videoram.u8[tile_index];
UINT8 attributes = source[0x400]; /* CCC??BBB */
SET_TILE_INFO(
1 + (attributes & 0x7),
@@ -75,7 +75,7 @@ VIDEO_START( renegade )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
- UINT8 *source = spriteram;
+ UINT8 *source = machine->generic.spriteram.u8;
UINT8 *finish = source + 96 * 4;
while (source < finish)
diff --git a/src/mame/video/retofinv.c b/src/mame/video/retofinv.c
index 859425663c7..8b83c24d252 100644
--- a/src/mame/video/retofinv.c
+++ b/src/mame/video/retofinv.c
@@ -116,9 +116,9 @@ VIDEO_START( retofinv )
colortable_configure_tilemap_groups(machine->colortable, fg_tilemap, machine->gfx[0], 0);
- spriteram = retofinv_sharedram + 0x0780;
- spriteram_2 = retofinv_sharedram + 0x0f80;
- spriteram_3 = retofinv_sharedram + 0x1780;
+ machine->generic.spriteram.u8 = retofinv_sharedram + 0x0780;
+ machine->generic.spriteram2.u8 = retofinv_sharedram + 0x0f80;
+ machine->generic.spriteram3.u8 = retofinv_sharedram + 0x1780;
}
@@ -177,6 +177,9 @@ WRITE8_HANDLER( retofinv_gfx_ctrl_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
+ UINT8 *spriteram_2 = machine->generic.spriteram2.u8;
+ UINT8 *spriteram_3 = machine->generic.spriteram3.u8;
int offs;
static const rectangle spritevisiblearea =
{
diff --git a/src/mame/video/rockrage.c b/src/mame/video/rockrage.c
index da09599e067..aeea32fecde 100644
--- a/src/mame/video/rockrage.c
+++ b/src/mame/video/rockrage.c
@@ -30,17 +30,17 @@ PALETTE_INIT( rockrage )
}
-static void set_pens(colortable_t *colortable)
+static void set_pens(running_machine *machine)
{
int i;
for (i = 0x00; i < 0x80; i += 2)
{
- UINT16 data = paletteram[i] | (paletteram[i | 1] << 8);
+ UINT16 data = machine->generic.paletteram.u8[i] | (machine->generic.paletteram.u8[i | 1] << 8);
rgb_t color = MAKE_RGB(pal5bit(data >> 0), pal5bit(data >> 5), pal5bit(data >> 10));
- colortable_palette_set_color(colortable, i >> 1, color);
+ colortable_palette_set_color(machine->colortable, i >> 1, color);
}
}
@@ -112,7 +112,7 @@ VIDEO_START( rockrage )
VIDEO_UPDATE( rockrage )
{
- set_pens(screen->machine->colortable);
+ set_pens(screen->machine);
K007342_tilemap_update();
diff --git a/src/mame/video/rocnrope.c b/src/mame/video/rocnrope.c
index ec5c87cae59..337b5a46332 100644
--- a/src/mame/video/rocnrope.c
+++ b/src/mame/video/rocnrope.c
@@ -84,13 +84,13 @@ PALETTE_INIT( rocnrope )
WRITE8_HANDLER( rocnrope_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( rocnrope_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -105,8 +105,8 @@ WRITE8_HANDLER( rocnrope_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int attr = colorram[tile_index];
- int code = videoram[tile_index] + 2 * (attr & 0x80);
+ int attr = machine->generic.colorram.u8[tile_index];
+ int code = machine->generic.videoram.u8[tile_index] + 2 * (attr & 0x80);
int color = attr & 0x0f;
int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x20) ? TILE_FLIPY : 0);
@@ -120,9 +120,11 @@ VIDEO_START( rocnrope )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
+ UINT8 *spriteram_2 = machine->generic.spriteram2.u8;
int offs;
- for (offs = spriteram_size - 2;offs >= 0;offs -= 2)
+ for (offs = machine->generic.spriteram_size - 2;offs >= 0;offs -= 2)
{
int color = spriteram_2[offs] & 0x0f;
diff --git a/src/mame/video/rohga.c b/src/mame/video/rohga.c
index 0b6028c47dd..17e387c40da 100644
--- a/src/mame/video/rohga.c
+++ b/src/mame/video/rohga.c
@@ -15,8 +15,8 @@ WRITE16_HANDLER( rohga_buffer_spriteram16_w )
{
// Spriteram seems to be triple buffered (no sprite lag on real pcb, but there
// is on driver with only double buffering)
- memcpy(rohga_spriteram, buffered_spriteram16, 0x800);
- memcpy(buffered_spriteram16, spriteram16, 0x800);
+ memcpy(rohga_spriteram, space->machine->generic.buffered_spriteram.u16, 0x800);
+ memcpy(space->machine->generic.buffered_spriteram.u16, space->machine->generic.spriteram.u16, 0x800);
}
static int wizdfire_bank_callback(const int bank)
@@ -500,9 +500,9 @@ VIDEO_UPDATE( wizdfire )
bitmap_fill(bitmap,cliprect,screen->machine->pens[512]);
deco16_tilemap_4_draw(screen,bitmap,cliprect,TILEMAP_DRAW_OPAQUE,0);
- wizdfire_draw_sprites(screen->machine,bitmap,cliprect,buffered_spriteram16,4,3);
+ wizdfire_draw_sprites(screen->machine,bitmap,cliprect,screen->machine->generic.buffered_spriteram.u16,4,3);
deco16_tilemap_2_draw(screen,bitmap,cliprect,0,0);
- wizdfire_draw_sprites(screen->machine,bitmap,cliprect,buffered_spriteram16,3,3);
+ wizdfire_draw_sprites(screen->machine,bitmap,cliprect,screen->machine->generic.buffered_spriteram.u16,3,3);
if ((deco16_priority&0x1f)==0x1f) /* Wizdfire has bit 0x40 always set, Dark Seal 2 doesn't?! */
deco16_tilemap_3_draw(screen,bitmap,cliprect,TILEMAP_DRAW_ALPHA(0x80),0);
@@ -510,9 +510,9 @@ VIDEO_UPDATE( wizdfire )
deco16_tilemap_3_draw(screen,bitmap,cliprect,0,0);
/* See notes in wizdfire_draw_sprites about this */
- wizdfire_draw_sprites(screen->machine,bitmap,cliprect,buffered_spriteram16,0,3);
- wizdfire_draw_sprites(screen->machine,bitmap,cliprect,buffered_spriteram16_2,2,4);
- wizdfire_draw_sprites(screen->machine,bitmap,cliprect,buffered_spriteram16_2,1,4);
+ wizdfire_draw_sprites(screen->machine,bitmap,cliprect,screen->machine->generic.buffered_spriteram.u16,0,3);
+ wizdfire_draw_sprites(screen->machine,bitmap,cliprect,screen->machine->generic.buffered_spriteram2.u16,2,4);
+ wizdfire_draw_sprites(screen->machine,bitmap,cliprect,screen->machine->generic.buffered_spriteram2.u16,1,4);
deco16_tilemap_1_draw(screen,bitmap,cliprect,0,0);
return 0;
@@ -534,8 +534,8 @@ VIDEO_UPDATE( nitrobal )
deco16_tilemap_34_combine_draw(screen,bitmap,cliprect,TILEMAP_DRAW_OPAQUE,0);
deco16_tilemap_2_draw(screen,bitmap,cliprect,0,16);
- nitrobal_draw_sprites(screen->machine,bitmap,cliprect,buffered_spriteram16,3);
- nitrobal_draw_sprites(screen->machine,bitmap,cliprect,buffered_spriteram16_2,4);
+ nitrobal_draw_sprites(screen->machine,bitmap,cliprect,screen->machine->generic.buffered_spriteram.u16,3);
+ nitrobal_draw_sprites(screen->machine,bitmap,cliprect,screen->machine->generic.buffered_spriteram2.u16,4);
deco16_tilemap_1_draw(screen,bitmap,cliprect,0,0);
return 0;
diff --git a/src/mame/video/rollrace.c b/src/mame/video/rollrace.c
index 837e5362108..fc5af4338fc 100644
--- a/src/mame/video/rollrace.c
+++ b/src/mame/video/rollrace.c
@@ -59,7 +59,7 @@ WRITE8_HANDLER( rollrace_flipx_w )
VIDEO_UPDATE( rollrace )
{
-
+ UINT8 *spriteram = screen->machine->generic.spriteram.u8;
int offs;
int sx, sy;
int scroll;
@@ -70,7 +70,7 @@ VIDEO_UPDATE( rollrace )
bitmap_fill(bitmap,cliprect,ra_bkgpen);
/* draw road */
- for (offs = videoram_size - 1;offs >= 0;offs--)
+ for (offs = screen->machine->generic.videoram_size - 1;offs >= 0;offs--)
{
if(!(ra_bkgflip))
{
@@ -138,14 +138,14 @@ VIDEO_UPDATE( rollrace )
/* draw foreground characters */
- for (offs = videoram_size - 1;offs >= 0;offs--)
+ for (offs = screen->machine->generic.videoram_size - 1;offs >= 0;offs--)
{
sx = offs % 32;
sy = offs / 32;
- scroll = ( 8 * sy + colorram[2 * sx] ) % 256;
- col = colorram[ sx * 2 + 1 ]&0x1f;
+ scroll = ( 8 * sy + screen->machine->generic.colorram.u8[2 * sx] ) % 256;
+ col = screen->machine->generic.colorram.u8[ sx * 2 + 1 ]&0x1f;
if (!ra_flipy)
{
@@ -155,7 +155,7 @@ VIDEO_UPDATE( rollrace )
if (ra_flipx) sx = 31 - sx;
drawgfx_transpen(bitmap,cliprect,screen->machine->gfx[RA_FGCHAR_BASE + ra_chrbank] ,
- videoram[ offs ] ,
+ screen->machine->generic.videoram.u8[ offs ] ,
col,
ra_flipx,ra_flipy,
8*sx,scroll,0);
diff --git a/src/mame/video/rpunch.c b/src/mame/video/rpunch.c
index dc87f0f8c35..1202bc7e698 100644
--- a/src/mame/video/rpunch.c
+++ b/src/mame/video/rpunch.c
@@ -41,7 +41,7 @@ static UINT8 bins, gins;
static TILE_GET_INFO( get_bg0_tile_info )
{
- int data = videoram16[tile_index];
+ int data = machine->generic.videoram.u16[tile_index];
int code;
if (videoflags & 0x0400) code = (data & 0x0fff) | 0x2000;
else code = (data & 0x1fff);
@@ -55,7 +55,7 @@ static TILE_GET_INFO( get_bg0_tile_info )
static TILE_GET_INFO( get_bg1_tile_info )
{
- int data = videoram16[videoram_size / 4 + tile_index];
+ int data = machine->generic.videoram.u16[machine->generic.videoram_size / 4 + tile_index];
int code;
if (videoflags & 0x0800) code = (data & 0x0fff) | 0x2000;
else code = (data & 0x1fff);
@@ -110,7 +110,7 @@ WRITE16_HANDLER( rpunch_videoram_w )
{
int tmap = offset >> 12;
int tile_index = offset & 0xfff;
- COMBINE_DATA(&videoram16[offset]);
+ COMBINE_DATA(&space->machine->generic.videoram.u16[offset]);
tilemap_mark_tile_dirty(background[tmap],tile_index);
}
@@ -208,6 +208,7 @@ WRITE16_HANDLER( rpunch_ins_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int start, int stop)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
start *= 4;
diff --git a/src/mame/video/sauro.c b/src/mame/video/sauro.c
index bc2a58a413c..ebbd84063ae 100644
--- a/src/mame/video/sauro.c
+++ b/src/mame/video/sauro.c
@@ -98,9 +98,10 @@ VIDEO_START( sauro )
static void sauro_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs,code,sx,sy,color,flipx;
- for (offs = 3;offs < spriteram_size - 1;offs += 4)
+ for (offs = 3;offs < machine->generic.spriteram_size - 1;offs += 4)
{
sy = spriteram[offs];
if (sy == 0xf8) continue;
@@ -159,10 +160,11 @@ VIDEO_START( trckydoc )
static void trckydoc_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs,code,sy,color,flipx,sx;
/* Weird, sprites entries don't start on DWORD boundary */
- for (offs = 3;offs < spriteram_size - 1;offs += 4)
+ for (offs = 3;offs < machine->generic.spriteram_size - 1;offs += 4)
{
sy = spriteram[offs];
diff --git a/src/mame/video/sbasketb.c b/src/mame/video/sbasketb.c
index aaf1ce22f50..b6e7273bd14 100644
--- a/src/mame/video/sbasketb.c
+++ b/src/mame/video/sbasketb.c
@@ -100,13 +100,13 @@ PALETTE_INIT( sbasketb )
WRITE8_HANDLER( sbasketb_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( sbasketb_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -121,9 +121,9 @@ WRITE8_HANDLER( sbasketb_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = videoram[tile_index] + ((colorram[tile_index] & 0x20) << 3);
- int color = colorram[tile_index] & 0x0f;
- int flags = ((colorram[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((colorram[tile_index] & 0x80) ? TILE_FLIPY : 0);
+ int code = machine->generic.videoram.u8[tile_index] + ((machine->generic.colorram.u8[tile_index] & 0x20) << 3);
+ int color = machine->generic.colorram.u8[tile_index] & 0x0f;
+ int flags = ((machine->generic.colorram.u8[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((machine->generic.colorram.u8[tile_index] & 0x80) ? TILE_FLIPY : 0);
SET_TILE_INFO(0, code, color, flags);
}
@@ -137,6 +137,7 @@ VIDEO_START( sbasketb )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs = (*sbasketb_spriteram_select & 0x01) * 0x100;
int i;
diff --git a/src/mame/video/scotrsht.c b/src/mame/video/scotrsht.c
index e67e41fe9db..a8ea2c1abb6 100644
--- a/src/mame/video/scotrsht.c
+++ b/src/mame/video/scotrsht.c
@@ -42,13 +42,13 @@ PALETTE_INIT( scotrsht )
WRITE8_HANDLER( scotrsht_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( scotrsht_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -80,8 +80,8 @@ WRITE8_HANDLER( scotrsht_palettebank_w )
static TILE_GET_INFO( scotrsht_get_bg_tile_info )
{
- int attr = colorram[tile_index];
- int code = videoram[tile_index] + (scotrsht_charbank << 9) + ((attr & 0x40) << 2);
+ int attr = machine->generic.colorram.u8[tile_index];
+ int code = machine->generic.videoram.u8[tile_index] + (scotrsht_charbank << 9) + ((attr & 0x40) << 2);
int color = (attr & 0x0f) + scotrsht_palette_bank * 16;
int flag = 0;
@@ -96,9 +96,10 @@ static TILE_GET_INFO( scotrsht_get_bg_tile_info )
/* Same as Jailbreak + palette bank */
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int i;
- for (i = 0; i < spriteram_size; i += 4)
+ for (i = 0; i < machine->generic.spriteram_size; i += 4)
{
int attr = spriteram[i + 1]; // attributes = ?tyxcccc
int code = spriteram[i] + ((attr & 0x40) << 2);
diff --git a/src/mame/video/sderby.c b/src/mame/video/sderby.c
index 01a259c70b7..d1f0e9f9fe4 100644
--- a/src/mame/video/sderby.c
+++ b/src/mame/video/sderby.c
@@ -66,11 +66,12 @@ WRITE16_HANDLER( sderby_fg_videoram_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect,int codeshift)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
int height = machine->gfx[0]->height;
int colordiv = machine->gfx[0]->color_granularity / 16;
- for (offs = 4;offs < spriteram_size/2;offs += 4)
+ for (offs = 4;offs < machine->generic.spriteram_size/2;offs += 4)
{
int sx,sy,code,color,flipx;
diff --git a/src/mame/video/segag80r.c b/src/mame/video/segag80r.c
index 59c05e9737b..ada991c33dd 100644
--- a/src/mame/video/segag80r.c
+++ b/src/mame/video/segag80r.c
@@ -208,10 +208,10 @@ VIDEO_START( segag80r )
3, rg_resistances, gweights, 220, 0,
2, b_resistances, bweights, 220, 0);
- gfx_element_set_source(machine->gfx[0], &videoram[0x800]);
+ gfx_element_set_source(machine->gfx[0], &machine->generic.videoram.u8[0x800]);
/* allocate paletteram */
- paletteram = auto_alloc_array(machine, UINT8, 0x80);
+ machine->generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x80);
/* initialize the particulars for each type of background PCB */
switch (segag80r_background_pcb)
@@ -241,7 +241,7 @@ VIDEO_START( segag80r )
}
/* register for save states */
- state_save_register_global_pointer(machine, paletteram, 0x80);
+ state_save_register_global_pointer(machine, machine->generic.paletteram.u8, 0x80);
state_save_register_global(machine, video_control);
state_save_register_global(machine, video_flip);
@@ -275,13 +275,13 @@ WRITE8_HANDLER( segag80r_videoram_w )
if ((offset & 0x1000) && (video_control & 0x02))
{
offset &= 0x3f;
- paletteram[offset] = data;
+ space->machine->generic.paletteram.u8[offset] = data;
g80_set_palette_entry(space->machine, offset, data);
return;
}
/* all other accesses go to videoram */
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
/* track which characters are dirty */
if (offset & 0x800)
@@ -439,7 +439,7 @@ WRITE8_HANDLER( monsterb_videoram_w )
if ((offset & 0x1fc0) == 0x1040 && (video_control & 0x40))
{
offs_t paloffs = offset & 0x3f;
- paletteram[paloffs | 0x40] = data;
+ space->machine->generic.paletteram.u8[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 */
@@ -509,7 +509,7 @@ WRITE8_HANDLER( pignewt_videoram_w )
if ((offset & 0x1fc0) == 0x1040 && (video_control & 0x02))
{
offs_t paloffs = offset & 0x3f;
- paletteram[paloffs | 0x40] = data;
+ space->machine->generic.paletteram.u8[paloffs | 0x40] = data;
g80_set_palette_entry(space->machine, paloffs | 0x40, data);
return;
}
@@ -592,7 +592,7 @@ WRITE8_HANDLER( sindbadm_videoram_w )
if ((offset & 0x1fc0) == 0x1000 && (video_control & 0x02))
{
offs_t paloffs = offset & 0x3f;
- paletteram[paloffs | 0x40] = data;
+ space->machine->generic.paletteram.u8[paloffs | 0x40] = data;
g80_set_palette_entry(space->machine, paloffs | 0x40, data);
return;
}
@@ -653,7 +653,7 @@ static void draw_videoram(running_machine *machine, bitmap_t *bitmap, const rect
for (x = cliprect->min_x / 8; x <= cliprect->max_x / 8; x++)
{
int offs = effy * 32 + (x ^ flipmask);
- UINT8 tile = videoram[offs];
+ UINT8 tile = machine->generic.videoram.u8[offs];
/* draw the tile */
drawgfx_transmask(bitmap, cliprect, machine->gfx[0], tile, tile >> 4, video_flip, video_flip, x*8, y*8, transparent_pens[tile >> 4]);
@@ -669,7 +669,7 @@ static void draw_videoram(running_machine *machine, bitmap_t *bitmap, const rect
*
*************************************/
-static void draw_background_spaceod(bitmap_t *bitmap, const rectangle *cliprect)
+static void draw_background_spaceod(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
bitmap_t *pixmap = tilemap_get_pixmap(!(spaceod_bg_control & 0x02) ? spaceod_bg_htilemap : spaceod_bg_vtilemap);
int flipmask = (spaceod_bg_control & 0x01) ? 0xff : 0x00;
@@ -695,7 +695,7 @@ static void draw_background_spaceod(bitmap_t *bitmap, const rectangle *cliprect)
for (x = cliprect->min_x; x <= cliprect->max_x; x++)
{
int effx = ((x + spaceod_hcounter) ^ flipmask) + xoffset;
- UINT8 fgpix = paletteram[dst[x]];
+ UINT8 fgpix = machine->generic.paletteram.u8[dst[x]];
UINT8 bgpix = src[effx & xmask] & 0x3f;
/* the background detect flag is set if:
@@ -824,7 +824,7 @@ VIDEO_UPDATE( segag80r )
case G80_BACKGROUND_SPACEOD:
memset(transparent_pens, 0, 16);
draw_videoram(screen->machine, bitmap, cliprect, transparent_pens);
- draw_background_spaceod(bitmap, cliprect);
+ draw_background_spaceod(screen->machine, bitmap, cliprect);
break;
/* foreground: visible except for pen 0 (this disagrees with schematics) */
diff --git a/src/mame/video/segaic16.c b/src/mame/video/segaic16.c
index 5036fa01844..2b00a042c79 100644
--- a/src/mame/video/segaic16.c
+++ b/src/mame/video/segaic16.c
@@ -470,6 +470,7 @@ UINT16 *segaic16_spriteram_0;
UINT16 *segaic16_spriteram_1;
UINT16 *segaic16_roadram_0;
UINT16 *segaic16_rotateram_0;
+UINT16 *segaic16_paletteram;
@@ -578,9 +579,9 @@ WRITE16_HANDLER( segaic16_paletteram_w )
int r, g, b;
/* get the new value */
- newval = paletteram16[offset];
+ newval = segaic16_paletteram[offset];
COMBINE_DATA(&newval);
- paletteram16[offset] = newval;
+ segaic16_paletteram[offset] = newval;
/* byte 0 byte 1 */
/* sBGR BBBB GGGG RRRR */
@@ -1653,7 +1654,7 @@ static void segaic16_sprites_hangon_draw(running_machine *machine, struct sprite
{ \
/* shadow/hilight mode? */ \
if (shadow && pix == 0xa) \
- dest[x] += (paletteram16[dest[x]] & 0x8000) ? palette.entries*2 : palette.entries; \
+ dest[x] += (segaic16_paletteram[dest[x]] & 0x8000) ? palette.entries*2 : palette.entries; \
\
/* regular draw */ \
else \
@@ -1823,7 +1824,7 @@ static void segaic16_sprites_sharrier_draw(running_machine *machine, struct spri
{ \
/* shadow/hilight mode? */ \
if (color == info->colorbase + (0x3f << 4)) \
- dest[x] += (paletteram16[dest[x]] & 0x8000) ? palette.entries*2 : palette.entries; \
+ dest[x] += (segaic16_paletteram[dest[x]] & 0x8000) ? palette.entries*2 : palette.entries; \
\
/* regular draw */ \
else \
@@ -1982,7 +1983,7 @@ static void segaic16_sprites_16a_draw(running_machine *machine, struct sprite_in
/* we have to check this for System 18 so that we don't */ \
/* attempt to shadow VDP pixels */ \
if (dest[x] < palette.entries) \
- dest[x] += (paletteram16[dest[x]] & 0x8000) ? palette.entries*2 : palette.entries; \
+ dest[x] += (segaic16_paletteram[dest[x]] & 0x8000) ? palette.entries*2 : palette.entries; \
} \
\
/* regular draw */ \
@@ -2148,7 +2149,7 @@ static void segaic16_sprites_16b_draw(running_machine *machine, struct sprite_in
{ \
/* shadow/hilight mode? */ \
if (pix == 14) \
- dest[x] += (paletteram16[dest[x]] & 0x8000) ? palette.entries*2 : palette.entries; \
+ dest[x] += (segaic16_paletteram[dest[x]] & 0x8000) ? palette.entries*2 : palette.entries; \
\
/* regular draw */ \
else \
@@ -2325,7 +2326,7 @@ static void segaic16_sprites_yboard_16b_draw(running_machine *machine, struct sp
{ \
/* shadow/hilight mode? */ \
if (shadow && pix == 0xa) \
- dest[x] += (paletteram16[dest[x]] & 0x8000) ? palette.entries*2 : palette.entries; \
+ dest[x] += (segaic16_paletteram[dest[x]] & 0x8000) ? palette.entries*2 : palette.entries; \
\
/* regular draw */ \
else \
@@ -2681,7 +2682,7 @@ static void segaic16_sprites_yboard_draw(running_machine *machine, struct sprite
{ \
/* shadow/hilight mode? */ \
if (color == info->colorbase + (0x3f << 4)) \
- dest[x] += (paletteram16[dest[x]] & 0x8000) ? palette.entries*2 : palette.entries; \
+ dest[x] += (segaic16_paletteram[dest[x]] & 0x8000) ? palette.entries*2 : palette.entries; \
\
/* regular draw */ \
else \
diff --git a/src/mame/video/segaic16.h b/src/mame/video/segaic16.h
index 0d629b8f059..1404803b60e 100644
--- a/src/mame/video/segaic16.h
+++ b/src/mame/video/segaic16.h
@@ -12,6 +12,7 @@ extern UINT16 *segaic16_spriteram_0;
extern UINT16 *segaic16_spriteram_1;
extern UINT16 *segaic16_roadram_0;
extern UINT16 *segaic16_rotateram_0;
+extern UINT16 *segaic16_paletteram;
/* misc functions */
void segaic16_set_display_enable(running_machine *machine, int enable);
diff --git a/src/mame/video/segaic24.c b/src/mame/video/segaic24.c
index 721f870cd86..52a203a2df2 100644
--- a/src/mame/video/segaic24.c
+++ b/src/mame/video/segaic24.c
@@ -47,15 +47,15 @@ static void set_color(running_machine *machine, int color, UINT8 r, UINT8 g, UIN
// qgh expects to be able to read the palette shared between CPUs
READ16_HANDLER( system24temp_sys16_paletteram1_r )
{
- return paletteram16[offset];
+ return space->machine->generic.paletteram.u16[offset];
}
WRITE16_HANDLER (system24temp_sys16_paletteram1_w)
{
int r, g, b;
- COMBINE_DATA (paletteram16 + offset);
- data = paletteram16[offset];
+ COMBINE_DATA (space->machine->generic.paletteram.u16 + offset);
+ data = space->machine->generic.paletteram.u16[offset];
r = (data & 0x00f) << 4;
if(data & 0x1000)
diff --git a/src/mame/video/sei_crtc.c b/src/mame/video/sei_crtc.c
index c0a5b164049..62bc8856f7e 100644
--- a/src/mame/video/sei_crtc.c
+++ b/src/mame/video/sei_crtc.c
@@ -208,6 +208,7 @@ static TILE_GET_INFO( seibucrtc_sc3_tile_info )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect,int pri)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs,fx,fy,x,y,color,sprite;
int dx,dy,ax,ay;
diff --git a/src/mame/video/seicross.c b/src/mame/video/seicross.c
index 11cb7f56700..4d6dfaf06b6 100644
--- a/src/mame/video/seicross.c
+++ b/src/mame/video/seicross.c
@@ -58,7 +58,7 @@ PALETTE_INIT( seicross )
WRITE8_HANDLER( seicross_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -69,8 +69,8 @@ WRITE8_HANDLER( seicross_colorram_w )
/* region. */
offset &= 0xffdf;
- colorram[offset] = data;
- colorram[offset + 0x20] = data;
+ space->machine->generic.colorram.u8[offset] = data;
+ space->machine->generic.colorram.u8[offset + 0x20] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
tilemap_mark_tile_dirty(bg_tilemap, offset + 0x20);
@@ -78,9 +78,9 @@ WRITE8_HANDLER( seicross_colorram_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = videoram[tile_index] + ((colorram[tile_index] & 0x10) << 4);
- int color = colorram[tile_index] & 0x0f;
- int flags = ((colorram[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((colorram[tile_index] & 0x80) ? TILE_FLIPY : 0);
+ int code = machine->generic.videoram.u8[tile_index] + ((machine->generic.colorram.u8[tile_index] & 0x10) << 4);
+ int color = machine->generic.colorram.u8[tile_index] & 0x0f;
+ int flags = ((machine->generic.colorram.u8[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((machine->generic.colorram.u8[tile_index] & 0x80) ? TILE_FLIPY : 0);
SET_TILE_INFO(0, code, color, flags);
}
@@ -95,9 +95,11 @@ VIDEO_START( seicross )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
+ UINT8 *spriteram_2 = machine->generic.spriteram2.u8;
int offs;
- for (offs = spriteram_size - 4;offs >= 0;offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4;offs >= 0;offs -= 4)
{
int x = spriteram[offs + 3];
drawgfx_transpen(bitmap,cliprect,machine->gfx[1],
@@ -113,7 +115,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
x-256,240-spriteram[offs + 2],0);
}
- for (offs = spriteram_2_size - 4;offs >= 0;offs -= 4)
+ for (offs = machine->generic.spriteram2_size - 4;offs >= 0;offs -= 4)
{
int x = spriteram_2[offs + 3];
drawgfx_transpen(bitmap,cliprect,machine->gfx[1],
diff --git a/src/mame/video/senjyo.c b/src/mame/video/senjyo.c
index 445290627fb..d0b1b34f757 100644
--- a/src/mame/video/senjyo.c
+++ b/src/mame/video/senjyo.c
@@ -229,10 +229,11 @@ static void draw_radar(running_machine *machine,bitmap_t *bitmap,const rectangle
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect,int priority)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = spriteram_size - 4;offs >= 0;offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4;offs >= 0;offs -= 4)
{
int big,sx,sy,flipx,flipy;
diff --git a/src/mame/video/seta.c b/src/mame/video/seta.c
index addd74c8d2e..c3f92f6f01b 100644
--- a/src/mame/video/seta.c
+++ b/src/mame/video/seta.c
@@ -679,7 +679,7 @@ static void set_pens(running_machine *machine)
for (i = 0; i < seta_paletteram_size / 2; i++)
{
- UINT16 data = paletteram16[i];
+ UINT16 data = machine->generic.paletteram.u16[i];
rgb_t color = MAKE_RGB(pal5bit(data >> 10), pal5bit(data >> 5), pal5bit(data >> 0));
@@ -691,20 +691,20 @@ static void set_pens(running_machine *machine)
}
-static void usclssic_set_pens(colortable_t *colortable)
+static void usclssic_set_pens(running_machine *machine)
{
offs_t i;
for (i = 0; i < 0x200; i++)
{
- UINT16 data = paletteram16[i];
+ UINT16 data = machine->generic.paletteram.u16[i];
rgb_t color = MAKE_RGB(pal5bit(data >> 10), pal5bit(data >> 5), pal5bit(data >> 0));
if (i >= 0x100)
- colortable_palette_set_color(colortable, i - 0x100, color);
+ colortable_palette_set_color(machine->colortable, i - 0x100, color);
else
- colortable_palette_set_color(colortable, i + 0x200, color);
+ colortable_palette_set_color(machine->colortable, i + 0x200, color);
}
}
@@ -721,6 +721,7 @@ static void usclssic_set_pens(colortable_t *colortable)
static void draw_sprites_map(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs, col;
int xoffs, yoffs;
@@ -733,7 +734,7 @@ static void draw_sprites_map(running_machine *machine, bitmap_t *bitmap,const re
int numcol = ctrl2 & 0x000f;
/* Sprites Banking and/or Sprites Buffering */
- UINT16 *src = spriteram16_2 + ( ((ctrl2 ^ (~ctrl2<<1)) & 0x40) ? 0x2000/2 : 0 );
+ UINT16 *src = machine->generic.spriteram2.u16 + ( ((ctrl2 ^ (~ctrl2<<1)) & 0x40) ? 0x2000/2 : 0 );
int upper = ( spriteram16[ 0x604/2 ] & 0xFF ) +
( spriteram16[ 0x606/2 ] & 0xFF ) * 256;
@@ -824,6 +825,7 @@ twineagl: 000 027 00 0f (test mode)
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
int xoffs, yoffs;
@@ -835,7 +837,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan
int flip = ctrl & 0x40;
/* Sprites Banking and/or Sprites Buffering */
- UINT16 *src = spriteram16_2 + ( ((ctrl2 ^ (~ctrl2<<1)) & 0x40) ? 0x2000/2 : 0 );
+ UINT16 *src = machine->generic.spriteram2.u16 + ( ((ctrl2 ^ (~ctrl2<<1)) & 0x40) ? 0x2000/2 : 0 );
int max_y = 0xf0;
@@ -908,7 +910,7 @@ static VIDEO_UPDATE( seta_layers )
int enab_0, enab_1, x_0, x_1, y_0, y_1;
int order = 0;
- int flip = (spriteram16[ 0x600/2 ] & 0x40) >> 6;
+ int flip = (screen->machine->generic.spriteram.u16[ 0x600/2 ] & 0x40) >> 6;
const rectangle *visarea = video_screen_get_visible_area(screen);
int vis_dimy = visarea->max_y - visarea->min_y + 1;
@@ -1047,7 +1049,7 @@ VIDEO_UPDATE( seta )
VIDEO_UPDATE( usclssic )
{
- usclssic_set_pens(screen->machine->colortable);
+ usclssic_set_pens(screen->machine);
return VIDEO_UPDATE_CALL(seta_layers);
}
diff --git a/src/mame/video/seta2.c b/src/mame/video/seta2.c
index 9decf516214..f6067ef25e0 100644
--- a/src/mame/video/seta2.c
+++ b/src/mame/video/seta2.c
@@ -161,8 +161,9 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan
{
/* Sprites list */
+ UINT16 *buffered_spriteram16 = machine->generic.buffered_spriteram.u16;
UINT16 *s1 = buffered_spriteram16 + 0x3000/2;
- UINT16 *end = &buffered_spriteram16[spriteram_size/2];
+ UINT16 *end = &buffered_spriteram16[machine->generic.spriteram_size/2];
for ( ; s1 < end; s1+=4 )
{
@@ -357,7 +358,7 @@ VIDEO_START( seta2 )
machine->gfx[4]->color_granularity = 16;
machine->gfx[5]->color_granularity = 16;
- buffered_spriteram16 = auto_alloc_array(machine, UINT16, spriteram_size/2);
+ machine->generic.buffered_spriteram.u16 = auto_alloc_array(machine, UINT16, machine->generic.spriteram_size/2);
yoffset = 0;
}
@@ -383,5 +384,5 @@ VIDEO_UPDATE( seta2 )
VIDEO_EOF( seta2 )
{
/* Buffer sprites by 1 frame */
- memcpy(buffered_spriteram16,spriteram16,spriteram_size);
+ memcpy(machine->generic.buffered_spriteram.u16,machine->generic.spriteram.u16,machine->generic.spriteram_size);
}
diff --git a/src/mame/video/shadfrce.c b/src/mame/video/shadfrce.c
index 9a74a08fc30..0a6438b1752 100644
--- a/src/mame/video/shadfrce.c
+++ b/src/mame/video/shadfrce.c
@@ -75,7 +75,7 @@ VIDEO_START( shadfrce )
shadfrce_bg1tilemap = tilemap_create(machine, get_shadfrce_bg1tile_info,tilemap_scan_rows, 16, 16,32,32);
- shadfrce_spvideoram_old = auto_alloc_array(machine, UINT16, spriteram_size/2);
+ shadfrce_spvideoram_old = auto_alloc_array(machine, UINT16, machine->generic.spriteram_size/2);
}
WRITE16_HANDLER ( shadfrce_bg0scrollx_w )
@@ -171,5 +171,5 @@ VIDEO_UPDATE( shadfrce )
VIDEO_EOF( shadfrce )
{
/* looks like sprites are *two* frames ahead */
- memcpy(shadfrce_spvideoram_old,shadfrce_spvideoram,spriteram_size);
+ memcpy(shadfrce_spvideoram_old,shadfrce_spvideoram,machine->generic.spriteram_size);
}
diff --git a/src/mame/video/shangkid.c b/src/mame/video/shangkid.c
index 865122800e5..6b51cc0a4fd 100644
--- a/src/mame/video/shangkid.c
+++ b/src/mame/video/shangkid.c
@@ -10,8 +10,8 @@ int shangkid_gfx_type;
static TILE_GET_INFO( get_bg_tile_info ){
- int attributes = videoram[tile_index+0x800];
- int tile_number = videoram[tile_index]+0x100*(attributes&0x3);
+ int attributes = machine->generic.videoram.u8[tile_index+0x800];
+ int tile_number = machine->generic.videoram.u8[tile_index]+0x100*(attributes&0x3);
int color;
if( shangkid_gfx_type==1 )
@@ -55,7 +55,7 @@ VIDEO_START( shangkid )
WRITE8_HANDLER( shangkid_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty( background, offset&0x7ff );
}
@@ -155,8 +155,8 @@ static void shangkid_draw_sprites(running_machine *machine, bitmap_t *bitmap, co
{
const UINT8 *source, *finish;
- finish = spriteram;
- source = spriteram+0x200;
+ finish = machine->generic.spriteram.u8;
+ source = machine->generic.spriteram.u8+0x200;
while( source>finish ){
source -= 8;
draw_sprite(machine, source, bitmap,cliprect );
@@ -242,8 +242,8 @@ static void dynamski_draw_background(running_machine *machine, bitmap_t *bitmap,
sx+=16;
}
- tile = videoram[i];
- attr = videoram[i+0x400];
+ tile = machine->generic.videoram.u8[i];
+ attr = machine->generic.videoram.u8[i+0x400];
/*
x---.---- priority?
-xx-.---- bank
@@ -274,13 +274,13 @@ static void dynamski_draw_sprites(running_machine *machine, bitmap_t *bitmap, co
int color;
for( i=0x7e; i>=0x00; i-=2 )
{
- bank = videoram[0x1b80+i];
- attr = videoram[0x1b81+i];
- tile = videoram[0xb80+i];
- color = videoram[0xb81+i];
- sy = 240-videoram[0x1380+i];
+ bank = machine->generic.videoram.u8[0x1b80+i];
+ attr = machine->generic.videoram.u8[0x1b81+i];
+ tile = machine->generic.videoram.u8[0xb80+i];
+ color = machine->generic.videoram.u8[0xb81+i];
+ sy = 240-machine->generic.videoram.u8[0x1380+i];
- sx = videoram[0x1381+i]-64+8+16;
+ sx = machine->generic.videoram.u8[0x1381+i]-64+8+16;
if( attr&1 ) sx += 0x100;
drawgfx_transpen(
diff --git a/src/mame/video/shaolins.c b/src/mame/video/shaolins.c
index 03f5387b645..558561cdf42 100644
--- a/src/mame/video/shaolins.c
+++ b/src/mame/video/shaolins.c
@@ -93,13 +93,13 @@ PALETTE_INIT( shaolins )
WRITE8_HANDLER( shaolins_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( shaolins_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -133,8 +133,8 @@ WRITE8_HANDLER( shaolins_nmi_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int attr = colorram[tile_index];
- int code = videoram[tile_index] + ((attr & 0x40) << 2);
+ int attr = machine->generic.colorram.u8[tile_index];
+ int code = machine->generic.videoram.u8[tile_index] + ((attr & 0x40) << 2);
int color = (attr & 0x0f) + 16 * palettebank;
int flags = (attr & 0x20) ? TILE_FLIPY : 0;
@@ -151,9 +151,10 @@ VIDEO_START( shaolins )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = spriteram_size-32; offs >= 0; offs-=32 ) /* max 24 sprites */
+ for (offs = machine->generic.spriteram_size-32; offs >= 0; offs-=32 ) /* max 24 sprites */
{
if (spriteram[offs] && spriteram[offs + 6]) /* stop rogue sprites on high score screen */
{
diff --git a/src/mame/video/shisen.c b/src/mame/video/shisen.c
index 3db301a255c..de20632a093 100644
--- a/src/mame/video/shisen.c
+++ b/src/mame/video/shisen.c
@@ -6,7 +6,7 @@ static tilemap *bg_tilemap;
WRITE8_HANDLER( sichuan2_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset / 2);
}
@@ -36,18 +36,18 @@ WRITE8_HANDLER( sichuan2_bankswitch_w )
WRITE8_HANDLER( sichuan2_paletteram_w )
{
- paletteram[offset] = data;
+ space->machine->generic.paletteram.u8[offset] = data;
offset &= 0xff;
- palette_set_color_rgb(space->machine, offset, pal5bit(paletteram[offset + 0x000]), pal5bit(paletteram[offset + 0x100]), pal5bit(paletteram[offset + 0x200]));
+ palette_set_color_rgb(space->machine, offset, pal5bit(space->machine->generic.paletteram.u8[offset + 0x000]), pal5bit(space->machine->generic.paletteram.u8[offset + 0x100]), pal5bit(space->machine->generic.paletteram.u8[offset + 0x200]));
}
static TILE_GET_INFO( get_bg_tile_info )
{
int offs = tile_index * 2;
- int code = videoram[offs] + ((videoram[offs + 1] & 0x0f) << 8) + (gfxbank << 12);
- int color = (videoram[offs + 1] & 0xf0) >> 4;
+ int code = machine->generic.videoram.u8[offs] + ((machine->generic.videoram.u8[offs + 1] & 0x0f) << 8) + (gfxbank << 12);
+ int color = (machine->generic.videoram.u8[offs + 1] & 0xf0) >> 4;
SET_TILE_INFO(0, code, color, 0);
}
diff --git a/src/mame/video/shootout.c b/src/mame/video/shootout.c
index d30826cdcf2..c933a9cd42e 100644
--- a/src/mame/video/shootout.c
+++ b/src/mame/video/shootout.c
@@ -41,8 +41,8 @@ PALETTE_INIT( shootout )
static TILE_GET_INFO( get_bg_tile_info ){
- int attributes = videoram[tile_index+0x400]; /* CCCC -TTT */
- int tile_number = videoram[tile_index] + 256*(attributes&7);
+ int attributes = machine->generic.videoram.u8[tile_index+0x400]; /* CCCC -TTT */
+ int tile_number = machine->generic.videoram.u8[tile_index] + 256*(attributes&7);
int color = attributes>>4;
SET_TILE_INFO(
2,
@@ -63,7 +63,7 @@ static TILE_GET_INFO( get_fg_tile_info ){
}
WRITE8_HANDLER( shootout_videoram_w ){
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty( background, offset&0x3ff );
}
WRITE8_HANDLER( shootout_textram_w ){
@@ -78,6 +78,7 @@ VIDEO_START( shootout ){
}
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int bank_bits ){
+ UINT8 *spriteram = machine->generic.spriteram.u8;
static int bFlicker;
const gfx_element *gfx = machine->gfx[1];
const UINT8 *source = spriteram+127*4;
diff --git a/src/mame/video/sidearms.c b/src/mame/video/sidearms.c
index 0a43225ae51..135f1f6ec2d 100644
--- a/src/mame/video/sidearms.c
+++ b/src/mame/video/sidearms.c
@@ -21,13 +21,13 @@ static tilemap *bg_tilemap, *fg_tilemap;
WRITE8_HANDLER( sidearms_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
WRITE8_HANDLER( sidearms_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
@@ -128,8 +128,8 @@ static TILE_GET_INFO( get_philko_bg_tile_info )
static TILE_GET_INFO( get_fg_tile_info )
{
- int attr = colorram[tile_index];
- int code = videoram[tile_index] + (attr<<2 & 0x300);
+ int attr = machine->generic.colorram.u8[tile_index];
+ int code = machine->generic.videoram.u8[tile_index] + (attr<<2 & 0x300);
int color = attr & 0x3f;
SET_TILE_INFO(0, code, color, 0);
@@ -173,6 +173,7 @@ VIDEO_START( sidearms )
static void draw_sprites_region(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int start_offset, int end_offset )
{
+ UINT8 *buffered_spriteram = machine->generic.buffered_spriteram.u8;
const gfx_element *gfx = machine->gfx[2];
int offs, attr, color, code, x, y, flipx, flipy;
diff --git a/src/mame/video/sidepckt.c b/src/mame/video/sidepckt.c
index 92b9a5ccec3..42dad216761 100644
--- a/src/mame/video/sidepckt.c
+++ b/src/mame/video/sidepckt.c
@@ -46,10 +46,10 @@ PALETTE_INIT( sidepckt )
static TILE_GET_INFO( get_tile_info )
{
- UINT8 attr = colorram[tile_index];
+ UINT8 attr = machine->generic.colorram.u8[tile_index];
SET_TILE_INFO(
0,
- videoram[tile_index] + ((attr & 0x07) << 8),
+ machine->generic.videoram.u8[tile_index] + ((attr & 0x07) << 8),
((attr & 0x10) >> 3) | ((attr & 0x20) >> 5),
TILE_FLIPX);
tileinfo->group = (attr & 0x80) >> 7;
@@ -83,13 +83,13 @@ VIDEO_START( sidepckt )
WRITE8_HANDLER( sidepckt_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap,offset);
}
WRITE8_HANDLER( sidepckt_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap,offset);
}
@@ -108,9 +108,10 @@ WRITE8_HANDLER( sidepckt_flipscreen_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = 0;offs < spriteram_size; offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram_size; offs += 4)
{
int sx,sy,code,color,flipx,flipy;
diff --git a/src/mame/video/simpl156.c b/src/mame/video/simpl156.c
index 504d38f7ff1..a3839a0b669 100644
--- a/src/mame/video/simpl156.c
+++ b/src/mame/video/simpl156.c
@@ -37,6 +37,7 @@ x = xpos
its the same sprite chip Data East used on many, many 16-bit era titles */
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT32 *spriteram32 = machine->generic.spriteram.u32;
int offs;
//FIXME: flip_screen_x should not be written!
@@ -140,7 +141,7 @@ VIDEO_START( simpl156 )
deco16_pf1_rowscroll = auto_alloc_array(machine, UINT16, 0x800/2);
deco16_pf2_rowscroll = auto_alloc_array(machine, UINT16, 0x800/2);
deco16_pf12_control = auto_alloc_array(machine, UINT16, 0x10/2);
- paletteram16 = auto_alloc_array(machine, UINT16, 0x1000/2);
+ machine->generic.paletteram.u16 = auto_alloc_array(machine, UINT16, 0x1000/2);
/* and register the allocated ram so that save states still work */
state_save_register_global_pointer(machine, deco16_pf1_data, 0x2000/2);
@@ -148,7 +149,7 @@ VIDEO_START( simpl156 )
state_save_register_global_pointer(machine, deco16_pf1_rowscroll, 0x800/2);
state_save_register_global_pointer(machine, deco16_pf2_rowscroll, 0x800/2);
state_save_register_global_pointer(machine, deco16_pf12_control, 0x10/2);
- state_save_register_global_pointer(machine, paletteram16, 0x1000/2);
+ state_save_register_global_pointer(machine, machine->generic.paletteram.u16, 0x1000/2);
deco16_1_video_init(machine);
diff --git a/src/mame/video/simpsons.c b/src/mame/video/simpsons.c
index 2ad4839b278..c68d6b299d0 100644
--- a/src/mame/video/simpsons.c
+++ b/src/mame/video/simpsons.c
@@ -77,9 +77,9 @@ static READ8_HANDLER( simpsons_K053247_r )
offs = offset >> 1;
if (offset & 1)
- return(spriteram16[offs] & 0xff);
+ return(space->machine->generic.spriteram.u16[offs] & 0xff);
else
- return(spriteram16[offs] >> 8);
+ return(space->machine->generic.spriteram.u16[offs] >> 8);
}
else return simpsons_xtraram[offset - 0x1000];
}
@@ -90,6 +90,7 @@ static WRITE8_HANDLER( simpsons_K053247_w )
if (offset < 0x1000)
{
+ UINT16 *spriteram16 = space->machine->generic.spriteram.u16;
offs = offset >> 1;
if (offset & 1)
@@ -105,7 +106,7 @@ void simpsons_video_banking(running_machine *machine, int bank)
if (bank & 1)
{
memory_install_readwrite8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x0000, 0x0fff, 0, 0, (read8_space_func)SMH_BANK(5), paletteram_xBBBBBGGGGGRRRRR_be_w);
- memory_set_bankptr(machine, 5, paletteram);
+ memory_set_bankptr(machine, 5, machine->generic.paletteram.v);
}
else
memory_install_readwrite8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x0000, 0x0fff, 0, 0, K052109_r, K052109_w);
diff --git a/src/mame/video/skyfox.c b/src/mame/video/skyfox.c
index b43c61ea2f6..9455fbc964f 100644
--- a/src/mame/video/skyfox.c
+++ b/src/mame/video/skyfox.c
@@ -166,6 +166,7 @@ Offset: Value:
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
int width = video_screen_get_width(machine->primary_screen);
@@ -174,7 +175,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
/* The 32x32 tiles in the 80-ff range are bankswitched */
int shift = (skyfox_bg_ctrl & 0x80) ? (4-1) : 4;
- for (offs = 0; offs < spriteram_size; offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 4)
{
int xstart, ystart, xend, yend;
int xinc, yinc, dx, dy;
diff --git a/src/mame/video/skykid.c b/src/mame/video/skykid.c
index 92fe2c5d601..b0f8421f5dc 100644
--- a/src/mame/video/skykid.c
+++ b/src/mame/video/skykid.c
@@ -116,9 +116,9 @@ VIDEO_START( skykid )
tilemap_set_transparent_pen(tx_tilemap, 0);
- spriteram = skykid_spriteram + 0x780;
- spriteram_2 = spriteram + 0x0800;
- spriteram_3 = spriteram_2 + 0x0800;
+ machine->generic.spriteram.u8 = skykid_spriteram + 0x780;
+ machine->generic.spriteram2.u8 = machine->generic.spriteram.u8 + 0x0800;
+ machine->generic.spriteram3.u8 = machine->generic.spriteram2.u8 + 0x0800;
state_save_register_global(machine, priority);
state_save_register_global(machine, scroll_x);
@@ -184,6 +184,9 @@ WRITE8_HANDLER( skykid_flipscreen_priority_w )
/* the sprite generator IC is the same as Mappy */
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
+ UINT8 *spriteram_2 = machine->generic.spriteram2.u8;
+ UINT8 *spriteram_3 = machine->generic.spriteram3.u8;
int offs;
for (offs = 0;offs < 0x80;offs += 2)
diff --git a/src/mame/video/slapfght.c b/src/mame/video/slapfght.c
index b3b03a3b4d5..558ccd83984 100644
--- a/src/mame/video/slapfght.c
+++ b/src/mame/video/slapfght.c
@@ -30,8 +30,8 @@ static TILE_GET_INFO( get_pf_tile_info ) /* For Performan only */
{
int tile,color;
- tile=videoram[tile_index] + ((colorram[tile_index] & 0x03) << 8);
- color=(colorram[tile_index] >> 3) & 0x0f;
+ tile=machine->generic.videoram.u8[tile_index] + ((machine->generic.colorram.u8[tile_index] & 0x03) << 8);
+ color=(machine->generic.colorram.u8[tile_index] >> 3) & 0x0f;
SET_TILE_INFO(
0,
tile,
@@ -43,8 +43,8 @@ static TILE_GET_INFO( get_pf1_tile_info )
{
int tile,color;
- tile=videoram[tile_index] + ((colorram[tile_index] & 0x0f) << 8);
- color=(colorram[tile_index] & 0xf0) >> 4;
+ tile=machine->generic.videoram.u8[tile_index] + ((machine->generic.colorram.u8[tile_index] & 0x0f) << 8);
+ color=(machine->generic.colorram.u8[tile_index] & 0xf0) >> 4;
SET_TILE_INFO(
1,
@@ -98,13 +98,13 @@ VIDEO_START( slapfight )
WRITE8_HANDLER( slapfight_videoram_w )
{
- videoram[offset]=data;
+ space->machine->generic.videoram.u8[offset]=data;
tilemap_mark_tile_dirty(pf1_tilemap,offset);
}
WRITE8_HANDLER( slapfight_colorram_w )
{
- colorram[offset]=data;
+ space->machine->generic.colorram.u8[offset]=data;
tilemap_mark_tile_dirty(pf1_tilemap,offset);
}
@@ -140,7 +140,7 @@ static void slapfght_log_vram(running_machine *machine)
int i;
for (i=0; i<0x800; i++)
{
- logerror("Offset:%03x TileRAM:%02x AttribRAM:%02x SpriteRAM:%02x\n",i, videoram[i],colorram[i],spriteram[i]);
+ logerror("Offset:%03x TileRAM:%02x AttribRAM:%02x SpriteRAM:%02x\n",i, machine->generic.videoram.u8[i],machine->generic.colorram.u8[i],machine->generic.spriteram.u8[i]);
}
}
#endif
@@ -153,9 +153,10 @@ static void slapfght_log_vram(running_machine *machine)
***************************************************************************/
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int priority_to_display )
{
+ UINT8 *buffered_spriteram = machine->generic.buffered_spriteram.u8;
int offs;
- for (offs = 0;offs < spriteram_size;offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram_size;offs += 4)
{
int sx, sy;
@@ -206,6 +207,7 @@ VIDEO_UPDATE( perfrman )
VIDEO_UPDATE( slapfight )
{
+ UINT8 *buffered_spriteram = screen->machine->generic.buffered_spriteram.u8;
int offs;
tilemap_set_flip_all(screen->machine,flipscreen ? (TILEMAP_FLIPY | TILEMAP_FLIPX) : 0);
@@ -225,7 +227,7 @@ VIDEO_UPDATE( slapfight )
tilemap_draw(bitmap,cliprect,pf1_tilemap,0,0);
/* Draw the sprites */
- for (offs = 0;offs < spriteram_size;offs += 4)
+ for (offs = 0;offs < screen->machine->generic.spriteram_size;offs += 4)
{
if (flipscreen)
drawgfx_transpen(bitmap,cliprect,screen->machine->gfx[2],
diff --git a/src/mame/video/slapshot.c b/src/mame/video/slapshot.c
index 7264e27bb71..83386dd7888 100644
--- a/src/mame/video/slapshot.c
+++ b/src/mame/video/slapshot.c
@@ -34,8 +34,8 @@ static VIDEO_START( slapshot_core )
{
int i;
- spriteram_delayed = auto_alloc_array(machine, UINT16, spriteram_size/2);
- spriteram_buffered = auto_alloc_array(machine, UINT16, spriteram_size/2);
+ spriteram_delayed = auto_alloc_array(machine, UINT16, machine->generic.spriteram_size/2);
+ spriteram_buffered = auto_alloc_array(machine, UINT16, machine->generic.spriteram_size/2);
spritelist = auto_alloc_array(machine, struct tempsprite, 0x400);
if (has_TC0480SCP(machine)) /* it's a tc0480scp game */
@@ -56,8 +56,8 @@ static VIDEO_START( slapshot_core )
state_save_register_global_array(machine, spritebank);
state_save_register_global(machine, sprites_disabled);
state_save_register_global(machine, sprites_active_area);
- state_save_register_global_pointer(machine, spriteram_delayed, spriteram_size/2);
- state_save_register_global_pointer(machine, spriteram_buffered, spriteram_size/2);
+ state_save_register_global_pointer(machine, spriteram_delayed, machine->generic.spriteram_size/2);
+ state_save_register_global_pointer(machine, spriteram_buffered, machine->generic.spriteram_size/2);
}
VIDEO_START( slapshot )
@@ -438,22 +438,22 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan
static int prepare_sprites;
-static void taito_handle_sprite_buffering(void)
+static void taito_handle_sprite_buffering(running_machine *machine)
{
if (prepare_sprites) /* no buffering */
{
- memcpy(spriteram_buffered,spriteram16,spriteram_size);
+ memcpy(spriteram_buffered,machine->generic.spriteram.u16,machine->generic.spriteram_size);
prepare_sprites = 0;
}
}
-static void taito_update_sprites_active_area(void)
+static void taito_update_sprites_active_area(running_machine *machine)
{
int off;
/* if the frame was skipped, we'll have to do the buffering now */
- taito_handle_sprite_buffering();
+ taito_handle_sprite_buffering(machine);
/* safety check to avoid getting stuck in bank 2 for games using only one bank */
if (sprites_active_area == 0x8000 &&
@@ -486,7 +486,7 @@ static void taito_update_sprites_active_area(void)
VIDEO_EOF( taito_no_buffer )
{
- taito_update_sprites_active_area();
+ taito_update_sprites_active_area(machine);
prepare_sprites = 1;
}
@@ -551,7 +551,7 @@ VIDEO_UPDATE( slapshot )
}
#endif
- taito_handle_sprite_buffering();
+ taito_handle_sprite_buffering(screen->machine);
TC0480SCP_tilemap_update(screen->machine);
diff --git a/src/mame/video/snk.c b/src/mame/video/snk.c
index 6a46c4f61e8..783b844b02a 100644
--- a/src/mame/video/snk.c
+++ b/src/mame/video/snk.c
@@ -650,7 +650,7 @@ WRITE8_HANDLER( tdfever_sp_scroll_msb_w )
WRITE8_HANDLER( tdfever_spriteram_w )
{
/* partial updates avoid flickers in the fsoccer radar. */
- if (offset < 0x80 && spriteram[offset] != data)
+ if (offset < 0x80 && space->machine->generic.spriteram.u8[offset] != data)
{
int vpos = video_screen_get_vpos(space->machine->primary_screen);
@@ -658,7 +658,7 @@ WRITE8_HANDLER( tdfever_spriteram_w )
video_screen_update_partial(space->machine->primary_screen, vpos - 1);
}
- spriteram[offset] = data;
+ space->machine->generic.spriteram.u8[offset] = data;
}
/**************************************************************************************/
@@ -669,8 +669,8 @@ static void marvins_draw_sprites(running_machine *machine, bitmap_t *bitmap, con
const gfx_element *gfx = machine->gfx[3];
const UINT8 *source, *finish;
- source = spriteram + from*4;
- finish = spriteram + to*4;
+ source = machine->generic.spriteram.u8 + from*4;
+ finish = machine->generic.spriteram.u8 + to*4;
while( source<finish )
{
@@ -709,6 +709,7 @@ static void marvins_draw_sprites(running_machine *machine, bitmap_t *bitmap, con
static void tnk3_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, const int xscroll, const int yscroll)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
const gfx_element *gfx = machine->gfx[2];
const int size = gfx->width;
int tile_number, attributes, color, sx, sy;
@@ -941,9 +942,9 @@ VIDEO_UPDATE( ikari )
tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 0);
- ikari_draw_sprites(screen->machine, bitmap, cliprect, 0, sp16_scrollx, sp16_scrolly, spriteram + 0x800, 2 );
- ikari_draw_sprites(screen->machine, bitmap, cliprect, 0, sp32_scrollx, sp32_scrolly, spriteram, 3 );
- ikari_draw_sprites(screen->machine, bitmap, cliprect, 25, sp16_scrollx, sp16_scrolly, spriteram + 0x800, 2 );
+ ikari_draw_sprites(screen->machine, bitmap, cliprect, 0, sp16_scrollx, sp16_scrolly, screen->machine->generic.spriteram.u8 + 0x800, 2 );
+ ikari_draw_sprites(screen->machine, bitmap, cliprect, 0, sp32_scrollx, sp32_scrolly, screen->machine->generic.spriteram.u8, 3 );
+ ikari_draw_sprites(screen->machine, bitmap, cliprect, 25, sp16_scrollx, sp16_scrolly, screen->machine->generic.spriteram.u8 + 0x800, 2 );
tilemap_draw(bitmap, cliprect, tx_tilemap, 0, 0);
return 0;
@@ -957,9 +958,9 @@ VIDEO_UPDATE( gwar )
tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 0);
- tdfever_draw_sprites(screen->machine, bitmap, cliprect, sp16_scrollx, sp16_scrolly, spriteram + 0x800, 2, 0, 0, sprite_split_point );
- tdfever_draw_sprites(screen->machine, bitmap, cliprect, sp32_scrollx, sp32_scrolly, spriteram, 3, 0, 0, 32 );
- tdfever_draw_sprites(screen->machine, bitmap, cliprect, sp16_scrollx, sp16_scrolly, spriteram + 0x800, 2, 0, sprite_split_point, 64 );
+ tdfever_draw_sprites(screen->machine, bitmap, cliprect, sp16_scrollx, sp16_scrolly, screen->machine->generic.spriteram.u8 + 0x800, 2, 0, 0, sprite_split_point );
+ tdfever_draw_sprites(screen->machine, bitmap, cliprect, sp32_scrollx, sp32_scrolly, screen->machine->generic.spriteram.u8, 3, 0, 0, 32 );
+ tdfever_draw_sprites(screen->machine, bitmap, cliprect, sp16_scrollx, sp16_scrolly, screen->machine->generic.spriteram.u8 + 0x800, 2, 0, sprite_split_point, 64 );
tilemap_draw(bitmap, cliprect, tx_tilemap, 0, 0);
@@ -974,7 +975,7 @@ VIDEO_UPDATE( tdfever )
tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 0);
- tdfever_draw_sprites(screen->machine, bitmap, cliprect, sp32_scrollx, sp32_scrolly, spriteram, 2, 1, 0, 32 );
+ tdfever_draw_sprites(screen->machine, bitmap, cliprect, sp32_scrollx, sp32_scrolly, screen->machine->generic.spriteram.u8, 2, 1, 0, 32 );
tilemap_draw(bitmap, cliprect, tx_tilemap, 0, 0);
diff --git a/src/mame/video/snk6502.c b/src/mame/video/snk6502.c
index 3bb1f791ff4..9ddf57962ff 100644
--- a/src/mame/video/snk6502.c
+++ b/src/mame/video/snk6502.c
@@ -86,7 +86,7 @@ PALETTE_INIT( snk6502 )
WRITE8_HANDLER( snk6502_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -98,7 +98,7 @@ WRITE8_HANDLER( snk6502_videoram2_w )
WRITE8_HANDLER( snk6502_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
@@ -161,8 +161,8 @@ WRITE8_HANDLER( snk6502_scrolly_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = videoram[tile_index] + 256 * charbank;
- int color = (colorram[tile_index] & 0x38) >> 3;
+ int code = machine->generic.videoram.u8[tile_index] + 256 * charbank;
+ int color = (machine->generic.colorram.u8[tile_index] & 0x38) >> 3;
SET_TILE_INFO(1, code, color, 0);
}
@@ -170,7 +170,7 @@ static TILE_GET_INFO( get_bg_tile_info )
static TILE_GET_INFO( get_fg_tile_info )
{
int code = snk6502_videoram2[tile_index];
- int color = colorram[tile_index] & 0x07;
+ int color = machine->generic.colorram.u8[tile_index] & 0x07;
SET_TILE_INFO(0, code, color, 0);
}
@@ -281,8 +281,8 @@ WRITE8_HANDLER( satansat_backcolor_w )
static TILE_GET_INFO( satansat_get_bg_tile_info )
{
- int code = videoram[tile_index];
- int color = (colorram[tile_index] & 0x0c) >> 2;
+ int code = machine->generic.videoram.u8[tile_index];
+ int color = (machine->generic.colorram.u8[tile_index] & 0x0c) >> 2;
SET_TILE_INFO(1, code, color, 0);
}
@@ -290,7 +290,7 @@ static TILE_GET_INFO( satansat_get_bg_tile_info )
static TILE_GET_INFO( satansat_get_fg_tile_info )
{
int code = snk6502_videoram2[tile_index];
- int color = colorram[tile_index] & 0x03;
+ int color = machine->generic.colorram.u8[tile_index] & 0x03;
SET_TILE_INFO(0, code, color, 0);
}
diff --git a/src/mame/video/snk68.c b/src/mame/video/snk68.c
index ab07c6a134e..17e31f95cf6 100644
--- a/src/mame/video/snk68.c
+++ b/src/mame/video/snk68.c
@@ -87,13 +87,14 @@ READ16_HANDLER( pow_spriteram_r )
// streetsj expects the MSB of every 32-bit word to be FF. Presumably RAM
// exists only for 3 bytes out of 4 and the fourth is unmapped.
if (!(offset & 1))
- return spriteram16[offset] | 0xff00;
+ return space->machine->generic.spriteram.u16[offset] | 0xff00;
else
- return spriteram16[offset];
+ return space->machine->generic.spriteram.u16[offset];
}
WRITE16_HANDLER( pow_spriteram_w )
{
+ UINT16 *spriteram16 = space->machine->generic.spriteram.u16;
UINT16 newword = spriteram16[offset];
if (!(offset & 1))
@@ -165,8 +166,8 @@ WRITE16_HANDLER( pow_paletteram16_word_w )
UINT16 newword;
int r,g,b;
- COMBINE_DATA(&paletteram16[offset]);
- newword = paletteram16[offset];
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
+ newword = space->machine->generic.paletteram.u16[offset];
r = ((newword >> 7) & 0x1e) | ((newword >> 14) & 0x01);
g = ((newword >> 3) & 0x1e) | ((newword >> 13) & 0x01) ;
@@ -184,6 +185,7 @@ WRITE16_HANDLER( pow_paletteram16_word_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int group)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
const UINT16* tiledata = &spriteram16[0x800*group];
// pow has 0x4000 tiles and independent x/y flipping
diff --git a/src/mame/video/snookr10.c b/src/mame/video/snookr10.c
index 78428ae6531..085c2c4cb06 100644
--- a/src/mame/video/snookr10.c
+++ b/src/mame/video/snookr10.c
@@ -45,13 +45,13 @@ static tilemap *bg_tilemap;
WRITE8_HANDLER( snookr10_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( snookr10_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -102,9 +102,9 @@ static TILE_GET_INFO( get_bg_tile_info )
---- xxxx seems unused.
*/
int offs = tile_index;
- int attr = videoram[offs] + (colorram[offs] << 8);
+ int attr = machine->generic.videoram.u8[offs] + (machine->generic.colorram.u8[offs] << 8);
int code = attr & 0xfff;
- int color = colorram[offs] >> 4;
+ int color = machine->generic.colorram.u8[offs] >> 4;
SET_TILE_INFO(0, code, color, 0);
}
@@ -164,9 +164,9 @@ static TILE_GET_INFO( apple10_get_bg_tile_info )
---- xxxx seems unused.
*/
int offs = tile_index;
- int attr = videoram[offs] + (colorram[offs] << 8);
+ int attr = machine->generic.videoram.u8[offs] + (machine->generic.colorram.u8[offs] << 8);
int code = BITSWAP16((attr & 0xfff),15,14,13,12,8,9,10,11,0,1,2,3,4,5,6,7); /* encrypted tile matrix */
- int color = colorram[offs] >> 4;
+ int color = machine->generic.colorram.u8[offs] >> 4;
SET_TILE_INFO(0, code, color, 0);
}
diff --git a/src/mame/video/solomon.c b/src/mame/video/solomon.c
index 19ad4cef94c..e7d2a9c8961 100644
--- a/src/mame/video/solomon.c
+++ b/src/mame/video/solomon.c
@@ -7,13 +7,13 @@ static tilemap *bg_tilemap, *fg_tilemap;
WRITE8_HANDLER( solomon_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
WRITE8_HANDLER( solomon_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
@@ -50,8 +50,8 @@ static TILE_GET_INFO( get_bg_tile_info )
static TILE_GET_INFO( get_fg_tile_info )
{
- int attr = colorram[tile_index];
- int code = videoram[tile_index] + 256 * (attr & 0x07);
+ int attr = machine->generic.colorram.u8[tile_index];
+ int code = machine->generic.videoram.u8[tile_index] + 256 * (attr & 0x07);
int color = (attr & 0x70) >> 4;
SET_TILE_INFO(0, code, color, 0);
@@ -70,9 +70,10 @@ VIDEO_START( solomon )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = spriteram_size - 4; offs >= 0; offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4; offs >= 0; offs -= 4)
{
int code = spriteram[offs] + 16 * (spriteram[offs + 1] & 0x10);
int color = (spriteram[offs + 1] & 0x0e) >> 1;
diff --git a/src/mame/video/sonson.c b/src/mame/video/sonson.c
index 980a89c823e..b6d16993620 100644
--- a/src/mame/video/sonson.c
+++ b/src/mame/video/sonson.c
@@ -96,13 +96,13 @@ PALETTE_INIT( sonson )
WRITE8_HANDLER( sonson_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( sonson_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -121,8 +121,8 @@ WRITE8_HANDLER( sonson_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int attr = colorram[tile_index];
- int code = videoram[tile_index] + 256 * (attr & 0x03);
+ int attr = machine->generic.colorram.u8[tile_index];
+ int code = machine->generic.videoram.u8[tile_index] + 256 * (attr & 0x03);
int color = attr >> 2;
SET_TILE_INFO(0, code, color, 0);
@@ -137,9 +137,10 @@ VIDEO_START( sonson )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = spriteram_size - 4; offs >= 0; offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4; offs >= 0; offs -= 4)
{
int code = spriteram[offs + 2] + ((spriteram[offs + 1] & 0x20) << 3);
int color = spriteram[offs + 1] & 0x1f;
diff --git a/src/mame/video/spcforce.c b/src/mame/video/spcforce.c
index 114589fd145..09ea5a4fe0e 100644
--- a/src/mame/video/spcforce.c
+++ b/src/mame/video/spcforce.c
@@ -28,7 +28,7 @@ VIDEO_UPDATE( spcforce )
bitmap_fill(bitmap,cliprect,0);
- for (offs = 0; offs < videoram_size; offs++)
+ for (offs = 0; offs < screen->machine->generic.videoram_size; offs++)
{
int code,sx,sy,col;
@@ -36,8 +36,8 @@ VIDEO_UPDATE( spcforce )
sy = 8 * (offs / 32) - (spcforce_scrollram[offs] & 0x0f);
sx = 8 * (offs % 32) + ((spcforce_scrollram[offs] >> 4) & 0x0f);
- code = videoram[offs] + ((colorram[offs] & 0x01) << 8);
- col = (~colorram[offs] >> 4) & 0x07;
+ code = screen->machine->generic.videoram.u8[offs] + ((screen->machine->generic.colorram.u8[offs] & 0x01) << 8);
+ col = (~screen->machine->generic.colorram.u8[offs] >> 4) & 0x07;
if (flip_screen_get(screen->machine))
{
diff --git a/src/mame/video/spdodgeb.c b/src/mame/video/spdodgeb.c
index e6ed5ef8b8f..beee6dacc60 100644
--- a/src/mame/video/spdodgeb.c
+++ b/src/mame/video/spdodgeb.c
@@ -157,6 +157,7 @@ WRITE8_HANDLER( spdodgeb_videoram_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
const gfx_element *gfx = machine->gfx[1];
UINT8 *src;
int i;
@@ -166,7 +167,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
/* 240-SY Z|F|CLR|WCH WHICH SX
xxxxxxxx x|x|xxx|xxx xxxxxxxx xxxxxxxx
*/
- for (i = 0;i < spriteram_size;i += 4)
+ for (i = 0;i < machine->generic.spriteram_size;i += 4)
{
int attr = src[i+1];
int which = src[i+2]+((attr & 0x07)<<8);
diff --git a/src/mame/video/speedatk.c b/src/mame/video/speedatk.c
index 33a69b2dccb..5f8bee3dd82 100644
--- a/src/mame/video/speedatk.c
+++ b/src/mame/video/speedatk.c
@@ -75,13 +75,13 @@ PALETTE_INIT( speedatk )
WRITE8_HANDLER( speedatk_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( speedatk_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -89,9 +89,9 @@ static TILE_GET_INFO( get_tile_info )
{
int code, color, region;
- code = videoram[tile_index] + ((colorram[tile_index] & 0xe0) << 3);
- color = colorram[tile_index] & 0x1f;
- region = (colorram[tile_index] & 0x10) >> 4;
+ code = machine->generic.videoram.u8[tile_index] + ((machine->generic.colorram.u8[tile_index] & 0xe0) << 3);
+ color = machine->generic.colorram.u8[tile_index] & 0x1f;
+ region = (machine->generic.colorram.u8[tile_index] & 0x10) >> 4;
SET_TILE_INFO(region, code, color, 0);
}
diff --git a/src/mame/video/speedbal.c b/src/mame/video/speedbal.c
index 451e1046f3d..31af68ffbe1 100644
--- a/src/mame/video/speedbal.c
+++ b/src/mame/video/speedbal.c
@@ -84,11 +84,12 @@ WRITE8_HANDLER( speedbal_background_videoram_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int x,y,code,color,offset,flipx,flipy;
/* Drawing sprites: 64 in total */
- for (offset = 0;offset < spriteram_size;offset += 4)
+ for (offset = 0;offset < machine->generic.spriteram_size;offset += 4)
{
if(!(spriteram[offset + 2] & 0x80))
continue;
diff --git a/src/mame/video/sprint4.c b/src/mame/video/sprint4.c
index d18edbda096..b80170f95ae 100644
--- a/src/mame/video/sprint4.c
+++ b/src/mame/video/sprint4.c
@@ -42,7 +42,7 @@ PALETTE_INIT( sprint4 )
static TILE_GET_INFO( sprint4_tile_info )
{
- UINT8 code = videoram[tile_index];
+ UINT8 code = machine->generic.videoram.u8[tile_index];
if ((code & 0x30) == 0x30)
SET_TILE_INFO(0, code & ~0x40, (code >> 6) ^ 3, 0);
@@ -69,10 +69,10 @@ VIDEO_UPDATE( sprint4 )
{
int bank = 0;
- UINT8 horz = videoram[0x390 + 2 * i + 0];
- UINT8 attr = videoram[0x390 + 2 * i + 1];
- UINT8 vert = videoram[0x398 + 2 * i + 0];
- UINT8 code = videoram[0x398 + 2 * i + 1];
+ UINT8 horz = screen->machine->generic.videoram.u8[0x390 + 2 * i + 0];
+ UINT8 attr = screen->machine->generic.videoram.u8[0x390 + 2 * i + 1];
+ UINT8 vert = screen->machine->generic.videoram.u8[0x398 + 2 * i + 0];
+ UINT8 code = screen->machine->generic.videoram.u8[0x398 + 2 * i + 1];
if (i & 1)
bank = 32;
@@ -105,9 +105,9 @@ VIDEO_EOF( sprint4 )
int bank = 0;
- UINT8 horz = videoram[0x390 + 2 * i + 0];
- UINT8 vert = videoram[0x398 + 2 * i + 0];
- UINT8 code = videoram[0x398 + 2 * i + 1];
+ UINT8 horz = machine->generic.videoram.u8[0x390 + 2 * i + 0];
+ UINT8 vert = machine->generic.videoram.u8[0x398 + 2 * i + 0];
+ UINT8 code = machine->generic.videoram.u8[0x398 + 2 * i + 1];
rect.min_x = horz - 15;
rect.min_y = vert - 15;
@@ -136,15 +136,15 @@ VIDEO_EOF( sprint4 )
/* update sound status */
- discrete_sound_w(discrete, SPRINT4_MOTOR_DATA_1, videoram[0x391] & 15);
- discrete_sound_w(discrete, SPRINT4_MOTOR_DATA_2, videoram[0x393] & 15);
- discrete_sound_w(discrete, SPRINT4_MOTOR_DATA_3, videoram[0x395] & 15);
- discrete_sound_w(discrete, SPRINT4_MOTOR_DATA_4, videoram[0x397] & 15);
+ discrete_sound_w(discrete, SPRINT4_MOTOR_DATA_1, machine->generic.videoram.u8[0x391] & 15);
+ discrete_sound_w(discrete, SPRINT4_MOTOR_DATA_2, machine->generic.videoram.u8[0x393] & 15);
+ discrete_sound_w(discrete, SPRINT4_MOTOR_DATA_3, machine->generic.videoram.u8[0x395] & 15);
+ discrete_sound_w(discrete, SPRINT4_MOTOR_DATA_4, machine->generic.videoram.u8[0x397] & 15);
}
WRITE8_HANDLER( sprint4_video_ram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(playfield, offset);
}
diff --git a/src/mame/video/srmp2.c b/src/mame/video/srmp2.c
index f8bc9feb28a..ee52f5c8752 100644
--- a/src/mame/video/srmp2.c
+++ b/src/mame/video/srmp2.c
@@ -68,6 +68,7 @@ static void srmp2_draw_sprites(running_machine *machine, bitmap_t *bitmap, const
---- ---- -x-- ---- : Flip screen
*/
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
int xoffs, yoffs;
@@ -77,7 +78,7 @@ static void srmp2_draw_sprites(running_machine *machine, bitmap_t *bitmap, const
int flip = ctrl & 0x40;
/* Sprites Banking and/or Sprites Buffering */
- UINT16 *src = spriteram16_2 + ( ((ctrl2 ^ (~ctrl2<<1)) & 0x40) ? 0x2000/2 : 0 );
+ UINT16 *src = machine->generic.spriteram2.u16 + ( ((ctrl2 ^ (~ctrl2<<1)) & 0x40) ? 0x2000/2 : 0 );
int max_y = video_screen_get_height(machine->primary_screen);
@@ -119,6 +120,9 @@ static void srmp2_draw_sprites(running_machine *machine, bitmap_t *bitmap, const
static void srmp3_draw_sprites_map(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
+ UINT8 *spriteram_2 = machine->generic.spriteram2.u8;
+ UINT8 *spriteram_3 = machine->generic.spriteram3.u8;
int offs, col;
int xoffs, yoffs;
@@ -225,6 +229,9 @@ static void srmp3_draw_sprites(running_machine *machine, bitmap_t *bitmap, const
-x-- ---- : Flip screen
*/
+ UINT8 *spriteram = machine->generic.spriteram.u8;
+ UINT8 *spriteram_2 = machine->generic.spriteram2.u8;
+ UINT8 *spriteram_3 = machine->generic.spriteram3.u8;
int offs;
int xoffs, yoffs;
@@ -275,6 +282,7 @@ static void srmp3_draw_sprites(running_machine *machine, bitmap_t *bitmap, const
static void mjyuugi_draw_sprites_map(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs, col;
int xoffs, yoffs;
@@ -287,7 +295,7 @@ static void mjyuugi_draw_sprites_map(running_machine *machine, bitmap_t *bitmap,
int numcol = ctrl2 & 0x000f;
/* Sprites Banking and/or Sprites Buffering */
- UINT16 *src = spriteram16_2 + ( ((ctrl2 ^ (~ctrl2<<1)) & 0x40) ? 0x2000/2 : 0 );
+ UINT16 *src = machine->generic.spriteram2.u16 + ( ((ctrl2 ^ (~ctrl2<<1)) & 0x40) ? 0x2000/2 : 0 );
int upper = ( spriteram16[ 0x604/2 ] & 0xFF ) +
( spriteram16[ 0x606/2 ] & 0xFF ) * 256;
@@ -377,6 +385,7 @@ static void mjyuugi_draw_sprites(running_machine *machine, bitmap_t *bitmap, con
---- ---- -x-- ---- : Flip screen
*/
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
int xoffs, yoffs;
@@ -386,7 +395,7 @@ static void mjyuugi_draw_sprites(running_machine *machine, bitmap_t *bitmap, con
int flip = ctrl & 0x40;
/* Sprites Banking and/or Sprites Buffering */
- UINT16 *src = spriteram16_2 + ( ((ctrl2 ^ (~ctrl2<<1)) & 0x40) ? 0x2000/2 : 0 );
+ UINT16 *src = machine->generic.spriteram2.u16 + ( ((ctrl2 ^ (~ctrl2<<1)) & 0x40) ? 0x2000/2 : 0 );
int max_y = video_screen_get_height(machine->primary_screen);
diff --git a/src/mame/video/srumbler.c b/src/mame/video/srumbler.c
index e97e7db5366..891aa52d371 100644
--- a/src/mame/video/srumbler.c
+++ b/src/mame/video/srumbler.c
@@ -114,10 +114,11 @@ WRITE8_HANDLER( srumbler_scroll_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *buffered_spriteram = machine->generic.buffered_spriteram.u8;
int offs;
/* Draw the sprites. */
- for (offs = spriteram_size-4; offs>=0;offs -= 4)
+ for (offs = machine->generic.spriteram_size-4; offs>=0;offs -= 4)
{
/* SPRITES
=====
diff --git a/src/mame/video/sshangha.c b/src/mame/video/sshangha.c
index 624ef2c3cbe..5fbc60041e7 100644
--- a/src/mame/video/sshangha.c
+++ b/src/mame/video/sshangha.c
@@ -225,11 +225,11 @@ VIDEO_UPDATE( sshangha )
used in any tilemap, so we plot it on the fly */
if ((sshangha_video_control&4)==0) {
sshangha_tilemap_draw(bitmap, cliprect);
- draw_sprites(screen->machine, bitmap, cliprect, spriteram16,0x4000,0x4000);
+ draw_sprites(screen->machine, bitmap, cliprect, screen->machine->generic.spriteram.u16,0x4000,0x4000);
}
else {
tilemap_draw(bitmap,cliprect,pf2_tilemap,0,0);
- draw_sprites(screen->machine, bitmap, cliprect, spriteram16,0x4000,0x4000);
+ draw_sprites(screen->machine, bitmap, cliprect, screen->machine->generic.spriteram.u16,0x4000,0x4000);
if (sshangha_control_0[6]&0x80)
tilemap_draw(bitmap,cliprect,pf1_8x8_tilemap,0,0);
@@ -237,7 +237,7 @@ VIDEO_UPDATE( sshangha )
tilemap_draw(bitmap,cliprect,pf1_16x16_tilemap,0,0);
}
- draw_sprites(screen->machine, bitmap, cliprect, spriteram16_2,0x0000,0x0000);
- draw_sprites(screen->machine, bitmap, cliprect, spriteram16,0x4000,0x0000);
+ draw_sprites(screen->machine, bitmap, cliprect, screen->machine->generic.spriteram2.u16,0x0000,0x0000);
+ draw_sprites(screen->machine, bitmap, cliprect, screen->machine->generic.spriteram.u16,0x4000,0x0000);
return 0;
}
diff --git a/src/mame/video/ssozumo.c b/src/mame/video/ssozumo.c
index eb2adf27503..ec11076d67d 100644
--- a/src/mame/video/ssozumo.c
+++ b/src/mame/video/ssozumo.c
@@ -46,13 +46,13 @@ PALETTE_INIT( ssozumo )
WRITE8_HANDLER( ssozumo_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( ssozumo_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -74,24 +74,24 @@ WRITE8_HANDLER( ssozumo_paletteram_w )
int r, g, b;
int offs2;
- paletteram[offset] = data;
+ space->machine->generic.paletteram.u8[offset] = data;
offs2 = offset & 0x0f;
- val = paletteram[offs2];
+ val = space->machine->generic.paletteram.u8[offs2];
bit0 = (val >> 0) & 0x01;
bit1 = (val >> 1) & 0x01;
bit2 = (val >> 2) & 0x01;
bit3 = (val >> 3) & 0x01;
r = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- val = paletteram[offs2 | 0x10];
+ val = space->machine->generic.paletteram.u8[offs2 | 0x10];
bit0 = (val >> 0) & 0x01;
bit1 = (val >> 1) & 0x01;
bit2 = (val >> 2) & 0x01;
bit3 = (val >> 3) & 0x01;
g = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- val = paletteram[offs2 | 0x20];
+ val = space->machine->generic.paletteram.u8[offs2 | 0x20];
bit0 = (val >> 0) & 0x01;
bit1 = (val >> 1) & 0x01;
bit2 = (val >> 2) & 0x01;
@@ -113,8 +113,8 @@ WRITE8_HANDLER( ssozumo_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = videoram[tile_index] + ((colorram[tile_index] & 0x08) << 5);
- int color = (colorram[tile_index] & 0x30) >> 4;
+ int code = machine->generic.videoram.u8[tile_index] + ((machine->generic.colorram.u8[tile_index] & 0x08) << 5);
+ int color = (machine->generic.colorram.u8[tile_index] & 0x30) >> 4;
int flags = ((tile_index % 32) >= 16) ? TILE_FLIPY : 0;
SET_TILE_INFO(1, code, color, flags);
@@ -141,9 +141,10 @@ VIDEO_START( ssozumo )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = 0; offs < spriteram_size; offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 4)
{
if (spriteram[offs] & 0x01)
{
diff --git a/src/mame/video/ssv.c b/src/mame/video/ssv.c
index 1bdabe4d933..76fcac264df 100644
--- a/src/mame/video/ssv.c
+++ b/src/mame/video/ssv.c
@@ -390,12 +390,12 @@ WRITE16_HANDLER( paletteram16_xrgb_swap_word_w )
int r, g, b;
UINT16 data0, data1;
- COMBINE_DATA(paletteram16 + offset);
+ COMBINE_DATA(space->machine->generic.paletteram.u16 + offset);
offset &= ~1;
- data0 = paletteram16[offset + 1];
- data1 = paletteram16[offset];
+ data0 = space->machine->generic.paletteram.u16[offset + 1];
+ data1 = space->machine->generic.paletteram.u16[offset];
r = data0 & 0xff;
g = data1 >> 8;
@@ -594,6 +594,7 @@ From the above some noteworthy cases are:
static void draw_row(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int sx, int sy, int scroll)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
rectangle clip;
int attr, code, color, mode, size, page, shadow;
int x, x1, sx1, flipx, xnum, xstart, xend, xinc;
@@ -729,6 +730,7 @@ static void draw_layer(running_machine *machine, bitmap_t *bitmap, const rectang
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
/* Sprites list */
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
UINT16 *s1 = spriteram16;
UINT16 *end1 = spriteram16 + 0x02000/2;
@@ -985,6 +987,7 @@ static void gdfs_draw_zooming_sprites(running_machine *machine, bitmap_t *bitmap
{
/* Sprites list */
+ UINT16 *spriteram16_2 = machine->generic.spriteram2.u16;
UINT16 *s1 = spriteram16_2;
UINT16 *end1 = spriteram16_2 + 0x02000/2;
UINT16 *s2;
diff --git a/src/mame/video/stadhero.c b/src/mame/video/stadhero.c
index 23577c1f94b..77e87719f22 100644
--- a/src/mame/video/stadhero.c
+++ b/src/mame/video/stadhero.c
@@ -22,6 +22,7 @@ static int flipscreen;
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect,int pri_mask,int pri_val)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
for (offs = 0;offs < 0x400;offs += 4)
diff --git a/src/mame/video/stfight.c b/src/mame/video/stfight.c
index 70bd138a8f4..f92f7640899 100644
--- a/src/mame/video/stfight.c
+++ b/src/mame/video/stfight.c
@@ -75,16 +75,16 @@ PALETTE_INIT( stfight )
}
-static void set_pens(colortable_t *colortable)
+static void set_pens(running_machine *machine)
{
int i;
for (i = 0; i < 0x100; i++)
{
- UINT16 data = paletteram[i] | (paletteram_2[i] << 8);
+ UINT16 data = machine->generic.paletteram.u8[i] | (machine->generic.paletteram2.u8[i] << 8);
rgb_t color = MAKE_RGB(pal4bit(data >> 4), pal4bit(data >> 0), pal4bit(data >> 8));
- colortable_palette_set_color(colortable, i, color);
+ colortable_palette_set_color(machine->colortable, i, color);
}
}
@@ -295,7 +295,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
VIDEO_UPDATE( stfight )
{
- set_pens(screen->machine->colortable);
+ set_pens(screen->machine);
bitmap_fill(screen->machine->priority_bitmap,cliprect,0);
diff --git a/src/mame/video/strnskil.c b/src/mame/video/strnskil.c
index 2b4f79b38e9..b29271c2481 100644
--- a/src/mame/video/strnskil.c
+++ b/src/mame/video/strnskil.c
@@ -48,7 +48,7 @@ PALETTE_INIT( strnskil )
WRITE8_HANDLER( strnskil_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset / 2);
}
@@ -65,8 +65,8 @@ WRITE8_HANDLER( strnskil_scrl_ctrl_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int attr = videoram[tile_index * 2];
- int code = videoram[(tile_index * 2) + 1] + ((attr & 0x60) << 3);
+ int attr = machine->generic.videoram.u8[tile_index * 2];
+ int code = machine->generic.videoram.u8[(tile_index * 2) + 1] + ((attr & 0x60) << 3);
int color = (attr & 0x1f) | ((attr & 0x80) >> 2);
SET_TILE_INFO(0, code, color, 0);
@@ -82,6 +82,7 @@ VIDEO_START( strnskil )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
for (offs = 0x60; offs < 0x100; offs += 4)
diff --git a/src/mame/video/subs.c b/src/mame/video/subs.c
index d7e9fc67a8d..28cc8479548 100644
--- a/src/mame/video/subs.c
+++ b/src/mame/video/subs.c
@@ -39,6 +39,7 @@ WRITE8_HANDLER( subs_invert2_w )
VIDEO_UPDATE( subs )
{
+ UINT8 *spriteram = screen->machine->generic.spriteram.u8;
int offs;
const device_config *left_screen = devtag_get_device(screen->machine, "lscreen");
@@ -47,7 +48,7 @@ VIDEO_UPDATE( subs )
/* for every character in the Video RAM, check if it has been modified */
/* since last time and update it accordingly. */
- for (offs = videoram_size - 1;offs >= 0;offs--)
+ for (offs = screen->machine->generic.videoram_size - 1;offs >= 0;offs--)
{
int charcode;
int sx,sy;
@@ -57,7 +58,7 @@ VIDEO_UPDATE( subs )
left_sonar_window = 0;
right_sonar_window = 0;
- charcode = videoram[offs];
+ charcode = screen->machine->generic.videoram.u8[offs];
/* Which monitor is this for? */
right_enable = charcode & 0x40;
diff --git a/src/mame/video/suna16.c b/src/mame/video/suna16.c
index a9cbcbe99c4..1287139c498 100644
--- a/src/mame/video/suna16.c
+++ b/src/mame/video/suna16.c
@@ -92,18 +92,18 @@ WRITE16_HANDLER( bestbest_flipscreen_w )
VIDEO_START( suna16 )
{
- paletteram16 = auto_alloc_array(machine, UINT16, machine->config->total_colors);
+ machine->generic.paletteram.u16 = auto_alloc_array(machine, UINT16, machine->config->total_colors);
}
READ16_HANDLER( suna16_paletteram16_r )
{
- return paletteram16[offset + color_bank * 256];
+ return space->machine->generic.paletteram.u16[offset + color_bank * 256];
}
WRITE16_HANDLER( suna16_paletteram16_w )
{
offset += color_bank * 256;
- data = COMBINE_DATA(&paletteram16[offset]);
+ data = COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
palette_set_color_rgb( space->machine, offset, pal5bit(data >> 0),pal5bit(data >> 5),pal5bit(data >> 10));
}
@@ -219,7 +219,7 @@ VIDEO_UPDATE( suna16 )
{
/* Suna Quiz indicates the background is the last pen */
bitmap_fill(bitmap,cliprect,0xff);
- draw_sprites(screen->machine, bitmap, cliprect, spriteram16, 0);
+ draw_sprites(screen->machine, bitmap, cliprect, screen->machine->generic.spriteram.u16, 0);
return 0;
}
@@ -238,7 +238,7 @@ if (input_code_pressed(screen->machine, KEYCODE_Z))
/* Suna Quiz indicates the background is the last pen */
bitmap_fill(bitmap,cliprect,0xff);
- if (layers_ctrl & 1) draw_sprites(screen->machine, bitmap, cliprect, spriteram16, 0);
- if (layers_ctrl & 2) draw_sprites(screen->machine, bitmap, cliprect, spriteram16_2, 1);
+ if (layers_ctrl & 1) draw_sprites(screen->machine, bitmap, cliprect, screen->machine->generic.spriteram.u16, 0);
+ if (layers_ctrl & 2) draw_sprites(screen->machine, bitmap, cliprect, screen->machine->generic.spriteram2.u16, 1);
return 0;
}
diff --git a/src/mame/video/suna8.c b/src/mame/video/suna8.c
index 2bc7ea76c97..fa547dc28ae 100644
--- a/src/mame/video/suna8.c
+++ b/src/mame/video/suna8.c
@@ -95,8 +95,8 @@ static TILE_GET_INFO( get_tile_info )
code = rom[ 2 * tile_index + 0 ];
attr = rom[ 2 * tile_index + 1 ]; }
else
- { code = spriteram[ 2 * tile_index + 0 ];
- attr = spriteram[ 2 * tile_index + 1 ]; }
+ { code = machine->generic.spriteram.u8[ 2 * tile_index + 0 ];
+ attr = machine->generic.spriteram.u8[ 2 * tile_index + 1 ]; }
SET_TILE_INFO(
0,
( (attr & 0x03) << 8 ) + code + tiles*0x400,
@@ -109,18 +109,18 @@ static TILE_GET_INFO( get_tile_info )
READ8_HANDLER( suna8_banked_paletteram_r )
{
offset += suna8_palettebank * 0x200;
- return paletteram[offset];
+ return space->machine->generic.paletteram.u8[offset];
}
READ8_HANDLER( suna8_banked_spriteram_r )
{
offset += suna8_spritebank * 0x2000;
- return spriteram[offset];
+ return space->machine->generic.spriteram.u8[offset];
}
WRITE8_HANDLER( suna8_spriteram_w )
{
- spriteram[offset] = data;
+ space->machine->generic.spriteram.u8[offset] = data;
#if TILEMAPS
tilemap_mark_tile_dirty(bg_tilemap,offset/2);
#endif
@@ -129,7 +129,7 @@ WRITE8_HANDLER( suna8_spriteram_w )
WRITE8_HANDLER( suna8_banked_spriteram_w )
{
offset += suna8_spritebank * 0x2000;
- spriteram[offset] = data;
+ space->machine->generic.spriteram.u8[offset] = data;
#if TILEMAPS
tilemap_mark_tile_dirty(bg_tilemap,offset/2);
#endif
@@ -143,8 +143,8 @@ WRITE8_HANDLER( brickzn_banked_paletteram_w )
int r,g,b;
UINT16 rgb;
offset += suna8_palettebank * 0x200;
- paletteram[offset] = data;
- rgb = (paletteram[offset&~1] << 8) + paletteram[offset|1];
+ space->machine->generic.paletteram.u8[offset] = data;
+ rgb = (space->machine->generic.paletteram.u8[offset&~1] << 8) + space->machine->generic.paletteram.u8[offset|1];
r = (((rgb & (1<<0xc))?1:0)<<0) |
(((rgb & (1<<0xb))?1:0)<<1) |
(((rgb & (1<<0xe))?1:0)<<2) |
@@ -168,8 +168,8 @@ static void suna8_vh_start_common(running_machine *machine, int dim)
suna8_text_dim = dim;
if (!(suna8_text_dim > 0))
{
- paletteram = auto_alloc_array(machine, UINT8, 0x200 * 2);
- spriteram = auto_alloc_array(machine, UINT8, 0x2000 * 2);
+ machine->generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x200 * 2);
+ machine->generic.spriteram.u8 = auto_alloc_array(machine, UINT8, 0x2000 * 2);
suna8_spritebank = 0;
suna8_palettebank = 0;
}
@@ -197,6 +197,7 @@ VIDEO_START( suna8_textdim12 ) { suna8_vh_start_common(machine, 12); }
static void draw_normal_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int i;
int mx = 0; // multisprite x counter
@@ -327,6 +328,7 @@ static void draw_normal_sprites(running_machine *machine, bitmap_t *bitmap,const
static void draw_text_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int i;
int max_x = video_screen_get_width(machine->primary_screen) - 8;
diff --git a/src/mame/video/supbtime.c b/src/mame/video/supbtime.c
index 026f4f1808a..3fb79137502 100644
--- a/src/mame/video/supbtime.c
+++ b/src/mame/video/supbtime.c
@@ -19,6 +19,7 @@ End sequence uses rowscroll '98 c0' on pf1 (jmp to 1d61a on supbtimj)
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
for (offs = 0;offs < 0x400;offs += 4)
diff --git a/src/mame/video/superchs.c b/src/mame/video/superchs.c
index 712fef878fc..d5399f43c1a 100644
--- a/src/mame/video/superchs.c
+++ b/src/mame/video/superchs.c
@@ -69,6 +69,7 @@ Heavy use is made of sprite zooming.
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect,const int *primasks,int x_offs,int y_offs)
{
+ UINT32 *spriteram32 = machine->generic.spriteram.u32;
UINT16 *spritemap = (UINT16 *)memory_region(machine, "user1");
int offs, data, tilenum, color, flipx, flipy;
int x, y, priority, dblsize, curx, cury;
@@ -81,7 +82,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan
while processing sprite ram and then draw them all at the end */
struct tempsprite *sprite_ptr = spritelist;
- for (offs = (spriteram_size/4-4);offs >= 0;offs -= 4)
+ for (offs = (machine->generic.spriteram_size/4-4);offs >= 0;offs -= 4)
{
data = spriteram32[offs+0];
flipx = (data & 0x00800000) >> 23;
diff --git a/src/mame/video/superqix.c b/src/mame/video/superqix.c
index f7bf10f196f..6fd4868b779 100644
--- a/src/mame/video/superqix.c
+++ b/src/mame/video/superqix.c
@@ -170,9 +170,10 @@ WRITE8_HANDLER( superqix_0410_w )
static void pbillian_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = 0; offs < spriteram_size; offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 4)
{
int attr = spriteram[offs + 3];
int code = ((spriteram[offs] & 0xfc) >> 2) + 64 * (attr & 0x0f);
@@ -196,9 +197,10 @@ static void pbillian_draw_sprites(running_machine *machine, bitmap_t *bitmap, co
static void superqix_draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = 0; offs < spriteram_size; offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 4)
{
int attr = spriteram[offs + 3];
int code = spriteram[offs] + 256 * (attr & 0x01);
diff --git a/src/mame/video/suprloco.c b/src/mame/video/suprloco.c
index 37161b2777f..3e39e10826b 100644
--- a/src/mame/video/suprloco.c
+++ b/src/mame/video/suprloco.c
@@ -186,7 +186,7 @@ static void draw_sprite(running_machine *machine, bitmap_t *bitmap,const rectang
short skip; /* bytes to skip before drawing each row (can be negative) */
- spr_reg = spriteram + 0x10 * spr_number;
+ spr_reg = machine->generic.spriteram.u8 + 0x10 * spr_number;
src = spr_reg[SPR_GFXOFS_LO] + (spr_reg[SPR_GFXOFS_HI] << 8);
skip = spr_reg[SPR_SKIP_LO] + (spr_reg[SPR_SKIP_HI] << 8);
@@ -256,9 +256,9 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
UINT8 *spr_reg;
- for (spr_number = 0;spr_number < (spriteram_size >> 4);spr_number++)
+ for (spr_number = 0;spr_number < (machine->generic.spriteram_size >> 4);spr_number++)
{
- spr_reg = spriteram + 0x10 * spr_number;
+ spr_reg = machine->generic.spriteram.u8 + 0x10 * spr_number;
if (spr_reg[SPR_X] != 0xff)
draw_sprite(machine, bitmap, cliprect, spr_number);
}
diff --git a/src/mame/video/suprnova.c b/src/mame/video/suprnova.c
index e08af11c13a..132ee58f83a 100644
--- a/src/mame/video/suprnova.c
+++ b/src/mame/video/suprnova.c
@@ -1181,7 +1181,7 @@ VIDEO_UPDATE(skns)
}
bitmap_fill(sprite_bitmap, cliprect, 0x0000);
- skns_draw_sprites(screen->machine, sprite_bitmap, cliprect, spriteram32, spriteram_size, memory_region(screen->machine,"gfx1"), memory_region_length (screen->machine, "gfx1"), skns_spc_regs );
+ skns_draw_sprites(screen->machine, sprite_bitmap, cliprect, screen->machine->generic.spriteram.u32, screen->machine->generic.spriteram_size, memory_region(screen->machine,"gfx1"), memory_region_length (screen->machine, "gfx1"), skns_spc_regs );
return 0;
diff --git a/src/mame/video/suprridr.c b/src/mame/video/suprridr.c
index a5fc7072418..ca33138dff8 100644
--- a/src/mame/video/suprridr.c
+++ b/src/mame/video/suprridr.c
@@ -167,6 +167,7 @@ WRITE8_HANDLER( suprridr_fgram_w )
VIDEO_UPDATE( suprridr )
{
+ UINT8 *spriteram = screen->machine->generic.spriteram.u8;
rectangle subclip;
int i;
const rectangle *visarea = video_screen_get_visible_area(screen);
diff --git a/src/mame/video/system1.c b/src/mame/video/system1.c
index c6ef423051c..5df7028f7c8 100644
--- a/src/mame/video/system1.c
+++ b/src/mame/video/system1.c
@@ -131,14 +131,14 @@ static void video_start_common(running_machine *machine, int pagecount)
/* allocate memory for videoram */
tilemap_pages = pagecount;
- videoram = auto_alloc_array_clear(machine, UINT8, 0x800 * pagecount);
+ machine->generic.videoram.u8 = auto_alloc_array_clear(machine, UINT8, 0x800 * pagecount);
/* create the tilemap pages */
for (pagenum = 0; pagenum < pagecount; pagenum++)
{
tilemap_page[pagenum] = tilemap_create(machine, tile_get_info, tilemap_scan_rows, 8,8, 32,32);
tilemap_set_transparent_pen(tilemap_page[pagenum], 0);
- tilemap_set_user_data(tilemap_page[pagenum], videoram + 0x800 * pagenum);
+ tilemap_set_user_data(tilemap_page[pagenum], machine->generic.videoram.u8 + 0x800 * pagenum);
}
/* allocate a temporary bitmap for sprite rendering */
@@ -148,7 +148,7 @@ static void video_start_common(running_machine *machine, int pagecount)
state_save_register_global(machine, system1_video_mode);
state_save_register_global(machine, mix_collide_summary);
state_save_register_global(machine, sprite_collide_summary);
- state_save_register_global_pointer(machine, videoram, 0x800 * pagecount);
+ state_save_register_global_pointer(machine, machine->generic.videoram.u8, 0x800 * pagecount);
state_save_register_global_pointer(machine, mix_collide, 64);
state_save_register_global_pointer(machine, sprite_collide, 1024);
}
@@ -263,14 +263,14 @@ READ8_HANDLER( system1_videoram_r )
{
videoram_wait_states(space->cpu);
offset |= 0x1000 * ((videoram_bank >> 1) % (tilemap_pages / 2));
- return videoram[offset];
+ return space->machine->generic.videoram.u8[offset];
}
WRITE8_HANDLER( system1_videoram_w )
{
videoram_wait_states(space->cpu);
offset |= 0x1000 * ((videoram_bank >> 1) % (tilemap_pages / 2));
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(tilemap_page[offset / 0x800], (offset % 0x800) / 2);
@@ -318,7 +318,7 @@ WRITE8_HANDLER( system1_paletteram_w )
accurate to +/- .003K ohms.
*/
- paletteram[offset] = data;
+ space->machine->generic.paletteram.u8[offset] = data;
if (color_prom != NULL)
{
@@ -367,6 +367,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
{
UINT32 gfxbanks = memory_region_length(machine, "sprites") / 0x8000;
const UINT8 *gfxbase = memory_region(machine, "sprites");
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int flipscreen = flip_screen_get(machine);
int spritenum;
@@ -566,8 +567,8 @@ VIDEO_UPDATE( system1 )
fgpixmap = tilemap_get_pixmap(tilemap_page[1]);
/* get fixed scroll offsets */
- xscroll = (videoram[0xffc] | (videoram[0xffd] << 8)) / 2 + 14;
- yscroll = videoram[0xfbd];
+ xscroll = (screen->machine->generic.videoram.u8[0xffc] | (screen->machine->generic.videoram.u8[0xffd] << 8)) / 2 + 14;
+ yscroll = screen->machine->generic.videoram.u8[0xfbd];
/* adjust for flipping */
if (flip_screen_get(screen->machine))
@@ -595,10 +596,10 @@ VIDEO_UPDATE( system2 )
int y;
/* 4 independent background pages */
- bgpixmaps[0] = tilemap_get_pixmap(tilemap_page[videoram[0x740] & 7]);
- bgpixmaps[1] = tilemap_get_pixmap(tilemap_page[videoram[0x742] & 7]);
- bgpixmaps[2] = tilemap_get_pixmap(tilemap_page[videoram[0x744] & 7]);
- bgpixmaps[3] = tilemap_get_pixmap(tilemap_page[videoram[0x746] & 7]);
+ bgpixmaps[0] = tilemap_get_pixmap(tilemap_page[screen->machine->generic.videoram.u8[0x740] & 7]);
+ bgpixmaps[1] = tilemap_get_pixmap(tilemap_page[screen->machine->generic.videoram.u8[0x742] & 7]);
+ bgpixmaps[2] = tilemap_get_pixmap(tilemap_page[screen->machine->generic.videoram.u8[0x744] & 7]);
+ bgpixmaps[3] = tilemap_get_pixmap(tilemap_page[screen->machine->generic.videoram.u8[0x746] & 7]);
/* foreground is fixed to page 0 */
fgpixmap = tilemap_get_pixmap(tilemap_page[0]);
@@ -606,14 +607,14 @@ VIDEO_UPDATE( system2 )
/* get scroll offsets */
if (!flip_screen_get(screen->machine))
{
- xscroll = (((videoram[0x7c0] | (videoram[0x7c1] << 8)) / 2) & 0xff) - 256 + 5;
- yscroll = videoram[0x7ba];
+ xscroll = (((screen->machine->generic.videoram.u8[0x7c0] | (screen->machine->generic.videoram.u8[0x7c1] << 8)) / 2) & 0xff) - 256 + 5;
+ yscroll = screen->machine->generic.videoram.u8[0x7ba];
sprxoffset = 7;
}
else
{
- xscroll = 262+256 - ((((videoram[0x7f6] | (videoram[0x7f7] << 8)) / 2) & 0xff) - 256 + 5);
- yscroll = 256+256 - videoram[0x784];
+ xscroll = 262+256 - ((((screen->machine->generic.videoram.u8[0x7f6] | (screen->machine->generic.videoram.u8[0x7f7] << 8)) / 2) & 0xff) - 256 + 5);
+ yscroll = 256+256 - screen->machine->generic.videoram.u8[0x784];
sprxoffset = -7;
}
@@ -635,10 +636,10 @@ VIDEO_UPDATE( system2_rowscroll )
int y;
/* 4 independent background pages */
- bgpixmaps[0] = tilemap_get_pixmap(tilemap_page[videoram[0x740] & 7]);
- bgpixmaps[1] = tilemap_get_pixmap(tilemap_page[videoram[0x742] & 7]);
- bgpixmaps[2] = tilemap_get_pixmap(tilemap_page[videoram[0x744] & 7]);
- bgpixmaps[3] = tilemap_get_pixmap(tilemap_page[videoram[0x746] & 7]);
+ bgpixmaps[0] = tilemap_get_pixmap(tilemap_page[screen->machine->generic.videoram.u8[0x740] & 7]);
+ bgpixmaps[1] = tilemap_get_pixmap(tilemap_page[screen->machine->generic.videoram.u8[0x742] & 7]);
+ bgpixmaps[2] = tilemap_get_pixmap(tilemap_page[screen->machine->generic.videoram.u8[0x744] & 7]);
+ bgpixmaps[3] = tilemap_get_pixmap(tilemap_page[screen->machine->generic.videoram.u8[0x746] & 7]);
/* foreground is fixed to page 0 */
fgpixmap = tilemap_get_pixmap(tilemap_page[0]);
@@ -647,14 +648,14 @@ VIDEO_UPDATE( system2_rowscroll )
if (!flip_screen_get(screen->machine))
{
for (y = 0; y < 32; y++)
- rowscroll[y] = (((videoram[0x7c0 + y * 2] | (videoram[0x7c1 + y * 2] << 8)) / 2) & 0xff) - 256 + 5;
- yscroll = videoram[0x7ba];
+ rowscroll[y] = (((screen->machine->generic.videoram.u8[0x7c0 + y * 2] | (screen->machine->generic.videoram.u8[0x7c1 + y * 2] << 8)) / 2) & 0xff) - 256 + 5;
+ yscroll = screen->machine->generic.videoram.u8[0x7ba];
}
else
{
for (y = 0; y < 32; y++)
- rowscroll[y] = 262+256 - ((((videoram[0x7fe - y * 2] | (videoram[0x7ff - y * 2] << 8)) / 2) & 0xff) - 256 + 5);
- yscroll = 256+256 - videoram[0x784];
+ rowscroll[y] = 262+256 - ((((screen->machine->generic.videoram.u8[0x7fe - y * 2] | (screen->machine->generic.videoram.u8[0x7ff - y * 2] << 8)) / 2) & 0xff) - 256 + 5);
+ yscroll = 256+256 - screen->machine->generic.videoram.u8[0x784];
}
/* common update */
diff --git a/src/mame/video/system16.c b/src/mame/video/system16.c
index 4782deaa548..a991e160666 100644
--- a/src/mame/video/system16.c
+++ b/src/mame/video/system16.c
@@ -302,8 +302,8 @@ static double weights[2][3][6];
WRITE16_HANDLER( sys16_paletteram_w )
{
UINT16 newword;
- COMBINE_DATA( &paletteram16[offset] );
- newword = paletteram16[offset];
+ COMBINE_DATA( &space->machine->generic.paletteram.u16[offset] );
+ newword = space->machine->generic.paletteram.u16[offset];
/* sBGR BBBB GGGG RRRR */
/* x000 4321 4321 4321 */
diff --git a/src/mame/video/tagteam.c b/src/mame/video/tagteam.c
index 1c53e2d9f5a..55519c94c06 100644
--- a/src/mame/video/tagteam.c
+++ b/src/mame/video/tagteam.c
@@ -44,13 +44,13 @@ PALETTE_INIT( tagteam )
WRITE8_HANDLER( tagteam_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( tagteam_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -63,7 +63,7 @@ READ8_HANDLER( tagteam_mirrorvideoram_r )
y = offset % 32;
offset = 32 * y + x;
- return videoram[offset];
+ return space->machine->generic.videoram.u8[offset];
}
READ8_HANDLER( tagteam_mirrorcolorram_r )
@@ -75,7 +75,7 @@ READ8_HANDLER( tagteam_mirrorcolorram_r )
y = offset % 32;
offset = 32 * y + x;
- return colorram[offset];
+ return space->machine->generic.colorram.u8[offset];
}
WRITE8_HANDLER( tagteam_mirrorvideoram_w )
@@ -121,7 +121,7 @@ WRITE8_HANDLER( tagteam_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = videoram[tile_index] + 256 * colorram[tile_index];
+ int code = machine->generic.videoram.u8[tile_index] + 256 * machine->generic.colorram.u8[tile_index];
int color = palettebank * 2; // GUESS
SET_TILE_INFO(0, code, color, 0);
@@ -139,15 +139,15 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
for (offs = 0; offs < 0x20; offs += 4)
{
- int spritebank = (videoram[offs] & 0x30) << 4;
- int code = videoram[offs + 1] + 256 * spritebank;
+ int spritebank = (machine->generic.videoram.u8[offs] & 0x30) << 4;
+ int code = machine->generic.videoram.u8[offs + 1] + 256 * spritebank;
int color = 1 + 2 * palettebank; // GUESS
- int flipx = videoram[offs] & 0x04;
- int flipy = videoram[offs] & 0x02;
- int sx = 240 - videoram[offs + 3];
- int sy = 240 - videoram[offs + 2];
+ int flipx = machine->generic.videoram.u8[offs] & 0x04;
+ int flipy = machine->generic.videoram.u8[offs] & 0x02;
+ int sx = 240 - machine->generic.videoram.u8[offs + 3];
+ int sy = 240 - machine->generic.videoram.u8[offs + 2];
- if (!(videoram[offs] & 0x01)) continue;
+ if (!(machine->generic.videoram.u8[offs] & 0x01)) continue;
if (flip_screen_get(machine))
{
@@ -165,7 +165,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
/* Wrap around */
- code = videoram[offs + 0x20] + 256 * spritebank;
+ code = machine->generic.videoram.u8[offs + 0x20] + 256 * spritebank;
color = palettebank;
sy += (flip_screen_get(machine) ? -256 : 256);
diff --git a/src/mame/video/tail2nos.c b/src/mame/video/tail2nos.c
index 9a0ff4c3dae..e9e26667e18 100644
--- a/src/mame/video/tail2nos.c
+++ b/src/mame/video/tail2nos.c
@@ -129,10 +129,11 @@ WRITE16_HANDLER( tail2nos_gfxbank_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
- for (offs = 0;offs < spriteram_size/2;offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram_size/2;offs += 4)
{
int sx,sy,flipx,flipy,code,color;
diff --git a/src/mame/video/taito_f2.c b/src/mame/video/taito_f2.c
index c30e58eecb1..35ce31811ab 100644
--- a/src/mame/video/taito_f2.c
+++ b/src/mame/video/taito_f2.c
@@ -88,8 +88,8 @@ static void taitof2_core_vh_start (running_machine *machine, int sprite_type,int
f2_hide_pixels = hide;
f2_flip_hide_pixels = flip_hide;
- spriteram_delayed = auto_alloc_array(machine, UINT16, spriteram_size/2);
- spriteram_buffered = auto_alloc_array(machine, UINT16, spriteram_size/2);
+ spriteram_delayed = auto_alloc_array(machine, UINT16, machine->generic.spriteram_size/2);
+ spriteram_buffered = auto_alloc_array(machine, UINT16, machine->generic.spriteram_size/2);
spritelist = auto_alloc_array(machine, struct tempsprite, 0x400);
chips = TC0100SCN_count(machine);
@@ -135,8 +135,8 @@ static void taitof2_core_vh_start (running_machine *machine, int sprite_type,int
state_save_register_global_array(machine, spritebank);
state_save_register_global(machine, sprites_disabled);
state_save_register_global(machine, sprites_active_area);
- state_save_register_global_pointer(machine, spriteram_delayed, spriteram_size/2);
- state_save_register_global_pointer(machine, spriteram_buffered, spriteram_size/2);
+ state_save_register_global_pointer(machine, spriteram_delayed, machine->generic.spriteram_size/2);
+ state_save_register_global_pointer(machine, spriteram_buffered, machine->generic.spriteram_size/2);
}
@@ -902,23 +902,23 @@ static void update_spritebanks(void)
#endif
}
-static void taitof2_handle_sprite_buffering(void)
+static void taitof2_handle_sprite_buffering(running_machine *machine)
{
if (prepare_sprites) /* no buffering */
{
- memcpy(spriteram_buffered,spriteram16,spriteram_size);
+ memcpy(spriteram_buffered,machine->generic.spriteram.u16,machine->generic.spriteram_size);
prepare_sprites = 0;
}
}
-static void taitof2_update_sprites_active_area(void)
+static void taitof2_update_sprites_active_area(running_machine *machine)
{
int off;
update_spritebanks();
/* if the frame was skipped, we'll have to do the buffering now */
- taitof2_handle_sprite_buffering();
+ taitof2_handle_sprite_buffering(machine);
/* safety check to avoid getting stuck in bank 2 for games using only one bank */
if (sprites_active_area == 0x8000 &&
@@ -958,52 +958,55 @@ static void taitof2_update_sprites_active_area(void)
VIDEO_EOF( taitof2_no_buffer )
{
- taitof2_update_sprites_active_area();
+ taitof2_update_sprites_active_area(machine);
prepare_sprites = 1;
}
VIDEO_EOF( taitof2_full_buffer_delayed )
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int i;
- taitof2_update_sprites_active_area();
+ taitof2_update_sprites_active_area(machine);
prepare_sprites = 0;
- memcpy(spriteram_buffered,spriteram_delayed,spriteram_size);
- for (i = 0;i < spriteram_size/2;i++)
+ memcpy(spriteram_buffered,spriteram_delayed,machine->generic.spriteram_size);
+ for (i = 0;i < machine->generic.spriteram_size/2;i++)
spriteram_buffered[i] = spriteram16[i];
- memcpy(spriteram_delayed,spriteram16,spriteram_size);
+ memcpy(spriteram_delayed,spriteram16,machine->generic.spriteram_size);
}
VIDEO_EOF( taitof2_partial_buffer_delayed )
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int i;
- taitof2_update_sprites_active_area();
+ taitof2_update_sprites_active_area(machine);
prepare_sprites = 0;
- memcpy(spriteram_buffered,spriteram_delayed,spriteram_size);
- for (i = 0;i < spriteram_size/2;i += 4)
+ memcpy(spriteram_buffered,spriteram_delayed,machine->generic.spriteram_size);
+ for (i = 0;i < machine->generic.spriteram_size/2;i += 4)
spriteram_buffered[i] = spriteram16[i];
- memcpy(spriteram_delayed,spriteram16,spriteram_size);
+ memcpy(spriteram_delayed,spriteram16,machine->generic.spriteram_size);
}
VIDEO_EOF( taitof2_partial_buffer_delayed_thundfox )
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int i;
- taitof2_update_sprites_active_area();
+ taitof2_update_sprites_active_area(machine);
prepare_sprites = 0;
- memcpy(spriteram_buffered,spriteram_delayed,spriteram_size);
- for (i = 0;i < spriteram_size/2;i += 8)
+ memcpy(spriteram_buffered,spriteram_delayed,machine->generic.spriteram_size);
+ for (i = 0;i < machine->generic.spriteram_size/2;i += 8)
{
spriteram_buffered[i] = spriteram16[i];
spriteram_buffered[i+1] = spriteram16[i+1];
spriteram_buffered[i+4] = spriteram16[i+4];
}
- memcpy(spriteram_delayed,spriteram16,spriteram_size);
+ memcpy(spriteram_delayed,spriteram16,machine->generic.spriteram_size);
}
VIDEO_EOF( taitof2_partial_buffer_delayed_qzchikyu )
@@ -1011,13 +1014,14 @@ VIDEO_EOF( taitof2_partial_buffer_delayed_qzchikyu )
/* spriteram[2] and [3] are 1 frame behind...
probably thundfox_eof_callback would work fine */
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int i;
- taitof2_update_sprites_active_area();
+ taitof2_update_sprites_active_area(machine);
prepare_sprites = 0;
- memcpy(spriteram_buffered,spriteram_delayed,spriteram_size);
- for (i = 0;i < spriteram_size/2;i += 8)
+ memcpy(spriteram_buffered,spriteram_delayed,machine->generic.spriteram_size);
+ for (i = 0;i < machine->generic.spriteram_size/2;i += 8)
{
spriteram_buffered[i] = spriteram16[i];
spriteram_buffered[i+1] = spriteram16[i+1];
@@ -1026,14 +1030,14 @@ VIDEO_EOF( taitof2_partial_buffer_delayed_qzchikyu )
spriteram_buffered[i+6] = spriteram16[i+6]; // not needed?
spriteram_buffered[i+7] = spriteram16[i+7]; // not needed?
}
- memcpy(spriteram_delayed,spriteram16,spriteram_size);
+ memcpy(spriteram_delayed,spriteram16,machine->generic.spriteram_size);
}
/* SSI */
VIDEO_UPDATE( taitof2_ssi )
{
- taitof2_handle_sprite_buffering();
+ taitof2_handle_sprite_buffering(screen->machine);
/* SSI only uses sprites, the tilemap registers are not even initialized.
(they are in Majestic 12, but the tilemaps are not used anyway) */
@@ -1046,7 +1050,7 @@ VIDEO_UPDATE( taitof2_ssi )
VIDEO_UPDATE( taitof2_yesnoj )
{
- taitof2_handle_sprite_buffering();
+ taitof2_handle_sprite_buffering(screen->machine);
TC0100SCN_tilemap_update(screen->machine);
@@ -1062,7 +1066,7 @@ VIDEO_UPDATE( taitof2_yesnoj )
VIDEO_UPDATE( taitof2 )
{
- taitof2_handle_sprite_buffering();
+ taitof2_handle_sprite_buffering(screen->machine);
TC0100SCN_tilemap_update(screen->machine);
@@ -1080,7 +1084,7 @@ VIDEO_UPDATE( taitof2_pri )
{
int layer[3];
- taitof2_handle_sprite_buffering();
+ taitof2_handle_sprite_buffering(screen->machine);
TC0100SCN_tilemap_update(screen->machine);
@@ -1129,7 +1133,7 @@ VIDEO_UPDATE( taitof2_pri_roz )
int i,j;
int roz_base_color = (TC0360PRI_regs[1] & 0x3f) << 2;
- taitof2_handle_sprite_buffering();
+ taitof2_handle_sprite_buffering(screen->machine);
if (has_TC0280GRD(screen->machine))
TC0280GRD_tilemap_update(roz_base_color);
@@ -1196,7 +1200,7 @@ VIDEO_UPDATE( taitof2_thundfox )
int drawn[2];
- taitof2_handle_sprite_buffering();
+ taitof2_handle_sprite_buffering(screen->machine);
TC0100SCN_tilemap_update(screen->machine);
@@ -1323,7 +1327,7 @@ VIDEO_UPDATE( taitof2_metalb )
UINT8 layer[5], invlayer[4];
UINT16 priority;
- taitof2_handle_sprite_buffering();
+ taitof2_handle_sprite_buffering(screen->machine);
TC0480SCP_tilemap_update(screen->machine);
@@ -1375,7 +1379,7 @@ VIDEO_UPDATE( taitof2_deadconx )
UINT8 spritepri[4];
UINT16 priority;
- taitof2_handle_sprite_buffering();
+ taitof2_handle_sprite_buffering(screen->machine);
TC0480SCP_tilemap_update(screen->machine);
diff --git a/src/mame/video/taito_f3.c b/src/mame/video/taito_f3.c
index 8e14d332da9..7e9d5509bb5 100644
--- a/src/mame/video/taito_f3.c
+++ b/src/mame/video/taito_f3.c
@@ -529,9 +529,9 @@ static TILE_GET_INFO( get_tile_info_vram )
int flags=0;
if (tile_index&1)
- vram_tile = (videoram32[tile_index>>1]&0xffff);
+ vram_tile = (machine->generic.videoram.u32[tile_index>>1]&0xffff);
else
- vram_tile = (videoram32[tile_index>>1]>>16);
+ vram_tile = (machine->generic.videoram.u32[tile_index>>1]>>16);
if (vram_tile&0x0100) flags|=TILE_FLIPX;
if (vram_tile&0x8000) flags|=TILE_FLIPY;
@@ -557,9 +557,9 @@ static TILE_GET_INFO( get_tile_info_pixel )
col_off=((tile_index%32)*0x40)+((tile_index&0xfe0)>>5);
if (col_off&1)
- vram_tile = (videoram32[col_off>>1]&0xffff);
+ vram_tile = (machine->generic.videoram.u32[col_off>>1]&0xffff);
else
- vram_tile = (videoram32[col_off>>1]>>16);
+ vram_tile = (machine->generic.videoram.u32[col_off>>1]>>16);
if (vram_tile&0x0100) flags|=TILE_FLIPX;
if (vram_tile&0x8000) flags|=TILE_FLIPY;
@@ -581,13 +581,13 @@ VIDEO_EOF( f3 )
{
get_sprite_info(machine, spriteram32_buffered);
}
- memcpy(spriteram32_buffered,spriteram32,spriteram_size);
+ memcpy(spriteram32_buffered,machine->generic.spriteram.u32,machine->generic.spriteram_size);
}
else if (sprite_lag==1)
{
if (video_skip_this_frame() == 0)
{
- get_sprite_info(machine, spriteram32);
+ get_sprite_info(machine, machine->generic.spriteram.u32);
}
}
}
@@ -691,8 +691,8 @@ VIDEO_START( f3 )
machine->gfx[2]->color_granularity=16;
flipscreen = 0;
- memset(spriteram32_buffered,0,spriteram_size);
- memset(spriteram32,0,spriteram_size);
+ memset(spriteram32_buffered,0,machine->generic.spriteram_size);
+ memset(machine->generic.spriteram.u32,0,machine->generic.spriteram_size);
state_save_register_global_array(machine, f3_control_0);
state_save_register_global_array(machine, f3_control_1);
@@ -794,7 +794,7 @@ WRITE32_HANDLER( f3_control_1_w )
WRITE32_HANDLER( f3_videoram_w )
{
int tile,col_off;
- COMBINE_DATA(&videoram32[offset]);
+ COMBINE_DATA(&space->machine->generic.videoram.u32[offset]);
tilemap_mark_tile_dirty(vram_layer,offset<<1);
tilemap_mark_tile_dirty(vram_layer,(offset<<1)+1);
@@ -844,46 +844,46 @@ WRITE32_HANDLER( f3_palette_24bit_w )
{
int r,g,b;
- COMBINE_DATA(&paletteram32[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
/* 12 bit palette games - there has to be a palette select bit somewhere */
if (f3_game==SPCINVDX || f3_game==RIDINGF || f3_game==ARABIANM || f3_game==RINGRAGE) {
- b = 15 * ((paletteram32[offset] >> 4) & 0xf);
- g = 15 * ((paletteram32[offset] >> 8) & 0xf);
- r = 15 * ((paletteram32[offset] >> 12) & 0xf);
+ 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);
}
/* This is weird - why are only the sprites and VRAM palettes 21 bit? */
else if (f3_game==CLEOPATR) {
if (offset<0x100 || offset>0x1000) {
- r = ((paletteram32[offset] >>16) & 0x7f)<<1;
- g = ((paletteram32[offset] >> 8) & 0x7f)<<1;
- b = ((paletteram32[offset] >> 0) & 0x7f)<<1;
+ 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;
} else {
- r = (paletteram32[offset] >>16) & 0xff;
- g = (paletteram32[offset] >> 8) & 0xff;
- b = (paletteram32[offset] >> 0) & 0xff;
+ 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;
}
}
/* Another weird couple - perhaps this is alpha blending related? */
else if (f3_game==TWINQIX || f3_game==RECALH) {
if (offset>0x1c00) {
- r = ((paletteram32[offset] >>16) & 0x7f)<<1;
- g = ((paletteram32[offset] >> 8) & 0x7f)<<1;
- b = ((paletteram32[offset] >> 0) & 0x7f)<<1;
+ 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;
} else {
- r = (paletteram32[offset] >>16) & 0xff;
- g = (paletteram32[offset] >> 8) & 0xff;
- b = (paletteram32[offset] >> 0) & 0xff;
+ 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;
}
}
/* All other games - standard 24 bit palette */
else {
- r = (paletteram32[offset] >>16) & 0xff;
- g = (paletteram32[offset] >> 8) & 0xff;
- b = (paletteram32[offset] >> 0) & 0xff;
+ 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;
}
palette_set_color(space->machine,offset,MAKE_RGB(r,g,b));
@@ -3267,7 +3267,7 @@ VIDEO_UPDATE( f3 )
/* sprites */
if (sprite_lag==0)
- get_sprite_info(screen->machine, spriteram32);
+ get_sprite_info(screen->machine, screen->machine->generic.spriteram.u32);
/* Update sprite buffer */
draw_sprites(screen->machine, bitmap,cliprect);
diff --git a/src/mame/video/taito_z.c b/src/mame/video/taito_z.c
index 0355b7d3752..71e6c2c36cd 100644
--- a/src/mame/video/taito_z.c
+++ b/src/mame/video/taito_z.c
@@ -169,6 +169,7 @@ confirmed
static void contcirc_draw_sprites_16x8(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect,int y_offs)
{
UINT16 *spritemap = (UINT16 *)memory_region(machine, "user1");
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs, data, tilenum, color, flipx, flipy;
int x, y, priority, curx, cury;
int sprites_flipscreen = 0;
@@ -177,7 +178,7 @@ static void contcirc_draw_sprites_16x8(running_machine *machine, bitmap_t *bitma
int bad_chunks;
static const int primasks[2] = {0xf0,0xfc};
- for (offs = 0;offs < spriteram_size/2;offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram_size/2;offs += 4)
{
data = spriteram16[offs+0];
zoomy = (data & 0xfe00) >> 9;
@@ -260,6 +261,7 @@ logerror("Sprite number %04x had %02x invalid chunks\n",tilenum,bad_chunks);
static void chasehq_draw_sprites_16x16(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect,int y_offs)
{
UINT16 *spritemap = (UINT16 *)memory_region(machine, "user1");
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs, data, tilenum, color, flipx, flipy;
int x, y, priority, curx, cury;
int sprites_flipscreen = 0;
@@ -268,7 +270,7 @@ static void chasehq_draw_sprites_16x16(running_machine *machine, bitmap_t *bitma
int bad_chunks;
static const int primasks[2] = {0xf0,0xfc};
- for (offs = spriteram_size/2-4;offs >=0;offs -= 4)
+ for (offs = machine->generic.spriteram_size/2-4;offs >=0;offs -= 4)
{
data = spriteram16[offs+0];
zoomy = (data & 0xfe00) >> 9;
@@ -442,6 +444,7 @@ logerror("Sprite number %04x had %02x invalid chunks\n",tilenum,bad_chunks);
static void bshark_draw_sprites_16x8(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect,int y_offs)
{
UINT16 *spritemap = (UINT16 *)memory_region(machine, "user1");
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs, data, tilenum, color, flipx, flipy;
int x, y, priority, curx, cury;
int sprites_flipscreen = 0;
@@ -450,7 +453,7 @@ static void bshark_draw_sprites_16x8(running_machine *machine, bitmap_t *bitmap,
int bad_chunks;
static const int primasks[2] = {0xf0,0xfc};
- for (offs = spriteram_size/2-4;offs >= 0;offs -= 4)
+ for (offs = machine->generic.spriteram_size/2-4;offs >= 0;offs -= 4)
{
data = spriteram16[offs+0];
zoomy = (data & 0x7e00) >> 9;
@@ -534,6 +537,7 @@ logerror("Sprite number %04x had %02x invalid chunks\n",tilenum,bad_chunks);
static void sci_draw_sprites_16x8(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect,int y_offs)
{
UINT16 *spritemap = (UINT16 *)memory_region(machine, "user1");
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs, start_offs, data, tilenum, color, flipx, flipy;
int x, y, priority, curx, cury;
int sprites_flipscreen = 0;
@@ -635,6 +639,7 @@ logerror("Sprite number %04x had %02x invalid chunks\n",tilenum,bad_chunks);
static void aquajack_draw_sprites_16x8(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect,int y_offs)
{
UINT16 *spritemap = (UINT16 *)memory_region(machine, "user1");
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs, data, tilenum, color, flipx, flipy;
int x, y, priority, curx, cury;
int sprites_flipscreen = 0;
@@ -643,7 +648,7 @@ static void aquajack_draw_sprites_16x8(running_machine *machine, bitmap_t *bitma
int bad_chunks;
static const int primasks[2] = {0xf0,0xfc};
- for (offs = 0;offs < spriteram_size/2;offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram_size/2;offs += 4)
{
data = spriteram16[offs+0];
zoomy = (data & 0x7e00) >> 9;
@@ -726,6 +731,7 @@ logerror("Sprite number %04x had %02x invalid chunks\n",tilenum,bad_chunks);
static void spacegun_draw_sprites_16x8(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect,int y_offs)
{
UINT16 *spritemap = (UINT16 *)memory_region(machine, "user1");
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs, data, tilenum, color, flipx, flipy;
int x, y, priority, curx, cury;
int sprites_flipscreen = 0;
@@ -734,7 +740,7 @@ static void spacegun_draw_sprites_16x8(running_machine *machine, bitmap_t *bitma
int bad_chunks;
static const int primasks[2] = {0xf0,0xfc};
- for (offs = 0; offs < spriteram_size/2-4;offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram_size/2-4;offs += 4)
{
data = spriteram16[offs+0];
zoomy = (data & 0xfe00) >> 9;
diff --git a/src/mame/video/tankbatt.c b/src/mame/video/tankbatt.c
index 0e75313a7e0..65fcc933669 100644
--- a/src/mame/video/tankbatt.c
+++ b/src/mame/video/tankbatt.c
@@ -63,14 +63,14 @@ PALETTE_INIT( tankbatt )
WRITE8_HANDLER( tankbatt_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = videoram[tile_index];
- int color = videoram[tile_index] | 0x01;
+ int code = machine->generic.videoram.u8[tile_index];
+ int color = machine->generic.videoram.u8[tile_index] | 0x01;
SET_TILE_INFO(0, code, color, 0);
}
diff --git a/src/mame/video/tankbust.c b/src/mame/video/tankbust.c
index 601550ed473..7e4a2c2810a 100644
--- a/src/mame/video/tankbust.c
+++ b/src/mame/video/tankbust.c
@@ -34,8 +34,8 @@ note:
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = videoram[tile_index];
- int attr = colorram[tile_index];
+ int code = machine->generic.videoram.u8[tile_index];
+ int attr = machine->generic.colorram.u8[tile_index];
int color = ((attr>>4) & 0x07);
@@ -101,22 +101,22 @@ VIDEO_START( tankbust )
WRITE8_HANDLER( tankbust_background_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
READ8_HANDLER( tankbust_background_videoram_r )
{
- return videoram[offset];
+ return space->machine->generic.videoram.u8[offset];
}
WRITE8_HANDLER( tankbust_background_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
READ8_HANDLER( tankbust_background_colorram_r )
{
- return colorram[offset];
+ return space->machine->generic.colorram.u8[offset];
}
WRITE8_HANDLER( tankbust_txtram_w )
@@ -186,9 +186,10 @@ spriteram format (4 bytes per sprite):
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = 0; offs < spriteram_size; offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 4)
{
int code,color,sx,sy,flipx,flipy;
@@ -234,7 +235,7 @@ VIDEO_UPDATE( tankbust )
for (i=0; i<0x800; i++)
{
- int tile_attrib = colorram[i];
+ int tile_attrib = screen->machine->generic.colorram.u8[i];
if ( (tile_attrib&8) || (tile_attrib&0x80) )
{
diff --git a/src/mame/video/tatsumi.c b/src/mame/video/tatsumi.c
index 531266b7a71..64eaaf9739c 100644
--- a/src/mame/video/tatsumi.c
+++ b/src/mame/video/tatsumi.c
@@ -71,7 +71,7 @@ WRITE16_HANDLER( roundup5_palette_w )
// static int hack=0;
int word;
- COMBINE_DATA(&paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
// if (offset==0xbfe)
// hack++;
@@ -93,7 +93,7 @@ bit 0: 3.9kOhm resistor
// logerror("PAL: %04x %02x\n",offset,data);
offset&=~1;
- word = ((paletteram16[offset] & 0xff)<<8) | (paletteram16[offset+1] & 0xff);
+ word = ((space->machine->generic.paletteram.u16[offset] & 0xff)<<8) | (space->machine->generic.paletteram.u16[offset+1] & 0xff);
palette_set_color_rgb(space->machine,offset/2,pal5bit(word >> 10),pal5bit(word >> 5),pal5bit(word >> 0));
}
@@ -102,7 +102,7 @@ WRITE16_HANDLER( apache3_palette_w )
{
// static int hack=0;
- COMBINE_DATA(&paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
// if (offset==0xbfe)
// hack++;
@@ -123,14 +123,14 @@ bit 0: 3.9kOhm resistor
// logerror("PAL: %04x %02x\n",offset,data);
- data = paletteram16[offset];
+ data = space->machine->generic.paletteram.u16[offset];
palette_set_color_rgb(space->machine,offset,pal5bit(data >> 10),pal5bit(data >> 5),pal5bit(data >> 0));
}
WRITE16_HANDLER( roundup5_text_w )
{
- COMBINE_DATA(&videoram16[offset]);
+ COMBINE_DATA(&space->machine->generic.videoram.u16[offset]);
tilemap_mark_tile_dirty( tx_layer,offset);
}
@@ -179,7 +179,7 @@ WRITE16_HANDLER( roundup5_crt_w )
static TILE_GET_INFO( get_text_tile_info )
{
- int tile = videoram16[tile_index];
+ int tile = machine->generic.videoram.u16[tile_index];
SET_TILE_INFO(
1,
tile & 0xfff,
@@ -525,6 +525,7 @@ static void mycopyrozbitmap_core(bitmap_t *bitmap,bitmap_t *srcbitmap,
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int write_priority_only, int rambank)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs,fx,x,y,color;
int w,h,index,lines,scale,rotate;
UINT8 *src1, *src2;
diff --git a/src/mame/video/tecmo.c b/src/mame/video/tecmo.c
index 92ca57e136d..42dba0b1056 100644
--- a/src/mame/video/tecmo.c
+++ b/src/mame/video/tecmo.c
@@ -164,6 +164,7 @@ WRITE8_HANDLER( tecmo_flipscreen_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
static const UINT8 layout[8][8] =
{
@@ -177,7 +178,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan
{42,43,46,47,58,59,62,63}
};
- for (offs = spriteram_size-8;offs >= 0;offs -= 8)
+ for (offs = machine->generic.spriteram_size-8;offs >= 0;offs -= 8)
{
int flags = spriteram[offs+3];
int priority = flags>>6;
diff --git a/src/mame/video/tecmo16.c b/src/mame/video/tecmo16.c
index b268c06c15a..7b9f5f9d8b1 100644
--- a/src/mame/video/tecmo16.c
+++ b/src/mame/video/tecmo16.c
@@ -331,6 +331,7 @@ static void blendbitmaps(running_machine *machine,
static void draw_sprites(running_machine *machine, bitmap_t *bitmap_bg, bitmap_t *bitmap_fg, bitmap_t *bitmap_sp, const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
static const UINT8 layout[8][8] =
{
@@ -346,7 +347,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap_bg, bitmap_t
bitmap_t *bitmap = bitmap_bg;
- for (offs = spriteram_size/2 - 8;offs >= 0;offs -= 8)
+ for (offs = machine->generic.spriteram_size/2 - 8;offs >= 0;offs -= 8)
{
if (spriteram16[offs] & 0x04) /* enable */
{
diff --git a/src/mame/video/tehkanwc.c b/src/mame/video/tehkanwc.c
index b9f822c0726..afb5d45f133 100644
--- a/src/mame/video/tehkanwc.c
+++ b/src/mame/video/tehkanwc.c
@@ -21,13 +21,13 @@ static tilemap *bg_tilemap, *fg_tilemap;
WRITE8_HANDLER( tehkanwc_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
WRITE8_HANDLER( tehkanwc_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
@@ -79,8 +79,8 @@ static TILE_GET_INFO( get_bg_tile_info )
static TILE_GET_INFO( get_fg_tile_info )
{
- int attr = colorram[tile_index];
- int code = videoram[tile_index] + ((attr & 0x10) << 4);
+ int attr = machine->generic.colorram.u8[tile_index];
+ int code = machine->generic.videoram.u8[tile_index] + ((attr & 0x10) << 4);
int color = attr & 0x0f;
int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0);
@@ -127,9 +127,10 @@ static void gridiron_draw_led(running_machine *machine, bitmap_t *bitmap, const
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = 0;offs < spriteram_size;offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram_size;offs += 4)
{
int attr = spriteram[offs + 1];
int code = spriteram[offs] + ((attr & 0x08) << 5);
diff --git a/src/mame/video/terracre.c b/src/mame/video/terracre.c
index 65429ba9496..53eead9cc99 100644
--- a/src/mame/video/terracre.c
+++ b/src/mame/video/terracre.c
@@ -28,7 +28,7 @@ TILE_GET_INFO( get_bg_tile_info )
static
TILE_GET_INFO( get_fg_tile_info )
{
- int data = videoram16[tile_index];
+ int data = machine->generic.videoram.u16[tile_index];
SET_TILE_INFO( 0,data&0xff,0,0 );
}
@@ -36,7 +36,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
{
const UINT8 *spritepalettebank = memory_region(machine, "user1");
const gfx_element *pGfx = machine->gfx[2];
- const UINT16 *pSource = spriteram16;
+ const UINT16 *pSource = machine->generic.spriteram.u16;
int i;
int transparent_pen;
@@ -159,7 +159,7 @@ WRITE16_HANDLER( amazon_background_w )
WRITE16_HANDLER( amazon_foreground_w )
{
- COMBINE_DATA( &videoram16[offset] );
+ COMBINE_DATA( &space->machine->generic.videoram.u16[offset] );
tilemap_mark_tile_dirty( foreground, offset );
}
diff --git a/src/mame/video/tetrisp2.c b/src/mame/video/tetrisp2.c
index 9c38022a972..d3483dee8a1 100644
--- a/src/mame/video/tetrisp2.c
+++ b/src/mame/video/tetrisp2.c
@@ -61,14 +61,14 @@ static int flipscreen_old;
/* BBBBBGGGGGRRRRRx xxxxxxxxxxxxxxxx */
WRITE16_HANDLER( tetrisp2_palette_w )
{
- data = COMBINE_DATA(&paletteram16[offset]);
+ data = COMBINE_DATA(&space->machine->generic.paletteram.u16[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(&paletteram16_2[offset]);
+ data = COMBINE_DATA(&space->machine->generic.paletteram2.u16[offset]);
if ((offset & 1) == 0)
palette_set_color_rgb(space->machine,(0x8000 + (offset/2)),pal5bit(data >> 1),pal5bit(data >> 6),pal5bit(data >> 11));
}
@@ -583,7 +583,7 @@ VIDEO_UPDATE( tetrisp2 )
else if (asc_pri == 2)
tilemap_draw(bitmap,cliprect, tilemap_fg, 0, 1 << 2);
- tetrisp2_draw_sprites(screen->machine, bitmap,screen->machine->priority_bitmap, cliprect, tetrisp2_priority, spriteram16, spriteram_size, 0, 0, (tetrisp2_systemregs[0x00] & 0x02), 0);
+ tetrisp2_draw_sprites(screen->machine, bitmap,screen->machine->priority_bitmap, cliprect, tetrisp2_priority, screen->machine->generic.spriteram.u16, screen->machine->generic.spriteram_size, 0, 0, (tetrisp2_systemregs[0x00] & 0x02), 0);
return 0;
}
@@ -667,7 +667,7 @@ VIDEO_UPDATE( rockntread )
else if (asc_pri == 2)
tilemap_draw(bitmap,cliprect, tilemap_fg, 0, 1 << 2);
- tetrisp2_draw_sprites(screen->machine, bitmap,screen->machine->priority_bitmap,cliprect, tetrisp2_priority, spriteram16, spriteram_size, 0, 0, (tetrisp2_systemregs[0x00] & 0x02), 0);
+ tetrisp2_draw_sprites(screen->machine, bitmap,screen->machine->priority_bitmap,cliprect, tetrisp2_priority, screen->machine->generic.spriteram.u16, screen->machine->generic.spriteram_size, 0, 0, (tetrisp2_systemregs[0x00] & 0x02), 0);
return 0;
}
@@ -734,7 +734,7 @@ VIDEO_UPDATE( rocknms )
else if (asc_pri == 2)
tilemap_draw(bitmap,cliprect, tilemap_sub_fg, 0, 1 << 2);
- tetrisp2_draw_sprites(screen->machine, bitmap,screen->machine->priority_bitmap,cliprect, tetrisp2_priority, spriteram16_2, spriteram_2_size, 4, 0, (tetrisp2_systemregs[0x00] & 0x02), 0);
+ tetrisp2_draw_sprites(screen->machine, bitmap,screen->machine->priority_bitmap,cliprect, tetrisp2_priority, screen->machine->generic.spriteram2.u16, screen->machine->generic.spriteram2_size, 4, 0, (tetrisp2_systemregs[0x00] & 0x02), 0);
}
else if (screen == right_screen) /* game screen */
{
@@ -787,7 +787,7 @@ VIDEO_UPDATE( rocknms )
else if (asc_pri == 2)
tilemap_draw(bitmap,cliprect, tilemap_fg, 0, 1 << 2);
- tetrisp2_draw_sprites(screen->machine, bitmap,screen->machine->priority_bitmap,cliprect, tetrisp2_priority, spriteram16, spriteram_size, 0, 0, (tetrisp2_systemregs[0x00] & 0x02), 0);
+ tetrisp2_draw_sprites(screen->machine, bitmap,screen->machine->priority_bitmap,cliprect, tetrisp2_priority, screen->machine->generic.spriteram.u16, screen->machine->generic.spriteram_size, 0, 0, (tetrisp2_systemregs[0x00] & 0x02), 0);
}
return 0;
diff --git a/src/mame/video/thedeep.c b/src/mame/video/thedeep.c
index abf15e29014..750bb77ac65 100644
--- a/src/mame/video/thedeep.c
+++ b/src/mame/video/thedeep.c
@@ -153,7 +153,7 @@ Offset: Bits: Value:
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
- UINT8 *s = spriteram, *end = s + spriteram_size;
+ UINT8 *s = machine->generic.spriteram.u8, *end = s + machine->generic.spriteram_size;
while (s < end)
{
diff --git a/src/mame/video/thief.c b/src/mame/video/thief.c
index 217673ba729..f6153ceb5cb 100644
--- a/src/mame/video/thief.c
+++ b/src/mame/video/thief.c
@@ -79,13 +79,13 @@ WRITE8_HANDLER( thief_color_plane_w ){
}
READ8_HANDLER( thief_videoram_r ){
- UINT8 *source = &videoram[offset];
+ UINT8 *source = &space->machine->generic.videoram.u8[offset];
if( thief_video_control&0x02 ) source+=0x2000*4; /* foreground/background */
return source[thief_read_mask*0x2000];
}
WRITE8_HANDLER( thief_videoram_w ){
- UINT8 *dest = &videoram[offset];
+ UINT8 *dest = &space->machine->generic.videoram.u8[offset];
if( thief_video_control&0x02 )
dest+=0x2000*4; /* foreground/background */
if( thief_write_mask&0x1 ) dest[0x2000*0] = data;
@@ -99,7 +99,7 @@ WRITE8_HANDLER( thief_videoram_w ){
VIDEO_START( thief ){
memset( &thief_coprocessor, 0x00, sizeof(thief_coprocessor) );
- videoram = auto_alloc_array_clear(machine, UINT8, 0x2000*4*2 );
+ machine->generic.videoram.u8 = auto_alloc_array_clear(machine, UINT8, 0x2000*4*2 );
thief_coprocessor.image_ram = auto_alloc_array(machine, UINT8, 0x2000 );
thief_coprocessor.context_ram = auto_alloc_array(machine, UINT8, 0x400 );
@@ -108,7 +108,7 @@ VIDEO_START( thief ){
VIDEO_UPDATE( thief ){
UINT32 offs;
int flipscreen = thief_video_control&1;
- const UINT8 *source = videoram;
+ const UINT8 *source = screen->machine->generic.videoram.u8;
if (tms9927_screen_reset(devtag_get_device(screen->machine, "tms")))
{
diff --git a/src/mame/video/tigeroad.c b/src/mame/video/tigeroad.c
index db4a94489af..f27093eabcb 100644
--- a/src/mame/video/tigeroad.c
+++ b/src/mame/video/tigeroad.c
@@ -5,7 +5,7 @@ static tilemap *bg_tilemap, *fg_tilemap;
WRITE16_HANDLER( tigeroad_videoram_w )
{
- COMBINE_DATA(&videoram16[offset]);
+ COMBINE_DATA(&space->machine->generic.videoram.u16[offset]);
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
@@ -66,8 +66,8 @@ WRITE16_HANDLER( tigeroad_scroll_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int priority )
{
- UINT16 *source = &buffered_spriteram16[spriteram_size/2] - 4;
- UINT16 *finish = buffered_spriteram16;
+ UINT16 *source = &machine->generic.buffered_spriteram.u16[machine->generic.spriteram_size/2] - 4;
+ UINT16 *finish = machine->generic.buffered_spriteram.u16;
// TODO: The Track Map should probably be drawn on top of the background tilemap...
// Also convert the below into a for loop!
@@ -124,7 +124,7 @@ static TILE_GET_INFO( get_bg_tile_info )
static TILE_GET_INFO( get_fg_tile_info )
{
- int data = videoram16[tile_index];
+ int data = machine->generic.videoram.u16[tile_index];
int attr = data >> 8;
int code = (data & 0xff) + ((attr & 0xc0) << 2) + ((attr & 0x20) << 5);
int color = attr & 0x0f;
diff --git a/src/mame/video/timelimt.c b/src/mame/video/timelimt.c
index 8ae61f9c1a4..69d7bb93726 100644
--- a/src/mame/video/timelimt.c
+++ b/src/mame/video/timelimt.c
@@ -67,7 +67,7 @@ static TILE_GET_INFO( get_bg_tile_info )
static TILE_GET_INFO( get_fg_tile_info )
{
- SET_TILE_INFO(0, videoram[tile_index], 0, 0);
+ SET_TILE_INFO(0, machine->generic.videoram.u8[tile_index], 0, 0);
}
VIDEO_START( timelimt )
@@ -85,7 +85,7 @@ VIDEO_START( timelimt )
WRITE8_HANDLER( timelimt_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
@@ -115,9 +115,10 @@ WRITE8_HANDLER( timelimt_scroll_y_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for( offs = spriteram_size; offs >= 0; offs -= 4 )
+ for( offs = machine->generic.spriteram_size; offs >= 0; offs -= 4 )
{
int sy = 240 - spriteram[offs];
int sx = spriteram[offs+3];
diff --git a/src/mame/video/timeplt.c b/src/mame/video/timeplt.c
index f6307d5d6f1..8ffe00f1b54 100644
--- a/src/mame/video/timeplt.c
+++ b/src/mame/video/timeplt.c
@@ -94,8 +94,8 @@ PALETTE_INIT( timeplt )
static TILE_GET_INFO( get_tile_info )
{
- int attr = colorram[tile_index];
- int code = videoram[tile_index] + 8 * (attr & 0x20);
+ int attr = machine->generic.colorram.u8[tile_index];
+ int code = machine->generic.videoram.u8[tile_index] + 8 * (attr & 0x20);
int color = attr & 0x1f;
int flags = TILE_FLIPYX(attr >> 6);
@@ -126,14 +126,14 @@ VIDEO_START( timeplt )
WRITE8_HANDLER( timeplt_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap,offset);
}
WRITE8_HANDLER( timeplt_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap,offset);
}
@@ -159,6 +159,8 @@ READ8_HANDLER( timeplt_scanline_r )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
+ UINT8 *spriteram_2 = machine->generic.spriteram2.u8;
int offs;
for (offs = 0x3e;offs >= 0x10;offs -= 2)
diff --git a/src/mame/video/tmnt.c b/src/mame/video/tmnt.c
index 6c65ff56a01..9a04b0a3d08 100644
--- a/src/mame/video/tmnt.c
+++ b/src/mame/video/tmnt.c
@@ -319,10 +319,10 @@ VIDEO_START( prmrsocr )
WRITE16_HANDLER( tmnt_paletteram_word_w )
{
- COMBINE_DATA(paletteram16 + offset);
+ COMBINE_DATA(space->machine->generic.paletteram.u16 + offset);
offset &= ~1;
- data = (paletteram16[offset] << 8) | paletteram16[offset+1];
+ data = (space->machine->generic.paletteram.u16[offset] << 8) | space->machine->generic.paletteram.u16[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 da4d9ba57fd..4a4bf16cba2 100644
--- a/src/mame/video/toaplan1.c
+++ b/src/mame/video/toaplan1.c
@@ -269,7 +269,7 @@ static void toaplan1_create_tilemaps(running_machine *machine)
static void toaplan1_paletteram_alloc(running_machine *machine)
{
- paletteram16 = auto_alloc_array(machine, UINT16, (toaplan1_colorram1_size + toaplan1_colorram2_size)/2);
+ machine->generic.paletteram.u16 = auto_alloc_array(machine, UINT16, (toaplan1_colorram1_size + toaplan1_colorram2_size)/2);
}
static void toaplan1_vram_alloc(running_machine *machine)
@@ -290,12 +290,12 @@ static void toaplan1_vram_alloc(running_machine *machine)
static void toaplan1_spritevram_alloc(running_machine *machine)
{
- spriteram16 = auto_alloc_array_clear(machine, UINT16, TOAPLAN1_SPRITERAM_SIZE/2);
- buffered_spriteram16 = auto_alloc_array_clear(machine, UINT16, TOAPLAN1_SPRITERAM_SIZE/2);
+ machine->generic.spriteram.u16 = auto_alloc_array_clear(machine, UINT16, TOAPLAN1_SPRITERAM_SIZE/2);
+ machine->generic.buffered_spriteram.u16 = auto_alloc_array_clear(machine, UINT16, TOAPLAN1_SPRITERAM_SIZE/2);
toaplan1_spritesizeram16 = auto_alloc_array_clear(machine, UINT16, TOAPLAN1_SPRITESIZERAM_SIZE/2);
toaplan1_buffered_spritesizeram16 = auto_alloc_array_clear(machine, UINT16, TOAPLAN1_SPRITESIZERAM_SIZE/2);
- spriteram_size = TOAPLAN1_SPRITERAM_SIZE;
+ machine->generic.spriteram_size = TOAPLAN1_SPRITERAM_SIZE;
}
static void toaplan1_set_scrolls(void)
@@ -338,7 +338,7 @@ VIDEO_START( rallybik )
bcu_flipscreen = -1;
toaplan1_reset = 0;
- state_save_register_global_pointer(machine, paletteram16, (toaplan1_colorram1_size + toaplan1_colorram2_size)/2);
+ state_save_register_global_pointer(machine, machine->generic.paletteram.u16, (toaplan1_colorram1_size + toaplan1_colorram2_size)/2);
state_save_register_global_pointer(machine, pf1_tilevram16, TOAPLAN1_TILEVRAM_SIZE/2);
state_save_register_global_pointer(machine, pf2_tilevram16, TOAPLAN1_TILEVRAM_SIZE/2);
state_save_register_global_pointer(machine, pf3_tilevram16, TOAPLAN1_TILEVRAM_SIZE/2);
@@ -383,13 +383,13 @@ VIDEO_START( toaplan1 )
fcu_flipscreen = 0;
toaplan1_reset = 1;
- state_save_register_global_pointer(machine, paletteram16, (toaplan1_colorram1_size + toaplan1_colorram2_size)/2);
+ state_save_register_global_pointer(machine, machine->generic.paletteram.u16, (toaplan1_colorram1_size + toaplan1_colorram2_size)/2);
state_save_register_global_pointer(machine, pf1_tilevram16, TOAPLAN1_TILEVRAM_SIZE/2);
state_save_register_global_pointer(machine, pf2_tilevram16, TOAPLAN1_TILEVRAM_SIZE/2);
state_save_register_global_pointer(machine, pf3_tilevram16, TOAPLAN1_TILEVRAM_SIZE/2);
state_save_register_global_pointer(machine, pf4_tilevram16, TOAPLAN1_TILEVRAM_SIZE/2);
- state_save_register_global_pointer(machine, spriteram16, TOAPLAN1_SPRITERAM_SIZE/2);
- state_save_register_global_pointer(machine, buffered_spriteram16, TOAPLAN1_SPRITERAM_SIZE/2);
+ state_save_register_global_pointer(machine, machine->generic.spriteram.u16, TOAPLAN1_SPRITERAM_SIZE/2);
+ state_save_register_global_pointer(machine, machine->generic.buffered_spriteram.u16, TOAPLAN1_SPRITERAM_SIZE/2);
state_save_register_global_pointer(machine, toaplan1_spritesizeram16, TOAPLAN1_SPRITESIZERAM_SIZE/2);
state_save_register_global_pointer(machine, toaplan1_buffered_spritesizeram16, TOAPLAN1_SPRITESIZERAM_SIZE/2);
@@ -544,12 +544,12 @@ WRITE16_HANDLER( toaplan1_colorram2_w )
READ16_HANDLER( toaplan1_spriteram16_r )
{
- return spriteram16[spriteram_offs & ((TOAPLAN1_SPRITERAM_SIZE/2)-1)];
+ return space->machine->generic.spriteram.u16[spriteram_offs & ((TOAPLAN1_SPRITERAM_SIZE/2)-1)];
}
WRITE16_HANDLER( toaplan1_spriteram16_w )
{
- COMBINE_DATA(&spriteram16[spriteram_offs & ((TOAPLAN1_SPRITERAM_SIZE/2)-1)]);
+ COMBINE_DATA(&space->machine->generic.spriteram.u16[spriteram_offs & ((TOAPLAN1_SPRITERAM_SIZE/2)-1)]);
#ifdef MAME_DEBUG
if (spriteram_offs >= (TOAPLAN1_SPRITERAM_SIZE/2))
@@ -751,6 +751,8 @@ static void toaplan1_log_vram(running_machine *machine)
#ifdef MAME_DEBUG
if ( input_code_pressed(machine, KEYCODE_M) )
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
+ UINT16 *buffered_spriteram16 = machine->generic.buffered_spriteram.u16;
offs_t sprite_voffs;
while (input_code_pressed(machine, KEYCODE_M)) ;
if (toaplan1_spritesizeram16) /* FCU controller */
@@ -760,7 +762,7 @@ static void toaplan1_log_vram(running_machine *machine)
UINT16 *bsize = (UINT16 *)(toaplan1_buffered_spritesizeram16);
logerror("Scrolls PF1-X PF1-Y PF2-X PF2-Y PF3-X PF3-Y PF4-X PF4-Y\n");
logerror("------> #%04x #%04x #%04x #%04x #%04x #%04x #%04x #%04x\n",pf1_scrollx,pf1_scrolly,pf2_scrollx,pf2_scrolly,pf3_scrollx,pf3_scrolly,pf4_scrollx,pf4_scrolly);
- for ( sprite_voffs = 0; sprite_voffs < (spriteram_size/2); sprite_voffs += 4 )
+ for ( sprite_voffs = 0; sprite_voffs < (machine->generic.spriteram_size/2); sprite_voffs += 4 )
{
bschar = buffered_spriteram16[sprite_voffs];
bsattr = buffered_spriteram16[sprite_voffs + 1];
@@ -780,7 +782,7 @@ static void toaplan1_log_vram(running_machine *machine)
int schar,sattr,sxpos,sypos,bschar,bsattr,bsxpos,bsypos;
logerror("Scrolls PF1-X PF1-Y PF2-X PF2-Y PF3-X PF3-Y PF4-X PF4-Y\n");
logerror("------> #%04x #%04x #%04x #%04x #%04x #%04x #%04x #%04x\n",pf1_scrollx,pf1_scrolly,pf2_scrollx,pf2_scrolly,pf3_scrollx,pf3_scrolly,pf4_scrollx,pf4_scrolly);
- for ( sprite_voffs = 0; sprite_voffs < (spriteram_size/2); sprite_voffs += 4 )
+ for ( sprite_voffs = 0; sprite_voffs < (machine->generic.spriteram_size/2); sprite_voffs += 4 )
{
bschar = buffered_spriteram16[sprite_voffs];
bsattr = buffered_spriteram16[sprite_voffs + 1];
@@ -1038,12 +1040,12 @@ static void toaplan1_draw_sprite_custom(bitmap_t *dest_bmp,const rectangle *clip
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
- UINT16 *source = (UINT16 *)(buffered_spriteram16);
+ UINT16 *source = (UINT16 *)(machine->generic.buffered_spriteram.u16);
UINT16 *size = (UINT16 *)(toaplan1_buffered_spritesizeram16);
int offs;
- for (offs = spriteram_size/2 - 4; offs >= 0; offs -= 4)
+ for (offs = machine->generic.spriteram_size/2 - 4; offs >= 0; offs -= 4)
{
if (!(source[offs] & 0x8000))
{
@@ -1104,9 +1106,10 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
static void rallybik_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int priority )
{
+ UINT16 *buffered_spriteram16 = machine->generic.buffered_spriteram.u16;
int offs;
- for (offs = 0; offs < (spriteram_size/2); offs += 4)
+ for (offs = 0; offs < (machine->generic.spriteram_size/2); offs += 4)
{
int attrib, sx, sy, flipx, flipy;
int sprite, color;
diff --git a/src/mame/video/toaplan2.c b/src/mame/video/toaplan2.c
index 41bb7dd3bf2..7d93ad0bb1e 100644
--- a/src/mame/video/toaplan2.c
+++ b/src/mame/video/toaplan2.c
@@ -750,7 +750,7 @@ WRITE16_HANDLER( batrider_textdata_decode )
memcpy(dest, toaplan2_txvideoram16, toaplan2_tx_vram_size);
dest += (toaplan2_tx_vram_size/2);
- memcpy(dest, paletteram16, batrider_paletteram16_size);
+ memcpy(dest, space->machine->generic.paletteram.u16, batrider_paletteram16_size);
dest += (batrider_paletteram16_size/2);
memcpy(dest, toaplan2_txvideoram16_offs, toaplan2_tx_offs_vram_size);
dest += (toaplan2_tx_offs_vram_size/2);
diff --git a/src/mame/video/toki.c b/src/mame/video/toki.c
index 24eb8b173ae..e5b37abead7 100644
--- a/src/mame/video/toki.c
+++ b/src/mame/video/toki.c
@@ -48,7 +48,7 @@ VIDEO_EOF( tokib )
static TILE_GET_INFO( get_text_tile_info )
{
- int tile = videoram16[tile_index];
+ int tile = machine->generic.videoram.u16[tile_index];
int color = (tile >> 12) & 0xf;
tile &= 0xfff;
@@ -110,7 +110,7 @@ VIDEO_START( toki )
WRITE16_HANDLER( toki_foreground_videoram16_w )
{
- COMBINE_DATA(&videoram16[offset]);
+ COMBINE_DATA(&space->machine->generic.videoram.u16[offset]);
tilemap_mark_tile_dirty(text_layer,offset);
}
@@ -180,9 +180,9 @@ static void toki_draw_sprites(running_machine *machine, bitmap_t *bitmap,const r
int x,y,xoffs,yoffs,tile,flipx,flipy,color,offs;
UINT16 *sprite_word;
- for (offs = (spriteram_size/2)-4;offs >= 0;offs -= 4)
+ for (offs = (machine->generic.spriteram_size/2)-4;offs >= 0;offs -= 4)
{
- sprite_word = &buffered_spriteram16[offs];
+ sprite_word = &machine->generic.buffered_spriteram.u16[offs];
if ((sprite_word[2] != 0xf000) && (sprite_word[0] != 0xffff))
{
@@ -223,9 +223,9 @@ static void tokib_draw_sprites(running_machine *machine, bitmap_t *bitmap,const
int x,y,tile,flipx,color,offs;
UINT16 *sprite_word;
- for (offs = 0;offs < spriteram_size / 2;offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram_size / 2;offs += 4)
{
- sprite_word = &buffered_spriteram16[offs];
+ sprite_word = &machine->generic.buffered_spriteram.u16[offs];
if (sprite_word[0] == 0xf100)
break;
diff --git a/src/mame/video/toobin.c b/src/mame/video/toobin.c
index fe4e377fbfe..bd0b95d4f39 100644
--- a/src/mame/video/toobin.c
+++ b/src/mame/video/toobin.c
@@ -119,8 +119,8 @@ WRITE16_HANDLER( toobin_paletteram_w )
{
int newword;
- COMBINE_DATA(&paletteram16[offset]);
- newword = paletteram16[offset];
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
+ newword = space->machine->generic.paletteram.u16[offset];
{
int red = (((newword >> 10) & 31) * 224) >> 5;
@@ -149,7 +149,7 @@ WRITE16_HANDLER( toobin_intensity_w )
brightness = (double)(~data & 0x1f) / 31.0;
for (i = 0; i < 0x400; i++)
- if (!(paletteram16[i] & 0x8000))
+ if (!(space->machine->generic.paletteram.u16[i] & 0x8000))
palette_set_pen_contrast(space->machine, i, brightness);
}
}
diff --git a/src/mame/video/topspeed.c b/src/mame/video/topspeed.c
index 474e46f299e..0a40805a93f 100644
--- a/src/mame/video/topspeed.c
+++ b/src/mame/video/topspeed.c
@@ -37,6 +37,7 @@ VIDEO_START( topspeed )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs,map_offset,x,y,curx,cury,sprite_chunk;
UINT16 *spritemap = topspeed_spritemap;
UINT16 data,tilenum,code,color;
diff --git a/src/mame/video/trackfld.c b/src/mame/video/trackfld.c
index 24a2e9ee88c..e437c928ce5 100644
--- a/src/mame/video/trackfld.c
+++ b/src/mame/video/trackfld.c
@@ -96,13 +96,13 @@ PALETTE_INIT( trackfld )
WRITE8_HANDLER( trackfld_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( trackfld_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -170,8 +170,8 @@ WRITE8_HANDLER( atlantol_gfxbank_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int attr = colorram[tile_index];
- int code = videoram[tile_index] + 4 * (attr & 0xc0);
+ int attr = machine->generic.colorram.u8[tile_index];
+ int code = machine->generic.videoram.u8[tile_index] + 4 * (attr & 0xc0);
int color = attr & 0x0f;
int flags = ((attr & 0x10) ? TILE_FLIPX : 0) | ((attr & 0x20) ? TILE_FLIPY : 0);
@@ -191,9 +191,11 @@ VIDEO_START( trackfld )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
+ UINT8 *spriteram_2 = machine->generic.spriteram2.u8;
int offs;
- for (offs = spriteram_size - 2; offs >= 0; offs -= 2)
+ for (offs = machine->generic.spriteram_size - 2; offs >= 0; offs -= 2)
{
int attr = spriteram_2[offs];
int code = spriteram[offs + 1];
diff --git a/src/mame/video/travrusa.c b/src/mame/video/travrusa.c
index 003df95297a..ddfa5048569 100644
--- a/src/mame/video/travrusa.c
+++ b/src/mame/video/travrusa.c
@@ -314,7 +314,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan
sect_rect(&clip, &spritevisiblearea);
- for (offs = spriteram_size - 4;offs >= 0;offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4;offs >= 0;offs -= 4)
{
int sx = ((state->spriteram[offs + 3] + 8) & 0xff) - 8;
int sy = 240 - state->spriteram[offs];
diff --git a/src/mame/video/truco.c b/src/mame/video/truco.c
index 2098c766857..e432b4b5e42 100644
--- a/src/mame/video/truco.c
+++ b/src/mame/video/truco.c
@@ -32,7 +32,7 @@ PALETTE_INIT( truco )
VIDEO_UPDATE( truco )
{
- UINT8 *vid = videoram;
+ UINT8 *vid = screen->machine->generic.videoram.u8;
int x, y;
for( y = 0; y < 192; y++ )
diff --git a/src/mame/video/trucocl.c b/src/mame/video/trucocl.c
index 7ef1d17c133..22cd31c6b85 100644
--- a/src/mame/video/trucocl.c
+++ b/src/mame/video/trucocl.c
@@ -46,22 +46,22 @@ PALETTE_INIT( trucocl )
WRITE8_HANDLER( trucocl_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( trucocl_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
static TILE_GET_INFO( get_bg_tile_info )
{
- int gfxsel = colorram[tile_index] & 1;
- int bank = ( ( colorram[tile_index] >> 2 ) & 0x07 );
- int code = videoram[tile_index];
- int colour = (colorram[tile_index] & 2) >> 1;
+ int gfxsel = machine->generic.colorram.u8[tile_index] & 1;
+ int bank = ( ( machine->generic.colorram.u8[tile_index] >> 2 ) & 0x07 );
+ int code = machine->generic.videoram.u8[tile_index];
+ int colour = (machine->generic.colorram.u8[tile_index] & 2) >> 1;
code |= ( bank & 1 ) << 10;
code |= ( bank & 2 ) << 8;
diff --git a/src/mame/video/tryout.c b/src/mame/video/tryout.c
index 776ddc5576b..5df02d621c3 100644
--- a/src/mame/video/tryout.c
+++ b/src/mame/video/tryout.c
@@ -44,8 +44,8 @@ static TILE_GET_INFO( get_fg_tile_info )
{
int code, attr, color;
- code = videoram[tile_index];
- attr = videoram[tile_index + 0x400];
+ code = machine->generic.videoram.u8[tile_index];
+ attr = machine->generic.videoram.u8[tile_index + 0x400];
code |= ((attr & 0x03) << 8);
color = ((attr & 0x4)>>2)+6;
@@ -64,7 +64,7 @@ READ8_HANDLER( tryout_vram_r )
WRITE8_HANDLER( tryout_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset & 0x3ff);
}
@@ -178,6 +178,8 @@ VIDEO_START( tryout )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
+ UINT8 *spriteram_2 = machine->generic.spriteram2.u8;
int offs,fx,fy,x,y,color,sprite,inc;
for (offs = 0;offs < 0x7f;offs += 4)
diff --git a/src/mame/video/tsamurai.c b/src/mame/video/tsamurai.c
index 95a6f48d6fe..dbe8daeba67 100644
--- a/src/mame/video/tsamurai.c
+++ b/src/mame/video/tsamurai.c
@@ -36,13 +36,13 @@ static TILE_GET_INFO( get_bg_tile_info )
static TILE_GET_INFO( get_fg_tile_info )
{
- int tile_number = videoram[tile_index];
+ int tile_number = machine->generic.videoram.u8[tile_index];
if (textbank1 & 0x01) tile_number += 256; /* legacy */
if (textbank2 & 0x01) tile_number += 512; /* Mission 660 add-on */
SET_TILE_INFO(
1,
tile_number,
- colorram[((tile_index&0x1f)*2)+1] & 0x1f,
+ machine->generic.colorram.u8[((tile_index&0x1f)*2)+1] & 0x1f,
0);
}
@@ -110,14 +110,14 @@ WRITE8_HANDLER( tsamurai_bg_videoram_w )
}
WRITE8_HANDLER( tsamurai_fg_videoram_w )
{
- videoram[offset]=data;
+ space->machine->generic.videoram.u8[offset]=data;
tilemap_mark_tile_dirty(foreground,offset);
}
WRITE8_HANDLER( tsamurai_fg_colorram_w )
{
- if( colorram[offset]!=data )
+ if( space->machine->generic.colorram.u8[offset]!=data )
{
- colorram[offset]=data;
+ space->machine->generic.colorram.u8[offset]=data;
if (offset & 1)
{
int col = offset/2;
@@ -137,6 +137,7 @@ WRITE8_HANDLER( tsamurai_fg_colorram_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
gfx_element *gfx = machine->gfx[2];
const UINT8 *source = spriteram+32*4-4;
const UINT8 *finish = spriteram; /* ? */
@@ -202,7 +203,7 @@ VIDEO_UPDATE( tsamurai )
tilemap_set_scroll_cols(foreground, 32);
for (i = 0 ; i < 32 ; i++)
{
- tilemap_set_scrolly(foreground, i, colorram[i*2]);
+ tilemap_set_scrolly(foreground, i, screen->machine->generic.colorram.u8[i*2]);
}
/* end of column scroll code */
@@ -241,7 +242,7 @@ WRITE8_HANDLER( vsgongf_color_w )
static TILE_GET_INFO( get_vsgongf_tile_info )
{
- int tile_number = videoram[tile_index];
+ int tile_number = machine->generic.videoram.u8[tile_index];
int color = vsgongf_color&0x1f;
if( textbank1 ) tile_number += 0x100;
SET_TILE_INFO(
diff --git a/src/mame/video/tumbleb.c b/src/mame/video/tumbleb.c
index 19cc6abd66a..dd7f843a717 100644
--- a/src/mame/video/tumbleb.c
+++ b/src/mame/video/tumbleb.c
@@ -31,6 +31,7 @@ static int sprite_yoffset;
static void tumblepb_draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
for (offs = 0;offs < 0x400;offs += 4)
@@ -92,9 +93,10 @@ static void tumblepb_draw_sprites(running_machine *machine, bitmap_t *bitmap,con
static void jumpkids_draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
- for (offs = 0;offs < spriteram_size/2;offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram_size/2;offs += 4)
{
int x,y,sprite,colour,multi,fx,fy,inc,flash,mult;
@@ -154,6 +156,7 @@ static void jumpkids_draw_sprites(running_machine *machine, bitmap_t *bitmap,con
static void fncywld_draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
for (offs = 0;offs < 0x400;offs += 4)
diff --git a/src/mame/video/tumblep.c b/src/mame/video/tumblep.c
index 30b9c61df52..6b4111133ae 100644
--- a/src/mame/video/tumblep.c
+++ b/src/mame/video/tumblep.c
@@ -18,6 +18,7 @@ to switch between 8*8 tiles and 16*16 tiles.
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
for (offs = 0;offs < 0x400;offs += 4)
diff --git a/src/mame/video/tunhunt.c b/src/mame/video/tunhunt.c
index 959b351bc2b..af181660bcf 100644
--- a/src/mame/video/tunhunt.c
+++ b/src/mame/video/tunhunt.c
@@ -51,13 +51,13 @@ static tilemap *fg_tilemap;
WRITE8_HANDLER( tunhunt_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
static TILE_GET_INFO( get_fg_tile_info )
{
- int attr = videoram[tile_index];
+ int attr = machine->generic.videoram.u8[tile_index];
int code = attr & 0x3f;
int color = attr >> 6;
int flags = color ? TILE_FORCE_LAYER0 : 0;
@@ -138,7 +138,7 @@ Color Array Ram Assignments:
8-E Lines (as normal) background
F Hilight 3
*/
-static void set_pens(colortable_t *colortable)
+static void set_pens(running_machine *machine)
{
// const UINT8 *color_prom = memory_region( machine, "proms" );
/*
@@ -160,7 +160,7 @@ static void set_pens(colortable_t *colortable)
for( i=0; i<16; i++ )
{
- color = paletteram[i];
+ color = machine->generic.paletteram.u8[i];
shade = 0xf^(color>>4);
color &= 0xf; /* hue select */
@@ -192,11 +192,11 @@ static void set_pens(colortable_t *colortable)
green = APPLY_SHADE(green,shade);
blue = APPLY_SHADE(blue,shade);
- colortable_palette_set_color( colortable,i,MAKE_RGB(red,green,blue) );
+ colortable_palette_set_color( machine->colortable,i,MAKE_RGB(red,green,blue) );
}
}
-static void draw_motion_object(bitmap_t *bitmap, const rectangle *cliprect)
+static void draw_motion_object(bitmap_t *bitmap, const rectangle *cliprect, UINT8 *spriteram)
{
/*
* VSTRLO 0x1202
@@ -367,11 +367,11 @@ static void draw_shell(running_machine *machine,
VIDEO_UPDATE( tunhunt )
{
- set_pens(screen->machine->colortable);
+ set_pens(screen->machine);
draw_box(bitmap, cliprect);
- draw_motion_object(bitmap, cliprect);
+ draw_motion_object(bitmap, cliprect, screen->machine->generic.spriteram.u8);
draw_shell(screen->machine, bitmap, cliprect,
tunhunt_ram[SHL0PC], /* picture code */
diff --git a/src/mame/video/tutankhm.c b/src/mame/video/tutankhm.c
index 653a3599895..141f2fe502b 100644
--- a/src/mame/video/tutankhm.c
+++ b/src/mame/video/tutankhm.c
@@ -47,13 +47,13 @@ WRITE8_HANDLER( tutankhm_flip_screen_y_w )
*
*************************************/
-static void get_pens(pen_t *pens)
+static void get_pens(running_machine *machine, pen_t *pens)
{
offs_t i;
for (i = 0; i < NUM_PENS; i++)
{
- UINT8 data = paletteram[i];
+ UINT8 data = machine->generic.paletteram.u8[i];
pens[i] = MAKE_RGB(pal3bit(data >> 0), pal3bit(data >> 3), pal2bit(data >> 6));
}
@@ -89,7 +89,7 @@ VIDEO_UPDATE( tutankhm )
pen_t pens[NUM_PENS];
int x, y;
- get_pens(pens);
+ get_pens(screen->machine, pens);
for (y = cliprect->min_y; y <= cliprect->max_y; y++)
{
@@ -100,7 +100,7 @@ VIDEO_UPDATE( tutankhm )
UINT8 effx = x ^ xorx;
UINT8 yscroll = (effx < 192) ? *tutankhm_scroll : 0;
UINT8 effy = (y ^ xory) + yscroll;
- UINT8 vrambyte = videoram[effy * 128 + effx / 2];
+ UINT8 vrambyte = screen->machine->generic.videoram.u8[effy * 128 + effx / 2];
UINT8 shifted = vrambyte >> (4 * (effx % 2));
dst[x] = pens[shifted & 0x0f];
}
@@ -168,9 +168,9 @@ WRITE8_HANDLER( junofrst_blitter_w )
data = 0;
if (dest & 1)
- videoram[dest >> 1] = (videoram[dest >> 1] & 0x0f) | (data << 4);
+ space->machine->generic.videoram.u8[dest >> 1] = (space->machine->generic.videoram.u8[dest >> 1] & 0x0f) | (data << 4);
else
- videoram[dest >> 1] = (videoram[dest >> 1] & 0xf0) | data;
+ space->machine->generic.videoram.u8[dest >> 1] = (space->machine->generic.videoram.u8[dest >> 1] & 0xf0) | data;
}
dest = dest + 1;
diff --git a/src/mame/video/twin16.c b/src/mame/video/twin16.c
index d4f4bd9d8e0..ecaba154b07 100644
--- a/src/mame/video/twin16.c
+++ b/src/mame/video/twin16.c
@@ -56,10 +56,10 @@ WRITE16_HANDLER( twin16_text_ram_w )
WRITE16_HANDLER( twin16_paletteram_word_w )
{ // identical to tmnt_paletteram_w
- COMBINE_DATA(paletteram16 + offset);
+ COMBINE_DATA(space->machine->generic.paletteram.u16 + offset);
offset &= ~1;
- data = ((paletteram16[offset] & 0xff) << 8) | (paletteram16[offset + 1] & 0xff);
+ data = ((space->machine->generic.paletteram.u16[offset] & 0xff) << 8) | (space->machine->generic.paletteram.u16[offset + 1] & 0xff);
palette_set_color_rgb(space->machine, offset / 2, pal5bit(data >> 0), pal5bit(data >> 5), pal5bit(data >> 10));
}
@@ -163,6 +163,7 @@ static int twin16_set_sprite_timer( running_machine *machine )
void twin16_spriteram_process( running_machine *machine )
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
UINT16 dx = scrollx[0];
UINT16 dy = scrolly[0];
@@ -223,8 +224,8 @@ void twin16_spriteram_process( running_machine *machine )
static void draw_sprites( running_machine *machine, bitmap_t *bitmap )
{
- const UINT16 *source = 0x1800+buffered_spriteram16 + 0x800 - 4;
- const UINT16 *finish = 0x1800+buffered_spriteram16;
+ const UINT16 *source = 0x1800+machine->generic.buffered_spriteram.u16 + 0x800 - 4;
+ const UINT16 *finish = 0x1800+machine->generic.buffered_spriteram.u16;
for (; source >= finish; source -= 4)
{
@@ -346,7 +347,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap )
static void draw_layer( running_machine *machine, bitmap_t *bitmap, int opaque )
{
const UINT16 *gfx_base;
- const UINT16 *source = videoram16;
+ const UINT16 *source = machine->generic.videoram.u16;
int i, xxor, yxor;
int bank_table[4];
int dx, dy, palette;
@@ -542,8 +543,8 @@ VIDEO_EOF( twin16 )
/* if the sprite preprocessor is used, sprite ram is copied to an external buffer first,
as evidenced by 1-frame sprite lag in gradius2 and devilw otherwise, though there's probably
more to it than that */
- memcpy(&buffered_spriteram16[0x1800],twin16_sprite_buffer,0x800*sizeof(UINT16));
- memcpy(twin16_sprite_buffer,&spriteram16[0x1800],0x800*sizeof(UINT16));
+ memcpy(&machine->generic.buffered_spriteram.u16[0x1800],twin16_sprite_buffer,0x800*sizeof(UINT16));
+ memcpy(twin16_sprite_buffer,&machine->generic.spriteram.u16[0x1800],0x800*sizeof(UINT16));
}
else {
const address_space *space = cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM);
diff --git a/src/mame/video/twincobr.c b/src/mame/video/twincobr.c
index 220bcbc2973..53b5bfc9718 100644
--- a/src/mame/video/twincobr.c
+++ b/src/mame/video/twincobr.c
@@ -351,11 +351,12 @@ WRITE8_HANDLER( wardner_videoram_w )
READ8_HANDLER( wardner_sprite_r )
{
int shift = (offset & 1) * 8;
- return spriteram16[offset/2] >> shift;
+ return space->machine->generic.spriteram.u16[offset/2] >> shift;
}
WRITE8_HANDLER( wardner_sprite_w )
{
+ UINT16 *spriteram16 = space->machine->generic.spriteram.u16;
if (offset & 1)
spriteram16[offset/2] = (spriteram16[offset/2] & 0x00ff) | (data << 8);
else
@@ -377,9 +378,10 @@ WRITE8_HANDLER( wardner_CRTC_data_w )
Ugly sprite hack for Wardner when hero is in shop
***************************************************************************/
-static void wardner_sprite_priority_hack(void)
+static void wardner_sprite_priority_hack(running_machine *machine)
{
if (fgscrollx != bgscrollx) {
+ UINT16 *buffered_spriteram16 = machine->generic.buffered_spriteram.u16;
if ((fgscrollx==0x1c9) || (twincobr_flip_screen && (fgscrollx==0x17a))) { /* in the shop ? */
int wardner_hack = buffered_spriteram16[0x0b04/2];
/* sprite position 0x6300 to 0x8700 -- hero on shop keeper (normal) */
@@ -453,7 +455,8 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
if (twincobr_display_on)
{
- for (offs = 0;offs < spriteram_size/2;offs += 4)
+ UINT16 *buffered_spriteram16 = machine->generic.buffered_spriteram.u16;
+ for (offs = 0;offs < machine->generic.spriteram_size/2;offs += 4)
{
int attribute,sx,sy,flipx,flipy;
int sprite, color;
@@ -488,7 +491,7 @@ VIDEO_UPDATE( toaplan0 )
{
twincobr_log_vram(screen->machine);
- if (wardner_sprite_hack) wardner_sprite_priority_hack();
+ if (wardner_sprite_hack) wardner_sprite_priority_hack(screen->machine);
bitmap_fill(bitmap,cliprect,0);
diff --git a/src/mame/video/ultratnk.c b/src/mame/video/ultratnk.c
index 24f98474db7..39550e18e6b 100644
--- a/src/mame/video/ultratnk.c
+++ b/src/mame/video/ultratnk.c
@@ -41,7 +41,7 @@ PALETTE_INIT( ultratnk )
static TILE_GET_INFO( ultratnk_tile_info )
{
- UINT8 code = videoram[tile_index];
+ UINT8 code = machine->generic.videoram.u8[tile_index];
if (code & 0x20)
SET_TILE_INFO(0, code, code >> 6, 0);
@@ -60,6 +60,7 @@ VIDEO_START( ultratnk )
VIDEO_UPDATE( ultratnk )
{
+ UINT8 *videoram = screen->machine->generic.videoram.u8;
int i;
tilemap_draw(bitmap, cliprect, playfield, 0, 0);
@@ -96,6 +97,7 @@ VIDEO_EOF( ultratnk )
int i;
UINT16 BG = colortable_entry_get_value(machine->colortable, 0);
const device_config *discrete = devtag_get_device(machine, "discrete");
+ UINT8 *videoram = machine->generic.videoram.u8;
/* check for sprite-playfield collisions */
@@ -139,13 +141,13 @@ VIDEO_EOF( ultratnk )
/* update sound status */
- discrete_sound_w(discrete, ULTRATNK_MOTOR_DATA_1, videoram[0x391] & 15);
- discrete_sound_w(discrete, ULTRATNK_MOTOR_DATA_2, videoram[0x393] & 15);
+ discrete_sound_w(discrete, ULTRATNK_MOTOR_DATA_1, machine->generic.videoram.u8[0x391] & 15);
+ discrete_sound_w(discrete, ULTRATNK_MOTOR_DATA_2, machine->generic.videoram.u8[0x393] & 15);
}
WRITE8_HANDLER( ultratnk_video_ram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(playfield, offset);
}
diff --git a/src/mame/video/undrfire.c b/src/mame/video/undrfire.c
index 9dc28f8a98c..c5ff7f355c9 100644
--- a/src/mame/video/undrfire.c
+++ b/src/mame/video/undrfire.c
@@ -82,6 +82,7 @@ Heavy use is made of sprite zooming.
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect,const int *primasks,int x_offs,int y_offs)
{
+ UINT32 *spriteram32 = machine->generic.spriteram.u32;
UINT16 *spritemap = (UINT16 *)memory_region(machine, "user1");
int offs, data, tilenum, color, flipx, flipy;
int x, y, priority, dblsize, curx, cury;
@@ -94,7 +95,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan
while processing sprite ram and then draw them all at the end */
struct tempsprite *sprite_ptr = spritelist;
- for (offs = (spriteram_size/4-4);offs >= 0;offs -= 4)
+ for (offs = (machine->generic.spriteram_size/4-4);offs >= 0;offs -= 4)
{
data = spriteram32[offs+0];
flipx = (data & 0x00800000) >> 23;
@@ -224,6 +225,7 @@ logerror("Sprite number %04x had %02x invalid chunks\n",tilenum,bad_chunks);
static void draw_sprites_cbombers(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect,const int *primasks,int x_offs,int y_offs)
{
+ UINT32 *spriteram32 = machine->generic.spriteram.u32;
UINT16 *spritemap = (UINT16 *)memory_region(machine, "user1");
UINT8 *spritemapHibit = (UINT8 *)memory_region(machine, "user2");
@@ -238,7 +240,7 @@ static void draw_sprites_cbombers(running_machine *machine, bitmap_t *bitmap,con
while processing sprite ram and then draw them all at the end */
struct tempsprite *sprite_ptr = spritelist;
- for (offs = (spriteram_size/4-4);offs >= 0;offs -= 4)
+ for (offs = (machine->generic.spriteram_size/4-4);offs >= 0;offs -= 4)
{
data = spriteram32[offs+0];
flipx = (data & 0x00800000) >> 23;
diff --git a/src/mame/video/unico.c b/src/mame/video/unico.c
index 3facb1faeaa..2cffd7d6b1e 100644
--- a/src/mame/video/unico.c
+++ b/src/mame/video/unico.c
@@ -61,9 +61,9 @@ UINT32 *unico_vram32_0, *unico_vram32_1, *unico_vram32_2, *unico_scroll32;
WRITE16_HANDLER( unico_palette_w )
{
UINT16 data1, data2;
- COMBINE_DATA(&paletteram16[offset]);
- data1 = paletteram16[offset & ~1];
- data2 = paletteram16[offset | 1];
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
+ data1 = space->machine->generic.paletteram.u16[offset & ~1];
+ data2 = space->machine->generic.paletteram.u16[offset | 1];
palette_set_color_rgb( space->machine,offset/2,
(data1 >> 8) & 0xFC,
(data1 >> 0) & 0xFC,
@@ -72,7 +72,7 @@ WRITE16_HANDLER( unico_palette_w )
WRITE32_HANDLER( unico_palette32_w )
{
- UINT32 rgb0 = COMBINE_DATA(&paletteram32[offset]);
+ UINT32 rgb0 = COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
palette_set_color_rgb( space->machine,offset,
(rgb0 >> 24) & 0xFC,
(rgb0 >> 16) & 0xFC,
@@ -218,10 +218,11 @@ VIDEO_START( zeropnt2 )
static void unico_draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs;
/* Draw them backwards, for pdrawgfx */
- for ( offs = (spriteram_size-8)/2; offs >= 0 ; offs -= 8/2 )
+ for ( offs = (machine->generic.spriteram_size-8)/2; offs >= 0 ; offs -= 8/2 )
{
int x, startx, endx, incx;
@@ -271,10 +272,11 @@ static void unico_draw_sprites(running_machine *machine, bitmap_t *bitmap,const
static void zeropnt2_draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT32 *spriteram32 = machine->generic.spriteram.u32;
int offs;
/* Draw them backwards, for pdrawgfx */
- for ( offs = (spriteram_size-8)/4; offs >= 0 ; offs -= 8/4 )
+ for ( offs = (machine->generic.spriteram_size-8)/4; offs >= 0 ; offs -= 8/4 )
{
int x, startx, endx, incx;
diff --git a/src/mame/video/vaportra.c b/src/mame/video/vaportra.c
index cabcc069390..14b4db4a51c 100644
--- a/src/mame/video/vaportra.c
+++ b/src/mame/video/vaportra.c
@@ -56,22 +56,22 @@ static void update_24bitcol(running_machine *machine, int offset)
{
UINT8 r,g,b;
- r = (paletteram16[offset] >> 0) & 0xff;
- g = (paletteram16[offset] >> 8) & 0xff;
- b = (paletteram16_2[offset] >> 0) & 0xff;
+ r = (machine->generic.paletteram.u16[offset] >> 0) & 0xff;
+ g = (machine->generic.paletteram.u16[offset] >> 8) & 0xff;
+ b = (machine->generic.paletteram2.u16[offset] >> 0) & 0xff;
palette_set_color(machine,offset,MAKE_RGB(r,g,b));
}
WRITE16_HANDLER( vaportra_palette_24bit_rg_w )
{
- COMBINE_DATA(&paletteram16[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
update_24bitcol(space->machine, offset);
}
WRITE16_HANDLER( vaportra_palette_24bit_b_w )
{
- COMBINE_DATA(&paletteram16_2[offset]);
+ COMBINE_DATA(&space->machine->generic.paletteram2.u16[offset]);
update_24bitcol(space->machine, offset);
}
@@ -79,6 +79,7 @@ WRITE16_HANDLER( vaportra_palette_24bit_b_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int pri)
{
+ UINT16 *buffered_spriteram16 = machine->generic.buffered_spriteram.u16;
int offs,priority_value;
priority_value=vaportra_priority[1];
diff --git a/src/mame/video/vastar.c b/src/mame/video/vastar.c
index 9d55d0368c6..c6ddbad8722 100644
--- a/src/mame/video/vastar.c
+++ b/src/mame/video/vastar.c
@@ -129,10 +129,13 @@ READ8_HANDLER( vastar_bg2videoram_r )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
+ UINT8 *spriteram_2 = machine->generic.spriteram2.u8;
+ UINT8 *spriteram_3 = machine->generic.spriteram3.u8;
int offs;
- for (offs = 0; offs < spriteram_size; offs += 2)
+ for (offs = 0; offs < machine->generic.spriteram_size; offs += 2)
{
int code, sx, sy, color, flipx, flipy;
diff --git a/src/mame/video/vball.c b/src/mame/video/vball.c
index a98d9d68dc9..8167215bc6f 100644
--- a/src/mame/video/vball.c
+++ b/src/mame/video/vball.c
@@ -120,13 +120,13 @@ void vb_mark_all_dirty( void )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
const gfx_element *gfx = machine->gfx[1];
- UINT8 *src = spriteram;
+ UINT8 *src = machine->generic.spriteram.u8;
int i;
/* 240-Y S|X|CLR|WCH WHICH 240-X
xxxxxxxx x|x|xxx|xxx xxxxxxxx xxxxxxxx
*/
- for (i = 0;i < spriteram_size;i += 4)
+ for (i = 0;i < machine->generic.spriteram_size;i += 4)
{
int attr = src[i+1];
int which = src[i+2]+((attr & 0x07)<<8);
diff --git a/src/mame/video/vigilant.c b/src/mame/video/vigilant.c
index c2210bffced..e98b06b8f28 100644
--- a/src/mame/video/vigilant.c
+++ b/src/mame/video/vigilant.c
@@ -110,14 +110,14 @@ WRITE8_HANDLER( vigilant_paletteram_w )
int bank,r,g,b;
- paletteram[offset] = data;
+ space->machine->generic.paletteram.u8[offset] = data;
bank = offset & 0x400;
offset &= 0xff;
- r = (paletteram[bank + offset + 0x000] << 3) & 0xFF;
- g = (paletteram[bank + offset + 0x100] << 3) & 0xFF;
- b = (paletteram[bank + offset + 0x200] << 3) & 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;
palette_set_color(space->machine, (bank >> 2) + offset,MAKE_RGB(r,g,b));
}
@@ -185,13 +185,13 @@ static void draw_foreground(running_machine *machine, bitmap_t *bitmap, const re
int scroll = -(horiz_scroll_low + horiz_scroll_high);
- for (offs = 0; offs<videoram_size; offs+=2 )
+ for (offs = 0; offs<machine->generic.videoram_size; offs+=2 )
{
int sy = 8 * ((offs/2) / 64);
int sx = 8 * ((offs/2) % 64);
- int attributes = videoram[offs+1];
+ int attributes = machine->generic.videoram.u8[offs+1];
int color = attributes & 0x0F;
- int tile_number = videoram[offs] | ((attributes & 0xF0) << 4);
+ int tile_number = machine->generic.videoram.u8[offs] | ((attributes & 0xF0) << 4);
if (priority) /* foreground */
{
@@ -243,9 +243,10 @@ static void draw_background(running_machine *machine, bitmap_t *bitmap, const re
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = 0;offs < spriteram_size;offs += 8)
+ for (offs = 0;offs < machine->generic.spriteram_size;offs += 8)
{
int code,color,sx,sy,flipx,flipy,h,y;
@@ -280,13 +281,13 @@ VIDEO_UPDATE( kikcubic )
{
int offs;
- for (offs = 0; offs<videoram_size; offs+=2 )
+ for (offs = 0; offs<screen->machine->generic.videoram_size; offs+=2 )
{
int sy = 8 * ((offs/2) / 64);
int sx = 8 * ((offs/2) % 64);
- int attributes = videoram[offs+1];
+ int attributes = screen->machine->generic.videoram.u8[offs+1];
int color = (attributes & 0xF0) >> 4;
- int tile_number = videoram[offs] | ((attributes & 0x0F) << 8);
+ int tile_number = screen->machine->generic.videoram.u8[offs] | ((attributes & 0x0F) << 8);
drawgfx_opaque(bitmap,cliprect,screen->machine->gfx[0],
tile_number,
@@ -309,15 +310,15 @@ VIDEO_UPDATE( vigilant )
int r,g,b;
- r = (paletteram[0x400 + 16 * rear_color + i] << 3) & 0xFF;
- g = (paletteram[0x500 + 16 * rear_color + i] << 3) & 0xFF;
- b = (paletteram[0x600 + 16 * rear_color + i] << 3) & 0xFF;
+ r = (screen->machine->generic.paletteram.u8[0x400 + 16 * rear_color + i] << 3) & 0xFF;
+ g = (screen->machine->generic.paletteram.u8[0x500 + 16 * rear_color + i] << 3) & 0xFF;
+ b = (screen->machine->generic.paletteram.u8[0x600 + 16 * rear_color + i] << 3) & 0xFF;
palette_set_color(screen->machine,512 + i,MAKE_RGB(r,g,b));
- r = (paletteram[0x400 + 16 * rear_color + 32 + i] << 3) & 0xFF;
- g = (paletteram[0x500 + 16 * rear_color + 32 + i] << 3) & 0xFF;
- b = (paletteram[0x600 + 16 * rear_color + 32 + i] << 3) & 0xFF;
+ r = (screen->machine->generic.paletteram.u8[0x400 + 16 * rear_color + 32 + i] << 3) & 0xFF;
+ g = (screen->machine->generic.paletteram.u8[0x500 + 16 * rear_color + 32 + i] << 3) & 0xFF;
+ b = (screen->machine->generic.paletteram.u8[0x600 + 16 * 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 0c73fb1476b..86d6a59d6b2 100644
--- a/src/mame/video/vindictr.c
+++ b/src/mame/video/vindictr.c
@@ -120,8 +120,8 @@ WRITE16_HANDLER( vindictr_paletteram_w )
int c;
/* first blend the data */
- COMBINE_DATA(&paletteram16[offset]);
- data = paletteram16[offset];
+ COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
+ data = space->machine->generic.paletteram.u16[offset];
/* now generate colors at all 16 intensities */
for (c = 0; c < 8; c++)
diff --git a/src/mame/video/vulgus.c b/src/mame/video/vulgus.c
index ebec4c872a0..49017529793 100644
--- a/src/mame/video/vulgus.c
+++ b/src/mame/video/vulgus.c
@@ -172,10 +172,11 @@ WRITE8_HANDLER( vulgus_palette_bank_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = spriteram_size - 4;offs >= 0;offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4;offs >= 0;offs -= 4)
{
int code,i,col,sx,sy,dir;
diff --git a/src/mame/video/warriorb.c b/src/mame/video/warriorb.c
index daab40c14c5..aeda05002c4 100644
--- a/src/mame/video/warriorb.c
+++ b/src/mame/video/warriorb.c
@@ -44,6 +44,7 @@ VIDEO_START( warriorb )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect,int x_offs,int y_offs)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs, data, data2, tilenum, color, flipx, flipy;
int x, y, priority, pri_mask;
@@ -52,7 +53,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan
#endif
/* pdrawgfx() needs us to draw sprites front to back */
- for (offs = 0;offs < spriteram_size/2;offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram_size/2;offs += 4)
{
data = spriteram16[offs+1];
tilenum = data & 0x7fff;
diff --git a/src/mame/video/wc90.c b/src/mame/video/wc90.c
index 8cc86de12b7..2416f563e0b 100644
--- a/src/mame/video/wc90.c
+++ b/src/mame/video/wc90.c
@@ -323,10 +323,11 @@ static const draw_sprites_func draw_sprites_proc[16] = {
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int priority )
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs, sx,sy, flags, which;
/* draw all visible sprites of specified priority */
- for (offs = 0;offs < spriteram_size;offs += 16){
+ for (offs = 0;offs < machine->generic.spriteram_size;offs += 16){
int bank = spriteram[offs+0];
if ( ( bank >> 4 ) == priority ) {
diff --git a/src/mame/video/wc90b.c b/src/mame/video/wc90b.c
index 0c3fd8bf5d7..aa304cc3670 100644
--- a/src/mame/video/wc90b.c
+++ b/src/mame/video/wc90b.c
@@ -107,10 +107,11 @@ WRITE8_HANDLER( wc90b_txvideoram_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int priority )
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs, sx, sy;
/* draw all visible sprites of specified priority */
- for ( offs = spriteram_size - 8 ; offs >= 0 ; offs -= 8 )
+ for ( offs = machine->generic.spriteram_size - 8 ; offs >= 0 ; offs -= 8 )
{
if ( ( ~( spriteram[offs+3] >> 7 ) & 1 ) == priority )
{
diff --git a/src/mame/video/wecleman.c b/src/mame/video/wecleman.c
index 6204fcfda48..8a74554d0a9 100644
--- a/src/mame/video/wecleman.c
+++ b/src/mame/video/wecleman.c
@@ -100,7 +100,7 @@ static void get_sprite_info(running_machine *machine)
UINT8 *base_gfx = memory_region(machine, "gfx1");
int gfx_max = memory_region_length(machine, "gfx1");
- UINT16 *source = spriteram16;
+ UINT16 *source = machine->generic.spriteram.u16;
struct sprite *sprite = sprite_list;
struct sprite *finish = sprite_list + NUM_SPRITES;
@@ -869,7 +869,7 @@ WRITE16_HANDLER( hotchase_paletteram16_SBGRBBBBGGGGRRRR_word_w )
{
int newword, r, g, b;
- newword = COMBINE_DATA(&paletteram16[offset]);
+ newword = COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
r = ((newword << 1) & 0x1E ) | ((newword >> 12) & 0x01);
g = ((newword >> 3) & 0x1E ) | ((newword >> 13) & 0x01);
@@ -882,7 +882,7 @@ WRITE16_HANDLER( hotchase_paletteram16_SBGRBBBBGGGGRRRR_word_w )
WRITE16_HANDLER( wecleman_paletteram16_SSSSBBBBGGGGRRRR_word_w )
{
- int newword = COMBINE_DATA(&paletteram16[offset]);
+ int newword = COMBINE_DATA(&space->machine->generic.paletteram.u16[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/wgp.c b/src/mame/video/wgp.c
index ad68ff572d9..50536e67869 100644
--- a/src/mame/video/wgp.c
+++ b/src/mame/video/wgp.c
@@ -355,6 +355,7 @@ static const UINT8 ylookup[16] =
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect,int y_offs)
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int offs,i,j,k;
int x,y,curx,cury;
int zx,zy,zoomx,zoomy,priority=0;
diff --git a/src/mame/video/williams.c b/src/mame/video/williams.c
index 82fcd054fdc..247b34292eb 100644
--- a/src/mame/video/williams.c
+++ b/src/mame/video/williams.c
@@ -202,8 +202,8 @@ VIDEO_START( williams2 )
blitter_init(machine, williams_blitter_config, NULL);
/* allocate paletteram */
- paletteram = auto_alloc_array(machine, UINT8, 0x400 * 2);
- state_save_register_global_pointer(machine, paletteram, 0x400 * 2);
+ machine->generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x400 * 2);
+ state_save_register_global_pointer(machine, machine->generic.paletteram.u8, 0x400 * 2);
/* create the tilemap */
bg_tilemap = tilemap_create(machine, get_tile_info, tilemap_scan_cols, 24,16, 128,16);
@@ -227,7 +227,7 @@ VIDEO_UPDATE( williams )
/* precompute the palette */
for (x = 0; x < 16; x++)
- pens[x] = palette_lookup[paletteram[x]];
+ pens[x] = palette_lookup[screen->machine->generic.paletteram.u8[x]];
/* loop over rows */
for (y = cliprect->min_y; y <= cliprect->max_y; y++)
@@ -254,7 +254,7 @@ VIDEO_UPDATE( blaster )
/* precompute the palette */
for (x = 0; x < 16; x++)
- pens[x] = palette_lookup[paletteram[x]];
+ pens[x] = palette_lookup[screen->machine->generic.paletteram.u8[x]];
/* if we're blitting from the top, start with a 0 for color 0 */
if (cliprect->min_y == video_screen_get_visible_area(screen)->min_y || !(blaster_video_control & 1))
@@ -367,11 +367,11 @@ WRITE8_HANDLER( williams2_paletteram_w )
UINT8 entry_lo, entry_hi, i, r, g, b;
/* set the new value */
- paletteram[offset] = data;
+ space->machine->generic.paletteram.u8[offset] = data;
/* pull the associated low/high bytes */
- entry_lo = paletteram[offset & ~1];
- entry_hi = paletteram[offset | 1];
+ entry_lo = space->machine->generic.paletteram.u8[offset & ~1];
+ entry_hi = space->machine->generic.paletteram.u8[offset | 1];
/* update the palette entry */
i = ztable[(entry_hi >> 4) & 15];
diff --git a/src/mame/video/wiping.c b/src/mame/video/wiping.c
index 7d8331846a3..3d0eb67f24c 100644
--- a/src/mame/video/wiping.c
+++ b/src/mame/video/wiping.c
@@ -90,9 +90,10 @@ WRITE8_HANDLER( wiping_flipscreen_w )
VIDEO_UPDATE( wiping )
{
+ UINT8 *spriteram = screen->machine->generic.spriteram.u8;
int offs;
- for (offs = videoram_size - 1; offs > 0; offs--)
+ for (offs = screen->machine->generic.videoram_size - 1; offs > 0; offs--)
{
int mx,my,sx,sy;
@@ -122,8 +123,8 @@ VIDEO_UPDATE( wiping )
}
drawgfx_opaque(bitmap,cliprect,screen->machine->gfx[0],
- videoram[offs],
- colorram[offs] & 0x3f,
+ screen->machine->generic.videoram.u8[offs],
+ screen->machine->generic.colorram.u8[offs] & 0x3f,
flipscreen,flipscreen,
sx*8,sy*8);
}
@@ -158,9 +159,9 @@ VIDEO_UPDATE( wiping )
}
/* redraw high priority chars */
- for (offs = videoram_size - 1; offs > 0; offs--)
+ for (offs = screen->machine->generic.videoram_size - 1; offs > 0; offs--)
{
- if (colorram[offs] & 0x80)
+ if (screen->machine->generic.colorram.u8[offs] & 0x80)
{
int mx,my,sx,sy;
@@ -190,8 +191,8 @@ VIDEO_UPDATE( wiping )
}
drawgfx_opaque(bitmap,cliprect,screen->machine->gfx[0],
- videoram[offs],
- colorram[offs] & 0x3f,
+ screen->machine->generic.videoram.u8[offs],
+ screen->machine->generic.colorram.u8[offs] & 0x3f,
flipscreen,flipscreen,
sx*8,sy*8);
}
diff --git a/src/mame/video/wiz.c b/src/mame/video/wiz.c
index 07047493746..f23822fb925 100644
--- a/src/mame/video/wiz.c
+++ b/src/mame/video/wiz.c
@@ -123,7 +123,7 @@ static void draw_background(running_machine *machine, bitmap_t *bitmap, const re
/* for every character in the Video RAM, check if it has been modified */
/* since last time and update it accordingly. */
- for (offs = videoram_size - 1;offs >= 0;offs--)
+ for (offs = machine->generic.videoram_size - 1;offs >= 0;offs--)
{
int scroll,sx,sy,col;
@@ -136,7 +136,7 @@ static void draw_background(running_machine *machine, bitmap_t *bitmap, const re
}
else
{
- col = (wiz_attributesram[2 * (offs % 32) + 1] & 0x04) + (videoram[offs] & 3);
+ col = (wiz_attributesram[2 * (offs % 32) + 1] & 0x04) + (machine->generic.videoram.u8[offs] & 3);
}
scroll = (8*sy + 256 - wiz_attributesram[2 * sx]) % 256;
@@ -148,7 +148,7 @@ static void draw_background(running_machine *machine, bitmap_t *bitmap, const re
drawgfx_transpen(bitmap,cliprect,machine->gfx[bank],
- videoram[offs],
+ machine->generic.videoram.u8[offs],
col + 8 * palette_bank,
flipx,flipy,
8*sx,scroll,0);
@@ -160,7 +160,7 @@ static void draw_foreground(running_machine *machine, bitmap_t *bitmap, const re
int offs;
/* draw the frontmost playfield. They are characters, but draw them as sprites. */
- for (offs = videoram_size - 1;offs >= 0;offs--)
+ for (offs = machine->generic.videoram_size - 1;offs >= 0;offs--)
{
int scroll,sx,sy,col;
@@ -199,7 +199,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,
{
int offs;
- for (offs = spriteram_size - 4;offs >= 0;offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4;offs >= 0;offs -= 4)
{
int sx,sy;
@@ -226,8 +226,8 @@ VIDEO_UPDATE( kungfut )
bitmap_fill(bitmap,cliprect,bgpen);
draw_background(screen->machine, bitmap, cliprect, 2 + char_bank[0] , 0);
draw_foreground(screen->machine, bitmap, cliprect, 0);
- draw_sprites(screen->machine, bitmap, cliprect, spriteram_2, 4);
- draw_sprites(screen->machine, bitmap, cliprect, spriteram , 5);
+ draw_sprites(screen->machine, bitmap, cliprect, screen->machine->generic.spriteram2.u8, 4);
+ draw_sprites(screen->machine, bitmap, cliprect, screen->machine->generic.spriteram.u8 , 5);
return 0;
}
@@ -244,8 +244,8 @@ VIDEO_UPDATE( wiz )
bank = 7 + *wiz_sprite_bank;
- draw_sprites(screen->machine, bitmap, visible_area, spriteram_2, 6);
- draw_sprites(screen->machine, bitmap, visible_area, spriteram , bank);
+ draw_sprites(screen->machine, bitmap, visible_area, screen->machine->generic.spriteram2.u8, 6);
+ draw_sprites(screen->machine, bitmap, visible_area, screen->machine->generic.spriteram.u8 , bank);
return 0;
}
@@ -255,7 +255,7 @@ VIDEO_UPDATE( stinger )
bitmap_fill(bitmap,cliprect,bgpen);
draw_background(screen->machine, bitmap, cliprect, 2 + char_bank[0], 1);
draw_foreground(screen->machine, bitmap, cliprect, 1);
- draw_sprites(screen->machine, bitmap, cliprect, spriteram_2, 4);
- draw_sprites(screen->machine, bitmap, cliprect, spriteram , 5);
+ draw_sprites(screen->machine, bitmap, cliprect, screen->machine->generic.spriteram2.u8, 4);
+ draw_sprites(screen->machine, bitmap, cliprect, screen->machine->generic.spriteram.u8 , 5);
return 0;
}
diff --git a/src/mame/video/wwfsstar.c b/src/mame/video/wwfsstar.c
index b8061078b54..0fa7328aad7 100644
--- a/src/mame/video/wwfsstar.c
+++ b/src/mame/video/wwfsstar.c
@@ -130,7 +130,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
**- End of Comments -*/
const gfx_element *gfx = machine->gfx[1];
- UINT16 *source = spriteram16;
+ UINT16 *source = machine->generic.spriteram.u16;
UINT16 *finish = source + 0x3ff/2;
while (source < finish)
diff --git a/src/mame/video/wwfwfest.c b/src/mame/video/wwfwfest.c
index 64d936d253b..021f6bc94dd 100644
--- a/src/mame/video/wwfwfest.c
+++ b/src/mame/video/wwfwfest.c
@@ -165,6 +165,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
**- End of Comments -*/
+ UINT16 *buffered_spriteram16 = machine->generic.buffered_spriteram.u16;
const gfx_element *gfx = machine->gfx[1];
UINT16 *source = buffered_spriteram16;
UINT16 *finish = source + 0x2000/2;
diff --git a/src/mame/video/xain.c b/src/mame/video/xain.c
index c263855ed17..3a7478eba8f 100644
--- a/src/mame/video/xain.c
+++ b/src/mame/video/xain.c
@@ -170,9 +170,10 @@ WRITE8_HANDLER( xain_flipscreen_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int offs;
- for (offs = 0; offs < spriteram_size;offs += 4)
+ for (offs = 0; offs < machine->generic.spriteram_size;offs += 4)
{
int sx,sy,flipx,flipy;
int attr = spriteram[offs+1];
diff --git a/src/mame/video/xevious.c b/src/mame/video/xevious.c
index 8c62eb3e0e3..f17b650e490 100644
--- a/src/mame/video/xevious.c
+++ b/src/mame/video/xevious.c
@@ -230,9 +230,9 @@ VIDEO_START( xevious )
tilemap_set_scrolldy(fg_tilemap,-18,-10);
tilemap_set_transparent_pen(fg_tilemap,0);
- spriteram_2 = xevious_sr1 + 0x780;
- spriteram_3 = xevious_sr2 + 0x780;
- spriteram = xevious_sr3 + 0x780;
+ machine->generic.spriteram2.u8 = xevious_sr1 + 0x780;
+ machine->generic.spriteram3.u8 = xevious_sr2 + 0x780;
+ machine->generic.spriteram.u8 = xevious_sr3 + 0x780;
state_save_register_global_array(machine, xevious_bs);
}
@@ -426,6 +426,9 @@ ROM 3M,3L color replace table for sprite
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
+ UINT8 *spriteram_2 = machine->generic.spriteram2.u8;
+ UINT8 *spriteram_3 = machine->generic.spriteram3.u8;
int offs,sx,sy;
diff --git a/src/mame/video/xorworld.c b/src/mame/video/xorworld.c
index 665d4dcae79..eec062da235 100644
--- a/src/mame/video/xorworld.c
+++ b/src/mame/video/xorworld.c
@@ -50,7 +50,7 @@ PALETTE_INIT( xorworld )
WRITE16_HANDLER( xorworld_videoram16_w )
{
- COMBINE_DATA(&videoram16[offset]);
+ COMBINE_DATA(&space->machine->generic.videoram.u16[offset]);
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -66,7 +66,7 @@ WRITE16_HANDLER( xorworld_videoram16_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int data = videoram16[tile_index];
+ int data = machine->generic.videoram.u16[tile_index];
int code = data & 0x0fff;
SET_TILE_INFO(0, code, data >> 12, 0);
@@ -93,6 +93,7 @@ VIDEO_START( xorworld )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
+ UINT16 *spriteram16 = machine->generic.spriteram.u16;
int i;
for (i = 0; i < 0x40; i += 2)
diff --git a/src/mame/video/yiear.c b/src/mame/video/yiear.c
index 02ce5ef8204..02f7df9b391 100644
--- a/src/mame/video/yiear.c
+++ b/src/mame/video/yiear.c
@@ -63,7 +63,7 @@ PALETTE_INIT( yiear )
WRITE8_HANDLER( yiear_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset / 2);
}
@@ -94,8 +94,8 @@ WRITE8_HANDLER( yiear_control_w )
static TILE_GET_INFO( get_bg_tile_info )
{
int offs = tile_index * 2;
- int attr = videoram[offs];
- int code = videoram[offs + 1] | ((attr & 0x10) << 4);
+ int attr = machine->generic.videoram.u8[offs];
+ int code = machine->generic.videoram.u8[offs + 1] | ((attr & 0x10) << 4);
// int color = (attr & 0xf0) >> 4;
int flags = ((attr & 0x80) ? TILE_FLIPX : 0) | ((attr & 0x40) ? TILE_FLIPY : 0);
@@ -110,9 +110,11 @@ VIDEO_START( yiear )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
+ UINT8 *spriteram_2 = machine->generic.spriteram2.u8;
int offs;
- for (offs = spriteram_size - 2;offs >= 0;offs -= 2)
+ for (offs = machine->generic.spriteram_size - 2;offs >= 0;offs -= 2)
{
int attr = spriteram[offs];
int code = spriteram_2[offs + 1] + 256 * (attr & 0x01);
diff --git a/src/mame/video/yunsun16.c b/src/mame/video/yunsun16.c
index d6a7a367518..ed181a34961 100644
--- a/src/mame/video/yunsun16.c
+++ b/src/mame/video/yunsun16.c
@@ -165,7 +165,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rect
break;
}
- for (offs = (spriteram_size - 8) / 2 ; offs >= 0; offs -= 8 / 2)
+ for (offs = (machine->generic.spriteram_size - 8) / 2 ; offs >= 0; offs -= 8 / 2)
{
int x = state->spriteram16[offs + 0];
int y = state->spriteram16[offs + 1];
diff --git a/src/mame/video/zac2650.c b/src/mame/video/zac2650.c
index 3a0e9e819f2..d833bd57515 100644
--- a/src/mame/video/zac2650.c
+++ b/src/mame/video/zac2650.c
@@ -25,7 +25,7 @@ static tilemap *bg_tilemap;
WRITE8_HANDLER( tinvader_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -129,7 +129,7 @@ static int SpriteCollision(running_machine *machine, int first,int second)
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = videoram[tile_index];
+ int code = machine->generic.videoram.u8[tile_index];
SET_TILE_INFO(0, code, 0, 0);
}
diff --git a/src/mame/video/zaccaria.c b/src/mame/video/zaccaria.c
index 2d889103025..df4bc5d3296 100644
--- a/src/mame/video/zaccaria.c
+++ b/src/mame/video/zaccaria.c
@@ -206,6 +206,8 @@ WRITE8_HANDLER( zaccaria_flip_screen_y_w )
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
+ UINT8 *spriteram_2 = machine->generic.spriteram2.u8;
int offs;
rectangle clip = *cliprect;
@@ -228,7 +230,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan
which masks the holes when you fall in them. The hardware is probably
similar to Amidar, but the code in the Amidar driver is not good either.
*/
- for (offs = 0;offs < spriteram_2_size;offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram2_size;offs += 4)
{
int sx = spriteram_2[offs + 3] + 1;
int sy = 242 - spriteram_2[offs];
@@ -253,7 +255,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan
sx,sy,0);
}
- for (offs = 0;offs < spriteram_size;offs += 4)
+ for (offs = 0;offs < machine->generic.spriteram_size;offs += 4)
{
int sx = spriteram[offs + 3] + 1;
int sy = 242 - spriteram[offs];
diff --git a/src/mame/video/zaxxon.c b/src/mame/video/zaxxon.c
index 1708219e8ab..7121934ce8c 100644
--- a/src/mame/video/zaxxon.c
+++ b/src/mame/video/zaxxon.c
@@ -95,7 +95,7 @@ static TILE_GET_INFO( zaxxon_get_fg_tile_info )
{
int sx = tile_index % 32;
int sy = tile_index / 32;
- int code = videoram[tile_index];
+ int code = machine->generic.videoram.u8[tile_index];
int color = color_codes[sx + 32 * (sy / 4)] & 0x0f;
SET_TILE_INFO(0, code, color * 2, 0);
}
@@ -103,7 +103,7 @@ static TILE_GET_INFO( zaxxon_get_fg_tile_info )
static TILE_GET_INFO( razmataz_get_fg_tile_info )
{
- int code = videoram[tile_index];
+ int code = machine->generic.videoram.u8[tile_index];
int color = color_codes[code] & 0x0f;
SET_TILE_INFO(0, code, color * 2, 0);
}
@@ -111,8 +111,8 @@ static TILE_GET_INFO( razmataz_get_fg_tile_info )
static TILE_GET_INFO( congo_get_fg_tile_info )
{
- int code = videoram[tile_index] + (congo_fg_bank << 8);
- int color = colorram[tile_index] & 0x1f;
+ int code = machine->generic.videoram.u8[tile_index] + (congo_fg_bank << 8);
+ int color = machine->generic.colorram.u8[tile_index] & 0x1f;
SET_TILE_INFO(0, code, color * 2, 0);
}
@@ -167,13 +167,13 @@ VIDEO_START( razmataz )
VIDEO_START( congo )
{
/* allocate our own spriteram since it is not accessible by the main CPU */
- spriteram = auto_alloc_array(machine, UINT8, 0x100);
+ machine->generic.spriteram.u8 = auto_alloc_array(machine, UINT8, 0x100);
/* register for save states */
state_save_register_global(machine, congo_fg_bank);
state_save_register_global(machine, congo_color_bank);
state_save_register_global_array(machine, congo_custom);
- state_save_register_global_pointer(machine, spriteram, 0x100);
+ state_save_register_global_pointer(machine, machine->generic.spriteram.u8, 0x100);
video_start_common(machine, congo_get_fg_tile_info);
}
@@ -251,14 +251,14 @@ WRITE8_HANDLER( congo_color_bank_w )
WRITE8_HANDLER( zaxxon_videoram_w )
{
- videoram[offset] = data;
+ space->machine->generic.videoram.u8[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
WRITE8_HANDLER( congo_colorram_w )
{
- colorram[offset] = data;
+ space->machine->generic.colorram.u8[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
@@ -277,6 +277,7 @@ WRITE8_HANDLER( congo_sprite_custom_w )
/* seems to trigger on a write of 1 to the 4th byte */
if (offset == 3 && data == 0x01)
{
+ UINT8 *spriteram = space->machine->generic.spriteram.u8;
UINT16 saddr = congo_custom[0] | (congo_custom[1] << 8);
int count = congo_custom[2];
@@ -422,6 +423,7 @@ INLINE int find_minimum_x(UINT8 value, int flip)
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, UINT16 flipxmask, UINT16 flipymask)
{
+ UINT8 *spriteram = machine->generic.spriteram.u8;
int flip = flip_screen_get(machine);
int flipmask = flip ? 0xff : 0x00;
int offs;
diff --git a/src/mame/video/zodiack.c b/src/mame/video/zodiack.c
index dc4a7f894d2..b63c6249544 100644
--- a/src/mame/video/zodiack.c
+++ b/src/mame/video/zodiack.c
@@ -36,7 +36,7 @@ WRITE8_HANDLER( zodiack_attributes_w )
{
int i;
- for (i = offset / 2; i < videoram_size; i += 32)
+ for (i = offset / 2; i < space->machine->generic.videoram_size; i += 32)
{
tilemap_mark_tile_dirty(state->bg_tilemap, i);
tilemap_mark_tile_dirty(state->fg_tilemap, i);
@@ -173,7 +173,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
espial_state *state = (espial_state *)machine->driver_data;
int offs;
- for (offs = spriteram_size - 4; offs >= 0; offs -= 4)
+ for (offs = machine->generic.spriteram_size - 4; offs >= 0; offs -= 4)
{
int flipx, flipy, sx, sy, spritecode;