summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2012-04-19 20:35:01 +0000
committer Aaron Giles <aaron@aarongiles.com>2012-04-19 20:35:01 +0000
commitb5b7808cb787ea3191c1f13352d954a77320618c (patch)
tree24cc6ac067f38680ab6de586fc795298dca45f99
parent70eab27301c7a778d4a9acf2060c0bbc7a6c6c2b (diff)
Remove global memory banking functions in favor of referencing
subbanks of a device and directly acting on them. First round S&R: memory_configure_bank( *)\(( *)([^,]+), *([^,]+), * \3.root_device().subbank\1\(\2\4\2\)->configure_entries\1\(\2 memory_configure_bank_decrypted( *)\(( *)([^,]+), *([^,]+), * \3.root_device().subbank\1\(\2\4\2\)->configure_decrypted_entries\1\(\2 memory_set_bank( *)\(( *)([^,]+), *([^,]+), * \3.root_device().subbank\1\(\2\4\2\)->set_entry\1\(\2 memory_set_bankptr( *)\(( *)([^,]+), *([^,]+), * \3.root_device().subbank\1\(\2\4\2\)->set_base\1\(\2 Then convert single entries to simpler form: configure_entries( *\( *[^,]+, *)1 *, *([^,]+),[^)]+\) configure_entry\1\2\) configure_decrypted_entries( *\( *[^,]+, *)1 *, *([^,]+),[^)]+\) configure_decrypted_entry\1\2\) Remove renundant root_device lookup for methods: ([ \t])machine\(\)\.root_device\(\)\. \1 Use state-> instead of root_device lookup where available (this one must be done by hand unfortunately): ([^ \t]*)machine[()]*\.root_device\(\)\. state->
-rw-r--r--src/emu/memory.c14
-rw-r--r--src/emu/memory.h18
-rw-r--r--src/emu/sound/okim6295.c2
-rw-r--r--src/emu/video/pc_cga.c10
-rw-r--r--src/mame/audio/atarijsa.c16
-rw-r--r--src/mame/audio/cage.c4
-rw-r--r--src/mame/audio/cyberbal.c4
-rw-r--r--src/mame/audio/dcs.c18
-rw-r--r--src/mame/audio/mario.c6
-rw-r--r--src/mame/audio/seibu.c8
-rw-r--r--src/mame/audio/taito_en.c6
-rw-r--r--src/mame/drivers/1942.c4
-rw-r--r--src/mame/drivers/1943.c2
-rw-r--r--src/mame/drivers/20pacgal.c4
-rw-r--r--src/mame/drivers/3do.c8
-rw-r--r--src/mame/drivers/40love.c6
-rw-r--r--src/mame/drivers/aerofgt.c6
-rw-r--r--src/mame/drivers/airbustr.c24
-rw-r--r--src/mame/drivers/albazg.c4
-rw-r--r--src/mame/drivers/alg.c6
-rw-r--r--src/mame/drivers/aliens.c6
-rw-r--r--src/mame/drivers/alpha68k.c14
-rw-r--r--src/mame/drivers/angelkds.c6
-rw-r--r--src/mame/drivers/aquarium.c6
-rw-r--r--src/mame/drivers/arcadia.c6
-rw-r--r--src/mame/drivers/argus.c2
-rw-r--r--src/mame/drivers/aristmk5.c8
-rw-r--r--src/mame/drivers/arkanoid.c2
-rw-r--r--src/mame/drivers/ashnojoe.c6
-rw-r--r--src/mame/drivers/astrocde.c4
-rw-r--r--src/mame/drivers/asuka.c8
-rw-r--r--src/mame/drivers/atarisy4.c16
-rw-r--r--src/mame/drivers/battlnts.c4
-rw-r--r--src/mame/drivers/bfcobra.c8
-rw-r--r--src/mame/drivers/bfm_sc1.c6
-rw-r--r--src/mame/drivers/bfm_sc2.c6
-rw-r--r--src/mame/drivers/bigevglf.c4
-rw-r--r--src/mame/drivers/bladestl.c4
-rw-r--r--src/mame/drivers/blktiger.c6
-rw-r--r--src/mame/drivers/blockhl.c4
-rw-r--r--src/mame/drivers/bnstars.c2
-rw-r--r--src/mame/drivers/bottom9.c4
-rw-r--r--src/mame/drivers/brkthru.c2
-rw-r--r--src/mame/drivers/btime.c4
-rw-r--r--src/mame/drivers/bublbobl.c2
-rw-r--r--src/mame/drivers/buggychl.c4
-rw-r--r--src/mame/drivers/cabal.c2
-rw-r--r--src/mame/drivers/calchase.c10
-rw-r--r--src/mame/drivers/capbowl.c4
-rw-r--r--src/mame/drivers/cave.c88
-rw-r--r--src/mame/drivers/cbasebal.c4
-rw-r--r--src/mame/drivers/ccastles.c4
-rw-r--r--src/mame/drivers/cclimber.c2
-rw-r--r--src/mame/drivers/cd32.c10
-rw-r--r--src/mame/drivers/chaknpop.c2
-rw-r--r--src/mame/drivers/cham24.c4
-rw-r--r--src/mame/drivers/champbwl.c8
-rw-r--r--src/mame/drivers/chanbara.c4
-rw-r--r--src/mame/drivers/chinagat.c10
-rw-r--r--src/mame/drivers/chinsan.c4
-rw-r--r--src/mame/drivers/chqflag.c6
-rw-r--r--src/mame/drivers/cidelsa.c6
-rw-r--r--src/mame/drivers/cinemat.c4
-rw-r--r--src/mame/drivers/cmmb.c4
-rw-r--r--src/mame/drivers/combatsc.c12
-rw-r--r--src/mame/drivers/compgolf.c4
-rw-r--r--src/mame/drivers/contra.c4
-rw-r--r--src/mame/drivers/cps1.c8
-rw-r--r--src/mame/drivers/cps2.c2
-rw-r--r--src/mame/drivers/crgolf.c6
-rw-r--r--src/mame/drivers/crimfght.c8
-rw-r--r--src/mame/drivers/crshrace.c4
-rw-r--r--src/mame/drivers/crystal.c10
-rw-r--r--src/mame/drivers/cshooter.c6
-rw-r--r--src/mame/drivers/csplayh5.c2
-rw-r--r--src/mame/drivers/cultures.c4
-rw-r--r--src/mame/drivers/cyclemb.c4
-rw-r--r--src/mame/drivers/d9final.c4
-rw-r--r--src/mame/drivers/darius.c8
-rw-r--r--src/mame/drivers/darkmist.c4
-rw-r--r--src/mame/drivers/ddayjlc.c6
-rw-r--r--src/mame/drivers/ddenlovr.c56
-rw-r--r--src/mame/drivers/ddragon.c8
-rw-r--r--src/mame/drivers/ddribble.c4
-rw-r--r--src/mame/drivers/dec8.c30
-rw-r--r--src/mame/drivers/decocass.c10
-rw-r--r--src/mame/drivers/deshoros.c2
-rw-r--r--src/mame/drivers/discoboy.c14
-rw-r--r--src/mame/drivers/djboy.c24
-rw-r--r--src/mame/drivers/dkong.c28
-rw-r--r--src/mame/drivers/dooyong.c4
-rw-r--r--src/mame/drivers/drw80pkr.c4
-rw-r--r--src/mame/drivers/dunhuang.c4
-rw-r--r--src/mame/drivers/dynax.c22
-rw-r--r--src/mame/drivers/epos.c12
-rw-r--r--src/mame/drivers/esd16.c4
-rw-r--r--src/mame/drivers/esripsys.c14
-rw-r--r--src/mame/drivers/exidy.c4
-rw-r--r--src/mame/drivers/exidy440.c2
-rw-r--r--src/mame/drivers/exzisus.c4
-rw-r--r--src/mame/drivers/f1gp.c4
-rw-r--r--src/mame/drivers/famibox.c6
-rw-r--r--src/mame/drivers/fastlane.c4
-rw-r--r--src/mame/drivers/fcrash.c4
-rw-r--r--src/mame/drivers/firefox.c4
-rw-r--r--src/mame/drivers/firetrap.c8
-rw-r--r--src/mame/drivers/flkatck.c4
-rw-r--r--src/mame/drivers/freekick.c4
-rw-r--r--src/mame/drivers/fromanc2.c10
-rw-r--r--src/mame/drivers/fromance.c4
-rw-r--r--src/mame/drivers/funkball.c20
-rw-r--r--src/mame/drivers/funybubl.c10
-rw-r--r--src/mame/drivers/fuukifg2.c4
-rw-r--r--src/mame/drivers/fuukifg3.c4
-rw-r--r--src/mame/drivers/gaelco3d.c6
-rw-r--r--src/mame/drivers/galaxian.c18
-rw-r--r--src/mame/drivers/galivan.c18
-rw-r--r--src/mame/drivers/gamecstl.c6
-rw-r--r--src/mame/drivers/gberet.c4
-rw-r--r--src/mame/drivers/gbusters.c6
-rw-r--r--src/mame/drivers/gei.c48
-rw-r--r--src/mame/drivers/gladiatr.c8
-rw-r--r--src/mame/drivers/gng.c8
-rw-r--r--src/mame/drivers/go2000.c6
-rw-r--r--src/mame/drivers/goal92.c4
-rw-r--r--src/mame/drivers/goindol.c4
-rw-r--r--src/mame/drivers/gstriker.c2
-rw-r--r--src/mame/drivers/gundealr.c4
-rw-r--r--src/mame/drivers/gunsmoke.c2
-rw-r--r--src/mame/drivers/hcastle.c4
-rw-r--r--src/mame/drivers/highvdeo.c6
-rw-r--r--src/mame/drivers/himesiki.c4
-rw-r--r--src/mame/drivers/hng64.c4
-rw-r--r--src/mame/drivers/homedata.c16
-rw-r--r--src/mame/drivers/homerun.c4
-rw-r--r--src/mame/drivers/hornet.c14
-rw-r--r--src/mame/drivers/hvyunit.c6
-rw-r--r--src/mame/drivers/ichiban.c2
-rw-r--r--src/mame/drivers/inufuku.c6
-rw-r--r--src/mame/drivers/itech32.c2
-rw-r--r--src/mame/drivers/itech8.c6
-rw-r--r--src/mame/drivers/jackal.c8
-rw-r--r--src/mame/drivers/jaguar.c24
-rw-r--r--src/mame/drivers/jedi.c8
-rw-r--r--src/mame/drivers/jongkyo.c2
-rw-r--r--src/mame/drivers/jpmsys5.c6
-rw-r--r--src/mame/drivers/junofrst.c6
-rw-r--r--src/mame/drivers/kaneko16.c2
-rw-r--r--src/mame/drivers/kangaroo.c2
-rw-r--r--src/mame/drivers/ksayakyu.c4
-rw-r--r--src/mame/drivers/labyrunr.c4
-rw-r--r--src/mame/drivers/lastduel.c4
-rw-r--r--src/mame/drivers/leland.c6
-rw-r--r--src/mame/drivers/lethal.c8
-rw-r--r--src/mame/drivers/liberate.c2
-rw-r--r--src/mame/drivers/lsasquad.c4
-rw-r--r--src/mame/drivers/luckgrln.c2
-rw-r--r--src/mame/drivers/lwings.c4
-rw-r--r--src/mame/drivers/m107.c6
-rw-r--r--src/mame/drivers/m62.c32
-rw-r--r--src/mame/drivers/m72.c4
-rw-r--r--src/mame/drivers/m90.c4
-rw-r--r--src/mame/drivers/m92.c12
-rw-r--r--src/mame/drivers/macs.c18
-rw-r--r--src/mame/drivers/magtouch.c6
-rw-r--r--src/mame/drivers/mainevt.c4
-rw-r--r--src/mame/drivers/majorpkr.c4
-rw-r--r--src/mame/drivers/malzak.c4
-rw-r--r--src/mame/drivers/mayumi.c6
-rw-r--r--src/mame/drivers/mazerbla.c4
-rw-r--r--src/mame/drivers/mcatadv.c6
-rw-r--r--src/mame/drivers/megadrvb.c2
-rw-r--r--src/mame/drivers/merit.c18
-rw-r--r--src/mame/drivers/meritm.c16
-rw-r--r--src/mame/drivers/metro.c6
-rw-r--r--src/mame/drivers/mexico86.c2
-rw-r--r--src/mame/drivers/midqslvr.c42
-rw-r--r--src/mame/drivers/midzeus.c6
-rw-r--r--src/mame/drivers/missb2.c10
-rw-r--r--src/mame/drivers/mitchell.c6
-rw-r--r--src/mame/drivers/mjsister.c6
-rw-r--r--src/mame/drivers/mlanding.c2
-rw-r--r--src/mame/drivers/model1.c6
-rw-r--r--src/mame/drivers/model2.c12
-rw-r--r--src/mame/drivers/model3.c20
-rw-r--r--src/mame/drivers/momoko.c4
-rw-r--r--src/mame/drivers/moo.c2
-rw-r--r--src/mame/drivers/mpu4.c10
-rw-r--r--src/mame/drivers/mquake.c6
-rw-r--r--src/mame/drivers/ms32.c14
-rw-r--r--src/mame/drivers/multfish.c6
-rw-r--r--src/mame/drivers/multigam.c20
-rw-r--r--src/mame/drivers/mystwarr.c2
-rw-r--r--src/mame/drivers/namcofl.c16
-rw-r--r--src/mame/drivers/namcos11.c8
-rw-r--r--src/mame/drivers/namcos12.c12
-rw-r--r--src/mame/drivers/namcos86.c8
-rw-r--r--src/mame/drivers/nbmj8991.c6
-rw-r--r--src/mame/drivers/nbmj9195.c2
-rw-r--r--src/mame/drivers/neodrvr.c4
-rw-r--r--src/mame/drivers/neogeo.c22
-rw-r--r--src/mame/drivers/ninjakd2.c14
-rw-r--r--src/mame/drivers/ninjaw.c4
-rw-r--r--src/mame/drivers/niyanpai.c2
-rw-r--r--src/mame/drivers/nmk16.c4
-rw-r--r--src/mame/drivers/nss.c6
-rw-r--r--src/mame/drivers/nycaptor.c4
-rw-r--r--src/mame/drivers/ojankohs.c12
-rw-r--r--src/mame/drivers/onetwo.c4
-rw-r--r--src/mame/drivers/opwolf.c6
-rw-r--r--src/mame/drivers/othunder.c4
-rw-r--r--src/mame/drivers/pacman.c56
-rw-r--r--src/mame/drivers/paradise.c6
-rw-r--r--src/mame/drivers/parodius.c8
-rw-r--r--src/mame/drivers/pasha2.c4
-rw-r--r--src/mame/drivers/pcat_nit.c10
-rw-r--r--src/mame/drivers/pcktgal.c16
-rw-r--r--src/mame/drivers/pcxt.c2
-rw-r--r--src/mame/drivers/pengadvb.c16
-rw-r--r--src/mame/drivers/pgm.c2
-rw-r--r--src/mame/drivers/phoenix.c2
-rw-r--r--src/mame/drivers/photon.c32
-rw-r--r--src/mame/drivers/photon2.c4
-rw-r--r--src/mame/drivers/pingpong.c18
-rw-r--r--src/mame/drivers/pipedrm.c12
-rw-r--r--src/mame/drivers/plygonet.c2
-rw-r--r--src/mame/drivers/pokechmp.c20
-rw-r--r--src/mame/drivers/poker72.c8
-rw-r--r--src/mame/drivers/ppmast93.c2
-rw-r--r--src/mame/drivers/psikyo.c24
-rw-r--r--src/mame/drivers/psikyo4.c4
-rw-r--r--src/mame/drivers/psikyosh.c10
-rw-r--r--src/mame/drivers/psychic5.c4
-rw-r--r--src/mame/drivers/qix.c6
-rw-r--r--src/mame/drivers/queen.c42
-rw-r--r--src/mame/drivers/quizdna.c4
-rw-r--r--src/mame/drivers/quizo.c2
-rw-r--r--src/mame/drivers/quizpun2.c2
-rw-r--r--src/mame/drivers/r2dx_v33.c8
-rw-r--r--src/mame/drivers/rabbit.c4
-rw-r--r--src/mame/drivers/raiden2.c22
-rw-r--r--src/mame/drivers/rainbow.c6
-rw-r--r--src/mame/drivers/rastan.c6
-rw-r--r--src/mame/drivers/renegade.c2
-rw-r--r--src/mame/drivers/rmhaihai.c4
-rw-r--r--src/mame/drivers/rockrage.c4
-rw-r--r--src/mame/drivers/rollerg.c8
-rw-r--r--src/mame/drivers/royalmah.c24
-rw-r--r--src/mame/drivers/rungun.c4
-rw-r--r--src/mame/drivers/sandscrp.c2
-rw-r--r--src/mame/drivers/sangho.c34
-rw-r--r--src/mame/drivers/savquest.c6
-rw-r--r--src/mame/drivers/sbrkout.c2
-rw-r--r--src/mame/drivers/segae.c8
-rw-r--r--src/mame/drivers/segald.c4
-rw-r--r--src/mame/drivers/segas16b.c12
-rw-r--r--src/mame/drivers/segas18.c2
-rw-r--r--src/mame/drivers/segas24.c8
-rw-r--r--src/mame/drivers/segas32.c4
-rw-r--r--src/mame/drivers/seibuspi.c10
-rw-r--r--src/mame/drivers/seta.c2
-rw-r--r--src/mame/drivers/sf.c2
-rw-r--r--src/mame/drivers/sfbonus.c4
-rw-r--r--src/mame/drivers/sfkick.c52
-rw-r--r--src/mame/drivers/shangkid.c12
-rw-r--r--src/mame/drivers/shootout.c8
-rw-r--r--src/mame/drivers/sidearms.c4
-rw-r--r--src/mame/drivers/sigmab52.c8
-rw-r--r--src/mame/drivers/sigmab98.c120
-rw-r--r--src/mame/drivers/simpsons.c2
-rw-r--r--src/mame/drivers/skimaxx.c6
-rw-r--r--src/mame/drivers/skykid.c4
-rw-r--r--src/mame/drivers/slapshot.c4
-rw-r--r--src/mame/drivers/sms.c4
-rw-r--r--src/mame/drivers/snk68.c2
-rw-r--r--src/mame/drivers/sothello.c2
-rw-r--r--src/mame/drivers/speedspn.c2
-rw-r--r--src/mame/drivers/splash.c6
-rw-r--r--src/mame/drivers/sprcros2.c4
-rw-r--r--src/mame/drivers/spy.c4
-rw-r--r--src/mame/drivers/srmp2.c4
-rw-r--r--src/mame/drivers/srmp6.c2
-rw-r--r--src/mame/drivers/srumbler.c2
-rw-r--r--src/mame/drivers/ssv.c2
-rw-r--r--src/mame/drivers/st0016.c6
-rw-r--r--src/mame/drivers/starwars.c12
-rw-r--r--src/mame/drivers/su2000.c4
-rw-r--r--src/mame/drivers/suna16.c6
-rw-r--r--src/mame/drivers/suna8.c36
-rw-r--r--src/mame/drivers/superqix.c4
-rw-r--r--src/mame/drivers/supertnk.c4
-rw-r--r--src/mame/drivers/suprgolf.c4
-rw-r--r--src/mame/drivers/suprnova.c2
-rw-r--r--src/mame/drivers/suprslam.c2
-rw-r--r--src/mame/drivers/surpratk.c8
-rw-r--r--src/mame/drivers/system1.c12
-rw-r--r--src/mame/drivers/system16.c2
-rw-r--r--src/mame/drivers/tail2nos.c10
-rw-r--r--src/mame/drivers/taito_b.c4
-rw-r--r--src/mame/drivers/taito_f2.c4
-rw-r--r--src/mame/drivers/taito_f3.c2
-rw-r--r--src/mame/drivers/taito_h.c4
-rw-r--r--src/mame/drivers/taito_l.c14
-rw-r--r--src/mame/drivers/taito_x.c2
-rw-r--r--src/mame/drivers/taito_z.c4
-rw-r--r--src/mame/drivers/taitoair.c4
-rw-r--r--src/mame/drivers/taitowlf.c6
-rw-r--r--src/mame/drivers/tankbust.c4
-rw-r--r--src/mame/drivers/taotaido.c2
-rw-r--r--src/mame/drivers/tatsumi.c4
-rw-r--r--src/mame/drivers/tbowl.c4
-rw-r--r--src/mame/drivers/tecmo.c2
-rw-r--r--src/mame/drivers/tecmosys.c4
-rw-r--r--src/mame/drivers/thedeep.c6
-rw-r--r--src/mame/drivers/thunderx.c10
-rw-r--r--src/mame/drivers/tmaster.c38
-rw-r--r--src/mame/drivers/tmnt.c4
-rw-r--r--src/mame/drivers/tmspoker.c4
-rw-r--r--src/mame/drivers/tnzs.c4
-rw-r--r--src/mame/drivers/toaplan2.c10
-rw-r--r--src/mame/drivers/toki.c2
-rw-r--r--src/mame/drivers/topspeed.c4
-rw-r--r--src/mame/drivers/trackfld.c12
-rw-r--r--src/mame/drivers/trvmadns.c6
-rw-r--r--src/mame/drivers/tryout.c2
-rw-r--r--src/mame/drivers/ttchamp.c6
-rw-r--r--src/mame/drivers/tumbleb.c2
-rw-r--r--src/mame/drivers/tutankhm.c4
-rw-r--r--src/mame/drivers/upscope.c6
-rw-r--r--src/mame/drivers/usgames.c2
-rw-r--r--src/mame/drivers/vball.c2
-rw-r--r--src/mame/drivers/vendetta.c8
-rw-r--r--src/mame/drivers/vigilant.c2
-rw-r--r--src/mame/drivers/voyager.c10
-rw-r--r--src/mame/drivers/wardner.c10
-rw-r--r--src/mame/drivers/warriorb.c4
-rw-r--r--src/mame/drivers/wc90.c4
-rw-r--r--src/mame/drivers/wc90b.c6
-rw-r--r--src/mame/drivers/welltris.c2
-rw-r--r--src/mame/drivers/wgp.c4
-rw-r--r--src/mame/drivers/whitestar.c8
-rw-r--r--src/mame/drivers/williams.c4
-rw-r--r--src/mame/drivers/witch.c4
-rw-r--r--src/mame/drivers/xain.c12
-rw-r--r--src/mame/drivers/xexex.c6
-rw-r--r--src/mame/drivers/xmen.c6
-rw-r--r--src/mame/drivers/xtom3d.c42
-rw-r--r--src/mame/drivers/xxmissio.c6
-rw-r--r--src/mame/drivers/yunsung8.c12
-rw-r--r--src/mame/drivers/zn.c62
-rw-r--r--src/mame/machine/3do.c2
-rw-r--r--src/mame/machine/acitya.c12
-rw-r--r--src/mame/machine/ajax.c12
-rw-r--r--src/mame/machine/asteroid.c16
-rw-r--r--src/mame/machine/atari.c2
-rw-r--r--src/mame/machine/balsente.c20
-rw-r--r--src/mame/machine/bublbobl.c4
-rw-r--r--src/mame/machine/decocass.c2
-rw-r--r--src/mame/machine/galaxold.c20
-rw-r--r--src/mame/machine/irobot.c18
-rw-r--r--src/mame/machine/kabuki.c2
-rw-r--r--src/mame/machine/konppc.c6
-rw-r--r--src/mame/machine/leland.c38
-rw-r--r--src/mame/machine/mc8123.c2
-rw-r--r--src/mame/machine/megadriv.c14
-rw-r--r--src/mame/machine/mhavoc.c10
-rw-r--r--src/mame/machine/midtunit.c2
-rw-r--r--src/mame/machine/namcos1.c10
-rw-r--r--src/mame/machine/namcos2.c2
-rw-r--r--src/mame/machine/qix.c2
-rw-r--r--src/mame/machine/scramble.c6
-rw-r--r--src/mame/machine/segacrpt.c12
-rw-r--r--src/mame/machine/segaic16.c14
-rw-r--r--src/mame/machine/simpsons.c12
-rw-r--r--src/mame/machine/slapfght.c4
-rw-r--r--src/mame/machine/starwars.c4
-rw-r--r--src/mame/machine/stfight.c2
-rw-r--r--src/mame/machine/taitosj.c8
-rw-r--r--src/mame/machine/theglobp.c12
-rw-r--r--src/mame/machine/tnzs.c22
-rw-r--r--src/mame/machine/vsnes.c14
-rw-r--r--src/mame/machine/williams.c38
-rw-r--r--src/mame/video/1943.c2
-rw-r--r--src/mame/video/appoooh.c2
-rw-r--r--src/mame/video/arkanoid.c2
-rw-r--r--src/mame/video/bfm_adr2.c6
-rw-r--r--src/mame/video/brkthru.c2
-rw-r--r--src/mame/video/chaknpop.c4
-rw-r--r--src/mame/video/cloud9.c2
-rw-r--r--src/mame/video/dec8.c6
-rw-r--r--src/mame/video/dooyong.c2
-rw-r--r--src/mame/video/galivan.c4
-rw-r--r--src/mame/video/gunsmoke.c2
-rw-r--r--src/mame/video/hexion.c2
-rw-r--r--src/mame/video/homerun.c2
-rw-r--r--src/mame/video/kangaroo.c2
-rw-r--r--src/mame/video/metlclsh.c4
-rw-r--r--src/mame/video/mexico86.c2
-rw-r--r--src/mame/video/mjkjidai.c4
-rw-r--r--src/mame/video/pacland.c2
-rw-r--r--src/mame/video/phoenix.c10
-rw-r--r--src/mame/video/shisen.c2
-rw-r--r--src/mame/video/simpsons.c2
-rw-r--r--src/mame/video/spdodgeb.c2
-rw-r--r--src/mame/video/superqix.c4
405 files changed, 1683 insertions, 1715 deletions
diff --git a/src/emu/memory.c b/src/emu/memory.c
index 192662f0d72..93539489a76 100644
--- a/src/emu/memory.c
+++ b/src/emu/memory.c
@@ -5538,17 +5538,3 @@ void handler_entry_write::write_stub_legacy(address_space &space, offs_t offset,
{
m_legacy_info.handler.space64(m_legacy_info.object.space, offset, data, mask);
}
-
-
-
-// configure the addresses for a bank
-void memory_configure_bank(running_machine &machine, const char *tag, int startentry, int numentries, void *base, offs_t stride) { machine.root_device().subbank(tag)->configure_entries(startentry, numentries, base, stride); }
-
-// configure the decrypted addresses for a bank
-void memory_configure_bank_decrypted(running_machine &machine, const char *tag, int startentry, int numentries, void *base, offs_t stride) { machine.root_device().subbank(tag)->configure_decrypted_entries(startentry, numentries, base, stride); }
-
-// select one pre-configured entry to be the new bank base
-void memory_set_bank(running_machine &machine, const char *tag, int entrynum) { machine.root_device().subbank(tag)->set_entry(entrynum); }
-
-// set the absolute address of a bank base
-void memory_set_bankptr(running_machine &machine, const char *tag, void *base) { machine.root_device().subbank(tag)->set_base(base); }
diff --git a/src/emu/memory.h b/src/emu/memory.h
index 7e5b12faade..14814218593 100644
--- a/src/emu/memory.h
+++ b/src/emu/memory.h
@@ -900,24 +900,6 @@ extern const char *const address_space_names[ADDRESS_SPACES];
//**************************************************************************
-// FUNCTION PROTOTYPES FOR CORE MEMORY FUNCTIONS
-//**************************************************************************
-
-// configure the addresses for a bank
-void memory_configure_bank(running_machine &machine, const char *tag, int startentry, int numentries, void *base, offs_t stride) ATTR_NONNULL(5);
-
-// configure the decrypted addresses for a bank
-void memory_configure_bank_decrypted(running_machine &machine, const char *tag, int startentry, int numentries, void *base, offs_t stride) ATTR_NONNULL(5);
-
-// select one pre-configured entry to be the new bank base
-void memory_set_bank(running_machine &machine, const char *tag, int entrynum);
-
-// set the absolute address of a bank base
-void memory_set_bankptr(running_machine &machine, const char *tag, void *base) ATTR_NONNULL(3);
-
-
-
-//**************************************************************************
// INLINE FUNCTIONS
//**************************************************************************
diff --git a/src/emu/sound/okim6295.c b/src/emu/sound/okim6295.c
index 0e4bf798990..efd8145eb39 100644
--- a/src/emu/sound/okim6295.c
+++ b/src/emu/sound/okim6295.c
@@ -228,7 +228,7 @@ void okim6295_device::set_bank_base(offs_t base, bool bDontUpdateStream)
if (m_bank_installed)
{
m_bank_offs = base;
- memory_set_bankptr(machine(), tag(), m_region->base() + base);
+ subbank(tag())->set_base(m_region->base() + base);
}
}
diff --git a/src/emu/video/pc_cga.c b/src/emu/video/pc_cga.c
index b7983081f9e..bf1ac558cc1 100644
--- a/src/emu/video/pc_cga.c
+++ b/src/emu/video/pc_cga.c
@@ -340,7 +340,7 @@ static VIDEO_START( pc_cga )
cga.videoram = auto_alloc_array(machine, UINT8, 0x4000);
cga.is_superimpose = 0;
- memory_set_bankptr(machine,"bank11", cga.videoram);
+ machine.root_device().subbank("bank11")->set_base(cga.videoram);
}
@@ -381,7 +381,7 @@ static VIDEO_START( pc_cga32k )
cga.videoram = auto_alloc_array(machine, UINT8, 0x8000);
cga.is_superimpose = 0;
- memory_set_bankptr(machine,"bank11", cga.videoram);
+ machine.root_device().subbank("bank11")->set_base(cga.videoram);
}
SCREEN_UPDATE_RGB32( mc6845_cga )
@@ -1485,7 +1485,7 @@ static WRITE8_HANDLER ( pc1512_w )
}
else
{
- memory_set_bankptr(space->machine(),"bank1", videoram + videoram_offset[0]);
+ space->machine().root_device().subbank("bank1")->set_base(videoram + videoram_offset[0]);
}
cga.mode_control = data;
switch( cga.mode_control & 0x3F )
@@ -1543,7 +1543,7 @@ static WRITE8_HANDLER ( pc1512_w )
pc1512.read = data;
if ( ( cga.mode_control & 0x12 ) == 0x12 )
{
- memory_set_bankptr(space->machine(),"bank1", videoram + videoram_offset[data & 3]);
+ space->machine().root_device().subbank("bank1")->set_base(videoram + videoram_offset[data & 3]);
}
break;
@@ -1618,7 +1618,7 @@ static VIDEO_START( pc1512 )
address_space *io_space = machine.firstcpu->memory().space( AS_IO );
space->install_read_bank( 0xb8000, 0xbbfff, 0, 0x0C000, "bank1" );
- memory_set_bankptr(machine, "bank1", cga.videoram + videoram_offset[0]);
+ machine.root_device().subbank("bank1")->set_base(cga.videoram + videoram_offset[0]);
space->install_legacy_write_handler( 0xb8000, 0xbbfff, 0, 0x0C000, FUNC(pc1512_videoram16le_w) );
io_space->install_legacy_read_handler( 0x3d0, 0x3df, FUNC(pc1512_16le_r) );
diff --git a/src/mame/audio/atarijsa.c b/src/mame/audio/atarijsa.c
index 4126fe86df2..cbdd2fffd4a 100644
--- a/src/mame/audio/atarijsa.c
+++ b/src/mame/audio/atarijsa.c
@@ -166,9 +166,9 @@ void atarijsa_init(running_machine &machine, const char *testport, int testmask)
{
const char *bank = (rgn != 2) ? "bank12" : "bank14";
const char *bank_plus_1 = (rgn != 2) ? "bank13" : "bank15";
- memory_configure_bank(machine, bank, 0, 2, base + 0x00000, 0x00000);
- memory_configure_bank(machine, bank, 2, 2, base + 0x20000, 0x20000);
- memory_set_bankptr(machine, bank_plus_1, base + 0x60000);
+ machine.root_device().subbank(bank)->configure_entries(0, 2, base + 0x00000, 0x00000);
+ machine.root_device().subbank(bank)->configure_entries(2, 2, base + 0x20000, 0x20000);
+ machine.root_device().subbank(bank_plus_1)->set_base(base + 0x60000);
}
}
}
@@ -548,7 +548,7 @@ static WRITE8_HANDLER( jsa3_io_w )
/* update the OKI bank */
if (oki6295 != NULL)
- memory_set_bank(space->machine(), "bank12", (space->machine().memory().bank("bank12")->entry() & 2) | ((data >> 1) & 1));
+ space->machine().root_device().subbank("bank12")->set_entry((space->machine().memory().bank("bank12")->entry() & 2) | ((data >> 1) & 1));
/* update the bank */
memcpy(bank_base, &bank_source_data[0x1000 * ((data >> 6) & 3)], 0x1000);
@@ -572,7 +572,7 @@ static WRITE8_HANDLER( jsa3_io_w )
/* update the OKI bank */
if (oki6295 != NULL)
- memory_set_bank(space->machine(), "bank12", (space->machine().memory().bank("bank12")->entry() & 1) | ((data >> 3) & 2));
+ space->machine().root_device().subbank("bank12")->set_entry((space->machine().memory().bank("bank12")->entry() & 1) | ((data >> 3) & 2));
/* update the volumes */
ym2151_volume = ((data >> 1) & 7) * 100 / 7;
@@ -681,7 +681,7 @@ static WRITE8_HANDLER( jsa3s_io_w )
if ((data&1) == 0) devtag_reset(space->machine(), "ymsnd");
/* update the OKI bank */
- memory_set_bank(space->machine(), "bank12", (space->machine().memory().bank("bank12")->entry() & 2) | ((data >> 1) & 1));
+ space->machine().root_device().subbank("bank12")->set_entry((space->machine().memory().bank("bank12")->entry() & 2) | ((data >> 1) & 1));
/* update the bank */
memcpy(bank_base, &bank_source_data[0x1000 * ((data >> 6) & 3)], 0x1000);
@@ -705,8 +705,8 @@ static WRITE8_HANDLER( jsa3s_io_w )
*/
/* update the OKI bank */
- memory_set_bank(space->machine(), "bank12", (space->machine().memory().bank("bank12")->entry() & 1) | ((data >> 3) & 2));
- memory_set_bank(space->machine(), "bank14", data >> 6);
+ space->machine().root_device().subbank("bank12")->set_entry((space->machine().memory().bank("bank12")->entry() & 1) | ((data >> 3) & 2));
+ space->machine().root_device().subbank("bank14")->set_entry(data >> 6);
/* update the volumes */
ym2151_volume = ((data >> 1) & 7) * 100 / 7;
diff --git a/src/mame/audio/cage.c b/src/mame/audio/cage.c
index ef013f47cb3..205cc24ba08 100644
--- a/src/mame/audio/cage.c
+++ b/src/mame/audio/cage.c
@@ -165,8 +165,8 @@ void cage_init(running_machine &machine, offs_t speedup)
state->irqhandler = NULL;
- memory_set_bankptr(machine, "bank10", machine.region("cageboot")->base());
- memory_set_bankptr(machine, "bank11", machine.region("cage")->base());
+ machine.root_device().subbank("bank10")->set_base(machine.region("cageboot")->base());
+ machine.root_device().subbank("bank11")->set_base(machine.region("cage")->base());
state->cpu = machine.device<cpu_device>("cage");
cage_cpu_clock_period = attotime::from_hz(state->cpu->clock());
diff --git a/src/mame/audio/cyberbal.c b/src/mame/audio/cyberbal.c
index 79efd4744fb..7fd4474bfa0 100644
--- a/src/mame/audio/cyberbal.c
+++ b/src/mame/audio/cyberbal.c
@@ -21,7 +21,7 @@ void cyberbal_sound_reset(running_machine &machine)
/* reset the sound system */
state->m_bank_base = &machine.region("audiocpu")->base()[0x10000];
- memory_set_bankptr(machine, "soundbank", &state->m_bank_base[0x0000]);
+ state->subbank("soundbank")->set_base(&state->m_bank_base[0x0000]);
state->m_fast_68k_int = state->m_io_68k_int = 0;
state->m_sound_data_from_68k = state->m_sound_data_from_6502 = 0;
state->m_sound_data_from_68k_ready = state->m_sound_data_from_6502_ready = 0;
@@ -56,7 +56,7 @@ READ8_MEMBER(cyberbal_state::cyberbal_sound_6502_stat_r)
WRITE8_MEMBER(cyberbal_state::cyberbal_sound_bank_select_w)
{
- memory_set_bankptr(machine(), "soundbank", &m_bank_base[0x1000 * ((data >> 6) & 3)]);
+ subbank("soundbank")->set_base(&m_bank_base[0x1000 * ((data >> 6) & 3)]);
coin_counter_w(machine(), 1, (data >> 5) & 1);
coin_counter_w(machine(), 0, (data >> 4) & 1);
cputag_set_input_line(machine(), "dac", INPUT_LINE_RESET, (data & 0x08) ? CLEAR_LINE : ASSERT_LINE);
diff --git a/src/mame/audio/dcs.c b/src/mame/audio/dcs.c
index d182898a48c..28a72c76a72 100644
--- a/src/mame/audio/dcs.c
+++ b/src/mame/audio/dcs.c
@@ -821,7 +821,7 @@ static TIMER_CALLBACK( dcs_reset )
/* rev 1: just reset the bank to 0 */
case 1:
dcs.sounddata_bank = 0;
- memory_set_bank(machine, "databank", 0);
+ machine.root_device().subbank("databank")->set_entry(0);
break;
/* rev 2: reset the SDRC ASIC */
@@ -960,7 +960,7 @@ void dcs_init(running_machine &machine)
dcs.sounddata = dcs.bootrom;
dcs.sounddata_words = dcs.bootrom_words;
dcs.sounddata_banks = dcs.sounddata_words / 0x1000;
- memory_configure_bank(machine, "databank", 0, dcs.sounddata_banks, dcs.sounddata, 0x1000*2);
+ machine.root_device().subbank("databank")->configure_entries(0, dcs.sounddata_banks, dcs.sounddata, 0x1000*2);
/* create the timers */
dcs.internal_timer = machine.device<timer_device>("dcs_int_timer");
@@ -1024,7 +1024,7 @@ void dcs2_init(running_machine &machine, int dram_in_mb, offs_t polling_offset)
}
dcs.sounddata_banks = dcs.sounddata_words / soundbank_words;
if (dcs.rev != 2)
- memory_configure_bank(machine, "databank", 0, dcs.sounddata_banks, dcs.sounddata, soundbank_words*2);
+ machine.root_device().subbank("databank")->configure_entries(0, dcs.sounddata_banks, dcs.sounddata, soundbank_words*2);
/* allocate memory for the SRAM */
dcs.sram = auto_alloc_array(machine, UINT16, 0x8000*4/2);
@@ -1085,7 +1085,7 @@ static WRITE16_HANDLER( dcs_dataram_w )
static WRITE16_HANDLER( dcs_data_bank_select_w )
{
dcs.sounddata_bank = data & 0x7ff;
- memory_set_bank(space->machine(), "databank", dcs.sounddata_bank % dcs.sounddata_banks);
+ space->machine().root_device().subbank("databank")->set_entry(dcs.sounddata_bank % dcs.sounddata_banks);
/* bit 11 = sound board led */
#if 0
@@ -1112,15 +1112,15 @@ INLINE void sdrc_update_bank_pointers(running_machine &machine)
{
/* ROM-based; use the memory page to select from ROM */
if (SDRC_ROM_MS == 1 && SDRC_ROM_ST != 3)
- memory_set_bankptr(machine, "rompage", &dcs.sounddata[(SDRC_EPM_PG * pagesize) % dcs.sounddata_words]);
+ machine.root_device().subbank("rompage")->set_base(&dcs.sounddata[(SDRC_EPM_PG * pagesize) % dcs.sounddata_words]);
}
else
{
/* RAM-based; use the ROM page to select from ROM, and the memory page to select from RAM */
if (SDRC_ROM_MS == 1 && SDRC_ROM_ST != 3)
- memory_set_bankptr(machine, "rompage", &dcs.bootrom[(SDRC_ROM_PG * 4096 /*pagesize*/) % dcs.bootrom_words]);
+ machine.root_device().subbank("rompage")->set_base(&dcs.bootrom[(SDRC_ROM_PG * 4096 /*pagesize*/) % dcs.bootrom_words]);
if (SDRC_DM_ST != 0)
- memory_set_bankptr(machine, "drampage", &dcs.sounddata[(SDRC_DM_PG * 1024) % dcs.sounddata_words]);
+ machine.root_device().subbank("drampage")->set_base(&dcs.sounddata[(SDRC_DM_PG * 1024) % dcs.sounddata_words]);
}
}
}
@@ -1362,7 +1362,7 @@ static WRITE16_HANDLER( dsio_w )
/* offset 2 controls RAM pages */
case 2:
dsio.reg[2] = data;
- memory_set_bank(space->machine(), "databank", DSIO_DM_PG % dcs.sounddata_banks);
+ space->machine().root_device().subbank("databank")->set_entry(DSIO_DM_PG % dcs.sounddata_banks);
break;
}
}
@@ -1429,7 +1429,7 @@ static WRITE16_HANDLER( denver_w )
/* offset 2 controls RAM pages */
case 2:
dsio.reg[2] = data;
- memory_set_bank(space->machine(), "databank", DENV_DM_PG % dcs.sounddata_bank);
+ space->machine().root_device().subbank("databank")->set_entry(DENV_DM_PG % dcs.sounddata_bank);
break;
/* offset 3 controls FIFO reset */
diff --git a/src/mame/audio/mario.c b/src/mame/audio/mario.c
index c07bf4e69f7..53ebf5af6d1 100644
--- a/src/mame/audio/mario.c
+++ b/src/mame/audio/mario.c
@@ -402,7 +402,7 @@ static void set_ea(address_space &space, int ea)
//printf("ea: %d\n", ea);
//cputag_set_input_line(machine, "audiocpu", MCS48_INPUT_EA, (ea) ? ASSERT_LINE : CLEAR_LINE);
if (state->m_eabank != NULL)
- memory_set_bank(space.machine(), state->m_eabank, ea);
+ state->subbank(state->m_eabank)->set_entry(ea);
}
/****************************************************************
@@ -426,8 +426,8 @@ static SOUND_START( mario )
{
state->m_eabank = "bank1";
audiocpu->memory().space(AS_PROGRAM)->install_read_bank(0x000, 0x7ff, "bank1");
- memory_configure_bank(machine, "bank1", 0, 1, machine.region("audiocpu")->base(), 0);
- memory_configure_bank(machine, "bank1", 1, 1, machine.region("audiocpu")->base() + 0x1000, 0x800);
+ state->subbank("bank1")->configure_entry(0, machine.region("audiocpu")->base());
+ state->subbank("bank1")->configure_entry(1, machine.region("audiocpu")->base() + 0x1000);
}
state->save_item(NAME(state->m_last));
diff --git a/src/mame/audio/seibu.c b/src/mame/audio/seibu.c
index ee2202f30aa..4969ad8acd2 100644
--- a/src/mame/audio/seibu.c
+++ b/src/mame/audio/seibu.c
@@ -120,7 +120,7 @@ void seibu_sound_decrypt(running_machine &machine,const char *cpu,int length)
}
if (length > 0x10000)
- memory_configure_bank_decrypted(machine, "bank1", 0, (length - 0x10000) / 0x8000, decrypt + 0x10000, 0x8000);
+ machine.root_device().subbank("bank1")->configure_decrypted_entries(0, (length - 0x10000) / 0x8000, decrypt + 0x10000, 0x8000);
}
@@ -353,10 +353,10 @@ MACHINE_RESET( seibu_sound )
update_irq_lines(machine, VECTOR_INIT);
if (romlength > 0x10000)
{
- memory_configure_bank(machine, "bank1", 0, (romlength - 0x10000) / 0x8000, rom + 0x10000, 0x8000);
+ machine.root_device().subbank("bank1")->configure_entries(0, (romlength - 0x10000) / 0x8000, rom + 0x10000, 0x8000);
/* Denjin Makai definitely needs this at start-up, it never writes to the bankswitch */
- memory_set_bank(machine, "bank1", 0);
+ machine.root_device().subbank("bank1")->set_entry(0);
}
}
@@ -367,7 +367,7 @@ static int main2sub_pending,sub2main_pending;
WRITE8_HANDLER( seibu_bank_w )
{
- memory_set_bank(space->machine(), "bank1", data & 1);
+ space->machine().root_device().subbank("bank1")->set_entry(data & 1);
}
WRITE8_HANDLER( seibu_coin_w )
diff --git a/src/mame/audio/taito_en.c b/src/mame/audio/taito_en.c
index f76ea936c00..9e2676f5204 100644
--- a/src/mame/audio/taito_en.c
+++ b/src/mame/audio/taito_en.c
@@ -306,9 +306,9 @@ SOUND_RESET( taito_f3_soundsystem_reset )
/* Sound cpu program loads to 0xc00000 so we use a bank */
UINT16 *ROM = (UINT16 *)machine.region("audiocpu")->base();
UINT16 *sound_ram = (UINT16 *)machine.memory().shared("share1")->ptr();
- memory_set_bankptr(machine, "bank1",&ROM[0x80000]);
- memory_set_bankptr(machine, "bank2",&ROM[0x90000]);
- memory_set_bankptr(machine, "bank3",&ROM[0xa0000]);
+ machine.root_device().subbank("bank1")->set_base(&ROM[0x80000]);
+ machine.root_device().subbank("bank2")->set_base(&ROM[0x90000]);
+ machine.root_device().subbank("bank3")->set_base(&ROM[0xa0000]);
sound_ram[0]=ROM[0x80000]; /* Stack and Reset vectors */
sound_ram[1]=ROM[0x80001];
diff --git a/src/mame/drivers/1942.c b/src/mame/drivers/1942.c
index 5f573387965..cb845d72ccc 100644
--- a/src/mame/drivers/1942.c
+++ b/src/mame/drivers/1942.c
@@ -71,7 +71,7 @@ correctly.
WRITE8_MEMBER(_1942_state::c1942_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data & 0x03);
+ subbank("bank1")->set_entry(data & 0x03);
}
static TIMER_DEVICE_CALLBACK( c1942_scanline )
@@ -506,7 +506,7 @@ ROM_END
static DRIVER_INIT( 1942 )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 3, &ROM[0x10000], 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 3, &ROM[0x10000], 0x4000);
}
diff --git a/src/mame/drivers/1943.c b/src/mame/drivers/1943.c
index 348a1cbc8d0..af8112b48a6 100644
--- a/src/mame/drivers/1943.c
+++ b/src/mame/drivers/1943.c
@@ -644,7 +644,7 @@ ROM_END
static DRIVER_INIT( 1943 )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
}
READ8_MEMBER(_1943_state::_1943b_c007_r){ return 0; }
diff --git a/src/mame/drivers/20pacgal.c b/src/mame/drivers/20pacgal.c
index 7819a8db797..76c3517faed 100644
--- a/src/mame/drivers/20pacgal.c
+++ b/src/mame/drivers/20pacgal.c
@@ -145,10 +145,10 @@ static void set_bankptr(running_machine &machine)
if (state->m_game_selected == 0)
{
UINT8 *rom = machine.region("maincpu")->base();
- memory_set_bankptr(machine, "bank1", rom + 0x08000);
+ state->subbank("bank1")->set_base(rom + 0x08000);
}
else
- memory_set_bankptr(machine, "bank1", state->m_ram_48000);
+ state->subbank("bank1")->set_base(state->m_ram_48000);
}
WRITE8_MEMBER(_20pacgal_state::ram_bank_select_w)
diff --git a/src/mame/drivers/3do.c b/src/mame/drivers/3do.c
index d2eeb3dddf7..53ea3a743c0 100644
--- a/src/mame/drivers/3do.c
+++ b/src/mame/drivers/3do.c
@@ -135,14 +135,14 @@ static MACHINE_RESET( 3do )
state->m_maincpu = downcast<legacy_cpu_device*>( machine.device("maincpu") );
- memory_set_bankptr(machine, "bank2",machine.region("user1")->base());
+ state->subbank("bank2")->set_base(machine.region("user1")->base());
/* configure overlay */
- memory_configure_bank(machine, "bank1", 0, 1, state->m_dram, 0);
- memory_configure_bank(machine, "bank1", 1, 1, machine.region("user1")->base(), 0);
+ state->subbank("bank1")->configure_entry(0, state->m_dram);
+ state->subbank("bank1")->configure_entry(1, machine.region("user1")->base());
/* start with overlay enabled */
- memory_set_bank(machine, "bank1", 1);
+ state->subbank("bank1")->set_entry(1);
_3do_slow2_init(machine);
_3do_madam_init(machine);
diff --git a/src/mame/drivers/40love.c b/src/mame/drivers/40love.c
index d93b716c952..b81c44942fc 100644
--- a/src/mame/drivers/40love.c
+++ b/src/mame/drivers/40love.c
@@ -274,7 +274,7 @@ WRITE8_MEMBER(fortyl_state::bank_select_w)
// popmessage("WRONG BANK SELECT = %x !!!!\n",data);
}
- memory_set_bank(machine(), "bank1", data & 1);
+ subbank("bank1")->set_entry(data & 1);
}
WRITE8_MEMBER(fortyl_state::pix1_w)
@@ -567,7 +567,7 @@ static DRIVER_INIT( undoukai )
{
fortyl_state *state = machine.driver_data<fortyl_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 2, &ROM[0x10000], 0x2000);
+ state->subbank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x2000);
state->m_pix_color[0] = 0x000;
state->m_pix_color[1] = 0x1e3;
@@ -579,7 +579,7 @@ static DRIVER_INIT( 40love )
{
fortyl_state *state = machine.driver_data<fortyl_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 2, &ROM[0x10000], 0x2000);
+ state->subbank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x2000);
#if 0
/* character ROM hack
diff --git a/src/mame/drivers/aerofgt.c b/src/mame/drivers/aerofgt.c
index 467cfa6a436..0cc905990f8 100644
--- a/src/mame/drivers/aerofgt.c
+++ b/src/mame/drivers/aerofgt.c
@@ -107,7 +107,7 @@ WRITE8_MEMBER(aerofgt_state::pending_command_clear_w)
WRITE8_MEMBER(aerofgt_state::aerofgt_sh_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data & 0x03);
+ subbank("bank1")->set_entry(data & 0x03);
}
@@ -1304,7 +1304,7 @@ static MACHINE_START( aerofgt )
{
UINT8 *rom = machine.region("audiocpu")->base();
- memory_configure_bank(machine, "bank1", 0, 4, &rom[0x10000], 0x8000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 4, &rom[0x10000], 0x8000);
MACHINE_START_CALL(common);
}
@@ -1319,7 +1319,7 @@ static MACHINE_RESET( aerofgt )
{
MACHINE_RESET_CALL(common);
- memory_set_bank(machine, "bank1", 0); /* needed by spinlbrk */
+ machine.root_device().subbank("bank1")->set_entry(0); /* needed by spinlbrk */
}
static MACHINE_CONFIG_START( pspikes, aerofgt_state )
diff --git a/src/mame/drivers/airbustr.c b/src/mame/drivers/airbustr.c
index e191c37d009..b4259521e10 100644
--- a/src/mame/drivers/airbustr.c
+++ b/src/mame/drivers/airbustr.c
@@ -266,13 +266,13 @@ WRITE8_MEMBER(airbustr_state::master_nmi_trigger_w)
WRITE8_MEMBER(airbustr_state::master_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data & 0x07);
+ subbank("bank1")->set_entry(data & 0x07);
}
WRITE8_MEMBER(airbustr_state::slave_bankswitch_w)
{
- memory_set_bank(machine(), "bank2", data & 0x07);
+ subbank("bank2")->set_entry(data & 0x07);
flip_screen_set(data & 0x10);
@@ -282,7 +282,7 @@ WRITE8_MEMBER(airbustr_state::slave_bankswitch_w)
WRITE8_MEMBER(airbustr_state::sound_bankswitch_w)
{
- memory_set_bank(machine(), "bank3", data & 0x07);
+ subbank("bank3")->set_entry(data & 0x07);
}
READ8_MEMBER(airbustr_state::soundcommand_status_r)
@@ -575,12 +575,12 @@ static MACHINE_START( airbustr )
UINT8 *SLAVE = machine.region("slave")->base();
UINT8 *AUDIO = machine.region("audiocpu")->base();
- memory_configure_bank(machine, "bank1", 0, 3, &MASTER[0x00000], 0x4000);
- memory_configure_bank(machine, "bank1", 3, 5, &MASTER[0x10000], 0x4000);
- memory_configure_bank(machine, "bank2", 0, 3, &SLAVE[0x00000], 0x4000);
- memory_configure_bank(machine, "bank2", 3, 5, &SLAVE[0x10000], 0x4000);
- memory_configure_bank(machine, "bank3", 0, 3, &AUDIO[0x00000], 0x4000);
- memory_configure_bank(machine, "bank3", 3, 5, &AUDIO[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 3, &MASTER[0x00000], 0x4000);
+ state->subbank("bank1")->configure_entries(3, 5, &MASTER[0x10000], 0x4000);
+ state->subbank("bank2")->configure_entries(0, 3, &SLAVE[0x00000], 0x4000);
+ state->subbank("bank2")->configure_entries(3, 5, &SLAVE[0x10000], 0x4000);
+ state->subbank("bank3")->configure_entries(0, 3, &AUDIO[0x00000], 0x4000);
+ state->subbank("bank3")->configure_entries(3, 5, &AUDIO[0x10000], 0x4000);
state->m_master = machine.device("master");
state->m_slave = machine.device("slave");
@@ -607,9 +607,9 @@ static MACHINE_RESET( airbustr )
state->m_fg_scrolly = 0;
state->m_highbits = 0;
- memory_set_bank(machine, "bank1", 0x02);
- memory_set_bank(machine, "bank2", 0x02);
- memory_set_bank(machine, "bank3", 0x02);
+ state->subbank("bank1")->set_entry(0x02);
+ state->subbank("bank2")->set_entry(0x02);
+ state->subbank("bank3")->set_entry(0x02);
}
/* Machine Driver */
diff --git a/src/mame/drivers/albazg.c b/src/mame/drivers/albazg.c
index 5914f575809..a7a72357f66 100644
--- a/src/mame/drivers/albazg.c
+++ b/src/mame/drivers/albazg.c
@@ -178,7 +178,7 @@ static WRITE8_DEVICE_HANDLER( mux_w )
if( state->m_bank != new_bank)
{
state->m_bank = new_bank;
- memory_set_bank(device->machine(), "bank1", state->m_bank);
+ state->subbank("bank1")->set_entry(state->m_bank);
}
state->m_mux_data = data & ~0xc0;
@@ -359,7 +359,7 @@ static MACHINE_START( yumefuda )
albazg_state *state = machine.driver_data<albazg_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x10000], 0x2000);
+ state->subbank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x2000);
state->save_item(NAME(state->m_mux_data));
state->save_item(NAME(state->m_bank));
diff --git a/src/mame/drivers/alg.c b/src/mame/drivers/alg.c
index ee1cb916087..704e3a5d9bf 100644
--- a/src/mame/drivers/alg.c
+++ b/src/mame/drivers/alg.c
@@ -225,7 +225,7 @@ static WRITE8_DEVICE_HANDLER( alg_cia_0_porta_w )
address_space *space = device->machine().device("maincpu")->memory().space(AS_PROGRAM);
/* switch banks as appropriate */
- memory_set_bank(device->machine(), "bank1", data & 1);
+ device->machine().root_device().subbank("bank1")->set_entry(data & 1);
/* swap the write handlers between ROM and bank 1 based on the bit */
if ((data & 1) == 0)
@@ -699,8 +699,8 @@ static void alg_init(running_machine &machine)
amiga_machine_config(machine, &alg_intf);
/* set up memory */
- memory_configure_bank(machine, "bank1", 0, 1, state->m_chip_ram, 0);
- memory_configure_bank(machine, "bank1", 1, 1, machine.region("user1")->base(), 0);
+ state->subbank("bank1")->configure_entry(0, state->m_chip_ram);
+ state->subbank("bank1")->configure_entry(1, machine.region("user1")->base());
}
diff --git a/src/mame/drivers/aliens.c b/src/mame/drivers/aliens.c
index 5c6330c4948..7bb7c8ace7e 100644
--- a/src/mame/drivers/aliens.c
+++ b/src/mame/drivers/aliens.c
@@ -232,8 +232,8 @@ static MACHINE_START( aliens )
aliens_state *state = machine.driver_data<aliens_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 20, &ROM[0x10000], 0x2000);
- memory_set_bank(machine, "bank1", 0);
+ state->subbank("bank1")->configure_entries(0, 20, &ROM[0x10000], 0x2000);
+ state->subbank("bank1")->set_entry(0);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");
@@ -545,7 +545,7 @@ static KONAMI_SETLINES_CALLBACK( aliens_banking )
bank -= 4;
bank += (lines & 0x0f);
- memory_set_bank(device->machine(), "bank1", bank);
+ device->machine().root_device().subbank("bank1")->set_entry(bank);
}
GAME( 1990, aliens, 0, aliens, aliens, 0, ROT0, "Konami", "Aliens (World set 1)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/alpha68k.c b/src/mame/drivers/alpha68k.c
index 6d5100d1de9..8981bb7aacb 100644
--- a/src/mame/drivers/alpha68k.c
+++ b/src/mame/drivers/alpha68k.c
@@ -738,7 +738,7 @@ ADDRESS_MAP_END
WRITE8_MEMBER(alpha68k_state::sound_bank_w)
{
- memory_set_bank(machine(), "bank7", data);
+ subbank("bank7")->set_entry(data);
}
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, alpha68k_state )
@@ -1905,7 +1905,7 @@ static MACHINE_START( alpha68k_V )
alpha68k_state *state = machine.driver_data<alpha68k_state>();
UINT8 *ROM = machine.region("audiocpu")->base();
- memory_configure_bank(machine, "bank7", 0, 32, &ROM[0x10000], 0x4000);
+ state->subbank("bank7")->configure_entries(0, 32, &ROM[0x10000], 0x4000);
MACHINE_START_CALL(common);
@@ -1941,7 +1941,7 @@ static MACHINE_START( alpha68k_II )
alpha68k_state *state = machine.driver_data<alpha68k_state>();
UINT8 *ROM = machine.region("audiocpu")->base();
- memory_configure_bank(machine, "bank7", 0, 28, &ROM[0x10000], 0x4000);
+ state->subbank("bank7")->configure_entries(0, 28, &ROM[0x10000], 0x4000);
MACHINE_START_CALL(common);
@@ -3222,7 +3222,7 @@ static DRIVER_INIT( btlfieldb )
static DRIVER_INIT( skysoldr )
{
alpha68k_state *state = machine.driver_data<alpha68k_state>();
- memory_set_bankptr(machine, "bank8", (machine.region("user1")->base()) + 0x40000);
+ state->subbank("bank8")->set_base((machine.region("user1")->base()) + 0x40000);
state->m_invert_controls = 0;
state->m_microcontroller_id = 0;
state->m_coin_id = 0x22 | (0x22 << 8);
@@ -3241,7 +3241,7 @@ static DRIVER_INIT( goldmedl )
static DRIVER_INIT( goldmedla )
{
alpha68k_state *state = machine.driver_data<alpha68k_state>();
- memory_set_bankptr(machine, "bank8", machine.region("maincpu")->base() + 0x20000);
+ state->subbank("bank8")->set_base(machine.region("maincpu")->base() + 0x20000);
state->m_invert_controls = 0;
state->m_microcontroller_id = 0x8803; //Guess - routine to handle coinage is the same as in 'goldmedl'
state->m_coin_id = 0x23 | (0x24 << 8);
@@ -3269,7 +3269,7 @@ static DRIVER_INIT( skyadvntu )
static DRIVER_INIT( gangwarsu )
{
alpha68k_state *state = machine.driver_data<alpha68k_state>();
- memory_set_bankptr(machine, "bank8", machine.region("user1")->base());
+ state->subbank("bank8")->set_base(machine.region("user1")->base());
state->m_invert_controls = 0;
state->m_microcontroller_id = 0x8512;
state->m_coin_id = 0x23 | (0x24 << 8);
@@ -3279,7 +3279,7 @@ static DRIVER_INIT( gangwarsu )
static DRIVER_INIT( gangwars )
{
alpha68k_state *state = machine.driver_data<alpha68k_state>();
- memory_set_bankptr(machine, "bank8", machine.region("user1")->base());
+ state->subbank("bank8")->set_base(machine.region("user1")->base());
state->m_invert_controls = 0;
state->m_microcontroller_id = 0x8512;
state->m_coin_id = 0x23 | (0x24 << 8);
diff --git a/src/mame/drivers/angelkds.c b/src/mame/drivers/angelkds.c
index 819c293ace0..77c49c7c579 100644
--- a/src/mame/drivers/angelkds.c
+++ b/src/mame/drivers/angelkds.c
@@ -140,7 +140,7 @@ Dumped by Chackn
WRITE8_MEMBER(angelkds_state::angelkds_cpu_bank_write)
{
- memory_set_bank(machine(), "bank1", data & 0x0f); // shall we check (data & 0x0f) < # of available banks (8 or 10 resp.)?
+ subbank("bank1")->set_entry(data & 0x0f); // shall we check (data & 0x0f) < # of available banks (8 or 10 resp.)?
}
@@ -745,7 +745,7 @@ ROM_END
static DRIVER_INIT( angelkds )
{
UINT8 *RAM = machine.region("user1")->base();
- memory_configure_bank(machine, "bank1", 0, 8, &RAM[0x0000], 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 8, &RAM[0x0000], 0x4000);
}
static DRIVER_INIT( spcpostn )
@@ -753,7 +753,7 @@ static DRIVER_INIT( spcpostn )
UINT8 *RAM = machine.region("user1")->base();
sega_317_0005_decode(machine, "maincpu");
- memory_configure_bank(machine, "bank1", 0, 10, &RAM[0x0000], 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 10, &RAM[0x0000], 0x4000);
}
diff --git a/src/mame/drivers/aquarium.c b/src/mame/drivers/aquarium.c
index b0bee1dd73a..cdc8332ab82 100644
--- a/src/mame/drivers/aquarium.c
+++ b/src/mame/drivers/aquarium.c
@@ -68,7 +68,7 @@ WRITE16_MEMBER(aquarium_state::aquarium_sound_w)
WRITE8_MEMBER(aquarium_state::aquarium_z80_bank_w)
{
- memory_set_bank(machine(), "bank1", data & 0x07);
+ subbank("bank1")->set_entry(data & 0x07);
}
static UINT8 aquarium_snd_bitswap( UINT8 scrambled_data )
@@ -276,8 +276,8 @@ static DRIVER_INIT( aquarium )
}
/* configure and set up the sound bank */
- memory_configure_bank(machine, "bank1", 0, 7, &Z80[0x18000], 0x8000);
- memory_set_bank(machine, "bank1", 1);
+ machine.root_device().subbank("bank1")->configure_entries(0, 7, &Z80[0x18000], 0x8000);
+ machine.root_device().subbank("bank1")->set_entry(1);
}
diff --git a/src/mame/drivers/arcadia.c b/src/mame/drivers/arcadia.c
index 88790f1ac56..bce524293f1 100644
--- a/src/mame/drivers/arcadia.c
+++ b/src/mame/drivers/arcadia.c
@@ -104,7 +104,7 @@ WRITE16_MEMBER(arcadia_amiga_state::arcadia_multibios_change_game)
static WRITE8_DEVICE_HANDLER( arcadia_cia_0_porta_w )
{
/* switch banks as appropriate */
- memory_set_bank(device->machine(), "bank1", data & 1);
+ device->machine().root_device().subbank("bank1")->set_entry(data & 1);
/* swap the write handlers between ROM and bank 1 based on the bit */
if ((data & 1) == 0)
@@ -808,8 +808,8 @@ static void arcadia_init(running_machine &machine)
amiga_machine_config(machine, &arcadia_intf);
/* set up memory */
- memory_configure_bank(machine, "bank1", 0, 1, state->m_chip_ram, 0);
- memory_configure_bank(machine, "bank1", 1, 1, machine.region("user1")->base(), 0);
+ state->subbank("bank1")->configure_entry(0, state->m_chip_ram);
+ state->subbank("bank1")->configure_entry(1, machine.region("user1")->base());
/* OnePlay bios is encrypted, TenPlay is not */
biosrom = (UINT16 *)machine.region("user2")->base();
diff --git a/src/mame/drivers/argus.c b/src/mame/drivers/argus.c
index 56021c82582..abc88b44d90 100644
--- a/src/mame/drivers/argus.c
+++ b/src/mame/drivers/argus.c
@@ -180,7 +180,7 @@ WRITE8_MEMBER(argus_state::argus_bankselect_w)
int bankaddress;
bankaddress = 0x10000 + ((data & 7) * 0x4000);
- memory_set_bankptr(machine(), "bank1", &RAM[bankaddress]); /* Select 8 banks of 16k */
+ subbank("bank1")->set_base(&RAM[bankaddress]); /* Select 8 banks of 16k */
}
diff --git a/src/mame/drivers/aristmk5.c b/src/mame/drivers/aristmk5.c
index fe01592c350..721bfbb1024 100644
--- a/src/mame/drivers/aristmk5.c
+++ b/src/mame/drivers/aristmk5.c
@@ -289,8 +289,8 @@ WRITE32_MEMBER(aristmk5_state::sram_banksel_w)
4 pages of 32k for each sram chip.
*/
- memory_set_bank(machine(),"sram_bank", (data & 0xc0) >> 6);
- memory_set_bank(machine(),"sram_bank_nz", (data & 0xc0) >> 6);
+ subbank("sram_bank")->set_entry((data & 0xc0) >> 6);
+ subbank("sram_bank_nz")->set_entry((data & 0xc0) >> 6);
}
/* U.S games have no dram emulator enabled */
@@ -364,8 +364,8 @@ static DRIVER_INIT( aristmk5 )
archimedes_driver_init(machine);
- memory_configure_bank(machine, "sram_bank", 0, 4, &SRAM[0], 0x20000);
- memory_configure_bank(machine, "sram_bank_nz", 0, 4, &SRAM_NZ[0], 0x20000);
+ machine.root_device().subbank("sram_bank")->configure_entries(0, 4, &SRAM[0], 0x20000);
+ machine.root_device().subbank("sram_bank_nz")->configure_entries(0, 4, &SRAM_NZ[0], 0x20000);
}
diff --git a/src/mame/drivers/arkanoid.c b/src/mame/drivers/arkanoid.c
index 445fb3af81f..d1e6499beba 100644
--- a/src/mame/drivers/arkanoid.c
+++ b/src/mame/drivers/arkanoid.c
@@ -1671,7 +1671,7 @@ static DRIVER_INIT( hexa )
RAM[0x0126] = 0x00;
#endif
- memory_configure_bank(machine, "bank1", 0, 2, &RAM[0x10000], 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 2, &RAM[0x10000], 0x4000);
}
diff --git a/src/mame/drivers/ashnojoe.c b/src/mame/drivers/ashnojoe.c
index a0e2922f968..8ad07778fc0 100644
--- a/src/mame/drivers/ashnojoe.c
+++ b/src/mame/drivers/ashnojoe.c
@@ -287,7 +287,7 @@ static WRITE8_DEVICE_HANDLER( ym2203_write_a )
static WRITE8_DEVICE_HANDLER( ym2203_write_b )
{
- memory_set_bank(device->machine(), "bank4", data & 0x0f);
+ device->machine().root_device().subbank("bank4")->set_entry(data & 0x0f);
}
static const ym2203_interface ym2203_config =
@@ -463,9 +463,9 @@ ROM_END
static DRIVER_INIT( ashnojoe )
{
UINT8 *ROM = machine.region("adpcm")->base();
- memory_configure_bank(machine, "bank4", 0, 16, &ROM[0x00000], 0x8000);
+ machine.root_device().subbank("bank4")->configure_entries(0, 16, &ROM[0x00000], 0x8000);
- memory_set_bank(machine, "bank4", 0);
+ machine.root_device().subbank("bank4")->set_entry(0);
}
GAME( 1990, scessjoe, 0, ashnojoe, ashnojoe, ashnojoe, ROT0, "Wave / Taito Corporation", "Success Joe (World)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/astrocde.c b/src/mame/drivers/astrocde.c
index 9633916a32e..58333a69139 100644
--- a/src/mame/drivers/astrocde.c
+++ b/src/mame/drivers/astrocde.c
@@ -428,7 +428,7 @@ WRITE8_MEMBER(astrocde_state::profpac_banksw_w)
/* set the main banking */
prog_space->install_read_bank(0x4000, 0xbfff, "bank1");
- memory_set_bankptr(machine(), "bank1", machine().region("user1")->base() + 0x8000 * bank);
+ subbank("bank1")->set_base(machine().region("user1")->base() + 0x8000 * bank);
/* bank 0 reads video RAM in the 4000-7FFF range */
if (bank == 0)
@@ -444,7 +444,7 @@ WRITE8_MEMBER(astrocde_state::profpac_banksw_w)
if (bank < 0x28)
{
prog_space->install_read_bank(0x4000, 0x7fff, "bank2");
- memory_set_bankptr(machine(), "bank2", machine().region("user2")->base() + 0x4000 * bank);
+ subbank("bank2")->set_base(machine().region("user2")->base() + 0x4000 * bank);
}
else
prog_space->unmap_read(0x4000, 0x7fff);
diff --git a/src/mame/drivers/asuka.c b/src/mame/drivers/asuka.c
index 4d4d690849b..a50ea060b8a 100644
--- a/src/mame/drivers/asuka.c
+++ b/src/mame/drivers/asuka.c
@@ -249,12 +249,12 @@ static INTERRUPT_GEN( cadash_interrupt )
WRITE8_MEMBER(asuka_state::sound_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data & 0x03);
+ subbank("bank1")->set_entry(data & 0x03);
}
static WRITE8_DEVICE_HANDLER( sound_bankswitch_2151_w )
{
- memory_set_bank(device->machine(), "bank1", data & 0x03);
+ device->machine().root_device().subbank("bank1")->set_entry(data & 0x03);
}
@@ -842,8 +842,8 @@ static MACHINE_START( asuka )
state->m_tc0100scn = machine.device("tc0100scn");
/* configure the banks */
- memory_configure_bank(machine, "bank1", 0, 1, machine.region("audiocpu")->base(), 0);
- memory_configure_bank(machine, "bank1", 1, 3, machine.region("audiocpu")->base() + 0x10000, 0x04000);
+ state->subbank("bank1")->configure_entry(0, machine.region("audiocpu")->base());
+ state->subbank("bank1")->configure_entries(1, 3, machine.region("audiocpu")->base() + 0x10000, 0x04000);
state->save_item(NAME(state->m_adpcm_pos));
state->save_item(NAME(state->m_adpcm_data));
diff --git a/src/mame/drivers/atarisy4.c b/src/mame/drivers/atarisy4.c
index 5aec6b4c071..ed0093ed3de 100644
--- a/src/mame/drivers/atarisy4.c
+++ b/src/mame/drivers/atarisy4.c
@@ -583,7 +583,7 @@ WRITE16_MEMBER(atarisy4_state::dsp0_bank_w)
}
data &= 0x3800;
- memory_set_bankptr(machine(), "dsp0_bank1", &m_shared_ram[0][data]);
+ subbank("dsp0_bank1")->set_base(&m_shared_ram[0][data]);
m_dsp_bank[0] = data;
}
@@ -617,7 +617,7 @@ WRITE16_MEMBER(atarisy4_state::dsp1_bank_w)
}
data &= 0x3800;
- memory_set_bankptr(machine(), "dsp1_bank1", &m_shared_ram[1][data]);
+ subbank("dsp1_bank1")->set_base(&m_shared_ram[1][data]);
m_dsp_bank[1] = data;
}
@@ -973,8 +973,8 @@ static DRIVER_INIT( laststar )
load_hexfile(main, machine.region("data")->base());
/* Set up the DSP */
- memory_set_bankptr(machine, "dsp0_bank0", state->m_shared_ram[0]);
- memory_set_bankptr(machine, "dsp0_bank1", &state->m_shared_ram[0][0x800]);
+ state->subbank("dsp0_bank0")->set_base(state->m_shared_ram[0]);
+ state->subbank("dsp0_bank1")->set_base(&state->m_shared_ram[0][0x800]);
load_ldafile(machine.device("dsp0")->memory().space(AS_PROGRAM), machine.region("dsp")->base());
}
@@ -989,13 +989,13 @@ static DRIVER_INIT( airrace )
load_hexfile(machine.device("maincpu")->memory().space(AS_PROGRAM), machine.region("code")->base());
/* Set up the first DSP */
- memory_set_bankptr(machine, "dsp0_bank0", state->m_shared_ram[0]);
- memory_set_bankptr(machine, "dsp0_bank1", &state->m_shared_ram[0][0x800]);
+ state->subbank("dsp0_bank0")->set_base(state->m_shared_ram[0]);
+ state->subbank("dsp0_bank1")->set_base(&state->m_shared_ram[0][0x800]);
load_ldafile(machine.device("dsp0")->memory().space(AS_PROGRAM), machine.region("dsp")->base());
/* Set up the second DSP */
- memory_set_bankptr(machine, "dsp1_bank0", state->m_shared_ram[1]);
- memory_set_bankptr(machine, "dsp1_bank1", &state->m_shared_ram[1][0x800]);
+ state->subbank("dsp1_bank0")->set_base(state->m_shared_ram[1]);
+ state->subbank("dsp1_bank1")->set_base(&state->m_shared_ram[1][0x800]);
load_ldafile(machine.device("dsp1")->memory().space(AS_PROGRAM), machine.region("dsp")->base());
}
diff --git a/src/mame/drivers/battlnts.c b/src/mame/drivers/battlnts.c
index 0362b11c51a..d45e1d9e642 100644
--- a/src/mame/drivers/battlnts.c
+++ b/src/mame/drivers/battlnts.c
@@ -40,7 +40,7 @@ WRITE8_MEMBER(battlnts_state::battlnts_sh_irqtrigger_w)
WRITE8_MEMBER(battlnts_state::battlnts_bankswitch_w)
{
/* bits 6 & 7 = bank number */
- memory_set_bank(machine(), "bank1", (data & 0xc0) >> 6);
+ subbank("bank1")->set_entry((data & 0xc0) >> 6);
/* bits 4 & 5 = coin counters */
coin_counter_w(machine(), 0, data & 0x10);
@@ -226,7 +226,7 @@ static MACHINE_START( battlnts )
battlnts_state *state = machine.driver_data<battlnts_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
state->m_audiocpu = machine.device("audiocpu");
state->m_k007342 = machine.device("k007342");
diff --git a/src/mame/drivers/bfcobra.c b/src/mame/drivers/bfcobra.c
index 37b57e1f2ac..61ed81f5295 100644
--- a/src/mame/drivers/bfcobra.c
+++ b/src/mame/drivers/bfcobra.c
@@ -1023,15 +1023,15 @@ INLINE void z80_bank(running_machine &machine, int num, int data)
{
UINT32 offset = ((state->m_bank_data[0] >> 1) * 0x20000) + ((0x4000 * data) ^ ((state->m_bank_data[0] & 1) ? 0 : 0x10000));
- memory_set_bankptr(machine, bank_names[num - 1], machine.region("user1")->base() + offset);
+ state->subbank(bank_names[num - 1])->set_base(machine.region("user1")->base() + offset);
}
else if (data < 0x10)
{
- memory_set_bankptr(machine, bank_names[num - 1], &state->m_video_ram[(data - 0x08) * 0x4000]);
+ state->subbank(bank_names[num - 1])->set_base(&state->m_video_ram[(data - 0x08) * 0x4000]);
}
else
{
- memory_set_bankptr(machine, bank_names[num - 1], &state->m_work_ram[(data - 0x10) * 0x4000]);
+ state->subbank(bank_names[num - 1])->set_base(&state->m_work_ram[(data - 0x10) * 0x4000]);
}
}
@@ -1735,7 +1735,7 @@ static DRIVER_INIT( bfcobra )
state->m_bank_data[3] = 0;
/* Fixed 16kB ROM region */
- memory_set_bankptr(machine, "bank4", machine.region("user1")->base());
+ state->subbank("bank4")->set_base(machine.region("user1")->base());
/* TODO: Properly sort out the data ACIA */
state->m_data_r = 1;
diff --git a/src/mame/drivers/bfm_sc1.c b/src/mame/drivers/bfm_sc1.c
index 4eeeed09fd8..0c63d0bad02 100644
--- a/src/mame/drivers/bfm_sc1.c
+++ b/src/mame/drivers/bfm_sc1.c
@@ -192,7 +192,7 @@ static int Scorpion1_GetSwitchState(bfm_sc1_state *drvstate, int strobe, int dat
WRITE8_MEMBER(bfm_sc1_state::bankswitch_w)
{
// printf("bankswitch %02x\n", data);
- memory_set_bank(machine(),"bank1",data & 0x03);
+ subbank("bank1")->set_entry(data & 0x03);
}
///////////////////////////////////////////////////////////////////////////
@@ -670,8 +670,8 @@ static MACHINE_RESET( bfm_sc1 )
{
UINT8 *rom = machine.region("maincpu")->base();
- memory_configure_bank(machine,"bank1", 0, 4, &rom[0x0000], 0x02000);
- memory_set_bank(machine,"bank1",state->m_defaultbank);
+ state->subbank("bank1")->configure_entries(0, 4, &rom[0x0000], 0x02000);
+ state->subbank("bank1")->set_entry(state->m_defaultbank);
}
}
diff --git a/src/mame/drivers/bfm_sc2.c b/src/mame/drivers/bfm_sc2.c
index 72b546dd356..08e6d2b1bb4 100644
--- a/src/mame/drivers/bfm_sc2.c
+++ b/src/mame/drivers/bfm_sc2.c
@@ -380,9 +380,9 @@ static void on_scorpion2_reset(running_machine &machine)
{
UINT8 *rom = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 4, &rom[0x00000], 0x02000);
+ state->subbank("bank1")->configure_entries(0, 4, &rom[0x00000], 0x02000);
- memory_set_bank(machine, "bank1",3);
+ state->subbank("bank1")->set_entry(3);
}
}
@@ -476,7 +476,7 @@ static NVRAM_HANDLER( bfm_sc2 )
WRITE8_MEMBER(bfm_sc2_state::bankswitch_w)
{
- memory_set_bank(machine(), "bank1",data & 0x03);
+ subbank("bank1")->set_entry(data & 0x03);
}
///////////////////////////////////////////////////////////////////////////
diff --git a/src/mame/drivers/bigevglf.c b/src/mame/drivers/bigevglf.c
index 8607f9546d3..40d60caff00 100644
--- a/src/mame/drivers/bigevglf.c
+++ b/src/mame/drivers/bigevglf.c
@@ -70,7 +70,7 @@ WRITE8_MEMBER(bigevglf_state::beg_banking_w)
/* d0-d3 connect to A11-A14 of the ROMs (via ls273 latch)
d4-d7 select one of ROMs (via ls273(above) and then ls154)
*/
- memory_set_bank(machine(), "bank1", m_beg_bank & 0xff); /* empty sockets for IC37-IC44 ROMS */
+ subbank("bank1")->set_entry(m_beg_bank & 0xff); /* empty sockets for IC37-IC44 ROMS */
}
static TIMER_CALLBACK( from_sound_latch_callback )
@@ -620,7 +620,7 @@ ROM_END
static DRIVER_INIT( bigevglf )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 0xff, &ROM[0x10000], 0x800);
+ machine.root_device().subbank("bank1")->configure_entries(0, 0xff, &ROM[0x10000], 0x800);
}
GAME( 1986, bigevglf, 0, bigevglf, bigevglf, bigevglf, ROT270, "Taito America Corporation", "Big Event Golf (US)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/bladestl.c b/src/mame/drivers/bladestl.c
index 5fad42eec8c..9058db4577f 100644
--- a/src/mame/drivers/bladestl.c
+++ b/src/mame/drivers/bladestl.c
@@ -80,7 +80,7 @@ WRITE8_MEMBER(bladestl_state::bladestl_bankswitch_w)
/* bit 4 = relay (???) */
/* bits 5-6 = bank number */
- memory_set_bank(machine(), "bank1", (data & 0x60) >> 5);
+ subbank("bank1")->set_entry((data & 0x60) >> 5);
/* bit 7 = select sprite bank */
m_spritebank = (data & 0x80) << 3;
@@ -303,7 +303,7 @@ static MACHINE_START( bladestl )
bladestl_state *state = machine.driver_data<bladestl_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x10000], 0x2000);
+ state->subbank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x2000);
state->m_audiocpu = machine.device("audiocpu");
state->m_k007342 = machine.device("k007342");
diff --git a/src/mame/drivers/blktiger.c b/src/mame/drivers/blktiger.c
index 9a329b9c451..4bccca8a40a 100644
--- a/src/mame/drivers/blktiger.c
+++ b/src/mame/drivers/blktiger.c
@@ -54,7 +54,7 @@ WRITE8_MEMBER(blktiger_state::blktiger_to_main_w)
WRITE8_MEMBER(blktiger_state::blktiger_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data & 0x0f);
+ subbank("bank1")->set_entry(data & 0x0f);
}
WRITE8_MEMBER(blktiger_state::blktiger_coinlockout_w)
@@ -283,7 +283,7 @@ static MACHINE_START( blktiger )
state->m_mcu = machine.device("mcu");
/* configure bankswitching */
- memory_configure_bank(machine, "bank1", 0, 16, machine.region("maincpu")->base() + 0x10000, 0x4000);
+ state->subbank("bank1")->configure_entries(0, 16, machine.region("maincpu")->base() + 0x10000, 0x4000);
state->save_item(NAME(state->m_scroll_bank));
state->save_item(NAME(state->m_screen_layout));
@@ -301,7 +301,7 @@ static MACHINE_RESET( blktiger )
blktiger_state *state = machine.driver_data<blktiger_state>();
/* configure bankswitching */
- memory_configure_bank(machine, "bank1", 0, 16, machine.region("maincpu")->base() + 0x10000, 0x4000);
+ state->subbank("bank1")->configure_entries(0, 16, machine.region("maincpu")->base() + 0x10000, 0x4000);
state->m_scroll_x[0] = 0;
state->m_scroll_x[1] = 0;
diff --git a/src/mame/drivers/blockhl.c b/src/mame/drivers/blockhl.c
index 6c73caea151..a6cb29dad8c 100644
--- a/src/mame/drivers/blockhl.c
+++ b/src/mame/drivers/blockhl.c
@@ -191,7 +191,7 @@ static MACHINE_START( blockhl )
blockhl_state *state = machine.driver_data<blockhl_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x10000], 0x2000);
+ state->subbank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x2000);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");
@@ -318,7 +318,7 @@ static KONAMI_SETLINES_CALLBACK( blockhl_banking )
/* bits 0-1 = ROM bank */
state->m_rombank = lines & 0x03;
- memory_set_bank(device->machine(), "bank1", state->m_rombank);
+ state->subbank("bank1")->set_entry(state->m_rombank);
/* bits 3/4 = coin counters */
coin_counter_w(device->machine(), 0, lines & 0x08);
diff --git a/src/mame/drivers/bnstars.c b/src/mame/drivers/bnstars.c
index 17379c03ca5..5d0981cda16 100644
--- a/src/mame/drivers/bnstars.c
+++ b/src/mame/drivers/bnstars.c
@@ -1487,7 +1487,7 @@ static DRIVER_INIT (bnstars)
decrypt_ms32_tx(machine, 0x00020,0x7e, "gfx7");
decrypt_ms32_bg(machine, 0x00001,0x9b, "gfx6");
- memory_set_bankptr(machine, "bank1", machine.region("maincpu")->base());
+ machine.root_device().subbank("bank1")->set_base(machine.region("maincpu")->base());
}
GAME( 1997, bnstars1, 0, bnstars, bnstars, bnstars, ROT0, "Jaleco", "Vs. Janshi Brandnew Stars", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND )
diff --git a/src/mame/drivers/bottom9.c b/src/mame/drivers/bottom9.c
index c81401c9bc4..275493cbf89 100644
--- a/src/mame/drivers/bottom9.c
+++ b/src/mame/drivers/bottom9.c
@@ -110,7 +110,7 @@ WRITE8_MEMBER(bottom9_state::bankswitch_w)
else
bank = ((data & 0x0e) >> 1);
- memory_set_bank(machine(), "bank1", bank);
+ subbank("bank1")->set_entry(bank);
}
WRITE8_MEMBER(bottom9_state::bottom9_1f90_w)
@@ -324,7 +324,7 @@ static MACHINE_START( bottom9 )
bottom9_state *state = machine.driver_data<bottom9_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 12, &ROM[0x10000], 0x2000);
+ state->subbank("bank1")->configure_entries(0, 12, &ROM[0x10000], 0x2000);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");
diff --git a/src/mame/drivers/brkthru.c b/src/mame/drivers/brkthru.c
index ab70cd9803b..60857d8348b 100644
--- a/src/mame/drivers/brkthru.c
+++ b/src/mame/drivers/brkthru.c
@@ -661,7 +661,7 @@ ROM_END
static DRIVER_INIT( brkthru )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x2000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x2000);
}
/*************************************
diff --git a/src/mame/drivers/btime.c b/src/mame/drivers/btime.c
index f222f92f901..3a97b80efe8 100644
--- a/src/mame/drivers/btime.c
+++ b/src/mame/drivers/btime.c
@@ -2164,7 +2164,7 @@ static DRIVER_INIT( cookrace )
decrypt_C10707_cpu(machine, "maincpu");
machine.device("audiocpu")->memory().space(AS_PROGRAM)->install_read_bank(0x0200, 0x0fff, "bank10");
- memory_set_bankptr(machine, "bank10", machine.region("audiocpu")->base() + 0xe200);
+ state->subbank("bank10")->set_base(machine.region("audiocpu")->base() + 0xe200);
state->m_audio_nmi_enable_type = AUDIO_ENABLE_DIRECT;
}
@@ -2183,7 +2183,7 @@ static DRIVER_INIT( wtennis )
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xc15f, 0xc15f, read8_delegate(FUNC(btime_state::wtennis_reset_hack_r),state));
machine.device("audiocpu")->memory().space(AS_PROGRAM)->install_read_bank(0x0200, 0x0fff, "bank10");
- memory_set_bankptr(machine, "bank10", machine.region("audiocpu")->base() + 0xe200);
+ state->subbank("bank10")->set_base(machine.region("audiocpu")->base() + 0xe200);
state->m_audio_nmi_enable_type = AUDIO_ENABLE_AY8910;
}
diff --git a/src/mame/drivers/bublbobl.c b/src/mame/drivers/bublbobl.c
index 889c34c7781..9aeae9d9bd2 100644
--- a/src/mame/drivers/bublbobl.c
+++ b/src/mame/drivers/bublbobl.c
@@ -1553,7 +1553,7 @@ ROM_END
static void configure_banks( running_machine& machine )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
}
static DRIVER_INIT( bublbobl )
diff --git a/src/mame/drivers/buggychl.c b/src/mame/drivers/buggychl.c
index bd6f7de5d70..6291d60d42f 100644
--- a/src/mame/drivers/buggychl.c
+++ b/src/mame/drivers/buggychl.c
@@ -88,7 +88,7 @@ Dip locations and factory settings verified from dip listing
WRITE8_MEMBER(buggychl_state::bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data & 0x07); // shall we check if data&7 < # banks?
+ subbank("bank1")->set_entry(data & 0x07); // shall we check if data&7 < # banks?
}
static TIMER_CALLBACK( nmi_callback )
@@ -361,7 +361,7 @@ static MACHINE_START( buggychl )
buggychl_state *state = machine.driver_data<buggychl_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 6, &ROM[0x10000], 0x2000);
+ state->subbank("bank1")->configure_entries(0, 6, &ROM[0x10000], 0x2000);
state->m_audiocpu = machine.device("audiocpu");
diff --git a/src/mame/drivers/cabal.c b/src/mame/drivers/cabal.c
index 9da0b2ff0db..429d757e5d5 100644
--- a/src/mame/drivers/cabal.c
+++ b/src/mame/drivers/cabal.c
@@ -851,7 +851,7 @@ static void seibu_sound_bootleg(running_machine &machine,const char *cpu,int len
memcpy(decrypt, rom+length, length);
if (length > 0x10000)
- memory_configure_bank_decrypted(machine, "bank1", 0, (length - 0x10000) / 0x8000, decrypt + 0x10000, 0x8000);
+ machine.root_device().subbank("bank1")->configure_decrypted_entries(0, (length - 0x10000) / 0x8000, decrypt + 0x10000, 0x8000);
}
diff --git a/src/mame/drivers/calchase.c b/src/mame/drivers/calchase.c
index 2dc86671606..8a4756f33d1 100644
--- a/src/mame/drivers/calchase.c
+++ b/src/mame/drivers/calchase.c
@@ -339,7 +339,7 @@ static void mxtc_config_w(device_t *busdevice, device_t *device, int function, i
//if (data & 0x10) // enable RAM access to region 0xf0000 - 0xfffff
if ((data & 0x50) | (data & 0xA0))
{
- memory_set_bankptr(busdevice->machine(), "bank1", state->m_bios_ram);
+ state->subbank("bank1")->set_base(state->m_bios_ram);
}
else // disable RAM access (reads go to BIOS ROM)
{
@@ -352,8 +352,8 @@ static void mxtc_config_w(device_t *busdevice, device_t *device, int function, i
}
#endif
- //memory_set_bankptr(busdevice->machine(), "bank1", busdevice->machine().region("bios")->base() + 0x10000);
- memory_set_bankptr(busdevice->machine(), "bank1", busdevice->machine().region("bios")->base());
+ state->subbank("bank1")->set_base(busdevice->machine().region("bios")->base() + 0x10000);
+ state->subbank("bank1")->set_base(busdevice->machine().region("bios")->base());
}
break;
}
@@ -865,8 +865,8 @@ static const struct pit8253_config calchase_pit8254_config =
static MACHINE_RESET(calchase)
{
- //memory_set_bankptr(machine, "bank1", machine.region("bios")->base() + 0x10000);
- memory_set_bankptr(machine, "bank1", machine.region("bios")->base());
+ //machine.root_device().subbank("bank1")->set_base(machine.region("bios")->base() + 0x10000);
+ machine.root_device().subbank("bank1")->set_base(machine.region("bios")->base());
}
static void set_gate_a20(running_machine &machine, int a20)
diff --git a/src/mame/drivers/capbowl.c b/src/mame/drivers/capbowl.c
index b300a99f9c6..a7c4d42c0ee 100644
--- a/src/mame/drivers/capbowl.c
+++ b/src/mame/drivers/capbowl.c
@@ -139,7 +139,7 @@ static TIMER_CALLBACK( capbowl_update )
WRITE8_MEMBER(capbowl_state::capbowl_rom_select_w)
{
// 2009-11 FP: shall we add a check to be sure that bank < 6?
- memory_set_bank(machine(), "bank1", ((data & 0x0c) >> 1) + (data & 0x01));
+ subbank("bank1")->set_entry(((data & 0x0c) >> 1) + (data & 0x01));
}
@@ -502,7 +502,7 @@ static DRIVER_INIT( capbowl )
UINT8 *ROM = machine.region("maincpu")->base();
/* configure ROM banks in 0x0000-0x3fff */
- memory_configure_bank(machine, "bank1", 0, 6, &ROM[0x10000], 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 6, &ROM[0x10000], 0x4000);
}
diff --git a/src/mame/drivers/cave.c b/src/mame/drivers/cave.c
index 452848c10ba..5f74d564421 100644
--- a/src/mame/drivers/cave.c
+++ b/src/mame/drivers/cave.c
@@ -1047,15 +1047,15 @@ WRITE8_MEMBER(cave_state::hotdogst_rombank_w)
if (data & ~0x0f)
logerror("CPU #1 - PC %04X: Bank %02X\n", cpu_get_pc(&space.device()), data);
- memory_set_bank(machine(), "bank2", data & 0x0f);
+ subbank("bank2")->set_entry(data & 0x0f);
}
WRITE8_MEMBER(cave_state::hotdogst_okibank_w)
{
int bank1 = (data >> 0) & 0x3;
int bank2 = (data >> 4) & 0x3;
- memory_set_bank(machine(), "bank3", bank1);
- memory_set_bank(machine(), "bank4", bank2);
+ subbank("bank3")->set_entry(bank1);
+ subbank("bank4")->set_entry(bank2);
}
static ADDRESS_MAP_START( hotdogst_sound_map, AS_PROGRAM, 8, cave_state )
@@ -1084,7 +1084,7 @@ WRITE8_MEMBER(cave_state::mazinger_rombank_w)
if (data & ~0x07)
logerror("CPU #1 - PC %04X: Bank %02X\n", cpu_get_pc(&space.device()), data);
- memory_set_bank(machine(), "bank2", data & 0x07);
+ subbank("bank2")->set_entry(data & 0x07);
}
static ADDRESS_MAP_START( mazinger_sound_map, AS_PROGRAM, 8, cave_state )
@@ -1115,23 +1115,23 @@ WRITE8_MEMBER(cave_state::metmqstr_rombank_w)
if (data & ~0x0f)
logerror("CPU #1 - PC %04X: Bank %02X\n", cpu_get_pc(&space.device()), data);
- memory_set_bank(machine(), "bank1", data & 0x0f);
+ subbank("bank1")->set_entry(data & 0x0f);
}
WRITE8_MEMBER(cave_state::metmqstr_okibank0_w)
{
int bank1 = (data >> 0) & 0x7;
int bank2 = (data >> 4) & 0x7;
- memory_set_bank(machine(), "bank3", bank1);
- memory_set_bank(machine(), "bank4", bank2);
+ subbank("bank3")->set_entry(bank1);
+ subbank("bank4")->set_entry(bank2);
}
WRITE8_MEMBER(cave_state::metmqstr_okibank1_w)
{
int bank1 = (data >> 0) & 0x7;
int bank2 = (data >> 4) & 0x7;
- memory_set_bank(machine(), "bank5", bank1);
- memory_set_bank(machine(), "bank6", bank2);
+ subbank("bank5")->set_entry(bank1);
+ subbank("bank6")->set_entry(bank2);
}
static ADDRESS_MAP_START( metmqstr_sound_map, AS_PROGRAM, 8, cave_state )
@@ -1163,7 +1163,7 @@ WRITE8_MEMBER(cave_state::pwrinst2_rombank_w)
if (data & ~0x07)
logerror("CPU #1 - PC %04X: Bank %02X\n", cpu_get_pc(&space.device()), data);
- memory_set_bank(machine(), "bank1", data & 0x07);
+ subbank("bank1")->set_entry(data & 0x07);
}
static ADDRESS_MAP_START( pwrinst2_sound_map, AS_PROGRAM, 8, cave_state )
@@ -1205,23 +1205,23 @@ WRITE8_MEMBER(cave_state::sailormn_rombank_w)
if (data & ~0x1f)
logerror("CPU #1 - PC %04X: Bank %02X\n", cpu_get_pc(&space.device()), data);
- memory_set_bank(machine(), "bank1", data & 0x1f);
+ subbank("bank1")->set_entry(data & 0x1f);
}
WRITE8_MEMBER(cave_state::sailormn_okibank0_w)
{
int bank1 = (data >> 0) & 0xf;
int bank2 = (data >> 4) & 0xf;
- memory_set_bank(machine(), "bank3", bank1);
- memory_set_bank(machine(), "bank4", bank2);
+ subbank("bank3")->set_entry(bank1);
+ subbank("bank4")->set_entry(bank2);
}
WRITE8_MEMBER(cave_state::sailormn_okibank1_w)
{
int bank1 = (data >> 0) & 0xf;
int bank2 = (data >> 4) & 0xf;
- memory_set_bank(machine(), "bank5", bank1);
- memory_set_bank(machine(), "bank6", bank2);
+ subbank("bank5")->set_entry(bank1);
+ subbank("bank6")->set_entry(bank2);
}
static ADDRESS_MAP_START( sailormn_sound_map, AS_PROGRAM, 8, cave_state )
@@ -4449,16 +4449,16 @@ static DRIVER_INIT( agallet )
UINT8 *ROM = machine.region("audiocpu")->base();
init_cave(machine);
- memory_configure_bank(machine, "bank1", 0, 0x02, &ROM[0x00000], 0x4000);
- memory_configure_bank(machine, "bank1", 2, 0x1e, &ROM[0x10000], 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 0x02, &ROM[0x00000], 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(2, 0x1e, &ROM[0x10000], 0x4000);
ROM = machine.region("oki1")->base();
- memory_configure_bank(machine, "bank3", 0, 0x10, &ROM[0x00000], 0x20000);
- memory_configure_bank(machine, "bank4", 0, 0x10, &ROM[0x00000], 0x20000);
+ machine.root_device().subbank("bank3")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
+ machine.root_device().subbank("bank4")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
ROM = machine.region("oki2")->base();
- memory_configure_bank(machine, "bank5", 0, 0x10, &ROM[0x00000], 0x20000);
- memory_configure_bank(machine, "bank6", 0, 0x10, &ROM[0x00000], 0x20000);
+ machine.root_device().subbank("bank5")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
+ machine.root_device().subbank("bank6")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
sailormn_unpack_tiles(machine, "layer2");
@@ -4548,12 +4548,12 @@ static DRIVER_INIT( hotdogst )
init_cave(machine);
- memory_configure_bank(machine, "bank2", 0, 0x2, &ROM[0x00000], 0x4000);
- memory_configure_bank(machine, "bank2", 2, 0xe, &ROM[0x10000], 0x4000);
+ state->subbank("bank2")->configure_entries(0, 0x2, &ROM[0x00000], 0x4000);
+ state->subbank("bank2")->configure_entries(2, 0xe, &ROM[0x10000], 0x4000);
ROM = machine.region("oki")->base();
- memory_configure_bank(machine, "bank3", 0, 4, &ROM[0x00000], 0x20000);
- memory_configure_bank(machine, "bank4", 0, 4, &ROM[0x00000], 0x20000);
+ state->subbank("bank3")->configure_entries(0, 4, &ROM[0x00000], 0x20000);
+ state->subbank("bank4")->configure_entries(0, 4, &ROM[0x00000], 0x20000);
unpack_sprites(machine);
state->m_spritetype[0] = 2; // Normal sprites with different position handling
@@ -4570,12 +4570,12 @@ static DRIVER_INIT( mazinger )
init_cave(machine);
- memory_configure_bank(machine, "bank2", 0, 2, &ROM[0x00000], 0x4000);
- memory_configure_bank(machine, "bank2", 2, 6, &ROM[0x10000], 0x4000);
+ state->subbank("bank2")->configure_entries(0, 2, &ROM[0x00000], 0x4000);
+ state->subbank("bank2")->configure_entries(2, 6, &ROM[0x10000], 0x4000);
ROM = machine.region("oki")->base();
- memory_configure_bank(machine, "bank3", 0, 4, &ROM[0x00000], 0x20000);
- memory_configure_bank(machine, "bank4", 0, 4, &ROM[0x00000], 0x20000);
+ state->subbank("bank3")->configure_entries(0, 4, &ROM[0x00000], 0x20000);
+ state->subbank("bank4")->configure_entries(0, 4, &ROM[0x00000], 0x20000);
/* decrypt sprites */
buffer = auto_alloc_array(machine, UINT8, len);
@@ -4593,7 +4593,7 @@ static DRIVER_INIT( mazinger )
state->m_time_vblank_irq = 2100;
/* setup extra ROM */
- memory_set_bankptr(machine, "bank1",machine.region("user1")->base());
+ state->subbank("bank1")->set_base(machine.region("user1")->base());
}
@@ -4604,16 +4604,16 @@ static DRIVER_INIT( metmqstr )
init_cave(machine);
- memory_configure_bank(machine, "bank1", 0, 0x2, &ROM[0x00000], 0x4000);
- memory_configure_bank(machine, "bank1", 2, 0xe, &ROM[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 0x2, &ROM[0x00000], 0x4000);
+ state->subbank("bank1")->configure_entries(2, 0xe, &ROM[0x10000], 0x4000);
ROM = machine.region("oki1")->base();
- memory_configure_bank(machine, "bank3", 0, 8, &ROM[0x00000], 0x20000);
- memory_configure_bank(machine, "bank4", 0, 8, &ROM[0x00000], 0x20000);
+ state->subbank("bank3")->configure_entries(0, 8, &ROM[0x00000], 0x20000);
+ state->subbank("bank4")->configure_entries(0, 8, &ROM[0x00000], 0x20000);
ROM = machine.region("oki2")->base();
- memory_configure_bank(machine, "bank5", 0, 8, &ROM[0x00000], 0x20000);
- memory_configure_bank(machine, "bank6", 0, 8, &ROM[0x00000], 0x20000);
+ state->subbank("bank5")->configure_entries(0, 8, &ROM[0x00000], 0x20000);
+ state->subbank("bank6")->configure_entries(0, 8, &ROM[0x00000], 0x20000);
unpack_sprites(machine);
state->m_spritetype[0] = 2; // Normal sprites with different position handling
@@ -4633,8 +4633,8 @@ static DRIVER_INIT( pwrinst2j )
init_cave(machine);
- memory_configure_bank(machine, "bank1", 0, 3, &ROM[0x00000], 0x4000);
- memory_configure_bank(machine, "bank1", 3, 5, &ROM[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 3, &ROM[0x00000], 0x4000);
+ state->subbank("bank1")->configure_entries(3, 5, &ROM[0x10000], 0x4000);
buffer = auto_alloc_array(machine, UINT8, len);
{
@@ -4681,16 +4681,16 @@ static DRIVER_INIT( sailormn )
init_cave(machine);
- memory_configure_bank(machine, "bank1", 0, 0x02, &ROM[0x00000], 0x4000);
- memory_configure_bank(machine, "bank1", 2, 0x1e, &ROM[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 0x02, &ROM[0x00000], 0x4000);
+ state->subbank("bank1")->configure_entries(2, 0x1e, &ROM[0x10000], 0x4000);
ROM = machine.region("oki1")->base();
- memory_configure_bank(machine, "bank3", 0, 0x10, &ROM[0x00000], 0x20000);
- memory_configure_bank(machine, "bank4", 0, 0x10, &ROM[0x00000], 0x20000);
+ state->subbank("bank3")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
+ state->subbank("bank4")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
ROM = machine.region("oki2")->base();
- memory_configure_bank(machine, "bank5", 0, 0x10, &ROM[0x00000], 0x20000);
- memory_configure_bank(machine, "bank6", 0, 0x10, &ROM[0x00000], 0x20000);
+ state->subbank("bank5")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
+ state->subbank("bank6")->configure_entries(0, 0x10, &ROM[0x00000], 0x20000);
/* decrypt sprites */
buffer = auto_alloc_array(machine, UINT8, len);
diff --git a/src/mame/drivers/cbasebal.c b/src/mame/drivers/cbasebal.c
index 80ff78be71a..beadf99fbaa 100644
--- a/src/mame/drivers/cbasebal.c
+++ b/src/mame/drivers/cbasebal.c
@@ -32,7 +32,7 @@ WRITE8_MEMBER(cbasebal_state::cbasebal_bankswitch_w)
/* bits 0-4 select ROM bank */
//logerror("%04x: bankswitch %02x\n", cpu_get_pc(&space.device()), data);
- memory_set_bank(machine(), "bank1", data & 0x1f);
+ subbank("bank1")->set_entry(data & 0x1f);
/* bit 5 used but unknown */
@@ -243,7 +243,7 @@ static MACHINE_START( cbasebal )
{
cbasebal_state *state = machine.driver_data<cbasebal_state>();
- memory_configure_bank(machine, "bank1", 0, 32, machine.region("maincpu")->base() + 0x10000, 0x4000);
+ state->subbank("bank1")->configure_entries(0, 32, machine.region("maincpu")->base() + 0x10000, 0x4000);
state->save_item(NAME(state->m_rambank));
state->save_item(NAME(state->m_tilebank));
diff --git a/src/mame/drivers/ccastles.c b/src/mame/drivers/ccastles.c
index 7fb8a8918f5..88782243914 100644
--- a/src/mame/drivers/ccastles.c
+++ b/src/mame/drivers/ccastles.c
@@ -213,7 +213,7 @@ static MACHINE_START( ccastles )
machine.primary_screen->configure(320, 256, visarea, HZ_TO_ATTOSECONDS(PIXEL_CLOCK) * VTOTAL * HTOTAL);
/* configure the ROM banking */
- memory_configure_bank(machine, "bank1", 0, 2, machine.region("maincpu")->base() + 0xa000, 0x6000);
+ state->subbank("bank1")->configure_entries(0, 2, machine.region("maincpu")->base() + 0xa000, 0x6000);
/* create a timer for IRQs and set up the first callback */
state->m_irq_timer = machine.scheduler().timer_alloc(FUNC(clock_irq));
@@ -265,7 +265,7 @@ WRITE8_MEMBER(ccastles_state::ccounter_w)
WRITE8_MEMBER(ccastles_state::bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data & 1);
+ subbank("bank1")->set_entry(data & 1);
}
diff --git a/src/mame/drivers/cclimber.c b/src/mame/drivers/cclimber.c
index 13a4cde5e4d..8160f41394e 100644
--- a/src/mame/drivers/cclimber.c
+++ b/src/mame/drivers/cclimber.c
@@ -248,7 +248,7 @@ WRITE8_MEMBER(cclimber_state::toprollr_rombank_w)
m_toprollr_rombank |= (data & 1) << offset;
if (m_toprollr_rombank < 3)
- memory_set_bank(machine(), "bank1", m_toprollr_rombank);
+ subbank("bank1")->set_entry(m_toprollr_rombank);
}
static MACHINE_RESET( cclimber )
diff --git a/src/mame/drivers/cd32.c b/src/mame/drivers/cd32.c
index 7f16d4cc1a8..9a5f74d1ef6 100644
--- a/src/mame/drivers/cd32.c
+++ b/src/mame/drivers/cd32.c
@@ -56,7 +56,7 @@ WRITE32_MEMBER(cd32_state::aga_overlay_w)
data = (data >> 16) & 1;
/* switch banks as appropriate */
- memory_set_bank(machine(), "bank1", data & 1);
+ subbank("bank1")->set_entry(data & 1);
/* swap the write handlers between ROM and bank 1 based on the bit */
if ((data & 1) == 0)
@@ -853,8 +853,8 @@ static DRIVER_INIT( cd32 )
amiga_machine_config(machine, &cd32_intf);
/* set up memory */
- memory_configure_bank(machine, "bank1", 0, 1, state->m_chip_ram, 0);
- memory_configure_bank(machine, "bank1", 1, 1, machine.region("user1")->base(), 0);
+ state->subbank("bank1")->configure_entry(0, state->m_chip_ram);
+ state->subbank("bank1")->configure_entry(1, machine.region("user1")->base());
/* input hack */
state->m_input_hack = NULL;
@@ -1472,8 +1472,8 @@ static DRIVER_INIT( odeontw2 )
amiga_machine_config(machine, &cd32_intf);
/* set up memory */
- memory_configure_bank(machine, "bank1", 0, 1, state->m_chip_ram, 0);
- memory_configure_bank(machine, "bank1", 1, 1, machine.region("user1")->base(), 0);
+ state->subbank("bank1")->configure_entry(0, state->m_chip_ram);
+ state->subbank("bank1")->configure_entry(1, machine.region("user1")->base());
/* input hack */
state->m_input_hack = NULL;
diff --git a/src/mame/drivers/chaknpop.c b/src/mame/drivers/chaknpop.c
index 573d1a9fc41..5e1d9dd9a89 100644
--- a/src/mame/drivers/chaknpop.c
+++ b/src/mame/drivers/chaknpop.c
@@ -348,7 +348,7 @@ static MACHINE_START( chaknpop )
chaknpop_state *state = machine.driver_data<chaknpop_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 2, &ROM[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x4000);
state->save_item(NAME(state->m_gfxmode));
state->save_item(NAME(state->m_flip_x));
diff --git a/src/mame/drivers/cham24.c b/src/mame/drivers/cham24.c
index db5e6979b19..181aca86fe1 100644
--- a/src/mame/drivers/cham24.c
+++ b/src/mame/drivers/cham24.c
@@ -195,7 +195,7 @@ WRITE8_MEMBER(cham24_state::cham24_mapper_w)
UINT8* src = machine().region("user1")->base();
// switch PPU VROM bank
- memory_set_bankptr(machine(), "bank1", machine().region("gfx1")->base() + (0x2000 * gfx_bank));
+ subbank("bank1")->set_base(machine().region("gfx1")->base() + (0x2000 * gfx_bank));
// set gfx mirroring
cham24_set_mirroring(machine(), gfx_mirroring != 0 ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
@@ -312,7 +312,7 @@ static MACHINE_START( cham24 )
/* uses 8K swapping, all ROM!*/
machine.device("ppu")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x1fff, "bank1");
- memory_set_bankptr(machine, "bank1", machine.region("gfx1")->base());
+ state->subbank("bank1")->set_base(machine.region("gfx1")->base());
/* need nametable ram, though. I doubt this uses more than 2k, but it starts up configured for 4 */
state->m_nt_ram = auto_alloc_array(machine, UINT8, 0x1000);
diff --git a/src/mame/drivers/champbwl.c b/src/mame/drivers/champbwl.c
index 9c8215e4f8d..66d648aae6e 100644
--- a/src/mame/drivers/champbwl.c
+++ b/src/mame/drivers/champbwl.c
@@ -194,7 +194,7 @@ WRITE8_MEMBER(champbwl_state::champbwl_misc_w)
coin_lockout_w(machine(), 0, ~data & 8);
coin_lockout_w(machine(), 1, ~data & 4);
- memory_set_bank(machine(), "bank1", (data & 0x30) >> 4);
+ subbank("bank1")->set_entry((data & 0x30) >> 4);
}
static ADDRESS_MAP_START( champbwl_map, AS_PROGRAM, 8, champbwl_state )
@@ -231,7 +231,7 @@ WRITE8_MEMBER(champbwl_state::doraemon_outputs_w)
coin_lockout_w(machine(), 0, ~data & 8); // coin lockout
machine().device<ticket_dispenser_device>("hopper")->write(*&space, 0, (data & 0x04) ? 0x00 : 0x80); // gift out motor
- memory_set_bank(machine(), "bank1", (data & 0x30) >> 4);
+ subbank("bank1")->set_entry((data & 0x30) >> 4);
// popmessage("%02x", data);
}
@@ -434,7 +434,7 @@ static MACHINE_START( champbwl )
state->m_mcu = NULL;
- memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
state->save_item(NAME(state->m_screenflip));
state->save_item(NAME(state->m_last_trackball_val));
@@ -531,7 +531,7 @@ static SCREEN_VBLANK( doraemon )
static MACHINE_START( doraemon )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x10000], 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
}
static MACHINE_CONFIG_START( doraemon, tnzs_state )
diff --git a/src/mame/drivers/chanbara.c b/src/mame/drivers/chanbara.c
index 63a5d485465..c6d37710417 100644
--- a/src/mame/drivers/chanbara.c
+++ b/src/mame/drivers/chanbara.c
@@ -357,7 +357,7 @@ static WRITE8_DEVICE_HANDLER( chanbara_ay_out_1_w )
state->flip_screen_set(data & 0x02);
- memory_set_bank(device->machine(), "bank1", (data & 0x04) >> 2);
+ state->subbank("bank1")->set_entry((data & 0x04) >> 2);
//if (data & 0xf8) printf("chanbara_ay_out_1_w unused bits set %02x\n", data & 0xf8);
}
@@ -484,7 +484,7 @@ static DRIVER_INIT(chanbara )
dst[i + 0x2000] = (src[i + 0x1000] & 0x0f) << 4;
}
- memory_configure_bank(machine, "bank1", 0, 2, &bg[0x0000], 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 2, &bg[0x0000], 0x4000);
}
GAME( 1985, chanbara, 0, chanbara, chanbara, chanbara, ROT270, "Data East", "Chanbara", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/chinagat.c b/src/mame/drivers/chinagat.c
index cc8ca29118b..9220f873981 100644
--- a/src/mame/drivers/chinagat.c
+++ b/src/mame/drivers/chinagat.c
@@ -180,12 +180,12 @@ static WRITE8_HANDLER( chinagat_video_ctrl_w )
static WRITE8_HANDLER( chinagat_bankswitch_w )
{
- memory_set_bank(space->machine(), "bank1", data & 0x07); // shall we check (data & 7) < 6 (# of banks)?
+ space->machine().root_device().subbank("bank1")->set_entry(data & 0x07); // shall we check (data & 7) < 6 (# of banks)?
}
static WRITE8_HANDLER( chinagat_sub_bankswitch_w )
{
- memory_set_bank(space->machine(), "bank4", data & 0x07); // shall we check (data & 7) < 6 (# of banks)?
+ space->machine().root_device().subbank("bank4")->set_entry(data & 0x07); // shall we check (data & 7) < 6 (# of banks)?
}
static READ8_HANDLER( saiyugoub1_mcu_command_r )
@@ -531,7 +531,7 @@ static MACHINE_START( chinagat )
state->m_snd_cpu = machine.device("audiocpu");
/* configure banks */
- memory_configure_bank(machine, "bank1", 0, 8, machine.region("maincpu")->base() + 0x10000, 0x4000);
+ state->subbank("bank1")->configure_entries(0, 8, machine.region("maincpu")->base() + 0x10000, 0x4000);
/* register for save states */
state->save_item(NAME(state->m_scrollx_hi));
@@ -919,8 +919,8 @@ static DRIVER_INIT( chinagat )
state->m_sprite_irq = M6809_IRQ_LINE;
state->m_sound_irq = INPUT_LINE_NMI;
- memory_configure_bank(machine, "bank1", 0, 6, &MAIN[0x10000], 0x4000);
- memory_configure_bank(machine, "bank4", 0, 6, &SUB[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 6, &MAIN[0x10000], 0x4000);
+ state->subbank("bank4")->configure_entries(0, 6, &SUB[0x10000], 0x4000);
}
diff --git a/src/mame/drivers/chinsan.c b/src/mame/drivers/chinsan.c
index 913e0f7e772..6bf64f67ae9 100644
--- a/src/mame/drivers/chinsan.c
+++ b/src/mame/drivers/chinsan.c
@@ -119,7 +119,7 @@ static SCREEN_UPDATE_IND16( chinsan )
WRITE8_MEMBER(chinsan_state::ctrl_w)
{
- memory_set_bank(machine(), "bank1", data >> 6);
+ subbank("bank1")->set_entry(data >> 6);
}
static WRITE8_DEVICE_HANDLER( ym_port_w1 )
@@ -571,7 +571,7 @@ static MACHINE_START( chinsan )
{
chinsan_state *state = machine.driver_data<chinsan_state>();
- memory_configure_bank(machine, "bank1", 0, 4, machine.region("maincpu")->base() + 0x10000, 0x4000);
+ state->subbank("bank1")->configure_entries(0, 4, machine.region("maincpu")->base() + 0x10000, 0x4000);
state->save_item(NAME(state->m_adpcm_idle));
state->save_item(NAME(state->m_port_select));
diff --git a/src/mame/drivers/chqflag.c b/src/mame/drivers/chqflag.c
index 3a64597bab8..dd6ec6f4a83 100644
--- a/src/mame/drivers/chqflag.c
+++ b/src/mame/drivers/chqflag.c
@@ -44,14 +44,14 @@ WRITE8_MEMBER(chqflag_state::chqflag_bankswitch_w)
/* bits 0-4 = ROM bank # (0x00-0x11) */
bankaddress = 0x10000 + (data & 0x1f) * 0x4000;
- memory_set_bankptr(machine(), "bank4", &RAM[bankaddress]);
+ subbank("bank4")->set_base(&RAM[bankaddress]);
/* bit 5 = memory bank select */
if (data & 0x20)
{
space.install_read_bank(0x1800, 0x1fff, "bank5");
space.install_write_handler(0x1800, 0x1fff, write8_delegate(FUNC(driver_device::paletteram_xBBBBBGGGGGRRRRR_byte_be_w),this));
- memory_set_bankptr(machine(), "bank5", m_generic_paletteram_8);
+ subbank("bank5")->set_base(m_generic_paletteram_8);
if (m_k051316_readroms)
space.install_legacy_readwrite_handler(*m_k051316_1, 0x1000, 0x17ff, FUNC(k051316_rom_r), FUNC(k051316_w)); /* 051316 #1 (ROM test) */
@@ -324,7 +324,7 @@ static MACHINE_START( chqflag )
chqflag_state *state = machine.driver_data<chqflag_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x10000], 0x2000);
+ state->subbank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x2000);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");
diff --git a/src/mame/drivers/cidelsa.c b/src/mame/drivers/cidelsa.c
index f014bf3d023..08c4b6e0983 100644
--- a/src/mame/drivers/cidelsa.c
+++ b/src/mame/drivers/cidelsa.c
@@ -45,7 +45,7 @@ WRITE8_MEMBER( draco_state::sound_bankswitch_w )
int bank = BIT(data, 3);
- memory_set_bank(machine(), "bank1", bank);
+ subbank("bank1")->set_entry(bank);
}
WRITE8_MEMBER( draco_state::sound_g_w )
@@ -441,8 +441,8 @@ void cidelsa_state::machine_start()
void draco_state::machine_start()
{
/* setup COP402 memory banking */
- memory_configure_bank(machine(), "bank1", 0, 2, machine().region(COP402N_TAG)->base(), 0x400);
- memory_set_bank(machine(), "bank1", 0);
+ subbank("bank1")->configure_entries(0, 2, machine().region(COP402N_TAG)->base(), 0x400);
+ subbank("bank1")->set_entry(0);
/* register for state saving */
save_item(NAME(m_reset));
diff --git a/src/mame/drivers/cinemat.c b/src/mame/drivers/cinemat.c
index f1b1deb0cd5..d12af72d0e8 100644
--- a/src/mame/drivers/cinemat.c
+++ b/src/mame/drivers/cinemat.c
@@ -273,7 +273,7 @@ READ8_MEMBER(cinemat_state::qb3_frame_r)
WRITE8_MEMBER(cinemat_state::qb3_ram_bank_w)
{
- memory_set_bank(machine(), "bank1", cpu_get_reg(machine().device("maincpu"), CCPU_P) & 3);
+ subbank("bank1")->set_entry(cpu_get_reg(machine().device("maincpu"), CCPU_P) & 3);
}
@@ -1487,7 +1487,7 @@ static DRIVER_INIT( qb3 )
machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x0f, 0x0f, read8_delegate(FUNC(cinemat_state::qb3_frame_r),state));
machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x00, 0x00, write8_delegate(FUNC(cinemat_state::qb3_ram_bank_w),state));
- memory_configure_bank(machine, "bank1", 0, 4, state->m_rambase, 0x100*2);
+ state->subbank("bank1")->configure_entries(0, 4, state->m_rambase, 0x100*2);
}
diff --git a/src/mame/drivers/cmmb.c b/src/mame/drivers/cmmb.c
index bb192bd29f9..9aed66e3569 100644
--- a/src/mame/drivers/cmmb.c
+++ b/src/mame/drivers/cmmb.c
@@ -141,7 +141,7 @@ READ8_MEMBER(cmmb_state::cmmb_input_r)
UINT32 bankaddress;
bankaddress = 0x10000 + (0x10000 * (data & 0x03));
- memory_set_bankptr(space->machine(), "bank1", &ROM[bankaddress]);
+ space->machine().root_device().subbank("bank1")->set_base(&ROM[bankaddress]);
}
*/
@@ -156,7 +156,7 @@ WRITE8_MEMBER(cmmb_state::cmmb_output_w)
UINT32 bankaddress;
bankaddress = 0x1c000 + (0x10000 * (data & 0x03));
- memory_set_bankptr(machine(), "bank1", &ROM[bankaddress]);
+ subbank("bank1")->set_base(&ROM[bankaddress]);
}
break;
case 0x03:
diff --git a/src/mame/drivers/combatsc.c b/src/mame/drivers/combatsc.c
index c6a43617571..4cb23be5cdc 100644
--- a/src/mame/drivers/combatsc.c
+++ b/src/mame/drivers/combatsc.c
@@ -199,9 +199,9 @@ WRITE8_MEMBER(combatsc_state::combatsc_bankselect_w)
}
if (data & 0x10)
- memory_set_bank(machine(), "bank1", (data & 0x0e) >> 1);
+ subbank("bank1")->set_entry((data & 0x0e) >> 1);
else
- memory_set_bank(machine(), "bank1", 8 + (data & 1));
+ subbank("bank1")->set_entry(8 + (data & 1));
}
WRITE8_MEMBER(combatsc_state::combatscb_io_w)
@@ -237,13 +237,13 @@ WRITE8_MEMBER(combatsc_state::combatscb_bankselect_w)
m_bank_select = data;
if (data & 0x10)
- memory_set_bank(machine(), "bank1", (data & 0x0e) >> 1);
+ subbank("bank1")->set_entry((data & 0x0e) >> 1);
else
- memory_set_bank(machine(), "bank1", 8 + (data & 1));
+ subbank("bank1")->set_entry(8 + (data & 1));
if (data == 0x1f)
{
- memory_set_bank(machine(), "bank1", 8 + (data & 1));
+ subbank("bank1")->set_entry(8 + (data & 1));
space.install_write_handler(0x4000, 0x7fff, write8_delegate(FUNC(combatsc_state::combatscb_io_w),this));
space.install_read_handler(0x4400, 0x4403, read8_delegate(FUNC(combatsc_state::combatscb_io_r),this));/* IO RAM & Video Registers */
}
@@ -702,7 +702,7 @@ static MACHINE_START( combatsc )
state->m_k007121_1 = machine.device("k007121_1");
state->m_k007121_2 = machine.device("k007121_2");
- memory_configure_bank(machine, "bank1", 0, 10, machine.region("maincpu")->base() + 0x10000, 0x4000);
+ state->subbank("bank1")->configure_entries(0, 10, machine.region("maincpu")->base() + 0x10000, 0x4000);
state->save_item(NAME(state->m_priority));
state->save_item(NAME(state->m_vreg));
diff --git a/src/mame/drivers/compgolf.c b/src/mame/drivers/compgolf.c
index eaf7d98cd1a..3b9467e5f63 100644
--- a/src/mame/drivers/compgolf.c
+++ b/src/mame/drivers/compgolf.c
@@ -44,7 +44,7 @@ WRITE8_MEMBER(compgolf_state::compgolf_ctrl_w)
if (m_bank != new_bank)
{
m_bank = new_bank;
- memory_set_bank(machine(), "bank1", m_bank);
+ subbank("bank1")->set_entry(m_bank);
}
m_scrollx_hi = (data & 1) << 8;
@@ -360,7 +360,7 @@ static void compgolf_expand_bg(running_machine &machine)
static DRIVER_INIT( compgolf )
{
- memory_configure_bank(machine, "bank1", 0, 2, machine.region("user1")->base(), 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 2, machine.region("user1")->base(), 0x4000);
compgolf_expand_bg(machine);
}
diff --git a/src/mame/drivers/contra.c b/src/mame/drivers/contra.c
index 8f2a67254fb..91fe68c2f4c 100644
--- a/src/mame/drivers/contra.c
+++ b/src/mame/drivers/contra.c
@@ -34,7 +34,7 @@ static INTERRUPT_GEN( contra_interrupt )
WRITE8_MEMBER(contra_state::contra_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data & 0x0f);
+ subbank("bank1")->set_entry(data & 0x0f);
}
WRITE8_MEMBER(contra_state::contra_sh_irqtrigger_w)
@@ -180,7 +180,7 @@ static MACHINE_START( contra )
contra_state *state = machine.driver_data<contra_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 16, &ROM[0x10000], 0x2000);
+ state->subbank("bank1")->configure_entries(0, 16, &ROM[0x10000], 0x2000);
state->m_audiocpu = machine.device("audiocpu");
state->m_k007121_1 = machine.device("k007121_1");
diff --git a/src/mame/drivers/cps1.c b/src/mame/drivers/cps1.c
index 50cb9018ad9..d7374b33349 100644
--- a/src/mame/drivers/cps1.c
+++ b/src/mame/drivers/cps1.c
@@ -281,7 +281,7 @@ WRITE16_MEMBER(cps_state::forgottn_dial_1_reset_w)
WRITE8_MEMBER(cps_state::cps1_snd_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data & 0x01);
+ subbank("bank1")->set_entry(data & 0x01);
}
static WRITE8_DEVICE_HANDLER( cps1_oki_pin7_w )
@@ -393,7 +393,7 @@ WRITE8_MEMBER(cps_state::qsound_banksw_w)
bank = 0;
}
- memory_set_bank(machine(), "bank1", bank);
+ subbank("bank1")->set_entry(bank);
}
@@ -3040,13 +3040,13 @@ static MACHINE_START( common )
static MACHINE_START( cps1 )
{
MACHINE_START_CALL(common);
- memory_configure_bank(machine, "bank1", 0, 2, machine.region("audiocpu")->base() + 0x10000, 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 2, machine.region("audiocpu")->base() + 0x10000, 0x4000);
}
static MACHINE_START( qsound )
{
MACHINE_START_CALL(common);
- memory_configure_bank(machine, "bank1", 0, 6, machine.region("audiocpu")->base() + 0x10000, 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 6, machine.region("audiocpu")->base() + 0x10000, 0x4000);
}
static MACHINE_CONFIG_START( cps1_10MHz, cps_state )
diff --git a/src/mame/drivers/cps2.c b/src/mame/drivers/cps2.c
index 554da3796ea..493f72346c3 100644
--- a/src/mame/drivers/cps2.c
+++ b/src/mame/drivers/cps2.c
@@ -1217,7 +1217,7 @@ static MACHINE_START( cps2 )
state->m_audiocpu = machine.device("audiocpu");
if (state->m_audiocpu != NULL) // gigaman2 has no audiocpu
- memory_configure_bank(machine, "bank1", 0, (QSOUND_SIZE - 0x10000) / 0x4000, machine.region("audiocpu")->base() + 0x10000, 0x4000);
+ state->subbank("bank1")->configure_entries(0, (QSOUND_SIZE - 0x10000) / 0x4000, machine.region("audiocpu")->base() + 0x10000, 0x4000);
}
diff --git a/src/mame/drivers/crgolf.c b/src/mame/drivers/crgolf.c
index 87646adef66..aad47d5615e 100644
--- a/src/mame/drivers/crgolf.c
+++ b/src/mame/drivers/crgolf.c
@@ -44,7 +44,7 @@
WRITE8_MEMBER(crgolf_state::rom_bank_select_w)
{
- memory_set_bank(machine(), "bank1", data & 15);
+ subbank("bank1")->set_entry(data & 15);
}
@@ -56,8 +56,8 @@ static MACHINE_START( crgolf )
state->m_audiocpu = machine.device("audiocpu");
/* configure the banking */
- memory_configure_bank(machine, "bank1", 0, 16, machine.region("maincpu")->base() + 0x10000, 0x2000);
- memory_set_bank(machine, "bank1", 0);
+ state->subbank("bank1")->configure_entries(0, 16, machine.region("maincpu")->base() + 0x10000, 0x2000);
+ state->subbank("bank1")->set_entry(0);
/* register for save states */
state->save_item(NAME(state->m_port_select));
diff --git a/src/mame/drivers/crimfght.c b/src/mame/drivers/crimfght.c
index 48153b918a1..a10e7207d4d 100644
--- a/src/mame/drivers/crimfght.c
+++ b/src/mame/drivers/crimfght.c
@@ -257,8 +257,8 @@ static MACHINE_START( crimfght )
crimfght_state *state = machine.driver_data<crimfght_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank2", 0, 12, &ROM[0x10000], 0x2000);
- memory_set_bank(machine, "bank2", 0);
+ state->subbank("bank2")->configure_entries(0, 12, &ROM[0x10000], 0x2000);
+ state->subbank("bank2")->set_entry(0);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");
@@ -408,7 +408,7 @@ static KONAMI_SETLINES_CALLBACK( crimfght_banking )
{
device->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x03ff, "bank3");
device->memory().space(AS_PROGRAM)->install_write_handler(0x0000, 0x03ff, write8_delegate(FUNC(crimfght_state::paletteram_xBBBBBGGGGGRRRRR_byte_be_w), state));
- memory_set_bankptr(device->machine(), "bank3", state->m_generic_paletteram_8);
+ state->subbank("bank3")->set_base(state->m_generic_paletteram_8);
}
else
device->memory().space(AS_PROGRAM)->install_readwrite_bank(0x0000, 0x03ff, "bank1"); /* RAM */
@@ -416,7 +416,7 @@ static KONAMI_SETLINES_CALLBACK( crimfght_banking )
/* bit 6 = enable char ROM reading through the video RAM */
k052109_set_rmrd_line(state->m_k052109, (lines & 0x40) ? ASSERT_LINE : CLEAR_LINE);
- memory_set_bank(device->machine(), "bank2", lines & 0x0f);
+ state->subbank("bank2")->set_entry(lines & 0x0f);
}
GAME( 1989, crimfght, 0, crimfght, crimfght, 0, ROT0, "Konami", "Crime Fighters (US 4 players)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/crshrace.c b/src/mame/drivers/crshrace.c
index 5685959d8b9..137c6e992e9 100644
--- a/src/mame/drivers/crshrace.c
+++ b/src/mame/drivers/crshrace.c
@@ -156,7 +156,7 @@ READ16_MEMBER(crshrace_state::extrarom2_r)
WRITE8_MEMBER(crshrace_state::crshrace_sh_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data & 0x03);
+ subbank("bank1")->set_entry(data & 0x03);
}
WRITE16_MEMBER(crshrace_state::sound_command_w)
@@ -442,7 +442,7 @@ static MACHINE_START( crshrace )
{
crshrace_state *state = machine.driver_data<crshrace_state>();
- memory_configure_bank(machine, "bank1", 0, 4, machine.region("audiocpu")->base() + 0x10000, 0x8000);
+ state->subbank("bank1")->configure_entries(0, 4, machine.region("audiocpu")->base() + 0x10000, 0x8000);
state->save_item(NAME(state->m_roz_bank));
state->save_item(NAME(state->m_gfxctrl));
diff --git a/src/mame/drivers/crystal.c b/src/mame/drivers/crystal.c
index 657480bad16..624451242e4 100644
--- a/src/mame/drivers/crystal.c
+++ b/src/mame/drivers/crystal.c
@@ -286,9 +286,9 @@ WRITE32_MEMBER(crystal_state::Banksw_w)
m_Bank = (data >> 1) & 7;
if (m_Bank <= 2)
- memory_set_bankptr(machine(), "bank1", machine().region("user1")->base() + m_Bank * 0x1000000);
+ subbank("bank1")->set_base(machine().region("user1")->base() + m_Bank * 0x1000000);
else
- memory_set_bankptr(machine(), "bank1", machine().region("user2")->base());
+ subbank("bank1")->set_base(machine().region("user2")->base());
}
static TIMER_CALLBACK( Timercb )
@@ -567,9 +567,9 @@ static void crystal_banksw_postload(running_machine &machine)
crystal_state *state = machine.driver_data<crystal_state>();
if (state->m_Bank <= 2)
- memory_set_bankptr(machine, "bank1", machine.region("user1")->base() + state->m_Bank * 0x1000000);
+ state->subbank("bank1")->set_base(machine.region("user1")->base() + state->m_Bank * 0x1000000);
else
- memory_set_bankptr(machine, "bank1", machine.region("user2")->base());
+ state->subbank("bank1")->set_base(machine.region("user2")->base());
}
static MACHINE_START( crystal )
@@ -613,7 +613,7 @@ static MACHINE_RESET( crystal )
state->m_IntHigh = 0;
device_set_irq_callback(machine.device("maincpu"), icallback);
state->m_Bank = 0;
- memory_set_bankptr(machine, "bank1", machine.region("user1")->base() + 0);
+ state->subbank("bank1")->set_base(machine.region("user1")->base() + 0);
state->m_FlashCmd = 0xff;
state->m_OldPort4 = 0;
diff --git a/src/mame/drivers/cshooter.c b/src/mame/drivers/cshooter.c
index 571a5082ec7..dae7e7d2c3d 100644
--- a/src/mame/drivers/cshooter.c
+++ b/src/mame/drivers/cshooter.c
@@ -239,7 +239,7 @@ WRITE8_MEMBER(cshooter_state::cshooter_c700_w)
WRITE8_MEMBER(cshooter_state::bank_w)
{
- memory_set_bankptr(machine(), "bank1",&machine().region("user1")->base()[0x4000*((data>>4)&3)]);
+ subbank("bank1")->set_base(&machine().region("user1")->base()[0x4000*((data>>4)&3)]);
}
@@ -670,7 +670,7 @@ static DRIVER_INIT( cshooter )
rom[0xa2] = 0x00;
rom[0xa3] = 0x00;
rom[0xa4] = 0x00;
- memory_set_bankptr(machine, "bank1",&machine.region("user1")->base()[0]);
+ machine.root_device().subbank("bank1")->set_base(&machine.region("user1")->base()[0]);
}
static DRIVER_INIT( cshootere )
@@ -707,7 +707,7 @@ static DRIVER_INIT( cshootere )
rom[A] = BITSWAP8(rom[A],7,6,1,4,3,2,5,0);
}
- memory_set_bankptr(machine, "bank1",&machine.region("user1")->base()[0]);
+ machine.root_device().subbank("bank1")->set_base(&machine.region("user1")->base()[0]);
seibu_sound_decrypt(machine,"audiocpu",0x2000);
}
diff --git a/src/mame/drivers/csplayh5.c b/src/mame/drivers/csplayh5.c
index dc3269f5fe5..e947d81d0ac 100644
--- a/src/mame/drivers/csplayh5.c
+++ b/src/mame/drivers/csplayh5.c
@@ -169,7 +169,7 @@ static void csplayh5_soundbank_w(running_machine &machine, int data)
{
UINT8 *SNDROM = machine.region("audiocpu")->base();
- memory_set_bankptr(machine, "bank1", &SNDROM[0x08000 + (0x8000 * (data & 0x03))]);
+ machine.root_device().subbank("bank1")->set_base(&SNDROM[0x08000 + (0x8000 * (data & 0x03))]);
}
READ8_MEMBER(csplayh5_state::csplayh5_sound_r)
diff --git a/src/mame/drivers/cultures.c b/src/mame/drivers/cultures.c
index 6e1527f70ee..4e41313ccbf 100644
--- a/src/mame/drivers/cultures.c
+++ b/src/mame/drivers/cultures.c
@@ -128,7 +128,7 @@ static SCREEN_UPDATE_IND16( cultures )
WRITE8_MEMBER(cultures_state::cpu_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data & 0x0f);
+ subbank("bank1")->set_entry(data & 0x0f);
m_video_bank = ~data & 0x20;
}
@@ -372,7 +372,7 @@ static MACHINE_START( cultures )
cultures_state *state = machine.driver_data<cultures_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 16, &ROM[0x0000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 16, &ROM[0x0000], 0x4000);
state->save_item(NAME(state->m_paletteram));
state->save_item(NAME(state->m_old_bank));
diff --git a/src/mame/drivers/cyclemb.c b/src/mame/drivers/cyclemb.c
index 65146e393f4..8948d599d96 100644
--- a/src/mame/drivers/cyclemb.c
+++ b/src/mame/drivers/cyclemb.c
@@ -227,7 +227,7 @@ static SCREEN_UPDATE_IND16( cyclemb )
WRITE8_MEMBER(cyclemb_state::cyclemb_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data & 3);
+ subbank("bank1")->set_entry(data & 3);
}
#if 0
@@ -613,7 +613,7 @@ ROM_END
static DRIVER_INIT( cyclemb )
{
- memory_configure_bank(machine, "bank1", 0, 4, machine.region("maincpu")->base() + 0x10000, 0x1000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 4, machine.region("maincpu")->base() + 0x10000, 0x1000);
}
GAME( 1984, cyclemb, 0, cyclemb, cyclemb, cyclemb, ROT0, "Taito Corporation", "Cycle Mahbou (Japan)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/d9final.c b/src/mame/drivers/d9final.c
index ab8d2f56673..864779452a3 100644
--- a/src/mame/drivers/d9final.c
+++ b/src/mame/drivers/d9final.c
@@ -96,7 +96,7 @@ WRITE8_MEMBER(d9final_state::d9final_bank_w)
UINT32 bankaddress;
bankaddress = 0x10000+(0x4000 * (data & 0x7));
- memory_set_bankptr(machine(), "bank1", &ROM[bankaddress]);
+ subbank("bank1")->set_base(&ROM[bankaddress]);
}
/* game checks this after three attract cycles, otherwise coin inputs stop to work. */
@@ -275,7 +275,7 @@ static MACHINE_RESET( d9final )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_set_bankptr(machine, "bank1", &ROM[0x10000]);
+ machine.root_device().subbank("bank1")->set_base(&ROM[0x10000]);
}
static MACHINE_CONFIG_START( d9final, d9final_state )
diff --git a/src/mame/drivers/darius.c b/src/mame/drivers/darius.c
index 5b3a5b58c60..2931403696e 100644
--- a/src/mame/drivers/darius.c
+++ b/src/mame/drivers/darius.c
@@ -274,7 +274,7 @@ ADDRESS_MAP_END
static void reset_sound_region( running_machine &machine )
{
darius_state *state = machine.driver_data<darius_state>();
- memory_set_bank(machine, "bank1", state->m_banknum);
+ state->subbank("bank1")->set_entry(state->m_banknum);
}
WRITE8_MEMBER(darius_state::sound_bankswitch_w)
@@ -842,9 +842,9 @@ static MACHINE_START( darius )
{
darius_state *state = machine.driver_data<darius_state>();
- memory_configure_bank(machine, "bank1", 0, 4, machine.region("audiocpu")->base() + 0x10000, 0x8000);
- memory_configure_bank(machine, "bank1", 4, 1, machine.region("audiocpu")->base(), 0x8000);
- memory_set_bank(machine, "bank1", 4);
+ state->subbank("bank1")->configure_entries(0, 4, machine.region("audiocpu")->base() + 0x10000, 0x8000);
+ state->subbank("bank1")->configure_entry(4, machine.region("audiocpu")->base());
+ state->subbank("bank1")->set_entry(4);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");
diff --git a/src/mame/drivers/darkmist.c b/src/mame/drivers/darkmist.c
index 44f6f18f263..103152520fc 100644
--- a/src/mame/drivers/darkmist.c
+++ b/src/mame/drivers/darkmist.c
@@ -32,7 +32,7 @@ TODO:
WRITE8_MEMBER(darkmist_state::darkmist_hw_w)
{
m_hw=data;
- memory_set_bankptr(machine(), "bank1",&machine().region("maincpu")->base()[0x010000+((data&0x80)?0x4000:0)]);
+ subbank("bank1")->set_base(&machine().region("maincpu")->base()[0x010000+((data&0x80)?0x4000:0)]);
}
static ADDRESS_MAP_START( memmap, AS_PROGRAM, 8, darkmist_state )
@@ -437,7 +437,7 @@ static DRIVER_INIT(darkmist)
}
space->set_decrypted_region(0x0000, 0x7fff, decrypt);
- memory_set_bankptr(space->machine(), "bank1",&ROM[0x010000]);
+ space->machine().root_device().subbank("bank1")->set_base(&ROM[0x010000]);
/* adr line swaps */
ROM = machine.region("user1")->base();
diff --git a/src/mame/drivers/ddayjlc.c b/src/mame/drivers/ddayjlc.c
index 3a45dbad421..1b57231cc74 100644
--- a/src/mame/drivers/ddayjlc.c
+++ b/src/mame/drivers/ddayjlc.c
@@ -203,7 +203,7 @@ WRITE8_MEMBER(ddayjlc_state::bg2_w)
if (m_bgadr > 2)
m_bgadr = 0;
- memory_set_bank(machine(), "bank1", m_bgadr);
+ subbank("bank1")->set_entry(m_bgadr);
}
WRITE8_MEMBER(ddayjlc_state::sound_w)
@@ -690,8 +690,8 @@ static DRIVER_INIT( ddayjlc )
auto_free(machine, temp);
}
- memory_configure_bank(machine, "bank1", 0, 3, machine.region("user1")->base(), 0x4000);
- memory_set_bank(machine, "bank1", 0);
+ machine.root_device().subbank("bank1")->configure_entries(0, 3, machine.region("user1")->base(), 0x4000);
+ machine.root_device().subbank("bank1")->set_entry(0);
}
GAME( 1984, ddayjlc, 0, ddayjlc, ddayjlc, ddayjlc, ROT90, "Jaleco", "D-Day (Jaleco set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/ddenlovr.c b/src/mame/drivers/ddenlovr.c
index 06160ee1492..72f102f4130 100644
--- a/src/mame/drivers/ddenlovr.c
+++ b/src/mame/drivers/ddenlovr.c
@@ -1985,11 +1985,11 @@ WRITE8_MEMBER(dynax_state::rongrong_select_w)
//logerror("%04x: rongrong_select_w %02x\n",cpu_get_pc(&space.device()),data);
/* bits 0-4 = **both** ROM bank **AND** input select */
- memory_set_bank(machine(), "bank1", data & 0x1f);
+ subbank("bank1")->set_entry(data & 0x1f);
m_dsw_sel = data;
/* bits 5-7 = RAM bank */
- memory_set_bank(machine(), "bank2", ((data & 0xe0) >> 5));
+ subbank("bank2")->set_entry(((data & 0xe0) >> 5));
}
@@ -2083,7 +2083,7 @@ READ8_MEMBER(dynax_state::magic_r)
WRITE8_MEMBER(dynax_state::mmpanic_rombank_w)
{
- memory_set_bank(machine(), "bank1", data & 0x7);
+ subbank("bank1")->set_entry(data & 0x7);
/* Bit 4? */
}
@@ -2244,9 +2244,9 @@ WRITE8_MEMBER(dynax_state::funkyfig_rombank_w)
m_dsw_sel = data;
- memory_set_bank(machine(), "bank1", data & 0x0f);
+ subbank("bank1")->set_entry(data & 0x0f);
// bit 4 selects palette ram at 8000?
- memory_set_bank(machine(), "bank2", ((data & 0xe0) >> 5));
+ subbank("bank2")->set_entry(((data & 0xe0) >> 5));
}
READ8_MEMBER(dynax_state::funkyfig_dsw_r)
@@ -2352,8 +2352,8 @@ ADDRESS_MAP_END
WRITE8_MEMBER(dynax_state::hanakanz_rombank_w)
{
- memory_set_bank(machine(), "bank1", data & 0x0f);
- memory_set_bank(machine(), "bank2", ((data & 0xf0) >> 4));
+ subbank("bank1")->set_entry(data & 0x0f);
+ subbank("bank2")->set_entry(((data & 0xf0) >> 4));
}
static ADDRESS_MAP_START( hanakanz_map, AS_PROGRAM, 8, dynax_state )
@@ -2699,7 +2699,7 @@ ADDRESS_MAP_END
WRITE8_MEMBER(dynax_state::mjmyster_rambank_w)
{
- memory_set_bank(machine(), "bank2", data & 0x07);
+ subbank("bank2")->set_entry(data & 0x07);
//logerror("%04x: rambank = %02x\n", cpu_get_pc(&space.device()), data);
}
@@ -2813,7 +2813,7 @@ ADDRESS_MAP_END
WRITE8_MEMBER(dynax_state::hginga_rombank_w)
{
- memory_set_bank(machine(), "bank1", data & 0x7);
+ subbank("bank1")->set_entry(data & 0x7);
m_hginga_rombank = data;
}
@@ -3158,8 +3158,8 @@ WRITE8_MEMBER(dynax_state::hparadis_select_w)
m_dsw_sel = data;
m_keyb = 0;
- memory_set_bank(machine(), "bank1", data & 0x07);
- memory_set_bank(machine(), "bank2", ((data & 0xe0) >> 5));
+ subbank("bank1")->set_entry(data & 0x07);
+ subbank("bank2")->set_entry(((data & 0xe0) >> 5));
}
@@ -3383,7 +3383,7 @@ ADDRESS_MAP_END
WRITE8_MEMBER(dynax_state::mjflove_rombank_w)
{
- memory_set_bank(machine(), "bank1", data & 0xf);
+ subbank("bank1")->set_entry(data & 0xf);
}
static WRITE8_DEVICE_HANDLER( mjflove_okibank_w )
@@ -3556,7 +3556,7 @@ WRITE8_MEMBER(dynax_state::sryudens_coincounter_w)
WRITE8_MEMBER(dynax_state::sryudens_rambank_w)
{
- memory_set_bank(machine(), "bank2", data & 0x0f);
+ subbank("bank2")->set_entry(data & 0x0f);
//logerror("%04x: rambank = %02x\n", cpu_get_pc(&space.device()), data);
}
@@ -7614,8 +7614,8 @@ static MACHINE_RESET( ddenlovr )
static MACHINE_START( rongrong )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 0x20, &ROM[0x010000], 0x8000);
- memory_configure_bank(machine, "bank2", 0, 8, &ROM[0x110000], 0x1000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 0x20, &ROM[0x010000], 0x8000);
+ machine.root_device().subbank("bank2")->configure_entries(0, 8, &ROM[0x110000], 0x1000);
MACHINE_START_CALL(ddenlovr);
}
@@ -7623,7 +7623,7 @@ static MACHINE_START( rongrong )
static MACHINE_START( mmpanic )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x8000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x8000);
MACHINE_START_CALL(ddenlovr);
}
@@ -7631,8 +7631,8 @@ static MACHINE_START( mmpanic )
static MACHINE_START( funkyfig )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 0x10, &ROM[0x10000], 0x8000);
- memory_configure_bank(machine, "bank2", 0, 8, &ROM[0x90000], 0x1000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 0x10, &ROM[0x10000], 0x8000);
+ machine.root_device().subbank("bank2")->configure_entries(0, 8, &ROM[0x90000], 0x1000);
MACHINE_START_CALL(ddenlovr);
}
@@ -7640,8 +7640,8 @@ static MACHINE_START( funkyfig )
static MACHINE_START( hanakanz )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 0x10, &ROM[0x10000], 0x8000);
- memory_configure_bank(machine, "bank2", 0, 0x10, &ROM[0x90000], 0x1000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 0x10, &ROM[0x10000], 0x8000);
+ machine.root_device().subbank("bank2")->configure_entries(0, 0x10, &ROM[0x90000], 0x1000);
MACHINE_START_CALL(ddenlovr);
}
@@ -7649,8 +7649,8 @@ static MACHINE_START( hanakanz )
static MACHINE_START( mjmyster )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x8000);
- memory_configure_bank(machine, "bank2", 0, 8, &ROM[0x90000], 0x1000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x8000);
+ machine.root_device().subbank("bank2")->configure_entries(0, 8, &ROM[0x90000], 0x1000);
MACHINE_START_CALL(ddenlovr);
}
@@ -7658,8 +7658,8 @@ static MACHINE_START( mjmyster )
static MACHINE_START( hparadis )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x8000);
- memory_configure_bank(machine, "bank2", 0, 8, &ROM[0x50000], 0x1000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x8000);
+ machine.root_device().subbank("bank2")->configure_entries(0, 8, &ROM[0x50000], 0x1000);
MACHINE_START_CALL(ddenlovr);
}
@@ -7667,8 +7667,8 @@ static MACHINE_START( hparadis )
static MACHINE_START( mjflove )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 0x10, &ROM[0x10000], 0x8000);
- memory_configure_bank(machine, "bank2", 0, 8, &ROM[0x90000], 0x1000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 0x10, &ROM[0x10000], 0x8000);
+ machine.root_device().subbank("bank2")->configure_entries(0, 8, &ROM[0x90000], 0x1000);
MACHINE_START_CALL(ddenlovr);
}
@@ -7676,8 +7676,8 @@ static MACHINE_START( mjflove )
static MACHINE_START( sryudens )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 0x10, &ROM[0x10000], 0x8000);
- memory_configure_bank(machine, "bank2", 0, 0x10, &ROM[0x90000], 0x1000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 0x10, &ROM[0x10000], 0x8000);
+ machine.root_device().subbank("bank2")->configure_entries(0, 0x10, &ROM[0x90000], 0x1000);
MACHINE_START_CALL(ddenlovr);
}
diff --git a/src/mame/drivers/ddragon.c b/src/mame/drivers/ddragon.c
index eb1fc9e02c1..b3332a047de 100644
--- a/src/mame/drivers/ddragon.c
+++ b/src/mame/drivers/ddragon.c
@@ -150,7 +150,7 @@ static MACHINE_START( ddragon )
ddragon_state *state = machine.driver_data<ddragon_state>();
/* configure banks */
- memory_configure_bank(machine, "bank1", 0, 8, machine.region("maincpu")->base() + 0x10000, 0x4000);
+ state->subbank("bank1")->configure_entries(0, 8, machine.region("maincpu")->base() + 0x10000, 0x4000);
state->m_maincpu = machine.device("maincpu");
state->m_sub_cpu = machine.device("sub");
@@ -203,7 +203,7 @@ WRITE8_MEMBER(ddragon_state::ddragon_bankswitch_w)
else if (m_dd_sub_cpu_busy == 0)
device_set_input_line(m_sub_cpu, m_sprite_irq, (m_sprite_irq == INPUT_LINE_NMI) ? PULSE_LINE : HOLD_LINE);
- memory_set_bank(machine(), "bank1", (data & 0xe0) >> 5);
+ subbank("bank1")->set_entry((data & 0xe0) >> 5);
}
@@ -217,7 +217,7 @@ WRITE8_MEMBER(ddragon_state::toffy_bankswitch_w)
/* bit 3 unknown */
/* I don't know ... */
- memory_set_bank(machine(), "bank1", (data & 0x20) >> 5);
+ subbank("bank1")->set_entry((data & 0x20) >> 5);
}
@@ -278,7 +278,7 @@ WRITE8_MEMBER(ddragon_state::darktowr_bankswitch_w)
else if (m_dd_sub_cpu_busy == 0)
device_set_input_line(m_sub_cpu, m_sprite_irq, (m_sprite_irq == INPUT_LINE_NMI) ? PULSE_LINE : HOLD_LINE);
- memory_set_bank(machine(), "bank1", newbank);
+ subbank("bank1")->set_entry(newbank);
if (newbank == 4 && oldbank != 4)
space.install_readwrite_handler(0x4000, 0x7fff, read8_delegate(FUNC(ddragon_state::darktowr_mcu_bank_r),this), write8_delegate(FUNC(ddragon_state::darktowr_mcu_bank_w),this));
else if (newbank != 4 && oldbank == 4)
diff --git a/src/mame/drivers/ddribble.c b/src/mame/drivers/ddribble.c
index 0f674f88c42..cbc938783cf 100644
--- a/src/mame/drivers/ddribble.c
+++ b/src/mame/drivers/ddribble.c
@@ -35,7 +35,7 @@ static INTERRUPT_GEN( ddribble_interrupt_1 )
WRITE8_MEMBER(ddribble_state::ddribble_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data & 0x0f);
+ subbank("bank1")->set_entry(data & 0x0f);
}
@@ -248,7 +248,7 @@ static MACHINE_START( ddribble )
{
ddribble_state *state = machine.driver_data<ddribble_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 5, &ROM[0x10000], 0x2000);
+ state->subbank("bank1")->configure_entries(0, 5, &ROM[0x10000], 0x2000);
state->m_filter1 = machine.device("filter1");
state->m_filter2 = machine.device("filter2");
diff --git a/src/mame/drivers/dec8.c b/src/mame/drivers/dec8.c
index d6dcb0b2c08..f4dc7c964d5 100644
--- a/src/mame/drivers/dec8.c
+++ b/src/mame/drivers/dec8.c
@@ -443,7 +443,7 @@ bb63 = Square things again
WRITE8_MEMBER(dec8_state::dec8_bank_w)
{
- memory_set_bank(machine(), "bank1", data & 0x0f);
+ subbank("bank1")->set_entry(data & 0x0f);
}
/* Used by Ghostbusters, Meikyuu Hunter G & Gondomania */
@@ -457,7 +457,7 @@ WRITE8_MEMBER(dec8_state::ghostb_bank_w)
Bits 4-7: Bank switch
*/
- memory_set_bank(machine(), "bank1", data >> 4);
+ subbank("bank1")->set_entry(data >> 4);
if ((data&1)==0) device_set_input_line(m_maincpu, M6809_IRQ_LINE, CLEAR_LINE);
if (data & 2) m_nmi_enable =1; else m_nmi_enable = 0;
@@ -473,7 +473,7 @@ WRITE8_MEMBER(dec8_state::csilver_control_w)
Bit 0x40 - Unused.
Bit 0x80 - Hold subcpu reset line high if clear, else low? (Not needed anyway)
*/
- memory_set_bank(machine(), "bank1", data & 0x0f);
+ subbank("bank1")->set_entry(data & 0x0f);
}
WRITE8_MEMBER(dec8_state::dec8_sound_w)
@@ -506,7 +506,7 @@ WRITE8_MEMBER(dec8_state::csilver_adpcm_data_w)
WRITE8_MEMBER(dec8_state::csilver_sound_bank_w)
{
- memory_set_bank(machine(), "bank3", (data & 0x08) >> 3);
+ subbank("bank3")->set_entry((data & 0x08) >> 3);
}
/******************************************************************************/
@@ -3563,28 +3563,28 @@ static DRIVER_INIT( deco222 )
static DRIVER_INIT( lastmisn )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x10000], 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
DRIVER_INIT_CALL( dec8 );
}
static DRIVER_INIT( shackled )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 14, &ROM[0x10000], 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 14, &ROM[0x10000], 0x4000);
DRIVER_INIT_CALL( dec8 );
}
static DRIVER_INIT( gondo )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 12, &ROM[0x10000], 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 12, &ROM[0x10000], 0x4000);
DRIVER_INIT_CALL( dec8 );
}
static DRIVER_INIT( garyoret )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 16, &ROM[0x10000], 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 16, &ROM[0x10000], 0x4000);
DRIVER_INIT_CALL( dec8 );
}
@@ -3596,7 +3596,7 @@ static DRIVER_INIT( ghostb )
/* Blank out unused garbage in colour prom to avoid colour overflow */
memset(RAM + 0x20, 0, 0xe0);
- memory_configure_bank(machine, "bank1", 0, 16, &ROM[0x10000], 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 16, &ROM[0x10000], 0x4000);
DRIVER_INIT_CALL(deco222);
}
@@ -3608,7 +3608,7 @@ static DRIVER_INIT( meikyuh )
/* Blank out unused garbage in colour prom to avoid colour overflow */
memset(RAM + 0x20, 0, 0xe0);
- memory_configure_bank(machine, "bank1", 0, 12, &ROM[0x10000], 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 12, &ROM[0x10000], 0x4000);
DRIVER_INIT_CALL( dec8 );
}
@@ -3617,29 +3617,29 @@ static DRIVER_INIT( csilver )
UINT8 *ROM = machine.region("maincpu")->base();
UINT8 *RAM = machine.region("audiocpu")->base();
- memory_configure_bank(machine, "bank1", 0, 14, &ROM[0x10000], 0x4000);
- memory_configure_bank(machine, "bank3", 0, 2, &RAM[0x10000], 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 14, &ROM[0x10000], 0x4000);
+ machine.root_device().subbank("bank3")->configure_entries(0, 2, &RAM[0x10000], 0x4000);
DRIVER_INIT_CALL( dec8 );
}
static DRIVER_INIT( oscar )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x10000], 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
DRIVER_INIT_CALL( deco222 );
}
static DRIVER_INIT( srdarwin )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 6, &ROM[0x10000], 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 6, &ROM[0x10000], 0x4000);
DRIVER_INIT_CALL( deco222 );
}
static DRIVER_INIT( cobracom )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
DRIVER_INIT_CALL( dec8 );
}
diff --git a/src/mame/drivers/decocass.c b/src/mame/drivers/decocass.c
index 1890a4d67ae..53c132277d1 100644
--- a/src/mame/drivers/decocass.c
+++ b/src/mame/drivers/decocass.c
@@ -1491,11 +1491,11 @@ static DRIVER_INIT( decocrom )
/* convert charram to a banked ROM */
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x6000, 0xafff, "bank1");
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x6000, 0xafff, FUNC(decocass_de0091_w));
- memory_configure_bank(machine, "bank1", 0, 1, state->m_charram, 0);
- memory_configure_bank(machine, "bank1", 1, 1, machine.region("user3")->base(), 0);
- memory_configure_bank_decrypted(machine, "bank1", 0, 1, &state->m_decrypted[0x6000], 0);
- memory_configure_bank_decrypted(machine, "bank1", 1, 1, state->m_decrypted2, 0);
- memory_set_bank(machine, "bank1", 0);
+ state->subbank("bank1")->configure_entry(0, state->m_charram);
+ state->subbank("bank1")->configure_entry(1, machine.region("user3")->base());
+ state->subbank("bank1")->configure_decrypted_entry(0, &state->m_decrypted[0x6000]);
+ state->subbank("bank1")->configure_decrypted_entry(1, state->m_decrypted2);
+ state->subbank("bank1")->set_entry(0);
/* install the bank selector */
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xe900, 0xe900, FUNC(decocass_e900_w));
diff --git a/src/mame/drivers/deshoros.c b/src/mame/drivers/deshoros.c
index f430263c0b9..0efe66d5d86 100644
--- a/src/mame/drivers/deshoros.c
+++ b/src/mame/drivers/deshoros.c
@@ -72,7 +72,7 @@ static void answer_bankswitch(running_machine &machine,UINT8 new_bank)
state->m_bank = new_bank;
bankaddress = 0 + 0x6000 * state->m_bank;
- memory_set_bankptr(machine, "bank1", &ROM[bankaddress]);
+ state->subbank("bank1")->set_base(&ROM[bankaddress]);
}
}
diff --git a/src/mame/drivers/discoboy.c b/src/mame/drivers/discoboy.c
index 85c6fb971a8..454781babee 100644
--- a/src/mame/drivers/discoboy.c
+++ b/src/mame/drivers/discoboy.c
@@ -201,7 +201,7 @@ void discoboy_setrombank( running_machine &machine, UINT8 data )
{
UINT8 *ROM = machine.region("maincpu")->base();
data &= 0x2f;
- memory_set_bankptr(space->machine(), "bank1", &ROM[0x6000 + (data * 0x1000)] );
+ space->machine().root_device().subbank("bank1")->set_base(&ROM[0x6000 + (data * 0x1000)] );
}
#endif
@@ -225,7 +225,7 @@ WRITE8_MEMBER(discoboy_state::discoboy_port_01_w)
// discoboy gfxbank
m_gfxbank = data & 0xf0;
- memory_set_bank(machine(), "bank1", data & 0x07);
+ subbank("bank1")->set_entry(data & 0x07);
}
WRITE8_MEMBER(discoboy_state::discoboy_port_03_w)// sfx? (to sound cpu)
@@ -329,7 +329,7 @@ static WRITE8_DEVICE_HANDLER( yunsung8_sound_bankswitch_w )
/* Note: this is bit 5 on yunsung8.c */
msm5205_reset_w(device, (data & 0x08) >> 3);
- memory_set_bank(device->machine(), "sndbank", data & 0x07);
+ device->machine().root_device().subbank("sndbank")->set_entry(data & 0x07);
if (data != (data & (~0x0f)))
logerror("%s: Bank %02X\n", device->machine().describe_context(), data);
@@ -575,10 +575,10 @@ static DRIVER_INIT( discoboy )
state->save_item(NAME(state->m_ram_3));
state->save_item(NAME(state->m_ram_4));
- memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x4000);
- memory_set_bank(machine, "bank1", 0);
- memory_configure_bank(machine, "sndbank", 0, 8, &AUDIO[0x00000], 0x4000);
- memory_set_bank(machine, "sndbank", 0);
+ state->subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
+ state->subbank("bank1")->set_entry(0);
+ state->subbank("sndbank")->configure_entries(0, 8, &AUDIO[0x00000], 0x4000);
+ state->subbank("sndbank")->set_entry(0);
}
diff --git a/src/mame/drivers/djboy.c b/src/mame/drivers/djboy.c
index a6dac65cb1a..be2bdb9c4ad 100644
--- a/src/mame/drivers/djboy.c
+++ b/src/mame/drivers/djboy.c
@@ -179,8 +179,8 @@ WRITE8_MEMBER(djboy_state::cpu0_bankswitch_w)
{
data ^= m_bankxor;
- memory_set_bank(machine(), "bank1", data);
- memory_set_bank(machine(), "bank4", 0); /* unsure if/how this area is banked */
+ subbank("bank1")->set_entry(data);
+ subbank("bank4")->set_entry(0); /* unsure if/how this area is banked */
}
/******************************************************************************/
@@ -202,7 +202,7 @@ WRITE8_MEMBER(djboy_state::cpu1_bankswitch_w)
case 0x01:
case 0x02:
case 0x03:
- memory_set_bank(machine(), "bank2", (data & 0xf));
+ subbank("bank2")->set_entry((data & 0xf));
break;
/* bs101.6w */
@@ -214,7 +214,7 @@ WRITE8_MEMBER(djboy_state::cpu1_bankswitch_w)
case 0x0d:
case 0x0e:
case 0x0f:
- memory_set_bank(machine(), "bank2", (data & 0xf) - 4);
+ subbank("bank2")->set_entry((data & 0xf) - 4);
break;
default:
@@ -238,7 +238,7 @@ WRITE8_MEMBER(djboy_state::trigger_nmi_on_sound_cpu2)
WRITE8_MEMBER(djboy_state::cpu2_bankswitch_w)
{
- memory_set_bank(machine(), "bank3", data); // shall we check data<0x07?
+ subbank("bank3")->set_entry(data); // shall we check data<0x07?
}
/******************************************************************************/
@@ -526,13 +526,13 @@ static MACHINE_START( djboy )
UINT8 *CPU1 = machine.region("cpu1")->base();
UINT8 *CPU2 = machine.region("cpu2")->base();
- memory_configure_bank(machine, "bank1", 0, 4, &MAIN[0x00000], 0x2000);
- memory_configure_bank(machine, "bank1", 4, 28, &MAIN[0x10000], 0x2000);
- memory_configure_bank(machine, "bank2", 0, 2, &CPU1[0x00000], 0x4000);
- memory_configure_bank(machine, "bank2", 2, 10, &CPU1[0x10000], 0x4000);
- memory_configure_bank(machine, "bank3", 0, 3, &CPU2[0x00000], 0x4000);
- memory_configure_bank(machine, "bank3", 3, 5, &CPU2[0x10000], 0x4000);
- memory_configure_bank(machine, "bank4", 0, 1, &MAIN[0x10000], 0x3000); /* unsure if/how this area is banked */
+ state->subbank("bank1")->configure_entries(0, 4, &MAIN[0x00000], 0x2000);
+ state->subbank("bank1")->configure_entries(4, 28, &MAIN[0x10000], 0x2000);
+ state->subbank("bank2")->configure_entries(0, 2, &CPU1[0x00000], 0x4000);
+ state->subbank("bank2")->configure_entries(2, 10, &CPU1[0x10000], 0x4000);
+ state->subbank("bank3")->configure_entries(0, 3, &CPU2[0x00000], 0x4000);
+ state->subbank("bank3")->configure_entries(3, 5, &CPU2[0x10000], 0x4000);
+ state->subbank("bank4")->configure_entry(0, &MAIN[0x10000]); /* unsure if/how this area is banked */
state->m_maincpu = machine.device("maincpu");
state->m_cpu1 = machine.device("cpu1");
diff --git a/src/mame/drivers/dkong.c b/src/mame/drivers/dkong.c
index a6e665c745b..efd44bde451 100644
--- a/src/mame/drivers/dkong.c
+++ b/src/mame/drivers/dkong.c
@@ -492,9 +492,9 @@ static MACHINE_RESET( strtheat )
MACHINE_RESET_CALL(dkong);
/* The initial state of the counter is 0x08 */
- memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
state->m_decrypt_counter = 0x08;
- memory_set_bank(machine, "bank1", 0);
+ state->subbank("bank1")->set_entry(0);
}
static MACHINE_RESET( drakton )
@@ -505,9 +505,9 @@ static MACHINE_RESET( drakton )
MACHINE_RESET_CALL(dkong);
/* The initial state of the counter is 0x09 */
- memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
state->m_decrypt_counter = 0x09;
- memory_set_bank(machine, "bank1", 1);
+ state->subbank("bank1")->set_entry(1);
}
@@ -627,10 +627,10 @@ READ8_MEMBER(dkong_state::epos_decrypt_rom)
switch(m_decrypt_counter)
{
- case 0x08: memory_set_bank(machine(), "bank1", 0); break;
- case 0x09: memory_set_bank(machine(), "bank1", 1); break;
- case 0x0A: memory_set_bank(machine(), "bank1", 2); break;
- case 0x0B: memory_set_bank(machine(), "bank1", 3); break;
+ case 0x08: subbank("bank1")->set_entry(0); break;
+ case 0x09: subbank("bank1")->set_entry(1); break;
+ case 0x0A: subbank("bank1")->set_entry(2); break;
+ case 0x0B: subbank("bank1")->set_entry(3); break;
default:
logerror("Invalid counter = %02X\n",m_decrypt_counter);
break;
@@ -1618,8 +1618,8 @@ static READ8_DEVICE_HANDLER( braze_eeprom_r )
WRITE8_MEMBER(dkong_state::braze_a15_w)
{
- memory_set_bank(machine(), "bank1", data & 0x01);
- memory_set_bank(machine(), "bank2", data & 0x01);
+ subbank("bank1")->set_entry(data & 0x01);
+ subbank("bank2")->set_entry(data & 0x01);
}
static WRITE8_DEVICE_HANDLER( braze_eeprom_w )
@@ -3174,10 +3174,10 @@ static DRIVER_INIT( dkongx )
braze_decrypt_rom(machine, decrypted);
- memory_configure_bank(machine,"bank1", 0, 2, &decrypted[0], 0x8000);
- memory_set_bank(machine,"bank1", 0);
- memory_configure_bank(machine,"bank2", 0, 2, &decrypted[0], 0x8000);
- memory_set_bank(machine,"bank2", 0);
+ state->subbank("bank1")->configure_entries(0, 2, &decrypted[0], 0x8000);
+ state->subbank("bank1")->set_entry(0);
+ state->subbank("bank2")->configure_entries(0, 2, &decrypted[0], 0x8000);
+ state->subbank("bank2")->set_entry(0);
}
static DRIVER_INIT( dkingjr )
diff --git a/src/mame/drivers/dooyong.c b/src/mame/drivers/dooyong.c
index cc3836c0336..b4430b086cf 100644
--- a/src/mame/drivers/dooyong.c
+++ b/src/mame/drivers/dooyong.c
@@ -86,14 +86,14 @@ be verified on real PCB.
WRITE8_MEMBER(dooyong_state::lastday_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data & 0x07);
+ subbank("bank1")->set_entry(data & 0x07);
if (data & 0xf8) popmessage("bankswitch %02x",data);
}
static MACHINE_START( lastday )
{
- memory_configure_bank(machine, "bank1", 0, 8, machine.region("maincpu")->base() + 0x10000, 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 8, machine.region("maincpu")->base() + 0x10000, 0x4000);
}
WRITE8_MEMBER(dooyong_state::flip_screen_w)
diff --git a/src/mame/drivers/drw80pkr.c b/src/mame/drivers/drw80pkr.c
index f5e0fce2a30..44f6a87d4c0 100644
--- a/src/mame/drivers/drw80pkr.c
+++ b/src/mame/drivers/drw80pkr.c
@@ -116,7 +116,7 @@ WRITE8_MEMBER(drw80pkr_state::prog_w)
{
m_active_bank = m_active_bank ^ 0x01;
- memory_set_bank(machine(), "bank1", m_active_bank);
+ subbank("bank1")->set_entry(m_active_bank);
}
}
@@ -405,7 +405,7 @@ GFXDECODE_END
static DRIVER_INIT( drw80pkr )
{
- memory_configure_bank(machine, "bank1", 0, 2, machine.region("maincpu")->base(), 0x1000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 2, machine.region("maincpu")->base(), 0x1000);
}
diff --git a/src/mame/drivers/dunhuang.c b/src/mame/drivers/dunhuang.c
index 1f6a0cdca27..464a215a79c 100644
--- a/src/mame/drivers/dunhuang.c
+++ b/src/mame/drivers/dunhuang.c
@@ -466,7 +466,7 @@ WRITE8_MEMBER(dunhuang_state::dunhuang_rombank_w)
// ? data & 0x01
// ? data & 0x02
- memory_set_bank(machine(), "bank1", ((data >> 2) & 0x7));
+ subbank("bank1")->set_entry(((data >> 2) & 0x7));
// COIN OUT: data & 0x20
coin_counter_w(machine(), 0, data & 0x40);
@@ -768,7 +768,7 @@ static MACHINE_START( dunhuang )
dunhuang_state *state = machine.driver_data<dunhuang_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x8000);
+ state->subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x8000);
state->save_item(NAME(state->m_written));
state->save_item(NAME(state->m_written2));
diff --git a/src/mame/drivers/dynax.c b/src/mame/drivers/dynax.c
index 9deefb1ec40..a5514410a52 100644
--- a/src/mame/drivers/dynax.c
+++ b/src/mame/drivers/dynax.c
@@ -266,12 +266,12 @@ WRITE8_MEMBER(dynax_state::hanamai_keyboard_w)
WRITE8_MEMBER(dynax_state::dynax_rombank_w)
{
- memory_set_bank(machine(), "bank1", data & 0x0f);
+ subbank("bank1")->set_entry(data & 0x0f);
}
WRITE8_MEMBER(dynax_state::jantouki_sound_rombank_w)
{
- memory_set_bank(machine(), "bank2", data);
+ subbank("bank2")->set_entry(data);
}
@@ -281,7 +281,7 @@ WRITE8_MEMBER(dynax_state::hnoridur_rombank_w)
//logerror("%04x: rom bank = %02x\n", cpu_get_pc(&space.device()), data);
if (data < bank_n)
- memory_set_bank(machine(), "bank1", data);
+ subbank("bank1")->set_entry(data);
else
logerror("rom_bank = %02x (larger than the maximum bank %02x)\n", data, bank_n);
m_hnoridur_bank = data;
@@ -753,7 +753,7 @@ WRITE8_MEMBER(dynax_state::yarunara_rombank_w)
//logerror("%04x: rom bank = %02x\n", cpu_get_pc(&space.device()), data);
if (data < bank_n)
- memory_set_bank(machine(), "bank1", data);
+ subbank("bank1")->set_entry(data);
else
logerror("rom_bank = %02x (larger than the maximum bank %02x)\n",data, bank_n);
m_hnoridur_bank = data;
@@ -969,7 +969,7 @@ READ8_MEMBER(dynax_state::jantouki_blitter_busy_r)
WRITE8_MEMBER(dynax_state::jantouki_rombank_w)
{
- memory_set_bank(machine(), "bank1", data & 0x0f);
+ subbank("bank1")->set_entry(data & 0x0f);
set_led_status(machine(), 0, data & 0x10); // maybe
}
@@ -1190,7 +1190,7 @@ READ8_MEMBER(dynax_state::htengoku_coin_r)
WRITE8_MEMBER(dynax_state::htengoku_rombank_w)
{
- memory_set_bank(machine(), "bank1", data & 0x07);
+ subbank("bank1")->set_entry(data & 0x07);
m_hnoridur_bank = data;
}
@@ -4240,7 +4240,7 @@ static MACHINE_RESET( dynax )
static MACHINE_START( hanamai )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 0x10, &ROM[0x8000], 0x8000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 0x10, &ROM[0x8000], 0x8000);
MACHINE_START_CALL(dynax);
}
@@ -4250,7 +4250,7 @@ static MACHINE_START( hnoridur )
UINT8 *ROM = machine.region("maincpu")->base();
int bank_n = (machine.region("maincpu")->bytes() - 0x10000) / 0x8000;
- memory_configure_bank(machine, "bank1", 0, bank_n, &ROM[0x10000], 0x8000);
+ machine.root_device().subbank("bank1")->configure_entries(0, bank_n, &ROM[0x10000], 0x8000);
MACHINE_START_CALL(dynax);
}
@@ -4259,7 +4259,7 @@ static MACHINE_START( htengoku )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x8000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x8000);
MACHINE_START_CALL(dynax);
}
@@ -4633,8 +4633,8 @@ static MACHINE_START( jantouki )
UINT8 *MAIN = machine.region("maincpu")->base();
UINT8 *SOUND = machine.region("soundcpu")->base();
- memory_configure_bank(machine, "bank1", 0, 0x10, &MAIN[0x8000], 0x8000);
- memory_configure_bank(machine, "bank2", 0, 12, &SOUND[0x8000], 0x8000);
+ state->subbank("bank1")->configure_entries(0, 0x10, &MAIN[0x8000], 0x8000);
+ state->subbank("bank2")->configure_entries(0, 12, &SOUND[0x8000], 0x8000);
state->m_top_scr = machine.device("top");
state->m_bot_scr = machine.device("bottom");
diff --git a/src/mame/drivers/epos.c b/src/mame/drivers/epos.c
index e8bd3e2d798..1a4856b7cf2 100644
--- a/src/mame/drivers/epos.c
+++ b/src/mame/drivers/epos.c
@@ -44,7 +44,7 @@ WRITE8_MEMBER(epos_state::dealer_decrypt_rom)
// logerror("PC %08x: ctr=%04x\n",cpu_get_pc(&space.device()), m_counter);
- memory_set_bank(machine(), "bank1", m_counter);
+ subbank("bank1")->set_entry(m_counter);
// is the 2nd bank changed by the counter or it always uses the 1st key?
}
@@ -101,7 +101,7 @@ ADDRESS_MAP_END
*/
static WRITE8_DEVICE_HANDLER( write_prtc )
{
- memory_set_bank(device->machine(), "bank2", data & 0x01);
+ device->machine().root_device().subbank("bank2")->set_entry(data & 0x01);
}
static const ppi8255_interface ppi8255_intf =
@@ -382,11 +382,11 @@ static MACHINE_RESET( epos )
static MACHINE_START( dealer )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x0000], 0x10000);
- memory_configure_bank(machine, "bank2", 0, 2, &ROM[0x6000], 0x1000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 4, &ROM[0x0000], 0x10000);
+ machine.root_device().subbank("bank2")->configure_entries(0, 2, &ROM[0x6000], 0x1000);
- memory_set_bank(machine, "bank1", 0);
- memory_set_bank(machine, "bank2", 0);
+ machine.root_device().subbank("bank1")->set_entry(0);
+ machine.root_device().subbank("bank2")->set_entry(0);
MACHINE_START_CALL(epos);
}
diff --git a/src/mame/drivers/esd16.c b/src/mame/drivers/esd16.c
index ab6b5b0a006..1ba593f7eb8 100644
--- a/src/mame/drivers/esd16.c
+++ b/src/mame/drivers/esd16.c
@@ -226,7 +226,7 @@ WRITE8_MEMBER(esd16_state::esd16_sound_rombank_w)
int bank = data & 0xf;
if (data != bank) logerror("CPU #1 - PC %04X: unknown bank bits: %02X\n", cpu_get_pc(&space.device()), data);
if (bank >= 3) bank += 1;
- memory_set_bank(machine(), "bank1", bank);
+ subbank("bank1")->set_entry(bank);
}
static ADDRESS_MAP_START( multchmp_sound_map, AS_PROGRAM, 8, esd16_state )
@@ -520,7 +520,7 @@ static MACHINE_START( esd16 )
esd16_state *state = machine.driver_data<esd16_state>();
UINT8 *AUDIO = machine.region("audiocpu")->base();
- memory_configure_bank(machine, "bank1", 0, 17, &AUDIO[0x0000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 17, &AUDIO[0x0000], 0x4000);
state->m_audio_cpu = machine.device("audiocpu");
state->m_eeprom = machine.device<eeprom_device>("eeprom");
diff --git a/src/mame/drivers/esripsys.c b/src/mame/drivers/esripsys.c
index 343e327fda9..40346e8be4d 100644
--- a/src/mame/drivers/esripsys.c
+++ b/src/mame/drivers/esripsys.c
@@ -109,7 +109,7 @@ WRITE8_MEMBER(esripsys_state::g_status_w)
m_g_status = data;
bankaddress = 0x10000 + (data & 0x03) * 0x10000;
- memory_set_bankptr(machine(), "bank1", &rom[bankaddress]);
+ subbank("bank1")->set_base(&rom[bankaddress]);
cputag_set_input_line(machine(), "frame_cpu", M6809_FIRQ_LINE, data & 0x10 ? CLEAR_LINE : ASSERT_LINE);
cputag_set_input_line(machine(), "frame_cpu", INPUT_LINE_NMI, data & 0x80 ? CLEAR_LINE : ASSERT_LINE);
@@ -506,9 +506,9 @@ WRITE8_MEMBER(esripsys_state::s_200f_w)
m_u56b = 1;
/* Speech data resides in the upper 8kB of the ROMs */
- memory_set_bankptr(machine(), "bank2", &rom[0x0000 + rombank]);
- memory_set_bankptr(machine(), "bank3", &rom[0x4000 + rombank]);
- memory_set_bankptr(machine(), "bank4", &rom[0x8000 + rombank]);
+ subbank("bank2")->set_base(&rom[0x0000 + rombank]);
+ subbank("bank3")->set_base(&rom[0x4000 + rombank]);
+ subbank("bank4")->set_base(&rom[0x8000 + rombank]);
m_s_to_g_latch2 = data;
}
@@ -653,9 +653,9 @@ static DRIVER_INIT( esripsys )
machine.device<nvram_device>("nvram")->set_base(state->m_cmos_ram, CMOS_RAM_SIZE);
- memory_set_bankptr(machine, "bank2", &rom[0x0000]);
- memory_set_bankptr(machine, "bank3", &rom[0x4000]);
- memory_set_bankptr(machine, "bank4", &rom[0x8000]);
+ state->subbank("bank2")->set_base(&rom[0x0000]);
+ state->subbank("bank3")->set_base(&rom[0x4000]);
+ state->subbank("bank4")->set_base(&rom[0x8000]);
/* Register stuff for state saving */
state_save_register_global_pointer(machine, state->m_fdt_a, FDT_RAM_SIZE);
diff --git a/src/mame/drivers/exidy.c b/src/mame/drivers/exidy.c
index f5d6e35c89b..93288e9ecbe 100644
--- a/src/mame/drivers/exidy.c
+++ b/src/mame/drivers/exidy.c
@@ -187,7 +187,7 @@ WRITE8_MEMBER(exidy_state::fax_bank_select_w)
{
UINT8 *RAM = machine().region("maincpu")->base();
- memory_set_bankptr(machine(), "bank1", &RAM[0x10000 + (0x2000 * (data & 0x1f))]);
+ subbank("bank1")->set_base(&RAM[0x10000 + (0x2000 * (data & 0x1f))]);
if ((data & 0x1f) > 0x17)
logerror("Banking to unpopulated ROM bank %02X!\n",data & 0x1f);
}
@@ -1470,7 +1470,7 @@ static DRIVER_INIT( phantoma )
/* the ROM is actually mapped high */
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xf800, 0xffff, "bank1");
- memory_set_bankptr(machine, "bank1", machine.region("maincpu")->base() + 0xf800);
+ state->subbank("bank1")->set_base(machine.region("maincpu")->base() + 0xf800);
}
diff --git a/src/mame/drivers/exidy440.c b/src/mame/drivers/exidy440.c
index cd9617407f5..1339511df89 100644
--- a/src/mame/drivers/exidy440.c
+++ b/src/mame/drivers/exidy440.c
@@ -308,7 +308,7 @@ void exidy440_bank_select(running_machine &machine, UINT8 bank)
/* select the bank and update the bank pointer */
state->m_bank = bank;
- memory_set_bankptr(machine, "bank1", &machine.region("maincpu")->base()[0x10000 + state->m_bank * 0x4000]);
+ state->subbank("bank1")->set_base(&machine.region("maincpu")->base()[0x10000 + state->m_bank * 0x4000]);
}
diff --git a/src/mame/drivers/exzisus.c b/src/mame/drivers/exzisus.c
index 8095c894e22..a1212c252dd 100644
--- a/src/mame/drivers/exzisus.c
+++ b/src/mame/drivers/exzisus.c
@@ -55,7 +55,7 @@ WRITE8_MEMBER(exzisus_state::exzisus_cpua_bankswitch_w)
m_cpua_bank = data & 0x0f;
if (m_cpua_bank >= 2)
{
- memory_set_bankptr(machine(), "bank2", &RAM[ 0x10000 + ( (m_cpua_bank - 2) * 0x4000 ) ] );
+ subbank("bank2")->set_base(&RAM[ 0x10000 + ( (m_cpua_bank - 2) * 0x4000 ) ] );
}
}
@@ -71,7 +71,7 @@ WRITE8_MEMBER(exzisus_state::exzisus_cpub_bankswitch_w)
m_cpub_bank = data & 0x0f;
if (m_cpub_bank >= 2)
{
- memory_set_bankptr(machine(), "bank1", &RAM[ 0x10000 + ( (m_cpub_bank - 2) * 0x4000 ) ] );
+ subbank("bank1")->set_base(&RAM[ 0x10000 + ( (m_cpub_bank - 2) * 0x4000 ) ] );
}
}
diff --git a/src/mame/drivers/f1gp.c b/src/mame/drivers/f1gp.c
index 7d27d3695c9..d7a10651681 100644
--- a/src/mame/drivers/f1gp.c
+++ b/src/mame/drivers/f1gp.c
@@ -61,7 +61,7 @@ READ16_MEMBER(f1gp_state::extrarom2_r)
WRITE8_MEMBER(f1gp_state::f1gp_sh_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data & 0x01);
+ subbank("bank1")->set_entry(data & 0x01);
}
@@ -429,7 +429,7 @@ static MACHINE_START( f1gp )
f1gp_state *state = machine.driver_data<f1gp_state>();
UINT8 *ROM = machine.region("audiocpu")->base();
- memory_configure_bank(machine, "bank1", 0, 2, &ROM[0x10000], 0x8000);
+ state->subbank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x8000);
state->m_audiocpu = machine.device("audiocpu");
state->m_k053936 = machine.device("k053936");
diff --git a/src/mame/drivers/famibox.c b/src/mame/drivers/famibox.c
index 607fc52526b..cb04dc396de 100644
--- a/src/mame/drivers/famibox.c
+++ b/src/mame/drivers/famibox.c
@@ -257,9 +257,9 @@ static void famicombox_bankswitch(running_machine &machine, UINT8 bank)
if ( bank == famicombox_banks[i].bank ||
famicombox_banks[i].bank == 0 )
{
- memory_set_bankptr(machine, "cpubank1", machine.region(famicombox_banks[i].memory_region)->base() + famicombox_banks[i].bank1_offset);
- memory_set_bankptr(machine, "cpubank2", machine.region(famicombox_banks[i].memory_region)->base() + famicombox_banks[i].bank2_offset);
- memory_set_bankptr(machine, "ppubank1", machine.region(famicombox_banks[i].memory_region)->base() + famicombox_banks[i].ppubank_offset);
+ machine.root_device().subbank("cpubank1")->set_base(machine.region(famicombox_banks[i].memory_region)->base() + famicombox_banks[i].bank1_offset);
+ machine.root_device().subbank("cpubank2")->set_base(machine.region(famicombox_banks[i].memory_region)->base() + famicombox_banks[i].bank2_offset);
+ machine.root_device().subbank("ppubank1")->set_base(machine.region(famicombox_banks[i].memory_region)->base() + famicombox_banks[i].ppubank_offset);
break;
}
}
diff --git a/src/mame/drivers/fastlane.c b/src/mame/drivers/fastlane.c
index 3ba9cf69284..1ebb02fadf0 100644
--- a/src/mame/drivers/fastlane.c
+++ b/src/mame/drivers/fastlane.c
@@ -45,7 +45,7 @@ WRITE8_MEMBER(fastlane_state::fastlane_bankswitch_w)
coin_counter_w(machine(), 1,data & 0x02);
/* bits 2 & 3 = bank number */
- memory_set_bank(machine(), "bank1", (data & 0x0c) >> 2);
+ subbank("bank1")->set_entry((data & 0x0c) >> 2);
/* bit 4: bank # for the 007232 (chip 2) */
k007232_set_bank(m_konami2, 0 + ((data & 0x10) >> 4), 2 + ((data & 0x10) >> 4));
@@ -196,7 +196,7 @@ static MACHINE_START( fastlane )
fastlane_state *state = machine.driver_data<fastlane_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
state->m_konami2 = machine.device("konami2");
state->m_k007121 = machine.device("k007121");
diff --git a/src/mame/drivers/fcrash.c b/src/mame/drivers/fcrash.c
index 40a3b51b023..b6cf11124fb 100644
--- a/src/mame/drivers/fcrash.c
+++ b/src/mame/drivers/fcrash.c
@@ -58,7 +58,7 @@ static WRITE8_HANDLER( fcrash_snd_bankswitch_w )
state->m_msm_1->set_output_gain(0, (data & 0x08) ? 0.0 : 1.0);
state->m_msm_2->set_output_gain(0, (data & 0x10) ? 0.0 : 1.0);
- memory_set_bank(space->machine(), "bank1", data & 0x07);
+ state->subbank("bank1")->set_entry(data & 0x07);
}
static void m5205_int1( device_t *device )
@@ -695,7 +695,7 @@ static MACHINE_START( fcrash )
cps_state *state = machine.driver_data<cps_state>();
UINT8 *ROM = machine.region("soundcpu")->base();
- memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("soundcpu");
diff --git a/src/mame/drivers/firefox.c b/src/mame/drivers/firefox.c
index e0ba27e495c..08c50d7017e 100644
--- a/src/mame/drivers/firefox.c
+++ b/src/mame/drivers/firefox.c
@@ -433,7 +433,7 @@ WRITE8_MEMBER(firefox_state::novram_store_w)
WRITE8_MEMBER(firefox_state::rom_bank_w)
{
- memory_set_bank(machine(), "bank1", data & 0x1f);
+ subbank("bank1")->set_entry(data & 0x1f);
}
WRITE8_MEMBER(firefox_state::main_irq_clear_w)
@@ -481,7 +481,7 @@ static void firq_gen(running_machine &machine, phillips_22vp931_device &laserdis
static MACHINE_START( firefox )
{
firefox_state *state = machine.driver_data<firefox_state>();
- memory_configure_bank(machine, "bank1", 0, 32, machine.region("maincpu")->base() + 0x10000, 0x1000);
+ state->subbank("bank1")->configure_entries(0, 32, machine.region("maincpu")->base() + 0x10000, 0x1000);
state->m_nvram_1c = machine.device<x2212_device>("nvram_1c");
state->m_nvram_1d = machine.device<x2212_device>("nvram_1d");
diff --git a/src/mame/drivers/firetrap.c b/src/mame/drivers/firetrap.c
index a9c1b92744c..ce40f1e9ca3 100644
--- a/src/mame/drivers/firetrap.c
+++ b/src/mame/drivers/firetrap.c
@@ -183,7 +183,7 @@ WRITE8_MEMBER(firetrap_state::firetrap_nmi_disable_w)
WRITE8_MEMBER(firetrap_state::firetrap_bankselect_w)
{
- memory_set_bank(machine(), "bank1", data & 0x03);
+ subbank("bank1")->set_entry(data & 0x03);
}
READ8_MEMBER(firetrap_state::firetrap_8751_bootleg_r)
@@ -315,7 +315,7 @@ WRITE8_MEMBER(firetrap_state::firetrap_sound_2400_w)
WRITE8_MEMBER(firetrap_state::firetrap_sound_bankselect_w)
{
- memory_set_bank(machine(), "bank2", data & 0x01);
+ subbank("bank2")->set_entry(data & 0x01);
}
static void firetrap_adpcm_int( device_t *device )
@@ -600,8 +600,8 @@ static MACHINE_START( firetrap )
state->m_audiocpu = machine.device("audiocpu");
state->m_msm = machine.device("msm");
- memory_configure_bank(machine, "bank1", 0, 4, &MAIN[0x10000], 0x4000);
- memory_configure_bank(machine, "bank2", 0, 2, &SOUND[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 4, &MAIN[0x10000], 0x4000);
+ state->subbank("bank2")->configure_entries(0, 2, &SOUND[0x10000], 0x4000);
state->save_item(NAME(state->m_i8751_current_command));
state->save_item(NAME(state->m_sound_irq_enable));
diff --git a/src/mame/drivers/flkatck.c b/src/mame/drivers/flkatck.c
index cb8629d6c72..e19ddc3f63c 100644
--- a/src/mame/drivers/flkatck.c
+++ b/src/mame/drivers/flkatck.c
@@ -36,7 +36,7 @@ WRITE8_MEMBER(flkatck_state::flkatck_bankswitch_w)
/* bits 0-1: bank # */
if ((data & 0x03) != 0x03) /* for safety */
- memory_set_bank(machine(), "bank1", data & 0x03);
+ subbank("bank1")->set_entry(data & 0x03);
}
READ8_MEMBER(flkatck_state::flkatck_ls138_r)
@@ -197,7 +197,7 @@ static MACHINE_START( flkatck )
flkatck_state *state = machine.driver_data<flkatck_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 3, &ROM[0x10000], 0x2000);
+ state->subbank("bank1")->configure_entries(0, 3, &ROM[0x10000], 0x2000);
state->m_audiocpu = machine.device("audiocpu");
state->m_k007121 = machine.device("k007121");
diff --git a/src/mame/drivers/freekick.c b/src/mame/drivers/freekick.c
index 2f24c9bce33..5428ca81a9d 100644
--- a/src/mame/drivers/freekick.c
+++ b/src/mame/drivers/freekick.c
@@ -68,7 +68,7 @@ READ8_MEMBER(freekick_state::spinner_r)
WRITE8_MEMBER(freekick_state::pbillrd_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data & 1);
+ subbank("bank1")->set_entry(data & 1);
}
WRITE8_MEMBER(freekick_state::nmi_enable_w)
@@ -599,7 +599,7 @@ static MACHINE_RESET( freekick )
static MACHINE_START( pbillrd )
{
- memory_configure_bank(machine, "bank1", 0, 2, machine.region("maincpu")->base() + 0x10000, 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 2, machine.region("maincpu")->base() + 0x10000, 0x4000);
MACHINE_START_CALL(freekick);
}
diff --git a/src/mame/drivers/fromanc2.c b/src/mame/drivers/fromanc2.c
index 82a1f5e721b..e9bea903717 100644
--- a/src/mame/drivers/fromanc2.c
+++ b/src/mame/drivers/fromanc2.c
@@ -159,10 +159,10 @@ READ8_MEMBER(fromanc2_state::fromanc2_sndcpu_nmi_clr)
WRITE8_MEMBER(fromanc2_state::fromanc2_subcpu_rombank_w)
{
// Change ROM BANK
- memory_set_bank(machine(), "bank1", data & 0x03);
+ subbank("bank1")->set_entry(data & 0x03);
// Change RAM BANK
- memory_set_bank(machine(), "bank2", (data & 0x0c) >> 2);
+ subbank("bank2")->set_entry((data & 0x0c) >> 2);
}
@@ -524,9 +524,9 @@ static MACHINE_START( fromanc2 )
{
fromanc2_state *state = machine.driver_data<fromanc2_state>();
- memory_configure_bank(machine, "bank1", 0, 4, machine.region("sub")->base(), 0x4000);
- memory_configure_bank(machine, "bank2", 0, 1, machine.region("sub")->base() + 0x08000, 0x4000);
- memory_configure_bank(machine, "bank2", 1, 3, machine.region("sub")->base() + 0x14000, 0x4000);
+ state->subbank("bank1")->configure_entries(0, 4, machine.region("sub")->base(), 0x4000);
+ state->subbank("bank2")->configure_entry(0, machine.region("sub")->base() + 0x08000);
+ state->subbank("bank2")->configure_entries(1, 3, machine.region("sub")->base() + 0x14000, 0x4000);
MACHINE_START_CALL(fromanc4);
diff --git a/src/mame/drivers/fromance.c b/src/mame/drivers/fromance.c
index 8c80175280f..fd291228551 100644
--- a/src/mame/drivers/fromance.c
+++ b/src/mame/drivers/fromance.c
@@ -112,7 +112,7 @@ WRITE8_MEMBER(fromance_state::fromance_busycheck_sub_w)
WRITE8_MEMBER(fromance_state::fromance_rombank_w)
{
- memory_set_bank(machine(), "bank1", data);
+ subbank("bank1")->set_entry(data);
}
@@ -956,7 +956,7 @@ static MACHINE_START( fromance )
fromance_state *state = machine.driver_data<fromance_state>();
UINT8 *ROM = machine.region("sub")->base();
- memory_configure_bank(machine, "bank1", 0, 0x100, &ROM[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 0x100, &ROM[0x10000], 0x4000);
state->m_subcpu = machine.device("sub");
diff --git a/src/mame/drivers/funkball.c b/src/mame/drivers/funkball.c
index 9307b553c58..2099964c83e 100644
--- a/src/mame/drivers/funkball.c
+++ b/src/mame/drivers/funkball.c
@@ -534,9 +534,9 @@ WRITE32_MEMBER(funkball_state::biu_ctrl_w)
for(i=0;i<8;i++)
{
if (data & 0x1 << i*4) // enable RAM access to region 0xe0000 - 0xfffff
- memory_set_bankptr(machine(), banknames[i], m_bios_ram + (0x4000 * i));
+ subbank(banknames[i])->set_base(m_bios_ram + (0x4000 * i));
else // disable RAM access (reads go to BIOS ROM)
- memory_set_bankptr(machine(), banknames[i], machine().region("bios")->base() + (0x4000 * i));
+ subbank(banknames[i])->set_base(machine().region("bios")->base() + (0x4000 * i));
}
}
}
@@ -1118,14 +1118,14 @@ static MACHINE_START( funkball )
static MACHINE_RESET( funkball )
{
funkball_state *state = machine.driver_data<funkball_state>();
- memory_set_bankptr(machine, "bios_ext1", machine.region("bios")->base() + 0x00000);
- memory_set_bankptr(machine, "bios_ext2", machine.region("bios")->base() + 0x04000);
- memory_set_bankptr(machine, "bios_ext3", machine.region("bios")->base() + 0x08000);
- memory_set_bankptr(machine, "bios_ext4", machine.region("bios")->base() + 0x0c000);
- memory_set_bankptr(machine, "bios_bank1", machine.region("bios")->base() + 0x10000);
- memory_set_bankptr(machine, "bios_bank2", machine.region("bios")->base() + 0x14000);
- memory_set_bankptr(machine, "bios_bank3", machine.region("bios")->base() + 0x18000);
- memory_set_bankptr(machine, "bios_bank4", machine.region("bios")->base() + 0x1c000);
+ state->subbank("bios_ext1")->set_base(machine.region("bios")->base() + 0x00000);
+ state->subbank("bios_ext2")->set_base(machine.region("bios")->base() + 0x04000);
+ state->subbank("bios_ext3")->set_base(machine.region("bios")->base() + 0x08000);
+ state->subbank("bios_ext4")->set_base(machine.region("bios")->base() + 0x0c000);
+ state->subbank("bios_bank1")->set_base(machine.region("bios")->base() + 0x10000);
+ state->subbank("bios_bank2")->set_base(machine.region("bios")->base() + 0x14000);
+ state->subbank("bios_bank3")->set_base(machine.region("bios")->base() + 0x18000);
+ state->subbank("bios_bank4")->set_base(machine.region("bios")->base() + 0x1c000);
state->m_voodoo_pci_regs.base_addr = 0xff000000;
}
diff --git a/src/mame/drivers/funybubl.c b/src/mame/drivers/funybubl.c
index ac05018530e..ccf82ae78fa 100644
--- a/src/mame/drivers/funybubl.c
+++ b/src/mame/drivers/funybubl.c
@@ -56,12 +56,12 @@ Note: SW2, SW3 & SW4 not populated
WRITE8_MEMBER(funybubl_state::funybubl_vidram_bank_w)
{
- memory_set_bank(machine(), "bank1", data & 1);
+ subbank("bank1")->set_entry(data & 1);
}
WRITE8_MEMBER(funybubl_state::funybubl_cpurombank_w)
{
- memory_set_bank(machine(), "bank2", data & 0x3f); // should we add a check that (data&0x3f) < #banks?
+ subbank("bank2")->set_entry(data & 0x3f); // should we add a check that (data&0x3f) < #banks?
}
@@ -208,10 +208,10 @@ static MACHINE_START( funybubl )
state->save_item(NAME(state->m_banked_vram));
- memory_configure_bank(machine, "bank1", 0, 2, &state->m_banked_vram[0x0000], 0x1000);
- memory_configure_bank(machine, "bank2", 0, 0x10, &ROM[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 2, &state->m_banked_vram[0x0000], 0x1000);
+ state->subbank("bank2")->configure_entries(0, 0x10, &ROM[0x10000], 0x4000);
- memory_set_bank(machine, "bank1", 0);
+ state->subbank("bank1")->set_entry(0);
}
diff --git a/src/mame/drivers/fuukifg2.c b/src/mame/drivers/fuukifg2.c
index 18fa9879035..af6bc648f00 100644
--- a/src/mame/drivers/fuukifg2.c
+++ b/src/mame/drivers/fuukifg2.c
@@ -115,7 +115,7 @@ ADDRESS_MAP_END
WRITE8_MEMBER(fuuki16_state::fuuki16_sound_rombank_w)
{
if (data <= 2)
- memory_set_bank(machine(), "bank1", data);
+ subbank("bank1")->set_entry(data);
else
logerror("CPU #1 - PC %04X: unknown bank bits: %02X\n", cpu_get_pc(&space.device()), data);
}
@@ -443,7 +443,7 @@ static MACHINE_START( fuuki16 )
fuuki16_state *state = machine.driver_data<fuuki16_state>();
UINT8 *ROM = machine.region("audiocpu")->base();
- memory_configure_bank(machine, "bank1", 0, 3, &ROM[0x10000], 0x8000);
+ state->subbank("bank1")->configure_entries(0, 3, &ROM[0x10000], 0x8000);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");
diff --git a/src/mame/drivers/fuukifg3.c b/src/mame/drivers/fuukifg3.c
index bc391b4ba5d..bac22b19d4f 100644
--- a/src/mame/drivers/fuukifg3.c
+++ b/src/mame/drivers/fuukifg3.c
@@ -267,7 +267,7 @@ ADDRESS_MAP_END
WRITE8_MEMBER(fuuki32_state::fuuki32_sound_bw_w)
{
- memory_set_bank(machine(), "bank1", data);
+ subbank("bank1")->set_entry(data);
}
READ8_MEMBER(fuuki32_state::snd_z80_r)
@@ -552,7 +552,7 @@ static MACHINE_START( fuuki32 )
fuuki32_state *state = machine.driver_data<fuuki32_state>();
UINT8 *ROM = machine.region("soundcpu")->base();
- memory_configure_bank(machine, "bank1", 0, 0x10, &ROM[0x10000], 0x8000);
+ state->subbank("bank1")->configure_entries(0, 0x10, &ROM[0x10000], 0x8000);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("soundcpu");
diff --git a/src/mame/drivers/gaelco3d.c b/src/mame/drivers/gaelco3d.c
index 360cb68395f..5dad81681c6 100644
--- a/src/mame/drivers/gaelco3d.c
+++ b/src/mame/drivers/gaelco3d.c
@@ -216,8 +216,8 @@ static MACHINE_RESET( common )
/* allocate a timer for feeding the autobuffer */
state->m_adsp_autobuffer_timer = machine.device<timer_device>("adsp_timer");
- memory_configure_bank(machine, "bank1", 0, 256, machine.region("user1")->base(), 0x4000);
- memory_set_bank(machine, "bank1", 0);
+ state->subbank("bank1")->configure_entries(0, 256, machine.region("user1")->base(), 0x4000);
+ state->subbank("bank1")->set_entry(0);
/* keep the TMS32031 halted until the code is ready to go */
cputag_set_input_line(machine, "tms", INPUT_LINE_RESET, ASSERT_LINE);
@@ -613,7 +613,7 @@ WRITE16_MEMBER(gaelco3d_state::adsp_rombank_w)
{
if (LOG)
logerror("adsp_rombank_w(%d) = %04X\n", offset, data);
- memory_set_bank(machine(), "bank1", (offset & 1) * 0x80 + (data & 0x7f));
+ subbank("bank1")->set_entry((offset & 1) * 0x80 + (data & 0x7f));
}
diff --git a/src/mame/drivers/galaxian.c b/src/mame/drivers/galaxian.c
index 0bf27fbd213..0cd37888cc8 100644
--- a/src/mame/drivers/galaxian.c
+++ b/src/mame/drivers/galaxian.c
@@ -1087,7 +1087,7 @@ INPUT_CHANGED_MEMBER(galaxian_state::gmgalax_game_changed)
m_gmgalax_selected_game = newval;
/* select the bank and graphics bank based on it */
- memory_set_bank(machine(), "bank1", m_gmgalax_selected_game);
+ subbank("bank1")->set_entry(m_gmgalax_selected_game);
galaxian_gfxbank_w(*space, 0, m_gmgalax_selected_game);
/* reset the stars */
@@ -1116,8 +1116,8 @@ CUSTOM_INPUT_MEMBER(galaxian_state::gmgalax_port_r)
WRITE8_MEMBER(galaxian_state::zigzag_bankswap_w)
{
- memory_set_bank(machine(), "bank1", data & 1);
- memory_set_bank(machine(), "bank2", ~data & 1);
+ subbank("bank1")->set_entry(data & 1);
+ subbank("bank2")->set_entry(~data & 1);
}
@@ -2810,7 +2810,7 @@ static DRIVER_INIT( gmgalax )
/* ROM is banked */
space->install_read_bank(0x0000, 0x3fff, "bank1");
- memory_configure_bank(machine, "bank1", 0, 2, machine.region("maincpu")->base() + 0x10000, 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 2, machine.region("maincpu")->base() + 0x10000, 0x4000);
/* callback when the game select is toggled */
state->gmgalax_game_changed(*machine.m_portlist.first()->fieldlist().first(), NULL, 0, 0);
@@ -3026,13 +3026,13 @@ static DRIVER_INIT( zigzag )
/* make ROMs 2 & 3 swappable */
space->install_read_bank(0x2000, 0x2fff, "bank1");
space->install_read_bank(0x3000, 0x3fff, "bank2");
- memory_configure_bank(machine, "bank1", 0, 2, machine.region("maincpu")->base() + 0x2000, 0x1000);
- memory_configure_bank(machine, "bank2", 0, 2, machine.region("maincpu")->base() + 0x2000, 0x1000);
+ state->subbank("bank1")->configure_entries(0, 2, machine.region("maincpu")->base() + 0x2000, 0x1000);
+ state->subbank("bank2")->configure_entries(0, 2, machine.region("maincpu")->base() + 0x2000, 0x1000);
/* also re-install the fixed ROM area as a bank in order to inform the memory system that
the fixed area only extends to 0x1fff */
space->install_read_bank(0x0000, 0x1fff, "bank3");
- memory_set_bankptr(machine, "bank3", machine.region("maincpu")->base() + 0x0000);
+ state->subbank("bank3")->set_base(machine.region("maincpu")->base() + 0x0000);
/* handler for doing the swaps */
space->install_write_handler(0x7002, 0x7002, 0, 0x07f8, write8_delegate(FUNC(galaxian_state::zigzag_bankswap_w),state));
@@ -3396,7 +3396,7 @@ static DRIVER_INIT( sfx )
/* sound board has space for extra ROM */
machine.device("audiocpu")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x3fff, "bank1");
- memory_set_bankptr(machine, "bank1", machine.region("audiocpu")->base());
+ state->subbank("bank1")->set_base(machine.region("audiocpu")->base());
}
@@ -3502,7 +3502,7 @@ static DRIVER_INIT( scorpion )
/* extra ROM */
space->install_read_bank(0x5800, 0x67ff, "bank1");
- memory_set_bankptr(machine, "bank1", machine.region("maincpu")->base() + 0x5800);
+ state->subbank("bank1")->set_base(machine.region("maincpu")->base() + 0x5800);
/* no background related */
// space->nop_write(0x6803, 0x6803);
diff --git a/src/mame/drivers/galivan.c b/src/mame/drivers/galivan.c
index 22f039785bd..c318123eae8 100644
--- a/src/mame/drivers/galivan.c
+++ b/src/mame/drivers/galivan.c
@@ -381,8 +381,8 @@ static MACHINE_START( galivan )
/* configure ROM banking */
UINT8 *rombase = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 2, &rombase[0x10000], 0x2000);
- memory_set_bank(machine, "bank1", 0);
+ state->subbank("bank1")->configure_entries(0, 2, &rombase[0x10000], 0x2000);
+ state->subbank("bank1")->set_entry(0);
/* register for saving */
state->save_item(NAME(state->m_scrollx));
@@ -398,8 +398,8 @@ static MACHINE_START( ninjemak )
/* configure ROM banking */
UINT8 *rombase = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 4, &rombase[0x10000], 0x2000);
- memory_set_bank(machine, "bank1", 0);
+ state->subbank("bank1")->configure_entries(0, 4, &rombase[0x10000], 0x2000);
+ state->subbank("bank1")->set_entry(0);
/* register for saving */
state->save_item(NAME(state->m_scrollx));
@@ -1034,9 +1034,9 @@ ROM_END
WRITE8_MEMBER(galivan_state::youmab_extra_bank_w)
{
if (data == 0xff)
- memory_set_bank(machine(), "bank2", 1);
+ subbank("bank2")->set_entry(1);
else if (data == 0x00)
- memory_set_bank(machine(), "bank2", 0);
+ subbank("bank2")->set_entry(0);
else
printf("data %03x\n", data);
}
@@ -1085,11 +1085,11 @@ static DRIVER_INIT( youmab )
galivan_state *state = machine.driver_data<galivan_state>();
machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x82, 0x82, write8_delegate(FUNC(galivan_state::youmab_extra_bank_w),state)); // banks rom at 0x8000? writes 0xff and 0x00 before executing code there
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x7fff, "bank3");
- memory_set_bankptr(machine, "bank3", machine.region("maincpu")->base());
+ state->subbank("bank3")->set_base(machine.region("maincpu")->base());
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x8000, 0xbfff, "bank2");
- memory_configure_bank(machine, "bank2", 0, 2, machine.region("user2")->base(), 0x4000);
- memory_set_bank(machine, "bank2", 0);
+ state->subbank("bank2")->configure_entries(0, 2, machine.region("user2")->base(), 0x4000);
+ state->subbank("bank2")->set_entry(0);
machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x81, 0x81, write8_delegate(FUNC(galivan_state::youmab_81_w),state)); // ?? often, alternating values
machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x84, 0x84, write8_delegate(FUNC(galivan_state::youmab_84_w),state)); // ?? often, sequence..
diff --git a/src/mame/drivers/gamecstl.c b/src/mame/drivers/gamecstl.c
index 13d266b157d..2de65daeef9 100644
--- a/src/mame/drivers/gamecstl.c
+++ b/src/mame/drivers/gamecstl.c
@@ -216,11 +216,11 @@ static void mxtc_config_w(device_t *busdevice, device_t *device, int function, i
{
if (data & 0x10) // enable RAM access to region 0xf0000 - 0xfffff
{
- memory_set_bankptr(busdevice->machine(), "bank1", state->m_bios_ram);
+ state->subbank("bank1")->set_base(state->m_bios_ram);
}
else // disable RAM access (reads go to BIOS ROM)
{
- memory_set_bankptr(busdevice->machine(), "bank1", busdevice->machine().region("bios")->base() + 0x30000);
+ state->subbank("bank1")->set_base(busdevice->machine().region("bios")->base() + 0x30000);
}
break;
}
@@ -614,7 +614,7 @@ static MACHINE_START(gamecstl)
static MACHINE_RESET(gamecstl)
{
- memory_set_bankptr(machine, "bank1", machine.region("bios")->base() + 0x30000);
+ machine.root_device().subbank("bank1")->set_base(machine.region("bios")->base() + 0x30000);
device_set_irq_callback(machine.device("maincpu"), irq_callback);
}
diff --git a/src/mame/drivers/gberet.c b/src/mame/drivers/gberet.c
index 2eee619c821..be0cda1bdc6 100644
--- a/src/mame/drivers/gberet.c
+++ b/src/mame/drivers/gberet.c
@@ -122,7 +122,7 @@ WRITE8_MEMBER(gberet_state::mrgoemon_coin_counter_w)
coin_counter_w(machine(), 1, data & 2);
/* bits 5-7 = ROM bank select */
- memory_set_bank(machine(), "bank1", ((data & 0xe0) >> 5));
+ subbank("bank1")->set_entry(((data & 0xe0) >> 5));
}
WRITE8_MEMBER(gberet_state::gberet_flipscreen_w)
@@ -574,7 +574,7 @@ ROM_END
static DRIVER_INIT( mrgoemon )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x800);
+ machine.root_device().subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x800);
}
diff --git a/src/mame/drivers/gbusters.c b/src/mame/drivers/gbusters.c
index cda41ce32f3..c8ad2506f19 100644
--- a/src/mame/drivers/gbusters.c
+++ b/src/mame/drivers/gbusters.c
@@ -270,8 +270,8 @@ static MACHINE_START( gbusters )
gbusters_state *state = machine.driver_data<gbusters_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 16, &ROM[0x10000], 0x2000);
- memory_set_bank(machine, "bank1", 0);
+ state->subbank("bank1")->configure_entries(0, 16, &ROM[0x10000], 0x2000);
+ state->subbank("bank1")->set_entry(0);
state->m_generic_paletteram_8.allocate(0x800);
@@ -425,7 +425,7 @@ ROM_END
static KONAMI_SETLINES_CALLBACK( gbusters_banking )
{
/* bits 0-3 ROM bank */
- memory_set_bank(device->machine(), "bank1", lines & 0x0f);
+ device->machine().root_device().subbank("bank1")->set_entry(lines & 0x0f);
if (lines & 0xf0)
{
diff --git a/src/mame/drivers/gei.c b/src/mame/drivers/gei.c
index c8e33a3b6cb..d7e75f26356 100644
--- a/src/mame/drivers/gei.c
+++ b/src/mame/drivers/gei.c
@@ -269,68 +269,68 @@ static READ8_DEVICE_HANDLER( portC_r )
WRITE8_MEMBER(gei_state::banksel_main_w)
{
- memory_set_bankptr(machine(), "bank1",machine().region("maincpu")->base() + 0x8000);
+ subbank("bank1")->set_base(machine().region("maincpu")->base() + 0x8000);
}
WRITE8_MEMBER(gei_state::banksel_1_w)
{
- memory_set_bankptr(machine(), "bank1",machine().region("maincpu")->base() + 0x10000);
+ subbank("bank1")->set_base(machine().region("maincpu")->base() + 0x10000);
}
WRITE8_MEMBER(gei_state::banksel_2_w)
{
- memory_set_bankptr(machine(), "bank1",machine().region("maincpu")->base() + 0x18000);
+ subbank("bank1")->set_base(machine().region("maincpu")->base() + 0x18000);
}
WRITE8_MEMBER(gei_state::banksel_3_w)
{
- memory_set_bankptr(machine(), "bank1",machine().region("maincpu")->base() + 0x20000);
+ subbank("bank1")->set_base(machine().region("maincpu")->base() + 0x20000);
}
WRITE8_MEMBER(gei_state::banksel_4_w)
{
- memory_set_bankptr(machine(), "bank1",machine().region("maincpu")->base() + 0x28000);
+ subbank("bank1")->set_base(machine().region("maincpu")->base() + 0x28000);
}
WRITE8_MEMBER(gei_state::banksel_5_w)
{
- memory_set_bankptr(machine(), "bank1",machine().region("maincpu")->base() + 0x30000);
+ subbank("bank1")->set_base(machine().region("maincpu")->base() + 0x30000);
}
WRITE8_MEMBER(gei_state::banksel_1_1_w)
{
- memory_set_bankptr(machine(), "bank1",machine().region("maincpu")->base() + 0x10000);
+ subbank("bank1")->set_base(machine().region("maincpu")->base() + 0x10000);
}
WRITE8_MEMBER(gei_state::banksel_2_1_w)
{
- memory_set_bankptr(machine(), "bank1",machine().region("maincpu")->base() + 0x14000);
+ subbank("bank1")->set_base(machine().region("maincpu")->base() + 0x14000);
}
WRITE8_MEMBER(gei_state::banksel_3_1_w)
{
- memory_set_bankptr(machine(), "bank1",machine().region("maincpu")->base() + 0x18000);
+ subbank("bank1")->set_base(machine().region("maincpu")->base() + 0x18000);
}
WRITE8_MEMBER(gei_state::banksel_4_1_w)
{
- memory_set_bankptr(machine(), "bank1",machine().region("maincpu")->base() + 0x1c000);
+ subbank("bank1")->set_base(machine().region("maincpu")->base() + 0x1c000);
}
WRITE8_MEMBER(gei_state::banksel_5_1_w)
{
- memory_set_bankptr(machine(), "bank1",machine().region("maincpu")->base() + 0x20000);
+ subbank("bank1")->set_base(machine().region("maincpu")->base() + 0x20000);
}
WRITE8_MEMBER(gei_state::banksel_1_2_w)
{
- memory_set_bankptr(machine(), "bank1",machine().region("maincpu")->base() + 0x12000);
+ subbank("bank1")->set_base(machine().region("maincpu")->base() + 0x12000);
}
WRITE8_MEMBER(gei_state::banksel_2_2_w)
{
- memory_set_bankptr(machine(), "bank1",machine().region("maincpu")->base() + 0x16000);
+ subbank("bank1")->set_base(machine().region("maincpu")->base() + 0x16000);
}
WRITE8_MEMBER(gei_state::banksel_3_2_w)
{
- memory_set_bankptr(machine(), "bank1",machine().region("maincpu")->base() + 0x1a000);
+ subbank("bank1")->set_base(machine().region("maincpu")->base() + 0x1a000);
}
WRITE8_MEMBER(gei_state::banksel_4_2_w)
{
- memory_set_bankptr(machine(), "bank1",machine().region("maincpu")->base() + 0x1e000);
+ subbank("bank1")->set_base(machine().region("maincpu")->base() + 0x1e000);
}
WRITE8_MEMBER(gei_state::banksel_5_2_w)
{
- memory_set_bankptr(machine(), "bank1",machine().region("maincpu")->base() + 0x22000);
+ subbank("bank1")->set_base(machine().region("maincpu")->base() + 0x22000);
}
WRITE8_MEMBER(gei_state::geimulti_bank_w)
@@ -358,36 +358,36 @@ WRITE8_MEMBER(gei_state::geimulti_bank_w)
}
if (bank != -1)
- memory_set_bankptr(machine(), "bank1", machine().region("bank")->base() + bank*0x8000);
+ subbank("bank1")->set_base(machine().region("bank")->base() + bank*0x8000);
}
READ8_MEMBER(gei_state::banksel_1_r)
{
- memory_set_bankptr(machine(), "bank1",machine().region("maincpu")->base() + 0x10000);
+ subbank("bank1")->set_base(machine().region("maincpu")->base() + 0x10000);
return 0x03;
};
READ8_MEMBER(gei_state::banksel_2_r)
{
- memory_set_bankptr(machine(), "bank1",machine().region("maincpu")->base() + 0x18000);
+ subbank("bank1")->set_base(machine().region("maincpu")->base() + 0x18000);
return 0x03;
}
READ8_MEMBER(gei_state::banksel_3_r)
{
- memory_set_bankptr(machine(), "bank1",machine().region("maincpu")->base() + 0x20000);
+ subbank("bank1")->set_base(machine().region("maincpu")->base() + 0x20000);
return 0x03;
}
READ8_MEMBER(gei_state::banksel_4_r)
{
- memory_set_bankptr(machine(), "bank1",machine().region("maincpu")->base() + 0x28000);
+ subbank("bank1")->set_base(machine().region("maincpu")->base() + 0x28000);
return 0x03;
}
READ8_MEMBER(gei_state::banksel_5_r)
{
- memory_set_bankptr(machine(), "bank1",machine().region("maincpu")->base() + 0x30000);
+ subbank("bank1")->set_base(machine().region("maincpu")->base() + 0x30000);
return 0x03;
}
@@ -1873,12 +1873,12 @@ ROM_END
static DRIVER_INIT( setbank )
{
- memory_set_bankptr(machine, "bank1",machine.region("maincpu")->base() + 0x2000);
+ machine.root_device().subbank("bank1")->set_base(machine.region("maincpu")->base() + 0x2000);
}
static DRIVER_INIT( geimulti )
{
- memory_set_bankptr(machine, "bank1",machine.region("bank")->base() + 0x0000);
+ machine.root_device().subbank("bank1")->set_base(machine.region("bank")->base() + 0x0000);
}
GAME( 1982, jokpoker, 0, gselect, gselect, setbank, ROT0, "Greyhound Electronics", "Joker Poker (Version 16.03B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/gladiatr.c b/src/mame/drivers/gladiatr.c
index ce81d0a9cc2..a95c1f8d6c6 100644
--- a/src/mame/drivers/gladiatr.c
+++ b/src/mame/drivers/gladiatr.c
@@ -196,7 +196,7 @@ WRITE8_MEMBER(gladiatr_state::gladiatr_bankswitch_w)
{
UINT8 *rom = machine().region("maincpu")->base() + 0x10000;
- memory_set_bankptr(machine(), "bank1", rom + 0x6000 * (data & 0x01));
+ subbank("bank1")->set_base(rom + 0x6000 * (data & 0x01));
}
@@ -257,7 +257,7 @@ static MACHINE_RESET( gladiator )
/* 6809 bank memory set */
{
UINT8 *rom = machine.region("audiocpu")->base() + 0x10000;
- memory_set_bankptr(machine, "bank2",rom);
+ machine.root_device().subbank("bank2")->set_base(rom);
machine.device("audiocpu")->reset();
}
}
@@ -282,7 +282,7 @@ static WRITE8_DEVICE_HANDLER( glad_adpcm_w )
UINT8 *rom = device->machine().region("audiocpu")->base() + 0x10000;
/* bit6 = bank offset */
- memory_set_bankptr(device->machine(), "bank2",rom + ((data & 0x40) ? 0xc000 : 0));
+ device->machine().root_device().subbank("bank2")->set_base(rom + ((data & 0x40) ? 0xc000 : 0));
msm5205_data_w(device,data); /* bit0..3 */
msm5205_reset_w(device,(data>>5)&1); /* bit 5 */
@@ -988,7 +988,7 @@ static DRIVER_INIT( gladiatr )
/* make sure bank is valid in cpu-reset */
rom = machine.region("audiocpu")->base() + 0x10000;
- memory_set_bankptr(machine, "bank2",rom);
+ machine.root_device().subbank("bank2")->set_base(rom);
}
diff --git a/src/mame/drivers/gng.c b/src/mame/drivers/gng.c
index d95553f6602..778d159bb9c 100644
--- a/src/mame/drivers/gng.c
+++ b/src/mame/drivers/gng.c
@@ -30,9 +30,9 @@ Notes:
WRITE8_MEMBER(gng_state::gng_bankswitch_w)
{
if (data == 4)
- memory_set_bank(machine(), "bank1", 4);
+ subbank("bank1")->set_entry(4);
else
- memory_set_bank(machine(), "bank1", (data & 0x03));
+ subbank("bank1")->set_entry((data & 0x03));
}
WRITE8_MEMBER(gng_state::gng_coin_counter_w)
@@ -305,8 +305,8 @@ static MACHINE_START( gng )
gng_state *state = machine.driver_data<gng_state>();
UINT8 *rombase = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 4, &rombase[0x10000], 0x2000);
- memory_configure_bank(machine, "bank1", 4, 1, &rombase[0x4000], 0x2000);
+ state->subbank("bank1")->configure_entries(0, 4, &rombase[0x10000], 0x2000);
+ state->subbank("bank1")->configure_entry(4, &rombase[0x4000]);
state->save_item(NAME(state->m_scrollx));
state->save_item(NAME(state->m_scrolly));
diff --git a/src/mame/drivers/go2000.c b/src/mame/drivers/go2000.c
index 2d4a7283702..954c8636bdf 100644
--- a/src/mame/drivers/go2000.c
+++ b/src/mame/drivers/go2000.c
@@ -76,7 +76,7 @@ ADDRESS_MAP_END
WRITE8_MEMBER(go2000_state::go2000_pcm_1_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data & 0x07);
+ subbank("bank1")->set_entry(data & 0x07);
}
static ADDRESS_MAP_START( go2000_sound_map, AS_PROGRAM, 8, go2000_state )
@@ -314,9 +314,9 @@ static MACHINE_START( go2000 )
int i;
for (i = 0; i < 8; i++)
- memory_configure_bank(machine, "bank1", i, 1, &SOUND[0x00400 + i * 0x10000], 0x10000 - 0x400);
+ state->subbank("bank1")->configure_entry(i, &SOUND[0x00400 + i * 0x10000]);
- memory_set_bank(machine, "bank1", 0);
+ state->subbank("bank1")->set_entry(0);
state->m_soundcpu = machine.device("soundcpu");
}
diff --git a/src/mame/drivers/goal92.c b/src/mame/drivers/goal92.c
index 8db9c636100..942d62bc685 100644
--- a/src/mame/drivers/goal92.c
+++ b/src/mame/drivers/goal92.c
@@ -69,7 +69,7 @@ ADDRESS_MAP_END
static WRITE8_DEVICE_HANDLER( adpcm_control_w )
{
- memory_set_bank(device->machine(), "bank1", data & 0x01);
+ device->machine().root_device().subbank("bank1")->set_entry(data & 0x01);
msm5205_reset_w(device, data & 0x08);
}
@@ -293,7 +293,7 @@ static MACHINE_START( goal92 )
goal92_state *state = machine.driver_data<goal92_state>();
UINT8 *ROM = machine.region("audiocpu")->base();
- memory_configure_bank(machine, "bank1", 0, 2, &ROM[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x4000);
state->m_audiocpu = machine.device("audiocpu");
diff --git a/src/mame/drivers/goindol.c b/src/mame/drivers/goindol.c
index 945375d0093..94e17b78253 100644
--- a/src/mame/drivers/goindol.c
+++ b/src/mame/drivers/goindol.c
@@ -26,7 +26,7 @@ Notes:
WRITE8_MEMBER(goindol_state::goindol_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data & 0x03);
+ subbank("bank1")->set_entry(data & 0x03);
if (m_char_bank != ((data & 0x10) >> 4))
{
@@ -222,7 +222,7 @@ static MACHINE_START( goindol )
goindol_state *state = machine.driver_data<goindol_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
state->save_item(NAME(state->m_char_bank));
state->save_item(NAME(state->m_prot_toggle));
diff --git a/src/mame/drivers/gstriker.c b/src/mame/drivers/gstriker.c
index 522f24e6022..7477bf89605 100644
--- a/src/mame/drivers/gstriker.c
+++ b/src/mame/drivers/gstriker.c
@@ -217,7 +217,7 @@ WRITE8_MEMBER(gstriker_state::gs_sh_bankswitch_w)
int bankaddress;
bankaddress = 0x10000 + (data & 0x03) * 0x8000;
- memory_set_bankptr(machine(), "bank1",&RAM[bankaddress]);
+ subbank("bank1")->set_base(&RAM[bankaddress]);
}
/*** GFX DECODE **************************************************************/
diff --git a/src/mame/drivers/gundealr.c b/src/mame/drivers/gundealr.c
index a761c63ff6c..aa779169a6c 100644
--- a/src/mame/drivers/gundealr.c
+++ b/src/mame/drivers/gundealr.c
@@ -53,7 +53,7 @@ Runs in interrupt mode 0, the interrupt vectors are 0xcf (RST 08h) and
WRITE8_MEMBER(gundealr_state::yamyam_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data & 0x07);
+ subbank("bank1")->set_entry(data & 0x07);
}
@@ -366,7 +366,7 @@ static MACHINE_START( gundealr )
gundealr_state *state = machine.driver_data<gundealr_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
state->save_item(NAME(state->m_flipscreen));
state->save_item(NAME(state->m_scroll));
diff --git a/src/mame/drivers/gunsmoke.c b/src/mame/drivers/gunsmoke.c
index 84962777295..0ae044d3ebd 100644
--- a/src/mame/drivers/gunsmoke.c
+++ b/src/mame/drivers/gunsmoke.c
@@ -276,7 +276,7 @@ static MACHINE_START( gunsmoke )
gunsmoke_state *state = machine.driver_data<gunsmoke_state>();
UINT8 *rombase = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 4, &rombase[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 4, &rombase[0x10000], 0x4000);
state->save_item(NAME(state->m_chon));
state->save_item(NAME(state->m_objon));
diff --git a/src/mame/drivers/hcastle.c b/src/mame/drivers/hcastle.c
index a23bad2c7b5..a19ebff6e3c 100644
--- a/src/mame/drivers/hcastle.c
+++ b/src/mame/drivers/hcastle.c
@@ -19,7 +19,7 @@
WRITE8_MEMBER(hcastle_state::hcastle_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data & 0x1f);
+ subbank("bank1")->set_entry(data & 0x1f);
}
WRITE8_MEMBER(hcastle_state::hcastle_soundirq_w)
@@ -181,7 +181,7 @@ static MACHINE_START( hcastle )
hcastle_state *state = machine.driver_data<hcastle_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 16, &ROM[0x10000], 0x2000);
+ state->subbank("bank1")->configure_entries(0, 16, &ROM[0x10000], 0x2000);
state->m_audiocpu = machine.device("audiocpu");
state->m_k007121_1 = machine.device("k007121_1");
diff --git a/src/mame/drivers/highvdeo.c b/src/mame/drivers/highvdeo.c
index ce53d7b3e8b..78e64f7261b 100644
--- a/src/mame/drivers/highvdeo.c
+++ b/src/mame/drivers/highvdeo.c
@@ -248,7 +248,7 @@ WRITE16_MEMBER(highvdeo_state::tv_vcf_bankselect_w)
/* bits 0, 1 select the ROM bank */
bankaddress = (data & 0x03) * 0x40000;
- memory_set_bankptr(machine(), "bank1", &ROM[bankaddress]);
+ subbank("bank1")->set_base(&ROM[bankaddress]);
}
@@ -383,7 +383,7 @@ WRITE16_MEMBER(highvdeo_state::tv_tcf_bankselect_w)
/* bits 0, 1, 2 select the ROM bank */
bankaddress = (data & 0x07) * 0x40000;
- memory_set_bankptr(machine(), "bank1", &ROM[bankaddress]);
+ subbank("bank1")->set_base(&ROM[bankaddress]);
}
static ADDRESS_MAP_START( tv_tcf_map, AS_PROGRAM, 16, highvdeo_state )
@@ -505,7 +505,7 @@ WRITE16_MEMBER(highvdeo_state::brasil_status_w)
bankaddress = (data & 0x07) * 0x40000;
- memory_set_bankptr(machine(), "bank1", &ROM[bankaddress]);
+ subbank("bank1")->set_base(&ROM[bankaddress]);
// popmessage("%04x",data);
}
diff --git a/src/mame/drivers/himesiki.c b/src/mame/drivers/himesiki.c
index 8097be2db69..5afbc7eecf1 100644
--- a/src/mame/drivers/himesiki.c
+++ b/src/mame/drivers/himesiki.c
@@ -91,7 +91,7 @@ A 12.000MHz
WRITE8_MEMBER(himesiki_state::himesiki_rombank_w)
{
- memory_set_bank(machine(), "bank1", ((data & 0x08) >> 3));
+ subbank("bank1")->set_entry(((data & 0x08) >> 3));
if (data & 0xf7)
logerror("p06_w %02x\n", data);
@@ -271,7 +271,7 @@ static MACHINE_START( himesiki )
himesiki_state *state = machine.driver_data<himesiki_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 2, &ROM[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x4000);
state->m_subcpu = machine.device("sub");
diff --git a/src/mame/drivers/hng64.c b/src/mame/drivers/hng64.c
index 2bc7ce54adf..30451fbb9b3 100644
--- a/src/mame/drivers/hng64.c
+++ b/src/mame/drivers/hng64.c
@@ -1665,8 +1665,8 @@ static MACHINE_RESET(hyperneo)
/* Sound CPU */
UINT8 *RAM = (UINT8*)state->m_soundram;
- memory_set_bankptr(machine, "bank1",&RAM[0x1e0000]);
- memory_set_bankptr(machine, "bank2",&RAM[0x001000]); // where..
+ state->subbank("bank1")->set_base(&RAM[0x1e0000]);
+ state->subbank("bank2")->set_base(&RAM[0x001000]); // where..
cputag_set_input_line(machine, "audiocpu", INPUT_LINE_HALT, ASSERT_LINE);
cputag_set_input_line(machine, "audiocpu", INPUT_LINE_RESET, ASSERT_LINE);
diff --git a/src/mame/drivers/homedata.c b/src/mame/drivers/homedata.c
index 71e98d15dc5..0833f939c1a 100644
--- a/src/mame/drivers/homedata.c
+++ b/src/mame/drivers/homedata.c
@@ -355,7 +355,7 @@ WRITE8_MEMBER(homedata_state::reikaids_upd7807_portc_w)
*/
// logerror("%04x: port C wr %02x (STATUS %d DATA %d)\n", cpu_get_pc(&space.device()), data, BIT(data, 2), BIT(data, 6));
- memory_set_bank(machine(), "bank2", data & 0x03);
+ subbank("bank2")->set_entry(data & 0x03);
coin_counter_w(machine(), 0, ~data & 0x80);
@@ -494,7 +494,7 @@ WRITE8_MEMBER(homedata_state::pteacher_upd7807_portc_w)
// logerror("%04x: port C wr %02x\n", cpu_get_pc(&space.device()), data);
- memory_set_bank(machine(), "bank2", (data & 0x0c) >> 2);
+ subbank("bank2")->set_entry((data & 0x0c) >> 2);
coin_counter_w(machine(), 0, ~data & 0x80);
@@ -513,9 +513,9 @@ WRITE8_MEMBER(homedata_state::bankswitch_w)
/* last bank is fixed and is #0 for us, other banks start from #1 (hence data+1 below)*/
if (data < last_bank)
- memory_set_bank(machine(), "bank1", data + 1);
+ subbank("bank1")->set_entry(data + 1);
else
- memory_set_bank(machine(), "bank1", 0);
+ subbank("bank1")->set_entry(0);
}
@@ -1151,8 +1151,8 @@ static MACHINE_START( reikaids )
homedata_state *state = machine.driver_data<homedata_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 8, &ROM[0xc000], 0x4000);
- memory_configure_bank(machine, "bank2", 0, 4, machine.region("audiocpu")->base(), 0x10000);
+ state->subbank("bank1")->configure_entries(0, 8, &ROM[0xc000], 0x4000);
+ state->subbank("bank2")->configure_entries(0, 4, machine.region("audiocpu")->base(), 0x10000);
MACHINE_START_CALL(homedata);
@@ -1168,8 +1168,8 @@ static MACHINE_START( pteacher )
homedata_state *state = machine.driver_data<homedata_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 4, &ROM[0xc000], 0x4000);
- memory_configure_bank(machine, "bank2", 0, 4, machine.region("audiocpu")->base(), 0x10000);
+ state->subbank("bank1")->configure_entries(0, 4, &ROM[0xc000], 0x4000);
+ state->subbank("bank2")->configure_entries(0, 4, machine.region("audiocpu")->base(), 0x10000);
MACHINE_START_CALL(homedata);
diff --git a/src/mame/drivers/homerun.c b/src/mame/drivers/homerun.c
index 0a059e5ab0d..335ab7afc6f 100644
--- a/src/mame/drivers/homerun.c
+++ b/src/mame/drivers/homerun.c
@@ -195,8 +195,8 @@ static MACHINE_START( homerun )
homerun_state *state = machine.driver_data<homerun_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 1, &ROM[0x00000], 0x4000);
- memory_configure_bank(machine, "bank1", 1, 7, &ROM[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entry(0, &ROM[0x00000]);
+ state->subbank("bank1")->configure_entries(1, 7, &ROM[0x10000], 0x4000);
state->save_item(NAME(state->m_gfx_ctrl));
state->save_item(NAME(state->m_gc_up));
diff --git a/src/mame/drivers/hornet.c b/src/mame/drivers/hornet.c
index 2e09e20aacd..bd02d36f35d 100644
--- a/src/mame/drivers/hornet.c
+++ b/src/mame/drivers/hornet.c
@@ -599,7 +599,7 @@ WRITE32_MEMBER(hornet_state::comm_rombank_w)
int bank = data >> 24;
UINT8 *usr3 = machine().region("user3")->base();
if (usr3 != NULL)
- memory_set_bank(machine(), "bank1", bank & 0x7f);
+ subbank("bank1")->set_entry(bank & 0x7f);
}
READ32_MEMBER(hornet_state::comm0_unk_r)
@@ -897,14 +897,14 @@ static MACHINE_RESET( hornet )
UINT8 *usr5 = machine.region("user5")->base();
if (usr3 != NULL)
{
- memory_configure_bank(machine, "bank1", 0, machine.region("user3")->bytes() / 0x40000, usr3, 0x40000);
- memory_set_bank(machine, "bank1", 0);
+ machine.root_device().subbank("bank1")->configure_entries(0, machine.region("user3")->bytes() / 0x40000, usr3, 0x40000);
+ machine.root_device().subbank("bank1")->set_entry(0);
}
cputag_set_input_line(machine, "dsp", INPUT_LINE_RESET, ASSERT_LINE);
if (usr5)
- memory_set_bankptr(machine, "bank5", usr5);
+ machine.root_device().subbank("bank5")->set_base(usr5);
}
static double adc12138_input_callback( device_t *device, UINT8 input )
@@ -1019,14 +1019,14 @@ static MACHINE_RESET( hornet_2board )
if (usr3 != NULL)
{
- memory_configure_bank(machine, "bank1", 0, machine.region("user3")->bytes() / 0x40000, usr3, 0x40000);
- memory_set_bank(machine, "bank1", 0);
+ machine.root_device().subbank("bank1")->configure_entries(0, machine.region("user3")->bytes() / 0x40000, usr3, 0x40000);
+ machine.root_device().subbank("bank1")->set_entry(0);
}
cputag_set_input_line(machine, "dsp", INPUT_LINE_RESET, ASSERT_LINE);
cputag_set_input_line(machine, "dsp2", INPUT_LINE_RESET, ASSERT_LINE);
if (usr5)
- memory_set_bankptr(machine, "bank5", usr5);
+ machine.root_device().subbank("bank5")->set_base(usr5);
}
static MACHINE_CONFIG_DERIVED( hornet_2board, hornet )
diff --git a/src/mame/drivers/hvyunit.c b/src/mame/drivers/hvyunit.c
index 0fd4b1f071c..684aaa632e7 100644
--- a/src/mame/drivers/hvyunit.c
+++ b/src/mame/drivers/hvyunit.c
@@ -219,7 +219,7 @@ WRITE8_MEMBER(hvyunit_state::master_bankswitch_w)
unsigned char *ROM = machine().region("master")->base();
int bank = data & 7;
ROM = &ROM[0x4000 * bank];
- memory_set_bankptr(machine(), "bank1", ROM);
+ subbank("bank1")->set_base(ROM);
}
WRITE8_MEMBER(hvyunit_state::mermaid_data_w)
@@ -280,7 +280,7 @@ WRITE8_MEMBER(hvyunit_state::slave_bankswitch_w)
m_port0_data = data;
ROM = &ROM[0x4000 * bank];
- memory_set_bankptr(machine(), "bank2", ROM);
+ subbank("bank2")->set_base(ROM);
}
WRITE8_MEMBER(hvyunit_state::hu_scrollx_w)
@@ -312,7 +312,7 @@ WRITE8_MEMBER(hvyunit_state::sound_bankswitch_w)
int bank = data & 0x3;
ROM = &ROM[0x4000 * bank];
- memory_set_bankptr(machine(), "bank3", ROM);
+ subbank("bank3")->set_base(ROM);
}
diff --git a/src/mame/drivers/ichiban.c b/src/mame/drivers/ichiban.c
index acc94cb32d2..499307ab152 100644
--- a/src/mame/drivers/ichiban.c
+++ b/src/mame/drivers/ichiban.c
@@ -106,7 +106,7 @@ void ichibanjyan_state::machine_start()
{
UINT8 *ROM = machine().region("code")->base();
- memory_configure_bank(machine(), "bank1", 0, 4, ROM, 0x8000);
+ subbank("bank1")->configure_entries(0, 4, ROM, 0x8000);
}
void ichibanjyan_state::machine_reset()
diff --git a/src/mame/drivers/inufuku.c b/src/mame/drivers/inufuku.c
index 97033ce81e8..9678fb915d4 100644
--- a/src/mame/drivers/inufuku.c
+++ b/src/mame/drivers/inufuku.c
@@ -102,7 +102,7 @@ WRITE8_MEMBER(inufuku_state::pending_command_clear_w)
WRITE8_MEMBER(inufuku_state::inufuku_soundrombank_w)
{
- memory_set_bank(machine(), "bank1", data & 0x03);
+ subbank("bank1")->set_entry(data & 0x03);
}
/******************************************************************************
@@ -316,8 +316,8 @@ static MACHINE_START( inufuku )
inufuku_state *state = machine.driver_data<inufuku_state>();
UINT8 *ROM = machine.region("audiocpu")->base();
- memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x10000], 0x8000);
- memory_set_bank(machine, "bank1", 0);
+ state->subbank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x8000);
+ state->subbank("bank1")->set_entry(0);
state->m_audiocpu = machine.device("audiocpu");
diff --git a/src/mame/drivers/itech32.c b/src/mame/drivers/itech32.c
index 0903f0f7a48..0b61579eae0 100644
--- a/src/mame/drivers/itech32.c
+++ b/src/mame/drivers/itech32.c
@@ -625,7 +625,7 @@ READ32_MEMBER(itech32_state::gtclass_prot_result_r)
WRITE8_MEMBER(itech32_state::sound_bank_w)
{
- memory_set_bankptr(machine(), "bank1", &machine().region("soundcpu")->base()[0x10000 + data * 0x4000]);
+ subbank("bank1")->set_base(&machine().region("soundcpu")->base()[0x10000 + data * 0x4000]);
}
diff --git a/src/mame/drivers/itech8.c b/src/mame/drivers/itech8.c
index f843d9ab13c..94efc7613b2 100644
--- a/src/mame/drivers/itech8.c
+++ b/src/mame/drivers/itech8.c
@@ -657,7 +657,7 @@ static MACHINE_RESET( itech8 )
/* make sure bank 0 is selected */
if (main_cpu_type == M6809 || main_cpu_type == HD6309)
{
- memory_set_bankptr(machine, "bank1", &machine.region("maincpu")->base()[0x4000]);
+ state->subbank("bank1")->set_base(&machine.region("maincpu")->base()[0x4000]);
machine.device("maincpu")->reset();
}
@@ -705,7 +705,7 @@ WRITE8_MEMBER(itech8_state::blitter_w)
{
/* bit 0x20 on address 7 controls CPU banking */
if (offset / 2 == 7)
- memory_set_bankptr(machine(), "bank1", &machine().region("maincpu")->base()[0x4000 + 0xc000 * ((data >> 5) & 1)]);
+ subbank("bank1")->set_base(&machine().region("maincpu")->base()[0x4000 + 0xc000 * ((data >> 5) & 1)]);
/* the rest is handled by the video hardware */
itech8_blitter_w(space, offset, data);
@@ -715,7 +715,7 @@ WRITE8_MEMBER(itech8_state::blitter_w)
WRITE8_MEMBER(itech8_state::rimrockn_bank_w)
{
/* banking is controlled here instead of by the blitter output */
- memory_set_bankptr(machine(), "bank1", &machine().region("maincpu")->base()[0x4000 + 0xc000 * (data & 3)]);
+ subbank("bank1")->set_base(&machine().region("maincpu")->base()[0x4000 + 0xc000 * (data & 3)]);
}
diff --git a/src/mame/drivers/jackal.c b/src/mame/drivers/jackal.c
index b8b2911648e..63082dca233 100644
--- a/src/mame/drivers/jackal.c
+++ b/src/mame/drivers/jackal.c
@@ -124,7 +124,7 @@ WRITE8_MEMBER(jackal_state::jackal_rambank_w)
m_spritebank = &rgn[((data & 0x08) << 13)];
m_rambank = &rgn[((data & 0x10) << 12)];
- memory_set_bank(machine(), "bank1", (data & 0x20) ? 1 : 0);
+ subbank("bank1")->set_entry((data & 0x20) ? 1 : 0);
}
@@ -330,9 +330,9 @@ static MACHINE_START( jackal )
jackal_state *state = machine.driver_data<jackal_state>();
UINT8 *ROM = machine.region("master")->base();
- memory_configure_bank(machine, "bank1", 0, 1, &ROM[0x04000], 0x8000);
- memory_configure_bank(machine, "bank1", 1, 1, &ROM[0x14000], 0x8000);
- memory_set_bank(machine, "bank1", 0);
+ state->subbank("bank1")->configure_entry(0, &ROM[0x04000]);
+ state->subbank("bank1")->configure_entry(1, &ROM[0x14000]);
+ state->subbank("bank1")->set_entry(0);
state->m_mastercpu = machine.device("master");
state->m_slavecpu = machine.device("slave");
diff --git a/src/mame/drivers/jaguar.c b/src/mame/drivers/jaguar.c
index 0b46abb1ce5..31687959fc0 100644
--- a/src/mame/drivers/jaguar.c
+++ b/src/mame/drivers/jaguar.c
@@ -503,17 +503,17 @@ static MACHINE_RESET( cojag )
/* graphics banks */
if (cojag_is_r3000)
{
- memory_configure_bank(machine, "bank1", 0, 2, rom + 0x800000, 0x400000);
- memory_set_bank(machine, "bank1", 0);
+ state->subbank("bank1")->configure_entries(0, 2, rom + 0x800000, 0x400000);
+ state->subbank("bank1")->set_entry(0);
}
- memory_configure_bank(machine, "bank8", 0, 2, rom + 0x800000, 0x400000);
- memory_set_bank(machine, "bank8", 0);
+ state->subbank("bank8")->configure_entries(0, 2, rom + 0x800000, 0x400000);
+ state->subbank("bank8")->set_entry(0);
/* sound banks */
- memory_configure_bank(machine, "bank2", 0, 8, rom + 0x000000, 0x200000);
- memory_configure_bank(machine, "bank9", 0, 8, rom + 0x000000, 0x200000);
- memory_set_bank(machine, "bank2", 0);
- memory_set_bank(machine, "bank9", 0);
+ state->subbank("bank2")->configure_entries(0, 8, rom + 0x000000, 0x200000);
+ state->subbank("bank9")->configure_entries(0, 8, rom + 0x000000, 0x200000);
+ state->subbank("bank2")->set_entry(0);
+ state->subbank("bank9")->set_entry(0);
}
/* clear any spinuntil stuff */
@@ -721,8 +721,8 @@ WRITE32_MEMBER(cojag_state::misc_control_w)
/* adjust banking */
if (machine().region("user2")->base())
{
- memory_set_bank(machine(), "bank2", (data >> 1) & 7);
- memory_set_bank(machine(), "bank9", (data >> 1) & 7);
+ subbank("bank2")->set_entry((data >> 1) & 7);
+ subbank("bank9")->set_entry((data >> 1) & 7);
}
COMBINE_DATA(&m_misc_control_data);
@@ -902,8 +902,8 @@ WRITE32_MEMBER(cojag_state::latch_w)
if (machine().region("user2")->base())
{
if (cojag_is_r3000)
- memory_set_bank(machine(), "bank1", data & 1);
- memory_set_bank(machine(), "bank8", data & 1);
+ subbank("bank1")->set_entry(data & 1);
+ subbank("bank8")->set_entry(data & 1);
}
}
diff --git a/src/mame/drivers/jedi.c b/src/mame/drivers/jedi.c
index fe10f6c64c0..1479aeb67f6 100644
--- a/src/mame/drivers/jedi.c
+++ b/src/mame/drivers/jedi.c
@@ -162,7 +162,7 @@ static MACHINE_START( jedi )
state->m_interrupt_timer->adjust(machine.primary_screen->time_until_pos(32), 32);
/* configure the banks */
- memory_configure_bank(machine, "bank1", 0, 3, machine.region("maincpu")->base() + 0x10000, 0x4000);
+ state->subbank("bank1")->configure_entries(0, 3, machine.region("maincpu")->base() + 0x10000, 0x4000);
/* set up save state */
state->save_item(NAME(state->m_nvram_enabled));
@@ -195,9 +195,9 @@ static MACHINE_RESET( jedi )
WRITE8_MEMBER(jedi_state::rom_banksel_w)
{
- if (data & 0x01) memory_set_bank(machine(), "bank1", 0);
- if (data & 0x02) memory_set_bank(machine(), "bank1", 1);
- if (data & 0x04) memory_set_bank(machine(), "bank1", 2);
+ if (data & 0x01) subbank("bank1")->set_entry(0);
+ if (data & 0x02) subbank("bank1")->set_entry(1);
+ if (data & 0x04) subbank("bank1")->set_entry(2);
}
diff --git a/src/mame/drivers/jongkyo.c b/src/mame/drivers/jongkyo.c
index d48e55776f9..670bd9343d4 100644
--- a/src/mame/drivers/jongkyo.c
+++ b/src/mame/drivers/jongkyo.c
@@ -124,7 +124,7 @@ WRITE8_MEMBER(jongkyo_state::bank_select_w)
if (offset & 1)
m_rom_bank |= mask;
- memory_set_bank(machine(), "bank1", m_rom_bank);
+ subbank("bank1")->set_entry(m_rom_bank);
}
WRITE8_MEMBER(jongkyo_state::mux_w)
diff --git a/src/mame/drivers/jpmsys5.c b/src/mame/drivers/jpmsys5.c
index 5ae6922fea6..99efc41aaed 100644
--- a/src/mame/drivers/jpmsys5.c
+++ b/src/mame/drivers/jpmsys5.c
@@ -251,7 +251,7 @@ WRITE16_MEMBER(jpmsys5_state::rombank_w)
{
UINT8 *rom = machine().region("maincpu")->base();
data &= 0x1f;
- memory_set_bankptr(machine(), "bank1", &rom[0x20000 + 0x20000 * data]);
+ subbank("bank1")->set_base(&rom[0x20000 + 0x20000 * data]);
}
READ16_MEMBER(jpmsys5_state::coins_r)
@@ -643,7 +643,7 @@ static ACIA6850_INTERFACE( acia2_if )
static MACHINE_START( jpmsys5v )
{
jpmsys5_state *state = machine.driver_data<jpmsys5_state>();
- memory_set_bankptr(machine, "bank1", machine.region("maincpu")->base()+0x20000);
+ state->subbank("bank1")->set_base(machine.region("maincpu")->base()+0x20000);
state->m_touch_timer = machine.scheduler().timer_alloc(FUNC(touch_cb));
}
@@ -794,7 +794,7 @@ INPUT_PORTS_END
static MACHINE_START( jpmsys5 )
{
- memory_set_bankptr(machine, "bank1", machine.region("maincpu")->base()+0x20000);
+ machine.root_device().subbank("bank1")->set_base(machine.region("maincpu")->base()+0x20000);
}
static MACHINE_RESET( jpmsys5 )
diff --git a/src/mame/drivers/junofrst.c b/src/mame/drivers/junofrst.c
index 6b796962278..82beb8a0f78 100644
--- a/src/mame/drivers/junofrst.c
+++ b/src/mame/drivers/junofrst.c
@@ -190,7 +190,7 @@ WRITE8_MEMBER(junofrst_state::junofrst_blitter_w)
WRITE8_MEMBER(junofrst_state::junofrst_bankselect_w)
{
- memory_set_bank(machine(), "bank1", data & 0x0f);
+ subbank("bank1")->set_entry(data & 0x0f);
}
@@ -529,8 +529,8 @@ static DRIVER_INIT( junofrst )
{
UINT8 *decrypted = konami1_decode(machine, "maincpu");
- memory_configure_bank(machine, "bank1", 0, 16, machine.region("maincpu")->base() + 0x10000, 0x1000);
- memory_configure_bank_decrypted(machine, "bank1", 0, 16, decrypted + 0x10000, 0x1000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 16, machine.region("maincpu")->base() + 0x10000, 0x1000);
+ machine.root_device().subbank("bank1")->configure_decrypted_entries(0, 16, decrypted + 0x10000, 0x1000);
}
diff --git a/src/mame/drivers/kaneko16.c b/src/mame/drivers/kaneko16.c
index ee30aa2ec12..e9ab0c1c115 100644
--- a/src/mame/drivers/kaneko16.c
+++ b/src/mame/drivers/kaneko16.c
@@ -814,7 +814,7 @@ static void kaneko16_common_oki_bank_w( running_machine& machine, const char *ba
if (bankaddr <= (length-bankedsize))
{
- memory_set_bankptr(machine, bankname, samples + bankaddr);
+ machine.root_device().subbank(bankname)->set_base(samples + bankaddr);
}
}
diff --git a/src/mame/drivers/kangaroo.c b/src/mame/drivers/kangaroo.c
index 0f00bc96614..afffe1281d3 100644
--- a/src/mame/drivers/kangaroo.c
+++ b/src/mame/drivers/kangaroo.c
@@ -174,7 +174,7 @@
static MACHINE_START( kangaroo )
{
- memory_configure_bank(machine, "bank1", 0, 2, machine.region("gfx1")->base(), 0x2000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 2, machine.region("gfx1")->base(), 0x2000);
}
diff --git a/src/mame/drivers/ksayakyu.c b/src/mame/drivers/ksayakyu.c
index c86b2231773..a91e287f585 100644
--- a/src/mame/drivers/ksayakyu.c
+++ b/src/mame/drivers/ksayakyu.c
@@ -81,7 +81,7 @@ WRITE8_MEMBER(ksayakyu_state::bank_select_w)
xxxxxxx - unused ?
*/
- memory_set_bank(machine(), "bank1", data & 0x01);
+ subbank("bank1")->set_entry(data & 0x01);
}
WRITE8_MEMBER(ksayakyu_state::latch_w)
@@ -252,7 +252,7 @@ static MACHINE_START( ksayakyu )
ksayakyu_state *state = machine.driver_data<ksayakyu_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 2, &ROM[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x4000);
state->save_item(NAME(state->m_sound_status));
state->save_item(NAME(state->m_video_ctrl));
diff --git a/src/mame/drivers/labyrunr.c b/src/mame/drivers/labyrunr.c
index 590c30fa5dd..986ca73fd97 100644
--- a/src/mame/drivers/labyrunr.c
+++ b/src/mame/drivers/labyrunr.c
@@ -32,7 +32,7 @@ WRITE8_MEMBER(labyrunr_state::labyrunr_bankswitch_w)
if (data & 0xe0) popmessage("bankswitch %02x", data);
/* bits 0-2 = bank number */
- memory_set_bank(machine(), "bank1", data & 0x07); // shall we check if data&7 > #banks?
+ subbank("bank1")->set_entry(data & 0x07); // shall we check if data&7 > #banks?
/* bits 3 and 4 are coin counters */
coin_counter_w(machine(), 0, data & 0x08);
@@ -182,7 +182,7 @@ static MACHINE_START( labyrunr )
labyrunr_state *state = machine.driver_data<labyrunr_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 6, &ROM[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 6, &ROM[0x10000], 0x4000);
state->m_k007121 = machine.device("k007121");
}
diff --git a/src/mame/drivers/lastduel.c b/src/mame/drivers/lastduel.c
index 5af392326c1..10600135999 100644
--- a/src/mame/drivers/lastduel.c
+++ b/src/mame/drivers/lastduel.c
@@ -175,7 +175,7 @@ ADDRESS_MAP_END
WRITE8_MEMBER(lastduel_state::mg_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data & 0x01);
+ subbank("bank1")->set_entry(data & 0x01);
}
static ADDRESS_MAP_START( madgear_sound_map, AS_PROGRAM, 8, lastduel_state )
@@ -481,7 +481,7 @@ static MACHINE_START( madgear )
{
UINT8 *ROM = machine.region("audiocpu")->base();
- memory_configure_bank(machine, "bank1", 0, 2, &ROM[0x10000], 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x4000);
MACHINE_START_CALL(lastduel);
}
diff --git a/src/mame/drivers/leland.c b/src/mame/drivers/leland.c
index c53259ee384..efa5adbfb0b 100644
--- a/src/mame/drivers/leland.c
+++ b/src/mame/drivers/leland.c
@@ -1995,9 +1995,9 @@ static DRIVER_INIT( cerberus )
leland_state *state = machine.driver_data<leland_state>();
/* master CPU bankswitching */
state->m_update_master_bank = cerberus_bankswitch;
- memory_set_bankptr(machine, "bank1", machine.region("master")->base() + 0x2000);
- memory_set_bankptr(machine, "bank2", machine.region("master")->base() + 0xa000);
- memory_set_bankptr(machine, "bank3", machine.region("slave")->base() + 0x2000);
+ state->subbank("bank1")->set_base(machine.region("master")->base() + 0x2000);
+ state->subbank("bank2")->set_base(machine.region("master")->base() + 0xa000);
+ state->subbank("bank3")->set_base(machine.region("slave")->base() + 0x2000);
/* set up the master CPU I/O ports */
init_master_ports(machine, 0x40, 0x80);
diff --git a/src/mame/drivers/lethal.c b/src/mame/drivers/lethal.c
index e0f629ef758..7c77dbc25e5 100644
--- a/src/mame/drivers/lethal.c
+++ b/src/mame/drivers/lethal.c
@@ -234,7 +234,7 @@ static void sound_nmi( device_t *device )
WRITE8_MEMBER(lethal_state::le_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data);
+ subbank("bank1")->set_entry(data);
}
READ8_MEMBER(lethal_state::le_4800_r)
@@ -581,8 +581,8 @@ static MACHINE_START( lethalen )
lethal_state *state = machine.driver_data<lethal_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 0x20, &ROM[0x10000], 0x2000);
- memory_set_bank(machine, "bank1", 0);
+ state->subbank("bank1")->configure_entries(0, 0x20, &ROM[0x10000], 0x2000);
+ state->subbank("bank1")->set_entry(0);
state->m_generic_paletteram_8.allocate(0x3800 + 0x02);
@@ -604,7 +604,7 @@ static MACHINE_RESET( lethalen )
UINT8 *prgrom = (UINT8 *)machine.region("maincpu")->base();
int i;
- memory_set_bankptr(machine, "bank2", &prgrom[0x48000]);
+ state->subbank("bank2")->set_base(&prgrom[0x48000]);
/* force reset again to read proper reset vector */
machine.device("maincpu")->reset();
diff --git a/src/mame/drivers/liberate.c b/src/mame/drivers/liberate.c
index 70acb6b2a99..03394b3886e 100644
--- a/src/mame/drivers/liberate.c
+++ b/src/mame/drivers/liberate.c
@@ -1395,7 +1395,7 @@ static DRIVER_INIT( liberate )
decrypted[A] = (decrypted[A] & 0x7d) | ((decrypted[A] & 0x02) << 6) | ((decrypted[A] & 0x80) >> 6);
}
- memory_configure_bank_decrypted(machine, "bank1", 0, 1, decrypted + 0x8000, 0x10);
+ machine.root_device().subbank("bank1")->configure_decrypted_entry(0, decrypted + 0x8000);
sound_cpu_decrypt(machine);
}
diff --git a/src/mame/drivers/lsasquad.c b/src/mame/drivers/lsasquad.c
index c2072864b73..c81e64963a9 100644
--- a/src/mame/drivers/lsasquad.c
+++ b/src/mame/drivers/lsasquad.c
@@ -155,7 +155,7 @@ Notes:
WRITE8_MEMBER(lsasquad_state::lsasquad_bankswitch_w)
{
/* bits 0-2 select ROM bank */
- memory_set_bank(machine(), "bank1", data & 0x07);
+ subbank("bank1")->set_entry(data & 0x07);
/* bit 3 is zeroed on startup, maybe reset sound CPU */
@@ -569,7 +569,7 @@ static MACHINE_START( lsasquad )
lsasquad_state *state = machine.driver_data<lsasquad_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x2000);
+ state->subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x2000);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");
diff --git a/src/mame/drivers/luckgrln.c b/src/mame/drivers/luckgrln.c
index 045955b9873..261d352241a 100644
--- a/src/mame/drivers/luckgrln.c
+++ b/src/mame/drivers/luckgrln.c
@@ -1053,7 +1053,7 @@ static DRIVER_INIT( luckgrln )
#endif
// ??
-// memory_set_bankptr(machine, "bank1",&rom[0x010000]);
+// machine.root_device().subbank("bank1")->set_base(&rom[0x010000]);
}
diff --git a/src/mame/drivers/lwings.c b/src/mame/drivers/lwings.c
index bd8b7fa194d..d6b56419aae 100644
--- a/src/mame/drivers/lwings.c
+++ b/src/mame/drivers/lwings.c
@@ -77,7 +77,7 @@ WRITE8_MEMBER(lwings_state::lwings_bankswitch_w)
flip_screen_set(~data & 0x01);
/* bits 1 and 2 select ROM bank */
- memory_set_bank(machine(), "bank1", (data & 0x06) >> 1);
+ subbank("bank1")->set_entry((data & 0x06) >> 1);
/* bit 3 enables NMI */
m_nmi_mask = data & 8;
@@ -750,7 +750,7 @@ static MACHINE_START( lwings )
lwings_state *state = machine.driver_data<lwings_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
state->save_item(NAME(state->m_bg2_image));
state->save_item(NAME(state->m_scroll_x));
diff --git a/src/mame/drivers/m107.c b/src/mame/drivers/m107.c
index 7950afefc43..0ab43a0e72f 100644
--- a/src/mame/drivers/m107.c
+++ b/src/mame/drivers/m107.c
@@ -83,7 +83,7 @@ WRITE16_MEMBER(m107_state::m107_bankswitch_w)
{
if (ACCESSING_BITS_0_7)
{
- memory_set_bank(machine(), "bank1", (data & 0x06) >> 1);
+ subbank("bank1")->set_entry((data & 0x06) >> 1);
if (data & 0xf9)
logerror("%05x: bankswitch %04x\n", cpu_get_pc(&space.device()), data);
}
@@ -966,7 +966,7 @@ static DRIVER_INIT( firebarr )
m107_state *state = machine.driver_data<m107_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_set_bankptr(machine, "bank1", &ROM[0xa0000]);
+ state->subbank("bank1")->set_base(&ROM[0xa0000]);
state->m_irq_vectorbase = 0x20;
state->m_spritesystem = 1;
@@ -977,7 +977,7 @@ static DRIVER_INIT( dsoccr94 )
m107_state *state = machine.driver_data<m107_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x80000], 0x20000);
+ state->subbank("bank1")->configure_entries(0, 4, &ROM[0x80000], 0x20000);
machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x06, 0x07, write16_delegate(FUNC(m107_state::m107_bankswitch_w),state));
state->m_irq_vectorbase = 0x80;
diff --git a/src/mame/drivers/m62.c b/src/mame/drivers/m62.c
index 7374a558f34..ca8df6511b4 100644
--- a/src/mame/drivers/m62.c
+++ b/src/mame/drivers/m62.c
@@ -90,7 +90,7 @@ READ8_MEMBER(m62_state::ldrun2_bankswitch_r)
/* swap to bank #1 on second read */
if (m_ldrun2_bankswap == 0)
- memory_set_bank(machine(), "bank1", 1);
+ subbank("bank1")->set_entry(1);
}
return 0;
}
@@ -114,7 +114,7 @@ WRITE8_MEMBER(m62_state::ldrun2_bankswitch_w)
logerror("unknown bank select %02x\n",data);
return;
}
- memory_set_bank(machine(), "bank1", banks[data - 1]);
+ subbank("bank1")->set_entry(banks[data - 1]);
}
else
{
@@ -143,30 +143,30 @@ READ8_MEMBER(m62_state::ldrun3_prot_7_r)
WRITE8_MEMBER(m62_state::ldrun4_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data & 0x01);
+ subbank("bank1")->set_entry(data & 0x01);
}
WRITE8_MEMBER(m62_state::kidniki_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data & 0x0f);
+ subbank("bank1")->set_entry(data & 0x0f);
}
#define battroad_bankswitch_w kidniki_bankswitch_w
WRITE8_MEMBER(m62_state::spelunkr_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data & 0x03);
+ subbank("bank1")->set_entry(data & 0x03);
}
WRITE8_MEMBER(m62_state::spelunk2_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", (data & 0xc0) >> 6);
- memory_set_bank(machine(), "bank2", (data & 0x3c) >> 2);
+ subbank("bank1")->set_entry((data & 0xc0) >> 6);
+ subbank("bank2")->set_entry((data & 0x3c) >> 2);
}
WRITE8_MEMBER(m62_state::youjyudn_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data & 0x01);
+ subbank("bank1")->set_entry(data & 0x01);
}
@@ -2158,19 +2158,19 @@ ROM_END
static DRIVER_INIT( battroad )
{
/* configure memory banks */
- memory_configure_bank(machine, "bank1", 0, 16, machine.region("maincpu")->base() + 0x10000, 0x2000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 16, machine.region("maincpu")->base() + 0x10000, 0x2000);
}
static DRIVER_INIT( ldrun2 )
{
/* configure memory banks */
- memory_configure_bank(machine, "bank1", 0, 2, machine.region("maincpu")->base() + 0x10000, 0x2000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 2, machine.region("maincpu")->base() + 0x10000, 0x2000);
}
static DRIVER_INIT( ldrun4 )
{
/* configure memory banks */
- memory_configure_bank(machine, "bank1", 0, 2, machine.region("maincpu")->base() + 0x10000, 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 2, machine.region("maincpu")->base() + 0x10000, 0x4000);
}
static DRIVER_INIT( kidniki )
@@ -2182,26 +2182,26 @@ static DRIVER_INIT( kidniki )
memcpy(ROM + 0x08000, ROM + 0x10000, 0x2000);
/* configure memory banks */
- memory_configure_bank(machine, "bank1", 0, 16, machine.region("maincpu")->base() + 0x10000, 0x2000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 16, machine.region("maincpu")->base() + 0x10000, 0x2000);
}
static DRIVER_INIT( spelunkr )
{
/* configure memory banks */
- memory_configure_bank(machine, "bank1", 0, 4, machine.region("maincpu")->base() + 0x10000, 0x2000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 4, machine.region("maincpu")->base() + 0x10000, 0x2000);
}
static DRIVER_INIT( spelunk2 )
{
/* configure memory banks */
- memory_configure_bank(machine, "bank1", 0, 4, machine.region("maincpu")->base() + 0x20000, 0x1000);
- memory_configure_bank(machine, "bank2", 0, 16, machine.region("maincpu")->base() + 0x10000, 0x1000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 4, machine.region("maincpu")->base() + 0x20000, 0x1000);
+ machine.root_device().subbank("bank2")->configure_entries(0, 16, machine.region("maincpu")->base() + 0x10000, 0x1000);
}
static DRIVER_INIT( youjyudn )
{
/* configure memory banks */
- memory_configure_bank(machine, "bank1", 0, 2, machine.region("maincpu")->base() + 0x10000, 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 2, machine.region("maincpu")->base() + 0x10000, 0x4000);
}
GAME( 1984, kungfum, 0, kungfum, kungfum, 0, ROT0, "Irem", "Kung-Fu Master", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/m72.c b/src/mame/drivers/m72.c
index dbc66a1fc53..57bc7243845 100644
--- a/src/mame/drivers/m72.c
+++ b/src/mame/drivers/m72.c
@@ -366,7 +366,7 @@ INLINE DRIVER_INIT( m72_8751 )
state->m_protection_ram = auto_alloc_array(machine, UINT16, 0x10000/2);
program->install_read_bank(0xb0000, 0xbffff, "bank1");
program->install_write_handler(0xb0000, 0xb0fff, write16_delegate(FUNC(m72_state::m72_main_mcu_w),state));
- memory_set_bankptr(machine, "bank1", state->m_protection_ram);
+ state->subbank("bank1")->set_base(state->m_protection_ram);
//io->install_legacy_write_handler(0xc0, 0xc1, FUNC(loht_sample_trigger_w));
io->install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::m72_main_mcu_sound_w),state));
@@ -740,7 +740,7 @@ static void install_protection_handler(running_machine &machine, const UINT8 *co
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xb0000, 0xb0fff, "bank1");
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0xb0ffa, 0xb0ffb, read16_delegate(FUNC(m72_state::protection_r),state));
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xb0000, 0xb0fff, write16_delegate(FUNC(m72_state::protection_w),state));
- memory_set_bankptr(machine, "bank1", state->m_protection_ram);
+ state->subbank("bank1")->set_base(state->m_protection_ram);
}
static DRIVER_INIT( bchopper )
diff --git a/src/mame/drivers/m90.c b/src/mame/drivers/m90.c
index 6d3a9a69928..0877ac4c915 100644
--- a/src/mame/drivers/m90.c
+++ b/src/mame/drivers/m90.c
@@ -51,7 +51,7 @@ WRITE16_MEMBER(m90_state::m90_coincounter_w)
WRITE16_MEMBER(m90_state::quizf1_bankswitch_w)
{
if (ACCESSING_BITS_0_7)
- memory_set_bank(machine(), "bank1", data & 0xf);
+ subbank("bank1")->set_entry(data & 0xf);
}
WRITE16_MEMBER(m90_state::dynablsb_sound_command_w)
@@ -1186,7 +1186,7 @@ ROM_END
static DRIVER_INIT( quizf1 )
{
m90_state *state = machine.driver_data<m90_state>();
- memory_configure_bank(machine, "bank1", 0, 16, machine.region("user1")->base(), 0x10000);
+ state->subbank("bank1")->configure_entries(0, 16, machine.region("user1")->base(), 0x10000);
machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x04, 0x05, write16_delegate(FUNC(m90_state::quizf1_bankswitch_w),state));
}
diff --git a/src/mame/drivers/m92.c b/src/mame/drivers/m92.c
index 0d071682eea..b7b5f6b922b 100644
--- a/src/mame/drivers/m92.c
+++ b/src/mame/drivers/m92.c
@@ -281,7 +281,7 @@ WRITE16_MEMBER(m92_state::m92_bankswitch_w)
{
if (ACCESSING_BITS_0_7)
{
- memory_set_bank(machine(), "bank1", (data & 0x06) >> 1);
+ subbank("bank1")->set_entry((data & 0x06) >> 1);
if (data & 0xf9)
logerror("%05x: bankswitch %04x\n", cpu_get_pc(&space.device()), data);
}
@@ -2062,7 +2062,7 @@ static DRIVER_INIT( m92 )
m92_state *state = machine.driver_data<m92_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_set_bankptr(machine, "bank1", &ROM[0xa0000]);
+ state->subbank("bank1")->set_base(&ROM[0xa0000]);
state->m_game_kludge = 0;
state->m_irq_vectorbase = 0x80;
@@ -2074,7 +2074,7 @@ static DRIVER_INIT( m92_alt )
m92_state *state = machine.driver_data<m92_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_set_bankptr(machine, "bank1", &ROM[0xa0000]);
+ state->subbank("bank1")->set_base(&ROM[0xa0000]);
state->m_game_kludge = 0;
state->m_irq_vectorbase = 0x20;
@@ -2095,7 +2095,7 @@ static DRIVER_INIT( m92_bank )
m92_state *state = machine.driver_data<m92_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x80000], 0x20000);
+ state->subbank("bank1")->configure_entries(0, 4, &ROM[0x80000], 0x20000);
machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x20, 0x21, write16_delegate(FUNC(m92_state::m92_bankswitch_w),state));
state->m_game_kludge = 0;
@@ -2108,7 +2108,7 @@ static DRIVER_INIT( majtitl2 )
m92_state *state = machine.driver_data<m92_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x80000], 0x20000);
+ state->subbank("bank1")->configure_entries(0, 4, &ROM[0x80000], 0x20000);
machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x20, 0x21, write16_delegate(FUNC(m92_state::m92_bankswitch_w),state));
/* This game has an eeprom on the game board */
@@ -2123,7 +2123,7 @@ static DRIVER_INIT( ppan )
{
m92_state *state = machine.driver_data<m92_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_set_bankptr(machine, "bank1", &ROM[0xa0000]);
+ state->subbank("bank1")->set_base(&ROM[0xa0000]);
state->m_game_kludge = 0;
state->m_irq_vectorbase = 0x80;
diff --git a/src/mame/drivers/macs.c b/src/mame/drivers/macs.c
index e0d94a9c7a1..f1ca5b26e85 100644
--- a/src/mame/drivers/macs.c
+++ b/src/mame/drivers/macs.c
@@ -98,7 +98,7 @@ ADDRESS_MAP_END
WRITE8_MEMBER(macs_state::rambank_w)
{
- memory_set_bankptr(machine(), "bank3", &m_ram1[0x10000+(data&1)*0x800] );
+ subbank("bank3")->set_base(&m_ram1[0x10000+(data&1)*0x800] );
}
READ8_MEMBER(macs_state::macs_input_r)
@@ -136,7 +136,7 @@ READ8_MEMBER(macs_state::macs_input_r)
WRITE8_MEMBER(macs_state::macs_rom_bank_w)
{
- memory_set_bankptr(machine(), "bank1", machine().region("maincpu")->base() + (data* 0x4000) + 0x10000 + macs_cart_slot*0x400000 );
+ subbank("bank1")->set_base(machine().region("maincpu")->base() + (data* 0x4000) + 0x10000 + macs_cart_slot*0x400000 );
m_st0016_rom_bank=data;
}
@@ -158,14 +158,14 @@ WRITE8_MEMBER(macs_state::macs_output_w)
{
/* FIXME: dunno if this RAM bank is right, DASM tracking made on the POST screens indicates that there's just one RAM bank,
but then MACS2 games locks up. */
- memory_set_bankptr(machine(), "bank3", &m_ram1[((data&0x20)>>5)*0x1000+0x000] );
+ subbank("bank3")->set_base(&m_ram1[((data&0x20)>>5)*0x1000+0x000] );
macs_cart_slot = (data & 0xc) >> 2;
- memory_set_bankptr(machine(), "bank4", &ROM[macs_cart_slot*0x400000+0x10000] );
+ subbank("bank4")->set_base(&ROM[macs_cart_slot*0x400000+0x10000] );
}
- memory_set_bankptr(machine(), "bank2", &m_ram1[((data&0x20)>>5)*0x1000+0x800] );
+ subbank("bank2")->set_base(&m_ram1[((data&0x20)>>5)*0x1000+0x800] );
break;
case 2: m_mux_data = data; break;
@@ -716,10 +716,10 @@ static MACHINE_RESET(macs)
macs_ram1[0x1ff9]=0x07;
#endif
- memory_set_bankptr(machine, "bank1", machine.region("maincpu")->base() + 0x10000 );
- memory_set_bankptr(machine, "bank2", macs_ram1+0x800);
- memory_set_bankptr(machine, "bank3", macs_ram1+0x10000);
- memory_set_bankptr(machine, "bank4", machine.region("maincpu")->base() );
+ state->subbank("bank1")->set_base(machine.region("maincpu")->base() + 0x10000 );
+ state->subbank("bank2")->set_base(macs_ram1+0x800);
+ state->subbank("bank3")->set_base(macs_ram1+0x10000);
+ state->subbank("bank4")->set_base(machine.region("maincpu")->base() );
}
static DRIVER_INIT(macs)
diff --git a/src/mame/drivers/magtouch.c b/src/mame/drivers/magtouch.c
index 38506352bea..54a15ab4e07 100644
--- a/src/mame/drivers/magtouch.c
+++ b/src/mame/drivers/magtouch.c
@@ -158,7 +158,7 @@ WRITE8_MEMBER(magtouch_state::magtouch_io_w)
switch(offset)
{
case 6:
- memory_set_bank(machine(), "rombank", data & 0x7f );
+ subbank("rombank")->set_entry(data & 0x7f );
break;
}
}
@@ -201,8 +201,8 @@ static MACHINE_START( magtouch )
init_pc_common(machine, PCCOMMON_KEYBOARD_AT, magtouch_set_keyb_int);
- memory_configure_bank(machine, "rombank", 0, 0x80, machine.region("game_prg")->base(), 0x8000 );
- memory_set_bank(machine, "rombank", 0);
+ machine.root_device().subbank("rombank")->configure_entries(0, 0x80, machine.region("game_prg")->base(), 0x8000 );
+ machine.root_device().subbank("rombank")->set_entry(0);
// microtouch_init(machine, magtouch_microtouch_tx_callback, NULL);
}
diff --git a/src/mame/drivers/mainevt.c b/src/mame/drivers/mainevt.c
index 7f41147344e..6e09bdce349 100644
--- a/src/mame/drivers/mainevt.c
+++ b/src/mame/drivers/mainevt.c
@@ -57,7 +57,7 @@ WRITE8_MEMBER(mainevt_state::mainevt_bankswitch_w)
{
/* bit 0-1 ROM bank select */
- memory_set_bank(machine(), "bank1", data & 0x03);
+ subbank("bank1")->set_entry(data & 0x03);
/* TODO: bit 5 = select work RAM or palette? */
//palette_selected = data & 0x20;
@@ -414,7 +414,7 @@ static MACHINE_START( mainevt )
mainevt_state *state = machine.driver_data<mainevt_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x10000], 0x2000);
+ state->subbank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x2000);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");
diff --git a/src/mame/drivers/majorpkr.c b/src/mame/drivers/majorpkr.c
index 74aa52cc0ff..8ea516c421b 100644
--- a/src/mame/drivers/majorpkr.c
+++ b/src/mame/drivers/majorpkr.c
@@ -566,7 +566,7 @@ static SCREEN_UPDATE_IND16(majorpkr)
WRITE8_MEMBER(majorpkr_state::rom_bank_w)
{
- memory_set_bank(machine(), "rom_bank", data & 0x3);
+ subbank("rom_bank")->set_entry(data & 0x3);
}
@@ -1084,7 +1084,7 @@ ROM_END
static DRIVER_INIT( majorpkr )
{
UINT8 * ROM = (UINT8 *)machine.region("maincpu")->base();
- memory_configure_bank(machine, "rom_bank", 0, 4, &ROM[0x10000], 0x800);
+ machine.root_device().subbank("rom_bank")->configure_entries(0, 4, &ROM[0x10000], 0x800);
}
diff --git a/src/mame/drivers/malzak.c b/src/mame/drivers/malzak.c
index 6ef97032e56..51bc4756859 100644
--- a/src/mame/drivers/malzak.c
+++ b/src/mame/drivers/malzak.c
@@ -153,7 +153,7 @@ WRITE8_MEMBER(malzak_state::port40_w)
// Bit 6 is used only in Malzak II, and is set high after checking
// the selected version
// logerror("S2650 [0x%04x]: port 0x40 write: 0x%02x\n", cpu_get_pc(machine().device("maincpu")), data);
- memory_set_bank(machine(), "bank1", (data & 0x40) >> 6);
+ subbank("bank1")->set_entry((data & 0x40) >> 6);
}
WRITE8_MEMBER(malzak_state::port60_w)
@@ -370,7 +370,7 @@ static MACHINE_START( malzak )
{
malzak_state *state = machine.driver_data<malzak_state>();
- memory_configure_bank(machine, "bank1", 0, 2, machine.region("user2")->base(), 0x400);
+ state->subbank("bank1")->configure_entries(0, 2, machine.region("user2")->base(), 0x400);
state->m_s2636_0 = machine.device("s2636_0");
state->m_s2636_1 = machine.device("s2636_1");
diff --git a/src/mame/drivers/mayumi.c b/src/mame/drivers/mayumi.c
index db363964a9a..e3c6d73e7f4 100644
--- a/src/mame/drivers/mayumi.c
+++ b/src/mame/drivers/mayumi.c
@@ -96,7 +96,7 @@ WRITE8_MEMBER(mayumi_state::bank_sel_w)
{
int bank = BIT(data, 7) | (BIT(data, 6) << 1);
- memory_set_bank(machine(), "bank1", bank);
+ subbank("bank1")->set_entry(bank);
m_int_enable = data & 1;
@@ -353,8 +353,8 @@ static MACHINE_START( mayumi )
mayumi_state *state = machine.driver_data<mayumi_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x10000], 0x4000);
- memory_set_bank(machine, "bank1", 0);
+ state->subbank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
+ state->subbank("bank1")->set_entry(0);
state->save_item(NAME(state->m_int_enable));
state->save_item(NAME(state->m_input_sel));
diff --git a/src/mame/drivers/mazerbla.c b/src/mame/drivers/mazerbla.c
index a098e8854c6..471fc2aff9d 100644
--- a/src/mame/drivers/mazerbla.c
+++ b/src/mame/drivers/mazerbla.c
@@ -361,14 +361,14 @@ WRITE8_MEMBER(mazerbla_state::cfb_rom_bank_sel_w)/* mazer blazer */
{
m_gfx_rom_bank = data;
- memory_set_bankptr(machine(), "bank1", machine().region("sub2")->base() + (m_gfx_rom_bank * 0x2000) + 0x10000);
+ subbank("bank1")->set_base(machine().region("sub2")->base() + (m_gfx_rom_bank * 0x2000) + 0x10000);
}
WRITE8_MEMBER(mazerbla_state::cfb_rom_bank_sel_w_gg)/* great guns */
{
m_gfx_rom_bank = data >> 1;
- memory_set_bankptr(machine(), "bank1", machine().region("sub2")->base() + (m_gfx_rom_bank * 0x2000) + 0x10000);
+ subbank("bank1")->set_base(machine().region("sub2")->base() + (m_gfx_rom_bank * 0x2000) + 0x10000);
}
diff --git a/src/mame/drivers/mcatadv.c b/src/mame/drivers/mcatadv.c
index 14349fe4b68..32b8ce9919e 100644
--- a/src/mame/drivers/mcatadv.c
+++ b/src/mame/drivers/mcatadv.c
@@ -206,7 +206,7 @@ ADDRESS_MAP_END
WRITE8_MEMBER(mcatadv_state::mcatadv_sound_bw_w)
{
- memory_set_bank(machine(), "bank1", data);
+ subbank("bank1")->set_entry(data);
}
@@ -430,8 +430,8 @@ static MACHINE_START( mcatadv )
mcatadv_state *state = machine.driver_data<mcatadv_state>();
UINT8 *ROM = machine.region("soundcpu")->base();
- memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x4000);
- memory_set_bank(machine, "bank1", 1);
+ state->subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
+ state->subbank("bank1")->set_entry(1);
state->m_maincpu = machine.device("maincpu");
state->m_soundcpu = machine.device("soundcpu");
diff --git a/src/mame/drivers/megadrvb.c b/src/mame/drivers/megadrvb.c
index ace885410ba..9344d3ebd27 100644
--- a/src/mame/drivers/megadrvb.c
+++ b/src/mame/drivers/megadrvb.c
@@ -726,7 +726,7 @@ static DRIVER_INIT( ssf2mdb )
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x400000, 0x5fffff, "bank5");
machine.device("maincpu")->memory().space(AS_PROGRAM)->unmap_write(0x400000, 0x5fffff);
- memory_set_bankptr(machine, "bank5", machine.region( "maincpu" )->base() + 0x400000 );
+ machine.root_device().subbank("bank5")->set_base(machine.region( "maincpu" )->base() + 0x400000 );
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x770070, 0x770075, FUNC(ssf2mdb_dsw_r) );
diff --git a/src/mame/drivers/merit.c b/src/mame/drivers/merit.c
index cd2bed4d676..0a626cf1ba8 100644
--- a/src/mame/drivers/merit.c
+++ b/src/mame/drivers/merit.c
@@ -335,13 +335,13 @@ WRITE8_MEMBER(merit_state::casino5_bank_w)
{
if ( data == 0 )
{
- memory_set_bank(machine(), "bank1", 1);
- memory_set_bank(machine(), "bank2", 1);
+ subbank("bank1")->set_entry(1);
+ subbank("bank2")->set_entry(1);
}
else if ( data == 0xff )
{
- memory_set_bank(machine(), "bank1", 0);
- memory_set_bank(machine(), "bank2", 0);
+ subbank("bank1")->set_entry(0);
+ subbank("bank2")->set_entry(0);
}
else
{
@@ -1215,10 +1215,10 @@ void merit_state::dodge_nvram_init(nvram_device &nvram, void *base, size_t size)
static MACHINE_START(casino5)
{
MACHINE_START_CALL(merit);
- memory_configure_bank(machine, "bank1", 0, 2, machine.region("maincpu")->base() + 0x2000, 0x2000);
- memory_configure_bank(machine, "bank2", 0, 2, machine.region("maincpu")->base() + 0x6000, 0x2000);
- memory_set_bank(machine, "bank1", 0);
- memory_set_bank(machine, "bank2", 0);
+ machine.root_device().subbank("bank1")->configure_entries(0, 2, machine.region("maincpu")->base() + 0x2000, 0x2000);
+ machine.root_device().subbank("bank2")->configure_entries(0, 2, machine.region("maincpu")->base() + 0x6000, 0x2000);
+ machine.root_device().subbank("bank1")->set_entry(0);
+ machine.root_device().subbank("bank2")->set_entry(0);
}
static MACHINE_CONFIG_START( pitboss, merit_state )
@@ -2041,7 +2041,7 @@ static DRIVER_INIT( couple )
dumpers it's just the way it is,a.k.a. it's an "hardware" banking.
update 20060118 by f205v: now we have 3 dumps from 3 different boards and they
all behave the same...*/
- memory_set_bankptr(machine, "bank1",ROM + 0x10000 + (0x2000 * 2));
+ machine.root_device().subbank("bank1")->set_base(ROM + 0x10000 + (0x2000 * 2));
}
static DRIVER_INIT( dtrvwz5 )
diff --git a/src/mame/drivers/meritm.c b/src/mame/drivers/meritm.c
index c235238a12a..b1cfad2c109 100644
--- a/src/mame/drivers/meritm.c
+++ b/src/mame/drivers/meritm.c
@@ -419,7 +419,7 @@ static void meritm_crt250_switch_banks( running_machine &machine )
int rombank = (state->m_bank & 0x07) ^ 0x07;
//logerror( "CRT250: Switching banks: rom = %0x (bank = %x)\n", rombank, state->m_bank );
- memory_set_bank(machine, "bank1", rombank );
+ state->subbank("bank1")->set_entry(rombank );
};
WRITE8_MEMBER(meritm_state::meritm_crt250_bank_w)
@@ -437,9 +437,9 @@ static void meritm_switch_banks( running_machine &machine )
(state->m_psd_a15 & 0x1);
//logerror( "Switching banks: rom = %0x (bank = %x), ram = %0x\n", rombank, state->m_bank, rambank);
- memory_set_bank(machine, "bank1", rombank );
- memory_set_bank(machine, "bank2", rombank | 0x01);
- memory_set_bank(machine, "bank3", rambank);
+ state->subbank("bank1")->set_entry(rombank );
+ state->subbank("bank2")->set_entry(rombank | 0x01);
+ state->subbank("bank3")->set_entry(rambank);
};
WRITE8_MEMBER(meritm_state::meritm_psd_a15_w)
@@ -989,7 +989,7 @@ static MACHINE_START(merit_common)
static MACHINE_START(meritm_crt250)
{
meritm_state *state = machine.driver_data<meritm_state>();
- memory_configure_bank(machine, "bank1", 0, 8, machine.region("maincpu")->base(), 0x10000);
+ state->subbank("bank1")->configure_entries(0, 8, machine.region("maincpu")->base(), 0x10000);
state->m_bank = 0xff;
meritm_crt250_switch_banks(machine);
MACHINE_START_CALL(merit_common);
@@ -1016,9 +1016,9 @@ static MACHINE_START(meritm_crt260)
state->m_ram = auto_alloc_array(machine, UINT8, 0x8000 );
machine.device<nvram_device>("nvram")->set_base(state->m_ram, 0x8000);
memset(state->m_ram, 0x00, 0x8000);
- memory_configure_bank(machine, "bank1", 0, 128, machine.region("maincpu")->base(), 0x8000);
- memory_configure_bank(machine, "bank2", 0, 128, machine.region("maincpu")->base(), 0x8000);
- memory_configure_bank(machine, "bank3", 0, 4, state->m_ram, 0x2000);
+ state->subbank("bank1")->configure_entries(0, 128, machine.region("maincpu")->base(), 0x8000);
+ state->subbank("bank2")->configure_entries(0, 128, machine.region("maincpu")->base(), 0x8000);
+ state->subbank("bank3")->configure_entries(0, 4, state->m_ram, 0x2000);
state->m_bank = 0xff;
state->m_psd_a15 = 0;
meritm_switch_banks(machine);
diff --git a/src/mame/drivers/metro.c b/src/mame/drivers/metro.c
index e7cc917f35d..d93d3cdb5b9 100644
--- a/src/mame/drivers/metro.c
+++ b/src/mame/drivers/metro.c
@@ -402,7 +402,7 @@ WRITE8_MEMBER(metro_state::metro_sound_rombank_w)
bankaddress = 0x10000-0x4000 + ((data >> 4) & 0x03) * 0x4000;
if (bankaddress < 0x10000) bankaddress = 0x0000;
- memory_set_bankptr(machine(), "bank1", &ROM[bankaddress]);
+ subbank("bank1")->set_base(&ROM[bankaddress]);
}
WRITE8_MEMBER(metro_state::daitorid_sound_rombank_w)
@@ -413,7 +413,7 @@ WRITE8_MEMBER(metro_state::daitorid_sound_rombank_w)
bankaddress = 0x10000-0x4000 + ((data >> 4) & 0x07) * 0x4000;
if (bankaddress < 0x10000) bankaddress = 0x10000;
- memory_set_bankptr(machine(), "bank1", &ROM[bankaddress]);
+ subbank("bank1")->set_base(&ROM[bankaddress]);
}
@@ -1696,7 +1696,7 @@ WRITE8_MEMBER(metro_state::blzntrnd_sh_bankswitch_w)
int bankaddress;
bankaddress = 0x10000 + (data & 0x03) * 0x4000;
- memory_set_bankptr(machine(), "bank1", &RAM[bankaddress]);
+ subbank("bank1")->set_base(&RAM[bankaddress]);
}
static void blzntrnd_irqhandler(device_t *device, int irq)
diff --git a/src/mame/drivers/mexico86.c b/src/mame/drivers/mexico86.c
index 12d369ffd62..e50e3fcb0a7 100644
--- a/src/mame/drivers/mexico86.c
+++ b/src/mame/drivers/mexico86.c
@@ -423,7 +423,7 @@ static MACHINE_START( mexico86 )
mexico86_state *state = machine.driver_data<mexico86_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 6, &ROM[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 6, &ROM[0x10000], 0x4000);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");
diff --git a/src/mame/drivers/midqslvr.c b/src/mame/drivers/midqslvr.c
index 699afe7d148..522dde7ef3d 100644
--- a/src/mame/drivers/midqslvr.c
+++ b/src/mame/drivers/midqslvr.c
@@ -132,50 +132,50 @@ static void mxtc_config_w(device_t *busdevice, device_t *device, int function, i
case 0x59: // PAM0
{
if (data & 0x10) // enable RAM access to region 0xf0000 - 0xfffff
- memory_set_bankptr(busdevice->machine(), "bios_bank", state->m_bios_ram);
+ state->subbank("bios_bank")->set_base(state->m_bios_ram);
else // disable RAM access (reads go to BIOS ROM)
- memory_set_bankptr(busdevice->machine(), "bios_bank", busdevice->machine().region("bios")->base() + 0x70000);
+ state->subbank("bios_bank")->set_base(busdevice->machine().region("bios")->base() + 0x70000);
break;
}
case 0x5a: // PAM1
{
if (data & 0x1)
- memory_set_bankptr(busdevice->machine(), "video_bank1", state->m_isa_ram1);
+ state->subbank("video_bank1")->set_base(state->m_isa_ram1);
else
- memory_set_bankptr(busdevice->machine(), "video_bank1", busdevice->machine().region("video_bios")->base() + 0);
+ state->subbank("video_bank1")->set_base(busdevice->machine().region("video_bios")->base() + 0);
if (data & 0x10)
- memory_set_bankptr(busdevice->machine(), "video_bank2", state->m_isa_ram2);
+ state->subbank("video_bank2")->set_base(state->m_isa_ram2);
else
- memory_set_bankptr(busdevice->machine(), "video_bank2", busdevice->machine().region("video_bios")->base() + 0x4000);
+ state->subbank("video_bank2")->set_base(busdevice->machine().region("video_bios")->base() + 0x4000);
break;
}
case 0x5e: // PAM5
{
if (data & 0x1)
- memory_set_bankptr(busdevice->machine(), "bios_ext1", state->m_bios_ext1_ram);
+ state->subbank("bios_ext1")->set_base(state->m_bios_ext1_ram);
else
- memory_set_bankptr(busdevice->machine(), "bios_ext1", busdevice->machine().region("bios")->base() + 0x60000);
+ state->subbank("bios_ext1")->set_base(busdevice->machine().region("bios")->base() + 0x60000);
if (data & 0x10)
- memory_set_bankptr(busdevice->machine(), "bios_ext2", state->m_bios_ext2_ram);
+ state->subbank("bios_ext2")->set_base(state->m_bios_ext2_ram);
else
- memory_set_bankptr(busdevice->machine(), "bios_ext2", busdevice->machine().region("bios")->base() + 0x64000);
+ state->subbank("bios_ext2")->set_base(busdevice->machine().region("bios")->base() + 0x64000);
break;
}
case 0x5f: // PAM6
{
if (data & 0x1)
- memory_set_bankptr(busdevice->machine(), "bios_ext3", state->m_bios_ext3_ram);
+ state->subbank("bios_ext3")->set_base(state->m_bios_ext3_ram);
else
- memory_set_bankptr(busdevice->machine(), "bios_ext3", busdevice->machine().region("bios")->base() + 0x68000);
+ state->subbank("bios_ext3")->set_base(busdevice->machine().region("bios")->base() + 0x68000);
if (data & 0x10)
- memory_set_bankptr(busdevice->machine(), "bios_ext4", state->m_bios_ext4_ram);
+ state->subbank("bios_ext4")->set_base(state->m_bios_ext4_ram);
else
- memory_set_bankptr(busdevice->machine(), "bios_ext4", busdevice->machine().region("bios")->base() + 0x6c000);
+ state->subbank("bios_ext4")->set_base(busdevice->machine().region("bios")->base() + 0x6c000);
break;
}
@@ -674,13 +674,13 @@ static MACHINE_START( midqslvr )
static MACHINE_RESET( midqslvr )
{
- memory_set_bankptr(machine, "bios_bank", machine.region("bios")->base() + 0x70000);
- memory_set_bankptr(machine, "bios_ext1", machine.region("bios")->base() + 0x60000);
- memory_set_bankptr(machine, "bios_ext2", machine.region("bios")->base() + 0x64000);
- memory_set_bankptr(machine, "bios_ext3", machine.region("bios")->base() + 0x68000);
- memory_set_bankptr(machine, "bios_ext4", machine.region("bios")->base() + 0x6c000);
- memory_set_bankptr(machine, "video_bank1", machine.region("video_bios")->base() + 0);
- memory_set_bankptr(machine, "video_bank2", machine.region("video_bios")->base() + 0x4000);
+ machine.root_device().subbank("bios_bank")->set_base(machine.region("bios")->base() + 0x70000);
+ machine.root_device().subbank("bios_ext1")->set_base(machine.region("bios")->base() + 0x60000);
+ machine.root_device().subbank("bios_ext2")->set_base(machine.region("bios")->base() + 0x64000);
+ machine.root_device().subbank("bios_ext3")->set_base(machine.region("bios")->base() + 0x68000);
+ machine.root_device().subbank("bios_ext4")->set_base(machine.region("bios")->base() + 0x6c000);
+ machine.root_device().subbank("video_bank1")->set_base(machine.region("video_bios")->base() + 0);
+ machine.root_device().subbank("video_bank2")->set_base(machine.region("video_bios")->base() + 0x4000);
}
diff --git a/src/mame/drivers/midzeus.c b/src/mame/drivers/midzeus.c
index 2a5c41d9653..954bdc34ed9 100644
--- a/src/mame/drivers/midzeus.c
+++ b/src/mame/drivers/midzeus.c
@@ -268,7 +268,7 @@ WRITE32_MEMBER(midzeus_state::bitlatches_w)
/* ROM bank selection on Zeus 2 */
case 5:
- memory_set_bank(machine(), "bank1", bitlatch[offset] & 3);
+ subbank("bank1")->set_entry(bitlatch[offset] & 3);
break;
/* unknown purpose; crusnexo/thegrid write 1 at startup */
@@ -1441,7 +1441,7 @@ static DRIVER_INIT( crusnexo )
{
dcs2_init(machine, 0, 0);
midway_ioasic_init(machine, MIDWAY_IOASIC_STANDARD, 472/* or 476,477,478,110 */, 99, NULL);
- memory_configure_bank(machine, "bank1", 0, 3, machine.region("user2")->base(), 0x400000*4);
+ machine.root_device().subbank("bank1")->configure_entries(0, 3, machine.region("user2")->base(), 0x400000*4);
midzeus_state *state = machine.driver_data<midzeus_state>();
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x9b0004, 0x9b0007, read32_delegate(FUNC(midzeus_state::crusnexo_leds_r),state), write32_delegate(FUNC(midzeus_state::crusnexo_leds_w),state));
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler (0x8d0009, 0x8d000a, write32_delegate(FUNC(midzeus_state::keypad_select_w),state));
@@ -1452,7 +1452,7 @@ static DRIVER_INIT( thegrid )
{
dcs2_init(machine, 0, 0);
midway_ioasic_init(machine, MIDWAY_IOASIC_STANDARD, 474/* or 491 */, 99, NULL);
- memory_configure_bank(machine, "bank1", 0, 3, machine.region("user2")->base(), 0x400000*4);
+ machine.root_device().subbank("bank1")->configure_entries(0, 3, machine.region("user2")->base(), 0x400000*4);
}
diff --git a/src/mame/drivers/missb2.c b/src/mame/drivers/missb2.c
index 343366f913b..da36586db0a 100644
--- a/src/mame/drivers/missb2.c
+++ b/src/mame/drivers/missb2.c
@@ -154,8 +154,8 @@ WRITE8_MEMBER(missb2_state::missb2_bg_bank_w)
// I don't know how this is really connected, bit 1 is always high afaik...
bank = ((data & 2) ? 1 : 0) | ((data & 1) ? 4 : 0);
- memory_set_bank(machine(), "bank2", bank);
- memory_set_bank(machine(), "bank3", bank);
+ subbank("bank2")->set_entry(bank);
+ subbank("bank3")->set_entry(bank);
}
/* Memory Maps */
@@ -576,11 +576,11 @@ static void configure_banks( running_machine& machine )
UINT8 *ROM = machine.region("maincpu")->base();
UINT8 *SLAVE = machine.region("slave")->base();
- memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
/* 2009-11 FP: isn't there a way to configure both at once? */
- memory_configure_bank(machine, "bank2", 0, 7, &SLAVE[0x8000], 0x1000);
- memory_configure_bank(machine, "bank3", 0, 7, &SLAVE[0x9000], 0x1000);
+ machine.root_device().subbank("bank2")->configure_entries(0, 7, &SLAVE[0x8000], 0x1000);
+ machine.root_device().subbank("bank3")->configure_entries(0, 7, &SLAVE[0x9000], 0x1000);
}
static DRIVER_INIT( missb2 )
diff --git a/src/mame/drivers/mitchell.c b/src/mame/drivers/mitchell.c
index 6059b6d1e81..1e4035d2251 100644
--- a/src/mame/drivers/mitchell.c
+++ b/src/mame/drivers/mitchell.c
@@ -150,7 +150,7 @@ static WRITE8_DEVICE_HANDLER( eeprom_serial_w )
WRITE8_MEMBER(mitchell_state::pang_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data & 0x0f);
+ subbank("bank1")->set_entry(data & 0x0f);
}
/*************************************
@@ -2106,13 +2106,13 @@ static void bootleg_decode( running_machine &machine )
{
address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
space->set_decrypted_region(0x0000, 0x7fff, machine.region("maincpu")->base() + 0x50000);
- memory_configure_bank_decrypted(machine, "bank1", 0, 16, machine.region("maincpu")->base() + 0x60000, 0x4000);
+ machine.root_device().subbank("bank1")->configure_decrypted_entries(0, 16, machine.region("maincpu")->base() + 0x60000, 0x4000);
}
static void configure_banks( running_machine &machine )
{
- memory_configure_bank(machine, "bank1", 0, 16, machine.region("maincpu")->base() + 0x10000, 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 16, machine.region("maincpu")->base() + 0x10000, 0x4000);
}
diff --git a/src/mame/drivers/mjsister.c b/src/mame/drivers/mjsister.c
index 29ed49174cd..8ab98b5edb3 100644
--- a/src/mame/drivers/mjsister.c
+++ b/src/mame/drivers/mjsister.c
@@ -224,7 +224,7 @@ WRITE8_MEMBER(mjsister_state::mjsister_banksel1_w)
if (tmp != m_colorbank)
m_screen_redraw = 1;
- memory_set_bank(machine(), "bank1", m_rombank0 * 2 + m_rombank1);
+ subbank("bank1")->set_entry(m_rombank0 * 2 + m_rombank1);
}
WRITE8_MEMBER(mjsister_state::mjsister_banksel2_w)
@@ -242,7 +242,7 @@ WRITE8_MEMBER(mjsister_state::mjsister_banksel2_w)
logerror("%04x p31_w:%02x\n", cpu_get_pc(&space.device()), data);
}
- memory_set_bank(machine(), "bank1", m_rombank0 * 2 + m_rombank1);
+ subbank("bank1")->set_entry(m_rombank0 * 2 + m_rombank1);
}
WRITE8_MEMBER(mjsister_state::mjsister_input_sel1_w)
@@ -451,7 +451,7 @@ static MACHINE_START( mjsister )
mjsister_state *state = machine.driver_data<mjsister_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x10000], 0x8000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x8000);
state->m_maincpu = machine.device("maincpu");
state->m_dac = machine.device("dac");
diff --git a/src/mame/drivers/mlanding.c b/src/mame/drivers/mlanding.c
index c8cac766a3d..b45c4aa08dc 100644
--- a/src/mame/drivers/mlanding.c
+++ b/src/mame/drivers/mlanding.c
@@ -271,7 +271,7 @@ WRITE16_MEMBER(mlanding_state::ml_output_w)
static WRITE8_DEVICE_HANDLER( sound_bankswitch_w )
{
data=0;
- memory_set_bankptr(device->machine(), "bank1", device->machine().region("audiocpu")->base() + ((data) & 0x03) * 0x4000 + 0x10000 );
+ device->machine().root_device().subbank("bank1")->set_base(device->machine().region("audiocpu")->base() + ((data) & 0x03) * 0x4000 + 0x10000 );
}
static void ml_msm5205_vck(device_t *device)
diff --git a/src/mame/drivers/model1.c b/src/mame/drivers/model1.c
index 2900ef61818..1b43e27dee7 100644
--- a/src/mame/drivers/model1.c
+++ b/src/mame/drivers/model1.c
@@ -664,7 +664,7 @@ WRITE16_MEMBER(model1_state::bank_w)
if(ACCESSING_BITS_0_7) {
switch(data & 0xf) {
case 0x1: // 100000-1fffff data roms banking
- memory_set_bankptr(machine(), "bank1", machine().region("maincpu")->base() + 0x1000000 + 0x100000*((data >> 4) & 0xf));
+ subbank("bank1")->set_base(machine().region("maincpu")->base() + 0x1000000 + 0x100000*((data >> 4) & 0xf));
logerror("BANK %x\n", 0x1000000 + 0x100000*((data >> 4) & 0xf));
break;
case 0x2: // 200000-2fffff data roms banking (unused, all known games have only one bank)
@@ -735,7 +735,7 @@ static TIMER_DEVICE_CALLBACK( model1_interrupt )
static MACHINE_RESET(model1)
{
model1_state *state = machine.driver_data<model1_state>();
- memory_set_bankptr(machine, "bank1", machine.region("maincpu")->base() + 0x1000000);
+ state->subbank("bank1")->set_base(machine.region("maincpu")->base() + 0x1000000);
irq_init(machine);
model1_tgp_reset(machine, !strcmp(machine.system().name, "swa") || !strcmp(machine.system().name, "wingwar") || !strcmp(machine.system().name, "wingwaru") || !strcmp(machine.system().name, "wingwarj"));
if (!strcmp(machine.system().name, "swa"))
@@ -755,7 +755,7 @@ static MACHINE_RESET(model1)
static MACHINE_RESET(model1_vr)
{
model1_state *state = machine.driver_data<model1_state>();
- memory_set_bankptr(machine, "bank1", machine.region("maincpu")->base() + 0x1000000);
+ state->subbank("bank1")->set_base(machine.region("maincpu")->base() + 0x1000000);
irq_init(machine);
model1_vr_tgp_reset(machine);
state->m_sound_irq = 3;
diff --git a/src/mame/drivers/model2.c b/src/mame/drivers/model2.c
index aca19347d33..be611b1cab7 100644
--- a/src/mame/drivers/model2.c
+++ b/src/mame/drivers/model2.c
@@ -356,8 +356,8 @@ static MACHINE_RESET(model2o)
static MACHINE_RESET(model2_scsp)
{
model2_state *state = machine.driver_data<model2_state>();
- memory_set_bankptr(machine, "bank4", machine.region("scsp")->base() + 0x200000);
- memory_set_bankptr(machine, "bank5", machine.region("scsp")->base() + 0x600000);
+ state->subbank("bank4")->set_base(machine.region("scsp")->base() + 0x200000);
+ state->subbank("bank5")->set_base(machine.region("scsp")->base() + 0x600000);
// copy the 68k vector table into RAM
memcpy(state->m_soundram, machine.region("audiocpu")->base() + 0x80000, 16);
@@ -1849,13 +1849,13 @@ WRITE16_MEMBER(model2_state::model2snd_ctrl)
UINT8 *snd = machine().region("scsp")->base();
if (data & 0x20)
{
- memory_set_bankptr(machine(), "bank4", snd + 0x200000);
- memory_set_bankptr(machine(), "bank5", snd + 0x600000);
+ subbank("bank4")->set_base(snd + 0x200000);
+ subbank("bank5")->set_base(snd + 0x600000);
}
else
{
- memory_set_bankptr(machine(), "bank4", snd + 0x800000);
- memory_set_bankptr(machine(), "bank5", snd + 0xa00000);
+ subbank("bank4")->set_base(snd + 0x800000);
+ subbank("bank5")->set_base(snd + 0xa00000);
}
}
}
diff --git a/src/mame/drivers/model3.c b/src/mame/drivers/model3.c
index f627eeafbca..4fd0a63f5c8 100644
--- a/src/mame/drivers/model3.c
+++ b/src/mame/drivers/model3.c
@@ -1277,10 +1277,10 @@ static void model3_init(running_machine &machine, int step)
state->m_sound_irq_enable = 0;
state->m_sound_timer->adjust(attotime::never);
- memory_set_bankptr(machine, "bank1", machine.region( "user1" )->base() + 0x800000 ); /* banked CROM */
+ state->subbank("bank1")->set_base(machine.region( "user1" )->base() + 0x800000 ); /* banked CROM */
- memory_set_bankptr(machine, "bank4", machine.region("samples")->base() + 0x200000);
- memory_set_bankptr(machine, "bank5", machine.region("samples")->base() + 0x600000);
+ state->subbank("bank4")->set_base(machine.region("samples")->base() + 0x200000);
+ state->subbank("bank5")->set_base(machine.region("samples")->base() + 0x600000);
// copy the 68k vector table into RAM
memcpy(state->m_soundram, machine.region("audiocpu")->base()+0x80000, 16);
@@ -1589,7 +1589,7 @@ WRITE64_MEMBER(model3_state::model3_sys_w)
data >>= 56;
data = (~data) & 0x7;
- memory_set_bankptr(machine(), "bank1", machine().region( "user1" )->base() + 0x800000 + (data * 0x800000)); /* banked CROM */
+ subbank("bank1")->set_base(machine().region( "user1" )->base() + 0x800000 + (data * 0x800000)); /* banked CROM */
}
if (ACCESSING_BITS_24_31)
{
@@ -1845,8 +1845,8 @@ WRITE64_MEMBER(model3_state::daytona2_rombank_w)
{
data >>= 56;
data = (~data) & 0xf;
- memory_set_bankptr(machine(), "bank1", machine().region( "user1" )->base() + 0x800000 + (data * 0x800000)); /* banked CROM */
- memory_set_bankptr(machine(), "bank2", machine().region( "user1" )->base() + 0x800000 + (data * 0x800000)); /* banked CROM */
+ subbank("bank1")->set_base(machine().region( "user1" )->base() + 0x800000 + (data * 0x800000)); /* banked CROM */
+ subbank("bank2")->set_base(machine().region( "user1" )->base() + 0x800000 + (data * 0x800000)); /* banked CROM */
}
}
@@ -5049,13 +5049,13 @@ WRITE16_MEMBER(model3_state::model3snd_ctrl)
UINT8 *snd = machine().region("scsp2")->base();
if (data & 0x20)
{
- memory_set_bankptr(machine(), "bank4", snd + 0x200000);
- memory_set_bankptr(machine(), "bank5", snd + 0x600000);
+ subbank("bank4")->set_base(snd + 0x200000);
+ subbank("bank5")->set_base(snd + 0x600000);
}
else
{
- memory_set_bankptr(machine(), "bank4", snd + 0x800000);
- memory_set_bankptr(machine(), "bank5", snd + 0xa00000);
+ subbank("bank4")->set_base(snd + 0x800000);
+ subbank("bank5")->set_base(snd + 0xa00000);
}
}
}
diff --git a/src/mame/drivers/momoko.c b/src/mame/drivers/momoko.c
index 2cd1e14a2db..39d07d4050d 100644
--- a/src/mame/drivers/momoko.c
+++ b/src/mame/drivers/momoko.c
@@ -49,7 +49,7 @@ Stephh's notes (based on the game Z80 code and some tests) :
WRITE8_MEMBER(momoko_state::momoko_bg_read_bank_w)
{
- memory_set_bank(machine(), "bank1", data & 0x1f);
+ subbank("bank1")->set_entry(data & 0x1f);
}
/****************************************************************************/
@@ -230,7 +230,7 @@ static MACHINE_START( momoko )
momoko_state *state = machine.driver_data<momoko_state>();
UINT8 *BG_MAP = machine.region("user1")->base();
- memory_configure_bank(machine, "bank1", 0, 32, &BG_MAP[0x0000], 0x1000);
+ state->subbank("bank1")->configure_entries(0, 32, &BG_MAP[0x0000], 0x1000);
state->save_item(NAME(state->m_fg_scrollx));
state->save_item(NAME(state->m_fg_scrolly));
diff --git a/src/mame/drivers/moo.c b/src/mame/drivers/moo.c
index e044b911126..64af6cbd3c8 100644
--- a/src/mame/drivers/moo.c
+++ b/src/mame/drivers/moo.c
@@ -180,7 +180,7 @@ READ16_MEMBER(moo_state::sound_status_r)
WRITE8_MEMBER(moo_state::sound_bankswitch_w)
{
- memory_set_bankptr(machine(), "bank1", machine().region("soundcpu")->base() + 0x10000 + (data&0xf)*0x4000);
+ subbank("bank1")->set_base(machine().region("soundcpu")->base() + 0x10000 + (data&0xf)*0x4000);
}
diff --git a/src/mame/drivers/mpu4.c b/src/mame/drivers/mpu4.c
index dbc7fce1fb9..57fa8a994f3 100644
--- a/src/mame/drivers/mpu4.c
+++ b/src/mame/drivers/mpu4.c
@@ -466,9 +466,9 @@ static MACHINE_RESET( mpu4 )
{
UINT8 *rom = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 8, &rom[0x01000], 0x10000);
+ state->subbank("bank1")->configure_entries(0, 8, &rom[0x01000], 0x10000);
- memory_set_bank(machine, "bank1", 0);
+ state->subbank("bank1")->set_entry(0);
machine.device("maincpu")->reset();
}
}
@@ -522,7 +522,7 @@ WRITE8_MEMBER(mpu4_state::bankswitch_w)
// printf("bank %02x\n", data);
m_pageval = (data & 0x03);
- memory_set_bank(machine(), "bank1", (m_pageval + (m_pageset ? 4 : 0)) & 0x07);
+ subbank("bank1")->set_entry((m_pageval + (m_pageset ? 4 : 0)) & 0x07);
}
@@ -535,7 +535,7 @@ READ8_MEMBER(mpu4_state::bankswitch_r)
WRITE8_MEMBER(mpu4_state::bankset_w)
{
m_pageval = (data - 2);//writes 2 and 3, to represent 0 and 1 - a hangover from the half page design?
- memory_set_bank(machine(), "bank1", (m_pageval + (m_pageset ? 4 : 0)) & 0x07);
+ subbank("bank1")->set_entry((m_pageval + (m_pageset ? 4 : 0)) & 0x07);
}
@@ -1560,7 +1560,7 @@ static WRITE_LINE_DEVICE_HANDLER( pia_gb_cb2_w )
if (mstate->m_bwb_bank)
{
mstate->m_pageval = state;
- memory_set_bank(device->machine(), "bank1", (mstate->m_pageval + (mstate->m_pageset ? 4 : 0)) & 0x07);
+ mstate->subbank("bank1")->set_entry((mstate->m_pageval + (mstate->m_pageset ? 4 : 0)) & 0x07);
}
}
diff --git a/src/mame/drivers/mquake.c b/src/mame/drivers/mquake.c
index 543e5fec05f..c5554dbe30b 100644
--- a/src/mame/drivers/mquake.c
+++ b/src/mame/drivers/mquake.c
@@ -35,7 +35,7 @@
static WRITE8_DEVICE_HANDLER( mquake_cia_0_porta_w )
{
/* switch banks as appropriate */
- memory_set_bank(device->machine(), "bank1", data & 1);
+ device->machine().root_device().subbank("bank1")->set_entry(data & 1);
/* swap the write handlers between ROM and bank 1 based on the bit */
if ((data & 1) == 0)
@@ -444,8 +444,8 @@ static DRIVER_INIT(mquake)
amiga_machine_config(machine, &mquake_intf);
/* set up memory */
- memory_configure_bank(machine, "bank1", 0, 1, state->m_chip_ram, 0);
- memory_configure_bank(machine, "bank1", 1, 1, machine.region("user1")->base(), 0);
+ state->subbank("bank1")->configure_entry(0, state->m_chip_ram);
+ state->subbank("bank1")->configure_entry(1, machine.region("user1")->base());
}
diff --git a/src/mame/drivers/ms32.c b/src/mame/drivers/ms32.c
index a5cdf5411a8..0b94e88fc95 100644
--- a/src/mame/drivers/ms32.c
+++ b/src/mame/drivers/ms32.c
@@ -1352,8 +1352,8 @@ READ8_MEMBER(ms32_state::latch_r)
WRITE8_MEMBER(ms32_state::ms32_snd_bank_w)
{
- memory_set_bank(machine(), "bank4", (data >> 0) & 0x0F);
- memory_set_bank(machine(), "bank5", (data >> 4) & 0x0F);
+ subbank("bank4")->set_entry((data >> 0) & 0x0F);
+ subbank("bank5")->set_entry((data >> 4) & 0x0F);
}
WRITE8_MEMBER(ms32_state::to_main_w)
@@ -1381,9 +1381,9 @@ ADDRESS_MAP_END
static MACHINE_RESET( ms32 )
{
- memory_set_bankptr(machine, "bank1", machine.region("maincpu")->base());
- memory_set_bank(machine, "bank4", 0);
- memory_set_bank(machine, "bank5", 1);
+ machine.root_device().subbank("bank1")->set_base(machine.region("maincpu")->base());
+ machine.root_device().subbank("bank4")->set_entry(0);
+ machine.root_device().subbank("bank5")->set_entry(1);
irq_init(machine);
}
@@ -2202,8 +2202,8 @@ static void configure_banks(running_machine &machine)
{
ms32_state *state = machine.driver_data<ms32_state>();
state_save_register_global(machine, state->m_to_main);
- memory_configure_bank(machine, "bank4", 0, 16, machine.region("audiocpu")->base() + 0x14000, 0x4000);
- memory_configure_bank(machine, "bank5", 0, 16, machine.region("audiocpu")->base() + 0x14000, 0x4000);
+ state->subbank("bank4")->configure_entries(0, 16, machine.region("audiocpu")->base() + 0x14000, 0x4000);
+ state->subbank("bank5")->configure_entries(0, 16, machine.region("audiocpu")->base() + 0x14000, 0x4000);
}
static DRIVER_INIT( ms32_common )
diff --git a/src/mame/drivers/multfish.c b/src/mame/drivers/multfish.c
index f0c1cb9703b..f42f500b628 100644
--- a/src/mame/drivers/multfish.c
+++ b/src/mame/drivers/multfish.c
@@ -333,7 +333,7 @@ WRITE8_MEMBER(multfish_state::multfish_vid_w)
WRITE8_MEMBER(multfish_state::multfish_bank_w)
{
- memory_set_bank(machine(), "bank1", data & 0x0f);
+ subbank("bank1")->set_entry(data & 0x0f);
}
static READ8_DEVICE_HANDLER( multfish_timekeeper_r )
@@ -1009,8 +1009,8 @@ static MACHINE_RESET( multfish )
{
multfish_state *state = machine.driver_data<multfish_state>();
- memory_configure_bank(machine, "bank1", 0, 16, machine.region("maincpu")->base(), 0x4000);
- memory_set_bank(machine, "bank1", 0);
+ state->subbank("bank1")->configure_entries(0, 16, machine.region("maincpu")->base(), 0x4000);
+ state->subbank("bank1")->set_entry(0);
state->m_disp_enable = 0;
state->m_rambk = 0;
diff --git a/src/mame/drivers/multigam.c b/src/mame/drivers/multigam.c
index 57755e6b13e..92cd5318c65 100644
--- a/src/mame/drivers/multigam.c
+++ b/src/mame/drivers/multigam.c
@@ -196,7 +196,7 @@ static void set_videorom_bank(running_machine& machine, int start, int count, in
/* count determines the size of the area mapped in KB */
for (i = 0; i < count; i++, offset += 0x400)
{
- memory_set_bankptr(machine, banknames[i + start], machine.region("gfx1")->base() + offset);
+ machine.root_device().subbank(banknames[i + start])->set_base(machine.region("gfx1")->base() + offset);
}
}
@@ -209,7 +209,7 @@ static void set_videoram_bank(running_machine& machine, int start, int count, in
/* count determines the size of the area mapped in KB */
for (i = 0; i < count; i++, offset += 0x400)
{
- memory_set_bankptr(machine, banknames[i + start], state->m_vram + offset);
+ state->subbank(banknames[i + start])->set_base(state->m_vram + offset);
}
}
@@ -313,7 +313,7 @@ WRITE8_MEMBER(multigam_state::multigam_switch_prg_rom)
WRITE8_MEMBER(multigam_state::multigam_switch_gfx_rom)
{
- memory_set_bankptr(machine(), "bank1", machine().region("gfx1")->base() + (0x2000 * (data & 0x3f)));
+ subbank("bank1")->set_base(machine().region("gfx1")->base() + (0x2000 * (data & 0x3f)));
set_mirroring(data & 0x40 ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
m_game_gfx_bank = data;
};
@@ -323,7 +323,7 @@ WRITE8_MEMBER(multigam_state::multigam_mapper2_w)
{
if (m_game_gfx_bank & 0x80)
{
- memory_set_bankptr(machine(), "bank1", machine().region("gfx1")->base() + (0x2000 * ((data & 0x3) + (m_game_gfx_bank & 0x3c))));
+ subbank("bank1")->set_base(machine().region("gfx1")->base() + (0x2000 * ((data & 0x3) + (m_game_gfx_bank & 0x3c))));
}
else
{
@@ -511,11 +511,11 @@ WRITE8_MEMBER(multigam_state::multigam3_mmc3_rom_switch_w)
case 0x2001: /* enable ram at $6000 */
if (data & 0x80)
{
- memory_set_bankptr(machine(), "bank10", m_multigmc_mmc3_6000_ram);
+ subbank("bank10")->set_base(m_multigmc_mmc3_6000_ram);
}
else
{
- memory_set_bankptr(machine(), "bank10", machine().region("maincpu")->base() + 0x6000);
+ subbank("bank10")->set_base(machine().region("maincpu")->base() + 0x6000);
}
if (data & 0x40)
{
@@ -599,7 +599,7 @@ WRITE8_MEMBER(multigam_state::multigm3_switch_prg_rom)
else
{
space.install_write_handler(0x8000, 0xffff, write8_delegate(FUNC(multigam_state::multigm3_mapper2_w),this) );
- memory_set_bankptr(machine(), "bank10", machine().region("maincpu")->base() + 0x6000);
+ subbank("bank10")->set_base(machine().region("maincpu")->base() + 0x6000);
}
if (data & 0x80)
@@ -865,7 +865,7 @@ static void supergm3_set_bank(running_machine &machine)
// VRAM
ppu->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x1fff, "bank1");
ppu->memory().space(AS_PROGRAM)->install_write_bank(0x0000, 0x1fff, "bank1");
- memory_set_bankptr(machine, "bank1", state->m_vram);
+ state->subbank("bank1")->set_base(state->m_vram);
if (state->m_supergm3_chr_bank == 0x40)
state->set_mirroring(PPU_MIRROR_VERT);
@@ -890,7 +890,7 @@ static void supergm3_set_bank(running_machine &machine)
{
// title screen
memcpy(mem + 0x8000, mem + 0x18000, 0x8000);
- memory_set_bankptr(machine, "bank10", mem + 0x6000);
+ state->subbank("bank10")->set_base(mem + 0x6000);
ppu->set_scanline_callback(0);
}
else if ((state->m_supergm3_prg_bank & 0x40) == 0)
@@ -1139,7 +1139,7 @@ static MACHINE_START( multigam )
machine.device("ppu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x2000, 0x3eff, read8_delegate(FUNC(multigam_state::multigam_nt_r),state), write8_delegate(FUNC(multigam_state::multigam_nt_w),state));
machine.device("ppu")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x1fff, "bank1");
- memory_set_bankptr(machine, "bank1", machine.region("gfx1")->base());
+ state->subbank("bank1")->set_base(machine.region("gfx1")->base());
}
static MACHINE_START( multigm3 )
diff --git a/src/mame/drivers/mystwarr.c b/src/mame/drivers/mystwarr.c
index ed8dffb8486..cbc5c39402e 100644
--- a/src/mame/drivers/mystwarr.c
+++ b/src/mame/drivers/mystwarr.c
@@ -557,7 +557,7 @@ ADDRESS_MAP_END
static void reset_sound_region(running_machine &machine)
{
mystwarr_state *state = machine.driver_data<mystwarr_state>();
- memory_set_bankptr(machine, "bank2", machine.region("soundcpu")->base() + 0x10000 + state->m_cur_sound_region*0x4000);
+ state->subbank("bank2")->set_base(machine.region("soundcpu")->base() + 0x10000 + state->m_cur_sound_region*0x4000);
}
WRITE8_MEMBER(mystwarr_state::sound_bankswitch_w)
diff --git a/src/mame/drivers/namcofl.c b/src/mame/drivers/namcofl.c
index 8e2b2c75e50..44e98b54875 100644
--- a/src/mame/drivers/namcofl.c
+++ b/src/mame/drivers/namcofl.c
@@ -187,13 +187,13 @@ WRITE32_MEMBER(namcofl_state::namcofl_sysreg_w)
{
if (data == 0) // RAM at 00000000, ROM at 10000000
{
- memory_set_bankptr(machine(), "bank1", m_workram );
- memory_set_bankptr(machine(), "bank2", machine().region("maincpu")->base() );
+ subbank("bank1")->set_base(m_workram );
+ subbank("bank2")->set_base(machine().region("maincpu")->base() );
}
else // ROM at 00000000, RAM at 10000000
{
- memory_set_bankptr(machine(), "bank1", machine().region("maincpu")->base() );
- memory_set_bankptr(machine(), "bank2", m_workram );
+ subbank("bank1")->set_base(machine().region("maincpu")->base() );
+ subbank("bank2")->set_base(m_workram );
}
}
}
@@ -580,8 +580,8 @@ static MACHINE_RESET( namcofl )
machine.scheduler().timer_set(machine.primary_screen->time_until_pos(machine.primary_screen->visible_area().max_y + 3), FUNC(network_interrupt_callback));
machine.scheduler().timer_set(machine.primary_screen->time_until_pos(machine.primary_screen->visible_area().max_y + 1), FUNC(vblank_interrupt_callback));
- memory_set_bankptr(machine, "bank1", machine.region("maincpu")->base() );
- memory_set_bankptr(machine, "bank2", state->m_workram );
+ state->subbank("bank1")->set_base(machine.region("maincpu")->base() );
+ state->subbank("bank2")->set_base(state->m_workram );
memset(state->m_workram, 0x00, 0x100000);
}
@@ -811,8 +811,8 @@ static void namcofl_common_init(running_machine &machine)
namcofl_state *state = machine.driver_data<namcofl_state>();
state->m_workram = auto_alloc_array(machine, UINT32, 0x100000/4);
- memory_set_bankptr(machine, "bank1", machine.region("maincpu")->base() );
- memory_set_bankptr(machine, "bank2", state->m_workram );
+ state->subbank("bank1")->set_base(machine.region("maincpu")->base() );
+ state->subbank("bank2")->set_base(state->m_workram );
}
static DRIVER_INIT(speedrcr)
diff --git a/src/mame/drivers/namcos11.c b/src/mame/drivers/namcos11.c
index f3b5abc48a5..74002cf133f 100644
--- a/src/mame/drivers/namcos11.c
+++ b/src/mame/drivers/namcos11.c
@@ -617,7 +617,7 @@ READ32_MEMBER(namcos11_state::keycus_c443_r)
INLINE void bankswitch_rom8( address_space *space, const char *bank, int n_data )
{
- memory_set_bank( space->machine(), bank, ( ( n_data & 0xc0 ) >> 4 ) + ( n_data & 0x03 ) );
+ space->machine().root_device().subbank( bank )->set_entry( ( ( n_data & 0xc0 ) >> 4 ) + ( n_data & 0x03 ) );
}
static const char * const bankname[] = { "bank1", "bank2", "bank3", "bank4", "bank5", "bank6", "bank7", "bank8" };
@@ -656,7 +656,7 @@ INLINE void bankswitch_rom64( address_space *space, const char *bank, int n_data
namcos11_state *state = space->machine().driver_data<namcos11_state>();
/* todo: verify behaviour */
- memory_set_bank( space->machine(), bank, ( ( ( ( n_data & 0xc0 ) >> 3 ) + ( n_data & 0x07 ) ) ^ state->m_n_bankoffset ) );
+ state->subbank( bank )->set_entry( ( ( ( ( n_data & 0xc0 ) >> 3 ) + ( n_data & 0x07 ) ) ^ state->m_n_bankoffset ) );
}
WRITE32_MEMBER(namcos11_state::bankswitch_rom64_w)
@@ -891,8 +891,8 @@ static void namcos11_init_common(running_machine &machine, int n_daughterboard)
for (bank = 0; bank < 8; bank++)
{
- memory_configure_bank(machine, bankname[bank], 0, len / ( 1024 * 1024 ), rgn, 1024 * 1024 );
- memory_set_bank(machine, bankname[bank], 0 );
+ state->subbank(bankname[bank])->configure_entries(0, len / ( 1024 * 1024 ), rgn, 1024 * 1024 );
+ state->subbank(bankname[bank])->set_entry(0 );
}
if (n_daughterboard == 32)
diff --git a/src/mame/drivers/namcos12.c b/src/mame/drivers/namcos12.c
index 85039fd275d..1046f90c5ff 100644
--- a/src/mame/drivers/namcos12.c
+++ b/src/mame/drivers/namcos12.c
@@ -1159,7 +1159,7 @@ WRITE32_MEMBER(namcos12_state::bankoffset_w)
m_n_bankoffset = data;
}
- memory_set_bank( machine(), "bank1", m_n_bankoffset );
+ subbank( "bank1" )->set_entry( m_n_bankoffset );
verboselog( machine(), 1, "bankoffset_w( %08x, %08x, %08x ) %08x\n", offset, data, mem_mask, m_n_bankoffset );
}
@@ -1321,13 +1321,13 @@ static void system11gun_install( running_machine &machine )
WRITE32_MEMBER(namcos12_state::kcoff_w)
{
- memory_set_bankptr( machine(), "bank2", machine().region( "user1" )->base() + 0x20280 );
+ subbank( "bank2" )->set_base( machine().region( "user1" )->base() + 0x20280 );
}
WRITE32_MEMBER(namcos12_state::kcon_w)
{
- memory_set_bankptr( machine(), "bank2", m_kcram );
+ subbank( "bank2" )->set_base( m_kcram );
}
WRITE32_MEMBER(namcos12_state::tektagt_protection_1_w)
@@ -1429,7 +1429,7 @@ static MACHINE_RESET( namcos12 )
space->install_write_handler(0x1f018000, 0x1f018003, write32_delegate(FUNC(namcos12_state::kcoff_w),state));
memset( state->m_kcram, 0, sizeof( state->m_kcram ) );
- memory_set_bankptr( space->machine(), "bank2", state->m_kcram );
+ state->subbank( "bank2" )->set_base( state->m_kcram );
}
}
@@ -1627,7 +1627,7 @@ static DRIVER_INIT( namcos12 )
psx_driver_init(machine);
- memory_configure_bank(machine, "bank1", 0, machine.region( "user2" )->bytes() / 0x200000, machine.region( "user2" )->base(), 0x200000 );
+ state->subbank("bank1")->configure_entries(0, machine.region( "user2" )->bytes() / 0x200000, machine.region( "user2" )->base(), 0x200000 );
state->m_s12_porta = 0;
state->m_s12_rtcstate = 0;
@@ -1640,7 +1640,7 @@ static DRIVER_INIT( namcos12 )
state->m_n_dmaoffset = 0;
state->m_n_dmabias = 0;
state->m_n_bankoffset = 0;
- memory_set_bank( machine, "bank1", 0 );
+ state->subbank( "bank1" )->set_entry( 0 );
state->save_item( NAME(state->m_n_dmaoffset) );
state->save_item( NAME(state->m_n_dmabias) );
diff --git a/src/mame/drivers/namcos86.c b/src/mame/drivers/namcos86.c
index a6ba75c1661..edcfab18c73 100644
--- a/src/mame/drivers/namcos86.c
+++ b/src/mame/drivers/namcos86.c
@@ -190,7 +190,7 @@ WRITE8_MEMBER(namcos86_state::bankswitch1_w)
/* with bankswitch1_ext_w() in wndrmomo */
if (machine().region("user1")->base()) return;
- memory_set_bankptr(machine(), "bank1",base + ((data & 0x03) * 0x2000));
+ subbank("bank1")->set_base(base + ((data & 0x03) * 0x2000));
}
WRITE8_MEMBER(namcos86_state::bankswitch1_ext_w)
@@ -199,14 +199,14 @@ WRITE8_MEMBER(namcos86_state::bankswitch1_ext_w)
if (base == 0) return;
- memory_set_bankptr(machine(), "bank1",base + ((data & 0x1f) * 0x2000));
+ subbank("bank1")->set_base(base + ((data & 0x1f) * 0x2000));
}
WRITE8_MEMBER(namcos86_state::bankswitch2_w)
{
UINT8 *base = machine().region("cpu2")->base() + 0x10000;
- memory_set_bankptr(machine(), "bank2",base + ((data & 0x03) * 0x2000));
+ subbank("bank2")->set_base(base + ((data & 0x03) * 0x2000));
}
/* Stubs to pass the correct Dip Switch setup to the MCU */
@@ -326,7 +326,7 @@ static MACHINE_RESET( namco86 )
{
UINT8 *base = machine.region("cpu1")->base() + 0x10000;
- memory_set_bankptr(machine, "bank1",base);
+ machine.root_device().subbank("bank1")->set_base(base);
}
diff --git a/src/mame/drivers/nbmj8991.c b/src/mame/drivers/nbmj8991.c
index f6758e56994..f623ad7b4fe 100644
--- a/src/mame/drivers/nbmj8991.c
+++ b/src/mame/drivers/nbmj8991.c
@@ -49,7 +49,7 @@ Notes:
WRITE8_MEMBER(nbmj8991_state::nbmj8991_soundbank_w)
{
if (!(data & 0x80)) soundlatch_clear_byte_w(space, 0, 0);
- memory_set_bank(machine(), "bank1", data & 0x03);
+ subbank("bank1")->set_entry(data & 0x03);
}
WRITE8_MEMBER(nbmj8991_state::nbmj8991_sound_w)
@@ -70,8 +70,8 @@ static MACHINE_RESET( nbmj8991 )
device_t *audiocpu = machine.device("audiocpu");
if (audiocpu != NULL && audiocpu->type() == Z80)
{
- memory_configure_bank(machine, "bank1", 0, 4, machine.region("audiocpu")->base() + 0x8000, 0x8000);
- memory_set_bank(machine, "bank1", 0);
+ machine.root_device().subbank("bank1")->configure_entries(0, 4, machine.region("audiocpu")->base() + 0x8000, 0x8000);
+ machine.root_device().subbank("bank1")->set_entry(0);
}
MACHINE_RESET_CALL(nb1413m3);
}
diff --git a/src/mame/drivers/nbmj9195.c b/src/mame/drivers/nbmj9195.c
index 288d42d06cd..359b7c5473b 100644
--- a/src/mame/drivers/nbmj9195.c
+++ b/src/mame/drivers/nbmj9195.c
@@ -42,7 +42,7 @@ WRITE8_MEMBER(nbmj9195_state::nbmj9195_soundbank_w)
{
UINT8 *SNDROM = machine().region("audiocpu")->base();
- memory_set_bankptr(machine(), "bank1", &SNDROM[0x08000 + (0x8000 * (data & 0x03))]);
+ subbank("bank1")->set_base(&SNDROM[0x08000 + (0x8000 * (data & 0x03))]);
}
READ8_MEMBER(nbmj9195_state::nbmj9195_sound_r)
diff --git a/src/mame/drivers/neodrvr.c b/src/mame/drivers/neodrvr.c
index 6f42315d13e..ec2048719cd 100644
--- a/src/mame/drivers/neodrvr.c
+++ b/src/mame/drivers/neodrvr.c
@@ -9560,7 +9560,7 @@ static DRIVER_INIT( mslug5 )
static TIMER_CALLBACK( ms5pcb_bios_timer_callback )
{
int harddip3 = input_port_read(machine, "HARDDIP") & 1;
- memory_set_bankptr(machine, NEOGEO_BANK_BIOS, machine.region("mainbios")->base() + 0x20000 + harddip3 * 0x20000);
+ machine.root_device().subbank(NEOGEO_BANK_BIOS)->set_base(machine.region("mainbios")->base() + 0x20000 + harddip3 * 0x20000);
}
static DRIVER_INIT( ms5pcb )
@@ -9597,7 +9597,7 @@ static DRIVER_INIT( ms5plus )
static TIMER_CALLBACK( svcpcb_bios_timer_callback )
{
int harddip3 = input_port_read(machine, "HARDDIP") & 1;
- memory_set_bankptr(machine, NEOGEO_BANK_BIOS, machine.region("mainbios")->base() + 0x20000 + harddip3 * 0x20000);
+ machine.root_device().subbank(NEOGEO_BANK_BIOS)->set_base(machine.region("mainbios")->base() + 0x20000 + harddip3 * 0x20000);
}
static DRIVER_INIT( svcpcb )
diff --git a/src/mame/drivers/neogeo.c b/src/mame/drivers/neogeo.c
index 4ec5ae69de5..96da58a7cef 100644
--- a/src/mame/drivers/neogeo.c
+++ b/src/mame/drivers/neogeo.c
@@ -625,7 +625,7 @@ CUSTOM_INPUT_MEMBER(neogeo_state::get_audio_result)
static void _set_main_cpu_vector_table_source( running_machine &machine )
{
neogeo_state *state = machine.driver_data<neogeo_state>();
- memory_set_bank(machine, NEOGEO_BANK_VECTORS, state->m_main_cpu_vector_table_source);
+ state->subbank(NEOGEO_BANK_VECTORS)->set_entry(state->m_main_cpu_vector_table_source);
}
@@ -641,7 +641,7 @@ static void set_main_cpu_vector_table_source( running_machine &machine, UINT8 da
static void _set_main_cpu_bank_address( running_machine &machine )
{
neogeo_state *state = machine.driver_data<neogeo_state>();
- memory_set_bankptr(machine, NEOGEO_BANK_CARTRIDGE, &machine.region("maincpu")->base()[state->m_main_cpu_bank_address]);
+ state->subbank(NEOGEO_BANK_CARTRIDGE)->set_base(&machine.region("maincpu")->base()[state->m_main_cpu_bank_address]);
}
@@ -684,8 +684,8 @@ static void main_cpu_banking_init( running_machine &machine )
address_space *mainspace = machine.device("maincpu")->memory().space(AS_PROGRAM);
/* create vector banks */
- memory_configure_bank(machine, NEOGEO_BANK_VECTORS, 0, 1, machine.region("mainbios")->base(), 0);
- memory_configure_bank(machine, NEOGEO_BANK_VECTORS, 1, 1, machine.region("maincpu")->base(), 0);
+ machine.root_device().subbank(NEOGEO_BANK_VECTORS)->configure_entry(0, machine.region("mainbios")->base());
+ machine.root_device().subbank(NEOGEO_BANK_VECTORS)->configure_entry(1, machine.region("maincpu")->base());
/* set initial main CPU bank */
if (machine.region("maincpu")->bytes() > 0x100000)
@@ -708,7 +708,7 @@ static void set_audio_cpu_banking( running_machine &machine )
int region;
for (region = 0; region < 4; region++)
- memory_set_bank(machine, NEOGEO_BANK_AUDIO_CPU_CART_BANK + region, state->m_audio_cpu_banks[region]);
+ state->subbank(NEOGEO_BANK_AUDIO_CPU_CART_BANK + region)->set_entry(state->m_audio_cpu_banks[region]);
}
@@ -763,7 +763,7 @@ static void _set_audio_cpu_rom_source( address_space *space )
/* if (!machine.region("audiobios")->base()) */
state->m_audio_cpu_rom_source = 1;
- memory_set_bank(space->machine(), NEOGEO_BANK_AUDIO_CPU_MAIN_BANK, state->m_audio_cpu_rom_source);
+ state->subbank(NEOGEO_BANK_AUDIO_CPU_MAIN_BANK)->set_entry(state->m_audio_cpu_rom_source);
/* reset CPU if the source changed -- this is a guess */
if (state->m_audio_cpu_rom_source != state->m_audio_cpu_rom_source_last)
@@ -796,8 +796,8 @@ static void audio_cpu_banking_init( running_machine &machine )
/* audio bios/cartridge selection */
if (machine.region("audiobios")->base())
- memory_configure_bank(machine, NEOGEO_BANK_AUDIO_CPU_MAIN_BANK, 0, 1, machine.region("audiobios")->base(), 0);
- memory_configure_bank(machine, NEOGEO_BANK_AUDIO_CPU_MAIN_BANK, 1, 1, machine.region("audiocpu")->base(), 0);
+ state->subbank(NEOGEO_BANK_AUDIO_CPU_MAIN_BANK)->configure_entry(0, machine.region("audiobios")->base());
+ state->subbank(NEOGEO_BANK_AUDIO_CPU_MAIN_BANK)->configure_entry(1, machine.region("audiocpu")->base());
/* audio banking */
address_mask = machine.region("audiocpu")->bytes() - 0x10000 - 1;
@@ -808,7 +808,7 @@ static void audio_cpu_banking_init( running_machine &machine )
for (bank = 0; bank < 0x100; bank++)
{
UINT32 bank_address = 0x10000 + (((bank << (11 + region)) & 0x3ffff) & address_mask);
- memory_configure_bank(machine, NEOGEO_BANK_AUDIO_CPU_CART_BANK + region, bank, 1, &rgn[bank_address], 0);
+ state->subbank(NEOGEO_BANK_AUDIO_CPU_CART_BANK + region)->configure_entry(bank, &rgn[bank_address]);
}
}
@@ -990,7 +990,7 @@ static MACHINE_START( neogeo )
machine.device<nvram_device>("saveram")->set_base(save_ram, 0x10000);
/* set the BIOS bank */
- memory_set_bankptr(machine, NEOGEO_BANK_BIOS, machine.region("mainbios")->base());
+ state->subbank(NEOGEO_BANK_BIOS)->set_base(machine.region("mainbios")->base());
/* set the initial main CPU bank */
main_cpu_banking_init(machine);
@@ -1335,7 +1335,7 @@ DEVICE_IMAGE_LOAD( neo_cartridge )
// setup cartridge ROM area
image.device().machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x000080,0x0fffff,"cart_rom");
- memory_set_bankptr(image.device().machine(),"cart_rom",&image.device().machine().region("maincpu")->base()[0x80]);
+ image.device().machine().root_device().subbank("cart_rom")->set_base(&image.device().machine().region("maincpu")->base()[0x80]);
// handle possible protection
mvs_install_protection(image);
diff --git a/src/mame/drivers/ninjakd2.c b/src/mame/drivers/ninjakd2.c
index 37f60e7f5b6..7907ccf1457 100644
--- a/src/mame/drivers/ninjakd2.c
+++ b/src/mame/drivers/ninjakd2.c
@@ -175,16 +175,16 @@ static INTERRUPT_GEN( ninjakd2_interrupt )
static MACHINE_RESET( ninjakd2 )
{
/* initialize main Z80 bank */
- memory_configure_bank(machine, "bank1", 0, 8, machine.region("maincpu")->base() + 0x10000, 0x4000);
- memory_set_bank(machine, "bank1", 0);
+ machine.root_device().subbank("bank1")->configure_entries(0, 8, machine.region("maincpu")->base() + 0x10000, 0x4000);
+ machine.root_device().subbank("bank1")->set_entry(0);
}
static void robokid_init_banks(running_machine &machine)
{
/* initialize main Z80 bank */
- memory_configure_bank(machine, "bank1", 0, 2, machine.region("maincpu")->base(), 0x4000);
- memory_configure_bank(machine, "bank1", 2, 14, machine.region("maincpu")->base() + 0x10000, 0x4000);
- memory_set_bank(machine, "bank1", 0);
+ machine.root_device().subbank("bank1")->configure_entries(0, 2, machine.region("maincpu")->base(), 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(2, 14, machine.region("maincpu")->base() + 0x10000, 0x4000);
+ machine.root_device().subbank("bank1")->set_entry(0);
}
static MACHINE_RESET( robokid )
@@ -202,12 +202,12 @@ static MACHINE_RESET( omegaf )
WRITE8_MEMBER(ninjakd2_state::ninjakd2_bankselect_w)
{
- memory_set_bank(machine(), "bank1", data & 0x7);
+ subbank("bank1")->set_entry(data & 0x7);
}
WRITE8_MEMBER(ninjakd2_state::robokid_bankselect_w)
{
- memory_set_bank(machine(), "bank1", data & 0xf);
+ subbank("bank1")->set_entry(data & 0xf);
}
diff --git a/src/mame/drivers/ninjaw.c b/src/mame/drivers/ninjaw.c
index 94cfa6d4e9e..8251d93e1a9 100644
--- a/src/mame/drivers/ninjaw.c
+++ b/src/mame/drivers/ninjaw.c
@@ -355,7 +355,7 @@ WRITE16_MEMBER(ninjaw_state::cpua_ctrl_w)
static void reset_sound_region( running_machine &machine )
{
ninjaw_state *state = machine.driver_data<ninjaw_state>();
- memory_set_bank(machine, "bank10", state->m_banknum);
+ state->subbank("bank10")->set_entry(state->m_banknum);
}
WRITE8_MEMBER(ninjaw_state::sound_bankswitch_w)
@@ -757,7 +757,7 @@ static MACHINE_START( ninjaw )
{
ninjaw_state *state = machine.driver_data<ninjaw_state>();
- memory_configure_bank(machine, "bank10", 0, 8, machine.region("audiocpu")->base() + 0xc000, 0x4000);
+ state->subbank("bank10")->configure_entries(0, 8, machine.region("audiocpu")->base() + 0xc000, 0x4000);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");
diff --git a/src/mame/drivers/niyanpai.c b/src/mame/drivers/niyanpai.c
index 6c6d914ad16..2eff4695c77 100644
--- a/src/mame/drivers/niyanpai.c
+++ b/src/mame/drivers/niyanpai.c
@@ -57,7 +57,7 @@ static void niyanpai_soundbank_w(running_machine &machine, int data)
{
UINT8 *SNDROM = machine.region("audiocpu")->base();
- memory_set_bankptr(machine, "bank1", &SNDROM[0x08000 + (0x8000 * (data & 0x03))]);
+ machine.root_device().subbank("bank1")->set_base(&SNDROM[0x08000 + (0x8000 * (data & 0x03))]);
}
READ8_MEMBER(niyanpai_state::niyanpai_sound_r)
diff --git a/src/mame/drivers/nmk16.c b/src/mame/drivers/nmk16.c
index cb12661c99e..eb2d43735f2 100644
--- a/src/mame/drivers/nmk16.c
+++ b/src/mame/drivers/nmk16.c
@@ -277,7 +277,7 @@ WRITE8_MEMBER(nmk16_state::macross2_sound_bank_w)
{
UINT8 *rom = machine().region("audiocpu")->base() + 0x10000;
- memory_set_bankptr(machine(), "bank1",rom + (data & 0x07) * 0x4000);
+ subbank("bank1")->set_base(rom + (data & 0x07) * 0x4000);
}
WRITE8_MEMBER(nmk16_state::tharrier_oki6295_bankswitch_0_w)
@@ -1067,7 +1067,7 @@ WRITE8_MEMBER(nmk16_state::okibank_w)
WRITE8_MEMBER(nmk16_state::raphero_sound_rombank_w)
{
- memory_set_bankptr(machine(), "bank1",machine().region("audiocpu")->base() + 0x10000 + (data & 0x07) * 0x4000);
+ subbank("bank1")->set_base(machine().region("audiocpu")->base() + 0x10000 + (data & 0x07) * 0x4000);
}
static ADDRESS_MAP_START( raphero_sound_mem_map, AS_PROGRAM, 8, nmk16_state )
diff --git a/src/mame/drivers/nss.c b/src/mame/drivers/nss.c
index 89362627f2b..8e980084e9b 100644
--- a/src/mame/drivers/nss.c
+++ b/src/mame/drivers/nss.c
@@ -481,7 +481,7 @@ WRITE8_MEMBER(nss_state::port80_w)
---- ---x BIOS bankswitch
*/
- memory_set_bank(machine(), "bank1", data & 1);
+ subbank("bank1")->set_entry(data & 1);
m_m50458_rom_bank = data & 4;
}
@@ -512,8 +512,8 @@ static MACHINE_START( nss )
nss_state *state = machine.driver_data<nss_state>();
UINT8 *ROM = machine.region("bios")->base();
- memory_configure_bank(machine, "bank1", 0, 2, &ROM[0x10000], 0x8000);
- memory_set_bank(machine, "bank1", 0);
+ state->subbank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x8000);
+ state->subbank("bank1")->set_entry(0);
state->m_m50458_rom_bank = 0;
diff --git a/src/mame/drivers/nycaptor.c b/src/mame/drivers/nycaptor.c
index 44a46ce8a22..a9399c0a892 100644
--- a/src/mame/drivers/nycaptor.c
+++ b/src/mame/drivers/nycaptor.c
@@ -331,7 +331,7 @@ READ8_MEMBER(nycaptor_state::nycaptor_generic_control_r)
WRITE8_MEMBER(nycaptor_state::nycaptor_generic_control_w)
{
m_generic_control_reg = data;
- memory_set_bankptr(machine(), "bank1", machine().region("maincpu")->base() + 0x10000 + ((data&0x08)>>3)*0x4000 );
+ subbank("bank1")->set_base(machine().region("maincpu")->base() + 0x10000 + ((data&0x08)>>3)*0x4000 );
}
static ADDRESS_MAP_START( nycaptor_master_map, AS_PROGRAM, 8, nycaptor_state )
@@ -436,7 +436,7 @@ WRITE8_MEMBER(nycaptor_state::cyclshtg_generic_control_w)
int bank = (data >> 2) & 3;
m_generic_control_reg = data;
- memory_set_bankptr(machine(), "bank1", machine().region("maincpu")->base() + 0x10000 + bank*0x4000 );
+ subbank("bank1")->set_base(machine().region("maincpu")->base() + 0x10000 + bank*0x4000 );
}
diff --git a/src/mame/drivers/ojankohs.c b/src/mame/drivers/ojankohs.c
index f854419551c..3895b0fcce8 100644
--- a/src/mame/drivers/ojankohs.c
+++ b/src/mame/drivers/ojankohs.c
@@ -41,13 +41,13 @@ Memo:
WRITE8_MEMBER(ojankohs_state::ojankohs_rombank_w)
{
- memory_set_bank(machine(), "bank1", data & 0x3f);
+ subbank("bank1")->set_entry(data & 0x3f);
}
WRITE8_MEMBER(ojankohs_state::ojankoy_rombank_w)
{
- memory_set_bank(machine(), "bank1", data & 0x1f);
+ subbank("bank1")->set_entry(data & 0x1f);
m_adpcm_reset = BIT(data, 5);
if (!m_adpcm_reset)
@@ -95,7 +95,7 @@ static void ojankohs_adpcm_int( device_t *device )
WRITE8_MEMBER(ojankohs_state::ojankoc_ctrl_w)
{
- memory_set_bank(machine(), "bank1", data & 0x0f);
+ subbank("bank1")->set_entry(data & 0x0f);
m_adpcm_reset = BIT(data, 4);
msm5205_reset_w(m_msm, !BIT(data, 4));
@@ -810,7 +810,7 @@ static MACHINE_START( ojankohs )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 0x40, &ROM[0x10000], 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 0x40, &ROM[0x10000], 0x4000);
MACHINE_START_CALL(common);
}
@@ -819,7 +819,7 @@ static MACHINE_START( ojankoy )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 0x20, &ROM[0x10000], 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 0x20, &ROM[0x10000], 0x4000);
MACHINE_START_CALL(common);
}
@@ -828,7 +828,7 @@ static MACHINE_START( ojankoc )
{
UINT8 *ROM = machine.region("user1")->base();
- memory_configure_bank(machine, "bank1", 0, 0x10, &ROM[0x0000], 0x8000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 0x10, &ROM[0x0000], 0x8000);
MACHINE_START_CALL(common);
}
diff --git a/src/mame/drivers/onetwo.c b/src/mame/drivers/onetwo.c
index fef428045d1..b66dcde1017 100644
--- a/src/mame/drivers/onetwo.c
+++ b/src/mame/drivers/onetwo.c
@@ -120,7 +120,7 @@ WRITE8_MEMBER(onetwo_state::onetwo_fgram_w)
WRITE8_MEMBER(onetwo_state::onetwo_cpubank_w)
{
- memory_set_bank(machine(), "bank1", data);
+ subbank("bank1")->set_entry(data);
}
WRITE8_MEMBER(onetwo_state::onetwo_coin_counters_w)
@@ -350,7 +350,7 @@ static MACHINE_START( onetwo )
onetwo_state *state = machine.driver_data<onetwo_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");
diff --git a/src/mame/drivers/opwolf.c b/src/mame/drivers/opwolf.c
index ee9da646674..e32eb5fa932 100644
--- a/src/mame/drivers/opwolf.c
+++ b/src/mame/drivers/opwolf.c
@@ -346,7 +346,7 @@ READ8_MEMBER(opwolf_state::z80_input2_r)
static WRITE8_DEVICE_HANDLER( sound_bankswitch_w )
{
- memory_set_bank(device->machine(), "bank10", (data - 1) & 0x03);
+ device->machine().root_device().subbank("bank10")->set_entry((data - 1) & 0x03);
}
/***********************************************************
@@ -989,7 +989,7 @@ static DRIVER_INIT( opwolf )
state->m_opwolf_gun_xoffs = 0xec - (rom[0x03ffb0 / 2] & 0xff);
state->m_opwolf_gun_yoffs = 0x1c - (rom[0x03ffae / 2] & 0xff);
- memory_configure_bank(machine, "bank10", 0, 4, machine.region("audiocpu")->base() + 0x10000, 0x4000);
+ state->subbank("bank10")->configure_entries(0, 4, machine.region("audiocpu")->base() + 0x10000, 0x4000);
}
@@ -1004,7 +1004,7 @@ static DRIVER_INIT( opwolfb )
state->m_opwolf_gun_xoffs = -2;
state->m_opwolf_gun_yoffs = 17;
- memory_configure_bank(machine, "bank10", 0, 4, machine.region("audiocpu")->base() + 0x10000, 0x4000);
+ state->subbank("bank10")->configure_entries(0, 4, machine.region("audiocpu")->base() + 0x10000, 0x4000);
}
diff --git a/src/mame/drivers/othunder.c b/src/mame/drivers/othunder.c
index b47f5a8fdfe..cda525cf341 100644
--- a/src/mame/drivers/othunder.c
+++ b/src/mame/drivers/othunder.c
@@ -393,7 +393,7 @@ WRITE16_MEMBER(othunder_state::othunder_lightgun_w)
static void reset_sound_region( running_machine &machine )
{
othunder_state *state = machine.driver_data<othunder_state>();
- memory_set_bank(machine, "bank10", state->m_banknum);
+ state->subbank("bank10")->set_entry(state->m_banknum);
}
@@ -674,7 +674,7 @@ static MACHINE_START( othunder )
{
othunder_state *state = machine.driver_data<othunder_state>();
- memory_configure_bank(machine, "bank10", 0, 4, machine.region("audiocpu")->base() + 0xc000, 0x4000);
+ state->subbank("bank10")->configure_entries(0, 4, machine.region("audiocpu")->base() + 0xc000, 0x4000);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");
diff --git a/src/mame/drivers/pacman.c b/src/mame/drivers/pacman.c
index 1fd3d987bbc..386972774a6 100644
--- a/src/mame/drivers/pacman.c
+++ b/src/mame/drivers/pacman.c
@@ -376,11 +376,11 @@ static MACHINE_RESET( mschamp )
UINT8 *rom = machine.region("maincpu")->base() + 0x10000;
int whichbank = input_port_read(machine, "GAME") & 1;
- memory_configure_bank(machine, "bank1", 0, 2, &rom[0x0000], 0x8000);
- memory_configure_bank(machine, "bank2", 0, 2, &rom[0x4000], 0x8000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 2, &rom[0x0000], 0x8000);
+ machine.root_device().subbank("bank2")->configure_entries(0, 2, &rom[0x4000], 0x8000);
- memory_set_bank(machine, "bank1", whichbank);
- memory_set_bank(machine, "bank2", whichbank);
+ machine.root_device().subbank("bank1")->set_entry(whichbank);
+ machine.root_device().subbank("bank2")->set_entry(whichbank);
}
@@ -671,10 +671,10 @@ static INTERRUPT_GEN( s2650_interrupt )
WRITE8_MEMBER(pacman_state::porky_banking_w)
{
- memory_set_bank(machine(), "bank1", data & 1);
- memory_set_bank(machine(), "bank2", data & 1);
- memory_set_bank(machine(), "bank3", data & 1);
- memory_set_bank(machine(), "bank4", data & 1);
+ subbank("bank1")->set_entry(data & 1);
+ subbank("bank2")->set_entry(data & 1);
+ subbank("bank3")->set_entry(data & 1);
+ subbank("bank4")->set_entry(data & 1);
}
READ8_MEMBER(pacman_state::drivfrcp_port1_r)
@@ -839,8 +839,8 @@ READ8_MEMBER(pacman_state::pacman_read_nop)
vias required to lay out the aux PCB.
*/
-#define mspacman_enable_decode_latch(m) memory_set_bank(m, "bank1", 1)
-#define mspacman_disable_decode_latch(m) memory_set_bank(m, "bank1", 0)
+#define mspacman_enable_decode_latch(m) m.root_device().subbank("bank1")->set_entry(1)
+#define mspacman_disable_decode_latch(m) m.root_device().subbank("bank1")->set_entry(0)
// any access to these ROM addresses disables the decoder, and all you see is the original Pac-Man code
READ8_MEMBER(pacman_state::mspacman_disable_decode_r_0x0038){ mspacman_disable_decode_latch(machine()); return machine().region("maincpu")->base()[offset+0x0038]; }
@@ -5710,8 +5710,8 @@ static DRIVER_INIT( mspacman )
}
/* initialize the banks */
- memory_configure_bank(machine, "bank1", 0, 2, &ROM[0x00000], 0x10000);
- memory_set_bank(machine, "bank1", 1);
+ machine.root_device().subbank("bank1")->configure_entries(0, 2, &ROM[0x00000], 0x10000);
+ machine.root_device().subbank("bank1")->set_entry(1);
}
static DRIVER_INIT( woodpek )
@@ -5741,10 +5741,10 @@ static DRIVER_INIT( jumpshot )
static DRIVER_INIT( drivfrcp )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_set_bankptr(machine, "bank1", &ROM[0 * 0x2000]);
- memory_set_bankptr(machine, "bank2", &ROM[1 * 0x2000]);
- memory_set_bankptr(machine, "bank3", &ROM[2 * 0x2000]);
- memory_set_bankptr(machine, "bank4", &ROM[3 * 0x2000]);
+ machine.root_device().subbank("bank1")->set_base(&ROM[0 * 0x2000]);
+ machine.root_device().subbank("bank2")->set_base(&ROM[1 * 0x2000]);
+ machine.root_device().subbank("bank3")->set_base(&ROM[2 * 0x2000]);
+ machine.root_device().subbank("bank4")->set_base(&ROM[3 * 0x2000]);
}
static DRIVER_INIT( 8bpm )
@@ -5758,10 +5758,10 @@ static DRIVER_INIT( 8bpm )
ROM[i] = BITSWAP8(ROM[i],7,0,5,4,3,2,1,6);
}
- memory_set_bankptr(machine, "bank1", &ROM[0 * 0x2000]);
- memory_set_bankptr(machine, "bank2", &ROM[1 * 0x2000]);
- memory_set_bankptr(machine, "bank3", &ROM[2 * 0x2000]);
- memory_set_bankptr(machine, "bank4", &ROM[3 * 0x2000]);
+ machine.root_device().subbank("bank1")->set_base(&ROM[0 * 0x2000]);
+ machine.root_device().subbank("bank2")->set_base(&ROM[1 * 0x2000]);
+ machine.root_device().subbank("bank3")->set_base(&ROM[2 * 0x2000]);
+ machine.root_device().subbank("bank4")->set_base(&ROM[3 * 0x2000]);
}
static DRIVER_INIT( porky )
@@ -5775,15 +5775,15 @@ static DRIVER_INIT( porky )
ROM[i] = BITSWAP8(ROM[i],7,6,5,0,3,2,1,4);
}
- memory_configure_bank(machine, "bank1", 0, 2, &ROM[0 * 0x2000], 0x8000);
- memory_configure_bank(machine, "bank2", 0, 2, &ROM[1 * 0x2000], 0x8000);
- memory_configure_bank(machine, "bank3", 0, 2, &ROM[2 * 0x2000], 0x8000);
- memory_configure_bank(machine, "bank4", 0, 2, &ROM[3 * 0x2000], 0x8000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 2, &ROM[0 * 0x2000], 0x8000);
+ machine.root_device().subbank("bank2")->configure_entries(0, 2, &ROM[1 * 0x2000], 0x8000);
+ machine.root_device().subbank("bank3")->configure_entries(0, 2, &ROM[2 * 0x2000], 0x8000);
+ machine.root_device().subbank("bank4")->configure_entries(0, 2, &ROM[3 * 0x2000], 0x8000);
- memory_set_bank(machine, "bank1", 0);
- memory_set_bank(machine, "bank2", 0);
- memory_set_bank(machine, "bank3", 0);
- memory_set_bank(machine, "bank4", 0);
+ machine.root_device().subbank("bank1")->set_entry(0);
+ machine.root_device().subbank("bank2")->set_entry(0);
+ machine.root_device().subbank("bank3")->set_entry(0);
+ machine.root_device().subbank("bank4")->set_entry(0);
}
static DRIVER_INIT( rocktrv2 )
diff --git a/src/mame/drivers/paradise.c b/src/mame/drivers/paradise.c
index 85a981658d4..7d98179de9e 100644
--- a/src/mame/drivers/paradise.c
+++ b/src/mame/drivers/paradise.c
@@ -55,7 +55,7 @@ WRITE8_MEMBER(paradise_state::paradise_rombank_w)
bank %= bank_n;
}
- memory_set_bank(machine(), "bank1", bank);
+ subbank("bank1")->set_entry(bank);
}
static WRITE8_DEVICE_HANDLER( paradise_okibank_w )
@@ -632,8 +632,8 @@ static MACHINE_START( paradise )
int bank_n = machine.region("maincpu")->bytes() / 0x4000 - 1;
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 3, &ROM[0x00000], 0x4000);
- memory_configure_bank(machine, "bank1", 3, bank_n - 3, &ROM[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 3, &ROM[0x00000], 0x4000);
+ state->subbank("bank1")->configure_entries(3, bank_n - 3, &ROM[0x10000], 0x4000);
state->save_item(NAME(state->m_palbank));
state->save_item(NAME(state->m_priority));
diff --git a/src/mame/drivers/parodius.c b/src/mame/drivers/parodius.c
index 457dc1c2f13..2ee0a682569 100644
--- a/src/mame/drivers/parodius.c
+++ b/src/mame/drivers/parodius.c
@@ -250,9 +250,9 @@ static MACHINE_START( parodius )
parodius_state *state = machine.driver_data<parodius_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 14, &ROM[0x10000], 0x4000);
- memory_configure_bank(machine, "bank1", 14, 2, &ROM[0x08000], 0x4000);
- memory_set_bank(machine, "bank1", 0);
+ state->subbank("bank1")->configure_entries(0, 14, &ROM[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(14, 2, &ROM[0x08000], 0x4000);
+ state->subbank("bank1")->set_entry(0);
state->m_generic_paletteram_8.allocate(0x1000);
@@ -407,7 +407,7 @@ static KONAMI_SETLINES_CALLBACK( parodius_banking )
if (lines & 0xf0)
logerror("%04x: setlines %02x\n", cpu_get_pc(device), lines);
- memory_set_bank(device->machine(), "bank1", (lines & 0x0f) ^ 0x0f);
+ device->machine().root_device().subbank("bank1")->set_entry((lines & 0x0f) ^ 0x0f);
}
GAME( 1990, parodius, 0, parodius, parodius, 0, ROT0, "Konami", "Parodius DA! (World, set 1)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/pasha2.c b/src/mame/drivers/pasha2.c
index a11608a210d..9b6601ea6fb 100644
--- a/src/mame/drivers/pasha2.c
+++ b/src/mame/drivers/pasha2.c
@@ -127,7 +127,7 @@ WRITE16_MEMBER(pasha2_state::pasha2_misc_w)
case 0xb000:
case 0xc000:
case 0xd000:
- memory_set_bankptr(machine(), "bank1", machine().region("user2")->base() + 0x400 * (bank - 0x8000)); break;
+ subbank("bank1")->set_base(machine().region("user2")->base() + 0x400 * (bank - 0x8000)); break;
}
}
}
@@ -476,7 +476,7 @@ static DRIVER_INIT( pasha2 )
pasha2_state *state = machine.driver_data<pasha2_state>();
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x95744, 0x95747, read16_delegate(FUNC(pasha2_state::pasha2_speedup_r), state));
- memory_set_bankptr(machine, "bank1", machine.region("user2")->base());
+ state->subbank("bank1")->set_base(machine.region("user2")->base());
}
GAME( 1998, pasha2, 0, pasha2, pasha2, pasha2, ROT0, "Dong Sung", "Pasha Pasha 2", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/pcat_nit.c b/src/mame/drivers/pcat_nit.c
index c9bbb121606..e427587cc83 100644
--- a/src/mame/drivers/pcat_nit.c
+++ b/src/mame/drivers/pcat_nit.c
@@ -158,11 +158,11 @@ WRITE8_MEMBER(pcat_nit_state::pcat_nit_rombank_w)
if ( data & 0x80 )
{
- memory_set_bank(machine(), "rombank", (data & 0x3f) | 0x40 );
+ subbank("rombank")->set_entry((data & 0x3f) | 0x40 );
}
else
{
- memory_set_bank(machine(), "rombank", data & 0x3f );
+ subbank("rombank")->set_entry(data & 0x3f );
}
}
else
@@ -172,7 +172,7 @@ WRITE8_MEMBER(pcat_nit_state::pcat_nit_rombank_w)
space.install_readwrite_bank(0x000d8000, 0x000d9fff, "nvrambank" );
- memory_set_bankptr(machine(), "nvrambank", m_banked_nvram);
+ subbank("nvrambank")->set_base(m_banked_nvram);
}
}
@@ -232,8 +232,8 @@ static MACHINE_START( streetg2 )
init_pc_common(machine, PCCOMMON_KEYBOARD_AT, streetg2_set_keyb_int);
- memory_configure_bank(machine, "rombank", 0, 0x80, machine.region("game_prg")->base(), 0x8000 );
- memory_set_bank(machine, "rombank", 0);
+ machine.root_device().subbank("rombank")->configure_entries(0, 0x80, machine.region("game_prg")->base(), 0x8000 );
+ machine.root_device().subbank("rombank")->set_entry(0);
//microtouch_init(machine, pcat_nit_microtouch_tx_callback, NULL);
}
diff --git a/src/mame/drivers/pcktgal.c b/src/mame/drivers/pcktgal.c
index 07389ab4f6a..3d7e130b4cd 100644
--- a/src/mame/drivers/pcktgal.c
+++ b/src/mame/drivers/pcktgal.c
@@ -26,16 +26,16 @@ WRITE8_MEMBER(pcktgal_state::pcktgal_bank_w)
{
UINT8 *RAM = machine().region("maincpu")->base();
- if (data & 1) { memory_set_bankptr(machine(), "bank1", &RAM[0x4000]); }
- else { memory_set_bankptr(machine(), "bank1", &RAM[0x10000]); }
+ if (data & 1) { subbank("bank1")->set_base(&RAM[0x4000]); }
+ else { subbank("bank1")->set_base(&RAM[0x10000]); }
- if (data & 2) { memory_set_bankptr(machine(), "bank2", &RAM[0x6000]); }
- else { memory_set_bankptr(machine(), "bank2", &RAM[0x12000]); }
+ if (data & 2) { subbank("bank2")->set_base(&RAM[0x6000]); }
+ else { subbank("bank2")->set_base(&RAM[0x12000]); }
}
WRITE8_MEMBER(pcktgal_state::pcktgal_sound_bank_w)
{
- memory_set_bank(machine(), "bank3", (data >> 2) & 1);
+ subbank("bank3")->set_entry((data >> 2) & 1);
}
WRITE8_MEMBER(pcktgal_state::pcktgal_sound_w)
@@ -421,8 +421,8 @@ static DRIVER_INIT( deco222 )
for (A = 0x8000;A < 0x18000;A++)
decrypted[A-0x8000] = (rom[A] & 0x9f) | ((rom[A] & 0x20) << 1) | ((rom[A] & 0x40) >> 1);
- memory_configure_bank(machine, "bank3", 0, 2, machine.region("audiocpu")->base() + 0x10000, 0x4000);
- memory_configure_bank_decrypted(machine, "bank3", 0, 2, &decrypted[0x8000], 0x4000);
+ machine.root_device().subbank("bank3")->configure_entries(0, 2, machine.region("audiocpu")->base() + 0x10000, 0x4000);
+ machine.root_device().subbank("bank3")->configure_decrypted_entries(0, 2, &decrypted[0x8000], 0x4000);
}
static DRIVER_INIT( graphics )
@@ -431,7 +431,7 @@ static DRIVER_INIT( graphics )
int len = machine.region("gfx1")->bytes();
int i,j,temp[16];
- memory_configure_bank(machine, "bank3", 0, 2, machine.region("audiocpu")->base() + 0x10000, 0x4000);
+ machine.root_device().subbank("bank3")->configure_entries(0, 2, machine.region("audiocpu")->base() + 0x10000, 0x4000);
/* Tile graphics roms have some swapped lines, original version only */
for (i = 0x00000;i < len;i += 32)
diff --git a/src/mame/drivers/pcxt.c b/src/mame/drivers/pcxt.c
index eddc79b893e..5e2b21b26ac 100644
--- a/src/mame/drivers/pcxt.c
+++ b/src/mame/drivers/pcxt.c
@@ -199,7 +199,7 @@ WRITE8_MEMBER(pcxt_state::disk_iobank_w)
if (newbank != m_bank)
{
m_bank = newbank;
- memory_set_bankptr(machine(), "bank1",machine().region("game_prg")->base() + 0x10000 * m_bank );
+ subbank("bank1")->set_base(machine().region("game_prg")->base() + 0x10000 * m_bank );
}
m_lastvalue = data;
diff --git a/src/mame/drivers/pengadvb.c b/src/mame/drivers/pengadvb.c
index d738a9b9828..71f6bc12481 100644
--- a/src/mame/drivers/pengadvb.c
+++ b/src/mame/drivers/pengadvb.c
@@ -60,7 +60,7 @@ static void mem_map_banks(running_machine &machine)
case 0:
// BIOS
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x3fff, "bank1" );
- memory_set_bankptr(machine, "bank1", machine.region("maincpu")->base());
+ state->subbank("bank1")->set_base(machine.region("maincpu")->base());
break;
default:
@@ -75,16 +75,16 @@ static void mem_map_banks(running_machine &machine)
// BIOS
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x4000, 0x5fff, "bank21" );
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x6000, 0x7fff, "bank22" );
- memory_set_bankptr(machine, "bank21", machine.region("maincpu")->base() + 0x4000);
- memory_set_bankptr(machine, "bank22", machine.region("maincpu")->base() + 0x4000 + 0x2000);
+ state->subbank("bank21")->set_base(machine.region("maincpu")->base() + 0x4000);
+ state->subbank("bank22")->set_base(machine.region("maincpu")->base() + 0x4000 + 0x2000);
break;
case 1:
// game
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x4000, 0x5fff, "bank21" );
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x6000, 0x7fff, "bank22" );
- memory_set_bankptr(machine, "bank21", machine.region("game")->base() + state->m_mem_banks[0]*0x2000);
- memory_set_bankptr(machine, "bank22", machine.region("game")->base() + state->m_mem_banks[1]*0x2000);
+ state->subbank("bank21")->set_base(machine.region("game")->base() + state->m_mem_banks[0]*0x2000);
+ state->subbank("bank22")->set_base(machine.region("game")->base() + state->m_mem_banks[1]*0x2000);
break;
default:
@@ -99,8 +99,8 @@ static void mem_map_banks(running_machine &machine)
// game
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x8000, 0x9fff, "bank31" );
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xa000, 0xbfff, "bank32" );
- memory_set_bankptr(machine, "bank31", machine.region("game")->base() + state->m_mem_banks[2]*0x2000);
- memory_set_bankptr(machine, "bank32", machine.region("game")->base() + state->m_mem_banks[3]*0x2000);
+ state->subbank("bank31")->set_base(machine.region("game")->base() + state->m_mem_banks[2]*0x2000);
+ state->subbank("bank32")->set_base(machine.region("game")->base() + state->m_mem_banks[3]*0x2000);
break;
default:
@@ -114,7 +114,7 @@ static void mem_map_banks(running_machine &machine)
case 3:
// RAM
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xc000, 0xffff, "bank4" );
- memory_set_bankptr(machine, "bank4", state->m_main_mem);
+ state->subbank("bank4")->set_base(state->m_main_mem);
break;
default:
diff --git a/src/mame/drivers/pgm.c b/src/mame/drivers/pgm.c
index 7c5e6bcd948..66fe97a42c2 100644
--- a/src/mame/drivers/pgm.c
+++ b/src/mame/drivers/pgm.c
@@ -3646,7 +3646,7 @@ void pgm_basic_init( running_machine &machine, bool set_bank)
pgm_state *state = machine.driver_data<pgm_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- if (set_bank) memory_set_bankptr(machine, "bank1", &ROM[0x100000]);
+ if (set_bank) state->subbank("bank1")->set_base(&ROM[0x100000]);
expand_32x32x5bpp(machine);
expand_colourdata(machine);
diff --git a/src/mame/drivers/phoenix.c b/src/mame/drivers/phoenix.c
index ae56da1a7eb..5737f1f9dfc 100644
--- a/src/mame/drivers/phoenix.c
+++ b/src/mame/drivers/phoenix.c
@@ -446,7 +446,7 @@ static const ay8910_interface survival_ay8910_interface =
static MACHINE_RESET( phoenix )
{
- memory_set_bankptr(machine, "bank1", machine.region("maincpu")->base() + 0x4000);
+ machine.root_device().subbank("bank1")->set_base(machine.region("maincpu")->base() + 0x4000);
}
diff --git a/src/mame/drivers/photon.c b/src/mame/drivers/photon.c
index 912cbfb1c22..55c02e3047b 100644
--- a/src/mame/drivers/photon.c
+++ b/src/mame/drivers/photon.c
@@ -42,51 +42,51 @@ static void pk8000_set_bank(running_machine &machine,UINT8 data)
switch(block1) {
case 0:
- memory_set_bankptr(machine, "bank1", rom + 0x10000);
- memory_set_bankptr(machine, "bank5", ram);
+ machine.root_device().subbank("bank1")->set_base(rom + 0x10000);
+ machine.root_device().subbank("bank5")->set_base(ram);
break;
case 1: break;
case 2: break;
case 3:
- memory_set_bankptr(machine, "bank1", ram);
- memory_set_bankptr(machine, "bank5", ram);
+ machine.root_device().subbank("bank1")->set_base(ram);
+ machine.root_device().subbank("bank5")->set_base(ram);
break;
}
switch(block2) {
case 0:
- memory_set_bankptr(machine, "bank2", rom + 0x14000);
- memory_set_bankptr(machine, "bank6", ram + 0x4000);
+ machine.root_device().subbank("bank2")->set_base(rom + 0x14000);
+ machine.root_device().subbank("bank6")->set_base(ram + 0x4000);
break;
case 1: break;
case 2: break;
case 3:
- memory_set_bankptr(machine, "bank2", ram + 0x4000);
- memory_set_bankptr(machine, "bank6", ram + 0x4000);
+ machine.root_device().subbank("bank2")->set_base(ram + 0x4000);
+ machine.root_device().subbank("bank6")->set_base(ram + 0x4000);
break;
}
switch(block3) {
case 0:
- memory_set_bankptr(machine, "bank3", rom + 0x18000);
- memory_set_bankptr(machine, "bank7", ram + 0x8000);
+ machine.root_device().subbank("bank3")->set_base(rom + 0x18000);
+ machine.root_device().subbank("bank7")->set_base(ram + 0x8000);
break;
case 1: break;
case 2: break;
case 3:
- memory_set_bankptr(machine, "bank3", ram + 0x8000);
- memory_set_bankptr(machine, "bank7", ram + 0x8000);
+ machine.root_device().subbank("bank3")->set_base(ram + 0x8000);
+ machine.root_device().subbank("bank7")->set_base(ram + 0x8000);
break;
}
switch(block4) {
case 0:
- memory_set_bankptr(machine, "bank4", rom + 0x1c000);
- memory_set_bankptr(machine, "bank8", ram + 0xc000);
+ machine.root_device().subbank("bank4")->set_base(rom + 0x1c000);
+ machine.root_device().subbank("bank8")->set_base(ram + 0xc000);
break;
case 1: break;
case 2: break;
case 3:
- memory_set_bankptr(machine, "bank4", ram + 0xc000);
- memory_set_bankptr(machine, "bank8", ram + 0xc000);
+ machine.root_device().subbank("bank4")->set_base(ram + 0xc000);
+ machine.root_device().subbank("bank8")->set_base(ram + 0xc000);
break;
}
}
diff --git a/src/mame/drivers/photon2.c b/src/mame/drivers/photon2.c
index eb99b7a5e51..a9ce018ad97 100644
--- a/src/mame/drivers/photon2.c
+++ b/src/mame/drivers/photon2.c
@@ -198,7 +198,7 @@ WRITE8_MEMBER(photon2_state::photon2_membank_w)
logerror( "Unknown banking write: %02X\n", data);
}
- memory_set_bankptr(machine(), "bank1", machine().region("maincpu")->base() + 0x4000*bank );
+ subbank("bank1")->set_base(machine().region("maincpu")->base() + 0x4000*bank );
}
READ8_MEMBER(photon2_state::photon2_fe_r)
@@ -312,7 +312,7 @@ static TIMER_DEVICE_CALLBACK( spec_interrupt_hack )
static MACHINE_RESET( photon2 )
{
- memory_set_bankptr(machine, "bank1", machine.region("maincpu")->base());
+ machine.root_device().subbank("bank1")->set_base(machine.region("maincpu")->base());
}
static MACHINE_CONFIG_START( photon2, photon2_state )
diff --git a/src/mame/drivers/pingpong.c b/src/mame/drivers/pingpong.c
index 337df1f52b2..c2d297647d1 100644
--- a/src/mame/drivers/pingpong.c
+++ b/src/mame/drivers/pingpong.c
@@ -37,7 +37,7 @@ WRITE8_MEMBER(pingpong_state::cashquiz_question_bank_low_w)
const char *bank = bankname[data & 7];
int bankaddr = m_question_addr_high | ((data - 0x60) * 0x100);
UINT8 *questions = machine().region("user1")->base() + bankaddr;
- memory_set_bankptr(machine(), bank,questions);
+ subbank(bank)->set_base(questions);
}
}
@@ -598,14 +598,14 @@ static DRIVER_INIT( cashquiz )
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x5700, 0x57ff, "bank8");
// setup default banks
- memory_set_bankptr(machine, "bank1", machine.region("user1")->base() + 0x100*0 );
- memory_set_bankptr(machine, "bank2", machine.region("user1")->base() + 0x100*1 );
- memory_set_bankptr(machine, "bank3", machine.region("user1")->base() + 0x100*2 );
- memory_set_bankptr(machine, "bank4", machine.region("user1")->base() + 0x100*3 );
- memory_set_bankptr(machine, "bank5", machine.region("user1")->base() + 0x100*4 );
- memory_set_bankptr(machine, "bank6", machine.region("user1")->base() + 0x100*5 );
- memory_set_bankptr(machine, "bank7", machine.region("user1")->base() + 0x100*6 );
- memory_set_bankptr(machine, "bank8", machine.region("user1")->base() + 0x100*7 );
+ state->subbank("bank1")->set_base(machine.region("user1")->base() + 0x100*0 );
+ state->subbank("bank2")->set_base(machine.region("user1")->base() + 0x100*1 );
+ state->subbank("bank3")->set_base(machine.region("user1")->base() + 0x100*2 );
+ state->subbank("bank4")->set_base(machine.region("user1")->base() + 0x100*3 );
+ state->subbank("bank5")->set_base(machine.region("user1")->base() + 0x100*4 );
+ state->subbank("bank6")->set_base(machine.region("user1")->base() + 0x100*5 );
+ state->subbank("bank7")->set_base(machine.region("user1")->base() + 0x100*6 );
+ state->subbank("bank8")->set_base(machine.region("user1")->base() + 0x100*7 );
}
diff --git a/src/mame/drivers/pipedrm.c b/src/mame/drivers/pipedrm.c
index 96ca8975eaa..cd62877a825 100644
--- a/src/mame/drivers/pipedrm.c
+++ b/src/mame/drivers/pipedrm.c
@@ -188,7 +188,7 @@ static WRITE8_HANDLER( pipedrm_bankswitch_w )
*/
/* set the memory bank on the Z80 using the low 3 bits */
- memory_set_bank(space->machine(), "bank1", data & 0x7);
+ state->subbank("bank1")->set_entry(data & 0x7);
/* map to the fromance gfx register */
state->fromance_gfxreg_w(*space, offset, ((data >> 6) & 0x01) | /* flipscreen */
@@ -198,7 +198,7 @@ static WRITE8_HANDLER( pipedrm_bankswitch_w )
static WRITE8_HANDLER( sound_bankswitch_w )
{
- memory_set_bank(space->machine(), "bank2", data & 0x01);
+ space->machine().root_device().subbank("bank2")->set_entry(data & 0x01);
}
@@ -595,12 +595,12 @@ static MACHINE_START( pipedrm )
state->m_subcpu = machine.device("sub");
/* initialize main Z80 bank */
- memory_configure_bank(machine, "bank1", 0, 8, machine.region("maincpu")->base() + 0x10000, 0x2000);
- memory_set_bank(machine, "bank1", 0);
+ state->subbank("bank1")->configure_entries(0, 8, machine.region("maincpu")->base() + 0x10000, 0x2000);
+ state->subbank("bank1")->set_entry(0);
/* initialize sound bank */
- memory_configure_bank(machine, "bank2", 0, 2, machine.region("sub")->base() + 0x10000, 0x8000);
- memory_set_bank(machine, "bank2", 0);
+ state->subbank("bank2")->configure_entries(0, 2, machine.region("sub")->base() + 0x10000, 0x8000);
+ state->subbank("bank2")->set_entry(0);
/* state save */
state->save_item(NAME(state->m_pending_command));
diff --git a/src/mame/drivers/plygonet.c b/src/mame/drivers/plygonet.c
index 63ffb04f2f9..091ca17854a 100644
--- a/src/mame/drivers/plygonet.c
+++ b/src/mame/drivers/plygonet.c
@@ -545,7 +545,7 @@ ADDRESS_MAP_END
static void reset_sound_region(running_machine &machine)
{
polygonet_state *state = machine.driver_data<polygonet_state>();
- memory_set_bankptr(machine, "bank2", machine.region("soundcpu")->base() + 0x10000 + state->m_cur_sound_region*0x4000);
+ state->subbank("bank2")->set_base(machine.region("soundcpu")->base() + 0x10000 + state->m_cur_sound_region*0x4000);
}
WRITE8_MEMBER(polygonet_state::sound_bankswitch_w)
diff --git a/src/mame/drivers/pokechmp.c b/src/mame/drivers/pokechmp.c
index c6d9dcf16dc..189b394d530 100644
--- a/src/mame/drivers/pokechmp.c
+++ b/src/mame/drivers/pokechmp.c
@@ -57,31 +57,31 @@ WRITE8_MEMBER(pokechmp_state::pokechmp_bank_w)
if (data == 0x00)
{
- memory_set_bankptr(machine(), "bank1",&RAM[0x10000]);
- memory_set_bankptr(machine(), "bank2",&RAM[0x12000]);
+ subbank("bank1")->set_base(&RAM[0x10000]);
+ subbank("bank2")->set_base(&RAM[0x12000]);
}
if (data == 0x01)
{
- memory_set_bankptr(machine(), "bank1",&RAM[0x14000]);
- memory_set_bankptr(machine(), "bank2",&RAM[0x16000]);
+ subbank("bank1")->set_base(&RAM[0x14000]);
+ subbank("bank2")->set_base(&RAM[0x16000]);
}
if (data == 0x02)
{
- memory_set_bankptr(machine(), "bank1",&RAM[0x20000]);
- memory_set_bankptr(machine(), "bank2",&RAM[0x22000]);
+ subbank("bank1")->set_base(&RAM[0x20000]);
+ subbank("bank2")->set_base(&RAM[0x22000]);
}
if (data == 0x03)
{
- memory_set_bankptr(machine(), "bank1",&RAM[0x04000]);
- memory_set_bankptr(machine(), "bank2",&RAM[0x06000]);
+ subbank("bank1")->set_base(&RAM[0x04000]);
+ subbank("bank2")->set_base(&RAM[0x06000]);
}
}
#ifdef UNUSED_FUNCTION
WRITE8_MEMBER(pokechmp_state::pokechmp_sound_bank_w)
{
- memory_set_bank(machine(), "bank3", (data >> 2) & 1);
+ subbank("bank3")->set_entry((data >> 2) & 1);
}
#endif
@@ -262,7 +262,7 @@ MACHINE_CONFIG_END
static DRIVER_INIT( pokechmp )
{
- memory_configure_bank(machine, "bank3", 0, 2, machine.region("audiocpu")->base() + 0x10000, 0x4000);
+ machine.root_device().subbank("bank3")->configure_entries(0, 2, machine.region("audiocpu")->base() + 0x10000, 0x4000);
}
diff --git a/src/mame/drivers/poker72.c b/src/mame/drivers/poker72.c
index 9ab726688e7..b33f0723815 100644
--- a/src/mame/drivers/poker72.c
+++ b/src/mame/drivers/poker72.c
@@ -82,12 +82,12 @@ WRITE8_MEMBER(poker72_state::output_w)
printf("%02x\n",data);
/* if((data & 0xc) == 0xc)
- memory_set_bankptr(machine(), "bank1", &ROM[0x10000]);
+ subbank("bank1")->set_base(&ROM[0x10000]);
else*/
if(data & 8)
- memory_set_bankptr(machine(), "bank1", &ROM[0x08000]);
+ subbank("bank1")->set_base(&ROM[0x08000]);
else
- memory_set_bankptr(machine(), "bank1", &ROM[0x00000]);
+ subbank("bank1")->set_base(&ROM[0x00000]);
}
WRITE8_MEMBER(poker72_state::tile_bank_w)
@@ -341,7 +341,7 @@ static MACHINE_RESET( poker72 )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_set_bankptr(machine, "bank1", &ROM[0]);
+ machine.root_device().subbank("bank1")->set_base(&ROM[0]);
}
static MACHINE_CONFIG_START( poker72, poker72_state )
diff --git a/src/mame/drivers/ppmast93.c b/src/mame/drivers/ppmast93.c
index 4a40704569c..805c5a7bbd7 100644
--- a/src/mame/drivers/ppmast93.c
+++ b/src/mame/drivers/ppmast93.c
@@ -178,7 +178,7 @@ WRITE8_MEMBER(ppmast93_state::ppmast93_port4_w)
coin_counter_w(machine(), 1, data & 0x10);
bank = data & 0x07;
- memory_set_bankptr(machine(), "bank1",&rom[0x10000+(bank*0x4000)]);
+ subbank("bank1")->set_base(&rom[0x10000+(bank*0x4000)]);
}
static ADDRESS_MAP_START( ppmast93_cpu1_map, AS_PROGRAM, 8, ppmast93_state )
diff --git a/src/mame/drivers/psikyo.c b/src/mame/drivers/psikyo.c
index 953bad7dbf5..1b05ed070ee 100644
--- a/src/mame/drivers/psikyo.c
+++ b/src/mame/drivers/psikyo.c
@@ -337,7 +337,7 @@ WRITE32_MEMBER(psikyo_state::s1945bl_oki_w)
// not at all sure about this, it seems to write 0 too often
UINT8 bank = (data & 0x00ff0000) >> 16;
if (bank < 4)
- memory_set_bank(machine(), "okibank", bank);
+ subbank("okibank")->set_entry(bank);
}
if (ACCESSING_BITS_8_15)
@@ -403,7 +403,7 @@ WRITE8_MEMBER(psikyo_state::psikyo_clear_nmi_w)
WRITE8_MEMBER(psikyo_state::sngkace_sound_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data & 0x03);
+ subbank("bank1")->set_entry(data & 0x03);
}
static ADDRESS_MAP_START( sngkace_sound_map, AS_PROGRAM, 8, psikyo_state )
@@ -427,7 +427,7 @@ ADDRESS_MAP_END
WRITE8_MEMBER(psikyo_state::gunbird_sound_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", (data >> 4) & 0x03);
+ subbank("bank1")->set_entry((data >> 4) & 0x03);
}
static ADDRESS_MAP_START( gunbird_sound_map, AS_PROGRAM, 8, psikyo_state )
@@ -1832,7 +1832,7 @@ static DRIVER_INIT( sngkace )
state->m_ka302c_banking = 0; // SH201B doesn't have any gfx banking
/* setup audiocpu banks */
- memory_configure_bank(machine, "bank1", 0, 4, machine.region("audiocpu")->base() + 0x10000, 0x8000);
+ state->subbank("bank1")->configure_entries(0, 4, machine.region("audiocpu")->base() + 0x10000, 0x8000);
/* Enable other regions */
#if 0
@@ -1892,7 +1892,7 @@ static DRIVER_INIT( tengai )
/* setup audiocpu banks */
/* The banked rom is seen at 8200-ffff, so the last 0x200 bytes of the rom not reachable. */
- memory_configure_bank(machine, "bank1", 0, 4, machine.region("audiocpu")->base() + 0x10000 + 0x200, 0x8000);
+ state->subbank("bank1")->configure_entries(0, 4, machine.region("audiocpu")->base() + 0x10000 + 0x200, 0x8000);
}
static DRIVER_INIT( gunbird )
@@ -1909,7 +1909,7 @@ static DRIVER_INIT( gunbird )
/* setup audiocpu banks */
/* The banked rom is seen at 8200-ffff, so the last 0x200 bytes of the rom not reachable. */
- memory_configure_bank(machine, "bank1", 0, 4, machine.region("audiocpu")->base() + 0x10000 + 0x200, 0x8000);
+ state->subbank("bank1")->configure_entries(0, 4, machine.region("audiocpu")->base() + 0x10000 + 0x200, 0x8000);
}
@@ -1933,7 +1933,7 @@ static DRIVER_INIT( s1945 )
/* setup audiocpu banks */
/* The banked rom is seen at 8200-ffff, so the last 0x200 bytes of the rom not reachable. */
- memory_configure_bank(machine, "bank1", 0, 4, machine.region("audiocpu")->base() + 0x10000 + 0x200, 0x8000);
+ state->subbank("bank1")->configure_entries(0, 4, machine.region("audiocpu")->base() + 0x10000 + 0x200, 0x8000);
}
static DRIVER_INIT( s1945a )
@@ -1956,7 +1956,7 @@ static DRIVER_INIT( s1945a )
/* setup audiocpu banks */
/* The banked rom is seen at 8200-ffff, so the last 0x200 bytes of the rom not reachable. */
- memory_configure_bank(machine, "bank1", 0, 4, machine.region("audiocpu")->base() + 0x10000 + 0x200, 0x8000);
+ state->subbank("bank1")->configure_entries(0, 4, machine.region("audiocpu")->base() + 0x10000 + 0x200, 0x8000);
}
static DRIVER_INIT( s1945j )
@@ -1979,7 +1979,7 @@ static DRIVER_INIT( s1945j )
/* setup audiocpu banks */
/* The banked rom is seen at 8200-ffff, so the last 0x200 bytes of the rom not reachable. */
- memory_configure_bank(machine, "bank1", 0, 4, machine.region("audiocpu")->base() + 0x10000 + 0x200, 0x8000);
+ state->subbank("bank1")->configure_entries(0, 4, machine.region("audiocpu")->base() + 0x10000 + 0x200, 0x8000);
}
static DRIVER_INIT( s1945jn )
@@ -1996,7 +1996,7 @@ static DRIVER_INIT( s1945jn )
/* setup audiocpu banks */
/* The banked rom is seen at 8200-ffff, so the last 0x200 bytes of the rom not reachable. */
- memory_configure_bank(machine, "bank1", 0, 4, machine.region("audiocpu")->base() + 0x10000 + 0x200, 0x8000);
+ state->subbank("bank1")->configure_entries(0, 4, machine.region("audiocpu")->base() + 0x10000 + 0x200, 0x8000);
}
static DRIVER_INIT( s1945bl )
@@ -2011,8 +2011,8 @@ static DRIVER_INIT( s1945bl )
state->m_ka302c_banking = 1;
- memory_configure_bank(machine, "okibank", 0, 4, machine.region("oki")->base() + 0x30000, 0x10000);
- memory_set_bank(machine, "okibank", 0);
+ state->subbank("okibank")->configure_entries(0, 4, machine.region("oki")->base() + 0x30000, 0x10000);
+ state->subbank("okibank")->set_entry(0);
}
diff --git a/src/mame/drivers/psikyo4.c b/src/mame/drivers/psikyo4.c
index 1f89993a0b3..ead924c5e26 100644
--- a/src/mame/drivers/psikyo4.c
+++ b/src/mame/drivers/psikyo4.c
@@ -319,7 +319,7 @@ WRITE32_MEMBER(psikyo4_state::ps4_vidregs_w)
if (offset == 2) /* Configure bank for gfx test */
{
if (ACCESSING_BITS_0_15) // Bank
- memory_set_bankptr(machine(), "bank2", machine().region("gfx1")->base() + 0x2000 * (m_vidregs[offset] & 0x1fff)); /* Bank comes from vidregs */
+ subbank("bank2")->set_base(machine().region("gfx1")->base() + 0x2000 * (m_vidregs[offset] & 0x1fff)); /* Bank comes from vidregs */
}
}
@@ -971,7 +971,7 @@ static void install_hotgmck_pcm_bank(running_machine &machine)
static DRIVER_INIT( hotgmck )
{
UINT8 *RAM = machine.region("maincpu")->base();
- memory_set_bankptr(machine, "bank1", &RAM[0x100000]);
+ machine.root_device().subbank("bank1")->set_base(&RAM[0x100000]);
install_hotgmck_pcm_bank(machine); // Banked PCM ROM
}
diff --git a/src/mame/drivers/psikyosh.c b/src/mame/drivers/psikyosh.c
index e635c8dde9a..c9e2079c739 100644
--- a/src/mame/drivers/psikyosh.c
+++ b/src/mame/drivers/psikyosh.c
@@ -380,7 +380,7 @@ WRITE32_MEMBER(psikyosh_state::psikyosh_vidregs_w)
if (offset == 4) /* Configure bank for gfx test */
{
if (ACCESSING_BITS_0_15) // Bank
- memory_set_bank(machine(), "bank2", m_vidregs[offset] & 0xfff);
+ subbank("bank2")->set_entry(m_vidregs[offset] & 0xfff);
}
}
@@ -799,7 +799,7 @@ static MACHINE_START( psikyosh )
state->m_maincpu = machine.device("maincpu");
- memory_configure_bank(machine, "bank2", 0, 0x1000, machine.region("gfx1")->base(), 0x20000);
+ state->subbank("bank2")->configure_entries(0, 0x1000, machine.region("gfx1")->base(), 0x20000);
}
@@ -1219,7 +1219,7 @@ static DRIVER_INIT( s1945ii )
static DRIVER_INIT( daraku )
{
UINT8 *RAM = machine.region("maincpu")->base();
- memory_set_bankptr(machine, "bank1", &RAM[0x100000]);
+ machine.root_device().subbank("bank1")->set_base(&RAM[0x100000]);
sh2drc_set_options(machine.device("maincpu"), SH2DRC_FASTEST_OPTIONS);
}
@@ -1231,14 +1231,14 @@ static DRIVER_INIT( sbomberb )
static DRIVER_INIT( gunbird2 )
{
UINT8 *RAM = machine.region("maincpu")->base();
- memory_set_bankptr(machine, "bank1", &RAM[0x100000]);
+ machine.root_device().subbank("bank1")->set_base(&RAM[0x100000]);
sh2drc_set_options(machine.device("maincpu"), SH2DRC_FASTEST_OPTIONS);
}
static DRIVER_INIT( s1945iii )
{
UINT8 *RAM = machine.region("maincpu")->base();
- memory_set_bankptr(machine, "bank1", &RAM[0x100000]);
+ machine.root_device().subbank("bank1")->set_base(&RAM[0x100000]);
sh2drc_set_options(machine.device("maincpu"), SH2DRC_FASTEST_OPTIONS);
}
diff --git a/src/mame/drivers/psychic5.c b/src/mame/drivers/psychic5.c
index 5832d0926f4..fcd7369a60f 100644
--- a/src/mame/drivers/psychic5.c
+++ b/src/mame/drivers/psychic5.c
@@ -361,7 +361,7 @@ WRITE8_MEMBER(psychic5_state::psychic5_bankselect_w)
{
m_bank_latch = data;
bankaddress = 0x10000 + ((data & 3) * 0x4000);
- memory_set_bankptr(machine(), "bank1",&RAM[bankaddress]); /* Select 4 banks of 16k */
+ subbank("bank1")->set_base(&RAM[bankaddress]); /* Select 4 banks of 16k */
}
}
@@ -374,7 +374,7 @@ WRITE8_MEMBER(psychic5_state::bombsa_bankselect_w)
{
m_bank_latch = data;
bankaddress = 0x10000 + ((data & 7) * 0x4000);
- memory_set_bankptr(machine(), "bank1", &RAM[bankaddress]); /* Select 8 banks of 16k */
+ subbank("bank1")->set_base(&RAM[bankaddress]); /* Select 8 banks of 16k */
}
}
diff --git a/src/mame/drivers/qix.c b/src/mame/drivers/qix.c
index 276bffa305f..af29bc95b40 100644
--- a/src/mame/drivers/qix.c
+++ b/src/mame/drivers/qix.c
@@ -1308,9 +1308,9 @@ static DRIVER_INIT( kram3 )
static DRIVER_INIT( zookeep )
{
/* configure the banking */
- memory_configure_bank(machine, "bank1", 0, 1, machine.region("videocpu")->base() + 0xa000, 0);
- memory_configure_bank(machine, "bank1", 1, 1, machine.region("videocpu")->base() + 0x10000, 0);
- memory_set_bank(machine, "bank1", 0);
+ machine.root_device().subbank("bank1")->configure_entry(0, machine.region("videocpu")->base() + 0xa000);
+ machine.root_device().subbank("bank1")->configure_entry(1, machine.region("videocpu")->base() + 0x10000);
+ machine.root_device().subbank("bank1")->set_entry(0);
}
diff --git a/src/mame/drivers/queen.c b/src/mame/drivers/queen.c
index 970bdbd8664..6bda025ee5f 100644
--- a/src/mame/drivers/queen.c
+++ b/src/mame/drivers/queen.c
@@ -141,50 +141,50 @@ static void mxtc_config_w(device_t *busdevice, device_t *device, int function, i
case 0x59: // PAM0
{
if (data & 0x10) // enable RAM access to region 0xf0000 - 0xfffff
- memory_set_bankptr(busdevice->machine(), "bios_bank", state->m_bios_ram);
+ state->subbank("bios_bank")->set_base(state->m_bios_ram);
else // disable RAM access (reads go to BIOS ROM)
- memory_set_bankptr(busdevice->machine(), "bios_bank", busdevice->machine().region("bios")->base() + 0x10000);
+ state->subbank("bios_bank")->set_base(busdevice->machine().region("bios")->base() + 0x10000);
break;
}
case 0x5a: // PAM1
{
if (data & 0x1)
- memory_set_bankptr(busdevice->machine(), "video_bank1", state->m_isa_ram1);
+ state->subbank("video_bank1")->set_base(state->m_isa_ram1);
else
- memory_set_bankptr(busdevice->machine(), "video_bank1", busdevice->machine().region("video_bios")->base() + 0);
+ state->subbank("video_bank1")->set_base(busdevice->machine().region("video_bios")->base() + 0);
if (data & 0x10)
- memory_set_bankptr(busdevice->machine(), "video_bank2", state->m_isa_ram2);
+ state->subbank("video_bank2")->set_base(state->m_isa_ram2);
else
- memory_set_bankptr(busdevice->machine(), "video_bank2", busdevice->machine().region("video_bios")->base() + 0x4000);
+ state->subbank("video_bank2")->set_base(busdevice->machine().region("video_bios")->base() + 0x4000);
break;
}
case 0x5e: // PAM5
{
if (data & 0x1)
- memory_set_bankptr(busdevice->machine(), "bios_ext1", state->m_bios_ext1_ram);
+ state->subbank("bios_ext1")->set_base(state->m_bios_ext1_ram);
else
- memory_set_bankptr(busdevice->machine(), "bios_ext1", busdevice->machine().region("bios")->base() + 0);
+ state->subbank("bios_ext1")->set_base(busdevice->machine().region("bios")->base() + 0);
if (data & 0x10)
- memory_set_bankptr(busdevice->machine(), "bios_ext2", state->m_bios_ext2_ram);
+ state->subbank("bios_ext2")->set_base(state->m_bios_ext2_ram);
else
- memory_set_bankptr(busdevice->machine(), "bios_ext2", busdevice->machine().region("bios")->base() + 0x4000);
+ state->subbank("bios_ext2")->set_base(busdevice->machine().region("bios")->base() + 0x4000);
break;
}
case 0x5f: // PAM6
{
if (data & 0x1)
- memory_set_bankptr(busdevice->machine(), "bios_ext3", state->m_bios_ext3_ram);
+ state->subbank("bios_ext3")->set_base(state->m_bios_ext3_ram);
else
- memory_set_bankptr(busdevice->machine(), "bios_ext3", busdevice->machine().region("bios")->base() + 0x8000);
+ state->subbank("bios_ext3")->set_base(busdevice->machine().region("bios")->base() + 0x8000);
if (data & 0x10)
- memory_set_bankptr(busdevice->machine(), "bios_ext4", state->m_bios_ext4_ram);
+ state->subbank("bios_ext4")->set_base(state->m_bios_ext4_ram);
else
- memory_set_bankptr(busdevice->machine(), "bios_ext4", busdevice->machine().region("bios")->base() + 0xc000);
+ state->subbank("bios_ext4")->set_base(busdevice->machine().region("bios")->base() + 0xc000);
break;
}
@@ -658,13 +658,13 @@ static MACHINE_START( queen )
static MACHINE_RESET( queen )
{
- memory_set_bankptr(machine, "bios_bank", machine.region("bios")->base() + 0x30000);
- memory_set_bankptr(machine, "bios_ext1", machine.region("bios")->base() + 0x20000);
- memory_set_bankptr(machine, "bios_ext2", machine.region("bios")->base() + 0x24000);
- memory_set_bankptr(machine, "bios_ext3", machine.region("bios")->base() + 0x28000);
- memory_set_bankptr(machine, "bios_ext4", machine.region("bios")->base() + 0x2c000);
- memory_set_bankptr(machine, "video_bank1", machine.region("video_bios")->base() + 0);
- memory_set_bankptr(machine, "video_bank2", machine.region("video_bios")->base() + 0x4000);
+ machine.root_device().subbank("bios_bank")->set_base(machine.region("bios")->base() + 0x30000);
+ machine.root_device().subbank("bios_ext1")->set_base(machine.region("bios")->base() + 0x20000);
+ machine.root_device().subbank("bios_ext2")->set_base(machine.region("bios")->base() + 0x24000);
+ machine.root_device().subbank("bios_ext3")->set_base(machine.region("bios")->base() + 0x28000);
+ machine.root_device().subbank("bios_ext4")->set_base(machine.region("bios")->base() + 0x2c000);
+ machine.root_device().subbank("video_bank1")->set_base(machine.region("video_bios")->base() + 0);
+ machine.root_device().subbank("video_bank2")->set_base(machine.region("video_bios")->base() + 0x4000);
}
diff --git a/src/mame/drivers/quizdna.c b/src/mame/drivers/quizdna.c
index 085034cd7aa..20fe16b8302 100644
--- a/src/mame/drivers/quizdna.c
+++ b/src/mame/drivers/quizdna.c
@@ -19,13 +19,13 @@ Quiz Gekiretsu Scramble (Gakuen Paradise 2) (c) 1993 Face
WRITE8_MEMBER(quizdna_state::quizdna_rombank_w)
{
UINT8 *ROM = machine().region("maincpu")->base();
- memory_set_bankptr(machine(), "bank1",&ROM[0x10000+0x4000*(data & 0x3f)]);
+ subbank("bank1")->set_base(&ROM[0x10000+0x4000*(data & 0x3f)]);
}
WRITE8_MEMBER(quizdna_state::gekiretu_rombank_w)
{
UINT8 *ROM = machine().region("maincpu")->base();
- memory_set_bankptr(machine(), "bank1",&ROM[0x10000+0x4000*((data & 0x3f) ^ 0x0a)]);
+ subbank("bank1")->set_base(&ROM[0x10000+0x4000*((data & 0x3f) ^ 0x0a)]);
}
/****************************************************************************/
diff --git a/src/mame/drivers/quizo.c b/src/mame/drivers/quizo.c
index 05cc1eddbaa..fd7a47ab895 100644
--- a/src/mame/drivers/quizo.c
+++ b/src/mame/drivers/quizo.c
@@ -129,7 +129,7 @@ WRITE8_MEMBER(quizo_state::port60_w)
data=0;
}
m_port60=data;
- memory_set_bankptr(machine(), "bank1", &machine().region("user1")->base()[rombankLookup[data]*0x4000] );
+ subbank("bank1")->set_base(&machine().region("user1")->base()[rombankLookup[data]*0x4000] );
}
static ADDRESS_MAP_START( memmap, AS_PROGRAM, 8, quizo_state )
diff --git a/src/mame/drivers/quizpun2.c b/src/mame/drivers/quizpun2.c
index 44db712202b..7d3124fd285 100644
--- a/src/mame/drivers/quizpun2.c
+++ b/src/mame/drivers/quizpun2.c
@@ -344,7 +344,7 @@ WRITE8_MEMBER(quizpun2_state::quizpun2_protection_w)
WRITE8_MEMBER(quizpun2_state::quizpun2_rombank_w)
{
UINT8 *ROM = machine().region("maincpu")->base();
- memory_set_bankptr(machine(), "bank1", &ROM[ 0x10000 + 0x2000 * (data & 0x1f) ] );
+ subbank("bank1")->set_base(&ROM[ 0x10000 + 0x2000 * (data & 0x1f) ] );
}
WRITE8_MEMBER(quizpun2_state::quizpun2_irq_ack)
diff --git a/src/mame/drivers/r2dx_v33.c b/src/mame/drivers/r2dx_v33.c
index a58d06552d2..adc95ec9716 100644
--- a/src/mame/drivers/r2dx_v33.c
+++ b/src/mame/drivers/r2dx_v33.c
@@ -733,20 +733,20 @@ MACHINE_CONFIG_END
static DRIVER_INIT(rdx_v33)
{
- memory_configure_bank(machine, "bank1", 0, 0x20, machine.region("mainprg")->base(), 0x20000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 0x20, machine.region("mainprg")->base(), 0x20000);
raiden2_decrypt_sprites(machine);
- memory_set_bank(machine, "bank1", 1);
+ machine.root_device().subbank("bank1")->set_entry(1);
}
static DRIVER_INIT(nzerotea)
{
- memory_configure_bank(machine, "bank1", 0, 2, machine.region("mainprg")->base(), 0x20000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 2, machine.region("mainprg")->base(), 0x20000);
zeroteam_decrypt_sprites(machine);
- memory_set_bank(machine, "bank1", 1);
+ machine.root_device().subbank("bank1")->set_entry(1);
}
diff --git a/src/mame/drivers/rabbit.c b/src/mame/drivers/rabbit.c
index ccbd5ee737f..f03eedf2675 100644
--- a/src/mame/drivers/rabbit.c
+++ b/src/mame/drivers/rabbit.c
@@ -526,9 +526,9 @@ WRITE32_MEMBER(rabbit_state::rabbit_rombank_w)
printf("rabbit rombank %08x\n",data);
bank = data & 0x3ff;
- memory_set_bankptr(machine(), "bank1",&dataroms[0x40000*(bank&0x3ff)]);
+ subbank("bank1")->set_base(&dataroms[0x40000*(bank&0x3ff)]);
#else
- memory_set_bankptr(machine(), "bank1",&dataroms[0]);
+ subbank("bank1")->set_base(&dataroms[0]);
#endif
}
diff --git a/src/mame/drivers/raiden2.c b/src/mame/drivers/raiden2.c
index 9486b071713..08afda13cd8 100644
--- a/src/mame/drivers/raiden2.c
+++ b/src/mame/drivers/raiden2.c
@@ -613,7 +613,7 @@ WRITE16_MEMBER(raiden2_state::cop_cmd_w)
// case 0x6ca:
// logerror("select bank %d %04x\n", (data >> 15) & 1, data);
-// memory_set_bank(space.machine(), "bank1", (data >> 15) & 1);
+// space.machine().root_device().subbank("bank1")->set_entry((data >> 15) & 1);
static void combine32(UINT32 *val, int offset, UINT16 data, UINT16 mem_mask)
@@ -813,7 +813,7 @@ WRITE16_MEMBER(raiden2_state::raidendx_cop_bank_2_w)
/* probably bit 3 is from 6c9 */
/* TODO: this doesn't work! */
- memory_set_bank(space.machine(), "mainbank", 8 | (cop_bank & 0x7000) >> 12);
+ space.machine().root_device().subbank("mainbank")->set_entry(8 | (cop_bank & 0x7000) >> 12);
}
}
@@ -1059,7 +1059,7 @@ static MACHINE_RESET(raiden2)
sprcpt_init();
MACHINE_RESET_CALL(seibu_sound);
- memory_set_bank(machine, "mainbank", 1);
+ state->subbank("mainbank")->set_entry(1);
state->prg_bank = 0;
//cop_init();
@@ -1072,7 +1072,7 @@ static MACHINE_RESET(raidendx)
sprcpt_init();
MACHINE_RESET_CALL(seibu_sound);
- memory_set_bank(machine, "mainbank", 8);
+ state->subbank("mainbank")->set_entry(8);
state->prg_bank = 0x08;
@@ -1088,7 +1088,7 @@ static MACHINE_RESET(zeroteam)
sprcpt_init();
MACHINE_RESET_CALL(seibu_sound);
- memory_set_bank(machine, "mainbank", 1);
+ state->subbank("mainbank")->set_entry(1);
state->prg_bank = 0;
//cop_init();
@@ -1103,7 +1103,7 @@ static MACHINE_RESET(xsedae)
sprcpt_init();
MACHINE_RESET_CALL(seibu_sound);
- //memory_set_bank(machine, "mainbank", 1);
+ state->subbank("mainbank")->set_entry(1);
//cop_init();
}
@@ -1122,7 +1122,7 @@ WRITE16_MEMBER(raiden2_state::raiden2_bank_w)
{
if(ACCESSING_BITS_8_15) {
logerror("select bank %d %04x\n", (data >> 15) & 1, data);
- memory_set_bank(space.machine(), "mainbank", !((data >> 15) & 1));
+ space.machine().root_device().subbank("mainbank")->set_entry(!((data >> 15) & 1));
prg_bank = ((data >> 15) & 1);
}
}
@@ -2894,25 +2894,25 @@ ROM_END
static DRIVER_INIT (raiden2)
{
- memory_configure_bank(machine, "mainbank", 0, 2, machine.region("mainprg")->base(), 0x20000);
+ machine.root_device().subbank("mainbank")->configure_entries(0, 2, machine.region("mainprg")->base(), 0x20000);
raiden2_decrypt_sprites(machine);
}
static DRIVER_INIT (raidendx)
{
- memory_configure_bank(machine, "mainbank", 0, 0x10, machine.region("mainprg")->base(), 0x20000);
+ machine.root_device().subbank("mainbank")->configure_entries(0, 0x10, machine.region("mainprg")->base(), 0x20000);
raiden2_decrypt_sprites(machine);
}
static DRIVER_INIT (xsedae)
{
/* doesn't have banking */
- //memory_configure_bank(machine, "mainbank", 0, 2, machine.region("mainprg")->base(), 0x20000);
+ //machine.root_device().subbank("mainbank")->configure_entries(0, 2, machine.region("mainprg")->base(), 0x20000);
}
static DRIVER_INIT (zeroteam)
{
- memory_configure_bank(machine, "mainbank", 0, 2, machine.region("mainprg")->base(), 0x20000);
+ machine.root_device().subbank("mainbank")->configure_entries(0, 2, machine.region("mainprg")->base(), 0x20000);
zeroteam_decrypt_sprites(machine);
}
diff --git a/src/mame/drivers/rainbow.c b/src/mame/drivers/rainbow.c
index 14b41f69bc9..7f19446a0c8 100644
--- a/src/mame/drivers/rainbow.c
+++ b/src/mame/drivers/rainbow.c
@@ -397,7 +397,7 @@ ADDRESS_MAP_END
static WRITE8_DEVICE_HANDLER( bankswitch_w )
{
- memory_set_bank(device->machine(), "bank1", data & 3);
+ device->machine().root_device().subbank("bank1")->set_entry(data & 3);
}
READ8_MEMBER(rbisland_state::jumping_latch_r)
@@ -877,7 +877,7 @@ static DRIVER_INIT( rbisland )
{
UINT8 *ROM = machine.region("audiocpu")->base();
- memory_configure_bank(machine, "bank1", 0, 4, &ROM[0xc000], 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 4, &ROM[0xc000], 0x4000);
rbisland_cchip_init(machine, 0);
}
@@ -886,7 +886,7 @@ static DRIVER_INIT( rbislande )
{
UINT8 *ROM = machine.region("audiocpu")->base();
- memory_configure_bank(machine, "bank1", 0, 4, &ROM[0xc000], 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 4, &ROM[0xc000], 0x4000);
rbisland_cchip_init(machine, 1);
}
diff --git a/src/mame/drivers/rastan.c b/src/mame/drivers/rastan.c
index 674a621bf78..182b28b8f27 100644
--- a/src/mame/drivers/rastan.c
+++ b/src/mame/drivers/rastan.c
@@ -163,7 +163,7 @@ Note: The 'rastsagaa' set's rom numbers were named as RSxx_37 through RSxx_42
static WRITE8_DEVICE_HANDLER( rastan_bankswitch_w )
{
- memory_set_bank(device->machine(), "bank1", data & 3);
+ device->machine().root_device().subbank("bank1")->set_entry(data & 3);
}
@@ -361,8 +361,8 @@ static MACHINE_START( rastan )
rastan_state *state = machine.driver_data<rastan_state>();
UINT8 *ROM = machine.region("audiocpu")->base();
- memory_configure_bank(machine, "bank1", 0, 1, &ROM[0x00000], 0x4000);
- memory_configure_bank(machine, "bank1", 1, 3, &ROM[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entry(0, &ROM[0x00000]);
+ state->subbank("bank1")->configure_entries(1, 3, &ROM[0x10000], 0x4000);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");
diff --git a/src/mame/drivers/renegade.c b/src/mame/drivers/renegade.c
index b006ebf81af..7bde8f9de26 100644
--- a/src/mame/drivers/renegade.c
+++ b/src/mame/drivers/renegade.c
@@ -241,7 +241,7 @@ static void setbank(running_machine &machine)
{
renegade_state *state = machine.driver_data<renegade_state>();
UINT8 *RAM = machine.region("maincpu")->base();
- memory_set_bankptr(machine, "bank1", &RAM[state->m_bank ? 0x10000 : 0x4000]);
+ state->subbank("bank1")->set_base(&RAM[state->m_bank ? 0x10000 : 0x4000]);
}
static MACHINE_START( renegade )
diff --git a/src/mame/drivers/rmhaihai.c b/src/mame/drivers/rmhaihai.c
index 356cb1921c5..bf8c09ff091 100644
--- a/src/mame/drivers/rmhaihai.c
+++ b/src/mame/drivers/rmhaihai.c
@@ -184,8 +184,8 @@ WRITE8_MEMBER(rmhaihai_state::themj_rombank_w)
UINT8 *rom = machine().region("maincpu")->base() + 0x10000;
int bank = data & 0x03;
logerror("banksw %d\n",bank);
- memory_set_bankptr(machine(), "bank1", rom + bank*0x4000);
- memory_set_bankptr(machine(), "bank2", rom + bank*0x4000 + 0x2000);
+ subbank("bank1")->set_base(rom + bank*0x4000);
+ subbank("bank2")->set_base(rom + bank*0x4000 + 0x2000);
}
static MACHINE_RESET( themj )
diff --git a/src/mame/drivers/rockrage.c b/src/mame/drivers/rockrage.c
index c776c8f8409..40b9f76aaae 100644
--- a/src/mame/drivers/rockrage.c
+++ b/src/mame/drivers/rockrage.c
@@ -67,7 +67,7 @@ static INTERRUPT_GEN( rockrage_interrupt )
WRITE8_MEMBER(rockrage_state::rockrage_bankswitch_w)
{
/* bits 4-6 = bank number */
- memory_set_bank(machine(), "bank1", (data & 0x70) >> 4);
+ subbank("bank1")->set_entry((data & 0x70) >> 4);
/* bits 0 & 1 = coin counters */
coin_counter_w(machine(), 0,data & 0x01);
@@ -239,7 +239,7 @@ static MACHINE_START( rockrage )
rockrage_state *state = machine.driver_data<rockrage_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x2000);
+ state->subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x2000);
state->m_audiocpu = machine.device("audiocpu");
state->m_k007342 = machine.device("k007342");
diff --git a/src/mame/drivers/rollerg.c b/src/mame/drivers/rollerg.c
index c541f8a0f1f..7ea6fa64da5 100644
--- a/src/mame/drivers/rollerg.c
+++ b/src/mame/drivers/rollerg.c
@@ -251,9 +251,9 @@ static MACHINE_START( rollerg )
rollerg_state *state = machine.driver_data<rollerg_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 6, &ROM[0x10000], 0x4000);
- memory_configure_bank(machine, "bank1", 6, 2, &ROM[0x10000], 0x4000);
- memory_set_bank(machine, "bank1", 0);
+ state->subbank("bank1")->configure_entries(0, 6, &ROM[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(6, 2, &ROM[0x10000], 0x4000);
+ state->subbank("bank1")->set_entry(0);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");
@@ -372,7 +372,7 @@ ROM_END
static KONAMI_SETLINES_CALLBACK( rollerg_banking )
{
- memory_set_bank(device->machine(), "bank1", lines & 0x07);
+ device->machine().root_device().subbank("bank1")->set_entry(lines & 0x07);
}
diff --git a/src/mame/drivers/royalmah.c b/src/mame/drivers/royalmah.c
index 3113ccf0721..f842cf1747d 100644
--- a/src/mame/drivers/royalmah.c
+++ b/src/mame/drivers/royalmah.c
@@ -396,7 +396,7 @@ logerror("%04x: bank %02x\n",cpu_get_pc(&space.device()),data);
/* bits 6, 4 and 3 used for something input related? */
address = 0x10000 + (data & 0x07) * 0x8000;
- memory_set_bankptr(machine(), "bank1",&rom[address]);
+ subbank("bank1")->set_base(&rom[address]);
}
@@ -404,7 +404,7 @@ WRITE8_MEMBER(royalmah_state::mjapinky_bank_w)
{
UINT8 *ROM = machine().region("maincpu")->base();
m_rombank = data;
- memory_set_bankptr(machine(), "bank1",ROM + 0x10000 + 0x8000 * data);
+ subbank("bank1")->set_base(ROM + 0x10000 + 0x8000 * data);
}
WRITE8_MEMBER(royalmah_state::mjapinky_palbank_w)
@@ -434,7 +434,7 @@ logerror("%04x: bank %02x\n",cpu_get_pc(&space.device()),data);
address = 0x10000 + data * 0x8000;
- memory_set_bankptr(machine(), "bank1",&rom[address]);
+ subbank("bank1")->set_base(&rom[address]);
}
@@ -452,7 +452,7 @@ WRITE8_MEMBER(royalmah_state::dynax_bank_w)
address = 0x10000 + data * 0x8000;
- memory_set_bankptr(machine(), "bank1",&rom[address]);
+ subbank("bank1")->set_base(&rom[address]);
}
READ8_MEMBER(royalmah_state::daisyari_dsw_r)
@@ -478,7 +478,7 @@ WRITE8_MEMBER(royalmah_state::daisyari_bank_w)
address = 0x10000 + ((data & 0x30)>>4) * 0x10000 + (data & 0x1) * 0x8000;
// printf("%08x %02x\n",address,data);
- memory_set_bankptr(machine(), "bank1",&rom[address]);
+ subbank("bank1")->set_base(&rom[address]);
/* bit 1 used too but unknown purpose. */
}
@@ -508,7 +508,7 @@ WRITE8_MEMBER(royalmah_state::mjclub_bank_w)
address = 0x10000 + data * 0x8000;
// printf("%08x\n",address);
- memory_set_bankptr(machine(), "bank1",&rom[address]);
+ subbank("bank1")->set_base(&rom[address]);
/* bit 5 used too but unknown purpose. */
}
@@ -829,12 +829,12 @@ READ8_MEMBER(royalmah_state::janptr96_dsw_r)
WRITE8_MEMBER(royalmah_state::janptr96_rombank_w)
{
UINT8 *ROM = machine().region("maincpu")->base();
- memory_set_bankptr(machine(), "bank1",ROM + 0x10000 + 0x8000 * data);
+ subbank("bank1")->set_base(ROM + 0x10000 + 0x8000 * data);
}
WRITE8_MEMBER(royalmah_state::janptr96_rambank_w)
{
- memory_set_bankptr(machine(), "bank2", m_janptr96_nvram + 0x1000 + 0x1000 * data);
+ subbank("bank2")->set_base(m_janptr96_nvram + 0x1000 + 0x1000 * data);
}
READ8_MEMBER(royalmah_state::janptr96_unknown_r)
@@ -1050,7 +1050,7 @@ READ8_MEMBER(royalmah_state::mjtensin_p3_r)
static void mjtensin_update_rombank(running_machine &machine)
{
royalmah_state *state = machine.driver_data<royalmah_state>();
- memory_set_bankptr(machine, "bank1", machine.region("maincpu")->base() + 0x10000 + state->m_rombank * 0x8000 );
+ state->subbank("bank1")->set_base(machine.region("maincpu")->base() + 0x10000 + state->m_rombank * 0x8000 );
}
WRITE8_MEMBER(royalmah_state::mjtensin_p4_w)
{
@@ -1092,7 +1092,7 @@ ADDRESS_MAP_END
static void cafetime_update_rombank(running_machine &machine)
{
royalmah_state *state = machine.driver_data<royalmah_state>();
- memory_set_bankptr(machine, "bank1", machine.region("maincpu")->base() + 0x10000 + state->m_rombank * 0x8000 );
+ state->subbank("bank1")->set_base(machine.region("maincpu")->base() + 0x10000 + state->m_rombank * 0x8000 );
}
WRITE8_MEMBER(royalmah_state::cafetime_p4_w)
{
@@ -4710,13 +4710,13 @@ ROM_START( jansoua )
ROM_END
-static DRIVER_INIT( ippatsu ) { memory_set_bankptr(machine, "bank1", machine.region("maincpu")->base() + 0x8000 ); }
+static DRIVER_INIT( ippatsu ) { machine.root_device().subbank("bank1")->set_base(machine.region("maincpu")->base() + 0x8000 ); }
static DRIVER_INIT( janptr96 )
{
royalmah_state *state = machine.driver_data<royalmah_state>();
state->m_janptr96_nvram = auto_alloc_array(machine, UINT8, 0x1000 * 9);
- memory_set_bankptr(machine, "bank3", state->m_janptr96_nvram);
+ state->subbank("bank3")->set_base(state->m_janptr96_nvram);
machine.device<nvram_device>("nvram")->set_base(state->m_janptr96_nvram, 0x1000 * 9);
}
diff --git a/src/mame/drivers/rungun.c b/src/mame/drivers/rungun.c
index b3e785b0918..4003b16e722 100644
--- a/src/mame/drivers/rungun.c
+++ b/src/mame/drivers/rungun.c
@@ -220,7 +220,7 @@ WRITE8_MEMBER(rungun_state::z80ctrl_w)
m_z80_control = data;
- memory_set_bank(machine(), "bank2", data & 0x07);
+ subbank("bank2")->set_entry(data & 0x07);
if (data & 0x10)
device_set_input_line(m_audiocpu, INPUT_LINE_NMI, CLEAR_LINE);
@@ -368,7 +368,7 @@ static MACHINE_START( rng )
rungun_state *state = machine.driver_data<rungun_state>();
UINT8 *ROM = machine.region("soundcpu")->base();
- memory_configure_bank(machine, "bank2", 0, 8, &ROM[0x10000], 0x4000);
+ state->subbank("bank2")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("soundcpu");
diff --git a/src/mame/drivers/sandscrp.c b/src/mame/drivers/sandscrp.c
index 9c7c6b17c58..bcf708e56d5 100644
--- a/src/mame/drivers/sandscrp.c
+++ b/src/mame/drivers/sandscrp.c
@@ -277,7 +277,7 @@ WRITE8_MEMBER(sandscrp_state::sandscrp_bankswitch_w)
if (bank < 3) RAM = &RAM[0x4000 * bank];
else RAM = &RAM[0x4000 * (bank-3) + 0x10000];
- memory_set_bankptr(machine(), "bank1", RAM);
+ subbank("bank1")->set_base(RAM);
}
READ8_MEMBER(sandscrp_state::sandscrp_latchstatus_r)
diff --git a/src/mame/drivers/sangho.c b/src/mame/drivers/sangho.c
index 36ccfabc0b3..140f0bbe576 100644
--- a/src/mame/drivers/sangho.c
+++ b/src/mame/drivers/sangho.c
@@ -73,13 +73,13 @@ static void pzlestar_map_banks(running_machine &machine)
case 0:
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x3fff, "bank1");
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_bank(0x0000, 0x3fff, "bank5");
- memory_set_bankptr(machine, "bank1", state->m_ram);
- memory_set_bankptr(machine, "bank5", state->m_ram);
+ state->subbank("bank1")->set_base(state->m_ram);
+ state->subbank("bank5")->set_base(state->m_ram);
break;
case 2:
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x3fff, "bank1");
machine.device("maincpu")->memory().space(AS_PROGRAM)->unmap_write(0x0000, 0x3fff);
- memory_set_bankptr(machine, "bank1", machine.region("user1")->base()+ 0x10000);
+ state->subbank("bank1")->set_base(machine.region("user1")->base()+ 0x10000);
break;
case 1:
case 3:
@@ -95,18 +95,18 @@ static void pzlestar_map_banks(running_machine &machine)
case 0:
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x4000, 0x7fff, "bank2");
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_bank(0x4000, 0x7fff, "bank6");
- memory_set_bankptr(machine, "bank2", state->m_ram + 0x4000);
- memory_set_bankptr(machine, "bank6", state->m_ram + 0x4000);
+ state->subbank("bank2")->set_base(state->m_ram + 0x4000);
+ state->subbank("bank6")->set_base(state->m_ram + 0x4000);
break;
case 2:
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x4000, 0x7fff, "bank2");
machine.device("maincpu")->memory().space(AS_PROGRAM)->unmap_write(0x4000, 0x7fff);
- memory_set_bankptr(machine, "bank2", machine.region("user1")->base()+ 0x18000);
+ state->subbank("bank2")->set_base(machine.region("user1")->base()+ 0x18000);
break;
case 3:
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x4000, 0x7fff, "bank2");
machine.device("maincpu")->memory().space(AS_PROGRAM)->unmap_write(0x4000, 0x7fff);
- memory_set_bankptr(machine, "bank2", machine.region("user1")->base()+ 0x20000 + (state->m_pzlestar_rom_bank*0x8000) + 0x4000);
+ state->subbank("bank2")->set_base(machine.region("user1")->base()+ 0x20000 + (state->m_pzlestar_rom_bank*0x8000) + 0x4000);
break;
case 1:
machine.device("maincpu")->memory().space(AS_PROGRAM)->unmap_read(0x4000, 0x7fff);
@@ -121,13 +121,13 @@ static void pzlestar_map_banks(running_machine &machine)
case 0:
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x8000, 0xbfff, "bank3");
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_bank(0x8000, 0xbfff, "bank7");
- memory_set_bankptr(machine, "bank3", state->m_ram + 0x8000);
- memory_set_bankptr(machine, "bank7", state->m_ram + 0x8000);
+ state->subbank("bank3")->set_base(state->m_ram + 0x8000);
+ state->subbank("bank7")->set_base(state->m_ram + 0x8000);
break;
case 3:
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x8000, 0xbfff, "bank3");
machine.device("maincpu")->memory().space(AS_PROGRAM)->unmap_write(0x8000, 0xbfff);
- memory_set_bankptr(machine, "bank3", machine.region("user1")->base()+ 0x20000 + (state->m_pzlestar_rom_bank*0x8000));
+ state->subbank("bank3")->set_base(machine.region("user1")->base()+ 0x20000 + (state->m_pzlestar_rom_bank*0x8000));
break;
case 1:
case 2:
@@ -143,8 +143,8 @@ static void pzlestar_map_banks(running_machine &machine)
case 0:
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xc000, 0xffff, "bank4");
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_bank(0xc000, 0xffff, "bank8");
- memory_set_bankptr(machine, "bank4", state->m_ram + 0xc000);
- memory_set_bankptr(machine, "bank8", state->m_ram + 0xc000);
+ state->subbank("bank4")->set_base(state->m_ram + 0xc000);
+ state->subbank("bank8")->set_base(state->m_ram + 0xc000);
break;
case 1:
case 2:
@@ -191,25 +191,25 @@ static void sexyboom_map_bank(running_machine &machine, int bank)
if (banknum & 0x80)
{
// ram
- memory_set_bankptr(machine, read_bank_name, &state->m_ram[(banknum & 0x7f) * 0x4000]);
+ state->subbank(read_bank_name)->set_base(&state->m_ram[(banknum & 0x7f) * 0x4000]);
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_bank(bank*0x4000, (bank+1)*0x4000 - 1, write_bank_name );
- memory_set_bankptr(machine, write_bank_name, &state->m_ram[(banknum & 0x7f) * 0x4000]);
+ state->subbank(write_bank_name)->set_base(&state->m_ram[(banknum & 0x7f) * 0x4000]);
}
else
{
// rom 0
- memory_set_bankptr(machine, read_bank_name, machine.region("user1")->base()+0x4000*banknum);
+ state->subbank(read_bank_name)->set_base(machine.region("user1")->base()+0x4000*banknum);
machine.device("maincpu")->memory().space(AS_PROGRAM)->unmap_write(bank*0x4000, (bank+1)*0x4000 - 1);
}
}
else if (banktype == 0x82)
{
- memory_set_bankptr(machine, read_bank_name, machine.region("user1")->base()+0x20000+banknum*0x4000);
+ state->subbank(read_bank_name)->set_base(machine.region("user1")->base()+0x20000+banknum*0x4000);
machine.device("maincpu")->memory().space(AS_PROGRAM)->unmap_write(bank*0x4000, (bank+1)*0x4000 - 1);
}
else if (banktype == 0x80)
{
- memory_set_bankptr(machine, read_bank_name, machine.region("user1")->base()+0x120000+banknum*0x4000);
+ state->subbank(read_bank_name)->set_base(machine.region("user1")->base()+0x120000+banknum*0x4000);
machine.device("maincpu")->memory().space(AS_PROGRAM)->unmap_write(bank*0x4000, (bank+1)*0x4000 - 1);
}
else
diff --git a/src/mame/drivers/savquest.c b/src/mame/drivers/savquest.c
index f81e6115408..b04e9d6e10e 100644
--- a/src/mame/drivers/savquest.c
+++ b/src/mame/drivers/savquest.c
@@ -106,11 +106,11 @@ static void mxtc_config_w(device_t *busdevice, device_t *device, int function, i
{
if (data & 0x10) // enable RAM access to region 0xf0000 - 0xfffff
{
- memory_set_bankptr(busdevice->machine(), "bank1", state->m_bios_ram);
+ state->subbank("bank1")->set_base(state->m_bios_ram);
}
else // disable RAM access (reads go to BIOS ROM)
{
- memory_set_bankptr(busdevice->machine(), "bank1", busdevice->machine().region("bios")->base() + 0x20000);
+ state->subbank("bank1")->set_base(busdevice->machine().region("bios")->base() + 0x20000);
}
break;
}
@@ -531,7 +531,7 @@ static MACHINE_START( savquest )
static MACHINE_RESET( savquest )
{
- memory_set_bankptr(machine, "bank1", machine.region("bios")->base() + 0x20000);
+ machine.root_device().subbank("bank1")->set_base(machine.region("bios")->base() + 0x20000);
}
diff --git a/src/mame/drivers/sbrkout.c b/src/mame/drivers/sbrkout.c
index f0acb4225be..1dd79f9b1ea 100644
--- a/src/mame/drivers/sbrkout.c
+++ b/src/mame/drivers/sbrkout.c
@@ -99,7 +99,7 @@ static MACHINE_START( sbrkout )
{
sbrkout_state *state = machine.driver_data<sbrkout_state>();
UINT8 *videoram = state->m_videoram;
- memory_set_bankptr(machine, "bank1", &videoram[0x380]);
+ state->subbank("bank1")->set_base(&videoram[0x380]);
state->m_scanline_timer = machine.scheduler().timer_alloc(FUNC(scanline_callback));
state->m_pot_timer = machine.scheduler().timer_alloc(FUNC(pot_trigger_callback));
diff --git a/src/mame/drivers/segae.c b/src/mame/drivers/segae.c
index c4449b06ef0..1530ce618de 100644
--- a/src/mame/drivers/segae.c
+++ b/src/mame/drivers/segae.c
@@ -427,10 +427,10 @@ WRITE8_MEMBER( systeme_state::bank_write )
{
m_f7_bank_value = data;
- memory_set_bankptr(machine(), "vdp1_bank", m_vdp1_vram->base() + ( ( data & 0x80 ) ? 0x4000 : 0 ) );
- memory_set_bankptr(machine(), "vdp2_bank", m_vdp2_vram->base() + ( ( data & 0x40 ) ? 0x4000 : 0 ) );
+ subbank("vdp1_bank")->set_base(m_vdp1_vram->base() + ( ( data & 0x80 ) ? 0x4000 : 0 ) );
+ subbank("vdp2_bank")->set_base(m_vdp2_vram->base() + ( ( data & 0x40 ) ? 0x4000 : 0 ) );
- memory_set_bank(machine(), "bank1", data & 0x0f);
+ subbank("bank1")->set_entry(data & 0x0f);
}
@@ -440,7 +440,7 @@ void systeme_state::driver_start()
m_vdp1_vram = machine().region_alloc("vdp1_vram", 2 * 0x4000, 1, ENDIANNESS_LITTLE);
m_vdp2_vram = machine().region_alloc("vdp2_vram", 2 * 0x4000, 1, ENDIANNESS_LITTLE);
- memory_configure_bank(machine(), "bank1", 0, 16, machine().region("maincpu")->base() + 0x10000, 0x4000);
+ subbank("bank1")->configure_entries(0, 16, machine().region("maincpu")->base() + 0x10000, 0x4000);
if ( !strcmp( system().name, "ridleofp" ) )
{
diff --git a/src/mame/drivers/segald.c b/src/mame/drivers/segald.c
index 4623b29aaf1..f205b80d54a 100644
--- a/src/mame/drivers/segald.c
+++ b/src/mame/drivers/segald.c
@@ -240,7 +240,7 @@ WRITE8_MEMBER(segald_state::astron_FIX_write)
WRITE8_MEMBER(segald_state::astron_io_bankswitch_w)
{
logerror("Banking 0x%x\n", data);
- memory_set_bank(machine(), "bank1", data & 0xff);
+ subbank("bank1")->set_entry(data & 0xff);
}
@@ -598,7 +598,7 @@ ROM_END
static DRIVER_INIT( astron )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 2, &ROM[0x8000], 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 2, &ROM[0x8000], 0x4000);
}
diff --git a/src/mame/drivers/segas16b.c b/src/mame/drivers/segas16b.c
index 5f9c609a77c..9025ca0321e 100644
--- a/src/mame/drivers/segas16b.c
+++ b/src/mame/drivers/segas16b.c
@@ -1376,7 +1376,7 @@ static WRITE8_DEVICE_HANDLER( upd7759_control_w )
bankoffs += (data & 0x07) * 0x04000;
break;
}
- memory_set_bankptr(device->machine(), "bank1", device->machine().region("soundcpu")->base() + 0x10000 + (bankoffs % size));
+ state->subbank("bank1")->set_base(device->machine().region("soundcpu")->base() + 0x10000 + (bankoffs % size));
}
}
@@ -7061,14 +7061,14 @@ static WRITE16_HANDLER( isgsm_main_bank_change_w )
// other values on real hw have strange results, change memory mapping etc??
if (data==1)
{
- memory_set_bankptr(space->machine(),ISGSM_MAIN_BANK, space->machine().region("maincpu")->base());
+ space->machine().root_device().subbank(ISGSM_MAIN_BANK)->set_base(space->machine().region("maincpu")->base());
}
}
static MACHINE_START( isgsm )
{
- memory_set_bankptr(machine,ISGSM_CART_BANK, machine.region("gamecart_rgn")->base());
- memory_set_bankptr(machine,ISGSM_MAIN_BANK, machine.region("bios")->base());
+ machine.root_device().subbank(ISGSM_CART_BANK)->set_base(machine.region("gamecart_rgn")->base());
+ machine.root_device().subbank(ISGSM_MAIN_BANK)->set_base(machine.region("bios")->base());
}
static ADDRESS_MAP_START( isgsm_map, AS_PROGRAM, 16, segas1x_state )
@@ -7219,8 +7219,8 @@ static MACHINE_RESET( isgsm )
for (int i = 0; i < 16; i++)
segaic16_sprites_set_bank(machine, 0, i, i);
- memory_set_bankptr(machine,ISGSM_CART_BANK, machine.region("gamecart_rgn")->base());
- memory_set_bankptr(machine,ISGSM_MAIN_BANK, machine.region("bios")->base());
+ machine.root_device().subbank(ISGSM_CART_BANK)->set_base(machine.region("gamecart_rgn")->base());
+ machine.root_device().subbank(ISGSM_MAIN_BANK)->set_base(machine.region("bios")->base());
devtag_reset( machine, "maincpu" );
}
diff --git a/src/mame/drivers/segas18.c b/src/mame/drivers/segas18.c
index 8faa3154ff2..54d523651fe 100644
--- a/src/mame/drivers/segas18.c
+++ b/src/mame/drivers/segas18.c
@@ -587,7 +587,7 @@ static WRITE16_HANDLER( wwally_custom_io_w )
static WRITE8_HANDLER( soundbank_w )
{
- memory_set_bankptr(space->machine(), "bank1", space->machine().region("soundcpu")->base() + 0x10000 + 0x2000 * data);
+ space->machine().root_device().subbank("bank1")->set_base(space->machine().region("soundcpu")->base() + 0x10000 + 0x2000 * data);
}
diff --git a/src/mame/drivers/segas24.c b/src/mame/drivers/segas24.c
index fb391f8549c..7ea78877609 100644
--- a/src/mame/drivers/segas24.c
+++ b/src/mame/drivers/segas24.c
@@ -714,8 +714,8 @@ void segas24_state::reset_bank()
{
if (machine().region("romboard")->base())
{
- memory_set_bank(machine(), "bank1", curbank & 15);
- memory_set_bank(machine(), "bank2", curbank & 15);
+ subbank("bank1")->set_entry(curbank & 15);
+ subbank("bank2")->set_entry(curbank & 15);
}
}
@@ -1267,8 +1267,8 @@ static MACHINE_START( system24 )
UINT8 *usr1 = machine.region("romboard")->base();
if (usr1)
{
- memory_configure_bank(machine, "bank1", 0, 16, usr1, 0x40000);
- memory_configure_bank(machine, "bank2", 0, 16, usr1, 0x40000);
+ state->subbank("bank1")->configure_entries(0, 16, usr1, 0x40000);
+ state->subbank("bank2")->configure_entries(0, 16, usr1, 0x40000);
}
state->vtile = machine.device<segas24_tile>("tile");
diff --git a/src/mame/drivers/segas32.c b/src/mame/drivers/segas32.c
index 73dbfdf18ff..f9f3887629c 100644
--- a/src/mame/drivers/segas32.c
+++ b/src/mame/drivers/segas32.c
@@ -1130,14 +1130,14 @@ static void ym3438_irq_handler(device_t *device, int state)
WRITE8_MEMBER(segas32_state::sound_bank_lo_w)
{
m_sound_bank = (m_sound_bank & ~0x3f) | (data & 0x3f);
- memory_set_bankptr(machine(), "bank1", machine().region("soundcpu")->base() + 0x100000 + 0x2000 * m_sound_bank);
+ subbank("bank1")->set_base(machine().region("soundcpu")->base() + 0x100000 + 0x2000 * m_sound_bank);
}
WRITE8_MEMBER(segas32_state::sound_bank_hi_w)
{
m_sound_bank = (m_sound_bank & 0x3f) | ((data & 0x04) << 4) | ((data & 0x03) << 7);
- memory_set_bankptr(machine(), "bank1", machine().region("soundcpu")->base() + 0x100000 + 0x2000 * m_sound_bank);
+ subbank("bank1")->set_base(machine().region("soundcpu")->base() + 0x100000 + 0x2000 * m_sound_bank);
}
diff --git a/src/mame/drivers/seibuspi.c b/src/mame/drivers/seibuspi.c
index e830195cf3e..735a614a1d6 100644
--- a/src/mame/drivers/seibuspi.c
+++ b/src/mame/drivers/seibuspi.c
@@ -979,7 +979,7 @@ WRITE8_MEMBER(seibuspi_state::z80_bank_w)
if ((data & 7) != m_z80_lastbank)
{
m_z80_lastbank = (data & 7);
- memory_set_bankptr(machine(), "bank4", m_z80_rom + (0x8000 * m_z80_lastbank));
+ subbank("bank4")->set_base(m_z80_rom + (0x8000 * m_z80_lastbank));
}
}
@@ -1824,8 +1824,8 @@ static MACHINE_RESET( spi )
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x00000688, 0x0000068b, write32_delegate(FUNC(seibuspi_state::z80_prg_fifo_w),state));
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x0000068c, 0x0000068f, write32_delegate(FUNC(seibuspi_state::z80_enable_w),state));
- memory_set_bankptr(machine, "bank4", state->m_z80_rom);
- memory_set_bankptr(machine, "bank5", state->m_z80_rom);
+ state->subbank("bank4")->set_base(state->m_z80_rom);
+ state->subbank("bank5")->set_base(state->m_z80_rom);
/* If the first value doesn't match, the game shows a checksum error */
/* If any of the other values are wrong, the game goes to update mode */
@@ -1899,8 +1899,8 @@ static MACHINE_RESET( sxx2f )
seibuspi_state *state = machine.driver_data<seibuspi_state>();
UINT8 *rom = machine.region("soundcpu")->base();
- memory_set_bankptr(machine, "bank4", state->m_z80_rom);
- memory_set_bankptr(machine, "bank5", state->m_z80_rom);
+ state->subbank("bank4")->set_base(state->m_z80_rom);
+ state->subbank("bank5")->set_base(state->m_z80_rom);
memcpy(state->m_z80_rom, rom, 0x40000);
diff --git a/src/mame/drivers/seta.c b/src/mame/drivers/seta.c
index 90fc664a76d..75faddc50da 100644
--- a/src/mame/drivers/seta.c
+++ b/src/mame/drivers/seta.c
@@ -2978,7 +2978,7 @@ WRITE8_MEMBER(seta_state::sub_bankswitch_w)
UINT8 *rom = machine().region("sub")->base();
int bank = data >> 4;
- memory_set_bankptr(machine(), "bank1", &rom[bank * 0x4000 + 0xc000]);
+ subbank("bank1")->set_base(&rom[bank * 0x4000 + 0xc000]);
}
WRITE8_MEMBER(seta_state::sub_bankswitch_lockout_w)
diff --git a/src/mame/drivers/sf.c b/src/mame/drivers/sf.c
index feb9ff4428e..71aab9744dd 100644
--- a/src/mame/drivers/sf.c
+++ b/src/mame/drivers/sf.c
@@ -173,7 +173,7 @@ READ16_MEMBER(sf_state::button2_r)
WRITE8_MEMBER(sf_state::sound2_bank_w)
{
- memory_set_bankptr(machine(), "bank1", machine().region("audio2")->base() + 0x8000 * (data + 1));
+ subbank("bank1")->set_base(machine().region("audio2")->base() + 0x8000 * (data + 1));
}
diff --git a/src/mame/drivers/sfbonus.c b/src/mame/drivers/sfbonus.c
index 3edb91b2286..922bc503dbb 100644
--- a/src/mame/drivers/sfbonus.c
+++ b/src/mame/drivers/sfbonus.c
@@ -1085,7 +1085,7 @@ WRITE8_MEMBER(sfbonus_state::sfbonus_bank_w)
bank = data & 7;
- memory_set_bankptr(machine(), "bank1", &ROM[bank * 0x10000]);
+ subbank("bank1")->set_base(&ROM[bank * 0x10000]);
}
@@ -1216,7 +1216,7 @@ static MACHINE_RESET( sfbonus )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_set_bankptr(machine, "bank1", &ROM[0]);
+ machine.root_device().subbank("bank1")->set_base(&ROM[0]);
}
static NVRAM_HANDLER( sfbonus )
diff --git a/src/mame/drivers/sfkick.c b/src/mame/drivers/sfkick.c
index 2403b37f579..ce22a0ae170 100644
--- a/src/mame/drivers/sfkick.c
+++ b/src/mame/drivers/sfkick.c
@@ -109,32 +109,32 @@ static void sfkick_remap_banks(running_machine &machine)
case 0: /* bios */
{
UINT8 *mem = machine.region("bios")->base();
- memory_set_bankptr(machine,"bank1", mem);
- memory_set_bankptr(machine,"bank2", mem+0x2000);
+ state->subbank("bank1")->set_base(mem);
+ state->subbank("bank2")->set_base(mem+0x2000);
}
break;
case 1: /* ext rom */
{
UINT8 *mem = machine.region("extrom")->base();
- memory_set_bankptr(machine,"bank1", mem+0x4000);
- memory_set_bankptr(machine,"bank2", mem+0x6000);
+ state->subbank("bank1")->set_base(mem+0x4000);
+ state->subbank("bank2")->set_base(mem+0x6000);
}
break;
case 2: /* banked */
{
UINT8 *mem = machine.region("banked")->base();
- memory_set_bankptr(machine,"bank1", mem+0x2000*state->m_bank[0]);
- memory_set_bankptr(machine,"bank2", mem+0x2000*state->m_bank[1]);
+ state->subbank("bank1")->set_base(mem+0x2000*state->m_bank[0]);
+ state->subbank("bank2")->set_base(mem+0x2000*state->m_bank[1]);
}
break;
case 3: /* unknown */
{
UINT8 *mem = machine.region("banked")->base();
- memory_set_bankptr(machine,"bank1", mem+0x18000);
- memory_set_bankptr(machine,"bank2", mem+0x18000);
+ state->subbank("bank1")->set_base(mem+0x18000);
+ state->subbank("bank2")->set_base(mem+0x18000);
}
break;
}
@@ -145,8 +145,8 @@ static void sfkick_remap_banks(running_machine &machine)
case 0: /* bios - upper part */
{
UINT8 *mem = machine.region("bios")->base();
- memory_set_bankptr(machine,"bank3", mem+0x4000);
- memory_set_bankptr(machine,"bank4", mem+0x6000);
+ state->subbank("bank3")->set_base(mem+0x4000);
+ state->subbank("bank4")->set_base(mem+0x6000);
}
break;
@@ -154,16 +154,16 @@ static void sfkick_remap_banks(running_machine &machine)
case 3:
{
UINT8 *mem = machine.region("banked")->base();
- memory_set_bankptr(machine,"bank3", mem+0x18000);
- memory_set_bankptr(machine,"bank4", mem+0x18000);
+ state->subbank("bank3")->set_base(mem+0x18000);
+ state->subbank("bank4")->set_base(mem+0x18000);
}
break;
case 2: /* banked */
{
UINT8 *mem = machine.region("banked")->base();
- memory_set_bankptr(machine,"bank3", mem+0x2000*state->m_bank[2]);
- memory_set_bankptr(machine,"bank4", mem+0x2000*state->m_bank[3]);
+ state->subbank("bank3")->set_base(mem+0x2000*state->m_bank[2]);
+ state->subbank("bank4")->set_base(mem+0x2000*state->m_bank[3]);
}
break;
}
@@ -174,8 +174,8 @@ static void sfkick_remap_banks(running_machine &machine)
case 0: /* cartridge */
{
UINT8 *mem = machine.region("cartridge")->base();
- memory_set_bankptr(machine,"bank5", mem+0x4000);
- memory_set_bankptr(machine,"bank6", mem+0x6000);
+ state->subbank("bank5")->set_base(mem+0x4000);
+ state->subbank("bank6")->set_base(mem+0x6000);
}
break;
@@ -183,16 +183,16 @@ static void sfkick_remap_banks(running_machine &machine)
case 3:
{
UINT8 *mem = machine.region("banked")->base();
- memory_set_bankptr(machine,"bank5", mem+0x18000);
- memory_set_bankptr(machine,"bank6", mem+0x18000);
+ state->subbank("bank5")->set_base(mem+0x18000);
+ state->subbank("bank6")->set_base(mem+0x18000);
}
break;
case 2: /* banked */
{
UINT8 *mem = machine.region("banked")->base();
- memory_set_bankptr(machine,"bank5", mem+0x2000*state->m_bank[4]);
- memory_set_bankptr(machine,"bank6", mem+0x2000*state->m_bank[5]);
+ state->subbank("bank5")->set_base(mem+0x2000*state->m_bank[4]);
+ state->subbank("bank6")->set_base(mem+0x2000*state->m_bank[5]);
}
break;
}
@@ -204,23 +204,23 @@ static void sfkick_remap_banks(running_machine &machine)
case 1:
{
UINT8 *mem = machine.region("banked")->base();
- memory_set_bankptr(machine,"bank7", mem+0x18000);
- memory_set_bankptr(machine,"bank8", mem+0x18000);
+ state->subbank("bank7")->set_base(mem+0x18000);
+ state->subbank("bank8")->set_base(mem+0x18000);
}
break;
case 2: /* banked */
{
UINT8 *mem = machine.region("banked")->base();
- memory_set_bankptr(machine,"bank7", mem+0x2000*state->m_bank[6]);
- memory_set_bankptr(machine,"bank8", mem+0x2000*state->m_bank[7]);
+ state->subbank("bank7")->set_base(mem+0x2000*state->m_bank[6]);
+ state->subbank("bank8")->set_base(mem+0x2000*state->m_bank[7]);
}
break;
case 3: /* RAM */
{
- memory_set_bankptr(machine,"bank7", state->m_main_mem);
- memory_set_bankptr(machine,"bank8", state->m_main_mem+0x2000);
+ state->subbank("bank7")->set_base(state->m_main_mem);
+ state->subbank("bank8")->set_base(state->m_main_mem+0x2000);
}
break;
}
diff --git a/src/mame/drivers/shangkid.c b/src/mame/drivers/shangkid.c
index f5b35371f9b..011fac636bd 100644
--- a/src/mame/drivers/shangkid.c
+++ b/src/mame/drivers/shangkid.c
@@ -58,7 +58,7 @@ Games by Nihon Game/Culture Brain:
WRITE8_MEMBER(shangkid_state::shangkid_maincpu_bank_w)
{
- memory_set_bank(machine(), "bank1", data & 1);
+ subbank("bank1")->set_entry(data & 1);
}
WRITE8_MEMBER(shangkid_state::shangkid_bbx_enable_w)
@@ -104,7 +104,7 @@ static WRITE8_DEVICE_HANDLER( shangkid_ay8910_porta_w )
cputag_set_input_line(device->machine(), "audiocpu", 0, HOLD_LINE );
}
else
- memory_set_bank(device->machine(), "bank2", data ? 0 : 1);
+ state->subbank("bank2")->set_entry(data ? 0 : 1);
}
static WRITE8_DEVICE_HANDLER( ay8910_portb_w )
@@ -134,8 +134,8 @@ static DRIVER_INIT( shangkid )
state->m_gfx_type = 1;
/* set up banking */
- memory_configure_bank(machine, "bank1", 0, 2, machine.region("maincpu")->base() + 0x8000, 0x8000);
- memory_configure_bank(machine, "bank2", 0, 2, machine.region("audiocpu")->base() + 0x0000, 0x10000);
+ state->subbank("bank1")->configure_entries(0, 2, machine.region("maincpu")->base() + 0x8000, 0x8000);
+ state->subbank("bank2")->configure_entries(0, 2, machine.region("audiocpu")->base() + 0x0000, 0x10000);
}
/***************************************************************************************/
@@ -149,8 +149,8 @@ static MACHINE_RESET( shangkid )
{
cputag_set_input_line(machine, "bbx", INPUT_LINE_HALT, 1 );
- memory_set_bank(machine, "bank1", 0);
- memory_set_bank(machine, "bank2", 0);
+ machine.root_device().subbank("bank1")->set_entry(0);
+ machine.root_device().subbank("bank2")->set_entry(0);
}
/***************************************************************************************/
diff --git a/src/mame/drivers/shootout.c b/src/mame/drivers/shootout.c
index 0ea5fa6fab3..a7b7b8b731c 100644
--- a/src/mame/drivers/shootout.c
+++ b/src/mame/drivers/shootout.c
@@ -43,7 +43,7 @@
WRITE8_MEMBER(shootout_state::shootout_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data & 0x0f);
+ subbank("bank1")->set_entry(data & 0x0f);
}
WRITE8_MEMBER(shootout_state::sound_cpu_command_w)
@@ -419,13 +419,13 @@ static DRIVER_INIT( shootout )
for (A = 0x8000;A < length;A++)
decrypt[A-0x8000] = (rom[A] & 0x9f) | ((rom[A] & 0x40) >> 1) | ((rom[A] & 0x20) << 1);
- memory_configure_bank(machine, "bank1", 0, 16, machine.region("maincpu")->base() + 0x10000, 0x4000);
- memory_configure_bank_decrypted(machine, "bank1", 0, 16, decrypt + 0x8000, 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 16, machine.region("maincpu")->base() + 0x10000, 0x4000);
+ machine.root_device().subbank("bank1")->configure_decrypted_entries(0, 16, decrypt + 0x8000, 0x4000);
}
static DRIVER_INIT( shootouj )
{
- memory_configure_bank(machine, "bank1", 0, 16, machine.region("maincpu")->base() + 0x10000, 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 16, machine.region("maincpu")->base() + 0x10000, 0x4000);
}
diff --git a/src/mame/drivers/sidearms.c b/src/mame/drivers/sidearms.c
index a325eb98fa9..c4554d24b19 100644
--- a/src/mame/drivers/sidearms.c
+++ b/src/mame/drivers/sidearms.c
@@ -49,7 +49,7 @@ WRITE8_MEMBER(sidearms_state::sidearms_bankswitch_w)
/* bits 0 and 1 select the ROM bank */
bankaddress = 0x10000 + (data & 0x0f) * 0x4000;
- memory_set_bankptr(machine(), "bank1",&RAM[bankaddress]);
+ subbank("bank1")->set_base(&RAM[bankaddress]);
}
@@ -136,7 +136,7 @@ WRITE8_MEMBER(sidearms_state::whizz_bankswitch_w)
}
bankaddress = 0x10000 + bank * 0x4000;
- memory_set_bankptr(machine(), "bank1",&RAM[bankaddress]);
+ subbank("bank1")->set_base(&RAM[bankaddress]);
}
static ADDRESS_MAP_START( whizz_map, AS_PROGRAM, 8, sidearms_state )
diff --git a/src/mame/drivers/sigmab52.c b/src/mame/drivers/sigmab52.c
index e3ad00f7fa1..095b83c0f7c 100644
--- a/src/mame/drivers/sigmab52.c
+++ b/src/mame/drivers/sigmab52.c
@@ -294,7 +294,7 @@ READ8_MEMBER(sigmab52_state::unk_f700_r)
WRITE8_MEMBER(sigmab52_state::unk_f710_w)
{
- memory_set_bankptr(machine(), "bank1" ,&machine().region("maincpu")->base()[0x10000 + ((data&0x80)?0x4000:0x0000)]);
+ subbank("bank1" )->set_base(&machine().region("maincpu")->base()[0x10000 + ((data&0x80)?0x4000:0x0000)]);
}
READ8_MEMBER(sigmab52_state::unk_f721_r)
@@ -542,11 +542,11 @@ static INTERRUPT_GEN( timer_irq )
static MACHINE_START(jwildb52)
{
- memory_set_bankptr(machine, "bank1", &machine.region("maincpu")->base()[0x10000 + 0x0000]);
+ machine.root_device().subbank("bank1")->set_base(&machine.region("maincpu")->base()[0x10000 + 0x0000]);
- memory_set_bankptr(machine, "bank2", &machine.region("maincpu")->base()[0x10000 + 0xf800]);
+ machine.root_device().subbank("bank2")->set_base(&machine.region("maincpu")->base()[0x10000 + 0xf800]);
- memory_set_bankptr(machine, "bank3", &machine.region("maincpu")->base()[0x10000 + 0x8000]);
+ machine.root_device().subbank("bank3")->set_base(&machine.region("maincpu")->base()[0x10000 + 0x8000]);
/*
diff --git a/src/mame/drivers/sigmab98.c b/src/mame/drivers/sigmab98.c
index d101c09d0b4..52e34699bf9 100644
--- a/src/mame/drivers/sigmab98.c
+++ b/src/mame/drivers/sigmab98.c
@@ -347,7 +347,7 @@ WRITE8_MEMBER(sigmab98_state::regs_w)
if (data >= 0x18)
logerror("%s: unknown rom bank = %02x\n", machine().describe_context(), data);
else
- memory_set_bank(machine(), "rombank", data);
+ subbank("rombank")->set_entry(data);
break;
default:
@@ -386,10 +386,10 @@ WRITE8_MEMBER(sigmab98_state::regs2_w)
switch (data)
{
case 0x32:
- memory_set_bank(machine(), "rambank", 0);
+ subbank("rambank")->set_entry(0);
break;
case 0x36:
- memory_set_bank(machine(), "rambank", 1);
+ subbank("rambank")->set_entry(1);
break;
default:
logerror("%s: unknown ram bank = %02x\n", machine().describe_context(), data);
@@ -549,9 +549,9 @@ WRITE8_MEMBER(sigmab98_state::animalc_rombank_w)
m_rombank = data;
switch (data)
{
- case 0x10: memory_set_bankptr(machine(), "rombank", rom + 0x400 + 0x4000); break;
- case 0x14: memory_set_bankptr(machine(), "rombank", rom + 0x400 + 0x8000); break;
- case 0x18: memory_set_bankptr(machine(), "rombank", rom + 0x400 + 0xc000); break;
+ case 0x10: subbank("rombank")->set_base(rom + 0x400 + 0x4000); break;
+ case 0x14: subbank("rombank")->set_base(rom + 0x400 + 0x8000); break;
+ case 0x18: subbank("rombank")->set_base(rom + 0x400 + 0xc000); break;
default:
logerror("%s: unknown rom bank = %02x, reg = %02x\n", machine().describe_context(), data, m_reg);
}
@@ -602,9 +602,9 @@ WRITE8_MEMBER(sigmab98_state::animalc_rambank_w)
logerror("%s: unknown ram bank = %02x, reg2 = %02x\n", machine().describe_context(), data, m_reg2);
return;
}
- memory_set_bank(machine(), "rambank", bank);
+ subbank("rambank")->set_entry(bank);
if ( (bank == 1) || (bank == 2) || (bank == 3) )
- memory_set_bank(machine(), "sprbank", bank-1);
+ subbank("sprbank")->set_entry(bank-1);
break;
default:
@@ -1018,10 +1018,10 @@ WRITE8_MEMBER(sigmab98_state::itazuram_rombank_w)
switch (data)
{
case 0x11: // 3800 IS ROM
- memory_set_bankptr(machine(), "rombank0", rom + 0x4c00);
- memory_set_bankptr(machine(), "rombank1", rom + 0x5c00);
- memory_set_bankptr(machine(), "sprbank0", m_spriteram + 0x1000*4); // scratch
- memory_set_bankptr(machine(), "sprbank1", m_spriteram + 0x1000*4); // scratch
+ subbank("rombank0")->set_base(rom + 0x4c00);
+ subbank("rombank1")->set_base(rom + 0x5c00);
+ subbank("sprbank0")->set_base(m_spriteram + 0x1000*4); // scratch
+ subbank("sprbank1")->set_base(m_spriteram + 0x1000*4); // scratch
break;
default:
@@ -1034,10 +1034,10 @@ WRITE8_MEMBER(sigmab98_state::itazuram_rombank_w)
switch (data)
{
case 0x14: // 3800 IS ROM
- memory_set_bankptr(machine(), "rombank0", rom + 0x8000);
- memory_set_bankptr(machine(), "rombank1", rom + 0x9000);
- memory_set_bankptr(machine(), "sprbank0", m_spriteram + 0x1000*4); // scratch
- memory_set_bankptr(machine(), "sprbank1", m_spriteram + 0x1000*4); // scratch
+ subbank("rombank0")->set_base(rom + 0x8000);
+ subbank("rombank1")->set_base(rom + 0x9000);
+ subbank("sprbank0")->set_base(m_spriteram + 0x1000*4); // scratch
+ subbank("sprbank1")->set_base(m_spriteram + 0x1000*4); // scratch
break;
default:
@@ -1050,33 +1050,33 @@ WRITE8_MEMBER(sigmab98_state::itazuram_rombank_w)
switch (data)
{
case 0x0f: // 3800 IS ROM
- memory_set_bankptr(machine(), "rombank0", rom + 0x3400);
- memory_set_bankptr(machine(), "rombank1", rom + 0x4400);
- memory_set_bankptr(machine(), "sprbank0", m_spriteram + 0x1000*4); // scratch
- memory_set_bankptr(machine(), "sprbank1", m_spriteram + 0x1000*4); // scratch
+ subbank("rombank0")->set_base(rom + 0x3400);
+ subbank("rombank1")->set_base(rom + 0x4400);
+ subbank("sprbank0")->set_base(m_spriteram + 0x1000*4); // scratch
+ subbank("sprbank1")->set_base(m_spriteram + 0x1000*4); // scratch
break;
case 0x12: // 3800 IS ROM
- memory_set_bankptr(machine(), "rombank0", rom + 0x6400);
- memory_set_bankptr(machine(), "rombank1", rom + 0x7400);
- memory_set_bankptr(machine(), "sprbank0", m_spriteram + 0x1000*4); // scratch
- memory_set_bankptr(machine(), "sprbank1", m_spriteram + 0x1000*4); // scratch
+ subbank("rombank0")->set_base(rom + 0x6400);
+ subbank("rombank1")->set_base(rom + 0x7400);
+ subbank("sprbank0")->set_base(m_spriteram + 0x1000*4); // scratch
+ subbank("sprbank1")->set_base(m_spriteram + 0x1000*4); // scratch
break;
// used in test mode:
-// case 0x5c: memory_set_bankptr(machine(), "rombank", rom + 0x400 + 0x0000); break; // 3800 IS RAM! (8000 bytes)
+// case 0x5c: subbank("rombank")->set_base(rom + 0x400 + 0x0000); break; // 3800 IS RAM! (8000 bytes)
case 0x5e: // 3800 IS RAM! (1404 bytes)
- memory_set_bankptr(machine(), "rombank0", m_spriteram + 0x1000*1);
- memory_set_bankptr(machine(), "sprbank0", m_spriteram + 0x1000*1);
- memory_set_bankptr(machine(), "rombank1", m_spriteram + 0x1000*2);
- memory_set_bankptr(machine(), "sprbank1", m_spriteram + 0x1000*2);
+ subbank("rombank0")->set_base(m_spriteram + 0x1000*1);
+ subbank("sprbank0")->set_base(m_spriteram + 0x1000*1);
+ subbank("rombank1")->set_base(m_spriteram + 0x1000*2);
+ subbank("sprbank1")->set_base(m_spriteram + 0x1000*2);
break;
case 0x6c: // 3800 IS RAM! (1000 bytes) - SPRITERAM
- memory_set_bankptr(machine(), "rombank0", m_spriteram);
- memory_set_bankptr(machine(), "sprbank0", m_spriteram);
-// memory_set_bankptr(machine(), "sprbank1", m_spriteram + 0x1000*4); // scratch
+ subbank("rombank0")->set_base(m_spriteram);
+ subbank("sprbank0")->set_base(m_spriteram);
+// subbank("sprbank1")->set_base(m_spriteram + 0x1000*4); // scratch
break;
default:
@@ -1089,10 +1089,10 @@ WRITE8_MEMBER(sigmab98_state::itazuram_rombank_w)
switch (data)
{
case 0x14: // 3800 IS ROM
- memory_set_bankptr(machine(), "rombank0", rom + 0x8800);
- memory_set_bankptr(machine(), "rombank1", rom + 0x9800);
- memory_set_bankptr(machine(), "sprbank0", m_spriteram + 0x1000*4); // scratch
- memory_set_bankptr(machine(), "sprbank1", m_spriteram + 0x1000*4); // scratch
+ subbank("rombank0")->set_base(rom + 0x8800);
+ subbank("rombank1")->set_base(rom + 0x9800);
+ subbank("sprbank0")->set_base(m_spriteram + 0x1000*4); // scratch
+ subbank("sprbank1")->set_base(m_spriteram + 0x1000*4); // scratch
break;
default:
@@ -1139,8 +1139,8 @@ WRITE8_MEMBER(sigmab98_state::itazuram_rambank_w)
m_rambank = data;
switch (data)
{
- case 0x52: memory_set_bankptr(machine(), "palbank", m_nvram); break;
- case 0x64: memory_set_bankptr(machine(), "palbank", m_generic_paletteram_8); break;
+ case 0x52: subbank("palbank")->set_base(m_nvram); break;
+ case 0x64: subbank("palbank")->set_base(m_generic_paletteram_8); break;
default:
logerror("%s: unknown ram bank = %02x, reg2 = %02x\n", machine().describe_context(), data, m_reg2);
return;
@@ -1915,14 +1915,14 @@ static DRIVER_INIT( gegege )
rom[0x8165] = 0x00;
// ROM banks
- memory_configure_bank(machine, "rombank", 0, 0x18, rom + 0x8000, 0x1000);
- memory_set_bank(machine, "rombank", 0);
+ machine.root_device().subbank("rombank")->configure_entries(0, 0x18, rom + 0x8000, 0x1000);
+ machine.root_device().subbank("rombank")->set_entry(0);
// RAM banks
UINT8 *bankedram = auto_alloc_array(machine, UINT8, 0x800 * 2);
- memory_configure_bank(machine, "rambank", 0, 2, bankedram, 0x800);
- memory_set_bank(machine, "rambank", 0);
+ machine.root_device().subbank("rambank")->configure_entries(0, 2, bankedram, 0x800);
+ machine.root_device().subbank("rambank")->set_entry(0);
}
@@ -1964,14 +1964,14 @@ static DRIVER_INIT( pepsiman )
rom[0x8165] = 0x00;
// ROM banks
- memory_configure_bank(machine, "rombank", 0, 0x18, rom + 0x8000, 0x1000);
- memory_set_bank(machine, "rombank", 0);
+ machine.root_device().subbank("rombank")->configure_entries(0, 0x18, rom + 0x8000, 0x1000);
+ machine.root_device().subbank("rombank")->set_entry(0);
// RAM banks
UINT8 *bankedram = auto_alloc_array(machine, UINT8, 0x800 * 2);
- memory_configure_bank(machine, "rambank", 0, 2, bankedram, 0x800);
- memory_set_bank(machine, "rambank", 0);
+ machine.root_device().subbank("rambank")->configure_entries(0, 2, bankedram, 0x800);
+ machine.root_device().subbank("rambank")->set_entry(0);
}
@@ -2015,14 +2015,14 @@ static DRIVER_INIT( ucytokyu )
rom[0x8165] = 0x00;
// ROM banks
- memory_configure_bank(machine, "rombank", 0, 0x18, rom + 0x8000, 0x1000);
- memory_set_bank(machine, "rombank", 0);
+ machine.root_device().subbank("rombank")->configure_entries(0, 0x18, rom + 0x8000, 0x1000);
+ machine.root_device().subbank("rombank")->set_entry(0);
// RAM banks
UINT8 *bankedram = auto_alloc_array(machine, UINT8, 0x800 * 2);
- memory_configure_bank(machine, "rambank", 0, 2, bankedram, 0x800);
- memory_set_bank(machine, "rambank", 0);
+ machine.root_device().subbank("rambank")->configure_entries(0, 2, bankedram, 0x800);
+ machine.root_device().subbank("rambank")->set_entry(0);
}
@@ -2110,14 +2110,14 @@ static DRIVER_INIT( animalc )
sigmab98_state *state = machine.driver_data<sigmab98_state>();
// RAM banks
UINT8 *bankedram = auto_alloc_array(machine, UINT8, 0x1000 * 5);
- memory_configure_bank(machine, "rambank", 0, 1, state->m_nvram, 0x1000);
- memory_configure_bank(machine, "rambank", 1, 4, bankedram, 0x1000);
- memory_set_bank(machine, "rambank", 0);
+ state->subbank("rambank")->configure_entry(0, state->m_nvram);
+ state->subbank("rambank")->configure_entries(1, 4, bankedram, 0x1000);
+ state->subbank("rambank")->set_entry(0);
state->m_spriteram.allocate(0x1000 * 5);
memset(state->m_spriteram, 0, 0x1000 * 5);
- memory_configure_bank(machine, "sprbank", 0, 5, state->m_spriteram, 0x1000);
- memory_set_bank(machine, "sprbank", 0);
+ state->subbank("sprbank")->configure_entries(0, 5, state->m_spriteram, 0x1000);
+ state->subbank("sprbank")->set_entry(0);
state->m_vblank_vector = 0x00; // increment counter
state->m_timer0_vector = 0x1c; // read hopper state
@@ -2151,20 +2151,20 @@ static DRIVER_INIT( itazuram )
sigmab98_state *state = machine.driver_data<sigmab98_state>();
// ROM banks
UINT8 *rom = machine.region("maincpu")->base();
- memory_set_bankptr(machine, "rombank0", rom + 0x3400);
- memory_set_bankptr(machine, "rombank1", rom + 0x4400);
+ state->subbank("rombank0")->set_base(rom + 0x3400);
+ state->subbank("rombank1")->set_base(rom + 0x4400);
state->m_rombank = 0x0f;
// RAM banks
state->m_generic_paletteram_8.allocate(0x3000);
memset(state->m_generic_paletteram_8, 0, 0x3000);
- memory_set_bankptr(machine, "palbank", state->m_generic_paletteram_8);
+ state->subbank("palbank")->set_base(state->m_generic_paletteram_8);
state->m_rambank = 0x64;
state->m_spriteram.allocate(0x1000 * 5);
memset(state->m_spriteram, 0, 0x1000 * 5);
- memory_set_bankptr(machine, "sprbank0", state->m_spriteram + 0x1000*4); // scratch
- memory_set_bankptr(machine, "sprbank1", state->m_spriteram + 0x1000*4); // scratch
+ state->subbank("sprbank0")->set_base(state->m_spriteram + 0x1000*4); // scratch
+ state->subbank("sprbank1")->set_base(state->m_spriteram + 0x1000*4); // scratch
state->m_vblank_vector = 0x00;
state->m_timer0_vector = 0x02;
diff --git a/src/mame/drivers/simpsons.c b/src/mame/drivers/simpsons.c
index f7c2bb70b71..840334e7e7b 100644
--- a/src/mame/drivers/simpsons.c
+++ b/src/mame/drivers/simpsons.c
@@ -108,7 +108,7 @@ ADDRESS_MAP_END
WRITE8_MEMBER(simpsons_state::z80_bankswitch_w)
{
- memory_set_bank(machine(), "bank2", data & 7);
+ subbank("bank2")->set_entry(data & 7);
}
#if 0
diff --git a/src/mame/drivers/skimaxx.c b/src/mame/drivers/skimaxx.c
index 335142a2565..bdc1d940da9 100644
--- a/src/mame/drivers/skimaxx.c
+++ b/src/mame/drivers/skimaxx.c
@@ -144,8 +144,8 @@ static VIDEO_START( skimaxx )
state->m_bg_buffer = auto_alloc_array(machine, UINT32, 0x400 * 0x100 * sizeof(UINT16) / sizeof(UINT32) * 2); // 2 buffers
state->m_bg_buffer_back = state->m_bg_buffer + 0x400 * 0x100 * sizeof(UINT16) / sizeof(UINT32) * 0;
state->m_bg_buffer_front = state->m_bg_buffer + 0x400 * 0x100 * sizeof(UINT16) / sizeof(UINT32) * 1;
- memory_configure_bank(machine, "bank1", 0, 1, state->m_bg_buffer_back, 0);
- memory_configure_bank(machine, "bank1", 1, 1, state->m_bg_buffer_front, 0);
+ state->subbank("bank1")->configure_entry(0, state->m_bg_buffer_back);
+ state->subbank("bank1")->configure_entry(1, state->m_bg_buffer_front);
}
static SCREEN_UPDATE_IND16( skimaxx )
@@ -265,7 +265,7 @@ WRITE32_MEMBER(skimaxx_state::skimaxx_fpga_ctrl_w)
m_bg_buffer_back = m_bg_buffer + 0x400 * 0x100 * sizeof(UINT16) / sizeof(UINT32) * bank_bg_buffer;
m_bg_buffer_front = m_bg_buffer + 0x400 * 0x100 * sizeof(UINT16) / sizeof(UINT32) * (1 - bank_bg_buffer);
- memory_set_bank(machine(), "bank1", bank_bg_buffer);
+ subbank("bank1")->set_entry(bank_bg_buffer);
}
}
diff --git a/src/mame/drivers/skykid.c b/src/mame/drivers/skykid.c
index 072a44e455d..6c6509910d3 100644
--- a/src/mame/drivers/skykid.c
+++ b/src/mame/drivers/skykid.c
@@ -69,7 +69,7 @@ WRITE8_MEMBER(skykid_state::skykid_subreset_w)
WRITE8_MEMBER(skykid_state::skykid_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", !BIT(offset,11));
+ subbank("bank1")->set_entry(!BIT(offset,11));
}
WRITE8_MEMBER(skykid_state::skykid_irq_1_ctrl_w)
@@ -92,7 +92,7 @@ static MACHINE_START( skykid )
{
skykid_state *state = machine.driver_data<skykid_state>();
/* configure the banks */
- memory_configure_bank(machine, "bank1", 0, 2, machine.region("maincpu")->base() + 0x10000, 0x2000);
+ state->subbank("bank1")->configure_entries(0, 2, machine.region("maincpu")->base() + 0x10000, 0x2000);
state_save_register_global(machine, state->m_inputport_selected);
}
diff --git a/src/mame/drivers/slapshot.c b/src/mame/drivers/slapshot.c
index 98cb07b6b27..91ae8dfd8cf 100644
--- a/src/mame/drivers/slapshot.c
+++ b/src/mame/drivers/slapshot.c
@@ -242,7 +242,7 @@ WRITE16_MEMBER(slapshot_state::opwolf3_adc_req_w)
static void reset_sound_region( running_machine &machine )
{
slapshot_state *state = machine.driver_data<slapshot_state>();
- memory_set_bank(machine, "bank10", state->m_banknum);
+ state->subbank("bank10")->set_entry(state->m_banknum);
}
WRITE8_MEMBER(slapshot_state::sound_bankswitch_w)
@@ -524,7 +524,7 @@ static MACHINE_START( slapshot )
{
slapshot_state *state = machine.driver_data<slapshot_state>();
- memory_configure_bank(machine, "bank10", 0, 4, machine.region("audiocpu")->base() + 0xc000, 0x4000);
+ state->subbank("bank10")->configure_entries(0, 4, machine.region("audiocpu")->base() + 0xc000, 0x4000);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");
diff --git a/src/mame/drivers/sms.c b/src/mame/drivers/sms.c
index 5e43767253c..f66d0adc990 100644
--- a/src/mame/drivers/sms.c
+++ b/src/mame/drivers/sms.c
@@ -248,7 +248,7 @@ public:
WRITE8_MEMBER(smsmfg_state::bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data);
+ subbank("bank1")->set_entry(data);
}
/*************************************
@@ -533,7 +533,7 @@ ADDRESS_MAP_END
static MACHINE_START( sms )
{
smsmfg_state *state = machine.driver_data<smsmfg_state>();
- memory_configure_bank(machine, "bank1", 0, 16, machine.region("questions")->base(), 0x4000);
+ state->subbank("bank1")->configure_entries(0, 16, machine.region("questions")->base(), 0x4000);
state_save_register_global(machine, state->m_communication_port_status);
state_save_register_global_array(machine, state->m_communication_port);
diff --git a/src/mame/drivers/snk68.c b/src/mame/drivers/snk68.c
index 08b940aa2f2..777e8204039 100644
--- a/src/mame/drivers/snk68.c
+++ b/src/mame/drivers/snk68.c
@@ -1040,7 +1040,7 @@ ROM_END
static DRIVER_INIT( searchar )
{
- memory_set_bankptr(machine, "bank1", machine.region("user1")->base());
+ machine.root_device().subbank("bank1")->set_base(machine.region("user1")->base());
}
/******************************************************************************/
diff --git a/src/mame/drivers/sothello.c b/src/mame/drivers/sothello.c
index 24bc6381133..f311db646b7 100644
--- a/src/mame/drivers/sothello.c
+++ b/src/mame/drivers/sothello.c
@@ -89,7 +89,7 @@ WRITE8_MEMBER(sothello_state::bank_w)
case 4: bank=2; break;
case 8: bank=3; break;
}
- memory_set_bankptr(machine(),"bank1",&RAM[bank*0x4000+0x10000]);
+ subbank("bank1")->set_base(&RAM[bank*0x4000+0x10000]);
}
static TIMER_CALLBACK( subcpu_suspend )
diff --git a/src/mame/drivers/speedspn.c b/src/mame/drivers/speedspn.c
index 9145b898aea..de325ec9d24 100644
--- a/src/mame/drivers/speedspn.c
+++ b/src/mame/drivers/speedspn.c
@@ -85,7 +85,7 @@ WRITE8_MEMBER(speedspn_state::speedspn_banked_rom_change)
break;
}
- memory_set_bankptr(machine(), "bank1",&rom[addr + 0x8000]);
+ subbank("bank1")->set_base(&rom[addr + 0x8000]);
}
/*** SOUND RELATED ***********************************************************/
diff --git a/src/mame/drivers/splash.c b/src/mame/drivers/splash.c
index 52335033828..f8af2fb5d99 100644
--- a/src/mame/drivers/splash.c
+++ b/src/mame/drivers/splash.c
@@ -140,7 +140,7 @@ READ16_MEMBER(splash_state::roldfrog_bombs_r)
WRITE8_MEMBER(splash_state::sound_bank_w)
{
- memory_set_bank(machine(), "sound_bank", data & 0xf);
+ subbank("sound_bank")->set_entry(data & 0xf);
}
@@ -1017,7 +1017,7 @@ static DRIVER_INIT( roldfrog )
{
splash_state *state = machine.driver_data<splash_state>();
UINT8 * ROM = (UINT8 *)machine.region("audiocpu")->base();
- memory_configure_bank(machine, "sound_bank", 0, 16, &ROM[0x10000], 0x8000);
+ state->subbank("sound_bank")->configure_entries(0, 16, &ROM[0x10000], 0x8000);
state->m_bitmap_type = 1;
state->m_sprite_attr2_shift = 8;
@@ -1097,7 +1097,7 @@ static DRIVER_INIT( funystrp )
ROM = (UINT16 *)machine.region("audiocpu")->base();
- memory_configure_bank(machine, "sound_bank", 0, 16, &ROM[0x00000], 0x8000);
+ state->subbank("sound_bank")->configure_entries(0, 16, &ROM[0x00000], 0x8000);
}
diff --git a/src/mame/drivers/sprcros2.c b/src/mame/drivers/sprcros2.c
index 7e6a5618261..335af91f143 100644
--- a/src/mame/drivers/sprcros2.c
+++ b/src/mame/drivers/sprcros2.c
@@ -76,7 +76,7 @@ WRITE8_MEMBER(sprcros2_state::sprcros2_m_port7_w)
//-------x nmi enable
if((m_port7^data)&0x40)
- memory_set_bankptr(machine(), "bank1",&RAM[0x10000+((data&0x40)<<7)]);
+ subbank("bank1")->set_base(&RAM[0x10000+((data&0x40)<<7)]);
machine().tilemap().set_flip_all(data&0x02?(TILEMAP_FLIPX|TILEMAP_FLIPY):0 );
@@ -94,7 +94,7 @@ WRITE8_MEMBER(sprcros2_state::sprcros2_s_port3_w)
//-------x nmi enable
if((m_s_port3^data)&0x08)
- memory_set_bankptr(machine(), "bank2",&RAM[0x10000+((data&0x08)<<10)]);
+ subbank("bank2")->set_base(&RAM[0x10000+((data&0x08)<<10)]);
m_s_port3 = data;
}
diff --git a/src/mame/drivers/spy.c b/src/mame/drivers/spy.c
index 0e73c8ceddb..1b634518e72 100644
--- a/src/mame/drivers/spy.c
+++ b/src/mame/drivers/spy.c
@@ -161,7 +161,7 @@ WRITE8_MEMBER(spy_state::bankswitch_w)
else
bank = ((data & 0x0e) >> 1);
- memory_set_bank(machine(), "bank1", bank);
+ subbank("bank1")->set_entry(bank);
}
static void spy_collision( running_machine &machine )
@@ -500,7 +500,7 @@ static MACHINE_START( spy )
spy_state *state = machine.driver_data<spy_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 12, &ROM[0x10000], 0x2000);
+ state->subbank("bank1")->configure_entries(0, 12, &ROM[0x10000], 0x2000);
state->m_generic_paletteram_8.allocate(0x800);
memset(state->m_pmcram, 0, sizeof(state->m_pmcram));
diff --git a/src/mame/drivers/srmp2.c b/src/mame/drivers/srmp2.c
index 18130d4e069..1530b8c253b 100644
--- a/src/mame/drivers/srmp2.c
+++ b/src/mame/drivers/srmp2.c
@@ -365,7 +365,7 @@ WRITE8_MEMBER(srmp2_state::srmp3_rombank_w)
if (data & 0x1f) addr = ((0x10000 + (0x2000 * (data & 0x0f))) - 0x8000);
else addr = 0x10000;
- memory_set_bankptr(machine(), "bank1", &ROM[addr]);
+ subbank("bank1")->set_base(&ROM[addr]);
}
/**************************************************************************
@@ -515,7 +515,7 @@ WRITE8_MEMBER(srmp2_state::rmgoldyh_rombank_w)
if (data & 0x1f) addr = ((0x10000 + (0x2000 * (data & 0x1f))) - 0x8000);
else addr = 0x10000;
- memory_set_bankptr(machine(), "bank1", &ROM[addr]);
+ subbank("bank1")->set_base(&ROM[addr]);
}
static ADDRESS_MAP_START( rmgoldyh_io_map, AS_IO, 8, srmp2_state )
diff --git a/src/mame/drivers/srmp6.c b/src/mame/drivers/srmp6.c
index 3f16448638c..fb2d09d8fb2 100644
--- a/src/mame/drivers/srmp6.c
+++ b/src/mame/drivers/srmp6.c
@@ -335,7 +335,7 @@ WRITE16_MEMBER(srmp6_state::video_regs_w)
{
const UINT8 *rom = machine().region("nile")->base();
LOG(("%x\n",data));
- memory_set_bankptr(machine(), "bank1",(UINT16 *)(rom + (data & 0x0f)*0x200000));
+ subbank("bank1")->set_base((UINT16 *)(rom + (data & 0x0f)*0x200000));
break;
}
diff --git a/src/mame/drivers/srumbler.c b/src/mame/drivers/srumbler.c
index bdf1dc4feb4..bec1b01c88d 100644
--- a/src/mame/drivers/srumbler.c
+++ b/src/mame/drivers/srumbler.c
@@ -39,7 +39,7 @@ WRITE8_MEMBER(srumbler_state::srumbler_bankswitch_w)
/* bit 2 of prom1 selects ROM or RAM - not supported */
sprintf(bankname, "%04x", i*0x1000);
- memory_set_bankptr(machine(), bankname,&ROM[bank*0x1000]);
+ subbank(bankname)->set_base(&ROM[bank*0x1000]);
}
}
diff --git a/src/mame/drivers/ssv.c b/src/mame/drivers/ssv.c
index b81dc4a4a41..9ca34ff00d0 100644
--- a/src/mame/drivers/ssv.c
+++ b/src/mame/drivers/ssv.c
@@ -326,7 +326,7 @@ static MACHINE_RESET( ssv )
ssv_state *state = machine.driver_data<ssv_state>();
state->m_requested_int = 0;
device_set_irq_callback(machine.device("maincpu"), ssv_irq_callback);
- memory_set_bankptr(machine, "bank1", machine.region("user1")->base());
+ state->subbank("bank1")->set_base(machine.region("user1")->base());
}
diff --git a/src/mame/drivers/st0016.c b/src/mame/drivers/st0016.c
index 58654ebd6b9..27770042b16 100644
--- a/src/mame/drivers/st0016.c
+++ b/src/mame/drivers/st0016.c
@@ -70,7 +70,7 @@ WRITE8_MEMBER(st0016_state::mux_select_w)
WRITE8_MEMBER(st0016_state::st0016_rom_bank_w)
{
- memory_set_bankptr(machine(), "bank1", machine().region("maincpu")->base() + (data* 0x4000) + 0x10000 );
+ subbank("bank1")->set_base(machine().region("maincpu")->base() + (data* 0x4000) + 0x10000 );
st0016_rom_bank=data;
}
@@ -681,13 +681,13 @@ static DRIVER_INIT(nratechu)
static DRIVER_INIT(mayjinsn)
{
st0016_game=4|0x80;
- memory_set_bankptr(machine, "bank2", machine.region("user1")->base());
+ machine.root_device().subbank("bank2")->set_base(machine.region("user1")->base());
}
static DRIVER_INIT(mayjisn2)
{
st0016_game=4;
- memory_set_bankptr(machine, "bank2", machine.region("user1")->base());
+ machine.root_device().subbank("bank2")->set_base(machine.region("user1")->base());
}
/*************************************
diff --git a/src/mame/drivers/starwars.c b/src/mame/drivers/starwars.c
index 0c29f0f3849..86ed2778c9e 100644
--- a/src/mame/drivers/starwars.c
+++ b/src/mame/drivers/starwars.c
@@ -502,8 +502,8 @@ static DRIVER_INIT( starwars )
starwars_mproc_init(machine);
/* initialize banking */
- memory_configure_bank(machine, "bank1", 0, 2, machine.region("maincpu")->base() + 0x6000, 0x10000 - 0x6000);
- memory_set_bank(machine, "bank1", 0);
+ state->subbank("bank1")->configure_entries(0, 2, machine.region("maincpu")->base() + 0x6000, 0x10000 - 0x6000);
+ state->subbank("bank1")->set_entry(0);
}
@@ -532,10 +532,10 @@ static DRIVER_INIT( esb )
starwars_mproc_init(machine);
/* initialize banking */
- memory_configure_bank(machine, "bank1", 0, 2, rom + 0x6000, 0x10000 - 0x6000);
- memory_set_bank(machine, "bank1", 0);
- memory_configure_bank(machine, "bank2", 0, 2, rom + 0xa000, 0x1c000 - 0xa000);
- memory_set_bank(machine, "bank2", 0);
+ state->subbank("bank1")->configure_entries(0, 2, rom + 0x6000, 0x10000 - 0x6000);
+ state->subbank("bank1")->set_entry(0);
+ state->subbank("bank2")->configure_entries(0, 2, rom + 0xa000, 0x1c000 - 0xa000);
+ state->subbank("bank2")->set_entry(0);
/* additional globals for state saving */
state->save_item(NAME(state->m_slapstic_current_bank));
diff --git a/src/mame/drivers/su2000.c b/src/mame/drivers/su2000.c
index 80a68ce6a88..e8e2813706b 100644
--- a/src/mame/drivers/su2000.c
+++ b/src/mame/drivers/su2000.c
@@ -270,13 +270,13 @@ static MACHINE_START( su2000 )
state->m_pc_ram = auto_alloc_array_clear(machine, UINT32, PC_RAM_SIZE);
/* Conventional memory */
- memory_set_bankptr(machine, "mem_bank", state->m_pc_ram);
+ state->subbank("mem_bank")->set_base(state->m_pc_ram);
/* HMA */
offs_t ram_limit = 0x100000 + PC_RAM_SIZE - 0x0a0000;
space->install_read_bank(0x100000, ram_limit - 1, "hma_bank");
space->install_write_bank(0x100000, ram_limit - 1, "hma_bank");
- memory_set_bankptr(machine, "hma_bank", state->m_pc_ram + 0xa0000);
+ state->subbank("hma_bank")->set_base(state->m_pc_ram + 0xa0000);
device_set_irq_callback(machine.device("maincpu"), pc_irq_callback);
diff --git a/src/mame/drivers/suna16.c b/src/mame/drivers/suna16.c
index a630115e722..2d776c644e4 100644
--- a/src/mame/drivers/suna16.c
+++ b/src/mame/drivers/suna16.c
@@ -263,7 +263,7 @@ WRITE8_MEMBER(suna16_state::bssoccer_pcm_1_bankswitch_w)
UINT8 *RAM = machine().region("pcm1")->base();
int bank = data & 7;
if (bank & ~7) logerror("CPU#2 PC %06X - ROM bank unknown bits: %02X\n", cpu_get_pc(&space.device()), data);
- memory_set_bankptr(machine(), "bank1", &RAM[bank * 0x10000 + 0x1000]);
+ subbank("bank1")->set_base(&RAM[bank * 0x10000 + 0x1000]);
}
WRITE8_MEMBER(suna16_state::bssoccer_pcm_2_bankswitch_w)
@@ -271,7 +271,7 @@ WRITE8_MEMBER(suna16_state::bssoccer_pcm_2_bankswitch_w)
UINT8 *RAM = machine().region("pcm2")->base();
int bank = data & 7;
if (bank & ~7) logerror("CPU#3 PC %06X - ROM bank unknown bits: %02X\n", cpu_get_pc(&space.device()), data);
- memory_set_bankptr(machine(), "bank2", &RAM[bank * 0x10000 + 0x1000]);
+ subbank("bank2")->set_base(&RAM[bank * 0x10000 + 0x1000]);
}
@@ -325,7 +325,7 @@ WRITE8_MEMBER(suna16_state::uballoon_pcm_1_bankswitch_w)
UINT8 *RAM = machine().region("pcm1")->base();
int bank = data & 1;
if (bank & ~1) logerror("CPU#2 PC %06X - ROM bank unknown bits: %02X\n", cpu_get_pc(&space.device()), data);
- memory_set_bankptr(machine(), "bank1", &RAM[bank * 0x10000 + 0x400]);
+ subbank("bank1")->set_base(&RAM[bank * 0x10000 + 0x400]);
}
/* Memory maps: Yes, *no* RAM */
diff --git a/src/mame/drivers/suna8.c b/src/mame/drivers/suna8.c
index a95a83a3ade..d72a7ea41b8 100644
--- a/src/mame/drivers/suna8.c
+++ b/src/mame/drivers/suna8.c
@@ -75,7 +75,7 @@ static DRIVER_INIT( hardhead )
rom[i] = BITSWAP8(rom[i], 7,6,5,3,4,2,1,0) ^ 0x58;
}
- memory_configure_bank(machine, "bank1", 0, 16, machine.region("maincpu")->base() + 0x10000, 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 16, machine.region("maincpu")->base() + 0x10000, 0x4000);
}
/* Non encrypted bootleg */
@@ -83,7 +83,7 @@ static DRIVER_INIT( hardhedb )
{
address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
space->set_decrypted_region(0x0000, 0x7fff, machine.region("maincpu")->base() + 0x48000);
- memory_configure_bank(machine, "bank1", 0, 16, machine.region("maincpu")->base() + 0x10000, 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 16, machine.region("maincpu")->base() + 0x10000, 0x4000);
}
/***************************************************************************
@@ -162,8 +162,8 @@ static DRIVER_INIT( brickzn )
decrypt[0x24b5] = 0x00; // HALT -> NOP
decrypt[0x2583] = 0x00; // HALT -> NOP
- memory_configure_bank(machine, "bank1", 0, 16, machine.region("maincpu")->base() + 0x10000, 0x4000);
- memory_configure_bank_decrypted(machine, "bank1", 0, 16, decrypt + 0x10000, 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 16, machine.region("maincpu")->base() + 0x10000, 0x4000);
+ machine.root_device().subbank("bank1")->configure_decrypted_entries(0, 16, decrypt + 0x10000, 0x4000);
}
static DRIVER_INIT( brickzn3 )
@@ -193,8 +193,8 @@ static DRIVER_INIT( brickzn3 )
decrypt[0x2487] = 0x00; // HALT -> NOP
decrypt[0x256c] = 0x00; // HALT -> NOP
- memory_configure_bank(machine, "bank1", 0, 16, machine.region("maincpu")->base() + 0x10000, 0x4000);
- memory_configure_bank_decrypted(machine, "bank1", 0, 16, decrypt + 0x10000, 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 16, machine.region("maincpu")->base() + 0x10000, 0x4000);
+ machine.root_device().subbank("bank1")->configure_decrypted_entries(0, 16, decrypt + 0x10000, 0x4000);
}
@@ -280,8 +280,8 @@ rom13: 0?, 1y, 2n, 3n ?,?,?,? (palettes)
RAM[i] = BITSWAP8(RAM[i], 5,6,7,4,3,2,1,0) ^ 0x41;
}
- memory_configure_bank(machine, "bank1", 0, 16, machine.region("maincpu")->base() + 0x10000, 0x4000);
- memory_configure_bank(machine, "bank2", 0, 2, auto_alloc_array(machine, UINT8, 0x2000 * 2), 0x2000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 16, machine.region("maincpu")->base() + 0x10000, 0x4000);
+ machine.root_device().subbank("bank2")->configure_entries(0, 2, auto_alloc_array(machine, UINT8, 0x2000 * 2), 0x2000);
}
@@ -349,7 +349,7 @@ static DRIVER_INIT( starfigh )
RAM[i] = BITSWAP8(RAM[i], 5,6,7,4,3,2,1,0) ^ 0x45;
}
- memory_configure_bank(machine, "bank1", 0, 16, machine.region("maincpu")->base() + 0x10000, 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 16, machine.region("maincpu")->base() + 0x10000, 0x4000);
}
@@ -417,7 +417,7 @@ static DRIVER_INIT( sparkman )
RAM[i] = BITSWAP8(RAM[i], 5,6,7,4,3,2,1,0) ^ 0x44;
}
- memory_configure_bank(machine, "bank1", 0, 16, machine.region("maincpu")->base() + 0x10000, 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 16, machine.region("maincpu")->base() + 0x10000, 0x4000);
}
/***************************************************************************
@@ -490,7 +490,7 @@ WRITE8_MEMBER(suna8_state::hardhead_bankswitch_w)
int bank = data & 0x0f;
if (data & ~0xef) logerror("CPU #0 - PC %04X: unknown bank bits: %02X\n",cpu_get_pc(&space.device()),data);
- memory_set_bank(machine(), "bank1", bank);
+ subbank("bank1")->set_entry(bank);
}
@@ -547,7 +547,7 @@ WRITE8_MEMBER(suna8_state::rranger_bankswitch_w)
if (data & ~0xf7) logerror("CPU #0 - PC %04X: unknown bank bits: %02X\n",cpu_get_pc(&space.device()),data);
- memory_set_bank(machine(), "bank1", bank);
+ subbank("bank1")->set_entry(bank);
flip_screen_set(data & 0x20);
coin_lockout_w ( machine(), 0, data & 0x40);
@@ -651,7 +651,7 @@ WRITE8_MEMBER(suna8_state::brickzn_rombank_w)
if (data & ~0x0f) logerror("CPU #0 - PC %04X: unknown rom bank bits: %02X\n",cpu_get_pc(&space.device()),data);
- memory_set_bank(machine(), "bank1", bank);
+ subbank("bank1")->set_entry(bank);
m_rombank = data;
}
@@ -727,7 +727,7 @@ WRITE8_MEMBER(suna8_state::hardhea2_rombank_w)
if (data & ~0x0f) logerror("CPU #0 - PC %04X: unknown rom bank bits: %02X\n",cpu_get_pc(&space.device()),data);
- memory_set_bank(machine(), "bank1", bank);
+ subbank("bank1")->set_entry(bank);
m_rombank = data;
}
@@ -745,12 +745,12 @@ WRITE8_MEMBER(suna8_state::hardhea2_spritebank_1_w)
WRITE8_MEMBER(suna8_state::hardhea2_rambank_0_w)
{
- memory_set_bank(machine(), "bank2", 0);
+ subbank("bank2")->set_entry(0);
}
WRITE8_MEMBER(suna8_state::hardhea2_rambank_1_w)
{
- memory_set_bank(machine(), "bank2", 1);
+ subbank("bank2")->set_entry(1);
}
@@ -925,7 +925,7 @@ WRITE8_MEMBER(suna8_state::sparkman_rombank_w)
//if (data & ~0x0f) logerror("CPU #0 - PC %04X: unknown rom bank bits: %02X\n",cpu_get_pc(&space.device()),data);
- memory_set_bank(machine(), "bank1", bank);
+ subbank("bank1")->set_entry(bank);
m_rombank = data;
}
@@ -2355,7 +2355,7 @@ ROM_END
static DRIVER_INIT( suna8 )
{
- memory_configure_bank(machine, "bank1", 0, 16, machine.region("maincpu")->base() + 0x10000, 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 16, machine.region("maincpu")->base() + 0x10000, 0x4000);
}
/* Working Games */
diff --git a/src/mame/drivers/superqix.c b/src/mame/drivers/superqix.c
index c97699037ff..d9c8926720e 100644
--- a/src/mame/drivers/superqix.c
+++ b/src/mame/drivers/superqix.c
@@ -548,7 +548,7 @@ static void machine_init_common(running_machine &machine)
static MACHINE_START( superqix )
{
/* configure the banks */
- memory_configure_bank(machine, "bank1", 0, 4, machine.region("maincpu")->base() + 0x10000, 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 4, machine.region("maincpu")->base() + 0x10000, 0x4000);
machine_init_common(machine);
}
@@ -556,7 +556,7 @@ static MACHINE_START( superqix )
static MACHINE_START( pbillian )
{
/* configure the banks */
- memory_configure_bank(machine, "bank1", 0, 2, machine.region("maincpu")->base() + 0x10000, 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 2, machine.region("maincpu")->base() + 0x10000, 0x4000);
machine_init_common(machine);
}
diff --git a/src/mame/drivers/supertnk.c b/src/mame/drivers/supertnk.c
index 14552c89490..b4da23647dc 100644
--- a/src/mame/drivers/supertnk.c
+++ b/src/mame/drivers/supertnk.c
@@ -140,7 +140,7 @@ WRITE8_MEMBER(supertnk_state::supertnk_bankswitch_0_w)
bank_address = 0x10000 + (m_rom_bank * 0x1000);
- memory_set_bankptr(machine(), "bank1", &machine().region("maincpu")->base()[bank_address]);
+ subbank("bank1")->set_base(&machine().region("maincpu")->base()[bank_address]);
}
@@ -152,7 +152,7 @@ WRITE8_MEMBER(supertnk_state::supertnk_bankswitch_1_w)
bank_address = 0x10000 + (m_rom_bank * 0x1000);
- memory_set_bankptr(machine(), "bank1", &machine().region("maincpu")->base()[bank_address]);
+ subbank("bank1")->set_base(&machine().region("maincpu")->base()[bank_address]);
}
diff --git a/src/mame/drivers/suprgolf.c b/src/mame/drivers/suprgolf.c
index 46dc7d965e2..2eeb1650c30 100644
--- a/src/mame/drivers/suprgolf.c
+++ b/src/mame/drivers/suprgolf.c
@@ -264,7 +264,7 @@ static WRITE8_DEVICE_HANDLER( rom_bank_select_w )
//popmessage("%08x %02x",((data & 0x3f) * 0x4000),data);
// mame_printf_debug("ROM_BANK 0x8000 - %X @%X\n",data,cpu_get_previouspc(&space->device()));
- memory_set_bankptr(device->machine(), "bank2", region_base + (data&0x3f ) * 0x4000);
+ state->subbank("bank2")->set_base(region_base + (data&0x3f ) * 0x4000);
state->m_msm_nmi_mask = data & 0x40;
state->flip_screen_set(data & 0x80);
@@ -275,7 +275,7 @@ WRITE8_MEMBER(suprgolf_state::rom2_bank_select_w)
UINT8 *region_base = machine().region("user2")->base();
// mame_printf_debug("ROM_BANK 0x4000 - %X @%X\n",data,cpu_get_previouspc(&space.device()));
- memory_set_bankptr(machine(), "bank1", region_base + (data&0x0f) * 0x4000);
+ subbank("bank1")->set_base(region_base + (data&0x0f) * 0x4000);
if(data & 0xf0)
printf("Rom bank select 2 with data %02x activated\n",data);
diff --git a/src/mame/drivers/suprnova.c b/src/mame/drivers/suprnova.c
index 50e82876a4c..ec495309256 100644
--- a/src/mame/drivers/suprnova.c
+++ b/src/mame/drivers/suprnova.c
@@ -431,7 +431,7 @@ static MACHINE_RESET(skns)
else
hit.disconnect= 0;
- memory_set_bankptr(machine, "bank1",machine.region("user1")->base());
+ state->subbank("bank1")->set_base(machine.region("user1")->base());
}
diff --git a/src/mame/drivers/suprslam.c b/src/mame/drivers/suprslam.c
index 743a27672cc..690143c69f2 100644
--- a/src/mame/drivers/suprslam.c
+++ b/src/mame/drivers/suprslam.c
@@ -118,7 +118,7 @@ WRITE8_MEMBER(suprslam_state::suprslam_sh_bankswitch_w)
int bankaddress;
bankaddress = 0x10000 + (data & 0x03) * 0x8000;
- memory_set_bankptr(machine(), "bank1",&RAM[bankaddress]);
+ subbank("bank1")->set_base(&RAM[bankaddress]);
}
/*** MEMORY MAPS *************************************************************/
diff --git a/src/mame/drivers/surpratk.c b/src/mame/drivers/surpratk.c
index 82c688f97df..2ae8e54cb14 100644
--- a/src/mame/drivers/surpratk.c
+++ b/src/mame/drivers/surpratk.c
@@ -193,9 +193,9 @@ static MACHINE_START( surpratk )
surpratk_state *state = machine.driver_data<surpratk_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 28, &ROM[0x10000], 0x2000);
- memory_configure_bank(machine, "bank1", 28, 4, &ROM[0x08000], 0x2000);
- memory_set_bank(machine, "bank1", 0);
+ state->subbank("bank1")->configure_entries(0, 28, &ROM[0x10000], 0x2000);
+ state->subbank("bank1")->configure_entries(28, 4, &ROM[0x08000], 0x2000);
+ state->subbank("bank1")->set_entry(0);
state->m_generic_paletteram_8.allocate(0x1000);
@@ -323,7 +323,7 @@ ROM_END
static KONAMI_SETLINES_CALLBACK( surpratk_banking )
{
logerror("%04x: setlines %02x\n",cpu_get_pc(device), lines);
- memory_set_bank(device->machine(), "bank1", lines & 0x1f);
+ device->machine().root_device().subbank("bank1")->set_entry(lines & 0x1f);
}
diff --git a/src/mame/drivers/system1.c b/src/mame/drivers/system1.c
index f51f2b69b94..71fd773b66f 100644
--- a/src/mame/drivers/system1.c
+++ b/src/mame/drivers/system1.c
@@ -359,10 +359,10 @@ static MACHINE_START( system1 )
UINT32 numbanks = (machine.region("maincpu")->bytes() - 0x10000) / 0x4000;
if (numbanks > 0)
- memory_configure_bank(machine, "bank1", 0, numbanks, machine.region("maincpu")->base() + 0x10000, 0x4000);
+ state->subbank("bank1")->configure_entries(0, numbanks, machine.region("maincpu")->base() + 0x10000, 0x4000);
else
- memory_configure_bank(machine, "bank1", 0, 1, machine.region("maincpu")->base() + 0x8000, 0);
- memory_set_bank(machine, "bank1", 0);
+ state->subbank("bank1")->configure_entry(0, machine.region("maincpu")->base() + 0x8000);
+ state->subbank("bank1")->set_entry(0);
z80_set_cycle_tables(machine.device("maincpu"), cc_op, cc_cb, cc_ed, cc_xy, cc_xycb, cc_ex);
@@ -400,14 +400,14 @@ static MACHINE_RESET( system1 )
static void bank44_custom_w(running_machine &machine, UINT8 data, UINT8 prevdata)
{
/* bank bits are bits 6 and 2 */
- memory_set_bank(machine, "bank1", ((data & 0x40) >> 5) | ((data & 0x04) >> 2));
+ machine.root_device().subbank("bank1")->set_entry(((data & 0x40) >> 5) | ((data & 0x04) >> 2));
}
static void bank0c_custom_w(running_machine &machine, UINT8 data, UINT8 prevdata)
{
/* bank bits are bits 3 and 2 */
- memory_set_bank(machine, "bank1", (data & 0x0c) >> 2);
+ machine.root_device().subbank("bank1")->set_entry((data & 0x0c) >> 2);
}
@@ -4756,7 +4756,7 @@ static DRIVER_INIT( bootsys2 )
{
address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
space->set_decrypted_region(0x0000, 0x7fff, machine.region("maincpu")->base() + 0x20000);
- memory_configure_bank_decrypted(machine, "bank1", 0, 4, machine.region("maincpu")->base() + 0x30000, 0x4000);
+ machine.root_device().subbank("bank1")->configure_decrypted_entries(0, 4, machine.region("maincpu")->base() + 0x30000, 0x4000);
DRIVER_INIT_CALL(bank0c);
}
diff --git a/src/mame/drivers/system16.c b/src/mame/drivers/system16.c
index 8794dab1cfc..cb07aae87ef 100644
--- a/src/mame/drivers/system16.c
+++ b/src/mame/drivers/system16.c
@@ -464,7 +464,7 @@ static WRITE8_DEVICE_HANDLER( upd7759_bank_w ) //*
upd7759_reset_w(device, data & 0x40);
offs = 0x10000 + (data * 0x4000) % size;
- memory_set_bankptr(device->machine(), "bank1", device->machine().region("soundcpu")->base() + offs);
+ device->machine().root_device().subbank("bank1")->set_base(device->machine().region("soundcpu")->base() + offs);
}
diff --git a/src/mame/drivers/tail2nos.c b/src/mame/drivers/tail2nos.c
index 8d36d331fc9..076f0c71cf3 100644
--- a/src/mame/drivers/tail2nos.c
+++ b/src/mame/drivers/tail2nos.c
@@ -29,7 +29,7 @@ WRITE16_MEMBER(tail2nos_state::sound_command_w)
static WRITE8_DEVICE_HANDLER( sound_bankswitch_w )
{
- memory_set_bank(device->machine(), "bank3", data & 0x01);
+ device->machine().root_device().subbank("bank3")->set_entry(data & 0x01);
}
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, tail2nos_state )
@@ -210,8 +210,8 @@ static MACHINE_START( tail2nos )
tail2nos_state *state = machine.driver_data<tail2nos_state>();
UINT8 *ROM = machine.region("audiocpu")->base();
- memory_configure_bank(machine, "bank3", 0, 2, &ROM[0x10000], 0x8000);
- memory_set_bank(machine, "bank3", 0);
+ state->subbank("bank3")->configure_entries(0, 2, &ROM[0x10000], 0x8000);
+ state->subbank("bank3")->set_entry(0);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");
@@ -227,8 +227,8 @@ static MACHINE_RESET( tail2nos )
tail2nos_state *state = machine.driver_data<tail2nos_state>();
/* point to the extra ROMs */
- memory_set_bankptr(machine, "bank1", machine.region("user1")->base());
- memory_set_bankptr(machine, "bank2", machine.region("user2")->base());
+ state->subbank("bank1")->set_base(machine.region("user1")->base());
+ state->subbank("bank2")->set_base(machine.region("user2")->base());
state->m_charbank = 0;
state->m_charpalette = 0;
diff --git a/src/mame/drivers/taito_b.c b/src/mame/drivers/taito_b.c
index a51770370f3..2f1fcf58cbe 100644
--- a/src/mame/drivers/taito_b.c
+++ b/src/mame/drivers/taito_b.c
@@ -193,7 +193,7 @@ TODO!
WRITE8_MEMBER(taitob_state::bankswitch_w)
{
- memory_set_bank(machine(), "bank1", (data - 1) & 3);
+ subbank("bank1")->set_entry((data - 1) & 3);
}
static TIMER_CALLBACK( rsaga2_interrupt2 )
@@ -3707,7 +3707,7 @@ ROM_END
static DRIVER_INIT( taito_b )
{
- memory_configure_bank(machine, "bank1", 0, 4, machine.region("audiocpu")->base() + 0x10000, 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 4, machine.region("audiocpu")->base() + 0x10000, 0x4000);
}
GAME( 1989, masterw, 0, masterw, masterw, taito_b, ROT270, "Taito Corporation Japan", "Master of Weapon (World)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/taito_f2.c b/src/mame/drivers/taito_f2.c
index ab9ba53e66e..d125f015d35 100644
--- a/src/mame/drivers/taito_f2.c
+++ b/src/mame/drivers/taito_f2.c
@@ -591,7 +591,7 @@ static INTERRUPT_GEN( taitof2_interrupt )
WRITE8_MEMBER(taitof2_state::sound_bankswitch_w)
{
- memory_set_bank(machine(), "bank2", (data - 1) & 7);
+ subbank("bank2")->set_entry((data - 1) & 7);
#ifdef MAME_DEBUG
if (((data - 1) & 7) > 2)
@@ -3013,7 +3013,7 @@ static MACHINE_START( common )
static MACHINE_START( f2 )
{
MACHINE_START_CALL(common);
- memory_configure_bank(machine, "bank2", 0, 8, machine.region("audiocpu")->base() + 0x10000, 0x4000);
+ machine.root_device().subbank("bank2")->configure_entries(0, 8, machine.region("audiocpu")->base() + 0x10000, 0x4000);
}
static MACHINE_CONFIG_START( taito_f2, taitof2_state )
diff --git a/src/mame/drivers/taito_f3.c b/src/mame/drivers/taito_f3.c
index d8f563f22f3..1f5cff38937 100644
--- a/src/mame/drivers/taito_f3.c
+++ b/src/mame/drivers/taito_f3.c
@@ -133,7 +133,7 @@ WRITE32_MEMBER(taito_f3_state::f3_sound_bankswitch_w)
/* Banks are 0x20000 bytes each, divide by two to get data16
pointer rather than byte pointer */
- memory_set_bankptr(machine(), "bank2", &rom[(idx*0x20000)/2 + 0x80000]);
+ subbank("bank2")->set_base(&rom[(idx*0x20000)/2 + 0x80000]);
} else {
logerror("Sound bankswitch in unsupported game\n");
diff --git a/src/mame/drivers/taito_h.c b/src/mame/drivers/taito_h.c
index da6cdc7ce8a..16e0bee0360 100644
--- a/src/mame/drivers/taito_h.c
+++ b/src/mame/drivers/taito_h.c
@@ -231,7 +231,7 @@ READ8_MEMBER(taitoh_state::syvalion_input_bypass_r)
static void reset_sound_region(running_machine &machine)
{
taitoh_state *state = machine.driver_data<taitoh_state>();
- memory_set_bank(machine, "bank1", state->m_banknum);
+ state->subbank("bank1")->set_entry(state->m_banknum);
}
WRITE8_MEMBER(taitoh_state::sound_bankswitch_w)
@@ -520,7 +520,7 @@ static MACHINE_START( taitoh )
taitoh_state *state = machine.driver_data<taitoh_state>();
UINT8 *ROM = machine.region("audiocpu")->base();
- memory_configure_bank(machine, "bank1", 0, 4, &ROM[0xc000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 4, &ROM[0xc000], 0x4000);
state->m_audiocpu = machine.device("audiocpu");
state->m_tc0220ioc = machine.device("tc0220ioc");
diff --git a/src/mame/drivers/taito_l.c b/src/mame/drivers/taito_l.c
index ae0cb86ac64..d5661ba3b27 100644
--- a/src/mame/drivers/taito_l.c
+++ b/src/mame/drivers/taito_l.c
@@ -169,11 +169,11 @@ static void machine_reset(running_machine &machine)
state->m_cur_rambank[i] = 0x80;
state->m_current_notifier[i] = palette_notifier;
state->m_current_base[i] = state->m_palette_ram;
- memory_set_bankptr(machine, bankname[i], state->m_current_base[i]);
+ state->subbank(bankname[i])->set_base(state->m_current_base[i]);
}
state->m_cur_rombank = state->m_cur_rombank2 = 0;
- memory_set_bankptr(machine, "bank1", machine.region("maincpu")->base() + 0x10000);
+ state->subbank("bank1")->set_base(machine.region("maincpu")->base() + 0x10000);
gfx_element_set_source(machine.gfx[2], state->m_rambanks);
@@ -377,7 +377,7 @@ WRITE8_MEMBER(taitol_state::rombankswitch_w)
//logerror("robs %d, %02x (%04x)\n", offset, data, cpu_get_pc(&space.device()));
m_cur_rombank = data;
- memory_set_bankptr(machine(), "bank1", machine().region("maincpu")->base() + 0x10000 + 0x2000 * m_cur_rombank);
+ subbank("bank1")->set_base(machine().region("maincpu")->base() + 0x10000 + 0x2000 * m_cur_rombank);
}
}
@@ -397,7 +397,7 @@ WRITE8_MEMBER(taitol_state::rombank2switch_w)
//logerror("robs2 %02x (%04x)\n", data, cpu_get_pc(&space.device()));
m_cur_rombank2 = data;
- memory_set_bankptr(machine(), "bank6", machine().region("slave")->base() + 0x10000 + 0x4000 * m_cur_rombank2);
+ subbank("bank6")->set_base(machine().region("slave")->base() + 0x10000 + 0x4000 * m_cur_rombank2);
}
}
@@ -435,7 +435,7 @@ WRITE8_MEMBER(taitol_state::rambankswitch_w)
m_current_notifier[offset] = 0;
m_current_base[offset] = m_empty_ram;
}
- memory_set_bankptr(machine(), bankname[offset], m_current_base[offset]);
+ subbank(bankname[offset])->set_base(m_current_base[offset]);
}
}
@@ -743,7 +743,7 @@ WRITE8_MEMBER(taitol_state::sound_bankswitch_w)
UINT8 *RAM = machine().region("audiocpu")->base();
int banknum = (data - 1) & 3;
- memory_set_bankptr (machine(), "bank7", &RAM [0x10000 + (banknum * 0x4000)]);
+ subbank ("bank7")->set_base (&RAM [0x10000 + (banknum * 0x4000)]);
}
static ADDRESS_MAP_START( raimais_3_map, AS_PROGRAM, 8, taitol_state )
@@ -1788,7 +1788,7 @@ static WRITE8_DEVICE_HANDLER( portA_w )
state->m_cur_bank = data & 0x03;
bankaddress = 0x10000 + (state->m_cur_bank - 1) * 0x4000;
- memory_set_bankptr(device->machine(), "bank7", &RAM[bankaddress]);
+ state->subbank("bank7")->set_base(&RAM[bankaddress]);
//logerror ("YM2203 bank change val=%02x pc=%04x\n", state->m_cur_bank, cpu_get_pc(&space->device()) );
}
}
diff --git a/src/mame/drivers/taito_x.c b/src/mame/drivers/taito_x.c
index a03a9b1653d..2ea5e1c8696 100644
--- a/src/mame/drivers/taito_x.c
+++ b/src/mame/drivers/taito_x.c
@@ -412,7 +412,7 @@ static void reset_sound_region(running_machine &machine)
{
taitox_state *state = machine.driver_data<taitox_state>();
- memory_set_bankptr(machine, "bank2", machine.region("audiocpu")->base() + (state->m_banknum * 0x4000) + 0x10000 );
+ state->subbank("bank2")->set_base(machine.region("audiocpu")->base() + (state->m_banknum * 0x4000) + 0x10000 );
}
WRITE8_MEMBER(taitox_state::sound_bankswitch_w)
diff --git a/src/mame/drivers/taito_z.c b/src/mame/drivers/taito_z.c
index 6ef2702bfba..7e99b232bfb 100644
--- a/src/mame/drivers/taito_z.c
+++ b/src/mame/drivers/taito_z.c
@@ -1417,7 +1417,7 @@ READ16_MEMBER(taitoz_state::aquajack_unknown_r)
static void reset_sound_region( running_machine &machine )
{
taitoz_state *state = machine.driver_data<taitoz_state>();
- memory_set_bank(machine, "bank10", state->m_banknum);
+ state->subbank("bank10")->set_entry(state->m_banknum);
}
WRITE8_MEMBER(taitoz_state::sound_bankswitch_w)
@@ -3062,7 +3062,7 @@ static MACHINE_START( taitoz )
{
int banks = (machine.region("audiocpu")->bytes() - 0xc000) / 0x4000;
- memory_configure_bank(machine, "bank10", 0, banks, machine.region("audiocpu")->base() + 0xc000, 0x4000);
+ machine.root_device().subbank("bank10")->configure_entries(0, banks, machine.region("audiocpu")->base() + 0xc000, 0x4000);
machine.save().register_postload(save_prepost_delegate(FUNC(taitoz_postload), &machine));
diff --git a/src/mame/drivers/taitoair.c b/src/mame/drivers/taitoair.c
index 6bc35d2a28d..0ce21731154 100644
--- a/src/mame/drivers/taitoair.c
+++ b/src/mame/drivers/taitoair.c
@@ -378,7 +378,7 @@ READ16_MEMBER(taitoair_state::stick2_input_r)
static void reset_sound_region( running_machine &machine )
{
taitoair_state *state = machine.driver_data<taitoair_state>();
- memory_set_bank(machine, "bank1", state->m_banknum);
+ state->subbank("bank1")->set_entry(state->m_banknum);
}
WRITE8_MEMBER(taitoair_state::sound_bankswitch_w)
@@ -672,7 +672,7 @@ static MACHINE_START( taitoair )
UINT8 *ROM = machine.region("audiocpu")->base();
int i;
- memory_configure_bank(machine, "bank1", 0, 4, &ROM[0xc000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 4, &ROM[0xc000], 0x4000);
state->m_audiocpu = machine.device("audiocpu");
state->m_dsp = machine.device("dsp");
diff --git a/src/mame/drivers/taitowlf.c b/src/mame/drivers/taitowlf.c
index 15edd551ee9..18644510201 100644
--- a/src/mame/drivers/taitowlf.c
+++ b/src/mame/drivers/taitowlf.c
@@ -144,11 +144,11 @@ static void mxtc_config_w(device_t *busdevice, device_t *device, int function, i
{
if (data & 0x10) // enable RAM access to region 0xf0000 - 0xfffff
{
- memory_set_bankptr(busdevice->machine(), "bank1", state->m_bios_ram);
+ state->subbank("bank1")->set_base(state->m_bios_ram);
}
else // disable RAM access (reads go to BIOS ROM)
{
- memory_set_bankptr(busdevice->machine(), "bank1", busdevice->machine().region("user1")->base() + 0x30000);
+ state->subbank("bank1")->set_base(busdevice->machine().region("user1")->base() + 0x30000);
}
break;
}
@@ -539,7 +539,7 @@ static MACHINE_START(taitowlf)
static MACHINE_RESET(taitowlf)
{
- memory_set_bankptr(machine, "bank1", machine.region("user1")->base() + 0x30000);
+ machine.root_device().subbank("bank1")->set_base(machine.region("user1")->base() + 0x30000);
}
diff --git a/src/mame/drivers/tankbust.c b/src/mame/drivers/tankbust.c
index 7ba02089efd..2c3b8e857f1 100644
--- a/src/mame/drivers/tankbust.c
+++ b/src/mame/drivers/tankbust.c
@@ -99,8 +99,8 @@ WRITE8_MEMBER(tankbust_state::tankbust_e0xx_w)
case 7: /* 0xe007 bankswitch */
/* bank 1 at 0x6000-9fff = from 0x10000 when bit0=0 else from 0x14000 */
/* bank 2 at 0xa000-bfff = from 0x18000 when bit0=0 else from 0x1a000 */
- memory_set_bankptr(machine(), "bank1", machine().region("maincpu")->base() + 0x10000 + ((data&1) * 0x4000) );
- memory_set_bankptr(machine(), "bank2", machine().region("maincpu")->base() + 0x18000 + ((data&1) * 0x2000) ); /* verified (the game will reset after the "game over" otherwise) */
+ subbank("bank1")->set_base(machine().region("maincpu")->base() + 0x10000 + ((data&1) * 0x4000) );
+ subbank("bank2")->set_base(machine().region("maincpu")->base() + 0x18000 + ((data&1) * 0x2000) ); /* verified (the game will reset after the "game over" otherwise) */
break;
}
}
diff --git a/src/mame/drivers/taotaido.c b/src/mame/drivers/taotaido.c
index 37b8868189b..ebd2f84e622 100644
--- a/src/mame/drivers/taotaido.c
+++ b/src/mame/drivers/taotaido.c
@@ -125,7 +125,7 @@ WRITE8_MEMBER(taotaido_state::taotaido_sh_bankswitch_w)
{
UINT8 *rom = machine().region("audiocpu")->base() + 0x10000;
- memory_set_bankptr(machine(), "bank1",rom + (data & 0x03) * 0x8000);
+ subbank("bank1")->set_base(rom + (data & 0x03) * 0x8000);
}
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, taotaido_state )
diff --git a/src/mame/drivers/tatsumi.c b/src/mame/drivers/tatsumi.c
index 177b7644677..9a44ba6d3f7 100644
--- a/src/mame/drivers/tatsumi.c
+++ b/src/mame/drivers/tatsumi.c
@@ -1355,11 +1355,11 @@ static DRIVER_INIT( cyclwarr )
dst = machine.region("maincpu")->base();
memcpy(state->m_cyclwarr_cpua_ram,dst,8);
- memory_set_bankptr(machine, "bank1", dst);
+ state->subbank("bank1")->set_base(dst);
dst = machine.region("sub")->base();
memcpy(state->m_cyclwarr_cpub_ram,dst,8);
- memory_set_bankptr(machine, "bank2", dst);
+ state->subbank("bank2")->set_base(dst);
// Copy sprite & palette data out of GFX rom area
state->m_rom_sprite_lookup1 = machine.region("gfx2")->base();
diff --git a/src/mame/drivers/tbowl.c b/src/mame/drivers/tbowl.c
index c142d7e4550..87c17880b3d 100644
--- a/src/mame/drivers/tbowl.c
+++ b/src/mame/drivers/tbowl.c
@@ -38,7 +38,7 @@ WRITE8_MEMBER(tbowl_state::tbowlb_bankswitch_w)
bankaddress = 0x10000 + ((data & 0xf8) << 8);
- memory_set_bankptr(machine(), "bank1",&RAM[bankaddress]);
+ subbank("bank1")->set_base(&RAM[bankaddress]);
}
WRITE8_MEMBER(tbowl_state::tbowlc_bankswitch_w)
@@ -50,7 +50,7 @@ WRITE8_MEMBER(tbowl_state::tbowlc_bankswitch_w)
bankaddress = 0x10000 + ((data & 0xf8) << 8);
- memory_set_bankptr(machine(), "bank2", &RAM[bankaddress]);
+ subbank("bank2")->set_base(&RAM[bankaddress]);
}
/*** Shared Ram Handlers
diff --git a/src/mame/drivers/tecmo.c b/src/mame/drivers/tecmo.c
index 6763677e32e..d9315d992dc 100644
--- a/src/mame/drivers/tecmo.c
+++ b/src/mame/drivers/tecmo.c
@@ -59,7 +59,7 @@ WRITE8_MEMBER(tecmo_state::tecmo_bankswitch_w)
bankaddress = 0x10000 + ((data & 0xf8) << 8);
- memory_set_bankptr(machine(), "bank1", &RAM[bankaddress]);
+ subbank("bank1")->set_base(&RAM[bankaddress]);
}
WRITE8_MEMBER(tecmo_state::tecmo_sound_command_w)
diff --git a/src/mame/drivers/tecmosys.c b/src/mame/drivers/tecmosys.c
index 806416cb4dc..cb51934a178 100644
--- a/src/mame/drivers/tecmosys.c
+++ b/src/mame/drivers/tecmosys.c
@@ -326,7 +326,7 @@ ADDRESS_MAP_END
WRITE8_MEMBER(tecmosys_state::tecmosys_z80_bank_w)
{
- memory_set_bank(machine(), "bank1", data);
+ subbank("bank1")->set_entry(data);
}
WRITE8_MEMBER(tecmosys_state::tecmosys_oki_bank_w)
@@ -448,7 +448,7 @@ static const ymf262_interface tecmosys_ymf262_interface =
static MACHINE_START( tecmosys )
{
// tecmosys_state *state = machine.driver_data<tecmosys_state>();
- memory_configure_bank(machine, "bank1", 0, 16, machine.region("audiocpu")->base(), 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 16, machine.region("audiocpu")->base(), 0x4000);
}
static MACHINE_CONFIG_START( deroon, tecmosys_state )
diff --git a/src/mame/drivers/thedeep.c b/src/mame/drivers/thedeep.c
index 1e77b3b687f..3770a282bc0 100644
--- a/src/mame/drivers/thedeep.c
+++ b/src/mame/drivers/thedeep.c
@@ -53,7 +53,7 @@ WRITE8_MEMBER(thedeep_state::thedeep_sound_w)
static MACHINE_RESET( thedeep )
{
thedeep_state *state = machine.driver_data<thedeep_state>();
- memory_set_bankptr(machine, "bank1", machine.region("maincpu")->base() + 0x10000 + 0 * 0x4000);
+ state->subbank("bank1")->set_base(machine.region("maincpu")->base() + 0x10000 + 0 * 0x4000);
state->m_scroll[0] = 0;
state->m_scroll[1] = 0;
state->m_scroll[2] = 0;
@@ -87,7 +87,7 @@ WRITE8_MEMBER(thedeep_state::thedeep_protection_w)
if (m_rombank == new_rombank) break;
m_rombank = new_rombank;
rom = machine().region("maincpu")->base();
- memory_set_bankptr(machine(), "bank1", rom + 0x10000 + m_rombank * 0x4000);
+ subbank("bank1")->set_base(rom + 0x10000 + m_rombank * 0x4000);
/* there's code which falls through from the fixed ROM to bank #1, I have to */
/* copy it there otherwise the CPU bank switching support will not catch it. */
memcpy(rom + 0x08000, rom + 0x10000 + m_rombank * 0x4000, 0x4000);
@@ -198,7 +198,7 @@ static void thedeep_maincpu_bankswitch(running_machine &machine,UINT8 bank_trig)
return;
state->m_rombank = new_rombank;
rom = machine.region("maincpu")->base();
- memory_set_bankptr(machine, "bank1", rom + 0x10000 + state->m_rombank * 0x4000);
+ state->subbank("bank1")->set_base(rom + 0x10000 + state->m_rombank * 0x4000);
/* there's code which falls through from the fixed ROM to bank #1, I have to */
/* copy it there otherwise the CPU bank switching support will not catch it. */
memcpy(rom + 0x08000, rom + 0x10000 + state->m_rombank * 0x4000, 0x4000);
diff --git a/src/mame/drivers/thunderx.c b/src/mame/drivers/thunderx.c
index dbd88fb27aa..f4cb94da11b 100644
--- a/src/mame/drivers/thunderx.c
+++ b/src/mame/drivers/thunderx.c
@@ -322,7 +322,7 @@ WRITE8_MEMBER(thunderx_state::scontra_bankswitch_w)
/* bits 0-3 ROM bank */
offs = 0x10000 + (data & 0x0f)*0x2000;
- memory_set_bankptr(machine(), "bank1", &RAM[offs] );
+ subbank("bank1")->set_base(&RAM[offs] );
/* bit 4 select work RAM or palette RAM at 5800-5fff */
m_palette_selected = ~data & 0x10;
@@ -626,9 +626,9 @@ static MACHINE_START( thunderx )
thunderx_state *state = machine.driver_data<thunderx_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 12, &ROM[0x10000], 0x2000);
- memory_configure_bank(machine, "bank1", 12, 4, &ROM[0x08000], 0x2000);
- memory_set_bank(machine, "bank1", 0);
+ state->subbank("bank1")->configure_entries(0, 12, &ROM[0x10000], 0x2000);
+ state->subbank("bank1")->configure_entries(12, 4, &ROM[0x08000], 0x2000);
+ state->subbank("bank1")->set_entry(0);
memset(state->m_pmcram, 0, sizeof(state->m_pmcram));
@@ -991,7 +991,7 @@ ROM_END
static KONAMI_SETLINES_CALLBACK( thunderx_banking )
{
//logerror("thunderx %04x: bank select %02x\n", cpu_get_pc(device->cpu), lines);
- memory_set_bank(device->machine(), "bank1", ((lines & 0x0f) ^ 0x08));
+ device->machine().root_device().subbank("bank1")->set_entry(((lines & 0x0f) ^ 0x08));
}
GAME( 1988, scontra, 0, scontra, scontra, 0, ROT90, "Konami", "Super Contra", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/tmaster.c b/src/mame/drivers/tmaster.c
index 8e4d00fef5f..c2615c06229 100644
--- a/src/mame/drivers/tmaster.c
+++ b/src/mame/drivers/tmaster.c
@@ -660,9 +660,9 @@ static void galgames_update_rombank(running_machine &machine, UINT32 cart)
state->m_gfx_offs = 0x200000 * cart;
if (machine.memory().bank(GALGAMES_BANK_000000_R) == GALGAMES_RAM)
- memory_set_bank(machine, GALGAMES_BANK_200000_R, GALGAMES_ROM0 + state->m_galgames_cart); // rom
+ state->subbank(GALGAMES_BANK_200000_R)->set_entry(GALGAMES_ROM0 + state->m_galgames_cart); // rom
- memory_set_bank(machine, GALGAMES_BANK_240000_R, GALGAMES_ROM0 + state->m_galgames_cart); // rom
+ state->subbank(GALGAMES_BANK_240000_R)->set_entry(GALGAMES_ROM0 + state->m_galgames_cart); // rom
}
WRITE16_MEMBER(tmaster_state::galgames_cart_sel_w)
@@ -712,14 +712,14 @@ WRITE16_MEMBER(tmaster_state::galgames_cart_clock_w)
// ROM/RAM banking
if ((data & 0xf7) == 0x05)
{
- memory_set_bank(machine(), GALGAMES_BANK_000000_R, GALGAMES_RAM); // ram
+ subbank(GALGAMES_BANK_000000_R)->set_entry(GALGAMES_RAM); // ram
galgames_update_rombank(machine(), m_galgames_cart);
logerror("%06x: romram bank = %04x\n", cpu_get_pc(&space.device()), data);
}
else
{
- memory_set_bank(machine(), GALGAMES_BANK_000000_R, GALGAMES_ROM0); // rom
- memory_set_bank(machine(), GALGAMES_BANK_200000_R, GALGAMES_RAM); // ram
+ subbank(GALGAMES_BANK_000000_R)->set_entry(GALGAMES_ROM0); // rom
+ subbank(GALGAMES_BANK_200000_R)->set_entry(GALGAMES_RAM); // ram
logerror("%06x: unknown romram bank = %04x\n", cpu_get_pc(&space.device()), data);
}
}
@@ -951,13 +951,13 @@ static MACHINE_RESET( galgames )
state->m_gfx_offs = 0;
state->m_gfx_size = 0x200000;
- memory_set_bank(machine, GALGAMES_BANK_000000_R, GALGAMES_ROM0); // rom
- memory_set_bank(machine, GALGAMES_BANK_000000_W, GALGAMES_RAM); // ram
+ state->subbank(GALGAMES_BANK_000000_R)->set_entry(GALGAMES_ROM0); // rom
+ state->subbank(GALGAMES_BANK_000000_W)->set_entry(GALGAMES_RAM); // ram
- memory_set_bank(machine, GALGAMES_BANK_200000_R, GALGAMES_RAM); // ram
- memory_set_bank(machine, GALGAMES_BANK_200000_W, GALGAMES_RAM); // ram
+ state->subbank(GALGAMES_BANK_200000_R)->set_entry(GALGAMES_RAM); // ram
+ state->subbank(GALGAMES_BANK_200000_W)->set_entry(GALGAMES_RAM); // ram
- memory_set_bank(machine, GALGAMES_BANK_240000_R, GALGAMES_ROM0); // rom
+ state->subbank(GALGAMES_BANK_240000_R)->set_entry(GALGAMES_ROM0); // rom
galgames_update_rombank(machine, 0);
@@ -1840,17 +1840,17 @@ static DRIVER_INIT( galgames )
// RAM bank at 0x000000-0x03ffff and 0x200000-0x23ffff
// ROM bank at 0x000000-0x1fffff and 0x200000-0x3fffff (bios)
- memory_configure_bank(machine, GALGAMES_BANK_000000_R, GALGAMES_RAM, 1, state->m_galgames_ram, 0x40000);
- memory_configure_bank(machine, GALGAMES_BANK_000000_R, GALGAMES_ROM0, 1, ROM+0x000000, 0x40000);
+ state->subbank(GALGAMES_BANK_000000_R)->configure_entry(GALGAMES_RAM, state->m_galgames_ram);
+ state->subbank(GALGAMES_BANK_000000_R)->configure_entry(GALGAMES_ROM0, ROM+0x000000);
- memory_configure_bank(machine, GALGAMES_BANK_000000_W, GALGAMES_RAM, 1, state->m_galgames_ram, 0x40000);
+ state->subbank(GALGAMES_BANK_000000_W)->configure_entry(GALGAMES_RAM, state->m_galgames_ram);
- memory_configure_bank(machine, GALGAMES_BANK_200000_R, GALGAMES_RAM, 1, state->m_galgames_ram, 0x40000);
- memory_configure_bank(machine, GALGAMES_BANK_200000_R, GALGAMES_ROM0, 1, ROM+0x000000, 0x40000);
+ state->subbank(GALGAMES_BANK_200000_R)->configure_entry(GALGAMES_RAM, state->m_galgames_ram);
+ state->subbank(GALGAMES_BANK_200000_R)->configure_entry(GALGAMES_ROM0, ROM+0x000000);
- memory_configure_bank(machine, GALGAMES_BANK_200000_W, GALGAMES_RAM, 1, state->m_galgames_ram, 0x40000);
+ state->subbank(GALGAMES_BANK_200000_W)->configure_entry(GALGAMES_RAM, state->m_galgames_ram);
- memory_configure_bank(machine, GALGAMES_BANK_240000_R, GALGAMES_ROM0, 1, ROM+0x040000, 0x1c0000);
+ state->subbank(GALGAMES_BANK_240000_R)->configure_entry(GALGAMES_ROM0, ROM+0x040000);
// More ROM banks at 0x200000-0x3fffff (carts)
@@ -1861,8 +1861,8 @@ static DRIVER_INIT( galgames )
if (0x200000 * (cart+1) <= machine.region("maincpu")->bytes())
CART += 0x200000 * cart;
- memory_configure_bank(machine, GALGAMES_BANK_200000_R, GALGAMES_ROM0+cart, 1, CART, 0x40000);
- memory_configure_bank(machine, GALGAMES_BANK_240000_R, GALGAMES_ROM0+cart, 1, CART+0x040000, 0x1c0000);
+ state->subbank(GALGAMES_BANK_200000_R)->configure_entry(GALGAMES_ROM0+cart, CART);
+ state->subbank(GALGAMES_BANK_240000_R)->configure_entry(GALGAMES_ROM0+cart, CART+0x040000);
}
}
diff --git a/src/mame/drivers/tmnt.c b/src/mame/drivers/tmnt.c
index 9207690ea9f..cbeb4c9d57f 100644
--- a/src/mame/drivers/tmnt.c
+++ b/src/mame/drivers/tmnt.c
@@ -236,7 +236,7 @@ WRITE16_MEMBER(tmnt_state::prmrsocr_sound_irq_w)
WRITE8_MEMBER(tmnt_state::prmrsocr_audio_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data & 7);
+ subbank("bank1")->set_entry(data & 7);
}
@@ -2605,7 +2605,7 @@ static MACHINE_START( prmrsocr )
{
MACHINE_START_CALL(common);
UINT8 *ROM = machine.region("audiocpu")->base();
- memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
}
static MACHINE_CONFIG_START( prmrsocr, tmnt_state )
diff --git a/src/mame/drivers/tmspoker.c b/src/mame/drivers/tmspoker.c
index 1d8abe5b18d..5743e5358d0 100644
--- a/src/mame/drivers/tmspoker.c
+++ b/src/mame/drivers/tmspoker.c
@@ -294,7 +294,7 @@ static INTERRUPT_GEN( tmspoker_interrupt )
static MACHINE_START( tmspoker )
{
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 2, &ROM[0], 0x1000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 2, &ROM[0], 0x1000);
}
@@ -304,7 +304,7 @@ static MACHINE_RESET( tmspoker )
popmessage("ROM Bank: %02X", seldsw);
- memory_set_bank(machine, "bank1", seldsw);
+ machine.root_device().subbank("bank1")->set_entry(seldsw);
}
diff --git a/src/mame/drivers/tnzs.c b/src/mame/drivers/tnzs.c
index d0b3662a36e..699a95c3cfc 100644
--- a/src/mame/drivers/tnzs.c
+++ b/src/mame/drivers/tnzs.c
@@ -738,7 +738,7 @@ static WRITE8_DEVICE_HANDLER( kabukiz_sound_bank_w )
{
// to avoid the write when the sound chip is initialized
if (data != 0xff)
- memory_set_bank(device->machine(), "bank3", data & 0x07);
+ device->machine().root_device().subbank("bank3")->set_entry(data & 0x07);
}
static WRITE8_DEVICE_HANDLER( kabukiz_sample_w )
@@ -903,7 +903,7 @@ ADDRESS_MAP_END
WRITE8_MEMBER(tnzs_state::jpopnics_subbankswitch_w)
{
/* bits 0-1 select ROM bank */
- memory_set_bank(machine(), "bank2", data & 0x03);
+ subbank("bank2")->set_entry(data & 0x03);
}
static ADDRESS_MAP_START( jpopnics_sub_map, AS_PROGRAM, 8, tnzs_state )
diff --git a/src/mame/drivers/toaplan2.c b/src/mame/drivers/toaplan2.c
index f2b6641c498..63c279e8b4b 100644
--- a/src/mame/drivers/toaplan2.c
+++ b/src/mame/drivers/toaplan2.c
@@ -433,7 +433,7 @@ static DRIVER_INIT( fixeightbl )
{
UINT8 *ROM = machine.region("oki")->base();
- memory_configure_bank(machine, "bank1", 0, 5, &ROM[0x30000], 0x10000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 5, &ROM[0x30000], 0x10000);
}
@@ -464,7 +464,7 @@ static DRIVER_INIT( bgaregga )
UINT8 *Z80 = machine.region("audiocpu")->base();
// seems to only use banks 0x0a to 0x0f
- memory_configure_bank(machine, "bank1", 8, 8, Z80, 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(8, 8, Z80, 0x4000);
}
@@ -473,7 +473,7 @@ static DRIVER_INIT( batrider )
toaplan2_state *state = machine.driver_data<toaplan2_state>();
UINT8 *Z80 = machine.region("audiocpu")->base();
- memory_configure_bank(machine, "bank1", 0, 16, Z80, 0x4000);
+ state->subbank("bank1")->configure_entries(0, 16, Z80, 0x4000);
state->m_sndirq_line = 4;
}
@@ -781,7 +781,7 @@ WRITE16_MEMBER(toaplan2_state::fixeightbl_oki_bankswitch_w)
if (ACCESSING_BITS_0_7)
{
data &= 7;
- if (data <= 4) memory_set_bank(machine(), "bank1", data);
+ if (data <= 4) subbank("bank1")->set_entry(data);
}
}
@@ -840,7 +840,7 @@ READ8_MEMBER(toaplan2_state::fixeight_region_r)
WRITE8_MEMBER(toaplan2_state::raizing_z80_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", data & 0x0f);
+ subbank("bank1")->set_entry(data & 0x0f);
}
diff --git a/src/mame/drivers/toki.c b/src/mame/drivers/toki.c
index 105cc94b5eb..4617f77d3a1 100644
--- a/src/mame/drivers/toki.c
+++ b/src/mame/drivers/toki.c
@@ -76,7 +76,7 @@ static WRITE8_DEVICE_HANDLER( toki_adpcm_control_w )
/* the code writes either 2 or 3 in the bottom two bits */
bankaddress = 0x10000 + (data & 0x01) * 0x4000;
- memory_set_bankptr(device->machine(), "bank1",&RAM[bankaddress]);
+ device->machine().root_device().subbank("bank1")->set_base(&RAM[bankaddress]);
msm5205_reset_w(device,data & 0x08);
}
diff --git a/src/mame/drivers/topspeed.c b/src/mame/drivers/topspeed.c
index 9c43404c465..22e79cae719 100644
--- a/src/mame/drivers/topspeed.c
+++ b/src/mame/drivers/topspeed.c
@@ -392,7 +392,7 @@ WRITE16_MEMBER(topspeed_state::topspeed_motor_w)
static void reset_sound_region( running_machine &machine )
{
topspeed_state *state = machine.driver_data<topspeed_state>();
- memory_set_bank(machine, "bank10", state->m_banknum);
+ state->subbank("bank10")->set_entry(state->m_banknum);
}
static WRITE8_DEVICE_HANDLER( sound_bankswitch_w ) /* assumes Z80 sandwiched between 68Ks */
@@ -646,7 +646,7 @@ static MACHINE_START( topspeed )
{
topspeed_state *state = machine.driver_data<topspeed_state>();
- memory_configure_bank(machine, "bank10", 0, 4, machine.region("audiocpu")->base() + 0xc000, 0x4000);
+ state->subbank("bank10")->configure_entries(0, 4, machine.region("audiocpu")->base() + 0xc000, 0x4000);
state->m_maincpu = machine.device("maincpu");
state->m_subcpu = machine.device("sub");
diff --git a/src/mame/drivers/trackfld.c b/src/mame/drivers/trackfld.c
index 1dbf614f29d..bf22540ee3a 100644
--- a/src/mame/drivers/trackfld.c
+++ b/src/mame/drivers/trackfld.c
@@ -211,7 +211,7 @@ WRITE8_MEMBER(trackfld_state::questions_bank_w)
{
if((data & 1 << i) == 0) // check first bit active low, change ROM bank according to the correlated bit
{
- memory_set_bank(machine(), "bank1", i);
+ subbank("bank1")->set_entry(i);
return;
}
}
@@ -1446,10 +1446,10 @@ static DRIVER_INIT( atlantol )
space->install_read_bank(0x1380, 0x17ff, "bank11");
space->install_read_bank(0x2000, 0x27ff, "bank12");
space->install_read_bank(0x4000, 0x5fff, "bank13");
- memory_set_bankptr(machine, "bank10", &rom[0x0000]);
- memory_set_bankptr(machine, "bank11", &rom[0x1380]);
- memory_set_bankptr(machine, "bank12", &rom[0x2000]);
- memory_set_bankptr(machine, "bank13", &rom[0x4000]);
+ state->subbank("bank10")->set_base(&rom[0x0000]);
+ state->subbank("bank11")->set_base(&rom[0x1380]);
+ state->subbank("bank12")->set_base(&rom[0x2000]);
+ state->subbank("bank13")->set_base(&rom[0x4000]);
}
static DRIVER_INIT( mastkin )
@@ -1488,7 +1488,7 @@ static DRIVER_INIT( wizzquiz )
for (i = 0; i < 0x40000; i++)
ROM[i] = BITSWAP8(ROM[i],0,1,2,3,4,5,6,7);
- memory_configure_bank(machine, "bank1", 0, 8, ROM, 0x8000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 8, ROM, 0x8000);
}
diff --git a/src/mame/drivers/trvmadns.c b/src/mame/drivers/trvmadns.c
index 93b659089c6..aa151e2203e 100644
--- a/src/mame/drivers/trvmadns.c
+++ b/src/mame/drivers/trvmadns.c
@@ -114,8 +114,8 @@ WRITE8_MEMBER(trvmadns_state::trvmadns_banking_w)
address |= (data & 0x10) ? 0x10000 : 0;
- memory_set_bankptr(machine(), "bank1", &rom[address]);
- memory_set_bankptr(machine(), "bank2", &rom[address + 0x1000]);
+ subbank("bank1")->set_base(&rom[address]);
+ subbank("bank2")->set_base(&rom[address + 0x1000]);
}
else
{
@@ -154,7 +154,7 @@ WRITE8_MEMBER(trvmadns_state::trvmadns_banking_w)
// logerror("add = %X\n",address);
- memory_set_bankptr(machine(), "bank1", &rom[address]);
+ subbank("bank1")->set_base(&rom[address]);
}
}
diff --git a/src/mame/drivers/tryout.c b/src/mame/drivers/tryout.c
index c32ec378e62..97d3aaefd9b 100644
--- a/src/mame/drivers/tryout.c
+++ b/src/mame/drivers/tryout.c
@@ -49,7 +49,7 @@ WRITE8_MEMBER(tryout_state::tryout_bankswitch_w)
int bankaddress;
bankaddress = 0x10000 + (data & 0x01) * 0x2000;
- memory_set_bankptr(machine(), "bank1", &RAM[bankaddress]);
+ subbank("bank1")->set_base(&RAM[bankaddress]);
}
static ADDRESS_MAP_START( main_cpu, AS_PROGRAM, 8, tryout_state )
diff --git a/src/mame/drivers/ttchamp.c b/src/mame/drivers/ttchamp.c
index 1e4352c4362..8e86d699d0a 100644
--- a/src/mame/drivers/ttchamp.c
+++ b/src/mame/drivers/ttchamp.c
@@ -114,7 +114,7 @@ WRITE16_MEMBER(ttchamp_state::pcup_prgbank_w)
if (ACCESSING_BITS_0_7)
{
bank = (data>>4) &0x07;
- memory_set_bankptr(machine(), "bank2",&ROM1[0x80000*(bank)]);
+ subbank("bank2")->set_base(&ROM1[0x80000*(bank)]);
}
}
#endif
@@ -338,8 +338,8 @@ ROM_END
static DRIVER_INIT (ttchamp)
{
UINT8 *ROM1 = machine.region("user1")->base();
- memory_set_bankptr(machine, "bank1",&ROM1[0x120000]);
- memory_set_bankptr(machine, "bank2",&ROM1[0x180000]);
+ machine.root_device().subbank("bank1")->set_base(&ROM1[0x120000]);
+ machine.root_device().subbank("bank2")->set_base(&ROM1[0x180000]);
}
GAME( 199?, ttchamp, 0, ttchamp, ttchamp, ttchamp, ROT0, "Gamart?", "Table Tennis Champions (set 1)", GAME_NOT_WORKING|GAME_NO_SOUND )
diff --git a/src/mame/drivers/tumbleb.c b/src/mame/drivers/tumbleb.c
index 95e9070b2a8..435b431af01 100644
--- a/src/mame/drivers/tumbleb.c
+++ b/src/mame/drivers/tumbleb.c
@@ -808,7 +808,7 @@ ADDRESS_MAP_END
WRITE8_MEMBER(tumbleb_state::jumppop_z80_bank_w)
{
- memory_set_bankptr(machine(), "bank1", machine().region("audiocpu")->base() + 0x10000 + (0x4000 * data));
+ subbank("bank1")->set_base(machine().region("audiocpu")->base() + 0x10000 + (0x4000 * data));
}
static ADDRESS_MAP_START( jumppop_sound_map, AS_PROGRAM, 8, tumbleb_state )
diff --git a/src/mame/drivers/tutankhm.c b/src/mame/drivers/tutankhm.c
index cc930edab25..b0fa22cd315 100644
--- a/src/mame/drivers/tutankhm.c
+++ b/src/mame/drivers/tutankhm.c
@@ -89,7 +89,7 @@ WRITE8_MEMBER(tutankhm_state::irq_enable_w)
WRITE8_MEMBER(tutankhm_state::tutankhm_bankselect_w)
{
- memory_set_bank(machine(), "bank1", data & 0x0f);
+ subbank("bank1")->set_entry(data & 0x0f);
}
@@ -198,7 +198,7 @@ static MACHINE_START( tutankhm )
{
tutankhm_state *state = machine.driver_data<tutankhm_state>();
- memory_configure_bank(machine, "bank1", 0, 16, machine.region("maincpu")->base() + 0x10000, 0x1000);
+ state->subbank("bank1")->configure_entries(0, 16, machine.region("maincpu")->base() + 0x10000, 0x1000);
state->m_maincpu = machine.device<cpu_device>("maincpu");
diff --git a/src/mame/drivers/upscope.c b/src/mame/drivers/upscope.c
index d5137078ff5..6309aeb3d49 100644
--- a/src/mame/drivers/upscope.c
+++ b/src/mame/drivers/upscope.c
@@ -87,7 +87,7 @@ static void upscope_reset(running_machine &machine)
static WRITE8_DEVICE_HANDLER( upscope_cia_0_porta_w )
{
/* switch banks as appropriate */
- memory_set_bank(device->machine(), "bank1", data & 1);
+ device->machine().root_device().subbank("bank1")->set_entry(data & 1);
/* swap the write handlers between ROM and bank 1 based on the bit */
if ((data & 1) == 0)
@@ -404,8 +404,8 @@ static DRIVER_INIT( upscope )
machine.device<nvram_device>("nvram")->set_base(state->m_nvram, sizeof(state->m_nvram));
/* set up memory */
- memory_configure_bank(machine, "bank1", 0, 1, state->m_chip_ram, 0);
- memory_configure_bank(machine, "bank1", 1, 1, machine.region("user1")->base(), 0);
+ state->subbank("bank1")->configure_entry(0, state->m_chip_ram);
+ state->subbank("bank1")->configure_entry(1, machine.region("user1")->base());
}
diff --git a/src/mame/drivers/usgames.c b/src/mame/drivers/usgames.c
index ef2b52d77ea..a45ff24e68b 100644
--- a/src/mame/drivers/usgames.c
+++ b/src/mame/drivers/usgames.c
@@ -38,7 +38,7 @@ WRITE8_MEMBER(usgames_state::usgames_rombank_w)
// logerror ("BANK WRITE? -%02x-\n",data);
//popmessage("%02x",data);
- memory_set_bankptr(machine(), "bank1",&RAM[ 0x10000 + 0x4000 * data] );
+ subbank("bank1")->set_base(&RAM[ 0x10000 + 0x4000 * data] );
}
WRITE8_MEMBER(usgames_state::lamps1_w)
diff --git a/src/mame/drivers/vball.c b/src/mame/drivers/vball.c
index c42949876ed..a126fffe323 100644
--- a/src/mame/drivers/vball.c
+++ b/src/mame/drivers/vball.c
@@ -158,7 +158,7 @@ WRITE8_MEMBER(vball_state::vball_irq_ack_w)
WRITE8_MEMBER(vball_state::vb_bankswitch_w)
{
UINT8 *RAM = machine().region("maincpu")->base();
- memory_set_bankptr(machine(), "bank1", &RAM[0x10000 + (0x4000 * (data & 1))]);
+ subbank("bank1")->set_base(&RAM[0x10000 + (0x4000 * (data & 1))]);
if (m_gfxset != ((data & 0x20) ^ 0x20))
{
diff --git a/src/mame/drivers/vendetta.c b/src/mame/drivers/vendetta.c
index 465aa0ffdd1..687f7d772b8 100644
--- a/src/mame/drivers/vendetta.c
+++ b/src/mame/drivers/vendetta.c
@@ -171,7 +171,7 @@ static void vendetta_video_banking( running_machine &machine, int select )
space->install_read_bank(state->m_video_banking_base + 0x2000, state->m_video_banking_base + 0x2fff, "bank4" );
space->install_write_handler(state->m_video_banking_base + 0x2000, state->m_video_banking_base + 0x2fff, write8_delegate(FUNC(vendetta_state::paletteram_xBBBBBGGGGGRRRRR_byte_be_w), state) );
space->install_legacy_readwrite_handler(*state->m_k053246, state->m_video_banking_base + 0x0000, state->m_video_banking_base + 0x0fff, FUNC(k053247_r), FUNC(k053247_w) );
- memory_set_bankptr(machine, "bank4", state->m_generic_paletteram_8);
+ state->subbank("bank4")->set_base(state->m_generic_paletteram_8);
}
else
{
@@ -461,8 +461,8 @@ static MACHINE_START( vendetta )
vendetta_state *state = machine.driver_data<vendetta_state>();
UINT8 *ROM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 28, &ROM[0x10000], 0x2000);
- memory_set_bank(machine, "bank1", 0);
+ state->subbank("bank1")->configure_entries(0, 28, &ROM[0x10000], 0x2000);
+ state->subbank("bank1")->set_entry(0);
state->m_generic_paletteram_8.allocate(0x1000);
@@ -786,7 +786,7 @@ static KONAMI_SETLINES_CALLBACK( vendetta_banking )
if (lines >= 0x1c)
logerror("PC = %04x : Unknown bank selected %02x\n", cpu_get_pc(device), lines);
else
- memory_set_bank(device->machine(), "bank1", lines);
+ device->machine().root_device().subbank("bank1")->set_entry(lines);
}
static DRIVER_INIT( vendetta )
diff --git a/src/mame/drivers/vigilant.c b/src/mame/drivers/vigilant.c
index 5b9d7b92dc9..82f29885b02 100644
--- a/src/mame/drivers/vigilant.c
+++ b/src/mame/drivers/vigilant.c
@@ -29,7 +29,7 @@ WRITE8_MEMBER(vigilant_state::vigilant_bank_select_w)
UINT8 *RAM = machine().region("maincpu")->base();
bankaddress = 0x10000 + (data & 0x07) * 0x4000;
- memory_set_bankptr(machine(), "bank1",&RAM[bankaddress]);
+ subbank("bank1")->set_base(&RAM[bankaddress]);
}
/***************************************************************************
diff --git a/src/mame/drivers/voyager.c b/src/mame/drivers/voyager.c
index a0a8696d972..aa2913d473e 100644
--- a/src/mame/drivers/voyager.c
+++ b/src/mame/drivers/voyager.c
@@ -234,7 +234,7 @@ static void mxtc_config_w(device_t *busdevice, device_t *device, int function, i
//if (data & 0x10) // enable RAM access to region 0xf0000 - 0xfffff
if ((data & 0x50) | (data & 0xA0))
{
- memory_set_bankptr(busdevice->machine(), "bank1", state->m_bios_ram);
+ state->subbank("bank1")->set_base(state->m_bios_ram);
}
else // disable RAM access (reads go to BIOS ROM)
{
@@ -247,8 +247,8 @@ static void mxtc_config_w(device_t *busdevice, device_t *device, int function, i
}
#endif
- //memory_set_bankptr(busdevice->machine(), "bank1", busdevice->machine().region("bios")->base() + 0x10000);
- memory_set_bankptr(busdevice->machine(), "bank1", busdevice->machine().region("bios")->base());
+ state->subbank("bank1")->set_base(busdevice->machine().region("bios")->base() + 0x10000);
+ state->subbank("bank1")->set_base(busdevice->machine().region("bios")->base());
}
break;
}
@@ -720,8 +720,8 @@ static const struct pit8253_config voyager_pit8254_config =
static MACHINE_RESET(voyager)
{
- //memory_set_bankptr(machine, "bank1", machine.region("bios")->base() + 0x10000);
- memory_set_bankptr(machine, "bank1", machine.region("bios")->base());
+ //machine.root_device().subbank("bank1")->set_base(machine.region("bios")->base() + 0x10000);
+ machine.root_device().subbank("bank1")->set_base(machine.region("bios")->base());
}
static void set_gate_a20(running_machine &machine, int a20)
diff --git a/src/mame/drivers/wardner.c b/src/mame/drivers/wardner.c
index 664968e2ded..393be32a8fc 100644
--- a/src/mame/drivers/wardner.c
+++ b/src/mame/drivers/wardner.c
@@ -171,7 +171,7 @@ WRITE8_MEMBER(wardner_state::wardner_ramrom_bank_sw)
case 6: bankaddress = 0x30000; break; /* not used */
default: bankaddress = 0x00000; break; /* not used */
}
- memory_set_bankptr(machine(), "bank1",&RAM[bankaddress]);
+ subbank("bank1")->set_base(&RAM[bankaddress]);
}
else
{
@@ -179,10 +179,10 @@ WRITE8_MEMBER(wardner_state::wardner_ramrom_bank_sw)
mainspace->install_read_bank(0xa000, 0xadff, "bank4");
mainspace->install_read_bank(0xae00, 0xafff, "bank2");
mainspace->install_read_bank(0xc000, 0xc7ff, "bank3");
- memory_set_bankptr(machine(), "bank1", &RAM[0x0000]);
- memory_set_bankptr(machine(), "bank2", m_rambase_ae00);
- memory_set_bankptr(machine(), "bank3", m_rambase_c000);
- memory_set_bankptr(machine(), "bank4", m_generic_paletteram_8);
+ subbank("bank1")->set_base(&RAM[0x0000]);
+ subbank("bank2")->set_base(m_rambase_ae00);
+ subbank("bank3")->set_base(m_rambase_c000);
+ subbank("bank4")->set_base(m_generic_paletteram_8);
}
}
}
diff --git a/src/mame/drivers/warriorb.c b/src/mame/drivers/warriorb.c
index 2f12c219181..5074dff8ed7 100644
--- a/src/mame/drivers/warriorb.c
+++ b/src/mame/drivers/warriorb.c
@@ -167,7 +167,7 @@ static MACHINE_RESET( taito_dualscreen );
static void reset_sound_region( running_machine &machine )
{
warriorb_state *state = machine.driver_data<warriorb_state>();
- memory_set_bank(machine, "bank10", state->m_banknum);
+ state->subbank("bank10")->set_entry(state->m_banknum);
}
WRITE8_MEMBER(warriorb_state::sound_bankswitch_w)
@@ -542,7 +542,7 @@ static MACHINE_START( warriorb )
{
warriorb_state *state = machine.driver_data<warriorb_state>();
- memory_configure_bank(machine, "bank10", 0, 8, machine.region("audiocpu")->base() + 0xc000, 0x4000);
+ state->subbank("bank10")->configure_entries(0, 8, machine.region("audiocpu")->base() + 0xc000, 0x4000);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");
diff --git a/src/mame/drivers/wc90.c b/src/mame/drivers/wc90.c
index 41cdee50212..7f93552d1f0 100644
--- a/src/mame/drivers/wc90.c
+++ b/src/mame/drivers/wc90.c
@@ -87,7 +87,7 @@ WRITE8_MEMBER(wc90_state::wc90_bankswitch_w)
bankaddress = 0x10000 + ( ( data & 0xf8 ) << 8 );
- memory_set_bankptr(machine(), "bank1", &RAM[bankaddress] );
+ subbank("bank1")->set_base(&RAM[bankaddress] );
}
WRITE8_MEMBER(wc90_state::wc90_bankswitch1_w)
@@ -97,7 +97,7 @@ WRITE8_MEMBER(wc90_state::wc90_bankswitch1_w)
bankaddress = 0x10000 + ( ( data & 0xf8 ) << 8 );
- memory_set_bankptr(machine(), "bank2", &RAM[bankaddress] );
+ subbank("bank2")->set_base(&RAM[bankaddress] );
}
WRITE8_MEMBER(wc90_state::wc90_sound_command_w)
diff --git a/src/mame/drivers/wc90b.c b/src/mame/drivers/wc90b.c
index 00294bb69e2..0d8007f787c 100644
--- a/src/mame/drivers/wc90b.c
+++ b/src/mame/drivers/wc90b.c
@@ -102,7 +102,7 @@ WRITE8_MEMBER(wc90b_state::wc90b_bankswitch_w)
UINT8 *ROM = machine().region("maincpu")->base();
bankaddress = 0x10000 + ((data & 0xf8) << 8);
- memory_set_bankptr(machine(), "bank1",&ROM[bankaddress]);
+ subbank("bank1")->set_base(&ROM[bankaddress]);
}
WRITE8_MEMBER(wc90b_state::wc90b_bankswitch1_w)
@@ -111,7 +111,7 @@ WRITE8_MEMBER(wc90b_state::wc90b_bankswitch1_w)
UINT8 *ROM = machine().region("sub")->base();
bankaddress = 0x10000 + ((data & 0xf8) << 8);
- memory_set_bankptr(machine(), "bank2",&ROM[bankaddress]);
+ subbank("bank2")->set_base(&ROM[bankaddress]);
}
WRITE8_MEMBER(wc90b_state::wc90b_sound_command_w)
@@ -127,7 +127,7 @@ static WRITE8_DEVICE_HANDLER( adpcm_control_w )
/* the code writes either 2 or 3 in the bottom two bits */
bankaddress = 0x10000 + (data & 0x01) * 0x4000;
- memory_set_bankptr(device->machine(), "bank3",&ROM[bankaddress]);
+ device->machine().root_device().subbank("bank3")->set_base(&ROM[bankaddress]);
msm5205_reset_w(device,data & 0x08);
}
diff --git a/src/mame/drivers/welltris.c b/src/mame/drivers/welltris.c
index 36d177db58b..219edf36c45 100644
--- a/src/mame/drivers/welltris.c
+++ b/src/mame/drivers/welltris.c
@@ -324,7 +324,7 @@ WRITE8_MEMBER(welltris_state::welltris_sh_bankswitch_w)
{
UINT8 *rom = machine().region("audiocpu")->base() + 0x10000;
- memory_set_bankptr(machine(), "bank1",rom + (data & 0x03) * 0x8000);
+ subbank("bank1")->set_base(rom + (data & 0x03) * 0x8000);
}
diff --git a/src/mame/drivers/wgp.c b/src/mame/drivers/wgp.c
index 0b1d6904d6b..da906f73b94 100644
--- a/src/mame/drivers/wgp.c
+++ b/src/mame/drivers/wgp.c
@@ -608,7 +608,7 @@ WRITE16_MEMBER(wgp_state::wgp_adinput_w)
static void reset_sound_region( running_machine &machine ) /* assumes Z80 sandwiched between the 68Ks */
{
wgp_state *state = machine.driver_data<wgp_state>();
- memory_set_bank(machine, "bank10", state->m_banknum);
+ state->subbank("bank10")->set_entry(state->m_banknum);
}
WRITE8_MEMBER(wgp_state::sound_bankswitch_w)
@@ -946,7 +946,7 @@ static MACHINE_START( wgp )
{
wgp_state *state = machine.driver_data<wgp_state>();
- memory_configure_bank(machine, "bank10", 0, 4, machine.region("audiocpu")->base() + 0xc000, 0x4000);
+ state->subbank("bank10")->configure_entries(0, 4, machine.region("audiocpu")->base() + 0xc000, 0x4000);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");
diff --git a/src/mame/drivers/whitestar.c b/src/mame/drivers/whitestar.c
index 08cf956c5cf..85afe5b7e78 100644
--- a/src/mame/drivers/whitestar.c
+++ b/src/mame/drivers/whitestar.c
@@ -98,12 +98,12 @@ WRITE8_MEMBER(whitestar_state::switch_w)
WRITE8_MEMBER(whitestar_state::bank_w)
{
- memory_set_bankptr(machine(), "bank1", machine().region("user1")->base() + (data & 0x1f) * 0x4000);
+ subbank("bank1")->set_base(machine().region("user1")->base() + (data & 0x1f) * 0x4000);
}
WRITE8_MEMBER(whitestar_state::dmd_bank_w)
{
- memory_set_bankptr(machine(), "dmd_bank1", machine().region("dmdcpu")->base() + (data & 0x1f) * 0x4000);
+ subbank("dmd_bank1")->set_base(machine().region("dmdcpu")->base() + (data & 0x1f) * 0x4000);
}
READ8_MEMBER(whitestar_state::dmd_latch_r)
@@ -170,8 +170,8 @@ ADDRESS_MAP_END
static MACHINE_RESET( whitestar )
{
- memory_set_bankptr(machine, "bank1", machine.region("user1")->base());
- memory_set_bankptr(machine, "dmd_bank1", machine.region("dmdcpu")->base());
+ machine.root_device().subbank("bank1")->set_base(machine.region("user1")->base());
+ machine.root_device().subbank("dmd_bank1")->set_base(machine.region("dmdcpu")->base());
}
static DRIVER_INIT( whitestar )
diff --git a/src/mame/drivers/williams.c b/src/mame/drivers/williams.c
index 39b1045d97e..954e0b1a030 100644
--- a/src/mame/drivers/williams.c
+++ b/src/mame/drivers/williams.c
@@ -534,8 +534,8 @@ void defender_install_io_space(address_space *space)
space->install_read_handler (0xc800, 0xcbff, 0, 0x03e0, read8_delegate(FUNC(williams_state::williams_video_counter_r),state));
space->install_readwrite_handler(0xcc00, 0xcc03, 0, 0x03e0, read8_delegate(FUNC(pia6821_device::read), pia_1), write8_delegate(FUNC(pia6821_device::write), pia_1));
space->install_readwrite_handler(0xcc04, 0xcc07, 0, 0x03e0, read8_delegate(FUNC(pia6821_device::read), pia_0), write8_delegate(FUNC(pia6821_device::write), pia_0));
- memory_set_bankptr(space->machine(), "bank3", space->machine().driver_data<williams_state>()->m_nvram);
- memory_set_bankptr(space->machine(), "bank4", space->machine().driver_data<williams_state>()->m_generic_paletteram_8);
+ state->subbank("bank3")->set_base(space->machine().driver_data<williams_state>()->m_nvram);
+ state->subbank("bank4")->set_base(space->machine().driver_data<williams_state>()->m_generic_paletteram_8);
}
diff --git a/src/mame/drivers/witch.c b/src/mame/drivers/witch.c
index 7a9e09a1bed..360ce0a14db 100644
--- a/src/mame/drivers/witch.c
+++ b/src/mame/drivers/witch.c
@@ -383,7 +383,7 @@ WRITE8_MEMBER(witch_state::write_a00x)
UINT8 *ROM = machine().region("maincpu")->base();
m_bank = newbank;
ROM = &ROM[0x10000+0x8000 * newbank + UNBANKED_SIZE];
- memory_set_bankptr(machine(), "bank1",ROM);
+ subbank("bank1")->set_base(ROM);
}
}
break;
@@ -871,7 +871,7 @@ static DRIVER_INIT(witch)
{
witch_state *state = machine.driver_data<witch_state>();
UINT8 *ROM = (UINT8 *)machine.region("maincpu")->base();
- memory_set_bankptr(machine, "bank1", &ROM[0x10000+UNBANKED_SIZE]);
+ state->subbank("bank1")->set_base(&ROM[0x10000+UNBANKED_SIZE]);
machine.device("sub")->memory().space(AS_PROGRAM)->install_read_handler(0x7000, 0x700f, read8_delegate(FUNC(witch_state::prot_read_700x), state));
state->m_bank = -1;
diff --git a/src/mame/drivers/xain.c b/src/mame/drivers/xain.c
index e6d64dd63e9..98772dddc68 100644
--- a/src/mame/drivers/xain.c
+++ b/src/mame/drivers/xain.c
@@ -213,12 +213,12 @@ static TIMER_DEVICE_CALLBACK( xain_scanline )
WRITE8_MEMBER(xain_state::xainCPUA_bankswitch_w)
{
m_pri = data & 0x7;
- memory_set_bank(machine(), "bank1", (data >> 3) & 1);
+ subbank("bank1")->set_entry((data >> 3) & 1);
}
WRITE8_MEMBER(xain_state::xainCPUB_bankswitch_w)
{
- memory_set_bank(machine(), "bank2", data & 1);
+ subbank("bank2")->set_entry(data & 1);
}
WRITE8_MEMBER(xain_state::xain_sound_command_w)
@@ -568,10 +568,10 @@ static const ym2203_interface ym2203_config =
static MACHINE_START( xsleena )
{
- memory_configure_bank(machine, "bank1", 0, 2, machine.region("maincpu")->base() + 0x4000, 0xc000);
- memory_configure_bank(machine, "bank2", 0, 2, machine.region("sub")->base() + 0x4000, 0xc000);
- memory_set_bank(machine, "bank1", 0);
- memory_set_bank(machine, "bank2", 0);
+ machine.root_device().subbank("bank1")->configure_entries(0, 2, machine.region("maincpu")->base() + 0x4000, 0xc000);
+ machine.root_device().subbank("bank2")->configure_entries(0, 2, machine.region("sub")->base() + 0x4000, 0xc000);
+ machine.root_device().subbank("bank1")->set_entry(0);
+ machine.root_device().subbank("bank2")->set_entry(0);
}
static MACHINE_CONFIG_START( xsleena, xain_state )
diff --git a/src/mame/drivers/xexex.c b/src/mame/drivers/xexex.c
index 1394d0b63d5..b5c72b6993a 100644
--- a/src/mame/drivers/xexex.c
+++ b/src/mame/drivers/xexex.c
@@ -237,7 +237,7 @@ READ16_MEMBER(xexex_state::sound_status_r)
static void reset_sound_region(running_machine &machine)
{
xexex_state *state = machine.driver_data<xexex_state>();
- memory_set_bank(machine, "bank2", state->m_cur_sound_region & 0x07);
+ state->subbank("bank2")->set_entry(state->m_cur_sound_region & 0x07);
}
WRITE8_MEMBER(xexex_state::sound_bankswitch_w)
@@ -458,8 +458,8 @@ static MACHINE_START( xexex )
xexex_state *state = machine.driver_data<xexex_state>();
UINT8 *ROM = machine.region("audiocpu")->base();
- memory_configure_bank(machine, "bank2", 0, 8, &ROM[0x10000], 0x4000);
- memory_set_bank(machine, "bank2", 0);
+ state->subbank("bank2")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
+ state->subbank("bank2")->set_entry(0);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");
diff --git a/src/mame/drivers/xmen.c b/src/mame/drivers/xmen.c
index 1e34fdefccb..83f8a354a43 100644
--- a/src/mame/drivers/xmen.c
+++ b/src/mame/drivers/xmen.c
@@ -97,7 +97,7 @@ WRITE16_MEMBER(xmen_state::xmen_18fa00_w)
static void sound_reset_bank( running_machine &machine )
{
xmen_state *state = machine.driver_data<xmen_state>();
- memory_set_bank(machine, "bank4", state->m_sound_curbank & 0x07);
+ state->subbank("bank4")->set_entry(state->m_sound_curbank & 0x07);
}
WRITE8_MEMBER(xmen_state::sound_bankswitch_w)
@@ -297,8 +297,8 @@ static MACHINE_START( xmen )
xmen_state *state = machine.driver_data<xmen_state>();
UINT8 *ROM = machine.region("audiocpu")->base();
- memory_configure_bank(machine, "bank4", 0, 8, &ROM[0x10000], 0x4000);
- memory_set_bank(machine, "bank4", 0);
+ state->subbank("bank4")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
+ state->subbank("bank4")->set_entry(0);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");
diff --git a/src/mame/drivers/xtom3d.c b/src/mame/drivers/xtom3d.c
index a4eb7cfc7c0..9cb855ffb6a 100644
--- a/src/mame/drivers/xtom3d.c
+++ b/src/mame/drivers/xtom3d.c
@@ -145,50 +145,50 @@ static void mxtc_config_w(device_t *busdevice, device_t *device, int function, i
case 0x59: // PAM0
{
if (data & 0x10) // enable RAM access to region 0xf0000 - 0xfffff
- memory_set_bankptr(busdevice->machine(), "bios_bank", state->m_bios_ram);
+ state->subbank("bios_bank")->set_base(state->m_bios_ram);
else // disable RAM access (reads go to BIOS ROM)
- memory_set_bankptr(busdevice->machine(), "bios_bank", busdevice->machine().region("bios")->base() + 0x10000);
+ state->subbank("bios_bank")->set_base(busdevice->machine().region("bios")->base() + 0x10000);
break;
}
case 0x5a: // PAM1
{
if (data & 0x1)
- memory_set_bankptr(busdevice->machine(), "video_bank1", state->m_isa_ram1);
+ state->subbank("video_bank1")->set_base(state->m_isa_ram1);
else
- memory_set_bankptr(busdevice->machine(), "video_bank1", busdevice->machine().region("video_bios")->base() + 0);
+ state->subbank("video_bank1")->set_base(busdevice->machine().region("video_bios")->base() + 0);
if (data & 0x10)
- memory_set_bankptr(busdevice->machine(), "video_bank2", state->m_isa_ram2);
+ state->subbank("video_bank2")->set_base(state->m_isa_ram2);
else
- memory_set_bankptr(busdevice->machine(), "video_bank2", busdevice->machine().region("video_bios")->base() + 0x4000);
+ state->subbank("video_bank2")->set_base(busdevice->machine().region("video_bios")->base() + 0x4000);
break;
}
case 0x5e: // PAM5
{
if (data & 0x1)
- memory_set_bankptr(busdevice->machine(), "bios_ext1", state->m_bios_ext1_ram);
+ state->subbank("bios_ext1")->set_base(state->m_bios_ext1_ram);
else
- memory_set_bankptr(busdevice->machine(), "bios_ext1", busdevice->machine().region("bios")->base() + 0);
+ state->subbank("bios_ext1")->set_base(busdevice->machine().region("bios")->base() + 0);
if (data & 0x10)
- memory_set_bankptr(busdevice->machine(), "bios_ext2", state->m_bios_ext2_ram);
+ state->subbank("bios_ext2")->set_base(state->m_bios_ext2_ram);
else
- memory_set_bankptr(busdevice->machine(), "bios_ext2", busdevice->machine().region("bios")->base() + 0x4000);
+ state->subbank("bios_ext2")->set_base(busdevice->machine().region("bios")->base() + 0x4000);
break;
}
case 0x5f: // PAM6
{
if (data & 0x1)
- memory_set_bankptr(busdevice->machine(), "bios_ext3", state->m_bios_ext3_ram);
+ state->subbank("bios_ext3")->set_base(state->m_bios_ext3_ram);
else
- memory_set_bankptr(busdevice->machine(), "bios_ext3", busdevice->machine().region("bios")->base() + 0x8000);
+ state->subbank("bios_ext3")->set_base(busdevice->machine().region("bios")->base() + 0x8000);
if (data & 0x10)
- memory_set_bankptr(busdevice->machine(), "bios_ext4", state->m_bios_ext4_ram);
+ state->subbank("bios_ext4")->set_base(state->m_bios_ext4_ram);
else
- memory_set_bankptr(busdevice->machine(), "bios_ext4", busdevice->machine().region("bios")->base() + 0xc000);
+ state->subbank("bios_ext4")->set_base(busdevice->machine().region("bios")->base() + 0xc000);
break;
}
@@ -666,13 +666,13 @@ static MACHINE_START( xtom3d )
static MACHINE_RESET( xtom3d )
{
- memory_set_bankptr(machine, "bios_bank", machine.region("bios")->base() + 0x10000);
- memory_set_bankptr(machine, "bios_ext1", machine.region("bios")->base() + 0);
- memory_set_bankptr(machine, "bios_ext2", machine.region("bios")->base() + 0x4000);
- memory_set_bankptr(machine, "bios_ext3", machine.region("bios")->base() + 0x8000);
- memory_set_bankptr(machine, "bios_ext4", machine.region("bios")->base() + 0xc000);
- memory_set_bankptr(machine, "video_bank1", machine.region("video_bios")->base() + 0);
- memory_set_bankptr(machine, "video_bank2", machine.region("video_bios")->base() + 0x4000);
+ machine.root_device().subbank("bios_bank")->set_base(machine.region("bios")->base() + 0x10000);
+ machine.root_device().subbank("bios_ext1")->set_base(machine.region("bios")->base() + 0);
+ machine.root_device().subbank("bios_ext2")->set_base(machine.region("bios")->base() + 0x4000);
+ machine.root_device().subbank("bios_ext3")->set_base(machine.region("bios")->base() + 0x8000);
+ machine.root_device().subbank("bios_ext4")->set_base(machine.region("bios")->base() + 0xc000);
+ machine.root_device().subbank("video_bank1")->set_base(machine.region("video_bios")->base() + 0);
+ machine.root_device().subbank("video_bank2")->set_base(machine.region("video_bios")->base() + 0x4000);
}
diff --git a/src/mame/drivers/xxmissio.c b/src/mame/drivers/xxmissio.c
index fcd3fed7ba6..2f7bc4e16cc 100644
--- a/src/mame/drivers/xxmissio.c
+++ b/src/mame/drivers/xxmissio.c
@@ -16,7 +16,7 @@ XX Mission (c) 1986 UPL
WRITE8_MEMBER(xxmissio_state::xxmissio_bank_sel_w)
{
- memory_set_bank(machine(), "bank1", data & 7);
+ subbank("bank1")->set_entry(data & 7);
}
CUSTOM_INPUT_MEMBER(xxmissio_state::xxmissio_status_r)
@@ -79,8 +79,8 @@ static INTERRUPT_GEN( xxmissio_interrupt_s )
static MACHINE_START( xxmissio )
{
- memory_configure_bank(machine, "bank1", 0, 8, machine.region("user1")->base(), 0x4000);
- memory_set_bank(machine, "bank1", 0);
+ machine.root_device().subbank("bank1")->configure_entries(0, 8, machine.region("user1")->base(), 0x4000);
+ machine.root_device().subbank("bank1")->set_entry(0);
}
/****************************************************************************/
diff --git a/src/mame/drivers/yunsung8.c b/src/mame/drivers/yunsung8.c
index 39fbfb57358..c6672cb2859 100644
--- a/src/mame/drivers/yunsung8.c
+++ b/src/mame/drivers/yunsung8.c
@@ -49,7 +49,7 @@ WRITE8_MEMBER(yunsung8_state::yunsung8_bankswitch_w)
m_layers_ctrl = data & 0x30; // Layers enable
- memory_set_bank(machine(), "bank1", data & 0x07);
+ subbank("bank1")->set_entry(data & 0x07);
if (data & ~0x37)
logerror("CPU #0 - PC %04X: Bank %02X\n", cpu_get_pc(&space.device()), data);
@@ -98,7 +98,7 @@ static WRITE8_DEVICE_HANDLER( yunsung8_sound_bankswitch_w )
{
msm5205_reset_w(device, data & 0x20);
- memory_set_bank(device->machine(), "bank2", data & 0x07);
+ device->machine().root_device().subbank("bank2")->set_entry(data & 0x07);
if (data != (data & (~0x27)))
logerror("%s: Bank %02X\n", device->machine().describe_context(), data);
@@ -472,10 +472,10 @@ static MACHINE_START( yunsung8 )
state->m_videoram_0 = state->m_videoram + 0x0000; // Ram is banked
state->m_videoram_1 = state->m_videoram + 0x2000;
- memory_configure_bank(machine, "bank1", 0, 3, &MAIN[0x00000], 0x4000);
- memory_configure_bank(machine, "bank1", 3, 5, &MAIN[0x10000], 0x4000);
- memory_configure_bank(machine, "bank2", 0, 3, &AUDIO[0x00000], 0x4000);
- memory_configure_bank(machine, "bank2", 3, 5, &AUDIO[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 3, &MAIN[0x00000], 0x4000);
+ state->subbank("bank1")->configure_entries(3, 5, &MAIN[0x10000], 0x4000);
+ state->subbank("bank2")->configure_entries(0, 3, &AUDIO[0x00000], 0x4000);
+ machine.root_device().subbank("bank2")->configure_entries(3, 5, &AUDIO[0x10000], 0x4000);
state->m_audiocpu = machine.device("audiocpu");
diff --git a/src/mame/drivers/zn.c b/src/mame/drivers/zn.c
index c8dace0e687..39c26dbf9e8 100644
--- a/src/mame/drivers/zn.c
+++ b/src/mame/drivers/zn.c
@@ -684,12 +684,12 @@ READ32_MEMBER(zn_state::capcom_kickharness_r)
WRITE32_MEMBER(zn_state::bank_coh1000c_w)
{
- memory_set_bankptr( machine(), "bank2", machine().region( "user2" )->base() + 0x400000 + ( data * 0x400000 ) );
+ subbank( "bank2" )->set_base( machine().region( "user2" )->base() + 0x400000 + ( data * 0x400000 ) );
}
WRITE8_MEMBER(zn_state::qsound_bankswitch_w)
{
- memory_set_bankptr( machine(), "bank10", machine().region( "audiocpu" )->base() + 0x10000 + ( ( data & 0x0f ) * 0x4000 ) );
+ subbank( "bank10" )->set_base( machine().region( "audiocpu" )->base() + 0x10000 + ( ( data & 0x0f ) * 0x4000 ) );
}
static INTERRUPT_GEN( qsound_interrupt )
@@ -728,9 +728,9 @@ static DRIVER_INIT( coh1000c )
static MACHINE_RESET( coh1000c )
{
- memory_set_bankptr( machine, "bank1", machine.region( "user2" )->base() ); /* fixed game rom */
- memory_set_bankptr( machine, "bank2", machine.region( "user2" )->base() + 0x400000 ); /* banked game rom */
- memory_set_bankptr( machine, "bank3", machine.region( "user3" )->base() ); /* country rom */
+ machine.root_device().subbank( "bank1" )->set_base( machine.region( "user2" )->base() ); /* fixed game rom */
+ machine.root_device().subbank( "bank2" )->set_base( machine.region( "user2" )->base() + 0x400000 ); /* banked game rom */
+ machine.root_device().subbank( "bank3" )->set_base( machine.region( "user3" )->base() ); /* country rom */
zn_machine_init(machine);
}
@@ -918,7 +918,7 @@ Notes:
WRITE32_MEMBER(zn_state::bank_coh3002c_w)
{
- memory_set_bankptr( machine(), "bank2", machine().region( "user2" )->base() + 0x400000 + ( data * 0x400000 ) );
+ subbank( "bank2" )->set_base( machine().region( "user2" )->base() + 0x400000 + ( data * 0x400000 ) );
}
static DRIVER_INIT( coh3002c )
@@ -937,9 +937,9 @@ static DRIVER_INIT( coh3002c )
static MACHINE_RESET( coh3002c )
{
- memory_set_bankptr( machine, "bank1", machine.region( "user2" )->base() ); /* fixed game rom */
- memory_set_bankptr( machine, "bank2", machine.region( "user2" )->base() + 0x400000 ); /* banked game rom */
- memory_set_bankptr( machine, "bank3", machine.region( "user3" )->base() ); /* country rom */
+ machine.root_device().subbank( "bank1" )->set_base( machine.region( "user2" )->base() ); /* fixed game rom */
+ machine.root_device().subbank( "bank2" )->set_base( machine.region( "user2" )->base() + 0x400000 ); /* banked game rom */
+ machine.root_device().subbank( "bank3" )->set_base( machine.region( "user3" )->base() ); /* country rom */
zn_machine_init(machine);
}
@@ -1180,12 +1180,12 @@ WRITE32_MEMBER(zn_state::bank_coh1000t_w)
device_t *mb3773 = machine().device("mb3773");
mb3773_set_ck(mb3773, (data & 0x20) >> 5);
verboselog( machine(), 1, "bank_coh1000t_w( %08x, %08x, %08x )\n", offset, data, mem_mask );
- memory_set_bankptr( machine(), "bank1", machine().region( "user2" )->base() + ( ( data & 3 ) * 0x800000 ) );
+ subbank( "bank1" )->set_base( machine().region( "user2" )->base() + ( ( data & 3 ) * 0x800000 ) );
}
WRITE8_MEMBER(zn_state::fx1a_sound_bankswitch_w)
{
- memory_set_bankptr( machine(), "bank10", machine().region( "audiocpu" )->base() + 0x10000 + ( ( ( data - 1 ) & 0x07 ) * 0x4000 ) );
+ subbank( "bank10" )->set_base( machine().region( "audiocpu" )->base() + 0x10000 + ( ( ( data - 1 ) & 0x07 ) * 0x4000 ) );
}
READ32_MEMBER(zn_state::taitofx1a_ymsound_r)
@@ -1225,8 +1225,8 @@ static DRIVER_INIT( coh1000ta )
static MACHINE_RESET( coh1000ta )
{
zn_state *state = machine.driver_data<zn_state>();
- memory_set_bankptr( machine, "bank1", machine.region( "user2" )->base() ); /* banked game rom */
- memory_set_bankptr( machine, "bank2", state->m_taitofx1_eeprom1 );
+ state->subbank( "bank1" )->set_base( machine.region( "user2" )->base() ); /* banked game rom */
+ state->subbank( "bank2" )->set_base( state->m_taitofx1_eeprom1 );
zn_machine_init(machine);
}
@@ -1320,9 +1320,9 @@ static MACHINE_RESET( coh1000tb )
{
zn_state *state = machine.driver_data<zn_state>();
- memory_set_bankptr( machine, "bank1", machine.region( "user2" )->base() ); /* banked game rom */
- memory_set_bankptr( machine, "bank2", state->m_taitofx1_eeprom1 );
- memory_set_bankptr( machine, "bank3", state->m_taitofx1_eeprom2 );
+ state->subbank( "bank1" )->set_base( machine.region( "user2" )->base() ); /* banked game rom */
+ state->subbank( "bank2" )->set_base( state->m_taitofx1_eeprom1 );
+ state->subbank( "bank3" )->set_base( state->m_taitofx1_eeprom2 );
zn_machine_init(machine);
}
@@ -1505,7 +1505,7 @@ static DRIVER_INIT( coh1000w )
static MACHINE_RESET( coh1000w )
{
- memory_set_bankptr( machine, "bank1", machine.region( "user2" )->base() ); /* fixed game rom */
+ machine.root_device().subbank( "bank1" )->set_base( machine.region( "user2" )->base() ); /* fixed game rom */
zn_machine_init(machine);
devtag_reset(machine, "ide");
@@ -1670,7 +1670,7 @@ WRITE32_MEMBER(zn_state::coh1002e_bank_w)
{
znsecsel_w( space, offset, data, mem_mask );
- memory_set_bankptr( machine(), "bank1", machine().region( "user2" )->base() + ( ( data & 3 ) * 0x800000 ) );
+ subbank( "bank1" )->set_base( machine().region( "user2" )->base() + ( ( data & 3 ) * 0x800000 ) );
}
WRITE32_MEMBER(zn_state::coh1002e_latch_w)
@@ -1693,7 +1693,7 @@ static DRIVER_INIT( coh1002e )
static MACHINE_RESET( coh1002e )
{
- memory_set_bankptr( machine, "bank1", machine.region( "user2" )->base() ); /* banked game rom */
+ machine.root_device().subbank( "bank1" )->set_base( machine.region( "user2" )->base() ); /* banked game rom */
zn_machine_init(machine);
}
@@ -1784,7 +1784,7 @@ WRITE32_MEMBER(zn_state::bam2_mcu_w)
{
if (ACCESSING_BITS_0_15)
{
- memory_set_bankptr( machine(), "bank2", machine().region( "user2" )->base() + ( ( data & 0xf ) * 0x400000 ) );
+ subbank( "bank2" )->set_base( machine().region( "user2" )->base() + ( ( data & 0xf ) * 0x400000 ) );
}
else if (ACCESSING_BITS_16_31)
{
@@ -1839,8 +1839,8 @@ static DRIVER_INIT( bam2 )
static MACHINE_RESET( bam2 )
{
- memory_set_bankptr( machine, "bank1", machine.region( "user2" )->base() ); /* fixed game rom */
- memory_set_bankptr( machine, "bank2", machine.region( "user2" )->base() + 0x400000 ); /* banked game rom */
+ machine.root_device().subbank( "bank1" )->set_base( machine.region( "user2" )->base() ); /* fixed game rom */
+ machine.root_device().subbank( "bank2" )->set_base( machine.region( "user2" )->base() + 0x400000 ); /* banked game rom */
zn_machine_init(machine);
}
@@ -2158,7 +2158,7 @@ static DRIVER_INIT( coh1000a )
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler ( 0x1fbfff08, 0x1fbfff0b, read32_delegate(FUNC(zn_state::nbajamex_08_r),state));
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler( 0x1fbfff80, 0x1fbfff83, read32_delegate(FUNC(zn_state::nbajamex_80_r),state), write32_delegate(FUNC(zn_state::nbajamex_80_w),state));
- memory_set_bankptr( machine, "bank2", state->m_nbajamex_eeprom ); /* ram/eeprom/?? */
+ state->subbank( "bank2" )->set_base( state->m_nbajamex_eeprom ); /* ram/eeprom/?? */
}
if( ( !strcmp( machine.system().name, "jdredd" ) ) ||
@@ -2176,7 +2176,7 @@ static DRIVER_INIT( coh1000a )
static MACHINE_RESET( coh1000a )
{
- memory_set_bankptr( machine, "bank1", machine.region( "user2" )->base() ); /* fixed game rom */
+ machine.root_device().subbank( "bank1" )->set_base( machine.region( "user2" )->base() ); /* fixed game rom */
zn_machine_init(machine);
if( ( !strcmp( machine.system().name, "jdredd" ) ) ||
( !strcmp( machine.system().name, "jdreddb" ) ) )
@@ -2318,7 +2318,7 @@ Notes:
WRITE32_MEMBER(zn_state::coh1001l_bnk_w)
{
- memory_set_bankptr( machine(), "bank1", machine().region( "user2" )->base() + ( ( ( data >> 16 ) & 3 ) * 0x800000 ) );
+ subbank( "bank1" )->set_base( machine().region( "user2" )->base() + ( ( ( data >> 16 ) & 3 ) * 0x800000 ) );
}
static DRIVER_INIT( coh1001l )
@@ -2332,7 +2332,7 @@ static DRIVER_INIT( coh1001l )
static MACHINE_RESET( coh1001l )
{
- memory_set_bankptr( machine, "bank1", machine.region( "user2" )->base() ); /* banked rom */
+ machine.root_device().subbank( "bank1" )->set_base( machine.region( "user2" )->base() ); /* banked rom */
zn_machine_init(machine);
}
@@ -2361,7 +2361,7 @@ Key: Mother KN01
WRITE32_MEMBER(zn_state::coh1002v_bnk_w)
{
- memory_set_bankptr( machine(), "bank2", machine().region( "user3" )->base() + ( data * 0x100000 ) );
+ subbank( "bank2" )->set_base( machine().region( "user3" )->base() + ( data * 0x100000 ) );
}
static DRIVER_INIT( coh1002v )
@@ -2376,8 +2376,8 @@ static DRIVER_INIT( coh1002v )
static MACHINE_RESET( coh1002v )
{
- memory_set_bankptr( machine, "bank1", machine.region( "user2" )->base() ); /* fixed game rom */
- memory_set_bankptr( machine, "bank2", machine.region( "user3" )->base() ); /* banked rom */
+ machine.root_device().subbank( "bank1" )->set_base( machine.region( "user2" )->base() ); /* fixed game rom */
+ machine.root_device().subbank( "bank2" )->set_base( machine.region( "user3" )->base() ); /* banked rom */
zn_machine_init(machine);
}
@@ -2546,7 +2546,7 @@ Notes:
WRITE32_MEMBER(zn_state::coh1002m_bank_w)
{
verboselog( machine(), 1, "coh1002m_bank_w( %08x, %08x, %08x )\n", offset, data, mem_mask );
- memory_set_bankptr( machine(), "bank1", machine().region( "user2" )->base() + ((data>>16) * 0x800000) );
+ subbank( "bank1" )->set_base( machine().region( "user2" )->base() + ((data>>16) * 0x800000) );
}
READ32_MEMBER(zn_state::cbaj_z80_r)
@@ -2580,7 +2580,7 @@ static DRIVER_INIT( coh1002m )
static MACHINE_RESET( coh1002m )
{
- memory_set_bankptr( machine, "bank1", machine.region( "user2" )->base() );
+ machine.root_device().subbank( "bank1" )->set_base( machine.region( "user2" )->base() );
zn_machine_init(machine);
}
diff --git a/src/mame/machine/3do.c b/src/mame/machine/3do.c
index 188fec67ecf..11f951e2507 100644
--- a/src/mame/machine/3do.c
+++ b/src/mame/machine/3do.c
@@ -121,7 +121,7 @@ WRITE32_MEMBER(_3do_state::_3do_slow2_w)
case 0: /* Boot ROM writes 03180000 here and then starts reading some things */
{
/* disable ROM overlay */
- memory_set_bank(machine(), "bank1", 0);
+ subbank("bank1")->set_entry(0);
}
m_slow2.cg_input = m_slow2.cg_input << 1 | ( data & 0x00000001 );
m_slow2.cg_w_count ++;
diff --git a/src/mame/machine/acitya.c b/src/mame/machine/acitya.c
index a310ad1562f..7d22fa8a309 100644
--- a/src/mame/machine/acitya.c
+++ b/src/mame/machine/acitya.c
@@ -168,10 +168,10 @@ READ8_HANDLER( acitya_decrypt_rom )
switch(state->m_counter)
{
- case 0x08: memory_set_bank (space->machine(), "bank1", 0); break;
- case 0x09: memory_set_bank (space->machine(), "bank1", 1); break;
- case 0x0A: memory_set_bank (space->machine(), "bank1", 2); break;
- case 0x0B: memory_set_bank (space->machine(), "bank1", 3); break;
+ case 0x08: state->subbank ("bank1")->set_entry (0); break;
+ case 0x09: state->subbank ("bank1")->set_entry (1); break;
+ case 0x0A: state->subbank ("bank1")->set_entry (2); break;
+ case 0x0B: state->subbank ("bank1")->set_entry (3); break;
default:
logerror("Invalid counter = %02X\n",state->m_counter);
break;
@@ -194,7 +194,7 @@ MACHINE_START( acitya )
acitya_decrypt_rom_A(machine);
acitya_decrypt_rom_B(machine);
- memory_configure_bank(machine, "bank1", 0, 4, &RAM[0x10000], 0x4000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 4, &RAM[0x10000], 0x4000);
state_save_register_global(machine, state->m_counter);
}
@@ -205,5 +205,5 @@ MACHINE_RESET( acitya )
pacman_state *state = machine.driver_data<pacman_state>();
/* The initial state of the counter is 0x0B */
state->m_counter = 0x0B;
- memory_set_bank(machine, "bank1", 3);
+ state->subbank("bank1")->set_entry(3);
}
diff --git a/src/mame/machine/ajax.c b/src/mame/machine/ajax.c
index 2702b480a41..182fc7ad6e7 100644
--- a/src/mame/machine/ajax.c
+++ b/src/mame/machine/ajax.c
@@ -48,7 +48,7 @@ WRITE8_MEMBER(ajax_state::ajax_bankswitch_w)
/* bank # (ROMS N11 and N12) */
bank += (data & 0x07);
- memory_set_bank(machine(), "bank2", bank);
+ subbank("bank2")->set_entry(bank);
}
/* ajax_lamps_w:
@@ -191,7 +191,7 @@ WRITE8_MEMBER(ajax_state::ajax_bankswitch_2_w)
m_firq_enable = data & 0x10;
/* bank # (ROMS G16 and I16) */
- memory_set_bank(machine(), "bank1", data & 0x0f);
+ subbank("bank1")->set_entry(data & 0x0f);
}
MACHINE_START( ajax )
@@ -200,11 +200,11 @@ MACHINE_START( ajax )
UINT8 *MAIN = machine.region("maincpu")->base();
UINT8 *SUB = machine.region("sub")->base();
- memory_configure_bank(machine, "bank1", 0, 9, &SUB[0x10000], 0x2000);
- memory_configure_bank(machine, "bank2", 0, 12, &MAIN[0x10000], 0x2000);
+ state->subbank("bank1")->configure_entries(0, 9, &SUB[0x10000], 0x2000);
+ state->subbank("bank2")->configure_entries(0, 12, &MAIN[0x10000], 0x2000);
- memory_set_bank(machine, "bank1", 0);
- memory_set_bank(machine, "bank2", 0);
+ state->subbank("bank1")->set_entry(0);
+ state->subbank("bank2")->set_entry(0);
state->m_maincpu = machine.device("maincpu");
state->m_audiocpu = machine.device("audiocpu");
diff --git a/src/mame/machine/asteroid.c b/src/mame/machine/asteroid.c
index aa6b46ff66d..ec8d19ea251 100644
--- a/src/mame/machine/asteroid.c
+++ b/src/mame/machine/asteroid.c
@@ -96,13 +96,13 @@ WRITE8_MEMBER(asteroid_state::asteroid_bank_switch_w)
{
if (data & 4)
{
- memory_set_bankptr(machine(), "bank1", m_ram2);
- memory_set_bankptr(machine(), "bank2", m_ram1);
+ subbank("bank1")->set_base(m_ram2);
+ subbank("bank2")->set_base(m_ram1);
}
else
{
- memory_set_bankptr(machine(), "bank1", m_ram1);
- memory_set_bankptr(machine(), "bank2", m_ram2);
+ subbank("bank1")->set_base(m_ram1);
+ subbank("bank2")->set_base(m_ram2);
}
set_led_status (machine(), 0, ~data & 0x02);
@@ -114,13 +114,13 @@ WRITE8_MEMBER(asteroid_state::astdelux_bank_switch_w)
{
if (data & 0x80)
{
- memory_set_bankptr(machine(), "bank1", m_ram2);
- memory_set_bankptr(machine(), "bank2", m_ram1);
+ subbank("bank1")->set_base(m_ram2);
+ subbank("bank2")->set_base(m_ram1);
}
else
{
- memory_set_bankptr(machine(), "bank1", m_ram1);
- memory_set_bankptr(machine(), "bank2", m_ram2);
+ subbank("bank1")->set_base(m_ram1);
+ subbank("bank2")->set_base(m_ram2);
}
}
diff --git a/src/mame/machine/atari.c b/src/mame/machine/atari.c
index 7e02c0011c3..f913d3412a3 100644
--- a/src/mame/machine/atari.c
+++ b/src/mame/machine/atari.c
@@ -112,7 +112,7 @@ void a600xl_mmu(running_machine &machine, UINT8 new_mmu)
logerror("%s MMU SELFTEST ROM\n", machine.system().name);
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x5000, 0x57ff, "bank2");
machine.device("maincpu")->memory().space(AS_PROGRAM)->unmap_write(0x5000, 0x57ff);
- memory_set_bankptr(machine, "bank2", machine.region("maincpu")->base() + 0x5000);
+ machine.root_device().subbank("bank2")->set_base(machine.region("maincpu")->base() + 0x5000);
}
}
diff --git a/src/mame/machine/balsente.c b/src/mame/machine/balsente.c
index 186f2ceae41..f69d3e8c44f 100644
--- a/src/mame/machine/balsente.c
+++ b/src/mame/machine/balsente.c
@@ -173,10 +173,10 @@ MACHINE_RESET( balsente )
/* point the banks to bank 0 */
numbanks = (machine.region("maincpu")->bytes() > 0x40000) ? 16 : 8;
- memory_configure_bank(machine, "bank1", 0, numbanks, &machine.region("maincpu")->base()[0x10000], 0x6000);
- memory_configure_bank(machine, "bank2", 0, numbanks, &machine.region("maincpu")->base()[0x12000], 0x6000);
- memory_set_bank(space->machine(), "bank1", 0);
- memory_set_bank(space->machine(), "bank2", 0);
+ state->subbank("bank1")->configure_entries(0, numbanks, &machine.region("maincpu")->base()[0x10000], 0x6000);
+ state->subbank("bank2")->configure_entries(0, numbanks, &machine.region("maincpu")->base()[0x12000], 0x6000);
+ state->subbank("bank1")->set_entry(0);
+ state->subbank("bank2")->set_entry(0);
machine.device("maincpu")->reset();
/* start a timer to generate interrupts */
@@ -280,8 +280,8 @@ READ8_MEMBER(balsente_state::balsente_random_num_r)
WRITE8_MEMBER(balsente_state::balsente_rombank_select_w)
{
/* the bank number comes from bits 4-6 */
- memory_set_bank(machine(), "bank1", (data >> 4) & 7);
- memory_set_bank(machine(), "bank2", (data >> 4) & 7);
+ subbank("bank1")->set_entry((data >> 4) & 7);
+ subbank("bank2")->set_entry((data >> 4) & 7);
}
@@ -296,15 +296,15 @@ WRITE8_MEMBER(balsente_state::balsente_rombank2_select_w)
/* when they set the AB bank, it appears as though the CD bank is reset */
if (data & 0x20)
{
- memory_set_bank(machine(), "bank1", bank);
- memory_set_bank(machine(), "bank2", 6);
+ subbank("bank1")->set_entry(bank);
+ subbank("bank2")->set_entry(6);
}
/* set both banks */
else
{
- memory_set_bank(machine(), "bank1", bank);
- memory_set_bank(machine(), "bank2", bank);
+ subbank("bank1")->set_entry(bank);
+ subbank("bank2")->set_entry(bank);
}
}
diff --git a/src/mame/machine/bublbobl.c b/src/mame/machine/bublbobl.c
index 9c7df8e198c..040e7e538cf 100644
--- a/src/mame/machine/bublbobl.c
+++ b/src/mame/machine/bublbobl.c
@@ -16,7 +16,7 @@ WRITE8_MEMBER(bublbobl_state::bublbobl_bankswitch_w)
{
/* bits 0-2 select ROM bank */
- memory_set_bank(machine(), "bank1", (data ^ 4) & 7);
+ subbank("bank1")->set_entry((data ^ 4) & 7);
/* bit 3 n.c. */
@@ -37,7 +37,7 @@ WRITE8_MEMBER(bublbobl_state::bublbobl_bankswitch_w)
WRITE8_MEMBER(bublbobl_state::tokio_bankswitch_w)
{
/* bits 0-2 select ROM bank */
- memory_set_bank(machine(), "bank1", data & 7);
+ subbank("bank1")->set_entry(data & 7);
/* bits 3-7 unknown */
}
diff --git a/src/mame/machine/decocass.c b/src/mame/machine/decocass.c
index 10899baebed..70f6c224014 100644
--- a/src/mame/machine/decocass.c
+++ b/src/mame/machine/decocass.c
@@ -1288,7 +1288,7 @@ WRITE8_HANDLER( decocass_e900_w )
{
decocass_state *state = space->machine().driver_data<decocass_state>();
state->m_de0091_enable = data & 1;
- memory_set_bank(space->machine(), "bank1", data & 1);
+ state->subbank("bank1")->set_entry(data & 1);
/* Perhaps the second row of ROMs is enabled by another bit.
* There is no way to verify this yet, so for now just look
* at bit 0 to enable the daughter board at reads between
diff --git a/src/mame/machine/galaxold.c b/src/mame/machine/galaxold.c
index b579ed2ef31..2017755121e 100644
--- a/src/mame/machine/galaxold.c
+++ b/src/mame/machine/galaxold.c
@@ -154,23 +154,23 @@ WRITE8_MEMBER(galaxold_state::zigzag_sillyprotection_w)
if (data)
{
/* swap ROM 2 and 3! */
- memory_set_bank(machine(), "bank1", 1);
- memory_set_bank(machine(), "bank2", 0);
+ subbank("bank1")->set_entry(1);
+ subbank("bank2")->set_entry(0);
}
else
{
- memory_set_bank(machine(), "bank1", 0);
- memory_set_bank(machine(), "bank2", 1);
+ subbank("bank1")->set_entry(0);
+ subbank("bank2")->set_entry(1);
}
}
DRIVER_INIT( zigzag )
{
UINT8 *RAM = machine.region("maincpu")->base();
- memory_configure_bank(machine, "bank1", 0, 2, &RAM[0x2000], 0x1000);
- memory_configure_bank(machine, "bank2", 0, 2, &RAM[0x2000], 0x1000);
- memory_set_bank(machine, "bank1", 0);
- memory_set_bank(machine, "bank2", 1);
+ machine.root_device().subbank("bank1")->configure_entries(0, 2, &RAM[0x2000], 0x1000);
+ machine.root_device().subbank("bank2")->configure_entries(0, 2, &RAM[0x2000], 0x1000);
+ machine.root_device().subbank("bank1")->set_entry(0);
+ machine.root_device().subbank("bank2")->set_entry(1);
}
@@ -251,7 +251,7 @@ WRITE8_MEMBER(galaxold_state::_4in1_bank_w)
{
m__4in1_bank = data & 0x03;
galaxold_gfxbank_w(space, 0, m__4in1_bank);
- memory_set_bank(machine(), "bank1", m__4in1_bank);
+ subbank("bank1")->set_entry(m__4in1_bank);
}
CUSTOM_INPUT_MEMBER(galaxold_state::_4in1_fake_port_r)
@@ -407,7 +407,7 @@ DRIVER_INIT( 4in1 )
RAM[i] = RAM[i] ^ (i & 0xff);
/* games are banked at 0x0000 - 0x3fff */
- memory_configure_bank(machine, "bank1", 0, 4, &RAM[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 4, &RAM[0x10000], 0x4000);
state->_4in1_bank_w(*space, 0, 0); /* set the initial CPU bank */
diff --git a/src/mame/machine/irobot.c b/src/mame/machine/irobot.c
index eeb26770e26..b4b1b51a9a1 100644
--- a/src/mame/machine/irobot.c
+++ b/src/mame/machine/irobot.c
@@ -107,13 +107,13 @@ WRITE8_MEMBER(irobot_state::irobot_out0_w)
switch (data & 0x60)
{
case 0:
- memory_set_bankptr(machine(), "bank2", &RAM[0x1C000]);
+ subbank("bank2")->set_base(&RAM[0x1C000]);
break;
case 0x20:
- memory_set_bankptr(machine(), "bank2", &RAM[0x1C800]);
+ subbank("bank2")->set_base(&RAM[0x1C800]);
break;
case 0x40:
- memory_set_bankptr(machine(), "bank2", &RAM[0x1D000]);
+ subbank("bank2")->set_base(&RAM[0x1D000]);
break;
}
m_outx = (data & 0x18) >> 3;
@@ -128,22 +128,22 @@ WRITE8_MEMBER(irobot_state::irobot_rom_banksel_w)
switch ((data & 0x0E) >> 1)
{
case 0:
- memory_set_bankptr(machine(), "bank1", &RAM[0x10000]);
+ subbank("bank1")->set_base(&RAM[0x10000]);
break;
case 1:
- memory_set_bankptr(machine(), "bank1", &RAM[0x12000]);
+ subbank("bank1")->set_base(&RAM[0x12000]);
break;
case 2:
- memory_set_bankptr(machine(), "bank1", &RAM[0x14000]);
+ subbank("bank1")->set_base(&RAM[0x14000]);
break;
case 3:
- memory_set_bankptr(machine(), "bank1", &RAM[0x16000]);
+ subbank("bank1")->set_base(&RAM[0x16000]);
break;
case 4:
- memory_set_bankptr(machine(), "bank1", &RAM[0x18000]);
+ subbank("bank1")->set_base(&RAM[0x18000]);
break;
case 5:
- memory_set_bankptr(machine(), "bank1", &RAM[0x1A000]);
+ subbank("bank1")->set_base(&RAM[0x1A000]);
break;
}
set_led_status(machine(), 0,data & 0x10);
diff --git a/src/mame/machine/kabuki.c b/src/mame/machine/kabuki.c
index 1f54be88f95..8f3ab8183cd 100644
--- a/src/mame/machine/kabuki.c
+++ b/src/mame/machine/kabuki.c
@@ -175,7 +175,7 @@ static void mitchell_decode(running_machine &machine, int swap_key1,int swap_key
for (i = 0; i < numbanks; i++)
kabuki_decode(rom+i*0x4000,decrypt+i*0x4000,rom+i*0x4000,0x8000,0x4000, swap_key1,swap_key2,addr_key,xor_key);
- memory_configure_bank_decrypted(machine, "bank1", 0, numbanks, decrypt, 0x4000);
+ machine.root_device().subbank("bank1")->configure_decrypted_entries(0, numbanks, decrypt, 0x4000);
/*
{
FILE *f;
diff --git a/src/mame/machine/konppc.c b/src/mame/machine/konppc.c
index 19b1a1b0c70..6e8d0e18272 100644
--- a/src/mame/machine/konppc.c
+++ b/src/mame/machine/konppc.c
@@ -118,7 +118,7 @@ void set_cgboard_texture_bank(running_machine &machine, int board, const char *b
{
texture_bank[board] = bank;
- memory_configure_bank(machine, bank, 0, 2, rom, 0x800000);
+ machine.root_device().subbank(bank)->configure_entries(0, 2, rom, 0x800000);
}
/*****************************************************************************/
@@ -254,7 +254,7 @@ static void dsp_comm_sharc_w(address_space *space, int board, int offset, UINT32
{
int offset = (data & 0x08) ? 1 : 0;
- memory_set_bank(space->machine(), texture_bank[board], offset);
+ space->machine().root_device().subbank(texture_bank[board])->set_entry(offset);
}
}
break;
@@ -268,7 +268,7 @@ static void dsp_comm_sharc_w(address_space *space, int board, int offset, UINT32
{
int offset = (data & 0x08) ? 1 : 0;
- memory_set_bank(space->machine(), texture_bank[board], offset);
+ space->machine().root_device().subbank(texture_bank[board])->set_entry(offset);
}
}
break;
diff --git a/src/mame/machine/leland.c b/src/mame/machine/leland.c
index 21fe4a71afe..1ea6c94ae38 100644
--- a/src/mame/machine/leland.c
+++ b/src/mame/machine/leland.c
@@ -362,7 +362,7 @@ MACHINE_RESET( leland )
state->m_slave_length = machine.region("slave")->bytes();
state->m_slave_base = machine.region("slave")->base();
if (state->m_slave_length > 0x10000)
- memory_set_bankptr(machine, "bank3", &state->m_slave_base[0x10000]);
+ state->subbank("bank3")->set_base(&state->m_slave_base[0x10000]);
}
@@ -408,7 +408,7 @@ MACHINE_RESET( ataxx )
state->m_slave_length = machine.region("slave")->bytes();
state->m_slave_base = machine.region("slave")->base();
if (state->m_slave_length > 0x10000)
- memory_set_bankptr(machine, "bank3", &state->m_slave_base[0x10000]);
+ state->subbank("bank3")->set_base(&state->m_slave_base[0x10000]);
}
@@ -494,10 +494,10 @@ void mayhem_bankswitch(running_machine &machine)
state->m_battery_ram_enable = ((state->m_sound_port_bank & 0x24) == 0);
address = (!(state->m_sound_port_bank & 0x04)) ? &state->m_master_base[0x10000] : &state->m_master_base[0x1c000];
- memory_set_bankptr(machine, "bank1", address);
+ state->subbank("bank1")->set_base(address);
address = state->m_battery_ram_enable ? state->m_battery_ram : &address[0x8000];
- memory_set_bankptr(machine, "bank2", address);
+ state->subbank("bank2")->set_base(address);
}
@@ -510,10 +510,10 @@ void dangerz_bankswitch(running_machine &machine)
state->m_battery_ram_enable = ((state->m_top_board_bank & 0x80) != 0);
address = (!(state->m_alternate_bank & 1)) ? &state->m_master_base[0x02000] : &state->m_master_base[0x12000];
- memory_set_bankptr(machine, "bank1", address);
+ state->subbank("bank1")->set_base(address);
address = state->m_battery_ram_enable ? state->m_battery_ram : &address[0x8000];
- memory_set_bankptr(machine, "bank2", address);
+ state->subbank("bank2")->set_base(address);
}
@@ -529,10 +529,10 @@ void basebal2_bankswitch(running_machine &machine)
address = (!(state->m_sound_port_bank & 0x04)) ? &state->m_master_base[0x10000] : &state->m_master_base[0x1c000];
else
address = (!(state->m_top_board_bank & 0x40)) ? &state->m_master_base[0x28000] : &state->m_master_base[0x30000];
- memory_set_bankptr(machine, "bank1", address);
+ state->subbank("bank1")->set_base(address);
address = state->m_battery_ram_enable ? state->m_battery_ram : &address[0x8000];
- memory_set_bankptr(machine, "bank2", address);
+ state->subbank("bank2")->set_base(address);
}
@@ -546,10 +546,10 @@ void redline_bankswitch(running_machine &machine)
state->m_battery_ram_enable = ((state->m_alternate_bank & 3) == 1);
address = &state->m_master_base[bank_list[state->m_alternate_bank & 3]];
- memory_set_bankptr(machine, "bank1", address);
+ state->subbank("bank1")->set_base(address);
address = state->m_battery_ram_enable ? state->m_battery_ram : &state->m_master_base[0xa000];
- memory_set_bankptr(machine, "bank2", address);
+ state->subbank("bank2")->set_base(address);
}
@@ -568,10 +568,10 @@ void viper_bankswitch(running_machine &machine)
logerror("%s:Master bank %02X out of range!\n", machine.describe_context(), state->m_alternate_bank & 3);
address = &state->m_master_base[bank_list[0]];
}
- memory_set_bankptr(machine, "bank1", address);
+ state->subbank("bank1")->set_base(address);
address = state->m_battery_ram_enable ? state->m_battery_ram : &state->m_master_base[0xa000];
- memory_set_bankptr(machine, "bank2", address);
+ state->subbank("bank2")->set_base(address);
}
@@ -590,10 +590,10 @@ void offroad_bankswitch(running_machine &machine)
logerror("%s:Master bank %02X out of range!\n", machine.describe_context(), state->m_alternate_bank & 7);
address = &state->m_master_base[bank_list[0]];
}
- memory_set_bankptr(machine, "bank1", address);
+ state->subbank("bank1")->set_base(address);
address = state->m_battery_ram_enable ? state->m_battery_ram : &state->m_master_base[0xa000];
- memory_set_bankptr(machine, "bank2", address);
+ state->subbank("bank2")->set_base(address);
}
@@ -616,7 +616,7 @@ void ataxx_bankswitch(running_machine &machine)
logerror("%s:Master bank %02X out of range!\n", machine.describe_context(), state->m_master_bank & 15);
address = &state->m_master_base[bank_list[0]];
}
- memory_set_bankptr(machine, "bank1", address);
+ state->subbank("bank1")->set_base(address);
if (state->m_battery_ram_enable)
address = state->m_battery_ram;
@@ -624,7 +624,7 @@ void ataxx_bankswitch(running_machine &machine)
address = &state->m_ataxx_qram[(state->m_master_bank & 0xc0) << 8];
else
address = &state->m_master_base[0xa000];
- memory_set_bankptr(machine, "bank2", address);
+ state->subbank("bank2")->set_base(address);
state->m_wcol_enable = ((state->m_master_bank & 0x30) == 0x30);
}
@@ -1349,7 +1349,7 @@ WRITE8_MEMBER(leland_state::leland_slave_small_banksw_w)
logerror("%04X:Slave bank %02X out of range!", cpu_get_pc(&space.device()), data & 1);
bankaddress = 0x10000;
}
- memory_set_bankptr(machine(), "bank3", &m_slave_base[bankaddress]);
+ subbank("bank3")->set_base(&m_slave_base[bankaddress]);
if (LOG_BANKSWITCHING_S) logerror("%04X:Slave bank = %02X (%05X)\n", cpu_get_pc(&space.device()), data & 1, bankaddress);
}
@@ -1364,7 +1364,7 @@ WRITE8_MEMBER(leland_state::leland_slave_large_banksw_w)
logerror("%04X:Slave bank %02X out of range!", cpu_get_pc(&space.device()), data & 15);
bankaddress = 0x10000;
}
- memory_set_bankptr(machine(), "bank3", &m_slave_base[bankaddress]);
+ subbank("bank3")->set_base(&m_slave_base[bankaddress]);
if (LOG_BANKSWITCHING_S) logerror("%04X:Slave bank = %02X (%05X)\n", cpu_get_pc(&space.device()), data & 15, bankaddress);
}
@@ -1388,7 +1388,7 @@ WRITE8_MEMBER(leland_state::ataxx_slave_banksw_w)
logerror("%04X:Slave bank %02X out of range!", cpu_get_pc(&space.device()), data & 0x3f);
bankaddress = 0x2000;
}
- memory_set_bankptr(machine(), "bank3", &m_slave_base[bankaddress]);
+ subbank("bank3")->set_base(&m_slave_base[bankaddress]);
if (LOG_BANKSWITCHING_S) logerror("%04X:Slave bank = %02X (%05X)\n", cpu_get_pc(&space.device()), data, bankaddress);
}
diff --git a/src/mame/machine/mc8123.c b/src/mame/machine/mc8123.c
index 7628c2cb8be..9de03b952d8 100644
--- a/src/mame/machine/mc8123.c
+++ b/src/mame/machine/mc8123.c
@@ -400,7 +400,7 @@ void mc8123_decrypt_rom(running_machine &machine, const char *cpu, const char *k
if (bankname != NULL)
{
- memory_configure_bank_decrypted(machine, bankname, 0, numbanks, decrypted2, 0x4000);
+ machine.root_device().subbank(bankname)->configure_decrypted_entries(0, numbanks, decrypted2, 0x4000);
for (bank = 0; bank < numbanks; ++bank)
{
diff --git a/src/mame/machine/megadriv.c b/src/mame/machine/megadriv.c
index 5df5da388e0..faaed4823f7 100644
--- a/src/mame/machine/megadriv.c
+++ b/src/mame/machine/megadriv.c
@@ -2863,7 +2863,7 @@ static WRITE16_HANDLER( _32x_68k_a15100_w )
space->install_rom(0x0880000, 0x08fffff, space->machine().region("gamecart")->base()); // 'fixed' 512kb rom bank
space->install_read_bank(0x0900000, 0x09fffff, "bank12"); // 'bankable' 1024kb rom bank
- memory_set_bankptr(space->machine(), "bank12", space->machine().region("gamecart")->base()+((_32x_68k_a15104_reg&0x3)*0x100000) );
+ space->machine().root_device().subbank("bank12")->set_base(space->machine().region("gamecart")->base()+((_32x_68k_a15104_reg&0x3)*0x100000) );
space->install_rom(0x0000000, 0x03fffff, space->machine().region("32x_68k_bios")->base());
@@ -2949,7 +2949,7 @@ static WRITE16_HANDLER( _32x_68k_a15104_w )
_32x_68k_a15104_reg = (_32x_68k_a15104_reg & 0x00ff) | (data & 0xff00);
}
- memory_set_bankptr(space->machine(), "bank12", space->machine().region("gamecart")->base()+((_32x_68k_a15104_reg&0x3)*0x100000) );
+ space->machine().root_device().subbank("bank12")->set_base(space->machine().region("gamecart")->base()+((_32x_68k_a15104_reg&0x3)*0x100000) );
}
/**********************************************************************************************/
@@ -6005,7 +6005,7 @@ void segacd_init_main_cpu( running_machine& machine )
space->unmap_readwrite (0x020000,0x3fffff);
// space->install_read_bank(0x0020000, 0x003ffff, "scd_4m_prgbank");
-// memory_set_bankptr(space->machine(), "scd_4m_prgbank", segacd_4meg_prgram + segacd_4meg_prgbank * 0x20000 );
+// space->machine().root_device().subbank("scd_4m_prgbank")->set_base(segacd_4meg_prgram + segacd_4meg_prgbank * 0x20000 );
space->install_legacy_read_handler (0x0020000, 0x003ffff, FUNC(scd_4m_prgbank_ram_r) );
space->install_legacy_write_handler (0x0020000, 0x003ffff, FUNC(scd_4m_prgbank_ram_w) );
segacd_wordram_mapped = 1;
@@ -7173,10 +7173,10 @@ static void svp_init(running_machine &machine)
machine.device("svp")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x438, 0x438, FUNC(svp_speedup_r));
state->m_iram = auto_alloc_array(machine, UINT8, 0x800);
- memory_set_bankptr(machine, "bank3", state->m_iram);
+ state->subbank("bank3")->set_base(state->m_iram);
/* SVP ROM just shares m68k region.. */
ROM = machine.region("maincpu")->base();
- memory_set_bankptr(machine, "bank4", ROM + 0x800);
+ state->subbank("bank4")->set_base(ROM + 0x800);
megadrive_io_read_data_port_ptr = megadrive_io_read_data_port_svp;
}
@@ -9856,7 +9856,7 @@ static void megadriv_init_common(running_machine &machine)
//printf("GENESIS Sound Z80 cpu found '%s'\n", _genesis_snd_z80_cpu->tag() );
genz80.z80_prgram = auto_alloc_array(machine, UINT8, 0x2000);
- memory_set_bankptr(machine, "bank1", genz80.z80_prgram );
+ machine.root_device().subbank("bank1")->set_base(genz80.z80_prgram );
}
/* Look to see if this system has the 32x Master SH2 */
@@ -10050,7 +10050,7 @@ void megatech_set_megadrive_z80_as_megadrive_z80(running_machine &machine, const
machine.device(tag)->memory().space(AS_PROGRAM)->install_readwrite_bank(0x0000, 0x1fff, "bank1");
- memory_set_bankptr(machine, "bank1", genz80.z80_prgram );
+ machine.root_device().subbank("bank1")->set_base(genz80.z80_prgram );
machine.device(tag)->memory().space(AS_PROGRAM)->install_ram(0x0000, 0x1fff, genz80.z80_prgram);
diff --git a/src/mame/machine/mhavoc.c b/src/mame/machine/mhavoc.c
index 1552077607f..a9141521b62 100644
--- a/src/mame/machine/mhavoc.c
+++ b/src/mame/machine/mhavoc.c
@@ -87,9 +87,9 @@ MACHINE_RESET( mhavoc )
address_space *space = machine.device("alpha")->memory().space(AS_PROGRAM);
state->m_has_gamma_cpu = (machine.device("gamma") != NULL);
- memory_configure_bank(machine, "bank1", 0, 1, state->m_zram0, 0);
- memory_configure_bank(machine, "bank1", 1, 1, state->m_zram1, 0);
- memory_configure_bank(machine, "bank2", 0, 4, machine.region("alpha")->base() + 0x10000, 0x2000);
+ state->subbank("bank1")->configure_entry(0, state->m_zram0);
+ state->subbank("bank1")->configure_entry(1, state->m_zram1);
+ state->subbank("bank2")->configure_entries(0, 4, machine.region("alpha")->base() + 0x10000, 0x2000);
/* reset RAM/ROM banks to 0 */
state->mhavoc_ram_banksel_w(*space, 0, 0);
@@ -188,13 +188,13 @@ READ8_MEMBER(mhavoc_state::mhavoc_gamma_r)
WRITE8_MEMBER(mhavoc_state::mhavoc_ram_banksel_w)
{
- memory_set_bank(machine(), "bank1", data & 1);
+ subbank("bank1")->set_entry(data & 1);
}
WRITE8_MEMBER(mhavoc_state::mhavoc_rom_banksel_w)
{
- memory_set_bank(machine(), "bank2", data & 3);
+ subbank("bank2")->set_entry(data & 3);
}
diff --git a/src/mame/machine/midtunit.c b/src/mame/machine/midtunit.c
index 78e4e27fd99..285e3a611f3 100644
--- a/src/mame/machine/midtunit.c
+++ b/src/mame/machine/midtunit.c
@@ -526,7 +526,7 @@ DRIVER_INIT( jdreddp )
/* sound chip protection (hidden RAM) */
machine.device("adpcm:cpu")->memory().space(AS_PROGRAM)->install_read_bank(0xfbcf, 0xfbf9, "bank7");
machine.device("adpcm:cpu")->memory().space(AS_PROGRAM)->install_write_bank(0xfbcf, 0xfbf9, "bank9");
- memory_set_bankptr(machine, "bank9", auto_alloc_array(machine, UINT8, 0x80));
+ state->subbank("bank9")->set_base(auto_alloc_array(machine, UINT8, 0x80));
#if ENABLE_ALL_JDREDD_LEVELS
/* how about the final levels? */
diff --git a/src/mame/machine/namcos1.c b/src/mame/machine/namcos1.c
index 4f1dee5a11f..76801666b18 100644
--- a/src/mame/machine/namcos1.c
+++ b/src/mame/machine/namcos1.c
@@ -557,7 +557,7 @@ WRITE8_MEMBER(namcos1_state::namcos1_sound_bankswitch_w)
UINT8 *rom = machine().region("audiocpu")->base() + 0xc000;
int bank = (data & 0x70) >> 4;
- memory_set_bankptr(machine(), "bank17",rom + 0x4000 * bank);
+ subbank("bank17")->set_base(rom + 0x4000 * bank);
}
@@ -677,7 +677,7 @@ static void set_bank(running_machine &machine, int banknum, const bankhandler *h
/* for BANK handlers , memory direct and OP-code base */
if (handler->bank_pointer)
- memory_set_bankptr(machine, banktags[banknum], handler->bank_pointer);
+ state->subbank(banktags[banknum])->set_base(handler->bank_pointer);
/* read handlers */
if (!handler->bank_handler_r)
@@ -920,7 +920,7 @@ WRITE8_MEMBER(namcos1_state::namcos1_mcu_bankswitch_w)
/* bit 0-1 : address line A15-A16 */
addr += (data & 3) * 0x8000;
- memory_set_bankptr(machine(), "bank20", machine().region("mcu")->base() + addr);
+ subbank("bank20")->set_base(machine().region("mcu")->base() + addr);
}
@@ -997,8 +997,8 @@ static void namcos1_driver_init( running_machine &machine, const struct namcos1_
state_save_register_global_pointer(machine, state->m_paletteram, 0x8000);
/* Point mcu & sound shared RAM to destination */
- memory_set_bankptr(machine, "bank18", state->m_triram );
- memory_set_bankptr(machine, "bank19", state->m_triram );
+ state->subbank("bank18")->set_base(state->m_triram );
+ state->subbank("bank19")->set_base(state->m_triram );
/* build bank elements */
namcos1_build_banks(machine,specific->key_r,specific->key_w);
diff --git a/src/mame/machine/namcos2.c b/src/mame/machine/namcos2.c
index fe9b7dc3b85..9da551cedd6 100644
--- a/src/mame/machine/namcos2.c
+++ b/src/mame/machine/namcos2.c
@@ -712,7 +712,7 @@ WRITE8_HANDLER( namcos2_sound_bankselect_w )
UINT8 *RAM=space->machine().region("audiocpu")->base();
UINT32 max = (space->machine().region("audiocpu")->bytes() - 0x10000) / 0x4000;
int bank = ( data >> 4 ) % max; /* 991104.CAB */
- memory_set_bankptr(space->machine(), BANKED_SOUND_ROM, &RAM[ 0x10000 + ( 0x4000 * bank ) ] );
+ space->machine().root_device().subbank(BANKED_SOUND_ROM)->set_base(&RAM[ 0x10000 + ( 0x4000 * bank ) ] );
}
/**************************************************************/
diff --git a/src/mame/machine/qix.c b/src/mame/machine/qix.c
index 7b6083d6b33..71d11517b7c 100644
--- a/src/mame/machine/qix.c
+++ b/src/mame/machine/qix.c
@@ -266,7 +266,7 @@ WRITE_LINE_DEVICE_HANDLER( qix_vsync_changed )
WRITE8_MEMBER(qix_state::zookeep_bankswitch_w)
{
- memory_set_bank(machine(), "bank1", (data >> 2) & 1);
+ subbank("bank1")->set_entry((data >> 2) & 1);
/* not necessary, but technically correct */
qix_palettebank_w(space, offset, data);
}
diff --git a/src/mame/machine/scramble.c b/src/mame/machine/scramble.c
index e60f262c895..99ef4b5c5f0 100644
--- a/src/mame/machine/scramble.c
+++ b/src/mame/machine/scramble.c
@@ -111,7 +111,7 @@ static void cavelon_banksw(running_machine &machine)
to keep the CPU core happy at the boundaries */
state->m_cavelon_bank = !state->m_cavelon_bank;
- memory_set_bank(machine, "bank1", state->m_cavelon_bank);
+ state->subbank("bank1")->set_entry(state->m_cavelon_bank);
}
static READ8_HANDLER( cavelon_banksw_r )
@@ -246,7 +246,7 @@ DRIVER_INIT( mariner )
/* extra ROM */
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x5800, 0x67ff, "bank1");
machine.device("maincpu")->memory().space(AS_PROGRAM)->unmap_write(0x5800, 0x67ff);
- memory_set_bankptr(machine, "bank1", machine.region("maincpu")->base() + 0x5800);
+ machine.root_device().subbank("bank1")->set_base(machine.region("maincpu")->base() + 0x5800);
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x9008, 0x9008, FUNC(mariner_protection_2_r));
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xb401, 0xb401, FUNC(mariner_protection_1_r));
@@ -332,7 +332,7 @@ DRIVER_INIT( cavelon )
/* banked ROM */
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x3fff, "bank1");
- memory_configure_bank(machine, "bank1", 0, 2, &ROM[0x00000], 0x10000);
+ state->subbank("bank1")->configure_entries(0, 2, &ROM[0x00000], 0x10000);
cavelon_banksw(machine);
/* A15 switches memory banks */
diff --git a/src/mame/machine/segacrpt.c b/src/mame/machine/segacrpt.c
index b26447a6920..e81952ab9ca 100644
--- a/src/mame/machine/segacrpt.c
+++ b/src/mame/machine/segacrpt.c
@@ -471,10 +471,10 @@ void toprollr_decode(running_machine &machine, const char *cputag, const char *r
rom[A+bankstart] = (src & ~0xa8) | (convtable[2*row+1][col] ^ xorval);
}
- memory_configure_bank(machine, "bank1",0,3, machine.region(regiontag)->base(),0x6000);
- memory_configure_bank_decrypted(machine, "bank1",0,3,decrypted,0x6000);
+ machine.root_device().subbank("bank1")->configure_entries(0,3, machine.region(regiontag)->base(),0x6000);
+ machine.root_device().subbank("bank1")->configure_decrypted_entries(0,3,decrypted,0x6000);
space->set_decrypted_region(0x0000, 0x5fff, decrypted);
- memory_set_bank(space->machine(), "bank1", 0);
+ space->machine().root_device().subbank("bank1")->set_entry(0);
}
@@ -830,10 +830,10 @@ void jongkyo_decode(running_machine &machine, const char *cputag)
rom[A] = (src & ~0xa8) | (convtable[2*row+1][col] ^ xorval);
}
- memory_configure_bank(machine, "bank1",0,8, machine.region(cputag)->base()+0x7000,0x0400);
- memory_configure_bank_decrypted(machine, "bank1",0,8,decrypted+0x7000,0x0400);
+ machine.root_device().subbank("bank1")->configure_entries(0,8, machine.region(cputag)->base()+0x7000,0x0400);
+ machine.root_device().subbank("bank1")->configure_decrypted_entries(0,8,decrypted+0x7000,0x0400);
space->set_decrypted_region(0x0000, 0x6bff, decrypted);
- memory_set_bank(space->machine(), "bank1", 0);
+ machine.root_device().subbank("bank1")->set_entry(0);
}
diff --git a/src/mame/machine/segaic16.c b/src/mame/machine/segaic16.c
index 02019c7b5ea..cea122c9ef5 100644
--- a/src/mame/machine/segaic16.c
+++ b/src/mame/machine/segaic16.c
@@ -157,8 +157,8 @@ void segaic16_memory_mapper_set_decrypted(running_machine &machine, UINT8 *decry
if (region_start >= romsize)
continue;
- memory_configure_bank_decrypted(machine, readbank, 0, 1, decrypted + region_start, 0);
- memory_set_bank(machine, readbank, 0);
+ machine.root_device().subbank(readbank)->configure_decrypted_entry(0, decrypted + region_start);
+ machine.root_device().subbank(readbank)->set_entry(0);
}
}
@@ -349,8 +349,8 @@ static void update_memory_mapping(running_machine &machine, struct memory_mapper
{
if (rgn->base != NULL)
{
- memory_configure_bank(machine, readbank, 0, 1, *rgn->base, 0);
- memory_set_bank(machine, readbank, 0);
+ machine.root_device().subbank(readbank)->configure_entry(0, *rgn->base);
+ machine.root_device().subbank(readbank)->set_entry(0);
}
else if (rgn->romoffset != ~0)
{
@@ -363,11 +363,11 @@ static void update_memory_mapping(running_machine &machine, struct memory_mapper
decrypted = (UINT8 *)fd1089_get_decrypted_base();
}
- memory_configure_bank(machine, readbank, 0, 1, chip->cpu->region()->base() + region_start, 0);
+ machine.root_device().subbank(readbank)->configure_entry(0, chip->cpu->region()->base() + region_start);
if (decrypted)
- memory_configure_bank_decrypted(machine, readbank, 0, 1, decrypted + region_start, 0);
+ machine.root_device().subbank(readbank)->configure_decrypted_entry(0, decrypted + region_start);
- memory_set_bank(machine, readbank, 0);
+ machine.root_device().subbank(readbank)->set_entry(0);
}
}
diff --git a/src/mame/machine/simpsons.c b/src/mame/machine/simpsons.c
index f16ab1de77b..5b1c89afe23 100644
--- a/src/mame/machine/simpsons.c
+++ b/src/mame/machine/simpsons.c
@@ -65,7 +65,7 @@ READ8_DEVICE_HANDLER( simpsons_sound_r )
static KONAMI_SETLINES_CALLBACK( simpsons_banking )
{
- memory_set_bank(device->machine(), "bank1", lines & 0x3f);
+ device->machine().root_device().subbank("bank1")->set_entry(lines & 0x3f);
}
static void simpsons_postload(running_machine &machine)
@@ -118,12 +118,12 @@ MACHINE_RESET( simpsons )
state->m_video_bank = 0;
/* init the default banks */
- memory_configure_bank(machine, "bank1", 0, 64, machine.region("maincpu")->base() + 0x10000, 0x2000);
- memory_set_bank(machine, "bank1", 0);
+ state->subbank("bank1")->configure_entries(0, 64, machine.region("maincpu")->base() + 0x10000, 0x2000);
+ state->subbank("bank1")->set_entry(0);
- memory_configure_bank(machine, "bank2", 0, 2, machine.region("audiocpu")->base() + 0x10000, 0);
- memory_configure_bank(machine, "bank2", 2, 6, machine.region("audiocpu")->base() + 0x10000, 0x4000);
- memory_set_bank(machine, "bank2", 0);
+ state->subbank("bank2")->configure_entries(0, 2, machine.region("audiocpu")->base() + 0x10000, 0);
+ state->subbank("bank2")->configure_entries(2, 6, machine.region("audiocpu")->base() + 0x10000, 0x4000);
+ state->subbank("bank2")->set_entry(0);
simpsons_video_banking(machine, 0);
}
diff --git a/src/mame/machine/slapfght.c b/src/mame/machine/slapfght.c
index 80ea1724bf8..ba819436265 100644
--- a/src/mame/machine/slapfght.c
+++ b/src/mame/machine/slapfght.c
@@ -67,14 +67,14 @@ WRITE8_MEMBER(slapfght_state::slapfight_port_08_w)
{
UINT8 *RAM = machine().region("maincpu")->base();
- memory_set_bankptr(machine(), "bank1",&RAM[0x10000]);
+ subbank("bank1")->set_base(&RAM[0x10000]);
}
WRITE8_MEMBER(slapfght_state::slapfight_port_09_w)
{
UINT8 *RAM = machine().region("maincpu")->base();
- memory_set_bankptr(machine(), "bank1",&RAM[0x14000]);
+ subbank("bank1")->set_base(&RAM[0x14000]);
}
diff --git a/src/mame/machine/starwars.c b/src/mame/machine/starwars.c
index c7878bf4509..f3927db19d5 100644
--- a/src/mame/machine/starwars.c
+++ b/src/mame/machine/starwars.c
@@ -82,9 +82,9 @@ WRITE8_MEMBER(starwars_state::starwars_out_w)
break;
case 4: /* bank switch */
- memory_set_bank(machine(), "bank1", (data >> 7) & 1);
+ subbank("bank1")->set_entry((data >> 7) & 1);
if (m_is_esb)
- memory_set_bank(machine(), "bank2", (data >> 7) & 1);
+ subbank("bank2")->set_entry((data >> 7) & 1);
break;
case 5: /* reset PRNG */
break;
diff --git a/src/mame/machine/stfight.c b/src/mame/machine/stfight.c
index bc827c80fa1..9e24dbcece7 100644
--- a/src/mame/machine/stfight.c
+++ b/src/mame/machine/stfight.c
@@ -105,7 +105,7 @@ WRITE8_MEMBER(stfight_state::stfight_bank_w)
{
UINT8 *ROM2 = machine().region("maincpu")->base() + 0x10000;
- memory_set_bankptr(machine(), "bank1", &ROM2[data<<14] );
+ subbank("bank1")->set_base(&ROM2[data<<14] );
}
/*
diff --git a/src/mame/machine/taitosj.c b/src/mame/machine/taitosj.c
index 68ae7973295..7754a63114d 100644
--- a/src/mame/machine/taitosj.c
+++ b/src/mame/machine/taitosj.c
@@ -19,8 +19,8 @@
MACHINE_START( taitosj )
{
taitosj_state *state = machine.driver_data<taitosj_state>();
- memory_configure_bank(machine, "bank1", 0, 1, machine.region("maincpu")->base() + 0x6000, 0);
- memory_configure_bank(machine, "bank1", 1, 1, machine.region("maincpu")->base() + 0x10000, 0);
+ state->subbank("bank1")->configure_entry(0, machine.region("maincpu")->base() + 0x6000);
+ state->subbank("bank1")->configure_entry(1, machine.region("maincpu")->base() + 0x10000);
state->save_item(NAME(state->m_fromz80));
state->save_item(NAME(state->m_toz80));
@@ -58,8 +58,8 @@ WRITE8_MEMBER(taitosj_state::taitosj_bankswitch_w)
{
coin_lockout_global_w(machine(), ~data & 1);
- if(data & 0x80) memory_set_bank(machine(), "bank1", 1);
- else memory_set_bank(machine(), "bank1", 0);
+ if(data & 0x80) subbank("bank1")->set_entry(1);
+ else subbank("bank1")->set_entry(0);
}
diff --git a/src/mame/machine/theglobp.c b/src/mame/machine/theglobp.c
index 2be6b0afcb6..b5429d1ac80 100644
--- a/src/mame/machine/theglobp.c
+++ b/src/mame/machine/theglobp.c
@@ -222,10 +222,10 @@ READ8_HANDLER( theglobp_decrypt_rom )
switch(state->m_counter)
{
- case 0x08: memory_set_bank (space->machine(), "bank1", 0); break;
- case 0x09: memory_set_bank (space->machine(), "bank1", 1); break;
- case 0x0A: memory_set_bank (space->machine(), "bank1", 2); break;
- case 0x0B: memory_set_bank (space->machine(), "bank1", 3); break;
+ case 0x08: state->subbank ("bank1")->set_entry (0); break;
+ case 0x09: state->subbank ("bank1")->set_entry (1); break;
+ case 0x0A: state->subbank ("bank1")->set_entry (2); break;
+ case 0x0B: state->subbank ("bank1")->set_entry (3); break;
default:
logerror("Invalid counter = %02X\n",state->m_counter);
break;
@@ -248,7 +248,7 @@ MACHINE_START( theglobp )
theglobp_decrypt_rom_A(machine);
theglobp_decrypt_rom_B(machine);
- memory_configure_bank(machine, "bank1", 0, 4, &RAM[0x10000], 0x4000);
+ state->subbank("bank1")->configure_entries(0, 4, &RAM[0x10000], 0x4000);
state_save_register_global(machine, state->m_counter);
}
@@ -259,5 +259,5 @@ MACHINE_RESET( theglobp )
pacman_state *state = machine.driver_data<pacman_state>();
/* The initial state of the counter is 0x0A */
state->m_counter = 0x0A;
- memory_set_bank(machine, "bank1", 2);
+ state->subbank("bank1")->set_entry(2);
}
diff --git a/src/mame/machine/tnzs.c b/src/mame/machine/tnzs.c
index c3fd5beeee0..bcaccba227f 100644
--- a/src/mame/machine/tnzs.c
+++ b/src/mame/machine/tnzs.c
@@ -538,7 +538,7 @@ DRIVER_INIT( kabukiz )
UINT8 *SOUND = machine.region("audiocpu")->base();
state->m_mcu_type = MCU_NONE_KABUKIZ;
- memory_configure_bank(machine, "bank3", 0, 8, &SOUND[0x10000], 0x4000);
+ state->subbank("bank3")->configure_entries(0, 8, &SOUND[0x10000], 0x4000);
}
DRIVER_INIT( insectx )
@@ -659,8 +659,8 @@ static void tnzs_postload(running_machine &machine)
tnzs_state *state = machine.driver_data<tnzs_state>();
address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- memory_set_bank(machine, "bank1", state->m_bank1);
- memory_set_bank(machine, "bank2", state->m_bank2);
+ state->subbank("bank1")->set_entry(state->m_bank1);
+ state->subbank("bank2")->set_entry(state->m_bank2);
if (state->m_bank1 <= 1)
space->install_write_bank(0x8000, 0xbfff, "bank1");
@@ -674,11 +674,11 @@ MACHINE_START( tnzs )
UINT8 *ROM = machine.region("maincpu")->base();
UINT8 *SUB = machine.region("sub")->base();
- memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x4000);
- memory_configure_bank(machine, "bank2", 0, 4, &SUB[0x10000], 0x2000);
+ state->subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
+ state->subbank("bank2")->configure_entries(0, 4, &SUB[0x10000], 0x2000);
- memory_set_bank(machine, "bank1", 2);
- memory_set_bank(machine, "bank2", 0);
+ state->subbank("bank1")->set_entry(2);
+ state->subbank("bank2")->set_entry(0);
state->m_bank1 = 2;
state->m_bank2 = 0;
@@ -712,8 +712,8 @@ MACHINE_START( jpopnics )
UINT8 *ROM = machine.region("maincpu")->base();
UINT8 *SUB = machine.region("sub")->base();
- memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x4000);
- memory_configure_bank(machine, "bank2", 0, 4, &SUB[0x10000], 0x2000);
+ state->subbank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
+ state->subbank("bank2")->configure_entries(0, 4, &SUB[0x10000], 0x2000);
state->m_subcpu = machine.device("sub");
state->m_mcu = NULL;
@@ -742,7 +742,7 @@ WRITE8_MEMBER(tnzs_state::tnzs_bankswitch_w)
/* bits 0-2 select RAM/ROM bank */
m_bank1 = data & 0x07;
- memory_set_bank(machine(), "bank1", m_bank1);
+ subbank("bank1")->set_entry(m_bank1);
if (m_bank1 <= 1)
space.install_write_bank(0x8000, 0xbfff, "bank1");
@@ -798,5 +798,5 @@ WRITE8_MEMBER(tnzs_state::tnzs_bankswitch1_w)
/* bits 0-1 select ROM bank */
m_bank2 = data & 0x03;
- memory_set_bank(machine(), "bank2", m_bank2);
+ subbank("bank2")->set_entry(m_bank2);
}
diff --git a/src/mame/machine/vsnes.c b/src/mame/machine/vsnes.c
index f875cffbab0..0c03ff2270d 100644
--- a/src/mame/machine/vsnes.c
+++ b/src/mame/machine/vsnes.c
@@ -182,7 +182,7 @@ static void v_set_videorom_bank( running_machine& machine, int start, int count,
/* count determines the size of the area mapped */
for (i = 0; i < count; i++)
{
- memory_set_bank(machine, chr_banknames[i + start], vrom_start_bank + i);
+ state->subbank(chr_banknames[i + start])->set_entry(vrom_start_bank + i);
}
}
@@ -214,7 +214,7 @@ MACHINE_START( vsnes )
for (i = 0; i < 8; i++)
{
ppu1_space->install_read_bank(0x0400 * i, 0x0400 * i + 0x03ff, chr_banknames[i]);
- memory_configure_bank(machine, chr_banknames[i], 0, state->m_vrom_banks, state->m_vrom[0], 0x400);
+ state->subbank(chr_banknames[i])->configure_entries(0, state->m_vrom_banks, state->m_vrom[0], 0x400);
}
v_set_videorom_bank(machine, 0, 8, 0);
}
@@ -251,10 +251,10 @@ MACHINE_START( vsdual )
machine.device("ppu1")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x1fff, "bank2");
// read only!
machine.device("ppu2")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x1fff, "bank3");
- memory_configure_bank(machine, "bank2", 0, state->m_vrom_size[0] / 0x2000, state->m_vrom[0], 0x2000);
- memory_configure_bank(machine, "bank3", 0, state->m_vrom_size[1] / 0x2000, state->m_vrom[1], 0x2000);
- memory_set_bank(machine, "bank2", 0);
- memory_set_bank(machine, "bank3", 0);
+ state->subbank("bank2")->configure_entries(0, state->m_vrom_size[0] / 0x2000, state->m_vrom[0], 0x2000);
+ state->subbank("bank3")->configure_entries(0, state->m_vrom_size[1] / 0x2000, state->m_vrom[1], 0x2000);
+ state->subbank("bank2")->set_entry(0);
+ state->subbank("bank3")->set_entry(0);
}
/*************************************
@@ -1012,7 +1012,7 @@ WRITE8_MEMBER(vsnes_state::vsdual_vrom_banking)
{
device_t *other_cpu = (&space.device() == machine().device("maincpu")) ? machine().device("sub") : machine().device("maincpu");
/* switch vrom */
- (&space.device() == machine().device("maincpu")) ? memory_set_bank(machine(), "bank2", BIT(data, 2)) : memory_set_bank(machine(), "bank3", BIT(data, 2));
+ (&space.device() == machine().device("maincpu")) ? subbank("bank2")->set_entry(BIT(data, 2)) : subbank("bank3")->set_entry(BIT(data, 2));
/* bit 1 ( data & 2 ) triggers irq on the other cpu */
device_set_input_line(other_cpu, 0, (data & 2) ? CLEAR_LINE : ASSERT_LINE);
diff --git a/src/mame/machine/williams.c b/src/mame/machine/williams.c
index fe8ecf3b40a..5521bd82779 100644
--- a/src/mame/machine/williams.c
+++ b/src/mame/machine/williams.c
@@ -368,8 +368,8 @@ static MACHINE_START( williams_common )
{
williams_state *state = machine.driver_data<williams_state>();
/* configure the memory bank */
- memory_configure_bank(machine, "bank1", 0, 1, state->m_videoram, 0);
- memory_configure_bank(machine, "bank1", 1, 1, machine.region("maincpu")->base() + 0x10000, 0);
+ state->subbank("bank1")->configure_entry(0, state->m_videoram);
+ state->subbank("bank1")->configure_entry(1, machine.region("maincpu")->base() + 0x10000);
state_save_register_global(machine, state->m_vram_bank);
}
@@ -466,8 +466,8 @@ MACHINE_START( williams2 )
{
williams_state *state = machine.driver_data<williams_state>();
/* configure memory banks */
- memory_configure_bank(machine, "bank1", 0, 1, state->m_videoram, 0);
- memory_configure_bank(machine, "bank1", 1, 4, machine.region("maincpu")->base() + 0x10000, 0x10000);
+ state->subbank("bank1")->configure_entry(0, state->m_videoram);
+ state->subbank("bank1")->configure_entries(1, 4, machine.region("maincpu")->base() + 0x10000, 0x10000);
/* register for save states */
state_save_register_global(machine, state->m_vram_bank);
@@ -504,7 +504,7 @@ WRITE8_MEMBER(williams_state::williams_vram_select_w)
{
/* VRAM/ROM banking from bit 0 */
m_vram_bank = data & 0x01;
- memory_set_bank(machine(), "bank1", m_vram_bank);
+ subbank("bank1")->set_entry(m_vram_bank);
/* cocktail flip from bit 1 */
m_cocktail = data & 0x02;
@@ -522,8 +522,8 @@ WRITE8_MEMBER(williams_state::williams2_bank_select_w)
case 0:
space.install_read_bank(0x0000, 0x8fff, "bank1");
space.install_write_bank(0x8000, 0x87ff, "bank4");
- memory_set_bank(machine(), "bank1", 0);
- memory_set_bankptr(machine(), "bank4", &m_videoram[0x8000]);
+ subbank("bank1")->set_entry(0);
+ subbank("bank4")->set_base(&m_videoram[0x8000]);
break;
/* pages 1 and 2 are ROM */
@@ -531,16 +531,16 @@ WRITE8_MEMBER(williams_state::williams2_bank_select_w)
case 2:
space.install_read_bank(0x0000, 0x8fff, "bank1");
space.install_write_bank(0x8000, 0x87ff, "bank4");
- memory_set_bank(machine(), "bank1", 1 + ((m_vram_bank & 6) >> 1));
- memory_set_bankptr(machine(), "bank4", &m_videoram[0x8000]);
+ subbank("bank1")->set_entry(1 + ((m_vram_bank & 6) >> 1));
+ subbank("bank4")->set_base(&m_videoram[0x8000]);
break;
/* page 3 accesses palette RAM; the remaining areas are as if page 1 ROM was selected */
case 3:
space.install_read_bank(0x8000, 0x87ff, "bank4");
space.install_write_handler(0x8000, 0x87ff, write8_delegate(FUNC(williams_state::williams2_paletteram_w),this));
- memory_set_bank(machine(), "bank1", 1 + ((m_vram_bank & 4) >> 1));
- memory_set_bankptr(machine(), "bank4", m_generic_paletteram_8);
+ subbank("bank1")->set_entry(1 + ((m_vram_bank & 4) >> 1));
+ subbank("bank4")->set_base(m_generic_paletteram_8);
break;
}
}
@@ -772,7 +772,7 @@ MACHINE_START( defender )
MACHINE_START_CALL(williams_common);
/* configure the banking and make sure it is reset to 0 */
- memory_configure_bank(machine, "bank1", 0, 9, &machine.region("maincpu")->base()[0x10000], 0x1000);
+ machine.root_device().subbank("bank1")->configure_entries(0, 9, &machine.region("maincpu")->base()[0x10000], 0x1000);
machine.save().register_postload(save_prepost_delegate(FUNC(defender_postload), &machine));
}
@@ -819,7 +819,7 @@ WRITE8_MEMBER(williams_state::defender_bank_select_w)
case 9:
space.install_read_bank(0xc000, 0xcfff, "bank1");
space.unmap_write(0xc000, 0xcfff);
- memory_set_bank(machine(), "bank1", m_vram_bank - 1);
+ subbank("bank1")->set_entry(m_vram_bank - 1);
break;
/* pages A-F are not connected */
@@ -878,11 +878,11 @@ MACHINE_START( blaster )
MACHINE_START_CALL(williams_common);
/* banking is different for blaster */
- memory_configure_bank(machine, "bank1", 0, 1, state->m_videoram, 0);
- memory_configure_bank(machine, "bank1", 1, 16, machine.region("maincpu")->base() + 0x18000, 0x4000);
+ state->subbank("bank1")->configure_entry(0, state->m_videoram);
+ state->subbank("bank1")->configure_entries(1, 16, machine.region("maincpu")->base() + 0x18000, 0x4000);
- memory_configure_bank(machine, "bank2", 0, 1, state->m_videoram + 0x4000, 0);
- memory_configure_bank(machine, "bank2", 1, 16, machine.region("maincpu")->base() + 0x10000, 0x0000);
+ state->subbank("bank2")->configure_entry(0, state->m_videoram + 0x4000);
+ state->subbank("bank2")->configure_entries(1, 16, machine.region("maincpu")->base() + 0x10000, 0x0000);
state_save_register_global(machine, state->m_blaster_bank);
}
@@ -897,8 +897,8 @@ MACHINE_RESET( blaster )
INLINE void update_blaster_banking(running_machine &machine)
{
williams_state *state = machine.driver_data<williams_state>();
- memory_set_bank(machine, "bank1", state->m_vram_bank * (state->m_blaster_bank + 1));
- memory_set_bank(machine, "bank2", state->m_vram_bank * (state->m_blaster_bank + 1));
+ state->subbank("bank1")->set_entry(state->m_vram_bank * (state->m_blaster_bank + 1));
+ state->subbank("bank2")->set_entry(state->m_vram_bank * (state->m_blaster_bank + 1));
}
diff --git a/src/mame/video/1943.c b/src/mame/video/1943.c
index 2b6d16d5180..81ff009c4e9 100644
--- a/src/mame/video/1943.c
+++ b/src/mame/video/1943.c
@@ -141,7 +141,7 @@ WRITE8_MEMBER(_1943_state::c1943_c804_w)
coin_counter_w(machine(), 1, data & 0x02);
/* bits 2, 3 and 4 select the ROM bank */
- memory_set_bank(machine(), "bank1", (data & 0x1c) >> 2);
+ subbank("bank1")->set_entry((data & 0x1c) >> 2);
/* bit 5 resets the sound CPU - we ignore it */
diff --git a/src/mame/video/appoooh.c b/src/mame/video/appoooh.c
index 48101cb71fb..c6477bd559f 100644
--- a/src/mame/video/appoooh.c
+++ b/src/mame/video/appoooh.c
@@ -197,7 +197,7 @@ WRITE8_MEMBER(appoooh_state::appoooh_out_w)
{
UINT8 *RAM = machine().region("maincpu")->base();
- memory_set_bankptr(machine(), "bank1",&RAM[data&0x40 ? 0x10000 : 0x0a000]);
+ subbank("bank1")->set_base(&RAM[data&0x40 ? 0x10000 : 0x0a000]);
}
/* bit 7 unknown (used) */
diff --git a/src/mame/video/arkanoid.c b/src/mame/video/arkanoid.c
index 4c46d35a8fa..11221ac4821 100644
--- a/src/mame/video/arkanoid.c
+++ b/src/mame/video/arkanoid.c
@@ -137,7 +137,7 @@ WRITE8_MEMBER(arkanoid_state::hexa_d008_w)
/* bit 2 - 3 unknown */
/* bit 4 could be the ROM bank selector for 8000-bfff (not sure) */
- memory_set_bank(machine(), "bank1", ((data & 0x10) >> 4));
+ subbank("bank1")->set_entry(((data & 0x10) >> 4));
/* bit 5 = gfx bank */
if (m_gfxbank != ((data & 0x20) >> 5))
diff --git a/src/mame/video/bfm_adr2.c b/src/mame/video/bfm_adr2.c
index 2154933d56e..acac9ab08fb 100644
--- a/src/mame/video/bfm_adr2.c
+++ b/src/mame/video/bfm_adr2.c
@@ -188,9 +188,9 @@ VIDEO_RESET( adder2 )
{
UINT8 *rom = machine.region("adder2")->base();
- memory_configure_bank(machine, "bank2", 0, 4, &rom[0x00000], 0x08000);
+ machine.root_device().subbank("bank2")->configure_entries(0, 4, &rom[0x00000], 0x08000);
- memory_set_bank(machine, "bank2",0&0x03);
+ machine.root_device().subbank("bank2")->set_entry(0&0x03);
}
}
@@ -323,7 +323,7 @@ static WRITE8_HANDLER( normal_ram_w )
static WRITE8_HANDLER( adder2_rom_page_w )
{
- memory_set_bank(space->machine(), "bank2",data&0x03);
+ space->machine().root_device().subbank("bank2")->set_entry(data&0x03);
}
///////////////////////////////////////////////////////////////////////////
diff --git a/src/mame/video/brkthru.c b/src/mame/video/brkthru.c
index ad77f8b9b4b..ab59d17f9ff 100644
--- a/src/mame/video/brkthru.c
+++ b/src/mame/video/brkthru.c
@@ -129,7 +129,7 @@ WRITE8_MEMBER(brkthru_state::brkthru_1800_w)
else if (offset == 1)
{
/* bit 0-2 = ROM bank select */
- memory_set_bank(machine(), "bank1", data & 0x07);
+ subbank("bank1")->set_entry(data & 0x07);
/* bit 3-5 = background tiles color code */
if (((data & 0x38) >> 2) != m_bgbasecolor)
diff --git a/src/mame/video/chaknpop.c b/src/mame/video/chaknpop.c
index 72860a7603f..2f8c812b8f6 100644
--- a/src/mame/video/chaknpop.c
+++ b/src/mame/video/chaknpop.c
@@ -81,7 +81,7 @@ WRITE8_MEMBER(chaknpop_state::chaknpop_gfxmode_w)
int all_dirty = 0;
m_gfxmode = data;
- memory_set_bank(machine(), "bank1", (m_gfxmode & GFX_VRAM_BANK) ? 1 : 0); /* Select 2 banks of 16k */
+ subbank("bank1")->set_entry((m_gfxmode & GFX_VRAM_BANK) ? 1 : 0); /* Select 2 banks of 16k */
if (m_flip_x != (m_gfxmode & GFX_FLIP_X))
{
@@ -169,7 +169,7 @@ VIDEO_START( chaknpop )
state->save_pointer(NAME(state->m_vram3), 0x2000);
state->save_pointer(NAME(state->m_vram4), 0x2000);
- memory_set_bank(machine, "bank1", 0);
+ state->subbank("bank1")->set_entry(0);
tx_tilemap_mark_all_dirty(machine);
machine.save().register_postload(save_prepost_delegate(FUNC(tx_tilemap_mark_all_dirty), &machine));
diff --git a/src/mame/video/cloud9.c b/src/mame/video/cloud9.c
index 491fff15d7d..904294720e0 100644
--- a/src/mame/video/cloud9.c
+++ b/src/mame/video/cloud9.c
@@ -22,7 +22,7 @@ VIDEO_START( cloud9 )
/* allocate second bank of videoram */
state->m_videoram = auto_alloc_array(machine, UINT8, 0x8000);
- memory_set_bankptr(machine, "bank1", state->m_videoram);
+ state->subbank("bank1")->set_base(state->m_videoram);
/* get pointers to our PROMs */
state->m_syncprom = machine.region("proms")->base() + 0x000;
diff --git a/src/mame/video/dec8.c b/src/mame/video/dec8.c
index 6dd62b4c68f..93e1943d204 100644
--- a/src/mame/video/dec8.c
+++ b/src/mame/video/dec8.c
@@ -140,7 +140,7 @@ WRITE8_MEMBER(dec8_state::srdarwin_control_w)
switch (offset)
{
case 0: /* Top 3 bits - bank switch, bottom 4 - scroll MSB */
- memory_set_bank(machine(), "bank1", (data >> 5));
+ subbank("bank1")->set_entry((data >> 5));
m_scroll2[0] = data & 0xf;
return;
@@ -160,7 +160,7 @@ WRITE8_MEMBER(dec8_state::lastmisn_control_w)
Bit 0x40 - Y scroll MSB
Bit 0x80 - Hold subcpu reset line high if clear, else low
*/
- memory_set_bank(machine(), "bank1", data & 0x0f);
+ subbank("bank1")->set_entry(data & 0x0f);
m_scroll2[0] = (data >> 5) & 1;
m_scroll2[2] = (data >> 6) & 1;
@@ -175,7 +175,7 @@ WRITE8_MEMBER(dec8_state::shackled_control_w)
{
/* Bottom 4 bits - bank switch, Bits 4 & 5 - Scroll MSBs */
- memory_set_bank(machine(), "bank1", data & 0x0f);
+ subbank("bank1")->set_entry(data & 0x0f);
m_scroll2[0] = (data >> 5) & 1;
m_scroll2[2] = (data >> 6) & 1;
diff --git a/src/mame/video/dooyong.c b/src/mame/video/dooyong.c
index 55362e1d6c7..c4b481d15c7 100644
--- a/src/mame/video/dooyong.c
+++ b/src/mame/video/dooyong.c
@@ -139,7 +139,7 @@ WRITE8_MEMBER(dooyong_state::pollux_ctrl_w)
WRITE8_MEMBER(dooyong_state::primella_ctrl_w)
{
/* bits 0-2 select ROM bank */
- memory_set_bank(machine(), "bank1", data & 0x07);
+ subbank("bank1")->set_entry(data & 0x07);
/* bit 3 disables tx layer */
m_tx_pri = data & 0x08;
diff --git a/src/mame/video/galivan.c b/src/mame/video/galivan.c
index 9880b229fda..0c532eda332 100644
--- a/src/mame/video/galivan.c
+++ b/src/mame/video/galivan.c
@@ -229,7 +229,7 @@ WRITE8_MEMBER(galivan_state::galivan_gfxbank_w)
m_tx_tilemap->set_flip(m_flipscreen ? TILEMAP_FLIPX | TILEMAP_FLIPY : 0);
/* bit 7 selects one of two ROM banks for c000-dfff */
- memory_set_bank(machine(), "bank1", (data & 0x80) >> 7);
+ subbank("bank1")->set_entry((data & 0x80) >> 7);
/* logerror("Address: %04X - port 40 = %02x\n", cpu_get_pc(&space.device()), data); */
}
@@ -254,7 +254,7 @@ WRITE8_MEMBER(galivan_state::ninjemak_gfxbank_w)
/* bit 5 sprite flag ??? */
/* bit 6, 7 ROM bank select */
- memory_set_bank(machine(), "bank1", (data & 0xc0) >> 6);
+ subbank("bank1")->set_entry((data & 0xc0) >> 6);
#if 0
{
diff --git a/src/mame/video/gunsmoke.c b/src/mame/video/gunsmoke.c
index 543f74b9299..bb5d89373b8 100644
--- a/src/mame/video/gunsmoke.c
+++ b/src/mame/video/gunsmoke.c
@@ -79,7 +79,7 @@ WRITE8_MEMBER(gunsmoke_state::gunsmoke_c804_w)
coin_counter_w(machine(), 0, data & 0x02);
/* bits 2 and 3 select the ROM bank */
- memory_set_bank(machine(), "bank1", (data & 0x0c) >> 2);
+ subbank("bank1")->set_entry((data & 0x0c) >> 2);
/* bit 5 resets the sound CPU? - we ignore it */
diff --git a/src/mame/video/hexion.c b/src/mame/video/hexion.c
index beebc5f1c78..056afd79b58 100644
--- a/src/mame/video/hexion.c
+++ b/src/mame/video/hexion.c
@@ -68,7 +68,7 @@ WRITE8_MEMBER(hexion_state::hexion_bankswitch_w)
UINT8 *rom = machine().region("maincpu")->base() + 0x10000;
/* bits 0-3 select ROM bank */
- memory_set_bankptr(machine(), "bank1",rom + 0x2000 * (data & 0x0f));
+ subbank("bank1")->set_base(rom + 0x2000 * (data & 0x0f));
/* does bit 6 trigger the 052591? */
if (data & 0x40)
diff --git a/src/mame/video/homerun.c b/src/mame/video/homerun.c
index b54423fc28d..1a8ff117f8f 100644
--- a/src/mame/video/homerun.c
+++ b/src/mame/video/homerun.c
@@ -15,7 +15,7 @@ WRITE8_DEVICE_HANDLER(homerun_banking_w)
state->m_tilemap->mark_all_dirty();
data >>= 5;
- memory_set_bank(device->machine(), "bank1", data & 0x07);
+ state->subbank("bank1")->set_entry(data & 0x07);
}
WRITE8_MEMBER(homerun_state::homerun_videoram_w)
diff --git a/src/mame/video/kangaroo.c b/src/mame/video/kangaroo.c
index e546548290d..88df42a2d8b 100644
--- a/src/mame/video/kangaroo.c
+++ b/src/mame/video/kangaroo.c
@@ -85,7 +85,7 @@ WRITE8_MEMBER(kangaroo_state::kangaroo_video_control_w)
break;
case 8: /* bank select */
- memory_set_bank(machine(), "bank1", (data & 0x05) ? 0 : 1);
+ subbank("bank1")->set_entry((data & 0x05) ? 0 : 1);
break;
}
}
diff --git a/src/mame/video/metlclsh.c b/src/mame/video/metlclsh.c
index 3f6a98b3d58..45359c06b8d 100644
--- a/src/mame/video/metlclsh.c
+++ b/src/mame/video/metlclsh.c
@@ -28,12 +28,12 @@ WRITE8_MEMBER(metlclsh_state::metlclsh_rambank_w)
if (data & 1)
{
m_write_mask = 0;
- memory_set_bankptr(machine(), "bank1", m_bgram);
+ subbank("bank1")->set_base(m_bgram);
}
else
{
m_write_mask = 1 << (data >> 1);
- memory_set_bankptr(machine(), "bank1", m_otherram);
+ subbank("bank1")->set_base(m_otherram);
}
}
diff --git a/src/mame/video/mexico86.c b/src/mame/video/mexico86.c
index f3c4bdf6cc1..57f72682597 100644
--- a/src/mame/video/mexico86.c
+++ b/src/mame/video/mexico86.c
@@ -8,7 +8,7 @@ WRITE8_MEMBER(mexico86_state::mexico86_bankswitch_w)
if ((data & 7) > 5)
popmessage("Switching to invalid bank!");
- memory_set_bank(machine(), "bank1", data & 0x07);
+ subbank("bank1")->set_entry(data & 0x07);
m_charbank = BIT(data, 5);
}
diff --git a/src/mame/video/mjkjidai.c b/src/mame/video/mjkjidai.c
index 74128e8bf61..e918b2b3b8e 100644
--- a/src/mame/video/mjkjidai.c
+++ b/src/mame/video/mjkjidai.c
@@ -68,12 +68,12 @@ WRITE8_MEMBER(mjkjidai_state::mjkjidai_ctrl_w)
/* bits 6-7 select ROM bank */
if (data & 0xc0)
{
- memory_set_bankptr(machine(), "bank1",rom + 0x10000-0x4000 + ((data & 0xc0) << 8));
+ subbank("bank1")->set_base(rom + 0x10000-0x4000 + ((data & 0xc0) << 8));
}
else
{
/* there is code flowing from 7fff to this bank so they have to be contiguous in memory */
- memory_set_bankptr(machine(), "bank1",rom + 0x08000);
+ subbank("bank1")->set_base(rom + 0x08000);
}
}
diff --git a/src/mame/video/pacland.c b/src/mame/video/pacland.c
index d75ad4b91ff..2b8dded4f65 100644
--- a/src/mame/video/pacland.c
+++ b/src/mame/video/pacland.c
@@ -256,7 +256,7 @@ WRITE8_MEMBER(pacland_state::pacland_bankswitch_w)
UINT8 *RAM = machine().region("maincpu")->base();
bankaddress = 0x10000 + ((data & 0x07) << 13);
- memory_set_bankptr(machine(), "bank1",&RAM[bankaddress]);
+ subbank("bank1")->set_base(&RAM[bankaddress]);
// pbc = data & 0x20;
diff --git a/src/mame/video/phoenix.c b/src/mame/video/phoenix.c
index ebec2a27c72..bf78c020e00 100644
--- a/src/mame/video/phoenix.c
+++ b/src/mame/video/phoenix.c
@@ -178,9 +178,9 @@ VIDEO_START( phoenix )
state->m_videoram_pg[0] = auto_alloc_array(machine, UINT8, 0x1000);
state->m_videoram_pg[1] = auto_alloc_array(machine, UINT8, 0x1000);
- memory_configure_bank(machine, "bank1", 0, 1, state->m_videoram_pg[0], 0);
- memory_configure_bank(machine, "bank1", 1, 1, state->m_videoram_pg[1], 0);
- memory_set_bank(machine, "bank1", 0);
+ state->subbank("bank1")->configure_entry(0, state->m_videoram_pg[0]);
+ state->subbank("bank1")->configure_entry(1, state->m_videoram_pg[1]);
+ state->subbank("bank1")->set_entry(0);
state->m_videoram_pg_index = 0;
state->m_palette_bank = 0;
@@ -249,7 +249,7 @@ WRITE8_MEMBER(phoenix_state::phoenix_videoreg_w)
{
/* set memory bank */
m_videoram_pg_index = data & 1;
- memory_set_bank(machine(), "bank1", m_videoram_pg_index);
+ subbank("bank1")->set_entry(m_videoram_pg_index);
m_cocktail_mode = m_videoram_pg_index && (input_port_read(machine(), "CAB") & 0x01);
@@ -272,7 +272,7 @@ WRITE8_MEMBER(phoenix_state::pleiads_videoreg_w)
{
/* set memory bank */
m_videoram_pg_index = data & 1;
- memory_set_bank(machine(), "bank1", m_videoram_pg_index);
+ subbank("bank1")->set_entry(m_videoram_pg_index);
m_cocktail_mode = m_videoram_pg_index && (input_port_read(machine(), "CAB") & 0x01);
diff --git a/src/mame/video/shisen.c b/src/mame/video/shisen.c
index 7b1bd3430aa..7658a715ea6 100644
--- a/src/mame/video/shisen.c
+++ b/src/mame/video/shisen.c
@@ -18,7 +18,7 @@ WRITE8_MEMBER(shisen_state::sichuan2_bankswitch_w)
/* bits 0-2 select ROM bank */
bankaddress = 0x10000 + (data & 0x07) * 0x4000;
- memory_set_bankptr(machine(), "bank1", &RAM[bankaddress]);
+ subbank("bank1")->set_base(&RAM[bankaddress]);
/* bits 3-5 select gfx bank */
bank = (data & 0x38) >> 3;
diff --git a/src/mame/video/simpsons.c b/src/mame/video/simpsons.c
index d0c8ea78c68..04039b41b63 100644
--- a/src/mame/video/simpsons.c
+++ b/src/mame/video/simpsons.c
@@ -99,7 +99,7 @@ void simpsons_video_banking( running_machine &machine, int bank )
{
space->install_read_bank(0x0000, 0x0fff, "bank5");
space->install_write_handler(0x0000, 0x0fff, write8_delegate(FUNC(simpsons_state::paletteram_xBBBBBGGGGGRRRRR_byte_be_w), state));
- memory_set_bankptr(machine, "bank5", state->m_generic_paletteram_8);
+ state->subbank("bank5")->set_base(state->m_generic_paletteram_8);
}
else
space->install_legacy_readwrite_handler(*state->m_k052109, 0x0000, 0x0fff, FUNC(k052109_r), FUNC(k052109_w));
diff --git a/src/mame/video/spdodgeb.c b/src/mame/video/spdodgeb.c
index 38ae3b71c93..590cb29af00 100644
--- a/src/mame/video/spdodgeb.c
+++ b/src/mame/video/spdodgeb.c
@@ -114,7 +114,7 @@ WRITE8_MEMBER(spdodgeb_state::spdodgeb_ctrl_w)
flip_screen_set(data & 0x01);
/* bit 1 = ROM bank switch */
- memory_set_bankptr(machine(), "bank1",rom + 0x10000 + 0x4000 * ((~data & 0x02) >> 1));
+ subbank("bank1")->set_base(rom + 0x10000 + 0x4000 * ((~data & 0x02) >> 1));
/* bit 2 = scroll high bit */
m_lastscroll = (m_lastscroll & 0x0ff) | ((data & 0x04) << 6);
diff --git a/src/mame/video/superqix.c b/src/mame/video/superqix.c
index a1e0fb5130c..112bf67cebd 100644
--- a/src/mame/video/superqix.c
+++ b/src/mame/video/superqix.c
@@ -127,7 +127,7 @@ WRITE8_MEMBER(superqix_state::pbillian_0410_w)
coin_counter_w(machine(), 0,data & 0x02);
coin_counter_w(machine(), 1,data & 0x04);
- memory_set_bank(machine(), "bank1", (data & 0x08) >> 3);
+ subbank("bank1")->set_entry((data & 0x08) >> 3);
m_nmi_mask = data & 0x10;
flip_screen_set(data & 0x20);
@@ -149,7 +149,7 @@ WRITE8_MEMBER(superqix_state::superqix_0410_w)
m_nmi_mask = data & 0x08;
/* bits 4-5 control ROM bank */
- memory_set_bank(machine(), "bank1", (data & 0x30) >> 4);
+ subbank("bank1")->set_entry((data & 0x30) >> 4);
}