summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers
diff options
context:
space:
mode:
author Olivier Galibert <galibert@pobox.com>2018-02-01 10:04:01 +0100
committer Olivier Galibert <galibert@pobox.com>2018-02-12 10:04:52 +0100
commitc5219643162cb7d2a8688425a09008d28c8e2437 (patch)
treef2775ca3b1770ab0d3fb568f0bdd6d9212c68bf6 /src/mame/drivers
parent09b6ce46873b38de9030a3c0378ff327f17af881 (diff)
API change: Memory maps are now methods of the owner class [O. Galibert]
Also, a lot more freedom happened, that's going to be more visible soon.
Diffstat (limited to 'src/mame/drivers')
-rw-r--r--src/mame/drivers/1942.cpp10
-rw-r--r--src/mame/drivers/1943.cpp4
-rw-r--r--src/mame/drivers/1945kiii.cpp9
-rw-r--r--src/mame/drivers/20pacgal.cpp16
-rw-r--r--src/mame/drivers/24cdjuke.cpp6
-rw-r--r--src/mame/drivers/2mindril.cpp4
-rw-r--r--src/mame/drivers/30test.cpp6
-rw-r--r--src/mame/drivers/39in1.cpp5
-rw-r--r--src/mame/drivers/3do.cpp6
-rw-r--r--src/mame/drivers/3x3puzzl.cpp3
-rw-r--r--src/mame/drivers/4004clk.cpp25
-rw-r--r--src/mame/drivers/40love.cpp8
-rw-r--r--src/mame/drivers/4dpi.cpp3
-rw-r--r--src/mame/drivers/4enlinea.cpp12
-rw-r--r--src/mame/drivers/4enraya.cpp8
-rw-r--r--src/mame/drivers/4roses.cpp5
-rw-r--r--src/mame/drivers/5clown.cpp6
-rw-r--r--src/mame/drivers/68ksbc.cpp3
-rw-r--r--src/mame/drivers/8080bw.cpp74
-rw-r--r--src/mame/drivers/88games.cpp4
-rw-r--r--src/mame/drivers/a2600.cpp2
-rw-r--r--src/mame/drivers/a5105.cpp9
-rw-r--r--src/mame/drivers/a51xx.cpp12
-rw-r--r--src/mame/drivers/a6809.cpp6
-rw-r--r--src/mame/drivers/a7150.cpp15
-rw-r--r--src/mame/drivers/a7800.cpp3
-rw-r--r--src/mame/drivers/aa310.cpp3
-rw-r--r--src/mame/drivers/abc1600.cpp4
-rw-r--r--src/mame/drivers/abc80.cpp4
-rw-r--r--src/mame/drivers/abc80x.cpp16
-rw-r--r--src/mame/drivers/ac1.cpp6
-rw-r--r--src/mame/drivers/accomm.cpp3
-rw-r--r--src/mame/drivers/ace.cpp3
-rw-r--r--src/mame/drivers/aceex.cpp3
-rw-r--r--src/mame/drivers/acefruit.cpp6
-rw-r--r--src/mame/drivers/aces1.cpp6
-rw-r--r--src/mame/drivers/acesp.cpp6
-rw-r--r--src/mame/drivers/acommand.cpp3
-rw-r--r--src/mame/drivers/acrnsys1.cpp3
-rw-r--r--src/mame/drivers/actfancr.cpp6
-rw-r--r--src/mame/drivers/acvirus.cpp3
-rw-r--r--src/mame/drivers/adam.cpp8
-rw-r--r--src/mame/drivers/adp.cpp27
-rw-r--r--src/mame/drivers/advision.cpp4
-rw-r--r--src/mame/drivers/aeroboto.cpp4
-rw-r--r--src/mame/drivers/aerofgt.cpp50
-rw-r--r--src/mame/drivers/agat.cpp6
-rw-r--r--src/mame/drivers/age_candy.cpp3
-rw-r--r--src/mame/drivers/aim65.cpp2
-rw-r--r--src/mame/drivers/aim65_40.cpp3
-rw-r--r--src/mame/drivers/airbustr.cpp12
-rw-r--r--src/mame/drivers/airraid.cpp16
-rw-r--r--src/mame/drivers/ajax.cpp6
-rw-r--r--src/mame/drivers/akaiax80.cpp3
-rw-r--r--src/mame/drivers/albazc.cpp3
-rw-r--r--src/mame/drivers/albazg.cpp6
-rw-r--r--src/mame/drivers/aleck64.cpp9
-rw-r--r--src/mame/drivers/alesis.cpp10
-rw-r--r--src/mame/drivers/alesis_qs.cpp3
-rw-r--r--src/mame/drivers/alg.cpp15
-rw-r--r--src/mame/drivers/alien.cpp3
-rw-r--r--src/mame/drivers/aliens.cpp6
-rw-r--r--src/mame/drivers/alinvade.cpp3
-rw-r--r--src/mame/drivers/allied.cpp3
-rw-r--r--src/mame/drivers/alpha68k.cpp30
-rw-r--r--src/mame/drivers/alphasma.cpp9
-rw-r--r--src/mame/drivers/alphatpx.cpp24
-rw-r--r--src/mame/drivers/alphatro.cpp15
-rw-r--r--src/mame/drivers/altair.cpp6
-rw-r--r--src/mame/drivers/alto2.cpp9
-rw-r--r--src/mame/drivers/altos2.cpp6
-rw-r--r--src/mame/drivers/altos486.cpp12
-rw-r--r--src/mame/drivers/altos5.cpp6
-rw-r--r--src/mame/drivers/altos8600.cpp23
-rw-r--r--src/mame/drivers/alvg.cpp3
-rw-r--r--src/mame/drivers/amaticmg.cpp12
-rw-r--r--src/mame/drivers/ambush.cpp9
-rw-r--r--src/mame/drivers/amerihok.cpp6
-rw-r--r--src/mame/drivers/amico2k.cpp3
-rw-r--r--src/mame/drivers/amiga.cpp57
-rw-r--r--src/mame/drivers/ampex.cpp3
-rw-r--r--src/mame/drivers/ampoker2.cpp4
-rw-r--r--src/mame/drivers/ampro.cpp6
-rw-r--r--src/mame/drivers/amspdwy.cpp6
-rw-r--r--src/mame/drivers/amstr_pc.cpp12
-rw-r--r--src/mame/drivers/amstrad.cpp4
-rw-r--r--src/mame/drivers/amusco.cpp6
-rw-r--r--src/mame/drivers/amust.cpp6
-rw-r--r--src/mame/drivers/anes.cpp6
-rw-r--r--src/mame/drivers/angelkds.cpp12
-rw-r--r--src/mame/drivers/anzterm.cpp3
-rw-r--r--src/mame/drivers/apc.cpp12
-rw-r--r--src/mame/drivers/apexc.cpp3
-rw-r--r--src/mame/drivers/apf.cpp6
-rw-r--r--src/mame/drivers/apogee.cpp3
-rw-r--r--src/mame/drivers/apollo.cpp12
-rw-r--r--src/mame/drivers/apple1.cpp3
-rw-r--r--src/mame/drivers/apple2.cpp6
-rw-r--r--src/mame/drivers/apple2e.cpp51
-rw-r--r--src/mame/drivers/apple2gs.cpp2
-rw-r--r--src/mame/drivers/apple3.cpp2
-rw-r--r--src/mame/drivers/applix.cpp15
-rw-r--r--src/mame/drivers/appoooh.cpp10
-rw-r--r--src/mame/drivers/apricot.cpp6
-rw-r--r--src/mame/drivers/apricotf.cpp6
-rw-r--r--src/mame/drivers/apricotp.cpp12
-rw-r--r--src/mame/drivers/aquarium.cpp6
-rw-r--r--src/mame/drivers/aquarius.cpp4
-rw-r--r--src/mame/drivers/arabian.cpp4
-rw-r--r--src/mame/drivers/arachnid.cpp3
-rw-r--r--src/mame/drivers/arcadecl.cpp2
-rw-r--r--src/mame/drivers/arcadia.cpp2
-rw-r--r--src/mame/drivers/argo.cpp6
-rw-r--r--src/mame/drivers/argox.cpp6
-rw-r--r--src/mame/drivers/argus.cpp14
-rw-r--r--src/mame/drivers/aristmk4.cpp6
-rw-r--r--src/mame/drivers/aristmk5.cpp9
-rw-r--r--src/mame/drivers/aristmk6.cpp6
-rw-r--r--src/mame/drivers/arkanoid.cpp14
-rw-r--r--src/mame/drivers/armedf.cpp30
-rw-r--r--src/mame/drivers/arsystems.cpp12
-rw-r--r--src/mame/drivers/artmagic.cpp16
-rw-r--r--src/mame/drivers/ashnojoe.cpp6
-rw-r--r--src/mame/drivers/asst128.cpp10
-rw-r--r--src/mame/drivers/asterix.cpp4
-rw-r--r--src/mame/drivers/asteroid.cpp6
-rw-r--r--src/mame/drivers/astinvad.cpp12
-rw-r--r--src/mame/drivers/astrafr.cpp12
-rw-r--r--src/mame/drivers/astrcorp.cpp12
-rw-r--r--src/mame/drivers/astrocde.cpp34
-rw-r--r--src/mame/drivers/astrof.cpp6
-rw-r--r--src/mame/drivers/astrohome.cpp6
-rw-r--r--src/mame/drivers/astropc.cpp6
-rw-r--r--src/mame/drivers/asuka.cpp18
-rw-r--r--src/mame/drivers/at.cpp42
-rw-r--r--src/mame/drivers/atari400.cpp21
-rw-r--r--src/mame/drivers/atari_s1.cpp9
-rw-r--r--src/mame/drivers/atari_s2.cpp6
-rw-r--r--src/mame/drivers/atarifb.cpp8
-rw-r--r--src/mame/drivers/atarig1.cpp2
-rw-r--r--src/mame/drivers/atarig42.cpp2
-rw-r--r--src/mame/drivers/atarigt.cpp2
-rw-r--r--src/mame/drivers/atarigx2.cpp2
-rw-r--r--src/mame/drivers/atarist.cpp14
-rw-r--r--src/mame/drivers/atarisy1.cpp4
-rw-r--r--src/mame/drivers/atarisy2.cpp4
-rw-r--r--src/mame/drivers/atarisy4.cpp15
-rw-r--r--src/mame/drivers/atetris.cpp6
-rw-r--r--src/mame/drivers/atlantis.cpp20
-rw-r--r--src/mame/drivers/atm.cpp11
-rw-r--r--src/mame/drivers/atom.cpp6
-rw-r--r--src/mame/drivers/atpci.cpp6
-rw-r--r--src/mame/drivers/atronic.cpp6
-rw-r--r--src/mame/drivers/att4425.cpp6
-rw-r--r--src/mame/drivers/att630.cpp3
-rw-r--r--src/mame/drivers/attache.cpp15
-rw-r--r--src/mame/drivers/attckufo.cpp9
-rw-r--r--src/mame/drivers/atvtrack.cpp18
-rw-r--r--src/mame/drivers/aussiebyte.cpp4
-rw-r--r--src/mame/drivers/avalnche.cpp4
-rw-r--r--src/mame/drivers/avigo.cpp6
-rw-r--r--src/mame/drivers/avt.cpp6
-rw-r--r--src/mame/drivers/ax20.cpp6
-rw-r--r--src/mame/drivers/aztarac.cpp4
-rw-r--r--src/mame/drivers/b16.cpp6
-rw-r--r--src/mame/drivers/b2m.cpp6
-rw-r--r--src/mame/drivers/babbage.cpp6
-rw-r--r--src/mame/drivers/backfire.cpp3
-rw-r--r--src/mame/drivers/badlands.cpp8
-rw-r--r--src/mame/drivers/bagman.cpp6
-rw-r--r--src/mame/drivers/balsente.cpp11
-rw-r--r--src/mame/drivers/banctec.cpp6
-rw-r--r--src/mame/drivers/bankp.cpp4
-rw-r--r--src/mame/drivers/baraduke.cpp6
-rw-r--r--src/mame/drivers/barata.cpp3
-rw-r--r--src/mame/drivers/barni.cpp9
-rw-r--r--src/mame/drivers/bartop52.cpp3
-rw-r--r--src/mame/drivers/basic52.cpp6
-rw-r--r--src/mame/drivers/batman.cpp2
-rw-r--r--src/mame/drivers/battlane.cpp2
-rw-r--r--src/mame/drivers/battlera.cpp6
-rw-r--r--src/mame/drivers/battlex.cpp6
-rw-r--r--src/mame/drivers/battlnts.cpp4
-rw-r--r--src/mame/drivers/bbc.cpp16
-rw-r--r--src/mame/drivers/bbcbc.cpp10
-rw-r--r--src/mame/drivers/bbusters.cpp10
-rw-r--r--src/mame/drivers/bcs3.cpp9
-rw-r--r--src/mame/drivers/beaminv.cpp6
-rw-r--r--src/mame/drivers/beathead.cpp2
-rw-r--r--src/mame/drivers/bebox.cpp4
-rw-r--r--src/mame/drivers/beehive.cpp6
-rw-r--r--src/mame/drivers/beezer.cpp9
-rw-r--r--src/mame/drivers/belatra.cpp3
-rw-r--r--src/mame/drivers/berzerk.cpp9
-rw-r--r--src/mame/drivers/besta.cpp3
-rw-r--r--src/mame/drivers/bestleag.cpp3
-rw-r--r--src/mame/drivers/beta.cpp3
-rw-r--r--src/mame/drivers/bfcobra.cpp12
-rw-r--r--src/mame/drivers/bfm_ad5.cpp2
-rw-r--r--src/mame/drivers/bfm_sc1.cpp9
-rw-r--r--src/mame/drivers/bfm_sc2.cpp9
-rw-r--r--src/mame/drivers/bfm_sc4.cpp4
-rw-r--r--src/mame/drivers/bfm_sc5.cpp2
-rw-r--r--src/mame/drivers/bfm_swp.cpp3
-rw-r--r--src/mame/drivers/bfmsys83.cpp3
-rw-r--r--src/mame/drivers/bfmsys85.cpp3
-rw-r--r--src/mame/drivers/bgt.cpp6
-rw-r--r--src/mame/drivers/big10.cpp6
-rw-r--r--src/mame/drivers/bigbord2.cpp6
-rw-r--r--src/mame/drivers/bigevglf.cpp10
-rw-r--r--src/mame/drivers/bigstrkb.cpp2
-rw-r--r--src/mame/drivers/binbug.cpp12
-rw-r--r--src/mame/drivers/bingo.cpp9
-rw-r--r--src/mame/drivers/bingoc.cpp9
-rw-r--r--src/mame/drivers/bingoman.cpp6
-rw-r--r--src/mame/drivers/bingor.cpp21
-rw-r--r--src/mame/drivers/bingowav.cpp12
-rw-r--r--src/mame/drivers/bionicc.cpp4
-rw-r--r--src/mame/drivers/bishi.cpp2
-rw-r--r--src/mame/drivers/bitgraph.cpp9
-rw-r--r--src/mame/drivers/bk.cpp4
-rw-r--r--src/mame/drivers/bking.cpp8
-rw-r--r--src/mame/drivers/blackt96.cpp6
-rw-r--r--src/mame/drivers/bladestl.cpp4
-rw-r--r--src/mame/drivers/blitz68k.cpp30
-rw-r--r--src/mame/drivers/blktiger.cpp12
-rw-r--r--src/mame/drivers/blmbycar.cpp8
-rw-r--r--src/mame/drivers/blockade.cpp6
-rw-r--r--src/mame/drivers/blockhl.cpp9
-rw-r--r--src/mame/drivers/blockout.cpp6
-rw-r--r--src/mame/drivers/bloodbro.cpp10
-rw-r--r--src/mame/drivers/blstroid.cpp2
-rw-r--r--src/mame/drivers/blueprnt.cpp8
-rw-r--r--src/mame/drivers/bmcbowl.cpp6
-rw-r--r--src/mame/drivers/bmcpokr.cpp9
-rw-r--r--src/mame/drivers/bmjr.cpp3
-rw-r--r--src/mame/drivers/bml3.cpp9
-rw-r--r--src/mame/drivers/bnstars.cpp6
-rw-r--r--src/mame/drivers/bntyhunt.cpp3
-rw-r--r--src/mame/drivers/bob85.cpp6
-rw-r--r--src/mame/drivers/bogeyman.cpp2
-rw-r--r--src/mame/drivers/bombjack.cpp6
-rw-r--r--src/mame/drivers/boogwing.cpp8
-rw-r--r--src/mame/drivers/bottom9.cpp4
-rw-r--r--src/mame/drivers/bowltry.cpp3
-rw-r--r--src/mame/drivers/boxer.cpp3
-rw-r--r--src/mame/drivers/bpmmicro.cpp6
-rw-r--r--src/mame/drivers/br8641.cpp6
-rw-r--r--src/mame/drivers/brkthru.cpp6
-rw-r--r--src/mame/drivers/bsktball.cpp2
-rw-r--r--src/mame/drivers/btime.cpp20
-rw-r--r--src/mame/drivers/btoads.cpp6
-rw-r--r--src/mame/drivers/bublbobl.cpp22
-rw-r--r--src/mame/drivers/buggychl.cpp4
-rw-r--r--src/mame/drivers/bullet.cpp8
-rw-r--r--src/mame/drivers/busicom.cpp10
-rw-r--r--src/mame/drivers/buster.cpp3
-rw-r--r--src/mame/drivers/bw12.cpp4
-rw-r--r--src/mame/drivers/bw2.cpp6
-rw-r--r--src/mame/drivers/bwidow.cpp6
-rw-r--r--src/mame/drivers/bwing.cpp10
-rw-r--r--src/mame/drivers/by17.cpp3
-rw-r--r--src/mame/drivers/by35.cpp6
-rw-r--r--src/mame/drivers/by6803.cpp6
-rw-r--r--src/mame/drivers/by68701.cpp3
-rw-r--r--src/mame/drivers/byvid.cpp15
-rw-r--r--src/mame/drivers/bzone.cpp4
-rw-r--r--src/mame/drivers/c10.cpp6
-rw-r--r--src/mame/drivers/c128.cpp18
-rw-r--r--src/mame/drivers/c64.cpp9
-rw-r--r--src/mame/drivers/c65.cpp3
-rw-r--r--src/mame/drivers/c80.cpp4
-rw-r--r--src/mame/drivers/c900.cpp9
-rw-r--r--src/mame/drivers/cabal.cpp28
-rw-r--r--src/mame/drivers/cabaret.cpp6
-rw-r--r--src/mame/drivers/calchase.cpp6
-rw-r--r--src/mame/drivers/calcune.cpp3
-rw-r--r--src/mame/drivers/calomega.cpp8
-rw-r--r--src/mame/drivers/calorie.cpp16
-rw-r--r--src/mame/drivers/camplynx.cpp15
-rw-r--r--src/mame/drivers/candela.cpp6
-rw-r--r--src/mame/drivers/canon_s80.cpp3
-rw-r--r--src/mame/drivers/canyon.cpp2
-rw-r--r--src/mame/drivers/capbowl.cpp6
-rw-r--r--src/mame/drivers/capcom.cpp3
-rw-r--r--src/mame/drivers/capr1.cpp3
-rw-r--r--src/mame/drivers/caprcyc.cpp3
-rw-r--r--src/mame/drivers/cardline.cpp6
-rw-r--r--src/mame/drivers/carjmbre.cpp9
-rw-r--r--src/mame/drivers/carpolo.cpp2
-rw-r--r--src/mame/drivers/carrera.cpp6
-rw-r--r--src/mame/drivers/casloopy.cpp6
-rw-r--r--src/mame/drivers/castle.cpp9
-rw-r--r--src/mame/drivers/caswin.cpp6
-rw-r--r--src/mame/drivers/cat.cpp3
-rw-r--r--src/mame/drivers/cave.cpp64
-rw-r--r--src/mame/drivers/cavepc.cpp6
-rw-r--r--src/mame/drivers/cb2001.cpp6
-rw-r--r--src/mame/drivers/cball.cpp3
-rw-r--r--src/mame/drivers/cbasebal.cpp8
-rw-r--r--src/mame/drivers/cbm2.cpp18
-rw-r--r--src/mame/drivers/cbuster.cpp4
-rw-r--r--src/mame/drivers/cc40.cpp3
-rw-r--r--src/mame/drivers/ccastles.cpp2
-rw-r--r--src/mame/drivers/cchance.cpp3
-rw-r--r--src/mame/drivers/cchasm.cpp6
-rw-r--r--src/mame/drivers/cclimber.cpp38
-rw-r--r--src/mame/drivers/ccs2810.cpp9
-rw-r--r--src/mame/drivers/ccs300.cpp6
-rw-r--r--src/mame/drivers/cd2650.cpp9
-rw-r--r--src/mame/drivers/cdc721.cpp6
-rw-r--r--src/mame/drivers/cdi.cpp12
-rw-r--r--src/mame/drivers/cedar_magnet.cpp15
-rw-r--r--src/mame/drivers/centiped.cpp24
-rw-r--r--src/mame/drivers/cesclass.cpp3
-rw-r--r--src/mame/drivers/cfx9850.cpp3
-rw-r--r--src/mame/drivers/cgc7900.cpp4
-rw-r--r--src/mame/drivers/cgenie.cpp6
-rw-r--r--src/mame/drivers/chaknpop.cpp2
-rw-r--r--src/mame/drivers/cham24.cpp3
-rw-r--r--src/mame/drivers/champbas.cpp22
-rw-r--r--src/mame/drivers/champbwl.cpp6
-rw-r--r--src/mame/drivers/chanbara.cpp3
-rw-r--r--src/mame/drivers/chance32.cpp6
-rw-r--r--src/mame/drivers/changela.cpp2
-rw-r--r--src/mame/drivers/channelf.cpp4
-rw-r--r--src/mame/drivers/chaos.cpp9
-rw-r--r--src/mame/drivers/cheekyms.cpp4
-rw-r--r--src/mame/drivers/chessmst.cpp12
-rw-r--r--src/mame/drivers/chesstrv.cpp9
-rw-r--r--src/mame/drivers/chexx.cpp6
-rw-r--r--src/mame/drivers/chihiro.cpp6
-rw-r--r--src/mame/drivers/chinagat.cpp18
-rw-r--r--src/mame/drivers/chinsan.cpp14
-rw-r--r--src/mame/drivers/chqflag.cpp6
-rw-r--r--src/mame/drivers/chsuper.cpp9
-rw-r--r--src/mame/drivers/cidelsa.cpp16
-rw-r--r--src/mame/drivers/cinemat.cpp16
-rw-r--r--src/mame/drivers/circus.cpp2
-rw-r--r--src/mame/drivers/circusc.cpp4
-rw-r--r--src/mame/drivers/cischeat.cpp42
-rw-r--r--src/mame/drivers/cit220.cpp9
-rw-r--r--src/mame/drivers/citycon.cpp4
-rw-r--r--src/mame/drivers/ckz80.cpp6
-rw-r--r--src/mame/drivers/clayshoo.cpp6
-rw-r--r--src/mame/drivers/clcd.cpp6
-rw-r--r--src/mame/drivers/cliffhgr.cpp6
-rw-r--r--src/mame/drivers/cloak.cpp4
-rw-r--r--src/mame/drivers/cloud9.cpp2
-rw-r--r--src/mame/drivers/clowndwn.cpp3
-rw-r--r--src/mame/drivers/clpoker.cpp9
-rw-r--r--src/mame/drivers/clshroad.cpp4
-rw-r--r--src/mame/drivers/cm1800.cpp6
-rw-r--r--src/mame/drivers/cmi.cpp18
-rw-r--r--src/mame/drivers/cmmb.cpp3
-rw-r--r--src/mame/drivers/cninja.cpp22
-rw-r--r--src/mame/drivers/cntsteer.cpp15
-rw-r--r--src/mame/drivers/cobra.cpp9
-rw-r--r--src/mame/drivers/coco12.cpp4
-rw-r--r--src/mame/drivers/coco3.cpp2
-rw-r--r--src/mame/drivers/cocoloco.cpp3
-rw-r--r--src/mame/drivers/codata.cpp3
-rw-r--r--src/mame/drivers/coinmstr.cpp21
-rw-r--r--src/mame/drivers/coinmvga.cpp12
-rw-r--r--src/mame/drivers/coleco.cpp6
-rw-r--r--src/mame/drivers/combatsc.cpp8
-rw-r--r--src/mame/drivers/comebaby.cpp6
-rw-r--r--src/mame/drivers/commando.cpp8
-rw-r--r--src/mame/drivers/compc.cpp9
-rw-r--r--src/mame/drivers/compgolf.cpp2
-rw-r--r--src/mame/drivers/compis.cpp9
-rw-r--r--src/mame/drivers/compucolor.cpp6
-rw-r--r--src/mame/drivers/comquest.cpp2
-rw-r--r--src/mame/drivers/comx35.cpp4
-rw-r--r--src/mame/drivers/concept.cpp2
-rw-r--r--src/mame/drivers/contra.cpp4
-rw-r--r--src/mame/drivers/controlid.cpp6
-rw-r--r--src/mame/drivers/coolpool.cpp14
-rw-r--r--src/mame/drivers/coolridr.cpp15
-rw-r--r--src/mame/drivers/cop01.cpp12
-rw-r--r--src/mame/drivers/cops.cpp6
-rw-r--r--src/mame/drivers/copsnrob.cpp2
-rw-r--r--src/mame/drivers/corona.cpp48
-rw-r--r--src/mame/drivers/cortex.cpp6
-rw-r--r--src/mame/drivers/cosmic.cpp10
-rw-r--r--src/mame/drivers/cosmicos.cpp4
-rw-r--r--src/mame/drivers/cp1.cpp3
-rw-r--r--src/mame/drivers/cps1.cpp18
-rw-r--r--src/mame/drivers/cps2.cpp8
-rw-r--r--src/mame/drivers/cps3.cpp6
-rw-r--r--src/mame/drivers/craft.cpp9
-rw-r--r--src/mame/drivers/crbaloon.cpp4
-rw-r--r--src/mame/drivers/crgolf.cpp14
-rw-r--r--src/mame/drivers/crimfght.cpp6
-rw-r--r--src/mame/drivers/crospang.cpp12
-rw-r--r--src/mame/drivers/crshrace.cpp6
-rw-r--r--src/mame/drivers/crvision.cpp4
-rw-r--r--src/mame/drivers/crystal.cpp12
-rw-r--r--src/mame/drivers/csplayh5.cpp9
-rw-r--r--src/mame/drivers/cswat.cpp3
-rw-r--r--src/mame/drivers/ct486.cpp6
-rw-r--r--src/mame/drivers/cubeqst.cpp9
-rw-r--r--src/mame/drivers/cubo.cpp6
-rw-r--r--src/mame/drivers/cultures.cpp12
-rw-r--r--src/mame/drivers/cupidon.cpp3
-rw-r--r--src/mame/drivers/cv1k.cpp9
-rw-r--r--src/mame/drivers/cvicny.cpp3
-rw-r--r--src/mame/drivers/cvs.cpp10
-rw-r--r--src/mame/drivers/cxgz80.cpp3
-rw-r--r--src/mame/drivers/cxhumax.cpp2
-rw-r--r--src/mame/drivers/cyberbal.cpp10
-rw-r--r--src/mame/drivers/cybertnk.cpp9
-rw-r--r--src/mame/drivers/cybiko.cpp12
-rw-r--r--src/mame/drivers/cybstorm.cpp4
-rw-r--r--src/mame/drivers/cyclemb.cpp15
-rw-r--r--src/mame/drivers/czk80.cpp6
-rw-r--r--src/mame/drivers/d400.cpp3
-rw-r--r--src/mame/drivers/d6800.cpp3
-rw-r--r--src/mame/drivers/d6809.cpp3
-rw-r--r--src/mame/drivers/d9final.cpp6
-rw-r--r--src/mame/drivers/dacholer.cpp21
-rw-r--r--src/mame/drivers/dai.cpp4
-rw-r--r--src/mame/drivers/dai3wksi.cpp3
-rw-r--r--src/mame/drivers/dambustr.cpp3
-rw-r--r--src/mame/drivers/darius.cpp10
-rw-r--r--src/mame/drivers/darkmist.cpp6
-rw-r--r--src/mame/drivers/darkseal.cpp4
-rw-r--r--src/mame/drivers/daruma.cpp6
-rw-r--r--src/mame/drivers/dassault.cpp6
-rw-r--r--src/mame/drivers/datum.cpp3
-rw-r--r--src/mame/drivers/dblcrown.cpp6
-rw-r--r--src/mame/drivers/dblewing.cpp14
-rw-r--r--src/mame/drivers/dbox.cpp3
-rw-r--r--src/mame/drivers/dbz.cpp6
-rw-r--r--src/mame/drivers/dccons.cpp6
-rw-r--r--src/mame/drivers/dcheese.cpp4
-rw-r--r--src/mame/drivers/dcon.cpp4
-rw-r--r--src/mame/drivers/dct11em.cpp3
-rw-r--r--src/mame/drivers/dday.cpp2
-rw-r--r--src/mame/drivers/ddayjlc.cpp6
-rw-r--r--src/mame/drivers/ddealer.cpp3
-rw-r--r--src/mame/drivers/ddenlovr.cpp146
-rw-r--r--src/mame/drivers/ddragon.cpp16
-rw-r--r--src/mame/drivers/ddragon3.cpp12
-rw-r--r--src/mame/drivers/ddribble.cpp8
-rw-r--r--src/mame/drivers/de_2.cpp3
-rw-r--r--src/mame/drivers/deadang.cpp10
-rw-r--r--src/mame/drivers/dec0.cpp32
-rw-r--r--src/mame/drivers/dec8.cpp38
-rw-r--r--src/mame/drivers/deco156.cpp6
-rw-r--r--src/mame/drivers/deco32.cpp24
-rw-r--r--src/mame/drivers/deco_ld.cpp6
-rw-r--r--src/mame/drivers/deco_mlc.cpp4
-rw-r--r--src/mame/drivers/decocass.cpp4
-rw-r--r--src/mame/drivers/dectalk.cpp9
-rw-r--r--src/mame/drivers/decwritr.cpp6
-rw-r--r--src/mame/drivers/deniam.cpp8
-rw-r--r--src/mame/drivers/deshoros.cpp3
-rw-r--r--src/mame/drivers/destroyr.cpp3
-rw-r--r--src/mame/drivers/dfruit.cpp6
-rw-r--r--src/mame/drivers/dgn_beta.cpp2
-rw-r--r--src/mame/drivers/dgpix.cpp6
-rw-r--r--src/mame/drivers/didact.cpp6
-rw-r--r--src/mame/drivers/dietgo.cpp8
-rw-r--r--src/mame/drivers/digel804.cpp12
-rw-r--r--src/mame/drivers/digijet.cpp3
-rw-r--r--src/mame/drivers/dim68k.cpp3
-rw-r--r--src/mame/drivers/discoboy.cpp12
-rw-r--r--src/mame/drivers/divebomb.cpp12
-rw-r--r--src/mame/drivers/diverboy.cpp6
-rw-r--r--src/mame/drivers/djboy.cpp14
-rw-r--r--src/mame/drivers/djmain.cpp10
-rw-r--r--src/mame/drivers/dkong.cpp16
-rw-r--r--src/mame/drivers/dlair.cpp9
-rw-r--r--src/mame/drivers/dlair2.cpp6
-rw-r--r--src/mame/drivers/dm7000.cpp2
-rw-r--r--src/mame/drivers/dmax8000.cpp6
-rw-r--r--src/mame/drivers/dmndrby.cpp6
-rw-r--r--src/mame/drivers/dms5000.cpp6
-rw-r--r--src/mame/drivers/dms86.cpp6
-rw-r--r--src/mame/drivers/dmv.cpp9
-rw-r--r--src/mame/drivers/docastle.cpp14
-rw-r--r--src/mame/drivers/dogfgt.cpp4
-rw-r--r--src/mame/drivers/dolphunk.cpp6
-rw-r--r--src/mame/drivers/dominob.cpp6
-rw-r--r--src/mame/drivers/dooyong.cpp36
-rw-r--r--src/mame/drivers/dorachan.cpp6
-rw-r--r--src/mame/drivers/dotrikun.cpp6
-rw-r--r--src/mame/drivers/dps1.cpp6
-rw-r--r--src/mame/drivers/dragon.cpp2
-rw-r--r--src/mame/drivers/dragrace.cpp2
-rw-r--r--src/mame/drivers/dreambal.cpp3
-rw-r--r--src/mame/drivers/dreamwld.cpp12
-rw-r--r--src/mame/drivers/drgnmst.cpp2
-rw-r--r--src/mame/drivers/dribling.cpp4
-rw-r--r--src/mame/drivers/drmicro.cpp4
-rw-r--r--src/mame/drivers/drtomy.cpp3
-rw-r--r--src/mame/drivers/drw80pkr.cpp6
-rw-r--r--src/mame/drivers/dsb46.cpp6
-rw-r--r--src/mame/drivers/dual68.cpp9
-rw-r--r--src/mame/drivers/dunhuang.cpp9
-rw-r--r--src/mame/drivers/dvk_kcgd.cpp3
-rw-r--r--src/mame/drivers/dvk_ksm.cpp6
-rw-r--r--src/mame/drivers/dwarfd.cpp15
-rw-r--r--src/mame/drivers/dynadice.cpp12
-rw-r--r--src/mame/drivers/dynax.cpp71
-rw-r--r--src/mame/drivers/dynduke.cpp14
-rw-r--r--src/mame/drivers/e100.cpp3
-rw-r--r--src/mame/drivers/eacc.cpp3
-rw-r--r--src/mame/drivers/ec184x.cpp18
-rw-r--r--src/mame/drivers/ec65.cpp6
-rw-r--r--src/mame/drivers/ecoinf1.cpp6
-rw-r--r--src/mame/drivers/ecoinf2.cpp6
-rw-r--r--src/mame/drivers/ecoinf3.cpp6
-rw-r--r--src/mame/drivers/ecoinfr.cpp6
-rw-r--r--src/mame/drivers/egghunt.cpp9
-rw-r--r--src/mame/drivers/einstein.cpp6
-rw-r--r--src/mame/drivers/electron.cpp2
-rw-r--r--src/mame/drivers/elekscmp.cpp3
-rw-r--r--src/mame/drivers/elektronmono.cpp3
-rw-r--r--src/mame/drivers/elf.cpp4
-rw-r--r--src/mame/drivers/elwro800.cpp17
-rw-r--r--src/mame/drivers/embargo.cpp9
-rw-r--r--src/mame/drivers/enigma2.cpp12
-rw-r--r--src/mame/drivers/enmirage.cpp3
-rw-r--r--src/mame/drivers/eolith.cpp6
-rw-r--r--src/mame/drivers/eolith16.cpp3
-rw-r--r--src/mame/drivers/ep64.cpp15
-rw-r--r--src/mame/drivers/epos.cpp8
-rw-r--r--src/mame/drivers/eprom.cpp6
-rw-r--r--src/mame/drivers/equites.cpp17
-rw-r--r--src/mame/drivers/ertictac.cpp3
-rw-r--r--src/mame/drivers/esd16.cpp14
-rw-r--r--src/mame/drivers/esh.cpp6
-rw-r--r--src/mame/drivers/espial.cpp8
-rw-r--r--src/mame/drivers/esprit.cpp6
-rw-r--r--src/mame/drivers/esq1.cpp6
-rw-r--r--src/mame/drivers/esq5505.cpp12
-rw-r--r--src/mame/drivers/esqasr.cpp6
-rw-r--r--src/mame/drivers/esqkt.cpp3
-rw-r--r--src/mame/drivers/esqmr.cpp3
-rw-r--r--src/mame/drivers/esripsys.cpp8
-rw-r--r--src/mame/drivers/et3400.cpp3
-rw-r--r--src/mame/drivers/eti660.cpp4
-rw-r--r--src/mame/drivers/ettrivia.cpp6
-rw-r--r--src/mame/drivers/eurocom2.cpp6
-rw-r--r--src/mame/drivers/europc.cpp6
-rw-r--r--src/mame/drivers/evmbug.cpp6
-rw-r--r--src/mame/drivers/excali64.cpp6
-rw-r--r--src/mame/drivers/exedexes.cpp4
-rw-r--r--src/mame/drivers/exelv.cpp6
-rw-r--r--src/mame/drivers/exerion.cpp4
-rw-r--r--src/mame/drivers/exidy.cpp16
-rw-r--r--src/mame/drivers/exidy440.cpp2
-rw-r--r--src/mame/drivers/exp85.cpp4
-rw-r--r--src/mame/drivers/expro02.cpp33
-rw-r--r--src/mame/drivers/exprraid.cpp6
-rw-r--r--src/mame/drivers/exterm.cpp8
-rw-r--r--src/mame/drivers/extrema.cpp6
-rw-r--r--src/mame/drivers/exzisus.cpp8
-rw-r--r--src/mame/drivers/ez2d.cpp3
-rw-r--r--src/mame/drivers/f-32.cpp12
-rw-r--r--src/mame/drivers/f1gp.cpp14
-rw-r--r--src/mame/drivers/famibox.cpp3
-rw-r--r--src/mame/drivers/fantland.cpp18
-rw-r--r--src/mame/drivers/fanucs15.cpp12
-rw-r--r--src/mame/drivers/fanucspmg.cpp9
-rw-r--r--src/mame/drivers/fastfred.cpp8
-rw-r--r--src/mame/drivers/fastinvaders.cpp12
-rw-r--r--src/mame/drivers/fastlane.cpp2
-rw-r--r--src/mame/drivers/fb01.cpp6
-rw-r--r--src/mame/drivers/fc100.cpp6
-rw-r--r--src/mame/drivers/fccpu30.cpp3
-rw-r--r--src/mame/drivers/fcombat.cpp4
-rw-r--r--src/mame/drivers/fcrash.cpp32
-rw-r--r--src/mame/drivers/feversoc.cpp3
-rw-r--r--src/mame/drivers/fgoal.cpp2
-rw-r--r--src/mame/drivers/fidel6502.cpp48
-rw-r--r--src/mame/drivers/fidel68k.cpp24
-rw-r--r--src/mame/drivers/fidelmcs48.cpp3
-rw-r--r--src/mame/drivers/fidelz80.cpp36
-rw-r--r--src/mame/drivers/finalizr.cpp6
-rw-r--r--src/mame/drivers/fireball.cpp6
-rw-r--r--src/mame/drivers/firebeat.cpp6
-rw-r--r--src/mame/drivers/firefox.cpp6
-rw-r--r--src/mame/drivers/firetrap.cpp8
-rw-r--r--src/mame/drivers/firetrk.cpp6
-rw-r--r--src/mame/drivers/fitfight.cpp6
-rw-r--r--src/mame/drivers/fk1.cpp6
-rw-r--r--src/mame/drivers/flicker.cpp15
-rw-r--r--src/mame/drivers/flipjack.cpp12
-rw-r--r--src/mame/drivers/flkatck.cpp4
-rw-r--r--src/mame/drivers/flower.cpp6
-rw-r--r--src/mame/drivers/flstory.cpp14
-rw-r--r--src/mame/drivers/flyball.cpp3
-rw-r--r--src/mame/drivers/fm7.cpp26
-rw-r--r--src/mame/drivers/fmtowns.cpp10
-rw-r--r--src/mame/drivers/fontwriter.cpp6
-rw-r--r--src/mame/drivers/foodf.cpp2
-rw-r--r--src/mame/drivers/force68k.cpp3
-rw-r--r--src/mame/drivers/forte2.cpp6
-rw-r--r--src/mame/drivers/fortecar.cpp6
-rw-r--r--src/mame/drivers/fp1100.cpp9
-rw-r--r--src/mame/drivers/fp200.cpp6
-rw-r--r--src/mame/drivers/fp6000.cpp6
-rw-r--r--src/mame/drivers/freekick.cpp26
-rw-r--r--src/mame/drivers/fresh.cpp3
-rw-r--r--src/mame/drivers/fromanc2.cpp14
-rw-r--r--src/mame/drivers/fromance.cpp14
-rw-r--r--src/mame/drivers/fruitpc.cpp6
-rw-r--r--src/mame/drivers/ft68m.cpp3
-rw-r--r--src/mame/drivers/funkball.cpp9
-rw-r--r--src/mame/drivers/funkybee.cpp4
-rw-r--r--src/mame/drivers/funkyjet.cpp4
-rw-r--r--src/mame/drivers/funtech.cpp6
-rw-r--r--src/mame/drivers/funworld.cpp20
-rw-r--r--src/mame/drivers/funybubl.cpp6
-rw-r--r--src/mame/drivers/fuukifg2.cpp6
-rw-r--r--src/mame/drivers/fuukifg3.cpp6
-rw-r--r--src/mame/drivers/g627.cpp6
-rw-r--r--src/mame/drivers/gaelco.cpp19
-rw-r--r--src/mame/drivers/gaelco2.cpp16
-rw-r--r--src/mame/drivers/gaelco3d.cpp31
-rw-r--r--src/mame/drivers/gaelcopc.cpp3
-rw-r--r--src/mame/drivers/gaiden.cpp14
-rw-r--r--src/mame/drivers/gal3.cpp15
-rw-r--r--src/mame/drivers/galaga.cpp16
-rw-r--r--src/mame/drivers/galastrm.cpp2
-rw-r--r--src/mame/drivers/galaxi.cpp6
-rw-r--r--src/mame/drivers/galaxia.cpp8
-rw-r--r--src/mame/drivers/galaxian.cpp92
-rw-r--r--src/mame/drivers/galaxold.cpp58
-rw-r--r--src/mame/drivers/galaxy.cpp6
-rw-r--r--src/mame/drivers/galeb.cpp2
-rw-r--r--src/mame/drivers/galgame.cpp3
-rw-r--r--src/mame/drivers/galgames.cpp12
-rw-r--r--src/mame/drivers/galivan.cpp12
-rw-r--r--src/mame/drivers/galpani2.cpp4
-rw-r--r--src/mame/drivers/galpani3.cpp3
-rw-r--r--src/mame/drivers/galpanic.cpp6
-rw-r--r--src/mame/drivers/galspnbl.cpp4
-rw-r--r--src/mame/drivers/gamate.cpp3
-rw-r--r--src/mame/drivers/gambl186.cpp6
-rw-r--r--src/mame/drivers/gamecom.cpp2
-rw-r--r--src/mame/drivers/gamecstl.cpp6
-rw-r--r--src/mame/drivers/gamecube.cpp3
-rw-r--r--src/mame/drivers/gameking.cpp3
-rw-r--r--src/mame/drivers/gameplan.cpp6
-rw-r--r--src/mame/drivers/gamepock.cpp2
-rw-r--r--src/mame/drivers/gammagic.cpp6
-rw-r--r--src/mame/drivers/gamtor.cpp3
-rw-r--r--src/mame/drivers/gaplus.cpp6
-rw-r--r--src/mame/drivers/gatron.cpp4
-rw-r--r--src/mame/drivers/gauntlet.cpp4
-rw-r--r--src/mame/drivers/gb.cpp8
-rw-r--r--src/mame/drivers/gba.cpp2
-rw-r--r--src/mame/drivers/gberet.cpp6
-rw-r--r--src/mame/drivers/gcpinbal.cpp2
-rw-r--r--src/mame/drivers/gei.cpp27
-rw-r--r--src/mame/drivers/geneve.cpp6
-rw-r--r--src/mame/drivers/geniusiq.cpp3
-rw-r--r--src/mame/drivers/genpc.cpp6
-rw-r--r--src/mame/drivers/ggconnie.cpp6
-rw-r--r--src/mame/drivers/ghosteo.cpp6
-rw-r--r--src/mame/drivers/giclassic.cpp6
-rw-r--r--src/mame/drivers/gijoe.cpp4
-rw-r--r--src/mame/drivers/gimix.cpp9
-rw-r--r--src/mame/drivers/ginganin.cpp4
-rw-r--r--src/mame/drivers/gizmondo.cpp3
-rw-r--r--src/mame/drivers/gkigt.cpp10
-rw-r--r--src/mame/drivers/gladiatr.cpp18
-rw-r--r--src/mame/drivers/glasgow.cpp9
-rw-r--r--src/mame/drivers/glass.cpp6
-rw-r--r--src/mame/drivers/globalfr.cpp3
-rw-r--r--src/mame/drivers/globalvr.cpp3
-rw-r--r--src/mame/drivers/gluck2.cpp3
-rw-r--r--src/mame/drivers/gmaster.cpp3
-rw-r--r--src/mame/drivers/gng.cpp6
-rw-r--r--src/mame/drivers/go2000.cpp9
-rw-r--r--src/mame/drivers/goal92.cpp4
-rw-r--r--src/mame/drivers/goindol.cpp4
-rw-r--r--src/mame/drivers/gokidetor.cpp6
-rw-r--r--src/mame/drivers/goldngam.cpp6
-rw-r--r--src/mame/drivers/goldnpkr.cpp42
-rw-r--r--src/mame/drivers/goldstar.cpp58
-rw-r--r--src/mame/drivers/gomoku.cpp2
-rw-r--r--src/mame/drivers/good.cpp3
-rw-r--r--src/mame/drivers/goodejan.cpp18
-rw-r--r--src/mame/drivers/gotcha.cpp4
-rw-r--r--src/mame/drivers/gottlieb.cpp4
-rw-r--r--src/mame/drivers/gotya.cpp2
-rw-r--r--src/mame/drivers/goupil.cpp12
-rw-r--r--src/mame/drivers/gp2x.cpp3
-rw-r--r--src/mame/drivers/gp32.cpp2
-rw-r--r--src/mame/drivers/gp_1.cpp6
-rw-r--r--src/mame/drivers/gp_2.cpp6
-rw-r--r--src/mame/drivers/gpworld.cpp6
-rw-r--r--src/mame/drivers/gradius3.cpp6
-rw-r--r--src/mame/drivers/grchamp.cpp10
-rw-r--r--src/mame/drivers/grfd2301.cpp6
-rw-r--r--src/mame/drivers/gridcomp.cpp9
-rw-r--r--src/mame/drivers/gridlee.cpp5
-rw-r--r--src/mame/drivers/groundfx.cpp2
-rw-r--r--src/mame/drivers/gstream.cpp12
-rw-r--r--src/mame/drivers/gstriker.cpp8
-rw-r--r--src/mame/drivers/gsword.cpp16
-rw-r--r--src/mame/drivers/gticlub.cpp18
-rw-r--r--src/mame/drivers/gts1.cpp9
-rw-r--r--src/mame/drivers/gts3.cpp3
-rw-r--r--src/mame/drivers/gts3a.cpp6
-rw-r--r--src/mame/drivers/gts80.cpp3
-rw-r--r--src/mame/drivers/gts80a.cpp9
-rw-r--r--src/mame/drivers/gts80b.cpp3
-rw-r--r--src/mame/drivers/guab.cpp3
-rw-r--r--src/mame/drivers/gumbo.cpp6
-rw-r--r--src/mame/drivers/gunbustr.cpp2
-rw-r--r--src/mame/drivers/gundealr.cpp8
-rw-r--r--src/mame/drivers/gunpey.cpp6
-rw-r--r--src/mame/drivers/gunsmoke.cpp4
-rw-r--r--src/mame/drivers/gyruss.cpp12
-rw-r--r--src/mame/drivers/h19.cpp6
-rw-r--r--src/mame/drivers/h8.cpp6
-rw-r--r--src/mame/drivers/h89.cpp6
-rw-r--r--src/mame/drivers/halleys.cpp6
-rw-r--r--src/mame/drivers/hanaawas.cpp4
-rw-r--r--src/mame/drivers/hankin.cpp6
-rw-r--r--src/mame/drivers/hapyfish.cpp3
-rw-r--r--src/mame/drivers/harddriv.cpp34
-rw-r--r--src/mame/drivers/harriet.cpp3
-rw-r--r--src/mame/drivers/hazelgr.cpp6
-rw-r--r--src/mame/drivers/hazeltin.cpp6
-rw-r--r--src/mame/drivers/hcastle.cpp4
-rw-r--r--src/mame/drivers/headonb.cpp6
-rw-r--r--src/mame/drivers/hec2hrp.cpp18
-rw-r--r--src/mame/drivers/hexion.cpp4
-rw-r--r--src/mame/drivers/hideseek.cpp3
-rw-r--r--src/mame/drivers/higemaru.cpp2
-rw-r--r--src/mame/drivers/highvdeo.cpp45
-rw-r--r--src/mame/drivers/hikaru.cpp6
-rw-r--r--src/mame/drivers/himesiki.cpp8
-rw-r--r--src/mame/drivers/hitme.cpp4
-rw-r--r--src/mame/drivers/hitpoker.cpp6
-rw-r--r--src/mame/drivers/hk68v10.cpp3
-rw-r--r--src/mame/drivers/hnayayoi.cpp10
-rw-r--r--src/mame/drivers/hng64.cpp2
-rw-r--r--src/mame/drivers/holeland.cpp6
-rw-r--r--src/mame/drivers/homedata.cpp20
-rw-r--r--src/mame/drivers/homelab.cpp15
-rw-r--r--src/mame/drivers/homerun.cpp4
-rw-r--r--src/mame/drivers/homez80.cpp6
-rw-r--r--src/mame/drivers/horizon.cpp6
-rw-r--r--src/mame/drivers/hornet.cpp15
-rw-r--r--src/mame/drivers/hotblock.cpp6
-rw-r--r--src/mame/drivers/hotstuff.cpp9
-rw-r--r--src/mame/drivers/hp16500.cpp12
-rw-r--r--src/mame/drivers/hp2620.cpp6
-rw-r--r--src/mame/drivers/hp2640.cpp6
-rw-r--r--src/mame/drivers/hp48.cpp2
-rw-r--r--src/mame/drivers/hp49gp.cpp3
-rw-r--r--src/mame/drivers/hp64k.cpp6
-rw-r--r--src/mame/drivers/hp700.cpp10
-rw-r--r--src/mame/drivers/hp80.cpp6
-rw-r--r--src/mame/drivers/hp9845.cpp4
-rw-r--r--src/mame/drivers/hp9k.cpp3
-rw-r--r--src/mame/drivers/hp9k_3xx.cpp27
-rw-r--r--src/mame/drivers/hp_ipc.cpp6
-rw-r--r--src/mame/drivers/hprot1.cpp6
-rw-r--r--src/mame/drivers/hpz80unk.cpp6
-rw-r--r--src/mame/drivers/ht68k.cpp3
-rw-r--r--src/mame/drivers/huebler.cpp4
-rw-r--r--src/mame/drivers/hunter2.cpp9
-rw-r--r--src/mame/drivers/hvyunit.cpp21
-rw-r--r--src/mame/drivers/hx20.cpp10
-rw-r--r--src/mame/drivers/hyhoo.cpp4
-rw-r--r--src/mame/drivers/hyperscan.cpp3
-rw-r--r--src/mame/drivers/hyperspt.cpp16
-rw-r--r--src/mame/drivers/hyprduel.cpp8
-rw-r--r--src/mame/drivers/i7000.cpp6
-rw-r--r--src/mame/drivers/ibm3153.cpp6
-rw-r--r--src/mame/drivers/ibm6580.cpp6
-rw-r--r--src/mame/drivers/ibmpc.cpp6
-rw-r--r--src/mame/drivers/ibmpcjr.cpp12
-rw-r--r--src/mame/drivers/icatel.cpp9
-rw-r--r--src/mame/drivers/ice_bozopail.cpp3
-rw-r--r--src/mame/drivers/ice_tbd.cpp6
-rw-r--r--src/mame/drivers/icecold.cpp3
-rw-r--r--src/mame/drivers/ichiban.cpp6
-rw-r--r--src/mame/drivers/idsa.cpp6
-rw-r--r--src/mame/drivers/if800.cpp9
-rw-r--r--src/mame/drivers/igs009.cpp9
-rw-r--r--src/mame/drivers/igs011.cpp27
-rw-r--r--src/mame/drivers/igs017.cpp41
-rw-r--r--src/mame/drivers/igs_fear.cpp3
-rw-r--r--src/mame/drivers/igs_m027.cpp3
-rw-r--r--src/mame/drivers/igs_m036.cpp3
-rw-r--r--src/mame/drivers/igspc.cpp6
-rw-r--r--src/mame/drivers/igspoker.cpp12
-rw-r--r--src/mame/drivers/ikki.cpp4
-rw-r--r--src/mame/drivers/imds.cpp6
-rw-r--r--src/mame/drivers/imds2.cpp8
-rw-r--r--src/mame/drivers/imolagp.cpp12
-rw-r--r--src/mame/drivers/imsai.cpp6
-rw-r--r--src/mame/drivers/inder.cpp18
-rw-r--r--src/mame/drivers/inderp.cpp3
-rw-r--r--src/mame/drivers/indiana.cpp3
-rw-r--r--src/mame/drivers/indigo.cpp9
-rw-r--r--src/mame/drivers/indy_indigo2.cpp3
-rw-r--r--src/mame/drivers/instantm.cpp9
-rw-r--r--src/mame/drivers/instruct.cpp9
-rw-r--r--src/mame/drivers/inteladv.cpp4
-rw-r--r--src/mame/drivers/intellec4.cpp24
-rw-r--r--src/mame/drivers/interact.cpp3
-rw-r--r--src/mame/drivers/interpro.cpp78
-rw-r--r--src/mame/drivers/intrscti.cpp12
-rw-r--r--src/mame/drivers/intv.cpp12
-rw-r--r--src/mame/drivers/inufuku.cpp6
-rw-r--r--src/mame/drivers/invqix.cpp6
-rw-r--r--src/mame/drivers/ipc.cpp6
-rw-r--r--src/mame/drivers/ipds.cpp6
-rw-r--r--src/mame/drivers/iq151.cpp6
-rw-r--r--src/mame/drivers/iqblock.cpp4
-rw-r--r--src/mame/drivers/iqunlim.cpp3
-rw-r--r--src/mame/drivers/iris3130.cpp3
-rw-r--r--src/mame/drivers/irisha.cpp6
-rw-r--r--src/mame/drivers/irobot.cpp2
-rw-r--r--src/mame/drivers/ironhors.cpp12
-rw-r--r--src/mame/drivers/isbc.cpp27
-rw-r--r--src/mame/drivers/isbc8010.cpp12
-rw-r--r--src/mame/drivers/isbc8030.cpp6
-rw-r--r--src/mame/drivers/iskr103x.cpp6
-rw-r--r--src/mame/drivers/istellar.cpp18
-rw-r--r--src/mame/drivers/istrebiteli.cpp6
-rw-r--r--src/mame/drivers/itech32.cpp16
-rw-r--r--src/mame/drivers/itech8.cpp20
-rw-r--r--src/mame/drivers/itgambl2.cpp3
-rw-r--r--src/mame/drivers/itgambl3.cpp3
-rw-r--r--src/mame/drivers/itgamble.cpp3
-rw-r--r--src/mame/drivers/itt3030.cpp9
-rw-r--r--src/mame/drivers/jack.cpp16
-rw-r--r--src/mame/drivers/jackal.cpp4
-rw-r--r--src/mame/drivers/jackie.cpp6
-rw-r--r--src/mame/drivers/jackpool.cpp3
-rw-r--r--src/mame/drivers/jade.cpp6
-rw-r--r--src/mame/drivers/jaguar.cpp20
-rw-r--r--src/mame/drivers/jailbrek.cpp4
-rw-r--r--src/mame/drivers/jalmah.cpp6
-rw-r--r--src/mame/drivers/jangou.cpp36
-rw-r--r--src/mame/drivers/jankenmn.cpp6
-rw-r--r--src/mame/drivers/jantotsu.cpp6
-rw-r--r--src/mame/drivers/jchan.cpp6
-rw-r--r--src/mame/drivers/jclub2.cpp15
-rw-r--r--src/mame/drivers/jedi.cpp2
-rw-r--r--src/mame/drivers/jeutel.cpp12
-rw-r--r--src/mame/drivers/joctronic.cpp24
-rw-r--r--src/mame/drivers/jokrwild.cpp3
-rw-r--r--src/mame/drivers/jollyjgr.cpp6
-rw-r--r--src/mame/drivers/jongkyo.cpp11
-rw-r--r--src/mame/drivers/jonos.cpp3
-rw-r--r--src/mame/drivers/joystand.cpp3
-rw-r--r--src/mame/drivers/jp.cpp6
-rw-r--r--src/mame/drivers/jpmimpct.cpp6
-rw-r--r--src/mame/drivers/jpmmps.cpp6
-rw-r--r--src/mame/drivers/jpms80.cpp6
-rw-r--r--src/mame/drivers/jpmsru.cpp9
-rw-r--r--src/mame/drivers/jpmsys5.cpp14
-rw-r--r--src/mame/drivers/jpmsys7.cpp3
-rw-r--r--src/mame/drivers/jr100.cpp3
-rw-r--r--src/mame/drivers/jr200.cpp3
-rw-r--r--src/mame/drivers/jrpacman.cpp6
-rw-r--r--src/mame/drivers/jtc.cpp12
-rw-r--r--src/mame/drivers/jubilee.cpp6
-rw-r--r--src/mame/drivers/juicebox.cpp3
-rw-r--r--src/mame/drivers/jungleyo.cpp3
-rw-r--r--src/mame/drivers/junior.cpp3
-rw-r--r--src/mame/drivers/junofrst.cpp12
-rw-r--r--src/mame/drivers/jupace.cpp6
-rw-r--r--src/mame/drivers/jupiter.cpp9
-rw-r--r--src/mame/drivers/jvh.cpp12
-rw-r--r--src/mame/drivers/k1003.cpp6
-rw-r--r--src/mame/drivers/k8915.cpp6
-rw-r--r--src/mame/drivers/kaneko16.cpp30
-rw-r--r--src/mame/drivers/kangaroo.cpp6
-rw-r--r--src/mame/drivers/karnov.cpp12
-rw-r--r--src/mame/drivers/kas89.cpp12
-rw-r--r--src/mame/drivers/kaypro.cpp6
-rw-r--r--src/mame/drivers/kc.cpp8
-rw-r--r--src/mame/drivers/kchamp.cpp20
-rw-r--r--src/mame/drivers/kdt6.cpp6
-rw-r--r--src/mame/drivers/kenseim.cpp6
-rw-r--r--src/mame/drivers/kickgoal.cpp4
-rw-r--r--src/mame/drivers/kim1.cpp2
-rw-r--r--src/mame/drivers/kingdrby.cpp27
-rw-r--r--src/mame/drivers/kingobox.cpp18
-rw-r--r--src/mame/drivers/kingpin.cpp9
-rw-r--r--src/mame/drivers/kinst.cpp3
-rw-r--r--src/mame/drivers/kissproto.cpp3
-rw-r--r--src/mame/drivers/klax.cpp6
-rw-r--r--src/mame/drivers/kncljoe.cpp6
-rw-r--r--src/mame/drivers/koftball.cpp6
-rw-r--r--src/mame/drivers/koikoi.cpp6
-rw-r--r--src/mame/drivers/konamigq.cpp12
-rw-r--r--src/mame/drivers/konamigv.cpp15
-rw-r--r--src/mame/drivers/konamigx.cpp14
-rw-r--r--src/mame/drivers/konamim2.cpp26
-rw-r--r--src/mame/drivers/konendev.cpp3
-rw-r--r--src/mame/drivers/konin.cpp15
-rw-r--r--src/mame/drivers/konmedal.cpp9
-rw-r--r--src/mame/drivers/konmedal68k.cpp3
-rw-r--r--src/mame/drivers/kontest.cpp6
-rw-r--r--src/mame/drivers/kopunch.cpp4
-rw-r--r--src/mame/drivers/kramermc.cpp4
-rw-r--r--src/mame/drivers/kron.cpp6
-rw-r--r--src/mame/drivers/krz2000.cpp3
-rw-r--r--src/mame/drivers/ksayakyu.cpp4
-rw-r--r--src/mame/drivers/ksys573.cpp18
-rw-r--r--src/mame/drivers/kungfur.cpp3
-rw-r--r--src/mame/drivers/kurukuru.cpp24
-rw-r--r--src/mame/drivers/kyocera.cpp14
-rw-r--r--src/mame/drivers/kyugo.cpp24
-rw-r--r--src/mame/drivers/labyrunr.cpp2
-rw-r--r--src/mame/drivers/ladybug.cpp6
-rw-r--r--src/mame/drivers/ladyfrog.cpp4
-rw-r--r--src/mame/drivers/laser3k.cpp6
-rw-r--r--src/mame/drivers/laserbas.cpp6
-rw-r--r--src/mame/drivers/laserbat.cpp4
-rw-r--r--src/mame/drivers/lasso.cpp20
-rw-r--r--src/mame/drivers/lastbank.cpp12
-rw-r--r--src/mame/drivers/lastduel.cpp8
-rw-r--r--src/mame/drivers/lastfght.cpp6
-rw-r--r--src/mame/drivers/lazercmd.cpp8
-rw-r--r--src/mame/drivers/lb186.cpp6
-rw-r--r--src/mame/drivers/lbeach.cpp3
-rw-r--r--src/mame/drivers/lc80.cpp6
-rw-r--r--src/mame/drivers/lcmate2.cpp6
-rw-r--r--src/mame/drivers/leapster.cpp6
-rw-r--r--src/mame/drivers/legionna.cpp32
-rw-r--r--src/mame/drivers/leland.cpp68
-rw-r--r--src/mame/drivers/lemmings.cpp4
-rw-r--r--src/mame/drivers/lethal.cpp6
-rw-r--r--src/mame/drivers/lethalj.cpp2
-rw-r--r--src/mame/drivers/lft.cpp6
-rw-r--r--src/mame/drivers/lg-dvd.cpp3
-rw-r--r--src/mame/drivers/lgp.cpp12
-rw-r--r--src/mame/drivers/liberate.cpp20
-rw-r--r--src/mame/drivers/liberatr.cpp4
-rw-r--r--src/mame/drivers/limenko.cpp15
-rw-r--r--src/mame/drivers/lisa.cpp6
-rw-r--r--src/mame/drivers/littlerb.cpp3
-rw-r--r--src/mame/drivers/lkage.cpp10
-rw-r--r--src/mame/drivers/llc.cpp8
-rw-r--r--src/mame/drivers/lockon.cpp10
-rw-r--r--src/mame/drivers/lola8a.cpp6
-rw-r--r--src/mame/drivers/looping.cpp12
-rw-r--r--src/mame/drivers/lordgun.cpp12
-rw-r--r--src/mame/drivers/lsasquad.cpp10
-rw-r--r--src/mame/drivers/ltcasino.cpp3
-rw-r--r--src/mame/drivers/ltd.cpp9
-rw-r--r--src/mame/drivers/luckgrln.cpp15
-rw-r--r--src/mame/drivers/lucky74.cpp4
-rw-r--r--src/mame/drivers/luckybal.cpp6
-rw-r--r--src/mame/drivers/lvcards.cpp8
-rw-r--r--src/mame/drivers/lviv.cpp4
-rw-r--r--src/mame/drivers/lwings.cpp20
-rw-r--r--src/mame/drivers/lwriter.cpp3
-rw-r--r--src/mame/drivers/lynx.cpp2
-rw-r--r--src/mame/drivers/m10.cpp6
-rw-r--r--src/mame/drivers/m107.cpp12
-rw-r--r--src/mame/drivers/m14.cpp6
-rw-r--r--src/mame/drivers/m20.cpp9
-rw-r--r--src/mame/drivers/m24.cpp9
-rw-r--r--src/mame/drivers/m3.cpp6
-rw-r--r--src/mame/drivers/m5.cpp12
-rw-r--r--src/mame/drivers/m52.cpp6
-rw-r--r--src/mame/drivers/m57.cpp2
-rw-r--r--src/mame/drivers/m58.cpp2
-rw-r--r--src/mame/drivers/m62.cpp38
-rw-r--r--src/mame/drivers/m63.cpp12
-rw-r--r--src/mame/drivers/m6805evs.cpp3
-rw-r--r--src/mame/drivers/m72.cpp54
-rw-r--r--src/mame/drivers/m79152pc.cpp6
-rw-r--r--src/mame/drivers/m79amb.cpp2
-rw-r--r--src/mame/drivers/m90.cpp18
-rw-r--r--src/mame/drivers/m92.cpp10
-rw-r--r--src/mame/drivers/mac.cpp32
-rw-r--r--src/mame/drivers/mac128.cpp6
-rw-r--r--src/mame/drivers/macp.cpp9
-rw-r--r--src/mame/drivers/macpci.cpp2
-rw-r--r--src/mame/drivers/macrossp.cpp4
-rw-r--r--src/mame/drivers/macs.cpp6
-rw-r--r--src/mame/drivers/madalien.cpp4
-rw-r--r--src/mame/drivers/madmotor.cpp6
-rw-r--r--src/mame/drivers/magic10.cpp15
-rw-r--r--src/mame/drivers/magicard.cpp12
-rw-r--r--src/mame/drivers/magicfly.cpp3
-rw-r--r--src/mame/drivers/magictg.cpp12
-rw-r--r--src/mame/drivers/magmax.cpp6
-rw-r--r--src/mame/drivers/magnum.cpp6
-rw-r--r--src/mame/drivers/magtouch.cpp6
-rw-r--r--src/mame/drivers/mainevt.cpp8
-rw-r--r--src/mame/drivers/mainsnk.cpp6
-rw-r--r--src/mame/drivers/majorpkr.cpp12
-rw-r--r--src/mame/drivers/malzak.cpp8
-rw-r--r--src/mame/drivers/manohman.cpp3
-rw-r--r--src/mame/drivers/mappy.cpp14
-rw-r--r--src/mame/drivers/marineb.cpp6
-rw-r--r--src/mame/drivers/marinedt.cpp6
-rw-r--r--src/mame/drivers/mario.cpp6
-rw-r--r--src/mame/drivers/markham.cpp4
-rw-r--r--src/mame/drivers/marywu.cpp6
-rw-r--r--src/mame/drivers/mastboy.cpp6
-rw-r--r--src/mame/drivers/matmania.cpp8
-rw-r--r--src/mame/drivers/maxaflex.cpp3
-rw-r--r--src/mame/drivers/maygay1b.cpp6
-rw-r--r--src/mame/drivers/maygayep.cpp3
-rw-r--r--src/mame/drivers/maygaysw.cpp3
-rw-r--r--src/mame/drivers/maygayv1.cpp12
-rw-r--r--src/mame/drivers/mazerbla.cpp27
-rw-r--r--src/mame/drivers/mbc200.cpp12
-rw-r--r--src/mame/drivers/mbc55x.cpp4
-rw-r--r--src/mame/drivers/mbee.cpp30
-rw-r--r--src/mame/drivers/mc10.cpp12
-rw-r--r--src/mame/drivers/mc1000.cpp11
-rw-r--r--src/mame/drivers/mc1502.cpp4
-rw-r--r--src/mame/drivers/mc8020.cpp6
-rw-r--r--src/mame/drivers/mc8030.cpp6
-rw-r--r--src/mame/drivers/mcatadv.cpp10
-rw-r--r--src/mame/drivers/mcb216.cpp9
-rw-r--r--src/mame/drivers/mccpm.cpp6
-rw-r--r--src/mame/drivers/mcr.cpp16
-rw-r--r--src/mame/drivers/mcr3.cpp8
-rw-r--r--src/mame/drivers/mcr68.cpp6
-rw-r--r--src/mame/drivers/meadows.cpp10
-rw-r--r--src/mame/drivers/mediagx.cpp9
-rw-r--r--src/mame/drivers/megadriv_acbl.cpp2
-rw-r--r--src/mame/drivers/megadriv_rad.cpp2
-rw-r--r--src/mame/drivers/megaphx.cpp3
-rw-r--r--src/mame/drivers/megaplay.cpp6
-rw-r--r--src/mame/drivers/megasys1.cpp26
-rw-r--r--src/mame/drivers/megatech.cpp6
-rw-r--r--src/mame/drivers/megazone.cpp10
-rw-r--r--src/mame/drivers/meijinsn.cpp9
-rw-r--r--src/mame/drivers/mekd2.cpp3
-rw-r--r--src/mame/drivers/mephisto.cpp9
-rw-r--r--src/mame/drivers/mephisto_montec.cpp15
-rw-r--r--src/mame/drivers/mephistp.cpp12
-rw-r--r--src/mame/drivers/merit.cpp42
-rw-r--r--src/mame/drivers/meritm.cpp18
-rw-r--r--src/mame/drivers/mermaid.cpp2
-rw-r--r--src/mame/drivers/mes.cpp6
-rw-r--r--src/mame/drivers/metalmx.cpp12
-rw-r--r--src/mame/drivers/metlclsh.cpp4
-rw-r--r--src/mame/drivers/metlfrzr.cpp8
-rw-r--r--src/mame/drivers/metro.cpp60
-rw-r--r--src/mame/drivers/mexico86.cpp6
-rw-r--r--src/mame/drivers/meyc8080.cpp3
-rw-r--r--src/mame/drivers/meyc8088.cpp3
-rw-r--r--src/mame/drivers/mfabfz.cpp9
-rw-r--r--src/mame/drivers/mgames.cpp3
-rw-r--r--src/mame/drivers/mgavegas.cpp3
-rw-r--r--src/mame/drivers/mgolf.cpp3
-rw-r--r--src/mame/drivers/mhavoc.cpp6
-rw-r--r--src/mame/drivers/mice.cpp12
-rw-r--r--src/mame/drivers/micral.cpp9
-rw-r--r--src/mame/drivers/micro20.cpp3
-rw-r--r--src/mame/drivers/micro3d.cpp12
-rw-r--r--src/mame/drivers/microdec.cpp6
-rw-r--r--src/mame/drivers/microkit.cpp6
-rw-r--r--src/mame/drivers/micronic.cpp4
-rw-r--r--src/mame/drivers/micropin.cpp9
-rw-r--r--src/mame/drivers/microtan.cpp2
-rw-r--r--src/mame/drivers/microterm.cpp15
-rw-r--r--src/mame/drivers/midas.cpp6
-rw-r--r--src/mame/drivers/midqslvr.cpp6
-rw-r--r--src/mame/drivers/midtunit.cpp2
-rw-r--r--src/mame/drivers/midvunit.cpp4
-rw-r--r--src/mame/drivers/midwunit.cpp2
-rw-r--r--src/mame/drivers/midxunit.cpp2
-rw-r--r--src/mame/drivers/midyunit.cpp4
-rw-r--r--src/mame/drivers/midzeus.cpp8
-rw-r--r--src/mame/drivers/mightyframe.cpp3
-rw-r--r--src/mame/drivers/mikie.cpp4
-rw-r--r--src/mame/drivers/mikro80.cpp8
-rw-r--r--src/mame/drivers/mikromik.cpp2
-rw-r--r--src/mame/drivers/mikrosha.cpp6
-rw-r--r--src/mame/drivers/mil4000.cpp6
-rw-r--r--src/mame/drivers/milwaukee.cpp3
-rw-r--r--src/mame/drivers/mini2440.cpp3
-rw-r--r--src/mame/drivers/miniboy7.cpp3
-rw-r--r--src/mame/drivers/minicom.cpp3
-rw-r--r--src/mame/drivers/miniforce.cpp3
-rw-r--r--src/mame/drivers/miniframe.cpp6
-rw-r--r--src/mame/drivers/minitel_2_rpic.cpp6
-rw-r--r--src/mame/drivers/minivadr.cpp3
-rw-r--r--src/mame/drivers/mirage.cpp3
-rw-r--r--src/mame/drivers/mirax.cpp6
-rw-r--r--src/mame/drivers/missb2.cpp9
-rw-r--r--src/mame/drivers/missile.cpp6
-rw-r--r--src/mame/drivers/mitchell.cpp30
-rw-r--r--src/mame/drivers/mits680b.cpp3
-rw-r--r--src/mame/drivers/mjkjidai.cpp4
-rw-r--r--src/mame/drivers/mjsenpu.cpp6
-rw-r--r--src/mame/drivers/mjsister.cpp6
-rw-r--r--src/mame/drivers/mk1.cpp6
-rw-r--r--src/mame/drivers/mk14.cpp3
-rw-r--r--src/mame/drivers/mk2.cpp3
-rw-r--r--src/mame/drivers/mk85.cpp3
-rw-r--r--src/mame/drivers/mk90.cpp3
-rw-r--r--src/mame/drivers/mkit09.cpp9
-rw-r--r--src/mame/drivers/mlanding.cpp21
-rw-r--r--src/mame/drivers/mmagic.cpp6
-rw-r--r--src/mame/drivers/mmd1.cpp12
-rw-r--r--src/mame/drivers/mmm.cpp10
-rw-r--r--src/mame/drivers/mmodular.cpp18
-rw-r--r--src/mame/drivers/mod8.cpp6
-rw-r--r--src/mame/drivers/model1.cpp10
-rw-r--r--src/mame/drivers/model2.cpp28
-rw-r--r--src/mame/drivers/model3.cpp6
-rw-r--r--src/mame/drivers/modellot.cpp6
-rw-r--r--src/mame/drivers/mogura.cpp6
-rw-r--r--src/mame/drivers/mole.cpp3
-rw-r--r--src/mame/drivers/molecular.cpp12
-rw-r--r--src/mame/drivers/momoko.cpp4
-rw-r--r--src/mame/drivers/monty.cpp9
-rw-r--r--src/mame/drivers/monzagp.cpp6
-rw-r--r--src/mame/drivers/moo.cpp8
-rw-r--r--src/mame/drivers/mosaic.cpp8
-rw-r--r--src/mame/drivers/mouser.cpp10
-rw-r--r--src/mame/drivers/mpf1.cpp20
-rw-r--r--src/mame/drivers/mps1230.cpp3
-rw-r--r--src/mame/drivers/mpu12wbk.cpp3
-rw-r--r--src/mame/drivers/mpu2.cpp3
-rw-r--r--src/mame/drivers/mpu3.cpp3
-rw-r--r--src/mame/drivers/mpu4dealem.cpp3
-rw-r--r--src/mame/drivers/mpu4plasma.cpp3
-rw-r--r--src/mame/drivers/mpu4vid.cpp17
-rw-r--r--src/mame/drivers/mpu5.cpp3
-rw-r--r--src/mame/drivers/mpz80.cpp4
-rw-r--r--src/mame/drivers/mquake.cpp12
-rw-r--r--src/mame/drivers/mrdo.cpp2
-rw-r--r--src/mame/drivers/mrflea.cpp8
-rw-r--r--src/mame/drivers/mrgame.cpp18
-rw-r--r--src/mame/drivers/mrjong.cpp4
-rw-r--r--src/mame/drivers/ms0515.cpp3
-rw-r--r--src/mame/drivers/ms32.cpp6
-rw-r--r--src/mame/drivers/ms6102.cpp6
-rw-r--r--src/mame/drivers/ms9540.cpp3
-rw-r--r--src/mame/drivers/msbc1.cpp3
-rw-r--r--src/mame/drivers/msisaac.cpp4
-rw-r--r--src/mame/drivers/mstation.cpp9
-rw-r--r--src/mame/drivers/msx.cpp8
-rw-r--r--src/mame/drivers/mt735.cpp3
-rw-r--r--src/mame/drivers/mtouchxl.cpp9
-rw-r--r--src/mame/drivers/mtx.cpp6
-rw-r--r--src/mame/drivers/mugsmash.cpp4
-rw-r--r--src/mame/drivers/multfish.cpp6
-rw-r--r--src/mame/drivers/multi16.cpp6
-rw-r--r--src/mame/drivers/multi8.cpp6
-rw-r--r--src/mame/drivers/multigam.cpp12
-rw-r--r--src/mame/drivers/munchmo.cpp7
-rw-r--r--src/mame/drivers/murogem.cpp3
-rw-r--r--src/mame/drivers/murogmbl.cpp6
-rw-r--r--src/mame/drivers/mustache.cpp6
-rw-r--r--src/mame/drivers/mvme147.cpp3
-rw-r--r--src/mame/drivers/mw18w.cpp6
-rw-r--r--src/mame/drivers/mw8080bw.cpp44
-rw-r--r--src/mame/drivers/mwarr.cpp6
-rw-r--r--src/mame/drivers/mwsub.cpp6
-rw-r--r--src/mame/drivers/mx2178.cpp6
-rw-r--r--src/mame/drivers/myb3k.cpp6
-rw-r--r--src/mame/drivers/mycom.cpp6
-rw-r--r--src/mame/drivers/mystston.cpp2
-rw-r--r--src/mame/drivers/mystwarr.cpp18
-rw-r--r--src/mame/drivers/myvision.cpp6
-rw-r--r--src/mame/drivers/mz2000.cpp9
-rw-r--r--src/mame/drivers/mz2500.cpp6
-rw-r--r--src/mame/drivers/mz3500.cpp18
-rw-r--r--src/mame/drivers/mz6500.cpp9
-rw-r--r--src/mame/drivers/mz700.cpp12
-rw-r--r--src/mame/drivers/mz80.cpp4
-rw-r--r--src/mame/drivers/mzr8105.cpp3
-rw-r--r--src/mame/drivers/n64.cpp9
-rw-r--r--src/mame/drivers/n8080.cpp6
-rw-r--r--src/mame/drivers/nakajies.cpp6
-rw-r--r--src/mame/drivers/namcofl.cpp6
-rw-r--r--src/mame/drivers/namcona1.cpp8
-rw-r--r--src/mame/drivers/namconb1.cpp8
-rw-r--r--src/mame/drivers/namcond1.cpp8
-rw-r--r--src/mame/drivers/namcops2.cpp3
-rw-r--r--src/mame/drivers/namcos1.cpp12
-rw-r--r--src/mame/drivers/namcos10.cpp9
-rw-r--r--src/mame/drivers/namcos11.cpp18
-rw-r--r--src/mame/drivers/namcos12.cpp45
-rw-r--r--src/mame/drivers/namcos2.cpp38
-rw-r--r--src/mame/drivers/namcos21.cpp40
-rw-r--r--src/mame/drivers/namcos22.cpp36
-rw-r--r--src/mame/drivers/namcos23.cpp27
-rw-r--r--src/mame/drivers/namcos86.cpp26
-rw-r--r--src/mame/drivers/nanos.cpp6
-rw-r--r--src/mame/drivers/naomi.cpp19
-rw-r--r--src/mame/drivers/nascom1.cpp36
-rw-r--r--src/mame/drivers/naughtyb.cpp4
-rw-r--r--src/mame/drivers/nbmj8688.cpp28
-rw-r--r--src/mame/drivers/nbmj8891.cpp48
-rw-r--r--src/mame/drivers/nbmj8900.cpp6
-rw-r--r--src/mame/drivers/nbmj8991.cpp30
-rw-r--r--src/mame/drivers/nbmj9195.cpp70
-rw-r--r--src/mame/drivers/nc.cpp6
-rw-r--r--src/mame/drivers/nds.cpp8
-rw-r--r--src/mame/drivers/nemesis.cpp32
-rw-r--r--src/mame/drivers/neogeo.cpp10
-rw-r--r--src/mame/drivers/neogeocd.cpp9
-rw-r--r--src/mame/drivers/neoprint.cpp12
-rw-r--r--src/mame/drivers/neptunp2.cpp6
-rw-r--r--src/mame/drivers/nes.cpp2
-rw-r--r--src/mame/drivers/nes_vt.cpp55
-rw-r--r--src/mame/drivers/newbrain.cpp4
-rw-r--r--src/mame/drivers/news.cpp2
-rw-r--r--src/mame/drivers/next.cpp14
-rw-r--r--src/mame/drivers/nexus3d.cpp3
-rw-r--r--src/mame/drivers/ngen.cpp15
-rw-r--r--src/mame/drivers/ngp.cpp9
-rw-r--r--src/mame/drivers/nibble.cpp6
-rw-r--r--src/mame/drivers/nightgal.cpp36
-rw-r--r--src/mame/drivers/ninjakd2.cpp20
-rw-r--r--src/mame/drivers/ninjaw.cpp10
-rw-r--r--src/mame/drivers/nitedrvr.cpp2
-rw-r--r--src/mame/drivers/niyanpai.cpp8
-rw-r--r--src/mame/drivers/nmg5.cpp15
-rw-r--r--src/mame/drivers/nmk16.cpp68
-rw-r--r--src/mame/drivers/nmkmedal.cpp3
-rw-r--r--src/mame/drivers/nokia_3310.cpp3
-rw-r--r--src/mame/drivers/norautp.cpp30
-rw-r--r--src/mame/drivers/notechan.cpp6
-rw-r--r--src/mame/drivers/notetaker.cpp6
-rw-r--r--src/mame/drivers/nova2001.cpp16
-rw-r--r--src/mame/drivers/novag6502.cpp12
-rw-r--r--src/mame/drivers/novag68k.cpp3
-rw-r--r--src/mame/drivers/novagf8.cpp6
-rw-r--r--src/mame/drivers/nsg6809.cpp3
-rw-r--r--src/mame/drivers/nsm.cpp6
-rw-r--r--src/mame/drivers/nsmpoker.cpp6
-rw-r--r--src/mame/drivers/nss.cpp12
-rw-r--r--src/mame/drivers/nwk-tr.cpp12
-rw-r--r--src/mame/drivers/nycaptor.cpp16
-rw-r--r--src/mame/drivers/nyny.cpp9
-rw-r--r--src/mame/drivers/ob68k1a.cpp2
-rw-r--r--src/mame/drivers/octopus.cpp15
-rw-r--r--src/mame/drivers/odyssey.cpp3
-rw-r--r--src/mame/drivers/odyssey2.cpp9
-rw-r--r--src/mame/drivers/offtwall.cpp2
-rw-r--r--src/mame/drivers/ohmygod.cpp4
-rw-r--r--src/mame/drivers/ojankohs.cpp14
-rw-r--r--src/mame/drivers/okean240.cpp12
-rw-r--r--src/mame/drivers/olibochu.cpp6
-rw-r--r--src/mame/drivers/olyboss.cpp6
-rw-r--r--src/mame/drivers/omegrace.cpp12
-rw-r--r--src/mame/drivers/ondra.cpp4
-rw-r--r--src/mame/drivers/oneshot.cpp4
-rw-r--r--src/mame/drivers/onetwo.cpp12
-rw-r--r--src/mame/drivers/onyx.cpp51
-rw-r--r--src/mame/drivers/opwolf.cpp10
-rw-r--r--src/mame/drivers/orao.cpp2
-rw-r--r--src/mame/drivers/orbit.cpp2
-rw-r--r--src/mame/drivers/oric.cpp6
-rw-r--r--src/mame/drivers/orion.cpp12
-rw-r--r--src/mame/drivers/osbexec.cpp6
-rw-r--r--src/mame/drivers/osborne1.cpp10
-rw-r--r--src/mame/drivers/osi.cpp8
-rw-r--r--src/mame/drivers/othello.cpp12
-rw-r--r--src/mame/drivers/othunder.cpp4
-rw-r--r--src/mame/drivers/otomedius.cpp3
-rw-r--r--src/mame/drivers/overdriv.cpp8
-rw-r--r--src/mame/drivers/p112.cpp6
-rw-r--r--src/mame/drivers/p2000t.cpp6
-rw-r--r--src/mame/drivers/p8k.cpp15
-rw-r--r--src/mame/drivers/pachifev.cpp6
-rw-r--r--src/mame/drivers/pacland.cpp6
-rw-r--r--src/mame/drivers/pacman.cpp58
-rw-r--r--src/mame/drivers/palm.cpp3
-rw-r--r--src/mame/drivers/palmz22.cpp3
-rw-r--r--src/mame/drivers/pandoras.cpp10
-rw-r--r--src/mame/drivers/pangofun.cpp6
-rw-r--r--src/mame/drivers/panicr.cpp3
-rw-r--r--src/mame/drivers/paradise.cpp12
-rw-r--r--src/mame/drivers/paranoia.cpp18
-rw-r--r--src/mame/drivers/parodius.cpp8
-rw-r--r--src/mame/drivers/partner.cpp2
-rw-r--r--src/mame/drivers/pasha2.cpp6
-rw-r--r--src/mame/drivers/paso1600.cpp6
-rw-r--r--src/mame/drivers/pasogo.cpp9
-rw-r--r--src/mame/drivers/pasopia.cpp6
-rw-r--r--src/mame/drivers/pasopia7.cpp6
-rw-r--r--src/mame/drivers/pass.cpp6
-rw-r--r--src/mame/drivers/pastelg.cpp6
-rw-r--r--src/mame/drivers/patapata.cpp3
-rw-r--r--src/mame/drivers/pb1000.cpp6
-rw-r--r--src/mame/drivers/pbaction.cpp10
-rw-r--r--src/mame/drivers/pc.cpp21
-rw-r--r--src/mame/drivers/pc100.cpp6
-rw-r--r--src/mame/drivers/pc1500.cpp6
-rw-r--r--src/mame/drivers/pc1512.cpp8
-rw-r--r--src/mame/drivers/pc2000.cpp15
-rw-r--r--src/mame/drivers/pc4.cpp4
-rw-r--r--src/mame/drivers/pc6001.cpp14
-rw-r--r--src/mame/drivers/pc8001.cpp8
-rw-r--r--src/mame/drivers/pc8401a.cpp6
-rw-r--r--src/mame/drivers/pc8801.cpp12
-rw-r--r--src/mame/drivers/pc88va.cpp12
-rw-r--r--src/mame/drivers/pc9801.cpp26
-rw-r--r--src/mame/drivers/pcat_dyn.cpp6
-rw-r--r--src/mame/drivers/pcat_nit.cpp12
-rw-r--r--src/mame/drivers/pcd.cpp9
-rw-r--r--src/mame/drivers/pce.cpp8
-rw-r--r--src/mame/drivers/pce220.cpp9
-rw-r--r--src/mame/drivers/pcfx.cpp6
-rw-r--r--src/mame/drivers/pcktgal.cpp4
-rw-r--r--src/mame/drivers/pcm.cpp6
-rw-r--r--src/mame/drivers/pcw.cpp6
-rw-r--r--src/mame/drivers/pcw16.cpp4
-rw-r--r--src/mame/drivers/pcxt.cpp15
-rw-r--r--src/mame/drivers/pda600.cpp6
-rw-r--r--src/mame/drivers/pdp1.cpp2
-rw-r--r--src/mame/drivers/pdp11.cpp6
-rw-r--r--src/mame/drivers/pecom.cpp4
-rw-r--r--src/mame/drivers/pegasus.cpp6
-rw-r--r--src/mame/drivers/pencil2.cpp6
-rw-r--r--src/mame/drivers/pengadvb.cpp9
-rw-r--r--src/mame/drivers/pengo.cpp13
-rw-r--r--src/mame/drivers/pentagon.cpp11
-rw-r--r--src/mame/drivers/peoplepc.cpp6
-rw-r--r--src/mame/drivers/peplus.cpp6
-rw-r--r--src/mame/drivers/pes.cpp4
-rw-r--r--src/mame/drivers/pet.cpp6
-rw-r--r--src/mame/drivers/peyper.cpp6
-rw-r--r--src/mame/drivers/pg685.cpp9
-rw-r--r--src/mame/drivers/pgm.cpp10
-rw-r--r--src/mame/drivers/pgm2.cpp8
-rw-r--r--src/mame/drivers/pgm3.cpp3
-rw-r--r--src/mame/drivers/phc25.cpp4
-rw-r--r--src/mame/drivers/phoenix.cpp6
-rw-r--r--src/mame/drivers/photon.cpp6
-rw-r--r--src/mame/drivers/photon2.cpp6
-rw-r--r--src/mame/drivers/photoply.cpp6
-rw-r--r--src/mame/drivers/phunsy.cpp9
-rw-r--r--src/mame/drivers/picno.cpp6
-rw-r--r--src/mame/drivers/piggypas.cpp6
-rw-r--r--src/mame/drivers/pimps.cpp6
-rw-r--r--src/mame/drivers/pinball2k.cpp9
-rw-r--r--src/mame/drivers/pingpong.cpp4
-rw-r--r--src/mame/drivers/pinkiri8.cpp12
-rw-r--r--src/mame/drivers/pipbug.cpp6
-rw-r--r--src/mame/drivers/pipedrm.cpp15
-rw-r--r--src/mame/drivers/pipeline.cpp9
-rw-r--r--src/mame/drivers/pirates.cpp2
-rw-r--r--src/mame/drivers/piratesh.cpp3
-rw-r--r--src/mame/drivers/pitagjr.cpp3
-rw-r--r--src/mame/drivers/pitnrun.cpp8
-rw-r--r--src/mame/drivers/pk8000.cpp6
-rw-r--r--src/mame/drivers/pk8020.cpp4
-rw-r--r--src/mame/drivers/pkscram.cpp3
-rw-r--r--src/mame/drivers/pktgaldx.cpp8
-rw-r--r--src/mame/drivers/plan80.cpp6
-rw-r--r--src/mame/drivers/play_1.cpp9
-rw-r--r--src/mame/drivers/play_2.cpp9
-rw-r--r--src/mame/drivers/play_3.cpp18
-rw-r--r--src/mame/drivers/playch10.cpp6
-rw-r--r--src/mame/drivers/playmark.cpp16
-rw-r--r--src/mame/drivers/plus4.cpp6
-rw-r--r--src/mame/drivers/pluto5.cpp3
-rw-r--r--src/mame/drivers/plygonet.cpp8
-rw-r--r--src/mame/drivers/pm68k.cpp3
-rw-r--r--src/mame/drivers/pmd85.cpp16
-rw-r--r--src/mame/drivers/pmi80.cpp6
-rw-r--r--src/mame/drivers/pntnpuzl.cpp6
-rw-r--r--src/mame/drivers/pockchal.cpp3
-rw-r--r--src/mame/drivers/pocketc.cpp24
-rw-r--r--src/mame/drivers/pockstat.cpp3
-rw-r--r--src/mame/drivers/pofo.cpp9
-rw-r--r--src/mame/drivers/poisk1.cpp6
-rw-r--r--src/mame/drivers/pokechmp.cpp6
-rw-r--r--src/mame/drivers/pokemini.cpp3
-rw-r--r--src/mame/drivers/poker72.cpp3
-rw-r--r--src/mame/drivers/polepos.cpp16
-rw-r--r--src/mame/drivers/polgar.cpp18
-rw-r--r--src/mame/drivers/policetr.cpp4
-rw-r--r--src/mame/drivers/poly.cpp3
-rw-r--r--src/mame/drivers/poly88.cpp8
-rw-r--r--src/mame/drivers/poly880.cpp4
-rw-r--r--src/mame/drivers/polyplay.cpp8
-rw-r--r--src/mame/drivers/poolshrk.cpp2
-rw-r--r--src/mame/drivers/pooyan.cpp2
-rw-r--r--src/mame/drivers/popeye.cpp8
-rw-r--r--src/mame/drivers/popobear.cpp3
-rw-r--r--src/mame/drivers/popper.cpp6
-rw-r--r--src/mame/drivers/portrait.cpp4
-rw-r--r--src/mame/drivers/potgoldu.cpp3
-rw-r--r--src/mame/drivers/powerbal.cpp9
-rw-r--r--src/mame/drivers/powerins.cpp12
-rw-r--r--src/mame/drivers/pp01.cpp4
-rw-r--r--src/mame/drivers/ppmast93.cpp12
-rw-r--r--src/mame/drivers/prehisle.cpp6
-rw-r--r--src/mame/drivers/prestige.cpp9
-rw-r--r--src/mame/drivers/primo.cpp10
-rw-r--r--src/mame/drivers/pro80.cpp6
-rw-r--r--src/mame/drivers/proconn.cpp6
-rw-r--r--src/mame/drivers/prodigy.cpp3
-rw-r--r--src/mame/drivers/prof180x.cpp4
-rw-r--r--src/mame/drivers/prof80.cpp6
-rw-r--r--src/mame/drivers/progolf.cpp6
-rw-r--r--src/mame/drivers/prophet600.cpp6
-rw-r--r--src/mame/drivers/proteus3.cpp3
-rw-r--r--src/mame/drivers/ps2.cpp12
-rw-r--r--src/mame/drivers/ps2sony.cpp3
-rw-r--r--src/mame/drivers/psikyo.cpp24
-rw-r--r--src/mame/drivers/psikyo4.cpp4
-rw-r--r--src/mame/drivers/psikyosh.cpp4
-rw-r--r--src/mame/drivers/psion.cpp12
-rw-r--r--src/mame/drivers/psx.cpp6
-rw-r--r--src/mame/drivers/psychic5.cpp16
-rw-r--r--src/mame/drivers/pt68k4.cpp6
-rw-r--r--src/mame/drivers/ptcsol.cpp6
-rw-r--r--src/mame/drivers/pturn.cpp6
-rw-r--r--src/mame/drivers/puckpkmn.cpp6
-rw-r--r--src/mame/drivers/pulsar.cpp6
-rw-r--r--src/mame/drivers/punchout.cpp12
-rw-r--r--src/mame/drivers/pv1000.cpp6
-rw-r--r--src/mame/drivers/pv2000.cpp6
-rw-r--r--src/mame/drivers/pv9234.cpp3
-rw-r--r--src/mame/drivers/pve500.cpp12
-rw-r--r--src/mame/drivers/pwrview.cpp14
-rw-r--r--src/mame/drivers/px4.cpp9
-rw-r--r--src/mame/drivers/px8.cpp8
-rw-r--r--src/mame/drivers/pyl601.cpp3
-rw-r--r--src/mame/drivers/pyson.cpp3
-rw-r--r--src/mame/drivers/pzletime.cpp3
-rw-r--r--src/mame/drivers/qdrmfgp.cpp6
-rw-r--r--src/mame/drivers/qix.cpp6
-rw-r--r--src/mame/drivers/ql.cpp6
-rw-r--r--src/mame/drivers/qtsbc.cpp6
-rw-r--r--src/mame/drivers/quakeat.cpp6
-rw-r--r--src/mame/drivers/quantum.cpp3
-rw-r--r--src/mame/drivers/quasar.cpp10
-rw-r--r--src/mame/drivers/queen.cpp6
-rw-r--r--src/mame/drivers/quickpick5.cpp3
-rw-r--r--src/mame/drivers/quizdna.cpp10
-rw-r--r--src/mame/drivers/quizo.cpp6
-rw-r--r--src/mame/drivers/quizpani.cpp2
-rw-r--r--src/mame/drivers/quizpun2.cpp15
-rw-r--r--src/mame/drivers/quizshow.cpp3
-rw-r--r--src/mame/drivers/qvt103.cpp6
-rw-r--r--src/mame/drivers/qvt201.cpp3
-rw-r--r--src/mame/drivers/qvt6800.cpp6
-rw-r--r--src/mame/drivers/qx10.cpp9
-rw-r--r--src/mame/drivers/r2dtank.cpp6
-rw-r--r--src/mame/drivers/r2dx_v33.cpp17
-rw-r--r--src/mame/drivers/r9751.cpp3
-rw-r--r--src/mame/drivers/rabbit.cpp3
-rw-r--r--src/mame/drivers/rad_eu3a05.cpp6
-rw-r--r--src/mame/drivers/rad_eu3a14.cpp6
-rw-r--r--src/mame/drivers/radio86.cpp16
-rw-r--r--src/mame/drivers/raiden.cpp18
-rw-r--r--src/mame/drivers/raiden2.cpp20
-rw-r--r--src/mame/drivers/rainbow.cpp15
-rw-r--r--src/mame/drivers/rallyx.cpp6
-rw-r--r--src/mame/drivers/rambo.cpp9
-rw-r--r--src/mame/drivers/rampart.cpp2
-rw-r--r--src/mame/drivers/rastan.cpp4
-rw-r--r--src/mame/drivers/rastersp.cpp9
-rw-r--r--src/mame/drivers/ravens.cpp9
-rw-r--r--src/mame/drivers/rbisland.cpp8
-rw-r--r--src/mame/drivers/rbmk.cpp12
-rw-r--r--src/mame/drivers/rc702.cpp6
-rw-r--r--src/mame/drivers/rc759.cpp6
-rw-r--r--src/mame/drivers/rcorsair.cpp9
-rw-r--r--src/mame/drivers/rd100.cpp3
-rw-r--r--src/mame/drivers/rd110.cpp6
-rw-r--r--src/mame/drivers/re900.cpp6
-rw-r--r--src/mame/drivers/realbrk.cpp10
-rw-r--r--src/mame/drivers/redalert.cpp8
-rw-r--r--src/mame/drivers/redclash.cpp10
-rw-r--r--src/mame/drivers/relief.cpp4
-rw-r--r--src/mame/drivers/renegade.cpp6
-rw-r--r--src/mame/drivers/replicator.cpp9
-rw-r--r--src/mame/drivers/retofinv.cpp8
-rw-r--r--src/mame/drivers/rex6000.cpp15
-rw-r--r--src/mame/drivers/rgum.cpp3
-rw-r--r--src/mame/drivers/risc2500.cpp3
-rw-r--r--src/mame/drivers/riscpc.cpp3
-rw-r--r--src/mame/drivers/rltennis.cpp4
-rw-r--r--src/mame/drivers/rm380z.cpp8
-rw-r--r--src/mame/drivers/rmhaihai.cpp12
-rw-r--r--src/mame/drivers/rmnimbus.cpp8
-rw-r--r--src/mame/drivers/rmt32.cpp6
-rw-r--r--src/mame/drivers/rockrage.cpp6
-rw-r--r--src/mame/drivers/rocnrope.cpp2
-rw-r--r--src/mame/drivers/rohga.cpp16
-rw-r--r--src/mame/drivers/rollerg.cpp4
-rw-r--r--src/mame/drivers/rollext.cpp3
-rw-r--r--src/mame/drivers/rollrace.cpp4
-rw-r--r--src/mame/drivers/ron.cpp12
-rw-r--r--src/mame/drivers/rotaryf.cpp6
-rw-r--r--src/mame/drivers/roul.cpp12
-rw-r--r--src/mame/drivers/route16.cpp18
-rw-r--r--src/mame/drivers/rowamet.cpp9
-rw-r--r--src/mame/drivers/royalmah.cpp99
-rw-r--r--src/mame/drivers/rpunch.cpp4
-rw-r--r--src/mame/drivers/rsc55.cpp6
-rw-r--r--src/mame/drivers/rt1715.cpp12
-rw-r--r--src/mame/drivers/runaway.cpp2
-rw-r--r--src/mame/drivers/rungun.cpp6
-rw-r--r--src/mame/drivers/rvoice.cpp6
-rw-r--r--src/mame/drivers/rx78.cpp6
-rw-r--r--src/mame/drivers/s11.cpp6
-rw-r--r--src/mame/drivers/s11a.cpp6
-rw-r--r--src/mame/drivers/s11b.cpp6
-rw-r--r--src/mame/drivers/s11c.cpp2
-rw-r--r--src/mame/drivers/s3.cpp6
-rw-r--r--src/mame/drivers/s4.cpp6
-rw-r--r--src/mame/drivers/s6.cpp6
-rw-r--r--src/mame/drivers/s6a.cpp6
-rw-r--r--src/mame/drivers/s7.cpp6
-rw-r--r--src/mame/drivers/s8.cpp6
-rw-r--r--src/mame/drivers/s8a.cpp6
-rw-r--r--src/mame/drivers/s9.cpp6
-rw-r--r--src/mame/drivers/sacstate.cpp6
-rw-r--r--src/mame/drivers/safarir.cpp3
-rw-r--r--src/mame/drivers/sage2.cpp2
-rw-r--r--src/mame/drivers/sam.cpp3
-rw-r--r--src/mame/drivers/samcoupe.cpp4
-rw-r--r--src/mame/drivers/sandscrp.cpp9
-rw-r--r--src/mame/drivers/sangho.cpp9
-rw-r--r--src/mame/drivers/sanremmg.cpp3
-rw-r--r--src/mame/drivers/sanremo.cpp6
-rw-r--r--src/mame/drivers/sansa_fuze.cpp3
-rw-r--r--src/mame/drivers/sapi1.cpp24
-rw-r--r--src/mame/drivers/sartorius.cpp9
-rw-r--r--src/mame/drivers/saturn.cpp6
-rw-r--r--src/mame/drivers/sauro.cpp10
-rw-r--r--src/mame/drivers/savia84.cpp6
-rw-r--r--src/mame/drivers/savquest.cpp6
-rw-r--r--src/mame/drivers/sbasketb.cpp4
-rw-r--r--src/mame/drivers/sbc6510.cpp12
-rw-r--r--src/mame/drivers/sbowling.cpp6
-rw-r--r--src/mame/drivers/sbrain.cpp12
-rw-r--r--src/mame/drivers/sbrkout.cpp6
-rw-r--r--src/mame/drivers/sbugger.cpp4
-rw-r--r--src/mame/drivers/sc1.cpp6
-rw-r--r--src/mame/drivers/sc2.cpp6
-rw-r--r--src/mame/drivers/scobra.cpp42
-rw-r--r--src/mame/drivers/scopus.cpp6
-rw-r--r--src/mame/drivers/scorpion.cpp11
-rw-r--r--src/mame/drivers/scotrsht.cpp6
-rw-r--r--src/mame/drivers/scramble.cpp40
-rw-r--r--src/mame/drivers/scregg.cpp6
-rw-r--r--src/mame/drivers/scv.cpp3
-rw-r--r--src/mame/drivers/scyclone.cpp12
-rw-r--r--src/mame/drivers/sderby.cpp12
-rw-r--r--src/mame/drivers/sderby2.cpp12
-rw-r--r--src/mame/drivers/sdk80.cpp6
-rw-r--r--src/mame/drivers/sdk85.cpp6
-rw-r--r--src/mame/drivers/sdk86.cpp6
-rw-r--r--src/mame/drivers/seabattl.cpp6
-rw-r--r--src/mame/drivers/sealy.cpp3
-rw-r--r--src/mame/drivers/seattle.cpp25
-rw-r--r--src/mame/drivers/seattlecmp.cpp6
-rw-r--r--src/mame/drivers/segac2.cpp3
-rw-r--r--src/mame/drivers/segacoin.cpp12
-rw-r--r--src/mame/drivers/segae.cpp24
-rw-r--r--src/mame/drivers/segag80r.cpp20
-rw-r--r--src/mame/drivers/segag80v.cpp4
-rw-r--r--src/mame/drivers/segahang.cpp28
-rw-r--r--src/mame/drivers/segajw.cpp15
-rw-r--r--src/mame/drivers/segald.cpp6
-rw-r--r--src/mame/drivers/segam1.cpp15
-rw-r--r--src/mame/drivers/segaorun.cpp12
-rw-r--r--src/mame/drivers/segapico.cpp6
-rw-r--r--src/mame/drivers/segapm.cpp3
-rw-r--r--src/mame/drivers/segas16a.cpp18
-rw-r--r--src/mame/drivers/segas16b.cpp42
-rw-r--r--src/mame/drivers/segas18.cpp12
-rw-r--r--src/mame/drivers/segas24.cpp16
-rw-r--r--src/mame/drivers/segas32.cpp34
-rw-r--r--src/mame/drivers/segasp.cpp4
-rw-r--r--src/mame/drivers/segaufo.cpp12
-rw-r--r--src/mame/drivers/segaxbd.cpp32
-rw-r--r--src/mame/drivers/segaybd.cpp18
-rw-r--r--src/mame/drivers/seibucats.cpp3
-rw-r--r--src/mame/drivers/seibuspi.cpp22
-rw-r--r--src/mame/drivers/seicross.cpp12
-rw-r--r--src/mame/drivers/seicupbl.cpp6
-rw-r--r--src/mame/drivers/selz80.cpp9
-rw-r--r--src/mame/drivers/sengokmj.cpp8
-rw-r--r--src/mame/drivers/senjyo.cpp16
-rw-r--r--src/mame/drivers/seta.cpp98
-rw-r--r--src/mame/drivers/seta2.cpp38
-rw-r--r--src/mame/drivers/sf.cpp12
-rw-r--r--src/mame/drivers/sfbonus.cpp9
-rw-r--r--src/mame/drivers/sfcbox.cpp12
-rw-r--r--src/mame/drivers/sfkick.cpp12
-rw-r--r--src/mame/drivers/sg1000.cpp16
-rw-r--r--src/mame/drivers/sg1000a.cpp14
-rw-r--r--src/mame/drivers/sh4robot.cpp6
-rw-r--r--src/mame/drivers/shadfrce.cpp4
-rw-r--r--src/mame/drivers/shangha3.cpp10
-rw-r--r--src/mame/drivers/shanghai.cpp21
-rw-r--r--src/mame/drivers/shangkid.cpp22
-rw-r--r--src/mame/drivers/shaolins.cpp2
-rw-r--r--src/mame/drivers/shisen.cpp8
-rw-r--r--src/mame/drivers/shootaway2.cpp6
-rw-r--r--src/mame/drivers/shootout.cpp6
-rw-r--r--src/mame/drivers/shougi.cpp9
-rw-r--r--src/mame/drivers/shtzone.cpp3
-rw-r--r--src/mame/drivers/shuuz.cpp2
-rw-r--r--src/mame/drivers/sidearms.cpp12
-rw-r--r--src/mame/drivers/sidepckt.cpp6
-rw-r--r--src/mame/drivers/sigmab52.cpp9
-rw-r--r--src/mame/drivers/sigmab98.cpp54
-rw-r--r--src/mame/drivers/silkroad.cpp2
-rw-r--r--src/mame/drivers/silvmil.cpp6
-rw-r--r--src/mame/drivers/simpl156.cpp10
-rw-r--r--src/mame/drivers/simple_st0016.cpp10
-rw-r--r--src/mame/drivers/simpsons.cpp8
-rw-r--r--src/mame/drivers/sitcom.cpp9
-rw-r--r--src/mame/drivers/sk1.cpp3
-rw-r--r--src/mame/drivers/skeetsht.cpp9
-rw-r--r--src/mame/drivers/skimaxx.cpp13
-rw-r--r--src/mame/drivers/skullxbo.cpp2
-rw-r--r--src/mame/drivers/skyarmy.cpp6
-rw-r--r--src/mame/drivers/skydiver.cpp2
-rw-r--r--src/mame/drivers/skyfox.cpp4
-rw-r--r--src/mame/drivers/skykid.cpp6
-rw-r--r--src/mame/drivers/skylncr.cpp20
-rw-r--r--src/mame/drivers/skyraid.cpp2
-rw-r--r--src/mame/drivers/slapfght.cpp32
-rw-r--r--src/mame/drivers/slapshot.cpp6
-rw-r--r--src/mame/drivers/slc1.cpp6
-rw-r--r--src/mame/drivers/sleic.cpp3
-rw-r--r--src/mame/drivers/slicer.cpp6
-rw-r--r--src/mame/drivers/sliver.cpp15
-rw-r--r--src/mame/drivers/slotcarn.cpp6
-rw-r--r--src/mame/drivers/sm1800.cpp6
-rw-r--r--src/mame/drivers/sm7238.cpp9
-rw-r--r--src/mame/drivers/smc777.cpp6
-rw-r--r--src/mame/drivers/sms.cpp16
-rw-r--r--src/mame/drivers/sms_bootleg.cpp4
-rw-r--r--src/mame/drivers/smsmcorp.cpp9
-rw-r--r--src/mame/drivers/snes.cpp6
-rw-r--r--src/mame/drivers/snesb.cpp9
-rw-r--r--src/mame/drivers/snk.cpp78
-rw-r--r--src/mame/drivers/snk6502.cpp10
-rw-r--r--src/mame/drivers/snk68.cpp8
-rw-r--r--src/mame/drivers/snookr10.cpp6
-rw-r--r--src/mame/drivers/snowbros.cpp32
-rw-r--r--src/mame/drivers/socrates.cpp24
-rw-r--r--src/mame/drivers/softbox.cpp4
-rw-r--r--src/mame/drivers/solomon.cpp6
-rw-r--r--src/mame/drivers/sonson.cpp4
-rw-r--r--src/mame/drivers/sorcerer.cpp6
-rw-r--r--src/mame/drivers/sothello.cpp15
-rw-r--r--src/mame/drivers/spacefb.cpp6
-rw-r--r--src/mame/drivers/spaceg.cpp3
-rw-r--r--src/mame/drivers/spartanxtec.cpp9
-rw-r--r--src/mame/drivers/spbactn.cpp8
-rw-r--r--src/mame/drivers/spc1000.cpp6
-rw-r--r--src/mame/drivers/spc1500.cpp6
-rw-r--r--src/mame/drivers/spcforce.cpp4
-rw-r--r--src/mame/drivers/spdodgeb.cpp4
-rw-r--r--src/mame/drivers/spec128.cpp4
-rw-r--r--src/mame/drivers/special.cpp10
-rw-r--r--src/mame/drivers/specpls3.cpp4
-rw-r--r--src/mame/drivers/spectra.cpp3
-rw-r--r--src/mame/drivers/spectrum.cpp4
-rw-r--r--src/mame/drivers/speedatk.cpp4
-rw-r--r--src/mame/drivers/speedbal.cpp8
-rw-r--r--src/mame/drivers/speedspn.cpp8
-rw-r--r--src/mame/drivers/speglsht.cpp9
-rw-r--r--src/mame/drivers/spiders.cpp4
-rw-r--r--src/mame/drivers/spinb.cpp18
-rw-r--r--src/mame/drivers/spirit76.cpp3
-rw-r--r--src/mame/drivers/splash.cpp21
-rw-r--r--src/mame/drivers/splus.cpp6
-rw-r--r--src/mame/drivers/spoker.cpp11
-rw-r--r--src/mame/drivers/spool99.cpp6
-rw-r--r--src/mame/drivers/sprcros2.cpp12
-rw-r--r--src/mame/drivers/sprint2.cpp2
-rw-r--r--src/mame/drivers/sprint4.cpp2
-rw-r--r--src/mame/drivers/sprint8.cpp2
-rw-r--r--src/mame/drivers/spy.cpp4
-rw-r--r--src/mame/drivers/spyhuntertec.cpp12
-rw-r--r--src/mame/drivers/squale.cpp6
-rw-r--r--src/mame/drivers/srmp2.cpp12
-rw-r--r--src/mame/drivers/srmp5.cpp9
-rw-r--r--src/mame/drivers/srmp6.cpp3
-rw-r--r--src/mame/drivers/srumbler.cpp4
-rw-r--r--src/mame/drivers/ssem.cpp3
-rw-r--r--src/mame/drivers/ssfindo.cpp9
-rw-r--r--src/mame/drivers/sshangha.cpp6
-rw-r--r--src/mame/drivers/sshot.cpp3
-rw-r--r--src/mame/drivers/ssingles.cpp12
-rw-r--r--src/mame/drivers/sslam.cpp6
-rw-r--r--src/mame/drivers/ssozumo.cpp4
-rw-r--r--src/mame/drivers/sspeedr.cpp4
-rw-r--r--src/mame/drivers/ssrj.cpp2
-rw-r--r--src/mame/drivers/sstrangr.cpp6
-rw-r--r--src/mame/drivers/ssv.cpp40
-rw-r--r--src/mame/drivers/ssystem3.cpp2
-rw-r--r--src/mame/drivers/st17xx.cpp3
-rw-r--r--src/mame/drivers/st_mp100.cpp3
-rw-r--r--src/mame/drivers/st_mp200.cpp3
-rw-r--r--src/mame/drivers/stactics.cpp2
-rw-r--r--src/mame/drivers/stadhero.cpp4
-rw-r--r--src/mame/drivers/starcrus.cpp4
-rw-r--r--src/mame/drivers/starfire.cpp2
-rw-r--r--src/mame/drivers/stargame.cpp12
-rw-r--r--src/mame/drivers/starshp1.cpp2
-rw-r--r--src/mame/drivers/starwars.cpp6
-rw-r--r--src/mame/drivers/statriv2.cpp6
-rw-r--r--src/mame/drivers/stellafr.cpp3
-rw-r--r--src/mame/drivers/stfight.cpp12
-rw-r--r--src/mame/drivers/stlforce.cpp4
-rw-r--r--src/mame/drivers/stratos.cpp3
-rw-r--r--src/mame/drivers/strkzn.cpp12
-rw-r--r--src/mame/drivers/strnskil.cpp4
-rw-r--r--src/mame/drivers/studio2.cpp18
-rw-r--r--src/mame/drivers/stuntair.cpp9
-rw-r--r--src/mame/drivers/stv.cpp4
-rw-r--r--src/mame/drivers/su2000.cpp6
-rw-r--r--src/mame/drivers/sub.cpp12
-rw-r--r--src/mame/drivers/subhuntr.cpp9
-rw-r--r--src/mame/drivers/subs.cpp2
-rw-r--r--src/mame/drivers/subsino.cpp30
-rw-r--r--src/mame/drivers/subsino2.cpp39
-rw-r--r--src/mame/drivers/summit.cpp3
-rw-r--r--src/mame/drivers/sumt8035.cpp6
-rw-r--r--src/mame/drivers/sun1.cpp3
-rw-r--r--src/mame/drivers/sun2.cpp27
-rw-r--r--src/mame/drivers/sun3.cpp18
-rw-r--r--src/mame/drivers/sun3x.cpp6
-rw-r--r--src/mame/drivers/sun4.cpp15
-rw-r--r--src/mame/drivers/suna16.cpp32
-rw-r--r--src/mame/drivers/suna8.cpp46
-rw-r--r--src/mame/drivers/supbtime.cpp12
-rw-r--r--src/mame/drivers/supdrapo.cpp3
-rw-r--r--src/mame/drivers/supduck.cpp9
-rw-r--r--src/mame/drivers/super6.cpp4
-rw-r--r--src/mame/drivers/super80.cpp14
-rw-r--r--src/mame/drivers/superchs.cpp6
-rw-r--r--src/mame/drivers/supercrd.cpp3
-rw-r--r--src/mame/drivers/superdq.cpp6
-rw-r--r--src/mame/drivers/superqix.cpp10
-rw-r--r--src/mame/drivers/superslave.cpp6
-rw-r--r--src/mame/drivers/supertnk.cpp6
-rw-r--r--src/mame/drivers/superwng.cpp6
-rw-r--r--src/mame/drivers/supracan.cpp6
-rw-r--r--src/mame/drivers/suprgolf.cpp6
-rw-r--r--src/mame/drivers/suprloco.cpp8
-rw-r--r--src/mame/drivers/suprnova.cpp2
-rw-r--r--src/mame/drivers/suprridr.cpp8
-rw-r--r--src/mame/drivers/suprslam.cpp6
-rw-r--r--src/mame/drivers/supstarf.cpp12
-rw-r--r--src/mame/drivers/surpratk.cpp4
-rw-r--r--src/mame/drivers/sv8000.cpp6
-rw-r--r--src/mame/drivers/svi318.cpp9
-rw-r--r--src/mame/drivers/svision.cpp4
-rw-r--r--src/mame/drivers/svmu.cpp6
-rw-r--r--src/mame/drivers/swtpc.cpp3
-rw-r--r--src/mame/drivers/swtpc09.cpp10
-rw-r--r--src/mame/drivers/swyft.cpp3
-rw-r--r--src/mame/drivers/sym1.cpp3
-rw-r--r--src/mame/drivers/symbolics.cpp6
-rw-r--r--src/mame/drivers/sys2900.cpp6
-rw-r--r--src/mame/drivers/sys9002.cpp6
-rw-r--r--src/mame/drivers/systec.cpp6
-rw-r--r--src/mame/drivers/system1.cpp30
-rw-r--r--src/mame/drivers/system16.cpp70
-rw-r--r--src/mame/drivers/tagteam.cpp4
-rw-r--r--src/mame/drivers/tail2nos.cpp6
-rw-r--r--src/mame/drivers/taito.cpp18
-rw-r--r--src/mame/drivers/taito_b.cpp40
-rw-r--r--src/mame/drivers/taito_f2.cpp66
-rw-r--r--src/mame/drivers/taito_f3.cpp4
-rw-r--r--src/mame/drivers/taito_h.cpp10
-rw-r--r--src/mame/drivers/taito_l.cpp42
-rw-r--r--src/mame/drivers/taito_o.cpp2
-rw-r--r--src/mame/drivers/taito_x.cpp12
-rw-r--r--src/mame/drivers/taito_z.cpp44
-rw-r--r--src/mame/drivers/taitoair.cpp8
-rw-r--r--src/mame/drivers/taitogn.cpp17
-rw-r--r--src/mame/drivers/taitojc.cpp12
-rw-r--r--src/mame/drivers/taitopjc.cpp18
-rw-r--r--src/mame/drivers/taitosj.cpp8
-rw-r--r--src/mame/drivers/taitotx.cpp3
-rw-r--r--src/mame/drivers/taitotz.cpp9
-rw-r--r--src/mame/drivers/taitowlf.cpp6
-rw-r--r--src/mame/drivers/tandy1t.cpp24
-rw-r--r--src/mame/drivers/tandy2k.cpp8
-rw-r--r--src/mame/drivers/tank8.cpp2
-rw-r--r--src/mame/drivers/tankbatt.cpp2
-rw-r--r--src/mame/drivers/tankbust.cpp6
-rw-r--r--src/mame/drivers/taotaido.cpp6
-rw-r--r--src/mame/drivers/tapatune.cpp9
-rw-r--r--src/mame/drivers/targeth.cpp6
-rw-r--r--src/mame/drivers/tasman.cpp6
-rw-r--r--src/mame/drivers/tatsumi.cpp24
-rw-r--r--src/mame/drivers/tattack.cpp3
-rw-r--r--src/mame/drivers/tavernie.cpp6
-rw-r--r--src/mame/drivers/taxidriv.cpp8
-rw-r--r--src/mame/drivers/tbowl.cpp12
-rw-r--r--src/mame/drivers/tceptor.cpp12
-rw-r--r--src/mame/drivers/tcl.cpp3
-rw-r--r--src/mame/drivers/tdv2324.cpp10
-rw-r--r--src/mame/drivers/tec1.cpp12
-rw-r--r--src/mame/drivers/techno.cpp3
-rw-r--r--src/mame/drivers/tecmo.cpp10
-rw-r--r--src/mame/drivers/tecmo16.cpp6
-rw-r--r--src/mame/drivers/tecmosys.cpp6
-rw-r--r--src/mame/drivers/tecnbras.cpp6
-rw-r--r--src/mame/drivers/tehkanwc.cpp8
-rw-r--r--src/mame/drivers/tek405x.cpp4
-rw-r--r--src/mame/drivers/tek410x.cpp6
-rw-r--r--src/mame/drivers/tek440x.cpp6
-rw-r--r--src/mame/drivers/tekxp33x.cpp6
-rw-r--r--src/mame/drivers/tempest.cpp3
-rw-r--r--src/mame/drivers/terak.cpp3
-rw-r--r--src/mame/drivers/terco.cpp3
-rw-r--r--src/mame/drivers/terminals.cpp3
-rw-r--r--src/mame/drivers/terracre.cpp12
-rw-r--r--src/mame/drivers/testconsole.cpp6
-rw-r--r--src/mame/drivers/tetrisp2.cpp18
-rw-r--r--src/mame/drivers/tg100.cpp9
-rw-r--r--src/mame/drivers/tgtpanic.cpp6
-rw-r--r--src/mame/drivers/thayers.cpp6
-rw-r--r--src/mame/drivers/thedealr.cpp6
-rw-r--r--src/mame/drivers/thedeep.cpp6
-rw-r--r--src/mame/drivers/thepit.cpp10
-rw-r--r--src/mame/drivers/thief.cpp6
-rw-r--r--src/mame/drivers/thomson.cpp16
-rw-r--r--src/mame/drivers/thoop2.cpp8
-rw-r--r--src/mame/drivers/thunderj.cpp4
-rw-r--r--src/mame/drivers/thunderx.cpp14
-rw-r--r--src/mame/drivers/ti630.cpp6
-rw-r--r--src/mame/drivers/ti74.cpp3
-rw-r--r--src/mame/drivers/ti85.cpp28
-rw-r--r--src/mame/drivers/ti89.cpp10
-rw-r--r--src/mame/drivers/ti990_10.cpp6
-rw-r--r--src/mame/drivers/ti990_4.cpp9
-rw-r--r--src/mame/drivers/ti99_2.cpp6
-rw-r--r--src/mame/drivers/ti99_4p.cpp6
-rw-r--r--src/mame/drivers/ti99_4x.cpp6
-rw-r--r--src/mame/drivers/ti99_8.cpp6
-rw-r--r--src/mame/drivers/tiamc1.cpp8
-rw-r--r--src/mame/drivers/tickee.cpp12
-rw-r--r--src/mame/drivers/tigeroad.cpp18
-rw-r--r--src/mame/drivers/tiki100.cpp4
-rw-r--r--src/mame/drivers/tim011.cpp6
-rw-r--r--src/mame/drivers/tim100.cpp6
-rw-r--r--src/mame/drivers/timelimt.cpp8
-rw-r--r--src/mame/drivers/timeplt.cpp9
-rw-r--r--src/mame/drivers/timetrv.cpp6
-rw-r--r--src/mame/drivers/timex.cpp8
-rw-r--r--src/mame/drivers/tk2000.cpp6
-rw-r--r--src/mame/drivers/tk80.cpp18
-rw-r--r--src/mame/drivers/tk80bs.cpp3
-rw-r--r--src/mame/drivers/tm990189.cpp9
-rw-r--r--src/mame/drivers/tmaster.cpp3
-rw-r--r--src/mame/drivers/tmc1800.cpp16
-rw-r--r--src/mame/drivers/tmc2000e.cpp4
-rw-r--r--src/mame/drivers/tmc600.cpp4
-rw-r--r--src/mame/drivers/tmmjprd.cpp3
-rw-r--r--src/mame/drivers/tmnt.cpp40
-rw-r--r--src/mame/drivers/tmspoker.cpp6
-rw-r--r--src/mame/drivers/tnzs.cpp36
-rw-r--r--src/mame/drivers/toaplan1.cpp44
-rw-r--r--src/mame/drivers/toaplan2.cpp74
-rw-r--r--src/mame/drivers/toki.cpp18
-rw-r--r--src/mame/drivers/tomcat.cpp9
-rw-r--r--src/mame/drivers/tonton.cpp6
-rw-r--r--src/mame/drivers/toobin.cpp2
-rw-r--r--src/mame/drivers/topspeed.cpp8
-rw-r--r--src/mame/drivers/toratora.cpp3
-rw-r--r--src/mame/drivers/tosh1000.cpp9
-rw-r--r--src/mame/drivers/tourtabl.cpp3
-rw-r--r--src/mame/drivers/tourvis.cpp9
-rw-r--r--src/mame/drivers/toypop.cpp15
-rw-r--r--src/mame/drivers/tp84.cpp8
-rw-r--r--src/mame/drivers/tr175.cpp9
-rw-r--r--src/mame/drivers/trackfld.cpp20
-rw-r--r--src/mame/drivers/tranz330.cpp16
-rw-r--r--src/mame/drivers/travrusa.cpp2
-rw-r--r--src/mame/drivers/tricep.cpp3
-rw-r--r--src/mame/drivers/triforce.cpp3
-rw-r--r--src/mame/drivers/triplhnt.cpp2
-rw-r--r--src/mame/drivers/trs80.cpp28
-rw-r--r--src/mame/drivers/trs80dt1.cpp9
-rw-r--r--src/mame/drivers/trs80m2.cpp8
-rw-r--r--src/mame/drivers/truco.cpp2
-rw-r--r--src/mame/drivers/trucocl.cpp2
-rw-r--r--src/mame/drivers/trvmadns.cpp6
-rw-r--r--src/mame/drivers/trvquest.cpp2
-rw-r--r--src/mame/drivers/tryout.cpp4
-rw-r--r--src/mame/drivers/ts3000.cpp6
-rw-r--r--src/mame/drivers/ts802.cpp6
-rw-r--r--src/mame/drivers/ts803.cpp6
-rw-r--r--src/mame/drivers/ts816.cpp6
-rw-r--r--src/mame/drivers/tsamurai.cpp26
-rw-r--r--src/mame/drivers/tsispch.cpp8
-rw-r--r--src/mame/drivers/ttchamp.cpp6
-rw-r--r--src/mame/drivers/tti.cpp3
-rw-r--r--src/mame/drivers/tubep.cpp26
-rw-r--r--src/mame/drivers/tugboat.cpp3
-rw-r--r--src/mame/drivers/tumbleb.cpp22
-rw-r--r--src/mame/drivers/tunhunt.cpp2
-rw-r--r--src/mame/drivers/turbo.cpp16
-rw-r--r--src/mame/drivers/turrett.cpp4
-rw-r--r--src/mame/drivers/tutankhm.cpp2
-rw-r--r--src/mame/drivers/tutor.cpp9
-rw-r--r--src/mame/drivers/tv910.cpp3
-rw-r--r--src/mame/drivers/tv912.cpp9
-rw-r--r--src/mame/drivers/tv950.cpp3
-rw-r--r--src/mame/drivers/tv990.cpp3
-rw-r--r--src/mame/drivers/tvboy.cpp6
-rw-r--r--src/mame/drivers/tvc.cpp6
-rw-r--r--src/mame/drivers/tvcapcom.cpp3
-rw-r--r--src/mame/drivers/tvgame.cpp6
-rw-r--r--src/mame/drivers/twin16.cpp8
-rw-r--r--src/mame/drivers/twincobr.cpp12
-rw-r--r--src/mame/drivers/twinkle.cpp9
-rw-r--r--src/mame/drivers/twins.cpp15
-rw-r--r--src/mame/drivers/tx0.cpp4
-rw-r--r--src/mame/drivers/tx1.cpp20
-rw-r--r--src/mame/drivers/uapce.cpp9
-rw-r--r--src/mame/drivers/uknc.cpp6
-rw-r--r--src/mame/drivers/ultraman.cpp6
-rw-r--r--src/mame/drivers/ultratnk.cpp2
-rw-r--r--src/mame/drivers/ultrsprt.cpp6
-rw-r--r--src/mame/drivers/umipoker.cpp9
-rw-r--r--src/mame/drivers/undrfire.cpp6
-rw-r--r--src/mame/drivers/unianapc.cpp3
-rw-r--r--src/mame/drivers/unichamp.cpp3
-rw-r--r--src/mame/drivers/unico.cpp6
-rw-r--r--src/mame/drivers/unior.cpp6
-rw-r--r--src/mame/drivers/unistar.cpp6
-rw-r--r--src/mame/drivers/univac.cpp6
-rw-r--r--src/mame/drivers/unixpc.cpp6
-rw-r--r--src/mame/drivers/unkhorse.cpp6
-rw-r--r--src/mame/drivers/upscope.cpp9
-rw-r--r--src/mame/drivers/usgames.cpp4
-rw-r--r--src/mame/drivers/ut88.cpp8
-rw-r--r--src/mame/drivers/uzebox.cpp9
-rw-r--r--src/mame/drivers/v100.cpp6
-rw-r--r--src/mame/drivers/v102.cpp9
-rw-r--r--src/mame/drivers/v1050.cpp6
-rw-r--r--src/mame/drivers/v6809.cpp3
-rw-r--r--src/mame/drivers/vamphalf.cpp54
-rw-r--r--src/mame/drivers/vaportra.cpp4
-rw-r--r--src/mame/drivers/vastar.cpp8
-rw-r--r--src/mame/drivers/vax11.cpp3
-rw-r--r--src/mame/drivers/vball.cpp4
-rw-r--r--src/mame/drivers/vboy.cpp6
-rw-r--r--src/mame/drivers/vc4000.cpp4
-rw-r--r--src/mame/drivers/vcombat.cpp12
-rw-r--r--src/mame/drivers/vcs80.cpp6
-rw-r--r--src/mame/drivers/vd.cpp6
-rw-r--r--src/mame/drivers/vector06.cpp13
-rw-r--r--src/mame/drivers/vector4.cpp6
-rw-r--r--src/mame/drivers/vectrex.cpp4
-rw-r--r--src/mame/drivers/vectrix.cpp6
-rw-r--r--src/mame/drivers/vega.cpp6
-rw-r--r--src/mame/drivers/vegaeo.cpp3
-rw-r--r--src/mame/drivers/vegas.cpp35
-rw-r--r--src/mame/drivers/vendetta.cpp10
-rw-r--r--src/mame/drivers/vertigo.cpp6
-rw-r--r--src/mame/drivers/vg5k.cpp6
-rw-r--r--src/mame/drivers/vgmplay.cpp48
-rw-r--r--src/mame/drivers/vic10.cpp9
-rw-r--r--src/mame/drivers/vic20.cpp9
-rw-r--r--src/mame/drivers/vicdual.cpp64
-rw-r--r--src/mame/drivers/victor9k.cpp3
-rw-r--r--src/mame/drivers/victory.cpp4
-rw-r--r--src/mame/drivers/vidbrain.cpp4
-rw-r--r--src/mame/drivers/videopin.cpp2
-rw-r--r--src/mame/drivers/videopkr.cpp24
-rw-r--r--src/mame/drivers/vigilant.cpp14
-rw-r--r--src/mame/drivers/vii.cpp3
-rw-r--r--src/mame/drivers/vindictr.cpp2
-rw-r--r--src/mame/drivers/vip.cpp4
-rw-r--r--src/mame/drivers/viper.cpp3
-rw-r--r--src/mame/drivers/vis.cpp6
-rw-r--r--src/mame/drivers/vixen.cpp8
-rw-r--r--src/mame/drivers/vk100.cpp6
-rw-r--r--src/mame/drivers/vlc.cpp3
-rw-r--r--src/mame/drivers/volfied.cpp4
-rw-r--r--src/mame/drivers/votrpss.cpp6
-rw-r--r--src/mame/drivers/votrtnt.cpp5
-rw-r--r--src/mame/drivers/voyager.cpp6
-rw-r--r--src/mame/drivers/vp101.cpp6
-rw-r--r--src/mame/drivers/vp122.cpp9
-rw-r--r--src/mame/drivers/vp60.cpp9
-rw-r--r--src/mame/drivers/vpoker.cpp3
-rw-r--r--src/mame/drivers/vroulet.cpp6
-rw-r--r--src/mame/drivers/vsmilepro.cpp3
-rw-r--r--src/mame/drivers/vsnes.cpp8
-rw-r--r--src/mame/drivers/vt100.cpp12
-rw-r--r--src/mame/drivers/vt220.cpp12
-rw-r--r--src/mame/drivers/vt240.cpp15
-rw-r--r--src/mame/drivers/vt320.cpp6
-rw-r--r--src/mame/drivers/vt520.cpp6
-rw-r--r--src/mame/drivers/vta2000.cpp6
-rw-r--r--src/mame/drivers/vtech1.cpp15
-rw-r--r--src/mame/drivers/vtech2.cpp4
-rw-r--r--src/mame/drivers/vulgus.cpp4
-rw-r--r--src/mame/drivers/wacky_gator.cpp3
-rw-r--r--src/mame/drivers/wallc.cpp6
-rw-r--r--src/mame/drivers/wangpc.cpp6
-rw-r--r--src/mame/drivers/wardner.cpp21
-rw-r--r--src/mame/drivers/warpsped.cpp6
-rw-r--r--src/mame/drivers/warpwarp.cpp8
-rw-r--r--src/mame/drivers/warriorb.cpp6
-rw-r--r--src/mame/drivers/wc90.cpp6
-rw-r--r--src/mame/drivers/wc90b.cpp6
-rw-r--r--src/mame/drivers/wecleman.cpp12
-rw-r--r--src/mame/drivers/welltris.cpp6
-rw-r--r--src/mame/drivers/wgp.cpp6
-rw-r--r--src/mame/drivers/wheelfir.cpp9
-rw-r--r--src/mame/drivers/white_mod.cpp3
-rw-r--r--src/mame/drivers/whitestar.cpp3
-rw-r--r--src/mame/drivers/wicat.cpp15
-rw-r--r--src/mame/drivers/wico.cpp6
-rw-r--r--src/mame/drivers/wildpkr.cpp12
-rw-r--r--src/mame/drivers/williams.cpp26
-rw-r--r--src/mame/drivers/wink.cpp12
-rw-r--r--src/mame/drivers/wiping.cpp4
-rw-r--r--src/mame/drivers/witch.cpp6
-rw-r--r--src/mame/drivers/wiz.cpp14
-rw-r--r--src/mame/drivers/wmg.cpp6
-rw-r--r--src/mame/drivers/wms.cpp12
-rw-r--r--src/mame/drivers/wolfpack.cpp2
-rw-r--r--src/mame/drivers/wpc_95.cpp3
-rw-r--r--src/mame/drivers/wpc_an.cpp3
-rw-r--r--src/mame/drivers/wpc_dcs.cpp3
-rw-r--r--src/mame/drivers/wpc_dot.cpp2
-rw-r--r--src/mame/drivers/wpc_flip1.cpp2
-rw-r--r--src/mame/drivers/wpc_flip2.cpp2
-rw-r--r--src/mame/drivers/wpc_s.cpp3
-rw-r--r--src/mame/drivers/wrally.cpp8
-rw-r--r--src/mame/drivers/wswan.cpp6
-rw-r--r--src/mame/drivers/wwfsstar.cpp4
-rw-r--r--src/mame/drivers/wyse.cpp6
-rw-r--r--src/mame/drivers/wyvernf0.cpp6
-rw-r--r--src/mame/drivers/x07.cpp4
-rw-r--r--src/mame/drivers/x1.cpp12
-rw-r--r--src/mame/drivers/x1twin.cpp56
-rw-r--r--src/mame/drivers/x68k.cpp6
-rw-r--r--src/mame/drivers/xain.cpp8
-rw-r--r--src/mame/drivers/xavix.cpp3
-rw-r--r--src/mame/drivers/xbox.cpp6
-rw-r--r--src/mame/drivers/xerox820.cpp12
-rw-r--r--src/mame/drivers/xexex.cpp4
-rw-r--r--src/mame/drivers/xmen.cpp8
-rw-r--r--src/mame/drivers/xor100.cpp4
-rw-r--r--src/mame/drivers/xorworld.cpp2
-rw-r--r--src/mame/drivers/xtheball.cpp3
-rw-r--r--src/mame/drivers/xtom3d.cpp6
-rw-r--r--src/mame/drivers/xxmissio.cpp4
-rw-r--r--src/mame/drivers/xybots.cpp2
-rw-r--r--src/mame/drivers/xyonix.cpp4
-rw-r--r--src/mame/drivers/yiear.cpp4
-rw-r--r--src/mame/drivers/ymmu100.cpp6
-rw-r--r--src/mame/drivers/yunsun16.cpp8
-rw-r--r--src/mame/drivers/yunsung8.cpp6
-rw-r--r--src/mame/drivers/yuvomz80.cpp15
-rw-r--r--src/mame/drivers/z100.cpp6
-rw-r--r--src/mame/drivers/z1013.cpp6
-rw-r--r--src/mame/drivers/z80dev.cpp6
-rw-r--r--src/mame/drivers/z80ne.cpp14
-rw-r--r--src/mame/drivers/z88.cpp4
-rw-r--r--src/mame/drivers/z9001.cpp6
-rw-r--r--src/mame/drivers/zac2650.cpp2
-rw-r--r--src/mame/drivers/zac_1.cpp18
-rw-r--r--src/mame/drivers/zac_2.cpp9
-rw-r--r--src/mame/drivers/zac_proto.cpp3
-rw-r--r--src/mame/drivers/zaccaria.cpp2
-rw-r--r--src/mame/drivers/zapcomputer.cpp6
-rw-r--r--src/mame/drivers/zaurus.cpp3
-rw-r--r--src/mame/drivers/zaxxon.cpp20
-rw-r--r--src/mame/drivers/zerozone.cpp4
-rw-r--r--src/mame/drivers/zexall.cpp3
-rw-r--r--src/mame/drivers/zms8085.cpp6
-rw-r--r--src/mame/drivers/zn.cpp69
-rw-r--r--src/mame/drivers/zodiack.cpp6
-rw-r--r--src/mame/drivers/zorba.cpp7
-rw-r--r--src/mame/drivers/zr107.cpp15
-rw-r--r--src/mame/drivers/zrt80.cpp6
-rw-r--r--src/mame/drivers/zsbc3.cpp6
-rw-r--r--src/mame/drivers/zwackery.cpp3
-rw-r--r--src/mame/drivers/zx.cpp16
2096 files changed, 11299 insertions, 7934 deletions
diff --git a/src/mame/drivers/1942.cpp b/src/mame/drivers/1942.cpp
index b2cdaf43952..2a0de5e5280 100644
--- a/src/mame/drivers/1942.cpp
+++ b/src/mame/drivers/1942.cpp
@@ -180,7 +180,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(_1942_state::c1942_scanline)
-static ADDRESS_MAP_START( c1942_map, AS_PROGRAM, 8, _1942_state )
+ADDRESS_MAP_START(_1942_state::c1942_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("SYSTEM")
@@ -215,7 +215,7 @@ WRITE8_MEMBER(_1942_state::c1942p_palette_w)
m_palette->set_indirect_color(offset, rgb_t(r<<5,g<<5,b<<6));
}
-static ADDRESS_MAP_START( c1942p_map, AS_PROGRAM, 8, _1942_state )
+ADDRESS_MAP_START(_1942_state::c1942p_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
@@ -244,13 +244,13 @@ static ADDRESS_MAP_START( c1942p_map, AS_PROGRAM, 8, _1942_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START(c1942p_sound_map, AS_PROGRAM, 8, _1942_state )
+ADDRESS_MAP_START(_1942_state::c1942p_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0xc000, 0xc000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( c1942p_sound_io, AS_IO, 8, _1942_state )
+ADDRESS_MAP_START(_1942_state::c1942p_sound_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x0000, 0x0000) AM_WRITENOP
AM_RANGE(0x0014, 0x0015) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
@@ -259,7 +259,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, _1942_state )
+ADDRESS_MAP_START(_1942_state::sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x6000, 0x6000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/1943.cpp b/src/mame/drivers/1943.cpp
index 4ff2f24c5de..9414b112bc1 100644
--- a/src/mame/drivers/1943.cpp
+++ b/src/mame/drivers/1943.cpp
@@ -102,7 +102,7 @@ READ8_MEMBER(_1943_state::_1943b_c007_r)
/* Memory Maps */
-static ADDRESS_MAP_START( c1943_map, AS_PROGRAM, 8, _1943_state )
+ADDRESS_MAP_START(_1943_state::c1943_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("SYSTEM")
@@ -129,7 +129,7 @@ static ADDRESS_MAP_START( c1943_map, AS_PROGRAM, 8, _1943_state )
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, _1943_state )
+ADDRESS_MAP_START(_1943_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc800) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/1945kiii.cpp b/src/mame/drivers/1945kiii.cpp
index c6efa99b79b..c28a286a876 100644
--- a/src/mame/drivers/1945kiii.cpp
+++ b/src/mame/drivers/1945kiii.cpp
@@ -93,6 +93,9 @@ public:
required_device<palette_device> m_palette;
void flagrall(machine_config &config);
void k3(machine_config &config);
+ void flagrall_map(address_map &map);
+ void k3_base_map(address_map &map);
+ void k3_map(address_map &map);
};
@@ -185,7 +188,7 @@ WRITE16_MEMBER(k3_state::flagrall_soundbanks_w)
}
-static ADDRESS_MAP_START( k3_base_map, AS_PROGRAM, 16, k3_state )
+ADDRESS_MAP_START(k3_state::k3_base_map)
AM_RANGE(0x0009ce, 0x0009cf) AM_WRITENOP // k3 - bug in code? (clean up log)
AM_RANGE(0x0009d2, 0x0009d3) AM_WRITENOP // l3 - bug in code? (clean up log)
@@ -203,7 +206,7 @@ static ADDRESS_MAP_START( k3_base_map, AS_PROGRAM, 16, k3_state )
AM_RANGE(0x480000, 0x480001) AM_READ_PORT("DSW")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( k3_map, AS_PROGRAM, 16, k3_state )
+ADDRESS_MAP_START(k3_state::k3_map)
AM_IMPORT_FROM( k3_base_map )
AM_RANGE(0x3c0000, 0x3c0001) AM_WRITE(k3_soundbanks_w)
@@ -214,7 +217,7 @@ static ADDRESS_MAP_START( k3_map, AS_PROGRAM, 16, k3_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( flagrall_map, AS_PROGRAM, 16, k3_state )
+ADDRESS_MAP_START(k3_state::flagrall_map)
AM_IMPORT_FROM( k3_base_map )
AM_RANGE(0x3c0000, 0x3c0001) AM_WRITE(flagrall_soundbanks_w)
diff --git a/src/mame/drivers/20pacgal.cpp b/src/mame/drivers/20pacgal.cpp
index b1656b5952d..571f6111e80 100644
--- a/src/mame/drivers/20pacgal.cpp
+++ b/src/mame/drivers/20pacgal.cpp
@@ -186,7 +186,7 @@ WRITE8_MEMBER(_20pacgal_state::sprite_lookup_w)
// where does the clut (sprite_lookup_w) get uploaded? even if I set a WP on that data in ROM it isn't hit?
// likewise the sound table.. is it being uploaded in a different format at 0x0c000?
// we also need the palette data because there is only a single rom on this pcb?
-static ADDRESS_MAP_START( 25pacman_map, AS_PROGRAM, 8, _25pacman_state )
+ADDRESS_MAP_START(_25pacman_state::_25pacman_map)
AM_RANGE(0x00000, 0x3ffff) AM_DEVREADWRITE("flash", amd_29lv200t_device, read, write ) // (always fall through if nothing else is mapped?)
AM_RANGE(0x04000, 0x047ff) AM_RAM AM_SHARE("video_ram")
@@ -201,7 +201,7 @@ static ADDRESS_MAP_START( 25pacman_map, AS_PROGRAM, 8, _25pacman_state )
AM_RANGE(0x1c000, 0x1ffff) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( 20pacgal_map, AS_PROGRAM, 8, _20pacgal_state )
+ADDRESS_MAP_START(_20pacgal_state::_20pacgal_map)
AM_RANGE(0x00000, 0x03fff) AM_ROM
AM_RANGE(0x04000, 0x07fff) AM_ROM
AM_RANGE(0x08000, 0x09fff) AM_ROM
@@ -232,7 +232,7 @@ READ8_MEMBER( _25pacman_state::_25pacman_io_87_r )
return 0xff;
}
- static ADDRESS_MAP_START( 25pacman_io_map, AS_IO, 8, _25pacman_state )
+ADDRESS_MAP_START(_25pacman_state::_25pacman_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x3f) AM_NOP /* Z180 internal registers */
AM_RANGE(0x40, 0x7f) AM_NOP /* Z180 internal registers */
@@ -254,7 +254,7 @@ READ8_MEMBER( _25pacman_state::_25pacman_io_87_r )
AM_RANGE(0x8f, 0x8f) AM_WRITE(_20pacgal_coin_counter_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( 20pacgal_io_map, AS_IO, 8, _20pacgal_state )
+ADDRESS_MAP_START(_20pacgal_state::_20pacgal_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x3f) AM_NOP /* Z180 internal registers */
AM_RANGE(0x40, 0x7f) AM_NOP /* Z180 internal registers */
@@ -393,8 +393,8 @@ MACHINE_CONFIG_START(_20pacgal_state::_20pacgal)
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z180, MAIN_CPU_CLOCK)
- MCFG_CPU_PROGRAM_MAP(20pacgal_map)
- MCFG_CPU_IO_MAP(20pacgal_io_map)
+ MCFG_CPU_PROGRAM_MAP(_20pacgal_map)
+ MCFG_CPU_IO_MAP(_20pacgal_io_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", _20pacgal_state, vblank_irq)
MCFG_EEPROM_SERIAL_93C46_8BIT_ADD("eeprom")
@@ -421,8 +421,8 @@ MACHINE_CONFIG_DERIVED(_25pacman_state::_25pacman, _20pacgal)
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
- MCFG_CPU_PROGRAM_MAP(25pacman_map)
- MCFG_CPU_IO_MAP(25pacman_io_map)
+ MCFG_CPU_PROGRAM_MAP(_25pacman_map)
+ MCFG_CPU_IO_MAP(_25pacman_io_map)
MCFG_AMD_29LV200T_ADD("flash")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/24cdjuke.cpp b/src/mame/drivers/24cdjuke.cpp
index b326b4f499d..a87690c45cb 100644
--- a/src/mame/drivers/24cdjuke.cpp
+++ b/src/mame/drivers/24cdjuke.cpp
@@ -87,6 +87,8 @@ public:
DECLARE_READ8_MEMBER(unknown_r) { return machine().rand(); }
void midcoin24cdjuke(machine_config &config);
+ void midcoin24cdjuke_io(address_map &map);
+ void midcoin24cdjuke_map(address_map &map);
private:
uint8_t m_kb_col;
};
@@ -123,13 +125,13 @@ WRITE8_MEMBER(midcoin24cdjuke_state::digit_w)
}
-static ADDRESS_MAP_START( midcoin24cdjuke_map, AS_PROGRAM, 8, midcoin24cdjuke_state )
+ADDRESS_MAP_START(midcoin24cdjuke_state::midcoin24cdjuke_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x7800, 0x780f) AM_WRITE(digit_w)
AM_RANGE(0x8000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( midcoin24cdjuke_io, AS_IO, 8, midcoin24cdjuke_state )
+ADDRESS_MAP_START(midcoin24cdjuke_state::midcoin24cdjuke_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ic31", i8255_device, read, write)
AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("ic11", i8255_device, read, write)
diff --git a/src/mame/drivers/2mindril.cpp b/src/mame/drivers/2mindril.cpp
index 2a398f93978..2c53c24d638 100644
--- a/src/mame/drivers/2mindril.cpp
+++ b/src/mame/drivers/2mindril.cpp
@@ -72,6 +72,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(irqhandler);
void drill(machine_config &config);
+ void drill_map(address_map &map);
+
#ifdef UNUSED_FUNCTION
enum
{
@@ -192,7 +194,7 @@ WRITE16_MEMBER(_2mindril_state::drill_irq_w)
COMBINE_DATA(&m_irq_reg);
}
-static ADDRESS_MAP_START( drill_map, AS_PROGRAM, 16, _2mindril_state )
+ADDRESS_MAP_START(_2mindril_state::drill_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM
AM_RANGE(0x300000, 0x3000ff) AM_RAM
diff --git a/src/mame/drivers/30test.cpp b/src/mame/drivers/30test.cpp
index 0535b081243..2c25f09ee04 100644
--- a/src/mame/drivers/30test.cpp
+++ b/src/mame/drivers/30test.cpp
@@ -75,6 +75,8 @@ public:
required_device<cpu_device> m_maincpu;
required_device<okim6295_device> m_oki;
void _30test(machine_config &config);
+ void namco_30test_io(address_map &map);
+ void namco_30test_map(address_map &map);
};
@@ -137,7 +139,7 @@ WRITE8_MEMBER(namco_30test_state::hc11_okibank_w)
}
-static ADDRESS_MAP_START( namco_30test_map, AS_PROGRAM, 8, namco_30test_state )
+ADDRESS_MAP_START(namco_30test_state::namco_30test_map)
AM_RANGE(0x0000, 0x003f) AM_RAM // internal I/O
AM_RANGE(0x0040, 0x007f) AM_RAM // more internal I/O, HC11 change pending
AM_RANGE(0x007c, 0x007c) AM_READWRITE(hc11_mux_r,hc11_mux_w)
@@ -157,7 +159,7 @@ static ADDRESS_MAP_START( namco_30test_map, AS_PROGRAM, 8, namco_30test_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( namco_30test_io, AS_IO, 8, namco_30test_state )
+ADDRESS_MAP_START(namco_30test_state::namco_30test_io)
AM_RANGE(MC68HC11_IO_PORTA,MC68HC11_IO_PORTA) AM_READ(namco_30test_mux_r)
// AM_RANGE(MC68HC11_IO_PORTD,MC68HC11_IO_PORTD) AM_RAM
AM_RANGE(MC68HC11_IO_PORTE,MC68HC11_IO_PORTE) AM_READ_PORT("SYSTEM")
diff --git a/src/mame/drivers/39in1.cpp b/src/mame/drivers/39in1.cpp
index 1d0a56c2d4c..d8ab13950e0 100644
--- a/src/mame/drivers/39in1.cpp
+++ b/src/mame/drivers/39in1.cpp
@@ -100,6 +100,7 @@ public:
required_device<palette_device> m_palette;
void _60in1(machine_config &config);
void _39in1(machine_config &config);
+ void _39in1_map(address_map &map);
};
@@ -1453,7 +1454,7 @@ DRIVER_INIT_MEMBER(_39in1_state,39in1)
-static ADDRESS_MAP_START( 39in1_map, AS_PROGRAM, 32, _39in1_state )
+ADDRESS_MAP_START(_39in1_state::_39in1_map)
AM_RANGE(0x00000000, 0x0007ffff) AM_ROM
AM_RANGE(0x00400000, 0x005fffff) AM_ROM AM_REGION("data", 0)
AM_RANGE(0x04000000, 0x047fffff) AM_READWRITE(cpld_r, cpld_w )
@@ -1577,7 +1578,7 @@ MACHINE_START_MEMBER(_39in1_state,60in1)
MACHINE_CONFIG_START(_39in1_state::_39in1)
MCFG_CPU_ADD("maincpu", PXA255, 200000000)
- MCFG_CPU_PROGRAM_MAP(39in1_map)
+ MCFG_CPU_PROGRAM_MAP(_39in1_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", _39in1_state, pxa255_vblank_start)
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/3do.cpp b/src/mame/drivers/3do.cpp
index ea5a19ae4a3..ef2a57051a3 100644
--- a/src/mame/drivers/3do.cpp
+++ b/src/mame/drivers/3do.cpp
@@ -107,7 +107,7 @@ Part list of Goldstar 3DO Interactive Multiplayer
#define X601_CLOCK XTAL(16'934'400)
-static ADDRESS_MAP_START( 3do_mem, AS_PROGRAM, 32, _3do_state )
+ADDRESS_MAP_START(_3do_state::_3do_mem)
AM_RANGE(0x00000000, 0x001FFFFF) AM_RAMBANK("bank1") AM_SHARE("dram") /* DRAM */
AM_RANGE(0x00200000, 0x003FFFFF) AM_RAM AM_SHARE("vram") /* VRAM */
AM_RANGE(0x03000000, 0x030FFFFF) AM_ROMBANK("bank2") /* BIOS */
@@ -158,7 +158,7 @@ MACHINE_CONFIG_START(_3do_state::_3do)
/* Basic machine hardware */
MCFG_CPU_ADD( "maincpu", ARM7_BE, XTAL(50'000'000)/4 )
- MCFG_CPU_PROGRAM_MAP( 3do_mem)
+ MCFG_CPU_PROGRAM_MAP( _3do_mem)
MCFG_NVRAM_ADD_1FILL("nvram")
@@ -178,7 +178,7 @@ MACHINE_CONFIG_START(_3do_state::_3do_pal)
/* Basic machine hardware */
MCFG_CPU_ADD("maincpu", ARM7_BE, XTAL(50'000'000)/4 )
- MCFG_CPU_PROGRAM_MAP( 3do_mem)
+ MCFG_CPU_PROGRAM_MAP( _3do_mem)
MCFG_NVRAM_ADD_1FILL("nvram")
diff --git a/src/mame/drivers/3x3puzzl.cpp b/src/mame/drivers/3x3puzzl.cpp
index 419b01b8762..86dd7742ef0 100644
--- a/src/mame/drivers/3x3puzzl.cpp
+++ b/src/mame/drivers/3x3puzzl.cpp
@@ -97,6 +97,7 @@ public:
DECLARE_WRITE16_MEMBER(tilemap1_scrolly_w);
void _3x3puzzle(machine_config &config);
+ void _3x3puzzle_map(address_map &map);
protected:
virtual void video_start() override;
virtual void machine_start() override;
@@ -208,7 +209,7 @@ uint32_t _3x3puzzle_state::screen_update( screen_device &screen, bitmap_rgb32 &b
return 0;
}
-static ADDRESS_MAP_START( _3x3puzzle_map, AS_PROGRAM, 16, _3x3puzzle_state )
+ADDRESS_MAP_START(_3x3puzzle_state::_3x3puzzle_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x2007ff) AM_RAM AM_SHARE("videoram1")
diff --git a/src/mame/drivers/4004clk.cpp b/src/mame/drivers/4004clk.cpp
index 5b087e2b5a1..45d4fd4b217 100644
--- a/src/mame/drivers/4004clk.cpp
+++ b/src/mame/drivers/4004clk.cpp
@@ -27,6 +27,11 @@ public:
DECLARE_WRITE8_MEMBER( neon_w );
void _4004clk(machine_config &config);
+ void _4004clk_mem(address_map &map);
+ void _4004clk_mp(address_map &map);
+ void _4004clk_rom(address_map &map);
+ void _4004clk_rp(address_map &map);
+ void _4004clk_stat(address_map &map);
protected:
virtual void machine_start() override;
@@ -79,28 +84,28 @@ WRITE8_MEMBER(nixieclock_state::neon_w)
output_set_neon_value(3, BIT(data,0));
}
-static ADDRESS_MAP_START(4004clk_rom, i4004_cpu_device::AS_ROM, 8, nixieclock_state)
+ADDRESS_MAP_START(nixieclock_state::_4004clk_rom)
AM_RANGE(0x0000, 0x0fff) AM_ROM AM_REGION("maincpu", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(4004clk_mem, i4004_cpu_device::AS_RAM_MEMORY, 8, nixieclock_state)
+ADDRESS_MAP_START(nixieclock_state::_4004clk_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x007f) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(4004clk_stat, i4004_cpu_device::AS_RAM_STATUS, 8, nixieclock_state)
+ADDRESS_MAP_START(nixieclock_state::_4004clk_stat)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x001f) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(4004clk_rp, i4004_cpu_device::AS_ROM_PORTS, 8, nixieclock_state)
+ADDRESS_MAP_START(nixieclock_state::_4004clk_rp)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x000f) AM_MIRROR(0x0700) AM_READ_PORT("INPUT")
AM_RANGE(0x0000, 0x00ef) AM_MIRROR(0x0700) AM_WRITE(nixie_w)
AM_RANGE(0x00f0, 0x00ff) AM_MIRROR(0x0700) AM_WRITE(neon_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(4004clk_mp, i4004_cpu_device::AS_RAM_PORTS, 8, nixieclock_state)
+ADDRESS_MAP_START(nixieclock_state::_4004clk_mp)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("dac", dac_bit_interface, write)
ADDRESS_MAP_END
@@ -128,11 +133,11 @@ MACHINE_CONFIG_START(nixieclock_state::_4004clk)
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", I4004, XTAL(5'000'000) / 8)
- MCFG_I4004_ROM_MAP(4004clk_rom)
- MCFG_I4004_RAM_MEMORY_MAP(4004clk_mem)
- MCFG_I4004_ROM_PORTS_MAP(4004clk_rp)
- MCFG_I4004_RAM_STATUS_MAP(4004clk_stat)
- MCFG_I4004_RAM_PORTS_MAP(4004clk_mp)
+ MCFG_I4004_ROM_MAP(_4004clk_rom)
+ MCFG_I4004_RAM_MEMORY_MAP(_4004clk_mem)
+ MCFG_I4004_ROM_PORTS_MAP(_4004clk_rp)
+ MCFG_I4004_RAM_STATUS_MAP(_4004clk_stat)
+ MCFG_I4004_RAM_PORTS_MAP(_4004clk_mp)
/* video hardware */
MCFG_DEFAULT_LAYOUT(layout_4004clk)
diff --git a/src/mame/drivers/40love.cpp b/src/mame/drivers/40love.cpp
index c1b3d037a2e..04942d08bea 100644
--- a/src/mame/drivers/40love.cpp
+++ b/src/mame/drivers/40love.cpp
@@ -398,7 +398,7 @@ WRITE8_MEMBER(fortyl_state::to_main_w)
/***************************************************************************/
-static ADDRESS_MAP_START( 40love_map, AS_PROGRAM, 8, fortyl_state )
+ADDRESS_MAP_START(fortyl_state::_40love_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM /* M5517P on main board */
AM_RANGE(0x8800, 0x8800) AM_DEVREADWRITE("bmcu", taito68705_mcu_device, data_r, data_w)
@@ -424,7 +424,7 @@ static ADDRESS_MAP_START( 40love_map, AS_PROGRAM, 8, fortyl_state )
AM_RANGE(0xc000, 0xffff) AM_READWRITE(fortyl_pixram_r, fortyl_pixram_w) /* banked pixel layer */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( undoukai_map, AS_PROGRAM, 8, fortyl_state )
+ADDRESS_MAP_START(fortyl_state::undoukai_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("bank1")
AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_SHARE("mcu_ram") /* M5517P on main board */
@@ -491,7 +491,7 @@ WRITE8_MEMBER(fortyl_state::sound_control_3_w)/* unknown */
// popmessage("SND3 0=%02x 1=%02x 2=%02x 3=%02x", m_snd_ctrl0, m_snd_ctrl1, m_snd_ctrl2, m_snd_ctrl3);
}
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, fortyl_state )
+ADDRESS_MAP_START(fortyl_state::sound_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc801) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
@@ -756,7 +756,7 @@ MACHINE_CONFIG_START(fortyl_state::_40love)
/* basic machine hardware */
MCFG_CPU_ADD("maincpu",Z80,8000000/2) /* OK */
- MCFG_CPU_PROGRAM_MAP(40love_map)
+ MCFG_CPU_PROGRAM_MAP(_40love_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", fortyl_state, irq0_line_hold)
MCFG_CPU_ADD("audiocpu",Z80,8000000/2) /* OK */
diff --git a/src/mame/drivers/4dpi.cpp b/src/mame/drivers/4dpi.cpp
index 6bdc064df0a..a86e832b186 100644
--- a/src/mame/drivers/4dpi.cpp
+++ b/src/mame/drivers/4dpi.cpp
@@ -50,6 +50,7 @@ public:
inline void ATTR_PRINTF(3,4) verboselog( int n_level, const char *s_fmt, ... );
required_device<cpu_device> m_maincpu;
void sgi_ip6(machine_config &config);
+ void sgi_ip6_map(address_map &map);
};
@@ -217,7 +218,7 @@ void sgi_ip6_state::machine_reset()
ADDRESS MAPS
***************************************************************************/
-static ADDRESS_MAP_START( sgi_ip6_map, AS_PROGRAM, 32, sgi_ip6_state )
+ADDRESS_MAP_START(sgi_ip6_state::sgi_ip6_map)
AM_RANGE( 0x1f880000, 0x1f880003 ) AM_READWRITE(ip6_unk1_r, ip6_unk1_w)
AM_RANGE( 0x1fb00000, 0x1fb00003 ) AM_READWRITE(ip6_unk3_r, ip6_unk3_w)
AM_RANGE( 0x1fbc004c, 0x1fbc004f ) AM_READWRITE(ip6_unk2_r, ip6_unk2_w)
diff --git a/src/mame/drivers/4enlinea.cpp b/src/mame/drivers/4enlinea.cpp
index 95cb86b981d..df0a407dbb9 100644
--- a/src/mame/drivers/4enlinea.cpp
+++ b/src/mame/drivers/4enlinea.cpp
@@ -234,6 +234,10 @@ public:
required_device<cpu_device> m_maincpu;
void _4enlinea(machine_config &config);
+ void audio_map(address_map &map);
+ void audio_portmap(address_map &map);
+ void main_map(address_map &map);
+ void main_portmap(address_map &map);
};
@@ -346,7 +350,7 @@ READ8_MEMBER(_4enlinea_state::serial_r)
* Memory Map Information *
***********************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, _4enlinea_state )
+ADDRESS_MAP_START(_4enlinea_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
// AM_RANGE(0x8000, 0xbfff) AM_RAM // CGA VRAM
AM_RANGE(0xc000, 0xdfff) AM_RAM
@@ -354,7 +358,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, _4enlinea_state )
AM_RANGE(0xe000, 0xe001) AM_READ(serial_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_portmap, AS_IO, 8, _4enlinea_state )
+ADDRESS_MAP_START(_4enlinea_state::main_portmap)
ADDRESS_MAP_GLOBAL_MASK(0x3ff)
// AM_RANGE(0x3d4, 0x3df) CGA regs
@@ -384,7 +388,7 @@ READ8_MEMBER(_4enlinea_state::hack_r)
return machine().rand();
}
-static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, _4enlinea_state )
+ADDRESS_MAP_START(_4enlinea_state::audio_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xf800, 0xfbff) AM_RAM
AM_RANGE(0xfc24, 0xfc24) AM_READ(hack_r)
@@ -396,7 +400,7 @@ static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, _4enlinea_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audio_portmap, AS_IO, 8, _4enlinea_state )
+ADDRESS_MAP_START(_4enlinea_state::audio_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/4enraya.cpp b/src/mame/drivers/4enraya.cpp
index ad1586deb54..b728bcfd5f3 100644
--- a/src/mame/drivers/4enraya.cpp
+++ b/src/mame/drivers/4enraya.cpp
@@ -250,11 +250,11 @@ WRITE8_MEMBER(_4enraya_state::fenraya_custom_map_w)
* Memory Map Information *
***********************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, _4enraya_state )
+ADDRESS_MAP_START(_4enraya_state::main_map)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(fenraya_custom_map_r, fenraya_custom_map_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_portmap, AS_IO, 8, _4enraya_state )
+ADDRESS_MAP_START(_4enraya_state::main_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW")
AM_RANGE(0x01, 0x01) AM_READ_PORT("INPUTS")
@@ -264,14 +264,14 @@ static ADDRESS_MAP_START( main_portmap, AS_IO, 8, _4enraya_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( unkpacg_main_map, AS_PROGRAM, 8, _4enraya_state )
+ADDRESS_MAP_START(_4enraya_state::unkpacg_main_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x7000, 0x7fff) AM_WRITE(fenraya_videoram_w)
AM_RANGE(0x8000, 0x9fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( unkpacg_main_portmap, AS_IO, 8, _4enraya_state )
+ADDRESS_MAP_START(_4enraya_state::unkpacg_main_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW1")
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
diff --git a/src/mame/drivers/4roses.cpp b/src/mame/drivers/4roses.cpp
index 1b1c1b06736..49ad743baa5 100644
--- a/src/mame/drivers/4roses.cpp
+++ b/src/mame/drivers/4roses.cpp
@@ -194,6 +194,7 @@ public:
DECLARE_DRIVER_INIT(4roses);
void _4roses(machine_config &config);
+ void _4roses_map(address_map &map);
};
@@ -207,7 +208,7 @@ public:
* Memory map information *
*************************/
-static ADDRESS_MAP_START( 4roses_map, AS_PROGRAM, 8, _4roses_state )
+ADDRESS_MAP_START(_4roses_state::_4roses_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM // AM_SHARE("nvram")
AM_RANGE(0x6000, 0x6fff) AM_RAM_WRITE(funworld_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(funworld_colorram_w) AM_SHARE("colorram")
@@ -357,7 +358,7 @@ GFXDECODE_END
MACHINE_CONFIG_START(_4roses_state::_4roses)
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M65C02, MASTER_CLOCK/8) /* 2MHz, guess */
- MCFG_CPU_PROGRAM_MAP(4roses_map)
+ MCFG_CPU_PROGRAM_MAP(_4roses_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", _4roses_state, nmi_line_pulse)
// MCFG_NVRAM_ADD_0FILL("nvram")
diff --git a/src/mame/drivers/5clown.cpp b/src/mame/drivers/5clown.cpp
index 8ec6f6f2be3..d95b88e9fee 100644
--- a/src/mame/drivers/5clown.cpp
+++ b/src/mame/drivers/5clown.cpp
@@ -507,6 +507,8 @@ public:
DECLARE_PALETTE_INIT(_5clown);
uint32_t screen_update_fclown(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void fclown(machine_config &config);
+ void fcaudio_map(address_map &map);
+ void fclown_map(address_map &map);
};
void _5clown_state::machine_start()
@@ -754,7 +756,7 @@ WRITE8_MEMBER(_5clown_state::snd_a02_w)
* Memory map information *
*************************/
-static ADDRESS_MAP_START( fclown_map, AS_PROGRAM, 8, _5clown_state )
+ADDRESS_MAP_START(_5clown_state::fclown_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_device, address_w)
AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
@@ -829,7 +831,7 @@ ADDRESS_MAP_END
*/
-static ADDRESS_MAP_START( fcaudio_map, AS_PROGRAM, 8, _5clown_state )
+ADDRESS_MAP_START(_5clown_state::fcaudio_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x0800, 0x0800) AM_WRITE(snd_800_w)
AM_RANGE(0x0a02, 0x0a02) AM_WRITE(snd_a02_w)
diff --git a/src/mame/drivers/68ksbc.cpp b/src/mame/drivers/68ksbc.cpp
index 46aac1ed08c..90353a42662 100644
--- a/src/mame/drivers/68ksbc.cpp
+++ b/src/mame/drivers/68ksbc.cpp
@@ -42,11 +42,12 @@ public:
{ }
void c68ksbc(machine_config &config);
+ void c68ksbc_mem(address_map &map);
private:
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START(c68ksbc_mem, AS_PROGRAM, 16, c68ksbc_state)
+ADDRESS_MAP_START(c68ksbc_state::c68ksbc_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x002fff) AM_ROM
AM_RANGE(0x003000, 0x5fffff) AM_RAM
diff --git a/src/mame/drivers/8080bw.cpp b/src/mame/drivers/8080bw.cpp
index 254de8d1d28..a6f1bd2d46d 100644
--- a/src/mame/drivers/8080bw.cpp
+++ b/src/mame/drivers/8080bw.cpp
@@ -372,7 +372,7 @@ INPUT_PORTS_END
/* */
/*******************************************************/
-static ADDRESS_MAP_START( invadpt2_io_map, AS_IO, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::invadpt2_io_map)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2") AM_DEVWRITE("mb14241", mb14241_device, shift_count_w)
@@ -441,7 +441,7 @@ MACHINE_CONFIG_END
/* */
/*******************************************************/
-static ADDRESS_MAP_START( spacerng_io_map, AS_IO, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::spacerng_io_map)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2") AM_DEVWRITE("mb14241", mb14241_device, shift_count_w)
@@ -466,7 +466,7 @@ MACHINE_CONFIG_END
/* */
/*******************************************************/
-static ADDRESS_MAP_START( spcewars_io_map, AS_IO, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::spcewars_io_map)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2") AM_DEVWRITE("mb14241", mb14241_device, shift_count_w)
@@ -523,7 +523,7 @@ MACHINE_CONFIG_END
// has a slightly rearranged io map and has PROMs and watchdog
-static ADDRESS_MAP_START( spcewarla_io_map, AS_IO, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::spcewarla_io_map)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2")
@@ -553,7 +553,7 @@ MACHINE_CONFIG_END
/* */
/*******************************************************/
-static ADDRESS_MAP_START( astropal_io_map, AS_IO, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::astropal_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x04) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_MIRROR(0x04) AM_READ_PORT("IN1")
@@ -616,7 +616,7 @@ MACHINE_CONFIG_END
/* */
/*******************************************************/
-static ADDRESS_MAP_START( cosmo_map, AS_PROGRAM, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::cosmo_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x3fff) AM_RAM AM_SHARE("main_ram")
AM_RANGE(0x4000, 0x57ff) AM_ROM
@@ -624,7 +624,7 @@ static ADDRESS_MAP_START( cosmo_map, AS_PROGRAM, 8, _8080bw_state )
ADDRESS_MAP_END
/* at least one of these MWA8_NOPs must be sound related */
-static ADDRESS_MAP_START( cosmo_io_map, AS_IO, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::cosmo_io_map)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_WRITENOP
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1") AM_WRITENOP
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2") AM_WRITENOP
@@ -797,12 +797,12 @@ static INPUT_PORTS_START( spacecom )
INPUT_PORTS_END
-static ADDRESS_MAP_START( spacecom_map, AS_PROGRAM, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::spacecom_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x3fff) AM_RAM AM_SHARE("main_ram") // other RAM not hooked up?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spacecom_io_map, AS_IO, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::spacecom_io_map)
AM_RANGE(0x41, 0x41) AM_READ_PORT("IN0")
AM_RANGE(0x42, 0x42) AM_READ_PORT("IN1") AM_WRITE(invaders_audio_1_w)
AM_RANGE(0x44, 0x44) AM_READ_PORT("IN2") AM_WRITE(invaders_audio_2_w)
@@ -856,7 +856,7 @@ READ8_MEMBER(_8080bw_state::invrvnge_02_r)
return (data & 0x8f) | (ioport("IN1")->read() & 0x70);
}
-static ADDRESS_MAP_START( invrvnge_io_map, AS_IO, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::invrvnge_io_map)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
AM_RANGE(0x02, 0x02) AM_READ(invrvnge_02_r) AM_DEVWRITE("mb14241", mb14241_device, shift_count_w)
@@ -866,7 +866,7 @@ static ADDRESS_MAP_START( invrvnge_io_map, AS_IO, 8, _8080bw_state )
AM_RANGE(0x06, 0x06) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( invrvnge_sound_map, AS_PROGRAM, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::invrvnge_sound_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xffff) AM_ROM // dummy prg map, TODO: decrypt ROM
ADDRESS_MAP_END
@@ -1048,7 +1048,7 @@ static INPUT_PORTS_START( galxwars )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
INPUT_PORTS_END
-static ADDRESS_MAP_START( starw1_io_map, AS_IO, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::starw1_io_map)
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2")
AM_RANGE(0x03, 0x03) AM_WRITENOP /* writes 9B at boot */
@@ -1069,13 +1069,13 @@ MACHINE_CONFIG_END
/* */
/*******************************************************/
-static ADDRESS_MAP_START( escmars_map, AS_PROGRAM, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::escmars_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x3fff) AM_RAM AM_SHARE("main_ram")
AM_RANGE(0x4000, 0x4fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lrescue_io_map, AS_IO, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::lrescue_io_map)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2") AM_DEVWRITE("mb14241", mb14241_device, shift_count_w)
@@ -1210,7 +1210,7 @@ WRITE8_MEMBER(_8080bw_state::cosmicmo_05_w)
m_flip_screen = BIT(data, 5) & BIT(ioport("IN2")->read(), 2);
}
-static ADDRESS_MAP_START( cosmicmo_io_map, AS_IO, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::cosmicmo_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x04) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_MIRROR(0x04) AM_READ_PORT("IN1")
@@ -1330,7 +1330,7 @@ WRITE8_MEMBER(_8080bw_state::rollingc_scattered_colorram2_w)
m_scattered_colorram2[(offset & 0x1f) | ((offset & 0x1f00) >> 3)] = data;
}
-static ADDRESS_MAP_START( rollingc_map, AS_PROGRAM, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::rollingc_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x3fff) AM_RAM AM_SHARE("main_ram")
AM_RANGE(0x4000, 0x5fff) AM_ROM
@@ -1339,7 +1339,7 @@ static ADDRESS_MAP_START( rollingc_map, AS_PROGRAM, 8, _8080bw_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rollingc_io_map, AS_IO, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::rollingc_io_map)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_WRITE(rollingc_sh_port_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2") AM_DEVWRITE("mb14241", mb14241_device, shift_count_w)
@@ -1416,7 +1416,7 @@ WRITE8_MEMBER(_8080bw_state::schaser_scattered_colorram_w)
m_scattered_colorram[(offset & 0x1f) | ((offset & 0x1f80) >> 2)] = data;
}
-static ADDRESS_MAP_START( schaser_map, AS_PROGRAM, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::schaser_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x3fff) AM_RAM AM_SHARE("main_ram")
AM_RANGE(0x4000, 0x5fff) AM_ROM
@@ -1424,7 +1424,7 @@ static ADDRESS_MAP_START( schaser_map, AS_PROGRAM, 8, _8080bw_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( schaser_io_map, AS_IO, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::schaser_io_map)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2") AM_DEVWRITE("mb14241", mb14241_device, shift_count_w)
@@ -1578,7 +1578,7 @@ READ8_MEMBER(_8080bw_state::schasercv_02_r)
return (data & 0x89) | (in1 & 0x70) | (BIT(in1, 3) << 1) | (BIT(in1, 7) << 2);
}
-static ADDRESS_MAP_START( schasercv_io_map, AS_IO, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::schasercv_io_map)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
AM_RANGE(0x02, 0x02) AM_READ(schasercv_02_r) AM_DEVWRITE("mb14241", mb14241_device, shift_count_w)
@@ -1674,7 +1674,7 @@ CUSTOM_INPUT_MEMBER(_8080bw_state::sflush_80_r)
return (m_screen->vpos() & 0x80) ? 1 : 0;
}
-static ADDRESS_MAP_START( sflush_map, AS_PROGRAM, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::sflush_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x4000, 0x5fff) AM_RAM AM_SHARE("main_ram")
AM_RANGE(0x8008, 0x8008) AM_READ_PORT("PADDLE")
@@ -1766,7 +1766,7 @@ MACHINE_CONFIG_END
/* */
/*******************************************************************************************/
-static ADDRESS_MAP_START( lupin3_io_map, AS_IO, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::lupin3_io_map)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_WRITE(lupin3_00_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2") AM_DEVWRITE("mb14241", mb14241_device, shift_count_w)
@@ -1930,7 +1930,7 @@ READ8_MEMBER(_8080bw_state::polaris_port00_r)
// you will get a nice sound that accurately follows the plane.
// It sounds better then the actual circuit used.
// Probably an unfinished feature.
-static ADDRESS_MAP_START( polaris_io_map, AS_IO, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::polaris_io_map)
AM_RANGE(0x00, 0x00) AM_READ(polaris_port00_r) AM_DEVWRITE("mb14241", mb14241_device, shift_count_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2") AM_WRITE(polaris_sh_port_1_w)
@@ -2106,7 +2106,7 @@ INPUT_PORTS_END
/* */
/*******************************************************/
-static ADDRESS_MAP_START( ballbomb_io_map, AS_IO, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::ballbomb_io_map)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1") AM_WRITE(ballbomb_01_w)
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2") AM_DEVWRITE("mb14241", mb14241_device, shift_count_w)
@@ -2159,13 +2159,13 @@ MACHINE_CONFIG_END
/* */
/*******************************************************/
-static ADDRESS_MAP_START( yosakdon_map, AS_PROGRAM, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::yosakdon_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x3fff) AM_RAM AM_SHARE("main_ram")
AM_RANGE(0x4000, 0x43ff) AM_WRITEONLY /* what's this? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( yosakdon_io_map, AS_IO, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::yosakdon_io_map)
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN0")
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN1")
AM_RANGE(0x03, 0x03) AM_WRITE(yosakdon_sh_port_1_w)
@@ -2347,7 +2347,7 @@ READ8_MEMBER(_8080bw_state::indianbtbr_01_r)
return (data & 0x8f) | (ioport("IN2")->read() & 0x70);
}
-static ADDRESS_MAP_START( indianbt_io_map, AS_IO, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::indianbt_io_map)
AM_RANGE(0x00, 0x00) AM_READ(indianbt_r)
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
AM_RANGE(0x02, 0x02) AM_READ(invrvnge_02_r) AM_DEVWRITE("mb14241", mb14241_device, shift_count_w)
@@ -2358,7 +2358,7 @@ static ADDRESS_MAP_START( indianbt_io_map, AS_IO, 8, _8080bw_state )
AM_RANGE(0x07, 0x07) AM_WRITE(indianbt_sh_port_3_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( indianbtbr_io_map, AS_IO, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::indianbtbr_io_map)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_READ(indianbtbr_01_r)
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2") AM_DEVWRITE("mb14241", mb14241_device, shift_count_w)
@@ -2430,7 +2430,7 @@ WRITE8_MEMBER(_8080bw_state::steelwkr_sh_port_3_w)
machine().bookkeeping().coin_lockout_global_w(!(~data & 0x03)); /* possibly */
}
-static ADDRESS_MAP_START( steelwkr_io_map, AS_IO, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::steelwkr_io_map)
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
AM_RANGE(0x02, 0x02) AM_READ(invrvnge_02_r) AM_DEVWRITE("mb14241", mb14241_device, shift_count_w)
AM_RANGE(0x03, 0x03) AM_DEVREAD("mb14241", mb14241_device, shift_result_r) AM_WRITE(invadpt2_sh_port_1_w)
@@ -2626,7 +2626,7 @@ WRITE8_MEMBER(_8080bw_state::shuttlei_ff_w)
m_flip_screen = BIT(data, 2) & BIT(ioport(CABINET_PORT_TAG)->read(), 0);
}
-static ADDRESS_MAP_START( shuttlei_map, AS_PROGRAM, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::shuttlei_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x37ff) AM_RAM AM_SHARE("main_ram")
AM_RANGE(0x3800, 0x3fff) AM_RAM
@@ -2634,7 +2634,7 @@ static ADDRESS_MAP_START( shuttlei_map, AS_PROGRAM, 8, _8080bw_state )
AM_RANGE(0x6000, 0x63ff) AM_RAM AM_SHARE("share1") // skylove (is it mirrored, or different PCB hookup?)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( shuttlei_io_map, AS_IO, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::shuttlei_io_map)
AM_RANGE(0xfc, 0xfc) AM_WRITENOP /* game writes 0xAA every so often (perhaps when base hit?) */
AM_RANGE(0xfd, 0xfd) AM_WRITE(shuttlei_sh_port_1_w)
AM_RANGE(0xfe, 0xfe) AM_READ_PORT("DSW") AM_WRITE(shuttlei_sh_port_2_w)
@@ -2711,13 +2711,13 @@ READ8_MEMBER(_8080bw_state::darthvdr_01_r)
return (data & 0xe1) | (ioport("P1")->read() & 0x0e);
}
-static ADDRESS_MAP_START( darthvdr_map, AS_PROGRAM, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::darthvdr_map)
AM_RANGE(0x0000, 0x17ff) AM_ROM
AM_RANGE(0x1800, 0x1fff) AM_RAM
AM_RANGE(0x4000, 0x5fff) AM_RAM AM_SHARE("main_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( darthvdr_io_map, AS_IO, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::darthvdr_io_map)
AM_RANGE(0x00, 0x00) AM_READ_PORT("P1")
AM_RANGE(0x01, 0x01) AM_READ(darthvdr_01_r)
@@ -2799,7 +2799,7 @@ MACHINE_CONFIG_END
*
*************************************/
-static ADDRESS_MAP_START( vortex_io_map, AS_IO, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::vortex_io_map)
// I/O map is same as invaders but with A9 (used as A1 for I/O) inverted
ADDRESS_MAP_GLOBAL_MASK(0xFF)
AM_RANGE(0x02, 0x02) AM_MIRROR(0x04) AM_READ_PORT("IN0")
@@ -3086,7 +3086,7 @@ READ8_MEMBER(_8080bw_state::claybust_gun_hi_r)
return m_claybust_gun_pos >> 8;
}
-static ADDRESS_MAP_START( claybust_io_map, AS_IO, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::claybust_io_map)
//AM_RANGE(0x00, 0x00) AM_WRITENOP // ?
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1") AM_DEVWRITE("mb14241", mb14241_device, shift_count_w)
AM_RANGE(0x02, 0x02) AM_READ(claybust_gun_lo_r) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w)
@@ -3238,7 +3238,7 @@ INPUT_PORTS_END
*****************************************************/
-static ADDRESS_MAP_START( attackfc_io_map, AS_IO, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::attackfc_io_map)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
AM_RANGE(0x02, 0x02) AM_WRITENOP // lamp?
AM_RANGE(0x03, 0x03) AM_DEVREADWRITE("mb14241", mb14241_device, shift_result_r, shift_data_w)
@@ -3367,7 +3367,7 @@ static INPUT_PORTS_START( invmulti )
PORT_BIT( 0xf8, IP_ACTIVE_HIGH, IPT_UNUSED )
INPUT_PORTS_END
-static ADDRESS_MAP_START( invmulti_map, AS_PROGRAM, 8, _8080bw_state )
+ADDRESS_MAP_START(_8080bw_state::invmulti_map)
AM_RANGE(0x0000, 0x1fff) AM_MIRROR(0x8000) AM_ROMBANK("bank1")
AM_RANGE(0x2000, 0x3fff) AM_MIRROR(0x8000) AM_RAM AM_SHARE("main_ram")
AM_RANGE(0x4000, 0x5fff) AM_MIRROR(0x8000) AM_ROMBANK("bank2")
diff --git a/src/mame/drivers/88games.cpp b/src/mame/drivers/88games.cpp
index 11f6005d1b5..9633f178e84 100644
--- a/src/mame/drivers/88games.cpp
+++ b/src/mame/drivers/88games.cpp
@@ -121,7 +121,7 @@ WRITE8_MEMBER(_88games_state::k052109_051960_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, _88games_state )
+ADDRESS_MAP_START(_88games_state::main_map)
AM_RANGE(0x0000, 0x0fff) AM_READ_BANK("bank0000") /* banked ROM */
AM_RANGE(0x1000, 0x1fff) AM_READ_BANK("bank1000") /* banked ROM + palette RAM */
AM_RANGE(0x1000, 0x1fff) AM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
@@ -142,7 +142,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, _88games_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, _88games_state )
+ADDRESS_MAP_START(_88games_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_WRITE(speech_msg_w)
diff --git a/src/mame/drivers/a2600.cpp b/src/mame/drivers/a2600.cpp
index 71a10b6ffd2..1b0b17b5554 100644
--- a/src/mame/drivers/a2600.cpp
+++ b/src/mame/drivers/a2600.cpp
@@ -29,7 +29,7 @@ TODO:
static const uint16_t supported_screen_heights[4] = { 262, 312, 328, 342 };
-static ADDRESS_MAP_START(a2600_mem, AS_PROGRAM, 8, a2600_state ) // 6507 has 13-bit address space, 0x0000 - 0x1fff
+ADDRESS_MAP_START(a2600_state::a2600_mem) // 6507 has 13-bit address space, 0x0000 - 0x1fff
AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x0f00) AM_DEVREADWRITE("tia_video", tia_video_device, read, write)
AM_RANGE(0x0080, 0x00ff) AM_MIRROR(0x0d00) AM_RAM AM_SHARE("riot_ram")
#if USE_NEW_RIOT
diff --git a/src/mame/drivers/a5105.cpp b/src/mame/drivers/a5105.cpp
index 0fb48d07aef..e7f3a8885c8 100644
--- a/src/mame/drivers/a5105.cpp
+++ b/src/mame/drivers/a5105.cpp
@@ -72,6 +72,9 @@ public:
UPD7220_DRAW_TEXT_LINE_MEMBER( hgdc_draw_text );
void a5105(machine_config &config);
+ void a5105_io(address_map &map);
+ void a5105_mem(address_map &map);
+ void upd7220_map(address_map &map);
private:
uint8_t *m_ram_base;
uint8_t *m_rom_base;
@@ -154,7 +157,7 @@ UPD7220_DRAW_TEXT_LINE_MEMBER( a5105_state::hgdc_draw_text )
}
}
-static ADDRESS_MAP_START(a5105_mem, AS_PROGRAM, 8, a5105_state)
+ADDRESS_MAP_START(a5105_state::a5105_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_READ_BANK("bank1")
AM_RANGE(0x4000, 0x7fff) AM_READ_BANK("bank2")
@@ -347,7 +350,7 @@ WRITE8_MEMBER( a5105_state::a5105_upd765_w )
m_fdc->tc_w(BIT(data, 4));
}
-static ADDRESS_MAP_START(a5105_io, AS_IO, 8, a5105_state)
+ADDRESS_MAP_START(a5105_state::a5105_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x40, 0x41) AM_DEVICE("upd765a", upd765a_device, map)
@@ -537,7 +540,7 @@ void a5105_state::video_start()
m_char_ram = memregion("pcg")->base();
}
-static ADDRESS_MAP_START( upd7220_map, 0, 16, a5105_state)
+ADDRESS_MAP_START(a5105_state::upd7220_map)
ADDRESS_MAP_GLOBAL_MASK(0x1ffff)
AM_RANGE(0x00000, 0x1ffff) AM_RAM AM_SHARE("video_ram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/a51xx.cpp b/src/mame/drivers/a51xx.cpp
index aabb433950f..750f1971e55 100644
--- a/src/mame/drivers/a51xx.cpp
+++ b/src/mame/drivers/a51xx.cpp
@@ -33,27 +33,31 @@ public:
required_device<cpu_device> m_maincpu;
void a5130(machine_config &config);
void a5120(machine_config &config);
+ void a5120_io(address_map &map);
+ void a5120_mem(address_map &map);
+ void a5130_io(address_map &map);
+ void a5130_mem(address_map &map);
};
-static ADDRESS_MAP_START(a5120_mem, AS_PROGRAM, 8, a51xx_state)
+ADDRESS_MAP_START(a51xx_state::a5120_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x03ff ) AM_ROM
AM_RANGE( 0x0400, 0xffff ) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( a5120_io, AS_IO, 8, a51xx_state)
+ADDRESS_MAP_START(a51xx_state::a5120_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(a5130_mem, AS_PROGRAM, 8, a51xx_state)
+ADDRESS_MAP_START(a51xx_state::a5130_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x0fff ) AM_ROM
AM_RANGE( 0x1000, 0xffff ) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( a5130_io, AS_IO, 8, a51xx_state)
+ADDRESS_MAP_START(a51xx_state::a5130_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/a6809.cpp b/src/mame/drivers/a6809.cpp
index ccb87364c00..bec0a062dd7 100644
--- a/src/mame/drivers/a6809.cpp
+++ b/src/mame/drivers/a6809.cpp
@@ -86,6 +86,8 @@ public:
uint16_t m_start_address;
uint16_t m_cursor_address;
void a6809(machine_config &config);
+ void a6809_io(address_map &map);
+ void a6809_mem(address_map &map);
private:
uint8_t m_cass_data[4];
bool m_cass_state;
@@ -98,7 +100,7 @@ private:
};
-static ADDRESS_MAP_START(a6809_mem, AS_PROGRAM, 8, a6809_state)
+ADDRESS_MAP_START(a6809_state::a6809_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000,0x03ff) AM_RAM
AM_RANGE(0x0400,0x07ff) AM_RAM AM_SHARE("videoram")
@@ -109,7 +111,7 @@ static ADDRESS_MAP_START(a6809_mem, AS_PROGRAM, 8, a6809_state)
AM_RANGE(0xf800,0xffff) AM_ROM AM_REGION("maincpu", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( a6809_io, AS_IO, 8, a6809_state)
+ADDRESS_MAP_START(a6809_state::a6809_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_END
diff --git a/src/mame/drivers/a7150.cpp b/src/mame/drivers/a7150.cpp
index 0c7b9afca88..d1f91c5daff 100644
--- a/src/mame/drivers/a7150.cpp
+++ b/src/mame/drivers/a7150.cpp
@@ -95,6 +95,11 @@ public:
required_device<address_map_bank_device> m_video_bankdev;
required_device<palette_device> m_palette;
void a7150(machine_config &config);
+ void a7150_io(address_map &map);
+ void a7150_mem(address_map &map);
+ void k7070_cpu_banked(address_map &map);
+ void k7070_cpu_io(address_map &map);
+ void k7070_cpu_mem(address_map &map);
};
@@ -276,13 +281,13 @@ WRITE8_MEMBER(a7150_state::a7150_kgs_w)
}
-static ADDRESS_MAP_START(a7150_mem, AS_PROGRAM, 16, a7150_state)
+ADDRESS_MAP_START(a7150_state::a7150_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000, 0xf7fff) AM_RAM
AM_RANGE(0xf8000, 0xfffff) AM_ROM AM_REGION("user1", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(a7150_io, AS_IO, 16, a7150_state)
+ADDRESS_MAP_START(a7150_state::a7150_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x004a, 0x004b) AM_DEVWRITE8("isbc_215g", isbc_215g_device, write, 0x00ff) // KES board
AM_RANGE(0x00c0, 0x00c3) AM_DEVREADWRITE8("pic8259", pic8259_device, read, write, 0x00ff)
@@ -295,7 +300,7 @@ static ADDRESS_MAP_START(a7150_io, AS_IO, 16, a7150_state)
AM_RANGE(0x0320, 0x033f) AM_UNMAP // ASP board #2
ADDRESS_MAP_END
-static ADDRESS_MAP_START(k7070_cpu_banked, AS_PROGRAM, 8, a7150_state)
+ADDRESS_MAP_START(a7150_state::k7070_cpu_banked)
ADDRESS_MAP_UNMAP_HIGH
// default map: IML=0, MSEL=0. ROM + local RAM.
AM_RANGE(0x00000, 0x01fff) AM_ROM AM_REGION("user2", 0)
@@ -314,13 +319,13 @@ static ADDRESS_MAP_START(k7070_cpu_banked, AS_PROGRAM, 8, a7150_state)
AM_RANGE(0x38000, 0x3ffff) AM_RAM AM_SHARE("video_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(k7070_cpu_mem, AS_PROGRAM, 8, a7150_state)
+ADDRESS_MAP_START(a7150_state::k7070_cpu_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xffff) AM_DEVREADWRITE("video_bankdev", address_map_bank_device, read8, write8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(k7070_cpu_io, AS_IO, 8, a7150_state)
+ADDRESS_MAP_START(a7150_state::k7070_cpu_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x0000, 0x0003) AM_DEVREADWRITE(Z80CTC_TAG, z80ctc_device, read, write)
diff --git a/src/mame/drivers/a7800.cpp b/src/mame/drivers/a7800.cpp
index bf7b5203236..62fd68ad661 100644
--- a/src/mame/drivers/a7800.cpp
+++ b/src/mame/drivers/a7800.cpp
@@ -154,6 +154,7 @@ public:
void a7800_ntsc(machine_config &config);
void a7800_pal(machine_config &config);
+ void a7800_mem(address_map &map);
protected:
required_device<cpu_device> m_maincpu;
required_device<tia_device> m_tia;
@@ -281,7 +282,7 @@ READ8_MEMBER(a7800_state::bios_or_cart_r)
ADDRESS MAPS
***************************************************************************/
-static ADDRESS_MAP_START( a7800_mem, AS_PROGRAM, 8, a7800_state )
+ADDRESS_MAP_START(a7800_state::a7800_mem)
AM_RANGE(0x0000, 0x001f) AM_MIRROR(0x300) AM_READWRITE(tia_r, tia_w)
AM_RANGE(0x0020, 0x003f) AM_MIRROR(0x300) AM_DEVREADWRITE("maria", atari_maria_device, read, write)
AM_RANGE(0x0040, 0x00ff) AM_RAMBANK("zpmirror") // mirror of 0x2040-0x20ff, for zero page
diff --git a/src/mame/drivers/aa310.cpp b/src/mame/drivers/aa310.cpp
index 84b334394d8..76bddacf57d 100644
--- a/src/mame/drivers/aa310.cpp
+++ b/src/mame/drivers/aa310.cpp
@@ -135,6 +135,7 @@ public:
void aa540(machine_config &config);
void aa440(machine_config &config);
void aa4201(machine_config &config);
+ void aa310_mem(address_map &map);
protected:
required_device<ram_device> m_ram;
};
@@ -187,7 +188,7 @@ void aa310_state::machine_reset()
archimedes_reset();
}
-static ADDRESS_MAP_START( aa310_mem, AS_PROGRAM, 32, aa310_state )
+ADDRESS_MAP_START(aa310_state::aa310_mem)
AM_RANGE(0x00000000, 0x01ffffff) AM_READWRITE(archimedes_memc_logical_r, archimedes_memc_logical_w)
AM_RANGE(0x02000000, 0x02ffffff) AM_RAM AM_SHARE("physicalram") /* physical RAM - 16 MB for now, should be 512k for the A310 */
AM_RANGE(0x03000000, 0x033fffff) AM_READWRITE(archimedes_ioc_r, archimedes_ioc_w)
diff --git a/src/mame/drivers/abc1600.cpp b/src/mame/drivers/abc1600.cpp
index 0b0fee776be..af001a435ce 100644
--- a/src/mame/drivers/abc1600.cpp
+++ b/src/mame/drivers/abc1600.cpp
@@ -491,7 +491,7 @@ WRITE8_MEMBER( abc1600_state::spec_contr_reg_w )
// ADDRESS_MAP( abc1600_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( abc1600_mem, AS_PROGRAM, 8, abc1600_state )
+ADDRESS_MAP_START(abc1600_state::abc1600_mem)
AM_RANGE(0x00000, 0xfffff) AM_DEVICE(ABC1600_MAC_TAG, abc1600_mac_device, map)
ADDRESS_MAP_END
@@ -500,7 +500,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( mac_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( mac_mem, AS_PROGRAM, 8, abc1600_state )
+ADDRESS_MAP_START(abc1600_state::mac_mem)
AM_RANGE(0x000000, 0x0fffff) AM_RAM
AM_RANGE(0x100000, 0x17ffff) AM_DEVICE(ABC1600_MOVER_TAG, abc1600_mover_device, vram_map)
AM_RANGE(0x1fe000, 0x1fefff) AM_READWRITE(bus_r, bus_w)
diff --git a/src/mame/drivers/abc80.cpp b/src/mame/drivers/abc80.cpp
index 333289cc441..7b108729cbe 100644
--- a/src/mame/drivers/abc80.cpp
+++ b/src/mame/drivers/abc80.cpp
@@ -177,7 +177,7 @@ WRITE8_MEMBER( abc80_state::csg_w )
// ADDRESS_MAP( abc80_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( abc80_mem, AS_PROGRAM, 8, abc80_state )
+ADDRESS_MAP_START(abc80_state::abc80_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xffff) AM_READWRITE(read, write)
ADDRESS_MAP_END
@@ -187,7 +187,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( abc80_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( abc80_io, AS_IO, 8, abc80_state )
+ADDRESS_MAP_START(abc80_state::abc80_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x17)
AM_RANGE(0x00, 0x00) AM_DEVREADWRITE(ABCBUS_TAG, abcbus_slot_device, inp_r, out_w)
diff --git a/src/mame/drivers/abc80x.cpp b/src/mame/drivers/abc80x.cpp
index 0876ae88d72..8a89b4cedeb 100644
--- a/src/mame/drivers/abc80x.cpp
+++ b/src/mame/drivers/abc80x.cpp
@@ -429,7 +429,7 @@ WRITE8_MEMBER( abc806_state::mao_w )
// ADDRESS_MAP( abc800c_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( abc800c_mem, AS_PROGRAM, 8, abc800c_state )
+ADDRESS_MAP_START(abc800c_state::abc800c_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_RAM AM_SHARE("video_ram")
AM_RANGE(0x4000, 0x7bff) AM_ROM
@@ -442,7 +442,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( abc800c_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( abc800c_io, AS_IO, 8, abc800_state )
+ADDRESS_MAP_START(abc800_state::abc800c_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x18) AM_DEVREADWRITE(ABCBUS_TAG, abcbus_slot_device, inp_r, out_w)
@@ -464,7 +464,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( abc800m_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( abc800m_mem, AS_PROGRAM, 8, abc800_state )
+ADDRESS_MAP_START(abc800_state::abc800m_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_RAM AM_SHARE("video_ram")
AM_RANGE(0x4000, 0x77ff) AM_ROM
@@ -477,7 +477,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( abc800m_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( abc800m_io, AS_IO, 8, abc800_state )
+ADDRESS_MAP_START(abc800_state::abc800m_io)
AM_IMPORT_FROM( abc800c_io )
AM_RANGE(0x31, 0x31) AM_MIRROR(0x06) AM_DEVREAD(MC6845_TAG, mc6845_device, register_r)
AM_RANGE(0x38, 0x38) AM_MIRROR(0x06) AM_DEVWRITE(MC6845_TAG, mc6845_device, address_w)
@@ -489,7 +489,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( abc802_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( abc802_mem, AS_PROGRAM, 8, abc802_state )
+ADDRESS_MAP_START(abc802_state::abc802_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x77ff) AM_ROM
AM_RANGE(0x7800, 0x7fff) AM_RAM AM_SHARE("char_ram")
@@ -501,7 +501,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( abc802_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( abc802_io, AS_IO, 8, abc802_state )
+ADDRESS_MAP_START(abc802_state::abc802_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x18) AM_DEVREADWRITE(ABCBUS_TAG, abcbus_slot_device, inp_r, out_w)
@@ -525,7 +525,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( abc806_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( abc806_mem, AS_PROGRAM, 8, abc806_state )
+ADDRESS_MAP_START(abc806_state::abc806_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_RAMBANK("bank1")
AM_RANGE(0x1000, 0x1fff) AM_RAMBANK("bank2")
@@ -550,7 +550,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( abc806_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( abc806_io, AS_IO, 8, abc806_state )
+ADDRESS_MAP_START(abc806_state::abc806_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x00) AM_MIRROR(0xff18) AM_DEVREADWRITE(ABCBUS_TAG, abcbus_slot_device, inp_r, out_w)
AM_RANGE(0x01, 0x01) AM_MIRROR(0xff18) AM_DEVREADWRITE(ABCBUS_TAG, abcbus_slot_device, stat_r, cs_w)
diff --git a/src/mame/drivers/ac1.cpp b/src/mame/drivers/ac1.cpp
index 7dfec2d39b0..f77630cfd8f 100644
--- a/src/mame/drivers/ac1.cpp
+++ b/src/mame/drivers/ac1.cpp
@@ -34,7 +34,7 @@ static GFXDECODE_START( ac1 )
GFXDECODE_END
/* Address maps */
-static ADDRESS_MAP_START(ac1_mem, AS_PROGRAM, 8, ac1_state )
+ADDRESS_MAP_START(ac1_state::ac1_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x07ff ) AM_ROM // Monitor
AM_RANGE( 0x0800, 0x0fff ) AM_ROM // BASIC
@@ -42,7 +42,7 @@ static ADDRESS_MAP_START(ac1_mem, AS_PROGRAM, 8, ac1_state )
AM_RANGE( 0x1800, 0x1fff ) AM_RAM // RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(ac1_32_mem, AS_PROGRAM, 8, ac1_state )
+ADDRESS_MAP_START(ac1_state::ac1_32_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x07ff ) AM_ROM // Monitor
AM_RANGE( 0x0800, 0x0fff ) AM_ROM // BASIC
@@ -50,7 +50,7 @@ static ADDRESS_MAP_START(ac1_32_mem, AS_PROGRAM, 8, ac1_state )
AM_RANGE( 0x1800, 0xffff ) AM_RAM // RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ac1_io, AS_IO, 8, ac1_state )
+ADDRESS_MAP_START(ac1_state::ac1_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("z80pio", z80pio_device, read, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/accomm.cpp b/src/mame/drivers/accomm.cpp
index 7e631ac19a5..bbd85274544 100644
--- a/src/mame/drivers/accomm.cpp
+++ b/src/mame/drivers/accomm.cpp
@@ -76,6 +76,7 @@ public:
INTERRUPT_GEN_MEMBER(vbl_int);
void accomm(machine_config &config);
+ void main_map(address_map &map);
protected:
// devices
required_device<g65816_device> m_maincpu;
@@ -633,7 +634,7 @@ WRITE_LINE_MEMBER(accomm_state::econet_clk_w)
m_adlc->txc_w(state);
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, accomm_state )
+ADDRESS_MAP_START(accomm_state::main_map)
AM_RANGE(0x000000, 0x1fffff) AM_READWRITE(ram_r, ram_w) /* System RAM */
AM_RANGE(0x200000, 0x3fffff) AM_NOP /* External expansion RAM */
AM_RANGE(0x400000, 0x400000) AM_NOP /* MODEM */
diff --git a/src/mame/drivers/ace.cpp b/src/mame/drivers/ace.cpp
index 61f40af6a23..81d7c3f2db2 100644
--- a/src/mame/drivers/ace.cpp
+++ b/src/mame/drivers/ace.cpp
@@ -83,6 +83,7 @@ public:
uint32_t screen_update_ace(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void ace_postload();
void ace(machine_config &config);
+ void main_map(address_map &map);
};
@@ -144,7 +145,7 @@ READ8_MEMBER(aceal_state::unk_r)
/* 3x3106 - SRAM 256x1 */
/* 1x3622 - ROM 512x4 - doesn't seem to be used ????????????*/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, aceal_state )
+ADDRESS_MAP_START(aceal_state::main_map)
AM_RANGE(0x0000, 0x09ff) AM_ROM
AM_RANGE(0x2000, 0x20ff) AM_RAM_WRITE(ace_scoreram_w) AM_SHARE("scoreram") /* 2x2101 */
diff --git a/src/mame/drivers/aceex.cpp b/src/mame/drivers/aceex.cpp
index 8e74d630901..21746c32796 100644
--- a/src/mame/drivers/aceex.cpp
+++ b/src/mame/drivers/aceex.cpp
@@ -60,9 +60,10 @@ public:
virtual void machine_reset() override;
required_device<cpu_device> m_maincpu;
void aceex2814(machine_config &config);
+ void aceex2814_map(address_map &map);
};
-static ADDRESS_MAP_START( aceex2814_map, AS_PROGRAM, 8, aceex2814_state )
+ADDRESS_MAP_START(aceex2814_state::aceex2814_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/acefruit.cpp b/src/mame/drivers/acefruit.cpp
index 483db69c0d4..fb5d893f686 100644
--- a/src/mame/drivers/acefruit.cpp
+++ b/src/mame/drivers/acefruit.cpp
@@ -61,6 +61,8 @@ public:
};
void acefruit(machine_config &config);
+ void acefruit_io(address_map &map);
+ void acefruit_map(address_map &map);
protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
};
@@ -314,7 +316,7 @@ PALETTE_INIT_MEMBER(acefruit_state, acefruit)
palette.set_pen_color( 15, rgb_t(0xff, 0x00, 0x00) );
}
-static ADDRESS_MAP_START( acefruit_map, AS_PROGRAM, 8, acefruit_state )
+ADDRESS_MAP_START(acefruit_state::acefruit_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x20ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x4000, 0x43ff) AM_RAM AM_SHARE("videoram")
@@ -336,7 +338,7 @@ static ADDRESS_MAP_START( acefruit_map, AS_PROGRAM, 8, acefruit_state )
AM_RANGE(0xe000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( acefruit_io, AS_IO, 8, acefruit_state )
+ADDRESS_MAP_START(acefruit_state::acefruit_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_NOP /* ? */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/aces1.cpp b/src/mame/drivers/aces1.cpp
index 279e7b1b260..3ad27e0a4a1 100644
--- a/src/mame/drivers/aces1.cpp
+++ b/src/mame/drivers/aces1.cpp
@@ -230,6 +230,8 @@ public:
TIMER_CALLBACK_MEMBER(m_aces1_irq_timer_callback);
TIMER_CALLBACK_MEMBER(m_aces1_nmi_timer_callback);
void aces1(machine_config &config);
+ void aces1_map(address_map &map);
+ void aces1_portmap(address_map &map);
};
@@ -267,7 +269,7 @@ void aces1_state::machine_reset()
aces1_reset_irq_timer();
}
-static ADDRESS_MAP_START( aces1_map, AS_PROGRAM, 8, aces1_state )
+ADDRESS_MAP_START(aces1_state::aces1_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0xadf0, 0xadf3) AM_DEVREADWRITE("aysnd", ay8910_device, data_r, address_data_w) // Dips, Sound
@@ -279,7 +281,7 @@ static ADDRESS_MAP_START( aces1_map, AS_PROGRAM, 8, aces1_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( aces1_portmap, AS_IO, 8, aces1_state )
+ADDRESS_MAP_START(aces1_state::aces1_portmap)
AM_RANGE(0x00, 0x00) AM_READ(aces1_unk_port00_r) // read before enabling interrupts?
ADDRESS_MAP_END
diff --git a/src/mame/drivers/acesp.cpp b/src/mame/drivers/acesp.cpp
index fb104d13cec..954ed36bd12 100644
--- a/src/mame/drivers/acesp.cpp
+++ b/src/mame/drivers/acesp.cpp
@@ -29,6 +29,8 @@ public:
{ }
void ace_sp(machine_config &config);
+ void ace_sp_map(address_map &map);
+ void ace_sp_portmap(address_map &map);
protected:
// devices
@@ -42,7 +44,7 @@ public:
-static ADDRESS_MAP_START( ace_sp_map, AS_PROGRAM, 8, ace_sp_state )
+ADDRESS_MAP_START(ace_sp_state::ace_sp_map)
/**** 6303Y internal area ****/
//----- 0x0000 - 0x0027 is internal registers -----
AM_RANGE(0x0000, 0x0027) AM_RAM
@@ -70,7 +72,7 @@ static ADDRESS_MAP_START( ace_sp_map, AS_PROGRAM, 8, ace_sp_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ace_sp_portmap, AS_IO, 8, ace_sp_state )
+ADDRESS_MAP_START(ace_sp_state::ace_sp_portmap)
//AM_RANGE(0x02, 0x02) // misc
//AM_RANGE(0x05, 0x06) // AYs
ADDRESS_MAP_END
diff --git a/src/mame/drivers/acommand.cpp b/src/mame/drivers/acommand.cpp
index 36122e4e48b..82c094d3b68 100644
--- a/src/mame/drivers/acommand.cpp
+++ b/src/mame/drivers/acommand.cpp
@@ -100,6 +100,7 @@ public:
void acommand(machine_config &config);
+ void acommand_map(address_map &map);
protected:
// virtual void video_start() override;
@@ -319,7 +320,7 @@ WRITE16_MEMBER(acommand_state::output_lamps_w)
// --xx --xx lamps
}
-static ADDRESS_MAP_START( acommand_map, AS_PROGRAM, 16, acommand_state )
+ADDRESS_MAP_START(acommand_state::acommand_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x082000, 0x082005) AM_DEVWRITE("bgtmap", megasys1_tilemap_device, scroll_w)
AM_RANGE(0x082100, 0x082105) AM_DEVWRITE("txtmap", megasys1_tilemap_device, scroll_w)
diff --git a/src/mame/drivers/acrnsys1.cpp b/src/mame/drivers/acrnsys1.cpp
index a5d376d84df..629deb5dfe6 100644
--- a/src/mame/drivers/acrnsys1.cpp
+++ b/src/mame/drivers/acrnsys1.cpp
@@ -75,6 +75,7 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(acrnsys1_c);
TIMER_DEVICE_CALLBACK_MEMBER(acrnsys1_p);
void acrnsys1(machine_config &config);
+ void acrnsys1_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<ttl74145_device> m_ttl74145;
@@ -163,7 +164,7 @@ WRITE8_MEMBER( acrnsys1_state::acrnsys1_led_segment_w )
ADDRESS MAPS
***************************************************************************/
-static ADDRESS_MAP_START( acrnsys1_map, AS_PROGRAM, 8, acrnsys1_state )
+ADDRESS_MAP_START(acrnsys1_state::acrnsys1_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0e00, 0x0e7f) AM_MIRROR(0x100) AM_DEVREADWRITE("b1", ins8154_device, ins8154_r, ins8154_w)
AM_RANGE(0x0e80, 0x0eff) AM_MIRROR(0x100) AM_RAM
diff --git a/src/mame/drivers/actfancr.cpp b/src/mame/drivers/actfancr.cpp
index 8d35c97a4de..b162474a2e6 100644
--- a/src/mame/drivers/actfancr.cpp
+++ b/src/mame/drivers/actfancr.cpp
@@ -68,7 +68,7 @@ WRITE8_MEMBER(actfancr_state::actfancr_buffer_spriteram_w)
}
}
-static ADDRESS_MAP_START( actfan_map, AS_PROGRAM, 8, actfancr_state )
+ADDRESS_MAP_START(actfancr_state::actfan_map)
AM_RANGE(0x000000, 0x02ffff) AM_ROM
AM_RANGE(0x060000, 0x060007) AM_DEVWRITE("tilegen1", deco_bac06_device, pf_control0_8bit_w)
AM_RANGE(0x060010, 0x06001f) AM_DEVWRITE("tilegen1", deco_bac06_device, pf_control1_8bit_swap_w)
@@ -88,7 +88,7 @@ static ADDRESS_MAP_START( actfan_map, AS_PROGRAM, 8, actfancr_state )
AM_RANGE(0x1f0000, 0x1f3fff) AM_RAM AM_SHARE("main_ram") /* Main ram */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( triothep_map, AS_PROGRAM, 8, actfancr_state )
+ADDRESS_MAP_START(actfancr_state::triothep_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x040007) AM_DEVWRITE("tilegen2", deco_bac06_device, pf_control0_8bit_w)
AM_RANGE(0x040010, 0x04001f) AM_DEVWRITE("tilegen2", deco_bac06_device, pf_control1_8bit_swap_w)
@@ -110,7 +110,7 @@ ADDRESS_MAP_END
/******************************************************************************/
-static ADDRESS_MAP_START( dec0_s_map, AS_PROGRAM, 8, actfancr_state )
+ADDRESS_MAP_START(actfancr_state::dec0_s_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x0800, 0x0801) AM_DEVWRITE("ym1", ym2203_device, write)
AM_RANGE(0x1000, 0x1001) AM_DEVWRITE("ym2", ym3812_device, write)
diff --git a/src/mame/drivers/acvirus.cpp b/src/mame/drivers/acvirus.cpp
index 139524404e6..df0cad340b7 100644
--- a/src/mame/drivers/acvirus.cpp
+++ b/src/mame/drivers/acvirus.cpp
@@ -84,6 +84,7 @@ public:
DECLARE_DRIVER_INIT(virus);
void virus(machine_config &config);
+ void virus_map(address_map &map);
};
void acvirus_state::machine_start()
@@ -96,7 +97,7 @@ void acvirus_state::machine_reset()
{
}
-static ADDRESS_MAP_START( virus_map, AS_PROGRAM, 8, acvirus_state )
+ADDRESS_MAP_START(acvirus_state::virus_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("maincpu", 0) // fixed 32K of flash image
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("rombank")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/adam.cpp b/src/mame/drivers/adam.cpp
index 9c70eb07797..6c82f040866 100644
--- a/src/mame/drivers/adam.cpp
+++ b/src/mame/drivers/adam.cpp
@@ -874,7 +874,7 @@ WRITE8_MEMBER( adam_state::m6801_p4_w )
// ADDRESS_MAP( adam_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( adam_mem, AS_PROGRAM, 8, adam_state )
+ADDRESS_MAP_START(adam_state::adam_mem)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(mreq_r, mreq_w)
ADDRESS_MAP_END
@@ -883,7 +883,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( adam_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( adam_io, AS_IO, 8, adam_state )
+ADDRESS_MAP_START(adam_state::adam_io)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(iorq_r, iorq_w)
ADDRESS_MAP_END
@@ -892,7 +892,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( m6801_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( m6801_mem, AS_PROGRAM, 8, adam_state )
+ADDRESS_MAP_START(adam_state::m6801_mem)
AM_RANGE(0x0000, 0x001f) AM_DEVREADWRITE(M6801_TAG, m6801_cpu_device, m6801_io_r, m6801_io_w)
AM_RANGE(0x0080, 0x00ff) AM_RAM
AM_RANGE(0xf800, 0xffff) AM_ROM AM_REGION(M6801_TAG, 0)
@@ -903,7 +903,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( m6801_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( m6801_io, AS_IO, 8, adam_state )
+ADDRESS_MAP_START(adam_state::m6801_io)
AM_RANGE(M6801_PORT1, M6801_PORT1) AM_WRITE(m6801_p1_w)
AM_RANGE(M6801_PORT2, M6801_PORT2) AM_READWRITE(m6801_p2_r, m6801_p2_w)
AM_RANGE(M6801_PORT3, M6801_PORT3) AM_READWRITE(m6801_p3_r, m6801_p3_w)
diff --git a/src/mame/drivers/adp.cpp b/src/mame/drivers/adp.cpp
index 2820e2be70d..8bbe9b85bc9 100644
--- a/src/mame/drivers/adp.cpp
+++ b/src/mame/drivers/adp.cpp
@@ -205,6 +205,15 @@ public:
void fstation(machine_config &config);
void funland(machine_config &config);
void skattva(machine_config &config);
+ void adp_hd63484_map(address_map &map);
+ void fashiong_hd63484_map(address_map &map);
+ void fstation_hd63484_map(address_map &map);
+ void fstation_mem(address_map &map);
+ void funland_mem(address_map &map);
+ void quickjac_mem(address_map &map);
+ void ramdac_map(address_map &map);
+ void skattv_mem(address_map &map);
+ void skattva_mem(address_map &map);
};
void adp_state::skattva_nvram_init(nvram_device &nvram, void *base, size_t size)
@@ -295,7 +304,7 @@ WRITE16_MEMBER(adp_state::input_w)
m_mux_data &= 0x0f;
}
-static ADDRESS_MAP_START( skattv_mem, AS_PROGRAM, 16, adp_state )
+ADDRESS_MAP_START(adp_state::skattv_mem)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x800080, 0x800081) AM_DEVREADWRITE("acrtc", hd63484_device, status16_r, address16_w)
AM_RANGE(0x800082, 0x800083) AM_DEVREADWRITE("acrtc", hd63484_device, data16_r, data16_w)
@@ -305,7 +314,7 @@ static ADDRESS_MAP_START( skattv_mem, AS_PROGRAM, 16, adp_state )
AM_RANGE(0xffc000, 0xffffff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( skattva_mem, AS_PROGRAM, 16, adp_state )
+ADDRESS_MAP_START(adp_state::skattva_mem)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x400000, 0x40001f) AM_DEVREADWRITE8("rtc", msm6242_device, read, write, 0x00ff)
AM_RANGE(0x800080, 0x800081) AM_DEVREADWRITE("acrtc", hd63484_device, status16_r, address16_w)
@@ -316,7 +325,7 @@ static ADDRESS_MAP_START( skattva_mem, AS_PROGRAM, 16, adp_state )
AM_RANGE(0xffc000, 0xffffff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( quickjac_mem, AS_PROGRAM, 16, adp_state )
+ADDRESS_MAP_START(adp_state::quickjac_mem)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x400000, 0x40001f) AM_DEVREADWRITE8("rtc", msm6242_device, read, write, 0x00ff)
AM_RANGE(0x800080, 0x800081) AM_DEVREADWRITE("acrtc", hd63484_device, status16_r, address16_w) // bad
@@ -327,7 +336,7 @@ static ADDRESS_MAP_START( quickjac_mem, AS_PROGRAM, 16, adp_state )
AM_RANGE(0xff0000, 0xffffff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( funland_mem, AS_PROGRAM, 16, adp_state )
+ADDRESS_MAP_START(adp_state::funland_mem)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x400000, 0x40001f) AM_DEVREADWRITE8("rtc", msm6242_device, read, write, 0x00ff)
AM_RANGE(0x800080, 0x800081) AM_DEVREADWRITE("acrtc", hd63484_device, status16_r, address16_w)
@@ -341,7 +350,7 @@ static ADDRESS_MAP_START( funland_mem, AS_PROGRAM, 16, adp_state )
AM_RANGE(0xfc0000, 0xffffff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fstation_mem, AS_PROGRAM, 16, adp_state )
+ADDRESS_MAP_START(adp_state::fstation_mem)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x800080, 0x800081) AM_DEVREADWRITE("acrtc", hd63484_device, status16_r, address16_w)
AM_RANGE(0x800082, 0x800083) AM_DEVREADWRITE("acrtc", hd63484_device, data16_r, data16_w)
@@ -516,17 +525,17 @@ INTERRUPT_GEN_MEMBER(adp_state::adp_int)
}
*/
-static ADDRESS_MAP_START( adp_hd63484_map, 0, 16, adp_state )
+ADDRESS_MAP_START(adp_state::adp_hd63484_map)
AM_RANGE(0x00000, 0x1ffff) AM_MIRROR(0x60000) AM_RAM
AM_RANGE(0x80000, 0x9ffff) AM_MIRROR(0x60000) AM_ROM AM_REGION("gfx1", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fashiong_hd63484_map, 0, 16, adp_state )
+ADDRESS_MAP_START(adp_state::fashiong_hd63484_map)
AM_RANGE(0x00000, 0x1ffff) AM_MIRROR(0x60000) AM_RAM
AM_RANGE(0x80000, 0xfffff) AM_ROM AM_REGION("gfx1", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fstation_hd63484_map, 0, 16, adp_state )
+ADDRESS_MAP_START(adp_state::fstation_hd63484_map)
AM_RANGE(0x00000, 0x7ffff) AM_ROM AM_REGION("gfx1", 0)
AM_RANGE(0x80000, 0xfffff) AM_RAM
ADDRESS_MAP_END
@@ -590,7 +599,7 @@ MACHINE_CONFIG_DERIVED(adp_state::fashiong, skattv)
MCFG_HD63484_ADDRESS_MAP(fashiong_hd63484_map)
MACHINE_CONFIG_END
-static ADDRESS_MAP_START( ramdac_map, 0, 8, adp_state )
+ADDRESS_MAP_START(adp_state::ramdac_map)
AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac",ramdac_device,ramdac_pal_r,ramdac_rgb666_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/advision.cpp b/src/mame/drivers/advision.cpp
index 55665727133..8d6b9f1b6b9 100644
--- a/src/mame/drivers/advision.cpp
+++ b/src/mame/drivers/advision.cpp
@@ -36,12 +36,12 @@ READ8_MEMBER( advision_state::rom_r )
return m_cart->read_rom(space, offset & 0xfff);
}
-static ADDRESS_MAP_START( program_map, AS_PROGRAM, 8, advision_state )
+ADDRESS_MAP_START(advision_state::program_map)
AM_RANGE(0x0000, 0x03ff) AM_ROMBANK("bank1")
AM_RANGE(0x0400, 0x0fff) AM_READ(rom_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, advision_state )
+ADDRESS_MAP_START(advision_state::io_map)
AM_RANGE(0x00, 0xff) AM_READWRITE(ext_ram_r, ext_ram_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/aeroboto.cpp b/src/mame/drivers/aeroboto.cpp
index 9eb8bc773ea..fc3b93ab26f 100644
--- a/src/mame/drivers/aeroboto.cpp
+++ b/src/mame/drivers/aeroboto.cpp
@@ -74,7 +74,7 @@ WRITE8_MEMBER(aeroboto_state::aeroboto_1a2_w)
m_disable_irq = 1;
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, aeroboto_state )
+ADDRESS_MAP_START(aeroboto_state::main_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("mainram") // main RAM
AM_RANGE(0x01a2, 0x01a2) AM_WRITE(aeroboto_1a2_w) // affects IRQ line (more protection?)
AM_RANGE(0x0800, 0x08ff) AM_RAM // tile color buffer; copied to 0x2000
@@ -97,7 +97,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, aeroboto_state )
AM_RANGE(0x4000, 0xffff) AM_ROM // main ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, aeroboto_state )
+ADDRESS_MAP_START(aeroboto_state::sound_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x9000, 0x9001) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
AM_RANGE(0x9002, 0x9002) AM_DEVREAD("ay1", ay8910_device, data_r)
diff --git a/src/mame/drivers/aerofgt.cpp b/src/mame/drivers/aerofgt.cpp
index 5e59706a838..778b80f3614 100644
--- a/src/mame/drivers/aerofgt.cpp
+++ b/src/mame/drivers/aerofgt.cpp
@@ -128,7 +128,7 @@ WRITE8_MEMBER(aerofgt_state::karatblzbl_d7759_reset_w)
m_upd7759->reset_w(data & 0x80);
}
-static ADDRESS_MAP_START( pspikes_map, AS_PROGRAM, 16, aerofgt_state )
+ADDRESS_MAP_START(aerofgt_state::pspikes_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM /* work RAM */
AM_RANGE(0x200000, 0x203fff) AM_RAM AM_SHARE("spriteram1")
@@ -143,7 +143,7 @@ static ADDRESS_MAP_START( pspikes_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0xfff400, 0xfff403) AM_DEVWRITE8("gga", vsystem_gga_device, write, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pspikesb_map, AS_PROGRAM, 16, aerofgt_state )
+ADDRESS_MAP_START(aerofgt_state::pspikesb_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM /* work RAM */
AM_RANGE(0x200000, 0x203fff) AM_RAM AM_SHARE("spriteram1")
@@ -161,7 +161,7 @@ static ADDRESS_MAP_START( pspikesb_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0xfff400, 0xfff403) AM_WRITENOP // GGA access
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spikes91_map, AS_PROGRAM, 16, aerofgt_state )
+ADDRESS_MAP_START(aerofgt_state::spikes91_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM /* work RAM */
AM_RANGE(0x200000, 0x203fff) AM_RAM AM_SHARE("spriteram1")
@@ -181,7 +181,7 @@ static ADDRESS_MAP_START( spikes91_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0xfff008, 0xfff009) AM_WRITE(spikes91_lookup_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pspikesc_map, AS_PROGRAM, 16, aerofgt_state )
+ADDRESS_MAP_START(aerofgt_state::pspikesc_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM /* work RAM */
AM_RANGE(0x200000, 0x203fff) AM_RAM AM_SHARE("spriteram1")
@@ -197,7 +197,7 @@ static ADDRESS_MAP_START( pspikesc_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0xfff400, 0xfff403) AM_WRITENOP // GGA access
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kickball_map, AS_PROGRAM, 16, aerofgt_state )
+ADDRESS_MAP_START(aerofgt_state::kickball_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM /* work RAM */
AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_SHARE("spriteram1")
@@ -212,7 +212,7 @@ static ADDRESS_MAP_START( kickball_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0xfff400, 0xfff403) AM_WRITENOP // GGA access
ADDRESS_MAP_END
-static ADDRESS_MAP_START( karatblz_map, AS_PROGRAM, 16, aerofgt_state )
+ADDRESS_MAP_START(aerofgt_state::karatblz_map)
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x081fff) AM_RAM_WRITE(aerofgt_bg1videoram_w) AM_SHARE("bg1videoram")
@@ -234,7 +234,7 @@ static ADDRESS_MAP_START( karatblz_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0x0ff400, 0x0ff403) AM_DEVWRITE8("gga", vsystem_gga_device, write, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( karatblzbl_map, AS_PROGRAM, 16, aerofgt_state )
+ADDRESS_MAP_START(aerofgt_state::karatblzbl_map)
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x081fff) AM_RAM_WRITE(aerofgt_bg1videoram_w) AM_SHARE("bg1videoram")
@@ -256,7 +256,7 @@ static ADDRESS_MAP_START( karatblzbl_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0x0ff400, 0x0ff403) AM_WRITENOP // GGA access
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spinlbrk_map, AS_PROGRAM, 16, aerofgt_state )
+ADDRESS_MAP_START(aerofgt_state::spinlbrk_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(aerofgt_bg1videoram_w) AM_SHARE("bg1videoram")
AM_RANGE(0x082000, 0x082fff) AM_RAM_WRITE(aerofgt_bg2videoram_w) AM_SHARE("bg2videoram")
@@ -274,7 +274,7 @@ static ADDRESS_MAP_START( spinlbrk_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0xfff400, 0xfff403) AM_DEVWRITE8("gga", vsystem_gga_device, write, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( turbofrc_map, AS_PROGRAM, 16, aerofgt_state )
+ADDRESS_MAP_START(aerofgt_state::turbofrc_map)
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
AM_RANGE(0x000000, 0x0bffff) AM_ROM
AM_RANGE(0x0c0000, 0x0cffff) AM_RAM /* work RAM */
@@ -297,7 +297,7 @@ static ADDRESS_MAP_START( turbofrc_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0x0ff400, 0x0ff403) AM_DEVWRITE8("gga", vsystem_gga_device, write, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( aerofgtb_map, AS_PROGRAM, 16, aerofgt_state )
+ADDRESS_MAP_START(aerofgt_state::aerofgtb_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x0c0000, 0x0cffff) AM_RAM /* work RAM */
AM_RANGE(0x0d0000, 0x0d1fff) AM_RAM_WRITE(aerofgt_bg1videoram_w) AM_SHARE("bg1videoram")
@@ -318,7 +318,7 @@ static ADDRESS_MAP_START( aerofgtb_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0x0ff000, 0x0fffff) AM_RAM AM_SHARE("rasterram") /* used only for the scroll registers */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( aerofgt_map, AS_PROGRAM, 16, aerofgt_state )
+ADDRESS_MAP_START(aerofgt_state::aerofgt_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x1a0000, 0x1a07ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x1b0000, 0x1b07ff) AM_RAM AM_SHARE("rasterram") /* used only for the scroll registers */
@@ -336,7 +336,7 @@ static ADDRESS_MAP_START( aerofgt_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0xffffc0, 0xffffc1) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( aerfboot_map, AS_PROGRAM, 16, aerofgt_state )
+ADDRESS_MAP_START(aerofgt_state::aerfboot_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x0c0000, 0x0cffff) AM_RAM /* work RAM */
AM_RANGE(0x0d0000, 0x0d1fff) AM_RAM_WRITE(aerofgt_bg1videoram_w) AM_SHARE("bg1videoram")
@@ -364,7 +364,7 @@ static ADDRESS_MAP_START( aerfboot_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0x10c000, 0x117fff) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( aerfboo2_map, AS_PROGRAM, 16, aerofgt_state )
+ADDRESS_MAP_START(aerofgt_state::aerfboo2_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x0c0000, 0x0cffff) AM_RAM /* work RAM */
AM_RANGE(0x0d0000, 0x0d1fff) AM_RAM_WRITE(aerofgt_bg1videoram_w) AM_SHARE("bg1videoram")
@@ -391,7 +391,7 @@ static ADDRESS_MAP_START( aerfboo2_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0x0ff000, 0x0fffff) AM_RAM AM_SHARE("rasterram") /* used only for the scroll registers */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( wbbc97_map, AS_PROGRAM, 16, aerofgt_state )
+ADDRESS_MAP_START(aerofgt_state::wbbc97_map)
AM_RANGE(0x000000, 0x3fffff) AM_ROM
AM_RANGE(0x500000, 0x50ffff) AM_RAM /* work RAM */
AM_RANGE(0x600000, 0x605fff) AM_RAM AM_SHARE("spriteram1")
@@ -408,27 +408,27 @@ static ADDRESS_MAP_START( wbbc97_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0xfff400, 0xfff403) AM_WRITENOP // GGA access
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, aerofgt_state )
+ADDRESS_MAP_START(aerofgt_state::sound_map)
AM_RANGE(0x0000, 0x77ff) AM_ROM
AM_RANGE(0x7800, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("soundbank")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spinlbrk_sound_portmap, AS_IO, 8, aerofgt_state )
+ADDRESS_MAP_START(aerofgt_state::spinlbrk_sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(spinlbrk_sh_bankswitch_w)
AM_RANGE(0x14, 0x14) AM_DEVREADWRITE("soundlatch", generic_latch_8_device, read, acknowledge_w)
AM_RANGE(0x18, 0x1b) AM_DEVREADWRITE("ymsnd", ym2610_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( turbofrc_sound_portmap, AS_IO, 8, aerofgt_state )
+ADDRESS_MAP_START(aerofgt_state::turbofrc_sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(aerofgt_sh_bankswitch_w)
AM_RANGE(0x14, 0x14) AM_DEVREADWRITE("soundlatch", generic_latch_8_device, read, acknowledge_w)
AM_RANGE(0x18, 0x1b) AM_DEVREADWRITE("ymsnd", ym2610_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( aerofgt_sound_portmap, AS_IO, 8, aerofgt_state )
+ADDRESS_MAP_START(aerofgt_state::aerofgt_sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ymsnd", ym2610_device, read, write)
AM_RANGE(0x04, 0x04) AM_WRITE(aerofgt_sh_bankswitch_w)
@@ -436,7 +436,7 @@ static ADDRESS_MAP_START( aerofgt_sound_portmap, AS_IO, 8, aerofgt_state )
AM_RANGE(0x0c, 0x0c) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( aerfboot_sound_map, AS_PROGRAM, 8, aerofgt_state )
+ADDRESS_MAP_START(aerofgt_state::aerfboot_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_WRITE(aerfboot_okim6295_banking_w)
@@ -444,7 +444,7 @@ static ADDRESS_MAP_START( aerfboot_sound_map, AS_PROGRAM, 8, aerofgt_state )
AM_RANGE(0xa000, 0xa000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( wbbc97_sound_map, AS_PROGRAM, 8, aerofgt_state )
+ADDRESS_MAP_START(aerofgt_state::wbbc97_sound_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xf800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
@@ -453,13 +453,13 @@ static ADDRESS_MAP_START( wbbc97_sound_map, AS_PROGRAM, 8, aerofgt_state )
AM_RANGE(0xfc20, 0xfc20) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( karatblzbl_sound_map, AS_PROGRAM, 8, aerofgt_state )
+ADDRESS_MAP_START(aerofgt_state::karatblzbl_sound_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xf800) AM_DEVREAD("soundlatch", generic_latch_8_device, read) //AM_DEVWRITE("soundlatch2", generic_latch_8_device, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( karatblzbl_sound_portmap, AS_IO, 8, aerofgt_state )
+ADDRESS_MAP_START(aerofgt_state::karatblzbl_sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("ymsnd", ym3812_device, status_port_r, control_port_w)
AM_RANGE(0x20, 0x20) AM_DEVWRITE("ymsnd", ym3812_device, write_port_w)
@@ -467,13 +467,13 @@ static ADDRESS_MAP_START( karatblzbl_sound_portmap, AS_IO, 8, aerofgt_state )
AM_RANGE(0x80, 0x80) AM_WRITE(karatblzbl_d7759_reset_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kickball_sound_map, AS_PROGRAM, 8, aerofgt_state )
+ADDRESS_MAP_START(aerofgt_state::kickball_sound_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xf800) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kickball_sound_portmap, AS_IO, 8, aerofgt_state )
+ADDRESS_MAP_START(aerofgt_state::kickball_sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("ymsnd", ym3812_device, status_port_r, control_port_w)
AM_RANGE(0x20, 0x20) AM_DEVWRITE("ymsnd", ym3812_device, write_port_w)
@@ -482,7 +482,7 @@ static ADDRESS_MAP_START( kickball_sound_portmap, AS_IO, 8, aerofgt_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( oki_map, 0, 8, aerofgt_state ) //only for aerfboot for now
+ADDRESS_MAP_START(aerofgt_state::oki_map) //only for aerfboot for now
AM_RANGE(0x00000, 0x1ffff) AM_ROM
AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK("okibank")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/agat.cpp b/src/mame/drivers/agat.cpp
index aa4732111ce..ac1576c3b59 100644
--- a/src/mame/drivers/agat.cpp
+++ b/src/mame/drivers/agat.cpp
@@ -154,6 +154,8 @@ public:
DECLARE_WRITE8_MEMBER(controller_strobe_w);
void agat7(machine_config &config);
+ void agat7_map(address_map &map);
+ void inhbank_map(address_map &map);
private:
int m_speaker_state;
int m_cassette_state;
@@ -680,7 +682,7 @@ WRITE8_MEMBER(agat7_state::agat7_ram_w)
* and are supported only on motherboards with 32K onboard.
* all extra RAM (onboard or addon) is accessible via 16K window at 0x8000.
*/
-static ADDRESS_MAP_START( agat7_map, AS_PROGRAM, 8, agat7_state )
+ADDRESS_MAP_START(agat7_state::agat7_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xbfff) AM_READWRITE(agat7_ram_r, agat7_ram_w)
AM_RANGE(0xc000, 0xc000) AM_MIRROR(0xf) AM_READ(keyb_data_r) AM_WRITENOP
@@ -699,7 +701,7 @@ static ADDRESS_MAP_START( agat7_map, AS_PROGRAM, 8, agat7_state )
AM_RANGE(0xd000, 0xffff) AM_DEVICE(A7_UPPERBANK_TAG, address_map_bank_device, amap8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( inhbank_map, AS_PROGRAM, 8, agat7_state )
+ADDRESS_MAP_START(agat7_state::inhbank_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM AM_REGION("maincpu", 0x1000) AM_WRITE(inh_w)
AM_RANGE(0x3000, 0x5fff) AM_READWRITE(inh_r, inh_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/age_candy.cpp b/src/mame/drivers/age_candy.cpp
index 1304cd5a456..761b334d7f9 100644
--- a/src/mame/drivers/age_candy.cpp
+++ b/src/mame/drivers/age_candy.cpp
@@ -28,6 +28,7 @@ public:
virtual void machine_reset() override;
void age_candy(machine_config &config);
+ void age_candy_map(address_map &map);
// required_device<mcs51_cpu_device> m_maincpu;
};
@@ -46,7 +47,7 @@ void age_candy_state::machine_reset()
#ifdef UNUSED_DEFINITION
-static ADDRESS_MAP_START(age_candy_map, AS_PROGRAM, 8, age_candy_state)
+ADDRESS_MAP_START(age_candy_state::age_candy_map)
AM_RANGE(0xc000, 0xffff) AM_ROM AM_REGION("maincpu", 0x4000)
ADDRESS_MAP_END
#endif
diff --git a/src/mame/drivers/aim65.cpp b/src/mame/drivers/aim65.cpp
index 662dce5ba5e..5ea1a041410 100644
--- a/src/mame/drivers/aim65.cpp
+++ b/src/mame/drivers/aim65.cpp
@@ -38,7 +38,7 @@ Bugs
***************************************************************************/
/* Note: RAM is mapped dynamically in machine/aim65.c */
-static ADDRESS_MAP_START( aim65_mem, AS_PROGRAM, 8, aim65_state )
+ADDRESS_MAP_START(aim65_state::aim65_mem)
AM_RANGE( 0x1000, 0x3fff ) AM_NOP /* User available expansions */
AM_RANGE( 0x4000, 0x7fff ) AM_ROM /* 4 ROM sockets in 16K PROM/ROM module */
AM_RANGE( 0x8000, 0x9fff ) AM_NOP /* User available expansions */
diff --git a/src/mame/drivers/aim65_40.cpp b/src/mame/drivers/aim65_40.cpp
index d967c3acf64..ac07ed6be62 100644
--- a/src/mame/drivers/aim65_40.cpp
+++ b/src/mame/drivers/aim65_40.cpp
@@ -77,6 +77,7 @@ public:
{ }
void aim65_40(machine_config &config);
+ void aim65_40_mem(address_map &map);
// devices
//device_t *m_via0;
//device_t *m_via1;
@@ -90,7 +91,7 @@ private:
ADDRESS MAPS
***************************************************************************/
-static ADDRESS_MAP_START( aim65_40_mem, AS_PROGRAM, 8, aim65_40_state )
+ADDRESS_MAP_START(aim65_40_state::aim65_40_mem)
AM_RANGE(0x0000, 0x3fff) AM_RAM
AM_RANGE(0xa000, 0xcfff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0xf000, 0xff7f) AM_ROM AM_REGION("roms", 0x3000)
diff --git a/src/mame/drivers/airbustr.cpp b/src/mame/drivers/airbustr.cpp
index 9a3d54c1120..b51e771cbb6 100644
--- a/src/mame/drivers/airbustr.cpp
+++ b/src/mame/drivers/airbustr.cpp
@@ -305,7 +305,7 @@ WRITE8_MEMBER(airbustr_state::coin_counter_w)
}
/* Memory Maps */
-static ADDRESS_MAP_START( master_map, AS_PROGRAM, 8, airbustr_state )
+ADDRESS_MAP_START(airbustr_state::master_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("masterbank")
AM_RANGE(0xc000, 0xcfff) AM_DEVREADWRITE("pandora", kaneko_pandora_device, spriteram_r, spriteram_w)
@@ -314,14 +314,14 @@ static ADDRESS_MAP_START( master_map, AS_PROGRAM, 8, airbustr_state )
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("share1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( master_io_map, AS_IO, 8, airbustr_state )
+ADDRESS_MAP_START(airbustr_state::master_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(master_bankswitch_w)
AM_RANGE(0x01, 0x01) AM_WRITENOP // ???
AM_RANGE(0x02, 0x02) AM_WRITE(master_nmi_trigger_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_map, AS_PROGRAM, 8, airbustr_state )
+ADDRESS_MAP_START(airbustr_state::slave_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("slavebank")
AM_RANGE(0xc000, 0xc3ff) AM_RAM_WRITE(videoram2_w) AM_SHARE("videoram2")
@@ -334,7 +334,7 @@ static ADDRESS_MAP_START( slave_map, AS_PROGRAM, 8, airbustr_state )
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("share1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_io_map, AS_IO, 8, airbustr_state )
+ADDRESS_MAP_START(airbustr_state::slave_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(slave_bankswitch_w)
AM_RANGE(0x02, 0x02) AM_DEVREAD("soundlatch2", generic_latch_8_device, read) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
@@ -347,13 +347,13 @@ static ADDRESS_MAP_START( slave_io_map, AS_IO, 8, airbustr_state )
AM_RANGE(0x38, 0x38) AM_WRITENOP // irq ack / irq mask
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, airbustr_state )
+ADDRESS_MAP_START(airbustr_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("audiobank")
AM_RANGE(0xc000, 0xdfff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, airbustr_state )
+ADDRESS_MAP_START(airbustr_state::sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(sound_bankswitch_w)
AM_RANGE(0x02, 0x03) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
diff --git a/src/mame/drivers/airraid.cpp b/src/mame/drivers/airraid.cpp
index 6998818a50b..0092c7e31bb 100644
--- a/src/mame/drivers/airraid.cpp
+++ b/src/mame/drivers/airraid.cpp
@@ -190,6 +190,10 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(cshooter_scanline);
void airraid(machine_config &config);
void airraid_crypt(machine_config &config);
+ void airraid_map(address_map &map);
+ void airraid_sound_decrypted_opcodes_map(address_map &map);
+ void airraid_sound_map(address_map &map);
+ void decrypted_opcodes_map(address_map &map);
};
@@ -240,7 +244,7 @@ WRITE8_MEMBER(airraid_state::bank_w)
-static ADDRESS_MAP_START( airraid_map, AS_PROGRAM, 8, airraid_state )
+ADDRESS_MAP_START(airraid_state::airraid_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") AM_WRITENOP // rld result write-back
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("IN0")
@@ -267,11 +271,11 @@ static ADDRESS_MAP_START( airraid_map, AS_PROGRAM, 8, airraid_state )
AM_RANGE(0xfe00, 0xffff) AM_RAM AM_SHARE("sprite_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, airraid_state )
+ADDRESS_MAP_START(airraid_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_SHARE("decrypted_opcodes")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( airraid_sound_map, AS_PROGRAM, 8, airraid_state )
+ADDRESS_MAP_START(airraid_state::airraid_sound_map)
AM_RANGE(0x0000, 0x1fff) AM_DEVREAD("sei80bu", sei80bu_device, data_r)
AM_RANGE(0x2000, 0x27ff) AM_RAM
AM_RANGE(0x4000, 0x4000) AM_DEVWRITE("seibu_sound", seibu_sound_device, pending_w)
@@ -288,7 +292,7 @@ static ADDRESS_MAP_START( airraid_sound_map, AS_PROGRAM, 8, airraid_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( airraid_sound_decrypted_opcodes_map, AS_OPCODES, 8, airraid_state )
+ADDRESS_MAP_START(airraid_state::airraid_sound_decrypted_opcodes_map)
AM_RANGE(0x0000, 0x1fff) AM_DEVREAD("sei80bu", sei80bu_device, opcode_r)
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("audiocpu", 0x8000)
ADDRESS_MAP_END
@@ -386,7 +390,7 @@ MACHINE_CONFIG_START(airraid_state::airraid)
MCFG_CPU_ADD("audiocpu", Z80, XTAL(14'318'181)/4) /* verified on pcb */
MCFG_CPU_PROGRAM_MAP(airraid_sound_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(airraid_sound_decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(airraid_sound_decrypted_opcodes_map)
MCFG_QUANTUM_PERFECT_CPU("maincpu")
@@ -415,7 +419,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(airraid_state::airraid_crypt, airraid)
MCFG_CPU_MODIFY("maincpu")
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/ajax.cpp b/src/mame/drivers/ajax.cpp
index 4c7bb289c3f..fb4dd2cc4d6 100644
--- a/src/mame/drivers/ajax.cpp
+++ b/src/mame/drivers/ajax.cpp
@@ -23,7 +23,7 @@
#include "speaker.h"
-static ADDRESS_MAP_START( ajax_main_map, AS_PROGRAM, 8, ajax_state )
+ADDRESS_MAP_START(ajax_state::ajax_main_map)
AM_RANGE(0x0000, 0x01c0) AM_READWRITE(ls138_f10_r, ls138_f10_w) /* bankswitch + sound command + FIRQ command */
AM_RANGE(0x0800, 0x0807) AM_DEVREADWRITE("k051960", k051960_device, k051937_r, k051937_w) /* sprite control registers */
AM_RANGE(0x0c00, 0x0fff) AM_DEVREADWRITE("k051960", k051960_device, k051960_r, k051960_w) /* sprite RAM 2128SL at J7 */
@@ -34,7 +34,7 @@ static ADDRESS_MAP_START( ajax_main_map, AS_PROGRAM, 8, ajax_state )
AM_RANGE(0x8000, 0xffff) AM_ROM /* ROM N11 */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ajax_sub_map, AS_PROGRAM, 8, ajax_state )
+ADDRESS_MAP_START(ajax_state::ajax_sub_map)
AM_RANGE(0x0000, 0x07ff) AM_DEVREADWRITE("k051316", k051316_device, read, write) /* 051316 zoom/rotation layer */
AM_RANGE(0x0800, 0x080f) AM_DEVWRITE("k051316", k051316_device, ctrl_w) /* 051316 control registers */
AM_RANGE(0x1000, 0x17ff) AM_DEVREAD("k051316", k051316_device, rom_r) /* 051316 (ROM test) */
@@ -45,7 +45,7 @@ static ADDRESS_MAP_START( ajax_sub_map, AS_PROGRAM, 8, ajax_state )
AM_RANGE(0xa000, 0xffff) AM_ROM AM_REGION ("sub", 0x12000) /* ROM I16 */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ajax_sound_map, AS_PROGRAM, 8, ajax_state )
+ADDRESS_MAP_START(ajax_state::ajax_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM /* ROM F6 */
AM_RANGE(0x8000, 0x87ff) AM_RAM /* RAM 2128SL at D16 */
AM_RANGE(0x9000, 0x9000) AM_WRITE(sound_bank_w) /* 007232 bankswitch */
diff --git a/src/mame/drivers/akaiax80.cpp b/src/mame/drivers/akaiax80.cpp
index 0e88bb88b0e..81286ef059b 100644
--- a/src/mame/drivers/akaiax80.cpp
+++ b/src/mame/drivers/akaiax80.cpp
@@ -60,6 +60,7 @@ public:
{ }
void ax80(machine_config &config);
+ void ax80_map(address_map &map);
private:
virtual void machine_reset() override;
required_device<upd7810_device> m_maincpu;
@@ -69,7 +70,7 @@ void ax80_state::machine_reset()
{
}
-static ADDRESS_MAP_START( ax80_map, AS_PROGRAM, 8, ax80_state )
+ADDRESS_MAP_START(ax80_state::ax80_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM AM_REGION("maincpu", 0) // internal ROM
AM_RANGE(0x1000, 0x1003) AM_MIRROR(0x000c) AM_DEVREADWRITE(PIT0_TAG, pit8253_device, read, write) // IC20
AM_RANGE(0x1010, 0x1013) AM_MIRROR(0x000c) AM_DEVREADWRITE(PIT1_TAG, pit8253_device, read, write) // IC21
diff --git a/src/mame/drivers/albazc.cpp b/src/mame/drivers/albazc.cpp
index 2c26993e08b..1dc1c725220 100644
--- a/src/mame/drivers/albazc.cpp
+++ b/src/mame/drivers/albazc.cpp
@@ -51,6 +51,7 @@ public:
required_device<palette_device> m_palette;
required_device<ticket_dispenser_device> m_hopper;
void hanaroku(machine_config &config);
+ void hanaroku_map(address_map &map);
};
@@ -175,7 +176,7 @@ WRITE8_MEMBER(albazc_state::albazc_vregs_w)
/* main cpu */
-static ADDRESS_MAP_START( hanaroku_map, AS_PROGRAM, 8, albazc_state )
+ADDRESS_MAP_START(albazc_state::hanaroku_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("spriteram1")
AM_RANGE(0x9000, 0x97ff) AM_RAM AM_SHARE("spriteram2")
diff --git a/src/mame/drivers/albazg.cpp b/src/mame/drivers/albazg.cpp
index 15537b9bac2..53f985e38f7 100644
--- a/src/mame/drivers/albazg.cpp
+++ b/src/mame/drivers/albazg.cpp
@@ -85,6 +85,8 @@ public:
required_device<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
void yumefuda(machine_config &config);
+ void main_map(address_map &map);
+ void port_map(address_map &map);
};
TILE_GET_INFO_MEMBER(albazg_state::y_get_bg_tile_info)
@@ -206,7 +208,7 @@ WRITE8_MEMBER(albazg_state::yumefuda_output_w)
/***************************************************************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, albazg_state )
+ADDRESS_MAP_START(albazg_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("bank1")
AM_RANGE(0xa7fc, 0xa7fc) AM_WRITE(prot_lock_w)
@@ -219,7 +221,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, albazg_state )
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( port_map, AS_IO, 8, albazg_state )
+ADDRESS_MAP_START(albazg_state::port_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("crtc", mc6845_device, address_w)
AM_RANGE(0x01, 0x01) AM_DEVWRITE("crtc", mc6845_device, register_w)
diff --git a/src/mame/drivers/aleck64.cpp b/src/mame/drivers/aleck64.cpp
index 2d4222eb6f0..bd42ecbc8a8 100644
--- a/src/mame/drivers/aleck64.cpp
+++ b/src/mame/drivers/aleck64.cpp
@@ -202,6 +202,9 @@ public:
void aleck64(machine_config &config);
void a64_e90(machine_config &config);
+ void e90_map(address_map &map);
+ void n64_map(address_map &map);
+ void rsp_map(address_map &map);
protected:
optional_shared_ptr<uint32_t> m_e90_vram;
optional_shared_ptr<uint32_t> m_e90_pal;
@@ -312,7 +315,7 @@ READ32_MEMBER(aleck64_state::aleck_dips_r)
4MB @ 0xd0800000 - 0xd0bfffff doncdoon, hipai, kurufev, twrshaft, srmvs : unused
*/
-static ADDRESS_MAP_START( n64_map, AS_PROGRAM, 32, aleck64_state )
+ADDRESS_MAP_START(aleck64_state::n64_map)
AM_RANGE(0x00000000, 0x007fffff) AM_RAM /*AM_MIRROR(0xc0000000)*/ AM_SHARE("rdram") // RDRAM
AM_RANGE(0x03f00000, 0x03f00027) AM_DEVREADWRITE("rcp", n64_periphs, rdram_reg_r, rdram_reg_w)
@@ -366,14 +369,14 @@ WRITE16_MEMBER(aleck64_state::e90_prot_w)
}
}
-static ADDRESS_MAP_START( e90_map, AS_PROGRAM, 32, aleck64_state )
+ADDRESS_MAP_START(aleck64_state::e90_map)
AM_IMPORT_FROM( n64_map )
AM_RANGE(0xd0000000, 0xd0000fff) AM_RAM AM_SHARE("e90vram")// x/y offsets
AM_RANGE(0xd0010000, 0xd0010fff) AM_RAM AM_SHARE("e90pal")// RGB555 palette
AM_RANGE(0xd0030000, 0xd003001f) AM_READWRITE16(e90_prot_r, e90_prot_w,0xffffffff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rsp_map, AS_PROGRAM, 32, aleck64_state )
+ADDRESS_MAP_START(aleck64_state::rsp_map)
AM_RANGE(0x00000000, 0x00000fff) AM_RAM AM_SHARE("rsp_dmem")
AM_RANGE(0x00001000, 0x00001fff) AM_RAM AM_SHARE("rsp_imem")
AM_RANGE(0x04000000, 0x04000fff) AM_RAM AM_SHARE("rsp_dmem")
diff --git a/src/mame/drivers/alesis.cpp b/src/mame/drivers/alesis.cpp
index 9dd05353191..dfe6951b2d0 100644
--- a/src/mame/drivers/alesis.cpp
+++ b/src/mame/drivers/alesis.cpp
@@ -118,12 +118,12 @@ WRITE8_MEMBER( alesis_state::mmt8_p3_w )
m_cassette->output(data & 0x10 ? -1.0 : +1.0);
}
-static ADDRESS_MAP_START(hr16_mem, AS_PROGRAM, 8, alesis_state)
+ADDRESS_MAP_START(alesis_state::hr16_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_MIRROR(0x8000) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(hr16_io, AS_IO, 8, alesis_state)
+ADDRESS_MAP_START(alesis_state::hr16_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0000) AM_READ(kb_r)
AM_RANGE(0x0002, 0x0002) AM_DEVWRITE("dm3ag", alesis_dm3ag_device, write)
@@ -136,12 +136,12 @@ static ADDRESS_MAP_START(hr16_io, AS_IO, 8, alesis_state)
AM_RANGE(0x8000, 0xffff) AM_RAM AM_SHARE("nvram") // 32Kx8 SRAM, (battery-backed)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(sr16_mem, AS_PROGRAM, 8, alesis_state)
+ADDRESS_MAP_START(alesis_state::sr16_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(sr16_io, AS_IO, 8, alesis_state)
+ADDRESS_MAP_START(alesis_state::sr16_io)
//ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0000) AM_MIRROR(0xff) AM_DEVWRITE("dm3ag", alesis_dm3ag_device, write)
AM_RANGE(0x0200, 0x0200) AM_MIRROR(0xff) AM_WRITE(sr16_lcd_w)
@@ -153,7 +153,7 @@ static ADDRESS_MAP_START(sr16_io, AS_IO, 8, alesis_state)
AM_RANGE(0x8000, 0xffff) AM_RAM AM_SHARE("nvram") // 32Kx8 SRAM, (battery-backed)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mmt8_io, AS_IO, 8, alesis_state)
+ADDRESS_MAP_START(alesis_state::mmt8_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xffff) AM_RAM AM_SHARE("nvram") // 2x32Kx8 SRAM, (battery-backed)
AM_RANGE(0xff02, 0xff02) AM_WRITE(track_led_w)
diff --git a/src/mame/drivers/alesis_qs.cpp b/src/mame/drivers/alesis_qs.cpp
index 12ea0764cb2..8a273db943d 100644
--- a/src/mame/drivers/alesis_qs.cpp
+++ b/src/mame/drivers/alesis_qs.cpp
@@ -25,6 +25,7 @@ public:
{ }
void qs7(machine_config &config);
+ void qs7_prog_map(address_map &map);
protected:
required_device<cpu_device> m_maincpu;
};
@@ -42,7 +43,7 @@ static INPUT_PORTS_START( qs7 )
// PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("?") PORT_CODE(KEYCODE_)
INPUT_PORTS_END
-static ADDRESS_MAP_START( qs7_prog_map, AS_PROGRAM, 16, qs_state )
+ADDRESS_MAP_START(qs_state::qs7_prog_map)
//ADDRESS_MAP_GLOBAL_MASK(0x3ffff)
AM_RANGE(0x00000, 0x3ffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/alg.cpp b/src/mame/drivers/alg.cpp
index 85163ed23a8..b0f71139617 100644
--- a/src/mame/drivers/alg.cpp
+++ b/src/mame/drivers/alg.cpp
@@ -61,6 +61,11 @@ public:
void alg_r2(machine_config &config);
void picmatic(machine_config &config);
void alg_r1(machine_config &config);
+ void a500_mem(address_map &map);
+ void main_map_picmatic(address_map &map);
+ void main_map_r1(address_map &map);
+ void main_map_r2(address_map &map);
+ void overlay_512kb_map(address_map &map);
protected:
// amiga_state overrides
virtual void potgo_w(uint16_t data) override;
@@ -170,13 +175,13 @@ CUSTOM_INPUT_MEMBER(alg_state::lightgun_holster_r)
*
*************************************/
-static ADDRESS_MAP_START( overlay_512kb_map, AS_PROGRAM, 16, alg_state )
+ADDRESS_MAP_START(alg_state::overlay_512kb_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x07ffff) AM_MIRROR(0x180000) AM_RAM AM_SHARE("chip_ram")
AM_RANGE(0x200000, 0x27ffff) AM_ROM AM_REGION("kickstart", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( a500_mem, AS_PROGRAM, 16, alg_state )
+ADDRESS_MAP_START(alg_state::a500_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x1fffff) AM_DEVICE("overlay", address_map_bank_device, amap16)
AM_RANGE(0xa00000, 0xbfffff) AM_READWRITE(cia_r, cia_w)
@@ -189,19 +194,19 @@ static ADDRESS_MAP_START( a500_mem, AS_PROGRAM, 16, alg_state )
AM_RANGE(0xf80000, 0xffffff) AM_ROM AM_REGION("kickstart", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_map_r1, AS_PROGRAM, 16, alg_state )
+ADDRESS_MAP_START(alg_state::main_map_r1)
AM_IMPORT_FROM(a500_mem)
AM_RANGE(0xf00000, 0xf1ffff) AM_ROM AM_REGION("user2", 0) /* Custom ROM */
AM_RANGE(0xf54000, 0xf55fff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_map_r2, AS_PROGRAM, 16, alg_state )
+ADDRESS_MAP_START(alg_state::main_map_r2)
AM_IMPORT_FROM(a500_mem)
AM_RANGE(0xf00000, 0xf3ffff) AM_ROM AM_REGION("user2", 0) /* Custom ROM */
AM_RANGE(0xf7c000, 0xf7dfff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_map_picmatic, AS_PROGRAM, 16, alg_state )
+ADDRESS_MAP_START(alg_state::main_map_picmatic)
AM_IMPORT_FROM(a500_mem)
AM_RANGE(0xf00000, 0xf1ffff) AM_ROM AM_REGION("user2", 0) /* Custom ROM */
AM_RANGE(0xf40000, 0xf41fff) AM_RAM AM_SHARE("nvram")
diff --git a/src/mame/drivers/alien.cpp b/src/mame/drivers/alien.cpp
index a2dbf1822a4..2e669dcb2c4 100644
--- a/src/mame/drivers/alien.cpp
+++ b/src/mame/drivers/alien.cpp
@@ -43,6 +43,7 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void alien(machine_config &config);
+ void alien_map(address_map &map);
protected:
// devices
@@ -67,7 +68,7 @@ READ64_MEMBER( alien_state::test_r )
return machine().rand();
}
-static ADDRESS_MAP_START( alien_map, AS_PROGRAM, 64, alien_state )
+ADDRESS_MAP_START(alien_state::alien_map)
AM_RANGE(0x00000000, 0x0003ffff) AM_ROM
AM_RANGE(0x08000000, 0x08000007) AM_READ(test_r) //hangs if zero
AM_RANGE(0x0cfe0000, 0x0cffffff) AM_RAM
diff --git a/src/mame/drivers/aliens.cpp b/src/mame/drivers/aliens.cpp
index 06114a773e0..64f9d1928f7 100644
--- a/src/mame/drivers/aliens.cpp
+++ b/src/mame/drivers/aliens.cpp
@@ -85,7 +85,7 @@ WRITE8_MEMBER(aliens_state::k052109_051960_w)
m_k051960->k051960_w(space, offset - 0x3c00, data);
}
-static ADDRESS_MAP_START( aliens_map, AS_PROGRAM, 8, aliens_state )
+ADDRESS_MAP_START(aliens_state::aliens_map)
AM_RANGE(0x0000, 0x03ff) AM_DEVICE("bank0000", address_map_bank_device, amap8)
AM_RANGE(0x0400, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x3fff) AM_ROMBANK("rombank") /* banked ROM */
@@ -100,12 +100,12 @@ static ADDRESS_MAP_START( aliens_map, AS_PROGRAM, 8, aliens_state )
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("maincpu", 0x28000) /* ROM e24_j02.bin */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bank0000_map, AS_PROGRAM, 8, aliens_state )
+ADDRESS_MAP_START(aliens_state::bank0000_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x07ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( aliens_sound_map, AS_PROGRAM, 8, aliens_state )
+ADDRESS_MAP_START(aliens_state::aliens_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM /* ROM g04_b03.bin */
AM_RANGE(0x8000, 0x87ff) AM_RAM /* RAM */
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
diff --git a/src/mame/drivers/alinvade.cpp b/src/mame/drivers/alinvade.cpp
index 44f0bde4c35..490e70d7914 100644
--- a/src/mame/drivers/alinvade.cpp
+++ b/src/mame/drivers/alinvade.cpp
@@ -46,6 +46,7 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void alinvade(machine_config &config);
+ void alinvade_map(address_map &map);
private:
uint8_t m_irqmask;
uint8_t m_irqff;
@@ -101,7 +102,7 @@ WRITE8_MEMBER(alinvade_state::irqmask_w)
m_irqff = data;
}
-static ADDRESS_MAP_START( alinvade_map, AS_PROGRAM, 8, alinvade_state )
+ADDRESS_MAP_START(alinvade_state::alinvade_map)
AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x0400, 0x0bff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x0c00, 0x0dff) AM_RAM
diff --git a/src/mame/drivers/allied.cpp b/src/mame/drivers/allied.cpp
index 2f9514e21e8..75c0b4c33c8 100644
--- a/src/mame/drivers/allied.cpp
+++ b/src/mame/drivers/allied.cpp
@@ -86,6 +86,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(ic8_cb2_w);
TIMER_DEVICE_CALLBACK_MEMBER(timer_a);
void allied(machine_config &config);
+ void allied_map(address_map &map);
private:
uint32_t m_player_score[6];
uint8_t m_display;
@@ -109,7 +110,7 @@ private:
};
-static ADDRESS_MAP_START( allied_map, AS_PROGRAM, 8, allied_state )
+ADDRESS_MAP_START(allied_state::allied_map)
AM_RANGE(0x0000, 0x003f) AM_RAM // ic6
AM_RANGE(0x0044, 0x0047) AM_DEVREADWRITE("ic2", pia6821_device, read, write)
AM_RANGE(0x0048, 0x004b) AM_DEVREADWRITE("ic1", pia6821_device, read, write)
diff --git a/src/mame/drivers/alpha68k.cpp b/src/mame/drivers/alpha68k.cpp
index 1fa77937d16..633227ff1d0 100644
--- a/src/mame/drivers/alpha68k.cpp
+++ b/src/mame/drivers/alpha68k.cpp
@@ -644,7 +644,7 @@ READ16_MEMBER(alpha68k_state::alpha_V_trigger_r)
/******************************************************************************/
-static ADDRESS_MAP_START( kyros_map, AS_PROGRAM, 16, alpha68k_state )
+ADDRESS_MAP_START(alpha68k_state::kyros_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM // main program
AM_RANGE(0x020000, 0x020fff) AM_RAM AM_SHARE("shared_ram") // work RAM
AM_RANGE(0x040000, 0x041fff) AM_RAM AM_SHARE("spriteram") // sprite RAM
@@ -654,7 +654,7 @@ static ADDRESS_MAP_START( kyros_map, AS_PROGRAM, 16, alpha68k_state )
AM_RANGE(0x0e0000, 0x0e0001) AM_READWRITE(kyros_dip_r, kyros_sound_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( alpha68k_I_map, AS_PROGRAM, 16, alpha68k_state )
+ADDRESS_MAP_START(alpha68k_state::alpha68k_I_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM // main program
AM_RANGE(0x080000, 0x083fff) AM_RAM // work RAM
AM_RANGE(0x100000, 0x103fff) AM_RAM AM_SHARE("spriteram") // video RAM
@@ -665,7 +665,7 @@ static ADDRESS_MAP_START( alpha68k_I_map, AS_PROGRAM, 16, alpha68k_state )
AM_RANGE(0x380000, 0x380001) AM_READ_PORT("IN2") AM_WRITE(paddlema_soundlatch_w) // LSB: sound latch write and RST38 trigger, joy3, joy4
ADDRESS_MAP_END
-static ADDRESS_MAP_START( alpha68k_II_map, AS_PROGRAM, 16, alpha68k_state )
+ADDRESS_MAP_START(alpha68k_state::alpha68k_II_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x040fff) AM_RAM AM_SHARE("shared_ram")
AM_RANGE(0x080000, 0x080001) AM_READ(control_1_r) /* Joysticks */
@@ -684,7 +684,7 @@ static ADDRESS_MAP_START( alpha68k_II_map, AS_PROGRAM, 16, alpha68k_state )
AM_RANGE(0x800000, 0x83ffff) AM_ROMBANK("bank8")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( alpha68k_V_map, AS_PROGRAM, 16, alpha68k_state )
+ADDRESS_MAP_START(alpha68k_state::alpha68k_V_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x043fff) AM_RAM AM_SHARE("shared_ram")
AM_RANGE(0x080000, 0x080001) AM_READWRITE(control_1_r, alpha68k_V_sound_w) /* Joysticks */
@@ -704,7 +704,7 @@ ADDRESS_MAP_END
READ16_MEMBER(alpha68k_state::sound_cpu_r){ return 1; }
-static ADDRESS_MAP_START( tnextspc_map, AS_PROGRAM, 16, alpha68k_state )
+ADDRESS_MAP_START(alpha68k_state::tnextspc_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x070000, 0x073fff) AM_RAM
AM_RANGE(0x0a0000, 0x0a3fff) AM_RAM AM_SHARE("spriteram")
@@ -729,13 +729,13 @@ WRITE8_MEMBER(alpha68k_state::sound_bank_w)
membank("bank7")->set_entry(data);
}
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, alpha68k_state )
+ADDRESS_MAP_START(alpha68k_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xc000, 0xffff) AM_ROMBANK("bank7")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kyros_sound_map, AS_PROGRAM, 8, alpha68k_state )
+ADDRESS_MAP_START(alpha68k_state::kyros_sound_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xe000, 0xe000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -751,7 +751,7 @@ static ADDRESS_MAP_START( kyros_sound_map, AS_PROGRAM, 8, alpha68k_state )
*/
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sstingry_sound_map, AS_PROGRAM, 8, alpha68k_state )
+ADDRESS_MAP_START(alpha68k_state::sstingry_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xc100, 0xc100) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -760,12 +760,12 @@ static ADDRESS_MAP_START( sstingry_sound_map, AS_PROGRAM, 8, alpha68k_state )
AM_RANGE(0xc106, 0xc10e) AM_WRITENOP // soundboard I/O's, ignored
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jongbou_sound_map, AS_PROGRAM, 8, alpha68k_state )
+ADDRESS_MAP_START(alpha68k_state::jongbou_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( alpha68k_I_s_map, AS_PROGRAM, 8, alpha68k_state )
+ADDRESS_MAP_START(alpha68k_state::alpha68k_I_s_map)
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xe000, 0xe000) AM_DEVREADWRITE("soundlatch", generic_latch_8_device, read, clear_w)
AM_RANGE(0xe800, 0xe800) AM_DEVREADWRITE("ymsnd", ym3812_device, status_port_r, control_port_w)
@@ -775,13 +775,13 @@ static ADDRESS_MAP_START( alpha68k_I_s_map, AS_PROGRAM, 8, alpha68k_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tnextspc_sound_map, AS_PROGRAM, 8, alpha68k_state )
+ADDRESS_MAP_START(alpha68k_state::tnextspc_sound_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xf800) AM_DEVREADWRITE("soundlatch", generic_latch_8_device, read, clear_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, alpha68k_state )
+ADDRESS_MAP_START(alpha68k_state::sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("soundlatch", generic_latch_8_device, read, clear_w)
AM_RANGE(0x08, 0x08) AM_DEVWRITE("dac", dac_byte_interface, write)
@@ -790,7 +790,7 @@ static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, alpha68k_state )
AM_RANGE(0x0e, 0x0e) AM_WRITE(sound_bank_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kyros_sound_portmap, AS_IO, 8, alpha68k_state )
+ADDRESS_MAP_START(alpha68k_state::kyros_sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x11) AM_DEVWRITE("ym1", ym2203_device, write)
AM_RANGE(0x80, 0x80) AM_DEVWRITE("ym2", ym2203_device, write_port_w)
@@ -799,7 +799,7 @@ static ADDRESS_MAP_START( kyros_sound_portmap, AS_IO, 8, alpha68k_state )
AM_RANGE(0x91, 0x91) AM_DEVWRITE("ym3", ym2203_device, control_port_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jongbou_sound_portmap, AS_IO, 8, alpha68k_state )
+ADDRESS_MAP_START(alpha68k_state::jongbou_sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("aysnd", ay8910_device, address_w)
AM_RANGE(0x01, 0x01) AM_DEVREADWRITE("aysnd", ay8910_device, data_r, data_w)
@@ -807,7 +807,7 @@ static ADDRESS_MAP_START( jongbou_sound_portmap, AS_IO, 8, alpha68k_state )
AM_RANGE(0x06, 0x06) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tnextspc_sound_portmap, AS_IO, 8, alpha68k_state )
+ADDRESS_MAP_START(alpha68k_state::tnextspc_sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("ymsnd", ym3812_device, status_port_r, control_port_w)
AM_RANGE(0x20, 0x20) AM_DEVWRITE("ymsnd", ym3812_device, write_port_w)
diff --git a/src/mame/drivers/alphasma.cpp b/src/mame/drivers/alphasma.cpp
index 2beb9a5ecbc..792c508daff 100644
--- a/src/mame/drivers/alphasma.cpp
+++ b/src/mame/drivers/alphasma.cpp
@@ -61,6 +61,8 @@ public:
void update_lcdc(address_space &space, bool lcdc0, bool lcdc1);
void alphasmart(machine_config &config);
+ void alphasmart_io(address_map &map);
+ void alphasmart_mem(address_map &map);
protected:
uint8_t m_matrix[2];
uint8_t m_port_a;
@@ -84,6 +86,7 @@ public:
virtual DECLARE_WRITE8_MEMBER(port_a_w) override;
void asma2k(machine_config &config);
+ void asma2k_mem(address_map &map);
private:
uint8_t m_lcd_ctrl;
};
@@ -165,7 +168,7 @@ WRITE8_MEMBER(alphasmart_state::port_d_w)
}
-static ADDRESS_MAP_START(alphasmart_mem, AS_PROGRAM, 8, alphasmart_state)
+ADDRESS_MAP_START(alphasmart_state::alphasmart_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x7fff ) AM_RAMBANK("rambank")
AM_RANGE( 0x0000, 0x003f ) AM_NOP // internal registers
@@ -175,7 +178,7 @@ static ADDRESS_MAP_START(alphasmart_mem, AS_PROGRAM, 8, alphasmart_state)
AM_RANGE( 0xc000, 0xc000 ) AM_WRITE(kb_matrixl_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(alphasmart_io, AS_IO, 8, alphasmart_state)
+ADDRESS_MAP_START(alphasmart_state::alphasmart_io)
AM_RANGE( MC68HC11_IO_PORTA, MC68HC11_IO_PORTA ) AM_READWRITE(port_a_r, port_a_w)
AM_RANGE( MC68HC11_IO_PORTD, MC68HC11_IO_PORTD ) AM_READWRITE(port_d_r, port_d_w)
ADDRESS_MAP_END
@@ -225,7 +228,7 @@ WRITE8_MEMBER(asma2k_state::port_a_w)
}
-static ADDRESS_MAP_START(asma2k_mem, AS_PROGRAM, 8, asma2k_state)
+ADDRESS_MAP_START(asma2k_state::asma2k_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x7fff ) AM_RAMBANK("rambank")
AM_RANGE( 0x0000, 0x003f ) AM_NOP // internal registers
diff --git a/src/mame/drivers/alphatpx.cpp b/src/mame/drivers/alphatpx.cpp
index a5953069988..fff48714d8e 100644
--- a/src/mame/drivers/alphatpx.cpp
+++ b/src/mame/drivers/alphatpx.cpp
@@ -123,6 +123,9 @@ public:
void alphatp2(machine_config &config);
void alphatp2u(machine_config &config);
+ void alphatp2_io(address_map &map);
+ void alphatp2_map(address_map &map);
+ void alphatp2_mem(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -190,6 +193,11 @@ public:
void alphatp3(machine_config &config);
void alphatp30(machine_config &config);
+ void alphatp30_8088_io(address_map &map);
+ void alphatp30_8088_map(address_map &map);
+ void alphatp3_io(address_map &map);
+ void alphatp3_map(address_map &map);
+ void alphatp3_mem(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -217,11 +225,11 @@ private:
// ADDRESS MAPS - Alphatronic P1, P2, P2S, P2U and Hell 2069
//**************************************************************************
-static ADDRESS_MAP_START( alphatp2_mem, AS_PROGRAM, 8, alphatp_12_state )
+ADDRESS_MAP_START(alphatp_12_state::alphatp2_mem)
AM_RANGE(0x0000, 0xffff) AM_DEVICE("bankdev", address_map_bank_device, amap8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( alphatp2_map, AS_PROGRAM, 8, alphatp_12_state )
+ADDRESS_MAP_START(alphatp_12_state::alphatp2_map)
AM_RANGE(0x00000, 0x0ffff) AM_RAMBANK("ram_0000")
AM_RANGE(0x00000, 0x017ff) AM_ROM AM_REGION("boot", 0) // P2 0x0000 , 0x17ff -hw 6kB, P3 only 4 kB
AM_RANGE(0x01800, 0x01c00) AM_RAM // boot rom variables
@@ -231,7 +239,7 @@ static ADDRESS_MAP_START( alphatp2_map, AS_PROGRAM, 8, alphatp_12_state )
AM_RANGE(0x10000, 0x1ffff) AM_RAM AM_SHARE("ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( alphatp2_io, AS_IO, 8, alphatp_12_state )
+ADDRESS_MAP_START(alphatp_12_state::alphatp2_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x04, 0x04) AM_DEVREADWRITE("uart", i8251_device, data_r, data_w)
AM_RANGE(0x05, 0x05) AM_DEVREADWRITE("uart", i8251_device, status_r, control_w)
@@ -253,11 +261,11 @@ WRITE8_MEMBER(alphatp_12_state::bank_w)
// ADDRESS MAPS - Alphatronic P3, P4, P30 and P40
//**************************************************************************
-static ADDRESS_MAP_START( alphatp3_mem, AS_PROGRAM, 8, alphatp_34_state )
+ADDRESS_MAP_START(alphatp_34_state::alphatp3_mem)
AM_RANGE(0x0000, 0xffff) AM_DEVICE("bankdev", address_map_bank_device, amap8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( alphatp3_map, AS_PROGRAM, 8, alphatp_34_state )
+ADDRESS_MAP_START(alphatp_34_state::alphatp3_map)
AM_RANGE(0x00000, 0x0ffff) AM_RAMBANK("ram_0000")
AM_RANGE(0x00000, 0x017ff) AM_ROM AM_REGION("boot", 0) // P2 0x0000 , 0x17ff -hw 6kB, P3 only 4 kB
AM_RANGE(0x01800, 0x01c00) AM_RAM // boot rom variables
@@ -267,7 +275,7 @@ static ADDRESS_MAP_START( alphatp3_map, AS_PROGRAM, 8, alphatp_34_state )
AM_RANGE(0x10000, 0x1ffff) AM_RAM AM_SHARE("ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( alphatp3_io, AS_IO, 8, alphatp_34_state )
+ADDRESS_MAP_START(alphatp_34_state::alphatp3_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x04, 0x04) AM_DEVREADWRITE("uart", i8251_device, data_r, data_w)
AM_RANGE(0x05, 0x05) AM_DEVREADWRITE("uart", i8251_device, status_r, control_w)
@@ -279,12 +287,12 @@ static ADDRESS_MAP_START( alphatp3_io, AS_IO, 8, alphatp_34_state )
AM_RANGE(0x78, 0x78) AM_WRITE(bank_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( alphatp30_8088_map, AS_PROGRAM, 8, alphatp_34_state )
+ADDRESS_MAP_START(alphatp_34_state::alphatp30_8088_map)
AM_RANGE(0x00000, 0x1ffff) AM_RAM
AM_RANGE(0xfe000, 0xfffff) AM_ROM AM_REGION("16bit", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( alphatp30_8088_io, AS_IO, 8, alphatp_34_state )
+ADDRESS_MAP_START(alphatp_34_state::alphatp30_8088_io)
AM_RANGE(0xffe0, 0xffe1) AM_DEVREADWRITE("pic8259", pic8259_device, read, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/alphatro.cpp b/src/mame/drivers/alphatro.cpp
index c4e11a7b684..6b892dffae5 100644
--- a/src/mame/drivers/alphatro.cpp
+++ b/src/mame/drivers/alphatro.cpp
@@ -106,6 +106,11 @@ public:
DECLARE_FLOPPY_FORMATS( floppy_formats );
void alphatro(machine_config &config);
+ void alphatro_io(address_map &map);
+ void alphatro_map(address_map &map);
+ void cartbank_map(address_map &map);
+ void monbank_map(address_map &map);
+ void rombank_map(address_map &map);
private:
uint8_t *m_ram_ptr;
required_device<ram_device> m_ram;
@@ -383,7 +388,7 @@ INPUT_CHANGED_MEMBER( alphatro_state::alphatro_break )
m_maincpu->set_input_line(INPUT_LINE_IRQ0, HOLD_LINE);
}
-static ADDRESS_MAP_START( alphatro_map, AS_PROGRAM, 8, alphatro_state )
+ADDRESS_MAP_START(alphatro_state::alphatro_map)
AM_RANGE(0x0000, 0x5fff) AM_DEVICE("lowbank", address_map_bank_device, amap8)
AM_RANGE(0x6000, 0x9fff) AM_READWRITE(ram6000_r, ram6000_w)
AM_RANGE(0xa000, 0xdfff) AM_DEVICE("cartbank", address_map_bank_device, amap8)
@@ -392,23 +397,23 @@ static ADDRESS_MAP_START( alphatro_map, AS_PROGRAM, 8, alphatro_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rombank_map, AS_PROGRAM, 8, alphatro_state )
+ADDRESS_MAP_START(alphatro_state::rombank_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM AM_REGION("roms", 0x0000) AM_WRITE(ram0000_w)
AM_RANGE(0x6000, 0xbfff) AM_READWRITE(ram0000_r, ram0000_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cartbank_map, AS_PROGRAM, 8, alphatro_state )
+ADDRESS_MAP_START(alphatro_state::cartbank_map)
AM_RANGE(0x0000, 0x3fff) AM_DEVREAD("cartslot", generic_slot_device, read_rom) AM_WRITE(rama000_w)
AM_RANGE(0x4000, 0x7fff) AM_READWRITE(rama000_r, rama000_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( monbank_map, AS_PROGRAM, 8, alphatro_state )
+ADDRESS_MAP_START(alphatro_state::monbank_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x1000, 0x1fff) AM_ROM AM_REGION("roms", 0x8000)
AM_RANGE(0x2000, 0x2fff) AM_ROM AM_REGION("roms", 0x9000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( alphatro_io, AS_IO, 8, alphatro_state )
+ADDRESS_MAP_START(alphatro_state::alphatro_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x10, 0x10) AM_READWRITE(port10_r, port10_w)
diff --git a/src/mame/drivers/altair.cpp b/src/mame/drivers/altair.cpp
index a7735e6abec..a28507f8267 100644
--- a/src/mame/drivers/altair.cpp
+++ b/src/mame/drivers/altair.cpp
@@ -44,6 +44,8 @@ public:
DECLARE_QUICKLOAD_LOAD_MEMBER(altair);
void altair(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
virtual void machine_reset() override;
required_device<cpu_device> m_maincpu;
@@ -52,14 +54,14 @@ private:
-static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 8, altair_state)
+ADDRESS_MAP_START(altair_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0xfcff ) AM_RAM AM_SHARE("ram")
AM_RANGE( 0xfd00, 0xfdff ) AM_ROM
AM_RANGE( 0xff00, 0xffff ) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(io_map, AS_IO, 8, altair_state)
+ADDRESS_MAP_START(altair_state::io_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
// TODO: Remove AM_MIRROR() and use SIO address S0-S7
diff --git a/src/mame/drivers/alto2.cpp b/src/mame/drivers/alto2.cpp
index d06368e5861..3a66a2bacad 100644
--- a/src/mame/drivers/alto2.cpp
+++ b/src/mame/drivers/alto2.cpp
@@ -34,6 +34,9 @@ public:
DECLARE_MACHINE_RESET(alto2);
void alto2(machine_config &config);
+ void alto2_const_map(address_map &map);
+ void alto2_iomem_map(address_map &map);
+ void alto2_ucode_map(address_map &map);
protected:
required_device<cpu_device> m_maincpu;
required_device<speaker_sound_device> m_speaker;
@@ -261,15 +264,15 @@ ROM_END
// ADDRESS MAPS
//**************************************************************************
-ADDRESS_MAP_START( alto2_ucode_map, 0, 32, alto2_state )
+ADDRESS_MAP_START(alto2_state::alto2_ucode_map)
AM_RANGE(0, 4*ALTO2_UCODE_PAGE_SIZE-1) AM_DEVICE32( "maincpu", alto2_cpu_device, ucode_map, 0xffffffffUL )
ADDRESS_MAP_END
-ADDRESS_MAP_START( alto2_const_map, 1, 16, alto2_state )
+ADDRESS_MAP_START(alto2_state::alto2_const_map)
AM_RANGE(0, ALTO2_CONST_SIZE-1) AM_DEVICE16( "maincpu", alto2_cpu_device, const_map, 0xffffU )
ADDRESS_MAP_END
-ADDRESS_MAP_START( alto2_iomem_map, 2, 16, alto2_state )
+ADDRESS_MAP_START(alto2_state::alto2_iomem_map)
AM_RANGE(0, 2*ALTO2_RAM_SIZE-1) AM_DEVICE16( "maincpu", alto2_cpu_device, iomem_map, 0xffffU )
ADDRESS_MAP_END
diff --git a/src/mame/drivers/altos2.cpp b/src/mame/drivers/altos2.cpp
index e570b3542c5..928a602bc3e 100644
--- a/src/mame/drivers/altos2.cpp
+++ b/src/mame/drivers/altos2.cpp
@@ -41,6 +41,8 @@ public:
u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void altos2(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
virtual void machine_reset() override;
@@ -68,12 +70,12 @@ u32 altos2_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, con
return 0;
}
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, altos2_state )
+ADDRESS_MAP_START(altos2_state::mem_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0xc000, 0xffff) AM_RAM AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, altos2_state)
+ADDRESS_MAP_START(altos2_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("dart1", z80dart_device, ba_cd_r, ba_cd_w)
diff --git a/src/mame/drivers/altos486.cpp b/src/mame/drivers/altos486.cpp
index e7a8eae4f79..ff4589e7f51 100644
--- a/src/mame/drivers/altos486.cpp
+++ b/src/mame/drivers/altos486.cpp
@@ -40,6 +40,10 @@ public:
uint8_t m_prot[256];
uint16_t m_viol[16];
void altos486(machine_config &config);
+ void altos486_io(address_map &map);
+ void altos486_mem(address_map &map);
+ void altos486_z80_io(address_map &map);
+ void altos486_z80_mem(address_map &map);
};
READ8_MEMBER(altos486_state::read_rmx_ack)
@@ -98,23 +102,23 @@ static SLOT_INTERFACE_START( altos486_floppies )
SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
SLOT_INTERFACE_END
-static ADDRESS_MAP_START(altos486_mem, AS_PROGRAM, 16, altos486_state)
+ADDRESS_MAP_START(altos486_state::altos486_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000, 0xfffff) AM_READWRITE(mmu_ram_r, mmu_ram_w) AM_SHARE("main_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(altos486_io, AS_IO, 16, altos486_state)
+ADDRESS_MAP_START(altos486_state::altos486_io)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(mmu_io_r, mmu_io_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(altos486_z80_mem, AS_PROGRAM, 8, altos486_state)
+ADDRESS_MAP_START(altos486_state::altos486_z80_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_ROM AM_REGION("iocpu", 0)
AM_RANGE(0x2000, 0x27ff) AM_RAM
//AM_RANGE(0x8000, 0xffff) AM_READWRITE(z80_shared_r, z80_shared_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(altos486_z80_io, AS_IO, 8, altos486_state)
+ADDRESS_MAP_START(altos486_state::altos486_z80_io)
//AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("sio0", z80sio0_device, read, write)
//AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("sio1", z80sio0_device, read, write)
//AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE("sio2", z80sio0_device, read, write)
diff --git a/src/mame/drivers/altos5.cpp b/src/mame/drivers/altos5.cpp
index f08b004b689..5316510cac0 100644
--- a/src/mame/drivers/altos5.cpp
+++ b/src/mame/drivers/altos5.cpp
@@ -49,6 +49,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(fdc_intrq_w);
void altos5(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
uint8_t m_port08;
uint8_t m_port09;
@@ -67,7 +69,7 @@ private:
required_device<floppy_connector> m_floppy1;
};
-static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 8, altos5_state)
+ADDRESS_MAP_START(altos5_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x0fff ) AM_READ_BANK("bankr0") AM_WRITE_BANK("bankw0")
AM_RANGE( 0x1000, 0x1fff ) AM_READ_BANK("bankr1") AM_WRITE_BANK("bankw1")
@@ -87,7 +89,7 @@ static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 8, altos5_state)
AM_RANGE( 0xf000, 0xffff ) AM_READ_BANK("bankrf") AM_WRITE_BANK("bankwf")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(io_map, AS_IO, 8, altos5_state)
+ADDRESS_MAP_START(altos5_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("dma", z80dma_device, read, write)
AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("fdc", fd1797_device, read, write)
diff --git a/src/mame/drivers/altos8600.cpp b/src/mame/drivers/altos8600.cpp
index 80a08730e22..c518e5c14a6 100644
--- a/src/mame/drivers/altos8600.cpp
+++ b/src/mame/drivers/altos8600.cpp
@@ -67,6 +67,13 @@ public:
DECLARE_WRITE8_MEMBER(ics_attn_w);
IRQ_CALLBACK_MEMBER(inta);
void altos8600(machine_config &config);
+ void code_mem(address_map &map);
+ void cpu_io(address_map &map);
+ void cpu_mem(address_map &map);
+ void dmac_io(address_map &map);
+ void dmac_mem(address_map &map);
+ void extra_mem(address_map &map);
+ void stack_mem(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -626,31 +633,31 @@ IRQ_CALLBACK_MEMBER(altos8600_state::inta)
return m_pic1->acknowledge();
}
-static ADDRESS_MAP_START(cpu_mem, AS_PROGRAM, 16, altos8600_state)
+ADDRESS_MAP_START(altos8600_state::cpu_mem)
AM_RANGE(0x00000, 0xfffff) AM_READWRITE(cpuram_r, cpuram_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(stack_mem, i8086_cpu_device::AS_STACK, 16, altos8600_state)
+ADDRESS_MAP_START(altos8600_state::stack_mem)
AM_RANGE(0x00000, 0xfffff) AM_READWRITE(stkram_r, stkram_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(code_mem, i8086_cpu_device::AS_CODE, 16, altos8600_state)
+ADDRESS_MAP_START(altos8600_state::code_mem)
AM_RANGE(0x00000, 0xfffff) AM_READWRITE(coderam_r, coderam_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(extra_mem, i8086_cpu_device::AS_EXTRA, 16, altos8600_state)
+ADDRESS_MAP_START(altos8600_state::extra_mem)
AM_RANGE(0x00000, 0xfffff) AM_READWRITE(xtraram_r, xtraram_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(cpu_io, AS_IO, 16, altos8600_state)
+ADDRESS_MAP_START(altos8600_state::cpu_io)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(cpuio_r, cpuio_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(dmac_mem, AS_PROGRAM, 16, altos8600_state)
+ADDRESS_MAP_START(altos8600_state::dmac_mem)
AM_RANGE(0x00000, 0xfffff) AM_READWRITE(dmacram_r, dmacram_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(dmac_io, AS_IO, 16, altos8600_state)
+ADDRESS_MAP_START(altos8600_state::dmac_io)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(nmi_r, nmi_w)
AM_RANGE(0x0000, 0x0007) AM_READ(fault_r)
AM_RANGE(0x0008, 0x000f) AM_WRITE(clear_w)
@@ -682,7 +689,7 @@ MACHINE_CONFIG_START(altos8600_state::altos8600)
MCFG_CPU_ADD("maincpu", I8086, XTAL(5'000'000))
MCFG_CPU_PROGRAM_MAP(cpu_mem)
MCFG_CPU_IO_MAP(cpu_io)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(code_mem)
+ MCFG_CPU_OPCODES_MAP(code_mem)
MCFG_I8086_STACK_MAP(stack_mem)
MCFG_I8086_CODE_MAP(code_mem)
MCFG_I8086_EXTRA_MAP(extra_mem)
diff --git a/src/mame/drivers/alvg.cpp b/src/mame/drivers/alvg.cpp
index 44388c2aef3..ac27c198432 100644
--- a/src/mame/drivers/alvg.cpp
+++ b/src/mame/drivers/alvg.cpp
@@ -13,6 +13,7 @@ public:
{ }
void alvg(machine_config &config);
+ void alvg_map(address_map &map);
protected:
// devices
@@ -25,7 +26,7 @@ public:
};
-static ADDRESS_MAP_START( alvg_map, AS_PROGRAM, 8, alvg_state )
+ADDRESS_MAP_START(alvg_state::alvg_map)
AM_RANGE(0x0000, 0xffff) AM_NOP
AM_RANGE(0x0000, 0x3fff) AM_RAM
AM_RANGE(0x4000, 0xffff) AM_ROM
diff --git a/src/mame/drivers/amaticmg.cpp b/src/mame/drivers/amaticmg.cpp
index 00c5ef87eb7..ff0b65c3e21 100644
--- a/src/mame/drivers/amaticmg.cpp
+++ b/src/mame/drivers/amaticmg.cpp
@@ -469,6 +469,10 @@ public:
void amaticmg2(machine_config &config);
void amaticmg(machine_config &config);
void amaticmg4(machine_config &config);
+ void amaticmg2_portmap(address_map &map);
+ void amaticmg4_portmap(address_map &map);
+ void amaticmg_map(address_map &map);
+ void amaticmg_portmap(address_map &map);
};
@@ -641,7 +645,7 @@ WRITE8_MEMBER( amaticmg_state::unk80_w )
* Memory Map Information *
************************************/
-static ADDRESS_MAP_START( amaticmg_map, AS_PROGRAM, 8, amaticmg_state )
+ADDRESS_MAP_START(amaticmg_state::amaticmg_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_RAM // AM_SHARE("nvram")
AM_RANGE(0xa000, 0xafff) AM_RAM AM_SHARE("vram")
@@ -649,7 +653,7 @@ static ADDRESS_MAP_START( amaticmg_map, AS_PROGRAM, 8, amaticmg_state )
AM_RANGE(0xc000, 0xffff) AM_ROMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( amaticmg_portmap, AS_IO, 8, amaticmg_state )
+ADDRESS_MAP_START(amaticmg_state::amaticmg_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
AM_RANGE(0x20, 0x23) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write)
@@ -662,7 +666,7 @@ static ADDRESS_MAP_START( amaticmg_portmap, AS_IO, 8, amaticmg_state )
// AM_RANGE(0x00, 0x00) AM_DEVWRITE("dac2", dac_byte_interface, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( amaticmg2_portmap, AS_IO, 8, amaticmg_state )
+ADDRESS_MAP_START(amaticmg_state::amaticmg2_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
// ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
@@ -675,7 +679,7 @@ static ADDRESS_MAP_START( amaticmg2_portmap, AS_IO, 8, amaticmg_state )
AM_RANGE(0xe8, 0xeb) AM_DEVREADWRITE("ppi8255_2", i8255_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( amaticmg4_portmap, AS_IO, 8, amaticmg_state )
+ADDRESS_MAP_START(amaticmg_state::amaticmg4_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
// ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
diff --git a/src/mame/drivers/ambush.cpp b/src/mame/drivers/ambush.cpp
index fccfbf1f12c..55029fbb325 100644
--- a/src/mame/drivers/ambush.cpp
+++ b/src/mame/drivers/ambush.cpp
@@ -98,6 +98,9 @@ public:
void mariobl(machine_config &config);
void ambush(machine_config &config);
void dkong3abl(machine_config &config);
+ void bootleg_map(address_map &map);
+ void main_map(address_map &map);
+ void main_portmap(address_map &map);
private:
void register_save_states();
@@ -117,7 +120,7 @@ private:
// ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, ambush_state )
+ADDRESS_MAP_START(ambush_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa000) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
@@ -131,7 +134,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, ambush_state )
AM_RANGE(0xcc00, 0xcc07) AM_WRITE(output_latches_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_portmap, AS_IO, 8, ambush_state )
+ADDRESS_MAP_START(ambush_state::main_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("ay1", ay8910_device, data_r, address_w)
AM_RANGE(0x01, 0x01) AM_DEVWRITE("ay1", ay8910_device, data_w)
@@ -139,7 +142,7 @@ static ADDRESS_MAP_START( main_portmap, AS_IO, 8, ambush_state )
AM_RANGE(0x81, 0x81) AM_DEVWRITE("ay2", ay8910_device, data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bootleg_map, AS_PROGRAM, 8, ambush_state )
+ADDRESS_MAP_START(ambush_state::bootleg_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM
AM_RANGE(0x7000, 0x77ff) AM_RAM
diff --git a/src/mame/drivers/amerihok.cpp b/src/mame/drivers/amerihok.cpp
index 96ff255301d..2852376444a 100644
--- a/src/mame/drivers/amerihok.cpp
+++ b/src/mame/drivers/amerihok.cpp
@@ -41,6 +41,8 @@ public:
required_device<cpu_device> m_maincpu;
required_device<okim6376_device> m_oki;
void amerihok(machine_config &config);
+ void amerihok_data_map(address_map &map);
+ void amerihok_map(address_map &map);
};
WRITE8_MEMBER(amerihok_state::control_w)
@@ -49,11 +51,11 @@ WRITE8_MEMBER(amerihok_state::control_w)
m_oki->ch2_w(!BIT(data, 7));
}
-static ADDRESS_MAP_START(amerihok_map, AS_PROGRAM, 8, amerihok_state)
+ADDRESS_MAP_START(amerihok_state::amerihok_map)
AM_RANGE(0x0000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(amerihok_data_map, AS_DATA, 8, amerihok_state)
+ADDRESS_MAP_START(amerihok_state::amerihok_data_map)
AM_RANGE(0x2000, 0x2000) AM_WRITE(control_w)
AM_RANGE(0x4000, 0x4000) AM_DEVWRITE("oki", okim6376_device, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/amico2k.cpp b/src/mame/drivers/amico2k.cpp
index 19d78817b5b..78a1bd35aac 100644
--- a/src/mame/drivers/amico2k.cpp
+++ b/src/mame/drivers/amico2k.cpp
@@ -58,10 +58,11 @@ public:
TIMER_CALLBACK_MEMBER(led_refresh);
required_device<cpu_device> m_maincpu;
void amico2k(machine_config &config);
+ void amico2k_mem(address_map &map);
};
-static ADDRESS_MAP_START( amico2k_mem, AS_PROGRAM, 8, amico2k_state )
+ADDRESS_MAP_START(amico2k_state::amico2k_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x03ff) AM_RAM
// AM_RANGE(0x0400, 0x07ff) AM_RAM // optional expansion RAM
diff --git a/src/mame/drivers/amiga.cpp b/src/mame/drivers/amiga.cpp
index ef3731da8ee..94ebe009ce8 100644
--- a/src/mame/drivers/amiga.cpp
+++ b/src/mame/drivers/amiga.cpp
@@ -47,6 +47,9 @@ public:
void a1000(machine_config &config);
void a1000n(machine_config &config);
+ void a1000_bootrom_map(address_map &map);
+ void a1000_mem(address_map &map);
+ void a1000_overlay_map(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -79,6 +82,7 @@ public:
void a2000(machine_config &config);
void a2000n(machine_config &config);
+ void a2000_mem(address_map &map);
protected:
virtual void machine_reset() override;
@@ -114,6 +118,7 @@ public:
void a500n(machine_config &config);
void a500(machine_config &config);
+ void a500_mem(address_map &map);
protected:
virtual void machine_reset() override;
@@ -160,6 +165,8 @@ public:
void cdtv(machine_config &config);
void cdtvn(machine_config &config);
+ void cdtv_mem(address_map &map);
+ void cdtv_rc_mem(address_map &map);
protected:
// driver_device overrides
virtual void machine_start() override;
@@ -197,6 +204,7 @@ public:
void a3000(machine_config &config);
void a3000n(machine_config &config);
+ void a3000_mem(address_map &map);
protected:
private:
@@ -221,6 +229,7 @@ public:
void a500pn(machine_config &config);
void a500p(machine_config &config);
+ void a500p_mem(address_map &map);
protected:
virtual void machine_reset() override;
@@ -255,6 +264,7 @@ public:
void a600n(machine_config &config);
void a600(machine_config &config);
+ void a600_mem(address_map &map);
protected:
virtual bool int2_pending() override;
@@ -279,6 +289,7 @@ public:
void a1200(machine_config &config);
void a1200n(machine_config &config);
+ void a1200_mem(address_map &map);
protected:
virtual bool int2_pending() override;
@@ -316,6 +327,9 @@ public:
void a4000n(machine_config &config);
void a4000(machine_config &config);
void a400030(machine_config &config);
+ void a400030_mem(address_map &map);
+ void a4000_mem(address_map &map);
+ void a4000t_mem(address_map &map);
protected:
private:
@@ -357,6 +371,7 @@ public:
void cd32n(machine_config &config);
void cd32(machine_config &config);
+ void cd32_mem(address_map &map);
protected:
// amiga_state overrides
virtual void potgo_w(uint16_t data) override;
@@ -965,7 +980,7 @@ WRITE8_MEMBER( cd32_state::akiko_cia_0_port_a_write )
// Akiko custom chip.
#if 0
-static ADDRESS_MAP_START( a1000_overlay_map, AS_PROGRAM, 16, a1000_state )
+ADDRESS_MAP_START(a1000_state::a1000_overlay_map)
AM_RANGE(0x000000, 0x03ffff) AM_MIRROR(0x1c0000) AM_RAM AM_SHARE("chip_ram")
AM_RANGE(0x200000, 0x20ffff) AM_MIRROR(0x030000) AM_ROM AM_REGION("bootrom", 0)
AM_RANGE(0x280000, 0x2bffff) AM_MIRROR(0x040000) AM_RAM AM_SHARE("chip_ram")
@@ -974,7 +989,7 @@ static ADDRESS_MAP_START( a1000_overlay_map, AS_PROGRAM, 16, a1000_state )
ADDRESS_MAP_END
#endif
-static ADDRESS_MAP_START( a1000_overlay_map, AS_PROGRAM, 16, a1000_state )
+ADDRESS_MAP_START(a1000_state::a1000_overlay_map)
AM_RANGE(0x000000, 0x07ffff) AM_MIRROR(0x180000) AM_RAM AM_SHARE("chip_ram")
AM_RANGE(0x200000, 0x20ffff) AM_MIRROR(0x030000) AM_ROM AM_REGION("bootrom", 0)
AM_RANGE(0x280000, 0x2fffff) AM_RAM AM_SHARE("chip_ram")
@@ -982,12 +997,12 @@ static ADDRESS_MAP_START( a1000_overlay_map, AS_PROGRAM, 16, a1000_state )
AM_RANGE(0x380000, 0x38ffff) AM_MIRROR(0x030000) AM_ROM AM_REGION("bootrom", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( a1000_bootrom_map, AS_PROGRAM, 16, a1000_state )
+ADDRESS_MAP_START(a1000_state::a1000_bootrom_map)
AM_RANGE(0x000000, 0x00ffff) AM_MIRROR(0x30000) AM_ROM AM_REGION("bootrom", 0) AM_WRITE(write_protect_w)
AM_RANGE(0x040000, 0x07ffff) AM_ROMBANK("wom")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( a1000_mem, AS_PROGRAM, 16, a1000_state )
+ADDRESS_MAP_START(a1000_state::a1000_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x1fffff) AM_DEVICE("overlay", address_map_bank_device, amap16)
AM_RANGE(0xa00000, 0xbfffff) AM_READWRITE(cia_r, cia_w)
@@ -999,42 +1014,42 @@ static ADDRESS_MAP_START( a1000_mem, AS_PROGRAM, 16, a1000_state )
ADDRESS_MAP_END
// Gary/Super Gary/Gayle with 512KB chip RAM
-static ADDRESS_MAP_START( overlay_512kb_map, AS_PROGRAM, 16, amiga_state )
+ADDRESS_MAP_START(amiga_state::overlay_512kb_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x07ffff) AM_MIRROR(0x180000) AM_RAM AM_SHARE("chip_ram")
AM_RANGE(0x200000, 0x27ffff) AM_ROM AM_REGION("kickstart", 0)
ADDRESS_MAP_END
// Gary/Super Gary/Gayle with 1MB chip RAM
-static ADDRESS_MAP_START( overlay_1mb_map, AS_PROGRAM, 16, amiga_state )
+ADDRESS_MAP_START(amiga_state::overlay_1mb_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x0fffff) AM_MIRROR(0x100000) AM_RAM AM_SHARE("chip_ram")
AM_RANGE(0x200000, 0x27ffff) AM_ROM AM_REGION("kickstart", 0)
ADDRESS_MAP_END
// Gary/Super Gary/Gayle with 1MB chip RAM (32 bit system)
-static ADDRESS_MAP_START( overlay_1mb_map32, AS_PROGRAM, 32, amiga_state )
+ADDRESS_MAP_START(amiga_state::overlay_1mb_map32)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x0fffff) AM_MIRROR(0x100000) AM_RAM AM_SHARE("chip_ram")
AM_RANGE(0x200000, 0x27ffff) AM_ROM AM_REGION("kickstart", 0)
ADDRESS_MAP_END
// Gary/Super Gary/Gayle with 2MB chip RAM (32 bit system)
-static ADDRESS_MAP_START( overlay_2mb_map16, AS_PROGRAM, 16, amiga_state )
+ADDRESS_MAP_START(amiga_state::overlay_2mb_map16)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x1fffff) AM_RAM AM_SHARE("chip_ram")
AM_RANGE(0x200000, 0x27ffff) AM_ROM AM_REGION("kickstart", 0)
ADDRESS_MAP_END
// Gary/Super Gary/Gayle with 2MB chip RAM (32 bit system)
-static ADDRESS_MAP_START( overlay_2mb_map32, AS_PROGRAM, 32, amiga_state )
+ADDRESS_MAP_START(amiga_state::overlay_2mb_map32)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x1fffff) AM_RAM AM_SHARE("chip_ram")
AM_RANGE(0x200000, 0x27ffff) AM_ROM AM_REGION("kickstart", 0)
ADDRESS_MAP_END
// 512KB chip RAM, 512KB slow RAM, RTC
-static ADDRESS_MAP_START( a2000_mem, AS_PROGRAM, 16, a2000_state )
+ADDRESS_MAP_START(a2000_state::a2000_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x1fffff) AM_DEVICE("overlay", address_map_bank_device, amap16)
AM_RANGE(0xa00000, 0xbfffff) AM_READWRITE(cia_r, cia_w)
@@ -1052,7 +1067,7 @@ static ADDRESS_MAP_START( a2000_mem, AS_PROGRAM, 16, a2000_state )
ADDRESS_MAP_END
// 512KB chip RAM and no clock
-static ADDRESS_MAP_START( a500_mem, AS_PROGRAM, 16, a500_state )
+ADDRESS_MAP_START(a500_state::a500_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x1fffff) AM_DEVICE("overlay", address_map_bank_device, amap16)
AM_RANGE(0xa00000, 0xbfffff) AM_READWRITE(cia_r, cia_w)
@@ -1067,7 +1082,7 @@ static ADDRESS_MAP_START( a500_mem, AS_PROGRAM, 16, a500_state )
ADDRESS_MAP_END
// 1MB chip RAM, RTC and CDTV specific hardware
-static ADDRESS_MAP_START( cdtv_mem, AS_PROGRAM, 16, cdtv_state )
+ADDRESS_MAP_START(cdtv_state::cdtv_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x1fffff) AM_DEVICE("overlay", address_map_bank_device, amap16)
AM_RANGE(0xa00000, 0xbfffff) AM_READWRITE(cia_r, cia_w)
@@ -1084,11 +1099,11 @@ static ADDRESS_MAP_START( cdtv_mem, AS_PROGRAM, 16, cdtv_state )
AM_RANGE(0xf80000, 0xffffff) AM_ROM AM_REGION("kickstart", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cdtv_rc_mem, AS_PROGRAM, 8, cdtv_state )
+ADDRESS_MAP_START(cdtv_state::cdtv_rc_mem)
AM_RANGE(0x0800, 0x0fff) AM_ROM AM_REGION("rcmcu", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( a3000_mem, AS_PROGRAM, 32, a3000_state )
+ADDRESS_MAP_START(a3000_state::a3000_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000000, 0x001fffff) AM_DEVICE("overlay", address_map_bank_device, amap32)
AM_RANGE(0x00b80000, 0x00bfffff) AM_READWRITE16(cia_r, cia_w, 0xffffffff)
@@ -1105,7 +1120,7 @@ static ADDRESS_MAP_START( a3000_mem, AS_PROGRAM, 32, a3000_state )
ADDRESS_MAP_END
// 1MB chip RAM and RTC
-static ADDRESS_MAP_START( a500p_mem, AS_PROGRAM, 16, a500p_state )
+ADDRESS_MAP_START(a500p_state::a500p_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x1fffff) AM_DEVICE("overlay", address_map_bank_device, amap16)
AM_RANGE(0xa00000, 0xbfffff) AM_READWRITE(cia_r, cia_w)
@@ -1122,7 +1137,7 @@ static ADDRESS_MAP_START( a500p_mem, AS_PROGRAM, 16, a500p_state )
ADDRESS_MAP_END
// 1MB chip RAM, IDE and PCMCIA
-static ADDRESS_MAP_START( a600_mem, AS_PROGRAM, 16, a600_state )
+ADDRESS_MAP_START(a600_state::a600_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x1fffff) AM_DEVICE("overlay", address_map_bank_device, amap16)
AM_RANGE(0x200000, 0xa7ffff) AM_NOP
@@ -1146,7 +1161,7 @@ static ADDRESS_MAP_START( a600_mem, AS_PROGRAM, 16, a600_state )
ADDRESS_MAP_END
// 2MB chip RAM, IDE and PCMCIA
-static ADDRESS_MAP_START( a1200_mem, AS_PROGRAM, 32, a1200_state )
+ADDRESS_MAP_START(a1200_state::a1200_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x1fffff) AM_DEVICE("overlay", address_map_bank_device, amap32)
AM_RANGE(0x200000, 0xa7ffff) AM_NOP
@@ -1170,7 +1185,7 @@ static ADDRESS_MAP_START( a1200_mem, AS_PROGRAM, 32, a1200_state )
ADDRESS_MAP_END
// 2MB chip RAM, 4 MB fast RAM, RTC and IDE
-static ADDRESS_MAP_START( a4000_mem, AS_PROGRAM, 32, a4000_state )
+ADDRESS_MAP_START(a4000_state::a4000_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000000, 0x001fffff) AM_DEVICE("overlay", address_map_bank_device, amap32)
AM_RANGE(0x00200000, 0x009fffff) AM_NOP // zorro2 expansion
@@ -1197,7 +1212,7 @@ static ADDRESS_MAP_START( a4000_mem, AS_PROGRAM, 32, a4000_state )
ADDRESS_MAP_END
// 2MB chip RAM, 2 MB fast RAM, RTC and IDE
-static ADDRESS_MAP_START( a400030_mem, AS_PROGRAM, 32, a4000_state )
+ADDRESS_MAP_START(a4000_state::a400030_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_IMPORT_FROM(a4000_mem)
AM_RANGE(0x07000000, 0x07dfffff) AM_NOP // motherboard ram
@@ -1205,7 +1220,7 @@ static ADDRESS_MAP_START( a400030_mem, AS_PROGRAM, 32, a4000_state )
ADDRESS_MAP_END
// 2MB chip RAM and CD-ROM
-static ADDRESS_MAP_START( cd32_mem, AS_PROGRAM, 32, cd32_state )
+ADDRESS_MAP_START(cd32_state::cd32_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x1fffff) AM_DEVICE("overlay", address_map_bank_device, amap32)
AM_RANGE(0xb80000, 0xb8003f) AM_DEVREADWRITE("akiko", akiko_device, read, write)
@@ -1217,7 +1232,7 @@ static ADDRESS_MAP_START( cd32_mem, AS_PROGRAM, 32, cd32_state )
ADDRESS_MAP_END
// 2 MB chip RAM, IDE, RTC and SCSI
-static ADDRESS_MAP_START( a4000t_mem, AS_PROGRAM, 32, a4000_state )
+ADDRESS_MAP_START(a4000_state::a4000t_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_IMPORT_FROM(a4000_mem)
AM_RANGE(0x00dd0000, 0x00dd0fff) AM_READWRITE(scsi_r, scsi_w)
diff --git a/src/mame/drivers/ampex.cpp b/src/mame/drivers/ampex.cpp
index 13b5d8951f6..651a7389678 100644
--- a/src/mame/drivers/ampex.cpp
+++ b/src/mame/drivers/ampex.cpp
@@ -56,6 +56,7 @@ public:
DECLARE_WRITE8_MEMBER(uart_status_update);
void ampex(machine_config &config);
+ void mem_map(address_map &map);
private:
virtual void machine_start() override;
@@ -164,7 +165,7 @@ WRITE8_MEMBER(ampex_state::uart_status_update)
// DAV should generate RST 7
}
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, ampex_state )
+ADDRESS_MAP_START(ampex_state::mem_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0x4000, 0x43ff) AM_RAM // main RAM
AM_RANGE(0x4400, 0x57ff) AM_RAM // expansion RAM
diff --git a/src/mame/drivers/ampoker2.cpp b/src/mame/drivers/ampoker2.cpp
index d7d51cc8a2b..5a266a8e87c 100644
--- a/src/mame/drivers/ampoker2.cpp
+++ b/src/mame/drivers/ampoker2.cpp
@@ -591,13 +591,13 @@ WRITE8_MEMBER(ampoker2_state::ampoker2_watchdog_reset_w)
* Memory map information *
*************************/
-static ADDRESS_MAP_START( ampoker2_map, AS_PROGRAM, 8, ampoker2_state )
+ADDRESS_MAP_START(ampoker2_state::ampoker2_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(ampoker2_videoram_w) AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ampoker2_io_map, AS_IO, 8, ampoker2_state )
+ADDRESS_MAP_START(ampoker2_state::ampoker2_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x08, 0x0f) AM_WRITENOP /* inexistent in the real hardware */
AM_RANGE(0x10, 0x10) AM_READ_PORT("IN0")
diff --git a/src/mame/drivers/ampro.cpp b/src/mame/drivers/ampro.cpp
index 1e89e9a2ca4..cf31b75d42e 100644
--- a/src/mame/drivers/ampro.cpp
+++ b/src/mame/drivers/ampro.cpp
@@ -52,6 +52,8 @@ public:
DECLARE_WRITE8_MEMBER(io_w);
void ampro(machine_config &config);
+ void ampro_io(address_map &map);
+ void ampro_mem(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<z80dart_device> m_dart;
@@ -94,13 +96,13 @@ WRITE8_MEMBER( ampro_state::io_w )
m_dart->ba_cd_w(space, offset>>2, data);
}
-static ADDRESS_MAP_START(ampro_mem, AS_PROGRAM, 8, ampro_state)
+ADDRESS_MAP_START(ampro_state::ampro_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_READ_BANK("bankr0") AM_WRITE_BANK("bankw0")
AM_RANGE(0x1000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(ampro_io, AS_IO, 8, ampro_state)
+ADDRESS_MAP_START(ampro_state::ampro_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(port00_w) // system
diff --git a/src/mame/drivers/amspdwy.cpp b/src/mame/drivers/amspdwy.cpp
index 012ccfd5211..62afe73e49e 100644
--- a/src/mame/drivers/amspdwy.cpp
+++ b/src/mame/drivers/amspdwy.cpp
@@ -71,7 +71,7 @@ READ8_MEMBER(amspdwy_state::amspdwy_sound_r)
return (m_ym2151->status_r(space, 0) & ~0x30) | ioport("IN0")->read();
}
-static ADDRESS_MAP_START( amspdwy_map, AS_PROGRAM, 8, amspdwy_state )
+ADDRESS_MAP_START(amspdwy_state::amspdwy_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x801f) AM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x0400) AM_RAM_WRITE(amspdwy_videoram_w) AM_SHARE("videoram")
@@ -88,7 +88,7 @@ static ADDRESS_MAP_START( amspdwy_map, AS_PROGRAM, 8, amspdwy_state )
AM_RANGE(0xe000, 0xe7ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( amspdwy_portmap, AS_IO, 8, amspdwy_state )
+ADDRESS_MAP_START(amspdwy_state::amspdwy_portmap)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("tracks", 0)
ADDRESS_MAP_END
@@ -102,7 +102,7 @@ ADDRESS_MAP_END
***************************************************************************/
-static ADDRESS_MAP_START( amspdwy_sound_map, AS_PROGRAM, 8, amspdwy_state )
+ADDRESS_MAP_START(amspdwy_state::amspdwy_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
// AM_RANGE(0x8000, 0x8000) AM_WRITENOP // ? writes 0 at start
AM_RANGE(0x9000, 0x9000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/amstr_pc.cpp b/src/mame/drivers/amstr_pc.cpp
index 8b74351e5ce..de960a821ea 100644
--- a/src/mame/drivers/amstr_pc.cpp
+++ b/src/mame/drivers/amstr_pc.cpp
@@ -90,18 +90,22 @@ public:
void pc2086(machine_config &config);
void ppc640(machine_config &config);
void ppc512(machine_config &config);
+ void pc200_io(address_map &map);
+ void pc2086_map(address_map &map);
+ void ppc512_io(address_map &map);
+ void ppc640_map(address_map &map);
};
-static ADDRESS_MAP_START( ppc640_map, AS_PROGRAM, 16, amstrad_pc_state )
+ADDRESS_MAP_START(amstrad_pc_state::ppc640_map)
AM_RANGE(0xf0000, 0xfffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc2086_map, AS_PROGRAM, 16, amstrad_pc_state )
+ADDRESS_MAP_START(amstrad_pc_state::pc2086_map)
AM_RANGE(0xc0000, 0xc9fff) AM_ROM AM_REGION("bios", 0)
AM_RANGE(0xf0000, 0xfffff) AM_ROM AM_REGION("bios", 0x10000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(pc200_io, AS_IO, 16, amstrad_pc_state )
+ADDRESS_MAP_START(amstrad_pc_state::pc200_io)
AM_RANGE(0x0000, 0x00ff) AM_DEVICE8("mb", pc_noppi_mb_device, map, 0xffff)
AM_RANGE(0x0060, 0x0065) AM_READWRITE8(pc1640_port60_r, pc1640_port60_w, 0xffff)
AM_RANGE(0x0078, 0x0079) AM_READWRITE8(pc1640_mouse_x_r, pc1640_mouse_x_w, 0xffff)
@@ -112,7 +116,7 @@ static ADDRESS_MAP_START(pc200_io, AS_IO, 16, amstrad_pc_state )
AM_RANGE(0x03bc, 0x03bf) AM_DEVREADWRITE8("lpt_0", pc_lpt_device, read, write, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(ppc512_io, AS_IO, 16, amstrad_pc_state )
+ADDRESS_MAP_START(amstrad_pc_state::ppc512_io)
AM_IMPORT_FROM(pc200_io)
AM_RANGE(0x0070, 0x0071) AM_DEVREADWRITE8("rtc", mc146818_device, read, write, 0xffff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/amstrad.cpp b/src/mame/drivers/amstrad.cpp
index 37e268f7466..e83284ec119 100644
--- a/src/mame/drivers/amstrad.cpp
+++ b/src/mame/drivers/amstrad.cpp
@@ -123,7 +123,7 @@ Some bugs left :
/* Memory is banked in 16k blocks. However, the multiface
pages the memory in 8k blocks! The ROM can
be paged into bank 0 and bank 3. */
-static ADDRESS_MAP_START(amstrad_mem, AS_PROGRAM, 8, amstrad_state )
+ADDRESS_MAP_START(amstrad_state::amstrad_mem)
AM_RANGE(0x00000, 0x01fff) AM_READ_BANK("bank1") AM_WRITE_BANK("bank9")
AM_RANGE(0x02000, 0x03fff) AM_READ_BANK("bank2") AM_WRITE_BANK("bank10")
AM_RANGE(0x04000, 0x05fff) AM_READ_BANK("bank3") AM_WRITE_BANK("bank11")
@@ -137,7 +137,7 @@ ADDRESS_MAP_END
/* I've handled the I/O ports in this way, because the ports
are not fully decoded by the CPC h/w. Doing it this way means
I can decode it myself and a lot of software should work */
-static ADDRESS_MAP_START(amstrad_io, AS_IO, 8, amstrad_state )
+ADDRESS_MAP_START(amstrad_state::amstrad_io)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(amstrad_cpc_io_r, amstrad_cpc_io_w )
ADDRESS_MAP_END
diff --git a/src/mame/drivers/amusco.cpp b/src/mame/drivers/amusco.cpp
index ca83c71a86c..a8c55d35b72 100644
--- a/src/mame/drivers/amusco.cpp
+++ b/src/mame/drivers/amusco.cpp
@@ -129,6 +129,8 @@ public:
DECLARE_PALETTE_INIT(amusco);
void amusco(machine_config &config);
void draw88pkr(machine_config &config);
+ void amusco_io_map(address_map &map);
+ void amusco_mem_map(address_map &map);
protected:
virtual void video_start() override;
virtual void machine_start() override;
@@ -197,7 +199,7 @@ void amusco_state::machine_start()
* Memory Map Information *
*************************/
-static ADDRESS_MAP_START( amusco_mem_map, AS_PROGRAM, 8, amusco_state )
+ADDRESS_MAP_START(amusco_state::amusco_mem_map)
AM_RANGE(0x00000, 0x0ffff) AM_RAM
AM_RANGE(0xf8000, 0xfffff) AM_ROM
ADDRESS_MAP_END
@@ -356,7 +358,7 @@ WRITE8_MEMBER(amusco_state::rtc_control_w)
m_rtc->read_w(BIT(data, 4));
}
-static ADDRESS_MAP_START( amusco_io_map, AS_IO, 8, amusco_state )
+ADDRESS_MAP_START(amusco_state::amusco_io_map)
AM_RANGE(0x0000, 0x0001) AM_READWRITE(mc6845_r, mc6845_w)
AM_RANGE(0x0010, 0x0011) AM_DEVWRITE("pic8259", pic8259_device, write)
AM_RANGE(0x0020, 0x0023) AM_DEVWRITE("pit8253", pit8253_device, write)
diff --git a/src/mame/drivers/amust.cpp b/src/mame/drivers/amust.cpp
index fbba23ce7a3..bf770d4e8ba 100644
--- a/src/mame/drivers/amust.cpp
+++ b/src/mame/drivers/amust.cpp
@@ -132,6 +132,8 @@ public:
MC6845_UPDATE_ROW(crtc_update_row);
void amust(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
u8 m_port04;
u8 m_port06;
@@ -172,13 +174,13 @@ void amust_state::device_timer(emu_timer &timer, device_timer_id id, int param,
// floppy->ss_w(BIT(data, 4));
//}
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, amust_state )
+ADDRESS_MAP_START(amust_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xffff) AM_READ_BANK("bankr0") AM_WRITE_BANK("bankw0")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, amust_state )
+ADDRESS_MAP_START(amust_state::io_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("uart1", i8251_device, data_r, data_w)
diff --git a/src/mame/drivers/anes.cpp b/src/mame/drivers/anes.cpp
index 2f223df67ea..f09051f21bb 100644
--- a/src/mame/drivers/anes.cpp
+++ b/src/mame/drivers/anes.cpp
@@ -42,6 +42,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void anes(machine_config &config);
+ void io_map(address_map &map);
+ void prg_map(address_map &map);
protected:
virtual void machine_start() override;
@@ -74,12 +76,12 @@ WRITE8_MEMBER(anes_state::blit_trigger_w)
//printf("%02x%02x%02x\n",m_vram_offset[0],m_vram_offset[1],m_vram_offset[2]);
}
-static ADDRESS_MAP_START( prg_map, AS_PROGRAM, 8, anes_state )
+ADDRESS_MAP_START(anes_state::prg_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, anes_state )
+ADDRESS_MAP_START(anes_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
diff --git a/src/mame/drivers/angelkds.cpp b/src/mame/drivers/angelkds.cpp
index 8fd41668baf..4621014362a 100644
--- a/src/mame/drivers/angelkds.cpp
+++ b/src/mame/drivers/angelkds.cpp
@@ -165,7 +165,7 @@ contain a level.
*/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, angelkds_state )
+ADDRESS_MAP_START(angelkds_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xdfff) AM_RAM
@@ -184,12 +184,12 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, angelkds_state )
AM_RANGE(0xf005, 0xf005) AM_WRITE(angelkds_layer_ctrl_write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, angelkds_state )
+ADDRESS_MAP_START(angelkds_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_SHARE("decrypted_opcodes")
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_portmap, AS_IO, 8, angelkds_state )
+ADDRESS_MAP_START(angelkds_state::main_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITENOP // 00 on start-up, not again
@@ -205,7 +205,7 @@ ADDRESS_MAP_END
/* sub cpu */
-static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 8, angelkds_state )
+ADDRESS_MAP_START(angelkds_state::sub_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xaaa9, 0xaaa9) AM_READNOP
@@ -213,7 +213,7 @@ static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 8, angelkds_state )
AM_RANGE(0xaaac, 0xaaac) AM_READNOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sub_portmap, AS_IO, 8, angelkds_state )
+ADDRESS_MAP_START(angelkds_state::sub_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
AM_RANGE(0x40, 0x41) AM_DEVREADWRITE("ym2", ym2203_device, read, write)
@@ -571,7 +571,7 @@ MACHINE_CONFIG_DERIVED(angelkds_state::spcpostn, angelkds)
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_IO_MAP(main_portmap)
MCFG_CPU_VBLANK_INT_DRIVER("screen", angelkds_state, irq0_line_hold)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_SEGAZ80_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/anzterm.cpp b/src/mame/drivers/anzterm.cpp
index eb491fa3a4a..6e588e1f21b 100644
--- a/src/mame/drivers/anzterm.cpp
+++ b/src/mame/drivers/anzterm.cpp
@@ -368,6 +368,7 @@ public:
return 0;
}
void anzterm(machine_config &config);
+ void anzterm(address_map &map);
};
@@ -400,7 +401,7 @@ GFXDECODE_START( anzterm )
GFXDECODE_END
-ADDRESS_MAP_START( anzterm, AS_PROGRAM, 8, anzterm_state )
+ADDRESS_MAP_START(anzterm_state::anzterm)
// There are two battery-backed 2kB SRAM chips with a 4kb SRAM chip for parity
// There are two 64kB DRAM banks (with parity)
// There's also a whole lot of ROM
diff --git a/src/mame/drivers/apc.cpp b/src/mame/drivers/apc.cpp
index a02ba94bcf1..0b9aac3a046 100644
--- a/src/mame/drivers/apc.cpp
+++ b/src/mame/drivers/apc.cpp
@@ -154,6 +154,10 @@ public:
UPD7220_DRAW_TEXT_LINE_MEMBER( hgdc_draw_text );
void apc(machine_config &config);
+ void apc_io(address_map &map);
+ void apc_map(address_map &map);
+ void upd7220_1_map(address_map &map);
+ void upd7220_2_map(address_map &map);
protected:
// driver_device overrides
virtual void machine_start() override;
@@ -464,7 +468,7 @@ RTC write bits: 76543210
m_rtc->oe_w(1);
}
-static ADDRESS_MAP_START( apc_map, AS_PROGRAM, 16, apc_state )
+ADDRESS_MAP_START(apc_state::apc_map)
AM_RANGE(0x00000, 0x9ffff) AM_RAM
AM_RANGE(0xa0000, 0xa0fff) AM_RAM AM_SHARE("cmos")
// AM_RANGE(0xa1000, 0xbffff) mirror CMOS
@@ -474,7 +478,7 @@ static ADDRESS_MAP_START( apc_map, AS_PROGRAM, 16, apc_state )
AM_RANGE(0xfe000, 0xfffff) AM_ROM AM_REGION("ipl", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( apc_io, AS_IO, 16, apc_state )
+ADDRESS_MAP_START(apc_state::apc_io)
// ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x1f) AM_READWRITE8(apc_dma_r, apc_dma_w,0xff00)
AM_RANGE(0x20, 0x23) AM_DEVREADWRITE8("pic8259_master", pic8259_device, read, write, 0x00ff) // i8259
@@ -786,11 +790,11 @@ GFXDECODE_END
-static ADDRESS_MAP_START( upd7220_1_map, 0, 16, apc_state)
+ADDRESS_MAP_START(apc_state::upd7220_1_map)
AM_RANGE(0x00000, 0x3ffff) AM_RAM AM_SHARE("video_ram_1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( upd7220_2_map, 0, 16, apc_state )
+ADDRESS_MAP_START(apc_state::upd7220_2_map)
AM_RANGE(0x00000, 0x3ffff) AM_RAM AM_SHARE("video_ram_2")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/apexc.cpp b/src/mame/drivers/apexc.cpp
index 95443f9ddbc..a1804dde795 100644
--- a/src/mame/drivers/apexc.cpp
+++ b/src/mame/drivers/apexc.cpp
@@ -53,6 +53,7 @@ public:
required_device<palette_device> m_palette;
required_device<screen_device> m_screen;
void apexc(machine_config &config);
+ void apexc_mem_map(address_map &map);
};
void apexc_state::machine_start()
@@ -843,7 +844,7 @@ static GFXDECODE_START( apexc )
GFXDECODE_END
-static ADDRESS_MAP_START(apexc_mem_map, AS_PROGRAM, 32, apexc_state )
+ADDRESS_MAP_START(apexc_state::apexc_mem_map)
#if 0
AM_RANGE(0x0000, 0x03ff) AM_RAM /* 1024 32-bit words (expandable to 8192) */
AM_RANGE(0x0400, 0x1fff) AM_NOP
diff --git a/src/mame/drivers/apf.cpp b/src/mame/drivers/apf.cpp
index d381df67c79..64973311355 100644
--- a/src/mame/drivers/apf.cpp
+++ b/src/mame/drivers/apf.cpp
@@ -123,6 +123,8 @@ public:
void apfm1000(machine_config &config);
void apfimag(machine_config &config);
+ void apfimag_map(address_map &map);
+ void apfm1000_map(address_map &map);
private:
uint8_t m_latch;
uint8_t m_keyboard_data;
@@ -312,7 +314,7 @@ WRITE8_MEMBER( apf_state::serial_w)
logerror("serial w %04x %04x\n",offset,data);
}
-static ADDRESS_MAP_START( apfm1000_map, AS_PROGRAM, 8, apf_state )
+ADDRESS_MAP_START(apf_state::apfm1000_map)
AM_RANGE(0x0000, 0x03ff) AM_MIRROR(0x1c00) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x2000, 0x2003) AM_MIRROR(0x1ffc) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
AM_RANGE(0x4000, 0x4fff) AM_MIRROR(0x1000) AM_ROM AM_REGION("roms", 0)
@@ -321,7 +323,7 @@ static ADDRESS_MAP_START( apfm1000_map, AS_PROGRAM, 8, apf_state )
AM_RANGE(0xe000, 0xefff) AM_MIRROR(0x1000) AM_ROM AM_REGION("roms", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( apfimag_map, AS_PROGRAM, 8, apf_state )
+ADDRESS_MAP_START(apf_state::apfimag_map)
AM_IMPORT_FROM(apfm1000_map)
AM_RANGE(0x6000, 0x6003) AM_MIRROR(0x03fc) AM_DEVREADWRITE("pia1", pia6821_device, read, write)
// These need to be confirmed, disk does not work
diff --git a/src/mame/drivers/apogee.cpp b/src/mame/drivers/apogee.cpp
index 8ccee7f2fb3..707632de396 100644
--- a/src/mame/drivers/apogee.cpp
+++ b/src/mame/drivers/apogee.cpp
@@ -43,11 +43,12 @@ public:
required_device<speaker_sound_device> m_speaker;
void apogee(machine_config &config);
+ void apogee_mem(address_map &map);
};
/* Address maps */
-static ADDRESS_MAP_START(apogee_mem, AS_PROGRAM, 8, apogee_state )
+ADDRESS_MAP_START(apogee_state::apogee_mem)
AM_RANGE( 0x0000, 0x0fff ) AM_RAMBANK("bank1") // First bank
AM_RANGE( 0x1000, 0xebff ) AM_RAM // RAM
AM_RANGE( 0xec00, 0xec03 ) AM_DEVREADWRITE("pit8253", pit8253_device, read, write) AM_MIRROR(0x00fc)
diff --git a/src/mame/drivers/apollo.cpp b/src/mame/drivers/apollo.cpp
index 0d9f540f1f3..f4aac203fbb 100644
--- a/src/mame/drivers/apollo.cpp
+++ b/src/mame/drivers/apollo.cpp
@@ -678,7 +678,7 @@ WRITE32_MEMBER(apollo_state::apollo_f8_w){
ADDRESS MAPS
***************************************************************************/
-static ADDRESS_MAP_START(dn3500_map, AS_PROGRAM, 32, apollo_state )
+ADDRESS_MAP_START(apollo_state::dn3500_map)
AM_RANGE(0x00000000, 0xffffffff) AM_READWRITE(apollo_unmapped_r, apollo_unmapped_w)
AM_RANGE(0x000000, 0x00ffff) AM_ROM /* boot ROM */
@@ -722,7 +722,7 @@ static ADDRESS_MAP_START(dn3500_map, AS_PROGRAM, 32, apollo_state )
// AM_RANGE(0xf8000000, 0xffffffff) AM_READWRITE(apollo_f8_r, apollo_f8_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(dsp3500_map, AS_PROGRAM, 32, apollo_state )
+ADDRESS_MAP_START(apollo_state::dsp3500_map)
AM_RANGE(0x00000000, 0xffffffff) AM_READWRITE(apollo_unmapped_r, apollo_unmapped_w)
AM_RANGE(0x000000, 0x00ffff) AM_ROM /* boot ROM */
AM_RANGE(0x000000, 0x00ffff) AM_WRITE(apollo_rom_w)
@@ -754,7 +754,7 @@ static ADDRESS_MAP_START(dsp3500_map, AS_PROGRAM, 32, apollo_state )
// AM_RANGE(0xf8000000, 0xffffffff) AM_READWRITE(apollo_f8_r, apollo_f8_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(dn3000_map, AS_PROGRAM, 32, apollo_state )
+ADDRESS_MAP_START(apollo_state::dn3000_map)
AM_RANGE(0x000000, 0xffffff) AM_READWRITE(apollo_unmapped_r, apollo_unmapped_w)
AM_RANGE(0x000000, 0x007fff) AM_ROM /* boot ROM */
@@ -786,7 +786,7 @@ static ADDRESS_MAP_START(dn3000_map, AS_PROGRAM, 32, apollo_state )
AM_RANGE(0x0a0000, 0x0bffff) AM_DEVREADWRITE16(APOLLO_SCREEN_TAG, apollo_graphics_15i, apollo_cgm_r, apollo_cgm_w, 0xffffffff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(dsp3000_map, AS_PROGRAM, 32, apollo_state )
+ADDRESS_MAP_START(apollo_state::dsp3000_map)
AM_RANGE(0x000000, 0xffffff) AM_READWRITE(apollo_unmapped_r, apollo_unmapped_w)
AM_RANGE(0x000000, 0x007fff) AM_ROM /* boot ROM */
@@ -815,7 +815,7 @@ static ADDRESS_MAP_START(dsp3000_map, AS_PROGRAM, 32, apollo_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START(dn5500_map, AS_PROGRAM, 32, apollo_state )
+ADDRESS_MAP_START(apollo_state::dn5500_map)
AM_RANGE(0x00000000, 0xffffffff) AM_READWRITE(apollo_unmapped_r, apollo_unmapped_w)
AM_RANGE(0x000000, 0x00ffff) AM_ROM /* boot ROM */
AM_RANGE(0x000000, 0x00ffff) AM_WRITE(apollo_rom_w)
@@ -861,7 +861,7 @@ static ADDRESS_MAP_START(dn5500_map, AS_PROGRAM, 32, apollo_state )
// AM_RANGE(0xf8000000, 0xffffffff) AM_READWRITE(apollo_f8_r, apollo_f8_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(dsp5500_map, AS_PROGRAM, 32, apollo_state )
+ADDRESS_MAP_START(apollo_state::dsp5500_map)
AM_RANGE(0x00000000, 0xffffffff) AM_READWRITE(apollo_unmapped_r, apollo_unmapped_w)
AM_RANGE(0x000000, 0x00ffff) AM_ROM /* boot ROM */
AM_RANGE(0x000000, 0x00ffff) AM_WRITE(apollo_rom_w)
diff --git a/src/mame/drivers/apple1.cpp b/src/mame/drivers/apple1.cpp
index 903a3b598c6..46396fcc91e 100644
--- a/src/mame/drivers/apple1.cpp
+++ b/src/mame/drivers/apple1.cpp
@@ -127,6 +127,7 @@ public:
TIMER_CALLBACK_MEMBER(keyboard_strobe_cb);
void apple1(machine_config &config);
+ void apple1_map(address_map &map);
private:
uint8_t *m_ram_ptr, *m_char_ptr;
int m_ram_size, m_char_size;
@@ -426,7 +427,7 @@ WRITE8_MEMBER(apple1_state::ram_w)
}
}
-static ADDRESS_MAP_START( apple1_map, AS_PROGRAM, 8, apple1_state )
+ADDRESS_MAP_START(apple1_state::apple1_map)
AM_RANGE(0x0000, 0xbfff) AM_READWRITE(ram_r, ram_w)
AM_RANGE(0xd010, 0xd013) AM_MIRROR(0x0fec) AM_DEVREADWRITE(A1_PIA_TAG, pia6821_device, read, write)
AM_RANGE(0xe000, 0xefff) AM_RAM AM_SHARE(A1_BASICRAM_TAG)
diff --git a/src/mame/drivers/apple2.cpp b/src/mame/drivers/apple2.cpp
index bdd1d117e87..a6b95ef52ae 100644
--- a/src/mame/drivers/apple2.cpp
+++ b/src/mame/drivers/apple2.cpp
@@ -189,6 +189,8 @@ public:
void apple2(machine_config &config);
void space84(machine_config &config);
void apple2p(machine_config &config);
+ void apple2_map(address_map &map);
+ void inhbank_map(address_map &map);
private:
int m_speaker_state;
int m_cassette_state;
@@ -948,7 +950,7 @@ WRITE8_MEMBER(napple2_state::ram_w)
}
}
-static ADDRESS_MAP_START( apple2_map, AS_PROGRAM, 8, napple2_state )
+ADDRESS_MAP_START(napple2_state::apple2_map)
AM_RANGE(0x0000, 0xbfff) AM_READWRITE(ram_r, ram_w)
AM_RANGE(0xc000, 0xc000) AM_MIRROR(0xf) AM_READ(keyb_data_r) AM_WRITENOP
AM_RANGE(0xc010, 0xc010) AM_MIRROR(0xf) AM_READWRITE(keyb_strobe_r, keyb_strobe_w)
@@ -964,7 +966,7 @@ static ADDRESS_MAP_START( apple2_map, AS_PROGRAM, 8, napple2_state )
AM_RANGE(0xd000, 0xffff) AM_DEVICE(A2_UPPERBANK_TAG, address_map_bank_device, amap8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( inhbank_map, AS_PROGRAM, 8, napple2_state )
+ADDRESS_MAP_START(napple2_state::inhbank_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM AM_REGION("maincpu", 0x1000) AM_WRITE(inh_w)
AM_RANGE(0x3000, 0x5fff) AM_READWRITE(inh_r, inh_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/apple2e.cpp b/src/mame/drivers/apple2e.cpp
index b5cc3e937b8..8544b8d9d8e 100644
--- a/src/mame/drivers/apple2e.cpp
+++ b/src/mame/drivers/apple2e.cpp
@@ -374,6 +374,23 @@ public:
void apple2c(machine_config &config);
void tk3000(machine_config &config);
void apple2ee(machine_config &config);
+ void apple2c_map(address_map &map);
+ void apple2c_memexp_map(address_map &map);
+ void apple2e_map(address_map &map);
+ void c100bank_map(address_map &map);
+ void c300bank_map(address_map &map);
+ void c400bank_map(address_map &map);
+ void c800bank_map(address_map &map);
+ void inhbank_map(address_map &map);
+ void laser128_map(address_map &map);
+ void lcbank_map(address_map &map);
+ void r0000bank_map(address_map &map);
+ void r0200bank_map(address_map &map);
+ void r0400bank_map(address_map &map);
+ void r0800bank_map(address_map &map);
+ void r2000bank_map(address_map &map);
+ void r4000bank_map(address_map &map);
+ void spectred_keyb_map(address_map &map);
private:
int m_speaker_state;
int m_cassette_state, m_cassette_out;
@@ -2672,7 +2689,7 @@ WRITE8_MEMBER(apple2e_state::auxram2000_w) { if (m_aux_bank_ptr) { m_aux_bank_pt
READ8_MEMBER(apple2e_state::auxram4000_r) { if (m_aux_bank_ptr) { return m_aux_bank_ptr[offset+0x4000]; } else { return read_floatingbus(); } }
WRITE8_MEMBER(apple2e_state::auxram4000_w) { if (m_aux_bank_ptr) { m_aux_bank_ptr[offset+0x4000] = data; } }
-static ADDRESS_MAP_START( apple2e_map, AS_PROGRAM, 8, apple2e_state )
+ADDRESS_MAP_START(apple2e_state::apple2e_map)
AM_RANGE(0x0000, 0x01ff) AM_DEVICE(A2_0000_TAG, address_map_bank_device, amap8)
AM_RANGE(0x0200, 0x03ff) AM_DEVICE(A2_0200_TAG, address_map_bank_device, amap8)
AM_RANGE(0x0400, 0x07ff) AM_DEVICE(A2_0400_TAG, address_map_bank_device, amap8)
@@ -2688,7 +2705,7 @@ static ADDRESS_MAP_START( apple2e_map, AS_PROGRAM, 8, apple2e_state )
AM_RANGE(0xd000, 0xffff) AM_DEVICE(A2_UPPERBANK_TAG, address_map_bank_device, amap8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( apple2c_map, AS_PROGRAM, 8, apple2e_state )
+ADDRESS_MAP_START(apple2e_state::apple2c_map)
AM_RANGE(0x0000, 0x01ff) AM_DEVICE(A2_0000_TAG, address_map_bank_device, amap8)
AM_RANGE(0x0200, 0x03ff) AM_DEVICE(A2_0200_TAG, address_map_bank_device, amap8)
AM_RANGE(0x0400, 0x07ff) AM_DEVICE(A2_0400_TAG, address_map_bank_device, amap8)
@@ -2706,7 +2723,7 @@ static ADDRESS_MAP_START( apple2c_map, AS_PROGRAM, 8, apple2e_state )
AM_RANGE(0xd000, 0xffff) AM_DEVICE(A2_UPPERBANK_TAG, address_map_bank_device, amap8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( apple2c_memexp_map, AS_PROGRAM, 8, apple2e_state )
+ADDRESS_MAP_START(apple2e_state::apple2c_memexp_map)
AM_RANGE(0x0000, 0x01ff) AM_DEVICE(A2_0000_TAG, address_map_bank_device, amap8)
AM_RANGE(0x0200, 0x03ff) AM_DEVICE(A2_0200_TAG, address_map_bank_device, amap8)
AM_RANGE(0x0400, 0x07ff) AM_DEVICE(A2_0400_TAG, address_map_bank_device, amap8)
@@ -2725,7 +2742,7 @@ static ADDRESS_MAP_START( apple2c_memexp_map, AS_PROGRAM, 8, apple2e_state )
AM_RANGE(0xd000, 0xffff) AM_DEVICE(A2_UPPERBANK_TAG, address_map_bank_device, amap8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( laser128_map, AS_PROGRAM, 8, apple2e_state )
+ADDRESS_MAP_START(apple2e_state::laser128_map)
AM_RANGE(0x0000, 0x01ff) AM_DEVICE(A2_0000_TAG, address_map_bank_device, amap8)
AM_RANGE(0x0200, 0x03ff) AM_DEVICE(A2_0200_TAG, address_map_bank_device, amap8)
AM_RANGE(0x0400, 0x07ff) AM_DEVICE(A2_0400_TAG, address_map_bank_device, amap8)
@@ -2745,40 +2762,40 @@ static ADDRESS_MAP_START( laser128_map, AS_PROGRAM, 8, apple2e_state )
AM_RANGE(0xd000, 0xffff) AM_DEVICE(A2_UPPERBANK_TAG, address_map_bank_device, amap8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( r0000bank_map, AS_PROGRAM, 8, apple2e_state )
+ADDRESS_MAP_START(apple2e_state::r0000bank_map)
AM_RANGE(0x0000, 0x01ff) AM_READWRITE(ram0000_r, ram0000_w)
AM_RANGE(0x0200, 0x03ff) AM_READWRITE(auxram0000_r, auxram0000_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( r0200bank_map, AS_PROGRAM, 8, apple2e_state )
+ADDRESS_MAP_START(apple2e_state::r0200bank_map)
AM_RANGE(0x0000, 0x01ff) AM_READWRITE(ram0200_r, ram0200_w) // wr 0 rd 0
AM_RANGE(0x0200, 0x03ff) AM_READWRITE(auxram0200_r, ram0200_w) // wr 0 rd 1
AM_RANGE(0x0400, 0x05ff) AM_READWRITE(ram0200_r, auxram0200_w) // wr 1 rd 0
AM_RANGE(0x0600, 0x07ff) AM_READWRITE(auxram0200_r, auxram0200_w) // wr 1 rd 1
ADDRESS_MAP_END
-static ADDRESS_MAP_START( r0400bank_map, AS_PROGRAM, 8, apple2e_state )
+ADDRESS_MAP_START(apple2e_state::r0400bank_map)
AM_RANGE(0x0000, 0x03ff) AM_READWRITE(ram0400_r, ram0400_w) // wr 0 rd 0
AM_RANGE(0x0400, 0x07ff) AM_READWRITE(auxram0400_r, ram0400_w) // wr 0 rd 1
AM_RANGE(0x0800, 0x0bff) AM_READWRITE(ram0400_r, auxram0400_w) // wr 1 rd 0
AM_RANGE(0x0c00, 0x0fff) AM_READWRITE(auxram0400_r, auxram0400_w) // wr 1 rd 1
ADDRESS_MAP_END
-static ADDRESS_MAP_START( r0800bank_map, AS_PROGRAM, 8, apple2e_state )
+ADDRESS_MAP_START(apple2e_state::r0800bank_map)
AM_RANGE(0x0000, 0x17ff) AM_READWRITE(ram0800_r, ram0800_w)
AM_RANGE(0x2000, 0x37ff) AM_READWRITE(auxram0800_r, ram0800_w)
AM_RANGE(0x4000, 0x57ff) AM_READWRITE(ram0800_r, auxram0800_w)
AM_RANGE(0x6000, 0x77ff) AM_READWRITE(auxram0800_r, auxram0800_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( r2000bank_map, AS_PROGRAM, 8, apple2e_state )
+ADDRESS_MAP_START(apple2e_state::r2000bank_map)
AM_RANGE(0x0000, 0x1fff) AM_READWRITE(ram2000_r, ram2000_w)
AM_RANGE(0x2000, 0x3fff) AM_READWRITE(auxram2000_r, ram2000_w)
AM_RANGE(0x4000, 0x5fff) AM_READWRITE(ram2000_r, auxram2000_w)
AM_RANGE(0x6000, 0x7fff) AM_READWRITE(auxram2000_r, auxram2000_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( r4000bank_map, AS_PROGRAM, 8, apple2e_state )
+ADDRESS_MAP_START(apple2e_state::r4000bank_map)
AM_RANGE(0x00000, 0x07fff) AM_READWRITE(ram4000_r, ram4000_w)
AM_RANGE(0x08000, 0x0ffff) AM_READWRITE(auxram4000_r, ram4000_w)
AM_RANGE(0x10000, 0x17fff) AM_READWRITE(ram4000_r, auxram4000_w)
@@ -2787,7 +2804,7 @@ static ADDRESS_MAP_START( r4000bank_map, AS_PROGRAM, 8, apple2e_state )
AM_RANGE(0x24000, 0x27fff) AM_READWRITE(cec8000_r, ram8000_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( c100bank_map, AS_PROGRAM, 8, apple2e_state )
+ADDRESS_MAP_START(apple2e_state::c100bank_map)
AM_RANGE(0x0000, 0x01ff) AM_READWRITE(c100_r, c100_w)
AM_RANGE(0x0200, 0x03ff) AM_READ(c100_int_r) AM_WRITENOP
AM_RANGE(0x0400, 0x05ff) AM_READ(c100_int_bank_r) AM_WRITENOP
@@ -2796,7 +2813,7 @@ static ADDRESS_MAP_START( c100bank_map, AS_PROGRAM, 8, apple2e_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( c300bank_map, AS_PROGRAM, 8, apple2e_state )
+ADDRESS_MAP_START(apple2e_state::c300bank_map)
AM_RANGE(0x0000, 0x00ff) AM_READWRITE(c300_r, c300_w)
AM_RANGE(0x0100, 0x01ff) AM_READ(c300_int_r) AM_WRITENOP
AM_RANGE(0x0200, 0x02ff) AM_READ(c300_int_bank_r) AM_WRITENOP
@@ -2804,7 +2821,7 @@ static ADDRESS_MAP_START( c300bank_map, AS_PROGRAM, 8, apple2e_state )
AM_RANGE(0x0400, 0x04ff) AM_READ(c300_cec_bank_r) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( c400bank_map, AS_PROGRAM, 8, apple2e_state )
+ADDRESS_MAP_START(apple2e_state::c400bank_map)
AM_RANGE(0x0000, 0x03ff) AM_READWRITE(c400_r, c400_w)
AM_RANGE(0x0400, 0x07ff) AM_READWRITE(c400_int_r, c400_w)
AM_RANGE(0x0800, 0x0bff) AM_READWRITE(c400_int_bank_r, c400_w)
@@ -2812,7 +2829,7 @@ static ADDRESS_MAP_START( c400bank_map, AS_PROGRAM, 8, apple2e_state )
AM_RANGE(0x1000, 0x13ff) AM_READ(c400_cec_bank_r) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( c800bank_map, AS_PROGRAM, 8, apple2e_state )
+ADDRESS_MAP_START(apple2e_state::c800bank_map)
AM_RANGE(0x0000, 0x07ff) AM_READWRITE(c800_r, c800_w)
AM_RANGE(0x0800, 0x0fff) AM_READWRITE(c800_int_r, c800_w)
AM_RANGE(0x1000, 0x17ff) AM_READWRITE(c800_b2_int_r, c800_w)
@@ -2820,12 +2837,12 @@ static ADDRESS_MAP_START( c800bank_map, AS_PROGRAM, 8, apple2e_state )
AM_RANGE(0x2000, 0x27ff) AM_READ(c800_cec_bank_r) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( inhbank_map, AS_PROGRAM, 8, apple2e_state )
+ADDRESS_MAP_START(apple2e_state::inhbank_map)
AM_RANGE(0x0000, 0x2fff) AM_DEVICE(A2_LCBANK_TAG, address_map_bank_device, amap8)
AM_RANGE(0x3000, 0x5fff) AM_READWRITE(inh_r, inh_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lcbank_map, AS_PROGRAM, 8, apple2e_state )
+ADDRESS_MAP_START(apple2e_state::lcbank_map)
AM_RANGE(0x00000, 0x02fff) AM_ROM AM_REGION("maincpu", 0x1000) AM_WRITE(lc_w)
AM_RANGE(0x03000, 0x05fff) AM_READWRITE(lc_r, lc_w)
AM_RANGE(0x06000, 0x08fff) AM_READWRITE(lc_romswitch_r, lc_romswitch_w)
@@ -2834,7 +2851,7 @@ static ADDRESS_MAP_START( lcbank_map, AS_PROGRAM, 8, apple2e_state )
AM_RANGE(0x0f000, 0x11fff) AM_ROM AM_REGION("maincpu", 0xd000) AM_WRITE(lc_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spectred_keyb_map, AS_PROGRAM, 8, apple2e_state )
+ADDRESS_MAP_START(apple2e_state::spectred_keyb_map)
AM_RANGE(0x0000, 0x07ff) AM_ROM
AM_RANGE(0x0800, 0x0fff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/apple2gs.cpp b/src/mame/drivers/apple2gs.cpp
index e1ece633c59..82d6bdf3348 100644
--- a/src/mame/drivers/apple2gs.cpp
+++ b/src/mame/drivers/apple2gs.cpp
@@ -182,7 +182,7 @@ static const floppy_interface apple2gs_floppy525_floppy_interface =
};
-static ADDRESS_MAP_START( apple2gs_map, AS_PROGRAM, 8, apple2gs_state )
+ADDRESS_MAP_START(apple2gs_state::apple2gs_map)
/* nothing in the address map - everything is added dynamically */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/apple3.cpp b/src/mame/drivers/apple3.cpp
index 879a30c77fb..53988c5389b 100644
--- a/src/mame/drivers/apple3.cpp
+++ b/src/mame/drivers/apple3.cpp
@@ -33,7 +33,7 @@
#include "softlist.h"
#include "speaker.h"
-static ADDRESS_MAP_START( apple3_map, AS_PROGRAM, 8, apple3_state )
+ADDRESS_MAP_START(apple3_state::apple3_map)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(apple3_memory_r, apple3_memory_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/applix.cpp b/src/mame/drivers/applix.cpp
index bfe3dfcf0d8..05741befb69 100644
--- a/src/mame/drivers/applix.cpp
+++ b/src/mame/drivers/applix.cpp
@@ -144,6 +144,11 @@ public:
uint8_t m_palette_latch[4];
required_shared_ptr<uint16_t> m_base;
void applix(machine_config &config);
+ void applix_mem(address_map &map);
+ void keytronic_pc3270_io(address_map &map);
+ void keytronic_pc3270_program(address_map &map);
+ void subcpu_io(address_map &map);
+ void subcpu_mem(address_map &map);
private:
uint8_t m_pb;
uint8_t m_analog_latch;
@@ -439,7 +444,7 @@ WRITE16_MEMBER( applix_state::fdc_cmd_w )
m_data_or_cmd = 1;
}
-static ADDRESS_MAP_START(applix_mem, AS_PROGRAM, 16, applix_state)
+ADDRESS_MAP_START(applix_state::applix_mem)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xffffff)
AM_RANGE(0x000000, 0x3fffff) AM_RAM AM_SHARE("expansion") // Expansion
@@ -464,13 +469,13 @@ static ADDRESS_MAP_START(applix_mem, AS_PROGRAM, 16, applix_state)
//FFFFC0, FFFFFF disk controller board
ADDRESS_MAP_END
-static ADDRESS_MAP_START( subcpu_mem, AS_PROGRAM, 8, applix_state )
+ADDRESS_MAP_START(applix_state::subcpu_mem)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0xffff) AM_RAMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( subcpu_io, AS_IO, 8, applix_state )
+ADDRESS_MAP_START(applix_state::subcpu_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x07) AM_READ(port00_r) //PORTR
AM_RANGE(0x08, 0x0f) AM_READWRITE(port08_r,port08_w) //Disk select
@@ -481,11 +486,11 @@ static ADDRESS_MAP_START( subcpu_io, AS_IO, 8, applix_state )
AM_RANGE(0x60, 0x63) AM_MIRROR(0x1c) AM_READWRITE(port60_r,port60_w) //anotherZ80SCC
ADDRESS_MAP_END
-static ADDRESS_MAP_START( keytronic_pc3270_program, AS_PROGRAM, 8, applix_state )
+ADDRESS_MAP_START(applix_state::keytronic_pc3270_program)
AM_RANGE(0x0000, 0x0fff) AM_ROM AM_REGION("kbdcpu", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( keytronic_pc3270_io, AS_IO, 8, applix_state )
+ADDRESS_MAP_START(applix_state::keytronic_pc3270_io)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(internal_data_read, internal_data_write)
AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_READWRITE(p1_read, p1_write)
AM_RANGE(MCS51_PORT_P2, MCS51_PORT_P2) AM_READWRITE(p2_read, p2_write)
diff --git a/src/mame/drivers/appoooh.cpp b/src/mame/drivers/appoooh.cpp
index 01da0719993..93b8dad8828 100644
--- a/src/mame/drivers/appoooh.cpp
+++ b/src/mame/drivers/appoooh.cpp
@@ -213,7 +213,7 @@ WRITE8_MEMBER(appoooh_state::adpcm_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, appoooh_state )
+ADDRESS_MAP_START(appoooh_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_ROM
AM_RANGE(0xa000, 0xdfff) AM_ROMBANK("bank1")
@@ -229,13 +229,13 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, appoooh_state )
AM_RANGE(0xfc20, 0xffff) AM_WRITE(bg_colorram_w) AM_SHARE("bg_colorram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, appoooh_state )
+ADDRESS_MAP_START(appoooh_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_SHARE("decrypted_opcodes")
AM_RANGE(0x8000, 0x9fff) AM_ROM AM_REGION("maincpu", 0x8000)
AM_RANGE(0xa000, 0xdfff) AM_ROMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_portmap, AS_IO, 8, appoooh_state )
+ADDRESS_MAP_START(appoooh_state::main_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("P1") AM_DEVWRITE("sn1", sn76489_device, write)
AM_RANGE(0x01, 0x01) AM_READ_PORT("P2") AM_DEVWRITE("sn2", sn76489_device, write)
@@ -466,7 +466,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(appoooh_state::robowres, appoooh_common)
MCFG_DEVICE_MODIFY("maincpu")
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -490,7 +490,7 @@ MACHINE_CONFIG_DERIVED(appoooh_state::robowrese, robowres)
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_IO_MAP(main_portmap)
MCFG_CPU_VBLANK_INT_DRIVER("screen", appoooh_state, vblank_irq)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_SEGAZ80_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/apricot.cpp b/src/mame/drivers/apricot.cpp
index 774d48d7058..14490c3cf9e 100644
--- a/src/mame/drivers/apricot.cpp
+++ b/src/mame/drivers/apricot.cpp
@@ -91,6 +91,8 @@ public:
void apricot(machine_config &config);
void apricotxi(machine_config &config);
+ void apricot_io(address_map &map);
+ void apricot_mem(address_map &map);
protected:
virtual void machine_start() override;
@@ -322,13 +324,13 @@ WRITE_LINE_MEMBER( apricot_state::i8086_lock_w )
// ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( apricot_mem, AS_PROGRAM, 16, apricot_state )
+ADDRESS_MAP_START(apricot_state::apricot_mem)
AM_RANGE(0x00000, 0x3ffff) AM_RAMBANK("ram")
AM_RANGE(0xf0000, 0xf0fff) AM_MIRROR(0x7000) AM_RAM AM_SHARE("screen_buffer")
AM_RANGE(0xf8000, 0xfbfff) AM_MIRROR(0x4000) AM_ROM AM_REGION("bootstrap", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( apricot_io, AS_IO, 16, apricot_state )
+ADDRESS_MAP_START(apricot_state::apricot_io)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE8("ic31", pic8259_device, read, write, 0x00ff)
AM_RANGE(0x40, 0x47) AM_DEVREADWRITE8("ic68", wd2797_device, read, write, 0x00ff)
AM_RANGE(0x48, 0x4f) AM_DEVREADWRITE8("ic17", i8255_device, read, write, 0x00ff)
diff --git a/src/mame/drivers/apricotf.cpp b/src/mame/drivers/apricotf.cpp
index 1a0369f40fd..ceaaa7b7e1a 100644
--- a/src/mame/drivers/apricotf.cpp
+++ b/src/mame/drivers/apricotf.cpp
@@ -104,6 +104,8 @@ public:
int m_40_80;
int m_200_256;
void act_f1(machine_config &config);
+ void act_f1_io(address_map &map);
+ void act_f1_mem(address_map &map);
};
@@ -249,7 +251,7 @@ void f1_state::machine_start()
// ADDRESS_MAP( act_f1_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( act_f1_mem, AS_PROGRAM, 16, f1_state )
+ADDRESS_MAP_START(f1_state::act_f1_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000, 0x01dff) AM_RAM
AM_RANGE(0x01e00, 0x01fff) AM_RAM AM_SHARE("p_scrollram")
@@ -263,7 +265,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( act_f1_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( act_f1_io, AS_IO, 16, f1_state )
+ADDRESS_MAP_START(f1_state::act_f1_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x000f) AM_WRITE8(system_w, 0xffff)
AM_RANGE(0x0010, 0x0017) AM_DEVREADWRITE8(Z80CTC_TAG, z80ctc_device, read, write, 0x00ff)
diff --git a/src/mame/drivers/apricotp.cpp b/src/mame/drivers/apricotp.cpp
index 38fb1e435d0..983fb95b892 100644
--- a/src/mame/drivers/apricotp.cpp
+++ b/src/mame/drivers/apricotp.cpp
@@ -155,6 +155,10 @@ public:
DECLARE_WRITE_LINE_MEMBER( write_centronics_fault );
DECLARE_WRITE_LINE_MEMBER( write_centronics_perror );
void fp(machine_config &config);
+ void fp_io(address_map &map);
+ void fp_mem(address_map &map);
+ void sound_io(address_map &map);
+ void sound_mem(address_map &map);
};
@@ -421,7 +425,7 @@ WRITE16_MEMBER( fp_state::mem_w )
// ADDRESS_MAP( fp_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( fp_mem, AS_PROGRAM, 16, fp_state )
+ADDRESS_MAP_START(fp_state::fp_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000, 0xf7fff) AM_READWRITE(mem_r, mem_w)
AM_RANGE(0xf8000, 0xfffff) AM_ROM AM_REGION(I8086_TAG, 0)
@@ -432,7 +436,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( fp_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( fp_io, AS_IO, 16, fp_state )
+ADDRESS_MAP_START(fp_state::fp_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000, 0x007) AM_DEVREADWRITE8(WD2797_TAG, wd2797_device, read, write, 0x00ff)
AM_RANGE(0x008, 0x00f) AM_DEVREADWRITE8(I8253A5_TAG, pit8253_device, read, write, 0x00ff)
@@ -455,7 +459,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( sound_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( sound_mem, AS_PROGRAM, 8, fp_state )
+ADDRESS_MAP_START(fp_state::sound_mem)
AM_RANGE(0xf000, 0xffff) AM_ROM AM_REGION(HD63B01V1_TAG, 0)
ADDRESS_MAP_END
@@ -464,7 +468,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( sound_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( sound_io, AS_IO, 8, fp_state )
+ADDRESS_MAP_START(fp_state::sound_io)
AM_RANGE(M6801_PORT1, M6801_PORT1)
AM_RANGE(M6801_PORT2, M6801_PORT2)
AM_RANGE(M6801_PORT3, M6801_PORT3)
diff --git a/src/mame/drivers/aquarium.cpp b/src/mame/drivers/aquarium.cpp
index f502b90a23d..86bb87cc2a6 100644
--- a/src/mame/drivers/aquarium.cpp
+++ b/src/mame/drivers/aquarium.cpp
@@ -99,7 +99,7 @@ WRITE8_MEMBER(aquarium_state::aquarium_oki_w)
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, aquarium_state )
+ADDRESS_MAP_START(aquarium_state::main_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0xc00000, 0xc00fff) AM_RAM_WRITE(aquarium_mid_videoram_w) AM_SHARE("mid_videoram")
AM_RANGE(0xc01000, 0xc01fff) AM_RAM_WRITE(aquarium_bak_videoram_w) AM_SHARE("bak_videoram")
@@ -117,13 +117,13 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, aquarium_state )
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( snd_map, AS_PROGRAM, 8, aquarium_state )
+ADDRESS_MAP_START(aquarium_state::snd_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x7800, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( snd_portmap, AS_IO, 8, aquarium_state )
+ADDRESS_MAP_START(aquarium_state::snd_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0x02, 0x02) AM_READWRITE(aquarium_oki_r, aquarium_oki_w)
diff --git a/src/mame/drivers/aquarius.cpp b/src/mame/drivers/aquarius.cpp
index 95977aca0a8..9b1ed1073aa 100644
--- a/src/mame/drivers/aquarius.cpp
+++ b/src/mame/drivers/aquarius.cpp
@@ -207,7 +207,7 @@ DRIVER_INIT_MEMBER(aquarius_state,aquarius)
ADDRESS MAPS
***************************************************************************/
-static ADDRESS_MAP_START( aquarius_mem, AS_PROGRAM, 8, aquarius_state )
+ADDRESS_MAP_START(aquarius_state::aquarius_mem)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x3000, 0x33ff) AM_RAM_WRITE(aquarius_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x3400, 0x37ff) AM_RAM_WRITE(aquarius_colorram_w) AM_SHARE("colorram")
@@ -216,7 +216,7 @@ static ADDRESS_MAP_START( aquarius_mem, AS_PROGRAM, 8, aquarius_state )
AM_RANGE(0xc000, 0xffff) AM_READ(cartridge_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( aquarius_io, AS_IO, 8, aquarius_state )
+ADDRESS_MAP_START(aquarius_state::aquarius_io)
// AM_RANGE(0x7e, 0x7f) AM_MIRROR(0xff00) AM_READWRITE(modem_r, modem_w)
AM_RANGE(0xf6, 0xf6) AM_MIRROR(0xff00) AM_DEVREADWRITE("ay8910", ay8910_device, data_r, data_w)
AM_RANGE(0xf7, 0xf7) AM_MIRROR(0xff00) AM_DEVWRITE("ay8910", ay8910_device, address_w)
diff --git a/src/mame/drivers/arabian.cpp b/src/mame/drivers/arabian.cpp
index d12ecc3ff8a..facfc026b49 100644
--- a/src/mame/drivers/arabian.cpp
+++ b/src/mame/drivers/arabian.cpp
@@ -211,7 +211,7 @@ WRITE8_MEMBER(arabian_state::mcu_port_p_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, arabian_state )
+ADDRESS_MAP_START(arabian_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_WRITE(arabian_videoram_w)
AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x01ff) AM_READ_PORT("IN0")
@@ -228,7 +228,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( main_io_map, AS_IO, 8, arabian_state )
+ADDRESS_MAP_START(arabian_state::main_io_map)
AM_RANGE(0xc800, 0xc800) AM_MIRROR(0x01ff) AM_DEVWRITE("aysnd", ay8910_device, address_w)
AM_RANGE(0xca00, 0xca00) AM_MIRROR(0x01ff) AM_DEVWRITE("aysnd", ay8910_device, data_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/arachnid.cpp b/src/mame/drivers/arachnid.cpp
index 2954a7185ad..27cc53605f1 100644
--- a/src/mame/drivers/arachnid.cpp
+++ b/src/mame/drivers/arachnid.cpp
@@ -110,6 +110,7 @@ public:
uint8_t read_keyboard(int pa);
void arachnid(machine_config &config);
+ void arachnid_map(address_map &map);
};
/***************************************************************************
@@ -120,7 +121,7 @@ public:
ADDRESS_MAP( arachnid_map )
-------------------------------------------------*/
-static ADDRESS_MAP_START( arachnid_map, AS_PROGRAM, 8, arachnid_state )
+ADDRESS_MAP_START(arachnid_state::arachnid_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x2007) AM_DEVREADWRITE(PTM6840_TAG, ptm6840_device, read, write)
AM_RANGE(0x4004, 0x4007) AM_DEVREADWRITE(PIA6821_U4_TAG, pia6821_device, read, write)
diff --git a/src/mame/drivers/arcadecl.cpp b/src/mame/drivers/arcadecl.cpp
index 9e7a561dc46..0e82c656855 100644
--- a/src/mame/drivers/arcadecl.cpp
+++ b/src/mame/drivers/arcadecl.cpp
@@ -146,7 +146,7 @@ WRITE16_MEMBER(arcadecl_state::latch_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, arcadecl_state )
+ADDRESS_MAP_START(arcadecl_state::main_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x200000, 0x21ffff) AM_RAM AM_SHARE("bitmap")
AM_RANGE(0x3c0000, 0x3c07ff) AM_DEVREADWRITE8("palette", palette_device, read8, write8, 0xff00) AM_SHARE("palette")
diff --git a/src/mame/drivers/arcadia.cpp b/src/mame/drivers/arcadia.cpp
index cfa4d617fbc..cb2b074f524 100644
--- a/src/mame/drivers/arcadia.cpp
+++ b/src/mame/drivers/arcadia.cpp
@@ -124,7 +124,7 @@ anything in hardware. No cartridge has been found which uses them.
#include "softlist.h"
#include "speaker.h"
-static ADDRESS_MAP_START( arcadia_mem, AS_PROGRAM, 8, arcadia_state )
+ADDRESS_MAP_START(arcadia_state::arcadia_mem)
AM_RANGE( 0x0000, 0x0fff) AM_DEVREAD("cartslot", arcadia_cart_slot_device, read_rom)
AM_RANGE( 0x1800, 0x1aff) AM_READWRITE(video_r, video_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/argo.cpp b/src/mame/drivers/argo.cpp
index df24ad5f9b2..1f7213e9b7d 100644
--- a/src/mame/drivers/argo.cpp
+++ b/src/mame/drivers/argo.cpp
@@ -50,6 +50,8 @@ public:
DECLARE_DRIVER_INIT(argo);
void argo(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_shared_ptr<uint8_t> m_p_videoram;
@@ -142,7 +144,7 @@ WRITE8_MEMBER(argo_state::argo_io_w)
-static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 8, argo_state)
+ADDRESS_MAP_START(argo_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x07ff) AM_RAMBANK("boot")
AM_RANGE(0x0800, 0xf7af) AM_RAM
@@ -150,7 +152,7 @@ static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 8, argo_state)
AM_RANGE(0xf800, 0xffff) AM_ROM AM_WRITE(argo_videoram_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(io_map, AS_IO, 8, argo_state)
+ADDRESS_MAP_START(argo_state::io_map)
AM_RANGE(0x0000, 0xFFFF) AM_READWRITE(argo_io_r,argo_io_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/argox.cpp b/src/mame/drivers/argox.cpp
index 3bb61dc086b..8e6d56e240e 100644
--- a/src/mame/drivers/argox.cpp
+++ b/src/mame/drivers/argox.cpp
@@ -54,13 +54,15 @@ public:
DECLARE_DRIVER_INIT(os214);
required_device<cpu_device> m_maincpu;
void os214(machine_config &config);
+ void os214_io_map(address_map &map);
+ void os214_prg_map(address_map &map);
};
-static ADDRESS_MAP_START( os214_prg_map, AS_PROGRAM, 16, os214_state )
+ADDRESS_MAP_START(os214_state::os214_prg_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( os214_io_map, AS_IO, 8, os214_state )
+ADDRESS_MAP_START(os214_state::os214_io_map)
// ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/argus.cpp b/src/mame/drivers/argus.cpp
index 8c4327c7684..ef6b9c75137 100644
--- a/src/mame/drivers/argus.cpp
+++ b/src/mame/drivers/argus.cpp
@@ -180,7 +180,7 @@ WRITE8_MEMBER(argus_state::bankselect_w)
***************************************************************************/
-static ADDRESS_MAP_START( argus_map, AS_PROGRAM, 8, argus_state )
+ADDRESS_MAP_START(argus_state::argus_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("mainbank")
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("SYSTEM")
@@ -204,7 +204,7 @@ static ADDRESS_MAP_START( argus_map, AS_PROGRAM, 8, argus_state )
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( valtric_map, AS_PROGRAM, 8, argus_state )
+ADDRESS_MAP_START(argus_state::valtric_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("mainbank")
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("SYSTEM")
@@ -228,7 +228,7 @@ static ADDRESS_MAP_START( valtric_map, AS_PROGRAM, 8, argus_state )
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( butasan_map, AS_PROGRAM, 8, argus_state )
+ADDRESS_MAP_START(argus_state::butasan_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("mainbank")
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("SYSTEM")
@@ -255,26 +255,26 @@ static ADDRESS_MAP_START( butasan_map, AS_PROGRAM, 8, argus_state )
AM_RANGE(0xf680, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map_a, AS_PROGRAM, 8, argus_state )
+ADDRESS_MAP_START(argus_state::sound_map_a)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xc000, 0xc000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map_b, AS_PROGRAM, 8, argus_state )
+ADDRESS_MAP_START(argus_state::sound_map_b)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xe000, 0xe000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
#if 0
-static ADDRESS_MAP_START( sound_portmap_1, AS_IO, 8, argus_state )
+ADDRESS_MAP_START(argus_state::sound_portmap_1)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
ADDRESS_MAP_END
#endif
-static ADDRESS_MAP_START( sound_portmap_2, AS_IO, 8, argus_state )
+ADDRESS_MAP_START(argus_state::sound_portmap_2)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
AM_RANGE(0x80, 0x81) AM_DEVREADWRITE("ym2", ym2203_device, read, write)
diff --git a/src/mame/drivers/aristmk4.cpp b/src/mame/drivers/aristmk4.cpp
index 3d14c757d8c..49471155ead 100644
--- a/src/mame/drivers/aristmk4.cpp
+++ b/src/mame/drivers/aristmk4.cpp
@@ -435,6 +435,8 @@ public:
void aristmk4_poker(machine_config &config);
void aristmk4(machine_config &config);
void _86lions(machine_config &config);
+ void aristmk4_map(address_map &map);
+ void aristmk4_poker_map(address_map &map);
};
/* Partial Cashcade protocol */
@@ -998,7 +1000,7 @@ ADDRESS MAP - SLOT GAMES
******************************************************************************/
-static ADDRESS_MAP_START( aristmk4_map, AS_PROGRAM, 8, aristmk4_state )
+ADDRESS_MAP_START(aristmk4_state::aristmk4_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("mkiv_vram") // video ram - chips U49 / U50
AM_RANGE(0x0800, 0x17ff) AM_RAM
AM_RANGE(0x1800, 0x1800) AM_DEVREADWRITE("crtc", mc6845_device, status_r, address_w)
@@ -1042,7 +1044,7 @@ The graphics rom is mapped from 0x4000 - 0x4fff
The U87 personality rom is not required, therefore game rom code mapping is from 0x8000-0xffff
*/
-static ADDRESS_MAP_START( aristmk4_poker_map, AS_PROGRAM, 8, aristmk4_state )
+ADDRESS_MAP_START(aristmk4_state::aristmk4_poker_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("mkiv_vram") // video ram - chips U49 / U50
AM_RANGE(0x0800, 0x17ff) AM_RAM
AM_RANGE(0x1800, 0x1800) AM_DEVREADWRITE("crtc", mc6845_device, status_r, address_w)
diff --git a/src/mame/drivers/aristmk5.cpp b/src/mame/drivers/aristmk5.cpp
index 83ed1e27ac9..317df5efc7f 100644
--- a/src/mame/drivers/aristmk5.cpp
+++ b/src/mame/drivers/aristmk5.cpp
@@ -522,6 +522,9 @@ public:
void aristmk5_touch(machine_config &config);
void aristmk5_usa_touch(machine_config &config);
void aristmk5_usa(machine_config &config);
+ void aristmk5_drame_map(address_map &map);
+ void aristmk5_map(address_map &map);
+ void aristmk5_usa_map(address_map &map);
private:
required_device_array<eeprom_serial_93cxx_device, 2> m_eeprom;
required_device<ds1302_device> m_rtc;
@@ -902,7 +905,7 @@ WRITE8_MEMBER(aristmk5_state::bill_acceptor_lamps_w)
output().set_lamp_value(24 + i, BIT(data, i));
}
-static ADDRESS_MAP_START( aristmk5_map, AS_PROGRAM, 32, aristmk5_state )
+ADDRESS_MAP_START(aristmk5_state::aristmk5_map)
AM_RANGE(0x02000000, 0x02ffffff) AM_RAM AM_SHARE("physicalram") /* physical RAM - 16 MB for now, should be 512k for the A310 */
AM_RANGE(0x03000000, 0x0331ffff) AM_READWRITE(archimedes_ioc_r, archimedes_ioc_w)
@@ -936,7 +939,7 @@ static ADDRESS_MAP_START( aristmk5_map, AS_PROGRAM, 32, aristmk5_state )
ADDRESS_MAP_END
/* U.S games have no dram emulator enabled */
-static ADDRESS_MAP_START( aristmk5_usa_map, AS_PROGRAM, 32, aristmk5_state )
+ADDRESS_MAP_START(aristmk5_state::aristmk5_usa_map)
AM_IMPORT_FROM(aristmk5_map)
AM_RANGE(0x00000000, 0x01ffffff) AM_READWRITE(archimedes_memc_logical_r, archimedes_memc_logical_w)
@@ -965,7 +968,7 @@ static ADDRESS_MAP_START( aristmk5_usa_map, AS_PROGRAM, 32, aristmk5_state )
ADDRESS_MAP_END
/* with dram emulator enabled */
-static ADDRESS_MAP_START( aristmk5_drame_map, AS_PROGRAM, 32, aristmk5_state )
+ADDRESS_MAP_START(aristmk5_state::aristmk5_drame_map)
AM_IMPORT_FROM(aristmk5_map)
AM_RANGE(0x00000000, 0x01ffffff) AM_READWRITE(aristmk5_drame_memc_logical_r, archimedes_memc_logical_w)
diff --git a/src/mame/drivers/aristmk6.cpp b/src/mame/drivers/aristmk6.cpp
index f54d56f482f..5844aca7d36 100644
--- a/src/mame/drivers/aristmk6.cpp
+++ b/src/mame/drivers/aristmk6.cpp
@@ -69,6 +69,8 @@ public:
required_device<palette_device> m_palette;
required_shared_ptr<uint64_t> m_vram;
void aristmk6(machine_config &config);
+ void aristmk6_map(address_map &map);
+ void aristmk6_port(address_map &map);
};
@@ -289,7 +291,7 @@ READ64_MEMBER(aristmk6_state::hwver_r)
return 0;
}
-static ADDRESS_MAP_START( aristmk6_map, AS_PROGRAM, 64, aristmk6_state )
+ADDRESS_MAP_START(aristmk6_state::aristmk6_map)
AM_RANGE(0x00000000, 0x003fffff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x04000000, 0x05ffffff) AM_RAM AM_SHARE("vram") // VRAM 32MB
AM_RANGE(0x08000000, 0x0bffffff) AM_ROM AM_REGION("game_rom", 0)
@@ -309,7 +311,7 @@ static ADDRESS_MAP_START( aristmk6_map, AS_PROGRAM, 64, aristmk6_state )
AM_RANGE(0x13800000, 0x13800007) AM_READ8(test_r, 0xffffffffffffffffU)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( aristmk6_port, AS_IO, 64, aristmk6_state )
+ADDRESS_MAP_START(aristmk6_state::aristmk6_port)
ADDRESS_MAP_END
static INPUT_PORTS_START( aristmk6 )
diff --git a/src/mame/drivers/arkanoid.cpp b/src/mame/drivers/arkanoid.cpp
index bd4df7e52d3..ac3fd706487 100644
--- a/src/mame/drivers/arkanoid.cpp
+++ b/src/mame/drivers/arkanoid.cpp
@@ -824,7 +824,7 @@ a15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0
1 1 1 1 x x x x x x x x x x x x OPEN BUS
| | |
*/
-static ADDRESS_MAP_START( arkanoid_map, AS_PROGRAM, 8, arkanoid_state )
+ADDRESS_MAP_START(arkanoid_state::arkanoid_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_MIRROR(0x0800)
AM_RANGE(0xd000, 0xd001) AM_DEVWRITE("aysnd", ay8910_device, address_data_w) AM_MIRROR(0x0fe6)
@@ -840,7 +840,7 @@ static ADDRESS_MAP_START( arkanoid_map, AS_PROGRAM, 8, arkanoid_state )
AM_RANGE(0xf000, 0xffff) AM_READNOP /* fixes instant death in final level */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bootleg_map, AS_PROGRAM, 8, arkanoid_state )
+ADDRESS_MAP_START(arkanoid_state::bootleg_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xd000, 0xd000) AM_DEVWRITE("aysnd", ay8910_device, address_w)
@@ -855,7 +855,7 @@ static ADDRESS_MAP_START( bootleg_map, AS_PROGRAM, 8, arkanoid_state )
AM_RANGE(0xf000, 0xffff) AM_READNOP /* fixes instant death in final level */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hexa_map, AS_PROGRAM, 8, arkanoid_state )
+ADDRESS_MAP_START(arkanoid_state::hexa_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc7ff) AM_RAM
@@ -877,7 +877,7 @@ WRITE8_MEMBER(arkanoid_state::hexaa_f000_w)
m_hexaa_from_main = data;
}
-static ADDRESS_MAP_START( hexaa_map, AS_PROGRAM, 8, arkanoid_state )
+ADDRESS_MAP_START(arkanoid_state::hexaa_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc7ff) AM_RAM
@@ -890,7 +890,7 @@ static ADDRESS_MAP_START( hexaa_map, AS_PROGRAM, 8, arkanoid_state )
AM_RANGE(0xf000, 0xf000) AM_READWRITE(hexaa_f000_r, hexaa_f000_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hexaa_sub_map, AS_PROGRAM, 8, arkanoid_state )
+ADDRESS_MAP_START(arkanoid_state::hexaa_sub_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
ADDRESS_MAP_END
@@ -906,7 +906,7 @@ READ8_MEMBER(arkanoid_state::hexaa_sub_90_r)
// return machine().rand();
}
-static ADDRESS_MAP_START( hexaa_sub_iomap, AS_IO, 8, arkanoid_state )
+ADDRESS_MAP_START(arkanoid_state::hexaa_sub_iomap)
ADDRESS_MAP_GLOBAL_MASK(0x9f)
AM_RANGE(0x00, 0x0f) AM_RAM // ?? could be communication with the other chip (protection?)
AM_RANGE(0x80, 0x80) AM_WRITE(hexaa_sub_80_w)
@@ -915,7 +915,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( brixian_map, AS_PROGRAM, 8, arkanoid_state )
+ADDRESS_MAP_START(arkanoid_state::brixian_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("protram")
AM_RANGE(0xd000, 0xd000) AM_DEVWRITE("aysnd", ay8910_device, address_w)
diff --git a/src/mame/drivers/armedf.cpp b/src/mame/drivers/armedf.cpp
index c09b452001f..12d8cb5e157 100644
--- a/src/mame/drivers/armedf.cpp
+++ b/src/mame/drivers/armedf.cpp
@@ -418,7 +418,7 @@ WRITE16_MEMBER(armedf_state::irq_lv2_ack_w)
*
*************************************/
-static ADDRESS_MAP_START( terraf_map, AS_PROGRAM, 16, armedf_state )
+ADDRESS_MAP_START(armedf_state::terraf_map)
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x060000, 0x0603ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x060400, 0x063fff) AM_RAM
@@ -440,7 +440,7 @@ static ADDRESS_MAP_START( terraf_map, AS_PROGRAM, 16, armedf_state )
AM_RANGE(0x07c00e, 0x07c00f) AM_WRITE(irq_lv1_ack_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kozure_map, AS_PROGRAM, 16, armedf_state )
+ADDRESS_MAP_START(armedf_state::kozure_map)
AM_IMPORT_FROM( terraf_map )
AM_RANGE(0x060000, 0x060fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x061000, 0x063fff) AM_RAM
@@ -449,7 +449,7 @@ static ADDRESS_MAP_START( kozure_map, AS_PROGRAM, 16, armedf_state )
// AM_RANGE(0xffd000, 0xffd001) AM_WRITENOP /* passes crc ROM information to MCU, I guess */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cclimbr2_map, AS_PROGRAM, 16, armedf_state )
+ADDRESS_MAP_START(armedf_state::cclimbr2_map)
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x060000, 0x060fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x061000, 0x063fff) AM_RAM
@@ -471,7 +471,7 @@ static ADDRESS_MAP_START( cclimbr2_map, AS_PROGRAM, 16, armedf_state )
AM_RANGE(0x07c00e, 0x07c00f) AM_WRITE(irq_lv2_ack_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( legion_map, AS_PROGRAM, 16, armedf_state )
+ADDRESS_MAP_START(armedf_state::legion_map)
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x060000, 0x060fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x061000, 0x063fff) AM_RAM
@@ -502,7 +502,7 @@ WRITE8_MEMBER(armedf_state::legionjb_fg_scroll_w)
m_fg_scrolly = (m_legion_cmd[0x00] & 0xff) | ((m_legion_cmd[0x01] & 0x3) << 8);
}
-static ADDRESS_MAP_START( legionjb_map, AS_PROGRAM, 16, armedf_state )
+ADDRESS_MAP_START(armedf_state::legionjb_map)
AM_RANGE(0x040000, 0x04003f) AM_WRITE8(legionjb_fg_scroll_w,0x00ff)
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x060000, 0x060fff) AM_RAM AM_SHARE("spriteram")
@@ -525,7 +525,7 @@ static ADDRESS_MAP_START( legionjb_map, AS_PROGRAM, 16, armedf_state )
AM_RANGE(0x07c00e, 0x07c00f) AM_WRITE(irq_lv2_ack_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( armedf_map, AS_PROGRAM, 16, armedf_state )
+ADDRESS_MAP_START(armedf_state::armedf_map)
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x060000, 0x060fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x061000, 0x065fff) AM_RAM
@@ -717,7 +717,7 @@ WRITE8_MEMBER(bigfghtr_state::mcu_spritelist_w)
popmessage("MCU access spritelist %04x = %02x, contact MAMEdev",offset,data);
}
-static ADDRESS_MAP_START( bigfghtr_map, AS_PROGRAM, 16, bigfghtr_state )
+ADDRESS_MAP_START(bigfghtr_state::bigfghtr_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x0805ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x080600, 0x083fff) AM_READWRITE8(main_sharedram_r,main_sharedram_w,0xffff)
@@ -743,23 +743,23 @@ static ADDRESS_MAP_START( bigfghtr_map, AS_PROGRAM, 16, bigfghtr_state )
AM_RANGE(0x400000, 0x400001) AM_READ(latch_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bigfghtr_mcu_map, AS_PROGRAM, 8, bigfghtr_state )
+ADDRESS_MAP_START(bigfghtr_state::bigfghtr_mcu_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bigfghtr_mcu_io_map, AS_IO, 8, bigfghtr_state )
+ADDRESS_MAP_START(bigfghtr_state::bigfghtr_mcu_io_map)
AM_RANGE(0x00000, 0x005ff) AM_WRITE(mcu_spritelist_w) //Sprite RAM, guess shared as well
AM_RANGE(0x00600, 0x03fff) AM_RAM AM_SHARE("sharedram")
AM_RANGE(MCS51_PORT_P1,MCS51_PORT_P1) AM_READNOP // bit 5: bus contention related?
AM_RANGE(MCS51_PORT_P3,MCS51_PORT_P3) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, armedf_state )
+ADDRESS_MAP_START(armedf_state::sound_map)
AM_RANGE(0x0000, 0xf7ff) AM_ROM
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cclimbr2_soundmap, AS_PROGRAM, 8, armedf_state )
+ADDRESS_MAP_START(armedf_state::cclimbr2_soundmap)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xffff) AM_RAM
ADDRESS_MAP_END
@@ -792,20 +792,20 @@ WRITE8_MEMBER(armedf_state::fg_scroll_msb_w)
}
-static ADDRESS_MAP_START( terrafjb_extraz80_map, AS_PROGRAM, 8, armedf_state )
+ADDRESS_MAP_START(armedf_state::terrafjb_extraz80_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x5fff) AM_READWRITE(blitter_txram_r,blitter_txram_w)
AM_RANGE(0x8000, 0x87ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( terrafjb_extraz80_portmap, AS_IO, 8, armedf_state )
+ADDRESS_MAP_START(armedf_state::terrafjb_extraz80_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00,0x00) AM_WRITE(fg_scrollx_w)
AM_RANGE(0x01,0x01) AM_WRITE(fg_scrolly_w)
AM_RANGE(0x02,0x02) AM_WRITE(fg_scroll_msb_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, armedf_state )
+ADDRESS_MAP_START(armedf_state::sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x0, 0x1) AM_DEVWRITE("ymsnd", ym3812_device, write)
AM_RANGE(0x2, 0x2) AM_DEVWRITE("dac1", dac_byte_interface, write)
@@ -814,7 +814,7 @@ static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, armedf_state )
AM_RANGE(0x6, 0x6) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_3526_portmap, AS_IO, 8, armedf_state )
+ADDRESS_MAP_START(armedf_state::sound_3526_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x0, 0x1) AM_DEVWRITE("ymsnd", ym3526_device, write)
AM_RANGE(0x2, 0x2) AM_DEVWRITE("dac1", dac_byte_interface, write)
diff --git a/src/mame/drivers/arsystems.cpp b/src/mame/drivers/arsystems.cpp
index 9b0cefff927..422c62ee991 100644
--- a/src/mame/drivers/arsystems.cpp
+++ b/src/mame/drivers/arsystems.cpp
@@ -94,6 +94,10 @@ public:
void arcadia(machine_config &config);
void argh(machine_config &config);
+ void a500_mem(address_map &map);
+ void arcadia_map(address_map &map);
+ void argh_map(address_map &map);
+ void overlay_512kb_map(address_map &map);
protected:
virtual void machine_reset() override;
@@ -192,13 +196,13 @@ void arcadia_amiga_state::machine_reset()
*
*************************************/
-static ADDRESS_MAP_START( overlay_512kb_map, AS_PROGRAM, 16, arcadia_amiga_state )
+ADDRESS_MAP_START(arcadia_amiga_state::overlay_512kb_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x07ffff) AM_MIRROR(0x180000) AM_RAM AM_SHARE("chip_ram")
AM_RANGE(0x200000, 0x27ffff) AM_ROM AM_REGION("kickstart", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( a500_mem, AS_PROGRAM, 16, arcadia_amiga_state )
+ADDRESS_MAP_START(arcadia_amiga_state::a500_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x1fffff) AM_DEVICE("overlay", address_map_bank_device, amap16)
AM_RANGE(0xa00000, 0xbfffff) AM_READWRITE(cia_r, cia_w)
@@ -211,7 +215,7 @@ static ADDRESS_MAP_START( a500_mem, AS_PROGRAM, 16, arcadia_amiga_state )
AM_RANGE(0xf80000, 0xffffff) AM_ROM AM_REGION("kickstart", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( arcadia_map, AS_PROGRAM, 16, arcadia_amiga_state )
+ADDRESS_MAP_START(arcadia_amiga_state::arcadia_map)
AM_IMPORT_FROM(a500_mem)
AM_RANGE(0x800000, 0x97ffff) AM_ROMBANK("bank2") AM_REGION("user3", 0)
AM_RANGE(0x980000, 0x9fbfff) AM_ROM AM_REGION("user2", 0)
@@ -220,7 +224,7 @@ static ADDRESS_MAP_START( arcadia_map, AS_PROGRAM, 16, arcadia_amiga_state )
AM_RANGE(0xf00000, 0xf7ffff) AM_ROM AM_REGION("user2", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( argh_map, AS_PROGRAM, 16, arcadia_amiga_state )
+ADDRESS_MAP_START(arcadia_amiga_state::argh_map)
AM_IMPORT_FROM(a500_mem)
AM_RANGE(0x800000, 0x97ffff) AM_ROMBANK("bank2") AM_REGION("user3", 0)
// AM_RANGE(0x980000, 0x9fefff) AM_ROM AM_REGION("user3", 0)
diff --git a/src/mame/drivers/artmagic.cpp b/src/mame/drivers/artmagic.cpp
index ee7022c0884..3e1fba50f1f 100644
--- a/src/mame/drivers/artmagic.cpp
+++ b/src/mame/drivers/artmagic.cpp
@@ -408,7 +408,7 @@ WRITE16_MEMBER(artmagic_state::protection_bit_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, artmagic_state )
+ADDRESS_MAP_START(artmagic_state::main_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x220000, 0x23ffff) AM_RAM
AM_RANGE(0x240000, 0x240fff) AM_RAM AM_SHARE("nvram")
@@ -425,7 +425,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, artmagic_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( stonebal_map, AS_PROGRAM, 16, artmagic_state )
+ADDRESS_MAP_START(artmagic_state::stonebal_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x200000, 0x27ffff) AM_RAM
AM_RANGE(0x280000, 0x280fff) AM_RAM AM_SHARE("nvram")
@@ -444,7 +444,7 @@ static ADDRESS_MAP_START( stonebal_map, AS_PROGRAM, 16, artmagic_state )
ADDRESS_MAP_END
// TODO: jumps to undefined area at PC=33a0 -> 230000, presumably protection device provides a code snippet
-static ADDRESS_MAP_START( shtstar_map, AS_PROGRAM, 16, artmagic_state )
+ADDRESS_MAP_START(artmagic_state::shtstar_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x200000, 0x27ffff) AM_RAM
AM_RANGE(0x280000, 0x280fff) AM_RAM AM_SHARE("nvram")
@@ -464,7 +464,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( tms_map, AS_PROGRAM, 16, artmagic_state )
+ADDRESS_MAP_START(artmagic_state::tms_map)
AM_RANGE(0x00000000, 0x001fffff) AM_RAM AM_SHARE("vram0")
AM_RANGE(0x00400000, 0x005fffff) AM_RAM AM_SHARE("vram1")
AM_RANGE(0x00800000, 0x0080007f) AM_READWRITE(artmagic_blitter_r, artmagic_blitter_w)
@@ -474,7 +474,7 @@ static ADDRESS_MAP_START( tms_map, AS_PROGRAM, 16, artmagic_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( stonebal_tms_map, AS_PROGRAM, 16, artmagic_state )
+ADDRESS_MAP_START(artmagic_state::stonebal_tms_map)
AM_RANGE(0x00000000, 0x001fffff) AM_RAM AM_SHARE("vram0")
AM_RANGE(0x00400000, 0x005fffff) AM_RAM AM_SHARE("vram1")
AM_RANGE(0x00800000, 0x0080007f) AM_READWRITE(artmagic_blitter_r, artmagic_blitter_w)
@@ -491,7 +491,7 @@ ADDRESS_MAP_END
*************************************/
/* see adp.c */
-static ADDRESS_MAP_START( shtstar_subcpu_map, AS_PROGRAM, 16, artmagic_state )
+ADDRESS_MAP_START(artmagic_state::shtstar_subcpu_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x800140, 0x800141) AM_DEVWRITE8("aysnd", ym2149_device, address_w, 0x00ff)
AM_RANGE(0x800142, 0x800143) AM_DEVREADWRITE8("aysnd", ym2149_device, data_r, data_w, 0x00ff)
@@ -499,11 +499,11 @@ static ADDRESS_MAP_START( shtstar_subcpu_map, AS_PROGRAM, 16, artmagic_state )
AM_RANGE(0xffc000, 0xffffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( shtstar_guncpu_map, AS_PROGRAM, 8, artmagic_state )
+ADDRESS_MAP_START(artmagic_state::shtstar_guncpu_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( shtstar_guncpu_io_map, AS_IO, 8, artmagic_state )
+ADDRESS_MAP_START(artmagic_state::shtstar_guncpu_io_map)
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_READNOP
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ashnojoe.cpp b/src/mame/drivers/ashnojoe.cpp
index 02b2324fd44..522d5e7cb8f 100644
--- a/src/mame/drivers/ashnojoe.cpp
+++ b/src/mame/drivers/ashnojoe.cpp
@@ -91,7 +91,7 @@ READ16_MEMBER(ashnojoe_state::fake_4a00a_r)
return 0;
}
-static ADDRESS_MAP_START( ashnojoe_map, AS_PROGRAM, 16, ashnojoe_state )
+ADDRESS_MAP_START(ashnojoe_state::ashnojoe_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x040000, 0x041fff) AM_RAM_WRITE(ashnojoe_tileram3_w) AM_SHARE("tileram_3")
AM_RANGE(0x042000, 0x043fff) AM_RAM_WRITE(ashnojoe_tileram4_w) AM_SHARE("tileram_4")
@@ -124,13 +124,13 @@ READ8_MEMBER(ashnojoe_state::sound_latch_status_r)
return m_soundlatch->pending_r();
}
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, ashnojoe_state )
+ADDRESS_MAP_START(ashnojoe_state::sound_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank4")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, ashnojoe_state )
+ADDRESS_MAP_START(ashnojoe_state::sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
AM_RANGE(0x02, 0x02) AM_WRITE(adpcm_w)
diff --git a/src/mame/drivers/asst128.cpp b/src/mame/drivers/asst128.cpp
index 96c64ef5cd4..27d12505463 100644
--- a/src/mame/drivers/asst128.cpp
+++ b/src/mame/drivers/asst128.cpp
@@ -22,10 +22,10 @@ public:
{
}
- DECLARE_ADDRESS_MAP(map, 8);
+ void map(address_map &map);
};
-DEVICE_ADDRESS_MAP_START( map, 8, asst128_mb_device )
+ADDRESS_MAP_START(asst128_mb_device::map)
AM_RANGE(0x0020, 0x002f) AM_DEVREADWRITE("pic8259", pic8259_device, read, write)
AM_RANGE(0x0040, 0x004f) AM_DEVREADWRITE("pit8253", pit8253_device, read, write)
AM_RANGE(0x0060, 0x006f) AM_DEVREADWRITE("ppi8255", i8255_device, read, write)
@@ -53,6 +53,8 @@ public:
void machine_start() override;
void asst128(machine_config &config);
+ void asst128_io(address_map &map);
+ void asst128_map(address_map &map);
};
void asst128_state::machine_start()
@@ -68,12 +70,12 @@ WRITE8_MEMBER(asst128_state::asst128_fdc_dor_w)
m_fdc->dor_w(space, offset, data, mem_mask);
}
-static ADDRESS_MAP_START( asst128_map, AS_PROGRAM, 16, asst128_state)
+ADDRESS_MAP_START(asst128_state::asst128_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xf0000, 0xfffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(asst128_io, AS_IO, 16, asst128_state)
+ADDRESS_MAP_START(asst128_state::asst128_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x00ff) AM_DEVICE8("mb", asst128_mb_device, map, 0xffff)
AM_RANGE(0x0200, 0x0207) AM_DEVREADWRITE8("pc_joy", pc_joy_device, joy_port_r, joy_port_w, 0xffff)
diff --git a/src/mame/drivers/asterix.cpp b/src/mame/drivers/asterix.cpp
index bdd067c4775..52919e96633 100644
--- a/src/mame/drivers/asterix.cpp
+++ b/src/mame/drivers/asterix.cpp
@@ -168,7 +168,7 @@ WRITE16_MEMBER(asterix_state::protection_w)
}
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, asterix_state )
+ADDRESS_MAP_START(asterix_state::main_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x107fff) AM_RAM
AM_RANGE(0x180000, 0x1807ff) AM_DEVREADWRITE("k053244", k05324x_device, k053245_word_r, k053245_word_w)
@@ -191,7 +191,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, asterix_state )
AM_RANGE(0x440000, 0x44003f) AM_DEVWRITE("k056832", k056832_device, word_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, asterix_state )
+ADDRESS_MAP_START(asterix_state::sound_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf801, 0xf801) AM_DEVREADWRITE("ymsnd", ym2151_device, status_r, data_w)
diff --git a/src/mame/drivers/asteroid.cpp b/src/mame/drivers/asteroid.cpp
index af1671e45a0..c95a3789dad 100644
--- a/src/mame/drivers/asteroid.cpp
+++ b/src/mame/drivers/asteroid.cpp
@@ -248,7 +248,7 @@ WRITE8_MEMBER(asteroid_state::llander_led_w)
*
*************************************/
-static ADDRESS_MAP_START( asteroid_map, AS_PROGRAM, 8, asteroid_state )
+ADDRESS_MAP_START(asteroid_state::asteroid_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x0200, 0x02ff) AM_RAMBANK("ram1") AM_SHARE("ram1")
@@ -269,7 +269,7 @@ static ADDRESS_MAP_START( asteroid_map, AS_PROGRAM, 8, asteroid_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( astdelux_map, AS_PROGRAM, 8, asteroid_state )
+ADDRESS_MAP_START(asteroid_state::astdelux_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x0200, 0x02ff) AM_RAMBANK("ram1") AM_SHARE("ram1")
@@ -292,7 +292,7 @@ static ADDRESS_MAP_START( astdelux_map, AS_PROGRAM, 8, asteroid_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( llander_map, AS_PROGRAM, 8, asteroid_state )
+ADDRESS_MAP_START(asteroid_state::llander_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x00ff) AM_RAM AM_MIRROR(0x1f00)
AM_RANGE(0x2000, 0x2000) AM_READ_PORT("IN0")
diff --git a/src/mame/drivers/astinvad.cpp b/src/mame/drivers/astinvad.cpp
index 4c435e128e1..d219cf82ecb 100644
--- a/src/mame/drivers/astinvad.cpp
+++ b/src/mame/drivers/astinvad.cpp
@@ -95,6 +95,10 @@ public:
void spcking2(machine_config &config);
void spaceint(machine_config &config);
void kamikaze(machine_config &config);
+ void kamikaze_map(address_map &map);
+ void kamikaze_portmap(address_map &map);
+ void spaceint_map(address_map &map);
+ void spaceint_portmap(address_map &map);
private:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
void plot_byte( bitmap_rgb32 &bitmap, uint8_t y, uint8_t x, uint8_t data, uint8_t color );
@@ -471,7 +475,7 @@ WRITE8_MEMBER(astinvad_state::spaceint_sound2_w)
*
*************************************/
-static ADDRESS_MAP_START( kamikaze_map, AS_PROGRAM, 8, astinvad_state )
+ADDRESS_MAP_START(astinvad_state::kamikaze_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x1bff) AM_ROM
AM_RANGE(0x1c00, 0x1fff) AM_RAM
@@ -479,20 +483,20 @@ static ADDRESS_MAP_START( kamikaze_map, AS_PROGRAM, 8, astinvad_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spaceint_map, AS_PROGRAM, 8, astinvad_state )
+ADDRESS_MAP_START(astinvad_state::spaceint_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
AM_RANGE(0x4000, 0x5fff) AM_RAM_WRITE(spaceint_videoram_w) AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kamikaze_portmap, AS_IO, 8, astinvad_state )
+ADDRESS_MAP_START(astinvad_state::kamikaze_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0xff) AM_READWRITE(kamikaze_ppi_r, kamikaze_ppi_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spaceint_portmap, AS_IO, 8, astinvad_state )
+ADDRESS_MAP_START(astinvad_state::spaceint_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
diff --git a/src/mame/drivers/astrafr.cpp b/src/mame/drivers/astrafr.cpp
index 88ebb62f48f..7c335303b37 100644
--- a/src/mame/drivers/astrafr.cpp
+++ b/src/mame/drivers/astrafr.cpp
@@ -129,6 +129,10 @@ public:
void astra_single_37(machine_config &config);
void astrafr_dual_2e(machine_config &config);
void astrafr_dual_37(machine_config &config);
+ void astra_map(address_map &map);
+ void astrafr_master_alt_map(address_map &map);
+ void astrafr_master_map(address_map &map);
+ void astrafr_slave_map(address_map &map);
};
@@ -243,21 +247,21 @@ WRITE32_MEMBER(astrafr_state::astrafr_slave_mem_w)
-static ADDRESS_MAP_START( astrafr_master_map, AS_PROGRAM, 32, astrafr_state )
+ADDRESS_MAP_START(astrafr_state::astrafr_master_map)
AM_RANGE(0x000000, 0xffffffff) AM_READWRITE(astrafr_mem_r, astrafr_mem_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( astrafr_master_alt_map, AS_PROGRAM, 32, astrafr_state )
+ADDRESS_MAP_START(astrafr_state::astrafr_master_alt_map)
AM_RANGE(0x000000, 0xffffffff) AM_READWRITE(astrafr_mem_r, astrafr_mem_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( astra_map, AS_PROGRAM, 32, astrafr_state )
+ADDRESS_MAP_START(astrafr_state::astra_map)
AM_RANGE(0x000000, 0xffffffff) AM_READWRITE(astrafr_mem_r, astrafr_mem_w)
ADDRESS_MAP_END
// probably identical, afaik they're linked units..
-static ADDRESS_MAP_START( astrafr_slave_map, AS_PROGRAM, 32, astrafr_state )
+ADDRESS_MAP_START(astrafr_state::astrafr_slave_map)
AM_RANGE(0x000000, 0xffffffff) AM_READWRITE(astrafr_slave_mem_r, astrafr_slave_mem_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/astrcorp.cpp b/src/mame/drivers/astrcorp.cpp
index 76146864009..c02cbf4b09c 100644
--- a/src/mame/drivers/astrcorp.cpp
+++ b/src/mame/drivers/astrcorp.cpp
@@ -97,6 +97,10 @@ public:
void showhand(machine_config &config);
void speeddrp(machine_config &config);
void showhanc(machine_config &config);
+ void showhanc_map(address_map &map);
+ void showhand_map(address_map &map);
+ void skilldrp_map(address_map &map);
+ void speeddrp_map(address_map &map);
};
/***************************************************************************
@@ -307,7 +311,7 @@ READ16_MEMBER(astrocorp_state::astrocorp_unk_r)
}
-static ADDRESS_MAP_START( showhand_map, AS_PROGRAM, 16, astrocorp_state )
+ADDRESS_MAP_START(astrocorp_state::showhand_map)
AM_RANGE( 0x000000, 0x01ffff ) AM_ROM
AM_RANGE( 0x050000, 0x050fff ) AM_RAM AM_SHARE("spriteram")
AM_RANGE( 0x052000, 0x052001 ) AM_WRITE(astrocorp_draw_sprites_w)
@@ -322,7 +326,7 @@ static ADDRESS_MAP_START( showhand_map, AS_PROGRAM, 16, astrocorp_state )
AM_RANGE( 0x0d0000, 0x0d0001 ) AM_READ(astrocorp_unk_r) AM_DEVWRITE8("oki", okim6295_device, write, 0xff00)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( showhanc_map, AS_PROGRAM, 16, astrocorp_state )
+ADDRESS_MAP_START(astrocorp_state::showhanc_map)
AM_RANGE( 0x000000, 0x01ffff ) AM_ROM
AM_RANGE( 0x060000, 0x0601ff ) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE( 0x070000, 0x070001 ) AM_WRITE(astrocorp_sound_bank_w)
@@ -337,7 +341,7 @@ static ADDRESS_MAP_START( showhanc_map, AS_PROGRAM, 16, astrocorp_state )
AM_RANGE( 0x0e0000, 0x0e0001 ) AM_READ(astrocorp_unk_r) AM_DEVWRITE8("oki", okim6295_device, write, 0xff00)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( skilldrp_map, AS_PROGRAM, 16, astrocorp_state )
+ADDRESS_MAP_START(astrocorp_state::skilldrp_map)
AM_RANGE( 0x000000, 0x03ffff ) AM_ROM
AM_RANGE( 0x200000, 0x200fff ) AM_RAM AM_SHARE("spriteram")
AM_RANGE( 0x202000, 0x202001 ) AM_WRITE(astrocorp_draw_sprites_w)
@@ -352,7 +356,7 @@ static ADDRESS_MAP_START( skilldrp_map, AS_PROGRAM, 16, astrocorp_state )
AM_RANGE( 0x600000, 0x600001 ) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( speeddrp_map, AS_PROGRAM, 16, astrocorp_state )
+ADDRESS_MAP_START(astrocorp_state::speeddrp_map)
AM_RANGE( 0x000000, 0x01ffff ) AM_ROM
AM_RANGE( 0x280000, 0x283fff ) AM_RAM AM_SHARE("nvram") // battery
AM_RANGE( 0x380000, 0x380fff ) AM_RAM AM_SHARE("spriteram")
diff --git a/src/mame/drivers/astrocde.cpp b/src/mame/drivers/astrocde.cpp
index 311d333aeac..8d61fd4df12 100644
--- a/src/mame/drivers/astrocde.cpp
+++ b/src/mame/drivers/astrocde.cpp
@@ -530,7 +530,7 @@ CUSTOM_INPUT_MEMBER( astrocde_state::votrax_speech_status_r )
*
*************************************/
-static ADDRESS_MAP_START( seawolf2_map, AS_PROGRAM, 8, astrocde_state )
+ADDRESS_MAP_START(astrocde_state::seawolf2_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x0000, 0x3fff) AM_WRITE(astrocade_funcgen_w)
AM_RANGE(0x4000, 0x7fff) AM_RAM AM_SHARE("videoram")
@@ -538,14 +538,14 @@ static ADDRESS_MAP_START( seawolf2_map, AS_PROGRAM, 8, astrocde_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ebases_map, AS_PROGRAM, 8, astrocde_state )
+ADDRESS_MAP_START(astrocde_state::ebases_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x0000, 0x3fff) AM_WRITE(astrocade_funcgen_w)
AM_RANGE(0x4000, 0x7fff) AM_RAM AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spacezap_map, AS_PROGRAM, 8, astrocde_state )
+ADDRESS_MAP_START(astrocde_state::spacezap_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x0000, 0x3fff) AM_WRITE(astrocade_funcgen_w)
AM_RANGE(0x4000, 0x7fff) AM_RAM AM_SHARE("videoram")
@@ -554,7 +554,7 @@ static ADDRESS_MAP_START( spacezap_map, AS_PROGRAM, 8, astrocde_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( wow_map, AS_PROGRAM, 8, astrocde_state )
+ADDRESS_MAP_START(astrocde_state::wow_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x0000, 0x3fff) AM_WRITE(astrocade_funcgen_w)
AM_RANGE(0x4000, 0x7fff) AM_RAM AM_SHARE("videoram")
@@ -564,7 +564,7 @@ static ADDRESS_MAP_START( wow_map, AS_PROGRAM, 8, astrocde_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( robby_map, AS_PROGRAM, 8, astrocde_state )
+ADDRESS_MAP_START(astrocde_state::robby_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x0000, 0x3fff) AM_WRITE(astrocade_funcgen_w)
AM_RANGE(0x4000, 0x7fff) AM_RAM AM_SHARE("videoram")
@@ -575,7 +575,7 @@ static ADDRESS_MAP_START( robby_map, AS_PROGRAM, 8, astrocde_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( demndrgn_map, AS_PROGRAM, 8, astrocde_state )
+ADDRESS_MAP_START(astrocde_state::demndrgn_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x0000, 0x3fff) AM_WRITE(astrocade_funcgen_w)
AM_RANGE(0x4000, 0x7fff) AM_DEVREAD("bank4000", address_map_bank_device, read8) AM_WRITE(profpac_videoram_w)
@@ -586,13 +586,13 @@ static ADDRESS_MAP_START( demndrgn_map, AS_PROGRAM, 8, astrocde_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( profpac_map, AS_PROGRAM, 8, astrocde_state )
+ADDRESS_MAP_START(astrocde_state::profpac_map)
AM_IMPORT_FROM(demndrgn_map)
AM_RANGE(0xe000, 0xe1ff) AM_READWRITE(protected_ram_r, protected_ram_w) AM_SHARE("protected_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bank4000_map, AS_PROGRAM, 8, astrocde_state )
+ADDRESS_MAP_START(astrocde_state::bank4000_map)
AM_RANGE(0x0000, 0x3fff) AM_READ(profpac_videoram_r)
AM_RANGE(0x4000, 0x7fff) AM_ROM AM_REGION("banks", 0x08000)
AM_RANGE(0x8000, 0xbfff) AM_ROM AM_REGION("banks", 0x10000)
@@ -600,14 +600,14 @@ static ADDRESS_MAP_START( bank4000_map, AS_PROGRAM, 8, astrocde_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( profpac_bank4000_map, AS_PROGRAM, 8, astrocde_state )
+ADDRESS_MAP_START(astrocde_state::profpac_bank4000_map)
AM_IMPORT_FROM(bank4000_map)
AM_RANGE(0x10000, 0xaffff) AM_ROM AM_REGION("epromboard", 0)
AM_RANGE(0xb0000, 0xb3fff) AM_READNOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tenpin_sub_map, AS_PROGRAM, 8, astrocde_state )
+ADDRESS_MAP_START(astrocde_state::tenpin_sub_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
@@ -621,19 +621,19 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( port_map, AS_IO, 8, astrocde_state )
+ADDRESS_MAP_START(astrocde_state::port_map)
AM_RANGE(0x0000, 0x0019) AM_SELECT(0xff00) AM_READWRITE(astrocade_data_chip_register_r, astrocade_data_chip_register_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( port_map_mono_pattern, AS_IO, 8, astrocde_state )
+ADDRESS_MAP_START(astrocde_state::port_map_mono_pattern)
AM_RANGE(0x0000, 0x0019) AM_SELECT(0xff00) AM_READWRITE(astrocade_data_chip_register_r, astrocade_data_chip_register_w)
AM_RANGE(0x0078, 0x007e) AM_MIRROR(0xff00) AM_WRITE(astrocade_pattern_board_w)
AM_RANGE(0xa55b, 0xa55b) AM_WRITE(protected_ram_enable_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( port_map_stereo_pattern, AS_IO, 8, astrocde_state )
+ADDRESS_MAP_START(astrocde_state::port_map_stereo_pattern)
AM_RANGE(0x0000, 0x0019) AM_SELECT(0xff00) AM_READWRITE(astrocade_data_chip_register_r, astrocade_data_chip_register_w)
AM_RANGE(0x0050, 0x0058) AM_SELECT(0xff00) AM_DEVWRITE("astrocade2", astrocade_device, astrocade_sound_w)
AM_RANGE(0x0078, 0x007e) AM_MIRROR(0xff00) AM_WRITE(astrocade_pattern_board_w)
@@ -641,7 +641,7 @@ static ADDRESS_MAP_START( port_map_stereo_pattern, AS_IO, 8, astrocde_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( port_map_16col_pattern, AS_IO, 8, astrocde_state )
+ADDRESS_MAP_START(astrocde_state::port_map_16col_pattern)
AM_RANGE(0x0000, 0x0019) AM_SELECT(0xff00) AM_READWRITE(astrocade_data_chip_register_r, astrocade_data_chip_register_w)
AM_RANGE(0x0050, 0x0058) AM_SELECT(0xff00) AM_DEVWRITE("astrocade2", astrocade_device, astrocade_sound_w)
AM_RANGE(0x0078, 0x007e) AM_MIRROR(0xff00) AM_WRITE(astrocade_pattern_board_w)
@@ -653,7 +653,7 @@ static ADDRESS_MAP_START( port_map_16col_pattern, AS_IO, 8, astrocde_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( port_map_16col_pattern_nosound, AS_IO, 8, astrocde_state )
+ADDRESS_MAP_START(astrocde_state::port_map_16col_pattern_nosound)
AM_RANGE(0x0000, 0x0019) AM_SELECT(0xff00) AM_READWRITE(astrocade_data_chip_register_r, astrocade_data_chip_register_w)
AM_RANGE(0x0078, 0x007e) AM_MIRROR(0xff00) AM_WRITE(astrocade_pattern_board_w)
AM_RANGE(0x00bf, 0x00bf) AM_MIRROR(0xff00) AM_WRITE(profpac_page_select_w)
@@ -664,7 +664,7 @@ static ADDRESS_MAP_START( port_map_16col_pattern_nosound, AS_IO, 8, astrocde_sta
ADDRESS_MAP_END
-static ADDRESS_MAP_START( port_map_16col_pattern_tenpindx, AS_IO, 8, astrocde_state )
+ADDRESS_MAP_START(astrocde_state::port_map_16col_pattern_tenpindx)
AM_IMPORT_FROM(port_map_16col_pattern_nosound)
AM_RANGE(0x0060, 0x0060) AM_MIRROR(0xff00) AM_READ_PORT("P60")
AM_RANGE(0x0061, 0x0061) AM_MIRROR(0xff00) AM_READ_PORT("P61")
@@ -678,7 +678,7 @@ static ADDRESS_MAP_START( port_map_16col_pattern_tenpindx, AS_IO, 8, astrocde_st
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tenpin_sub_io_map, AS_IO, 8, astrocde_state )
+ADDRESS_MAP_START(astrocde_state::tenpin_sub_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x90, 0x93) AM_DEVREADWRITE("ctc", z80ctc_device, read, write)
AM_RANGE(0x97, 0x97) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/astrof.cpp b/src/mame/drivers/astrof.cpp
index 94ff5a56639..0ccea52ba9d 100644
--- a/src/mame/drivers/astrof.cpp
+++ b/src/mame/drivers/astrof.cpp
@@ -539,7 +539,7 @@ MACHINE_RESET_MEMBER(astrof_state,abattle)
*
*************************************/
-static ADDRESS_MAP_START( astrof_map, AS_PROGRAM, 8, astrof_state )
+ADDRESS_MAP_START(astrof_state::astrof_map)
AM_RANGE(0x0000, 0x03ff) AM_MIRROR(0x1c00) AM_RAM
AM_RANGE(0x2000, 0x3fff) AM_NOP
AM_RANGE(0x4000, 0x5fff) AM_RAM_WRITE(astrof_videoram_w) AM_SHARE("videoram")
@@ -558,7 +558,7 @@ static ADDRESS_MAP_START( astrof_map, AS_PROGRAM, 8, astrof_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spfghmk2_map, AS_PROGRAM, 8, astrof_state )
+ADDRESS_MAP_START(astrof_state::spfghmk2_map)
AM_RANGE(0x0000, 0x03ff) AM_MIRROR(0x1c00) AM_RAM
AM_RANGE(0x2000, 0x3fff) AM_NOP
AM_RANGE(0x4000, 0x5fff) AM_RAM_WRITE(astrof_videoram_w) AM_SHARE("videoram")
@@ -577,7 +577,7 @@ static ADDRESS_MAP_START( spfghmk2_map, AS_PROGRAM, 8, astrof_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tomahawk_map, AS_PROGRAM, 8, astrof_state )
+ADDRESS_MAP_START(astrof_state::tomahawk_map)
AM_RANGE(0x0000, 0x03ff) AM_MIRROR(0x1c00) AM_RAM
AM_RANGE(0x2000, 0x3fff) AM_NOP
AM_RANGE(0x4000, 0x5fff) AM_RAM_WRITE(tomahawk_videoram_w) AM_SHARE("videoram")
diff --git a/src/mame/drivers/astrohome.cpp b/src/mame/drivers/astrohome.cpp
index 3626fd37fa7..0a4a454839f 100644
--- a/src/mame/drivers/astrohome.cpp
+++ b/src/mame/drivers/astrohome.cpp
@@ -35,6 +35,8 @@ public:
required_device<astrocade_exp_device> m_exp;
DECLARE_MACHINE_START(astrocde);
void astrocde(machine_config &config);
+ void astrocade_io(address_map &map);
+ void astrocade_mem(address_map &map);
};
/*********************************************************************************
@@ -51,7 +53,7 @@ public:
*
*********************************************************************************/
-static ADDRESS_MAP_START( astrocade_mem, AS_PROGRAM, 8, astrocde_mess_state )
+ADDRESS_MAP_START(astrocde_mess_state::astrocade_mem)
AM_RANGE(0x0000, 0x0fff) AM_ROM AM_WRITE(astrocade_funcgen_w)
AM_RANGE(0x1000, 0x3fff) AM_ROM /* Star Fortress writes in here?? */
AM_RANGE(0x4000, 0x4fff) AM_RAM AM_SHARE("videoram") /* ASG */
@@ -59,7 +61,7 @@ static ADDRESS_MAP_START( astrocade_mem, AS_PROGRAM, 8, astrocde_mess_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( astrocade_io, AS_IO, 8, astrocde_mess_state )
+ADDRESS_MAP_START(astrocde_mess_state::astrocade_io)
AM_RANGE(0x00, 0x1f) AM_SELECT(0xff00) AM_READWRITE(astrocade_data_chip_register_r, astrocade_data_chip_register_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/astropc.cpp b/src/mame/drivers/astropc.cpp
index f7653508979..d139da1bb02 100644
--- a/src/mame/drivers/astropc.cpp
+++ b/src/mame/drivers/astropc.cpp
@@ -24,6 +24,8 @@ public:
{ }
void astropc(machine_config &config);
+ void astropc_io(address_map &map);
+ void astropc_map(address_map &map);
protected:
// devices
@@ -32,12 +34,12 @@ public:
DECLARE_DRIVER_INIT(astropc);
};
-static ADDRESS_MAP_START( astropc_map, AS_PROGRAM, 32, astropc_state )
+ADDRESS_MAP_START(astropc_state::astropc_map)
AM_RANGE(0x000c0000, 0x000fffff) AM_ROM AM_REGION("bios", 0 )
AM_RANGE(0xfffc0000, 0xffffffff) AM_ROM AM_REGION("bios", 0 )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( astropc_io, AS_IO, 32, astropc_state )
+ADDRESS_MAP_START(astropc_state::astropc_io)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/asuka.cpp b/src/mame/drivers/asuka.cpp
index 24462e078ef..d28fc60ca69 100644
--- a/src/mame/drivers/asuka.cpp
+++ b/src/mame/drivers/asuka.cpp
@@ -328,7 +328,7 @@ WRITE8_MEMBER(asuka_state::coin_control_w)
MEMORY STRUCTURES
***********************************************************/
-static ADDRESS_MAP_START( bonzeadv_map, AS_PROGRAM, 16, asuka_state )
+ADDRESS_MAP_START(asuka_state::bonzeadv_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x0fffff) AM_ROM
AM_RANGE(0x10c000, 0x10ffff) AM_RAM
@@ -348,7 +348,7 @@ static ADDRESS_MAP_START( bonzeadv_map, AS_PROGRAM, 16, asuka_state )
AM_RANGE(0xd00000, 0xd03fff) AM_DEVREADWRITE("pc090oj", pc090oj_device, word_r, word_w) /* sprite ram */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( asuka_map, AS_PROGRAM, 16, asuka_state )
+ADDRESS_MAP_START(asuka_state::asuka_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM
AM_RANGE(0x1076f0, 0x1076f1) AM_READNOP /* Mofflott init does dummy reads here */
@@ -363,7 +363,7 @@ static ADDRESS_MAP_START( asuka_map, AS_PROGRAM, 16, asuka_state )
AM_RANGE(0xd00000, 0xd03fff) AM_DEVREADWRITE("pc090oj", pc090oj_device, word_r, word_w) /* sprite ram */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cadash_map, AS_PROGRAM, 16, asuka_state )
+ADDRESS_MAP_START(asuka_state::cadash_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x080003) AM_WRITE(asuka_spritectrl_w)
AM_RANGE(0x0c0000, 0x0c0001) AM_READNOP AM_DEVWRITE8("ciu", pc060ha_device, master_port_w, 0x00ff)
@@ -377,7 +377,7 @@ static ADDRESS_MAP_START( cadash_map, AS_PROGRAM, 16, asuka_state )
AM_RANGE(0xc20000, 0xc2000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( eto_map, AS_PROGRAM, 16 /* N.B. tc100scn mirror overlaps spriteram */, asuka_state )
+ADDRESS_MAP_START(asuka_state::eto_map) /* N.B. tc100scn mirror overlaps spriteram */
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10000f) AM_DEVREADWRITE("tc0110pcr", tc0110pcr_device, word_r, step1_word_w)
AM_RANGE(0x200000, 0x203fff) AM_RAM
@@ -395,7 +395,7 @@ ADDRESS_MAP_END
/***************************************************************************/
-static ADDRESS_MAP_START( bonzeadv_z80_map, AS_PROGRAM, 8, asuka_state )
+ADDRESS_MAP_START(asuka_state::bonzeadv_z80_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("audiobank")
AM_RANGE(0xc000, 0xdfff) AM_RAM
@@ -409,7 +409,7 @@ static ADDRESS_MAP_START( bonzeadv_z80_map, AS_PROGRAM, 8, asuka_state )
AM_RANGE(0xf200, 0xf200) AM_WRITE(sound_bankswitch_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( z80_map, AS_PROGRAM, 8, asuka_state )
+ADDRESS_MAP_START(asuka_state::z80_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("audiobank")
AM_RANGE(0x8000, 0x8fff) AM_RAM
@@ -423,7 +423,7 @@ static ADDRESS_MAP_START( z80_map, AS_PROGRAM, 8, asuka_state )
ADDRESS_MAP_END
/* no MSM5205 */
-static ADDRESS_MAP_START( cadash_z80_map, AS_PROGRAM, 8, asuka_state )
+ADDRESS_MAP_START(asuka_state::cadash_z80_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("audiobank")
AM_RANGE(0x8000, 0x8fff) AM_RAM
@@ -448,12 +448,12 @@ communicates with m68k S with its own shared ram. In short:
m68k M -> z180 M <-> z180 S <- m68k S
*/
-static ADDRESS_MAP_START( cadash_sub_map, AS_PROGRAM, 8, asuka_state )
+ADDRESS_MAP_START(asuka_state::cadash_sub_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("sharedram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cadash_sub_io, AS_IO, 8, asuka_state )
+ADDRESS_MAP_START(asuka_state::cadash_sub_io)
AM_RANGE(0x00, 0x3f) AM_RAM // z180 internal I/O regs
ADDRESS_MAP_END
diff --git a/src/mame/drivers/at.cpp b/src/mame/drivers/at.cpp
index e8c6f501f50..79388ad3203 100644
--- a/src/mame/drivers/at.cpp
+++ b/src/mame/drivers/at.cpp
@@ -146,6 +146,16 @@ public:
static void cfg_single_360K(device_t *device);
static void cfg_single_1200K(device_t *device);
+ void at16_io(address_map &map);
+ void at16_map(address_map &map);
+ void at16l_map(address_map &map);
+ void at32_io(address_map &map);
+ void at32_map(address_map &map);
+ void at32l_map(address_map &map);
+ void ficpio_io(address_map &map);
+ void ficpio_map(address_map &map);
+ void neat_io(address_map &map);
+ void ps1_16_io(address_map &map);
};
class megapc_state : public driver_device
@@ -175,24 +185,28 @@ public:
DECLARE_WRITE_LINE_MEMBER( wd7600_spkr ) { m_speaker->level_w(state); }
void megapcpl(machine_config &config);
void megapc(machine_config &config);
+ void megapc_io(address_map &map);
+ void megapc_map(address_map &map);
+ void megapcpl_io(address_map &map);
+ void megapcpl_map(address_map &map);
};
-static ADDRESS_MAP_START( at16_map, AS_PROGRAM, 16, at_state )
+ADDRESS_MAP_START(at_state::at16_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x09ffff) AM_RAMBANK("bank10")
AM_RANGE(0x0e0000, 0x0fffff) AM_ROM AM_REGION("bios", 0)
AM_RANGE(0xfe0000, 0xffffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( at16l_map, AS_PROGRAM, 16, at_state )
+ADDRESS_MAP_START(at_state::at16l_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x09ffff) AM_RAMBANK("bank10")
AM_RANGE(0x0e0000, 0x0fffff) AM_ROM AM_REGION("bios", 0x20000)
AM_RANGE(0xfe0000, 0xffffff) AM_ROM AM_REGION("bios", 0x20000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( at32_map, AS_PROGRAM, 32, at_state )
+ADDRESS_MAP_START(at_state::at32_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000000, 0x0009ffff) AM_RAMBANK("bank10")
AM_RANGE(0x000e0000, 0x000fffff) AM_ROM AM_REGION("bios", 0)
@@ -200,7 +214,7 @@ static ADDRESS_MAP_START( at32_map, AS_PROGRAM, 32, at_state )
AM_RANGE(0xfffe0000, 0xffffffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( at32l_map, AS_PROGRAM, 32, at_state )
+ADDRESS_MAP_START(at_state::at32l_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000000, 0x0009ffff) AM_RAMBANK("bank10")
AM_RANGE(0x000e0000, 0x000fffff) AM_ROM AM_REGION("bios", 0x20000)
@@ -208,14 +222,14 @@ static ADDRESS_MAP_START( at32l_map, AS_PROGRAM, 32, at_state )
AM_RANGE(0xfffe0000, 0xffffffff) AM_ROM AM_REGION("bios", 0x20000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ficpio_map, AS_PROGRAM, 32, at_state )
+ADDRESS_MAP_START(at_state::ficpio_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000000, 0x0009ffff) AM_RAMBANK("bank10")
AM_RANGE(0x00800000, 0x00800bff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xfffe0000, 0xffffffff) AM_ROM AM_REGION("isa", 0x20000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( at16_io, AS_IO, 16, at_state )
+ADDRESS_MAP_START(at_state::at16_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x00ff) AM_DEVICE("mb", at_mb_device, map)
ADDRESS_MAP_END
@@ -242,25 +256,25 @@ READ8_MEMBER( at_state::ps1_portb_r )
return data;
}
-static ADDRESS_MAP_START(ps1_16_io, AS_IO, 16, at_state )
+ADDRESS_MAP_START(at_state::ps1_16_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x00ff) AM_DEVICE("mb", at_mb_device, map)
AM_RANGE(0x0060, 0x0061) AM_READ8(ps1_portb_r, 0xff00)
AM_RANGE(0x0102, 0x0105) AM_READWRITE(ps1_unk_r, ps1_unk_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( neat_io, AS_IO, 16, at_state )
+ADDRESS_MAP_START(at_state::neat_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x00ff) AM_DEVICE("mb", at_mb_device, map)
AM_RANGE(0x0022, 0x0023) AM_DEVICE("cs8221", cs8221_device, map)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( at32_io, AS_IO, 32, at_state )
+ADDRESS_MAP_START(at_state::at32_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x00ff) AM_DEVICE16("mb", at_mb_device, map, 0xffffffff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ficpio_io, AS_IO, 32, at_state )
+ADDRESS_MAP_START(at_state::ficpio_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x00ff) AM_DEVICE16("mb", at_mb_device, map, 0xffffffff)
AM_RANGE(0x00a8, 0x00af) AM_DEVREADWRITE8("chipset", vt82c496_device, read, write, 0xffffffff)
@@ -323,17 +337,17 @@ WRITE_LINE_MEMBER( megapc_state::wd7600_hold )
m_wd7600->hlda_w(state);
}
-static ADDRESS_MAP_START( megapc_map, AS_PROGRAM, 16, at_state )
+ADDRESS_MAP_START(megapc_state::megapc_map)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( megapcpl_map, AS_PROGRAM, 32, at_state )
+ADDRESS_MAP_START(megapc_state::megapcpl_map)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( megapc_io, AS_IO, 16, at_state )
+ADDRESS_MAP_START(megapc_state::megapc_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_END
-static ADDRESS_MAP_START( megapcpl_io, AS_IO, 32, at_state )
+ADDRESS_MAP_START(megapc_state::megapcpl_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_END
diff --git a/src/mame/drivers/atari400.cpp b/src/mame/drivers/atari400.cpp
index 6994ea0755f..028688a9b1b 100644
--- a/src/mame/drivers/atari400.cpp
+++ b/src/mame/drivers/atari400.cpp
@@ -313,6 +313,13 @@ public:
void a600xl(machine_config &config);
void xegs(machine_config &config);
void a400(machine_config &config);
+ void a1200xl_mem(address_map &map);
+ void a130xe_mem(address_map &map);
+ void a400_mem(address_map &map);
+ void a5200_mem(address_map &map);
+ void a600xl_mem(address_map &map);
+ void a800xl_mem(address_map &map);
+ void xegs_mem(address_map &map);
protected:
//required_device<cpu_device> m_maincpu; // maincpu is already contained in atari_common_state
required_device<ram_device> m_ram;
@@ -551,7 +558,7 @@ WRITE8_MEMBER(a400_state::xegs_low_w)
**************************************************************/
-static ADDRESS_MAP_START(a400_mem, AS_PROGRAM, 8, a400_state)
+ADDRESS_MAP_START(a400_state::a400_mem)
AM_RANGE(0x0000, 0xbfff) AM_NOP // RAM installed at runtime
AM_RANGE(0xc000, 0xcfff) AM_ROM
AM_RANGE(0xd000, 0xd0ff) AM_DEVREADWRITE("gtia", gtia_device, read, write)
@@ -564,7 +571,7 @@ static ADDRESS_MAP_START(a400_mem, AS_PROGRAM, 8, a400_state)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(a600xl_mem, AS_PROGRAM, 8, a400_state)
+ADDRESS_MAP_START(a400_state::a600xl_mem)
AM_RANGE(0x0000, 0x3fff) AM_RAM
AM_RANGE(0x5000, 0x57ff) AM_READ(a600xl_low_r) // self test or NOP
AM_RANGE(0xa000, 0xbfff) AM_ROM // BASIC
@@ -579,7 +586,7 @@ static ADDRESS_MAP_START(a600xl_mem, AS_PROGRAM, 8, a400_state)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(a1200xl_mem, AS_PROGRAM, 8, a400_state)
+ADDRESS_MAP_START(a400_state::a1200xl_mem)
AM_RANGE(0x0000, 0xcfff) AM_READWRITE(a1200xl_low_r, xegs_low_w)
AM_RANGE(0xd000, 0xd0ff) AM_DEVREADWRITE("gtia", gtia_device, read, write)
AM_RANGE(0xd100, 0xd1ff) AM_NOP
@@ -591,7 +598,7 @@ static ADDRESS_MAP_START(a1200xl_mem, AS_PROGRAM, 8, a400_state)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(a800xl_mem, AS_PROGRAM, 8, a400_state)
+ADDRESS_MAP_START(a400_state::a800xl_mem)
AM_RANGE(0x0000, 0xcfff) AM_READWRITE(a800xl_low_r, a800xl_low_w)
AM_RANGE(0xd000, 0xd0ff) AM_DEVREADWRITE("gtia", gtia_device, read, write)
AM_RANGE(0xd100, 0xd1ff) AM_NOP
@@ -603,7 +610,7 @@ static ADDRESS_MAP_START(a800xl_mem, AS_PROGRAM, 8, a400_state)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(a130xe_mem, AS_PROGRAM, 8, a400_state)
+ADDRESS_MAP_START(a400_state::a130xe_mem)
AM_RANGE(0x0000, 0xcfff) AM_READWRITE(a130xe_low_r, a800xl_low_w)
AM_RANGE(0xd000, 0xd0ff) AM_DEVREADWRITE("gtia", gtia_device, read, write)
AM_RANGE(0xd100, 0xd1ff) AM_NOP
@@ -615,7 +622,7 @@ static ADDRESS_MAP_START(a130xe_mem, AS_PROGRAM, 8, a400_state)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(xegs_mem, AS_PROGRAM, 8, a400_state)
+ADDRESS_MAP_START(a400_state::xegs_mem)
AM_RANGE(0x0000, 0xcfff) AM_READWRITE(xegs_low_r, xegs_low_w)
AM_RANGE(0xd000, 0xd0ff) AM_DEVREADWRITE("gtia", gtia_device, read, write)
AM_RANGE(0xd100, 0xd1ff) AM_NOP
@@ -627,7 +634,7 @@ static ADDRESS_MAP_START(xegs_mem, AS_PROGRAM, 8, a400_state)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(a5200_mem, AS_PROGRAM, 8, a400_state)
+ADDRESS_MAP_START(a400_state::a5200_mem)
AM_RANGE(0x0000, 0x3fff) AM_RAM
AM_RANGE(0x4000, 0xbfff) AM_NOP // ROM installed at machine start
AM_RANGE(0xc000, 0xcfff) AM_DEVREADWRITE("gtia", gtia_device, read, write)
diff --git a/src/mame/drivers/atari_s1.cpp b/src/mame/drivers/atari_s1.cpp
index fde4c670d00..e5df8554419 100644
--- a/src/mame/drivers/atari_s1.cpp
+++ b/src/mame/drivers/atari_s1.cpp
@@ -92,6 +92,9 @@ public:
void midearth(machine_config &config);
void atari_s1(machine_config &config);
void atarians(machine_config &config);
+ void atari_s1_map(address_map &map);
+ void atarians_map(address_map &map);
+ void midearth_map(address_map &map);
private:
bool m_audiores;
uint8_t m_timer_s[3];
@@ -111,7 +114,7 @@ private:
required_ioport_array<10> m_switch;
};
-static ADDRESS_MAP_START( atari_s1_map, AS_PROGRAM, 8, atari_s1_state )
+ADDRESS_MAP_START(atari_s1_state::atari_s1_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x00ff) AM_RAM AM_SHARE("ram")
AM_RANGE(0x1080, 0x1083) AM_READWRITE(m1080_r,m1080_w)
@@ -126,7 +129,7 @@ static ADDRESS_MAP_START( atari_s1_map, AS_PROGRAM, 8, atari_s1_state )
AM_RANGE(0x7000, 0x7fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( atarians_map, AS_PROGRAM, 8, atari_s1_state ) // more ram
+ADDRESS_MAP_START(atari_s1_state::atarians_map) // more ram
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x01ff) AM_RAM AM_SHARE("ram")
AM_RANGE(0x1080, 0x1083) AM_READWRITE(m1080_r,m1080_w)
@@ -140,7 +143,7 @@ static ADDRESS_MAP_START( atarians_map, AS_PROGRAM, 8, atari_s1_state ) // more
AM_RANGE(0x7000, 0x7fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( midearth_map, AS_PROGRAM, 8, atari_s1_state )
+ADDRESS_MAP_START(atari_s1_state::midearth_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x01ff) AM_RAM AM_SHARE("ram")
AM_RANGE(0x1000, 0x11ff) AM_WRITE(midearth_w)
diff --git a/src/mame/drivers/atari_s2.cpp b/src/mame/drivers/atari_s2.cpp
index af72ef03f47..c6e87417559 100644
--- a/src/mame/drivers/atari_s2.cpp
+++ b/src/mame/drivers/atari_s2.cpp
@@ -55,6 +55,8 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(timer_s);
void atari_s2(machine_config &config);
void atari_s3(machine_config &config);
+ void atari_s2_map(address_map &map);
+ void atari_s3_map(address_map &map);
private:
bool m_timer_sb;
uint8_t m_timer_s[5];
@@ -71,7 +73,7 @@ private:
};
-static ADDRESS_MAP_START( atari_s2_map, AS_PROGRAM, 8, atari_s2_state )
+ADDRESS_MAP_START(atari_s2_state::atari_s2_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x00ff) AM_MIRROR(0x0700) AM_RAM
AM_RANGE(0x0800, 0x08ff) AM_MIRROR(0x0700) AM_RAM AM_SHARE("nvram") // battery backed
@@ -98,7 +100,7 @@ static ADDRESS_MAP_START( atari_s2_map, AS_PROGRAM, 8, atari_s2_state )
AM_RANGE(0x2800, 0x3fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( atari_s3_map, AS_PROGRAM, 8, atari_s2_state )
+ADDRESS_MAP_START(atari_s2_state::atari_s3_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x00ff) AM_MIRROR(0x0700) AM_RAM
AM_RANGE(0x0800, 0x08ff) AM_MIRROR(0x0700) AM_RAM AM_SHARE("nvram") // battery backed
diff --git a/src/mame/drivers/atarifb.cpp b/src/mame/drivers/atarifb.cpp
index f935090a5ad..983938f1135 100644
--- a/src/mame/drivers/atarifb.cpp
+++ b/src/mame/drivers/atarifb.cpp
@@ -150,7 +150,7 @@ PALETTE_INIT_MEMBER(atarifb_state, atarifb)
*
*************************************/
-static ADDRESS_MAP_START( atarifb_map, AS_PROGRAM, 8, atarifb_state )
+ADDRESS_MAP_START(atarifb_state::atarifb_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x0200, 0x025f) AM_RAM_WRITE(atarifb_alpha1_videoram_w) AM_SHARE("p1_videoram")
@@ -170,7 +170,7 @@ static ADDRESS_MAP_START( atarifb_map, AS_PROGRAM, 8, atarifb_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( atarifb4_map, AS_PROGRAM, 8, atarifb_state )
+ADDRESS_MAP_START(atarifb_state::atarifb4_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x0200, 0x025f) AM_RAM_WRITE(atarifb_alpha1_videoram_w) AM_SHARE("p1_videoram")
@@ -191,7 +191,7 @@ static ADDRESS_MAP_START( atarifb4_map, AS_PROGRAM, 8, atarifb_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( abaseb_map, AS_PROGRAM, 8, atarifb_state )
+ADDRESS_MAP_START(atarifb_state::abaseb_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x0200, 0x025f) AM_RAM_WRITE(atarifb_alpha1_videoram_w) AM_SHARE("p1_videoram")
@@ -211,7 +211,7 @@ static ADDRESS_MAP_START( abaseb_map, AS_PROGRAM, 8, atarifb_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( soccer_map, AS_PROGRAM, 8, atarifb_state )
+ADDRESS_MAP_START(atarifb_state::soccer_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x0200, 0x025f) AM_RAM_WRITE(atarifb_alpha1_videoram_w) AM_SHARE("p1_videoram")
diff --git a/src/mame/drivers/atarig1.cpp b/src/mame/drivers/atarig1.cpp
index fa9f1a7fd47..3920ea683c1 100644
--- a/src/mame/drivers/atarig1.cpp
+++ b/src/mame/drivers/atarig1.cpp
@@ -190,7 +190,7 @@ void atarig1_state::pitfightb_cheap_slapstic_init()
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarig1_state )
+ADDRESS_MAP_START(atarig1_state::main_map)
AM_RANGE(0x000000, 0x037fff) AM_ROM
AM_RANGE(0x038000, 0x03ffff) AM_ROM /* pitfight slapstic goes here */
AM_RANGE(0x040000, 0x077fff) AM_ROM
diff --git a/src/mame/drivers/atarig42.cpp b/src/mame/drivers/atarig42.cpp
index 5dff3b19037..fb60d4653b0 100644
--- a/src/mame/drivers/atarig42.cpp
+++ b/src/mame/drivers/atarig42.cpp
@@ -320,7 +320,7 @@ WRITE16_MEMBER(atarig42_state::guardians_sloop_data_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarig42_state )
+ADDRESS_MAP_START(atarig42_state::main_map)
AM_RANGE(0x000000, 0x080001) AM_ROM
AM_RANGE(0xe00000, 0xe00001) AM_READ_PORT("IN0")
AM_RANGE(0xe00002, 0xe00003) AM_READ_PORT("IN1")
diff --git a/src/mame/drivers/atarigt.cpp b/src/mame/drivers/atarigt.cpp
index bcfb4374d27..56152effccf 100644
--- a/src/mame/drivers/atarigt.cpp
+++ b/src/mame/drivers/atarigt.cpp
@@ -596,7 +596,7 @@ WRITE32_MEMBER(atarigt_state::colorram_protection_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, atarigt_state )
+ADDRESS_MAP_START(atarigt_state::main_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0xc00000, 0xc00003) AM_READWRITE(sound_data_r, sound_data_w)
AM_RANGE(0xd00014, 0xd00017) AM_READ(analog_port0_r)
diff --git a/src/mame/drivers/atarigx2.cpp b/src/mame/drivers/atarigx2.cpp
index 1e0c94bf149..b149f7fe9bd 100644
--- a/src/mame/drivers/atarigx2.cpp
+++ b/src/mame/drivers/atarigx2.cpp
@@ -1196,7 +1196,7 @@ READ32_MEMBER( atarigx2_state::rrreveng_prot_r )
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, atarigx2_state )
+ADDRESS_MAP_START(atarigx2_state::main_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0xc80000, 0xc80fff) AM_RAM
diff --git a/src/mame/drivers/atarist.cpp b/src/mame/drivers/atarist.cpp
index b7f8252fc9b..259d06ca2bc 100644
--- a/src/mame/drivers/atarist.cpp
+++ b/src/mame/drivers/atarist.cpp
@@ -1203,7 +1203,7 @@ WRITE16_MEMBER( stbook_state::lcd_control_w )
// ADDRESS_MAP( ikbd_map )
//-------------------------------------------------
-static ADDRESS_MAP_START( ikbd_map, AS_PROGRAM, 8, st_state )
+ADDRESS_MAP_START(st_state::ikbd_map)
AM_RANGE(0x0000, 0x001f) AM_DEVREADWRITE(HD6301V1_TAG, hd6301_cpu_device, m6801_io_r, m6801_io_w)
AM_RANGE(0x0080, 0x00ff) AM_RAM
AM_RANGE(0xf000, 0xffff) AM_ROM AM_REGION(HD6301V1_TAG, 0)
@@ -1214,7 +1214,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( ikbd_io_map )
//-------------------------------------------------
-static ADDRESS_MAP_START( ikbd_io_map, AS_IO, 8, st_state )
+ADDRESS_MAP_START(st_state::ikbd_io_map)
AM_RANGE(M6801_PORT1, M6801_PORT1) AM_READ(ikbd_port1_r)
AM_RANGE(M6801_PORT2, M6801_PORT2) AM_READWRITE(ikbd_port2_r, ikbd_port2_w)
AM_RANGE(M6801_PORT3, M6801_PORT3) AM_WRITE(ikbd_port3_w)
@@ -1226,7 +1226,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( st_map )
//-------------------------------------------------
-static ADDRESS_MAP_START( st_map, AS_PROGRAM, 16, st_state )
+ADDRESS_MAP_START(st_state::st_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x000007) AM_ROM AM_REGION(M68000_TAG, 0) AM_WRITE(berr_w)
AM_RANGE(0x000008, 0x1fffff) AM_RAM
@@ -1269,7 +1269,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( megast_map )
//-------------------------------------------------
-static ADDRESS_MAP_START( megast_map, AS_PROGRAM, 16, megast_state )
+ADDRESS_MAP_START(megast_state::megast_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x000007) AM_ROM AM_REGION(M68000_TAG, 0)
AM_RANGE(0x000008, 0x1fffff) AM_RAM
@@ -1312,7 +1312,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( ste_map )
//-------------------------------------------------
-static ADDRESS_MAP_START( ste_map, AS_PROGRAM, 16, ste_state )
+ADDRESS_MAP_START(ste_state::ste_map)
AM_IMPORT_FROM(st_map)
/* AM_RANGE(0xe00000, 0xe3ffff) AM_ROM AM_REGION(M68000_TAG, 0)
AM_RANGE(0xff8204, 0xff8209) AM_READWRITE8(shifter_counter_r, shifter_counter_w, 0x00ff)
@@ -1353,7 +1353,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( megaste_map )
//-------------------------------------------------
-static ADDRESS_MAP_START( megaste_map, AS_PROGRAM, 16, megaste_state )
+ADDRESS_MAP_START(megaste_state::megaste_map)
AM_IMPORT_FROM(st_map)
/* AM_RANGE(0xff8204, 0xff8209) AM_READWRITE(shifter_counter_r, shifter_counter_w)
AM_RANGE(0xff820c, 0xff820d) AM_READWRITE(shifter_base_low_r, shifter_base_low_w)
@@ -1390,7 +1390,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( stbook_map )
//-------------------------------------------------
#if 0
-static ADDRESS_MAP_START( stbook_map, AS_PROGRAM, 16, stbook_state )
+ADDRESS_MAP_START(stbook_state::stbook_map)
AM_RANGE(0x000000, 0x1fffff) AM_RAM
AM_RANGE(0x200000, 0x3fffff) AM_RAM
// AM_RANGE(0xd40000, 0xd7ffff) AM_ROM
diff --git a/src/mame/drivers/atarisy1.cpp b/src/mame/drivers/atarisy1.cpp
index 6541e19297f..c80bed7dea7 100644
--- a/src/mame/drivers/atarisy1.cpp
+++ b/src/mame/drivers/atarisy1.cpp
@@ -445,7 +445,7 @@ WRITE_LINE_MEMBER(atarisy1_state::coin_counter_left_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarisy1_state )
+ADDRESS_MAP_START(atarisy1_state::main_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x087fff) AM_ROM /* slapstic maps here */
AM_RANGE(0x2e0000, 0x2e0001) AM_READ(atarisy1_int3state_r)
@@ -479,7 +479,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, atarisy1_state )
+ADDRESS_MAP_START(atarisy1_state::sound_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x100f) AM_DEVREADWRITE("via6522_0", via6522_device, read, write)
AM_RANGE(0x1800, 0x1801) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
diff --git a/src/mame/drivers/atarisy2.cpp b/src/mame/drivers/atarisy2.cpp
index 614c585fece..7591f8a47dc 100644
--- a/src/mame/drivers/atarisy2.cpp
+++ b/src/mame/drivers/atarisy2.cpp
@@ -753,7 +753,7 @@ WRITE8_MEMBER(atarisy2_state::coincount_w)
*************************************/
/* full memory map derived from schematics */
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarisy2_state )
+ADDRESS_MAP_START(atarisy2_state::main_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x11ff) AM_MIRROR(0x0200) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x1400, 0x1403) AM_MIRROR(0x007c) AM_READWRITE(adc_r, bankselect_w)
@@ -784,7 +784,7 @@ ADDRESS_MAP_END
*************************************/
/* full memory map derived from schematics */
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, atarisy2_state )
+ADDRESS_MAP_START(atarisy2_state::sound_map)
AM_RANGE(0x0000, 0x0fff) AM_MIRROR(0x2000) AM_RAM
AM_RANGE(0x1000, 0x17ff) AM_MIRROR(0x2000) AM_DEVREADWRITE("eeprom", eeprom_parallel_28xx_device, read, write)
AM_RANGE(0x1800, 0x180f) AM_MIRROR(0x2780) AM_DEVREADWRITE("pokey1", pokey_device, read, write)
diff --git a/src/mame/drivers/atarisy4.cpp b/src/mame/drivers/atarisy4.cpp
index b53c6607f1d..f872a3b5bd6 100644
--- a/src/mame/drivers/atarisy4.cpp
+++ b/src/mame/drivers/atarisy4.cpp
@@ -109,6 +109,11 @@ public:
void load_hexfile(address_space &space, const uint8_t *file);
void airrace(machine_config &config);
void atarisy4(machine_config &config);
+ void dsp0_io_map(address_map &map);
+ void dsp0_map(address_map &map);
+ void dsp1_io_map(address_map &map);
+ void dsp1_map(address_map &map);
+ void main_map(address_map &map);
};
@@ -666,7 +671,7 @@ WRITE16_MEMBER(atarisy4_state::dsp1_bank_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarisy4_state )
+ADDRESS_MAP_START(atarisy4_state::main_map)
AM_RANGE(0x000000, 0x00ffff) AM_RAM AM_SHARE("m68k_ram")
AM_RANGE(0x010000, 0x01ffff) AM_RAM
AM_RANGE(0x580000, 0x580001) AM_READ_PORT("JOYSTICK")
@@ -687,13 +692,13 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( dsp0_map, AS_PROGRAM, 16, atarisy4_state )
+ADDRESS_MAP_START(atarisy4_state::dsp0_map)
ADDRESS_MAP_GLOBAL_MASK(0xfff)
AM_RANGE(0x0000, 0x07ff) AM_RAMBANK("dsp0_bank0")
AM_RANGE(0x0800, 0x0fff) AM_RAMBANK("dsp0_bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dsp0_io_map, AS_IO, 16, atarisy4_state )
+ADDRESS_MAP_START(atarisy4_state::dsp0_io_map)
AM_RANGE(0x00, 0x01) AM_WRITE(dsp0_bank_w)
ADDRESS_MAP_END
@@ -704,13 +709,13 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( dsp1_map, AS_PROGRAM, 16, atarisy4_state )
+ADDRESS_MAP_START(atarisy4_state::dsp1_map)
ADDRESS_MAP_GLOBAL_MASK(0xfff)
AM_RANGE(0x0000, 0x07ff) AM_RAMBANK("dsp1_bank0")
AM_RANGE(0x0800, 0x0fff) AM_RAMBANK("dsp1_bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dsp1_io_map, AS_IO, 16, atarisy4_state )
+ADDRESS_MAP_START(atarisy4_state::dsp1_io_map)
AM_RANGE(0x00, 0x01) AM_WRITE(dsp1_bank_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/atetris.cpp b/src/mame/drivers/atetris.cpp
index bdac29bac25..d826a5ca48e 100644
--- a/src/mame/drivers/atetris.cpp
+++ b/src/mame/drivers/atetris.cpp
@@ -193,7 +193,7 @@ WRITE8_MEMBER(atetris_state::nvram_enable_w)
*************************************/
/* full address map derived from schematics */
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, atetris_state )
+ADDRESS_MAP_START(atetris_state::main_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
AM_RANGE(0x2000, 0x20ff) AM_MIRROR(0x0300) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
@@ -210,7 +210,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, atetris_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( atetrisb2_map, AS_PROGRAM, 8, atetris_state )
+ADDRESS_MAP_START(atetris_state::atetrisb2_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
AM_RANGE(0x2000, 0x20ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
@@ -230,7 +230,7 @@ static ADDRESS_MAP_START( atetrisb2_map, AS_PROGRAM, 8, atetris_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( atetrisb3_map, AS_PROGRAM, 8, atetris_state )
+ADDRESS_MAP_START(atetris_state::atetrisb3_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
AM_RANGE(0x2000, 0x20ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
diff --git a/src/mame/drivers/atlantis.cpp b/src/mame/drivers/atlantis.cpp
index a3210de8912..e28163e268f 100644
--- a/src/mame/drivers/atlantis.cpp
+++ b/src/mame/drivers/atlantis.cpp
@@ -183,6 +183,10 @@ public:
DECLARE_READ8_MEMBER(parallel_r);
DECLARE_WRITE8_MEMBER(parallel_w);
void mwskins(machine_config &config);
+ void map0(address_map &map);
+ void map1(address_map &map);
+ void map2(address_map &map);
+ void map3(address_map &map);
};
// Parallel Port
@@ -661,7 +665,7 @@ void atlantis_state::device_timer(emu_timer &timer, device_timer_id id, int para
/*************************************
* Address Maps
*************************************/
-static ADDRESS_MAP_START( map0, AS_PROGRAM, 32, atlantis_state )
+ADDRESS_MAP_START(atlantis_state::map0)
AM_RANGE(0x00000000, 0x0001ffff) AM_READWRITE8(cmos_r, cmos_w, 0xff)
//AM_RANGE(0x00080000, 0x000?0000) AM_READWRITE8(zeus debug)
AM_RANGE(0x00100000, 0x0010001f) AM_DEVREADWRITE8("uart1", ns16550_device, ins8250_r, ins8250_w, 0xff) // Serial UART1 (TL16C552 CS0)
@@ -675,7 +679,7 @@ static ADDRESS_MAP_START( map0, AS_PROGRAM, 32, atlantis_state )
//AM_RANGE(0x00f00000, 0x00f00003) AM_NOP // Trackball ctrl
ADDRESS_MAP_END
-static ADDRESS_MAP_START( map1, AS_PROGRAM, 32, atlantis_state )
+ADDRESS_MAP_START(atlantis_state::map1)
AM_RANGE(0x00000000, 0x0000003f) AM_DEVREADWRITE("ioasic", midway_ioasic_device, read, write)
AM_RANGE(0x00200000, 0x00200003) AM_WRITE(dcs3_fifo_full_w)
AM_RANGE(0x00400000, 0x00400003) AM_DEVWRITE("dcs", dcs_audio_device, dsio_idma_addr_w)
@@ -691,11 +695,11 @@ static ADDRESS_MAP_START( map1, AS_PROGRAM, 32, atlantis_state )
//AM_RANGE(0x00c00000, 0x00c00003) // Trackball Pins 16 bits
ADDRESS_MAP_END
-static ADDRESS_MAP_START(map2, AS_PROGRAM, 32, atlantis_state)
+ADDRESS_MAP_START(atlantis_state::map2)
AM_RANGE(0x00000000, 0x000001ff) AM_DEVREADWRITE("zeus2", zeus2_device, zeus2_r, zeus2_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( map3, AS_PROGRAM, 32, atlantis_state )
+ADDRESS_MAP_START(atlantis_state::map3)
//AM_RANGE(0x000000, 0xffffff) ROMBUS
ADDRESS_MAP_END
@@ -807,10 +811,10 @@ MACHINE_CONFIG_START(atlantis_state::mwskins)
MCFG_VRC4373_ADD( PCI_ID_NILE, ":maincpu")
MCFG_VRC4373_SET_RAM(0x00800000)
MCFG_PCI9050_ADD( PCI_ID_9050)
- MCFG_PCI9050_SET_MAP(0, map0)
- MCFG_PCI9050_SET_MAP(1, map1)
- MCFG_PCI9050_SET_MAP(2, map2)
- MCFG_PCI9050_SET_MAP(3, map3)
+ MCFG_PCI9050_SET_MAP(0, atlantis_state::map0)
+ MCFG_PCI9050_SET_MAP(1, atlantis_state::map1)
+ MCFG_PCI9050_SET_MAP(2, atlantis_state::map2)
+ MCFG_PCI9050_SET_MAP(3, atlantis_state::map3)
MCFG_PCI9050_USER_OUTPUT_CALLBACK(DEVWRITE32(":", atlantis_state, user_io_output))
MCFG_PCI9050_USER_INPUT_CALLBACK(DEVREAD32(":", atlantis_state, user_io_input))
diff --git a/src/mame/drivers/atm.cpp b/src/mame/drivers/atm.cpp
index 2fe22db449a..8cef5ca9b6d 100644
--- a/src/mame/drivers/atm.cpp
+++ b/src/mame/drivers/atm.cpp
@@ -37,6 +37,9 @@ public:
void atm(machine_config &config);
void atmtb2(machine_config &config);
+ void atm_io(address_map &map);
+ void atm_mem(address_map &map);
+ void atm_switch(address_map &map);
protected:
required_memory_bank m_bank1;
required_memory_bank m_bank2;
@@ -108,14 +111,14 @@ READ8_MEMBER(atm_state::beta_disable_r)
return m_program->read_byte(offset + 0x4000);
}
-static ADDRESS_MAP_START(atm_mem, AS_PROGRAM, 8, atm_state)
+ADDRESS_MAP_START(atm_state::atm_mem)
AM_RANGE(0x0000, 0x3fff) AM_ROMBANK("bank1")
AM_RANGE(0x4000, 0x7fff) AM_RAMBANK("bank2")
AM_RANGE(0x8000, 0xbfff) AM_RAMBANK("bank3")
AM_RANGE(0xc000, 0xffff) AM_RAMBANK("bank4")
ADDRESS_MAP_END
-static ADDRESS_MAP_START (atm_io, AS_IO, 8, atm_state )
+ADDRESS_MAP_START(atm_state::atm_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x001f, 0x001f) AM_DEVREADWRITE(BETA_DISK_TAG, beta_disk_device, status_r, command_w) AM_MIRROR(0xff00)
AM_RANGE(0x003f, 0x003f) AM_DEVREADWRITE(BETA_DISK_TAG, beta_disk_device, track_r, track_w) AM_MIRROR(0xff00)
@@ -128,7 +131,7 @@ static ADDRESS_MAP_START (atm_io, AS_IO, 8, atm_state )
AM_RANGE(0xc000, 0xc000) AM_DEVREADWRITE("ay8912", ay8910_device, data_r, address_w) AM_MIRROR(0x3ffd)
ADDRESS_MAP_END
-static ADDRESS_MAP_START (atm_switch, AS_OPCODES, 8, atm_state)
+ADDRESS_MAP_START(atm_state::atm_switch)
AM_RANGE(0x0000, 0x3fff) AM_READ(beta_neutral_r) // Overlap with previous because we want real addresses on the 3e00-3fff range
AM_RANGE(0x3d00, 0x3dff) AM_READ(beta_enable_r)
AM_RANGE(0x4000, 0xffff) AM_READ(beta_disable_r)
@@ -184,7 +187,7 @@ MACHINE_CONFIG_DERIVED(atm_state::atm, spectrum_128)
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(atm_mem)
MCFG_CPU_IO_MAP(atm_io)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(atm_switch)
+ MCFG_CPU_OPCODES_MAP(atm_switch)
MCFG_MACHINE_RESET_OVERRIDE(atm_state, atm )
MCFG_BETA_DISK_ADD(BETA_DISK_TAG)
diff --git a/src/mame/drivers/atom.cpp b/src/mame/drivers/atom.cpp
index 9a5d0b8bcfb..51171ce91f3 100644
--- a/src/mame/drivers/atom.cpp
+++ b/src/mame/drivers/atom.cpp
@@ -248,7 +248,7 @@ READ8_MEMBER( atomeb_state::dos_r )
ADDRESS_MAP( atom_mem )
-------------------------------------------------*/
-static ADDRESS_MAP_START( atom_mem, AS_PROGRAM, 8, atom_state )
+ADDRESS_MAP_START(atom_state::atom_mem)
AM_RANGE(0x0000, 0x09ff) AM_RAM
AM_RANGE(0x0a00, 0x0a03) AM_MIRROR(0x1f8) AM_DEVICE(I8271_TAG, i8271_device, map)
AM_RANGE(0x0a04, 0x0a04) AM_MIRROR(0x1f8) AM_DEVREADWRITE(I8271_TAG, i8271_device, data_r, data_w)
@@ -267,7 +267,7 @@ ADDRESS_MAP_END
ADDRESS_MAP( atomeb_mem )
-------------------------------------------------*/
-static ADDRESS_MAP_START( atomeb_mem, AS_PROGRAM, 8, atomeb_state )
+ADDRESS_MAP_START(atomeb_state::atomeb_mem)
AM_IMPORT_FROM(atom_mem)
AM_RANGE(0xa000, 0xafff) AM_READ(ext_r)
AM_RANGE(0xbfff, 0xbfff) AM_READWRITE(eprom_r, eprom_w)
@@ -278,7 +278,7 @@ ADDRESS_MAP_END
ADDRESS_MAP( atombb_mem )
-------------------------------------------------*/
-static ADDRESS_MAP_START( atombb_mem, AS_PROGRAM, 8, atom_state )
+ADDRESS_MAP_START(atom_state::atombb_mem)
AM_RANGE(0x0000, 0x3fff) AM_RAM
AM_RANGE(0x4000, 0x57ff) AM_RAM AM_SHARE("video_ram")
diff --git a/src/mame/drivers/atpci.cpp b/src/mame/drivers/atpci.cpp
index 13d50d183f3..06ed0cab4ee 100644
--- a/src/mame/drivers/atpci.cpp
+++ b/src/mame/drivers/atpci.cpp
@@ -27,6 +27,8 @@ public:
static void tx_config(device_t *device);
static void sb_config(device_t *device);
+ void at586_io(address_map &map);
+ void at586_map(address_map &map);
};
WRITE8_MEMBER(at586_state::boot_state_w)
@@ -53,14 +55,14 @@ static SLOT_INTERFACE_START( pci_devices )
SLOT_INTERFACE_INTERNAL("i82371sb", I82371SB)
SLOT_INTERFACE_END
-static ADDRESS_MAP_START( at586_map, AS_PROGRAM, 32, at586_state )
+ADDRESS_MAP_START(at586_state::at586_map)
AM_RANGE(0x00000000, 0x0009ffff) AM_RAMBANK("bank10")
AM_RANGE(0x000a0000, 0x000bffff) AM_NOP
AM_RANGE(0x00800000, 0x00800bff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xfffe0000, 0xffffffff) AM_ROM AM_REGION("isa", 0x20000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( at586_io, AS_IO, 32, at586_state )
+ADDRESS_MAP_START(at586_state::at586_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE("pcibus", pci_bus_device, read, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/atronic.cpp b/src/mame/drivers/atronic.cpp
index 05ccf71dc35..968af2617c7 100644
--- a/src/mame/drivers/atronic.cpp
+++ b/src/mame/drivers/atronic.cpp
@@ -30,6 +30,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void atronic(machine_config &config);
+ void atronic_map(address_map &map);
+ void atronic_portmap(address_map &map);
protected:
// devices
@@ -42,13 +44,13 @@ uint32_t atronic_state::screen_update( screen_device &screen, bitmap_ind16 &bitm
}
-static ADDRESS_MAP_START( atronic_map, AS_PROGRAM, 8, atronic_state )
+ADDRESS_MAP_START(atronic_state::atronic_map)
AM_RANGE(0x00000, 0x7ffff) AM_ROM
AM_RANGE(0xf8000, 0xfffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( atronic_portmap, AS_IO, 8, atronic_state )
+ADDRESS_MAP_START(atronic_state::atronic_portmap)
// ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x3f) AM_RAM
diff --git a/src/mame/drivers/att4425.cpp b/src/mame/drivers/att4425.cpp
index c48cf8f8418..ac23737d76b 100644
--- a/src/mame/drivers/att4425.cpp
+++ b/src/mame/drivers/att4425.cpp
@@ -61,6 +61,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void att4425(machine_config &config);
+ void att4425_io(address_map &map);
+ void att4425_mem(address_map &map);
private:
virtual void machine_start() override;
virtual void video_start() override;
@@ -97,12 +99,12 @@ READ8_MEMBER(att4425_state::port15_r)
return 0;
}
-static ADDRESS_MAP_START( att4425_mem, AS_PROGRAM, 8, att4425_state )
+ADDRESS_MAP_START(att4425_state::att4425_mem)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION(Z80_TAG, 0)
AM_RANGE(0x8000, 0xffff) AM_RAM AM_SHARE("videoram") // c000..f7af?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( att4425_io, AS_IO, 8, att4425_state )
+ADDRESS_MAP_START(att4425_state::att4425_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREADWRITE(I8251_TAG, i8251_device, data_r, data_w)
AM_RANGE(0x01, 0x01) AM_DEVREADWRITE(I8251_TAG, i8251_device, status_r, control_w)
diff --git a/src/mame/drivers/att630.cpp b/src/mame/drivers/att630.cpp
index 1951e0cf46f..9ede731e85c 100644
--- a/src/mame/drivers/att630.cpp
+++ b/src/mame/drivers/att630.cpp
@@ -22,6 +22,7 @@ public:
u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void att630(machine_config &config);
+ void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
};
@@ -31,7 +32,7 @@ u32 att630_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, con
return 0;
}
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 16, att630_state )
+ADDRESS_MAP_START(att630_state::mem_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x200000, 0x20001f) AM_DEVREADWRITE8("duart1", scn2681_device, read, write, 0x00ff)
AM_RANGE(0x200020, 0x20003f) AM_DEVREADWRITE8("duart2", scn2681_device, read, write, 0x00ff)
diff --git a/src/mame/drivers/attache.cpp b/src/mame/drivers/attache.cpp
index d86bc478d96..d63ab493a30 100644
--- a/src/mame/drivers/attache.cpp
+++ b/src/mame/drivers/attache.cpp
@@ -181,6 +181,8 @@ public:
uint8_t keyboard_data_r();
uint16_t get_key();
void attache(machine_config &config);
+ void attache_io(address_map &map);
+ void attache_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_memory_region m_rom;
@@ -259,6 +261,9 @@ public:
virtual void machine_reset() override;
void attache816(machine_config &config);
+ void attache816_io(address_map &map);
+ void attache_x86_io(address_map &map);
+ void attache_x86_map(address_map &map);
private:
required_device<cpu_device> m_extcpu;
required_device<i8255_device> m_ppi;
@@ -895,7 +900,7 @@ WRITE_LINE_MEMBER(attache816_state::x86_dsr)
// TODO: /DSR to Z8530 SCC
}
-static ADDRESS_MAP_START( attache_map, AS_PROGRAM, 8, attache_state)
+ADDRESS_MAP_START(attache_state::attache_map)
AM_RANGE(0x0000,0x1fff) AM_RAMBANK("bank1")
AM_RANGE(0x2000,0x3fff) AM_RAMBANK("bank2")
AM_RANGE(0x4000,0x5fff) AM_RAMBANK("bank3")
@@ -906,7 +911,7 @@ static ADDRESS_MAP_START( attache_map, AS_PROGRAM, 8, attache_state)
AM_RANGE(0xe000,0xffff) AM_RAMBANK("bank8")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( attache_io, AS_IO, 8, attache_state)
+ADDRESS_MAP_START(attache_state::attache_io)
AM_RANGE(0xe0, 0xed) AM_DEVREADWRITE("dma",am9517a_device,read,write) AM_MIRROR(0xff00)
AM_RANGE(0xee, 0xee) AM_WRITE(display_command_w) AM_MIRROR(0xff00)
AM_RANGE(0xef, 0xef) AM_READWRITE(dma_mask_r, dma_mask_w) AM_MIRROR(0xff00)
@@ -918,7 +923,7 @@ static ADDRESS_MAP_START( attache_io, AS_IO, 8, attache_state)
AM_RANGE(0xff, 0xff) AM_READWRITE(memmap_r, memmap_w) AM_MIRROR(0xff00)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( attache816_io, AS_IO, 8, attache816_state)
+ADDRESS_MAP_START(attache816_state::attache816_io)
AM_RANGE(0xb8, 0xb8) AM_READWRITE(z80_comms_status_r, z80_comms_ctrl_w) AM_MIRROR(0xff00)
AM_RANGE(0xb9, 0xb9) AM_READWRITE(z80_comms_r, z80_comms_w) AM_MIRROR(0xff00)
AM_RANGE(0xe0, 0xed) AM_DEVREADWRITE("dma",am9517a_device,read,write) AM_MIRROR(0xff00)
@@ -932,13 +937,13 @@ static ADDRESS_MAP_START( attache816_io, AS_IO, 8, attache816_state)
AM_RANGE(0xff, 0xff) AM_READWRITE(memmap_r, memmap_w) AM_MIRROR(0xff00)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( attache_x86_map, AS_PROGRAM, 16, attache816_state)
+ADDRESS_MAP_START(attache816_state::attache_x86_map)
AM_RANGE(0x00000, 0x3ffff) AM_RAM
AM_RANGE(0xb0000, 0xbffff) AM_NOP // triggers IRQ?
AM_RANGE(0xfe000, 0xfffff) AM_ROM AM_REGION("x86bios",0x0000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( attache_x86_io, AS_IO, 16, attache816_state)
+ADDRESS_MAP_START(attache816_state::attache_x86_io)
AM_RANGE(0x100, 0x107) AM_DEVREADWRITE8("ppi",i8255_device,read,write,0x00ff)
AM_RANGE(0x108, 0x10d) AM_WRITE8(x86_iobf_enable_w,0xffff);
// 0x140/2/4/6 - Z8530 SCC serial
diff --git a/src/mame/drivers/attckufo.cpp b/src/mame/drivers/attckufo.cpp
index 7fe822ba16d..2926707dc3c 100644
--- a/src/mame/drivers/attckufo.cpp
+++ b/src/mame/drivers/attckufo.cpp
@@ -33,6 +33,9 @@ public:
DECLARE_READ8_MEMBER( vic_colorram_r );
void attckufo(machine_config &config);
+ void cpu_map(address_map &map);
+ void vic_colorram_map(address_map &map);
+ void vic_videoram_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
};
@@ -42,7 +45,7 @@ private:
// ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( cpu_map, AS_PROGRAM, 8, attckufo_state )
+ADDRESS_MAP_START(attckufo_state::cpu_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x100f) AM_DEVREADWRITE("mos6560", mos6560_device, read, write)
@@ -51,11 +54,11 @@ static ADDRESS_MAP_START( cpu_map, AS_PROGRAM, 8, attckufo_state )
AM_RANGE(0x2000, 0x3fff) AM_ROM AM_REGION("maincpu", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vic_videoram_map, 0, 8, attckufo_state )
+ADDRESS_MAP_START(attckufo_state::vic_videoram_map)
AM_RANGE(0x0000, 0x3fff) AM_READ(vic_videoram_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vic_colorram_map, 1, 8, attckufo_state )
+ADDRESS_MAP_START(attckufo_state::vic_colorram_map)
AM_RANGE(0x000, 0x3ff) AM_READ(vic_colorram_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/atvtrack.cpp b/src/mame/drivers/atvtrack.cpp
index bf5c5e66386..261354b9c0b 100644
--- a/src/mame/drivers/atvtrack.cpp
+++ b/src/mame/drivers/atvtrack.cpp
@@ -145,6 +145,10 @@ public:
void gpu_irq_test();
void gpu_irq_set(int);
void atvtrack(machine_config &config);
+ void atvtrack_main_map(address_map &map);
+ void atvtrack_main_port(address_map &map);
+ void atvtrack_sub_map(address_map &map);
+ void atvtrack_sub_port(address_map &map);
protected:
bool m_slaverun;
};
@@ -159,6 +163,8 @@ public:
virtual void machine_start() override;
virtual void machine_reset() override;
void smashdrv(machine_config &config);
+ void smashdrv_main_map(address_map &map);
+ void smashdrv_main_port(address_map &map);
};
void atvtrack_state::logbinary(uint32_t data,int high=31,int low=0)
@@ -501,7 +507,7 @@ void smashdrv_state::machine_reset()
// ATV Track
-static ADDRESS_MAP_START( atvtrack_main_map, AS_PROGRAM, 64, atvtrack_state )
+ADDRESS_MAP_START(atvtrack_state::atvtrack_main_map)
AM_RANGE(0x00000000, 0x000003ff) AM_RAM AM_SHARE("sharedmem")
AM_RANGE(0x00020000, 0x00020007) AM_READWRITE(control_r, control_w) // control registers
// AM_RANGE(0x00020040, 0x0002007f) // audio DAC buffer
@@ -511,13 +517,13 @@ static ADDRESS_MAP_START( atvtrack_main_map, AS_PROGRAM, 64, atvtrack_state )
AM_RANGE(0x0c000000, 0x0c7fffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( atvtrack_main_port, AS_IO, 64, atvtrack_state )
+ADDRESS_MAP_START(atvtrack_state::atvtrack_main_port)
AM_RANGE(0x00, 0x1f) AM_READWRITE(ioport_r, ioport_w)
ADDRESS_MAP_END
// Smashing Drive
-static ADDRESS_MAP_START( smashdrv_main_map, AS_PROGRAM, 64, smashdrv_state )
+ADDRESS_MAP_START(smashdrv_state::smashdrv_main_map)
AM_RANGE(0x00000000, 0x03ffffff) AM_ROM
AM_RANGE(0x0c000000, 0x0c7fffff) AM_RAM
AM_RANGE(0x10000000, 0x100003ff) AM_RAM AM_SHARE("sharedmem")
@@ -528,13 +534,13 @@ static ADDRESS_MAP_START( smashdrv_main_map, AS_PROGRAM, 64, smashdrv_state )
AM_RANGE(0x14000000, 0x143fffff) AM_ROM AM_REGION("data", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( smashdrv_main_port, AS_IO, 64, smashdrv_state )
+ADDRESS_MAP_START(smashdrv_state::smashdrv_main_port)
AM_RANGE(0x00, 0x1f) AM_READWRITE(ioport_r, ioport_w)
ADDRESS_MAP_END
// Sub CPU (same for both games)
-static ADDRESS_MAP_START( atvtrack_sub_map, AS_PROGRAM, 64, atvtrack_state )
+ADDRESS_MAP_START(atvtrack_state::atvtrack_sub_map)
AM_RANGE(0x00000000, 0x000003ff) AM_RAM AM_SHARE("sharedmem")
AM_RANGE(0x0c000000, 0x0cffffff) AM_RAM
AM_RANGE(0x14000000, 0x14003fff) AM_READWRITE32(gpu_r, gpu_w, 0xffffffffffffffffU)
@@ -543,7 +549,7 @@ static ADDRESS_MAP_START( atvtrack_sub_map, AS_PROGRAM, 64, atvtrack_state )
// 0x18000000 - 0x19FFFFFF GPU RAM (32MB)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( atvtrack_sub_port, AS_IO, 64, atvtrack_state )
+ADDRESS_MAP_START(atvtrack_state::atvtrack_sub_port)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/aussiebyte.cpp b/src/mame/drivers/aussiebyte.cpp
index dde11c4ff0e..e89421bfbca 100644
--- a/src/mame/drivers/aussiebyte.cpp
+++ b/src/mame/drivers/aussiebyte.cpp
@@ -43,14 +43,14 @@
************************************************************/
-static ADDRESS_MAP_START( aussiebyte_map, AS_PROGRAM, 8, aussiebyte_state )
+ADDRESS_MAP_START(aussiebyte_state::aussiebyte_map)
AM_RANGE(0x0000, 0x3fff) AM_READ_BANK("bankr0") AM_WRITE_BANK("bankw0")
AM_RANGE(0x4000, 0x7fff) AM_RAMBANK("bank1")
AM_RANGE(0x8000, 0xbfff) AM_RAMBANK("bank2")
AM_RANGE(0xc000, 0xffff) AM_RAM AM_REGION("mram", 0x0000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( aussiebyte_io, AS_IO, 8, aussiebyte_state )
+ADDRESS_MAP_START(aussiebyte_state::aussiebyte_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("sio1", z80sio_device, ba_cd_r, ba_cd_w)
diff --git a/src/mame/drivers/avalnche.cpp b/src/mame/drivers/avalnche.cpp
index c19e1b6051c..2712fb9efaf 100644
--- a/src/mame/drivers/avalnche.cpp
+++ b/src/mame/drivers/avalnche.cpp
@@ -112,7 +112,7 @@ WRITE_LINE_MEMBER(avalnche_state::start_lamp_w)
output().set_led_value(2, state);
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, avalnche_state )
+ADDRESS_MAP_START(avalnche_state::main_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x2000, 0x2000) AM_MIRROR(0x0ffc) AM_READ_PORT("IN0")
@@ -125,7 +125,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, avalnche_state )
AM_RANGE(0x6000, 0x7fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( catch_map, AS_PROGRAM, 8, avalnche_state )
+ADDRESS_MAP_START(avalnche_state::catch_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x2000, 0x2000) AM_MIRROR(0x0ffc) AM_READ_PORT("IN0")
diff --git a/src/mame/drivers/avigo.cpp b/src/mame/drivers/avigo.cpp
index 75bc83c881b..5dfec009077 100644
--- a/src/mame/drivers/avigo.cpp
+++ b/src/mame/drivers/avigo.cpp
@@ -165,7 +165,7 @@ void avigo_state::machine_start()
save_item(NAME(m_warm_start));
}
-static ADDRESS_MAP_START(avigo_banked_map, AS_PROGRAM, 8, avigo_state)
+ADDRESS_MAP_START(avigo_state::avigo_banked_map)
AM_RANGE(0x0000000, 0x00fffff) AM_MIRROR(0x0300000) AM_DEVREADWRITE("flash0", intelfsh8_device, read, write)
AM_RANGE(0x0400000, 0x041ffff) AM_MIRROR(0x03e0000) AM_RAM AM_SHARE("nvram")
@@ -176,7 +176,7 @@ static ADDRESS_MAP_START(avigo_banked_map, AS_PROGRAM, 8, avigo_state)
AM_RANGE(0x1800000, 0x1803fff) AM_MIRROR(0x03fc000) AM_READWRITE(vid_memory_r, vid_memory_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( avigo_mem , AS_PROGRAM, 8, avigo_state)
+ADDRESS_MAP_START(avigo_state::avigo_mem)
AM_RANGE(0x0000, 0x3fff) AM_DEVREADWRITE("flash0", intelfsh8_device, read, write)
AM_RANGE(0x4000, 0x7fff) AM_DEVREADWRITE("bank0", address_map_bank_device, read8, write8)
AM_RANGE(0x8000, 0xbfff) AM_DEVREADWRITE("bank1", address_map_bank_device, read8, write8)
@@ -496,7 +496,7 @@ READ8_MEMBER(avigo_state::port_04_r)
-static ADDRESS_MAP_START( avigo_io, AS_IO, 8, avigo_state)
+ADDRESS_MAP_START(avigo_state::avigo_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x001, 0x001) AM_READWRITE( key_data_read_r, set_key_line_w )
diff --git a/src/mame/drivers/avt.cpp b/src/mame/drivers/avt.cpp
index b0153799bc1..f34373ca525 100644
--- a/src/mame/drivers/avt.cpp
+++ b/src/mame/drivers/avt.cpp
@@ -461,6 +461,8 @@ public:
void avtnfl(machine_config &config);
void avt(machine_config &config);
+ void avt_map(address_map &map);
+ void avt_portmap(address_map &map);
private:
tilemap_t *m_bg_tilemap;
uint8_t m_crtc_vreg[0x100],m_crtc_index;
@@ -644,7 +646,7 @@ READ8_MEMBER( avt_state::avt_6845_data_r )
*********************************************/
/* avtnfl, avtbingo */
-static ADDRESS_MAP_START( avt_map, AS_PROGRAM, 8, avt_state )
+ADDRESS_MAP_START(avt_state::avt_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0x9fff) AM_RAM // AM_SHARE("nvram")
@@ -652,7 +654,7 @@ static ADDRESS_MAP_START( avt_map, AS_PROGRAM, 8, avt_state )
AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(avt_colorram_w) AM_SHARE("colorram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( avt_portmap, AS_IO, 8, avt_state )
+ADDRESS_MAP_START(avt_state::avt_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("pio0", z80pio_device, read_alt, write_alt)
AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE("pio1", z80pio_device, read_alt, write_alt)
diff --git a/src/mame/drivers/ax20.cpp b/src/mame/drivers/ax20.cpp
index fc75f4ff6c3..44036174bd2 100644
--- a/src/mame/drivers/ax20.cpp
+++ b/src/mame/drivers/ax20.cpp
@@ -45,6 +45,8 @@ public:
DECLARE_WRITE8_MEMBER(tc_w);
DECLARE_WRITE8_MEMBER(ctl_w);
void ax20(machine_config &config);
+ void ax20_io(address_map &map);
+ void ax20_map(address_map &map);
};
READ8_MEMBER(ax20_state::unk_r)
@@ -78,7 +80,7 @@ uint32_t ax20_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap,
}
-static ADDRESS_MAP_START(ax20_map, AS_PROGRAM, 8, ax20_state)
+ADDRESS_MAP_START(ax20_state::ax20_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000,0x1ffff) AM_RAM
AM_RANGE(0x20000,0x3ffff) AM_RAM //optional RAM
@@ -86,7 +88,7 @@ static ADDRESS_MAP_START(ax20_map, AS_PROGRAM, 8, ax20_state)
AM_RANGE(0xff800,0xfffff) AM_ROM AM_REGION("ipl", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(ax20_io, AS_IO, 8, ax20_state)
+ADDRESS_MAP_START(ax20_state::ax20_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xffc0, 0xffc0) AM_WRITE(tc_w)
AM_RANGE(0xffd0, 0xffd0) AM_WRITE(ctl_w)
diff --git a/src/mame/drivers/aztarac.cpp b/src/mame/drivers/aztarac.cpp
index 3804241c1ff..7e2c0a6ef7d 100644
--- a/src/mame/drivers/aztarac.cpp
+++ b/src/mame/drivers/aztarac.cpp
@@ -78,7 +78,7 @@ READ16_MEMBER(aztarac_state::joystick_r)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, aztarac_state )
+ADDRESS_MAP_START(aztarac_state::main_map)
AM_RANGE(0x000000, 0x00bfff) AM_ROM
AM_RANGE(0x022000, 0x0220ff) AM_READ(nvram_r) AM_WRITEONLY AM_SHARE("nvram")
AM_RANGE(0x027000, 0x027001) AM_READ(joystick_r)
@@ -99,7 +99,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, aztarac_state )
+ADDRESS_MAP_START(aztarac_state::sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8800) AM_READ(snd_command_r)
diff --git a/src/mame/drivers/b16.cpp b/src/mame/drivers/b16.cpp
index 5ae948eb4ed..dbb561a0c03 100644
--- a/src/mame/drivers/b16.cpp
+++ b/src/mame/drivers/b16.cpp
@@ -56,6 +56,8 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
void b16(machine_config &config);
+ void b16_io(address_map &map);
+ void b16_map(address_map &map);
};
#define mc6845_h_char_total (m_crtc_vreg[0])
@@ -120,7 +122,7 @@ WRITE8_MEMBER( b16_state::b16_pcg_w )
m_gfxdecode->gfx(0)->mark_dirty(offset >> 4);
}
-static ADDRESS_MAP_START( b16_map, AS_PROGRAM, 16, b16_state)
+ADDRESS_MAP_START(b16_state::b16_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x00000, 0x9ffff ) AM_RAM // probably not all of it.
AM_RANGE( 0xa0000, 0xaffff ) AM_RAM // bitmap?
@@ -213,7 +215,7 @@ WRITE8_MEMBER( b16_state::unk_dev_w )
}
-static ADDRESS_MAP_START( b16_io, AS_IO, 16, b16_state)
+ADDRESS_MAP_START(b16_state::b16_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x0f) AM_READWRITE8(unk_dev_r,unk_dev_w,0x00ff) // DMA device?
AM_RANGE(0x20, 0x21) AM_WRITE8(b16_6845_address_w,0x00ff)
diff --git a/src/mame/drivers/b2m.cpp b/src/mame/drivers/b2m.cpp
index daf7193ce0b..0333e529306 100644
--- a/src/mame/drivers/b2m.cpp
+++ b/src/mame/drivers/b2m.cpp
@@ -24,7 +24,7 @@
#include "speaker.h"
/* Address maps */
-static ADDRESS_MAP_START(b2m_mem, AS_PROGRAM, 8, b2m_state )
+ADDRESS_MAP_START(b2m_state::b2m_mem)
AM_RANGE (0x0000, 0x27ff) AM_RAMBANK("bank1")
AM_RANGE (0x2800, 0x2fff) AM_RAMBANK("bank2")
AM_RANGE (0x3000, 0x6fff) AM_RAMBANK("bank3")
@@ -32,7 +32,7 @@ static ADDRESS_MAP_START(b2m_mem, AS_PROGRAM, 8, b2m_state )
AM_RANGE (0xe000, 0xffff) AM_RAMBANK("bank5")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( b2m_io, AS_IO, 8, b2m_state )
+ADDRESS_MAP_START(b2m_state::b2m_io)
ADDRESS_MAP_GLOBAL_MASK(0x1f)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("pit8253", pit8253_device, read, write)
AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("ppi8255_2", i8255_device, read, write)
@@ -45,7 +45,7 @@ static ADDRESS_MAP_START( b2m_io, AS_IO, 8, b2m_state )
AM_RANGE(0x1c, 0x1f) AM_DEVREADWRITE("fd1793", fd1793_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( b2m_rom_io, AS_IO, 8, b2m_state )
+ADDRESS_MAP_START(b2m_state::b2m_rom_io)
ADDRESS_MAP_GLOBAL_MASK(0x1f)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("pit8253", pit8253_device, read, write)
AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("ppi8255_3", i8255_device, read, write)
diff --git a/src/mame/drivers/babbage.cpp b/src/mame/drivers/babbage.cpp
index f55491bbda6..85745754097 100644
--- a/src/mame/drivers/babbage.cpp
+++ b/src/mame/drivers/babbage.cpp
@@ -53,6 +53,8 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(keyboard_callback);
void babbage(machine_config &config);
+ void babbage_io(address_map &map);
+ void babbage_map(address_map &map);
private:
uint8_t m_segment;
uint8_t m_key;
@@ -73,13 +75,13 @@ private:
***************************************************************************/
-static ADDRESS_MAP_START( babbage_map, AS_PROGRAM, 8, babbage_state )
+ADDRESS_MAP_START(babbage_state::babbage_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x07ff) AM_ROM
AM_RANGE(0x1000, 0x17ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( babbage_io, AS_IO, 8, babbage_state )
+ADDRESS_MAP_START(babbage_state::babbage_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("z80ctc", z80ctc_device, read, write)
AM_RANGE(0x10, 0x13) AM_DEVREADWRITE("z80pio_1", z80pio_device, read_alt, write_alt)
diff --git a/src/mame/drivers/backfire.cpp b/src/mame/drivers/backfire.cpp
index 620f934a3bc..2882c465285 100644
--- a/src/mame/drivers/backfire.cpp
+++ b/src/mame/drivers/backfire.cpp
@@ -105,6 +105,7 @@ public:
required_ioport m_io_in3;
required_device<palette_device> m_palette;
void backfire(machine_config &config);
+ void backfire_map(address_map &map);
};
//uint32_t *backfire_180010, *backfire_188010;
@@ -291,7 +292,7 @@ WRITE32_MEMBER(backfire_state::backfire_spriteram2_w)
-static ADDRESS_MAP_START( backfire_map, AS_PROGRAM, 32, backfire_state )
+ADDRESS_MAP_START(backfire_state::backfire_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10001f) AM_DEVREADWRITE("tilegen1", deco16ic_device, pf_control_dword_r, pf_control_dword_w)
AM_RANGE(0x110000, 0x111fff) AM_DEVREADWRITE("tilegen1", deco16ic_device, pf1_data_dword_r, pf1_data_dword_w)
diff --git a/src/mame/drivers/badlands.cpp b/src/mame/drivers/badlands.cpp
index 8f8b4aa0c65..4c2e92e7907 100644
--- a/src/mame/drivers/badlands.cpp
+++ b/src/mame/drivers/badlands.cpp
@@ -375,7 +375,7 @@ WRITE8_MEMBER(badlands_state::audio_io_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, badlands_state )
+ADDRESS_MAP_START(badlands_state::main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0xfc0000, 0xfc1fff) AM_READ(sound_busy_r) AM_DEVWRITE("soundcomm", atari_sound_comm_device, sound_reset_w)
AM_RANGE(0xfd0000, 0xfd1fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
@@ -404,7 +404,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, badlands_state )
+ADDRESS_MAP_START(badlands_state::audio_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x2001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0x2800, 0x2bff) AM_READWRITE(audio_io_r, audio_io_w)
@@ -654,7 +654,7 @@ WRITE8_MEMBER(badlands_state::bootleg_shared_w)
m_b_sharedram[offset] = data;
}
-static ADDRESS_MAP_START( bootleg_map, AS_PROGRAM, 16, badlands_state )
+ADDRESS_MAP_START(badlands_state::bootleg_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
// only 0-0xff accessed, assume all range is shared
@@ -685,7 +685,7 @@ WRITE8_MEMBER(badlands_state::bootleg_main_irq_w)
m_maincpu->set_input_line(2, HOLD_LINE);
}
-static ADDRESS_MAP_START( bootleg_audio_map, AS_PROGRAM, 8, badlands_state )
+ADDRESS_MAP_START(badlands_state::bootleg_audio_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM AM_REGION("audiorom", 0)
AM_RANGE(0x2000, 0x3fff) AM_RAM AM_SHARE("b_sharedram")
AM_RANGE(0x4000, 0xcfff) AM_ROM AM_REGION("audiorom", 0x4000)
diff --git a/src/mame/drivers/bagman.cpp b/src/mame/drivers/bagman.cpp
index 693405f8693..c1277954425 100644
--- a/src/mame/drivers/bagman.cpp
+++ b/src/mame/drivers/bagman.cpp
@@ -129,7 +129,7 @@ WRITE_LINE_MEMBER(bagman_state::irq_mask_w)
m_maincpu->set_input_line(0, CLEAR_LINE);
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, bagman_state )
+ADDRESS_MAP_START(bagman_state::main_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM
AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
@@ -153,7 +153,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( pickin_map, AS_PROGRAM, 8, bagman_state )
+ADDRESS_MAP_START(bagman_state::pickin_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x7000, 0x77ff) AM_RAM
AM_RANGE(0x8800, 0x8bff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
@@ -170,7 +170,7 @@ static ADDRESS_MAP_START( pickin_map, AS_PROGRAM, 8, bagman_state )
AM_RANGE(0xb800, 0xb800) AM_DEVREADWRITE("ay2", ay8910_device, data_r, data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_portmap, AS_IO, 8, bagman_state )
+ADDRESS_MAP_START(bagman_state::main_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x08, 0x09) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
AM_RANGE(0x0c, 0x0c) AM_DEVREAD("aysnd", ay8910_device, data_r)
diff --git a/src/mame/drivers/balsente.cpp b/src/mame/drivers/balsente.cpp
index 66baf414bf6..6562d656a94 100644
--- a/src/mame/drivers/balsente.cpp
+++ b/src/mame/drivers/balsente.cpp
@@ -231,7 +231,6 @@ DIP locations verified for:
#include "cpu/z80/z80.h"
#include "cpu/m6809/m6809.h"
#include "cpu/m68000/m68000.h"
-#include "machine/74259.h"
#include "machine/nvram.h"
#include "machine/watchdog.h"
#include "sound/cem3394.h"
@@ -247,13 +246,13 @@ DIP locations verified for:
*
*************************************/
-static ADDRESS_MAP_START( cpu1_map, AS_PROGRAM, 8, balsente_state )
+ADDRESS_MAP_START(balsente_state::cpu1_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x0800, 0x7fff) AM_RAM_WRITE(balsente_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x8000, 0x8fff) AM_RAM_WRITE(balsente_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x9000, 0x9007) AM_WRITE(balsente_adc_select_w)
AM_RANGE(0x9400, 0x9401) AM_READ(balsente_adc_data_r)
- AM_RANGE(0x9800, 0x981f) AM_MIRROR(0x0060) AM_DEVWRITE_MOD("outlatch", ls259_device, write_d7, rshift<2>)
+ ;map(0x9800, 0x981f).mirror(0x0060).lw8("outlatch_w", [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_outlatch->write_d7(space, offset >> 2, data, mem_mask); });
AM_RANGE(0x9880, 0x989f) AM_WRITE(balsente_random_reset_w)
AM_RANGE(0x98a0, 0x98bf) AM_WRITE(balsente_rombank_select_w)
AM_RANGE(0x98c0, 0x98df) AM_WRITE(balsente_palette_select_w)
@@ -277,7 +276,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( cpu2_map, AS_PROGRAM, 8, balsente_state )
+ADDRESS_MAP_START(balsente_state::cpu2_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x5fff) AM_RAM
AM_RANGE(0x6000, 0x7fff) AM_WRITE(balsente_m6850_sound_w)
@@ -285,7 +284,7 @@ static ADDRESS_MAP_START( cpu2_map, AS_PROGRAM, 8, balsente_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpu2_io_map, AS_IO, 8, balsente_state )
+ADDRESS_MAP_START(balsente_state::cpu2_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_READWRITE(balsente_counter_8253_r, balsente_counter_8253_w)
AM_RANGE(0x08, 0x0f) AM_READ(balsente_counter_state_r)
@@ -304,7 +303,7 @@ ADDRESS_MAP_END
*************************************/
/* CPU 1 read addresses */
-static ADDRESS_MAP_START( shrike68k_map, AS_PROGRAM, 16, balsente_state )
+ADDRESS_MAP_START(balsente_state::shrike68k_map)
AM_RANGE(0x000000, 0x003fff) AM_ROM
AM_RANGE(0x010000, 0x01001f) AM_RAM AM_SHARE("shrike_io")
AM_RANGE(0x018000, 0x018fff) AM_RAM AM_SHARE("shrike_shared")
diff --git a/src/mame/drivers/banctec.cpp b/src/mame/drivers/banctec.cpp
index 57ad4b392d5..c688652cb5c 100644
--- a/src/mame/drivers/banctec.cpp
+++ b/src/mame/drivers/banctec.cpp
@@ -39,6 +39,8 @@ public:
required_device<palette_device> m_palette;
void banctec(machine_config &config);
+ void banctec_mcu_mem(address_map &map);
+ void banctec_mem(address_map &map);
private:
u8 m_video_address;
virtual void machine_reset() override;
@@ -47,12 +49,12 @@ private:
required_region_ptr<u8> m_p_chargen;
};
-static ADDRESS_MAP_START( banctec_mem , AS_PROGRAM, 8, banctec_state )
+ADDRESS_MAP_START(banctec_state::banctec_mem)
AM_RANGE(0x0000, 0x07ff) AM_ROM
AM_RANGE(0x0800, 0xffff) AM_RAM /* Probably wrong. Must be verified on pcb! */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( banctec_mcu_mem , AS_PROGRAM, 8, banctec_state )
+ADDRESS_MAP_START(banctec_state::banctec_mcu_mem)
AM_RANGE(0x0000, 0x00ff) AM_RAM /* Probably wrong. Must be verified on pcb! */
AM_RANGE(0x2000, 0x2000) AM_DEVREADWRITE("crtc", mc6845_device, status_r, address_w)
AM_RANGE(0x2001, 0x2001) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
diff --git a/src/mame/drivers/bankp.cpp b/src/mame/drivers/bankp.cpp
index ab1a8e4b422..e0caba864d5 100644
--- a/src/mame/drivers/bankp.cpp
+++ b/src/mame/drivers/bankp.cpp
@@ -124,7 +124,7 @@
*
*************************************/
-static ADDRESS_MAP_START( bankp_map, AS_PROGRAM, 8, bankp_state )
+ADDRESS_MAP_START(bankp_state::bankp_map)
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xefff) AM_RAM
AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
@@ -133,7 +133,7 @@ static ADDRESS_MAP_START( bankp_map, AS_PROGRAM, 8, bankp_state )
AM_RANGE(0xfc00, 0xffff) AM_RAM_WRITE(colorram2_w) AM_SHARE("colorram2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bankp_io_map, AS_IO, 8, bankp_state )
+ADDRESS_MAP_START(bankp_state::bankp_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_DEVWRITE("sn1", sn76489_device, write)
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1") AM_DEVWRITE("sn2", sn76489_device, write)
diff --git a/src/mame/drivers/baraduke.cpp b/src/mame/drivers/baraduke.cpp
index 46f0eb432e4..0b47b5fd2ec 100644
--- a/src/mame/drivers/baraduke.cpp
+++ b/src/mame/drivers/baraduke.cpp
@@ -165,7 +165,7 @@ WRITE8_MEMBER(baraduke_state::baraduke_irq_ack_w)
-static ADDRESS_MAP_START( baraduke_map, AS_PROGRAM, 8, baraduke_state )
+ADDRESS_MAP_START(baraduke_state::baraduke_map)
AM_RANGE(0x0000, 0x1fff) AM_READWRITE(baraduke_spriteram_r,baraduke_spriteram_w) AM_SHARE("spriteram") /* Sprite RAM */
AM_RANGE(0x2000, 0x3fff) AM_READWRITE(baraduke_videoram_r,baraduke_videoram_w) AM_SHARE("videoram") /* Video RAM */
AM_RANGE(0x4000, 0x43ff) AM_DEVREADWRITE("namco", namco_cus30_device, namcos1_cus30_r, namcos1_cus30_w) /* PSG device, shared RAM */
@@ -182,7 +182,7 @@ READ8_MEMBER(baraduke_state::soundkludge_r)
return ((m_counter++) >> 4) & 0xff;
}
-static ADDRESS_MAP_START( mcu_map, AS_PROGRAM, 8, baraduke_state )
+ADDRESS_MAP_START(baraduke_state::mcu_map)
AM_RANGE(0x0000, 0x001f) AM_DEVREADWRITE("mcu", hd63701_cpu_device, m6801_io_r,m6801_io_w)/* internal registers */
AM_RANGE(0x0080, 0x00ff) AM_RAM /* built in RAM */
AM_RANGE(0x1000, 0x13ff) AM_DEVREADWRITE("namco", namco_cus30_device, namcos1_cus30_r, namcos1_cus30_w) /* PSG device, shared RAM */
@@ -200,7 +200,7 @@ READ8_MEMBER(baraduke_state::readFF)
return 0xff;
}
-static ADDRESS_MAP_START( mcu_port_map, AS_IO, 8, baraduke_state )
+ADDRESS_MAP_START(baraduke_state::mcu_port_map)
AM_RANGE(M6801_PORT1, M6801_PORT1) AM_READ(inputport_r) /* input ports read */
AM_RANGE(M6801_PORT1, M6801_PORT1) AM_WRITE(inputport_select_w) /* input port select */
AM_RANGE(M6801_PORT2, M6801_PORT2) AM_READ(readFF) /* leds won't work otherwise */
diff --git a/src/mame/drivers/barata.cpp b/src/mame/drivers/barata.cpp
index 61341adf869..7979c669b43 100644
--- a/src/mame/drivers/barata.cpp
+++ b/src/mame/drivers/barata.cpp
@@ -57,6 +57,7 @@ public:
required_device<cpu_device> m_maincpu;
void barata(machine_config &config);
+ void i8051_io_port(address_map &map);
private:
unsigned char row_selection;
};
@@ -294,7 +295,7 @@ READ8_MEMBER(barata_state::port2_r)
* Memory Map Information *
*************************/
-static ADDRESS_MAP_START( i8051_io_port, AS_IO, 8, barata_state )
+ADDRESS_MAP_START(barata_state::i8051_io_port)
AM_RANGE(MCS51_PORT_P0, MCS51_PORT_P0 ) AM_WRITE(port0_w)
AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1 ) AM_READ_PORT("PORT1")
AM_RANGE(MCS51_PORT_P2, MCS51_PORT_P2 ) AM_READWRITE(port2_r, port2_w)
diff --git a/src/mame/drivers/barni.cpp b/src/mame/drivers/barni.cpp
index 6d993a5683d..83e269b9e97 100644
--- a/src/mame/drivers/barni.cpp
+++ b/src/mame/drivers/barni.cpp
@@ -31,24 +31,27 @@ public:
, m_maincpu(*this, "maincpu") { }
void barni(machine_config &config);
+ void audiocpu_map(address_map &map);
+ void maincpu_map(address_map &map);
+ void subcpu_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START( maincpu_map, AS_PROGRAM, 8, barni_state )
+ADDRESS_MAP_START(barni_state::maincpu_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x00ff) AM_RAM
AM_RANGE(0xa100, 0xa7ff) AM_RAM
AM_RANGE(0xc000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( subcpu_map, AS_PROGRAM, 8, barni_state )
+ADDRESS_MAP_START(barni_state::subcpu_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0xe000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audiocpu_map, AS_PROGRAM, 8, barni_state )
+ADDRESS_MAP_START(barni_state::audiocpu_map)
AM_RANGE(0x0000, 0x007f) AM_RAM
AM_RANGE(0xc000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/bartop52.cpp b/src/mame/drivers/bartop52.cpp
index d1be82ff465..0a05694af39 100644
--- a/src/mame/drivers/bartop52.cpp
+++ b/src/mame/drivers/bartop52.cpp
@@ -41,10 +41,11 @@ public:
virtual void machine_reset() override;
void a5200(machine_config &config);
+ void a5200_mem(address_map &map);
};
-static ADDRESS_MAP_START(a5200_mem, AS_PROGRAM, 8, bartop52_state )
+ADDRESS_MAP_START(bartop52_state::a5200_mem)
AM_RANGE(0x0000, 0x3fff) AM_RAM
AM_RANGE(0x4000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc0ff) AM_DEVREADWRITE("gtia", gtia_device, read, write)
diff --git a/src/mame/drivers/basic52.cpp b/src/mame/drivers/basic52.cpp
index 0afa43daf99..c134280af7c 100644
--- a/src/mame/drivers/basic52.cpp
+++ b/src/mame/drivers/basic52.cpp
@@ -52,13 +52,15 @@ public:
void basic52(machine_config &config);
void basic31(machine_config &config);
+ void basic52_io(address_map &map);
+ void basic52_mem(address_map &map);
private:
uint8_t m_term_data;
required_device<mcs51_cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START(basic52_mem, AS_PROGRAM, 8, basic52_state)
+ADDRESS_MAP_START(basic52_state::basic52_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x7fff) AM_RAM
@@ -67,7 +69,7 @@ static ADDRESS_MAP_START(basic52_mem, AS_PROGRAM, 8, basic52_state)
//AM_RANGE(0xe000, 0xffff) // Expansion block
ADDRESS_MAP_END
-static ADDRESS_MAP_START(basic52_io, AS_IO, 8, basic52_state)
+ADDRESS_MAP_START(basic52_state::basic52_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0x9fff) AM_ROM // EPROM
diff --git a/src/mame/drivers/batman.cpp b/src/mame/drivers/batman.cpp
index c18d1d191c8..1bb4beb73ab 100644
--- a/src/mame/drivers/batman.cpp
+++ b/src/mame/drivers/batman.cpp
@@ -95,7 +95,7 @@ WRITE16_MEMBER(batman_state::latch_w)
/* full map verified from schematics and GALs */
/* addresses in the 1xxxxx region map to /WAIT */
/* addresses in the 2xxxxx region map to /WAIT2 */
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, batman_state )
+ADDRESS_MAP_START(batman_state::main_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x3fffff)
AM_RANGE(0x000000, 0x0bffff) AM_ROM
diff --git a/src/mame/drivers/battlane.cpp b/src/mame/drivers/battlane.cpp
index 2cf644b5651..650572e8f3f 100644
--- a/src/mame/drivers/battlane.cpp
+++ b/src/mame/drivers/battlane.cpp
@@ -100,7 +100,7 @@ INTERRUPT_GEN_MEMBER(battlane_state::battlane_cpu1_interrupt)
*
*************************************/
-static ADDRESS_MAP_START( battlane_map, AS_PROGRAM, 8, battlane_state )
+ADDRESS_MAP_START(battlane_state::battlane_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x1000, 0x17ff) AM_RAM_WRITE(battlane_tileram_w) AM_SHARE("tileram")
AM_RANGE(0x1800, 0x18ff) AM_RAM_WRITE(battlane_spriteram_w) AM_SHARE("spriteram")
diff --git a/src/mame/drivers/battlera.cpp b/src/mame/drivers/battlera.cpp
index 03acaba566e..80fc8a20f93 100644
--- a/src/mame/drivers/battlera.cpp
+++ b/src/mame/drivers/battlera.cpp
@@ -141,7 +141,7 @@ READ8_MEMBER(battlera_state::control_data_r)
/******************************************************************************/
-static ADDRESS_MAP_START( battlera_map, AS_PROGRAM, 8, battlera_state )
+ADDRESS_MAP_START(battlera_state::battlera_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x1e0800, 0x1e0801) AM_WRITE(sound_w)
AM_RANGE(0x1e1000, 0x1e13ff) AM_DEVREADWRITE( "huc6260", huc6260_device, palette_direct_read, palette_direct_write) AM_SHARE("paletteram")
@@ -155,7 +155,7 @@ static ADDRESS_MAP_START( battlera_map, AS_PROGRAM, 8, battlera_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( battlera_portmap, AS_IO, 8, battlera_state )
+ADDRESS_MAP_START(battlera_state::battlera_portmap)
AM_RANGE( 0x00, 0x03) AM_DEVREADWRITE( "huc6270", huc6270_device, read, write )
ADDRESS_MAP_END
@@ -182,7 +182,7 @@ WRITE8_MEMBER(battlera_state::adpcm_reset_w)
m_msm->reset_w(0);
}
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, battlera_state )
+ADDRESS_MAP_START(battlera_state::sound_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x040000, 0x040001) AM_DEVWRITE("ymsnd", ym2203_device, write)
AM_RANGE(0x080000, 0x080001) AM_WRITE(adpcm_data_w)
diff --git a/src/mame/drivers/battlex.cpp b/src/mame/drivers/battlex.cpp
index 7ff7e72b081..458caf06d0d 100644
--- a/src/mame/drivers/battlex.cpp
+++ b/src/mame/drivers/battlex.cpp
@@ -115,7 +115,7 @@ CUSTOM_INPUT_MEMBER(battlex_state::battlex_in0_b4_r)
*
*************************************/
-static ADDRESS_MAP_START( battlex_map, AS_PROGRAM, 8, battlex_state )
+ADDRESS_MAP_START(battlex_state::battlex_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM_WRITE(battlex_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x9000, 0x91ff) AM_RAM AM_SHARE("spriteram")
@@ -124,7 +124,7 @@ static ADDRESS_MAP_START( battlex_map, AS_PROGRAM, 8, battlex_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, battlex_state )
+ADDRESS_MAP_START(battlex_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW1")
AM_RANGE(0x01, 0x01) AM_READ_PORT("SYSTEM")
@@ -139,7 +139,7 @@ static ADDRESS_MAP_START( io_map, AS_IO, 8, battlex_state )
AM_RANGE(0x33, 0x33) AM_WRITE(battlex_scroll_x_msb_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dodgeman_io_map, AS_IO, 8, battlex_state )
+ADDRESS_MAP_START(battlex_state::dodgeman_io_map)
AM_IMPORT_FROM(io_map)
AM_RANGE(0x26, 0x27) AM_DEVWRITE("ay2", ay8910_device, data_address_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/battlnts.cpp b/src/mame/drivers/battlnts.cpp
index eb458792b63..e99599a3de7 100644
--- a/src/mame/drivers/battlnts.cpp
+++ b/src/mame/drivers/battlnts.cpp
@@ -61,7 +61,7 @@ WRITE8_MEMBER(battlnts_state::battlnts_bankswitch_w)
*
*************************************/
-static ADDRESS_MAP_START( battlnts_map, AS_PROGRAM, 8, battlnts_state )
+ADDRESS_MAP_START(battlnts_state::battlnts_map)
AM_RANGE(0x0000, 0x1fff) AM_DEVREADWRITE("k007342", k007342_device, read, write) /* Color RAM + Video RAM */
AM_RANGE(0x2000, 0x21ff) AM_DEVREADWRITE("k007420", k007420_device, read, write) /* Sprite RAM */
AM_RANGE(0x2200, 0x23ff) AM_DEVREADWRITE("k007342", k007342_device, scroll_r, scroll_w) /* Scroll RAM */
@@ -81,7 +81,7 @@ static ADDRESS_MAP_START( battlnts_map, AS_PROGRAM, 8, battlnts_state )
AM_RANGE(0x8000, 0xffff) AM_ROM /* ROM 777e02.bin */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( battlnts_sound_map, AS_PROGRAM, 8, battlnts_state )
+ADDRESS_MAP_START(battlnts_state::battlnts_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM /* ROM 777c01.rom */
AM_RANGE(0x8000, 0x87ff) AM_RAM /* RAM */
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ym1", ym3812_device, read, write) /* YM3812 (chip 1) */
diff --git a/src/mame/drivers/bbc.cpp b/src/mame/drivers/bbc.cpp
index 4c5eef683a1..2bb36d57976 100644
--- a/src/mame/drivers/bbc.cpp
+++ b/src/mame/drivers/bbc.cpp
@@ -142,7 +142,7 @@ READ8_MEMBER(bbc_state::bbc_fe_r)
return 0xfe;
}
-static ADDRESS_MAP_START( bbca_mem, AS_PROGRAM, 8, bbc_state )
+ADDRESS_MAP_START(bbc_state::bbca_mem)
ADDRESS_MAP_UNMAP_HIGH /* Hardware marked with a # is not present in a Model A */
AM_RANGE(0x0000, 0x3fff) AM_READ_BANK("bank1") AM_WRITE(bbc_memorya1_w) /* 0000-3fff Regular Ram */
@@ -170,7 +170,7 @@ static ADDRESS_MAP_START( bbca_mem, AS_PROGRAM, 8, bbc_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bbc_base, AS_PROGRAM, 8, bbc_state )
+ADDRESS_MAP_START(bbc_state::bbc_base)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xc000, 0xfbff) AM_READ_BANK("bank7") /* c000-fbff OS ROM */
@@ -193,7 +193,7 @@ static ADDRESS_MAP_START( bbc_base, AS_PROGRAM, 8, bbc_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bbcb_mem, AS_PROGRAM, 8, bbc_state )
+ADDRESS_MAP_START(bbc_state::bbcb_mem)
AM_IMPORT_FROM(bbc_base)
AM_RANGE(0x0000, 0x3fff) AM_READ_BANK("bank1") AM_WRITE(bbc_memorya1_w) /* 0000-3fff Regular Ram */
@@ -206,7 +206,7 @@ static ADDRESS_MAP_START( bbcb_mem, AS_PROGRAM, 8, bbc_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bbcb_nofdc_mem, AS_PROGRAM, 8, bbc_state )
+ADDRESS_MAP_START(bbc_state::bbcb_nofdc_mem)
AM_IMPORT_FROM(bbc_base)
AM_RANGE(0x0000, 0x3fff) AM_READ_BANK("bank1") AM_WRITE(bbc_memorya1_w) /* 0000-3fff Regular Ram */
@@ -218,7 +218,7 @@ static ADDRESS_MAP_START( bbcb_nofdc_mem, AS_PROGRAM, 8, bbc_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bbcbp_mem, AS_PROGRAM, 8, bbc_state )
+ADDRESS_MAP_START(bbc_state::bbcbp_mem)
AM_IMPORT_FROM(bbc_base)
AM_RANGE(0x0000, 0x2fff) AM_READ_BANK("bank1") AM_WRITE(bbc_memorybp1_w) /* 0000-2fff Regular Ram */
AM_RANGE(0x3000, 0x7fff) AM_READ_BANK("bank2") AM_WRITE(bbc_memorybp2_w) /* 3000-7fff Video/Shadow Ram */
@@ -232,7 +232,7 @@ static ADDRESS_MAP_START( bbcbp_mem, AS_PROGRAM, 8, bbc_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bbcbp128_mem, AS_PROGRAM, 8, bbc_state )
+ADDRESS_MAP_START(bbc_state::bbcbp128_mem)
AM_IMPORT_FROM(bbc_base)
AM_RANGE(0x0000, 0x2fff) AM_READ_BANK("bank1") AM_WRITE(bbc_memorybp1_w) /* 0000-2fff Regular Ram */
AM_RANGE(0x3000, 0x7fff) AM_READ_BANK("bank2") AM_WRITE(bbc_memorybp2_w) /* 3000-7fff Video/Shadow Ram */
@@ -246,7 +246,7 @@ static ADDRESS_MAP_START( bbcbp128_mem, AS_PROGRAM, 8, bbc_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( reutapm_mem, AS_PROGRAM, 8, bbc_state )
+ADDRESS_MAP_START(bbc_state::reutapm_mem)
AM_IMPORT_FROM(bbc_base)
AM_RANGE(0x0000, 0x2fff) AM_READ_BANK("bank1") AM_WRITE(bbc_memorybp1_w) /* 0000-2fff Regular Ram */
AM_RANGE(0x3000, 0x7fff) AM_READ_BANK("bank2") AM_WRITE(bbc_memorybp2_w) /* 3000-7fff Video/Shadow Ram */
@@ -283,7 +283,7 @@ ADDRESS_MAP_END
******************************************************************************/
-static ADDRESS_MAP_START(bbcm_mem, AS_PROGRAM, 8, bbc_state )
+ADDRESS_MAP_START(bbc_state::bbcm_mem)
AM_RANGE(0x0000, 0x2fff) AM_READ_BANK("bank1") AM_WRITE(bbc_memorybm1_w) /* 0000-2fff Regular Ram */
AM_RANGE(0x3000, 0x7fff) AM_READ_BANK("bank2") AM_WRITE(bbc_memorybm2_w) /* 3000-7fff Video/Shadow Ram */
AM_RANGE(0x8000, 0x8fff) AM_READ_BANK("bank4") AM_WRITE(bbc_memorybm4_w) /* 8000-8fff Paged ROM/RAM or 4K of RAM ANDY */
diff --git a/src/mame/drivers/bbcbc.cpp b/src/mame/drivers/bbcbc.cpp
index 51ea1fa81b7..2afccb95149 100644
--- a/src/mame/drivers/bbcbc.cpp
+++ b/src/mame/drivers/bbcbc.cpp
@@ -42,6 +42,7 @@ public:
bbcbc_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
+ , m_z80pio(*this, "z80pio")
, m_buttons(*this, "BUTTONS.%u", 0)
{ }
@@ -49,11 +50,14 @@ public:
DECLARE_WRITE8_MEMBER(input_select_w);
void bbcbc(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
uint8_t m_input_select;
virtual void machine_start() override;
virtual void machine_reset() override;
required_device<cpu_device> m_maincpu;
+ required_device<z80pio_device> m_z80pio;
required_ioport_array<3> m_buttons;
};
@@ -61,15 +65,15 @@ private:
#define MAIN_CLOCK XTAL(4'433'619)
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, bbcbc_state )
+ADDRESS_MAP_START(bbcbc_state::mem_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0xbfff) AM_DEVREAD("cartslot", generic_slot_device, read_rom)
AM_RANGE(0xe000, 0xe7ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, bbcbc_state )
+ADDRESS_MAP_START(bbcbc_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x7f) AM_DEVREADWRITE_MOD("z80pio", z80pio_device, read, write, rshift<5>)
+ ;map(0x00, 0x7f).lrw8("z80pio_rw", [this](address_space &space, offs_t offset, u8 mem_mask){ return m_z80pio->read(space, offset >> 5, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_z80pio->write(space, offset >> 5, data, mem_mask); });
AM_RANGE(0x80, 0x80) AM_DEVREADWRITE("tms9129", tms9129_device, vram_read, vram_write)
AM_RANGE(0x81, 0x81) AM_DEVREADWRITE("tms9129", tms9129_device, register_read, register_write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/bbusters.cpp b/src/mame/drivers/bbusters.cpp
index 9dd9e2edc5e..1d01bf14713 100644
--- a/src/mame/drivers/bbusters.cpp
+++ b/src/mame/drivers/bbusters.cpp
@@ -324,7 +324,7 @@ READ16_MEMBER(bbusters_state::mechatt_gun_r)
/*******************************************************************************/
-static ADDRESS_MAP_START( bbusters_map, AS_PROGRAM, 16, bbusters_state )
+ADDRESS_MAP_START(bbusters_state::bbusters_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x08ffff) AM_RAM AM_SHARE("ram")
AM_RANGE(0x090000, 0x090fff) AM_RAM_WRITE(video_w) AM_SHARE("videoram")
@@ -354,7 +354,7 @@ ADDRESS_MAP_END
/*******************************************************************************/
-static ADDRESS_MAP_START( mechatt_map, AS_PROGRAM, 16, bbusters_state )
+ADDRESS_MAP_START(bbusters_state::mechatt_map)
AM_RANGE(0x000000, 0x06ffff) AM_ROM
AM_RANGE(0x070000, 0x07ffff) AM_RAM AM_SHARE("ram")
AM_RANGE(0x090000, 0x090fff) AM_RAM_WRITE(video_w) AM_SHARE("videoram")
@@ -375,19 +375,19 @@ ADDRESS_MAP_END
/******************************************************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, bbusters_state )
+ADDRESS_MAP_START(bbusters_state::sound_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xf800) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_WRITE(sound_status_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, bbusters_state )
+ADDRESS_MAP_START(bbusters_state::sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ymsnd", ym2610_device, read, write)
AM_RANGE(0xc0, 0xc1) AM_WRITENOP /* -> Main CPU */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sounda_portmap, AS_IO, 8, bbusters_state )
+ADDRESS_MAP_START(bbusters_state::sounda_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ymsnd", ym2608_device, read, write)
AM_RANGE(0xc0, 0xc1) AM_WRITENOP /* -> Main CPU */
diff --git a/src/mame/drivers/bcs3.cpp b/src/mame/drivers/bcs3.cpp
index 9d66b5f8bf3..e2c2987f5cb 100644
--- a/src/mame/drivers/bcs3.cpp
+++ b/src/mame/drivers/bcs3.cpp
@@ -85,6 +85,9 @@ public:
void bcs3a(machine_config &config);
void bcs3(machine_config &config);
void bcs3b(machine_config &config);
+ void bcs3_io(address_map &map);
+ void bcs3_mem(address_map &map);
+ void bcs3a_mem(address_map &map);
private:
bool m_cass_bit;
u8 s_curs;
@@ -130,7 +133,7 @@ READ8_MEMBER( bcs3_state::zx_r )
return 0xf7;
}
-static ADDRESS_MAP_START(bcs3_mem, AS_PROGRAM, 8, bcs3_state)
+ADDRESS_MAP_START(bcs3_state::bcs3_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x0fff ) AM_MIRROR(0x2000) AM_ROM AM_REGION("roms", 0)
AM_RANGE( 0x1000, 0x13ff ) AM_MIRROR(0x2000) AM_READ(keyboard_r)
@@ -139,7 +142,7 @@ static ADDRESS_MAP_START(bcs3_mem, AS_PROGRAM, 8, bcs3_state)
AM_RANGE( 0x1c00, 0x1fff ) AM_MIRROR(0x2000) AM_RAM AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(bcs3a_mem, AS_PROGRAM, 8, bcs3_state)
+ADDRESS_MAP_START(bcs3_state::bcs3a_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x0fff ) AM_MIRROR(0x2000) AM_ROM AM_REGION("roms", 0)
AM_RANGE( 0x1000, 0x13ff ) AM_MIRROR(0x2000) AM_READ(keyboard_r)
@@ -149,7 +152,7 @@ static ADDRESS_MAP_START(bcs3a_mem, AS_PROGRAM, 8, bcs3_state)
AM_RANGE( 0xf000, 0xf3ff ) AM_ROM AM_REGION("roms", 0x1000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bcs3_io, AS_IO, 8, bcs3_state)
+ADDRESS_MAP_START(bcs3_state::bcs3_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(3)
// coded in the rom as F8 to FB
diff --git a/src/mame/drivers/beaminv.cpp b/src/mame/drivers/beaminv.cpp
index 04ca90dec71..8ac1f374335 100644
--- a/src/mame/drivers/beaminv.cpp
+++ b/src/mame/drivers/beaminv.cpp
@@ -91,6 +91,8 @@ public:
void create_interrupt_timer();
void start_interrupt_timer();
void beaminv(machine_config &config);
+ void main_io_map(address_map &map);
+ void main_map(address_map &map);
};
@@ -239,7 +241,7 @@ READ8_MEMBER(beaminv_state::controller_r)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, beaminv_state )
+ADDRESS_MAP_START(beaminv_state::main_map)
AM_RANGE(0x0000, 0x17ff) AM_ROM
AM_RANGE(0x1800, 0x1fff) AM_RAM
AM_RANGE(0x2400, 0x2400) AM_MIRROR(0x03ff) AM_READ_PORT("DSW")
@@ -257,7 +259,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( main_io_map, AS_IO, 8, beaminv_state )
+ADDRESS_MAP_START(beaminv_state::main_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(controller_select_w) /* to be confirmed */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/beathead.cpp b/src/mame/drivers/beathead.cpp
index e2c951aa84e..673b4fa4e29 100644
--- a/src/mame/drivers/beathead.cpp
+++ b/src/mame/drivers/beathead.cpp
@@ -274,7 +274,7 @@ WRITE32_MEMBER( beathead_state::coin_count_w )
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, beathead_state)
+ADDRESS_MAP_START(beathead_state::main_map)
AM_RANGE(0x00000000, 0x0001ffff) AM_RAM AM_SHARE("ram_base")
AM_RANGE(0x01800000, 0x01bfffff) AM_ROM AM_REGION("user1", 0) AM_SHARE("rom_base")
AM_RANGE(0x40000000, 0x400007ff) AM_RAM_WRITE(eeprom_data_w) AM_SHARE("nvram")
diff --git a/src/mame/drivers/bebox.cpp b/src/mame/drivers/bebox.cpp
index e55f4394fda..c745c8fe143 100644
--- a/src/mame/drivers/bebox.cpp
+++ b/src/mame/drivers/bebox.cpp
@@ -32,7 +32,7 @@
READ8_MEMBER(bebox_state::at_dma8237_1_r) { return m_dma8237_2->read(space, offset / 2); }
WRITE8_MEMBER(bebox_state::at_dma8237_1_w) { m_dma8237_2->write(space, offset / 2, data); }
-static ADDRESS_MAP_START( bebox_mem, AS_PROGRAM, 64, bebox_state )
+ADDRESS_MAP_START(bebox_state::bebox_mem)
AM_RANGE(0x7FFFF0F0, 0x7FFFF0F7) AM_READWRITE(bebox_cpu0_imask_r, bebox_cpu0_imask_w )
AM_RANGE(0x7FFFF1F0, 0x7FFFF1F7) AM_READWRITE(bebox_cpu1_imask_r, bebox_cpu1_imask_w )
AM_RANGE(0x7FFFF2F0, 0x7FFFF2F7) AM_READ(bebox_interrupt_sources_r )
@@ -82,7 +82,7 @@ READ64_MEMBER(bebox_state::bb_slave_64be_r)
return m_pcibus->read_64be(space, offset, mem_mask);
}
-static ADDRESS_MAP_START( bebox_slave_mem, AS_PROGRAM, 64, bebox_state )
+ADDRESS_MAP_START(bebox_state::bebox_slave_mem)
AM_IMPORT_FROM(bebox_mem)
AM_RANGE(0x80000cf8, 0x80000cff) AM_READ(bb_slave_64be_r)
AM_RANGE(0x80000cf8, 0x80000cff) AM_DEVWRITE("pcibus", pci_bus_device, write_64be )
diff --git a/src/mame/drivers/beehive.cpp b/src/mame/drivers/beehive.cpp
index 96784d6278a..67a47ffffbe 100644
--- a/src/mame/drivers/beehive.cpp
+++ b/src/mame/drivers/beehive.cpp
@@ -40,6 +40,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void beehive(machine_config &config);
+ void beehive_io(address_map &map);
+ void beehive_mem(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_shared_ptr<uint8_t> m_p_videoram;
@@ -65,13 +67,13 @@ WRITE8_MEMBER(beehive_state::beehive_62_w)
m_keyline = data;
}
-static ADDRESS_MAP_START(beehive_mem, AS_PROGRAM, 8, beehive_state)
+ADDRESS_MAP_START(beehive_state::beehive_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x17ff ) AM_ROM
AM_RANGE( 0x8000, 0x8fff ) AM_RAM AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( beehive_io, AS_IO, 8, beehive_state)
+ADDRESS_MAP_START(beehive_state::beehive_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x11, 0x11) AM_READ_PORT("DIPS")
diff --git a/src/mame/drivers/beezer.cpp b/src/mame/drivers/beezer.cpp
index 590d67d2e50..9c1b553df2d 100644
--- a/src/mame/drivers/beezer.cpp
+++ b/src/mame/drivers/beezer.cpp
@@ -91,6 +91,9 @@ public:
DECLARE_WRITE8_MEMBER(bankswitch_w);
void beezer(machine_config &config);
+ void banked_map(address_map &map);
+ void main_map(address_map &map);
+ void sound_map(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -130,7 +133,7 @@ private:
// ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, beezer_state )
+ADDRESS_MAP_START(beezer_state::main_map)
AM_RANGE(0x0000, 0xbfff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0xc000, 0xcfff) AM_DEVICE("sysbank", address_map_bank_device, amap8)
AM_RANGE(0xd000, 0xdfff) AM_ROM AM_REGION("maincpu", 0x0000) AM_WRITE(bankswitch_w) // g1
@@ -138,7 +141,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, beezer_state )
AM_RANGE(0xf000, 0xffff) AM_ROM AM_REGION("maincpu", 0x2000) // g5
ADDRESS_MAP_END
-static ADDRESS_MAP_START( banked_map, AS_PROGRAM, 8, beezer_state )
+ADDRESS_MAP_START(beezer_state::banked_map)
AM_RANGE(0x0600, 0x0600) AM_MIRROR(0x1ff) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x0800, 0x080f) AM_MIRROR(0x1f0) AM_WRITE(palette_w)
AM_RANGE(0x0a00, 0x0a00) AM_MIRROR(0x1ff) AM_READ(line_r)
@@ -152,7 +155,7 @@ static ADDRESS_MAP_START( banked_map, AS_PROGRAM, 8, beezer_state )
AM_RANGE(0x7000, 0x7fff) AM_ROMBANK("rombank_f7")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, beezer_state )
+ADDRESS_MAP_START(beezer_state::sound_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM // 0d
AM_RANGE(0x0800, 0x0fff) AM_RAM // 2d, optional (can be rom)
AM_RANGE(0x1000, 0x1007) AM_MIRROR(0x07f8) AM_DEVREADWRITE("ptm", ptm6840_device, read, write)
diff --git a/src/mame/drivers/belatra.cpp b/src/mame/drivers/belatra.cpp
index d8c5d70a67d..357a2f33ed9 100644
--- a/src/mame/drivers/belatra.cpp
+++ b/src/mame/drivers/belatra.cpp
@@ -55,13 +55,14 @@ public:
{ }
void belatra(machine_config &config);
+ void belatra_map(address_map &map);
protected:
// devices
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START( belatra_map, AS_PROGRAM, 32, belatra_state )
+ADDRESS_MAP_START(belatra_state::belatra_map)
AM_RANGE(0x00000000, 0x003fffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/berzerk.cpp b/src/mame/drivers/berzerk.cpp
index 18a64937d1b..29d58355ba1 100644
--- a/src/mame/drivers/berzerk.cpp
+++ b/src/mame/drivers/berzerk.cpp
@@ -95,6 +95,9 @@ public:
void get_pens(rgb_t *pens);
void berzerk(machine_config &config);
void frenzy(machine_config &config);
+ void berzerk_io_map(address_map &map);
+ void berzerk_map(address_map &map);
+ void frenzy_map(address_map &map);
};
@@ -601,7 +604,7 @@ void berzerk_state::sound_reset()
*
*************************************/
-static ADDRESS_MAP_START( berzerk_map, AS_PROGRAM, 8, berzerk_state )
+ADDRESS_MAP_START(berzerk_state::berzerk_map)
AM_RANGE(0x0000, 0x07ff) AM_ROM
AM_RANGE(0x0800, 0x0bff) AM_MIRROR(0x0400) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x1000, 0x3fff) AM_ROM
@@ -612,7 +615,7 @@ static ADDRESS_MAP_START( berzerk_map, AS_PROGRAM, 8, berzerk_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( frenzy_map, AS_PROGRAM, 8, berzerk_state )
+ADDRESS_MAP_START(berzerk_state::frenzy_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x5fff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x6000, 0x7fff) AM_RAM_WRITE(magicram_w) AM_SHARE("videoram")
@@ -629,7 +632,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( berzerk_io_map, AS_IO, 8, berzerk_state )
+ADDRESS_MAP_START(berzerk_state::berzerk_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x3f) AM_NOP
AM_RANGE(0x40, 0x47) AM_READWRITE(audio_r, audio_w)
diff --git a/src/mame/drivers/besta.cpp b/src/mame/drivers/besta.cpp
index 95ca127aec3..8b7c3bcf4ee 100644
--- a/src/mame/drivers/besta.cpp
+++ b/src/mame/drivers/besta.cpp
@@ -45,6 +45,7 @@ public:
void kbd_put(u8 data);
void besta(machine_config &config);
+ void besta_mem(address_map &map);
protected:
virtual void machine_reset() override;
@@ -101,7 +102,7 @@ void besta_state::kbd_put(u8 data)
m_term_data = data;
}
-static ADDRESS_MAP_START(besta_mem, AS_PROGRAM, 32, besta_state)
+ADDRESS_MAP_START(besta_state::besta_mem)
AM_RANGE(0x00000000, 0x001fffff) AM_RAM AM_SHARE("p_ram") // local bus DRAM, 4MB
// AM_RANGE(0x08010000, 0x08011fff) AM_RAM // unknown -- accessed by cp31dssp
// AM_RANGE(0xfca03500, 0xfca0350f) AM_READWRITE8(iscsi_reg_r, iscsi_reg_w, 0xffffffff)
diff --git a/src/mame/drivers/bestleag.cpp b/src/mame/drivers/bestleag.cpp
index a1e3ad45df1..11b33075e9f 100644
--- a/src/mame/drivers/bestleag.cpp
+++ b/src/mame/drivers/bestleag.cpp
@@ -74,6 +74,7 @@ public:
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
void bestleag(machine_config &config);
void bestleaw(machine_config &config);
+ void bestleag_map(address_map &map);
};
@@ -249,7 +250,7 @@ WRITE16_MEMBER(bestleag_state::oki_bank_w)
/* Memory Map */
-static ADDRESS_MAP_START( bestleag_map, AS_PROGRAM, 16, bestleag_state )
+ADDRESS_MAP_START(bestleag_state::bestleag_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x0d2000, 0x0d3fff) AM_NOP // left over from the original game (only read / written in memory test)
AM_RANGE(0x0e0000, 0x0e3fff) AM_RAM_WRITE(bgram_w) AM_SHARE("bgram")
diff --git a/src/mame/drivers/beta.cpp b/src/mame/drivers/beta.cpp
index 16cc503da3d..7d8513e3fed 100644
--- a/src/mame/drivers/beta.cpp
+++ b/src/mame/drivers/beta.cpp
@@ -97,12 +97,13 @@ public:
emu_timer *m_led_refresh_timer;
TIMER_CALLBACK_MEMBER(led_refresh);
void beta(machine_config &config);
+ void beta_mem(address_map &map);
};
/* Memory Maps */
-static ADDRESS_MAP_START( beta_mem, AS_PROGRAM, 8, beta_state )
+ADDRESS_MAP_START(beta_state::beta_mem)
AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x7f00) AM_DEVICE(M6532_TAG, mos6532_new_device, ram_map)
AM_RANGE(0x0080, 0x00ff) AM_MIRROR(0x7f00) AM_DEVICE(M6532_TAG, mos6532_new_device, io_map)
AM_RANGE(0x8000, 0x87ff) AM_MIRROR(0x7800) AM_ROM
diff --git a/src/mame/drivers/bfcobra.cpp b/src/mame/drivers/bfcobra.cpp
index 287a04efb82..bcc37a85759 100644
--- a/src/mame/drivers/bfcobra.cpp
+++ b/src/mame/drivers/bfcobra.cpp
@@ -299,6 +299,10 @@ public:
required_device<palette_device> m_palette;
required_device<meters_device> m_meters;
void bfcobra(machine_config &config);
+ void m6809_prog_map(address_map &map);
+ void ramdac_map(address_map &map);
+ void z80_io_map(address_map &map);
+ void z80_prog_map(address_map &map);
};
@@ -1253,14 +1257,14 @@ void bfcobra_state::machine_reset()
***************************************************************************/
-static ADDRESS_MAP_START( z80_prog_map, AS_PROGRAM, 8, bfcobra_state )
+ADDRESS_MAP_START(bfcobra_state::z80_prog_map)
AM_RANGE(0x0000, 0x3fff) AM_ROMBANK("bank4")
AM_RANGE(0x4000, 0x7fff) AM_RAMBANK("bank1")
AM_RANGE(0x8000, 0xbfff) AM_RAMBANK("bank2")
AM_RANGE(0xc000, 0xffff) AM_RAMBANK("bank3")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( z80_io_map, AS_IO, 8, bfcobra_state )
+ADDRESS_MAP_START(bfcobra_state::z80_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x23) AM_READWRITE(chipset_r, chipset_w)
AM_RANGE(0x24, 0x25) AM_DEVWRITE("acia6850_0", acia6850_device, write)
@@ -1275,7 +1279,7 @@ ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ramdac_map, 0, 8, bfcobra_state )
+ADDRESS_MAP_START(bfcobra_state::ramdac_map)
AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac", ramdac_device, ramdac_pal_r, ramdac_rgb666_w)
ADDRESS_MAP_END
@@ -1389,7 +1393,7 @@ WRITE8_MEMBER(bfcobra_state::upd_w)
m_upd7759->start_w(data & 0x40 ? 0 : 1);
}
-static ADDRESS_MAP_START( m6809_prog_map, AS_PROGRAM, 8, bfcobra_state )
+ADDRESS_MAP_START(bfcobra_state::m6809_prog_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x2000, 0x2000) AM_RAM // W 'B', 6F
AM_RANGE(0x2200, 0x2200) AM_RAM // W 'F'
diff --git a/src/mame/drivers/bfm_ad5.cpp b/src/mame/drivers/bfm_ad5.cpp
index a683181bb67..e08f48b6f72 100644
--- a/src/mame/drivers/bfm_ad5.cpp
+++ b/src/mame/drivers/bfm_ad5.cpp
@@ -58,7 +58,7 @@ DRIVER_INIT_MEMBER(adder5_state,ad5)
}
-static ADDRESS_MAP_START( ad5_map, AS_PROGRAM, 32, adder5_state )
+ADDRESS_MAP_START(adder5_state::ad5_map)
AM_RANGE(0x00000000, 0x00ffffff) AM_ROM
AM_RANGE(0x01000000, 0x0100ffff) AM_RAM
AM_RANGE(0x40000000, 0x40000fff) AM_RAM
diff --git a/src/mame/drivers/bfm_sc1.cpp b/src/mame/drivers/bfm_sc1.cpp
index 07df0cc9ff8..47b04924f12 100644
--- a/src/mame/drivers/bfm_sc1.cpp
+++ b/src/mame/drivers/bfm_sc1.cpp
@@ -218,6 +218,9 @@ public:
void scorpion1_adder2(machine_config &config);
void scorpion1(machine_config &config);
void scorpion1_viper(machine_config &config);
+ void sc1_adder2(address_map &map);
+ void sc1_base(address_map &map);
+ void sc1_viper(address_map &map);
};
#define VFD_RESET 0x20
@@ -675,7 +678,7 @@ void bfm_sc1_state::machine_reset()
// scorpion1 board memory map ///////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
-static ADDRESS_MAP_START( sc1_base, AS_PROGRAM, 8, bfm_sc1_state )
+ADDRESS_MAP_START(bfm_sc1_state::sc1_base)
AM_RANGE(0x0000, 0x1FFF) AM_RAM AM_SHARE("nvram") //8k RAM
AM_RANGE(0x2000, 0x21FF) AM_WRITE(reel34_w) // reel 2+3 latch
@@ -715,7 +718,7 @@ ADDRESS_MAP_END
// scorpion1 board + adder2 expansion memory map ////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
-static ADDRESS_MAP_START( sc1_adder2, AS_PROGRAM, 8, bfm_sc1_state )
+ADDRESS_MAP_START(bfm_sc1_state::sc1_adder2)
AM_IMPORT_FROM( sc1_base )
AM_RANGE(0x3E00, 0x3E00) AM_DEVREADWRITE("adder2", bfm_adder2_device, vid_uart_ctrl_r,vid_uart_ctrl_w) // video uart control reg read
@@ -727,7 +730,7 @@ ADDRESS_MAP_END
// scorpion1 board + upd7759 soundcard memory map ///////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
-static ADDRESS_MAP_START( sc1_viper, AS_PROGRAM, 8, bfm_sc1_state )
+ADDRESS_MAP_START(bfm_sc1_state::sc1_viper)
AM_IMPORT_FROM( sc1_base )
AM_RANGE(0x3404, 0x3404) AM_READ(dipcoin_r ) // coin input on gamecard
diff --git a/src/mame/drivers/bfm_sc2.cpp b/src/mame/drivers/bfm_sc2.cpp
index d9acd631343..7286e3dcd43 100644
--- a/src/mame/drivers/bfm_sc2.cpp
+++ b/src/mame/drivers/bfm_sc2.cpp
@@ -375,6 +375,9 @@ public:
void scorpion2_dm01_3m(machine_config &config);
void scorpion2_vidm(machine_config &config);
void scorpion2(machine_config &config);
+ void memmap_no_vid(address_map &map);
+ void memmap_vid(address_map &map);
+ void sc2_basemap(address_map &map);
};
@@ -1481,7 +1484,7 @@ void bfm_sc2_state::save_state()
}
-static ADDRESS_MAP_START( sc2_basemap, AS_PROGRAM, 8, bfm_sc2_state )
+ADDRESS_MAP_START(bfm_sc2_state::sc2_basemap)
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("nvram") //8k
AM_RANGE(0x2300, 0x230B) AM_READ(mux_input_r)
@@ -1526,7 +1529,7 @@ static ADDRESS_MAP_START( sc2_basemap, AS_PROGRAM, 8, bfm_sc2_state )
AM_RANGE(0x8000, 0xFFFF) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( memmap_no_vid, AS_PROGRAM, 8, bfm_sc2_state )
+ADDRESS_MAP_START(bfm_sc2_state::memmap_no_vid)
AM_IMPORT_FROM( sc2_basemap )
AM_RANGE(0x2000, 0x2000) AM_READ(vfd_status_r)
AM_RANGE(0x2000, 0x20FF) AM_WRITE(reel12_w)
@@ -1536,7 +1539,7 @@ ADDRESS_MAP_END
// memory map for scorpion2 board video addon /////////////////////////////
-static ADDRESS_MAP_START( memmap_vid, AS_PROGRAM, 8, bfm_sc2_state )
+ADDRESS_MAP_START(bfm_sc2_state::memmap_vid)
AM_IMPORT_FROM( sc2_basemap )
AM_RANGE(0x2000, 0x2000) AM_READ(vfd_status_hop_r) // vfd status register
diff --git a/src/mame/drivers/bfm_sc4.cpp b/src/mame/drivers/bfm_sc4.cpp
index fce3852d181..2cbfab07ce6 100644
--- a/src/mame/drivers/bfm_sc4.cpp
+++ b/src/mame/drivers/bfm_sc4.cpp
@@ -616,7 +616,7 @@ WRITE16_MEMBER(sc4_state::sc4_mem_w)
}
}
-static ADDRESS_MAP_START( sc4_map, AS_PROGRAM, 16, sc4_state )
+ADDRESS_MAP_START(sc4_state::sc4_map)
AM_RANGE(0x0000000, 0xffffff) AM_READWRITE(sc4_mem_r, sc4_mem_w)
AM_RANGE(0x0000000, 0x0fffff) AM_READ(sc4_cs1_r) // technically we should be going through the cs handler, but this is always set to ROM, and assuming that is a lot faster
ADDRESS_MAP_END
@@ -666,7 +666,7 @@ WRITE32_MEMBER(sc4_adder4_state::adder4_mem_w)
}
-static ADDRESS_MAP_START( sc4_adder4_map, AS_PROGRAM, 32, sc4_adder4_state )
+ADDRESS_MAP_START(sc4_adder4_state::sc4_adder4_map)
AM_RANGE(0x00000000, 0xffffffff) AM_READWRITE(adder4_mem_r, adder4_mem_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/bfm_sc5.cpp b/src/mame/drivers/bfm_sc5.cpp
index 5e76fe3c237..1f44cc6939c 100644
--- a/src/mame/drivers/bfm_sc5.cpp
+++ b/src/mame/drivers/bfm_sc5.cpp
@@ -80,7 +80,7 @@ WRITE8_MEMBER( bfm_sc5_state::sc5_mux2_w )
}
-static ADDRESS_MAP_START( sc5_map, AS_PROGRAM, 32, bfm_sc5_state )
+ADDRESS_MAP_START(bfm_sc5_state::sc5_map)
// ROM (max size?)
AM_RANGE(0x00000000, 0x002fffff) AM_ROM
// ?
diff --git a/src/mame/drivers/bfm_swp.cpp b/src/mame/drivers/bfm_swp.cpp
index 5b2e491071d..3cf477b0cbe 100644
--- a/src/mame/drivers/bfm_swp.cpp
+++ b/src/mame/drivers/bfm_swp.cpp
@@ -128,6 +128,7 @@ public:
}
void bfm_swp(machine_config &config);
+ void bfm_swp_map(address_map &map);
protected:
// devices
@@ -181,7 +182,7 @@ WRITE32_MEMBER(bfm_swp_state::bfm_swp_mem_w)
-static ADDRESS_MAP_START( bfm_swp_map, AS_PROGRAM, 32, bfm_swp_state )
+ADDRESS_MAP_START(bfm_swp_state::bfm_swp_map)
AM_RANGE(0x00000000, 0xffffffff) AM_READWRITE(bfm_swp_mem_r, bfm_swp_mem_w)
AM_RANGE(0x00000000, 0x000fffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/bfmsys83.cpp b/src/mame/drivers/bfmsys83.cpp
index e775074c06c..e46f8cff074 100644
--- a/src/mame/drivers/bfmsys83.cpp
+++ b/src/mame/drivers/bfmsys83.cpp
@@ -19,11 +19,12 @@ public:
uint8_t m_codec_data[256];
required_device<cpu_device> m_maincpu;
void bfmsys83(machine_config &config);
+ void memmap(address_map &map);
};
-static ADDRESS_MAP_START( memmap, AS_PROGRAM, 8, bfmsys83_state )
+ADDRESS_MAP_START(bfmsys83_state::memmap)
AM_RANGE(0x4000, 0xffff) AM_ROM // 32K ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/bfmsys85.cpp b/src/mame/drivers/bfmsys85.cpp
index 22b95111fb7..a6333d60108 100644
--- a/src/mame/drivers/bfmsys85.cpp
+++ b/src/mame/drivers/bfmsys85.cpp
@@ -135,6 +135,7 @@ public:
required_device<acia6850_device> m_acia6850_0;
required_device<meters_device> m_meters;
void bfmsys85(machine_config &config);
+ void memmap(address_map &map);
};
#define MASTER_CLOCK (XTAL(4'000'000))
@@ -355,7 +356,7 @@ void bfmsys85_state::machine_start()
// memory map for bellfruit system85 board ////////////////////////////////
-static ADDRESS_MAP_START( memmap, AS_PROGRAM, 8, bfmsys85_state )
+ADDRESS_MAP_START(bfmsys85_state::memmap)
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("nvram") //8k RAM
AM_RANGE(0x2000, 0x21FF) AM_WRITE(reel34_w) // reel 3+4 latch
diff --git a/src/mame/drivers/bgt.cpp b/src/mame/drivers/bgt.cpp
index 9718524fb75..8431c0bfc97 100644
--- a/src/mame/drivers/bgt.cpp
+++ b/src/mame/drivers/bgt.cpp
@@ -22,6 +22,8 @@ public:
{ }
void bgt(machine_config &config);
+ void bgt_io(address_map &map);
+ void bgt_map(address_map &map);
protected:
// devices
@@ -29,14 +31,14 @@ protected:
};
-static ADDRESS_MAP_START( bgt_map, AS_PROGRAM, 16, bgt_state )
+ADDRESS_MAP_START(bgt_state::bgt_map)
AM_RANGE(0x00000, 0x7ffff) AM_ROM
AM_RANGE(0xf8000, 0xfffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bgt_io, AS_IO, 16, bgt_state )
+ADDRESS_MAP_START(bgt_state::bgt_io)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/big10.cpp b/src/mame/drivers/big10.cpp
index c039d67e6da..63c30c81f59 100644
--- a/src/mame/drivers/big10.cpp
+++ b/src/mame/drivers/big10.cpp
@@ -83,6 +83,8 @@ public:
required_device<ticket_dispenser_device> m_hopper;
required_ioport_array<6> m_in;
void big10(machine_config &config);
+ void main_io(address_map &map);
+ void main_map(address_map &map);
};
@@ -117,13 +119,13 @@ READ8_MEMBER(big10_state::mux_r)
* Memory Map *
**************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, big10_state )
+ADDRESS_MAP_START(big10_state::main_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_io, AS_IO, 8, big10_state )
+ADDRESS_MAP_START(big10_state::main_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(mux_r) /* present in test mode */
AM_RANGE(0x02, 0x02) AM_READ_PORT("SYSTEM") /* coins and service */
diff --git a/src/mame/drivers/bigbord2.cpp b/src/mame/drivers/bigbord2.cpp
index b735cdacfc3..3b7921d5b02 100644
--- a/src/mame/drivers/bigbord2.cpp
+++ b/src/mame/drivers/bigbord2.cpp
@@ -133,6 +133,8 @@ public:
MC6845_UPDATE_ROW(crtc_update_row);
void bigbord2(machine_config &config);
+ void bigbord2_io(address_map &map);
+ void bigbord2_mem(address_map &map);
private:
u8 crt8002(u8 ac_ra, u8 ac_chr, u8 ac_attr, uint16_t ac_cnt, bool ac_curs);
u8 m_term_data;
@@ -320,7 +322,7 @@ WRITE8_MEMBER(bigbord2_state::syslatch2_w)
/* Memory Maps */
-static ADDRESS_MAP_START( bigbord2_mem, AS_PROGRAM, 8, bigbord2_state )
+ADDRESS_MAP_START(bigbord2_state::bigbord2_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_RAMBANK("bankr")
AM_RANGE(0x1000, 0x5fff) AM_RAM
@@ -329,7 +331,7 @@ static ADDRESS_MAP_START( bigbord2_mem, AS_PROGRAM, 8, bigbord2_state )
AM_RANGE(0x8000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bigbord2_io, AS_IO, 8, bigbord2_state )
+ADDRESS_MAP_START(bigbord2_state::bigbord2_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x80, 0x83) AM_DEVREADWRITE("sio", z80sio_device, ba_cd_r, ba_cd_w) // u16
diff --git a/src/mame/drivers/bigevglf.cpp b/src/mame/drivers/bigevglf.cpp
index 87d46624c3a..be5a949bb21 100644
--- a/src/mame/drivers/bigevglf.cpp
+++ b/src/mame/drivers/bigevglf.cpp
@@ -294,7 +294,7 @@ INPUT_PORTS_END
/*****************************************************************************/
/* Main CPU */
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, bigevglf_state )
+ADDRESS_MAP_START(bigevglf_state::main_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xd000, 0xd7ff) AM_ROMBANK("bank1")
@@ -305,7 +305,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, bigevglf_state )
AM_RANGE(0xf840, 0xf8ff) AM_RAM AM_SHARE("spriteram2") /* spriteram (x,y,offset in spriteram1,palette) */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bigevglf_portmap, AS_IO, 8, bigevglf_state )
+ADDRESS_MAP_START(bigevglf_state::bigevglf_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITENOP /* video ram enable ???*/
AM_RANGE(0x01, 0x01) AM_WRITE(bigevglf_gfxcontrol_w) /* plane select */
@@ -320,7 +320,7 @@ ADDRESS_MAP_END
/*********************************************************************************/
/* Sub CPU */
-static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 8, bigevglf_state )
+ADDRESS_MAP_START(bigevglf_state::sub_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x8000, 0x83ff) AM_RAM AM_SHARE("share1") /* shared with main CPU */
@@ -343,7 +343,7 @@ READ8_MEMBER(bigevglf_state::sub_cpu_mcu_coin_port_r)
m_mcu_coin_bit5; /* bit 0 and bit 1 - coin inputs */
}
-static ADDRESS_MAP_START( bigevglf_sub_portmap, AS_IO, 8, bigevglf_state )
+ADDRESS_MAP_START(bigevglf_state::bigevglf_sub_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("PORT00")
AM_RANGE(0x01, 0x01) AM_READNOP
@@ -369,7 +369,7 @@ ADDRESS_MAP_END
/*********************************************************************************/
/* Sound CPU */
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, bigevglf_state )
+ADDRESS_MAP_START(bigevglf_state::sound_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc801) AM_DEVWRITE("aysnd", ym2149_device, address_data_w)
diff --git a/src/mame/drivers/bigstrkb.cpp b/src/mame/drivers/bigstrkb.cpp
index abff7d960d9..95e020a292e 100644
--- a/src/mame/drivers/bigstrkb.cpp
+++ b/src/mame/drivers/bigstrkb.cpp
@@ -39,7 +39,7 @@ lev 7 : 0x7c : 0000 05be - xxx
/* some regions might be too large */
-static ADDRESS_MAP_START( bigstrkb_map, AS_PROGRAM, 16, bigstrkb_state )
+ADDRESS_MAP_START(bigstrkb_state::bigstrkb_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
// AM_RANGE(0x0c0000, 0x0cffff) AM_READWRITE_LEGACY(megasys1_vregs_C_r, megasys1_vregs_C_w) AM_SHARE("megasys1_vregs")
diff --git a/src/mame/drivers/binbug.cpp b/src/mame/drivers/binbug.cpp
index 4ae385d6e8b..18dda0e979e 100644
--- a/src/mame/drivers/binbug.cpp
+++ b/src/mame/drivers/binbug.cpp
@@ -89,6 +89,8 @@ public:
required_device<cassette_image_device> m_cass;
void binbug(machine_config &config);
+ void binbug_data(address_map &map);
+ void binbug_mem(address_map &map);
private:
uint8_t m_framecnt;
required_shared_ptr<uint8_t> m_p_videoram;
@@ -111,7 +113,7 @@ WRITE_LINE_MEMBER( binbug_state::binbug_serial_w )
m_cass->output(state ? -1.0 : +1.0);
}
-static ADDRESS_MAP_START(binbug_mem, AS_PROGRAM, 8, binbug_state)
+ADDRESS_MAP_START(binbug_state::binbug_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x03ff) AM_ROM
AM_RANGE( 0x0400, 0x77ff) AM_RAM
@@ -119,7 +121,7 @@ static ADDRESS_MAP_START(binbug_mem, AS_PROGRAM, 8, binbug_state)
AM_RANGE( 0x7c00, 0x7fff) AM_RAM AM_SHARE("attribram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(binbug_data, AS_DATA, 8, binbug_state)
+ADDRESS_MAP_START(binbug_state::binbug_data)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(S2650_CTRL_PORT, S2650_CTRL_PORT) AM_WRITE(binbug_ctrl_w)
ADDRESS_MAP_END
@@ -424,6 +426,8 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(uart_tick);
void dg680(machine_config &config);
+ void dg680_io(address_map &map);
+ void dg680_mem(address_map &map);
private:
uint8_t m_pio_b;
uint8_t m_term_data;
@@ -433,7 +437,7 @@ private:
required_device<z80pio_device> m_pio;
};
-static ADDRESS_MAP_START(dg680_mem, AS_PROGRAM, 8, dg680_state)
+ADDRESS_MAP_START(dg680_state::dg680_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0xcfff) AM_RAM
AM_RANGE( 0xd000, 0xd7ff) AM_ROM
@@ -442,7 +446,7 @@ static ADDRESS_MAP_START(dg680_mem, AS_PROGRAM, 8, dg680_state)
AM_RANGE( 0xf400, 0xf7ff) AM_RAM AM_SHARE("attribram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(dg680_io, AS_IO, 8, dg680_state)
+ADDRESS_MAP_START(dg680_state::dg680_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00,0x03) AM_DEVREADWRITE("z80pio", z80pio_device, read_alt, write_alt)
diff --git a/src/mame/drivers/bingo.cpp b/src/mame/drivers/bingo.cpp
index 9efd1ac6a03..3e9b400d578 100644
--- a/src/mame/drivers/bingo.cpp
+++ b/src/mame/drivers/bingo.cpp
@@ -15,6 +15,7 @@ public:
{ }
void bingo(machine_config &config);
+ void bingo_map(address_map &map);
protected:
// devices
@@ -27,7 +28,7 @@ public:
};
-static ADDRESS_MAP_START( bingo_map, AS_PROGRAM, 8, bingo_state )
+ADDRESS_MAP_START(bingo_state::bingo_map)
AM_RANGE(0x0000, 0x7fff) AM_NOP
AM_RANGE(0x0000, 0x1eff) AM_ROM
AM_RANGE(0x1f00, 0x1fff) AM_RAM
@@ -59,6 +60,7 @@ public:
{ }
void seeben(machine_config &config);
+ void seeben_map(address_map &map);
protected:
// devices
@@ -71,7 +73,7 @@ public:
};
-static ADDRESS_MAP_START( seeben_map, AS_PROGRAM, 8, seeben_state )
+ADDRESS_MAP_START(seeben_state::seeben_map)
ADDRESS_MAP_END
static INPUT_PORTS_START( seeben )
@@ -100,6 +102,7 @@ public:
{ }
void splin(machine_config &config);
+ void splin_map(address_map &map);
protected:
// devices
@@ -111,7 +114,7 @@ public:
DECLARE_DRIVER_INIT(splin);
};
-static ADDRESS_MAP_START( splin_map, AS_PROGRAM, 16, splin_state )
+ADDRESS_MAP_START(splin_state::splin_map)
AM_RANGE(0x00000, 0x0bfff) AM_RAM
AM_RANGE(0x0d900, 0x0d9ff) AM_RAM
AM_RANGE(0xe0000, 0xfffff) AM_ROM
diff --git a/src/mame/drivers/bingoc.cpp b/src/mame/drivers/bingoc.cpp
index 7fee69375f5..30377225a85 100644
--- a/src/mame/drivers/bingoc.cpp
+++ b/src/mame/drivers/bingoc.cpp
@@ -61,6 +61,9 @@ public:
required_device<upd7759_device> m_upd7759;
required_device<generic_latch_8_device> m_soundlatch;
void bingoc(machine_config &config);
+ void main_map(address_map &map);
+ void sound_io(address_map &map);
+ void sound_map(address_map &map);
};
@@ -121,7 +124,7 @@ WRITE8_MEMBER(bingoc_state::sound_play_w)
// printf("%02x\n",data);
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, bingoc_state )
+ADDRESS_MAP_START(bingoc_state::main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_DEVREADWRITE8("uart1", i8251_device, data_r, data_w, 0x00ff)
AM_RANGE(0x100002, 0x100003) AM_DEVREADWRITE8("uart1", i8251_device, status_r, control_w, 0x00ff)
@@ -146,12 +149,12 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, bingoc_state )
AM_RANGE(0xff8000, 0xffffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, bingoc_state )
+ADDRESS_MAP_START(bingoc_state::sound_map)
AM_RANGE(0x0000, 0x4fff) AM_ROM
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_io, AS_IO, 8, bingoc_state )
+ADDRESS_MAP_START(bingoc_state::sound_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0x40, 0x40) AM_WRITE(sound_play_w)
diff --git a/src/mame/drivers/bingoman.cpp b/src/mame/drivers/bingoman.cpp
index 645963c3367..e7e81f163d8 100644
--- a/src/mame/drivers/bingoman.cpp
+++ b/src/mame/drivers/bingoman.cpp
@@ -260,6 +260,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_PALETTE_INIT(bingoman);
void bingoman(machine_config &config);
+ void bingoman_io_map(address_map &map);
+ void bingoman_prg_map(address_map &map);
protected:
// driver_device overrides
virtual void machine_start() override;
@@ -277,11 +279,11 @@ uint32_t bingoman_state::screen_update( screen_device &screen, bitmap_ind16 &bit
return 0;
}
-static ADDRESS_MAP_START( bingoman_prg_map, AS_PROGRAM, 16, bingoman_state )
+ADDRESS_MAP_START(bingoman_state::bingoman_prg_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bingoman_io_map, AS_IO, 8, bingoman_state )
+ADDRESS_MAP_START(bingoman_state::bingoman_io_map)
// ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/bingor.cpp b/src/mame/drivers/bingor.cpp
index 7142c63f857..7a74ac64bff 100644
--- a/src/mame/drivers/bingor.cpp
+++ b/src/mame/drivers/bingor.cpp
@@ -544,6 +544,13 @@ public:
void bingor(machine_config &config);
void bingor2(machine_config &config);
void vip2000(machine_config &config);
+ void bingor2_map(address_map &map);
+ void bingor_io(address_map &map);
+ void bingor_map(address_map &map);
+ void slave_io(address_map &map);
+ void slave_map(address_map &map);
+ void vip2000_io(address_map &map);
+ void vip2000_map(address_map &map);
};
@@ -593,7 +600,7 @@ uint32_t bingor_state::screen_update_bingor(screen_device &screen, bitmap_rgb32
}
-static ADDRESS_MAP_START( bingor_map, AS_PROGRAM, 16, bingor_state )
+ADDRESS_MAP_START(bingor_state::bingor_map)
AM_RANGE(0x00000, 0x0ffff) AM_RAM
AM_RANGE(0x90000, 0x9ffff) AM_ROM AM_REGION("gfx", 0)
AM_RANGE(0xa0000, 0xaffff) AM_RAM AM_SHARE("blit_ram")
@@ -601,12 +608,12 @@ static ADDRESS_MAP_START( bingor_map, AS_PROGRAM, 16, bingor_state )
AM_RANGE(0xf0000, 0xfffff) AM_ROM AM_REGION("boot_prg", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bingor2_map, AS_PROGRAM, 16, bingor_state )
+ADDRESS_MAP_START(bingor_state::bingor2_map)
AM_IMPORT_FROM(bingor_map)
AM_RANGE(0xe0000, 0xfffff) AM_ROM AM_REGION("boot_prg", 0) // banked?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bingor_io, AS_IO, 16, bingor_state )
+ADDRESS_MAP_START(bingor_state::bingor_io)
AM_RANGE(0x0100, 0x0103) AM_DEVWRITE8("saa", saa1099_device, write, 0x00ff)
ADDRESS_MAP_END
@@ -713,7 +720,7 @@ MACHINE_CONFIG_DERIVED(bingor_state::bingor2, bingor)
MACHINE_CONFIG_END
-static ADDRESS_MAP_START( vip2000_map, AS_PROGRAM, 16, bingor_state )
+ADDRESS_MAP_START(bingor_state::vip2000_map)
AM_RANGE(0x00000, 0x0ffff) AM_RAM
AM_RANGE(0x40000, 0x4ffff) AM_RAM AM_SHARE("blit_ram")
AM_RANGE(0x40300, 0x4031f) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") //wrong
@@ -723,7 +730,7 @@ static ADDRESS_MAP_START( vip2000_map, AS_PROGRAM, 16, bingor_state )
AM_RANGE(0xf0000, 0xfffff) AM_ROM AM_REGION("boot_prg", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vip2000_io, AS_IO, 16, bingor_state )
+ADDRESS_MAP_START(bingor_state::vip2000_io)
AM_RANGE(0x0000, 0x0001) AM_READNOP // watchdog
AM_RANGE(0x0080, 0x009f) AM_DEVREADWRITE8("rtc", msm6242_device, read, write, 0x00ff)
AM_RANGE(0x0100, 0x0101) AM_READWRITE8(fromslave_r, toslave_w, 0x00ff)
@@ -755,11 +762,11 @@ WRITE16_MEMBER(bingor_state::vip2000_outputs_w)
m_slavecpu->set_input_line(MCS51_INT0_LINE, BIT(data, 15) ? CLEAR_LINE : ASSERT_LINE);
}
-static ADDRESS_MAP_START( slave_map, AS_PROGRAM, 8, bingor_state )
+ADDRESS_MAP_START(bingor_state::slave_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_io, AS_IO, 8, bingor_state)
+ADDRESS_MAP_START(bingor_state::slave_io)
AM_RANGE(0x0000, 0x0000) AM_READWRITE(toslave_r, fromslave_w)
AM_RANGE(0xc000, 0xcfff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/bingowav.cpp b/src/mame/drivers/bingowav.cpp
index c2bcb01d45d..990e6b4e5b6 100644
--- a/src/mame/drivers/bingowav.cpp
+++ b/src/mame/drivers/bingowav.cpp
@@ -56,6 +56,10 @@ public:
{ }
void bingowav(machine_config &config);
+ void bingowav_audio_map(address_map &map);
+ void bingowav_control_map(address_map &map);
+ void bingowav_drive_map(address_map &map);
+ void bingowav_main_map(address_map &map);
protected:
virtual void machine_start() override;
@@ -69,7 +73,7 @@ void bingowav_state::machine_start()
}
-static ADDRESS_MAP_START( bingowav_main_map, AS_PROGRAM, 16, bingowav_state )
+ADDRESS_MAP_START(bingowav_state::bingowav_main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x120000, 0x12001f) AM_DEVREADWRITE8("mainioh", te7750_device, read, write, 0xff00)
@@ -80,7 +84,7 @@ static ADDRESS_MAP_START( bingowav_main_map, AS_PROGRAM, 16, bingowav_state )
AM_RANGE(0xfffc00, 0xffffff) AM_DEVREADWRITE("maintmp", tmp68301_device, regs_r, regs_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bingowav_audio_map, AS_PROGRAM, 8, bingowav_state )
+ADDRESS_MAP_START(bingowav_state::bingowav_audio_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE("ymsnd", ym2610_device, read, write)
@@ -89,11 +93,11 @@ static ADDRESS_MAP_START( bingowav_audio_map, AS_PROGRAM, 8, bingowav_state )
AM_RANGE(0xf200, 0xf200) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bingowav_drive_map, AS_PROGRAM, 16, bingowav_state )
+ADDRESS_MAP_START(bingowav_state::bingowav_drive_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bingowav_control_map, AS_PROGRAM, 8, bingowav_state )
+ADDRESS_MAP_START(bingowav_state::bingowav_control_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xf000, 0xf000) AM_WRITENOP
diff --git a/src/mame/drivers/bionicc.cpp b/src/mame/drivers/bionicc.cpp
index 753f3db252d..04a56ed1ef8 100644
--- a/src/mame/drivers/bionicc.cpp
+++ b/src/mame/drivers/bionicc.cpp
@@ -162,7 +162,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(bionicc_state::scanline)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, bionicc_state )
+ADDRESS_MAP_START(bionicc_state::main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0xfe0000, 0xfe07ff) AM_RAM /* RAM? */
AM_RANGE(0xfe0800, 0xfe0cff) AM_RAM AM_SHARE("spriteram")
@@ -183,7 +183,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, bionicc_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, bionicc_state )
+ADDRESS_MAP_START(bionicc_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0xa000, 0xa000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/bishi.cpp b/src/mame/drivers/bishi.cpp
index bb940bc6fcf..444e6f1fc24 100644
--- a/src/mame/drivers/bishi.cpp
+++ b/src/mame/drivers/bishi.cpp
@@ -144,7 +144,7 @@ READ16_MEMBER(bishi_state::bishi_K056832_rom_r)
return m_k056832->bishi_rom_word_r(space, ouroffs, mem_mask);
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, bishi_state )
+ADDRESS_MAP_START(bishi_state::main_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x400000, 0x407fff) AM_RAM // Work RAM
AM_RANGE(0x800000, 0x800001) AM_READWRITE(control_r, control_w)
diff --git a/src/mame/drivers/bitgraph.cpp b/src/mame/drivers/bitgraph.cpp
index 49b812fdeac..702e28133a5 100644
--- a/src/mame/drivers/bitgraph.cpp
+++ b/src/mame/drivers/bitgraph.cpp
@@ -142,6 +142,9 @@ public:
void bg_motherboard(machine_config &config);
void bitgrpha(machine_config &config);
void bitgrphb(machine_config &config);
+ void bitgrapha_mem(address_map &map);
+ void bitgraphb_mem(address_map &map);
+ void ppu_io(address_map &map);
private:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -167,7 +170,7 @@ private:
uint8_t m_ppu[4];
};
-static ADDRESS_MAP_START(bitgrapha_mem, AS_PROGRAM, 16, bitgraph_state)
+ADDRESS_MAP_START(bitgraph_state::bitgrapha_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x007fff) AM_ROM
AM_RANGE(0x010000, 0x010001) AM_DEVREADWRITE8(ACIA0_TAG, acia6850_device, data_r, data_w, 0xff00) // HOST
@@ -184,7 +187,7 @@ static ADDRESS_MAP_START(bitgrapha_mem, AS_PROGRAM, 16, bitgraph_state)
AM_RANGE(0x3e0000, 0x3fffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(bitgraphb_mem, AS_PROGRAM, 16, bitgraph_state)
+ADDRESS_MAP_START(bitgraph_state::bitgraphb_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x007fff) AM_ROM
AM_RANGE(0x010000, 0x010001) AM_DEVREADWRITE8(ACIA0_TAG, acia6850_device, data_r, data_w, 0xff00) // HOST
@@ -427,7 +430,7 @@ WRITE8_MEMBER(bitgraph_state::ppu_write)
}
#ifdef UNUSED_FUNCTION
-static ADDRESS_MAP_START(ppu_io, AS_IO, 8, bitgraph_state)
+ADDRESS_MAP_START(bitgraph_state::ppu_io)
// AM_RANGE(0x00, 0x00) AM_READ(ppu_irq)
ADDRESS_MAP_END
#endif
diff --git a/src/mame/drivers/bk.cpp b/src/mame/drivers/bk.cpp
index 453ad84f7ef..fe1c57df30d 100644
--- a/src/mame/drivers/bk.cpp
+++ b/src/mame/drivers/bk.cpp
@@ -22,7 +22,7 @@
/* Address maps */
-static ADDRESS_MAP_START(bk0010_mem, AS_PROGRAM, 16, bk_state )
+ADDRESS_MAP_START(bk_state::bk0010_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x3fff ) AM_RAM // RAM
AM_RANGE( 0x4000, 0x7fff ) AM_RAM AM_SHARE("video_ram") // Video RAM
@@ -36,7 +36,7 @@ static ADDRESS_MAP_START(bk0010_mem, AS_PROGRAM, 16, bk_state )
AM_RANGE( 0xffce, 0xffcf ) AM_READWRITE(bk_key_press_r,bk_key_press_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(bk0010fd_mem, AS_PROGRAM, 16, bk_state )
+ADDRESS_MAP_START(bk_state::bk0010fd_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x3fff ) AM_RAM // RAM
AM_RANGE( 0x4000, 0x7fff ) AM_RAM AM_SHARE("video_ram") // Video RAM
diff --git a/src/mame/drivers/bking.cpp b/src/mame/drivers/bking.cpp
index b60301fcd6b..8f618f5096f 100644
--- a/src/mame/drivers/bking.cpp
+++ b/src/mame/drivers/bking.cpp
@@ -81,13 +81,13 @@ READ8_MEMBER(bking_state::bking3_mcu_status_r)
((CLEAR_LINE != m_bmcu->mcu_semaphore_r()) ? 0x02 : 0x00);
}
-static ADDRESS_MAP_START( bking_map, AS_PROGRAM, 8, bking_state )
+ADDRESS_MAP_START(bking_state::bking_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM
AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(bking_playfield_w) AM_SHARE("playfield_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bking_io_map, AS_IO, 8, bking_state )
+ADDRESS_MAP_START(bking_state::bking_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_WRITE(bking_xld1_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1") AM_WRITE(bking_yld1_w)
@@ -106,7 +106,7 @@ static ADDRESS_MAP_START( bking_io_map, AS_IO, 8, bking_state )
AM_RANGE(0x07, 0x1f) AM_READ(bking_pos_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bking3_io_map, AS_IO, 8, bking_state )
+ADDRESS_MAP_START(bking_state::bking3_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_WRITE(bking_xld1_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1") AM_WRITE(bking_yld1_w)
@@ -130,7 +130,7 @@ static ADDRESS_MAP_START( bking3_io_map, AS_IO, 8, bking_state )
AM_RANGE(0x8f, 0x8f) AM_WRITE(bking3_addr_l_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bking_audio_map, AS_PROGRAM, 8, bking_state )
+ADDRESS_MAP_START(bking_state::bking_audio_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x2fff) AM_ROM //only bking3
AM_RANGE(0x4000, 0x43ff) AM_RAM
diff --git a/src/mame/drivers/blackt96.cpp b/src/mame/drivers/blackt96.cpp
index b41233409f4..17090d5ad26 100644
--- a/src/mame/drivers/blackt96.cpp
+++ b/src/mame/drivers/blackt96.cpp
@@ -122,6 +122,8 @@ public:
void tile_callback(int &tile, int& fx, int& fy, int& region);
void blackt96(machine_config &config);
+ void blackt96_map(address_map &map);
+ void oki1_map(address_map &map);
protected:
// overrides
virtual void machine_start() override;
@@ -238,7 +240,7 @@ WRITE16_MEMBER(blackt96_state::tx_vram_w)
m_tx_tilemap->mark_tile_dirty(offset/2);
}
-static ADDRESS_MAP_START( blackt96_map, AS_PROGRAM, 16, blackt96_state )
+ADDRESS_MAP_START(blackt96_state::blackt96_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("P1_P2") AM_WRITE8(sound_cmd_w,0xff00) // soundlatch
AM_RANGE(0x0c0000, 0x0c0001) AM_READ_PORT("IN1") AM_WRITE8(output_w,0x00ff) // COIN INPUT
@@ -254,7 +256,7 @@ static ADDRESS_MAP_START( blackt96_map, AS_PROGRAM, 16, blackt96_state )
AM_RANGE(0xc00000, 0xc03fff) AM_RAM // main ram
ADDRESS_MAP_END
-static ADDRESS_MAP_START( oki1_map, 0, 8, blackt96_state )
+ADDRESS_MAP_START(blackt96_state::oki1_map)
AM_RANGE(0x00000, 0x2ffff) AM_ROM
AM_RANGE(0x30000, 0x3ffff) AM_ROMBANK("oki1bank")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/bladestl.cpp b/src/mame/drivers/bladestl.cpp
index 3ba43e7b4e1..0f284c6d3f3 100644
--- a/src/mame/drivers/bladestl.cpp
+++ b/src/mame/drivers/bladestl.cpp
@@ -125,7 +125,7 @@ WRITE8_MEMBER(bladestl_state::bladestl_speech_ctrl_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, bladestl_state )
+ADDRESS_MAP_START(bladestl_state::main_map)
AM_RANGE(0x0000, 0x1fff) AM_DEVREADWRITE("k007342", k007342_device, read, write) /* Color RAM + Video RAM */
AM_RANGE(0x2000, 0x21ff) AM_DEVREADWRITE("k007420", k007420_device, read, write) /* Sprite RAM */
AM_RANGE(0x2200, 0x23ff) AM_DEVREADWRITE("k007342", k007342_device, scroll_r, scroll_w) /* Scroll RAM */
@@ -147,7 +147,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, bladestl_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, bladestl_state )
+ADDRESS_MAP_START(bladestl_state::sound_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x1000, 0x1001) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write) /* YM2203 */
AM_RANGE(0x3000, 0x3000) AM_WRITE(bladestl_speech_ctrl_w) /* UPD7759 */
diff --git a/src/mame/drivers/blitz68k.cpp b/src/mame/drivers/blitz68k.cpp
index ac86656986e..41121acd01b 100644
--- a/src/mame/drivers/blitz68k.cpp
+++ b/src/mame/drivers/blitz68k.cpp
@@ -193,6 +193,16 @@ public:
void maxidbl(machine_config &config);
void dualgame(machine_config &config);
void bankroba(machine_config &config);
+ void bankrob_map(address_map &map);
+ void bankroba_map(address_map &map);
+ void cjffruit_map(address_map &map);
+ void deucesw2_map(address_map &map);
+ void dualgame_map(address_map &map);
+ void hermit_map(address_map &map);
+ void ilpag_map(address_map &map);
+ void maxidbl_map(address_map &map);
+ void ramdac_map(address_map &map);
+ void steaser_map(address_map &map);
};
/*************************************************************************************************************
@@ -610,7 +620,7 @@ WRITE16_MEMBER(blitz68k_state::sound_write_w)
}
#endif
-static ADDRESS_MAP_START( ilpag_map, AS_PROGRAM, 16, blitz68k_state )
+ADDRESS_MAP_START(blitz68k_state::ilpag_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x1fffff) AM_ROM AM_REGION("blitter", 0)
AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_SHARE("nvram")
@@ -637,7 +647,7 @@ static ADDRESS_MAP_START( ilpag_map, AS_PROGRAM, 16, blitz68k_state )
// AM_RANGE(0xc00300, 0xc00301) AM_WRITE(irq_callback_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( steaser_map, AS_PROGRAM, 16, blitz68k_state )
+ADDRESS_MAP_START(blitz68k_state::steaser_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x1fffff) AM_ROM AM_REGION("blitter", 0)
AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_SHARE("nvram")
@@ -707,7 +717,7 @@ WRITE8_MEMBER(blitz68k_state::bankrob_mcu2_w)
logerror("%s: mcu2 written with %02x\n", machine().describe_context(), data);
}
-static ADDRESS_MAP_START( bankrob_map, AS_PROGRAM, 16, blitz68k_state )
+ADDRESS_MAP_START(blitz68k_state::bankrob_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
@@ -792,7 +802,7 @@ WRITE8_MEMBER(blitz68k_state::bankroba_mcu2_w)
logerror("%s: mcu2 written with %02x\n", machine().describe_context(), data);
}
-static ADDRESS_MAP_START( bankroba_map, AS_PROGRAM, 16, blitz68k_state )
+ADDRESS_MAP_START(blitz68k_state::bankroba_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM
@@ -935,7 +945,7 @@ WRITE16_MEMBER(blitz68k_state::cjffruit_mcu_w)
logerror("%s: mcu written with %02x\n", machine().describe_context(),data >> 8);
}
-static ADDRESS_MAP_START( cjffruit_map, AS_PROGRAM, 16, blitz68k_state )
+ADDRESS_MAP_START(blitz68k_state::cjffruit_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x400000, 0x41ffff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x480000, 0x4807ff) AM_RAM
@@ -1034,7 +1044,7 @@ WRITE16_MEMBER(blitz68k_state::deucesw2_leds3_w)
}
}
-static ADDRESS_MAP_START( deucesw2_map, AS_PROGRAM, 16, blitz68k_state )
+ADDRESS_MAP_START(blitz68k_state::deucesw2_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x400000, 0x41ffff) AM_RAM
@@ -1108,7 +1118,7 @@ WRITE8_MEMBER(blitz68k_state::dualgame_mcu2_w)
logerror("%s: mcu2 written with %02x\n", machine().describe_context(), data);
}
-static ADDRESS_MAP_START( dualgame_map, AS_PROGRAM, 16, blitz68k_state )
+ADDRESS_MAP_START(blitz68k_state::dualgame_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
@@ -1210,7 +1220,7 @@ READ16_MEMBER(blitz68k_state::hermit_track_r)
((0xf - ((ioport("TRACK_X")->read() + 0x7) & 0xf)) << 8) ;
}
-static ADDRESS_MAP_START( hermit_map, AS_PROGRAM, 16, blitz68k_state )
+ADDRESS_MAP_START(blitz68k_state::hermit_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM
AM_RANGE(0x400000, 0x41ffff) AM_RAM
@@ -1284,7 +1294,7 @@ WRITE8_MEMBER(blitz68k_state::maxidbl_mcu2_w)
logerror("%s: mcu2 written with %02x\n", machine().describe_context(), data);
}
-static ADDRESS_MAP_START( maxidbl_map, AS_PROGRAM, 16, blitz68k_state )
+ADDRESS_MAP_START(blitz68k_state::maxidbl_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM
@@ -1679,7 +1689,7 @@ MC6845_ON_UPDATE_ADDR_CHANGED(blitz68k_state::crtc_addr)
{
}
-static ADDRESS_MAP_START( ramdac_map, 0, 8, blitz68k_state )
+ADDRESS_MAP_START(blitz68k_state::ramdac_map)
AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac",ramdac_device,ramdac_pal_r,ramdac_rgb666_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/blktiger.cpp b/src/mame/drivers/blktiger.cpp
index b19291d24a7..2ddc43717a4 100644
--- a/src/mame/drivers/blktiger.cpp
+++ b/src/mame/drivers/blktiger.cpp
@@ -74,7 +74,7 @@ WRITE8_MEMBER(blktiger_state::blktiger_coinlockout_w)
}
-static ADDRESS_MAP_START( blktiger_map, AS_PROGRAM, 8, blktiger_state )
+ADDRESS_MAP_START(blktiger_state::blktiger_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xcfff) AM_READWRITE(blktiger_bgvideoram_r, blktiger_bgvideoram_w)
@@ -85,7 +85,7 @@ static ADDRESS_MAP_START( blktiger_map, AS_PROGRAM, 8, blktiger_state )
AM_RANGE(0xfe00, 0xffff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( blktiger_io_map, AS_IO, 8, blktiger_state )
+ADDRESS_MAP_START(blktiger_state::blktiger_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1") AM_WRITE(blktiger_bankswitch_w)
@@ -102,7 +102,7 @@ static ADDRESS_MAP_START( blktiger_io_map, AS_IO, 8, blktiger_state )
AM_RANGE(0x0e, 0x0e) AM_WRITE(blktiger_screen_layout_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( blktigerbl_io_map, AS_IO, 8, blktiger_state )
+ADDRESS_MAP_START(blktiger_state::blktigerbl_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1") AM_WRITE(blktiger_bankswitch_w)
@@ -119,7 +119,7 @@ static ADDRESS_MAP_START( blktigerbl_io_map, AS_IO, 8, blktiger_state )
AM_RANGE(0x0e, 0x0e) AM_WRITE(blktiger_screen_layout_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( blktiger_sound_map, AS_PROGRAM, 8, blktiger_state )
+ADDRESS_MAP_START(blktiger_state::blktiger_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc800) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -127,11 +127,11 @@ static ADDRESS_MAP_START( blktiger_sound_map, AS_PROGRAM, 8, blktiger_state )
AM_RANGE(0xe002, 0xe003) AM_DEVREADWRITE("ym2", ym2203_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( blktiger_mcu_map, AS_PROGRAM, 8, blktiger_state )
+ADDRESS_MAP_START(blktiger_state::blktiger_mcu_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( blktiger_mcu_io_map, AS_IO, 8, blktiger_state )
+ADDRESS_MAP_START(blktiger_state::blktiger_mcu_io_map)
AM_RANGE(MCS51_PORT_P0,MCS51_PORT_P0) AM_READWRITE(blktiger_from_main_r,blktiger_to_main_w)
AM_RANGE(MCS51_PORT_P1,MCS51_PORT_P3) AM_WRITENOP /* other ports unknown */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/blmbycar.cpp b/src/mame/drivers/blmbycar.cpp
index 44505469126..072b23517d5 100644
--- a/src/mame/drivers/blmbycar.cpp
+++ b/src/mame/drivers/blmbycar.cpp
@@ -100,7 +100,7 @@ READ16_MEMBER(blmbycar_state::blmbycar_opt_wheel_r)
***************************************************************************/
-static ADDRESS_MAP_START( common_map, AS_PROGRAM, 16, blmbycar_state )
+ADDRESS_MAP_START(blmbycar_state::common_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0xfec000, 0xfeffff) AM_RAM
AM_RANGE(0x100000, 0x103fff) AM_WRITEONLY // ???
@@ -119,7 +119,7 @@ static ADDRESS_MAP_START( common_map, AS_PROGRAM, 16, blmbycar_state )
AM_RANGE(0x70000e, 0x70000f) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff) // Sound
ADDRESS_MAP_END
-static ADDRESS_MAP_START( blmbycar_map, AS_PROGRAM, 16, blmbycar_state )
+ADDRESS_MAP_START(blmbycar_state::blmbycar_map)
AM_IMPORT_FROM(common_map)
AM_RANGE(0x700004, 0x700005) AM_READ(blmbycar_opt_wheel_r) // Wheel (optical)
@@ -136,7 +136,7 @@ READ16_MEMBER(blmbycar_state::waterball_unk_r)
return m_retvalue;
}
-static ADDRESS_MAP_START( watrball_map, AS_PROGRAM, 16, blmbycar_state )
+ADDRESS_MAP_START(blmbycar_state::watrball_map)
AM_IMPORT_FROM(common_map)
AM_RANGE(0x700006, 0x700007) AM_READNOP // read
@@ -144,7 +144,7 @@ static ADDRESS_MAP_START( watrball_map, AS_PROGRAM, 16, blmbycar_state )
AM_RANGE(0x70000a, 0x70000b) AM_WRITEONLY // ?? busy
ADDRESS_MAP_END
-static ADDRESS_MAP_START( blmbycar_oki_map, 0, 8, blmbycar_state )
+ADDRESS_MAP_START(blmbycar_state::blmbycar_oki_map)
AM_RANGE(0x00000, 0x2ffff) AM_ROM
AM_RANGE(0x30000, 0x3ffff) AM_ROMBANK("okibank")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/blockade.cpp b/src/mame/drivers/blockade.cpp
index efaeef97b9d..cf9b784fd8a 100644
--- a/src/mame/drivers/blockade.cpp
+++ b/src/mame/drivers/blockade.cpp
@@ -54,6 +54,8 @@ public:
DECLARE_WRITE8_MEMBER(env_off_w);
void blockade(machine_config &config);
+ void main_io_map(address_map &map);
+ void main_map(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -79,14 +81,14 @@ private:
// ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, blockade_state )
+ADDRESS_MAP_START(blockade_state::main_map)
AM_RANGE(0x0000, 0x03ff) AM_MIRROR(0x6000) AM_ROM
AM_RANGE(0x0400, 0x07ff) AM_MIRROR(0x6000) AM_ROM // comotion, blasto, hustle
AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x6c00) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
AM_RANGE(0x9000, 0x90ff) AM_MIRROR(0x6f00) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_io_map, AS_IO, 8, blockade_state )
+ADDRESS_MAP_START(blockade_state::main_io_map)
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN0") AM_WRITE(coin_latch_w)
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN1") AM_WRITE(sound_freq_w)
AM_RANGE(0x04, 0x04) AM_READ_PORT("IN2") AM_WRITE(env_on_w)
diff --git a/src/mame/drivers/blockhl.cpp b/src/mame/drivers/blockhl.cpp
index e91f63f34d9..30d3263ea64 100644
--- a/src/mame/drivers/blockhl.cpp
+++ b/src/mame/drivers/blockhl.cpp
@@ -59,6 +59,9 @@ public:
DECLARE_WRITE8_MEMBER(banking_callback);
void blockhl(machine_config &config);
+ void audio_map(address_map &map);
+ void bank5800_map(address_map &map);
+ void main_map(address_map &map);
protected:
virtual void machine_start() override;
@@ -76,7 +79,7 @@ private:
// ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, blockhl_state )
+ADDRESS_MAP_START(blockhl_state::main_map)
AM_RANGE(0x0000, 0x3fff) AM_READWRITE(k052109_051960_r, k052109_051960_w)
AM_RANGE(0x1f84, 0x1f84) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
AM_RANGE(0x1f88, 0x1f88) AM_WRITE(sound_irq_w)
@@ -92,12 +95,12 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, blockhl_state )
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("maincpu", 0x8000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bank5800_map, AS_PROGRAM, 8, blockhl_state )
+ADDRESS_MAP_START(blockhl_state::bank5800_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x0800, 0x0fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, blockhl_state )
+ADDRESS_MAP_START(blockhl_state::audio_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/blockout.cpp b/src/mame/drivers/blockout.cpp
index f93a8a10e2c..64b723b80fe 100644
--- a/src/mame/drivers/blockout.cpp
+++ b/src/mame/drivers/blockout.cpp
@@ -95,7 +95,7 @@ WRITE16_MEMBER(blockout_state::blockout_irq5_ack_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, blockout_state )
+ADDRESS_MAP_START(blockout_state::main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_READ_PORT("P1")
AM_RANGE(0x100002, 0x100003) AM_READ_PORT("P2")
@@ -115,7 +115,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, blockout_state )
AM_RANGE(0x280200, 0x2805ff) AM_RAM_WRITE(blockout_paletteram_w) AM_SHARE("paletteram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( agress_map, AS_PROGRAM, 16, blockout_state )
+ADDRESS_MAP_START(blockout_state::agress_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_READ_PORT("P1")
AM_RANGE(0x100002, 0x100003) AM_READ_PORT("P2")
@@ -135,7 +135,7 @@ static ADDRESS_MAP_START( agress_map, AS_PROGRAM, 16, blockout_state )
AM_RANGE(0x280200, 0x2805ff) AM_RAM_WRITE(blockout_paletteram_w) AM_SHARE("paletteram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, blockout_state )
+ADDRESS_MAP_START(blockout_state::audio_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
diff --git a/src/mame/drivers/bloodbro.cpp b/src/mame/drivers/bloodbro.cpp
index 786837880d1..87d37e476c4 100644
--- a/src/mame/drivers/bloodbro.cpp
+++ b/src/mame/drivers/bloodbro.cpp
@@ -149,7 +149,7 @@ Video:
/* Memory Maps */
-static ADDRESS_MAP_START( common_map, AS_PROGRAM, 16, bloodbro_state )
+ADDRESS_MAP_START(bloodbro_state::common_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x08afff) AM_RAM
AM_RANGE(0x08b000, 0x08bfff) AM_RAM AM_SHARE("spriteram")
@@ -171,12 +171,12 @@ static ADDRESS_MAP_START( common_map, AS_PROGRAM, 16, bloodbro_state )
AM_RANGE(0x0e0004, 0x0e0005) AM_READ_PORT("IN1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bloodbro_map, AS_PROGRAM, 16, bloodbro_state )
+ADDRESS_MAP_START(bloodbro_state::bloodbro_map)
AM_IMPORT_FROM(common_map)
AM_RANGE(0xc0000, 0xc004f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( skysmash_map, AS_PROGRAM, 16, bloodbro_state )
+ADDRESS_MAP_START(bloodbro_state::skysmash_map)
AM_IMPORT_FROM(common_map)
AM_RANGE(0xc0000, 0xc004f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read_alt, write_alt)
ADDRESS_MAP_END
@@ -189,7 +189,7 @@ WRITE8_MEMBER(bloodbro_state::weststry_soundlatch_w)
m_audiocpu->set_input_line(0, ASSERT_LINE);
}
-static ADDRESS_MAP_START( weststry_map, AS_PROGRAM, 16, bloodbro_state )
+ADDRESS_MAP_START(bloodbro_state::weststry_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x08ffff) AM_RAM // old VRAM areas still used, but bootleg code copies them to higher addresses
AM_RANGE(0x0c1000, 0x0c1001) AM_READ_PORT("DSW")
@@ -234,7 +234,7 @@ void bloodbro_state::weststry_soundnmi_update()
m_audiocpu->set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
}
-static ADDRESS_MAP_START( weststry_sound_map, AS_PROGRAM, 8, bloodbro_state )
+ADDRESS_MAP_START(bloodbro_state::weststry_sound_map)
AM_IMPORT_FROM(seibu_sound_map)
AM_RANGE(0x4002, 0x4002) AM_WRITE(weststry_soundnmi_ack_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/blstroid.cpp b/src/mame/drivers/blstroid.cpp
index f14e66f9d8e..cd05da11241 100644
--- a/src/mame/drivers/blstroid.cpp
+++ b/src/mame/drivers/blstroid.cpp
@@ -64,7 +64,7 @@ MACHINE_RESET_MEMBER(blstroid_state,blstroid)
*************************************/
/* full map verified from schematics */
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, blstroid_state )
+ADDRESS_MAP_START(blstroid_state::main_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x83ffff)
AM_RANGE(0x000000, 0x03ffff) AM_MIRROR(0x000000) AM_ROM
diff --git a/src/mame/drivers/blueprnt.cpp b/src/mame/drivers/blueprnt.cpp
index f3dd658b939..3d42d32070b 100644
--- a/src/mame/drivers/blueprnt.cpp
+++ b/src/mame/drivers/blueprnt.cpp
@@ -101,7 +101,7 @@ WRITE8_MEMBER(blueprnt_state::blueprnt_coin_counter_w)
*
*************************************/
-static ADDRESS_MAP_START( blueprnt_map, AS_PROGRAM, 8, blueprnt_state )
+ADDRESS_MAP_START(blueprnt_state::blueprnt_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM // service mode checks for 8 chips = 64K
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(blueprnt_videoram_w) AM_MIRROR(0x400) AM_SHARE("videoram")
@@ -115,13 +115,13 @@ static ADDRESS_MAP_START( blueprnt_map, AS_PROGRAM, 8, blueprnt_state )
AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE(blueprnt_colorram_w) AM_MIRROR(0x400) AM_SHARE("colorram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( grasspin_map, AS_PROGRAM, 8, blueprnt_state )
+ADDRESS_MAP_START(blueprnt_state::grasspin_map)
AM_IMPORT_FROM( blueprnt_map )
AM_RANGE(0xc003, 0xc003) AM_READ(grasspin_sh_dipsw_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, blueprnt_state )
+ADDRESS_MAP_START(blueprnt_state::sound_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM AM_MIRROR(0x1000)
AM_RANGE(0x2000, 0x2fff) AM_ROM AM_MIRROR(0x1000)
AM_RANGE(0x4000, 0x43ff) AM_RAM
@@ -131,7 +131,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, blueprnt_state )
AM_RANGE(0x8002, 0x8002) AM_DEVREAD("ay2", ay8910_device, data_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_io, AS_IO, 8, blueprnt_state )
+ADDRESS_MAP_START(blueprnt_state::sound_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x02, 0x02) AM_NOP // nmi mask maybe? grasspin writes it 0/1
ADDRESS_MAP_END
diff --git a/src/mame/drivers/bmcbowl.cpp b/src/mame/drivers/bmcbowl.cpp
index 55acb371e40..0fb0dd94485 100644
--- a/src/mame/drivers/bmcbowl.cpp
+++ b/src/mame/drivers/bmcbowl.cpp
@@ -147,6 +147,8 @@ public:
uint32_t screen_update_bmcbowl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void init_stats(const uint8_t *table, int table_len, int address);
void bmcbowl(machine_config &config);
+ void bmcbowl_mem(address_map &map);
+ void ramdac_map(address_map &map);
};
@@ -310,7 +312,7 @@ void bmcbowl_state::machine_reset()
#endif
}
-static ADDRESS_MAP_START( bmcbowl_mem, AS_PROGRAM, 16, bmcbowl_state )
+ADDRESS_MAP_START(bmcbowl_state::bmcbowl_mem)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x090000, 0x090001) AM_DEVWRITE8("ramdac", ramdac_device, index_w, 0x00ff)
@@ -447,7 +449,7 @@ WRITE8_MEMBER(bmcbowl_state::input_mux_w)
m_bmc_input=data;
}
-static ADDRESS_MAP_START( ramdac_map, 0, 8, bmcbowl_state )
+ADDRESS_MAP_START(bmcbowl_state::ramdac_map)
AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac",ramdac_device,ramdac_pal_r,ramdac_rgb666_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/bmcpokr.cpp b/src/mame/drivers/bmcpokr.cpp
index 24cd9425658..d98e425ed91 100644
--- a/src/mame/drivers/bmcpokr.cpp
+++ b/src/mame/drivers/bmcpokr.cpp
@@ -107,6 +107,9 @@ public:
}
void bmcpokr(machine_config &config);
void mjmaglmp(machine_config &config);
+ void bmcpokr_mem(address_map &map);
+ void mjmaglmp_map(address_map &map);
+ void ramdac_map(address_map &map);
};
/***************************************************************************
@@ -377,7 +380,7 @@ WRITE16_MEMBER(bmcpokr_state::irq_ack_w)
}
}
-static ADDRESS_MAP_START( bmcpokr_mem, AS_PROGRAM, 16, bmcpokr_state )
+ADDRESS_MAP_START(bmcpokr_state::bmcpokr_mem)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x210000, 0x21ffff) AM_RAM AM_SHARE("nvram")
@@ -449,7 +452,7 @@ READ16_MEMBER(bmcpokr_state::mjmaglmp_key_r)
return ioport("INPUTS")->read() | (key & 0x3f);
}
-static ADDRESS_MAP_START( mjmaglmp_map, AS_PROGRAM, 16, bmcpokr_state )
+ADDRESS_MAP_START(bmcpokr_state::mjmaglmp_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x210000, 0x21ffff) AM_RAM AM_SHARE("nvram")
@@ -798,7 +801,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(bmcpokr_state::interrupt)
if (m_irq_enable & (1<<6)) m_maincpu->set_input_line(6, ASSERT_LINE);
}
-static ADDRESS_MAP_START( ramdac_map, 0, 8, bmcpokr_state )
+ADDRESS_MAP_START(bmcpokr_state::ramdac_map)
AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac",ramdac_device,ramdac_pal_r,ramdac_rgb666_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/bmjr.cpp b/src/mame/drivers/bmjr.cpp
index 722ffb97786..e89e758d02a 100644
--- a/src/mame/drivers/bmjr.cpp
+++ b/src/mame/drivers/bmjr.cpp
@@ -48,6 +48,7 @@ public:
u32 screen_update_bmjr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void bmjr(machine_config &config);
+ void bmjr_mem(address_map &map);
private:
bool m_tape_switch;
u8 m_xor_display;
@@ -163,7 +164,7 @@ WRITE8_MEMBER( bmjr_state::xor_display_w )
m_xor_display = data;
}
-static ADDRESS_MAP_START(bmjr_mem, AS_PROGRAM, 8, bmjr_state)
+ADDRESS_MAP_START(bmjr_state::bmjr_mem)
ADDRESS_MAP_UNMAP_HIGH
//0x0100, 0x03ff basic vram
//0x0900, 0x20ff vram, modes 0x40 / 0xc0
diff --git a/src/mame/drivers/bml3.cpp b/src/mame/drivers/bml3.cpp
index 028be77ad54..9c4e5f13854 100644
--- a/src/mame/drivers/bml3.cpp
+++ b/src/mame/drivers/bml3.cpp
@@ -133,6 +133,9 @@ public:
void bml3mk5(machine_config &config);
void bml3(machine_config &config);
void bml3_common(machine_config &config);
+ void bml3_mem(address_map &map);
+ void bml3mk2_mem(address_map &map);
+ void bml3mk5_mem(address_map &map);
private:
u8 m_hres_reg;
u8 m_crtc_vreg[0x100];
@@ -398,7 +401,7 @@ WRITE_LINE_MEMBER(bml3_state::bml3bus_firq_w)
}
-static ADDRESS_MAP_START(bml3_mem, AS_PROGRAM, 8, bml3_state)
+ADDRESS_MAP_START(bml3_state::bml3_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x43ff) AM_READWRITE(bml3_vram_r,bml3_vram_w)
@@ -451,13 +454,13 @@ static ADDRESS_MAP_START(bml3_mem, AS_PROGRAM, 8, bml3_state)
#endif
ADDRESS_MAP_END
-static ADDRESS_MAP_START(bml3mk2_mem, AS_PROGRAM, 8, bml3_state)
+ADDRESS_MAP_START(bml3_state::bml3mk2_mem)
AM_IMPORT_FROM(bml3_mem)
// TODO: anything to add here?
ADDRESS_MAP_END
-static ADDRESS_MAP_START(bml3mk5_mem, AS_PROGRAM, 8, bml3_state)
+ADDRESS_MAP_START(bml3_state::bml3mk5_mem)
AM_IMPORT_FROM(bml3_mem)
// TODO: anything to add here?
diff --git a/src/mame/drivers/bnstars.cpp b/src/mame/drivers/bnstars.cpp
index f80efce6e77..97f2d7a05d1 100644
--- a/src/mame/drivers/bnstars.cpp
+++ b/src/mame/drivers/bnstars.cpp
@@ -162,6 +162,8 @@ public:
void draw_roz(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int priority, int chip);
void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, uint32_t *sprram_top, size_t sprram_size);
void bnstars(machine_config &config);
+ void bnstars_map(address_map &map);
+ void bnstars_sound_map(address_map &map);
};
@@ -741,7 +743,7 @@ WRITE32_MEMBER(bnstars_state::bnstars1_mahjong_select_w)
}
-static ADDRESS_MAP_START( bnstars_map, AS_PROGRAM, 32, bnstars_state )
+ADDRESS_MAP_START(bnstars_state::bnstars_map)
AM_RANGE(0x00000000, 0x001fffff) AM_ROM
AM_RANGE(0xfc800000, 0xfc800003) AM_WRITE(ms32_sound_w)
@@ -786,7 +788,7 @@ static ADDRESS_MAP_START( bnstars_map, AS_PROGRAM, 32, bnstars_state )
AM_RANGE(0xffe00000, 0xffffffff) AM_ROM AM_REGION("maincpu", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bnstars_sound_map, AS_PROGRAM, 8, bnstars_state )
+ADDRESS_MAP_START(bnstars_state::bnstars_sound_map)
AM_RANGE(0x0000, 0x3eff) AM_ROM
AM_RANGE(0x3f00, 0x3f0f) AM_DEVREADWRITE("ymf2", ymf271_device, read, write)
AM_RANGE(0x3f10, 0x3f10) AM_READWRITE(latch_r,to_main_w)
diff --git a/src/mame/drivers/bntyhunt.cpp b/src/mame/drivers/bntyhunt.cpp
index 08cd3d2eea1..99dbba77831 100644
--- a/src/mame/drivers/bntyhunt.cpp
+++ b/src/mame/drivers/bntyhunt.cpp
@@ -23,6 +23,7 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void bntyhunt(machine_config &config);
+ void bntyhunt_map(address_map &map);
protected:
// devices
@@ -42,7 +43,7 @@ uint32_t bntyhunt_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
return 0;
}
-static ADDRESS_MAP_START( bntyhunt_map, AS_PROGRAM, 32, bntyhunt_state )
+ADDRESS_MAP_START(bntyhunt_state::bntyhunt_map)
AM_RANGE(0x00000000, 0x0001ffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/bob85.cpp b/src/mame/drivers/bob85.cpp
index 3484575f637..bddcf97a0a1 100644
--- a/src/mame/drivers/bob85.cpp
+++ b/src/mame/drivers/bob85.cpp
@@ -49,6 +49,8 @@ public:
virtual void machine_reset() override;
void bob85(machine_config &config);
+ void bob85_io(address_map &map);
+ void bob85_mem(address_map &map);
protected:
required_ioport m_line0;
required_ioport m_line1;
@@ -141,13 +143,13 @@ WRITE8_MEMBER(bob85_state::bob85_7seg_w)
output().set_digit_value(offset, bitswap<8>( data,3,2,1,0,7,6,5,4 ));
}
-static ADDRESS_MAP_START( bob85_mem, AS_PROGRAM, 8, bob85_state )
+ADDRESS_MAP_START(bob85_state::bob85_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x02ff) AM_ROM
AM_RANGE(0x0600, 0x09ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bob85_io, AS_IO, 8, bob85_state )
+ADDRESS_MAP_START(bob85_state::bob85_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0a, 0x0a) AM_READ(bob85_keyboard_r)
AM_RANGE(0x0a, 0x0f) AM_WRITE(bob85_7seg_w)
diff --git a/src/mame/drivers/bogeyman.cpp b/src/mame/drivers/bogeyman.cpp
index 3eb6467e7bd..8c10a6efd21 100644
--- a/src/mame/drivers/bogeyman.cpp
+++ b/src/mame/drivers/bogeyman.cpp
@@ -48,7 +48,7 @@ WRITE8_MEMBER(bogeyman_state::ay8910_control_w)
/* Memory Map */
-static ADDRESS_MAP_START( bogeyman_map, AS_PROGRAM, 8, bogeyman_state )
+ADDRESS_MAP_START(bogeyman_state::bogeyman_map)
AM_RANGE(0x0000, 0x17ff) AM_RAM
AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(videoram2_w) AM_SHARE("videoram2")
AM_RANGE(0x1c00, 0x1fff) AM_RAM_WRITE(colorram2_w) AM_SHARE("colorram2")
diff --git a/src/mame/drivers/bombjack.cpp b/src/mame/drivers/bombjack.cpp
index 32320841d74..54822afb7cb 100644
--- a/src/mame/drivers/bombjack.cpp
+++ b/src/mame/drivers/bombjack.cpp
@@ -128,7 +128,7 @@ WRITE8_MEMBER(bombjack_state::irq_mask_w)
m_nmi_mask = data & 1;
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, bombjack_state )
+ADDRESS_MAP_START(bombjack_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(bombjack_videoram_w) AM_SHARE("videoram")
@@ -149,13 +149,13 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, bombjack_state )
AM_RANGE(0xc000, 0xdfff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, bombjack_state )
+ADDRESS_MAP_START(bombjack_state::audio_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM
AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_read_and_clear)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audio_io_map, AS_IO, 8, bombjack_state )
+ADDRESS_MAP_START(bombjack_state::audio_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
AM_RANGE(0x10, 0x11) AM_DEVWRITE("ay2", ay8910_device, address_data_w)
diff --git a/src/mame/drivers/boogwing.cpp b/src/mame/drivers/boogwing.cpp
index 93f33d66935..a71f71641d9 100644
--- a/src/mame/drivers/boogwing.cpp
+++ b/src/mame/drivers/boogwing.cpp
@@ -123,7 +123,7 @@ WRITE16_MEMBER( boogwing_state::priority_w )
}
-static ADDRESS_MAP_START( boogwing_map, AS_PROGRAM, 16, boogwing_state )
+ADDRESS_MAP_START(boogwing_state::boogwing_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM
@@ -160,11 +160,11 @@ static ADDRESS_MAP_START( boogwing_map, AS_PROGRAM, 16, boogwing_state )
AM_RANGE(0x3c0000, 0x3c004f) AM_DEVREADWRITE("deco_ace", deco_ace_device, ace_r, ace_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 16, boogwing_state )
+ADDRESS_MAP_START(boogwing_state::decrypted_opcodes_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM AM_SHARE("decrypted_opcodes")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, boogwing_state )
+ADDRESS_MAP_START(boogwing_state::audio_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_NOP
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
@@ -342,7 +342,7 @@ MACHINE_CONFIG_START(boogwing_state::boogwing)
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, MAIN_XTAL/2) /* DE102 */
MCFG_CPU_PROGRAM_MAP(boogwing_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", boogwing_state, irq6_line_hold)
MCFG_CPU_ADD("audiocpu", H6280, SOUND_XTAL/4)
diff --git a/src/mame/drivers/bottom9.cpp b/src/mame/drivers/bottom9.cpp
index acf4f3a2d8a..4f283a06cd9 100644
--- a/src/mame/drivers/bottom9.cpp
+++ b/src/mame/drivers/bottom9.cpp
@@ -159,7 +159,7 @@ WRITE8_MEMBER(bottom9_state::sound_bank_w)
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, bottom9_state )
+ADDRESS_MAP_START(bottom9_state::main_map)
AM_RANGE(0x0000, 0x3fff) AM_READWRITE(k052109_051960_r, k052109_051960_w)
AM_RANGE(0x0000, 0x07ff) AM_READWRITE(bottom9_bankedram1_r, bottom9_bankedram1_w)
AM_RANGE(0x1f80, 0x1f80) AM_WRITE(bankswitch_w)
@@ -179,7 +179,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, bottom9_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, bottom9_state )
+ADDRESS_MAP_START(bottom9_state::audio_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_WRITE(sound_bank_w)
diff --git a/src/mame/drivers/bowltry.cpp b/src/mame/drivers/bowltry.cpp
index 60cf6d77538..b9b91a20127 100644
--- a/src/mame/drivers/bowltry.cpp
+++ b/src/mame/drivers/bowltry.cpp
@@ -53,6 +53,7 @@ public:
#endif
void bowltry(machine_config &config);
+void bowltry_map(address_map &map);
protected:
required_device<cpu_device> m_maincpu;
public:
@@ -74,7 +75,7 @@ WRITE16_MEMBER(bowltry_state::hack_w)
}
#endif
-static ADDRESS_MAP_START( bowltry_map, AS_PROGRAM, 16, bowltry_state )
+ADDRESS_MAP_START(bowltry_state::bowltry_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x000000, 0x07ffff ) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE( 0x080000, 0x083fff ) AM_RAM
diff --git a/src/mame/drivers/boxer.cpp b/src/mame/drivers/boxer.cpp
index 381dc41eeeb..013e69853cd 100644
--- a/src/mame/drivers/boxer.cpp
+++ b/src/mame/drivers/boxer.cpp
@@ -74,6 +74,7 @@ public:
void draw(bitmap_ind16 &bitmap, const rectangle &cliprect);
void boxer(machine_config &config);
+ void boxer_map(address_map &map);
protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
};
@@ -337,7 +338,7 @@ WRITE8_MEMBER(boxer_state::led_w)
*
*************************************/
-static ADDRESS_MAP_START( boxer_map, AS_PROGRAM, 8, boxer_state )
+ADDRESS_MAP_START(boxer_state::boxer_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x0200, 0x03ff) AM_RAM AM_SHARE("tile_ram")
diff --git a/src/mame/drivers/bpmmicro.cpp b/src/mame/drivers/bpmmicro.cpp
index 2ca45d8f263..f2c716b60be 100644
--- a/src/mame/drivers/bpmmicro.cpp
+++ b/src/mame/drivers/bpmmicro.cpp
@@ -185,6 +185,8 @@ public:
DECLARE_WRITE16_MEMBER(eeprom_8401c_w);
virtual void machine_start() override;
void bpmmicro(machine_config &config);
+ void i286_io(address_map &map);
+ void i286_mem(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<eeprom_serial_93cxx_device> m_eeprom_u38;
@@ -328,7 +330,7 @@ read <- 00
Address Maps
******************************************************************************/
-static ADDRESS_MAP_START(i286_mem, AS_PROGRAM, 16, bpmmicro_state)
+ADDRESS_MAP_START(bpmmicro_state::i286_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x07ffff) AM_RAM // 512k ram
AM_RANGE(0x082200, 0x82201) AM_WRITE(unknown_82200_w)
@@ -343,7 +345,7 @@ static ADDRESS_MAP_START(i286_mem, AS_PROGRAM, 16, bpmmicro_state)
AM_RANGE(0xfffff0, 0xffffff) AM_ROM AM_REGION("bios", 0x1fff0) //?
ADDRESS_MAP_END
-static ADDRESS_MAP_START(i286_io, AS_IO, 16, bpmmicro_state)
+ADDRESS_MAP_START(bpmmicro_state::i286_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_END
diff --git a/src/mame/drivers/br8641.cpp b/src/mame/drivers/br8641.cpp
index 02fb9b02d7e..353351ea705 100644
--- a/src/mame/drivers/br8641.cpp
+++ b/src/mame/drivers/br8641.cpp
@@ -49,6 +49,8 @@ public:
DECLARE_WRITE8_MEMBER(port09_w);
void brandt8641(machine_config &config);
+ void brandt8641_io(address_map &map);
+ void brandt8641_mem(address_map &map);
private:
uint8_t m_port08;
uint8_t m_port09;
@@ -61,13 +63,13 @@ private:
required_device<beep_device> m_beep;
};
-static ADDRESS_MAP_START(brandt8641_mem, AS_PROGRAM, 8, brandt8641_state)
+ADDRESS_MAP_START(brandt8641_state::brandt8641_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROM // 27256 at U12
AM_RANGE(0x8000, 0x9fff) AM_RAM // 8KB static ram 6264 at U12
ADDRESS_MAP_END
-static ADDRESS_MAP_START(brandt8641_io, AS_IO, 8, brandt8641_state)
+ADDRESS_MAP_START(brandt8641_state::brandt8641_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("pio1", z80pio_device, read, write)
diff --git a/src/mame/drivers/brkthru.cpp b/src/mame/drivers/brkthru.cpp
index 9a0d89767a1..8018dd480bd 100644
--- a/src/mame/drivers/brkthru.cpp
+++ b/src/mame/drivers/brkthru.cpp
@@ -108,7 +108,7 @@ INPUT_CHANGED_MEMBER(brkthru_state::coin_inserted)
*
*************************************/
-static ADDRESS_MAP_START( brkthru_map, AS_PROGRAM, 8, brkthru_state )
+ADDRESS_MAP_START(brkthru_state::brkthru_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM_WRITE(brkthru_fgram_w) AM_SHARE("fg_videoram")
AM_RANGE(0x0400, 0x0bff) AM_RAM
AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(brkthru_bgram_w) AM_SHARE("videoram")
@@ -126,7 +126,7 @@ static ADDRESS_MAP_START( brkthru_map, AS_PROGRAM, 8, brkthru_state )
ADDRESS_MAP_END
/* same as brktrhu, but xor 0x1000 below 8k */
-static ADDRESS_MAP_START( darwin_map, AS_PROGRAM, 8, brkthru_state )
+ADDRESS_MAP_START(brkthru_state::darwin_map)
AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(brkthru_fgram_w) AM_SHARE("fg_videoram")
AM_RANGE(0x1400, 0x1bff) AM_RAM
AM_RANGE(0x1c00, 0x1fff) AM_RAM_WRITE(brkthru_bgram_w) AM_SHARE("videoram")
@@ -144,7 +144,7 @@ static ADDRESS_MAP_START( darwin_map, AS_PROGRAM, 8, brkthru_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, brkthru_state )
+ADDRESS_MAP_START(brkthru_state::sound_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x2001) AM_DEVWRITE("ym2", ym3526_device, write)
AM_RANGE(0x4000, 0x4000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/bsktball.cpp b/src/mame/drivers/bsktball.cpp
index b02347416ed..f7b6b71c60c 100644
--- a/src/mame/drivers/bsktball.cpp
+++ b/src/mame/drivers/bsktball.cpp
@@ -76,7 +76,7 @@ PALETTE_INIT_MEMBER(bsktball_state, bsktball)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, bsktball_state )
+ADDRESS_MAP_START(bsktball_state::main_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x01ff) AM_RAM /* Zero Page RAM */
AM_RANGE(0x0800, 0x0800) AM_READ(bsktball_in0_r)
diff --git a/src/mame/drivers/btime.cpp b/src/mame/drivers/btime.cpp
index c9aee299e49..ca6a84933f6 100644
--- a/src/mame/drivers/btime.cpp
+++ b/src/mame/drivers/btime.cpp
@@ -184,7 +184,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(btime_state::audio_nmi_gen)
m_audionmi->in_w<1>((scanline & 8) >> 3);
}
-static ADDRESS_MAP_START( btime_map, AS_PROGRAM, 8, btime_state )
+ADDRESS_MAP_START(btime_state::btime_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("rambase")
AM_RANGE(0x0c00, 0x0c0f) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x1000, 0x13ff) AM_RAM AM_SHARE("videoram")
@@ -199,7 +199,7 @@ static ADDRESS_MAP_START( btime_map, AS_PROGRAM, 8, btime_state )
AM_RANGE(0xb000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cookrace_map, AS_PROGRAM, 8, btime_state )
+ADDRESS_MAP_START(btime_state::cookrace_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM AM_SHARE("rambase")
AM_RANGE(0x0500, 0x3fff) AM_ROM
AM_RANGE(0xc000, 0xc3ff) AM_RAM AM_SHARE("videoram")
@@ -219,7 +219,7 @@ static ADDRESS_MAP_START( cookrace_map, AS_PROGRAM, 8, btime_state )
AM_RANGE(0xfff9, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tisland_map, AS_PROGRAM, 8, btime_state )
+ADDRESS_MAP_START(btime_state::tisland_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("rambase")
AM_RANGE(0x0c00, 0x0c0f) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x1000, 0x13ff) AM_RAM AM_SHARE("videoram")
@@ -235,7 +235,7 @@ static ADDRESS_MAP_START( tisland_map, AS_PROGRAM, 8, btime_state )
AM_RANGE(0x9000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( zoar_map, AS_PROGRAM, 8, btime_state )
+ADDRESS_MAP_START(btime_state::zoar_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("rambase")
AM_RANGE(0x8000, 0x83ff) AM_WRITEONLY AM_SHARE("videoram")
AM_RANGE(0x8400, 0x87ff) AM_WRITEONLY AM_SHARE("colorram")
@@ -253,7 +253,7 @@ static ADDRESS_MAP_START( zoar_map, AS_PROGRAM, 8, btime_state )
AM_RANGE(0xd000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lnc_map, AS_PROGRAM, 8, btime_state )
+ADDRESS_MAP_START(btime_state::lnc_map)
AM_RANGE(0x0000, 0x3bff) AM_RAM AM_SHARE("rambase")
AM_RANGE(0x3c00, 0x3fff) AM_RAM_WRITE(lnc_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x7800, 0x7bff) AM_WRITEONLY AM_SHARE("colorram") /* this is just here to initialize the pointer */
@@ -268,7 +268,7 @@ static ADDRESS_MAP_START( lnc_map, AS_PROGRAM, 8, btime_state )
AM_RANGE(0xc000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mmonkey_map, AS_PROGRAM, 8, btime_state )
+ADDRESS_MAP_START(btime_state::mmonkey_map)
AM_RANGE(0x0000, 0x3bff) AM_RAM AM_SHARE("rambase")
AM_RANGE(0x3c00, 0x3fff) AM_RAM_WRITE(lnc_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x7800, 0x7bff) AM_WRITEONLY AM_SHARE("colorram") /* this is just here to initialize the pointer */
@@ -283,7 +283,7 @@ static ADDRESS_MAP_START( mmonkey_map, AS_PROGRAM, 8, btime_state )
AM_RANGE(0xc000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bnj_map, AS_PROGRAM, 8, btime_state )
+ADDRESS_MAP_START(btime_state::bnj_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("rambase")
AM_RANGE(0x1000, 0x1000) AM_READ_PORT("DSW1")
AM_RANGE(0x1001, 0x1001) AM_READ_PORT("DSW2") AM_WRITE(bnj_video_control_w)
@@ -302,7 +302,7 @@ static ADDRESS_MAP_START( bnj_map, AS_PROGRAM, 8, btime_state )
AM_RANGE(0xa000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( disco_map, AS_PROGRAM, 8, btime_state )
+ADDRESS_MAP_START(btime_state::disco_map)
AM_RANGE(0x0000, 0x04ff) AM_RAM AM_SHARE("rambase")
AM_RANGE(0x2000, 0x7fff) AM_RAM_WRITE(deco_charram_w) AM_SHARE("deco_charram")
AM_RANGE(0x8000, 0x83ff) AM_RAM AM_SHARE("videoram")
@@ -319,7 +319,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, btime_state )
+ADDRESS_MAP_START(btime_state::audio_map)
AM_RANGE(0x0000, 0x03ff) AM_MIRROR(0x1c00) AM_RAM AM_SHARE("audio_rambase")
AM_RANGE(0x2000, 0x3fff) AM_DEVWRITE("ay1", ay8910_device, data_w)
AM_RANGE(0x4000, 0x5fff) AM_DEVWRITE("ay1", ay8910_device, address_w)
@@ -330,7 +330,7 @@ static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, btime_state )
AM_RANGE(0xe000, 0xefff) AM_MIRROR(0x1000) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( disco_audio_map, AS_PROGRAM, 8, btime_state )
+ADDRESS_MAP_START(btime_state::disco_audio_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x4000, 0x4fff) AM_DEVWRITE("ay1", ay8910_device, data_w)
AM_RANGE(0x5000, 0x5fff) AM_DEVWRITE("ay1", ay8910_device, address_w)
diff --git a/src/mame/drivers/btoads.cpp b/src/mame/drivers/btoads.cpp
index 182e3001820..a6fb2a890ed 100644
--- a/src/mame/drivers/btoads.cpp
+++ b/src/mame/drivers/btoads.cpp
@@ -166,7 +166,7 @@ WRITE8_MEMBER( btoads_state::bsmt2000_port_w )
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, btoads_state )
+ADDRESS_MAP_START(btoads_state::main_map)
AM_RANGE(0x00000000, 0x003fffff) AM_RAM
AM_RANGE(0x20000000, 0x2000007f) AM_READ_PORT("P1")
AM_RANGE(0x20000080, 0x200000ff) AM_READ_PORT("P2")
@@ -202,12 +202,12 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, btoads_state )
+ADDRESS_MAP_START(btoads_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, btoads_state )
+ADDRESS_MAP_START(btoads_state::sound_io_map)
AM_RANGE(0x0000, 0x7fff) AM_WRITE(bsmt2000_port_w)
AM_RANGE(0x8000, 0x8000) AM_READWRITE(sound_data_r, sound_data_w)
AM_RANGE(0x8002, 0x8002) AM_WRITE(sound_int_state_w)
diff --git a/src/mame/drivers/bublbobl.cpp b/src/mame/drivers/bublbobl.cpp
index ec482967cda..df775e23d48 100644
--- a/src/mame/drivers/bublbobl.cpp
+++ b/src/mame/drivers/bublbobl.cpp
@@ -292,7 +292,7 @@ TODO:
* Address maps
*
*************************************/
-static ADDRESS_MAP_START( common_maincpu_map, AS_PROGRAM, 8, bublbobl_state )
+ADDRESS_MAP_START(bublbobl_state::common_maincpu_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xdcff) AM_RAM AM_SHARE("videoram")
@@ -301,7 +301,7 @@ static ADDRESS_MAP_START( common_maincpu_map, AS_PROGRAM, 8, bublbobl_state )
AM_RANGE(0xf800, 0xf9ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bublbobl_maincpu_map, AS_PROGRAM, 8, bublbobl_state )
+ADDRESS_MAP_START(bublbobl_state::bublbobl_maincpu_map)
AM_IMPORT_FROM(common_maincpu_map)
AM_RANGE(0xfa00, 0xfa00) AM_MIRROR(0x007c) AM_DEVREAD("sound_to_main", generic_latch_8_device, read) AM_DEVWRITE("main_to_sound", generic_latch_8_device, write)
AM_RANGE(0xfa01, 0xfa01) AM_MIRROR(0x007c) AM_READ(common_sound_semaphores_r)
@@ -312,7 +312,7 @@ static ADDRESS_MAP_START( bublbobl_maincpu_map, AS_PROGRAM, 8, bublbobl_state )
AM_RANGE(0xfc00, 0xffff) AM_RAM AM_SHARE("mcu_sharedram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( subcpu_map, AS_PROGRAM, 8, bublbobl_state )
+ADDRESS_MAP_START(bublbobl_state::subcpu_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xe000, 0xf7ff) AM_RAM AM_SHARE("share1")
ADDRESS_MAP_END
@@ -343,7 +343,7 @@ Sound cpu semaphores are both active low:
74ls74@ic9 [1/2] 'sound_has_written', appears on d0
74ls74@ic10 [2/2] 'maincpu_has_written', appears on d1
*/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, bublbobl_state )
+ADDRESS_MAP_START(bublbobl_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x9001) AM_MIRROR(0x0ffe) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
@@ -354,7 +354,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, bublbobl_state )
AM_RANGE(0xe000, 0xffff) AM_ROM // space for diagnostic ROM?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mcu_map, AS_PROGRAM, 8, bublbobl_state )
+ADDRESS_MAP_START(bublbobl_state::mcu_map)
AM_RANGE(0x0000, 0x0000) AM_READWRITE(bublbobl_mcu_ddr1_r, bublbobl_mcu_ddr1_w)
AM_RANGE(0x0001, 0x0001) AM_READWRITE(bublbobl_mcu_ddr2_r, bublbobl_mcu_ddr2_w)
AM_RANGE(0x0002, 0x0002) AM_READWRITE(bublbobl_mcu_port1_r, bublbobl_mcu_port1_w)
@@ -367,7 +367,7 @@ static ADDRESS_MAP_START( mcu_map, AS_PROGRAM, 8, bublbobl_state )
AM_RANGE(0xf000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bootleg_map, AS_PROGRAM, 8, bublbobl_state )
+ADDRESS_MAP_START(bublbobl_state::bootleg_map)
AM_IMPORT_FROM(common_maincpu_map)
AM_RANGE(0xfa00, 0xfa00) AM_MIRROR(0x007c) AM_DEVREAD("sound_to_main", generic_latch_8_device, read) AM_DEVWRITE("main_to_sound", generic_latch_8_device, write)
AM_RANGE(0xfa01, 0xfa01) AM_MIRROR(0x007c) AM_READ(common_sound_semaphores_r)
@@ -389,7 +389,7 @@ static ADDRESS_MAP_START( bootleg_map, AS_PROGRAM, 8, bublbobl_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tokio_map, AS_PROGRAM, 8, bublbobl_state )
+ADDRESS_MAP_START(bublbobl_state::tokio_map)
AM_IMPORT_FROM(common_maincpu_map)
AM_RANGE(0xfa00, 0xfa00) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0xfa03, 0xfa03) AM_READ_PORT("DSW0")
@@ -403,23 +403,23 @@ static ADDRESS_MAP_START( tokio_map, AS_PROGRAM, 8, bublbobl_state )
AM_RANGE(0xfc00, 0xfc00) AM_DEVREAD("sound_to_main", generic_latch_8_device, read) AM_DEVWRITE("main_to_sound", generic_latch_8_device, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tokio_map_mcu, AS_PROGRAM, 8, bublbobl_state )
+ADDRESS_MAP_START(bublbobl_state::tokio_map_mcu)
AM_IMPORT_FROM(tokio_map)
AM_RANGE(0xfe00, 0xfe00) AM_DEVREADWRITE("bmcu", taito68705_mcu_device, data_r, data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tokio_map_bootleg, AS_PROGRAM, 8, bublbobl_state )
+ADDRESS_MAP_START(bublbobl_state::tokio_map_bootleg)
AM_IMPORT_FROM(tokio_map)
AM_RANGE(0xfe00, 0xfe00) AM_READ( tokiob_mcu_r )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tokio_subcpu_map, AS_PROGRAM, 8, bublbobl_state )
+ADDRESS_MAP_START(bublbobl_state::tokio_subcpu_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x97ff) AM_RAM AM_SHARE("share1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tokio_sound_map, AS_PROGRAM, 8, bublbobl_state )
+ADDRESS_MAP_START(bublbobl_state::tokio_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_DEVREAD("main_to_sound", generic_latch_8_device, read) AM_DEVWRITE("sound_to_main", generic_latch_8_device, write)
diff --git a/src/mame/drivers/buggychl.cpp b/src/mame/drivers/buggychl.cpp
index 5c56cf9e93e..373c56ee42e 100644
--- a/src/mame/drivers/buggychl.cpp
+++ b/src/mame/drivers/buggychl.cpp
@@ -194,7 +194,7 @@ READ8_MEMBER(buggychl_state::sound_status_sound_r)
1 1 1 0 ? ? ? ? ? ? ? ? ? ? ? ? ? (unknown, cut off on schematic)
1 1 1 1 ? ? ? ? ? ? ? ? ? ? ? ? ? (unknown, cut off on schematic)
*/
-static ADDRESS_MAP_START( buggychl_map, AS_PROGRAM, 8, buggychl_state )
+ADDRESS_MAP_START(buggychl_state::buggychl_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM /* A22-04 (23) */
AM_RANGE(0x4000, 0x7fff) AM_ROM /* A22-05 (22) */
AM_RANGE(0x8000, 0x87ff) AM_RAM /* 6116 SRAM (36) */
@@ -237,7 +237,7 @@ ADDRESS_MAP_END
(The schematic is for an unknown taito game, possibly never released.)
The final buggy challenge sound board is more similar to Fairyland Story sound
hardware, except it has two YM2149 chips instead of one, and much less ROM space. */
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, buggychl_state )
+ADDRESS_MAP_START(buggychl_state::sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x4800, 0x4801) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
diff --git a/src/mame/drivers/bullet.cpp b/src/mame/drivers/bullet.cpp
index da830a9f641..938c7b4759d 100644
--- a/src/mame/drivers/bullet.cpp
+++ b/src/mame/drivers/bullet.cpp
@@ -607,7 +607,7 @@ READ8_MEMBER( bulletf_state::hwsts_r )
// ADDRESS_MAP( bullet_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( bullet_mem, AS_PROGRAM, 8, bullet_state )
+ADDRESS_MAP_START(bullet_state::bullet_mem)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(mreq_r, mreq_w)
ADDRESS_MAP_END
@@ -616,7 +616,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( bullet_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( bullet_io, AS_IO, 8, bullet_state )
+ADDRESS_MAP_START(bullet_state::bullet_io)
ADDRESS_MAP_GLOBAL_MASK(0x1f)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE(Z80DART_TAG, z80dart_device, ba_cd_r, ba_cd_w)
AM_RANGE(0x04, 0x07) AM_DEVREADWRITE(Z80PIO_TAG, z80pio_device, read, write)
@@ -637,7 +637,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( bulletf_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( bulletf_mem, AS_PROGRAM, 8, bulletf_state )
+ADDRESS_MAP_START(bulletf_state::bulletf_mem)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(mreq_r, mreq_w)
ADDRESS_MAP_END
@@ -646,7 +646,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( bulletf_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( bulletf_io, AS_IO, 8, bulletf_state )
+ADDRESS_MAP_START(bulletf_state::bulletf_io)
ADDRESS_MAP_GLOBAL_MASK(0x3f)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE(Z80DART_TAG, z80dart_device, ba_cd_r, ba_cd_w)
AM_RANGE(0x04, 0x07) AM_DEVREADWRITE(Z80PIO_TAG, z80pio_device, read, write)
diff --git a/src/mame/drivers/busicom.cpp b/src/mame/drivers/busicom.cpp
index 87b241cc11a..ae6cfa4cf86 100644
--- a/src/mame/drivers/busicom.cpp
+++ b/src/mame/drivers/busicom.cpp
@@ -99,29 +99,29 @@ WRITE8_MEMBER(busicom_state::printer_ctrl_w)
{
}
-static ADDRESS_MAP_START(busicom_rom, i4004_cpu_device::AS_ROM, 8, busicom_state )
+ADDRESS_MAP_START(busicom_state::busicom_rom)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x04FF) AM_ROM AM_REGION("maincpu", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(busicom_mem, i4004_cpu_device::AS_RAM_MEMORY, 8, busicom_state )
+ADDRESS_MAP_START(busicom_state::busicom_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x07F) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(busicom_stat, i4004_cpu_device::AS_RAM_STATUS, 8, busicom_state )
+ADDRESS_MAP_START(busicom_state::busicom_stat)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x01F) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( busicom_rp, i4004_cpu_device::AS_ROM_PORTS, 8, busicom_state )
+ADDRESS_MAP_START(busicom_state::busicom_rp)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x000f) AM_MIRROR(0x0700) AM_WRITE(shifter_w) // ROM0 I/O
AM_RANGE(0x0010, 0x001f) AM_MIRROR(0x0700) AM_READWRITE(keyboard_r,printer_ctrl_w) // ROM1 I/O
AM_RANGE(0x0020, 0x002f) AM_MIRROR(0x0700) AM_READ(printer_r) // ROM2 I/O
ADDRESS_MAP_END
-static ADDRESS_MAP_START( busicom_mp, i4004_cpu_device::AS_RAM_PORTS, 8, busicom_state )
+ADDRESS_MAP_START(busicom_state::busicom_mp)
AM_RANGE(0x00, 0x00) AM_WRITE(printer_w) // RAM0 output
AM_RANGE(0x01, 0x01) AM_WRITE(status_w) // RAM1 output
ADDRESS_MAP_END
diff --git a/src/mame/drivers/buster.cpp b/src/mame/drivers/buster.cpp
index ddea6ffa18b..a9e68e6fba2 100644
--- a/src/mame/drivers/buster.cpp
+++ b/src/mame/drivers/buster.cpp
@@ -33,6 +33,7 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
void buster(machine_config &config);
+ void mainmap(address_map &map);
};
@@ -69,7 +70,7 @@ READ8_MEMBER(buster_state::test_r)
}
#endif
-static ADDRESS_MAP_START( mainmap, AS_PROGRAM, 8, buster_state )
+ADDRESS_MAP_START(buster_state::mainmap)
AM_RANGE(0x0000, 0x3fff) AM_ROM// AM_SHARE("rom")
AM_RANGE(0x4000, 0x47ff) AM_RAM AM_SHARE("wram")
AM_RANGE(0x5000, 0x5fff) AM_RAM AM_SHARE("vram")
diff --git a/src/mame/drivers/bw12.cpp b/src/mame/drivers/bw12.cpp
index 666dcd45574..91bf1702f94 100644
--- a/src/mame/drivers/bw12.cpp
+++ b/src/mame/drivers/bw12.cpp
@@ -168,13 +168,13 @@ READ8_MEMBER( bw12_state::ls259_r )
/* Memory Maps */
-static ADDRESS_MAP_START( bw12_mem, AS_PROGRAM, 8, bw12_state )
+ADDRESS_MAP_START(bw12_state::bw12_mem)
AM_RANGE(0x0000, 0x7fff) AM_RAMBANK("bank1")
AM_RANGE(0x8000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("video_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bw12_io, AS_IO, 8, bw12_state )
+ADDRESS_MAP_START(bw12_state::bw12_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x0f) AM_READWRITE(ls259_r, ls259_w)
AM_RANGE(0x10, 0x10) AM_MIRROR(0x0e) AM_DEVWRITE(MC6845_TAG, mc6845_device, address_w)
diff --git a/src/mame/drivers/bw2.cpp b/src/mame/drivers/bw2.cpp
index 546c00cce97..67366d42591 100644
--- a/src/mame/drivers/bw2.cpp
+++ b/src/mame/drivers/bw2.cpp
@@ -202,7 +202,7 @@ WRITE8_MEMBER( bw2_state::write )
// ADDRESS_MAP( bw2_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( bw2_mem, AS_PROGRAM, 8, bw2_state )
+ADDRESS_MAP_START(bw2_state::bw2_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xffff) AM_READWRITE(read, write)
ADDRESS_MAP_END
@@ -212,7 +212,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( bw2_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( bw2_io, AS_IO, 8, bw2_state )
+ADDRESS_MAP_START(bw2_state::bw2_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE(I8255A_TAG, i8255_device, read, write)
@@ -231,7 +231,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( lcdc_map )
//-------------------------------------------------
-static ADDRESS_MAP_START( lcdc_map, 0, 8, bw2_state )
+ADDRESS_MAP_START(bw2_state::lcdc_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x3fff) AM_RAM AM_SHARE("videoram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/bwidow.cpp b/src/mame/drivers/bwidow.cpp
index 447f79c95ee..dd214b14df2 100644
--- a/src/mame/drivers/bwidow.cpp
+++ b/src/mame/drivers/bwidow.cpp
@@ -375,7 +375,7 @@ WRITE8_MEMBER(bwidow_state::irq_ack_w)
*
*************************************/
-static ADDRESS_MAP_START( bwidow_map, AS_PROGRAM, 8, bwidow_state )
+ADDRESS_MAP_START(bwidow_state::bwidow_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x2000, 0x27ff) AM_RAM AM_SHARE("vectorram") AM_REGION("maincpu", 0x2000)
AM_RANGE(0x2800, 0x5fff) AM_ROM
@@ -395,7 +395,7 @@ static ADDRESS_MAP_START( bwidow_map, AS_PROGRAM, 8, bwidow_state )
AM_RANGE(0x9000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bwidowp_map, AS_PROGRAM, 8, bwidow_state )
+ADDRESS_MAP_START(bwidow_state::bwidowp_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x0800, 0x080f) AM_DEVREADWRITE("pokey1", pokey_device, read, write)
AM_RANGE(0x0810, 0x081f) AM_DEVREADWRITE("pokey2", pokey_device, read, write)
@@ -415,7 +415,7 @@ static ADDRESS_MAP_START( bwidowp_map, AS_PROGRAM, 8, bwidow_state )
AM_RANGE(0xa000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spacduel_map, AS_PROGRAM, 8, bwidow_state )
+ADDRESS_MAP_START(bwidow_state::spacduel_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0800, 0x0800) AM_READ_PORT("IN0")
AM_RANGE(0x0900, 0x0907) AM_READ(spacduel_IN3_r) /* IN1 */
diff --git a/src/mame/drivers/bwing.cpp b/src/mame/drivers/bwing.cpp
index 34b9b9eb642..dce69387386 100644
--- a/src/mame/drivers/bwing.cpp
+++ b/src/mame/drivers/bwing.cpp
@@ -121,7 +121,7 @@ WRITE8_MEMBER(bwing_state::bwp2_ctrl_w)
// CPU Memory Maps
// Main CPU
-static ADDRESS_MAP_START( bwp1_map, AS_PROGRAM, 8, bwing_state )
+ADDRESS_MAP_START(bwing_state::bwp1_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("sharedram")
AM_RANGE(0x0800, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
@@ -140,14 +140,14 @@ static ADDRESS_MAP_START( bwp1_map, AS_PROGRAM, 8, bwing_state )
ADDRESS_MAP_END
// Banked video RAM
-static ADDRESS_MAP_START( bank_map, AS_PROGRAM, 8, bwing_state )
+ADDRESS_MAP_START(bwing_state::bank_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM_WRITE(fgscrollram_w) AM_SHARE("fgscrollram")
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(bgscrollram_w) AM_SHARE("bgscrollram")
AM_RANGE(0x2000, 0x7fff) AM_RAM_WRITE(gfxram_w) AM_SHARE("gfxram")
ADDRESS_MAP_END
// Sub CPU
-static ADDRESS_MAP_START( bwp2_map, AS_PROGRAM, 8, bwing_state )
+ADDRESS_MAP_START(bwing_state::bwp2_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("sharedram")
AM_RANGE(0x0800, 0x0fff) AM_RAM
AM_RANGE(0x1800, 0x1803) AM_WRITE(bwp2_ctrl_w)
@@ -156,7 +156,7 @@ ADDRESS_MAP_END
// Sound CPU
-static ADDRESS_MAP_START( bwp3_map, AS_PROGRAM, 8, bwing_state )
+ADDRESS_MAP_START(bwing_state::bwp3_map)
AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x0200, 0x0200) AM_DEVWRITE("dac", dac_byte_interface, write)
AM_RANGE(0x1000, 0x1000) AM_WRITE(bwp3_nmiack_w)
@@ -170,7 +170,7 @@ static ADDRESS_MAP_START( bwp3_map, AS_PROGRAM, 8, bwing_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bwp3_io_map, AS_IO, 8, bwing_state )
+ADDRESS_MAP_START(bwing_state::bwp3_io_map)
AM_RANGE(0x00, 0x00) AM_READ_PORT("VBLANK") AM_WRITE(bwp3_u8F_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/by17.cpp b/src/mame/drivers/by17.cpp
index 345ec4a1b61..f77ade93520 100644
--- a/src/mame/drivers/by17.cpp
+++ b/src/mame/drivers/by17.cpp
@@ -80,6 +80,7 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(u11_timer);
TIMER_DEVICE_CALLBACK_MEMBER(timer_d_pulse);
void by17(machine_config &config);
+ void by17_map(address_map &map);
private:
uint8_t m_u10a;
uint8_t m_u10b;
@@ -112,7 +113,7 @@ private:
};
-static ADDRESS_MAP_START( by17_map, AS_PROGRAM, 8, by17_state )
+ADDRESS_MAP_START(by17_state::by17_map)
ADDRESS_MAP_GLOBAL_MASK(0x1fff)
AM_RANGE(0x0000, 0x007f) AM_RAM
AM_RANGE(0x0088, 0x008b) AM_DEVREADWRITE("pia_u10", pia6821_device, read, write)
diff --git a/src/mame/drivers/by35.cpp b/src/mame/drivers/by35.cpp
index 50ec0f7a503..df50eda822f 100644
--- a/src/mame/drivers/by35.cpp
+++ b/src/mame/drivers/by35.cpp
@@ -142,6 +142,8 @@ public:
void nuovo(machine_config &config);
void as2888(machine_config &config);
void as2888_audio(machine_config &config);
+ void by35_map(address_map &map);
+ void nuovo_map(address_map &map);
private:
uint8_t m_u10a;
uint8_t m_u10b;
@@ -182,7 +184,7 @@ private:
};
-static ADDRESS_MAP_START( by35_map, AS_PROGRAM, 8, by35_state )
+ADDRESS_MAP_START(by35_state::by35_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff) // A15 is not connected
AM_RANGE(0x0000, 0x007f) AM_RAM
AM_RANGE(0x0088, 0x008b) AM_DEVREADWRITE("pia_u10", pia6821_device, read, write)
@@ -191,7 +193,7 @@ static ADDRESS_MAP_START( by35_map, AS_PROGRAM, 8, by35_state )
AM_RANGE(0x1000, 0x7fff) AM_ROM // AM_REGION("roms", 0 )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nuovo_map, AS_PROGRAM, 8, by35_state )
+ADDRESS_MAP_START(by35_state::nuovo_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
// AM_RANGE(0x0000, 0x007f) AM_RAM // Schematics infer that the M6802 internal RAM is disabled.
AM_RANGE(0x0088, 0x008b) AM_DEVREADWRITE("pia_u10", pia6821_device, read, write)
diff --git a/src/mame/drivers/by6803.cpp b/src/mame/drivers/by6803.cpp
index e7de817e37e..8b01220037d 100644
--- a/src/mame/drivers/by6803.cpp
+++ b/src/mame/drivers/by6803.cpp
@@ -65,6 +65,8 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(self_test);
TIMER_DEVICE_CALLBACK_MEMBER(pia0_timer);
void by6803(machine_config &config);
+ void by6803_io(address_map &map);
+ void by6803_map(address_map &map);
private:
uint8_t m_pia0_a;
uint8_t m_pia0_b;
@@ -88,14 +90,14 @@ private:
};
-static ADDRESS_MAP_START( by6803_map, AS_PROGRAM, 8, by6803_state )
+ADDRESS_MAP_START(by6803_state::by6803_map)
AM_RANGE(0x0020, 0x0023) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
AM_RANGE(0x0040, 0x0043) AM_DEVREADWRITE("pia1", pia6821_device, read, write)
AM_RANGE(0x1000, 0x17ff) AM_RAM AM_SHARE("nvram") // 6116 ram
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( by6803_io, AS_IO, 8, by6803_state )
+ADDRESS_MAP_START(by6803_state::by6803_io)
AM_RANGE(M6801_PORT1, M6801_PORT1) AM_READWRITE(port1_r, port1_w) // P10-P17
AM_RANGE(M6801_PORT2, M6801_PORT2) AM_READWRITE(port2_r, port2_w) // P20-P24
ADDRESS_MAP_END
diff --git a/src/mame/drivers/by68701.cpp b/src/mame/drivers/by68701.cpp
index 425bfd15651..9e1bf7b5be0 100644
--- a/src/mame/drivers/by68701.cpp
+++ b/src/mame/drivers/by68701.cpp
@@ -13,6 +13,7 @@ public:
{ }
void by68701(machine_config &config);
+ void by68701_map(address_map &map);
protected:
// devices
@@ -25,7 +26,7 @@ public:
};
-static ADDRESS_MAP_START( by68701_map, AS_PROGRAM, 8, by68701_state )
+ADDRESS_MAP_START(by68701_state::by68701_map)
AM_RANGE(0x0000, 0xffff) AM_NOP
AM_RANGE(0x0000, 0x00ff) AM_RAM
AM_RANGE(0x0400, 0x04ff) AM_RAM
diff --git a/src/mame/drivers/byvid.cpp b/src/mame/drivers/byvid.cpp
index 4745b9f3894..bfad98d992d 100644
--- a/src/mame/drivers/byvid.cpp
+++ b/src/mame/drivers/byvid.cpp
@@ -108,6 +108,11 @@ public:
uint32_t screen_update_granny(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void babypac(machine_config &config);
void granny(machine_config &config);
+ void granny_map(address_map &map);
+ void main_map(address_map &map);
+ void sound_map(address_map &map);
+ void sound_portmap(address_map &map);
+ void video_map(address_map &map);
private:
uint8_t m_mpu_to_vid;
uint8_t m_vid_to_mpu;
@@ -144,7 +149,7 @@ private:
};
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, by133_state ) // U9 MPU
+ADDRESS_MAP_START(by133_state::main_map) // U9 MPU
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x007f) AM_RAM // 128x8 in MC6810 U7 MPU
AM_RANGE(0x0088, 0x008b) AM_DEVREADWRITE("pia_u10", pia6821_device, read, write) // PIA U10 MPU
@@ -157,7 +162,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, by133_state ) // U9 MPU
AM_RANGE(0x7000, 0x7fff) AM_ROM AM_REGION("roms", 0x1000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( video_map, AS_PROGRAM, 8, by133_state ) // U8 Vidiot
+ADDRESS_MAP_START(by133_state::video_map) // U8 Vidiot
AM_RANGE(0x0000, 0x1fff) AM_READWRITE(sound_data_r,sound_data_w)
AM_RANGE(0x2000, 0x2003) AM_MIRROR(0x0ffc) AM_DEVREADWRITE("pia_u7", pia6821_device, read, write) // PIA U7 Vidiot
AM_RANGE(0x4000, 0x4000) AM_MIRROR(0x0ffe) AM_DEVREADWRITE("crtc", tms9928a_device, vram_read, vram_write)
@@ -166,7 +171,7 @@ static ADDRESS_MAP_START( video_map, AS_PROGRAM, 8, by133_state ) // U8 Vidiot
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( granny_map, AS_PROGRAM, 8, by133_state )
+ADDRESS_MAP_START(by133_state::granny_map)
AM_RANGE(0x0000, 0x0001) AM_READWRITE(sound_data_r,sound_data_w)
AM_RANGE(0x0002, 0x0002) AM_DEVREADWRITE("crtc", tms9928a_device, vram_read, vram_write)
AM_RANGE(0x0003, 0x0003) AM_DEVREADWRITE("crtc", tms9928a_device, register_read, register_write)
@@ -179,11 +184,11 @@ static ADDRESS_MAP_START( granny_map, AS_PROGRAM, 8, by133_state )
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, by133_state ) // U27 Vidiot
+ADDRESS_MAP_START(by133_state::sound_map) // U27 Vidiot
AM_RANGE(0xc000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, by133_state )
+ADDRESS_MAP_START(by133_state::sound_portmap)
AM_RANGE(M6801_PORT1, M6801_PORT1) AM_DEVWRITE("dac", dac_byte_interface, write) // P10-P17
AM_RANGE(M6801_PORT2, M6801_PORT2) AM_READWRITE(m6803_port2_r, m6803_port2_w) // P20-P24 sound command in
ADDRESS_MAP_END
diff --git a/src/mame/drivers/bzone.cpp b/src/mame/drivers/bzone.cpp
index de95eb839d5..b2d60a47911 100644
--- a/src/mame/drivers/bzone.cpp
+++ b/src/mame/drivers/bzone.cpp
@@ -300,7 +300,7 @@ WRITE8_MEMBER(bzone_state::redbaron_joysound_w)
*
*************************************/
-static ADDRESS_MAP_START( bzone_map, AS_PROGRAM, 8, bzone_state )
+ADDRESS_MAP_START(bzone_state::bzone_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0800, 0x0800) AM_READ_PORT("IN0")
@@ -320,7 +320,7 @@ static ADDRESS_MAP_START( bzone_map, AS_PROGRAM, 8, bzone_state )
AM_RANGE(0x3000, 0x7fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( redbaron_map, AS_PROGRAM, 8, bzone_state )
+ADDRESS_MAP_START(bzone_state::redbaron_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0800, 0x0800) AM_READ_PORT("IN0")
diff --git a/src/mame/drivers/c10.cpp b/src/mame/drivers/c10.cpp
index 6df6c1ee77b..32b2732b87b 100644
--- a/src/mame/drivers/c10.cpp
+++ b/src/mame/drivers/c10.cpp
@@ -40,6 +40,8 @@ public:
DECLARE_DRIVER_INIT(c10);
void c10(machine_config &config);
+ void c10_io(address_map &map);
+ void c10_mem(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_shared_ptr<uint8_t> m_p_videoram;
@@ -50,7 +52,7 @@ private:
-static ADDRESS_MAP_START(c10_mem, AS_PROGRAM, 8, c10_state)
+ADDRESS_MAP_START(c10_state::c10_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_RAMBANK("boot")
AM_RANGE(0x1000, 0x7fff) AM_RAM
@@ -59,7 +61,7 @@ static ADDRESS_MAP_START(c10_mem, AS_PROGRAM, 8, c10_state)
AM_RANGE(0xf0a2, 0xffff) AM_RAM AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( c10_io, AS_IO, 8, c10_state)
+ADDRESS_MAP_START(c10_state::c10_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/c128.cpp b/src/mame/drivers/c128.cpp
index f5df2eadbe3..d6e8e41db25 100644
--- a/src/mame/drivers/c128.cpp
+++ b/src/mame/drivers/c128.cpp
@@ -245,6 +245,12 @@ public:
void c128dcr(machine_config &config);
void c128dcrp(machine_config &config);
void c128d81(machine_config &config);
+ void m8502_mem(address_map &map);
+ void vdc_videoram_map(address_map &map);
+ void vic_colorram_map(address_map &map);
+ void vic_videoram_map(address_map &map);
+ void z80_io(address_map &map);
+ void z80_mem(address_map &map);
};
@@ -664,7 +670,7 @@ READ8_MEMBER( c128_state::vic_colorram_r )
// ADDRESS_MAP( z80_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( z80_mem, AS_PROGRAM, 8, c128_state )
+ADDRESS_MAP_START(c128_state::z80_mem)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(z80_r, z80_w)
ADDRESS_MAP_END
@@ -673,7 +679,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( z80_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( z80_io, AS_IO, 8, c128_state )
+ADDRESS_MAP_START(c128_state::z80_io)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(z80_io_r, z80_io_w)
ADDRESS_MAP_END
@@ -682,7 +688,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( m8502_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( m8502_mem, AS_PROGRAM, 8, c128_state )
+ADDRESS_MAP_START(c128_state::m8502_mem)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(read, write)
ADDRESS_MAP_END
@@ -691,7 +697,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( vic_videoram_map )
//-------------------------------------------------
-static ADDRESS_MAP_START( vic_videoram_map, 0, 8, c128_state )
+ADDRESS_MAP_START(c128_state::vic_videoram_map)
AM_RANGE(0x0000, 0x3fff) AM_READ(vic_videoram_r)
ADDRESS_MAP_END
@@ -700,7 +706,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( vic_colorram_map )
//-------------------------------------------------
-static ADDRESS_MAP_START( vic_colorram_map, 1, 8, c128_state )
+ADDRESS_MAP_START(c128_state::vic_colorram_map)
AM_RANGE(0x000, 0x3ff) AM_READ(vic_colorram_r)
ADDRESS_MAP_END
@@ -709,7 +715,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( vdc_videoram_map )
//-------------------------------------------------
-static ADDRESS_MAP_START( vdc_videoram_map, 0, 8, c128_state )
+ADDRESS_MAP_START(c128_state::vdc_videoram_map)
AM_RANGE(0x0000, 0xffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/c64.cpp b/src/mame/drivers/c64.cpp
index f82a1aab10b..a713f146419 100644
--- a/src/mame/drivers/c64.cpp
+++ b/src/mame/drivers/c64.cpp
@@ -176,6 +176,9 @@ public:
void pal(machine_config &config);
void ntsc(machine_config &config);
void pet64(machine_config &config);
+ void c64_mem(address_map &map);
+ void vic_colorram_map(address_map &map);
+ void vic_videoram_map(address_map &map);
};
@@ -533,7 +536,7 @@ READ8_MEMBER( c64_state::vic_colorram_r )
// ADDRESS_MAP( c64_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( c64_mem, AS_PROGRAM, 8, c64_state )
+ADDRESS_MAP_START(c64_state::c64_mem)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(read, write)
ADDRESS_MAP_END
@@ -542,7 +545,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( vic_videoram_map )
//-------------------------------------------------
-static ADDRESS_MAP_START( vic_videoram_map, 0, 8, c64_state )
+ADDRESS_MAP_START(c64_state::vic_videoram_map)
AM_RANGE(0x0000, 0x3fff) AM_READ(vic_videoram_r)
ADDRESS_MAP_END
@@ -551,7 +554,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( vic_colorram_map )
//-------------------------------------------------
-static ADDRESS_MAP_START( vic_colorram_map, 1, 8, c64_state )
+ADDRESS_MAP_START(c64_state::vic_colorram_map)
AM_RANGE(0x000, 0x3ff) AM_READ(vic_colorram_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/c65.cpp b/src/mame/drivers/c65.cpp
index d3bd76c4f4e..9aeca09fbd4 100644
--- a/src/mame/drivers/c65.cpp
+++ b/src/mame/drivers/c65.cpp
@@ -99,6 +99,7 @@ public:
INTERRUPT_GEN_MEMBER(vic3_vblank_irq);
void c65(machine_config &config);
+ void c65_map(address_map &map);
protected:
// driver_device overrides
virtual void machine_start() override;
@@ -483,7 +484,7 @@ READ8_MEMBER(c65_state::dummy_r)
return 0;
}
-static ADDRESS_MAP_START( c65_map, AS_PROGRAM, 8, c65_state )
+ADDRESS_MAP_START(c65_state::c65_map)
AM_RANGE(0x00000, 0x07fff) AM_RAM AM_SHARE("wram") // TODO: bank
AM_RANGE(0x0c800, 0x0cfff) AM_ROM AM_REGION("maincpu", 0xc800)
AM_RANGE(0x0d000, 0x0d07f) AM_READWRITE(vic4567_dummy_r,vic4567_dummy_w) // 0x0d000, 0x0d07f VIC-4567
diff --git a/src/mame/drivers/c80.cpp b/src/mame/drivers/c80.cpp
index 3b66b0f06cc..3411bf15fda 100644
--- a/src/mame/drivers/c80.cpp
+++ b/src/mame/drivers/c80.cpp
@@ -63,13 +63,13 @@ data of next byte, and so on.
/* Memory Maps */
-static ADDRESS_MAP_START( c80_mem, AS_PROGRAM, 8, c80_state )
+ADDRESS_MAP_START(c80_state::c80_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x07ff) AM_ROM
AM_RANGE(0x0800, 0x0bff) AM_MIRROR(0x400) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( c80_io, AS_IO, 8, c80_state )
+ADDRESS_MAP_START(c80_state::c80_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x7c, 0x7f) AM_DEVREADWRITE(Z80PIO2_TAG, z80pio_device, read, write)
AM_RANGE(0xbc, 0xbf) AM_DEVREADWRITE(Z80PIO1_TAG, z80pio_device, read, write)
diff --git a/src/mame/drivers/c900.cpp b/src/mame/drivers/c900.cpp
index 34e77eff3d0..afca5e905a1 100644
--- a/src/mame/drivers/c900.cpp
+++ b/src/mame/drivers/c900.cpp
@@ -47,22 +47,25 @@ public:
void kbd_put(u8 data);
void c900(machine_config &config);
+ void data_map(address_map &map);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
uint8_t m_term_data;
required_device<cpu_device> m_maincpu;
required_device<generic_terminal_device> m_terminal;
};
-static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 16, c900_state)
+ADDRESS_MAP_START(c900_state::mem_map)
AM_RANGE(0x00000, 0x07fff) AM_ROM AM_REGION("roms", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(data_map, AS_DATA, 16, c900_state)
+ADDRESS_MAP_START(c900_state::data_map)
AM_RANGE(0x00000, 0x07fff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0x08000, 0x6ffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(io_map, AS_IO, 16, c900_state)
+ADDRESS_MAP_START(c900_state::io_map)
AM_RANGE(0x0000, 0x007f) AM_DEVREADWRITE8("cio", z8036_device, read, write, 0x00ff)
//AM_RANGE(0x0100, 0x011f) AM_DEVREADWRITE8("scc", scc8030_device, zbus_r, zbus_w, 0x00ff) // range for one channel
AM_RANGE(0x0100, 0x0101) AM_READ(stat_r)
diff --git a/src/mame/drivers/cabal.cpp b/src/mame/drivers/cabal.cpp
index 2dba4a9880f..3a765ee23a4 100644
--- a/src/mame/drivers/cabal.cpp
+++ b/src/mame/drivers/cabal.cpp
@@ -102,7 +102,7 @@ WRITE16_MEMBER(cabal_state::cabalbl_sound_irq_trigger_word_w)
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, cabal_state )
+ADDRESS_MAP_START(cabal_state::main_map)
AM_RANGE(0x00000, 0x3ffff) AM_ROM
AM_RANGE(0x40000, 0x437ff) AM_RAM
AM_RANGE(0x43800, 0x43fff) AM_RAM AM_SHARE("spriteram")
@@ -122,7 +122,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( trackball_main_map, AS_PROGRAM, 16, cabal_state )
+ADDRESS_MAP_START(cabal_state::trackball_main_map)
AM_IMPORT_FROM(main_map)
AM_RANGE(0xa0008, 0xa000f) AM_DEVREAD8("upd4701l", upd4701_device, read_xy, 0x00ff)
AM_RANGE(0xa0008, 0xa000f) AM_DEVREAD8("upd4701h", upd4701_device, read_xy, 0xff00)
@@ -132,7 +132,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( cabalbl_main_map, AS_PROGRAM, 16, cabal_state )
+ADDRESS_MAP_START(cabal_state::cabalbl_main_map)
AM_RANGE(0x00000, 0x3ffff) AM_ROM
AM_RANGE(0x40000, 0x437ff) AM_RAM
AM_RANGE(0x43800, 0x43fff) AM_RAM AM_SHARE("spriteram")
@@ -172,7 +172,7 @@ WRITE8_MEMBER(cabal_state::cabalbl_coin_w)
//data & 0x40? video enable?
}
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, cabal_state )
+ADDRESS_MAP_START(cabal_state::sound_map)
AM_RANGE(0x0000, 0x1fff) AM_DEVREAD("sei80bu", sei80bu_device, data_r)
AM_RANGE(0x2000, 0x27ff) AM_RAM
AM_RANGE(0x4001, 0x4001) AM_DEVWRITE("seibu_sound", seibu_sound_device, irq_clear_w)
@@ -191,12 +191,12 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, cabal_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_decrypted_opcodes_map, AS_OPCODES, 8, cabal_state )
+ADDRESS_MAP_START(cabal_state::sound_decrypted_opcodes_map)
AM_RANGE(0x0000, 0x1fff) AM_DEVREAD("sei80bu", sei80bu_device, opcode_r)
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("audiocpu", 0x8000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cabalbl_sound_map, AS_PROGRAM, 8, cabal_state )
+ADDRESS_MAP_START(cabal_state::cabalbl_sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x2fff) AM_RAM
AM_RANGE(0x4000, 0x4000) AM_DEVWRITE("soundlatch2", generic_latch_8_device, write)
@@ -211,7 +211,7 @@ static ADDRESS_MAP_START( cabalbl_sound_map, AS_PROGRAM, 8, cabal_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cabalbl2_sound_map, AS_PROGRAM, 8, cabal_state )
+ADDRESS_MAP_START(cabal_state::cabalbl2_sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x27ff) AM_RAM
AM_RANGE(0x4001, 0x4001) AM_DEVWRITE("seibu_sound", seibu_sound_device, irq_clear_w)
@@ -230,7 +230,7 @@ static ADDRESS_MAP_START( cabalbl2_sound_map, AS_PROGRAM, 8, cabal_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cabalbl2_predecrypted_opcodes_map, AS_OPCODES, 8, cabal_state )
+ADDRESS_MAP_START(cabal_state::cabalbl2_predecrypted_opcodes_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM AM_REGION("audiocpu", 0x2000)
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("audiocpu", 0x8000)
ADDRESS_MAP_END
@@ -253,21 +253,21 @@ WRITE8_MEMBER(cabal_state::cabalbl_2_adpcm_w)
m_msm2->vclk_w(1);
m_msm2->vclk_w(0);
}
-static ADDRESS_MAP_START( cabalbl_talk1_map, AS_PROGRAM, 8, cabal_state )
+ADDRESS_MAP_START(cabal_state::cabalbl_talk1_map)
AM_RANGE(0x0000, 0xffff) AM_ROM AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cabalbl_talk1_portmap, AS_IO, 8, cabal_state )
+ADDRESS_MAP_START(cabal_state::cabalbl_talk1_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch2", generic_latch_8_device, read)
AM_RANGE(0x01, 0x01) AM_WRITE(cabalbl_1_adpcm_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cabalbl_talk2_map, AS_PROGRAM, 8, cabal_state )
+ADDRESS_MAP_START(cabal_state::cabalbl_talk2_map)
AM_RANGE(0x0000, 0xffff) AM_ROM AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cabalbl_talk2_portmap, AS_IO, 8, cabal_state )
+ADDRESS_MAP_START(cabal_state::cabalbl_talk2_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch3", generic_latch_8_device, read)
AM_RANGE(0x01, 0x01) AM_WRITE(cabalbl_2_adpcm_w)
@@ -498,7 +498,7 @@ MACHINE_CONFIG_START(cabal_state::cabal)
MCFG_CPU_ADD("audiocpu", Z80, XTAL(3'579'545)) /* verified on pcb */
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(sound_decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(sound_decrypted_opcodes_map)
MCFG_DEVICE_ADD("sei80bu", SEI80BU, 0)
MCFG_DEVICE_ROM("audiocpu")
@@ -553,7 +553,7 @@ MACHINE_CONFIG_DERIVED(cabal_state::cabalbl2, cabal)
MCFG_DEVICE_MODIFY("audiocpu")
MCFG_CPU_PROGRAM_MAP(cabalbl2_sound_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(cabalbl2_predecrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(cabalbl2_predecrypted_opcodes_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/cabaret.cpp b/src/mame/drivers/cabaret.cpp
index 988b29f111d..83587feb178 100644
--- a/src/mame/drivers/cabaret.cpp
+++ b/src/mame/drivers/cabaret.cpp
@@ -71,6 +71,8 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
void cabaret(machine_config &config);
+ void cabaret_map(address_map &map);
+ void cabaret_portmap(address_map &map);
};
@@ -187,12 +189,12 @@ WRITE8_MEMBER(cabaret_state::ppi2_c_w)
-static ADDRESS_MAP_START( cabaret_map, AS_PROGRAM, 8, cabaret_state )
+ADDRESS_MAP_START(cabaret_state::cabaret_map)
AM_RANGE( 0x00000, 0x0efff ) AM_ROM
AM_RANGE( 0x0f000, 0x0ffff ) AM_RAM AM_REGION("maincpu", 0xf000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cabaret_portmap, AS_IO, 8, cabaret_state )
+ADDRESS_MAP_START(cabaret_state::cabaret_portmap)
AM_RANGE( 0x0000, 0x003f ) AM_RAM // Z180 internal regs
AM_RANGE( 0x0080, 0x0083 ) AM_DEVREADWRITE("ppi1", i8255_device, read, write)
diff --git a/src/mame/drivers/calchase.cpp b/src/mame/drivers/calchase.cpp
index 6c6a757af6a..fcf7e4a9bb7 100644
--- a/src/mame/drivers/calchase.cpp
+++ b/src/mame/drivers/calchase.cpp
@@ -175,6 +175,8 @@ public:
void intel82439tx_init();
void calchase(machine_config &config);
void hostinv(machine_config &config);
+ void calchase_io(address_map &map);
+ void calchase_map(address_map &map);
};
// Intel 82439TX System Controller (MTXC)
@@ -380,7 +382,7 @@ READ16_MEMBER(calchase_state::calchase_iocard5_r)
}
-static ADDRESS_MAP_START( calchase_map, AS_PROGRAM, 32, calchase_state )
+ADDRESS_MAP_START(calchase_state::calchase_map)
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", trident_vga_device, mem_r, mem_w, 0xffffffff) // VGA VRAM
AM_RANGE(0x000c0000, 0x000c7fff) AM_RAM AM_REGION("video_bios", 0)
@@ -415,7 +417,7 @@ static ADDRESS_MAP_START( calchase_map, AS_PROGRAM, 32, calchase_state )
AM_RANGE(0xfffe0000, 0xffffffff) AM_ROM AM_REGION("bios", 0) /* System BIOS */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( calchase_io, AS_IO, 32, calchase_state )
+ADDRESS_MAP_START(calchase_state::calchase_io)
AM_IMPORT_FROM(pcat32_io_common)
//AM_RANGE(0x00e8, 0x00eb) AM_NOP
AM_RANGE(0x00e8, 0x00ef) AM_NOP //AMI BIOS write to this ports as delays between I/O ports operations sending al value -> NEWIODELAY
diff --git a/src/mame/drivers/calcune.cpp b/src/mame/drivers/calcune.cpp
index 0852f2b2422..d71431ae52b 100644
--- a/src/mame/drivers/calcune.cpp
+++ b/src/mame/drivers/calcune.cpp
@@ -55,6 +55,7 @@ public:
uint32_t screen_update_calcune(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void calcune(machine_config &config);
+ void calcune_map(address_map &map);
private:
int vdp_state;
@@ -122,7 +123,7 @@ WRITE16_MEMBER(calcune_state::cal_vdp_w)
m_vdp2->vdp_w(space, offset, data, mem_mask);
}
-static ADDRESS_MAP_START( calcune_map, AS_PROGRAM, 16, calcune_state )
+ADDRESS_MAP_START(calcune_state::calcune_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x700000, 0x700001) AM_READ(cal_700000_r)
diff --git a/src/mame/drivers/calomega.cpp b/src/mame/drivers/calomega.cpp
index fa2fcfb8f9e..6760a72f17b 100644
--- a/src/mame/drivers/calomega.cpp
+++ b/src/mame/drivers/calomega.cpp
@@ -822,7 +822,7 @@ WRITE8_MEMBER(calomega_state::lamps_905_w)
* Memory map information *
*************************************************/
-static ADDRESS_MAP_START( sys903_map, AS_PROGRAM, 8, calomega_state )
+ADDRESS_MAP_START(calomega_state::sys903_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x0840, 0x0841) AM_DEVWRITE("ay8912", ay8910_device, address_data_w)
@@ -836,7 +836,7 @@ static ADDRESS_MAP_START( sys903_map, AS_PROGRAM, 8, calomega_state )
AM_RANGE(0x1800, 0x3fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( s903mod_map, AS_PROGRAM, 8, calomega_state )
+ADDRESS_MAP_START(calomega_state::s903mod_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x0840, 0x0841) AM_DEVWRITE("ay8912", ay8910_device, address_data_w)
@@ -849,7 +849,7 @@ static ADDRESS_MAP_START( s903mod_map, AS_PROGRAM, 8, calomega_state )
AM_RANGE(0x1800, 0x3fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sys905_map, AS_PROGRAM, 8, calomega_state )
+ADDRESS_MAP_START(calomega_state::sys905_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x1040, 0x1041) AM_DEVWRITE("ay8912", ay8910_device, address_data_w)
@@ -862,7 +862,7 @@ static ADDRESS_MAP_START( sys905_map, AS_PROGRAM, 8, calomega_state )
AM_RANGE(0x2800, 0x7fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sys906_map, AS_PROGRAM, 8, calomega_state )
+ADDRESS_MAP_START(calomega_state::sys906_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x280c, 0x280f) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
AM_RANGE(0x2824, 0x2827) AM_DEVREADWRITE("pia1", pia6821_device, read, write)
diff --git a/src/mame/drivers/calorie.cpp b/src/mame/drivers/calorie.cpp
index 54fc318a2d0..91670af1a29 100644
--- a/src/mame/drivers/calorie.cpp
+++ b/src/mame/drivers/calorie.cpp
@@ -128,6 +128,10 @@ public:
optional_shared_ptr<uint8_t> m_decrypted_opcodes;
void caloriee(machine_config &config);
void calorie(machine_config &config);
+ void calorie_map(address_map &map);
+ void calorie_sound_io_map(address_map &map);
+ void calorie_sound_map(address_map &map);
+ void decrypted_opcodes_map(address_map &map);
};
@@ -260,7 +264,7 @@ WRITE8_MEMBER(calorie_state::bogus_w)
*
*************************************/
-static ADDRESS_MAP_START( calorie_map, AS_PROGRAM, 8, calorie_state )
+ADDRESS_MAP_START(calorie_state::calorie_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM AM_SHARE("ram")
@@ -276,19 +280,19 @@ static ADDRESS_MAP_START( calorie_map, AS_PROGRAM, 8, calorie_state )
AM_RANGE(0xf800, 0xf800) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, calorie_state )
+ADDRESS_MAP_START(calorie_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_SHARE("decrypted_opcodes")
AM_RANGE(0x8000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM AM_SHARE("ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( calorie_sound_map, AS_PROGRAM, 8, calorie_state )
+ADDRESS_MAP_START(calorie_state::calorie_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xc000, 0xc000) AM_READ(calorie_soundlatch_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( calorie_sound_io_map, AS_IO, 8, calorie_state )
+ADDRESS_MAP_START(calorie_state::calorie_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
// 3rd ?
AM_RANGE(0x00, 0xff) AM_WRITE(bogus_w)
@@ -460,7 +464,7 @@ MACHINE_CONFIG_START(calorie_state::calorie)
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80,4000000) /* 4 MHz */
MCFG_CPU_PROGRAM_MAP(calorie_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", calorie_state, irq0_line_hold)
MCFG_CPU_ADD("audiocpu", Z80,3000000) /* 3 MHz */
@@ -500,7 +504,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(calorie_state::caloriee, calorie)
MCFG_CPU_REPLACE("maincpu", SEGA_317_0004,4000000) /* 4 MHz */
MCFG_CPU_PROGRAM_MAP(calorie_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", calorie_state, irq0_line_hold)
MCFG_SEGAZ80_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/camplynx.cpp b/src/mame/drivers/camplynx.cpp
index c6031aca3d8..6e16b21cb9d 100644
--- a/src/mame/drivers/camplynx.cpp
+++ b/src/mame/drivers/camplynx.cpp
@@ -172,6 +172,11 @@ public:
void lynx128k(machine_config &config);
void lynx48k(machine_config &config);
void lynx96k(machine_config &config);
+ void lynx128k_io(address_map &map);
+ void lynx128k_mem(address_map &map);
+ void lynx48k_io(address_map &map);
+ void lynx48k_mem(address_map &map);
+ void lynx96k_io(address_map &map);
private:
uint8_t m_port58;
uint8_t m_port80;
@@ -416,7 +421,7 @@ d0 = read from bank 4 */
}
}
-static ADDRESS_MAP_START( lynx48k_mem, AS_PROGRAM, 8, camplynx_state )
+ADDRESS_MAP_START(camplynx_state::lynx48k_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000,0x1fff) AM_READ_BANK("bankr1")
AM_RANGE(0x2000,0x3fff) AM_READ_BANK("bankr2")
@@ -429,7 +434,7 @@ static ADDRESS_MAP_START( lynx48k_mem, AS_PROGRAM, 8, camplynx_state )
AM_RANGE(0x0000,0xffff) AM_WRITE(bank6_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lynx128k_mem, AS_PROGRAM, 8, camplynx_state )
+ADDRESS_MAP_START(camplynx_state::lynx128k_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000,0x1fff) AM_READ_BANK("bankr1")
AM_RANGE(0x2000,0x3fff) AM_READ_BANK("bankr2")
@@ -442,7 +447,7 @@ static ADDRESS_MAP_START( lynx128k_mem, AS_PROGRAM, 8, camplynx_state )
AM_RANGE(0x0000,0xffff) AM_WRITE(bank1_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lynx48k_io, AS_IO, 8, camplynx_state )
+ADDRESS_MAP_START(camplynx_state::lynx48k_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x007f,0x007f) AM_MIRROR(0xff80) AM_WRITE(port7f_w)
AM_RANGE(0x0080,0x0080) AM_MIRROR(0xff00) AM_WRITE(port80_w)
@@ -461,14 +466,14 @@ static ADDRESS_MAP_START( lynx48k_io, AS_IO, 8, camplynx_state )
AM_RANGE(0x0087,0x0087) AM_MIRROR(0xff00) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lynx96k_io, AS_IO, 8, camplynx_state )
+ADDRESS_MAP_START(camplynx_state::lynx96k_io)
AM_IMPORT_FROM(lynx48k_io)
AM_RANGE(0x0050,0x0053) AM_MIRROR(0xff80) AM_DEVREAD("fdc", fd1793_device, read)
AM_RANGE(0x0054,0x0057) AM_MIRROR(0xff80) AM_DEVWRITE("fdc", fd1793_device, write)
AM_RANGE(0x0058,0x0058) AM_MIRROR(0xff80) AM_WRITE(port58_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lynx128k_io, AS_IO, 8, camplynx_state )
+ADDRESS_MAP_START(camplynx_state::lynx128k_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0050,0x0053) AM_MIRROR(0xff80) AM_DEVREAD("fdc", fd1793_device, read)
AM_RANGE(0x0054,0x0057) AM_MIRROR(0xff80) AM_DEVWRITE("fdc", fd1793_device, write)
diff --git a/src/mame/drivers/candela.cpp b/src/mame/drivers/candela.cpp
index 75cd513e762..50becbb886b 100644
--- a/src/mame/drivers/candela.cpp
+++ b/src/mame/drivers/candela.cpp
@@ -156,6 +156,7 @@ public:
DECLARE_WRITE_LINE_MEMBER( usrpia_cb2_w);
DECLARE_WRITE_LINE_MEMBER (write_acia_clock);
void can09t(machine_config &config);
+ void can09t_map(address_map &map);
protected:
required_device<pia6821_device> m_syspia;
required_device<pia6821_device> m_usrpia;
@@ -470,7 +471,7 @@ WRITE_LINE_MEMBER (can09t_state::write_acia_clock){
* *0xe000-0xffff PROM monitor 0xe000-0xffff PROM monitor
*/
-static ADDRESS_MAP_START( can09t_map, AS_PROGRAM, 8, can09t_state )
+ADDRESS_MAP_START(can09t_state::can09t_map)
// Everything is dynamically and asymetrically mapped through the PAL decoded by read/write
AM_RANGE(0x0000, 0xffff) AM_READWRITE(read, write)
ADDRESS_MAP_END
@@ -511,6 +512,7 @@ public:
DECLARE_WRITE_LINE_MEMBER( pia1_cb2_w);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void can09(machine_config &config);
+ void can09_map(address_map &map);
protected:
required_device<pia6821_device> m_pia1;
required_device<ram_device> m_ram;
@@ -623,7 +625,7 @@ INPUT_PORTS_END
// traced and guessed from pcb images and debugger
// It is very likelly that this is a PIA based dynamic address map, needs more analysis
-static ADDRESS_MAP_START( can09_map, AS_PROGRAM, 8, can09_state )
+ADDRESS_MAP_START(can09_state::can09_map)
/*
* Port A=0x18 B=0x20 erase 0-7fff
* Port A=0x18 B=0x30 erase 0-7fff
diff --git a/src/mame/drivers/canon_s80.cpp b/src/mame/drivers/canon_s80.cpp
index cf406de250e..3ace908cbbf 100644
--- a/src/mame/drivers/canon_s80.cpp
+++ b/src/mame/drivers/canon_s80.cpp
@@ -29,10 +29,11 @@ public:
DECLARE_DRIVER_INIT(canons80);
void canons80(machine_config &config);
+ void canons80_map(address_map &map);
};
-static ADDRESS_MAP_START(canons80_map, AS_PROGRAM, 8, canons80_state )
+ADDRESS_MAP_START(canons80_state::canons80_map)
AM_RANGE(0x0000, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/canyon.cpp b/src/mame/drivers/canyon.cpp
index 2a23f89dd2e..f738a160ea9 100644
--- a/src/mame/drivers/canyon.cpp
+++ b/src/mame/drivers/canyon.cpp
@@ -120,7 +120,7 @@ WRITE_LINE_MEMBER(canyon_state::led2_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, canyon_state )
+ADDRESS_MAP_START(canyon_state::main_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x00ff) AM_MIRROR(0x100) AM_RAM
AM_RANGE(0x0400, 0x0401) AM_WRITE(canyon_motor_w)
diff --git a/src/mame/drivers/capbowl.cpp b/src/mame/drivers/capbowl.cpp
index f716a011ab2..e2bf287c181 100644
--- a/src/mame/drivers/capbowl.cpp
+++ b/src/mame/drivers/capbowl.cpp
@@ -208,7 +208,7 @@ WRITE8_MEMBER(capbowl_state::sndcmd_w)
*
*************************************/
-static ADDRESS_MAP_START( capbowl_map, AS_PROGRAM, 8, capbowl_state )
+ADDRESS_MAP_START(capbowl_state::capbowl_map)
AM_RANGE(0x0000, 0x3fff) AM_ROMBANK("bank1")
AM_RANGE(0x4000, 0x4000) AM_WRITEONLY AM_SHARE("rowaddress")
AM_RANGE(0x4800, 0x4800) AM_WRITE(capbowl_rom_select_w)
@@ -222,7 +222,7 @@ static ADDRESS_MAP_START( capbowl_map, AS_PROGRAM, 8, capbowl_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bowlrama_map, AS_PROGRAM, 8, capbowl_state )
+ADDRESS_MAP_START(capbowl_state::bowlrama_map)
AM_RANGE(0x0000, 0x001f) AM_READWRITE(bowlrama_blitter_r, bowlrama_blitter_w)
AM_RANGE(0x4000, 0x4000) AM_WRITEONLY AM_SHARE("rowaddress")
AM_RANGE(0x5000, 0x57ff) AM_RAM AM_SHARE("nvram")
@@ -242,7 +242,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, capbowl_state )
+ADDRESS_MAP_START(capbowl_state::sound_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x1000, 0x1001) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
AM_RANGE(0x2000, 0x2000) AM_WRITENOP /* watchdog */
diff --git a/src/mame/drivers/capcom.cpp b/src/mame/drivers/capcom.cpp
index cbaac156f1e..ce5385cdfce 100644
--- a/src/mame/drivers/capcom.cpp
+++ b/src/mame/drivers/capcom.cpp
@@ -17,6 +17,7 @@ public:
{ }
void capcom(machine_config &config);
+ void capcom_map(address_map &map);
protected:
// devices
@@ -29,7 +30,7 @@ public:
};
-static ADDRESS_MAP_START( capcom_map, AS_PROGRAM, 16, capcom_state )
+ADDRESS_MAP_START(capcom_state::capcom_map)
AM_RANGE(0x0000, 0xffffff) AM_NOP
ADDRESS_MAP_END
diff --git a/src/mame/drivers/capr1.cpp b/src/mame/drivers/capr1.cpp
index 4b7b5aba454..77aa5e1ae58 100644
--- a/src/mame/drivers/capr1.cpp
+++ b/src/mame/drivers/capr1.cpp
@@ -51,6 +51,7 @@ public:
required_device<cpu_device> m_maincpu;
void cspin2(machine_config &config);
+ void cspin2_map(address_map &map);
};
WRITE8_MEMBER(capr1_state::output_w)
@@ -65,7 +66,7 @@ WRITE8_MEMBER(capr1_state::output_w)
***************************************************************************/
-static ADDRESS_MAP_START( cspin2_map, AS_PROGRAM, 8, capr1_state )
+ADDRESS_MAP_START(capr1_state::cspin2_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_RAM
AM_RANGE(0xa000, 0xa00f) AM_DEVREADWRITE("te7750", te7750_device, read, write)
diff --git a/src/mame/drivers/caprcyc.cpp b/src/mame/drivers/caprcyc.cpp
index e2dbaa2e570..1102705697f 100644
--- a/src/mame/drivers/caprcyc.cpp
+++ b/src/mame/drivers/caprcyc.cpp
@@ -29,6 +29,7 @@ public:
required_device<cpu_device> m_maincpu;
void caprcyc(machine_config &config);
+ void caprcyc_map(address_map &map);
};
@@ -38,7 +39,7 @@ public:
***************************************************************************/
-static ADDRESS_MAP_START( caprcyc_map, AS_PROGRAM, 32, caprcyc_state ) // TODO...
+ADDRESS_MAP_START(caprcyc_state::caprcyc_map) // TODO...
AM_RANGE(0x00000000, 0x0003ffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cardline.cpp b/src/mame/drivers/cardline.cpp
index 6a9a5cd0839..2c3e4d3ce8b 100644
--- a/src/mame/drivers/cardline.cpp
+++ b/src/mame/drivers/cardline.cpp
@@ -76,6 +76,8 @@ public:
required_device<palette_device> m_palette;
required_device<screen_device> m_screen;
void cardline(machine_config &config);
+ void mem_io(address_map &map);
+ void mem_prg(address_map &map);
};
void cardline_state::machine_start()
@@ -210,11 +212,11 @@ WRITE8_MEMBER(cardline_state::lamps_w)
output().set_lamp_value(7,(data >> 7) & 1);
}
-static ADDRESS_MAP_START( mem_prg, AS_PROGRAM, 8, cardline_state )
+ADDRESS_MAP_START(cardline_state::mem_prg)
AM_RANGE(0x0000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mem_io, AS_IO, 8, cardline_state )
+ADDRESS_MAP_START(cardline_state::mem_io)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x2003, 0x2003) AM_READ_PORT("IN0")
AM_RANGE(0x2005, 0x2005) AM_READ_PORT("IN1")
diff --git a/src/mame/drivers/carjmbre.cpp b/src/mame/drivers/carjmbre.cpp
index 7feb0502cf3..6840af31d14 100644
--- a/src/mame/drivers/carjmbre.cpp
+++ b/src/mame/drivers/carjmbre.cpp
@@ -86,6 +86,9 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info);
void carjmbre(machine_config &config);
+ void main_map(address_map &map);
+ void sound_io_map(address_map &map);
+ void sound_map(address_map &map);
protected:
virtual void machine_start() override;
virtual void video_start() override;
@@ -238,7 +241,7 @@ WRITE8_MEMBER(carjmbre_state::flipscreen_w)
flip_screen_set(data & 1);
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, carjmbre_state )
+ADDRESS_MAP_START(carjmbre_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8803, 0x8803) AM_WRITE(nmi_enable_w)
AM_RANGE(0x8805, 0x8805) AM_WRITE(bgcolor_w)
@@ -254,12 +257,12 @@ ADDRESS_MAP_END
// audiocpu side
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, carjmbre_state )
+ADDRESS_MAP_START(carjmbre_state::sound_map)
AM_RANGE(0x0000, 0x0fff) AM_MIRROR(0x1000) AM_ROM
AM_RANGE(0x2000, 0x27ff) AM_RAM // 6116
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, carjmbre_state )
+ADDRESS_MAP_START(carjmbre_state::sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0x20, 0x21) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
diff --git a/src/mame/drivers/carpolo.cpp b/src/mame/drivers/carpolo.cpp
index 8dada9fdc6d..e2a2c6ecf44 100644
--- a/src/mame/drivers/carpolo.cpp
+++ b/src/mame/drivers/carpolo.cpp
@@ -34,7 +34,7 @@
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, carpolo_state )
+ADDRESS_MAP_START(carpolo_state::main_map)
AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x3000, 0x30ff) AM_WRITEONLY AM_SHARE("alpharam")
AM_RANGE(0x4000, 0x400f) AM_WRITEONLY AM_SHARE("spriteram")
diff --git a/src/mame/drivers/carrera.cpp b/src/mame/drivers/carrera.cpp
index ee1657613d0..b7a9cce6b41 100644
--- a/src/mame/drivers/carrera.cpp
+++ b/src/mame/drivers/carrera.cpp
@@ -74,10 +74,12 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
void carrera(machine_config &config);
+ void carrera_map(address_map &map);
+ void io_map(address_map &map);
};
-static ADDRESS_MAP_START( carrera_map, AS_PROGRAM, 8, carrera_state )
+ADDRESS_MAP_START(carrera_state::carrera_map)
AM_RANGE(0x0000, 0x4fff) AM_ROM
AM_RANGE(0xe000, 0xe7ff) AM_RAM
AM_RANGE(0xe800, 0xe800) AM_DEVWRITE("crtc", mc6845_device, address_w)
@@ -85,7 +87,7 @@ static ADDRESS_MAP_START( carrera_map, AS_PROGRAM, 8, carrera_state )
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("tileram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, carrera_state )
+ADDRESS_MAP_START(carrera_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
diff --git a/src/mame/drivers/casloopy.cpp b/src/mame/drivers/casloopy.cpp
index f452fb937c9..7c4eaf05e1b 100644
--- a/src/mame/drivers/casloopy.cpp
+++ b/src/mame/drivers/casloopy.cpp
@@ -199,6 +199,8 @@ public:
DECLARE_WRITE8_MEMBER(bitmap_w);
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(loopy_cart);
void casloopy(machine_config &config);
+ void casloopy_map(address_map &map);
+ void casloopy_sub_map(address_map &map);
};
@@ -413,7 +415,7 @@ READ32_MEMBER(casloopy_state::cart_r)
}
-static ADDRESS_MAP_START( casloopy_map, AS_PROGRAM, 32, casloopy_state )
+ADDRESS_MAP_START(casloopy_state::casloopy_map)
AM_RANGE(0x00000000, 0x00007fff) AM_RAM AM_SHARE("bios_rom")
AM_RANGE(0x01000000, 0x0107ffff) AM_RAM AM_SHARE("wram")// stack pointer points here
AM_RANGE(0x04000000, 0x0401ffff) AM_READWRITE8(bitmap_r, bitmap_w, 0xffffffff)
@@ -432,7 +434,7 @@ static ADDRESS_MAP_START( casloopy_map, AS_PROGRAM, 32, casloopy_state )
ADDRESS_MAP_END
#if 0
-static ADDRESS_MAP_START( casloopy_sub_map, AS_PROGRAM, 16, casloopy_state )
+ADDRESS_MAP_START(casloopy_state::casloopy_sub_map)
AM_RANGE(0xf80000, 0xffffff) AM_ROM AM_REGION("subcpu",0)
ADDRESS_MAP_END
#endif
diff --git a/src/mame/drivers/castle.cpp b/src/mame/drivers/castle.cpp
index 5169120e7f0..4fc65727059 100644
--- a/src/mame/drivers/castle.cpp
+++ b/src/mame/drivers/castle.cpp
@@ -57,6 +57,9 @@ public:
void castle_V1rvE(machine_config &config);
void castle_V2rvA(machine_config &config);
+ void V1rvE_mastermap(address_map &map);
+ void V1rvE_slavemap(address_map &map);
+ void V2rvA_map(address_map &map);
protected:
// devices
@@ -64,11 +67,11 @@ protected:
};
-static ADDRESS_MAP_START( V1rvE_mastermap, AS_PROGRAM, 8, castle_state )
+ADDRESS_MAP_START(castle_state::V1rvE_mastermap)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( V1rvE_slavemap, AS_PROGRAM, 8, castle_state )
+ADDRESS_MAP_START(castle_state::V1rvE_slavemap)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -88,7 +91,7 @@ MACHINE_CONFIG_END
-static ADDRESS_MAP_START( V2rvA_map, AS_PROGRAM, 8, castle_state )
+ADDRESS_MAP_START(castle_state::V2rvA_map)
AM_RANGE(0x2000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/caswin.cpp b/src/mame/drivers/caswin.cpp
index 282b40962b2..bdd3bdd3783 100644
--- a/src/mame/drivers/caswin.cpp
+++ b/src/mame/drivers/caswin.cpp
@@ -102,6 +102,8 @@ public:
required_device<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
void vvillage(machine_config &config);
+ void vvillage_io(address_map &map);
+ void vvillage_mem(address_map &map);
};
@@ -189,7 +191,7 @@ WRITE8_MEMBER(caswin_state::vvillage_lamps_w)
output().set_led_value(4, data & 0x10);
}
-static ADDRESS_MAP_START( vvillage_mem, AS_PROGRAM, 8, caswin_state )
+ADDRESS_MAP_START(caswin_state::vvillage_mem)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xa000, 0xa000) AM_READ(vvillage_rng_r) //accessed by caswin only
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("nvram")
@@ -197,7 +199,7 @@ static ADDRESS_MAP_START( vvillage_mem, AS_PROGRAM, 8, caswin_state )
AM_RANGE(0xf800, 0xfbff) AM_RAM_WRITE(sc0_attr_w) AM_SHARE("sc0_attr")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vvillage_io, AS_IO, 8, caswin_state )
+ADDRESS_MAP_START(caswin_state::vvillage_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x01,0x01) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE(0x02,0x03) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
diff --git a/src/mame/drivers/cat.cpp b/src/mame/drivers/cat.cpp
index 1044567d260..ddb9b0ac99c 100644
--- a/src/mame/drivers/cat.cpp
+++ b/src/mame/drivers/cat.cpp
@@ -353,6 +353,7 @@ public:
IRQ_CALLBACK_MEMBER(cat_int_ack);
void cat(machine_config &config);
+ void cat_mem(address_map &map);
protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
};
@@ -751,7 +752,7 @@ a23 a22 a21 a20 a19 a18 a17 a16 a15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4
*/
-static ADDRESS_MAP_START(cat_mem, AS_PROGRAM, 16, cat_state)
+ADDRESS_MAP_START(cat_state::cat_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_MIRROR(0x180000) // 256 KB ROM
AM_RANGE(0x040000, 0x043fff) AM_RAM AM_SHARE("svram") AM_MIRROR(0x18C000)// SRAM powered by battery
diff --git a/src/mame/drivers/cave.cpp b/src/mame/drivers/cave.cpp
index 65281f7109a..b9f728aa172 100644
--- a/src/mame/drivers/cave.cpp
+++ b/src/mame/drivers/cave.cpp
@@ -434,7 +434,7 @@ WRITE16_MEMBER(cave_state::metmqstr_eeprom_msb_w)
Dangun Feveron
***************************************************************************/
-static ADDRESS_MAP_START( dfeveron_map, AS_PROGRAM, 16, cave_state )
+ADDRESS_MAP_START(cave_state::dfeveron_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM
AM_RANGE(0x300000, 0x300003) AM_DEVREADWRITE8("ymz", ymz280b_device, read, write, 0x00ff) // YMZ280
@@ -459,7 +459,7 @@ ADDRESS_MAP_END
Dodonpachi
***************************************************************************/
-static ADDRESS_MAP_START( ddonpach_map, AS_PROGRAM, 16, cave_state )
+ADDRESS_MAP_START(cave_state::ddonpach_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM
AM_RANGE(0x300000, 0x300003) AM_DEVREADWRITE8("ymz", ymz280b_device, read, write, 0x00ff) // YMZ280
@@ -497,7 +497,7 @@ READ16_MEMBER(cave_state::donpachi_videoregs_r)
}
}
-static ADDRESS_MAP_START( donpachi_map, AS_PROGRAM, 16, cave_state )
+ADDRESS_MAP_START(cave_state::donpachi_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM
AM_RANGE(0x200000, 0x207fff) AM_RAM_WRITE(cave_vram_1_w) AM_SHARE("vram.1") // Layer 1
@@ -523,7 +523,7 @@ ADDRESS_MAP_END
Esprade
***************************************************************************/
-static ADDRESS_MAP_START( esprade_map, AS_PROGRAM, 16, cave_state )
+ADDRESS_MAP_START(cave_state::esprade_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM
AM_RANGE(0x300000, 0x300003) AM_DEVREADWRITE8("ymz", ymz280b_device, read, write, 0x00ff) // YMZ280
@@ -548,7 +548,7 @@ ADDRESS_MAP_END
Gaia Crusaders
***************************************************************************/
-static ADDRESS_MAP_START( gaia_map, AS_PROGRAM, 16, cave_state )
+ADDRESS_MAP_START(cave_state::gaia_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM
AM_RANGE(0x300000, 0x300003) AM_DEVREADWRITE8("ymz", ymz280b_device, read, write, 0x00ff) // YMZ280
@@ -578,7 +578,7 @@ ADDRESS_MAP_END
Guwange
***************************************************************************/
-static ADDRESS_MAP_START( guwange_map, AS_PROGRAM, 16, cave_state )
+ADDRESS_MAP_START(cave_state::guwange_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM
AM_RANGE(0x300000, 0x30007f) AM_WRITEONLY AM_SHARE("videoregs.0") // Video Regs
@@ -605,7 +605,7 @@ ADDRESS_MAP_END
Hotdog Storm
***************************************************************************/
-static ADDRESS_MAP_START( hotdogst_map, AS_PROGRAM, 16, cave_state )
+ADDRESS_MAP_START(cave_state::hotdogst_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x300000, 0x30ffff) AM_RAM // RAM
/**/AM_RANGE(0x408000, 0x408fff) AM_RAM AM_SHARE("paletteram.0") // Palette
@@ -693,7 +693,7 @@ CUSTOM_INPUT_MEMBER(cave_state::korokoro_hopper_r)
}
-static ADDRESS_MAP_START( korokoro_map, AS_PROGRAM, 16, cave_state )
+ADDRESS_MAP_START(cave_state::korokoro_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x107fff) AM_WRITE(cave_vram_0_w) AM_SHARE("vram.0") // Layer 0
AM_RANGE(0x140000, 0x140005) AM_WRITEONLY AM_SHARE("vctrl.0") // Layer 0 Control
@@ -711,7 +711,7 @@ static ADDRESS_MAP_START( korokoro_map, AS_PROGRAM, 16, cave_state )
AM_RANGE(0x300000, 0x30ffff) AM_RAM // RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( crusherm_map, AS_PROGRAM, 16, cave_state )
+ADDRESS_MAP_START(cave_state::crusherm_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x107fff) AM_WRITE(cave_vram_0_w) AM_SHARE("vram.0") // Layer 0
AM_RANGE(0x140000, 0x140005) AM_WRITEONLY AM_SHARE("vctrl.0") // Layer 0 Control
@@ -732,7 +732,7 @@ ADDRESS_MAP_END
Mazinger Z
***************************************************************************/
-static ADDRESS_MAP_START( mazinger_map, AS_PROGRAM, 16, cave_state )
+ADDRESS_MAP_START(cave_state::mazinger_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM
/**/AM_RANGE(0x200000, 0x207fff) AM_RAM AM_SHARE("spriteram.0") // Sprites
@@ -757,7 +757,7 @@ ADDRESS_MAP_END
Metamoqester
***************************************************************************/
-static ADDRESS_MAP_START( metmqstr_map, AS_PROGRAM, 16, cave_state )
+ADDRESS_MAP_START(cave_state::metmqstr_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x17ffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x27ffff) AM_ROM // ROM
@@ -866,7 +866,7 @@ WRITE16_MEMBER(cave_state::ppsatan_out_w)
// popmessage("OUT %04x", data);
}
-static ADDRESS_MAP_START( ppsatan_map, AS_PROGRAM, 16, cave_state )
+ADDRESS_MAP_START(cave_state::ppsatan_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x040000, 0x04ffff) AM_RAM // RAM
@@ -938,7 +938,7 @@ WRITE16_MEMBER(cave_state::pwrinst2_vctrl_1_w){ vctrl_w(space, offset, data, mem
WRITE16_MEMBER(cave_state::pwrinst2_vctrl_2_w){ vctrl_w(space, offset, data, mem_mask, 2); }
WRITE16_MEMBER(cave_state::pwrinst2_vctrl_3_w){ vctrl_w(space, offset, data, mem_mask, 3); }
-static ADDRESS_MAP_START( pwrinst2_map, AS_PROGRAM, 16, cave_state )
+ADDRESS_MAP_START(cave_state::pwrinst2_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM // ROM
AM_RANGE(0x400000, 0x40ffff) AM_RAM // RAM
AM_RANGE(0x500000, 0x500001) AM_READ_PORT("IN0") // Inputs
@@ -974,7 +974,7 @@ READ16_MEMBER(cave_state::sailormn_input0_r)
return ioport("IN0")->read();
}
-static ADDRESS_MAP_START( sailormn_map, AS_PROGRAM, 16, cave_state )
+ADDRESS_MAP_START(cave_state::sailormn_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM
AM_RANGE(0x110000, 0x110001) AM_RAM // (agallet)
@@ -1008,7 +1008,7 @@ ADDRESS_MAP_END
Tekken Card World
***************************************************************************/
-static ADDRESS_MAP_START( tekkencw_map, AS_PROGRAM, 16, cave_state )
+ADDRESS_MAP_START(cave_state::tekkencw_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_SHARE("nvram") // RAM (battery)
AM_RANGE(0x200000, 0x207fff) AM_RAM AM_SHARE("spriteram.0") // Sprites
@@ -1031,7 +1031,7 @@ ADDRESS_MAP_END
Tekken Battle Scratch
***************************************************************************/
-static ADDRESS_MAP_START( tekkenbs_map, AS_PROGRAM, 16, cave_state )
+ADDRESS_MAP_START(cave_state::tekkenbs_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_SHARE("nvram") // RAM (battery)
AM_RANGE(0x200000, 0x207fff) AM_RAM AM_SHARE("spriteram.0") // Sprites
@@ -1094,7 +1094,7 @@ CUSTOM_INPUT_MEMBER(cave_state::tjumpman_hopper_r)
return (m_hopper && !(m_screen->frame_number() % 10)) ? 0 : 1;
}
-static ADDRESS_MAP_START( tjumpman_map, AS_PROGRAM, 16, cave_state )
+ADDRESS_MAP_START(cave_state::tjumpman_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_SHARE("nvram") // RAM (battery)
AM_RANGE(0x200000, 0x207fff) AM_RAM AM_SHARE("spriteram.0") // Sprites
@@ -1134,7 +1134,7 @@ WRITE16_MEMBER(cave_state::pacslot_leds_w)
// popmessage("led %04X", data);
}
-static ADDRESS_MAP_START( pacslot_map, AS_PROGRAM, 16, cave_state )
+ADDRESS_MAP_START(cave_state::pacslot_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_SHARE("nvram") // RAM (battery)
AM_RANGE(0x200000, 0x207fff) AM_RAM AM_SHARE("spriteram.0") // Sprites
@@ -1159,7 +1159,7 @@ ADDRESS_MAP_END
//TODO: leds need verifying
-static ADDRESS_MAP_START( paceight_map, AS_PROGRAM, 16, cave_state )
+ADDRESS_MAP_START(cave_state::paceight_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_SHARE("nvram") // RAM (battery)
AM_RANGE(0x200000, 0x207fff) AM_RAM AM_SHARE("spriteram.0") // Sprites
@@ -1181,7 +1181,7 @@ ADDRESS_MAP_END
Uo Poko
***************************************************************************/
-static ADDRESS_MAP_START( uopoko_map, AS_PROGRAM, 16, cave_state )
+ADDRESS_MAP_START(cave_state::uopoko_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM
AM_RANGE(0x300000, 0x300003) AM_DEVREADWRITE8("ymz", ymz280b_device, read, write, 0x00ff) // YMZ280
@@ -1208,12 +1208,12 @@ ADDRESS_MAP_END
***************************************************************************/
-static ADDRESS_MAP_START( oki_map, 0, 8, cave_state )
+ADDRESS_MAP_START(cave_state::oki_map)
AM_RANGE(0x00000, 0x1ffff) AM_ROMBANK("okibank1")
AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK("okibank2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( oki2_map, 0, 8, cave_state )
+ADDRESS_MAP_START(cave_state::oki2_map)
AM_RANGE(0x00000, 0x1ffff) AM_ROMBANK("oki2bank1")
AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK("oki2bank2")
ADDRESS_MAP_END
@@ -1239,13 +1239,13 @@ WRITE8_MEMBER(cave_state::hotdogst_okibank_w)
membank("okibank2")->set_entry(bank2);
}
-static ADDRESS_MAP_START( hotdogst_sound_map, AS_PROGRAM, 8, cave_state )
+ADDRESS_MAP_START(cave_state::hotdogst_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM // ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("z80bank") // ROM (Banked)
AM_RANGE(0xe000, 0xffff) AM_RAM // RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hotdogst_sound_portmap, AS_IO, 8, cave_state )
+ADDRESS_MAP_START(cave_state::hotdogst_sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(hotdogst_rombank_w) // ROM bank
AM_RANGE(0x30, 0x30) AM_READ(soundlatch_lo_r) // From Main CPU
@@ -1268,14 +1268,14 @@ WRITE8_MEMBER(cave_state::mazinger_rombank_w)
membank("z80bank")->set_entry(data & 0x07);
}
-static ADDRESS_MAP_START( mazinger_sound_map, AS_PROGRAM, 8, cave_state )
+ADDRESS_MAP_START(cave_state::mazinger_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM // ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("z80bank") // ROM (Banked)
AM_RANGE(0xc000, 0xc7ff) AM_RAM // RAM
AM_RANGE(0xf800, 0xffff) AM_RAM // RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mazinger_sound_portmap, AS_IO, 8, cave_state )
+ADDRESS_MAP_START(cave_state::mazinger_sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(mazinger_rombank_w) // ROM bank
AM_RANGE(0x10, 0x10) AM_WRITE(soundlatch_ack_w) // To Main CPU
@@ -1315,13 +1315,13 @@ WRITE8_MEMBER(cave_state::metmqstr_oki2bank_w)
membank("oki2bank2")->set_entry(bank2);
}
-static ADDRESS_MAP_START( metmqstr_sound_map, AS_PROGRAM, 8, cave_state )
+ADDRESS_MAP_START(cave_state::metmqstr_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM // ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("z80bank") // ROM (Banked)
AM_RANGE(0xe000, 0xffff) AM_RAM // RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( metmqstr_sound_portmap, AS_IO, 8, cave_state )
+ADDRESS_MAP_START(cave_state::metmqstr_sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(metmqstr_rombank_w) // Rom Bank
AM_RANGE(0x20, 0x20) AM_READ(soundflags_r) // Communication
@@ -1347,13 +1347,13 @@ WRITE8_MEMBER(cave_state::pwrinst2_rombank_w)
membank("z80bank")->set_entry(data & 0x07);
}
-static ADDRESS_MAP_START( pwrinst2_sound_map, AS_PROGRAM, 8, cave_state )
+ADDRESS_MAP_START(cave_state::pwrinst2_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM // ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("z80bank") // ROM (Banked)
AM_RANGE(0xe000, 0xffff) AM_RAM // RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pwrinst2_sound_portmap, AS_IO, 8, cave_state )
+ADDRESS_MAP_START(cave_state::pwrinst2_sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("oki1", okim6295_device, read, write) // M6295
AM_RANGE(0x08, 0x08) AM_DEVREADWRITE("oki2", okim6295_device, read, write) //
@@ -1395,13 +1395,13 @@ WRITE8_MEMBER(cave_state::sailormn_oki2bank_w)
membank("oki2bank2")->set_entry(bank2);
}
-static ADDRESS_MAP_START( sailormn_sound_map, AS_PROGRAM, 8, cave_state )
+ADDRESS_MAP_START(cave_state::sailormn_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM // ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("z80bank") // ROM (Banked)
AM_RANGE(0xc000, 0xdfff) AM_MIRROR(0x2000) AM_RAM // RAM (8KB, mirrored)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sailormn_sound_portmap, AS_IO, 8, cave_state )
+ADDRESS_MAP_START(cave_state::sailormn_sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(sailormn_rombank_w) // Rom Bank
AM_RANGE(0x10, 0x10) AM_WRITE(soundlatch_ack_w) // To Main CPU
diff --git a/src/mame/drivers/cavepc.cpp b/src/mame/drivers/cavepc.cpp
index ea29ff736da..6b949de72df 100644
--- a/src/mame/drivers/cavepc.cpp
+++ b/src/mame/drivers/cavepc.cpp
@@ -71,6 +71,8 @@ public:
virtual void video_start() override;
uint32_t screen_update_cavepc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void cavepc(machine_config &config);
+ void cavepc_io(address_map &map);
+ void cavepc_map(address_map &map);
};
void cavepc_state::video_start()
@@ -84,12 +86,12 @@ uint32_t cavepc_state::screen_update_cavepc(screen_device &screen, bitmap_ind16
/*****************************************************************************/
-static ADDRESS_MAP_START( cavepc_map, AS_PROGRAM, 32, cavepc_state )
+ADDRESS_MAP_START(cavepc_state::cavepc_map)
AM_RANGE(0x000f0000, 0x000fffff) AM_ROMBANK("bank1")
AM_RANGE(0xfffc0000, 0xffffffff) AM_ROM AM_REGION("bios", 0) /* System BIOS */
ADDRESS_MAP_END
-static ADDRESS_MAP_START(cavepc_io, AS_IO, 32, cavepc_state )
+ADDRESS_MAP_START(cavepc_state::cavepc_io)
ADDRESS_MAP_END
/*****************************************************************************/
diff --git a/src/mame/drivers/cb2001.cpp b/src/mame/drivers/cb2001.cpp
index 370f36f5ead..adfc9e068af 100644
--- a/src/mame/drivers/cb2001.cpp
+++ b/src/mame/drivers/cb2001.cpp
@@ -85,6 +85,8 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
void cb2001(machine_config &config);
+ void cb2001_io(address_map &map);
+ void cb2001_map(address_map &map);
};
@@ -567,14 +569,14 @@ WRITE16_MEMBER(cb2001_state::cb2001_bg_w)
}
-static ADDRESS_MAP_START( cb2001_map, AS_PROGRAM, 16, cb2001_state )
+ADDRESS_MAP_START(cb2001_state::cb2001_map)
AM_RANGE(0x00000, 0x1ffff) AM_RAM
AM_RANGE(0x20000, 0x20fff) AM_RAM AM_SHARE("vrafg")
AM_RANGE(0x21000, 0x21fff) AM_RAM_WRITE(cb2001_bg_w) AM_SHARE("vrabg")
AM_RANGE(0xc0000, 0xfffff) AM_ROM AM_REGION("boot_prg",0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cb2001_io, AS_IO, 16, cb2001_state )
+ADDRESS_MAP_START(cb2001_state::cb2001_io)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE8("ppi8255_0", i8255_device, read, write, 0xffff) /* Input Ports */
AM_RANGE(0x10, 0x13) AM_DEVREADWRITE8("ppi8255_1", i8255_device, read, write, 0xffff) /* DIP switches */
AM_RANGE(0x20, 0x21) AM_DEVREAD8("aysnd", ay8910_device, data_r, 0xff00)
diff --git a/src/mame/drivers/cball.cpp b/src/mame/drivers/cball.cpp
index 492ba5550f1..291bcb8c973 100644
--- a/src/mame/drivers/cball.cpp
+++ b/src/mame/drivers/cball.cpp
@@ -56,6 +56,7 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void cball(machine_config &config);
+ void cpu_map(address_map &map);
protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
};
@@ -161,7 +162,7 @@ WRITE8_MEMBER(cball_state::wram_w)
-static ADDRESS_MAP_START( cpu_map, AS_PROGRAM, 8, cball_state )
+ADDRESS_MAP_START(cball_state::cpu_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x03ff) AM_READ(wram_r) AM_MASK(0x7f)
diff --git a/src/mame/drivers/cbasebal.cpp b/src/mame/drivers/cbasebal.cpp
index defaacf075e..5a938159ed5 100644
--- a/src/mame/drivers/cbasebal.cpp
+++ b/src/mame/drivers/cbasebal.cpp
@@ -94,7 +94,7 @@ WRITE8_MEMBER(cbasebal_state::cbasebal_coinctrl_w)
*
*************************************/
-static ADDRESS_MAP_START( cbasebal_map, AS_PROGRAM, 8, cbasebal_state )
+ADDRESS_MAP_START(cbasebal_state::cbasebal_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xcfff) AM_READWRITE(bankedram_r, bankedram_w) AM_SHARE("palette") /* palette + vram + scrollram */
@@ -102,12 +102,12 @@ static ADDRESS_MAP_START( cbasebal_map, AS_PROGRAM, 8, cbasebal_state )
AM_RANGE(0xfe00, 0xffff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, cbasebal_state )
+ADDRESS_MAP_START(cbasebal_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0x7fff) AM_ROMBANK("bank0d")
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1d")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cbasebal_portmap, AS_IO, 8, cbasebal_state )
+ADDRESS_MAP_START(cbasebal_state::cbasebal_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(cbasebal_bankswitch_w)
AM_RANGE(0x01, 0x01) AM_WRITE_PORT("IO_01")
@@ -264,7 +264,7 @@ MACHINE_CONFIG_START(cbasebal_state::cbasebal)
MCFG_CPU_ADD("maincpu", Z80, 6000000) /* ??? */
MCFG_CPU_PROGRAM_MAP(cbasebal_map)
MCFG_CPU_IO_MAP(cbasebal_portmap)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", cbasebal_state, irq0_line_hold) /* ??? */
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
diff --git a/src/mame/drivers/cbm2.cpp b/src/mame/drivers/cbm2.cpp
index a8efdd0a130..8a05519cf68 100644
--- a/src/mame/drivers/cbm2.cpp
+++ b/src/mame/drivers/cbm2.cpp
@@ -231,6 +231,9 @@ public:
void b128(machine_config &config);
void b256(machine_config &config);
void cbm610(machine_config &config);
+ void cbm2_mem(address_map &map);
+ void ext_io(address_map &map);
+ void ext_mem(address_map &map);
};
@@ -318,6 +321,9 @@ public:
int m_vic_irq;
void p500_pal(machine_config &config);
void p500_ntsc(machine_config &config);
+ void p500_mem(address_map &map);
+ void vic_colorram_map(address_map &map);
+ void vic_videoram_map(address_map &map);
};
@@ -1151,7 +1157,7 @@ READ8_MEMBER( p500_state::vic_colorram_r )
// ADDRESS_MAP( cbm2_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( cbm2_mem, AS_PROGRAM, 8, cbm2_state )
+ADDRESS_MAP_START(cbm2_state::cbm2_mem)
AM_RANGE(0x00000, 0xfffff) AM_READWRITE(read, write)
ADDRESS_MAP_END
@@ -1160,7 +1166,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( ext_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( ext_mem, AS_PROGRAM, 8, cbm2_state )
+ADDRESS_MAP_START(cbm2_state::ext_mem)
AM_RANGE(0x00000, 0xeffff) AM_READWRITE(ext_read, ext_write)
AM_RANGE(0xf0000, 0xf0fff) AM_MIRROR(0xf000) AM_ROM AM_REGION(EXT_I8088_TAG, 0)
ADDRESS_MAP_END
@@ -1170,7 +1176,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( ext_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( ext_io, AS_IO, 8, cbm2_state )
+ADDRESS_MAP_START(cbm2_state::ext_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x0000, 0x0001) AM_MIRROR(0x1e) AM_DEVREADWRITE(EXT_I8259A_TAG, pic8259_device, read, write)
AM_RANGE(0x0020, 0x0027) AM_MIRROR(0x18) AM_DEVREADWRITE(EXT_MOS6525_TAG, tpi6525_device, read, write)
@@ -1181,7 +1187,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( p500_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( p500_mem, AS_PROGRAM, 8, p500_state )
+ADDRESS_MAP_START(p500_state::p500_mem)
AM_RANGE(0x00000, 0xfffff) AM_READWRITE(read, write)
ADDRESS_MAP_END
@@ -1190,7 +1196,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( vic_videoram_map )
//-------------------------------------------------
-static ADDRESS_MAP_START( vic_videoram_map, 0, 8, p500_state )
+ADDRESS_MAP_START(p500_state::vic_videoram_map)
AM_RANGE(0x0000, 0x3fff) AM_READ(vic_videoram_r)
ADDRESS_MAP_END
@@ -1199,7 +1205,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( vic_colorram_map )
//-------------------------------------------------
-static ADDRESS_MAP_START( vic_colorram_map, 1, 8, p500_state )
+ADDRESS_MAP_START(p500_state::vic_colorram_map)
AM_RANGE(0x000, 0x3ff) AM_READ(vic_colorram_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cbuster.cpp b/src/mame/drivers/cbuster.cpp
index 8745a1228aa..5e051c115fd 100644
--- a/src/mame/drivers/cbuster.cpp
+++ b/src/mame/drivers/cbuster.cpp
@@ -126,7 +126,7 @@ READ16_MEMBER(cbuster_state::twocrude_control_r)
/******************************************************************************/
-static ADDRESS_MAP_START( twocrude_map, AS_PROGRAM, 16, cbuster_state )
+ADDRESS_MAP_START(cbuster_state::twocrude_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x083fff) AM_RAM AM_SHARE("ram")
@@ -153,7 +153,7 @@ ADDRESS_MAP_END
/******************************************************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, cbuster_state )
+ADDRESS_MAP_START(cbuster_state::sound_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ym2", ym2151_device, read, write)
diff --git a/src/mame/drivers/cc40.cpp b/src/mame/drivers/cc40.cpp
index 8d8cc7b3201..ac580afd735 100644
--- a/src/mame/drivers/cc40.cpp
+++ b/src/mame/drivers/cc40.cpp
@@ -148,6 +148,7 @@ public:
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(cc40_cartridge);
HD44780_PIXEL_UPDATE(cc40_pixel_update);
void cc40(machine_config &config);
+ void main_map(address_map &map);
};
@@ -362,7 +363,7 @@ WRITE8_MEMBER(cc40_state::keyboard_w)
m_key_select = data;
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, cc40_state )
+ADDRESS_MAP_START(cc40_state::main_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0110, 0x0110) AM_READWRITE(bus_control_r, bus_control_w)
diff --git a/src/mame/drivers/ccastles.cpp b/src/mame/drivers/ccastles.cpp
index edc842cbcce..00a4f60e582 100644
--- a/src/mame/drivers/ccastles.cpp
+++ b/src/mame/drivers/ccastles.cpp
@@ -321,7 +321,7 @@ WRITE8_MEMBER(ccastles_state::nvram_w)
*************************************/
/* complete memory map derived from schematics */
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, ccastles_state )
+ADDRESS_MAP_START(ccastles_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_RAM_WRITE(ccastles_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x0000, 0x0001) AM_WRITE(ccastles_bitmode_addr_w)
AM_RANGE(0x0002, 0x0002) AM_READWRITE(ccastles_bitmode_r, ccastles_bitmode_w)
diff --git a/src/mame/drivers/cchance.cpp b/src/mame/drivers/cchance.cpp
index dfd3d5c2318..35bcb452c7b 100644
--- a/src/mame/drivers/cchance.cpp
+++ b/src/mame/drivers/cchance.cpp
@@ -58,6 +58,7 @@ public:
DECLARE_READ8_MEMBER(input_1_r);
DECLARE_WRITE8_MEMBER(output_1_w);
void cchance(machine_config &config);
+ void main_map(address_map &map);
};
@@ -81,7 +82,7 @@ WRITE8_MEMBER(cchance_state::output_1_w)
m_bell_io = (data & 0x80)>>4;
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, cchance_state )
+ADDRESS_MAP_START(cchance_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xa000, 0xafff) AM_RAM AM_DEVREADWRITE("spritegen", seta001_device, spritecodelow_r8, spritecodelow_w8)
diff --git a/src/mame/drivers/cchasm.cpp b/src/mame/drivers/cchasm.cpp
index b6474f91709..92fb09db52e 100644
--- a/src/mame/drivers/cchasm.cpp
+++ b/src/mame/drivers/cchasm.cpp
@@ -35,7 +35,7 @@
*
*************************************/
-static ADDRESS_MAP_START( memmap, AS_PROGRAM, 16, cchasm_state )
+ADDRESS_MAP_START(cchasm_state::memmap)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x040000, 0x04000f) AM_DEVREADWRITE8("6840ptm", ptm6840_device, read, write, 0xff)
AM_RANGE(0x050000, 0x050001) AM_WRITE(refresh_control_w)
@@ -51,7 +51,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( sound_memmap, AS_PROGRAM, 8, cchasm_state )
+ADDRESS_MAP_START(cchasm_state::sound_memmap)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM
AM_RANGE(0x5000, 0x53ff) AM_RAM
@@ -66,7 +66,7 @@ static ADDRESS_MAP_START( sound_memmap, AS_PROGRAM, 8, cchasm_state )
AM_RANGE(0x7041, 0x7041) AM_NOP // TODO
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, cchasm_state )
+ADDRESS_MAP_START(cchasm_state::sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ctc", z80ctc_device, read, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cclimber.cpp b/src/mame/drivers/cclimber.cpp
index 5841d7cbac2..289c56badee 100644
--- a/src/mame/drivers/cclimber.cpp
+++ b/src/mame/drivers/cclimber.cpp
@@ -321,7 +321,7 @@ READ8_MEMBER(cclimber_state::bagmanf_a000_r)
/* Note that River Patrol reads/writes to a000-a4f0. This is a bug in the code.
The instruction at 0x0593 should say LD DE,$8000 */
-static ADDRESS_MAP_START( cclimber_map, AS_PROGRAM, 8, cclimber_state )
+ADDRESS_MAP_START(cclimber_state::cclimber_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x6bff) AM_RAM /* Crazy Kong only */
AM_RANGE(0x8000, 0x83ff) AM_RAM
@@ -342,11 +342,11 @@ static ADDRESS_MAP_START( cclimber_map, AS_PROGRAM, 8, cclimber_state )
AM_RANGE(0xb800, 0xb800) AM_READ_PORT("SYSTEM")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, cclimber_state )
+ADDRESS_MAP_START(cclimber_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM AM_SHARE("decrypted_opcodes")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cannonb_map, AS_PROGRAM, 8, cclimber_state )
+ADDRESS_MAP_START(cclimber_state::cannonb_map)
AM_RANGE(0x5045, 0x505f) AM_WRITENOP /* do not errorlog this */
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x6bff) AM_RAM
@@ -368,7 +368,7 @@ static ADDRESS_MAP_START( cannonb_map, AS_PROGRAM, 8, cclimber_state )
AM_RANGE(0xb800, 0xb800) AM_READ_PORT("SYSTEM")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( swimmer_map, AS_PROGRAM, 8, cclimber_state )
+ADDRESS_MAP_START(cclimber_state::swimmer_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x88ff) AM_MIRROR(0x0100) AM_RAM AM_SHARE("bigspriteram")
@@ -385,13 +385,13 @@ static ADDRESS_MAP_START( swimmer_map, AS_PROGRAM, 8, cclimber_state )
AM_RANGE(0xb880, 0xb880) AM_READ_PORT("SYSTEM")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( guzzler_map, AS_PROGRAM, 8, cclimber_state )
+ADDRESS_MAP_START(cclimber_state::guzzler_map)
AM_IMPORT_FROM(swimmer_map)
AM_RANGE(0xc000, 0xc7ff) AM_RAM /* ??? used by Guzzler */
AM_RANGE(0xe000, 0xffff) AM_ROM /* Guzzler only */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( yamato_map, AS_PROGRAM, 8, cclimber_state )
+ADDRESS_MAP_START(cclimber_state::yamato_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM
AM_RANGE(0x7000, 0x7fff) AM_ROM
@@ -413,11 +413,11 @@ static ADDRESS_MAP_START( yamato_map, AS_PROGRAM, 8, cclimber_state )
AM_RANGE(0xba00, 0xba00) AM_READ_PORT("START") /* maybe a mirror of b800 */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( yamato_decrypted_opcodes_map, AS_OPCODES, 8, cclimber_state )
+ADDRESS_MAP_START(cclimber_state::yamato_decrypted_opcodes_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_SHARE("decrypted_opcodes")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( toprollr_map, AS_PROGRAM, 8, cclimber_state )
+ADDRESS_MAP_START(cclimber_state::toprollr_map)
AM_RANGE(0x0000, 0x5fff) AM_ROMBANK("bank1")
AM_RANGE(0x6000, 0x6bff) AM_RAM AM_SHARE("ram")
AM_RANGE(0x8800, 0x88ff) AM_RAM AM_SHARE("bigspriteram")
@@ -436,7 +436,7 @@ static ADDRESS_MAP_START( toprollr_map, AS_PROGRAM, 8, cclimber_state )
AM_RANGE(0xc000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bagmanf_map, AS_PROGRAM, 8, cclimber_state )
+ADDRESS_MAP_START(cclimber_state::bagmanf_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x6bff) AM_RAM /* Crazy Kong only */
AM_RANGE(0x8000, 0x8000) AM_READ_PORT("P1")
@@ -457,44 +457,44 @@ static ADDRESS_MAP_START( bagmanf_map, AS_PROGRAM, 8, cclimber_state )
AM_RANGE(0xb800, 0xb800) AM_READNOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( toprollr_decrypted_opcodes_map, AS_OPCODES, 8, cclimber_state )
+ADDRESS_MAP_START(cclimber_state::toprollr_decrypted_opcodes_map)
AM_RANGE(0x0000, 0x5fff) AM_ROMBANK("bank1d")
AM_RANGE(0xc000, 0xffff) AM_ROM AM_REGION("maincpu", 0xc000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cclimber_portmap, AS_IO, 8, cclimber_state )
+ADDRESS_MAP_START(cclimber_state::cclimber_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x08, 0x09) AM_DEVWRITE("cclimber_audio:aysnd", ay8910_device, address_data_w)
AM_RANGE(0x0c, 0x0c) AM_DEVREAD("cclimber_audio:aysnd", ay8910_device, data_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( yamato_portmap, AS_IO, 8, cclimber_state )
+ADDRESS_MAP_START(cclimber_state::yamato_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(yamato_p0_w) /* ??? */
AM_RANGE(0x01, 0x01) AM_WRITE(yamato_p1_w) /* ??? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( swimmer_audio_map, AS_PROGRAM, 8, cclimber_state )
+ADDRESS_MAP_START(cclimber_state::swimmer_audio_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
AM_RANGE(0x3000, 0x3000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0x4000, 0x4001) AM_RAM /* ??? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( yamato_audio_map, AS_PROGRAM, 8, cclimber_state )
+ADDRESS_MAP_START(cclimber_state::yamato_audio_map)
AM_RANGE(0x0000, 0x07ff) AM_ROM
AM_RANGE(0x5000, 0x53ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( swimmer_audio_portmap, AS_IO, 8, cclimber_state )
+ADDRESS_MAP_START(cclimber_state::swimmer_audio_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("ay1", ay8910_device, data_address_w)
AM_RANGE(0x80, 0x81) AM_DEVWRITE("ay2", ay8910_device, data_address_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( yamato_audio_portmap, AS_IO, 8, cclimber_state )
+ADDRESS_MAP_START(cclimber_state::yamato_audio_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
AM_RANGE(0x02, 0x03) AM_DEVWRITE("ay2", ay8910_device, address_data_w)
@@ -1135,7 +1135,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(cclimber_state::cclimberx, cclimber)
MCFG_CPU_MODIFY("maincpu")
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(cclimber_state::ckongb, cclimber)
@@ -1175,7 +1175,7 @@ MACHINE_CONFIG_DERIVED(cclimber_state::yamato, root)
MCFG_CPU_PROGRAM_MAP(yamato_map)
MCFG_CPU_IO_MAP(yamato_portmap)
MCFG_CPU_VBLANK_INT_DRIVER("screen", cclimber_state, vblank_irq)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(yamato_decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(yamato_decrypted_opcodes_map)
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MCFG_CPU_ADD("audiocpu", Z80, 3072000) /* 3.072 MHz ? */
@@ -1206,7 +1206,7 @@ MACHINE_CONFIG_DERIVED(cclimber_state::toprollr, cclimber)
MCFG_CPU_PROGRAM_MAP(toprollr_map)
MCFG_CPU_IO_MAP(cclimber_portmap)
MCFG_CPU_VBLANK_INT_DRIVER("screen", cclimber_state, vblank_irq)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(toprollr_decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(toprollr_decrypted_opcodes_map)
MCFG_SEGACRPT_SET_SIZE(0)
MCFG_SEGACRPT_SET_NUMBANKS(3)
MCFG_SEGACRPT_SET_BANKSIZE(0x6000)
diff --git a/src/mame/drivers/ccs2810.cpp b/src/mame/drivers/ccs2810.cpp
index 633345e53e2..c5964fad409 100644
--- a/src/mame/drivers/ccs2810.cpp
+++ b/src/mame/drivers/ccs2810.cpp
@@ -105,6 +105,9 @@ public:
void ccs2810(machine_config &config);
void ccs2422(machine_config &config);
+ void ccs2422_io(address_map &map);
+ void ccs2810_io(address_map &map);
+ void ccs2810_mem(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<ram_device> m_ram;
@@ -175,15 +178,15 @@ WRITE8_MEMBER(ccs_state::io_write)
m_ins8250->ins8250_w(space, offset & 7, data);
}
-static ADDRESS_MAP_START(ccs2810_mem, AS_PROGRAM, 8, ccs_state)
+ADDRESS_MAP_START(ccs_state::ccs2810_mem)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(memory_read, memory_write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(ccs2810_io, AS_IO, 8, ccs_state)
+ADDRESS_MAP_START(ccs_state::ccs2810_io)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(io_read, io_write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(ccs2422_io, AS_IO, 8, ccs_state)
+ADDRESS_MAP_START(ccs_state::ccs2422_io)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(io_read, io_write)
AM_RANGE(0x04, 0x04) AM_MIRROR(0xff00) AM_READWRITE(port04_r,port04_w)
AM_RANGE(0x30, 0x33) AM_MIRROR(0xff00) AM_DEVREADWRITE("fdc", mb8877_device, read, write)
diff --git a/src/mame/drivers/ccs300.cpp b/src/mame/drivers/ccs300.cpp
index edba3c0bd04..6a7c1ee19df 100644
--- a/src/mame/drivers/ccs300.cpp
+++ b/src/mame/drivers/ccs300.cpp
@@ -41,17 +41,19 @@ public:
DECLARE_WRITE8_MEMBER(port40_w);
void ccs300(machine_config &config);
+ void ccs300_io(address_map &map);
+ void ccs300_mem(address_map &map);
private:
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START(ccs300_mem, AS_PROGRAM, 8, ccs300_state)
+ADDRESS_MAP_START(ccs300_state::ccs300_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x07ff) AM_READ_BANK("bankr0") AM_WRITE_BANK("bankw0")
AM_RANGE(0x0800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ccs300_io, AS_IO, 8, ccs300_state)
+ADDRESS_MAP_START(ccs300_state::ccs300_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x13) AM_DEVREADWRITE("sio", z80sio_device, ba_cd_r, ba_cd_w)
diff --git a/src/mame/drivers/cd2650.cpp b/src/mame/drivers/cd2650.cpp
index 28e5164d59c..47c617d1a38 100644
--- a/src/mame/drivers/cd2650.cpp
+++ b/src/mame/drivers/cd2650.cpp
@@ -81,6 +81,9 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void cd2650(machine_config &config);
+ void cd2650_data(address_map &map);
+ void cd2650_io(address_map &map);
+ void cd2650_mem(address_map &map);
private:
uint8_t m_term_data;
virtual void machine_reset() override;
@@ -114,18 +117,18 @@ READ8_MEMBER(cd2650_state::keyin_r)
return ret;
}
-static ADDRESS_MAP_START(cd2650_mem, AS_PROGRAM, 8, cd2650_state)
+ADDRESS_MAP_START(cd2650_state::cd2650_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0x1000, 0x7fff) AM_RAM AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cd2650_io, AS_IO, 8, cd2650_state)
+ADDRESS_MAP_START(cd2650_state::cd2650_io)
ADDRESS_MAP_UNMAP_HIGH
//AM_RANGE(0x80, 0x84) disk i/o
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cd2650_data, AS_DATA, 8, cd2650_state)
+ADDRESS_MAP_START(cd2650_state::cd2650_data)
AM_RANGE(S2650_DATA_PORT,S2650_DATA_PORT) AM_READ(keyin_r) AM_DEVWRITE("outlatch", f9334_device, write_nibble_d3)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cdc721.cpp b/src/mame/drivers/cdc721.cpp
index 7c9035fc8a7..8e86a30af40 100644
--- a/src/mame/drivers/cdc721.cpp
+++ b/src/mame/drivers/cdc721.cpp
@@ -31,6 +31,8 @@ public:
// DECLARE_WRITE8_MEMBER(port70_w) { membank("bankr0")->set_entry(BIT(data, 3)); }
void cdc721(machine_config &config);
+void io_map(address_map &map);
+void mem_map(address_map &map);
private:
u8 m_flashcnt;
virtual void machine_reset() override;
@@ -39,14 +41,14 @@ private:
required_shared_ptr<u8> m_p_videoram;
};
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, cdc721_state )
+ADDRESS_MAP_START(cdc721_state::mem_map)
AM_RANGE(0x0000, 0x4fff) AM_ROM AM_REGION("maincpu", 0x10000)
// AM_RANGE(0x0000, 0x4fff) AM_READ_BANK("bankr0") AM_WRITE_BANK("bankw0")
AM_RANGE(0x8000, 0xe10f) AM_RAM
AM_RANGE(0xe110, 0xffff) AM_RAM AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, cdc721_state )
+ADDRESS_MAP_START(cdc721_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x1f) AM_DEVREADWRITE("crtc", tms9927_device, read, write)
// AM_RANGE(0x70, 0x70) AM_WRITE(port70_w)
diff --git a/src/mame/drivers/cdi.cpp b/src/mame/drivers/cdi.cpp
index 8a5d4da4c4f..a7de95fb5b6 100644
--- a/src/mame/drivers/cdi.cpp
+++ b/src/mame/drivers/cdi.cpp
@@ -67,7 +67,7 @@ static inline void ATTR_PRINTF(3,4) verboselog(device_t& device, int n_level, co
* Memory maps *
*************************/
-static ADDRESS_MAP_START( cdimono1_mem, AS_PROGRAM, 16, cdi_state )
+ADDRESS_MAP_START(cdi_state::cdimono1_mem)
AM_RANGE(0x00000000, 0x0007ffff) AM_RAM AM_SHARE("planea")
AM_RANGE(0x00200000, 0x0027ffff) AM_RAM AM_SHARE("planeb")
AM_RANGE(0x00300000, 0x00303bff) AM_DEVREADWRITE("cdic", cdicdic_device, ram_r, ram_w)
@@ -86,7 +86,7 @@ static ADDRESS_MAP_START( cdimono1_mem, AS_PROGRAM, 16, cdi_state )
AM_RANGE(0x80000000, 0x8000807f) AM_DEVREADWRITE("scc68070", cdi68070_device, periphs_r, periphs_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cdimono2_mem, AS_PROGRAM, 16, cdi_state )
+ADDRESS_MAP_START(cdi_state::cdimono2_mem)
AM_RANGE(0x00000000, 0x0007ffff) AM_RAM AM_SHARE("planea")
AM_RANGE(0x00200000, 0x0027ffff) AM_RAM AM_SHARE("planeb")
#if ENABLE_UART_PRINTING
@@ -105,7 +105,7 @@ static ADDRESS_MAP_START( cdimono2_mem, AS_PROGRAM, 16, cdi_state )
AM_RANGE(0x80000000, 0x8000807f) AM_DEVREADWRITE("scc68070", cdi68070_device, periphs_r, periphs_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cdi910_mem, AS_PROGRAM, 16, cdi_state )
+ADDRESS_MAP_START(cdi_state::cdi910_mem)
AM_RANGE(0x00000000, 0x0007ffff) AM_RAM AM_SHARE("planea")
AM_RANGE(0x00180000, 0x001fffff) AM_ROM AM_REGION("maincpu", 0) // boot vectors point here
@@ -126,13 +126,13 @@ static ADDRESS_MAP_START( cdi910_mem, AS_PROGRAM, 16, cdi_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cdimono2_servo_mem, AS_PROGRAM, 8, cdi_state )
+ADDRESS_MAP_START(cdi_state::cdimono2_servo_mem)
AM_RANGE(0x0000, 0x001f) AM_READWRITE(servo_io_r, servo_io_w)
AM_RANGE(0x0050, 0x00ff) AM_RAM
AM_RANGE(0x0100, 0x1fff) AM_ROM AM_REGION("servo", 0x100)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cdimono2_slave_mem, AS_PROGRAM, 8, cdi_state )
+ADDRESS_MAP_START(cdi_state::cdimono2_slave_mem)
AM_RANGE(0x0000, 0x001f) AM_READWRITE(slave_io_r, slave_io_w)
AM_RANGE(0x0050, 0x00ff) AM_RAM
AM_RANGE(0x0100, 0x1fff) AM_ROM AM_REGION("slave", 0x100)
@@ -946,7 +946,7 @@ READ8_MEMBER( cdi_state::quizard_mcu_p1_r )
return machine().rand();
}
-static ADDRESS_MAP_START( mcu_io_map, AS_IO, 8, cdi_state )
+ADDRESS_MAP_START(cdi_state::mcu_io_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_READ(quizard_mcu_p1_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cedar_magnet.cpp b/src/mame/drivers/cedar_magnet.cpp
index 88aa2bc115d..1678c26247c 100644
--- a/src/mame/drivers/cedar_magnet.cpp
+++ b/src/mame/drivers/cedar_magnet.cpp
@@ -228,6 +228,11 @@ public:
DECLARE_DRIVER_INIT(mag_xain);
DECLARE_DRIVER_INIT(mag_exzi);
void cedar_magnet(machine_config &config);
+ void cedar_bank0(address_map &map);
+ void cedar_magnet_io(address_map &map);
+ void cedar_magnet_mainboard_sub_pal_map(address_map &map);
+ void cedar_magnet_mainboard_sub_ram_map(address_map &map);
+ void cedar_magnet_map(address_map &map);
};
/***********************
@@ -236,7 +241,7 @@ public:
***********************/
-static ADDRESS_MAP_START( cedar_magnet_mainboard_sub_pal_map, AS_PROGRAM, 8, cedar_magnet_state )
+ADDRESS_MAP_START(cedar_magnet_state::cedar_magnet_mainboard_sub_pal_map)
// these are 3x MOTOROLA MM2114N SRAM 4096 bit RAM (twice the size because we map bytes, but only 4 bits are used)
// these are on the master board memory sub-board
AM_RANGE(0x2400, 0x27ff) AM_RAM_WRITE(palette_r_w) AM_SHARE("pal_r")
@@ -244,17 +249,17 @@ static ADDRESS_MAP_START( cedar_magnet_mainboard_sub_pal_map, AS_PROGRAM, 8, ced
AM_RANGE(0x3000, 0x33ff) AM_RAM_WRITE(palette_b_w) AM_SHARE("pal_b")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cedar_magnet_mainboard_sub_ram_map, AS_PROGRAM, 8, cedar_magnet_state )
+ADDRESS_MAP_START(cedar_magnet_state::cedar_magnet_mainboard_sub_ram_map)
// these are 8x SIEMENS HYB 41256-15 AA - 262,144 bit DRAM (32kbytes)
// these are on the master board memory sub-board
AM_RANGE(0x00000, 0x3ffff) AM_RAM AM_SHARE("ram0")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cedar_magnet_map, AS_PROGRAM, 8, cedar_magnet_state )
+ADDRESS_MAP_START(cedar_magnet_state::cedar_magnet_map)
AM_RANGE(0x0000, 0xffff) AM_DEVICE("bank0", address_map_bank_device, amap8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cedar_magnet_io, AS_IO, 8, cedar_magnet_state )
+ADDRESS_MAP_START(cedar_magnet_state::cedar_magnet_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x18, 0x18) AM_READWRITE(port18_r, port18_w)
@@ -280,7 +285,7 @@ static ADDRESS_MAP_START( cedar_magnet_io, AS_IO, 8, cedar_magnet_state )
AM_RANGE(0xff, 0xff) AM_DEVWRITE("cedtop", cedar_magnet_sound_device, sound_command_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cedar_bank0, AS_PROGRAM, 8, cedar_magnet_state )
+ADDRESS_MAP_START(cedar_magnet_state::cedar_bank0)
/* memory configuration 0 */
AM_RANGE(0x00000, 0x0ffff) AM_DEVICE("mb_sub_ram", address_map_bank_device, amap8)
diff --git a/src/mame/drivers/centiped.cpp b/src/mame/drivers/centiped.cpp
index 47826c33760..88d892d39fb 100644
--- a/src/mame/drivers/centiped.cpp
+++ b/src/mame/drivers/centiped.cpp
@@ -676,7 +676,7 @@ WRITE_LINE_MEMBER(centiped_state::bullsdrt_coin_count_w)
*
*************************************/
-static ADDRESS_MAP_START( centiped_base_map, AS_PROGRAM, 8, centiped_state )
+ADDRESS_MAP_START(centiped_state::centiped_base_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x03ff) AM_RAM AM_SHARE("rambase")
AM_RANGE(0x0400, 0x07bf) AM_RAM_WRITE(centiped_videoram_w) AM_SHARE("videoram")
@@ -698,7 +698,7 @@ static ADDRESS_MAP_START( centiped_base_map, AS_PROGRAM, 8, centiped_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( centiped_map, AS_PROGRAM, 8, centiped_state )
+ADDRESS_MAP_START(centiped_state::centiped_map)
AM_IMPORT_FROM(centiped_base_map)
AM_RANGE(0x1000, 0x100f) AM_DEVREADWRITE("pokey", pokey_device, read, write)
ADDRESS_MAP_END
@@ -706,7 +706,7 @@ ADDRESS_MAP_END
//// Centipede bootlegs ////
-static ADDRESS_MAP_START( centipdb_map, AS_PROGRAM, 8, centiped_state )
+ADDRESS_MAP_START(centiped_state::centipdb_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x03ff) AM_MIRROR(0x4000) AM_RAM
AM_RANGE(0x0400, 0x07bf) AM_MIRROR(0x4000) AM_RAM_WRITE(centiped_videoram_w) AM_SHARE("videoram")
@@ -731,14 +731,14 @@ static ADDRESS_MAP_START( centipdb_map, AS_PROGRAM, 8, centiped_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( magworm_map, AS_PROGRAM, 8, centiped_state )
+ADDRESS_MAP_START(centiped_state::magworm_map)
AM_IMPORT_FROM(centiped_base_map)
AM_RANGE(0x1001, 0x1001) AM_DEVWRITE("aysnd", ay8910_device, address_w)
AM_RANGE(0x1003, 0x1003) AM_DEVREADWRITE("aysnd", ay8910_device, data_r, data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( caterplr_map, AS_PROGRAM, 8, centiped_state )
+ADDRESS_MAP_START(centiped_state::caterplr_map)
AM_IMPORT_FROM(centiped_base_map)
AM_RANGE(0x1780, 0x1780) AM_READ(caterplr_unknown_r)
AM_RANGE(0x1000, 0x100f) AM_READWRITE(caterplr_AY8910_r, caterplr_AY8910_w)
@@ -764,7 +764,7 @@ READ8_MEMBER(centiped_state::caterplr_AY8910_r)
*
*************************************/
-static ADDRESS_MAP_START( milliped_map, AS_PROGRAM, 8, centiped_state )
+ADDRESS_MAP_START(centiped_state::milliped_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x040f) AM_DEVREADWRITE("pokey", pokey_device, read, write)
@@ -809,7 +809,7 @@ ADDRESS_MAP_END
TODO: centiped does not work yet, the game reconfigures the memorymap
*/
-static ADDRESS_MAP_START( multiped_map, AS_PROGRAM, 8, centiped_state )
+ADDRESS_MAP_START(centiped_state::multiped_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x040f) AM_DEVREADWRITE("pokey", pokey_device, read, write)
AM_RANGE(0x0800, 0x080f) AM_DEVREADWRITE("pokey2", pokey_device, read, write)
@@ -881,7 +881,7 @@ WRITE8_MEMBER(centiped_state::multiped_prgbank_w)
*
*************************************/
-static ADDRESS_MAP_START( warlords_map, AS_PROGRAM, 8, centiped_state )
+ADDRESS_MAP_START(centiped_state::warlords_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x07bf) AM_RAM_WRITE(centiped_videoram_w) AM_SHARE("videoram")
@@ -905,7 +905,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( mazeinv_map, AS_PROGRAM, 8, centiped_state )
+ADDRESS_MAP_START(centiped_state::mazeinv_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x040f) AM_DEVREADWRITE("pokey", pokey_device, read, write)
@@ -936,7 +936,7 @@ ADDRESS_MAP_END
*
****************************************/
-static ADDRESS_MAP_START( bullsdrt_map, AS_PROGRAM, 8, centiped_state )
+ADDRESS_MAP_START(centiped_state::bullsdrt_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1000, 0x1000) AM_MIRROR(0x6000) AM_READ_PORT("DSW1")
AM_RANGE(0x1080, 0x1080) AM_MIRROR(0x6000) AM_READ(centiped_IN0_r)
@@ -957,12 +957,12 @@ static ADDRESS_MAP_START( bullsdrt_map, AS_PROGRAM, 8, centiped_state )
AM_RANGE(0x6000, 0x6fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bullsdrt_port_map, AS_IO, 8, centiped_state )
+ADDRESS_MAP_START(centiped_state::bullsdrt_port_map)
AM_RANGE(0x00, 0x00) AM_WRITE(bullsdrt_sprites_bank_w)
AM_RANGE(0x20, 0x3f) AM_WRITE(bullsdrt_tilesbank_w) AM_SHARE("bullsdrt_bank")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bullsdrt_data_map, AS_DATA, 8, centiped_state )
+ADDRESS_MAP_START(centiped_state::bullsdrt_data_map)
AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_READ(bullsdrt_data_port_r) AM_DEVWRITE("snsnd", sn76496_device, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cesclass.cpp b/src/mame/drivers/cesclass.cpp
index d8481fae7ae..b6057908fc4 100644
--- a/src/mame/drivers/cesclass.cpp
+++ b/src/mame/drivers/cesclass.cpp
@@ -50,6 +50,7 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECLARE_PALETTE_INIT(cesclassic);
void cesclassic(machine_config &config);
+ void cesclassic_map(address_map &map);
protected:
// devices
@@ -124,7 +125,7 @@ WRITE16_MEMBER( cesclassic_state::outputs_w )
logerror("Output: %02x\n",data);
}
-static ADDRESS_MAP_START( cesclassic_map, AS_PROGRAM, 16, cesclassic_state )
+ADDRESS_MAP_START(cesclassic_state::cesclassic_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x400000, 0x40cfff) AM_RAM
AM_RANGE(0x40d000, 0x40ffff) AM_RAM AM_SHARE("vram")
diff --git a/src/mame/drivers/cfx9850.cpp b/src/mame/drivers/cfx9850.cpp
index 6d044ad4250..9b4ef70d57d 100644
--- a/src/mame/drivers/cfx9850.cpp
+++ b/src/mame/drivers/cfx9850.cpp
@@ -56,6 +56,7 @@ public:
u32 screen_update_cfx9850(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void cfx9850(machine_config &config);
+ void cfx9850(address_map &map);
protected:
required_ioport_array<12> m_ko_port;
required_device<cpu_device> m_maincpu;
@@ -67,7 +68,7 @@ private:
};
-static ADDRESS_MAP_START(cfx9850, AS_PROGRAM, 8, cfx9850_state)
+ADDRESS_MAP_START(cfx9850_state::cfx9850)
AM_RANGE( 0x000000, 0x007fff ) AM_ROM
AM_RANGE( 0x080000, 0x0807ff ) AM_RAM AM_SHARE("video_ram")
// AM_RANGE( 0x100000, 0x10ffff ) // some memory mapped i/o???
diff --git a/src/mame/drivers/cgc7900.cpp b/src/mame/drivers/cgc7900.cpp
index 0ce6cb67ad9..9cd622fea31 100644
--- a/src/mame/drivers/cgc7900.cpp
+++ b/src/mame/drivers/cgc7900.cpp
@@ -334,7 +334,7 @@ WRITE_LINE_MEMBER(cgc7900_state::write_rs449_clock)
ADDRESS_MAP( cgc7900_mem )
-------------------------------------------------*/
-static ADDRESS_MAP_START( cgc7900_mem, AS_PROGRAM, 16, cgc7900_state )
+ADDRESS_MAP_START(cgc7900_state::cgc7900_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x1fffff) AM_RAM AM_SHARE("chrom_ram")
AM_RANGE(0x800000, 0x80ffff) AM_ROM AM_REGION(M68000_TAG, 0)
@@ -397,7 +397,7 @@ ADDRESS_MAP_END
ADDRESS_MAP( keyboard_mem )
-------------------------------------------------*/
-static ADDRESS_MAP_START( keyboard_mem, AS_PROGRAM, 8, cgc7900_state )
+ADDRESS_MAP_START(cgc7900_state::keyboard_mem)
AM_RANGE(0x000, 0x7ff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cgenie.cpp b/src/mame/drivers/cgenie.cpp
index 38148f89f4a..d6e60b4c0b9 100644
--- a/src/mame/drivers/cgenie.cpp
+++ b/src/mame/drivers/cgenie.cpp
@@ -73,6 +73,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(rs232_dcd_w);
void cgenie(machine_config &config);
+ void cgenie_io(address_map &map);
+ void cgenie_mem(address_map &map);
protected:
virtual void machine_start() override;
@@ -106,7 +108,7 @@ private:
// ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( cgenie_mem, AS_PROGRAM, 8, cgenie_state )
+ADDRESS_MAP_START(cgenie_state::cgenie_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_ROM
// AM_RANGE(0x4000, 0xbfff) AM_RAM // set up in machine_start
@@ -117,7 +119,7 @@ static ADDRESS_MAP_START( cgenie_mem, AS_PROGRAM, 8, cgenie_state )
AM_RANGE(0xfc00, 0xffff) AM_NOP // cartridge space
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cgenie_io, AS_IO, 8, cgenie_state )
+ADDRESS_MAP_START(cgenie_state::cgenie_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xf8, 0xf8) AM_DEVWRITE("ay8910", ay8910_device, address_w)
AM_RANGE(0xf9, 0xf9) AM_DEVREADWRITE("ay8910", ay8910_device, data_r, data_w)
diff --git a/src/mame/drivers/chaknpop.cpp b/src/mame/drivers/chaknpop.cpp
index 90c9cf96d60..8cfe6edae67 100644
--- a/src/mame/drivers/chaknpop.cpp
+++ b/src/mame/drivers/chaknpop.cpp
@@ -161,7 +161,7 @@ WRITE8_MEMBER(chaknpop_state::coinlock_w)
***************************************************************************/
-static ADDRESS_MAP_START( chaknpop_map, AS_PROGRAM, 8, chaknpop_state )
+ADDRESS_MAP_START(chaknpop_state::chaknpop_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8800) AM_DEVREADWRITE("bmcu", taito68705_mcu_device, data_r, data_w)
diff --git a/src/mame/drivers/cham24.cpp b/src/mame/drivers/cham24.cpp
index 0559326ea82..d04660392a1 100644
--- a/src/mame/drivers/cham24.cpp
+++ b/src/mame/drivers/cham24.cpp
@@ -96,6 +96,7 @@ public:
void cham24_set_mirroring( int mirroring );
void ppu_irq(int *ppu_regs);
void cham24(machine_config &config);
+ void cham24_map(address_map &map);
};
@@ -221,7 +222,7 @@ WRITE8_MEMBER(cham24_state::cham24_mapper_w)
}
}
-static ADDRESS_MAP_START( cham24_map, AS_PROGRAM, 8, cham24_state )
+ADDRESS_MAP_START(cham24_state::cham24_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM /* NES RAM */
AM_RANGE(0x2000, 0x3fff) AM_DEVREADWRITE("ppu", ppu2c0x_device, read, write)
AM_RANGE(0x4014, 0x4014) AM_WRITE(sprite_dma_w)
diff --git a/src/mame/drivers/champbas.cpp b/src/mame/drivers/champbas.cpp
index 7efca7592a0..7dd44e9066a 100644
--- a/src/mame/drivers/champbas.cpp
+++ b/src/mame/drivers/champbas.cpp
@@ -181,7 +181,7 @@ READ8_MEMBER(champbas_state::champbja_protection_r)
// maincpu
// base map
-static ADDRESS_MAP_START( champbas_map, AS_PROGRAM, 8, champbas_state )
+ADDRESS_MAP_START(champbas_state::champbas_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x7000, 0x7001) AM_DEVWRITE("ay1", ay8910_device, data_address_w)
AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(tilemap_w) AM_SHARE("vram")
@@ -200,37 +200,37 @@ static ADDRESS_MAP_START( champbas_map, AS_PROGRAM, 8, champbas_state )
ADDRESS_MAP_END
// base map + ALPHA-8x0x protection
-static ADDRESS_MAP_START( champbasj_map, AS_PROGRAM, 8, champbas_state )
+ADDRESS_MAP_START(champbas_state::champbasj_map)
AM_IMPORT_FROM( champbas_map )
AM_RANGE(0x6000, 0x63ff) AM_DEVREADWRITE("alpha_8201", alpha_8201_device, ext_ram_r, ext_ram_w)
ADDRESS_MAP_END
// different protection for champbasja
-static ADDRESS_MAP_START( champbasja_map, AS_PROGRAM, 8, champbas_state )
+ADDRESS_MAP_START(champbas_state::champbasja_map)
AM_IMPORT_FROM( champbas_map )
AM_RANGE(0x6000, 0x63ff) AM_RAM
AM_RANGE(0x6800, 0x68ff) AM_READ(champbja_protection_r)
ADDRESS_MAP_END
// champbasjb appears to have no protection
-static ADDRESS_MAP_START( champbasjb_map, AS_PROGRAM, 8, champbas_state )
+ADDRESS_MAP_START(champbas_state::champbasjb_map)
AM_IMPORT_FROM( champbas_map )
AM_RANGE(0x6000, 0x63ff) AM_RAM
ADDRESS_MAP_END
// champbb2
-static ADDRESS_MAP_START( champbb2_map, AS_PROGRAM, 8, champbas_state )
+ADDRESS_MAP_START(champbas_state::champbb2_map)
AM_IMPORT_FROM( champbasj_map )
AM_RANGE(0x7800, 0x7fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tbasebal_map, AS_PROGRAM, 8, champbas_state )
+ADDRESS_MAP_START(champbas_state::tbasebal_map)
AM_IMPORT_FROM( champbas_map )
AM_RANGE(0x7800, 0x7fff) AM_ROM
ADDRESS_MAP_END
// more sprites in exctsccr
-static ADDRESS_MAP_START( exctsccr_map, AS_PROGRAM, 8, champbas_state )
+ADDRESS_MAP_START(champbas_state::exctsccr_map)
AM_IMPORT_FROM( champbasj_map )
AM_RANGE(0x7000, 0x7001) AM_UNMAP // aysnd is controlled by audiocpu
AM_RANGE(0x7c00, 0x7fff) AM_RAM
@@ -238,7 +238,7 @@ static ADDRESS_MAP_START( exctsccr_map, AS_PROGRAM, 8, champbas_state )
ADDRESS_MAP_END
// exctsccrb
-static ADDRESS_MAP_START( exctsccrb_map, AS_PROGRAM, 8, champbas_state )
+ADDRESS_MAP_START(champbas_state::exctsccrb_map)
AM_IMPORT_FROM( champbasj_map )
AM_RANGE(0xa040, 0xa04f) AM_WRITEONLY AM_SHARE("spriteram2")
ADDRESS_MAP_END
@@ -247,7 +247,7 @@ ADDRESS_MAP_END
// audiocpu
// champbas/champbb2 (note: talbot doesn't have audiocpu)
-static ADDRESS_MAP_START( champbas_sound_map, AS_PROGRAM, 8, champbas_state )
+ADDRESS_MAP_START(champbas_state::champbas_sound_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x1fff) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0x8000, 0x8000) AM_MIRROR(0x1fff) AM_WRITENOP // 4-bit return code to main CPU (not used)
@@ -257,7 +257,7 @@ static ADDRESS_MAP_START( champbas_sound_map, AS_PROGRAM, 8, champbas_state )
ADDRESS_MAP_END
// exctsccr
-static ADDRESS_MAP_START( exctsccr_sound_map, AS_PROGRAM, 8, champbas_state )
+ADDRESS_MAP_START(champbas_state::exctsccr_sound_map)
AM_RANGE(0x0000, 0x8fff) AM_ROM
AM_RANGE(0xa000, 0xa7ff) AM_RAM
AM_RANGE(0xc008, 0xc008) AM_DEVWRITE("dac1", dac_byte_interface, write)
@@ -267,7 +267,7 @@ static ADDRESS_MAP_START( exctsccr_sound_map, AS_PROGRAM, 8, champbas_state )
// AM_RANGE(0xc00f, 0xc00f) AM_WRITENOP // ?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( exctsccr_sound_io_map, AS_IO, 8, champbas_state )
+ADDRESS_MAP_START(champbas_state::exctsccr_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK( 0x00ff )
AM_RANGE(0x82, 0x83) AM_DEVWRITE("ay1", ay8910_device, data_address_w)
AM_RANGE(0x86, 0x87) AM_DEVWRITE("ay2", ay8910_device, data_address_w)
diff --git a/src/mame/drivers/champbwl.cpp b/src/mame/drivers/champbwl.cpp
index af758226bdf..a2276aed0c6 100644
--- a/src/mame/drivers/champbwl.cpp
+++ b/src/mame/drivers/champbwl.cpp
@@ -200,6 +200,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(screen_vblank_doraemon);
void champbwl(machine_config &config);
void doraemon(machine_config &config);
+ void champbwl_map(address_map &map);
+ void doraemon(address_map &map);
};
PALETTE_INIT_MEMBER(champbwl_state,champbwl)
@@ -247,7 +249,7 @@ WRITE8_MEMBER(champbwl_state::champbwl_misc_w)
membank("bank1")->set_entry((data & 0x30) >> 4);
}
-static ADDRESS_MAP_START( champbwl_map, AS_PROGRAM, 8, champbwl_state )
+ADDRESS_MAP_START(champbwl_state::champbwl_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM AM_REGION("maincpu", 0x10000)
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("nvram")
@@ -286,7 +288,7 @@ WRITE8_MEMBER(champbwl_state::doraemon_outputs_w)
// popmessage("%02x", data);
}
-static ADDRESS_MAP_START( doraemon, AS_PROGRAM, 8, champbwl_state )
+ADDRESS_MAP_START(champbwl_state::doraemon)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("nvram")
diff --git a/src/mame/drivers/chanbara.cpp b/src/mame/drivers/chanbara.cpp
index 3e7797e67ca..4d26a4765cd 100644
--- a/src/mame/drivers/chanbara.cpp
+++ b/src/mame/drivers/chanbara.cpp
@@ -105,6 +105,7 @@ public:
uint32_t screen_update_chanbara(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
void chanbara(machine_config &config);
+ void chanbara_map(address_map &map);
};
@@ -227,7 +228,7 @@ uint32_t chanbara_state::screen_update_chanbara(screen_device &screen, bitmap_in
/***************************************************************************/
-static ADDRESS_MAP_START( chanbara_map, AS_PROGRAM, 8, chanbara_state )
+ADDRESS_MAP_START(chanbara_state::chanbara_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(chanbara_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(chanbara_colorram_w) AM_SHARE("colorram")
diff --git a/src/mame/drivers/chance32.cpp b/src/mame/drivers/chance32.cpp
index 4d173e469e6..5acc9825643 100644
--- a/src/mame/drivers/chance32.cpp
+++ b/src/mame/drivers/chance32.cpp
@@ -70,6 +70,8 @@ public:
required_device<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
void chance32(machine_config &config);
+ void chance32_map(address_map &map);
+ void chance32_portmap(address_map &map);
};
@@ -197,7 +199,7 @@ WRITE8_MEMBER(chance32_state::muxout_w)
}
-static ADDRESS_MAP_START( chance32_map, AS_PROGRAM, 8, chance32_state )
+ADDRESS_MAP_START(chance32_state::chance32_map)
AM_RANGE(0x0000, 0xcfff) AM_ROM
AM_RANGE(0xd800, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xefff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
@@ -205,7 +207,7 @@ static ADDRESS_MAP_START( chance32_map, AS_PROGRAM, 8, chance32_state )
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(chance32_bgram_w) AM_SHARE("bgram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( chance32_portmap, AS_IO, 8, chance32_state )
+ADDRESS_MAP_START(chance32_state::chance32_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x10) AM_WRITENOP // writing bit3 constantly... watchdog?
AM_RANGE(0x13, 0x13) AM_WRITE(mux_w)
diff --git a/src/mame/drivers/changela.cpp b/src/mame/drivers/changela.cpp
index d15a8431c58..9cb21e91572 100644
--- a/src/mame/drivers/changela.cpp
+++ b/src/mame/drivers/changela.cpp
@@ -159,7 +159,7 @@ WRITE_LINE_MEMBER(changela_state::coin_counter_2_w)
}
-static ADDRESS_MAP_START( changela_map, AS_PROGRAM, 8, changela_state )
+ADDRESS_MAP_START(changela_state::changela_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM AM_SHARE("spriteram") /* OBJ0 RAM */
AM_RANGE(0x9000, 0x97ff) AM_RAM AM_SHARE("videoram") /* OBJ1 RAM */
diff --git a/src/mame/drivers/channelf.cpp b/src/mame/drivers/channelf.cpp
index e6450caeae0..021b007db99 100644
--- a/src/mame/drivers/channelf.cpp
+++ b/src/mame/drivers/channelf.cpp
@@ -119,12 +119,12 @@ WRITE8_MEMBER( channelf_state::port_5_w )
m_row_reg = (data | 0xc0) ^ 0xff;
}
-static ADDRESS_MAP_START( channelf_map, AS_PROGRAM, 8, channelf_state )
+ADDRESS_MAP_START(channelf_state::channelf_map)
AM_RANGE(0x0000, 0x07ff) AM_ROM
AM_RANGE(0x0800, 0xffff) AM_DEVREAD("cartslot", channelf_cart_slot_device, read_rom)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( channelf_io, AS_IO, 8, channelf_state )
+ADDRESS_MAP_START(channelf_state::channelf_io)
AM_RANGE(0x00, 0x00) AM_READWRITE(port_0_r, port_0_w) /* Front panel switches */
AM_RANGE(0x01, 0x01) AM_READWRITE(port_1_r, port_1_w) /* Right controller */
AM_RANGE(0x04, 0x04) AM_READWRITE(port_4_r, port_4_w) /* Left controller */
diff --git a/src/mame/drivers/chaos.cpp b/src/mame/drivers/chaos.cpp
index 40c3606c972..a4944306929 100644
--- a/src/mame/drivers/chaos.cpp
+++ b/src/mame/drivers/chaos.cpp
@@ -52,6 +52,9 @@ public:
DECLARE_READ8_MEMBER(port91_r);
void kbd_put(u8 data);
void chaos(machine_config &config);
+ void data_map(address_map &map);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
uint8_t m_term_data;
virtual void machine_reset() override;
@@ -61,12 +64,12 @@ private:
};
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, chaos_state )
+ADDRESS_MAP_START(chaos_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_RAM AM_SHARE("ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, chaos_state )
+ADDRESS_MAP_START(chaos_state::io_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x1e, 0x1e) AM_READ(port1e_r)
AM_RANGE(0x1f, 0x1f) AM_READWRITE(port90_r, port1f_w)
@@ -75,7 +78,7 @@ static ADDRESS_MAP_START( io_map, AS_IO, 8, chaos_state )
AM_RANGE(0x92, 0x92) AM_DEVWRITE("terminal", generic_terminal_device, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( data_map, AS_DATA, 8, chaos_state )
+ADDRESS_MAP_START(chaos_state::data_map)
AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_NOP // stops error log filling up while using debug
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cheekyms.cpp b/src/mame/drivers/cheekyms.cpp
index db61352b75a..34bbc522c48 100644
--- a/src/mame/drivers/cheekyms.cpp
+++ b/src/mame/drivers/cheekyms.cpp
@@ -20,13 +20,13 @@ INPUT_CHANGED_MEMBER(cheekyms_state::coin_inserted)
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, cheekyms_state )
+ADDRESS_MAP_START(cheekyms_state::main_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x3000, 0x33ff) AM_RAM
AM_RANGE(0x3800, 0x3bff) AM_RAM AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, cheekyms_state )
+ADDRESS_MAP_START(cheekyms_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW")
AM_RANGE(0x01, 0x01) AM_READ_PORT("INPUTS")
diff --git a/src/mame/drivers/chessmst.cpp b/src/mame/drivers/chessmst.cpp
index 7cdf1eb27c5..b3428ee6826 100644
--- a/src/mame/drivers/chessmst.cpp
+++ b/src/mame/drivers/chessmst.cpp
@@ -68,26 +68,30 @@ public:
void chessmst(machine_config &config);
void chessmsta(machine_config &config);
void chessmstdm(machine_config &config);
+ void chessmst_io(address_map &map);
+ void chessmst_mem(address_map &map);
+ void chessmstdm(address_map &map);
+ void chessmstdm_io(address_map &map);
private:
void update_display();
};
-static ADDRESS_MAP_START(chessmst_mem, AS_PROGRAM, 8, chessmst_state)
+ADDRESS_MAP_START(chessmst_state::chessmst_mem)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x7fff) // A15 not connected
AM_RANGE( 0x0000, 0x27ff ) AM_ROM
AM_RANGE( 0x3400, 0x3bff ) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(chessmstdm, AS_PROGRAM, 8, chessmst_state)
+ADDRESS_MAP_START(chessmst_state::chessmstdm)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x3fff ) AM_ROM
AM_RANGE( 0x4000, 0x7fff ) AM_DEVREAD("cartslot", generic_slot_device, read_rom)
AM_RANGE( 0x8000, 0x8bff ) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( chessmst_io , AS_IO, 8, chessmst_state)
+ADDRESS_MAP_START(chessmst_state::chessmst_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
//AM_RANGE(0x00, 0x03) AM_MIRROR(0xf0) read/write in both, not used by the software
@@ -95,7 +99,7 @@ static ADDRESS_MAP_START( chessmst_io , AS_IO, 8, chessmst_state)
AM_RANGE(0x08, 0x0b) AM_MIRROR(0xf0) AM_DEVREADWRITE("z80pio2", z80pio_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( chessmstdm_io , AS_IO, 8, chessmst_state)
+ADDRESS_MAP_START(chessmst_state::chessmstdm_io)
AM_IMPORT_FROM(chessmst_io)
AM_RANGE(0x4c, 0x4c) AM_WRITE(digits_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/chesstrv.cpp b/src/mame/drivers/chesstrv.cpp
index 26e8fe42307..96cde372f43 100644
--- a/src/mame/drivers/chesstrv.cpp
+++ b/src/mame/drivers/chesstrv.cpp
@@ -42,6 +42,9 @@ public:
required_device<cpu_device> m_maincpu;
void chesstrv(machine_config &config);
void borisdpl(machine_config &config);
+ void borisdpl_io(address_map &map);
+ void chesstrv_io(address_map &map);
+ void chesstrv_mem(address_map &map);
};
WRITE8_MEMBER( chesstrv_state::ram_addr_w )
@@ -120,20 +123,20 @@ READ8_MEMBER( chesstrv_state::diplomat_keypad_r )
}
-static ADDRESS_MAP_START( chesstrv_mem, AS_PROGRAM, 8, chesstrv_state )
+ADDRESS_MAP_START(chesstrv_state::chesstrv_mem)
ADDRESS_MAP_GLOBAL_MASK(0x7ff)
AM_RANGE( 0x0000, 0x07ff ) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( chesstrv_io, AS_IO, 8, chesstrv_state )
+ADDRESS_MAP_START(chesstrv_state::chesstrv_io)
AM_RANGE( 0x00, 0x00 ) AM_READWRITE( ram_addr_r, ram_addr_w )
AM_RANGE( 0x01, 0x01 ) AM_WRITE( display_w )
AM_RANGE( 0x04, 0x04 ) AM_READWRITE( ram_r, ram_w )
AM_RANGE( 0x05, 0x05 ) AM_READWRITE( keypad_r, matrix_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( borisdpl_io, AS_IO, 8, chesstrv_state )
+ADDRESS_MAP_START(chesstrv_state::borisdpl_io)
AM_RANGE( 0x00, 0x00 ) AM_READWRITE( diplomat_keypad_r, matrix_w )
AM_RANGE( 0x01, 0x01 ) AM_WRITE( diplomat_display_w )
AM_RANGE( 0x04, 0x04 ) AM_READWRITE( ram_r, ram_w )
diff --git a/src/mame/drivers/chexx.cpp b/src/mame/drivers/chexx.cpp
index b3ba9ef0659..1bf1bedc4e5 100644
--- a/src/mame/drivers/chexx.cpp
+++ b/src/mame/drivers/chexx.cpp
@@ -81,6 +81,8 @@ public:
virtual void machine_reset() override;
void faceoffh(machine_config &config);
void chexx83(machine_config &config);
+ void chexx83_map(address_map &map);
+ void faceoffh_map(address_map &map);
};
@@ -172,7 +174,7 @@ READ8_MEMBER(chexx_state::input_r)
// Chexx Memory Map
-static ADDRESS_MAP_START( chexx83_map, AS_PROGRAM, 8, chexx_state )
+ADDRESS_MAP_START(chexx_state::chexx83_map)
AM_RANGE(0x0000, 0x007f) AM_RAM AM_MIRROR(0x100) // 6810 - 128 x 8 static RAM
AM_RANGE(0x4000, 0x400f) AM_DEVREADWRITE("via6522", via6522_device, read, write)
AM_RANGE(0x8000, 0x8000) AM_READ(input_r)
@@ -209,7 +211,7 @@ WRITE8_MEMBER(chexx_state::ay_w)
m_ay_cmd = data;
}
-static ADDRESS_MAP_START( faceoffh_map, AS_PROGRAM, 8, chexx_state )
+ADDRESS_MAP_START(chexx_state::faceoffh_map)
AM_RANGE(0x0000, 0x007f) AM_RAM AM_MIRROR(0x100) // M58725P - 2KB
AM_RANGE(0x4000, 0x400f) AM_DEVREADWRITE("via6522", via6522_device, read, write)
AM_RANGE(0x8000, 0x8000) AM_READ(input_r)
diff --git a/src/mame/drivers/chihiro.cpp b/src/mame/drivers/chihiro.cpp
index e1a34c35533..04dc8159907 100644
--- a/src/mame/drivers/chihiro.cpp
+++ b/src/mame/drivers/chihiro.cpp
@@ -593,6 +593,8 @@ public:
static void an2131sc_configuration(device_t *device);
void chihirogd(machine_config &config);
void chihiro_base(machine_config &config);
+ void chihiro_map(address_map &map);
+ void chihiro_map_io(address_map &map);
private:
void jamtable_disasm(address_space &space, uint32_t address, uint32_t size);
void jamtable_disasm_command(int ref, const std::vector<std::string> &params);
@@ -1698,12 +1700,12 @@ WRITE32_MEMBER(chihiro_state::mediaboard_w)
xbox_base_devs.pic8259_2->ir2_w(0);
}
-static ADDRESS_MAP_START(chihiro_map, AS_PROGRAM, 32, chihiro_state)
+ADDRESS_MAP_START(chihiro_state::chihiro_map)
AM_IMPORT_FROM(xbox_base_map)
AM_RANGE(0xff000000, 0xff07ffff) AM_ROM AM_REGION("bios", 0) AM_MIRROR(0x00f80000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(chihiro_map_io, AS_IO, 32, chihiro_state)
+ADDRESS_MAP_START(chihiro_state::chihiro_map_io)
AM_IMPORT_FROM(xbox_base_map_io)
AM_RANGE(0x4000, 0x40ff) AM_READWRITE(mediaboard_r, mediaboard_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/chinagat.cpp b/src/mame/drivers/chinagat.cpp
index 55596346052..f1bfc6cd1a5 100644
--- a/src/mame/drivers/chinagat.cpp
+++ b/src/mame/drivers/chinagat.cpp
@@ -114,6 +114,12 @@ public:
void saiyugoub2(machine_config &config);
void saiyugoub1(machine_config &config);
void chinagat(machine_config &config);
+ void i8748_map(address_map &map);
+ void main_map(address_map &map);
+ void saiyugoub1_sound_map(address_map &map);
+ void sound_map(address_map &map);
+ void sub_map(address_map &map);
+ void ym2203c_sound_map(address_map &map);
};
@@ -328,7 +334,7 @@ WRITE_LINE_MEMBER(chinagat_state::saiyugoub1_m5205_irq_w)
m_adpcm_sound_irq = 1;
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, chinagat_state )
+ADDRESS_MAP_START(chinagat_state::main_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(ddragon_fgvideoram_w) AM_SHARE("fgvideoram")
AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(ddragon_bgvideoram_w) AM_SHARE("bgvideoram")
@@ -349,7 +355,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, chinagat_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 8, chinagat_state )
+ADDRESS_MAP_START(chinagat_state::sub_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x2000, 0x2000) AM_WRITE(sub_bankswitch_w)
AM_RANGE(0x2800, 0x2800) AM_WRITE(sub_irq_ack_w) /* Called on CPU start and after return from jump table */
@@ -359,7 +365,7 @@ static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 8, chinagat_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, chinagat_state )
+ADDRESS_MAP_START(chinagat_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
@@ -367,7 +373,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, chinagat_state )
AM_RANGE(0xA000, 0xA000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ym2203c_sound_map, AS_PROGRAM, 8, chinagat_state )
+ADDRESS_MAP_START(chinagat_state::ym2203c_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
// 8804 and/or 8805 make a gong sound when the coin goes in
@@ -385,7 +391,7 @@ static ADDRESS_MAP_START( ym2203c_sound_map, AS_PROGRAM, 8, chinagat_state )
AM_RANGE(0xA000, 0xA000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( saiyugoub1_sound_map, AS_PROGRAM, 8, chinagat_state )
+ADDRESS_MAP_START(chinagat_state::saiyugoub1_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
@@ -393,7 +399,7 @@ static ADDRESS_MAP_START( saiyugoub1_sound_map, AS_PROGRAM, 8, chinagat_state )
AM_RANGE(0xA000, 0xA000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( i8748_map, AS_PROGRAM, 8, chinagat_state )
+ADDRESS_MAP_START(chinagat_state::i8748_map)
AM_RANGE(0x0000, 0x03ff) AM_ROM
AM_RANGE(0x0400, 0x07ff) AM_ROM /* i8749 version */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/chinsan.cpp b/src/mame/drivers/chinsan.cpp
index 5887737171c..b52e71a6411 100644
--- a/src/mame/drivers/chinsan.cpp
+++ b/src/mame/drivers/chinsan.cpp
@@ -68,6 +68,10 @@ public:
void chinsan(machine_config &config);
void mayumi(machine_config &config);
+ void chinsan_io_map(address_map &map);
+ void chinsan_map(address_map &map);
+ void decrypted_opcodes_map(address_map &map);
+ void mayumi_io_map(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -101,7 +105,7 @@ private:
// ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( chinsan_map, AS_PROGRAM, 8, chinsan_state )
+ADDRESS_MAP_START(chinsan_state::chinsan_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xdfff) AM_RAM AM_SHARE("nvram")
@@ -109,12 +113,12 @@ static ADDRESS_MAP_START( chinsan_map, AS_PROGRAM, 8, chinsan_state )
AM_RANGE(0xf000, 0xf7ff) AM_RAM AM_SHARE("color_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, chinsan_state )
+ADDRESS_MAP_START(chinsan_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0x7fff) AM_ROMBANK("bank0d")
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1d")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( chinsan_io_map, AS_IO, 8, chinsan_state )
+ADDRESS_MAP_START(chinsan_state::chinsan_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ppi", i8255_device, read, write)
AM_RANGE(0x10, 0x11) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
@@ -122,7 +126,7 @@ static ADDRESS_MAP_START( chinsan_io_map, AS_IO, 8, chinsan_state )
AM_RANGE(0x30, 0x30) AM_WRITE(ctrl_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mayumi_io_map, AS_IO, 8, chinsan_state )
+ADDRESS_MAP_START(chinsan_state::mayumi_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x30, 0x30) AM_READ_PORT("extra") AM_WRITE(ctrl_w)
AM_RANGE(0xc0, 0xc3) AM_DEVREADWRITE("ppi", i8255_device, read, write)
@@ -501,7 +505,7 @@ MACHINE_CONFIG_START(chinsan_state::chinsan)
MCFG_CPU_ADD("maincpu", MC8123, XTAL(10'000'000)/2) // 317-5012
MCFG_CPU_PROGRAM_MAP(chinsan_map)
MCFG_CPU_IO_MAP(chinsan_io_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", chinsan_state, vblank_int)
MCFG_NVRAM_ADD_0FILL("nvram")
diff --git a/src/mame/drivers/chqflag.cpp b/src/mame/drivers/chqflag.cpp
index eeabb427ced..2f644db3291 100644
--- a/src/mame/drivers/chqflag.cpp
+++ b/src/mame/drivers/chqflag.cpp
@@ -138,7 +138,7 @@ WRITE8_MEMBER(chqflag_state::chqflag_sh_irqtrigger_w)
/****************************************************************************/
-static ADDRESS_MAP_START( chqflag_map, AS_PROGRAM, 8, chqflag_state )
+ADDRESS_MAP_START(chqflag_state::chqflag_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x1fff) AM_DEVICE("bank1000", address_map_bank_device, amap8)
AM_RANGE(0x2000, 0x2007) AM_DEVREADWRITE("k051960", k051960_device, k051937_r, k051937_w) /* Sprite control registers */
@@ -163,7 +163,7 @@ static ADDRESS_MAP_START( chqflag_map, AS_PROGRAM, 8, chqflag_state )
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("maincpu", 0x48000) /* ROM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bank1000_map, AS_PROGRAM, 8, chqflag_state )
+ADDRESS_MAP_START(chqflag_state::bank1000_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x17ff) AM_READ(k051316_1_ramrom_r) AM_DEVWRITE("k051316_1", k051316_device, write)
AM_RANGE(0x1800, 0x1fff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
@@ -185,7 +185,7 @@ WRITE8_MEMBER(chqflag_state::k007232_bankswitch_w)
m_k007232_2->set_bank(bank_A, bank_B);
}
-static ADDRESS_MAP_START( chqflag_sound_map, AS_PROGRAM, 8, chqflag_state )
+ADDRESS_MAP_START(chqflag_state::chqflag_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM /* ROM */
AM_RANGE(0x8000, 0x87ff) AM_RAM /* RAM */
AM_RANGE(0x9000, 0x9000) AM_WRITE(k007232_bankswitch_w) /* 007232 bankswitch */
diff --git a/src/mame/drivers/chsuper.cpp b/src/mame/drivers/chsuper.cpp
index 75460f747e0..8c3f2b89418 100644
--- a/src/mame/drivers/chsuper.cpp
+++ b/src/mame/drivers/chsuper.cpp
@@ -56,6 +56,9 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void chsuper(machine_config &config);
+ void chsuper_portmap(address_map &map);
+ void chsuper_prg_map(address_map &map);
+ void ramdac_map(address_map &map);
protected:
// driver_device overrides
//virtual void machine_start();
@@ -203,7 +206,7 @@ WRITE8_MEMBER( chsuper_state::chsuper_outportb_w ) // Port EFh
* Memory Map handlers *
***************************/
-static ADDRESS_MAP_START( chsuper_prg_map, AS_PROGRAM, 8, chsuper_state )
+ADDRESS_MAP_START(chsuper_state::chsuper_prg_map)
AM_RANGE(0x00000, 0x0efff) AM_ROM
AM_RANGE(0x00000, 0x01fff) AM_WRITE( chsuper_vram_w )
AM_RANGE(0x0f000, 0x0ffff) AM_RAM AM_REGION("maincpu", 0xf000)
@@ -212,7 +215,7 @@ ADDRESS_MAP_END
// AM_RANGE(0xaff8, 0xaff8) AM_DEVWRITE_MODERN("oki", okim6295_device, write)
-static ADDRESS_MAP_START( chsuper_portmap, AS_IO, 8, chsuper_state )
+ADDRESS_MAP_START(chsuper_state::chsuper_portmap)
AM_RANGE( 0x0000, 0x003f ) AM_RAM // Z180 internal regs
AM_RANGE( 0x00e8, 0x00e8 ) AM_READ_PORT("IN0")
AM_RANGE( 0x00e9, 0x00e9 ) AM_READ_PORT("IN1")
@@ -343,7 +346,7 @@ static GFXDECODE_START( chsuper )
GFXDECODE_ENTRY( "gfx1", 0x00000, charlayout, 0, 1 )
GFXDECODE_END
-static ADDRESS_MAP_START( ramdac_map, 0, 8, chsuper_state )
+ADDRESS_MAP_START(chsuper_state::ramdac_map)
AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac",ramdac_device,ramdac_pal_r,ramdac_rgb666_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cidelsa.cpp b/src/mame/drivers/cidelsa.cpp
index d41c0579f13..a1ea66882db 100644
--- a/src/mame/drivers/cidelsa.cpp
+++ b/src/mame/drivers/cidelsa.cpp
@@ -141,21 +141,21 @@ WRITE8_MEMBER( draco_state::out1_w )
// Destroyer
-static ADDRESS_MAP_START( destryer_map, AS_PROGRAM, 8, cidelsa_state )
+ADDRESS_MAP_START(cidelsa_state::destryer_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x20ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xf400, 0xf7ff) AM_DEVICE(CDP1869_TAG, cdp1869_device, char_map)
AM_RANGE(0xf800, 0xffff) AM_DEVICE(CDP1869_TAG, cdp1869_device, page_map)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( destryera_map, AS_PROGRAM, 8, cidelsa_state )
+ADDRESS_MAP_START(cidelsa_state::destryera_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x3000, 0x30ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xf400, 0xf7ff) AM_DEVICE(CDP1869_TAG, cdp1869_device, char_map)
AM_RANGE(0xf800, 0xffff) AM_DEVICE(CDP1869_TAG, cdp1869_device, page_map)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( destryer_io_map, AS_IO, 8, cidelsa_state )
+ADDRESS_MAP_START(cidelsa_state::destryer_io_map)
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN0") AM_WRITE(destryer_out1_w)
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN1")
AM_RANGE(0x03, 0x07) AM_WRITE(cdp1869_w)
@@ -163,14 +163,14 @@ ADDRESS_MAP_END
// Altair
-static ADDRESS_MAP_START( altair_map, AS_PROGRAM, 8, cidelsa_state )
+ADDRESS_MAP_START(cidelsa_state::altair_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x3000, 0x30ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xf400, 0xf7ff) AM_DEVICE(CDP1869_TAG, cdp1869_device, char_map)
AM_RANGE(0xf800, 0xffff) AM_DEVICE(CDP1869_TAG, cdp1869_device, page_map)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( altair_io_map, AS_IO, 8, cidelsa_state )
+ADDRESS_MAP_START(cidelsa_state::altair_io_map)
AM_RANGE(0x01, 0x01) AM_DEVREAD("ic23", cdp1852_device, read) AM_DEVWRITE("ic26", cdp1852_device, write)
AM_RANGE(0x02, 0x02) AM_DEVREAD("ic24", cdp1852_device, read)
AM_RANGE(0x04, 0x04) AM_DEVREAD("ic25", cdp1852_device, read)
@@ -179,21 +179,21 @@ ADDRESS_MAP_END
// Draco
-static ADDRESS_MAP_START( draco_map, AS_PROGRAM, 8, draco_state )
+ADDRESS_MAP_START(draco_state::draco_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xf400, 0xf7ff) AM_DEVICE(CDP1869_TAG, cdp1869_device, char_map)
AM_RANGE(0xf800, 0xffff) AM_DEVICE(CDP1869_TAG, cdp1869_device, page_map)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( draco_io_map, AS_IO, 8, draco_state )
+ADDRESS_MAP_START(draco_state::draco_io_map)
AM_RANGE(0x01, 0x01) AM_DEVREAD("ic29", cdp1852_device, read) AM_DEVWRITE("ic32", cdp1852_device, write)
AM_RANGE(0x02, 0x02) AM_DEVREAD("ic30", cdp1852_device, read)
AM_RANGE(0x04, 0x04) AM_DEVREAD("ic31", cdp1852_device, read)
AM_RANGE(0x03, 0x07) AM_WRITE(cdp1869_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( draco_sound_map, AS_PROGRAM, 8, draco_state )
+ADDRESS_MAP_START(draco_state::draco_sound_map)
AM_RANGE(0x000, 0x3ff) AM_ROMBANK("bank1")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cinemat.cpp b/src/mame/drivers/cinemat.cpp
index 3f32e39de7a..10056f88fde 100644
--- a/src/mame/drivers/cinemat.cpp
+++ b/src/mame/drivers/cinemat.cpp
@@ -283,38 +283,38 @@ WRITE8_MEMBER(cinemat_state::qb3_ram_bank_w)
*
*************************************/
-static ADDRESS_MAP_START( program_map_4k, AS_PROGRAM, 8, cinemat_state )
+ADDRESS_MAP_START(cinemat_state::program_map_4k)
ADDRESS_MAP_GLOBAL_MASK(0xfff)
AM_RANGE(0x0000, 0x0fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( program_map_8k, AS_PROGRAM, 8, cinemat_state )
+ADDRESS_MAP_START(cinemat_state::program_map_8k)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x0fff) AM_MIRROR(0x1000) AM_ROM
AM_RANGE(0x2000, 0x2fff) AM_MIRROR(0x1000) AM_ROM AM_REGION("maincpu", 0x1000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( program_map_16k, AS_PROGRAM, 8, cinemat_state )
+ADDRESS_MAP_START(cinemat_state::program_map_16k)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x3fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( program_map_32k, AS_PROGRAM, 8, cinemat_state )
+ADDRESS_MAP_START(cinemat_state::program_map_32k)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x7fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( data_map, AS_DATA, 16, cinemat_state )
+ADDRESS_MAP_START(cinemat_state::data_map)
AM_RANGE(0x0000, 0x00ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( data_map_qb3, AS_DATA, 16, cinemat_state )
+ADDRESS_MAP_START(cinemat_state::data_map_qb3)
AM_RANGE(0x0000, 0x03ff) AM_RAMBANK("bank1") AM_SHARE("rambase")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, cinemat_state )
+ADDRESS_MAP_START(cinemat_state::io_map)
AM_RANGE(0x00, 0x0f) AM_READ(inputs_r)
AM_RANGE(0x10, 0x16) AM_READ(switches_r)
AM_RANGE(0x17, 0x17) AM_READ(coin_input_r)
@@ -322,7 +322,7 @@ static ADDRESS_MAP_START( io_map, AS_IO, 8, cinemat_state )
AM_RANGE(0x00, 0x07) AM_DEVWRITE("outlatch", ls259_device, write_d0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map_qb3, AS_IO, 8, cinemat_state )
+ADDRESS_MAP_START(cinemat_state::io_map_qb3)
AM_IMPORT_FROM(io_map)
// Some of the outputs here are definitely not mapped through the LS259, since they use multiple bits of data
AM_RANGE(0x00, 0x00) AM_WRITE(qb3_ram_bank_w)
diff --git a/src/mame/drivers/circus.cpp b/src/mame/drivers/circus.cpp
index 6898f800141..764631bfbac 100644
--- a/src/mame/drivers/circus.cpp
+++ b/src/mame/drivers/circus.cpp
@@ -63,7 +63,7 @@ READ8_MEMBER(circus_state::circus_paddle_r)
return ioport("PADDLE")->read();
}
-static ADDRESS_MAP_START( circus_map, AS_PROGRAM, 8, circus_state )
+ADDRESS_MAP_START(circus_state::circus_map)
AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x1000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x2000) AM_WRITE(circus_clown_x_w)
diff --git a/src/mame/drivers/circusc.cpp b/src/mame/drivers/circusc.cpp
index 4b62f39ef6d..85dc634d72c 100644
--- a/src/mame/drivers/circusc.cpp
+++ b/src/mame/drivers/circusc.cpp
@@ -152,7 +152,7 @@ WRITE_LINE_MEMBER(circusc_state::irq_mask_w)
m_maincpu->set_input_line(M6809_IRQ_LINE, CLEAR_LINE);
}
-static ADDRESS_MAP_START( circusc_map, AS_PROGRAM, 8, circusc_state )
+ADDRESS_MAP_START(circusc_state::circusc_map)
AM_RANGE(0x0000, 0x0007) AM_MIRROR(0x03f8) AM_DEVWRITE("mainlatch", ls259_device, write_d0)
AM_RANGE(0x0400, 0x0400) AM_MIRROR(0x03ff) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w) /* WDOG */
AM_RANGE(0x0800, 0x0800) AM_MIRROR(0x03ff) AM_DEVWRITE("soundlatch", generic_latch_8_device, write) /* SOUND DATA */
@@ -173,7 +173,7 @@ static ADDRESS_MAP_START( circusc_map, AS_PROGRAM, 8, circusc_state )
AM_RANGE(0x6000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, circusc_state )
+ADDRESS_MAP_START(circusc_state::sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x1c00) AM_RAM
AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x1fff) AM_DEVREAD("soundlatch", generic_latch_8_device, read) /* CS0 */
diff --git a/src/mame/drivers/cischeat.cpp b/src/mame/drivers/cischeat.cpp
index 85d8b997c13..72023762d6f 100644
--- a/src/mame/drivers/cischeat.cpp
+++ b/src/mame/drivers/cischeat.cpp
@@ -196,7 +196,7 @@ Cisco Heat.
**************************************************************************/
-static ADDRESS_MAP_START( bigrun_map, AS_PROGRAM, 16, cischeat_state )
+ADDRESS_MAP_START(cischeat_state::bigrun_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("IN1") AM_WRITE(leds_out_w) // Coins
AM_RANGE(0x080002, 0x080003) AM_READ_PORT("IN2") AM_WRITE(unknown_out_w) // Buttons
@@ -250,7 +250,7 @@ ADDRESS_MAP_END
bec00-befff < text */
-static ADDRESS_MAP_START( cischeat_map, AS_PROGRAM, 16, cischeat_state )
+ADDRESS_MAP_START(cischeat_state::cischeat_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("IN1") AM_WRITE(leds_out_w) // Coins
AM_RANGE(0x080002, 0x080003) AM_READ_PORT("IN2") AM_WRITE(unknown_out_w) // Buttons
@@ -312,7 +312,7 @@ CPU #0 PC 002350 : Warning, vreg 0002 <- 0000
CPU #0 PC 00235C : Warning, vreg 0006 <- 0000
*/
-static ADDRESS_MAP_START( f1gpstar_map, AS_PROGRAM, 16, cischeat_state )
+ADDRESS_MAP_START(cischeat_state::f1gpstar_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("IN1") // DSW 1 & 2
AM_RANGE(0x080004, 0x080005) AM_READ_PORT("IN2") AM_WRITE(f1gpstar_motor_w) // Buttons
@@ -386,7 +386,7 @@ WRITE16_MEMBER(cischeat_state::wildplt_mux_w)
// Same as f1gpstar, but vregs are slightly different:
-static ADDRESS_MAP_START( wildplt_map, AS_PROGRAM, 16, cischeat_state )
+ADDRESS_MAP_START(cischeat_state::wildplt_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("IN0") AM_WRITE(f1gpstr2_io_w) // DSW 1 & 2
AM_RANGE(0x080004, 0x080005) AM_READ(wildplt_mux_r) AM_WRITE(wildplt_mux_w) // Buttons
@@ -429,7 +429,7 @@ ADDRESS_MAP_END
**************************************************************************/
// Same as f1gpstar, but vregs are slightly different:
-static ADDRESS_MAP_START( f1gpstr2_map, AS_PROGRAM, 16, cischeat_state )
+ADDRESS_MAP_START(cischeat_state::f1gpstr2_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("IN1") AM_WRITE(f1gpstr2_io_w) // DSW 1 & 2
AM_RANGE(0x080004, 0x080005) AM_READ_PORT("IN2") AM_WRITE(f1gpstar_motor_w) // Buttons
@@ -570,7 +570,7 @@ WRITE16_MEMBER(cischeat_state::scudhamm_oki_bank_w)
}
}
-static ADDRESS_MAP_START( scudhamm_map, AS_PROGRAM, 16, cischeat_state )
+ADDRESS_MAP_START(cischeat_state::scudhamm_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x082000, 0x082005) AM_DEVWRITE("scroll0", megasys1_tilemap_device, scroll_w)
AM_RANGE(0x082008, 0x08200d) AM_WRITENOP // UNUSED LAYER
@@ -654,7 +654,7 @@ WRITE16_MEMBER(cischeat_state::armchmp2_leds_w)
}
}
-static ADDRESS_MAP_START( armchmp2_map, AS_PROGRAM, 16, cischeat_state )
+ADDRESS_MAP_START(cischeat_state::armchmp2_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x082000, 0x082005) AM_DEVWRITE("scroll0", megasys1_tilemap_device, scroll_w)
AM_RANGE(0x082008, 0x08200d) AM_WRITENOP // UNUSED LAYER
@@ -798,7 +798,7 @@ CUSTOM_INPUT_MEMBER(cischeat_state::captflag_motor_busy_r)
return 0;
}
-static ADDRESS_MAP_START( captflag_map, AS_PROGRAM, 16, cischeat_state )
+ADDRESS_MAP_START(cischeat_state::captflag_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x082000, 0x082005) AM_DEVWRITE("scroll0", megasys1_tilemap_device, scroll_w)
AM_RANGE(0x082008, 0x08200d) AM_WRITENOP // UNUSED LAYER
@@ -820,12 +820,12 @@ static ADDRESS_MAP_START( captflag_map, AS_PROGRAM, 16, cischeat_state )
AM_RANGE(0x100060, 0x10007d) AM_RAM // 7-seg? NVRAM?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( captflag_oki1_map, 0, 8, cischeat_state )
+ADDRESS_MAP_START(cischeat_state::captflag_oki1_map)
AM_RANGE(0x00000, 0x1ffff) AM_ROM
AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK("oki1_bank")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( captflag_oki2_map, 0, 8, cischeat_state )
+ADDRESS_MAP_START(cischeat_state::captflag_oki2_map)
AM_RANGE(0x00000, 0x1ffff) AM_ROM
AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK("oki2_bank")
ADDRESS_MAP_END
@@ -843,14 +843,14 @@ ADDRESS_MAP_END
Big Run
**************************************************************************/
-static ADDRESS_MAP_START( bigrun_map2, AS_PROGRAM, 16, cischeat_state )
+ADDRESS_MAP_START(cischeat_state::bigrun_map2)
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x040000, 0x047fff) AM_RAM AM_SHARE("share1") // Shared RAM (with Main CPU)
AM_RANGE(0x080000, 0x0807ff) AM_RAM AM_SHARE("roadram.0") // Road RAM
AM_RANGE(0x0c0000, 0x0c3fff) AM_RAM // RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bigrun_map3, AS_PROGRAM, 16, cischeat_state )
+ADDRESS_MAP_START(cischeat_state::bigrun_map3)
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x040000, 0x047fff) AM_RAM AM_SHARE("share2") // Shared RAM (with Main CPU)
AM_RANGE(0x080000, 0x0807ff) AM_RAM AM_SHARE("roadram.1") // Road RAM
@@ -862,7 +862,7 @@ ADDRESS_MAP_END
Cisco Heat
**************************************************************************/
-static ADDRESS_MAP_START( cischeat_map2, AS_PROGRAM, 16, cischeat_state )
+ADDRESS_MAP_START(cischeat_state::cischeat_map2)
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x040000, 0x047fff) AM_RAM AM_SHARE("share1") // Shared RAM (with Main CPU)
AM_RANGE(0x080000, 0x0807ff) AM_RAM AM_SHARE("roadram.0") // Road RAM
@@ -871,7 +871,7 @@ static ADDRESS_MAP_START( cischeat_map2, AS_PROGRAM, 16, cischeat_state )
AM_RANGE(0x200000, 0x23ffff) AM_ROM AM_REGION("cpu2",0x40000) // ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cischeat_map3, AS_PROGRAM, 16, cischeat_state )
+ADDRESS_MAP_START(cischeat_state::cischeat_map3)
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x040000, 0x047fff) AM_RAM AM_SHARE("share2") // Shared RAM (with Main CPU)
AM_RANGE(0x080000, 0x0807ff) AM_RAM AM_SHARE("roadram.1") // Road RAM
@@ -886,7 +886,7 @@ ADDRESS_MAP_END
F1 GrandPrix Star
**************************************************************************/
-static ADDRESS_MAP_START( f1gpstar_map2, AS_PROGRAM, 16, cischeat_state )
+ADDRESS_MAP_START(cischeat_state::f1gpstar_map2)
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x080000, 0x0807ff) AM_RAM AM_SHARE("share1") // Shared RAM (with Main CPU)
AM_RANGE(0x100000, 0x1007ff) AM_RAM AM_SHARE("roadram.0") // Road RAM
@@ -894,7 +894,7 @@ static ADDRESS_MAP_START( f1gpstar_map2, AS_PROGRAM, 16, cischeat_state )
AM_RANGE(0x200000, 0x200001) AM_WRITENOP // watchdog
ADDRESS_MAP_END
-static ADDRESS_MAP_START( f1gpstar_map3, AS_PROGRAM, 16, cischeat_state )
+ADDRESS_MAP_START(cischeat_state::f1gpstar_map3)
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x080000, 0x0807ff) AM_RAM AM_SHARE("share2") // Shared RAM (with Main CPU)
AM_RANGE(0x100000, 0x1007ff) AM_RAM AM_SHARE("roadram.1") // Road RAM
@@ -927,7 +927,7 @@ WRITE16_MEMBER(cischeat_state::bigrun_soundbank_w)
}
}
-static ADDRESS_MAP_START( bigrun_sound_map, AS_PROGRAM, 16, cischeat_state )
+ADDRESS_MAP_START(cischeat_state::bigrun_sound_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x040000, 0x040001) AM_DEVREAD("soundlatch", generic_latch_16_device, read) AM_WRITE(bigrun_soundbank_w) // From Main CPU
AM_RANGE(0x060000, 0x060001) AM_DEVWRITE("soundlatch2", generic_latch_16_device, write) // To Main CPU
@@ -952,7 +952,7 @@ WRITE16_MEMBER(cischeat_state::cischeat_soundbank_2_w)
if (ACCESSING_BITS_0_7) m_oki2->set_rom_bank(data & 1);
}
-static ADDRESS_MAP_START( cischeat_sound_map, AS_PROGRAM, 16, cischeat_state )
+ADDRESS_MAP_START(cischeat_state::cischeat_sound_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x040002, 0x040003) AM_WRITE(cischeat_soundbank_1_w) // Sample Banking
AM_RANGE(0x040004, 0x040005) AM_WRITE(cischeat_soundbank_2_w) // Sample Banking
@@ -969,7 +969,7 @@ ADDRESS_MAP_END
F1 GrandPrix Star
**************************************************************************/
-static ADDRESS_MAP_START( f1gpstar_sound_map, AS_PROGRAM, 16, cischeat_state )
+ADDRESS_MAP_START(cischeat_state::f1gpstar_sound_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x040004, 0x040005) AM_WRITE(cischeat_soundbank_1_w) // Sample Banking (cischeat: 40002)
AM_RANGE(0x040008, 0x040009) AM_WRITE(cischeat_soundbank_2_w) // Sample Banking (cischeat: 40004)
@@ -985,7 +985,7 @@ ADDRESS_MAP_END
F1 GrandPrix Star II
**************************************************************************/
-static ADDRESS_MAP_START( f1gpstr2_sound_map, AS_PROGRAM, 16, cischeat_state )
+ADDRESS_MAP_START(cischeat_state::f1gpstr2_sound_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x040004, 0x040005) AM_WRITE(cischeat_soundbank_1_w) // Sample Banking
AM_RANGE(0x040008, 0x040009) AM_WRITE(cischeat_soundbank_2_w) // Sample Banking
@@ -1006,7 +1006,7 @@ ADDRESS_MAP_END
**************************************************************************/
-static ADDRESS_MAP_START( f1gpstr2_io_map, AS_PROGRAM, 16, cischeat_state )
+ADDRESS_MAP_START(cischeat_state::f1gpstr2_io_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x080000, 0x080fff) AM_RAM AM_SHARE("shareio")
AM_RANGE(0x100000, 0x100001) AM_WRITEONLY AM_SHARE("ioready") //
diff --git a/src/mame/drivers/cit220.cpp b/src/mame/drivers/cit220.cpp
index 11db323e73a..7873a949e37 100644
--- a/src/mame/drivers/cit220.cpp
+++ b/src/mame/drivers/cit220.cpp
@@ -31,6 +31,9 @@ public:
SCN2674_DRAW_CHARACTER_MEMBER(draw_character);
void cit220p(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
+ void vram_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<screen_device> m_screen;
@@ -43,14 +46,14 @@ WRITE_LINE_MEMBER(cit220_state::sod_w)
// probably asserts PBREQ on SCN2674 to access memory at Exxx
}
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, cit220_state )
+ADDRESS_MAP_START(cit220_state::mem_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa1ff) AM_ROM AM_REGION("eeprom", 0x800)
AM_RANGE(0xe000, 0xe7ff) AM_RAM // ???
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, cit220_state )
+ADDRESS_MAP_START(cit220_state::io_map)
AM_RANGE(0x00, 0x0f) AM_DEVREADWRITE("duart", scn2681_device, read, write)
AM_RANGE(0x10, 0x10) AM_DEVREADWRITE("usart", i8251_device, data_r, data_w)
AM_RANGE(0x11, 0x11) AM_DEVREADWRITE("usart", i8251_device, status_r, control_w)
@@ -64,7 +67,7 @@ SCN2674_DRAW_CHARACTER_MEMBER(cit220_state::draw_character)
{
}
-static ADDRESS_MAP_START( vram_map, 0, 8, cit220_state )
+ADDRESS_MAP_START(cit220_state::vram_map)
AM_RANGE(0x0000, 0x27ff) AM_NOP
ADDRESS_MAP_END
diff --git a/src/mame/drivers/citycon.cpp b/src/mame/drivers/citycon.cpp
index 8a3a5aeb1c2..8f980e1e48c 100644
--- a/src/mame/drivers/citycon.cpp
+++ b/src/mame/drivers/citycon.cpp
@@ -32,7 +32,7 @@ READ8_MEMBER(citycon_state::citycon_irq_ack_r)
return 0;
}
-static ADDRESS_MAP_START( citycon_map, AS_PROGRAM, 8, citycon_state )
+ADDRESS_MAP_START(citycon_state::citycon_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(citycon_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x2000, 0x20ff) AM_RAM_WRITE(citycon_linecolor_w) AM_SHARE("linecolor") AM_MIRROR(0x0700)
@@ -46,7 +46,7 @@ static ADDRESS_MAP_START( citycon_map, AS_PROGRAM, 8, citycon_state )
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, citycon_state )
+ADDRESS_MAP_START(citycon_state::sound_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x4000, 0x4001) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
AM_RANGE(0x4002, 0x4002) AM_DEVREAD("aysnd", ay8910_device, data_r)
diff --git a/src/mame/drivers/ckz80.cpp b/src/mame/drivers/ckz80.cpp
index f22e97e740f..e91a15e1d4a 100644
--- a/src/mame/drivers/ckz80.cpp
+++ b/src/mame/drivers/ckz80.cpp
@@ -95,6 +95,8 @@ public:
DECLARE_WRITE8_MEMBER(master_trampoline_w);
void master(machine_config &config);
+ void master_map(address_map &map);
+ void master_trampoline(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -276,7 +278,7 @@ DRIVER_INIT_MEMBER(ckz80_state, master)
// Master
-static ADDRESS_MAP_START( master_map, AS_PROGRAM, 8, ckz80_state )
+ADDRESS_MAP_START(ckz80_state::master_map)
AM_RANGE(0x0000, 0x1fff) AM_MIRROR(0x6000) AM_ROM AM_REGION("maincpu", 0) // _A15
AM_RANGE(0xa000, 0xa000) AM_MIRROR(0x1fff) AM_READWRITE(master_input_r, master_control_w) // A13
AM_RANGE(0xc000, 0xc7ff) AM_MIRROR(0x3800) AM_RAM // A14
@@ -304,7 +306,7 @@ READ8_MEMBER(ckz80_state::master_trampoline_r)
return data;
}
-static ADDRESS_MAP_START( master_trampoline, AS_PROGRAM, 8, ckz80_state )
+ADDRESS_MAP_START(ckz80_state::master_trampoline)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(master_trampoline_r, master_trampoline_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/clayshoo.cpp b/src/mame/drivers/clayshoo.cpp
index 0e897121209..384b851fa6d 100644
--- a/src/mame/drivers/clayshoo.cpp
+++ b/src/mame/drivers/clayshoo.cpp
@@ -50,6 +50,8 @@ public:
void create_analog_timers( );
required_device<cpu_device> m_maincpu;
void clayshoo(machine_config &config);
+ void main_io_map(address_map &map);
+ void main_map(address_map &map);
};
@@ -205,7 +207,7 @@ uint32_t clayshoo_state::screen_update_clayshoo(screen_device &screen, bitmap_rg
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, clayshoo_state )
+ADDRESS_MAP_START(clayshoo_state::main_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
AM_RANGE(0x4000, 0x47ff) AM_ROM
@@ -222,7 +224,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( main_io_map, AS_IO, 8, clayshoo_state )
+ADDRESS_MAP_START(clayshoo_state::main_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x20, 0x23) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
diff --git a/src/mame/drivers/clcd.cpp b/src/mame/drivers/clcd.cpp
index 5928d3d6f0a..a836c0e84f8 100644
--- a/src/mame/drivers/clcd.cpp
+++ b/src/mame/drivers/clcd.cpp
@@ -552,6 +552,8 @@ public:
void nvram_init(nvram_device &nvram, void *data, size_t size);
void clcd(machine_config &config);
+ void clcd_banked_mem(address_map &map);
+ void clcd_mem(address_map &map);
private:
required_device<m65c02_device> m_maincpu;
required_device<mos6551_device> m_acia;
@@ -602,7 +604,7 @@ void clcd_state::nvram_init(nvram_device &nvram, void *data, size_t size)
}
-static ADDRESS_MAP_START( clcd_banked_mem, AS_PROGRAM, 8, clcd_state )
+ADDRESS_MAP_START(clcd_state::clcd_banked_mem)
/* KERN/APPL/RAM */
AM_RANGE(0x00000, 0x1ffff) AM_MIRROR(0x40000) AM_READWRITE(ram_r, ram_w)
AM_RANGE(0x20000, 0x3ffff) AM_MIRROR(0x40000) AM_ROM AM_REGION("maincpu",0)
@@ -615,7 +617,7 @@ static ADDRESS_MAP_START( clcd_banked_mem, AS_PROGRAM, 8, clcd_state )
AM_RANGE(0x8e000, 0x8f7ff) AM_READ(mmu_offset5_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( clcd_mem, AS_PROGRAM, 8, clcd_state )
+ADDRESS_MAP_START(clcd_state::clcd_mem)
AM_RANGE(0x0000, 0x0fff) AM_READWRITE(ram_r, ram_w)
AM_RANGE(0x1000, 0x3fff) AM_DEVREADWRITE("bank1", address_map_bank_device, read8, write8)
AM_RANGE(0x4000, 0x7fff) AM_DEVREADWRITE("bank2", address_map_bank_device, read8, write8)
diff --git a/src/mame/drivers/cliffhgr.cpp b/src/mame/drivers/cliffhgr.cpp
index 3e1164fb089..db54a1d6c8f 100644
--- a/src/mame/drivers/cliffhgr.cpp
+++ b/src/mame/drivers/cliffhgr.cpp
@@ -125,6 +125,8 @@ public:
required_device<discrete_device> m_discrete;
required_device<screen_device> m_screen;
void cliffhgr(machine_config &config);
+ void mainmem(address_map &map);
+ void mainport(address_map &map);
};
@@ -238,13 +240,13 @@ void cliffhgr_state::machine_reset()
/********************************************************/
-static ADDRESS_MAP_START( mainmem, AS_PROGRAM, 8, cliffhgr_state )
+ADDRESS_MAP_START(cliffhgr_state::mainmem)
AM_RANGE(0x0000, 0xbfff) AM_ROM /* ROM */
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("nvram") /* NVRAM */
AM_RANGE(0xe800, 0xefff) AM_RAM /* RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mainport, AS_IO, 8, cliffhgr_state )
+ADDRESS_MAP_START(cliffhgr_state::mainport)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x44, 0x44) AM_DEVWRITE("tms9928a", tms9928a_device, vram_write)
AM_RANGE(0x45, 0x45) AM_DEVREAD("tms9928a", tms9928a_device, vram_read)
diff --git a/src/mame/drivers/cloak.cpp b/src/mame/drivers/cloak.cpp
index f0de8641d53..f9a528aa199 100644
--- a/src/mame/drivers/cloak.cpp
+++ b/src/mame/drivers/cloak.cpp
@@ -180,7 +180,7 @@ WRITE8_MEMBER(cloak_state::cloak_nvram_enable_w)
*
*************************************/
-static ADDRESS_MAP_START( master_map, AS_PROGRAM, 8, cloak_state )
+ADDRESS_MAP_START(cloak_state::master_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(cloak_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x0800, 0x0fff) AM_RAM AM_SHARE("share1")
@@ -208,7 +208,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( slave_map, AS_PROGRAM, 8, cloak_state )
+ADDRESS_MAP_START(cloak_state::slave_map)
AM_RANGE(0x0000, 0x0007) AM_RAM
AM_RANGE(0x0008, 0x000f) AM_READWRITE(graph_processor_r, graph_processor_w)
AM_RANGE(0x0010, 0x07ff) AM_RAM
diff --git a/src/mame/drivers/cloud9.cpp b/src/mame/drivers/cloud9.cpp
index c40d1a64564..e1cf83946bc 100644
--- a/src/mame/drivers/cloud9.cpp
+++ b/src/mame/drivers/cloud9.cpp
@@ -276,7 +276,7 @@ WRITE8_MEMBER(cloud9_state::nvram_store_w)
*
*************************************/
-static ADDRESS_MAP_START( cloud9_map, AS_PROGRAM, 8, cloud9_state )
+ADDRESS_MAP_START(cloud9_state::cloud9_map)
AM_RANGE(0x0000, 0x4fff) AM_ROMBANK("bank1") AM_WRITE(cloud9_videoram_w)
AM_RANGE(0x0000, 0x0001) AM_WRITE(cloud9_bitmode_addr_w)
AM_RANGE(0x0002, 0x0002) AM_READWRITE(cloud9_bitmode_r, cloud9_bitmode_w)
diff --git a/src/mame/drivers/clowndwn.cpp b/src/mame/drivers/clowndwn.cpp
index b783f331bf8..c52dbb4ece2 100644
--- a/src/mame/drivers/clowndwn.cpp
+++ b/src/mame/drivers/clowndwn.cpp
@@ -28,9 +28,10 @@ public:
required_device<cpu_device> m_maincpu;
void clowndwn(machine_config &config);
+ void clowndwn_map(address_map &map);
};
-static ADDRESS_MAP_START(clowndwn_map, AS_PROGRAM, 8, clowndwn_state)
+ADDRESS_MAP_START(clowndwn_state::clowndwn_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x4100, 0x4103) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
AM_RANGE(0x4200, 0x4203) AM_DEVREADWRITE("pia1", pia6821_device, read, write)
diff --git a/src/mame/drivers/clpoker.cpp b/src/mame/drivers/clpoker.cpp
index f2dd0b9c944..9bec05b97c2 100644
--- a/src/mame/drivers/clpoker.cpp
+++ b/src/mame/drivers/clpoker.cpp
@@ -58,6 +58,9 @@ public:
u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void clpoker(machine_config &config);
+ void io_map(address_map &map);
+ void prg_map(address_map &map);
+ void ramdac_map(address_map &map);
protected:
virtual void video_start() override;
@@ -76,7 +79,7 @@ private:
bool m_nmi_enable;
};
-static ADDRESS_MAP_START( prg_map, AS_PROGRAM, 8, clpoker_state )
+ADDRESS_MAP_START(clpoker_state::prg_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("nvram")
@@ -85,7 +88,7 @@ static ADDRESS_MAP_START( prg_map, AS_PROGRAM, 8, clpoker_state )
AM_RANGE(0xf002, 0xf002) AM_DEVWRITE("ramdac", ramdac_device, mask_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, clpoker_state )
+ADDRESS_MAP_START(clpoker_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ppi_outputs", i8255_device, read, write)
AM_RANGE(0x10, 0x13) AM_DEVREADWRITE("ppi_inputs", i8255_device, read, write)
@@ -95,7 +98,7 @@ static ADDRESS_MAP_START( io_map, AS_IO, 8, clpoker_state )
AM_RANGE(0xc0, 0xc0) AM_READNOP // mystery read at startup
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ramdac_map, 0, 8, clpoker_state )
+ADDRESS_MAP_START(clpoker_state::ramdac_map)
AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac", ramdac_device, ramdac_pal_r, ramdac_rgb666_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/clshroad.cpp b/src/mame/drivers/clshroad.cpp
index a85924ba491..c5659435ff9 100644
--- a/src/mame/drivers/clshroad.cpp
+++ b/src/mame/drivers/clshroad.cpp
@@ -70,7 +70,7 @@ WRITE_LINE_MEMBER(clshroad_state::sound_irq_mask_w)
}
-static ADDRESS_MAP_START( clshroad_map, AS_PROGRAM, 8, clshroad_state )
+ADDRESS_MAP_START(clshroad_state::clshroad_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x95ff) AM_RAM
AM_RANGE(0x9600, 0x97ff) AM_RAM AM_SHARE("share1")
@@ -83,7 +83,7 @@ static ADDRESS_MAP_START( clshroad_map, AS_PROGRAM, 8, clshroad_state )
AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(vram_0_w) AM_SHARE("vram_0") // Layer 0
ADDRESS_MAP_END
-static ADDRESS_MAP_START( clshroad_sound_map, AS_PROGRAM, 8, clshroad_state )
+ADDRESS_MAP_START(clshroad_state::clshroad_sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_DEVWRITE("custom", wiping_sound_device, sound_w)
AM_RANGE(0x9600, 0x97ff) AM_RAM AM_SHARE("share1")
diff --git a/src/mame/drivers/cm1800.cpp b/src/mame/drivers/cm1800.cpp
index f76fab329d1..5abf613bf2d 100644
--- a/src/mame/drivers/cm1800.cpp
+++ b/src/mame/drivers/cm1800.cpp
@@ -53,6 +53,8 @@ public:
DECLARE_WRITE8_MEMBER(port00_w);
void cm1800(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
virtual void machine_reset() override;
required_device<cpu_device> m_maincpu;
@@ -77,13 +79,13 @@ READ8_MEMBER( cm1800_state::port00_r )
return result;
}
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, cm1800_state )
+ADDRESS_MAP_START(cm1800_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x07ff ) AM_ROM AM_REGION("roms", 0)
AM_RANGE( 0x0800, 0xffff ) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, cm1800_state )
+ADDRESS_MAP_START(cm1800_state::io_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x00) AM_READWRITE(port00_r,port00_w)
AM_RANGE(0x01, 0x01) AM_READ(port01_r)
diff --git a/src/mame/drivers/cmi.cpp b/src/mame/drivers/cmi.cpp
index 675ad420f95..ad41f60500a 100644
--- a/src/mame/drivers/cmi.cpp
+++ b/src/mame/drivers/cmi.cpp
@@ -558,6 +558,12 @@ public:
DECLARE_WRITE_LINE_MEMBER( mkbd_acia_clock );
void cmi2x(machine_config &config);
+ void alphakeys_map(address_map &map);
+ void cmi07cpu_map(address_map &map);
+ void maincpu1_map(address_map &map);
+ void maincpu2_map(address_map &map);
+ void midicpu_map(address_map &map);
+ void muskeys_map(address_map &map);
protected:
required_device<mc6809e_device> m_maincpu1;
@@ -1063,15 +1069,15 @@ READ16_MEMBER( cmi_state::midi_dma_r )
}
/* The maps are dynamically populated */
-static ADDRESS_MAP_START( maincpu1_map, AS_PROGRAM, 8, cmi_state )
+ADDRESS_MAP_START(cmi_state::maincpu1_map)
AM_RANGE(0xfffe, 0xffff) AM_READ(vector_r<0>)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( maincpu2_map, AS_PROGRAM, 8, cmi_state )
+ADDRESS_MAP_START(cmi_state::maincpu2_map)
AM_RANGE(0xfffe, 0xffff) AM_READ(vector_r<1>)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( muskeys_map, AS_PROGRAM, 8, cmi_state)
+ADDRESS_MAP_START(cmi_state::muskeys_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x007f) AM_RAM
AM_RANGE(0x0080, 0x0083) AM_DEVREADWRITE("cmi10_pia_u21", pia6821_device, read, write)
@@ -1083,7 +1089,7 @@ static ADDRESS_MAP_START( muskeys_map, AS_PROGRAM, 8, cmi_state)
AM_RANGE(0xf000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( alphakeys_map, AS_PROGRAM, 8, cmi_state )
+ADDRESS_MAP_START(cmi_state::alphakeys_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x007f) AM_RAM
AM_RANGE(0x4000, 0x7fff) AM_READ_PORT("ANK_OPTIONS")
@@ -1091,7 +1097,7 @@ static ADDRESS_MAP_START( alphakeys_map, AS_PROGRAM, 8, cmi_state )
AM_RANGE(0xc000, 0xc3ff) AM_ROM AM_MIRROR(0x3c00)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( midicpu_map, AS_PROGRAM, 16, cmi_state )
+ADDRESS_MAP_START(cmi_state::midicpu_map)
AM_RANGE(0x000000, 0x003fff) AM_ROM
AM_RANGE(0x040000, 0x05ffff) AM_READWRITE(midi_dma_r, midi_dma_w)
// AM_RANGE(0x060000, 0x06001f) TIMERS
@@ -1100,7 +1106,7 @@ static ADDRESS_MAP_START( midicpu_map, AS_PROGRAM, 16, cmi_state )
AM_RANGE(0x080000, 0x083fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cmi07cpu_map, AS_PROGRAM, 8, cmi_state )
+ADDRESS_MAP_START(cmi_state::cmi07cpu_map)
AM_RANGE(0x0000, 0x3fff) AM_NOP // TODO
AM_RANGE(0x4000, 0x4fff) AM_NOP // TODO
AM_RANGE(0x8000, 0x8fff) AM_DEVREADWRITE("cmi07_ptm", ptm6840_device, read, write)
diff --git a/src/mame/drivers/cmmb.cpp b/src/mame/drivers/cmmb.cpp
index 0195fbef821..bd3b43e7541 100644
--- a/src/mame/drivers/cmmb.cpp
+++ b/src/mame/drivers/cmmb.cpp
@@ -99,6 +99,7 @@ public:
uint32_t screen_update_cmmb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(vblank_irq);
void cmmb(machine_config &config);
+ void cmmb_map(address_map &map);
};
@@ -203,7 +204,7 @@ WRITE8_MEMBER(cmmb_state::flash_dbg_1_w)
}
/* overlap empty addresses */
-static ADDRESS_MAP_START( cmmb_map, AS_PROGRAM, 8, cmmb_state )
+ADDRESS_MAP_START(cmmb_state::cmmb_map)
ADDRESS_MAP_GLOBAL_MASK(0xffff)
AM_RANGE(0x0000, 0x0fff) AM_RAM /* zero page address */
// AM_RANGE(0x13c0, 0x13ff) AM_RAM //spriteram
diff --git a/src/mame/drivers/cninja.cpp b/src/mame/drivers/cninja.cpp
index f0e83166a32..f59d03ae22f 100644
--- a/src/mame/drivers/cninja.cpp
+++ b/src/mame/drivers/cninja.cpp
@@ -106,7 +106,7 @@ READ16_MEMBER(cninja_state::cninjabl2_sprite_dma_r)
}
-static ADDRESS_MAP_START( cninja_map, AS_PROGRAM, 16, cninja_state )
+ADDRESS_MAP_START(cninja_state::cninja_map)
AM_RANGE(0x000000, 0x0bffff) AM_ROM
AM_RANGE(0x140000, 0x14000f) AM_WRITE(cninja_pf12_control_w)
@@ -134,7 +134,7 @@ static ADDRESS_MAP_START( cninja_map, AS_PROGRAM, 16, cninja_state )
AM_RANGE(0x308000, 0x308fff) AM_WRITENOP /* Bootleg only */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cninjabl_map, AS_PROGRAM, 16, cninja_state )
+ADDRESS_MAP_START(cninja_state::cninjabl_map)
AM_RANGE(0x000000, 0x0bffff) AM_ROM
AM_RANGE(0x138000, 0x1387ff) AM_RAM AM_SHARE("spriteram") /* bootleg sprite-ram (sprites rewritten here in new format) */
@@ -208,7 +208,7 @@ WRITE16_MEMBER( cninja_state::sshangha_protection_region_6_146_w )
m_ioprot->write_data( space, deco146_addr, data, mem_mask, cs );
}
-static ADDRESS_MAP_START( edrandy_map, AS_PROGRAM, 16, cninja_state )
+ADDRESS_MAP_START(cninja_state::edrandy_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x140000, 0x14000f) AM_WRITE(cninja_pf12_control_w)
@@ -241,7 +241,7 @@ WRITE16_MEMBER(cninja_state::robocop2_priority_w)
COMBINE_DATA(&m_priority);
}
-static ADDRESS_MAP_START( robocop2_map, AS_PROGRAM, 16, cninja_state )
+ADDRESS_MAP_START(cninja_state::robocop2_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x140000, 0x14000f) AM_WRITE(cninja_pf12_control_w)
@@ -296,7 +296,7 @@ READ16_MEMBER( cninja_state::mutantf_71_r )
return 0xffff; // todo
}
-static ADDRESS_MAP_START( mutantf_map, AS_PROGRAM, 16, cninja_state )
+ADDRESS_MAP_START(cninja_state::mutantf_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_SHARE("spriteram")
@@ -325,7 +325,7 @@ ADDRESS_MAP_END
/******************************************************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, cninja_state )
+ADDRESS_MAP_START(cninja_state::sound_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ym2", ym2151_device, read, write)
@@ -337,7 +337,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, cninja_state )
AM_RANGE(0x1ff400, 0x1ff403) AM_DEVWRITE("audiocpu", h6280_device, irq_status_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map_mutantf, AS_PROGRAM, 8, cninja_state )
+ADDRESS_MAP_START(cninja_state::sound_map_mutantf)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_NOP
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
@@ -349,7 +349,7 @@ static ADDRESS_MAP_START( sound_map_mutantf, AS_PROGRAM, 8, cninja_state )
AM_RANGE(0x1ff400, 0x1ff403) AM_DEVWRITE("audiocpu", h6280_device, irq_status_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( stoneage_s_map, AS_PROGRAM, 8, cninja_state )
+ADDRESS_MAP_START(cninja_state::stoneage_s_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
@@ -357,7 +357,7 @@ static ADDRESS_MAP_START( stoneage_s_map, AS_PROGRAM, 8, cninja_state )
AM_RANGE(0xa000, 0xa000) AM_DEVREAD("ioprot", deco_146_base_device, soundlatch_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cninjabl_sound_map, AS_PROGRAM, 8, cninja_state )
+ADDRESS_MAP_START(cninja_state::cninjabl_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
@@ -365,7 +365,7 @@ static ADDRESS_MAP_START( cninjabl_sound_map, AS_PROGRAM, 8, cninja_state )
AM_RANGE(0xa000, 0xa000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cninjabl2_s_map, AS_PROGRAM, 8, cninja_state )
+ADDRESS_MAP_START(cninja_state::cninjabl2_s_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_WRITE(cninjabl2_oki_bank_w)
@@ -373,7 +373,7 @@ static ADDRESS_MAP_START( cninjabl2_s_map, AS_PROGRAM, 8, cninja_state )
AM_RANGE(0xa000, 0xa000) AM_DEVREAD("ioprot", deco_146_base_device, soundlatch_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cninjabl2_oki_map, 0, 8, cninja_state )
+ADDRESS_MAP_START(cninja_state::cninjabl2_oki_map)
AM_RANGE(0x00000, 0x2ffff) AM_ROM AM_REGION("oki1", 0)
AM_RANGE(0x30000, 0x3ffff) AM_ROMBANK("okibank")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cntsteer.cpp b/src/mame/drivers/cntsteer.cpp
index 21d2a3e8e21..1f9dacc4147 100644
--- a/src/mame/drivers/cntsteer.cpp
+++ b/src/mame/drivers/cntsteer.cpp
@@ -122,6 +122,11 @@ public:
void zerotrgt_rearrange_gfx( int romsize, int romarea );
void cntsteer(machine_config &config);
void zerotrgt(machine_config &config);
+ void cntsteer_cpu1_map(address_map &map);
+ void cntsteer_cpu2_map(address_map &map);
+ void gekitsui_cpu1_map(address_map &map);
+ void gekitsui_cpu2_map(address_map &map);
+ void sound_map(address_map &map);
};
@@ -574,7 +579,7 @@ READ8_MEMBER(cntsteer_state::cntsteer_adx_r)
/***************************************************************************/
-static ADDRESS_MAP_START( gekitsui_cpu1_map, AS_PROGRAM, 8, cntsteer_state )
+ADDRESS_MAP_START(cntsteer_state::gekitsui_cpu1_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x1000, 0x11ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x1200, 0x1fff) AM_RAM
@@ -584,7 +589,7 @@ static ADDRESS_MAP_START( gekitsui_cpu1_map, AS_PROGRAM, 8, cntsteer_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gekitsui_cpu2_map, AS_PROGRAM, 8, cntsteer_state )
+ADDRESS_MAP_START(cntsteer_state::gekitsui_cpu2_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(cntsteer_background_w) AM_SHARE("videoram2")
AM_RANGE(0x3000, 0x3000) AM_READ_PORT("DSW0")
@@ -597,7 +602,7 @@ static ADDRESS_MAP_START( gekitsui_cpu2_map, AS_PROGRAM, 8, cntsteer_state )
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cntsteer_cpu1_map, AS_PROGRAM, 8, cntsteer_state )
+ADDRESS_MAP_START(cntsteer_state::cntsteer_cpu1_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x1000, 0x11ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x2000, 0x23ff) AM_RAM_WRITE(cntsteer_foreground_vram_w) AM_SHARE("videoram")
@@ -607,7 +612,7 @@ static ADDRESS_MAP_START( cntsteer_cpu1_map, AS_PROGRAM, 8, cntsteer_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cntsteer_cpu2_map, AS_PROGRAM, 8, cntsteer_state )
+ADDRESS_MAP_START(cntsteer_state::cntsteer_cpu2_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(cntsteer_background_w) AM_SHARE("videoram2")
AM_RANGE(0x2000, 0x2fff) AM_READWRITE(cntsteer_background_mirror_r,cntsteer_background_w)
@@ -647,7 +652,7 @@ INTERRUPT_GEN_MEMBER(cntsteer_state::sound_interrupt)
device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
}
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, cntsteer_state )
+ADDRESS_MAP_START(cntsteer_state::sound_map)
AM_RANGE(0x0000, 0x01ff) AM_RAM
// AM_RANGE(0x1000, 0x1000) AM_WRITE(nmiack_w)
AM_RANGE(0x2000, 0x2000) AM_DEVWRITE("ay1", ay8910_device, data_w)
diff --git a/src/mame/drivers/cobra.cpp b/src/mame/drivers/cobra.cpp
index c3e4d238ff2..7b15e00982c 100644
--- a/src/mame/drivers/cobra.cpp
+++ b/src/mame/drivers/cobra.cpp
@@ -843,6 +843,9 @@ public:
void cobra_video_exit();
int decode_debug_state_value(int v);
void cobra(machine_config &config);
+ void cobra_gfx_map(address_map &map);
+ void cobra_main_map(address_map &map);
+ void cobra_sub_map(address_map &map);
};
void cobra_renderer::render_color_scan(int32_t scanline, const extent_t &extent, const cobra_polydata &extradata, int threadid)
@@ -1737,7 +1740,7 @@ WRITE32_MEMBER(cobra_state::main_cpu_dc_store)
}
}
-static ADDRESS_MAP_START( cobra_main_map, AS_PROGRAM, 64, cobra_state )
+ADDRESS_MAP_START(cobra_state::cobra_main_map)
AM_RANGE(0x00000000, 0x003fffff) AM_RAM AM_SHARE("main_ram")
AM_RANGE(0x07c00000, 0x07ffffff) AM_RAM
AM_RANGE(0x80000cf8, 0x80000cff) AM_READWRITE(main_mpc106_r, main_mpc106_w)
@@ -2077,7 +2080,7 @@ WRITE8_MEMBER(cobra_state::sub_jvs_w)
}
}
-static ADDRESS_MAP_START( cobra_sub_map, AS_PROGRAM, 32, cobra_state )
+ADDRESS_MAP_START(cobra_state::cobra_sub_map)
AM_RANGE(0x00000000, 0x003fffff) AM_RAM AM_SHARE("sub_ram") // Main RAM
AM_RANGE(0x70000000, 0x7003ffff) AM_READWRITE(sub_comram_r, sub_comram_w) // Double buffered shared RAM between Main and Sub
// AM_RANGE(0x78000000, 0x780000ff) AM_NOP // SCSI controller (unused)
@@ -3183,7 +3186,7 @@ WRITE64_MEMBER(cobra_state::gfx_debug_state_w)
}
}
-static ADDRESS_MAP_START( cobra_gfx_map, AS_PROGRAM, 64, cobra_state )
+ADDRESS_MAP_START(cobra_state::cobra_gfx_map)
AM_RANGE(0x00000000, 0x003fffff) AM_RAM AM_SHARE("gfx_main_ram_0")
AM_RANGE(0x07c00000, 0x07ffffff) AM_RAM AM_SHARE("gfx_main_ram_1")
AM_RANGE(0x10000000, 0x100007ff) AM_WRITE(gfx_fifo0_w)
diff --git a/src/mame/drivers/coco12.cpp b/src/mame/drivers/coco12.cpp
index d5d65073aa7..c07805c817f 100644
--- a/src/mame/drivers/coco12.cpp
+++ b/src/mame/drivers/coco12.cpp
@@ -54,7 +54,7 @@
// ADDRESS_MAP( coco_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( coco_mem, AS_PROGRAM, 8, coco_state )
+ADDRESS_MAP_START(coco_state::coco_mem)
ADDRESS_MAP_END
@@ -398,7 +398,7 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG ( coco_floating )
//-------------------------------------------------
-static ADDRESS_MAP_START(coco_floating_map, AS_PROGRAM, 8, coco_state)
+ADDRESS_MAP_START(coco_state::coco_floating_map)
AM_RANGE(0x0000, 0xFFFF) AM_READ(floating_bus_read)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/coco3.cpp b/src/mame/drivers/coco3.cpp
index fa07e4852c3..24ec720cb55 100644
--- a/src/mame/drivers/coco3.cpp
+++ b/src/mame/drivers/coco3.cpp
@@ -30,7 +30,7 @@
// ADDRESS_MAP( coco3_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( coco3_mem, AS_PROGRAM, 8, coco3_state )
+ADDRESS_MAP_START(coco3_state::coco3_mem)
AM_RANGE(0x0000, 0x1FFF) AM_READ_BANK("rbank0") AM_WRITE_BANK("wbank0")
AM_RANGE(0x2000, 0x3FFF) AM_READ_BANK("rbank1") AM_WRITE_BANK("wbank1")
AM_RANGE(0x4000, 0x5FFF) AM_READ_BANK("rbank2") AM_WRITE_BANK("wbank2")
diff --git a/src/mame/drivers/cocoloco.cpp b/src/mame/drivers/cocoloco.cpp
index a42c1859a1d..6d387910ed7 100644
--- a/src/mame/drivers/cocoloco.cpp
+++ b/src/mame/drivers/cocoloco.cpp
@@ -233,6 +233,7 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void cocoloco(machine_config &config);
+ void cocoloco_map(address_map &map);
};
/***********************************
@@ -398,7 +399,7 @@ WRITE8_MEMBER( cocoloco_state::coincounter_w )
* Memory Map Information *
***********************************/
-static ADDRESS_MAP_START( cocoloco_map, AS_PROGRAM, 8, cocoloco_state )
+ADDRESS_MAP_START(cocoloco_state::cocoloco_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x3fff) AM_READWRITE(vram_r, vram_w) // 256 x 256 x 1
AM_RANGE(0x6001, 0x6001) AM_DEVREAD("ay8910", ay8910_device, data_r)
diff --git a/src/mame/drivers/codata.cpp b/src/mame/drivers/codata.cpp
index 9e7575bf4f8..d85cb857376 100644
--- a/src/mame/drivers/codata.cpp
+++ b/src/mame/drivers/codata.cpp
@@ -27,13 +27,14 @@ public:
{ }
void codata(machine_config &config);
+ void mem_map(address_map &map);
private:
virtual void machine_reset() override;
required_shared_ptr<uint16_t> m_p_base;
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 16, codata_state)
+ADDRESS_MAP_START(codata_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x1fffff) AM_RAM AM_SHARE("rambase")
AM_RANGE(0x200000, 0x203fff) AM_ROM AM_REGION("user1", 0);
diff --git a/src/mame/drivers/coinmstr.cpp b/src/mame/drivers/coinmstr.cpp
index 6b4e41caa3d..bdeb94c070b 100644
--- a/src/mame/drivers/coinmstr.cpp
+++ b/src/mame/drivers/coinmstr.cpp
@@ -181,6 +181,13 @@ public:
void jpcoin(machine_config &config);
void quizmstr(machine_config &config);
void trailblz(machine_config &config);
+ void coinmstr_map(address_map &map);
+ void jpcoin_io_map(address_map &map);
+ void jpcoin_map(address_map &map);
+ void pokeroul_io_map(address_map &map);
+ void quizmstr_io_map(address_map &map);
+ void supnudg2_io_map(address_map &map);
+ void trailblz_io_map(address_map &map);
};
@@ -332,7 +339,7 @@ READ8_MEMBER(coinmstr_state::ff_r)
// Common memory map
-static ADDRESS_MAP_START( coinmstr_map, AS_PROGRAM, 8, coinmstr_state )
+ADDRESS_MAP_START(coinmstr_state::coinmstr_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(quizmstr_bg_w) AM_SHARE("videoram")
@@ -342,7 +349,7 @@ static ADDRESS_MAP_START( coinmstr_map, AS_PROGRAM, 8, coinmstr_state )
ADDRESS_MAP_END
/* 2x 6462 hardware C000-DFFF & E000-FFFF */
-static ADDRESS_MAP_START( jpcoin_map, AS_PROGRAM, 8, coinmstr_state )
+ADDRESS_MAP_START(coinmstr_state::jpcoin_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_RAM /* 2x 6462 hardware */
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(quizmstr_bg_w) AM_SHARE("videoram")
@@ -353,7 +360,7 @@ ADDRESS_MAP_END
// Different I/O mappping for every game
-static ADDRESS_MAP_START( quizmstr_io_map, AS_IO, 8, coinmstr_state )
+ADDRESS_MAP_START(coinmstr_state::quizmstr_io_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(question_r)
@@ -370,7 +377,7 @@ static ADDRESS_MAP_START( quizmstr_io_map, AS_IO, 8, coinmstr_state )
AM_RANGE(0xc0, 0xc3) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( trailblz_io_map, AS_IO, 8, coinmstr_state )
+ADDRESS_MAP_START(coinmstr_state::trailblz_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(question_r)
AM_RANGE(0x00, 0x03) AM_WRITE(question_w)
@@ -384,7 +391,7 @@ static ADDRESS_MAP_START( trailblz_io_map, AS_IO, 8, coinmstr_state )
AM_RANGE(0xc1, 0xc3) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( supnudg2_io_map, AS_IO, 8, coinmstr_state )
+ADDRESS_MAP_START(coinmstr_state::supnudg2_io_map)
/*
out 40
in 40
@@ -428,7 +435,7 @@ E0-E1 CRTC
AM_RANGE(0xc0, 0xc3) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pokeroul_io_map, AS_IO, 8, coinmstr_state )
+ADDRESS_MAP_START(coinmstr_state::pokeroul_io_map)
/*
out 68
in 69
@@ -460,7 +467,7 @@ E0-E1 CRTC
AM_RANGE(0xc0, 0xc1) AM_READ(ff_r) /* needed to boot */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jpcoin_io_map, AS_IO, 8, coinmstr_state )
+ADDRESS_MAP_START(coinmstr_state::jpcoin_io_map)
/*
out C0
in C1
diff --git a/src/mame/drivers/coinmvga.cpp b/src/mame/drivers/coinmvga.cpp
index adbdeb40af6..01919609061 100644
--- a/src/mame/drivers/coinmvga.cpp
+++ b/src/mame/drivers/coinmvga.cpp
@@ -254,6 +254,10 @@ public:
required_device<palette_device> m_palette2;
void coinmvga(machine_config &config);
+ void coinmvga_io_map(address_map &map);
+ void coinmvga_map(address_map &map);
+ void ramdac2_map(address_map &map);
+ void ramdac_map(address_map &map);
};
@@ -311,7 +315,7 @@ READ16_MEMBER(coinmvga_state::test_r)
* Memory Map Information *
*************************/
-static ADDRESS_MAP_START( coinmvga_map, AS_PROGRAM, 16, coinmvga_state )
+ADDRESS_MAP_START(coinmvga_state::coinmvga_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x0fffff) AM_ROM AM_REGION("maincpu", 0) //maybe not
@@ -338,7 +342,7 @@ static ADDRESS_MAP_START( coinmvga_map, AS_PROGRAM, 16, coinmvga_state )
//0x800008 "arrow" w?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( coinmvga_io_map, AS_IO, 16, coinmvga_state )
+ADDRESS_MAP_START(coinmvga_state::coinmvga_io_map)
/* Digital I/O ports (ports 4-B are valid on 16-bit H8/3xx) */
// AM_RANGE(h8_device::PORT_4, h8_device::PORT_4)
// AM_RANGE(h8_device::PORT_5, h8_device::PORT_5)
@@ -618,11 +622,11 @@ INTERRUPT_GEN_MEMBER(coinmvga_state::vblank_irq)
* Machine Drivers *
*************************/
-static ADDRESS_MAP_START( ramdac_map, 0, 8, coinmvga_state )
+ADDRESS_MAP_START(coinmvga_state::ramdac_map)
AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac",ramdac_device,ramdac_pal_r,ramdac_rgb666_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ramdac2_map, 0, 8, coinmvga_state )
+ADDRESS_MAP_START(coinmvga_state::ramdac2_map)
AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac2",ramdac_device,ramdac_pal_r,ramdac_rgb666_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/coleco.cpp b/src/mame/drivers/coleco.cpp
index f99f5185335..2497c0be362 100644
--- a/src/mame/drivers/coleco.cpp
+++ b/src/mame/drivers/coleco.cpp
@@ -94,13 +94,13 @@ WRITE8_MEMBER( coleco_state::paddle_on_w )
/* Memory Maps */
-static ADDRESS_MAP_START( coleco_map, AS_PROGRAM, 8, coleco_state )
+ADDRESS_MAP_START(coleco_state::coleco_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x6000, 0x63ff) AM_RAM AM_MIRROR(0x1c00) AM_SHARE("ram")
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( coleco_io_map, AS_IO, 8, coleco_state )
+ADDRESS_MAP_START(coleco_state::coleco_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x80, 0x80) AM_MIRROR(0x1f) AM_WRITE(paddle_off_w)
AM_RANGE(0xa0, 0xa0) AM_MIRROR(0x1e) AM_DEVREADWRITE("tms9928a", tms9928a_device, vram_read, vram_write)
@@ -111,7 +111,7 @@ static ADDRESS_MAP_START( coleco_io_map, AS_IO, 8, coleco_state )
AM_RANGE(0xe2, 0xe2) AM_MIRROR(0x1d) AM_READ(paddle_2_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( czz50_map, AS_PROGRAM, 8, coleco_state )
+ADDRESS_MAP_START(coleco_state::czz50_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x6000, 0x63ff) AM_RAM AM_MIRROR(0x1c00) AM_SHARE("ram")
AM_RANGE(0x8000, 0xffff) AM_ROM
diff --git a/src/mame/drivers/combatsc.cpp b/src/mame/drivers/combatsc.cpp
index f099a21142d..5cdfc068b0b 100644
--- a/src/mame/drivers/combatsc.cpp
+++ b/src/mame/drivers/combatsc.cpp
@@ -346,7 +346,7 @@ READ8_MEMBER(combatsc_state::unk_r)
*
*************************************/
-static ADDRESS_MAP_START( combatsc_map, AS_PROGRAM, 8, combatsc_state )
+ADDRESS_MAP_START(combatsc_state::combatsc_map)
AM_RANGE(0x0000, 0x0007) AM_WRITE(combatsc_pf_control_w)
AM_RANGE(0x001f, 0x001f) AM_READ(unk_r)
AM_RANGE(0x0020, 0x005f) AM_READWRITE(combatsc_scrollram_r, combatsc_scrollram_w)
@@ -374,7 +374,7 @@ static ADDRESS_MAP_START( combatsc_map, AS_PROGRAM, 8, combatsc_state )
AM_RANGE(0x8000, 0xffff) AM_ROM /* ROM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( combatscb_map, AS_PROGRAM, 8, combatsc_state )
+ADDRESS_MAP_START(combatsc_state::combatscb_map)
AM_RANGE(0x0000, 0x04ff) AM_RAM
AM_RANGE(0x0500, 0x0500) AM_WRITE(combatscb_bankselect_w)
AM_RANGE(0x0600, 0x06ff) AM_RAM_DEVWRITE("palette", palette_device, write_indirect) AM_SHARE("palette")
@@ -384,7 +384,7 @@ static ADDRESS_MAP_START( combatscb_map, AS_PROGRAM, 8, combatsc_state )
AM_RANGE(0x8000, 0xffff) AM_ROM /* ROM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( combatsc_sound_map, AS_PROGRAM, 8, combatsc_state )
+ADDRESS_MAP_START(combatsc_state::combatsc_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM /* ROM */
AM_RANGE(0x8000, 0x87ff) AM_RAM /* RAM */
@@ -410,7 +410,7 @@ WRITE8_MEMBER(combatsc_state::combatscb_sound_irq_ack)
m_audiocpu->set_input_line(0, CLEAR_LINE);
}
-static ADDRESS_MAP_START( combatscb_sound_map, AS_PROGRAM, 8, combatsc_state )
+ADDRESS_MAP_START(combatsc_state::combatscb_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM /* ROM */
AM_RANGE(0x8000, 0x87ff) AM_RAM /* RAM */
AM_RANGE(0x9000, 0x9001) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write) /* YM 2203 */
diff --git a/src/mame/drivers/comebaby.cpp b/src/mame/drivers/comebaby.cpp
index 8ed15b0e88c..f3a9dd47814 100644
--- a/src/mame/drivers/comebaby.cpp
+++ b/src/mame/drivers/comebaby.cpp
@@ -198,6 +198,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void comebaby(machine_config &config);
+ void comebaby_io(address_map &map);
+ void comebaby_map(address_map &map);
protected:
// devices
@@ -216,14 +218,14 @@ uint32_t comebaby_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
return 0;
}
-static ADDRESS_MAP_START( comebaby_map, AS_PROGRAM, 32, comebaby_state )
+ADDRESS_MAP_START(comebaby_state::comebaby_map)
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000a0000, 0x000bffff) AM_RAM
AM_RANGE(0x000c0000, 0x000fffff) AM_ROM AM_REGION("bios", 0)
AM_RANGE(0xfffc0000, 0xffffffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( comebaby_io, AS_IO, 32, comebaby_state )
+ADDRESS_MAP_START(comebaby_state::comebaby_io)
AM_IMPORT_FROM(pcat32_io_common)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/commando.cpp b/src/mame/drivers/commando.cpp
index 198461bf762..5a022f446ac 100644
--- a/src/mame/drivers/commando.cpp
+++ b/src/mame/drivers/commando.cpp
@@ -56,7 +56,7 @@ Note : there is an ingame typo bug that doesn't display the bonus life values
/* Memory Maps */
-static ADDRESS_MAP_START( commando_map, AS_PROGRAM, 8, commando_state )
+ADDRESS_MAP_START(commando_state::commando_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("SYSTEM")
AM_RANGE(0xc001, 0xc001) AM_READ_PORT("P1")
@@ -76,11 +76,11 @@ static ADDRESS_MAP_START( commando_map, AS_PROGRAM, 8, commando_state )
AM_RANGE(0xff80, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, commando_state )
+ADDRESS_MAP_START(commando_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM AM_SHARE("decrypted_opcodes")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, commando_state )
+ADDRESS_MAP_START(commando_state::sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x6000, 0x6000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -253,7 +253,7 @@ MACHINE_CONFIG_START(commando_state::commando)
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, PHI_MAIN) // ???
MCFG_CPU_PROGRAM_MAP(commando_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", commando_state, commando_interrupt)
MCFG_CPU_ADD("audiocpu", Z80, PHI_B) // 3 MHz
diff --git a/src/mame/drivers/compc.cpp b/src/mame/drivers/compc.cpp
index 0426c4a653d..645a7984b9b 100644
--- a/src/mame/drivers/compc.cpp
+++ b/src/mame/drivers/compc.cpp
@@ -34,6 +34,9 @@ public:
void compc(machine_config &config);
void pc10iii(machine_config &config);
+ void compc_io(address_map &map);
+ void compc_map(address_map &map);
+ void compciii_io(address_map &map);
private:
u8 m_portb, m_dips;
};
@@ -169,18 +172,18 @@ static INPUT_PORTS_START(compc)
PORT_INCLUDE(pc_keyboard)
INPUT_PORTS_END
-static ADDRESS_MAP_START(compc_map, AS_PROGRAM, 8, compc_state)
+ADDRESS_MAP_START(compc_state::compc_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xf0000, 0xfffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(compc_io, AS_IO, 8, compc_state)
+ADDRESS_MAP_START(compc_state::compc_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x00ff) AM_DEVICE("mb", pc_noppi_mb_device, map)
AM_RANGE(0x0060, 0x0063) AM_READWRITE(pio_r, pio_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(compciii_io, AS_IO, 8, compc_state)
+ADDRESS_MAP_START(compc_state::compciii_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x00ff) AM_DEVICE("mb", pc_noppi_mb_device, map)
AM_RANGE(0x0060, 0x0063) AM_READWRITE(pioiii_r, pioiii_w)
diff --git a/src/mame/drivers/compgolf.cpp b/src/mame/drivers/compgolf.cpp
index 3facae1a0e8..a48365b9b9d 100644
--- a/src/mame/drivers/compgolf.cpp
+++ b/src/mame/drivers/compgolf.cpp
@@ -60,7 +60,7 @@ WRITE8_MEMBER(compgolf_state::compgolf_ctrl_w)
*
*************************************/
-static ADDRESS_MAP_START( compgolf_map, AS_PROGRAM, 8, compgolf_state )
+ADDRESS_MAP_START(compgolf_state::compgolf_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x1000, 0x17ff) AM_RAM_WRITE(compgolf_video_w) AM_SHARE("videoram")
AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(compgolf_back_w) AM_SHARE("bg_ram")
diff --git a/src/mame/drivers/compis.cpp b/src/mame/drivers/compis.cpp
index 5d27949e331..7a72960081d 100644
--- a/src/mame/drivers/compis.cpp
+++ b/src/mame/drivers/compis.cpp
@@ -158,6 +158,9 @@ public:
int m_tmr0;
void compis(machine_config &config);
void compis2(machine_config &config);
+ void compis2_mem(address_map &map);
+ void compis_io(address_map &map);
+ void compis_mem(address_map &map);
};
@@ -390,7 +393,7 @@ WRITE16_MEMBER( compis_state::pcs6_14_15_w )
// ADDRESS_MAP( compis_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( compis_mem, AS_PROGRAM, 16, compis_state )
+ADDRESS_MAP_START(compis_state::compis_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000, 0x1ffff) AM_RAM
AM_RANGE(0x60000, 0x63fff) AM_MIRROR(0x1c000) AM_DEVICE(I80130_TAG, i80130_device, rom_map)
@@ -402,7 +405,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( compis2_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( compis2_mem, AS_PROGRAM, 16, compis_state )
+ADDRESS_MAP_START(compis_state::compis2_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000, 0x3ffff) AM_RAM
AM_RANGE(0xe0000, 0xeffff) AM_MIRROR(0x10000) AM_ROM AM_REGION(I80186_TAG, 0)
@@ -413,7 +416,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( compis_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( compis_io, AS_IO, 16, compis_state )
+ADDRESS_MAP_START(compis_state::compis_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0007) /* PCS0 */ AM_MIRROR(0x78) AM_DEVREADWRITE8(I8255_TAG, i8255_device, read, write, 0xff00)
AM_RANGE(0x0080, 0x0087) /* PCS1 */ AM_MIRROR(0x78) AM_DEVREADWRITE8(I8253_TAG, pit8253_device, read, write, 0x00ff)
diff --git a/src/mame/drivers/compucolor.cpp b/src/mame/drivers/compucolor.cpp
index ce332b09492..04ac1b8895c 100644
--- a/src/mame/drivers/compucolor.cpp
+++ b/src/mame/drivers/compucolor.cpp
@@ -79,15 +79,17 @@ public:
uint8_t m_xo;
void compucolor2(machine_config &config);
+ void compucolor2_io(address_map &map);
+ void compucolor2_mem(address_map &map);
};
-static ADDRESS_MAP_START( compucolor2_mem, AS_PROGRAM, 8, compucolor2_state )
+ADDRESS_MAP_START(compucolor2_state::compucolor2_mem)
AM_RANGE(0x0000, 0x3fff) AM_ROM AM_REGION(I8080_TAG, 0)
AM_RANGE(0x6000, 0x6fff) AM_MIRROR(0x1000) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x8000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( compucolor2_io, AS_IO, 8, compucolor2_state )
+ADDRESS_MAP_START(compucolor2_state::compucolor2_io)
AM_RANGE(0x00, 0x0f) AM_MIRROR(0x10) AM_DEVICE(TMS5501_TAG, tms5501_device, io_map)
AM_RANGE(0x60, 0x6f) AM_MIRROR(0x10) AM_DEVREADWRITE(CRT5027_TAG, crt5027_device, read, write)
AM_RANGE(0x80, 0x9f) AM_MIRROR(0x60) AM_ROM AM_REGION("ua1", 0)
diff --git a/src/mame/drivers/comquest.cpp b/src/mame/drivers/comquest.cpp
index 5be79af688d..0e9ec13ae20 100644
--- a/src/mame/drivers/comquest.cpp
+++ b/src/mame/drivers/comquest.cpp
@@ -62,7 +62,7 @@ WRITE8_MEMBER(comquest_state::comquest_write)
}
#endif
-static ADDRESS_MAP_START( comquest_mem , AS_PROGRAM, 8, comquest_state )
+ADDRESS_MAP_START(comquest_state::comquest_mem)
// { 0x0000, 0x7fff, SMH_BANK(1) },
AM_RANGE(0x0000, 0xfff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/comx35.cpp b/src/mame/drivers/comx35.cpp
index bb20cef75e5..4e4b00951e8 100644
--- a/src/mame/drivers/comx35.cpp
+++ b/src/mame/drivers/comx35.cpp
@@ -292,7 +292,7 @@ WRITE8_MEMBER( comx35_state::io_w )
// ADDRESS_MAP( comx35_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( comx35_mem, AS_PROGRAM, 8, comx35_state )
+ADDRESS_MAP_START(comx35_state::comx35_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xffff) AM_READWRITE(mem_r, mem_w)
ADDRESS_MAP_END
@@ -302,7 +302,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( comx35_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( comx35_io, AS_IO, 8, comx35_state )
+ADDRESS_MAP_START(comx35_state::comx35_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x07) AM_READWRITE(io_r, io_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/concept.cpp b/src/mame/drivers/concept.cpp
index 653e55aa961..967a7621e60 100644
--- a/src/mame/drivers/concept.cpp
+++ b/src/mame/drivers/concept.cpp
@@ -42,7 +42,7 @@
#include "screen.h"
#include "speaker.h"
-static ADDRESS_MAP_START(concept_memmap, AS_PROGRAM, 16, concept_state )
+ADDRESS_MAP_START(concept_state::concept_memmap)
AM_RANGE(0x000000, 0x000007) AM_ROM AM_REGION("maincpu", 0x010000) /* boot ROM mirror */
AM_RANGE(0x000008, 0x000fff) AM_RAM /* static RAM */
AM_RANGE(0x010000, 0x011fff) AM_ROM AM_REGION("maincpu", 0x010000) /* boot ROM */
diff --git a/src/mame/drivers/contra.cpp b/src/mame/drivers/contra.cpp
index 79ed78174e5..86075041e3d 100644
--- a/src/mame/drivers/contra.cpp
+++ b/src/mame/drivers/contra.cpp
@@ -55,7 +55,7 @@ WRITE8_MEMBER(contra_state::contra_coin_counter_w)
}
-static ADDRESS_MAP_START( contra_map, AS_PROGRAM, 8, contra_state )
+ADDRESS_MAP_START(contra_state::contra_map)
AM_RANGE(0x0000, 0x0007) AM_WRITE(contra_K007121_ctrl_0_w)
AM_RANGE(0x0010, 0x0010) AM_READ_PORT("SYSTEM")
AM_RANGE(0x0011, 0x0011) AM_READ_PORT("P1")
@@ -92,7 +92,7 @@ static ADDRESS_MAP_START( contra_map, AS_PROGRAM, 8, contra_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, contra_state )
+ADDRESS_MAP_START(contra_state::sound_map)
AM_RANGE(0x0000, 0x0000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0x2000, 0x2001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0x4000, 0x4000) AM_WRITENOP /* read triggers irq reset and latch read (in the hardware only). */
diff --git a/src/mame/drivers/controlid.cpp b/src/mame/drivers/controlid.cpp
index 2971ad32950..dff9c143f5f 100644
--- a/src/mame/drivers/controlid.cpp
+++ b/src/mame/drivers/controlid.cpp
@@ -45,6 +45,8 @@ public:
required_device<nt7534_device> m_lcdc;
void controlidx628(machine_config &config);
+ void io_map(address_map &map);
+ void prog_map(address_map &map);
private:
uint8_t p0_data;
uint8_t p1_data;
@@ -55,11 +57,11 @@ private:
* Memory map information *
*************************/
-static ADDRESS_MAP_START( prog_map, AS_PROGRAM, 8, controlidx628_state )
+ADDRESS_MAP_START(controlidx628_state::prog_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, controlidx628_state )
+ADDRESS_MAP_START(controlidx628_state::io_map)
AM_RANGE(0x8000, 0xffff) AM_RAM
// /* Ports start here */
diff --git a/src/mame/drivers/coolpool.cpp b/src/mame/drivers/coolpool.cpp
index ac0ae5e0c24..97eb6079a29 100644
--- a/src/mame/drivers/coolpool.cpp
+++ b/src/mame/drivers/coolpool.cpp
@@ -605,7 +605,7 @@ READ16_MEMBER(coolpool_state::coolpool_input_r)
*
*************************************/
-static ADDRESS_MAP_START( amerdart_map, AS_PROGRAM, 16, coolpool_state )
+ADDRESS_MAP_START(coolpool_state::amerdart_map)
AM_RANGE(0x00000000, 0x000fffff) AM_RAM AM_SHARE("vram_base")
AM_RANGE(0x04000000, 0x0400000f) AM_WRITE(amerdart_misc_w)
AM_RANGE(0x05000000, 0x0500000f) AM_READWRITE(amerdart_iop_r, amerdart_iop_w)
@@ -615,7 +615,7 @@ static ADDRESS_MAP_START( amerdart_map, AS_PROGRAM, 16, coolpool_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( coolpool_map, AS_PROGRAM, 16, coolpool_state )
+ADDRESS_MAP_START(coolpool_state::coolpool_map)
AM_RANGE(0x00000000, 0x001fffff) AM_RAM AM_SHARE("vram_base")
AM_RANGE(0x01000000, 0x010000ff) AM_DEVREADWRITE8("tlc34076", tlc34076_device, read, write, 0x00ff) // IMSG176P-40
AM_RANGE(0x02000000, 0x020000ff) AM_READWRITE(coolpool_iop_r, coolpool_iop_w)
@@ -627,7 +627,7 @@ static ADDRESS_MAP_START( coolpool_map, AS_PROGRAM, 16, coolpool_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nballsht_map, AS_PROGRAM, 16, coolpool_state )
+ADDRESS_MAP_START(coolpool_state::nballsht_map)
AM_RANGE(0x00000000, 0x001fffff) AM_RAM AM_SHARE("vram_base")
AM_RANGE(0x02000000, 0x020000ff) AM_READWRITE(coolpool_iop_r, coolpool_iop_w)
AM_RANGE(0x03000000, 0x0300000f) AM_WRITE(coolpool_misc_w)
@@ -646,13 +646,13 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( amerdart_dsp_pgm_map, AS_PROGRAM, 16, coolpool_state )
+ADDRESS_MAP_START(coolpool_state::amerdart_dsp_pgm_map)
AM_RANGE(0x000, 0x0fff) AM_ROM
ADDRESS_MAP_END
/* 000 - 0FF TMS32015 Internal Data RAM (256 words) in Data Address Space */
-static ADDRESS_MAP_START( amerdart_dsp_io_map, AS_IO, 16, coolpool_state )
+ADDRESS_MAP_START(coolpool_state::amerdart_dsp_io_map)
AM_RANGE(0x00, 0x01) AM_WRITE(dsp_romaddr_w)
AM_RANGE(0x02, 0x02) AM_WRITE(amerdart_dsp_answer_w)
AM_RANGE(0x03, 0x03) AM_DEVWRITE("dac", dac_word_interface, write)
@@ -664,12 +664,12 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( coolpool_dsp_pgm_map, AS_PROGRAM, 16, coolpool_state )
+ADDRESS_MAP_START(coolpool_state::coolpool_dsp_pgm_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( coolpool_dsp_io_map, AS_IO, 16, coolpool_state )
+ADDRESS_MAP_START(coolpool_state::coolpool_dsp_io_map)
AM_RANGE(0x00, 0x01) AM_WRITE(dsp_romaddr_w)
AM_RANGE(0x02, 0x02) AM_READWRITE(dsp_cmd_r, dsp_answer_w)
AM_RANGE(0x03, 0x03) AM_DEVWRITE("dac", dac_word_interface, write)
diff --git a/src/mame/drivers/coolridr.cpp b/src/mame/drivers/coolridr.cpp
index cb8e99acad7..02aacacf5cb 100644
--- a/src/mame/drivers/coolridr.cpp
+++ b/src/mame/drivers/coolridr.cpp
@@ -539,6 +539,11 @@ public:
objcachemanager decode[2];
void aquastge(machine_config &config);
void coolridr(machine_config &config);
+ void aquastge_h1_map(address_map &map);
+ void aquastge_submap(address_map &map);
+ void coolridr_submap(address_map &map);
+ void system_h1_map(address_map &map);
+ void system_h1_sound_map(address_map &map);
};
#define PRINT_BLIT_STUFF \
@@ -2819,7 +2824,7 @@ WRITE32_MEMBER(coolridr_state::sysh1_dma_w)
}
-static ADDRESS_MAP_START( system_h1_map, AS_PROGRAM, 32, coolridr_state )
+ADDRESS_MAP_START(coolridr_state::system_h1_map)
AM_RANGE(0x00000000, 0x001fffff) AM_ROM AM_SHARE("share1") AM_WRITENOP
AM_RANGE(0x01000000, 0x01ffffff) AM_ROM AM_REGION("gfx_data",0x0000000)
@@ -2839,7 +2844,7 @@ static ADDRESS_MAP_START( system_h1_map, AS_PROGRAM, 32, coolridr_state )
AM_RANGE(0x60000000, 0x600003ff) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START(aquastge_h1_map, AS_PROGRAM, 32, coolridr_state)
+ADDRESS_MAP_START(coolridr_state::aquastge_h1_map)
AM_IMPORT_FROM(system_h1_map)
AM_RANGE(0x03c00000, 0x03c0ffff) AM_MIRROR(0x00200000) AM_RAM_WRITE(sysh1_dma_w) AM_SHARE("fb_vram") /* mostly mapped at 0x03e00000 */
AM_RANGE(0x03f50000, 0x03f5ffff) AM_RAM // video registers
@@ -2983,7 +2988,7 @@ WRITE32_MEMBER(coolridr_state::sysh1_sound_dma_w)
-static ADDRESS_MAP_START( coolridr_submap, AS_PROGRAM, 32, coolridr_state )
+ADDRESS_MAP_START(coolridr_state::coolridr_submap)
AM_RANGE(0x00000000, 0x0001ffff) AM_ROM // note: SH7032 only supports 64KB
AM_RANGE(0x01000000, 0x0100ffff) AM_RAM //communication RAM
@@ -3012,7 +3017,7 @@ static ADDRESS_MAP_START( coolridr_submap, AS_PROGRAM, 32, coolridr_state )
AM_RANGE(0x07ffe000, 0x07ffffff) AM_RAM // On-Chip RAM (actually mapped at 0x0fffe000-0x0fffffff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( aquastge_submap, AS_PROGRAM, 32, coolridr_state )
+ADDRESS_MAP_START(coolridr_state::aquastge_submap)
AM_IMPORT_FROM(coolridr_submap)
AM_RANGE(0x05200000, 0x0537ffff) AM_RAM
AM_RANGE(0x05210000, 0x0521ffff) AM_RAM AM_SHARE("share3") /*Communication area RAM*/
@@ -3026,7 +3031,7 @@ WRITE8_MEMBER(coolridr_state::sound_to_sh1_w)
sound_fifo = data;
}
-static ADDRESS_MAP_START( system_h1_sound_map, AS_PROGRAM, 16, coolridr_state )
+ADDRESS_MAP_START(coolridr_state::system_h1_sound_map)
AM_RANGE(0x000000, 0x07ffff) AM_RAM AM_REGION("scsp1",0) AM_SHARE("soundram")
AM_RANGE(0x100000, 0x100fff) AM_DEVREADWRITE("scsp1", scsp_device, read, write)
AM_RANGE(0x200000, 0x27ffff) AM_RAM AM_REGION("scsp2",0) AM_SHARE("soundram2")
diff --git a/src/mame/drivers/cop01.cpp b/src/mame/drivers/cop01.cpp
index 132a5a58c14..6ca1018e572 100644
--- a/src/mame/drivers/cop01.cpp
+++ b/src/mame/drivers/cop01.cpp
@@ -123,7 +123,7 @@ READ8_MEMBER(cop01_state::cop01_sound_irq_ack_w)
*
*************************************/
-static ADDRESS_MAP_START( cop01_map, AS_PROGRAM, 8, cop01_state )
+ADDRESS_MAP_START(cop01_state::cop01_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM /* c000-c7ff in cop01 */
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(cop01_background_w) AM_SHARE("bgvideoram")
@@ -131,7 +131,7 @@ static ADDRESS_MAP_START( cop01_map, AS_PROGRAM, 8, cop01_state )
AM_RANGE(0xf000, 0xf3ff) AM_WRITE(cop01_foreground_w) AM_SHARE("fgvideoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, cop01_state )
+ADDRESS_MAP_START(cop01_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("P1")
AM_RANGE(0x01, 0x01) AM_READ_PORT("P2")
@@ -143,7 +143,7 @@ static ADDRESS_MAP_START( io_map, AS_IO, 8, cop01_state )
AM_RANGE(0x45, 0x45) AM_WRITE(cop01_irq_ack_w) /* ? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mightguy_io_map, AS_IO, 8, cop01_state )
+ADDRESS_MAP_START(cop01_state::mightguy_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("P1")
AM_RANGE(0x01, 0x01) AM_READ_PORT("P2")
@@ -155,13 +155,13 @@ static ADDRESS_MAP_START( mightguy_io_map, AS_IO, 8, cop01_state )
AM_RANGE(0x45, 0x45) AM_WRITE(cop01_irq_ack_w) /* ? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, cop01_state )
+ADDRESS_MAP_START(cop01_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8000) AM_READ(cop01_sound_irq_ack_w)
AM_RANGE(0xc000, 0xc7ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audio_io_map, AS_IO, 8, cop01_state )
+ADDRESS_MAP_START(cop01_state::audio_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
AM_RANGE(0x02, 0x03) AM_DEVWRITE("ay2", ay8910_device, address_data_w)
@@ -239,7 +239,7 @@ WRITE8_MEMBER(cop01_state::prot_data_w)
}
}
-static ADDRESS_MAP_START( mightguy_audio_io_map, AS_IO, 8, cop01_state )
+ADDRESS_MAP_START(cop01_state::mightguy_audio_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("ymsnd", ym3526_device, write)
AM_RANGE(0x02, 0x02) AM_WRITE(prot_address_w) /* 1412M2 address? */
diff --git a/src/mame/drivers/cops.cpp b/src/mame/drivers/cops.cpp
index 7a9f79dd84a..2c6eec37eb3 100644
--- a/src/mame/drivers/cops.cpp
+++ b/src/mame/drivers/cops.cpp
@@ -70,6 +70,8 @@ public:
void revlatns(machine_config &config);
void cops(machine_config &config);
+ void cops_map(address_map &map);
+ void revlatns_map(address_map &map);
protected:
// driver_device overrides
virtual void machine_start() override;
@@ -800,7 +802,7 @@ WRITE_LINE_MEMBER(cops_state::via2_irq)
*
*************************************/
-static ADDRESS_MAP_START( cops_map, AS_PROGRAM, 8, cops_state )
+ADDRESS_MAP_START(cops_state::cops_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x9fff) AM_ROM AM_REGION("program", 0)
AM_RANGE(0xa000, 0xafff) AM_READWRITE(io1_r, io1_w)
@@ -812,7 +814,7 @@ static ADDRESS_MAP_START( cops_map, AS_PROGRAM, 8, cops_state )
AM_RANGE(0xe000, 0xffff) AM_ROMBANK("sysbank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( revlatns_map, AS_PROGRAM, 8, cops_state )
+ADDRESS_MAP_START(cops_state::revlatns_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x9fff) AM_ROM AM_REGION("program", 0)
AM_RANGE(0xa000, 0xafff) AM_READWRITE(io1_lm_r, io1_w)
diff --git a/src/mame/drivers/copsnrob.cpp b/src/mame/drivers/copsnrob.cpp
index e872a102f4a..1eaad43989a 100644
--- a/src/mame/drivers/copsnrob.cpp
+++ b/src/mame/drivers/copsnrob.cpp
@@ -90,7 +90,7 @@ WRITE8_MEMBER(copsnrob_state::copsnrob_misc2_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, copsnrob_state )
+ADDRESS_MAP_START(copsnrob_state::main_map)
ADDRESS_MAP_GLOBAL_MASK(0x1fff)
AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x0500, 0x0507) AM_DEVWRITE("latch", f9334_device, write_d0)
diff --git a/src/mame/drivers/corona.cpp b/src/mame/drivers/corona.cpp
index ad6f4504ccf..15e38a57824 100644
--- a/src/mame/drivers/corona.cpp
+++ b/src/mame/drivers/corona.cpp
@@ -365,6 +365,22 @@ public:
void rcirulet(machine_config &config);
void luckyrlt(machine_config &config);
void re800(machine_config &config);
+ void luckyrlt_cpu_io_map(address_map &map);
+ void luckyrlt_map(address_map &map);
+ void luckyrlt_sound_cpu_io_map(address_map &map);
+ void luckyrlt_sound_map(address_map &map);
+ void re800_cpu_io_map(address_map &map);
+ void re800_map(address_map &map);
+ void re800_sound_cpu_io_map(address_map &map);
+ void re800_sound_map(address_map &map);
+ void winner81_cpu_io_map(address_map &map);
+ void winner81_map(address_map &map);
+ void winner81_sound_cpu_io_map(address_map &map);
+ void winner81_sound_map(address_map &map);
+ void winner82_cpu_io_map(address_map &map);
+ void winner82_map(address_map &map);
+ void winner82_sound_cpu_io_map(address_map &map);
+ void winner82_sound_map(address_map &map);
};
@@ -611,13 +627,13 @@ WRITE8_MEMBER(corona_state::wc_meters_w)
*/
-static ADDRESS_MAP_START( winner81_map, AS_PROGRAM, 8, corona_state )
+ADDRESS_MAP_START(corona_state::winner81_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xb800, 0xb8ff) AM_RAM // copied from 8000 (0x10 bytes, repeated)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( winner81_cpu_io_map, AS_IO, 8, corona_state )
+ADDRESS_MAP_START(corona_state::winner81_cpu_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x70, 0x70) AM_WRITE(blitter_x_w)
AM_RANGE(0x71, 0x71) AM_WRITE(blitter_unk_w)
@@ -639,12 +655,12 @@ static ADDRESS_MAP_START( winner81_cpu_io_map, AS_IO, 8, corona_state )
AM_RANGE(0xef, 0xef) AM_WRITE(wc_meters_w) /* meters: coin1 = bit0, coin2 = bit1, coinout = bit2 */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( winner81_sound_map, AS_PROGRAM, 8, corona_state )
+ADDRESS_MAP_START(corona_state::winner81_sound_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( winner81_sound_cpu_io_map, AS_IO, 8, corona_state )
+ADDRESS_MAP_START(corona_state::winner81_sound_cpu_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(sound_latch_r)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
@@ -668,13 +684,13 @@ ADDRESS_MAP_END
FE ---> Sound Latch (writes 01, 02 and 03 during attract)...
*/
-static ADDRESS_MAP_START( winner82_map, AS_PROGRAM, 8, corona_state )
+ADDRESS_MAP_START(corona_state::winner82_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x4fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x8000, 0x80ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( winner82_cpu_io_map, AS_IO, 8, corona_state )
+ADDRESS_MAP_START(corona_state::winner82_cpu_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xf0, 0xf0) AM_WRITE(blitter_x_w)
AM_RANGE(0xf1, 0xf1) AM_WRITE(blitter_y_w)
@@ -693,12 +709,12 @@ static ADDRESS_MAP_START( winner82_cpu_io_map, AS_IO, 8, corona_state )
AM_RANGE(0xff, 0xff) AM_READ_PORT("DSW2") /* no idea */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( winner82_sound_map, AS_PROGRAM, 8, corona_state )
+ADDRESS_MAP_START(corona_state::winner82_sound_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1000, 0x13ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( winner82_sound_cpu_io_map, AS_IO, 8, corona_state )
+ADDRESS_MAP_START(corona_state::winner82_sound_cpu_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(sound_latch_r)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
@@ -732,13 +748,13 @@ ADDRESS_MAP_END
*/
-static ADDRESS_MAP_START( re800_map, AS_PROGRAM, 8, corona_state )
+ADDRESS_MAP_START(corona_state::re800_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("nvram") //801a comm?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( re800_cpu_io_map, AS_IO, 8, corona_state )
+ADDRESS_MAP_START(corona_state::re800_cpu_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xf0, 0xf0) AM_WRITE(blitter_x_w)
AM_RANGE(0xf1, 0xf1) AM_WRITE(blitter_y_w)
@@ -754,12 +770,12 @@ static ADDRESS_MAP_START( re800_cpu_io_map, AS_IO, 8, corona_state )
AM_RANGE(0xff, 0xff) AM_WRITE(ball_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( re800_sound_map, AS_PROGRAM, 8, corona_state )
+ADDRESS_MAP_START(corona_state::re800_sound_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( re800_sound_cpu_io_map, AS_IO, 8, corona_state )
+ADDRESS_MAP_START(corona_state::re800_sound_cpu_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(sound_latch_r)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
@@ -792,12 +808,12 @@ ADDRESS_MAP_END
*/
-static ADDRESS_MAP_START( luckyrlt_map, AS_PROGRAM, 8, corona_state )
+ADDRESS_MAP_START(corona_state::luckyrlt_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( luckyrlt_cpu_io_map, AS_IO, 8, corona_state )
+ADDRESS_MAP_START(corona_state::luckyrlt_cpu_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xf0, 0xf0) AM_WRITE(blitter_x_w)
AM_RANGE(0xf1, 0xf1) AM_WRITE(blitter_y_w)
@@ -814,12 +830,12 @@ static ADDRESS_MAP_START( luckyrlt_cpu_io_map, AS_IO, 8, corona_state )
AM_RANGE(0xfe, 0xfe) AM_WRITE(sound_latch_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( luckyrlt_sound_map, AS_PROGRAM, 8, corona_state )
+ADDRESS_MAP_START(corona_state::luckyrlt_sound_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1000, 0x13ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( luckyrlt_sound_cpu_io_map, AS_IO, 8, corona_state )
+ADDRESS_MAP_START(corona_state::luckyrlt_sound_cpu_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(sound_latch_r)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
diff --git a/src/mame/drivers/cortex.cpp b/src/mame/drivers/cortex.cpp
index d6088091800..d9482ff4414 100644
--- a/src/mame/drivers/cortex.cpp
+++ b/src/mame/drivers/cortex.cpp
@@ -73,6 +73,8 @@ public:
DECLARE_DRIVER_INIT(init);
void cortex(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
bool m_kbd_ack;
bool m_vdp_int;
@@ -83,7 +85,7 @@ private:
required_ioport m_io_dsw;
};
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, cortex_state )
+ADDRESS_MAP_START(cortex_state::mem_map)
AM_RANGE(0x0000, 0x7fff) AM_READ_BANK("bankr0") AM_WRITE_BANK("bankw0")
AM_RANGE(0x8000, 0xefff) AM_RAM
AM_RANGE(0xf100, 0xf11f) AM_RAM // memory mapping unit
@@ -92,7 +94,7 @@ static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, cortex_state )
//AM_RANGE(0xf140, 0xf147) // fdc tms9909
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, cortex_state )
+ADDRESS_MAP_START(cortex_state::io_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0007) AM_MIRROR(0x18) AM_DEVWRITE("control", ls259_device, write_d0)
AM_RANGE(0x0000, 0x0000) AM_READ(pio_r)
diff --git a/src/mame/drivers/cosmic.cpp b/src/mame/drivers/cosmic.cpp
index ccf157caeba..b6641992116 100644
--- a/src/mame/drivers/cosmic.cpp
+++ b/src/mame/drivers/cosmic.cpp
@@ -376,7 +376,7 @@ WRITE8_MEMBER(cosmic_state::flip_screen_w)
}
-static ADDRESS_MAP_START( panic_map, AS_PROGRAM, 8, cosmic_state )
+ADDRESS_MAP_START(cosmic_state::panic_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x5fff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x6000, 0x601f) AM_WRITEONLY AM_SHARE("spriteram")
@@ -391,7 +391,7 @@ static ADDRESS_MAP_START( panic_map, AS_PROGRAM, 8, cosmic_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cosmica_map, AS_PROGRAM, 8, cosmic_state )
+ADDRESS_MAP_START(cosmic_state::cosmica_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x5fff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x6000, 0x601f) AM_WRITEONLY AM_SHARE("spriteram")
@@ -405,12 +405,12 @@ static ADDRESS_MAP_START( cosmica_map, AS_PROGRAM, 8, cosmic_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cosmicg_map, AS_PROGRAM, 8, cosmic_state )
+ADDRESS_MAP_START(cosmic_state::cosmicg_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x3fff) AM_RAM AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cosmicg_io_map, AS_IO, 8, cosmic_state )
+ADDRESS_MAP_START(cosmic_state::cosmicg_io_map)
AM_RANGE(0x00, 0x00) AM_READ(cosmicg_port_0_r)
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
AM_RANGE(0x00, 0x15) AM_WRITE(cosmicg_output_w)
@@ -418,7 +418,7 @@ static ADDRESS_MAP_START( cosmicg_io_map, AS_IO, 8, cosmic_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( magspot_map, AS_PROGRAM, 8, cosmic_state )
+ADDRESS_MAP_START(cosmic_state::magspot_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x3800, 0x3807) AM_READ(magspot_coinage_dip_r)
AM_RANGE(0x4000, 0x401f) AM_WRITEONLY AM_SHARE("spriteram")
diff --git a/src/mame/drivers/cosmicos.cpp b/src/mame/drivers/cosmicos.cpp
index 55cf850b949..a064a532350 100644
--- a/src/mame/drivers/cosmicos.cpp
+++ b/src/mame/drivers/cosmicos.cpp
@@ -179,11 +179,11 @@ WRITE8_MEMBER( cosmicos_state::display_w )
/* Memory Maps */
-static ADDRESS_MAP_START( cosmicos_mem, AS_PROGRAM, 8, cosmicos_state )
+ADDRESS_MAP_START(cosmicos_state::cosmicos_mem)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cosmicos_io, AS_IO, 8, cosmicos_state )
+ADDRESS_MAP_START(cosmicos_state::cosmicos_io)
// AM_RANGE(0x00, 0x00)
AM_RANGE(0x01, 0x01) AM_READ(video_on_r)
AM_RANGE(0x02, 0x02) AM_READWRITE(video_off_r, audio_latch_w)
diff --git a/src/mame/drivers/cp1.cpp b/src/mame/drivers/cp1.cpp
index 9d9bc1b0193..88e32f6fb54 100644
--- a/src/mame/drivers/cp1.cpp
+++ b/src/mame/drivers/cp1.cpp
@@ -54,6 +54,7 @@ public:
DECLARE_WRITE8_MEMBER(i8155_portc_w);
void cp1(machine_config &config);
+ void cp1_io(address_map &map);
private:
uint8_t m_7seg;
uint8_t m_port2;
@@ -180,7 +181,7 @@ WRITE8_MEMBER(cp1_state::i8155_portc_w)
}
-static ADDRESS_MAP_START( cp1_io , AS_IO, 8, cp1_state)
+ADDRESS_MAP_START(cp1_state::cp1_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x00, 0xff ) AM_READWRITE( i8155_read, i8155_write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cps1.cpp b/src/mame/drivers/cps1.cpp
index 80d62a9fdbd..c07406339f3 100644
--- a/src/mame/drivers/cps1.cpp
+++ b/src/mame/drivers/cps1.cpp
@@ -535,7 +535,7 @@ All PRGx go to B-board. Provision for up to 4MB of ROM space, which was never us
*/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, cps_state )
+ADDRESS_MAP_START(cps_state::main_map)
AM_RANGE(0x000000, 0x3fffff) AM_ROM
AM_RANGE(0x800000, 0x800007) AM_READ_PORT("IN1") /* Player input ports */
/* forgottn, willow, cawing, nemo, varth read from 800010. Probably debug input leftover from development */
@@ -556,7 +556,7 @@ ADDRESS_MAP_END
/* Forgotten Worlds has a NEC uPD4701AC on the B-board handling dial inputs from the CN-MOWS connector. */
/* The memory mapping is handled by PAL LWIO */
-static ADDRESS_MAP_START( forgottn_map, AS_PROGRAM, 16, cps_state )
+ADDRESS_MAP_START(cps_state::forgottn_map)
AM_IMPORT_FROM(main_map)
AM_RANGE(0x800040, 0x800041) AM_DEVWRITE8("upd4701", upd4701_device, reset_x, 0x00ff)
AM_RANGE(0x800048, 0x800049) AM_DEVWRITE8("upd4701", upd4701_device, reset_y, 0x00ff)
@@ -587,7 +587,7 @@ SOUNDA15 = pin13 = ( I1 )
/SOUNDCE = pin12 = ! ( !I0 & (!I1 | ( I1 & !I2)) )
*/
-static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 8, cps_state )
+ADDRESS_MAP_START(cps_state::sub_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xd000, 0xd7ff) AM_RAM
@@ -599,7 +599,7 @@ static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 8, cps_state )
AM_RANGE(0xf00a, 0xf00a) AM_DEVREAD("soundlatch2", generic_latch_8_device, read) /* Sound timer fade */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( qsound_main_map, AS_PROGRAM, 16, cps_state )
+ADDRESS_MAP_START(cps_state::qsound_main_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x800000, 0x800007) AM_READ_PORT("IN1") /* Player input ports */
AM_RANGE(0x800018, 0x80001f) AM_READ(cps1_dsw_r) /* System input ports / Dip Switches */
@@ -617,7 +617,7 @@ static ADDRESS_MAP_START( qsound_main_map, AS_PROGRAM, 16, cps_state )
AM_RANGE(0xff0000, 0xffffff) AM_RAM AM_SHARE("mainram")
ADDRESS_MAP_END
-ADDRESS_MAP_START( qsound_sub_map, AS_PROGRAM, 8, cps_state ) // used by cps2.c too
+ADDRESS_MAP_START(cps_state::qsound_sub_map) // used by cps2.c too
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") /* banked (contains music data) */
AM_RANGE(0xc000, 0xcfff) AM_RAM AM_SHARE("qsound_ram1")
@@ -627,11 +627,11 @@ ADDRESS_MAP_START( qsound_sub_map, AS_PROGRAM, 8, cps_state ) // used by cps2.
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("qsound_ram2")
ADDRESS_MAP_END
-ADDRESS_MAP_START( qsound_decrypted_opcodes_map, AS_OPCODES, 8, cps_state )
+ADDRESS_MAP_START(cps_state::qsound_decrypted_opcodes_map)
AM_RANGE(0x0000, 0x7fff) AM_ROMBANK("decrypted")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sf2m3_map, AS_PROGRAM, 16, cps_state )
+ADDRESS_MAP_START(cps_state::sf2m3_map)
AM_RANGE(0x000000, 0x3fffff) AM_ROM
AM_RANGE(0x800010, 0x800011) AM_READ_PORT("IN1") /* Player input ports */
AM_RANGE(0x800028, 0x80002f) AM_READ(cps1_hack_dsw_r) /* System input ports / Dip Switches */
@@ -647,7 +647,7 @@ static ADDRESS_MAP_START( sf2m3_map, AS_PROGRAM, 16, cps_state )
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sf2m10_map, AS_PROGRAM, 16, cps_state )
+ADDRESS_MAP_START(cps_state::sf2m10_map)
AM_RANGE(0x000000, 0x3fffff) AM_ROM
AM_RANGE(0x800000, 0x800007) AM_READ_PORT("IN1")
AM_RANGE(0x800018, 0x80001f) AM_READ(cps1_hack_dsw_r)
@@ -3418,7 +3418,7 @@ MACHINE_CONFIG_DERIVED(cps_state::qsound, cps1_12MHz)
MCFG_CPU_REPLACE("audiocpu", Z80, XTAL(8'000'000)) /* verified on pcb */
MCFG_CPU_PROGRAM_MAP(qsound_sub_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(qsound_decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(qsound_decrypted_opcodes_map)
MCFG_CPU_PERIODIC_INT_DRIVER(cps_state, irq0_line_hold, 250) // measured (cps2.c)
MCFG_MACHINE_START_OVERRIDE(cps_state, qsound)
diff --git a/src/mame/drivers/cps2.cpp b/src/mame/drivers/cps2.cpp
index af10115fa8a..12105dfefcf 100644
--- a/src/mame/drivers/cps2.cpp
+++ b/src/mame/drivers/cps2.cpp
@@ -926,7 +926,7 @@ READ16_MEMBER(cps_state::joy_or_paddle_ecofghtr_r)
*
*************************************/
-static ADDRESS_MAP_START( cps2_map, AS_PROGRAM, 16, cps_state )
+ADDRESS_MAP_START(cps_state::cps2_map)
AM_RANGE(0x000000, 0x3fffff) AM_ROM /* 68000 ROM */
AM_RANGE(0x400000, 0x40000b) AM_RAM AM_SHARE("output") /* CPS2 object output */
AM_RANGE(0x618000, 0x619fff) AM_READWRITE(qsound_sharedram1_r, qsound_sharedram1_w) /* Q RAM */
@@ -953,11 +953,11 @@ static ADDRESS_MAP_START( cps2_map, AS_PROGRAM, 16, cps_state )
AM_RANGE(0xff0000, 0xffffff) AM_RAM /* RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 16, cps_state )
+ADDRESS_MAP_START(cps_state::decrypted_opcodes_map)
AM_RANGE(0x000000, 0x3fffff) AM_ROM AM_SHARE("decrypted_opcodes") /* 68000 ROM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dead_cps2_map, AS_PROGRAM, 16, cps_state )
+ADDRESS_MAP_START(cps_state::dead_cps2_map)
AM_RANGE(0x000000, 0x3fffff) AM_ROM /* 68000 ROM */
AM_RANGE(0x400000, 0x40000b) AM_RAM AM_SHARE("output") /* CPS2 object output */
AM_RANGE(0x618000, 0x619fff) AM_READWRITE(qsound_sharedram1_r, qsound_sharedram1_w) /* Q RAM */
@@ -1306,7 +1306,7 @@ MACHINE_CONFIG_START(cps_state::cps2)
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, XTAL(16'000'000))
MCFG_CPU_PROGRAM_MAP(cps2_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", cps_state, cps2_interrupt, "screen", 0, 1)
MCFG_CPU_ADD("audiocpu", Z80, XTAL(8'000'000))
diff --git a/src/mame/drivers/cps3.cpp b/src/mame/drivers/cps3.cpp
index 03a459be7ea..7b243707750 100644
--- a/src/mame/drivers/cps3.cpp
+++ b/src/mame/drivers/cps3.cpp
@@ -2147,7 +2147,7 @@ WRITE32_MEMBER(cps3_state::cps3_colourram_w)
/* there are more unknown writes, but you get the idea */
-static ADDRESS_MAP_START( cps3_map, AS_PROGRAM, 32, cps3_state )
+ADDRESS_MAP_START(cps3_state::cps3_map)
AM_RANGE(0x00000000, 0x0007ffff) AM_ROM AM_REGION("bios", 0) // Bios ROM
AM_RANGE(0x02000000, 0x0207ffff) AM_RAM AM_SHARE("mainram") // Main RAM
@@ -2213,7 +2213,7 @@ static ADDRESS_MAP_START( cps3_map, AS_PROGRAM, 32, cps3_state )
AM_RANGE(0xc0000000, 0xc00003ff) AM_RAM_WRITE(cps3_0xc0000000_ram_w ) AM_SHARE("0xc0000000_ram") /* Executes code from here */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 32, cps3_state )
+ADDRESS_MAP_START(cps3_state::decrypted_opcodes_map)
AM_RANGE(0x00000000, 0x0007ffff) AM_ROM AM_REGION("bios", 0) // Bios ROM
AM_RANGE(0x06000000, 0x06ffffff) AM_ROM AM_SHARE("decrypted_gamerom")
AM_RANGE(0xc0000000, 0xc00003ff) AM_ROM AM_SHARE("0xc0000000_ram_decrypted")
@@ -2523,7 +2523,7 @@ MACHINE_CONFIG_START(cps3_state::cps3)
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", SH2, 6250000*4) // external clock is 6.25 Mhz, it sets the internal multiplier to 4x (this should probably be handled in the core..)
MCFG_CPU_PROGRAM_MAP(cps3_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", cps3_state, cps3_vbl_interrupt)
MCFG_CPU_PERIODIC_INT_DRIVER(cps3_state, cps3_other_interrupt, 80) /* ?source? */
MCFG_SH2_DMA_KLUDGE_CB(cps3_state, dma_callback)
diff --git a/src/mame/drivers/craft.cpp b/src/mame/drivers/craft.cpp
index 8c24c33de20..ea320a17586 100644
--- a/src/mame/drivers/craft.cpp
+++ b/src/mame/drivers/craft.cpp
@@ -68,6 +68,9 @@ public:
inline void verboselog(int n_level, const char *s_fmt, ...) ATTR_PRINTF(3,4);
required_device<dac_byte_interface> m_dac;
void craft(machine_config &config);
+ void craft_data_map(address_map &map);
+ void craft_io_map(address_map &map);
+ void craft_prg_map(address_map &map);
};
inline void craft_state::verboselog(int n_level, const char *s_fmt, ...)
@@ -182,15 +185,15 @@ void craft_state::video_update()
* Address maps *
\****************************************************/
-static ADDRESS_MAP_START( craft_prg_map, AS_PROGRAM, 8, craft_state )
+ADDRESS_MAP_START(craft_state::craft_prg_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( craft_data_map, AS_DATA, 8, craft_state )
+ADDRESS_MAP_START(craft_state::craft_data_map)
AM_RANGE(0x0100, 0x04ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( craft_io_map, AS_IO, 8, craft_state )
+ADDRESS_MAP_START(craft_state::craft_io_map)
AM_RANGE(AVR8_IO_PORTA, AVR8_IO_PORTD) AM_READWRITE( port_r, port_w )
ADDRESS_MAP_END
diff --git a/src/mame/drivers/crbaloon.cpp b/src/mame/drivers/crbaloon.cpp
index dbf15eccfdc..560a91f012b 100644
--- a/src/mame/drivers/crbaloon.cpp
+++ b/src/mame/drivers/crbaloon.cpp
@@ -192,7 +192,7 @@ WRITE8_MEMBER(crbaloon_state::port_sound_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, crbaloon_state )
+ADDRESS_MAP_START(crbaloon_state::main_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff) /* A15 is not decoded */
AM_RANGE(0x0000, 0x3fff) AM_ROM /* not fully populated */
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x0400) AM_RAM
@@ -209,7 +209,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( main_io_map, AS_IO, 8, crbaloon_state )
+ADDRESS_MAP_START(crbaloon_state::main_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xf)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x0c) AM_READ_PORT("DSW0")
AM_RANGE(0x01, 0x01) AM_MIRROR(0x0c) AM_READ_PORT("IN0")
diff --git a/src/mame/drivers/crgolf.cpp b/src/mame/drivers/crgolf.cpp
index 515479623ad..1f9460d2bc1 100644
--- a/src/mame/drivers/crgolf.cpp
+++ b/src/mame/drivers/crgolf.cpp
@@ -333,7 +333,7 @@ WRITE_LINE_MEMBER(crgolf_state::screenb_enable_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, crgolf_state )
+ADDRESS_MAP_START(crgolf_state::main_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x5fff) AM_RAM
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("bank1")
@@ -343,7 +343,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, crgolf_state )
AM_RANGE(0xa000, 0xffff) AM_DEVICE("vrambank", address_map_bank_device, amap8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vrambank_map, AS_PROGRAM, 8, crgolf_state )
+ADDRESS_MAP_START(crgolf_state::vrambank_map)
AM_RANGE(0x0000, 0x5fff) AM_RAM AM_SHARE("vrama")
AM_RANGE(0x8000, 0xdfff) AM_RAM AM_SHARE("vramb")
ADDRESS_MAP_END
@@ -355,7 +355,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, crgolf_state )
+ADDRESS_MAP_START(crgolf_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xc000, 0xc001) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
@@ -371,7 +371,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( mastrglf_map, AS_PROGRAM, 8, crgolf_state )
+ADDRESS_MAP_START(crgolf_state::mastrglf_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x5fff) AM_ROMBANK("bank1")
AM_RANGE(0x6000, 0x8fff) AM_RAM // maybe RAM and ROM here?
@@ -381,7 +381,7 @@ static ADDRESS_MAP_START( mastrglf_map, AS_PROGRAM, 8, crgolf_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mastrglf_io, AS_IO, 8, crgolf_state )
+ADDRESS_MAP_START(crgolf_state::mastrglf_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x07) AM_DEVWRITE("mainlatch", ls259_device, write_d0)
// AM_RANGE(0x20, 0x20) AM_WRITE(rom_bank_select_w)
@@ -391,7 +391,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( mastrglf_submap, AS_PROGRAM, 8, crgolf_state )
+ADDRESS_MAP_START(crgolf_state::mastrglf_submap)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
ADDRESS_MAP_END
@@ -417,7 +417,7 @@ WRITE8_MEMBER(crgolf_state::unk_sub_0c_w)
}
-static ADDRESS_MAP_START( mastrglf_subio, AS_IO, 8, crgolf_state )
+ADDRESS_MAP_START(crgolf_state::mastrglf_subio)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(main_to_sound_r) AM_WRITENOP
AM_RANGE(0x02, 0x02) AM_READ(unk_sub_02_r )
diff --git a/src/mame/drivers/crimfght.cpp b/src/mame/drivers/crimfght.cpp
index e1749d6e5ce..dfaf75357e6 100644
--- a/src/mame/drivers/crimfght.cpp
+++ b/src/mame/drivers/crimfght.cpp
@@ -81,7 +81,7 @@ WRITE8_MEMBER(crimfght_state::ym2151_ct_w)
m_k007232->set_bank(bank_a, bank_b);
}
-static ADDRESS_MAP_START( crimfght_map, AS_PROGRAM, 8, crimfght_state )
+ADDRESS_MAP_START(crimfght_state::crimfght_map)
AM_RANGE(0x0000, 0x03ff) AM_DEVICE("bank0000", address_map_bank_device, amap8)
AM_RANGE(0x0400, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x5fff) AM_READWRITE(k052109_051960_r, k052109_051960_w) /* video RAM + sprite RAM */
@@ -99,13 +99,13 @@ static ADDRESS_MAP_START( crimfght_map, AS_PROGRAM, 8, crimfght_state )
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("maincpu", 0x18000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bank0000_map, AS_PROGRAM, 8, crimfght_state )
+ADDRESS_MAP_START(crimfght_state::bank0000_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x07ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
// full memory map derived from schematics
-static ADDRESS_MAP_START( crimfght_sound_map, AS_PROGRAM, 8, crimfght_state )
+ADDRESS_MAP_START(crimfght_state::crimfght_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_MIRROR(0x1800) AM_RAM
AM_RANGE(0xa000, 0xa001) AM_MIRROR(0x1ffe) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
diff --git a/src/mame/drivers/crospang.cpp b/src/mame/drivers/crospang.cpp
index 98414e773ff..9b26c55b560 100644
--- a/src/mame/drivers/crospang.cpp
+++ b/src/mame/drivers/crospang.cpp
@@ -45,7 +45,7 @@
/* main cpu */
-static ADDRESS_MAP_START( crospang_base_map, AS_PROGRAM, 16, crospang_state )
+ADDRESS_MAP_START(crospang_state::crospang_base_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM AM_WRITENOP // writes to rom quite often
AM_RANGE(0x120000, 0x1207ff) AM_RAM_WRITE(crospang_fg_videoram_w) AM_SHARE("fg_videoram")
@@ -59,7 +59,7 @@ static ADDRESS_MAP_START( crospang_base_map, AS_PROGRAM, 16, crospang_state )
AM_RANGE(0x280004, 0x280005) AM_READ_PORT("DSW")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( crospang_map, AS_PROGRAM, 16, crospang_state )
+ADDRESS_MAP_START(crospang_state::crospang_map)
AM_IMPORT_FROM(crospang_base_map)
AM_RANGE(0x100000, 0x100001) AM_WRITENOP
@@ -72,7 +72,7 @@ static ADDRESS_MAP_START( crospang_map, AS_PROGRAM, 16, crospang_state )
AM_RANGE(0x320000, 0x32ffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bestri_map, AS_PROGRAM, 16, crospang_state )
+ADDRESS_MAP_START(crospang_state::bestri_map)
AM_IMPORT_FROM(crospang_base_map)
AM_RANGE(0x100004, 0x100005) AM_WRITE(bestri_fg_scrollx_w)
@@ -84,7 +84,7 @@ static ADDRESS_MAP_START( bestri_map, AS_PROGRAM, 16, crospang_state )
AM_RANGE(0x3a0000, 0x3affff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bestria_map, AS_PROGRAM, 16, crospang_state )
+ADDRESS_MAP_START(crospang_state::bestria_map)
AM_IMPORT_FROM(crospang_base_map)
AM_RANGE(0x100000, 0x100001) AM_WRITENOP // ??
@@ -99,12 +99,12 @@ ADDRESS_MAP_END
/* sound cpu */
-static ADDRESS_MAP_START( crospang_sound_map, AS_PROGRAM, 8, crospang_state )
+ADDRESS_MAP_START(crospang_state::crospang_sound_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( crospang_sound_io_map, AS_IO, 8, crospang_state )
+ADDRESS_MAP_START(crospang_state::crospang_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
AM_RANGE(0x02, 0x02) AM_DEVREADWRITE("oki", okim6295_device, read, write)
diff --git a/src/mame/drivers/crshrace.cpp b/src/mame/drivers/crshrace.cpp
index 5bf9dd36900..72ddc779c0b 100644
--- a/src/mame/drivers/crshrace.cpp
+++ b/src/mame/drivers/crshrace.cpp
@@ -146,7 +146,7 @@ WRITE8_MEMBER(crshrace_state::crshrace_sh_bankswitch_w)
}
-static ADDRESS_MAP_START( crshrace_map, AS_PROGRAM, 16, crshrace_state )
+ADDRESS_MAP_START(crshrace_state::crshrace_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x300000, 0x3fffff) AM_ROM AM_REGION("user1", 0)
AM_RANGE(0x400000, 0x4fffff) AM_ROM AM_REGION("user2", 0) AM_MIRROR(0x100000)
@@ -168,13 +168,13 @@ static ADDRESS_MAP_START( crshrace_map, AS_PROGRAM, 16, crshrace_state )
AM_RANGE(0xfff044, 0xfff047) AM_WRITEONLY // ??? moves during race
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, crshrace_state )
+ADDRESS_MAP_START(crshrace_state::sound_map)
AM_RANGE(0x0000, 0x77ff) AM_ROM
AM_RANGE(0x7800, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, crshrace_state )
+ADDRESS_MAP_START(crshrace_state::sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(crshrace_sh_bankswitch_w)
AM_RANGE(0x04, 0x04) AM_DEVREADWRITE("soundlatch", generic_latch_8_device, read, acknowledge_w)
diff --git a/src/mame/drivers/crvision.cpp b/src/mame/drivers/crvision.cpp
index 1ec330002ea..c6aa22ff0f5 100644
--- a/src/mame/drivers/crvision.cpp
+++ b/src/mame/drivers/crvision.cpp
@@ -142,7 +142,7 @@ CN1 - main board connector (17x2 pin header)
ADDRESS_MAP( crvision_map )
-------------------------------------------------*/
-static ADDRESS_MAP_START( crvision_map, AS_PROGRAM, 8, crvision_state )
+ADDRESS_MAP_START(crvision_state::crvision_map)
AM_RANGE(0x0000, 0x03ff) AM_MIRROR(0x0c00) AM_RAM
AM_RANGE(0x1000, 0x1003) AM_MIRROR(0x0ffc) AM_DEVREADWRITE(PIA6821_TAG, pia6821_device, read, write)
AM_RANGE(0x2000, 0x2000) AM_MIRROR(0x0ffe) AM_DEVREAD(TMS9929_TAG, tms9928a_device, vram_read)
@@ -163,7 +163,7 @@ ADDRESS_MAP_END
ADDRESS_MAP( lasr2001_map )
-------------------------------------------------*/
-static ADDRESS_MAP_START( lasr2001_map, AS_PROGRAM, 8, laser2001_state )
+ADDRESS_MAP_START(laser2001_state::lasr2001_map)
AM_RANGE(0x0000, 0x03ff) AM_MIRROR(0x0c00) AM_RAM
AM_RANGE(0x1000, 0x1003) AM_MIRROR(0x0ffc) AM_DEVREADWRITE(PIA6821_TAG, pia6821_device, read, write)
AM_RANGE(0x2000, 0x2000) AM_MIRROR(0x0ffe) AM_DEVREAD(TMS9929_TAG, tms9928a_device, vram_read)
diff --git a/src/mame/drivers/crystal.cpp b/src/mame/drivers/crystal.cpp
index 3dee8da0f31..ab42cb6449e 100644
--- a/src/mame/drivers/crystal.cpp
+++ b/src/mame/drivers/crystal.cpp
@@ -339,6 +339,10 @@ public:
void crystal(machine_config &config);
void crzyddz2(machine_config &config);
void trivrus(machine_config &config);
+ void crospuzl_mem(address_map &map);
+ void crystal_mem(address_map &map);
+ void crzyddz2_mem(address_map &map);
+ void trivrus_mem(address_map &map);
};
void crystal_state::IntReq( int num )
@@ -646,7 +650,7 @@ WRITE32_MEMBER(crystal_state::DMA1_w)
}
-static ADDRESS_MAP_START( crystal_mem, AS_PROGRAM, 32, crystal_state )
+ADDRESS_MAP_START(crystal_state::crystal_mem)
AM_RANGE(0x00000000, 0x0001ffff) AM_ROM AM_WRITENOP
AM_RANGE(0x01200000, 0x0120000f) AM_READ(Input_r)
@@ -704,7 +708,7 @@ WRITE32_MEMBER(crystal_state::trivrus_input_w)
m_trivrus_input = data & 0xff;
}
-static ADDRESS_MAP_START( trivrus_mem, AS_PROGRAM, 32, crystal_state )
+ADDRESS_MAP_START(crystal_state::trivrus_mem)
AM_RANGE(0x00000000, 0x0007ffff) AM_ROM AM_WRITENOP
// 0x01280000 & 0x0000ffff (written at boot)
@@ -745,7 +749,7 @@ static ADDRESS_MAP_START( trivrus_mem, AS_PROGRAM, 32, crystal_state )
// AM_RANGE(0x44414F4C, 0x44414F7F) AM_RAM AM_SHARE("reset_patch")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( crospuzl_mem, AS_PROGRAM, 32, crystal_state )
+ADDRESS_MAP_START(crystal_state::crospuzl_mem)
AM_IMPORT_FROM( trivrus_mem )
AM_RANGE(0x01500000, 0x01500003) AM_READ(FlashCmd_r)
@@ -797,7 +801,7 @@ crzyddz2 in out
return 0xffffff00 | data | m_crzyddz2_prot;
}
-static ADDRESS_MAP_START( crzyddz2_mem, AS_PROGRAM, 32, crystal_state )
+ADDRESS_MAP_START(crystal_state::crzyddz2_mem)
AM_RANGE(0x00000000, 0x00ffffff) AM_ROM AM_WRITENOP
AM_RANGE(0x01280000, 0x01280003) AM_WRITE(Banksw_w)
diff --git a/src/mame/drivers/csplayh5.cpp b/src/mame/drivers/csplayh5.cpp
index 4c36978d70c..c026dc1bbd2 100644
--- a/src/mame/drivers/csplayh5.cpp
+++ b/src/mame/drivers/csplayh5.cpp
@@ -103,6 +103,9 @@ public:
void general_init(int patchaddress, int patchvalue);
void csplayh5(machine_config &config);
+ void csplayh5_map(address_map &map);
+ void csplayh5_sub_io_map(address_map &map);
+ void csplayh5_sub_map(address_map &map);
};
@@ -127,7 +130,7 @@ WRITE16_MEMBER(csplayh5_state::csplayh5_mux_w)
m_mux_data = (~data & 0x1f);
}
-static ADDRESS_MAP_START( csplayh5_map, AS_PROGRAM, 16, csplayh5_state )
+ADDRESS_MAP_START(csplayh5_state::csplayh5_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x200000, 0x200001) AM_READ_PORT("DSW") AM_DEVWRITE8("nichisnd", nichisnd_device,sound_host_command_w,0xff00)
@@ -149,7 +152,7 @@ READ16_MEMBER(csplayh5_state::test_r)
return machine().rand();
}
-static ADDRESS_MAP_START( csplayh5_sub_map, AS_PROGRAM, 16, csplayh5_state )
+ADDRESS_MAP_START(csplayh5_state::csplayh5_sub_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x02000a, 0x02000b) AM_READ(test_r)
@@ -163,7 +166,7 @@ static ADDRESS_MAP_START( csplayh5_sub_map, AS_PROGRAM, 16, csplayh5_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( csplayh5_sub_io_map, AS_IO, 16, csplayh5_state )
+ADDRESS_MAP_START(csplayh5_state::csplayh5_sub_io_map)
AM_RANGE(0x0a, 0x0b) AM_READ(test_r)
ADDRESS_MAP_END
#endif
diff --git a/src/mame/drivers/cswat.cpp b/src/mame/drivers/cswat.cpp
index a21ea632c6b..7e844dede43 100644
--- a/src/mame/drivers/cswat.cpp
+++ b/src/mame/drivers/cswat.cpp
@@ -63,6 +63,7 @@ public:
virtual void machine_reset() override;
virtual void machine_start() override;
void cswat(machine_config &config);
+ void cswat_map(address_map &map);
};
@@ -136,7 +137,7 @@ READ8_MEMBER(cswat_state::sensors_r)
return machine().rand();
}
-static ADDRESS_MAP_START( cswat_map, AS_PROGRAM, 8, cswat_state )
+ADDRESS_MAP_START(cswat_state::cswat_map)
AM_RANGE(0x0000, 0x0bff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
AM_RANGE(0x0c00, 0x0fff) AM_RAM
// AM_RANGE(0x1800, 0x1800) AM_READNOP // ? reads here after writing to $4000
diff --git a/src/mame/drivers/ct486.cpp b/src/mame/drivers/ct486.cpp
index 7d668bb8b36..4287fa3d0b3 100644
--- a/src/mame/drivers/ct486.cpp
+++ b/src/mame/drivers/ct486.cpp
@@ -52,6 +52,8 @@ public:
DECLARE_WRITE8_MEMBER( cs4031_tc ) { m_isabus->eop_w(offset, data); }
DECLARE_WRITE_LINE_MEMBER( cs4031_spkr ) { m_speaker->level_w(state); }
void ct486(machine_config &config);
+ void ct486_io(address_map &map);
+ void ct486_map(address_map &map);
};
@@ -93,10 +95,10 @@ WRITE_LINE_MEMBER( ct486_state::cs4031_hold )
// ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( ct486_map, AS_PROGRAM, 32, ct486_state )
+ADDRESS_MAP_START(ct486_state::ct486_map)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ct486_io, AS_IO, 32, ct486_state )
+ADDRESS_MAP_START(ct486_state::ct486_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cubeqst.cpp b/src/mame/drivers/cubeqst.cpp
index e5839635b08..04aaeb87d6a 100644
--- a/src/mame/drivers/cubeqst.cpp
+++ b/src/mame/drivers/cubeqst.cpp
@@ -87,6 +87,9 @@ public:
TIMER_CALLBACK_MEMBER(delayed_bank_swap);
void swap_linecpu_banks();
void cubeqst(machine_config &config);
+ void line_sound_map(address_map &map);
+ void m68k_program_map(address_map &map);
+ void rotate_map(address_map &map);
};
@@ -422,7 +425,7 @@ WRITE16_MEMBER(cubeqst_state::write_sndram)
m_soundcpu->sndram_w(space, offset, data, mem_mask);
}
-static ADDRESS_MAP_START( m68k_program_map, AS_PROGRAM, 16, cubeqst_state )
+ADDRESS_MAP_START(cubeqst_state::m68k_program_map)
ADDRESS_MAP_GLOBAL_MASK(0x03ffff)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x020000, 0x027fff) AM_READWRITE(read_rotram, write_rotram)
@@ -439,11 +442,11 @@ ADDRESS_MAP_END
/* For the bit-sliced CPUs */
-static ADDRESS_MAP_START( rotate_map, AS_PROGRAM, 64, cubeqst_state )
+ADDRESS_MAP_START(cubeqst_state::rotate_map)
AM_RANGE(0x000, 0x1ff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( line_sound_map, AS_PROGRAM, 64, cubeqst_state )
+ADDRESS_MAP_START(cubeqst_state::line_sound_map)
AM_RANGE(0x000, 0x0ff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cubo.cpp b/src/mame/drivers/cubo.cpp
index 8f6453b3147..af6ac896db3 100644
--- a/src/mame/drivers/cubo.cpp
+++ b/src/mame/drivers/cubo.cpp
@@ -358,6 +358,8 @@ public:
uint16_t m_potgo_value;
void cubo(machine_config &config);
+ void cubo_mem(address_map &map);
+ void overlay_2mb_map32(address_map &map);
protected:
virtual void rs232_tx(int state) override;
virtual void potgo_w(uint16_t data) override;
@@ -414,13 +416,13 @@ WRITE8_MEMBER( cubo_state::akiko_cia_0_port_a_write )
-static ADDRESS_MAP_START( overlay_2mb_map32, AS_PROGRAM, 32, cubo_state )
+ADDRESS_MAP_START(cubo_state::overlay_2mb_map32)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x1fffff) AM_RAM AM_SHARE("chip_ram")
AM_RANGE(0x200000, 0x27ffff) AM_ROM AM_REGION("kickstart", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cubo_mem, AS_PROGRAM, 32, cubo_state )
+ADDRESS_MAP_START(cubo_state::cubo_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x1fffff) AM_DEVICE("overlay", address_map_bank_device, amap32)
AM_RANGE(0x800000, 0x800003) AM_READ_PORT("DIPSW1")
diff --git a/src/mame/drivers/cultures.cpp b/src/mame/drivers/cultures.cpp
index c4736c1d7eb..7850967463b 100644
--- a/src/mame/drivers/cultures.cpp
+++ b/src/mame/drivers/cultures.cpp
@@ -79,6 +79,10 @@ public:
uint32_t screen_update_cultures(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(cultures_interrupt);
void cultures(machine_config &config);
+ void cultures_io_map(address_map &map);
+ void cultures_map(address_map &map);
+ void oki_map(address_map &map);
+ void vrambank_map(address_map &map);
};
@@ -184,17 +188,17 @@ WRITE8_MEMBER(cultures_state::bg_bank_w)
}
-static ADDRESS_MAP_START( oki_map, 0, 8, cultures_state )
+ADDRESS_MAP_START(cultures_state::oki_map)
AM_RANGE(0x00000, 0x1ffff) AM_ROM
AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK("okibank")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vrambank_map, AS_PROGRAM, 8, cultures_state )
+ADDRESS_MAP_START(cultures_state::vrambank_map)
AM_RANGE(0x0000, 0x3fff) AM_RAM_WRITE(bg0_videoram_w) AM_SHARE("bg0_videoram")
AM_RANGE(0x4000, 0x6fff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cultures_map, AS_PROGRAM, 8, cultures_state )
+ADDRESS_MAP_START(cultures_state::cultures_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("prgbank")
AM_RANGE(0x8000, 0xbfff) AM_DEVICE("vrambank", address_map_bank_device, amap8)
@@ -202,7 +206,7 @@ static ADDRESS_MAP_START( cultures_map, AS_PROGRAM, 8, cultures_state )
AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cultures_io_map, AS_IO, 8, cultures_state )
+ADDRESS_MAP_START(cultures_state::cultures_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_RAM
AM_RANGE(0x10, 0x13) AM_RAM
diff --git a/src/mame/drivers/cupidon.cpp b/src/mame/drivers/cupidon.cpp
index 2fb372186be..b8597858320 100644
--- a/src/mame/drivers/cupidon.cpp
+++ b/src/mame/drivers/cupidon.cpp
@@ -43,6 +43,7 @@ public:
};
void cupidon(machine_config &config);
+ void cupidon_map(address_map &map);
protected:
@@ -78,7 +79,7 @@ uint32_t cupidon_state::screen_update_cupidon(screen_device &screen, bitmap_ind1
}
// could be pumped through the get_cs function (if they use the memory protection features we might have to) but that's slow...
-static ADDRESS_MAP_START( cupidon_map, AS_PROGRAM, 32, cupidon_state )
+ADDRESS_MAP_START(cupidon_state::cupidon_map)
AM_RANGE(0x0000000, 0x07fffff) AM_ROM AM_MIRROR(0x1000000)
AM_RANGE(0x1000000, 0x100ffff) AM_RAM
diff --git a/src/mame/drivers/cv1k.cpp b/src/mame/drivers/cv1k.cpp
index b133f6bdf53..252e437d38f 100644
--- a/src/mame/drivers/cv1k.cpp
+++ b/src/mame/drivers/cv1k.cpp
@@ -239,6 +239,9 @@ public:
void install_speedups(uint32_t idleramoff, uint32_t idlepc, bool is_typed);
void cv1k_d(machine_config &config);
void cv1k(machine_config &config);
+ void cv1k_d_map(address_map &map);
+ void cv1k_map(address_map &map);
+ void cv1k_port(address_map &map);
};
@@ -339,7 +342,7 @@ WRITE8_MEMBER( cv1k_state::serial_rtc_eeprom_w )
}
-static ADDRESS_MAP_START( cv1k_map, AS_PROGRAM, 64, cv1k_state )
+ADDRESS_MAP_START(cv1k_state::cv1k_map)
AM_RANGE(0x00000000, 0x003fffff) AM_ROM AM_REGION("maincpu", 0) AM_WRITENOP AM_SHARE("rombase") // mmmbanc writes here on startup for some reason..
AM_RANGE(0x0c000000, 0x0c7fffff) AM_RAM AM_SHARE("mainram")// work RAM
AM_RANGE(0x10000000, 0x10000007) AM_READWRITE8(flash_io_r, flash_io_w, 0xffffffffffffffffU)
@@ -349,7 +352,7 @@ static ADDRESS_MAP_START( cv1k_map, AS_PROGRAM, 64, cv1k_state )
AM_RANGE(0xf0000000, 0xf0ffffff) AM_RAM // mem mapped cache (sh3 internal?)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cv1k_d_map, AS_PROGRAM, 64, cv1k_state )
+ADDRESS_MAP_START(cv1k_state::cv1k_d_map)
AM_RANGE(0x00000000, 0x003fffff) AM_ROM AM_REGION("maincpu", 0) AM_WRITENOP AM_SHARE("rombase") // mmmbanc writes here on startup for some reason..
AM_RANGE(0x0c000000, 0x0cffffff) AM_RAM AM_SHARE("mainram") // work RAM
AM_RANGE(0x10000000, 0x10000007) AM_READWRITE8(flash_io_r, flash_io_w, 0xffffffffffffffffU)
@@ -359,7 +362,7 @@ static ADDRESS_MAP_START( cv1k_d_map, AS_PROGRAM, 64, cv1k_state )
AM_RANGE(0xf0000000, 0xf0ffffff) AM_RAM // mem mapped cache (sh3 internal?)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cv1k_port, AS_IO, 64, cv1k_state )
+ADDRESS_MAP_START(cv1k_state::cv1k_port)
AM_RANGE(SH3_PORT_C, SH3_PORT_C+7) AM_READ_PORT("PORT_C")
AM_RANGE(SH3_PORT_D, SH3_PORT_D+7) AM_READ_PORT("PORT_D")
AM_RANGE(SH3_PORT_E, SH3_PORT_E+7) AM_READ( flash_port_e_r )
diff --git a/src/mame/drivers/cvicny.cpp b/src/mame/drivers/cvicny.cpp
index 804ebf3f90a..f78ffc91a35 100644
--- a/src/mame/drivers/cvicny.cpp
+++ b/src/mame/drivers/cvicny.cpp
@@ -52,6 +52,7 @@ public:
uint8_t m_digit;
uint8_t m_digit_last;
void cvicny(machine_config &config);
+ void cvicny_mem(address_map &map);
};
WRITE8_MEMBER( cvicny_state::segment_w ) // output segments on the selected digit
@@ -76,7 +77,7 @@ READ8_MEMBER( cvicny_state::key_r )
return ((data << 4) ^ 0xf0) | data;
}
-static ADDRESS_MAP_START( cvicny_mem, AS_PROGRAM, 8, cvicny_state )
+ADDRESS_MAP_START(cvicny_state::cvicny_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x07ff) AM_ROM // 1 x 2716
AM_RANGE(0x0800, 0x0bff) AM_RAM AM_MIRROR(0x400) // 2x 2114 static ram
diff --git a/src/mame/drivers/cvs.cpp b/src/mame/drivers/cvs.cpp
index 01304e613f1..bd6d137f3ac 100644
--- a/src/mame/drivers/cvs.cpp
+++ b/src/mame/drivers/cvs.cpp
@@ -445,7 +445,7 @@ WRITE8_MEMBER(cvs_state::audio_command_w)
*
*************************************/
-static ADDRESS_MAP_START( cvs_main_cpu_map, AS_PROGRAM, 8, cvs_state )
+ADDRESS_MAP_START(cvs_state::cvs_main_cpu_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x13ff) AM_ROM
AM_RANGE(0x1400, 0x14ff) AM_MIRROR(0x6000) AM_READWRITE(cvs_bullet_ram_or_palette_r, cvs_bullet_ram_or_palette_w) AM_SHARE("bullet_ram")
@@ -459,11 +459,11 @@ static ADDRESS_MAP_START( cvs_main_cpu_map, AS_PROGRAM, 8, cvs_state )
AM_RANGE(0x6000, 0x73ff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cvs_main_cpu_io_map, AS_IO, 8, cvs_state )
+ADDRESS_MAP_START(cvs_state::cvs_main_cpu_io_map)
AM_RANGE(0x00, 0xff) AM_READWRITE(cvs_input_r, cvs_scroll_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cvs_main_cpu_data_map, AS_DATA, 8, cvs_state )
+ADDRESS_MAP_START(cvs_state::cvs_main_cpu_data_map)
AM_RANGE(S2650_CTRL_PORT, S2650_CTRL_PORT) AM_READWRITE(cvs_collision_r, audio_command_w)
AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_READWRITE(cvs_collision_clear, cvs_video_fx_w)
ADDRESS_MAP_END
@@ -474,7 +474,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( cvs_dac_cpu_map, AS_PROGRAM, 8, cvs_state )
+ADDRESS_MAP_START(cvs_state::cvs_dac_cpu_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1000, 0x107f) AM_RAM
@@ -492,7 +492,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( cvs_speech_cpu_map, AS_PROGRAM, 8, cvs_state )
+ADDRESS_MAP_START(cvs_state::cvs_speech_cpu_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x07ff) AM_ROM
AM_RANGE(0x1d00, 0x1d00) AM_WRITE(cvs_speech_rom_address_lo_w)
diff --git a/src/mame/drivers/cxgz80.cpp b/src/mame/drivers/cxgz80.cpp
index 6d894e8b069..d050bb02cf4 100644
--- a/src/mame/drivers/cxgz80.cpp
+++ b/src/mame/drivers/cxgz80.cpp
@@ -91,6 +91,7 @@ public:
DECLARE_READ8_MEMBER(ch2001_input_r);
void ch2001(machine_config &config);
+ void ch2001_map(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -267,7 +268,7 @@ READ8_MEMBER(cxgz80_state::ch2001_input_r)
// Chess 2001
-static ADDRESS_MAP_START( ch2001_map, AS_PROGRAM, 8, cxgz80_state )
+ADDRESS_MAP_START(cxgz80_state::ch2001_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_MIRROR(0x3800) AM_RAM
AM_RANGE(0x8000, 0x8000) AM_MIRROR(0x3fff) AM_READWRITE(ch2001_input_r, ch2001_leds_w)
diff --git a/src/mame/drivers/cxhumax.cpp b/src/mame/drivers/cxhumax.cpp
index 2bea0e2e472..f834c0a80e8 100644
--- a/src/mame/drivers/cxhumax.cpp
+++ b/src/mame/drivers/cxhumax.cpp
@@ -943,7 +943,7 @@ uint32_t cxhumax_state::screen_update_cxhumax(screen_device &screen, bitmap_rgb3
return 0;
}
-static ADDRESS_MAP_START(cxhumax_map, AS_PROGRAM, 32, cxhumax_state)
+ADDRESS_MAP_START(cxhumax_state::cxhumax_map)
AM_RANGE(0x00000000, 0x03ffffff) AM_RAM AM_SHARE("ram") AM_MIRROR(0x40000000) // 64?MB RAM
AM_RANGE(0xe0000000, 0xe000ffff) AM_READWRITE(cx_hsx_r, cx_hsx_w) // HSX
AM_RANGE(0xe0010000, 0xe0010003) AM_READWRITE(cx_romdescr_r, cx_romdescr_w) // ROM Descriptor
diff --git a/src/mame/drivers/cyberbal.cpp b/src/mame/drivers/cyberbal.cpp
index 1f5daf2fd4b..165dfe0f29a 100644
--- a/src/mame/drivers/cyberbal.cpp
+++ b/src/mame/drivers/cyberbal.cpp
@@ -127,7 +127,7 @@ WRITE16_MEMBER(cyberbal_state::p2_reset_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, cyberbal_state )
+ADDRESS_MAP_START(cyberbal_state::main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0xfc0000, 0xfc0fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
AM_RANGE(0xfc8000, 0xfcffff) AM_DEVREAD8("soundcomm", atari_sound_comm_device, main_response_r, 0xff00)
@@ -160,7 +160,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( extra_map, AS_PROGRAM, 16, cyberbal_state )
+ADDRESS_MAP_START(cyberbal_state::extra_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0xfc0000, 0xfdffff) AM_WRITE(video_int_ack_w)
AM_RANGE(0xfe0000, 0xfe0fff) AM_READ_PORT("IN0")
@@ -187,7 +187,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, cyberbal_state )
+ADDRESS_MAP_START(cyberbal_state::sound_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x2001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0x2800, 0x2801) AM_WRITE(sound_68k_6502_w)
@@ -210,7 +210,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( sound_68k_map, AS_PROGRAM, 16, cyberbal_state )
+ADDRESS_MAP_START(cyberbal_state::sound_68k_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0xff8000, 0xff87ff) AM_READ(sound_68k_r)
AM_RANGE(0xff8800, 0xff8fff) AM_WRITE(sound_68k_w)
@@ -227,7 +227,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( cyberbal2p_map, AS_PROGRAM, 16, cyberbal_state )
+ADDRESS_MAP_START(cyberbal_state::cyberbal2p_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0xfc0000, 0xfc0003) AM_READ_PORT("IN0")
AM_RANGE(0xfc2000, 0xfc2003) AM_READ_PORT("IN1")
diff --git a/src/mame/drivers/cybertnk.cpp b/src/mame/drivers/cybertnk.cpp
index 6d23342e82d..2f13d2e9a63 100644
--- a/src/mame/drivers/cybertnk.cpp
+++ b/src/mame/drivers/cybertnk.cpp
@@ -239,6 +239,9 @@ public:
uint32_t screen_update_cybertnk_left(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_cybertnk_right(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void cybertnk(machine_config &config);
+ void master_mem(address_map &map);
+ void slave_mem(address_map &map);
+ void sound_mem(address_map &map);
};
/* tile format
@@ -604,7 +607,7 @@ WRITE8_MEMBER( cybertnk_state::cybertnk_cnt_w )
}
-static ADDRESS_MAP_START( master_mem, AS_PROGRAM, 16, cybertnk_state )
+ADDRESS_MAP_START(cybertnk_state::master_mem)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x087fff) AM_RAM /*Work RAM*/
AM_RANGE(0x0a0000, 0x0a0fff) AM_RAM AM_SHARE("spr_ram") // non-tile based sprite ram
@@ -630,7 +633,7 @@ static ADDRESS_MAP_START( master_mem, AS_PROGRAM, 16, cybertnk_state )
AM_RANGE(0x1100d4, 0x1100d5) AM_READ8(cybertnk_mux_r, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_mem, AS_PROGRAM, 16, cybertnk_state )
+ADDRESS_MAP_START(cybertnk_state::slave_mem)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x020000, 0x020001) AM_READNOP // POST debug?
AM_RANGE(0x07fff8, 0x07fffd) AM_READNOP // POST debug?
@@ -640,7 +643,7 @@ static ADDRESS_MAP_START( slave_mem, AS_PROGRAM, 16, cybertnk_state )
AM_RANGE(0x140000, 0x140003) AM_NOP /*Watchdog? Written during loops and interrupts*/
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_mem, AS_PROGRAM, 8, cybertnk_state )
+ADDRESS_MAP_START(cybertnk_state::sound_mem)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_RAM
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ym1", y8950_device, read, write)
diff --git a/src/mame/drivers/cybiko.cpp b/src/mame/drivers/cybiko.cpp
index 556963da11b..fffee70a889 100644
--- a/src/mame/drivers/cybiko.cpp
+++ b/src/mame/drivers/cybiko.cpp
@@ -61,7 +61,7 @@ ToDo:
///////////////////////////
// 512 kbyte ram + no memory mapped flash
-static ADDRESS_MAP_START( cybikov1_mem, AS_PROGRAM, 16, cybiko_state )
+ADDRESS_MAP_START(cybiko_state::cybikov1_mem)
AM_RANGE( 0x000000, 0x007fff ) AM_ROM
AM_RANGE( 0x600000, 0x600001 ) AM_READWRITE( cybiko_lcd_r, cybiko_lcd_w )
// AM_RANGE( 0xe00000, 0xe07fff ) AM_READ( cybikov1_key_r )
@@ -101,7 +101,7 @@ ptr: 243150=24297a
// +-------------------------------------+
// 256 kbyte ram + 256 kbyte memory mapped flash
-static ADDRESS_MAP_START( cybikov2_mem, AS_PROGRAM, 16, cybiko_state )
+ADDRESS_MAP_START(cybiko_state::cybikov2_mem)
AM_RANGE( 0x000000, 0x007fff ) AM_ROM
AM_RANGE( 0x100000, 0x13ffff ) AM_DEVREAD8("flash2", sst_39vf020_device, read, 0xffff) AM_MIRROR( 0x0c0000 )
AM_RANGE( 0x600000, 0x600001 ) AM_READWRITE( cybiko_lcd_r, cybiko_lcd_w ) AM_MIRROR( 0x1ffffe )
@@ -109,7 +109,7 @@ static ADDRESS_MAP_START( cybikov2_mem, AS_PROGRAM, 16, cybiko_state )
ADDRESS_MAP_END
// 2048 kbyte ram + 512 kbyte memory mapped flash
-static ADDRESS_MAP_START( cybikoxt_mem, AS_PROGRAM, 16, cybiko_state )
+ADDRESS_MAP_START(cybiko_state::cybikoxt_mem)
AM_RANGE( 0x000000, 0x007fff ) AM_ROM AM_MIRROR( 0x038000 )
AM_RANGE( 0x100000, 0x100001 ) AM_READWRITE( cybiko_lcd_r, cybiko_lcd_w )
AM_RANGE( 0x200000, 0x200003 ) AM_WRITE( cybiko_usb_w )
@@ -182,14 +182,14 @@ READ16_MEMBER(cybiko_state::port0_r)
// ADDRESS MAP - IO //
//////////////////////
-static ADDRESS_MAP_START( cybikov1_io, AS_IO, 16, cybiko_state )
+ADDRESS_MAP_START(cybiko_state::cybikov1_io)
AM_RANGE(h8_device::PORT_3, h8_device::PORT_3) AM_WRITE(serflash_w)
AM_RANGE(h8_device::PORT_F, h8_device::PORT_F) AM_READWRITE(clock_r, clock_w)
AM_RANGE(h8_device::ADC_1, h8_device::ADC_1) AM_READ(adc1_r)
AM_RANGE(h8_device::ADC_2, h8_device::ADC_2) AM_READ(adc2_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cybikov2_io, AS_IO, 16, cybiko_state )
+ADDRESS_MAP_START(cybiko_state::cybikov2_io)
AM_RANGE(h8_device::PORT_1, h8_device::PORT_1) AM_READ(port0_r)
AM_RANGE(h8_device::PORT_3, h8_device::PORT_3) AM_WRITE(serflash_w)
AM_RANGE(h8_device::PORT_F, h8_device::PORT_F) AM_READWRITE(clock_r, clock_w)
@@ -197,7 +197,7 @@ static ADDRESS_MAP_START( cybikov2_io, AS_IO, 16, cybiko_state )
AM_RANGE(h8_device::ADC_2, h8_device::ADC_2) AM_READ(adc2_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cybikoxt_io, AS_IO, 16, cybiko_state )
+ADDRESS_MAP_START(cybiko_state::cybikoxt_io)
AM_RANGE(h8_device::PORT_A, h8_device::PORT_A) AM_READ(xtpower_r)
AM_RANGE(h8_device::PORT_F, h8_device::PORT_F) AM_READWRITE(xtclock_r, xtclock_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cybstorm.cpp b/src/mame/drivers/cybstorm.cpp
index dd8bb937ac7..9469f75089b 100644
--- a/src/mame/drivers/cybstorm.cpp
+++ b/src/mame/drivers/cybstorm.cpp
@@ -93,7 +93,7 @@ WRITE32_MEMBER(cybstorm_state::latch_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, cybstorm_state )
+ADDRESS_MAP_START(cybstorm_state::main_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0x3effc0, 0x3effff) AM_DEVREADWRITE16("vad", atari_vad_device, control_read, control_write, 0xffffffff)
@@ -109,7 +109,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, cybstorm_state )
AM_RANGE(0xfe0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vadbank_map, AS_PROGRAM, 16, cybstorm_state )
+ADDRESS_MAP_START(cybstorm_state::vadbank_map)
AM_RANGE(0x000000, 0x001fff) AM_RAM_DEVWRITE("vad", atari_vad_device, playfield2_latched_msb_w) AM_SHARE("vad:playfield2")
AM_RANGE(0x002000, 0x003fff) AM_RAM_DEVWRITE("vad", atari_vad_device, playfield_latched_lsb_w) AM_SHARE("vad:playfield")
AM_RANGE(0x004000, 0x005fff) AM_RAM_DEVWRITE("vad", atari_vad_device, playfield_upper_w) AM_SHARE("vad:playfield_ext")
diff --git a/src/mame/drivers/cyclemb.cpp b/src/mame/drivers/cyclemb.cpp
index 581bb28fa73..5099b0e6fb1 100644
--- a/src/mame/drivers/cyclemb.cpp
+++ b/src/mame/drivers/cyclemb.cpp
@@ -146,6 +146,11 @@ public:
void skydest_i8741_reset();
void cyclemb(machine_config &config);
void skydest(machine_config &config);
+ void cyclemb_io(address_map &map);
+ void cyclemb_map(address_map &map);
+ void cyclemb_sound_io(address_map &map);
+ void cyclemb_sound_map(address_map &map);
+ void skydest_io(address_map &map);
};
@@ -567,7 +572,7 @@ WRITE8_MEMBER( cyclemb_state::skydest_i8741_0_w )
}
-static ADDRESS_MAP_START( cyclemb_map, AS_PROGRAM, 8, cyclemb_state )
+ADDRESS_MAP_START(cyclemb_state::cyclemb_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_ROMBANK("bank1")
AM_RANGE(0x9000, 0x97ff) AM_RAM AM_SHARE("vram")
@@ -578,7 +583,7 @@ static ADDRESS_MAP_START( cyclemb_map, AS_PROGRAM, 8, cyclemb_state )
AM_RANGE(0xb800, 0xbfff) AM_RAM //WRAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cyclemb_io, AS_IO, 8, cyclemb_state )
+ADDRESS_MAP_START(cyclemb_state::cyclemb_io)
// ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xc000, 0xc000) AM_WRITE(cyclemb_bankswitch_w)
//AM_RANGE(0xc020, 0xc020) AM_WRITENOP // ?
@@ -587,7 +592,7 @@ static ADDRESS_MAP_START( cyclemb_io, AS_IO, 8, cyclemb_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( skydest_io, AS_IO, 8, cyclemb_state )
+ADDRESS_MAP_START(cyclemb_state::skydest_io)
// ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xc000, 0xc000) AM_WRITE(cyclemb_bankswitch_w)
//AM_RANGE(0xc020, 0xc020) AM_WRITENOP // ?
@@ -597,7 +602,7 @@ static ADDRESS_MAP_START( skydest_io, AS_IO, 8, cyclemb_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cyclemb_sound_map, AS_PROGRAM, 8, cyclemb_state )
+ADDRESS_MAP_START(cyclemb_state::cyclemb_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x6000, 0x63ff) AM_RAM
@@ -628,7 +633,7 @@ WRITE8_MEMBER(cyclemb_state::skydest_i8741_1_w)
}
-static ADDRESS_MAP_START( cyclemb_sound_io, AS_IO, 8, cyclemb_state )
+ADDRESS_MAP_START(cyclemb_state::cyclemb_sound_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
AM_RANGE(0x40, 0x41) AM_READWRITE(skydest_i8741_1_r, skydest_i8741_1_w)
diff --git a/src/mame/drivers/czk80.cpp b/src/mame/drivers/czk80.cpp
index 6ff4380c363..615d9ccea81 100644
--- a/src/mame/drivers/czk80.cpp
+++ b/src/mame/drivers/czk80.cpp
@@ -73,6 +73,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(ctc_z1_w);
DECLARE_WRITE_LINE_MEMBER(ctc_z2_w);
void czk80(machine_config &config);
+ void czk80_io(address_map &map);
+ void czk80_mem(address_map &map);
private:
uint8_t m_term_data;
required_device<cpu_device> m_maincpu;
@@ -103,13 +105,13 @@ READ8_MEMBER( czk80_state::port81_r )
return (m_term_data) ? 3 : 1;
}
-static ADDRESS_MAP_START(czk80_mem, AS_PROGRAM, 8, czk80_state)
+ADDRESS_MAP_START(czk80_state::czk80_mem)
AM_RANGE(0x0000, 0x1fff) AM_READ_BANK("bankr0") AM_WRITE_BANK("bankw0")
AM_RANGE(0x2000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xffff) AM_READ_BANK("bankr1") AM_WRITE_BANK("bankw1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(czk80_io, AS_IO, 8, czk80_state)
+ADDRESS_MAP_START(czk80_state::czk80_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x40, 0x40) AM_WRITE(port40_w)
AM_RANGE(0x4c, 0x4f) AM_DEVREADWRITE("pio", z80pio_device, read, write)
diff --git a/src/mame/drivers/d400.cpp b/src/mame/drivers/d400.cpp
index bcf1a40ace9..888ce75a96b 100644
--- a/src/mame/drivers/d400.cpp
+++ b/src/mame/drivers/d400.cpp
@@ -24,6 +24,7 @@ public:
u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void d461(machine_config &config);
+ void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
};
@@ -33,7 +34,7 @@ u32 d400_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const
return 0;
}
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, d400_state )
+ADDRESS_MAP_START(d400_state::mem_map)
AM_RANGE(0x0000, 0x3fff) AM_RAM
//AM_RANGE(0x4000, 0x403f) AM_DEVREADWRITE("vpac", crt9007_device, read, write)
AM_RANGE(0x4800, 0x48ff) AM_RAM
diff --git a/src/mame/drivers/d6800.cpp b/src/mame/drivers/d6800.cpp
index 2e974d95503..33558abb0b4 100644
--- a/src/mame/drivers/d6800.cpp
+++ b/src/mame/drivers/d6800.cpp
@@ -82,6 +82,7 @@ public:
DECLARE_QUICKLOAD_LOAD_MEMBER( d6800 );
void d6800(machine_config &config);
+ void d6800_map(address_map &map);
private:
uint8_t m_rtc;
bool m_cb2;
@@ -109,7 +110,7 @@ private:
/* Memory Maps */
-static ADDRESS_MAP_START( d6800_map, AS_PROGRAM, 8, d6800_state )
+ADDRESS_MAP_START(d6800_state::d6800_map)
AM_RANGE(0x0000, 0x00ff) AM_RAM
AM_RANGE(0x0100, 0x01ff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x0200, 0x0fff) AM_RAM
diff --git a/src/mame/drivers/d6809.cpp b/src/mame/drivers/d6809.cpp
index afe69f8f862..c4d0496c244 100644
--- a/src/mame/drivers/d6809.cpp
+++ b/src/mame/drivers/d6809.cpp
@@ -102,6 +102,7 @@ public:
void kbd_put(u8 data);
void d6809(machine_config &config);
+ void mem_map(address_map &map);
private:
uint8_t m_term_data;
virtual void machine_reset() override;
@@ -122,7 +123,7 @@ WRITE8_MEMBER( d6809_state::term_w )
m_terminal->write(space, 0, data);
}
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, d6809_state )
+ADDRESS_MAP_START(d6809_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
// 00-FF is for various devices.
AM_RANGE(0x0000, 0x0003) AM_DEVREADWRITE("acia1", mos6551_device, read, write)
diff --git a/src/mame/drivers/d9final.cpp b/src/mame/drivers/d9final.cpp
index 86bff9d4487..11ff215bc73 100644
--- a/src/mame/drivers/d9final.cpp
+++ b/src/mame/drivers/d9final.cpp
@@ -66,6 +66,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void d9final(machine_config &config);
+ void d9final_io(address_map &map);
+ void d9final_map(address_map &map);
};
@@ -124,7 +126,7 @@ READ8_MEMBER(d9final_state::prot_latch_r)
}
-static ADDRESS_MAP_START( d9final_map, AS_PROGRAM, 8, d9final_state )
+ADDRESS_MAP_START(d9final_state::d9final_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc7ff) AM_RAM
@@ -137,7 +139,7 @@ static ADDRESS_MAP_START( d9final_map, AS_PROGRAM, 8, d9final_state )
AM_RANGE(0xf800, 0xf80f) AM_DEVREADWRITE("rtc", rtc62421_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( d9final_io, AS_IO, 8, d9final_state )
+ADDRESS_MAP_START(d9final_state::d9final_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
// AM_RANGE(0x00, 0x00) AM_WRITENOP //bit 0: irq enable? screen enable?
AM_RANGE(0x00, 0x00) AM_READ_PORT("DSWA")
diff --git a/src/mame/drivers/dacholer.cpp b/src/mame/drivers/dacholer.cpp
index bc076a603a1..163c21d8675 100644
--- a/src/mame/drivers/dacholer.cpp
+++ b/src/mame/drivers/dacholer.cpp
@@ -107,6 +107,13 @@ public:
DECLARE_WRITE_LINE_MEMBER(adpcm_int);
void itaten(machine_config &config);
void dacholer(machine_config &config);
+ void itaten_main_map(address_map &map);
+ void itaten_snd_io_map(address_map &map);
+ void itaten_snd_map(address_map &map);
+ void main_io_map(address_map &map);
+ void main_map(address_map &map);
+ void snd_io_map(address_map &map);
+ void snd_map(address_map &map);
};
TILE_GET_INFO_MEMBER(dacholer_state::get_bg_tile_info)
@@ -226,7 +233,7 @@ WRITE8_MEMBER(dacholer_state::main_irq_ack_w)
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, dacholer_state )
+ADDRESS_MAP_START(dacholer_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8800, 0x97ff) AM_RAM
AM_RANGE(0xc000, 0xc3ff) AM_MIRROR(0x400) AM_RAM_WRITE(background_w) AM_SHARE("bgvideoram")
@@ -234,13 +241,13 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, dacholer_state )
AM_RANGE(0xe000, 0xe0ff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( itaten_main_map, AS_PROGRAM, 8, dacholer_state )
+ADDRESS_MAP_START(dacholer_state::itaten_main_map)
AM_IMPORT_FROM( main_map )
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xa000, 0xb7ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_io_map, AS_IO, 8, dacholer_state )
+ADDRESS_MAP_START(dacholer_state::main_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("P1")
AM_RANGE(0x01, 0x01) AM_READ_PORT("P2")
@@ -257,13 +264,13 @@ static ADDRESS_MAP_START( main_io_map, AS_IO, 8, dacholer_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( snd_map, AS_PROGRAM, 8, dacholer_state )
+ADDRESS_MAP_START(dacholer_state::snd_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0xd000, 0xe7ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( itaten_snd_map, AS_PROGRAM, 8, dacholer_state )
+ADDRESS_MAP_START(dacholer_state::itaten_snd_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0xe000, 0xe7ff) AM_RAM
ADDRESS_MAP_END
@@ -295,7 +302,7 @@ WRITE8_MEMBER(dacholer_state::music_irq_w)
m_music_interrupt_enable = data;
}
-static ADDRESS_MAP_START( snd_io_map, AS_IO, 8, dacholer_state )
+ADDRESS_MAP_START(dacholer_state::snd_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("soundlatch", generic_latch_8_device, read, acknowledge_w)
AM_RANGE(0x04, 0x04) AM_WRITE(music_irq_w)
@@ -307,7 +314,7 @@ static ADDRESS_MAP_START( snd_io_map, AS_IO, 8, dacholer_state )
AM_RANGE(0x8e, 0x8f) AM_DEVWRITE("ay3", ay8910_device, data_address_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( itaten_snd_io_map, AS_IO, 8, dacholer_state )
+ADDRESS_MAP_START(dacholer_state::itaten_snd_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("soundlatch", generic_latch_8_device, read, acknowledge_w)
AM_RANGE(0x86, 0x87) AM_DEVWRITE("ay1", ay8910_device, data_address_w)
diff --git a/src/mame/drivers/dai.cpp b/src/mame/drivers/dai.cpp
index 929ffb834a5..d2bfcb9f8bb 100644
--- a/src/mame/drivers/dai.cpp
+++ b/src/mame/drivers/dai.cpp
@@ -67,11 +67,11 @@ Timings:
#include "speaker.h"
/* I/O ports */
-static ADDRESS_MAP_START( dai_io , AS_IO, 8, dai_state )
+ADDRESS_MAP_START(dai_state::dai_io)
ADDRESS_MAP_END
/* memory w/r functions */
-static ADDRESS_MAP_START( dai_mem , AS_PROGRAM, 8, dai_state )
+ADDRESS_MAP_START(dai_state::dai_mem)
AM_RANGE( 0x0000, 0xbfff) AM_RAMBANK("bank1")
AM_RANGE( 0xc000, 0xdfff) AM_ROM
AM_RANGE( 0xe000, 0xefff) AM_ROMBANK("bank2")
diff --git a/src/mame/drivers/dai3wksi.cpp b/src/mame/drivers/dai3wksi.cpp
index edf6a40032c..75a55ba3954 100644
--- a/src/mame/drivers/dai3wksi.cpp
+++ b/src/mame/drivers/dai3wksi.cpp
@@ -98,6 +98,7 @@ public:
virtual void machine_start() override;
virtual void machine_reset() override;
void dai3wksi(machine_config &config);
+ void main_map(address_map &map);
};
@@ -320,7 +321,7 @@ WRITE8_MEMBER(dai3wksi_state::dai3wksi_audio_3_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, dai3wksi_state )
+ADDRESS_MAP_START(dai3wksi_state::main_map)
AM_RANGE(0x0000, 0x1bff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
AM_RANGE(0x2400, 0x24ff) AM_MIRROR(0x100) AM_READ_PORT("IN0")
diff --git a/src/mame/drivers/dambustr.cpp b/src/mame/drivers/dambustr.cpp
index 69a6ace5f98..bad8f01b612 100644
--- a/src/mame/drivers/dambustr.cpp
+++ b/src/mame/drivers/dambustr.cpp
@@ -72,6 +72,7 @@ public:
DECLARE_WRITE8_MEMBER(dambustr_noise_enable_w);
DECLARE_DRIVER_INIT(dambustr);
void dambustr(machine_config &config);
+ void dambustr_map(address_map &map);
};
@@ -86,7 +87,7 @@ WRITE8_MEMBER(dambustr_state::dambustr_noise_enable_w)
}
-static ADDRESS_MAP_START( dambustr_map, AS_PROGRAM, 8, dambustr_state )
+ADDRESS_MAP_START(dambustr_state::dambustr_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8000) AM_WRITE(dambustr_bg_color_w)
diff --git a/src/mame/drivers/darius.cpp b/src/mame/drivers/darius.cpp
index b5d64f43bfe..8405fb5cbde 100644
--- a/src/mame/drivers/darius.cpp
+++ b/src/mame/drivers/darius.cpp
@@ -192,7 +192,7 @@ WRITE16_MEMBER(darius_state::coin_w)
MEMORY STRUCTURES
***********************************************************/
-static ADDRESS_MAP_START( darius_map, AS_PROGRAM, 16, darius_state )
+ADDRESS_MAP_START(darius_state::darius_map)
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x080000, 0x08ffff) AM_RAM /* main RAM */
AM_RANGE(0x0a0000, 0x0a0001) AM_WRITE(cpua_ctrl_w)
@@ -217,7 +217,7 @@ static ADDRESS_MAP_START( darius_map, AS_PROGRAM, 16, darius_state )
AM_RANGE(0xe10000, 0xe10fff) AM_RAM /* ??? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( darius_cpub_map, AS_PROGRAM, 16, darius_state )
+ADDRESS_MAP_START(darius_state::darius_cpub_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x04ffff) AM_RAM /* local RAM */
AM_RANGE(0xc00050, 0xc00051) AM_NOP // unknown, written by both cpus - always 0?
@@ -418,7 +418,7 @@ WRITE8_MEMBER(darius_state::darius_write_portB1)
Sound memory structures / ADPCM
*****************************************************/
-static ADDRESS_MAP_START( darius_sound_map, AS_PROGRAM, 8, darius_state )
+ADDRESS_MAP_START(darius_state::darius_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0x8fff) AM_RAM
@@ -436,7 +436,7 @@ static ADDRESS_MAP_START( darius_sound_map, AS_PROGRAM, 8, darius_state )
AM_RANGE(0xdc00, 0xdc00) AM_WRITE(sound_bankswitch_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( darius_sound2_map, AS_PROGRAM, 8, darius_state )
+ADDRESS_MAP_START(darius_state::darius_sound2_map)
AM_RANGE(0x0000, 0xffff) AM_ROM AM_WRITENOP
/* yes, no RAM */
ADDRESS_MAP_END
@@ -482,7 +482,7 @@ WRITE8_MEMBER(darius_state::adpcm_data_w)
m_msm->reset_w(!(data & 0x20)); /* my best guess, but it could be output enable as well */
}
-static ADDRESS_MAP_START( darius_sound2_io_map, AS_IO, 8, darius_state )
+ADDRESS_MAP_START(darius_state::darius_sound2_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READWRITE(adpcm_command_read, adpcm_nmi_disable)
AM_RANGE(0x01, 0x01) AM_WRITE(adpcm_nmi_enable)
diff --git a/src/mame/drivers/darkmist.cpp b/src/mame/drivers/darkmist.cpp
index 261335d05fa..c0b584af4f5 100644
--- a/src/mame/drivers/darkmist.cpp
+++ b/src/mame/drivers/darkmist.cpp
@@ -44,7 +44,7 @@ WRITE8_MEMBER(darkmist_state::hw_w)
membank("bank1")->set_entry((data&0x80)?1:0);
}
-static ADDRESS_MAP_START( memmap, AS_PROGRAM, 8, darkmist_state )
+ADDRESS_MAP_START(darkmist_state::memmap)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc801, 0xc801) AM_READ_PORT("P1")
@@ -68,7 +68,7 @@ static ADDRESS_MAP_START( memmap, AS_PROGRAM, 8, darkmist_state )
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, darkmist_state )
+ADDRESS_MAP_START(darkmist_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_SHARE("decrypted_opcodes")
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
ADDRESS_MAP_END
@@ -241,7 +241,7 @@ MACHINE_CONFIG_START(darkmist_state::darkmist)
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80,4000000) /* ? MHz */
MCFG_CPU_PROGRAM_MAP(memmap)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", darkmist_state, scanline, "screen", 0, 1)
MCFG_DEVICE_ADD("t5182", T5182, 0)
diff --git a/src/mame/drivers/darkseal.cpp b/src/mame/drivers/darkseal.cpp
index 5be4235c948..dcbaeb6f9ac 100644
--- a/src/mame/drivers/darkseal.cpp
+++ b/src/mame/drivers/darkseal.cpp
@@ -65,7 +65,7 @@ READ16_MEMBER(darkseal_state::control_r)
/******************************************************************************/
-static ADDRESS_MAP_START( darkseal_map, AS_PROGRAM, 16, darkseal_state )
+ADDRESS_MAP_START(darkseal_state::darkseal_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM AM_SHARE("ram")
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_SHARE("spriteram")
@@ -88,7 +88,7 @@ ADDRESS_MAP_END
/******************************************************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, darkseal_state )
+ADDRESS_MAP_START(darkseal_state::sound_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ym2", ym2151_device, read, write)
diff --git a/src/mame/drivers/daruma.cpp b/src/mame/drivers/daruma.cpp
index 8d3a23e437c..3847d2f5235 100644
--- a/src/mame/drivers/daruma.cpp
+++ b/src/mame/drivers/daruma.cpp
@@ -40,6 +40,8 @@ public:
required_device<speaker_sound_device> m_speaker;
char port0, port1, port2, port3;
void daruma(machine_config &config);
+ void mem_io(address_map &map);
+ void mem_prg(address_map &map);
};
WRITE8_MEMBER(daruma_state::port_w)
@@ -109,11 +111,11 @@ WRITE8_MEMBER(daruma_state::dev2_w)
//m_speaker->level_w(data & 0x01);
}
-static ADDRESS_MAP_START( mem_prg, AS_PROGRAM, 8, daruma_state )
+ADDRESS_MAP_START(daruma_state::mem_prg)
AM_RANGE(0x0000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mem_io, AS_IO, 8, daruma_state )
+ADDRESS_MAP_START(daruma_state::mem_io)
AM_RANGE(0x0000, 0x0000) AM_READ(dev0_r)
AM_RANGE(0x1000, 0x1000) AM_WRITE(dev1_w)
// AM_RANGE(0x2000, 0x2000) AM_WRITE(dev2_w)
diff --git a/src/mame/drivers/dassault.cpp b/src/mame/drivers/dassault.cpp
index 5a0a09386ec..aa59a2c1779 100644
--- a/src/mame/drivers/dassault.cpp
+++ b/src/mame/drivers/dassault.cpp
@@ -275,7 +275,7 @@ READ16_MEMBER(dassault_state::dassault_sub_control_r)
/**********************************************************************************/
-static ADDRESS_MAP_START( dassault_map, AS_PROGRAM, 16, dassault_state )
+ADDRESS_MAP_START(dassault_state::dassault_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -305,7 +305,7 @@ static ADDRESS_MAP_START( dassault_map, AS_PROGRAM, 16, dassault_state )
AM_RANGE(0x3fe000, 0x3fefff) AM_DEVREADWRITE("sharedram", mb8421_mb8431_16_device, left_r, left_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dassault_sub_map, AS_PROGRAM, 16, dassault_state )
+ADDRESS_MAP_START(dassault_state::dassault_sub_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_DEVWRITE("spriteram", buffered_spriteram16_device, write)
@@ -320,7 +320,7 @@ ADDRESS_MAP_END
/******************************************************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, dassault_state )
+ADDRESS_MAP_START(dassault_state::sound_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ym2", ym2151_device, read, write)
diff --git a/src/mame/drivers/datum.cpp b/src/mame/drivers/datum.cpp
index 450fc2cb33f..ffeaf62a46d 100644
--- a/src/mame/drivers/datum.cpp
+++ b/src/mame/drivers/datum.cpp
@@ -71,6 +71,7 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(trigger_reset);
DECLARE_INPUT_CHANGED_MEMBER(trigger_nmi);
void datum(machine_config &config);
+ void datum_mem(address_map &map);
private:
uint8_t m_keydata;
virtual void machine_reset() override;
@@ -80,7 +81,7 @@ private:
};
-static ADDRESS_MAP_START(datum_mem, AS_PROGRAM, 8, datum_state)
+ADDRESS_MAP_START(datum_state::datum_mem)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK (0x7fff) // A15 not used
AM_RANGE(0x0000, 0x007f) AM_RAM // inside CPU
diff --git a/src/mame/drivers/dblcrown.cpp b/src/mame/drivers/dblcrown.cpp
index e8868cd48a1..1ad1273e0e9 100644
--- a/src/mame/drivers/dblcrown.cpp
+++ b/src/mame/drivers/dblcrown.cpp
@@ -104,6 +104,8 @@ public:
DECLARE_PALETTE_INIT(dblcrown);
void dblcrown(machine_config &config);
+ void dblcrown_io(address_map &map);
+ void dblcrown_map(address_map &map);
protected:
// driver_device overrides
virtual void machine_start() override;
@@ -337,7 +339,7 @@ WRITE8_MEMBER(dblcrown_state::watchdog_w)
}
-static ADDRESS_MAP_START( dblcrown_map, AS_PROGRAM, 8, dblcrown_state )
+ADDRESS_MAP_START(dblcrown_state::dblcrown_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("rom_bank")
@@ -352,7 +354,7 @@ static ADDRESS_MAP_START( dblcrown_map, AS_PROGRAM, 8, dblcrown_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dblcrown_io, AS_IO, 8, dblcrown_state )
+ADDRESS_MAP_START(dblcrown_state::dblcrown_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x00) AM_READ_PORT("DSWA")
diff --git a/src/mame/drivers/dblewing.cpp b/src/mame/drivers/dblewing.cpp
index a7c78c70901..0280b416518 100644
--- a/src/mame/drivers/dblewing.cpp
+++ b/src/mame/drivers/dblewing.cpp
@@ -124,6 +124,10 @@ public:
WRITE16_MEMBER( wf_protection_region_0_104_w );
void dblewing(machine_config &config);
+ void dblewing_map(address_map &map);
+ void decrypted_opcodes_map(address_map &map);
+ void sound_io(address_map &map);
+ void sound_map(address_map &map);
private:
bool m_soundlatch_pending;
};
@@ -169,7 +173,7 @@ WRITE_LINE_MEMBER( dblewing_state::soundlatch_irq_w )
m_soundlatch_pending = bool(state);
}
-static ADDRESS_MAP_START( dblewing_map, AS_PROGRAM, 16, dblewing_state )
+ADDRESS_MAP_START(dblewing_state::dblewing_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x100fff) AM_DEVREADWRITE("tilegen1", deco16ic_device, pf1_data_r, pf1_data_w)
@@ -189,7 +193,7 @@ static ADDRESS_MAP_START( dblewing_map, AS_PROGRAM, 16, dblewing_state )
AM_RANGE(0xff0000, 0xff3fff) AM_MIRROR(0xc000) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 16, dblewing_state )
+ADDRESS_MAP_START(dblewing_state::decrypted_opcodes_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM AM_SHARE("decrypted_opcodes")
ADDRESS_MAP_END
@@ -199,7 +203,7 @@ READ8_MEMBER(dblewing_state::irq_latch_r)
return m_soundlatch_pending ? 0 : 1;
}
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, dblewing_state )
+ADDRESS_MAP_START(dblewing_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ymsnd", ym2151_device, status_r, write)
@@ -209,7 +213,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, dblewing_state )
AM_RANGE(0xf000, 0xf000) AM_DEVREADWRITE("oki", okim6295_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_io, AS_IO, 8, dblewing_state )
+ADDRESS_MAP_START(dblewing_state::sound_io)
AM_RANGE(0x0000, 0xffff) AM_ROM AM_REGION("audiocpu", 0)
ADDRESS_MAP_END
@@ -346,7 +350,7 @@ MACHINE_CONFIG_START(dblewing_state::dblewing)
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, XTAL(28'000'000)/2) /* DE102 */
MCFG_CPU_PROGRAM_MAP(dblewing_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", dblewing_state, irq6_line_hold)
MCFG_CPU_ADD("audiocpu", Z80, XTAL(32'220'000)/9)
diff --git a/src/mame/drivers/dbox.cpp b/src/mame/drivers/dbox.cpp
index a4f55be8422..6e16d12feb3 100644
--- a/src/mame/drivers/dbox.cpp
+++ b/src/mame/drivers/dbox.cpp
@@ -454,6 +454,7 @@ class dbox_state : public driver_device
DECLARE_WRITE8_MEMBER(write_pa);
void dbox(machine_config &config);
+ void dbox_map(address_map &map);
#if LOCALFLASH
DECLARE_READ16_MEMBER (sysflash_r);
@@ -567,7 +568,7 @@ READ16_MEMBER (dbox_state::sysflash_r){
/* End of flash emulation */
#endif
-static ADDRESS_MAP_START( dbox_map, AS_PROGRAM, 32, dbox_state )
+ADDRESS_MAP_START(dbox_state::dbox_map)
// CS0 - bootrom
// 008004ee Address mask CS0 00000040, 003ffff5 (ffffffff) - Mask: 003fff00 FCM:0f DD:1 PS: 16-Bit
// 008004f8 Base address CS0 00000044, 0000005b (ffffffff) - Base: 00000000 BFC:05 WP:1 FTE:0 NCS:1 Valid: Yes
diff --git a/src/mame/drivers/dbz.cpp b/src/mame/drivers/dbz.cpp
index f2e5a1a3aab..551ba68ffe5 100644
--- a/src/mame/drivers/dbz.cpp
+++ b/src/mame/drivers/dbz.cpp
@@ -106,7 +106,7 @@ WRITE16_MEMBER(dbz_state::dbz_sound_cause_nmi)
}
-static ADDRESS_MAP_START( dbz_map, AS_PROGRAM, 16, dbz_state )
+ADDRESS_MAP_START(dbz_state::dbz_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x480000, 0x48ffff) AM_RAM
AM_RANGE(0x490000, 0x491fff) AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w) // '157 RAM is mirrored twice
@@ -143,7 +143,7 @@ ADDRESS_MAP_END
/* dbz sound */
/* IRQ: from YM2151. NMI: from 68000. Port 0: write to ack NMI */
-static ADDRESS_MAP_START( dbz_sound_map, AS_PROGRAM, 8, dbz_state )
+ADDRESS_MAP_START(dbz_state::dbz_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_RAM
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
@@ -151,7 +151,7 @@ static ADDRESS_MAP_START( dbz_sound_map, AS_PROGRAM, 8, dbz_state )
AM_RANGE(0xe000, 0xe001) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dbz_sound_io_map, AS_IO, 8, dbz_state )
+ADDRESS_MAP_START(dbz_state::dbz_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITENOP
ADDRESS_MAP_END
diff --git a/src/mame/drivers/dccons.cpp b/src/mame/drivers/dccons.cpp
index 61306e0cbe3..61b1f423785 100644
--- a/src/mame/drivers/dccons.cpp
+++ b/src/mame/drivers/dccons.cpp
@@ -362,7 +362,7 @@ WRITE8_MEMBER(dc_cons_state::dc_flash_w)
}
#endif
-static ADDRESS_MAP_START( dc_map, AS_PROGRAM, 64, dc_cons_state )
+ADDRESS_MAP_START(dc_cons_state::dc_map)
AM_RANGE(0x00000000, 0x001fffff) AM_ROM AM_WRITENOP // BIOS
AM_RANGE(0x00200000, 0x0021ffff) AM_ROM AM_REGION("dcflash",0)//AM_READWRITE8(dc_flash_r,dc_flash_w, 0xffffffffffffffffU)
AM_RANGE(0x005f6800, 0x005f69ff) AM_READWRITE(dc_sysctrl_r, dc_sysctrl_w )
@@ -409,11 +409,11 @@ static ADDRESS_MAP_START( dc_map, AS_PROGRAM, 64, dc_cons_state )
AM_RANGE(0xa0000000, 0xa01fffff) AM_ROM AM_REGION("maincpu", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dc_port, AS_IO, 64, dc_cons_state )
+ADDRESS_MAP_START(dc_cons_state::dc_port)
AM_RANGE(0x00000000, 0x00000007) AM_READWRITE(dc_pdtra_r, dc_pdtra_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dc_audio_map, AS_PROGRAM, 32, dc_cons_state )
+ADDRESS_MAP_START(dc_cons_state::dc_audio_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000000, 0x001fffff) AM_RAM AM_SHARE("dc_sound_ram") /* shared with SH-4 */
AM_RANGE(0x00800000, 0x00807fff) AM_READWRITE(dc_arm_aica_r, dc_arm_aica_w)
diff --git a/src/mame/drivers/dcheese.cpp b/src/mame/drivers/dcheese.cpp
index b960377e4e1..c4bafbde388 100644
--- a/src/mame/drivers/dcheese.cpp
+++ b/src/mame/drivers/dcheese.cpp
@@ -171,7 +171,7 @@ WRITE8_MEMBER(dcheese_state::bsmt_data_w)
*
*************************************/
-static ADDRESS_MAP_START( main_cpu_map, AS_PROGRAM, 16, dcheese_state )
+ADDRESS_MAP_START(dcheese_state::main_cpu_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
@@ -193,7 +193,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( sound_cpu_map, AS_PROGRAM, 8, dcheese_state )
+ADDRESS_MAP_START(dcheese_state::sound_cpu_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x07ff) AM_READWRITE(sound_status_r, sound_control_w)
AM_RANGE(0x0800, 0x0fff) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/dcon.cpp b/src/mame/drivers/dcon.cpp
index f3357542f13..25c20277caf 100644
--- a/src/mame/drivers/dcon.cpp
+++ b/src/mame/drivers/dcon.cpp
@@ -38,7 +38,7 @@ READ8_MEMBER(dcon_state::sdgndmps_sound_comms_r)
return m_seibu_sound->main_r(space, offset);
}
-static ADDRESS_MAP_START( dcon_map, AS_PROGRAM, 16, dcon_state )
+ADDRESS_MAP_START(dcon_state::dcon_map)
AM_RANGE(0x00000, 0x7ffff) AM_ROM
AM_RANGE(0x80000, 0x8bfff) AM_RAM
@@ -59,7 +59,7 @@ static ADDRESS_MAP_START( dcon_map, AS_PROGRAM, 16, dcon_state )
AM_RANGE(0xe0004, 0xe0005) AM_READ_PORT("SYSTEM")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sdgndmps_map, AS_PROGRAM, 16, dcon_state )
+ADDRESS_MAP_START(dcon_state::sdgndmps_map)
AM_IMPORT_FROM(dcon_map)
AM_RANGE(0xa0000, 0xa000d) AM_READ8(sdgndmps_sound_comms_r, 0x00ff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/dct11em.cpp b/src/mame/drivers/dct11em.cpp
index 25f518a915f..e39cd45a9d1 100644
--- a/src/mame/drivers/dct11em.cpp
+++ b/src/mame/drivers/dct11em.cpp
@@ -24,9 +24,10 @@ public:
uint32_t screen_update_dct11em(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
void dct11em(machine_config &config);
+ void dct11em_mem(address_map &map);
};
-static ADDRESS_MAP_START( dct11em_mem, AS_PROGRAM, 16, dct11em_state )
+ADDRESS_MAP_START(dct11em_state::dct11em_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x0fff ) AM_RAM // RAM
AM_RANGE( 0x2000, 0x2fff ) AM_RAM // Optional RAM
diff --git a/src/mame/drivers/dday.cpp b/src/mame/drivers/dday.cpp
index eb517f4f969..74242aaf235 100644
--- a/src/mame/drivers/dday.cpp
+++ b/src/mame/drivers/dday.cpp
@@ -58,7 +58,7 @@ write:
#include "speaker.h"
-static ADDRESS_MAP_START( dday_map, AS_PROGRAM, 8, dday_state )
+ADDRESS_MAP_START(dday_state::dday_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x4000) AM_WRITE(dday_sl_control_w)
AM_RANGE(0x5000, 0x53ff) AM_RAM_WRITE(dday_textvideoram_w) AM_SHARE("textvideoram")
diff --git a/src/mame/drivers/ddayjlc.cpp b/src/mame/drivers/ddayjlc.cpp
index 436d2cec3a3..90eff6bbeb2 100644
--- a/src/mame/drivers/ddayjlc.cpp
+++ b/src/mame/drivers/ddayjlc.cpp
@@ -124,6 +124,8 @@ public:
INTERRUPT_GEN_MEMBER(ddayjlc_interrupt);
INTERRUPT_GEN_MEMBER(ddayjlc_snd_interrupt);
void ddayjlc(machine_config &config);
+ void main_cpu(address_map &map);
+ void sound_cpu(address_map &map);
};
@@ -264,7 +266,7 @@ WRITE8_MEMBER(ddayjlc_state::i8257_LMSR_w)
}
}
-static ADDRESS_MAP_START( main_cpu, AS_PROGRAM, 8, ddayjlc_state )
+ADDRESS_MAP_START(ddayjlc_state::main_cpu)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x9000, 0x93ff) AM_RAM AM_SHARE("spriteram")
@@ -290,7 +292,7 @@ static ADDRESS_MAP_START( main_cpu, AS_PROGRAM, 8, ddayjlc_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_cpu, AS_PROGRAM, 8, ddayjlc_state )
+ADDRESS_MAP_START(ddayjlc_state::sound_cpu)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
AM_RANGE(0x3000, 0x3000) AM_DEVREADWRITE("ay1", ay8910_device, data_r, data_w)
diff --git a/src/mame/drivers/ddealer.cpp b/src/mame/drivers/ddealer.cpp
index 6d2403a3b45..0b2f0e6f6eb 100644
--- a/src/mame/drivers/ddealer.cpp
+++ b/src/mame/drivers/ddealer.cpp
@@ -174,6 +174,7 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(mcu_sim);
void draw_video_layer(uint16_t* vreg_base, uint16_t* top, uint16_t* bottom, bitmap_ind16 &bitmap, const rectangle &cliprect, int flipy);
void ddealer(machine_config &config);
+ void ddealer(address_map &map);
};
@@ -471,7 +472,7 @@ WRITE16_MEMBER(ddealer_state::mcu_shared_w)
}
}
-static ADDRESS_MAP_START( ddealer, AS_PROGRAM, 16, ddealer_state )
+ADDRESS_MAP_START(ddealer_state::ddealer)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("IN0")
AM_RANGE(0x080002, 0x080003) AM_READ_PORT("IN1")
diff --git a/src/mame/drivers/ddenlovr.cpp b/src/mame/drivers/ddenlovr.cpp
index c9746829862..e0e360e5efb 100644
--- a/src/mame/drivers/ddenlovr.cpp
+++ b/src/mame/drivers/ddenlovr.cpp
@@ -485,6 +485,54 @@ public:
void kotbinyo(machine_config &config);
void mjschuka(machine_config &config);
void ddenlovj(machine_config &config);
+ void akamaru_map(address_map &map);
+ void daimyojn_portmap(address_map &map);
+ void ddenlovj_map(address_map &map);
+ void ddenlovr_map(address_map &map);
+ void ddenlovrk_map(address_map &map);
+ void funkyfig_map(address_map &map);
+ void funkyfig_portmap(address_map &map);
+ void funkyfig_sound_portmap(address_map &map);
+ void hanakanz_map(address_map &map);
+ void hanakanz_portmap(address_map &map);
+ void hginga_map(address_map &map);
+ void hginga_portmap(address_map &map);
+ void hgokbang_portmap(address_map &map);
+ void hgokou_map(address_map &map);
+ void hgokou_portmap(address_map &map);
+ void hkagerou_portmap(address_map &map);
+ void hparadis_map(address_map &map);
+ void hparadis_portmap(address_map &map);
+ void htengoku_io_map(address_map &map);
+ void htengoku_mem_map(address_map &map);
+ void janshinp_map(address_map &map);
+ void janshinp_portmap(address_map &map);
+ void jongtei_portmap(address_map &map);
+ void kotbinsp_portmap(address_map &map);
+ void kotbinyo_portmap(address_map &map);
+ void mjchuuka_portmap(address_map &map);
+ void mjflove_portmap(address_map &map);
+ void mjgnight_portmap(address_map &map);
+ void mjmyster_map(address_map &map);
+ void mjmyster_portmap(address_map &map);
+ void mjmywrld_portmap(address_map &map);
+ void mjreach1_portmap(address_map &map);
+ void mjschuka_portmap(address_map &map);
+ void mmpanic_map(address_map &map);
+ void mmpanic_portmap(address_map &map);
+ void mmpanic_sound_map(address_map &map);
+ void mmpanic_sound_portmap(address_map &map);
+ void nettoqc_map(address_map &map);
+ void quiz365_map(address_map &map);
+ void quizchq_map(address_map &map);
+ void quizchq_portmap(address_map &map);
+ void rongrong_map(address_map &map);
+ void rongrong_portmap(address_map &map);
+ void seljan2_map(address_map &map);
+ void seljan2_portmap(address_map &map);
+ void sryudens_map(address_map &map);
+ void sryudens_portmap(address_map &map);
+ void ultrchmp_map(address_map &map);
};
VIDEO_START_MEMBER(ddenlovr_state,ddenlovr)
@@ -1909,7 +1957,7 @@ WRITE16_MEMBER(ddenlovr_state::quiz365_protection_w)
COMBINE_DATA(m_quiz365_protection + offset);
}
-static ADDRESS_MAP_START( quiz365_map, AS_PROGRAM, 16, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::quiz365_map)
AM_RANGE(0x000000, 0x17ffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x2003ff) AM_WRITE8(rongrong_palette_w, 0x00ff)
@@ -1965,7 +2013,7 @@ CUSTOM_INPUT_MEMBER(ddenlovr_state::ddenlovj_blitter_r)
return m_ddenlovr_blitter_irq_flag ? 0x03 : 0x00; // bit 4 = 1 -> blitter busy
}
-static ADDRESS_MAP_START( ddenlovj_map, AS_PROGRAM, 16, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::ddenlovj_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x2003ff) AM_WRITE8(rongrong_palette_w, 0x00ff)
@@ -2020,7 +2068,7 @@ WRITE16_MEMBER(ddenlovr_state::ddenlovrk_protection2_w)
m_oki->set_rom_bank((*m_protection2) & 0x7);
}
-static ADDRESS_MAP_START( ddenlovrk_map, AS_PROGRAM, 16, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::ddenlovrk_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x100001) AM_RAM_READ(ddenlovrk_protection1_r) AM_SHARE("protection1")
@@ -2056,7 +2104,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( ddenlovr_map, AS_PROGRAM, 16, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::ddenlovr_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x300000, 0x300001) AM_WRITE8(ddenlovr_oki_bank_w, 0x00ff)
@@ -2130,7 +2178,7 @@ WRITE8_MEMBER(ddenlovr_state::nettoqc_oki_bank_w )
m_oki->set_rom_bank(data & 3);
}
-static ADDRESS_MAP_START( nettoqc_map, AS_PROGRAM, 16, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::nettoqc_map)
AM_RANGE(0x000000, 0x17ffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x2003ff) AM_WRITE8(rongrong_palette_w, 0x00ff)
@@ -2179,7 +2227,7 @@ WRITE16_MEMBER(ddenlovr_state::ultrchmp_protection2_w)
m_oki->set_rom_bank(data & 0xf);
}
-static ADDRESS_MAP_START( ultrchmp_map, AS_PROGRAM, 16, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::ultrchmp_map)
AM_RANGE(0x000000, 0x17ffff) AM_ROM // ROM
AM_RANGE(0x224680, 0x224681) AM_RAM_READ(ultrchmp_protection2_r) AM_SHARE("protection2") // Protection 2
@@ -2244,7 +2292,7 @@ WRITE8_MEMBER(ddenlovr_state::rongrong_select_w)
}
-static ADDRESS_MAP_START( quizchq_map, AS_PROGRAM, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::quizchq_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM // ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM // RAM
AM_RANGE(0x7000, 0x7fff) AM_RAMBANK("bank2") // RAM (Banked)
@@ -2252,7 +2300,7 @@ static ADDRESS_MAP_START( quizchq_map, AS_PROGRAM, 8, ddenlovr_state )
AM_RANGE(0x8000, 0x81ff) AM_WRITE(rongrong_palette_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( quizchq_portmap, AS_IO, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::quizchq_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_WRITE(rongrong_blitter_w)
AM_RANGE(0x03, 0x03) AM_READ(rongrong_gfxrom_r)
@@ -2282,7 +2330,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( rongrong_map, AS_PROGRAM, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::rongrong_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM // ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM // RAM
AM_RANGE(0x7000, 0x7fff) AM_RAMBANK("bank2") // RAM (Banked)
@@ -2290,7 +2338,7 @@ static ADDRESS_MAP_START( rongrong_map, AS_PROGRAM, 8, ddenlovr_state )
AM_RANGE(0xf000, 0xf1ff) AM_WRITE(rongrong_palette_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rongrong_portmap, AS_IO, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::rongrong_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_WRITE(rongrong_blitter_w)
AM_RANGE(0x03, 0x03) AM_READ(rongrong_gfxrom_r)
@@ -2388,7 +2436,7 @@ READ8_MEMBER(ddenlovr_state::mmpanic_link_r){ return 0xff; }
/* Main CPU */
-static ADDRESS_MAP_START( mmpanic_map, AS_PROGRAM, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::mmpanic_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM // ROM
AM_RANGE(0x0051, 0x0051) AM_READ(magic_r) // ?
AM_RANGE(0x6000, 0x6fff) AM_RAM // RAM
@@ -2397,7 +2445,7 @@ static ADDRESS_MAP_START( mmpanic_map, AS_PROGRAM, 8, ddenlovr_state )
AM_RANGE(0x8000, 0x81ff) AM_WRITE(rongrong_palette_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mmpanic_portmap, AS_IO, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::mmpanic_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x0f) AM_DEVREADWRITE("rtc", msm6242_device, read, write)
@@ -2443,13 +2491,13 @@ ADDRESS_MAP_END
/* Sound CPU */
-static ADDRESS_MAP_START( mmpanic_sound_map, AS_PROGRAM, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::mmpanic_sound_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM // ROM
AM_RANGE(0x6000, 0x66ff) AM_RAM // RAM
AM_RANGE(0x8000, 0xffff) AM_ROM // ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mmpanic_sound_portmap, AS_IO, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::mmpanic_sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0x02, 0x02) AM_READNOP // read just before port 00
@@ -2468,7 +2516,7 @@ ADDRESS_MAP_END
/* Main CPU */
-static ADDRESS_MAP_START( funkyfig_map, AS_PROGRAM, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::funkyfig_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM
AM_RANGE(0x7000, 0x7fff) AM_RAMBANK("bank2") // RAM (Banked)
@@ -2549,7 +2597,7 @@ WRITE8_MEMBER(ddenlovr_state::funkyfig_lockout_w)
}
}
-static ADDRESS_MAP_START( funkyfig_portmap, AS_IO, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::funkyfig_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("oki", okim6295_device, read, write) // Sound
AM_RANGE(0x01, 0x01) AM_WRITE(mmpanic_leds_w) // Leds
@@ -2582,7 +2630,7 @@ ADDRESS_MAP_END
/* Sound CPU */
-static ADDRESS_MAP_START( funkyfig_sound_portmap, AS_IO, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::funkyfig_sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x02, 0x02) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0x04, 0x04) AM_READNOP // read only once at the start
@@ -2604,7 +2652,7 @@ WRITE8_MEMBER(ddenlovr_state::hanakanz_rombank_w)
membank("bank2")->set_entry(((data & 0xf0) >> 4));
}
-static ADDRESS_MAP_START( hanakanz_map, AS_PROGRAM, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::hanakanz_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM // ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM // RAM
AM_RANGE(0x7000, 0x7fff) AM_RAMBANK("bank2") // RAM (Banked)
@@ -2725,7 +2773,7 @@ READ8_MEMBER(ddenlovr_state::hanakanz_rand_r)
return machine().rand();
}
-static ADDRESS_MAP_START( hanakanz_portmap, AS_IO, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::hanakanz_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x2c, 0x2c) AM_READWRITE(hanakanz_busy_r, hanakanz_oki_bank_w)
AM_RANGE(0x2e, 0x2e) AM_WRITE(hanakanz_blitter_reg_w)
@@ -2746,7 +2794,7 @@ static ADDRESS_MAP_START( hanakanz_portmap, AS_IO, 8, ddenlovr_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hkagerou_portmap, AS_IO, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::hkagerou_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x2c, 0x2c) AM_READWRITE(hanakanz_busy_r, hanakanz_oki_bank_w)
AM_RANGE(0x2e, 0x2e) AM_WRITE(hanakanz_blitter_reg_w)
@@ -2768,7 +2816,7 @@ ADDRESS_MAP_END
// same as hkagerou, different inputs, no RTC
-static ADDRESS_MAP_START( kotbinyo_portmap, AS_IO, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::kotbinyo_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x2c, 0x2c) AM_READWRITE(hanakanz_busy_r, hanakanz_oki_bank_w)
AM_RANGE(0x2e, 0x2e) AM_WRITE(hanakanz_blitter_reg_w)
@@ -2792,7 +2840,7 @@ ADDRESS_MAP_END
// same as hkagerou, different inputs, no RTC
-static ADDRESS_MAP_START( kotbinsp_portmap, AS_IO, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::kotbinsp_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x2c, 0x2c) AM_READWRITE(hanakanz_busy_r, hanakanz_oki_bank_w)
AM_RANGE(0x2e, 0x2e) AM_WRITE(hanakanz_blitter_reg_w)
@@ -2825,7 +2873,7 @@ READ8_MEMBER(ddenlovr_state::mjreach1_protection_r)
return m_prot_val;
}
-static ADDRESS_MAP_START( mjreach1_portmap, AS_IO, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::mjreach1_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x2c, 0x2c) AM_READWRITE(hanakanz_busy_r, hanakanz_oki_bank_w)
AM_RANGE(0x2e, 0x2e) AM_WRITE(hanakanz_blitter_reg_w)
@@ -2951,7 +2999,7 @@ WRITE8_MEMBER(ddenlovr_state::mjchuuka_oki_bank_w )
#endif
}
-static ADDRESS_MAP_START( mjchuuka_portmap, AS_IO, 8, ddenlovr_state ) // 16 bit I/O
+ADDRESS_MAP_START(ddenlovr_state::mjchuuka_portmap) // 16 bit I/O
AM_RANGE(0x13, 0x13) AM_MIRROR(0xff00) AM_READ(hanakanz_rand_r)
AM_RANGE(0x1c, 0x1c) AM_MIRROR(0xff00) AM_WRITE(hanakanz_rombank_w)
AM_RANGE(0x1e, 0x1e) AM_MIRROR(0xff00) AM_WRITE(mjchuuka_oki_bank_w)
@@ -2996,7 +3044,7 @@ READ8_MEMBER(ddenlovr_state::mjschuka_protection_r)
return m_prot_val;
}
-static ADDRESS_MAP_START( mjschuka_portmap, AS_IO, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::mjschuka_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x0f) AM_DEVREADWRITE("rtc", msm6242_device, read, write)
AM_RANGE(0x1c, 0x1c) AM_READNOP AM_WRITE(sryudens_rambank_w) // ? ack on RTC int
@@ -3039,7 +3087,7 @@ ADDRESS_MAP_END
Mahjong The Mysterious World
***************************************************************************/
-static ADDRESS_MAP_START( mjmyster_map, AS_PROGRAM, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::mjmyster_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM // ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM // RAM
AM_RANGE(0x7000, 0x7fff) AM_RAMBANK("bank2") // RAM (Banked)
@@ -3127,7 +3175,7 @@ WRITE8_MEMBER(ddenlovr_state::mjmyster_blitter_w)
blitter_w(0, offset, data, 0xfc);
}
-static ADDRESS_MAP_START( mjmyster_portmap, AS_IO, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::mjmyster_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_WRITE(mjmyster_blitter_w)
AM_RANGE(0x03, 0x03) AM_READ(rongrong_gfxrom_r)
@@ -3175,7 +3223,7 @@ READ8_MEMBER(ddenlovr_state::hginga_protection_r)
return rom[0x10000 + 0x8000 * (m_hginga_rombank & 0x7) + 0xf601 - 0x8000];
}
-static ADDRESS_MAP_START( hginga_map, AS_PROGRAM, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::hginga_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM // ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM // RAM
AM_RANGE(0x7000, 0x7fff) AM_RAMBANK("bank2") // RAM (Banked)
@@ -3297,7 +3345,7 @@ WRITE8_MEMBER(ddenlovr_state::hginga_blitter_w)
blitter_w(0, offset, data, 0xfc);
}
-static ADDRESS_MAP_START( hginga_portmap, AS_IO, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::hginga_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_WRITE(hginga_blitter_w)
AM_RANGE(0x03, 0x03) AM_READ(rongrong_gfxrom_r)
@@ -3396,7 +3444,7 @@ READ8_MEMBER(ddenlovr_state::hgokou_protection_r)
return rom[0x10000 + 0x8000 * (m_hginga_rombank & 0x7) + 0xe601 - 0x8000];
}
-static ADDRESS_MAP_START( hgokou_map, AS_PROGRAM, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::hgokou_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM // ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM // RAM
AM_RANGE(0x7000, 0x7fff) AM_RAMBANK("bank2") // RAM (Banked)
@@ -3407,7 +3455,7 @@ static ADDRESS_MAP_START( hgokou_map, AS_PROGRAM, 8, ddenlovr_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hgokou_portmap, AS_IO, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::hgokou_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_WRITE(hginga_blitter_w)
AM_RANGE(0x03, 0x03) AM_READ(rongrong_gfxrom_r)
@@ -3462,7 +3510,7 @@ READ8_MEMBER(ddenlovr_state::hgokbang_input_r)
return 0xff;
}
-static ADDRESS_MAP_START( hgokbang_portmap, AS_IO, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::hgokbang_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_WRITE(hginga_blitter_w)
AM_RANGE(0x03, 0x03) AM_READ(rongrong_gfxrom_r)
@@ -3543,7 +3591,7 @@ WRITE8_MEMBER(ddenlovr_state::hparadis_coin_w)
}
}
-static ADDRESS_MAP_START( hparadis_map, AS_PROGRAM, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::hparadis_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM // ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM // RAM
AM_RANGE(0x7000, 0x7fff) AM_RAMBANK("bank2") // RAM (Banked)
@@ -3552,7 +3600,7 @@ static ADDRESS_MAP_START( hparadis_map, AS_PROGRAM, 8, ddenlovr_state )
ADDRESS_MAP_END
// the RTC seems unused
-static ADDRESS_MAP_START( hparadis_portmap, AS_IO, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::hparadis_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_WRITE(rongrong_blitter_w)
AM_RANGE(0x03, 0x03) AM_READ(rongrong_gfxrom_r)
@@ -3595,7 +3643,7 @@ READ8_MEMBER(ddenlovr_state::mjmywrld_coins_r)
return 0xff;
}
-static ADDRESS_MAP_START( mjmywrld_portmap, AS_IO, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::mjmywrld_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_WRITE(mjmyster_blitter_w)
AM_RANGE(0x03, 0x03) AM_READ(rongrong_gfxrom_r)
@@ -3679,7 +3727,7 @@ READ16_MEMBER(ddenlovr_state::akamaru_e0010d_r)
return 0xffff; // read but not used, it seems
}
-static ADDRESS_MAP_START( akamaru_map, AS_PROGRAM, 16, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::akamaru_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM // ROM
AM_RANGE(0x213570, 0x213571) AM_WRITE(akamaru_protection1_w) // OKI bank
@@ -3781,7 +3829,7 @@ WRITE8_MEMBER(ddenlovr_state::mjflove_coincounter_w)
}
}
-static ADDRESS_MAP_START( mjflove_portmap, AS_IO, 8, ddenlovr_state ) // 16 bit I/O
+ADDRESS_MAP_START(ddenlovr_state::mjflove_portmap) // 16 bit I/O
AM_RANGE(0x0010, 0x0010) AM_READ(hanakanz_rand_r) AM_MIRROR(0xff00)
AM_RANGE(0x001c, 0x001c) AM_READ_PORT("DSW2") AM_MIRROR(0xff00)
AM_RANGE(0x001e, 0x001e) AM_WRITE(hanakanz_keyb_w) AM_MIRROR(0xff00)
@@ -3831,7 +3879,7 @@ READ8_MEMBER(ddenlovr_state::jongtei_busy_r)
return 0x04; // !bit 2 = blitter busy
}
-static ADDRESS_MAP_START( jongtei_portmap, AS_IO, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::jongtei_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x2c, 0x2c) AM_READWRITE(jongtei_busy_r, jongtei_okibank_w)
AM_RANGE(0x2e, 0x2e) AM_WRITE(hanakanz_blitter_reg_w)
@@ -3887,7 +3935,7 @@ READ8_MEMBER(ddenlovr_state::mjgnight_protection_r)
return m_prot_val;
}
-static ADDRESS_MAP_START( mjgnight_portmap, AS_IO, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::mjgnight_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x2c, 0x2c) AM_READWRITE(jongtei_busy_r, jongtei_okibank_w)
AM_RANGE(0x2e, 0x2e) AM_WRITE(hanakanz_blitter_reg_w)
@@ -3912,7 +3960,7 @@ ADDRESS_MAP_END
Mahjong Seiryu Densetsu
***************************************************************************/
-static ADDRESS_MAP_START( sryudens_map, AS_PROGRAM, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::sryudens_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM // ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM // RAM
AM_RANGE(0x7000, 0x7fff) AM_RAMBANK("bank2") // RAM (Banked)
@@ -3962,7 +4010,7 @@ WRITE8_MEMBER(ddenlovr_state::sryudens_rambank_w)
//logerror("%04x: rambank = %02x\n", m_maincpu->pc(), data);
}
-static ADDRESS_MAP_START( sryudens_portmap, AS_IO, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::sryudens_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0x02, 0x03) AM_DEVWRITE("ym2413", ym2413_device, write)
@@ -4016,7 +4064,7 @@ WRITE8_MEMBER(ddenlovr_state::janshinp_coincounter_w)
#endif
}
-static ADDRESS_MAP_START( janshinp_map, AS_PROGRAM, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::janshinp_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM // ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM // RAM
AM_RANGE(0x7000, 0x7fff) AM_RAMBANK("bank2") // RAM (Banked)
@@ -4024,7 +4072,7 @@ static ADDRESS_MAP_START( janshinp_map, AS_PROGRAM, 8, ddenlovr_state )
AM_RANGE(0xe000, 0xe1ff) AM_WRITE(rongrong_palette_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( janshinp_portmap, AS_IO, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::janshinp_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW1")
AM_RANGE(0x01, 0x01) AM_READ_PORT("DSW2")
@@ -4101,7 +4149,7 @@ READ8_MEMBER(ddenlovr_state::seljan2_dsw_r )
return 0xff;
}
-static ADDRESS_MAP_START( seljan2_map, AS_PROGRAM, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::seljan2_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM // ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM // RAM
AM_RANGE(0x7000, 0x7fff) AM_RAMBANK("bank2") // RAM (Banked)
@@ -4109,7 +4157,7 @@ static ADDRESS_MAP_START( seljan2_map, AS_PROGRAM, 8, ddenlovr_state )
AM_RANGE(0x8000, 0xffff) AM_WRITE(seljan2_palette_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( seljan2_portmap, AS_IO, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::seljan2_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x0f) AM_DEVREADWRITE("rtc", msm6242_device, read, write)
AM_RANGE(0x1c, 0x1c) AM_READ(seljan2_busy_r) AM_WRITE(hanakanz_keyb_w)
@@ -4258,7 +4306,7 @@ WRITE8_MEMBER(ddenlovr_state::htengoku_blit_romregion_w)
logerror("%04x: unmapped romregion=%02X\n", m_maincpu->pc(), data);
}
-static ADDRESS_MAP_START( htengoku_io_map, AS_IO, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::htengoku_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x07 ) AM_WRITE(dynax_blitter_rev2_w) // Blitter
AM_RANGE( 0x20, 0x20 ) AM_WRITE(htengoku_select_w) // Controls
@@ -4293,14 +4341,14 @@ ADDRESS_MAP_END
Hanafuda Hana Tengoku
***************************************************************************/
-static ADDRESS_MAP_START( htengoku_mem_map, AS_PROGRAM, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::htengoku_mem_map)
AM_RANGE( 0x0000, 0x5fff ) AM_ROM
AM_RANGE( 0x6000, 0x6fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x7000, 0x7fff ) AM_RAM
AM_RANGE( 0x8000, 0xffff ) AM_DEVICE("bankdev", address_map_bank_device, amap8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( htengoku_banked_map, AS_PROGRAM, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::htengoku_banked_map)
AM_RANGE(0x00000, 0x3ffff) AM_ROM AM_REGION("maincpu", 0x10000)
AM_RANGE(0x80000, 0x801ff) AM_WRITE(tenkai_palette_w)
ADDRESS_MAP_END
@@ -4457,7 +4505,7 @@ READ8_MEMBER(ddenlovr_state::daimyojn_year_hack_r)
return offset ? 1 : 0; // year = 0x10 (BCD)
}
-static ADDRESS_MAP_START( daimyojn_portmap, AS_IO, 8, ddenlovr_state )
+ADDRESS_MAP_START(ddenlovr_state::daimyojn_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x2c, 0x2c) AM_READWRITE(jongtei_busy_r, daimyojn_okibank_w)
AM_RANGE(0x2e, 0x2e) AM_WRITE(daimyojn_palette_sel_w)
diff --git a/src/mame/drivers/ddragon.cpp b/src/mame/drivers/ddragon.cpp
index 05c73922d4e..b7a664d0213 100644
--- a/src/mame/drivers/ddragon.cpp
+++ b/src/mame/drivers/ddragon.cpp
@@ -489,7 +489,7 @@ READ8_MEMBER(ddragon_state::dd_adpcm_status_r)
*
*************************************/
-static ADDRESS_MAP_START( ddragon_map, AS_PROGRAM, 8, ddragon_state )
+ADDRESS_MAP_START(ddragon_state::ddragon_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("rambase")
AM_RANGE(0x1000, 0x11ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x1200, 0x13ff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
@@ -511,7 +511,7 @@ static ADDRESS_MAP_START( ddragon_map, AS_PROGRAM, 8, ddragon_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dd2_map, AS_PROGRAM, 8, ddragon_state )
+ADDRESS_MAP_START(ddragon_state::dd2_map)
AM_RANGE(0x0000, 0x17ff) AM_RAM
AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(ddragon_fgvideoram_w) AM_SHARE("fgvideoram")
AM_RANGE(0x2000, 0x21ff) AM_READWRITE(ddragon_comram_r, ddragon_comram_w) AM_SHARE("comram") AM_MIRROR(0x0600)
@@ -540,7 +540,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 8, ddragon_state )
+ADDRESS_MAP_START(ddragon_state::sub_map)
AM_RANGE(0x0000, 0x001f) AM_READWRITE(ddragon_hd63701_internal_registers_r, ddragon_hd63701_internal_registers_w)
AM_RANGE(0x0020, 0x0fff) AM_RAM
AM_RANGE(0x8000, 0x81ff) AM_RAM AM_SHARE("comram")
@@ -548,14 +548,14 @@ static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 8, ddragon_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ddragonba_sub_map, AS_PROGRAM, 8, ddragon_state )
+ADDRESS_MAP_START(ddragon_state::ddragonba_sub_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x8000, 0x81ff) AM_RAM AM_SHARE("comram")
AM_RANGE(0xc000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dd2_sub_map, AS_PROGRAM, 8, ddragon_state )
+ADDRESS_MAP_START(ddragon_state::dd2_sub_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc3ff) AM_RAM AM_SHARE("comram")
AM_RANGE(0xd000, 0xd000) AM_WRITE(ddragon2_sub_irq_ack_w)
@@ -563,7 +563,7 @@ static ADDRESS_MAP_START( dd2_sub_map, AS_PROGRAM, 8, ddragon_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ddragonba_sub_portmap, AS_IO, 8, ddragon_state )
+ADDRESS_MAP_START(ddragon_state::ddragonba_sub_portmap)
AM_RANGE(0x0000, 0x01ff) AM_WRITE(ddragonba_port_w)
ADDRESS_MAP_END
@@ -575,7 +575,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, ddragon_state )
+ADDRESS_MAP_START(ddragon_state::sound_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x1000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0x1800, 0x1800) AM_READ(dd_adpcm_status_r)
@@ -585,7 +585,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, ddragon_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dd2_sound_map, AS_PROGRAM, 8, ddragon_state )
+ADDRESS_MAP_START(ddragon_state::dd2_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE("fmsnd", ym2151_device, read, write)
diff --git a/src/mame/drivers/ddragon3.cpp b/src/mame/drivers/ddragon3.cpp
index dae558a5463..917257dd536 100644
--- a/src/mame/drivers/ddragon3.cpp
+++ b/src/mame/drivers/ddragon3.cpp
@@ -290,7 +290,7 @@ CUSTOM_INPUT_MEMBER(wwfwfest_state::dsw_c0_r)
*
*************************************/
-static ADDRESS_MAP_START( ddragon3_map, AS_PROGRAM, 16, ddragon3_state )
+ADDRESS_MAP_START(ddragon3_state::ddragon3_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x000004, 0x000007) AM_WRITENOP
AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(ddragon3_fg_videoram_w) AM_SHARE("fg_videoram") /* Foreground (32x32 Tiles - 4 by per tile) */
@@ -309,7 +309,7 @@ static ADDRESS_MAP_START( ddragon3_map, AS_PROGRAM, 16, ddragon3_state )
AM_RANGE(0x1c0000, 0x1c3fff) AM_RAM /* work RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dd3b_map, AS_PROGRAM, 16, ddragon3_state )
+ADDRESS_MAP_START(ddragon3_state::dd3b_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(ddragon3_fg_videoram_w) AM_SHARE("fg_videoram") /* Foreground (32x32 Tiles - 4 by per tile) */
AM_RANGE(0x081000, 0x081fff) AM_RAM AM_SHARE("spriteram")
@@ -328,7 +328,7 @@ static ADDRESS_MAP_START( dd3b_map, AS_PROGRAM, 16, ddragon3_state )
AM_RANGE(0x1c0000, 0x1c3fff) AM_RAM /* work RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ctribe_map, AS_PROGRAM, 16, ddragon3_state )
+ADDRESS_MAP_START(ddragon3_state::ctribe_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(ddragon3_fg_videoram_w) AM_SHARE("fg_videoram") /* Foreground (32x32 Tiles - 4 by per tile) */
AM_RANGE(0x081000, 0x081fff) AM_RAM AM_SHARE("spriteram")
@@ -348,7 +348,7 @@ static ADDRESS_MAP_START( ctribe_map, AS_PROGRAM, 16, ddragon3_state )
AM_RANGE(0x1c0000, 0x1c3fff) AM_RAM /* work RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, wwfwfest_state )
+ADDRESS_MAP_START(wwfwfest_state::main_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x0c0000, 0x0c1fff) AM_RAM_WRITE(wwfwfest_fg0_videoram_w) AM_SHARE("fg0_videoram") /* FG0 Ram - 4 bytes per tile */
AM_RANGE(0x0c2000, 0x0c3fff) AM_RAM AM_SHARE("spriteram") /* SPR Ram */
@@ -368,7 +368,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, wwfwfest_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, ddragon3_state )
+ADDRESS_MAP_START(ddragon3_state::sound_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc801) AM_DEVREADWRITE("ym2151", ym2151_device, read, write)
@@ -378,7 +378,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, ddragon3_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ctribe_sound_map, AS_PROGRAM, 8, ddragon3_state )
+ADDRESS_MAP_START(ddragon3_state::ctribe_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE("ym2151", ym2151_device, status_r, write)
diff --git a/src/mame/drivers/ddribble.cpp b/src/mame/drivers/ddribble.cpp
index 27ae60830a3..d68fff3d3fb 100644
--- a/src/mame/drivers/ddribble.cpp
+++ b/src/mame/drivers/ddribble.cpp
@@ -108,7 +108,7 @@ WRITE8_MEMBER(ddribble_state::ddribble_vlm5030_ctrl_w)
}
-static ADDRESS_MAP_START( cpu0_map, AS_PROGRAM, 8, ddribble_state )
+ADDRESS_MAP_START(ddribble_state::cpu0_map)
AM_RANGE(0x0000, 0x0004) AM_WRITE(K005885_0_w) /* video registers (005885 #1) */
AM_RANGE(0x0800, 0x0804) AM_WRITE(K005885_1_w) /* video registers (005885 #2) */
AM_RANGE(0x1800, 0x187f) AM_RAM_DEVWRITE("palette", palette_device, write_indirect) AM_SHARE("palette") /* palette */
@@ -122,7 +122,7 @@ static ADDRESS_MAP_START( cpu0_map, AS_PROGRAM, 8, ddribble_state )
AM_RANGE(0xa000, 0xffff) AM_ROM /* ROM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpu1_map, AS_PROGRAM, 8, ddribble_state )
+ADDRESS_MAP_START(ddribble_state::cpu1_map)
AM_RANGE(0x0000, 0x1fff) AM_READWRITE(ddribble_sharedram_r, ddribble_sharedram_w) /* shared RAM with CPU #0 */
AM_RANGE(0x2000, 0x27ff) AM_READWRITE(ddribble_snd_sharedram_r, ddribble_snd_sharedram_w) /* shared RAM with CPU #2 */
AM_RANGE(0x2800, 0x2800) AM_READ_PORT("DSW1")
@@ -136,14 +136,14 @@ static ADDRESS_MAP_START( cpu1_map, AS_PROGRAM, 8, ddribble_state )
AM_RANGE(0x8000, 0xffff) AM_ROM /* ROM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpu2_map, AS_PROGRAM, 8, ddribble_state )
+ADDRESS_MAP_START(ddribble_state::cpu2_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("snd_sharedram") /* shared RAM with CPU #1 */
AM_RANGE(0x1000, 0x1001) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write) /* YM2203 */
AM_RANGE(0x3000, 0x3000) AM_DEVWRITE("vlm", vlm5030_device, data_w) /* Speech data */
AM_RANGE(0x8000, 0xffff) AM_ROM /* ROM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vlm_map, 0, 8, ddribble_state )
+ADDRESS_MAP_START(ddribble_state::vlm_map)
AM_RANGE(0x0000, 0xffff) AM_ROMBANK("vlmbank")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/de_2.cpp b/src/mame/drivers/de_2.cpp
index e164c293363..2e4846fc900 100644
--- a/src/mame/drivers/de_2.cpp
+++ b/src/mame/drivers/de_2.cpp
@@ -58,6 +58,7 @@ public:
void de_type1(machine_config &config);
void de_type2_alpha3(machine_config &config);
void de_type3(machine_config &config);
+ void de_2_audio_map(address_map &map);
protected:
// devices
@@ -133,7 +134,7 @@ private:
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
*/
-static ADDRESS_MAP_START( de_2_audio_map, AS_PROGRAM, 8, de_2_state )
+ADDRESS_MAP_START(de_2_state::de_2_audio_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x2001) AM_DEVREADWRITE("ym2151", ym2151_device, read, write)
AM_RANGE(0x2400, 0x2400) AM_READ(sound_latch_r)
diff --git a/src/mame/drivers/deadang.cpp b/src/mame/drivers/deadang.cpp
index 25716e76159..8ce7c0a9ace 100644
--- a/src/mame/drivers/deadang.cpp
+++ b/src/mame/drivers/deadang.cpp
@@ -64,7 +64,7 @@ READ16_MEMBER(deadang_state::ghunter_trackball_high_r)
/* Memory Maps */
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, deadang_state )
+ADDRESS_MAP_START(deadang_state::main_map)
AM_RANGE(0x00000, 0x037ff) AM_RAM
AM_RANGE(0x03800, 0x03fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x04000, 0x04fff) AM_RAM AM_SHARE("share1")
@@ -82,7 +82,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, deadang_state )
AM_RANGE(0xc0000, 0xfffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 16, deadang_state )
+ADDRESS_MAP_START(deadang_state::sub_map)
AM_RANGE(0x00000, 0x037ff) AM_RAM
AM_RANGE(0x03800, 0x03fff) AM_RAM_WRITE(foreground_w) AM_SHARE("video_data")
AM_RANGE(0x04000, 0x04fff) AM_RAM AM_SHARE("share1")
@@ -91,7 +91,7 @@ static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 16, deadang_state )
AM_RANGE(0xe0000, 0xfffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, deadang_state )
+ADDRESS_MAP_START(deadang_state::sound_map)
AM_RANGE(0x0000, 0x1fff) AM_DEVREAD("sei80bu", sei80bu_device, data_r)
AM_RANGE(0x2000, 0x27ff) AM_RAM
AM_RANGE(0x4000, 0x4000) AM_DEVWRITE("seibu_sound", seibu_sound_device, pending_w)
@@ -113,7 +113,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, deadang_state )
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("seibu_bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_decrypted_opcodes_map, AS_OPCODES, 8, deadang_state )
+ADDRESS_MAP_START(deadang_state::sound_decrypted_opcodes_map)
AM_RANGE(0x0000, 0x1fff) AM_DEVREAD("sei80bu", sei80bu_device, opcode_r)
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("seibu_bank1")
ADDRESS_MAP_END
@@ -278,7 +278,7 @@ MACHINE_CONFIG_START(deadang_state::deadang)
MCFG_CPU_ADD("audiocpu", Z80, XTAL(14'318'181)/4)
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(sound_decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(sound_decrypted_opcodes_map)
MCFG_DEVICE_ADD("sei80bu", SEI80BU, 0)
MCFG_DEVICE_ROM("audiocpu")
diff --git a/src/mame/drivers/dec0.cpp b/src/mame/drivers/dec0.cpp
index bb1513f42a1..eee2b1c859c 100644
--- a/src/mame/drivers/dec0.cpp
+++ b/src/mame/drivers/dec0.cpp
@@ -428,7 +428,7 @@ WRITE16_MEMBER(dec0_state::midres_sound_w)
/******************************************************************************/
-static ADDRESS_MAP_START( dec0_map, AS_PROGRAM, 16, dec0_state )
+ADDRESS_MAP_START(dec0_state::dec0_map)
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x240000, 0x240007) AM_DEVWRITE("tilegen1", deco_bac06_device, pf_control_0_w) /* text layer */
AM_RANGE(0x240010, 0x240017) AM_DEVWRITE("tilegen1", deco_bac06_device, pf_control_1_w)
@@ -461,14 +461,14 @@ static ADDRESS_MAP_START( dec0_map, AS_PROGRAM, 16, dec0_state )
AM_RANGE(0xffc000, 0xffc7ff) AM_RAM AM_SHARE("spriteram") /* Sprites */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( robocop_sub_map, AS_PROGRAM, 8, dec0_state )
+ADDRESS_MAP_START(dec0_state::robocop_sub_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAM /* Main ram */
AM_RANGE(0x1f2000, 0x1f3fff) AM_RAM AM_SHARE("robocop_shared") /* Shared ram */
AM_RANGE(0x1ff400, 0x1ff403) AM_DEVWRITE("sub", h6280_device, irq_status_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hippodrm_sub_map, AS_PROGRAM, 8, dec0_state )
+ADDRESS_MAP_START(dec0_state::hippodrm_sub_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x180000, 0x18001f) AM_RAM AM_SHARE("hippodrm_shared")
AM_RANGE(0x1a0000, 0x1a0007) AM_DEVWRITE("tilegen3", deco_bac06_device, pf_control0_8bit_packed_w)
@@ -569,7 +569,7 @@ READ16_MEMBER(dec0_state::slyspy_state_r)
}
-static ADDRESS_MAP_START( slyspy_protection_map, AS_PROGRAM, 16, dec0_state )
+ADDRESS_MAP_START(dec0_state::slyspy_protection_map)
AM_RANGE(0x04000, 0x04001) AM_MIRROR(0x30000) AM_READ(slyspy_state_r) AM_WRITENOP
AM_RANGE(0x0a000, 0x0a001) AM_MIRROR(0x30000) AM_WRITE(slyspy_state_w)
// Default state (called by Traps 1, 3, 4, 7, C)
@@ -595,7 +595,7 @@ static ADDRESS_MAP_START( slyspy_protection_map, AS_PROGRAM, 16, dec0_state )
AM_RANGE(0x38000, 0x39fff) AM_DEVWRITE("tilegen2", deco_bac06_device, pf_data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slyspy_map, AS_PROGRAM, 16, dec0_state )
+ADDRESS_MAP_START(dec0_state::slyspy_map)
AM_RANGE(0x000000, 0x05ffff) AM_ROM
/* The location of pf1 & pf2 can change in the 240000 - 24ffff region according to protection */
@@ -618,7 +618,7 @@ static ADDRESS_MAP_START( slyspy_map, AS_PROGRAM, 16, dec0_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( midres_map, AS_PROGRAM, 16, dec0_state )
+ADDRESS_MAP_START(dec0_state::midres_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM AM_SHARE("ram")
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_SHARE("spriteram")
@@ -648,7 +648,7 @@ static ADDRESS_MAP_START( midres_map, AS_PROGRAM, 16, dec0_state )
AM_RANGE(0x340400, 0x3407ff) AM_DEVREADWRITE("tilegen1", deco_bac06_device, pf_rowscroll_r, pf_rowscroll_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( midresb_map, AS_PROGRAM, 16, dec0_state )
+ADDRESS_MAP_START(dec0_state::midresb_map)
AM_IMPORT_FROM( midres_map )
AM_RANGE(0x160010, 0x160011) AM_WRITE(dec0_priority_w)
AM_RANGE(0x180000, 0x18000f) AM_READ(dec0_controls_r)
@@ -661,7 +661,7 @@ ADDRESS_MAP_END
/******************************************************************************/
-static ADDRESS_MAP_START( dec0_s_map, AS_PROGRAM, 8, dec0_state )
+ADDRESS_MAP_START(dec0_state::dec0_s_map)
AM_RANGE(0x0000, 0x05ff) AM_RAM
AM_RANGE(0x0800, 0x0801) AM_DEVWRITE("ym1", ym2203_device, write)
AM_RANGE(0x1000, 0x1001) AM_DEVWRITE("ym2", ym3812_device, write)
@@ -671,7 +671,7 @@ static ADDRESS_MAP_START( dec0_s_map, AS_PROGRAM, 8, dec0_state )
ADDRESS_MAP_END
/* Physical memory map (21 bits) */
-static ADDRESS_MAP_START( slyspy_s_map, AS_PROGRAM, 8, dec0_state )
+ADDRESS_MAP_START(dec0_state::slyspy_s_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x080000, 0x0fffff) AM_DEVICE("sndprotect", address_map_bank_device, amap8 )
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
@@ -700,7 +700,7 @@ READ8_MEMBER(dec0_state::slyspy_sound_state_reset_r)
return 0xff;
}
-static ADDRESS_MAP_START( slyspy_sound_protection_map, AS_PROGRAM, 8, dec0_state )
+ADDRESS_MAP_START(dec0_state::slyspy_sound_protection_map)
AM_RANGE(0x020000, 0x020001) AM_MIRROR(0x180000) AM_READ(slyspy_sound_state_r) /* Protection counter */
AM_RANGE(0x050000, 0x050001) AM_MIRROR(0x180000) AM_READ(slyspy_sound_state_reset_r)
// state 0
@@ -726,7 +726,7 @@ static ADDRESS_MAP_START( slyspy_sound_protection_map, AS_PROGRAM, 8, dec0_state
ADDRESS_MAP_END
-static ADDRESS_MAP_START( midres_s_map, AS_PROGRAM, 8, dec0_state )
+ADDRESS_MAP_START(dec0_state::midres_s_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x108000, 0x108001) AM_DEVWRITE("ym2", ym3812_device, write)
AM_RANGE(0x118000, 0x118001) AM_DEVWRITE("ym1", ym2203_device, write)
@@ -766,7 +766,7 @@ WRITE16_MEMBER( dec0_automat_state::automat_palette_w )
-static ADDRESS_MAP_START( automat_map, AS_PROGRAM, 16, dec0_automat_state )
+ADDRESS_MAP_START(dec0_automat_state::automat_map)
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x240000, 0x240007) AM_RAM /* text layer */
@@ -805,7 +805,7 @@ static ADDRESS_MAP_START( automat_map, AS_PROGRAM, 16, dec0_automat_state )
AM_RANGE(0xffc000, 0xffcfff) AM_RAM AM_SHARE("spriteram") /* Sprites */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( secretab_map, AS_PROGRAM, 16, dec0_automat_state )
+ADDRESS_MAP_START(dec0_automat_state::secretab_map)
AM_RANGE(0x000000, 0x05ffff) AM_ROM
// AM_RANGE(0x240000, 0x240007) AM_DEVWRITE("tilegen2", deco_bac06_device, pf_control_0_w)
// AM_RANGE(0x240010, 0x240017) AM_DEVWRITE("tilegen2", deco_bac06_device, pf_control_1_w)
@@ -833,7 +833,7 @@ static ADDRESS_MAP_START( secretab_map, AS_PROGRAM, 16, dec0_automat_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( automat_s_map, AS_PROGRAM, 8, dec0_automat_state )
+ADDRESS_MAP_START(dec0_automat_state::automat_s_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("soundbank")
AM_RANGE(0xc000, 0xc7ff) AM_RAM
@@ -845,7 +845,7 @@ static ADDRESS_MAP_START( automat_s_map, AS_PROGRAM, 8, dec0_automat_state )
AM_RANGE(0xf000, 0xf000) AM_DEVWRITE("adpcm_select1", ls157_device, ba_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( secretab_s_map, AS_PROGRAM, 8, dec0_automat_state )
+ADDRESS_MAP_START(dec0_automat_state::secretab_s_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("soundbank")
AM_RANGE(0xc000, 0xc7ff) AM_RAM
@@ -857,7 +857,7 @@ static ADDRESS_MAP_START( secretab_s_map, AS_PROGRAM, 8, dec0_automat_state )
AM_RANGE(0xf000, 0xf000) AM_DEVWRITE("adpcm_select1", ls157_device, ba_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mcu_io_map, AS_IO, 8, dec0_state )
+ADDRESS_MAP_START(dec0_state::mcu_io_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(MCS51_PORT_P0, MCS51_PORT_P3) AM_READWRITE(dec0_mcu_port_r, dec0_mcu_port_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/dec8.cpp b/src/mame/drivers/dec8.cpp
index 103af266ff7..e3943ba54a3 100644
--- a/src/mame/drivers/dec8.cpp
+++ b/src/mame/drivers/dec8.cpp
@@ -464,7 +464,7 @@ WRITE8_MEMBER(dec8_state::flip_screen_w){ flip_screen_set(data); }
/******************************************************************************/
-static ADDRESS_MAP_START( lastmisn_map, AS_PROGRAM, 8, dec8_state )
+ADDRESS_MAP_START(dec8_state::lastmisn_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x1000, 0x13ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write8) AM_SHARE("palette")
AM_RANGE(0x1400, 0x17ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write8_ext) AM_SHARE("palette_ext")
@@ -490,7 +490,7 @@ static ADDRESS_MAP_START( lastmisn_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lastmisn_sub_map, AS_PROGRAM, 8, dec8_state )
+ADDRESS_MAP_START(dec8_state::lastmisn_sub_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x1000, 0x13ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write8) AM_SHARE("palette")
AM_RANGE(0x1400, 0x17ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write8_ext) AM_SHARE("palette_ext")
@@ -510,7 +510,7 @@ static ADDRESS_MAP_START( lastmisn_sub_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( shackled_map, AS_PROGRAM, 8, dec8_state )
+ADDRESS_MAP_START(dec8_state::shackled_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x1000, 0x13ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write8) AM_SHARE("palette")
AM_RANGE(0x1400, 0x17ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write8_ext) AM_SHARE("palette_ext")
@@ -534,7 +534,7 @@ static ADDRESS_MAP_START( shackled_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( shackled_sub_map, AS_PROGRAM, 8, dec8_state )
+ADDRESS_MAP_START(dec8_state::shackled_sub_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x1000, 0x13ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write8) AM_SHARE("palette")
AM_RANGE(0x1400, 0x17ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write8_ext) AM_SHARE("palette_ext")
@@ -559,7 +559,7 @@ static ADDRESS_MAP_START( shackled_sub_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gondo_map, AS_PROGRAM, 8, dec8_state )
+ADDRESS_MAP_START(dec8_state::gondo_map)
AM_RANGE(0x0000, 0x17ff) AM_RAM
AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(dec8_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x2000, 0x27ff) AM_READWRITE(dec8_bg_data_r, dec8_bg_data_w) AM_SHARE("bg_data")
@@ -582,7 +582,7 @@ static ADDRESS_MAP_START( gondo_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( garyoret_map, AS_PROGRAM, 8, dec8_state )
+ADDRESS_MAP_START(dec8_state::garyoret_map)
AM_RANGE(0x0000, 0x17ff) AM_RAM
AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(dec8_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x2000, 0x27ff) AM_READWRITE(dec8_bg_data_r, dec8_bg_data_w) AM_SHARE("bg_data")
@@ -604,7 +604,7 @@ static ADDRESS_MAP_START( garyoret_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( meikyuh_map, AS_PROGRAM, 8, dec8_state )
+ADDRESS_MAP_START(dec8_state::meikyuh_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x17ff) AM_RAM
AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(dec8_videoram_w) AM_SHARE("videoram")
@@ -628,7 +628,7 @@ static ADDRESS_MAP_START( meikyuh_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( csilver_map, AS_PROGRAM, 8, dec8_state )
+ADDRESS_MAP_START(dec8_state::csilver_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x1000, 0x13ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write8) AM_SHARE("palette")
AM_RANGE(0x1400, 0x17ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write8_ext) AM_SHARE("palette_ext")
@@ -653,7 +653,7 @@ static ADDRESS_MAP_START( csilver_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( csilver_sub_map, AS_PROGRAM, 8, dec8_state )
+ADDRESS_MAP_START(dec8_state::csilver_sub_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x1000, 0x13ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write8) AM_SHARE("palette")
AM_RANGE(0x1400, 0x17ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write8_ext) AM_SHARE("palette_ext")
@@ -669,7 +669,7 @@ static ADDRESS_MAP_START( csilver_sub_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( oscar_map, AS_PROGRAM, 8, dec8_state )
+ADDRESS_MAP_START(dec8_state::oscar_map)
AM_RANGE(0x0000, 0x0eff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x0f00, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x1fff) AM_RAM AM_SHARE("share2")
@@ -693,7 +693,7 @@ static ADDRESS_MAP_START( oscar_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( oscar_sub_map, AS_PROGRAM, 8, dec8_state )
+ADDRESS_MAP_START(dec8_state::oscar_sub_map)
AM_RANGE(0x0000, 0x0eff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x0f00, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x1fff) AM_RAM AM_SHARE("share2")
@@ -701,7 +701,7 @@ static ADDRESS_MAP_START( oscar_sub_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( srdarwin_map, AS_PROGRAM, 8, dec8_state )
+ADDRESS_MAP_START(dec8_state::srdarwin_map)
AM_RANGE(0x0000, 0x05ff) AM_RAM
AM_RANGE(0x0600, 0x07ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(srdarwin_videoram_w) AM_SHARE("videoram")
@@ -724,7 +724,7 @@ static ADDRESS_MAP_START( srdarwin_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cobra_map, AS_PROGRAM, 8, dec8_state )
+ADDRESS_MAP_START(dec8_state::cobra_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x0800, 0x0fff) AM_DEVREADWRITE("tilegen1", deco_bac06_device, pf_data_8bit_r, pf_data_8bit_w)
AM_RANGE(0x1000, 0x17ff) AM_DEVREADWRITE("tilegen2", deco_bac06_device, pf_data_8bit_r, pf_data_8bit_w)
@@ -752,7 +752,7 @@ ADDRESS_MAP_END
/******************************************************************************/
/* Used for Cobra Command, Maze Hunter, Super Real Darwin etc */
-static ADDRESS_MAP_START( dec8_s_map, AS_PROGRAM, 8, dec8_state )
+ADDRESS_MAP_START(dec8_state::dec8_s_map)
AM_RANGE(0x0000, 0x05ff) AM_RAM
AM_RANGE(0x2000, 0x2001) AM_DEVWRITE("ym1", ym2203_device, write)
AM_RANGE(0x4000, 0x4001) AM_DEVWRITE("ym2", ym3812_device, write)
@@ -761,7 +761,7 @@ static ADDRESS_MAP_START( dec8_s_map, AS_PROGRAM, 8, dec8_state )
ADDRESS_MAP_END
/* Used by Gondomania, Psycho-Nics Oscar & Garyo Retsuden */
-static ADDRESS_MAP_START( oscar_s_map, AS_PROGRAM, 8, dec8_state )
+ADDRESS_MAP_START(dec8_state::oscar_s_map)
AM_RANGE(0x0000, 0x05ff) AM_RAM
AM_RANGE(0x2000, 0x2001) AM_DEVWRITE("ym1", ym2203_device, write)
AM_RANGE(0x4000, 0x4001) AM_DEVWRITE("ym2", ym3526_device, write)
@@ -770,7 +770,7 @@ static ADDRESS_MAP_START( oscar_s_map, AS_PROGRAM, 8, dec8_state )
ADDRESS_MAP_END
/* Used by Last Mission, Shackled & Breywood */
-static ADDRESS_MAP_START( ym3526_s_map, AS_PROGRAM, 8, dec8_state )
+ADDRESS_MAP_START(dec8_state::ym3526_s_map)
AM_RANGE(0x0000, 0x05ff) AM_RAM
AM_RANGE(0x0800, 0x0801) AM_DEVWRITE("ym1", ym2203_device, write)
AM_RANGE(0x1000, 0x1001) AM_DEVWRITE("ym2", ym3526_device, write)
@@ -779,7 +779,7 @@ static ADDRESS_MAP_START( ym3526_s_map, AS_PROGRAM, 8, dec8_state )
ADDRESS_MAP_END
/* Captain Silver - same sound system as Pocket Gal */
-static ADDRESS_MAP_START( csilver_s_map, AS_PROGRAM, 8, dec8_state )
+ADDRESS_MAP_START(dec8_state::csilver_s_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x0800, 0x0801) AM_DEVWRITE("ym1", ym2203_device, write)
AM_RANGE(0x1000, 0x1001) AM_DEVWRITE("ym2", ym3526_device, write)
@@ -843,7 +843,7 @@ WRITE8_MEMBER(dec8_state::dec8_mcu_to_main_w)
m_maincpu->set_input_line(M6809_IRQ_LINE, ASSERT_LINE);
}
-static ADDRESS_MAP_START( dec8_mcu_io_map, AS_IO, 8, dec8_state )
+ADDRESS_MAP_START(dec8_state::dec8_mcu_io_map)
AM_RANGE(MCS51_PORT_P0,MCS51_PORT_P3) AM_READWRITE(dec8_mcu_from_main_r, dec8_mcu_to_main_w)
ADDRESS_MAP_END
@@ -910,7 +910,7 @@ WRITE8_MEMBER(dec8_state::srdarwin_mcu_to_main_w)
m_maincpu->set_input_line(M6809_IRQ_LINE, CLEAR_LINE);
}
-static ADDRESS_MAP_START( srdarwin_mcu_io_map, AS_IO, 8, dec8_state )
+ADDRESS_MAP_START(dec8_state::srdarwin_mcu_io_map)
AM_RANGE(MCS51_PORT_P0,MCS51_PORT_P3) AM_READWRITE(srdarwin_mcu_from_main_r, srdarwin_mcu_to_main_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/deco156.cpp b/src/mame/drivers/deco156.cpp
index 7ed7968a9f8..2b2711abc90 100644
--- a/src/mame/drivers/deco156.cpp
+++ b/src/mame/drivers/deco156.cpp
@@ -68,6 +68,8 @@ public:
DECOSPR_PRIORITY_CB_MEMBER(pri_callback);
void hvysmsh(machine_config &config);
void wcvol95(machine_config &config);
+ void hvysmsh_map(address_map &map);
+ void wcvol95_map(address_map &map);
};
@@ -122,7 +124,7 @@ WRITE32_MEMBER(deco156_state::pf2_rowscroll_w){ data &= 0x0000ffff; mem_mask &=
WRITE32_MEMBER(deco156_state::spriteram_w){ data &= 0x0000ffff; mem_mask &= 0x0000ffff; COMBINE_DATA(&m_spriteram[offset]); }
-static ADDRESS_MAP_START( hvysmsh_map, AS_PROGRAM, 32, deco156_state )
+ADDRESS_MAP_START(deco156_state::hvysmsh_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x107fff) AM_RAM
AM_RANGE(0x120000, 0x120003) AM_READ_PORT("INPUTS")
@@ -142,7 +144,7 @@ static ADDRESS_MAP_START( hvysmsh_map, AS_PROGRAM, 32, deco156_state )
AM_RANGE(0x1e0000, 0x1e1fff) AM_READWRITE(spriteram_r, spriteram_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( wcvol95_map, AS_PROGRAM, 32, deco156_state )
+ADDRESS_MAP_START(deco156_state::wcvol95_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10001f) AM_DEVREADWRITE("tilegen1", deco16ic_device, pf_control_dword_r, pf_control_dword_w)
AM_RANGE(0x110000, 0x111fff) AM_DEVREADWRITE("tilegen1", deco16ic_device, pf1_data_dword_r, pf1_data_dword_w)
diff --git a/src/mame/drivers/deco32.cpp b/src/mame/drivers/deco32.cpp
index faae326ddc8..6a9da88d3ef 100644
--- a/src/mame/drivers/deco32.cpp
+++ b/src/mame/drivers/deco32.cpp
@@ -380,7 +380,7 @@ NOTE: There are several unpopulated locations (denoted by *) for additional rom
// ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( captaven_map, AS_PROGRAM, 32, captaven_state )
+ADDRESS_MAP_START(captaven_state::captaven_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x100007) AM_READ(_71_r)
AM_RANGE(0x100000, 0x100003) AM_WRITE(buffer_spriteram_w)
@@ -409,7 +409,7 @@ static ADDRESS_MAP_START( captaven_map, AS_PROGRAM, 32, captaven_state )
AM_RANGE(0x1e4000, 0x1e5fff) AM_RAM_WRITE(pf4_rowscroll_w) AM_SHARE("pf4_rowscroll32") // unused
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fghthist_map, AS_PROGRAM, 32, fghthist_state )
+ADDRESS_MAP_START(fghthist_state::fghthist_map)
ADDRESS_MAP_UNMAP_HIGH
// AM_RANGE(0x000000, 0x001fff) AM_ROM AM_WRITE(pf1_data_w) // wtf??
AM_RANGE(0x000000, 0x0fffff) AM_ROM
@@ -441,7 +441,7 @@ static ADDRESS_MAP_START( fghthist_map, AS_PROGRAM, 32, fghthist_state )
AM_RANGE(0x208800, 0x208803) AM_WRITENOP /* ? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fghthsta_memmap, AS_PROGRAM, 32, fghthist_state )
+ADDRESS_MAP_START(fghthist_state::fghthsta_memmap)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x11ffff) AM_RAM AM_SHARE("ram")
AM_RANGE(0x140000, 0x140003) AM_WRITE(vblank_ack_w)
@@ -468,7 +468,7 @@ ADDRESS_MAP_END
// the video drawing (especially sprite) code on this is too slow to cope with proper partial updates
// raster effects appear to need some work on it anyway?
-static ADDRESS_MAP_START( dragngun_map, AS_PROGRAM, 32, dragngun_state )
+ADDRESS_MAP_START(dragngun_state::dragngun_map)
AM_RANGE(0x0000000, 0x00fffff) AM_ROM
AM_RANGE(0x0100000, 0x011ffff) AM_RAM AM_SHARE("ram")
AM_RANGE(0x0120000, 0x0127fff) AM_READWRITE16(ioprot_r, ioprot_w, 0x0000ffff)
@@ -515,12 +515,12 @@ static ADDRESS_MAP_START( dragngun_map, AS_PROGRAM, 32, dragngun_state )
AM_RANGE(0x1400000, 0x1ffffff) AM_ROM AM_REGION("dvi", 0x00000) // reads from here during boss battles when the videos should be displayed at the offsets where the DVI headers are // as a result it ends up writing what looks like pointers to the frame data in the ram area above
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lockloadu_map, AS_PROGRAM, 32, dragngun_state )
+ADDRESS_MAP_START(dragngun_state::lockloadu_map)
AM_IMPORT_FROM(dragngun_map)
AM_RANGE(0x0170000, 0x0170007) AM_READ(lockload_gun_mirror_r) /* Not on Dragongun */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lockload_map, AS_PROGRAM, 32, dragngun_state )
+ADDRESS_MAP_START(dragngun_state::lockload_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x11ffff) AM_RAM AM_SHARE("ram")
AM_RANGE(0x120000, 0x127fff) AM_READWRITE16(ioprot_r, ioprot_w, 0x0000ffff)
@@ -555,7 +555,7 @@ static ADDRESS_MAP_START( lockload_map, AS_PROGRAM, 32, dragngun_state )
AM_RANGE(0x500000, 0x500003) AM_WRITE(sprite_control_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tattass_map, AS_PROGRAM, 32, nslasher_state )
+ADDRESS_MAP_START(nslasher_state::tattass_map)
AM_RANGE(0x000000, 0x0f7fff) AM_ROM
AM_RANGE(0x0f8000, 0x0fffff) AM_ROM AM_WRITENOP
AM_RANGE(0x100000, 0x11ffff) AM_RAM AM_SHARE("ram")
@@ -594,7 +594,7 @@ static ADDRESS_MAP_START( tattass_map, AS_PROGRAM, 32, nslasher_state )
AM_RANGE(0x200000, 0x207fff) AM_READ16(nslasher_debug_r, 0x0000ffff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nslasher_map, AS_PROGRAM, 32, nslasher_state )
+ADDRESS_MAP_START(nslasher_state::nslasher_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x11ffff) AM_RAM AM_SHARE("ram")
AM_RANGE(0x120000, 0x1200ff) AM_NOP /* ACIA (unused) */
@@ -632,7 +632,7 @@ static ADDRESS_MAP_START( nslasher_map, AS_PROGRAM, 32, nslasher_state )
ADDRESS_MAP_END
// H6280 based sound
-static ADDRESS_MAP_START( h6280_sound_map, AS_PROGRAM, 8, deco32_state )
+ADDRESS_MAP_START(deco32_state::h6280_sound_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_device, read, write)
@@ -643,13 +643,13 @@ static ADDRESS_MAP_START( h6280_sound_map, AS_PROGRAM, 8, deco32_state )
AM_RANGE(0x1ff400, 0x1ff403) AM_DEVWRITE("audiocpu", h6280_device, irq_status_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( h6280_sound_custom_latch_map, AS_PROGRAM, 8, deco32_state )
+ADDRESS_MAP_START(deco32_state::h6280_sound_custom_latch_map)
AM_IMPORT_FROM(h6280_sound_map)
AM_RANGE(0x140000, 0x140000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
// Z80 based sound
-static ADDRESS_MAP_START( z80_sound_mem, AS_PROGRAM, 8, deco32_state )
+ADDRESS_MAP_START(deco32_state::z80_sound_mem)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
@@ -658,7 +658,7 @@ static ADDRESS_MAP_START( z80_sound_mem, AS_PROGRAM, 8, deco32_state )
AM_RANGE(0xd000, 0xd000) AM_DEVREAD("ioprot", deco_146_base_device, soundlatch_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( z80_sound_io, AS_IO, 8, deco32_state )
+ADDRESS_MAP_START(deco32_state::z80_sound_io)
AM_RANGE(0x0000, 0xffff) AM_ROM AM_REGION("audiocpu", 0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/deco_ld.cpp b/src/mame/drivers/deco_ld.cpp
index d33aedcab41..be9d7c495ac 100644
--- a/src/mame/drivers/deco_ld.cpp
+++ b/src/mame/drivers/deco_ld.cpp
@@ -164,6 +164,8 @@ public:
INTERRUPT_GEN_MEMBER(sound_interrupt);
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, uint8_t *spriteram, uint16_t tile_bank );
void rblaster(machine_config &config);
+ void rblaster_map(address_map &map);
+ void rblaster_sound_map(address_map &map);
};
void deco_ld_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, uint8_t *spriteram, uint16_t tile_bank )
@@ -267,7 +269,7 @@ READ8_MEMBER(deco_ld_state::acia_status_hack_r)
return 0xff;
}
-static ADDRESS_MAP_START( rblaster_map, AS_PROGRAM, 8, deco_ld_state )
+ADDRESS_MAP_START(deco_ld_state::rblaster_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x1000) AM_READ_PORT("IN0") AM_WRITENOP // (w) coin lockout
AM_RANGE(0x1001, 0x1001) AM_READ_PORT("DSW1")
@@ -304,7 +306,7 @@ INTERRUPT_GEN_MEMBER(deco_ld_state::sound_interrupt)
}
-static ADDRESS_MAP_START( rblaster_sound_map, AS_PROGRAM, 8, deco_ld_state )
+ADDRESS_MAP_START(deco_ld_state::rblaster_sound_map)
AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x2000, 0x2000) AM_DEVWRITE("ay1", ay8910_device, data_w)
AM_RANGE(0x4000, 0x4000) AM_DEVWRITE("ay1", ay8910_device, address_w)
diff --git a/src/mame/drivers/deco_mlc.cpp b/src/mame/drivers/deco_mlc.cpp
index 974d9bb648c..94000b22433 100644
--- a/src/mame/drivers/deco_mlc.cpp
+++ b/src/mame/drivers/deco_mlc.cpp
@@ -282,7 +282,7 @@ WRITE16_MEMBER( deco_mlc_state::sh96_protection_region_0_146_w )
/******************************************************************************/
-static ADDRESS_MAP_START( avengrgs_map, AS_PROGRAM, 32, deco_mlc_state )
+ADDRESS_MAP_START(deco_mlc_state::avengrgs_map)
AM_RANGE(0x0000000, 0x00fffff) AM_ROM AM_MIRROR(0xff000000)
AM_RANGE(0x0100000, 0x011ffff) AM_RAM AM_SHARE("mlc_ram") AM_MIRROR(0xff000000)
AM_RANGE(0x0200000, 0x0200003) AM_READ(mlc_200000_r) AM_MIRROR(0xff000000)
@@ -304,7 +304,7 @@ static ADDRESS_MAP_START( avengrgs_map, AS_PROGRAM, 32, deco_mlc_state )
AM_RANGE(0x0600000, 0x0600007) AM_DEVREADWRITE8("ymz", ymz280b_device, read, write, 0xff000000) AM_MIRROR(0xff000000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decomlc_map, AS_PROGRAM, 32, deco_mlc_state )
+ADDRESS_MAP_START(deco_mlc_state::decomlc_map)
AM_RANGE(0x0000000, 0x00fffff) AM_ROM
AM_RANGE(0x0100000, 0x011ffff) AM_RAM AM_SHARE("mlc_ram")
AM_RANGE(0x0200000, 0x0200003) AM_READ(mlc_200000_r)
diff --git a/src/mame/drivers/decocass.cpp b/src/mame/drivers/decocass.cpp
index 1b9eb5b00c9..49b8f3afc1c 100644
--- a/src/mame/drivers/decocass.cpp
+++ b/src/mame/drivers/decocass.cpp
@@ -80,7 +80,7 @@ READ8_MEMBER(decocass_state::mirrorcolorram_r)
}
-static ADDRESS_MAP_START( decocass_map, AS_PROGRAM, 8, decocass_state )
+ADDRESS_MAP_START(decocass_state::decocass_map)
AM_RANGE(0x0000, 0x5fff) AM_RAM AM_SHARE("rambase")
AM_RANGE(0x6000, 0xbfff) AM_RAM_WRITE(decocass_charram_w) AM_SHARE("charram") /* still RMS3 RAM */
AM_RANGE(0xc000, 0xc3ff) AM_RAM_WRITE(decocass_fgvideoram_w) AM_SHARE("fgvideoram") /* DSP3 RAM */
@@ -121,7 +121,7 @@ static ADDRESS_MAP_START( decocass_map, AS_PROGRAM, 8, decocass_state )
AM_RANGE(0xf000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decocass_sound_map, AS_PROGRAM, 8, decocass_state )
+ADDRESS_MAP_START(decocass_state::decocass_sound_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x17ff) AM_READWRITE(decocass_sound_nmi_enable_r, decocass_sound_nmi_enable_w)
AM_RANGE(0x1800, 0x1fff) AM_READWRITE(decocass_sound_data_ack_reset_r, decocass_sound_data_ack_reset_w)
diff --git a/src/mame/drivers/dectalk.cpp b/src/mame/drivers/dectalk.cpp
index 7bc19f0f8dd..83b64f2fa5d 100644
--- a/src/mame/drivers/dectalk.cpp
+++ b/src/mame/drivers/dectalk.cpp
@@ -322,6 +322,9 @@ public:
DECLARE_WRITE_LINE_MEMBER(dectalk_reset);
void dectalk(machine_config &config);
+ void m68k_mem(address_map &map);
+ void tms32010_io(address_map &map);
+ void tms32010_mem(address_map &map);
protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
};
@@ -789,7 +792,7 @@ a23 a22 a21 a20 a19 a18 a17 a16 a15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4
| | | | |
*/
-static ADDRESS_MAP_START(m68k_mem, AS_PROGRAM, 16, dectalk_state )
+ADDRESS_MAP_START(dectalk_state::m68k_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x03ffff) AM_MIRROR(0x740000) AM_ROM /* ROM */
AM_RANGE(0x080000, 0x093fff) AM_MIRROR(0x760000) AM_RAM /* RAM */
@@ -803,11 +806,11 @@ static ADDRESS_MAP_START(m68k_mem, AS_PROGRAM, 16, dectalk_state )
AM_RANGE(0x09c006, 0x09c007) AM_MIRROR(0x763ff8) AM_READ(m68k_tlc_dtmf_r) /* telephone dtmf read */
ADDRESS_MAP_END
-static ADDRESS_MAP_START(tms32010_mem, AS_PROGRAM, 16, dectalk_state )
+ADDRESS_MAP_START(dectalk_state::tms32010_mem)
AM_RANGE(0x000, 0x7ff) AM_ROM /* ROM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START(tms32010_io, AS_IO, 16, dectalk_state )
+ADDRESS_MAP_START(dectalk_state::tms32010_io)
AM_RANGE(0, 0) AM_WRITE(spc_latch_outfifo_error_stats) // *set* the outfifo_status_r semaphore, and also latch the error bit at D0.
AM_RANGE(1, 1) AM_READWRITE(spc_infifo_data_r, spc_outfifo_data_w) //read from input fifo, write to sound fifo
//AM_RANGE(8, 8) //the newer firmware seems to want something mapped here?
diff --git a/src/mame/drivers/decwritr.cpp b/src/mame/drivers/decwritr.cpp
index 1ca1913f2bf..d86c2dcaeca 100644
--- a/src/mame/drivers/decwritr.cpp
+++ b/src/mame/drivers/decwritr.cpp
@@ -55,6 +55,8 @@ public:
DECLARE_READ8_MEMBER(la120_DC305_r);
DECLARE_WRITE8_MEMBER(la120_DC305_w);
void la120(machine_config &config);
+ void la120_io(address_map &map);
+ void la120_mem(address_map &map);
private:
virtual void machine_start() override;
//virtual void machine_reset();
@@ -213,7 +215,7 @@ WRITE8_MEMBER( decwriter_state::la120_DC305_w )
0 1 1 1 x x x x x x x x x x * * RW PTR (DC305 ASIC,e25)
1 * * * * * * * * * * * * * * * Expansion space (open bus)
*/
-static ADDRESS_MAP_START(la120_mem, AS_PROGRAM, 8, decwriter_state)
+ADDRESS_MAP_START(decwriter_state::la120_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x27ff ) AM_ROM
AM_RANGE( 0x3000, 0x301f ) AM_READWRITE(la120_KBD_r, la120_LED_w) AM_MIRROR(0xFE0) // keyboard read, write to status and 7seg LEDS
@@ -233,7 +235,7 @@ ADDRESS_MAP_END
0 x x x x x 1 x RW Flags Read/Write
1 x x x x x x x RW Expansion (Open bus)
*/
-static ADDRESS_MAP_START(la120_io, AS_IO, 8, decwriter_state)
+ADDRESS_MAP_START(decwriter_state::la120_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x00) AM_MIRROR(0x7C) AM_DEVREADWRITE("i8251", i8251_device, data_r, data_w) // 8251 Data
AM_RANGE(0x01, 0x01) AM_MIRROR(0x7C) AM_DEVREADWRITE("i8251", i8251_device, status_r, control_w) // 8251 Status/Control
diff --git a/src/mame/drivers/deniam.cpp b/src/mame/drivers/deniam.cpp
index 90f5e0341c0..3e2d152cd8c 100644
--- a/src/mame/drivers/deniam.cpp
+++ b/src/mame/drivers/deniam.cpp
@@ -73,7 +73,7 @@ WRITE16_MEMBER(deniam_state::deniam_irq_ack_w)
m_maincpu->set_input_line(4, CLEAR_LINE);
}
-static ADDRESS_MAP_START( deniam16b_map, AS_PROGRAM, 16, deniam_state )
+ADDRESS_MAP_START(deniam_state::deniam16b_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x400000, 0x40ffff) AM_RAM_WRITE(deniam_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x410000, 0x410fff) AM_RAM_WRITE(deniam_textram_w) AM_SHARE("textram")
@@ -90,12 +90,12 @@ static ADDRESS_MAP_START( deniam16b_map, AS_PROGRAM, 16, deniam_state )
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, deniam_state )
+ADDRESS_MAP_START(deniam_state::sound_map)
AM_RANGE(0x0000, 0xf7ff) AM_ROM
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, deniam_state )
+ADDRESS_MAP_START(deniam_state::sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x01, 0x01) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0x02, 0x03) AM_DEVWRITE("ymsnd", ym3812_device, write)
@@ -104,7 +104,7 @@ static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, deniam_state )
ADDRESS_MAP_END
/* identical to 16b, but handles sound directly */
-static ADDRESS_MAP_START( deniam16c_map, AS_PROGRAM, 16, deniam_state )
+ADDRESS_MAP_START(deniam_state::deniam16c_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x400000, 0x40ffff) AM_RAM_WRITE(deniam_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x410000, 0x410fff) AM_RAM_WRITE(deniam_textram_w) AM_SHARE("textram")
diff --git a/src/mame/drivers/deshoros.cpp b/src/mame/drivers/deshoros.cpp
index 45840987d5c..0daa0756d64 100644
--- a/src/mame/drivers/deshoros.cpp
+++ b/src/mame/drivers/deshoros.cpp
@@ -62,6 +62,7 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
void destiny(machine_config &config);
+ void main_map(address_map &map);
protected:
// driver_device overrides
virtual void machine_start() override;
@@ -169,7 +170,7 @@ WRITE8_MEMBER(destiny_state::sound_w)
m_beeper->set_state(~offset & 1);
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, destiny_state )
+ADDRESS_MAP_START(destiny_state::main_map)
AM_RANGE(0x0000, 0x5fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_READWRITE(printer_status_r, firq_ack_w)
diff --git a/src/mame/drivers/destroyr.cpp b/src/mame/drivers/destroyr.cpp
index 9d0c460eb37..635adb65108 100644
--- a/src/mame/drivers/destroyr.cpp
+++ b/src/mame/drivers/destroyr.cpp
@@ -84,6 +84,7 @@ public:
TIMER_CALLBACK_MEMBER(frame_callback);
void destroyr(machine_config &config);
+ void destroyr_map(address_map &map);
protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
};
@@ -286,7 +287,7 @@ READ8_MEMBER(destroyr_state::scanline_r)
}
-static ADDRESS_MAP_START( destroyr_map, AS_PROGRAM, 8, destroyr_state )
+ADDRESS_MAP_START(destroyr_state::destroyr_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x00ff) AM_MIRROR(0xf00) AM_RAM
AM_RANGE(0x1000, 0x1001) AM_MIRROR(0xffe) AM_READ(input_r)
diff --git a/src/mame/drivers/dfruit.cpp b/src/mame/drivers/dfruit.cpp
index 2a7b700607f..7980e851d7d 100644
--- a/src/mame/drivers/dfruit.cpp
+++ b/src/mame/drivers/dfruit.cpp
@@ -71,6 +71,8 @@ public:
void ram_bank_w(uint16_t offset, uint8_t data, uint8_t bank_num);
TIMER_DEVICE_CALLBACK_MEMBER(dfruit_irq_scanline);
void dfruit(machine_config &config);
+ void dfruit_map(address_map &map);
+ void tc0091lvc_map(address_map &map);
};
void dfruit_state::video_start()
@@ -162,7 +164,7 @@ WRITE8_MEMBER(dfruit_state::dfruit_ram_1_w) { ram_bank_w(offset, data, 1); }
WRITE8_MEMBER(dfruit_state::dfruit_ram_2_w) { ram_bank_w(offset, data, 2); }
WRITE8_MEMBER(dfruit_state::dfruit_ram_3_w) { ram_bank_w(offset, data, 3); }
-static ADDRESS_MAP_START( tc0091lvc_map, AS_PROGRAM, 8, dfruit_state )
+ADDRESS_MAP_START(dfruit_state::tc0091lvc_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x7fff) AM_READ(dfruit_rom_r)
@@ -181,7 +183,7 @@ static ADDRESS_MAP_START( tc0091lvc_map, AS_PROGRAM, 8, dfruit_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dfruit_map, AS_PROGRAM, 8, dfruit_state )
+ADDRESS_MAP_START(dfruit_state::dfruit_map)
AM_IMPORT_FROM(tc0091lvc_map)
AM_RANGE(0xa000, 0xa003) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
AM_RANGE(0xa004, 0xa005) AM_DEVREADWRITE("opn", ym2203_device, read, write)
diff --git a/src/mame/drivers/dgn_beta.cpp b/src/mame/drivers/dgn_beta.cpp
index 3adaec6e5d6..9da42091534 100644
--- a/src/mame/drivers/dgn_beta.cpp
+++ b/src/mame/drivers/dgn_beta.cpp
@@ -140,7 +140,7 @@ static const unsigned char dgnbeta_palette[] =
*/
-static ADDRESS_MAP_START( dgnbeta_map, AS_PROGRAM, 8, dgn_beta_state )
+ADDRESS_MAP_START(dgn_beta_state::dgnbeta_map)
AM_RANGE(0x0000, 0x0FFF) AM_RAMBANK("bank1")
AM_RANGE(0x1000, 0x1FFF) AM_RAMBANK("bank2")
AM_RANGE(0x2000, 0x2FFF) AM_RAMBANK("bank3")
diff --git a/src/mame/drivers/dgpix.cpp b/src/mame/drivers/dgpix.cpp
index 41d6c7b42cf..5d204a01845 100644
--- a/src/mame/drivers/dgpix.cpp
+++ b/src/mame/drivers/dgpix.cpp
@@ -196,6 +196,8 @@ public:
uint32_t screen_update_dgpix(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void dgpix(machine_config &config);
+ void cpu_map(address_map &map);
+ void io_map(address_map &map);
};
@@ -322,7 +324,7 @@ READ32_MEMBER(dgpix_state::vblank_r)
return m_vblank->read();
}
-static ADDRESS_MAP_START( cpu_map, AS_PROGRAM, 32, dgpix_state )
+ADDRESS_MAP_START(dgpix_state::cpu_map)
AM_RANGE(0x00000000, 0x007fffff) AM_RAM
AM_RANGE(0x40000000, 0x4003ffff) AM_READWRITE(vram_r, vram_w)
AM_RANGE(0xe0000000, 0xe1ffffff) AM_READWRITE(flash_r, flash_w)
@@ -330,7 +332,7 @@ static ADDRESS_MAP_START( cpu_map, AS_PROGRAM, 32, dgpix_state )
AM_RANGE(0xffc00000, 0xffffffff) AM_ROM AM_REGION("flash", 0x1c00000) AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 32, dgpix_state )
+ADDRESS_MAP_START(dgpix_state::io_map)
AM_RANGE(0x0200, 0x0203) AM_READNOP // used to sync with the protecion PIC? tested bits 0 and 1
AM_RANGE(0x0400, 0x0403) AM_READWRITE(vblank_r, vbuffer_w)
AM_RANGE(0x0a10, 0x0a13) AM_READ_PORT("INPUTS")
diff --git a/src/mame/drivers/didact.cpp b/src/mame/drivers/didact.cpp
index dbb5e5be0dc..44c91300af6 100644
--- a/src/mame/drivers/didact.cpp
+++ b/src/mame/drivers/didact.cpp
@@ -187,6 +187,7 @@ class md6802_state : public didact_state
virtual void machine_reset() override;
virtual void machine_start() override;
void md6802(machine_config &config);
+ void md6802_map(address_map &map);
protected:
required_device<pia6821_device> m_pia1;
required_device<pia6821_device> m_pia2;
@@ -284,7 +285,7 @@ void md6802_state::machine_reset()
}
// This address map is traced from schema
-static ADDRESS_MAP_START( md6802_map, AS_PROGRAM, 8, md6802_state )
+ADDRESS_MAP_START(md6802_state::md6802_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_MIRROR(0x1800)
AM_RANGE(0xa000, 0xa003) AM_DEVREADWRITE(PIA1_TAG, pia6821_device, read, write) AM_MIRROR(0x1ffc)
AM_RANGE(0xc000, 0xc003) AM_DEVREADWRITE(PIA2_TAG, pia6821_device, read, write) AM_MIRROR(0x1ffc)
@@ -369,6 +370,7 @@ class mp68a_state : public didact_state
virtual void machine_reset() override;
virtual void machine_start() override;
void mp68a(machine_config &config);
+ void mp68a_map(address_map &map);
protected:
required_device<pia6820_device> m_pia1;
required_device<pia6820_device> m_pia2;
@@ -475,7 +477,7 @@ void mp68a_state::machine_start()
}
// This address map is traced from pcb
-static ADDRESS_MAP_START( mp68a_map, AS_PROGRAM, 8, mp68a_state )
+ADDRESS_MAP_START(mp68a_state::mp68a_map)
AM_RANGE(0x0000, 0x00ff) AM_RAM AM_MIRROR(0xf000)
AM_RANGE(0x0500, 0x0503) AM_DEVREADWRITE(PIA1_TAG, pia6820_device, read, write) AM_MIRROR(0xf0fc)
AM_RANGE(0x0600, 0x0603) AM_DEVREADWRITE(PIA2_TAG, pia6820_device, read, write) AM_MIRROR(0xf0fc)
diff --git a/src/mame/drivers/dietgo.cpp b/src/mame/drivers/dietgo.cpp
index a7581ce8b43..e370b36c5b9 100644
--- a/src/mame/drivers/dietgo.cpp
+++ b/src/mame/drivers/dietgo.cpp
@@ -52,7 +52,7 @@ WRITE16_MEMBER( dietgo_state::dietgo_protection_region_0_104_w )
}
-static ADDRESS_MAP_START( dietgo_map, AS_PROGRAM, 16, dietgo_state )
+ADDRESS_MAP_START(dietgo_state::dietgo_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x200000, 0x20000f) AM_DEVWRITE("tilegen1", deco16ic_device, pf_control_w)
AM_RANGE(0x210000, 0x211fff) AM_DEVWRITE("tilegen1", deco16ic_device, pf1_data_w)
@@ -65,13 +65,13 @@ static ADDRESS_MAP_START( dietgo_map, AS_PROGRAM, 16, dietgo_state )
AM_RANGE(0x380000, 0x38ffff) AM_RAM // mainram
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 16, dietgo_state )
+ADDRESS_MAP_START(dietgo_state::decrypted_opcodes_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM AM_SHARE("decrypted_opcodes")
ADDRESS_MAP_END
/* Physical memory map (21 bits) */
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, dietgo_state )
+ADDRESS_MAP_START(dietgo_state::sound_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_NOP /* YM2203 - this board doesn't have one */
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
@@ -214,7 +214,7 @@ MACHINE_CONFIG_START(dietgo_state::dietgo)
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, XTAL(28'000'000)/2) /* DE102 (verified on pcb) */
MCFG_CPU_PROGRAM_MAP(dietgo_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", dietgo_state, irq6_line_hold)
MCFG_CPU_ADD("audiocpu", H6280, XTAL(32'220'000)/4/3) /* Custom chip 45; XIN is 32.220MHZ/4, verified on pcb */
diff --git a/src/mame/drivers/digel804.cpp b/src/mame/drivers/digel804.cpp
index f0c71a43dc4..4f94ed32236 100644
--- a/src/mame/drivers/digel804.cpp
+++ b/src/mame/drivers/digel804.cpp
@@ -134,6 +134,10 @@ public:
uint8_t m_op41;
void ep804(machine_config &config);
void digel804(machine_config &config);
+ void z80_io_1_2(address_map &map);
+ void z80_io_1_4(address_map &map);
+ void z80_mem_804_1_2(address_map &map);
+ void z80_mem_804_1_4(address_map &map);
};
@@ -428,7 +432,7 @@ WRITE8_MEMBER( digel804_state::acia_control_w )
Address Maps
******************************************************************************/
-static ADDRESS_MAP_START(z80_mem_804_1_4, AS_PROGRAM, 8, digel804_state)
+ADDRESS_MAP_START(digel804_state::z80_mem_804_1_4)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_ROM // 3f in mapper = rom J3
//AM_RANGE(0x4000, 0x5fff) AM_RAM AM_SHARE("main_ram") // 6f in mapper = RAM D43 (6164)
@@ -442,7 +446,7 @@ static ADDRESS_MAP_START(z80_mem_804_1_4, AS_PROGRAM, 8, digel804_state)
// f800-ffff is open bus in mapper, 7f
ADDRESS_MAP_END
-static ADDRESS_MAP_START(z80_mem_804_1_2, AS_PROGRAM, 8, digel804_state)
+ADDRESS_MAP_START(digel804_state::z80_mem_804_1_2)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_ROM // 3f in mapper = rom D41
AM_RANGE(0x2000, 0x3fff) AM_ROM // 5f in mapper = rom D42
@@ -457,7 +461,7 @@ static ADDRESS_MAP_START(z80_mem_804_1_2, AS_PROGRAM, 8, digel804_state)
// d800-ffff is open bus in mapper, 7f
ADDRESS_MAP_END
-static ADDRESS_MAP_START(z80_io_1_4, AS_IO, 8, digel804_state)
+ADDRESS_MAP_START(digel804_state::z80_io_1_4)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
// io bits: x 1 x x x * * *
@@ -485,7 +489,7 @@ static ADDRESS_MAP_START(z80_io_1_4, AS_IO, 8, digel804_state)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(z80_io_1_2, AS_IO, 8, digel804_state)
+ADDRESS_MAP_START(digel804_state::z80_io_1_2)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
// io bits: x 1 x x x * * *
diff --git a/src/mame/drivers/digijet.cpp b/src/mame/drivers/digijet.cpp
index 43479efbb6f..08635fa7473 100644
--- a/src/mame/drivers/digijet.cpp
+++ b/src/mame/drivers/digijet.cpp
@@ -38,9 +38,10 @@ public:
virtual void machine_start() override { }
virtual void machine_reset() override { }
void digijet(machine_config &config);
+ void io_map(address_map &map);
};
-static ADDRESS_MAP_START( io_map, AS_IO, 8, digijet_state )
+ADDRESS_MAP_START(digijet_state::io_map)
ADDRESS_MAP_END
static INPUT_PORTS_START( digijet )
diff --git a/src/mame/drivers/dim68k.cpp b/src/mame/drivers/dim68k.cpp
index 9bd85a22218..bd6e8d36d6c 100644
--- a/src/mame/drivers/dim68k.cpp
+++ b/src/mame/drivers/dim68k.cpp
@@ -73,6 +73,7 @@ public:
MC6845_UPDATE_ROW(crtc_update_row);
void dim68k(machine_config &config);
+ void dim68k_mem(address_map &map);
private:
bool m_speaker_bit;
u8 m_video_control;
@@ -183,7 +184,7 @@ WRITE16_MEMBER( dim68k_state::dim68k_banksw_w )
{
}
-static ADDRESS_MAP_START(dim68k_mem, AS_PROGRAM, 16, dim68k_state)
+ADDRESS_MAP_START(dim68k_state::dim68k_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000000, 0x00feffff) AM_RAM AM_SHARE("ram") // 16MB RAM / ROM at boot
AM_RANGE(0x00ff0000, 0x00ff1fff) AM_ROM AM_REGION("bootrom", 0)
diff --git a/src/mame/drivers/discoboy.cpp b/src/mame/drivers/discoboy.cpp
index 60cc6879a5b..73efdd841d5 100644
--- a/src/mame/drivers/discoboy.cpp
+++ b/src/mame/drivers/discoboy.cpp
@@ -108,6 +108,10 @@ public:
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
DECLARE_WRITE_LINE_MEMBER(yunsung8_adpcm_int);
void discoboy(machine_config &config);
+ void discoboy_map(address_map &map);
+ void io_map(address_map &map);
+ void rambank1_map(address_map &map);
+ void sound_map(address_map &map);
};
void discoboy_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect )
@@ -269,7 +273,7 @@ WRITE8_MEMBER(discoboy_state::rambank2_w)
printf("unk rb2_w\n");
}
-static ADDRESS_MAP_START( discoboy_map, AS_PROGRAM, 8, discoboy_state )
+ADDRESS_MAP_START(discoboy_state::discoboy_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("mainbank")
AM_RANGE(0xc000, 0xc7ff) AM_DEVICE("rambank1", address_map_bank_device, amap8)
@@ -279,7 +283,7 @@ static ADDRESS_MAP_START( discoboy_map, AS_PROGRAM, 8, discoboy_state )
AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rambank1_map, AS_PROGRAM, 8, discoboy_state )
+ADDRESS_MAP_START(discoboy_state::rambank1_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("ram_1")
AM_RANGE(0x0800, 0x0fff) AM_RAM AM_SHARE("ram_2")
ADDRESS_MAP_END
@@ -290,7 +294,7 @@ READ8_MEMBER(discoboy_state::port_06_r)
return 0x00;
}
-static ADDRESS_MAP_START( io_map, AS_IO, 8, discoboy_state )
+ADDRESS_MAP_START(discoboy_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("DSWA") AM_WRITE(port_00_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("SYSTEM") AM_WRITE(port_01_w)
@@ -314,7 +318,7 @@ WRITE8_MEMBER(discoboy_state::yunsung8_sound_bankswitch_w)
logerror("%s: Bank %02X\n", machine().describe_context(), data);
}
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, discoboy_state )
+ADDRESS_MAP_START(discoboy_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("sndbank")
AM_RANGE(0xe000, 0xe000) AM_WRITE(yunsung8_sound_bankswitch_w)
diff --git a/src/mame/drivers/divebomb.cpp b/src/mame/drivers/divebomb.cpp
index 8e9dd1830f3..31b7d12cae3 100644
--- a/src/mame/drivers/divebomb.cpp
+++ b/src/mame/drivers/divebomb.cpp
@@ -103,14 +103,14 @@ To verify against original HW:
*
*************************************/
-static ADDRESS_MAP_START( divebomb_fgcpu_map, AS_PROGRAM, 8, divebomb_state )
+ADDRESS_MAP_START(divebomb_state::divebomb_fgcpu_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(fgram_w) AM_SHARE("fgram")
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( divebomb_fgcpu_iomap, AS_IO, 8, divebomb_state )
+ADDRESS_MAP_START(divebomb_state::divebomb_fgcpu_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("sn0", sn76489_device, write)
AM_RANGE(0x01, 0x01) AM_DEVWRITE("sn1", sn76489_device, write)
@@ -182,7 +182,7 @@ READ8_MEMBER(divebomb_state::fgcpu_comm_flags_r)
*
*************************************/
-static ADDRESS_MAP_START( divebomb_spritecpu_map, AS_PROGRAM, 8, divebomb_state )
+ADDRESS_MAP_START(divebomb_state::divebomb_spritecpu_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xc800, 0xdfff) AM_WRITENOP
@@ -190,7 +190,7 @@ static ADDRESS_MAP_START( divebomb_spritecpu_map, AS_PROGRAM, 8, divebomb_state
ADDRESS_MAP_END
-static ADDRESS_MAP_START( divebomb_spritecpu_iomap, AS_IO, 8, divebomb_state )
+ADDRESS_MAP_START(divebomb_state::divebomb_spritecpu_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(spritecpu_port00_w)
AM_RANGE(0x80, 0x80) AM_READWRITE(spritecpu_comm_r, spritecpu_comm_w)
@@ -226,7 +226,7 @@ WRITE8_MEMBER(divebomb_state::spritecpu_port00_w)
*
*************************************/
-static ADDRESS_MAP_START( divebomb_rozcpu_map, AS_PROGRAM, 8, divebomb_state )
+ADDRESS_MAP_START(divebomb_state::divebomb_rozcpu_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_DEVREADWRITE("k051316_1", k051316_device, read, write)
@@ -235,7 +235,7 @@ static ADDRESS_MAP_START( divebomb_rozcpu_map, AS_PROGRAM, 8, divebomb_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( divebomb_rozcpu_iomap, AS_IO, 8, divebomb_state )
+ADDRESS_MAP_START(divebomb_state::divebomb_rozcpu_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(rozcpu_bank_w)
AM_RANGE(0x10, 0x10) AM_WRITE(rozcpu_wrap2_enable_w)
diff --git a/src/mame/drivers/diverboy.cpp b/src/mame/drivers/diverboy.cpp
index 5cf2b784e96..69dd294a177 100644
--- a/src/mame/drivers/diverboy.cpp
+++ b/src/mame/drivers/diverboy.cpp
@@ -91,6 +91,8 @@ public:
uint32_t screen_update_diverboy(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
void diverboy(machine_config &config);
+ void diverboy_map(address_map &map);
+ void snd_map(address_map &map);
};
@@ -159,7 +161,7 @@ WRITE8_MEMBER(diverboy_state::okibank_w)
-static ADDRESS_MAP_START( diverboy_map, AS_PROGRAM, 16, diverboy_state )
+ADDRESS_MAP_START(diverboy_state::diverboy_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x04ffff) AM_RAM
AM_RANGE(0x080000, 0x083fff) AM_RAM AM_SHARE("spriteram")
@@ -176,7 +178,7 @@ static ADDRESS_MAP_START( diverboy_map, AS_PROGRAM, 16, diverboy_state )
// AM_RANGE(0x340002, 0x340003) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( snd_map, AS_PROGRAM, 8, diverboy_state )
+ADDRESS_MAP_START(diverboy_state::snd_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_WRITE(okibank_w)
diff --git a/src/mame/drivers/djboy.cpp b/src/mame/drivers/djboy.cpp
index c766ff69f0c..510623f484b 100644
--- a/src/mame/drivers/djboy.cpp
+++ b/src/mame/drivers/djboy.cpp
@@ -244,7 +244,7 @@ WRITE8_MEMBER(djboy_state::cpu2_bankswitch_w)
/******************************************************************************/
-static ADDRESS_MAP_START( cpu0_am, AS_PROGRAM, 8, djboy_state )
+ADDRESS_MAP_START(djboy_state::cpu0_am)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xafff) AM_ROMBANK("bank4")
AM_RANGE(0xb000, 0xbfff) AM_DEVREADWRITE("pandora", kaneko_pandora_device, spriteram_r, spriteram_w)
@@ -254,14 +254,14 @@ static ADDRESS_MAP_START( cpu0_am, AS_PROGRAM, 8, djboy_state )
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpu0_port_am, AS_IO, 8, djboy_state )
+ADDRESS_MAP_START(djboy_state::cpu0_port_am)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(cpu0_bankswitch_w)
ADDRESS_MAP_END
/******************************************************************************/
-static ADDRESS_MAP_START( cpu1_am, AS_PROGRAM, 8, djboy_state )
+ADDRESS_MAP_START(djboy_state::cpu1_am)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank2")
AM_RANGE(0xc000, 0xcfff) AM_RAM_WRITE(djboy_videoram_w) AM_SHARE("videoram")
@@ -270,7 +270,7 @@ static ADDRESS_MAP_START( cpu1_am, AS_PROGRAM, 8, djboy_state )
AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("share1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpu1_port_am, AS_IO, 8, djboy_state )
+ADDRESS_MAP_START(djboy_state::cpu1_port_am)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(cpu1_bankswitch_w)
AM_RANGE(0x02, 0x02) AM_WRITE(trigger_nmi_on_sound_cpu2)
@@ -284,13 +284,13 @@ ADDRESS_MAP_END
/******************************************************************************/
-static ADDRESS_MAP_START( cpu2_am, AS_PROGRAM, 8, djboy_state )
+ADDRESS_MAP_START(djboy_state::cpu2_am)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank3")
AM_RANGE(0xc000, 0xdfff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpu2_port_am, AS_IO, 8, djboy_state )
+ADDRESS_MAP_START(djboy_state::cpu2_port_am)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(cpu2_bankswitch_w)
AM_RANGE(0x02, 0x03) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
@@ -379,7 +379,7 @@ WRITE8_MEMBER(djboy_state::beast_p3_w)
}
/* Program/data maps are defined in the 8051 core */
-static ADDRESS_MAP_START( djboy_mcu_io_map, AS_IO, 8, djboy_state )
+ADDRESS_MAP_START(djboy_state::djboy_mcu_io_map)
AM_RANGE(MCS51_PORT_P0, MCS51_PORT_P0) AM_READWRITE(beast_p0_r, beast_p0_w)
AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_READWRITE(beast_p1_r, beast_p1_w)
AM_RANGE(MCS51_PORT_P2, MCS51_PORT_P2) AM_READWRITE(beast_p2_r, beast_p2_w)
diff --git a/src/mame/drivers/djmain.cpp b/src/mame/drivers/djmain.cpp
index b40705b5e0d..b7d4d6c4b1e 100644
--- a/src/mame/drivers/djmain.cpp
+++ b/src/mame/drivers/djmain.cpp
@@ -373,7 +373,7 @@ WRITE_LINE_MEMBER( djmain_state::ide_interrupt )
*
*************************************/
-static ADDRESS_MAP_START( maincpu_djmain, AS_PROGRAM, 32, djmain_state )
+ADDRESS_MAP_START(djmain_state::maincpu_djmain)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // PRG ROM
AM_RANGE(0x400000, 0x40ffff) AM_RAM // WORK RAM
AM_RANGE(0x480000, 0x48443f) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette") // COLOR RAM
@@ -397,7 +397,7 @@ static ADDRESS_MAP_START( maincpu_djmain, AS_PROGRAM, 32, djmain_state )
AM_RANGE(0x803800, 0x803fff) AM_READ(obj_rom_r) // OBJECT ROM readthrough (for POST)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(maincpu_djmainj, AS_PROGRAM, 32, djmain_state)
+ADDRESS_MAP_START(djmain_state::maincpu_djmainj)
AM_IMPORT_FROM(maincpu_djmain)
AM_RANGE(0xc00000, 0xc01fff) AM_DEVREADWRITE("k056832", k056832_device, ram_long_r, ram_long_w) // VIDEO RAM (tilemap) (beatmania)
@@ -406,7 +406,7 @@ static ADDRESS_MAP_START(maincpu_djmainj, AS_PROGRAM, 32, djmain_state)
AM_RANGE(0xf40000, 0xf4000f) AM_DEVREADWRITE16("ata", ata_interface_device, read_cs1, write_cs1, 0xffffffff) // IDE status control reg (beatmania)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(maincpu_djmainu, AS_PROGRAM, 32, djmain_state)
+ADDRESS_MAP_START(djmain_state::maincpu_djmainu)
AM_IMPORT_FROM(maincpu_djmain)
AM_RANGE(0xd00000, 0xd0000f) AM_DEVREADWRITE16("ata", ata_interface_device, read_cs0, write_cs0, 0xffffffff) // IDE control regs (hiphopmania)
@@ -414,7 +414,7 @@ static ADDRESS_MAP_START(maincpu_djmainu, AS_PROGRAM, 32, djmain_state)
AM_RANGE(0xe00000, 0xe01fff) AM_DEVREADWRITE("k056832", k056832_device, ram_long_r, ram_long_w) // VIDEO RAM (tilemap) (hiphopmania)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(maincpu_djmaina, AS_PROGRAM, 32, djmain_state)
+ADDRESS_MAP_START(djmain_state::maincpu_djmaina)
AM_IMPORT_FROM(maincpu_djmain)
AM_RANGE(0xc00000, 0xc0000f) AM_DEVREADWRITE16("ata", ata_interface_device, read_cs0, write_cs0, 0xffffffff) // IDE control regs
@@ -422,7 +422,7 @@ static ADDRESS_MAP_START(maincpu_djmaina, AS_PROGRAM, 32, djmain_state)
AM_RANGE(0xf00000, 0xf01fff) AM_DEVREADWRITE("k056832", k056832_device, ram_long_r, ram_long_w) // VIDEO RAM (tilemap)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(k054539_map, 0, 8, djmain_state)
+ADDRESS_MAP_START(djmain_state::k054539_map)
AM_RANGE(0x000000, 0xffffff) AM_RAM AM_SHARE("sndram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/dkong.cpp b/src/mame/drivers/dkong.cpp
index 920451aebdc..9548ba42328 100644
--- a/src/mame/drivers/dkong.cpp
+++ b/src/mame/drivers/dkong.cpp
@@ -818,7 +818,7 @@ WRITE8_MEMBER(dkong_state::nmi_mask_w)
*
*************************************/
-static ADDRESS_MAP_START( dkong_map, AS_PROGRAM, 8, dkong_state )
+ADDRESS_MAP_START(dkong_state::dkong_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x6000, 0x6bff) AM_RAM
AM_RANGE(0x7000, 0x73ff) AM_RAM AM_SHARE("sprite_ram") /* sprite set 1 */
@@ -839,7 +839,7 @@ static ADDRESS_MAP_START( dkong_map, AS_PROGRAM, 8, dkong_state )
AM_RANGE(0x7d86, 0x7d87) AM_WRITE(dkong_palettebank_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dkongjr_map, AS_PROGRAM, 8, dkong_state )
+ADDRESS_MAP_START(dkong_state::dkongjr_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x6bff) AM_RAM
AM_RANGE(0x6c00, 0x6fff) AM_RAM /* DK3 bootleg only */
@@ -868,7 +868,7 @@ static ADDRESS_MAP_START( dkongjr_map, AS_PROGRAM, 8, dkong_state )
AM_RANGE(0xd000, 0xdfff) AM_ROM /* DK3 bootleg only */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dkong3_map, AS_PROGRAM, 8, dkong_state )
+ADDRESS_MAP_START(dkong_state::dkong3_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM
AM_RANGE(0x6800, 0x6fff) AM_RAM
@@ -888,21 +888,21 @@ static ADDRESS_MAP_START( dkong3_map, AS_PROGRAM, 8, dkong_state )
AM_RANGE(0x8000, 0x9fff) AM_ROM /* DK3 and bootleg DKjr only */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dkong3_io_map, AS_IO, 8, dkong_state )
+ADDRESS_MAP_START(dkong_state::dkong3_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("z80dma", z80dma_device, read, write) /* dma controller */
ADDRESS_MAP_END
/* Epos conversions */
-static ADDRESS_MAP_START( epos_readport, AS_IO, 8, dkong_state )
+ADDRESS_MAP_START(dkong_state::epos_readport)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0xff) AM_READ(epos_decrypt_rom) /* Switch protection logic */
ADDRESS_MAP_END
/* S2650 conversions */
-static ADDRESS_MAP_START( s2650_map, AS_PROGRAM, 8, dkong_state )
+ADDRESS_MAP_START(dkong_state::s2650_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1000, 0x13ff) AM_RAM AM_SHARE("sprite_ram") /* 0x7000 */
AM_RANGE(0x1400, 0x1400) AM_MIRROR(0x007f) AM_READ_PORT("IN0") AM_DEVWRITE("ls175.3d", latch8_device, write)
@@ -928,12 +928,12 @@ static ADDRESS_MAP_START( s2650_map, AS_PROGRAM, 8, dkong_state )
AM_RANGE(0x7000, 0x7fff) AM_READWRITE(s2650_mirror_r, s2650_mirror_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( s2650_io_map, AS_IO, 8, dkong_state )
+ADDRESS_MAP_START(dkong_state::s2650_io_map)
AM_RANGE(0x00, 0x00) AM_READ(s2650_port0_r)
AM_RANGE(0x01, 0x01) AM_READ(s2650_port1_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( s2650_data_map, AS_DATA, 8, dkong_state )
+ADDRESS_MAP_START(dkong_state::s2650_data_map)
AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_WRITE(s2650_data_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/dlair.cpp b/src/mame/drivers/dlair.cpp
index 49cb99ef855..43baef0ea2f 100644
--- a/src/mame/drivers/dlair.cpp
+++ b/src/mame/drivers/dlair.cpp
@@ -136,6 +136,9 @@ public:
void dlair_pr7820(machine_config &config);
void dleuro(machine_config &config);
void dlair_ldv1000(machine_config &config);
+ void dleuro_io_map(address_map &map);
+ void dleuro_map(address_map &map);
+ void dlus_map(address_map &map);
};
@@ -365,7 +368,7 @@ WRITE8_MEMBER(dlair_state::laserdisc_w)
*************************************/
/* complete memory map derived from schematics */
-static ADDRESS_MAP_START( dlus_map, AS_PROGRAM, 8, dlair_state )
+ADDRESS_MAP_START(dlair_state::dlus_map)
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xa000, 0xa7ff) AM_MIRROR(0x1800) AM_RAM
AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x1fc7) AM_DEVREAD("aysnd", ay8910_device, data_r)
@@ -389,7 +392,7 @@ ADDRESS_MAP_END
*************************************/
/* complete memory map derived from schematics */
-static ADDRESS_MAP_START( dleuro_map, AS_PROGRAM, 8, dlair_state )
+ADDRESS_MAP_START(dlair_state::dleuro_map)
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xa000, 0xa7ff) AM_MIRROR(0x1800) AM_RAM
AM_RANGE(0xc000, 0xc7ff) AM_MIRROR(0x1800) AM_RAM AM_SHARE("videoram")
@@ -409,7 +412,7 @@ ADDRESS_MAP_END
/* complete memory map derived from schematics */
-static ADDRESS_MAP_START( dleuro_io_map, AS_IO, 8, dlair_state )
+ADDRESS_MAP_START(dlair_state::dleuro_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_MIRROR(0x7c) AM_DEVREADWRITE("ctc", z80ctc_device, read, write)
AM_RANGE(0x80, 0x83) AM_MIRROR(0x7c) AM_DEVREADWRITE("sio", z80sio_device, ba_cd_r, ba_cd_w)
diff --git a/src/mame/drivers/dlair2.cpp b/src/mame/drivers/dlair2.cpp
index c3d5e29eb78..857c93c872b 100644
--- a/src/mame/drivers/dlair2.cpp
+++ b/src/mame/drivers/dlair2.cpp
@@ -54,6 +54,8 @@ public:
DECLARE_PALETTE_INIT(dlair2);
void dlair2(machine_config &config);
+ void dlair2_io(address_map &map);
+ void dlair2_map(address_map &map);
protected:
// driver_device overrides
virtual void machine_start() override;
@@ -71,12 +73,12 @@ uint32_t dlair2_state::screen_update( screen_device &screen, bitmap_ind16 &bitma
return 0;
}
-static ADDRESS_MAP_START( dlair2_map, AS_PROGRAM, 8, dlair2_state )
+ADDRESS_MAP_START(dlair2_state::dlair2_map)
AM_RANGE(0x00000, 0xeffff) AM_RAM
AM_RANGE(0xf0000, 0xfffff) AM_ROM AM_REGION("ipl", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dlair2_io, AS_IO, 8, dlair2_state )
+ADDRESS_MAP_START(dlair2_state::dlair2_io)
// AM_RANGE(0x020, 0x020) ICR
// AM_RANGE(0x042, 0x043) sound related
// AM_RANGE(0x061, 0x061) sound related
diff --git a/src/mame/drivers/dm7000.cpp b/src/mame/drivers/dm7000.cpp
index 357853a9a07..f68e3c2200e 100644
--- a/src/mame/drivers/dm7000.cpp
+++ b/src/mame/drivers/dm7000.cpp
@@ -227,7 +227,7 @@ WRITE16_MEMBER( dm7000_state::dm7000_enet_w )
400f 0xxx IDE Controller
*/
-static ADDRESS_MAP_START( dm7000_mem, AS_PROGRAM, 32, dm7000_state )
+ADDRESS_MAP_START(dm7000_state::dm7000_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000000, 0x01ffffff) AM_RAM // RAM page 0 - 32MB
AM_RANGE(0x20000000, 0x21ffffff) AM_RAM // RAM page 1 - 32MB
diff --git a/src/mame/drivers/dmax8000.cpp b/src/mame/drivers/dmax8000.cpp
index f4fd1fb72a2..4c00ec56958 100644
--- a/src/mame/drivers/dmax8000.cpp
+++ b/src/mame/drivers/dmax8000.cpp
@@ -55,6 +55,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(fdc_drq_w);
void dmax8000(machine_config &config);
+ void dmax8000_io(address_map &map);
+ void dmax8000_mem(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<fd1793_device> m_fdc;
@@ -96,12 +98,12 @@ WRITE8_MEMBER( dmax8000_state::port40_w )
membank("bankr0")->set_entry(BIT(data, 0));
}
-static ADDRESS_MAP_START(dmax8000_mem, AS_PROGRAM, 8, dmax8000_state)
+ADDRESS_MAP_START(dmax8000_state::dmax8000_mem)
AM_RANGE(0x0000, 0x0fff) AM_READ_BANK("bankr0") AM_WRITE_BANK("bankw0")
AM_RANGE(0x1000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(dmax8000_io, AS_IO, 8, dmax8000_state)
+ADDRESS_MAP_START(dmax8000_state::dmax8000_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("fdc", fd1793_device, read, write)
diff --git a/src/mame/drivers/dmndrby.cpp b/src/mame/drivers/dmndrby.cpp
index 11cc2ec75b9..5d06938d1a8 100644
--- a/src/mame/drivers/dmndrby.cpp
+++ b/src/mame/drivers/dmndrby.cpp
@@ -99,6 +99,8 @@ public:
required_device<palette_device> m_palette;
required_device<generic_latch_8_device> m_soundlatch;
void dderby(machine_config &config);
+ void dderby_sound_map(address_map &map);
+ void memmap(address_map &map);
};
@@ -143,7 +145,7 @@ WRITE8_MEMBER(dmndrby_state::output_w)
// popmessage("%02x|%02x|%02x|%02x|%02x|%02x|%02x|%02x|",m_io_port[0],m_io_port[1],m_io_port[2],m_io_port[3],m_io_port[4],m_io_port[5],m_io_port[6],m_io_port[7]);
}
-static ADDRESS_MAP_START( memmap, AS_PROGRAM, 8, dmndrby_state )
+ADDRESS_MAP_START(dmndrby_state::memmap)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xc000, 0xc007) AM_READ(input_r)
@@ -160,7 +162,7 @@ static ADDRESS_MAP_START( memmap, AS_PROGRAM, 8, dmndrby_state )
AM_RANGE(0xd400, 0xd7ff) AM_RAM AM_SHARE("vidattribs") // colours/ attrib ram
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dderby_sound_map, AS_PROGRAM, 8, dmndrby_state )
+ADDRESS_MAP_START(dmndrby_state::dderby_sound_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1000, 0x1000) AM_RAM //???
AM_RANGE(0x4000, 0x4001) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
diff --git a/src/mame/drivers/dms5000.cpp b/src/mame/drivers/dms5000.cpp
index 1c3f6b42502..4b96f38e9e7 100644
--- a/src/mame/drivers/dms5000.cpp
+++ b/src/mame/drivers/dms5000.cpp
@@ -25,16 +25,18 @@ public:
uint32_t screen_update_dms5000(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
void dms5000(machine_config &config);
+ void dms5000_io(address_map &map);
+ void dms5000_mem(address_map &map);
};
-static ADDRESS_MAP_START( dms5000_mem, AS_PROGRAM, 16, dms5000_state )
+ADDRESS_MAP_START(dms5000_state::dms5000_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000, 0x1ffff) AM_RAM
AM_RANGE(0xfc000, 0xfffff) AM_ROM AM_REGION("user1",0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dms5000_io, AS_IO, 16, dms5000_state )
+ADDRESS_MAP_START(dms5000_state::dms5000_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_END
diff --git a/src/mame/drivers/dms86.cpp b/src/mame/drivers/dms86.cpp
index f0a375392ef..c4fa351e605 100644
--- a/src/mame/drivers/dms86.cpp
+++ b/src/mame/drivers/dms86.cpp
@@ -52,6 +52,8 @@ public:
void kbd_put(u8 data);
void dms86(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
u8 m_term_data;
virtual void machine_reset() override;
@@ -79,13 +81,13 @@ READ16_MEMBER( dms86_state::port9c_r )
}
-static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 16, dms86_state)
+ADDRESS_MAP_START(dms86_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000, 0x1ffff) AM_RAM
AM_RANGE(0xfe000, 0xfffff) AM_ROM AM_REGION("roms",0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(io_map, AS_IO, 16, dms86_state)
+ADDRESS_MAP_START(dms86_state::io_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x82, 0x83) AM_READ(port82_r)
diff --git a/src/mame/drivers/dmv.cpp b/src/mame/drivers/dmv.cpp
index a6a218c1aa5..c4e45cf53d8 100644
--- a/src/mame/drivers/dmv.cpp
+++ b/src/mame/drivers/dmv.cpp
@@ -177,6 +177,9 @@ public:
int m_busint[8];
int m_irqs[8];
void dmv(machine_config &config);
+ void dmv_io(address_map &map);
+ void dmv_mem(address_map &map);
+ void upd7220_map(address_map &map);
};
WRITE8_MEMBER(dmv_state::tc_set_w)
@@ -508,12 +511,12 @@ uint8_t dmv_state::program_read(address_space &space, int cas, offs_t offset)
return data;
}
-static ADDRESS_MAP_START(dmv_mem, AS_PROGRAM, 8, dmv_state)
+ADDRESS_MAP_START(dmv_state::dmv_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0xffff ) AM_READWRITE(program_r, program_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dmv_io , AS_IO, 8, dmv_state)
+ADDRESS_MAP_START(dmv_state::dmv_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(leds_w)
@@ -555,7 +558,7 @@ WRITE8_MEMBER(dmv_state::kb_mcu_port2_w)
m_slot7->keyint_w(BIT(data, 4));
}
-static ADDRESS_MAP_START( upd7220_map, 0, 16, dmv_state )
+ADDRESS_MAP_START(dmv_state::upd7220_map)
ADDRESS_MAP_GLOBAL_MASK(0x1ffff)
AM_RANGE(0x00000, 0x1ffff) AM_RAM AM_SHARE("video_ram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/docastle.cpp b/src/mame/drivers/docastle.cpp
index d447c0e274b..21b05f613e7 100644
--- a/src/mame/drivers/docastle.cpp
+++ b/src/mame/drivers/docastle.cpp
@@ -220,7 +220,7 @@ WRITE8_MEMBER(docastle_state::idsoccer_adpcm_w)
}
/* Memory Maps */
-static ADDRESS_MAP_START( docastle_map, AS_PROGRAM, 8, docastle_state )
+ADDRESS_MAP_START(docastle_state::docastle_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x97ff) AM_RAM
AM_RANGE(0x9800, 0x99ff) AM_RAM AM_SHARE("spriteram")
@@ -231,7 +231,7 @@ static ADDRESS_MAP_START( docastle_map, AS_PROGRAM, 8, docastle_state )
AM_RANGE(0xe000, 0xe000) AM_WRITE(docastle_nmitrigger_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( docastle_map2, AS_PROGRAM, 8, docastle_state )
+ADDRESS_MAP_START(docastle_state::docastle_map2)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa008) AM_READWRITE(docastle_shared1_r, docastle_shared0_w)
@@ -242,7 +242,7 @@ static ADDRESS_MAP_START( docastle_map2, AS_PROGRAM, 8, docastle_state )
AM_RANGE(0xec00, 0xec00) AM_DEVWRITE("sn4", sn76489a_device, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( docastle_map3, AS_PROGRAM, 8, docastle_state )
+ADDRESS_MAP_START(docastle_state::docastle_map3)
AM_RANGE(0x0000, 0x00ff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x8000, 0x8008) AM_READ(docastle_shared1_r) // ???
@@ -250,14 +250,14 @@ static ADDRESS_MAP_START( docastle_map3, AS_PROGRAM, 8, docastle_state )
AM_RANGE(0xc432, 0xc435) AM_NOP // ???
ADDRESS_MAP_END
-static ADDRESS_MAP_START( docastle_io_map, AS_IO, 8, docastle_state )
+ADDRESS_MAP_START(docastle_state::docastle_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("crtc", mc6845_device, address_w)
AM_RANGE(0x02, 0x02) AM_DEVWRITE("crtc", mc6845_device, register_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dorunrun_map, AS_PROGRAM, 8, docastle_state )
+ADDRESS_MAP_START(docastle_state::dorunrun_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x37ff) AM_RAM
AM_RANGE(0x3800, 0x39ff) AM_RAM AM_SHARE("spriteram")
@@ -269,7 +269,7 @@ static ADDRESS_MAP_START( dorunrun_map, AS_PROGRAM, 8, docastle_state )
AM_RANGE(0xb800, 0xb800) AM_WRITE(docastle_nmitrigger_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dorunrun_map2, AS_PROGRAM, 8, docastle_state )
+ADDRESS_MAP_START(docastle_state::dorunrun_map2)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa000) AM_DEVWRITE("sn1", sn76489a_device, write)
@@ -281,7 +281,7 @@ static ADDRESS_MAP_START( dorunrun_map2, AS_PROGRAM, 8, docastle_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( idsoccer_map, AS_PROGRAM, 8, docastle_state )
+ADDRESS_MAP_START(docastle_state::idsoccer_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x57ff) AM_RAM
AM_RANGE(0x5800, 0x59ff) AM_RAM AM_SHARE("spriteram")
diff --git a/src/mame/drivers/dogfgt.cpp b/src/mame/drivers/dogfgt.cpp
index fce36378443..c33657a1064 100644
--- a/src/mame/drivers/dogfgt.cpp
+++ b/src/mame/drivers/dogfgt.cpp
@@ -60,7 +60,7 @@ WRITE8_MEMBER(dogfgt_state::dogfgt_soundcontrol_w)
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, dogfgt_state )
+ADDRESS_MAP_START(dogfgt_state::main_map)
AM_RANGE(0x0000, 0x07ff) AM_READWRITE(sharedram_r, sharedram_w) AM_SHARE("sharedram")
AM_RANGE(0x0f80, 0x0fdf) AM_WRITEONLY AM_SHARE("spriteram")
AM_RANGE(0x1000, 0x17ff) AM_WRITE(dogfgt_bgvideoram_w) AM_SHARE("bgvideoram")
@@ -79,7 +79,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, dogfgt_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 8, dogfgt_state )
+ADDRESS_MAP_START(dogfgt_state::sub_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x2000, 0x27ff) AM_READWRITE(sharedram_r, sharedram_w)
AM_RANGE(0x4000, 0x4000) AM_WRITE(sub_irqack_w)
diff --git a/src/mame/drivers/dolphunk.cpp b/src/mame/drivers/dolphunk.cpp
index b39f1ac6cb0..d9fd3bda93d 100644
--- a/src/mame/drivers/dolphunk.cpp
+++ b/src/mame/drivers/dolphunk.cpp
@@ -108,6 +108,8 @@ public:
DECLARE_WRITE8_MEMBER(port06_w);
TIMER_DEVICE_CALLBACK_MEMBER(dauphin_c);
void dauphin(machine_config &config);
+ void dauphin_io(address_map &map);
+ void dauphin_mem(address_map &map);
private:
uint8_t m_cass_data;
uint8_t m_last_key;
@@ -182,14 +184,14 @@ TIMER_DEVICE_CALLBACK_MEMBER(dauphin_state::dauphin_c)
m_cass->output(BIT(m_cass_data, 0) ? -1.0 : +1.0); // 2000Hz
}
-static ADDRESS_MAP_START( dauphin_mem, AS_PROGRAM, 8, dauphin_state )
+ADDRESS_MAP_START(dauphin_state::dauphin_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x01ff) AM_ROM
AM_RANGE( 0x0200, 0x02ff) AM_RAM
AM_RANGE( 0x0c00, 0x0fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dauphin_io, AS_IO, 8, dauphin_state )
+ADDRESS_MAP_START(dauphin_state::dauphin_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x03) AM_WRITE(port00_w) // 4-led display
AM_RANGE(0x06, 0x06) AM_WRITE(port06_w) // speaker (NOT a keyclick)
diff --git a/src/mame/drivers/dominob.cpp b/src/mame/drivers/dominob.cpp
index 220184c639f..b75679d5719 100644
--- a/src/mame/drivers/dominob.cpp
+++ b/src/mame/drivers/dominob.cpp
@@ -97,6 +97,8 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
void dominob(machine_config &config);
+ void memmap(address_map &map);
+ void portmap(address_map &map);
};
void dominob_state::video_start()
@@ -177,7 +179,7 @@ WRITE8_MEMBER(dominob_state::dominob_d008_w)
/* is there a purpose on this ? always set to 0x00 (read from 0xc47b in RAM) */
}
-static ADDRESS_MAP_START( memmap, AS_PROGRAM, 8, dominob_state )
+ADDRESS_MAP_START(dominob_state::memmap)
AM_RANGE(0x0000, 0xbfff) AM_ROM AM_WRITENOP // there are some garbage writes to ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
@@ -203,7 +205,7 @@ READ8_MEMBER(dominob_state::dominob_unk_port02_r)
return 0xff;
}
-static ADDRESS_MAP_START( portmap, AS_IO, 8, dominob_state )
+ADDRESS_MAP_START(dominob_state::portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x02, 0x02) AM_READ(dominob_unk_port02_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/dooyong.cpp b/src/mame/drivers/dooyong.cpp
index ff6e33413d6..da5c0cdd12a 100644
--- a/src/mame/drivers/dooyong.cpp
+++ b/src/mame/drivers/dooyong.cpp
@@ -114,6 +114,7 @@ protected:
optional_device<dooyong_rom_tilemap_device> m_fg2;
void sound_2151_4mhz(machine_config &config);
+ void bluehawk_sound_map(address_map &map);
};
class dooyong_z80_state : public dooyong_state
@@ -221,6 +222,9 @@ public:
void bluehawk(machine_config &config);
void flytiger(machine_config &config);
void primella(machine_config &config);
+ void bluehawk_map(address_map &map);
+ void flytiger_map(address_map &map);
+ void primella_map(address_map &map);
protected:
void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, unsigned extensions = 0);
@@ -293,6 +297,11 @@ public:
void pollux(machine_config &config);
void lastday(machine_config &config);
void gulfstrm(machine_config &config);
+ void gulfstrm_map(address_map &map);
+ void lastday_map(address_map &map);
+ void lastday_sound_map(address_map &map);
+ void pollux_map(address_map &map);
+ void pollux_sound_map(address_map &map);
protected:
int m_interrupt_line_1 = 0;
int m_interrupt_line_2 = 0;
@@ -324,6 +333,9 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(scanline);
+ void popbingo_map(address_map &map);
+ void rshark_map(address_map &map);
+ void superx_map(address_map &map);
protected:
void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -770,7 +782,7 @@ uint32_t popbingo_state::screen_update_popbingo(screen_device &screen, bitmap_in
***************************************************************************/
-ADDRESS_MAP_START( lastday_map, AS_PROGRAM, 8, dooyong_z80_ym2203_state )
+ADDRESS_MAP_START(dooyong_z80_ym2203_state::lastday_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc007) AM_DEVWRITE("bg", dooyong_rom_tilemap_device, ctrl_w)
@@ -789,7 +801,7 @@ ADDRESS_MAP_START( lastday_map, AS_PROGRAM, 8, dooyong_z80_ym2203_state )
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
-ADDRESS_MAP_START( pollux_map, AS_PROGRAM, 8, dooyong_z80_ym2203_state )
+ADDRESS_MAP_START(dooyong_z80_ym2203_state::pollux_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xcfff) AM_RAM
@@ -807,7 +819,7 @@ ADDRESS_MAP_START( pollux_map, AS_PROGRAM, 8, dooyong_z80_ym2203_state )
AM_RANGE(0xf800, 0xffff) AM_READWRITE(paletteram_flytiger_r, paletteram_flytiger_w)
ADDRESS_MAP_END
-ADDRESS_MAP_START( gulfstrm_map, AS_PROGRAM, 8, dooyong_z80_ym2203_state )
+ADDRESS_MAP_START(dooyong_z80_ym2203_state::gulfstrm_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xcfff) AM_RAM
@@ -826,7 +838,7 @@ ADDRESS_MAP_START( gulfstrm_map, AS_PROGRAM, 8, dooyong_z80_ym2203_state )
AM_RANGE(0xf800, 0xffff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
-ADDRESS_MAP_START( bluehawk_map, AS_PROGRAM, 8, dooyong_z80_state )
+ADDRESS_MAP_START(dooyong_z80_state::bluehawk_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("DSWA")
@@ -846,7 +858,7 @@ ADDRESS_MAP_START( bluehawk_map, AS_PROGRAM, 8, dooyong_z80_state )
AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
-ADDRESS_MAP_START( flytiger_map, AS_PROGRAM, 8, dooyong_z80_state )
+ADDRESS_MAP_START(dooyong_z80_state::flytiger_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xcfff) AM_RAM AM_SHARE("spriteram")
@@ -865,7 +877,7 @@ ADDRESS_MAP_START( flytiger_map, AS_PROGRAM, 8, dooyong_z80_state )
AM_RANGE(0xf000, 0xffff) AM_READWRITE(lastday_tx_r, lastday_tx_w)
ADDRESS_MAP_END
-ADDRESS_MAP_START( primella_map, AS_PROGRAM, 8, dooyong_z80_state )
+ADDRESS_MAP_START(dooyong_z80_state::primella_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xcfff) AM_RAM
@@ -883,7 +895,7 @@ ADDRESS_MAP_START( primella_map, AS_PROGRAM, 8, dooyong_z80_state )
AM_RANGE(0xfc08, 0xfc0f) AM_DEVWRITE("fg", dooyong_rom_tilemap_device, ctrl_w)
ADDRESS_MAP_END
-ADDRESS_MAP_START( rshark_map, AS_PROGRAM, 16, dooyong_68k_state )
+ADDRESS_MAP_START(dooyong_68k_state::rshark_map)
ADDRESS_MAP_GLOBAL_MASK(0xfffff) /* super-x needs this and is similar */
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x04cfff) AM_RAM
@@ -901,7 +913,7 @@ ADDRESS_MAP_START( rshark_map, AS_PROGRAM, 16, dooyong_68k_state )
AM_RANGE(0x0cc010, 0x0cc01f) AM_DEVWRITE8("fg2", dooyong_rom_tilemap_device, ctrl_w, 0x00ff)
ADDRESS_MAP_END
-ADDRESS_MAP_START( superx_map, AS_PROGRAM, 16, dooyong_68k_state )
+ADDRESS_MAP_START(dooyong_68k_state::superx_map)
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x0d0000, 0x0dcfff) AM_RAM
@@ -919,7 +931,7 @@ ADDRESS_MAP_START( superx_map, AS_PROGRAM, 16, dooyong_68k_state )
AM_RANGE(0x08c010, 0x08c01f) AM_DEVWRITE8("fg2", dooyong_rom_tilemap_device, ctrl_w, 0x00ff)
ADDRESS_MAP_END
-ADDRESS_MAP_START( popbingo_map, AS_PROGRAM, 16, dooyong_68k_state )
+ADDRESS_MAP_START(dooyong_68k_state::popbingo_map)
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x04cfff) AM_RAM
@@ -939,7 +951,7 @@ ADDRESS_MAP_START( popbingo_map, AS_PROGRAM, 16, dooyong_68k_state )
AM_RANGE(0x0dc000, 0x0dc01f) AM_RAM // registers of some kind?
ADDRESS_MAP_END
-ADDRESS_MAP_START( lastday_sound_map, AS_PROGRAM, 8, dooyong_z80_ym2203_state )
+ADDRESS_MAP_START(dooyong_z80_ym2203_state::lastday_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc800) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -947,7 +959,7 @@ ADDRESS_MAP_START( lastday_sound_map, AS_PROGRAM, 8, dooyong_z80_ym2203_state )
AM_RANGE(0xf002, 0xf003) AM_DEVREADWRITE("ym2", ym2203_device, read, write)
ADDRESS_MAP_END
-ADDRESS_MAP_START( pollux_sound_map, AS_PROGRAM, 8, dooyong_z80_ym2203_state )
+ADDRESS_MAP_START(dooyong_z80_ym2203_state::pollux_sound_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xf800) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -955,7 +967,7 @@ ADDRESS_MAP_START( pollux_sound_map, AS_PROGRAM, 8, dooyong_z80_ym2203_state )
AM_RANGE(0xf804, 0xf805) AM_DEVREADWRITE("ym2", ym2203_device, read, write)
ADDRESS_MAP_END
-ADDRESS_MAP_START( bluehawk_sound_map, AS_PROGRAM, 8, dooyong_state )
+ADDRESS_MAP_START(dooyong_state::bluehawk_sound_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xf800) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/dorachan.cpp b/src/mame/drivers/dorachan.cpp
index 744bfa450fb..49c24368319 100644
--- a/src/mame/drivers/dorachan.cpp
+++ b/src/mame/drivers/dorachan.cpp
@@ -46,6 +46,8 @@ public:
virtual void machine_start() override;
virtual void machine_reset() override;
void dorachan(machine_config &config);
+ void dorachan_io_map(address_map &map);
+ void dorachan_map(address_map &map);
};
@@ -128,7 +130,7 @@ WRITE8_MEMBER(dorachan_state::control_w)
}
-static ADDRESS_MAP_START( dorachan_map, AS_PROGRAM, 8, dorachan_state )
+ADDRESS_MAP_START(dorachan_state::dorachan_map)
AM_RANGE(0x0000, 0x17ff) AM_ROM
AM_RANGE(0x1800, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x23ff) AM_ROM
@@ -140,7 +142,7 @@ static ADDRESS_MAP_START( dorachan_map, AS_PROGRAM, 8, dorachan_state )
AM_RANGE(0x6000, 0x77ff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dorachan_io_map, AS_IO, 8, dorachan_state )
+ADDRESS_MAP_START(dorachan_state::dorachan_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x01, 0x01) AM_WRITENOP
AM_RANGE(0x02, 0x02) AM_WRITENOP
diff --git a/src/mame/drivers/dotrikun.cpp b/src/mame/drivers/dotrikun.cpp
index bdd354a425a..75c440c1550 100644
--- a/src/mame/drivers/dotrikun.cpp
+++ b/src/mame/drivers/dotrikun.cpp
@@ -67,6 +67,8 @@ public:
virtual void machine_start() override;
virtual void machine_reset() override;
void dotrikun(machine_config &config);
+ void dotrikun_map(address_map &map);
+ void io_map(address_map &map);
};
TIMER_DEVICE_CALLBACK_MEMBER(dotrikun_state::interrupt)
@@ -140,13 +142,13 @@ uint32_t dotrikun_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
*
*************************************/
-static ADDRESS_MAP_START( dotrikun_map, AS_PROGRAM, 8, dotrikun_state )
+ADDRESS_MAP_START(dotrikun_state::dotrikun_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x85ff) AM_RAM_WRITE(vram_w) AM_SHARE("vram")
AM_RANGE(0x8600, 0x87ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, dotrikun_state )
+ADDRESS_MAP_START(dotrikun_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_MIRROR(0xff) AM_READ_PORT("INPUTS") AM_WRITE(color_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/dps1.cpp b/src/mame/drivers/dps1.cpp
index 1397f4b4480..cce3f8462b3 100644
--- a/src/mame/drivers/dps1.cpp
+++ b/src/mame/drivers/dps1.cpp
@@ -47,6 +47,8 @@ public:
DECLARE_MACHINE_RESET(dps1);
void dps1(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
bool m_dma_dir;
uint16_t m_dma_adr;
@@ -56,12 +58,12 @@ private:
//required_device<floppy_connector> m_floppy1;
};
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, dps1_state )
+ADDRESS_MAP_START(dps1_state::mem_map)
AM_RANGE(0x0000, 0x03ff) AM_READ_BANK("bankr0") AM_WRITE_BANK("bankw0")
AM_RANGE(0x0400, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, dps1_state )
+ADDRESS_MAP_START(dps1_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("uart", mc2661_device, read, write) // S2651
diff --git a/src/mame/drivers/dragon.cpp b/src/mame/drivers/dragon.cpp
index 587396d1bc3..e0c7c12cd87 100644
--- a/src/mame/drivers/dragon.cpp
+++ b/src/mame/drivers/dragon.cpp
@@ -33,7 +33,7 @@
// ADDRESS_MAP( dragon_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( dragon_mem, AS_PROGRAM, 8, dragon_state )
+ADDRESS_MAP_START(dragon_state::dragon_mem)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/dragrace.cpp b/src/mame/drivers/dragrace.cpp
index d1485c19125..5f7ca805d5c 100644
--- a/src/mame/drivers/dragrace.cpp
+++ b/src/mame/drivers/dragrace.cpp
@@ -118,7 +118,7 @@ READ8_MEMBER(dragrace_state::dragrace_scanline_r)
}
-static ADDRESS_MAP_START( dragrace_map, AS_PROGRAM, 8, dragrace_state )
+ADDRESS_MAP_START(dragrace_state::dragrace_map)
AM_RANGE(0x0080, 0x00ff) AM_RAM
AM_RANGE(0x0800, 0x083f) AM_READ(dragrace_input_r)
AM_RANGE(0x0900, 0x0907) AM_DEVWRITE("latch_f5", addressable_latch_device, write_d0)
diff --git a/src/mame/drivers/dreambal.cpp b/src/mame/drivers/dreambal.cpp
index 9b5027a7ba2..d8e5f64a3e0 100644
--- a/src/mame/drivers/dreambal.cpp
+++ b/src/mame/drivers/dreambal.cpp
@@ -73,6 +73,7 @@ public:
}
}
void dreambal(machine_config &config);
+ void dreambal_map(address_map &map);
};
@@ -110,7 +111,7 @@ WRITE16_MEMBER( dreambal_state::dreambal_protection_region_0_104_w )
m_deco104->write_data( space, deco146_addr, data, mem_mask, cs );
}
-static ADDRESS_MAP_START( dreambal_map, AS_PROGRAM, 16, dreambal_state )
+ADDRESS_MAP_START(dreambal_state::dreambal_map)
//ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x100fff) AM_DEVREADWRITE("tilegen1", deco16ic_device, pf1_data_r, pf1_data_w)
diff --git a/src/mame/drivers/dreamwld.cpp b/src/mame/drivers/dreamwld.cpp
index e252560d3f6..f6a2bb19533 100644
--- a/src/mame/drivers/dreamwld.cpp
+++ b/src/mame/drivers/dreamwld.cpp
@@ -158,6 +158,10 @@ public:
required_device<palette_device> m_palette;
void baryon(machine_config &config);
void dreamwld(machine_config &config);
+ void baryon_map(address_map &map);
+ void dreamwld_map(address_map &map);
+ void oki1_map(address_map &map);
+ void oki2_map(address_map &map);
};
@@ -427,12 +431,12 @@ READ32_MEMBER(dreamwld_state::dreamwld_protdata_r)
return dat << 24;
}
-static ADDRESS_MAP_START( oki1_map, 0, 8, dreamwld_state )
+ADDRESS_MAP_START(dreamwld_state::oki1_map)
AM_RANGE(0x00000, 0x2ffff) AM_ROM
AM_RANGE(0x30000, 0x3ffff) AM_ROMBANK("oki1bank")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( oki2_map, 0, 8, dreamwld_state )
+ADDRESS_MAP_START(dreamwld_state::oki2_map)
AM_RANGE(0x00000, 0x2ffff) AM_ROM
AM_RANGE(0x30000, 0x3ffff) AM_ROMBANK("oki2bank")
ADDRESS_MAP_END
@@ -454,7 +458,7 @@ WRITE32_MEMBER(dreamwld_state::dreamwld_6295_1_bank_w)
}
-static ADDRESS_MAP_START( baryon_map, AS_PROGRAM, 32, dreamwld_state )
+ADDRESS_MAP_START(dreamwld_state::baryon_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM AM_WRITENOP
AM_RANGE(0x400000, 0x401fff) AM_RAM AM_SHARE("spriteram")
@@ -475,7 +479,7 @@ static ADDRESS_MAP_START( baryon_map, AS_PROGRAM, 32, dreamwld_state )
AM_RANGE(0xfe0000, 0xffffff) AM_RAM AM_SHARE("workram") // work ram
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dreamwld_map, AS_PROGRAM, 32, dreamwld_state )
+ADDRESS_MAP_START(dreamwld_state::dreamwld_map)
AM_IMPORT_FROM( baryon_map )
AM_RANGE(0xc0002c, 0xc0002f) AM_WRITE(dreamwld_6295_1_bank_w) // sfx
diff --git a/src/mame/drivers/drgnmst.cpp b/src/mame/drivers/drgnmst.cpp
index 343c948c312..dc58ce88218 100644
--- a/src/mame/drivers/drgnmst.cpp
+++ b/src/mame/drivers/drgnmst.cpp
@@ -181,7 +181,7 @@ WRITE8_MEMBER(drgnmst_state::drgnmst_snd_control_w)
/***************************** 68000 Memory Map *****************************/
-static ADDRESS_MAP_START( drgnmst_main_map, AS_PROGRAM, 16, drgnmst_state )
+ADDRESS_MAP_START(drgnmst_state::drgnmst_main_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("P1_P2")
AM_RANGE(0x800018, 0x800019) AM_READ_PORT("SYSTEM")
diff --git a/src/mame/drivers/dribling.cpp b/src/mame/drivers/dribling.cpp
index b5139267b25..e5b5b741d60 100644
--- a/src/mame/drivers/dribling.cpp
+++ b/src/mame/drivers/dribling.cpp
@@ -175,7 +175,7 @@ WRITE8_MEMBER(dribling_state::iowrite)
*
*************************************/
-static ADDRESS_MAP_START( dribling_map, AS_PROGRAM, 8, dribling_state )
+ADDRESS_MAP_START(dribling_state::dribling_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x3fff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x4000, 0x7fff) AM_ROM
@@ -183,7 +183,7 @@ static ADDRESS_MAP_START( dribling_map, AS_PROGRAM, 8, dribling_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, dribling_state )
+ADDRESS_MAP_START(dribling_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0xff) AM_READWRITE(ioread, iowrite)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/drmicro.cpp b/src/mame/drivers/drmicro.cpp
index f0580b8a4c6..e929a70e464 100644
--- a/src/mame/drivers/drmicro.cpp
+++ b/src/mame/drivers/drmicro.cpp
@@ -76,14 +76,14 @@ WRITE8_MEMBER(drmicro_state::pcm_set_w)
*
*************************************/
-static ADDRESS_MAP_START( drmicro_map, AS_PROGRAM, 8, drmicro_state )
+ADDRESS_MAP_START(drmicro_state::drmicro_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(drmicro_videoram_w)
AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, drmicro_state )
+ADDRESS_MAP_START(drmicro_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("P1") AM_DEVWRITE("sn1", sn76496_device, write)
AM_RANGE(0x01, 0x01) AM_READ_PORT("P2") AM_DEVWRITE("sn2", sn76496_device, write)
diff --git a/src/mame/drivers/drtomy.cpp b/src/mame/drivers/drtomy.cpp
index ec72da0f7dd..c5b5c4cb3f1 100644
--- a/src/mame/drivers/drtomy.cpp
+++ b/src/mame/drivers/drtomy.cpp
@@ -54,6 +54,7 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
void drtomy(machine_config &config);
+ void drtomy_map(address_map &map);
};
@@ -173,7 +174,7 @@ WRITE16_MEMBER(drtomy_state::drtomy_okibank_w)
/* unknown bit 2 -> (data & 4) */
}
-static ADDRESS_MAP_START( drtomy_map, AS_PROGRAM, 16, drtomy_state )
+ADDRESS_MAP_START(drtomy_state::drtomy_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM /* ROM */
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(drtomy_vram_fg_w) AM_SHARE("videorafg") /* Video RAM FG */
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(drtomy_vram_bg_w) AM_SHARE("videorabg") /* Video RAM BG */
diff --git a/src/mame/drivers/drw80pkr.cpp b/src/mame/drivers/drw80pkr.cpp
index f3ab82e2f88..9b6faf205f0 100644
--- a/src/mame/drivers/drw80pkr.cpp
+++ b/src/mame/drivers/drw80pkr.cpp
@@ -76,6 +76,8 @@ public:
required_device<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
void drw80pkr(machine_config &config);
+ void drw80pkr_io_map(address_map &map);
+ void drw80pkr_map(address_map &map);
};
@@ -399,11 +401,11 @@ DRIVER_INIT_MEMBER(drw80pkr_state,drw80pkr)
* Memory map information *
*************************/
-static ADDRESS_MAP_START( drw80pkr_map, AS_PROGRAM, 8, drw80pkr_state )
+ADDRESS_MAP_START(drw80pkr_state::drw80pkr_map)
AM_RANGE(0x0000, 0x0fff) AM_ROMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( drw80pkr_io_map, AS_IO, 8, drw80pkr_state )
+ADDRESS_MAP_START(drw80pkr_state::drw80pkr_io_map)
AM_RANGE(0x00, 0xff) AM_READWRITE(drw80pkr_io_r, drw80pkr_io_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/dsb46.cpp b/src/mame/drivers/dsb46.cpp
index 202c7952a67..d536b53421e 100644
--- a/src/mame/drivers/dsb46.cpp
+++ b/src/mame/drivers/dsb46.cpp
@@ -50,16 +50,18 @@ public:
DECLARE_MACHINE_RESET(dsb46);
void dsb46(machine_config &config);
+ void dsb46_io(address_map &map);
+ void dsb46_mem(address_map &map);
private:
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START( dsb46_mem, AS_PROGRAM, 8, dsb46_state )
+ADDRESS_MAP_START(dsb46_state::dsb46_mem)
AM_RANGE(0x0000, 0x07ff) AM_READ_BANK("read") AM_WRITE_BANK("write")
AM_RANGE(0x0800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dsb46_io, AS_IO, 8, dsb46_state )
+ADDRESS_MAP_START(dsb46_state::dsb46_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("sio", z80sio_device, ba_cd_r, ba_cd_w)
diff --git a/src/mame/drivers/dual68.cpp b/src/mame/drivers/dual68.cpp
index 1e9730ea039..4f4174b47f7 100644
--- a/src/mame/drivers/dual68.cpp
+++ b/src/mame/drivers/dual68.cpp
@@ -30,6 +30,9 @@ public:
DECLARE_WRITE16_MEMBER(terminal_w);
void dual68(machine_config &config);
+ void dual68_mem(address_map &map);
+ void sio4_io(address_map &map);
+ void sio4_mem(address_map &map);
private:
virtual void machine_reset() override;
required_device<cpu_device> m_maincpu;
@@ -45,7 +48,7 @@ WRITE16_MEMBER( dual68_state::terminal_w )
m_terminal->write(space, 0, data >> 8);
}
-static ADDRESS_MAP_START(dual68_mem, AS_PROGRAM, 16, dual68_state)
+ADDRESS_MAP_START(dual68_state::dual68_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000000, 0x0000ffff) AM_RAM AM_SHARE("ram")
AM_RANGE(0x00080000, 0x00081fff) AM_ROM AM_REGION("user1",0)
@@ -53,13 +56,13 @@ static ADDRESS_MAP_START(dual68_mem, AS_PROGRAM, 16, dual68_state)
AM_RANGE(0x00800000, 0x00801fff) AM_ROM AM_REGION("user1",0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(sio4_mem, AS_PROGRAM, 8, dual68_state)
+ADDRESS_MAP_START(dual68_state::sio4_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x07ff) AM_ROM
AM_RANGE(0x0800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(sio4_io, AS_IO, 8, dual68_state)
+ADDRESS_MAP_START(dual68_state::sio4_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x22, 0x22) AM_DEVREADWRITE("uart1", i8251_device, status_r, control_w)
AM_RANGE(0x23, 0x23) AM_DEVREADWRITE("uart1", i8251_device, data_r, data_w)
diff --git a/src/mame/drivers/dunhuang.cpp b/src/mame/drivers/dunhuang.cpp
index c8c9cc75942..d72f7d4dbae 100644
--- a/src/mame/drivers/dunhuang.cpp
+++ b/src/mame/drivers/dunhuang.cpp
@@ -103,6 +103,9 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void dunhuang(machine_config &config);
+ void dunhuang_io_map(address_map &map);
+ void dunhuang_map(address_map &map);
+ void ramdac_map(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -425,7 +428,7 @@ WRITE8_MEMBER(dunhuang_state::layers_w)
Memory Maps
***************************************************************************/
-static ADDRESS_MAP_START( dunhuang_map, AS_PROGRAM, 8, dunhuang_state )
+ADDRESS_MAP_START(dunhuang_state::dunhuang_map)
AM_RANGE( 0x0000, 0x5fff ) AM_ROM
AM_RANGE( 0x6000, 0x7fff ) AM_RAM
AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK( "mainbank" )
@@ -480,7 +483,7 @@ WRITE8_MEMBER(dunhuang_state::rombank_w)
}
-static ADDRESS_MAP_START( dunhuang_io_map, AS_IO, 8, dunhuang_state )
+ADDRESS_MAP_START(dunhuang_state::dunhuang_io_map)
AM_RANGE( 0x0000, 0x0000 ) AM_WRITE(pos_x_w )
AM_RANGE( 0x0001, 0x0001 ) AM_WRITE(pos_y_w )
AM_RANGE( 0x0002, 0x0004 ) AM_WRITE(tile_w )
@@ -524,7 +527,7 @@ static ADDRESS_MAP_START( dunhuang_io_map, AS_IO, 8, dunhuang_state )
AM_RANGE( 0x0098, 0x0098 ) AM_DEVWRITE("ay8910", ay8910_device, address_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ramdac_map, 0, 8, dunhuang_state )
+ADDRESS_MAP_START(dunhuang_state::ramdac_map)
AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac", ramdac_device, ramdac_pal_r, ramdac_rgb666_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/dvk_kcgd.cpp b/src/mame/drivers/dvk_kcgd.cpp
index 19b8fafffe4..5d75683148d 100644
--- a/src/mame/drivers/dvk_kcgd.cpp
+++ b/src/mame/drivers/dvk_kcgd.cpp
@@ -99,6 +99,7 @@ public:
emu_timer *m_500hz_timer;
void kcgd(machine_config &config);
+ void kcgd_mem(address_map &map);
private:
void draw_scanline(uint16_t *p, uint16_t offset);
rectangle m_tmpclip;
@@ -119,7 +120,7 @@ protected:
required_device<screen_device> m_screen;
};
-static ADDRESS_MAP_START( kcgd_mem, AS_PROGRAM, 16, kcgd_state )
+ADDRESS_MAP_START(kcgd_state::kcgd_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE (0000000, 0077777) AM_READWRITE(vram_mmap_r, vram_mmap_w)
AM_RANGE (0100000, 0157777) AM_ROM
diff --git a/src/mame/drivers/dvk_ksm.cpp b/src/mame/drivers/dvk_ksm.cpp
index d0d60f6779f..34100bd55fb 100644
--- a/src/mame/drivers/dvk_ksm.cpp
+++ b/src/mame/drivers/dvk_ksm.cpp
@@ -124,6 +124,8 @@ public:
DECLARE_WRITE8_MEMBER(ksm_ppi_portc_w);
void ksm(machine_config &config);
+ void ksm_io(address_map &map);
+ void ksm_mem(address_map &map);
private:
uint32_t draw_scanline(uint16_t *p, uint16_t offset, uint8_t scanline);
rectangle m_tmpclip;
@@ -157,14 +159,14 @@ private:
required_region_ptr<u8> m_p_chargen;
};
-static ADDRESS_MAP_START( ksm_mem, AS_PROGRAM, 8, ksm_state )
+ADDRESS_MAP_START(ksm_state::ksm_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE (0x0000, 0x0fff) AM_ROM
AM_RANGE (0x2000, 0x20ff) AM_RAM AM_MIRROR(0x0700)
AM_RANGE (0xc000, 0xffff) AM_RAM AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ksm_io, AS_IO, 8, ksm_state )
+ADDRESS_MAP_START(ksm_state::ksm_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE (0x5e, 0x5f) AM_DEVREADWRITE("pic8259", pic8259_device, read, write)
AM_RANGE (0x6e, 0x6e) AM_DEVREADWRITE("i8251kbd", i8251_device, data_r, data_w)
diff --git a/src/mame/drivers/dwarfd.cpp b/src/mame/drivers/dwarfd.cpp
index 5e7ced8a132..a6b07103e65 100644
--- a/src/mame/drivers/dwarfd.cpp
+++ b/src/mame/drivers/dwarfd.cpp
@@ -347,6 +347,11 @@ public:
void dwarfd(machine_config &config);
void pokeresp(machine_config &config);
void qc(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
+ void pokeresp_map(address_map &map);
+ void qc_io_map(address_map &map);
+ void qc_map(address_map &map);
};
@@ -404,17 +409,17 @@ READ8_MEMBER(dwarfd_state::qc_b8_r)
return machine().rand();
}
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, dwarfd_state )
+ADDRESS_MAP_START(dwarfd_state::mem_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x4fff) AM_READWRITE(dwarfd_ram_r, dwarfd_ram_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pokeresp_map, AS_PROGRAM, 8, dwarfd_state )
+ADDRESS_MAP_START(dwarfd_state::pokeresp_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x3000, 0x3fff) AM_READWRITE(dwarfd_ram_r, dwarfd_ram_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, dwarfd_state )
+ADDRESS_MAP_START(dwarfd_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x01, 0x01) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE(0x02, 0x03) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -427,12 +432,12 @@ static ADDRESS_MAP_START( io_map, AS_IO, 8, dwarfd_state )
AM_RANGE(0xc1, 0xc1) AM_READ_PORT("DSW2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( qc_map, AS_PROGRAM, 8, dwarfd_state )
+ADDRESS_MAP_START(dwarfd_state::qc_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_READWRITE(dwarfd_ram_r, dwarfd_ram_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( qc_io_map, AS_IO, 8, dwarfd_state )
+ADDRESS_MAP_START(dwarfd_state::qc_io_map)
AM_IMPORT_FROM( io_map )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xb8, 0xb8) AM_READ(qc_b8_r)
diff --git a/src/mame/drivers/dynadice.cpp b/src/mame/drivers/dynadice.cpp
index a67f180b08c..430db08e4ab 100644
--- a/src/mame/drivers/dynadice.cpp
+++ b/src/mame/drivers/dynadice.cpp
@@ -74,6 +74,10 @@ public:
required_device<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
void dynadice(machine_config &config);
+ void dynadice_io_map(address_map &map);
+ void dynadice_map(address_map &map);
+ void dynadice_sound_io_map(address_map &map);
+ void dynadice_sound_map(address_map &map);
};
@@ -109,13 +113,13 @@ WRITE8_MEMBER(dynadice_state::sound_control_w)
}
-static ADDRESS_MAP_START( dynadice_map, AS_PROGRAM, 8, dynadice_state )
+ADDRESS_MAP_START(dynadice_state::dynadice_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM_WRITE(dynadice_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x4000, 0x40ff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dynadice_io_map, AS_IO, 8, dynadice_state )
+ADDRESS_MAP_START(dynadice_state::dynadice_io_map)
AM_RANGE(0x50, 0x50) AM_READ_PORT("IN0")
AM_RANGE(0x51, 0x51) AM_READ_PORT("IN1")
AM_RANGE(0x52, 0x52) AM_READ_PORT("DSW")
@@ -124,12 +128,12 @@ static ADDRESS_MAP_START( dynadice_io_map, AS_IO, 8, dynadice_state )
AM_RANGE(0x70, 0x77) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dynadice_sound_map, AS_PROGRAM, 8, dynadice_state )
+ADDRESS_MAP_START(dynadice_state::dynadice_sound_map)
AM_RANGE(0x0000, 0x07ff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dynadice_sound_io_map, AS_IO, 8, dynadice_state )
+ADDRESS_MAP_START(dynadice_state::dynadice_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0x01, 0x01) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
diff --git a/src/mame/drivers/dynax.cpp b/src/mame/drivers/dynax.cpp
index ebac74fe11b..5c66725b9af 100644
--- a/src/mame/drivers/dynax.cpp
+++ b/src/mame/drivers/dynax.cpp
@@ -85,7 +85,6 @@ TODO:
#include "cpu/tlcs90/tlcs90.h"
#include "cpu/z80/z80.h"
#include "cpu/z80/tmpz84c015.h"
-#include "machine/74259.h"
#include "machine/msm6242.h"
#include "machine/nvram.h"
#include "sound/ay8910.h"
@@ -397,45 +396,45 @@ MACHINE_RESET_MEMBER(dynax_state,adpcm)
m_msm->reset_w(1);
}
-static ADDRESS_MAP_START( cdracula_mem_map, AS_PROGRAM, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::cdracula_mem_map)
AM_RANGE( 0x0000, 0xbfff ) AM_ROM
AM_RANGE( 0xc000, 0xffff ) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sprtmtch_mem_map, AS_PROGRAM, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::sprtmtch_mem_map)
AM_RANGE( 0x0000, 0x6fff ) AM_ROM
AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hnoridur_mem_map, AS_PROGRAM, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::hnoridur_mem_map)
AM_RANGE( 0x0000, 0x6fff ) AM_ROM
AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x8000, 0xffff ) AM_DEVICE("bankdev", address_map_bank_device, amap8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mcnpshnt_mem_map, AS_PROGRAM, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::mcnpshnt_mem_map)
AM_RANGE( 0x0000, 0x5fff ) AM_ROM
AM_RANGE( 0x6000, 0x6fff ) AM_RAM
AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x8000, 0xffff ) AM_DEVICE("bankdev", address_map_bank_device, amap8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nanajign_mem_map, AS_PROGRAM, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::nanajign_mem_map)
AM_RANGE( 0x0000, 0x5fff ) AM_ROM
AM_RANGE( 0x6000, 0x6fff ) AM_RAM
AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x8000, 0xffff ) AM_DEVICE("bankdev", address_map_bank_device, amap8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjdialq2_mem_map, AS_PROGRAM, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::mjdialq2_mem_map)
AM_RANGE( 0x0000, 0x7fff ) AM_ROM
AM_RANGE( 0x0800, 0x0fff ) AM_RAM
AM_RANGE( 0x1000, 0x1fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( yarunara_mem_map, AS_PROGRAM, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::yarunara_mem_map)
AM_RANGE( 0x0000, 0x5fff ) AM_ROM
AM_RANGE( 0x6000, 0x6fff ) AM_RAM
AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
@@ -443,21 +442,21 @@ static ADDRESS_MAP_START( yarunara_mem_map, AS_PROGRAM, 8, dynax_state )
ADDRESS_MAP_END
//identical to yarunara, but nvram is in the 0x6000 - 0x6fff range
-static ADDRESS_MAP_START( quiztvqq_mem_map, AS_PROGRAM, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::quiztvqq_mem_map)
AM_RANGE( 0x0000, 0x5fff ) AM_ROM
AM_RANGE( 0x6000, 0x6fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x7000, 0x7fff ) AM_RAM
AM_RANGE( 0x8000, 0xffff ) AM_DEVICE("bankdev", address_map_bank_device, amap8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jantouki_mem_map, AS_PROGRAM, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::jantouki_mem_map)
AM_RANGE( 0x0000, 0x5fff ) AM_ROM
AM_RANGE( 0x6000, 0x6fff ) AM_RAM
AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jantouki_sound_mem_map, AS_PROGRAM, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::jantouki_sound_mem_map)
AM_RANGE( 0x0000, 0x77ff ) AM_ROM
AM_RANGE( 0x7800, 0x7fff ) AM_RAM
AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK("bank2")
@@ -465,32 +464,32 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( hnoridur_banked_map, AS_PROGRAM, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::hnoridur_banked_map)
AM_RANGE(0x00000, 0x7ffff) AM_ROM AM_REGION("maincpu", 0x10000)
AM_RANGE(0x80000, 0x800ff) AM_WRITE(hnoridur_palette_lo_w)
AM_RANGE(0xa0000, 0xa00ff) AM_WRITE(hnoridur_palette_hi_w)
AM_RANGE(0xc0000, 0xc7fff) AM_RAM // hnoridur: R/W RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjelctrn_banked_map, AS_PROGRAM, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::mjelctrn_banked_map)
AM_RANGE(0x00000, 0x3ffff) AM_ROM AM_REGION("maincpu", 0x10000)
AM_RANGE(0x80000, 0x800ff) AM_WRITE(nanajign_palette_lo_w)
AM_RANGE(0xa0000, 0xa00ff) AM_WRITE(nanajign_palette_hi_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nanajign_banked_map, AS_PROGRAM, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::nanajign_banked_map)
AM_RANGE(0x00000, 0x7ffff) AM_ROM AM_REGION("maincpu", 0x10000)
AM_RANGE(0x80000, 0x800ff) AM_WRITE(nanajign_palette_lo_w)
AM_RANGE(0xa0000, 0xa00ff) AM_WRITE(nanajign_palette_hi_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( yarunara_banked_map, AS_PROGRAM, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::yarunara_banked_map)
AM_RANGE(0x00000, 0x3ffff) AM_ROM AM_REGION("maincpu", 0x10000)
AM_RANGE(0x80000, 0x801ff) AM_WRITE(tenkai_palette_w)
AM_RANGE(0xe0000, 0xe000f) AM_DEVREADWRITE("rtc", msm6242_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjangels_banked_map, AS_PROGRAM, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::mjangels_banked_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM AM_REGION("maincpu", 0x010000)
AM_RANGE(0x080000, 0x0801ff) AM_WRITE(tenkai_palette_w)
AM_RANGE(0x0a0000, 0x0bffff) AM_ROM AM_REGION("maincpu", 0x0b0000)
@@ -500,7 +499,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( hanamai_io_map, AS_IO, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::hanamai_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x00, 0x00 ) AM_WRITE(dynax_extra_scrollx_w) // screen scroll X
AM_RANGE( 0x20, 0x20 ) AM_WRITE(dynax_extra_scrolly_w) // screen scroll Y
@@ -530,7 +529,7 @@ static ADDRESS_MAP_START( hanamai_io_map, AS_IO, 8, dynax_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hnoridur_io_map, AS_IO, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::hnoridur_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x07 ) AM_WRITE(dynax_blitter_rev2_w) // Blitter
// AM_RANGE( 0x10, 0x10 ) AM_WRITENOP // CRT Controller
@@ -595,7 +594,7 @@ READ8_MEMBER(dynax_state::hjingi_keyboard_1_r)
return hanamai_keyboard_1_r(space, 0) | ioport("BET")->read();
}
-static ADDRESS_MAP_START( hjingi_mem_map, AS_PROGRAM, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::hjingi_mem_map)
AM_RANGE( 0x0000, 0x01ff ) AM_ROM
AM_RANGE( 0x0200, 0x1fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x2000, 0x7fff ) AM_ROM
@@ -603,12 +602,12 @@ static ADDRESS_MAP_START( hjingi_mem_map, AS_PROGRAM, 8, dynax_state )
AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hjingi_banked_map, AS_PROGRAM, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::hjingi_banked_map)
AM_RANGE(0x80000, 0x800ff) AM_WRITE(hnoridur_palette_lo_w)
AM_RANGE(0xa0000, 0xa00ff) AM_WRITE(hnoridur_palette_hi_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hjingi_io_map, AS_IO, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::hjingi_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x07 ) AM_WRITE(dynax_blitter_rev2_w) // Blitter
@@ -735,7 +734,7 @@ WRITE8_MEMBER(dynax_state::yarunara_blit_romregion_w)
logerror("%s: unmapped romregion=%02X\n", machine().describe_context(), data);
}
-static ADDRESS_MAP_START( yarunara_io_map, AS_IO, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::yarunara_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x00, 0x01 ) AM_WRITE(yarunara_input_w) // Controls
AM_RANGE( 0x02, 0x03 ) AM_READ(yarunara_input_r) //
@@ -763,7 +762,7 @@ ADDRESS_MAP_END
// Almost identical to hnoridur
-static ADDRESS_MAP_START( mcnpshnt_io_map, AS_IO, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::mcnpshnt_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x07 ) AM_WRITE(dynax_blitter_rev2_w) // Blitter
// AM_RANGE( 0x10, 0x10 ) AM_WRITENOP // CRT Controller
@@ -797,7 +796,7 @@ static ADDRESS_MAP_START( mcnpshnt_io_map, AS_IO, 8, dynax_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sprtmtch_io_map, AS_IO, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::sprtmtch_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x07 ) AM_WRITE(dynax_blitter_rev2_w) // Blitter
AM_RANGE( 0x10, 0x11 ) AM_DEVREADWRITE("ym2203", ym2203_device, read, write) // 2 x DSW
@@ -820,7 +819,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjfriday_io_map, AS_IO, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::mjfriday_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x00, 0x00 ) AM_WRITE(dynax_blit_pen_w) // Destination Pen
AM_RANGE( 0x01, 0x01 ) AM_WRITE(dynax_blit_palette01_w) // Layers Palettes (Low Bits)
@@ -841,7 +840,7 @@ static ADDRESS_MAP_START( mjfriday_io_map, AS_IO, 8, dynax_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nanajign_io_map, AS_IO, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::nanajign_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x00, 0x00 ) AM_WRITE(adpcm_reset_w) // MSM5205 reset
AM_RANGE( 0x02, 0x02 ) AM_WRITE(adpcm_data_w) // MSM5205 data
@@ -903,7 +902,7 @@ WRITE8_MEMBER(dynax_state::jantouki_rombank_w)
output().set_led_value(0, data & 0x10); // maybe
}
-static ADDRESS_MAP_START( jantouki_io_map, AS_IO, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::jantouki_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
// AM_RANGE( 0x40, 0x41 ) AM_WRITENOP // CRT Controller
AM_RANGE( 0x48, 0x48 ) AM_WRITE(jantouki_rombank_w) // BANK ROM Select
@@ -954,7 +953,7 @@ READ8_MEMBER(dynax_state::jantouki_soundlatch_status_r)
return (m_soundlatch_full) ? 0 : 0x80;
}
-static ADDRESS_MAP_START( jantouki_sound_io_map, AS_IO, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::jantouki_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x00, 0x00 ) AM_WRITE(jantouki_sound_rombank_w) // BANK ROM Select
AM_RANGE( 0x10, 0x10 ) AM_WRITE(jantouki_sound_vblank_ack_w) // VBlank IRQ Ack
@@ -987,7 +986,7 @@ READ8_MEMBER(dynax_state::mjelctrn_dsw_r)
return ioport(dswnames[dsw])->read();
}
-static ADDRESS_MAP_START( mjelctrn_io_map, AS_IO, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::mjelctrn_io_map)
//ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x00, 0x00 ) AM_MIRROR(0xff00) AM_WRITE(adpcm_reset_w) // MSM5205 reset
AM_RANGE( 0x02, 0x02 ) AM_MIRROR(0xff00) AM_WRITE(adpcm_data_w) // MSM5205 data
@@ -1020,7 +1019,7 @@ static ADDRESS_MAP_START( mjelctrn_io_map, AS_IO, 8, dynax_state )
AM_RANGE( 0xe7, 0xe7 ) AM_MIRROR(0xff00) AM_WRITE(hnoridur_palbank_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjembase_io_map, AS_IO, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::mjembase_io_map)
//ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x04, 0x05 ) AM_MIRROR(0xff00) AM_DEVWRITE("ym2413", ym2413_device, write) //
AM_RANGE( 0x06, 0x06 ) AM_MIRROR(0xff00) AM_DEVREAD("aysnd", ay8912_device, data_r) // AY8912, dsw0
@@ -1252,7 +1251,7 @@ WRITE8_MEMBER(dynax_state::tenkai_blit_romregion_w)
logerror("%04x: unmapped romregion=%02X\n", m_maincpu->pc(), data);
}
-static ADDRESS_MAP_START( tenkai_map, AS_PROGRAM, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::tenkai_map)
AM_RANGE( 0x0000, 0x5fff ) AM_ROM
AM_RANGE( 0x6000, 0x7fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x8000, 0xffff ) AM_DEVICE("bankdev", address_map_bank_device, amap8)
@@ -1267,14 +1266,14 @@ static ADDRESS_MAP_START( tenkai_map, AS_PROGRAM, 8, dynax_state )
AM_RANGE( 0x10050, 0x10050 ) AM_WRITE(tenkai_priority_w) // layer priority and enable
AM_RANGE( 0x10054, 0x10054 ) AM_WRITE(dynax_blit_backpen_w) // Background Color
AM_RANGE( 0x10058, 0x10058 ) AM_WRITE(tenkai_blit_romregion_w) // Blitter ROM bank
- AM_RANGE( 0x10060, 0x1007f ) AM_DEVWRITE_MOD("mainlatch", ls259_device, write_d1, rshift<2>)
+ ;map(0x10060, 0x1007f).lw8("mainlatch_w", [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_mainlatch->write_d1(space, offset >> 2, data, mem_mask); });
AM_RANGE( 0x100c0, 0x100c0 ) AM_WRITE(tenkai_ipsel_w)
AM_RANGE( 0x100c1, 0x100c1 ) AM_WRITE(tenkai_ip_w)
AM_RANGE( 0x100c2, 0x100c3 ) AM_READ(tenkai_ip_r)
AM_RANGE( 0x100e1, 0x100e7 ) AM_WRITE(tenkai_blitter_rev2_w) // Blitter (inverted scroll values)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tenkai_banked_map, AS_PROGRAM, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::tenkai_banked_map)
AM_RANGE( 0x00000, 0x3ffff ) AM_ROM AM_REGION("maincpu", 0x10000)
AM_RANGE( 0x80000, 0x8000f ) AM_DEVREADWRITE("rtc", msm6242_device, read, write)
AM_RANGE( 0x90000, 0x97fff ) AM_READWRITE(tenkai_palette_r, tenkai_palette_w)
@@ -1326,13 +1325,13 @@ WRITE8_MEMBER(dynax_state::gekisha_p4_w)
}
-static ADDRESS_MAP_START( gekisha_map, AS_PROGRAM, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::gekisha_map)
AM_RANGE( 0x0000, 0x6fff ) AM_ROM
AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x8000, 0xffff ) AM_DEVICE("bankdev", address_map_bank_device, amap8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gekisha_banked_map, AS_PROGRAM, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::gekisha_banked_map)
AM_RANGE( 0x00000, 0x0ffff ) AM_ROM AM_REGION("maincpu", 0x8000)
AM_RANGE( 0x10000, 0x10000 ) AM_WRITENOP // ? 0
AM_RANGE( 0x10001, 0x10001 ) AM_WRITE(dynax_blit_palette01_w) // Layers Palettes (Low Bits)
@@ -1371,7 +1370,7 @@ WRITE8_MEMBER(dynax_state::cdracula_sound_rombank_w)
logerror("%s: warning, invalid sound bank = %02x\n", machine().describe_context(), data);
}
-static ADDRESS_MAP_START( cdracula_io_map, AS_IO, 8, dynax_state )
+ADDRESS_MAP_START(dynax_state::cdracula_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x07 ) AM_WRITE(cdracula_blitter_rev2_w) // Blitter + Destination Layers
AM_RANGE( 0x10, 0x10 ) AM_DEVREADWRITE("oki", okim6295_device, read, write)
diff --git a/src/mame/drivers/dynduke.cpp b/src/mame/drivers/dynduke.cpp
index 6f3f81e2cb0..164be6f5a8e 100644
--- a/src/mame/drivers/dynduke.cpp
+++ b/src/mame/drivers/dynduke.cpp
@@ -80,7 +80,7 @@ Also, implemented conditional port for Coin Mode (SW1:1)
/* Memory Maps */
-static ADDRESS_MAP_START( master_map, AS_PROGRAM, 16, dynduke_state )
+ADDRESS_MAP_START(dynduke_state::master_map)
AM_RANGE(0x00000, 0x06fff) AM_RAM
AM_RANGE(0x07000, 0x07fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x08000, 0x080ff) AM_RAM AM_SHARE("scroll_ram")
@@ -94,7 +94,7 @@ static ADDRESS_MAP_START( master_map, AS_PROGRAM, 16, dynduke_state )
AM_RANGE(0xa0000, 0xfffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_map, AS_PROGRAM, 16, dynduke_state )
+ADDRESS_MAP_START(dynduke_state::slave_map)
AM_RANGE(0x00000, 0x05fff) AM_RAM
AM_RANGE(0x06000, 0x067ff) AM_RAM_WRITE(background_w) AM_SHARE("back_data")
AM_RANGE(0x06800, 0x06fff) AM_RAM_WRITE(foreground_w) AM_SHARE("fore_data")
@@ -106,7 +106,7 @@ static ADDRESS_MAP_START( slave_map, AS_PROGRAM, 16, dynduke_state )
ADDRESS_MAP_END
/* Memory map used by DlbDyn - probably an addressing PAL is different */
-static ADDRESS_MAP_START( masterj_map, AS_PROGRAM, 16, dynduke_state )
+ADDRESS_MAP_START(dynduke_state::masterj_map)
AM_RANGE(0x00000, 0x06fff) AM_RAM
AM_RANGE(0x07000, 0x07fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x08000, 0x087ff) AM_RAM_WRITE(text_w) AM_SHARE("videoram")
@@ -120,7 +120,7 @@ static ADDRESS_MAP_START( masterj_map, AS_PROGRAM, 16, dynduke_state )
AM_RANGE(0xa0000, 0xfffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, dynduke_state )
+ADDRESS_MAP_START(dynduke_state::sound_map)
AM_RANGE(0x0000, 0xffff) AM_DEVREAD("sei80bu", sei80bu_device, data_r)
AM_RANGE(0x2000, 0x27ff) AM_RAM
AM_RANGE(0x4000, 0x4000) AM_DEVWRITE("seibu_sound", seibu_sound_device, pending_w)
@@ -137,11 +137,11 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, dynduke_state )
AM_RANGE(0x6000, 0x6000) AM_DEVREADWRITE("oki", okim6295_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_decrypted_opcodes_map, AS_OPCODES, 8, dynduke_state )
+ADDRESS_MAP_START(dynduke_state::sound_decrypted_opcodes_map)
AM_RANGE(0x0000, 0xffff) AM_DEVREAD("sei80bu", sei80bu_device, opcode_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sei80bu_encrypted_full_map, AS_PROGRAM, 8, dynduke_state )
+ADDRESS_MAP_START(dynduke_state::sei80bu_encrypted_full_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("audiocpu", 0)
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("seibu_bank1")
ADDRESS_MAP_END
@@ -316,7 +316,7 @@ MACHINE_CONFIG_START(dynduke_state::dynduke)
MCFG_CPU_ADD("audiocpu", Z80, 14318180/4)
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(sound_decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(sound_decrypted_opcodes_map)
MCFG_DEVICE_ADD("sei80bu", SEI80BU, 0)
MCFG_DEVICE_PROGRAM_MAP(sei80bu_encrypted_full_map)
diff --git a/src/mame/drivers/e100.cpp b/src/mame/drivers/e100.cpp
index 84f4439b607..9f1066f7677 100644
--- a/src/mame/drivers/e100.cpp
+++ b/src/mame/drivers/e100.cpp
@@ -179,6 +179,7 @@ public:
DECLARE_WRITE_LINE_MEMBER( pia1_cb2_w);
TIMER_DEVICE_CALLBACK_MEMBER(rtc_w);
void e100(machine_config &config);
+ void e100_map(address_map &map);
protected:
required_ioport m_io_line0;
required_ioport m_io_line1;
@@ -422,7 +423,7 @@ WRITE_LINE_MEMBER(e100_state::pia1_cb2_w)
}
// This map is derived from info in "TEMAL 100 - teknisk manual Esselte 100"
-static ADDRESS_MAP_START( e100_map, AS_PROGRAM, 8, e100_state )
+ADDRESS_MAP_START(e100_state::e100_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x8000, 0x87ff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0xc000, 0xc3ff) AM_RAM AM_SHARE("videoram")
diff --git a/src/mame/drivers/eacc.cpp b/src/mame/drivers/eacc.cpp
index d420f9f66a2..24177aaf8ea 100644
--- a/src/mame/drivers/eacc.cpp
+++ b/src/mame/drivers/eacc.cpp
@@ -82,6 +82,7 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(eacc_cb1);
TIMER_DEVICE_CALLBACK_MEMBER(eacc_nmi);
void eacc(machine_config &config);
+ void eacc_mem(address_map &map);
private:
uint8_t m_digit;
};
@@ -93,7 +94,7 @@ private:
Address Maps
******************************************************************************/
-static ADDRESS_MAP_START(eacc_mem, AS_PROGRAM, 8, eacc_state)
+ADDRESS_MAP_START(eacc_state::eacc_mem)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xc7ff) // A11,A12,A13 not connected
AM_RANGE(0x0000, 0x001f) AM_RAM AM_SHARE("nvram") // inside cpu, battery-backed
diff --git a/src/mame/drivers/ec184x.cpp b/src/mame/drivers/ec184x.cpp
index 0ca9ddf2282..737fbcbea5c 100644
--- a/src/mame/drivers/ec184x.cpp
+++ b/src/mame/drivers/ec184x.cpp
@@ -57,6 +57,12 @@ public:
void ec1841(machine_config &config);
void ec1847(machine_config &config);
void ec1840(machine_config &config);
+ void ec1840_io(address_map &map);
+ void ec1840_map(address_map &map);
+ void ec1841_io(address_map &map);
+ void ec1841_map(address_map &map);
+ void ec1847_io(address_map &map);
+ void ec1847_map(address_map &map);
};
/*
@@ -177,33 +183,33 @@ MACHINE_RESET_MEMBER(ec184x_state, ec1841)
}
-static ADDRESS_MAP_START( ec1840_map, AS_PROGRAM, 8, ec184x_state )
+ADDRESS_MAP_START(ec184x_state::ec1840_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xf0000, 0xfffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ec1841_map, AS_PROGRAM, 16, ec184x_state )
+ADDRESS_MAP_START(ec184x_state::ec1841_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xf0000, 0xfffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ec1847_map, AS_PROGRAM, 8, ec184x_state )
+ADDRESS_MAP_START(ec184x_state::ec1847_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xe0000, 0xfffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ec1840_io, AS_IO, 8, ec184x_state )
+ADDRESS_MAP_START(ec184x_state::ec1840_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x00ff) AM_DEVICE("mb", ibm5150_mb_device, map)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ec1841_io, AS_IO, 16, ec184x_state )
+ADDRESS_MAP_START(ec184x_state::ec1841_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x00ff) AM_DEVICE8("mb", ec1841_mb_device, map, 0xffff)
AM_RANGE(0x02b0, 0x02b3) AM_READWRITE8(memboard_r, memboard_w, 0xffff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ec1847_io, AS_IO, 8, ec184x_state )
+ADDRESS_MAP_START(ec184x_state::ec1847_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x00ff) AM_DEVICE("mb", ibm5160_mb_device, map)
// AM_RANGE(0x0210, 0x021f) AM_RAM // internal (non-standard?) bus extender
diff --git a/src/mame/drivers/ec65.cpp b/src/mame/drivers/ec65.cpp
index b33581629b8..5ba1963ad22 100644
--- a/src/mame/drivers/ec65.cpp
+++ b/src/mame/drivers/ec65.cpp
@@ -45,6 +45,7 @@ public:
MC6845_UPDATE_ROW(crtc_update_row);
void ec65(machine_config &config);
+ void ec65_mem(address_map &map);
private:
virtual void machine_reset() override;
required_device<via6522_device> m_via_0;
@@ -63,9 +64,10 @@ public:
{
}
void ec65k(machine_config &config);
+ void ec65k_mem(address_map &map);
};
-static ADDRESS_MAP_START(ec65_mem, AS_PROGRAM, 8, ec65_state)
+ADDRESS_MAP_START(ec65_state::ec65_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE(PIA6821_TAG, pia6821_device, read, write)
@@ -80,7 +82,7 @@ static ADDRESS_MAP_START(ec65_mem, AS_PROGRAM, 8, ec65_state)
AM_RANGE(0xf000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(ec65k_mem, AS_PROGRAM, 8, ec65_state)
+ADDRESS_MAP_START(ec65k_state::ec65k_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xe7ff) AM_RAM
AM_RANGE(0xe800, 0xefff) AM_RAM AM_SHARE("videoram")
diff --git a/src/mame/drivers/ecoinf1.cpp b/src/mame/drivers/ecoinf1.cpp
index 5f6b846306d..3d5ea19ad8b 100644
--- a/src/mame/drivers/ecoinf1.cpp
+++ b/src/mame/drivers/ecoinf1.cpp
@@ -24,15 +24,17 @@ public:
DECLARE_DRIVER_INIT(ecoinf1);
required_device<cpu_device> m_maincpu;
void ecoinf1_older(machine_config &config);
+ void older_memmap(address_map &map);
+ void older_portmap(address_map &map);
};
-static ADDRESS_MAP_START( older_memmap, AS_PROGRAM, 8, ecoinf1_state )
+ADDRESS_MAP_START(ecoinf1_state::older_memmap)
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x4000, 0x4fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( older_portmap, AS_IO, 8, ecoinf1_state )
+ADDRESS_MAP_START(ecoinf1_state::older_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ecoinf2.cpp b/src/mame/drivers/ecoinf2.cpp
index 4b90fd84b01..ac51dc61a68 100644
--- a/src/mame/drivers/ecoinf2.cpp
+++ b/src/mame/drivers/ecoinf2.cpp
@@ -227,6 +227,8 @@ public:
DECLARE_MACHINE_START(ecoinf2);
void ecoinf2_oxo(machine_config &config);
+ void oxo_memmap(address_map &map);
+ void oxo_portmap(address_map &map);
};
@@ -235,12 +237,12 @@ WRITE8_MEMBER(ecoinf2_state::ox_port5c_out_w)
// Watchdog?
}
-static ADDRESS_MAP_START( oxo_memmap, AS_PROGRAM, 8, ecoinf2_state )
+ADDRESS_MAP_START(ecoinf2_state::oxo_memmap)
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( oxo_portmap, AS_IO, 8, ecoinf2_state )
+ADDRESS_MAP_START(ecoinf2_state::oxo_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x3f) AM_RAM // z180 internal area?
diff --git a/src/mame/drivers/ecoinf3.cpp b/src/mame/drivers/ecoinf3.cpp
index c032abdd12a..90b969d2c67 100644
--- a/src/mame/drivers/ecoinf3.cpp
+++ b/src/mame/drivers/ecoinf3.cpp
@@ -275,6 +275,8 @@ public:
DECLARE_DRIVER_INIT(ecoinf3);
DECLARE_DRIVER_INIT(ecoinf3_swap);
void ecoinf3_pyramid(machine_config &config);
+ void pyramid_memmap(address_map &map);
+ void pyramid_portmap(address_map &map);
};
@@ -429,12 +431,12 @@ WRITE8_MEMBER(ecoinf3_state::ppi8255_intf_e_write_a_alpha_display)
}
-static ADDRESS_MAP_START( pyramid_memmap, AS_PROGRAM, 8, ecoinf3_state )
+ADDRESS_MAP_START(ecoinf3_state::pyramid_memmap)
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pyramid_portmap, AS_IO, 8, ecoinf3_state )
+ADDRESS_MAP_START(ecoinf3_state::pyramid_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x3f) AM_RAM // z180 internal area!
diff --git a/src/mame/drivers/ecoinfr.cpp b/src/mame/drivers/ecoinfr.cpp
index b955fc08f67..62a5cc51846 100644
--- a/src/mame/drivers/ecoinfr.cpp
+++ b/src/mame/drivers/ecoinfr.cpp
@@ -124,6 +124,8 @@ public:
required_device<stepper_device> m_reel2;
required_device<stepper_device> m_reel3;
void ecoinfr(machine_config &config);
+ void memmap(address_map &map);
+ void portmap(address_map &map);
};
@@ -474,7 +476,7 @@ WRITE8_MEMBER(ecoinfr_state::ec_port18_out_w)
}
-static ADDRESS_MAP_START( memmap, AS_PROGRAM, 8, ecoinfr_state )
+ADDRESS_MAP_START(ecoinfr_state::memmap)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_RAM
@@ -485,7 +487,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( portmap, AS_IO, 8, ecoinfr_state )
+ADDRESS_MAP_START(ecoinfr_state::portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(ec_port00_out_w) AM_READ_PORT("IN0") // Reel 1 Write
AM_RANGE(0x01, 0x01) AM_WRITE(ec_port01_out_w) AM_READ_PORT("IN1") // Reel 2 Write + Reels Opto Read
diff --git a/src/mame/drivers/egghunt.cpp b/src/mame/drivers/egghunt.cpp
index 476db76b011..ff0bac2e31a 100644
--- a/src/mame/drivers/egghunt.cpp
+++ b/src/mame/drivers/egghunt.cpp
@@ -98,6 +98,9 @@ public:
required_device<palette_device> m_palette;
required_device<generic_latch_8_device> m_soundlatch;
void egghunt(machine_config &config);
+ void egghunt_map(address_map &map);
+ void io_map(address_map &map);
+ void sound_map(address_map &map);
};
@@ -235,7 +238,7 @@ WRITE8_MEMBER(egghunt_state::egghunt_okibanking_w)
m_oki->set_rom_bank((data >> 4) & 1);
}
-static ADDRESS_MAP_START( egghunt_map, AS_PROGRAM, 8, egghunt_state )
+ADDRESS_MAP_START(egghunt_state::egghunt_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(egghunt_atram_w) AM_SHARE("atram")
@@ -244,7 +247,7 @@ static ADDRESS_MAP_START( egghunt_map, AS_PROGRAM, 8, egghunt_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, egghunt_state )
+ADDRESS_MAP_START(egghunt_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW1") AM_WRITE(egghunt_vidram_bank_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("SYSTEM") AM_WRITE(egghunt_gfx_banking_w)
@@ -255,7 +258,7 @@ static ADDRESS_MAP_START( io_map, AS_IO, 8, egghunt_state )
AM_RANGE(0x07, 0x07) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, egghunt_state )
+ADDRESS_MAP_START(egghunt_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xe000, 0xe000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0xe001, 0xe001) AM_READWRITE(egghunt_okibanking_r, egghunt_okibanking_w)
diff --git a/src/mame/drivers/einstein.cpp b/src/mame/drivers/einstein.cpp
index 86b13ce5004..34ceb6caadc 100644
--- a/src/mame/drivers/einstein.cpp
+++ b/src/mame/drivers/einstein.cpp
@@ -108,6 +108,8 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(strobe_callback);
void einstein(machine_config &config);
+ void einstein_io(address_map &map);
+ void einstein_mem(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -411,13 +413,13 @@ void einstein_state::machine_reset()
ADDRESS MAPS
***************************************************************************/
-static ADDRESS_MAP_START( einstein_mem, AS_PROGRAM, 8, einstein_state )
+ADDRESS_MAP_START(einstein_state::einstein_mem)
AM_RANGE(0x0000, 0x07fff) AM_READ_BANK("bank1") AM_WRITE_BANK("bank2")
AM_RANGE(0x8000, 0x0ffff) AM_RAMBANK("bank3")
ADDRESS_MAP_END
// I/O ports are decoded into 8 blocks using address lines A3 to A7
-static ADDRESS_MAP_START( einstein_io, AS_IO, 8, einstein_state )
+ADDRESS_MAP_START(einstein_state::einstein_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x00) AM_MIRROR(0xff04) AM_READWRITE(reset_r, reset_w)
AM_RANGE(0x02, 0x02) AM_MIRROR(0xff04) AM_DEVREADWRITE(IC_I030, ay8910_device, data_r, address_w)
diff --git a/src/mame/drivers/electron.cpp b/src/mame/drivers/electron.cpp
index 40cb9d437e0..97f509a7796 100644
--- a/src/mame/drivers/electron.cpp
+++ b/src/mame/drivers/electron.cpp
@@ -88,7 +88,7 @@ PALETTE_INIT_MEMBER(electron_state, electron)
palette.set_pen_colors(0, electron_palette, ARRAY_LENGTH(electron_palette));
}
-static ADDRESS_MAP_START(electron_mem, AS_PROGRAM, 8, electron_state )
+ADDRESS_MAP_START(electron_state::electron_mem)
AM_RANGE(0x0000, 0x7fff) AM_READWRITE(electron_mem_r, electron_mem_w) /* 32KB of RAM */
AM_RANGE(0x8000, 0xbfff) AM_READWRITE(electron_paged_r, electron_paged_w) /* Banked ROM pages */
AM_RANGE(0xc000, 0xfbff) AM_ROM AM_REGION("mos", 0x0000) /* OS ROM */
diff --git a/src/mame/drivers/elekscmp.cpp b/src/mame/drivers/elekscmp.cpp
index 4ab1821c71a..4f60d6fb802 100644
--- a/src/mame/drivers/elekscmp.cpp
+++ b/src/mame/drivers/elekscmp.cpp
@@ -45,6 +45,7 @@ public:
uint8_t convert_key(uint8_t data);
void elekscmp(machine_config &config);
+ void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_ioport m_x0;
@@ -95,7 +96,7 @@ READ8_MEMBER(elekscmp_state::keyboard_r)
return 0;
}
-static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 8, elekscmp_state)
+ADDRESS_MAP_START(elekscmp_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x0fff)
AM_RANGE(0x000, 0x5ff) AM_ROM // ROM
diff --git a/src/mame/drivers/elektronmono.cpp b/src/mame/drivers/elektronmono.cpp
index 44869b5bcd9..93d27b261aa 100644
--- a/src/mame/drivers/elektronmono.cpp
+++ b/src/mame/drivers/elektronmono.cpp
@@ -130,6 +130,7 @@ public:
DECLARE_DRIVER_INIT(elektron);
void elektron(machine_config &config);
+ void elektron_map(address_map &map);
};
void elekmono_state::machine_start()
@@ -140,7 +141,7 @@ void elekmono_state::machine_reset()
{
}
-static ADDRESS_MAP_START( elektron_map, AS_PROGRAM, 32, elekmono_state )
+ADDRESS_MAP_START(elekmono_state::elektron_map)
AM_RANGE(0x00000000, 0x000fffff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x00100000, 0x001fffff) AM_RAM // patch memory
AM_RANGE(0x00200000, 0x002fffff) AM_RAM // main RAM
diff --git a/src/mame/drivers/elf.cpp b/src/mame/drivers/elf.cpp
index d1035f144c4..d0f4a77519d 100644
--- a/src/mame/drivers/elf.cpp
+++ b/src/mame/drivers/elf.cpp
@@ -74,13 +74,13 @@ WRITE8_MEMBER( elf2_state::memory_w )
/* Memory Maps */
-static ADDRESS_MAP_START( elf2_mem, AS_PROGRAM, 8, elf2_state )
+ADDRESS_MAP_START(elf2_state::elf2_mem)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x0000, 0x00ff) AM_RAMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( elf2_io, AS_IO, 8, elf2_state )
+ADDRESS_MAP_START(elf2_state::elf2_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x01, 0x01) AM_READ(dispon_r)
AM_RANGE(0x04, 0x04) AM_READWRITE(data_r, data_w)
diff --git a/src/mame/drivers/elwro800.cpp b/src/mame/drivers/elwro800.cpp
index 07fc12bd86c..60e08f31e88 100644
--- a/src/mame/drivers/elwro800.cpp
+++ b/src/mame/drivers/elwro800.cpp
@@ -68,6 +68,11 @@ public:
DECLARE_WRITE_LINE_MEMBER(write_centronics_ack);
void elwro800(machine_config &config);
+ void elwro800_bank1(address_map &map);
+ void elwro800_bank2(address_map &map);
+ void elwro800_io(address_map &map);
+ void elwro800_m1(address_map &map);
+ void elwro800_mem(address_map &map);
protected:
required_device<i8251_device> m_i8251;
required_device<i8255_device> m_i8255;
@@ -364,30 +369,30 @@ WRITE8_MEMBER(elwro800_state::elwro800jr_io_w)
*
*************************************/
-static ADDRESS_MAP_START(elwro800_mem, AS_PROGRAM, 8, elwro800_state)
+ADDRESS_MAP_START(elwro800_state::elwro800_mem)
AM_RANGE(0x0000, 0x1fff) AM_DEVICE("bank1", address_map_bank_device, amap8)
AM_RANGE(0x2000, 0x3fff) AM_DEVICE("bank2", address_map_bank_device, amap8)
AM_RANGE(0x4000, 0xffff) AM_RAMBANK("rambank3")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(elwro800_io, AS_IO, 8, elwro800_state)
+ADDRESS_MAP_START(elwro800_state::elwro800_io)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(elwro800jr_io_r, elwro800jr_io_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(elwro800_m1, AS_OPCODES, 8, elwro800_state)
+ADDRESS_MAP_START(elwro800_state::elwro800_m1)
AM_RANGE(0x0000, 0x1fff) AM_DEVICE("bank1", address_map_bank_device, amap8)
AM_RANGE(0x0066, 0x0066) AM_READ(nmi_r)
AM_RANGE(0x2000, 0x3fff) AM_DEVICE("bank2", address_map_bank_device, amap8)
AM_RANGE(0x4000, 0xffff) AM_RAMBANK("rambank3")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(elwro800_bank1, AS_PROGRAM, 8, elwro800_state)
+ADDRESS_MAP_START(elwro800_state::elwro800_bank1)
AM_RANGE(0x0000, 0x1fff) AM_RAMBANK("rambank1")
AM_RANGE(0x2000, 0x3fff) AM_ROM AM_REGION("maincpu", 0x0000) AM_WRITENOP // BAS0 ROM
AM_RANGE(0x4000, 0x5fff) AM_ROM AM_REGION("maincpu", 0x4000) AM_WRITENOP // BOOT ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(elwro800_bank2, AS_PROGRAM, 8, elwro800_state)
+ADDRESS_MAP_START(elwro800_state::elwro800_bank2)
AM_RANGE(0x0000, 0x1fff) AM_RAMBANK("rambank2")
AM_RANGE(0x2000, 0x3fff) AM_ROM AM_REGION("maincpu", 0x2000) AM_WRITENOP // BAS1 ROM
ADDRESS_MAP_END
@@ -561,7 +566,7 @@ MACHINE_CONFIG_START(elwro800_state::elwro800)
MCFG_CPU_ADD("maincpu",Z80, 3500000) /* 3.5 MHz */
MCFG_CPU_PROGRAM_MAP(elwro800_mem)
MCFG_CPU_IO_MAP(elwro800_io)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(elwro800_m1)
+ MCFG_CPU_OPCODES_MAP(elwro800_m1)
MCFG_CPU_VBLANK_INT_DRIVER("screen", elwro800_state, elwro800jr_interrupt)
MCFG_MACHINE_RESET_OVERRIDE(elwro800_state,elwro800)
diff --git a/src/mame/drivers/embargo.cpp b/src/mame/drivers/embargo.cpp
index b66ffe8d068..93e0763ae81 100644
--- a/src/mame/drivers/embargo.cpp
+++ b/src/mame/drivers/embargo.cpp
@@ -36,6 +36,9 @@ public:
uint32_t screen_update_embargo(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
void embargo(machine_config &config);
+ void main_data_map(address_map &map);
+ void main_io_map(address_map &map);
+ void main_map(address_map &map);
};
@@ -159,7 +162,7 @@ WRITE8_MEMBER(embargo_state::input_select_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, embargo_state )
+ADDRESS_MAP_START(embargo_state::main_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1e00, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x3fff) AM_RAM AM_SHARE("videoram")
@@ -173,13 +176,13 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( main_io_map, AS_IO, 8, embargo_state )
+ADDRESS_MAP_START(embargo_state::main_io_map)
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN0") AM_WRITE(port_1_w)
AM_RANGE(0x02, 0x02) AM_READWRITE(dial_r, port_2_w)
AM_RANGE(0x03, 0x03) AM_WRITENOP /* always 0xFE */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_data_map, AS_DATA, 8, embargo_state )
+ADDRESS_MAP_START(embargo_state::main_data_map)
AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_READ_PORT("IN2")
AM_RANGE(S2650_CTRL_PORT, S2650_CTRL_PORT) AM_READWRITE(input_port_bit_r, input_select_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/enigma2.cpp b/src/mame/drivers/enigma2.cpp
index 82ad7b374a5..c14cb0c6f74 100644
--- a/src/mame/drivers/enigma2.cpp
+++ b/src/mame/drivers/enigma2.cpp
@@ -111,6 +111,10 @@ public:
void start_interrupt_timers( );
void enigma2(machine_config &config);
void enigma2a(machine_config &config);
+ void engima2_audio_cpu_map(address_map &map);
+ void engima2_main_cpu_map(address_map &map);
+ void engima2a_main_cpu_io_map(address_map &map);
+ void engima2a_main_cpu_map(address_map &map);
};
@@ -434,7 +438,7 @@ CUSTOM_INPUT_MEMBER(enigma2_state::p2_controls_r)
return ioport("P1CONTROLS")->read();
}
-static ADDRESS_MAP_START( engima2_main_cpu_map, AS_PROGRAM, 8, enigma2_state )
+ADDRESS_MAP_START(enigma2_state::engima2_main_cpu_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x1fff) AM_ROM AM_WRITENOP
AM_RANGE(0x2000, 0x3fff) AM_MIRROR(0x4000) AM_RAM AM_SHARE("videoram")
@@ -450,7 +454,7 @@ static ADDRESS_MAP_START( engima2_main_cpu_map, AS_PROGRAM, 8, enigma2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( engima2a_main_cpu_map, AS_PROGRAM, 8, enigma2_state )
+ADDRESS_MAP_START(enigma2_state::engima2a_main_cpu_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM AM_WRITENOP
AM_RANGE(0x2000, 0x3fff) AM_MIRROR(0x4000) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x4000, 0x4fff) AM_ROM AM_WRITENOP
@@ -459,7 +463,7 @@ static ADDRESS_MAP_START( engima2a_main_cpu_map, AS_PROGRAM, 8, enigma2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( engima2a_main_cpu_io_map, AS_IO, 8, enigma2_state )
+ADDRESS_MAP_START(enigma2_state::engima2a_main_cpu_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7)
AM_RANGE(0x00, 0x00) AM_NOP
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN0") AM_WRITENOP
@@ -471,7 +475,7 @@ static ADDRESS_MAP_START( engima2a_main_cpu_io_map, AS_IO, 8, enigma2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( engima2_audio_cpu_map, AS_PROGRAM, 8, enigma2_state )
+ADDRESS_MAP_START(enigma2_state::engima2_audio_cpu_map)
AM_RANGE(0x0000, 0x0fff) AM_MIRROR(0x1000) AM_ROM AM_WRITENOP
AM_RANGE(0x2000, 0x7fff) AM_NOP
AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x1c00) AM_RAM
diff --git a/src/mame/drivers/enmirage.cpp b/src/mame/drivers/enmirage.cpp
index 01f33e71461..481dd3b1d0e 100644
--- a/src/mame/drivers/enmirage.cpp
+++ b/src/mame/drivers/enmirage.cpp
@@ -75,6 +75,7 @@ public:
DECLARE_READ8_MEMBER(mirage_adc_read);
void mirage(machine_config &config);
+ void mirage_map(address_map &map);
protected:
virtual void machine_reset() override;
virtual void video_start() override;
@@ -122,7 +123,7 @@ void enmirage_state::machine_reset()
membank("sndbank")->set_base(memregion("es5503")->base() );
}
-static ADDRESS_MAP_START( mirage_map, AS_PROGRAM, 8, enmirage_state )
+ADDRESS_MAP_START(enmirage_state::mirage_map)
AM_RANGE(0x0000, 0x7fff) AM_RAMBANK("sndbank") // 32k window on 128k of wave RAM
AM_RANGE(0x8000, 0xbfff) AM_RAM // main RAM
AM_RANGE(0xc000, 0xdfff) AM_RAM // expansion RAM
diff --git a/src/mame/drivers/eolith.cpp b/src/mame/drivers/eolith.cpp
index 22305603d67..77b04c642b2 100644
--- a/src/mame/drivers/eolith.cpp
+++ b/src/mame/drivers/eolith.cpp
@@ -239,7 +239,7 @@ WRITE8_MEMBER(eolith_state::soundcpu_to_qs1000)
*
*************************************/
-static ADDRESS_MAP_START( eolith_map, AS_PROGRAM, 32, eolith_state )
+ADDRESS_MAP_START(eolith_state::eolith_map)
AM_RANGE(0x00000000, 0x001fffff) AM_RAM // fort2b wants ram here
AM_RANGE(0x40000000, 0x401fffff) AM_RAM
AM_RANGE(0x90000000, 0x9003ffff) AM_READWRITE(eolith_vram_r, eolith_vram_w)
@@ -259,11 +259,11 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( sound_prg_map, AS_PROGRAM, 8, eolith_state )
+ADDRESS_MAP_START(eolith_state::sound_prg_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, eolith_state )
+ADDRESS_MAP_START(eolith_state::sound_io_map)
AM_RANGE(0x0000, 0x7fff) AM_ROMBANK("sound_bank")
AM_RANGE(0x8000, 0x8000) AM_READ(sound_cmd_r)
AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_WRITE(sound_p1_w)
diff --git a/src/mame/drivers/eolith16.cpp b/src/mame/drivers/eolith16.cpp
index 09833ece4a7..f7da712e349 100644
--- a/src/mame/drivers/eolith16.cpp
+++ b/src/mame/drivers/eolith16.cpp
@@ -41,6 +41,7 @@ public:
uint32_t screen_update_eolith16(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void eolith16(machine_config &config);
+ void eolith16_map(address_map &map);
};
@@ -73,7 +74,7 @@ READ16_MEMBER(eolith16_state::vram_r)
return m_vram[offset + (0x10000/2) * m_vbuffer];
}
-static ADDRESS_MAP_START( eolith16_map, AS_PROGRAM, 16, eolith16_state )
+ADDRESS_MAP_START(eolith16_state::eolith16_map)
AM_RANGE(0x00000000, 0x001fffff) AM_RAM
AM_RANGE(0x50000000, 0x5000ffff) AM_READWRITE(vram_r, vram_w)
AM_RANGE(0x90000000, 0x9000002f) AM_WRITENOP //?
diff --git a/src/mame/drivers/ep64.cpp b/src/mame/drivers/ep64.cpp
index 49f007af9e9..65c083d3b5e 100644
--- a/src/mame/drivers/ep64.cpp
+++ b/src/mame/drivers/ep64.cpp
@@ -219,6 +219,11 @@ public:
int m_centronics_busy;
void ep128(machine_config &config);
void ep64(machine_config &config);
+ void dave_128k_mem(address_map &map);
+ void dave_64k_mem(address_map &map);
+ void dave_io(address_map &map);
+ void ep64_io(address_map &map);
+ void ep64_mem(address_map &map);
};
@@ -358,7 +363,7 @@ WRITE8_MEMBER( ep64_state::wr2_w )
// ADDRESS_MAP( ep64_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( ep64_mem, AS_PROGRAM, 8, ep64_state )
+ADDRESS_MAP_START(ep64_state::ep64_mem)
AM_RANGE(0x0000, 0xffff) AM_DEVICE(DAVE_TAG, dave_device, z80_program_map)
ADDRESS_MAP_END
@@ -367,7 +372,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( ep64_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( ep64_io, AS_IO, 8, ep64_state )
+ADDRESS_MAP_START(ep64_state::ep64_io)
AM_RANGE(0x0000, 0xffff) AM_DEVICE(DAVE_TAG, dave_device, z80_io_map)
ADDRESS_MAP_END
@@ -376,7 +381,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( dave_64k_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( dave_64k_mem, AS_PROGRAM, 8, ep64_state )
+ADDRESS_MAP_START(ep64_state::dave_64k_mem)
AM_RANGE(0x000000, 0x007fff) AM_ROM AM_REGION(Z80_TAG, 0)
//AM_RANGE(0x010000, 0x01ffff) // mapped by the cartslot
AM_RANGE(0x3f0000, 0x3fffff) AM_DEVICE(NICK_TAG, nick_device, vram_map)
@@ -387,7 +392,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( dave_128k_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( dave_128k_mem, AS_PROGRAM, 8, ep64_state )
+ADDRESS_MAP_START(ep64_state::dave_128k_mem)
AM_IMPORT_FROM(dave_64k_mem)
AM_RANGE(0x3e0000, 0x3effff) AM_RAM
ADDRESS_MAP_END
@@ -397,7 +402,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( dave_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( dave_io, AS_IO, 8, ep64_state )
+ADDRESS_MAP_START(ep64_state::dave_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x80, 0x8f) AM_DEVICE(NICK_TAG, nick_device, vio_map)
AM_RANGE(0xb5, 0xb5) AM_READWRITE(rd0_r, wr0_w)
diff --git a/src/mame/drivers/epos.cpp b/src/mame/drivers/epos.cpp
index 9ba4f64b3e6..44e0dbabcb6 100644
--- a/src/mame/drivers/epos.cpp
+++ b/src/mame/drivers/epos.cpp
@@ -70,13 +70,13 @@ WRITE8_MEMBER(epos_state::dealer_decrypt_rom)
*
*************************************/
-static ADDRESS_MAP_START( epos_map, AS_PROGRAM, 8, epos_state )
+ADDRESS_MAP_START(epos_state::epos_map)
AM_RANGE(0x0000, 0x77ff) AM_ROM
AM_RANGE(0x7800, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0xffff) AM_RAM AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dealer_map, AS_PROGRAM, 8, epos_state )
+ADDRESS_MAP_START(epos_state::dealer_map)
AM_RANGE(0x0000, 0x5fff) AM_ROMBANK("bank1")
AM_RANGE(0x6000, 0x6fff) AM_ROMBANK("bank2")
AM_RANGE(0x7000, 0x7fff) AM_RAM AM_SHARE("nvram")
@@ -89,7 +89,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( epos_io_map, AS_IO, 8, epos_state )
+ADDRESS_MAP_START(epos_state::epos_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW") AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("SYSTEM") AM_WRITE(port_1_w)
@@ -98,7 +98,7 @@ static ADDRESS_MAP_START( epos_io_map, AS_IO, 8, epos_state )
AM_RANGE(0x06, 0x06) AM_DEVWRITE("aysnd", ay8910_device, address_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dealer_io_map, AS_IO, 8, epos_state )
+ADDRESS_MAP_START(epos_state::dealer_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x0f) AM_WRITE(dealer_pal_w)
AM_RANGE(0x10, 0x13) AM_DEVREADWRITE("ppi8255", i8255_device, read, write)
diff --git a/src/mame/drivers/eprom.cpp b/src/mame/drivers/eprom.cpp
index 662f6210dff..86422a9c866 100644
--- a/src/mame/drivers/eprom.cpp
+++ b/src/mame/drivers/eprom.cpp
@@ -145,7 +145,7 @@ template<bool maincpu> WRITE16_MEMBER(eprom_state::sync_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, eprom_state )
+ADDRESS_MAP_START(eprom_state::main_map)
AM_RANGE(0x000000, 0x09ffff) AM_ROM
AM_RANGE(0x0e0000, 0x0e0fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
AM_RANGE(0x160000, 0x16ffff) AM_RAM AM_SHARE("share1")
@@ -170,7 +170,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, eprom_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( guts_map, AS_PROGRAM, 16, eprom_state )
+ADDRESS_MAP_START(eprom_state::guts_map)
AM_RANGE(0x000000, 0x09ffff) AM_ROM
AM_RANGE(0x0e0000, 0x0e0fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
AM_RANGE(0x160000, 0x16ffff) AM_RAM AM_SHARE("share1")
@@ -202,7 +202,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( extra_map, AS_PROGRAM, 16, eprom_state )
+ADDRESS_MAP_START(eprom_state::extra_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x160000, 0x16ffff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x16cc00, 0x16cc01) AM_READWRITE(sync_r, sync_w<false>) AM_SHARE("sync_data")
diff --git a/src/mame/drivers/equites.cpp b/src/mame/drivers/equites.cpp
index 1c7f72adc1e..aa4a933bbb4 100644
--- a/src/mame/drivers/equites.cpp
+++ b/src/mame/drivers/equites.cpp
@@ -364,7 +364,6 @@ D
#include "cpu/alph8201/alph8201.h"
#include "cpu/i8085/i8085.h"
#include "cpu/m68000/m68000.h"
-#include "machine/74259.h"
#include "machine/i8155.h"
#include "machine/nvram.h"
#include "machine/watchdog.h"
@@ -641,7 +640,7 @@ WRITE_LINE_MEMBER(equites_state::mcu_switch_w)
/******************************************************************************/
// CPU Memory Maps
-static ADDRESS_MAP_START( equites_map, AS_PROGRAM, 16, equites_state )
+ADDRESS_MAP_START(equites_state::equites_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x00ffff) AM_ROM // ROM area is written several times (dev system?)
AM_RANGE(0x040000, 0x040fff) AM_RAM
@@ -652,27 +651,27 @@ static ADDRESS_MAP_START( equites_map, AS_PROGRAM, 16, equites_state )
AM_RANGE(0x100000, 0x100001) AM_READ(equites_spriteram_kludge_r)
AM_RANGE(0x140000, 0x1407ff) AM_READWRITE8(mcu_ram_r, mcu_ram_w, 0x00ff)
AM_RANGE(0x180000, 0x180001) AM_READ_PORT("IN1") AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
- AM_RANGE(0x180000, 0x180001) AM_SELECT(0x03c000) AM_DEVWRITE8_MOD("mainlatch", ls259_device, write_a3, rshift<13>, 0xff00)
+ ;map(0x180000, 0x180001).select(0x03c000).lw8("mainlatch_w", [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_mainlatch->write_a3(space, offset >> 13, data, mem_mask); }).umask16(0xff00);
AM_RANGE(0x1c0000, 0x1c0001) AM_READ_PORT("IN0") AM_WRITE(equites_scrollreg_w)
AM_RANGE(0x380000, 0x380001) AM_WRITE8(equites_bgcolor_w, 0xff00)
AM_RANGE(0x780000, 0x780001) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gekisou_map, AS_PROGRAM, 16, equites_state )
+ADDRESS_MAP_START(equites_state::gekisou_map)
AM_IMPORT_FROM( equites_map )
AM_RANGE(0x040000, 0x040fff) AM_RAM AM_SHARE("nvram") // mainram is battery-backed
AM_RANGE(0x580000, 0x580001) AM_SELECT(0x020000) AM_WRITE(gekisou_unknown_bit_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( splndrbt_map, AS_PROGRAM, 16, equites_state )
+ADDRESS_MAP_START(equites_state::splndrbt_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x040000, 0x040fff) AM_RAM
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("IN0")
AM_RANGE(0x0c0000, 0x0c0001) AM_READ_PORT("IN1")
AM_RANGE(0x0c0000, 0x0c0001) AM_SELECT(0x020000) AM_WRITE8(equites_bgcolor_w, 0xff00)
- AM_RANGE(0x0c0000, 0x0c0001) AM_SELECT(0x03c000) AM_DEVWRITE8_MOD("mainlatch", ls259_device, write_a3, rshift<13>, 0x00ff)
+ ;map(0x180000, 0x180001).select(0x03c000).lw8("mainlatch_w", [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_mainlatch->write_a3(space, offset >> 13, data, mem_mask); }).umask16(0xff00);
AM_RANGE(0x100000, 0x100001) AM_WRITE(splndrbt_bg_scrollx_w)
AM_RANGE(0x140000, 0x140001) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
AM_RANGE(0x1c0000, 0x1c0001) AM_WRITE(splndrbt_bg_scrolly_w)
@@ -685,7 +684,7 @@ static ADDRESS_MAP_START( splndrbt_map, AS_PROGRAM, 16, equites_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, equites_state )
+ADDRESS_MAP_START(equites_state::sound_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0xc080, 0xc08d) AM_DEVWRITE("msm", msm5232_device, write)
@@ -698,12 +697,12 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, equites_state )
AM_RANGE(0xe000, 0xe0ff) AM_DEVREADWRITE("audio8155", i8155_device, memory_r, memory_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, equites_state )
+ADDRESS_MAP_START(equites_state::sound_portmap)
AM_RANGE(0x00e0, 0x00e7) AM_DEVREADWRITE("audio8155", i8155_device, io_r, io_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mcu_map, AS_PROGRAM, 8, equites_state )
+ADDRESS_MAP_START(equites_state::mcu_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM AM_SHARE("mcuram") /* main CPU shared RAM */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ertictac.cpp b/src/mame/drivers/ertictac.cpp
index 535f778b00d..9ada51a3550 100644
--- a/src/mame/drivers/ertictac.cpp
+++ b/src/mame/drivers/ertictac.cpp
@@ -42,6 +42,7 @@ public:
virtual void machine_reset() override;
INTERRUPT_GEN_MEMBER(ertictac_podule_irq);
void ertictac(machine_config &config);
+ void ertictac_map(address_map &map);
};
@@ -61,7 +62,7 @@ READ32_MEMBER(ertictac_state::ertictac_podule_r)
return 0;
}
-static ADDRESS_MAP_START( ertictac_map, AS_PROGRAM, 32, ertictac_state )
+ADDRESS_MAP_START(ertictac_state::ertictac_map)
AM_RANGE(0x00000000, 0x01ffffff) AM_READWRITE(archimedes_memc_logical_r, archimedes_memc_logical_w)
AM_RANGE(0x02000000, 0x02ffffff) AM_RAM AM_SHARE("physicalram") /* physical RAM - 16 MB for now, should be 512k for the A310 */
diff --git a/src/mame/drivers/esd16.cpp b/src/mame/drivers/esd16.cpp
index a1b4f154952..f91fa12965a 100644
--- a/src/mame/drivers/esd16.cpp
+++ b/src/mame/drivers/esd16.cpp
@@ -157,7 +157,7 @@ WRITE16_MEMBER(esd16_state::esd_eeprom_w)
AM_RANGE(_BASE + 0x20000, _BASE + 0x23fff) AM_WRITE(esd16_vram_1_w) AM_SHARE("vram_1") AM_MIRROR(0x4000)
/*** Memory Maps ***/
-static ADDRESS_MAP_START( multchmp_map, AS_PROGRAM, 16, esd16_state )
+ADDRESS_MAP_START(esd16_state::multchmp_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
@@ -170,7 +170,7 @@ static ADDRESS_MAP_START( multchmp_map, AS_PROGRAM, 16, esd16_state )
AM_RANGE(0x700008, 0x70000b) AM_READNOP // unused protection?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jumppop_map, AS_PROGRAM, 16, esd16_state )
+ADDRESS_MAP_START(esd16_state::jumppop_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x120000, 0x123fff) AM_RAM
AM_RANGE(0x1a0000, 0x1a7fff) AM_RAM
@@ -184,7 +184,7 @@ static ADDRESS_MAP_START( jumppop_map, AS_PROGRAM, 16, esd16_state )
ESD16_VID_ATTR_AREA( 0x380000 )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hedpanic_map, AS_PROGRAM, 16, esd16_state )
+ADDRESS_MAP_START(esd16_state::hedpanic_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
@@ -199,7 +199,7 @@ ADDRESS_MAP_END
/* Multi Champ Deluxe, like Head Panic but different addresses */
-static ADDRESS_MAP_START( mchampdx_map, AS_PROGRAM, 16, esd16_state )
+ADDRESS_MAP_START(esd16_state::mchampdx_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM
@@ -214,7 +214,7 @@ ADDRESS_MAP_END
/* Tang Tang & Deluxe 5 - like the others but again with different addresses */
-static ADDRESS_MAP_START( tangtang_map, AS_PROGRAM, 16, esd16_state )
+ADDRESS_MAP_START(esd16_state::tangtang_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x700000, 0x70ffff) AM_RAM
@@ -241,7 +241,7 @@ WRITE8_MEMBER(esd16_state::esd16_sound_rombank_w)
membank("bank1")->set_entry(bank);
}
-static ADDRESS_MAP_START( multchmp_sound_map, AS_PROGRAM, 8, esd16_state )
+ADDRESS_MAP_START(esd16_state::multchmp_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM // ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") // Banked ROM
AM_RANGE(0xf800, 0xffff) AM_RAM // RAM
@@ -254,7 +254,7 @@ READ8_MEMBER(esd16_state::esd16_sound_command_r)
return m_soundlatch->read(space, 0);
}
-static ADDRESS_MAP_START( multchmp_sound_io_map, AS_IO, 8, esd16_state )
+ADDRESS_MAP_START(esd16_state::multchmp_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("ymsnd", ym3812_device, write) // YM3812
AM_RANGE(0x02, 0x02) AM_DEVREADWRITE("oki", okim6295_device, read, write) // M6295
diff --git a/src/mame/drivers/esh.cpp b/src/mame/drivers/esh.cpp
index 3d0e80247d5..8182b20d16b 100644
--- a/src/mame/drivers/esh.cpp
+++ b/src/mame/drivers/esh.cpp
@@ -70,6 +70,8 @@ public:
required_device<palette_device> m_palette;
void esh(machine_config &config);
+ void z80_0_io(address_map &map);
+ void z80_0_mem(address_map &map);
protected:
//virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
};
@@ -208,7 +210,7 @@ WRITE8_MEMBER(esh_state::nmi_line_w)
/* PROGRAM MAPS */
-static ADDRESS_MAP_START( z80_0_mem, AS_PROGRAM, 8, esh_state )
+ADDRESS_MAP_START(esh_state::z80_0_mem)
AM_RANGE(0x0000,0x3fff) AM_ROM
AM_RANGE(0xe000,0xe7ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xf000,0xf3ff) AM_RAM AM_SHARE("tile_ram")
@@ -217,7 +219,7 @@ ADDRESS_MAP_END
/* IO MAPS */
-static ADDRESS_MAP_START( z80_0_io, AS_IO, 8, esh_state )
+ADDRESS_MAP_START(esh_state::z80_0_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xf0,0xf0) AM_READ_PORT("IN0")
AM_RANGE(0xf1,0xf1) AM_READ_PORT("IN1")
diff --git a/src/mame/drivers/espial.cpp b/src/mame/drivers/espial.cpp
index 58ffb2d6c96..3d2c69a03e9 100644
--- a/src/mame/drivers/espial.cpp
+++ b/src/mame/drivers/espial.cpp
@@ -101,7 +101,7 @@ WRITE8_MEMBER(espial_state::espial_master_soundlatch_w)
}
-static ADDRESS_MAP_START( espial_map, AS_PROGRAM, 8, espial_state )
+ADDRESS_MAP_START(espial_state::espial_map)
AM_RANGE(0x0000, 0x4fff) AM_ROM
AM_RANGE(0x5800, 0x5fff) AM_RAM
AM_RANGE(0x6081, 0x6081) AM_READ_PORT("IN0")
@@ -126,7 +126,7 @@ ADDRESS_MAP_END
/* there are a lot of unmapped reads from all over memory as the
code uses POP instructions in a delay loop */
-static ADDRESS_MAP_START( netwars_map, AS_PROGRAM, 8, espial_state )
+ADDRESS_MAP_START(espial_state::netwars_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x5800, 0x5fff) AM_RAM
AM_RANGE(0x6081, 0x6081) AM_READ_PORT("IN0")
@@ -147,14 +147,14 @@ static ADDRESS_MAP_START( netwars_map, AS_PROGRAM, 8, espial_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( espial_sound_map, AS_PROGRAM, 8, espial_state )
+ADDRESS_MAP_START(espial_state::espial_sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
AM_RANGE(0x4000, 0x4000) AM_WRITE(espial_sound_nmi_mask_w)
AM_RANGE(0x6000, 0x6000) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_DEVWRITE("soundlatch2", generic_latch_8_device, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( espial_sound_io_map, AS_IO, 8, espial_state )
+ADDRESS_MAP_START(espial_state::espial_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/esprit.cpp b/src/mame/drivers/esprit.cpp
index 4dec8e34845..9d11fdcc67f 100644
--- a/src/mame/drivers/esprit.cpp
+++ b/src/mame/drivers/esprit.cpp
@@ -34,6 +34,8 @@ public:
void esprit(machine_config &config);
void esprit3(machine_config &config);
+ void mem3_map(address_map &map);
+ void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_region_ptr<u8> m_p_chargen;
@@ -41,7 +43,7 @@ private:
optional_device<palette_device> m_palette;
};
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, esprit_state )
+ADDRESS_MAP_START(esprit_state::mem_map)
ADDRESS_MAP_GLOBAL_MASK (0x7fff)
AM_RANGE(0x0058,0x0058) AM_DEVREADWRITE("crtc", mc6845_device, status_r, address_w)
AM_RANGE(0x0059,0x0059) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
@@ -50,7 +52,7 @@ static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, esprit_state )
AM_RANGE(0x7000,0x7fff) AM_ROM AM_REGION("roms", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mem3_map, AS_PROGRAM, 8, esprit_state )
+ADDRESS_MAP_START(esprit_state::mem3_map)
AM_RANGE(0x0000,0x202f) AM_RAM
AM_RANGE(0x2030,0x3fff) AM_RAM AM_SHARE("videoram") // it might start at 3000
AM_RANGE(0x81c0,0x81c0) AM_DEVREADWRITE("crtc", mc6845_device, status_r, address_w)
diff --git a/src/mame/drivers/esq1.cpp b/src/mame/drivers/esq1.cpp
index 194f927dcdd..5da25191d24 100644
--- a/src/mame/drivers/esq1.cpp
+++ b/src/mame/drivers/esq1.cpp
@@ -427,6 +427,8 @@ public:
void send_through_panel(uint8_t data);
void esq1(machine_config &config);
void sq80(machine_config &config);
+ void esq1_map(address_map &map);
+ void sq80_map(address_map &map);
};
@@ -501,7 +503,7 @@ WRITE8_MEMBER(esq1_state::seqdosram_w)
}
}
-static ADDRESS_MAP_START( esq1_map, AS_PROGRAM, 8, esq1_state )
+ADDRESS_MAP_START(esq1_state::esq1_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM // OSRAM
AM_RANGE(0x4000, 0x5fff) AM_RAM // SEQRAM
AM_RANGE(0x6000, 0x63ff) AM_DEVREADWRITE("es5503", es5503_device, read, write)
@@ -511,7 +513,7 @@ static ADDRESS_MAP_START( esq1_map, AS_PROGRAM, 8, esq1_state )
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("osrom", 0x8000) // OS "high" ROM is always mapped here
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sq80_map, AS_PROGRAM, 8, esq1_state )
+ADDRESS_MAP_START(esq1_state::sq80_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM // OSRAM
AM_RANGE(0x4000, 0x5fff) AM_RAM // SEQRAM
// AM_RANGE(0x4000, 0x5fff) AM_READWRITE(seqdosram_r, seqdosram_w)
diff --git a/src/mame/drivers/esq5505.cpp b/src/mame/drivers/esq5505.cpp
index 0fa9a89d971..12b61fae460 100644
--- a/src/mame/drivers/esq5505.cpp
+++ b/src/mame/drivers/esq5505.cpp
@@ -223,6 +223,10 @@ public:
void vfxsd(machine_config &config);
void eps(machine_config &config);
void vfx32(machine_config &config);
+ void eps_map(address_map &map);
+ void sq1_map(address_map &map);
+ void vfx_map(address_map &map);
+ void vfxsd_map(address_map &map);
private:
uint16_t *m_rom, *m_ram;
uint16_t m_analog_values[8];
@@ -377,7 +381,7 @@ WRITE16_MEMBER(esq5505_state::lower_w)
}
}
-static ADDRESS_MAP_START( vfx_map, AS_PROGRAM, 16, esq5505_state )
+ADDRESS_MAP_START(esq5505_state::vfx_map)
AM_RANGE(0x000000, 0x007fff) AM_READWRITE(lower_r, lower_w)
AM_RANGE(0x200000, 0x20001f) AM_DEVREADWRITE("otis", es5505_device, read, write)
AM_RANGE(0x280000, 0x28001f) AM_DEVREADWRITE8("duart", mc68681_device, read, write, 0x00ff)
@@ -386,7 +390,7 @@ static ADDRESS_MAP_START( vfx_map, AS_PROGRAM, 16, esq5505_state )
AM_RANGE(0xff0000, 0xffffff) AM_RAM AM_SHARE("osram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vfxsd_map, AS_PROGRAM, 16, esq5505_state )
+ADDRESS_MAP_START(esq5505_state::vfxsd_map)
AM_RANGE(0x000000, 0x00ffff) AM_READWRITE(lower_r, lower_w)
AM_RANGE(0x200000, 0x20001f) AM_DEVREADWRITE("otis", es5505_device, read, write)
AM_RANGE(0x280000, 0x28001f) AM_DEVREADWRITE8("duart", mc68681_device, read, write, 0x00ff)
@@ -397,7 +401,7 @@ static ADDRESS_MAP_START( vfxsd_map, AS_PROGRAM, 16, esq5505_state )
AM_RANGE(0xff0000, 0xffffff) AM_RAM AM_SHARE("osram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( eps_map, AS_PROGRAM, 16, esq5505_state )
+ADDRESS_MAP_START(esq5505_state::eps_map)
AM_RANGE(0x000000, 0x007fff) AM_READWRITE(lower_r, lower_w)
AM_RANGE(0x200000, 0x20001f) AM_DEVREADWRITE("otis", es5505_device, read, write)
AM_RANGE(0x240000, 0x2400ff) AM_DEVREADWRITE("mc68450", hd63450_device, read, write)
@@ -408,7 +412,7 @@ static ADDRESS_MAP_START( eps_map, AS_PROGRAM, 16, esq5505_state )
AM_RANGE(0xff0000, 0xffffff) AM_RAM AM_SHARE("osram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sq1_map, AS_PROGRAM, 16, esq5505_state )
+ADDRESS_MAP_START(esq5505_state::sq1_map)
AM_RANGE(0x000000, 0x03ffff) AM_READWRITE(lower_r, lower_w)
AM_RANGE(0x200000, 0x20001f) AM_DEVREADWRITE("otis", es5505_device, read, write)
AM_RANGE(0x260000, 0x2601ff) AM_DEVREADWRITE8("esp", es5510_device, host_r, host_w, 0x0ff)
diff --git a/src/mame/drivers/esqasr.cpp b/src/mame/drivers/esqasr.cpp
index 3ed482cf3a4..fcaa4a8924f 100644
--- a/src/mame/drivers/esqasr.cpp
+++ b/src/mame/drivers/esqasr.cpp
@@ -69,18 +69,20 @@ public:
DECLARE_READ16_MEMBER(esq5506_read_adc);
void asrx(machine_config &config);
void asr(machine_config &config);
+ void asr_map(address_map &map);
+ void asrx_map(address_map &map);
};
void esqasr_state::machine_reset()
{
}
-static ADDRESS_MAP_START( asr_map, AS_PROGRAM, 16, esqasr_state )
+ADDRESS_MAP_START(esqasr_state::asr_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0xf00000, 0xffffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( asrx_map, AS_PROGRAM, 32, esqasr_state )
+ADDRESS_MAP_START(esqasr_state::asrx_map)
AM_RANGE(0x00000000, 0x000fffff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x08000000, 0x081fffff) AM_RAM
AM_RANGE(0x0be00000, 0x0befffff) AM_RAM
diff --git a/src/mame/drivers/esqkt.cpp b/src/mame/drivers/esqkt.cpp
index db8a4ed29df..6c3f3bfdbd8 100644
--- a/src/mame/drivers/esqkt.cpp
+++ b/src/mame/drivers/esqkt.cpp
@@ -133,6 +133,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(esq5506_otto_irq);
DECLARE_READ16_MEMBER(esq5506_read_adc);
void kt(machine_config &config);
+ void kt_map(address_map &map);
};
void esqkt_state::machine_reset()
@@ -140,7 +141,7 @@ void esqkt_state::machine_reset()
m_bCalibSecondByte = false;
}
-static ADDRESS_MAP_START( kt_map, AS_PROGRAM, 32, esqkt_state )
+ADDRESS_MAP_START(esqkt_state::kt_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM AM_REGION("osrom", 0)
AM_RANGE(0x200000, 0x20003f) AM_DEVREADWRITE8("ensoniq", es5506_device, read, write, 0xffffffff)
AM_RANGE(0x240000, 0x24003f) AM_DEVREADWRITE8("ensoniq2", es5506_device, read, write, 0xffffffff)
diff --git a/src/mame/drivers/esqmr.cpp b/src/mame/drivers/esqmr.cpp
index 1593fe49f13..5ebb9ce9b97 100644
--- a/src/mame/drivers/esqmr.cpp
+++ b/src/mame/drivers/esqmr.cpp
@@ -227,13 +227,14 @@ public:
DECLARE_WRITE_LINE_MEMBER(esq5506_otto_irq);
DECLARE_READ16_MEMBER(esq5506_read_adc);
void mr(machine_config &config);
+ void mr_map(address_map &map);
};
void esqmr_state::machine_reset()
{
}
-static ADDRESS_MAP_START( mr_map, AS_PROGRAM, 32, esqmr_state )
+ADDRESS_MAP_START(esqmr_state::mr_map)
AM_RANGE(0x00000000, 0x000fffff) AM_ROM AM_REGION("maincpu", 0)
// AM_RANGE(0x200000, 0x20003f) AM_DEVREADWRITE8("ensoniq", es5506_device, read, write, 0xffffffff)
// AM_RANGE(0x240000, 0x24003f) AM_DEVREADWRITE8("ensoniq2", es5506_device, read, write, 0xffffffff)
diff --git a/src/mame/drivers/esripsys.cpp b/src/mame/drivers/esripsys.cpp
index d00929c3074..271434ce9c9 100644
--- a/src/mame/drivers/esripsys.cpp
+++ b/src/mame/drivers/esripsys.cpp
@@ -564,7 +564,7 @@ WRITE8_MEMBER(esripsys_state::esripsys_dac_w)
*
*************************************/
-static ADDRESS_MAP_START( game_cpu_map, AS_PROGRAM, 8, esripsys_state )
+ADDRESS_MAP_START(esripsys_state::game_cpu_map)
AM_RANGE(0x0000, 0x3fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x4000, 0x42ff) AM_RAM AM_SHARE("pal_ram")
AM_RANGE(0x4300, 0x4300) AM_WRITE(esripsys_bg_intensity_w)
@@ -579,7 +579,7 @@ static ADDRESS_MAP_START( game_cpu_map, AS_PROGRAM, 8, esripsys_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( frame_cpu_map, AS_PROGRAM, 8, esripsys_state )
+ADDRESS_MAP_START(esripsys_state::frame_cpu_map)
AM_RANGE(0x0000, 0x3fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x4000, 0x4fff) AM_READWRITE(fdt_r, fdt_w)
AM_RANGE(0x6000, 0x6000) AM_READWRITE(f_status_r, f_status_w)
@@ -588,7 +588,7 @@ static ADDRESS_MAP_START( frame_cpu_map, AS_PROGRAM, 8, esripsys_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_cpu_map, AS_PROGRAM, 8, esripsys_state )
+ADDRESS_MAP_START(esripsys_state::sound_cpu_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x0800, 0x0fff) AM_RAM // Not installed on later PCBs
AM_RANGE(0x2008, 0x2009) AM_READWRITE(tms5220_r, tms5220_w)
@@ -605,7 +605,7 @@ static ADDRESS_MAP_START( sound_cpu_map, AS_PROGRAM, 8, esripsys_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( video_cpu_map, AS_PROGRAM, 64, esripsys_state )
+ADDRESS_MAP_START(esripsys_state::video_cpu_map)
AM_RANGE(0x000, 0x1ff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/et3400.cpp b/src/mame/drivers/et3400.cpp
index 91ec6e087a4..ad607a59f73 100644
--- a/src/mame/drivers/et3400.cpp
+++ b/src/mame/drivers/et3400.cpp
@@ -57,6 +57,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(reset_key_w);
DECLARE_WRITE_LINE_MEMBER(segment_test_w);
void et3400(machine_config &config);
+ void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<pia6821_device> m_pia;
@@ -124,7 +125,7 @@ WRITE8_MEMBER(et3400_state::pia_bw)
}
-static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 8, et3400_state)
+ADDRESS_MAP_START(et3400_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x0fff ) AM_RAM
AM_RANGE( 0x1000, 0x1003 ) AM_MIRROR(0x03fc) AM_DEVREADWRITE("pia", pia6821_device, read, write)
diff --git a/src/mame/drivers/eti660.cpp b/src/mame/drivers/eti660.cpp
index d22c6afe2a0..9955e428df7 100644
--- a/src/mame/drivers/eti660.cpp
+++ b/src/mame/drivers/eti660.cpp
@@ -80,7 +80,7 @@ WRITE8_MEMBER( eti660_state::colorram_w )
/* Memory Maps */
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, eti660_state )
+ADDRESS_MAP_START(eti660_state::mem_map)
ADDRESS_MAP_GLOBAL_MASK(0xfff)
AM_RANGE(0x0000, 0x03ff) AM_ROM
AM_RANGE(0x0400, 0x047f) AM_RAM
@@ -88,7 +88,7 @@ static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, eti660_state )
AM_RANGE(0x0600, 0x0fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, eti660_state )
+ADDRESS_MAP_START(eti660_state::io_map)
AM_RANGE(0x01, 0x01) AM_DEVREADWRITE(CDP1864_TAG, cdp1864_device, dispon_r, step_bgcolor_w)
AM_RANGE(0x02, 0x02) AM_READWRITE(pia_r, pia_w)
AM_RANGE(0x03, 0x03) AM_WRITE(colorram_w)
diff --git a/src/mame/drivers/ettrivia.cpp b/src/mame/drivers/ettrivia.cpp
index d2a4432d6fa..2a4d8a7eaa4 100644
--- a/src/mame/drivers/ettrivia.cpp
+++ b/src/mame/drivers/ettrivia.cpp
@@ -76,6 +76,8 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device_array<ay8912_device, 3> m_ay;
void ettrivia(machine_config &config);
+ void cpu_map(address_map &map);
+ void io_map(address_map &map);
};
@@ -153,7 +155,7 @@ WRITE8_MEMBER(ettrivia_state::b800_w)
m_b800_prev = data;
}
-static ADDRESS_MAP_START( cpu_map, AS_PROGRAM, 8, ettrivia_state )
+ADDRESS_MAP_START(ettrivia_state::cpu_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x9000, 0x9000) AM_WRITE(ettrivia_control_w)
@@ -165,7 +167,7 @@ static ADDRESS_MAP_START( cpu_map, AS_PROGRAM, 8, ettrivia_state )
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(ettrivia_bg_w) AM_SHARE("bg_videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, ettrivia_state )
+ADDRESS_MAP_START(ettrivia_state::io_map)
AM_RANGE(0x0000, 0xffff) AM_READ(ettrivia_question_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/eurocom2.cpp b/src/mame/drivers/eurocom2.cpp
index 701184c75d1..5944abfb31c 100644
--- a/src/mame/drivers/eurocom2.cpp
+++ b/src/mame/drivers/eurocom2.cpp
@@ -93,6 +93,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(pia1_cb2_w);
void eurocom2(machine_config &config);
+ void eurocom2_map(address_map &map);
protected:
// driver_device overrides
virtual void machine_reset() override;
@@ -141,6 +142,7 @@ public:
DECLARE_WRITE8_MEMBER(waveterm_dac);
void waveterm(machine_config &config);
+ void waveterm_map(address_map &map);
protected:
bool m_driveh;
uint8_t m_drive;
@@ -328,7 +330,7 @@ uint32_t eurocom2_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
return 0;
}
-static ADDRESS_MAP_START(eurocom2_map, AS_PROGRAM, 8, eurocom2_state)
+ADDRESS_MAP_START(eurocom2_state::eurocom2_map)
AM_RANGE(0x0000, 0xefff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0xf000, 0xfcef) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0xfcf0, 0xfcf3) AM_DEVREADWRITE("pia1", pia6821_device, read, write)
@@ -340,7 +342,7 @@ static ADDRESS_MAP_START(eurocom2_map, AS_PROGRAM, 8, eurocom2_state)
AM_RANGE(0xfd40, 0xffff) AM_ROM AM_REGION("maincpu", 0xd40) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START(waveterm_map, AS_PROGRAM, 8, waveterm_state)
+ADDRESS_MAP_START(waveterm_state::waveterm_map)
AM_IMPORT_FROM(eurocom2_map)
AM_RANGE(0xfd00, 0xfd03) AM_DEVREADWRITE("pia3", pia6821_device, read, write)
AM_RANGE(0xfd08, 0xfd0f) AM_DEVREADWRITE("ptm", ptm6840_device, read, write)
diff --git a/src/mame/drivers/europc.cpp b/src/mame/drivers/europc.cpp
index 39bf4b088ec..6dde362ff24 100644
--- a/src/mame/drivers/europc.cpp
+++ b/src/mame/drivers/europc.cpp
@@ -88,6 +88,8 @@ public:
void europc(machine_config &config);
void europc2(machine_config &config);
void euroxt(machine_config &config);
+ void europc_io(address_map &map);
+ void europc_map(address_map &map);
};
/*
@@ -494,12 +496,12 @@ static INPUT_PORTS_START( europc )
PORT_BIT(0xfffe, IP_ACTIVE_HIGH, IPT_UNUSED)
INPUT_PORTS_END
-static ADDRESS_MAP_START( europc_map, AS_PROGRAM, 8, europc_pc_state )
+ADDRESS_MAP_START(europc_pc_state::europc_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xf0000, 0xfffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(europc_io, AS_IO, 8, europc_pc_state )
+ADDRESS_MAP_START(europc_pc_state::europc_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x00ff) AM_DEVICE("mb", pc_noppi_mb_device, map)
AM_RANGE(0x0060, 0x0063) AM_READWRITE(europc_pio_r, europc_pio_w)
diff --git a/src/mame/drivers/evmbug.cpp b/src/mame/drivers/evmbug.cpp
index 5b2472f3b39..550aeddf845 100644
--- a/src/mame/drivers/evmbug.cpp
+++ b/src/mame/drivers/evmbug.cpp
@@ -36,6 +36,8 @@ public:
void kbd_put(u8 data);
void evmbug(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
virtual void machine_reset() override;
uint8_t m_term_data;
@@ -46,12 +48,12 @@ private:
required_device<generic_terminal_device> m_terminal;
};
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, evmbug_state )
+ADDRESS_MAP_START(evmbug_state::mem_map)
AM_RANGE(0x0000, 0x17ff) AM_ROM
AM_RANGE(0xec00, 0xefff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, evmbug_state )
+ADDRESS_MAP_START(evmbug_state::io_map)
ADDRESS_MAP_UNMAP_HIGH
//AM_RANGE(0x0000, 0x0003) AM_DEVREAD("uart1", tms9902_device, cruread)
//AM_RANGE(0x0000, 0x001f) AM_DEVWRITE("uart1", tms9902_device, cruwrite)
diff --git a/src/mame/drivers/excali64.cpp b/src/mame/drivers/excali64.cpp
index afe1fcdfd5a..13d7e6deb8b 100644
--- a/src/mame/drivers/excali64.cpp
+++ b/src/mame/drivers/excali64.cpp
@@ -96,6 +96,8 @@ public:
required_device<palette_device> m_palette;
void excali64(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
uint8_t *m_p_videoram;
uint8_t *m_p_hiresram;
@@ -118,7 +120,7 @@ private:
required_device<floppy_connector> m_floppy1;
};
-static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 8, excali64_state)
+ADDRESS_MAP_START(excali64_state::mem_map)
AM_RANGE(0x0000, 0x1FFF) AM_READ_BANK("bankr1") AM_WRITE_BANK("bankw1")
AM_RANGE(0x2000, 0x2FFF) AM_READ_BANK("bankr2") AM_WRITE_BANK("bankw2")
AM_RANGE(0x3000, 0x3FFF) AM_READ_BANK("bankr3") AM_WRITE_BANK("bankw3")
@@ -126,7 +128,7 @@ static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 8, excali64_state)
AM_RANGE(0xC000, 0xFFFF) AM_RAM AM_REGION("rambank", 0xC000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(io_map, AS_IO, 8, excali64_state)
+ADDRESS_MAP_START(excali64_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x0f) AM_READ(port00_r)
AM_RANGE(0x10, 0x10) AM_MIRROR(0x0e) AM_DEVREADWRITE("uart",i8251_device, data_r, data_w)
diff --git a/src/mame/drivers/exedexes.cpp b/src/mame/drivers/exedexes.cpp
index ace60d3f8d2..0794d2ae45e 100644
--- a/src/mame/drivers/exedexes.cpp
+++ b/src/mame/drivers/exedexes.cpp
@@ -34,7 +34,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(exedexes_state::exedexes_scanline)
}
-static ADDRESS_MAP_START( exedexes_map, AS_PROGRAM, 8, exedexes_state )
+ADDRESS_MAP_START(exedexes_state::exedexes_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("SYSTEM")
AM_RANGE(0xc001, 0xc001) AM_READ_PORT("P1")
@@ -56,7 +56,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, exedexes_state )
+ADDRESS_MAP_START(exedexes_state::sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x6000, 0x6000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/exelv.cpp b/src/mame/drivers/exelv.cpp
index 13a9e485861..f68d852d66b 100644
--- a/src/mame/drivers/exelv.cpp
+++ b/src/mame/drivers/exelv.cpp
@@ -117,6 +117,8 @@ public:
DECLARE_DEVICE_IMAGE_LOAD_MEMBER( exelvision_cartridge );
void exeltel(machine_config &config);
void exl100(machine_config &config);
+ void tms7020_mem(address_map &map);
+ void tms7040_mem(address_map &map);
};
@@ -407,7 +409,7 @@ READ8_MEMBER(exelv_state::rom_r)
@>f800-@>ffff: tms7020/tms7040 internal ROM
*/
-static ADDRESS_MAP_START(tms7020_mem, AS_PROGRAM, 8, exelv_state)
+ADDRESS_MAP_START(exelv_state::tms7020_mem)
AM_RANGE(0x0080, 0x00ff) AM_NOP
AM_RANGE(0x0124, 0x0124) AM_DEVREAD("tms3556", tms3556_device, vram_r)
AM_RANGE(0x0125, 0x0125) AM_DEVREAD("tms3556", tms3556_device, reg_r)
@@ -423,7 +425,7 @@ static ADDRESS_MAP_START(tms7020_mem, AS_PROGRAM, 8, exelv_state)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(tms7040_mem, AS_PROGRAM, 8, exelv_state)
+ADDRESS_MAP_START(exelv_state::tms7040_mem)
AM_RANGE(0x0080, 0x00ff) AM_NOP
AM_RANGE(0x0124, 0x0124) AM_DEVREAD("tms3556", tms3556_device, vram_r)
AM_RANGE(0x0125, 0x0125) AM_DEVREAD("tms3556", tms3556_device, reg_r)
diff --git a/src/mame/drivers/exerion.cpp b/src/mame/drivers/exerion.cpp
index 405ad4c17e4..357521ca285 100644
--- a/src/mame/drivers/exerion.cpp
+++ b/src/mame/drivers/exerion.cpp
@@ -191,7 +191,7 @@ READ8_MEMBER(exerion_state::exerion_protection_r)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, exerion_state )
+ADDRESS_MAP_START(exerion_state::main_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM AM_SHARE("main_ram")
AM_RANGE(0x6008, 0x600b) AM_READ(exerion_protection_r)
@@ -216,7 +216,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 8, exerion_state )
+ADDRESS_MAP_START(exerion_state::sub_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x6000, 0x6000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/exidy.cpp b/src/mame/drivers/exidy.cpp
index 6bd3082264e..1b2757739a8 100644
--- a/src/mame/drivers/exidy.cpp
+++ b/src/mame/drivers/exidy.cpp
@@ -200,7 +200,7 @@ WRITE8_MEMBER(exidy_state::fax_bank_select_w)
*
*************************************/
-static ADDRESS_MAP_START( exidy_map, AS_PROGRAM, 8, exidy_state )
+ADDRESS_MAP_START(exidy_state::exidy_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x0400) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x5000, 0x5000) AM_MIRROR(0x003f) AM_WRITEONLY AM_SHARE("sprite1_xpos")
@@ -217,7 +217,7 @@ static ADDRESS_MAP_START( exidy_map, AS_PROGRAM, 8, exidy_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sidetrac_map, AS_PROGRAM, 8, exidy_state )
+ADDRESS_MAP_START(exidy_state::sidetrac_map)
AM_IMPORT_FROM(exidy_map)
AM_RANGE(0x0800, 0x3fff) AM_ROM
AM_RANGE(0x4800, 0x4fff) AM_ROM AM_SHARE("characterram")
@@ -227,7 +227,7 @@ static ADDRESS_MAP_START( sidetrac_map, AS_PROGRAM, 8, exidy_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( targ_map, AS_PROGRAM, 8, exidy_state )
+ADDRESS_MAP_START(exidy_state::targ_map)
AM_IMPORT_FROM(exidy_map)
AM_RANGE(0x0800, 0x3fff) AM_ROM
AM_RANGE(0x4800, 0x4fff) AM_RAM AM_SHARE("characterram")
@@ -237,7 +237,7 @@ static ADDRESS_MAP_START( targ_map, AS_PROGRAM, 8, exidy_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spectar_map, AS_PROGRAM, 8, exidy_state )
+ADDRESS_MAP_START(exidy_state::spectar_map)
AM_IMPORT_FROM(exidy_map)
AM_RANGE(0x0800, 0x3fff) AM_ROM
AM_RANGE(0x4800, 0x4fff) AM_RAM AM_SHARE("characterram")
@@ -247,7 +247,7 @@ static ADDRESS_MAP_START( spectar_map, AS_PROGRAM, 8, exidy_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rallys_map, AS_PROGRAM, 8, exidy_state )
+ADDRESS_MAP_START(exidy_state::rallys_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0800, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x0400) AM_RAM AM_SHARE("videoram")
@@ -269,7 +269,7 @@ static ADDRESS_MAP_START( rallys_map, AS_PROGRAM, 8, exidy_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( venture_map, AS_PROGRAM, 8, exidy_state )
+ADDRESS_MAP_START(exidy_state::venture_map)
AM_IMPORT_FROM(exidy_map)
AM_RANGE(0x4800, 0x4fff) AM_RAM AM_SHARE("characterram")
AM_RANGE(0x5200, 0x520f) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
@@ -277,7 +277,7 @@ static ADDRESS_MAP_START( venture_map, AS_PROGRAM, 8, exidy_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pepper2_map, AS_PROGRAM, 8, exidy_state )
+ADDRESS_MAP_START(exidy_state::pepper2_map)
AM_IMPORT_FROM(exidy_map)
AM_RANGE(0x4800, 0x4fff) AM_NOP
AM_RANGE(0x5200, 0x520f) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
@@ -286,7 +286,7 @@ static ADDRESS_MAP_START( pepper2_map, AS_PROGRAM, 8, exidy_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fax_map, AS_PROGRAM, 8, exidy_state )
+ADDRESS_MAP_START(exidy_state::fax_map)
AM_IMPORT_FROM(exidy_map)
AM_RANGE(0x0400, 0x07ff) AM_RAM
AM_RANGE(0x1a00, 0x1a00) AM_READ_PORT("IN4")
diff --git a/src/mame/drivers/exidy440.cpp b/src/mame/drivers/exidy440.cpp
index 91867e06098..d1d8eefcc2e 100644
--- a/src/mame/drivers/exidy440.cpp
+++ b/src/mame/drivers/exidy440.cpp
@@ -462,7 +462,7 @@ void exidy440_state::machine_reset()
*
*************************************/
-static ADDRESS_MAP_START( exidy440_map, AS_PROGRAM, 8, exidy440_state )
+ADDRESS_MAP_START(exidy440_state::exidy440_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("imageram")
AM_RANGE(0x2000, 0x209f) AM_RAM_WRITE(exidy440_spriteram_w) AM_SHARE("spriteram")
AM_RANGE(0x20a0, 0x29ff) AM_RAM
diff --git a/src/mame/drivers/exp85.cpp b/src/mame/drivers/exp85.cpp
index ba672d31845..768fe15be45 100644
--- a/src/mame/drivers/exp85.cpp
+++ b/src/mame/drivers/exp85.cpp
@@ -40,7 +40,7 @@
/* Memory Maps */
-static ADDRESS_MAP_START( exp85_mem, AS_PROGRAM, 8, exp85_state )
+ADDRESS_MAP_START(exp85_state::exp85_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x07ff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xdfff) AM_ROM
@@ -48,7 +48,7 @@ static ADDRESS_MAP_START( exp85_mem, AS_PROGRAM, 8, exp85_state )
AM_RANGE(0xf800, 0xf8ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( exp85_io, AS_IO, 8, exp85_state )
+ADDRESS_MAP_START(exp85_state::exp85_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xf0, 0xf3) AM_DEVREADWRITE(I8355_TAG, i8355_device, io_r, io_w)
diff --git a/src/mame/drivers/expro02.cpp b/src/mame/drivers/expro02.cpp
index 7216eb7b169..9918c346fea 100644
--- a/src/mame/drivers/expro02.cpp
+++ b/src/mame/drivers/expro02.cpp
@@ -268,6 +268,17 @@ public:
void smissw(machine_config &config);
void galhustl(machine_config &config);
void expro02(machine_config &config);
+ void comad_map(address_map &map);
+ void expro02_map(address_map &map);
+ void expro02_video_base_map(address_map &map);
+ void expro02_video_base_map_noview2(address_map &map);
+ void fantasia_map(address_map &map);
+ void fantsia2_map(address_map &map);
+ void galhustl_map(address_map &map);
+ void oki_map(address_map &map);
+ void smissw_map(address_map &map);
+ void supmodel_map(address_map &map);
+ void zipzap_map(address_map &map);
};
@@ -650,7 +661,7 @@ WRITE8_MEMBER( expro02_state::expro02_6295_bankswitch_w )
*************************************/
-static ADDRESS_MAP_START( expro02_video_base_map, AS_PROGRAM, 16, expro02_state )
+ADDRESS_MAP_START(expro02_state::expro02_video_base_map)
AM_RANGE(0x500000, 0x51ffff) AM_RAM AM_SHARE("fg_ind8ram")
AM_RANGE(0x520000, 0x53ffff) AM_RAM AM_SHARE("bg_rgb555ram")
AM_RANGE(0x580000, 0x583fff) AM_DEVREADWRITE("view2_0", kaneko_view2_tilemap_device, kaneko_tmap_vram_r, kaneko_tmap_vram_w )
@@ -662,7 +673,7 @@ static ADDRESS_MAP_START( expro02_video_base_map, AS_PROGRAM, 16, expro02_state
AM_RANGE(0xe80000, 0xe80001) AM_DEVWRITE("view2_0",kaneko_view2_tilemap_device,galsnew_vram_0_tilebank_w) /* ??? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( expro02_video_base_map_noview2, AS_PROGRAM, 16, expro02_state )
+ADDRESS_MAP_START(expro02_state::expro02_video_base_map_noview2)
AM_RANGE(0x500000, 0x51ffff) AM_RAM AM_SHARE("fg_ind8ram")
AM_RANGE(0x520000, 0x53ffff) AM_RAM AM_SHARE("bg_rgb555ram")
AM_RANGE(0x580000, 0x583fff) AM_NOP // games still makes leftover accesses
@@ -674,7 +685,7 @@ static ADDRESS_MAP_START( expro02_video_base_map_noview2, AS_PROGRAM, 16, expro0
AM_RANGE(0xe80000, 0xe80001) AM_NOP // games still makes leftover accesses
ADDRESS_MAP_END
-static ADDRESS_MAP_START( expro02_map, AS_PROGRAM, 16, expro02_state )
+ADDRESS_MAP_START(expro02_state::expro02_map)
AM_IMPORT_FROM(expro02_video_base_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM // main program
AM_RANGE(0x080000, 0x0fffff) AM_ROM AM_REGION("user2",0) // other data
@@ -691,7 +702,7 @@ ADDRESS_MAP_END
// bigger ROM space, OKI commands moved, no CALC mcu
-static ADDRESS_MAP_START( fantasia_map, AS_PROGRAM, 16, expro02_state )
+ADDRESS_MAP_START(expro02_state::fantasia_map)
AM_IMPORT_FROM(expro02_video_base_map)
AM_RANGE(0x000000, 0x4fffff) AM_ROM
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1")
@@ -706,7 +717,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( comad_map, AS_PROGRAM, 16, expro02_state )
+ADDRESS_MAP_START(expro02_state::comad_map)
AM_IMPORT_FROM(expro02_video_base_map_noview2)
AM_RANGE(0x000000, 0x4fffff) AM_ROM
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1")
@@ -722,7 +733,7 @@ static ADDRESS_MAP_START( comad_map, AS_PROGRAM, 16, expro02_state )
AM_RANGE(0xf80000, 0xf80001) AM_READ8(comad_okim6295_r, 0xff00) AM_DEVWRITE8("oki", okim6295_device, write, 0xff00) /* newfant */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fantsia2_map, AS_PROGRAM, 16, expro02_state )
+ADDRESS_MAP_START(expro02_state::fantsia2_map)
AM_IMPORT_FROM(expro02_video_base_map_noview2)
AM_RANGE(0x000000, 0x4fffff) AM_ROM
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1")
@@ -739,7 +750,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( galhustl_map, AS_PROGRAM, 16, expro02_state )
+ADDRESS_MAP_START(expro02_state::galhustl_map)
AM_IMPORT_FROM(expro02_video_base_map_noview2)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
@@ -756,7 +767,7 @@ static ADDRESS_MAP_START( galhustl_map, AS_PROGRAM, 16, expro02_state )
AM_RANGE(0x780000, 0x78001f) AM_NOP // prevent sprites being flipped
ADDRESS_MAP_END
-static ADDRESS_MAP_START( zipzap_map, AS_PROGRAM, 16, expro02_state )
+ADDRESS_MAP_START(expro02_state::zipzap_map)
AM_IMPORT_FROM(expro02_video_base_map_noview2)
AM_RANGE(0x000000, 0x4fffff) AM_ROM
@@ -771,7 +782,7 @@ static ADDRESS_MAP_START( zipzap_map, AS_PROGRAM, 16, expro02_state )
AM_RANGE(0x780000, 0x78001f) AM_NOP // prevent sprites being flipped
ADDRESS_MAP_END
-static ADDRESS_MAP_START( supmodel_map, AS_PROGRAM, 16, expro02_state )
+ADDRESS_MAP_START(expro02_state::supmodel_map)
AM_IMPORT_FROM(expro02_video_base_map_noview2)
AM_RANGE(0x000000, 0x4fffff) AM_ROM
AM_RANGE(0x500000, 0x51ffff) AM_RAM AM_SHARE("fgvideoram")
@@ -789,7 +800,7 @@ static ADDRESS_MAP_START( supmodel_map, AS_PROGRAM, 16, expro02_state )
AM_RANGE(0xf80000, 0xf80001) AM_READ8(comad_okim6295_r, 0xff00) AM_DEVWRITE8("oki", okim6295_device, write, 0xff00) /* fantasia, missw96 */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( smissw_map, AS_PROGRAM, 16, expro02_state )
+ADDRESS_MAP_START(expro02_state::smissw_map)
AM_IMPORT_FROM(expro02_video_base_map_noview2)
AM_RANGE(0x000000, 0x4fffff) AM_ROM
AM_RANGE(0x500000, 0x51ffff) AM_RAM AM_SHARE("fgvideoram")
@@ -807,7 +818,7 @@ static ADDRESS_MAP_START( smissw_map, AS_PROGRAM, 16, expro02_state )
AM_RANGE(0xf00000, 0xf00001) AM_READ8(comad_okim6295_r, 0xff00) AM_DEVWRITE8("oki", okim6295_device, write, 0xff00) /* fantasia, missw96 */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( oki_map, 0, 8, expro02_state )
+ADDRESS_MAP_START(expro02_state::oki_map)
AM_RANGE(0x00000, 0x2ffff) AM_ROM
AM_RANGE(0x30000, 0x3ffff) AM_ROMBANK("okibank")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/exprraid.cpp b/src/mame/drivers/exprraid.cpp
index 4a237efa900..b345595dda1 100644
--- a/src/mame/drivers/exprraid.cpp
+++ b/src/mame/drivers/exprraid.cpp
@@ -274,7 +274,7 @@ READ8_MEMBER(exprraid_state::vblank_r)
}
-static ADDRESS_MAP_START( master_map, AS_PROGRAM, 8, exprraid_state )
+ADDRESS_MAP_START(exprraid_state::master_map)
AM_RANGE(0x0000, 0x05ff) AM_RAM AM_SHARE("main_ram")
AM_RANGE(0x0600, 0x07ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(exprraid_videoram_w) AM_SHARE("videoram")
@@ -296,11 +296,11 @@ static ADDRESS_MAP_START( master_map, AS_PROGRAM, 8, exprraid_state )
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( master_io_map, AS_IO, 8, exprraid_state )
+ADDRESS_MAP_START(exprraid_state::master_io_map)
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN0")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_map, AS_PROGRAM, 8, exprraid_state )
+ADDRESS_MAP_START(exprraid_state::slave_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x2001) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
AM_RANGE(0x4000, 0x4001) AM_DEVREADWRITE("ym2", ym3526_device, read, write)
diff --git a/src/mame/drivers/exterm.cpp b/src/mame/drivers/exterm.cpp
index 2e56adf4a0d..56a368bdab2 100644
--- a/src/mame/drivers/exterm.cpp
+++ b/src/mame/drivers/exterm.cpp
@@ -254,7 +254,7 @@ WRITE8_MEMBER(exterm_state::sound_control_w)
*
*************************************/
-static ADDRESS_MAP_START( master_map, AS_PROGRAM, 16, exterm_state )
+ADDRESS_MAP_START(exterm_state::master_map)
AM_RANGE(0x00000000, 0x000fffff) AM_MIRROR(0xfc700000) AM_RAM AM_SHARE("master_videoram")
AM_RANGE(0x00800000, 0x00bfffff) AM_MIRROR(0xfc400000) AM_RAM
AM_RANGE(0x01000000, 0x013fffff) AM_MIRROR(0xfc000000) AM_READWRITE(exterm_host_data_r, exterm_host_data_w)
@@ -271,7 +271,7 @@ static ADDRESS_MAP_START( master_map, AS_PROGRAM, 16, exterm_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_map, AS_PROGRAM, 16, exterm_state )
+ADDRESS_MAP_START(exterm_state::slave_map)
AM_RANGE(0x00000000, 0x000fffff) AM_MIRROR(0xfbf00000) AM_RAM AM_SHARE("slave_videoram")
AM_RANGE(0x04000000, 0x047fffff) AM_MIRROR(0xfb800000) AM_RAM
AM_RANGE(0xc0000000, 0xc00001ff) AM_DEVREADWRITE("slave", tms34010_device, io_register_r, io_register_w)
@@ -285,7 +285,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( sound_master_map, AS_PROGRAM, 8, exterm_state )
+ADDRESS_MAP_START(exterm_state::sound_master_map)
AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x1800) AM_RAM
AM_RANGE(0x4000, 0x5fff) AM_WRITE(ym2151_data_latch_w)
AM_RANGE(0x6000, 0x67ff) AM_WRITE(sound_nmi_rate_w)
@@ -297,7 +297,7 @@ static ADDRESS_MAP_START( sound_master_map, AS_PROGRAM, 8, exterm_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_slave_map, AS_PROGRAM, 8, exterm_state )
+ADDRESS_MAP_START(exterm_state::sound_slave_map)
AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x3800) AM_RAM
AM_RANGE(0x4000, 0x5fff) AM_DEVREAD("soundlatch2", generic_latch_8_device, read)
AM_RANGE(0x8000, 0xffff) AM_ROM
diff --git a/src/mame/drivers/extrema.cpp b/src/mame/drivers/extrema.cpp
index c2c0c1b2d46..2eb3472ce65 100644
--- a/src/mame/drivers/extrema.cpp
+++ b/src/mame/drivers/extrema.cpp
@@ -25,17 +25,19 @@ public:
required_device<cpu_device> m_maincpu;
void extrema(machine_config &config);
+ void extrema_map(address_map &map);
+ void extrema_portmap(address_map &map);
};
-static ADDRESS_MAP_START( extrema_map, AS_PROGRAM, 8, extrema_state )
+ADDRESS_MAP_START(extrema_state::extrema_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( extrema_portmap, AS_IO, 8, extrema_state )
+ADDRESS_MAP_START(extrema_state::extrema_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/exzisus.cpp b/src/mame/drivers/exzisus.cpp
index 09a7661c2e1..00118d1717c 100644
--- a/src/mame/drivers/exzisus.cpp
+++ b/src/mame/drivers/exzisus.cpp
@@ -100,7 +100,7 @@ DRIVER_INIT_MEMBER(exzisus_state,exzisus)
**************************************************************************/
-static ADDRESS_MAP_START( cpua_map, AS_PROGRAM, 8, exzisus_state )
+ADDRESS_MAP_START(exzisus_state::cpua_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("cpuabank")
AM_RANGE(0xc000, 0xc5ff) AM_RAM AM_SHARE("objectram1")
@@ -111,7 +111,7 @@ static ADDRESS_MAP_START( cpua_map, AS_PROGRAM, 8, exzisus_state )
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("sharedram_ab")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpub_map, AS_PROGRAM, 8, exzisus_state )
+ADDRESS_MAP_START(exzisus_state::cpub_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("cpubbank")
AM_RANGE(0xc000, 0xc5ff) AM_RAM AM_SHARE("objectram0")
@@ -130,7 +130,7 @@ static ADDRESS_MAP_START( cpub_map, AS_PROGRAM, 8, exzisus_state )
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("sharedram_ab")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpuc_map, AS_PROGRAM, 8, exzisus_state )
+ADDRESS_MAP_START(exzisus_state::cpuc_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x85ff) AM_RAM AM_SHARE("objectram1")
AM_RANGE(0x8600, 0x9fff) AM_RAM AM_SHARE("videoram1")
@@ -138,7 +138,7 @@ static ADDRESS_MAP_START( cpuc_map, AS_PROGRAM, 8, exzisus_state )
AM_RANGE(0xb000, 0xbfff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, exzisus_state )
+ADDRESS_MAP_START(exzisus_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x9001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
diff --git a/src/mame/drivers/ez2d.cpp b/src/mame/drivers/ez2d.cpp
index e806f96bed3..0cb5fc7a219 100644
--- a/src/mame/drivers/ez2d.cpp
+++ b/src/mame/drivers/ez2d.cpp
@@ -57,6 +57,7 @@ public:
virtual void video_start() override;
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void ez2d(machine_config &config);
+ void ez2d_map(address_map &map);
};
void ez2d_state::video_start()
@@ -68,7 +69,7 @@ uint32_t ez2d_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap,
return 0;
}
-static ADDRESS_MAP_START( ez2d_map, AS_PROGRAM, 32, ez2d_state )
+ADDRESS_MAP_START(ez2d_state::ez2d_map)
ADDRESS_MAP_END
static INPUT_PORTS_START( ez2d )
diff --git a/src/mame/drivers/f-32.cpp b/src/mame/drivers/f-32.cpp
index f21114fd16c..e82ab423f88 100644
--- a/src/mame/drivers/f-32.cpp
+++ b/src/mame/drivers/f-32.cpp
@@ -54,6 +54,10 @@ public:
uint32_t screen_update_mosaicf2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void mosaicf2(machine_config &config);
void royalpk2(machine_config &config);
+ void common_map(address_map &map);
+ void mosaicf2_io(address_map &map);
+ void royalpk2_io(address_map &map);
+ void royalpk2_map(address_map &map);
};
@@ -78,7 +82,7 @@ uint32_t mosaicf2_state::screen_update_mosaicf2(screen_device &screen, bitmap_in
-static ADDRESS_MAP_START( common_map, AS_PROGRAM, 32, mosaicf2_state )
+ADDRESS_MAP_START(mosaicf2_state::common_map)
AM_RANGE(0x00000000, 0x001fffff) AM_RAM
AM_RANGE(0x40000000, 0x4003ffff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x80000000, 0x80ffffff) AM_ROM AM_REGION("user2",0)
@@ -97,7 +101,7 @@ READ32_MEMBER(mosaicf2_state::f32_input_port_1_r)
}
-static ADDRESS_MAP_START( mosaicf2_io, AS_IO, 32, mosaicf2_state )
+ADDRESS_MAP_START(mosaicf2_state::mosaicf2_io)
AM_RANGE(0x4000, 0x4003) AM_DEVREAD8("oki", okim6295_device, read, 0x000000ff)
AM_RANGE(0x4810, 0x4813) AM_DEVREAD8("ymsnd", ym2151_device, status_r, 0x000000ff)
AM_RANGE(0x5000, 0x5003) AM_READ_PORT("P1")
@@ -217,14 +221,14 @@ INPUT_PORTS_END
-static ADDRESS_MAP_START( royalpk2_map, AS_PROGRAM, 32, mosaicf2_state )
+ADDRESS_MAP_START(mosaicf2_state::royalpk2_map)
AM_RANGE(0x00000000, 0x003fffff) AM_RAM
AM_RANGE(0x40000000, 0x4003ffff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x80000000, 0x807fffff) AM_ROM AM_REGION("user2",0)
AM_RANGE(0xfff00000, 0xffffffff) AM_ROM AM_REGION("user1",0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( royalpk2_io, AS_IO, 32, mosaicf2_state )
+ADDRESS_MAP_START(mosaicf2_state::royalpk2_io)
AM_RANGE(0x4900, 0x4903) AM_READ_PORT("SYSTEM_P2")
AM_RANGE(0x4a00, 0x4a03) AM_READ_PORT("EEPROMIN")
diff --git a/src/mame/drivers/f1gp.cpp b/src/mame/drivers/f1gp.cpp
index 1b131e9335e..895a28f8897 100644
--- a/src/mame/drivers/f1gp.cpp
+++ b/src/mame/drivers/f1gp.cpp
@@ -53,7 +53,7 @@ READ8_MEMBER(f1gp_state::command_pending_r)
}
-static ADDRESS_MAP_START( f1gp_cpu1_map, AS_PROGRAM, 16, f1gp_state )
+ADDRESS_MAP_START(f1gp_state::f1gp_cpu1_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x2fffff) AM_ROM AM_REGION("user1", 0)
AM_RANGE(0xa00000, 0xbfffff) AM_ROM AM_REGION("user2", 0)
@@ -82,7 +82,7 @@ static ADDRESS_MAP_START( f1gp_cpu1_map, AS_PROGRAM, 16, f1gp_state )
AM_RANGE(0xfff050, 0xfff051) AM_READ_PORT("DSW3")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( f1gp2_cpu1_map, AS_PROGRAM, 16, f1gp_state )
+ADDRESS_MAP_START(f1gp_state::f1gp2_cpu1_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x2fffff) AM_ROM AM_REGION("user1", 0)
AM_RANGE(0xa00000, 0xa07fff) AM_RAM AM_SHARE("sprcgram") // SPR-1 CG RAM + SPR-2 CG RAM
@@ -102,20 +102,20 @@ static ADDRESS_MAP_START( f1gp2_cpu1_map, AS_PROGRAM, 16, f1gp_state )
AM_RANGE(0xfff044, 0xfff047) AM_WRITE(f1gp_fgscroll_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( f1gp_cpu2_map, AS_PROGRAM, 16, f1gp_state )
+ADDRESS_MAP_START(f1gp_state::f1gp_cpu2_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0xff8000, 0xffbfff) AM_RAM
AM_RANGE(0xffc000, 0xffcfff) AM_RAM AM_SHARE("sharedram")
AM_RANGE(0xfff030, 0xfff033) AM_DEVREADWRITE8("acia", acia6850_device, read, write, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, f1gp_state )
+ADDRESS_MAP_START(f1gp_state::sound_map)
AM_RANGE(0x0000, 0x77ff) AM_ROM
AM_RANGE(0x7800, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, f1gp_state )
+ADDRESS_MAP_START(f1gp_state::sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(f1gp_sh_bankswitch_w) // f1gp
AM_RANGE(0x0c, 0x0c) AM_WRITE(f1gp_sh_bankswitch_w) // f1gp2
@@ -148,7 +148,7 @@ WRITE16_MEMBER(f1gp_state::f1gpb_misc_w)
*/
}
-static ADDRESS_MAP_START( f1gpb_cpu1_map, AS_PROGRAM, 16, f1gp_state )
+ADDRESS_MAP_START(f1gp_state::f1gpb_cpu1_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x2fffff) AM_ROM AM_REGION("user1", 0)
AM_RANGE(0xa00000, 0xbfffff) AM_ROM AM_REGION("user2", 0)
@@ -180,7 +180,7 @@ static ADDRESS_MAP_START( f1gpb_cpu1_map, AS_PROGRAM, 16, f1gp_state )
AM_RANGE(0xfff800, 0xfff809) AM_RAM AM_SHARE("rozregs")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( f1gpb_cpu2_map, AS_PROGRAM, 16, f1gp_state )
+ADDRESS_MAP_START(f1gp_state::f1gpb_cpu2_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0xff8000, 0xffbfff) AM_RAM
AM_RANGE(0xffc000, 0xffcfff) AM_RAM AM_SHARE("sharedram")
diff --git a/src/mame/drivers/famibox.cpp b/src/mame/drivers/famibox.cpp
index ca81eda27c8..22db44c74b7 100644
--- a/src/mame/drivers/famibox.cpp
+++ b/src/mame/drivers/famibox.cpp
@@ -120,6 +120,7 @@ public:
void famicombox_reset();
void ppu_irq(int *ppu_regs);
void famibox(machine_config &config);
+ void famibox_map(address_map &map);
};
/******************************************************
@@ -375,7 +376,7 @@ WRITE8_MEMBER(famibox_state::famibox_system_w)
*******************************************************/
-static ADDRESS_MAP_START( famibox_map, AS_PROGRAM, 8, famibox_state )
+ADDRESS_MAP_START(famibox_state::famibox_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x3fff) AM_DEVREADWRITE("ppu", ppu2c0x_device, read, write)
AM_RANGE(0x4014, 0x4014) AM_WRITE(sprite_dma_w)
diff --git a/src/mame/drivers/fantland.cpp b/src/mame/drivers/fantland.cpp
index 54d2fa3d5c2..11ff1d1abd6 100644
--- a/src/mame/drivers/fantland.cpp
+++ b/src/mame/drivers/fantland.cpp
@@ -124,7 +124,7 @@ WRITE16_MEMBER(fantland_state::spriteram2_16_w)
spriteram_2[2 * offset + 1] = data >> 8;
}
-static ADDRESS_MAP_START( fantland_map, AS_PROGRAM, 16, fantland_state )
+ADDRESS_MAP_START(fantland_state::fantland_map)
AM_RANGE( 0x00000, 0x07fff ) AM_RAM
AM_RANGE( 0x08000, 0x7ffff ) AM_ROM
@@ -144,7 +144,7 @@ ADDRESS_MAP_END
Galaxy Gunners
***************************************************************************/
-static ADDRESS_MAP_START( galaxygn_map, AS_PROGRAM, 8, fantland_state )
+ADDRESS_MAP_START(fantland_state::galaxygn_map)
AM_RANGE( 0x00000, 0x07fff ) AM_RAM
AM_RANGE( 0x10000, 0x2ffff ) AM_ROM
@@ -236,7 +236,7 @@ READ8_MEMBER(fantland_state::borntofi_inputs_r)
return m_input_ret[offset];
}
-static ADDRESS_MAP_START( borntofi_map, AS_PROGRAM, 8, fantland_state )
+ADDRESS_MAP_START(fantland_state::borntofi_map)
AM_RANGE( 0x00000, 0x07fff ) AM_RAM
AM_RANGE( 0x10000, 0x2ffff ) AM_ROM
@@ -263,7 +263,7 @@ ADDRESS_MAP_END
Wheels Runner
***************************************************************************/
-static ADDRESS_MAP_START( wheelrun_map, AS_PROGRAM, 8, fantland_state )
+ADDRESS_MAP_START(fantland_state::wheelrun_map)
AM_RANGE(0x00000, 0x07fff) AM_RAM
AM_RANGE(0x30000, 0x3ffff) AM_ROM
@@ -290,19 +290,19 @@ ADDRESS_MAP_END
***************************************************************************/
-static ADDRESS_MAP_START( fantland_sound_map, AS_PROGRAM, 8, fantland_state )
+ADDRESS_MAP_START(fantland_state::fantland_sound_map)
AM_RANGE( 0x00000, 0x01fff ) AM_RAM
AM_RANGE( 0x80000, 0x9ffff ) AM_ROM
AM_RANGE( 0xc0000, 0xfffff ) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fantland_sound_iomap, AS_IO, 8, fantland_state )
+ADDRESS_MAP_START(fantland_state::fantland_sound_iomap)
AM_RANGE( 0x0080, 0x0080 ) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE( 0x0100, 0x0101 ) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE( 0x0180, 0x0180 ) AM_DEVWRITE("dac", dac_byte_interface, write )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( galaxygn_sound_iomap, AS_IO, 8, fantland_state )
+ADDRESS_MAP_START(fantland_state::galaxygn_sound_iomap)
AM_RANGE( 0x0080, 0x0080 ) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE( 0x0100, 0x0101 ) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
ADDRESS_MAP_END
@@ -400,7 +400,7 @@ WRITE_LINE_MEMBER(fantland_state::borntofi_adpcm_int_2) { borntofi_adpcm_int(m_m
WRITE_LINE_MEMBER(fantland_state::borntofi_adpcm_int_3) { borntofi_adpcm_int(m_msm4, 3); }
-static ADDRESS_MAP_START( borntofi_sound_map, AS_PROGRAM, 8, fantland_state )
+ADDRESS_MAP_START(fantland_state::borntofi_sound_map)
AM_RANGE( 0x00000, 0x003ff ) AM_RAM
AM_RANGE( 0x04000, 0x04000 ) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE( 0x04000, 0x0401f ) AM_WRITE(borntofi_msm5205_w)
@@ -413,7 +413,7 @@ ADDRESS_MAP_END
Wheels Runner
***************************************************************************/
-static ADDRESS_MAP_START( wheelrun_sound_map, AS_PROGRAM, 8, fantland_state )
+ADDRESS_MAP_START(fantland_state::wheelrun_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ymsnd", ym3526_device, read, write)
diff --git a/src/mame/drivers/fanucs15.cpp b/src/mame/drivers/fanucs15.cpp
index 43339a4a0b1..61cba533231 100644
--- a/src/mame/drivers/fanucs15.cpp
+++ b/src/mame/drivers/fanucs15.cpp
@@ -325,27 +325,31 @@ public:
required_device<i80286_cpu_device> m_convcpu;
void fanucs15(machine_config &config);
+ void convcpu_mem(address_map &map);
+ void gfxcpu_mem(address_map &map);
+ void maincpu_mem(address_map &map);
+ void pmccpu_mem(address_map &map);
private:
virtual void machine_reset() override;
};
-static ADDRESS_MAP_START(maincpu_mem, AS_PROGRAM, 32, fanucs15_state)
+ADDRESS_MAP_START(fanucs15_state::maincpu_mem)
AM_RANGE(0x00000000, 0x0017ffff) AM_ROM AM_REGION("base1b", 0)
AM_RANGE(0x000f8000, 0x000fffff) AM_RAM // filled with 0x96 on boot
AM_RANGE(0xffff0000, 0xffffffff) AM_RAM // initial stack
ADDRESS_MAP_END
-static ADDRESS_MAP_START(pmccpu_mem, AS_PROGRAM, 16, fanucs15_state)
+ADDRESS_MAP_START(fanucs15_state::pmccpu_mem)
AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_REGION("base1a", 0)
AM_RANGE(0xfde000, 0xffffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(gfxcpu_mem, AS_PROGRAM, 16, fanucs15_state)
+ADDRESS_MAP_START(fanucs15_state::gfxcpu_mem)
AM_RANGE(0x000000, 0x01ffff) AM_ROM AM_REGION("gfxboard", 0)
AM_RANGE(0xfe0000, 0xfeffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(convcpu_mem, AS_PROGRAM, 16, fanucs15_state)
+ADDRESS_MAP_START(fanucs15_state::convcpu_mem)
AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_REGION("conversational", 0x40000)
AM_RANGE(0x040000, 0x07ffff) AM_ROM AM_REGION("conversational", 0)
AM_RANGE(0x800000, 0x87ffff) AM_RAM
diff --git a/src/mame/drivers/fanucspmg.cpp b/src/mame/drivers/fanucspmg.cpp
index 0c566e04889..a59565aec9b 100644
--- a/src/mame/drivers/fanucspmg.cpp
+++ b/src/mame/drivers/fanucspmg.cpp
@@ -638,6 +638,9 @@ public:
void fanucspmgm(machine_config &config);
void fanucspmg(machine_config &config);
+ void maincpu_io(address_map &map);
+ void maincpu_mem(address_map &map);
+ void subcpu_mem(address_map &map);
private:
virtual void machine_reset() override;
int32_t m_vram_bank;
@@ -713,7 +716,7 @@ READ16_MEMBER(fanucspmg_state::magic_r)
return 0x0041; // 31 = memory error
}
-static ADDRESS_MAP_START(maincpu_mem, AS_PROGRAM, 16, fanucspmg_state)
+ADDRESS_MAP_START(fanucspmg_state::maincpu_mem)
AM_RANGE(0x00000, 0x7ffff) AM_RAM // main RAM
AM_RANGE(0x80000, 0x81fff) AM_RAM // believed to be shared RAM with a CPU inside the Program File
@@ -740,7 +743,7 @@ static ADDRESS_MAP_START(maincpu_mem, AS_PROGRAM, 16, fanucspmg_state)
AM_RANGE(0xfc000, 0xfffff) AM_ROM AM_REGION(MAINCPU_TAG, 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(maincpu_io, AS_IO, 16, fanucspmg_state)
+ADDRESS_MAP_START(fanucspmg_state::maincpu_io)
ADDRESS_MAP_END
WRITE_LINE_MEMBER(fanucspmg_state::vsync_w)
@@ -814,7 +817,7 @@ WRITE8_MEMBER(fanucspmg_state::video_ctrl_w)
m_video_ctrl = data;
}
-static ADDRESS_MAP_START(subcpu_mem, AS_PROGRAM, 8, fanucspmg_state)
+ADDRESS_MAP_START(fanucspmg_state::subcpu_mem)
AM_RANGE(0x0000, 0x3fff) AM_ROM AM_REGION(SUBCPU_TAG, 0)
AM_RANGE(0x4000, 0x45ff) AM_READWRITE(vram1_r, vram1_w)
diff --git a/src/mame/drivers/fastfred.cpp b/src/mame/drivers/fastfred.cpp
index c51e89f3f3f..8963763a77a 100644
--- a/src/mame/drivers/fastfred.cpp
+++ b/src/mame/drivers/fastfred.cpp
@@ -187,7 +187,7 @@ WRITE8_MEMBER(fastfred_state::sound_nmi_mask_w)
m_sound_nmi_mask = data & 1;
}
-static ADDRESS_MAP_START( fastfred_map, AS_PROGRAM, 8, fastfred_state )
+ADDRESS_MAP_START(fastfred_state::fastfred_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xd000, 0xd3ff) AM_MIRROR(0x400) AM_RAM_WRITE(fastfred_videoram_w) AM_SHARE("videoram")
@@ -202,7 +202,7 @@ static ADDRESS_MAP_START( fastfred_map, AS_PROGRAM, 8, fastfred_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jumpcoas_map, AS_PROGRAM, 8, fastfred_state )
+ADDRESS_MAP_START(fastfred_state::jumpcoas_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xd000, 0xd03f) AM_RAM_WRITE(fastfred_attributes_w) AM_SHARE("attributesram")
@@ -220,7 +220,7 @@ static ADDRESS_MAP_START( jumpcoas_map, AS_PROGRAM, 8, fastfred_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( imago_map, AS_PROGRAM, 8, fastfred_state )
+ADDRESS_MAP_START(fastfred_state::imago_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1000, 0x1fff) AM_READ(imago_sprites_offset_r)
AM_RANGE(0x2000, 0x6fff) AM_ROM
@@ -241,7 +241,7 @@ static ADDRESS_MAP_START( imago_map, AS_PROGRAM, 8, fastfred_state )
AM_RANGE(0xf800, 0xf800) AM_READNOP AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, fastfred_state )
+ADDRESS_MAP_START(fastfred_state::sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
AM_RANGE(0x3000, 0x3000) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_WRITE(sound_nmi_mask_w)
diff --git a/src/mame/drivers/fastinvaders.cpp b/src/mame/drivers/fastinvaders.cpp
index 62f31dbf630..54108d8e50f 100644
--- a/src/mame/drivers/fastinvaders.cpp
+++ b/src/mame/drivers/fastinvaders.cpp
@@ -116,6 +116,10 @@ public:
void fastinvaders(machine_config &config);
void fastinvaders_8275(machine_config &config);
void fastinvaders_6845(machine_config &config);
+ void fastinvaders_6845_io(address_map &map);
+ void fastinvaders_8275_io(address_map &map);
+ void fastinvaders_io_base(address_map &map);
+ void fastinvaders_map(address_map &map);
};
@@ -504,17 +508,17 @@ logerror("dma write\n");
***************************************************************************/
-static ADDRESS_MAP_START( fastinvaders_map, AS_PROGRAM, 8, fastinvaders_state )
+ADDRESS_MAP_START(fastinvaders_state::fastinvaders_map)
//AM_RANGE(0x0000, 0x1fff) AM_ROM AM_MIRROR(0x8000)
AM_RANGE(0x0000, 0x27ff) AM_ROM AM_MIRROR(0x8000)
AM_RANGE(0x2800, 0x2fff) AM_RAM AM_MIRROR(0x8000) AM_SHARE("videoram")
AM_RANGE(0x3000, 0x33ff) AM_RAM AM_MIRROR(0x8000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fastinvaders_io_base, AS_IO, 8, fastinvaders_state )
+ADDRESS_MAP_START(fastinvaders_state::fastinvaders_io_base)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fastinvaders_6845_io, AS_IO, 8, fastinvaders_state )
+ADDRESS_MAP_START(fastinvaders_state::fastinvaders_6845_io)
AM_IMPORT_FROM(fastinvaders_io_base)
AM_RANGE(0x10, 0x1f) AM_DEVREADWRITE("dma8257", i8257_device, read, write)
@@ -536,7 +540,7 @@ static ADDRESS_MAP_START( fastinvaders_6845_io, AS_IO, 8, fastinvaders_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fastinvaders_8275_io, AS_IO, 8, fastinvaders_state )
+ADDRESS_MAP_START(fastinvaders_state::fastinvaders_8275_io)
AM_IMPORT_FROM(fastinvaders_io_base)
AM_RANGE( 0x20, 0x21 ) AM_DEVREADWRITE("8275", i8275_device, read, write)
diff --git a/src/mame/drivers/fastlane.cpp b/src/mame/drivers/fastlane.cpp
index 9c919d18c7a..9c056d5f7ff 100644
--- a/src/mame/drivers/fastlane.cpp
+++ b/src/mame/drivers/fastlane.cpp
@@ -77,7 +77,7 @@ WRITE8_MEMBER(fastlane_state::fastlane_k2_k007232_w)
{
m_k007232_2->write(space, offset ^ 1, data);
}
-static ADDRESS_MAP_START( fastlane_map, AS_PROGRAM, 8, fastlane_state )
+ADDRESS_MAP_START(fastlane_state::fastlane_map)
AM_RANGE(0x0000, 0x005f) AM_RAM_WRITE(k007121_registers_w) AM_SHARE("k007121_regs") /* 007121 registers */
AM_RANGE(0x0800, 0x0800) AM_READ_PORT("DSW3")
AM_RANGE(0x0801, 0x0801) AM_READ_PORT("P2")
diff --git a/src/mame/drivers/fb01.cpp b/src/mame/drivers/fb01.cpp
index 924e4835a61..6c136ec07b8 100644
--- a/src/mame/drivers/fb01.cpp
+++ b/src/mame/drivers/fb01.cpp
@@ -50,6 +50,8 @@ public:
HD44780_PIXEL_UPDATE(fb01_pixel_update);
void fb01(machine_config &config);
+ void fb01_io(address_map &map);
+ void fb01_mem(address_map &map);
private:
required_device<z80_device> m_maincpu;
required_device<i8251_device> m_upd71051;
@@ -62,13 +64,13 @@ private:
};
-static ADDRESS_MAP_START(fb01_mem, AS_PROGRAM, 8, fb01_state)
+ADDRESS_MAP_START(fb01_state::fb01_mem)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_RAM AM_SHARE("nvram") // 2 * 8KB S-RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(fb01_io, AS_IO, 8, fb01_state)
+ADDRESS_MAP_START(fb01_state::fb01_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
// 00-01 YM2164
diff --git a/src/mame/drivers/fc100.cpp b/src/mame/drivers/fc100.cpp
index 59a876d0f25..0e339440c19 100644
--- a/src/mame/drivers/fc100.cpp
+++ b/src/mame/drivers/fc100.cpp
@@ -85,6 +85,8 @@ public:
return m_p_chargen[(ch * 16 + line) & 0xfff];
}
void fc100(machine_config &config);
+ void fc100_io(address_map &map);
+ void fc100_mem(address_map &map);
private:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -116,7 +118,7 @@ private:
};
-static ADDRESS_MAP_START( fc100_mem, AS_PROGRAM, 8, fc100_state )
+ADDRESS_MAP_START(fc100_state::fc100_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x5fff ) AM_ROM AM_REGION("roms", 0)
//AM_RANGE(0x6000, 0x6fff) // mapped by the cartslot
@@ -125,7 +127,7 @@ static ADDRESS_MAP_START( fc100_mem, AS_PROGRAM, 8, fc100_state )
AM_RANGE( 0xc000, 0xffff ) AM_RAM AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fc100_io, AS_IO, 8, fc100_state )
+ADDRESS_MAP_START(fc100_state::fc100_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x0F) AM_READ(port00_r)
diff --git a/src/mame/drivers/fccpu30.cpp b/src/mame/drivers/fccpu30.cpp
index 293bce4a66d..52509f1b4f7 100644
--- a/src/mame/drivers/fccpu30.cpp
+++ b/src/mame/drivers/fccpu30.cpp
@@ -302,6 +302,7 @@ cpu30_state(const machine_config &mconfig, device_type type, const char *tag)
void cpu33(machine_config &config);
void cpu30lite8(machine_config &config);
void cpu30be16(machine_config &config);
+ void cpu30_mem(address_map &map);
protected:
private:
@@ -327,7 +328,7 @@ private:
uint8_t m_board_id;
};
-static ADDRESS_MAP_START (cpu30_mem, AS_PROGRAM, 32, cpu30_state)
+ADDRESS_MAP_START(cpu30_state::cpu30_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE (0x00000000, 0x00000007) AM_RAM AM_WRITE (bootvect_w) /* After first write we act as RAM */
AM_RANGE (0x00000000, 0x00000007) AM_ROM AM_READ (bootvect_r) /* ROM mirror just during reset */
diff --git a/src/mame/drivers/fcombat.cpp b/src/mame/drivers/fcombat.cpp
index acc4faa24fd..36bdda26c0e 100644
--- a/src/mame/drivers/fcombat.cpp
+++ b/src/mame/drivers/fcombat.cpp
@@ -113,7 +113,7 @@ WRITE8_MEMBER(fcombat_state::ee00_w)
{
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, fcombat_state )
+ADDRESS_MAP_START(fcombat_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_SHARE("videoram")
@@ -134,7 +134,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, fcombat_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, fcombat_state )
+ADDRESS_MAP_START(fcombat_state::audio_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x6000, 0x6000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/fcrash.cpp b/src/mame/drivers/fcrash.cpp
index 8f65ba115c5..4c1527f4093 100644
--- a/src/mame/drivers/fcrash.cpp
+++ b/src/mame/drivers/fcrash.cpp
@@ -665,7 +665,7 @@ uint32_t cps_state::screen_update_fcrash(screen_device &screen, bitmap_ind16 &bi
}
-static ADDRESS_MAP_START( knightsb_map, AS_PROGRAM, 16, cps_state )
+ADDRESS_MAP_START(cps_state::knightsb_map)
AM_RANGE(0x000000, 0x3fffff) AM_ROM
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("IN1") /* Player input ports */
AM_RANGE(0x800002, 0x800003) AM_READ_PORT("IN2") /* Player 3 controls */
@@ -683,7 +683,7 @@ static ADDRESS_MAP_START( knightsb_map, AS_PROGRAM, 16, cps_state )
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dinopic_map, AS_PROGRAM, 16, cps_state )
+ADDRESS_MAP_START(cps_state::dinopic_map)
AM_RANGE(0x000000, 0x3fffff) AM_ROM
AM_RANGE(0x800000, 0x800007) AM_READ_PORT("IN1") /* Player input ports */
AM_RANGE(0x800006, 0x800007) AM_WRITE(cps1_soundlatch_w) /* Sound command */
@@ -702,7 +702,7 @@ static ADDRESS_MAP_START( dinopic_map, AS_PROGRAM, 16, cps_state )
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fcrash_map, AS_PROGRAM, 16, cps_state )
+ADDRESS_MAP_START(cps_state::fcrash_map)
AM_RANGE(0x000000, 0x3fffff) AM_ROM
AM_RANGE(0x800030, 0x800031) AM_WRITE(cps1_coinctrl_w)
AM_RANGE(0x800100, 0x80013f) AM_RAM AM_SHARE("cps_a_regs") /* CPS-A custom */
@@ -715,7 +715,7 @@ static ADDRESS_MAP_START( fcrash_map, AS_PROGRAM, 16, cps_state )
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( punipic_map, AS_PROGRAM, 16, cps_state )
+ADDRESS_MAP_START(cps_state::punipic_map)
AM_RANGE(0x000000, 0x3fffff) AM_ROM
AM_RANGE(0x800000, 0x800007) AM_READ_PORT("IN1") /* Player input ports */
AM_RANGE(0x800006, 0x800007) AM_WRITE(cps1_soundlatch_w) /* Sound command */
@@ -733,7 +733,7 @@ static ADDRESS_MAP_START( punipic_map, AS_PROGRAM, 16, cps_state )
AM_RANGE(0xff0000, 0xffffff) AM_RAM AM_SHARE("mainram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sf2m1_map, AS_PROGRAM, 16, cps_state )
+ADDRESS_MAP_START(cps_state::sf2m1_map)
AM_RANGE(0x000000, 0x3fffff) AM_ROM
AM_RANGE(0x800000, 0x800007) AM_READ_PORT("IN1") /* Player input ports */
AM_RANGE(0x800006, 0x800007) AM_WRITE(cps1_soundlatch_w) /* Sound command */
@@ -750,7 +750,7 @@ static ADDRESS_MAP_START( sf2m1_map, AS_PROGRAM, 16, cps_state )
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sf2mdt_map, AS_PROGRAM, 16, cps_state )
+ADDRESS_MAP_START(cps_state::sf2mdt_map)
AM_RANGE(0x000000, 0x3fffff) AM_ROM
AM_RANGE(0x708100, 0x7081ff) AM_WRITE(sf2mdta_layer_w)
AM_RANGE(0x70c000, 0x70c001) AM_READ_PORT("IN1")
@@ -765,7 +765,7 @@ static ADDRESS_MAP_START( sf2mdt_map, AS_PROGRAM, 16, cps_state )
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sf2b_map, AS_PROGRAM, 16, cps_state )
+ADDRESS_MAP_START(cps_state::sf2b_map)
AM_RANGE(0x000000, 0x3fffff) AM_ROM
AM_RANGE(0x708100, 0x7081ff) AM_WRITE(sf2mdta_layer_w)
AM_RANGE(0x70c000, 0x70c001) AM_READ_PORT("IN1")
@@ -780,7 +780,7 @@ static ADDRESS_MAP_START( sf2b_map, AS_PROGRAM, 16, cps_state )
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sgyxz_map, AS_PROGRAM, 16, cps_state )
+ADDRESS_MAP_START(cps_state::sgyxz_map)
AM_RANGE(0x000000, 0x3fffff) AM_ROM
AM_RANGE(0x800030, 0x800031) AM_WRITE(cps1_coinctrl_w)
AM_RANGE(0x800100, 0x80013f) AM_RAM AM_SHARE("cps_a_regs") /* CPS-A custom */
@@ -796,7 +796,7 @@ static ADDRESS_MAP_START( sgyxz_map, AS_PROGRAM, 16, cps_state )
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( wofabl_map, AS_PROGRAM, 16, cps_state )
+ADDRESS_MAP_START(cps_state::wofabl_map)
AM_RANGE(0x000000, 0x3fffff) AM_ROM
AM_RANGE(0x800030, 0x800031) AM_WRITE(cps1_coinctrl_w)
AM_RANGE(0x800100, 0x80013f) AM_RAM AM_SHARE("cps_a_regs") /* CPS-A custom */
@@ -812,7 +812,7 @@ static ADDRESS_MAP_START( wofabl_map, AS_PROGRAM, 16, cps_state )
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slampic_map, AS_PROGRAM, 16, cps_state )
+ADDRESS_MAP_START(cps_state::slampic_map)
AM_RANGE(0x000000, 0x3fffff) AM_ROM
AM_RANGE(0x800006, 0x800007) AM_WRITENOP //AM_WRITE(cps1_soundlatch2_w)
AM_RANGE(0x800000, 0x800007) AM_READ_PORT("IN1") /* Player input ports */
@@ -832,7 +832,7 @@ static ADDRESS_MAP_START( slampic_map, AS_PROGRAM, 16, cps_state )
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, cps_state )
+ADDRESS_MAP_START(cps_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xd000, 0xd7ff) AM_RAM
@@ -844,7 +844,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, cps_state )
AM_RANGE(0xec00, 0xec00) AM_WRITE(fcrash_msm5205_1_data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kodb_sound_map, AS_PROGRAM, 8, cps_state )
+ADDRESS_MAP_START(cps_state::kodb_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xd000, 0xd7ff) AM_RAM
@@ -853,7 +853,7 @@ static ADDRESS_MAP_START( kodb_sound_map, AS_PROGRAM, 8, cps_state )
AM_RANGE(0xe800, 0xe800) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sf2mdt_z80map, AS_PROGRAM, 8, cps_state )
+ADDRESS_MAP_START(cps_state::sf2mdt_z80map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xd000, 0xd7ff) AM_RAM
@@ -864,7 +864,7 @@ static ADDRESS_MAP_START( sf2mdt_z80map, AS_PROGRAM, 8, cps_state )
AM_RANGE(0xe800, 0xe800) AM_WRITE(fcrash_msm5205_1_data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( knightsb_z80map, AS_PROGRAM, 8, cps_state )
+ADDRESS_MAP_START(cps_state::knightsb_z80map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xcffe, 0xcfff) AM_WRITENOP // writes lots of data
@@ -876,7 +876,7 @@ static ADDRESS_MAP_START( knightsb_z80map, AS_PROGRAM, 8, cps_state )
AM_RANGE(0xe800, 0xe800) AM_WRITE(fcrash_msm5205_1_data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sgyxz_sound_map, AS_PROGRAM, 8, cps_state )
+ADDRESS_MAP_START(cps_state::sgyxz_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xd000, 0xd7ff) AM_RAM
@@ -3071,7 +3071,7 @@ WRITE16_MEMBER(cps_state::varthb_layer_w)
m_cps_a_regs[0x06 / 2] = data;
}
-static ADDRESS_MAP_START( varthb_map, AS_PROGRAM, 16, cps_state )
+ADDRESS_MAP_START(cps_state::varthb_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("IN1")
AM_RANGE(0x800006, 0x800007) AM_WRITE(cps1_soundlatch_w)
diff --git a/src/mame/drivers/feversoc.cpp b/src/mame/drivers/feversoc.cpp
index a22116af0c4..f8e1a7837fb 100644
--- a/src/mame/drivers/feversoc.cpp
+++ b/src/mame/drivers/feversoc.cpp
@@ -115,6 +115,7 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
void feversoc(machine_config &config);
+ void feversoc_map(address_map &map);
};
@@ -192,7 +193,7 @@ WRITE16_MEMBER( feversoc_state::output2_w )
}
-static ADDRESS_MAP_START( feversoc_map, AS_PROGRAM, 32, feversoc_state )
+ADDRESS_MAP_START(feversoc_state::feversoc_map)
AM_RANGE(0x00000000, 0x0003ffff) AM_ROM
AM_RANGE(0x02000000, 0x0202ffff) AM_RAM AM_SHARE("workram1") //work ram
AM_RANGE(0x02030000, 0x0203ffff) AM_RAM AM_SHARE("nvram")
diff --git a/src/mame/drivers/fgoal.cpp b/src/mame/drivers/fgoal.cpp
index 307a9400c51..51e3a1770b2 100644
--- a/src/mame/drivers/fgoal.cpp
+++ b/src/mame/drivers/fgoal.cpp
@@ -207,7 +207,7 @@ WRITE8_MEMBER(fgoal_state::sound2_w)
}
-static ADDRESS_MAP_START( cpu_map, AS_PROGRAM, 8, fgoal_state )
+ADDRESS_MAP_START(fgoal_state::cpu_map)
AM_RANGE(0x0000, 0x00ef) AM_RAM
diff --git a/src/mame/drivers/fidel6502.cpp b/src/mame/drivers/fidel6502.cpp
index 8c962da2d94..567ae36b990 100644
--- a/src/mame/drivers/fidel6502.cpp
+++ b/src/mame/drivers/fidel6502.cpp
@@ -570,6 +570,22 @@ public:
DECLARE_DRIVER_INIT(chesster);
void chesster(machine_config &config);
void kishon(machine_config &config);
+ void chesster_map(address_map &map);
+ void csc_map(address_map &map);
+ void eag_map(address_map &map);
+ void eas_map(address_map &map);
+ void fdesdis_map(address_map &map);
+ void fexcel_map(address_map &map);
+ void fexcelb_map(address_map &map);
+ void fexcelp_map(address_map &map);
+ void fphantom_map(address_map &map);
+ void kishon_map(address_map &map);
+ void rsc_map(address_map &map);
+ void sc12_map(address_map &map);
+ void sc12_trampoline(address_map &map);
+ void sc9_map(address_map &map);
+ void sc9d_map(address_map &map);
+ void su9_map(address_map &map);
};
@@ -1137,7 +1153,7 @@ DRIVER_INIT_MEMBER(fidel6502_state, chesster)
// CSC, SU9, RSC
-static ADDRESS_MAP_START( csc_map, AS_PROGRAM, 8, fidel6502_state )
+ADDRESS_MAP_START(fidel6502_state::csc_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x4000) AM_RAM
AM_RANGE(0x0800, 0x0bff) AM_MIRROR(0x4400) AM_RAM
@@ -1147,7 +1163,7 @@ static ADDRESS_MAP_START( csc_map, AS_PROGRAM, 8, fidel6502_state )
AM_RANGE(0xa000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( su9_map, AS_PROGRAM, 8, fidel6502_state )
+ADDRESS_MAP_START(fidel6502_state::su9_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x1003) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
@@ -1157,7 +1173,7 @@ static ADDRESS_MAP_START( su9_map, AS_PROGRAM, 8, fidel6502_state )
AM_RANGE(0xc000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rsc_map, AS_PROGRAM, 8, fidel6502_state )
+ADDRESS_MAP_START(fidel6502_state::rsc_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x2000, 0x2003) AM_DEVREADWRITE("pia", pia6821_device, read, write)
@@ -1167,7 +1183,7 @@ ADDRESS_MAP_END
// EAS, EAG
-static ADDRESS_MAP_START( eas_map, AS_PROGRAM, 8, fidel6502_state )
+ADDRESS_MAP_START(fidel6502_state::eas_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x2000, 0x5fff) AM_READ(cartridge_r)
@@ -1179,7 +1195,7 @@ static ADDRESS_MAP_START( eas_map, AS_PROGRAM, 8, fidel6502_state )
AM_RANGE(0xc000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( eag_map, AS_PROGRAM, 8, fidel6502_state )
+ADDRESS_MAP_START(fidel6502_state::eag_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x2000, 0x5fff) AM_READ(cartridge_r)
@@ -1193,7 +1209,7 @@ ADDRESS_MAP_END
// SC9
-static ADDRESS_MAP_START( sc9_map, AS_PROGRAM, 8, fidel6502_state )
+ADDRESS_MAP_START(fidel6502_state::sc9_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x1800) AM_RAM
AM_RANGE(0x2000, 0x5fff) AM_READ(cartridge_r)
@@ -1203,7 +1219,7 @@ static ADDRESS_MAP_START( sc9_map, AS_PROGRAM, 8, fidel6502_state )
AM_RANGE(0xc000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sc9d_map, AS_PROGRAM, 8, fidel6502_state )
+ADDRESS_MAP_START(fidel6502_state::sc9d_map)
AM_IMPORT_FROM( sc9_map )
AM_RANGE(0xa000, 0xa007) AM_MIRROR(0x1ff8) AM_READ(sc9d_input_r)
ADDRESS_MAP_END
@@ -1211,11 +1227,11 @@ ADDRESS_MAP_END
// SC12
-static ADDRESS_MAP_START( sc12_trampoline, AS_PROGRAM, 8, fidel6502_state )
+ADDRESS_MAP_START(fidel6502_state::sc12_trampoline)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(sc12_trampoline_r, sc12_trampoline_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sc12_map, AS_PROGRAM, 8, fidel6502_state )
+ADDRESS_MAP_START(fidel6502_state::sc12_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x2000, 0x5fff) AM_READ(cartridge_r)
@@ -1229,20 +1245,20 @@ ADDRESS_MAP_END
// Excellence
-static ADDRESS_MAP_START( fexcel_map, AS_PROGRAM, 8, fidel6502_state )
+ADDRESS_MAP_START(fidel6502_state::fexcel_map)
AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x3800) AM_RAM
AM_RANGE(0x4000, 0x4007) AM_MIRROR(0x3ff8) AM_READWRITE(fexcel_ttl_r, fexcel_ttl_w)
//AM_RANGE(0x8000, 0x8000) AM_READNOP // checks for opening book module, but hw doesn't have a module slot
AM_RANGE(0xc000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fexcelp_map, AS_PROGRAM, 8, fidel6502_state )
+ADDRESS_MAP_START(fidel6502_state::fexcelp_map)
AM_RANGE(0x0000, 0x1fff) AM_MIRROR(0x2000) AM_RAM
AM_RANGE(0x4000, 0x4007) AM_MIRROR(0x3ff8) AM_READWRITE(fexcel_ttl_r, fexcel_ttl_w)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fexcelb_map, AS_PROGRAM, 8, fidel6502_state )
+ADDRESS_MAP_START(fidel6502_state::fexcelb_map)
AM_RANGE(0x0000, 0x1fff) AM_MIRROR(0x2000) AM_RAM
AM_RANGE(0x4000, 0x4007) AM_MIRROR(0x3ff8) AM_READWRITE(fexcelb_ttl_r, fexcel_ttl_w)
AM_RANGE(0x8000, 0xffff) AM_ROM
@@ -1251,7 +1267,7 @@ ADDRESS_MAP_END
// Designer Display, Phantom, Chesster
-static ADDRESS_MAP_START( fdesdis_map, AS_PROGRAM, 8, fidel6502_state )
+ADDRESS_MAP_START(fidel6502_state::fdesdis_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x2007) AM_MIRROR(0x1ff8) AM_READWRITE(fdesdis_input_r, fdesdis_control_w)
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
@@ -1259,13 +1275,13 @@ static ADDRESS_MAP_START( fdesdis_map, AS_PROGRAM, 8, fidel6502_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fphantom_map, AS_PROGRAM, 8, fidel6502_state )
+ADDRESS_MAP_START(fidel6502_state::fphantom_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( chesster_map, AS_PROGRAM, 8, fidel6502_state )
+ADDRESS_MAP_START(fidel6502_state::chesster_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x2007) AM_MIRROR(0x1ff8) AM_READWRITE(fdesdis_input_r, chesster_control_w)
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
@@ -1273,7 +1289,7 @@ static ADDRESS_MAP_START( chesster_map, AS_PROGRAM, 8, fidel6502_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kishon_map, AS_PROGRAM, 8, fidel6502_state )
+ADDRESS_MAP_START(fidel6502_state::kishon_map)
AM_IMPORT_FROM( chesster_map )
AM_RANGE(0x2000, 0x2007) AM_MIRROR(0x1ff8) AM_READWRITE(fdesdis_input_r, kishon_control_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/fidel68k.cpp b/src/mame/drivers/fidel68k.cpp
index 08a0e99a5f7..b10419cebe7 100644
--- a/src/mame/drivers/fidel68k.cpp
+++ b/src/mame/drivers/fidel68k.cpp
@@ -232,6 +232,14 @@ public:
void eagv9(machine_config &config);
void eagv10(machine_config &config);
void eagv11(machine_config &config);
+ void eag_map(address_map &map);
+ void eagv11_map(address_map &map);
+ void eagv7_map(address_map &map);
+ void fdes2265_map(address_map &map);
+ void fdes2325_map(address_map &map);
+ void fex68k_map(address_map &map);
+ void fex68km2_map(address_map &map);
+ void fex68km3_map(address_map &map);
};
@@ -384,7 +392,7 @@ WRITE8_MEMBER(fidel68k_state::eag_mux_w)
// Excel 68000
-static ADDRESS_MAP_START( fex68k_map, AS_PROGRAM, 16, fidel68k_state )
+ADDRESS_MAP_START(fidel68k_state::fex68k_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x000000, 0x00000f) AM_MIRROR(0x00fff0) AM_WRITE8(eag_leds_w, 0x00ff)
AM_RANGE(0x000000, 0x00000f) AM_MIRROR(0x00fff0) AM_WRITE8(eag_7seg_w, 0xff00)
@@ -393,12 +401,12 @@ static ADDRESS_MAP_START( fex68k_map, AS_PROGRAM, 16, fidel68k_state )
AM_RANGE(0x140000, 0x14000f) AM_MIRROR(0x03fff0) AM_WRITE8(fex68k_mux_w, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fex68km2_map, AS_PROGRAM, 16, fidel68k_state )
+ADDRESS_MAP_START(fidel68k_state::fex68km2_map)
AM_IMPORT_FROM( fex68k_map )
AM_RANGE(0x200000, 0x21ffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fex68km3_map, AS_PROGRAM, 16, fidel68k_state )
+ADDRESS_MAP_START(fidel68k_state::fex68km3_map)
AM_IMPORT_FROM( fex68k_map )
AM_RANGE(0x200000, 0x20ffff) AM_RAM
ADDRESS_MAP_END
@@ -406,7 +414,7 @@ ADDRESS_MAP_END
// Designer Master
-static ADDRESS_MAP_START( fdes2265_map, AS_PROGRAM, 16, fidel68k_state )
+ADDRESS_MAP_START(fidel68k_state::fdes2265_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x000000, 0x00000f) AM_WRITE8(fdes68k_lcd_w, 0x00ff)
@@ -416,7 +424,7 @@ static ADDRESS_MAP_START( fdes2265_map, AS_PROGRAM, 16, fidel68k_state )
AM_RANGE(0x140000, 0x14000f) AM_WRITE8(fdes68k_control_w, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fdes2325_map, AS_PROGRAM, 32, fidel68k_state )
+ADDRESS_MAP_START(fidel68k_state::fdes2325_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x100000, 0x10000f) AM_WRITE8(fdes68k_lcd_w, 0x00ff00ff)
@@ -435,7 +443,7 @@ DRIVER_INIT_MEMBER(fidel68k_state, eag)
m_maincpu->space(AS_PROGRAM).install_ram(0x200000, 0x200000 + m_ram->size() - 1, m_ram->pointer());
}
-static ADDRESS_MAP_START( eag_map, AS_PROGRAM, 16, fidel68k_state )
+ADDRESS_MAP_START(fidel68k_state::eag_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x104000, 0x107fff) AM_RAM
AM_RANGE(0x300000, 0x30000f) AM_MIRROR(0x000010) AM_WRITE8(eag_7seg_w, 0xff00) AM_READNOP
@@ -447,7 +455,7 @@ static ADDRESS_MAP_START( eag_map, AS_PROGRAM, 16, fidel68k_state )
AM_RANGE(0x700002, 0x700003) AM_READ8(eag_input2_r, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( eagv7_map, AS_PROGRAM, 32, fidel68k_state )
+ADDRESS_MAP_START(fidel68k_state::eagv7_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x104000, 0x107fff) AM_RAM
AM_RANGE(0x200000, 0x2fffff) AM_RAM
@@ -461,7 +469,7 @@ static ADDRESS_MAP_START( eagv7_map, AS_PROGRAM, 32, fidel68k_state )
AM_RANGE(0x800000, 0x807fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( eagv11_map, AS_PROGRAM, 32, fidel68k_state )
+ADDRESS_MAP_START(fidel68k_state::eagv11_map)
AM_RANGE(0x00000000, 0x0001ffff) AM_ROM
AM_RANGE(0x00200000, 0x003fffff) AM_RAM
AM_RANGE(0x00b00000, 0x00b0000f) AM_MIRROR(0x00000010) AM_WRITE8(eag_7seg_w, 0xff00ff00) AM_READNOP
diff --git a/src/mame/drivers/fidelmcs48.cpp b/src/mame/drivers/fidelmcs48.cpp
index 226d547cc90..4ae62b0a02f 100644
--- a/src/mame/drivers/fidelmcs48.cpp
+++ b/src/mame/drivers/fidelmcs48.cpp
@@ -49,6 +49,7 @@ public:
DECLARE_READ_LINE_MEMBER(sc6_input6_r);
DECLARE_READ_LINE_MEMBER(sc6_input7_r);
void sc6(machine_config &config);
+ void sc6_map(address_map &map);
};
@@ -115,7 +116,7 @@ READ_LINE_MEMBER(fidelmcs48_state::sc6_input7_r)
// SC6
-static ADDRESS_MAP_START( sc6_map, AS_PROGRAM, 8, fidelmcs48_state )
+ADDRESS_MAP_START(fidelmcs48_state::sc6_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/fidelz80.cpp b/src/mame/drivers/fidelz80.cpp
index cb3f7ab6288..b7b18877ae6 100644
--- a/src/mame/drivers/fidelz80.cpp
+++ b/src/mame/drivers/fidelz80.cpp
@@ -588,6 +588,18 @@ public:
DECLARE_WRITE8_MEMBER(dsc_select_w);
DECLARE_READ8_MEMBER(dsc_input_r);
void dsc(machine_config &config);
+ void bcc_io(address_map &map);
+ void bcc_map(address_map &map);
+ void cc10_map(address_map &map);
+ void dsc_map(address_map &map);
+ void scc_io(address_map &map);
+ void scc_map(address_map &map);
+ void vbrc_main_io(address_map &map);
+ void vbrc_main_map(address_map &map);
+ void vcc_io(address_map &map);
+ void vcc_map(address_map &map);
+ void vsc_io(address_map &map);
+ void vsc_map(address_map &map);
};
@@ -1114,7 +1126,7 @@ READ8_MEMBER(fidelz80_state::dsc_input_r)
// CC10 and VCC/UVC
-static ADDRESS_MAP_START( cc10_map, AS_PROGRAM, 8, fidelz80_state )
+ADDRESS_MAP_START(fidelz80_state::cc10_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x0fff) AM_ROM
@@ -1122,13 +1134,13 @@ static ADDRESS_MAP_START( cc10_map, AS_PROGRAM, 8, fidelz80_state )
AM_RANGE(0x3000, 0x30ff) AM_MIRROR(0x0f00) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vcc_map, AS_PROGRAM, 8, fidelz80_state )
+ADDRESS_MAP_START(fidelz80_state::vcc_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x1c00) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vcc_io, AS_IO, 8, fidelz80_state )
+ADDRESS_MAP_START(fidelz80_state::vcc_io)
ADDRESS_MAP_GLOBAL_MASK(0x03)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ppi8255", i8255_device, read, write)
ADDRESS_MAP_END
@@ -1136,14 +1148,14 @@ ADDRESS_MAP_END
// BCC
-static ADDRESS_MAP_START( bcc_map, AS_PROGRAM, 8, fidelz80_state )
+ADDRESS_MAP_START(fidelz80_state::bcc_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x3000, 0x30ff) AM_MIRROR(0x0f00) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bcc_io, AS_IO, 8, fidelz80_state )
+ADDRESS_MAP_START(fidelz80_state::bcc_io)
ADDRESS_MAP_GLOBAL_MASK(0x07)
AM_RANGE(0x00, 0x07) AM_READWRITE(bcc_input_r, bcc_control_w)
ADDRESS_MAP_END
@@ -1151,12 +1163,12 @@ ADDRESS_MAP_END
// SCC
-static ADDRESS_MAP_START( scc_map, AS_PROGRAM, 8, fidelz80_state )
+ADDRESS_MAP_START(fidelz80_state::scc_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x5000, 0x50ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( scc_io, AS_IO, 8, fidelz80_state )
+ADDRESS_MAP_START(fidelz80_state::scc_io)
ADDRESS_MAP_GLOBAL_MASK(0x07)
AM_RANGE(0x00, 0x07) AM_READWRITE(scc_input_r, scc_control_w)
ADDRESS_MAP_END
@@ -1164,7 +1176,7 @@ ADDRESS_MAP_END
// VSC
-static ADDRESS_MAP_START( vsc_map, AS_PROGRAM, 8, fidelz80_state )
+ADDRESS_MAP_START(fidelz80_state::vsc_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x4fff) AM_MIRROR(0x1000) AM_ROM
@@ -1191,7 +1203,7 @@ WRITE8_MEMBER(fidelz80_state::vsc_io_trampoline_w)
m_z80pio->write(space, offset & 3, data);
}
-static ADDRESS_MAP_START( vsc_io, AS_IO, 8, fidelz80_state )
+ADDRESS_MAP_START(fidelz80_state::vsc_io)
ADDRESS_MAP_GLOBAL_MASK(0x0f)
AM_RANGE(0x00, 0x0f) AM_READWRITE(vsc_io_trampoline_r, vsc_io_trampoline_w)
ADDRESS_MAP_END
@@ -1199,14 +1211,14 @@ ADDRESS_MAP_END
// VBRC
-static ADDRESS_MAP_START( vbrc_main_map, AS_PROGRAM, 8, fidelz80_state )
+ADDRESS_MAP_START(fidelz80_state::vbrc_main_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x63ff) AM_MIRROR(0x1c00) AM_RAM
AM_RANGE(0xe000, 0xe000) AM_MIRROR(0x1fff) AM_WRITE(vbrc_speech_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vbrc_main_io, AS_IO, 8, fidelz80_state )
+ADDRESS_MAP_START(fidelz80_state::vbrc_main_io)
ADDRESS_MAP_GLOBAL_MASK(0x01)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("mcu", i8041_device, upi41_master_r, upi41_master_w)
ADDRESS_MAP_END
@@ -1214,7 +1226,7 @@ ADDRESS_MAP_END
// DSC
-static ADDRESS_MAP_START( dsc_map, AS_PROGRAM, 8, fidelz80_state )
+ADDRESS_MAP_START(fidelz80_state::dsc_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x4000) AM_MIRROR(0x1fff) AM_WRITE(dsc_control_w)
diff --git a/src/mame/drivers/finalizr.cpp b/src/mame/drivers/finalizr.cpp
index 4d435da0e38..4ccbbf3aeb8 100644
--- a/src/mame/drivers/finalizr.cpp
+++ b/src/mame/drivers/finalizr.cpp
@@ -104,7 +104,7 @@ WRITE8_MEMBER(finalizr_state::i8039_T0_w)
*/
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, finalizr_state )
+ADDRESS_MAP_START(finalizr_state::main_map)
AM_RANGE(0x0001, 0x0001) AM_WRITEONLY AM_SHARE("scroll")
AM_RANGE(0x0003, 0x0003) AM_WRITE(finalizr_videoctrl_w)
AM_RANGE(0x0004, 0x0004) AM_WRITE(finalizr_flipscreen_w)
@@ -132,11 +132,11 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, finalizr_state )
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, finalizr_state )
+ADDRESS_MAP_START(finalizr_state::sound_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, finalizr_state )
+ADDRESS_MAP_START(finalizr_state::sound_io_map)
AM_RANGE(0x00, 0xff) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/fireball.cpp b/src/mame/drivers/fireball.cpp
index 471fb3ef825..a455e7419ed 100644
--- a/src/mame/drivers/fireball.cpp
+++ b/src/mame/drivers/fireball.cpp
@@ -77,6 +77,8 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(int_0);
void fireball(machine_config &config);
+ void fireball_io_map(address_map &map);
+ void fireball_map(address_map &map);
protected:
// devices
@@ -291,11 +293,11 @@ WRITE8_MEMBER(fireball_state::p3_w)
* Memory Map Information *
*************************/
-static ADDRESS_MAP_START( fireball_map, AS_PROGRAM, 8, fireball_state )
+ADDRESS_MAP_START(fireball_state::fireball_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fireball_io_map, AS_IO, 8, fireball_state )
+ADDRESS_MAP_START(fireball_state::fireball_io_map)
AM_RANGE(0x00, 0x01)AM_READWRITE(io_00_r,io_00_w)
AM_RANGE(0x02, 0x03)AM_READWRITE(io_02_r,io_02_w)
diff --git a/src/mame/drivers/firebeat.cpp b/src/mame/drivers/firebeat.cpp
index b59b8fe66f0..748ad07070e 100644
--- a/src/mame/drivers/firebeat.cpp
+++ b/src/mame/drivers/firebeat.cpp
@@ -285,6 +285,8 @@ public:
void firebeat2(machine_config &config);
void firebeat(machine_config &config);
void firebeat_spu(machine_config &config);
+ void firebeat_map(address_map &map);
+ void spu_map(address_map &map);
};
@@ -1052,7 +1054,7 @@ MACHINE_START_MEMBER(firebeat_state,firebeat)
m_maincpu->ppcdrc_add_fastram(0x00000000, 0x01ffffff, false, m_work_ram);
}
-static ADDRESS_MAP_START( firebeat_map, AS_PROGRAM, 32, firebeat_state )
+ADDRESS_MAP_START(firebeat_state::firebeat_map)
AM_RANGE(0x00000000, 0x01ffffff) AM_RAM AM_SHARE("work_ram")
AM_RANGE(0x70000000, 0x70000fff) AM_READWRITE8(midi_uart_r, midi_uart_w, 0xff000000)
AM_RANGE(0x70006000, 0x70006003) AM_WRITE(extend_board_irq_w)
@@ -1075,7 +1077,7 @@ static ADDRESS_MAP_START( firebeat_map, AS_PROGRAM, 32, firebeat_state )
AM_RANGE(0x7ff80000, 0x7fffffff) AM_ROM AM_REGION("user1", 0) /* System BIOS */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spu_map, AS_PROGRAM, 16, firebeat_state )
+ADDRESS_MAP_START(firebeat_state::spu_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x13ffff) AM_RAM
AM_RANGE(0x200000, 0x200001) AM_READ(spu_unk_r)
diff --git a/src/mame/drivers/firefox.cpp b/src/mame/drivers/firefox.cpp
index 80b7dd022d6..aca384baf0d 100644
--- a/src/mame/drivers/firefox.cpp
+++ b/src/mame/drivers/firefox.cpp
@@ -128,6 +128,8 @@ public:
required_device<generic_latch_8_device> m_soundlatch;
required_device<generic_latch_8_device> m_soundlatch2;
void firefox(machine_config &config);
+ void audio_map(address_map &map);
+ void main_map(address_map &map);
};
@@ -545,7 +547,7 @@ void firefox_state::machine_start()
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, firefox_state )
+ADDRESS_MAP_START(firefox_state::main_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(tileram_w) AM_SHARE("tileram")
AM_RANGE(0x2000, 0x27ff) AM_RAM AM_SHARE("spriteram")
@@ -584,7 +586,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, firefox_state )
+ADDRESS_MAP_START(firefox_state::audio_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x0800, 0x087f) AM_MIRROR(0x0700) AM_RAM /* RIOT ram */
AM_RANGE(0x0880, 0x089f) AM_MIRROR(0x0760) AM_DEVREADWRITE("riot", riot6532_device, read, write)
diff --git a/src/mame/drivers/firetrap.cpp b/src/mame/drivers/firetrap.cpp
index c57a183b6c4..cec342c6ec2 100644
--- a/src/mame/drivers/firetrap.cpp
+++ b/src/mame/drivers/firetrap.cpp
@@ -347,7 +347,7 @@ WRITE8_MEMBER(firetrap_state::flip_screen_w)
flip_screen_set(data);
}
-static ADDRESS_MAP_START( firetrap_base_map, AS_PROGRAM, 8, firetrap_state )
+ADDRESS_MAP_START(firetrap_state::firetrap_base_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xcfff) AM_RAM
@@ -372,18 +372,18 @@ static ADDRESS_MAP_START( firetrap_base_map, AS_PROGRAM, 8, firetrap_state )
AM_RANGE(0xf014, 0xf014) AM_READ_PORT("DSW1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( firetrap_map, AS_PROGRAM, 8, firetrap_state )
+ADDRESS_MAP_START(firetrap_state::firetrap_map)
AM_IMPORT_FROM( firetrap_base_map )
AM_RANGE(0xf016, 0xf016) AM_READ(firetrap_8751_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( firetrap_bootleg_map, AS_PROGRAM, 8, firetrap_state )
+ADDRESS_MAP_START(firetrap_state::firetrap_bootleg_map)
AM_IMPORT_FROM( firetrap_base_map )
AM_RANGE(0xf016, 0xf016) AM_READ(firetrap_8751_bootleg_r)
AM_RANGE(0xf800, 0xf8ff) AM_ROM /* extra ROM in the bootleg with unprotection code */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, firetrap_state )
+ADDRESS_MAP_START(firetrap_state::sound_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x1000, 0x1001) AM_DEVWRITE("ymsnd", ym3526_device, write)
AM_RANGE(0x2000, 0x2000) AM_WRITE(adpcm_data_w)
diff --git a/src/mame/drivers/firetrk.cpp b/src/mame/drivers/firetrk.cpp
index 06e8f9efd83..a7b7bb5d3f9 100644
--- a/src/mame/drivers/firetrk.cpp
+++ b/src/mame/drivers/firetrk.cpp
@@ -295,7 +295,7 @@ WRITE8_MEMBER(firetrk_state::crash_reset_w)
}
-static ADDRESS_MAP_START( firetrk_map, AS_PROGRAM, 8, firetrk_state )
+ADDRESS_MAP_START(firetrk_state::firetrk_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x00ff) AM_MIRROR(0x0700) AM_RAM AM_SHARE("alpha_num_ram")
AM_RANGE(0x0800, 0x08ff) AM_MIRROR(0x0700) AM_RAM AM_SHARE("playfield_ram")
@@ -321,7 +321,7 @@ static ADDRESS_MAP_START( firetrk_map, AS_PROGRAM, 8, firetrk_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( superbug_map, AS_PROGRAM, 8, firetrk_state )
+ADDRESS_MAP_START(firetrk_state::superbug_map)
ADDRESS_MAP_GLOBAL_MASK(0x1fff)
AM_RANGE(0x0000, 0x00ff) AM_RAM
AM_RANGE(0x0100, 0x0100) AM_MIRROR(0x001f) AM_WRITEONLY AM_SHARE("scroll_y")
@@ -345,7 +345,7 @@ static ADDRESS_MAP_START( superbug_map, AS_PROGRAM, 8, firetrk_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( montecar_map, AS_PROGRAM, 8, firetrk_state )
+ADDRESS_MAP_START(firetrk_state::montecar_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x00ff) AM_MIRROR(0x0700) AM_RAM AM_SHARE("alpha_num_ram")
AM_RANGE(0x0800, 0x08ff) AM_MIRROR(0x0700) AM_RAM AM_SHARE("playfield_ram")
diff --git a/src/mame/drivers/fitfight.cpp b/src/mame/drivers/fitfight.cpp
index 0166c005e76..0d629572446 100644
--- a/src/mame/drivers/fitfight.cpp
+++ b/src/mame/drivers/fitfight.cpp
@@ -130,7 +130,7 @@ WRITE16_MEMBER(fitfight_state::fitfight_700000_w)
m_fof_700000_data = data;
}
-static ADDRESS_MAP_START( fitfight_main_map, AS_PROGRAM, 16, fitfight_state )
+ADDRESS_MAP_START(fitfight_state::fitfight_main_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_WRITEONLY AM_SHARE("fof_100000")
@@ -183,7 +183,7 @@ static ADDRESS_MAP_START( fitfight_main_map, AS_PROGRAM, 16, fitfight_state )
AM_RANGE(0xff0000, 0xffffff) AM_RAM // hot mind uses RAM here (mirror?)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bbprot_main_map, AS_PROGRAM, 16, fitfight_state )
+ADDRESS_MAP_START(fitfight_state::bbprot_main_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_WRITEONLY AM_SHARE("fof_100000")
@@ -217,7 +217,7 @@ ADDRESS_MAP_END
/* 7810 (?) sound cpu */
-static ADDRESS_MAP_START( snd_mem, AS_PROGRAM, 8, fitfight_state )
+ADDRESS_MAP_START(fitfight_state::snd_mem)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1") /* ??? External ROM */
AM_RANGE(0x8000, 0x87ff) AM_RAM
diff --git a/src/mame/drivers/fk1.cpp b/src/mame/drivers/fk1.cpp
index 8c6e9562e68..6ac18c1141c 100644
--- a/src/mame/drivers/fk1.cpp
+++ b/src/mame/drivers/fk1.cpp
@@ -63,6 +63,8 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(vsync_callback);
IRQ_CALLBACK_MEMBER(fk1_irq_callback);
void fk1(machine_config &config);
+ void fk1_io(address_map &map);
+ void fk1_mem(address_map &map);
};
@@ -307,14 +309,14 @@ WRITE8_MEMBER( fk1_state::fk1_reset_int_w )
logerror("fk1_reset_int_w\n");
}
-static ADDRESS_MAP_START(fk1_mem, AS_PROGRAM, 8, fk1_state)
+ADDRESS_MAP_START(fk1_state::fk1_mem)
AM_RANGE(0x0000, 0x3fff) AM_RAMBANK("bank1")
AM_RANGE(0x4000, 0x7fff) AM_RAMBANK("bank2")
AM_RANGE(0x8000, 0xbfff) AM_RAMBANK("bank3")
AM_RANGE(0xc000, 0xffff) AM_RAMBANK("bank4")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(fk1_io, AS_IO, 8, fk1_state)
+ADDRESS_MAP_START(fk1_state::fk1_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x00, 0x03 ) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write)
diff --git a/src/mame/drivers/flicker.cpp b/src/mame/drivers/flicker.cpp
index a8abf901516..991ce34105c 100644
--- a/src/mame/drivers/flicker.cpp
+++ b/src/mame/drivers/flicker.cpp
@@ -70,6 +70,11 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(test_changed);
void flicker(machine_config &config);
+ void flicker_memory(address_map &map);
+ void flicker_ram_ports(address_map &map);
+ void flicker_rom(address_map &map);
+ void flicker_rom_ports(address_map &map);
+ void flicker_status(address_map &map);
protected:
virtual void driver_start() override;
@@ -85,25 +90,25 @@ private:
};
-static ADDRESS_MAP_START( flicker_rom, i4004_cpu_device::AS_ROM, 8, flicker_state )
+ADDRESS_MAP_START(flicker_state::flicker_rom)
AM_RANGE(0x0000, 0x03ff) AM_ROM AM_REGION("maincpu", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( flicker_memory, i4004_cpu_device::AS_RAM_MEMORY, 8, flicker_state )
+ADDRESS_MAP_START(flicker_state::flicker_memory)
AM_RANGE(0x0000, 0x003f) AM_RAM AM_SHARE("memory")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( flicker_status, i4004_cpu_device::AS_RAM_STATUS, 8, flicker_state )
+ADDRESS_MAP_START(flicker_state::flicker_status)
AM_RANGE(0x0000, 0x000f) AM_RAM AM_SHARE("status")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( flicker_rom_ports, i4004_cpu_device::AS_ROM_PORTS, 8, flicker_state )
+ADDRESS_MAP_START(flicker_state::flicker_rom_ports)
AM_RANGE(0x0000, 0x000f) AM_MIRROR(0x0700) AM_WRITE(rom0_out)
AM_RANGE(0x0010, 0x001f) AM_MIRROR(0x0700) AM_WRITE(rom1_out)
AM_RANGE(0x0020, 0x002f) AM_MIRROR(0x0700) AM_READ(rom2_in)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( flicker_ram_ports, i4004_cpu_device::AS_RAM_PORTS, 8, flicker_state )
+ADDRESS_MAP_START(flicker_state::flicker_ram_ports)
AM_RANGE(0x00, 0x00) AM_WRITE(ram0_out)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/flipjack.cpp b/src/mame/drivers/flipjack.cpp
index 8e38e912ef5..3198f267fd6 100644
--- a/src/mame/drivers/flipjack.cpp
+++ b/src/mame/drivers/flipjack.cpp
@@ -134,6 +134,10 @@ public:
DECLARE_PALETTE_INIT(flipjack);
uint32_t screen_update_flipjack(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void flipjack(machine_config &config);
+ void flipjack_main_io_map(address_map &map);
+ void flipjack_main_map(address_map &map);
+ void flipjack_sound_io_map(address_map &map);
+ void flipjack_sound_map(address_map &map);
};
@@ -301,7 +305,7 @@ INPUT_CHANGED_MEMBER(flipjack_state::flipjack_coin)
}
-static ADDRESS_MAP_START( flipjack_main_map, AS_PROGRAM, 8, flipjack_state )
+ADDRESS_MAP_START(flipjack_state::flipjack_main_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x3fff) AM_ROMBANK("bank1")
AM_RANGE(0x4000, 0x5fff) AM_RAM
@@ -318,12 +322,12 @@ static ADDRESS_MAP_START( flipjack_main_map, AS_PROGRAM, 8, flipjack_state )
AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("fb_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( flipjack_main_io_map, AS_IO, 8, flipjack_state )
+ADDRESS_MAP_START(flipjack_state::flipjack_main_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xff, 0xff) AM_WRITE(flipjack_bank_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( flipjack_sound_map, AS_PROGRAM, 8, flipjack_state )
+ADDRESS_MAP_START(flipjack_state::flipjack_sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x27ff) AM_RAM
AM_RANGE(0x4000, 0x4000) AM_DEVREADWRITE("ay2", ay8910_device, data_r, data_w)
@@ -332,7 +336,7 @@ static ADDRESS_MAP_START( flipjack_sound_map, AS_PROGRAM, 8, flipjack_state )
AM_RANGE(0xa000, 0xa000) AM_DEVWRITE("ay1", ay8910_device, address_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( flipjack_sound_io_map, AS_IO, 8, flipjack_state )
+ADDRESS_MAP_START(flipjack_state::flipjack_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(flipjack_sound_nmi_ack_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/flkatck.cpp b/src/mame/drivers/flkatck.cpp
index aaee647cc1d..c13fbf7cce7 100644
--- a/src/mame/drivers/flkatck.cpp
+++ b/src/mame/drivers/flkatck.cpp
@@ -92,7 +92,7 @@ WRITE8_MEMBER(flkatck_state::multiply_w)
}
-static ADDRESS_MAP_START( flkatck_map, AS_PROGRAM, 8, flkatck_state )
+ADDRESS_MAP_START(flkatck_state::flkatck_map)
AM_RANGE(0x0000, 0x0007) AM_RAM_WRITE(flkatck_k007121_regs_w) /* 007121 registers */
AM_RANGE(0x0008, 0x03ff) AM_RAM /* RAM */
AM_RANGE(0x0400, 0x041f) AM_READWRITE(flkatck_ls138_r, flkatck_ls138_w) /* inputs, DIPS, bankswitch, counters, sound command */
@@ -103,7 +103,7 @@ static ADDRESS_MAP_START( flkatck_map, AS_PROGRAM, 8, flkatck_state )
AM_RANGE(0x6000, 0xffff) AM_ROM /* ROM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( flkatck_sound_map, AS_PROGRAM, 8, flkatck_state )
+ADDRESS_MAP_START(flkatck_state::flkatck_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM /* ROM */
AM_RANGE(0x8000, 0x87ff) AM_RAM /* RAM */
AM_RANGE(0x9000, 0x9000) AM_READ(multiply_r) // 007452: Protection (see wecleman, but unused here?)
diff --git a/src/mame/drivers/flower.cpp b/src/mame/drivers/flower.cpp
index 7f8d679c5f1..fc1a66688c1 100644
--- a/src/mame/drivers/flower.cpp
+++ b/src/mame/drivers/flower.cpp
@@ -121,6 +121,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void flower(machine_config &config);
+ void audio_map(address_map &map);
+ void shared_map(address_map &map);
protected:
// driver_device overrides
virtual void machine_start() override;
@@ -333,7 +335,7 @@ WRITE8_MEMBER(flower_state::fgvram_w)
m_fg_tilemap->mark_tile_dirty(offset & 0xff);
}
-static ADDRESS_MAP_START( shared_map, AS_PROGRAM, 8, flower_state )
+ADDRESS_MAP_START(flower_state::shared_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_RAM AM_SHARE("workram")
AM_RANGE(0xa000, 0xa000) AM_WRITENOP
@@ -354,7 +356,7 @@ static ADDRESS_MAP_START( shared_map, AS_PROGRAM, 8, flower_state )
AM_RANGE(0xfa00, 0xfa00) AM_RAM AM_SHARE("bgscroll")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, flower_state )
+ADDRESS_MAP_START(flower_state::audio_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x4000) AM_WRITENOP // audio irq related (0 at start, 1 at end)
AM_RANGE(0x4001, 0x4001) AM_WRITE(audio_nmi_mask_w)
diff --git a/src/mame/drivers/flstory.cpp b/src/mame/drivers/flstory.cpp
index 32eeadf939c..1b0ef8c3004 100644
--- a/src/mame/drivers/flstory.cpp
+++ b/src/mame/drivers/flstory.cpp
@@ -32,7 +32,7 @@ WRITE8_MEMBER(flstory_state::snd_reset_w)
m_audiocpu->set_input_line(INPUT_LINE_RESET, (data & 1 ) ? ASSERT_LINE : CLEAR_LINE);
}
-static ADDRESS_MAP_START( base_map, AS_PROGRAM, 8, flstory_state )
+ADDRESS_MAP_START(flstory_state::base_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
// rumba lumber reads area 0xc800-0xcfff
@@ -63,7 +63,7 @@ static ADDRESS_MAP_START( base_map, AS_PROGRAM, 8, flstory_state )
AM_RANGE(0xe000, 0xe7ff) AM_MIRROR(0x1800) AM_RAM AM_SHARE("workram") /* work RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( flstory_map, AS_PROGRAM, 8, flstory_state )
+ADDRESS_MAP_START(flstory_state::flstory_map)
AM_IMPORT_FROM(base_map)
AM_RANGE(0xd000, 0xd000) AM_DEVREADWRITE("bmcu", taito68705_mcu_device, data_r, data_w)
@@ -73,7 +73,7 @@ static ADDRESS_MAP_START( flstory_map, AS_PROGRAM, 8, flstory_state )
AM_RANGE(0xdf03, 0xdf03) AM_WRITE(flstory_gfxctrl_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( onna34ro_map, AS_PROGRAM, 8, flstory_state )
+ADDRESS_MAP_START(flstory_state::onna34ro_map)
AM_IMPORT_FROM(base_map)
// AM_RANGE(0xd000, 0xd000) AM_DEVREADWRITE("bmcu", taito68705_mcu_device, data_r, data_w)
// AM_RANGE(0xd805, 0xd805) AM_READ(flstory_mcu_status_r)
@@ -82,7 +82,7 @@ static ADDRESS_MAP_START( onna34ro_map, AS_PROGRAM, 8, flstory_state )
AM_RANGE(0xdf03, 0xdf03) AM_WRITE(flstory_gfxctrl_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( onna34ro_mcu_map, AS_PROGRAM, 8, flstory_state )
+ADDRESS_MAP_START(flstory_state::onna34ro_mcu_map)
AM_IMPORT_FROM(onna34ro_map)
AM_RANGE(0xd000, 0xd000) AM_DEVREADWRITE("bmcu", taito68705_mcu_device, data_r, data_w)
AM_RANGE(0xd805, 0xd805) AM_READ(flstory_mcu_status_r)
@@ -95,7 +95,7 @@ CUSTOM_INPUT_MEMBER(flstory_state::victnine_mcu_status_bit01_r)
return (victnine_mcu_status_r(space, 0) & 3);
}
-static ADDRESS_MAP_START( victnine_map, AS_PROGRAM, 8, flstory_state )
+ADDRESS_MAP_START(flstory_state::victnine_map)
AM_IMPORT_FROM(base_map)
AM_RANGE(0xd000, 0xd000) AM_READWRITE(victnine_mcu_r, victnine_mcu_w)
@@ -106,7 +106,7 @@ static ADDRESS_MAP_START( victnine_map, AS_PROGRAM, 8, flstory_state )
AM_RANGE(0xdce1, 0xdce1) AM_WRITENOP /* unknown */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rumba_map, AS_PROGRAM, 8, flstory_state )
+ADDRESS_MAP_START(flstory_state::rumba_map)
AM_IMPORT_FROM(base_map)
AM_RANGE(0xd000, 0xd000) AM_DEVREADWRITE("bmcu", taito68705_mcu_device, data_r, data_w)
@@ -162,7 +162,7 @@ WRITE8_MEMBER(flstory_state::sound_control_3_w)
}
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, flstory_state )
+ADDRESS_MAP_START(flstory_state::sound_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc801) AM_DEVWRITE("aysnd", ym2149_device, address_data_w)
diff --git a/src/mame/drivers/flyball.cpp b/src/mame/drivers/flyball.cpp
index a13bf997335..0a27faa84fc 100644
--- a/src/mame/drivers/flyball.cpp
+++ b/src/mame/drivers/flyball.cpp
@@ -98,6 +98,7 @@ public:
TIMER_CALLBACK_MEMBER(quarter_callback);
void flyball(machine_config &config);
+ void flyball_map(address_map &map);
protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
};
@@ -294,7 +295,7 @@ WRITE_LINE_MEMBER(flyball_state::lamp_w)
*
*************************************/
-static ADDRESS_MAP_START( flyball_map, AS_PROGRAM, 8, flyball_state )
+ADDRESS_MAP_START(flyball_state::flyball_map)
ADDRESS_MAP_GLOBAL_MASK(0x1fff)
AM_RANGE(0x0000, 0x00ff) AM_MIRROR(0x100) AM_RAM
AM_RANGE(0x0800, 0x0800) AM_NOP
diff --git a/src/mame/drivers/fm7.cpp b/src/mame/drivers/fm7.cpp
index 9749dafd6b1..308e8e313c3 100644
--- a/src/mame/drivers/fm7.cpp
+++ b/src/mame/drivers/fm7.cpp
@@ -1430,7 +1430,7 @@ WRITE_LINE_MEMBER(fm7_state::fm77av_fmirq)
FFF0 - FFFF: Interrupt vector table
*/
// The FM-7 has only 64kB RAM, so we'll worry about banking when we do the later models
-static ADDRESS_MAP_START( fm7_mem, AS_PROGRAM, 8, fm7_state )
+ADDRESS_MAP_START(fm7_state::fm7_mem)
AM_RANGE(0x0000,0x7fff) AM_RAM
AM_RANGE(0x8000,0xfbff) AM_READ_BANK("bank1") AM_WRITE_BANK("bank2") // also F-BASIC ROM, when enabled
AM_RANGE(0xfc00,0xfc7f) AM_RAM
@@ -1458,7 +1458,7 @@ static ADDRESS_MAP_START( fm7_mem, AS_PROGRAM, 8, fm7_state )
AM_RANGE(0xfff0,0xffff) AM_READWRITE(vector_r,vector_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fm8_mem, AS_PROGRAM, 8, fm7_state )
+ADDRESS_MAP_START(fm7_state::fm8_mem)
AM_RANGE(0x0000,0x7fff) AM_RAM
AM_RANGE(0x8000,0xfbff) AM_READ_BANK("bank1") AM_WRITE_BANK("bank2") // also F-BASIC ROM, when enabled
AM_RANGE(0xfc00,0xfc7f) AM_RAM
@@ -1495,7 +1495,7 @@ ADDRESS_MAP_END
FFF0 - FFFF: Interrupt vector table
*/
-static ADDRESS_MAP_START( fm7_sub_mem, AS_PROGRAM, 8, fm7_state )
+ADDRESS_MAP_START(fm7_state::fm7_sub_mem)
AM_RANGE(0x0000,0xbfff) AM_READWRITE(fm7_vram_r,fm7_vram_w) // VRAM
AM_RANGE(0xc000,0xcfff) AM_RAM // Console RAM
AM_RANGE(0xd000,0xd37f) AM_RAM // Work RAM
@@ -1512,7 +1512,7 @@ static ADDRESS_MAP_START( fm7_sub_mem, AS_PROGRAM, 8, fm7_state )
AM_RANGE(0xd800,0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fm11_mem, AS_PROGRAM, 8, fm7_state )
+ADDRESS_MAP_START(fm7_state::fm11_mem)
AM_RANGE(0x0000,0x0fff) AM_DEVREADWRITE("av_bank1", address_map_bank_device, read8, write8)
AM_RANGE(0x1000,0x1fff) AM_DEVREADWRITE("av_bank2", address_map_bank_device, read8, write8)
AM_RANGE(0x2000,0x2fff) AM_DEVREADWRITE("av_bank3", address_map_bank_device, read8, write8)
@@ -1563,7 +1563,7 @@ static ADDRESS_MAP_START( fm11_mem, AS_PROGRAM, 8, fm7_state )
ADDRESS_MAP_END
// Much of this is guesswork at the moment
-static ADDRESS_MAP_START( fm11_sub_mem, AS_PROGRAM, 8, fm7_state )
+ADDRESS_MAP_START(fm7_state::fm11_sub_mem)
AM_RANGE(0x0000,0x7fff) AM_READWRITE(fm7_vram_r,fm7_vram_w) // VRAM
AM_RANGE(0x8000,0x8fff) AM_RAM // Console RAM(?)
AM_RANGE(0x9000,0x9f7f) AM_RAM // Work RAM(?)
@@ -1575,13 +1575,13 @@ static ADDRESS_MAP_START( fm11_sub_mem, AS_PROGRAM, 8, fm7_state )
AM_RANGE(0xc000,0xffff) AM_ROM // sybsystem ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fm11_x86_mem, AS_PROGRAM, 8, fm7_state )
+ADDRESS_MAP_START(fm7_state::fm11_x86_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000,0xfefff) AM_RAM
AM_RANGE(0xff000,0xfffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fm11_x86_io, AS_IO, 8, fm7_state )
+ADDRESS_MAP_START(fm7_state::fm11_x86_io)
AM_RANGE(0xfd00,0xfd01) AM_READWRITE(fm7_keyboard_r,fm7_cassette_printer_w)
AM_RANGE(0xfd02,0xfd02) AM_READWRITE(fm7_cassette_printer_r,fm7_irq_mask_w) // IRQ mask
AM_RANGE(0xfd03,0xfd03) AM_READWRITE(fm7_irq_cause_r,fm7_beeper_w) // IRQ flags
@@ -1598,12 +1598,12 @@ static ADDRESS_MAP_START( fm11_x86_io, AS_IO, 8, fm7_state )
AM_RANGE(0xfd40,0xfdff) AM_READ(fm7_unknown_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fm16_mem, AS_PROGRAM, 16, fm7_state )
+ADDRESS_MAP_START(fm7_state::fm16_mem)
AM_RANGE(0x00000,0xfbfff) AM_RAM
AM_RANGE(0xfc000,0xfffff) AM_ROM // IPL
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fm16_io, AS_IO, 16, fm7_state )
+ADDRESS_MAP_START(fm7_state::fm16_io)
AM_RANGE(0xfd00,0xfd01) AM_READWRITE8(fm7_keyboard_r,fm7_cassette_printer_w,0xffff)
AM_RANGE(0xfd02,0xfd03) AM_READWRITE8(fm7_cassette_printer_r,fm7_irq_mask_w,0x00ff) // IRQ mask
AM_RANGE(0xfd02,0xfd03) AM_READWRITE8(fm7_irq_cause_r,fm7_beeper_w,0xff00) // IRQ flags
@@ -1620,12 +1620,12 @@ static ADDRESS_MAP_START( fm16_io, AS_IO, 16, fm7_state )
// AM_RANGE(0xfd40,0xfdff) AM_READ8(fm7_unknown_r,0xffff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fm16_sub_mem, AS_PROGRAM, 8, fm7_state )
+ADDRESS_MAP_START(fm7_state::fm16_sub_mem)
AM_RANGE(0x0000,0xafff) AM_READWRITE(fm7_vram_r,fm7_vram_w) // VRAM
AM_RANGE(0xb000,0xffff) AM_ROM // subsystem ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fm77av_mem, AS_PROGRAM, 8, fm7_state )
+ADDRESS_MAP_START(fm7_state::fm77av_mem)
AM_RANGE(0x0000,0x0fff) AM_DEVREADWRITE("av_bank1", address_map_bank_device, read8, write8)
AM_RANGE(0x1000,0x1fff) AM_DEVREADWRITE("av_bank2", address_map_bank_device, read8, write8)
AM_RANGE(0x2000,0x2fff) AM_DEVREADWRITE("av_bank3", address_map_bank_device, read8, write8)
@@ -1680,7 +1680,7 @@ static ADDRESS_MAP_START( fm77av_mem, AS_PROGRAM, 8, fm7_state )
AM_RANGE(0xfff0,0xffff) AM_READWRITE(vector_r,vector_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fm77av_sub_mem, AS_PROGRAM, 8, fm7_state )
+ADDRESS_MAP_START(fm7_state::fm77av_sub_mem)
AM_RANGE(0x0000,0xbfff) AM_READWRITE(fm7_vram_r,fm7_vram_w) // VRAM
AM_RANGE(0xc000,0xcfff) AM_RAM AM_REGION("maincpu",0x1c000) // Console RAM
AM_RANGE(0xd000,0xd37f) AM_RAM AM_REGION("maincpu",0x1d000) // Work RAM
@@ -1702,7 +1702,7 @@ static ADDRESS_MAP_START( fm77av_sub_mem, AS_PROGRAM, 8, fm7_state )
AM_RANGE(0xe000,0xffff) AM_ROMBANK("bank21")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fm7_banked_mem, AS_PROGRAM, 8, fm7_state)
+ADDRESS_MAP_START(fm7_state::fm7_banked_mem)
// Extended RAM
AM_RANGE(0x00000,0x0ffff) AM_RAM AM_REGION("maincpu",0x00000)
diff --git a/src/mame/drivers/fmtowns.cpp b/src/mame/drivers/fmtowns.cpp
index 17999700f26..becdc303453 100644
--- a/src/mame/drivers/fmtowns.cpp
+++ b/src/mame/drivers/fmtowns.cpp
@@ -2190,7 +2190,7 @@ WRITE_LINE_MEMBER( towns_state::towns_syndet_irq )
}
-static ADDRESS_MAP_START(towns_mem, AS_PROGRAM, 32, towns_state)
+ADDRESS_MAP_START(towns_state::towns_mem)
// memory map based on FM-Towns/Bochs (Bochs modified to emulate the FM-Towns)
// may not be (and probably is not) correct
AM_RANGE(0x00000000, 0x000bffff) AM_RAM
@@ -2219,7 +2219,7 @@ static ADDRESS_MAP_START(towns_mem, AS_PROGRAM, 32, towns_state)
AM_RANGE(0xfffc0000, 0xffffffff) AM_ROM AM_REGION("user",0x200000) // SYSTEM ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(marty_mem, AS_PROGRAM, 16, towns_state)
+ADDRESS_MAP_START(towns_state::marty_mem)
AM_RANGE(0x00000000, 0x000bffff) AM_RAM
AM_RANGE(0x000c0000, 0x000c7fff) AM_READWRITE8(towns_gfx_r,towns_gfx_w,0xffff)
AM_RANGE(0x000c8000, 0x000cafff) AM_READWRITE8(towns_spriteram_low_r,towns_spriteram_low_w,0xffff)
@@ -2244,7 +2244,7 @@ static ADDRESS_MAP_START(marty_mem, AS_PROGRAM, 16, towns_state)
AM_RANGE(0x00fc0000, 0x00ffffff) AM_ROM AM_REGION("user",0x200000) // SYSTEM ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(ux_mem, AS_PROGRAM, 16, towns_state)
+ADDRESS_MAP_START(towns_state::ux_mem)
AM_RANGE(0x00000000, 0x000bffff) AM_RAM
AM_RANGE(0x000c0000, 0x000c7fff) AM_READWRITE8(towns_gfx_r,towns_gfx_w,0xffff)
AM_RANGE(0x000c8000, 0x000cafff) AM_READWRITE8(towns_spriteram_low_r,towns_spriteram_low_w,0xffff)
@@ -2268,7 +2268,7 @@ static ADDRESS_MAP_START(ux_mem, AS_PROGRAM, 16, towns_state)
AM_RANGE(0x00fc0000, 0x00ffffff) AM_ROM AM_REGION("user",0x200000) // SYSTEM ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( towns_io , AS_IO, 32, towns_state)
+ADDRESS_MAP_START(towns_state::towns_io)
// I/O ports derived from FM Towns/Bochs, these are specific to the FM Towns
// System ports
ADDRESS_MAP_UNMAP_HIGH
@@ -2327,7 +2327,7 @@ static ADDRESS_MAP_START( towns_io , AS_IO, 32, towns_state)
AM_RANGE(0xff80,0xffff) AM_READWRITE8(towns_video_cff80_r,towns_video_cff80_w,0xffffffff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( towns16_io , AS_IO, 16, towns_state) // for the 386SX based systems
+ADDRESS_MAP_START(towns_state::towns16_io) // for the 386SX based systems
// System ports
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000,0x0003) AM_DEVREADWRITE8("pic8259_master", pic8259_device, read, write, 0x00ff)
diff --git a/src/mame/drivers/fontwriter.cpp b/src/mame/drivers/fontwriter.cpp
index 22e37bdf154..0461ef49ccf 100644
--- a/src/mame/drivers/fontwriter.cpp
+++ b/src/mame/drivers/fontwriter.cpp
@@ -44,6 +44,8 @@ public:
return m_vbl;
}
void fontwriter(machine_config &config);
+ void io_map(address_map &map);
+ void main_map(address_map &map);
protected:
// devices
@@ -72,7 +74,7 @@ uint32_t fontwriter_state::screen_update(screen_device &screen, bitmap_rgb32 &bi
return 0;
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, fontwriter_state )
+ADDRESS_MAP_START(fontwriter_state::main_map)
AM_RANGE(0x002000, 0x007fff) AM_RAM
AM_RANGE(0x008000, 0x00ffff) AM_ROM AM_REGION("maincpu", 0x0000)
AM_RANGE(0x020000, 0x04ffff) AM_RAM
@@ -80,7 +82,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, fontwriter_state )
AM_RANGE(0x200000, 0x3fffff) AM_ROM AM_REGION("maincpu", 0x0000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, fontwriter_state )
+ADDRESS_MAP_START(fontwriter_state::io_map)
AM_RANGE(M37710_PORT6, M37710_PORT6) AM_READ(vbl_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/foodf.cpp b/src/mame/drivers/foodf.cpp
index 9b3f014a589..83b270455d1 100644
--- a/src/mame/drivers/foodf.cpp
+++ b/src/mame/drivers/foodf.cpp
@@ -207,7 +207,7 @@ WRITE16_MEMBER(foodf_state::analog_w)
*************************************/
// complete memory map derived from schematics
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, foodf_state )
+ADDRESS_MAP_START(foodf_state::main_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x00ffff) AM_MIRROR(0x3e0000) AM_ROM
AM_RANGE(0x014000, 0x014fff) AM_MIRROR(0x3e3000) AM_RAM
diff --git a/src/mame/drivers/force68k.cpp b/src/mame/drivers/force68k.cpp
index a90a044a703..d3e60ad6772 100644
--- a/src/mame/drivers/force68k.cpp
+++ b/src/mame/drivers/force68k.cpp
@@ -204,6 +204,7 @@ public:
void fccpu1_eprom_sockets(machine_config &config);
void fccpu1(machine_config &config);
+ void force68k_mem(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<mm58167_device> m_rtc;
@@ -232,7 +233,7 @@ private:
required_device<generic_slot_device> m_cart;
};
-static ADDRESS_MAP_START (force68k_mem, AS_PROGRAM, 16, force68k_state)
+ADDRESS_MAP_START(force68k_state::force68k_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE (0x000000, 0x000007) AM_ROM AM_READ (bootvect_r) /* Vectors mapped from System EPROM */
AM_RANGE (0x000008, 0x01ffff) AM_RAM /* DRAM CPU-1B */
diff --git a/src/mame/drivers/forte2.cpp b/src/mame/drivers/forte2.cpp
index e03634ab806..1b15de7d167 100644
--- a/src/mame/drivers/forte2.cpp
+++ b/src/mame/drivers/forte2.cpp
@@ -62,16 +62,18 @@ public:
virtual void machine_start() override;
virtual void machine_reset() override;
void pesadelo(machine_config &config);
+ void io_mem(address_map &map);
+ void program_mem(address_map &map);
};
-static ADDRESS_MAP_START( program_mem, AS_PROGRAM, 8, forte2_state )
+ADDRESS_MAP_START(forte2_state::program_mem)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_mem, AS_IO, 8, forte2_state )
+ADDRESS_MAP_START(forte2_state::io_mem)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x98, 0x98) AM_DEVREADWRITE( "tms9928a", tms9928a_device, vram_read, vram_write )
diff --git a/src/mame/drivers/fortecar.cpp b/src/mame/drivers/fortecar.cpp
index 16c422a8024..6275f44bd7e 100644
--- a/src/mame/drivers/fortecar.cpp
+++ b/src/mame/drivers/fortecar.cpp
@@ -358,6 +358,8 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
void fortecar(machine_config &config);
+ void fortecar_map(address_map &map);
+ void fortecar_ports(address_map &map);
};
@@ -533,14 +535,14 @@ Seems to work properly, but must be checked closely...
* Memory Map Information *
***********************************/
-static ADDRESS_MAP_START( fortecar_map, AS_PROGRAM, 8, fortecar_state )
+ADDRESS_MAP_START(fortecar_state::fortecar_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_ROM
AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xd800, 0xffff) AM_RAM AM_SHARE("vram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fortecar_ports, AS_IO, 8, fortecar_state )
+ADDRESS_MAP_START(fortecar_state::fortecar_ports)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x20, 0x20) AM_DEVWRITE("crtc", mc6845_device, address_w) // pc=444
AM_RANGE(0x21, 0x21) AM_DEVWRITE("crtc", mc6845_device, register_w)
diff --git a/src/mame/drivers/fp1100.cpp b/src/mame/drivers/fp1100.cpp
index 12d1a11baec..dbce9167c59 100644
--- a/src/mame/drivers/fp1100.cpp
+++ b/src/mame/drivers/fp1100.cpp
@@ -92,6 +92,9 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(timer_c);
required_device<palette_device> m_palette;
void fp1100(machine_config &config);
+ void io_map(address_map &map);
+ void main_map(address_map &map);
+ void sub_map(address_map &map);
private:
uint8_t m_irq_mask;
uint8_t m_main_latch;
@@ -209,13 +212,13 @@ READ8_MEMBER( fp1100_state::slot_id_r )
return m_slot[m_slot_num & 7].id;
}
-static ADDRESS_MAP_START(main_map, AS_PROGRAM, 8, fp1100_state )
+ADDRESS_MAP_START(fp1100_state::main_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x8fff) AM_READ_BANK("bankr0") AM_WRITE_BANK("bankw0")
AM_RANGE(0x9000, 0xffff) AM_RAM AM_REGION("wram", 0x9000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(io_map, AS_IO, 8, fp1100_state )
+ADDRESS_MAP_START(fp1100_state::io_map)
ADDRESS_MAP_UNMAP_HIGH
//AM_RANGE(0x0000, 0xfeff) slot memory area
AM_RANGE(0xff00, 0xff7f) AM_READWRITE(slot_id_r,slot_bank_w)
@@ -272,7 +275,7 @@ WRITE8_MEMBER( fp1100_state::kbd_row_w )
m_beep->set_state(BIT(data, 4));
}
-static ADDRESS_MAP_START(sub_map, AS_PROGRAM, 8, fp1100_state )
+ADDRESS_MAP_START(fp1100_state::sub_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM AM_REGION("sub_ipl",0x0000)
AM_RANGE(0x2000, 0xdfff) AM_RAM AM_SHARE("videoram") //vram B/R/G
AM_RANGE(0xe000, 0xe000) AM_MIRROR(0x3fe) AM_DEVREADWRITE("crtc", mc6845_device, status_r,address_w)
diff --git a/src/mame/drivers/fp200.cpp b/src/mame/drivers/fp200.cpp
index 8aaba390daa..2d5ed4bf170 100644
--- a/src/mame/drivers/fp200.cpp
+++ b/src/mame/drivers/fp200.cpp
@@ -69,6 +69,8 @@ public:
DECLARE_PALETTE_INIT(fp200);
void fp200(machine_config &config);
+ void fp200_io(address_map &map);
+ void fp200_map(address_map &map);
protected:
// driver_device overrides
virtual void machine_start() override;
@@ -410,7 +412,7 @@ WRITE8_MEMBER(fp200_state::fp200_io_w)
}
}
-static ADDRESS_MAP_START( fp200_map, AS_PROGRAM, 8, fp200_state )
+ADDRESS_MAP_START(fp200_state::fp200_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_RAM
// 0xa000, 0xffff exp RAM
@@ -419,7 +421,7 @@ static ADDRESS_MAP_START( fp200_map, AS_PROGRAM, 8, fp200_state )
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fp200_io, AS_IO, 8, fp200_state )
+ADDRESS_MAP_START(fp200_state::fp200_io)
AM_RANGE(0x00, 0xff) AM_READWRITE(fp200_io_r,fp200_io_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/fp6000.cpp b/src/mame/drivers/fp6000.cpp
index a40e2e3dd30..44da3a053ef 100644
--- a/src/mame/drivers/fp6000.cpp
+++ b/src/mame/drivers/fp6000.cpp
@@ -63,6 +63,8 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
void fp6000(machine_config &config);
+ void fp6000_io(address_map &map);
+ void fp6000_map(address_map &map);
};
void fp6000_state::video_start()
@@ -174,7 +176,7 @@ WRITE8_MEMBER(fp6000_state::fp6000_6845_data_w)
m_crtc->register_w(space, offset, data);
}
-static ADDRESS_MAP_START(fp6000_map, AS_PROGRAM, 16, fp6000_state )
+ADDRESS_MAP_START(fp6000_state::fp6000_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000,0xbffff) AM_RAM
AM_RANGE(0xc0000,0xdffff) AM_RAM AM_SHARE("gvram")//gvram
@@ -224,7 +226,7 @@ READ16_MEMBER(fp6000_state::pit_r)
return machine().rand();
}
-static ADDRESS_MAP_START(fp6000_io, AS_IO, 16, fp6000_state )
+ADDRESS_MAP_START(fp6000_state::fp6000_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x08, 0x09) AM_READ(ex_board_r) // BIOS of some sort ...
AM_RANGE(0x0a, 0x0b) AM_READ_PORT("DSW") // installed RAM id?
diff --git a/src/mame/drivers/freekick.cpp b/src/mame/drivers/freekick.cpp
index 89c5c93d7a7..99ae8a12c8b 100644
--- a/src/mame/drivers/freekick.cpp
+++ b/src/mame/drivers/freekick.cpp
@@ -190,7 +190,7 @@ WRITE8_MEMBER(freekick_state::freekick_ff_w)
*
*************************************/
-static ADDRESS_MAP_START( omega_map, AS_PROGRAM, 8, freekick_state )
+ADDRESS_MAP_START(freekick_state::omega_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM // ram is 2x sony cxk5813d-55
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(freek_videoram_w) AM_SHARE("videoram")
@@ -207,7 +207,7 @@ static ADDRESS_MAP_START( omega_map, AS_PROGRAM, 8, freekick_state )
AM_RANGE(0xfc03, 0xfc03) AM_DEVWRITE("sn4", sn76489a_device, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pbillrd_map, AS_PROGRAM, 8, freekick_state )
+ADDRESS_MAP_START(freekick_state::pbillrd_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xcfff) AM_RAM
@@ -225,12 +225,12 @@ static ADDRESS_MAP_START( pbillrd_map, AS_PROGRAM, 8, freekick_state )
AM_RANGE(0xfc03, 0xfc03) AM_DEVWRITE("sn4", sn76489a_device, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, freekick_state )
+ADDRESS_MAP_START(freekick_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0x7fff) AM_ROMBANK("bank0d")
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1d")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( freekick_map, AS_PROGRAM, 8, freekick_state )
+ADDRESS_MAP_START(freekick_state::freekick_map)
AM_RANGE(0x0000, 0xcfff) AM_ROM
AM_RANGE(0xd000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(freek_videoram_w) AM_SHARE("videoram") // tilemap
@@ -248,7 +248,7 @@ static ADDRESS_MAP_START( freekick_map, AS_PROGRAM, 8, freekick_state )
AM_RANGE(0xfc03, 0xfc03) AM_DEVWRITE("sn4", sn76489a_device, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gigas_map, AS_PROGRAM, 8, freekick_state )
+ADDRESS_MAP_START(freekick_state::gigas_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(freek_videoram_w) AM_SHARE("videoram")
@@ -265,19 +265,19 @@ static ADDRESS_MAP_START( gigas_map, AS_PROGRAM, 8, freekick_state )
AM_RANGE(0xfc03, 0xfc03) AM_DEVWRITE("sn4", sn76489a_device, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( omega_io_map, AS_IO, 8, freekick_state )
+ADDRESS_MAP_START(freekick_state::omega_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READWRITE(spinner_r, gigas_spinner_select_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("DSW3")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gigas_io_map, AS_IO, 8, freekick_state )
+ADDRESS_MAP_START(freekick_state::gigas_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READWRITE(spinner_r, gigas_spinner_select_w)
AM_RANGE(0x01, 0x01) AM_READNOP //unused dip 3
ADDRESS_MAP_END
-static ADDRESS_MAP_START( oigas_io_map, AS_IO, 8, freekick_state )
+ADDRESS_MAP_START(freekick_state::oigas_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READWRITE(spinner_r, gigas_spinner_select_w)
AM_RANGE(0x01, 0x01) AM_READNOP //unused dip 3
@@ -286,7 +286,7 @@ static ADDRESS_MAP_START( oigas_io_map, AS_IO, 8, freekick_state )
AM_RANGE(0x05, 0x05) AM_WRITE(oigas_5_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( freekick_io_map, AS_IO, 8, freekick_state )
+ADDRESS_MAP_START(freekick_state::freekick_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xff, 0xff) AM_READWRITE(freekick_ff_r, freekick_ff_w)
ADDRESS_MAP_END
@@ -721,7 +721,7 @@ MACHINE_CONFIG_START(freekick_state::omega)
MCFG_CPU_ADD("maincpu", MC8123, XTAL(18'432'000)/6) // unknown divisor
MCFG_CPU_PROGRAM_MAP(omega_map)
MCFG_CPU_IO_MAP(omega_io_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_PERIODIC_INT_DRIVER(freekick_state, irq0_line_hold, 120) // measured on PCB
MCFG_CPU_VBLANK_INT_DRIVER("screen", freekick_state, freekick_irqgen)
@@ -808,7 +808,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(freekick_state::pbillrdm, pbillrd)
MCFG_CPU_REPLACE("maincpu", MC8123, XTAL(12'000'000)/4)
MCFG_CPU_PROGRAM_MAP(pbillrd_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_PERIODIC_INT_DRIVER(freekick_state, irq0_line_hold, 120) // measured on PCB
MCFG_CPU_VBLANK_INT_DRIVER("screen", freekick_state, freekick_irqgen)
MACHINE_CONFIG_END
@@ -848,7 +848,7 @@ MACHINE_CONFIG_DERIVED(freekick_state::gigas, base)
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(gigas_map)
MCFG_CPU_IO_MAP(gigas_io_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_DEVICE_MODIFY("outlatch")
MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(freekick_state, flipscreen_w))
@@ -868,7 +868,7 @@ MACHINE_CONFIG_DERIVED(freekick_state::gigasm, base)
MCFG_CPU_REPLACE("maincpu", MC8123, XTAL(12'000'000)/4)
MCFG_CPU_PROGRAM_MAP(gigas_map)
MCFG_CPU_IO_MAP(gigas_io_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_PERIODIC_INT_DRIVER(freekick_state, irq0_line_hold, 120) // measured on PCB
MCFG_CPU_VBLANK_INT_DRIVER("screen", freekick_state, freekick_irqgen)
diff --git a/src/mame/drivers/fresh.cpp b/src/mame/drivers/fresh.cpp
index 9d37dcf1c68..52626cb339a 100644
--- a/src/mame/drivers/fresh.cpp
+++ b/src/mame/drivers/fresh.cpp
@@ -102,6 +102,7 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
void fresh(machine_config &config);
+ void fresh_map(address_map &map);
};
@@ -168,7 +169,7 @@ uint32_t fresh_state::screen_update_fresh(screen_device &screen, bitmap_ind16 &b
}
-static ADDRESS_MAP_START( fresh_map, AS_PROGRAM, 16, fresh_state )
+ADDRESS_MAP_START(fresh_state::fresh_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0xc00000, 0xc0ffff) AM_RAM_WRITE(fresh_bg_2_videoram_w) AM_SHARE("bg_videoram_2")
diff --git a/src/mame/drivers/fromanc2.cpp b/src/mame/drivers/fromanc2.cpp
index fdf84aeb6f2..1d202ee2d4c 100644
--- a/src/mame/drivers/fromanc2.cpp
+++ b/src/mame/drivers/fromanc2.cpp
@@ -171,7 +171,7 @@ WRITE16_MEMBER(fromanc2_state::uart_w)
*
*************************************/
-static ADDRESS_MAP_START( fromanc2_main_map, AS_PROGRAM, 16, fromanc2_state )
+ADDRESS_MAP_START(fromanc2_state::fromanc2_main_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // MAIN ROM
AM_RANGE(0x802000, 0x802fff) AM_READNOP // ???
@@ -204,7 +204,7 @@ static ADDRESS_MAP_START( fromanc2_main_map, AS_PROGRAM, 16, fromanc2_state )
AM_RANGE(0xd80000, 0xd8ffff) AM_RAM // WORK RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fromancr_main_map, AS_PROGRAM, 16, fromanc2_state )
+ADDRESS_MAP_START(fromanc2_state::fromancr_main_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // MAIN ROM
AM_RANGE(0x800000, 0x803fff) AM_WRITE(fromancr_videoram_0_w) // VRAM BG (1P/2P)
@@ -232,7 +232,7 @@ static ADDRESS_MAP_START( fromancr_main_map, AS_PROGRAM, 16, fromanc2_state )
AM_RANGE(0xd80000, 0xd8ffff) AM_RAM // WORK RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fromanc4_main_map, AS_PROGRAM, 16, fromanc2_state )
+ADDRESS_MAP_START(fromanc2_state::fromanc4_main_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // MAIN ROM
AM_RANGE(0x400000, 0x7fffff) AM_ROM // DATA ROM
@@ -267,14 +267,14 @@ static ADDRESS_MAP_START( fromanc4_main_map, AS_PROGRAM, 16, fromanc2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fromanc2_sub_map, AS_PROGRAM, 8, fromanc2_state )
+ADDRESS_MAP_START(fromanc2_state::fromanc2_sub_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM // ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1") // ROM(BANK)
AM_RANGE(0x8000, 0xbfff) AM_RAM // RAM(WORK)
AM_RANGE(0xc000, 0xffff) AM_RAMBANK("bank2") // RAM(BANK)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fromanc2_sub_io_map, AS_IO, 8, fromanc2_state )
+ADDRESS_MAP_START(fromanc2_state::fromanc2_sub_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(fromanc2_subcpu_rombank_w)
AM_RANGE(0x02, 0x02) AM_READWRITE(fromanc2_maincpu_r_l, fromanc2_maincpu_w_l) // to/from MAIN CPU
@@ -283,12 +283,12 @@ static ADDRESS_MAP_START( fromanc2_sub_io_map, AS_IO, 8, fromanc2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fromanc2_sound_map, AS_PROGRAM, 8, fromanc2_state )
+ADDRESS_MAP_START(fromanc2_state::fromanc2_sound_map)
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fromanc2_sound_io_map, AS_IO, 8, fromanc2_state )
+ADDRESS_MAP_START(fromanc2_state::fromanc2_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_WRITENOP // snd cmd (1P) / ?
AM_RANGE(0x04, 0x04) AM_DEVREAD("soundlatch2", generic_latch_8_device, read) // snd cmd (2P)
diff --git a/src/mame/drivers/fromance.cpp b/src/mame/drivers/fromance.cpp
index 947d761459b..27132a50be6 100644
--- a/src/mame/drivers/fromance.cpp
+++ b/src/mame/drivers/fromance.cpp
@@ -225,7 +225,7 @@ WRITE8_MEMBER(fromance_state::fromance_coinctr_w)
*
*************************************/
-static ADDRESS_MAP_START( nekkyoku_main_map, AS_PROGRAM, 8, fromance_state )
+ADDRESS_MAP_START(fromance_state::nekkyoku_main_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xf000, 0xf000) AM_READ_PORT("SERVICE") AM_WRITE(fromance_portselect_w)
@@ -236,7 +236,7 @@ static ADDRESS_MAP_START( nekkyoku_main_map, AS_PROGRAM, 8, fromance_state )
AM_RANGE(0xf005, 0xf005) AM_READ_PORT("DSW1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fromance_main_map, AS_PROGRAM, 8, fromance_state )
+ADDRESS_MAP_START(fromance_state::fromance_main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0x9e89, 0x9e89) AM_READNOP // unknown (idolmj)
@@ -256,7 +256,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( nekkyoku_sub_map, AS_PROGRAM, 8, fromance_state )
+ADDRESS_MAP_START(fromance_state::nekkyoku_sub_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xefff) AM_READWRITE(fromance_videoram_r, fromance_videoram_w)
@@ -264,7 +264,7 @@ static ADDRESS_MAP_START( nekkyoku_sub_map, AS_PROGRAM, 8, fromance_state )
AM_RANGE(0xf800, 0xffff) AM_READWRITE(fromance_paletteram_r, fromance_paletteram_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fromance_sub_map, AS_PROGRAM, 8, fromance_state )
+ADDRESS_MAP_START(fromance_state::fromance_sub_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc7ff) AM_RAM
@@ -280,7 +280,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( nekkyoku_sub_io_map, AS_IO, 8, fromance_state )
+ADDRESS_MAP_START(fromance_state::nekkyoku_sub_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x11) AM_DEVWRITE("gga", vsystem_gga_device, write)
AM_RANGE(0x12, 0x12) AM_READNOP // unknown
@@ -293,7 +293,7 @@ static ADDRESS_MAP_START( nekkyoku_sub_io_map, AS_IO, 8, fromance_state )
AM_RANGE(0xe9, 0xea) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( idolmj_sub_io_map, AS_IO, 8, fromance_state )
+ADDRESS_MAP_START(fromance_state::idolmj_sub_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x11) AM_DEVWRITE("gga", vsystem_gga_device, write)
AM_RANGE(0x12, 0x12) AM_READNOP // unknown
@@ -306,7 +306,7 @@ static ADDRESS_MAP_START( idolmj_sub_io_map, AS_IO, 8, fromance_state )
AM_RANGE(0x29, 0x2a) AM_DEVWRITE("aysnd", ym2149_device, data_address_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fromance_sub_io_map, AS_IO, 8, fromance_state )
+ADDRESS_MAP_START(fromance_state::fromance_sub_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x11) AM_DEVWRITE("gga", vsystem_gga_device, write)
AM_RANGE(0x12, 0x12) AM_READNOP // unknown
diff --git a/src/mame/drivers/fruitpc.cpp b/src/mame/drivers/fruitpc.cpp
index 2d3ad2160a9..e14b07a4f4a 100644
--- a/src/mame/drivers/fruitpc.cpp
+++ b/src/mame/drivers/fruitpc.cpp
@@ -45,6 +45,8 @@ public:
DECLARE_WRITE8_MEMBER(dma8237_1_dack_w);
static void fruitpc_sb_conf(device_t *device);
void fruitpc(machine_config &config);
+ void fruitpc_io(address_map &map);
+ void fruitpc_map(address_map &map);
};
READ8_MEMBER(fruitpc_state::fruit_inp_r)
@@ -63,7 +65,7 @@ READ8_MEMBER(fruitpc_state::fruit_inp_r)
return 0;
}
-static ADDRESS_MAP_START( fruitpc_map, AS_PROGRAM, 32, fruitpc_state )
+ADDRESS_MAP_START(fruitpc_state::fruitpc_map)
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", vga_device, mem_r, mem_w, 0xffffffff) // VGA VRAM
AM_RANGE(0x000c0000, 0x000dffff) AM_ROM AM_REGION("bios", 0)
@@ -73,7 +75,7 @@ static ADDRESS_MAP_START( fruitpc_map, AS_PROGRAM, 32, fruitpc_state )
AM_RANGE(0xfffe0000, 0xffffffff) AM_ROM AM_REGION("bios", 0) /* System BIOS */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fruitpc_io, AS_IO, 32, fruitpc_state )
+ADDRESS_MAP_START(fruitpc_state::fruitpc_io)
AM_IMPORT_FROM(pcat32_io_common)
AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0, write_cs0, 0xffffffff)
AM_RANGE(0x0310, 0x0313) AM_READ8(fruit_inp_r, 0xffffffff)
diff --git a/src/mame/drivers/ft68m.cpp b/src/mame/drivers/ft68m.cpp
index a3cd584ce02..7d25d68ac40 100644
--- a/src/mame/drivers/ft68m.cpp
+++ b/src/mame/drivers/ft68m.cpp
@@ -32,6 +32,7 @@ public:
DECLARE_READ16_MEMBER(switches_r);
void ft68m(machine_config &config);
+ void mem_map(address_map &map);
private:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -47,7 +48,7 @@ READ16_MEMBER( ft68m_state::switches_r )
}
-static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 16, ft68m_state)
+ADDRESS_MAP_START(ft68m_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xffffff)
AM_RANGE(0x000000, 0x1fffff) AM_RAM AM_SHARE("rambase")
diff --git a/src/mame/drivers/funkball.cpp b/src/mame/drivers/funkball.cpp
index e7ca786923c..63c5ceb7504 100644
--- a/src/mame/drivers/funkball.cpp
+++ b/src/mame/drivers/funkball.cpp
@@ -139,6 +139,9 @@ public:
virtual void machine_start() override;
virtual void machine_reset() override;
void funkball(machine_config &config);
+ void flashbank_map(address_map &map);
+ void funkball_io(address_map &map);
+ void funkball_map(address_map &map);
};
void funkball_state::video_start()
@@ -325,7 +328,7 @@ READ8_MEMBER( funkball_state::in_r )
return m_inputs[offset]->read();
}
-static ADDRESS_MAP_START(funkball_map, AS_PROGRAM, 32, funkball_state)
+ADDRESS_MAP_START(funkball_state::funkball_map)
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000a0000, 0x000affff) AM_RAM
AM_RANGE(0x000b0000, 0x000bffff) AM_DEVICE("flashbank", address_map_bank_device, amap32)
@@ -348,14 +351,14 @@ static ADDRESS_MAP_START(funkball_map, AS_PROGRAM, 32, funkball_state)
AM_RANGE(0xfffe0000, 0xffffffff) AM_ROM AM_REGION("bios", 0) /* System BIOS */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( flashbank_map, AS_PROGRAM, 32, funkball_state )
+ADDRESS_MAP_START(funkball_state::flashbank_map)
AM_RANGE(0x00000000, 0x003fffff) AM_DEVREADWRITE16("u29", intel_28f320j5_device, read, write, 0xffffffff ) // needed to boot
AM_RANGE(0x00400000, 0x007fffff) AM_DEVREADWRITE16("u30", intel_28f320j5_device, read, write, 0xffffffff ) // i assume it maps directly after
// AM_RANGE(0x02000000, 0x023fffff) AM_DEVREADWRITE16("u3", intel_28f320j5_device, read, write, 0xffffffff ) // sound program, don't think it matters where we map it, might not even be visible in this space
/* it checks for 64MBit chips at 0x80000000 the way things are set up, they must return an intel Flash ID of 0x15 */
ADDRESS_MAP_END
-static ADDRESS_MAP_START(funkball_io, AS_IO, 32, funkball_state)
+ADDRESS_MAP_START(funkball_state::funkball_io)
AM_IMPORT_FROM(pcat32_io_common)
AM_RANGE(0x0020, 0x0023) AM_READWRITE8(io20_r, io20_w, 0xffff0000)
AM_RANGE(0x00e8, 0x00ef) AM_NOP
diff --git a/src/mame/drivers/funkybee.cpp b/src/mame/drivers/funkybee.cpp
index 742379aa598..773272bf7dd 100644
--- a/src/mame/drivers/funkybee.cpp
+++ b/src/mame/drivers/funkybee.cpp
@@ -99,7 +99,7 @@ WRITE_LINE_MEMBER(funkybee_state::coin_counter_2_w)
machine().bookkeeping().coin_counter_w(1, state);
}
-static ADDRESS_MAP_START( funkybee_map, AS_PROGRAM, 8, funkybee_state )
+ADDRESS_MAP_START(funkybee_state::funkybee_map)
AM_RANGE(0x0000, 0x4fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xbfff) AM_RAM_WRITE(funkybee_videoram_w) AM_SHARE("videoram")
@@ -112,7 +112,7 @@ static ADDRESS_MAP_START( funkybee_map, AS_PROGRAM, 8, funkybee_state )
AM_RANGE(0xf802, 0xf802) AM_READ_PORT("IN2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, funkybee_state )
+ADDRESS_MAP_START(funkybee_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
AM_RANGE(0x02, 0x02) AM_DEVREAD("aysnd", ay8910_device, data_r)
diff --git a/src/mame/drivers/funkyjet.cpp b/src/mame/drivers/funkyjet.cpp
index 3bcb4e18ba2..5f2deb1cdf1 100644
--- a/src/mame/drivers/funkyjet.cpp
+++ b/src/mame/drivers/funkyjet.cpp
@@ -131,7 +131,7 @@ WRITE16_MEMBER( funkyjet_state::funkyjet_protection_region_0_146_w )
}
-static ADDRESS_MAP_START( funkyjet_map, AS_PROGRAM, 16, funkyjet_state )
+ADDRESS_MAP_START(funkyjet_state::funkyjet_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x120000, 0x1207ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x140000, 0x143fff) AM_RAM
@@ -149,7 +149,7 @@ ADDRESS_MAP_END
/******************************************************************************/
/* Physical memory map (21 bits) */
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, funkyjet_state )
+ADDRESS_MAP_START(funkyjet_state::sound_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_NOP /* YM2203 - this board doesn't have one */
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
diff --git a/src/mame/drivers/funtech.cpp b/src/mame/drivers/funtech.cpp
index fa9e952eb06..036281c9e38 100644
--- a/src/mame/drivers/funtech.cpp
+++ b/src/mame/drivers/funtech.cpp
@@ -95,6 +95,8 @@ public:
required_device<ticket_dispenser_device> m_hopper;
required_device<gfxdecode_device> m_gfxdecode;
void funtech(machine_config &config);
+ void funtech_io_map(address_map &map);
+ void funtech_map(address_map &map);
};
@@ -240,7 +242,7 @@ INTERRUPT_GEN_MEMBER(fun_tech_corp_state::funtech_vblank_interrupt)
-static ADDRESS_MAP_START( funtech_map, AS_PROGRAM, 8, fun_tech_corp_state )
+ADDRESS_MAP_START(fun_tech_corp_state::funtech_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc1ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
@@ -316,7 +318,7 @@ WRITE8_MEMBER(fun_tech_corp_state::funtech_vreg_w)
-static ADDRESS_MAP_START( funtech_io_map, AS_IO, 8, fun_tech_corp_state )
+ADDRESS_MAP_START(fun_tech_corp_state::funtech_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
// lamps?
AM_RANGE(0x00, 0x00) AM_WRITE(funtech_lamps_w)
diff --git a/src/mame/drivers/funworld.cpp b/src/mame/drivers/funworld.cpp
index 0b8d270d898..04e07955910 100644
--- a/src/mame/drivers/funworld.cpp
+++ b/src/mame/drivers/funworld.cpp
@@ -1066,7 +1066,7 @@ WRITE_LINE_MEMBER(funworld_state::pia1_ca2_w)
* Memory map information *
*************************/
-static ADDRESS_MAP_START( funworld_map, AS_PROGRAM, 8, funworld_state )
+ADDRESS_MAP_START(funworld_state::funworld_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x0800, 0x0803) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
AM_RANGE(0x0a00, 0x0a03) AM_DEVREADWRITE("pia1", pia6821_device, read, write)
@@ -1100,7 +1100,7 @@ WRITE8_MEMBER(funworld_state::question_bank_w)
funquiz_question_bank = data;
}
-static ADDRESS_MAP_START( funquiz_map, AS_PROGRAM, 8, funworld_state )
+ADDRESS_MAP_START(funworld_state::funquiz_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x0800, 0x0803) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
AM_RANGE(0x0a00, 0x0a03) AM_DEVREADWRITE("pia1", pia6821_device, read, write)
@@ -1118,7 +1118,7 @@ static ADDRESS_MAP_START( funquiz_map, AS_PROGRAM, 8, funworld_state )
AM_RANGE(0xc000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( magicrd2_map, AS_PROGRAM, 8, funworld_state )
+ADDRESS_MAP_START(funworld_state::magicrd2_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x0800, 0x0803) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
AM_RANGE(0x0a00, 0x0a03) AM_DEVREADWRITE("pia1", pia6821_device, read, write)
@@ -1134,7 +1134,7 @@ static ADDRESS_MAP_START( magicrd2_map, AS_PROGRAM, 8, funworld_state )
AM_RANGE(0x6000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cuoreuno_map, AS_PROGRAM, 8, funworld_state )
+ADDRESS_MAP_START(funworld_state::cuoreuno_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x0800, 0x0803) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
AM_RANGE(0x0a00, 0x0a03) AM_DEVREADWRITE("pia1", pia6821_device, read, write)
@@ -1162,7 +1162,7 @@ READ8_MEMBER(funworld_state::chinatow_r_32f0)
return 0xff;
}
-static ADDRESS_MAP_START( chinatow_map, AS_PROGRAM, 8, funworld_state )
+ADDRESS_MAP_START(funworld_state::chinatow_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x0800, 0x0803) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
AM_RANGE(0x0a00, 0x0a03) AM_DEVREADWRITE("pia1", pia6821_device, read, write)
@@ -1178,7 +1178,7 @@ static ADDRESS_MAP_START( chinatow_map, AS_PROGRAM, 8, funworld_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lunapark_map, AS_PROGRAM, 8, funworld_state ) // mirrored video RAM 4000/5000 to 6000/7000
+ADDRESS_MAP_START(funworld_state::lunapark_map) // mirrored video RAM 4000/5000 to 6000/7000
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x0800, 0x0803) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
AM_RANGE(0x0a00, 0x0a03) AM_DEVREADWRITE("pia1", pia6821_device, read, write)
@@ -1191,7 +1191,7 @@ static ADDRESS_MAP_START( lunapark_map, AS_PROGRAM, 8, funworld_state ) // mirro
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( saloon_map, AS_PROGRAM, 8, funworld_state )
+ADDRESS_MAP_START(funworld_state::saloon_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x0800, 0x0800) AM_READ_PORT("IN0")
AM_RANGE(0x0808, 0x0808) AM_READ_PORT("IN3") // maybe
@@ -1221,7 +1221,7 @@ ADDRESS_MAP_END
*/
-static ADDRESS_MAP_START( witchryl_map, AS_PROGRAM, 8, funworld_state )
+ADDRESS_MAP_START(funworld_state::witchryl_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x0800, 0x0803) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
AM_RANGE(0x0a00, 0x0a03) AM_DEVREADWRITE("pia1", pia6821_device, read, write)
@@ -1235,7 +1235,7 @@ static ADDRESS_MAP_START( witchryl_map, AS_PROGRAM, 8, funworld_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( intergames_map, AS_PROGRAM, 8, funworld_state )
+ADDRESS_MAP_START(funworld_state::intergames_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x0c00, 0x0c00) AM_DEVREAD("ay8910", ay8910_device, data_r) // WRONG. just a placeholder...
AM_RANGE(0x0c00, 0x0c01) AM_DEVWRITE("ay8910", ay8910_device, address_data_w) // WRONG. just a placeholder...
@@ -1248,7 +1248,7 @@ static ADDRESS_MAP_START( intergames_map, AS_PROGRAM, 8, funworld_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fw_a7_11_map, AS_PROGRAM, 8, funworld_state )
+ADDRESS_MAP_START(funworld_state::fw_a7_11_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x0800, 0x0803) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
AM_RANGE(0x0a00, 0x0a03) AM_DEVREADWRITE("pia1", pia6821_device, read, write)
diff --git a/src/mame/drivers/funybubl.cpp b/src/mame/drivers/funybubl.cpp
index ca05ee6ccd5..e2f2e99bf98 100644
--- a/src/mame/drivers/funybubl.cpp
+++ b/src/mame/drivers/funybubl.cpp
@@ -81,7 +81,7 @@ WRITE8_MEMBER(funybubl_state::funybubl_oki_bank_sw)
}
-static ADDRESS_MAP_START( funybubl_map, AS_PROGRAM, 8, funybubl_state )
+ADDRESS_MAP_START(funybubl_state::funybubl_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank2") // banked port 1?
AM_RANGE(0xc400, 0xcfff) AM_RAM_WRITE(funybubl_paldatawrite) AM_SHARE("paletteram") // palette
@@ -89,7 +89,7 @@ static ADDRESS_MAP_START( funybubl_map, AS_PROGRAM, 8, funybubl_state )
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, funybubl_state )
+ADDRESS_MAP_START(funybubl_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("SYSTEM") AM_WRITE(funybubl_vidram_bank_w) // vidram bank
AM_RANGE(0x01, 0x01) AM_READ_PORT("P1") AM_WRITE(funybubl_cpurombank_w) // rom bank?
@@ -102,7 +102,7 @@ ADDRESS_MAP_END
/* Sound CPU */
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, funybubl_state )
+ADDRESS_MAP_START(funybubl_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_WRITE(funybubl_oki_bank_sw)
diff --git a/src/mame/drivers/fuukifg2.cpp b/src/mame/drivers/fuukifg2.cpp
index d32f6e5f946..29c9d3c4203 100644
--- a/src/mame/drivers/fuukifg2.cpp
+++ b/src/mame/drivers/fuukifg2.cpp
@@ -83,7 +83,7 @@ WRITE8_MEMBER( fuuki16_state::sound_command_w )
machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(50)); // Fixes glitching in rasters
}
-static ADDRESS_MAP_START( fuuki16_map, AS_PROGRAM, 16, fuuki16_state )
+ADDRESS_MAP_START(fuuki16_state::fuuki16_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x400000, 0x40ffff) AM_RAM // RAM
AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(vram_0_w) AM_SHARE("vram.0") // Layers
@@ -128,13 +128,13 @@ WRITE8_MEMBER(fuuki16_state::oki_banking_w)
m_oki->set_rom_bank((data & 6) >> 1);
}
-static ADDRESS_MAP_START( fuuki16_sound_map, AS_PROGRAM, 8, fuuki16_state )
+ADDRESS_MAP_START(fuuki16_state::fuuki16_sound_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM // ROM
AM_RANGE(0x6000, 0x7fff) AM_RAM // RAM
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1") // Banked ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fuuki16_sound_io_map, AS_IO, 8, fuuki16_state )
+ADDRESS_MAP_START(fuuki16_state::fuuki16_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(sound_rombank_w) // ROM Bank
AM_RANGE(0x11, 0x11) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_WRITENOP // From Main CPU / ? To Main CPU ?
diff --git a/src/mame/drivers/fuukifg3.cpp b/src/mame/drivers/fuukifg3.cpp
index 6a91c790c7a..aae67918876 100644
--- a/src/mame/drivers/fuukifg3.cpp
+++ b/src/mame/drivers/fuukifg3.cpp
@@ -206,7 +206,7 @@ WRITE32_MEMBER(fuuki32_state::vregs_w)
}
}
-static ADDRESS_MAP_START( fuuki32_map, AS_PROGRAM, 32, fuuki32_state )
+ADDRESS_MAP_START(fuuki32_state::fuuki32_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM // ROM
AM_RANGE(0x400000, 0x40ffff) AM_RAM // Work RAM
AM_RANGE(0x410000, 0x41ffff) AM_RAM // Work RAM (used by asurabus)
@@ -259,14 +259,14 @@ WRITE8_MEMBER(fuuki32_state::snd_ymf278b_w)
machine().device<ymf278b_device>("ymf1")->write(space, offset, data);
}
-static ADDRESS_MAP_START( fuuki32_sound_map, AS_PROGRAM, 8, fuuki32_state )
+ADDRESS_MAP_START(fuuki32_state::fuuki32_sound_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM // ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM // RAM
AM_RANGE(0x7ff0, 0x7fff) AM_READWRITE(snd_z80_r, snd_z80_w)
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1") // ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fuuki32_sound_io_map, AS_IO, 8, fuuki32_state )
+ADDRESS_MAP_START(fuuki32_state::fuuki32_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(sound_bw_w)
AM_RANGE(0x30, 0x30) AM_WRITENOP // leftover/unused nmi handler related
diff --git a/src/mame/drivers/g627.cpp b/src/mame/drivers/g627.cpp
index df35b6a2b9f..78d76514253 100644
--- a/src/mame/drivers/g627.cpp
+++ b/src/mame/drivers/g627.cpp
@@ -68,6 +68,8 @@ public:
DECLARE_WRITE8_MEMBER(disp_w);
DECLARE_WRITE8_MEMBER(lamp_w);
void g627(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
uint8_t m_seg[6];
uint8_t m_portc;
@@ -79,13 +81,13 @@ private:
};
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, g627_state )
+ADDRESS_MAP_START(g627_state::mem_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0xc000, 0xc0ff) AM_DEVREADWRITE("i8156", i8155_device, memory_r, memory_w)
AM_RANGE(0xe000, 0xe0ff) AM_RAM AM_SHARE("nvram") // battery backed
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, g627_state )
+ADDRESS_MAP_START(g627_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x02) AM_WRITE(disp_w)
AM_RANGE(0x03, 0x07) AM_WRITE(lamp_w)
diff --git a/src/mame/drivers/gaelco.cpp b/src/mame/drivers/gaelco.cpp
index 84bab7820ac..4b189ed5b16 100644
--- a/src/mame/drivers/gaelco.cpp
+++ b/src/mame/drivers/gaelco.cpp
@@ -25,7 +25,6 @@ Year Game PCB NOTES
#include "cpu/m6809/m6809.h"
#include "cpu/m68000/m68000.h"
-#include "machine/74259.h"
#include "sound/okim6295.h"
#include "sound/3812intf.h"
@@ -107,7 +106,7 @@ WRITE16_MEMBER(gaelco_state::thoop_encrypted_w)
*
*************************************/
-static ADDRESS_MAP_START( bigkarnk_map, AS_PROGRAM, 16, gaelco_state )
+ADDRESS_MAP_START(gaelco_state::bigkarnk_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM /* ROM */
AM_RANGE(0x100000, 0x101fff) AM_RAM_WRITE(gaelco_vram_w) AM_SHARE("videoram") /* Video RAM */
AM_RANGE(0x102000, 0x103fff) AM_RAM /* Screen RAM */
@@ -120,12 +119,12 @@ static ADDRESS_MAP_START( bigkarnk_map, AS_PROGRAM, 16, gaelco_state )
AM_RANGE(0x700004, 0x700005) AM_READ_PORT("P1")
AM_RANGE(0x700006, 0x700007) AM_READ_PORT("P2")
AM_RANGE(0x700008, 0x700009) AM_READ_PORT("SERVICE")
- AM_RANGE(0x70000a, 0x70000b) AM_SELECT(0x000070) AM_DEVWRITE8_MOD("outlatch", ls259_device, write_d0, rshift<3>, 0x00ff)
+ ;map(0x70000a, 0x70000b).select(0x000070).lw8("outlatch_w", [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_outlatch->write_d0(space, offset >> 3, data, mem_mask); }).umask16(0x00ff);
AM_RANGE(0x70000e, 0x70000f) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff) /* Triggers a FIRQ on the sound CPU */
AM_RANGE(0xff8000, 0xffffff) AM_RAM /* Work RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bigkarnk_snd_map, AS_PROGRAM, 8, gaelco_state )
+ADDRESS_MAP_START(gaelco_state::bigkarnk_snd_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM /* RAM */
AM_RANGE(0x0800, 0x0801) AM_DEVREADWRITE("oki", okim6295_device, read, write) /* OKI6295 */
// AM_RANGE(0x0900, 0x0900) AM_WRITENOP /* enable sound output? */
@@ -134,7 +133,7 @@ static ADDRESS_MAP_START( bigkarnk_snd_map, AS_PROGRAM, 8, gaelco_state )
AM_RANGE(0x0c00, 0xffff) AM_ROM /* ROM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( maniacsq_map, AS_PROGRAM, 16, gaelco_state )
+ADDRESS_MAP_START(gaelco_state::maniacsq_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
AM_RANGE(0x100000, 0x101fff) AM_RAM_WRITE(gaelco_vram_w) AM_SHARE("videoram") /* Video RAM */
AM_RANGE(0x102000, 0x103fff) AM_RAM /* Screen RAM */
@@ -151,7 +150,7 @@ static ADDRESS_MAP_START( maniacsq_map, AS_PROGRAM, 16, gaelco_state )
AM_RANGE(0xff0000, 0xffffff) AM_RAM /* Work RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( squash_map, AS_PROGRAM, 16, gaelco_state )
+ADDRESS_MAP_START(gaelco_state::squash_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
AM_RANGE(0x100000, 0x101fff) AM_RAM_WRITE(gaelco_vram_encrypted_w) AM_SHARE("videoram") /* Video RAM */
AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(gaelco_encrypted_w) AM_SHARE("screenram") /* Screen RAM */
@@ -163,13 +162,13 @@ static ADDRESS_MAP_START( squash_map, AS_PROGRAM, 16, gaelco_state )
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("DSW1")
AM_RANGE(0x700004, 0x700005) AM_READ_PORT("P1")
AM_RANGE(0x700006, 0x700007) AM_READ_PORT("P2")
- AM_RANGE(0x70000a, 0x70000b) AM_SELECT(0x000070) AM_DEVWRITE8_MOD("outlatch", ls259_device, write_d0, rshift<3>, 0x00ff)
+ ;map(0x70000a, 0x70000b).select(0x000070).lw8("outlatch_w", [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_outlatch->write_d0(space, offset >> 3, data, mem_mask); }).umask16(0x00ff);
AM_RANGE(0x70000c, 0x70000d) AM_WRITE8(OKIM6295_bankswitch_w, 0x00ff)
AM_RANGE(0x70000e, 0x70000f) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff) /* OKI6295 status register */
AM_RANGE(0xff0000, 0xffffff) AM_RAM /* Work RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( thoop_map, AS_PROGRAM, 16, gaelco_state )
+ADDRESS_MAP_START(gaelco_state::thoop_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
AM_RANGE(0x100000, 0x101fff) AM_RAM_WRITE(thoop_vram_encrypted_w) AM_SHARE("videoram") /* Video RAM */
AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(thoop_encrypted_w) AM_SHARE("screenram") /* Screen RAM */
@@ -181,14 +180,14 @@ static ADDRESS_MAP_START( thoop_map, AS_PROGRAM, 16, gaelco_state )
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("DSW1")
AM_RANGE(0x700004, 0x700005) AM_READ_PORT("P1")
AM_RANGE(0x700006, 0x700007) AM_READ_PORT("P2")
- AM_RANGE(0x70000a, 0x70000b) AM_SELECT(0x000070) AM_DEVWRITE8_MOD("outlatch", ls259_device, write_d0, rshift<3>, 0x00ff)
+ ;map(0x70000a, 0x70000b).select(0x000070).lw8("outlatch_w", [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_outlatch->write_d0(space, offset >> 3, data, mem_mask); }).umask16(0x00ff);
AM_RANGE(0x70000c, 0x70000d) AM_WRITE8(OKIM6295_bankswitch_w, 0x00ff)
AM_RANGE(0x70000e, 0x70000f) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff) /* OKI6295 status register */
AM_RANGE(0xff0000, 0xffffff) AM_RAM /* Work RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( oki_map, 0, 8, gaelco_state )
+ADDRESS_MAP_START(gaelco_state::oki_map)
AM_RANGE(0x00000, 0x2ffff) AM_ROM
AM_RANGE(0x30000, 0x3ffff) AM_ROMBANK("okibank")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/gaelco2.cpp b/src/mame/drivers/gaelco2.cpp
index 54c58ef993b..2cbe00b7920 100644
--- a/src/mame/drivers/gaelco2.cpp
+++ b/src/mame/drivers/gaelco2.cpp
@@ -72,7 +72,7 @@ GFXDECODEINFO(0x0400000, 128)
COMMON
============================================================================*/
-static ADDRESS_MAP_START( mcu_hostmem_map, 0, 8, gaelco2_state )
+ADDRESS_MAP_START(gaelco2_state::mcu_hostmem_map)
AM_RANGE(0x8000, 0xffff) AM_READWRITE(shareram_r, shareram_w) // confirmed that 0x8000 - 0xffff is a window into 68k shared RAM
ADDRESS_MAP_END
@@ -81,7 +81,7 @@ ADDRESS_MAP_END
MANIAC SQUARE (FINAL)
============================================================================*/
-static ADDRESS_MAP_START( maniacsq_map, AS_PROGRAM, 16, gaelco2_state )
+ADDRESS_MAP_START(gaelco2_state::maniacsq_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM /* ROM */
AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_SHARE("spriteram") /* Video RAM */
AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelco_gae1_device, gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
@@ -478,7 +478,7 @@ WRITE16_MEMBER(gaelco2_state::play2000_shareram_68k_w)
}
-static ADDRESS_MAP_START( play2000_map, AS_PROGRAM, 16, gaelco2_state )
+ADDRESS_MAP_START(gaelco2_state::play2000_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM /* ROM */
AM_RANGE(0x100000, 0x100001) AM_READ_PORT("IN0") /* Coins + other buttons? */
// AM_RANGE(0x110000, 0x110001) ?
@@ -637,7 +637,7 @@ READ16_MEMBER(bang_state::p1_gun_y){return (m_light0_y->read() * 240 / 0x100) -
READ16_MEMBER(bang_state::p2_gun_x){return (m_light1_x->read() * 320 / 0x100) + 1;}
READ16_MEMBER(bang_state::p2_gun_y){return (m_light1_y->read() * 240 / 0x100) - 4;}
-static ADDRESS_MAP_START( bang_map, AS_PROGRAM, 16, bang_state )
+ADDRESS_MAP_START(bang_state::bang_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_SHARE("spriteram") /* Video RAM */
AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelco_cg1v_device, gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
@@ -840,7 +840,7 @@ ROM_END
============================================================================*/
-static ADDRESS_MAP_START( alighunt_map, AS_PROGRAM, 16, gaelco2_state )
+ADDRESS_MAP_START(gaelco2_state::alighunt_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_SHARE("spriteram") /* Video RAM */
AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelco_gae1_device, gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
@@ -1106,7 +1106,7 @@ ROM_END
============================================================================*/
-static ADDRESS_MAP_START( touchgo_map, AS_PROGRAM, 16, gaelco2_state )
+ADDRESS_MAP_START(gaelco2_state::touchgo_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_SHARE("spriteram") /* Video RAM */
AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelco_gae1_device, gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
@@ -1427,7 +1427,7 @@ ROM_END
SNOW BOARD
============================================================================*/
-static ADDRESS_MAP_START( snowboar_map, AS_PROGRAM, 16, gaelco2_state )
+ADDRESS_MAP_START(gaelco2_state::snowboar_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_SHARE("spriteram") /* Video RAM */
AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelco_cg1v_device, gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
@@ -1655,7 +1655,7 @@ ROM_END
WORLD RALLY 2
============================================================================*/
-static ADDRESS_MAP_START( wrally2_map, AS_PROGRAM, 16, wrally2_state )
+ADDRESS_MAP_START(wrally2_state::wrally2_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(gaelco2_vram_w) AM_SHARE("spriteram") /* Video RAM */
AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelco_gae1_device, gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
diff --git a/src/mame/drivers/gaelco3d.cpp b/src/mame/drivers/gaelco3d.cpp
index cb24a24b4e9..5a0bd63dd2c 100644
--- a/src/mame/drivers/gaelco3d.cpp
+++ b/src/mame/drivers/gaelco3d.cpp
@@ -150,7 +150,6 @@ REF. 970429
#include "cpu/adsp2100/adsp2100.h"
#include "cpu/m68000/m68000.h"
#include "cpu/tms32031/tms32031.h"
-#include "machine/74259.h"
#include "speaker.h"
@@ -669,7 +668,7 @@ WRITE_LINE_MEMBER(gaelco3d_state::unknown_13a_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, gaelco3d_state )
+ADDRESS_MAP_START(gaelco3d_state::main_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x400000, 0x40ffff) AM_RAM_WRITE(gaelco3d_paletteram_w) AM_SHARE("paletteram")
@@ -681,45 +680,45 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, gaelco3d_state )
AM_RANGE(0x510042, 0x510043) AM_READ(sound_status_r)
AM_RANGE(0x510100, 0x510101) AM_READWRITE(eeprom_data_r, irq_ack_w)
AM_RANGE(0x510102, 0x510103) AM_DEVREAD8("serial", gaelco_serial_device, data_r, 0x00ff)
- AM_RANGE(0x510102, 0x510103) AM_SELECT(0x000038) AM_DEVWRITE8_MOD("mainlatch", ls259_device, write_d0, rshift<2>, 0x00ff)
+ ;map(0x510102, 0x510103).select(0x000038).lw8("mainlatch_w", [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_mainlatch->write_d0(space, offset >> 2, data, mem_mask); }).umask16(0x00ff);
AM_RANGE(0x510104, 0x510105) AM_DEVWRITE8("serial", gaelco_serial_device, data_w, 0x00ff)
- AM_RANGE(0x510106, 0x510107) AM_SELECT(0x000070) AM_DEVWRITE8_MOD("outlatch", ls259_device, write_d0, rshift<3>, 0x00ff)
+ ;map(0x510106, 0x510107).select(0x000070).lw8("outlatch_w", [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_outlatch->write_d0(space, offset >> 3, data, mem_mask); }).umask16(0x00ff);
AM_RANGE(0xfe0000, 0xfeffff) AM_RAM AM_SHARE("m68k_ram_base")
AM_RANGE(0xfe7f80, 0xfe7fff) AM_WRITE(tms_comm_w) AM_SHARE("tms_comm_base")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main020_map, AS_PROGRAM, 32, gaelco3d_state )
+ADDRESS_MAP_START(gaelco3d_state::main020_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x400000, 0x40ffff) AM_RAM_WRITE(gaelco3d_paletteram_020_w) AM_SHARE("paletteram")
AM_RANGE(0x51000c, 0x51000f) AM_READ_PORT("IN0")
AM_RANGE(0x51001c, 0x51001f) AM_READ_PORT("IN1")
AM_RANGE(0x51002c, 0x51002f) AM_READ_PORT("IN2")
AM_RANGE(0x51003c, 0x51003f) AM_READ_PORT("IN3")
- AM_RANGE(0x510040, 0x510043) AM_READ16(sound_status_r, 0x0000ffff)
- AM_RANGE(0x510040, 0x510043) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff0000)
- AM_RANGE(0x510100, 0x510103) AM_READWRITE16(eeprom_data_r, irq_ack_w, 0xffff0000)
- AM_RANGE(0x510100, 0x510103) AM_DEVREAD8("serial", gaelco_serial_device, data_r, 0x000000ff)
- AM_RANGE(0x510100, 0x510103) AM_SELECT(0x000038) AM_DEVWRITE8_MOD("mainlatch", ls259_device, write_d0, rshift<1>, 0x000000ff)
- AM_RANGE(0x510104, 0x510107) AM_DEVWRITE8("serial", gaelco_serial_device, data_w, 0x00ff0000)
- AM_RANGE(0x510104, 0x510107) AM_SELECT(0x000070) AM_DEVWRITE8_MOD("outlatch", ls259_device, write_d0, rshift<2>, 0x000000ff)
+ AM_RANGE(0x510041, 0x510041) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
+ AM_RANGE(0x510042, 0x510043) AM_READ(sound_status_r)
+ AM_RANGE(0x510100, 0x510101) AM_READWRITE(eeprom_data_r, irq_ack_w)
+ AM_RANGE(0x510103, 0x510103) AM_DEVREAD("serial", gaelco_serial_device, data_r)
+ ;map(0x510103, 0x510103).select(0x000038).lw8("mainlatch_w", [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_mainlatch->write_d0(space, offset >> 1, data, mem_mask); });
+ AM_RANGE(0x510105, 0x510105) AM_DEVWRITE("serial", gaelco_serial_device, data_w)
+ ;map(0x510107, 0x510107).select(0x000070).lw8("outlatch_w", [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_outlatch->write_d0(space, offset >> 2, data, mem_mask); });
AM_RANGE(0xfe0000, 0xfeffff) AM_RAM AM_SHARE("m68k_ram_base")
- AM_RANGE(0xfe7f80, 0xfe7fff) AM_WRITE16(tms_comm_w, 0xffffffff) AM_SHARE("tms_comm_base")
+ AM_RANGE(0xfe7f80, 0xfe7fff) AM_WRITE(tms_comm_w) AM_SHARE("tms_comm_base")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tms_map, AS_PROGRAM, 32, gaelco3d_state )
+ADDRESS_MAP_START(gaelco3d_state::tms_map)
AM_RANGE(0x000000, 0x007fff) AM_READWRITE(tms_m68k_ram_r, tms_m68k_ram_w)
AM_RANGE(0x400000, 0x7fffff) AM_ROM AM_REGION("user2", 0)
AM_RANGE(0xc00000, 0xc00007) AM_WRITE(gaelco3d_render_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( adsp_program_map, AS_PROGRAM, 32, gaelco3d_state )
+ADDRESS_MAP_START(gaelco3d_state::adsp_program_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM AM_SHARE("adsp_ram_base") /* 1k words internal RAM */
AM_RANGE(0x37ff, 0x37ff) AM_READNOP /* speedup hammers this for no apparent reason */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( adsp_data_map, AS_DATA, 16, gaelco3d_state )
+ADDRESS_MAP_START(gaelco3d_state::adsp_data_map)
AM_RANGE(0x0000, 0x0001) AM_WRITE(adsp_rombank_w)
AM_RANGE(0x0000, 0x1fff) AM_ROMBANK("bank1")
AM_RANGE(0x2000, 0x2000) AM_DEVREAD8("soundlatch", generic_latch_8_device, read, 0x00ff) AM_WRITE(sound_status_w)
diff --git a/src/mame/drivers/gaelcopc.cpp b/src/mame/drivers/gaelcopc.cpp
index 316410f22ee..ffcf5ece443 100644
--- a/src/mame/drivers/gaelcopc.cpp
+++ b/src/mame/drivers/gaelcopc.cpp
@@ -40,6 +40,7 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void gaelcopc(machine_config &config);
+ void gaelcopc_map(address_map &map);
protected:
// devices
@@ -59,7 +60,7 @@ uint32_t gaelcopc_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
return 0;
}
-static ADDRESS_MAP_START( gaelcopc_map, AS_PROGRAM, 32, gaelcopc_state )
+ADDRESS_MAP_START(gaelcopc_state::gaelcopc_map)
AM_RANGE(0x00000000, 0x0001ffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/gaiden.cpp b/src/mame/drivers/gaiden.cpp
index 70d0e9712ca..7ea5df25b43 100644
--- a/src/mame/drivers/gaiden.cpp
+++ b/src/mame/drivers/gaiden.cpp
@@ -383,7 +383,7 @@ READ16_MEMBER(gaiden_state::raiga_protection_r)
return m_prot;
}
-static ADDRESS_MAP_START( gaiden_map, AS_PROGRAM, 16, gaiden_state )
+ADDRESS_MAP_START(gaiden_state::gaiden_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x060000, 0x063fff) AM_RAM
AM_RANGE(0x070000, 0x070fff) AM_RAM_WRITE(gaiden_videoram_w) AM_SHARE("videoram")
@@ -409,7 +409,7 @@ static ADDRESS_MAP_START( gaiden_map, AS_PROGRAM, 16, gaiden_state )
AM_RANGE(0x07a808, 0x07a809) AM_WRITE(gaiden_flip_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( drgnbowl_map, AS_PROGRAM, 16, gaiden_state )
+ADDRESS_MAP_START(gaiden_state::drgnbowl_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x060000, 0x063fff) AM_RAM
AM_RANGE(0x070000, 0x070fff) AM_RAM_WRITE(gaiden_videoram_w) AM_SHARE("videoram")
@@ -428,7 +428,7 @@ static ADDRESS_MAP_START( drgnbowl_map, AS_PROGRAM, 16, gaiden_state )
AM_RANGE(0x07f006, 0x07f007) AM_WRITE(gaiden_fgscrollx_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, gaiden_state )
+ADDRESS_MAP_START(gaiden_state::sound_map)
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xefff) AM_ROM /* raiga only */
AM_RANGE(0xf000, 0xf7ff) AM_RAM
@@ -439,12 +439,12 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, gaiden_state )
AM_RANGE(0xfc20, 0xfc20) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( drgnbowl_sound_map, AS_PROGRAM, 8, gaiden_state )
+ADDRESS_MAP_START(gaiden_state::drgnbowl_sound_map)
AM_RANGE(0x0000, 0xf7ff) AM_ROM
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( drgnbowl_sound_port_map, AS_IO, 8, gaiden_state )
+ADDRESS_MAP_START(gaiden_state::drgnbowl_sound_port_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0x80, 0x80) AM_DEVREADWRITE("oki", okim6295_device, read, write)
@@ -904,7 +904,7 @@ Others
2x 8x2 switches DIP
*/
-static ADDRESS_MAP_START( mastninj_sound_map, AS_PROGRAM, 8, gaiden_state )
+ADDRESS_MAP_START(gaiden_state::mastninj_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("adpcm_bank")
AM_RANGE(0xc400, 0xc401) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
@@ -945,7 +945,7 @@ MACHINE_START_MEMBER(gaiden_state,mastninj)
save_item(NAME(m_adpcm_toggle));
}
-static ADDRESS_MAP_START( mastninj_map, AS_PROGRAM, 16, gaiden_state )
+ADDRESS_MAP_START(gaiden_state::mastninj_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x060000, 0x063fff) AM_RAM
AM_RANGE(0x070000, 0x070fff) AM_RAM_WRITE(gaiden_videoram_w) AM_SHARE("videoram")
diff --git a/src/mame/drivers/gal3.cpp b/src/mame/drivers/gal3.cpp
index 9be4714cca6..365935035d7 100644
--- a/src/mame/drivers/gal3.cpp
+++ b/src/mame/drivers/gal3.cpp
@@ -167,6 +167,11 @@ public:
uint32_t screen_update_gal3(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void update_palette( );
void gal3(machine_config &config);
+ void cpu_mst_map(address_map &map);
+ void cpu_slv_map(address_map &map);
+ void psn_b1_cpu_map(address_map &map);
+ void rs_cpu_map(address_map &map);
+ void sound_cpu_map(address_map &map);
};
@@ -332,7 +337,7 @@ WRITE32_MEMBER(gal3_state::rso_w)
}
-static ADDRESS_MAP_START( cpu_mst_map, AS_PROGRAM, 32, gal3_state )
+ADDRESS_MAP_START(gal3_state::cpu_mst_map)
AM_RANGE(0x00000000, 0x001fffff) AM_ROM
AM_RANGE(0x20000000, 0x20001fff) AM_RAM AM_SHARE("nvmem") //NVRAM
/// AM_RANGE(0x40000000, 0x4000ffff) AM_WRITE() //
@@ -349,7 +354,7 @@ static ADDRESS_MAP_START( cpu_mst_map, AS_PROGRAM, 32, gal3_state )
AM_RANGE(0xf2800000, 0xf2800fff) AM_READWRITE(rso_r, rso_w) //RSO PCB
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpu_slv_map, AS_PROGRAM, 32, gal3_state )
+ADDRESS_MAP_START(gal3_state::cpu_slv_map)
AM_RANGE(0x00000000, 0x0007ffff) AM_ROM
/// AM_RANGE(0x40000000, 0x4000ffff) AM_WRITE() //
AM_RANGE(0x44000000, 0x44000003) AM_READ_PORT("DSW_CPU_slv" )
@@ -378,7 +383,7 @@ static ADDRESS_MAP_START( cpu_slv_map, AS_PROGRAM, 32, gal3_state )
AM_RANGE(0xf2760000, 0xf2760003) AM_RAM //AM_READWRITE(namcos21_video_enable_r,namcos21_video_enable_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rs_cpu_map, AS_PROGRAM, 16, gal3_state )
+ADDRESS_MAP_START(gal3_state::rs_cpu_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM //64K working RAM
@@ -442,7 +447,7 @@ static ADDRESS_MAP_START( rs_cpu_map, AS_PROGRAM, 16, gal3_state )
/// AM_RANGE(0xc44000, 0xffffff) AM_RAM /////////////
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_cpu_map, AS_PROGRAM, 16, gal3_state )
+ADDRESS_MAP_START(gal3_state::sound_cpu_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x08ffff) AM_RAM
/// AM_RANGE(0x0c0000, 0x0cffff) AM_RAM //00, 20, 30, 40, 50
@@ -458,7 +463,7 @@ static ADDRESS_MAP_START( sound_cpu_map, AS_PROGRAM, 16, gal3_state )
/// AM_RANGE(0x090000, 0xffffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( psn_b1_cpu_map, AS_PROGRAM, 16, gal3_state )
+ADDRESS_MAP_START(gal3_state::psn_b1_cpu_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0xffffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/galaga.cpp b/src/mame/drivers/galaga.cpp
index 43dbdb722f4..1c6798794da 100644
--- a/src/mame/drivers/galaga.cpp
+++ b/src/mame/drivers/galaga.cpp
@@ -832,7 +832,7 @@ MACHINE_RESET_MEMBER(xevious_state,battles)
/* the same memory map is used by all three CPUs; all RAM areas are shared */
-static ADDRESS_MAP_START( bosco_map, AS_PROGRAM, 8, bosco_state )
+ADDRESS_MAP_START(bosco_state::bosco_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM AM_WRITENOP /* the only area different for each CPU */
AM_RANGE(0x6800, 0x6807) AM_READ(bosco_dsw_r)
AM_RANGE(0x6800, 0x681f) AM_DEVWRITE("namco", namco_device, pacman_sound_w)
@@ -853,7 +853,7 @@ static ADDRESS_MAP_START( bosco_map, AS_PROGRAM, 8, bosco_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( galaga_map, AS_PROGRAM, 8, galaga_state )
+ADDRESS_MAP_START(galaga_state::galaga_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM AM_WRITENOP /* the only area different for each CPU */
AM_RANGE(0x6800, 0x6807) AM_READ(bosco_dsw_r)
AM_RANGE(0x6800, 0x681f) AM_DEVWRITE("namco", namco_device, pacman_sound_w)
@@ -868,13 +868,13 @@ static ADDRESS_MAP_START( galaga_map, AS_PROGRAM, 8, galaga_state )
AM_RANGE(0xa000, 0xa007) AM_DEVWRITE("videolatch", ls259_device, write_d0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gatsbee_main_map, AS_PROGRAM, 8, galaga_state )
+ADDRESS_MAP_START(galaga_state::gatsbee_main_map)
AM_IMPORT_FROM(galaga_map)
AM_RANGE(0x0000, 0x0007) AM_MIRROR(0x3ff8) AM_DEVWRITE("extralatch", ls259_device, write_d0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( xevious_map, AS_PROGRAM, 8, xevious_state )
+ADDRESS_MAP_START(xevious_state::xevious_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM AM_WRITENOP /* the only area different for each CPU */
AM_RANGE(0x6800, 0x6807) AM_READ(bosco_dsw_r)
AM_RANGE(0x6800, 0x681f) AM_DEVWRITE("namco", namco_device, pacman_sound_w)
@@ -895,7 +895,7 @@ static ADDRESS_MAP_START( xevious_map, AS_PROGRAM, 8, xevious_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( digdug_map, AS_PROGRAM, 8, digdug_state )
+ADDRESS_MAP_START(digdug_state::digdug_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM AM_WRITENOP /* the only area different for each CPU */
AM_RANGE(0x6800, 0x681f) AM_DEVWRITE("namco", namco_device, pacman_sound_w)
AM_RANGE(0x6820, 0x6827) AM_DEVWRITE("misclatch", ls259_device, write_d0)
@@ -915,12 +915,12 @@ ADDRESS_MAP_END
/* bootleg 4th CPU replacing the 5xXX chips */
-static ADDRESS_MAP_START( galaga_mem4, AS_PROGRAM, 8, galaga_state )
+ADDRESS_MAP_START(galaga_state::galaga_mem4)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1000, 0x107f) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( battles_mem4, AS_PROGRAM, 8, xevious_state )
+ADDRESS_MAP_START(xevious_state::battles_mem4)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x4000, 0x4003) AM_READ(battles_input_port_r)
AM_RANGE(0x4001, 0x4001) AM_WRITE(battles_CPU4_coin_w)
@@ -930,7 +930,7 @@ static ADDRESS_MAP_START( battles_mem4, AS_PROGRAM, 8, xevious_state )
AM_RANGE(0x8000, 0x80ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dzigzag_mem4, AS_PROGRAM, 8, galaga_state )
+ADDRESS_MAP_START(galaga_state::dzigzag_mem4)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1000, 0x107f) AM_RAM
AM_RANGE(0x4000, 0x4007) AM_READONLY // dip switches? bits 0 & 1 used
diff --git a/src/mame/drivers/galastrm.cpp b/src/mame/drivers/galastrm.cpp
index 3a6b55ac1b1..34412bcab45 100644
--- a/src/mame/drivers/galastrm.cpp
+++ b/src/mame/drivers/galastrm.cpp
@@ -134,7 +134,7 @@ WRITE32_MEMBER(galastrm_state::galastrm_adstick_ctrl_w)
MEMORY STRUCTURES
***********************************************************/
-static ADDRESS_MAP_START( galastrm_map, AS_PROGRAM, 32, galastrm_state )
+ADDRESS_MAP_START(galastrm_state::galastrm_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x200000, 0x21ffff) AM_RAM AM_SHARE("ram") /* main CPUA ram */
AM_RANGE(0x300000, 0x303fff) AM_RAM AM_SHARE("spriteram")
diff --git a/src/mame/drivers/galaxi.cpp b/src/mame/drivers/galaxi.cpp
index ead28299aa9..f5bfbe25034 100644
--- a/src/mame/drivers/galaxi.cpp
+++ b/src/mame/drivers/galaxi.cpp
@@ -113,6 +113,8 @@ public:
void galaxi(machine_config &config);
void lastfour(machine_config &config);
void magjoker(machine_config &config);
+ void galaxi_map(address_map &map);
+ void lastfour_map(address_map &map);
};
@@ -300,7 +302,7 @@ CUSTOM_INPUT_MEMBER(galaxi_state::hopper_r)
Memory Maps
***************************************************************************/
-static ADDRESS_MAP_START( galaxi_map, AS_PROGRAM, 16, galaxi_state )
+ADDRESS_MAP_START(galaxi_state::galaxi_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x1003ff) AM_RAM_WRITE(galaxi_bg1_w) AM_SHARE("bg1_ram")
@@ -324,7 +326,7 @@ static ADDRESS_MAP_START( galaxi_map, AS_PROGRAM, 16, galaxi_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lastfour_map, AS_PROGRAM, 16, galaxi_state )
+ADDRESS_MAP_START(galaxi_state::lastfour_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
// bg3+4 / 1+2 seem to be swapped, order, palettes, scroll register etc. all suggest this
diff --git a/src/mame/drivers/galaxia.cpp b/src/mame/drivers/galaxia.cpp
index 689833aa344..05f09383f48 100644
--- a/src/mame/drivers/galaxia.cpp
+++ b/src/mame/drivers/galaxia.cpp
@@ -131,7 +131,7 @@ READ8_MEMBER(galaxia_state::galaxia_collision_clear)
return 0xff;
}
-static ADDRESS_MAP_START( galaxia_mem_map, AS_PROGRAM, 8, galaxia_state )
+ADDRESS_MAP_START(galaxia_state::galaxia_mem_map)
AM_RANGE(0x0000, 0x13ff) AM_ROM
AM_RANGE(0x1400, 0x14ff) AM_MIRROR(0x6000) AM_RAM AM_SHARE("bullet_ram")
AM_RANGE(0x1500, 0x15ff) AM_MIRROR(0x6000) AM_DEVREADWRITE("s2636_0", s2636_device, read_data, write_data)
@@ -143,7 +143,7 @@ static ADDRESS_MAP_START( galaxia_mem_map, AS_PROGRAM, 8, galaxia_state )
AM_RANGE(0x7214, 0x7214) AM_READ_PORT("IN0")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( astrowar_mem_map, AS_PROGRAM, 8, galaxia_state )
+ADDRESS_MAP_START(galaxia_state::astrowar_mem_map)
AM_RANGE(0x0000, 0x13ff) AM_ROM
AM_RANGE(0x1400, 0x14ff) AM_MIRROR(0x6000) AM_RAM
AM_RANGE(0x1500, 0x15ff) AM_MIRROR(0x6000) AM_DEVREADWRITE("s2636_0", s2636_device, read_data, write_data)
@@ -152,7 +152,7 @@ static ADDRESS_MAP_START( astrowar_mem_map, AS_PROGRAM, 8, galaxia_state )
AM_RANGE(0x2000, 0x33ff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( galaxia_io_map, AS_IO, 8, galaxia_state )
+ADDRESS_MAP_START(galaxia_state::galaxia_io_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x00) AM_WRITE(galaxia_scroll_w) AM_READ_PORT("IN0")
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN1")
@@ -162,7 +162,7 @@ static ADDRESS_MAP_START( galaxia_io_map, AS_IO, 8, galaxia_state )
AM_RANGE(0xac, 0xac) AM_READNOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( galaxia_data_map, AS_DATA, 8, galaxia_state )
+ADDRESS_MAP_START(galaxia_state::galaxia_data_map)
AM_RANGE(S2650_CTRL_PORT, S2650_CTRL_PORT) AM_READWRITE(galaxia_collision_r, galaxia_ctrlport_w)
AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_READWRITE(galaxia_collision_clear, galaxia_dataport_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/galaxian.cpp b/src/mame/drivers/galaxian.cpp
index 23a93ca533b..5a42a489a23 100644
--- a/src/mame/drivers/galaxian.cpp
+++ b/src/mame/drivers/galaxian.cpp
@@ -1549,13 +1549,13 @@ LATCH: (write 7000-77ff)
/* map derived from schematics */
-static ADDRESS_MAP_START( galaxian_map_discrete, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::galaxian_map_discrete)
AM_RANGE(0x6004, 0x6007) AM_MIRROR(0x07f8) AM_DEVWRITE("cust", galaxian_sound_device, lfo_freq_w)
AM_RANGE(0x6800, 0x6807) AM_MIRROR(0x07f8) AM_DEVWRITE("cust", galaxian_sound_device, sound_w)
AM_RANGE(0x7800, 0x7800) AM_MIRROR(0x07ff) AM_DEVWRITE("cust", galaxian_sound_device, pitch_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( galaxian_map_base, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::galaxian_map_base)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x0400) AM_RAM
@@ -1577,20 +1577,20 @@ static ADDRESS_MAP_START( galaxian_map_base, AS_PROGRAM, 8, galaxian_state )
AM_RANGE(0x7800, 0x7800) AM_MIRROR(0x07ff) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( galaxian_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::galaxian_map)
AM_IMPORT_FROM(galaxian_map_base)
AM_IMPORT_FROM(galaxian_map_discrete)
ADDRESS_MAP_END
/* map derived from schematics */
-static ADDRESS_MAP_START( mooncrst_map_discrete, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::mooncrst_map_discrete)
AM_RANGE(0xa004, 0xa007) AM_MIRROR(0x07f8) AM_DEVWRITE("cust", galaxian_sound_device, lfo_freq_w)
AM_RANGE(0xa800, 0xa807) AM_MIRROR(0x07f8) AM_DEVWRITE("cust", galaxian_sound_device, sound_w)
AM_RANGE(0xb800, 0xb800) AM_MIRROR(0x07ff) AM_DEVWRITE("cust", galaxian_sound_device, pitch_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mooncrst_map_base, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::mooncrst_map_base)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x0400) AM_RAM
@@ -1611,17 +1611,17 @@ static ADDRESS_MAP_START( mooncrst_map_base, AS_PROGRAM, 8, galaxian_state )
AM_RANGE(0xb800, 0xb800) AM_MIRROR(0x07ff) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( moonqsr_decrypted_opcodes_map, AS_OPCODES, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::moonqsr_decrypted_opcodes_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM AM_SHARE("decrypted_opcodes")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mooncrst_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::mooncrst_map)
AM_IMPORT_FROM(mooncrst_map_base)
AM_IMPORT_FROM(mooncrst_map_discrete)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fantastc_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::fantastc_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
@@ -1639,7 +1639,7 @@ static ADDRESS_MAP_START( fantastc_map, AS_PROGRAM, 8, galaxian_state )
AM_RANGE(0xfffe, 0xfffe) AM_NOP // ?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( timefgtr_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::timefgtr_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
@@ -1659,7 +1659,7 @@ static ADDRESS_MAP_START( timefgtr_map, AS_PROGRAM, 8, galaxian_state )
// AM_RANGE(0xfff8, 0xffff) AM_WRITENOP // sound related?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( zigzag_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::zigzag_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x2fff) AM_ROMBANK("bank1")
@@ -1683,7 +1683,7 @@ ADDRESS_MAP_END
/* map derived from schematics */
-static ADDRESS_MAP_START( theend_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::theend_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
@@ -1701,7 +1701,7 @@ static ADDRESS_MAP_START( theend_map, AS_PROGRAM, 8, galaxian_state )
ADDRESS_MAP_END
/* map not derived from schematics. Used by explorer and takeoff */
-static ADDRESS_MAP_START( explorer_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::explorer_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
@@ -1725,7 +1725,7 @@ static ADDRESS_MAP_START( explorer_map, AS_PROGRAM, 8, galaxian_state )
ADDRESS_MAP_END
/* map derived from schematics */
-static ADDRESS_MAP_START( scobra_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::scobra_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_MIRROR(0x4000) AM_RAM
@@ -1744,7 +1744,7 @@ static ADDRESS_MAP_START( scobra_map, AS_PROGRAM, 8, galaxian_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( anteateruk_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::anteateruk_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x03ff) AM_ROM
AM_RANGE(0x0400, 0x0bff) AM_RAM
@@ -1764,7 +1764,7 @@ static ADDRESS_MAP_START( anteateruk_map, AS_PROGRAM, 8, galaxian_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spactrai_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::spactrai_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x01ff) AM_ROM
AM_RANGE(0x0200, 0x05ff) AM_RAM // this sits over ROM, does the 0x400 bytes of ROM underneath bank or appear elsewhere?
@@ -1798,7 +1798,7 @@ static ADDRESS_MAP_START( spactrai_map, AS_PROGRAM, 8, galaxian_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( anteaterg_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::anteaterg_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x03ff) AM_ROM
AM_RANGE(0x0400, 0x0bff) AM_RAM
@@ -1819,7 +1819,7 @@ static ADDRESS_MAP_START( anteaterg_map, AS_PROGRAM, 8, galaxian_state )
AM_RANGE(0xf600, 0xf603) AM_MIRROR(0x01fc) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( anteatergg_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::anteatergg_map)
ADDRESS_MAP_UNMAP_HIGH
AM_IMPORT_FROM(galaxian_map_discrete)
AM_RANGE(0x0000, 0x3fff) AM_ROM
@@ -1841,7 +1841,7 @@ static ADDRESS_MAP_START( anteatergg_map, AS_PROGRAM, 8, galaxian_state )
ADDRESS_MAP_END
/* map derived from schematics */
-static ADDRESS_MAP_START( frogger_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::frogger_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
@@ -1858,7 +1858,7 @@ ADDRESS_MAP_END
/* map derived from schematics */
-static ADDRESS_MAP_START( turtles_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::turtles_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_MIRROR(0x4000) AM_RAM
@@ -1879,7 +1879,7 @@ ADDRESS_MAP_END
/* map NOT derived from schematics */
-static ADDRESS_MAP_START( amigo2_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::amigo2_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x4000) AM_READ_PORT("IN0") AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
AM_RANGE(0x4001, 0x4001) AM_READ_PORT("IN1")
@@ -1900,7 +1900,7 @@ static ADDRESS_MAP_START( amigo2_map, AS_PROGRAM, 8, galaxian_state )
AM_RANGE(0xa800, 0xa800) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( turpins_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::turpins_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_SHARE("videoram")
@@ -1919,7 +1919,7 @@ ADDRESS_MAP_END
/* this is the same as theend, except for separate RGB background controls
and some extra ROM space at $7000 and $C000 */
-static ADDRESS_MAP_START( sfx_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::sfx_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_SHARE("videoram")
@@ -1938,7 +1938,7 @@ static ADDRESS_MAP_START( sfx_map, AS_PROGRAM, 8, galaxian_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( monsterz_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::monsterz_map)
AM_RANGE(0x0000, 0x37ff) AM_ROM
AM_RANGE(0x3800, 0x3fff) AM_RAM // extra RAM used by protection
AM_RANGE(0x4000, 0x47ff) AM_RAM
@@ -1967,7 +1967,7 @@ ADDRESS_MAP_END
$8000-$afff: additional ROM area
$b000-$bfff: protection
*/
-static ADDRESS_MAP_START( jumpbug_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::jumpbug_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
@@ -1989,7 +1989,7 @@ static ADDRESS_MAP_START( jumpbug_map, AS_PROGRAM, 8, galaxian_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( frogf_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::frogf_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
@@ -2006,7 +2006,7 @@ ADDRESS_MAP_END
/* mooncrst */
-static ADDRESS_MAP_START( mshuttle_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::mshuttle_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM
@@ -2025,11 +2025,11 @@ static ADDRESS_MAP_START( mshuttle_map, AS_PROGRAM, 8, galaxian_state )
AM_RANGE(0xb800, 0xb800) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mshuttle_decrypted_opcodes_map, AS_OPCODES, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::mshuttle_decrypted_opcodes_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_SHARE("decrypted_opcodes")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mshuttle_portmap, AS_IO, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::mshuttle_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x0f)
AM_RANGE(0x08, 0x08) AM_WRITE(mshuttle_ay8910_control_w)
@@ -2053,7 +2053,7 @@ WRITE8_MEMBER(galaxian_state::tenspot_unk_e000_w)
logerror("tenspot_unk_e000_w %02x\n",data);
}
-static ADDRESS_MAP_START( tenspot_select_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::tenspot_select_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x07ff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
@@ -2083,7 +2083,7 @@ WRITE8_MEMBER(galaxian_state::froggeram_ppi8255_w)
if (offset & 0x0200) m_ppi8255[1]->write(space, offset & 3, data);
}
-static ADDRESS_MAP_START( froggeram_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::froggeram_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_READWRITE(froggeram_ppi8255_r, froggeram_ppi8255_w)
@@ -2104,40 +2104,40 @@ ADDRESS_MAP_END
*************************************/
/* Konami Frogger with 1 x AY-8910A */
-static ADDRESS_MAP_START( frogger_sound_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::frogger_sound_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x1c00) AM_RAM
AM_RANGE(0x6000, 0x6fff) AM_MIRROR(0x1000) AM_WRITE(konami_sound_filter_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( frogger_sound_portmap, AS_IO, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::frogger_sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0xff) AM_READWRITE(frogger_ay8910_r, frogger_ay8910_w)
ADDRESS_MAP_END
/* Konami generic with 2 x AY-8910A */
-static ADDRESS_MAP_START( konami_sound_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::konami_sound_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x6c00) AM_RAM
AM_RANGE(0x9000, 0x9fff) AM_MIRROR(0x6000) AM_WRITE(konami_sound_filter_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( konami_sound_portmap, AS_IO, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::konami_sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0xff) AM_READWRITE(konami_ay8910_r, konami_ay8910_w)
ADDRESS_MAP_END
/* Checkman with 1 x AY-8910A */
-static ADDRESS_MAP_START( checkman_sound_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::checkman_sound_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( checkman_sound_portmap, AS_IO, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::checkman_sound_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x03, 0x03) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -2147,7 +2147,7 @@ ADDRESS_MAP_END
/* Checkman alternate with 1 x AY-8910A */
-static ADDRESS_MAP_START( checkmaj_sound_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::checkmaj_sound_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM
@@ -2158,12 +2158,12 @@ ADDRESS_MAP_END
/* Take Off with 1x AY-8912*/
-static ADDRESS_MAP_START( takeoff_sound_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::takeoff_sound_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x6c00) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( takeoff_sound_portmap, AS_IO, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::takeoff_sound_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x20, 0x20) AM_READ(konami_sound_timer_r)
@@ -2172,14 +2172,14 @@ static ADDRESS_MAP_START( takeoff_sound_portmap, AS_IO, 8, galaxian_state )
ADDRESS_MAP_END
/* King and Balloon with DAC */
-static ADDRESS_MAP_START( kingball_sound_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::kingball_sound_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x0000, 0x03ff) AM_MIRROR(0x1c00) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kingball_sound_portmap, AS_IO, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::kingball_sound_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_MIRROR(0xff) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_WRITE(kingball_dac_w)
@@ -2187,17 +2187,17 @@ ADDRESS_MAP_END
/* SF-X sample player */
-static ADDRESS_MAP_START( sfx_sample_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::sfx_sample_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x6c00) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sfx_sample_portmap, AS_IO, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::sfx_sample_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0xff) AM_READWRITE(sfx_sample_io_r, sfx_sample_io_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( turpins_sound_map, AS_PROGRAM, 8, galaxian_state )
+ADDRESS_MAP_START(galaxian_state::turpins_sound_map)
AM_IMPORT_FROM(konami_sound_map)
AM_RANGE(0x9000, 0x9000) AM_READ(konami_sound_timer_r) // why does it read it here AND from the AY port?
ADDRESS_MAP_END
@@ -5863,7 +5863,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(galaxian_state::moonqsr, mooncrst)
MCFG_CPU_MODIFY("maincpu")
- MCFG_CPU_DECRYPTED_OPCODES_MAP(moonqsr_decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(moonqsr_decrypted_opcodes_map)
MACHINE_CONFIG_END
@@ -5968,7 +5968,7 @@ MACHINE_CONFIG_DERIVED(galaxian_state::mshuttle, galaxian_base)
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(mshuttle_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(mshuttle_decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(mshuttle_decrypted_opcodes_map)
MCFG_CPU_IO_MAP(mshuttle_portmap)
/* sound hardware */
diff --git a/src/mame/drivers/galaxold.cpp b/src/mame/drivers/galaxold.cpp
index a21b80b5d7c..e276f25de76 100644
--- a/src/mame/drivers/galaxold.cpp
+++ b/src/mame/drivers/galaxold.cpp
@@ -145,7 +145,7 @@ READ8_MEMBER(galaxold_state::drivfrcg_port0_r)
return 0;
}
-static ADDRESS_MAP_START( galaxold_map, AS_PROGRAM, 8, galaxold_state )
+ADDRESS_MAP_START(galaxold_state::galaxold_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x5000, 0x53ff) AM_RAM_WRITE(galaxold_videoram_w) AM_SHARE("videoram")
@@ -175,7 +175,7 @@ static ADDRESS_MAP_START( galaxold_map, AS_PROGRAM, 8, galaxold_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mooncrst_map, AS_PROGRAM, 8, galaxold_state )
+ADDRESS_MAP_START(galaxold_state::mooncrst_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(galaxold_videoram_w) AM_SHARE("videoram")
@@ -202,7 +202,7 @@ static ADDRESS_MAP_START( mooncrst_map, AS_PROGRAM, 8, galaxold_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hustlerb3_map, AS_PROGRAM, 8, galaxold_state )
+ADDRESS_MAP_START(galaxold_state::hustlerb3_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
@@ -228,7 +228,7 @@ static ADDRESS_MAP_START( hustlerb3_map, AS_PROGRAM, 8, galaxold_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rockclim_map, AS_PROGRAM, 8, galaxold_state )
+ADDRESS_MAP_START(galaxold_state::rockclim_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_READWRITE(rockclim_videoram_r, rockclim_videoram_w) AM_SHARE("rockclim_vram")//4800 - 4803 = bg scroll ?
AM_RANGE(0x4800, 0x4803) AM_WRITE(rockclim_scroll_w)
@@ -260,7 +260,7 @@ static ADDRESS_MAP_START( rockclim_map, AS_PROGRAM, 8, galaxold_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ckongg_map, AS_PROGRAM, 8, galaxold_state )
+ADDRESS_MAP_START(galaxold_state::ckongg_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM
AM_RANGE(0x9000, 0x93ff) AM_READWRITE(galaxold_videoram_r, galaxold_videoram_w) AM_SHARE("videoram")
@@ -287,7 +287,7 @@ static ADDRESS_MAP_START( ckongg_map, AS_PROGRAM, 8, galaxold_state )
ADDRESS_MAP_END
/* Memory map based on mooncrst_map according to Z80 code - seems to be good but needs further checking */
-static ADDRESS_MAP_START( ckongmc_map, AS_PROGRAM, 8, galaxold_state )
+ADDRESS_MAP_START(galaxold_state::ckongmc_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM
AM_RANGE(0x9000, 0x93ff) AM_READWRITE(galaxold_videoram_r, galaxold_videoram_w) AM_SHARE("videoram")
@@ -314,7 +314,7 @@ static ADDRESS_MAP_START( ckongmc_map, AS_PROGRAM, 8, galaxold_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( scramblb_map, AS_PROGRAM, 8, galaxold_state )
+ADDRESS_MAP_START(galaxold_state::scramblb_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x4800, 0x4bff) AM_RAM_WRITE(galaxold_videoram_w) AM_SHARE("videoram")
@@ -349,7 +349,7 @@ READ8_MEMBER(galaxold_state::scramb2_port0_r){ return (ioport("IN0")->read() >>
READ8_MEMBER(galaxold_state::scramb2_port1_r){ return (ioport("IN1")->read() >> offset) & 0x1; }
READ8_MEMBER(galaxold_state::scramb2_port2_r){ return (ioport("IN2")->read() >> offset) & 0x1; }
-static ADDRESS_MAP_START( scramb2_map, AS_PROGRAM, 8, galaxold_state )
+ADDRESS_MAP_START(galaxold_state::scramb2_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x4800, 0x4bff) AM_RAM_WRITE(galaxold_videoram_w) AM_SHARE("videoram")
@@ -380,7 +380,7 @@ READ8_MEMBER( galaxold_state::scrambler_protection_2_r )
}
// there are still unmapped reads / writes, it's not really clear what gets hooked up to where on these bootlegs, if they go anywhere at all
-static ADDRESS_MAP_START( scrambler_map, AS_PROGRAM, 8, galaxold_state )
+ADDRESS_MAP_START(galaxold_state::scrambler_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
@@ -430,7 +430,7 @@ WRITE8_MEMBER( galaxold_state::guttang_rombank_w )
}
-static ADDRESS_MAP_START( guttang_map, AS_PROGRAM, 8, galaxold_state )
+ADDRESS_MAP_START(galaxold_state::guttang_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM AM_WRITENOP // 0x2000-0x27ff is banked (so they have room for the new music player), see init
AM_RANGE(0x4000, 0x47ff) AM_RAM
@@ -458,7 +458,7 @@ static ADDRESS_MAP_START( guttang_map, AS_PROGRAM, 8, galaxold_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( _4in1_map, AS_PROGRAM, 8, galaxold_state )
+ADDRESS_MAP_START(galaxold_state::_4in1_map)
AM_RANGE(0x0000, 0x3fff) AM_ROMBANK("bank1") /* banked game code */
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x5000, 0x53ff) AM_RAM_WRITE(galaxold_videoram_w) AM_SHARE("videoram")
@@ -489,7 +489,7 @@ static ADDRESS_MAP_START( _4in1_map, AS_PROGRAM, 8, galaxold_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bagmanmc_map, AS_PROGRAM, 8, galaxold_state )
+ADDRESS_MAP_START(galaxold_state::bagmanmc_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM
AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(galaxold_videoram_w) AM_SHARE("videoram")
@@ -511,7 +511,7 @@ static ADDRESS_MAP_START( bagmanmc_map, AS_PROGRAM, 8, galaxold_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dkongjrm_map, AS_PROGRAM, 8, galaxold_state )
+ADDRESS_MAP_START(galaxold_state::dkongjrm_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM
AM_RANGE(0x7000, 0x7fff) AM_ROM
@@ -537,7 +537,7 @@ static ADDRESS_MAP_START( dkongjrm_map, AS_PROGRAM, 8, galaxold_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dkongjrmc_map, AS_PROGRAM, 8, galaxold_state )
+ADDRESS_MAP_START(galaxold_state::dkongjrmc_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM
AM_RANGE(0x7000, 0x73ff) AM_RAM_WRITE(galaxold_videoram_w)
@@ -563,7 +563,7 @@ static ADDRESS_MAP_START( dkongjrmc_map, AS_PROGRAM, 8, galaxold_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tazzmang, AS_PROGRAM, 8, galaxold_state )
+ADDRESS_MAP_START(galaxold_state::tazzmang)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x7000, 0x7000) AM_READ_PORT("DSW0") /* mirror */
AM_RANGE(0x8000, 0x87ff) AM_RAM
@@ -588,7 +588,7 @@ static ADDRESS_MAP_START( tazzmang, AS_PROGRAM, 8, galaxold_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bongo, AS_PROGRAM, 8, galaxold_state )
+ADDRESS_MAP_START(galaxold_state::bongo)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM
AM_RANGE(0x8400, 0x87ff) AM_WRITENOP // not used
@@ -607,14 +607,14 @@ static ADDRESS_MAP_START( bongo, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0xb800, 0xb800) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bongo_io, AS_IO, 8, galaxold_state )
+ADDRESS_MAP_START(galaxold_state::bongo_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
AM_RANGE(0x02, 0x02) AM_DEVREAD("aysnd", ay8910_device, data_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ozon1_map, AS_PROGRAM, 8, galaxold_state )
+ADDRESS_MAP_START(galaxold_state::ozon1_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x4000, 0x4200) AM_RAM
AM_RANGE(0x4300, 0x43ff) AM_RAM
@@ -632,13 +632,13 @@ static ADDRESS_MAP_START( ozon1_map, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0x8103, 0x8103) AM_WRITENOP //only one 9b at reset
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ozon1_io_map, AS_IO, 8, galaxold_state )
+ADDRESS_MAP_START(galaxold_state::ozon1_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hunchbkg, AS_PROGRAM, 8, galaxold_state )
+ADDRESS_MAP_START(galaxold_state::hunchbkg)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1480, 0x14bf) AM_MIRROR(0x6000) AM_RAM_WRITE(galaxold_attributesram_w) AM_SHARE("attributesram")
AM_RANGE(0x14c0, 0x14ff) AM_MIRROR(0x6000) AM_WRITEONLY AM_SHARE("spriteram")
@@ -663,7 +663,7 @@ static ADDRESS_MAP_START( hunchbkg, AS_PROGRAM, 8, galaxold_state )
ADDRESS_MAP_END
/* hunchbkg style */
-static ADDRESS_MAP_START( spcwarp, AS_PROGRAM, 8, galaxold_state )
+ADDRESS_MAP_START(galaxold_state::spcwarp)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1480, 0x14bf) AM_MIRROR(0x6000) AM_RAM_WRITE(galaxold_attributesram_w) AM_SHARE("attributesram")
AM_RANGE(0x14c0, 0x14ff) AM_MIRROR(0x6000) AM_WRITEONLY AM_SHARE("spriteram")
@@ -689,12 +689,12 @@ static ADDRESS_MAP_START( spcwarp, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0x6000, 0x6fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hunchbkg_data, AS_DATA, 8, galaxold_state )
+ADDRESS_MAP_START(galaxold_state::hunchbkg_data)
AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_READNOP // not used
ADDRESS_MAP_END
-static ADDRESS_MAP_START( drivfrcg, AS_PROGRAM, 8, galaxold_state )
+ADDRESS_MAP_START(galaxold_state::drivfrcg)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1480, 0x14bf) AM_MIRROR(0x6000) AM_WRITE(galaxold_attributesram_w) AM_SHARE("attributesram")
AM_RANGE(0x14c0, 0x14ff) AM_MIRROR(0x6000) AM_WRITEONLY AM_SHARE("spriteram")
@@ -716,12 +716,12 @@ static ADDRESS_MAP_START( drivfrcg, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0x6000, 0x6fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( drivfrcg_io, AS_IO, 8, galaxold_state )
+ADDRESS_MAP_START(galaxold_state::drivfrcg_io)
AM_RANGE(0x00, 0x00) AM_READ(drivfrcg_port0_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( racknrol, AS_PROGRAM, 8, galaxold_state )
+ADDRESS_MAP_START(galaxold_state::racknrol)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1400, 0x143f) AM_MIRROR(0x6000) AM_RAM_WRITE(galaxold_attributesram_w) AM_SHARE("attributesram")
AM_RANGE(0x1440, 0x14bf) AM_MIRROR(0x6000) AM_RAM AM_SHARE("spriteram")
@@ -742,7 +742,7 @@ static ADDRESS_MAP_START( racknrol, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0x6000, 0x6fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( racknrol_io, AS_IO, 8, galaxold_state )
+ADDRESS_MAP_START(galaxold_state::racknrol_io)
AM_RANGE(0x1d, 0x1d) AM_DEVWRITE("snsnd", sn76489a_device, write)
// AM_RANGE(0x1e, 0x1e) AM_WRITENOP
// AM_RANGE(0x1f, 0x1f) AM_WRITENOP
@@ -763,12 +763,12 @@ READ8_MEMBER(galaxold_state::hexpoola_data_port_r)
return 0;
}
-static ADDRESS_MAP_START( hexpoola_io, AS_IO, 8, galaxold_state )
+ADDRESS_MAP_START(galaxold_state::hexpoola_io)
AM_RANGE(0x00, 0x00) AM_READNOP
AM_RANGE(0x20, 0x3f) AM_WRITE(racknrol_tiles_bank_w) AM_SHARE("racknrol_tbank")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hexpoola_data, AS_DATA, 8, galaxold_state )
+ADDRESS_MAP_START(galaxold_state::hexpoola_data)
AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_READ(hexpoola_data_port_r) AM_DEVWRITE("snsnd", sn76496_device, write)
ADDRESS_MAP_END
@@ -793,7 +793,7 @@ READ8_MEMBER(galaxold_state::bullsdrtg_data_port_r)
return 0;
}
-static ADDRESS_MAP_START( bullsdrtg_data_map, AS_IO, 8, galaxold_state )
+ADDRESS_MAP_START(galaxold_state::bullsdrtg_data_map)
AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_READ(bullsdrtg_data_port_r) AM_DEVWRITE("snsnd", sn76496_device, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/galaxy.cpp b/src/mame/drivers/galaxy.cpp
index bc6f93ab70c..57275eb5c2f 100644
--- a/src/mame/drivers/galaxy.cpp
+++ b/src/mame/drivers/galaxy.cpp
@@ -38,7 +38,7 @@ Galaksija driver by Krzysztof Strzecha and Miodrag Milanovic
#include "speaker.h"
-static ADDRESS_MAP_START (galaxyp_io, AS_IO, 8, galaxy_state )
+ADDRESS_MAP_START(galaxy_state::galaxyp_io)
ADDRESS_MAP_GLOBAL_MASK(0x01)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x00) AM_DEVWRITE("ay8910", ay8910_device, address_w)
@@ -46,13 +46,13 @@ static ADDRESS_MAP_START (galaxyp_io, AS_IO, 8, galaxy_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START (galaxy_mem, AS_PROGRAM, 8, galaxy_state )
+ADDRESS_MAP_START(galaxy_state::galaxy_mem)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x2000, 0x2037) AM_MIRROR(0x07c0) AM_READ(galaxy_keyboard_r )
AM_RANGE(0x2038, 0x203f) AM_MIRROR(0x07c0) AM_WRITE(galaxy_latch_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START (galaxyp_mem, AS_PROGRAM, 8, galaxy_state )
+ADDRESS_MAP_START(galaxy_state::galaxyp_mem)
AM_RANGE(0x0000, 0x0fff) AM_ROM // ROM A
AM_RANGE(0x1000, 0x1fff) AM_ROM // ROM B
AM_RANGE(0x2000, 0x2037) AM_MIRROR(0x07c0) AM_READ(galaxy_keyboard_r )
diff --git a/src/mame/drivers/galeb.cpp b/src/mame/drivers/galeb.cpp
index 5712dfa87ba..4439da6cb13 100644
--- a/src/mame/drivers/galeb.cpp
+++ b/src/mame/drivers/galeb.cpp
@@ -64,7 +64,7 @@ READ8_MEMBER(galeb_state::tape_data_r)
}
/* Address maps */
-static ADDRESS_MAP_START(galeb_mem, AS_PROGRAM, 8, galeb_state )
+ADDRESS_MAP_START(galeb_state::galeb_mem)
AM_RANGE( 0x0000, 0x1fff ) AM_RAM // RAM
AM_RANGE( 0xbfe0, 0xbfe7 ) AM_READ(keyboard_r )
AM_RANGE( 0xbfe0, 0xbfe0 ) AM_WRITE(dac_w)
diff --git a/src/mame/drivers/galgame.cpp b/src/mame/drivers/galgame.cpp
index 21c91b9618f..699f4e7300a 100644
--- a/src/mame/drivers/galgame.cpp
+++ b/src/mame/drivers/galgame.cpp
@@ -57,6 +57,7 @@ public:
required_device<cpu_device> m_maincpu;
required_device<palette_device> m_palette;
void galaxygame(machine_config &config);
+ void galaxygame_map(address_map &map);
};
/*************************************
@@ -285,7 +286,7 @@ WRITE16_MEMBER(galaxygame_state::clk_w)
m_clk = data;
}
-static ADDRESS_MAP_START( galaxygame_map, AS_PROGRAM, 16, galaxygame_state )
+ADDRESS_MAP_START(galaxygame_state::galaxygame_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0xfec0, 0xfecf) AM_READWRITE(ke_r, ke_w)
AM_RANGE(0xff52, 0xff53) AM_READWRITE(y_r, y_w) // 177522 Y
diff --git a/src/mame/drivers/galgames.cpp b/src/mame/drivers/galgames.cpp
index 4dc231546c1..7e5764b130f 100644
--- a/src/mame/drivers/galgames.cpp
+++ b/src/mame/drivers/galgames.cpp
@@ -244,7 +244,7 @@ public:
// construction/destruction
galgames_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- DECLARE_ADDRESS_MAP(slot_map, 16);
+ void slot_map(address_map &map);
DECLARE_READ16_MEMBER(read) { return m_space->read_word(offset * 2, mem_mask); }
DECLARE_WRITE16_MEMBER(write) { m_space->write_word(offset * 2, data, mem_mask); }
@@ -559,7 +559,7 @@ WRITE_LINE_MEMBER(galgames_cart_device::eeprom_cs_write)
// SLOT implementation
-DEVICE_ADDRESS_MAP_START( slot_map, 16, galgames_slot_device )
+ADDRESS_MAP_START(galgames_slot_device::slot_map)
AM_RANGE( 0x000000, 0x1fffff ) AM_READ(rom0_r)
AM_RANGE( 0x000000, 0x03ffff ) AM_READWRITE(rom0_or_ram_r, ram_w) AM_SHARE("ram")
AM_RANGE( 0x200000, 0x3fffff ) AM_READ(rom_r)
@@ -569,7 +569,7 @@ ADDRESS_MAP_END
galgames_slot_device::galgames_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, GALGAMES_SLOT, tag, owner, clock),
device_memory_interface(mconfig, *this),
- m_space_config("slot_space", ENDIANNESS_BIG, 16,22, 0, address_map_delegate(FUNC(galgames_slot_device::slot_map), this)),
+ m_space_config("slot_space", ENDIANNESS_BIG, 16,22, 0, address_map_constructor(FUNC(galgames_slot_device::slot_map), this)),
m_ram(*this, "ram"),
m_cart0(*this, "^cart0"),
m_cart1(*this, "^cart1"),
@@ -752,6 +752,8 @@ public:
void galgbios(machine_config &config);
void galgame2(machine_config &config);
void galgame3(machine_config &config);
+ void blitter_map(address_map &map);
+ void galgames_map(address_map &map);
protected:
required_device<cpu_device> m_maincpu;
required_device<screen_device> m_screen;
@@ -857,7 +859,7 @@ READ16_MEMBER(galgames_state::fpga_status_r)
return 0x3; // Pass the check at PC = 0xfae & a later one
}
-static ADDRESS_MAP_START( galgames_map, AS_PROGRAM, 16, galgames_state )
+ADDRESS_MAP_START(galgames_state::galgames_map)
AM_RANGE( 0x000000, 0x3fffff ) AM_DEVREADWRITE("slot", galgames_slot_device, read, write )
AM_RANGE( 0x400000, 0x400011 ) AM_DEVWRITE("blitter", cesblit_device, regs_w )
@@ -891,7 +893,7 @@ static ADDRESS_MAP_START( galgames_map, AS_PROGRAM, 16, galgames_state )
AM_RANGE( 0xd00014, 0xd00015 ) AM_DEVREADWRITE8("slot", galgames_slot_device, pic_status_r, ram_sel_w, 0x00ff )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( blitter_map, AS_PROGRAM, 16, galgames_state )
+ADDRESS_MAP_START(galgames_state::blitter_map)
AM_RANGE( 0x000000, 0x1fffff ) AM_DEVREAD(":slot", galgames_slot_device, rom_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/galivan.cpp b/src/mame/drivers/galivan.cpp
index 908420ea3a6..e715d58e5b2 100644
--- a/src/mame/drivers/galivan.cpp
+++ b/src/mame/drivers/galivan.cpp
@@ -62,7 +62,7 @@ READ8_MEMBER(galivan_state::IO_port_c0_r)
-static ADDRESS_MAP_START( galivan_map, AS_PROGRAM, 8, galivan_state )
+ADDRESS_MAP_START(galivan_state::galivan_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_ROMBANK("bank1")
@@ -72,7 +72,7 @@ static ADDRESS_MAP_START( galivan_map, AS_PROGRAM, 8, galivan_state )
AM_RANGE(0xe100, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ninjemak_map, AS_PROGRAM, 8, galivan_state )
+ADDRESS_MAP_START(galivan_state::ninjemak_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_ROMBANK("bank1")
@@ -82,7 +82,7 @@ static ADDRESS_MAP_START( ninjemak_map, AS_PROGRAM, 8, galivan_state )
AM_RANGE(0xe200, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, galivan_state )
+ADDRESS_MAP_START(galivan_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("P1")
AM_RANGE(0x01, 0x01) AM_READ_PORT("P2")
@@ -103,7 +103,7 @@ WRITE8_MEMBER(galivan_state::blit_trigger_w)
m_nb1414m4->exec((m_videoram[0] << 8) | (m_videoram[1] & 0xff),m_videoram,m_scrollx,m_scrolly,m_tx_tilemap);
}
-static ADDRESS_MAP_START( ninjemak_io_map, AS_IO, 8, galivan_state )
+ADDRESS_MAP_START(galivan_state::ninjemak_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x80, 0x80) AM_READ_PORT("P1") AM_WRITE(ninjemak_gfxbank_w)
AM_RANGE(0x81, 0x81) AM_READ_PORT("P2")
@@ -115,12 +115,12 @@ static ADDRESS_MAP_START( ninjemak_io_map, AS_IO, 8, galivan_state )
// AM_RANGE(0x87, 0x87) AM_WRITENOP // ??
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, galivan_state )
+ADDRESS_MAP_START(galivan_state::sound_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, galivan_state )
+ADDRESS_MAP_START(galivan_state::sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("ymsnd", ym3526_device, write)
AM_RANGE(0x02, 0x02) AM_DEVWRITE("dac1", dac_byte_interface, write)
diff --git a/src/mame/drivers/galpani2.cpp b/src/mame/drivers/galpani2.cpp
index 878b2d55b9f..5492ef0c61e 100644
--- a/src/mame/drivers/galpani2.cpp
+++ b/src/mame/drivers/galpani2.cpp
@@ -347,7 +347,7 @@ WRITE8_MEMBER(galpani2_state::galpani2_oki2_bank_w)
}
-static ADDRESS_MAP_START( galpani2_mem1, AS_PROGRAM, 16, galpani2_state )
+ADDRESS_MAP_START(galpani2_state::galpani2_mem1)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_SHARE("ram") // Work RAM
AM_RANGE(0x110000, 0x11000f) AM_RAM // ? corrupted? stack dumper on POST failure, pc+sr on gp2se
@@ -415,7 +415,7 @@ WRITE16_MEMBER(galpani2_state::subdatabank_select_w)
}
-static ADDRESS_MAP_START( galpani2_mem2, AS_PROGRAM, 16, galpani2_state )
+ADDRESS_MAP_START(galpani2_state::galpani2_mem2)
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x13ffff) AM_RAM AM_SHARE("ram2") // Work RAM
AM_RANGE(0x400000, 0x5fffff) AM_RAM AM_SHARE("bg15") // bg15
diff --git a/src/mame/drivers/galpani3.cpp b/src/mame/drivers/galpani3.cpp
index 3db9950f207..ef776b0529c 100644
--- a/src/mame/drivers/galpani3.cpp
+++ b/src/mame/drivers/galpani3.cpp
@@ -124,6 +124,7 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(galpani3_vblank);
int gp3_is_alpha_pen(int pen);
void galpani3(machine_config &config);
+ void galpani3_map(address_map &map);
};
@@ -465,7 +466,7 @@ WRITE16_MEMBER(galpani3_state::galpani3_priority_buffer_scrolly_w)
-static ADDRESS_MAP_START( galpani3_map, AS_PROGRAM, 16, galpani3_state )
+ADDRESS_MAP_START(galpani3_state::galpani3_map)
AM_RANGE(0x000000, 0x17ffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // area [B] - Work RAM
diff --git a/src/mame/drivers/galpanic.cpp b/src/mame/drivers/galpanic.cpp
index 2f35f349c6e..8fba54894a1 100644
--- a/src/mame/drivers/galpanic.cpp
+++ b/src/mame/drivers/galpanic.cpp
@@ -133,7 +133,7 @@ WRITE16_MEMBER(galpanic_state::coin_w)
-static ADDRESS_MAP_START( galpanic_map, AS_PROGRAM, 16, galpanic_state )
+ADDRESS_MAP_START(galpanic_state::galpanic_map)
AM_RANGE(0x000000, 0x3fffff) AM_ROM
AM_RANGE(0x400000, 0x400001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x500000, 0x51ffff) AM_RAM AM_SHARE("fgvideoram")
@@ -151,12 +151,12 @@ static ADDRESS_MAP_START( galpanic_map, AS_PROGRAM, 16, galpanic_state )
AM_RANGE(0xd00000, 0xd00001) AM_WRITENOP /* ??? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( galpanica_map, AS_PROGRAM, 16, galpanic_state )
+ADDRESS_MAP_START(galpanic_state::galpanica_map)
AM_IMPORT_FROM(galpanic_map)
AM_RANGE(0xe00000, 0xe00015) AM_DEVREADWRITE("calc1_mcu", kaneko_hit_device, kaneko_hit_r,kaneko_hit_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( galpanic_oki_map, 0, 8, galpanic_state )
+ADDRESS_MAP_START(galpanic_state::galpanic_oki_map)
AM_RANGE(0x00000, 0x2ffff) AM_ROM
AM_RANGE(0x30000, 0x3ffff) AM_ROMBANK("okibank")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/galspnbl.cpp b/src/mame/drivers/galspnbl.cpp
index c9f592c7ec9..8979cf6becf 100644
--- a/src/mame/drivers/galspnbl.cpp
+++ b/src/mame/drivers/galspnbl.cpp
@@ -57,7 +57,7 @@ WRITE16_MEMBER(galspnbl_state::soundcommand_w)
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, galspnbl_state )
+ADDRESS_MAP_START(galspnbl_state::main_map)
AM_RANGE(0x000000, 0x3fffff) AM_ROM
AM_RANGE(0x700000, 0x703fff) AM_RAM /* galspnbl work RAM */
AM_RANGE(0x708000, 0x70ffff) AM_RAM /* galspnbl work RAM, bitmaps are decompressed here */
@@ -81,7 +81,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, galspnbl_state )
AM_RANGE(0xa80050, 0xa80051) AM_WRITEONLY AM_SHARE("scroll") /* ??? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, galspnbl_state )
+ADDRESS_MAP_START(galspnbl_state::audio_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xf800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
diff --git a/src/mame/drivers/gamate.cpp b/src/mame/drivers/gamate.cpp
index daebfed3840..def01b131a3 100644
--- a/src/mame/drivers/gamate.cpp
+++ b/src/mame/drivers/gamate.cpp
@@ -52,6 +52,7 @@ public:
TIMER_CALLBACK_MEMBER(gamate_timer2);
void gamate(machine_config &config);
+ void gamate_mem(address_map &map);
private:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -115,7 +116,7 @@ READ8_MEMBER(gamate_state::read_cart)
return m_cartslot->read_cart(space, offset);
}
-static ADDRESS_MAP_START( gamate_mem, AS_PROGRAM, 8, gamate_state )
+ADDRESS_MAP_START(gamate_state::gamate_mem)
AM_RANGE(0x0000, 0x03ff) AM_MIRROR(0x1c00) AM_RAM
AM_RANGE(0x4000, 0x400f) AM_MIRROR(0x03f0) AM_READWRITE(sound_r,sound_w)
AM_RANGE(0x4400, 0x4400) AM_MIRROR(0x03ff) AM_READ_PORT("JOY")
diff --git a/src/mame/drivers/gambl186.cpp b/src/mame/drivers/gambl186.cpp
index 8ee21199f1a..b495ecdaf7f 100644
--- a/src/mame/drivers/gambl186.cpp
+++ b/src/mame/drivers/gambl186.cpp
@@ -80,6 +80,8 @@ public:
DECLARE_WRITE16_MEMBER(data_bank_w);
DECLARE_WRITE16_MEMBER(upd_w);
void gambl186(machine_config &config);
+ void gambl186_io(address_map &map);
+ void gambl186_map(address_map &map);
};
void gambl186_state::machine_start()
@@ -358,14 +360,14 @@ WRITE16_MEMBER(gambl186_state::upd_w)
// m_upd7759->start_w(1);
}
-static ADDRESS_MAP_START( gambl186_map, AS_PROGRAM, 16, gambl186_state )
+ADDRESS_MAP_START(gambl186_state::gambl186_map)
AM_RANGE(0x00000, 0x0ffff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x40000, 0x7ffff) AM_ROMBANK("data_bank")
AM_RANGE(0xa0000, 0xbffff) AM_DEVREADWRITE8("vga", cirrus_gd5428_device, mem_r, mem_w, 0xffff)
AM_RANGE(0xc0000, 0xfffff) AM_ROM AM_REGION("ipl",0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gambl186_io, AS_IO, 16, gambl186_state )
+ADDRESS_MAP_START(gambl186_state::gambl186_io)
AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", cirrus_gd5428_device, port_03b0_r, port_03b0_w, 0xffff)
AM_RANGE(0x03c0, 0x03cf) AM_DEVREADWRITE8("vga", cirrus_gd5428_device, port_03c0_r, port_03c0_w, 0xffff)
AM_RANGE(0x03d0, 0x03df) AM_DEVREADWRITE8("vga", cirrus_gd5428_device, port_03d0_r, port_03d0_w, 0xffff)
diff --git a/src/mame/drivers/gamecom.cpp b/src/mame/drivers/gamecom.cpp
index 92d1a4ae425..bfc336a3a64 100644
--- a/src/mame/drivers/gamecom.cpp
+++ b/src/mame/drivers/gamecom.cpp
@@ -34,7 +34,7 @@ Game Status:
#include "gamecom.lh"
-static ADDRESS_MAP_START(gamecom_mem_map, AS_PROGRAM, 8, gamecom_state)
+ADDRESS_MAP_START(gamecom_state::gamecom_mem_map)
AM_RANGE( 0x0000, 0x0013 ) AM_RAM AM_REGION("maincpu", 0x00)
AM_RANGE( 0x0014, 0x0017 ) AM_READWRITE( gamecom_pio_r, gamecom_pio_w ) // buttons
AM_RANGE( 0x0018, 0x001F ) AM_RAM AM_REGION("maincpu", 0x18)
diff --git a/src/mame/drivers/gamecstl.cpp b/src/mame/drivers/gamecstl.cpp
index 52d2b715ff6..2c8d5f44a39 100644
--- a/src/mame/drivers/gamecstl.cpp
+++ b/src/mame/drivers/gamecstl.cpp
@@ -100,6 +100,8 @@ public:
void draw_char(bitmap_ind16 &bitmap, const rectangle &cliprect, gfx_element *gfx, int ch, int att, int x, int y);
void intel82439tx_init();
void gamecstl(machine_config &config);
+ void gamecstl_io(address_map &map);
+ void gamecstl_map(address_map &map);
};
@@ -338,7 +340,7 @@ WRITE32_MEMBER(gamecstl_state::bios_ram_w)
/*****************************************************************************/
-static ADDRESS_MAP_START( gamecstl_map, AS_PROGRAM, 32, gamecstl_state )
+ADDRESS_MAP_START(gamecstl_state::gamecstl_map)
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000a0000, 0x000affff) AM_RAM
AM_RANGE(0x000b0000, 0x000b7fff) AM_RAM AM_SHARE("cga_ram")
@@ -349,7 +351,7 @@ static ADDRESS_MAP_START( gamecstl_map, AS_PROGRAM, 32, gamecstl_state )
AM_RANGE(0xfffc0000, 0xffffffff) AM_ROM AM_REGION("bios", 0) /* System BIOS */
ADDRESS_MAP_END
-static ADDRESS_MAP_START(gamecstl_io, AS_IO, 32, gamecstl_state )
+ADDRESS_MAP_START(gamecstl_state::gamecstl_io)
AM_IMPORT_FROM(pcat32_io_common)
AM_RANGE(0x00e8, 0x00eb) AM_NOP
AM_RANGE(0x00ec, 0x00ef) AM_NOP
diff --git a/src/mame/drivers/gamecube.cpp b/src/mame/drivers/gamecube.cpp
index 187f95f7d0c..552fa3a2317 100644
--- a/src/mame/drivers/gamecube.cpp
+++ b/src/mame/drivers/gamecube.cpp
@@ -26,6 +26,7 @@ public:
{ }
void gc(machine_config &config);
+ void ppc_mem(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -41,7 +42,7 @@ private:
// ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( ppc_mem, AS_PROGRAM, 64, gamecube_state )
+ADDRESS_MAP_START(gamecube_state::ppc_mem)
AM_RANGE(0x00000000, 0x017fffff) AM_RAM // 24 MB main memory
AM_RANGE(0x08000000, 0x081fffff) AM_RAM // 2 MB embedded framebuffer
AM_RANGE(0xfff00000, 0xffffffff) AM_ROMBANK("boot")
diff --git a/src/mame/drivers/gameking.cpp b/src/mame/drivers/gameking.cpp
index 81b72b609d7..8255ef8fcfa 100644
--- a/src/mame/drivers/gameking.cpp
+++ b/src/mame/drivers/gameking.cpp
@@ -72,6 +72,7 @@ public:
void gameking(machine_config &config);
void gameking3(machine_config &config);
void gameking1(machine_config &config);
+ void gameking_mem(address_map &map);
protected:
required_device<cpu_device> m_maincpu;
required_device<generic_slot_device> m_cart;
@@ -147,7 +148,7 @@ READ8_MEMBER(gameking_state::lcd_r)
return data;
}
-static ADDRESS_MAP_START( gameking_mem , AS_PROGRAM, 8, gameking_state )
+ADDRESS_MAP_START(gameking_state::gameking_mem)
AM_RANGE(0x0000, 0x007f) AM_READWRITE(io_r, io_w)
AM_RANGE(0x0080, 0x01ff) AM_RAM
AM_RANGE(0x0200, 0x03ff) AM_RAM // lcd 2nd copy
diff --git a/src/mame/drivers/gameplan.cpp b/src/mame/drivers/gameplan.cpp
index 58d41bd3b43..9757dfebff9 100644
--- a/src/mame/drivers/gameplan.cpp
+++ b/src/mame/drivers/gameplan.cpp
@@ -178,7 +178,7 @@ WRITE8_MEMBER(gameplan_state::r6532_soundlatch_w)
*
*************************************/
-static ADDRESS_MAP_START( gameplan_main_map, AS_PROGRAM, 8, gameplan_state )
+ADDRESS_MAP_START(gameplan_state::gameplan_main_map)
AM_RANGE(0x0000, 0x03ff) AM_MIRROR(0x1c00) AM_RAM
AM_RANGE(0x2000, 0x200f) AM_MIRROR(0x07f0) AM_DEVREADWRITE("via6522_0", via6522_device, read, write) /* VIA 1 */
AM_RANGE(0x2800, 0x280f) AM_MIRROR(0x07f0) AM_DEVREADWRITE("via6522_1", via6522_device, read, write) /* VIA 2 */
@@ -194,7 +194,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( gameplan_audio_map, AS_PROGRAM, 8, gameplan_state )
+ADDRESS_MAP_START(gameplan_state::gameplan_audio_map)
AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x1780) AM_RAM /* 6532 internal RAM */
AM_RANGE(0x0800, 0x081f) AM_MIRROR(0x17e0) AM_DEVREADWRITE("riot", riot6532_device, read, write)
AM_RANGE(0xa000, 0xa000) AM_MIRROR(0x1ffc) AM_DEVWRITE("aysnd", ay8910_device, address_w)
@@ -205,7 +205,7 @@ ADDRESS_MAP_END
/* same as Gameplan, but larger ROM */
-static ADDRESS_MAP_START( leprechn_audio_map, AS_PROGRAM, 8, gameplan_state )
+ADDRESS_MAP_START(gameplan_state::leprechn_audio_map)
AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x1780) AM_RAM /* 6532 internal RAM */
AM_RANGE(0x0800, 0x081f) AM_MIRROR(0x17e0) AM_DEVREADWRITE("riot", riot6532_device, read, write)
AM_RANGE(0xa000, 0xa000) AM_MIRROR(0x1ffc) AM_DEVWRITE("aysnd", ay8910_device, address_w)
diff --git a/src/mame/drivers/gamepock.cpp b/src/mame/drivers/gamepock.cpp
index c6f6147f317..d94cc76167b 100644
--- a/src/mame/drivers/gamepock.cpp
+++ b/src/mame/drivers/gamepock.cpp
@@ -14,7 +14,7 @@
#include "speaker.h"
-static ADDRESS_MAP_START(gamepock_mem, AS_PROGRAM, 8, gamepock_state)
+ADDRESS_MAP_START(gamepock_state::gamepock_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000,0x0fff) AM_ROM
AM_RANGE(0x1000,0x3fff) AM_NOP
diff --git a/src/mame/drivers/gammagic.cpp b/src/mame/drivers/gammagic.cpp
index 02e20d25178..9127d41d11e 100644
--- a/src/mame/drivers/gammagic.cpp
+++ b/src/mame/drivers/gammagic.cpp
@@ -46,10 +46,12 @@ public:
virtual void machine_start() override;
void gammagic(machine_config &config);
+ void gammagic_io(address_map &map);
+ void gammagic_map(address_map &map);
};
// Memory is mostly handled by the chipset
-static ADDRESS_MAP_START( gammagic_map, AS_PROGRAM, 32, gammagic_state )
+ADDRESS_MAP_START(gammagic_state::gammagic_map)
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", vga_device, mem_r, mem_w, 0xffffffff)
AM_RANGE(0x000e0000, 0x000fffff) AM_ROM AM_REGION("user", 0x20000)/* System BIOS */
@@ -58,7 +60,7 @@ static ADDRESS_MAP_START( gammagic_map, AS_PROGRAM, 32, gammagic_state )
AM_RANGE(0xfffe0000, 0xffffffff) AM_ROM AM_REGION("user", 0x20000)/* System BIOS */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gammagic_io, AS_IO, 32, gammagic_state)
+ADDRESS_MAP_START(gammagic_state::gammagic_io)
AM_IMPORT_FROM(pcat32_io_common)
AM_RANGE(0x00e8, 0x00ef) AM_NOP
AM_RANGE(0x00f0, 0x01ef) AM_NOP
diff --git a/src/mame/drivers/gamtor.cpp b/src/mame/drivers/gamtor.cpp
index 1875da620ee..a565285f18b 100644
--- a/src/mame/drivers/gamtor.cpp
+++ b/src/mame/drivers/gamtor.cpp
@@ -44,6 +44,7 @@ public:
DECLARE_DRIVER_INIT(gaminator);
required_device<cpu_device> m_maincpu;
void gaminator(machine_config &config);
+ void gaminator_map(address_map &map);
};
WRITE32_MEMBER(gaminator_state::gamtor_unk_w)
@@ -52,7 +53,7 @@ WRITE32_MEMBER(gaminator_state::gamtor_unk_w)
-static ADDRESS_MAP_START( gaminator_map, AS_PROGRAM, 32, gaminator_state )
+ADDRESS_MAP_START(gaminator_state::gaminator_map)
AM_RANGE(0x00000000, 0x07ffffff) AM_ROM
AM_RANGE(0x08000000, 0x0bffffff) AM_RAM
AM_RANGE(0x1e040008, 0x1e04000b) AM_WRITE(gamtor_unk_w )
diff --git a/src/mame/drivers/gaplus.cpp b/src/mame/drivers/gaplus.cpp
index 8acd3187211..670b8b64391 100644
--- a/src/mame/drivers/gaplus.cpp
+++ b/src/mame/drivers/gaplus.cpp
@@ -272,7 +272,7 @@ INTERRUPT_GEN_MEMBER(gaplus_state::vblank_sub2_irq)
}
-static ADDRESS_MAP_START( cpu1_map, AS_PROGRAM, 8, gaplus_state )
+ADDRESS_MAP_START(gaplus_state::cpu1_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram") /* tilemap RAM (shared with CPU #2) */
AM_RANGE(0x0800, 0x1fff) AM_RAM AM_SHARE("spriteram") /* shared RAM with CPU #2 (includes sprite RAM) */
AM_RANGE(0x6000, 0x63ff) AM_DEVREADWRITE("namco", namco_15xx_device, sharedram_r, sharedram_w) /* shared RAM with CPU #3 */
@@ -287,7 +287,7 @@ static ADDRESS_MAP_START( cpu1_map, AS_PROGRAM, 8, gaplus_state )
AM_RANGE(0xa000, 0xffff) AM_ROM /* ROM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpu2_map, AS_PROGRAM, 8, gaplus_state )
+ADDRESS_MAP_START(gaplus_state::cpu2_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram") /* tilemap RAM (shared with CPU #1) */
AM_RANGE(0x0800, 0x1fff) AM_RAM AM_SHARE("spriteram") /* shared RAM with CPU #1 */
// AM_RANGE(0x500f, 0x500f) AM_WRITENOP /* ??? written 256 times on startup */
@@ -295,7 +295,7 @@ static ADDRESS_MAP_START( cpu2_map, AS_PROGRAM, 8, gaplus_state )
AM_RANGE(0xa000, 0xffff) AM_ROM /* ROM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpu3_map, AS_PROGRAM, 8, gaplus_state )
+ADDRESS_MAP_START(gaplus_state::cpu3_map)
AM_RANGE(0x0000, 0x03ff) AM_DEVREADWRITE("namco", namco_15xx_device, sharedram_r, sharedram_w) /* shared RAM with the main CPU + sound registers */
AM_RANGE(0x2000, 0x3fff) AM_DEVREADWRITE("watchdog", watchdog_timer_device, reset_r, reset_w) /* watchdog? */
AM_RANGE(0x4000, 0x7fff) AM_WRITE(irq_3_ctrl_w) /* interrupt enable/disable */
diff --git a/src/mame/drivers/gatron.cpp b/src/mame/drivers/gatron.cpp
index 0f730fb77c7..d3ae5597210 100644
--- a/src/mame/drivers/gatron.cpp
+++ b/src/mame/drivers/gatron.cpp
@@ -447,7 +447,7 @@ WRITE8_MEMBER(gatron_state::output_port_1_w)
* Memory Map Information *
*************************/
-static ADDRESS_MAP_START( gat_map, AS_PROGRAM, 8, gatron_state )
+ADDRESS_MAP_START(gatron_state::gat_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x63ff) AM_RAM_WRITE(gat_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("nvram") /* battery backed RAM */
@@ -455,7 +455,7 @@ static ADDRESS_MAP_START( gat_map, AS_PROGRAM, 8, gatron_state )
AM_RANGE(0xe000, 0xe000) AM_WRITE(output_port_0_w) /* lamps */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gat_portmap, AS_IO, 8, gatron_state )
+ADDRESS_MAP_START(gatron_state::gat_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ppi8255", i8255_device, read, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/gauntlet.cpp b/src/mame/drivers/gauntlet.cpp
index 262db998c7f..6ad6c2c6e57 100644
--- a/src/mame/drivers/gauntlet.cpp
+++ b/src/mame/drivers/gauntlet.cpp
@@ -272,7 +272,7 @@ WRITE8_MEMBER(gauntlet_state::mixer_w)
*************************************/
/* full map verified from schematics */
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, gauntlet_state )
+ADDRESS_MAP_START(gauntlet_state::main_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x037fff) AM_MIRROR(0x280000) AM_ROM
AM_RANGE(0x038000, 0x03ffff) AM_MIRROR(0x280000) AM_ROM /* slapstic maps here */
@@ -313,7 +313,7 @@ ADDRESS_MAP_END
*************************************/
/* full map verified from schematics */
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, gauntlet_state )
+ADDRESS_MAP_START(gauntlet_state::sound_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_MIRROR(0x2000) AM_RAM
AM_RANGE(0x1000, 0x100f) AM_MIRROR(0x27c0) AM_DEVWRITE("soundcomm", atari_sound_comm_device, sound_response_w)
diff --git a/src/mame/drivers/gb.cpp b/src/mame/drivers/gb.cpp
index 0939a96ae82..07b1fcf2f56 100644
--- a/src/mame/drivers/gb.cpp
+++ b/src/mame/drivers/gb.cpp
@@ -403,7 +403,7 @@ WRITE8_MEMBER(megaduck_state::bank2_w)
}
-static ADDRESS_MAP_START(gameboy_map, AS_PROGRAM, 8, gb_state)
+ADDRESS_MAP_START(gb_state::gameboy_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_READWRITE(gb_cart_r, gb_bank_w)
AM_RANGE(0x8000, 0x9fff) AM_DEVREADWRITE("ppu", dmg_ppu_device, vram_r, vram_w) /* 8k VRAM */
@@ -420,7 +420,7 @@ static ADDRESS_MAP_START(gameboy_map, AS_PROGRAM, 8, gb_state)
AM_RANGE(0xffff, 0xffff) AM_READWRITE(gb_ie_r, gb_ie_w) /* Interrupt enable register */
ADDRESS_MAP_END
-static ADDRESS_MAP_START(sgb_map, AS_PROGRAM, 8, gb_state)
+ADDRESS_MAP_START(gb_state::sgb_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_READWRITE(gb_cart_r, gb_bank_w)
AM_RANGE(0x8000, 0x9fff) AM_DEVREADWRITE("ppu", sgb_ppu_device, vram_r, vram_w) /* 8k VRAM */
@@ -437,7 +437,7 @@ static ADDRESS_MAP_START(sgb_map, AS_PROGRAM, 8, gb_state)
AM_RANGE(0xffff, 0xffff) AM_READWRITE(gb_ie_r, gb_ie_w) /* Interrupt enable register */
ADDRESS_MAP_END
-static ADDRESS_MAP_START(gbc_map, AS_PROGRAM, 8, gb_state)
+ADDRESS_MAP_START(gb_state::gbc_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_READWRITE(gbc_cart_r, gb_bank_w)
AM_RANGE(0x8000, 0x9fff) AM_DEVREADWRITE("ppu", cgb_ppu_device, vram_r, vram_w) /* 8k banked VRAM */
@@ -455,7 +455,7 @@ static ADDRESS_MAP_START(gbc_map, AS_PROGRAM, 8, gb_state)
AM_RANGE(0xffff, 0xffff) AM_READWRITE(gb_ie_r, gb_ie_w) /* Interrupt enable register */
ADDRESS_MAP_END
-static ADDRESS_MAP_START(megaduck_map, AS_PROGRAM, 8, megaduck_state)
+ADDRESS_MAP_START(megaduck_state::megaduck_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_READWRITE(cart_r, bank1_w)
AM_RANGE(0x8000, 0x9fff) AM_DEVREADWRITE("ppu", dmg_ppu_device, vram_r, vram_w) /* 8k VRAM */
diff --git a/src/mame/drivers/gba.cpp b/src/mame/drivers/gba.cpp
index 8f416c0c364..cd4eea53ff6 100644
--- a/src/mame/drivers/gba.cpp
+++ b/src/mame/drivers/gba.cpp
@@ -1237,7 +1237,7 @@ WRITE_LINE_MEMBER(gba_state::dma_vblank_callback)
}
}
-static ADDRESS_MAP_START( gba_map, AS_PROGRAM, 32, gba_state )
+ADDRESS_MAP_START(gba_state::gba_map)
ADDRESS_MAP_UNMAP_HIGH // for "Fruit Mura no Doubutsu Tachi" and "Classic NES Series"
AM_RANGE(0x00000000, 0x00003fff) AM_ROM AM_MIRROR(0x01ffc000) AM_READ(gba_bios_r)
AM_RANGE(0x02000000, 0x0203ffff) AM_RAM AM_MIRROR(0xfc0000)
diff --git a/src/mame/drivers/gberet.cpp b/src/mame/drivers/gberet.cpp
index befe21fbeb1..eb7b908c666 100644
--- a/src/mame/drivers/gberet.cpp
+++ b/src/mame/drivers/gberet.cpp
@@ -154,7 +154,7 @@ WRITE8_MEMBER(gberet_state::gberet_sound_w)
m_sn->write(space, 0, *m_soundlatch);
}
-static ADDRESS_MAP_START( gberet_map, AS_PROGRAM, 8, gberet_state )
+ADDRESS_MAP_START(gberet_state::gberet_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(gberet_colorram_w) AM_SHARE("colorram")
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(gberet_videoram_w) AM_SHARE("videoram")
@@ -174,7 +174,7 @@ static ADDRESS_MAP_START( gberet_map, AS_PROGRAM, 8, gberet_state )
AM_RANGE(0xf603, 0xf603) AM_READ_PORT("SYSTEM")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mrgoemon_map, AS_PROGRAM, 8, gberet_state )
+ADDRESS_MAP_START(gberet_state::mrgoemon_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(gberet_colorram_w) AM_SHARE("colorram")
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(gberet_videoram_w) AM_SHARE("videoram")
@@ -212,7 +212,7 @@ WRITE8_MEMBER(gberet_state::gberetb_nmi_ack_w)
m_maincpu->set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
}
-static ADDRESS_MAP_START( gberetb_map, AS_PROGRAM, 8, gberet_state )
+ADDRESS_MAP_START(gberet_state::gberetb_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(gberet_colorram_w) AM_SHARE("colorram")
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(gberet_videoram_w) AM_SHARE("videoram")
diff --git a/src/mame/drivers/gcpinbal.cpp b/src/mame/drivers/gcpinbal.cpp
index d1f1960c060..dfc15f35f7b 100644
--- a/src/mame/drivers/gcpinbal.cpp
+++ b/src/mame/drivers/gcpinbal.cpp
@@ -250,7 +250,7 @@ WRITE_LINE_MEMBER(gcpinbal_state::gcp_adpcm_int)
MEMORY STRUCTURES
***********************************************************/
-static ADDRESS_MAP_START( gcpinbal_map, AS_PROGRAM, 16, gcpinbal_state )
+ADDRESS_MAP_START(gcpinbal_state::gcpinbal_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0xc00000, 0xc03fff) AM_READWRITE(gcpinbal_tilemaps_word_r, gcpinbal_tilemaps_word_w) AM_SHARE("tilemapram")
AM_RANGE(0xc80000, 0xc81fff) AM_DEVREADWRITE8("spritegen", excellent_spr_device, read, write, 0x00ff)
diff --git a/src/mame/drivers/gei.cpp b/src/mame/drivers/gei.cpp
index 40b1c4d1fca..4620ab26b0e 100644
--- a/src/mame/drivers/gei.cpp
+++ b/src/mame/drivers/gei.cpp
@@ -128,6 +128,15 @@ public:
void getrivia(machine_config &config);
void amuse(machine_config &config);
void sprtauth(machine_config &config);
+ void amuse1_map(address_map &map);
+ void amuse_map(address_map &map);
+ void findout_map(address_map &map);
+ void gepoker_map(address_map &map);
+ void getrivia_map(address_map &map);
+ void gselect_map(address_map &map);
+ void quizvid_map(address_map &map);
+ void sprtauth_map(address_map &map);
+ void suprpokr_map(address_map &map);
protected:
virtual void video_start() override;
@@ -335,7 +344,7 @@ WRITE8_MEMBER(gei_state::signature_w)
}
}
-static ADDRESS_MAP_START( getrivia_map, AS_PROGRAM, 8, gei_state )
+ADDRESS_MAP_START(gei_state::getrivia_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x3fff) AM_ROMBANK("rombank")
AM_RANGE(0x4000, 0x47ff) AM_RAM AM_SHARE("nvram")
@@ -357,7 +366,7 @@ static ADDRESS_MAP_START( getrivia_map, AS_PROGRAM, 8, gei_state )
AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(gei_bitmap_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gselect_map, AS_PROGRAM, 8, gei_state )
+ADDRESS_MAP_START(gei_state::gselect_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x3fff) AM_ROMBANK("rombank")
AM_RANGE(0x4000, 0x40ff) AM_RAM AM_SHARE("nvram")
@@ -372,7 +381,7 @@ static ADDRESS_MAP_START( gselect_map, AS_PROGRAM, 8, gei_state )
ADDRESS_MAP_END
// TODO: where are mapped the lower 0x2000 bytes of the banks?
-static ADDRESS_MAP_START( amuse_map, AS_PROGRAM, 8, gei_state )
+ADDRESS_MAP_START(gei_state::amuse_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x3fff) AM_ROMBANK("rombank")
AM_RANGE(0x4000, 0x47ff) AM_RAM AM_SHARE("nvram")
@@ -388,7 +397,7 @@ static ADDRESS_MAP_START( amuse_map, AS_PROGRAM, 8, gei_state )
AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(gei_bitmap_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gepoker_map, AS_PROGRAM, 8, gei_state )
+ADDRESS_MAP_START(gei_state::gepoker_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x3fff) AM_ROMBANK("rombank")
AM_RANGE(0x4000, 0x47ff) AM_RAM AM_SHARE("nvram")
@@ -405,7 +414,7 @@ static ADDRESS_MAP_START( gepoker_map, AS_PROGRAM, 8, gei_state )
AM_RANGE(0xe000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( amuse1_map, AS_PROGRAM, 8, gei_state )
+ADDRESS_MAP_START(gei_state::amuse1_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x3fff) AM_ROMBANK("rombank")
AM_RANGE(0x4000, 0x43ff) AM_RAM AM_SHARE("nvram")
@@ -422,7 +431,7 @@ static ADDRESS_MAP_START( amuse1_map, AS_PROGRAM, 8, gei_state )
AM_RANGE(0xe000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( findout_map, AS_PROGRAM, 8, gei_state )
+ADDRESS_MAP_START(gei_state::findout_map)
AM_RANGE(0x0000, 0xffff) AM_READ(catchall)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM AM_SHARE("nvram")
@@ -443,7 +452,7 @@ static ADDRESS_MAP_START( findout_map, AS_PROGRAM, 8, gei_state )
AM_RANGE(0xc000, 0xffff) AM_WRITE(gei_bitmap_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( quizvid_map, AS_PROGRAM, 8, gei_state )
+ADDRESS_MAP_START(gei_state::quizvid_map)
AM_RANGE(0x0000, 0xffff) AM_READ(catchall)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM AM_SHARE("nvram")
@@ -461,7 +470,7 @@ static ADDRESS_MAP_START( quizvid_map, AS_PROGRAM, 8, gei_state )
AM_RANGE(0xc000, 0xffff) AM_WRITE(gei_bitmap_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( suprpokr_map, AS_PROGRAM, 8, gei_state )
+ADDRESS_MAP_START(gei_state::suprpokr_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x4800, 0x4803) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
@@ -473,7 +482,7 @@ static ADDRESS_MAP_START( suprpokr_map, AS_PROGRAM, 8, gei_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sprtauth_map, AS_PROGRAM, 8, gei_state )
+ADDRESS_MAP_START(gei_state::sprtauth_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x4800, 0x4803) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
diff --git a/src/mame/drivers/geneve.cpp b/src/mame/drivers/geneve.cpp
index 98be9cb5b8b..7fa6821bb6f 100644
--- a/src/mame/drivers/geneve.cpp
+++ b/src/mame/drivers/geneve.cpp
@@ -286,13 +286,15 @@ public:
int m_ready_line;
int m_ready_line1;
void geneve_60hz(machine_config &config);
+ void crumap(address_map &map);
+ void memmap(address_map &map);
};
/*
Memory map
*/
-static ADDRESS_MAP_START(memmap, AS_PROGRAM, 8, geneve_state)
+ADDRESS_MAP_START(geneve_state::memmap)
AM_RANGE(0x0000, 0xffff) AM_DEVREADWRITE(GENEVE_MAPPER_TAG, bus::ti99::internal::geneve_mapper_device, readm, writem) AM_DEVSETOFFSET(GENEVE_MAPPER_TAG, bus::ti99::internal::geneve_mapper_device, setoffset)
ADDRESS_MAP_END
@@ -304,7 +306,7 @@ ADDRESS_MAP_END
TODO: Check whether A0-A2 are available for CRU addressing since those
bits are usually routed through the mapper first.
*/
-static ADDRESS_MAP_START(crumap, AS_IO, 8, geneve_state)
+ADDRESS_MAP_START(geneve_state::crumap)
AM_RANGE(0x0000, 0x0fff) AM_READ( cruread )
AM_RANGE(0x0000, 0x0003) AM_DEVREAD(TI_TMS9901_TAG, tms9901_device, read)
diff --git a/src/mame/drivers/geniusiq.cpp b/src/mame/drivers/geniusiq.cpp
index 8a7b994ede1..5747007752e 100644
--- a/src/mame/drivers/geniusiq.cpp
+++ b/src/mame/drivers/geniusiq.cpp
@@ -213,6 +213,7 @@ public:
void iqtv512(machine_config &config);
void iq128(machine_config &config);
+ void geniusiq_mem(address_map &map);
private:
uint16_t m_gfx_y;
uint16_t m_gfx_x;
@@ -414,7 +415,7 @@ INPUT_CHANGED_MEMBER( geniusiq_state::send_input )
}
-static ADDRESS_MAP_START(geniusiq_mem, AS_PROGRAM, 16, geniusiq_state)
+ADDRESS_MAP_START(geniusiq_state::geniusiq_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x1FFFFF) AM_ROM
AM_RANGE(0x200000, 0x23FFFF) AM_RAM
diff --git a/src/mame/drivers/genpc.cpp b/src/mame/drivers/genpc.cpp
index 03eea248e8b..6f110ba5a60 100644
--- a/src/mame/drivers/genpc.cpp
+++ b/src/mame/drivers/genpc.cpp
@@ -28,14 +28,16 @@ public:
void pccga(machine_config &config);
void pcherc(machine_config &config);
void pcmda(machine_config &config);
+ void pc8_io(address_map &map);
+ void pc8_map(address_map &map);
};
-static ADDRESS_MAP_START( pc8_map, AS_PROGRAM, 8, genpc_state )
+ADDRESS_MAP_START(genpc_state::pc8_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xfe000, 0xfffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(pc8_io, AS_IO, 8, genpc_state )
+ADDRESS_MAP_START(genpc_state::pc8_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x00ff) AM_DEVICE("mb", ibm5160_mb_device, map)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ggconnie.cpp b/src/mame/drivers/ggconnie.cpp
index c7deed82c70..e6118492772 100644
--- a/src/mame/drivers/ggconnie.cpp
+++ b/src/mame/drivers/ggconnie.cpp
@@ -46,6 +46,8 @@ public:
DECLARE_WRITE8_MEMBER(oki_bank_w);
void ggconnie(machine_config &config);
+ void sgx_io(address_map &map);
+ void sgx_mem(address_map &map);
private:
required_device <msm6242_device> m_rtc;
required_device <okim6295_device> m_oki;
@@ -68,7 +70,7 @@ WRITE8_MEMBER(ggconnie_state::oki_bank_w)
}
-static ADDRESS_MAP_START( sgx_mem , AS_PROGRAM, 8, ggconnie_state )
+ADDRESS_MAP_START(ggconnie_state::sgx_mem)
AM_RANGE( 0x000000, 0x17ffff) AM_ROM
AM_RANGE( 0x180000, 0x1edfff) AM_NOP
AM_RANGE( 0x1ee800, 0x1effff) AM_NOP
@@ -91,7 +93,7 @@ static ADDRESS_MAP_START( sgx_mem , AS_PROGRAM, 8, ggconnie_state )
AM_RANGE( 0x1ff400, 0x1ff7ff) AM_DEVREADWRITE("maincpu", h6280_device, irq_status_r, irq_status_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sgx_io , AS_IO, 8, ggconnie_state )
+ADDRESS_MAP_START(ggconnie_state::sgx_io)
AM_RANGE( 0x00, 0x03) AM_DEVREADWRITE( "huc6202", huc6202_device, io_read, io_write )
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ghosteo.cpp b/src/mame/drivers/ghosteo.cpp
index 1c895df508c..c85a4dbf423 100644
--- a/src/mame/drivers/ghosteo.cpp
+++ b/src/mame/drivers/ghosteo.cpp
@@ -135,6 +135,8 @@ public:
void ghosteo(machine_config &config);
void touryuu(machine_config &config);
void bballoon(machine_config &config);
+ void bballoon_map(address_map &map);
+ void touryuu_map(address_map &map);
};
@@ -425,7 +427,7 @@ READ32_MEMBER( ghosteo_state::touryuu_port_10000000_r )
}
-static ADDRESS_MAP_START( bballoon_map, AS_PROGRAM, 32, ghosteo_state )
+ADDRESS_MAP_START(ghosteo_state::bballoon_map)
AM_RANGE(0x10000000, 0x10000003) AM_READ_PORT("10000000")
AM_RANGE(0x10100000, 0x10100003) AM_READ_PORT("10100000")
AM_RANGE(0x10200000, 0x10200003) AM_READ_PORT("10200000")
@@ -433,7 +435,7 @@ static ADDRESS_MAP_START( bballoon_map, AS_PROGRAM, 32, ghosteo_state )
AM_RANGE(0x30000000, 0x31ffffff) AM_RAM AM_SHARE("systememory") AM_MIRROR(0x02000000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( touryuu_map, AS_PROGRAM, 32, ghosteo_state )
+ADDRESS_MAP_START(ghosteo_state::touryuu_map)
AM_RANGE(0x10000000, 0x10000003) AM_READ(touryuu_port_10000000_r)
AM_RANGE(0x10100000, 0x10100003) AM_READ_PORT("10100000")
AM_RANGE(0x10200000, 0x10200003) AM_READ_PORT("10200000")
diff --git a/src/mame/drivers/giclassic.cpp b/src/mame/drivers/giclassic.cpp
index 08bffcdad03..3e6d7315137 100644
--- a/src/mame/drivers/giclassic.cpp
+++ b/src/mame/drivers/giclassic.cpp
@@ -81,6 +81,7 @@ public:
DECLARE_READ16_MEMBER(vrom_r);
void giclassic(machine_config &config);
+ void satellite_main(address_map &map);
private:
uint8_t m_control;
};
@@ -142,7 +143,7 @@ READ16_MEMBER(giclassic_state::vrom_r)
return m_k056832->piratesh_rom_r(space, offset);
}
-static ADDRESS_MAP_START( satellite_main, AS_PROGRAM, 16, giclassic_state )
+ADDRESS_MAP_START(giclassic_state::satellite_main)
AM_RANGE(0x000000, 0x07ffff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x100000, 0x103fff) AM_RAM
AM_RANGE(0x200000, 0x200fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -198,6 +199,7 @@ public:
DECLARE_READ16_MEMBER(control_r);
void giclassvr(machine_config &config);
+ void server_main(address_map &map);
private:
uint16 m_control;
};
@@ -262,7 +264,7 @@ uint32_t giclassicsvr_state::screen_update_giclassicsvr(screen_device &screen, b
return 0;
}
-static ADDRESS_MAP_START( server_main, AS_PROGRAM, 16, giclassicsvr_state )
+ADDRESS_MAP_START(giclassicsvr_state::server_main)
AM_RANGE(0x000000, 0x07ffff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x080000, 0x08ffff) AM_RAM
AM_RANGE(0x090000, 0x093fff) AM_RAM
diff --git a/src/mame/drivers/gijoe.cpp b/src/mame/drivers/gijoe.cpp
index 27e6e6532e0..9e2c3a782b8 100644
--- a/src/mame/drivers/gijoe.cpp
+++ b/src/mame/drivers/gijoe.cpp
@@ -197,7 +197,7 @@ WRITE16_MEMBER(gijoe_state::sound_irq_w)
m_audiocpu->set_input_line(0, HOLD_LINE);
}
-static ADDRESS_MAP_START( gijoe_map, AS_PROGRAM, 16, gijoe_state )
+ADDRESS_MAP_START(gijoe_state::gijoe_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x100fff) AM_RAM AM_SHARE("spriteram") // Sprites
AM_RANGE(0x110000, 0x110007) AM_DEVWRITE("k053246", k053247_device, k053246_word_w)
@@ -226,7 +226,7 @@ static ADDRESS_MAP_START( gijoe_map, AS_PROGRAM, 16, gijoe_state )
#endif
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, gijoe_state )
+ADDRESS_MAP_START(gijoe_state::sound_map)
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xfa2f) AM_DEVREADWRITE("k054539", k054539_device, read, write)
AM_RANGE(0xfc00, 0xfc03) AM_DEVICE("k054321", k054321_device, sound_map)
diff --git a/src/mame/drivers/gimix.cpp b/src/mame/drivers/gimix.cpp
index 1354d288874..afa5b93e7e7 100644
--- a/src/mame/drivers/gimix.cpp
+++ b/src/mame/drivers/gimix.cpp
@@ -116,6 +116,9 @@ public:
DECLARE_FLOPPY_FORMATS(floppy_formats);
void gimix(machine_config &config);
+ void gimix_banked_mem(address_map &map);
+ void gimix_io(address_map &map);
+ void gimix_mem(address_map &map);
private:
uint8_t m_term_data;
uint8_t m_dma_status;
@@ -172,7 +175,7 @@ private:
required_ioport m_dma_dip;
};
-static ADDRESS_MAP_START( gimix_banked_mem, AS_PROGRAM, 8, gimix_state)
+ADDRESS_MAP_START(gimix_state::gimix_banked_mem)
AM_RANGE(0x00000, 0x0dfff) AM_RAMBANK("lower_ram")
AM_RANGE(0x0e000, 0x0e001) AM_DEVREADWRITE("acia1", acia6850_device, read, write)
AM_RANGE(0x0e004, 0x0e005) AM_DEVREADWRITE("acia2", acia6850_device, read, write)
@@ -191,7 +194,7 @@ static ADDRESS_MAP_START( gimix_banked_mem, AS_PROGRAM, 8, gimix_state)
//AM_RANGE(0x10000, 0x1ffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gimix_mem, AS_PROGRAM, 8, gimix_state )
+ADDRESS_MAP_START(gimix_state::gimix_mem)
AM_RANGE(0x0000, 0x0fff) AM_DEVREADWRITE("bank1", address_map_bank_device, read8, write8)
AM_RANGE(0x1000, 0x1fff) AM_DEVREADWRITE("bank2", address_map_bank_device, read8, write8)
AM_RANGE(0x2000, 0x2fff) AM_DEVREADWRITE("bank3", address_map_bank_device, read8, write8)
@@ -211,7 +214,7 @@ static ADDRESS_MAP_START( gimix_mem, AS_PROGRAM, 8, gimix_state )
AM_RANGE(0xff00, 0xffff) AM_ROMBANK("fixedrombank") AM_WRITE(system_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gimix_io, AS_IO, 8, gimix_state )
+ADDRESS_MAP_START(gimix_state::gimix_io)
ADDRESS_MAP_END
static INPUT_PORTS_START( gimix )
diff --git a/src/mame/drivers/ginganin.cpp b/src/mame/drivers/ginganin.cpp
index cd83d4cf805..465c7276d9e 100644
--- a/src/mame/drivers/ginganin.cpp
+++ b/src/mame/drivers/ginganin.cpp
@@ -76,7 +76,7 @@ f5d6 print 7 digit BCD number: d0.l to (a1)+ color $3000
*/
-static ADDRESS_MAP_START( ginganin_map, AS_PROGRAM, 16, ginganin_state )
+ADDRESS_MAP_START(ginganin_state::ginganin_map)
/* The ROM area: 10000-13fff is written with: 0000 0000 0000 0001, at startup only. Why? */
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x020000, 0x023fff) AM_RAM
@@ -96,7 +96,7 @@ ADDRESS_MAP_END
**
*/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, ginganin_state )
+ADDRESS_MAP_START(ginganin_state::sound_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x0800, 0x0807) AM_DEVREADWRITE("6840ptm", ptm6840_device, read, write)
AM_RANGE(0x1800, 0x1800) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/gizmondo.cpp b/src/mame/drivers/gizmondo.cpp
index b61751ea2ca..d0ac16f7e89 100644
--- a/src/mame/drivers/gizmondo.cpp
+++ b/src/mame/drivers/gizmondo.cpp
@@ -67,6 +67,7 @@ public:
bitmap_rgb32 m_bitmap;
void gizmondo(machine_config &config);
+ void gizmondo_map(address_map &map);
};
@@ -166,7 +167,7 @@ void gizmondo_state::machine_reset()
ADDRESS MAPS
*******************************************************************************/
-static ADDRESS_MAP_START( gizmondo_map, AS_PROGRAM, 32, gizmondo_state )
+ADDRESS_MAP_START(gizmondo_state::gizmondo_map)
AM_RANGE(0x00000000, 0x000007ff) AM_ROM
AM_RANGE(0x00000800, 0x00000fff) AM_DEVREADWRITE16("diskonchip", diskonchip_g3_device, sec_1_r, sec_1_w, 0xffffffff)
AM_RANGE(0x00001000, 0x000017ff) AM_DEVREADWRITE16("diskonchip", diskonchip_g3_device, sec_2_r, sec_2_w, 0xffffffff)
diff --git a/src/mame/drivers/gkigt.cpp b/src/mame/drivers/gkigt.cpp
index 0673cbb12d5..cce62f3143d 100644
--- a/src/mame/drivers/gkigt.cpp
+++ b/src/mame/drivers/gkigt.cpp
@@ -139,6 +139,9 @@ public:
void igt_gameking(machine_config &config);
void igt_ms72c(machine_config &config);
+ void igt_gameking_map(address_map &map);
+ void igt_ms72c_map(address_map &map);
+ void ramdac_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<palette_device> m_palette;
@@ -222,8 +225,7 @@ WRITE8_MEMBER(igt_gameking_state::unk_w)
}
-
-static ADDRESS_MAP_START( igt_gameking_map, AS_PROGRAM, 32, igt_gameking_state )
+ADDRESS_MAP_START(igt_gameking_state::igt_gameking_map)
AM_RANGE(0x00000000, 0x0007ffff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x08000000, 0x081fffff) AM_ROM AM_REGION("game", 0)
AM_RANGE(0x08200000, 0x083fffff) AM_ROM AM_REGION("plx", 0)
@@ -286,7 +288,7 @@ READ8_MEMBER(igt_gameking_state::timer_r)
return m_timer_count++;
}
-static ADDRESS_MAP_START( igt_ms72c_map, AS_PROGRAM, 32, igt_gameking_state )
+ADDRESS_MAP_START(igt_gameking_state::igt_ms72c_map)
AM_IMPORT_FROM( igt_gameking_map )
AM_RANGE(0x18200000, 0x18200003) AM_READ16(version_r, 0x0000ffff)
AM_RANGE(0x28040038, 0x2804003b) AM_READ8(timer_r,0x00ff0000)
@@ -566,7 +568,7 @@ static GFXDECODE_START( igt_gameking )
GFXDECODE_ENTRY( "cg", 0, igt_gameking_layout, 0x0, 1 )
GFXDECODE_END
-static ADDRESS_MAP_START( ramdac_map, 0, 8, igt_gameking_state )
+ADDRESS_MAP_START(igt_gameking_state::ramdac_map)
AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac",ramdac_device,ramdac_pal_r,ramdac_rgb666_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/gladiatr.cpp b/src/mame/drivers/gladiatr.cpp
index 0627b2058f9..3fe6e73ab0e 100644
--- a/src/mame/drivers/gladiatr.cpp
+++ b/src/mame/drivers/gladiatr.cpp
@@ -619,7 +619,7 @@ MACHINE_RESET_MEMBER(ppking_state, ppking)
m_mcu[0].state = 0;
}
-static ADDRESS_MAP_START( ppking_cpu1_map, AS_PROGRAM, 8, ppking_state )
+ADDRESS_MAP_START(ppking_state::ppking_cpu1_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcbff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xcc00, 0xcfff) AM_WRITE(ppking_video_registers_w)
@@ -631,13 +631,13 @@ static ADDRESS_MAP_START( ppking_cpu1_map, AS_PROGRAM, 8, ppking_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ppking_cpu3_map, AS_PROGRAM, 8, ppking_state )
+ADDRESS_MAP_START(ppking_state::ppking_cpu3_map)
AM_RANGE(0x1000, 0x1fff) AM_WRITE(ppking_adpcm_w)
AM_RANGE(0x2000, 0x2fff) AM_READ(adpcm_command_r)
AM_RANGE(0x8000, 0xffff) AM_ROM AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ppking_cpu1_io, AS_IO, 8, ppking_state )
+ADDRESS_MAP_START(ppking_state::ppking_cpu1_io)
// ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xc000, 0xc007) AM_DEVWRITE("mainlatch", ls259_device, write_d0)
// AM_RANGE(0xc004, 0xc004) AM_NOP // WRITE(ppking_irq_patch_w)
@@ -646,7 +646,7 @@ static ADDRESS_MAP_START( ppking_cpu1_io, AS_IO, 8, ppking_state )
AM_RANGE(0xc0c0, 0xc0c1) AM_READ(ppking_qxcomu_r) AM_WRITE(ppking_qxcomu_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ppking_cpu2_io, AS_IO, 8, ppking_state )
+ADDRESS_MAP_START(ppking_state::ppking_cpu2_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
AM_RANGE(0x20, 0x21) AM_READ(ppking_qx1_r) AM_WRITE(ppking_qx1_w)
@@ -658,7 +658,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( gladiatr_cpu1_map, AS_PROGRAM, 8, gladiatr_state )
+ADDRESS_MAP_START(gladiatr_state::gladiatr_cpu1_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xcbff) AM_RAM AM_SHARE("spriteram")
@@ -670,26 +670,26 @@ static ADDRESS_MAP_START( gladiatr_cpu1_map, AS_PROGRAM, 8, gladiatr_state )
AM_RANGE(0xf000, 0xf7ff) AM_RAM AM_SHARE("nvram") /* battery backed RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpu2_map, AS_PROGRAM, 8, gladiatr_state )
+ADDRESS_MAP_START(gladiatr_state_base::cpu2_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gladiatr_cpu3_map, AS_PROGRAM, 8, gladiatr_state )
+ADDRESS_MAP_START(gladiatr_state::gladiatr_cpu3_map)
AM_RANGE(0x1000, 0x1fff) AM_WRITE(gladiator_adpcm_w)
AM_RANGE(0x2000, 0x2fff) AM_READ(adpcm_command_r)
AM_RANGE(0x4000, 0xffff) AM_ROMBANK("bank2") AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gladiatr_cpu1_io, AS_IO, 8, gladiatr_state )
+ADDRESS_MAP_START(gladiatr_state::gladiatr_cpu1_io)
AM_RANGE(0xc000, 0xc007) AM_DEVWRITE("mainlatch", ls259_device, write_d0)
AM_RANGE(0xc004, 0xc004) AM_WRITE(gladiatr_irq_patch_w) /* !!! patch to 2nd CPU IRQ !!! */
AM_RANGE(0xc09e, 0xc09f) AM_DEVREADWRITE("ucpu", upi41_cpu_device, upi41_master_r, upi41_master_w)
AM_RANGE(0xc0bf, 0xc0bf) AM_NOP // watchdog_reset_w doesn't work
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gladiatr_cpu2_io, AS_IO, 8, gladiatr_state )
+ADDRESS_MAP_START(gladiatr_state::gladiatr_cpu2_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
AM_RANGE(0x20, 0x21) AM_DEVREADWRITE("csnd", upi41_cpu_device, upi41_master_r, upi41_master_w)
diff --git a/src/mame/drivers/glasgow.cpp b/src/mame/drivers/glasgow.cpp
index 91c06194d7e..b3a4a16a6b1 100644
--- a/src/mame/drivers/glasgow.cpp
+++ b/src/mame/drivers/glasgow.cpp
@@ -91,6 +91,9 @@ public:
void glasgow(machine_config &config);
void dallas32(machine_config &config);
void amsterd(machine_config &config);
+ void amsterd_mem(address_map &map);
+ void dallas32_mem(address_map &map);
+ void glasgow_mem(address_map &map);
private:
uint8_t m_lcd_shift_counter;
uint8_t m_led7;
@@ -544,7 +547,7 @@ MACHINE_RESET_MEMBER( glasgow_state, glasgow )
}
-static ADDRESS_MAP_START(glasgow_mem, AS_PROGRAM, 16, glasgow_state)
+ADDRESS_MAP_START(glasgow_state::glasgow_mem)
ADDRESS_MAP_GLOBAL_MASK(0x1FFFF)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x010000, 0x010001) AM_WRITE( glasgow_lcd_w )
@@ -555,7 +558,7 @@ static ADDRESS_MAP_START(glasgow_mem, AS_PROGRAM, 16, glasgow_state)
AM_RANGE(0x01c000, 0x01ffff) AM_RAM // 16KB
ADDRESS_MAP_END
-static ADDRESS_MAP_START(amsterd_mem, AS_PROGRAM, 16, glasgow_state)
+ADDRESS_MAP_START(glasgow_state::amsterd_mem)
// ADDRESS_MAP_GLOBAL_MASK(0x7FFFF)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x800002, 0x800003) AM_WRITE( write_lcd )
@@ -568,7 +571,7 @@ static ADDRESS_MAP_START(amsterd_mem, AS_PROGRAM, 16, glasgow_state)
AM_RANGE(0xffc000, 0xffffff) AM_RAM // 16KB
ADDRESS_MAP_END
-static ADDRESS_MAP_START(dallas32_mem, AS_PROGRAM, 32, glasgow_state)
+ADDRESS_MAP_START(glasgow_state::dallas32_mem)
// ADDRESS_MAP_GLOBAL_MASK(0x1FFFF)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x010000, 0x01ffff) AM_RAM // 64KB
diff --git a/src/mame/drivers/glass.cpp b/src/mame/drivers/glass.cpp
index a9a7e49ad89..9571ef39bca 100644
--- a/src/mame/drivers/glass.cpp
+++ b/src/mame/drivers/glass.cpp
@@ -104,12 +104,12 @@ WRITE_LINE_MEMBER(glass_state::coin2_counter_w)
}
-static ADDRESS_MAP_START( mcu_hostmem_map, 0, 8, glass_state )
+ADDRESS_MAP_START(glass_state::mcu_hostmem_map)
AM_RANGE(0x0000, 0xffff) AM_MASK(0x3fff) AM_READWRITE(shareram_r, shareram_w) // shared RAM with the main CPU
ADDRESS_MAP_END
-static ADDRESS_MAP_START( glass_map, AS_PROGRAM, 16, glass_state )
+ADDRESS_MAP_START(glass_state::glass_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x101fff) AM_RAM_WRITE(vram_w) AM_SHARE("videoram") // Video RAM
AM_RANGE(0x102000, 0x102fff) AM_RAM // Extra Video RAM
@@ -129,7 +129,7 @@ static ADDRESS_MAP_START( glass_map, AS_PROGRAM, 16, glass_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( oki_map, 0, 8, glass_state )
+ADDRESS_MAP_START(glass_state::oki_map)
AM_RANGE(0x00000, 0x2ffff) AM_ROM
AM_RANGE(0x30000, 0x3ffff) AM_ROMBANK("okibank")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/globalfr.cpp b/src/mame/drivers/globalfr.cpp
index e5a544f962c..60ce27ff1cd 100644
--- a/src/mame/drivers/globalfr.cpp
+++ b/src/mame/drivers/globalfr.cpp
@@ -38,6 +38,7 @@ public:
DECLARE_WRITE16_MEMBER(vfd_w);
void globalfr(machine_config &config);
+ void globalfr_map(address_map &map);
};
/******************************************************************************/
@@ -51,7 +52,7 @@ WRITE16_MEMBER(globalfr_state::vfd_w)
}
}
-static ADDRESS_MAP_START( globalfr_map, AS_PROGRAM, 16, globalfr_state )
+ADDRESS_MAP_START(globalfr_state::globalfr_map)
AM_RANGE(0x002000, 0x002fff) AM_RAM
AM_RANGE(0x008000, 0x07ffff) AM_ROM AM_REGION("maincpu", 0x8000)
AM_RANGE(0x0a0000, 0x0a01ff) AM_RAM
diff --git a/src/mame/drivers/globalvr.cpp b/src/mame/drivers/globalvr.cpp
index e7a3d29021b..0e14019948d 100644
--- a/src/mame/drivers/globalvr.cpp
+++ b/src/mame/drivers/globalvr.cpp
@@ -68,6 +68,7 @@ public:
{ }
void globalvr(machine_config &config);
+ void globalvr_map(address_map &map);
protected:
// devices
@@ -76,7 +77,7 @@ protected:
-static ADDRESS_MAP_START( globalvr_map, AS_PROGRAM, 32, globalvr_state )
+ADDRESS_MAP_START(globalvr_state::globalvr_map)
AM_RANGE(0x00000000, 0xffffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/gluck2.cpp b/src/mame/drivers/gluck2.cpp
index 4e925bb6e95..38a9b806aed 100644
--- a/src/mame/drivers/gluck2.cpp
+++ b/src/mame/drivers/gluck2.cpp
@@ -230,6 +230,7 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void gluck2(machine_config &config);
+ void gluck2_map(address_map &map);
};
@@ -307,7 +308,7 @@ WRITE8_MEMBER(gluck2_state::counters_w)
* Memory map information *
*********************************************/
-static ADDRESS_MAP_START( gluck2_map, AS_PROGRAM, 8, gluck2_state )
+ADDRESS_MAP_START(gluck2_state::gluck2_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_device, address_w)
AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
diff --git a/src/mame/drivers/gmaster.cpp b/src/mame/drivers/gmaster.cpp
index f3cae0ed2b9..4e4e2ff6897 100644
--- a/src/mame/drivers/gmaster.cpp
+++ b/src/mame/drivers/gmaster.cpp
@@ -44,6 +44,7 @@ public:
uint32_t screen_update_gmaster(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void gmaster(machine_config &config);
+ void gmaster_mem(address_map &map);
private:
virtual void machine_start() override;
@@ -236,7 +237,7 @@ WRITE8_MEMBER(gmaster_state::gmaster_portf_w)
}
-static ADDRESS_MAP_START( gmaster_mem, AS_PROGRAM, 8, gmaster_state )
+ADDRESS_MAP_START(gmaster_state::gmaster_mem)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_READWRITE(gmaster_io_r, gmaster_io_w)
//AM_RANGE(0x8000, 0xfeff) // mapped by the cartslot
diff --git a/src/mame/drivers/gng.cpp b/src/mame/drivers/gng.cpp
index b8893152981..9b8d156b83c 100644
--- a/src/mame/drivers/gng.cpp
+++ b/src/mame/drivers/gng.cpp
@@ -65,7 +65,7 @@ READ8_MEMBER(gng_state::diamond_hack_r)
return 0;
}
-static ADDRESS_MAP_START( gng_map, AS_PROGRAM, 8, gng_state )
+ADDRESS_MAP_START(gng_state::gng_map)
AM_RANGE(0x0000, 0x1dff) AM_RAM
AM_RANGE(0x1e00, 0x1fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(gng_fgvideoram_w) AM_SHARE("fgvideoram")
@@ -87,7 +87,7 @@ static ADDRESS_MAP_START( gng_map, AS_PROGRAM, 8, gng_state )
AM_RANGE(0x6000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( diamond_map, AS_PROGRAM, 8, gng_state )
+ADDRESS_MAP_START(gng_state::diamond_map)
AM_RANGE(0x0000, 0x1dff) AM_RAM
AM_RANGE(0x1e00, 0x1fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(gng_fgvideoram_w) AM_SHARE("fgvideoram")
@@ -115,7 +115,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, gng_state )
+ADDRESS_MAP_START(gng_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc800) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/go2000.cpp b/src/mame/drivers/go2000.cpp
index cf5cb9029b9..f26ac2a6adb 100644
--- a/src/mame/drivers/go2000.cpp
+++ b/src/mame/drivers/go2000.cpp
@@ -73,6 +73,9 @@ public:
virtual void video_start() override;
uint32_t screen_update_go2000(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void go2000(machine_config &config);
+ void go2000_map(address_map &map);
+ void go2000_sound_io(address_map &map);
+ void go2000_sound_map(address_map &map);
};
@@ -82,7 +85,7 @@ WRITE16_MEMBER(go2000_state::sound_cmd_w)
m_soundcpu->set_input_line(0, HOLD_LINE);
}
-static ADDRESS_MAP_START( go2000_map, AS_PROGRAM, 16, go2000_state )
+ADDRESS_MAP_START(go2000_state::go2000_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x200000, 0x203fff) AM_RAM
AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_SHARE("videoram")
@@ -101,12 +104,12 @@ WRITE8_MEMBER(go2000_state::go2000_pcm_1_bankswitch_w)
membank("bank1")->set_entry(data & 0x07);
}
-static ADDRESS_MAP_START( go2000_sound_map, AS_PROGRAM, 8, go2000_state )
+ADDRESS_MAP_START(go2000_state::go2000_sound_map)
AM_RANGE(0x0000, 0x03ff) AM_ROM
AM_RANGE(0x0400, 0xffff) AM_ROMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( go2000_sound_io, AS_IO, 8, go2000_state )
+ADDRESS_MAP_START(go2000_state::go2000_sound_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("dac", dac_byte_interface, write)
diff --git a/src/mame/drivers/goal92.cpp b/src/mame/drivers/goal92.cpp
index db6f3f6fe79..31066f425ef 100644
--- a/src/mame/drivers/goal92.cpp
+++ b/src/mame/drivers/goal92.cpp
@@ -51,7 +51,7 @@ READ16_MEMBER(goal92_state::goal92_inputs_r)
return 0;
}
-static ADDRESS_MAP_START( goal92_map, AS_PROGRAM, 16, goal92_state )
+ADDRESS_MAP_START(goal92_state::goal92_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x1007ff) AM_RAM
AM_RANGE(0x100800, 0x100fff) AM_RAM_WRITE(goal92_background_w) AM_SHARE("bg_data")
@@ -84,7 +84,7 @@ WRITE8_MEMBER(goal92_state::adpcm_data_w)
m_msm5205next = data;
}
-static ADDRESS_MAP_START( sound_cpu, AS_PROGRAM, 8, goal92_state )
+ADDRESS_MAP_START(goal92_state::sound_cpu)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xe000, 0xe000) AM_WRITE(adpcm_control_w)
diff --git a/src/mame/drivers/goindol.cpp b/src/mame/drivers/goindol.cpp
index e2edc8918b4..c6f710ddc21 100644
--- a/src/mame/drivers/goindol.cpp
+++ b/src/mame/drivers/goindol.cpp
@@ -81,7 +81,7 @@ WRITE8_MEMBER(goindol_state::prot_fcb0_w)
-static ADDRESS_MAP_START( goindol_map, AS_PROGRAM, 8, goindol_state )
+ADDRESS_MAP_START(goindol_state::goindol_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("ram")
@@ -107,7 +107,7 @@ static ADDRESS_MAP_START( goindol_map, AS_PROGRAM, 8, goindol_state )
AM_RANGE(0xfd99, 0xfd99) AM_WRITE(prot_fd99_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, goindol_state )
+ADDRESS_MAP_START(goindol_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xa000, 0xa001) AM_DEVWRITE("ymsnd", ym2203_device, write)
AM_RANGE(0xc000, 0xc7ff) AM_RAM
diff --git a/src/mame/drivers/gokidetor.cpp b/src/mame/drivers/gokidetor.cpp
index d615d9ab42d..f00ffb8482c 100644
--- a/src/mame/drivers/gokidetor.cpp
+++ b/src/mame/drivers/gokidetor.cpp
@@ -34,6 +34,8 @@ public:
DECLARE_WRITE8_MEMBER(ym_porta_w);
void gokidetor(machine_config &config);
+ void main_map(address_map &map);
+ void sound_map(address_map &map);
protected:
virtual void machine_start() override;
@@ -84,7 +86,7 @@ WRITE8_MEMBER(gokidetor_state::ym_porta_w)
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, gokidetor_state )
+ADDRESS_MAP_START(gokidetor_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_ROM // probably banked
AM_RANGE(0xa000, 0xbfff) AM_RAM
@@ -106,7 +108,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, gokidetor_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, gokidetor_state )
+ADDRESS_MAP_START(gokidetor_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x9001) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
diff --git a/src/mame/drivers/goldngam.cpp b/src/mame/drivers/goldngam.cpp
index 6ae3466fe57..1abe473d1e4 100644
--- a/src/mame/drivers/goldngam.cpp
+++ b/src/mame/drivers/goldngam.cpp
@@ -257,6 +257,8 @@ public:
required_device<cpu_device> m_maincpu;
void swisspkr(machine_config &config);
void moviecrd(machine_config &config);
+ void moviecrd_map(address_map &map);
+ void swisspkr_map(address_map &map);
};
@@ -305,7 +307,7 @@ READ16_MEMBER(goldngam_state::unk_r)
return test1;
}
-static ADDRESS_MAP_START( swisspkr_map, AS_PROGRAM, 16, goldngam_state )
+ADDRESS_MAP_START(goldngam_state::swisspkr_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM
AM_RANGE(0x400002, 0x400003) AM_NOP // hopper status read ?
@@ -355,7 +357,7 @@ ADDRESS_MAP_END
*/
-static ADDRESS_MAP_START( moviecrd_map, AS_PROGRAM, 16, goldngam_state )
+ADDRESS_MAP_START(goldngam_state::moviecrd_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM
AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_SHARE("videoram")
diff --git a/src/mame/drivers/goldnpkr.cpp b/src/mame/drivers/goldnpkr.cpp
index 091ea19c73f..c7d01c48928 100644
--- a/src/mame/drivers/goldnpkr.cpp
+++ b/src/mame/drivers/goldnpkr.cpp
@@ -1365,6 +1365,18 @@ public:
void pottnpkr(machine_config &config);
void goldnpkr(machine_config &config);
void wcrdxtnd(machine_config &config);
+ void bchancep_map(address_map &map);
+ void genie_map(address_map &map);
+ void goldnpkr_map(address_map &map);
+ void mondial_map(address_map &map);
+ void pottnpkr_map(address_map &map);
+ void wcrdxtnd_map(address_map &map);
+ void wildcard_map(address_map &map);
+ void wildcrdb_map(address_map &map);
+ void wildcrdb_mcu_io_map(address_map &map);
+ void wildcrdb_mcu_map(address_map &map);
+ void witchcrd_falcon_map(address_map &map);
+ void witchcrd_map(address_map &map);
protected:
required_shared_ptr<uint8_t> m_videoram;
required_shared_ptr<uint8_t> m_colorram;
@@ -1404,6 +1416,8 @@ public:
DECLARE_WRITE8_MEMBER(mcu_portb_w);
DECLARE_WRITE8_MEMBER(mcu_portc_w);
void megadpkr(machine_config &config);
+ void megadpkr_banked_map(address_map &map);
+ void megadpkr_map(address_map &map);
};
@@ -1818,7 +1832,7 @@ READ8_MEMBER(goldnpkr_state::pia1_b_r)
* Memory Map Information *
*********************************************/
-static ADDRESS_MAP_START( goldnpkr_map, AS_PROGRAM, 8, goldnpkr_state )
+ADDRESS_MAP_START(goldnpkr_state::goldnpkr_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram") /* battery backed RAM */
AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_device, address_w)
@@ -1830,7 +1844,7 @@ static ADDRESS_MAP_START( goldnpkr_map, AS_PROGRAM, 8, goldnpkr_state )
AM_RANGE(0x2000, 0x7fff) AM_ROM /* superdbl uses 0x2000..0x3fff address space */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pottnpkr_map, AS_PROGRAM, 8, goldnpkr_state )
+ADDRESS_MAP_START(goldnpkr_state::pottnpkr_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram") /* battery backed RAM */
AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_device, address_w)
@@ -1842,7 +1856,7 @@ static ADDRESS_MAP_START( pottnpkr_map, AS_PROGRAM, 8, goldnpkr_state )
AM_RANGE(0x2000, 0x3fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( witchcrd_map, AS_PROGRAM, 8, goldnpkr_state )
+ADDRESS_MAP_START(goldnpkr_state::witchcrd_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram") /* battery backed RAM */
AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_device, address_w)
@@ -1869,7 +1883,7 @@ ADDRESS_MAP_END
*/
-static ADDRESS_MAP_START( witchcrd_falcon_map, AS_PROGRAM, 8, goldnpkr_state )
+ADDRESS_MAP_START(goldnpkr_state::witchcrd_falcon_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram") /* battery backed RAM */
AM_RANGE(0x0844, 0x0847) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
@@ -1882,7 +1896,7 @@ static ADDRESS_MAP_START( witchcrd_falcon_map, AS_PROGRAM, 8, goldnpkr_state )
AM_RANGE(0x4000, 0x7fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( wildcard_map, AS_PROGRAM, 8, goldnpkr_state )
+ADDRESS_MAP_START(goldnpkr_state::wildcard_map)
// ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram") /* battery backed RAM */
AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_device, address_w)
@@ -1904,7 +1918,7 @@ ADDRESS_MAP_END
*/
-static ADDRESS_MAP_START( wcrdxtnd_map, AS_PROGRAM, 8, goldnpkr_state )
+ADDRESS_MAP_START(goldnpkr_state::wcrdxtnd_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM //AM_SHARE("nvram") /* battery backed RAM */
AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_device, address_w)
AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
@@ -1924,7 +1938,7 @@ ADDRESS_MAP_END
*/
-static ADDRESS_MAP_START( wildcrdb_map, AS_PROGRAM, 8, goldnpkr_state )
+ADDRESS_MAP_START(goldnpkr_state::wildcrdb_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram") /* battery backed RAM */
AM_RANGE(0x0844, 0x0847) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
@@ -1938,13 +1952,13 @@ static ADDRESS_MAP_START( wildcrdb_map, AS_PROGRAM, 8, goldnpkr_state )
AM_RANGE(0x3000, 0x7fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( wildcrdb_mcu_map, AS_PROGRAM, 8, goldnpkr_state )
+ADDRESS_MAP_START(goldnpkr_state::wildcrdb_mcu_map)
// ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1000, 0x2fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( wildcrdb_mcu_io_map, AS_IO, 8, goldnpkr_state )
+ADDRESS_MAP_START(goldnpkr_state::wildcrdb_mcu_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
@@ -1957,7 +1971,7 @@ ADDRESS_MAP_END
*/
-static ADDRESS_MAP_START( genie_map, AS_PROGRAM, 8, goldnpkr_state )
+ADDRESS_MAP_START(goldnpkr_state::genie_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram") /* battery backed RAM */
AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_device, address_w)
@@ -1970,7 +1984,7 @@ static ADDRESS_MAP_START( genie_map, AS_PROGRAM, 8, goldnpkr_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mondial_map, AS_PROGRAM, 8, goldnpkr_state )
+ADDRESS_MAP_START(goldnpkr_state::mondial_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram") /* battery backed RAM */
AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_device, address_w)
@@ -1982,7 +1996,7 @@ static ADDRESS_MAP_START( mondial_map, AS_PROGRAM, 8, goldnpkr_state )
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bchancep_map, AS_PROGRAM, 8, goldnpkr_state )
+ADDRESS_MAP_START(goldnpkr_state::bchancep_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram") /* battery backed RAM */
AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_device, address_w)
@@ -4578,7 +4592,7 @@ WRITE8_MEMBER(blitz_state::mcu_portc_w)
}
-static ADDRESS_MAP_START( megadpkr_map, AS_PROGRAM, 8, blitz_state )
+ADDRESS_MAP_START(blitz_state::megadpkr_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM //AM_SHARE("nvram") /* battery backed RAM */
AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_device, address_w)
AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
@@ -4599,7 +4613,7 @@ static ADDRESS_MAP_START( megadpkr_map, AS_PROGRAM, 8, blitz_state )
AM_RANGE(0xc000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( megadpkr_banked_map, AS_PROGRAM, 8, blitz_state )
+ADDRESS_MAP_START(blitz_state::megadpkr_banked_map)
AM_RANGE(0x00000, 0x07fff) AM_READ(cpubank_decrypt_r)
AM_RANGE(0x08000, 0x087ff) AM_DEVREADWRITE("timekpr", m48t02_device, read, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/goldstar.cpp b/src/mame/drivers/goldstar.cpp
index a00121a2c5b..8fd767811e7 100644
--- a/src/mame/drivers/goldstar.cpp
+++ b/src/mame/drivers/goldstar.cpp
@@ -330,7 +330,7 @@ WRITE8_MEMBER(goldstar_state::p2_lamps_w)
}
-static ADDRESS_MAP_START( goldstar_map, AS_PROGRAM, 8, goldstar_state )
+ADDRESS_MAP_START(goldstar_state::goldstar_map)
AM_RANGE(0x0000, 0xb7ff) AM_ROM
AM_RANGE(0xb800, 0xbfff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xc000, 0xc7ff) AM_ROM
@@ -362,13 +362,13 @@ static ADDRESS_MAP_START( goldstar_map, AS_PROGRAM, 8, goldstar_state )
AM_RANGE(0xfe00, 0xfe00) AM_READWRITE(protection_r,protection_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( goldstar_readport, AS_IO, 8, goldstar_state )
+ADDRESS_MAP_START(goldstar_state::goldstar_readport)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x10) AM_READ_PORT("DSW6")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( star100_map, AS_PROGRAM, 8, sanghopm_state )
+ADDRESS_MAP_START(sanghopm_state::star100_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(fg_vidram_w) AM_SHARE("fg_vidram") // videoram 1
@@ -423,7 +423,7 @@ WRITE8_MEMBER(sanghopm_state::enable_w)
m_enable_reg = data;
}
-static ADDRESS_MAP_START( star100_readport, AS_IO, 8, sanghopm_state )
+ADDRESS_MAP_START(sanghopm_state::star100_readport)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x08, 0x08) AM_DEVREADWRITE("aysnd", ay8910_device, data_r, data_w)
@@ -482,7 +482,7 @@ ADDRESS_MAP_END
E1: W Reels enable/disable register
*/
-static ADDRESS_MAP_START( ramdac_map, 0, 8, goldstar_state )
+ADDRESS_MAP_START(goldstar_state::ramdac_map)
AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac", ramdac_device, ramdac_pal_r, ramdac_rgb666_w)
ADDRESS_MAP_END
@@ -601,7 +601,7 @@ WRITE8_MEMBER(goldstar_state::ncb3_port81_w)
}
-static ADDRESS_MAP_START( ncb3_map, AS_PROGRAM, 8, cb3_state )
+ADDRESS_MAP_START(cb3_state::ncb3_map)
AM_RANGE(0x0000, 0xb7ff) AM_ROM
AM_RANGE(0xb800, 0xbfff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xc000, 0xc7ff) AM_ROM
@@ -626,7 +626,7 @@ static ADDRESS_MAP_START( ncb3_map, AS_PROGRAM, 8, cb3_state )
AM_RANGE(0xf870, 0xf870) AM_DEVWRITE("snsnd", sn76489_device, write) /* guess... device is initialized, but doesn't seems to be used.*/
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ncb3_readwriteport, AS_IO, 8, goldstar_state )
+ADDRESS_MAP_START(goldstar_state::ncb3_readwriteport)
ADDRESS_MAP_GLOBAL_MASK(0xff)
// AM_RANGE(0x00, 0x00) AM_READ(ncb3_unkread_r) // read from 0x00 when controls set 1 is used...
// AM_RANGE(0x02, 0x02) AM_READ(ncb3_unkread_r) // read from 0x02 when controls set 2 is used...
@@ -669,7 +669,7 @@ ADDRESS_MAP_END
*/
-static ADDRESS_MAP_START( wcherry_map, AS_PROGRAM, 8, goldstar_state )
+ADDRESS_MAP_START(goldstar_state::wcherry_map)
AM_RANGE(0x0000, 0xb7ff) AM_ROM
AM_RANGE(0xb800, 0xbfff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xc000, 0xc7ff) AM_ROM
@@ -698,7 +698,7 @@ static ADDRESS_MAP_START( wcherry_map, AS_PROGRAM, 8, goldstar_state )
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( wcherry_readwriteport, AS_IO, 8, goldstar_state )
+ADDRESS_MAP_START(goldstar_state::wcherry_readwriteport)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
@@ -723,7 +723,7 @@ static ADDRESS_MAP_START( wcherry_readwriteport, AS_IO, 8, goldstar_state )
*/
-static ADDRESS_MAP_START( cm_map, AS_PROGRAM, 8, goldstar_state )
+ADDRESS_MAP_START(goldstar_state::cm_map)
AM_RANGE(0x0000, 0xcfff) AM_ROM AM_WRITENOP
AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_SHARE("nvram")
@@ -746,7 +746,7 @@ static ADDRESS_MAP_START( cm_map, AS_PROGRAM, 8, goldstar_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nfm_map, AS_PROGRAM, 8, goldstar_state )
+ADDRESS_MAP_START(goldstar_state::nfm_map)
AM_RANGE(0x0000, 0xd7ff) AM_ROM AM_WRITENOP
AM_RANGE(0xd800, 0xdfff) AM_RAM AM_SHARE("nvram")
@@ -793,7 +793,7 @@ WRITE8_MEMBER(goldstar_state::cm_coincount_w)
popmessage("counters: %02X", data);
}
-static ADDRESS_MAP_START( cm_portmap, AS_IO, 8, cmaster_state )
+ADDRESS_MAP_START(cmaster_state::cm_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x01, 0x01) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE(0x02, 0x03) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -807,7 +807,7 @@ static ADDRESS_MAP_START( cm_portmap, AS_IO, 8, cmaster_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pkrmast_portmap, AS_IO, 8, goldstar_state )
+ADDRESS_MAP_START(goldstar_state::pkrmast_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x04, 0x04) AM_DEVREAD("aysnd", ay8910_device, data_r)
@@ -830,7 +830,7 @@ static ADDRESS_MAP_START( pkrmast_portmap, AS_IO, 8, goldstar_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cmast91_portmap, AS_IO, 8, goldstar_state )
+ADDRESS_MAP_START(goldstar_state::cmast91_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write) /* Input Ports */
AM_RANGE(0x10, 0x13) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write) /* DIP switches */
@@ -839,7 +839,7 @@ static ADDRESS_MAP_START( cmast91_portmap, AS_IO, 8, goldstar_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( amcoe1_portmap, AS_IO, 8, cmaster_state )
+ADDRESS_MAP_START(cmaster_state::amcoe1_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x01, 0x01) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE(0x02, 0x03) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -852,7 +852,7 @@ static ADDRESS_MAP_START( amcoe1_portmap, AS_IO, 8, cmaster_state )
AM_RANGE(0x20, 0x20) AM_DEVREADWRITE("oki", okim6295_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( amcoe2_portmap, AS_IO, 8, cmaster_state )
+ADDRESS_MAP_START(cmaster_state::amcoe2_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x01, 0x01) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE(0x02, 0x03) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -865,7 +865,7 @@ static ADDRESS_MAP_START( amcoe2_portmap, AS_IO, 8, cmaster_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lucky8_map, AS_PROGRAM, 8, goldstar_state )
+ADDRESS_MAP_START(goldstar_state::lucky8_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_SHARE("fg_vidram")
@@ -889,7 +889,7 @@ static ADDRESS_MAP_START( lucky8_map, AS_PROGRAM, 8, goldstar_state )
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( flaming7_map, AS_PROGRAM, 8, goldstar_state )
+ADDRESS_MAP_START(goldstar_state::flaming7_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_SHARE("fg_vidram")
@@ -948,7 +948,7 @@ ADDRESS_MAP_END
AY8910 ports are OK.
*/
-static ADDRESS_MAP_START( mbstar_map, AS_PROGRAM, 8, goldstar_state )
+ADDRESS_MAP_START(goldstar_state::mbstar_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_SHARE("fg_vidram")
@@ -999,7 +999,7 @@ WRITE8_MEMBER(wingco_state::fl7w4_outc802_w)
m_fl7w4_id->write((data >> 6) & 0x01);
}
-static ADDRESS_MAP_START( magodds_map, AS_PROGRAM, 8, wingco_state )
+ADDRESS_MAP_START(wingco_state::magodds_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
// where does the extra rom data map?? it seems like it should come straight after the existing rom, but it can't if this is a plain z80?
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("nvram")
@@ -1023,7 +1023,7 @@ static ADDRESS_MAP_START( magodds_map, AS_PROGRAM, 8, wingco_state )
AM_RANGE(0xc000, 0xffff) AM_ROM AM_REGION("maincpu",0xc000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kkotnoli_map, AS_PROGRAM, 8, goldstar_state )
+ADDRESS_MAP_START(goldstar_state::kkotnoli_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM /* definitely no NVRAM */
AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_SHARE("fg_vidram")
@@ -1062,7 +1062,7 @@ ADDRESS_MAP_END
// popmessage("Output: %02X", data);
//}
-static ADDRESS_MAP_START( ladylinr_map, AS_PROGRAM, 8, goldstar_state )
+ADDRESS_MAP_START(goldstar_state::ladylinr_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_SHARE("fg_vidram")
@@ -1083,7 +1083,7 @@ static ADDRESS_MAP_START( ladylinr_map, AS_PROGRAM, 8, goldstar_state )
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( wcat3_map, AS_PROGRAM, 8, goldstar_state )
+ADDRESS_MAP_START(goldstar_state::wcat3_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_SHARE("fg_vidram")
@@ -1109,7 +1109,7 @@ ADDRESS_MAP_END
/* newer / more capable hw */
-static ADDRESS_MAP_START( unkch_map, AS_PROGRAM, 8, unkch_state )
+ADDRESS_MAP_START(unkch_state::unkch_map)
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xc000, 0xc1ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xc800, 0xc9ff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
@@ -1195,7 +1195,7 @@ WRITE8_MEMBER(unkch_state::unkcm_0x03_w)
}
-static ADDRESS_MAP_START( unkch_portmap, AS_IO, 8, unkch_state )
+ADDRESS_MAP_START(unkch_state::unkch_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x01, 0x01) AM_WRITE(coincount_w)
@@ -1213,7 +1213,7 @@ static ADDRESS_MAP_START( unkch_portmap, AS_IO, 8, unkch_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( megaline_map, AS_PROGRAM, 8, unkch_state )
+ADDRESS_MAP_START(unkch_state::megaline_map)
/* Reels stuff are there just as placeholder, and obviously in wrong offset */
AM_RANGE(0x0000, 0x9fff) AM_ROM
@@ -1243,7 +1243,7 @@ ADDRESS_MAP_END
AY8910?: 60 - 80
*/
-static ADDRESS_MAP_START( megaline_portmap, AS_IO, 8, goldstar_state )
+ADDRESS_MAP_START(goldstar_state::megaline_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xa0, 0xa0) AM_DEVWRITE("sn1", sn76489_device, write) /* SN76489 #1 */
AM_RANGE(0xc0, 0xc0) AM_DEVWRITE("sn2", sn76489_device, write) /* SN76489 #2 */
@@ -1255,7 +1255,7 @@ static ADDRESS_MAP_START( megaline_portmap, AS_IO, 8, goldstar_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bonusch_map, AS_PROGRAM, 8, unkch_state )
+ADDRESS_MAP_START(unkch_state::bonusch_map)
/* Reels stuff and RAM are there just as placeholder, and obviously in wrong offset */
AM_RANGE(0x0000, 0xbfff) AM_ROM // ok
@@ -1296,7 +1296,7 @@ ADDRESS_MAP_END
60h = R
*/
-static ADDRESS_MAP_START( bonusch_portmap, AS_IO, 8, goldstar_state )
+ADDRESS_MAP_START(goldstar_state::bonusch_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x10) AM_READ_PORT("IN0")
AM_RANGE(0x20, 0x20) AM_READ_PORT("IN1")
diff --git a/src/mame/drivers/gomoku.cpp b/src/mame/drivers/gomoku.cpp
index da103e155e6..c66f59423bd 100644
--- a/src/mame/drivers/gomoku.cpp
+++ b/src/mame/drivers/gomoku.cpp
@@ -45,7 +45,7 @@ READ8_MEMBER(gomoku_state::input_port_r)
}
-static ADDRESS_MAP_START( gomoku_map, AS_PROGRAM, 8, gomoku_state )
+ADDRESS_MAP_START(gomoku_state::gomoku_map)
AM_RANGE(0x0000, 0x47ff) AM_ROM
AM_RANGE(0x4800, 0x4fff) AM_RAM
AM_RANGE(0x5000, 0x53ff) AM_RAM_WRITE(gomoku_videoram_w) AM_SHARE("videoram")
diff --git a/src/mame/drivers/good.cpp b/src/mame/drivers/good.cpp
index 3a3e2c04fa9..e3f4ae10d5b 100644
--- a/src/mame/drivers/good.cpp
+++ b/src/mame/drivers/good.cpp
@@ -68,6 +68,7 @@ public:
required_device<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
void good(machine_config &config);
+ void good_map(address_map &map);
};
@@ -113,7 +114,7 @@ uint32_t good_state::screen_update_good(screen_device &screen, bitmap_ind16 &bit
return 0;
}
-static ADDRESS_MAP_START( good_map, AS_PROGRAM, 16, good_state )
+ADDRESS_MAP_START(good_state::good_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
//AM_RANGE(0x270000, 0x270007) AM_RAM // scroll?
diff --git a/src/mame/drivers/goodejan.cpp b/src/mame/drivers/goodejan.cpp
index 5adec671d57..ec5c28d5be6 100644
--- a/src/mame/drivers/goodejan.cpp
+++ b/src/mame/drivers/goodejan.cpp
@@ -81,7 +81,7 @@ Secret menu hack [totmejan only] (I couldn't find official way to enter, so it's
#include "speaker.h"
-class goodejan_state : public driver_device
+class goodejan_state : public driver_device, protected seibu_sound_common
{
public:
goodejan_state(const machine_config &mconfig, device_type type, const char *tag)
@@ -89,6 +89,7 @@ public:
m_maincpu(*this, "maincpu"),
m_gfxdecode(*this, "gfxdecode"),
m_palette(*this, "palette"),
+ m_crtc(*this, "crtc"),
m_sc0_vram(*this, "sc0_vram"),
m_sc1_vram(*this, "sc1_vram"),
m_sc2_vram(*this, "sc2_vram"),
@@ -98,6 +99,7 @@ public:
required_device<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
+ required_device<seibu_crtc_device> m_crtc;
required_shared_ptr<uint16_t> m_sc0_vram;
required_shared_ptr<uint16_t> m_sc1_vram;
@@ -138,6 +140,10 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void totmejan(machine_config &config);
void goodejan(machine_config &config);
+ void common_io_map(address_map &map);
+ void goodejan_io_map(address_map &map);
+ void goodejan_map(address_map &map);
+ void totmejan_io_map(address_map &map);
};
/*******************************
@@ -431,7 +437,7 @@ WRITE16_MEMBER(goodejan_state::mahjong_panel_w)
m_mux_data = data;
}
-static ADDRESS_MAP_START( goodejan_map, AS_PROGRAM, 16, goodejan_state )
+ADDRESS_MAP_START(goodejan_state::goodejan_map)
AM_RANGE(0x00000, 0x0afff) AM_RAM
AM_RANGE(0x0c000, 0x0c7ff) AM_RAM_WRITE(seibucrtc_sc0vram_w) AM_SHARE("sc0_vram")
AM_RANGE(0x0c800, 0x0cfff) AM_RAM_WRITE(seibucrtc_sc3vram_w) AM_SHARE("sc3_vram")
@@ -444,7 +450,7 @@ static ADDRESS_MAP_START( goodejan_map, AS_PROGRAM, 16, goodejan_state )
ADDRESS_MAP_END
/* totmejan CRTC is at 8000-804f,goodejan is at 8000-807f */
-static ADDRESS_MAP_START( common_io_map, AS_IO, 16, goodejan_state )
+ADDRESS_MAP_START(goodejan_state::common_io_map)
AM_RANGE(0x9000, 0x9001) AM_WRITE(gfxbank_w)
AM_RANGE(0xb000, 0xb003) AM_WRITENOP
AM_RANGE(0xb004, 0xb005) AM_WRITE(mahjong_panel_w)
@@ -455,14 +461,14 @@ static ADDRESS_MAP_START( common_io_map, AS_IO, 16, goodejan_state )
AM_RANGE(0xd000, 0xd00f) AM_DEVREADWRITE8("seibu_sound", seibu_sound_device, main_r, main_w, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( totmejan_io_map, AS_IO, 16, goodejan_state )
+ADDRESS_MAP_START(goodejan_state::totmejan_io_map)
AM_IMPORT_FROM(common_io_map)
AM_RANGE(0x8000, 0x804f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( goodejan_io_map, AS_IO, 16, goodejan_state )
+ADDRESS_MAP_START(goodejan_state::goodejan_io_map)
AM_IMPORT_FROM(common_io_map)
- AM_RANGE(0x8000, 0x807f) AM_DEVREADWRITE_MOD("crtc", seibu_crtc_device, read, write, xor<0x20>)
+ ;map(0x8000, 0x807f).lrw16("crtc_rw", [this](address_space &space, offs_t offset, u16 mem_mask){ return m_crtc->read(space, offset ^ 0x20, mem_mask); }, [this](address_space &space, offs_t offset, u16 data, u16 mem_mask){ m_crtc->write(space, offset ^ 0x20, data, mem_mask); });
ADDRESS_MAP_END
static INPUT_PORTS_START( goodejan )
diff --git a/src/mame/drivers/gotcha.cpp b/src/mame/drivers/gotcha.cpp
index 27b346e0e5e..59bea55cd60 100644
--- a/src/mame/drivers/gotcha.cpp
+++ b/src/mame/drivers/gotcha.cpp
@@ -101,7 +101,7 @@ WRITE16_MEMBER(gotcha_state::gotcha_oki_bank_w)
}
-static ADDRESS_MAP_START( gotcha_map, AS_PROGRAM, 16, gotcha_state )
+ADDRESS_MAP_START(gotcha_state::gotcha_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
AM_RANGE(0x100002, 0x100003) AM_WRITE(gotcha_lamps_w)
@@ -121,7 +121,7 @@ static ADDRESS_MAP_START( gotcha_map, AS_PROGRAM, 16, gotcha_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, gotcha_state )
+ADDRESS_MAP_START(gotcha_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0xc002, 0xc002) AM_DEVREADWRITE("oki", okim6295_device, read, write) AM_MIRROR(1)
diff --git a/src/mame/drivers/gottlieb.cpp b/src/mame/drivers/gottlieb.cpp
index e0d4d3b2193..5ca6c75369f 100644
--- a/src/mame/drivers/gottlieb.cpp
+++ b/src/mame/drivers/gottlieb.cpp
@@ -749,7 +749,7 @@ WRITE8_MEMBER(gottlieb_state::gottlieb_sh_w)
m_r2_sound->write(space, offset, data);
}
-static ADDRESS_MAP_START( reactor_map, AS_PROGRAM, 8, gottlieb_state )
+ADDRESS_MAP_START(gottlieb_state::reactor_map)
ADDRESS_MAP_GLOBAL_MASK(0xffff)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x20ff) AM_MIRROR(0x0f00) AM_WRITEONLY AM_SHARE("spriteram") /* FRSEL */
@@ -770,7 +770,7 @@ static ADDRESS_MAP_START( reactor_map, AS_PROGRAM, 8, gottlieb_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gottlieb_map, AS_PROGRAM, 8, gottlieb_state )
+ADDRESS_MAP_START(gottlieb_state::gottlieb_map)
ADDRESS_MAP_GLOBAL_MASK(0xffff)
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x1000, 0x1fff) AM_RAM AM_REGION("maincpu", 0x1000) /* or ROM */
diff --git a/src/mame/drivers/gotya.cpp b/src/mame/drivers/gotya.cpp
index 398d8c1e549..fe3985e7ece 100644
--- a/src/mame/drivers/gotya.cpp
+++ b/src/mame/drivers/gotya.cpp
@@ -45,7 +45,7 @@ TODO: Emulated sound
#include "speaker.h"
-static ADDRESS_MAP_START( gotya_map, AS_PROGRAM, 8, gotya_state )
+ADDRESS_MAP_START(gotya_state::gotya_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x5000, 0x5fff) AM_RAM
AM_RANGE(0x6000, 0x6000) AM_READ_PORT("P1")
diff --git a/src/mame/drivers/goupil.cpp b/src/mame/drivers/goupil.cpp
index 8a4ad03e6a5..627953e762f 100644
--- a/src/mame/drivers/goupil.cpp
+++ b/src/mame/drivers/goupil.cpp
@@ -87,6 +87,8 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(goupil_scanline);
void goupil_g1(machine_config &config);
+ void goupil_io(address_map &map);
+ void goupil_mem(address_map &map);
private:
required_device<acia6850_device> m_acia;
optional_device<ef9364_device> m_ef9364;
@@ -119,6 +121,8 @@ public:
DECLARE_WRITE8_MEMBER(visu24x80_ram_w);
void goupil_g2(machine_config &config);
+ void goupil_g2_io(address_map &map);
+ void goupil_g2_mem(address_map &map);
protected:
required_device<palette_device> m_palette;
@@ -140,7 +144,7 @@ TIMER_DEVICE_CALLBACK_MEMBER( goupil_g1_state::goupil_scanline )
m_ef9364->update_scanline((uint16_t)param);
}
-static ADDRESS_MAP_START(goupil_mem, AS_PROGRAM, 8, goupil_g1_state)
+ADDRESS_MAP_START(goupil_g1_state::goupil_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000,0x3FFF) AM_RAM
AM_RANGE(0x4000,0x7FFF) AM_RAM
@@ -167,11 +171,11 @@ static ADDRESS_MAP_START(goupil_mem, AS_PROGRAM, 8, goupil_g1_state)
AM_RANGE(0xF800,0xFFFF) AM_ROM AM_REGION("maincpu", 0xF800) // Monitor (MON 1 + MON 2)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( goupil_io, AS_IO, 8, goupil_g1_state)
+ADDRESS_MAP_START(goupil_g1_state::goupil_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_END
-static ADDRESS_MAP_START(goupil_g2_mem, AS_PROGRAM, 8, goupil_g2_state)
+ADDRESS_MAP_START(goupil_g2_state::goupil_g2_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000,0x3FFF) AM_RAM
AM_RANGE(0x4000,0x7FFF) AM_RAM
@@ -201,7 +205,7 @@ static ADDRESS_MAP_START(goupil_g2_mem, AS_PROGRAM, 8, goupil_g2_state)
AM_RANGE(0xF800,0xFFFF) AM_ROM AM_REGION("maincpu", 0xF800) // Monitor (MON 2)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( goupil_g2_io, AS_IO, 8, goupil_g2_state)
+ADDRESS_MAP_START(goupil_g2_state::goupil_g2_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_END
diff --git a/src/mame/drivers/gp2x.cpp b/src/mame/drivers/gp2x.cpp
index 60d18094166..d3502c6b0be 100644
--- a/src/mame/drivers/gp2x.cpp
+++ b/src/mame/drivers/gp2x.cpp
@@ -56,6 +56,7 @@ public:
uint32_t m_timer;
uint32_t screen_update_gp2x(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void gp2x(machine_config &config);
+ void gp2x_map(address_map &map);
};
@@ -342,7 +343,7 @@ READ32_MEMBER( gp2x_state::sdcard_r )
return 0xffff<<16; // at 3e146b0 - indicate timeout & CRC error
}
-static ADDRESS_MAP_START( gp2x_map, AS_PROGRAM, 32, gp2x_state )
+ADDRESS_MAP_START(gp2x_state::gp2x_map)
AM_RANGE(0x00000000, 0x00007fff) AM_ROM
AM_RANGE(0x01000000, 0x04ffffff) AM_RAM AM_SHARE("ram") // 64 MB of RAM
AM_RANGE(0x9c000000, 0x9c00001f) AM_READWRITE(nand_r, nand_w)
diff --git a/src/mame/drivers/gp32.cpp b/src/mame/drivers/gp32.cpp
index 92c4783c2d0..d2748e635b9 100644
--- a/src/mame/drivers/gp32.cpp
+++ b/src/mame/drivers/gp32.cpp
@@ -1628,7 +1628,7 @@ void gp32_state::s3c240x_machine_reset()
m_s3c240x_iic.data_index = 0;
}
-static ADDRESS_MAP_START( gp32_map, AS_PROGRAM, 32, gp32_state )
+ADDRESS_MAP_START(gp32_state::gp32_map)
AM_RANGE(0x00000000, 0x0007ffff) AM_ROM
AM_RANGE(0x0c000000, 0x0c7fffff) AM_RAM AM_SHARE("s3c240x_ram")
AM_RANGE(0x14000000, 0x1400003b) AM_READWRITE(s3c240x_memcon_r, s3c240x_memcon_w)
diff --git a/src/mame/drivers/gp_1.cpp b/src/mame/drivers/gp_1.cpp
index 7b0b5b478a3..9522c84e68e 100644
--- a/src/mame/drivers/gp_1.cpp
+++ b/src/mame/drivers/gp_1.cpp
@@ -59,6 +59,8 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(zero_timer);
void gp_1(machine_config &config);
void gp_1s(machine_config &config);
+ void gp_1_io(address_map &map);
+ void gp_1_map(address_map &map);
private:
uint8_t m_u14;
uint8_t m_digit;
@@ -79,12 +81,12 @@ private:
};
-static ADDRESS_MAP_START( gp_1_map, AS_PROGRAM, 8, gp_1_state )
+ADDRESS_MAP_START(gp_1_state::gp_1_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0x8c00, 0x8cff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gp_1_io, AS_IO, 8, gp_1_state )
+ADDRESS_MAP_START(gp_1_state::gp_1_io)
ADDRESS_MAP_GLOBAL_MASK(0x0f)
AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("ppi", i8255_device, read, write)
AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE("ctc", z80ctc_device, read, write)
diff --git a/src/mame/drivers/gp_2.cpp b/src/mame/drivers/gp_2.cpp
index 6838aa90f6e..e5d4bf22788 100644
--- a/src/mame/drivers/gp_2.cpp
+++ b/src/mame/drivers/gp_2.cpp
@@ -66,6 +66,8 @@ public:
DECLARE_READ8_MEMBER(portb_r);
TIMER_DEVICE_CALLBACK_MEMBER(zero_timer);
void gp_2(machine_config &config);
+ void gp_2_io(address_map &map);
+ void gp_2_map(address_map &map);
private:
uint8_t m_u14;
uint8_t m_digit;
@@ -85,12 +87,12 @@ private:
};
-static ADDRESS_MAP_START( gp_2_map, AS_PROGRAM, 8, gp_2_state )
+ADDRESS_MAP_START(gp_2_state::gp_2_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0x8c00, 0x8dff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gp_2_io, AS_IO, 8, gp_2_state )
+ADDRESS_MAP_START(gp_2_state::gp_2_io)
ADDRESS_MAP_GLOBAL_MASK(0x0f)
AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("ppi", i8255_device, read, write)
AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE("ctc", z80ctc_device, read, write)
diff --git a/src/mame/drivers/gpworld.cpp b/src/mame/drivers/gpworld.cpp
index 908344d42aa..f2a56e6fe29 100644
--- a/src/mame/drivers/gpworld.cpp
+++ b/src/mame/drivers/gpworld.cpp
@@ -93,6 +93,8 @@ public:
required_device<palette_device> m_palette;
void gpworld(machine_config &config);
+ void mainmem(address_map &map);
+ void mainport(address_map &map);
protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
};
@@ -319,7 +321,7 @@ WRITE8_MEMBER(gpworld_state::palette_write)
}
/* PROGRAM MAP */
-static ADDRESS_MAP_START( mainmem, AS_PROGRAM, 8, gpworld_state )
+ADDRESS_MAP_START(gpworld_state::mainmem)
AM_RANGE(0x0000,0xbfff) AM_ROM
AM_RANGE(0xc000,0xc7ff) AM_RAM AM_SHARE("sprite_ram")
AM_RANGE(0xc800,0xcfff) AM_RAM_WRITE(palette_write) AM_SHARE("palette_ram") /* The memory test reads at 0xc800 */
@@ -336,7 +338,7 @@ ADDRESS_MAP_END
/* I/O MAP */
-static ADDRESS_MAP_START( mainport, AS_IO, 8, gpworld_state )
+ADDRESS_MAP_START(gpworld_state::mainport)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x01,0x01) AM_WRITE(misc_io_write)
AM_RANGE(0x80,0x80) AM_READ_PORT("IN0")
diff --git a/src/mame/drivers/gradius3.cpp b/src/mame/drivers/gradius3.cpp
index edd240d8060..4816f6709fb 100644
--- a/src/mame/drivers/gradius3.cpp
+++ b/src/mame/drivers/gradius3.cpp
@@ -149,7 +149,7 @@ WRITE8_MEMBER(gradius3_state::sound_bank_w)
-static ADDRESS_MAP_START( gradius3_map, AS_PROGRAM, 16, gradius3_state )
+ADDRESS_MAP_START(gradius3_state::gradius3_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x043fff) AM_RAM
AM_RANGE(0x080000, 0x080fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -170,7 +170,7 @@ static ADDRESS_MAP_START( gradius3_map, AS_PROGRAM, 16, gradius3_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gradius3_map2, AS_PROGRAM, 16, gradius3_state )
+ADDRESS_MAP_START(gradius3_state::gradius3_map2)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM
AM_RANGE(0x140000, 0x140001) AM_WRITE(cpuB_irqenable_w)
@@ -183,7 +183,7 @@ static ADDRESS_MAP_START( gradius3_map2, AS_PROGRAM, 16, gradius3_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gradius3_s_map, AS_PROGRAM, 8, gradius3_state )
+ADDRESS_MAP_START(gradius3_state::gradius3_s_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf000) AM_WRITE(sound_bank_w) /* 007232 bankswitch */
AM_RANGE(0xf010, 0xf010) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/grchamp.cpp b/src/mame/drivers/grchamp.cpp
index 929bb734c41..da6b1a69b8d 100644
--- a/src/mame/drivers/grchamp.cpp
+++ b/src/mame/drivers/grchamp.cpp
@@ -544,7 +544,7 @@ GFXDECODE_END
*************************************/
/* complete memory map derived from schematics */
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, grchamp_state )
+ADDRESS_MAP_START(grchamp_state::main_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x0400) AM_RAM
AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0x0400) AM_RAM AM_SHARE("radarram")
@@ -553,7 +553,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, grchamp_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_portmap, AS_IO, 8, grchamp_state )
+ADDRESS_MAP_START(grchamp_state::main_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x78) AM_READ_PORT("ACCEL")
AM_RANGE(0x02, 0x02) AM_MIRROR(0x78) AM_READ(sub_to_main_comm_r)
@@ -572,7 +572,7 @@ ADDRESS_MAP_END
/* complete memory map derived from schematics */
-static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 8, grchamp_state )
+ADDRESS_MAP_START(grchamp_state::sub_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(left_w) AM_SHARE("leftram")
AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(right_w) AM_SHARE("rightram")
@@ -582,7 +582,7 @@ static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 8, grchamp_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sub_portmap, AS_IO, 8, grchamp_state )
+ADDRESS_MAP_START(grchamp_state::sub_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_READ(main_to_sub_comm_r)
AM_RANGE(0x00, 0x0f) AM_MIRROR(0x70) AM_WRITE(cpu1_outputs_w)
@@ -619,7 +619,7 @@ ADDRESS_MAP_END
0 1 0 1 0 x x x x x x x x x 0 1 W OPEN BUS
0 1 0 1 0 x x x x x x x x x 1 x RW OPEN BUS
*/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, grchamp_state )
+ADDRESS_MAP_START(grchamp_state::sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
// 2000-3fff are empty rom sockets
AM_RANGE(0x4000, 0x43ff) AM_RAM
diff --git a/src/mame/drivers/grfd2301.cpp b/src/mame/drivers/grfd2301.cpp
index af52092d9d6..fde8a27fb0d 100644
--- a/src/mame/drivers/grfd2301.cpp
+++ b/src/mame/drivers/grfd2301.cpp
@@ -48,6 +48,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void grfd2301(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
virtual void machine_reset() override;
required_shared_ptr<uint8_t> m_p_videoram;
@@ -55,13 +57,13 @@ private:
required_region_ptr<u8> m_p_chargen;
};
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, grfd2301_state )
+ADDRESS_MAP_START(grfd2301_state::mem_map)
AM_RANGE(0xe000, 0xefff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, grfd2301_state )
+ADDRESS_MAP_START(grfd2301_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/gridcomp.cpp b/src/mame/drivers/gridcomp.cpp
index a8d014485ca..8055d4a9bf7 100644
--- a/src/mame/drivers/gridcomp.cpp
+++ b/src/mame/drivers/gridcomp.cpp
@@ -139,6 +139,9 @@ public:
void grid1139(machine_config &config);
void grid1109(machine_config &config);
void grid1101(machine_config &config);
+ void grid1101_io(address_map &map);
+ void grid1101_map(address_map &map);
+ void grid1121_map(address_map &map);
private:
bool m_kbd_ready;
uint16_t m_kbd_data;
@@ -312,7 +315,7 @@ IRQ_CALLBACK_MEMBER(gridcomp_state::irq_callback)
}
-static ADDRESS_MAP_START( grid1101_map, AS_PROGRAM, 16, gridcomp_state )
+ADDRESS_MAP_START(gridcomp_state::grid1101_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xdfe80, 0xdfe83) AM_DEVREADWRITE8("i7220", i7220_device, read, write, 0x00ff)
AM_RANGE(0xdfea0, 0xdfeaf) AM_UNMAP // ??
@@ -323,7 +326,7 @@ static ADDRESS_MAP_START( grid1101_map, AS_PROGRAM, 16, gridcomp_state )
AM_RANGE(0xfc000, 0xfffff) AM_ROM AM_REGION("user1", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( grid1121_map, AS_PROGRAM, 16, gridcomp_state )
+ADDRESS_MAP_START(gridcomp_state::grid1121_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x90000, 0x97fff) AM_UNMAP // ?? ROM slot
AM_RANGE(0x9ff00, 0x9ff0f) AM_UNMAP // AM_READ(grid_9ff0_r) // ?? ROM?
@@ -339,7 +342,7 @@ static ADDRESS_MAP_START( grid1121_map, AS_PROGRAM, 16, gridcomp_state )
AM_RANGE(0xfc000, 0xfffff) AM_ROM AM_REGION("user1", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( grid1101_io, AS_IO, 16, gridcomp_state )
+ADDRESS_MAP_START(gridcomp_state::grid1101_io)
AM_RANGE(0x0000, 0x000f) AM_DEVICE(I80130_TAG, i80130_device, io_map)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/gridlee.cpp b/src/mame/drivers/gridlee.cpp
index 7f4e3c2ac95..932b68e14fb 100644
--- a/src/mame/drivers/gridlee.cpp
+++ b/src/mame/drivers/gridlee.cpp
@@ -83,7 +83,6 @@
#include "includes/gridlee.h"
#include "cpu/m6809/m6809.h"
-#include "machine/74259.h"
#include "sound/samples.h"
#include "machine/nvram.h"
#include "machine/watchdog.h"
@@ -300,10 +299,10 @@ WRITE_LINE_MEMBER(gridlee_state::coin_counter_w)
*************************************/
/* CPU 1 read addresses */
-static ADDRESS_MAP_START( cpu1_map, AS_PROGRAM, 8, gridlee_state )
+ADDRESS_MAP_START(gridlee_state::cpu1_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x0800, 0x7fff) AM_RAM_WRITE(gridlee_videoram_w) AM_SHARE("videoram")
- AM_RANGE(0x9000, 0x9000) AM_SELECT(0x0070) AM_DEVWRITE_MOD("latch", ls259_device, write_d0, rshift<4>)
+ ;map(0x9000, 0x9000).select(0x0070).lw8("latch_w", [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_latch->write_d0(space, offset >> 4, data, mem_mask); });
AM_RANGE(0x9200, 0x9200) AM_WRITE(gridlee_palette_select_w)
AM_RANGE(0x9380, 0x9380) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x9500, 0x9501) AM_READ(analog_port_r)
diff --git a/src/mame/drivers/groundfx.cpp b/src/mame/drivers/groundfx.cpp
index aa55c256a16..4b478bd6e4c 100644
--- a/src/mame/drivers/groundfx.cpp
+++ b/src/mame/drivers/groundfx.cpp
@@ -156,7 +156,7 @@ WRITE32_MEMBER(groundfx_state::motor_control_w)
MEMORY STRUCTURES
***********************************************************/
-static ADDRESS_MAP_START( groundfx_map, AS_PROGRAM, 32, groundfx_state )
+ADDRESS_MAP_START(groundfx_state::groundfx_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x200000, 0x21ffff) AM_RAM AM_SHARE("ram") /* main CPUA ram */
AM_RANGE(0x300000, 0x303fff) AM_RAM AM_SHARE("spriteram") /* sprite ram */
diff --git a/src/mame/drivers/gstream.cpp b/src/mame/drivers/gstream.cpp
index 6de22fc70a9..e36590d5b49 100644
--- a/src/mame/drivers/gstream.cpp
+++ b/src/mame/drivers/gstream.cpp
@@ -210,6 +210,10 @@ public:
required_device<palette_device> m_palette;
void x2222(machine_config &config);
void gstream(machine_config &config);
+ void gstream_32bit_map(address_map &map);
+ void gstream_io(address_map &map);
+ void x2222_32bit_map(address_map &map);
+ void x2222_io(address_map &map);
};
CUSTOM_INPUT_MEMBER(gstream_state::x2222_toggle_r) // or the game hangs when starting, might be a status flag for the sound?
@@ -284,7 +288,7 @@ WRITE32_MEMBER(gstream_state::gstream_tilemap3_scrolly_w)
m_tmap3_scrolly = data;
}
-static ADDRESS_MAP_START( gstream_32bit_map, AS_PROGRAM, 32, gstream_state )
+ADDRESS_MAP_START(gstream_state::gstream_32bit_map)
AM_RANGE(0x00000000, 0x003FFFFF) AM_RAM AM_SHARE("workram") // work ram
// AM_RANGE(0x40000000, 0x40FFFFFF) AM_RAM // ?? lots of data gets copied here if present, but game runs without it??
AM_RANGE(0x80000000, 0x80003FFF) AM_RAM_WRITE(gstream_vram_w) AM_SHARE("vram") // video ram
@@ -365,7 +369,7 @@ WRITE32_MEMBER(gstream_state::gstream_oki_4040_w)
// data == 0 or data == 0x81
}
-static ADDRESS_MAP_START( gstream_io, AS_IO, 32, gstream_state )
+ADDRESS_MAP_START(gstream_state::gstream_io)
AM_RANGE(0x4000, 0x4003) AM_READ_PORT("IN0")
AM_RANGE(0x4010, 0x4013) AM_READ_PORT("IN1")
AM_RANGE(0x4020, 0x4023) AM_READ_PORT("IN2") // extra coin switches etc
@@ -376,7 +380,7 @@ static ADDRESS_MAP_START( gstream_io, AS_IO, 32, gstream_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( x2222_32bit_map, AS_PROGRAM, 32, gstream_state )
+ADDRESS_MAP_START(gstream_state::x2222_32bit_map)
AM_RANGE(0x00000000, 0x003FFFFF) AM_RAM AM_SHARE("workram") // work ram
AM_RANGE(0x40000000, 0x403fffff) AM_RAM // ?? data gets copied here if present, but game runs without it??
AM_RANGE(0x80000000, 0x80003FFF) AM_RAM_WRITE(gstream_vram_w) AM_SHARE("vram") // video ram
@@ -401,7 +405,7 @@ WRITE32_MEMBER(gstream_state::x2222_sound_w)
printf("x2222_sound_w unk %08x\n", data);
}
-static ADDRESS_MAP_START( x2222_io, AS_IO, 32, gstream_state )
+ADDRESS_MAP_START(gstream_state::x2222_io)
AM_RANGE(0x4000, 0x4003) AM_READ_PORT("P1")
AM_RANGE(0x4004, 0x4007) AM_READ_PORT("P2")
AM_RANGE(0x4008, 0x400b) AM_READ_PORT("SYS")
diff --git a/src/mame/drivers/gstriker.cpp b/src/mame/drivers/gstriker.cpp
index be9314819a4..1692731e0bc 100644
--- a/src/mame/drivers/gstriker.cpp
+++ b/src/mame/drivers/gstriker.cpp
@@ -246,7 +246,7 @@ GFXDECODE_END
-static ADDRESS_MAP_START( twcup94_map, AS_PROGRAM, 16, gstriker_state )
+ADDRESS_MAP_START(gstriker_state::twcup94_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_DEVREADWRITE("zoomtilemap", mb60553_zooming_tilemap_device, vram_r, vram_w )
AM_RANGE(0x140000, 0x141fff) AM_RAM AM_SHARE("cg10103_m_vram")
@@ -264,18 +264,18 @@ static ADDRESS_MAP_START( twcup94_map, AS_PROGRAM, 16, gstriker_state )
AM_RANGE(0xffc000, 0xffffff) AM_RAM AM_SHARE("work_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gstriker_map, AS_PROGRAM, 16, gstriker_state )
+ADDRESS_MAP_START(gstriker_state::gstriker_map)
AM_IMPORT_FROM(twcup94_map)
AM_RANGE(0x200060, 0x200063) AM_DEVREADWRITE8("acia", acia6850_device, read, write, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, gstriker_state )
+ADDRESS_MAP_START(gstriker_state::sound_map)
AM_RANGE(0x0000, 0x77ff) AM_ROM
AM_RANGE(0x7800, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("soundbank")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, gstriker_state )
+ADDRESS_MAP_START(gstriker_state::sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ymsnd", ym2610_device, read, write)
AM_RANGE(0x04, 0x04) AM_WRITE(sh_bankswitch_w)
diff --git a/src/mame/drivers/gsword.cpp b/src/mame/drivers/gsword.cpp
index f3975a9752c..00360871397 100644
--- a/src/mame/drivers/gsword.cpp
+++ b/src/mame/drivers/gsword.cpp
@@ -455,7 +455,7 @@ void josvolly_state::machine_reset()
}
-static ADDRESS_MAP_START( cpu1_map, AS_PROGRAM , 8, gsword_state_base )
+ADDRESS_MAP_START(gsword_state_base::cpu1_map)
AM_RANGE(0x0000, 0x8fff) AM_ROM
AM_RANGE(0x9000, 0x9fff) AM_RAM
AM_RANGE(0xa000, 0xa37f) AM_RAM
@@ -470,18 +470,18 @@ static ADDRESS_MAP_START( cpu1_map, AS_PROGRAM , 8, gsword_state_base )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpu1_io_map, AS_IO, 8, gsword_state )
+ADDRESS_MAP_START(gsword_state::cpu1_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x7e, 0x7f) AM_DEVREADWRITE("taito8741", taito8741_4pack_device, read_0, write_0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpu2_map, AS_PROGRAM, 8, gsword_state )
+ADDRESS_MAP_START(gsword_state::cpu2_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM AM_SHARE("cpu2_ram")
AM_RANGE(0x6000, 0x6000) AM_WRITE(sound_command_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpu2_io_map, AS_IO, 8, gsword_state )
+ADDRESS_MAP_START(gsword_state::cpu2_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("taito8741", taito8741_4pack_device, read_2, write_2)
AM_RANGE(0x20, 0x21) AM_DEVREADWRITE("taito8741", taito8741_4pack_device, read_3, write_3)
@@ -496,19 +496,19 @@ static ADDRESS_MAP_START( cpu2_io_map, AS_IO, 8, gsword_state )
AM_RANGE(0xe0, 0xe0) AM_WRITENOP /* watchdog? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpu3_map, AS_PROGRAM, 8, gsword_state )
+ADDRESS_MAP_START(gsword_state::cpu3_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8000) AM_WRITE(adpcm_data_w)
AM_RANGE(0xa000, 0xa000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( josvolly_cpu1_io_map, AS_IO, 8, josvolly_state )
+ADDRESS_MAP_START(josvolly_state::josvolly_cpu1_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x7e, 0x7f) AM_DEVREADWRITE("mcu1", upi41_cpu_device, upi41_master_r, upi41_master_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( josvolly_cpu2_map, AS_PROGRAM, 8, josvolly_state )
+ADDRESS_MAP_START(josvolly_state::josvolly_cpu2_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM AM_SHARE("cpu2_ram")
@@ -519,7 +519,7 @@ static ADDRESS_MAP_START( josvolly_cpu2_map, AS_PROGRAM, 8, josvolly_state )
AM_RANGE(0xA000, 0xA001) AM_DEVREADWRITE("mcu2", upi41_cpu_device, upi41_master_r, upi41_master_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( josvolly_cpu2_io_map, AS_IO, 8, josvolly_state )
+ADDRESS_MAP_START(josvolly_state::josvolly_cpu2_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READWRITE(fake_0_r, ay8910_control_port_0_w)
AM_RANGE(0x01, 0x01) AM_DEVREADWRITE("ay1", ay8910_device, data_r, data_w)
diff --git a/src/mame/drivers/gticlub.cpp b/src/mame/drivers/gticlub.cpp
index a2dcaa705dc..709804c21da 100644
--- a/src/mame/drivers/gticlub.cpp
+++ b/src/mame/drivers/gticlub.cpp
@@ -333,6 +333,12 @@ public:
void hangplt(machine_config &config);
void slrasslt(machine_config &config);
void gticlub(machine_config &config);
+ void gticlub_map(address_map &map);
+ void hangplt_map(address_map &map);
+ void hangplt_sharc0_map(address_map &map);
+ void hangplt_sharc1_map(address_map &map);
+ void sharc_map(address_map &map);
+ void sound_memmap(address_map &map);
private:
void gticlub_led_setreg(int offset, uint8_t data);
@@ -505,7 +511,7 @@ MACHINE_START_MEMBER(gticlub_state,gticlub)
m_sound_irq_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(gticlub_state::sound_irq), this));
}
-static ADDRESS_MAP_START( gticlub_map, AS_PROGRAM, 32, gticlub_state )
+ADDRESS_MAP_START(gticlub_state::gticlub_map)
AM_RANGE(0x00000000, 0x000fffff) AM_RAM AM_SHARE("work_ram") /* Work RAM */
AM_RANGE(0x74000000, 0x740000ff) AM_READWRITE(gticlub_k001604_reg_r, gticlub_k001604_reg_w)
AM_RANGE(0x74010000, 0x7401ffff) AM_RAM_WRITE(paletteram32_w) AM_SHARE("paletteram")
@@ -524,7 +530,7 @@ static ADDRESS_MAP_START( gticlub_map, AS_PROGRAM, 32, gticlub_state )
AM_RANGE(0x7fe00000, 0x7fffffff) AM_ROM AM_REGION("user1", 0) AM_SHARE("share2") /* Program ROM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hangplt_map, AS_PROGRAM, 32, gticlub_state )
+ADDRESS_MAP_START(gticlub_state::hangplt_map)
AM_RANGE(0x00000000, 0x000fffff) AM_RAM AM_SHARE("work_ram") /* Work RAM */
AM_RANGE(0x74000000, 0x740000ff) AM_READWRITE(gticlub_k001604_reg_r, gticlub_k001604_reg_w)
AM_RANGE(0x74010000, 0x7401ffff) AM_RAM_WRITE(paletteram32_w) AM_SHARE("paletteram")
@@ -543,7 +549,7 @@ ADDRESS_MAP_END
/**********************************************************************/
-static ADDRESS_MAP_START( sound_memmap, AS_PROGRAM, 16, gticlub_state )
+ADDRESS_MAP_START(gticlub_state::sound_memmap)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM
AM_RANGE(0x300000, 0x30001f) AM_DEVREADWRITE8("k056800", k056800_device, sound_r, sound_w, 0x00ff)
@@ -574,14 +580,14 @@ WRITE32_MEMBER(gticlub_state::dsp_dataram1_w)
m_sharc_dataram_1[offset] = data;
}
-static ADDRESS_MAP_START( sharc_map, AS_DATA, 32, gticlub_state )
+ADDRESS_MAP_START(gticlub_state::sharc_map)
AM_RANGE(0x400000, 0x41ffff) AM_DEVREADWRITE("konppc", konppc_device, cgboard_0_shared_sharc_r, cgboard_0_shared_sharc_w)
AM_RANGE(0x500000, 0x5fffff) AM_READWRITE(dsp_dataram0_r, dsp_dataram0_w)
AM_RANGE(0x600000, 0x6fffff) AM_DEVREADWRITE("k001005", k001005_device, read, write)
AM_RANGE(0x700000, 0x7000ff) AM_DEVREADWRITE("konppc", konppc_device, cgboard_0_comm_sharc_r, cgboard_0_comm_sharc_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hangplt_sharc0_map, AS_DATA, 32, gticlub_state )
+ADDRESS_MAP_START(gticlub_state::hangplt_sharc0_map)
AM_RANGE(0x0400000, 0x041ffff) AM_DEVREADWRITE("konppc", konppc_device, cgboard_0_shared_sharc_r, cgboard_0_shared_sharc_w)
AM_RANGE(0x0500000, 0x05fffff) AM_READWRITE(dsp_dataram0_r, dsp_dataram0_w)
AM_RANGE(0x1400000, 0x14fffff) AM_RAM
@@ -592,7 +598,7 @@ static ADDRESS_MAP_START( hangplt_sharc0_map, AS_DATA, 32, gticlub_state )
AM_RANGE(0x3600000, 0x37fffff) AM_ROMBANK("bank5")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hangplt_sharc1_map, AS_DATA, 32, gticlub_state )
+ADDRESS_MAP_START(gticlub_state::hangplt_sharc1_map)
AM_RANGE(0x0400000, 0x041ffff) AM_DEVREADWRITE("konppc", konppc_device, cgboard_1_shared_sharc_r, cgboard_1_shared_sharc_w)
AM_RANGE(0x0500000, 0x05fffff) AM_READWRITE(dsp_dataram1_r, dsp_dataram1_w)
AM_RANGE(0x1400000, 0x14fffff) AM_RAM
diff --git a/src/mame/drivers/gts1.cpp b/src/mame/drivers/gts1.cpp
index b200e27801b..8c386de3a12 100644
--- a/src/mame/drivers/gts1.cpp
+++ b/src/mame/drivers/gts1.cpp
@@ -107,6 +107,9 @@ public:
DECLARE_READ8_MEMBER (gts1_pa_r);
DECLARE_WRITE8_MEMBER(gts1_do_w);
void gts1(machine_config &config);
+ void gts1_data(address_map &map);
+ void gts1_io(address_map &map);
+ void gts1_map(address_map &map);
private:
virtual void machine_reset() override;
required_device<cpu_device> m_maincpu;
@@ -119,16 +122,16 @@ private:
uint16_t m_z30_out; //!< 4-to-16 decoder outputs
};
-static ADDRESS_MAP_START( gts1_map, AS_PROGRAM, 8, gts1_state )
+ADDRESS_MAP_START(gts1_state::gts1_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gts1_data, AS_DATA, 8, gts1_state )
+ADDRESS_MAP_START(gts1_state::gts1_data)
AM_RANGE(0x0000, 0x00ff) AM_RAM
AM_RANGE(0x0100, 0x01ff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gts1_io, AS_IO, 8, gts1_state )
+ADDRESS_MAP_START(gts1_state::gts1_io)
AM_RANGE(0x0000, 0x00ff) AM_READ ( gts1_io_r ) AM_WRITE( gts1_io_w ) // catch undecoded I/O accesss
AM_RANGE(0x0020, 0x002f) AM_DEVREADWRITE ( "u4", ra17xx_device, io_r, io_w ) // (U4) solenoid
diff --git a/src/mame/drivers/gts3.cpp b/src/mame/drivers/gts3.cpp
index 2c6862ec1ac..0b72559796f 100644
--- a/src/mame/drivers/gts3.cpp
+++ b/src/mame/drivers/gts3.cpp
@@ -55,6 +55,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(nmi_w);
DECLARE_INPUT_CHANGED_MEMBER(test_inp);
void gts3(machine_config &config);
+ void gts3_map(address_map &map);
private:
bool m_dispclk;
bool m_lampclk;
@@ -70,7 +71,7 @@ private:
};
-static ADDRESS_MAP_START( gts3_map, AS_PROGRAM, 8, gts3_state )
+ADDRESS_MAP_START(gts3_state::gts3_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x2000, 0x200f) AM_DEVREADWRITE("u4", via6522_device, read, write)
AM_RANGE(0x2010, 0x201f) AM_DEVREADWRITE("u5", via6522_device, read, write)
diff --git a/src/mame/drivers/gts3a.cpp b/src/mame/drivers/gts3a.cpp
index d082b52d7aa..0026c61ca8c 100644
--- a/src/mame/drivers/gts3a.cpp
+++ b/src/mame/drivers/gts3a.cpp
@@ -53,6 +53,8 @@ public:
DECLARE_PALETTE_INIT(gts3a);
required_device<palette_device> m_palette;
void gts3a(machine_config &config);
+ void gts3a_dmd_map(address_map &map);
+ void gts3a_map(address_map &map);
private:
bool m_dispclk;
bool m_lampclk;
@@ -70,7 +72,7 @@ private:
};
-static ADDRESS_MAP_START( gts3a_map, AS_PROGRAM, 8, gts3a_state )
+ADDRESS_MAP_START(gts3a_state::gts3a_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x2000, 0x200f) AM_DEVREADWRITE("u4", via6522_device, read, write)
AM_RANGE(0x2010, 0x201f) AM_DEVREADWRITE("u5", via6522_device, read, write)
@@ -78,7 +80,7 @@ static ADDRESS_MAP_START( gts3a_map, AS_PROGRAM, 8, gts3a_state )
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gts3a_dmd_map, AS_PROGRAM, 8, gts3a_state )
+ADDRESS_MAP_START(gts3a_state::gts3a_dmd_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x2000) AM_DEVREAD("crtc", mc6845_device, status_r)
AM_RANGE(0x2001, 0x2001) AM_DEVREAD("crtc", mc6845_device, register_r)
diff --git a/src/mame/drivers/gts80.cpp b/src/mame/drivers/gts80.cpp
index 32d033349d7..8ffea73ee72 100644
--- a/src/mame/drivers/gts80.cpp
+++ b/src/mame/drivers/gts80.cpp
@@ -52,6 +52,7 @@ public:
void gts80_ss(machine_config &config);
void gts80_s(machine_config &config);
void gts80_hh(machine_config &config);
+ void gts80_map(address_map &map);
private:
uint8_t m_port2;
uint8_t m_segment;
@@ -63,7 +64,7 @@ private:
optional_device<gottlieb_sound_r1_device> m_r1_sound;
};
-static ADDRESS_MAP_START( gts80_map, AS_PROGRAM, 8, gts80_state )
+ADDRESS_MAP_START(gts80_state::gts80_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x017f) AM_RAM
AM_RANGE(0x0200, 0x027f) AM_DEVREADWRITE("riot1", riot6532_device, read, write)
diff --git a/src/mame/drivers/gts80a.cpp b/src/mame/drivers/gts80a.cpp
index f884df371a1..4e8ae503bc9 100644
--- a/src/mame/drivers/gts80a.cpp
+++ b/src/mame/drivers/gts80a.cpp
@@ -42,6 +42,7 @@ public:
void gts80a(machine_config &config);
void gts80a_s(machine_config &config);
void gts80a_ss(machine_config &config);
+ void gts80a_map(address_map &map);
private:
uint8_t m_port2;
uint8_t m_segment;
@@ -53,7 +54,7 @@ private:
optional_device<gottlieb_sound_r1_device> m_r1_sound;
};
-static ADDRESS_MAP_START( gts80a_map, AS_PROGRAM, 8, gts80a_state )
+ADDRESS_MAP_START(gts80a_state::gts80a_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x017f) AM_RAM
AM_RANGE(0x0200, 0x027f) AM_DEVREADWRITE("riot1", riot6532_device, read, write)
@@ -400,6 +401,8 @@ public:
uint32_t screen_update_caveman(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void caveman(machine_config &config);
+ void video_io_map(address_map &map);
+ void video_map(address_map &map);
private:
required_device<cpu_device> m_videocpu;
required_shared_ptr<uint8_t> m_vram;
@@ -427,14 +430,14 @@ uint32_t caveman_state::screen_update_caveman(screen_device &screen, bitmap_ind1
}
-static ADDRESS_MAP_START( video_map, AS_PROGRAM, 8, caveman_state )
+ADDRESS_MAP_START(caveman_state::video_map)
ADDRESS_MAP_GLOBAL_MASK(0xffff)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x2000, 0x5fff) AM_RAM AM_SHARE("vram")
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( video_io_map, AS_IO, 8, caveman_state )
+ADDRESS_MAP_START(caveman_state::video_io_map)
// AM_RANGE(0x000, 0x002) AM_READWRITE() // 8259 irq controller
// AM_RANGE(0x100, 0x102) AM_READWRITE() // HD46505
// AM_RANGE(0x200, 0x200) AM_READWRITE() // 8212 in, ?? out
diff --git a/src/mame/drivers/gts80b.cpp b/src/mame/drivers/gts80b.cpp
index 56f6d6982e2..56d02387b0d 100644
--- a/src/mame/drivers/gts80b.cpp
+++ b/src/mame/drivers/gts80b.cpp
@@ -47,6 +47,7 @@ public:
void gts80b_s1(machine_config &config);
void gts80b_s(machine_config &config);
void gts80b(machine_config &config);
+ void gts80b_map(address_map &map);
private:
uint8_t m_dispcmd;
uint8_t m_port2a;
@@ -61,7 +62,7 @@ private:
optional_device<gottlieb_sound_r1_device> m_r1_sound;
};
-static ADDRESS_MAP_START( gts80b_map, AS_PROGRAM, 8, gts80b_state )
+ADDRESS_MAP_START(gts80b_state::gts80b_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x017f) AM_RAM
AM_RANGE(0x0200, 0x027f) AM_DEVREADWRITE("riot1", riot6532_device, read, write)
diff --git a/src/mame/drivers/guab.cpp b/src/mame/drivers/guab.cpp
index f75b2e592cb..2f8c3c17811 100644
--- a/src/mame/drivers/guab.cpp
+++ b/src/mame/drivers/guab.cpp
@@ -95,6 +95,7 @@ public:
DECLARE_FLOPPY_FORMATS(floppy_formats);
void guab(machine_config &config);
+ void guab_map(address_map &map);
protected:
virtual void machine_start() override;
@@ -115,7 +116,7 @@ private:
// ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( guab_map, AS_PROGRAM, 16, guab_state )
+ADDRESS_MAP_START(guab_state::guab_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x040000, 0x04ffff) AM_ROM AM_REGION("maincpu", 0x10000)
AM_RANGE(0x0c0000, 0x0c0007) AM_DEVREADWRITE8("i8255_1", i8255_device, read, write, 0x00ff)
diff --git a/src/mame/drivers/gumbo.cpp b/src/mame/drivers/gumbo.cpp
index a54ba0290a8..c2255f381b1 100644
--- a/src/mame/drivers/gumbo.cpp
+++ b/src/mame/drivers/gumbo.cpp
@@ -52,7 +52,7 @@ PCB Layout
#include "speaker.h"
-static ADDRESS_MAP_START( gumbo_map, AS_PROGRAM, 16, gumbo_state )
+ADDRESS_MAP_START(gumbo_state::gumbo_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x083fff) AM_RAM // main ram
AM_RANGE(0x1b0000, 0x1b03ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -65,7 +65,7 @@ ADDRESS_MAP_END
/* Miss Puzzle has a different memory map */
-static ADDRESS_MAP_START( mspuzzle_map, AS_PROGRAM, 16, gumbo_state )
+ADDRESS_MAP_START(gumbo_state::mspuzzle_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM // main ram
AM_RANGE(0x190000, 0x197fff) AM_RAM_WRITE(gumbo_fg_videoram_w) AM_SHARE("fg_videoram") // fg tilemap
@@ -76,7 +76,7 @@ static ADDRESS_MAP_START( mspuzzle_map, AS_PROGRAM, 16, gumbo_state )
AM_RANGE(0x1c0000, 0x1c1fff) AM_RAM_WRITE(gumbo_bg_videoram_w) AM_SHARE("bg_videoram") // bg tilemap
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dblpoint_map, AS_PROGRAM, 16, gumbo_state )
+ADDRESS_MAP_START(gumbo_state::dblpoint_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x083fff) AM_RAM // main ram
AM_RANGE(0x1b0000, 0x1b03ff) AM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
diff --git a/src/mame/drivers/gunbustr.cpp b/src/mame/drivers/gunbustr.cpp
index 5ecbcff396d..37d212b6d19 100644
--- a/src/mame/drivers/gunbustr.cpp
+++ b/src/mame/drivers/gunbustr.cpp
@@ -115,7 +115,7 @@ WRITE32_MEMBER(gunbustr_state::gunbustr_gun_w)
MEMORY STRUCTURES
***********************************************************/
-static ADDRESS_MAP_START( gunbustr_map, AS_PROGRAM, 32, gunbustr_state )
+ADDRESS_MAP_START(gunbustr_state::gunbustr_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x200000, 0x21ffff) AM_RAM AM_SHARE("ram") /* main CPUA ram */
AM_RANGE(0x300000, 0x301fff) AM_RAM AM_SHARE("spriteram") /* Sprite ram */
diff --git a/src/mame/drivers/gundealr.cpp b/src/mame/drivers/gundealr.cpp
index 2ae3d12a4c6..a1b00358c42 100644
--- a/src/mame/drivers/gundealr.cpp
+++ b/src/mame/drivers/gundealr.cpp
@@ -84,7 +84,7 @@ WRITE8_MEMBER(gundealr_state::yamyam_bankswitch_w)
-static ADDRESS_MAP_START( base_map, AS_PROGRAM, 8, gundealr_state )
+ADDRESS_MAP_START(gundealr_state::base_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("DSW0")
@@ -99,20 +99,20 @@ static ADDRESS_MAP_START( base_map, AS_PROGRAM, 8, gundealr_state )
AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("rambase")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gundealr_main_map, AS_PROGRAM, 8, gundealr_state )
+ADDRESS_MAP_START(gundealr_state::gundealr_main_map)
AM_IMPORT_FROM(base_map)
AM_RANGE(0xc014, 0xc014) AM_WRITE(gundealr_flipscreen_w)
AM_RANGE(0xc020, 0xc023) AM_WRITE(gundealr_fg_scroll_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( yamyam_main_map, AS_PROGRAM, 8, gundealr_state )
+ADDRESS_MAP_START(gundealr_state::yamyam_main_map)
AM_IMPORT_FROM(base_map)
AM_RANGE(0xc010, 0xc013) AM_WRITE(yamyam_fg_scroll_w)
AM_RANGE(0xc014, 0xc014) AM_WRITE(yamyam_flipscreen_w)
AM_RANGE(0xc015, 0xc015) AM_WRITENOP // Bit 7 = MCU reset?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_portmap, AS_IO, 8, gundealr_state )
+ADDRESS_MAP_START(gundealr_state::main_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/gunpey.cpp b/src/mame/drivers/gunpey.cpp
index 8c4e40cf859..6e87e1aa09f 100644
--- a/src/mame/drivers/gunpey.cpp
+++ b/src/mame/drivers/gunpey.cpp
@@ -268,6 +268,8 @@ public:
int write_dest_byte(uint8_t usedata);
void gunpey(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
//uint16_t main_m_vram[0x800][0x800];
};
@@ -1293,14 +1295,14 @@ WRITE16_MEMBER(gunpey_state::vregs_addr_w)
/***************************************************************************************/
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 16, gunpey_state )
+ADDRESS_MAP_START(gunpey_state::mem_map)
AM_RANGE(0x00000, 0x0ffff) AM_RAM AM_SHARE("wram")
// AM_RANGE(0x50000, 0x500ff) AM_RAM
// AM_RANGE(0x50100, 0x502ff) AM_NOP
AM_RANGE(0x80000, 0xfffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 16, gunpey_state )
+ADDRESS_MAP_START(gunpey_state::io_map)
AM_RANGE(0x7f40, 0x7f45) AM_READ8(inputs_r,0xffff)
AM_RANGE(0x7f48, 0x7f49) AM_WRITE8(output_w,0x00ff)
diff --git a/src/mame/drivers/gunsmoke.cpp b/src/mame/drivers/gunsmoke.cpp
index 9d805b1dc24..5978615f642 100644
--- a/src/mame/drivers/gunsmoke.cpp
+++ b/src/mame/drivers/gunsmoke.cpp
@@ -105,7 +105,7 @@ READ8_MEMBER(gunsmoke_state::gunsmoke_protection_r)
/* Memory Maps */
-static ADDRESS_MAP_START( gunsmoke_map, AS_PROGRAM, 8, gunsmoke_state )
+ADDRESS_MAP_START(gunsmoke_state::gunsmoke_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("SYSTEM")
@@ -126,7 +126,7 @@ static ADDRESS_MAP_START( gunsmoke_map, AS_PROGRAM, 8, gunsmoke_state )
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, gunsmoke_state )
+ADDRESS_MAP_START(gunsmoke_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc800) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/gyruss.cpp b/src/mame/drivers/gyruss.cpp
index a13c541f98f..e79bc944c18 100644
--- a/src/mame/drivers/gyruss.cpp
+++ b/src/mame/drivers/gyruss.cpp
@@ -186,7 +186,7 @@ WRITE_LINE_MEMBER(gyruss_state::coin_counter_2_w)
machine().bookkeeping().coin_counter_w(1, state);
}
-static ADDRESS_MAP_START( main_cpu1_map, AS_PROGRAM, 8, gyruss_state )
+ADDRESS_MAP_START(gyruss_state::main_cpu1_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM AM_SHARE("colorram")
AM_RANGE(0x8400, 0x87ff) AM_RAM AM_SHARE("videoram")
@@ -201,7 +201,7 @@ static ADDRESS_MAP_START( main_cpu1_map, AS_PROGRAM, 8, gyruss_state )
AM_RANGE(0xc180, 0xc187) AM_DEVWRITE("mainlatch", ls259_device, write_d0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_cpu2_map, AS_PROGRAM, 8, gyruss_state )
+ADDRESS_MAP_START(gyruss_state::main_cpu2_map)
AM_RANGE(0x0000, 0x0000) AM_READ(gyruss_scanline_r)
AM_RANGE(0x2000, 0x2000) AM_WRITE(slave_irq_mask_w) AM_READNOP
AM_RANGE(0x4000, 0x403f) AM_RAM
@@ -211,13 +211,13 @@ static ADDRESS_MAP_START( main_cpu2_map, AS_PROGRAM, 8, gyruss_state )
AM_RANGE(0xe000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audio_cpu1_map, AS_PROGRAM, 8, gyruss_state )
+ADDRESS_MAP_START(gyruss_state::audio_cpu1_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x63ff) AM_RAM
AM_RANGE(0x8000, 0x8000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audio_cpu1_io_map, AS_IO, 8, gyruss_state )
+ADDRESS_MAP_START(gyruss_state::audio_cpu1_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("ay1", ay8910_device, address_w)
AM_RANGE(0x01, 0x01) AM_DEVREAD("ay1", ay8910_device, data_r)
@@ -238,11 +238,11 @@ static ADDRESS_MAP_START( audio_cpu1_io_map, AS_IO, 8, gyruss_state )
AM_RANGE(0x18, 0x18) AM_DEVWRITE("soundlatch2", generic_latch_8_device, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audio_cpu2_map, AS_PROGRAM, 8, gyruss_state )
+ADDRESS_MAP_START(gyruss_state::audio_cpu2_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audio_cpu2_io_map, AS_IO, 8, gyruss_state )
+ADDRESS_MAP_START(gyruss_state::audio_cpu2_io_map)
AM_RANGE(0x00, 0xff) AM_DEVREAD("soundlatch2", generic_latch_8_device, read)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/h19.cpp b/src/mame/drivers/h19.cpp
index ecc64f5ec92..84127eae727 100644
--- a/src/mame/drivers/h19.cpp
+++ b/src/mame/drivers/h19.cpp
@@ -109,6 +109,8 @@ public:
MC6845_UPDATE_ROW(crtc_update_row);
void h19(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual void machine_reset() override;
@@ -154,14 +156,14 @@ void h19_state::device_timer(emu_timer &timer, device_timer_id id, int param, vo
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, h19_state )
+ADDRESS_MAP_START(h19_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_MIRROR(0x2000) AM_ROM
AM_RANGE(0x4000, 0x4100) AM_MIRROR(0x3e00) AM_RAM
AM_RANGE(0xc000, 0xc7ff) AM_MIRROR(0x3800) AM_RAM AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, h19_state )
+ADDRESS_MAP_START(h19_state::io_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x1f) AM_READ_PORT("SW401")
diff --git a/src/mame/drivers/h8.cpp b/src/mame/drivers/h8.cpp
index e8a6acbe32f..e89cdeb7988 100644
--- a/src/mame/drivers/h8.cpp
+++ b/src/mame/drivers/h8.cpp
@@ -82,6 +82,8 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(h8_p);
void h8(machine_config &config);
+ void h8_io(address_map &map);
+ void h8_mem(address_map &map);
private:
uint8_t m_digit;
uint8_t m_segment;
@@ -175,7 +177,7 @@ WRITE8_MEMBER( h8_state::portf1_w )
if (m_digit) output().set_digit_value(m_digit, m_segment);
}
-static ADDRESS_MAP_START(h8_mem, AS_PROGRAM, 8, h8_state)
+ADDRESS_MAP_START(h8_state::h8_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_ROM // main rom
AM_RANGE(0x1400, 0x17ff) AM_RAM // fdc ram
@@ -183,7 +185,7 @@ static ADDRESS_MAP_START(h8_mem, AS_PROGRAM, 8, h8_state)
AM_RANGE(0x2000, 0x9fff) AM_RAM // main ram
ADDRESS_MAP_END
-static ADDRESS_MAP_START( h8_io, AS_IO, 8, h8_state)
+ADDRESS_MAP_START(h8_state::h8_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xf0, 0xf0) AM_READWRITE(portf0_r,portf0_w)
diff --git a/src/mame/drivers/h89.cpp b/src/mame/drivers/h89.cpp
index 9e8144accee..4cf13cc9353 100644
--- a/src/mame/drivers/h89.cpp
+++ b/src/mame/drivers/h89.cpp
@@ -44,10 +44,12 @@ public:
virtual void machine_reset() override;
TIMER_DEVICE_CALLBACK_MEMBER(h89_irq_timer);
void h89(machine_config &config);
+ void h89_io(address_map &map);
+ void h89_mem(address_map &map);
};
-static ADDRESS_MAP_START(h89_mem, AS_PROGRAM, 8, h89_state)
+ADDRESS_MAP_START(h89_state::h89_mem)
ADDRESS_MAP_UNMAP_HIGH
// Bank 0 - At startup has the format defined below, but software could swap it for RAM (Later H-89s and
// Early ones with the Org-0 modification),
@@ -60,7 +62,7 @@ static ADDRESS_MAP_START(h89_mem, AS_PROGRAM, 8, h89_state)
AM_RANGE(0x2000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( h89_io, AS_IO, 8, h89_state)
+ADDRESS_MAP_START(h89_state::h89_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
// AM_RANGE(0x78, 0x7b) expansion 1 // Options - Cassette I/O (only uses 0x78 - 0x79) Requires MTR-88 ROM
diff --git a/src/mame/drivers/halleys.cpp b/src/mame/drivers/halleys.cpp
index 9619ae37f2d..d6f1685c8d1 100644
--- a/src/mame/drivers/halleys.cpp
+++ b/src/mame/drivers/halleys.cpp
@@ -294,6 +294,8 @@ public:
required_device<generic_latch_8_device> m_soundlatch;
void benberob(machine_config &config);
void halleys(machine_config &config);
+ void halleys_map(address_map &map);
+ void sound_map(address_map &map);
};
@@ -1631,7 +1633,7 @@ READ8_MEMBER(halleys_state::io_mirror_r)
//**************************************************************************
// Memory Maps
-static ADDRESS_MAP_START( halleys_map, AS_PROGRAM, 8, halleys_state )
+ADDRESS_MAP_START(halleys_state::halleys_map)
AM_RANGE(0x0000, 0x0fff) AM_READWRITE(blitter_r, blitter_w) AM_SHARE("blitter_ram")
AM_RANGE(0x1f00, 0x1fff) AM_WRITE(bgtile_w) // background tiles?(Ben Bero Beh only)
AM_RANGE(0x1000, 0xefff) AM_ROM
@@ -1658,7 +1660,7 @@ static ADDRESS_MAP_START( halleys_map, AS_PROGRAM, 8, halleys_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, halleys_state )
+ADDRESS_MAP_START(halleys_state::sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x4800, 0x4801) AM_DEVWRITE("ay2", ay8910_device, address_data_w)
diff --git a/src/mame/drivers/hanaawas.cpp b/src/mame/drivers/hanaawas.cpp
index b0bfe9b02c6..7453169a0f6 100644
--- a/src/mame/drivers/hanaawas.cpp
+++ b/src/mame/drivers/hanaawas.cpp
@@ -99,7 +99,7 @@ WRITE8_MEMBER(hanaawas_state::key_matrix_status_w)
m_coin_settings = data & 0xf;
}
-static ADDRESS_MAP_START( hanaawas_map, AS_PROGRAM, 8, hanaawas_state )
+ADDRESS_MAP_START(hanaawas_state::hanaawas_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x4000, 0x4fff) AM_ROM
AM_RANGE(0x6000, 0x6fff) AM_ROM
@@ -110,7 +110,7 @@ static ADDRESS_MAP_START( hanaawas_map, AS_PROGRAM, 8, hanaawas_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, hanaawas_state )
+ADDRESS_MAP_START(hanaawas_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READWRITE(hanaawas_input_port_0_r, hanaawas_inputs_mux_w)
AM_RANGE(0x01, 0x01) AM_READNOP AM_WRITE(key_matrix_status_w) /* r bit 1: status ready, presumably of the input mux device / w = configure device? */
diff --git a/src/mame/drivers/hankin.cpp b/src/mame/drivers/hankin.cpp
index 67df1504ca4..27a4d9add02 100644
--- a/src/mame/drivers/hankin.cpp
+++ b/src/mame/drivers/hankin.cpp
@@ -66,6 +66,8 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(timer_s);
TIMER_DEVICE_CALLBACK_MEMBER(timer_x);
void hankin(machine_config &config);
+ void hankin_map(address_map &map);
+ void hankin_sub_map(address_map &map);
private:
bool m_timer_x;
bool m_timer_sb;
@@ -103,7 +105,7 @@ private:
};
-static ADDRESS_MAP_START( hankin_map, AS_PROGRAM, 8, hankin_state )
+ADDRESS_MAP_START(hankin_state::hankin_map)
ADDRESS_MAP_GLOBAL_MASK(0x1fff)
AM_RANGE(0x0000, 0x007f) AM_RAM // internal to the cpu
AM_RANGE(0x0088, 0x008b) AM_DEVREADWRITE("ic11", pia6821_device, read, write)
@@ -112,7 +114,7 @@ static ADDRESS_MAP_START( hankin_map, AS_PROGRAM, 8, hankin_state )
AM_RANGE(0x1000, 0x1fff) AM_ROM AM_REGION("roms", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hankin_sub_map, AS_PROGRAM, 8, hankin_state )
+ADDRESS_MAP_START(hankin_state::hankin_sub_map)
ADDRESS_MAP_GLOBAL_MASK(0x1fff)
AM_RANGE(0x0000, 0x007f) AM_RAM // internal to the cpu
AM_RANGE(0x0080, 0x0083) AM_DEVREADWRITE("ic2", pia6821_device, read, write)
diff --git a/src/mame/drivers/hapyfish.cpp b/src/mame/drivers/hapyfish.cpp
index 7339ea5e3a4..8f86c3a7c5a 100644
--- a/src/mame/drivers/hapyfish.cpp
+++ b/src/mame/drivers/hapyfish.cpp
@@ -34,9 +34,10 @@ public:
uint32_t screen_update_hapyfish(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
void hapyfish(machine_config &config);
+ void hapyfish_map(address_map &map);
};
-static ADDRESS_MAP_START( hapyfish_map, AS_PROGRAM, 32, hapyfish_state )
+ADDRESS_MAP_START(hapyfish_state::hapyfish_map)
AM_RANGE(0x00000000, 0x00003fff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/harddriv.cpp b/src/mame/drivers/harddriv.cpp
index 127065898c3..32cd051c2b1 100644
--- a/src/mame/drivers/harddriv.cpp
+++ b/src/mame/drivers/harddriv.cpp
@@ -539,7 +539,7 @@ public:
};
-static ADDRESS_MAP_START( driver_68k_map, AS_PROGRAM, 16, harddriv_state )
+ADDRESS_MAP_START(harddriv_state::driver_68k_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x600000, 0x603fff) AM_READ(hd68k_port0_r)
@@ -558,7 +558,7 @@ static ADDRESS_MAP_START( driver_68k_map, AS_PROGRAM, 16, harddriv_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( driver_gsp_map, AS_PROGRAM, 16, harddriv_state )
+ADDRESS_MAP_START(harddriv_state::driver_gsp_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000000, 0x0000200f) AM_NOP /* hit during self-test */
AM_RANGE(0x02000000, 0x0207ffff) AM_READWRITE(hdgsp_vram_2bpp_r, hdgsp_vram_1bpp_w)
@@ -571,7 +571,7 @@ static ADDRESS_MAP_START( driver_gsp_map, AS_PROGRAM, 16, harddriv_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( driver_msp_map, AS_PROGRAM, 16, harddriv_state )
+ADDRESS_MAP_START(harddriv_state::driver_msp_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000000, 0x000fffff) AM_RAM AM_SHARE("msp_ram")
AM_RANGE(0x00700000, 0x007fffff) AM_RAM AM_SHARE("msp_ram")
@@ -587,7 +587,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( multisync_68k_map, AS_PROGRAM, 16, harddriv_state )
+ADDRESS_MAP_START(harddriv_state::multisync_68k_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x604000, 0x607fff) AM_READWRITE(hd68k_sound_reset_r, hd68k_nwr_w)
@@ -605,7 +605,7 @@ static ADDRESS_MAP_START( multisync_68k_map, AS_PROGRAM, 16, harddriv_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( multisync_gsp_map, AS_PROGRAM, 16, harddriv_state )
+ADDRESS_MAP_START(harddriv_state::multisync_gsp_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000000, 0x0000200f) AM_NOP /* hit during self-test */
AM_RANGE(0x02000000, 0x020fffff) AM_READWRITE(hdgsp_vram_2bpp_r, hdgsp_vram_2bpp_w)
@@ -625,7 +625,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( multisync2_68k_map, AS_PROGRAM, 16, harddriv_state )
+ADDRESS_MAP_START(harddriv_state::multisync2_68k_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x604000, 0x607fff) AM_WRITE(hd68k_nwr_w)
@@ -644,7 +644,7 @@ ADDRESS_MAP_END
/* GSP is identical to original multisync */
-static ADDRESS_MAP_START( multisync2_gsp_map, AS_PROGRAM, 16, harddriv_state )
+ADDRESS_MAP_START(harddriv_state::multisync2_gsp_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000000, 0x0000200f) AM_NOP /* hit during self-test */
AM_RANGE(0x02000000, 0x020fffff) AM_READWRITE(hdgsp_vram_2bpp_r, hdgsp_vram_2bpp_w)
@@ -664,14 +664,14 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( adsp_program_map, AS_PROGRAM, 32, harddriv_state )
+ADDRESS_MAP_START(harddriv_state::adsp_program_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("adsp_pgm_memory")
AM_RANGE(0x2000, 0x3fff) AM_READNOP // ROM?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( adsp_data_map, AS_DATA, 16, harddriv_state )
+ADDRESS_MAP_START(harddriv_state::adsp_data_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("adsp_data")
AM_RANGE(0x2000, 0x2fff) AM_READWRITE(hdadsp_special_r, hdadsp_special_w)
@@ -685,13 +685,13 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( ds3_program_map, AS_PROGRAM, 32, harddriv_state )
+ADDRESS_MAP_START(harddriv_state::ds3_program_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_RAM AM_SHARE("adsp_pgm_memory")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ds3_data_map, AS_DATA, 16, harddriv_state )
+ADDRESS_MAP_START(harddriv_state::ds3_data_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("adsp_data")
AM_RANGE(0x2000, 0x3fff) AM_READWRITE(hdds3_special_r, hdds3_special_w)
@@ -700,12 +700,12 @@ static ADDRESS_MAP_START( ds3_data_map, AS_DATA, 16, harddriv_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ds3sdsp_program_map, AS_PROGRAM, 32, harddriv_state )
+ADDRESS_MAP_START(harddriv_state::ds3sdsp_program_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_RAM AM_SHARE("ds3sdsp_pgm")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ds3sdsp_data_map, AS_DATA, 16, harddriv_state )
+ADDRESS_MAP_START(harddriv_state::ds3sdsp_data_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x2000, 0x3fff) AM_READWRITE(hdds3_sdsp_special_r, hdds3_sdsp_special_w)
AM_RANGE(0x3800, 0x39ff) AM_RAM /* internal RAM */
@@ -713,12 +713,12 @@ static ADDRESS_MAP_START( ds3sdsp_data_map, AS_DATA, 16, harddriv_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ds3xdsp_program_map, AS_PROGRAM, 32, harddriv_state )
+ADDRESS_MAP_START(harddriv_state::ds3xdsp_program_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_RAM AM_SHARE("ds3xdsp_pgm")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ds3xdsp_data_map, AS_DATA, 16, harddriv_state )
+ADDRESS_MAP_START(harddriv_state::ds3xdsp_data_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_RAM // TODO
AM_RANGE(0x3800, 0x39ff) AM_RAM /* internal RAM */
@@ -733,7 +733,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( dsk_dsp32_map, AS_PROGRAM, 32, harddriv_state )
+ADDRESS_MAP_START(harddriv_state::dsk_dsp32_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x001fff) AM_RAM
AM_RANGE(0x600000, 0x63ffff) AM_RAM AM_SHARE("dsp32_ram")
@@ -748,7 +748,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( dsk2_dsp32_map, AS_PROGRAM, 32, harddriv_state )
+ADDRESS_MAP_START(harddriv_state::dsk2_dsp32_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x001fff) AM_RAM
AM_RANGE(0x200000, 0x23ffff) AM_RAM
diff --git a/src/mame/drivers/harriet.cpp b/src/mame/drivers/harriet.cpp
index eb720140ee2..6ad1fec992a 100644
--- a/src/mame/drivers/harriet.cpp
+++ b/src/mame/drivers/harriet.cpp
@@ -41,6 +41,7 @@ public:
void kbd_put(u8 data);
void harriet(machine_config &config);
+ void harriet_map(address_map &map);
protected:
// driver_device overrides
virtual void machine_start() override;
@@ -108,7 +109,7 @@ READ8_MEMBER(harriet_state::keyboard_status_r)
return res;
}
-static ADDRESS_MAP_START( harriet_map, AS_PROGRAM, 16, harriet_state )
+ADDRESS_MAP_START(harriet_state::harriet_map)
AM_RANGE(0x000000, 0x007fff) AM_ROM
AM_RANGE(0x040000, 0x040fff) AM_RAM // NVRAM
AM_RANGE(0x7f0000, 0x7fffff) AM_RAM // todo: boundaries, 0x7fe000 - 0x7fffff tested on boot
diff --git a/src/mame/drivers/hazelgr.cpp b/src/mame/drivers/hazelgr.cpp
index d70189a1e6b..b117fb4a3df 100644
--- a/src/mame/drivers/hazelgr.cpp
+++ b/src/mame/drivers/hazelgr.cpp
@@ -23,18 +23,20 @@ public:
{ }
void haze(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, haze_state )
+ADDRESS_MAP_START(haze_state::mem_map)
AM_RANGE(0x0000, 0x17ff) AM_ROM
AM_RANGE(0x9000, 0x9fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, haze_state )
+ADDRESS_MAP_START(haze_state::io_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x80, 0x83) AM_DEVREADWRITE("ctc1", z80ctc_device, read, write) // irq 17E0 => 0183(ch3)
diff --git a/src/mame/drivers/hazeltin.cpp b/src/mame/drivers/hazeltin.cpp
index c8928fe3faf..884bd617c80 100644
--- a/src/mame/drivers/hazeltin.cpp
+++ b/src/mame/drivers/hazeltin.cpp
@@ -166,6 +166,8 @@ public:
NETDEV_ANALOG_CALLBACK_MEMBER(tvinterq_cb);
void hazl1500(machine_config &config);
+ void hazl1500_io(address_map &map);
+ void hazl1500_mem(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<netlist_mame_device> m_video_board;
@@ -473,14 +475,14 @@ WRITE8_MEMBER(hazl1500_state::refresh_address_w)
m_cpu_db7->write((data >> 7) & 1);
}
-static ADDRESS_MAP_START(hazl1500_mem, AS_PROGRAM, 8, hazl1500_state)
+ADDRESS_MAP_START(hazl1500_state::hazl1500_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x07ff) AM_ROM
AM_RANGE(0x3000, 0x377f) AM_READWRITE(ram_r, ram_w)
AM_RANGE(0x3780, 0x37ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(hazl1500_io, AS_IO, 8, hazl1500_state)
+ADDRESS_MAP_START(hazl1500_state::hazl1500_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x7f, 0x7f) AM_READWRITE(status_reg_2_r, status_reg_3_w)
AM_RANGE(0xbf, 0xbf) AM_READWRITE(uart_r, uart_w)
diff --git a/src/mame/drivers/hcastle.cpp b/src/mame/drivers/hcastle.cpp
index ec8d21eda1c..8116878c3ac 100644
--- a/src/mame/drivers/hcastle.cpp
+++ b/src/mame/drivers/hcastle.cpp
@@ -41,7 +41,7 @@ WRITE8_MEMBER(hcastle_state::hcastle_coin_w)
-static ADDRESS_MAP_START( hcastle_map, AS_PROGRAM, 8, hcastle_state )
+ADDRESS_MAP_START(hcastle_state::hcastle_map)
AM_RANGE(0x0000, 0x0007) AM_WRITE(hcastle_pf1_control_w)
AM_RANGE(0x0020, 0x003f) AM_RAM /* rowscroll? */
AM_RANGE(0x0200, 0x0207) AM_WRITE(hcastle_pf2_control_w)
@@ -76,7 +76,7 @@ WRITE8_MEMBER(hcastle_state::sound_bank_w)
m_k007232->set_bank(bank_A, bank_B );
}
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, hcastle_state )
+ADDRESS_MAP_START(hcastle_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9800, 0x987f) AM_DEVREADWRITE("k051649", k051649_device, k051649_waveform_r, k051649_waveform_w)
diff --git a/src/mame/drivers/headonb.cpp b/src/mame/drivers/headonb.cpp
index cff093c9cc0..d55fab7a839 100644
--- a/src/mame/drivers/headonb.cpp
+++ b/src/mame/drivers/headonb.cpp
@@ -57,6 +57,8 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info);
void headonb(machine_config &config);
+ void headonb_io_map(address_map &map);
+ void headonb_map(address_map &map);
};
@@ -96,13 +98,13 @@ WRITE8_MEMBER(headonb_state::video_ram_w)
m_tilemap->mark_tile_dirty(offset);
}
-static ADDRESS_MAP_START( headonb_map, AS_PROGRAM, 8, headonb_state )
+ADDRESS_MAP_START(headonb_state::headonb_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM AM_MIRROR(0x4000)
AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(video_ram_w) AM_SHARE("video_ram")
AM_RANGE(0xff00, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( headonb_io_map, AS_IO, 8, headonb_state )
+ADDRESS_MAP_START(headonb_state::headonb_io_map)
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN0")
AM_RANGE(0x04, 0x04) AM_READ_PORT("IN1")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/hec2hrp.cpp b/src/mame/drivers/hec2hrp.cpp
index d4a5e2c17bf..1925a86e00b 100644
--- a/src/mame/drivers/hec2hrp.cpp
+++ b/src/mame/drivers/hec2hrp.cpp
@@ -90,7 +90,7 @@
/*****************************************************************************/
-static ADDRESS_MAP_START(hecdisc2_mem, AS_PROGRAM, 8, hec2hrp_state )
+ADDRESS_MAP_START(hec2hrp_state::hecdisc2_mem)
/*****************************************************************************/
ADDRESS_MAP_UNMAP_HIGH
@@ -101,7 +101,7 @@ static ADDRESS_MAP_START(hecdisc2_mem, AS_PROGRAM, 8, hec2hrp_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hecdisc2_io , AS_IO, 8, hec2hrp_state )
+ADDRESS_MAP_START(hec2hrp_state::hecdisc2_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
// ROM Page managing
@@ -118,7 +118,7 @@ static ADDRESS_MAP_START( hecdisc2_io , AS_IO, 8, hec2hrp_state )
ADDRESS_MAP_END
/*****************************************************************************/
-static ADDRESS_MAP_START(hec2hrp_mem, AS_PROGRAM, 8, hec2hrp_state )
+ADDRESS_MAP_START(hec2hrp_state::hec2hrp_mem)
/*****************************************************************************/
ADDRESS_MAP_UNMAP_HIGH
/* Main ROM page*/
@@ -142,7 +142,7 @@ static ADDRESS_MAP_START(hec2hrp_mem, AS_PROGRAM, 8, hec2hrp_state )
ADDRESS_MAP_END
/*****************************************************************************/
-static ADDRESS_MAP_START(hec2hrx_mem, AS_PROGRAM, 8, hec2hrp_state )
+ADDRESS_MAP_START(hec2hrp_state::hec2hrx_mem)
/*****************************************************************************/
ADDRESS_MAP_UNMAP_HIGH
/* Main ROM page*/
@@ -165,19 +165,19 @@ static ADDRESS_MAP_START(hec2hrx_mem, AS_PROGRAM, 8, hec2hrp_state )
AM_RANGE(0xc000,0xffff) AM_RAMBANK("bank1") AM_SHARE("hector_videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hec2hrp_io , AS_IO, 8, hec2hrp_state )
+ADDRESS_MAP_START(hec2hrp_state::hec2hrp_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x000,0x0ff) AM_READWRITE(hector_io_8255_r, hector_io_8255_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hec2hrx_io , AS_IO, 8, hec2hrp_state )
+ADDRESS_MAP_START(hec2hrp_state::hec2hrx_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x0f0,0x0ff) AM_READWRITE(hector_io_8255_r, hector_io_8255_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hec2mdhrx_io , AS_IO, 8, hec2hrp_state )
+ADDRESS_MAP_START(hec2hrp_state::hec2mdhrx_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
@@ -187,14 +187,14 @@ static ADDRESS_MAP_START( hec2mdhrx_io , AS_IO, 8, hec2hrp_state )
AM_RANGE(0x0f0,0x0ff) AM_READWRITE(hector_io_8255_r, hector_io_8255_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hec2mx40_io , AS_IO, 8, hec2hrp_state )
+ADDRESS_MAP_START(hec2hrp_state::hec2mx40_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x000,0x0ef) AM_WRITE(hector_mx40_io_port_w )
AM_RANGE(0x0f0,0x0f3) AM_READWRITE(hector_io_8255_r, hector_io_8255_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hec2mx80_io , AS_IO, 8, hec2hrp_state )
+ADDRESS_MAP_START(hec2hrp_state::hec2mx80_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x000,0x0ef) AM_WRITE(hector_mx80_io_port_w )
diff --git a/src/mame/drivers/hexion.cpp b/src/mame/drivers/hexion.cpp
index 12b4a5bb23e..7ae6580caea 100644
--- a/src/mame/drivers/hexion.cpp
+++ b/src/mame/drivers/hexion.cpp
@@ -121,7 +121,7 @@ WRITE8_MEMBER(hexion_state::ccu_int_time_w)
m_ccu_int_time = data;
}
-static ADDRESS_MAP_START( hexion_map, AS_PROGRAM, 8, hexion_state )
+ADDRESS_MAP_START(hexion_state::hexion_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("bank1")
AM_RANGE(0xa000, 0xbfff) AM_RAM
@@ -147,7 +147,7 @@ static ADDRESS_MAP_START( hexion_map, AS_PROGRAM, 8, hexion_state )
AM_RANGE(0xf540, 0xf540) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hexionb_map, AS_PROGRAM, 8, hexion_state )
+ADDRESS_MAP_START(hexion_state::hexionb_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("bank1")
AM_RANGE(0xa000, 0xbfff) AM_RAM
diff --git a/src/mame/drivers/hideseek.cpp b/src/mame/drivers/hideseek.cpp
index 5e8b32dcf79..e3b6fec4248 100644
--- a/src/mame/drivers/hideseek.cpp
+++ b/src/mame/drivers/hideseek.cpp
@@ -47,6 +47,7 @@ public:
uint32_t screen_update_hideseek(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void hideseek(machine_config &config);
+ void mem_map(address_map &map);
protected:
required_device<cpu_device> m_maincpu;
};
@@ -62,7 +63,7 @@ uint32_t hideseek_state::screen_update_hideseek(screen_device &screen, bitmap_in
return 0;
}
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 32, hideseek_state )
+ADDRESS_MAP_START(hideseek_state::mem_map)
AM_RANGE(0x00000000, 0x0003ffff) AM_ROM // On-chip ROM
AM_RANGE(0x00200000, 0x0023ffff) AM_RAM // CS0
AM_RANGE(0x00400000, 0x005fffff) AM_ROM AM_REGION("prg", 0) // CS1
diff --git a/src/mame/drivers/higemaru.cpp b/src/mame/drivers/higemaru.cpp
index b662f59fc72..c3e24da5083 100644
--- a/src/mame/drivers/higemaru.cpp
+++ b/src/mame/drivers/higemaru.cpp
@@ -33,7 +33,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(higemaru_state::higemaru_scanline)
}
-static ADDRESS_MAP_START( higemaru_map, AS_PROGRAM, 8, higemaru_state )
+ADDRESS_MAP_START(higemaru_state::higemaru_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("P1")
AM_RANGE(0xc001, 0xc001) AM_READ_PORT("P2")
diff --git a/src/mame/drivers/highvdeo.cpp b/src/mame/drivers/highvdeo.cpp
index 279a5bf5e85..352bc239360 100644
--- a/src/mame/drivers/highvdeo.cpp
+++ b/src/mame/drivers/highvdeo.cpp
@@ -168,6 +168,21 @@ public:
void newmcard(machine_config &config);
void tv_tcf(machine_config &config);
void tv_vcf(machine_config &config);
+ void brasil_io(address_map &map);
+ void brasil_map(address_map &map);
+ void grancapi_io(address_map &map);
+ void magicbom_io(address_map &map);
+ void newmcard_io(address_map &map);
+ void newmcard_map(address_map &map);
+ void nyjoker_io(address_map &map);
+ void nyjoker_map(address_map &map);
+ void ramdac_map(address_map &map);
+ void tv_ncf_io(address_map &map);
+ void tv_ncf_map(address_map &map);
+ void tv_tcf_io(address_map &map);
+ void tv_tcf_map(address_map &map);
+ void tv_vcf_io(address_map &map);
+ void tv_vcf_map(address_map &map);
};
@@ -310,7 +325,7 @@ WRITE16_MEMBER(highvdeo_state::write1_w)
// popmessage("%04x %04x",t1,t3);
}
-static ADDRESS_MAP_START( tv_vcf_map, AS_PROGRAM, 16, highvdeo_state )
+ADDRESS_MAP_START(highvdeo_state::tv_vcf_map)
AM_RANGE(0x00000, 0x003ff) AM_RAM /*irq vector area*/
AM_RANGE(0x00400, 0x03fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x40000, 0x4ffff) AM_RAM AM_SHARE("blit_ram") /*blitter ram*/
@@ -318,7 +333,7 @@ static ADDRESS_MAP_START( tv_vcf_map, AS_PROGRAM, 16, highvdeo_state )
AM_RANGE(0xc0000, 0xfffff) AM_ROM AM_REGION("boot_prg",0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tv_vcf_io, AS_IO, 16, highvdeo_state )
+ADDRESS_MAP_START(highvdeo_state::tv_vcf_io)
AM_RANGE(0x0000, 0x0001) AM_WRITE(write1_w ) // lamps
AM_RANGE(0x0006, 0x0007) AM_WRITE(tv_oki6376_w )
AM_RANGE(0x0008, 0x0009) AM_READ(read0_r )
@@ -359,7 +374,7 @@ WRITE16_MEMBER(highvdeo_state::tv_ncf_oki6376_st_w)
}
}
-static ADDRESS_MAP_START( tv_ncf_map, AS_PROGRAM, 16, highvdeo_state )
+ADDRESS_MAP_START(highvdeo_state::tv_ncf_map)
AM_RANGE(0x00000, 0x003ff) AM_RAM /*irq vector area*/
AM_RANGE(0x00400, 0x03fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x20000, 0x2ffff) AM_RAM AM_SHARE("blit_ram") /*blitter ram*/
@@ -367,7 +382,7 @@ static ADDRESS_MAP_START( tv_ncf_map, AS_PROGRAM, 16, highvdeo_state )
AM_RANGE(0xc0000, 0xfffff) AM_ROM AM_REGION("boot_prg",0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tv_ncf_io, AS_IO, 16, highvdeo_state )
+ADDRESS_MAP_START(highvdeo_state::tv_ncf_io)
AM_RANGE(0x0000, 0x0001) AM_WRITE(write1_w ) // lamps
AM_RANGE(0x0008, 0x0009) AM_WRITE(tv_ncf_oki6376_w )
AM_RANGE(0x000a, 0x000b) AM_WRITE(tv_ncf_oki6376_st_w )
@@ -380,7 +395,7 @@ static ADDRESS_MAP_START( tv_ncf_io, AS_IO, 16, highvdeo_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nyjoker_map, AS_PROGRAM, 16, highvdeo_state )
+ADDRESS_MAP_START(highvdeo_state::nyjoker_map)
AM_RANGE(0x00000, 0x003ff) AM_RAM /*irq vector area*/
AM_RANGE(0x00400, 0x03fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x10000, 0x1ffff) AM_RAM AM_SHARE("blit_ram") /*blitter ram*/
@@ -388,7 +403,7 @@ static ADDRESS_MAP_START( nyjoker_map, AS_PROGRAM, 16, highvdeo_state )
AM_RANGE(0xc0000, 0xfffff) AM_ROM AM_REGION("boot_prg",0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nyjoker_io, AS_IO, 16, highvdeo_state )
+ADDRESS_MAP_START(highvdeo_state::nyjoker_io)
AM_RANGE(0x0000, 0x0001) AM_WRITE(write1_w ) // lamps
AM_RANGE(0x0002, 0x0003) AM_WRITENOP // alternate coin counter (bits 0 and 2)
AM_RANGE(0x0004, 0x0005) AM_WRITE(nyj_write2_w ) // coin and note counter
@@ -432,7 +447,7 @@ WRITE16_MEMBER(highvdeo_state::tv_tcf_bankselect_w)
membank("bank1")->set_base(&ROM[bankaddress]);
}
-static ADDRESS_MAP_START( tv_tcf_map, AS_PROGRAM, 16, highvdeo_state )
+ADDRESS_MAP_START(highvdeo_state::tv_tcf_map)
AM_RANGE(0x00000, 0x003ff) AM_RAM /*irq vector area*/
AM_RANGE(0x00400, 0x03fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x40000, 0x5d4bf) AM_RAM AM_SHARE("blit_ram") /*blitter ram*/
@@ -441,7 +456,7 @@ static ADDRESS_MAP_START( tv_tcf_map, AS_PROGRAM, 16, highvdeo_state )
AM_RANGE(0xc0000, 0xfffff) AM_ROM AM_REGION("boot_prg",0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tv_tcf_io, AS_IO, 16, highvdeo_state )
+ADDRESS_MAP_START(highvdeo_state::tv_tcf_io)
AM_RANGE(0x0000, 0x0001) AM_WRITE(write1_w ) // lamps
AM_RANGE(0x0006, 0x0007) AM_WRITE(tv_oki6376_w )
AM_RANGE(0x0008, 0x0009) AM_READ(read0_r )
@@ -489,7 +504,7 @@ WRITE16_MEMBER(highvdeo_state::write2_w)
}
}
-static ADDRESS_MAP_START( newmcard_map, AS_PROGRAM, 16, highvdeo_state )
+ADDRESS_MAP_START(highvdeo_state::newmcard_map)
AM_RANGE(0x00000, 0x003ff) AM_RAM /*irq vector area*/
AM_RANGE(0x00400, 0x0ffff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x40000, 0x7ffff) AM_RAM AM_SHARE("blit_ram") /*blitter ram*/
@@ -497,7 +512,7 @@ static ADDRESS_MAP_START( newmcard_map, AS_PROGRAM, 16, highvdeo_state )
AM_RANGE(0xc0000, 0xfffff) AM_ROM AM_REGION("boot_prg",0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( newmcard_io, AS_IO, 16, highvdeo_state )
+ADDRESS_MAP_START(highvdeo_state::newmcard_io)
AM_RANGE(0x0030, 0x0033) AM_READ(newmcard_status_r )
AM_RANGE(0x0030, 0x0031) AM_WRITE(tv_tcf_bankselect_w )
AM_RANGE(0x0000, 0x0001) AM_WRITE(write1_w ) // lamps
@@ -609,7 +624,7 @@ READ16_MEMBER(highvdeo_state::magicbom_status_r)
}
-static ADDRESS_MAP_START( brasil_map, AS_PROGRAM, 16, highvdeo_state )
+ADDRESS_MAP_START(highvdeo_state::brasil_map)
AM_RANGE(0x00000, 0x003ff) AM_RAM /*irq vector area*/
AM_RANGE(0x00400, 0x0ffff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x40000, 0x7ffff) AM_RAM AM_SHARE("blit_ram") /*blitter ram*/
@@ -617,7 +632,7 @@ static ADDRESS_MAP_START( brasil_map, AS_PROGRAM, 16, highvdeo_state )
AM_RANGE(0xc0000, 0xfffff) AM_ROM AM_REGION("boot_prg",0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( brasil_io, AS_IO, 16, highvdeo_state )
+ADDRESS_MAP_START(highvdeo_state::brasil_io)
AM_RANGE(0x0030, 0x0033) AM_READ(brasil_status_r )
AM_RANGE(0x0030, 0x0031) AM_WRITE(brasil_status_w )
AM_RANGE(0x0000, 0x0001) AM_WRITE(write1_w ) // lamps
@@ -630,7 +645,7 @@ static ADDRESS_MAP_START( brasil_io, AS_IO, 16, highvdeo_state )
// AM_RANGE(0xffa2, 0xffa3) AM_WRITE
ADDRESS_MAP_END
-static ADDRESS_MAP_START( grancapi_io, AS_IO, 16, highvdeo_state )
+ADDRESS_MAP_START(highvdeo_state::grancapi_io)
AM_RANGE(0x0030, 0x0033) AM_READ(grancapi_status_r )
AM_RANGE(0x000e, 0x000f) AM_WRITE(grancapi_status_w )
AM_RANGE(0x0000, 0x0001) AM_WRITE(write1_w ) // lamps
@@ -643,7 +658,7 @@ static ADDRESS_MAP_START( grancapi_io, AS_IO, 16, highvdeo_state )
// AM_RANGE(0xffa2, 0xffa3) AM_WRITE
ADDRESS_MAP_END
-static ADDRESS_MAP_START( magicbom_io, AS_IO, 16, highvdeo_state )
+ADDRESS_MAP_START(highvdeo_state::magicbom_io)
AM_RANGE(0x0030, 0x0033) AM_READ(magicbom_status_r )
AM_RANGE(0x000e, 0x000f) AM_WRITE(grancapi_status_w )
AM_RANGE(0x0000, 0x0001) AM_WRITE(write1_w ) // lamps
@@ -1128,7 +1143,7 @@ INTERRUPT_GEN_MEMBER(highvdeo_state::vblank_irq_80186)
device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
}
-static ADDRESS_MAP_START( ramdac_map, 0, 8, highvdeo_state )
+ADDRESS_MAP_START(highvdeo_state::ramdac_map)
AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac",ramdac_device,ramdac_pal_r,ramdac_rgb666_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/hikaru.cpp b/src/mame/drivers/hikaru.cpp
index 5b1aae60e3f..a934abdafc7 100644
--- a/src/mame/drivers/hikaru.cpp
+++ b/src/mame/drivers/hikaru.cpp
@@ -398,6 +398,8 @@ public:
uint32_t screen_update_hikaru(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
void hikaru(machine_config &config);
+ void hikaru_map(address_map &map);
+ void hikaru_map_slave(address_map &map);
};
void hikaru_state::video_start()
@@ -443,7 +445,7 @@ INPUT_PORTS_END
*/
-static ADDRESS_MAP_START( hikaru_map, AS_PROGRAM, 64, hikaru_state )
+ADDRESS_MAP_START(hikaru_state::hikaru_map)
// Area 0
AM_RANGE(0x00000000, 0x001fffff) AM_ROM AM_SHARE("share1") // boot ROM
AM_RANGE(0x00400000, 0x00400007) AM_NOP // unknown
@@ -472,7 +474,7 @@ static ADDRESS_MAP_START( hikaru_map, AS_PROGRAM, 64, hikaru_state )
AM_RANGE(0x1b000000, 0x1b7fffff) AM_NOP // GPU Texture RAM and framebuffer (a 2048x2048x16-bit sheet?)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hikaru_map_slave, AS_PROGRAM, 64, hikaru_state )
+ADDRESS_MAP_START(hikaru_state::hikaru_map_slave)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000000, 0x001FFFFF) AM_ROM AM_SHARE("share1")
AM_RANGE(0x0C000000, 0x0DFFFFFF) AM_RAM
diff --git a/src/mame/drivers/himesiki.cpp b/src/mame/drivers/himesiki.cpp
index 6b40250d256..f8a9521ab13 100644
--- a/src/mame/drivers/himesiki.cpp
+++ b/src/mame/drivers/himesiki.cpp
@@ -123,7 +123,7 @@ WRITE8_MEMBER(himesiki_state::himesiki_sound_w)
/****************************************************************************/
-static ADDRESS_MAP_START( himesiki_prm0, AS_PROGRAM, 8, himesiki_state )
+ADDRESS_MAP_START(himesiki_state::himesiki_prm0)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_RAM
AM_RANGE(0xa000, 0xa0ff) AM_RAM AM_SHARE("spriteram")
@@ -133,7 +133,7 @@ static ADDRESS_MAP_START( himesiki_prm0, AS_PROGRAM, 8, himesiki_state )
AM_RANGE(0xc000, 0xffff) AM_ROMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( himesiki_iom0, AS_IO, 8, himesiki_state )
+ADDRESS_MAP_START(himesiki_state::himesiki_iom0)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write) // inputs
AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write) // dips + rombank
@@ -145,12 +145,12 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( himesiki_prm1, AS_PROGRAM, 8, himesiki_state )
+ADDRESS_MAP_START(himesiki_state::himesiki_prm1)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( himesiki_iom1, AS_IO, 8, himesiki_state )
+ADDRESS_MAP_START(himesiki_state::himesiki_iom1)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ym2203", ym2203_device, read, write)
AM_RANGE(0x04, 0x04) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/hitme.cpp b/src/mame/drivers/hitme.cpp
index b09f539d268..a052289871d 100644
--- a/src/mame/drivers/hitme.cpp
+++ b/src/mame/drivers/hitme.cpp
@@ -220,7 +220,7 @@ WRITE8_MEMBER(hitme_state::output_port_1_w)
upper 8 bits.
*/
-static ADDRESS_MAP_START( hitme_map, AS_PROGRAM, 8, hitme_state )
+ADDRESS_MAP_START(hitme_state::hitme_map)
ADDRESS_MAP_GLOBAL_MASK(0x1fff)
AM_RANGE(0x0000, 0x09ff) AM_ROM
AM_RANGE(0x0c00, 0x0eff) AM_RAM_WRITE(hitme_vidram_w) AM_SHARE("videoram")
@@ -236,7 +236,7 @@ static ADDRESS_MAP_START( hitme_map, AS_PROGRAM, 8, hitme_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hitme_portmap, AS_IO, 8, hitme_state )
+ADDRESS_MAP_START(hitme_state::hitme_portmap)
AM_RANGE(0x14, 0x14) AM_READ(hitme_port_0_r)
AM_RANGE(0x15, 0x15) AM_READ(hitme_port_1_r)
AM_RANGE(0x16, 0x16) AM_READ(hitme_port_2_r)
diff --git a/src/mame/drivers/hitpoker.cpp b/src/mame/drivers/hitpoker.cpp
index 2c26b616c25..2e10fe90e2d 100644
--- a/src/mame/drivers/hitpoker.cpp
+++ b/src/mame/drivers/hitpoker.cpp
@@ -92,6 +92,8 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
void hitpoker(machine_config &config);
+ void hitpoker_io(address_map &map);
+ void hitpoker_map(address_map &map);
};
@@ -255,7 +257,7 @@ READ8_MEMBER(hitpoker_state::test_r)
#endif
/* overlap empty rom addresses */
-static ADDRESS_MAP_START( hitpoker_map, AS_PROGRAM, 8, hitpoker_state )
+ADDRESS_MAP_START(hitpoker_state::hitpoker_map)
AM_RANGE(0x0000, 0xbdff) AM_ROM
AM_RANGE(0xbf00, 0xffff) AM_ROM
@@ -278,7 +280,7 @@ static ADDRESS_MAP_START( hitpoker_map, AS_PROGRAM, 8, hitpoker_state )
AM_RANGE(0xe000, 0xefff) AM_READWRITE(hitpoker_paletteram_r,hitpoker_paletteram_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hitpoker_io, AS_IO, 8, hitpoker_state )
+ADDRESS_MAP_START(hitpoker_state::hitpoker_io)
AM_RANGE(MC68HC11_IO_PORTA, MC68HC11_IO_PORTA) AM_READWRITE(hitpoker_pic_r,hitpoker_pic_w) AM_SHARE("sys_regs")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/hk68v10.cpp b/src/mame/drivers/hk68v10.cpp
index c4839a669c3..019a8a866a7 100644
--- a/src/mame/drivers/hk68v10.cpp
+++ b/src/mame/drivers/hk68v10.cpp
@@ -210,6 +210,7 @@ virtual void machine_start () override;
virtual void machine_reset () override;
void hk68v10(machine_config &config);
+void hk68v10_mem(address_map &map);
protected:
private:
@@ -221,7 +222,7 @@ required_device<scc8530_device> m_sccterm;
uint16_t m_sysram[4];
};
-static ADDRESS_MAP_START (hk68v10_mem, AS_PROGRAM, 16, hk68v10_state)
+ADDRESS_MAP_START(hk68v10_state::hk68v10_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE (0x000000, 0x000007) AM_RAM AM_WRITE (bootvect_w) /* After first write we act as RAM */
AM_RANGE (0x000000, 0x000007) AM_ROM AM_READ (bootvect_r) /* ROM mirror just durin reset */
diff --git a/src/mame/drivers/hnayayoi.cpp b/src/mame/drivers/hnayayoi.cpp
index 7cfdb3d7959..3d4e41ff393 100644
--- a/src/mame/drivers/hnayayoi.cpp
+++ b/src/mame/drivers/hnayayoi.cpp
@@ -105,13 +105,13 @@ WRITE_LINE_MEMBER(hnayayoi_state::nmi_clock_w)
}
-static ADDRESS_MAP_START( hnayayoi_map, AS_PROGRAM, 8, hnayayoi_state )
+ADDRESS_MAP_START(hnayayoi_state::hnayayoi_map)
AM_RANGE(0x0000, 0x77ff) AM_ROM
AM_RANGE(0x7800, 0x7fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hnayayoi_io_map, AS_IO, 8, hnayayoi_state )
+ADDRESS_MAP_START(hnayayoi_state::hnayayoi_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("ymsnd", ym2203_device, write)
AM_RANGE(0x02, 0x03) AM_DEVREAD("ymsnd", ym2203_device, read)
@@ -130,7 +130,7 @@ static ADDRESS_MAP_START( hnayayoi_io_map, AS_IO, 8, hnayayoi_state )
AM_RANGE(0x62, 0x67) AM_WRITE(dynax_blitter_rev1_param_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hnfubuki_map, AS_PROGRAM, 8, hnayayoi_state )
+ADDRESS_MAP_START(hnayayoi_state::hnfubuki_map)
AM_RANGE(0x0000, 0x77ff) AM_ROM
AM_RANGE(0x7800, 0x7fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x8000, 0xfeff) AM_ROM
@@ -151,13 +151,13 @@ static ADDRESS_MAP_START( hnfubuki_map, AS_PROGRAM, 8, hnayayoi_state )
AM_RANGE(0xff62, 0xff67) AM_WRITE(dynax_blitter_rev1_param_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( untoucha_map, AS_PROGRAM, 8, hnayayoi_state )
+ADDRESS_MAP_START(hnayayoi_state::untoucha_map)
AM_RANGE(0x0000, 0x77ff) AM_ROM
AM_RANGE(0x7800, 0x7fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( untoucha_io_map, AS_IO, 8, hnayayoi_state )
+ADDRESS_MAP_START(hnayayoi_state::untoucha_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x10) AM_DEVWRITE("ymsnd", ym2203_device, control_port_w)
AM_RANGE(0x11, 0x11) AM_DEVREAD("ymsnd", ym2203_device, status_port_r)
diff --git a/src/mame/drivers/hng64.cpp b/src/mame/drivers/hng64.cpp
index 323e8c7c01b..5026b3caea6 100644
--- a/src/mame/drivers/hng64.cpp
+++ b/src/mame/drivers/hng64.cpp
@@ -947,7 +947,7 @@ WRITE16_MEMBER(hng64_state::main_sound_comms_w)
}
-static ADDRESS_MAP_START( hng_map, AS_PROGRAM, 32, hng64_state )
+ADDRESS_MAP_START(hng64_state::hng_map)
AM_RANGE(0x00000000, 0x00ffffff) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x04000000, 0x05ffffff) AM_WRITENOP AM_ROM AM_REGION("gameprg", 0) AM_SHARE("cart")
diff --git a/src/mame/drivers/holeland.cpp b/src/mame/drivers/holeland.cpp
index 8ae1dbe699f..4ef5b226be9 100644
--- a/src/mame/drivers/holeland.cpp
+++ b/src/mame/drivers/holeland.cpp
@@ -30,7 +30,7 @@ WRITE_LINE_MEMBER(holeland_state::coin_counter_w)
machine().bookkeeping().coin_counter_w(0, state);
}
-static ADDRESS_MAP_START( holeland_map, AS_PROGRAM, 8, holeland_state )
+ADDRESS_MAP_START(holeland_state::holeland_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xbfff) AM_ROM
@@ -41,7 +41,7 @@ static ADDRESS_MAP_START( holeland_map, AS_PROGRAM, 8, holeland_state )
AM_RANGE(0xf000, 0xf3ff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( crzrally_map, AS_PROGRAM, 8, holeland_state )
+ADDRESS_MAP_START(holeland_state::crzrally_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(colorram_w) AM_SHARE("colorram")
@@ -51,7 +51,7 @@ static ADDRESS_MAP_START( crzrally_map, AS_PROGRAM, 8, holeland_state )
AM_RANGE(0xf800, 0xf807) AM_DEVWRITE("latch", ls259_device, write_d0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, holeland_state )
+ADDRESS_MAP_START(holeland_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x01, 0x01) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r) /* ? */
AM_RANGE(0x04, 0x04) AM_DEVREAD("ay1", ay8910_device, data_r)
diff --git a/src/mame/drivers/homedata.cpp b/src/mame/drivers/homedata.cpp
index 4eb78392ea3..fa07bb8ba50 100644
--- a/src/mame/drivers/homedata.cpp
+++ b/src/mame/drivers/homedata.cpp
@@ -528,7 +528,7 @@ WRITE8_MEMBER(homedata_state::bankswitch_w)
/********************************************************************************/
-static ADDRESS_MAP_START( mrokumei_map, AS_PROGRAM, 8, homedata_state )
+ADDRESS_MAP_START(homedata_state::mrokumei_map)
AM_RANGE(0x0000, 0x3fff) AM_RAM_WRITE(mrokumei_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x4000, 0x5fff) AM_RAM
AM_RANGE(0x6000, 0x6fff) AM_RAM /* work ram */
@@ -549,7 +549,7 @@ static ADDRESS_MAP_START( mrokumei_map, AS_PROGRAM, 8, homedata_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mrokumei_sound_map, AS_PROGRAM, 8, homedata_state )
+ADDRESS_MAP_START(homedata_state::mrokumei_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
// TODO: might be that the entire area is sound_bank_w
AM_RANGE(0xfffc, 0xfffd) AM_WRITENOP /* stack writes happen here, but there's no RAM */
@@ -557,7 +557,7 @@ static ADDRESS_MAP_START( mrokumei_sound_map, AS_PROGRAM, 8, homedata_state )
AM_RANGE(0xffbf, 0xffbf) AM_WRITE(mrokumei_sound_bank_w) // hourouki mirror
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mrokumei_sound_io_map, AS_IO, 8, homedata_state )
+ADDRESS_MAP_START(homedata_state::mrokumei_sound_io_map)
AM_RANGE(0x0000, 0xffff) AM_READ(mrokumei_sound_io_r) /* read address is 16-bit */
AM_RANGE(0x0040, 0x0040) AM_MIRROR(0xff00) AM_DEVWRITE("dac", dac_byte_interface, write) /* write address is only 8-bit */
// hourouki mirror...
@@ -566,7 +566,7 @@ ADDRESS_MAP_END
/********************************************************************************/
-static ADDRESS_MAP_START( reikaids_map, AS_PROGRAM, 8, homedata_state )
+ADDRESS_MAP_START(homedata_state::reikaids_map)
AM_RANGE(0x0000, 0x3fff) AM_RAM_WRITE(reikaids_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x4000, 0x5fff) AM_RAM
AM_RANGE(0x6000, 0x6fff) AM_RAM /* work RAM */
@@ -585,14 +585,14 @@ static ADDRESS_MAP_START( reikaids_map, AS_PROGRAM, 8, homedata_state )
AM_RANGE(0xc000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( reikaids_upd7807_map, AS_PROGRAM, 8, homedata_state )
+ADDRESS_MAP_START(homedata_state::reikaids_upd7807_map)
AM_RANGE(0x0000, 0xfeff) AM_ROMBANK("bank2") /* External ROM (Banked) */
ADDRESS_MAP_END
/**************************************************************************/
-static ADDRESS_MAP_START( pteacher_map, AS_PROGRAM, 8, homedata_state )
+ADDRESS_MAP_START(homedata_state::pteacher_map)
AM_RANGE(0x0000, 0x3fff) AM_RAM_WRITE(mrokumei_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x4000, 0x5eff) AM_RAM
AM_RANGE(0x5f00, 0x5fff) AM_RAM
@@ -611,7 +611,7 @@ static ADDRESS_MAP_START( pteacher_map, AS_PROGRAM, 8, homedata_state )
AM_RANGE(0xc000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pteacher_upd7807_map, AS_PROGRAM, 8, homedata_state )
+ADDRESS_MAP_START(homedata_state::pteacher_upd7807_map)
AM_RANGE(0x0000, 0x0000) AM_WRITE(pteacher_snd_answer_w)
AM_RANGE(0x0000, 0xfeff) AM_ROMBANK("bank2") /* External ROM (Banked) */
ADDRESS_MAP_END
@@ -1382,11 +1382,11 @@ static INPUT_PORTS_START( mirderby )
INPUT_PORTS_END
-static ADDRESS_MAP_START( cpu0_map, AS_PROGRAM, 8, homedata_state )
+ADDRESS_MAP_START(homedata_state::cpu0_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpu1_map, AS_PROGRAM, 8, homedata_state )
+ADDRESS_MAP_START(homedata_state::cpu1_map)
AM_RANGE(0x0000, 0x3fff) AM_RAM // videoram
AM_RANGE(0x4000, 0x5fff) AM_RAM
AM_RANGE(0x6000, 0x6fff) AM_RAM /* work ram */
@@ -1409,7 +1409,7 @@ WRITE8_MEMBER(homedata_state::mirderby_prot_w)
}
-static ADDRESS_MAP_START( cpu2_map, AS_PROGRAM, 8, homedata_state )
+ADDRESS_MAP_START(homedata_state::cpu2_map)
AM_RANGE(0x0000, 0x3fff) AM_RAM_WRITE(mrokumei_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x4000, 0x5fff) AM_RAM
AM_RANGE(0x6000, 0x6fff) AM_RAM /* work ram */
diff --git a/src/mame/drivers/homelab.cpp b/src/mame/drivers/homelab.cpp
index 4a9861268ec..1799824d215 100644
--- a/src/mame/drivers/homelab.cpp
+++ b/src/mame/drivers/homelab.cpp
@@ -79,6 +79,11 @@ public:
void homelab3(machine_config &config);
void brailab4(machine_config &config);
void homelab(machine_config &config);
+ void brailab4_io(address_map &map);
+ void brailab4_mem(address_map &map);
+ void homelab2_mem(address_map &map);
+ void homelab3_io(address_map &map);
+ void homelab3_mem(address_map &map);
private:
const uint8_t *m_p_videoram;
bool m_nmi;
@@ -201,7 +206,7 @@ READ8_MEMBER( homelab_state::exxx_r )
/* Address maps */
-static ADDRESS_MAP_START(homelab2_mem, AS_PROGRAM, 8, homelab_state)
+ADDRESS_MAP_START(homelab_state::homelab2_mem)
AM_RANGE( 0x0000, 0x07ff ) AM_ROM // ROM 1
AM_RANGE( 0x0800, 0x0fff ) AM_ROM // ROM 2
AM_RANGE( 0x1000, 0x17ff ) AM_ROM // ROM 3
@@ -215,21 +220,21 @@ static ADDRESS_MAP_START(homelab2_mem, AS_PROGRAM, 8, homelab_state)
AM_RANGE( 0xe000, 0xe0ff ) AM_READ(cass2_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(homelab3_mem, AS_PROGRAM, 8, homelab_state)
+ADDRESS_MAP_START(homelab_state::homelab3_mem)
AM_RANGE( 0x0000, 0x3fff ) AM_ROM
AM_RANGE( 0x4000, 0x7fff ) AM_RAM
AM_RANGE( 0xe800, 0xefff ) AM_READ(exxx_r)
AM_RANGE( 0xf800, 0xffff ) AM_RAM AM_REGION("maincpu",0xf800)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(homelab3_io, AS_IO, 8, homelab_state)
+ADDRESS_MAP_START(homelab_state::homelab3_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x7f, 0x7f ) AM_WRITE(port7f_w)
AM_RANGE( 0xff, 0xff ) AM_WRITE(portff_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(brailab4_mem, AS_PROGRAM, 8, homelab_state)
+ADDRESS_MAP_START(homelab_state::brailab4_mem)
AM_RANGE( 0x0000, 0x3fff ) AM_ROM
AM_RANGE( 0x4000, 0xcfff ) AM_RAM
AM_RANGE( 0xd000, 0xdfff ) AM_ROM
@@ -237,7 +242,7 @@ static ADDRESS_MAP_START(brailab4_mem, AS_PROGRAM, 8, homelab_state)
AM_RANGE( 0xf800, 0xffff ) AM_RAMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(brailab4_io, AS_IO, 8, homelab_state)
+ADDRESS_MAP_START(homelab_state::brailab4_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0xf8, 0xf9 ) AM_DEVREADWRITE("mea8000", mea8000_device, read, write)
diff --git a/src/mame/drivers/homerun.cpp b/src/mame/drivers/homerun.cpp
index e5af6980482..626fbcefd7d 100644
--- a/src/mame/drivers/homerun.cpp
+++ b/src/mame/drivers/homerun.cpp
@@ -103,7 +103,7 @@ WRITE8_MEMBER(homerun_state::homerun_d7756_sample_w)
m_d7756->port_w(space, 0, data);
}
-static ADDRESS_MAP_START( homerun_memmap, AS_PROGRAM, 8, homerun_state )
+ADDRESS_MAP_START(homerun_state::homerun_memmap)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0x9fff) AM_RAM_WRITE(homerun_videoram_w) AM_SHARE("videoram")
@@ -112,7 +112,7 @@ static ADDRESS_MAP_START( homerun_memmap, AS_PROGRAM, 8, homerun_state )
AM_RANGE(0xc000, 0xdfff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( homerun_iomap, AS_IO, 8, homerun_state )
+ADDRESS_MAP_START(homerun_state::homerun_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x10) AM_WRITE(homerun_d7756_sample_w)
AM_RANGE(0x20, 0x20) AM_WRITE(homerun_control_w)
diff --git a/src/mame/drivers/homez80.cpp b/src/mame/drivers/homez80.cpp
index 4130d6498f7..5b10782efd9 100644
--- a/src/mame/drivers/homez80.cpp
+++ b/src/mame/drivers/homez80.cpp
@@ -40,6 +40,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void homez80(machine_config &config);
+ void homez80_io(address_map &map);
+ void homez80_mem(address_map &map);
private:
bool m_irq;
virtual void machine_reset() override;
@@ -56,7 +58,7 @@ READ8_MEMBER( homez80_state::homez80_keyboard_r )
return ioport(kbdrow)->read();
}
-static ADDRESS_MAP_START(homez80_mem, AS_PROGRAM, 8, homez80_state)
+ADDRESS_MAP_START(homez80_state::homez80_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x0fff ) AM_ROM // Monitor
AM_RANGE( 0x2000, 0x23ff ) AM_RAM AM_SHARE("videoram") // Video RAM
@@ -64,7 +66,7 @@ static ADDRESS_MAP_START(homez80_mem, AS_PROGRAM, 8, homez80_state)
AM_RANGE( 0x8000, 0xffff ) AM_RAM // 32 K RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( homez80_io, AS_IO, 8, homez80_state)
+ADDRESS_MAP_START(homez80_state::homez80_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_END
diff --git a/src/mame/drivers/horizon.cpp b/src/mame/drivers/horizon.cpp
index e10030314dc..caef58d53cb 100644
--- a/src/mame/drivers/horizon.cpp
+++ b/src/mame/drivers/horizon.cpp
@@ -63,6 +63,8 @@ public:
void horizon(machine_config &config);
void horizon2mhz(machine_config &config);
+ void horizon_io(address_map &map);
+ void horizon_mem(address_map &map);
private:
virtual void machine_reset() override;
required_device<cpu_device> m_maincpu;
@@ -80,7 +82,7 @@ private:
// ADDRESS_MAP( horizon_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( horizon_mem, AS_PROGRAM, 8, horizon_state )
+ADDRESS_MAP_START(horizon_state::horizon_mem)
AM_RANGE(0x0000, 0xe7ff) AM_RAM
AM_RANGE(0xe800, 0xe9ff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0xea01, 0xea01)
@@ -98,7 +100,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( horizon_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( horizon_io, AS_IO, 8, horizon_state )
+ADDRESS_MAP_START(horizon_state::horizon_io)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/hornet.cpp b/src/mame/drivers/hornet.cpp
index 22ca6c8593a..1fcec11eba1 100644
--- a/src/mame/drivers/hornet.cpp
+++ b/src/mame/drivers/hornet.cpp
@@ -442,6 +442,11 @@ public:
void hornet_2board(machine_config &config);
void hornet_2board_v2(machine_config &config);
void hornet(machine_config &config);
+ void gn680_memmap(address_map &map);
+ void hornet_map(address_map &map);
+ void sharc0_map(address_map &map);
+ void sharc1_map(address_map &map);
+ void sound_memmap(address_map &map);
};
@@ -740,7 +745,7 @@ WRITE16_MEMBER(hornet_state::soundtimer_count_w)
/*****************************************************************************/
-static ADDRESS_MAP_START( hornet_map, AS_PROGRAM, 32, hornet_state )
+ADDRESS_MAP_START(hornet_state::hornet_map)
AM_RANGE(0x00000000, 0x003fffff) AM_RAM AM_SHARE("workram") /* Work RAM */
AM_RANGE(0x74000000, 0x740000ff) AM_READWRITE(hornet_k037122_reg_r, hornet_k037122_reg_w)
AM_RANGE(0x74020000, 0x7403ffff) AM_READWRITE(hornet_k037122_sram_r, hornet_k037122_sram_w)
@@ -765,7 +770,7 @@ ADDRESS_MAP_END
/*****************************************************************************/
-static ADDRESS_MAP_START( sound_memmap, AS_PROGRAM, 16, hornet_state )
+ADDRESS_MAP_START(hornet_state::sound_memmap)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM /* Work RAM */
AM_RANGE(0x200000, 0x200fff) AM_DEVREADWRITE("rfsnd", rf5c400_device, rf5c400_r, rf5c400_w) /* Ricoh RF5C400 */
@@ -806,7 +811,7 @@ WRITE16_MEMBER(hornet_state::gn680_latch_w)
// WORD at 30000e: IRQ 4 tests bits 6 and 7, IRQ5 tests bits 4 and 5
// (vsync and hsync status for each of the two screens?)
-static ADDRESS_MAP_START( gn680_memmap, AS_PROGRAM, 16, hornet_state )
+ADDRESS_MAP_START(hornet_state::gn680_memmap)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x200000, 0x203fff) AM_RAM
AM_RANGE(0x300000, 0x300001) AM_WRITE(gn680_sysctrl)
@@ -837,7 +842,7 @@ WRITE32_MEMBER(hornet_state::dsp_dataram1_w)
m_sharc_dataram1[offset] = data;
}
-static ADDRESS_MAP_START( sharc0_map, AS_DATA, 32, hornet_state )
+ADDRESS_MAP_START(hornet_state::sharc0_map)
AM_RANGE(0x0400000, 0x041ffff) AM_DEVREADWRITE("konppc", konppc_device, cgboard_0_shared_sharc_r, cgboard_0_shared_sharc_w)
AM_RANGE(0x0500000, 0x05fffff) AM_READWRITE(dsp_dataram0_r, dsp_dataram0_w) AM_SHARE("sharc_dataram0")
AM_RANGE(0x1400000, 0x14fffff) AM_RAM
@@ -847,7 +852,7 @@ static ADDRESS_MAP_START( sharc0_map, AS_DATA, 32, hornet_state )
AM_RANGE(0x3600000, 0x37fffff) AM_ROMBANK("bank5")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sharc1_map, AS_DATA, 32, hornet_state )
+ADDRESS_MAP_START(hornet_state::sharc1_map)
AM_RANGE(0x0400000, 0x041ffff) AM_DEVREADWRITE("konppc", konppc_device, cgboard_1_shared_sharc_r, cgboard_1_shared_sharc_w)
AM_RANGE(0x0500000, 0x05fffff) AM_READWRITE(dsp_dataram1_r, dsp_dataram1_w) AM_SHARE("sharc_dataram1")
AM_RANGE(0x1400000, 0x14fffff) AM_RAM
diff --git a/src/mame/drivers/hotblock.cpp b/src/mame/drivers/hotblock.cpp
index a0492d23028..0358e90b5b4 100644
--- a/src/mame/drivers/hotblock.cpp
+++ b/src/mame/drivers/hotblock.cpp
@@ -78,6 +78,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void hotblock(machine_config &config);
+ void hotblock_io(address_map &map);
+ void hotblock_map(address_map &map);
};
@@ -128,13 +130,13 @@ WRITE8_MEMBER(hotblock_state::video_write)
}
}
-static ADDRESS_MAP_START( hotblock_map, AS_PROGRAM, 8, hotblock_state )
+ADDRESS_MAP_START(hotblock_state::hotblock_map)
AM_RANGE(0x00000, 0x0ffff) AM_RAM
AM_RANGE(0x10000, 0x1ffff) AM_READWRITE(video_read, video_write) AM_SHARE("vram")
AM_RANGE(0x20000, 0xfffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hotblock_io, AS_IO, 8, hotblock_state )
+ADDRESS_MAP_START(hotblock_state::hotblock_io)
AM_RANGE(0x0000, 0x0000) AM_WRITE(port0_w)
AM_RANGE(0x0004, 0x0004) AM_READWRITE(port4_r, port4_w)
AM_RANGE(0x8000, 0x8001) AM_DEVWRITE("aysnd", ym2149_device, address_data_w)
diff --git a/src/mame/drivers/hotstuff.cpp b/src/mame/drivers/hotstuff.cpp
index 870f3c4770b..5e79a0781c6 100644
--- a/src/mame/drivers/hotstuff.cpp
+++ b/src/mame/drivers/hotstuff.cpp
@@ -15,13 +15,16 @@ public:
hotstuff_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_bitmapram(*this, "bitmapram"),
- m_maincpu(*this, "maincpu") { }
+ m_maincpu(*this, "maincpu"),
+ m_rtc(*this, "rtc") { }
required_shared_ptr<uint16_t> m_bitmapram;
virtual void video_start() override;
uint32_t screen_update_hotstuff(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
+ required_device<mc146818_device> m_rtc;
void hotstuff(machine_config &config);
+ void hotstuff_map(address_map &map);
};
@@ -72,7 +75,7 @@ uint32_t hotstuff_state::screen_update_hotstuff(screen_device &screen, bitmap_rg
return 0;
}
-static ADDRESS_MAP_START( hotstuff_map, AS_PROGRAM, 16, hotstuff_state )
+ADDRESS_MAP_START(hotstuff_state::hotstuff_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x0fffff) AM_NOP //ROM AM_REGION("data", 0)
@@ -80,7 +83,7 @@ static ADDRESS_MAP_START( hotstuff_map, AS_PROGRAM, 16, hotstuff_state )
AM_RANGE(0x600000, 0x600003) AM_DEVREADWRITE8("scc1", z80scc_device, ba_cd_inv_r, ba_cd_inv_w, 0xffff)
AM_RANGE(0x620000, 0x620003) AM_DEVREADWRITE8("scc2", z80scc_device, ba_cd_inv_r, ba_cd_inv_w, 0xffff)
- AM_RANGE(0x680000, 0x680001) AM_DEVREADWRITE8_MOD("rtc", mc146818_device, read, write, xor<1>, 0xffff)
+ ;map(0x680000, 0x680001).lrw8("rtc_rw", [this](address_space &space, offs_t offset, u8 mem_mask){ return m_rtc->read(space, offset^1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_rtc->write(space, offset^1, data, mem_mask); });
AM_RANGE(0x980000, 0x9bffff) AM_RAM AM_SHARE("bitmapram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/hp16500.cpp b/src/mame/drivers/hp16500.cpp
index debb08162f5..d154259eca2 100644
--- a/src/mame/drivers/hp16500.cpp
+++ b/src/mame/drivers/hp16500.cpp
@@ -103,6 +103,10 @@ public:
void hp16500a(machine_config &config);
void hp1651(machine_config &config);
void hp1650(machine_config &config);
+ void hp16500_map(address_map &map);
+ void hp16500a_map(address_map &map);
+ void hp1650_map(address_map &map);
+ void hp1651_map(address_map &map);
private:
uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
};
@@ -217,7 +221,7 @@ WRITE_LINE_MEMBER(hp16500_state::irq_2)
m_maincpu->set_input_line_and_vector(M68K_IRQ_2, state, M68K_INT_ACK_AUTOVECTOR);
}
-static ADDRESS_MAP_START(hp1650_map, AS_PROGRAM, 16, hp16500_state)
+ADDRESS_MAP_START(hp16500_state::hp1650_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM AM_REGION("bios", 0)
AM_RANGE(0x201000, 0x201001) AM_WRITE(maskval_w)
@@ -244,7 +248,7 @@ static ADDRESS_MAP_START(hp1650_map, AS_PROGRAM, 16, hp16500_state)
ADDRESS_MAP_END
// like 1650 but moves main RAM to match 16500a
-static ADDRESS_MAP_START(hp1651_map, AS_PROGRAM, 16, hp16500_state)
+ADDRESS_MAP_START(hp16500_state::hp1651_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM AM_REGION("bios", 0)
AM_RANGE(0x201000, 0x201001) AM_WRITE(maskval_w)
@@ -270,7 +274,7 @@ static ADDRESS_MAP_START(hp1651_map, AS_PROGRAM, 16, hp16500_state)
AM_RANGE(0x980000, 0xa7ffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(hp16500a_map, AS_PROGRAM, 16, hp16500_state)
+ADDRESS_MAP_START(hp16500_state::hp16500a_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM AM_REGION("bios", 0)
AM_RANGE(0x201000, 0x201001) AM_WRITE(maskval_w)
@@ -296,7 +300,7 @@ uint32_t hp16500_state::screen_update_hp16500a(screen_device &screen, bitmap_rgb
return 0;
}
-static ADDRESS_MAP_START(hp16500_map, AS_PROGRAM, 32, hp16500_state)
+ADDRESS_MAP_START(hp16500_state::hp16500_map)
AM_RANGE(0x00000000, 0x0001ffff) AM_ROM AM_REGION("bios", 0)
AM_RANGE(0x0020f000, 0x0020f003) AM_WRITE(palette_w)
diff --git a/src/mame/drivers/hp2620.cpp b/src/mame/drivers/hp2620.cpp
index 4e3d919ddf0..e5763e38a0a 100644
--- a/src/mame/drivers/hp2620.cpp
+++ b/src/mame/drivers/hp2620.cpp
@@ -33,6 +33,8 @@ public:
u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void hp2622(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_region_ptr<u8> m_p_chargen;
@@ -73,12 +75,12 @@ WRITE8_MEMBER(hp2620_state::modem_w)
{
}
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, hp2620_state )
+ADDRESS_MAP_START(hp2620_state::mem_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0xc000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_PROGRAM, 8, hp2620_state )
+ADDRESS_MAP_START(hp2620_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x7f) AM_READWRITE(nvram_r, nvram_w) AM_SHARE("nvram")
AM_RANGE(0x80, 0x80) AM_READ(keystat_r)
diff --git a/src/mame/drivers/hp2640.cpp b/src/mame/drivers/hp2640.cpp
index 134874c9fa9..e06d12ef870 100644
--- a/src/mame/drivers/hp2640.cpp
+++ b/src/mame/drivers/hp2640.cpp
@@ -154,6 +154,8 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(timer_beep_exp);
void hp2645(machine_config &config);
+ void cpu_io_map(address_map &map);
+ void cpu_mem_map(address_map &map);
protected:
required_device<i8080a_cpu_device> m_cpu;
required_device<timer_device> m_timer_10ms;
@@ -951,7 +953,7 @@ static INPUT_PORTS_START(hp2645)
PORT_CONFSETTING(0x80, DEF_STR(Off))
INPUT_PORTS_END
-static ADDRESS_MAP_START(cpu_mem_map , AS_PROGRAM , 8 , hp2645_state)
+ADDRESS_MAP_START(hp2645_state::cpu_mem_map)
ADDRESS_MAP_UNMAP_LOW
AM_RANGE(0x0000 , 0x57ff) AM_ROM
AM_RANGE(0x8100 , 0x8100) AM_READ(async_data_r)
@@ -971,7 +973,7 @@ static ADDRESS_MAP_START(cpu_mem_map , AS_PROGRAM , 8 , hp2645_state)
AM_RANGE(0xc000 , 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(cpu_io_map , AS_IO , 8 , hp2645_state)
+ADDRESS_MAP_START(hp2645_state::cpu_io_map)
ADDRESS_MAP_UNMAP_LOW
AM_RANGE(0x00 , 0xff) AM_WRITE(mode_byte_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/hp48.cpp b/src/mame/drivers/hp48.cpp
index 3613bb31872..a1fad9b012c 100644
--- a/src/mame/drivers/hp48.cpp
+++ b/src/mame/drivers/hp48.cpp
@@ -1246,7 +1246,7 @@ ROM_END
run-time.
*/
-static ADDRESS_MAP_START ( hp48, AS_PROGRAM, 8, hp48_state )
+ADDRESS_MAP_START(hp48_state::hp48)
AM_RANGE( 0x00000, 0xfffff ) AM_NOP /* configured at run-time */
diff --git a/src/mame/drivers/hp49gp.cpp b/src/mame/drivers/hp49gp.cpp
index 9ef0fd4f8e3..9e1bf1aaa8e 100644
--- a/src/mame/drivers/hp49gp.cpp
+++ b/src/mame/drivers/hp49gp.cpp
@@ -48,6 +48,7 @@ public:
int lcd_spi_line_r( int line);
required_device<cpu_device> m_maincpu;
void hp49gp(machine_config &config);
+ void hp49gp_map(address_map &map);
};
/***************************************************************************
@@ -258,7 +259,7 @@ void hp49gp_state::machine_reset()
ADDRESS MAPS
***************************************************************************/
-static ADDRESS_MAP_START( hp49gp_map, AS_PROGRAM, 32, hp49gp_state )
+ADDRESS_MAP_START(hp49gp_state::hp49gp_map)
AM_RANGE(0x00000000, 0x001fffff) AM_ROM
AM_RANGE(0x08000000, 0x0801ffff) AM_RAM
AM_RANGE(0x08020000, 0x0803ffff) AM_RAM
diff --git a/src/mame/drivers/hp64k.cpp b/src/mame/drivers/hp64k.cpp
index 1cab01a64a3..886a2f05d39 100644
--- a/src/mame/drivers/hp64k.cpp
+++ b/src/mame/drivers/hp64k.cpp
@@ -233,6 +233,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(hp64k_baud_clk_w);
void hp64k(machine_config &config);
+ void cpu_io_map(address_map &map);
+ void cpu_mem_map(address_map &map);
private:
required_device<hp_5061_3011_cpu_device> m_cpu;
required_device<i8275_device> m_crtc;
@@ -314,14 +316,14 @@ private:
bool m_rts_state;
};
-static ADDRESS_MAP_START(cpu_mem_map , AS_PROGRAM , 16 , hp64k_state)
+ADDRESS_MAP_START(hp64k_state::cpu_mem_map)
AM_RANGE(0x0000 , 0x3fff) AM_ROM
AM_RANGE(0x4000 , 0x7fff) AM_READWRITE(hp64k_slot_r , hp64k_slot_w)
AM_RANGE(0x8000 , 0x8001) AM_WRITE(hp64k_crtc_w)
AM_RANGE(0x8002 , 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(cpu_io_map , AS_IO , 16 , hp64k_state)
+ADDRESS_MAP_START(hp64k_state::cpu_io_map)
// PA = 0, IC = [0..3]
// Keyboard input
AM_RANGE(HP_MAKE_IOADDR(0 , 0) , HP_MAKE_IOADDR(0 , 3)) AM_READ(hp64k_kb_r)
diff --git a/src/mame/drivers/hp700.cpp b/src/mame/drivers/hp700.cpp
index 1b93c53f8af..53a6bdb3e17 100644
--- a/src/mame/drivers/hp700.cpp
+++ b/src/mame/drivers/hp700.cpp
@@ -17,23 +17,27 @@ public:
hp700_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
+ , m_duart(*this, "duart")
{ }
void hp700_92(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
+ required_device<scn2681_device> m_duart;
};
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, hp700_state )
+ADDRESS_MAP_START(hp700_state::mem_map)
AM_RANGE(0x00000, 0x1ffff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x20000, 0x2ffff) AM_RAM
AM_RANGE(0x30000, 0x31fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x34000, 0x34000) AM_READNOP
- AM_RANGE(0x38000, 0x38fff) AM_DEVREADWRITE_MOD("duart", scn2681_device, read, write, rshift<8>)
+ ;map(0x38000, 0x38fff).lrw8("duart_rw", [this](address_space &space, offs_t offset, u8 mem_mask){ return m_duart->read(space, offset >> 8, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_duart->write(space, offset >> 8, data, mem_mask); });
AM_RANGE(0xffff0, 0xfffff) AM_ROM AM_REGION("maincpu", 0x1fff0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, hp700_state )
+ADDRESS_MAP_START(hp700_state::io_map)
AM_RANGE(0x00f2, 0x00f2) AM_WRITENOP
ADDRESS_MAP_END
diff --git a/src/mame/drivers/hp80.cpp b/src/mame/drivers/hp80.cpp
index ab35920f317..3ac7042b314 100644
--- a/src/mame/drivers/hp80.cpp
+++ b/src/mame/drivers/hp80.cpp
@@ -166,6 +166,8 @@ public:
DECLARE_WRITE8_MEMBER(halt_w);
void hp85(machine_config &config);
+ void cpu_mem_map(address_map &map);
+ void rombank_mem_map(address_map &map);
protected:
required_device<capricorn_cpu_device> m_cpu;
required_device<screen_device> m_screen;
@@ -1297,7 +1299,7 @@ static INPUT_PORTS_START(hp85)
INPUT_PORTS_END
-static ADDRESS_MAP_START(cpu_mem_map , AS_PROGRAM , 8 , hp85_state)
+ADDRESS_MAP_START(hp85_state::cpu_mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000 , 0x5fff) AM_ROM
AM_RANGE(0x6000 , 0x7fff) AM_DEVICE("rombank" , address_map_bank_device , amap8)
@@ -1318,7 +1320,7 @@ static ADDRESS_MAP_START(cpu_mem_map , AS_PROGRAM , 8 , hp85_state)
AM_RANGE(0xff40 , 0xff40) AM_READWRITE(intrsc_r , intrsc_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(rombank_mem_map , AS_PROGRAM , 8 , hp85_state)
+ADDRESS_MAP_START(hp85_state::rombank_mem_map)
ADDRESS_MAP_UNMAP_HIGH
// ROM in bank 0 is always present (it's part of system ROMs)
AM_RANGE(0x0000 , 0x1fff) AM_ROM
diff --git a/src/mame/drivers/hp9845.cpp b/src/mame/drivers/hp9845.cpp
index 1f152f1610c..ff8923dad02 100644
--- a/src/mame/drivers/hp9845.cpp
+++ b/src/mame/drivers/hp9845.cpp
@@ -3716,7 +3716,7 @@ MACHINE_CONFIG_END
- all LPU RAM is dynamically mapped at machine start according to -ramsize option
*/
-static ADDRESS_MAP_START(global_mem_map , AS_PROGRAM , 16 , hp9845_base_state)
+ADDRESS_MAP_START(hp9845_base_state::global_mem_map)
ADDRESS_MAP_GLOBAL_MASK(0x3f7fff)
ADDRESS_MAP_UNMAP_LOW
AM_RANGE(0x014000 , 0x017fff) AM_RAM AM_SHARE("ppu_ram")
@@ -3724,7 +3724,7 @@ static ADDRESS_MAP_START(global_mem_map , AS_PROGRAM , 16 , hp9845_base_state)
AM_RANGE(0x050000 , 0x057fff) AM_ROM AM_REGION("ppu" , 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(ppu_io_map , AS_IO , 16 , hp9845_base_state)
+ADDRESS_MAP_START(hp9845_base_state::ppu_io_map)
ADDRESS_MAP_UNMAP_LOW
// PA = 0, IC = 0..1
// Internal printer
diff --git a/src/mame/drivers/hp9k.cpp b/src/mame/drivers/hp9k.cpp
index 85ec6ec33d0..287dde41979 100644
--- a/src/mame/drivers/hp9k.cpp
+++ b/src/mame/drivers/hp9k.cpp
@@ -167,6 +167,7 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
void hp9k(machine_config &config);
+ void hp9k_mem(address_map &map);
};
//
@@ -305,7 +306,7 @@ WRITE16_MEMBER(hp9k_state::buserror_w)
m_maincpu->set_input_line(M68K_LINE_BUSERROR, CLEAR_LINE);
}
-static ADDRESS_MAP_START(hp9k_mem, AS_PROGRAM, 16, hp9k_state)
+ADDRESS_MAP_START(hp9k_state::hp9k_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x000909) AM_ROM AM_REGION("bootrom",0)
AM_RANGE(0x00090a, 0x00090d) AM_READWRITE(leds_r,leds_w)
diff --git a/src/mame/drivers/hp9k_3xx.cpp b/src/mame/drivers/hp9k_3xx.cpp
index 48b372651dd..ab751759538 100644
--- a/src/mame/drivers/hp9k_3xx.cpp
+++ b/src/mame/drivers/hp9k_3xx.cpp
@@ -142,6 +142,15 @@ public:
void hp9k380(machine_config &config);
void hp9k320(machine_config &config);
void hp9k332(machine_config &config);
+ void hp9k310_map(address_map &map);
+ void hp9k320_map(address_map &map);
+ void hp9k330_map(address_map &map);
+ void hp9k332_map(address_map &map);
+ void hp9k370_map(address_map &map);
+ void hp9k380_map(address_map &map);
+ void hp9k382_map(address_map &map);
+ void hp9k3xx_common(address_map &map);
+ void iocpu_map(address_map &map);
private:
bool m_in_buserr;
bool m_hil_read;
@@ -174,7 +183,7 @@ uint32_t hp9k3xx_state::hp_medres_update(screen_device &screen, bitmap_rgb32 &bi
}
// shared mappings for all 9000/3xx systems
-static ADDRESS_MAP_START(hp9k3xx_common, AS_PROGRAM, 32, hp9k3xx_state)
+ADDRESS_MAP_START(hp9k3xx_state::hp9k3xx_common)
AM_RANGE(0x00000000, 0x0001ffff) AM_ROM AM_REGION("maincpu",0) AM_WRITE(led_w) // writes to 1fffc are the LED
AM_RANGE(0x00428000, 0x00428003) AM_DEVREADWRITE8(IOCPU_TAG, upi41_cpu_device, upi41_master_r, upi41_master_w, 0x00ff00ff)
@@ -190,7 +199,7 @@ static ADDRESS_MAP_START(hp9k3xx_common, AS_PROGRAM, 32, hp9k3xx_state)
ADDRESS_MAP_END
// 9000/310 - has onboard video that the graphics card used in other 3xxes conflicts with
-static ADDRESS_MAP_START(hp9k310_map, AS_PROGRAM, 16, hp9k3xx_state)
+ADDRESS_MAP_START(hp9k3xx_state::hp9k310_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM AM_REGION("maincpu",0) AM_WRITENOP // writes to 1fffc are the LED
AM_RANGE(0x00428000, 0x00428003) AM_DEVREADWRITE8(IOCPU_TAG, upi41_cpu_device, upi41_master_r, upi41_master_w, 0x00ff)
@@ -205,7 +214,7 @@ static ADDRESS_MAP_START(hp9k310_map, AS_PROGRAM, 16, hp9k3xx_state)
ADDRESS_MAP_END
// 9000/320
-static ADDRESS_MAP_START(hp9k320_map, AS_PROGRAM, 32, hp9k3xx_state)
+ADDRESS_MAP_START(hp9k3xx_state::hp9k320_map)
AM_IMPORT_FROM(hp9k3xx_common)
AM_RANGE(0xffe00000, 0xffefffff) AM_READWRITE(buserror_r, buserror_w)
@@ -213,7 +222,7 @@ static ADDRESS_MAP_START(hp9k320_map, AS_PROGRAM, 32, hp9k3xx_state)
ADDRESS_MAP_END
// 9000/330 and 9000/340
-static ADDRESS_MAP_START(hp9k330_map, AS_PROGRAM, 32, hp9k3xx_state)
+ADDRESS_MAP_START(hp9k3xx_state::hp9k330_map)
AM_IMPORT_FROM(hp9k3xx_common)
AM_RANGE(0xffb00000, 0xffbfffff) AM_READWRITE(buserror_r, buserror_w)
@@ -221,7 +230,7 @@ static ADDRESS_MAP_START(hp9k330_map, AS_PROGRAM, 32, hp9k3xx_state)
ADDRESS_MAP_END
// 9000/332, with built-in medium-res video
-static ADDRESS_MAP_START(hp9k332_map, AS_PROGRAM, 32, hp9k3xx_state)
+ADDRESS_MAP_START(hp9k3xx_state::hp9k332_map)
AM_IMPORT_FROM(hp9k3xx_common)
AM_RANGE(0x00200000, 0x002fffff) AM_RAM AM_SHARE("vram") // 98544 mono framebuffer
@@ -232,7 +241,7 @@ static ADDRESS_MAP_START(hp9k332_map, AS_PROGRAM, 32, hp9k3xx_state)
ADDRESS_MAP_END
// 9000/370 - 8 MB RAM standard
-static ADDRESS_MAP_START(hp9k370_map, AS_PROGRAM, 32, hp9k3xx_state)
+ADDRESS_MAP_START(hp9k3xx_state::hp9k370_map)
AM_IMPORT_FROM(hp9k3xx_common)
AM_RANGE(0xff700000, 0xff7fffff) AM_READWRITE(buserror_r, buserror_w)
@@ -240,7 +249,7 @@ static ADDRESS_MAP_START(hp9k370_map, AS_PROGRAM, 32, hp9k3xx_state)
ADDRESS_MAP_END
// 9000/380 - '040
-static ADDRESS_MAP_START(hp9k380_map, AS_PROGRAM, 32, hp9k3xx_state)
+ADDRESS_MAP_START(hp9k3xx_state::hp9k380_map)
AM_IMPORT_FROM(hp9k3xx_common)
AM_RANGE(0x0051a000, 0x0051afff) AM_READWRITE(buserror_r, buserror_w) // no "Alpha display"
@@ -250,7 +259,7 @@ static ADDRESS_MAP_START(hp9k380_map, AS_PROGRAM, 32, hp9k3xx_state)
ADDRESS_MAP_END
// 9000/382 - onboard VGA compatible video (where?)
-static ADDRESS_MAP_START(hp9k382_map, AS_PROGRAM, 32, hp9k3xx_state)
+ADDRESS_MAP_START(hp9k3xx_state::hp9k382_map)
AM_IMPORT_FROM(hp9k3xx_common)
AM_RANGE(0xffb00000, 0xffbfffff) AM_READWRITE(buserror_r, buserror_w)
@@ -259,7 +268,7 @@ static ADDRESS_MAP_START(hp9k382_map, AS_PROGRAM, 32, hp9k3xx_state)
AM_RANGE(0x0051a000, 0x0051afff) AM_READWRITE(buserror_r, buserror_w) // no "Alpha display"
ADDRESS_MAP_END
-static ADDRESS_MAP_START(iocpu_map, AS_PROGRAM, 8, hp9k3xx_state)
+ADDRESS_MAP_START(hp9k3xx_state::iocpu_map)
ADDRESS_MAP_END
uint32_t hp9k3xx_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
diff --git a/src/mame/drivers/hp_ipc.cpp b/src/mame/drivers/hp_ipc.cpp
index edbf1688da3..ced1bf29be4 100644
--- a/src/mame/drivers/hp_ipc.cpp
+++ b/src/mame/drivers/hp_ipc.cpp
@@ -416,6 +416,8 @@ public:
emu_timer *m_bus_error_timer;
void hp_ipc(machine_config &config);
+ void hp_ipc_mem_inner(address_map &map);
+ void hp_ipc_mem_outer(address_map &map);
private:
required_device<m68000_device> m_maincpu;
required_device<address_map_bank_device> m_bankdev;
@@ -462,11 +464,11 @@ void hp_ipc_state::set_bus_error(uint32_t address, bool write, uint16_t mem_mask
m_bus_error_timer->adjust(m_maincpu->cycles_to_attotime(16)); // let rmw cycles complete
}
-static ADDRESS_MAP_START(hp_ipc_mem_outer, AS_PROGRAM, 16, hp_ipc_state)
+ADDRESS_MAP_START(hp_ipc_state::hp_ipc_mem_outer)
AM_RANGE(0x000000, 0xFFFFFF) AM_READWRITE(mem_r, mem_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(hp_ipc_mem_inner, AS_PROGRAM, 16, hp_ipc_state)
+ADDRESS_MAP_START(hp_ipc_state::hp_ipc_mem_inner)
// bus error handler
AM_RANGE(0x0000000, 0x1FFFFFF) AM_READWRITE(trap_r, trap_w)
diff --git a/src/mame/drivers/hprot1.cpp b/src/mame/drivers/hprot1.cpp
index e09a0154d25..25914afcd33 100644
--- a/src/mame/drivers/hprot1.cpp
+++ b/src/mame/drivers/hprot1.cpp
@@ -80,6 +80,8 @@ public:
void hprotr8a(machine_config &config);
void hprot2r6(machine_config &config);
void hprot1(machine_config &config);
+ void i80c31_io(address_map &map);
+ void i80c31_prg(address_map &map);
private:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -89,7 +91,7 @@ private:
#define LOG_IO_PORTS 0
-static ADDRESS_MAP_START(i80c31_prg, AS_PROGRAM, 8, hprot1_state)
+ADDRESS_MAP_START(hprot1_state::i80c31_prg)
AM_RANGE(0x0000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -124,7 +126,7 @@ DRIVER_INIT_MEMBER( hprot1_state, hprot1 )
//P1.4 => WhatchDog Input (after timeout resets CPU)
-static ADDRESS_MAP_START(i80c31_io, AS_IO, 8, hprot1_state)
+ADDRESS_MAP_START(hprot1_state::i80c31_io)
AM_RANGE(0x0000,0x7fff) AM_RAM
/*TODO: verify the mirror mask value for the HD44780 device */
AM_RANGE(0xc000,0xc000) AM_MIRROR(0x13cf) AM_DEVWRITE("hd44780", hd44780_device, control_write)
diff --git a/src/mame/drivers/hpz80unk.cpp b/src/mame/drivers/hpz80unk.cpp
index ad2360e11f5..68135097b0f 100644
--- a/src/mame/drivers/hpz80unk.cpp
+++ b/src/mame/drivers/hpz80unk.cpp
@@ -71,6 +71,8 @@ public:
DECLARE_READ8_MEMBER(portfc_r);
void hpz80unk(machine_config &config);
+ void hpz80unk_io(address_map &map);
+ void hpz80unk_mem(address_map &map);
private:
uint8_t m_port02_data;
virtual void machine_reset() override;
@@ -138,13 +140,13 @@ READ8_MEMBER( hpz80unk_state::portfc_r )
return 0xfe; // or it halts
}
-static ADDRESS_MAP_START( hpz80unk_mem, AS_PROGRAM, 8, hpz80unk_state )
+ADDRESS_MAP_START(hpz80unk_state::hpz80unk_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xbfff) AM_RAM
AM_RANGE(0xc000, 0xffff) AM_ROM AM_SHARE("rom")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hpz80unk_io, AS_IO, 8, hpz80unk_state )
+ADDRESS_MAP_START(hpz80unk_state::hpz80unk_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(port00_r) // uart1 status
diff --git a/src/mame/drivers/ht68k.cpp b/src/mame/drivers/ht68k.cpp
index 0653189cc37..46dc104d839 100644
--- a/src/mame/drivers/ht68k.cpp
+++ b/src/mame/drivers/ht68k.cpp
@@ -66,10 +66,11 @@ public:
required_shared_ptr<uint16_t> m_p_ram;
virtual void machine_reset() override;
void ht68k(machine_config &config);
+ void ht68k_mem(address_map &map);
};
-static ADDRESS_MAP_START(ht68k_mem, AS_PROGRAM, 16, ht68k_state)
+ADDRESS_MAP_START(ht68k_state::ht68k_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000000, 0x0007ffff) AM_RAM AM_SHARE("p_ram") // 512 KB RAM / ROM at boot
//AM_RANGE(0x00080000, 0x000fffff) // Expansion
diff --git a/src/mame/drivers/huebler.cpp b/src/mame/drivers/huebler.cpp
index 7fdd66216e1..5fa485282a2 100644
--- a/src/mame/drivers/huebler.cpp
+++ b/src/mame/drivers/huebler.cpp
@@ -83,7 +83,7 @@ READ8_MEMBER( amu880_state::keyboard_r )
/* Memory Maps */
-static ADDRESS_MAP_START( amu880_mem, AS_PROGRAM, 8, amu880_state )
+ADDRESS_MAP_START(amu880_state::amu880_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xe7ff) AM_RAM
AM_RANGE(0xe800, 0xefff) AM_RAM AM_SHARE("video_ram")
@@ -91,7 +91,7 @@ static ADDRESS_MAP_START( amu880_mem, AS_PROGRAM, 8, amu880_state )
AM_RANGE(0xfc00, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( amu880_io, AS_IO, 8, amu880_state )
+ADDRESS_MAP_START(amu880_state::amu880_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
// AM_RANGE(0x00, 0x00) AM_MIRROR(0x03) AM_WRITE(power_off_w)
diff --git a/src/mame/drivers/hunter2.cpp b/src/mame/drivers/hunter2.cpp
index 780781d494f..dee69f599c7 100644
--- a/src/mame/drivers/hunter2.cpp
+++ b/src/mame/drivers/hunter2.cpp
@@ -70,6 +70,9 @@ public:
DECLARE_WRITE_LINE_MEMBER(rxd_w);
void hunter2(machine_config &config);
+ void hunter2_banked_mem(address_map &map);
+ void hunter2_io(address_map &map);
+ void hunter2_mem(address_map &map);
private:
uint8_t m_keydata;
uint8_t m_irq_mask;
@@ -85,13 +88,13 @@ private:
required_device<address_map_bank_device> m_bank3;
};
-static ADDRESS_MAP_START(hunter2_banked_mem, AS_PROGRAM, 8, hunter2_state)
+ADDRESS_MAP_START(hunter2_state::hunter2_banked_mem)
AM_RANGE(0x00000, 0x2ffff) AM_ROM AM_REGION("roms", 0x0000)
AM_RANGE(0x30000, 0x3ffff) AM_NOP
AM_RANGE(0x40000, 0xfffff) AM_RAM AM_REGION("rams", 0x0000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(hunter2_mem, AS_PROGRAM, 8, hunter2_state)
+ADDRESS_MAP_START(hunter2_state::hunter2_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_DEVREADWRITE("bank1", address_map_bank_device, read8, write8)
AM_RANGE(0x4000, 0x7fff) AM_DEVREADWRITE("bank2", address_map_bank_device, read8, write8)
@@ -99,7 +102,7 @@ static ADDRESS_MAP_START(hunter2_mem, AS_PROGRAM, 8, hunter2_state)
AM_RANGE(0xc000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(hunter2_io, AS_IO, 8, hunter2_state)
+ADDRESS_MAP_START(hunter2_state::hunter2_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x1f) AM_DEVREADWRITE("iotimer", nsc810_device, read, write)
diff --git a/src/mame/drivers/hvyunit.cpp b/src/mame/drivers/hvyunit.cpp
index d7e7b5f9b34..fa563dbe35c 100644
--- a/src/mame/drivers/hvyunit.cpp
+++ b/src/mame/drivers/hvyunit.cpp
@@ -150,6 +150,13 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(scanline);
void hvyunit(machine_config &config);
+ void master_io(address_map &map);
+ void master_memory(address_map &map);
+ void mcu_io(address_map &map);
+ void slave_io(address_map &map);
+ void slave_memory(address_map &map);
+ void sound_io(address_map &map);
+ void sound_memory(address_map &map);
};
@@ -381,7 +388,7 @@ WRITE8_MEMBER(hvyunit_state::mermaid_p3_w)
*
*************************************/
-static ADDRESS_MAP_START( master_memory, AS_PROGRAM, 8, hvyunit_state )
+ADDRESS_MAP_START(hvyunit_state::master_memory)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("master_bank")
AM_RANGE(0xc000, 0xcfff) AM_DEVREADWRITE("pandora", kaneko_pandora_device, spriteram_r, spriteram_w)
@@ -389,7 +396,7 @@ static ADDRESS_MAP_START( master_memory, AS_PROGRAM, 8, hvyunit_state )
AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("share1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( master_io, AS_IO, 8, hvyunit_state )
+ADDRESS_MAP_START(hvyunit_state::master_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(master_bankswitch_w)
AM_RANGE(0x01, 0x01) AM_WRITE(master_bankswitch_w) // correct?
@@ -397,7 +404,7 @@ static ADDRESS_MAP_START( master_io, AS_IO, 8, hvyunit_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_memory, AS_PROGRAM, 8, hvyunit_state )
+ADDRESS_MAP_START(hvyunit_state::slave_memory)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("slave_bank")
AM_RANGE(0xc000, 0xc3ff) AM_RAM_WRITE(hu_videoram_w) AM_SHARE("videoram")
@@ -408,7 +415,7 @@ static ADDRESS_MAP_START( slave_memory, AS_PROGRAM, 8, hvyunit_state )
AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("share1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_io, AS_IO, 8, hvyunit_state )
+ADDRESS_MAP_START(hvyunit_state::slave_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(slave_bankswitch_w)
AM_RANGE(0x02, 0x02) AM_WRITE(trigger_nmi_on_sound_cpu2)
@@ -424,13 +431,13 @@ static ADDRESS_MAP_START( slave_io, AS_IO, 8, hvyunit_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_memory, AS_PROGRAM, 8, hvyunit_state )
+ADDRESS_MAP_START(hvyunit_state::sound_memory)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("sound_bank")
AM_RANGE(0xc000, 0xc7ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_io, AS_IO, 8, hvyunit_state )
+ADDRESS_MAP_START(hvyunit_state::sound_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(sound_bankswitch_w)
AM_RANGE(0x02, 0x03) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
@@ -438,7 +445,7 @@ static ADDRESS_MAP_START( sound_io, AS_IO, 8, hvyunit_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mcu_io, AS_IO, 8, hvyunit_state )
+ADDRESS_MAP_START(hvyunit_state::mcu_io)
AM_RANGE(MCS51_PORT_P0, MCS51_PORT_P0) AM_READWRITE(mermaid_p0_r, mermaid_p0_w)
AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_READWRITE(mermaid_p1_r, mermaid_p1_w)
AM_RANGE(MCS51_PORT_P2, MCS51_PORT_P2) AM_READWRITE(mermaid_p2_r, mermaid_p2_w)
diff --git a/src/mame/drivers/hx20.cpp b/src/mame/drivers/hx20.cpp
index a265595760e..9f8b5df0e54 100644
--- a/src/mame/drivers/hx20.cpp
+++ b/src/mame/drivers/hx20.cpp
@@ -548,7 +548,7 @@ WRITE8_MEMBER( hx20_state::slave_p4_w )
// ADDRESS_MAP( hx20_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( hx20_mem, AS_PROGRAM, 8, hx20_state )
+ADDRESS_MAP_START(hx20_state::hx20_mem)
AM_RANGE(0x0000, 0x001f) AM_DEVREADWRITE(HD6301V1_MAIN_TAG, hd63701_cpu_device, m6801_io_r, m6801_io_w)
AM_RANGE(0x0020, 0x0020) AM_WRITE(ksc_w)
AM_RANGE(0x0022, 0x0022) AM_READ(krtn07_r)
@@ -568,7 +568,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( hx20_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( hx20_io, AS_IO, 8, hx20_state )
+ADDRESS_MAP_START(hx20_state::hx20_io)
AM_RANGE(M6801_PORT1, M6801_PORT1) AM_READWRITE(main_p1_r, main_p1_w)
AM_RANGE(M6801_PORT2, M6801_PORT2) AM_READWRITE(main_p2_r, main_p2_w)
AM_RANGE(M6801_PORT3, M6801_PORT3) AM_NOP // A0-A7, D0-D7
@@ -580,7 +580,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( hx20_sub_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( hx20_sub_mem, AS_PROGRAM, 8, hx20_state )
+ADDRESS_MAP_START(hx20_state::hx20_sub_mem)
AM_RANGE(0x0000, 0x001f) AM_DEVREADWRITE(HD6301V1_SLAVE_TAG, hd63701_cpu_device, m6801_io_r, m6801_io_w)
AM_RANGE(0x0080, 0x00ff) AM_RAM
AM_RANGE(0xf000, 0xffff) AM_ROM AM_REGION(HD6301V1_SLAVE_TAG, 0)
@@ -591,7 +591,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( hx20_sub_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( hx20_sub_io, AS_IO, 8, hx20_state )
+ADDRESS_MAP_START(hx20_state::hx20_sub_io)
AM_RANGE(M6801_PORT1, M6801_PORT1) AM_READWRITE(slave_p1_r, slave_p1_w)
AM_RANGE(M6801_PORT2, M6801_PORT2) AM_READWRITE(slave_p2_r, slave_p2_w)
AM_RANGE(M6801_PORT3, M6801_PORT3) AM_READWRITE(slave_p3_r, slave_p3_w)
@@ -603,7 +603,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( cm6000_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( cm6000_mem, AS_PROGRAM, 8, hx20_state )
+ADDRESS_MAP_START(hx20_state::cm6000_mem)
AM_IMPORT_FROM(hx20_mem)
AM_RANGE(0x4000, 0xffff) AM_ROM AM_REGION(HD6301V1_MAIN_TAG, 0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/hyhoo.cpp b/src/mame/drivers/hyhoo.cpp
index a4cdc292bae..784bbaf5048 100644
--- a/src/mame/drivers/hyhoo.cpp
+++ b/src/mame/drivers/hyhoo.cpp
@@ -34,12 +34,12 @@ Memo:
#include "speaker.h"
-static ADDRESS_MAP_START( hyhoo_map, AS_PROGRAM, 8, hyhoo_state )
+ADDRESS_MAP_START(hyhoo_state::hyhoo_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hyhoo_io_map, AS_IO, 8, hyhoo_state )
+ADDRESS_MAP_START(hyhoo_state::hyhoo_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
// AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
diff --git a/src/mame/drivers/hyperscan.cpp b/src/mame/drivers/hyperscan.cpp
index 9cf92df11fc..813110c12b2 100644
--- a/src/mame/drivers/hyperscan.cpp
+++ b/src/mame/drivers/hyperscan.cpp
@@ -89,6 +89,7 @@ public:
void spg290_blit_character(bitmap_rgb32 &bitmap, const rectangle &cliprect, uint32_t control, uint32_t attribute, int posy, int posx, uint32_t nptr, uint32_t buf_start, uint32_t transrgb);
void hyperscan(machine_config &config);
+ void spg290_mem(address_map &map);
private:
static const device_timer_id TIMER_SPG290 = 0;
static const device_timer_id TIMER_I2C = 1;
@@ -584,7 +585,7 @@ void hyperscan_state::device_timer(emu_timer &timer, device_timer_id id, int par
}
}
-static ADDRESS_MAP_START(spg290_mem, AS_PROGRAM, 32, hyperscan_state)
+ADDRESS_MAP_START(hyperscan_state::spg290_mem)
ADDRESS_MAP_GLOBAL_MASK(0x1fffffff)
AM_RANGE(0x00000000, 0x00ffffff) AM_RAM AM_MIRROR(0x07000000)
AM_RANGE(0x08000000, 0x09ffffff) AM_READWRITE(spg290_regs_r, spg290_regs_w)
diff --git a/src/mame/drivers/hyperspt.cpp b/src/mame/drivers/hyperspt.cpp
index bf96fb2a2cd..9676b2446ae 100644
--- a/src/mame/drivers/hyperspt.cpp
+++ b/src/mame/drivers/hyperspt.cpp
@@ -52,7 +52,7 @@ WRITE_LINE_MEMBER(hyperspt_state::irq_mask_w)
m_maincpu->set_input_line(0, CLEAR_LINE);
}
-static ADDRESS_MAP_START( common_map, AS_PROGRAM, 8, hyperspt_state )
+ADDRESS_MAP_START(hyperspt_state::common_map)
AM_RANGE(0x1000, 0x10bf) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x10c0, 0x10ff) AM_RAM AM_SHARE("scroll") /* Scroll amount */
AM_RANGE(0x1400, 0x1400) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
@@ -68,19 +68,19 @@ static ADDRESS_MAP_START( common_map, AS_PROGRAM, 8, hyperspt_state )
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hyperspt_map, AS_PROGRAM, 8, hyperspt_state )
+ADDRESS_MAP_START(hyperspt_state::hyperspt_map)
AM_IMPORT_FROM(common_map)
AM_RANGE(0x1681, 0x1681) AM_READ_PORT("P1_P2")
AM_RANGE(0x1682, 0x1682) AM_READ_PORT("P3_P4")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( roadf_map, AS_PROGRAM, 8, hyperspt_state )
+ADDRESS_MAP_START(hyperspt_state::roadf_map)
AM_IMPORT_FROM(common_map)
AM_RANGE(0x1681, 0x1681) AM_READ_PORT("P1")
AM_RANGE(0x1682, 0x1682) AM_READ_PORT("P2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( common_sound_map, AS_PROGRAM, 8, hyperspt_state )
+ADDRESS_MAP_START(hyperspt_state::common_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x4fff) AM_RAM
AM_RANGE(0x6000, 0x6000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -90,19 +90,19 @@ static ADDRESS_MAP_START( common_sound_map, AS_PROGRAM, 8, hyperspt_state )
AM_RANGE(0xe002, 0xe002) AM_WRITE(konami_SN76496_w) /* This address triggers the SN chip to read the data port. */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hyperspt_sound_map, AS_PROGRAM, 8, hyperspt_state )
+ADDRESS_MAP_START(hyperspt_state::hyperspt_sound_map)
AM_IMPORT_FROM(common_sound_map)
AM_RANGE(0xa000, 0xa000) AM_DEVWRITE("vlm", vlm5030_device, data_w) /* speech data */
AM_RANGE(0xc000, 0xdfff) AM_DEVWRITE("trackfld_audio", trackfld_audio_device, hyperspt_sound_w) /* speech and output control */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( roadf_sound_map, AS_PROGRAM, 8, hyperspt_state )
+ADDRESS_MAP_START(hyperspt_state::roadf_sound_map)
AM_IMPORT_FROM(common_sound_map)
AM_RANGE(0xa000, 0xa000) AM_NOP // No VLM
AM_RANGE(0xc000, 0xdfff) AM_NOP // No VLM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( soundb_map, AS_PROGRAM, 8, hyperspt_state )
+ADDRESS_MAP_START(hyperspt_state::soundb_map)
AM_IMPORT_FROM(common_sound_map)
AM_RANGE(0xa000, 0xa000) AM_NOP // No VLM
AM_RANGE(0xc000, 0xdfff) AM_DEVWRITE("hyprolyb_adpcm", hyprolyb_adpcm_device, write) /* speech and output control */
@@ -343,7 +343,7 @@ MACHINE_CONFIG_START(hyperspt_state::hyperspt)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
MACHINE_CONFIG_END
-static ADDRESS_MAP_START( hyprolyb_adpcm_map, AS_PROGRAM, 8, hyprolyb_adpcm_device )
+ADDRESS_MAP_START(hyperspt_state::hyprolyb_adpcm_map)
AM_RANGE(0x0000, 0x007f) AM_RAM
AM_RANGE(0x1000, 0x1000) AM_DEVREAD("hyprolyb_adpcm", hyprolyb_adpcm_device, data_r)
AM_RANGE(0x1001, 0x1001) AM_DEVREAD("hyprolyb_adpcm", hyprolyb_adpcm_device, ready_r)
diff --git a/src/mame/drivers/hyprduel.cpp b/src/mame/drivers/hyprduel.cpp
index 5d83e94899b..d28c9e238f2 100644
--- a/src/mame/drivers/hyprduel.cpp
+++ b/src/mame/drivers/hyprduel.cpp
@@ -413,7 +413,7 @@ WRITE16_MEMBER(hyprduel_state::blitter_w)
Memory Maps
***************************************************************************/
-static ADDRESS_MAP_START( hyprduel_map, AS_PROGRAM, 16, hyprduel_state )
+ADDRESS_MAP_START(hyprduel_state::hyprduel_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x400000, 0x41ffff) AM_RAM_WRITE(vram_0_w) AM_SHARE("vram_0") /* Layer 0 */
AM_RANGE(0x420000, 0x43ffff) AM_RAM_WRITE(vram_1_w) AM_SHARE("vram_1") /* Layer 1 */
@@ -446,7 +446,7 @@ static ADDRESS_MAP_START( hyprduel_map, AS_PROGRAM, 16, hyprduel_state )
AM_RANGE(0xfe4000, 0xffffff) AM_RAM AM_SHARE("sharedram3")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hyprduel_map2, AS_PROGRAM, 16, hyprduel_state )
+ADDRESS_MAP_START(hyprduel_state::hyprduel_map2)
AM_RANGE(0x000000, 0x003fff) AM_RAM AM_SHARE("sharedram1") /* shadow ($c00000 - $c03fff : vector) */
AM_RANGE(0x004000, 0x007fff) AM_READONLY AM_WRITENOP AM_SHARE("sharedram3") /* shadow ($fe4000 - $fe7fff : read only) */
AM_RANGE(0x400000, 0x400003) AM_DEVREADWRITE8("ymsnd", ym2151_device, read, write, 0x00ff )
@@ -460,7 +460,7 @@ ADDRESS_MAP_END
/* Magical Error - video is at 8x now */
-static ADDRESS_MAP_START( magerror_map, AS_PROGRAM, 16, hyprduel_state )
+ADDRESS_MAP_START(hyprduel_state::magerror_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x400000, 0x400001) AM_WRITE(subcpu_control_w)
AM_RANGE(0x800000, 0x81ffff) AM_RAM_WRITE(vram_0_w) AM_SHARE("vram_0") /* Layer 0 */
@@ -493,7 +493,7 @@ static ADDRESS_MAP_START( magerror_map, AS_PROGRAM, 16, hyprduel_state )
AM_RANGE(0xfe4000, 0xffffff) AM_RAM AM_SHARE("sharedram3")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( magerror_map2, AS_PROGRAM, 16, hyprduel_state )
+ADDRESS_MAP_START(hyprduel_state::magerror_map2)
AM_RANGE(0x000000, 0x003fff) AM_RAM AM_SHARE("sharedram1") /* shadow ($c00000 - $c03fff : vector) */
AM_RANGE(0x004000, 0x007fff) AM_READONLY AM_WRITENOP AM_SHARE("sharedram3") /* shadow ($fe4000 - $fe7fff : read only) */
AM_RANGE(0x400000, 0x400003) AM_NOP
diff --git a/src/mame/drivers/i7000.cpp b/src/mame/drivers/i7000.cpp
index bbda3d26818..aec1ec0e216 100644
--- a/src/mame/drivers/i7000.cpp
+++ b/src/mame/drivers/i7000.cpp
@@ -87,6 +87,8 @@ public:
DECLARE_READ8_MEMBER(i7000_kbd_r);
DECLARE_WRITE8_MEMBER(i7000_scanlines_w);
void i7000(machine_config &config);
+ void i7000_io(address_map &map);
+ void i7000_mem(address_map &map);
};
WRITE8_MEMBER( i7000_state::i7000_scanlines_w )
@@ -243,14 +245,14 @@ PALETTE_INIT_MEMBER(i7000_state, i7000)
/*FIXME: we still need to figure out the proper memory map
for the maincpu and where the cartridge slot maps to. */
-static ADDRESS_MAP_START(i7000_mem, AS_PROGRAM, 8, i7000_state)
+ADDRESS_MAP_START(i7000_state::i7000_mem)
AM_RANGE(0x0000, 0x0fff) AM_ROM AM_REGION("boot", 0)
AM_RANGE(0x2000, 0x2fff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x4000, 0xffff) AM_RAM
// AM_RANGE(0x4000, 0xbfff) AM_ROM AM_REGION("cardslot", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( i7000_io , AS_IO, 8, i7000_state)
+ADDRESS_MAP_START(i7000_state::i7000_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK (0xff)
// AM_RANGE(0x06, 0x06) AM_WRITE(i7000_io_?_w)
diff --git a/src/mame/drivers/ibm3153.cpp b/src/mame/drivers/ibm3153.cpp
index 8e20fe76512..3fd3d37f2d7 100644
--- a/src/mame/drivers/ibm3153.cpp
+++ b/src/mame/drivers/ibm3153.cpp
@@ -55,6 +55,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void ibm3153(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
virtual void machine_reset() override;
required_device<cpu_device> m_maincpu;
@@ -62,12 +64,12 @@ private:
};
-static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 8, ibm3153_state)
+ADDRESS_MAP_START(ibm3153_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000,0x0ffff) AM_ROM AM_REGION("user1", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(io_map, AS_IO, 8, ibm3153_state)
+ADDRESS_MAP_START(ibm3153_state::io_map)
AM_RANGE(0x0000,0xffff) AM_RAM
//ADDRESS_MAP_UNMAP_HIGH
//ADDRESS_MAP_GLOBAL_MASK(0xff)
diff --git a/src/mame/drivers/ibm6580.cpp b/src/mame/drivers/ibm6580.cpp
index d2d14bd6541..d01df077d85 100644
--- a/src/mame/drivers/ibm6580.cpp
+++ b/src/mame/drivers/ibm6580.cpp
@@ -183,6 +183,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void ibm6580(machine_config &config);
+ void ibm6580_io(address_map &map);
+ void ibm6580_mem(address_map &map);
private:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -678,14 +680,14 @@ READ8_MEMBER(ibm6580_state::floppy_r)
}
-static ADDRESS_MAP_START(ibm6580_mem, AS_PROGRAM, 16, ibm6580_state)
+ADDRESS_MAP_START(ibm6580_state::ibm6580_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x90000, 0x90001) AM_WRITE(unk_latch_w)
AM_RANGE(0xef000, 0xeffff) AM_RAM AM_SHARE("videoram") // 66-line vram starts at 0xec000
AM_RANGE(0xfc000, 0xfffff) AM_ROM AM_REGION("user1", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(ibm6580_io, AS_IO, 16, ibm6580_state)
+ADDRESS_MAP_START(ibm6580_state::ibm6580_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0007) AM_DEVREADWRITE8("pic8259", pic8259_device, read, write, 0x00ff)
AM_RANGE(0x0008, 0x000f) AM_WRITE (pic_latch_w)
diff --git a/src/mame/drivers/ibmpc.cpp b/src/mame/drivers/ibmpc.cpp
index 378f98ba682..32aa288f76e 100644
--- a/src/mame/drivers/ibmpc.cpp
+++ b/src/mame/drivers/ibmpc.cpp
@@ -273,14 +273,16 @@ public:
void ibm5160(machine_config &config);
void ibm5150(machine_config &config);
void ibm5140(machine_config &config);
+ void pc8_io(address_map &map);
+ void pc8_map(address_map &map);
};
-static ADDRESS_MAP_START( pc8_map, AS_PROGRAM, 8, ibmpc_state )
+ADDRESS_MAP_START(ibmpc_state::pc8_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xf0000, 0xfffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(pc8_io, AS_IO, 8, ibmpc_state )
+ADDRESS_MAP_START(ibmpc_state::pc8_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x00ff) AM_DEVICE("mb", ibm5160_mb_device, map)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ibmpcjr.cpp b/src/mame/drivers/ibmpcjr.cpp
index 949a62c7d90..10e74ecd390 100644
--- a/src/mame/drivers/ibmpcjr.cpp
+++ b/src/mame/drivers/ibmpcjr.cpp
@@ -108,6 +108,10 @@ public:
DECLARE_DRIVER_INIT(pcjr);
void ibmpcjx(machine_config &config);
void ibmpcjr(machine_config &config);
+ void ibmpcjr_io(address_map &map);
+ void ibmpcjr_map(address_map &map);
+ void ibmpcjx_io(address_map &map);
+ void ibmpcjx_map(address_map &map);
};
static INPUT_PORTS_START( ibmpcjr )
@@ -538,7 +542,7 @@ static GFXDECODE_START( pcjr )
GFXDECODE_END
-static ADDRESS_MAP_START(ibmpcjr_map, AS_PROGRAM, 8, pcjr_state)
+ADDRESS_MAP_START(pcjr_state::ibmpcjr_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xb8000, 0xbffff) AM_DEVICE("pcvideo_pcjr:vram", address_map_bank_device, amap8)
AM_RANGE(0xd0000, 0xdffff) AM_DEVREAD("cartslot2", generic_slot_device, read_rom)
@@ -547,7 +551,7 @@ static ADDRESS_MAP_START(ibmpcjr_map, AS_PROGRAM, 8, pcjr_state)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(ibmpcjr_io, AS_IO, 8, pcjr_state)
+ADDRESS_MAP_START(pcjr_state::ibmpcjr_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0020, 0x0021) AM_DEVREADWRITE("pic8259", pic8259_device, read, write)
AM_RANGE(0x0040, 0x0043) AM_DEVREADWRITE("pit8253", pit8253_device, read, write)
@@ -562,7 +566,7 @@ static ADDRESS_MAP_START(ibmpcjr_io, AS_IO, 8, pcjr_state)
AM_RANGE(0x03d0, 0x03df) AM_DEVREAD("pcvideo_pcjr", pcvideo_pcjr_device, read) AM_DEVWRITE("pcvideo_pcjr", pcvideo_pcjr_device, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(ibmpcjx_map, AS_PROGRAM, 8, pcjr_state )
+ADDRESS_MAP_START(pcjr_state::ibmpcjx_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x80000, 0xb7fff) AM_ROM AM_REGION("kanji",0)
AM_RANGE(0x80000, 0x9ffff) AM_RAM AM_SHARE("vram") // TODO: remove this part of vram hack
@@ -571,7 +575,7 @@ static ADDRESS_MAP_START(ibmpcjx_map, AS_PROGRAM, 8, pcjr_state )
AM_RANGE(0xe0000, 0xfffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(ibmpcjx_io, AS_IO, 8, pcjr_state)
+ADDRESS_MAP_START(pcjr_state::ibmpcjx_io)
ADDRESS_MAP_UNMAP_HIGH
AM_IMPORT_FROM( ibmpcjr_io )
AM_RANGE(0x01ff, 0x01ff) AM_READWRITE(pcjx_port_1ff_r, pcjx_port_1ff_w)
diff --git a/src/mame/drivers/icatel.cpp b/src/mame/drivers/icatel.cpp
index e1fad969fca..ca947c43f72 100644
--- a/src/mame/drivers/icatel.cpp
+++ b/src/mame/drivers/icatel.cpp
@@ -63,6 +63,9 @@ public:
HD44780_PIXEL_UPDATE(icatel_pixel_update);
void icatel(machine_config &config);
+ void i80c31_data(address_map &map);
+ void i80c31_io(address_map &map);
+ void i80c31_prg(address_map &map);
private:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -70,11 +73,11 @@ private:
required_device<hd44780_device> m_lcdc;
};
-static ADDRESS_MAP_START(i80c31_prg, AS_PROGRAM, 8, icatel_state)
+ADDRESS_MAP_START(icatel_state::i80c31_prg)
AM_RANGE(0x0000, 0x7FFF) AM_MIRROR(0x8000) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(i80c31_io, AS_IO, 8, icatel_state)
+ADDRESS_MAP_START(icatel_state::i80c31_io)
AM_RANGE(0x0000,0x3FFF) AM_RAM
AM_RANGE(0x8000,0x8002) AM_RAM /* HACK! */
AM_RANGE(0x8040,0x8040) AM_MIRROR(0x3F1E) AM_DEVWRITE("hd44780", hd44780_device, control_write) // not sure yet. CI12 (73LS273)
@@ -87,7 +90,7 @@ static ADDRESS_MAP_START(i80c31_io, AS_IO, 8, icatel_state)
AM_RANGE(MCS51_PORT_P0, MCS51_PORT_P3) AM_READWRITE(ioport_r, ioport_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(i80c31_data, AS_DATA, 8, icatel_state)
+ADDRESS_MAP_START(icatel_state::i80c31_data)
// AM_RANGE(0x0056,0x005A) AM_READ(magic_string) /* This is a hack! */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ice_bozopail.cpp b/src/mame/drivers/ice_bozopail.cpp
index d6905aaf852..eace78d87cf 100644
--- a/src/mame/drivers/ice_bozopail.cpp
+++ b/src/mame/drivers/ice_bozopail.cpp
@@ -34,9 +34,10 @@ public:
required_device<cpu_device> m_maincpu;
void ice_bozo(machine_config &config);
+ void ice_bozo_map(address_map &map);
};
-static ADDRESS_MAP_START( ice_bozo_map, AS_PROGRAM, 8, ice_bozopail_state )
+ADDRESS_MAP_START(ice_bozopail_state::ice_bozo_map)
AM_RANGE(0xe000, 0xffff) AM_ROM AM_REGION("maincpu", 0x1fe000)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ice_tbd.cpp b/src/mame/drivers/ice_tbd.cpp
index 177f1a6c8a1..57d85284d88 100644
--- a/src/mame/drivers/ice_tbd.cpp
+++ b/src/mame/drivers/ice_tbd.cpp
@@ -30,6 +30,8 @@ public:
{ }
void ice_tbd(machine_config &config);
+ void ice_tbd_io_map(address_map &map);
+ void ice_tbd_map(address_map &map);
private:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -38,12 +40,12 @@ private:
-static ADDRESS_MAP_START( ice_tbd_map, AS_PROGRAM, 8, ice_tbd_state )
+ADDRESS_MAP_START(ice_tbd_state::ice_tbd_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ice_tbd_io_map, AS_IO, 8, ice_tbd_state )
+ADDRESS_MAP_START(ice_tbd_state::ice_tbd_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ppi", i8255_device, read, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/icecold.cpp b/src/mame/drivers/icecold.cpp
index 37fd76cdb93..45473aef6e2 100644
--- a/src/mame/drivers/icecold.cpp
+++ b/src/mame/drivers/icecold.cpp
@@ -64,9 +64,10 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(icecold_sint_timer);
TIMER_DEVICE_CALLBACK_MEMBER(icecold_motors_timer);
void icecold(machine_config &config);
+ void icecold_map(address_map &map);
};
-static ADDRESS_MAP_START( icecold_map, AS_PROGRAM, 8, icecold_state )
+ADDRESS_MAP_START(icecold_state::icecold_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x4010, 0x4013) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
AM_RANGE(0x4020, 0x4023) AM_DEVREADWRITE("pia1", pia6821_device, read, write)
diff --git a/src/mame/drivers/ichiban.cpp b/src/mame/drivers/ichiban.cpp
index c50889e61fa..0eb440b1af4 100644
--- a/src/mame/drivers/ichiban.cpp
+++ b/src/mame/drivers/ichiban.cpp
@@ -64,6 +64,8 @@ public:
virtual void video_start() override;
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void ichibanjyan(machine_config &config);
+ void ichibanjyan_io(address_map &map);
+ void ichibanjyan_map(address_map &map);
};
void ichibanjyan_state::video_start()
@@ -76,11 +78,11 @@ uint32_t ichibanjyan_state::screen_update( screen_device &screen, bitmap_ind16 &
}
-static ADDRESS_MAP_START( ichibanjyan_map, AS_PROGRAM, 8, ichibanjyan_state )
+ADDRESS_MAP_START(ichibanjyan_state::ichibanjyan_map)
AM_RANGE(0x0000, 0x7fff) AM_ROMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ichibanjyan_io, AS_IO, 8, ichibanjyan_state )
+ADDRESS_MAP_START(ichibanjyan_state::ichibanjyan_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/idsa.cpp b/src/mame/drivers/idsa.cpp
index f51e679f8f2..c6eb7183609 100644
--- a/src/mame/drivers/idsa.cpp
+++ b/src/mame/drivers/idsa.cpp
@@ -65,6 +65,8 @@ public:
void bsktbllp(machine_config &config);
void idsa(machine_config &config);
+ void maincpu_io_map(address_map &map);
+ void maincpu_map(address_map &map);
private:
virtual void machine_reset() override;
@@ -75,13 +77,13 @@ private:
optional_device_array<i8255_device, 2> m_ppi;
};
-static ADDRESS_MAP_START( maincpu_map, AS_PROGRAM, 8, idsa_state )
+ADDRESS_MAP_START(idsa_state::maincpu_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( maincpu_io_map, AS_IO, 8, idsa_state )
+ADDRESS_MAP_START(idsa_state::maincpu_io_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x0f) AM_READ_PORT("X0")
diff --git a/src/mame/drivers/if800.cpp b/src/mame/drivers/if800.cpp
index 9d1d6307ff9..f7df89de093 100644
--- a/src/mame/drivers/if800.cpp
+++ b/src/mame/drivers/if800.cpp
@@ -33,6 +33,9 @@ public:
required_device<palette_device> m_palette;
UPD7220_DISPLAY_PIXELS_MEMBER( hgdc_display_pixels );
void if800(machine_config &config);
+ void if800_io(address_map &map);
+ void if800_map(address_map &map);
+ void upd7220_map(address_map &map);
};
UPD7220_DISPLAY_PIXELS_MEMBER( if800_state::hgdc_display_pixels )
@@ -52,13 +55,13 @@ UPD7220_DISPLAY_PIXELS_MEMBER( if800_state::hgdc_display_pixels )
}
}
-static ADDRESS_MAP_START(if800_map, AS_PROGRAM, 16, if800_state)
+ADDRESS_MAP_START(if800_state::if800_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000,0x0ffff) AM_RAM
AM_RANGE(0xfe000,0xfffff) AM_ROM AM_REGION("ipl", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(if800_io, AS_IO, 16, if800_state)
+ADDRESS_MAP_START(if800_state::if800_io)
ADDRESS_MAP_UNMAP_HIGH
// AM_RANGE(0x0640, 0x065f) dma?
AM_RANGE(0x0660, 0x0663) AM_DEVREADWRITE8("upd7220", upd7220_device, read, write,0x00ff)
@@ -77,7 +80,7 @@ void if800_state::machine_reset()
{
}
-static ADDRESS_MAP_START( upd7220_map, 0, 16, if800_state )
+ADDRESS_MAP_START(if800_state::upd7220_map)
AM_RANGE(0x00000, 0x3ffff) AM_RAM AM_SHARE("video_ram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/igs009.cpp b/src/mame/drivers/igs009.cpp
index d7fed8de731..cc5bb8d2b16 100644
--- a/src/mame/drivers/igs009.cpp
+++ b/src/mame/drivers/igs009.cpp
@@ -120,6 +120,9 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void gp98(machine_config &config);
void jingbell(machine_config &config);
+ void gp98_portmap(address_map &map);
+ void jingbell_map(address_map &map);
+ void jingbell_portmap(address_map &map);
};
@@ -472,12 +475,12 @@ READ8_MEMBER(igs009_state::magic_r)
}
-static ADDRESS_MAP_START( jingbell_map, AS_PROGRAM, 8, igs009_state )
+ADDRESS_MAP_START(igs009_state::jingbell_map)
AM_RANGE( 0x00000, 0x0f3ff ) AM_ROM
AM_RANGE( 0x0f400, 0x0ffff ) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jingbell_portmap, AS_IO, 8, igs009_state )
+ADDRESS_MAP_START(igs009_state::jingbell_portmap)
AM_RANGE( 0x0000, 0x003f ) AM_RAM // Z180 internal regs
AM_RANGE( 0x1000, 0x11ff ) AM_RAM_WRITE(bg_scroll_w ) AM_SHARE("bg_scroll")
@@ -511,7 +514,7 @@ static ADDRESS_MAP_START( jingbell_portmap, AS_IO, 8, igs009_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gp98_portmap, AS_IO, 8, igs009_state )
+ADDRESS_MAP_START(igs009_state::gp98_portmap)
AM_RANGE( 0x0000, 0x003f ) AM_RAM // Z180 internal regs
AM_RANGE( 0x1000, 0x11ff ) AM_RAM_WRITE(bg_scroll_w ) AM_SHARE("bg_scroll")
diff --git a/src/mame/drivers/igs011.cpp b/src/mame/drivers/igs011.cpp
index 3ba75ffac14..7e5f5fa1f29 100644
--- a/src/mame/drivers/igs011.cpp
+++ b/src/mame/drivers/igs011.cpp
@@ -263,6 +263,15 @@ public:
void lhb2(machine_config &config);
void lhb(machine_config &config);
void drgnwrld_igs012(machine_config &config);
+ void drgnwrld(address_map &map);
+ void drgnwrld_igs012(address_map &map);
+ void lhb(address_map &map);
+ void lhb2(address_map &map);
+ void nkishusp(address_map &map);
+ void vbowl(address_map &map);
+ void vbowlhk(address_map &map);
+ void wlcc(address_map &map);
+ void xymg(address_map &map);
};
@@ -2554,7 +2563,7 @@ DRIVER_INIT_MEMBER(igs011_state,nkishusp)
***************************************************************************/
-static ADDRESS_MAP_START( drgnwrld, AS_PROGRAM, 16, igs011_state )
+ADDRESS_MAP_START(igs011_state::drgnwrld)
// drgnwrld: IGS011 protection dynamically mapped at 1dd7x
// AM_RANGE( 0x01dd70, 0x01dd77 ) AM_WRITE(igs011_prot1_w )
// AM_RANGE( 0x01dd78, 0x01dd79 ) AM_READ ( igs011_prot1_r )
@@ -2588,7 +2597,7 @@ static ADDRESS_MAP_START( drgnwrld, AS_PROGRAM, 16, igs011_state )
AM_RANGE( 0xa88000, 0xa88001 ) AM_READ(igs_3_dips_r )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( drgnwrld_igs012, AS_PROGRAM, 16, igs011_state )
+ADDRESS_MAP_START(igs011_state::drgnwrld_igs012)
AM_IMPORT_FROM(drgnwrld)
// IGS012
@@ -2631,7 +2640,7 @@ WRITE16_MEMBER(igs011_state::lhb_okibank_w)
// popmessage("oki %04x",data);
}
-static ADDRESS_MAP_START( lhb, AS_PROGRAM, 16, igs011_state )
+ADDRESS_MAP_START(igs011_state::lhb)
AM_RANGE( 0x000000, 0x07ffff ) AM_ROM
// lhb: IGS011 protection dynamically mapped at 834x
@@ -2672,7 +2681,7 @@ static ADDRESS_MAP_START( lhb, AS_PROGRAM, 16, igs011_state )
AM_RANGE( 0x888000, 0x888001 ) AM_READ(igs_5_dips_r )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( xymg, AS_PROGRAM, 16, igs011_state )
+ADDRESS_MAP_START(igs011_state::xymg)
AM_RANGE( 0x000000, 0x07ffff ) AM_ROM
// xymg: IGS011 protection dynamically mapped at 834x
@@ -2712,7 +2721,7 @@ static ADDRESS_MAP_START( xymg, AS_PROGRAM, 16, igs011_state )
AM_RANGE( 0x888000, 0x888001 ) AM_READ(igs_3_dips_r )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( wlcc, AS_PROGRAM, 16, igs011_state )
+ADDRESS_MAP_START(igs011_state::wlcc)
// wlcc: IGS011 protection dynamically mapped at 834x
// AM_RANGE( 0x008340, 0x008347 ) AM_WRITE(igs011_prot1_w )
// AM_RANGE( 0x008348, 0x008349 ) AM_READ(igs011_prot1_r )
@@ -2751,7 +2760,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( lhb2, AS_PROGRAM, 16, igs011_state )
+ADDRESS_MAP_START(igs011_state::lhb2)
AM_RANGE( 0x000000, 0x07ffff ) AM_ROM
// lhb2: IGS011 protection dynamically mapped at 1ff8x
@@ -2792,7 +2801,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( nkishusp, AS_PROGRAM, 16, igs011_state )
+ADDRESS_MAP_START(igs011_state::nkishusp)
AM_RANGE( 0x000000, 0x07ffff ) AM_ROM
// nkishusp: IGS011 protection dynamically mapped at 1ff8x
@@ -2896,7 +2905,7 @@ WRITE16_MEMBER(igs011_state::vbowl_link_1_w){ }
WRITE16_MEMBER(igs011_state::vbowl_link_2_w){ }
WRITE16_MEMBER(igs011_state::vbowl_link_3_w){ }
-static ADDRESS_MAP_START( vbowl, AS_PROGRAM, 16, igs011_state )
+ADDRESS_MAP_START(igs011_state::vbowl)
AM_RANGE( 0x000000, 0x07ffff ) AM_ROM
// vbowl: IGS011 protection dynamically mapped at 834x
@@ -2966,7 +2975,7 @@ static ADDRESS_MAP_START( vbowl, AS_PROGRAM, 16, igs011_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vbowlhk, AS_PROGRAM, 16, igs011_state )
+ADDRESS_MAP_START(igs011_state::vbowlhk)
AM_IMPORT_FROM(vbowl)
AM_RANGE( 0x800000, 0x800003 ) AM_WRITE(vbowlhk_igs003_w )
AM_RANGE( 0x50f600, 0x50f7ff ) AM_READ(vbowlhk_igs011_prot2_r ) // read
diff --git a/src/mame/drivers/igs017.cpp b/src/mame/drivers/igs017.cpp
index a99b9ea94df..a65d91302ad 100644
--- a/src/mame/drivers/igs017.cpp
+++ b/src/mame/drivers/igs017.cpp
@@ -207,6 +207,19 @@ public:
void starzan(machine_config &config);
void spkrform(machine_config &config);
void sdmg2(machine_config &config);
+ void decrypted_opcodes_map(address_map &map);
+ void iqblocka_io(address_map &map);
+ void iqblocka_map(address_map &map);
+ void lhzb2(address_map &map);
+ void lhzb2a(address_map &map);
+ void mgcs(address_map &map);
+ void mgdha_map(address_map &map);
+ void sdmg2(address_map &map);
+ void slqz2(address_map &map);
+ void spkrform_io(address_map &map);
+ void spkrform_map(address_map &map);
+ void tjsb_io(address_map &map);
+ void tjsb_map(address_map &map);
};
void igs017_state::machine_reset()
@@ -1129,14 +1142,14 @@ DRIVER_INIT_MEMBER(igs017_state,spkrform)
// iqblocka
-static ADDRESS_MAP_START( iqblocka_map, AS_PROGRAM, 8, igs017_state )
+ADDRESS_MAP_START(igs017_state::iqblocka_map)
AM_RANGE( 0x00000, 0x0dfff ) AM_ROM
AM_RANGE( 0x0e000, 0x0efff ) AM_RAM
AM_RANGE( 0x0f000, 0x0ffff ) AM_RAM
AM_RANGE( 0x10000, 0x3ffff ) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, igs017_state )
+ADDRESS_MAP_START(igs017_state::decrypted_opcodes_map)
AM_RANGE( 0x00000, 0x3ffff ) AM_ROM AM_SHARE("decrypted_opcodes")
ADDRESS_MAP_END
@@ -1185,7 +1198,7 @@ READ8_MEMBER(igs017_state::input_r)
}
}
-static ADDRESS_MAP_START( iqblocka_io, AS_IO, 8, igs017_state )
+ADDRESS_MAP_START(igs017_state::iqblocka_io)
AM_RANGE( 0x0000, 0x7fff ) AM_DEVREADWRITE("igs017_igs031", igs017_igs031_device, read,write)
AM_RANGE( 0x0000, 0x003f ) AM_RAM // internal regs
@@ -1458,7 +1471,7 @@ READ8_MEMBER(igs017_state::mgcs_keys_r)
-static ADDRESS_MAP_START( mgcs, AS_PROGRAM, 16, igs017_state )
+ADDRESS_MAP_START(igs017_state::mgcs)
AM_RANGE( 0x000000, 0x07ffff ) AM_ROM
AM_RANGE( 0x300000, 0x303fff ) AM_RAM
AM_RANGE( 0x49c000, 0x49c003 ) AM_WRITE(mgcs_magic_w ) AM_READ(mgcs_magic_r )
@@ -1540,7 +1553,7 @@ READ16_MEMBER(igs017_state::sdmg2_magic_r)
return 0xffff;
}
-static ADDRESS_MAP_START( sdmg2, AS_PROGRAM, 16, igs017_state )
+ADDRESS_MAP_START(igs017_state::sdmg2)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x1f0000, 0x1fffff) AM_RAM
@@ -1653,7 +1666,7 @@ READ16_MEMBER(igs017_state::mgdha_magic_r)
return 0xffff;
}
-static ADDRESS_MAP_START( mgdha_map, AS_PROGRAM, 16, igs017_state )
+ADDRESS_MAP_START(igs017_state::mgdha_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x600000, 0x603fff) AM_RAM
AM_RANGE(0x876000, 0x876003) AM_WRITE(mgdha_magic_w )
@@ -1718,7 +1731,7 @@ READ8_MEMBER(igs017_state::tjsb_input_r)
}
}
-static ADDRESS_MAP_START( tjsb_map, AS_PROGRAM, 8, igs017_state )
+ADDRESS_MAP_START(igs017_state::tjsb_map)
AM_RANGE( 0x00000, 0x0dfff ) AM_ROM
AM_RANGE( 0x0e000, 0x0e000 ) AM_WRITE(input_select_w )
AM_RANGE( 0x0e001, 0x0e001 ) AM_READWRITE(tjsb_input_r, tjsb_output_w )
@@ -1727,7 +1740,7 @@ static ADDRESS_MAP_START( tjsb_map, AS_PROGRAM, 8, igs017_state )
AM_RANGE( 0x10000, 0x3ffff ) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tjsb_io, AS_IO, 8, igs017_state )
+ADDRESS_MAP_START(igs017_state::tjsb_io)
AM_RANGE( 0x0000, 0x7fff ) AM_DEVREADWRITE("igs017_igs031", igs017_igs031_device, read,write)
AM_RANGE( 0x0000, 0x003f ) AM_RAM // internal regs
@@ -1741,7 +1754,7 @@ ADDRESS_MAP_END
// spkrform
-static ADDRESS_MAP_START( spkrform_map, AS_PROGRAM, 8, igs017_state )
+ADDRESS_MAP_START(igs017_state::spkrform_map)
AM_RANGE( 0x00000, 0x0dfff ) AM_ROM
AM_RANGE( 0x0e000, 0x0efff ) AM_RAM
AM_RANGE( 0x0e9bf, 0x0e9bf ) AM_NOP // hack: uncomment to switch to Formosa
@@ -1767,7 +1780,7 @@ READ8_MEMBER(igs017_state::spkrform_input_r)
}
}
-static ADDRESS_MAP_START( spkrform_io, AS_IO, 8, igs017_state )
+ADDRESS_MAP_START(igs017_state::spkrform_io)
AM_RANGE( 0x0000, 0x7fff ) AM_DEVREADWRITE("igs017_igs031", igs017_igs031_device, read,write)
AM_RANGE( 0x0000, 0x003f ) AM_RAM // internal regs
@@ -1845,7 +1858,7 @@ READ16_MEMBER(igs017_state::lhzb2_magic_r)
return 0xffff;
}
-static ADDRESS_MAP_START( lhzb2, AS_PROGRAM, 16, igs017_state )
+ADDRESS_MAP_START(igs017_state::lhzb2)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x500000, 0x503fff) AM_RAM
AM_RANGE(0x910000, 0x910003) AM_WRITE( lhzb2_magic_w )
@@ -2157,7 +2170,7 @@ WRITE16_MEMBER(igs017_state::lhzb2a_input_select_w)
}
}
-static ADDRESS_MAP_START( lhzb2a, AS_PROGRAM, 16, igs017_state )
+ADDRESS_MAP_START(igs017_state::lhzb2a)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
// prot2
@@ -2227,7 +2240,7 @@ READ16_MEMBER(igs017_state::slqz2_magic_r)
return 0xffff;
}
-static ADDRESS_MAP_START( slqz2, AS_PROGRAM, 16, igs017_state )
+ADDRESS_MAP_START(igs017_state::slqz2)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM
AM_RANGE(0x602000, 0x602003) AM_WRITE( slqz2_magic_w )
@@ -3300,7 +3313,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(igs017_state::starzan, iqblocka)
MCFG_DEVICE_MODIFY("maincpu")
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/igs_fear.cpp b/src/mame/drivers/igs_fear.cpp
index a1bfe1d44e3..0a3e7eb478a 100644
--- a/src/mame/drivers/igs_fear.cpp
+++ b/src/mame/drivers/igs_fear.cpp
@@ -31,6 +31,7 @@ public:
optional_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
void igs_fear(machine_config &config);
+ void igs_igs_fear_map(address_map &map);
};
@@ -44,7 +45,7 @@ uint32_t igs_fear_state::screen_update_igs_fear(screen_device &screen, bitmap_in
return 0;
}
-static ADDRESS_MAP_START( igs_igs_fear_map, AS_PROGRAM, 32, igs_fear_state )
+ADDRESS_MAP_START(igs_fear_state::igs_igs_fear_map)
AM_RANGE(0x00000000, 0x00003fff) AM_ROM /* Internal ROM */
AM_RANGE(0x08000000, 0x0807ffff) AM_ROM AM_REGION("user1", 0)/* Game ROM */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/igs_m027.cpp b/src/mame/drivers/igs_m027.cpp
index 2ded286427f..c0bb07bb617 100644
--- a/src/mame/drivers/igs_m027.cpp
+++ b/src/mame/drivers/igs_m027.cpp
@@ -67,6 +67,7 @@ public:
void pgm_create_dummy_internal_arm_region();
void igs_majhong(machine_config &config);
void amazonia(machine_config &config);
+ void igs_majhong_map(address_map &map);
};
@@ -142,7 +143,7 @@ uint32_t igs_m027_state::screen_update_igs_majhong(screen_device &screen, bitmap
***************************************************************************/
-static ADDRESS_MAP_START( igs_majhong_map, AS_PROGRAM, 32, igs_m027_state )
+ADDRESS_MAP_START(igs_m027_state::igs_majhong_map)
AM_RANGE(0x00000000, 0x00003fff) AM_ROM /* Internal ROM */
AM_RANGE(0x08000000, 0x0807ffff) AM_ROM AM_REGION("user1", 0)/* Game ROM */
AM_RANGE(0x10000000, 0x100003ff) AM_RAM AM_SHARE("igs_mainram")// main ram for asic?
diff --git a/src/mame/drivers/igs_m036.cpp b/src/mame/drivers/igs_m036.cpp
index bf2f61ca63e..39d664ff59b 100644
--- a/src/mame/drivers/igs_m036.cpp
+++ b/src/mame/drivers/igs_m036.cpp
@@ -84,6 +84,7 @@ public:
void igs_m036_tt(machine_config &config);
void igs_m036(machine_config &config);
+ void igs_m036_map(address_map &map);
};
@@ -94,7 +95,7 @@ uint32_t igs_m036_state::screen_update_igs_m036(screen_device &screen, bitmap_in
return 0;
}
-static ADDRESS_MAP_START( igs_m036_map, AS_PROGRAM, 32, igs_m036_state )
+ADDRESS_MAP_START(igs_m036_state::igs_m036_map)
AM_RANGE(0x00000000, 0x00003fff) AM_ROM /* Internal ROM */
AM_RANGE(0x08000000, 0x081fffff) AM_ROM AM_REGION("user1", 0) // not 100% sure it maps here.
diff --git a/src/mame/drivers/igspc.cpp b/src/mame/drivers/igspc.cpp
index d82072f3ed9..1ffe00bff59 100644
--- a/src/mame/drivers/igspc.cpp
+++ b/src/mame/drivers/igspc.cpp
@@ -55,6 +55,8 @@ public:
{ }
void speeddrv(machine_config &config);
+ void speeddrv_io(address_map &map);
+ void speeddrv_map(address_map &map);
protected:
// devices
@@ -63,11 +65,11 @@ public:
DECLARE_DRIVER_INIT(speeddrv);
};
-static ADDRESS_MAP_START( speeddrv_map, AS_PROGRAM, 32, speeddrv_state )
+ADDRESS_MAP_START(speeddrv_state::speeddrv_map)
AM_RANGE(0xfffc0000, 0xffffffff) AM_ROM AM_REGION("bios", 0 )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( speeddrv_io, AS_IO, 32, speeddrv_state )
+ADDRESS_MAP_START(speeddrv_state::speeddrv_io)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/igspoker.cpp b/src/mame/drivers/igspoker.cpp
index 3541a18efc3..71a2b90104b 100644
--- a/src/mame/drivers/igspoker.cpp
+++ b/src/mame/drivers/igspoker.cpp
@@ -145,6 +145,10 @@ public:
void pktetris(machine_config &config);
void cpokerpk(machine_config &config);
void number10(machine_config &config);
+ void cpokerpk_io_map(address_map &map);
+ void igspoker_io_map(address_map &map);
+ void igspoker_prg_map(address_map &map);
+ void number10_io_map(address_map &map);
};
@@ -379,12 +383,12 @@ READ8_MEMBER(igspoker_state::exp_rom_r)
return rom[offset+0x10000];
}
-static ADDRESS_MAP_START( igspoker_prg_map, AS_PROGRAM, 8, igspoker_state )
+ADDRESS_MAP_START(igspoker_state::igspoker_prg_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xffff) AM_RAM AM_REGION("maincpu", 0xf000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( igspoker_io_map, AS_IO, 8, igspoker_state )
+ADDRESS_MAP_START(igspoker_state::igspoker_io_map)
AM_RANGE(0x0000, 0xffff) AM_READ(exp_rom_r )
AM_RANGE(0x2000, 0x27ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x2800, 0x2fff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
@@ -1136,7 +1140,7 @@ static INPUT_PORTS_START( igs_ncs )
INPUT_PORTS_END
-static ADDRESS_MAP_START( number10_io_map, AS_IO, 8, igspoker_state )
+ADDRESS_MAP_START(igspoker_state::number10_io_map)
AM_RANGE(0x0000, 0xffff) AM_READ(exp_rom_r )
AM_RANGE(0x2000, 0x27ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x2800, 0x2fff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
@@ -1159,7 +1163,7 @@ static ADDRESS_MAP_START( number10_io_map, AS_IO, 8, igspoker_state )
AM_RANGE(0x7800, 0x7fff) AM_RAM_WRITE(fg_color_w ) AM_SHARE("fg_color_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpokerpk_io_map, AS_IO, 8, igspoker_state )
+ADDRESS_MAP_START(igspoker_state::cpokerpk_io_map)
AM_RANGE(0x0000, 0xffff) AM_READ(exp_rom_r )
AM_RANGE(0x2000, 0x27ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x2800, 0x2fff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
diff --git a/src/mame/drivers/ikki.cpp b/src/mame/drivers/ikki.cpp
index b33e69bb7f5..533ff5f891b 100644
--- a/src/mame/drivers/ikki.cpp
+++ b/src/mame/drivers/ikki.cpp
@@ -47,7 +47,7 @@ WRITE8_MEMBER(ikki_state::ikki_coin_counters)
*
*************************************/
-static ADDRESS_MAP_START( ikki_cpu1, AS_PROGRAM, 8, ikki_state )
+ADDRESS_MAP_START(ikki_state::ikki_cpu1)
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xcfff) AM_RAM AM_SHARE("share1")
@@ -63,7 +63,7 @@ static ADDRESS_MAP_START( ikki_cpu1, AS_PROGRAM, 8, ikki_state )
AM_RANGE(0xe00a, 0xe00b) AM_WRITEONLY AM_SHARE("scroll")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ikki_cpu2, AS_PROGRAM, 8, ikki_state )
+ADDRESS_MAP_START(ikki_state::ikki_cpu2)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xc800, 0xcfff) AM_RAM AM_SHARE("share1")
diff --git a/src/mame/drivers/imds.cpp b/src/mame/drivers/imds.cpp
index 4e6a6c10ab3..8aeee36492c 100644
--- a/src/mame/drivers/imds.cpp
+++ b/src/mame/drivers/imds.cpp
@@ -41,6 +41,8 @@ public:
uint8_t m_term_data;
virtual void machine_reset() override;
void imds(machine_config &config);
+ void imds_io(address_map &map);
+ void imds_mem(address_map &map);
};
READ8_MEMBER( imds_state::term_status_r )
@@ -55,13 +57,13 @@ READ8_MEMBER( imds_state::term_r )
return (m_term_data) ? 0x21 : 0x20;
}
-static ADDRESS_MAP_START(imds_mem, AS_PROGRAM, 8, imds_state)
+ADDRESS_MAP_START(imds_state::imds_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(imds_io, AS_IO, 8, imds_state)
+ADDRESS_MAP_START(imds_state::imds_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/imds2.cpp b/src/mame/drivers/imds2.cpp
index e3c9f48d2e3..28a04b9ba0f 100644
--- a/src/mame/drivers/imds2.cpp
+++ b/src/mame/drivers/imds2.cpp
@@ -110,11 +110,11 @@
// Frequency of beeper
#define IOC_BEEP_FREQ 3300
-static ADDRESS_MAP_START(ipc_mem_map , AS_PROGRAM , 8 , imds2_state)
+ADDRESS_MAP_START(imds2_state::ipc_mem_map)
AM_RANGE(0x0000 , 0xffff) AM_READWRITE(ipc_mem_read, ipc_mem_write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(ipc_io_map , AS_IO , 8 , imds2_state)
+ADDRESS_MAP_START(imds2_state::ipc_io_map)
ADDRESS_MAP_UNMAP_LOW
AM_RANGE(0xc0 , 0xc0) AM_READWRITE(imds2_ipc_dbbout_r , imds2_ipc_dbbin_data_w)
AM_RANGE(0xc1 , 0xc1) AM_READWRITE(imds2_ipc_status_r , imds2_ipc_dbbin_cmd_w)
@@ -129,13 +129,13 @@ static ADDRESS_MAP_START(ipc_io_map , AS_IO , 8 , imds2_state)
AM_RANGE(0xff , 0xff) AM_WRITE(imds2_ipc_control_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(ioc_mem_map , AS_PROGRAM , 8 , imds2_state)
+ADDRESS_MAP_START(imds2_state::ioc_mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000 , 0x1fff) AM_ROM
AM_RANGE(0x4000 , 0x5fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(ioc_io_map , AS_IO , 8 , imds2_state)
+ADDRESS_MAP_START(imds2_state::ioc_io_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00 , 0x0f) AM_WRITE(imds2_ioc_dbbout_w)
AM_RANGE(0x20 , 0x2f) AM_WRITE(imds2_ioc_f0_w)
diff --git a/src/mame/drivers/imolagp.cpp b/src/mame/drivers/imolagp.cpp
index 3d6f869946c..8150aab4c38 100644
--- a/src/mame/drivers/imolagp.cpp
+++ b/src/mame/drivers/imolagp.cpp
@@ -133,6 +133,10 @@ public:
DECLARE_PALETTE_INIT(imolagp);
uint32_t screen_update_imolagp(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void imolagp(machine_config &config);
+ void imolagp_master_io(address_map &map);
+ void imolagp_master_map(address_map &map);
+ void imolagp_slave_io(address_map &map);
+ void imolagp_slave_map(address_map &map);
};
@@ -325,7 +329,7 @@ READ8_MEMBER(imolagp_state::imola_draw_mode_r)
return 0;
}
-static ADDRESS_MAP_START( imolagp_master_map, AS_PROGRAM, 8, imolagp_state )
+ADDRESS_MAP_START(imolagp_state::imolagp_master_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
AM_RANGE(0x2800, 0x2803) AM_DEVREADWRITE("ppi8255", i8255_device, read, write)
@@ -341,20 +345,20 @@ static ADDRESS_MAP_START( imolagp_master_map, AS_PROGRAM, 8, imolagp_state )
AM_RANGE(0x6000, 0x6000) AM_READ_PORT("DSWB")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( imolagp_master_io, AS_IO, 8, imolagp_state )
+ADDRESS_MAP_START(imolagp_state::imolagp_master_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(trigger_slave_nmi_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( imolagp_slave_map, AS_PROGRAM, 8, imolagp_state )
+ADDRESS_MAP_START(imolagp_state::imolagp_slave_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM
AM_RANGE(0x9fff, 0xa000) AM_READ(receive_data_r)
AM_RANGE(0xc000, 0xffff) AM_WRITE(screenram_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( imolagp_slave_io, AS_IO, 8, imolagp_state )
+ADDRESS_MAP_START(imolagp_state::imolagp_slave_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00,0xff) AM_READ(imola_draw_mode_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/imsai.cpp b/src/mame/drivers/imsai.cpp
index 203f71135eb..2450f5930dd 100644
--- a/src/mame/drivers/imsai.cpp
+++ b/src/mame/drivers/imsai.cpp
@@ -40,6 +40,8 @@ public:
DECLARE_WRITE8_MEMBER(control_w);
void imsai(machine_config &config);
+ void imsai_io(address_map &map);
+ void imsai_mem(address_map &map);
private:
uint8_t m_term_data;
virtual void machine_reset() override;
@@ -49,7 +51,7 @@ private:
};
-static ADDRESS_MAP_START(imsai_mem, AS_PROGRAM, 8, imsai_state)
+ADDRESS_MAP_START(imsai_state::imsai_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x07ff) AM_ROM AM_REGION("prom", 0)
AM_RANGE(0xd000, 0xd0ff) AM_RAM
@@ -57,7 +59,7 @@ static ADDRESS_MAP_START(imsai_mem, AS_PROGRAM, 8, imsai_state)
AM_RANGE(0xd800, 0xdfff) AM_ROM AM_REGION("prom", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(imsai_io, AS_IO, 8, imsai_state)
+ADDRESS_MAP_START(imsai_state::imsai_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x02, 0x02) AM_READ(keyin_r) AM_DEVWRITE("terminal", generic_terminal_device, write)
diff --git a/src/mame/drivers/inder.cpp b/src/mame/drivers/inder.cpp
index 8ab5ad05d8a..d47509eb6c7 100644
--- a/src/mame/drivers/inder.cpp
+++ b/src/mame/drivers/inder.cpp
@@ -86,6 +86,12 @@ public:
void brvteam(machine_config &config);
void canasta(machine_config &config);
void lapbylap(machine_config &config);
+ void brvteam_map(address_map &map);
+ void canasta_map(address_map &map);
+ void inder_map(address_map &map);
+ void inder_sub_map(address_map &map);
+ void lapbylap_map(address_map &map);
+ void lapbylap_sub_map(address_map &map);
private:
void update_mus();
bool m_pc0;
@@ -109,7 +115,7 @@ private:
required_ioport_array<11> m_switches;
};
-static ADDRESS_MAP_START( brvteam_map, AS_PROGRAM, 8, inder_state )
+ADDRESS_MAP_START(inder_state::brvteam_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x20ff) AM_WRITE(disp_w)
AM_RANGE(0x4000, 0x43ff) AM_RAM // pair of 2114
@@ -120,7 +126,7 @@ static ADDRESS_MAP_START( brvteam_map, AS_PROGRAM, 8, inder_state )
AM_RANGE(0x4b00, 0x4b00) AM_WRITE(sn_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( canasta_map, AS_PROGRAM, 8, inder_state )
+ADDRESS_MAP_START(inder_state::canasta_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x20ff) AM_WRITE(disp_w)
AM_RANGE(0x4000, 0x43ff) AM_RAM // pair of 2114
@@ -133,7 +139,7 @@ static ADDRESS_MAP_START( canasta_map, AS_PROGRAM, 8, inder_state )
AM_RANGE(0x4b02, 0x4b02) AM_DEVWRITE("ay", ay8910_device, data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lapbylap_map, AS_PROGRAM, 8, inder_state )
+ADDRESS_MAP_START(inder_state::lapbylap_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x20ff) AM_WRITE(disp_w)
AM_RANGE(0x4000, 0x43ff) AM_RAM // pair of 2114
@@ -144,7 +150,7 @@ static ADDRESS_MAP_START( lapbylap_map, AS_PROGRAM, 8, inder_state )
AM_RANGE(0x4b00, 0x4b00) AM_WRITE(sndcmd_lapbylap_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lapbylap_sub_map, AS_PROGRAM, 8, inder_state )
+ADDRESS_MAP_START(inder_state::lapbylap_sub_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM // 6116
AM_RANGE(0x9000, 0x9000) AM_DEVWRITE("ay1", ay8910_device, address_w)
@@ -155,7 +161,7 @@ static ADDRESS_MAP_START( lapbylap_sub_map, AS_PROGRAM, 8, inder_state )
AM_RANGE(0xa002, 0xa002) AM_DEVWRITE("ay2", ay8910_device, data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( inder_map, AS_PROGRAM, 8, inder_state )
+ADDRESS_MAP_START(inder_state::inder_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_MIRROR(0x1800) AM_RAM AM_SHARE("nvram") // 6116, battery-backed
AM_RANGE(0x6000, 0x6003) AM_MIRROR(0x13fc) AM_DEVREADWRITE("ppi60", i8255_device, read, write)
@@ -167,7 +173,7 @@ static ADDRESS_MAP_START( inder_map, AS_PROGRAM, 8, inder_state )
AM_RANGE(0x6ce0, 0x6ce0) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( inder_sub_map, AS_PROGRAM, 8, inder_state )
+ADDRESS_MAP_START(inder_state::inder_sub_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x27ff) AM_MIRROR(0x1800) AM_RAM // 6116
AM_RANGE(0x4000, 0x4003) AM_MIRROR(0x1ffc) AM_DEVREADWRITE("ppi", i8255_device, read, write)
diff --git a/src/mame/drivers/inderp.cpp b/src/mame/drivers/inderp.cpp
index 1b0a3715a22..c120a9cfd4c 100644
--- a/src/mame/drivers/inderp.cpp
+++ b/src/mame/drivers/inderp.cpp
@@ -37,6 +37,7 @@ public:
DECLARE_READ8_MEMBER(inputs_r);
void inderp(machine_config &config);
+ void maincpu_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_ioport_array<10> m_inputs;
@@ -44,7 +45,7 @@ private:
u8 m_irqcnt;
};
-static ADDRESS_MAP_START( maincpu_map, AS_PROGRAM, 8, inderp_state )
+ADDRESS_MAP_START(inderp_state::maincpu_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x00ff) AM_MIRROR(0x500) AM_RAM // 2x 5101/2101, battery-backed
AM_RANGE(0x0200, 0x02ff) AM_MIRROR(0x400) // outputs CI-110 (displays)
diff --git a/src/mame/drivers/indiana.cpp b/src/mame/drivers/indiana.cpp
index 2b3228fa551..1122c3f1f93 100644
--- a/src/mame/drivers/indiana.cpp
+++ b/src/mame/drivers/indiana.cpp
@@ -39,10 +39,11 @@ public:
virtual void machine_reset() override;
required_device<cpu_device> m_maincpu;
void indiana(machine_config &config);
+ void indiana_mem(address_map &map);
};
-static ADDRESS_MAP_START(indiana_mem, AS_PROGRAM, 32, indiana_state)
+ADDRESS_MAP_START(indiana_state::indiana_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000000, 0x0000ffff) AM_MIRROR(0x7f800000) AM_ROM AM_REGION("user1", 0) // 64Kb of EPROM
AM_RANGE(0x00100000, 0x00107fff) AM_MIRROR(0x7f8f8000) AM_RAM // SRAM 32Kb of SRAM
diff --git a/src/mame/drivers/indigo.cpp b/src/mame/drivers/indigo.cpp
index edf5d1869e8..acfb503a170 100644
--- a/src/mame/drivers/indigo.cpp
+++ b/src/mame/drivers/indigo.cpp
@@ -61,6 +61,9 @@ public:
static void cdrom_config(device_t *device);
void indigo4k(machine_config &config);
void indigo3k(machine_config &config);
+ void indigo3k_map(address_map &map);
+ void indigo4k_map(address_map &map);
+ void indigo_map(address_map &map);
private:
struct hpc_t
{
@@ -463,7 +466,7 @@ WRITE32_MEMBER(indigo_state::int_w)
osd_printf_info("INT: write %x to ofs %x (mask %x) (PC=%x)\n", data, offset, mem_mask, m_maincpu->pc());
}
-static ADDRESS_MAP_START( indigo_map, AS_PROGRAM, 32, indigo_state )
+ADDRESS_MAP_START(indigo_state::indigo_map)
AM_RANGE( 0x00000000, 0x001fffff ) AM_RAM AM_SHARE("share10")
AM_RANGE( 0x08000000, 0x08ffffff ) AM_RAM AM_SHARE("share5")
AM_RANGE( 0x09000000, 0x097fffff ) AM_RAM AM_SHARE("share6")
@@ -475,12 +478,12 @@ static ADDRESS_MAP_START( indigo_map, AS_PROGRAM, 32, indigo_state )
AM_RANGE( 0x1fbd9000, 0x1fbd903f ) AM_READWRITE(int_r, int_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( indigo3k_map, AS_PROGRAM, 32, indigo_state )
+ADDRESS_MAP_START(indigo_state::indigo3k_map)
AM_IMPORT_FROM( indigo_map )
AM_RANGE( 0x1fc00000, 0x1fc3ffff ) AM_ROM AM_SHARE("share2") AM_REGION( "user1", 0 )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( indigo4k_map, AS_PROGRAM, 32, indigo_state )
+ADDRESS_MAP_START(indigo_state::indigo4k_map)
AM_IMPORT_FROM( indigo_map )
AM_RANGE( 0x1fa00000, 0x1fa1ffff ) AM_DEVREADWRITE("sgi_mc", sgi_mc_device, read, write )
AM_RANGE( 0x1fc00000, 0x1fc7ffff ) AM_ROM AM_SHARE("share2") AM_REGION( "user1", 0 )
diff --git a/src/mame/drivers/indy_indigo2.cpp b/src/mame/drivers/indy_indigo2.cpp
index 89eed7ae805..a0da4719e65 100644
--- a/src/mame/drivers/indy_indigo2.cpp
+++ b/src/mame/drivers/indy_indigo2.cpp
@@ -665,6 +665,7 @@ public:
void ip225015(machine_config &config);
void ip224613(machine_config &config);
void ip244415(machine_config &config);
+ void ip225015_map(address_map &map);
protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
@@ -1165,7 +1166,7 @@ WRITE32_MEMBER(ip22_state::hpc3_unkpbus0_w)
//COMBINE_DATA(&m_unkpbus0[offset]);
}
-static ADDRESS_MAP_START( ip225015_map, AS_PROGRAM, 32, ip22_state )
+ADDRESS_MAP_START(ip22_state::ip225015_map)
AM_RANGE( 0x00000000, 0x0007ffff ) AM_RAMBANK( "bank1" ) /* mirror of first 512k of main RAM */
AM_RANGE( 0x08000000, 0x0fffffff ) AM_SHARE("mainram") AM_RAM_WRITE(ip22_write_ram) /* 128 MB of main RAM */
AM_RANGE( 0x1f0f0000, 0x1f0f1fff ) AM_DEVREADWRITE("newport", newport_video_device, rex3_r, rex3_w )
diff --git a/src/mame/drivers/instantm.cpp b/src/mame/drivers/instantm.cpp
index 703c80e26e6..c5717f69aa2 100644
--- a/src/mame/drivers/instantm.cpp
+++ b/src/mame/drivers/instantm.cpp
@@ -44,6 +44,9 @@ public:
DECLARE_WRITE_LINE_MEMBER(clock_w);
void instantm(machine_config &config);
+ void main_map(address_map &map);
+ void sub_io(address_map &map);
+ void sub_map(address_map &map);
private:
u8 m_port01;
bool m_clock_en;
@@ -77,7 +80,7 @@ WRITE_LINE_MEMBER( instantm_state::clock_w )
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, instantm_state )
+ADDRESS_MAP_START(instantm_state::main_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x8000, 0x8000) //AM_WRITE
@@ -92,12 +95,12 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, instantm_state )
ADDRESS_MAP_END
// doesn't use ram
-static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 8, instantm_state )
+ADDRESS_MAP_START(instantm_state::sub_map)
AM_RANGE(0x0000, 0xffff) AM_ROM
AM_RANGE(0x0000, 0x0000) AM_DEVWRITE("dac", dac_byte_interface, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sub_io, AS_PROGRAM, 8, instantm_state )
+ADDRESS_MAP_START(instantm_state::sub_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x01, 0x01) AM_READWRITE(port01_r,port01_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/instruct.cpp b/src/mame/drivers/instruct.cpp
index b8ad90ebdb0..4141ec76974 100644
--- a/src/mame/drivers/instruct.cpp
+++ b/src/mame/drivers/instruct.cpp
@@ -78,6 +78,9 @@ public:
DECLARE_QUICKLOAD_LOAD_MEMBER(instruct);
INTERRUPT_GEN_MEMBER(t2l_int);
void instruct(machine_config &config);
+ void data_map(address_map &map);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
virtual void machine_reset() override;
uint16_t m_lar;
@@ -215,7 +218,7 @@ INTERRUPT_GEN_MEMBER( instruct_state::t2l_int )
}
}
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, instruct_state )
+ADDRESS_MAP_START(instruct_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0ffe) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x0fff, 0x0fff) AM_READWRITE(port_r,port_w)
@@ -224,7 +227,7 @@ static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, instruct_state )
AM_RANGE(0x2000, 0x7fff) AM_RAM AM_SHARE("extram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, instruct_state )
+ADDRESS_MAP_START(instruct_state::io_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x07, 0x07) AM_READWRITE(port_r,port_w)
AM_RANGE(0xf8, 0xf8) AM_WRITE(portf8_w)
@@ -235,7 +238,7 @@ static ADDRESS_MAP_START( io_map, AS_IO, 8, instruct_state )
AM_RANGE(0xfe, 0xfe) AM_READ(portfe_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( data_map, AS_DATA, 8, instruct_state )
+ADDRESS_MAP_START(instruct_state::data_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_READWRITE(port_r,port_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/inteladv.cpp b/src/mame/drivers/inteladv.cpp
index 9fedefb6729..05b57d758ff 100644
--- a/src/mame/drivers/inteladv.cpp
+++ b/src/mame/drivers/inteladv.cpp
@@ -35,6 +35,8 @@ public:
uint32_t screen_update_inteladv(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void inteladv(machine_config &config);
+ void inteladv_main(address_map &map);
+ void inteladv(address_map &map);
protected:
virtual void machine_start() override;
@@ -58,7 +60,7 @@ uint32_t inteladv_state::screen_update_inteladv(screen_device &screen, bitmap_in
return 0;
}
-static ADDRESS_MAP_START( inteladv_main, AS_PROGRAM, 8, inteladv_state )
+ADDRESS_MAP_START(inteladv_state::inteladv_main)
AM_RANGE(0x0000, 0x01ff) AM_RAM // zero page and stack
AM_RANGE(0x4000, 0x5fff) AM_ROM AM_REGION("maincpu", 0x0000) // boot code at 4000
AM_RANGE(0x8000, 0x8fff) AM_ROM AM_REGION("maincpu", 0x8000) // fixed ROM region?
diff --git a/src/mame/drivers/intellec4.cpp b/src/mame/drivers/intellec4.cpp
index cff6bc9b716..f13f69cb531 100644
--- a/src/mame/drivers/intellec4.cpp
+++ b/src/mame/drivers/intellec4.cpp
@@ -102,6 +102,14 @@ public:
void intellec4(machine_config &config);
+ void intellec4_program_banks(address_map &map);
+ void intellec4_program_memory(address_map &map);
+ void intellec4_ram_memory(address_map &map);
+ void intellec4_ram_ports(address_map &map);
+ void intellec4_ram_status(address_map &map);
+ void intellec4_rom(address_map &map);
+ void intellec4_rom_port_banks(address_map &map);
+ void intellec4_rom_ports(address_map &map);
protected:
intellec4_state(machine_config const &mconfig, device_type type, char const *tag)
: driver_device(mconfig, type, tag)
@@ -226,7 +234,7 @@ private:
System address spaces
----------------------------------*/
-ADDRESS_MAP_START(intellec4_program_banks, mcs40_cpu_device_base::AS_ROM, 8, intellec4_state)
+ADDRESS_MAP_START(intellec4_state::intellec4_program_banks)
ADDRESS_MAP_UNMAP_LOW
// 0x0000...0x0fff MON
@@ -240,7 +248,7 @@ ADDRESS_MAP_START(intellec4_program_banks, mcs40_cpu_device_base::AS_ROM, 8, int
// 0x3000...0x3fff unmapped in case someone presses two mode switches at once
ADDRESS_MAP_END
-ADDRESS_MAP_START(intellec4_rom_port_banks, mcs40_cpu_device_base::AS_ROM_PORTS, 8, intellec4_state)
+ADDRESS_MAP_START(intellec4_state::intellec4_rom_port_banks)
ADDRESS_MAP_UNMAP_HIGH
// 0x0000...0x07ff MON
@@ -263,32 +271,32 @@ ADDRESS_MAP_END
CPU views of address spaces
---------------------------------*/
-ADDRESS_MAP_START(intellec4_rom, mcs40_cpu_device_base::AS_ROM, 8, intellec4_state)
+ADDRESS_MAP_START(intellec4_state::intellec4_rom)
ADDRESS_MAP_UNMAP_LOW
AM_RANGE(0x0000, 0x0fff) AM_DEVICE("prgbank", address_map_bank_device, amap8)
ADDRESS_MAP_END
-ADDRESS_MAP_START(intellec4_ram_memory, mcs40_cpu_device_base::AS_RAM_MEMORY, 8, intellec4_state)
+ADDRESS_MAP_START(intellec4_state::intellec4_ram_memory)
ADDRESS_MAP_UNMAP_LOW
AM_RANGE(0x0000, 0x00ff) AM_RAM AM_SHARE("memory") // 4 * 4002
ADDRESS_MAP_END
-ADDRESS_MAP_START(intellec4_rom_ports, mcs40_cpu_device_base::AS_ROM_PORTS, 8, intellec4_state)
+ADDRESS_MAP_START(intellec4_state::intellec4_rom_ports)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x07ff) AM_DEVICE("rpbank", address_map_bank_device, amap8)
ADDRESS_MAP_END
-ADDRESS_MAP_START(intellec4_ram_status, mcs40_cpu_device_base::AS_RAM_STATUS, 8, intellec4_state)
+ADDRESS_MAP_START(intellec4_state::intellec4_ram_status)
ADDRESS_MAP_UNMAP_LOW
AM_RANGE(0x0000, 0x003f) AM_RAM AM_SHARE("status") // 4 * 4002
ADDRESS_MAP_END
-ADDRESS_MAP_START(intellec4_ram_ports, mcs40_cpu_device_base::AS_RAM_PORTS, 8, intellec4_state)
+ADDRESS_MAP_START(intellec4_state::intellec4_ram_ports)
AM_RANGE(0x00, 0x00) AM_WRITE(ram0_out)
AM_RANGE(0x01, 0x01) AM_WRITE(ram1_out)
ADDRESS_MAP_END
-ADDRESS_MAP_START(intellec4_program_memory, mcs40_cpu_device_base::AS_PROGRAM_MEMORY, 8, intellec4_state)
+ADDRESS_MAP_START(intellec4_state::intellec4_program_memory)
ADDRESS_MAP_UNMAP_LOW
AM_RANGE(0x0000, 0x01ff) AM_READWRITE(pm_read, pm_write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/interact.cpp b/src/mame/drivers/interact.cpp
index 86ec90e7887..43692e7f52c 100644
--- a/src/mame/drivers/interact.cpp
+++ b/src/mame/drivers/interact.cpp
@@ -78,10 +78,11 @@ public:
uint32_t screen_update_interact(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void hector1(machine_config &config);
void interact(machine_config &config);
+ void interact_mem(address_map &map);
};
-static ADDRESS_MAP_START(interact_mem, AS_PROGRAM, 8, interact_state )
+ADDRESS_MAP_START(interact_state::interact_mem)
ADDRESS_MAP_UNMAP_HIGH
/* Main ROM page*/
AM_RANGE(0x0000,0x3fff) AM_ROM /*BANK(2)*/
diff --git a/src/mame/drivers/interpro.cpp b/src/mame/drivers/interpro.cpp
index ac44985b1ea..c0dd2e7f77b 100644
--- a/src/mame/drivers/interpro.cpp
+++ b/src/mame/drivers/interpro.cpp
@@ -320,87 +320,87 @@ READ8_MEMBER(interpro_state::nodeid_r)
}
// these maps connect the cpu virtual addresses to the mmu
-static ADDRESS_MAP_START(c300_insn_map, AS_PROGRAM, 32, interpro_state)
+ADDRESS_MAP_START(interpro_state::c300_insn_map)
AM_RANGE(0x00000000, 0xffffffff) AM_DEVREAD(INTERPRO_MMU_TAG "_i", cammu_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(c300_data_map, AS_DATA, 32, interpro_state)
+ADDRESS_MAP_START(interpro_state::c300_data_map)
AM_RANGE(0x00000000, 0xffffffff) AM_DEVREADWRITE(INTERPRO_MMU_TAG "_d", cammu_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(c400_insn_map, AS_PROGRAM, 32, interpro_state)
+ADDRESS_MAP_START(interpro_state::c400_insn_map)
AM_RANGE(0x00000000, 0xffffffff) AM_DEVREAD(INTERPRO_MMU_TAG, cammu_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(c400_data_map, AS_DATA, 32, interpro_state)
+ADDRESS_MAP_START(interpro_state::c400_data_map)
AM_RANGE(0x00000000, 0xffffffff) AM_DEVREADWRITE(INTERPRO_MMU_TAG, cammu_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(interpro_common_map, 0, 32, interpro_state)
+ADDRESS_MAP_START(interpro_state::interpro_common_map)
// FIXME: don't know what this range is for
AM_RANGE(0x08000000, 0x08000fff) AM_NOP
AM_RANGE(0x4f007e00, 0x4f007eff) AM_DEVICE(INTERPRO_SGA_TAG, interpro_sga_device, map)
- AM_RANGE(0x7f000100, 0x7f00011f) AM_DEVICE8(INTERPRO_FDC_TAG, upd765_family_device, map, 0xff)
+ AM_RANGE(0x7f000100, 0x7f00011f) AM_DEVICE8(INTERPRO_FDC_TAG, upd765_family_device, map, 0x000000ff)
AM_RANGE(0x7f000200, 0x7f0002ff) AM_DEVICE(INTERPRO_ARBGA_TAG, interpro_arbga_device, map)
- AM_RANGE(0x7f000300, 0x7f000303) AM_READ16(sreg_error_r, 0xffff)
- AM_RANGE(0x7f000304, 0x7f000307) AM_READWRITE16(sreg_status_r, sreg_led_w, 0xffff)
- AM_RANGE(0x7f000308, 0x7f00030b) AM_READWRITE16(sreg_ctrl1_r, sreg_ctrl1_w, 0xffff)
- AM_RANGE(0x7f00030c, 0x7f00030f) AM_READWRITE16(sreg_ctrl2_r, sreg_ctrl2_w, 0xffff)
+ AM_RANGE(0x7f000300, 0x7f000303) AM_READ16(sreg_error_r, 0x0000ffff)
+ AM_RANGE(0x7f000304, 0x7f000307) AM_READWRITE16(sreg_status_r, sreg_led_w, 0x0000ffff)
+ AM_RANGE(0x7f000308, 0x7f00030b) AM_READWRITE16(sreg_ctrl1_r, sreg_ctrl1_w, 0x0000ffff)
+ AM_RANGE(0x7f00030c, 0x7f00030f) AM_READWRITE16(sreg_ctrl2_r, sreg_ctrl2_w, 0x0000ffff)
- AM_RANGE(0x7f00031c, 0x7f00031f) AM_READWRITE16(sreg_ctrl3_r, sreg_ctrl3_w, 0xffff)
+ AM_RANGE(0x7f00031c, 0x7f00031f) AM_READWRITE16(sreg_ctrl3_r, sreg_ctrl3_w, 0x0000ffff)
- AM_RANGE(0x7f000400, 0x7f00040f) AM_DEVREADWRITE8(INTERPRO_SCC1_TAG, z80scc_device, ba_cd_inv_r, ba_cd_inv_w, 0xff)
- AM_RANGE(0x7f000410, 0x7f00041f) AM_DEVREADWRITE8(INTERPRO_SCC2_TAG, z80scc_device, ba_cd_inv_r, ba_cd_inv_w, 0xff)
+ AM_RANGE(0x7f000400, 0x7f00040f) AM_DEVREADWRITE8(INTERPRO_SCC1_TAG, z80scc_device, ba_cd_inv_r, ba_cd_inv_w, 0x000000ff)
+ AM_RANGE(0x7f000410, 0x7f00041f) AM_DEVREADWRITE8(INTERPRO_SCC2_TAG, z80scc_device, ba_cd_inv_r, ba_cd_inv_w, 0x000000ff)
- AM_RANGE(0x7f000500, 0x7f000503) AM_DEVREADWRITE8_MOD(INTERPRO_RTC_TAG, mc146818_device, read, write, xor<0x1>, 0xff)
- AM_RANGE(0x7f000600, 0x7f000603) AM_DEVWRITE8(INTERPRO_RTC_TAG, mc146818_device, write, 0xff)
+ ;map(0x7f000500, 0x7f000503).lrw8("rtc_rw", [this](address_space &space, offs_t offset, u8 mem_mask){ return m_rtc->read(space, offset^1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_rtc->write(space, offset^1, data, mem_mask); }).umask32(0x000000ff);
+ AM_RANGE(0x7f000600, 0x7f000603) AM_DEVWRITE8(INTERPRO_RTC_TAG, mc146818_device, write, 0x000000ff)
AM_RANGE(0x7f000600, 0x7f00060f) AM_READ8(nodeid_r, 0xff)
// the system board id prom
AM_RANGE(0x7f000700, 0x7f00077f) AM_ROM AM_REGION(INTERPRO_IDPROM_TAG, 0)
// scsi registers have unusual address mapping
- AM_RANGE(0x7f001000, 0x7f001003) AM_DEVREADWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, tcounter_lo_r, tcount_lo_w, 0xff00)
- AM_RANGE(0x7f001100, 0x7f001103) AM_DEVREADWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, tcounter_hi_r, tcount_hi_w, 0xff00)
- AM_RANGE(0x7f001200, 0x7f001203) AM_DEVREADWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, fifo_r, fifo_w, 0xff00)
- AM_RANGE(0x7f001300, 0x7f001303) AM_DEVREADWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, command_r, command_w, 0xff00)
- AM_RANGE(0x7f001400, 0x7f001403) AM_DEVREAD8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, status_r, 0xff00) AM_DEVWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, bus_id_w, 0xff00)
- AM_RANGE(0x7f001500, 0x7f001503) AM_DEVREADWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, istatus_r, timeout_w, 0xff00)
- AM_RANGE(0x7f001600, 0x7f001603) AM_DEVREADWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, seq_step_r, sync_period_w, 0xff00)
- AM_RANGE(0x7f001700, 0x7f001703) AM_DEVREADWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, fifo_flags_r, sync_offset_w, 0xff00)
- AM_RANGE(0x7f001800, 0x7f001803) AM_DEVREADWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, conf_r, conf_w, 0xff00)
- AM_RANGE(0x7f001900, 0x7f001903) AM_DEVWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, clock_w, 0xff00)
- AM_RANGE(0x7f001a00, 0x7f001a03) AM_DEVWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, test_w, 0xff00)
- AM_RANGE(0x7f001b00, 0x7f001b03) AM_DEVREADWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, conf2_r, conf2_w, 0xff00)
+ AM_RANGE(0x7f001000, 0x7f001003) AM_DEVREADWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, tcounter_lo_r, tcount_lo_w, 0x0000ff00)
+ AM_RANGE(0x7f001100, 0x7f001103) AM_DEVREADWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, tcounter_hi_r, tcount_hi_w, 0x0000ff00)
+ AM_RANGE(0x7f001200, 0x7f001203) AM_DEVREADWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, fifo_r, fifo_w, 0x0000ff00)
+ AM_RANGE(0x7f001300, 0x7f001303) AM_DEVREADWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, command_r, command_w, 0x0000ff00)
+ AM_RANGE(0x7f001400, 0x7f001403) AM_DEVREAD8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, status_r, 0xff00) AM_DEVWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, bus_id_w, 0x0000ff00)
+ AM_RANGE(0x7f001500, 0x7f001503) AM_DEVREADWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, istatus_r, timeout_w, 0x0000ff00)
+ AM_RANGE(0x7f001600, 0x7f001603) AM_DEVREADWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, seq_step_r, sync_period_w, 0x0000ff00)
+ AM_RANGE(0x7f001700, 0x7f001703) AM_DEVREADWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, fifo_flags_r, sync_offset_w, 0x0000ff00)
+ AM_RANGE(0x7f001800, 0x7f001803) AM_DEVREADWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, conf_r, conf_w, 0x0000ff00)
+ AM_RANGE(0x7f001900, 0x7f001903) AM_DEVWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, clock_w, 0x0000ff00)
+ AM_RANGE(0x7f001a00, 0x7f001a03) AM_DEVWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, test_w, 0x0000ff00)
+ AM_RANGE(0x7f001b00, 0x7f001b03) AM_DEVREADWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, conf2_r, conf2_w, 0x0000ff00)
AM_RANGE(0x7f0fff00, 0x7f0fffff) AM_DEVICE(INTERPRO_IOGA_TAG, interpro_ioga_device, map)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(turquoise_base_map, 0, 32, turquoise_state)
+ADDRESS_MAP_START(turquoise_state::turquoise_base_map)
AM_IMPORT_FROM(interpro_common_map)
AM_RANGE(0x40000000, 0x4000003f) AM_DEVICE(INTERPRO_MCGA_TAG, interpro_mcga_device, map)
- AM_RANGE(0x7f000300, 0x7f000303) AM_WRITE8(sreg_error_w, 0xff)
+ AM_RANGE(0x7f000300, 0x7f000303) AM_WRITE8(sreg_error_w, 0x000000ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(turquoise_main_map, 0, 32, turquoise_state)
+ADDRESS_MAP_START(turquoise_state::turquoise_main_map)
AM_IMPORT_FROM(turquoise_base_map)
AM_RANGE(0x00000000, 0x00ffffff) AM_RAM AM_SHARE(RAM_TAG)
AM_RANGE(0x7f100000, 0x7f13ffff) AM_ROM AM_REGION(INTERPRO_EPROM_TAG, 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(sapphire_base_map, 0, 32, sapphire_state)
+ADDRESS_MAP_START(sapphire_state::sapphire_base_map)
AM_IMPORT_FROM(interpro_common_map)
AM_RANGE(0x40000000, 0x4000004f) AM_DEVICE(INTERPRO_MCGA_TAG, interpro_fmcc_device, map)
- AM_RANGE(0x7f001c00, 0x7f001c03) AM_DEVWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c94_device, conf3_w, 0xff00)
- AM_RANGE(0x7f001f00, 0x7f001f03) AM_DEVWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c94_device, fifo_align_w, 0xff00)
+ AM_RANGE(0x7f001c00, 0x7f001c03) AM_DEVWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c94_device, conf3_w, 0x0000ff00)
+ AM_RANGE(0x7f001f00, 0x7f001f03) AM_DEVWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c94_device, fifo_align_w, 0x0000ff00)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(sapphire_main_map, 0, 32, sapphire_state)
+ADDRESS_MAP_START(sapphire_state::sapphire_main_map)
AM_IMPORT_FROM(sapphire_base_map)
AM_RANGE(0x00000000, 0x00ffffff) AM_RAM AM_SHARE(RAM_TAG)
@@ -409,7 +409,7 @@ static ADDRESS_MAP_START(sapphire_main_map, 0, 32, sapphire_state)
AM_RANGE(0x7f180000, 0x7f1fffff) AM_DEVREADWRITE8(INTERPRO_FLASH_TAG "_hi", intel_28f010_device, read, write, 0xff00ff00) AM_MASK(0x3ffff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(turquoise_io_map, 1, 32, interpro_state)
+ADDRESS_MAP_START(turquoise_state::turquoise_io_map)
AM_IMPORT_FROM(turquoise_base_map)
AM_RANGE(0x00000800, 0x000009ff) AM_DEVICE(INTERPRO_MMU_TAG "_d", cammu_c3_device, map)
@@ -417,13 +417,13 @@ static ADDRESS_MAP_START(turquoise_io_map, 1, 32, interpro_state)
AM_RANGE(0x00000c00, 0x00000dff) AM_DEVICE(INTERPRO_MMU_TAG "_d", cammu_c3_device, map_global)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(sapphire_io_map, 1, 32, interpro_state)
+ADDRESS_MAP_START(sapphire_state::sapphire_io_map)
AM_IMPORT_FROM(sapphire_base_map)
AM_RANGE(0x00000000, 0x00001fff) AM_DEVICE(INTERPRO_MMU_TAG, cammu_c4_device, map)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(interpro_boot_map, 2, 32, interpro_state)
+ADDRESS_MAP_START(interpro_state::interpro_boot_map)
// FIXME: the real system may have some initial boot instructions in this boot
// memory space which jump to the start of the boot eprom code, or there may
// be some special address decoding logic for boot. For now, we fake it in the
@@ -431,11 +431,11 @@ static ADDRESS_MAP_START(interpro_boot_map, 2, 32, interpro_state)
AM_RANGE(0x00000000, 0x00001fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(interpro_82586_map, 0, 16, turquoise_state)
+ADDRESS_MAP_START(turquoise_state::interpro_82586_map)
AM_RANGE(0x00000000, 0x00ffffff) AM_DEVREADWRITE(INTERPRO_IOGA_TAG, turquoise_ioga_device, eth_r, eth_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(interpro_82596_map, 0, 32, sapphire_state)
+ADDRESS_MAP_START(sapphire_state::interpro_82596_map)
AM_RANGE(0x00000000, 0xffffffff) AM_DEVREADWRITE(INTERPRO_IOGA_TAG, sapphire_ioga_device, eth_r, eth_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/intrscti.cpp b/src/mame/drivers/intrscti.cpp
index c8ad502e011..299c58895e2 100644
--- a/src/mame/drivers/intrscti.cpp
+++ b/src/mame/drivers/intrscti.cpp
@@ -40,6 +40,10 @@ public:
virtual void video_start() override;
uint32_t screen_update_intrscti(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void intrscti(machine_config &config);
+ void intrscti_io_map(address_map &map);
+ void intrscti_map(address_map &map);
+ void intrscti_sub_io_map(address_map &map);
+ void intrscti_sub_map(address_map &map);
};
void intrscti_state::video_start()
@@ -81,27 +85,27 @@ uint32_t intrscti_state::screen_update_intrscti(screen_device &screen, bitmap_in
}
-static ADDRESS_MAP_START( intrscti_map, AS_PROGRAM, 8, intrscti_state )
+ADDRESS_MAP_START(intrscti_state::intrscti_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM
AM_RANGE(0x7000, 0x77ff) AM_RAM AM_SHARE("vram")
AM_RANGE(0x8000, 0x8fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( intrscti_io_map, AS_IO, 8, intrscti_state )
+ADDRESS_MAP_START(intrscti_state::intrscti_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( intrscti_sub_map, AS_PROGRAM, 8, intrscti_state )
+ADDRESS_MAP_START(intrscti_state::intrscti_sub_map)
AM_RANGE(0x0000, 0x07ff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
// AM_RANGE(0x0000, 0xffff) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( intrscti_sub_io_map, AS_IO, 8, intrscti_state )
+ADDRESS_MAP_START(intrscti_state::intrscti_sub_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
// AM_RANGE(0x00, 0xff) AM_NOP
ADDRESS_MAP_END
diff --git a/src/mame/drivers/intv.cpp b/src/mame/drivers/intv.cpp
index ff74ec7ebf8..4070e39ec97 100644
--- a/src/mame/drivers/intv.cpp
+++ b/src/mame/drivers/intv.cpp
@@ -279,7 +279,7 @@ static INPUT_PORTS_START( intvkbd )
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_7_PAD)
INPUT_PORTS_END
-static ADDRESS_MAP_START( intv_mem, AS_PROGRAM, 16, intv_state )
+ADDRESS_MAP_START(intv_state::intv_mem)
AM_RANGE(0x0000, 0x003f) AM_READWRITE(intv_stic_r, intv_stic_w)
AM_RANGE(0x0100, 0x01ef) AM_READWRITE(intv_ram8_r, intv_ram8_w)
AM_RANGE(0x01f0, 0x01ff) AM_DEVREADWRITE8("ay8914", ay8914_device, read, write, 0x00ff)
@@ -305,7 +305,7 @@ static ADDRESS_MAP_START( intv_mem, AS_PROGRAM, 16, intv_state )
AM_RANGE(0xf000, 0xffff) AM_DEVREAD("cartslot", intv_cart_slot_device, read_romf0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( intvoice_mem, AS_PROGRAM, 16, intv_state )
+ADDRESS_MAP_START(intv_state::intvoice_mem)
AM_RANGE(0x0000, 0x003f) AM_READWRITE(intv_stic_r, intv_stic_w)
AM_RANGE(0x0080, 0x0081) AM_DEVREADWRITE("voice", intv_voice_device, read_speech, write_speech) // Intellivoice
AM_RANGE(0x0100, 0x01ef) AM_READWRITE(intv_ram8_r, intv_ram8_w)
@@ -332,7 +332,7 @@ static ADDRESS_MAP_START( intvoice_mem, AS_PROGRAM, 16, intv_state )
AM_RANGE(0xf000, 0xffff) AM_DEVREAD("voice", intv_voice_device, read_romf0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( intv2_mem , AS_PROGRAM, 16, intv_state )
+ADDRESS_MAP_START(intv_state::intv2_mem)
AM_RANGE(0x0000, 0x003f) AM_READWRITE(intv_stic_r, intv_stic_w)
AM_RANGE(0x0100, 0x01ef) AM_READWRITE(intv_ram8_r, intv_ram8_w)
AM_RANGE(0x01f0, 0x01ff) AM_DEVREADWRITE8("ay8914", ay8914_device, read, write, 0x00ff)
@@ -358,7 +358,7 @@ static ADDRESS_MAP_START( intv2_mem , AS_PROGRAM, 16, intv_state )
AM_RANGE(0xf000, 0xffff) AM_DEVREAD("cartslot", intv_cart_slot_device, read_romf0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( intvecs_mem , AS_PROGRAM, 16, intv_state )
+ADDRESS_MAP_START(intv_state::intvecs_mem)
AM_RANGE(0x0000, 0x003f) AM_READWRITE(intv_stic_r, intv_stic_w)
AM_RANGE(0x0080, 0x0081) AM_DEVREADWRITE("speech", sp0256_device, spb640_r, spb640_w) /* Intellivoice */
// AM_RANGE(0x00E0, 0x00E3) AM_READWRITE( intv_ecs_uart_r, intv_ecs_uart_w )
@@ -387,7 +387,7 @@ static ADDRESS_MAP_START( intvecs_mem , AS_PROGRAM, 16, intv_state )
AM_RANGE(0xf000, 0xffff) AM_DEVREADWRITE("ecs", intv_ecs_device, read_romf0, write_romf0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( intvkbd_mem , AS_PROGRAM, 16, intv_state )
+ADDRESS_MAP_START(intv_state::intvkbd_mem)
AM_RANGE(0x0000, 0x003f) AM_READWRITE(intv_stic_r, intv_stic_w)
AM_RANGE(0x0100, 0x01ef) AM_READWRITE(intv_ram8_r, intv_ram8_w)
AM_RANGE(0x01f0, 0x01ff) AM_DEVREADWRITE8("ay8914", ay8914_device, read, write, 0x00ff)
@@ -410,7 +410,7 @@ static ADDRESS_MAP_START( intvkbd_mem , AS_PROGRAM, 16, intv_state )
AM_RANGE(0xf000, 0xffff) AM_DEVREAD("cartslot", intv_cart_slot_device, read_romf0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( intvkbd2_mem , AS_PROGRAM, 8, intv_state )
+ADDRESS_MAP_START(intv_state::intvkbd2_mem)
ADDRESS_MAP_UNMAP_HIGH /* Required because of probing */
AM_RANGE(0x0000, 0x3fff) AM_READWRITE(intvkbd_dualport8_lsb_r, intvkbd_dualport8_lsb_w) /* Dual-port RAM */
AM_RANGE(0x4000, 0x40bf) AM_READWRITE(intvkbd_io_r, intvkbd_io_w)
diff --git a/src/mame/drivers/inufuku.cpp b/src/mame/drivers/inufuku.cpp
index 2dabaf1a48d..df93a669411 100644
--- a/src/mame/drivers/inufuku.cpp
+++ b/src/mame/drivers/inufuku.cpp
@@ -111,7 +111,7 @@ CUSTOM_INPUT_MEMBER(inufuku_state::soundflag_r)
******************************************************************************/
-static ADDRESS_MAP_START( inufuku_map, AS_PROGRAM, 16, inufuku_state )
+ADDRESS_MAP_START(inufuku_state::inufuku_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // main rom
// AM_RANGE(0x100000, 0x100007) AM_WRITENOP // ?
@@ -149,13 +149,13 @@ ADDRESS_MAP_END
******************************************************************************/
-static ADDRESS_MAP_START( inufuku_sound_map, AS_PROGRAM, 8, inufuku_state )
+ADDRESS_MAP_START(inufuku_state::inufuku_sound_map)
AM_RANGE(0x0000, 0x77ff) AM_ROM
AM_RANGE(0x7800, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( inufuku_sound_io_map, AS_IO, 8, inufuku_state )
+ADDRESS_MAP_START(inufuku_state::inufuku_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(inufuku_soundrombank_w)
AM_RANGE(0x04, 0x04) AM_DEVREADWRITE("soundlatch", generic_latch_8_device, read, acknowledge_w)
diff --git a/src/mame/drivers/invqix.cpp b/src/mame/drivers/invqix.cpp
index 7e3b7fefec2..e6a01ea37ba 100644
--- a/src/mame/drivers/invqix.cpp
+++ b/src/mame/drivers/invqix.cpp
@@ -149,6 +149,8 @@ public:
DECLARE_WRITE16_MEMBER(vctl_w);
void invqix(machine_config &config);
+ void invqix_io_map(address_map &map);
+ void invqix_prg_map(address_map &map);
protected:
// devices
required_device<cpu_device> m_maincpu;
@@ -275,7 +277,7 @@ WRITE16_MEMBER(invqix_state::vctl_w)
m_vctl = data;
}
-static ADDRESS_MAP_START(invqix_prg_map, AS_PROGRAM, 16, invqix_state)
+ADDRESS_MAP_START(invqix_state::invqix_prg_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM AM_REGION("program", 0)
AM_RANGE(0x200000, 0x21ffff) AM_RAM
AM_RANGE(0x400000, 0x400001) AM_DEVWRITE8("oki", okim9810_device, write_tmp_register, 0x00ff)
@@ -285,7 +287,7 @@ static ADDRESS_MAP_START(invqix_prg_map, AS_PROGRAM, 16, invqix_state)
AM_RANGE(0x620004, 0x620005) AM_WRITE(vctl_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(invqix_io_map, AS_IO, 16, invqix_state)
+ADDRESS_MAP_START(invqix_state::invqix_io_map)
AM_RANGE(h8_device::PORT_1, h8_device::PORT_1) AM_READ_PORT("P1")
AM_RANGE(h8_device::PORT_2, h8_device::PORT_2) AM_READ_PORT("SYSTEM") AM_WRITENOP
AM_RANGE(h8_device::PORT_3, h8_device::PORT_3) AM_READWRITE(port3_r, port3_w)
diff --git a/src/mame/drivers/ipc.cpp b/src/mame/drivers/ipc.cpp
index 54cbcc54710..3d6345a9e39 100644
--- a/src/mame/drivers/ipc.cpp
+++ b/src/mame/drivers/ipc.cpp
@@ -55,19 +55,21 @@ public:
{ }
void ipc(machine_config &config);
+ void ipc_io(address_map &map);
+ void ipc_mem(address_map &map);
private:
virtual void machine_reset() override;
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START(ipc_mem, AS_PROGRAM, 8, ipc_state)
+ADDRESS_MAP_START(ipc_state::ipc_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xdfff) AM_RAM
AM_RANGE(0xe800, 0xffff) AM_ROM AM_REGION("roms", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ipc_io, AS_IO, 8, ipc_state)
+ADDRESS_MAP_START(ipc_state::ipc_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xf0, 0xf3) AM_DEVREADWRITE("pit", pit8253_device, read, write)
diff --git a/src/mame/drivers/ipds.cpp b/src/mame/drivers/ipds.cpp
index 59d712c608c..e04d1504040 100644
--- a/src/mame/drivers/ipds.cpp
+++ b/src/mame/drivers/ipds.cpp
@@ -38,6 +38,8 @@ public:
uint8_t m_term_data;
virtual void machine_reset() override;
void ipds(machine_config &config);
+ void ipds_io(address_map &map);
+ void ipds_mem(address_map &map);
};
READ8_MEMBER( ipds_state::ipds_b0_r )
@@ -61,13 +63,13 @@ WRITE8_MEMBER( ipds_state::ipds_b1_w )
{
}
-static ADDRESS_MAP_START(ipds_mem, AS_PROGRAM, 8, ipds_state)
+ADDRESS_MAP_START(ipds_state::ipds_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x07ff) AM_ROM
AM_RANGE(0x0800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ipds_io, AS_IO, 8, ipds_state)
+ADDRESS_MAP_START(ipds_state::ipds_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xb0, 0xb0) AM_READ(ipds_b0_r)
diff --git a/src/mame/drivers/iq151.cpp b/src/mame/drivers/iq151.cpp
index de14d02f6f7..27d72dd9f28 100644
--- a/src/mame/drivers/iq151.cpp
+++ b/src/mame/drivers/iq151.cpp
@@ -105,6 +105,8 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(iq151_break);
TIMER_DEVICE_CALLBACK_MEMBER(cassette_timer);
void iq151(machine_config &config);
+ void iq151_io(address_map &map);
+ void iq151_mem(address_map &map);
};
READ8_MEMBER(iq151_state::keyboard_row_r)
@@ -204,7 +206,7 @@ WRITE8_MEMBER(iq151_state::cartslot_io_w)
elem->io_write(offset, data);
}
-static ADDRESS_MAP_START(iq151_mem, AS_PROGRAM, 8, iq151_state)
+ADDRESS_MAP_START(iq151_state::iq151_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0xffff ) AM_READWRITE(cartslot_r, cartslot_w)
@@ -213,7 +215,7 @@ static ADDRESS_MAP_START(iq151_mem, AS_PROGRAM, 8, iq151_state)
AM_RANGE( 0xf000, 0xffff ) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(iq151_io, AS_IO, 8, iq151_state)
+ADDRESS_MAP_START(iq151_state::iq151_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x00, 0xff ) AM_READWRITE(cartslot_io_r, cartslot_io_w)
diff --git a/src/mame/drivers/iqblock.cpp b/src/mame/drivers/iqblock.cpp
index 02ee6485481..b08ed9a646c 100644
--- a/src/mame/drivers/iqblock.cpp
+++ b/src/mame/drivers/iqblock.cpp
@@ -111,13 +111,13 @@ WRITE8_MEMBER(iqblock_state::port_C_w)
/* bit 7 could be a second coin counter, but coin 2 doesn't seem to work... */
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, iqblock_state )
+ADDRESS_MAP_START(iqblock_state::main_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("rambase")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_portmap, AS_IO, 8, iqblock_state )
+ADDRESS_MAP_START(iqblock_state::main_portmap)
AM_RANGE(0x2000, 0x23ff) AM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x2800, 0x2bff) AM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0x5080, 0x5083) AM_DEVREADWRITE("ppi8255", i8255_device, read, write)
diff --git a/src/mame/drivers/iqunlim.cpp b/src/mame/drivers/iqunlim.cpp
index 61041faf558..46a1e8ccd05 100644
--- a/src/mame/drivers/iqunlim.cpp
+++ b/src/mame/drivers/iqunlim.cpp
@@ -68,6 +68,7 @@ public:
virtual uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void iqunlim(machine_config &config);
+ void iqunlim_mem(address_map &map);
};
uint32_t iqunlim_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
@@ -75,7 +76,7 @@ uint32_t iqunlim_state::screen_update(screen_device &screen, bitmap_rgb32 &bitma
return 0;
}
-static ADDRESS_MAP_START(iqunlim_mem, AS_PROGRAM, 16, iqunlim_state)
+ADDRESS_MAP_START(iqunlim_state::iqunlim_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x1FFFFF) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/iris3130.cpp b/src/mame/drivers/iris3130.cpp
index 981f654611c..e9b8cacc3e4 100644
--- a/src/mame/drivers/iris3130.cpp
+++ b/src/mame/drivers/iris3130.cpp
@@ -94,6 +94,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(duartb_irq_handler);
required_device<cpu_device> m_maincpu;
void sgi_ip2(machine_config &config);
+ void sgi_ip2_map(address_map &map);
protected:
required_shared_ptr<uint32_t> m_mainram;
required_device<mc68681_device> m_duarta;
@@ -373,7 +374,7 @@ void sgi_ip2_state::machine_reset()
***************************************************************************/
-static ADDRESS_MAP_START(sgi_ip2_map, AS_PROGRAM, 32, sgi_ip2_state )
+ADDRESS_MAP_START(sgi_ip2_state::sgi_ip2_map)
AM_RANGE(0x00000000, 0x00ffffff) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x02100000, 0x0210ffff) AM_RAM AM_SHARE("bss") // ??? I don't understand the need for this...
AM_RANGE(0x30000000, 0x30017fff) AM_ROM AM_REGION("maincpu", 0)
diff --git a/src/mame/drivers/irisha.cpp b/src/mame/drivers/irisha.cpp
index dbd53ebf642..cc5697d51c3 100644
--- a/src/mame/drivers/irisha.cpp
+++ b/src/mame/drivers/irisha.cpp
@@ -50,6 +50,8 @@ public:
required_shared_ptr<uint8_t> m_p_videoram;
void irisha(machine_config &config);
+ void irisha_io(address_map &map);
+ void irisha_mem(address_map &map);
private:
bool m_sg1_line;
bool m_keypressed;
@@ -68,13 +70,13 @@ private:
/* Address maps */
-static ADDRESS_MAP_START(irisha_mem, AS_PROGRAM, 8, irisha_state )
+ADDRESS_MAP_START(irisha_state::irisha_mem)
AM_RANGE(0x0000, 0x3fff) AM_ROM // ROM
AM_RANGE(0x4000, 0xdfff) AM_RAM // RAM
AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( irisha_io , AS_IO, 8, irisha_state )
+ADDRESS_MAP_START(irisha_state::irisha_io)
AM_RANGE(0x04, 0x05) AM_READ(irisha_keyboard_r)
AM_RANGE(0x06, 0x06) AM_DEVREADWRITE("uart",i8251_device, data_r, data_w)
AM_RANGE(0x07, 0x07) AM_DEVREADWRITE("uart", i8251_device, status_r, control_w)
diff --git a/src/mame/drivers/irobot.cpp b/src/mame/drivers/irobot.cpp
index ae19de17951..b4410383fa4 100644
--- a/src/mame/drivers/irobot.cpp
+++ b/src/mame/drivers/irobot.cpp
@@ -149,7 +149,7 @@ WRITE8_MEMBER(irobot_state::quad_pokeyn_w)
*
*************************************/
-static ADDRESS_MAP_START( irobot_map, AS_PROGRAM, 8, irobot_state )
+ADDRESS_MAP_START(irobot_state::irobot_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x0800, 0x0fff) AM_RAMBANK("bank2")
AM_RANGE(0x1000, 0x103f) AM_READ_PORT("IN0")
diff --git a/src/mame/drivers/ironhors.cpp b/src/mame/drivers/ironhors.cpp
index 268ca757210..083d386f48a 100644
--- a/src/mame/drivers/ironhors.cpp
+++ b/src/mame/drivers/ironhors.cpp
@@ -59,7 +59,7 @@ WRITE8_MEMBER(ironhors_state::filter_w)
*
*************************************/
-static ADDRESS_MAP_START( master_map, AS_PROGRAM, 8, ironhors_state )
+ADDRESS_MAP_START(ironhors_state::master_map)
AM_RANGE(0x0000, 0x0002) AM_RAM
AM_RANGE(0x0003, 0x0003) AM_RAM_WRITE(charbank_w)
AM_RANGE(0x0004, 0x0004) AM_RAM AM_SHARE("int_enable")
@@ -87,18 +87,18 @@ static ADDRESS_MAP_START( master_map, AS_PROGRAM, 8, ironhors_state )
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_map, AS_PROGRAM, 8, ironhors_state )
+ADDRESS_MAP_START(ironhors_state::slave_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM
AM_RANGE(0x8000, 0x8000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_io_map, AS_IO, 8, ironhors_state )
+ADDRESS_MAP_START(ironhors_state::slave_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ym2203", ym2203_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( farwest_master_map, AS_PROGRAM, 8, ironhors_state )
+ADDRESS_MAP_START(ironhors_state::farwest_master_map)
AM_RANGE(0x0000, 0x1bff) AM_ROM
AM_RANGE(0x0000, 0x0002) AM_RAM
@@ -133,7 +133,7 @@ static ADDRESS_MAP_START( farwest_master_map, AS_PROGRAM, 8, ironhors_state )
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( farwest_slave_map, AS_PROGRAM, 8, ironhors_state )
+ADDRESS_MAP_START(ironhors_state::farwest_slave_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM
AM_RANGE(0x8000, 0x8001) AM_DEVREADWRITE("ym2203", ym2203_device, read, write)
@@ -449,7 +449,7 @@ MACHINE_CONFIG_DERIVED(ironhors_state::farwest, ironhors)
MCFG_CPU_MODIFY("soundcpu")
MCFG_CPU_PROGRAM_MAP(farwest_slave_map)
- MCFG_CPU_IO_MAP(0)
+ MCFG_DEVICE_REMOVE_ADDRESS_MAP(AS_IO)
MCFG_GFXDECODE_MODIFY("gfxdecode", farwest)
MCFG_VIDEO_START_OVERRIDE(ironhors_state,farwest)
diff --git a/src/mame/drivers/isbc.cpp b/src/mame/drivers/isbc.cpp
index e7c08bd2fa7..49018eff004 100644
--- a/src/mame/drivers/isbc.cpp
+++ b/src/mame/drivers/isbc.cpp
@@ -89,6 +89,15 @@ public:
void isbc8605(machine_config &config);
void isbc286(machine_config &config);
void isbc8630(machine_config &config);
+ void isbc2861_mem(address_map &map);
+ void isbc286_io(address_map &map);
+ void isbc286_mem(address_map &map);
+ void isbc8605_io(address_map &map);
+ void isbc8630_io(address_map &map);
+ void isbc86_mem(address_map &map);
+ void isbc_io(address_map &map);
+ void rpc86_io(address_map &map);
+ void rpc86_mem(address_map &map);
protected:
void machine_reset() override;
private:
@@ -112,13 +121,13 @@ void isbc_state::machine_reset()
m_megabyte_page = 0;
}
-static ADDRESS_MAP_START(rpc86_mem, AS_PROGRAM, 16, isbc_state)
+ADDRESS_MAP_START(isbc_state::rpc86_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000, 0xcffff) AM_RAM
AM_RANGE(0xf8000, 0xfffff) AM_ROM AM_REGION("user1",0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(rpc86_io, AS_IO, 16, isbc_state)
+ADDRESS_MAP_START(isbc_state::rpc86_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0080, 0x008f) AM_DEVREADWRITE8("sbx1", isbx_slot_device, mcs0_r, mcs0_w, 0x00ff)
AM_RANGE(0x0090, 0x009f) AM_DEVREADWRITE8("sbx1", isbx_slot_device, mcs1_r, mcs1_w, 0x00ff)
@@ -134,25 +143,25 @@ static ADDRESS_MAP_START(rpc86_io, AS_IO, 16, isbc_state)
AM_RANGE(0x00de, 0x00df) AM_DEVREADWRITE8("uart8251", i8251_device, status_r, control_w, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(isbc8605_io, AS_IO, 16, isbc_state)
+ADDRESS_MAP_START(isbc_state::isbc8605_io)
AM_IMPORT_FROM(rpc86_io)
AM_RANGE(0x0000, 0x002f) AM_DEVICE8("isbc_208", isbc_208_device, map, 0xffff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(isbc8630_io, AS_IO, 16, isbc_state)
+ADDRESS_MAP_START(isbc_state::isbc8630_io)
AM_IMPORT_FROM(rpc86_io)
AM_RANGE(0x00c0, 0x00c7) AM_WRITE8(edge_intr_clear_w, 0xff00)
AM_RANGE(0x00c8, 0x00df) AM_WRITE8(status_register_w, 0xff00)
AM_RANGE(0x0100, 0x0101) AM_DEVWRITE8("isbc_215g", isbc_215g_device, write, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(isbc86_mem, AS_PROGRAM, 16, isbc_state)
+ADDRESS_MAP_START(isbc_state::isbc86_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000, 0xfbfff) AM_RAM
AM_RANGE(0xfc000, 0xfffff) AM_ROM AM_REGION("user1",0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(isbc_io, AS_IO, 16, isbc_state)
+ADDRESS_MAP_START(isbc_state::isbc_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00c0, 0x00c3) AM_DEVREADWRITE8("pic_0", pic8259_device, read, write, 0x00ff)
AM_RANGE(0x00c4, 0x00c7) AM_DEVREADWRITE8("pic_0", pic8259_device, read, write, 0x00ff)
@@ -164,7 +173,7 @@ static ADDRESS_MAP_START(isbc_io, AS_IO, 16, isbc_state)
AM_RANGE(0x00de, 0x00df) AM_DEVREADWRITE8("uart8251", i8251_device, status_r, control_w, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(isbc286_io, AS_IO, 16, isbc_state)
+ADDRESS_MAP_START(isbc_state::isbc286_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0080, 0x008f) AM_DEVREADWRITE8("sbx1", isbx_slot_device, mcs0_r, mcs0_w, 0x00ff)
AM_RANGE(0x0080, 0x008f) AM_DEVREADWRITE8("sbx1", isbx_slot_device, mcs0_r, mcs0_w, 0xff00)
@@ -183,14 +192,14 @@ static ADDRESS_MAP_START(isbc286_io, AS_IO, 16, isbc_state)
AM_RANGE(0x0100, 0x0101) AM_DEVWRITE8("isbc_215g", isbc_215g_device, write, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(isbc286_mem, AS_PROGRAM, 16, isbc_state)
+ADDRESS_MAP_START(isbc_state::isbc286_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000, 0xdffff) AM_RAM
AM_RANGE(0xe0000, 0xfffff) AM_ROM AM_REGION("user1",0)
AM_RANGE(0xfe0000, 0xffffff) AM_ROM AM_REGION("user1",0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(isbc2861_mem, AS_PROGRAM, 16, isbc_state)
+ADDRESS_MAP_START(isbc_state::isbc2861_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000, 0xdffff) AM_RAM
AM_RANGE(0xe0000, 0xfffff) AM_READWRITE(bioslo_r, bioslo_w) AM_SHARE("biosram")
diff --git a/src/mame/drivers/isbc8010.cpp b/src/mame/drivers/isbc8010.cpp
index dc26699e4f6..50494ff9326 100644
--- a/src/mame/drivers/isbc8010.cpp
+++ b/src/mame/drivers/isbc8010.cpp
@@ -61,6 +61,10 @@ public:
void isbc8010b(machine_config &config);
void isbc8010a(machine_config &config);
void isbc8010(machine_config &config);
+ void isbc8010_io(address_map &map);
+ void isbc8010_mem(address_map &map);
+ void isbc8010a_mem(address_map &map);
+ void isbc8010b_mem(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<i8251_device> m_usart;
@@ -73,25 +77,25 @@ private:
uint8_t m_usart_clock_state;
};
-static ADDRESS_MAP_START(isbc8010_mem, AS_PROGRAM, 8, isbc8010_state)
+ADDRESS_MAP_START(isbc8010_state::isbc8010_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x3c00, 0x3fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(isbc8010a_mem, AS_PROGRAM, 8, isbc8010_state)
+ADDRESS_MAP_START(isbc8010_state::isbc8010a_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x3c00, 0x3fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(isbc8010b_mem, AS_PROGRAM, 8, isbc8010_state)
+ADDRESS_MAP_START(isbc8010_state::isbc8010b_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3bff) AM_ROM
AM_RANGE(0x3c00, 0x3fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(isbc8010_io, AS_IO, 8, isbc8010_state)
+ADDRESS_MAP_START(isbc8010_state::isbc8010_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xe4, 0xe7) AM_DEVREADWRITE(I8255A_1_TAG, i8255_device, read, write)
diff --git a/src/mame/drivers/isbc8030.cpp b/src/mame/drivers/isbc8030.cpp
index 6ed5435a643..8b67e43ad7d 100644
--- a/src/mame/drivers/isbc8030.cpp
+++ b/src/mame/drivers/isbc8030.cpp
@@ -58,6 +58,8 @@ public:
{ }
void isbc8030(machine_config &config);
+ void isbc8030_io(address_map &map);
+ void isbc8030_mem(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<i8251_device> m_usart;
@@ -67,13 +69,13 @@ private:
required_device<rs232_port_device> m_rs232;
};
-static ADDRESS_MAP_START(isbc8030_mem, AS_PROGRAM, 8, isbc8030_state)
+ADDRESS_MAP_START(isbc8030_state::isbc8030_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(isbc8030_io, AS_IO, 8, isbc8030_state)
+ADDRESS_MAP_START(isbc8030_state::isbc8030_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xd8, 0xd9) AM_DEVREADWRITE(I8259A_TAG, pic8259_device, read, write)
diff --git a/src/mame/drivers/iskr103x.cpp b/src/mame/drivers/iskr103x.cpp
index 593f08d3a26..03805f2c763 100644
--- a/src/mame/drivers/iskr103x.cpp
+++ b/src/mame/drivers/iskr103x.cpp
@@ -38,15 +38,17 @@ public:
required_device<cpu_device> m_maincpu;
void iskr1030m(machine_config &config);
void iskr1031(machine_config &config);
+ void iskr1031_io(address_map &map);
+ void iskr1031_map(address_map &map);
};
-static ADDRESS_MAP_START( iskr1031_map, AS_PROGRAM, 16, iskr103x_state )
+ADDRESS_MAP_START(iskr103x_state::iskr1031_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xf0000, 0xfffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(iskr1031_io, AS_IO, 16, iskr103x_state)
+ADDRESS_MAP_START(iskr103x_state::iskr1031_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x00ff) AM_DEVICE8("mb", ibm5160_mb_device, map, 0xffff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/istellar.cpp b/src/mame/drivers/istellar.cpp
index b6004fb85a4..2afb8cc846a 100644
--- a/src/mame/drivers/istellar.cpp
+++ b/src/mame/drivers/istellar.cpp
@@ -66,6 +66,12 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
void istellar(machine_config &config);
+ void z80_0_io(address_map &map);
+ void z80_0_mem(address_map &map);
+ void z80_1_io(address_map &map);
+ void z80_1_mem(address_map &map);
+ void z80_2_io(address_map &map);
+ void z80_2_mem(address_map &map);
};
@@ -174,7 +180,7 @@ WRITE8_MEMBER(istellar_state::z80_2_ldp_write)
/* PROGRAM MAPS */
-static ADDRESS_MAP_START( z80_0_mem, AS_PROGRAM, 8, istellar_state )
+ADDRESS_MAP_START(istellar_state::z80_0_mem)
AM_RANGE(0x0000,0x9fff) AM_ROM
AM_RANGE(0xa000,0xa7ff) AM_RAM
AM_RANGE(0xa800,0xabff) AM_RAM AM_SHARE("tile_ram")
@@ -182,12 +188,12 @@ static ADDRESS_MAP_START( z80_0_mem, AS_PROGRAM, 8, istellar_state )
AM_RANGE(0xb000,0xb3ff) AM_RAM AM_SHARE("sprite_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( z80_1_mem, AS_PROGRAM, 8, istellar_state )
+ADDRESS_MAP_START(istellar_state::z80_1_mem)
AM_RANGE(0x0000,0x1fff) AM_ROM
AM_RANGE(0x4000,0x47ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( z80_2_mem, AS_PROGRAM, 8, istellar_state )
+ADDRESS_MAP_START(istellar_state::z80_2_mem)
AM_RANGE(0x0000,0x17ff) AM_ROM
AM_RANGE(0x1800,0x1fff) AM_RAM
AM_RANGE(0xc000,0xc000) AM_READ(z80_2_unknown_read) /* Seems to be thrown away every time it's read - maybe interrupt related? */
@@ -195,7 +201,7 @@ ADDRESS_MAP_END
/* IO MAPS */
-static ADDRESS_MAP_START( z80_0_io, AS_IO, 8, istellar_state )
+ADDRESS_MAP_START(istellar_state::z80_0_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00,0x00) AM_READ_PORT("IN0")
AM_RANGE(0x02,0x02) AM_READ_PORT("DSW1")
@@ -204,14 +210,14 @@ static ADDRESS_MAP_START( z80_0_io, AS_IO, 8, istellar_state )
AM_RANGE(0x05,0x05) AM_READWRITE(z80_0_latch1_read,z80_0_latch2_write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( z80_1_io, AS_IO, 8, istellar_state )
+ADDRESS_MAP_START(istellar_state::z80_1_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00,0x00) AM_NOP /*AM_READWRITE(z80_1_slatch_read,z80_1_slatch_write)*/
AM_RANGE(0x01,0x01) AM_NOP /*AM_READWRITE(z80_1_nmienable,z80_1_soundwrite_front)*/
AM_RANGE(0x02,0x02) AM_NOP /*AM_WRITE(z80_1_soundwrite_rear)*/
ADDRESS_MAP_END
-static ADDRESS_MAP_START( z80_2_io, AS_IO, 8, istellar_state )
+ADDRESS_MAP_START(istellar_state::z80_2_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00,0x00) AM_READWRITE(z80_2_ldp_read,z80_2_ldp_write)
AM_RANGE(0x01,0x01) AM_READWRITE(z80_2_latch2_read,z80_2_latch1_write)
diff --git a/src/mame/drivers/istrebiteli.cpp b/src/mame/drivers/istrebiteli.cpp
index bf9bc0013e7..607a0fe1ab9 100644
--- a/src/mame/drivers/istrebiteli.cpp
+++ b/src/mame/drivers/istrebiteli.cpp
@@ -169,6 +169,8 @@ public:
uint8_t m_spr_xy[8];
uint8_t m_tileram[16];
void istreb(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
};
void istrebiteli_state::machine_start()
@@ -298,12 +300,12 @@ WRITE8_MEMBER(istrebiteli_state::spr_xy_w)
m_spr_xy[offset ^ 7] = data;
}
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, istrebiteli_state)
+ADDRESS_MAP_START(istrebiteli_state::mem_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1000, 0x13ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, istrebiteli_state)
+ADDRESS_MAP_START(istrebiteli_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xb0, 0xbf) AM_WRITE(tileram_w)
diff --git a/src/mame/drivers/itech32.cpp b/src/mame/drivers/itech32.cpp
index 13bbbb9867e..ee227812cad 100644
--- a/src/mame/drivers/itech32.cpp
+++ b/src/mame/drivers/itech32.cpp
@@ -894,7 +894,7 @@ void itech32_state::nvram_init(nvram_device &nvram, void *base, size_t length)
*************************************/
/*------ Time Killers memory layout ------*/
-static ADDRESS_MAP_START( timekill_map, AS_PROGRAM, 16, itech32_state )
+ADDRESS_MAP_START(itech32_state::timekill_map)
AM_RANGE(0x000000, 0x003fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x040000, 0x040001) AM_READ_PORT("P1")
AM_RANGE(0x048000, 0x048001) AM_READ_PORT("P2")
@@ -912,7 +912,7 @@ ADDRESS_MAP_END
/*------ BloodStorm and later games memory layout ------*/
-static ADDRESS_MAP_START( bloodstm_map, AS_PROGRAM, 16, itech32_state )
+ADDRESS_MAP_START(itech32_state::bloodstm_map)
AM_RANGE(0x000000, 0x00ffff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("P1") AM_WRITE(int1_ack_w)
AM_RANGE(0x100000, 0x100001) AM_READ_PORT("P2")
@@ -972,7 +972,7 @@ WRITE32_MEMBER(itech32_state::test2_w)
}
#endif
-static ADDRESS_MAP_START( drivedge_map, AS_PROGRAM, 32, itech32_state )
+ADDRESS_MAP_START(itech32_state::drivedge_map)
AM_RANGE(0x000000, 0x03ffff) AM_MIRROR(0x40000) AM_RAM AM_SHARE("nvram")
#if LOG_DRIVEDGE_UNINIT_RAM
AM_RANGE(0x000100, 0x0003ff) AM_MIRROR(0x40000) AM_READWRITE(test1_r, test1_w)
@@ -1000,20 +1000,20 @@ AM_RANGE(0x000c00, 0x007fff) AM_MIRROR(0x40000) AM_READWRITE(test2_r, test2_w)
AM_RANGE(0x600000, 0x607fff) AM_ROM AM_REGION("user1", 0) AM_SHARE("main_rom")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( drivedge_tms1_map, AS_PROGRAM, 32, itech32_state )
+ADDRESS_MAP_START(itech32_state::drivedge_tms1_map)
AM_RANGE(0x000000, 0x001fff) AM_RAM AM_SHARE("tms1_boot")
AM_RANGE(0x008000, 0x0083ff) AM_MIRROR(0x400) AM_RAM_WRITE(tms1_trigger_w) AM_SHARE("tms1_ram")
AM_RANGE(0x080000, 0x0bffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( drivedge_tms2_map, AS_PROGRAM, 32, itech32_state )
+ADDRESS_MAP_START(itech32_state::drivedge_tms2_map)
AM_RANGE(0x000000, 0x0003ff) AM_MIRROR(0x8400) AM_RAM_WRITE(tms2_trigger_w) AM_SHARE("tms2_ram")
AM_RANGE(0x080000, 0x08ffff) AM_RAM
ADDRESS_MAP_END
/*------ 68EC020-based memory layout ------*/
-static ADDRESS_MAP_START( itech020_map, AS_PROGRAM, 32, itech32_state )
+ADDRESS_MAP_START(itech32_state::itech020_map)
AM_RANGE(0x000000, 0x007fff) AM_RAM AM_SHARE("main_ram")
AM_RANGE(0x080000, 0x080003) AM_READ_PORT("P1") AM_WRITE(int1_ack32_w)
AM_RANGE(0x100000, 0x100003) AM_READ_PORT("P2")
@@ -1044,7 +1044,7 @@ ADDRESS_MAP_END
*************************************/
/*------ Rev 1 sound board memory layout ------*/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, itech32_state )
+ADDRESS_MAP_START(itech32_state::sound_map)
AM_RANGE(0x0000, 0x0000) AM_WRITE(sound_return_w)
AM_RANGE(0x0400, 0x0400) AM_READ(sound_data_r)
AM_RANGE(0x0800, 0x083f) AM_MIRROR(0x80) AM_DEVREADWRITE("ensoniq", es5506_device, read, write)
@@ -1058,7 +1058,7 @@ ADDRESS_MAP_END
/*------ Rev 2 sound board memory layout ------*/
-static ADDRESS_MAP_START( sound_020_map, AS_PROGRAM, 8, itech32_state )
+ADDRESS_MAP_START(itech32_state::sound_020_map)
AM_RANGE(0x0000, 0x0000) AM_MIRROR(0x400) AM_READ(sound_data_r)
AM_RANGE(0x0800, 0x083f) AM_MIRROR(0x80) AM_DEVREADWRITE("ensoniq", es5506_device, read, write)
AM_RANGE(0x0c00, 0x0c00) AM_WRITE(sound_bank_w)
diff --git a/src/mame/drivers/itech8.cpp b/src/mame/drivers/itech8.cpp
index 101aa7b555f..5c64f8acc82 100644
--- a/src/mame/drivers/itech8.cpp
+++ b/src/mame/drivers/itech8.cpp
@@ -857,7 +857,7 @@ WRITE8_MEMBER(itech8_state::ninclown_palette_w)
*************************************/
/*------ common layout with TMS34061 at 0000 ------*/
-static ADDRESS_MAP_START( tmslo_map, AS_PROGRAM, 8, itech8_state )
+ADDRESS_MAP_START(itech8_state::tmslo_map)
AM_RANGE(0x0000, 0x0fff) AM_READWRITE(tms34061_r, tms34061_w)
AM_RANGE(0x1100, 0x1100) AM_WRITENOP
AM_RANGE(0x1120, 0x1120) AM_WRITE(sound_data_w)
@@ -873,7 +873,7 @@ ADDRESS_MAP_END
/*------ common layout with TMS34061 at 1000 ------*/
-static ADDRESS_MAP_START( tmshi_map, AS_PROGRAM, 8, itech8_state )
+ADDRESS_MAP_START(itech8_state::tmshi_map)
AM_RANGE(0x1000, 0x1fff) AM_READWRITE(tms34061_r, tms34061_w)
AM_RANGE(0x0100, 0x0100) AM_WRITENOP
AM_RANGE(0x0120, 0x0120) AM_WRITE(sound_data_w)
@@ -889,7 +889,7 @@ ADDRESS_MAP_END
/*------ Golden Tee Golf II 1992 layout ------*/
-static ADDRESS_MAP_START( gtg2_map, AS_PROGRAM, 8, itech8_state )
+ADDRESS_MAP_START(itech8_state::gtg2_map)
AM_RANGE(0x0100, 0x0100) AM_READ_PORT("40") AM_WRITE(nmi_ack_w)
AM_RANGE(0x0120, 0x0120) AM_READ_PORT("60") AM_WRITE(page_w)
AM_RANGE(0x0140, 0x015f) AM_WRITE(palette_w)
@@ -904,7 +904,7 @@ static ADDRESS_MAP_START( gtg2_map, AS_PROGRAM, 8, itech8_state )
ADDRESS_MAP_END
/*------ Ninja Clowns layout ------*/
-static ADDRESS_MAP_START( ninclown_map, AS_PROGRAM, 16, itech8_state )
+ADDRESS_MAP_START(itech8_state::ninclown_map)
AM_RANGE(0x000000, 0x00007f) AM_RAM AM_REGION("maincpu", 0)
AM_RANGE(0x000080, 0x003fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x004000, 0x03ffff) AM_ROM
@@ -928,7 +928,7 @@ ADDRESS_MAP_END
*************************************/
/*------ YM2203-based sound ------*/
-static ADDRESS_MAP_START( sound2203_map, AS_PROGRAM, 8, itech8_state )
+ADDRESS_MAP_START(itech8_state::sound2203_map)
AM_RANGE(0x0000, 0x0000) AM_WRITENOP
AM_RANGE(0x1000, 0x1000) AM_READ(sound_data_r)
AM_RANGE(0x2000, 0x2001) AM_MIRROR(0x0002) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
@@ -939,7 +939,7 @@ ADDRESS_MAP_END
/*------ YM2608B-based sound ------*/
-static ADDRESS_MAP_START( sound2608b_map, AS_PROGRAM, 8, itech8_state )
+ADDRESS_MAP_START(itech8_state::sound2608b_map)
AM_RANGE(0x1000, 0x1000) AM_WRITENOP
AM_RANGE(0x2000, 0x2000) AM_READ(sound_data_r)
AM_RANGE(0x4000, 0x4003) AM_DEVREADWRITE("ymsnd", ym2608_device, read, write)
@@ -949,7 +949,7 @@ ADDRESS_MAP_END
/*------ YM3812-based sound ------*/
-static ADDRESS_MAP_START( sound3812_map, AS_PROGRAM, 8, itech8_state )
+ADDRESS_MAP_START(itech8_state::sound3812_map)
AM_RANGE(0x0000, 0x0000) AM_WRITENOP
AM_RANGE(0x1000, 0x1000) AM_READ(sound_data_r)
AM_RANGE(0x2000, 0x2001) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
@@ -961,7 +961,7 @@ ADDRESS_MAP_END
/*------ external YM3812-based sound board ------*/
-static ADDRESS_MAP_START( sound3812_external_map, AS_PROGRAM, 8, itech8_state )
+ADDRESS_MAP_START(itech8_state::sound3812_external_map)
AM_RANGE(0x0000, 0x0000) AM_WRITENOP
AM_RANGE(0x1000, 0x1000) AM_READ(sound_data_r)
AM_RANGE(0x2000, 0x2001) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
@@ -979,12 +979,12 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( slikz80_mem_map, AS_PROGRAM, 8, itech8_state )
+ADDRESS_MAP_START(itech8_state::slikz80_mem_map)
AM_RANGE(0x0000, 0x7ff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slikz80_io_map, AS_IO, 8, itech8_state )
+ADDRESS_MAP_START(itech8_state::slikz80_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READWRITE(slikz80_port_r, slikz80_port_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/itgambl2.cpp b/src/mame/drivers/itgambl2.cpp
index aa45eefcd15..5d099431225 100644
--- a/src/mame/drivers/itgambl2.cpp
+++ b/src/mame/drivers/itgambl2.cpp
@@ -81,6 +81,7 @@ public:
required_device<cpu_device> m_maincpu;
required_device<palette_device> m_palette;
void itgambl2(machine_config &config);
+ void itgambl2_map(address_map &map);
};
@@ -154,7 +155,7 @@ uint32_t itgambl2_state::screen_update_itgambl2(screen_device &screen, bitmap_rg
* Memory map information *
*************************/
-static ADDRESS_MAP_START( itgambl2_map, AS_PROGRAM, 16, itgambl2_state )
+ADDRESS_MAP_START(itgambl2_state::itgambl2_map)
AM_RANGE(0x000000, 0x3fff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/itgambl3.cpp b/src/mame/drivers/itgambl3.cpp
index d1ce4cd1ba9..19239096550 100644
--- a/src/mame/drivers/itgambl3.cpp
+++ b/src/mame/drivers/itgambl3.cpp
@@ -67,6 +67,7 @@ public:
required_device<cpu_device> m_maincpu;
required_device<palette_device> m_palette;
void itgambl3(machine_config &config);
+ void itgambl3_map(address_map &map);
};
@@ -140,7 +141,7 @@ uint32_t itgambl3_state::screen_update_itgambl3(screen_device &screen, bitmap_rg
* Memory map information *
*************************/
-static ADDRESS_MAP_START( itgambl3_map, AS_PROGRAM, 16, itgambl3_state )
+ADDRESS_MAP_START(itgambl3_state::itgambl3_map)
ADDRESS_MAP_GLOBAL_MASK(0xffffff)
AM_RANGE(0x000000, 0xffffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/itgamble.cpp b/src/mame/drivers/itgamble.cpp
index 9aa7073b728..2f49385b182 100644
--- a/src/mame/drivers/itgamble.cpp
+++ b/src/mame/drivers/itgamble.cpp
@@ -76,6 +76,7 @@ public:
void mnumber(machine_config &config);
void itgamble(machine_config &config);
+ void itgamble_map(address_map &map);
protected:
// devices
@@ -107,7 +108,7 @@ uint32_t itgamble_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
* Memory map information *
*************************/
-static ADDRESS_MAP_START( itgamble_map, AS_PROGRAM, 16, itgamble_state )
+ADDRESS_MAP_START(itgamble_state::itgamble_map)
ADDRESS_MAP_GLOBAL_MASK(0xffffff)
AM_RANGE(0x000000, 0xffffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/itt3030.cpp b/src/mame/drivers/itt3030.cpp
index e35901811b9..1cc7611580c 100644
--- a/src/mame/drivers/itt3030.cpp
+++ b/src/mame/drivers/itt3030.cpp
@@ -251,6 +251,9 @@ public:
DECLARE_PALETTE_INIT(itt3030);
void itt3030(machine_config &config);
+ void itt3030_io(address_map &map);
+ void itt3030_map(address_map &map);
+ void lower48_map(address_map &map);
protected:
// driver_device overrides
virtual void machine_start() override;
@@ -287,18 +290,18 @@ private:
// The upper 16K is always the top 16K of the first bank, F5 can set this to 32K
// Port F6 bits 7-5 select banks 0-7, bit 4 enables bank 8
-static ADDRESS_MAP_START( itt3030_map, AS_PROGRAM, 8, itt3030_state )
+ADDRESS_MAP_START(itt3030_state::itt3030_map)
AM_RANGE(0x0000, 0xbfff) AM_DEVICE("lowerbank", address_map_bank_device, amap8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lower48_map, AS_PROGRAM, 8, itt3030_state )
+ADDRESS_MAP_START(itt3030_state::lower48_map)
AM_RANGE(0x60000, 0x607ff) AM_ROM AM_REGION("maincpu", 0) // begin "page 8"
AM_RANGE(0x60800, 0x60fff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x61000, 0x610ff) AM_RAM AM_MIRROR(0x100) // only 256 bytes, but ROM also clears 11xx?
AM_RANGE(0x63000, 0x63fff) AM_RAM AM_SHARE("vram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( itt3030_io, AS_IO, 8, itt3030_state )
+ADDRESS_MAP_START(itt3030_state::itt3030_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x20, 0x2f) AM_DEVREADWRITE("crt5027", crt5027_device, read, write)
AM_RANGE(0x30, 0x31) AM_DEVREADWRITE("kbdmcu", i8741_device, upi41_master_r, upi41_master_w)
diff --git a/src/mame/drivers/jack.cpp b/src/mame/drivers/jack.cpp
index 8969cad7dd6..be814afa2ca 100644
--- a/src/mame/drivers/jack.cpp
+++ b/src/mame/drivers/jack.cpp
@@ -177,7 +177,7 @@ WRITE8_MEMBER(jack_state::joinem_control_w)
*
*************************************/
-static ADDRESS_MAP_START( jack_map, AS_PROGRAM, 8, jack_state )
+ADDRESS_MAP_START(jack_state::jack_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x5fff) AM_RAM
AM_RANGE(0xb000, 0xb07f) AM_RAM AM_SHARE("spriteram")
@@ -195,18 +195,18 @@ static ADDRESS_MAP_START( jack_map, AS_PROGRAM, 8, jack_state )
AM_RANGE(0xc000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, jack_state )
+ADDRESS_MAP_START(jack_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM AM_SHARE("decrypted_opcodes")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( striv_map, AS_PROGRAM, 8, jack_state )
+ADDRESS_MAP_START(jack_state::striv_map)
AM_IMPORT_FROM( jack_map )
AM_RANGE(0xb000, 0xb0ff) AM_WRITENOP
AM_RANGE(0xc000, 0xcfff) AM_READ(striv_question_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( joinem_map, AS_PROGRAM, 8, jack_state )
+ADDRESS_MAP_START(jack_state::joinem_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0xb000, 0xb07f) AM_RAM AM_SHARE("spriteram")
@@ -223,19 +223,19 @@ static ADDRESS_MAP_START( joinem_map, AS_PROGRAM, 8, jack_state )
AM_RANGE(0xbc00, 0xbfff) AM_RAM_WRITE(jack_colorram_w) AM_SHARE("colorram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( unclepoo_map, AS_PROGRAM, 8, jack_state )
+ADDRESS_MAP_START(jack_state::unclepoo_map)
AM_IMPORT_FROM( joinem_map )
AM_RANGE(0x9000, 0x97ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, jack_state )
+ADDRESS_MAP_START(jack_state::sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM
AM_RANGE(0x6000, 0x6fff) AM_WRITENOP /* R/C filter ??? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, jack_state )
+ADDRESS_MAP_START(jack_state::sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x40, 0x40) AM_DEVREADWRITE("aysnd", ay8910_device, data_r, data_w)
AM_RANGE(0x80, 0x80) AM_DEVWRITE("aysnd", ay8910_device, address_w)
@@ -943,7 +943,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(jack_state::treahunt, jack)
MCFG_CPU_MODIFY("maincpu")
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/jackal.cpp b/src/mame/drivers/jackal.cpp
index 142c8fa2fd4..33f9c4110cf 100644
--- a/src/mame/drivers/jackal.cpp
+++ b/src/mame/drivers/jackal.cpp
@@ -162,7 +162,7 @@ WRITE8_MEMBER(jackal_state::jackal_spriteram_w)
*
*************************************/
-static ADDRESS_MAP_START( master_map, AS_PROGRAM, 8, jackal_state )
+ADDRESS_MAP_START(jackal_state::master_map)
AM_RANGE(0x0000, 0x0003) AM_RAM AM_SHARE("videoctrl") // scroll + other things
AM_RANGE(0x0004, 0x0004) AM_WRITE(jackal_flipscreen_w)
AM_RANGE(0x0010, 0x0010) AM_READ_PORT("DSW1")
@@ -181,7 +181,7 @@ static ADDRESS_MAP_START( master_map, AS_PROGRAM, 8, jackal_state )
AM_RANGE(0xc000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_map, AS_PROGRAM, 8, jackal_state )
+ADDRESS_MAP_START(jackal_state::slave_map)
AM_RANGE(0x2000, 0x2001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0x4000, 0x43ff) AM_RAM_DEVWRITE("palette", palette_device, write_indirect) AM_SHARE("palette") // self test only checks 0x4000-0x423f, 007327 should actually go up to 4fff
AM_RANGE(0x6000, 0x605f) AM_RAM // SOUND RAM (Self test check 0x6000-605f, 0x7c00-0x7fff)
diff --git a/src/mame/drivers/jackie.cpp b/src/mame/drivers/jackie.cpp
index 11d8834f9de..160e1bb3d22 100644
--- a/src/mame/drivers/jackie.cpp
+++ b/src/mame/drivers/jackie.cpp
@@ -133,6 +133,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(irq);
void jackie(machine_config &config);
+ void jackie_io_map(address_map &map);
+ void jackie_prg_map(address_map &map);
};
@@ -386,12 +388,12 @@ READ8_MEMBER(jackie_state::expram_r)
}
-static ADDRESS_MAP_START( jackie_prg_map, AS_PROGRAM, 8, jackie_state )
+ADDRESS_MAP_START(jackie_state::jackie_prg_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xffff) AM_RAM AM_REGION("maincpu", 0xf000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jackie_io_map, AS_IO, 8, jackie_state )
+ADDRESS_MAP_START(jackie_state::jackie_io_map)
AM_RANGE(0x0520, 0x0524) AM_WRITE(unk_reg1_lo_w)
AM_RANGE(0x0d20, 0x0d24) AM_WRITE(unk_reg1_hi_w)
AM_RANGE(0x0560, 0x0564) AM_WRITE(unk_reg2_lo_w)
diff --git a/src/mame/drivers/jackpool.cpp b/src/mame/drivers/jackpool.cpp
index 332a96ff495..4bd8a0f024d 100644
--- a/src/mame/drivers/jackpool.cpp
+++ b/src/mame/drivers/jackpool.cpp
@@ -52,6 +52,7 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
void jackpool(machine_config &config);
+ void jackpool_mem(address_map &map);
};
@@ -137,7 +138,7 @@ WRITE_LINE_MEMBER(jackpool_state::map_vreg_w)
m_map_vreg = state;
}
-static ADDRESS_MAP_START( jackpool_mem, AS_PROGRAM, 16, jackpool_state )
+ADDRESS_MAP_START(jackpool_state::jackpool_mem)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x120000, 0x1200ff) AM_RAM
diff --git a/src/mame/drivers/jade.cpp b/src/mame/drivers/jade.cpp
index cfbd8d3c70a..db6fe90f663 100644
--- a/src/mame/drivers/jade.cpp
+++ b/src/mame/drivers/jade.cpp
@@ -34,18 +34,20 @@ public:
{ }
void jade(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 8, jade_state)
+ADDRESS_MAP_START(jade_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x07ff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0x0800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(io_map, AS_IO, 8, jade_state)
+ADDRESS_MAP_START(jade_state::io_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x28, 0x2b) AM_DEVREADWRITE("ctc2", z80ctc_device, read, write)
diff --git a/src/mame/drivers/jaguar.cpp b/src/mame/drivers/jaguar.cpp
index d7830fb4893..5bc12633083 100644
--- a/src/mame/drivers/jaguar.cpp
+++ b/src/mame/drivers/jaguar.cpp
@@ -1105,7 +1105,7 @@ WRITE16_MEMBER(jaguar_state::gpu_clut_w16){ if (!(offset&1)) { gpu_clut_w(space,
READ16_MEMBER(jaguar_state::gpu_ram_r16){ if (!(offset&1)) { return gpu_ram_r(space, offset>>1, mem_mask<<16) >> 16; } else { return gpu_ram_r(space, offset>>1, mem_mask); } }
WRITE16_MEMBER(jaguar_state::gpu_ram_w16){ if (!(offset&1)) { gpu_ram_w(space, offset>>1, data << 16, mem_mask << 16); } else { gpu_ram_w(space, offset>>1, data, mem_mask); } }
-static ADDRESS_MAP_START( jaguar_map, AS_PROGRAM, 16, jaguar_state )
+ADDRESS_MAP_START(jaguar_state::jaguar_map)
ADDRESS_MAP_GLOBAL_MASK(0xffffff)
AM_RANGE(0x000000, 0x1fffff) AM_MIRROR(0x200000) AM_READWRITE(shared_ram_r16, shared_ram_w16 );
AM_RANGE(0x800000, 0xdfffff) AM_READWRITE(cart_base_r16, cart_base_w16 )
@@ -1293,7 +1293,7 @@ WRITE32_MEMBER(jaguar_state::butch_regs_w)
}
}
-static ADDRESS_MAP_START( jaguarcd_map, AS_PROGRAM, 16, jaguar_state )
+ADDRESS_MAP_START(jaguar_state::jaguarcd_map)
ADDRESS_MAP_GLOBAL_MASK(0xffffff)
AM_RANGE(0x000000, 0x1fffff) AM_MIRROR(0x200000) AM_READWRITE(shared_ram_r16, shared_ram_w16 );
AM_RANGE(0x800000, 0x83ffff) AM_ROM AM_REGION("cdbios", 0)
@@ -1320,7 +1320,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( r3000_map, AS_PROGRAM, 32, jaguar_state )
+ADDRESS_MAP_START(jaguar_state::r3000_map)
AM_RANGE(0x04000000, 0x047fffff) AM_RAM AM_SHARE("sharedram")
AM_RANGE(0x04800000, 0x04bfffff) AM_ROMBANK("maingfxbank")
AM_RANGE(0x04c00000, 0x04dfffff) AM_ROMBANK("mainsndbank")
@@ -1351,7 +1351,7 @@ static ADDRESS_MAP_START( r3000_map, AS_PROGRAM, 32, jaguar_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( m68020_map, AS_PROGRAM, 32, jaguar_state )
+ADDRESS_MAP_START(jaguar_state::m68020_map)
AM_RANGE(0x000000, 0x7fffff) AM_RAM AM_SHARE("sharedram")
AM_RANGE(0x800000, 0x9fffff) AM_ROM AM_REGION("maincpu", 0) AM_SHARE("rom")
AM_RANGE(0xa00000, 0xa1ffff) AM_RAM AM_SHARE("mainram")
@@ -1386,7 +1386,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( gpu_map, AS_PROGRAM, 32, jaguar_state )
+ADDRESS_MAP_START(jaguar_state::gpu_map)
AM_RANGE(0x000000, 0x7fffff) AM_RAM AM_SHARE("sharedram")
AM_RANGE(0x800000, 0xbfffff) AM_ROMBANK("gpugfxbank")
AM_RANGE(0xc00000, 0xdfffff) AM_ROMBANK("dspsndbank")
@@ -1409,7 +1409,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( dsp_map, AS_PROGRAM, 32, jaguar_state )
+ADDRESS_MAP_START(jaguar_state::dsp_map)
AM_RANGE(0x000000, 0x7fffff) AM_RAM AM_SHARE("sharedram")
AM_RANGE(0x800000, 0xbfffff) AM_ROMBANK("gpugfxbank")
AM_RANGE(0xc00000, 0xdfffff) AM_ROMBANK("dspsndbank")
@@ -1422,7 +1422,7 @@ ADDRESS_MAP_END
/* ToDo, these maps SHOULD be merged with the ones above */
-static ADDRESS_MAP_START( jag_gpu_map, AS_PROGRAM, 32, jaguar_state )
+ADDRESS_MAP_START(jaguar_state::jag_gpu_map)
ADDRESS_MAP_GLOBAL_MASK(0xffffff)
AM_RANGE(0x000000, 0x1fffff) AM_RAM AM_MIRROR(0x200000) AM_SHARE("sharedram") AM_REGION("maincpu", 0)
AM_RANGE(0x800000, 0xdfffff) AM_ROM AM_SHARE("cart") AM_REGION("maincpu", 0x800000)
@@ -1440,7 +1440,7 @@ static ADDRESS_MAP_START( jag_gpu_map, AS_PROGRAM, 32, jaguar_state )
AM_RANGE(0xf1d000, 0xf1dfff) AM_ROM AM_SHARE("waverom") AM_REGION("waverom", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jag_dsp_map, AS_PROGRAM, 32, jaguar_state )
+ADDRESS_MAP_START(jaguar_state::jag_dsp_map)
ADDRESS_MAP_GLOBAL_MASK(0xffffff)
AM_RANGE(0x000000, 0x1fffff) AM_MIRROR(0x200000) AM_RAM AM_SHARE("sharedram") AM_REGION("maincpu", 0)
AM_RANGE(0x800000, 0xdfffff) AM_ROM AM_SHARE("cart") AM_REGION("maincpu", 0x800000)
@@ -1458,7 +1458,7 @@ static ADDRESS_MAP_START( jag_dsp_map, AS_PROGRAM, 32, jaguar_state )
AM_RANGE(0xf1d000, 0xf1dfff) AM_ROM AM_REGION("waverom", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jagcd_gpu_map, AS_PROGRAM, 32, jaguar_state )
+ADDRESS_MAP_START(jaguar_state::jagcd_gpu_map)
ADDRESS_MAP_GLOBAL_MASK(0xffffff)
AM_RANGE(0x000000, 0x1fffff) AM_RAM AM_MIRROR(0x200000) AM_SHARE("sharedram") AM_REGION("maincpu", 0)
AM_RANGE(0x800000, 0x83ffff) AM_ROM AM_REGION("cdbios", 0)
@@ -1477,7 +1477,7 @@ static ADDRESS_MAP_START( jagcd_gpu_map, AS_PROGRAM, 32, jaguar_state )
AM_RANGE(0xf1d000, 0xf1dfff) AM_ROM AM_SHARE("waverom") AM_REGION("waverom", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jagcd_dsp_map, AS_PROGRAM, 32, jaguar_state )
+ADDRESS_MAP_START(jaguar_state::jagcd_dsp_map)
ADDRESS_MAP_GLOBAL_MASK(0xffffff)
AM_RANGE(0x000000, 0x1fffff) AM_MIRROR(0x200000) AM_RAM AM_SHARE("sharedram") AM_REGION("maincpu", 0)
AM_RANGE(0x800000, 0x83ffff) AM_ROM AM_REGION("cdbios", 0)
diff --git a/src/mame/drivers/jailbrek.cpp b/src/mame/drivers/jailbrek.cpp
index dbc97373c45..b486b5185f2 100644
--- a/src/mame/drivers/jailbrek.cpp
+++ b/src/mame/drivers/jailbrek.cpp
@@ -136,7 +136,7 @@ WRITE8_MEMBER(jailbrek_state::speech_w)
m_vlm->rst((data >> 2) & 1);
}
-static ADDRESS_MAP_START( jailbrek_map, AS_PROGRAM, 8, jailbrek_state )
+ADDRESS_MAP_START(jailbrek_state::jailbrek_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM_WRITE(colorram_w) AM_SHARE("colorram")
AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
AM_RANGE(0x1000, 0x10bf) AM_RAM AM_SHARE("spriteram")
@@ -161,7 +161,7 @@ static ADDRESS_MAP_START( jailbrek_map, AS_PROGRAM, 8, jailbrek_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vlm_map, 0, 8, jailbrek_state )
+ADDRESS_MAP_START(jailbrek_state::vlm_map)
ADDRESS_MAP_GLOBAL_MASK(0x1fff)
AM_RANGE(0x0000, 0x1fff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/jalmah.cpp b/src/mame/drivers/jalmah.cpp
index 0d4797373b5..5923ea99b4c 100644
--- a/src/mame/drivers/jalmah.cpp
+++ b/src/mame/drivers/jalmah.cpp
@@ -234,6 +234,8 @@ public:
required_device<palette_device> m_palette;
void urashima(machine_config &config);
void jalmah(machine_config &config);
+ void jalmah(address_map &map);
+ void urashima(address_map &map);
};
@@ -1015,7 +1017,7 @@ WRITE16_MEMBER(jalmah_state::jalmah_flip_screen_w)
// popmessage("%04x",data);
}
-static ADDRESS_MAP_START( jalmah, AS_PROGRAM, 16, jalmah_state )
+ADDRESS_MAP_START(jalmah_state::jalmah)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("SYSTEM")
AM_RANGE(0x080002, 0x080003) AM_READ_PORT("DSW")
@@ -1039,7 +1041,7 @@ static ADDRESS_MAP_START( jalmah, AS_PROGRAM, 16, jalmah_state )
AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_SHARE("jmcu_code")/*extra RAM for MCU code prg (NOT ON REAL HW!!!)*/
ADDRESS_MAP_END
-static ADDRESS_MAP_START( urashima, AS_PROGRAM, 16, jalmah_state )
+ADDRESS_MAP_START(jalmah_state::urashima)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("SYSTEM")
AM_RANGE(0x080002, 0x080003) AM_READ_PORT("DSW")
diff --git a/src/mame/drivers/jangou.cpp b/src/mame/drivers/jangou.cpp
index 255e0854b17..a60df09a0d3 100644
--- a/src/mame/drivers/jangou.cpp
+++ b/src/mame/drivers/jangou.cpp
@@ -113,6 +113,18 @@ public:
void roylcrdn(machine_config &config);
void cntrygrl(machine_config &config);
void jangou(machine_config &config);
+ void cntrygrl_cpu0_io(address_map &map);
+ void cntrygrl_cpu0_map(address_map &map);
+ void cpu0_io(address_map &map);
+ void cpu0_map(address_map &map);
+ void cpu1_io(address_map &map);
+ void cpu1_map(address_map &map);
+ void jngolady_cpu0_map(address_map &map);
+ void jngolady_cpu1_io(address_map &map);
+ void jngolady_cpu1_map(address_map &map);
+ void nsc_map(address_map &map);
+ void roylcrdn_cpu0_io(address_map &map);
+ void roylcrdn_cpu0_map(address_map &map);
};
@@ -326,12 +338,12 @@ WRITE8_MEMBER(jangou_state::slave_com_w)
*
*************************************/
-static ADDRESS_MAP_START( cpu0_map, AS_PROGRAM, 8, jangou_state )
+ADDRESS_MAP_START(jangou_state::cpu0_map)
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpu0_io, AS_IO, 8, jangou_state )
+ADDRESS_MAP_START(jangou_state::cpu0_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x01,0x01) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE(0x02,0x03) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -344,11 +356,11 @@ static ADDRESS_MAP_START( cpu0_io, AS_IO, 8, jangou_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpu1_map, AS_PROGRAM, 8, jangou_state )
+ADDRESS_MAP_START(jangou_state::cpu1_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpu1_io, AS_IO, 8, jangou_state )
+ADDRESS_MAP_START(jangou_state::cpu1_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00,0x00) AM_READ(sound_latch_r)
AM_RANGE(0x01,0x01) AM_WRITE(cvsd_w)
@@ -362,18 +374,18 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( jngolady_cpu0_map, AS_PROGRAM, 8, jangou_state )
+ADDRESS_MAP_START(jangou_state::jngolady_cpu0_map)
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("share1")
AM_RANGE(0xe000, 0xe000) AM_READWRITE(master_com_r,master_com_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jngolady_cpu1_map, AS_PROGRAM, 8, jangou_state )
+ADDRESS_MAP_START(jangou_state::jngolady_cpu1_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jngolady_cpu1_io, AS_IO, 8, jangou_state )
+ADDRESS_MAP_START(jangou_state::jngolady_cpu1_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00,0x00) AM_READ(sound_latch_r)
AM_RANGE(0x01,0x01) AM_WRITE(adpcm_w)
@@ -381,7 +393,7 @@ static ADDRESS_MAP_START( jngolady_cpu1_io, AS_IO, 8, jangou_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nsc_map, AS_PROGRAM, 8, jangou_state )
+ADDRESS_MAP_START(jangou_state::nsc_map)
AM_RANGE(0x0000, 0x007f) AM_RAM //internal ram for irq etc.
AM_RANGE(0x8000, 0x8000) AM_WRITENOP //write-only,irq related?
AM_RANGE(0x9000, 0x9000) AM_READWRITE(slave_com_r,slave_com_w)
@@ -395,13 +407,13 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( cntrygrl_cpu0_map, AS_PROGRAM, 8, jangou_state )
+ADDRESS_MAP_START(jangou_state::cntrygrl_cpu0_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
// AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xe000, 0xefff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cntrygrl_cpu0_io, AS_IO, 8, jangou_state )
+ADDRESS_MAP_START(jangou_state::cntrygrl_cpu0_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x01,0x01) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE(0x02,0x03) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -420,12 +432,12 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( roylcrdn_cpu0_map, AS_PROGRAM, 8, jangou_state )
+ADDRESS_MAP_START(jangou_state::roylcrdn_cpu0_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x7000, 0x77ff) AM_RAM AM_SHARE("nvram") /* MK48Z02B-15 ZEROPOWER RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( roylcrdn_cpu0_io, AS_IO, 8, jangou_state )
+ADDRESS_MAP_START(jangou_state::roylcrdn_cpu0_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x01,0x01) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE(0x02,0x03) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
diff --git a/src/mame/drivers/jankenmn.cpp b/src/mame/drivers/jankenmn.cpp
index 07b9f54482e..7adf616dfac 100644
--- a/src/mame/drivers/jankenmn.cpp
+++ b/src/mame/drivers/jankenmn.cpp
@@ -174,6 +174,8 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(hopper_status_r);
void jankenmn(machine_config &config);
+ void jankenmn_map(address_map &map);
+ void jankenmn_port_map(address_map &map);
};
@@ -250,13 +252,13 @@ CUSTOM_INPUT_MEMBER(jankenmn_state::hopper_status_r)
* Memory Map Definition *
*********************************************/
-static ADDRESS_MAP_START( jankenmn_map, AS_PROGRAM, 8, jankenmn_state )
+ADDRESS_MAP_START(jankenmn_state::jankenmn_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xe000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jankenmn_port_map, AS_IO, 8, jankenmn_state )
+ADDRESS_MAP_START(jankenmn_state::jankenmn_port_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ctc", z80ctc_device, read, write)
AM_RANGE(0x10, 0x13) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
diff --git a/src/mame/drivers/jantotsu.cpp b/src/mame/drivers/jantotsu.cpp
index 1dd57856304..8253745bc2d 100644
--- a/src/mame/drivers/jantotsu.cpp
+++ b/src/mame/drivers/jantotsu.cpp
@@ -144,6 +144,8 @@ public:
required_device<msm5205_device> m_adpcm;
required_device<palette_device> m_palette;
void jantotsu(machine_config &config);
+ void jantotsu_io(address_map &map);
+ void jantotsu_map(address_map &map);
};
@@ -332,13 +334,13 @@ WRITE_LINE_MEMBER(jantotsu_state::jan_adpcm_int)
*
*************************************/
-static ADDRESS_MAP_START( jantotsu_map, AS_PROGRAM, 8, jantotsu_state )
+ADDRESS_MAP_START(jantotsu_state::jantotsu_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xe000, 0xffff) AM_READWRITE(jantotsu_bitmap_r, jantotsu_bitmap_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jantotsu_io, AS_IO, 8, jantotsu_state )
+ADDRESS_MAP_START(jantotsu_state::jantotsu_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW1") AM_DEVWRITE("sn1", sn76489a_device, write)
AM_RANGE(0x01, 0x01) AM_READ(jantotsu_dsw2_r) AM_DEVWRITE("sn2", sn76489a_device, write)
diff --git a/src/mame/drivers/jchan.cpp b/src/mame/drivers/jchan.cpp
index 150a9774b0f..3a4c4c8bc84 100644
--- a/src/mame/drivers/jchan.cpp
+++ b/src/mame/drivers/jchan.cpp
@@ -223,6 +223,8 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(vblank);
void jchan(machine_config &config);
+ void jchan_main(address_map &map);
+ void jchan_sub(address_map &map);
};
@@ -428,7 +430,7 @@ WRITE16_MEMBER(jchan_state::sknsspr_sprite32regs_2_w)
}
-static ADDRESS_MAP_START( jchan_main, AS_PROGRAM, 16, jchan_state )
+ADDRESS_MAP_START(jchan_state::jchan_main)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // Work RAM - [A] grid tested, cleared ($9d6-$a54)
@@ -453,7 +455,7 @@ static ADDRESS_MAP_START( jchan_main, AS_PROGRAM, 16, jchan_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jchan_sub, AS_PROGRAM, 16, jchan_state )
+ADDRESS_MAP_START(jchan_state::jchan_sub)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM // Work RAM - grid tested, cleared ($612-$6dc)
diff --git a/src/mame/drivers/jclub2.cpp b/src/mame/drivers/jclub2.cpp
index 750fd7eb155..534a09f84c1 100644
--- a/src/mame/drivers/jclub2.cpp
+++ b/src/mame/drivers/jclub2.cpp
@@ -170,6 +170,7 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void jclub2(machine_config &config);
+ void jclub2_map(address_map &map);
private:
required_device<st0020_device> m_st0020;
};
@@ -200,6 +201,9 @@ public:
DECLARE_READ32_MEMBER(cmd_stat_word_r);
void jclub2o(machine_config &config);
+ void jclub2o_map(address_map &map);
+ void st0016_io(address_map &map);
+ void st0016_mem(address_map &map);
private:
uint8_t m_cmd1;
uint8_t m_cmd2;
@@ -238,6 +242,7 @@ public:
DECLARE_VIDEO_START(darkhors);
void darkhors(machine_config &config);
+ void darkhors_map(address_map &map);
private:
required_shared_ptr<uint32_t> m_tmapram;
required_shared_ptr<uint32_t> m_tmapscroll;
@@ -567,7 +572,7 @@ WRITE32_MEMBER(jclub2o_state::cmd2_word_w)
}
}
-static ADDRESS_MAP_START( jclub2o_map, AS_PROGRAM, 32, jclub2o_state )
+ADDRESS_MAP_START(jclub2o_state::jclub2o_map)
AM_RANGE(0x000000, 0x27ffff) AM_ROM
AM_RANGE(0x400000, 0x41ffff) AM_RAM AM_SHARE("nvram") // battery
@@ -649,7 +654,7 @@ WRITE8_MEMBER(jclub2o_state::cmd2_w)
logerror("%s: cmd2_w %02x\n", machine().describe_context(), m_cmd2);
}
-static ADDRESS_MAP_START( st0016_mem, AS_PROGRAM, 8, jclub2o_state )
+ADDRESS_MAP_START(jclub2o_state::st0016_mem)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xe800, 0xe8ff) AM_RAM
@@ -658,7 +663,7 @@ static ADDRESS_MAP_START( st0016_mem, AS_PROGRAM, 8, jclub2o_state )
AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( st0016_io, AS_IO, 8, jclub2o_state )
+ADDRESS_MAP_START(jclub2o_state::st0016_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
//AM_RANGE(0x00, 0xbf) AM_READ(st0016_vregs_r) AM_WRITE(st0016_vregs_w)
AM_RANGE(0xc0, 0xc0) AM_READWRITE(cmd1_r, cmd1_w)
@@ -690,7 +695,7 @@ WRITE32_MEMBER(common_state::eeprom_93c46_w)
}
}
-static ADDRESS_MAP_START( jclub2_map, AS_PROGRAM, 32, jclub2_state )
+ADDRESS_MAP_START(jclub2_state::jclub2_map)
AM_RANGE(0x000000, 0x27ffff) AM_ROM
AM_RANGE(0x400000, 0x41ffff) AM_RAM AM_SHARE("nvram") // battery
@@ -779,7 +784,7 @@ WRITE32_MEMBER(darkhors_state::out1_w)
}
}
-static ADDRESS_MAP_START( darkhors_map, AS_PROGRAM, 32, darkhors_state )
+ADDRESS_MAP_START(darkhors_state::darkhors_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x400000, 0x41ffff) AM_RAM AM_SHARE("nvram") // battery
diff --git a/src/mame/drivers/jedi.cpp b/src/mame/drivers/jedi.cpp
index ece7c810e60..76904028678 100644
--- a/src/mame/drivers/jedi.cpp
+++ b/src/mame/drivers/jedi.cpp
@@ -266,7 +266,7 @@ WRITE8_MEMBER(jedi_state::nvram_enable_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, jedi_state )
+ADDRESS_MAP_START(jedi_state::main_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x0800, 0x08ff) AM_MIRROR(0x0300) AM_RAM_WRITE(nvram_data_w) AM_SHARE("nvram")
AM_RANGE(0x0c00, 0x0c00) AM_MIRROR(0x03fe) AM_READ_PORT("0c00") AM_WRITENOP
diff --git a/src/mame/drivers/jeutel.cpp b/src/mame/drivers/jeutel.cpp
index 9508d4a5085..2deb428b4ff 100644
--- a/src/mame/drivers/jeutel.cpp
+++ b/src/mame/drivers/jeutel.cpp
@@ -46,6 +46,10 @@ public:
DECLARE_WRITE8_MEMBER(sndcmd_w);
TIMER_DEVICE_CALLBACK_MEMBER(timer_a);
void jeutel(machine_config &config);
+ void jeutel_cpu2(address_map &map);
+ void jeutel_cpu3(address_map &map);
+ void jeutel_cpu3_io(address_map &map);
+ void jeutel_map(address_map &map);
private:
bool m_timer_a;
uint8_t m_sndcmd;
@@ -57,7 +61,7 @@ private:
};
-static ADDRESS_MAP_START( jeutel_map, AS_PROGRAM, 8, jeutel_state )
+ADDRESS_MAP_START(jeutel_state::jeutel_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0xc000, 0xc3ff) AM_RAM AM_SHARE("shared")
@@ -65,7 +69,7 @@ static ADDRESS_MAP_START( jeutel_map, AS_PROGRAM, 8, jeutel_state )
AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE("ppi8255_2", i8255_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jeutel_cpu2, AS_PROGRAM, 8, jeutel_state )
+ADDRESS_MAP_START(jeutel_state::jeutel_cpu2)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_ROM AM_REGION("roms", 0x2000)
AM_RANGE(0x2000, 0x2003) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
@@ -75,14 +79,14 @@ static ADDRESS_MAP_START( jeutel_cpu2, AS_PROGRAM, 8, jeutel_state )
AM_RANGE(0xc000, 0xc3ff) AM_RAM AM_SHARE("shared")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jeutel_cpu3, AS_PROGRAM, 8, jeutel_state )
+ADDRESS_MAP_START(jeutel_state::jeutel_cpu3)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_ROM AM_REGION("roms", 0x3000)
AM_RANGE(0x4000, 0x43ff) AM_RAM
AM_RANGE(0x8000, 0x8000) AM_WRITE(sndcmd_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jeutel_cpu3_io, AS_IO, 8, jeutel_state )
+ADDRESS_MAP_START(jeutel_state::jeutel_cpu3_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("aysnd", ay8910_device, address_w)
AM_RANGE(0x01, 0x01) AM_DEVWRITE("aysnd", ay8910_device, data_w)
diff --git a/src/mame/drivers/joctronic.cpp b/src/mame/drivers/joctronic.cpp
index 91274f0cc39..8f35c410a4c 100644
--- a/src/mame/drivers/joctronic.cpp
+++ b/src/mame/drivers/joctronic.cpp
@@ -62,6 +62,14 @@ public:
void slalom03(machine_config &config);
void joctronic(machine_config &config);
void bldyrolr(machine_config &config);
+ void bldyrolr_maincpu_map(address_map &map);
+ void joctronic_sound_io_map(address_map &map);
+ void joctronic_sound_map(address_map &map);
+ void maincpu_io_map(address_map &map);
+ void maincpu_map(address_map &map);
+ void slalom03_maincpu_map(address_map &map);
+ void slalom03_sound_io_map(address_map &map);
+ void slalom03_sound_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_soundcpu;
@@ -119,7 +127,7 @@ WRITE8_MEMBER(joctronic_state::drivers_b_w)
logerror("drivers_b[%d] = $%02X\n", offset, data);
}
-static ADDRESS_MAP_START( maincpu_map, AS_PROGRAM, 8, joctronic_state )
+ADDRESS_MAP_START(joctronic_state::maincpu_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_MIRROR(0x4000) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_MIRROR(0x0800) AM_RAM AM_SHARE("nvram")
@@ -169,7 +177,7 @@ WRITE8_MEMBER(joctronic_state::display_ck_w)
logerror("display_ck[%d] = $%02X\n", offset, data);
}
-static ADDRESS_MAP_START( slalom03_maincpu_map, AS_PROGRAM, 8, joctronic_state )
+ADDRESS_MAP_START(joctronic_state::slalom03_maincpu_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_MIRROR(0x0800) AM_RAM AM_SHARE("nvram")
@@ -196,12 +204,12 @@ WRITE8_MEMBER(joctronic_state::bldyrolr_unknown_w)
logerror("bldyrolr_unknown = $%02X\n", data);
}
-static ADDRESS_MAP_START( bldyrolr_maincpu_map, AS_PROGRAM, 8, joctronic_state )
+ADDRESS_MAP_START(joctronic_state::bldyrolr_maincpu_map)
AM_IMPORT_FROM(slalom03_maincpu_map)
AM_RANGE(0xc000, 0xc000) AM_READWRITE(bldyrolr_unknown_r, bldyrolr_unknown_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( maincpu_io_map, AS_IO, 8, joctronic_state )
+ADDRESS_MAP_START(joctronic_state::maincpu_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x03)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ctc", z80ctc_device, read, write)
ADDRESS_MAP_END
@@ -253,14 +261,14 @@ WRITE_LINE_MEMBER(joctronic_state::vck_w)
}
}
-static ADDRESS_MAP_START( joctronic_sound_map, AS_PROGRAM, 8, joctronic_state )
+ADDRESS_MAP_START(joctronic_state::joctronic_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_MIRROR(0x4000) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_MIRROR(0x1800) AM_RAM // only lower half of 2016 used?
AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x1fff) AM_READ(soundlatch_nmi_r) // SCSP
AM_RANGE(0xe000, 0xe000) AM_MIRROR(0x1fff) AM_WRITE(resint_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( joctronic_sound_io_map, AS_IO, 8, joctronic_state )
+ADDRESS_MAP_START(joctronic_state::joctronic_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x03)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("aysnd1", ay8910_device, address_w)
AM_RANGE(0x01, 0x01) AM_DEVWRITE("aysnd1", ay8910_device, data_w)
@@ -268,13 +276,13 @@ static ADDRESS_MAP_START( joctronic_sound_io_map, AS_IO, 8, joctronic_state )
AM_RANGE(0x03, 0x03) AM_DEVWRITE("aysnd2", ay8910_device, data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slalom03_sound_map, AS_PROGRAM, 8, joctronic_state )
+ADDRESS_MAP_START(joctronic_state::slalom03_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("soundbank")
AM_RANGE(0xc000, 0xc7ff) AM_MIRROR(0x3800) AM_RAM // only lower half of 2016 used?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slalom03_sound_io_map, AS_IO, 8, joctronic_state )
+ADDRESS_MAP_START(joctronic_state::slalom03_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x07)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("aysnd1", ay8910_device, address_w)
AM_RANGE(0x01, 0x01) AM_DEVWRITE("aysnd1", ay8910_device, data_w)
diff --git a/src/mame/drivers/jokrwild.cpp b/src/mame/drivers/jokrwild.cpp
index 571654d5eb3..5abe0c584da 100644
--- a/src/mame/drivers/jokrwild.cpp
+++ b/src/mame/drivers/jokrwild.cpp
@@ -107,6 +107,7 @@ public:
required_device<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
void jokrwild(machine_config &config);
+ void jokrwild_map(address_map &map);
};
@@ -177,7 +178,7 @@ READ8_MEMBER(jokrwild_state::rng_r)
* Memory Map Information *
*************************/
-static ADDRESS_MAP_START( jokrwild_map, AS_PROGRAM, 8, jokrwild_state )
+ADDRESS_MAP_START(jokrwild_state::jokrwild_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM_WRITE(jokrwild_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x0400, 0x07ff) AM_RAM //FIXME: backup RAM
AM_RANGE(0x2000, 0x23ff) AM_RAM_WRITE(jokrwild_colorram_w) AM_SHARE("colorram")
diff --git a/src/mame/drivers/jollyjgr.cpp b/src/mame/drivers/jollyjgr.cpp
index f9f5a76a2e9..4d3892a5ac9 100644
--- a/src/mame/drivers/jollyjgr.cpp
+++ b/src/mame/drivers/jollyjgr.cpp
@@ -176,6 +176,8 @@ public:
required_device<palette_device> m_bm_palette;
void fspider(machine_config &config);
void jollyjgr(machine_config &config);
+ void fspider_map(address_map &map);
+ void jollyjgr_map(address_map &map);
};
@@ -239,7 +241,7 @@ WRITE8_MEMBER(jollyjgr_state::jollyjgr_coin_lookout_w)
*
*************************************/
-static ADDRESS_MAP_START( jollyjgr_map, AS_PROGRAM, 8, jollyjgr_state )
+ADDRESS_MAP_START(jollyjgr_state::jollyjgr_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8ff8, 0x8ff8) AM_READ_PORT("DSW1")
@@ -256,7 +258,7 @@ static ADDRESS_MAP_START( jollyjgr_map, AS_PROGRAM, 8, jollyjgr_state )
AM_RANGE(0xa000, 0xffff) AM_RAM AM_SHARE("bitmap")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fspider_map, AS_PROGRAM, 8, jollyjgr_state )
+ADDRESS_MAP_START(jollyjgr_state::fspider_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8ff8, 0x8ff8) AM_READ_PORT("DSW1")
diff --git a/src/mame/drivers/jongkyo.cpp b/src/mame/drivers/jongkyo.cpp
index 8a3913a79e0..80da6b5ef99 100644
--- a/src/mame/drivers/jongkyo.cpp
+++ b/src/mame/drivers/jongkyo.cpp
@@ -67,6 +67,9 @@ public:
uint32_t screen_update_jongkyo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
void jongkyo(machine_config &config);
+ void decrypted_opcodes_map(address_map &map);
+ void jongkyo_memmap(address_map &map);
+ void jongkyo_portmap(address_map &map);
};
@@ -239,7 +242,7 @@ WRITE8_MEMBER(jongkyo_state::unknown_w)
*
*************************************/
-static ADDRESS_MAP_START( jongkyo_memmap, AS_PROGRAM, 8, jongkyo_state )
+ADDRESS_MAP_START(jongkyo_state::jongkyo_memmap)
AM_RANGE(0x0000, 0x3fff) AM_ROM AM_WRITE(videoram2_w) // wrong, this doesn't seem to be video ram on write..
AM_RANGE(0x4000, 0x6bff) AM_ROM // fixed rom
AM_RANGE(0x6c00, 0x6fff) AM_ROMBANK("bank1") // banked (8 banks)
@@ -247,13 +250,13 @@ static ADDRESS_MAP_START( jongkyo_memmap, AS_PROGRAM, 8, jongkyo_state )
AM_RANGE(0x8000, 0xffff) AM_RAM AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, jongkyo_state )
+ADDRESS_MAP_START(jongkyo_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0x6bff) AM_ROMBANK("bank0d")
AM_RANGE(0x6c00, 0x6fff) AM_ROMBANK("bank1d")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jongkyo_portmap, AS_IO, 8, jongkyo_state )
+ADDRESS_MAP_START(jongkyo_state::jongkyo_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
// R 01 keyboard
AM_RANGE(0x01, 0x01) AM_DEVREAD("aysnd", ay8910_device, data_r)
@@ -497,7 +500,7 @@ MACHINE_CONFIG_START(jongkyo_state::jongkyo)
MCFG_CPU_ADD("maincpu", SEGA_315_5084,JONGKYO_CLOCK/4)
MCFG_CPU_PROGRAM_MAP(jongkyo_memmap)
MCFG_CPU_IO_MAP(jongkyo_portmap)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", jongkyo_state, irq0_line_hold)
MCFG_SEGACRPT_SET_SIZE(0x6c00)
MCFG_SEGACRPT_SET_NUMBANKS(8)
diff --git a/src/mame/drivers/jonos.cpp b/src/mame/drivers/jonos.cpp
index ad604bef3ca..00c013aab61 100644
--- a/src/mame/drivers/jonos.cpp
+++ b/src/mame/drivers/jonos.cpp
@@ -38,6 +38,7 @@ public:
void kbd_put(u8 data);
void jonos(machine_config &config);
+ void jonos_mem(address_map &map);
private:
u8 m_framecnt;
u8 m_term_data;
@@ -51,7 +52,7 @@ private:
-static ADDRESS_MAP_START(jonos_mem, AS_PROGRAM, 8, jonos_state)
+ADDRESS_MAP_START(jonos_state::jonos_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0x1800, 0x27ff) AM_RAM AM_SHARE("videoram")
diff --git a/src/mame/drivers/joystand.cpp b/src/mame/drivers/joystand.cpp
index f34e8ebff33..3c32fa3e752 100644
--- a/src/mame/drivers/joystand.cpp
+++ b/src/mame/drivers/joystand.cpp
@@ -204,6 +204,7 @@ public:
virtual void machine_reset() override;
INTERRUPT_GEN_MEMBER(joystand_interrupt);
void joystand(machine_config &config);
+ void joystand_map(address_map &map);
};
const rgb_t joystand_state::BG15_TRANSPARENT = 0x99999999;
@@ -444,7 +445,7 @@ WRITE16_MEMBER(joystand_state::cart_w)
bg15_tiles_dirty = true;
}
-static ADDRESS_MAP_START( joystand_map, AS_PROGRAM, 16, joystand_state )
+ADDRESS_MAP_START(joystand_state::joystand_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x13ffff) AM_RAM
AM_RANGE(0x200000, 0x200003) AM_DEVWRITE8("ym2413", ym2413_device, write, 0x00ff)
diff --git a/src/mame/drivers/jp.cpp b/src/mame/drivers/jp.cpp
index 1575045460a..0a6ecb3c56b 100644
--- a/src/mame/drivers/jp.cpp
+++ b/src/mame/drivers/jp.cpp
@@ -59,6 +59,8 @@ public:
void jp(machine_config &config);
void jps(machine_config &config);
+ void jp_map(address_map &map);
+ void jp_sound_map(address_map &map);
private:
void update_display();
virtual void machine_start() override;
@@ -77,7 +79,7 @@ private:
};
-static ADDRESS_MAP_START( jp_map, AS_PROGRAM, 8, jp_state )
+ADDRESS_MAP_START(jp_state::jp_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_MIRROR(0x1800) AM_RAM AM_SHARE("nvram") // ram-"5128" battery backed
AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x1ffc) AM_DEVWRITE("ay", ay8910_device, address_w)
@@ -87,7 +89,7 @@ static ADDRESS_MAP_START( jp_map, AS_PROGRAM, 8, jp_state )
AM_RANGE(0xc000, 0xc007) AM_MIRROR(0x1ff8) AM_WRITE(out2_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jp_sound_map, AS_PROGRAM, 8, jp_state )
+ADDRESS_MAP_START(jp_state::jp_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM // includes ADPCM data from 0x0400 to 0x3fff
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x5000, 0x5000) AM_WRITE(sample_bank_w)
diff --git a/src/mame/drivers/jpmimpct.cpp b/src/mame/drivers/jpmimpct.cpp
index 3db90aa8fa7..3a134968d51 100644
--- a/src/mame/drivers/jpmimpct.cpp
+++ b/src/mame/drivers/jpmimpct.cpp
@@ -585,7 +585,7 @@ WRITE16_MEMBER(jpmimpct_state::jpmio_w)
* Main CPU memory handlers
*
*************************************/
-static ADDRESS_MAP_START( m68k_program_map, AS_PROGRAM, 16, jpmimpct_state )
+ADDRESS_MAP_START(jpmimpct_state::m68k_program_map)
AM_RANGE(0x00000000, 0x000fffff) AM_ROM
AM_RANGE(0x00100000, 0x001fffff) AM_ROM
AM_RANGE(0x00400000, 0x00403fff) AM_RAM AM_SHARE("nvram")
@@ -613,7 +613,7 @@ ADDRESS_MAP_END
* Main CPU memory handlers
*
*************************************/
-static ADDRESS_MAP_START( awp68k_program_map, AS_PROGRAM, 16, jpmimpct_state )
+ADDRESS_MAP_START(jpmimpct_state::awp68k_program_map)
AM_RANGE(0x00000000, 0x000fffff) AM_ROM // most games are 0x00000000 - 0x0003ffff, but some QPS ones go up to fffff, check for any mirroring etc.
AM_RANGE(0x00400000, 0x00403fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x00480000, 0x0048001f) AM_READWRITE(duart_1_r, duart_1_w)
@@ -651,7 +651,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( tms_program_map, AS_PROGRAM, 16, jpmimpct_state )
+ADDRESS_MAP_START(jpmimpct_state::tms_program_map)
AM_RANGE(0x00000000, 0x003fffff) AM_MIRROR(0xf8000000) AM_RAM AM_SHARE("vram")
AM_RANGE(0x00800000, 0x00ffffff) AM_MIRROR(0xf8000000) AM_ROM AM_REGION("user1", 0x100000)
AM_RANGE(0x02000000, 0x027fffff) AM_MIRROR(0xf8000000) AM_ROM AM_REGION("user1", 0)
diff --git a/src/mame/drivers/jpmmps.cpp b/src/mame/drivers/jpmmps.cpp
index d4d3ffc2863..3417aa3d713 100644
--- a/src/mame/drivers/jpmmps.cpp
+++ b/src/mame/drivers/jpmmps.cpp
@@ -151,6 +151,8 @@ public:
virtual void machine_reset() override;
void jpmmps(machine_config &config);
+ void jpmmps_io_map(address_map &map);
+ void jpmmps_map(address_map &map);
protected:
// devices
@@ -163,7 +165,7 @@ public:
DECLARE_WRITE8_MEMBER(jpmmps_ic22_portc_w);
};
-static ADDRESS_MAP_START( jpmmps_map, AS_PROGRAM, 8, jpmmps_state )
+ADDRESS_MAP_START(jpmmps_state::jpmmps_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc003) AM_DEVREADWRITE("ppi8255_ic26", i8255_device, read, write)
@@ -174,7 +176,7 @@ static ADDRESS_MAP_START( jpmmps_map, AS_PROGRAM, 8, jpmmps_state )
AM_RANGE(0xe800, 0xefff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jpmmps_io_map, AS_IO, 8, jpmmps_state )
+ADDRESS_MAP_START(jpmmps_state::jpmmps_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x0000, 0x001f) AM_DEVREADWRITE("tms9902_ic5", tms9902_device, cruread, cruwrite)
diff --git a/src/mame/drivers/jpms80.cpp b/src/mame/drivers/jpms80.cpp
index fcbacf080a8..6cd5547645b 100644
--- a/src/mame/drivers/jpms80.cpp
+++ b/src/mame/drivers/jpms80.cpp
@@ -62,6 +62,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(io_enable_w);
void jpms80(machine_config &config);
+ void jpms80_io_map(address_map &map);
+ void jpms80_map(address_map &map);
protected:
// devices
@@ -86,12 +88,12 @@ WRITE_LINE_MEMBER(jpms80_state::io_enable_w)
{
}
-static ADDRESS_MAP_START( jpms80_map, AS_PROGRAM, 8, jpms80_state )
+ADDRESS_MAP_START(jpms80_state::jpms80_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x3000, 0x3fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jpms80_io_map, AS_IO, 8, jpms80_state )
+ADDRESS_MAP_START(jpms80_state::jpms80_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x1ff)
// AM_RANGE(0x0000, 0x001f) // I/O & Optic (in)
AM_RANGE(0x0000, 0x0007) AM_DEVWRITE("outlatch0", ls259_device, write_d0)
diff --git a/src/mame/drivers/jpmsru.cpp b/src/mame/drivers/jpmsru.cpp
index 23ffce88394..5fe0a58a6c4 100644
--- a/src/mame/drivers/jpmsru.cpp
+++ b/src/mame/drivers/jpmsru.cpp
@@ -32,6 +32,9 @@ public:
void jpmsru(machine_config &config);
void jpmsru_4(machine_config &config);
+ void jpmsru_4_map(address_map &map);
+ void jpmsru_io(address_map &map);
+ void jpmsru_map(address_map &map);
protected:
// devices
@@ -45,20 +48,20 @@ public:
/* System with RAM at 0x0c00 */
-static ADDRESS_MAP_START( jpmsru_map, AS_PROGRAM, 8, jpmsru_state )
+ADDRESS_MAP_START(jpmsru_state::jpmsru_map)
AM_RANGE(0x0000, 0x0bff) AM_ROM
AM_RANGE(0x0c00, 0x0eff) AM_RAM
ADDRESS_MAP_END
/* System with RAM at 0x0e00 */
-static ADDRESS_MAP_START( jpmsru_4_map, AS_PROGRAM, 8, jpmsru_state )
+ADDRESS_MAP_START(jpmsru_state::jpmsru_4_map)
AM_RANGE(0x0000, 0x0bff) AM_ROM
AM_RANGE(0x0c00, 0x0eff) AM_RAM
AM_RANGE(0x0f00, 0x0fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jpmsru_io, AS_IO, 8, jpmsru_state )
+ADDRESS_MAP_START(jpmsru_state::jpmsru_io)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/jpmsys5.cpp b/src/mame/drivers/jpmsys5.cpp
index 513d3653bf9..81b6e99122d 100644
--- a/src/mame/drivers/jpmsys5.cpp
+++ b/src/mame/drivers/jpmsys5.cpp
@@ -277,7 +277,7 @@ READ16_MEMBER(jpmsys5_state::jpm_upd7759_r)
*
*************************************/
-static ADDRESS_MAP_START( jpm_sys5_common_map, AS_PROGRAM, 16, jpmsys5_state )
+ADDRESS_MAP_START(jpmsys5_state::jpm_sys5_common_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x040000, 0x043fff) AM_RAM AM_SHARE("nvram")
@@ -292,19 +292,19 @@ static ADDRESS_MAP_START( jpm_sys5_common_map, AS_PROGRAM, 16, jpmsys5_state )
AM_RANGE(0x04c000, 0x04c0ff) AM_READ(mux_r) AM_WRITE(mux_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( 68000_awp_map, AS_PROGRAM, 16, jpmsys5_state )
+ADDRESS_MAP_START(jpmsys5_state::m68000_awp_map)
AM_IMPORT_FROM(jpm_sys5_common_map)
AM_RANGE(0x0460a0, 0x0460a3) AM_DEVWRITE8("ym2413", ym2413_device, write, 0x00ff)
AM_RANGE(0x04c100, 0x04c105) AM_READWRITE(jpm_upd7759_r, jpm_upd7759_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( 68000_awp_map_saa, AS_PROGRAM, 16, jpmsys5_state )
+ADDRESS_MAP_START(jpmsys5_state::m68000_awp_map_saa)
AM_IMPORT_FROM(jpm_sys5_common_map)
AM_RANGE(0x0460a0, 0x0460a3) AM_DEVWRITE8("saa", saa1099_device, write, 0x00ff)
AM_RANGE(0x04c100, 0x04c105) AM_READWRITE(jpm_upd7759_r, jpm_upd7759_w) // do the SAA boards have the UPD?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( 68000_map, AS_PROGRAM, 16, jpmsys5_state )
+ADDRESS_MAP_START(jpmsys5_state::m68000_map)
AM_IMPORT_FROM(jpm_sys5_common_map)
AM_RANGE(0x01fffe, 0x01ffff) AM_WRITE(rombank_w) // extra on video system (rom board?) (although regular games do write here?)
AM_RANGE(0x020000, 0x03ffff) AM_ROMBANK("bank1") // extra on video system (rom board?)
@@ -618,7 +618,7 @@ MACHINE_RESET_MEMBER(jpmsys5_state,jpmsys5v)
MACHINE_CONFIG_START(jpmsys5_state::jpmsys5v)
MCFG_CPU_ADD("maincpu", M68000, XTAL(8'000'000))
- MCFG_CPU_PROGRAM_MAP(68000_map)
+ MCFG_CPU_PROGRAM_MAP(m68000_map)
MCFG_DEVICE_ADD("acia6850_0", ACIA6850, 0)
MCFG_ACIA6850_TXD_HANDLER(WRITELINE(jpmsys5_state, a0_tx_w))
@@ -835,7 +835,7 @@ MACHINE_RESET_MEMBER(jpmsys5_state,jpmsys5)
MACHINE_CONFIG_START(jpmsys5_state::jpmsys5_ym)
MCFG_CPU_ADD("maincpu", M68000, XTAL(8'000'000))
- MCFG_CPU_PROGRAM_MAP(68000_awp_map)
+ MCFG_CPU_PROGRAM_MAP(m68000_awp_map)
MCFG_DEVICE_ADD("acia6850_0", ACIA6850, 0)
MCFG_ACIA6850_TXD_HANDLER(WRITELINE(jpmsys5_state, a0_tx_w))
@@ -888,7 +888,7 @@ MACHINE_CONFIG_END
// the first rev PCB used an SAA1099
MACHINE_CONFIG_START(jpmsys5_state::jpmsys5)
MCFG_CPU_ADD("maincpu", M68000, XTAL(8'000'000))
- MCFG_CPU_PROGRAM_MAP(68000_awp_map_saa)
+ MCFG_CPU_PROGRAM_MAP(m68000_awp_map_saa)
MCFG_DEVICE_ADD("acia6850_0", ACIA6850, 0)
MCFG_ACIA6850_TXD_HANDLER(WRITELINE(jpmsys5_state, a0_tx_w))
diff --git a/src/mame/drivers/jpmsys7.cpp b/src/mame/drivers/jpmsys7.cpp
index d256c8eff11..9da4732afbd 100644
--- a/src/mame/drivers/jpmsys7.cpp
+++ b/src/mame/drivers/jpmsys7.cpp
@@ -34,6 +34,7 @@ public:
{ }
void jpmsys7(machine_config &config);
+ void jpmsys7_map(address_map &map);
protected:
// devices
@@ -41,7 +42,7 @@ protected:
};
-static ADDRESS_MAP_START( jpmsys7_map, AS_PROGRAM, 32, jpmsys7_state )
+ADDRESS_MAP_START(jpmsys7_state::jpmsys7_map)
AM_RANGE(0x00000000, 0x002fffff) AM_ROM
AM_RANGE(0x10000000, 0x1000ffff) AM_RAM
AM_RANGE(0x20000018, 0x2000001b) AM_WRITENOP // large data upload like astra/pluto?
diff --git a/src/mame/drivers/jr100.cpp b/src/mame/drivers/jr100.cpp
index 4680b5c2816..5419e92b447 100644
--- a/src/mame/drivers/jr100.cpp
+++ b/src/mame/drivers/jr100.cpp
@@ -73,6 +73,7 @@ public:
void jr100(machine_config &config);
+ void jr100_mem(address_map &map);
protected:
required_device<via6522_device> m_via;
required_device<cassette_image_device> m_cassette;
@@ -129,7 +130,7 @@ WRITE8_MEMBER(jr100_state::jr100_via_w)
m_via->write(space,offset,data);
}
-static ADDRESS_MAP_START(jr100_mem, AS_PROGRAM, 8, jr100_state )
+ADDRESS_MAP_START(jr100_state::jr100_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_RAM AM_SHARE("ram")
AM_RANGE(0xc000, 0xc0ff) AM_RAM AM_SHARE("pcg")
diff --git a/src/mame/drivers/jr200.cpp b/src/mame/drivers/jr200.cpp
index 236726645fa..2ede1966cc5 100644
--- a/src/mame/drivers/jr200.cpp
+++ b/src/mame/drivers/jr200.cpp
@@ -76,6 +76,7 @@ public:
TIMER_CALLBACK_MEMBER(timer_d_callback);
void jr200(machine_config &config);
+ void jr200_mem(address_map &map);
protected:
required_device<cpu_device> m_maincpu;
required_device<beep_device> m_beeper;
@@ -371,7 +372,7 @@ WRITE8_MEMBER(jr200_state::mn1271_io_w)
}
}
-static ADDRESS_MAP_START(jr200_mem, AS_PROGRAM, 8, jr200_state )
+ADDRESS_MAP_START(jr200_state::jr200_mem)
/*
0000-3fff RAM
4000-4fff RAM ( 4k expansion)
diff --git a/src/mame/drivers/jrpacman.cpp b/src/mame/drivers/jrpacman.cpp
index 0d53c87a836..93b85e7355c 100644
--- a/src/mame/drivers/jrpacman.cpp
+++ b/src/mame/drivers/jrpacman.cpp
@@ -119,6 +119,8 @@ public:
DECLARE_DRIVER_INIT(jrpacman);
INTERRUPT_GEN_MEMBER(vblank_irq);
void jrpacman(machine_config &config);
+ void main_map(address_map &map);
+ void port_map(address_map &map);
};
@@ -140,7 +142,7 @@ WRITE_LINE_MEMBER(jrpacman_state::irq_mask_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, jrpacman_state )
+ADDRESS_MAP_START(jrpacman_state::main_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM_WRITE(jrpacman_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x4800, 0x4fef) AM_RAM
@@ -158,7 +160,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, jrpacman_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( port_map, AS_IO, 8, jrpacman_state )
+ADDRESS_MAP_START(jrpacman_state::port_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0, 0) AM_WRITE(jrpacman_interrupt_vector_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/jtc.cpp b/src/mame/drivers/jtc.cpp
index 23c6fbb7f78..f728bb9c396 100644
--- a/src/mame/drivers/jtc.cpp
+++ b/src/mame/drivers/jtc.cpp
@@ -55,6 +55,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(write_centronics_busy);
void basic(machine_config &config);
void jtc(machine_config &config);
+ void jtc_mem(address_map &map);
};
@@ -65,6 +66,7 @@ public:
: jtc_state(mconfig, type, tag)
{ }
void jtces88(machine_config &config);
+ void jtc_es1988_mem(address_map &map);
};
@@ -78,6 +80,7 @@ public:
virtual void video_start() override;
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void jtces23(machine_config &config);
+ void jtc_es23_mem(address_map &map);
};
@@ -100,6 +103,7 @@ public:
std::unique_ptr<uint8_t[]> m_color_ram_g;
std::unique_ptr<uint8_t[]> m_color_ram_b;
void jtces40(machine_config &config);
+ void jtc_es40_mem(address_map &map);
};
@@ -206,7 +210,7 @@ WRITE8_MEMBER( jtces40_state::banksel_w )
/* Memory Maps */
-static ADDRESS_MAP_START( jtc_mem, AS_PROGRAM, 8, jtc_state )
+ADDRESS_MAP_START(jtc_state::jtc_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x7001, 0x7001) AM_MIRROR(0x0ff0) AM_READ_PORT("Y1")
AM_RANGE(0x7002, 0x7002) AM_MIRROR(0x0ff0) AM_READ_PORT("Y2")
@@ -224,7 +228,7 @@ static ADDRESS_MAP_START( jtc_mem, AS_PROGRAM, 8, jtc_state )
AM_RANGE(0xfe00, 0xffff) AM_RAM AM_SHARE("video_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jtc_es1988_mem, AS_PROGRAM, 8, jtces88_state )
+ADDRESS_MAP_START(jtces88_state::jtc_es1988_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0800, 0x0fff) AM_ROM
AM_RANGE(0x2000, 0x27ff) AM_ROM
@@ -244,7 +248,7 @@ static ADDRESS_MAP_START( jtc_es1988_mem, AS_PROGRAM, 8, jtces88_state )
AM_RANGE(0xfe00, 0xffff) AM_RAM AM_SHARE("video_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jtc_es23_mem, AS_PROGRAM, 8, jtces23_state )
+ADDRESS_MAP_START(jtces23_state::jtc_es23_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0800, 0x17ff) AM_ROM
AM_RANGE(0x7000, 0x7000) AM_MIRROR(0x0ff0) AM_READ_PORT("Y0")
@@ -267,7 +271,7 @@ static ADDRESS_MAP_START( jtc_es23_mem, AS_PROGRAM, 8, jtces23_state )
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("video_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jtc_es40_mem, AS_PROGRAM, 8, jtces40_state )
+ADDRESS_MAP_START(jtces40_state::jtc_es40_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0800, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x5fff) AM_READWRITE(videoram_r, videoram_w)
diff --git a/src/mame/drivers/jubilee.cpp b/src/mame/drivers/jubilee.cpp
index ab757ed19ed..7b7bfb9a71c 100644
--- a/src/mame/drivers/jubilee.cpp
+++ b/src/mame/drivers/jubilee.cpp
@@ -231,6 +231,8 @@ public:
required_device<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
void jubileep(machine_config &config);
+ void jubileep_cru_map(address_map &map);
+ void jubileep_map(address_map &map);
};
@@ -294,7 +296,7 @@ INTERRUPT_GEN_MEMBER(jubilee_state::jubileep_interrupt)
* Memory Map Information *
*************************/
-static ADDRESS_MAP_START( jubileep_map, AS_PROGRAM, 8, jubilee_state )
+ADDRESS_MAP_START(jubilee_state::jubileep_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x2fff) AM_ROM
@@ -566,7 +568,7 @@ READ8_MEMBER(jubilee_state::mux_port_r)
}
-static ADDRESS_MAP_START( jubileep_cru_map, AS_IO, 8, jubilee_state )
+ADDRESS_MAP_START(jubilee_state::jubileep_cru_map)
AM_RANGE(0x00c8, 0x00c8) AM_READ(mux_port_r) /* multiplexed input port */
AM_RANGE(0x0000, 0x07ff) AM_WRITE(unk_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/juicebox.cpp b/src/mame/drivers/juicebox.cpp
index 78a49f9ddf8..e4f27c52c56 100644
--- a/src/mame/drivers/juicebox.cpp
+++ b/src/mame/drivers/juicebox.cpp
@@ -66,6 +66,7 @@ public:
DECLARE_WRITE32_MEMBER(s3c44b0_gpio_port_w);
DECLARE_WRITE16_MEMBER(s3c44b0_i2s_data_w);
void juicebox(machine_config &config);
+ void juicebox_map(address_map &map);
};
inline void juicebox_state::verboselog(int n_level, const char *s_fmt, ...)
@@ -287,7 +288,7 @@ void juicebox_state::machine_reset()
ADDRESS MAPS
***************************************************************************/
-static ADDRESS_MAP_START( juicebox_map, AS_PROGRAM, 32, juicebox_state )
+ADDRESS_MAP_START(juicebox_state::juicebox_map)
AM_RANGE(0x00000000, 0x007fffff) AM_ROM
AM_RANGE(0x04000000, 0x04ffffff) AM_READWRITE(juicebox_nand_r, juicebox_nand_w )
AM_RANGE(0x0c000000, 0x0c1fffff) AM_RAM AM_MIRROR(0x00600000)
diff --git a/src/mame/drivers/jungleyo.cpp b/src/mame/drivers/jungleyo.cpp
index b166cc415a2..a63491930a3 100644
--- a/src/mame/drivers/jungleyo.cpp
+++ b/src/mame/drivers/jungleyo.cpp
@@ -60,6 +60,7 @@ public:
required_device<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
void jungleyo(machine_config &config);
+ void jungleyo_map(address_map &map);
};
void jungleyo_state::video_start()
@@ -72,7 +73,7 @@ uint32_t jungleyo_state::screen_update_jungleyo(screen_device &screen, bitmap_in
}
-static ADDRESS_MAP_START( jungleyo_map, AS_PROGRAM, 16, jungleyo_state )
+ADDRESS_MAP_START(jungleyo_state::jungleyo_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/junior.cpp b/src/mame/drivers/junior.cpp
index 04d5e0c79e6..e8ca25c0036 100644
--- a/src/mame/drivers/junior.cpp
+++ b/src/mame/drivers/junior.cpp
@@ -56,12 +56,13 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(junior_update_leds);
required_device<cpu_device> m_maincpu;
void junior(machine_config &config);
+ void junior_mem(address_map &map);
};
-static ADDRESS_MAP_START(junior_mem, AS_PROGRAM, 8, junior_state)
+ADDRESS_MAP_START(junior_state::junior_mem)
ADDRESS_MAP_GLOBAL_MASK(0x1FFF)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x03ff) AM_RAM // 1K RAM
diff --git a/src/mame/drivers/junofrst.cpp b/src/mame/drivers/junofrst.cpp
index 701e8594267..b6ec69308ae 100644
--- a/src/mame/drivers/junofrst.cpp
+++ b/src/mame/drivers/junofrst.cpp
@@ -133,6 +133,10 @@ public:
INTERRUPT_GEN_MEMBER(_30hz_irq);
void junofrst(machine_config &config);
+ void audio_map(address_map &map);
+ void main_map(address_map &map);
+ void mcu_io_map(address_map &map);
+ void mcu_map(address_map &map);
};
@@ -275,7 +279,7 @@ WRITE8_MEMBER(junofrst_state::i8039_irqen_and_status_w)
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, junofrst_state )
+ADDRESS_MAP_START(junofrst_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x8000, 0x800f) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x8010, 0x8010) AM_READ_PORT("DSW2")
@@ -295,7 +299,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, junofrst_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, junofrst_state )
+ADDRESS_MAP_START(junofrst_state::audio_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
AM_RANGE(0x3000, 0x3000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -307,12 +311,12 @@ static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, junofrst_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mcu_map, AS_PROGRAM, 8, junofrst_state )
+ADDRESS_MAP_START(junofrst_state::mcu_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mcu_io_map, AS_IO, 8, junofrst_state )
+ADDRESS_MAP_START(junofrst_state::mcu_io_map)
AM_RANGE(0x00, 0xff) AM_DEVREAD("soundlatch2", generic_latch_8_device, read)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/jupace.cpp b/src/mame/drivers/jupace.cpp
index bd48db76edf..cb6b465788d 100644
--- a/src/mame/drivers/jupace.cpp
+++ b/src/mame/drivers/jupace.cpp
@@ -129,6 +129,8 @@ public:
DECLARE_SNAPSHOT_LOAD_MEMBER( ace );
void ace(machine_config &config);
+ void ace_io(address_map &map);
+ void ace_mem(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<i8255_device> m_ppi;
@@ -411,7 +413,7 @@ WRITE8_MEMBER(ace_state::pio_bc_w)
// ADDRESS_MAP( ace_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( ace_mem, AS_PROGRAM, 8, ace_state )
+ADDRESS_MAP_START(ace_state::ace_mem)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_MIRROR(0x0400) AM_RAM AM_SHARE("video_ram")
AM_RANGE(0x2800, 0x2bff) AM_MIRROR(0x0400) AM_RAM AM_SHARE("char_ram") AM_REGION(Z80_TAG, 0xfc00)
@@ -424,7 +426,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( ace_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( ace_io, AS_IO, 8, ace_state )
+ADDRESS_MAP_START(ace_state::ace_io)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x00fe) AM_SELECT(0xff00) AM_READWRITE(io_r, io_w)
AM_RANGE(0x01, 0x01) AM_MIRROR(0xff00) AM_READ_PORT("JOY")
AM_RANGE(0x41, 0x41) AM_MIRROR(0xff80) AM_READWRITE(ppi_pa_r, ppi_pa_w)
diff --git a/src/mame/drivers/jupiter.cpp b/src/mame/drivers/jupiter.cpp
index b7abb883d25..6c4401204ba 100644
--- a/src/mame/drivers/jupiter.cpp
+++ b/src/mame/drivers/jupiter.cpp
@@ -56,6 +56,7 @@ public:
DECLARE_DRIVER_INIT(jupiter2);
void jupiter2(machine_config &config);
+ void jupiter2_mem(address_map &map);
private:
virtual void machine_start() override;
required_device<cpu_device> m_maincpu;
@@ -82,6 +83,8 @@ public:
DECLARE_READ8_MEMBER(ff_r);
void jupiter3(machine_config &config);
+ void jupiter3_io(address_map &map);
+ void jupiter3_mem(address_map &map);
private:
virtual void machine_reset() override;
uint8_t m_term_data;
@@ -101,7 +104,7 @@ private:
// ADDRESS_MAP( jupiter_m6800_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( jupiter2_mem, AS_PROGRAM, 8, jupiter2_state )
+ADDRESS_MAP_START(jupiter2_state::jupiter2_mem)
AM_RANGE(0x0000, 0x7fff) AM_RAM
AM_RANGE(0xc000, 0xcfff) AM_RAM // Video RAM
AM_RANGE(0xf000, 0xff00) AM_ROM AM_REGION(MCM6571AP_TAG, 0)
@@ -129,7 +132,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( jupiter3_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( jupiter3_mem, AS_PROGRAM, 8, jupiter3_state )
+ADDRESS_MAP_START(jupiter3_state::jupiter3_mem)
AM_RANGE(0x0000, 0xbfff) AM_RAM AM_SHARE("ram")
AM_RANGE(0xc000, 0xdfff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0xe000, 0xefff) AM_ROM AM_REGION(Z80_TAG, 0)
@@ -141,7 +144,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( jupiter3_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( jupiter3_io, AS_IO, 8, jupiter3_state )
+ADDRESS_MAP_START(jupiter3_state::jupiter3_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xa1, 0xa4) AM_READ(ff_r)
AM_RANGE(0xb0, 0xb0) AM_READ(status_r)
diff --git a/src/mame/drivers/jvh.cpp b/src/mame/drivers/jvh.cpp
index 627fa92490e..452e907ce7b 100644
--- a/src/mame/drivers/jvh.cpp
+++ b/src/mame/drivers/jvh.cpp
@@ -23,6 +23,10 @@ public:
void jvh2(machine_config &config);
void jvh(machine_config &config);
+ void escape_io(address_map &map);
+ void jvh_map(address_map &map);
+ void jvh_sub_map(address_map &map);
+ void movmastr_io(address_map &map);
protected:
// devices
@@ -36,12 +40,12 @@ public:
-static ADDRESS_MAP_START( jvh_map, AS_PROGRAM, 8, jvh_state )
+ADDRESS_MAP_START(jvh_state::jvh_map)
AM_RANGE(0x0000, 0x3bff) AM_ROM
AM_RANGE(0x3c00, 0x3cff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( escape_io, AS_IO, 8, jvh_state )
+ADDRESS_MAP_START(jvh_state::escape_io)
//AM_RANGE(0x01, 0x02) AM_READ(sw1_r)
//AM_RANGE(0x03, 0x05) AM_READ(dip_r)
//AM_RANGE(0x06, 0x07) AM_READ(sw6_r)
@@ -66,7 +70,7 @@ static ADDRESS_MAP_START( escape_io, AS_IO, 8, jvh_state )
//AM_RANGE(0x75, 0x7f) AM_WRITE(sol_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( movmastr_io, AS_IO, 8, jvh_state )
+ADDRESS_MAP_START(jvh_state::movmastr_io)
//AM_RANGE(0x01, 0x02) AM_READ(sw1_r)
//AM_RANGE(0x03, 0x05) AM_READ(dip_r)
//AM_RANGE(0x08, 0x09) AM_READ(sw6_r)
@@ -94,7 +98,7 @@ static ADDRESS_MAP_START( movmastr_io, AS_IO, 8, jvh_state )
//AM_RANGE(0x75, 0x7f) AM_WRITE(sol_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jvh_sub_map, AS_PROGRAM, 8, jvh_state )
+ADDRESS_MAP_START(jvh_state::jvh_sub_map)
AM_RANGE(0x0000, 0x007f) AM_RAM
AM_RANGE(0x0080, 0x008f) AM_DEVREADWRITE("via", via6522_device, read, write)
AM_RANGE(0xc000, 0xdfff) AM_MIRROR(0x2000) AM_ROM
diff --git a/src/mame/drivers/k1003.cpp b/src/mame/drivers/k1003.cpp
index f4d12fdf502..0587c35d22e 100644
--- a/src/mame/drivers/k1003.cpp
+++ b/src/mame/drivers/k1003.cpp
@@ -60,6 +60,8 @@ public:
DECLARE_WRITE8_MEMBER(disp_w);
void k1003(machine_config &config);
+ void k1003_io(address_map &map);
+ void k1003_mem(address_map &map);
private:
uint8_t m_disp_1;
uint8_t m_disp_2;
@@ -69,7 +71,7 @@ private:
};
-static ADDRESS_MAP_START( k1003_mem, AS_PROGRAM, 8, k1003_state )
+ADDRESS_MAP_START(k1003_state::k1003_mem)
AM_RANGE(0x0000,0x07ff) AM_ROM
AM_RANGE(0x0800,0x17ff) AM_RAM
AM_RANGE(0x1800,0x1fff) AM_ROM
@@ -118,7 +120,7 @@ WRITE8_MEMBER( k1003_state::disp_w )
output().set_digit_value(bit_to_dec(data)*2+1, m_disp_2);
}
-static ADDRESS_MAP_START( k1003_io, AS_IO, 8, k1003_state )
+ADDRESS_MAP_START(k1003_state::k1003_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00,0x00) AM_READ(key_r)
AM_RANGE(0x02,0x02) AM_READ(port2_r)
diff --git a/src/mame/drivers/k8915.cpp b/src/mame/drivers/k8915.cpp
index 7f472c491ed..f4003f8c400 100644
--- a/src/mame/drivers/k8915.cpp
+++ b/src/mame/drivers/k8915.cpp
@@ -33,6 +33,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void k8915(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
uint8_t m_framecnt;
virtual void machine_reset() override;
@@ -51,14 +53,14 @@ WRITE8_MEMBER( k8915_state::k8915_a8_w )
membank("boot")->set_entry(1); // rom at 0000
}
-static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 8, k8915_state)
+ADDRESS_MAP_START(k8915_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_RAMBANK("boot")
AM_RANGE(0x1000, 0x17ff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x1800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(io_map, AS_IO, 8, k8915_state)
+ADDRESS_MAP_START(k8915_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x50, 0x53) AM_DEVREADWRITE("sio", z80sio_device, ba_cd_r, ba_cd_w)
AM_RANGE(0x58, 0x5b) AM_DEVREADWRITE("ctc", z80ctc_device, read, write)
diff --git a/src/mame/drivers/kaneko16.cpp b/src/mame/drivers/kaneko16.cpp
index 6e621570089..ead915916b1 100644
--- a/src/mame/drivers/kaneko16.cpp
+++ b/src/mame/drivers/kaneko16.cpp
@@ -306,7 +306,7 @@ WRITE16_MEMBER(kaneko16_berlwall_state::berlwall_spriteregs_w)
m_kaneko_spr->kaneko16_sprites_regs_w(space, offset, data, mem_mask);
}
-static ADDRESS_MAP_START( berlwall, AS_PROGRAM, 16, kaneko16_berlwall_state )
+ADDRESS_MAP_START(kaneko16_berlwall_state::berlwall)
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // Work RAM
AM_RANGE(0x30e000, 0x30ffff) AM_READWRITE(berlwall_spriteram_r, berlwall_spriteram_w) AM_SHARE("spriteram") // Sprites (scrambled RAM)
@@ -346,7 +346,7 @@ WRITE16_MEMBER(kaneko16_state::bakubrkr_oki_bank_w)
}
}
-static ADDRESS_MAP_START( bakubrkr, AS_PROGRAM, 16, kaneko16_state )
+ADDRESS_MAP_START(kaneko16_state::bakubrkr)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM // Work RAM
AM_RANGE(0x400000, 0x40001f) AM_READ(kaneko16_ay1_YM2149_r) // Sound
@@ -374,7 +374,7 @@ ADDRESS_MAP_END
Blaze On
***************************************************************************/
-static ADDRESS_MAP_START( blazeon, AS_PROGRAM, 16, kaneko16_state )
+ADDRESS_MAP_START(kaneko16_state::blazeon)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x300000, 0x30ffff) AM_RAM // Work RAM
AM_RANGE(0x500000, 0x500fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
@@ -428,7 +428,7 @@ WRITE16_MEMBER(kaneko16_gtmr_state::bloodwar_coin_lockout_w)
}
}
-static ADDRESS_MAP_START( bloodwar, AS_PROGRAM, 16, kaneko16_gtmr_state )
+ADDRESS_MAP_START(kaneko16_gtmr_state::bloodwar)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM // Work RAM
AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_SHARE("mcuram")
@@ -482,7 +482,7 @@ WRITE16_MEMBER(kaneko16_gtmr_state::bonkadv_oki_1_bank_w)
}
-static ADDRESS_MAP_START( bonkadv, AS_PROGRAM, 16, kaneko16_gtmr_state )
+ADDRESS_MAP_START(kaneko16_gtmr_state::bonkadv)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM // Work RAM
AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_SHARE("mcuram") // Shared With MCU
@@ -550,7 +550,7 @@ WRITE16_MEMBER(kaneko16_gtmr_state::gtmr_oki_1_bank_w)
}
}
-static ADDRESS_MAP_START( gtmr_map, AS_PROGRAM, 16, kaneko16_gtmr_state )
+ADDRESS_MAP_START(kaneko16_gtmr_state::gtmr_map)
AM_RANGE(0x000000, 0x0ffffd) AM_ROM // ROM
AM_RANGE(0x0ffffe, 0x0fffff) AM_READ(gtmr_wheel_r) // Wheel Value
@@ -619,7 +619,7 @@ READ16_MEMBER(kaneko16_gtmr_state::gtmr2_IN1_r)
return (ioport("P2")->read() & (ioport("FAKE")->read() | ~0x7100));
}
-static ADDRESS_MAP_START( gtmr2_map, AS_PROGRAM, 16, kaneko16_gtmr_state )
+ADDRESS_MAP_START(kaneko16_gtmr_state::gtmr2_map)
AM_RANGE(0x000000, 0x0ffffd) AM_ROM // ROM
AM_RANGE(0x0ffffe, 0x0fffff) AM_READ(gtmr2_wheel_r) // Wheel Value
@@ -665,7 +665,7 @@ ADDRESS_MAP_END
Magical Crystal
***************************************************************************/
-static ADDRESS_MAP_START( mgcrystl, AS_PROGRAM, 16, kaneko16_state )
+ADDRESS_MAP_START(kaneko16_state::mgcrystl)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x300000, 0x30ffff) AM_RAM // Work RAM
AM_RANGE(0x400000, 0x40001f) AM_READWRITE(kaneko16_ay1_YM2149_r, kaneko16_ay1_YM2149_w) // Sound
@@ -724,7 +724,7 @@ WRITE16_MEMBER(kaneko16_shogwarr_state::brapboys_oki_bank_w)
}
-static ADDRESS_MAP_START( shogwarr, AS_PROGRAM, 16, kaneko16_shogwarr_state )
+ADDRESS_MAP_START(kaneko16_shogwarr_state::shogwarr)
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_SHARE("mainram") // Work RAM
AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_SHARE("mcuram")
@@ -763,13 +763,13 @@ ADDRESS_MAP_END
Blaze On
***************************************************************************/
-static ADDRESS_MAP_START( blazeon_soundmem, AS_PROGRAM, 8, kaneko16_state )
+ADDRESS_MAP_START(kaneko16_state::blazeon_soundmem)
AM_RANGE(0x0000, 0x7fff) AM_ROM // ROM
AM_RANGE(0x8000, 0xbfff) AM_ROM // ROM (supposed to be banked?)
AM_RANGE(0xc000, 0xdfff) AM_RAM // RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( blazeon_soundport, AS_IO, 8, kaneko16_state )
+ADDRESS_MAP_START(kaneko16_state::blazeon_soundport)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x02, 0x03) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0x06, 0x06) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -787,7 +787,7 @@ WRITE8_MEMBER(kaneko16_state::wingforc_oki_bank_w)
logerror("%s: unknown OKI bank %02X\n", machine().describe_context(), data);
}
-static ADDRESS_MAP_START( wingforc_soundport, AS_IO, 8, kaneko16_state )
+ADDRESS_MAP_START(kaneko16_state::wingforc_soundport)
ADDRESS_MAP_GLOBAL_MASK(0xff)
// AM_RANGE(0x00, 0x00) // 02 written at boot
AM_RANGE(0x02, 0x03) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
@@ -2364,12 +2364,12 @@ static const uint16_t shogwarr_default_eeprom[64] = {
0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0xFFFF
};
-static ADDRESS_MAP_START( shogwarr_oki1_map, 0, 8, kaneko16_shogwarr_state )
+ADDRESS_MAP_START(kaneko16_shogwarr_state::shogwarr_oki1_map)
AM_RANGE(0x00000, 0x2ffff) AM_ROM
AM_RANGE(0x30000, 0x3ffff) AM_ROMBANK("bank10")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( shogwarr_oki2_map, 0, 8, kaneko16_shogwarr_state )
+ADDRESS_MAP_START(kaneko16_shogwarr_state::shogwarr_oki2_map)
AM_RANGE(0x00000, 0x3ffff) AM_ROMBANK("bank11")
ADDRESS_MAP_END
@@ -2444,7 +2444,7 @@ static const uint16_t brapboys_default_eeprom[64] = {
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0035, 0xFFFF, 0xFFFF, 0xFFFF
};
-static ADDRESS_MAP_START( brapboys_oki2_map, 0, 8, kaneko16_shogwarr_state )
+ADDRESS_MAP_START(kaneko16_shogwarr_state::brapboys_oki2_map)
AM_RANGE(0x00000, 0x1ffff) AM_ROM
AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK("bank11")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/kangaroo.cpp b/src/mame/drivers/kangaroo.cpp
index ff4e5ba91ba..4d395ee5ff4 100644
--- a/src/mame/drivers/kangaroo.cpp
+++ b/src/mame/drivers/kangaroo.cpp
@@ -251,7 +251,7 @@ WRITE8_MEMBER(kangaroo_state::kangaroo_coin_counter_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, kangaroo_state )
+ADDRESS_MAP_START(kangaroo_state::main_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_WRITE(kangaroo_videoram_w)
AM_RANGE(0xc000, 0xdfff) AM_ROMBANK("bank1")
@@ -271,7 +271,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, kangaroo_state )
+ADDRESS_MAP_START(kangaroo_state::sound_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x0c00) AM_RAM
AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x0fff) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -281,7 +281,7 @@ ADDRESS_MAP_END
/* yes, this is identical */
-static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, kangaroo_state )
+ADDRESS_MAP_START(kangaroo_state::sound_portmap)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x0c00) AM_RAM
AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x0fff) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/karnov.cpp b/src/mame/drivers/karnov.cpp
index 456f523227a..c5ee575e6a4 100644
--- a/src/mame/drivers/karnov.cpp
+++ b/src/mame/drivers/karnov.cpp
@@ -428,7 +428,7 @@ READ16_MEMBER(karnov_state::karnov_control_r)
*
*************************************/
-static ADDRESS_MAP_START( karnov_map, AS_PROGRAM, 16, karnov_state )
+ADDRESS_MAP_START(karnov_state::karnov_map)
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x060000, 0x063fff) AM_RAM AM_SHARE("ram")
AM_RANGE(0x080000, 0x080fff) AM_RAM AM_SHARE("spriteram")
@@ -441,19 +441,19 @@ static ADDRESS_MAP_START( karnov_map, AS_PROGRAM, 16, karnov_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( base_sound_map, AS_PROGRAM, 8, karnov_state )
+ADDRESS_MAP_START(karnov_state::base_sound_map)
AM_RANGE(0x0000, 0x05ff) AM_RAM
AM_RANGE(0x0800, 0x0800) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0x1000, 0x1001) AM_DEVWRITE("ym1", ym2203_device, write)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( karnov_sound_map, AS_PROGRAM, 8, karnov_state )
+ADDRESS_MAP_START(karnov_state::karnov_sound_map)
AM_IMPORT_FROM(base_sound_map)
AM_RANGE(0x1800, 0x1801) AM_DEVWRITE("ym2", ym3526_device, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( karnovjbl_sound_map, AS_PROGRAM, 8, karnov_state )
+ADDRESS_MAP_START(karnov_state::karnovjbl_sound_map)
AM_IMPORT_FROM(base_sound_map)
AM_RANGE(0x1800, 0x1801) AM_DEVWRITE("ym2", ym3812_device, write)
ADDRESS_MAP_END
@@ -861,11 +861,11 @@ MACHINE_CONFIG_DERIVED(karnov_state::karnovjbl, karnov)
MACHINE_CONFIG_END
-static ADDRESS_MAP_START( chelnovjbl_mcu_map, AS_PROGRAM, 8, karnov_state )
+ADDRESS_MAP_START(karnov_state::chelnovjbl_mcu_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( chelnovjbl_mcu_io_map, AS_IO, 8, karnov_state )
+ADDRESS_MAP_START(karnov_state::chelnovjbl_mcu_io_map)
//internal port
// AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_READWRITE(p1_r, p1_w)
// AM_RANGE(MCS51_PORT_P3, MCS51_PORT_P3) AM_READWRITE(p3_r, p3_w)
diff --git a/src/mame/drivers/kas89.cpp b/src/mame/drivers/kas89.cpp
index ae813d6fdc2..d15e1160554 100644
--- a/src/mame/drivers/kas89.cpp
+++ b/src/mame/drivers/kas89.cpp
@@ -259,6 +259,10 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(kas89_nmi_cb);
TIMER_DEVICE_CALLBACK_MEMBER(kas89_sound_nmi_cb);
void kas89(machine_config &config);
+ void audio_io(address_map &map);
+ void audio_map(address_map &map);
+ void kas89_io(address_map &map);
+ void kas89_map(address_map &map);
};
@@ -507,7 +511,7 @@ WRITE8_MEMBER(kas89_state::led_mux_select_w)
* Memory Map *
**************************************/
-static ADDRESS_MAP_START( kas89_map, AS_PROGRAM, 8, kas89_state )
+ADDRESS_MAP_START(kas89_state::kas89_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x0037, 0x0037) AM_WRITENOP /* WTF? */
AM_RANGE(0x8000, 0x81ff) AM_RAM /* empty */
@@ -522,7 +526,7 @@ static ADDRESS_MAP_START( kas89_map, AS_PROGRAM, 8, kas89_state )
AM_RANGE(0x9800, 0x9fff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kas89_io, AS_IO, 8, kas89_state )
+ADDRESS_MAP_START(kas89_state::kas89_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x40, 0x43) AM_DEVREADWRITE("v9938", v9938_device, read, write)
AM_RANGE(0x80, 0x80) AM_WRITE(mux_w)
@@ -571,12 +575,12 @@ ADDRESS_MAP_END
4aa1 : ret
*/
-static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, kas89_state )
+ADDRESS_MAP_START(kas89_state::audio_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audio_io, AS_IO, 8, kas89_state )
+ADDRESS_MAP_START(kas89_state::audio_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(int_ack_w) // comm out (1st Z80). seems to write here the value previously read through soundlatch (port 0x02).
AM_RANGE(0x02, 0x02) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/kaypro.cpp b/src/mame/drivers/kaypro.cpp
index 97dc30f4919..81f045d0a7e 100644
--- a/src/mame/drivers/kaypro.cpp
+++ b/src/mame/drivers/kaypro.cpp
@@ -64,13 +64,13 @@ READ8_MEMBER( kaypro_state::kaypro484_87_r ) { return 0x7f; } /* to bypass un
************************************************************/
-static ADDRESS_MAP_START( kaypro_map, AS_PROGRAM, 8, kaypro_state )
+ADDRESS_MAP_START(kaypro_state::kaypro_map)
AM_RANGE(0x0000, 0x2fff) AM_READ_BANK("bankr0") AM_WRITE_BANK("bankw0")
AM_RANGE(0x3000, 0x3fff) AM_RAMBANK("bank3")
AM_RANGE(0x4000, 0xffff) AM_RAM AM_REGION("rambank", 0x4000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kayproii_io, AS_IO, 8, kaypro_state )
+ADDRESS_MAP_START(kaypro_state::kayproii_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x03) AM_DEVWRITE("brg", com8116_device, stt_w)
@@ -81,7 +81,7 @@ static ADDRESS_MAP_START( kayproii_io, AS_IO, 8, kaypro_state )
AM_RANGE(0x1c, 0x1f) AM_DEVREADWRITE("z80pio_s", z80pio_device, read_alt, write_alt)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kaypro484_io, AS_IO, 8, kaypro_state )
+ADDRESS_MAP_START(kaypro_state::kaypro484_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x03) AM_DEVWRITE("brg", com8116_device, str_w)
diff --git a/src/mame/drivers/kc.cpp b/src/mame/drivers/kc.cpp
index 348693bafa4..8798dbe0764 100644
--- a/src/mame/drivers/kc.cpp
+++ b/src/mame/drivers/kc.cpp
@@ -22,7 +22,7 @@
#include "speaker.h"
-static ADDRESS_MAP_START(kc85_4_io, AS_IO, 8, kc85_4_state)
+ADDRESS_MAP_START(kc85_4_state::kc85_4_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xffff) AM_READWRITE(expansion_io_read, expansion_io_write)
@@ -32,7 +32,7 @@ static ADDRESS_MAP_START(kc85_4_io, AS_IO, 8, kc85_4_state)
AM_RANGE(0x008c, 0x008f) AM_MIRROR(0xff00) AM_DEVREADWRITE("z80ctc", z80ctc_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(kc85_4_mem, AS_PROGRAM, 8, kc85_4_state)
+ADDRESS_MAP_START(kc85_4_state::kc85_4_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_READWRITE_BANK("bank1")
AM_RANGE(0x4000, 0x7fff) AM_READWRITE_BANK("bank2")
@@ -42,7 +42,7 @@ static ADDRESS_MAP_START(kc85_4_mem, AS_PROGRAM, 8, kc85_4_state)
AM_RANGE(0xe000, 0xffff) AM_READ_BANK("bank5")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(kc85_3_mem, AS_PROGRAM, 8, kc_state)
+ADDRESS_MAP_START(kc_state::kc85_3_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_READWRITE_BANK("bank1")
AM_RANGE(0x4000, 0x7fff) AM_READWRITE_BANK("bank2")
@@ -51,7 +51,7 @@ static ADDRESS_MAP_START(kc85_3_mem, AS_PROGRAM, 8, kc_state)
AM_RANGE(0xe000, 0xffff) AM_READ_BANK("bank5")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(kc85_3_io, AS_IO, 8, kc_state)
+ADDRESS_MAP_START(kc_state::kc85_3_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xffff) AM_READWRITE(expansion_io_read, expansion_io_write)
diff --git a/src/mame/drivers/kchamp.cpp b/src/mame/drivers/kchamp.cpp
index 96b895d9d13..3e37055672b 100644
--- a/src/mame/drivers/kchamp.cpp
+++ b/src/mame/drivers/kchamp.cpp
@@ -104,7 +104,7 @@ WRITE8_MEMBER(kchamp_state::sound_control_w)
m_audiocpu->set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
}
-static ADDRESS_MAP_START( kchampvs_map, AS_PROGRAM, 8, kchamp_state )
+ADDRESS_MAP_START(kchamp_state::kchampvs_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(kchamp_videoram_w) AM_SHARE("videoram")
@@ -114,11 +114,11 @@ static ADDRESS_MAP_START( kchampvs_map, AS_PROGRAM, 8, kchamp_state )
AM_RANGE(0xe000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, kchamp_state )
+ADDRESS_MAP_START(kchamp_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0xffff) AM_ROM AM_SHARE("decrypted_opcodes")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kchampvs_io_map, AS_IO, 8, kchamp_state )
+ADDRESS_MAP_START(kchamp_state::kchampvs_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("P1")
AM_RANGE(0x00, 0x07) AM_DEVWRITE("mainlatch", ls259_device, write_d0)
@@ -127,12 +127,12 @@ static ADDRESS_MAP_START( kchampvs_io_map, AS_IO, 8, kchamp_state )
AM_RANGE(0xc0, 0xc0) AM_READ_PORT("DSW")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kchampvs_sound_map, AS_PROGRAM, 8, kchamp_state )
+ADDRESS_MAP_START(kchamp_state::kchampvs_sound_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kchampvs_sound_io_map, AS_IO, 8, kchamp_state )
+ADDRESS_MAP_START(kchamp_state::kchampvs_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("ay1", ay8910_device, data_address_w)
AM_RANGE(0x01, 0x01) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -163,7 +163,7 @@ WRITE8_MEMBER(kchamp_state::kc_sound_control_w)
m_dac->set_output_gain(0, BIT(data,0) ? 1.0 : 0);
}
-static ADDRESS_MAP_START( kchamp_map, AS_PROGRAM, 8, kchamp_state )
+ADDRESS_MAP_START(kchamp_state::kchamp_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(kchamp_videoram_w) AM_SHARE("videoram")
@@ -172,7 +172,7 @@ static ADDRESS_MAP_START( kchamp_map, AS_PROGRAM, 8, kchamp_state )
AM_RANGE(0xeb00, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kchamp_io_map, AS_IO, 8, kchamp_state )
+ADDRESS_MAP_START(kchamp_state::kchamp_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x80, 0x80) AM_READ_PORT("DSW")
AM_RANGE(0x80, 0x87) AM_DEVWRITE("mainlatch", ls259_device, write_d0)
@@ -182,12 +182,12 @@ static ADDRESS_MAP_START( kchamp_io_map, AS_IO, 8, kchamp_state )
AM_RANGE(0xa8, 0xa8) AM_READ(sound_reset_r) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kchamp_sound_map, AS_PROGRAM, 8, kchamp_state )
+ADDRESS_MAP_START(kchamp_state::kchamp_sound_map)
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xe2ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kchamp_sound_io_map, AS_IO, 8, kchamp_state )
+ADDRESS_MAP_START(kchamp_state::kchamp_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("ay1", ay8910_device, data_address_w)
AM_RANGE(0x02, 0x03) AM_DEVWRITE("ay2", ay8910_device, data_address_w)
@@ -400,7 +400,7 @@ MACHINE_CONFIG_START(kchamp_state::kchampvs)
MCFG_CPU_ADD("maincpu", Z80, XTAL(12'000'000)/4) /* verified on pcb */
MCFG_CPU_PROGRAM_MAP(kchampvs_map)
MCFG_CPU_IO_MAP(kchampvs_io_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", kchamp_state, kc_interrupt)
MCFG_CPU_ADD("audiocpu", Z80, XTAL(12'000'000)/4) /* verified on pcb */
diff --git a/src/mame/drivers/kdt6.cpp b/src/mame/drivers/kdt6.cpp
index 43e39e93d11..b9d07a50faa 100644
--- a/src/mame/drivers/kdt6.cpp
+++ b/src/mame/drivers/kdt6.cpp
@@ -106,6 +106,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(siob_tx_w);
void psi98(machine_config &config);
+ void psi98_io(address_map &map);
+ void psi98_mem(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -148,7 +150,7 @@ private:
// ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( psi98_mem, AS_PROGRAM, 8, kdt6_state )
+ADDRESS_MAP_START(kdt6_state::psi98_mem)
AM_RANGE(0x0000, 0x0fff) AM_READ_BANK("page0_r") AM_WRITE_BANK("page0_w")
AM_RANGE(0x1000, 0x1fff) AM_READ_BANK("page1_r") AM_WRITE_BANK("page1_w")
AM_RANGE(0x2000, 0x2fff) AM_READ_BANK("page2_r") AM_WRITE_BANK("page2_w")
@@ -167,7 +169,7 @@ static ADDRESS_MAP_START( psi98_mem, AS_PROGRAM, 8, kdt6_state )
AM_RANGE(0xf000, 0xffff) AM_READ_BANK("pagef_r") AM_WRITE_BANK("pagef_w")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( psi98_io, AS_IO, 8, kdt6_state )
+ADDRESS_MAP_START(kdt6_state::psi98_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("dma", z80dma_device, read, write)
AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("sio", z80sio_device, cd_ba_r, cd_ba_w)
diff --git a/src/mame/drivers/kenseim.cpp b/src/mame/drivers/kenseim.cpp
index ccee1e984c6..c506cc28d2a 100644
--- a/src/mame/drivers/kenseim.cpp
+++ b/src/mame/drivers/kenseim.cpp
@@ -251,6 +251,8 @@ public:
int mole_state_b[6];
void kenseim(machine_config &config);
+ void kenseim_io_map(address_map &map);
+ void kenseim_map(address_map &map);
};
@@ -454,12 +456,12 @@ WRITE8_MEMBER(kenseim_state::cpu_porte_w)
-static ADDRESS_MAP_START( kenseim_map, AS_PROGRAM, 8, kenseim_state )
+ADDRESS_MAP_START(kenseim_state::kenseim_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kenseim_io_map, AS_IO, 8, kenseim_state )
+ADDRESS_MAP_START(kenseim_state::kenseim_io_map)
AM_RANGE(0x20, 0x27) AM_MIRROR(0xff00) AM_DEVREADWRITE("mb89363b", mb89363b_device, read, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/kickgoal.cpp b/src/mame/drivers/kickgoal.cpp
index b60c008eb84..434e5c201fa 100644
--- a/src/mame/drivers/kickgoal.cpp
+++ b/src/mame/drivers/kickgoal.cpp
@@ -473,7 +473,7 @@ WRITE16_MEMBER(kickgoal_state::kickgoal_eeprom_w)
/* Memory Maps *****************************************************************/
-static ADDRESS_MAP_START( kickgoal_program_map, AS_PROGRAM, 16, kickgoal_state )
+ADDRESS_MAP_START(kickgoal_state::kickgoal_program_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
/// AM_RANGE(0x30001e, 0x30001f) AM_WRITE(kickgoal_snd_w)
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("P1_P2")
@@ -626,7 +626,7 @@ void kickgoal_state::machine_reset()
}
-static ADDRESS_MAP_START( oki_map, 0, 8, kickgoal_state )
+ADDRESS_MAP_START(kickgoal_state::oki_map)
AM_RANGE(0x00000, 0x1ffff) AM_ROM
AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK("okibank")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/kim1.cpp b/src/mame/drivers/kim1.cpp
index d71128cf118..7a4834879e9 100644
--- a/src/mame/drivers/kim1.cpp
+++ b/src/mame/drivers/kim1.cpp
@@ -66,7 +66,7 @@ TODO:
// ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START(kim1_map, AS_PROGRAM, 8, kim1_state)
+ADDRESS_MAP_START(kim1_state::kim1_map)
AM_RANGE(0x0000, 0x03ff) AM_MIRROR(0xe000) AM_RAM
AM_RANGE(0x1700, 0x173f) AM_MIRROR(0xe000) AM_DEVREADWRITE("miot_u3", mos6530_device, read, write )
AM_RANGE(0x1740, 0x177f) AM_MIRROR(0xe000) AM_DEVREADWRITE("miot_u2", mos6530_device, read, write )
diff --git a/src/mame/drivers/kingdrby.cpp b/src/mame/drivers/kingdrby.cpp
index 5df9d46bf5c..367adcebde6 100644
--- a/src/mame/drivers/kingdrby.cpp
+++ b/src/mame/drivers/kingdrby.cpp
@@ -133,6 +133,15 @@ public:
void kingdrbb(machine_config &config);
void cowrace(machine_config &config);
void kingdrby(machine_config &config);
+ void cowrace_sound_io(address_map &map);
+ void cowrace_sound_map(address_map &map);
+ void master_io_map(address_map &map);
+ void master_map(address_map &map);
+ void slave_1986_map(address_map &map);
+ void slave_io_map(address_map &map);
+ void slave_map(address_map &map);
+ void sound_io_map(address_map &map);
+ void sound_map(address_map &map);
};
@@ -409,19 +418,19 @@ WRITE8_MEMBER(kingdrby_state::led_array_w)
*
*************************************/
-static ADDRESS_MAP_START( master_map, AS_PROGRAM, 8, kingdrby_state )
+ADDRESS_MAP_START(kingdrby_state::master_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x3000, 0x33ff) AM_RAM AM_MIRROR(0xc00) AM_SHARE("share1")
AM_RANGE(0x4000, 0x43ff) AM_RAM_WRITE(sc0_vram_w) AM_SHARE("vram")
AM_RANGE(0x5000, 0x53ff) AM_RAM_WRITE(sc0_attr_w) AM_SHARE("attr")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( master_io_map, AS_IO, 8, kingdrby_state )
+ADDRESS_MAP_START(kingdrby_state::master_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_NOP //interrupt ack
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_map, AS_PROGRAM, 8, kingdrby_state )
+ADDRESS_MAP_START(kingdrby_state::slave_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x3000, 0x3fff) AM_ROM //sound rom, tested for the post check
AM_RANGE(0x4000, 0x43ff) AM_RAM AM_SHARE("nvram") //backup ram
@@ -441,7 +450,7 @@ WRITE8_MEMBER(kingdrby_state::kingdrbb_lamps_w)
// (same as the inputs but active high)
}
-static ADDRESS_MAP_START( slave_1986_map, AS_PROGRAM, 8, kingdrby_state )
+ADDRESS_MAP_START(kingdrby_state::slave_1986_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x3000, 0x3fff) AM_ROM //sound rom tested for the post check
AM_RANGE(0x4000, 0x47ff) AM_RAM AM_SHARE("nvram") //backup ram
@@ -460,28 +469,28 @@ static ADDRESS_MAP_START( slave_1986_map, AS_PROGRAM, 8, kingdrby_state )
AM_RANGE(0x7c00, 0x7c00) AM_READ_PORT("DSW")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_io_map, AS_IO, 8, kingdrby_state )
+ADDRESS_MAP_START(kingdrby_state::slave_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_NOP //interrupt ack
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, kingdrby_state )
+ADDRESS_MAP_START(kingdrby_state::sound_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, kingdrby_state )
+ADDRESS_MAP_START(kingdrby_state::sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x40, 0x40) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE(0x40, 0x41) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cowrace_sound_map, AS_PROGRAM, 8, kingdrby_state )
+ADDRESS_MAP_START(kingdrby_state::cowrace_sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cowrace_sound_io, AS_IO, 8, kingdrby_state )
+ADDRESS_MAP_START(kingdrby_state::cowrace_sound_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x40, 0x41) AM_DEVWRITE("aysnd", ym2203_device, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/kingobox.cpp b/src/mame/drivers/kingobox.cpp
index 1d4cddedb94..4da81267f99 100644
--- a/src/mame/drivers/kingobox.cpp
+++ b/src/mame/drivers/kingobox.cpp
@@ -52,7 +52,7 @@ WRITE8_MEMBER(kingofb_state::sound_command_w)
}
-static ADDRESS_MAP_START( kingobox_map, AS_PROGRAM, 8, kingofb_state )
+ADDRESS_MAP_START(kingofb_state::kingobox_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc3ff) AM_RAM /* work ram */
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("share2") /* shared with sprite cpu */
@@ -72,7 +72,7 @@ static ADDRESS_MAP_START( kingobox_map, AS_PROGRAM, 8, kingofb_state )
AM_RANGE(0xfc05, 0xfc05) AM_READ_PORT("EXTRA")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kingobox_video_map, AS_PROGRAM, 8, kingofb_state )
+ADDRESS_MAP_START(kingofb_state::kingobox_video_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM /* work ram */
AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_SHARE("share1") /* shared with main */
@@ -82,7 +82,7 @@ static ADDRESS_MAP_START( kingobox_video_map, AS_PROGRAM, 8, kingofb_state )
AM_RANGE(0xcc00, 0xcfff) AM_RAM_WRITE(kingofb_colorram2_w) AM_SHARE("colorram2") /* foreground colorram */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kingobox_sprite_map, AS_PROGRAM, 8, kingofb_state )
+ADDRESS_MAP_START(kingofb_state::kingobox_sprite_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM /* work ram */
AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_SHARE("share2") /* shared with main */
@@ -90,13 +90,13 @@ static ADDRESS_MAP_START( kingobox_sprite_map, AS_PROGRAM, 8, kingofb_state )
AM_RANGE(0xc400, 0xc43f) AM_RAM /* something related to scroll? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kingobox_sound_map, AS_PROGRAM, 8, kingofb_state )
+ADDRESS_MAP_START(kingofb_state::kingobox_sound_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0x8000, 0x8000) AM_WRITENOP /* ??? */
AM_RANGE(0xc000, 0xc3ff) AM_RAM /* work ram */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kingobox_sound_io_map, AS_IO, 8, kingofb_state )
+ADDRESS_MAP_START(kingofb_state::kingobox_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("dac", dac_byte_interface, write)
AM_RANGE(0x08, 0x08) AM_DEVREADWRITE("aysnd", ay8910_device, data_r, data_w)
@@ -104,7 +104,7 @@ static ADDRESS_MAP_START( kingobox_sound_io_map, AS_IO, 8, kingofb_state )
ADDRESS_MAP_END
/* Ring King */
-static ADDRESS_MAP_START( ringking_map, AS_PROGRAM, 8, kingofb_state )
+ADDRESS_MAP_START(kingofb_state::ringking_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc3ff) AM_RAM /* work ram */
AM_RANGE(0xc800, 0xcfff) AM_RAM AM_SHARE("share2") /* shared with sprite cpu */
@@ -123,7 +123,7 @@ static ADDRESS_MAP_START( ringking_map, AS_PROGRAM, 8, kingofb_state )
AM_RANGE(0xf000, 0xf7ff) AM_RAM /* ???? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ringking_video_map, AS_PROGRAM, 8, kingofb_state )
+ADDRESS_MAP_START(kingofb_state::ringking_video_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM /* work ram */
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("share1") /* shared with main */
@@ -133,7 +133,7 @@ static ADDRESS_MAP_START( ringking_video_map, AS_PROGRAM, 8, kingofb_state )
AM_RANGE(0xa400, 0xa7ff) AM_RAM_WRITE(kingofb_colorram2_w) AM_SHARE("colorram2") /* foreground colorram */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ringking_sprite_map, AS_PROGRAM, 8, kingofb_state )
+ADDRESS_MAP_START(kingofb_state::ringking_sprite_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM /* work ram */
AM_RANGE(0xc800, 0xcfff) AM_RAM AM_SHARE("share2") /* shared with main */
@@ -141,7 +141,7 @@ static ADDRESS_MAP_START( ringking_sprite_map, AS_PROGRAM, 8, kingofb_state )
AM_RANGE(0xa400, 0xa43f) AM_RAM /* something related to scroll? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ringking_sound_io_map, AS_IO, 8, kingofb_state )
+ADDRESS_MAP_START(kingofb_state::ringking_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("dac", dac_byte_interface, write)
AM_RANGE(0x02, 0x02) AM_DEVREAD("aysnd", ay8910_device, data_r)
diff --git a/src/mame/drivers/kingpin.cpp b/src/mame/drivers/kingpin.cpp
index 968fb9beab5..fa37ea12b90 100644
--- a/src/mame/drivers/kingpin.cpp
+++ b/src/mame/drivers/kingpin.cpp
@@ -57,6 +57,9 @@ public:
DECLARE_WRITE8_MEMBER(sound_nmi_w);
void kingpin(machine_config &config);
+ void kingpin_io_map(address_map &map);
+ void kingpin_program_map(address_map &map);
+ void kingpin_sound_map(address_map &map);
};
@@ -66,12 +69,12 @@ WRITE8_MEMBER(kingpin_state::sound_nmi_w)
m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
}
-static ADDRESS_MAP_START( kingpin_program_map, AS_PROGRAM, 8, kingpin_state )
+ADDRESS_MAP_START(kingpin_state::kingpin_program_map)
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kingpin_io_map, AS_IO, 8, kingpin_state )
+ADDRESS_MAP_START(kingpin_state::kingpin_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
AM_RANGE(0x10, 0x13) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write)
@@ -84,7 +87,7 @@ static ADDRESS_MAP_START( kingpin_io_map, AS_IO, 8, kingpin_state )
//AM_RANGE(0x70, 0x70) AM_WRITENOP // ?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kingpin_sound_map, AS_PROGRAM, 8, kingpin_state )
+ADDRESS_MAP_START(kingpin_state::kingpin_sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x8000, 0x8001) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
//AM_RANGE(0x8400, 0x8400) AM_READNOP // ?
diff --git a/src/mame/drivers/kinst.cpp b/src/mame/drivers/kinst.cpp
index 5e7b533a1b1..83e885a3205 100644
--- a/src/mame/drivers/kinst.cpp
+++ b/src/mame/drivers/kinst.cpp
@@ -231,6 +231,7 @@ public:
required_device<dcs_audio_2k_device> m_dcs;
void kinst(machine_config &config);
+ void main_map(address_map &map);
protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
};
@@ -447,7 +448,7 @@ WRITE32_MEMBER(kinst_state::control_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, kinst_state )
+ADDRESS_MAP_START(kinst_state::main_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000000, 0x0007ffff) AM_RAM AM_SHARE("rambase")
AM_RANGE(0x08000000, 0x087fffff) AM_RAM AM_SHARE("rambase2")
diff --git a/src/mame/drivers/kissproto.cpp b/src/mame/drivers/kissproto.cpp
index 5d41c8cf979..e6e0029b86e 100644
--- a/src/mame/drivers/kissproto.cpp
+++ b/src/mame/drivers/kissproto.cpp
@@ -20,6 +20,7 @@ public:
{ }
void kissp(machine_config &config);
+ void kissp_map(address_map &map);
protected:
// devices
@@ -32,7 +33,7 @@ public:
};
-static ADDRESS_MAP_START( kissp_map, AS_PROGRAM, 8, kissp_state )
+ADDRESS_MAP_START(kissp_state::kissp_map)
AM_RANGE(0x0000, 0x0fff) AM_NOP
ADDRESS_MAP_END
diff --git a/src/mame/drivers/klax.cpp b/src/mame/drivers/klax.cpp
index 71ae90801c2..e95d6fc2fa4 100644
--- a/src/mame/drivers/klax.cpp
+++ b/src/mame/drivers/klax.cpp
@@ -79,7 +79,7 @@ MACHINE_RESET_MEMBER(klax_state,klax)
*
*************************************/
-static ADDRESS_MAP_START( klax_map, AS_PROGRAM, 16, klax_state )
+ADDRESS_MAP_START(klax_state::klax_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x0e0000, 0x0e0fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
AM_RANGE(0x1f0000, 0x1fffff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
@@ -96,7 +96,7 @@ static ADDRESS_MAP_START( klax_map, AS_PROGRAM, 16, klax_state )
AM_RANGE(0x3f2800, 0x3f3fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( klax2bl_map, AS_PROGRAM, 16, klax_state )
+ADDRESS_MAP_START(klax_state::klax2bl_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x0e0000, 0x0e0fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
AM_RANGE(0x1f0000, 0x1fffff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
@@ -232,7 +232,7 @@ MACHINE_CONFIG_START(klax_state::klax)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-static ADDRESS_MAP_START( bootleg_sound_map, AS_PROGRAM, 8, klax_state )
+ADDRESS_MAP_START(klax_state::bootleg_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/kncljoe.cpp b/src/mame/drivers/kncljoe.cpp
index 2811e68a40e..cbeac9957b3 100644
--- a/src/mame/drivers/kncljoe.cpp
+++ b/src/mame/drivers/kncljoe.cpp
@@ -45,7 +45,7 @@ WRITE8_MEMBER(kncljoe_state::sound_cmd_w)
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, kncljoe_state )
+ADDRESS_MAP_START(kncljoe_state::main_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM_WRITE(kncljoe_videoram_w) AM_SHARE("videoram")
AM_RANGE(0xd000, 0xd001) AM_WRITE(kncljoe_scroll_w) AM_SHARE("scrollregs")
@@ -103,14 +103,14 @@ WRITE8_MEMBER(kncljoe_state::unused_w)
//unused - no MSM on the pcb
}
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, kncljoe_state )
+ADDRESS_MAP_START(kncljoe_state::sound_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x0fff) AM_WRITENOP
AM_RANGE(0x1000, 0x1fff) AM_WRITE(sound_irq_ack_w)
AM_RANGE(0x2000, 0x7fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, kncljoe_state )
+ADDRESS_MAP_START(kncljoe_state::sound_portmap)
AM_RANGE(M6801_PORT1, M6801_PORT1) AM_READWRITE(m6803_port1_r, m6803_port1_w)
AM_RANGE(M6801_PORT2, M6801_PORT2) AM_READWRITE(m6803_port2_r, m6803_port2_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/koftball.cpp b/src/mame/drivers/koftball.cpp
index bccef20ed74..02d138c8250 100644
--- a/src/mame/drivers/koftball.cpp
+++ b/src/mame/drivers/koftball.cpp
@@ -74,6 +74,8 @@ public:
uint32_t screen_update_koftball(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(bmc_interrupt);
void koftball(machine_config &config);
+ void koftball_mem(address_map &map);
+ void ramdac_map(address_map &map);
};
@@ -147,7 +149,7 @@ WRITE16_MEMBER(koftball_state::bmc_2_videoram_w)
m_tilemap_2->mark_tile_dirty(offset);
}
-static ADDRESS_MAP_START( koftball_mem, AS_PROGRAM, 16, koftball_state )
+ADDRESS_MAP_START(koftball_state::koftball_mem)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x220000, 0x22ffff) AM_RAM AM_SHARE("main_ram")
@@ -174,7 +176,7 @@ static ADDRESS_MAP_START( koftball_mem, AS_PROGRAM, 16, koftball_state )
AM_RANGE(0x360000, 0x360001) AM_WRITE(prot_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ramdac_map, 0, 8, koftball_state )
+ADDRESS_MAP_START(koftball_state::ramdac_map)
AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac",ramdac_device,ramdac_pal_r,ramdac_rgb666_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/koikoi.cpp b/src/mame/drivers/koikoi.cpp
index 53020bb0ff4..a2aff475d94 100644
--- a/src/mame/drivers/koikoi.cpp
+++ b/src/mame/drivers/koikoi.cpp
@@ -83,6 +83,8 @@ public:
required_device<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
void koikoi(machine_config &config);
+ void koikoi_io_map(address_map &map);
+ void koikoi_map(address_map &map);
};
@@ -230,7 +232,7 @@ WRITE8_MEMBER(koikoi_state::io_w)
*
*************************************/
-static ADDRESS_MAP_START( koikoi_map, AS_PROGRAM, 8, koikoi_state )
+ADDRESS_MAP_START(koikoi_state::koikoi_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM
AM_RANGE(0x7000, 0x77ff) AM_RAM_WRITE(vram_w) AM_SHARE("videoram")
@@ -238,7 +240,7 @@ static ADDRESS_MAP_START( koikoi_map, AS_PROGRAM, 8, koikoi_state )
AM_RANGE(0x9000, 0x9007) AM_READWRITE(io_r, io_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( koikoi_io_map, AS_IO, 8, koikoi_state )
+ADDRESS_MAP_START(koikoi_state::koikoi_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x02, 0x02) AM_WRITENOP //watchdog
AM_RANGE(0x03, 0x03) AM_DEVREAD("aysnd", ay8910_device, data_r)
diff --git a/src/mame/drivers/konamigq.cpp b/src/mame/drivers/konamigq.cpp
index 4ce806a8005..038c8c29da7 100644
--- a/src/mame/drivers/konamigq.cpp
+++ b/src/mame/drivers/konamigq.cpp
@@ -126,6 +126,10 @@ public:
void scsi_dma_read( uint32_t *p_n_psxram, uint32_t n_address, int32_t n_size );
void scsi_dma_write( uint32_t *p_n_psxram, uint32_t n_address, int32_t n_size );
void konamigq(machine_config &config);
+ void konamigq_dasp_map(address_map &map);
+ void konamigq_k054539_map(address_map &map);
+ void konamigq_map(address_map &map);
+ void konamigq_sound_map(address_map &map);
};
/* EEPROM */
@@ -163,7 +167,7 @@ READ8_MEMBER(konamigq_state::pcmram_r)
/* Video */
-static ADDRESS_MAP_START( konamigq_map, AS_PROGRAM, 32, konamigq_state )
+ADDRESS_MAP_START(konamigq_state::konamigq_map)
AM_RANGE(0x1f000000, 0x1f00001f) AM_DEVREADWRITE8("am53cf96", am53cf96_device, read, write, 0x00ff00ff)
AM_RANGE(0x1f100000, 0x1f10001f) AM_DEVREADWRITE8("k056800", k056800_device, host_r, host_w, 0x00ff00ff)
AM_RANGE(0x1f180000, 0x1f180003) AM_WRITE16(eeprom_w, 0x0000ffff)
@@ -226,7 +230,7 @@ WRITE16_MEMBER(konamigq_state::tms57002_control_word_w)
}
/* 68000 memory handling - near identical to Konami GX */
-static ADDRESS_MAP_START( konamigq_sound_map, AS_PROGRAM, 16, konamigq_state )
+ADDRESS_MAP_START(konamigq_state::konamigq_sound_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x2004ff) AM_DEVREADWRITE8("k054539_1", k054539_device, read, write, 0xff00)
@@ -239,13 +243,13 @@ ADDRESS_MAP_END
/* TMS57002 memory handling */
-static ADDRESS_MAP_START( konamigq_dasp_map, AS_DATA, 8, konamigq_state )
+ADDRESS_MAP_START(konamigq_state::konamigq_dasp_map)
AM_RANGE(0x00000, 0x3ffff) AM_RAM
ADDRESS_MAP_END
/* K058141 memory handling */
-static ADDRESS_MAP_START( konamigq_k054539_map, 0, 8, konamigq_state )
+ADDRESS_MAP_START(konamigq_state::konamigq_k054539_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM AM_REGION("k054539", 0)
AM_RANGE(0x080000, 0x3fffff) AM_RAM AM_SHARE("pcmram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/konamigv.cpp b/src/mame/drivers/konamigv.cpp
index b2e198bc824..f2a43917c86 100644
--- a/src/mame/drivers/konamigv.cpp
+++ b/src/mame/drivers/konamigv.cpp
@@ -165,6 +165,11 @@ public:
void kdeadeye(machine_config &config);
void btchamp(machine_config &config);
void konamigv(machine_config &config);
+ void btchamp_map(address_map &map);
+ void kdeadeye_map(address_map &map);
+ void konamigv_map(address_map &map);
+ void simpbowl_map(address_map &map);
+ void tmosh_map(address_map &map);
protected:
virtual void driver_start() override;
@@ -180,7 +185,7 @@ private:
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START( konamigv_map, AS_PROGRAM, 32, konamigv_state )
+ADDRESS_MAP_START(konamigv_state::konamigv_map)
AM_RANGE(0x1f000000, 0x1f00001f) AM_DEVREADWRITE8("am53cf96", am53cf96_device, read, write, 0x00ff00ff)
AM_RANGE(0x1f100000, 0x1f100003) AM_READ_PORT("P1")
AM_RANGE(0x1f100004, 0x1f100007) AM_READ_PORT("P2")
@@ -190,7 +195,7 @@ static ADDRESS_MAP_START( konamigv_map, AS_PROGRAM, 32, konamigv_state )
AM_RANGE(0x1f780000, 0x1f780003) AM_WRITENOP /* watchdog? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( simpbowl_map, AS_PROGRAM, 32, konamigv_state )
+ADDRESS_MAP_START(konamigv_state::simpbowl_map)
AM_IMPORT_FROM( konamigv_map )
AM_RANGE(0x1f680080, 0x1f68008f) AM_READWRITE16(flash_r, flash_w, 0xffffffff)
@@ -198,7 +203,7 @@ static ADDRESS_MAP_START( simpbowl_map, AS_PROGRAM, 32, konamigv_state )
AM_RANGE(0x1f6800c8, 0x1f6800cb) AM_DEVREAD8("upd", upd4701_device, reset_xy, 0x0000ff00)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( btchamp_map, AS_PROGRAM, 32, konamigv_state )
+ADDRESS_MAP_START(konamigv_state::btchamp_map)
AM_IMPORT_FROM( konamigv_map )
AM_RANGE(0x1f380000, 0x1f3fffff) AM_DEVREADWRITE16("flash", intelfsh16_device, read, write, 0xffffffff)
@@ -208,7 +213,7 @@ static ADDRESS_MAP_START( btchamp_map, AS_PROGRAM, 32, konamigv_state )
AM_RANGE(0x1f6800e0, 0x1f6800e3) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kdeadeye_map, AS_PROGRAM, 32, konamigv_state )
+ADDRESS_MAP_START(konamigv_state::kdeadeye_map)
AM_IMPORT_FROM( konamigv_map )
AM_RANGE(0x1f380000, 0x1f3fffff) AM_DEVREADWRITE16("flash", intelfsh16_device, read, write, 0xffffffff)
@@ -220,7 +225,7 @@ static ADDRESS_MAP_START( kdeadeye_map, AS_PROGRAM, 32, konamigv_state )
AM_RANGE(0x1f6800e0, 0x1f6800e3) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tmosh_map, AS_PROGRAM, 32, konamigv_state )
+ADDRESS_MAP_START(konamigv_state::tmosh_map)
AM_IMPORT_FROM( konamigv_map )
AM_RANGE(0x1f680080, 0x1f680083) AM_READ16(tokimeki_serial_r, 0x0000ffff)
diff --git a/src/mame/drivers/konamigx.cpp b/src/mame/drivers/konamigx.cpp
index ec6e292a3bb..cf7d6392032 100644
--- a/src/mame/drivers/konamigx.cpp
+++ b/src/mame/drivers/konamigx.cpp
@@ -985,7 +985,7 @@ WRITE32_MEMBER(konamigx_state::type1_cablamps_w)
/* 68EC020 memory handlers */
/**********************************************************************************/
-static ADDRESS_MAP_START( gx_base_memmap, AS_PROGRAM, 32, konamigx_state )
+ADDRESS_MAP_START(konamigx_state::gx_base_memmap)
AM_RANGE(0x000000, 0x01ffff) AM_ROM // BIOS ROM
AM_RANGE(0x200000, 0x3fffff) AM_ROM // main program ROM
AM_RANGE(0x400000, 0x7fffff) AM_ROM // data ROM
@@ -1013,7 +1013,7 @@ static ADDRESS_MAP_START( gx_base_memmap, AS_PROGRAM, 32, konamigx_state )
AM_RANGE(0xda2000, 0xda3fff) AM_DEVREADWRITE("k056832", k056832_device, ram_long_r, ram_long_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gx_type1_map, AS_PROGRAM, 32, konamigx_state )
+ADDRESS_MAP_START(konamigx_state::gx_type1_map)
AM_IMPORT_FROM(gx_base_memmap)
AM_RANGE(0xd90000, 0xd97fff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0xdc0000, 0xdc1fff) AM_RAM // LAN RAM? (Racin' Force has, Open Golf doesn't)
@@ -1032,13 +1032,13 @@ static ADDRESS_MAP_START( gx_type1_map, AS_PROGRAM, 32, konamigx_state )
AM_RANGE(0xfc0000, 0xfc00ff) AM_RAM // chip 22N / S
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gx_type2_map, AS_PROGRAM, 32, konamigx_state )
+ADDRESS_MAP_START(konamigx_state::gx_type2_map)
AM_IMPORT_FROM(gx_base_memmap)
AM_RANGE(0xcc0000, 0xcc0003) AM_WRITE(esc_w)
AM_RANGE(0xd90000, 0xd97fff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gx_type3_map, AS_PROGRAM, 32, konamigx_state )
+ADDRESS_MAP_START(konamigx_state::gx_type3_map)
AM_IMPORT_FROM(gx_base_memmap)
AM_RANGE(0xd90000, 0xd97fff) AM_RAM
//AM_RANGE(0xcc0000, 0xcc0007) AM_WRITE(type4_prot_w)
@@ -1052,7 +1052,7 @@ static ADDRESS_MAP_START( gx_type3_map, AS_PROGRAM, 32, konamigx_state )
//AM_RANGE(0xf00000, 0xf07fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gx_type4_map, AS_PROGRAM, 32, konamigx_state )
+ADDRESS_MAP_START(konamigx_state::gx_type4_map)
AM_IMPORT_FROM(gx_base_memmap)
AM_RANGE(0xcc0000, 0xcc0007) AM_WRITE(type4_prot_w)
AM_RANGE(0xd90000, 0xd97fff) AM_RAM
@@ -1104,7 +1104,7 @@ WRITE16_MEMBER(konamigx_state::tms57002_control_word_w)
}
/* 68000 memory handling */
-static ADDRESS_MAP_START( gxsndmap, AS_PROGRAM, 16, konamigx_state )
+ADDRESS_MAP_START(konamigx_state::gxsndmap)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x2004ff) AM_DEVREADWRITE8("k054539_1", k054539_device, read, write, 0xff00)
@@ -1115,7 +1115,7 @@ static ADDRESS_MAP_START( gxsndmap, AS_PROGRAM, 16, konamigx_state )
AM_RANGE(0x580000, 0x580001) AM_WRITENOP // 'NRES' - D2: K056602 /RESET
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gxtmsmap, AS_DATA, 8, konamigx_state )
+ADDRESS_MAP_START(konamigx_state::gxtmsmap)
AM_RANGE(0x00000, 0x3ffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/konamim2.cpp b/src/mame/drivers/konamim2.cpp
index 179bae8bf07..42641f1be4b 100644
--- a/src/mame/drivers/konamim2.cpp
+++ b/src/mame/drivers/konamim2.cpp
@@ -281,6 +281,12 @@ public:
required_device<cpu_device> m_subcpu;
void m2(machine_config &config);
void _3do_m2(machine_config &config);
+ void _3do_m2_main(address_map &map);
+ void _3do_m2_main_m(address_map &map);
+ void _3do_m2_main_s(address_map &map);
+ void m2_main(address_map &map);
+ void m2_main_m(address_map &map);
+ void m2_main_s(address_map &map);
};
@@ -1164,7 +1170,7 @@ READ8_MEMBER(konamim2_state::id7_r)
return 0x07;
}
-static ADDRESS_MAP_START( m2_main, AS_PROGRAM, 64, konamim2_state )
+ADDRESS_MAP_START(konamim2_state::m2_main)
AM_RANGE(0x00000000, 0x0000007f) AM_RAM // ???
AM_RANGE(0x00010040, 0x00010047) AM_READWRITE(irq_enable_r, irq_enable_w)
AM_RANGE(0x00010050, 0x00010057) AM_READ(irq_active_r)
@@ -1203,30 +1209,30 @@ static ADDRESS_MAP_START( m2_main, AS_PROGRAM, 64, konamim2_state )
AM_RANGE(0xfff00000, 0xffffffff) AM_ROM AM_REGION("boot", 0) AM_SHARE("share2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( m2_main_m, AS_PROGRAM, 64, konamim2_state )
+ADDRESS_MAP_START(konamim2_state::m2_main_m)
AM_IMPORT_FROM( m2_main )
AM_RANGE(0x10000000, 0x10000007) AM_READ(cpu_r<true>)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( m2_main_s, AS_PROGRAM, 64, konamim2_state )
+ADDRESS_MAP_START(konamim2_state::m2_main_s)
AM_IMPORT_FROM( m2_main )
AM_RANGE(0x10000000, 0x10000007) AM_READ(cpu_r<false>)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( 3do_m2_main, AS_PROGRAM, 64, konamim2_state )
+ADDRESS_MAP_START(konamim2_state::_3do_m2_main)
// ADDRESS_MAP_UNMAP_HIGH
AM_IMPORT_FROM( m2_main )
// AM_RANGE(0x00000000, 0x000cffff) devices?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( 3do_m2_main_m, AS_PROGRAM, 64, konamim2_state )
- AM_IMPORT_FROM( 3do_m2_main )
+ADDRESS_MAP_START(konamim2_state::_3do_m2_main_m)
+ AM_IMPORT_FROM( _3do_m2_main )
AM_RANGE(0x10000000, 0x10000007) AM_READ(cpu_r<true>)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( 3do_m2_main_s, AS_PROGRAM, 64, konamim2_state )
- AM_IMPORT_FROM( 3do_m2_main )
+ADDRESS_MAP_START(konamim2_state::_3do_m2_main_s)
+ AM_IMPORT_FROM( _3do_m2_main )
AM_RANGE(0x10000000, 0x10000007) AM_READ(cpu_r<false>)
ADDRESS_MAP_END
@@ -1321,10 +1327,10 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(konamim2_state::_3do_m2, m2)
MCFG_CPU_MODIFY("maincpu")
- MCFG_CPU_PROGRAM_MAP(3do_m2_main_m)
+ MCFG_CPU_PROGRAM_MAP(_3do_m2_main_m)
MCFG_CPU_MODIFY("sub")
- MCFG_CPU_PROGRAM_MAP(3do_m2_main_s)
+ MCFG_CPU_PROGRAM_MAP(_3do_m2_main_s)
MCFG_SOFTWARE_LIST_ADD("cd_list","3do_m2")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/konendev.cpp b/src/mame/drivers/konendev.cpp
index 19ea604fddb..4b3d0846875 100644
--- a/src/mame/drivers/konendev.cpp
+++ b/src/mame/drivers/konendev.cpp
@@ -54,6 +54,7 @@ public:
{ }
void konendev(machine_config &config);
+ void konendev_map(address_map &map);
protected:
// devices
required_device<cpu_device> m_maincpu;
@@ -211,7 +212,7 @@ WRITE32_MEMBER(konendev_state::sound_data_w)
{
}
-static ADDRESS_MAP_START( konendev_map, AS_PROGRAM, 32, konendev_state )
+ADDRESS_MAP_START(konendev_state::konendev_map)
AM_RANGE(0x00000000, 0x00ffffff) AM_RAM
AM_RANGE(0x78000000, 0x78000003) AM_READ(mcu2_r)
AM_RANGE(0x78080000, 0x7808000f) AM_READWRITE(rtc_r, rtc_w)
diff --git a/src/mame/drivers/konin.cpp b/src/mame/drivers/konin.cpp
index 1d10e950618..a3213759971 100644
--- a/src/mame/drivers/konin.cpp
+++ b/src/mame/drivers/konin.cpp
@@ -58,16 +58,22 @@ public:
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
, m_picu(*this, "picu")
+ , m_ioppi(*this, "ioppi")
+ , m_iopit(*this, "iopit")
{ }
DECLARE_WRITE8_MEMBER(picu_b_w);
DECLARE_WRITE_LINE_MEMBER(picu_r3_w);
void konin(machine_config &config);
+ void konin_io(address_map &map);
+ void konin_mem(address_map &map);
private:
virtual void machine_start() override;
required_device<cpu_device> m_maincpu;
required_device<i8214_device> m_picu;
+ required_device<i8255_device> m_ioppi;
+ required_device<pit8253_device> m_iopit;
};
WRITE8_MEMBER(konin_state::picu_b_w)
@@ -80,7 +86,7 @@ WRITE_LINE_MEMBER(konin_state::picu_r3_w)
m_picu->r_w(3, !state);
}
-static ADDRESS_MAP_START( konin_mem, AS_PROGRAM, 8, konin_state )
+ADDRESS_MAP_START(konin_state::konin_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x4fff) AM_ROM
AM_RANGE(0x5000, 0x7fff) AM_RAM
@@ -91,14 +97,15 @@ static ADDRESS_MAP_START( konin_mem, AS_PROGRAM, 8, konin_state )
AM_RANGE(0xff00, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( konin_io, AS_IO, 8, konin_state )
+ADDRESS_MAP_START(konin_state::konin_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x24, 0x24) AM_WRITE(picu_b_w)
- AM_RANGE(0x80, 0x83) AM_DEVREADWRITE_MOD("ioppi", i8255_device, read, write, xor<3>)
+
+ ;map(0x80, 0x83).lrw8("ioppi_rw", [this](address_space &space, offs_t offset, u8 mem_mask) { return m_ioppi->read(space, offset^3, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask) { m_ioppi->write(space, offset^3, data, mem_mask); });
AM_RANGE(0xf6, 0xf6) AM_DEVREADWRITE("uart", i8251_device, status_r, control_w)
AM_RANGE(0xf7, 0xf7) AM_DEVREADWRITE("uart", i8251_device, data_r, data_w)
- AM_RANGE(0xf8, 0xfb) AM_DEVREADWRITE_MOD("iopit", pit8253_device, read, write, xor<3>)
+ ;map(0xf8, 0xfb).lrw8("iopit_rw", [this](address_space &space, offs_t offset, u8 mem_mask) { return m_iopit->read(space, offset^3, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask) { m_iopit->write(space, offset^3, data, mem_mask); });
ADDRESS_MAP_END
/* Input ports */
diff --git a/src/mame/drivers/konmedal.cpp b/src/mame/drivers/konmedal.cpp
index eb1da3dbbe8..e7fe0db9ca6 100644
--- a/src/mame/drivers/konmedal.cpp
+++ b/src/mame/drivers/konmedal.cpp
@@ -88,6 +88,9 @@ public:
void shuriboy(machine_config &config);
void ddboy(machine_config &config);
void tsukande(machine_config &config);
+ void ddboy_main(address_map &map);
+ void medal_main(address_map &map);
+ void shuriboy_main(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -222,7 +225,7 @@ WRITE8_MEMBER(konmedal_state::bankswitch_w)
m_control = data & 0xf;
}
-static ADDRESS_MAP_START( medal_main, AS_PROGRAM, 8, konmedal_state )
+ADDRESS_MAP_START(konmedal_state::medal_main)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("bank1")
AM_RANGE(0xa000, 0xafff) AM_RAM // work RAM?
@@ -241,7 +244,7 @@ static ADDRESS_MAP_START( medal_main, AS_PROGRAM, 8, konmedal_state )
AM_RANGE(0xe000, 0xffff) AM_READWRITE(vram_r, vram_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ddboy_main, AS_PROGRAM, 8, konmedal_state )
+ADDRESS_MAP_START(konmedal_state::ddboy_main)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("bank1")
AM_RANGE(0xa000, 0xbfff) AM_RAM // work RAM
@@ -263,7 +266,7 @@ static ADDRESS_MAP_START( ddboy_main, AS_PROGRAM, 8, konmedal_state )
AM_RANGE(0xe000, 0xffff) AM_READWRITE(vram_r, vram_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( shuriboy_main, AS_PROGRAM, 8, konmedal_state )
+ADDRESS_MAP_START(konmedal_state::shuriboy_main)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8800) AM_READ_PORT("IN2")
diff --git a/src/mame/drivers/konmedal68k.cpp b/src/mame/drivers/konmedal68k.cpp
index c4083ed5b29..f2c84b42710 100644
--- a/src/mame/drivers/konmedal68k.cpp
+++ b/src/mame/drivers/konmedal68k.cpp
@@ -78,6 +78,7 @@ public:
return m_k056832->piratesh_rom_r(space, offset, mem_mask);
}
+ void kzaurus_main(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -187,7 +188,7 @@ uint32_t konmedal68k_state::screen_update_konmedal68k(screen_device &screen, bit
return 0;
}
-static ADDRESS_MAP_START( kzaurus_main, AS_PROGRAM, 16, konmedal68k_state )
+ADDRESS_MAP_START(konmedal68k_state::kzaurus_main)
AM_RANGE(0x000000, 0x07ffff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x400000, 0x403fff) AM_RAM
AM_RANGE(0x800000, 0x800001) AM_WRITE(control_w)
diff --git a/src/mame/drivers/kontest.cpp b/src/mame/drivers/kontest.cpp
index a522312a533..39a77f1b3ef 100644
--- a/src/mame/drivers/kontest.cpp
+++ b/src/mame/drivers/kontest.cpp
@@ -53,6 +53,8 @@ public:
DECLARE_WRITE8_MEMBER(control_w);
void kontest(machine_config &config);
+ void kontest_io(address_map &map);
+ void kontest_map(address_map &map);
protected:
// driver_device overrides
virtual void machine_start() override;
@@ -166,12 +168,12 @@ WRITE8_MEMBER(kontest_state::control_w)
m_maincpu->set_input_line(0, CLEAR_LINE);
}
-static ADDRESS_MAP_START( kontest_map, AS_PROGRAM, 8, kontest_state )
+ADDRESS_MAP_START(kontest_state::kontest_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kontest_io, AS_IO, 8, kontest_state )
+ADDRESS_MAP_START(kontest_state::kontest_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("sn1", sn76489a_device, write)
AM_RANGE(0x04, 0x04) AM_DEVWRITE("sn2", sn76489a_device, write)
diff --git a/src/mame/drivers/kopunch.cpp b/src/mame/drivers/kopunch.cpp
index b6116917591..3383b026f00 100644
--- a/src/mame/drivers/kopunch.cpp
+++ b/src/mame/drivers/kopunch.cpp
@@ -72,7 +72,7 @@ INPUT_CHANGED_MEMBER(kopunch_state::right_coin_inserted)
********************************************************/
-static ADDRESS_MAP_START( kopunch_map, AS_PROGRAM, 8, kopunch_state )
+ADDRESS_MAP_START(kopunch_state::kopunch_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
AM_RANGE(0x6000, 0x63ff) AM_RAM_WRITE(vram_fg_w) AM_SHARE("vram_fg")
@@ -81,7 +81,7 @@ static ADDRESS_MAP_START( kopunch_map, AS_PROGRAM, 8, kopunch_state )
AM_RANGE(0x7400, 0x7bff) AM_RAM // more unused vram? or accidental writes?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kopunch_io_map, AS_IO, 8, kopunch_state )
+ADDRESS_MAP_START(kopunch_state::kopunch_io_map)
AM_RANGE(0x30, 0x33) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
AM_RANGE(0x34, 0x37) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write)
AM_RANGE(0x38, 0x3b) AM_DEVREADWRITE("ppi8255_2", i8255_device, read, write)
diff --git a/src/mame/drivers/kramermc.cpp b/src/mame/drivers/kramermc.cpp
index 1d91d721110..f84822c3b68 100644
--- a/src/mame/drivers/kramermc.cpp
+++ b/src/mame/drivers/kramermc.cpp
@@ -22,7 +22,7 @@ static GFXDECODE_START( kramermc )
GFXDECODE_END
/* Address maps */
-static ADDRESS_MAP_START(kramermc_mem, AS_PROGRAM, 8, kramermc_state )
+ADDRESS_MAP_START(kramermc_state::kramermc_mem)
AM_RANGE( 0x0000, 0x03ff ) AM_ROM // Monitor
AM_RANGE( 0x0400, 0x07ff ) AM_ROM // Debugger
AM_RANGE( 0x0800, 0x0bff ) AM_ROM // Reassembler
@@ -34,7 +34,7 @@ static ADDRESS_MAP_START(kramermc_mem, AS_PROGRAM, 8, kramermc_state )
AM_RANGE( 0xfc00, 0xffff ) AM_RAM // Video RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kramermc_io, AS_IO, 8, kramermc_state )
+ADDRESS_MAP_START(kramermc_state::kramermc_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xfc, 0x0ff) AM_DEVREADWRITE("z80pio", z80pio_device, read, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/kron.cpp b/src/mame/drivers/kron.cpp
index 6a17265ab98..34a43bf7d9d 100644
--- a/src/mame/drivers/kron.cpp
+++ b/src/mame/drivers/kron.cpp
@@ -147,6 +147,8 @@ kron180_state(const machine_config &mconfig, device_type type, const char *tag)
DECLARE_WRITE8_MEMBER( kbd_reset_w ){ LOGIO(("%s %02x = %02x\n", FUNCNAME, offset, data)); }
DECLARE_WRITE8_MEMBER( dreq_w ){ LOGIO(("%s %02x = %02x\n", FUNCNAME, offset, data)); }
void kron180(machine_config &config);
+ void kron180_iomap(address_map &map);
+ void kron180_mem(address_map &map);
protected:
required_device<cpu_device> m_maincpu;
required_shared_ptr<uint8_t> m_videoram;
@@ -156,7 +158,7 @@ private:
virtual void machine_start () override;
};
-static ADDRESS_MAP_START (kron180_mem, AS_PROGRAM, 8, kron180_state)
+ADDRESS_MAP_START(kron180_state::kron180_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE (0x0000, 0x7fff) AM_ROM AM_REGION("roms", 0x8000)
AM_RANGE (0x8000, 0x85ff) AM_RAM AM_MIRROR(0x6000)
@@ -194,7 +196,7 @@ ADDRESS_MAP_END
*
* At the moment we emulate the screen at a high level so I just disregard the special functions on A16 - A18 by mirroring the mapping below
*/
-static ADDRESS_MAP_START( kron180_iomap, AS_IO, 8, kron180_state )
+ADDRESS_MAP_START(kron180_state::kron180_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x0000, 0x000f ) AM_WRITE(sn74259_w)
AM_RANGE( 0x0010, 0x001f ) AM_READWRITE(ap5_r, ap5_w)
diff --git a/src/mame/drivers/krz2000.cpp b/src/mame/drivers/krz2000.cpp
index 9e3147516f1..f5c5b511c2b 100644
--- a/src/mame/drivers/krz2000.cpp
+++ b/src/mame/drivers/krz2000.cpp
@@ -39,6 +39,7 @@ public:
virtual void machine_start() override;
virtual void machine_reset() override;
void k2000(machine_config &config);
+ void k2000_map(address_map &map);
};
void k2000_state::machine_start()
@@ -49,7 +50,7 @@ void k2000_state::machine_reset()
{
}
-static ADDRESS_MAP_START( k2000_map, AS_PROGRAM, 16, k2000_state )
+ADDRESS_MAP_START(k2000_state::k2000_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x100000, 0x11ffff) AM_RAM
AM_RANGE(0xfffc00, 0xffffff) AM_DEVREADWRITE("tmp68301", tmp68301_device, regs_r, regs_w) // TMP68301 Registers
diff --git a/src/mame/drivers/ksayakyu.cpp b/src/mame/drivers/ksayakyu.cpp
index 3d89b3f596f..97805aa157d 100644
--- a/src/mame/drivers/ksayakyu.cpp
+++ b/src/mame/drivers/ksayakyu.cpp
@@ -113,7 +113,7 @@ READ8_MEMBER(ksayakyu_state::int_ack_r)
return 0xff; // value not used
}
-static ADDRESS_MAP_START( maincpu_map, AS_PROGRAM, 8, ksayakyu_state )
+ADDRESS_MAP_START(ksayakyu_state::maincpu_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0x9fff) AM_ROM
@@ -131,7 +131,7 @@ static ADDRESS_MAP_START( maincpu_map, AS_PROGRAM, 8, ksayakyu_state )
AM_RANGE(0xb800, 0xbfff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( soundcpu_map, AS_PROGRAM, 8, ksayakyu_state )
+ADDRESS_MAP_START(ksayakyu_state::soundcpu_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM
AM_RANGE(0xa001, 0xa001) AM_DEVREAD("ay1", ay8910_device, data_r)
diff --git a/src/mame/drivers/ksys573.cpp b/src/mame/drivers/ksys573.cpp
index 41d5e15cf16..6b422383c95 100644
--- a/src/mame/drivers/ksys573.cpp
+++ b/src/mame/drivers/ksys573.cpp
@@ -523,6 +523,12 @@ public:
static void hyprbbc2_cassette_install(device_t *device);
static void hypbbc2p_cassette_install(device_t *device);
static void cr589_config(device_t *device);
+ void fbaitbc_map(address_map &map);
+ void flashbank_map(address_map &map);
+ void gunmania_map(address_map &map);
+ void konami573_map(address_map &map);
+ void konami573a_map(address_map &map);
+ void konami573d_map(address_map &map);
protected:
virtual void driver_start() override;
@@ -607,7 +613,7 @@ void ATTR_PRINTF( 3,4 ) ksys573_state::verboselog( int n_level, const char *s_f
}
}
-static ADDRESS_MAP_START( konami573_map, AS_PROGRAM, 32, ksys573_state )
+ADDRESS_MAP_START(ksys573_state::konami573_map)
AM_RANGE( 0x1f000000, 0x1f3fffff ) AM_DEVICE16( "flashbank", address_map_bank_device, amap16, 0xffffffff )
AM_RANGE( 0x1f400000, 0x1f400003 ) AM_READ_PORT( "IN0" ) AM_WRITE_PORT( "OUT0" )
AM_RANGE( 0x1f400004, 0x1f400007 ) AM_READ_PORT( "IN1" )
@@ -623,7 +629,7 @@ static ADDRESS_MAP_START( konami573_map, AS_PROGRAM, 32, ksys573_state )
AM_RANGE( 0x1f6a0000, 0x1f6a0003 ) AM_READWRITE16( security_r, security_w, 0x0000ffff )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( flashbank_map, AS_PROGRAM, 16, ksys573_state )
+ADDRESS_MAP_START(ksys573_state::flashbank_map)
AM_RANGE( 0x0000000, 0x03fffff ) AM_DEVREADWRITE8( "29f016a.31m", intelfsh8_device, read, write, 0x00ff )
AM_RANGE( 0x0000000, 0x03fffff ) AM_DEVREADWRITE8( "29f016a.27m", intelfsh8_device, read, write, 0xff00 )
AM_RANGE( 0x0400000, 0x07fffff ) AM_DEVREADWRITE8( "29f016a.31l", intelfsh8_device, read, write, 0x00ff )
@@ -636,22 +642,22 @@ static ADDRESS_MAP_START( flashbank_map, AS_PROGRAM, 16, ksys573_state )
AM_RANGE( 0x8000000, 0xbffffff ) AM_DEVREADWRITE( "pccard2", pccard_slot_device, read_memory, write_memory )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( konami573d_map, AS_PROGRAM, 32, ksys573_state )
+ADDRESS_MAP_START(ksys573_state::konami573d_map)
AM_IMPORT_FROM( konami573_map )
AM_RANGE( 0x1f640000, 0x1f6400ff ) AM_DEVICE16( "k573dio", k573dio_device, amap, 0xffffffff )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( konami573a_map, AS_PROGRAM, 32, ksys573_state )
+ADDRESS_MAP_START(ksys573_state::konami573a_map)
AM_IMPORT_FROM( konami573_map )
AM_RANGE( 0x1f640000, 0x1f6400ff ) AM_READWRITE16( gx700pwbf_io_r, gx700pwbf_io_w, 0xffffffff )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fbaitbc_map, AS_PROGRAM, 32, ksys573_state )
+ADDRESS_MAP_START(ksys573_state::fbaitbc_map)
AM_IMPORT_FROM( konami573_map )
AM_RANGE( 0x1f640000, 0x1f6400ff ) AM_READWRITE16( ge765pwbba_r, ge765pwbba_w, 0xffffffff )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gunmania_map, AS_PROGRAM, 32, ksys573_state )
+ADDRESS_MAP_START(ksys573_state::gunmania_map)
AM_IMPORT_FROM( konami573_map )
AM_RANGE( 0x1f640000, 0x1f6400ff ) AM_READWRITE16( gunmania_r, gunmania_w, 0xffffffff )
ADDRESS_MAP_END
diff --git a/src/mame/drivers/kungfur.cpp b/src/mame/drivers/kungfur.cpp
index 9617c850bc0..f07e24673ce 100644
--- a/src/mame/drivers/kungfur.cpp
+++ b/src/mame/drivers/kungfur.cpp
@@ -97,6 +97,7 @@ public:
required_device<msm5205_device> m_adpcm1;
required_device<msm5205_device> m_adpcm2;
void kungfur(machine_config &config);
+ void kungfur_map(address_map &map);
};
@@ -222,7 +223,7 @@ WRITE_LINE_MEMBER(kungfur_state::kfr_adpcm2_int)
}
-static ADDRESS_MAP_START( kungfur_map, AS_PROGRAM, 8, kungfur_state )
+ADDRESS_MAP_START(kungfur_state::kungfur_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x4000, 0x4000) AM_WRITE(kungfur_adpcm1_w)
AM_RANGE(0x4004, 0x4004) AM_WRITE(kungfur_adpcm2_w)
diff --git a/src/mame/drivers/kurukuru.cpp b/src/mame/drivers/kurukuru.cpp
index 27e9fec5221..1d394795c80 100644
--- a/src/mame/drivers/kurukuru.cpp
+++ b/src/mame/drivers/kurukuru.cpp
@@ -436,6 +436,14 @@ public:
DECLARE_WRITE_LINE_MEMBER(kurukuru_msm5205_vck);
void ppj(machine_config &config);
void kurukuru(machine_config &config);
+ void kurukuru_audio_io(address_map &map);
+ void kurukuru_audio_map(address_map &map);
+ void kurukuru_io(address_map &map);
+ void kurukuru_map(address_map &map);
+ void ppj_audio_io(address_map &map);
+ void ppj_audio_map(address_map &map);
+ void ppj_io(address_map &map);
+ void ppj_map(address_map &map);
};
#define MAIN_CLOCK XTAL(21'477'272)
@@ -536,13 +544,13 @@ WRITE8_MEMBER(kurukuru_state::kurukuru_soundlatch_w)
}
-static ADDRESS_MAP_START( kurukuru_map, AS_PROGRAM, 8, kurukuru_state )
+ADDRESS_MAP_START(kurukuru_state::kurukuru_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0xdfff) AM_ROMBANK("bank1")
AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kurukuru_io, AS_IO, 8, kurukuru_state )
+ADDRESS_MAP_START(kurukuru_state::kurukuru_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x0f) AM_WRITE(kurukuru_out_latch_w)
AM_RANGE(0x10, 0x10) AM_MIRROR(0x0f) AM_READ_PORT("DSW1")
@@ -555,13 +563,13 @@ static ADDRESS_MAP_START( kurukuru_io, AS_IO, 8, kurukuru_state )
AM_RANGE(0xd0, 0xd0) AM_MIRROR(0x0f) AM_DEVWRITE("ym2149", ay8910_device, data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ppj_map, AS_PROGRAM, 8, kurukuru_state )
+ADDRESS_MAP_START(kurukuru_state::ppj_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0xdfff) AM_ROMBANK("bank1")
AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ppj_io, AS_IO, 8, kurukuru_state )
+ADDRESS_MAP_START(kurukuru_state::ppj_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x0f) AM_WRITE(kurukuru_bankswitch_w)
AM_RANGE(0x10, 0x13) AM_MIRROR(0x0c) AM_DEVREADWRITE( "v9938", v9938_device, read, write )
@@ -631,12 +639,12 @@ READ8_MEMBER(kurukuru_state::kurukuru_adpcm_timer_irqack_r)
}
-static ADDRESS_MAP_START( kurukuru_audio_map, AS_PROGRAM, 8, kurukuru_state )
+ADDRESS_MAP_START(kurukuru_state::kurukuru_audio_map)
AM_RANGE(0x0000, 0xf7ff) AM_ROM
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kurukuru_audio_io, AS_IO, 8, kurukuru_state )
+ADDRESS_MAP_START(kurukuru_state::kurukuru_audio_io)
ADDRESS_MAP_GLOBAL_MASK(0x7f)
AM_RANGE(0x40, 0x40) AM_MIRROR(0x0f) AM_WRITE(kurukuru_adpcm_data_w)
AM_RANGE(0x50, 0x50) AM_MIRROR(0x0f) AM_WRITE(kurukuru_adpcm_reset_w)
@@ -644,12 +652,12 @@ static ADDRESS_MAP_START( kurukuru_audio_io, AS_IO, 8, kurukuru_state )
AM_RANGE(0x70, 0x70) AM_MIRROR(0x0f) AM_READ(kurukuru_adpcm_timer_irqack_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ppj_audio_map, AS_PROGRAM, 8, kurukuru_state )
+ADDRESS_MAP_START(kurukuru_state::ppj_audio_map)
AM_RANGE(0x0000, 0xf7ff) AM_ROM
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ppj_audio_io, AS_IO, 8, kurukuru_state )
+ADDRESS_MAP_START(kurukuru_state::ppj_audio_io)
ADDRESS_MAP_GLOBAL_MASK(0x7f)
AM_RANGE(0x20, 0x20) AM_MIRROR(0x0f) AM_WRITE(kurukuru_adpcm_data_w)
AM_RANGE(0x30, 0x30) AM_MIRROR(0x0f) AM_WRITE(kurukuru_adpcm_reset_w)
diff --git a/src/mame/drivers/kyocera.cpp b/src/mame/drivers/kyocera.cpp
index 1e28db8639a..78a807f0258 100644
--- a/src/mame/drivers/kyocera.cpp
+++ b/src/mame/drivers/kyocera.cpp
@@ -563,26 +563,26 @@ WRITE8_MEMBER( kc85_state::lcd_w )
/* Memory Maps */
-static ADDRESS_MAP_START( kc85_mem, AS_PROGRAM, 8, kc85_state )
+ADDRESS_MAP_START(kc85_state::kc85_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0xffff) AM_RAMBANK("bank2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc8201_mem, AS_PROGRAM, 8, pc8201_state )
+ADDRESS_MAP_START(pc8201_state::pc8201_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_RAMBANK("bank1")
AM_RANGE(0x8000, 0xffff) AM_RAMBANK("bank2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tandy200_mem, AS_PROGRAM, 8, tandy200_state )
+ADDRESS_MAP_START(tandy200_state::tandy200_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0x9fff) AM_ROM
AM_RANGE(0xa000, 0xffff) AM_RAMBANK("bank2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kc85_io, AS_IO, 8, kc85_state )
+ADDRESS_MAP_START(kc85_state::kc85_io)
ADDRESS_MAP_UNMAP_HIGH
// AM_RANGE(0x70, 0x70) AM_MIRROR(0x0f) optional RAM unit
// AM_RANGE(0x80, 0x80) AM_MIRROR(0x0f) optional I/O controller unit
@@ -595,12 +595,12 @@ static ADDRESS_MAP_START( kc85_io, AS_IO, 8, kc85_state )
AM_RANGE(0xf0, 0xf1) AM_MIRROR(0x0e) AM_READWRITE(lcd_r, lcd_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( trsm100_io, AS_IO, 8, kc85_state )
+ADDRESS_MAP_START(kc85_state::trsm100_io)
AM_IMPORT_FROM(kc85_io)
AM_RANGE(0xa0, 0xa0) AM_MIRROR(0x0f) AM_WRITE(modem_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc8201_io, AS_IO, 8, pc8201_state )
+ADDRESS_MAP_START(pc8201_state::pc8201_io)
ADDRESS_MAP_UNMAP_HIGH
// AM_RANGE(0x70, 0x70) AM_MIRROR(0x0f) optional video interface 8255
AM_RANGE(0x80, 0x80) AM_MIRROR(0x03) AM_WRITE(romah_w)
@@ -616,7 +616,7 @@ static ADDRESS_MAP_START( pc8201_io, AS_IO, 8, pc8201_state )
AM_RANGE(0xf0, 0xf1) AM_MIRROR(0x0e) AM_READWRITE(lcd_r, lcd_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tandy200_io, AS_IO, 8, tandy200_state )
+ADDRESS_MAP_START(tandy200_state::tandy200_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x90, 0x9f) AM_DEVREADWRITE(RP5C01A_TAG, rp5c01_device, read, write)
// AM_RANGE(0xa0, 0xa0) AM_MIRROR(0x0f) AM_DEVWRITE(TCM5089_TAG, write)
diff --git a/src/mame/drivers/kyugo.cpp b/src/mame/drivers/kyugo.cpp
index a6e36adc364..4c179c841b0 100644
--- a/src/mame/drivers/kyugo.cpp
+++ b/src/mame/drivers/kyugo.cpp
@@ -40,7 +40,7 @@
*
*************************************/
-static ADDRESS_MAP_START( kyugo_main_map, AS_PROGRAM, 8, kyugo_state )
+ADDRESS_MAP_START(kyugo_state::kyugo_main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(bgvideoram_w) AM_SHARE("bgvideoram")
AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(bgattribram_w) AM_SHARE("bgattribram")
@@ -53,7 +53,7 @@ static ADDRESS_MAP_START( kyugo_main_map, AS_PROGRAM, 8, kyugo_state )
AM_RANGE(0xf000, 0xf7ff) AM_RAM AM_SHARE("shared_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gyrodine_main_map, AS_PROGRAM, 8, kyugo_state )
+ADDRESS_MAP_START(kyugo_state::gyrodine_main_map)
AM_IMPORT_FROM(kyugo_main_map)
AM_RANGE(0xe000, 0xe000) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
ADDRESS_MAP_END
@@ -71,7 +71,7 @@ WRITE_LINE_MEMBER(kyugo_state::nmi_mask_w)
m_nmi_mask = state;
}
-static ADDRESS_MAP_START( kyugo_main_portmap, AS_IO, 8, kyugo_state )
+ADDRESS_MAP_START(kyugo_state::kyugo_main_portmap)
ADDRESS_MAP_GLOBAL_MASK(0x07)
AM_RANGE(0x00, 0x07) AM_DEVWRITE("mainlatch", ls259_device, write_d0)
ADDRESS_MAP_END
@@ -85,7 +85,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( gyrodine_sub_map, AS_PROGRAM, 8, kyugo_state )
+ADDRESS_MAP_START(kyugo_state::gyrodine_sub_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM AM_SHARE("shared_ram")
AM_RANGE(0x8000, 0x8000) AM_READ_PORT("P2")
@@ -94,7 +94,7 @@ static ADDRESS_MAP_START( gyrodine_sub_map, AS_PROGRAM, 8, kyugo_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( repulse_sub_map, AS_PROGRAM, 8, kyugo_state )
+ADDRESS_MAP_START(kyugo_state::repulse_sub_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_SHARE("shared_ram")
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("P2")
@@ -103,7 +103,7 @@ static ADDRESS_MAP_START( repulse_sub_map, AS_PROGRAM, 8, kyugo_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( srdmissn_sub_map, AS_PROGRAM, 8, kyugo_state )
+ADDRESS_MAP_START(kyugo_state::srdmissn_sub_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("shared_ram")
AM_RANGE(0xf400, 0xf400) AM_READ_PORT("SYSTEM")
@@ -112,7 +112,7 @@ static ADDRESS_MAP_START( srdmissn_sub_map, AS_PROGRAM, 8, kyugo_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( legend_sub_map, AS_PROGRAM, 8, kyugo_state )
+ADDRESS_MAP_START(kyugo_state::legend_sub_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("shared_ram")
AM_RANGE(0xf800, 0xf800) AM_READ_PORT("SYSTEM")
@@ -121,7 +121,7 @@ static ADDRESS_MAP_START( legend_sub_map, AS_PROGRAM, 8, kyugo_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( flashgala_sub_map, AS_PROGRAM, 8, kyugo_state )
+ADDRESS_MAP_START(kyugo_state::flashgala_sub_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc040, 0xc040) AM_READ_PORT("SYSTEM")
AM_RANGE(0xc080, 0xc080) AM_READ_PORT("P1")
@@ -142,7 +142,7 @@ WRITE8_MEMBER(kyugo_state::coin_counter_w)
machine().bookkeeping().coin_counter_w(offset, data & 1);
}
-static ADDRESS_MAP_START( gyrodine_sub_portmap, AS_IO, 8, kyugo_state )
+ADDRESS_MAP_START(kyugo_state::gyrodine_sub_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
AM_RANGE(0x02, 0x02) AM_DEVREAD("ay1", ay8910_device, data_r)
@@ -150,7 +150,7 @@ static ADDRESS_MAP_START( gyrodine_sub_portmap, AS_IO, 8, kyugo_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( repulse_sub_portmap, AS_IO, 8, kyugo_state )
+ADDRESS_MAP_START(kyugo_state::repulse_sub_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
AM_RANGE(0x02, 0x02) AM_DEVREAD("ay1", ay8910_device, data_r)
@@ -159,7 +159,7 @@ static ADDRESS_MAP_START( repulse_sub_portmap, AS_IO, 8, kyugo_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( flashgala_sub_portmap, AS_IO, 8, kyugo_state )
+ADDRESS_MAP_START(kyugo_state::flashgala_sub_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x40, 0x41) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
AM_RANGE(0x42, 0x42) AM_DEVREAD("ay1", ay8910_device, data_r)
@@ -168,7 +168,7 @@ static ADDRESS_MAP_START( flashgala_sub_portmap, AS_IO, 8, kyugo_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( srdmissn_sub_portmap, AS_IO, 8, kyugo_state )
+ADDRESS_MAP_START(kyugo_state::srdmissn_sub_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x80, 0x81) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
AM_RANGE(0x82, 0x82) AM_DEVREAD("ay1", ay8910_device, data_r)
diff --git a/src/mame/drivers/labyrunr.cpp b/src/mame/drivers/labyrunr.cpp
index 59631029fd1..09aacf3569b 100644
--- a/src/mame/drivers/labyrunr.cpp
+++ b/src/mame/drivers/labyrunr.cpp
@@ -46,7 +46,7 @@ WRITE8_MEMBER(labyrunr_state::labyrunr_bankswitch_w)
machine().bookkeeping().coin_counter_w(1, data & 0x10);
}
-static ADDRESS_MAP_START( labyrunr_map, AS_PROGRAM, 8, labyrunr_state )
+ADDRESS_MAP_START(labyrunr_state::labyrunr_map)
AM_RANGE(0x0000, 0x0007) AM_DEVWRITE("k007121", k007121_device, ctrl_w)
AM_RANGE(0x0020, 0x005f) AM_RAM AM_SHARE("scrollram")
AM_RANGE(0x0800, 0x0800) AM_DEVREADWRITE("ym1", ym2203_device, read_port_r, write_port_w)
diff --git a/src/mame/drivers/ladybug.cpp b/src/mame/drivers/ladybug.cpp
index 61379b9413d..2e5358c085f 100644
--- a/src/mame/drivers/ladybug.cpp
+++ b/src/mame/drivers/ladybug.cpp
@@ -70,7 +70,7 @@ TODO:
#include "speaker.h"
-static ADDRESS_MAP_START( ladybug_map, AS_PROGRAM, 8, ladybug_state )
+ADDRESS_MAP_START(ladybug_state::ladybug_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM
AM_RANGE(0x7000, 0x73ff) AM_WRITEONLY AM_SHARE("spriteram")
@@ -87,7 +87,7 @@ static ADDRESS_MAP_START( ladybug_map, AS_PROGRAM, 8, ladybug_state )
AM_RANGE(0xe000, 0xe000) AM_READ_PORT("IN2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, ladybug_state )
+ADDRESS_MAP_START(ladybug_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM AM_SHARE("decrypted_opcodes")
ADDRESS_MAP_END
@@ -553,7 +553,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(ladybug_state::dorodon, ladybug)
MCFG_CPU_MODIFY("maincpu")
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/ladyfrog.cpp b/src/mame/drivers/ladyfrog.cpp
index 3968b1e4730..9dc6a69ab09 100644
--- a/src/mame/drivers/ladyfrog.cpp
+++ b/src/mame/drivers/ladyfrog.cpp
@@ -117,7 +117,7 @@ READ8_MEMBER(ladyfrog_state::snd_flag_r)
return m_snd_flag | 0xfd;
}
-static ADDRESS_MAP_START( ladyfrog_map, AS_PROGRAM, 8, ladyfrog_state )
+ADDRESS_MAP_START(ladyfrog_state::ladyfrog_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc07f) AM_RAM
AM_RANGE(0xc080, 0xc87f) AM_READWRITE(ladyfrog_videoram_r, ladyfrog_videoram_w) AM_SHARE("videoram")
@@ -138,7 +138,7 @@ static ADDRESS_MAP_START( ladyfrog_map, AS_PROGRAM, 8, ladyfrog_state )
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ladyfrog_sound_map, AS_PROGRAM, 8, ladyfrog_state )
+ADDRESS_MAP_START(ladyfrog_state::ladyfrog_sound_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc801) AM_WRITENOP
diff --git a/src/mame/drivers/laser3k.cpp b/src/mame/drivers/laser3k.cpp
index effec0d7b18..f1eb3943d58 100644
--- a/src/mame/drivers/laser3k.cpp
+++ b/src/mame/drivers/laser3k.cpp
@@ -112,6 +112,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(ay3600_data_ready_w);
void laser3k(machine_config &config);
+ void banks_map(address_map &map);
+ void laser3k_map(address_map &map);
private:
uint8_t m_bank0val, m_bank1val, m_bank2val, m_bank3val;
int m_flash;
@@ -134,14 +136,14 @@ private:
ADDRESS MAP
***************************************************************************/
-static ADDRESS_MAP_START( laser3k_map, AS_PROGRAM, 8, laser3k_state )
+ADDRESS_MAP_START(laser3k_state::laser3k_map)
AM_RANGE(0x0000, 0x3fff) AM_DEVICE("bank0", address_map_bank_device, amap8)
AM_RANGE(0x4000, 0x7fff) AM_DEVICE("bank1", address_map_bank_device, amap8)
AM_RANGE(0x8000, 0xbfff) AM_DEVICE("bank2", address_map_bank_device, amap8)
AM_RANGE(0xc000, 0xffff) AM_DEVICE("bank3", address_map_bank_device, amap8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( banks_map, AS_PROGRAM, 8, laser3k_state )
+ADDRESS_MAP_START(laser3k_state::banks_map)
AM_RANGE(0x00000, 0x2ffff) AM_READWRITE(ram_r, ram_w)
AM_RANGE(0x38000, 0x3bfff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x3c000, 0x3c0ff) AM_READWRITE(io_r, io_w)
diff --git a/src/mame/drivers/laserbas.cpp b/src/mame/drivers/laserbas.cpp
index b12d6558aff..f245a9a2df1 100644
--- a/src/mame/drivers/laserbas.cpp
+++ b/src/mame/drivers/laserbas.cpp
@@ -126,6 +126,8 @@ public:
required_device<dac_byte_interface> m_dac5;
required_device<dac_byte_interface> m_dac6;
void laserbas(machine_config &config);
+ void laserbas_io(address_map &map);
+ void laserbas_memory(address_map &map);
};
TIMER_DEVICE_CALLBACK_MEMBER( laserbas_state::laserbas_scanline )
@@ -328,7 +330,7 @@ WRITE_LINE_MEMBER(laserbas_state::pit_out_5_w)
write_pit_out(5,state);
}
-static ADDRESS_MAP_START( laserbas_memory, AS_PROGRAM, 8, laserbas_state )
+ADDRESS_MAP_START(laserbas_state::laserbas_memory)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0xbfff) AM_READWRITE(vram_r, vram_w)
AM_RANGE(0xc000, 0xf7ff) AM_ROM AM_WRITENOP
@@ -336,7 +338,7 @@ static ADDRESS_MAP_START( laserbas_memory, AS_PROGRAM, 8, laserbas_state )
AM_RANGE(0xfc00, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( laserbas_io, AS_IO, 8, laserbas_state )
+ADDRESS_MAP_START(laserbas_state::laserbas_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("crtc", mc6845_device, address_w)
AM_RANGE(0x01, 0x01) AM_DEVWRITE("crtc", mc6845_device, register_w)
diff --git a/src/mame/drivers/laserbat.cpp b/src/mame/drivers/laserbat.cpp
index fffa2937e62..5e3196b34f9 100644
--- a/src/mame/drivers/laserbat.cpp
+++ b/src/mame/drivers/laserbat.cpp
@@ -165,7 +165,7 @@ READ8_MEMBER(laserbat_state_base::rrowx_r)
*/
-static ADDRESS_MAP_START( laserbat_map, AS_PROGRAM, 8, laserbat_state_base )
+ADDRESS_MAP_START(laserbat_state_base::laserbat_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x13ff) AM_ROM
@@ -183,7 +183,7 @@ static ADDRESS_MAP_START( laserbat_map, AS_PROGRAM, 8, laserbat_state_base )
AM_RANGE(0x1c00, 0x1fff) AM_MIRROR(0x6000) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( laserbat_io_map, AS_IO, 8, laserbat_state_base )
+ADDRESS_MAP_START(laserbat_state_base::laserbat_io_map)
AM_RANGE(0x00, 0x00) AM_READ(rhsc_r) AM_WRITE(cnt_eff_w)
AM_RANGE(0x01, 0x01) /* RBALL */ AM_WRITE(cnt_nav_w)
AM_RANGE(0x02, 0x02) AM_READ(rrowx_r) AM_WRITE(csound1_w)
diff --git a/src/mame/drivers/lasso.cpp b/src/mame/drivers/lasso.cpp
index 3147da1679e..066c00d61ed 100644
--- a/src/mame/drivers/lasso.cpp
+++ b/src/mame/drivers/lasso.cpp
@@ -74,7 +74,7 @@ WRITE8_MEMBER(lasso_state::sound_select_w)
}
-static ADDRESS_MAP_START( lasso_main_map, AS_PROGRAM, 8, lasso_state )
+ADDRESS_MAP_START(lasso_state::lasso_main_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(lasso_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(lasso_colorram_w) AM_SHARE("colorram")
@@ -91,7 +91,7 @@ static ADDRESS_MAP_START( lasso_main_map, AS_PROGRAM, 8, lasso_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lasso_audio_map, AS_PROGRAM, 8, lasso_state )
+ADDRESS_MAP_START(lasso_state::lasso_audio_map)
AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x5000, 0x7fff) AM_ROM
AM_RANGE(0xb000, 0xb000) AM_WRITEONLY AM_SHARE("chip_data")
@@ -102,14 +102,14 @@ static ADDRESS_MAP_START( lasso_audio_map, AS_PROGRAM, 8, lasso_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lasso_coprocessor_map, AS_PROGRAM, 8, lasso_state )
+ADDRESS_MAP_START(lasso_state::lasso_coprocessor_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x2000, 0x3fff) AM_RAM AM_SHARE("bitmap_ram")
AM_RANGE(0x8000, 0x8fff) AM_MIRROR(0x7000) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( chameleo_main_map, AS_PROGRAM, 8, lasso_state )
+ADDRESS_MAP_START(lasso_state::chameleo_main_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(lasso_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(lasso_colorram_w) AM_SHARE("colorram")
@@ -128,7 +128,7 @@ static ADDRESS_MAP_START( chameleo_main_map, AS_PROGRAM, 8, lasso_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( chameleo_audio_map, AS_PROGRAM, 8, lasso_state )
+ADDRESS_MAP_START(lasso_state::chameleo_audio_map)
AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x1000, 0x1fff) AM_ROM
AM_RANGE(0x6000, 0x7fff) AM_ROM
@@ -140,7 +140,7 @@ static ADDRESS_MAP_START( chameleo_audio_map, AS_PROGRAM, 8, lasso_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( wwjgtin_main_map, AS_PROGRAM, 8, lasso_state )
+ADDRESS_MAP_START(lasso_state::wwjgtin_main_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(lasso_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(lasso_colorram_w) AM_SHARE("colorram")
@@ -159,7 +159,7 @@ static ADDRESS_MAP_START( wwjgtin_main_map, AS_PROGRAM, 8, lasso_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( wwjgtin_audio_map, AS_PROGRAM, 8, lasso_state )
+ADDRESS_MAP_START(lasso_state::wwjgtin_audio_map)
AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x4000, 0x7fff) AM_MIRROR(0x8000) AM_ROM
AM_RANGE(0xb000, 0xb000) AM_WRITEONLY AM_SHARE("chip_data")
@@ -170,7 +170,7 @@ static ADDRESS_MAP_START( wwjgtin_audio_map, AS_PROGRAM, 8, lasso_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pinbo_main_map, AS_PROGRAM, 8, lasso_state )
+ADDRESS_MAP_START(lasso_state::pinbo_main_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(lasso_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(lasso_colorram_w) AM_SHARE("colorram")
@@ -188,13 +188,13 @@ static ADDRESS_MAP_START( pinbo_main_map, AS_PROGRAM, 8, lasso_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pinbo_audio_map, AS_PROGRAM, 8, lasso_state )
+ADDRESS_MAP_START(lasso_state::pinbo_audio_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pinbo_audio_io_map, AS_IO, 8, lasso_state )
+ADDRESS_MAP_START(lasso_state::pinbo_audio_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
AM_RANGE(0x02, 0x02) AM_DEVREAD("ay1", ay8910_device, data_r)
diff --git a/src/mame/drivers/lastbank.cpp b/src/mame/drivers/lastbank.cpp
index 3915ee6c25c..94a4440ab5c 100644
--- a/src/mame/drivers/lastbank.cpp
+++ b/src/mame/drivers/lastbank.cpp
@@ -87,6 +87,10 @@ public:
void ram_bank_w(uint16_t offset, uint8_t data, uint8_t bank_num);
TIMER_DEVICE_CALLBACK_MEMBER(lastbank_irq_scanline);
void lastbank(machine_config &config);
+ void lastbank_audio_io(address_map &map);
+ void lastbank_audio_map(address_map &map);
+ void lastbank_map(address_map &map);
+ void tc0091lvc_map(address_map &map);
};
void lastbank_state::video_start()
@@ -251,7 +255,7 @@ CUSTOM_INPUT_MEMBER(lastbank_state::sound_status_r)
return BIT(m_sound_flags, 0) << 1 | BIT(m_sound_flags, 1);
}
-static ADDRESS_MAP_START( tc0091lvc_map, AS_PROGRAM, 8, lastbank_state )
+ADDRESS_MAP_START(lastbank_state::tc0091lvc_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x7fff) AM_READ(lastbank_rom_r)
@@ -269,7 +273,7 @@ static ADDRESS_MAP_START( tc0091lvc_map, AS_PROGRAM, 8, lastbank_state )
AM_RANGE(0xff08, 0xff08) AM_READWRITE(lastbank_rom_bank_r, lastbank_rom_bank_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lastbank_map, AS_PROGRAM, 8, lastbank_state )
+ADDRESS_MAP_START(lastbank_state::lastbank_map)
AM_IMPORT_FROM( tc0091lvc_map )
AM_RANGE(0xa000, 0xa00d) AM_NOP // MSM62X42B or equivalent probably read from here
AM_RANGE(0xa800, 0xa800) AM_READ_PORT("COINS")
@@ -286,13 +290,13 @@ static ADDRESS_MAP_START( lastbank_map, AS_PROGRAM, 8, lastbank_state )
AM_RANGE(0xa81f, 0xa81f) AM_READ_PORT("DSW3")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lastbank_audio_map, AS_PROGRAM, 8, lastbank_state )
+ADDRESS_MAP_START(lastbank_state::lastbank_audio_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe7ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lastbank_audio_io, AS_IO, 8, lastbank_state )
+ADDRESS_MAP_START(lastbank_state::lastbank_audio_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x06) AM_DEVREADWRITE("essnd", es8712_device, read, write)
AM_RANGE(0x40, 0x40) AM_DEVREADWRITE("oki", okim6295_device, read, write)
diff --git a/src/mame/drivers/lastduel.cpp b/src/mame/drivers/lastduel.cpp
index 9ffbec24699..a983b50404a 100644
--- a/src/mame/drivers/lastduel.cpp
+++ b/src/mame/drivers/lastduel.cpp
@@ -141,7 +141,7 @@ WRITE16_MEMBER(lastduel_state::lastduel_sound_w)
/******************************************************************************/
-static ADDRESS_MAP_START( lastduel_map, AS_PROGRAM, 16, lastduel_state )
+ADDRESS_MAP_START(lastduel_state::lastduel_map)
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0xfc0000, 0xfc0003) AM_WRITENOP /* Written rarely */
AM_RANGE(0xfc0800, 0xfc0fff) AM_RAM AM_SHARE("spriteram")
@@ -157,7 +157,7 @@ static ADDRESS_MAP_START( lastduel_map, AS_PROGRAM, 16, lastduel_state )
AM_RANGE(0xfe0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( madgear_map, AS_PROGRAM, 16, lastduel_state )
+ADDRESS_MAP_START(lastduel_state::madgear_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0xfc1800, 0xfc1fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xfc4000, 0xfc4001) AM_READ_PORT("DSW1") AM_WRITE(lastduel_flip_w)
@@ -174,7 +174,7 @@ ADDRESS_MAP_END
/******************************************************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, lastduel_state )
+ADDRESS_MAP_START(lastduel_state::sound_map)
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xe7ff) AM_RAM
AM_RANGE(0xe800, 0xe801) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
@@ -187,7 +187,7 @@ WRITE8_MEMBER(lastduel_state::mg_bankswitch_w)
membank("bank1")->set_entry(data & 0x01);
}
-static ADDRESS_MAP_START( madgear_sound_map, AS_PROGRAM, 8, lastduel_state )
+ADDRESS_MAP_START(lastduel_state::madgear_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xcfff) AM_ROMBANK("bank1")
AM_RANGE(0xd000, 0xd7ff) AM_RAM
diff --git a/src/mame/drivers/lastfght.cpp b/src/mame/drivers/lastfght.cpp
index 1ad331d952b..1694ec5e56a 100644
--- a/src/mame/drivers/lastfght.cpp
+++ b/src/mame/drivers/lastfght.cpp
@@ -103,6 +103,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void lastfght(machine_config &config);
+ void lastfght_map(address_map &map);
+ void ramdac_map(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -405,7 +407,7 @@ WRITE16_MEMBER(lastfght_state::sound_w)
Memory Maps
***************************************************************************/
-static ADDRESS_MAP_START( lastfght_map, AS_PROGRAM, 16, lastfght_state )
+ADDRESS_MAP_START(lastfght_state::lastfght_map)
ADDRESS_MAP_GLOBAL_MASK(0xffffff)
AM_RANGE( 0x000000, 0x07ffff ) AM_ROM AM_REGION("maincpu", 0)
@@ -436,7 +438,7 @@ static ADDRESS_MAP_START( lastfght_map, AS_PROGRAM, 16, lastfght_state )
AM_RANGE( 0xc00006, 0xc00007 ) AM_READWRITE(c00006_r, c00006_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ramdac_map, 0, 8, lastfght_state )
+ADDRESS_MAP_START(lastfght_state::ramdac_map)
AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac", ramdac_device, ramdac_pal_r, ramdac_rgb666_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/lazercmd.cpp b/src/mame/drivers/lazercmd.cpp
index 4b48e81591f..e2957962b1f 100644
--- a/src/mame/drivers/lazercmd.cpp
+++ b/src/mame/drivers/lazercmd.cpp
@@ -410,7 +410,7 @@ READ8_MEMBER(lazercmd_state::lazercmd_hardware_r)
*
*************************************************************/
-static ADDRESS_MAP_START( lazercmd_map, AS_PROGRAM, 8, lazercmd_state )
+ADDRESS_MAP_START(lazercmd_state::lazercmd_map)
AM_RANGE(0x0000, 0x0bff) AM_ROM
AM_RANGE(0x1c00, 0x1c1f) AM_RAM
AM_RANGE(0x1c20, 0x1eff) AM_RAM AM_SHARE("videoram")
@@ -419,7 +419,7 @@ static ADDRESS_MAP_START( lazercmd_map, AS_PROGRAM, 8, lazercmd_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( medlanes_map, AS_PROGRAM, 8, lazercmd_state )
+ADDRESS_MAP_START(lazercmd_state::medlanes_map)
AM_RANGE(0x0000, 0x0bff) AM_ROM
AM_RANGE(0x1000, 0x17ff) AM_ROM
AM_RANGE(0x1c00, 0x1c1f) AM_RAM
@@ -429,7 +429,7 @@ static ADDRESS_MAP_START( medlanes_map, AS_PROGRAM, 8, lazercmd_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bbonk_map, AS_PROGRAM, 8, lazercmd_state )
+ADDRESS_MAP_START(lazercmd_state::bbonk_map)
AM_RANGE(0x0000, 0x0bff) AM_ROM
AM_RANGE(0x1c00, 0x1c1f) AM_RAM
AM_RANGE(0x1c20, 0x1eff) AM_RAM AM_SHARE("videoram")
@@ -438,7 +438,7 @@ static ADDRESS_MAP_START( bbonk_map, AS_PROGRAM, 8, lazercmd_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lazercmd_portmap, AS_DATA, 8, lazercmd_state )
+ADDRESS_MAP_START(lazercmd_state::lazercmd_portmap)
AM_RANGE(S2650_CTRL_PORT, S2650_CTRL_PORT) AM_READWRITE(lazercmd_ctrl_port_r, lazercmd_ctrl_port_w)
AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_READWRITE(lazercmd_data_port_r, lazercmd_data_port_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/lb186.cpp b/src/mame/drivers/lb186.cpp
index 89fcd0dc3c7..27eab5f7754 100644
--- a/src/mame/drivers/lb186.cpp
+++ b/src/mame/drivers/lb186.cpp
@@ -34,6 +34,8 @@ public:
DECLARE_FLOPPY_FORMATS( floppy_formats );
void lb186(machine_config &config);
static void ncr5380(device_t *device);
+ void lb186_io(address_map &map);
+ void lb186_map(address_map &map);
};
WRITE8_MEMBER(lb186_state::scsi_dack_w)
@@ -87,12 +89,12 @@ WRITE8_MEMBER(lb186_state::drive_sel_w)
floppy->ss_w(BIT(data, 4));
}
-static ADDRESS_MAP_START( lb186_map, AS_PROGRAM, 16, lb186_state )
+ADDRESS_MAP_START(lb186_state::lb186_map)
AM_RANGE(0x00000, 0x3ffff) AM_RAM // fixed 256k for now
AM_RANGE(0xfc000, 0xfffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lb186_io, AS_IO, 16, lb186_state )
+ADDRESS_MAP_START(lb186_state::lb186_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x1000, 0x101f) AM_DEVREADWRITE8("duart", scn2681_device, read, write, 0x00ff)
AM_RANGE(0x1080, 0x108f) AM_DEVREADWRITE8("scsibus:7:ncr5380", ncr5380n_device, read, write, 0x00ff)
diff --git a/src/mame/drivers/lbeach.cpp b/src/mame/drivers/lbeach.cpp
index 66dfe1ab6f7..57a749a21a3 100644
--- a/src/mame/drivers/lbeach.cpp
+++ b/src/mame/drivers/lbeach.cpp
@@ -80,6 +80,7 @@ public:
DECLARE_PALETTE_INIT(lbeach);
uint32_t screen_update_lbeach(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void lbeach(machine_config &config);
+ void lbeach_map(address_map &map);
};
@@ -215,7 +216,7 @@ READ8_MEMBER(lbeach_state::lbeach_in2_r)
return (ioport("IN2")->read() & 0x3f) | d6 | d7;
}
-static ADDRESS_MAP_START( lbeach_map, AS_PROGRAM, 8, lbeach_state )
+ADDRESS_MAP_START(lbeach_state::lbeach_map)
AM_RANGE(0x0000, 0x00ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x4000, 0x41ff) AM_RAM_WRITE(lbeach_bg_vram_w) AM_SHARE("bg_vram")
AM_RANGE(0x4000, 0x4000) AM_READ(lbeach_in1_r)
diff --git a/src/mame/drivers/lc80.cpp b/src/mame/drivers/lc80.cpp
index f8b8394fd5b..1857209024b 100644
--- a/src/mame/drivers/lc80.cpp
+++ b/src/mame/drivers/lc80.cpp
@@ -48,7 +48,7 @@
/* Memory Maps */
-static ADDRESS_MAP_START( lc80_mem, AS_PROGRAM, 8, lc80_state )
+ADDRESS_MAP_START(lc80_state::lc80_mem)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x07ff) AM_ROMBANK("bank1")
AM_RANGE(0x0800, 0x0fff) AM_ROMBANK("bank2")
@@ -58,13 +58,13 @@ static ADDRESS_MAP_START( lc80_mem, AS_PROGRAM, 8, lc80_state )
ADDRESS_MAP_END
#if 0
-static ADDRESS_MAP_START( sc80_mem, AS_PROGRAM, 8, lc80_state )
+ADDRESS_MAP_START(lc80_state::sc80_mem)
AM_IMPORT_FROM(lc80_mem)
AM_RANGE(0xc000, 0xcfff) AM_ROM
ADDRESS_MAP_END
#endif
-static ADDRESS_MAP_START( lc80_io, AS_IO, 8, lc80_state )
+ADDRESS_MAP_START(lc80_state::lc80_io)
ADDRESS_MAP_GLOBAL_MASK(0x1f)
AM_RANGE(0x14, 0x17) AM_DEVREADWRITE(Z80PIO1_TAG, z80pio_device, read, write)
AM_RANGE(0x18, 0x1b) AM_DEVREADWRITE(Z80PIO2_TAG, z80pio_device, read, write)
diff --git a/src/mame/drivers/lcmate2.cpp b/src/mame/drivers/lcmate2.cpp
index cd0883de271..53df0486b8c 100644
--- a/src/mame/drivers/lcmate2.cpp
+++ b/src/mame/drivers/lcmate2.cpp
@@ -63,6 +63,8 @@ public:
DECLARE_WRITE8_MEMBER( bankswitch_w );
DECLARE_PALETTE_INIT(lcmate2);
void lcmate2(machine_config &config);
+ void lcmate2_io(address_map &map);
+ void lcmate2_mem(address_map &map);
};
WRITE8_MEMBER( lcmate2_state::speaker_w )
@@ -93,14 +95,14 @@ WRITE8_MEMBER( lcmate2_state::bankswitch_w )
membank("rombank")->set_entry(data&0x0f);
}
-static ADDRESS_MAP_START(lcmate2_mem, AS_PROGRAM, 8, lcmate2_state)
+ADDRESS_MAP_START(lcmate2_state::lcmate2_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x3fff ) AM_ROM
AM_RANGE( 0x4000, 0x7fff ) AM_ROMBANK("rombank")
AM_RANGE( 0x8000, 0x9fff ) AM_RAM AM_MIRROR(0x6000) AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(lcmate2_io, AS_IO, 8, lcmate2_state)
+ADDRESS_MAP_START(lcmate2_state::lcmate2_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x000f) AM_DEVREADWRITE("rtc", rp5c15_device, read, write)
AM_RANGE(0x1000, 0x1000) AM_WRITE(speaker_w)
diff --git a/src/mame/drivers/leapster.cpp b/src/mame/drivers/leapster.cpp
index a3225fd5313..e4595df5e1c 100644
--- a/src/mame/drivers/leapster.cpp
+++ b/src/mame/drivers/leapster.cpp
@@ -242,6 +242,8 @@ public:
}
void leapster(machine_config &config);
+ void leapster_aux(address_map &map);
+ void leapster_map(address_map &map);
protected:
required_device<cpu_device> m_maincpu;
required_device<generic_slot_device> m_cart;
@@ -290,7 +292,7 @@ void leapster_state::machine_reset()
{
}
-static ADDRESS_MAP_START( leapster_map, AS_PROGRAM, 32, leapster_state )
+ADDRESS_MAP_START(leapster_state::leapster_map)
AM_RANGE(0x00000000, 0x007fffff) AM_ROM AM_MIRROR(0x40000000) // pointers in the bios region seem to be to the 40xxxxxx region, either we mirror there or something (real bios?) is acutally missing
AM_RANGE(0x0180D800, 0x0180D803) AM_READ(leapster_random_r)
AM_RANGE(0x03000000, 0x030007ff) AM_RAM // puts stack here, writes a pointer @ 0x03000000 on startup
@@ -298,7 +300,7 @@ static ADDRESS_MAP_START( leapster_map, AS_PROGRAM, 32, leapster_state )
// AM_RANGE(0x80000000, 0x807fffff) AM_ROMBANK("cartrom") // game ROM pointers are all to the 80xxxxxx region, so I assume it maps here - installed if a cart is present
ADDRESS_MAP_END
-static ADDRESS_MAP_START( leapster_aux, AS_IO, 32, leapster_state )
+ADDRESS_MAP_START(leapster_state::leapster_aux)
AM_RANGE(0x00000004b, 0x00000004b) AM_WRITE(leapster_aux004b_w) // this address isn't used by ARC internal stuff afaik, so probably leapster specific
ADDRESS_MAP_END
diff --git a/src/mame/drivers/legionna.cpp b/src/mame/drivers/legionna.cpp
index 31570893b94..456fbe86def 100644
--- a/src/mame/drivers/legionna.cpp
+++ b/src/mame/drivers/legionna.cpp
@@ -104,7 +104,7 @@ READ8_MEMBER(legionna_state::denjinmk_sound_comms_r)
return m_seibu_sound->main_r(space, (offset >> 1) & 7);
}
-static ADDRESS_MAP_START( legionna_cop_mem, AS_PROGRAM, 16, legionna_state )
+ADDRESS_MAP_START(legionna_state::legionna_cop_mem)
AM_RANGE(0x100400, 0x100401) AM_DEVWRITE("raiden2cop", raiden2cop_device, cop_sprite_dma_param_lo_w) // grainbow
AM_RANGE(0x100402, 0x100403) AM_DEVWRITE("raiden2cop", raiden2cop_device, cop_sprite_dma_param_hi_w) // grainbow
AM_RANGE(0x10040c, 0x10040d) AM_DEVWRITE("raiden2cop", raiden2cop_device, cop_sprite_dma_size_w) // grainbow
@@ -180,14 +180,14 @@ static ADDRESS_MAP_START( legionna_cop_mem, AS_PROGRAM, 16, legionna_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( legionna_map, AS_PROGRAM, 16, legionna_state )
+ADDRESS_MAP_START(legionna_state::legionna_map)
AM_IMPORT_FROM( legionna_cop_mem )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x1003ff) AM_RAM
AM_RANGE(0x100470, 0x100471) AM_WRITENOP // toggles 0x2000 / 0x0000, tile bank on some games
AM_RANGE(0x100600, 0x10064f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
AM_RANGE(0x100680, 0x100681) AM_WRITENOP // irq ack?
- AM_RANGE(0x100700, 0x10071f) AM_DEVREADWRITE8_MOD("seibu_sound", seibu_sound_device, main_r, main_w, rshift<1>, 0x00ff)
+ ;map(0x100700, 0x10071f).lrw8("seibu_sound_rw", [this](address_space &space, offs_t offset, u8 mem_mask){ return m_seibu_sound->main_r(space, offset >> 1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_seibu_sound->main_w(space, offset >> 1, data, mem_mask); }).umask16(0x00ff);
AM_RANGE(0x100740, 0x100741) AM_READ_PORT("DSW1")
AM_RANGE(0x100744, 0x100745) AM_READ_PORT("PLAYERS12")
AM_RANGE(0x100748, 0x100749) AM_READ_PORT("PLAYERS34")
@@ -203,7 +203,7 @@ static ADDRESS_MAP_START( legionna_map, AS_PROGRAM, 16, legionna_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( heatbrl_map, AS_PROGRAM, 16, legionna_state )
+ADDRESS_MAP_START(legionna_state::heatbrl_map)
AM_IMPORT_FROM( legionna_cop_mem )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x1003ff) AM_RAM
@@ -214,7 +214,7 @@ static ADDRESS_MAP_START( heatbrl_map, AS_PROGRAM, 16, legionna_state )
AM_RANGE(0x100744, 0x100745) AM_READ_PORT("PLAYERS12")
AM_RANGE(0x100748, 0x100749) AM_READ_PORT("PLAYERS34")
AM_RANGE(0x10074c, 0x10074d) AM_READ_PORT("SYSTEM")
- AM_RANGE(0x1007c0, 0x1007df) AM_DEVREADWRITE8_MOD("seibu_sound", seibu_sound_device, main_r, main_w, rshift<1>, 0x00ff)
+ ;map(0x1007c0, 0x1007df).lrw8("seibu_sound_rw", [this](address_space &space, offs_t offset, u8 mem_mask){ return m_seibu_sound->main_r(space, offset >> 1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_seibu_sound->main_w(space, offset >> 1, data, mem_mask); }).umask16(0x00ff);
AM_RANGE(0x100800, 0x100fff) AM_RAM // _WRITE(legionna_background_w) AM_SHARE("back_data")
AM_RANGE(0x101000, 0x1017ff) AM_RAM // _WRITE(legionna_foreground_w) AM_SHARE("fore_data")
AM_RANGE(0x101800, 0x101fff) AM_RAM // _WRITE(legionna_midground_w) AM_SHARE("mid_data")
@@ -224,14 +224,14 @@ static ADDRESS_MAP_START( heatbrl_map, AS_PROGRAM, 16, legionna_state )
AM_RANGE(0x108000, 0x11ffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( godzilla_map, AS_PROGRAM, 16, legionna_state )
+ADDRESS_MAP_START(legionna_state::godzilla_map)
AM_IMPORT_FROM( legionna_cop_mem )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x1003ff) AM_RAM
AM_RANGE(0x100470, 0x100471) AM_WRITE(denjinmk_setgfxbank)
AM_RANGE(0x100600, 0x10064f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
AM_RANGE(0x100680, 0x100681) AM_WRITENOP // irq ack?
- AM_RANGE(0x100700, 0x10071f) AM_DEVREADWRITE8_MOD("seibu_sound", seibu_sound_device, main_r, main_w, rshift<1>, 0x00ff)
+ ;map(0x100700, 0x10071f).lrw8("seibu_sound_rw", [this](address_space &space, offs_t offset, u8 mem_mask){ return m_seibu_sound->main_r(space, offset >> 1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_seibu_sound->main_w(space, offset >> 1, data, mem_mask); }).umask16(0x00ff);
AM_RANGE(0x100740, 0x100741) AM_READ_PORT("DSW1")
AM_RANGE(0x100744, 0x100745) AM_READ_PORT("PLAYERS12")
AM_RANGE(0x100748, 0x100749) AM_READ_PORT("PLAYERS34")
@@ -251,14 +251,14 @@ static ADDRESS_MAP_START( godzilla_map, AS_PROGRAM, 16, legionna_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( denjinmk_map, AS_PROGRAM, 16, legionna_state )
+ADDRESS_MAP_START(legionna_state::denjinmk_map)
AM_IMPORT_FROM( legionna_cop_mem )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x1003ff) AM_RAM
AM_RANGE(0x100470, 0x100471) AM_WRITE(denjinmk_setgfxbank)
AM_RANGE(0x100600, 0x10064f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
AM_RANGE(0x100680, 0x100681) AM_WRITENOP // irq ack?
- AM_RANGE(0x100700, 0x10071f) AM_READ8(denjinmk_sound_comms_r, 0xff) AM_DEVWRITE8_MOD("seibu_sound", seibu_sound_device, main_w, rshift<1>, 0x00ff)
+ ;map(0x100700, 0x10071f).r(this, FUNC(legionna_state::denjinmk_sound_comms_r)).lw8("seibu_sound_w", [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_seibu_sound->main_w(space, offset >> 1, data, mem_mask); }).umask16(0x00ff);
AM_RANGE(0x100740, 0x100741) AM_READ_PORT("DSW1")
AM_RANGE(0x100744, 0x100745) AM_READ_PORT("PLAYERS12")
AM_RANGE(0x100748, 0x100749) AM_READ_PORT("PLAYERS34")
@@ -277,14 +277,14 @@ static ADDRESS_MAP_START( denjinmk_map, AS_PROGRAM, 16, legionna_state )
AM_RANGE(0x11f000, 0x11ffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( grainbow_map, AS_PROGRAM, 16, legionna_state )
+ADDRESS_MAP_START(legionna_state::grainbow_map)
AM_IMPORT_FROM( legionna_cop_mem )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x1003ff) AM_RAM
AM_RANGE(0x100480, 0x100487) AM_WRITE(grainbow_layer_config_w) // probably a COP feature
AM_RANGE(0x100600, 0x10064f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
AM_RANGE(0x100680, 0x100681) AM_WRITENOP // irq ack?
- AM_RANGE(0x100700, 0x10071f) AM_DEVREADWRITE8_MOD("seibu_sound", seibu_sound_device, main_r, main_w, rshift<1>, 0x00ff)
+ ;map(0x100700, 0x10071f).lrw8("seibu_sound_rw", [this](address_space &space, offs_t offset, u8 mem_mask){ return m_seibu_sound->main_r(space, offset >> 1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_seibu_sound->main_w(space, offset >> 1, data, mem_mask); }).umask16(0x00ff);
AM_RANGE(0x100740, 0x100741) AM_READ_PORT("DSW1")
AM_RANGE(0x100744, 0x100745) AM_READ_PORT("PLAYERS12")
AM_RANGE(0x100748, 0x100749) AM_READ_PORT("PLAYERS34")
@@ -302,13 +302,13 @@ static ADDRESS_MAP_START( grainbow_map, AS_PROGRAM, 16, legionna_state )
AM_RANGE(0x108000, 0x11ffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cupsoc_mem, AS_PROGRAM, 16, legionna_state )
+ADDRESS_MAP_START(legionna_state::cupsoc_mem)
AM_IMPORT_FROM( legionna_cop_mem )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x1003ff) AM_RAM
AM_RANGE(0x100600, 0x10064f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
AM_RANGE(0x100680, 0x100681) AM_WRITENOP // irq ack?
- AM_RANGE(0x100700, 0x10071f) AM_DEVREADWRITE8_MOD("seibu_sound", seibu_sound_device, main_r, main_w, rshift<1>, 0x00ff)
+ ;map(0x100700, 0x10071f).lrw8("seibu_sound_rw", [this](address_space &space, offs_t offset, u8 mem_mask){ return m_seibu_sound->main_r(space, offset >> 1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_seibu_sound->main_w(space, offset >> 1, data, mem_mask); }).umask16(0x00ff);
AM_RANGE(0x100740, 0x100741) AM_READ_PORT("DSW1")
AM_RANGE(0x100744, 0x100745) AM_READ_PORT("PLAYERS12")
AM_RANGE(0x100748, 0x100749) AM_READ_PORT("PLAYERS34")
@@ -329,18 +329,18 @@ static ADDRESS_MAP_START( cupsoc_mem, AS_PROGRAM, 16, legionna_state )
AM_RANGE(0x11e000, 0x11ffff) AM_RAM /*Stack Ram*/
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cupsocs_mem, AS_PROGRAM, 16, legionna_state )
+ADDRESS_MAP_START(legionna_state::cupsocs_mem)
AM_IMPORT_FROM( legionna_cop_mem )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x1003ff) AM_RAM
- AM_RANGE(0x100600, 0x10067f) AM_DEVREADWRITE_MOD("crtc", seibu_crtc_device, read, write, xor<0x20>)
+ ;map(0x100600, 0x10067f).lrw16("crtc_rw", [this](address_space &space, offs_t offset, u16 mem_mask){ return m_crtc->read(space, offset ^ 0x20, mem_mask); }, [this](address_space &space, offs_t offset, u16 data, u16 mem_mask){ m_crtc->write(space, offset ^ 0x20, data, mem_mask); });
AM_RANGE(0x100680, 0x100681) AM_WRITENOP // irq ack?
AM_RANGE(0x100700, 0x100701) AM_READ_PORT("DSW1")
AM_RANGE(0x100704, 0x100705) AM_READ_PORT("PLAYERS12")
AM_RANGE(0x100708, 0x100709) AM_READ_PORT("PLAYERS34")
AM_RANGE(0x10070c, 0x10070d) AM_READ_PORT("SYSTEM")
AM_RANGE(0x10071c, 0x10071d) AM_READ_PORT("DSW2")
- AM_RANGE(0x100740, 0x10075f) AM_DEVREADWRITE8_MOD("seibu_sound", seibu_sound_device, main_r, main_w, rshift<1>, 0x00ff)
+ ;map(0x100740, 0x10075f).lrw8("seibu_sound_rw", [this](address_space &space, offs_t offset, u8 mem_mask){ return m_seibu_sound->main_r(space, offset >> 1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_seibu_sound->main_w(space, offset >> 1, data, mem_mask); }).umask16(0x00ff);
AM_RANGE(0x100800, 0x100fff) AM_RAM // _WRITE(legionna_background_w) AM_SHARE("back_data")
AM_RANGE(0x101000, 0x1017ff) AM_RAM // _WRITE(legionna_foreground_w) AM_SHARE("fore_data")
AM_RANGE(0x101800, 0x101fff) AM_RAM // _WRITE(legionna_midground_w) AM_SHARE("mid_data")
diff --git a/src/mame/drivers/leland.cpp b/src/mame/drivers/leland.cpp
index ab5ff39e3f3..639fb44ec59 100644
--- a/src/mame/drivers/leland.cpp
+++ b/src/mame/drivers/leland.cpp
@@ -82,7 +82,7 @@
*
*************************************/
-static ADDRESS_MAP_START( master_map_program, AS_PROGRAM, 8, leland_state )
+ADDRESS_MAP_START(leland_state::master_map_program)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x9fff) AM_ROMBANK("bank1")
AM_RANGE(0xa000, 0xdfff) AM_ROMBANK("bank2") AM_WRITE(leland_battery_ram_w) AM_SHARE("battery")
@@ -91,13 +91,13 @@ static ADDRESS_MAP_START( master_map_program, AS_PROGRAM, 8, leland_state )
AM_RANGE(0xf800, 0xf801) AM_WRITE(leland_master_video_addr_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( master_map_io, AS_IO, 8, leland_state )
+ADDRESS_MAP_START(leland_state::master_map_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xf0, 0xf0) AM_WRITE(leland_master_alt_bankswitch_w)
AM_RANGE(0xfd, 0xff) AM_READWRITE(leland_master_analog_key_r, leland_master_analog_key_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( master_redline_map_io, AS_IO, 8, leland_state )
+ADDRESS_MAP_START(leland_state::master_redline_map_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xf0, 0xf0) AM_WRITE(leland_master_alt_bankswitch_w)
AM_RANGE(0xf2, 0xf2) AM_DEVREADWRITE("custom", leland_80186_sound_device, leland_80186_response_r, leland_80186_command_lo_w)
@@ -106,7 +106,7 @@ static ADDRESS_MAP_START( master_redline_map_io, AS_IO, 8, leland_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( master_map_program_2, AS_PROGRAM, 8, leland_state )
+ADDRESS_MAP_START(leland_state::master_map_program_2)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x9fff) AM_ROMBANK("bank1")
AM_RANGE(0xa000, 0xdfff) AM_ROMBANK("bank2") AM_WRITE(ataxx_battery_ram_w) AM_SHARE("battery")
@@ -115,7 +115,7 @@ static ADDRESS_MAP_START( master_map_program_2, AS_PROGRAM, 8, leland_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( master_map_io_2, AS_IO, 8, leland_state )
+ADDRESS_MAP_START(leland_state::master_map_io_2)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x04, 0x04) AM_DEVREAD("custom", leland_80186_sound_device, leland_80186_response_r)
AM_RANGE(0x05, 0x05) AM_DEVWRITE("custom", leland_80186_sound_device, leland_80186_command_hi_w)
@@ -134,7 +134,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( slave_small_map_program, AS_PROGRAM, 8, leland_state )
+ADDRESS_MAP_START(leland_state::slave_small_map_program)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0xdfff) AM_ROMBANK("bank3")
AM_RANGE(0xe000, 0xefff) AM_RAM
@@ -144,7 +144,7 @@ static ADDRESS_MAP_START( slave_small_map_program, AS_PROGRAM, 8, leland_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_large_map_program, AS_PROGRAM, 8, leland_state )
+ADDRESS_MAP_START(leland_state::slave_large_map_program)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0xbfff) AM_ROMBANK("bank3")
AM_RANGE(0xc000, 0xc000) AM_WRITE(leland_slave_large_banksw_w)
@@ -154,14 +154,14 @@ static ADDRESS_MAP_START( slave_large_map_program, AS_PROGRAM, 8, leland_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_map_io, AS_IO, 8, leland_state )
+ADDRESS_MAP_START(leland_state::slave_map_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x1f) AM_READWRITE(leland_svram_port_r, leland_svram_port_w)
AM_RANGE(0x40, 0x5f) AM_READWRITE(leland_svram_port_r, leland_svram_port_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_map_program, AS_PROGRAM, 8, leland_state )
+ADDRESS_MAP_START(leland_state::slave_map_program)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x9fff) AM_ROMBANK("bank3")
AM_RANGE(0xa000, 0xdfff) AM_ROM
@@ -172,11 +172,59 @@ static ADDRESS_MAP_START( slave_map_program, AS_PROGRAM, 8, leland_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_map_io_2, AS_IO, 8, leland_state )
+ADDRESS_MAP_START(leland_state::slave_map_io_2)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x60, 0x7f) AM_READWRITE(ataxx_svram_port_r, ataxx_svram_port_w)
ADDRESS_MAP_END
+/*************************************
+ *
+ * Sound CPU memory handlers
+ *
+ *************************************/
+
+ADDRESS_MAP_START(leland_state::leland_80186_map_program)
+ AM_RANGE(0x00000, 0x03fff) AM_MIRROR(0x1c000) AM_RAM
+ AM_RANGE(0x20000, 0xfffff) AM_ROM
+ADDRESS_MAP_END
+
+ADDRESS_MAP_START(leland_state::ataxx_80186_map_io)
+ADDRESS_MAP_END
+
+ADDRESS_MAP_START(leland_state::redline_80186_map_io)
+ AM_RANGE(0x0000, 0xffff) AM_DEVWRITE("custom", redline_80186_sound_device, redline_dac_w)
+ADDRESS_MAP_END
+
+
+ADDRESS_MAP_START(leland_state::leland_80186_map_io)
+ AM_RANGE(0x0000, 0xffff) AM_DEVWRITE("custom", leland_80186_sound_device, dac_w)
+ADDRESS_MAP_END
+
+
+/************************************************************************
+
+Memory configurations:
+
+ Redline Racer:
+ FFDF7:80186 upper chip select = E03C -> E0000-FFFFF, 128k long
+ FFDF7:80186 lower chip select = 00FC -> 00000-00FFF, 4k long
+ FFDF7:80186 peripheral chip select = 013C -> 01000, 01080, 01100, 01180, 01200, 01280, 01300
+ FFDF7:80186 middle chip select = 81FC -> 80000-C0000, 64k chunks, 256k total
+ FFDF7:80186 middle P chip select = A0FC
+
+ Quarterback, Team Quarterback, AAFB, Super Offroad, Track Pack, Pigout, Viper:
+ FFDFA:80186 upper chip select = E03C -> E0000-FFFFF, 128k long
+ FFDFA:80186 peripheral chip select = 203C -> 20000, 20080, 20100, 20180, 20200, 20280, 20300
+ FFDFA:80186 middle chip select = 01FC -> 00000-7FFFF, 128k chunks, 512k total
+ FFDFA:80186 middle P chip select = C0FC
+
+ Ataxx, Indy Heat, World Soccer Finals:
+ FFD9D:80186 upper chip select = E03C -> E0000-FFFFF, 128k long
+ FFD9D:80186 peripheral chip select = 043C -> 04000, 04080, 04100, 04180, 04200, 04280, 04300
+ FFD9D:80186 middle chip select = 01FC -> 00000-7FFFF, 128k chunks, 512k total
+ FFD9D:80186 middle P chip select = C0BC
+
+************************************************************************/
/*************************************
diff --git a/src/mame/drivers/lemmings.cpp b/src/mame/drivers/lemmings.cpp
index 380542b4cf6..bb9ca81113c 100644
--- a/src/mame/drivers/lemmings.cpp
+++ b/src/mame/drivers/lemmings.cpp
@@ -68,7 +68,7 @@ WRITE16_MEMBER( lemmings_state::lem_protection_region_0_146_w )
/******************************************************************************/
-static ADDRESS_MAP_START( lemmings_map, AS_PROGRAM, 16, lemmings_state )
+ADDRESS_MAP_START(lemmings_state::lemmings_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_SHARE("spriteram")
@@ -87,7 +87,7 @@ ADDRESS_MAP_END
/******************************************************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, lemmings_state )
+ADDRESS_MAP_START(lemmings_state::sound_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x0800, 0x0801) AM_DEVREADWRITE("ymsnd", ym2151_device,read,write)
AM_RANGE(0x1000, 0x1000) AM_DEVREADWRITE("oki", okim6295_device, read, write)
diff --git a/src/mame/drivers/lethal.cpp b/src/mame/drivers/lethal.cpp
index 23853413c22..9a7b97e882a 100644
--- a/src/mame/drivers/lethal.cpp
+++ b/src/mame/drivers/lethal.cpp
@@ -340,7 +340,7 @@ READ8_MEMBER(lethal_state::gunsaux_r)
return res;
}
-static ADDRESS_MAP_START( le_main, AS_PROGRAM, 8, lethal_state )
+ADDRESS_MAP_START(lethal_state::le_main)
AM_RANGE(0x0000, 0x1fff) AM_ROMBANK("bank1")
AM_RANGE(0x2000, 0x3fff) AM_RAM // work RAM
AM_RANGE(0x4000, 0x7fff) AM_DEVICE("bank4000", address_map_bank_device, amap8)
@@ -360,7 +360,7 @@ static ADDRESS_MAP_START( le_main, AS_PROGRAM, 8, lethal_state )
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("maincpu", 0x38000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bank4000_map, AS_PROGRAM, 8, lethal_state )
+ADDRESS_MAP_START(lethal_state::bank4000_map)
// VRD = 0 or 1, CBNK = 0
AM_RANGE(0x0840, 0x084f) AM_MIRROR(0x8000) AM_DEVREADWRITE("k053244", k05324x_device, k053244_r, k053244_w)
AM_RANGE(0x0880, 0x089f) AM_MIRROR(0x8000) AM_DEVREADWRITE("k054000", k054000_device, read, write)
@@ -380,7 +380,7 @@ static ADDRESS_MAP_START( bank4000_map, AS_PROGRAM, 8, lethal_state )
AM_RANGE(0x4000, 0x7fff) AM_MIRROR(0x8000) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( le_sound, AS_PROGRAM, 8, lethal_state )
+ADDRESS_MAP_START(lethal_state::le_sound)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xfa2f) AM_DEVREADWRITE("k054539", k054539_device, read, write)
diff --git a/src/mame/drivers/lethalj.cpp b/src/mame/drivers/lethalj.cpp
index 32cf64bd085..96e76bdaf7a 100644
--- a/src/mame/drivers/lethalj.cpp
+++ b/src/mame/drivers/lethalj.cpp
@@ -209,7 +209,7 @@ WRITE16_MEMBER(lethalj_state::cclownz_control_w)
*
*************************************/
-static ADDRESS_MAP_START( lethalj_map, AS_PROGRAM, 16, lethalj_state )
+ADDRESS_MAP_START(lethalj_state::lethalj_map)
AM_RANGE(0x00000000, 0x003fffff) AM_RAM
AM_RANGE(0x04000000, 0x0400000f) AM_DEVREADWRITE8("oki1", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x04000010, 0x0400001f) AM_DEVREADWRITE8("oki2", okim6295_device, read, write, 0x00ff)
diff --git a/src/mame/drivers/lft.cpp b/src/mame/drivers/lft.cpp
index 66afb4962cb..a8592878a18 100644
--- a/src/mame/drivers/lft.cpp
+++ b/src/mame/drivers/lft.cpp
@@ -28,6 +28,8 @@ public:
DECLARE_READ16_MEMBER(status_r);
void lft(machine_config &config);
+ void lft_io(address_map &map);
+ void lft_mem(address_map &map);
private:
uint8_t m_term_data;
virtual void machine_reset() override;
@@ -35,13 +37,13 @@ private:
required_device<generic_terminal_device> m_terminal;
};
-static ADDRESS_MAP_START(lft_mem, AS_PROGRAM, 16, lft_state)
+ADDRESS_MAP_START(lft_state::lft_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000, 0x5ffff) AM_RAM
AM_RANGE(0xfc000, 0xfffff) AM_ROM AM_REGION("roms", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(lft_io, AS_IO, 16, lft_state)
+ADDRESS_MAP_START(lft_state::lft_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
// screen 1
diff --git a/src/mame/drivers/lg-dvd.cpp b/src/mame/drivers/lg-dvd.cpp
index 8e252aeba3f..12ad3ad8799 100644
--- a/src/mame/drivers/lg-dvd.cpp
+++ b/src/mame/drivers/lg-dvd.cpp
@@ -18,6 +18,7 @@ public:
{ }
void lg(machine_config &config);
+ void lg_dvd_map(address_map &map);
protected:
required_device<i80c52_device> m_maincpu;
};
@@ -25,7 +26,7 @@ protected:
static INPUT_PORTS_START( lg )
INPUT_PORTS_END
-static ADDRESS_MAP_START( lg_dvd_map, AS_PROGRAM, 8, lg_dvd_state )
+ADDRESS_MAP_START(lg_dvd_state::lg_dvd_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("maincpu", 0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/lgp.cpp b/src/mame/drivers/lgp.cpp
index 975dd38e1bf..632164a3161 100644
--- a/src/mame/drivers/lgp.cpp
+++ b/src/mame/drivers/lgp.cpp
@@ -99,6 +99,10 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
void lgp(machine_config &config);
+ void main_io_map(address_map &map);
+ void main_program_map(address_map &map);
+ void sound_io_map(address_map &map);
+ void sound_program_map(address_map &map);
};
@@ -155,7 +159,7 @@ WRITE8_MEMBER(lgp_state::ldp_write)
/* PROGRAM MAPS */
-static ADDRESS_MAP_START( main_program_map, AS_PROGRAM, 8, lgp_state )
+ADDRESS_MAP_START(lgp_state::main_program_map)
AM_RANGE(0x0000,0x7fff) AM_ROM
AM_RANGE(0xe000,0xe3ff) AM_RAM AM_SHARE("tile_ram")
AM_RANGE(0xe400,0xe7ff) AM_RAM AM_SHARE("tile_ctrl_ram")
@@ -171,7 +175,7 @@ static ADDRESS_MAP_START( main_program_map, AS_PROGRAM, 8, lgp_state )
AM_RANGE(0xf000,0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_program_map, AS_PROGRAM, 8, lgp_state )
+ADDRESS_MAP_START(lgp_state::sound_program_map)
AM_RANGE(0x0000,0x3fff) AM_ROM
AM_RANGE(0x8000,0x83ff) AM_RAM
AM_RANGE(0x8400,0x8407) AM_RAM /* Needs handler! Communications? */
@@ -180,13 +184,13 @@ ADDRESS_MAP_END
/* IO MAPS */
-static ADDRESS_MAP_START( main_io_map, AS_IO, 8, lgp_state )
+ADDRESS_MAP_START(lgp_state::main_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
// AM_RANGE(0xfd,0xfd) AM_READ_PORT("IN_TEST")
// AM_RANGE(0xfe,0xfe) AM_READ_PORT("IN_TEST")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, lgp_state )
+ADDRESS_MAP_START(lgp_state::sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/liberate.cpp b/src/mame/drivers/liberate.cpp
index 5410ba93f91..4855c7d2efb 100644
--- a/src/mame/drivers/liberate.cpp
+++ b/src/mame/drivers/liberate.cpp
@@ -240,7 +240,7 @@ WRITE8_MEMBER(liberate_state::prosport_charram_w)
*
*************************************/
-static ADDRESS_MAP_START( prosport_map, AS_PROGRAM, 8, liberate_state )
+ADDRESS_MAP_START(liberate_state::prosport_map)
AM_RANGE(0x0000, 0x03ff) AM_MIRROR(0x2000) AM_RAM
AM_RANGE(0x0200, 0x021f) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(prosport_bg_vram_w) AM_SHARE("bg_vram")
@@ -254,7 +254,7 @@ static ADDRESS_MAP_START( prosport_map, AS_PROGRAM, 8, liberate_state )
AM_RANGE(0x8000, 0x800f) AM_ROMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( liberate_map, AS_PROGRAM, 8, liberate_state )
+ADDRESS_MAP_START(liberate_state::liberate_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x3fff) AM_ROM /* Mirror of main rom */
AM_RANGE(0x4000, 0x7fff) AM_READ(deco16_bank_r)
@@ -267,11 +267,11 @@ static ADDRESS_MAP_START( liberate_map, AS_PROGRAM, 8, liberate_state )
AM_RANGE(0x8000, 0x800f) AM_ROMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, liberate_state )
+ADDRESS_MAP_START(liberate_state::decrypted_opcodes_map)
AM_RANGE(0x8000, 0xffff) AM_ROM AM_SHARE("decrypted_opcodes")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( prosoccr_map, AS_PROGRAM, 8, liberate_state )
+ADDRESS_MAP_START(liberate_state::prosoccr_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x3fff) AM_ROM /* Mirror of main rom */
AM_RANGE(0x4000, 0x7fff) AM_READ(prosoccr_bank_r)
@@ -284,17 +284,17 @@ static ADDRESS_MAP_START( prosoccr_map, AS_PROGRAM, 8, liberate_state )
AM_RANGE(0xa000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( deco16_io_map, AS_IO, 8, liberate_state )
+ADDRESS_MAP_START(liberate_state::deco16_io_map)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_WRITE(deco16_bank_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("TILT")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( prosoccr_io_map, AS_IO, 8, liberate_state )
+ADDRESS_MAP_START(liberate_state::prosoccr_io_map)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_WRITE(prosoccr_io_bank_w)
//AM_RANGE(0x01, 0x01) AM_READ_PORT("TILT")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( liberatb_map, AS_PROGRAM, 8, liberate_state )
+ADDRESS_MAP_START(liberate_state::liberatb_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x00fe, 0x00fe) AM_READ_PORT("IN0")
AM_RANGE(0x1000, 0x3fff) AM_ROM /* Mirror of main rom */
@@ -318,7 +318,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( prosoccr_sound_map, AS_PROGRAM, 8, liberate_state )
+ADDRESS_MAP_START(liberate_state::prosoccr_sound_map)
AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x2000, 0x2000) AM_DEVWRITE("ay1", ay8912_device, data_w)
AM_RANGE(0x4000, 0x4000) AM_DEVWRITE("ay1", ay8912_device, address_w)
@@ -329,7 +329,7 @@ static ADDRESS_MAP_START( prosoccr_sound_map, AS_PROGRAM, 8, liberate_state )
AM_RANGE(0xe000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( liberate_sound_map, AS_PROGRAM, 8, liberate_state )
+ADDRESS_MAP_START(liberate_state::liberate_sound_map)
AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x1000, 0x1000) AM_WRITENOP
AM_RANGE(0x3000, 0x3000) AM_DEVWRITE("ay1", ay8912_device, data_w)
@@ -774,7 +774,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(liberate_state::liberate, liberate_base)
MCFG_DEVICE_MODIFY("maincpu")
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(liberate_state::liberatb, liberate_base)
diff --git a/src/mame/drivers/liberatr.cpp b/src/mame/drivers/liberatr.cpp
index f79479c8a02..9ba2ebad5fe 100644
--- a/src/mame/drivers/liberatr.cpp
+++ b/src/mame/drivers/liberatr.cpp
@@ -283,7 +283,7 @@ WRITE8_MEMBER( liberatr_state::earom_control_w )
*
*************************************/
-static ADDRESS_MAP_START( liberatr_map, AS_PROGRAM, 8, liberatr_state )
+ADDRESS_MAP_START(liberatr_state::liberatr_map)
AM_RANGE(0x0000, 0x3fff) AM_RAM_WRITE(bitmap_w) AM_SHARE("bitmapram") /* overlapping for my convenience */
AM_RANGE(0x0000, 0x0000) AM_RAM AM_SHARE("xcoord")
AM_RANGE(0x0001, 0x0001) AM_RAM AM_SHARE("ycoord")
@@ -313,7 +313,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( liberat2_map, AS_PROGRAM, 8, liberatr_state )
+ADDRESS_MAP_START(liberatr_state::liberat2_map)
AM_RANGE(0x0000, 0x3fff) AM_RAM_WRITE(bitmap_w) AM_SHARE("bitmapram") /* overlapping for my convenience */
AM_RANGE(0x0000, 0x0000) AM_RAM AM_SHARE("xcoord")
AM_RANGE(0x0001, 0x0001) AM_RAM AM_SHARE("ycoord")
diff --git a/src/mame/drivers/limenko.cpp b/src/mame/drivers/limenko.cpp
index a0e65246f35..cf3d1fca247 100644
--- a/src/mame/drivers/limenko.cpp
+++ b/src/mame/drivers/limenko.cpp
@@ -116,6 +116,11 @@ public:
void copy_sprites(bitmap_ind16 &bitmap, bitmap_ind16 &sprites_bitmap, bitmap_ind8 &priority_bitmap, const rectangle &cliprect);
void limenko(machine_config &config);
void spotty(machine_config &config);
+ void limenko_io_map(address_map &map);
+ void limenko_map(address_map &map);
+ void spotty_io_map(address_map &map);
+ void spotty_map(address_map &map);
+ void spotty_sound_io_map(address_map &map);
};
/*****************************************************************************************************
@@ -224,7 +229,7 @@ WRITE8_MEMBER(limenko_state::qs1000_p3_w)
MEMORY MAPS
*****************************************************************************************************/
-static ADDRESS_MAP_START( limenko_map, AS_PROGRAM, 32, limenko_state )
+ADDRESS_MAP_START(limenko_state::limenko_map)
AM_RANGE(0x00000000, 0x001fffff) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x40000000, 0x403fffff) AM_ROM AM_REGION("user2",0)
AM_RANGE(0x80000000, 0x80007fff) AM_RAM_WRITE(fg_videoram_w) AM_SHARE("fg_videoram")
@@ -239,7 +244,7 @@ static ADDRESS_MAP_START( limenko_map, AS_PROGRAM, 32, limenko_state )
AM_RANGE(0xffe00000, 0xffffffff) AM_ROM AM_REGION("user1",0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( limenko_io_map, AS_IO, 32, limenko_state )
+ADDRESS_MAP_START(limenko_state::limenko_io_map)
AM_RANGE(0x0000, 0x0003) AM_READ_PORT("IN0")
AM_RANGE(0x0800, 0x0803) AM_READ_PORT("IN1")
AM_RANGE(0x1000, 0x1003) AM_READ_PORT("IN2")
@@ -251,7 +256,7 @@ ADDRESS_MAP_END
/* Spotty memory map */
-static ADDRESS_MAP_START( spotty_map, AS_PROGRAM, 32, limenko_state )
+ADDRESS_MAP_START(limenko_state::spotty_map)
AM_RANGE(0x00000000, 0x001fffff) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x40002000, 0x400024d3) AM_RAM //?
AM_RANGE(0x80000000, 0x80007fff) AM_RAM_WRITE(fg_videoram_w) AM_SHARE("fg_videoram")
@@ -266,7 +271,7 @@ static ADDRESS_MAP_START( spotty_map, AS_PROGRAM, 32, limenko_state )
AM_RANGE(0xfff00000, 0xffffffff) AM_ROM AM_REGION("user1",0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spotty_io_map, AS_IO, 32, limenko_state )
+ADDRESS_MAP_START(limenko_state::spotty_io_map)
AM_RANGE(0x0000, 0x0003) AM_READ_PORT("IN0")
AM_RANGE(0x0800, 0x0803) AM_READ_PORT("IN1")
AM_RANGE(0x0800, 0x0803) AM_WRITENOP // hopper related
@@ -295,7 +300,7 @@ READ8_MEMBER(limenko_state::spotty_sound_r)
return m_oki->read(space,0);
}
-static ADDRESS_MAP_START( spotty_sound_io_map, AS_IO, 8, limenko_state )
+ADDRESS_MAP_START(limenko_state::spotty_sound_io_map)
AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_READ(spotty_sound_r) AM_DEVWRITE("oki", okim6295_device, write) //? sound latch and ?
AM_RANGE(MCS51_PORT_P3, MCS51_PORT_P3) AM_READWRITE(spotty_sound_cmd_r, spotty_sound_cmd_w) //not sure about anything...
ADDRESS_MAP_END
diff --git a/src/mame/drivers/lisa.cpp b/src/mame/drivers/lisa.cpp
index a4e11c7d68c..e00810861ed 100644
--- a/src/mame/drivers/lisa.cpp
+++ b/src/mame/drivers/lisa.cpp
@@ -23,11 +23,11 @@
ADDRESS MAP
***************************************************************************/
-static ADDRESS_MAP_START(lisa_map, AS_PROGRAM, 16, lisa_state )
+ADDRESS_MAP_START(lisa_state::lisa_map)
AM_RANGE(0x000000, 0xffffff) AM_READWRITE(lisa_r, lisa_w) /* no fixed map, we use an MMU */
ADDRESS_MAP_END
-static ADDRESS_MAP_START(lisa_fdc_map, AS_PROGRAM, 8, lisa_state )
+ADDRESS_MAP_START(lisa_state::lisa_fdc_map)
ADDRESS_MAP_GLOBAL_MASK(0x1fff) // only 8k of address space
AM_RANGE(0x0000, 0x03ff) AM_RAM AM_SHARE("fdc_ram") /* RAM (shared with 68000) */
AM_RANGE(0x0400, 0x07ff) AM_READWRITE(lisa_fdc_io_r, lisa_fdc_io_w) /* disk controller (IWM and TTL logic) */
@@ -35,7 +35,7 @@ static ADDRESS_MAP_START(lisa_fdc_map, AS_PROGRAM, 8, lisa_state )
AM_RANGE(0x1000, 0x1fff) AM_ROM AM_REGION("fdccpu", 0x1000) AM_SHARE("fdc_rom") /* ROM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START(lisa210_fdc_map, AS_PROGRAM, 8, lisa_state )
+ADDRESS_MAP_START(lisa_state::lisa210_fdc_map)
ADDRESS_MAP_GLOBAL_MASK(0x1fff) // only 8k of address space
AM_RANGE(0x0000, 0x03ff) AM_RAM AM_SHARE("fdc_ram") /* RAM (shared with 68000) */
AM_RANGE(0x0400, 0x07ff) AM_NOP /* nothing, or RAM wrap-around ??? */
diff --git a/src/mame/drivers/littlerb.cpp b/src/mame/drivers/littlerb.cpp
index 6ccbcb49e03..a265d80c6a5 100644
--- a/src/mame/drivers/littlerb.cpp
+++ b/src/mame/drivers/littlerb.cpp
@@ -106,6 +106,7 @@ public:
DECLARE_DRIVER_INIT(littlerb);
void littlerb(machine_config &config);
+ void littlerb_main(address_map &map);
};
@@ -130,7 +131,7 @@ WRITE16_MEMBER(littlerb_state::littlerb_r_sound_w)
//popmessage("%04x %04x",m_sound_index_l,m_sound_index_r);
}
-static ADDRESS_MAP_START( littlerb_main, AS_PROGRAM, 16, littlerb_state )
+ADDRESS_MAP_START(littlerb_state::littlerb_main)
AM_RANGE(0x000008, 0x000017) AM_WRITENOP
AM_RANGE(0x000020, 0x00002f) AM_WRITENOP
AM_RANGE(0x000070, 0x000073) AM_WRITENOP
diff --git a/src/mame/drivers/lkage.cpp b/src/mame/drivers/lkage.cpp
index db6c38ccb8f..ed93dfd02f8 100644
--- a/src/mame/drivers/lkage.cpp
+++ b/src/mame/drivers/lkage.cpp
@@ -116,7 +116,7 @@ READ8_MEMBER(lkage_state::sound_status_r)
return 0xff;
}
-static ADDRESS_MAP_START( lkage_map, AS_PROGRAM, 8, lkage_state )
+ADDRESS_MAP_START(lkage_state::lkage_map)
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xe7ff) AM_RAM /* work ram */
AM_RANGE(0xe800, 0xefff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
@@ -138,13 +138,13 @@ static ADDRESS_MAP_START( lkage_map, AS_PROGRAM, 8, lkage_state )
AM_RANGE(0xf400, 0xffff) AM_RAM_WRITE(lkage_videoram_w) AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lkage_map_mcu, AS_PROGRAM, 8, lkage_state )
+ADDRESS_MAP_START(lkage_state::lkage_map_mcu)
AM_IMPORT_FROM(lkage_map)
AM_RANGE(0xf062, 0xf062) AM_DEVREADWRITE("bmcu", taito68705_mcu_device, data_r, data_w)
AM_RANGE(0xf087, 0xf087) AM_READ(mcu_status_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lkage_map_boot, AS_PROGRAM, 8, lkage_state )
+ADDRESS_MAP_START(lkage_state::lkage_map_boot)
AM_IMPORT_FROM(lkage_map)
AM_RANGE(0xf062, 0xf062) AM_READWRITE(fake_mcu_r, fake_mcu_w)
AM_RANGE(0xf087, 0xf087) AM_READ(fake_status_r)
@@ -156,7 +156,7 @@ READ8_MEMBER(lkage_state::port_fetch_r)
return memregion("user1")->base()[offset];
}
-static ADDRESS_MAP_START( lkage_io_map, AS_IO, 8, lkage_state )
+ADDRESS_MAP_START(lkage_state::lkage_io_map)
AM_RANGE(0x4000, 0x7fff) AM_READ(port_fetch_r)
ADDRESS_MAP_END
@@ -165,7 +165,7 @@ ADDRESS_MAP_END
/* sound section is almost identical to Bubble Bobble, YM2203 instead of YM3526 */
-static ADDRESS_MAP_START( lkage_sound_map, AS_PROGRAM, 8, lkage_state )
+ADDRESS_MAP_START(lkage_state::lkage_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9001) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
diff --git a/src/mame/drivers/llc.cpp b/src/mame/drivers/llc.cpp
index 2a456c8feec..e414555ba38 100644
--- a/src/mame/drivers/llc.cpp
+++ b/src/mame/drivers/llc.cpp
@@ -58,14 +58,14 @@
/* Address maps */
-static ADDRESS_MAP_START( llc1_mem, AS_PROGRAM, 8, llc_state )
+ADDRESS_MAP_START(llc_state::llc1_mem)
AM_RANGE(0x0000, 0x07ff) AM_ROM // Monitor ROM
AM_RANGE(0x0800, 0x13ff) AM_ROM // BASIC ROM
AM_RANGE(0x1400, 0x1bff) AM_RAM // RAM
AM_RANGE(0x1c00, 0x1fff) AM_RAM AM_SHARE("videoram") // Video RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( llc1_io, AS_IO, 8, llc_state )
+ADDRESS_MAP_START(llc_state::llc1_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xEC, 0xEF) AM_DEVREADWRITE("z80pio2", z80pio_device, read, write)
@@ -73,14 +73,14 @@ static ADDRESS_MAP_START( llc1_io, AS_IO, 8, llc_state )
AM_RANGE(0xF8, 0xFB) AM_DEVREADWRITE("z80ctc", z80ctc_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( llc2_mem, AS_PROGRAM, 8, llc_state )
+ADDRESS_MAP_START(llc_state::llc2_mem)
AM_RANGE(0x0000, 0x3fff) AM_RAMBANK("bank1")
AM_RANGE(0x4000, 0x5fff) AM_RAMBANK("bank2")
AM_RANGE(0x6000, 0xbfff) AM_RAMBANK("bank3")
AM_RANGE(0xc000, 0xffff) AM_RAMBANK("bank4")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( llc2_io, AS_IO, 8, llc_state )
+ADDRESS_MAP_START(llc_state::llc2_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xE0, 0xE3) AM_WRITE(llc2_rom_disable_w)
diff --git a/src/mame/drivers/lockon.cpp b/src/mame/drivers/lockon.cpp
index e3206331a39..a701964d7c0 100644
--- a/src/mame/drivers/lockon.cpp
+++ b/src/mame/drivers/lockon.cpp
@@ -147,7 +147,7 @@ WRITE16_MEMBER(lockon_state::emres_w)
*
*************************************/
-static ADDRESS_MAP_START( main_v30, AS_PROGRAM, 16, lockon_state )
+ADDRESS_MAP_START(lockon_state::main_v30)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000, 0x03fff) AM_RAM
AM_RANGE(0x04000, 0x04003) AM_READWRITE(lockon_crtc_r, lockon_crtc_w)
@@ -169,7 +169,7 @@ static ADDRESS_MAP_START( main_v30, AS_PROGRAM, 16, lockon_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ground_v30, AS_PROGRAM, 16, lockon_state )
+ADDRESS_MAP_START(lockon_state::ground_v30)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000, 0x03fff) AM_RAM
AM_RANGE(0x04000, 0x04fff) AM_RAM AM_SHARE("scene_ram")
@@ -182,7 +182,7 @@ static ADDRESS_MAP_START( ground_v30, AS_PROGRAM, 16, lockon_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( object_v30, AS_PROGRAM, 16, lockon_state )
+ADDRESS_MAP_START(lockon_state::object_v30)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000, 0x03fff) AM_RAM
AM_RANGE(0x04000, 0x04001) AM_READWRITE(lockon_obj_4000_r, lockon_obj_4000_w)
@@ -192,7 +192,7 @@ static ADDRESS_MAP_START( object_v30, AS_PROGRAM, 16, lockon_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_prg, AS_PROGRAM, 8, lockon_state )
+ADDRESS_MAP_START(lockon_state::sound_prg)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x6fff) AM_ROM
AM_RANGE(0x7000, 0x7000) AM_WRITE(sound_vol)
@@ -200,7 +200,7 @@ static ADDRESS_MAP_START( sound_prg, AS_PROGRAM, 8, lockon_state )
AM_RANGE(0x7800, 0x7fff) AM_MIRROR(0x8000) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_io, AS_IO, 8, lockon_state )
+ADDRESS_MAP_START(lockon_state::sound_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
AM_RANGE(0x02, 0x02) AM_NOP
diff --git a/src/mame/drivers/lola8a.cpp b/src/mame/drivers/lola8a.cpp
index 51501405593..eeb0f31efb3 100644
--- a/src/mame/drivers/lola8a.cpp
+++ b/src/mame/drivers/lola8a.cpp
@@ -57,6 +57,8 @@ public:
MC6845_UPDATE_ROW(crtc_update_row);
void lola8a(machine_config &config);
+ void lola8a_io(address_map &map);
+ void lola8a_mem(address_map &map);
private:
uint8_t m_portb;
virtual void machine_reset() override { m_maincpu->set_pc(0x8000); }
@@ -66,7 +68,7 @@ private:
required_shared_ptr<uint8_t> m_p_videoram;
};
-static ADDRESS_MAP_START(lola8a_mem, AS_PROGRAM, 8, lola8a_state)
+ADDRESS_MAP_START(lola8a_state::lola8a_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x1fff ) AM_RAM // 6264 at G45
AM_RANGE( 0x2000, 0x3fff ) AM_RAM // 6264 at F45
@@ -78,7 +80,7 @@ static ADDRESS_MAP_START(lola8a_mem, AS_PROGRAM, 8, lola8a_state)
AM_RANGE( 0xe000, 0xffff ) AM_RAM AM_SHARE("videoram") // 6264 at G67
ADDRESS_MAP_END
-static ADDRESS_MAP_START(lola8a_io, AS_IO, 8, lola8a_state)
+ADDRESS_MAP_START(lola8a_state::lola8a_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x80, 0x80) AM_DEVWRITE(AY8910_TAG, ay8910_device, address_w)
AM_RANGE(0x84, 0x84) AM_DEVREADWRITE(AY8910_TAG, ay8910_device, data_r, data_w)
diff --git a/src/mame/drivers/looping.cpp b/src/mame/drivers/looping.cpp
index 1cc218cd33c..e4a64c63d1e 100644
--- a/src/mame/drivers/looping.cpp
+++ b/src/mame/drivers/looping.cpp
@@ -168,6 +168,10 @@ public:
required_device<generic_latch_8_device> m_soundlatch;
required_device<watchdog_timer_device> m_watchdog;
void looping(machine_config &config);
+ void looping_io_map(address_map &map);
+ void looping_map(address_map &map);
+ void looping_sound_io_map(address_map &map);
+ void looping_sound_map(address_map &map);
};
@@ -539,7 +543,7 @@ READ8_MEMBER(looping_state::protection_r)
*
*************************************/
-static ADDRESS_MAP_START( looping_map, AS_PROGRAM, 8, looping_state )
+ADDRESS_MAP_START(looping_state::looping_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(looping_videoram_w) AM_SHARE("videoram")
@@ -557,13 +561,13 @@ static ADDRESS_MAP_START( looping_map, AS_PROGRAM, 8, looping_state )
AM_RANGE(0xf803, 0xf803) AM_MIRROR(0x03fc) AM_READWRITE(adc_r, adc_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( looping_io_map, AS_IO, 8, looping_state )
+ADDRESS_MAP_START(looping_state::looping_io_map)
AM_RANGE(0x400, 0x407) AM_DEVWRITE("mainlatch", ls259_device, write_d0)
ADDRESS_MAP_END
/* complete memory map derived from schematics */
-static ADDRESS_MAP_START( looping_sound_map, AS_PROGRAM, 8, looping_state )
+ADDRESS_MAP_START(looping_state::looping_sound_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x37ff) AM_ROM
AM_RANGE(0x3800, 0x3bff) AM_RAM
@@ -575,7 +579,7 @@ static ADDRESS_MAP_START( looping_sound_map, AS_PROGRAM, 8, looping_state )
AM_RANGE(0x3e02, 0x3e02) AM_MIRROR(0x00f4) AM_DEVREAD("tms", tms5220_device, status_r) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( looping_sound_io_map, AS_IO, 8, looping_state )
+ADDRESS_MAP_START(looping_state::looping_sound_io_map)
AM_RANGE(0x000, 0x007) AM_DEVWRITE("sen0", ls259_device, write_d0)
AM_RANGE(0x008, 0x00f) AM_DEVWRITE("sen1", ls259_device, write_d0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/lordgun.cpp b/src/mame/drivers/lordgun.cpp
index 41fc1a5b7e1..4f180aa628c 100644
--- a/src/mame/drivers/lordgun.cpp
+++ b/src/mame/drivers/lordgun.cpp
@@ -278,7 +278,7 @@ WRITE16_MEMBER(lordgun_state::lordgun_soundlatch_w)
m_soundcpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
}
-static ADDRESS_MAP_START( lordgun_map, AS_PROGRAM, 16, lordgun_state )
+ADDRESS_MAP_START(lordgun_state::lordgun_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM
AM_RANGE(0x210000, 0x21ffff) AM_RAM AM_SHARE("priority_ram") // PRIORITY
@@ -310,7 +310,7 @@ static ADDRESS_MAP_START( lordgun_map, AS_PROGRAM, 16, lordgun_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( aliencha_map, AS_PROGRAM, 16, lordgun_state )
+ADDRESS_MAP_START(lordgun_state::aliencha_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM
AM_RANGE(0x210000, 0x21ffff) AM_RAM AM_SHARE("priority_ram") // PRIORITY
@@ -337,7 +337,7 @@ static ADDRESS_MAP_START( aliencha_map, AS_PROGRAM, 16, lordgun_state )
AM_RANGE(0x50b900, 0x50b9ff) AM_READWRITE(aliencha_protection_r, aliencha_protection_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ymf278_map, 0, 8, lordgun_state)
+ADDRESS_MAP_START(lordgun_state::ymf278_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
ADDRESS_MAP_END
@@ -347,7 +347,7 @@ ADDRESS_MAP_END
***************************************************************************/
-static ADDRESS_MAP_START( lordgun_soundmem_map, AS_PROGRAM, 8, lordgun_state )
+ADDRESS_MAP_START(lordgun_state::lordgun_soundmem_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
@@ -359,7 +359,7 @@ WRITE8_MEMBER(lordgun_state::lordgun_okibank_w)
// popmessage("OKI %x", data);
}
-static ADDRESS_MAP_START( lordgun_soundio_map, AS_IO, 8, lordgun_state )
+ADDRESS_MAP_START(lordgun_state::lordgun_soundio_map)
AM_RANGE(0x1000, 0x1001) AM_DEVWRITE("ymsnd", ym3812_device, write)
AM_RANGE(0x2000, 0x2000) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0x3000, 0x3000) AM_DEVREAD("soundlatch2", generic_latch_8_device, read)
@@ -369,7 +369,7 @@ static ADDRESS_MAP_START( lordgun_soundio_map, AS_IO, 8, lordgun_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( aliencha_soundio_map, AS_IO, 8, lordgun_state )
+ADDRESS_MAP_START(lordgun_state::aliencha_soundio_map)
AM_RANGE(0x3000, 0x3000) AM_DEVREAD("soundlatch2", generic_latch_8_device, read)
AM_RANGE(0x4000, 0x4000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0x5000, 0x5000) AM_WRITENOP // writes 03 then 07 at end of NMI
diff --git a/src/mame/drivers/lsasquad.cpp b/src/mame/drivers/lsasquad.cpp
index 2b8814829ee..0d5de79829c 100644
--- a/src/mame/drivers/lsasquad.cpp
+++ b/src/mame/drivers/lsasquad.cpp
@@ -170,7 +170,7 @@ WRITE8_MEMBER(lsasquad_state::lsasquad_bankswitch_w)
/* other bits unknown */
}
-static ADDRESS_MAP_START( lsasquad_map, AS_PROGRAM, 8, lsasquad_state )
+ADDRESS_MAP_START(lsasquad_state::lsasquad_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("bank1")
AM_RANGE(0xa000, 0xbfff) AM_RAM /* SRAM */
@@ -192,7 +192,7 @@ static ADDRESS_MAP_START( lsasquad_map, AS_PROGRAM, 8, lsasquad_state )
AM_RANGE(0xee00, 0xee00) AM_DEVREADWRITE("bmcu", taito68705_mcu_device, data_r, data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lsasquad_sound_map, AS_PROGRAM, 8, lsasquad_state )
+ADDRESS_MAP_START(lsasquad_state::lsasquad_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
@@ -207,7 +207,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( storming_map, AS_PROGRAM, 8, lsasquad_state )
+ADDRESS_MAP_START(lsasquad_state::storming_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("bank1")
AM_RANGE(0xa000, 0xbfff) AM_RAM /* SRAM */
@@ -371,7 +371,7 @@ INPUT_PORTS_END
/* DAIKAIJU */
-static ADDRESS_MAP_START( daikaiju_map, AS_PROGRAM, 8, lsasquad_state )
+ADDRESS_MAP_START(lsasquad_state::daikaiju_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("bank1")
AM_RANGE(0xa000, 0xbfff) AM_RAM /* SRAM */
@@ -390,7 +390,7 @@ static ADDRESS_MAP_START( daikaiju_map, AS_PROGRAM, 8, lsasquad_state )
AM_RANGE(0xee00, 0xee00) AM_DEVREADWRITE("bmcu", taito68705_mcu_device, data_r, data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( daikaiju_sound_map, AS_PROGRAM, 8, lsasquad_state )
+ADDRESS_MAP_START(lsasquad_state::daikaiju_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
diff --git a/src/mame/drivers/ltcasino.cpp b/src/mame/drivers/ltcasino.cpp
index 6daaa8adbd3..b63f0e530e7 100644
--- a/src/mame/drivers/ltcasino.cpp
+++ b/src/mame/drivers/ltcasino.cpp
@@ -44,6 +44,7 @@ public:
required_device<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
void ltcasino(machine_config &config);
+ void ltcasino_map(address_map &map);
};
@@ -80,7 +81,7 @@ WRITE8_MEMBER(ltcasino_state::ltcasino_tile_atr_w)
}
-static ADDRESS_MAP_START( ltcasino_map, AS_PROGRAM, 8, ltcasino_state )
+ADDRESS_MAP_START(ltcasino_state::ltcasino_map)
AM_RANGE(0x0000, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0xcfff) AM_ROM
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(ltcasino_tile_num_w) AM_SHARE("tile_nuram")
diff --git a/src/mame/drivers/ltd.cpp b/src/mame/drivers/ltd.cpp
index ad13cecc124..7d2455f7f80 100644
--- a/src/mame/drivers/ltd.cpp
+++ b/src/mame/drivers/ltd.cpp
@@ -75,6 +75,9 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(timer_r);
void ltd4(machine_config &config);
void ltd3(machine_config &config);
+ void ltd3_map(address_map &map);
+ void ltd4_io(address_map &map);
+ void ltd4_map(address_map &map);
private:
bool m_timer_r;
bool m_clear;
@@ -89,14 +92,14 @@ private:
};
-static ADDRESS_MAP_START( ltd3_map, AS_PROGRAM, 8, ltd_state )
+ADDRESS_MAP_START(ltd_state::ltd3_map)
AM_RANGE(0x0000, 0x007f) AM_RAM AM_SHARE("nvram") // internal to the cpu
AM_RANGE(0x0080, 0x0087) AM_MIRROR(0x78) AM_READ(io_r)
AM_RANGE(0x0800, 0x2fff) AM_WRITE(io_w)
AM_RANGE(0xc000, 0xcfff) AM_ROM AM_MIRROR(0x3000) AM_REGION("roms", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ltd4_map, AS_PROGRAM, 8, ltd_state )
+ADDRESS_MAP_START(ltd_state::ltd4_map)
AM_RANGE(0x0000, 0x001f) AM_RAM // internal to the cpu
AM_RANGE(0x0080, 0x00ff) AM_RAM
AM_RANGE(0x0100, 0x01ff) AM_RAM AM_SHARE("nvram")
@@ -111,7 +114,7 @@ static ADDRESS_MAP_START( ltd4_map, AS_PROGRAM, 8, ltd_state )
AM_RANGE(0xc000, 0xdfff) AM_ROM AM_MIRROR(0x2000) AM_REGION("roms", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ltd4_io, AS_IO, 8, ltd_state )
+ADDRESS_MAP_START(ltd_state::ltd4_io)
AM_RANGE(0x0100, 0x0100) AM_READWRITE(port1_r,port1_w)
AM_RANGE(0x0101, 0x0101) AM_READWRITE(port2_r,port2_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/luckgrln.cpp b/src/mame/drivers/luckgrln.cpp
index e9bd391277a..24ac7727d52 100644
--- a/src/mame/drivers/luckgrln.cpp
+++ b/src/mame/drivers/luckgrln.cpp
@@ -165,6 +165,11 @@ public:
required_device<palette_device> m_palette;
void _7smash(machine_config &config);
void luckgrln(machine_config &config);
+ void _7smash_io(address_map &map);
+ void _7smash_map(address_map &map);
+ void common_portmap(address_map &map);
+ void luckgrln_io(address_map &map);
+ void mainmap(address_map &map);
};
@@ -394,7 +399,7 @@ uint32_t luckgrln_state::screen_update_luckgrln(screen_device &screen, bitmap_in
return 0;
}
-static ADDRESS_MAP_START( mainmap, AS_PROGRAM, 8, luckgrln_state )
+ADDRESS_MAP_START(luckgrln_state::mainmap)
AM_RANGE(0x00000, 0x03fff) AM_ROM
AM_RANGE(0x10000, 0x1ffff) AM_ROM AM_REGION("rom_data",0x10000)
AM_RANGE(0x20000, 0x2ffff) AM_ROM AM_REGION("rom_data",0x00000)
@@ -429,7 +434,7 @@ static ADDRESS_MAP_START( mainmap, AS_PROGRAM, 8, luckgrln_state )
AM_RANGE(0xf0000, 0xfffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( _7smash_map, AS_PROGRAM, 8, luckgrln_state )
+ADDRESS_MAP_START(luckgrln_state::_7smash_map)
AM_IMPORT_FROM( mainmap )
AM_RANGE(0x00000, 0x0bfff) AM_ROM
AM_RANGE(0x10000, 0x2ffff) AM_UNMAP
@@ -548,7 +553,7 @@ WRITE8_MEMBER(luckgrln_state::counters_w)
/* are some of these reads / writes mirrored? there seem to be far too many */
-static ADDRESS_MAP_START( common_portmap, AS_IO, 8, luckgrln_state )
+ADDRESS_MAP_START(luckgrln_state::common_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x0000, 0x003f) AM_RAM // Z180 internal regs
AM_RANGE(0x0060, 0x0060) AM_WRITE(output_w)
@@ -600,7 +605,7 @@ static ADDRESS_MAP_START( common_portmap, AS_IO, 8, luckgrln_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( luckgrln_io, AS_IO, 8, luckgrln_state )
+ADDRESS_MAP_START(luckgrln_state::luckgrln_io)
AM_IMPORT_FROM( common_portmap )
AM_RANGE(0x0090, 0x009f) AM_DEVREADWRITE("rtc", msm6242_device, read, write)
ADDRESS_MAP_END
@@ -611,7 +616,7 @@ READ8_MEMBER(luckgrln_state::test_r)
return 0xff;
}
-static ADDRESS_MAP_START( _7smash_io, AS_IO, 8, luckgrln_state )
+ADDRESS_MAP_START(luckgrln_state::_7smash_io)
AM_IMPORT_FROM( common_portmap )
AM_RANGE(0x66, 0x66) AM_READ(test_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/lucky74.cpp b/src/mame/drivers/lucky74.cpp
index 026e0cc04a2..020aace5b80 100644
--- a/src/mame/drivers/lucky74.cpp
+++ b/src/mame/drivers/lucky74.cpp
@@ -926,7 +926,7 @@ INTERRUPT_GEN_MEMBER(lucky74_state::nmi_interrupt)
* Memory Map Information *
*************************/
-static ADDRESS_MAP_START( lucky74_map, AS_PROGRAM, 8, lucky74_state )
+ADDRESS_MAP_START(lucky74_state::lucky74_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM AM_SHARE("nvram") /* NVRAM */
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(lucky74_fg_videoram_w) AM_SHARE("fg_videoram") /* VRAM1-1 */
@@ -946,7 +946,7 @@ static ADDRESS_MAP_START( lucky74_map, AS_PROGRAM, 8, lucky74_state )
AM_RANGE(0xf800, 0xf803) AM_READWRITE(copro_sm7831_r, copro_sm7831_w) /* SM7831 Co-Processor */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lucky74_portmap, AS_IO, 8, lucky74_state )
+ADDRESS_MAP_START(lucky74_state::lucky74_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x05) AM_READWRITE(custom_09R81P_port_r, custom_09R81P_port_w) /* custom 09R81P (samples system) */
AM_RANGE(0xff, 0xff) AM_RAM // presumably HS satellite control port (check patched in Lucky 74)
diff --git a/src/mame/drivers/luckybal.cpp b/src/mame/drivers/luckybal.cpp
index afbe48888c0..1f26a2d0ba0 100644
--- a/src/mame/drivers/luckybal.cpp
+++ b/src/mame/drivers/luckybal.cpp
@@ -313,6 +313,8 @@ public:
required_device_array<cd4099_device, 3> m_latch;
void luckybal(machine_config &config);
+ void main_io(address_map &map);
+ void main_map(address_map &map);
};
@@ -320,12 +322,12 @@ public:
* Memory Map *
**************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, luckybal_state )
+ADDRESS_MAP_START(luckybal_state::main_map)
AM_RANGE(0x0000, 0x57ff) AM_ROM
AM_RANGE(0xe000, 0xffff) AM_RAM // 6264 SRAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_io, AS_IO, 8, luckybal_state )
+ADDRESS_MAP_START(luckybal_state::main_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x90, 0x90) AM_WRITE(port90_bitswap_w)
AM_RANGE(0xc0, 0xc3) AM_READWRITE(ppi_bitswap_r, ppi_bitswap_w)
diff --git a/src/mame/drivers/lvcards.cpp b/src/mame/drivers/lvcards.cpp
index bbf8176af26..cb296311832 100644
--- a/src/mame/drivers/lvcards.cpp
+++ b/src/mame/drivers/lvcards.cpp
@@ -148,7 +148,7 @@ READ8_MEMBER(lvcards_state::payout_r)
return m_result;
}
-static ADDRESS_MAP_START( ponttehk_map, AS_PROGRAM, 8, lvcards_state )
+ADDRESS_MAP_START(lvcards_state::ponttehk_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(lvcards_videoram_w) AM_SHARE("videoram")
@@ -158,7 +158,7 @@ static ADDRESS_MAP_START( ponttehk_map, AS_PROGRAM, 8, lvcards_state )
AM_RANGE(0xa002, 0xa002) AM_READ(payout_r) AM_WRITE(control_port_2a_w)//AM_WRITENOP // ???
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lvcards_map, AS_PROGRAM, 8, lvcards_state )
+ADDRESS_MAP_START(lvcards_state::lvcards_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(lvcards_videoram_w) AM_SHARE("videoram")
@@ -169,13 +169,13 @@ static ADDRESS_MAP_START( lvcards_map, AS_PROGRAM, 8, lvcards_state )
AM_RANGE(0xc000, 0xdfff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lvcards_io_map, AS_IO, 8, lvcards_state )
+ADDRESS_MAP_START(lvcards_state::lvcards_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lvpoker_map, AS_PROGRAM, 8, lvcards_state )
+ADDRESS_MAP_START(lvcards_state::lvpoker_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(lvcards_videoram_w) AM_SHARE("videoram")
diff --git a/src/mame/drivers/lviv.cpp b/src/mame/drivers/lviv.cpp
index c47e50ebaf2..84db4393cf1 100644
--- a/src/mame/drivers/lviv.cpp
+++ b/src/mame/drivers/lviv.cpp
@@ -297,13 +297,13 @@ Timings:
/* I/O ports */
-static ADDRESS_MAP_START(io_map, AS_IO, 8, lviv_state )
+ADDRESS_MAP_START(lviv_state::io_map)
AM_RANGE(0x00, 0xff) AM_READWRITE(lviv_io_r,lviv_io_w)
ADDRESS_MAP_END
/* memory w/r functions */
-static ADDRESS_MAP_START(lviv_mem , AS_PROGRAM, 8, lviv_state )
+ADDRESS_MAP_START(lviv_state::lviv_mem)
AM_RANGE(0x0000, 0x3fff) AM_RAMBANK("bank1")
AM_RANGE(0x4000, 0x7fff) AM_RAMBANK("bank2")
AM_RANGE(0x8000, 0xbfff) AM_RAMBANK("bank3")
diff --git a/src/mame/drivers/lwings.cpp b/src/mame/drivers/lwings.cpp
index e0aa00952ab..d8e606fbe2d 100644
--- a/src/mame/drivers/lwings.cpp
+++ b/src/mame/drivers/lwings.cpp
@@ -285,7 +285,7 @@ WRITE8_MEMBER(lwings_state::msm5205_w)
m_msm->vclk_w(0);
}
-static ADDRESS_MAP_START( avengers_map, AS_PROGRAM, 8, lwings_state )
+ADDRESS_MAP_START(lwings_state::avengers_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xddff) AM_RAM
@@ -309,7 +309,7 @@ static ADDRESS_MAP_START( avengers_map, AS_PROGRAM, 8, lwings_state )
AM_RANGE(0xf80e, 0xf80e) AM_WRITE(lwings_bankswitch_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lwings_map, AS_PROGRAM, 8, lwings_state )
+ADDRESS_MAP_START(lwings_state::lwings_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xddff) AM_RAM
@@ -330,7 +330,7 @@ static ADDRESS_MAP_START( lwings_map, AS_PROGRAM, 8, lwings_state )
AM_RANGE(0xf80e, 0xf80e) AM_WRITE(lwings_bankswitch_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( trojan_map, AS_PROGRAM, 8, lwings_state )
+ADDRESS_MAP_START(lwings_state::trojan_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xddff) AM_RAM
@@ -354,7 +354,7 @@ static ADDRESS_MAP_START( trojan_map, AS_PROGRAM, 8, lwings_state )
AM_RANGE(0xf80e, 0xf80e) AM_WRITE(lwings_bankswitch_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lwings_sound_map, AS_PROGRAM, 8, lwings_state )
+ADDRESS_MAP_START(lwings_state::lwings_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc800) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -366,7 +366,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( fball_map, AS_PROGRAM, 8, lwings_state )
+ADDRESS_MAP_START(lwings_state::fball_map)
AM_RANGE(0x0000, 0x7fff) AM_ROMBANK("bank2")
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xddff) AM_RAM
@@ -398,13 +398,13 @@ WRITE8_MEMBER(lwings_state::fball_oki_bank_w)
membank("samplebank")->set_entry((data >> 1) & 0x7);
}
-static ADDRESS_MAP_START( fball_oki_map, 0, 8, lwings_state )
+ADDRESS_MAP_START(lwings_state::fball_oki_map)
AM_RANGE(0x00000, 0x1ffff) AM_ROM
AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK("samplebank")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fball_sound_map, AS_PROGRAM, 8, lwings_state )
+ADDRESS_MAP_START(lwings_state::fball_sound_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x8000, 0x8000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -417,17 +417,17 @@ static ADDRESS_MAP_START( fball_sound_map, AS_PROGRAM, 8, lwings_state )
ADDRESS_MAP_END
/* Yes, _no_ ram */
-static ADDRESS_MAP_START( trojan_adpcm_map, AS_PROGRAM, 8, lwings_state )
+ADDRESS_MAP_START(lwings_state::trojan_adpcm_map)
AM_RANGE(0x0000, 0xffff) AM_ROM AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( avengers_adpcm_io_map, AS_IO, 8, lwings_state )
+ADDRESS_MAP_START(lwings_state::avengers_adpcm_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(avengers_adpcm_r)
AM_RANGE(0x01, 0x01) AM_WRITE(msm5205_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( trojan_adpcm_io_map, AS_IO, 8, lwings_state )
+ADDRESS_MAP_START(lwings_state::trojan_adpcm_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch2", generic_latch_8_device, read)
AM_RANGE(0x01, 0x01) AM_WRITE(msm5205_w)
diff --git a/src/mame/drivers/lwriter.cpp b/src/mame/drivers/lwriter.cpp
index 011c080831c..7a09dd85d27 100644
--- a/src/mame/drivers/lwriter.cpp
+++ b/src/mame/drivers/lwriter.cpp
@@ -128,6 +128,7 @@ public:
virtual void machine_start () override;
virtual void machine_reset () override;
void lwriter(machine_config &config);
+ void maincpu_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<scc8530_device> m_scc;
@@ -200,7 +201,7 @@ The ADB bit-bang transceiver MCU connects to the VIA CB1 (adbclk) and CB2 (adbda
as well as PA0 (ST1), PA2 (ST2) and PA3 (ADB /INT)
*/
-static ADDRESS_MAP_START (maincpu_map, AS_PROGRAM, 16, lwriter_state)
+ADDRESS_MAP_START(lwriter_state::maincpu_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x1fffff) AM_READWRITE(bankedarea_r, bankedarea_w)
AM_RANGE(0x200000, 0x2fffff) AM_ROM AM_REGION("rom", 0) // 1MB ROM
diff --git a/src/mame/drivers/lynx.cpp b/src/mame/drivers/lynx.cpp
index f80cfdd0ac4..8dc06f6394e 100644
--- a/src/mame/drivers/lynx.cpp
+++ b/src/mame/drivers/lynx.cpp
@@ -19,7 +19,7 @@
#include "lynx.lh"
-static ADDRESS_MAP_START( lynx_mem , AS_PROGRAM, 8, lynx_state )
+ADDRESS_MAP_START(lynx_state::lynx_mem)
AM_RANGE(0x0000, 0xfbff) AM_RAM AM_SHARE("mem_0000")
AM_RANGE(0xfc00, 0xfcff) AM_RAM AM_SHARE("mem_fc00")
AM_RANGE(0xfd00, 0xfdff) AM_RAM AM_SHARE("mem_fd00")
diff --git a/src/mame/drivers/m10.cpp b/src/mame/drivers/m10.cpp
index 9ceb7b721f3..ffbc92cfb07 100644
--- a/src/mame/drivers/m10.cpp
+++ b/src/mame/drivers/m10.cpp
@@ -525,7 +525,7 @@ INTERRUPT_GEN_MEMBER(m10_state::m15_interrupt)
*
*************************************/
-static ADDRESS_MAP_START( m10_main, AS_PROGRAM, 8, m10_state )
+ADDRESS_MAP_START(m10_state::m10_main)
AM_RANGE(0x0000, 0x02ff) AM_RAM AM_SHARE("memory") /* scratch ram */
AM_RANGE(0x1000, 0x2fff) AM_ROM AM_SHARE("rom")
AM_RANGE(0x4000, 0x43ff) AM_RAM AM_SHARE("videoram")
@@ -539,7 +539,7 @@ static ADDRESS_MAP_START( m10_main, AS_PROGRAM, 8, m10_state )
AM_RANGE(0xfc00, 0xffff) AM_ROM /* for the reset / interrupt vectors */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( m11_main, AS_PROGRAM, 8, m10_state )
+ADDRESS_MAP_START(m10_state::m11_main)
AM_RANGE(0x0000, 0x02ff) AM_RAM AM_SHARE("memory") /* scratch ram */
AM_RANGE(0x1000, 0x2fff) AM_ROM AM_SHARE("rom")
AM_RANGE(0x4000, 0x43ff) AM_RAM AM_SHARE("videoram")
@@ -553,7 +553,7 @@ static ADDRESS_MAP_START( m11_main, AS_PROGRAM, 8, m10_state )
AM_RANGE(0xfc00, 0xffff) AM_ROM /* for the reset / interrupt vectors */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( m15_main, AS_PROGRAM, 8, m10_state )
+ADDRESS_MAP_START(m10_state::m15_main)
AM_RANGE(0x0000, 0x02ff) AM_RAM AM_SHARE("memory") /* scratch ram */
AM_RANGE(0x1000, 0x33ff) AM_ROM AM_SHARE("rom")
AM_RANGE(0x4000, 0x43ff) AM_RAM AM_SHARE("videoram")
diff --git a/src/mame/drivers/m107.cpp b/src/mame/drivers/m107.cpp
index 93b77f3f8a6..627732bf462 100644
--- a/src/mame/drivers/m107.cpp
+++ b/src/mame/drivers/m107.cpp
@@ -96,7 +96,7 @@ WRITE16_MEMBER(m107_state::sound_reset_w)
/*****************************************************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, m107_state )
+ADDRESS_MAP_START(m107_state::main_map)
AM_RANGE(0x00000, 0x9ffff) AM_ROM
AM_RANGE(0xa0000, 0xbffff) AM_ROMBANK("bank1")
AM_RANGE(0xd0000, 0xdffff) AM_RAM_WRITE(vram_w) AM_SHARE("vram_data")
@@ -106,7 +106,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, m107_state )
AM_RANGE(0xffff0, 0xfffff) AM_ROM AM_REGION("maincpu", 0x7fff0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_portmap, AS_IO, 16, m107_state )
+ADDRESS_MAP_START(m107_state::main_portmap)
AM_RANGE(0x00, 0x01) AM_READ_PORT("P1_P2")
AM_RANGE(0x02, 0x03) AM_READ_PORT("COINS_DSW3")
AM_RANGE(0x04, 0x05) AM_READ_PORT("DSW")
@@ -123,7 +123,7 @@ static ADDRESS_MAP_START( main_portmap, AS_IO, 16, m107_state )
AM_RANGE(0xc0, 0xc1) AM_WRITE(sound_reset_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dsoccr94_io_map, AS_IO, 16, m107_state )
+ADDRESS_MAP_START(m107_state::dsoccr94_io_map)
AM_IMPORT_FROM(main_portmap)
AM_RANGE(0x06, 0x07) AM_WRITE8(bankswitch_w, 0x00ff)
ADDRESS_MAP_END
@@ -139,14 +139,14 @@ WRITE16_MEMBER(m107_state::wpksoc_output_w)
popmessage("%04x",data);
}
-static ADDRESS_MAP_START( wpksoc_map, AS_PROGRAM, 16, m107_state )
+ADDRESS_MAP_START(m107_state::wpksoc_map)
AM_IMPORT_FROM(main_map)
AM_RANGE(0xf0000, 0xf0001) AM_READ_PORT("WPK_DSW0")
AM_RANGE(0xf0002, 0xf0003) AM_READ_PORT("WPK_DSW1")
AM_RANGE(0xf0004, 0xf0005) AM_READ_PORT("WPK_DSW2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( wpksoc_io_map, AS_IO, 16, m107_state )
+ADDRESS_MAP_START(m107_state::wpksoc_io_map)
AM_IMPORT_FROM(main_portmap)
AM_RANGE(0x22, 0x23) AM_WRITE(wpksoc_output_w)
AM_RANGE(0xc0, 0xc1) AM_READ_PORT("WPK_IN0")
@@ -155,7 +155,7 @@ ADDRESS_MAP_END
/******************************************************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 16, m107_state )
+ADDRESS_MAP_START(m107_state::sound_map)
AM_RANGE(0x00000, 0x1ffff) AM_ROM
AM_RANGE(0xa0000, 0xa3fff) AM_RAM
AM_RANGE(0xa8000, 0xa803f) AM_DEVREADWRITE8("irem", iremga20_device, irem_ga20_r, irem_ga20_w, 0x00ff)
diff --git a/src/mame/drivers/m14.cpp b/src/mame/drivers/m14.cpp
index d5e545905b4..e034cfe83e5 100644
--- a/src/mame/drivers/m14.cpp
+++ b/src/mame/drivers/m14.cpp
@@ -100,6 +100,8 @@ public:
INTERRUPT_GEN_MEMBER(m14_irq);
void m14(machine_config &config);
+ void m14_io_map(address_map &map);
+ void m14_map(address_map &map);
private:
/* video-related */
tilemap_t *m_m14_tilemap;
@@ -298,14 +300,14 @@ WRITE8_MEMBER(m14_state::sound_w)
*
*************************************/
-static ADDRESS_MAP_START( m14_map, AS_PROGRAM, 8, m14_state )
+ADDRESS_MAP_START(m14_state::m14_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(m14_vram_w) AM_SHARE("video_ram")
AM_RANGE(0xe400, 0xe7ff) AM_RAM_WRITE(m14_cram_w) AM_SHARE("color_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( m14_io_map, AS_IO, 8, m14_state )
+ADDRESS_MAP_START(m14_state::m14_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xf8, 0xf8) AM_READ_PORT("AN_PADDLE") AM_WRITE(ball_x_w)
AM_RANGE(0xf9, 0xf9) AM_READ_PORT("IN0") AM_WRITE(ball_y_w)
diff --git a/src/mame/drivers/m20.cpp b/src/mame/drivers/m20.cpp
index 88ebaed092c..695d29e1493 100644
--- a/src/mame/drivers/m20.cpp
+++ b/src/mame/drivers/m20.cpp
@@ -106,6 +106,9 @@ public:
MC6845_UPDATE_ROW(update_row);
void m20(machine_config &config);
+ void m20_data_mem(address_map &map);
+ void m20_io(address_map &map);
+ void m20_program_mem(address_map &map);
private:
offs_t m_memsize;
uint8_t m_port21;
@@ -316,13 +319,13 @@ B/W, 128K cards, 3 cards => 512K of memory:
*/
-static ADDRESS_MAP_START(m20_program_mem, AS_PROGRAM, 16, m20_state)
+ADDRESS_MAP_START(m20_state::m20_program_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x30000, 0x33fff ) AM_RAM AM_SHARE("videoram")
AM_RANGE( 0x40000, 0x41fff ) AM_ROM AM_REGION("maincpu", 0x00000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(m20_data_mem, AS_DATA, 16, m20_state)
+ADDRESS_MAP_START(m20_state::m20_data_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x30000, 0x33fff ) AM_RAM AM_SHARE("videoram")
AM_RANGE( 0x40000, 0x41fff ) AM_ROM AM_REGION("maincpu", 0x00000)
@@ -696,7 +699,7 @@ void m20_state::install_memory()
}
}
-static ADDRESS_MAP_START(m20_io, AS_IO, 16, m20_state)
+ADDRESS_MAP_START(m20_state::m20_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x07) AM_DEVREADWRITE8("fd1797", fd1797_device, read, write, 0x00ff)
diff --git a/src/mame/drivers/m24.cpp b/src/mame/drivers/m24.cpp
index 4fd958cd694..dd573ff22b9 100644
--- a/src/mame/drivers/m24.cpp
+++ b/src/mame/drivers/m24.cpp
@@ -57,6 +57,9 @@ public:
bool m_kbcibf, m_kbdata, m_i86_halt, m_i86_halt_perm;
static void cfg_m20_format(device_t *device);
void olivetti(machine_config &config);
+ void kbc_map(address_map &map);
+ void m24_io(address_map &map);
+ void m24_map(address_map &map);
};
void m24_state::machine_reset()
@@ -172,12 +175,12 @@ WRITE_LINE_MEMBER(m24_state::halt_i86_w)
m_i86_halt = state ? true : false;
}
-static ADDRESS_MAP_START( m24_map, AS_PROGRAM, 16, m24_state )
+ADDRESS_MAP_START(m24_state::m24_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xf8000, 0xfffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(m24_io, AS_IO, 16, m24_state )
+ADDRESS_MAP_START(m24_state::m24_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x00ff) AM_DEVICE8("mb", pc_noppi_mb_device, map, 0xffff)
AM_RANGE(0x0060, 0x0065) AM_READWRITE8(keyboard_r, keyboard_w, 0xffff)
@@ -186,7 +189,7 @@ static ADDRESS_MAP_START(m24_io, AS_IO, 16, m24_state )
AM_RANGE(0x80c0, 0x80c1) AM_DEVREADWRITE8("z8000_apb", m24_z8000_device, handshake_r, handshake_w, 0xff00)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(kbc_map, AS_PROGRAM, 8, m24_state)
+ADDRESS_MAP_START(m24_state::kbc_map)
AM_RANGE(0x8000, 0x8fff) AM_READ(kbcdata_r)
AM_RANGE(0xa000, 0xafff) AM_WRITE(kbcdata_w)
AM_RANGE(0xf800, 0xffff) AM_ROM AM_REGION("kbc", 0)
diff --git a/src/mame/drivers/m3.cpp b/src/mame/drivers/m3.cpp
index 2a11e706fe1..d95f02b0350 100644
--- a/src/mame/drivers/m3.cpp
+++ b/src/mame/drivers/m3.cpp
@@ -30,6 +30,8 @@ public:
MC6845_UPDATE_ROW(crtc_update_row);
void m3(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
virtual void machine_reset() override;
required_device<cpu_device> m_maincpu;
@@ -38,13 +40,13 @@ private:
required_device<palette_device> m_palette;
};
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, m3_state )
+ADDRESS_MAP_START(m3_state::mem_map)
AM_RANGE(0x0000, 0xe7ff) AM_RAM
AM_RANGE(0xe800, 0xefff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0xf000, 0xffff) AM_ROM AM_REGION("roms", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_PROGRAM, 8, m3_state )
+ADDRESS_MAP_START(m3_state::io_map)
ADDRESS_MAP_GLOBAL_MASK (0xff)
AM_RANGE(0x84, 0x84) AM_DEVREADWRITE("crtc", mc6845_device, status_r, address_w)
AM_RANGE(0x85, 0x85) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
diff --git a/src/mame/drivers/m5.cpp b/src/mame/drivers/m5.cpp
index 5db3ba7d6f6..52bcfb7b66e 100644
--- a/src/mame/drivers/m5.cpp
+++ b/src/mame/drivers/m5.cpp
@@ -697,7 +697,7 @@ WRITE8_MEMBER( m5_state::mem64KRX_w ) //out 0x7f
// ADDRESS_MAP( m5_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( m5_mem, AS_PROGRAM, 8, m5_state )
+ADDRESS_MAP_START(m5_state::m5_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_READ_BANK("bank1r") AM_WRITE_BANK("bank1w") //monitor rom(bios)
AM_RANGE(0x2000, 0x3fff) AM_READ_BANK("bank2r") AM_WRITE_BANK("bank2w")
@@ -713,7 +713,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( m5_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( m5_io, AS_IO, 8, m5_state )
+ADDRESS_MAP_START(m5_state::m5_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_MIRROR(0x0c) AM_DEVREADWRITE(Z80CTC_TAG, z80ctc_device, read, write)
@@ -741,7 +741,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( fd5_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( fd5_mem, AS_PROGRAM, 8, m5_state )
+ADDRESS_MAP_START(m5_state::fd5_mem)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0xffff) AM_RAM
ADDRESS_MAP_END
@@ -751,7 +751,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( fd5_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( fd5_io, AS_IO, 8, m5_state )
+ADDRESS_MAP_START(m5_state::fd5_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVICE(UPD765_TAG, upd765a_device, map)
AM_RANGE(0x10, 0x10) AM_READWRITE(fd5_data_r, fd5_data_w)
@@ -1006,7 +1006,7 @@ static const z80_daisy_config m5_daisy_chain[] =
//-------------------------------------------------
-static ADDRESS_MAP_START( m5_mem_brno, AS_PROGRAM, 8, brno_state )
+ADDRESS_MAP_START(brno_state::m5_mem_brno)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_READWRITE_BANK("bank1")
AM_RANGE(0x1000, 0x1fff) AM_READWRITE_BANK("bank2")
@@ -1029,7 +1029,7 @@ ADDRESS_MAP_END
//-------------------------------------------------
// ADDRESS_MAP( brno_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( brno_io, AS_IO, 8, brno_state )
+ADDRESS_MAP_START(brno_state::brno_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_MIRROR(0x0c) AM_DEVREADWRITE(Z80CTC_TAG, z80ctc_device, read, write)
diff --git a/src/mame/drivers/m52.cpp b/src/mame/drivers/m52.cpp
index 29cf84c4167..1e30de508fc 100644
--- a/src/mame/drivers/m52.cpp
+++ b/src/mame/drivers/m52.cpp
@@ -60,7 +60,7 @@
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, m52_state )
+ADDRESS_MAP_START(m52_state::main_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(m52_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(m52_colorram_w) AM_SHARE("colorram")
@@ -77,7 +77,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, m52_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( alpha1v_map, AS_PROGRAM, 8, m52_state )
+ADDRESS_MAP_START(m52_state::alpha1v_map)
AM_RANGE(0x0000, 0x6fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(m52_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(m52_colorram_w) AM_SHARE("colorram")
@@ -92,7 +92,7 @@ static ADDRESS_MAP_START( alpha1v_map, AS_PROGRAM, 8, m52_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_portmap, AS_IO, 8, m52_state )
+ADDRESS_MAP_START(m52_state::main_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x1f) AM_WRITE(m52_scroll_w)
AM_RANGE(0x40, 0x40) AM_MIRROR(0x1f) AM_WRITE(m52_bg1xpos_w)
diff --git a/src/mame/drivers/m57.cpp b/src/mame/drivers/m57.cpp
index b0b1a66a4ec..bd3dd9eb230 100644
--- a/src/mame/drivers/m57.cpp
+++ b/src/mame/drivers/m57.cpp
@@ -69,7 +69,7 @@
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, m57_state )
+ADDRESS_MAP_START(m57_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(m57_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x9000, 0x91ff) AM_RAM AM_SHARE("scrollram")
diff --git a/src/mame/drivers/m58.cpp b/src/mame/drivers/m58.cpp
index d49894b4e5e..9ea823bee8c 100644
--- a/src/mame/drivers/m58.cpp
+++ b/src/mame/drivers/m58.cpp
@@ -27,7 +27,7 @@
*
*************************************/
-static ADDRESS_MAP_START( yard_map, AS_PROGRAM, 8, m58_state )
+ADDRESS_MAP_START(m58_state::yard_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
AM_RANGE(0x9000, 0x9fff) AM_WRITE(scroll_panel_w)
diff --git a/src/mame/drivers/m62.cpp b/src/mame/drivers/m62.cpp
index 770e791a53f..3927f8dba70 100644
--- a/src/mame/drivers/m62.cpp
+++ b/src/mame/drivers/m62.cpp
@@ -173,7 +173,7 @@ WRITE8_MEMBER(m62_state::youjyudn_bankswitch_w)
}
-static ADDRESS_MAP_START( kungfum_map, AS_PROGRAM, 8, m62_state )
+ADDRESS_MAP_START(m62_state::kungfum_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xa000, 0xa000) AM_WRITE(m62_hscroll_low_w)
AM_RANGE(0xb000, 0xb000) AM_WRITE(m62_hscroll_high_w)
@@ -184,7 +184,7 @@ static ADDRESS_MAP_START( kungfum_map, AS_PROGRAM, 8, m62_state )
AM_RANGE(0xe000, 0xefff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kungfum_io_map, AS_IO, 8, m62_state )
+ADDRESS_MAP_START(m62_state::kungfum_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("SYSTEM") AM_DEVWRITE("irem_audio", irem_audio_device, cmd_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("P1") AM_WRITE(m62_flipscreen_w) /* + coin counters */
@@ -193,7 +193,7 @@ static ADDRESS_MAP_START( kungfum_io_map, AS_IO, 8, m62_state )
AM_RANGE(0x04, 0x04) AM_READ_PORT("DSW2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( battroad_map, AS_PROGRAM, 8, m62_state )
+ADDRESS_MAP_START(m62_state::battroad_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xa000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc0ff) AM_WRITEONLY AM_SHARE("spriteram")
@@ -202,7 +202,7 @@ static ADDRESS_MAP_START( battroad_map, AS_PROGRAM, 8, m62_state )
AM_RANGE(0xe000, 0xefff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( battroad_io_map, AS_IO, 8, m62_state )
+ADDRESS_MAP_START(m62_state::battroad_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("SYSTEM") AM_DEVWRITE("irem_audio", irem_audio_device, cmd_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("P1") AM_WRITE(m62_flipscreen_w) /* + coin counters */
@@ -215,14 +215,14 @@ static ADDRESS_MAP_START( battroad_io_map, AS_IO, 8, m62_state )
AM_RANGE(0x83, 0x83) AM_WRITE(battroad_bankswitch_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ldrun_map, AS_PROGRAM, 8, m62_state )
+ADDRESS_MAP_START(m62_state::ldrun_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc0ff) AM_WRITEONLY AM_SHARE("spriteram")
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(m62_tileram_w) AM_SHARE("m62_tileram")
AM_RANGE(0xe000, 0xefff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ldrun2_map, AS_PROGRAM, 8, m62_state )
+ADDRESS_MAP_START(m62_state::ldrun2_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc0ff) AM_WRITEONLY AM_SHARE("spriteram")
@@ -230,7 +230,7 @@ static ADDRESS_MAP_START( ldrun2_map, AS_PROGRAM, 8, m62_state )
AM_RANGE(0xe000, 0xefff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ldrun2_io_map, AS_IO, 8, m62_state )
+ADDRESS_MAP_START(m62_state::ldrun2_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("SYSTEM") AM_DEVWRITE("irem_audio", irem_audio_device, cmd_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("P1") AM_WRITE(m62_flipscreen_w) /* + coin counters */
@@ -241,7 +241,7 @@ static ADDRESS_MAP_START( ldrun2_io_map, AS_IO, 8, m62_state )
AM_RANGE(0x80, 0x81) AM_WRITE(ldrun2_bankswitch_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ldrun3_map, AS_PROGRAM, 8, m62_state )
+ADDRESS_MAP_START(m62_state::ldrun3_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc800, 0xc800) AM_READ(ldrun3_prot_5_r)
AM_RANGE(0xcc00, 0xcc00) AM_READ(ldrun3_prot_7_r)
@@ -251,7 +251,7 @@ static ADDRESS_MAP_START( ldrun3_map, AS_PROGRAM, 8, m62_state )
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(m62_tileram_w) AM_SHARE("m62_tileram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ldrun3_io_map, AS_IO, 8, m62_state )
+ADDRESS_MAP_START(m62_state::ldrun3_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("SYSTEM") AM_DEVWRITE("irem_audio", irem_audio_device, cmd_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("P1") AM_WRITE(m62_flipscreen_w) /* + coin counters */
@@ -262,7 +262,7 @@ static ADDRESS_MAP_START( ldrun3_io_map, AS_IO, 8, m62_state )
AM_RANGE(0x81, 0x81) AM_WRITE(ldrun3_topbottom_mask_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ldrun4_map, AS_PROGRAM, 8, m62_state )
+ADDRESS_MAP_START(m62_state::ldrun4_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc0ff) AM_WRITEONLY AM_SHARE("spriteram")
@@ -271,7 +271,7 @@ static ADDRESS_MAP_START( ldrun4_map, AS_PROGRAM, 8, m62_state )
AM_RANGE(0xe000, 0xefff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ldrun4_io_map, AS_IO, 8, m62_state )
+ADDRESS_MAP_START(m62_state::ldrun4_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("SYSTEM") AM_DEVWRITE("irem_audio", irem_audio_device, cmd_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("P1") AM_WRITE(m62_flipscreen_w) /* + coin counters */
@@ -282,7 +282,7 @@ static ADDRESS_MAP_START( ldrun4_io_map, AS_IO, 8, m62_state )
AM_RANGE(0x83, 0x83) AM_WRITE(m62_hscroll_low_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lotlot_map, AS_PROGRAM, 8, m62_state )
+ADDRESS_MAP_START(m62_state::lotlot_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xa000, 0xafff) AM_RAM_WRITE(m62_textram_w) AM_SHARE("m62_textram")
AM_RANGE(0xc000, 0xc0ff) AM_WRITEONLY AM_SHARE("spriteram")
@@ -290,7 +290,7 @@ static ADDRESS_MAP_START( lotlot_map, AS_PROGRAM, 8, m62_state )
AM_RANGE(0xe000, 0xefff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kidniki_map, AS_PROGRAM, 8, m62_state )
+ADDRESS_MAP_START(m62_state::kidniki_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("bank1")
AM_RANGE(0xa000, 0xafff) AM_RAM_WRITE(m62_tileram_w) AM_SHARE("m62_tileram")
@@ -299,7 +299,7 @@ static ADDRESS_MAP_START( kidniki_map, AS_PROGRAM, 8, m62_state )
AM_RANGE(0xe000, 0xefff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kidniki_io_map, AS_IO, 8, m62_state )
+ADDRESS_MAP_START(m62_state::kidniki_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("SYSTEM") AM_DEVWRITE("irem_audio", irem_audio_device, cmd_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("P1") AM_WRITE(m62_flipscreen_w) /* + coin counters */
@@ -314,7 +314,7 @@ static ADDRESS_MAP_START( kidniki_io_map, AS_IO, 8, m62_state )
AM_RANGE(0x85, 0x85) AM_WRITE(kidniki_bankswitch_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spelunkr_map, AS_PROGRAM, 8, m62_state )
+ADDRESS_MAP_START(m62_state::spelunkr_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("bank1")
AM_RANGE(0xa000, 0xbfff) AM_RAM_WRITE(m62_tileram_w) AM_SHARE("m62_tileram")
@@ -329,7 +329,7 @@ static ADDRESS_MAP_START( spelunkr_map, AS_PROGRAM, 8, m62_state )
AM_RANGE(0xe000, 0xefff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spelunk2_map, AS_PROGRAM, 8, m62_state )
+ADDRESS_MAP_START(m62_state::spelunk2_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_ROMBANK("bank1")
AM_RANGE(0x9000, 0x9fff) AM_ROMBANK("bank2")
@@ -343,7 +343,7 @@ static ADDRESS_MAP_START( spelunk2_map, AS_PROGRAM, 8, m62_state )
AM_RANGE(0xe000, 0xefff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( youjyudn_map, AS_PROGRAM, 8, m62_state )
+ADDRESS_MAP_START(m62_state::youjyudn_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc0ff) AM_WRITEONLY AM_SHARE("spriteram")
@@ -352,7 +352,7 @@ static ADDRESS_MAP_START( youjyudn_map, AS_PROGRAM, 8, m62_state )
AM_RANGE(0xe000, 0xefff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( youjyudn_io_map, AS_IO, 8, m62_state )
+ADDRESS_MAP_START(m62_state::youjyudn_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("SYSTEM") AM_DEVWRITE("irem_audio", irem_audio_device, cmd_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("P1") AM_WRITE(m62_flipscreen_w) /* + coin counters */
@@ -364,7 +364,7 @@ static ADDRESS_MAP_START( youjyudn_io_map, AS_IO, 8, m62_state )
AM_RANGE(0x83, 0x83) AM_WRITE(youjyudn_bankswitch_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( horizon_map, AS_PROGRAM, 8, m62_state )
+ADDRESS_MAP_START(m62_state::horizon_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc1ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xc800, 0xc83f) AM_RAM_WRITE(horizon_scrollram_w) AM_SHARE("scrollram")
diff --git a/src/mame/drivers/m63.cpp b/src/mame/drivers/m63.cpp
index 564809ba135..1360b925612 100644
--- a/src/mame/drivers/m63.cpp
+++ b/src/mame/drivers/m63.cpp
@@ -213,6 +213,10 @@ public:
void atomboy(machine_config &config);
void m63(machine_config &config);
void fghtbskt(machine_config &config);
+ void fghtbskt_map(address_map &map);
+ void i8039_map(address_map &map);
+ void i8039_port_map(address_map &map);
+ void m63_map(address_map &map);
};
@@ -468,7 +472,7 @@ WRITE_LINE_MEMBER(m63_state::nmi_mask_w)
}
-static ADDRESS_MAP_START( m63_map, AS_PROGRAM, 8, m63_state )
+ADDRESS_MAP_START(m63_state::m63_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xd000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe1ff) AM_RAM
@@ -485,7 +489,7 @@ static ADDRESS_MAP_START( m63_map, AS_PROGRAM, 8, m63_state )
AM_RANGE(0xf806, 0xf806) AM_READ_PORT("DSW2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fghtbskt_map, AS_PROGRAM, 8, m63_state )
+ADDRESS_MAP_START(m63_state::fghtbskt_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
@@ -506,12 +510,12 @@ static ADDRESS_MAP_START( fghtbskt_map, AS_PROGRAM, 8, m63_state )
AM_RANGE(0xf807, 0xf807) AM_WRITE(fghtbskt_samples_w) // FIXME
ADDRESS_MAP_END
-static ADDRESS_MAP_START( i8039_map, AS_PROGRAM, 8, m63_state )
+ADDRESS_MAP_START(m63_state::i8039_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( i8039_port_map, AS_IO, 8, m63_state )
+ADDRESS_MAP_START(m63_state::i8039_port_map)
AM_RANGE(0x00, 0xff) AM_READWRITE(snddata_r, snddata_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/m6805evs.cpp b/src/mame/drivers/m6805evs.cpp
index 12e62c809c7..4af4969fbbc 100644
--- a/src/mame/drivers/m6805evs.cpp
+++ b/src/mame/drivers/m6805evs.cpp
@@ -74,13 +74,14 @@ public:
{ }
void m6805evs(machine_config &config);
+ void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
virtual void machine_reset() override;
};
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, m6805evs_state )
+ADDRESS_MAP_START(m6805evs_state::mem_map)
ADDRESS_MAP_GLOBAL_MASK(0x1fff)
ADDRESS_MAP_UNMAP_HIGH
diff --git a/src/mame/drivers/m72.cpp b/src/mame/drivers/m72.cpp
index 81332048fac..fe72ec5c2e9 100644
--- a/src/mame/drivers/m72.cpp
+++ b/src/mame/drivers/m72.cpp
@@ -863,7 +863,7 @@ WRITE16_MEMBER(m72_state::soundram_w)
m_soundram[offset * 2 + 1] = data >> 8;
}
-static ADDRESS_MAP_START( m72_cpu1_common_map, AS_PROGRAM, 16, m72_state )
+ADDRESS_MAP_START(m72_state::m72_cpu1_common_map)
AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xc8000, 0xc8bff) AM_READWRITE(palette1_r, palette1_w) AM_SHARE("paletteram")
AM_RANGE(0xcc000, 0xccbff) AM_READWRITE(palette2_r, palette2_w) AM_SHARE("paletteram2")
@@ -873,31 +873,31 @@ static ADDRESS_MAP_START( m72_cpu1_common_map, AS_PROGRAM, 16, m72_state )
AM_RANGE(0xffff0, 0xfffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( m72_map, AS_PROGRAM, 16, m72_state)
+ADDRESS_MAP_START(m72_state::m72_map)
AM_IMPORT_FROM( m72_cpu1_common_map )
AM_RANGE(0x00000, 0x7ffff) AM_ROM
AM_RANGE(0xa0000, 0xa3fff) AM_RAM /* work RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rtype_map, AS_PROGRAM, 16, m72_state)
+ADDRESS_MAP_START(m72_state::rtype_map)
AM_IMPORT_FROM( m72_cpu1_common_map )
AM_RANGE(0x00000, 0x3ffff) AM_ROM
AM_RANGE(0x40000, 0x43fff) AM_RAM /* work RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( xmultiplm72_map, AS_PROGRAM, 16, m72_state)
+ADDRESS_MAP_START(m72_state::xmultiplm72_map)
AM_IMPORT_FROM( m72_cpu1_common_map )
AM_RANGE(0x00000, 0x7ffff) AM_ROM
AM_RANGE(0x80000, 0x83fff) AM_RAM /* work RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dbreedm72_map, AS_PROGRAM, 16, m72_state)
+ADDRESS_MAP_START(m72_state::dbreedm72_map)
AM_IMPORT_FROM( m72_cpu1_common_map )
AM_RANGE(0x00000, 0x7ffff) AM_ROM
AM_RANGE(0x90000, 0x93fff) AM_RAM /* work RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( m81_cpu1_common_map, AS_PROGRAM, 16, m72_state )
+ADDRESS_MAP_START(m72_state::m81_cpu1_common_map)
AM_RANGE(0x00000, 0x7ffff) AM_ROM
AM_RANGE(0xb0ffe, 0xb0fff) AM_WRITEONLY /* leftover from protection?? */
AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_SHARE("spriteram")
@@ -908,22 +908,22 @@ static ADDRESS_MAP_START( m81_cpu1_common_map, AS_PROGRAM, 16, m72_state )
AM_RANGE(0xffff0, 0xfffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( xmultipl_map, AS_PROGRAM, 16, m72_state)
+ADDRESS_MAP_START(m72_state::xmultipl_map)
AM_IMPORT_FROM( m81_cpu1_common_map )
AM_RANGE(0x9c000, 0x9ffff) AM_RAM /* work RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dbreed_map, AS_PROGRAM, 16, m72_state)
+ADDRESS_MAP_START(m72_state::dbreed_map)
AM_IMPORT_FROM( m81_cpu1_common_map )
AM_RANGE(0x88000, 0x8bfff) AM_RAM /* work RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hharry_map, AS_PROGRAM, 16, m72_state)
+ADDRESS_MAP_START(m72_state::hharry_map)
AM_IMPORT_FROM( m81_cpu1_common_map )
AM_RANGE(0xa0000, 0xa3fff) AM_RAM /* work RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( m84_cpu1_common_map, AS_PROGRAM, 16, m72_state )
+ADDRESS_MAP_START(m72_state::m84_cpu1_common_map)
AM_RANGE(0x00000, 0x7ffff) AM_ROM
AM_RANGE(0xb0000, 0xb0001) AM_WRITE(irq_line_w)
AM_RANGE(0xb4000, 0xb4001) AM_WRITENOP /* ??? */
@@ -934,7 +934,7 @@ static ADDRESS_MAP_START( m84_cpu1_common_map, AS_PROGRAM, 16, m72_state )
AM_RANGE(0xffff0, 0xfffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rtype2_map, AS_PROGRAM, 16, m72_state)
+ADDRESS_MAP_START(m72_state::rtype2_map)
AM_IMPORT_FROM( m84_cpu1_common_map )
AM_RANGE(0xd0000, 0xd3fff) AM_RAM_WRITE(videoram1_w) AM_SHARE("videoram1")
AM_RANGE(0xd4000, 0xd7fff) AM_RAM_WRITE(videoram2_w) AM_SHARE("videoram2")
@@ -942,7 +942,7 @@ static ADDRESS_MAP_START( rtype2_map, AS_PROGRAM, 16, m72_state)
AM_RANGE(0xd8000, 0xd8bff) AM_READWRITE(palette2_r, palette2_w) AM_SHARE("paletteram2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hharryu_map, AS_PROGRAM, 16, m72_state)
+ADDRESS_MAP_START(m72_state::hharryu_map)
AM_IMPORT_FROM( m84_cpu1_common_map )
AM_RANGE(0xd0000, 0xd3fff) AM_RAM_WRITE(videoram1_w) AM_SHARE("videoram1")
AM_RANGE(0xd4000, 0xd7fff) AM_RAM_WRITE(videoram2_w) AM_SHARE("videoram2")
@@ -950,7 +950,7 @@ static ADDRESS_MAP_START( hharryu_map, AS_PROGRAM, 16, m72_state)
AM_RANGE(0xa8000, 0xa8bff) AM_READWRITE(palette2_r, palette2_w) AM_SHARE("paletteram2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kengo_map, AS_PROGRAM, 16, m72_state)
+ADDRESS_MAP_START(m72_state::kengo_map)
AM_IMPORT_FROM( m84_cpu1_common_map )
AM_RANGE(0x80000, 0x83fff) AM_RAM_WRITE(videoram1_w) AM_SHARE("videoram1")
AM_RANGE(0x84000, 0x87fff) AM_RAM_WRITE(videoram2_w) AM_SHARE("videoram2")
@@ -959,7 +959,7 @@ static ADDRESS_MAP_START( kengo_map, AS_PROGRAM, 16, m72_state)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( m82_map, AS_PROGRAM, 16, m72_state )
+ADDRESS_MAP_START(m72_state::m82_map)
AM_RANGE(0x00000, 0x7ffff) AM_ROM
AM_RANGE(0xa0000, 0xa03ff) AM_RAM AM_SHARE("majtitle_rowscr")
AM_RANGE(0xa4000, 0xa4bff) AM_READWRITE(palette2_r, palette2_w) AM_SHARE("paletteram2")
@@ -978,7 +978,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( m72_portmap, AS_IO, 16, m72_state )
+ADDRESS_MAP_START(m72_state::m72_portmap)
AM_RANGE(0x00, 0x01) AM_READ_PORT("IN0")
AM_RANGE(0x02, 0x03) AM_READ_PORT("IN1")
AM_RANGE(0x04, 0x05) AM_READ_PORT("DSW")
@@ -994,7 +994,7 @@ static ADDRESS_MAP_START( m72_portmap, AS_IO, 16, m72_state )
/* { 0xc0, 0xc0 trigger sample, filled by init_ function */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( m84_portmap, AS_IO, 16, m72_state )
+ADDRESS_MAP_START(m72_state::m84_portmap)
AM_RANGE(0x00, 0x01) AM_READ_PORT("IN0")
AM_RANGE(0x02, 0x03) AM_READ_PORT("IN1")
AM_RANGE(0x04, 0x05) AM_READ_PORT("DSW")
@@ -1007,7 +1007,7 @@ static ADDRESS_MAP_START( m84_portmap, AS_IO, 16, m72_state )
AM_RANGE(0x86, 0x87) AM_WRITE(scrollx2_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( m84_v33_portmap, AS_IO, 16, m72_state )
+ADDRESS_MAP_START(m72_state::m84_v33_portmap)
AM_RANGE(0x00, 0x01) AM_READ_PORT("IN0")
AM_RANGE(0x02, 0x03) AM_READ_PORT("IN1")
AM_RANGE(0x04, 0x05) AM_READ_PORT("DSW")
@@ -1021,7 +1021,7 @@ static ADDRESS_MAP_START( m84_v33_portmap, AS_IO, 16, m72_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( poundfor_portmap, AS_IO, 16, m72_state )
+ADDRESS_MAP_START(m72_state::poundfor_portmap)
AM_RANGE(0x02, 0x03) AM_READ_PORT("IN1")
AM_RANGE(0x04, 0x05) AM_READ_PORT("DSW")
AM_RANGE(0x08, 0x0f) AM_DEVREAD8("upd4701l", upd4701_device, read_xy, 0x00ff)
@@ -1035,7 +1035,7 @@ static ADDRESS_MAP_START( poundfor_portmap, AS_IO, 16, m72_state )
AM_RANGE(0x86, 0x87) AM_WRITE(scrollx2_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( m82_portmap, AS_IO, 16, m72_state )
+ADDRESS_MAP_START(m72_state::m82_portmap)
AM_RANGE(0x00, 0x01) AM_READ_PORT("IN0")
AM_RANGE(0x02, 0x03) AM_READ_PORT("IN1")
AM_RANGE(0x04, 0x05) AM_READ_PORT("DSW")
@@ -1052,7 +1052,7 @@ static ADDRESS_MAP_START( m82_portmap, AS_IO, 16, m72_state )
AM_RANGE(0x8e, 0x8f) AM_WRITE(m82_gfx_ctrl_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( m81_portmap, AS_IO, 16, m72_state )
+ADDRESS_MAP_START(m72_state::m81_portmap)
AM_RANGE(0x00, 0x01) AM_READ_PORT("IN0")
AM_RANGE(0x02, 0x03) AM_READ_PORT("IN1")
AM_RANGE(0x04, 0x05) AM_READ_PORT("DSW")
@@ -1069,16 +1069,16 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_ram_map, AS_PROGRAM, 8, m72_state )
+ADDRESS_MAP_START(m72_state::sound_ram_map)
AM_RANGE(0x0000, 0xffff) AM_RAM AM_SHARE("soundram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_rom_map, AS_PROGRAM, 8, m72_state )
+ADDRESS_MAP_START(m72_state::sound_rom_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rtype_sound_portmap, AS_IO, 8, m72_state )
+ADDRESS_MAP_START(m72_state::rtype_sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0x02, 0x02) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -1086,7 +1086,7 @@ static ADDRESS_MAP_START( rtype_sound_portmap, AS_IO, 8, m72_state )
AM_RANGE(0x84, 0x84) AM_DEVREAD("m72", m72_audio_device, sample_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, m72_state )
+ADDRESS_MAP_START(m72_state::sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0x02, 0x02) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -1095,7 +1095,7 @@ static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, m72_state )
AM_RANGE(0x84, 0x84) AM_DEVREAD("m72", m72_audio_device, sample_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rtype2_sound_portmap, AS_IO, 8, m72_state )
+ADDRESS_MAP_START(m72_state::rtype2_sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0x80, 0x80) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -1106,7 +1106,7 @@ static ADDRESS_MAP_START( rtype2_sound_portmap, AS_IO, 8, m72_state )
// AM_RANGE(0x87, 0x87) AM_WRITENOP /* ??? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( poundfor_sound_portmap, AS_IO, 8, m72_state )
+ADDRESS_MAP_START(m72_state::poundfor_sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x13) AM_DEVWRITE("m72", m72_audio_device, poundfor_sample_addr_w)
AM_RANGE(0x40, 0x41) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
@@ -1114,7 +1114,7 @@ static ADDRESS_MAP_START( poundfor_sound_portmap, AS_IO, 8, m72_state )
AM_RANGE(0x42, 0x42) AM_DEVWRITE("m72", m72_audio_device, sound_irq_ack_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mcu_io_map, AS_IO, 8, m72_state )
+ADDRESS_MAP_START(m72_state::mcu_io_map)
/* External access */
AM_RANGE(0x0000, 0x0000) AM_READWRITE(mcu_sample_r, mcu_low_w)
AM_RANGE(0x0001, 0x0001) AM_WRITE(mcu_high_w)
diff --git a/src/mame/drivers/m79152pc.cpp b/src/mame/drivers/m79152pc.cpp
index 61fa7136400..6c67b063458 100644
--- a/src/mame/drivers/m79152pc.cpp
+++ b/src/mame/drivers/m79152pc.cpp
@@ -34,6 +34,8 @@ public:
uint32_t screen_update_m79152pc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void m79152pc(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
virtual void machine_reset() override;
required_shared_ptr<uint8_t> m_p_videoram;
@@ -43,7 +45,7 @@ private:
required_device<z80sio_device> m_uart;
};
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, m79152pc_state )
+ADDRESS_MAP_START(m79152pc_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
@@ -51,7 +53,7 @@ static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, m79152pc_state )
AM_RANGE(0x9000, 0x9fff) AM_RAM AM_SHARE("attributes")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, m79152pc_state )
+ADDRESS_MAP_START(m79152pc_state::io_map)
//ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x40, 0x43) AM_DEVREADWRITE("uart", z80sio_device, cd_ba_r, cd_ba_w)
diff --git a/src/mame/drivers/m79amb.cpp b/src/mame/drivers/m79amb.cpp
index 6774ee641d8..768fbbf6ed0 100644
--- a/src/mame/drivers/m79amb.cpp
+++ b/src/mame/drivers/m79amb.cpp
@@ -118,7 +118,7 @@ WRITE8_MEMBER(m79amb_state::m79amb_8002_w)
output().set_value("EXP_LAMP", data ? 1 : 0);
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, m79amb_state )
+ADDRESS_MAP_START(m79amb_state::main_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x5fff) AM_RAM_WRITE(ramtek_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x6000, 0x63ff) AM_RAM /* ?? */
diff --git a/src/mame/drivers/m90.cpp b/src/mame/drivers/m90.cpp
index 0ad909ddbc9..2e5dbc60356 100644
--- a/src/mame/drivers/m90.cpp
+++ b/src/mame/drivers/m90.cpp
@@ -67,7 +67,7 @@ WRITE16_MEMBER(m90_state::unknown_w)
/***************************************************************************/
-static ADDRESS_MAP_START( m90_main_cpu_map, AS_PROGRAM, 16, m90_state )
+ADDRESS_MAP_START(m90_state::m90_main_cpu_map)
AM_RANGE(0x00000, 0x7ffff) AM_ROM
AM_RANGE(0x80000, 0x8ffff) AM_ROMBANK("bank1") /* Quiz F1 only */
AM_RANGE(0xa0000, 0xa3fff) AM_RAM
@@ -76,7 +76,7 @@ static ADDRESS_MAP_START( m90_main_cpu_map, AS_PROGRAM, 16, m90_state )
AM_RANGE(0xffff0, 0xfffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dynablsb_main_cpu_map, AS_PROGRAM, 16, m90_state )
+ADDRESS_MAP_START(m90_state::dynablsb_main_cpu_map)
AM_RANGE(0x00000, 0x3ffff) AM_ROM
AM_RANGE(0x6000e, 0x60fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xa0000, 0xa3fff) AM_RAM
@@ -85,7 +85,7 @@ static ADDRESS_MAP_START( dynablsb_main_cpu_map, AS_PROGRAM, 16, m90_state )
AM_RANGE(0xffff0, 0xfffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bomblord_main_cpu_map, AS_PROGRAM, 16, m90_state )
+ADDRESS_MAP_START(m90_state::bomblord_main_cpu_map)
AM_RANGE(0x00000, 0x7ffff) AM_ROM
AM_RANGE(0xa0000, 0xa3fff) AM_RAM
AM_RANGE(0xc000e, 0xc0fff) AM_RAM AM_SHARE("spriteram")
@@ -94,7 +94,7 @@ static ADDRESS_MAP_START( bomblord_main_cpu_map, AS_PROGRAM, 16, m90_state )
AM_RANGE(0xffff0, 0xfffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( m90_main_cpu_io_map, AS_IO, 16, m90_state )
+ADDRESS_MAP_START(m90_state::m90_main_cpu_io_map)
AM_RANGE(0x00, 0x01) AM_DEVWRITE8("m72", m72_audio_device, sound_command_w, 0x00ff)
AM_RANGE(0x00, 0x01) AM_READ_PORT("P1_P2")
AM_RANGE(0x02, 0x03) AM_WRITE(m90_coincounter_w)
@@ -104,7 +104,7 @@ static ADDRESS_MAP_START( m90_main_cpu_io_map, AS_IO, 16, m90_state )
AM_RANGE(0x80, 0x8f) AM_WRITE(m90_video_control_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dynablsb_main_cpu_io_map, AS_IO, 16, m90_state )
+ADDRESS_MAP_START(m90_state::dynablsb_main_cpu_io_map)
AM_RANGE(0x00, 0x01) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
AM_RANGE(0x00, 0x01) AM_READ_PORT("P1_P2")
AM_RANGE(0x02, 0x03) AM_WRITE(m90_coincounter_w)
@@ -118,12 +118,12 @@ ADDRESS_MAP_END
/*****************************************************************************/
-static ADDRESS_MAP_START( m90_sound_cpu_map, AS_PROGRAM, 8, m90_state )
+ADDRESS_MAP_START(m90_state::m90_sound_cpu_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( m90_sound_cpu_io_map, AS_IO, 8, m90_state )
+ADDRESS_MAP_START(m90_state::m90_sound_cpu_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0x80, 0x80) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -133,14 +133,14 @@ static ADDRESS_MAP_START( m90_sound_cpu_io_map, AS_IO, 8, m90_state )
AM_RANGE(0x84, 0x84) AM_DEVREAD("m72", m72_audio_device, sample_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dynablsb_sound_cpu_io_map, AS_IO, 8, m90_state )
+ADDRESS_MAP_START(m90_state::dynablsb_sound_cpu_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0x80, 0x80) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0x82, 0x82) AM_DEVWRITE("dac", dac_byte_interface, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( m99_sound_cpu_io_map, AS_IO, 8, m90_state )
+ADDRESS_MAP_START(m90_state::m99_sound_cpu_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("m72", m72_audio_device, poundfor_sample_addr_w)
AM_RANGE(0x40, 0x41) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
diff --git a/src/mame/drivers/m92.cpp b/src/mame/drivers/m92.cpp
index 502384f47d9..73d7cc686d8 100644
--- a/src/mame/drivers/m92.cpp
+++ b/src/mame/drivers/m92.cpp
@@ -346,7 +346,7 @@ WRITE16_MEMBER(m92_state::m92_sound_reset_w)
/*****************************************************************************/
/* appears to be an earlier board */
-static ADDRESS_MAP_START( lethalth_map, AS_PROGRAM, 16, m92_state )
+ADDRESS_MAP_START(m92_state::lethalth_map)
AM_RANGE(0x00000, 0x7ffff) AM_ROM
AM_RANGE(0x80000, 0x8ffff) AM_RAM_WRITE(m92_vram_w) AM_SHARE("vram_data")
AM_RANGE(0xe0000, 0xeffff) AM_RAM /* System ram */
@@ -357,7 +357,7 @@ static ADDRESS_MAP_START( lethalth_map, AS_PROGRAM, 16, m92_state )
AM_RANGE(0xffff0, 0xfffff) AM_ROM AM_REGION("maincpu", 0x7fff0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( m92_map, AS_PROGRAM, 16, m92_state )
+ADDRESS_MAP_START(m92_state::m92_map)
AM_RANGE(0x00000, 0x9ffff) AM_ROM
AM_RANGE(0xa0000, 0xbffff) AM_ROMBANK("bank1")
AM_RANGE(0xc0000, 0xcffff) AM_ROM AM_REGION("maincpu", 0x00000) /* Mirror used by In The Hunt as protection */
@@ -370,7 +370,7 @@ static ADDRESS_MAP_START( m92_map, AS_PROGRAM, 16, m92_state )
AM_RANGE(0xffff0, 0xfffff) AM_ROM AM_REGION("maincpu", 0x7fff0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( m92_portmap, AS_IO, 16, m92_state )
+ADDRESS_MAP_START(m92_state::m92_portmap)
AM_RANGE(0x00, 0x01) AM_READ_PORT("P1_P2")
AM_RANGE(0x02, 0x03) AM_READ_PORT("COINS_DSW3")
AM_RANGE(0x04, 0x05) AM_READ_PORT("DSW")
@@ -391,7 +391,7 @@ WRITE16_MEMBER(m92_state::oki_bank_w)
m_oki->set_rom_bank((data+1) & 0x3); // +1?
}
-static ADDRESS_MAP_START( ppan_portmap, AS_IO, 16, m92_state )
+ADDRESS_MAP_START(m92_state::ppan_portmap)
AM_RANGE(0x00, 0x01) AM_READ_PORT("P1_P2")
AM_RANGE(0x02, 0x03) AM_READ_PORT("COINS_DSW3")
AM_RANGE(0x04, 0x05) AM_READ_PORT("DSW")
@@ -410,7 +410,7 @@ ADDRESS_MAP_END
/******************************************************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 16, m92_state )
+ADDRESS_MAP_START(m92_state::sound_map)
AM_RANGE(0x00000, 0x1ffff) AM_ROM
AM_RANGE(0xa0000, 0xa3fff) AM_RAM
AM_RANGE(0xa8000, 0xa803f) AM_DEVREADWRITE8("irem", iremga20_device, irem_ga20_r, irem_ga20_w, 0x00ff)
diff --git a/src/mame/drivers/mac.cpp b/src/mame/drivers/mac.cpp
index a1a0eb73354..1936032f791 100644
--- a/src/mame/drivers/mac.cpp
+++ b/src/mame/drivers/mac.cpp
@@ -591,7 +591,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(mac_state::mac_scanline)
ADDRESS MAPS
***************************************************************************/
-static ADDRESS_MAP_START(mac512ke_map, AS_PROGRAM, 16, mac_state )
+ADDRESS_MAP_START(mac_state::mac512ke_map)
AM_RANGE(0x800000, 0x9fffff) AM_READ(mac_scc_r)
AM_RANGE(0xa00000, 0xbfffff) AM_WRITE(mac_scc_w)
AM_RANGE(0xc00000, 0xdfffff) AM_READWRITE(mac_iwm_r, mac_iwm_w)
@@ -599,7 +599,7 @@ static ADDRESS_MAP_START(mac512ke_map, AS_PROGRAM, 16, mac_state )
AM_RANGE(0xfffff0, 0xffffff) AM_READWRITE(mac_autovector_r, mac_autovector_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(macplus_map, AS_PROGRAM, 16, mac_state )
+ADDRESS_MAP_START(mac_state::macplus_map)
AM_RANGE(0x580000, 0x5fffff) AM_READWRITE(macplus_scsi_r, macplus_scsi_w)
AM_RANGE(0x800000, 0x9fffff) AM_READ(mac_scc_r)
AM_RANGE(0xa00000, 0xbfffff) AM_WRITE(mac_scc_w)
@@ -608,7 +608,7 @@ static ADDRESS_MAP_START(macplus_map, AS_PROGRAM, 16, mac_state )
AM_RANGE(0xfffff0, 0xffffff) AM_READWRITE(mac_autovector_r, mac_autovector_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(macse_map, AS_PROGRAM, 16, mac_state )
+ADDRESS_MAP_START(mac_state::macse_map)
AM_RANGE(0x580000, 0x5fffff) AM_READWRITE(macplus_scsi_r, macplus_scsi_w)
AM_RANGE(0x900000, 0x9fffff) AM_READ(mac_scc_r)
AM_RANGE(0xb00000, 0xbfffff) AM_WRITE(mac_scc_w)
@@ -617,7 +617,7 @@ static ADDRESS_MAP_START(macse_map, AS_PROGRAM, 16, mac_state )
AM_RANGE(0xfffff0, 0xffffff) AM_READWRITE(mac_autovector_r, mac_autovector_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(macprtb_map, AS_PROGRAM, 16, mac_state )
+ADDRESS_MAP_START(mac_state::macprtb_map)
AM_RANGE(0x900000, 0x93ffff) AM_ROM AM_REGION("bootrom", 0) AM_MIRROR(0x0c0000)
AM_RANGE(0xf60000, 0xf6ffff) AM_READWRITE(mac_iwm_r, mac_iwm_w)
AM_RANGE(0xf70000, 0xf7ffff) AM_READWRITE(mac_via_r, mac_via_w)
@@ -629,7 +629,7 @@ static ADDRESS_MAP_START(macprtb_map, AS_PROGRAM, 16, mac_state )
AM_RANGE(0xfffff0, 0xffffff) AM_READWRITE(mac_autovector_r, mac_autovector_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(maclc_map, AS_PROGRAM, 32, mac_state )
+ADDRESS_MAP_START(mac_state::maclc_map)
ADDRESS_MAP_GLOBAL_MASK(0x80ffffff) // V8 uses bit 31 and 23-0 for address decoding only
AM_RANGE(0xa00000, 0xafffff) AM_ROM AM_REGION("bootrom", 0) // ROM (in 32-bit mode)
@@ -646,7 +646,7 @@ static ADDRESS_MAP_START(maclc_map, AS_PROGRAM, 32, mac_state )
AM_RANGE(0xf40000, 0xfbffff) AM_RAM AM_SHARE("vram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(maclc3_map, AS_PROGRAM, 32, mac_state )
+ADDRESS_MAP_START(mac_state::maclc3_map)
AM_RANGE(0x40000000, 0x400fffff) AM_ROM AM_REGION("bootrom", 0) AM_MIRROR(0x0ff00000)
AM_RANGE(0x50000000, 0x50001fff) AM_READWRITE16(mac_via_r, mac_via_w, 0xffffffff) AM_MIRROR(0x00f00000)
@@ -665,7 +665,7 @@ static ADDRESS_MAP_START(maclc3_map, AS_PROGRAM, 32, mac_state )
AM_RANGE(0x60000000, 0x600fffff) AM_RAM AM_MIRROR(0x0ff00000) AM_SHARE("vram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(macii_map, AS_PROGRAM, 32, mac_state )
+ADDRESS_MAP_START(mac_state::macii_map)
AM_RANGE(0x40000000, 0x4003ffff) AM_ROM AM_REGION("bootrom", 0) AM_MIRROR(0x0ffc0000)
// MMU remaps I/O without the F
@@ -681,7 +681,7 @@ static ADDRESS_MAP_START(macii_map, AS_PROGRAM, 32, mac_state )
AM_RANGE(0x50040000, 0x50041fff) AM_READWRITE16(mac_via_r, mac_via_w, 0xffffffff) AM_MIRROR(0x00f00000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(maciici_map, AS_PROGRAM, 32, mac_state )
+ADDRESS_MAP_START(mac_state::maciici_map)
AM_RANGE(0x40000000, 0x4007ffff) AM_ROM AM_REGION("bootrom", 0) AM_MIRROR(0x0ff80000)
AM_RANGE(0x50000000, 0x50001fff) AM_READWRITE16(mac_via_r, mac_via_w, 0xffffffff) AM_MIRROR(0x00f00000)
@@ -696,7 +696,7 @@ static ADDRESS_MAP_START(maciici_map, AS_PROGRAM, 32, mac_state )
AM_RANGE(0x50040000, 0x50041fff) AM_READWRITE16(mac_via_r, mac_via_w, 0xffffffff) AM_MIRROR(0x00f00000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(macse30_map, AS_PROGRAM, 32, mac_state )
+ADDRESS_MAP_START(mac_state::macse30_map)
AM_RANGE(0x40000000, 0x4003ffff) AM_ROM AM_REGION("bootrom", 0) AM_MIRROR(0x0ffc0000)
AM_RANGE(0x50000000, 0x50001fff) AM_READWRITE16(mac_via_r, mac_via_w, 0xffffffff) AM_MIRROR(0x00f00000)
@@ -714,7 +714,7 @@ static ADDRESS_MAP_START(macse30_map, AS_PROGRAM, 32, mac_state )
AM_RANGE(0xfeffe000, 0xfeffffff) AM_ROM AM_REGION("se30vrom", 0x0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(maciifx_map, AS_PROGRAM, 32, mac_state )
+ADDRESS_MAP_START(mac_state::maciifx_map)
AM_RANGE(0x40000000, 0x4007ffff) AM_ROM AM_REGION("bootrom", 0) AM_MIRROR(0x0ff80000)
AM_RANGE(0x50000000, 0x50001fff) AM_READWRITE16(mac_via_r, mac_via_w, 0xffffffff) AM_MIRROR(0x00f00000)
@@ -732,7 +732,7 @@ static ADDRESS_MAP_START(maciifx_map, AS_PROGRAM, 32, mac_state )
ADDRESS_MAP_END
// ROM detects the "Jaws" ASIC by checking for I/O space mirrored at 0x01000000 boundries
-static ADDRESS_MAP_START(macpb140_map, AS_PROGRAM, 32, mac_state )
+ADDRESS_MAP_START(mac_state::macpb140_map)
AM_RANGE(0x40000000, 0x400fffff) AM_ROM AM_REGION("bootrom", 0) AM_MIRROR(0x0ff00000)
AM_RANGE(0x50000000, 0x50001fff) AM_READWRITE16(mac_via_r, mac_via_w, 0xffffffff) AM_MIRROR(0x01f00000)
@@ -748,7 +748,7 @@ static ADDRESS_MAP_START(macpb140_map, AS_PROGRAM, 32, mac_state )
AM_RANGE(0xfee08000, 0xfeffffff) AM_RAM AM_SHARE("vram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(macpb160_map, AS_PROGRAM, 32, mac_state )
+ADDRESS_MAP_START(mac_state::macpb160_map)
AM_RANGE(0x40000000, 0x400fffff) AM_ROM AM_REGION("bootrom", 0) AM_MIRROR(0x0ff00000)
AM_RANGE(0x50f00000, 0x50f01fff) AM_READWRITE16(mac_via_r, mac_via_w, 0xffffffff)
@@ -765,7 +765,7 @@ static ADDRESS_MAP_START(macpb160_map, AS_PROGRAM, 32, mac_state )
AM_RANGE(0x60000000, 0x6001ffff) AM_RAM AM_SHARE("vram") AM_MIRROR(0x0ffe0000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(macpb165c_map, AS_PROGRAM, 32, mac_state )
+ADDRESS_MAP_START(mac_state::macpb165c_map)
AM_RANGE(0x40000000, 0x400fffff) AM_ROM AM_REGION("bootrom", 0) AM_MIRROR(0x0ff00000)
AM_RANGE(0x50f00000, 0x50f01fff) AM_READWRITE16(mac_via_r, mac_via_w, 0xffffffff)
@@ -787,7 +787,7 @@ static ADDRESS_MAP_START(macpb165c_map, AS_PROGRAM, 32, mac_state )
AM_RANGE(0xfcff8000, 0xfcffffff) AM_ROM AM_REGION("vrom", 0x0000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(macpd210_map, AS_PROGRAM, 32, mac_state )
+ADDRESS_MAP_START(mac_state::macpd210_map)
AM_RANGE(0x40000000, 0x400fffff) AM_ROM AM_REGION("bootrom", 0) AM_MIRROR(0x0ff00000)
AM_RANGE(0x50f00000, 0x50f01fff) AM_READWRITE16(mac_via_r, mac_via_w, 0xffffffff)
@@ -806,7 +806,7 @@ static ADDRESS_MAP_START(macpd210_map, AS_PROGRAM, 32, mac_state )
AM_RANGE(0x60000000, 0x6001ffff) AM_RAM AM_SHARE("vram") AM_MIRROR(0x0ffe0000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(quadra700_map, AS_PROGRAM, 32, mac_state )
+ADDRESS_MAP_START(mac_state::quadra700_map)
AM_RANGE(0x40000000, 0x400fffff) AM_ROM AM_REGION("bootrom", 0) AM_MIRROR(0x0ff00000)
AM_RANGE(0x50000000, 0x50001fff) AM_READWRITE16(mac_via_r, mac_via_w, 0xffffffff) AM_MIRROR(0x00fc0000)
@@ -825,7 +825,7 @@ static ADDRESS_MAP_START(quadra700_map, AS_PROGRAM, 32, mac_state )
AM_RANGE(0xf9800200, 0xf980023f) AM_READWRITE(dafb_dac_r, dafb_dac_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(pwrmac_map, AS_PROGRAM, 64, mac_state )
+ADDRESS_MAP_START(mac_state::pwrmac_map)
AM_RANGE(0x00000000, 0x007fffff) AM_RAM // 8 MB standard
AM_RANGE(0x40000000, 0x403fffff) AM_ROM AM_REGION("bootrom", 0) AM_MIRROR(0x0fc00000)
diff --git a/src/mame/drivers/mac128.cpp b/src/mame/drivers/mac128.cpp
index d99d8602501..af6e0c51ae1 100644
--- a/src/mame/drivers/mac128.cpp
+++ b/src/mame/drivers/mac128.cpp
@@ -262,6 +262,8 @@ public:
void mac512ke(machine_config &config);
void mac128k(machine_config &config);
void macplus(machine_config &config);
+ void mac512ke_map(address_map &map);
+ void macplus_map(address_map &map);
private:
// wait states for accessing the VIA
int m_via_cycles;
@@ -1276,7 +1278,7 @@ MAC_DRIVER_INIT(macplus, MODEL_MAC_PLUS)
ADDRESS MAPS
***************************************************************************/
-static ADDRESS_MAP_START(mac512ke_map, AS_PROGRAM, 16, mac128_state )
+ADDRESS_MAP_START(mac128_state::mac512ke_map)
AM_RANGE(0x000000, 0x3fffff) AM_READWRITE(ram_r, ram_w)
AM_RANGE(0x400000, 0x4fffff) AM_ROM AM_REGION("bootrom", 0) AM_MIRROR(0x100000)
AM_RANGE(0x600000, 0x6fffff) AM_READWRITE(ram_600000_r, ram_600000_w)
@@ -1287,7 +1289,7 @@ static ADDRESS_MAP_START(mac512ke_map, AS_PROGRAM, 16, mac128_state )
AM_RANGE(0xfffff0, 0xffffff) AM_READWRITE(mac_autovector_r, mac_autovector_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(macplus_map, AS_PROGRAM, 16, mac128_state )
+ADDRESS_MAP_START(mac128_state::macplus_map)
AM_RANGE(0x000000, 0x3fffff) AM_READWRITE(ram_r, ram_w)
AM_RANGE(0x400000, 0x4fffff) AM_ROM AM_REGION("bootrom", 0)
AM_RANGE(0x580000, 0x5fffff) AM_READWRITE(macplus_scsi_r, macplus_scsi_w)
diff --git a/src/mame/drivers/macp.cpp b/src/mame/drivers/macp.cpp
index 785b7442fb5..61333bd8f2f 100644
--- a/src/mame/drivers/macp.cpp
+++ b/src/mame/drivers/macp.cpp
@@ -20,23 +20,26 @@ public:
void macp(machine_config &config);
void macpmsm(machine_config &config);
void macp0(machine_config &config);
+ void macp0_map(address_map &map);
+ void macp_io(address_map &map);
+ void macp_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START( macp_map, AS_PROGRAM, 8, macp_state )
+ADDRESS_MAP_START(macp_state::macp_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( macp0_map, AS_PROGRAM, 8, macp_state )
+ADDRESS_MAP_START(macp_state::macp0_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( macp_io, AS_IO, 8, macp_state )
+ADDRESS_MAP_START(macp_state::macp_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/macpci.cpp b/src/mame/drivers/macpci.cpp
index ccc9faa26c9..8053c5ae22b 100644
--- a/src/mame/drivers/macpci.cpp
+++ b/src/mame/drivers/macpci.cpp
@@ -60,7 +60,7 @@ READ64_MEMBER( macpci_state::unk2_r )
return 0;
}
-static ADDRESS_MAP_START(pippin_mem, AS_PROGRAM, 64, macpci_state)
+ADDRESS_MAP_START(macpci_state::pippin_mem)
AM_RANGE(0x00000000, 0x005fffff) AM_RAM
/* writes at 0x0*c01000 the string "Mr. Kesh" and wants it to be read back, true color VRAMs perhaps? */
diff --git a/src/mame/drivers/macrossp.cpp b/src/mame/drivers/macrossp.cpp
index d511f49babb..c2a5728037c 100644
--- a/src/mame/drivers/macrossp.cpp
+++ b/src/mame/drivers/macrossp.cpp
@@ -338,7 +338,7 @@ WRITE16_MEMBER(macrossp_state::palette_fade_w)
/*** MEMORY MAPS *************************************************************/
-static ADDRESS_MAP_START( macrossp_map, AS_PROGRAM, 32, macrossp_state )
+ADDRESS_MAP_START(macrossp_state::macrossp_map)
AM_RANGE(0x000000, 0x3fffff) AM_ROM
AM_RANGE(0x800000, 0x802fff) AM_RAM AM_SHARE("spriteram")
/* SCR A Layer */
@@ -373,7 +373,7 @@ static ADDRESS_MAP_START( macrossp_map, AS_PROGRAM, 32, macrossp_state )
// AM_RANGE(0xfe0000, 0xfe0003) AM_NOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( macrossp_sound_map, AS_PROGRAM, 16, macrossp_state )
+ADDRESS_MAP_START(macrossp_state::macrossp_sound_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x200000, 0x207fff) AM_RAM
AM_RANGE(0x400000, 0x40007f) AM_DEVREADWRITE8("ensoniq", es5506_device, read, write, 0x00ff)
diff --git a/src/mame/drivers/macs.cpp b/src/mame/drivers/macs.cpp
index 1439005f66e..4e1afe6a6b3 100644
--- a/src/mame/drivers/macs.cpp
+++ b/src/mame/drivers/macs.cpp
@@ -99,11 +99,13 @@ public:
optional_device<generic_slot_device> m_cart2;
void macs(machine_config &config);
+ void macs_io(address_map &map);
+ void macs_mem(address_map &map);
};
-static ADDRESS_MAP_START( macs_mem, AS_PROGRAM, 8, macs_state )
+ADDRESS_MAP_START(macs_state::macs_mem)
AM_RANGE(0x0000, 0x7fff) AM_ROMBANK("bank4")
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
//AM_RANGE(0xc000, 0xcfff) AM_READ(st0016_sprite_ram_r) AM_WRITE(st0016_sprite_ram_w)
@@ -189,7 +191,7 @@ WRITE8_MEMBER(macs_state::macs_output_w)
}
}
-static ADDRESS_MAP_START( macs_io, AS_IO, 8, macs_state )
+ADDRESS_MAP_START(macs_state::macs_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
//AM_RANGE(0x00, 0xbf) AM_READ(st0016_vregs_r) AM_WRITE(st0016_vregs_w) /* video/crt regs ? */
AM_RANGE(0xc0, 0xc7) AM_READWRITE(macs_input_r,macs_output_w)
diff --git a/src/mame/drivers/madalien.cpp b/src/mame/drivers/madalien.cpp
index 1e7cc2b57e6..f13692b8996 100644
--- a/src/mame/drivers/madalien.cpp
+++ b/src/mame/drivers/madalien.cpp
@@ -67,7 +67,7 @@ WRITE8_MEMBER(madalien_state::madalien_portB_w)
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, madalien_state )
+ADDRESS_MAP_START(madalien_state::main_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x6000, 0x63ff) AM_RAM_WRITE(madalien_videoram_w) AM_SHARE("videoram")
@@ -95,7 +95,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, madalien_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, madalien_state )
+ADDRESS_MAP_START(madalien_state::audio_map)
AM_RANGE(0x0000, 0x03ff) AM_MIRROR(0x1c00) AM_RAM
AM_RANGE(0x6000, 0x6003) AM_MIRROR(0x1ffc) AM_RAM /* unknown device in an epoxy block, might be tilt detection */
AM_RANGE(0x8000, 0x8000) AM_MIRROR(0x1ffc) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/madmotor.cpp b/src/mame/drivers/madmotor.cpp
index 3a14e69c13b..512b7f26380 100644
--- a/src/mame/drivers/madmotor.cpp
+++ b/src/mame/drivers/madmotor.cpp
@@ -53,13 +53,15 @@ public:
DECLARE_DRIVER_INIT(madmotor);
uint32_t screen_update_madmotor(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void madmotor(machine_config &config);
+ void madmotor_map(address_map &map);
+ void sound_map(address_map &map);
};
/******************************************************************************/
-static ADDRESS_MAP_START( madmotor_map, AS_PROGRAM, 16, madmotor_state )
+ADDRESS_MAP_START(madmotor_state::madmotor_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x180000, 0x180007) AM_DEVWRITE("tilegen1", deco_bac06_device, pf_control_0_w) /* text layer */
AM_RANGE(0x180010, 0x180017) AM_DEVWRITE("tilegen1", deco_bac06_device, pf_control_1_w)
@@ -87,7 +89,7 @@ ADDRESS_MAP_END
/******************************************************************************/
/* Physical memory map (21 bits) */
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, madmotor_state )
+ADDRESS_MAP_START(madmotor_state::sound_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ym2", ym2151_device, read, write)
diff --git a/src/mame/drivers/magic10.cpp b/src/mame/drivers/magic10.cpp
index 28880069a6c..fe0b2f95576 100644
--- a/src/mame/drivers/magic10.cpp
+++ b/src/mame/drivers/magic10.cpp
@@ -155,6 +155,11 @@ public:
void magic10(machine_config &config);
void hotslot(machine_config &config);
void sgsafari(machine_config &config);
+ void hotslot_map(address_map &map);
+ void magic102_map(address_map &map);
+ void magic10_map(address_map &map);
+ void magic10a_map(address_map &map);
+ void sgsafari_map(address_map &map);
};
@@ -311,7 +316,7 @@ WRITE16_MEMBER(magic10_state::magic10_out_w)
* Memory Maps *
***************************/
-static ADDRESS_MAP_START( magic10_map, AS_PROGRAM, 16, magic10_state )
+ADDRESS_MAP_START(magic10_state::magic10_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(layer1_videoram_w) AM_SHARE("layer1_videoram")
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(layer0_videoram_w) AM_SHARE("layer0_videoram")
@@ -327,7 +332,7 @@ static ADDRESS_MAP_START( magic10_map, AS_PROGRAM, 16, magic10_state )
AM_RANGE(0x600000, 0x603fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( magic10a_map, AS_PROGRAM, 16, magic10_state )
+ADDRESS_MAP_START(magic10_state::magic10a_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(layer1_videoram_w) AM_SHARE("layer1_videoram")
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(layer0_videoram_w) AM_SHARE("layer0_videoram")
@@ -343,7 +348,7 @@ static ADDRESS_MAP_START( magic10a_map, AS_PROGRAM, 16, magic10_state )
AM_RANGE(0x600000, 0x603fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( magic102_map, AS_PROGRAM, 16, magic10_state )
+ADDRESS_MAP_START(magic10_state::magic102_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(layer1_videoram_w) AM_SHARE("layer1_videoram")
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(layer0_videoram_w) AM_SHARE("layer0_videoram")
@@ -362,7 +367,7 @@ static ADDRESS_MAP_START( magic102_map, AS_PROGRAM, 16, magic10_state )
AM_RANGE(0x700080, 0x700087) AM_RAM AM_SHARE("vregs") // video registers?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hotslot_map, AS_PROGRAM, 16, magic10_state )
+ADDRESS_MAP_START(magic10_state::hotslot_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(layer1_videoram_w) AM_SHARE("layer1_videoram")
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(layer0_videoram_w) AM_SHARE("layer0_videoram")
@@ -381,7 +386,7 @@ static ADDRESS_MAP_START( hotslot_map, AS_PROGRAM, 16, magic10_state )
AM_RANGE(0x700080, 0x700087) AM_RAM AM_SHARE("vregs")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sgsafari_map, AS_PROGRAM, 16, magic10_state )
+ADDRESS_MAP_START(magic10_state::sgsafari_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(layer1_videoram_w) AM_SHARE("layer1_videoram")
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(layer0_videoram_w) AM_SHARE("layer0_videoram")
diff --git a/src/mame/drivers/magicard.cpp b/src/mame/drivers/magicard.cpp
index 3c00afa066a..7a157b57c0a 100644
--- a/src/mame/drivers/magicard.cpp
+++ b/src/mame/drivers/magicard.cpp
@@ -468,6 +468,10 @@ public:
required_device<palette_device> m_palette;
void magicard(machine_config &config);
void hotslots(machine_config &config);
+ void hotslots_mem(address_map &map);
+ void magicard_mem(address_map &map);
+ void ramdac_map(address_map &map);
+ void scc68070_mem(address_map &map);
};
@@ -897,7 +901,7 @@ WRITE16_MEMBER(magicard_state::scc68070_mmu_w)
* Memory Maps *
*************************/
-static ADDRESS_MAP_START( scc68070_mem, AS_PROGRAM, 16, magicard_state )
+ADDRESS_MAP_START(magicard_state::scc68070_mem)
AM_RANGE(0x80001000, 0x8000100f) AM_READWRITE(scc68070_ext_irqc_r,scc68070_ext_irqc_w) AM_SHARE("scc_xirqc_regs") //lir
AM_RANGE(0x80002000, 0x8000200f) AM_READWRITE(scc68070_iic_r,scc68070_iic_w) AM_SHARE("scc_iic_regs") //i2c
AM_RANGE(0x80002010, 0x8000201f) AM_READWRITE(scc68070_uart_r,scc68070_uart_w) AM_SHARE("scc_uart_regs")
@@ -908,7 +912,7 @@ static ADDRESS_MAP_START( scc68070_mem, AS_PROGRAM, 16, magicard_state )
AM_RANGE(0x80008000, 0x8000807f) AM_READWRITE(scc68070_mmu_r,scc68070_mmu_w) AM_SHARE("scc_mmu_regs")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( magicard_mem, AS_PROGRAM, 16, magicard_state )
+ADDRESS_MAP_START(magicard_state::magicard_mem)
// ADDRESS_MAP_GLOBAL_MASK(0x1fffff)
AM_IMPORT_FROM(scc68070_mem)
AM_RANGE(0x00000000, 0x001ffbff) AM_MIRROR(0x00200000) AM_RAM AM_SHARE("magicram")
@@ -926,7 +930,7 @@ static ADDRESS_MAP_START( magicard_mem, AS_PROGRAM, 16, magicard_state )
AM_RANGE(0x001fffe0, 0x001fffff) AM_MIRROR(0x7fe00000) AM_READWRITE(philips_66470_r,philips_66470_w) AM_SHARE("pcab_vregs") //video registers
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hotslots_mem, AS_PROGRAM, 16, magicard_state )
+ADDRESS_MAP_START(magicard_state::hotslots_mem)
// ADDRESS_MAP_GLOBAL_MASK(0x1fffff)
AM_IMPORT_FROM(scc68070_mem)
AM_RANGE(0x00000000, 0x001ffbff) AM_MIRROR(0x00200000) AM_RAM AM_SHARE("magicram")
@@ -980,7 +984,7 @@ INTERRUPT_GEN_MEMBER(magicard_state::magicard_irq)
device.execute().set_input_line_and_vector(1, HOLD_LINE, 0xf0 / 4);
}
-static ADDRESS_MAP_START( ramdac_map, 0, 8, magicard_state )
+ADDRESS_MAP_START(magicard_state::ramdac_map)
AM_RANGE(0x0000, 0x03ff) AM_DEVREADWRITE("ramdac", ramdac_device, ramdac_pal_r, ramdac_rgb666_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/magicfly.cpp b/src/mame/drivers/magicfly.cpp
index b4d4cfa4592..48f71e24c9d 100644
--- a/src/mame/drivers/magicfly.cpp
+++ b/src/mame/drivers/magicfly.cpp
@@ -485,6 +485,7 @@ public:
void bchance(machine_config &config);
void magicfly(machine_config &config);
void _7mezzo(machine_config &config);
+ void magicfly_map(address_map &map);
};
@@ -676,7 +677,7 @@ WRITE8_MEMBER(magicfly_state::mux_port_w)
* Memory map information *
*********************************************/
-static ADDRESS_MAP_START( magicfly_map, AS_PROGRAM, 8, magicfly_state )
+ADDRESS_MAP_START(magicfly_state::magicfly_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram") /* MK48Z02B NVRAM */
AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_device, address_w)
AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
diff --git a/src/mame/drivers/magictg.cpp b/src/mame/drivers/magictg.cpp
index bb27a7f4ff3..76b5c118755 100644
--- a/src/mame/drivers/magictg.cpp
+++ b/src/mame/drivers/magictg.cpp
@@ -227,6 +227,10 @@ public:
void zr36120_reset();
void magictg(machine_config &config);
+ void adsp_data_map(address_map &map);
+ void adsp_io_map(address_map &map);
+ void adsp_program_map(address_map &map);
+ void magictg_map(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -837,7 +841,7 @@ WRITE16_MEMBER( magictg_state::adsp_control_w )
*
*************************************/
-static ADDRESS_MAP_START( magictg_map, AS_PROGRAM, 32, magictg_state )
+ADDRESS_MAP_START(magictg_state::magictg_map)
AM_RANGE(0x00000000, 0x007fffff) AM_RAM // 8MB RAM
AM_RANGE(0x00800000, 0x0081003f) AM_RAM // ?
AM_RANGE(0x0a000000, 0x0affffff) AM_DEVREADWRITE("voodoo_0", voodoo_device, voodoo_r, voodoo_w)
@@ -864,19 +868,19 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( adsp_program_map, AS_PROGRAM, 32, magictg_state )
+ADDRESS_MAP_START(magictg_state::adsp_program_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_RAM AM_SHARE("adsp_pram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( adsp_data_map, AS_DATA, 16, magictg_state )
+ADDRESS_MAP_START(magictg_state::adsp_data_map)
ADDRESS_MAP_UNMAP_HIGH
// AM_RANGE(0x0000, 0x03ff) AM_RAMBANK("databank")
AM_RANGE(0x0400, 0x3fdf) AM_RAM
AM_RANGE(0x3fe0, 0x3fff) AM_READWRITE(adsp_control_r, adsp_control_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( adsp_io_map, AS_IO, 16, magictg_state )
+ADDRESS_MAP_START(magictg_state::adsp_io_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_END
diff --git a/src/mame/drivers/magmax.cpp b/src/mame/drivers/magmax.cpp
index 46a848507f4..4ee8495c548 100644
--- a/src/mame/drivers/magmax.cpp
+++ b/src/mame/drivers/magmax.cpp
@@ -190,7 +190,7 @@ WRITE16_MEMBER(magmax_state::magmax_vreg_w)
-static ADDRESS_MAP_START( magmax_map, AS_PROGRAM, 16, magmax_state )
+ADDRESS_MAP_START(magmax_state::magmax_map)
AM_RANGE(0x000000, 0x013fff) AM_ROM
AM_RANGE(0x018000, 0x018fff) AM_RAM
AM_RANGE(0x020000, 0x0207ff) AM_RAM AM_SHARE("videoram")
@@ -206,14 +206,14 @@ static ADDRESS_MAP_START( magmax_map, AS_PROGRAM, 16, magmax_state )
AM_RANGE(0x03001e, 0x03001f) AM_WRITE(cpu_irq_ack_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( magmax_sound_map, AS_PROGRAM, 8, magmax_state )
+ADDRESS_MAP_START(magmax_state::magmax_sound_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff) // A15 not connected
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x4000) AM_MIRROR(0x1fff) AM_DEVREADWRITE("soundlatch", generic_latch_8_device, acknowledge_r, acknowledge_w)
AM_RANGE(0x6000, 0x67ff) AM_MIRROR(0x1800) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( magmax_sound_io_map, AS_IO, 8, magmax_state )
+ADDRESS_MAP_START(magmax_state::magmax_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
AM_RANGE(0x02, 0x03) AM_DEVWRITE("ay2", ay8910_device, address_data_w)
diff --git a/src/mame/drivers/magnum.cpp b/src/mame/drivers/magnum.cpp
index d7c0a4e924d..2267aa27cd5 100644
--- a/src/mame/drivers/magnum.cpp
+++ b/src/mame/drivers/magnum.cpp
@@ -30,6 +30,8 @@ public:
u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void magnum(machine_config &config);
+ void magnum_io(address_map &map);
+ void magnum_map(address_map &map);
protected:
virtual void machine_reset() override;
virtual void machine_start() override;
@@ -130,12 +132,12 @@ WRITE8_MEMBER(magnum_state::beep_w)
m_beep->set_state(BIT(data, 0));
}
-static ADDRESS_MAP_START( magnum_map, AS_PROGRAM, 16, magnum_state )
+ADDRESS_MAP_START(magnum_state::magnum_map)
AM_RANGE(0x00000, 0x3ffff) AM_RAM // fixed 256k for now
AM_RANGE(0xe0000, 0xfffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( magnum_io, AS_IO, 16, magnum_state )
+ADDRESS_MAP_START(magnum_state::magnum_io)
ADDRESS_MAP_UNMAP_HIGH
//AM_RANGE(0x000a, 0x000b) cdp1854 1
//AM_RANGE(0x000e, 0x000f) cpd1854 2
diff --git a/src/mame/drivers/magtouch.cpp b/src/mame/drivers/magtouch.cpp
index c8699c7cb47..25ff5a8018f 100644
--- a/src/mame/drivers/magtouch.cpp
+++ b/src/mame/drivers/magtouch.cpp
@@ -104,6 +104,8 @@ public:
virtual void machine_start() override;
static void magtouch_sb_conf(device_t *device);
void magtouch(machine_config &config);
+ void magtouch_io(address_map &map);
+ void magtouch_map(address_map &map);
};
/*************************************
@@ -133,7 +135,7 @@ WRITE8_MEMBER(magtouch_state::magtouch_io_w)
}
}
-static ADDRESS_MAP_START( magtouch_map, AS_PROGRAM, 32, magtouch_state )
+ADDRESS_MAP_START(magtouch_state::magtouch_map)
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", trident_vga_device, mem_r, mem_w, 0xffffffff)
AM_RANGE(0x000c0000, 0x000c7fff) AM_ROM AM_REGION("video_bios", 0)
@@ -143,7 +145,7 @@ static ADDRESS_MAP_START( magtouch_map, AS_PROGRAM, 32, magtouch_state )
AM_RANGE(0xffff0000, 0xffffffff) AM_ROM AM_REGION("bios", 0 )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( magtouch_io, AS_IO, 32, magtouch_state )
+ADDRESS_MAP_START(magtouch_state::magtouch_io)
AM_IMPORT_FROM(pcat32_io_common)
AM_RANGE(0x02e0, 0x02e7) AM_READWRITE8(magtouch_io_r, magtouch_io_w, 0xffffffff)
AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", trident_vga_device, port_03b0_r, port_03b0_w, 0xffffffff)
diff --git a/src/mame/drivers/mainevt.cpp b/src/mame/drivers/mainevt.cpp
index 28ff1543770..9b79a243a64 100644
--- a/src/mame/drivers/mainevt.cpp
+++ b/src/mame/drivers/mainevt.cpp
@@ -154,7 +154,7 @@ WRITE8_MEMBER(mainevt_state::k052109_051960_w)
}
-static ADDRESS_MAP_START( mainevt_map, AS_PROGRAM, 8, mainevt_state )
+ADDRESS_MAP_START(mainevt_state::mainevt_map)
AM_RANGE(0x0000, 0x3fff) AM_READWRITE(k052109_051960_r, k052109_051960_w)
AM_RANGE(0x1f80, 0x1f80) AM_WRITE(mainevt_bankswitch_w)
@@ -179,7 +179,7 @@ static ADDRESS_MAP_START( mainevt_map, AS_PROGRAM, 8, mainevt_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( devstors_map, AS_PROGRAM, 8, mainevt_state )
+ADDRESS_MAP_START(mainevt_state::devstors_map)
AM_RANGE(0x0000, 0x3fff) AM_READWRITE(k052109_051960_r, k052109_051960_w)
AM_RANGE(0x1f80, 0x1f80) AM_WRITE(mainevt_bankswitch_w)
@@ -203,7 +203,7 @@ static ADDRESS_MAP_START( devstors_map, AS_PROGRAM, 8, mainevt_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mainevt_sound_map, AS_PROGRAM, 8, mainevt_state )
+ADDRESS_MAP_START(mainevt_state::mainevt_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_DEVWRITE("upd", upd7759_device, port_w)
@@ -214,7 +214,7 @@ static ADDRESS_MAP_START( mainevt_sound_map, AS_PROGRAM, 8, mainevt_state )
AM_RANGE(0xf000, 0xf000) AM_WRITE(mainevt_sh_bankswitch_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( devstors_sound_map, AS_PROGRAM, 8, mainevt_state )
+ADDRESS_MAP_START(mainevt_state::devstors_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM
AM_RANGE(0xa000, 0xa000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/mainsnk.cpp b/src/mame/drivers/mainsnk.cpp
index 231642b66c4..3151e61003f 100644
--- a/src/mame/drivers/mainsnk.cpp
+++ b/src/mame/drivers/mainsnk.cpp
@@ -126,7 +126,7 @@ READ8_MEMBER(mainsnk_state::sound_ack_r)
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, mainsnk_state )
+ADDRESS_MAP_START(mainsnk_state::main_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("IN0")
AM_RANGE(0xc100, 0xc100) AM_READ_PORT("IN1")
@@ -142,7 +142,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, mainsnk_state )
AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(fgram_w) AM_SHARE("fgram") // + work RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, mainsnk_state )
+ADDRESS_MAP_START(mainsnk_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -152,7 +152,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, mainsnk_state )
AM_RANGE(0xe008, 0xe009) AM_DEVWRITE("ay2", ay8910_device, address_data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, mainsnk_state )
+ADDRESS_MAP_START(mainsnk_state::sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(sound_ack_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/majorpkr.cpp b/src/mame/drivers/majorpkr.cpp
index 3dda13ab2fe..f0271ea12ca 100644
--- a/src/mame/drivers/majorpkr.cpp
+++ b/src/mame/drivers/majorpkr.cpp
@@ -512,6 +512,10 @@ public:
virtual void video_start() override;
uint32_t screen_update_majorpkr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void majorpkr(machine_config &config);
+ void map(address_map &map);
+ void palettebanks(address_map &map);
+ void portmap(address_map &map);
+ void vrambanks(address_map &map);
};
@@ -738,7 +742,7 @@ WRITE8_MEMBER(majorpkr_state::pulses_w)
* Memory map information *
*************************/
-static ADDRESS_MAP_START( map, AS_PROGRAM, 8, majorpkr_state )
+ADDRESS_MAP_START(majorpkr_state::map)
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xe7ff) AM_ROMBANK("rom_bank")
AM_RANGE(0xe800, 0xefff) AM_RAM AM_SHARE("nvram")
@@ -746,11 +750,11 @@ static ADDRESS_MAP_START( map, AS_PROGRAM, 8, majorpkr_state )
AM_RANGE(0xf800, 0xffff) AM_DEVICE("vram_bank", address_map_bank_device, amap8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( palettebanks, AS_PROGRAM, 8, majorpkr_state )
+ADDRESS_MAP_START(majorpkr_state::palettebanks)
AM_RANGE(0x0000, 0x1fff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vrambanks, AS_PROGRAM, 8, majorpkr_state )
+ADDRESS_MAP_START(majorpkr_state::vrambanks)
AM_RANGE(0x0000, 0x07ff) AM_RAM_WRITE(fg_vram_w) AM_SHARE("fg_vram")
AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(bg_vram_w) AM_SHARE("bg_vram")
AM_RANGE(0x1000, 0x1fff) AM_RAM // spare vram? cleared during boot along with fg and bg
@@ -777,7 +781,7 @@ ADDRESS_MAP_END
60 W ---> PSG SN76489/96 initialization routines.
(Maybe a leftover for different hardware).
*/
-static ADDRESS_MAP_START( portmap, AS_IO, 8, majorpkr_state )
+ADDRESS_MAP_START(majorpkr_state::portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(rom_bank_w)
AM_RANGE(0x01, 0x01) AM_WRITE(palette_bank_w)
diff --git a/src/mame/drivers/malzak.cpp b/src/mame/drivers/malzak.cpp
index d175f90bffc..44e2ec9226c 100644
--- a/src/mame/drivers/malzak.cpp
+++ b/src/mame/drivers/malzak.cpp
@@ -99,7 +99,7 @@ READ8_MEMBER(malzak_state::s2636_portA_r)
}
}
-static ADDRESS_MAP_START( malzak_map, AS_PROGRAM, 8, malzak_state )
+ADDRESS_MAP_START(malzak_state::malzak_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x0bff) AM_ROM
AM_RANGE(0x0c00, 0x0fff) AM_ROMBANK("bank1")
@@ -119,7 +119,7 @@ static ADDRESS_MAP_START( malzak_map, AS_PROGRAM, 8, malzak_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( malzak2_map, AS_PROGRAM, 8, malzak_state )
+ADDRESS_MAP_START(malzak_state::malzak2_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x0bff) AM_ROM
AM_RANGE(0x0c00, 0x0fff) AM_ROMBANK("bank1")
@@ -180,7 +180,7 @@ READ8_MEMBER(malzak_state::collision_r)
return 0xd0 + m_collision_counter;
}
-static ADDRESS_MAP_START( malzak_io_map, AS_IO, 8, malzak_state )
+ADDRESS_MAP_START(malzak_state::malzak_io_map)
AM_RANGE(0x00, 0x00) AM_READ(collision_r) // returns where a collision can occur.
AM_RANGE(0x40, 0x40) AM_WRITE(port40_w) // possibly sound codes for dual SN76477s
AM_RANGE(0x60, 0x60) AM_WRITE(port60_w) // possibly playfield scroll X offset
@@ -189,7 +189,7 @@ static ADDRESS_MAP_START( malzak_io_map, AS_IO, 8, malzak_state )
AM_RANGE(0xc0, 0xc0) AM_WRITE(portc0_w) // possibly playfield row selection for writing and/or collisions
ADDRESS_MAP_END
-static ADDRESS_MAP_START( malzak_data_map, AS_DATA, 8, malzak_state )
+ADDRESS_MAP_START(malzak_state::malzak_data_map)
AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_READ(s2650_data_r) // read upon death
ADDRESS_MAP_END
diff --git a/src/mame/drivers/manohman.cpp b/src/mame/drivers/manohman.cpp
index 25308374be8..01f943cc6aa 100644
--- a/src/mame/drivers/manohman.cpp
+++ b/src/mame/drivers/manohman.cpp
@@ -154,6 +154,7 @@ public:
IRQ_CALLBACK_MEMBER(iack_handler);
void manohman(machine_config &config);
+ void mem_map(address_map &map);
private:
virtual void machine_start() override;
@@ -179,7 +180,7 @@ IRQ_CALLBACK_MEMBER(manohman_state::iack_handler)
* Memory Map Definition *
*********************************************/
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 16, manohman_state )
+ADDRESS_MAP_START(manohman_state::mem_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x100000, 0x10003f) AM_DEVREADWRITE8("pit", pit68230_device, read, write, 0x00ff)
AM_RANGE(0x200000, 0x20001f) AM_DEVREADWRITE8("duart", mc68681_device, read, write, 0x00ff)
diff --git a/src/mame/drivers/mappy.cpp b/src/mame/drivers/mappy.cpp
index e2208de3442..827044bb198 100644
--- a/src/mame/drivers/mappy.cpp
+++ b/src/mame/drivers/mappy.cpp
@@ -645,7 +645,7 @@ INTERRUPT_GEN_MEMBER(mappy_state::sub2_vblank_irq)
m_subcpu2->set_input_line(0, ASSERT_LINE);
}
-static ADDRESS_MAP_START( superpac_cpu1_map, AS_PROGRAM, 8, mappy_state )
+ADDRESS_MAP_START(mappy_state::superpac_cpu1_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM_WRITE(superpac_videoram_w) AM_SHARE("videoram") /* video RAM */
AM_RANGE(0x0800, 0x1fff) AM_RAM AM_SHARE("spriteram") /* work RAM with embedded sprite RAM */
AM_RANGE(0x2000, 0x2000) AM_READWRITE(superpac_flipscreen_r, superpac_flipscreen_w)
@@ -657,7 +657,7 @@ static ADDRESS_MAP_START( superpac_cpu1_map, AS_PROGRAM, 8, mappy_state )
AM_RANGE(0xa000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( phozon_cpu1_map, AS_PROGRAM, 8, mappy_state )
+ADDRESS_MAP_START(mappy_state::phozon_cpu1_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM_WRITE(superpac_videoram_w) AM_SHARE("videoram") /* video RAM */
AM_RANGE(0x0800, 0x1fff) AM_RAM AM_SHARE("spriteram") /* shared RAM with CPU #2/sprite RAM*/
AM_RANGE(0x4000, 0x43ff) AM_DEVREADWRITE("namco", namco_15xx_device, sharedram_r, sharedram_w) /* shared RAM with the sound CPU */
@@ -668,7 +668,7 @@ static ADDRESS_MAP_START( phozon_cpu1_map, AS_PROGRAM, 8, mappy_state )
AM_RANGE(0x8000, 0xffff) AM_ROM /* ROM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mappy_cpu1_map, AS_PROGRAM, 8, mappy_state )
+ADDRESS_MAP_START(mappy_state::mappy_cpu1_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM_WRITE(mappy_videoram_w) AM_SHARE("videoram") /* video RAM */
AM_RANGE(0x1000, 0x27ff) AM_RAM AM_SHARE("spriteram") /* work RAM with embedded sprite RAM */
AM_RANGE(0x3800, 0x3fff) AM_WRITE(mappy_scroll_w) /* scroll */
@@ -680,18 +680,18 @@ static ADDRESS_MAP_START( mappy_cpu1_map, AS_PROGRAM, 8, mappy_state )
AM_RANGE(0x8000, 0xffff) AM_ROM /* ROM code (only a000-ffff in Mappy) */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( superpac_cpu2_map, AS_PROGRAM, 8, mappy_state )
+ADDRESS_MAP_START(mappy_state::superpac_cpu2_map)
AM_RANGE(0x0000, 0x03ff) AM_DEVREADWRITE("namco", namco_15xx_device, sharedram_r, sharedram_w) /* shared RAM with the main CPU (also sound registers) */
AM_RANGE(0x2000, 0x200f) AM_DEVWRITE("mainlatch", ls259_device, write_a0) /* various control bits */
AM_RANGE(0xe000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( phozon_cpu2_map, AS_PROGRAM, 8, mappy_state )
+ADDRESS_MAP_START(mappy_state::phozon_cpu2_map)
AM_RANGE(0x0000, 0x03ff) AM_DEVREADWRITE("namco", namco_15xx_device, sharedram_r, sharedram_w) /* shared RAM with the main CPU + sound registers */
AM_RANGE(0xe000, 0xffff) AM_ROM /* ROM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mappy_cpu2_map, AS_PROGRAM, 8, mappy_state )
+ADDRESS_MAP_START(mappy_state::mappy_cpu2_map)
AM_RANGE(0x0000, 0x03ff) AM_DEVREADWRITE("namco", namco_15xx_device, sharedram_r, sharedram_w) /* shared RAM with the main CPU (also sound registers) */
AM_RANGE(0x2000, 0x200f) AM_DEVWRITE("mainlatch", ls259_device, write_a0) /* various control bits */
AM_RANGE(0xe000, 0xffff) AM_ROM /* ROM code */
@@ -699,7 +699,7 @@ ADDRESS_MAP_END
/* extra CPU only present in Phozon */
-static ADDRESS_MAP_START( phozon_cpu3_map, AS_PROGRAM, 8, mappy_state )
+ADDRESS_MAP_START(mappy_state::phozon_cpu3_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM_WRITE(superpac_videoram_w) AM_SHARE("videoram") /* video RAM */
AM_RANGE(0x0800, 0x1fff) AM_RAM AM_SHARE("spriteram") /* shared RAM with CPU #2/sprite RAM*/
AM_RANGE(0x4000, 0x43ff) AM_DEVREADWRITE("namco", namco_15xx_device, sharedram_r, sharedram_w) /* shared RAM with CPU #2 */
diff --git a/src/mame/drivers/marineb.cpp b/src/mame/drivers/marineb.cpp
index f77653eabaf..4c8d7679364 100644
--- a/src/mame/drivers/marineb.cpp
+++ b/src/mame/drivers/marineb.cpp
@@ -65,7 +65,7 @@ WRITE_LINE_MEMBER(marineb_state::irq_mask_w)
m_irq_mask = state;
}
-static ADDRESS_MAP_START( marineb_map, AS_PROGRAM, 8, marineb_state )
+ADDRESS_MAP_START(marineb_state::marineb_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8bff) AM_RAM_WRITE(marineb_videoram_w) AM_SHARE("videoram")
@@ -82,12 +82,12 @@ static ADDRESS_MAP_START( marineb_map, AS_PROGRAM, 8, marineb_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( marineb_io_map, AS_IO, 8, marineb_state )
+ADDRESS_MAP_START(marineb_state::marineb_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x08, 0x09) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( wanted_io_map, AS_IO, 8, marineb_state )
+ADDRESS_MAP_START(marineb_state::wanted_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("ay1", ay8912_device, address_data_w)
AM_RANGE(0x02, 0x03) AM_DEVWRITE("ay2", ay8912_device, address_data_w)
diff --git a/src/mame/drivers/marinedt.cpp b/src/mame/drivers/marinedt.cpp
index ad73c7744a3..87ba954a44f 100644
--- a/src/mame/drivers/marinedt.cpp
+++ b/src/mame/drivers/marinedt.cpp
@@ -135,6 +135,8 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info);
void marinedt(machine_config &config);
+ void marinedt_io(address_map &map);
+ void marinedt_map(address_map &map);
protected:
// driver_device overrides
virtual void machine_start() override;
@@ -435,14 +437,14 @@ READ8_MEMBER(marinedt_state::pc3259_r)
return 0;
}
-static ADDRESS_MAP_START( marinedt_map, AS_PROGRAM, 8, marinedt_state )
+ADDRESS_MAP_START(marinedt_state::marinedt_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff) /* A15 is not decoded */
AM_RANGE(0x0000, 0x3fff) AM_ROM AM_REGION("ipl",0)
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x0400) AM_RAM
AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0x0400) AM_RAM_WRITE(vram_w) AM_SHARE("vram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( marinedt_io, AS_IO, 8, marinedt_state )
+ADDRESS_MAP_START(marinedt_state::marinedt_io)
ADDRESS_MAP_GLOBAL_MASK(0x0f)
AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW1")
AM_RANGE(0x01, 0x01) AM_READ(trackball_r)
diff --git a/src/mame/drivers/mario.cpp b/src/mame/drivers/mario.cpp
index ac75769b063..91f12bc620e 100644
--- a/src/mame/drivers/mario.cpp
+++ b/src/mame/drivers/mario.cpp
@@ -141,7 +141,7 @@ WRITE_LINE_MEMBER(mario_state::coin_counter_2_w)
*
*************************************/
-static ADDRESS_MAP_START( mario_map, AS_PROGRAM, 8, mario_state)
+ADDRESS_MAP_START(mario_state::mario_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM
AM_RANGE(0x7000, 0x73ff) AM_RAM AM_SHARE("spriteram") /* physical sprite ram */
@@ -156,7 +156,7 @@ static ADDRESS_MAP_START( mario_map, AS_PROGRAM, 8, mario_state)
AM_RANGE(0xf000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( masao_map, AS_PROGRAM, 8, mario_state)
+ADDRESS_MAP_START(mario_state::masao_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM
AM_RANGE(0x7000, 0x73ff) AM_RAM AM_SHARE("spriteram") /* physical sprite ram */
@@ -171,7 +171,7 @@ static ADDRESS_MAP_START( masao_map, AS_PROGRAM, 8, mario_state)
AM_RANGE(0xf000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mario_io_map, AS_IO, 8, mario_state)
+ADDRESS_MAP_START(mario_state::mario_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("z80dma", z80dma_device, read, write) /* dma controller */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/markham.cpp b/src/mame/drivers/markham.cpp
index 426a62da6b3..bbf9b5376c1 100644
--- a/src/mame/drivers/markham.cpp
+++ b/src/mame/drivers/markham.cpp
@@ -26,7 +26,7 @@ READ8_MEMBER(markham_state::markham_e004_r)
/****************************************************************************/
-static ADDRESS_MAP_START( markham_master_map, AS_PROGRAM, 8, markham_state )
+ADDRESS_MAP_START(markham_state::markham_master_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
@@ -50,7 +50,7 @@ static ADDRESS_MAP_START( markham_master_map, AS_PROGRAM, 8, markham_state )
AM_RANGE(0xe00e, 0xe00e) AM_WRITE(markham_flipscreen_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( markham_slave_map, AS_PROGRAM, 8, markham_state )
+ADDRESS_MAP_START(markham_state::markham_slave_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("share1")
diff --git a/src/mame/drivers/marywu.cpp b/src/mame/drivers/marywu.cpp
index cfc56ec133c..1ab0082d7e9 100644
--- a/src/mame/drivers/marywu.cpp
+++ b/src/mame/drivers/marywu.cpp
@@ -40,6 +40,8 @@ public:
DECLARE_READ8_MEMBER(keyboard_r);
DECLARE_READ8_MEMBER(port_r);
void marywu(machine_config &config);
+ void io_map(address_map &map);
+ void program_map(address_map &map);
private:
uint8_t m_selected_7seg_module;
};
@@ -167,11 +169,11 @@ WRITE8_MEMBER( marywu_state::display_7seg_data_w )
output().set_digit_value(2 * m_selected_7seg_module + 1, patterns[(data >> 4) & 0x0F]);
}
-static ADDRESS_MAP_START( program_map, AS_PROGRAM, 8, marywu_state )
+ADDRESS_MAP_START(marywu_state::program_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, marywu_state )
+ADDRESS_MAP_START(marywu_state::io_map)
AM_RANGE(0x8000, 0x87ff) AM_MIRROR(0x0800) AM_RAM /* HM6116: 2kbytes of Static RAM */
AM_RANGE(0x9000, 0x9000) AM_MIRROR(0x0ffc) AM_DEVWRITE("ay1", ay8910_device, data_address_w)
AM_RANGE(0x9001, 0x9001) AM_MIRROR(0x0ffc) AM_DEVREADWRITE("ay1", ay8910_device, data_r, data_w)
diff --git a/src/mame/drivers/mastboy.cpp b/src/mame/drivers/mastboy.cpp
index 84e264db430..c9631cc5c16 100644
--- a/src/mame/drivers/mastboy.cpp
+++ b/src/mame/drivers/mastboy.cpp
@@ -495,6 +495,8 @@ public:
INTERRUPT_GEN_MEMBER(interrupt);
void mastboy(machine_config &config);
+ void mastboy_io_map(address_map &map);
+ void mastboy_map(address_map &map);
};
@@ -660,7 +662,7 @@ INTERRUPT_GEN_MEMBER(mastboy_state::interrupt)
/* Memory Maps */
-static ADDRESS_MAP_START( mastboy_map, AS_PROGRAM, 8, mastboy_state )
+ADDRESS_MAP_START(mastboy_state::mastboy_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM // Internal ROM
AM_RANGE(0x4000, 0x7fff) AM_ROM // External ROM
@@ -698,7 +700,7 @@ READ8_MEMBER(mastboy_state::nmi_read)
return 0x00;
}
-static ADDRESS_MAP_START( mastboy_io_map, AS_IO, 8, mastboy_state )
+ADDRESS_MAP_START(mastboy_state::mastboy_io_map)
AM_RANGE(0x38, 0x38) AM_READ(port_38_read)
AM_RANGE(0x39, 0x39) AM_READ(nmi_read)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/matmania.cpp b/src/mame/drivers/matmania.cpp
index 26766e35a25..6b6a7258997 100644
--- a/src/mame/drivers/matmania.cpp
+++ b/src/mame/drivers/matmania.cpp
@@ -75,7 +75,7 @@ WRITE8_MEMBER(matmania_state::maniach_sh_command_w)
*
*************************************/
-static ADDRESS_MAP_START( matmania_map, AS_PROGRAM, 8, matmania_state )
+ADDRESS_MAP_START(matmania_state::matmania_map)
AM_RANGE(0x0000, 0x077f) AM_RAM
AM_RANGE(0x0780, 0x07df) AM_WRITEONLY AM_SHARE("spriteram")
AM_RANGE(0x1000, 0x13ff) AM_RAM AM_SHARE("videoram2")
@@ -92,7 +92,7 @@ static ADDRESS_MAP_START( matmania_map, AS_PROGRAM, 8, matmania_state )
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( maniach_map, AS_PROGRAM, 8, matmania_state )
+ADDRESS_MAP_START(matmania_state::maniach_map)
AM_RANGE(0x0000, 0x077f) AM_RAM
AM_RANGE(0x0780, 0x07df) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x1000, 0x13ff) AM_RAM AM_SHARE("videoram2")
@@ -112,7 +112,7 @@ static ADDRESS_MAP_START( maniach_map, AS_PROGRAM, 8, matmania_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( matmania_sound_map, AS_PROGRAM, 8, matmania_state )
+ADDRESS_MAP_START(matmania_state::matmania_sound_map)
AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x2000, 0x2001) AM_DEVWRITE("ay1", ay8910_device, data_address_w)
AM_RANGE(0x2002, 0x2003) AM_DEVWRITE("ay2", ay8910_device, data_address_w)
@@ -121,7 +121,7 @@ static ADDRESS_MAP_START( matmania_sound_map, AS_PROGRAM, 8, matmania_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( maniach_sound_map, AS_PROGRAM, 8, matmania_state )
+ADDRESS_MAP_START(matmania_state::maniach_sound_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x2000, 0x2001) AM_DEVWRITE("ymsnd", ym3526_device, write)
AM_RANGE(0x2002, 0x2002) AM_DEVWRITE("dac", dac_byte_interface, write)
diff --git a/src/mame/drivers/maxaflex.cpp b/src/mame/drivers/maxaflex.cpp
index edab18b704e..d44b05030d2 100644
--- a/src/mame/drivers/maxaflex.cpp
+++ b/src/mame/drivers/maxaflex.cpp
@@ -62,6 +62,7 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(mf_interrupt);
void maxaflex(machine_config &config);
+ void a600xl_mem(address_map &map);
protected:
virtual void machine_reset() override;
@@ -193,7 +194,7 @@ INPUT_CHANGED_MEMBER(maxaflex_state::coin_inserted)
-static ADDRESS_MAP_START(a600xl_mem, AS_PROGRAM, 8, maxaflex_state )
+ADDRESS_MAP_START(maxaflex_state::a600xl_mem)
AM_RANGE(0x0000, 0x3fff) AM_RAM
AM_RANGE(0x5000, 0x57ff) AM_ROM AM_REGION("maincpu", 0xd000) /* self test */
AM_RANGE(0x8000, 0xbfff) AM_ROM /* game cartridge */
diff --git a/src/mame/drivers/maygay1b.cpp b/src/mame/drivers/maygay1b.cpp
index f6b596356e3..3824c92134f 100644
--- a/src/mame/drivers/maygay1b.cpp
+++ b/src/mame/drivers/maygay1b.cpp
@@ -476,7 +476,7 @@ WRITE8_MEMBER(maygay1b_state::m1_lockout_w)
}
}
-static ADDRESS_MAP_START( m1_memmap, AS_PROGRAM, 8, maygay1b_state )
+ADDRESS_MAP_START(maygay1b_state::m1_memmap)
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x2000, 0x2000) AM_WRITE(reel12_w)
@@ -561,7 +561,7 @@ WRITE8_MEMBER(maygay1b_state::nec_bank1_w)
m_upd7759->start_w(1);
}
-static ADDRESS_MAP_START( m1_nec_memmap, AS_PROGRAM, 8, maygay1b_state )
+ADDRESS_MAP_START(maygay1b_state::m1_nec_memmap)
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x2000, 0x2000) AM_WRITE(reel12_w)
@@ -761,7 +761,7 @@ READ8_MEMBER(maygay1b_state::mcu_port2_r)
return ret;
}
-static ADDRESS_MAP_START( maygay_mcu_io, AS_IO, 8, maygay1b_state )
+ADDRESS_MAP_START(maygay1b_state::maygay_mcu_io)
AM_RANGE(MCS51_PORT_P0, MCS51_PORT_P0) AM_READWRITE( mcu_port0_r, mcu_port0_w )
AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_WRITE( mcu_port1_w )
AM_RANGE(MCS51_PORT_P2, MCS51_PORT_P2) AM_READWRITE( mcu_port2_r, mcu_port2_w )
diff --git a/src/mame/drivers/maygayep.cpp b/src/mame/drivers/maygayep.cpp
index 0bfec3c8336..b66254022be 100644
--- a/src/mame/drivers/maygayep.cpp
+++ b/src/mame/drivers/maygayep.cpp
@@ -48,6 +48,7 @@ public:
void maygayep(machine_config &config);
+ void maygayep_map(address_map &map);
protected:
// devices
@@ -57,7 +58,7 @@ public:
};
// bp 29e58 in ep_simp reads the 'INITIALISE . . .' string
-static ADDRESS_MAP_START( maygayep_map, AS_PROGRAM, 16, maygayep_state )
+ADDRESS_MAP_START(maygayep_state::maygayep_map)
ADDRESS_MAP_GLOBAL_MASK(0xffffff)
AM_RANGE( 0x000000, 0x07ffff ) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE( 0xfe0000, 0xffffff ) AM_RAM // merln at least?
diff --git a/src/mame/drivers/maygaysw.cpp b/src/mame/drivers/maygaysw.cpp
index bef0db0f8d5..3ca68e2b38f 100644
--- a/src/mame/drivers/maygaysw.cpp
+++ b/src/mame/drivers/maygaysw.cpp
@@ -110,11 +110,12 @@ public:
m_maincpu(*this, "maincpu") { }
required_device<cpu_device> m_maincpu;
void maygayew(machine_config &config);
+ void maygayew_map(address_map &map);
};
-static ADDRESS_MAP_START( maygayew_map, AS_PROGRAM, 16, maygayew_state )
+ADDRESS_MAP_START(maygayew_state::maygayew_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_REGION("mainrom",0)
AM_RANGE(0x100000, 0x13ffff) AM_ROM AM_REGION("mainrom",0)
AM_RANGE(0x200000, 0x23ffff) AM_ROM AM_REGION("mainrom",0)
diff --git a/src/mame/drivers/maygayv1.cpp b/src/mame/drivers/maygayv1.cpp
index 622eb2e3bb7..19e607477de 100644
--- a/src/mame/drivers/maygayv1.cpp
+++ b/src/mame/drivers/maygayv1.cpp
@@ -257,6 +257,10 @@ public:
DECLARE_WRITE_LINE_MEMBER(duart_irq_handler);
DECLARE_WRITE_LINE_MEMBER(duart_txa);
void maygayv1(machine_config &config);
+ void main_map(address_map &map);
+ void sound_data(address_map &map);
+ void sound_io(address_map &map);
+ void sound_prg(address_map &map);
};
@@ -551,7 +555,7 @@ WRITE16_MEMBER(maygayv1_state::vsync_int_ctrl)
m_maincpu->set_input_line(3, CLEAR_LINE);
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, maygayv1_state )
+ADDRESS_MAP_START(maygayv1_state::main_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x083fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x100000, 0x17ffff) AM_ROM AM_REGION("maincpu", 0x80000)
@@ -643,15 +647,15 @@ WRITE8_MEMBER(maygayv1_state::mcu_w)
}
-static ADDRESS_MAP_START( sound_prg, AS_PROGRAM, 8, maygayv1_state )
+ADDRESS_MAP_START(maygayv1_state::sound_prg)
AM_RANGE(0x0000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_data, AS_DATA, 8, maygayv1_state )
+ADDRESS_MAP_START(maygayv1_state::sound_data)
AM_RANGE(0x0000, 0x1ff) AM_RAM // nothing?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_io, AS_IO, 8, maygayv1_state )
+ADDRESS_MAP_START(maygayv1_state::sound_io)
AM_RANGE(0x00, 0xff) AM_READWRITE(mcu_r, mcu_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mazerbla.cpp b/src/mame/drivers/mazerbla.cpp
index 8d688222daa..139e083c44d 100644
--- a/src/mame/drivers/mazerbla.cpp
+++ b/src/mame/drivers/mazerbla.cpp
@@ -185,6 +185,15 @@ public:
IRQ_CALLBACK_MEMBER(irq_callback);
void greatgun(machine_config &config);
void mazerbla(machine_config &config);
+ void greatgun_cpu3_io_map(address_map &map);
+ void greatgun_io_map(address_map &map);
+ void greatgun_sound_map(address_map &map);
+ void mazerbla_cpu2_io_map(address_map &map);
+ void mazerbla_cpu2_map(address_map &map);
+ void mazerbla_cpu3_io_map(address_map &map);
+ void mazerbla_cpu3_map(address_map &map);
+ void mazerbla_io_map(address_map &map);
+ void mazerbla_map(address_map &map);
};
@@ -444,14 +453,14 @@ WRITE8_MEMBER(mazerbla_state::sound_int_clear_w)
*
*************************************/
-static ADDRESS_MAP_START( mazerbla_map, AS_PROGRAM, 8, mazerbla_state )
+ADDRESS_MAP_START(mazerbla_state::mazerbla_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("share1")
AM_RANGE(0xd800, 0xd800) AM_READ(cfb_zpu_int_req_clr)
AM_RANGE(0xe000, 0xefff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mazerbla_io_map, AS_IO, 8, mazerbla_state )
+ADDRESS_MAP_START(mazerbla_state::mazerbla_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x4c, 0x4f) AM_READWRITE(ls670_1_r, ls670_0_w)
AM_RANGE(0x60, 0x60) AM_WRITE(zpu_bcd_decoder_w) // AM_READ from protection pal, if populated
@@ -464,21 +473,21 @@ static ADDRESS_MAP_START( mazerbla_io_map, AS_IO, 8, mazerbla_state )
AM_RANGE(0x6e, 0x6f) AM_WRITE(zpu_led_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mazerbla_cpu2_map, AS_PROGRAM, 8, mazerbla_state )
+ADDRESS_MAP_START(mazerbla_state::mazerbla_cpu2_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM /* main RAM (stack) */
AM_RANGE(0x8000, 0x83ff) AM_RAM /* waveform ???*/
AM_RANGE(0xc000, 0xc003) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mazerbla_cpu2_io_map, AS_IO, 8, mazerbla_state )
+ADDRESS_MAP_START(mazerbla_state::mazerbla_cpu2_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(vsb_ls273_audio_control_w)
AM_RANGE(0x40, 0x41) AM_WRITENOP
AM_RANGE(0x80, 0x83) AM_READWRITE(ls670_0_r, ls670_1_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mazerbla_cpu3_map, AS_PROGRAM, 8, mazerbla_state )
+ADDRESS_MAP_START(mazerbla_state::mazerbla_cpu3_map)
AM_RANGE(0x0000, 0x37ff) AM_ROM
AM_RANGE(0x3800, 0x3fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x4000, 0x5fff) AM_ROMBANK("bank1") /* GFX roms */
@@ -489,7 +498,7 @@ static ADDRESS_MAP_START( mazerbla_cpu3_map, AS_PROGRAM, 8, mazerbla_state )
AM_RANGE(0xe000, 0xffff) AM_DEVREAD("vcu", mb_vcu_device, load_set_clr)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mazerbla_cpu3_io_map, AS_IO, 8, mazerbla_state )
+ADDRESS_MAP_START(mazerbla_state::mazerbla_cpu3_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x01, 0x01) AM_DEVWRITE("vcu", mb_vcu_device, background_color_w)
AM_RANGE(0x02, 0x02) AM_DEVREAD("vcu", mb_vcu_device, status_r) AM_WRITE(cfb_led_w)
@@ -505,7 +514,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( greatgun_io_map, AS_IO, 8, mazerbla_state )
+ADDRESS_MAP_START(mazerbla_state::greatgun_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x4c, 0x4c) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
AM_RANGE(0x60, 0x60) AM_WRITE(zpu_bcd_decoder_w)
@@ -515,7 +524,7 @@ static ADDRESS_MAP_START( greatgun_io_map, AS_IO, 8, mazerbla_state )
AM_RANGE(0x6e, 0x6f) AM_WRITE(zpu_led_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( greatgun_sound_map, AS_PROGRAM, 8, mazerbla_state )
+ADDRESS_MAP_START(mazerbla_state::greatgun_sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x27ff) AM_RAM
AM_RANGE(0x4000, 0x4000) AM_DEVREAD("ay1", ay8910_device, data_r)
@@ -525,7 +534,7 @@ static ADDRESS_MAP_START( greatgun_sound_map, AS_PROGRAM, 8, mazerbla_state )
AM_RANGE(0xa000, 0xa000) AM_DEVWRITE("soundlatch", generic_latch_8_device, acknowledge_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( greatgun_cpu3_io_map, AS_IO, 8, mazerbla_state )
+ADDRESS_MAP_START(mazerbla_state::greatgun_cpu3_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_IMPORT_FROM( mazerbla_cpu3_io_map )
AM_RANGE(0x05, 0x05) AM_DEVWRITE("vcu", mb_vcu_device, vbank_clear_w)
diff --git a/src/mame/drivers/mbc200.cpp b/src/mame/drivers/mbc200.cpp
index 7f2f80fc8b7..c063f46b2e7 100644
--- a/src/mame/drivers/mbc200.cpp
+++ b/src/mame/drivers/mbc200.cpp
@@ -83,6 +83,10 @@ public:
required_device<palette_device> m_palette;
void mbc200(machine_config &config);
+ void mbc200_io(address_map &map);
+ void mbc200_mem(address_map &map);
+ void mbc200_sub_io(address_map &map);
+ void mbc200_sub_mem(address_map &map);
private:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -100,7 +104,7 @@ private:
};
-static ADDRESS_MAP_START(mbc200_mem, AS_PROGRAM, 8, mbc200_state)
+ADDRESS_MAP_START(mbc200_state::mbc200_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x0fff ) AM_RAM AM_REGION("maincpu", 0)
AM_RANGE( 0x1000, 0xffff ) AM_RAM
@@ -139,7 +143,7 @@ WRITE8_MEMBER( mbc200_state::pm_portb_w )
m_beep->set_state(BIT(data, 1)); // key-click
}
-static ADDRESS_MAP_START( mbc200_io , AS_IO, 8, mbc200_state)
+ADDRESS_MAP_START(mbc200_state::mbc200_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
//AM_RANGE(0xe0, 0xe0) AM_DEVREADWRITE("uart1", i8251_device, data_r, data_w)
@@ -153,7 +157,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START(mbc200_sub_mem, AS_PROGRAM, 8, mbc200_state)
+ADDRESS_MAP_START(mbc200_state::mbc200_sub_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x2fff ) AM_ROM
AM_RANGE( 0x3000, 0x7fff ) AM_RAM
@@ -169,7 +173,7 @@ READ8_MEMBER(mbc200_state::p2_porta_r)
return tmp;
}
-static ADDRESS_MAP_START( mbc200_sub_io , AS_IO, 8, mbc200_state)
+ADDRESS_MAP_START(mbc200_state::mbc200_sub_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x70, 0x73) AM_DEVREADWRITE("ppi_1", i8255_device, read, write)
diff --git a/src/mame/drivers/mbc55x.cpp b/src/mame/drivers/mbc55x.cpp
index e85d16a6304..da8898f9339 100644
--- a/src/mame/drivers/mbc55x.cpp
+++ b/src/mame/drivers/mbc55x.cpp
@@ -36,7 +36,7 @@ const unsigned char mbc55x_palette[SCREEN_NO_COLOURS][3] =
};
-static ADDRESS_MAP_START(mbc55x_mem, AS_PROGRAM, 8, mbc55x_state)
+ADDRESS_MAP_START(mbc55x_state::mbc55x_mem)
AM_RANGE( 0x00000, 0x0FFFF ) AM_RAMBANK(RAM_BANK00_TAG)
AM_RANGE( 0x10000, 0x1FFFF ) AM_RAMBANK(RAM_BANK01_TAG)
AM_RANGE( 0x20000, 0x2FFFF ) AM_RAMBANK(RAM_BANK02_TAG)
@@ -58,7 +58,7 @@ static ADDRESS_MAP_START(mbc55x_mem, AS_PROGRAM, 8, mbc55x_state)
AM_RANGE( 0xFC000, 0xFDFFF ) AM_ROM AM_WRITENOP AM_REGION(MAINCPU_TAG, 0x0000) AM_MIRROR(0x002000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mbc55x_io, AS_IO, 8, mbc55x_state)
+ADDRESS_MAP_START(mbc55x_state::mbc55x_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x0000, 0x0003) AM_READWRITE(mbcpic8259_r, mbcpic8259_w)
AM_RANGE( 0x0008, 0x000F) AM_READWRITE(mbc55x_disk_r, mbc55x_disk_w)
diff --git a/src/mame/drivers/mbee.cpp b/src/mame/drivers/mbee.cpp
index a0c67f9a964..bc74c257363 100644
--- a/src/mame/drivers/mbee.cpp
+++ b/src/mame/drivers/mbee.cpp
@@ -136,7 +136,7 @@ from Brett Selwood and Andrew Davies.
********************************************************************************/
-static ADDRESS_MAP_START(mbee_mem, AS_PROGRAM, 8, mbee_state)
+ADDRESS_MAP_START(mbee_state::mbee_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0xefff) AM_ROM
@@ -144,7 +144,7 @@ static ADDRESS_MAP_START(mbee_mem, AS_PROGRAM, 8, mbee_state)
AM_RANGE(0xf800, 0xffff) AM_READWRITE(video_high_r, video_high_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mbeeic_mem, AS_PROGRAM, 8, mbee_state)
+ADDRESS_MAP_START(mbee_state::mbeeic_mem)
AM_RANGE(0x0000, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_ROMBANK("pak")
@@ -153,7 +153,7 @@ static ADDRESS_MAP_START(mbeeic_mem, AS_PROGRAM, 8, mbee_state)
AM_RANGE(0xf800, 0xffff) AM_READWRITE(video_high_r, video_high_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mbeepc_mem, AS_PROGRAM, 8, mbee_state)
+ADDRESS_MAP_START(mbee_state::mbeepc_mem)
AM_RANGE(0x0000, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_ROMBANK("pak")
@@ -162,7 +162,7 @@ static ADDRESS_MAP_START(mbeepc_mem, AS_PROGRAM, 8, mbee_state)
AM_RANGE(0xf800, 0xffff) AM_READWRITE(video_high_r, video_high_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mbeeppc_mem, AS_PROGRAM, 8, mbee_state)
+ADDRESS_MAP_START(mbee_state::mbeeppc_mem)
AM_RANGE(0x0000, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("basic")
AM_RANGE(0xa000, 0xbfff) AM_ROM
@@ -172,14 +172,14 @@ static ADDRESS_MAP_START(mbeeppc_mem, AS_PROGRAM, 8, mbee_state)
AM_RANGE(0xf800, 0xffff) AM_READWRITE(video_high_r, video_high_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mbee56_mem, AS_PROGRAM, 8, mbee_state)
+ADDRESS_MAP_START(mbee_state::mbee56_mem)
AM_RANGE(0x0000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_READWRITE(video_low_r, video_low_w)
AM_RANGE(0xf800, 0xffff) AM_READWRITE(video_high_r, video_high_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mbee256_mem, AS_PROGRAM, 8, mbee_state)
+ADDRESS_MAP_START(mbee_state::mbee256_mem)
AM_RANGE(0x0000, 0x0fff) AM_READ_BANK("bankr0") AM_WRITE_BANK("bankw0")
AM_RANGE(0x1000, 0x1fff) AM_READ_BANK("bankr1") AM_WRITE_BANK("bankw1")
AM_RANGE(0x2000, 0x2fff) AM_READ_BANK("bankr2") AM_WRITE_BANK("bankw2")
@@ -198,7 +198,7 @@ static ADDRESS_MAP_START(mbee256_mem, AS_PROGRAM, 8, mbee_state)
AM_RANGE(0xf000, 0xffff) AM_READ_BANK("bankr15") AM_WRITE_BANK("bankw15")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mbeett_mem, AS_PROGRAM, 8, mbee_state)
+ADDRESS_MAP_START(mbee_state::mbeett_mem)
AM_RANGE(0x0000, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0x9fff) AM_ROM
AM_RANGE(0xa000, 0xbfff) AM_RAM
@@ -208,7 +208,7 @@ static ADDRESS_MAP_START(mbeett_mem, AS_PROGRAM, 8, mbee_state)
AM_RANGE(0xf800, 0xffff) AM_READWRITE(video_high_r, video_high_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mbee_io, AS_IO, 8, mbee_state)
+ADDRESS_MAP_START(mbee_state::mbee_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x03) AM_MIRROR(0x10) AM_DEVREADWRITE("z80pio", z80pio_device, read_alt, write_alt)
@@ -217,7 +217,7 @@ static ADDRESS_MAP_START(mbee_io, AS_IO, 8, mbee_state)
AM_RANGE(0x0d, 0x0d) AM_MIRROR(0x10) AM_DEVREAD("crtc", mc6845_device, register_r) AM_WRITE(m6545_data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mbeeic_io, AS_IO, 8, mbee_state)
+ADDRESS_MAP_START(mbee_state::mbeeic_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x03) AM_MIRROR(0x10) AM_DEVREADWRITE("z80pio", z80pio_device, read_alt, write_alt)
@@ -229,7 +229,7 @@ static ADDRESS_MAP_START(mbeeic_io, AS_IO, 8, mbee_state)
AM_RANGE(0x0d, 0x0d) AM_MIRROR(0x10) AM_DEVREAD("crtc", mc6845_device, register_r) AM_WRITE(m6545_data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mbeepc_io, AS_IO, 8, mbee_state)
+ADDRESS_MAP_START(mbee_state::mbeepc_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0003) AM_MIRROR(0xff10) AM_DEVREADWRITE("z80pio", z80pio_device, read_alt, write_alt)
AM_RANGE(0x0008, 0x0008) AM_MIRROR(0xff10) AM_READWRITE(port08_r, port08_w)
@@ -241,7 +241,7 @@ static ADDRESS_MAP_START(mbeepc_io, AS_IO, 8, mbee_state)
AM_RANGE(0x010a, 0x010a) AM_MIRROR(0xfe10) AM_READWRITE(telcom_high_r, port0a_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mbeeppc_io, AS_IO, 8, mbee_state)
+ADDRESS_MAP_START(mbee_state::mbeeppc_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0003) AM_MIRROR(0xff10) AM_DEVREADWRITE("z80pio", z80pio_device, read_alt, write_alt)
AM_RANGE(0x0008, 0x0008) AM_MIRROR(0xff10) AM_READWRITE(port08_r, port08_w)
@@ -254,7 +254,7 @@ static ADDRESS_MAP_START(mbeeppc_io, AS_IO, 8, mbee_state)
AM_RANGE(0x010a, 0x010a) AM_MIRROR(0xfe10) AM_READWRITE(telcom_high_r, port0a_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mbeett_io, AS_IO, 8, mbee_state)
+ADDRESS_MAP_START(mbee_state::mbeett_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0003) AM_MIRROR(0xff00) AM_DEVREADWRITE("z80pio", z80pio_device, read_alt, write_alt)
AM_RANGE(0x0004, 0x0004) AM_MIRROR(0xff00) AM_WRITE(port04_w)
@@ -273,7 +273,7 @@ static ADDRESS_MAP_START(mbeett_io, AS_IO, 8, mbee_state)
AM_RANGE(0x0068, 0x006f) AM_MIRROR(0xff00) AM_DEVREADWRITE("scc", scc8530_t, reg_r, reg_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mbee56_io, AS_IO, 8, mbee_state)
+ADDRESS_MAP_START(mbee_state::mbee56_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("z80pio", z80pio_device, read_alt, write_alt)
@@ -286,7 +286,7 @@ static ADDRESS_MAP_START(mbee56_io, AS_IO, 8, mbee_state)
AM_RANGE(0x48, 0x4f) AM_READWRITE(fdc_status_r, fdc_motor_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mbee128_io, AS_IO, 8, mbee_state)
+ADDRESS_MAP_START(mbee_state::mbee128_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("z80pio", z80pio_device, read_alt, write_alt)
@@ -304,7 +304,7 @@ static ADDRESS_MAP_START(mbee128_io, AS_IO, 8, mbee_state)
AM_RANGE(0x50, 0x57) AM_WRITE(mbee128_50_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mbee256_io, AS_IO, 8, mbee_state)
+ADDRESS_MAP_START(mbee_state::mbee256_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0003) AM_MIRROR(0xff00) AM_DEVREADWRITE("z80pio", z80pio_device, read_alt, write_alt)
AM_RANGE(0x0004, 0x0004) AM_MIRROR(0xff00) AM_WRITE(port04_w)
diff --git a/src/mame/drivers/mc10.cpp b/src/mame/drivers/mc10.cpp
index abccddab66b..3e289125fba 100644
--- a/src/mame/drivers/mc10.cpp
+++ b/src/mame/drivers/mc10.cpp
@@ -52,6 +52,10 @@ public:
void alice90(machine_config &config);
void alice32(machine_config &config);
void mc10(machine_config &config);
+ void alice32_mem(address_map &map);
+ void alice90_mem(address_map &map);
+ void mc10_io(address_map &map);
+ void mc10_mem(address_map &map);
protected:
// device-level overrides
virtual void driver_start() override;
@@ -291,7 +295,7 @@ void mc10_state::driver_start()
ADDRESS MAPS
***************************************************************************/
-ADDRESS_MAP_START( mc10_mem, AS_PROGRAM, 8 , mc10_state)
+ADDRESS_MAP_START(mc10_state::mc10_mem)
AM_RANGE(0x0100, 0x3fff) AM_NOP /* unused */
AM_RANGE(0x4000, 0x4fff) AM_RAMBANK("bank1") /* 4k internal ram */
AM_RANGE(0x5000, 0x8fff) AM_RAMBANK("bank2") /* 16k memory expansion */
@@ -300,12 +304,12 @@ ADDRESS_MAP_START( mc10_mem, AS_PROGRAM, 8 , mc10_state)
AM_RANGE(0xe000, 0xffff) AM_ROM AM_REGION("maincpu", 0x0000) /* ROM */
ADDRESS_MAP_END
-ADDRESS_MAP_START( mc10_io, AS_IO, 8 , mc10_state)
+ADDRESS_MAP_START(mc10_state::mc10_io)
AM_RANGE(M6801_PORT1, M6801_PORT1) AM_READWRITE(mc10_port1_r, mc10_port1_w)
AM_RANGE(M6801_PORT2, M6801_PORT2) AM_READWRITE(mc10_port2_r, mc10_port2_w)
ADDRESS_MAP_END
-ADDRESS_MAP_START( alice32_mem, AS_PROGRAM, 8 , mc10_state)
+ADDRESS_MAP_START(mc10_state::alice32_mem)
AM_RANGE(0x0100, 0x2fff) AM_NOP /* unused */
AM_RANGE(0x3000, 0x4fff) AM_RAMBANK("bank1") /* 8k internal ram */
AM_RANGE(0x5000, 0x8fff) AM_RAMBANK("bank2") /* 16k memory expansion */
@@ -315,7 +319,7 @@ ADDRESS_MAP_START( alice32_mem, AS_PROGRAM, 8 , mc10_state)
AM_RANGE(0xc000, 0xffff) AM_ROM AM_REGION("maincpu", 0x0000) /* ROM */
ADDRESS_MAP_END
-ADDRESS_MAP_START( alice90_mem, AS_PROGRAM, 8 , mc10_state)
+ADDRESS_MAP_START(mc10_state::alice90_mem)
AM_RANGE(0x0100, 0x2fff) AM_NOP /* unused */
AM_RANGE(0x3000, 0xafff) AM_RAMBANK("bank1") /* 32k internal ram */
AM_RANGE(0xbf20, 0xbf29) AM_DEVREADWRITE("ef9345", ef9345_device, data_r, data_w)
diff --git a/src/mame/drivers/mc1000.cpp b/src/mame/drivers/mc1000.cpp
index c7a3d3f7e2e..4dc228508de 100644
--- a/src/mame/drivers/mc1000.cpp
+++ b/src/mame/drivers/mc1000.cpp
@@ -123,6 +123,9 @@ public:
DECLARE_DRIVER_INIT(mc1000);
TIMER_DEVICE_CALLBACK_MEMBER(ne555_tick);
void mc1000(machine_config &config);
+ void mc1000_banking_mem(address_map &map);
+ void mc1000_io(address_map &map);
+ void mc1000_mem(address_map &map);
};
/* Memory Banking */
@@ -229,7 +232,7 @@ WRITE8_MEMBER( mc1000_state::mc6847_attr_w )
/* Memory Maps */
-static ADDRESS_MAP_START( mc1000_mem, AS_PROGRAM, 8, mc1000_state )
+ADDRESS_MAP_START(mc1000_state::mc1000_mem)
AM_RANGE(0x0000, 0x1fff) AM_RAMBANK("bank1")
AM_RANGE(0x2000, 0x27ff) AM_RAMBANK("bank2") AM_SHARE("mc6845_vram")
AM_RANGE(0x2800, 0x3fff) AM_RAM AM_SHARE("ram2800")
@@ -239,7 +242,7 @@ static ADDRESS_MAP_START( mc1000_mem, AS_PROGRAM, 8, mc1000_state )
AM_RANGE(0xc000, 0xffff) AM_ROM AM_REGION(Z80_TAG, 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mc1000_banking_mem, AS_OPCODES, 8, mc1000_state )
+ADDRESS_MAP_START(mc1000_state::mc1000_banking_mem)
AM_RANGE(0x0000, 0x1fff) AM_RAMBANK("bank1")
AM_RANGE(0x2000, 0x27ff) AM_RAMBANK("bank2") AM_SHARE("mc6845_vram")
AM_RANGE(0x2800, 0x3fff) AM_RAM AM_SHARE("ram2800")
@@ -249,7 +252,7 @@ static ADDRESS_MAP_START( mc1000_banking_mem, AS_OPCODES, 8, mc1000_state )
AM_RANGE(0xc000, 0xffff) AM_READ(rom_banking_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mc1000_io, AS_IO, 8, mc1000_state )
+ADDRESS_MAP_START(mc1000_state::mc1000_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x04, 0x04) AM_READWRITE(printer_r, printer_w)
AM_RANGE(0x05, 0x05) AM_DEVWRITE("cent_data_out", output_latch_device, write)
@@ -538,7 +541,7 @@ MACHINE_CONFIG_START(mc1000_state::mc1000)
/* basic machine hardware */
MCFG_CPU_ADD(Z80_TAG, Z80, 3579545)
MCFG_CPU_PROGRAM_MAP(mc1000_mem)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(mc1000_banking_mem)
+ MCFG_CPU_OPCODES_MAP(mc1000_banking_mem)
MCFG_CPU_IO_MAP(mc1000_io)
/* timers */
diff --git a/src/mame/drivers/mc1502.cpp b/src/mame/drivers/mc1502.cpp
index 27cc0b5c801..22273754d9b 100644
--- a/src/mame/drivers/mc1502.cpp
+++ b/src/mame/drivers/mc1502.cpp
@@ -228,12 +228,12 @@ MACHINE_RESET_MEMBER(mc1502_state, mc1502)
* macros
*/
-static ADDRESS_MAP_START( mc1502_map, AS_PROGRAM, 8, mc1502_state )
+ADDRESS_MAP_START(mc1502_state::mc1502_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xf0000, 0xfffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mc1502_io, AS_IO, 8, mc1502_state )
+ADDRESS_MAP_START(mc1502_state::mc1502_io)
AM_RANGE(0x0020, 0x0021) AM_DEVREADWRITE("pic8259", pic8259_device, read, write)
AM_RANGE(0x0028, 0x0028) AM_DEVREADWRITE("upd8251", i8251_device, data_r, data_w)
AM_RANGE(0x0029, 0x0029) AM_DEVREADWRITE("upd8251", i8251_device, status_r, control_w)
diff --git a/src/mame/drivers/mc8020.cpp b/src/mame/drivers/mc8020.cpp
index cb84603ac59..089305b2335 100644
--- a/src/mame/drivers/mc8020.cpp
+++ b/src/mame/drivers/mc8020.cpp
@@ -39,6 +39,8 @@ public:
uint32_t screen_update_mc8020(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void mc8020(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
u8 m_row;
required_shared_ptr<u8> m_p_videoram;
@@ -46,7 +48,7 @@ private:
required_ioport_array<7> m_keyboard;
};
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, mc8020_state )
+ADDRESS_MAP_START(mc8020_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0bff) AM_ROM
AM_RANGE(0x0c00, 0x0fff) AM_RAM AM_SHARE("videoram")// 1KB RAM ZRE
@@ -54,7 +56,7 @@ static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, mc8020_state )
AM_RANGE(0x6000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, mc8020_state )
+ADDRESS_MAP_START(mc8020_state::io_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xf0, 0xf3) AM_DEVREADWRITE("ctc", z80ctc_device, read, write)
diff --git a/src/mame/drivers/mc8030.cpp b/src/mame/drivers/mc8030.cpp
index bbf10ff4092..c3fdfbe6a42 100644
--- a/src/mame/drivers/mc8030.cpp
+++ b/src/mame/drivers/mc8030.cpp
@@ -51,13 +51,15 @@ public:
uint32_t screen_update_mc8030(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void mc8030(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
required_region_ptr<u8> m_p_videoram;
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, mc8030_state )
+ADDRESS_MAP_START(mc8030_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
// ZRE 4 * 2KB
AM_RANGE(0x0000, 0x1fff) AM_ROM // ZRE ROM's 4 * 2716
@@ -67,7 +69,7 @@ static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, mc8030_state )
AM_RANGE(0xc000, 0xffff) AM_RAM // ZRE RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, mc8030_state )
+ADDRESS_MAP_START(mc8030_state::io_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x30, 0x3f) AM_MIRROR(0xff00) AM_NOP //"mass storage"
AM_RANGE(0x80, 0x83) AM_MIRROR(0xff00) AM_DEVREADWRITE("zve_ctc", z80ctc_device, read, write) // user CTC
diff --git a/src/mame/drivers/mcatadv.cpp b/src/mame/drivers/mcatadv.cpp
index 9abd192aa16..aed96e3a0df 100644
--- a/src/mame/drivers/mcatadv.cpp
+++ b/src/mame/drivers/mcatadv.cpp
@@ -175,7 +175,7 @@ READ16_MEMBER(mcatadv_state::mcat_wd_r)
}
-static ADDRESS_MAP_START( mcatadv_map, AS_PROGRAM, 16, mcatadv_state )
+ADDRESS_MAP_START(mcatadv_state::mcatadv_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
@@ -214,7 +214,7 @@ WRITE8_MEMBER(mcatadv_state::mcatadv_sound_bw_w)
}
-static ADDRESS_MAP_START( mcatadv_sound_map, AS_PROGRAM, 8, mcatadv_state )
+ADDRESS_MAP_START(mcatadv_state::mcatadv_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM // ROM
AM_RANGE(0x4000, 0xbfff) AM_ROMBANK("bank1") // ROM
AM_RANGE(0xc000, 0xdfff) AM_RAM // RAM
@@ -222,19 +222,19 @@ static ADDRESS_MAP_START( mcatadv_sound_map, AS_PROGRAM, 8, mcatadv_state )
AM_RANGE(0xf000, 0xf000) AM_WRITE(mcatadv_sound_bw_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mcatadv_sound_io_map, AS_IO, 8, mcatadv_state )
+ADDRESS_MAP_START(mcatadv_state::mcatadv_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x80, 0x80) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_DEVWRITE("soundlatch2", generic_latch_8_device, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nost_sound_map, AS_PROGRAM, 8, mcatadv_state )
+ADDRESS_MAP_START(mcatadv_state::nost_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM // ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") // ROM
AM_RANGE(0xc000, 0xdfff) AM_RAM // RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nost_sound_io_map, AS_IO, 8, mcatadv_state )
+ADDRESS_MAP_START(mcatadv_state::nost_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVWRITE("ymsnd", ym2610_device, write)
AM_RANGE(0x04, 0x07) AM_DEVREAD("ymsnd", ym2610_device, read)
diff --git a/src/mame/drivers/mcb216.cpp b/src/mame/drivers/mcb216.cpp
index 61dc8ae4680..735e3f41982 100644
--- a/src/mame/drivers/mcb216.cpp
+++ b/src/mame/drivers/mcb216.cpp
@@ -54,25 +54,28 @@ public:
void mcb216(machine_config &config);
void cb308(machine_config &config);
+ void cb308_mem(address_map &map);
+ void mcb216_io(address_map &map);
+ void mcb216_mem(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<ay31015_device> m_uart;
};
-static ADDRESS_MAP_START(mcb216_mem, AS_PROGRAM, 8, mcb216_state)
+ADDRESS_MAP_START(mcb216_state::mcb216_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0x2000, 0x23ff) AM_RAM
AM_RANGE(0x2400, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mcb216_io, AS_IO, 8, mcb216_state)
+ADDRESS_MAP_START(mcb216_state::mcb216_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(port00_r)
AM_RANGE(0x01, 0x01) AM_READWRITE(port01_r,port01_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(cb308_mem, AS_PROGRAM, 8, mcb216_state)
+ADDRESS_MAP_START(mcb216_state::cb308_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0xe000, 0xefff) AM_ROM AM_REGION("roms", 0)
diff --git a/src/mame/drivers/mccpm.cpp b/src/mame/drivers/mccpm.cpp
index f7c34e32f03..830b0d147b9 100644
--- a/src/mame/drivers/mccpm.cpp
+++ b/src/mame/drivers/mccpm.cpp
@@ -44,6 +44,8 @@ public:
{ }
void mccpm(machine_config &config);
+ void mccpm_io(address_map &map);
+ void mccpm_mem(address_map &map);
private:
virtual void machine_reset() override;
required_device<cpu_device> m_maincpu;
@@ -51,12 +53,12 @@ private:
};
-static ADDRESS_MAP_START(mccpm_mem, AS_PROGRAM, 8, mccpm_state)
+ADDRESS_MAP_START(mccpm_state::mccpm_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xffff) AM_RAM AM_SHARE("ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mccpm_io, AS_IO, 8, mccpm_state)
+ADDRESS_MAP_START(mccpm_state::mccpm_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xf0, 0xf3) AM_DEVREADWRITE("sio", z80sio_device, ba_cd_r, ba_cd_w)
diff --git a/src/mame/drivers/mcr.cpp b/src/mame/drivers/mcr.cpp
index 5fc07e1a87b..8b001a50b87 100644
--- a/src/mame/drivers/mcr.cpp
+++ b/src/mame/drivers/mcr.cpp
@@ -691,7 +691,7 @@ WRITE8_MEMBER(mcr_state::demoderb_op4_w)
*************************************/
/* address map verified from schematics */
-static ADDRESS_MAP_START( cpu_90009_map, AS_PROGRAM, 8, mcr_state )
+ADDRESS_MAP_START(mcr_state::cpu_90009_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x6fff) AM_ROM
AM_RANGE(0x7000, 0x77ff) AM_MIRROR(0x0800) AM_RAM AM_SHARE("nvram")
@@ -702,7 +702,7 @@ static ADDRESS_MAP_START( cpu_90009_map, AS_PROGRAM, 8, mcr_state )
ADDRESS_MAP_END
/* upper I/O map determined by PAL; only SSIO ports are verified from schematics */
-static ADDRESS_MAP_START( cpu_90009_portmap, AS_IO, 8, mcr_state )
+ADDRESS_MAP_START(mcr_state::cpu_90009_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
SSIO_INPUT_PORTS("ssio")
@@ -720,7 +720,7 @@ ADDRESS_MAP_END
*************************************/
/* address map verified from schematics */
-static ADDRESS_MAP_START( cpu_90010_map, AS_PROGRAM, 8, mcr_state )
+ADDRESS_MAP_START(mcr_state::cpu_90010_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_MIRROR(0x1800) AM_RAM AM_SHARE("nvram")
@@ -729,7 +729,7 @@ static ADDRESS_MAP_START( cpu_90010_map, AS_PROGRAM, 8, mcr_state )
ADDRESS_MAP_END
/* upper I/O map determined by PAL; only SSIO ports are verified from schematics */
-static ADDRESS_MAP_START( cpu_90010_portmap, AS_IO, 8, mcr_state )
+ADDRESS_MAP_START(mcr_state::cpu_90010_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
SSIO_INPUT_PORTS("ssio")
@@ -747,7 +747,7 @@ ADDRESS_MAP_END
*************************************/
/* address map verified from schematics */
-static ADDRESS_MAP_START( cpu_91490_map, AS_PROGRAM, 8, mcr_state )
+ADDRESS_MAP_START(mcr_state::cpu_91490_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("nvram")
@@ -757,7 +757,7 @@ static ADDRESS_MAP_START( cpu_91490_map, AS_PROGRAM, 8, mcr_state )
ADDRESS_MAP_END
/* upper I/O map determined by PAL; only SSIO ports are verified from schematics */
-static ADDRESS_MAP_START( cpu_91490_portmap, AS_IO, 8, mcr_state )
+ADDRESS_MAP_START(mcr_state::cpu_91490_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
SSIO_INPUT_PORTS("ssio")
@@ -775,14 +775,14 @@ ADDRESS_MAP_END
*************************************/
/* address map verified from schematics */
-static ADDRESS_MAP_START( ipu_91695_map, AS_PROGRAM, 8, mcr_nflfoot_state )
+ADDRESS_MAP_START(mcr_nflfoot_state::ipu_91695_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
/* I/O verified from schematics */
-static ADDRESS_MAP_START( ipu_91695_portmap, AS_IO, 8, mcr_nflfoot_state )
+ADDRESS_MAP_START(mcr_nflfoot_state::ipu_91695_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_MIRROR(0xe0) AM_DEVREADWRITE("ipu_pio0", z80pio_device, read, write)
diff --git a/src/mame/drivers/mcr3.cpp b/src/mame/drivers/mcr3.cpp
index f72bf246631..301c2e74cbc 100644
--- a/src/mame/drivers/mcr3.cpp
+++ b/src/mame/drivers/mcr3.cpp
@@ -481,7 +481,7 @@ READ8_MEMBER(mcr3_state::turbotag_kludge_r)
*************************************/
/* address map verified from schematics */
-static ADDRESS_MAP_START( mcrmono_map, AS_PROGRAM, 8, mcr3_state )
+ADDRESS_MAP_START(mcr3_state::mcrmono_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("nvram")
@@ -493,7 +493,7 @@ static ADDRESS_MAP_START( mcrmono_map, AS_PROGRAM, 8, mcr3_state )
ADDRESS_MAP_END
/* I/O map verified from schematics */
-static ADDRESS_MAP_START( mcrmono_portmap, AS_IO, 8, mcr3_state )
+ADDRESS_MAP_START(mcr3_state::mcrmono_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x78) AM_READ_PORT("MONO.IP0")
@@ -515,7 +515,7 @@ ADDRESS_MAP_END
*************************************/
/* address map verified from schematics */
-static ADDRESS_MAP_START( spyhunt_map, AS_PROGRAM, 8, mcr3_state )
+ADDRESS_MAP_START(mcr3_state::spyhunt_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(spyhunt_videoram_w) AM_SHARE("videoram")
@@ -526,7 +526,7 @@ static ADDRESS_MAP_START( spyhunt_map, AS_PROGRAM, 8, mcr3_state )
ADDRESS_MAP_END
/* upper I/O map determined by PAL; only SSIO ports and scroll registers are verified from schematics */
-static ADDRESS_MAP_START( spyhunt_portmap, AS_IO, 8, mcr3_state )
+ADDRESS_MAP_START(mcr3_state::spyhunt_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
SSIO_INPUT_PORTS("ssio")
diff --git a/src/mame/drivers/mcr68.cpp b/src/mame/drivers/mcr68.cpp
index 6a4f7983d25..4a687cad66e 100644
--- a/src/mame/drivers/mcr68.cpp
+++ b/src/mame/drivers/mcr68.cpp
@@ -273,7 +273,7 @@ READ16_MEMBER(mcr68_state::trisport_port_1_r)
*
*************************************/
-static ADDRESS_MAP_START( mcr68_map, AS_PROGRAM, 16, mcr68_state )
+ADDRESS_MAP_START(mcr68_state::mcr68_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x1fffff)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
@@ -297,7 +297,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( pigskin_map, AS_PROGRAM, 16, mcr68_state )
+ADDRESS_MAP_START(mcr68_state::pigskin_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x1fffff)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
@@ -322,7 +322,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( trisport_map, AS_PROGRAM, 16, mcr68_state )
+ADDRESS_MAP_START(mcr68_state::trisport_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x1fffff)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
diff --git a/src/mame/drivers/meadows.cpp b/src/mame/drivers/meadows.cpp
index d7327b97843..acf8f0ad914 100644
--- a/src/mame/drivers/meadows.cpp
+++ b/src/mame/drivers/meadows.cpp
@@ -323,7 +323,7 @@ INTERRUPT_GEN_MEMBER(meadows_state::audio_interrupt)
*
*************************************/
-static ADDRESS_MAP_START( meadows_main_map, AS_PROGRAM, 8, meadows_state )
+ADDRESS_MAP_START(meadows_state::meadows_main_map)
AM_RANGE(0x0000, 0x0bff) AM_ROM
AM_RANGE(0x0c00, 0x0c00) AM_READ_PORT("INPUTS")
AM_RANGE(0x0c01, 0x0c01) AM_READ_PORT("STICK")
@@ -336,7 +336,7 @@ static ADDRESS_MAP_START( meadows_main_map, AS_PROGRAM, 8, meadows_state )
AM_RANGE(0x1c00, 0x1fff) AM_RAM_WRITE(meadows_videoram_w) AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bowl3d_main_map, AS_PROGRAM, 8, meadows_state )
+ADDRESS_MAP_START(meadows_state::bowl3d_main_map)
AM_RANGE(0x0000, 0x0bff) AM_ROM
AM_RANGE(0x0c00, 0x0c00) AM_READ_PORT("INPUTS1")
AM_RANGE(0x0c01, 0x0c01) AM_READ_PORT("INPUTS2")
@@ -349,7 +349,7 @@ static ADDRESS_MAP_START( bowl3d_main_map, AS_PROGRAM, 8, meadows_state )
AM_RANGE(0x1c00, 0x1fff) AM_RAM_WRITE(meadows_videoram_w) AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( minferno_main_map, AS_PROGRAM, 8, meadows_state )
+ADDRESS_MAP_START(meadows_state::minferno_main_map)
AM_RANGE(0x0000, 0x0bff) AM_ROM
AM_RANGE(0x1c00, 0x1eff) AM_RAM_WRITE(meadows_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x1f00, 0x1f00) AM_READ_PORT("JOY1")
@@ -362,7 +362,7 @@ static ADDRESS_MAP_START( minferno_main_map, AS_PROGRAM, 8, meadows_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( minferno_data_map, AS_DATA, 8, meadows_state )
+ADDRESS_MAP_START(meadows_state::minferno_data_map)
AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_READ_PORT("DSW2")
ADDRESS_MAP_END
@@ -374,7 +374,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, meadows_state )
+ADDRESS_MAP_START(meadows_state::audio_map)
AM_RANGE(0x0000, 0x0bff) AM_ROM
AM_RANGE(0x0c00, 0x0c03) AM_READWRITE(audio_hardware_r, audio_hardware_w)
AM_RANGE(0x0e00, 0x0eff) AM_RAM
diff --git a/src/mame/drivers/mediagx.cpp b/src/mame/drivers/mediagx.cpp
index 3e463fcf16d..58d16ec7b8c 100644
--- a/src/mame/drivers/mediagx.cpp
+++ b/src/mame/drivers/mediagx.cpp
@@ -191,6 +191,9 @@ public:
void install_speedups(const speedup_entry *entries, int count);
void init_mediagx();
void mediagx(machine_config &config);
+ void mediagx_io(address_map &map);
+ void mediagx_map(address_map &map);
+ void ramdac_map(address_map &map);
};
// Display controller registers
@@ -744,7 +747,7 @@ WRITE32_MEMBER(mediagx_state::ad1847_w)
/*****************************************************************************/
-static ADDRESS_MAP_START( mediagx_map, AS_PROGRAM, 32, mediagx_state )
+ADDRESS_MAP_START(mediagx_state::mediagx_map)
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM AM_SHARE("main_ram")
AM_RANGE(0x000a0000, 0x000affff) AM_RAM
AM_RANGE(0x000b0000, 0x000b7fff) AM_RAM AM_SHARE("cga_ram")
@@ -757,7 +760,7 @@ static ADDRESS_MAP_START( mediagx_map, AS_PROGRAM, 32, mediagx_state )
AM_RANGE(0xfffc0000, 0xffffffff) AM_ROM AM_REGION("bios", 0) /* System BIOS */
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mediagx_io, AS_IO, 32, mediagx_state )
+ADDRESS_MAP_START(mediagx_state::mediagx_io)
AM_IMPORT_FROM(pcat32_io_common)
AM_RANGE(0x0020, 0x0023) AM_READWRITE8(io20_r, io20_w, 0xffff0000)
AM_RANGE(0x00e8, 0x00eb) AM_NOP // I/O delay port
@@ -868,7 +871,7 @@ void mediagx_state::machine_reset()
dmadac_enable(&m_dmadac[0], 2, 1);
}
-static ADDRESS_MAP_START( ramdac_map, 0, 8, mediagx_state )
+ADDRESS_MAP_START(mediagx_state::ramdac_map)
AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac",ramdac_device,ramdac_pal_r,ramdac_rgb666_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/megadriv_acbl.cpp b/src/mame/drivers/megadriv_acbl.cpp
index bfb91265a5b..8287e9edf75 100644
--- a/src/mame/drivers/megadriv_acbl.cpp
+++ b/src/mame/drivers/megadriv_acbl.cpp
@@ -264,7 +264,7 @@ connector, but of course, I can be wrong.
/************************************ Megadrive Bootlegs *************************************/
// smaller ROM region because some bootlegs check for RAM there (used by topshoot and hshavoc)
-static ADDRESS_MAP_START( md_bootleg_map, AS_PROGRAM, 16, md_boot_state )
+ADDRESS_MAP_START(md_boot_state::md_bootleg_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* Cartridge Program Rom */
AM_RANGE(0x200000, 0x2023ff) AM_RAM // tested
diff --git a/src/mame/drivers/megadriv_rad.cpp b/src/mame/drivers/megadriv_rad.cpp
index 2b97d4bffdf..fd48cd63078 100644
--- a/src/mame/drivers/megadriv_rad.cpp
+++ b/src/mame/drivers/megadriv_rad.cpp
@@ -24,7 +24,7 @@
#include "includes/megadriv_rad.h"
// todo, use actual MD map, easier once maps are part of base class.
-static ADDRESS_MAP_START( megadriv_radica_map, AS_PROGRAM, 16, megadriv_radica_state )
+ADDRESS_MAP_START(megadriv_radica_state::megadriv_radica_map)
AM_RANGE(0x000000, 0x3fffff) AM_READ(read) /* Cartridge Program Rom */
AM_RANGE(0xa00000, 0xa01fff) AM_READWRITE(megadriv_68k_read_z80_ram, megadriv_68k_write_z80_ram)
AM_RANGE(0xa02000, 0xa03fff) AM_WRITE(megadriv_68k_write_z80_ram)
diff --git a/src/mame/drivers/megaphx.cpp b/src/mame/drivers/megaphx.cpp
index d79db75989c..f1a14bbf21d 100644
--- a/src/mame/drivers/megaphx.cpp
+++ b/src/mame/drivers/megaphx.cpp
@@ -110,6 +110,7 @@ public:
DECLARE_DRIVER_INIT(megaphx);
void megaphx(machine_config &config);
+ void megaphx_68k_map(address_map &map);
protected:
virtual void machine_reset() override;
@@ -150,7 +151,7 @@ void hamboy_state::machine_reset()
m_indervid->set_bpp(4);
}
-static ADDRESS_MAP_START( megaphx_68k_map, AS_PROGRAM, 16, megaphx_state )
+ADDRESS_MAP_START(megaphx_state::megaphx_68k_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_REGION("boot", 0x00000) // or the rom doesn't map here? it contains the service mode grid amongst other things..
AM_RANGE(0x000000, 0x00ffff) AM_RAM AM_SHARE("mainram") // maps over part of the rom??
AM_RANGE(0x040000, 0x040007) AM_DEVREADWRITE("inder_vid:tms", tms34010_device, host_r, host_w)
diff --git a/src/mame/drivers/megaplay.cpp b/src/mame/drivers/megaplay.cpp
index 717cb695384..df6e5e84d83 100644
--- a/src/mame/drivers/megaplay.cpp
+++ b/src/mame/drivers/megaplay.cpp
@@ -89,6 +89,8 @@ public:
uint32_t screen_update_megplay(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void megaplay(machine_config &config);
+ void megaplay_bios_io_map(address_map &map);
+ void megaplay_bios_map(address_map &map);
private:
uint32_t m_bios_mode; // determines whether ROM banks or Game data is to read from 0x8000-0xffff
@@ -585,7 +587,7 @@ WRITE8_MEMBER(mplay_state::game_w)
logerror("BIOS bank addr = %X\n", m_bios_bank_addr);
}
-static ADDRESS_MAP_START( megaplay_bios_map, AS_PROGRAM, 8, mplay_state )
+ADDRESS_MAP_START(mplay_state::megaplay_bios_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x4fff) AM_RAM
AM_RANGE(0x5000, 0x5fff) AM_RAM
@@ -608,7 +610,7 @@ READ8_MEMBER(mplay_state::vdp1_count_r)
return m_vdp1->vcount_read(prg, offset);
}
-static ADDRESS_MAP_START( megaplay_bios_io_map, AS_IO, 8, mplay_state )
+ADDRESS_MAP_START(mplay_state::megaplay_bios_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x7f, 0x7f) AM_DEVWRITE("sn2", sn76496_device, write)
diff --git a/src/mame/drivers/megasys1.cpp b/src/mame/drivers/megasys1.cpp
index 4e01d16c7b6..ba6c05cf5b0 100644
--- a/src/mame/drivers/megasys1.cpp
+++ b/src/mame/drivers/megasys1.cpp
@@ -201,7 +201,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(megasys1_state::megasys1A_iganinju_scanline)
m_maincpu->set_input_line(2, HOLD_LINE);
}
-static ADDRESS_MAP_START( megasys1Z_map, AS_PROGRAM, 16, megasys1_state )
+ADDRESS_MAP_START(megasys1_state::megasys1Z_map)
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("SYSTEM")
@@ -219,7 +219,7 @@ static ADDRESS_MAP_START( megasys1Z_map, AS_PROGRAM, 16, megasys1_state )
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM_WRITE(ram_w) AM_SHARE("ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( megasys1A_map, AS_PROGRAM, 16, megasys1_state )
+ADDRESS_MAP_START(megasys1_state::megasys1A_map)
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
AM_IMPORT_FROM(megasys1Z_map)
AM_RANGE(0x080008, 0x080009) AM_DEVREAD("soundlatch2", generic_latch_16_device, read) /* from sound cpu */
@@ -299,7 +299,7 @@ WRITE16_MEMBER(megasys1_state::ip_select_w) // TO MCU
}
-static ADDRESS_MAP_START( megasys1B_map, AS_PROGRAM, 16, megasys1_state )
+ADDRESS_MAP_START(megasys1_state::megasys1B_map)
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x044000, 0x044001) AM_WRITE(active_layers_w)
@@ -319,7 +319,7 @@ static ADDRESS_MAP_START( megasys1B_map, AS_PROGRAM, 16, megasys1_state )
AM_RANGE(0x0e0000, 0x0e0001) AM_READWRITE(ip_select_r,ip_select_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( megasys1B_edfbl_map, AS_PROGRAM, 16, megasys1_state )
+ADDRESS_MAP_START(megasys1_state::megasys1B_edfbl_map)
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
AM_IMPORT_FROM(megasys1B_map)
AM_RANGE(0x0e0002, 0x0e0003) AM_READ_PORT("SYSTEM")
@@ -330,7 +330,7 @@ static ADDRESS_MAP_START( megasys1B_edfbl_map, AS_PROGRAM, 16, megasys1_state )
//AM_RANGE(0x0e000e, 0x0e000f) AM_WRITE(soundlatch_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( megasys1B_monkelf_map, AS_PROGRAM, 16, megasys1_state )
+ADDRESS_MAP_START(megasys1_state::megasys1B_monkelf_map)
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
AM_IMPORT_FROM(megasys1B_map)
AM_RANGE(0x044200, 0x044205) AM_WRITE(monkelf_scroll0_w)
@@ -364,7 +364,7 @@ WRITE16_MEMBER(megasys1_state::ram_w )
}
-static ADDRESS_MAP_START( megasys1C_map, AS_PROGRAM, 16, megasys1_state )
+ADDRESS_MAP_START(megasys1_state::megasys1C_map)
ADDRESS_MAP_GLOBAL_MASK(0x1fffff)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x0c2000, 0x0c2005) AM_DEVWRITE("scroll0", megasys1_tilemap_device, scroll_w)
@@ -395,7 +395,7 @@ INTERRUPT_GEN_MEMBER(megasys1_state::megasys1D_irq)
device.execute().set_input_line(2, HOLD_LINE);
}
-static ADDRESS_MAP_START( megasys1D_map, AS_PROGRAM, 16, megasys1_state )
+ADDRESS_MAP_START(megasys1_state::megasys1D_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x0c2000, 0x0c2005) AM_DEVWRITE("scroll0", megasys1_tilemap_device, scroll_w)
AM_RANGE(0x0c2008, 0x0c200d) AM_DEVWRITE("scroll1", megasys1_tilemap_device, scroll_w)
@@ -414,7 +414,7 @@ static ADDRESS_MAP_START( megasys1D_map, AS_PROGRAM, 16, megasys1_state )
AM_RANGE(0x1f0000, 0x1fffff) AM_RAM /*_WRITE(ram_w)*/ AM_SHARE("ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( megasys1D_oki_map, 0, 8, megasys1_state )
+ADDRESS_MAP_START(megasys1_state::megasys1D_oki_map)
AM_RANGE(0x00000, 0x1ffff) AM_ROM
AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK("okibank")
ADDRESS_MAP_END
@@ -503,7 +503,7 @@ READ8_MEMBER(megasys1_state::oki_status_2_r)
***************************************************************************/
-static ADDRESS_MAP_START( megasys1A_sound_map, AS_PROGRAM, 16, megasys1_state )
+ADDRESS_MAP_START(megasys1_state::megasys1A_sound_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x040000, 0x040001) AM_DEVREAD("soundlatch", generic_latch_16_device, read)
AM_RANGE(0x060000, 0x060001) AM_DEVWRITE("soundlatch2", generic_latch_16_device, write) // to main cpu
@@ -515,7 +515,7 @@ static ADDRESS_MAP_START( megasys1A_sound_map, AS_PROGRAM, 16, megasys1_state )
AM_RANGE(0x0e0000, 0x0fffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kickoffb_sound_map, AS_PROGRAM, 16, megasys1_state ) // TODO: wrong, needs to be checked range for range
+ADDRESS_MAP_START(megasys1_state::kickoffb_sound_map) // TODO: wrong, needs to be checked range for range
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x040000, 0x040001) AM_DEVREAD("soundlatch", generic_latch_16_device, read)
AM_RANGE(0x060000, 0x060001) AM_DEVWRITE("soundlatch2", generic_latch_16_device, write) // to main cpu
@@ -531,7 +531,7 @@ ADDRESS_MAP_END
***************************************************************************/
-static ADDRESS_MAP_START( megasys1B_sound_map, AS_PROGRAM, 16, megasys1_state )
+ADDRESS_MAP_START(megasys1_state::megasys1B_sound_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x040000, 0x040001) AM_DEVREAD("soundlatch", generic_latch_16_device, read) AM_DEVWRITE("soundlatch2", generic_latch_16_device, write) /* from/to main cpu */
AM_RANGE(0x060000, 0x060001) AM_DEVREAD("soundlatch", generic_latch_16_device, read) AM_DEVWRITE("soundlatch2", generic_latch_16_device, write) /* from/to main cpu */
@@ -550,14 +550,14 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( z80_sound_map, AS_PROGRAM, 8, megasys1_state )
+ADDRESS_MAP_START(megasys1_state::z80_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xe000, 0xe000) AM_DEVREAD("soundlatch_z", generic_latch_8_device, read)
AM_RANGE(0xf000, 0xf000) AM_WRITENOP /* ?? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( z80_sound_io_map, AS_IO, 8, megasys1_state )
+ADDRESS_MAP_START(megasys1_state::z80_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/megatech.cpp b/src/mame/drivers/megatech.cpp
index 3fae3dcb2c2..4ae65590bd2 100644
--- a/src/mame/drivers/megatech.cpp
+++ b/src/mame/drivers/megatech.cpp
@@ -145,6 +145,8 @@ public:
void megatech(machine_config &config);
void megatech_multislot(machine_config &config);
void megatech_fixedslot(machine_config &config);
+ void megatech_bios_map(address_map &map);
+ void megatech_bios_portmap(address_map &map);
private:
uint8_t m_mt_cart_select_reg;
uint32_t m_bios_port_ctrl;
@@ -520,7 +522,7 @@ WRITE8_MEMBER(mtech_state::banked_ram_w )
-static ADDRESS_MAP_START( megatech_bios_map, AS_PROGRAM, 8, mtech_state )
+ADDRESS_MAP_START(mtech_state::megatech_bios_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM // from bios rom (0x0000-0x2fff populated in ROM)
AM_RANGE(0x3000, 0x3fff) AM_READWRITE(banked_ram_r, banked_ram_w) // copies instruction data here at startup, must be banked
AM_RANGE(0x4000, 0x5fff) AM_RAM // plain ram?
@@ -574,7 +576,7 @@ READ8_MEMBER(mtech_state::vdp1_count_r)
return m_vdp1->vcount_read(prg, offset);
}
-static ADDRESS_MAP_START( megatech_bios_portmap, AS_IO, 8, mtech_state )
+ADDRESS_MAP_START(mtech_state::megatech_bios_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x3f, 0x3f) AM_WRITE(bios_port_ctrl_w)
AM_RANGE(0x7f, 0x7f) AM_WRITE(bios_port_7f_w)
diff --git a/src/mame/drivers/megazone.cpp b/src/mame/drivers/megazone.cpp
index 1eaa6f53a32..66fca566e9b 100644
--- a/src/mame/drivers/megazone.cpp
+++ b/src/mame/drivers/megazone.cpp
@@ -143,7 +143,7 @@ WRITE_LINE_MEMBER(megazone_state::irq_mask_w)
}
-static ADDRESS_MAP_START( megazone_map, AS_PROGRAM, 8, megazone_state )
+ADDRESS_MAP_START(megazone_state::megazone_map)
AM_RANGE(0x0000, 0x0007) AM_DEVWRITE("mainlatch", ls259_device, write_d0)
AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x1000, 0x1000) AM_WRITEONLY AM_SHARE("scrolly")
@@ -157,7 +157,7 @@ static ADDRESS_MAP_START( megazone_map, AS_PROGRAM, 8, megazone_state )
AM_RANGE(0x4000, 0xffff) AM_ROM /* 4000->5FFF is a debug rom */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( megazone_sound_map, AS_PROGRAM, 8, megazone_state )
+ADDRESS_MAP_START(megazone_state::megazone_sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x2000) AM_WRITE(megazone_i8039_irq_w) /* START line. Interrupts 8039 */
AM_RANGE(0x4000, 0x4000) AM_DEVWRITE("soundlatch", generic_latch_8_device, write) /* CODE line. Command Interrupts 8039 */
@@ -172,18 +172,18 @@ static ADDRESS_MAP_START( megazone_sound_map, AS_PROGRAM, 8, megazone_state )
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("share1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( megazone_sound_io_map, AS_IO, 8, megazone_state )
+ADDRESS_MAP_START(megazone_state::megazone_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("aysnd", ay8910_device, address_w)
AM_RANGE(0x00, 0x02) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE(0x02, 0x02) AM_DEVWRITE("aysnd", ay8910_device, data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( megazone_i8039_map, AS_PROGRAM, 8, megazone_state )
+ADDRESS_MAP_START(megazone_state::megazone_i8039_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( megazone_i8039_io_map, AS_IO, 8, megazone_state )
+ADDRESS_MAP_START(megazone_state::megazone_i8039_io_map)
AM_RANGE(0x00, 0xff) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/meijinsn.cpp b/src/mame/drivers/meijinsn.cpp
index a812c2088e8..5ccd9ccae50 100644
--- a/src/mame/drivers/meijinsn.cpp
+++ b/src/mame/drivers/meijinsn.cpp
@@ -107,6 +107,9 @@ public:
uint32_t screen_update_meijinsn(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(meijinsn_interrupt);
void meijinsn(machine_config &config);
+ void meijinsn_map(address_map &map);
+ void meijinsn_sound_io_map(address_map &map);
+ void meijinsn_sound_map(address_map &map);
};
@@ -186,7 +189,7 @@ READ16_MEMBER(meijinsn_state::alpha_mcu_r)
-static ADDRESS_MAP_START( meijinsn_map, AS_PROGRAM, 16, meijinsn_state )
+ADDRESS_MAP_START(meijinsn_state::meijinsn_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080e00, 0x080fff) AM_READ(alpha_mcu_r) AM_WRITENOP
AM_RANGE(0x100000, 0x107fff) AM_RAM AM_SHARE("videoram")
@@ -197,12 +200,12 @@ static ADDRESS_MAP_START( meijinsn_map, AS_PROGRAM, 16, meijinsn_state )
AM_RANGE(0x1a0000, 0x1a0001) AM_READ_PORT("P1") AM_WRITE(sound_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( meijinsn_sound_map, AS_PROGRAM, 8, meijinsn_state )
+ADDRESS_MAP_START(meijinsn_state::meijinsn_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( meijinsn_sound_io_map, AS_IO, 8, meijinsn_state )
+ADDRESS_MAP_START(meijinsn_state::meijinsn_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
AM_RANGE(0x01, 0x01) AM_DEVREAD("aysnd", ay8910_device, data_r)
diff --git a/src/mame/drivers/mekd2.cpp b/src/mame/drivers/mekd2.cpp
index b727eb64ddd..e98533f2520 100644
--- a/src/mame/drivers/mekd2.cpp
+++ b/src/mame/drivers/mekd2.cpp
@@ -115,6 +115,7 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(mekd2_p);
void mekd2(machine_config &config);
+ void mekd2_mem(address_map &map);
private:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
uint8_t m_cass_data[4];
@@ -138,7 +139,7 @@ private:
************************************************************/
-static ADDRESS_MAP_START( mekd2_mem , AS_PROGRAM, 8, mekd2_state)
+ADDRESS_MAP_START(mekd2_state::mekd2_mem)
AM_RANGE(0x0000, 0x00ff) AM_RAM // user ram
AM_RANGE(0x8004, 0x8007) AM_DEVREADWRITE("pia_u", pia6821_device, read, write)
AM_RANGE(0x8008, 0x8009) AM_DEVREADWRITE("acia", acia6850_device, read, write)
diff --git a/src/mame/drivers/mephisto.cpp b/src/mame/drivers/mephisto.cpp
index 3fb219146d6..75768a46e89 100644
--- a/src/mame/drivers/mephisto.cpp
+++ b/src/mame/drivers/mephisto.cpp
@@ -120,6 +120,9 @@ public:
void mm4tk(machine_config &config);
void mm2(machine_config &config);
void mephisto(machine_config &config);
+ void mephisto_mem(address_map &map);
+ void mm2_mem(address_map &map);
+ void rebel5_mem(address_map &map);
protected:
required_ioport m_key1_0;
required_ioport m_key1_1;
@@ -219,7 +222,7 @@ WRITE8_MEMBER( mephisto_state::write_led_mm2 )
m_led7= BIT(data, 7) ? 0xff :0x00; //MM2
}
-static ADDRESS_MAP_START( rebel5_mem, AS_PROGRAM, 8, mephisto_state )
+ADDRESS_MAP_START(mephisto_state::rebel5_mem)
AM_RANGE( 0x0000, 0x1fff) AM_RAM // AM_BASE(m_p_ram)
AM_RANGE( 0x2000, 0x2007) AM_WRITE(write_led) // Status LEDs+ buzzer
AM_RANGE( 0x3000, 0x4000) AM_DEVREAD("board", mephisto_board_device, input_r)
@@ -231,7 +234,7 @@ static ADDRESS_MAP_START( rebel5_mem, AS_PROGRAM, 8, mephisto_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mephisto_mem, AS_PROGRAM, 8, mephisto_state )
+ADDRESS_MAP_START(mephisto_state::mephisto_mem)
AM_RANGE( 0x0000, 0x1fff) AM_RAM //AM_BASE(m_p_ram)
AM_RANGE( 0x2000, 0x2000) AM_WRITE(write_lcd)
AM_RANGE( 0x2400, 0x2407) AM_DEVWRITE("board", mephisto_board_device, led_w)
@@ -244,7 +247,7 @@ static ADDRESS_MAP_START( mephisto_mem, AS_PROGRAM, 8, mephisto_state )
AM_RANGE( 0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mm2_mem, AS_PROGRAM, 8, mephisto_state )
+ADDRESS_MAP_START(mephisto_state::mm2_mem)
AM_RANGE( 0x0000, 0x0fff) AM_RAM //AM_BASE(m_p_ram)
AM_RANGE( 0x1000, 0x1007) AM_WRITE(write_led_mm2) //Status LEDs
AM_RANGE( 0x1800, 0x1807) AM_READ(read_keys)
diff --git a/src/mame/drivers/mephisto_montec.cpp b/src/mame/drivers/mephisto_montec.cpp
index 491f59aefec..49e6a304f4b 100644
--- a/src/mame/drivers/mephisto_montec.cpp
+++ b/src/mame/drivers/mephisto_montec.cpp
@@ -69,6 +69,11 @@ public:
void montec(machine_config &config);
void monteciv(machine_config &config);
void megaiv(machine_config &config);
+ void megaiv_mem(address_map &map);
+ void mondial2_mem(address_map &map);
+ void montec_mem(address_map &map);
+ void smondial2_mem(address_map &map);
+ void smondial_mem(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -240,7 +245,7 @@ READ8_MEMBER(mephisto_montec_state::megaiv_input_r)
}
-static ADDRESS_MAP_START(montec_mem , AS_PROGRAM, 8, mephisto_montec_state )
+ADDRESS_MAP_START(mephisto_montec_state::montec_mem)
AM_RANGE( 0x0000, 0x1fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x2400, 0x2400 ) AM_READ(montec_input_r)
AM_RANGE( 0x2800, 0x2800 ) AM_DEVWRITE("board", mephisto_board_device, mux_w)
@@ -256,7 +261,7 @@ static ADDRESS_MAP_START(montec_mem , AS_PROGRAM, 8, mephisto_montec_state )
AM_RANGE( 0x8000, 0xffff ) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(megaiv_mem , AS_PROGRAM, 8, mephisto_montec_state )
+ADDRESS_MAP_START(mephisto_montec_state::megaiv_mem)
AM_RANGE( 0x0000, 0x1fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x2400, 0x2400 ) AM_WRITE(megaiv_led_w)
AM_RANGE( 0x2800, 0x2800 ) AM_DEVWRITE("board", mephisto_board_device, mux_w)
@@ -270,7 +275,7 @@ static ADDRESS_MAP_START(megaiv_mem , AS_PROGRAM, 8, mephisto_montec_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START(smondial2_mem , AS_PROGRAM, 8, mephisto_montec_state )
+ADDRESS_MAP_START(mephisto_montec_state::smondial2_mem)
AM_IMPORT_FROM(megaiv_mem)
AM_RANGE( 0x4000, 0x7fff ) AM_DEVREAD("cartslot", generic_slot_device, read_rom)
ADDRESS_MAP_END
@@ -303,7 +308,7 @@ WRITE8_MEMBER(mephisto_montec_state::smondial_led_data_w)
m_beeper->set_state(BIT(m_leds_mux, 7));
}
-static ADDRESS_MAP_START(smondial_mem , AS_PROGRAM, 8, mephisto_montec_state )
+ADDRESS_MAP_START(mephisto_montec_state::smondial_mem)
AM_RANGE( 0x0000, 0x1fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x4000, 0x4007 ) AM_READ(megaiv_input_r)
AM_RANGE( 0x6400, 0x6407 ) AM_WRITE(smondial_led_data_w)
@@ -334,7 +339,7 @@ WRITE8_MEMBER(mephisto_montec_state::mondial2_input_mux_w)
}
-static ADDRESS_MAP_START(mondial2_mem , AS_PROGRAM, 8, mephisto_montec_state )
+ADDRESS_MAP_START(mephisto_montec_state::mondial2_mem)
AM_RANGE( 0x0000, 0x07ff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x2000, 0x2000 ) AM_WRITE(mondial2_input_mux_w)
AM_RANGE( 0x2800, 0x2800 ) AM_DEVWRITE("board", mephisto_board_device, mux_w)
diff --git a/src/mame/drivers/mephistp.cpp b/src/mame/drivers/mephistp.cpp
index 3807f15da2c..ab022425fee 100644
--- a/src/mame/drivers/mephistp.cpp
+++ b/src/mame/drivers/mephistp.cpp
@@ -42,6 +42,10 @@ public:
DECLARE_WRITE8_MEMBER(sound_rombank_w);
void mephisto(machine_config &config);
+ void mephisto_8051_io(address_map &map);
+ void mephisto_8051_map(address_map &map);
+ void mephisto_map(address_map &map);
+ void sport2k_8051_io(address_map &map);
private:
u8 m_ay8910_data;
bool m_ay8910_bdir;
@@ -99,7 +103,7 @@ WRITE8_MEMBER(mephisto_pinball_state::sound_rombank_w)
m_soundbank->set_entry(data & 0xf);
}
-static ADDRESS_MAP_START( mephisto_map, AS_PROGRAM, 8, mephisto_pinball_state )
+ADDRESS_MAP_START(mephisto_pinball_state::mephisto_map)
AM_RANGE(0x00000, 0x07fff) AM_ROM AM_MIRROR(0x08000) AM_REGION("maincpu", 0)
AM_RANGE(0x10000, 0x107ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x12000, 0x1201f) AM_NOP //AM_DEVREADWRITE("muart", i8256_device, read, write)
@@ -112,12 +116,12 @@ static ADDRESS_MAP_START( mephisto_map, AS_PROGRAM, 8, mephisto_pinball_state )
AM_RANGE(0xf8000, 0xfffff) AM_ROM AM_REGION("maincpu", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mephisto_8051_map, AS_PROGRAM, 8, mephisto_pinball_state )
+ADDRESS_MAP_START(mephisto_pinball_state::mephisto_8051_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("soundbank")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mephisto_8051_io, AS_IO, 8, mephisto_pinball_state )
+ADDRESS_MAP_START(mephisto_pinball_state::mephisto_8051_io)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x0800, 0x0800) AM_WRITE(sound_rombank_w)
AM_RANGE(0x1000, 0x1000) AM_DEVWRITE("dac", dac08_device, write)
@@ -129,7 +133,7 @@ static ADDRESS_MAP_START( mephisto_8051_io, AS_IO, 8, mephisto_pinball_state )
ADDRESS_MAP_END
#ifdef UNUSED_DEFINITION
-static ADDRESS_MAP_START( sport2k_8051_io, AS_IO, 8, mephisto_pinball_state )
+ADDRESS_MAP_START(mephisto_pinball_state::sport2k_8051_io)
AM_IMPORT_FROM(mephisto_8051_data)
AM_RANGE(0x1800, 0x1801) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/merit.cpp b/src/mame/drivers/merit.cpp
index 48a16fa9c73..513b688d5ec 100644
--- a/src/mame/drivers/merit.cpp
+++ b/src/mame/drivers/merit.cpp
@@ -144,6 +144,20 @@ public:
void trvwhziv(machine_config &config);
void bigappg(machine_config &config);
void pitboss(machine_config &config);
+ void bigappg_map(address_map &map);
+ void casino5_map(address_map &map);
+ void couple_map(address_map &map);
+ void dodge_map(address_map &map);
+ void dtrvwz5_map(address_map &map);
+ void misdraw_map(address_map &map);
+ void phrcraze_io_map(address_map &map);
+ void phrcraze_map(address_map &map);
+ void pitboss_map(address_map &map);
+ void tictac_io_map(address_map &map);
+ void tictac_map(address_map &map);
+ void trvwhiz_io_map(address_map &map);
+ void trvwhiz_map(address_map &map);
+ void trvwhziv_map(address_map &map);
};
@@ -389,7 +403,7 @@ CUSTOM_INPUT_MEMBER(merit_state::rndbit_r)
return machine().rand();
}
-static ADDRESS_MAP_START( pitboss_map, AS_PROGRAM, 8, merit_state )
+ADDRESS_MAP_START(merit_state::pitboss_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM
AM_RANGE(0xa000, 0xa003) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
@@ -401,7 +415,7 @@ static ADDRESS_MAP_START( pitboss_map, AS_PROGRAM, 8, merit_state )
AM_RANGE(0xf800, 0xfbff) AM_READWRITE(palette_r, palette_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( casino5_map, AS_PROGRAM, 8, merit_state )
+ADDRESS_MAP_START(merit_state::casino5_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x3fff) AM_ROMBANK("bank1")
AM_RANGE(0x4000, 0x5fff) AM_ROMBANK("bank2")
@@ -417,7 +431,7 @@ static ADDRESS_MAP_START( casino5_map, AS_PROGRAM, 8, merit_state )
AM_RANGE(0xf800, 0xfbff) AM_READWRITE(palette_r, palette_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bigappg_map, AS_PROGRAM, 8, merit_state )
+ADDRESS_MAP_START(merit_state::bigappg_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xa000, 0xbfff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xc004, 0xc007) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write)
@@ -429,7 +443,7 @@ static ADDRESS_MAP_START( bigappg_map, AS_PROGRAM, 8, merit_state )
AM_RANGE(0xf800, 0xfbff) AM_READWRITE(palette_r, palette_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( misdraw_map, AS_PROGRAM, 8, merit_state )
+ADDRESS_MAP_START(merit_state::misdraw_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xa000, 0xbfff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xb000, 0xb7ff) AM_RAM AM_SHARE("cpunvram") // overlays other NVRAM? or is it banked?
@@ -442,7 +456,7 @@ static ADDRESS_MAP_START( misdraw_map, AS_PROGRAM, 8, merit_state )
AM_RANGE(0xf800, 0xfbff) AM_READWRITE(palette_r, palette_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dodge_map, AS_PROGRAM, 8, merit_state )
+ADDRESS_MAP_START(merit_state::dodge_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xa000, 0xbfff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xc004, 0xc007) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
@@ -459,7 +473,7 @@ ADDRESS_MAP_END
* ==> mirror 1DF3 & ~effective_addr_lines
* */
-static ADDRESS_MAP_START( trvwhiz_map, AS_PROGRAM, 8, merit_state )
+ADDRESS_MAP_START(merit_state::trvwhiz_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4c00, 0x4cff) AM_READWRITE(questions_r, high_offset_w)
AM_RANGE(0x5400, 0x54ff) AM_WRITE(low_offset_w)
@@ -474,13 +488,13 @@ static ADDRESS_MAP_START( trvwhiz_map, AS_PROGRAM, 8, merit_state )
AM_RANGE(0xf800, 0xfbff) AM_READWRITE(palette_r, palette_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( trvwhiz_io_map, AS_IO, 8, merit_state )
+ADDRESS_MAP_START(merit_state::trvwhiz_io_map)
AM_RANGE(0x8000, 0x8000) AM_DEVWRITE("aysnd", ay8912_device, address_w)
AM_RANGE(0x8100, 0x8100) AM_DEVWRITE("aysnd", ay8912_device, data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( phrcraze_map, AS_PROGRAM, 8, merit_state )
+ADDRESS_MAP_START(merit_state::phrcraze_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xa000, 0xbfff) AM_RAM
AM_RANGE(0xc008, 0xc00b) AM_MIRROR(0x1df0) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write)
@@ -495,13 +509,13 @@ static ADDRESS_MAP_START( phrcraze_map, AS_PROGRAM, 8, merit_state )
AM_RANGE(0xf800, 0xfbff) AM_READWRITE(palette_r, palette_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( phrcraze_io_map, AS_IO, 8, merit_state )
+ADDRESS_MAP_START(merit_state::phrcraze_io_map)
AM_RANGE(0xc004, 0xc004) AM_MIRROR(0x1cf3) AM_DEVWRITE("aysnd", ay8912_device, address_w)
AM_RANGE(0xc104, 0xc104) AM_MIRROR(0x1cf3) AM_DEVWRITE("aysnd", ay8912_device, data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tictac_map, AS_PROGRAM, 8, merit_state )
+ADDRESS_MAP_START(merit_state::tictac_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_RAM
AM_RANGE(0xc004, 0xc007) AM_MIRROR(0x1df0) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
@@ -516,13 +530,13 @@ static ADDRESS_MAP_START( tictac_map, AS_PROGRAM, 8, merit_state )
AM_RANGE(0xf800, 0xfbff) AM_READWRITE(palette_r, palette_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tictac_io_map, AS_IO, 8, merit_state )
+ADDRESS_MAP_START(merit_state::tictac_io_map)
AM_RANGE(0xc00c, 0xc00c) AM_MIRROR(0x1cf3) AM_DEVWRITE("aysnd", ay8912_device, address_w)
AM_RANGE(0xc10c, 0xc10c) AM_MIRROR(0x1cf3) AM_DEVWRITE("aysnd", ay8912_device, data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( trvwhziv_map, AS_PROGRAM, 8, merit_state )
+ADDRESS_MAP_START(merit_state::trvwhziv_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xa000, 0xbfff) AM_RAM
AM_RANGE(0xc004, 0xc007) AM_MIRROR(0x1df0) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
@@ -537,7 +551,7 @@ static ADDRESS_MAP_START( trvwhziv_map, AS_PROGRAM, 8, merit_state )
AM_RANGE(0xf800, 0xfbff) AM_READWRITE(palette_r, palette_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dtrvwz5_map, AS_PROGRAM, 8, merit_state )
+ADDRESS_MAP_START(merit_state::dtrvwz5_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xb000, 0xb0ff) AM_ROM /* protection? code jumps here */
@@ -553,7 +567,7 @@ static ADDRESS_MAP_START( dtrvwz5_map, AS_PROGRAM, 8, merit_state )
AM_RANGE(0xf800, 0xfbff) AM_READWRITE(palette_r, palette_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( couple_map, AS_PROGRAM, 8, merit_state )
+ADDRESS_MAP_START(merit_state::couple_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("bank1")
AM_RANGE(0xa000, 0xbfff) AM_RAM AM_SHARE("backup_ram")
diff --git a/src/mame/drivers/meritm.cpp b/src/mame/drivers/meritm.cpp
index fb3c061934f..24cdf29546c 100644
--- a/src/mame/drivers/meritm.cpp
+++ b/src/mame/drivers/meritm.cpp
@@ -271,6 +271,12 @@ public:
void meritm_crt250(machine_config &config);
void meritm_crt250_questions(machine_config &config);
void meritm_crt250_crt252_crt258(machine_config &config);
+ void meritm_crt250_crt258_io_map(address_map &map);
+ void meritm_crt250_io_map(address_map &map);
+ void meritm_crt250_map(address_map &map);
+ void meritm_crt250_questions_map(address_map &map);
+ void meritm_io_map(address_map &map);
+ void meritm_map(address_map &map);
};
@@ -531,12 +537,12 @@ READ8_MEMBER(meritm_state::meritm_ds1644_r)
*
*************************************/
-static ADDRESS_MAP_START( meritm_crt250_map, AS_PROGRAM, 8, meritm_state )
+ADDRESS_MAP_START(meritm_state::meritm_crt250_map)
AM_RANGE(0x0000, 0xdfff) AM_ROMBANK("bank1")
AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( meritm_crt250_questions_map, AS_PROGRAM, 8, meritm_state )
+ADDRESS_MAP_START(meritm_state::meritm_crt250_questions_map)
AM_RANGE(0x0000, 0xdfff) AM_ROMBANK("bank1")
AM_RANGE(0x0000, 0x0000) AM_WRITE(meritm_crt250_questions_lo_w)
AM_RANGE(0x0001, 0x0001) AM_WRITE(meritm_crt250_questions_hi_w)
@@ -544,7 +550,7 @@ static ADDRESS_MAP_START( meritm_crt250_questions_map, AS_PROGRAM, 8, meritm_sta
AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( meritm_crt250_io_map, AS_IO, 8, meritm_state )
+ADDRESS_MAP_START(meritm_state::meritm_crt250_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x13) AM_DEVREADWRITE("v9938_0", v9938_device, read, write)
AM_RANGE(0x20, 0x23) AM_DEVREADWRITE("v9938_1", v9938_device, read, write)
@@ -556,7 +562,7 @@ static ADDRESS_MAP_START( meritm_crt250_io_map, AS_IO, 8, meritm_state )
AM_RANGE(0xff, 0xff) AM_WRITE(meritm_crt250_bank_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( meritm_crt250_crt258_io_map, AS_IO, 8, meritm_state )
+ADDRESS_MAP_START(meritm_state::meritm_crt250_crt258_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x13) AM_DEVREADWRITE("v9938_0", v9938_device, read, write)
AM_RANGE(0x20, 0x23) AM_DEVREADWRITE("v9938_1", v9938_device, read, write)
@@ -569,13 +575,13 @@ static ADDRESS_MAP_START( meritm_crt250_crt258_io_map, AS_IO, 8, meritm_state )
AM_RANGE(0xff, 0xff) AM_WRITE(meritm_crt250_bank_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( meritm_map, AS_PROGRAM, 8, meritm_state )
+ADDRESS_MAP_START(meritm_state::meritm_map)
AM_RANGE(0x0000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0xdfff) AM_ROMBANK("bank2")
AM_RANGE(0xe000, 0xffff) AM_RAMBANK("bank3") AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( meritm_io_map, AS_IO, 8, meritm_state )
+ADDRESS_MAP_START(meritm_state::meritm_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(meritm_psd_a15_w)
AM_RANGE(0x01, 0x01) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
diff --git a/src/mame/drivers/mermaid.cpp b/src/mame/drivers/mermaid.cpp
index 9f5399e24a9..ec4cdbd97dc 100644
--- a/src/mame/drivers/mermaid.cpp
+++ b/src/mame/drivers/mermaid.cpp
@@ -157,7 +157,7 @@ WRITE_LINE_MEMBER(mermaid_state::nmi_mask_w)
/* Memory Map */
-static ADDRESS_MAP_START( mermaid_map, AS_PROGRAM, 8, mermaid_state )
+ADDRESS_MAP_START(mermaid_state::mermaid_map)
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xcbff) AM_RAM_WRITE(mermaid_videoram2_w) AM_SHARE("videoram2")
diff --git a/src/mame/drivers/mes.cpp b/src/mame/drivers/mes.cpp
index 805f73b2769..5f4838de696 100644
--- a/src/mame/drivers/mes.cpp
+++ b/src/mame/drivers/mes.cpp
@@ -33,6 +33,8 @@ public:
DECLARE_READ8_MEMBER(port08_r);
void mes(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
u8 m_term_data;
u8 m_port08;
@@ -55,14 +57,14 @@ READ8_MEMBER( mes_state::port08_r )
return m_port08 | (m_term_data ? 0x80 : 0);
}
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, mes_state )
+ADDRESS_MAP_START(mes_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0x1000, 0xefff) AM_RAM
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, mes_state )
+ADDRESS_MAP_START(mes_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(port00_r)
AM_RANGE(0x08, 0x08) AM_READ(port08_r)
diff --git a/src/mame/drivers/metalmx.cpp b/src/mame/drivers/metalmx.cpp
index 2499102b939..0bb4dadfcd0 100644
--- a/src/mame/drivers/metalmx.cpp
+++ b/src/mame/drivers/metalmx.cpp
@@ -505,7 +505,7 @@ WRITE32_MEMBER(metalmx_state::timer_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, metalmx_state )
+ADDRESS_MAP_START(metalmx_state::main_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x200000, 0x3fffff) AM_ROM
AM_RANGE(0x400000, 0x4000ff) AM_READWRITE(host_gsp_r, host_gsp_w)
@@ -537,11 +537,11 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( adsp_program_map, AS_PROGRAM, 32, metalmx_state )
+ADDRESS_MAP_START(metalmx_state::adsp_program_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM AM_SHARE("adsp_intprog")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( adsp_data_map, AS_DATA, 16, metalmx_state )
+ADDRESS_MAP_START(metalmx_state::adsp_data_map)
AM_RANGE(0x3800, 0x39ff) AM_RAM
AM_RANGE(0x2000, 0x2007) AM_RAM
AM_RANGE(0x3fe0, 0x3fff) AM_RAM // TODO: CPU control registers
@@ -554,7 +554,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( gsp_map, AS_PROGRAM, 16, metalmx_state )
+ADDRESS_MAP_START(metalmx_state::gsp_map)
AM_RANGE(0x88800000, 0x8880000f) AM_RAM /* ? */
AM_RANGE(0x88c00000, 0x88c0000f) AM_RAM /* ? */
AM_RANGE(0xc0000000, 0xc00003ff) AM_DEVREADWRITE("gsp", tms34020_device, io_register_r, io_register_w)
@@ -569,7 +569,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( dsp32c_1_map, AS_PROGRAM, 32, metalmx_state )
+ADDRESS_MAP_START(metalmx_state::dsp32c_1_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x03ffff) AM_RAM
AM_RANGE(0x600000, 0x67ffff) AM_RAM
@@ -586,7 +586,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( dsp32c_2_map, AS_PROGRAM, 32, metalmx_state )
+ADDRESS_MAP_START(metalmx_state::dsp32c_2_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x03ffff) AM_RAM
AM_RANGE(0x600000, 0x67ffff) AM_RAM
diff --git a/src/mame/drivers/metlclsh.cpp b/src/mame/drivers/metlclsh.cpp
index 5da539e0fd0..864dce8c82e 100644
--- a/src/mame/drivers/metlclsh.cpp
+++ b/src/mame/drivers/metlclsh.cpp
@@ -59,7 +59,7 @@ WRITE8_MEMBER(metlclsh_state::metlclsh_ack_nmi)
m_maincpu->set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
}
-static ADDRESS_MAP_START( metlclsh_master_map, AS_PROGRAM, 8, metlclsh_state )
+ADDRESS_MAP_START(metlclsh_state::metlclsh_master_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0xa000, 0xbfff) AM_ROM
@@ -106,7 +106,7 @@ WRITE8_MEMBER(metlclsh_state::metlclsh_flipscreen_w)
flip_screen_set(data & 1);
}
-static ADDRESS_MAP_START( metlclsh_slave_map, AS_PROGRAM, 8, metlclsh_state )
+ADDRESS_MAP_START(metlclsh_state::metlclsh_slave_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("IN0") AM_WRITE(metlclsh_gfxbank_w) // bg tiles bank
diff --git a/src/mame/drivers/metlfrzr.cpp b/src/mame/drivers/metlfrzr.cpp
index 915040105a1..425c9ec4a4a 100644
--- a/src/mame/drivers/metlfrzr.cpp
+++ b/src/mame/drivers/metlfrzr.cpp
@@ -64,6 +64,8 @@ public:
uint8_t m_fg_tilebank;
bool m_rowscroll_enable;
void metlfrzr(machine_config &config);
+ void decrypted_opcodes_map(address_map &map);
+ void metlfrzr_map(address_map &map);
};
@@ -176,7 +178,7 @@ WRITE8_MEMBER(metlfrzr_state::output_w)
// popmessage("%02x %02x",m_fg_tilebank,data & 3);
}
-static ADDRESS_MAP_START( metlfrzr_map, AS_PROGRAM, 8, metlfrzr_state )
+ADDRESS_MAP_START(metlfrzr_state::metlfrzr_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xcfff) AM_RAM AM_SHARE("vram")
@@ -204,7 +206,7 @@ static ADDRESS_MAP_START( metlfrzr_map, AS_PROGRAM, 8, metlfrzr_state )
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("wram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, metlfrzr_state )
+ADDRESS_MAP_START(metlfrzr_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_SHARE("decrypted_opcodes")
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("wram") // executes code at 0xf5d5
@@ -363,7 +365,7 @@ MACHINE_CONFIG_START(metlfrzr_state::metlfrzr)
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, XTAL(12'000'000) / 2)
MCFG_CPU_PROGRAM_MAP(metlfrzr_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", metlfrzr_state, scanline, "screen", 0, 1)
MCFG_DEVICE_ADD("t5182", T5182, 0)
diff --git a/src/mame/drivers/metro.cpp b/src/mame/drivers/metro.cpp
index 54265af6bdd..9cbe6690afc 100644
--- a/src/mame/drivers/metro.cpp
+++ b/src/mame/drivers/metro.cpp
@@ -494,7 +494,7 @@ WRITE_LINE_MEMBER(metro_state::vdp_blit_end_w)
*/
-static ADDRESS_MAP_START( metro_sound_map, AS_PROGRAM, 8, metro_state )
+ADDRESS_MAP_START(metro_state::metro_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM /* External ROM */
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1") /* External ROM (Banked) */
AM_RANGE(0x8000, 0x87ff) AM_RAM /* External RAM */
@@ -503,7 +503,7 @@ ADDRESS_MAP_END
/*****************/
-static ADDRESS_MAP_START( ymf278_map, 0, 8, metro_state )
+ADDRESS_MAP_START(metro_state::ymf278_map)
AM_RANGE(0x000000, 0x27ffff) AM_ROM
ADDRESS_MAP_END
@@ -544,7 +544,7 @@ READ16_MEMBER(metro_state::balcube_dsw_r)
}
-static ADDRESS_MAP_START( balcube_map, AS_PROGRAM, 16, metro_state )
+ADDRESS_MAP_START(metro_state::balcube_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x300000, 0x300001) AM_DEVREAD8("ymf", ymf278b_device, read, 0x00ff) // Sound
AM_RANGE(0x300000, 0x30000b) AM_DEVWRITE8("ymf", ymf278b_device, write, 0x00ff) // Sound
@@ -565,7 +565,7 @@ ADDRESS_MAP_END
***************************************************************************/
-static ADDRESS_MAP_START( daitoa_map, AS_PROGRAM, 16, metro_state )
+ADDRESS_MAP_START(metro_state::daitoa_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x17ffff) AM_DEVICE("vdp2", imagetek_i4220_device, v2_map )
AM_RANGE(0x1788a2, 0x1788a3) AM_READWRITE(metro_irq_cause_r, metro_irq_cause_w) // IRQ Cause / IRQ Acknowledge
@@ -585,7 +585,7 @@ ADDRESS_MAP_END
Bang Bang Ball
***************************************************************************/
-static ADDRESS_MAP_START( bangball_map, AS_PROGRAM, 16, metro_state )
+ADDRESS_MAP_START(metro_state::bangball_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0xb00000, 0xb00001) AM_DEVREAD8("ymf", ymf278b_device, read, 0x00ff) // Sound
AM_RANGE(0xb00000, 0xb0000b) AM_DEVWRITE8("ymf", ymf278b_device, write, 0x00ff) // Sound
@@ -605,7 +605,7 @@ ADDRESS_MAP_END
Battle Bubble
***************************************************************************/
-static ADDRESS_MAP_START( batlbubl_map, AS_PROGRAM, 16, metro_state )
+ADDRESS_MAP_START(metro_state::batlbubl_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x17ffff) AM_DEVICE("vdp2", imagetek_i4220_device, v2_map)
AM_RANGE(0x1788a2, 0x1788a3) AM_READWRITE(metro_irq_cause_r,metro_irq_cause_w) // IRQ Cause / IRQ Acknowledge
@@ -626,7 +626,7 @@ ADDRESS_MAP_END
Mouse Shooter GoGo
***************************************************************************/
-static ADDRESS_MAP_START( msgogo_map, AS_PROGRAM, 16, metro_state )
+ADDRESS_MAP_START(metro_state::msgogo_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x17ffff) AM_DEVICE("vdp2", imagetek_i4220_device, v2_map)
AM_RANGE(0x1788a2, 0x1788a3) AM_READWRITE(metro_irq_cause_r,metro_irq_cause_w) // IRQ Cause / IRQ Acknowledge
@@ -645,7 +645,7 @@ ADDRESS_MAP_END
Daitoride
***************************************************************************/
-static ADDRESS_MAP_START( daitorid_map, AS_PROGRAM, 16, metro_state )
+ADDRESS_MAP_START(metro_state::daitorid_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x400000, 0x47ffff) AM_DEVICE("vdp2", imagetek_i4220_device, v2_map)
AM_RANGE(0x4788a2, 0x4788a3) AM_READWRITE(metro_irq_cause_r, metro_irq_cause_w) // IRQ Cause / IRQ Acknowledge
@@ -664,7 +664,7 @@ ADDRESS_MAP_END
Dharma Doujou
***************************************************************************/
-static ADDRESS_MAP_START( dharma_map, AS_PROGRAM, 16, metro_state )
+ADDRESS_MAP_START(metro_state::dharma_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x400000, 0x40ffff) AM_RAM AM_MIRROR(0x0f0000) // RAM (mirrored)
AM_RANGE(0x800000, 0x87ffff) AM_DEVICE("vdp2", imagetek_i4220_device, v2_map)
@@ -683,7 +683,7 @@ ADDRESS_MAP_END
Karate Tournament
***************************************************************************/
-static ADDRESS_MAP_START( karatour_map, AS_PROGRAM, 16, metro_state )
+ADDRESS_MAP_START(metro_state::karatour_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x400000, 0x400001) AM_READWRITE(metro_soundstatus_r, metro_soundstatus_w) // From Sound CPU
AM_RANGE(0x400002, 0x400003) AM_READ_PORT("IN0") // Inputs
@@ -706,7 +706,7 @@ ADDRESS_MAP_END
/* same limited tilemap access as karatour */
-static ADDRESS_MAP_START( kokushi_map, AS_PROGRAM, 16, metro_state )
+ADDRESS_MAP_START(metro_state::kokushi_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x700000, 0x70ffff) AM_RAM AM_MIRROR(0x0f0000) // RAM (mirrored)
AM_RANGE(0x800000, 0x87ffff) AM_DEVICE("vdp2", imagetek_i4220_device, v2_map)
@@ -724,7 +724,7 @@ ADDRESS_MAP_END
Last Fortress
***************************************************************************/
-static ADDRESS_MAP_START( lastfort_map, AS_PROGRAM, 16, metro_state )
+ADDRESS_MAP_START(metro_state::lastfort_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x400000, 0x40ffff) AM_RAM AM_MIRROR(0x0f0000) // RAM (mirrored)
AM_RANGE(0x800000, 0x87ffff) AM_DEVICE("vdp", imagetek_i4100_device, map)
@@ -744,7 +744,7 @@ ADDRESS_MAP_END
/* the German version is halfway between lastfort and ladykill (karatour) memory maps */
/* todo: clean up input reads etc. */
-static ADDRESS_MAP_START( lastforg_map, AS_PROGRAM, 16, metro_state )
+ADDRESS_MAP_START(metro_state::lastforg_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x400000, 0x400001) AM_READWRITE(metro_soundstatus_r, metro_soundstatus_w) // From / To Sound CPU
AM_RANGE(0x400002, 0x400003) AM_READ_PORT("IN0") // Inputs
@@ -813,7 +813,7 @@ WRITE8_MEMBER(metro_state::gakusai_eeprom_w)
m_eeprom->clk_write(BIT(data, 1) ? ASSERT_LINE : CLEAR_LINE );
}
-static ADDRESS_MAP_START( gakusai_map, AS_PROGRAM, 16, metro_state )
+ADDRESS_MAP_START(metro_state::gakusai_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x27ffff) AM_DEVICE("vdp3", imagetek_i4300_device, v3_map )
AM_RANGE(0x278810, 0x27881f) AM_WRITEONLY AM_SHARE("irq_levels") // IRQ Levels
@@ -838,7 +838,7 @@ ADDRESS_MAP_END
Mahjong Gakuensai 2
***************************************************************************/
-static ADDRESS_MAP_START( gakusai2_map, AS_PROGRAM, 16, metro_state )
+ADDRESS_MAP_START(metro_state::gakusai2_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x600000, 0x67ffff) AM_DEVICE("vdp3", imagetek_i4300_device, v3_map)
AM_RANGE(0x678810, 0x67881f) AM_WRITEONLY AM_SHARE("irq_levels") // IRQ Levels
@@ -888,7 +888,7 @@ WRITE8_MEMBER(metro_state::dokyusp_eeprom_reset_w)
m_eeprom->cs_write(BIT(data, 0) ? ASSERT_LINE : CLEAR_LINE);
}
-static ADDRESS_MAP_START( dokyusp_map, AS_PROGRAM, 16, metro_state )
+ADDRESS_MAP_START(metro_state::dokyusp_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x27ffff) AM_DEVICE("vdp3", imagetek_i4300_device, v3_map)
AM_RANGE(0x278810, 0x27881f) AM_WRITEONLY AM_SHARE("irq_levels") // IRQ Levels
@@ -913,7 +913,7 @@ ADDRESS_MAP_END
Mahjong Doukyuusei
***************************************************************************/
-static ADDRESS_MAP_START( dokyusei_map, AS_PROGRAM, 16, metro_state )
+ADDRESS_MAP_START(metro_state::dokyusei_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x400000, 0x47ffff) AM_DEVICE("vdp3", imagetek_i4300_device, v3_map)
AM_RANGE(0x478810, 0x47881f) AM_WRITEONLY AM_SHARE("irq_levels") // IRQ Levels
@@ -940,7 +940,7 @@ ADDRESS_MAP_END
Pang Pom's
***************************************************************************/
-static ADDRESS_MAP_START( pangpoms_map, AS_PROGRAM, 16, metro_state )
+ADDRESS_MAP_START(metro_state::pangpoms_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x400000, 0x47ffff) AM_DEVICE("vdp", imagetek_i4100_device, map)
AM_RANGE(0x4788a2, 0x4788a3) AM_READWRITE(metro_irq_cause_r,metro_irq_cause_w) // IRQ Cause / IRQ Acknowledge
@@ -962,7 +962,7 @@ ADDRESS_MAP_END
Poitto!
***************************************************************************/
-static ADDRESS_MAP_START( poitto_map, AS_PROGRAM, 16, metro_state )
+ADDRESS_MAP_START(metro_state::poitto_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x400000, 0x40ffff) AM_RAM AM_MIRROR(0x0f0000) // RAM (mirrored)
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("IN0") AM_WRITE(metro_soundstatus_w) // To Sound CPU
@@ -981,7 +981,7 @@ ADDRESS_MAP_END
Sky Alert
***************************************************************************/
-static ADDRESS_MAP_START( skyalert_map, AS_PROGRAM, 16, metro_state )
+ADDRESS_MAP_START(metro_state::skyalert_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x400000, 0x400001) AM_READWRITE(metro_soundstatus_r,metro_soundstatus_w) // From / To Sound CPU
AM_RANGE(0x400002, 0x400003) AM_READNOP AM_WRITE(metro_coin_lockout_1word_w) // Coin Lockout
@@ -1003,7 +1003,7 @@ ADDRESS_MAP_END
Pururun
***************************************************************************/
-static ADDRESS_MAP_START( pururun_map, AS_PROGRAM, 16, metro_state )
+ADDRESS_MAP_START(metro_state::pururun_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x400000, 0x400001) AM_READ_PORT("IN0") AM_WRITE(metro_soundstatus_w) // To Sound CPU
AM_RANGE(0x400002, 0x400003) AM_READ_PORT("IN1") //
@@ -1022,7 +1022,7 @@ ADDRESS_MAP_END
Toride II Adauchi Gaiden
***************************************************************************/
-static ADDRESS_MAP_START( toride2g_map, AS_PROGRAM, 16, metro_state )
+ADDRESS_MAP_START(metro_state::toride2g_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x400000, 0x40ffff) AM_RAM AM_MIRROR(0x0f0000) // RAM (mirrored)
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("IN0") AM_WRITE(metro_soundstatus_w) // Watchdog (R)? / To Sound CPU (W)
@@ -1056,20 +1056,20 @@ WRITE8_MEMBER(metro_state::blzntrnd_sh_bankswitch_w)
membank("bank1")->set_base(&RAM[bankaddress]);
}
-static ADDRESS_MAP_START( blzntrnd_sound_map, AS_PROGRAM, 8, metro_state )
+ADDRESS_MAP_START(metro_state::blzntrnd_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( blzntrnd_sound_io_map, AS_IO, 8, metro_state )
+ADDRESS_MAP_START(metro_state::blzntrnd_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(blzntrnd_sh_bankswitch_w)
AM_RANGE(0x40, 0x40) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_WRITENOP
AM_RANGE(0x80, 0x83) AM_DEVREADWRITE("ymsnd", ym2610_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( blzntrnd_map, AS_PROGRAM, 16, metro_state )
+ADDRESS_MAP_START(metro_state::blzntrnd_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x27ffff) AM_DEVICE("vdp2", imagetek_i4220_device, v2_map)
AM_RANGE(0x2788a2, 0x2788a3) AM_READWRITE(metro_irq_cause_r,metro_irq_cause_w) // IRQ Cause / IRQ Acknowledge
@@ -1097,7 +1097,7 @@ WRITE8_MEMBER(metro_state::mouja_sound_rombank_w)
membank("okibank")->set_entry((data >> 3) & 0x07);
}
-static ADDRESS_MAP_START( mouja_map, AS_PROGRAM, 16, metro_state )
+ADDRESS_MAP_START(metro_state::mouja_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x400000, 0x47ffff) AM_DEVICE("vdp3", imagetek_i4300_device, v3_map)
AM_RANGE(0x478810, 0x47881f) AM_WRITEONLY AM_SHARE("irq_levels") // IRQ Levels
@@ -1116,7 +1116,7 @@ static ADDRESS_MAP_START( mouja_map, AS_PROGRAM, 16, metro_state )
AM_RANGE(0xf00000, 0xf0ffff) AM_RAM AM_MIRROR(0x0f0000) // RAM (mirrored)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mouja_okimap, 0, 8, metro_state )
+ADDRESS_MAP_START(metro_state::mouja_okimap)
AM_RANGE(0x00000, 0x1ffff) AM_ROM
AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK("okibank")
ADDRESS_MAP_END
@@ -1213,7 +1213,7 @@ WRITE16_MEMBER(metro_state::puzzlet_irq_enable_w)
// H8/3007 CPU
-static ADDRESS_MAP_START( puzzlet_map, AS_PROGRAM, 16, metro_state )
+ADDRESS_MAP_START(metro_state::puzzlet_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x430000, 0x433fff) AM_RAM
AM_RANGE(0x470000, 0x47dfff) AM_RAM
@@ -1241,7 +1241,7 @@ WRITE16_MEMBER(metro_state::puzzlet_portb_w)
// popmessage("PORTB %02x", data);
}
-static ADDRESS_MAP_START( puzzlet_io_map, AS_IO, 16, metro_state )
+ADDRESS_MAP_START(metro_state::puzzlet_io_map)
AM_RANGE(h8_device::PORT_7, h8_device::PORT_7) AM_READ_PORT("IN2")
AM_RANGE(h8_device::PORT_B, h8_device::PORT_B) AM_READ_PORT("DSW0") AM_WRITE(puzzlet_portb_w)
ADDRESS_MAP_END
@@ -1284,7 +1284,7 @@ WRITE_LINE_MEMBER(metro_state::vmetal_es8712_irq)
m_maincpu->set_input_line(3, state);
}
-static ADDRESS_MAP_START( vmetal_map, AS_PROGRAM, 16, metro_state )
+ADDRESS_MAP_START(metro_state::vmetal_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x17ffff) AM_DEVICE("vdp2", imagetek_i4220_device, v2_map)
AM_RANGE(0x1788a2, 0x1788a3) AM_READWRITE(metro_irq_cause_r, metro_irq_cause_w) // IRQ Cause / IRQ Acknowledge
diff --git a/src/mame/drivers/mexico86.cpp b/src/mame/drivers/mexico86.cpp
index 5c35327c759..0afe0e2c2c9 100644
--- a/src/mame/drivers/mexico86.cpp
+++ b/src/mame/drivers/mexico86.cpp
@@ -80,7 +80,7 @@ READ8_MEMBER(mexico86_state::kiki_ym2203_r)
*
*************************************/
-static ADDRESS_MAP_START( mexico86_map, AS_PROGRAM, 8, mexico86_state )
+ADDRESS_MAP_START(mexico86_state::mexico86_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") /* banked roms */
AM_RANGE(0xc000, 0xe7ff) AM_RAM AM_SHARE("mainram") /* shared with sound cpu */
@@ -93,7 +93,7 @@ static ADDRESS_MAP_START( mexico86_map, AS_PROGRAM, 8, mexico86_state )
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("subram") /* communication ram - to connect 4 players's subboard */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mexico86_sound_map, AS_PROGRAM, 8, mexico86_state )
+ADDRESS_MAP_START(mexico86_state::mexico86_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xa7ff) AM_RAM AM_SHARE("mainram") /* shared with main */
AM_RANGE(0xa800, 0xbfff) AM_RAM
@@ -108,7 +108,7 @@ WRITE8_MEMBER(mexico86_state::mexico86_sub_output_w)
/*---- --x- <unknown, always high, irq ack?>*/
}
-static ADDRESS_MAP_START( mexico86_sub_cpu_map, AS_PROGRAM, 8, mexico86_state )
+ADDRESS_MAP_START(mexico86_state::mexico86_sub_cpu_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM /* sub cpu ram */
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("subram") /* shared with main */
diff --git a/src/mame/drivers/meyc8080.cpp b/src/mame/drivers/meyc8080.cpp
index 89183aa8457..69d7e4b962e 100644
--- a/src/mame/drivers/meyc8080.cpp
+++ b/src/mame/drivers/meyc8080.cpp
@@ -95,6 +95,7 @@ public:
required_device<cpu_device> m_maincpu;
required_device<dac_byte_interface> m_dac;
void meyc8080(machine_config &config);
+ void meyc8080_map(address_map &map);
};
@@ -310,7 +311,7 @@ WRITE8_MEMBER(meyc8080_state::meyc8080_dac_4_w)
*
*************************************/
-static ADDRESS_MAP_START( meyc8080_map, AS_PROGRAM, 8, meyc8080_state )
+ADDRESS_MAP_START(meyc8080_state::meyc8080_map)
AM_RANGE(0x0000, 0x37ff) AM_ROM
AM_RANGE(0x3800, 0x3800) AM_READ_PORT("IN0")
AM_RANGE(0x4000, 0x5fff) AM_RAM AM_SHARE("vram0")
diff --git a/src/mame/drivers/meyc8088.cpp b/src/mame/drivers/meyc8088.cpp
index 3fe66266de9..f9552ee9e2f 100644
--- a/src/mame/drivers/meyc8088.cpp
+++ b/src/mame/drivers/meyc8088.cpp
@@ -72,6 +72,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(screen_vblank_meyc8088);
TIMER_DEVICE_CALLBACK_MEMBER(heartbeat_callback);
void meyc8088(machine_config &config);
+ void meyc8088_map(address_map &map);
};
@@ -213,7 +214,7 @@ WRITE8_MEMBER(meyc8088_state::video5_flip_w)
}
-static ADDRESS_MAP_START( meyc8088_map, AS_PROGRAM, 8, meyc8088_state )
+ADDRESS_MAP_START(meyc8088_state::meyc8088_map)
AM_RANGE(0x00000, 0x007ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x70000, 0x77fff) AM_RAM AM_SHARE("vram")
AM_RANGE(0xb0000, 0xb00ff) AM_DEVREADWRITE("i8155_2", i8155_device, memory_r, memory_w)
diff --git a/src/mame/drivers/mfabfz.cpp b/src/mame/drivers/mfabfz.cpp
index 249266a239d..55622cc9664 100644
--- a/src/mame/drivers/mfabfz.cpp
+++ b/src/mame/drivers/mfabfz.cpp
@@ -57,19 +57,22 @@ public:
void mfabfz85(machine_config &config);
void mfabfz(machine_config &config);
+ void mfabfz85_io(address_map &map);
+ void mfabfz_io(address_map &map);
+ void mfabfz_mem(address_map &map);
private:
virtual void machine_reset() override;
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START(mfabfz_mem, AS_PROGRAM, 8, mfabfz_state)
+ADDRESS_MAP_START(mfabfz_state::mfabfz_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0x8000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mfabfz_io, AS_IO, 8, mfabfz_state)
+ADDRESS_MAP_START(mfabfz_state::mfabfz_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xbe, 0xbe) AM_DEVREADWRITE("uart1", i8251_device, data_r, data_w)
@@ -78,7 +81,7 @@ static ADDRESS_MAP_START(mfabfz_io, AS_IO, 8, mfabfz_state)
AM_RANGE(0xff, 0xff) AM_DEVREADWRITE("uart2", i8251_device, status_r, control_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mfabfz85_io, AS_IO, 8, mfabfz_state)
+ADDRESS_MAP_START(mfabfz_state::mfabfz85_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xfe, 0xfe) AM_DEVREADWRITE("uart2", i8251_device, data_r, data_w)
diff --git a/src/mame/drivers/mgames.cpp b/src/mame/drivers/mgames.cpp
index 6ed1136deb8..1909f8fb10f 100644
--- a/src/mame/drivers/mgames.cpp
+++ b/src/mame/drivers/mgames.cpp
@@ -251,6 +251,7 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
void mgames(machine_config &config);
+ void main_map(address_map &map);
};
@@ -523,7 +524,7 @@ WRITE8_MEMBER(mgames_state::outport7_w)
*/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, mgames_state )
+ADDRESS_MAP_START(mgames_state::main_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM
// AM_RANGE(0x0158, 0x0158) AM_WRITE (muxed_w)
AM_RANGE(0x3800, 0x38ff) AM_RAM AM_SHARE("nvram") /* NVRAM = 2x SCM5101E */
diff --git a/src/mame/drivers/mgavegas.cpp b/src/mame/drivers/mgavegas.cpp
index c70bd2b1dd3..36654e402dc 100644
--- a/src/mame/drivers/mgavegas.cpp
+++ b/src/mame/drivers/mgavegas.cpp
@@ -144,6 +144,7 @@ public:
void mgavegas(machine_config &config);
+ void mgavegas_map(address_map &map);
protected:
// devices
@@ -421,7 +422,7 @@ READ8_MEMBER(mgavegas_state::ay8910_b_r)
* Memory Map Information *
*************************/
-static ADDRESS_MAP_START( mgavegas_map, AS_PROGRAM, 8, mgavegas_state )
+ADDRESS_MAP_START(mgavegas_state::mgavegas_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xa000, 0xa003) AM_READWRITE(r_a0,w_a0) // AY-3-8910
diff --git a/src/mame/drivers/mgolf.cpp b/src/mame/drivers/mgolf.cpp
index 009ddd651ca..b8f8fcf5c97 100644
--- a/src/mame/drivers/mgolf.cpp
+++ b/src/mame/drivers/mgolf.cpp
@@ -66,6 +66,7 @@ public:
double calc_plunger_pos();
void mgolf(machine_config &config);
+ void cpu_map(address_map &map);
protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
};
@@ -226,7 +227,7 @@ WRITE8_MEMBER(mgolf_state::wram_w)
-static ADDRESS_MAP_START( cpu_map, AS_PROGRAM, 8, mgolf_state )
+ADDRESS_MAP_START(mgolf_state::cpu_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0040, 0x0040) AM_READ_PORT("40")
diff --git a/src/mame/drivers/mhavoc.cpp b/src/mame/drivers/mhavoc.cpp
index 8384455bc6d..1a4ed380bb4 100644
--- a/src/mame/drivers/mhavoc.cpp
+++ b/src/mame/drivers/mhavoc.cpp
@@ -277,7 +277,7 @@ WRITE8_MEMBER(mhavoc_state::dual_pokey_w)
*
*************************************/
-static ADDRESS_MAP_START( alpha_map, AS_PROGRAM, 8, mhavoc_state )
+ADDRESS_MAP_START(mhavoc_state::alpha_map)
AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x0200, 0x07ff) AM_RAMBANK("bank1") AM_SHARE("zram0")
AM_RANGE(0x0800, 0x09ff) AM_RAM
@@ -329,7 +329,7 @@ a15 a14 a13 a12 a11 a10 a09 a08 a07 a06 a05 a04 a03 a02 a01 a00
1 x * * * * * * * * * * * * * * R ROM 27128 @9S
*/
-static ADDRESS_MAP_START( gamma_map, AS_PROGRAM, 8, mhavoc_state )
+ADDRESS_MAP_START(mhavoc_state::gamma_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_MIRROR(0x1800) /* Program RAM (2K) */
AM_RANGE(0x2000, 0x203f) AM_READWRITE(quad_pokeyn_r, quad_pokeyn_w) AM_MIRROR(0x07C0) /* Quad Pokey read/write */
AM_RANGE(0x2800, 0x2800) AM_READ_PORT("IN1") AM_MIRROR(0x07ff) /* Gamma Input Port */
@@ -353,7 +353,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( alphaone_map, AS_PROGRAM, 8, mhavoc_state )
+ADDRESS_MAP_START(mhavoc_state::alphaone_map)
AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x0200, 0x07ff) AM_RAMBANK("bank1") AM_SHARE("zram0")
AM_RANGE(0x0800, 0x09ff) AM_RAM
diff --git a/src/mame/drivers/mice.cpp b/src/mame/drivers/mice.cpp
index 47766367754..bfc9877e73e 100644
--- a/src/mame/drivers/mice.cpp
+++ b/src/mame/drivers/mice.cpp
@@ -47,19 +47,23 @@ public:
void mice2(machine_config &config);
void mice(machine_config &config);
+ void mice2_io(address_map &map);
+ void mice2_mem(address_map &map);
+ void mice_io(address_map &map);
+ void mice_mem(address_map &map);
private:
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START(mice_mem, AS_PROGRAM, 8, mice_state)
+ADDRESS_MAP_START(mice_state::mice_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_ROM AM_REGION("mcp", 0)
AM_RANGE(0x4400, 0x47ff) AM_RAM //(U13)
AM_RANGE(0x6000, 0x60ff) AM_DEVREADWRITE("rpt", i8155_device, memory_r, memory_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mice_io, AS_IO, 8, mice_state)
+ADDRESS_MAP_START(mice_state::mice_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x50, 0x50) AM_DEVREADWRITE("uart", i8251_device, data_r, data_w)
@@ -68,7 +72,7 @@ static ADDRESS_MAP_START(mice_io, AS_IO, 8, mice_state)
AM_RANGE(0x70, 0x73) AM_DEVREADWRITE("ppi", i8255_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mice2_mem, AS_PROGRAM, 8, mice_state)
+ADDRESS_MAP_START(mice_state::mice2_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("cep", 0)
AM_RANGE(0x9000, 0x90ff) AM_DEVREADWRITE("rpt", i8155_device, memory_r, memory_w)
@@ -76,7 +80,7 @@ static ADDRESS_MAP_START(mice2_mem, AS_PROGRAM, 8, mice_state)
AM_RANGE(0xe800, 0xe8ff) AM_DEVREADWRITE("rtt8155", i8155_device, memory_r, memory_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mice2_io, AS_IO, 8, mice_state)
+ADDRESS_MAP_START(mice_state::mice2_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x80, 0x80) AM_DEVREADWRITE("uart", i8251_device, data_r, data_w)
diff --git a/src/mame/drivers/micral.cpp b/src/mame/drivers/micral.cpp
index 23c6a5801c8..32a2408acf7 100644
--- a/src/mame/drivers/micral.cpp
+++ b/src/mame/drivers/micral.cpp
@@ -82,6 +82,9 @@ public:
u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void micral(machine_config &config);
+ void io_kbd(address_map &map);
+ void mem_kbd(address_map &map);
+ void mem_map(address_map &map);
private:
u16 s_curpos;
u8 s_command;
@@ -144,7 +147,7 @@ WRITE8_MEMBER( micral_state::video_w )
}
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, micral_state )
+ADDRESS_MAP_START(micral_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xfeff) AM_ROM
@@ -157,7 +160,7 @@ static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, micral_state )
AM_RANGE(0xfffd, 0xffff) // more unknown ports
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mem_kbd, AS_PROGRAM, 8, micral_state )
+ADDRESS_MAP_START(micral_state::mem_kbd)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x03ff) AM_ROM
AM_RANGE(0x8000, 0x8000) AM_RAM // byte returned to main cpu after receiving irq
@@ -177,7 +180,7 @@ static ADDRESS_MAP_START( mem_kbd, AS_PROGRAM, 8, micral_state )
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("X13")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_kbd, AS_IO, 8, micral_state )
+ADDRESS_MAP_START(micral_state::io_kbd)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("X14")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/micro20.cpp b/src/mame/drivers/micro20.cpp
index 6b3dd1f2337..823857d315f 100644
--- a/src/mame/drivers/micro20.cpp
+++ b/src/mame/drivers/micro20.cpp
@@ -63,6 +63,7 @@ public:
}
void micro20(machine_config &config);
+ void micro20_map(address_map &map);
private:
u8 m_tin;
u8 m_h4;
@@ -139,7 +140,7 @@ READ32_MEMBER(micro20_state::buserror_r)
ADDRESS MAPS
***************************************************************************/
-static ADDRESS_MAP_START(micro20_map, AS_PROGRAM, 32, micro20_state )
+ADDRESS_MAP_START(micro20_state::micro20_map)
AM_RANGE(0x00000000, 0x001fffff) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x00200000, 0x002fffff) AM_READ(buserror_r)
AM_RANGE(0x00800000, 0x0083ffff) AM_ROM AM_REGION("bootrom", 0)
diff --git a/src/mame/drivers/micro3d.cpp b/src/mame/drivers/micro3d.cpp
index fd353051a0c..ab0bfc4ef17 100644
--- a/src/mame/drivers/micro3d.cpp
+++ b/src/mame/drivers/micro3d.cpp
@@ -204,7 +204,7 @@ INPUT_PORTS_END
*
*************************************/
-static ADDRESS_MAP_START( hostmem, AS_PROGRAM, 16, micro3d_state )
+ADDRESS_MAP_START(micro3d_state::hostmem)
AM_RANGE(0x000000, 0x143fff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x800000, 0x83ffff) AM_RAM AM_SHARE("shared_ram")
@@ -228,7 +228,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( vgbmem, AS_PROGRAM, 16, micro3d_state )
+ADDRESS_MAP_START(micro3d_state::vgbmem)
AM_RANGE(0x00000000, 0x007fffff) AM_RAM AM_SHARE("sprite_vram")
AM_RANGE(0x00800000, 0x00bfffff) AM_RAM
AM_RANGE(0x00c00000, 0x00c0000f) AM_READ_PORT("VGB_SW")
@@ -250,11 +250,11 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( drmath_prg, AS_PROGRAM, 32, micro3d_state )
+ADDRESS_MAP_START(micro3d_state::drmath_prg)
AM_RANGE(0x00000000, 0x000fffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( drmath_data, AS_DATA, 32, micro3d_state )
+ADDRESS_MAP_START(micro3d_state::drmath_data)
AM_RANGE(0x00000000, 0x000fffff) AM_ROM AM_REGION("drmath", 0)
AM_RANGE(0x00800000, 0x0083ffff) AM_READWRITE(micro3d_shared_r, micro3d_shared_w)
AM_RANGE(0x00400000, 0x004fffff) AM_RAM
@@ -275,11 +275,11 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( soundmem_prg, AS_PROGRAM, 8, micro3d_state )
+ADDRESS_MAP_START(micro3d_state::soundmem_prg)
AM_RANGE(0x0000, 0x7fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( soundmem_io, AS_IO, 8, micro3d_state )
+ADDRESS_MAP_START(micro3d_state::soundmem_io)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0xfd00, 0xfd01) AM_DEVREADWRITE("ym2151", ym2151_device, read, write)
AM_RANGE(0xfe00, 0xfe00) AM_WRITE(micro3d_upd7759_w)
diff --git a/src/mame/drivers/microdec.cpp b/src/mame/drivers/microdec.cpp
index cf9b3a825d4..ee5ebf4c6e1 100644
--- a/src/mame/drivers/microdec.cpp
+++ b/src/mame/drivers/microdec.cpp
@@ -55,6 +55,8 @@ public:
DECLARE_DRIVER_INIT(microdec);
void microdec(machine_config &config);
+ void microdec_io(address_map &map);
+ void microdec_mem(address_map &map);
private:
uint8_t m_portf8;
bool m_fdc_rdy;
@@ -120,13 +122,13 @@ WRITE8_MEMBER( microdec_state::portf8_w )
m_floppy->mon_w(0);
}
-static ADDRESS_MAP_START(microdec_mem, AS_PROGRAM, 8, microdec_state)
+ADDRESS_MAP_START(microdec_state::microdec_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x0fff ) AM_READ_BANK("bankr0") AM_WRITE_BANK("bankw0")
AM_RANGE( 0x1000, 0xffff ) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(microdec_io, AS_IO, 8, microdec_state)
+ADDRESS_MAP_START(microdec_state::microdec_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xf5, 0xf5) AM_READ(portf5_r)
diff --git a/src/mame/drivers/microkit.cpp b/src/mame/drivers/microkit.cpp
index 21696f72e8f..fe216a8d688 100644
--- a/src/mame/drivers/microkit.cpp
+++ b/src/mame/drivers/microkit.cpp
@@ -54,6 +54,8 @@ public:
DECLARE_READ8_MEMBER(ram_r);
void microkit(machine_config &config);
+ void microkit_io(address_map &map);
+ void microkit_mem(address_map &map);
private:
virtual void machine_reset() override;
uint8_t m_resetcnt;
@@ -63,13 +65,13 @@ private:
required_device<generic_terminal_device> m_terminal;
};
-static ADDRESS_MAP_START( microkit_mem, AS_PROGRAM, 8, microkit_state )
+ADDRESS_MAP_START(microkit_state::microkit_mem)
AM_RANGE(0x0000, 0x0000) AM_READWRITE(ram_r,ram_w)
AM_RANGE(0x8000, 0x81ff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x8200, 0x83ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( microkit_io, AS_IO, 8, microkit_state )
+ADDRESS_MAP_START(microkit_state::microkit_io)
AM_RANGE(0x07, 0x07) AM_WRITENOP // writes a lots of zeros here
ADDRESS_MAP_END
diff --git a/src/mame/drivers/micronic.cpp b/src/mame/drivers/micronic.cpp
index 5d154c9b197..fd740d694ae 100644
--- a/src/mame/drivers/micronic.cpp
+++ b/src/mame/drivers/micronic.cpp
@@ -218,12 +218,12 @@ WRITE8_MEMBER( micronic_state::rtc_data_w )
Machine
***************************************************************************/
-static ADDRESS_MAP_START(micronic_mem, AS_PROGRAM, 8, micronic_state)
+ADDRESS_MAP_START(micronic_state::micronic_mem)
AM_RANGE(0x0000, 0x7fff) AM_RAMBANK("bank1")
AM_RANGE(0x8000, 0xffff) AM_RAM AM_SHARE("ram_base")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(micronic_io, AS_IO, 8, micronic_state)
+ADDRESS_MAP_START(micronic_state::micronic_io)
ADDRESS_MAP_GLOBAL_MASK (0xff)
/* keypad */
diff --git a/src/mame/drivers/micropin.cpp b/src/mame/drivers/micropin.cpp
index 6bd213e7407..c2a8601dcb2 100644
--- a/src/mame/drivers/micropin.cpp
+++ b/src/mame/drivers/micropin.cpp
@@ -59,6 +59,9 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(timer_a);
void pentacup2(machine_config &config);
void micropin(machine_config &config);
+ void micropin_map(address_map &map);
+ void pentacup2_io(address_map &map);
+ void pentacup2_map(address_map &map);
private:
uint8_t m_row;
uint8_t m_counter;
@@ -72,7 +75,7 @@ private:
};
-static ADDRESS_MAP_START( micropin_map, AS_PROGRAM, 8, micropin_state )
+ADDRESS_MAP_START(micropin_state::micropin_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x01ff) AM_RAM AM_SHARE("nvram") // 4x 6561 RAM
AM_RANGE(0x4000, 0x4005) AM_WRITE(sw_w)
@@ -89,12 +92,12 @@ static ADDRESS_MAP_START( micropin_map, AS_PROGRAM, 8, micropin_state )
AM_RANGE(0x6400, 0x7fff) AM_ROM AM_REGION("v1cpu", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pentacup2_map, AS_PROGRAM, 8, micropin_state )
+ADDRESS_MAP_START(micropin_state::pentacup2_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pentacup2_io, AS_IO, 8, micropin_state )
+ADDRESS_MAP_START(micropin_state::pentacup2_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x0e) AM_WRITE(sw_w)
AM_RANGE(0x0f, 0x0f) AM_WRITE(lamp_w)
diff --git a/src/mame/drivers/microtan.cpp b/src/mame/drivers/microtan.cpp
index b33cdf34c1f..321d9088eea 100644
--- a/src/mame/drivers/microtan.cpp
+++ b/src/mame/drivers/microtan.cpp
@@ -55,7 +55,7 @@
#include "speaker.h"
-static ADDRESS_MAP_START( microtan_map, AS_PROGRAM, 8, microtan_state )
+ADDRESS_MAP_START(microtan_state::microtan_map)
AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x0200, 0x03ff) AM_RAM_WRITE(microtan_videoram_w) AM_SHARE("videoram")
AM_RANGE(0xbc00, 0xbc00) AM_DEVWRITE("ay8910.1", ay8910_device, address_w)
diff --git a/src/mame/drivers/microterm.cpp b/src/mame/drivers/microterm.cpp
index d2e8fb88300..70a3d096028 100644
--- a/src/mame/drivers/microterm.cpp
+++ b/src/mame/drivers/microterm.cpp
@@ -30,6 +30,11 @@ public:
void mt420(machine_config &config);
void mt5510(machine_config &config);
+ void mt420_io_map(address_map &map);
+ void mt420_mem_map(address_map &map);
+ void mt420_vram_map(address_map &map);
+ void mt5510_io_map(address_map &map);
+ void mt5510_mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
optional_region_ptr<u8> m_p_chargen;
@@ -45,7 +50,7 @@ READ8_MEMBER(microterm_state::c000_r)
return machine().rand() & 0x80;
}
-static ADDRESS_MAP_START( mt420_mem_map, AS_PROGRAM, 8, microterm_state )
+ADDRESS_MAP_START(microterm_state::mt420_mem_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x9000, 0x9000) AM_WRITENOP
AM_RANGE(0xc000, 0xc000) AM_READ(c000_r) AM_WRITENOP
@@ -54,7 +59,7 @@ static ADDRESS_MAP_START( mt420_mem_map, AS_PROGRAM, 8, microterm_state )
AM_RANGE(0xf000, 0xf7ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mt420_io_map, AS_IO, 8, microterm_state )
+ADDRESS_MAP_START(microterm_state::mt420_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xe0, 0xef) AM_DEVREADWRITE("duart", scn2681_device, read, write)
AM_RANGE(0xf0, 0xf3) AM_DEVREADWRITE("aci", mc2661_device, read, write)
@@ -64,17 +69,17 @@ SCN2674_DRAW_CHARACTER_MEMBER(microterm_state::draw_character)
{
}
-static ADDRESS_MAP_START( mt420_vram_map, 0, 8, microterm_state )
+ADDRESS_MAP_START(microterm_state::mt420_vram_map)
AM_RANGE(0x0000, 0x3fff) AM_NOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mt5510_mem_map, AS_PROGRAM, 8, microterm_state )
+ADDRESS_MAP_START(microterm_state::mt5510_mem_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("maincpu", 0) AM_WRITENOP
AM_RANGE(0x8000, 0xbfff) AM_RAM
AM_RANGE(0xc000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mt5510_io_map, AS_IO, 8, microterm_state )
+ADDRESS_MAP_START(microterm_state::mt5510_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x60, 0x6f) AM_DEVREADWRITE("duart", scn2681_device, read, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/midas.cpp b/src/mame/drivers/midas.cpp
index a17c24061a6..83ab2da8454 100644
--- a/src/mame/drivers/midas.cpp
+++ b/src/mame/drivers/midas.cpp
@@ -106,6 +106,8 @@ public:
void hammer(machine_config &config);
void livequiz(machine_config &config);
+ void hammer_map(address_map &map);
+ void livequiz_map(address_map &map);
};
@@ -194,7 +196,7 @@ WRITE16_MEMBER(midas_state::livequiz_coin_w)
#endif
}
-static ADDRESS_MAP_START( livequiz_map, AS_PROGRAM, 16, midas_state )
+ADDRESS_MAP_START(midas_state::livequiz_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x900000, 0x900001) AM_READ_PORT("DSW_PLAYER1")
@@ -265,7 +267,7 @@ WRITE16_MEMBER(midas_state::hammer_motor_w)
#endif
}
-static ADDRESS_MAP_START( hammer_map, AS_PROGRAM, 16, midas_state )
+ADDRESS_MAP_START(midas_state::hammer_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x900000, 0x900001) AM_READ_PORT("DSW")
diff --git a/src/mame/drivers/midqslvr.cpp b/src/mame/drivers/midqslvr.cpp
index 20a9bb3a4bf..b3916af23f2 100644
--- a/src/mame/drivers/midqslvr.cpp
+++ b/src/mame/drivers/midqslvr.cpp
@@ -63,6 +63,8 @@ public:
virtual void machine_reset() override;
void intel82439tx_init();
void midqslvr(machine_config &config);
+ void midqslvr_io(address_map &map);
+ void midqslvr_map(address_map &map);
};
@@ -357,7 +359,7 @@ WRITE32_MEMBER(midqslvr_state::bios_ram_w)
}
}
-static ADDRESS_MAP_START(midqslvr_map, AS_PROGRAM, 32, midqslvr_state)
+ADDRESS_MAP_START(midqslvr_state::midqslvr_map)
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", vga_device, mem_r, mem_w, 0xffffffff)
AM_RANGE(0x000c0000, 0x000c3fff) AM_ROMBANK("video_bank1") AM_WRITE(isa_ram1_w)
@@ -371,7 +373,7 @@ static ADDRESS_MAP_START(midqslvr_map, AS_PROGRAM, 32, midqslvr_state)
AM_RANGE(0xfff80000, 0xffffffff) AM_ROM AM_REGION("bios", 0) /* System BIOS */
ADDRESS_MAP_END
-static ADDRESS_MAP_START(midqslvr_io, AS_IO, 32, midqslvr_state)
+ADDRESS_MAP_START(midqslvr_state::midqslvr_io)
AM_IMPORT_FROM(pcat32_io_common)
AM_RANGE(0x00e8, 0x00ef) AM_NOP
diff --git a/src/mame/drivers/midtunit.cpp b/src/mame/drivers/midtunit.cpp
index 79cbfd70998..c0eedccab22 100644
--- a/src/mame/drivers/midtunit.cpp
+++ b/src/mame/drivers/midtunit.cpp
@@ -44,7 +44,7 @@
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, midtunit_state )
+ADDRESS_MAP_START(midtunit_state::main_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000000, 0x003fffff) AM_READWRITE(midtunit_vram_r, midtunit_vram_w)
AM_RANGE(0x01000000, 0x013fffff) AM_RAM
diff --git a/src/mame/drivers/midvunit.cpp b/src/mame/drivers/midvunit.cpp
index 3e99a8086db..584446a20f8 100644
--- a/src/mame/drivers/midvunit.cpp
+++ b/src/mame/drivers/midvunit.cpp
@@ -577,7 +577,7 @@ WRITE8_MEMBER(midvunit_state::midvplus_xf1_w)
*
*************************************/
-static ADDRESS_MAP_START( midvunit_map, AS_PROGRAM, 32, midvunit_state )
+ADDRESS_MAP_START(midvunit_state::midvunit_map)
AM_RANGE(0x000000, 0x01ffff) AM_RAM AM_SHARE("ram_base")
AM_RANGE(0x400000, 0x41ffff) AM_RAM
AM_RANGE(0x600000, 0x600000) AM_WRITE(midvunit_dma_queue_w)
@@ -608,7 +608,7 @@ static ADDRESS_MAP_START( midvunit_map, AS_PROGRAM, 32, midvunit_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( midvplus_map, AS_PROGRAM, 32, midvunit_state )
+ADDRESS_MAP_START(midvunit_state::midvplus_map)
AM_RANGE(0x000000, 0x01ffff) AM_RAM AM_SHARE("ram_base")
AM_RANGE(0x400000, 0x41ffff) AM_RAM AM_SHARE("fastram_base")
AM_RANGE(0x600000, 0x600000) AM_WRITE(midvunit_dma_queue_w)
diff --git a/src/mame/drivers/midwunit.cpp b/src/mame/drivers/midwunit.cpp
index 138508a7acf..1036bac056f 100644
--- a/src/mame/drivers/midwunit.cpp
+++ b/src/mame/drivers/midwunit.cpp
@@ -110,7 +110,7 @@ Notes:
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, midwunit_state )
+ADDRESS_MAP_START(midwunit_state::main_map)
AM_RANGE(0x00000000, 0x003fffff) AM_READWRITE(midtunit_vram_r, midtunit_vram_w)
AM_RANGE(0x01000000, 0x013fffff) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x01400000, 0x0145ffff) AM_READWRITE(midwunit_cmos_r, midwunit_cmos_w) AM_SHARE("nvram")
diff --git a/src/mame/drivers/midxunit.cpp b/src/mame/drivers/midxunit.cpp
index 6b2a777a149..69436d8baeb 100644
--- a/src/mame/drivers/midxunit.cpp
+++ b/src/mame/drivers/midxunit.cpp
@@ -104,7 +104,7 @@ There's a separate sound board also, but it wasn't available so is not documente
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, midxunit_state )
+ADDRESS_MAP_START(midxunit_state::main_map)
AM_RANGE(0x00000000, 0x003fffff) AM_READWRITE(midtunit_vram_data_r, midtunit_vram_data_w)
AM_RANGE(0x00800000, 0x00bfffff) AM_READWRITE(midtunit_vram_color_r, midtunit_vram_color_w)
AM_RANGE(0x20000000, 0x20ffffff) AM_RAM
diff --git a/src/mame/drivers/midyunit.cpp b/src/mame/drivers/midyunit.cpp
index 0340e978216..9ec92001e9e 100644
--- a/src/mame/drivers/midyunit.cpp
+++ b/src/mame/drivers/midyunit.cpp
@@ -178,7 +178,7 @@ CUSTOM_INPUT_MEMBER(midyunit_state::adpcm_irq_state_r)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, midyunit_state )
+ADDRESS_MAP_START(midyunit_state::main_map)
AM_RANGE(0x00000000, 0x001fffff) AM_READWRITE(midyunit_vram_r, midyunit_vram_w)
AM_RANGE(0x01000000, 0x010fffff) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x01400000, 0x0140ffff) AM_READWRITE(midyunit_cmos_r, midyunit_cmos_w)
@@ -194,7 +194,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, midyunit_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( yawdim_sound_map, AS_PROGRAM, 8, midyunit_state )
+ADDRESS_MAP_START(midyunit_state::yawdim_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x97ff) AM_WRITE(yawdim_oki_bank_w)
diff --git a/src/mame/drivers/midzeus.cpp b/src/mame/drivers/midzeus.cpp
index 914e295f4b0..31b57ea7a76 100644
--- a/src/mame/drivers/midzeus.cpp
+++ b/src/mame/drivers/midzeus.cpp
@@ -78,6 +78,8 @@ public:
DECLARE_WRITE32_MEMBER(zeus2_timekeeper_w);
void thegrid(machine_config &config);
void crusnexo(machine_config &config);
+ void midzeus2(machine_config &config);
+ void zeus2_map(address_map &map);
private:
};
@@ -730,7 +732,7 @@ READ32_MEMBER(midzeus_state::invasn_gun_r)
*
*************************************/
-static ADDRESS_MAP_START( zeus_map, AS_PROGRAM, 32, midzeus_state )
+ADDRESS_MAP_START(midzeus_state::zeus_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x03ffff) AM_RAM AM_SHARE("ram_base")
AM_RANGE(0x400000, 0x41ffff) AM_RAM
@@ -745,7 +747,7 @@ static ADDRESS_MAP_START( zeus_map, AS_PROGRAM, 32, midzeus_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( zeus2_map, AS_PROGRAM, 32, midzeus2_state )
+ADDRESS_MAP_START(midzeus2_state::zeus2_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x03ffff) AM_RAM AM_SHARE("ram_base")
AM_RANGE(0x400000, 0x43ffff) AM_RAM
@@ -1299,7 +1301,7 @@ MACHINE_CONFIG_DERIVED(midzeus_state::invasn, midzeus)
MCFG_MIDWAY_IOASIC_UPPER(468/* or 488 */)
MACHINE_CONFIG_END
-MACHINE_CONFIG_START(midzeus_state::midzeus2)
+MACHINE_CONFIG_START(midzeus2_state::midzeus2)
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", TMS32032, CPU_CLOCK)
diff --git a/src/mame/drivers/mightyframe.cpp b/src/mame/drivers/mightyframe.cpp
index 04eaf9b96fa..2e5c5dc1adf 100644
--- a/src/mame/drivers/mightyframe.cpp
+++ b/src/mame/drivers/mightyframe.cpp
@@ -25,11 +25,12 @@ public:
{ }
void mightyframe(machine_config &config);
+void mem_map(address_map &map);
private:
// required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 16, mightyframe_state )
+ADDRESS_MAP_START(mightyframe_state::mem_map)
AM_RANGE(0x000000, 0x007fff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mikie.cpp b/src/mame/drivers/mikie.cpp
index 7abe616b3a4..5f78edb9f27 100644
--- a/src/mame/drivers/mikie.cpp
+++ b/src/mame/drivers/mikie.cpp
@@ -105,7 +105,7 @@ WRITE_LINE_MEMBER(mikie_state::irq_mask_w)
*
*************************************/
-static ADDRESS_MAP_START( mikie_map, AS_PROGRAM, 8, mikie_state )
+ADDRESS_MAP_START(mikie_state::mikie_map)
AM_RANGE(0x0000, 0x00ff) AM_RAM
AM_RANGE(0x2000, 0x2007) AM_DEVWRITE("mainlatch", ls259_device, write_d0)
AM_RANGE(0x2100, 0x2100) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
@@ -125,7 +125,7 @@ static ADDRESS_MAP_START( mikie_map, AS_PROGRAM, 8, mikie_state )
AM_RANGE(0x6000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, mikie_state )
+ADDRESS_MAP_START(mikie_state::sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM
AM_RANGE(0x8000, 0x8000) AM_WRITENOP // sound command latch
diff --git a/src/mame/drivers/mikro80.cpp b/src/mame/drivers/mikro80.cpp
index 0e49cfbb8f8..06433364023 100644
--- a/src/mame/drivers/mikro80.cpp
+++ b/src/mame/drivers/mikro80.cpp
@@ -20,7 +20,7 @@
#include "speaker.h"
/* Address maps */
-static ADDRESS_MAP_START(mikro80_mem, AS_PROGRAM, 8, mikro80_state )
+ADDRESS_MAP_START(mikro80_state::mikro80_mem)
AM_RANGE( 0x0000, 0x07ff ) AM_RAMBANK("bank1") // First bank
AM_RANGE( 0x0800, 0xdfff ) AM_RAM // RAM
AM_RANGE( 0xe000, 0xe7ff ) AM_RAM AM_SHARE("cursor_ram")// Video RAM
@@ -29,18 +29,18 @@ static ADDRESS_MAP_START(mikro80_mem, AS_PROGRAM, 8, mikro80_state )
AM_RANGE( 0xf800, 0xffff ) AM_ROM // System ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mikro80_io , AS_IO, 8, mikro80_state )
+ADDRESS_MAP_START(mikro80_state::mikro80_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x01, 0x01) AM_READWRITE(mikro80_tape_r, mikro80_tape_w )
AM_RANGE( 0x04, 0x07) AM_READWRITE(mikro80_keyboard_r, mikro80_keyboard_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kristall_io , AS_IO, 8, mikro80_state )
+ADDRESS_MAP_START(mikro80_state::kristall_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x00, 0x03) AM_DEVREADWRITE("ppi8255", i8255_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( radio99_io , AS_IO, 8, mikro80_state )
+ADDRESS_MAP_START(mikro80_state::radio99_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x01, 0x01) AM_READWRITE(mikro80_tape_r, mikro80_tape_w )
AM_RANGE( 0x04, 0x04) AM_WRITE(radio99_sound_w)
diff --git a/src/mame/drivers/mikromik.cpp b/src/mame/drivers/mikromik.cpp
index 018578ac5bd..6221568aaed 100644
--- a/src/mame/drivers/mikromik.cpp
+++ b/src/mame/drivers/mikromik.cpp
@@ -264,7 +264,7 @@ WRITE8_MEMBER( mm1_state::ls259_w )
// ADDRESS_MAP( mm1_map )
//-------------------------------------------------
-static ADDRESS_MAP_START( mm1_map, AS_PROGRAM, 8, mm1_state )
+ADDRESS_MAP_START(mm1_state::mm1_map)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(read, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mikrosha.cpp b/src/mame/drivers/mikrosha.cpp
index 0cb3c3fc65b..de6ed0b01f5 100644
--- a/src/mame/drivers/mikrosha.cpp
+++ b/src/mame/drivers/mikrosha.cpp
@@ -38,6 +38,8 @@ public:
DECLARE_MACHINE_RESET(mikrosha);
void mikrosha(machine_config &config);
+ void mikrosha_io(address_map &map);
+ void mikrosha_mem(address_map &map);
protected:
required_device<generic_slot_device> m_cart;
};
@@ -50,7 +52,7 @@ MACHINE_RESET_MEMBER(mikrosha_state,mikrosha)
}
/* Address maps */
-static ADDRESS_MAP_START(mikrosha_mem, AS_PROGRAM, 8, mikrosha_state )
+ADDRESS_MAP_START(mikrosha_state::mikrosha_mem)
AM_RANGE( 0x0000, 0x0fff ) AM_RAMBANK("bank1") // First bank
AM_RANGE( 0x1000, 0x7fff ) AM_RAM // RAM
AM_RANGE( 0xc000, 0xc003 ) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write) AM_MIRROR(0x07fc)
@@ -62,7 +64,7 @@ static ADDRESS_MAP_START(mikrosha_mem, AS_PROGRAM, 8, mikrosha_state )
AM_RANGE( 0xf800, 0xffff ) AM_ROM // System ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mikrosha_io , AS_IO, 8, mikrosha_state )
+ADDRESS_MAP_START(mikrosha_state::mikrosha_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x00, 0xff ) AM_READWRITE(radio_io_r,radio_io_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mil4000.cpp b/src/mame/drivers/mil4000.cpp
index e539c621fc2..3070df23a31 100644
--- a/src/mame/drivers/mil4000.cpp
+++ b/src/mame/drivers/mil4000.cpp
@@ -167,6 +167,8 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
void chewheel(machine_config &config);
void mil4000(machine_config &config);
+ void chewheel_map(address_map &map);
+ void mil4000_map(address_map &map);
};
@@ -423,7 +425,7 @@ WRITE16_MEMBER(mil4000_state::unk_w)
}
-static ADDRESS_MAP_START( mil4000_map, AS_PROGRAM, 16, mil4000_state )
+ADDRESS_MAP_START(mil4000_state::mil4000_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x500000, 0x503fff) AM_RAM_WRITE(sc0_vram_w) AM_SHARE("sc0_vram") // CY62256L-70, U77
AM_RANGE(0x504000, 0x507fff) AM_RAM_WRITE(sc1_vram_w) AM_SHARE("sc1_vram") // CY62256L-70, U77
@@ -442,7 +444,7 @@ static ADDRESS_MAP_START( mil4000_map, AS_PROGRAM, 16, mil4000_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( chewheel_map, AS_PROGRAM, 16, mil4000_state )
+ADDRESS_MAP_START(mil4000_state::chewheel_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x500000, 0x503fff) AM_RAM_WRITE(sc0_vram_w) AM_SHARE("sc0_vram") // V62C518256L-35P (U7).
AM_RANGE(0x504000, 0x507fff) AM_RAM_WRITE(sc1_vram_w) AM_SHARE("sc1_vram") // V62C518256L-35P (U7).
diff --git a/src/mame/drivers/milwaukee.cpp b/src/mame/drivers/milwaukee.cpp
index 0b26564d7d6..e703e31f450 100644
--- a/src/mame/drivers/milwaukee.cpp
+++ b/src/mame/drivers/milwaukee.cpp
@@ -30,12 +30,13 @@ public:
{ }
void milwaukee(machine_config &config);
+ void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
//required_region_ptr<u8> m_p_chargen;
};
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, milwaukee_state )
+ADDRESS_MAP_START(milwaukee_state::mem_map)
AM_RANGE(0x0000, 0xf7ff) AM_RAM
//AM_RANGE(0xf800, 0xf87f) expansion i/o
AM_RANGE(0xf880, 0xf881) AM_DEVREADWRITE("acia1", acia6850_device, read, write) // terminal
diff --git a/src/mame/drivers/mini2440.cpp b/src/mame/drivers/mini2440.cpp
index aabf17f2e5e..f8b9b80d2f5 100644
--- a/src/mame/drivers/mini2440.cpp
+++ b/src/mame/drivers/mini2440.cpp
@@ -57,6 +57,7 @@ public:
DECLARE_READ32_MEMBER(s3c2440_adc_data_r );
void mini2440(machine_config &config);
+ void mini2440_map(address_map &map);
};
inline void mini2440_state::verboselog(int n_level, const char *s_fmt, ...)
@@ -206,7 +207,7 @@ void mini2440_state::machine_reset()
ADDRESS MAPS
***************************************************************************/
-static ADDRESS_MAP_START( mini2440_map, AS_PROGRAM, 32, mini2440_state )
+ADDRESS_MAP_START(mini2440_state::mini2440_map)
// AM_RANGE(0x00000000, 0x001fffff) AM_ROM
AM_RANGE(0x30000000, 0x37ffffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/miniboy7.cpp b/src/mame/drivers/miniboy7.cpp
index e449c2ecd1b..a6486d0d874 100644
--- a/src/mame/drivers/miniboy7.cpp
+++ b/src/mame/drivers/miniboy7.cpp
@@ -190,6 +190,7 @@ public:
DECLARE_PALETTE_INIT(miniboy7);
void miniboy7(machine_config &config);
+ void miniboy7_map(address_map &map);
private:
uint8_t m_ay_pb;
int m_gpri;
@@ -344,7 +345,7 @@ WRITE_LINE_MEMBER(miniboy7_state::pia_ca2_w)
* Memory Map Information *
***********************************/
-static ADDRESS_MAP_START( miniboy7_map, AS_PROGRAM, 8, miniboy7_state )
+ADDRESS_MAP_START(miniboy7_state::miniboy7_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram") /* battery backed RAM? */
AM_RANGE(0x0800, 0x0fff) AM_RAM AM_SHARE("videoram_a")
AM_RANGE(0x1000, 0x17ff) AM_RAM AM_SHARE("colorram_a")
diff --git a/src/mame/drivers/minicom.cpp b/src/mame/drivers/minicom.cpp
index d82b0251584..ce0708d42e2 100644
--- a/src/mame/drivers/minicom.cpp
+++ b/src/mame/drivers/minicom.cpp
@@ -56,6 +56,7 @@ public:
DECLARE_READ8_MEMBER(minicom_io_r);
DECLARE_DRIVER_INIT(minicom);
void minicom(machine_config &config);
+ void i87c52_io(address_map &map);
private:
uint8_t m_p[4];
uint16_t m_display_data;
@@ -65,7 +66,7 @@ private:
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START(i87c52_io, AS_IO, 8, minicom_state)
+ADDRESS_MAP_START(minicom_state::i87c52_io)
AM_RANGE(MCS51_PORT_P0, MCS51_PORT_P3) AM_READWRITE(minicom_io_r, minicom_io_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/miniforce.cpp b/src/mame/drivers/miniforce.cpp
index 1e411d2ea05..27e4f87313f 100644
--- a/src/mame/drivers/miniforce.cpp
+++ b/src/mame/drivers/miniforce.cpp
@@ -136,10 +136,11 @@ miniforce_state(const machine_config &mconfig, device_type type, const char *tag
virtual void machine_start () override;
virtual void machine_reset () override;
void miniforce(machine_config &config);
+ void miniforce_mem(address_map &map);
};
#if 0
-static ADDRESS_MAP_START (miniforce_mem, AS_PROGRAM, 32, miniforce_state)
+ADDRESS_MAP_START(miniforce_state::miniforce_mem)
ADDRESS_MAP_UNMAP_HIGH
/* The ROMs contains an OS9 bootloader. It is position independent but reset vector suggests that it sits flat on adress 0 (zero) */
// AM_RANGE (0x000000, 0x003fff) AM_ROM AM_REGION("roms", 0x000000) /* System EPROM Area 16Kb OS9 DEBUG - not verified */
diff --git a/src/mame/drivers/miniframe.cpp b/src/mame/drivers/miniframe.cpp
index f8569fc6948..aa62c8cc28f 100644
--- a/src/mame/drivers/miniframe.cpp
+++ b/src/mame/drivers/miniframe.cpp
@@ -57,6 +57,8 @@ public:
required_shared_ptr<uint16_t> m_mapram;
void miniframe(machine_config &config);
+ void miniframe_mem(address_map &map);
+ void ramrombank_map(address_map &map);
private:
uint16_t *m_ramptr;
uint32_t m_ramsize;
@@ -186,7 +188,7 @@ uint32_t miniframe_state::screen_update(screen_device &screen, bitmap_ind16 &bit
ADDRESS MAPS
***************************************************************************/
-static ADDRESS_MAP_START( miniframe_mem, AS_PROGRAM, 16, miniframe_state )
+ADDRESS_MAP_START(miniframe_state::miniframe_mem)
AM_RANGE(0x000000, 0x3fffff) AM_DEVICE("ramrombank", address_map_bank_device, amap16)
AM_RANGE(0x400000, 0x4007ff) AM_RAM AM_SHARE("mapram")
AM_RANGE(0x450000, 0x450001) AM_WRITE(general_ctrl_w)
@@ -196,7 +198,7 @@ static ADDRESS_MAP_START( miniframe_mem, AS_PROGRAM, 16, miniframe_state )
AM_RANGE(0xc90000, 0xc90003) AM_DEVREADWRITE8("pic8259", pic8259_device, read, write, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ramrombank_map, AS_PROGRAM, 16, miniframe_state )
+ADDRESS_MAP_START(miniframe_state::ramrombank_map)
AM_RANGE(0x000000, 0x3fffff) AM_ROM AM_REGION("bootrom", 0)
AM_RANGE(0x400000, 0x7fffff) AM_READWRITE(ram_mmu_r, ram_mmu_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/minitel_2_rpic.cpp b/src/mame/drivers/minitel_2_rpic.cpp
index 6edb8572bde..b42f6b915b7 100644
--- a/src/mame/drivers/minitel_2_rpic.cpp
+++ b/src/mame/drivers/minitel_2_rpic.cpp
@@ -108,6 +108,8 @@ public:
DECLARE_WRITE8_MEMBER ( ts9347_io_w );
void minitel2(machine_config &config);
+ void mem_io(address_map &map);
+ void mem_prg(address_map &map);
protected:
required_ioport_array<16> m_io_kbd;
virtual void machine_start() override;
@@ -294,11 +296,11 @@ TIMER_DEVICE_CALLBACK_MEMBER(minitel_state::minitel_scanline)
m_ts9347->update_scanline((uint16_t)param);
}
-static ADDRESS_MAP_START( mem_prg, AS_PROGRAM, 8, minitel_state )
+ADDRESS_MAP_START(minitel_state::mem_prg)
AM_RANGE(0x0000, 0x7fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mem_io, AS_IO, 8, minitel_state )
+ADDRESS_MAP_START(minitel_state::mem_io)
AM_RANGE(0x2000, 0x3fff) AM_READWRITE(dev_keyb_ser_r, dev_crtl_reg_w)
/* ts9347 */
AM_RANGE(0x4000, 0x5ffF) AM_READWRITE(ts9347_io_r, ts9347_io_w)
diff --git a/src/mame/drivers/minivadr.cpp b/src/mame/drivers/minivadr.cpp
index f1bc2702a5b..70bbec71ba8 100644
--- a/src/mame/drivers/minivadr.cpp
+++ b/src/mame/drivers/minivadr.cpp
@@ -52,6 +52,7 @@ public:
uint32_t screen_update_minivadr(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
void minivadr(machine_config &config);
+ void minivadr_map(address_map &map);
};
/*************************************
@@ -86,7 +87,7 @@ uint32_t minivadr_state::screen_update_minivadr(screen_device &screen, bitmap_rg
}
-static ADDRESS_MAP_START( minivadr_map, AS_PROGRAM, 8, minivadr_state )
+ADDRESS_MAP_START(minivadr_state::minivadr_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0xa000, 0xbfff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0xe008, 0xe008) AM_READ_PORT("INPUTS") AM_WRITENOP // W - ???
diff --git a/src/mame/drivers/mirage.cpp b/src/mame/drivers/mirage.cpp
index 6797ca1cb23..16eb3a27668 100644
--- a/src/mame/drivers/mirage.cpp
+++ b/src/mame/drivers/mirage.cpp
@@ -93,6 +93,7 @@ public:
uint32_t screen_update_mirage(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECO16IC_BANK_CB_MEMBER(bank_callback);
void mirage(machine_config &config);
+ void mirage_map(address_map &map);
};
void miragemj_state::video_start()
@@ -157,7 +158,7 @@ WRITE16_MEMBER(miragemj_state::okim0_rombank_w)
m_oki_bgm->set_rom_bank(data & 0x7);
}
-static ADDRESS_MAP_START( mirage_map, AS_PROGRAM, 16, miragemj_state )
+ADDRESS_MAP_START(miragemj_state::mirage_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
/* tilemaps */
AM_RANGE(0x100000, 0x101fff) AM_DEVREADWRITE("tilegen1", deco16ic_device, pf1_data_r, pf1_data_w) // 0x100000 - 0x101fff tested
diff --git a/src/mame/drivers/mirax.cpp b/src/mame/drivers/mirax.cpp
index 9b2bc7e318c..81d9140c60d 100644
--- a/src/mame/drivers/mirax.cpp
+++ b/src/mame/drivers/mirax.cpp
@@ -160,6 +160,8 @@ public:
INTERRUPT_GEN_MEMBER(vblank_irq);
void mirax(machine_config &config);
+ void mirax_main_map(address_map &map);
+ void mirax_sound_map(address_map &map);
};
@@ -315,7 +317,7 @@ WRITE_LINE_MEMBER(mirax_state::flip_screen_y_w)
m_flipscreen_y = state;
}
-static ADDRESS_MAP_START( mirax_main_map, AS_PROGRAM, 8, mirax_state )
+ADDRESS_MAP_START(mirax_state::mirax_main_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc800, 0xd7ff) AM_RAM
AM_RANGE(0xe000, 0xe3ff) AM_RAM AM_SHARE("videoram")
@@ -331,7 +333,7 @@ static ADDRESS_MAP_START( mirax_main_map, AS_PROGRAM, 8, mirax_state )
// AM_RANGE(0xf900, 0xf900) //sound cmd mirror? ack?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mirax_sound_map, AS_PROGRAM, 8, mirax_state )
+ADDRESS_MAP_START(mirax_state::mirax_sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0xa000, 0xa000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/missb2.cpp b/src/mame/drivers/missb2.cpp
index eb77572379a..e9bb7051f5d 100644
--- a/src/mame/drivers/missb2.cpp
+++ b/src/mame/drivers/missb2.cpp
@@ -46,6 +46,9 @@ public:
void missb2(machine_config &config);
void bublpong(machine_config &config);
+ void maincpu_map(address_map &map);
+ void sound_map(address_map &map);
+ void subcpu_map(address_map &map);
protected:
void configure_banks();
@@ -176,7 +179,7 @@ READ8_MEMBER(missb2_state::missb2_oki_r)
/* Memory Maps */
-static ADDRESS_MAP_START( maincpu_map, AS_PROGRAM, 8, missb2_state )
+ADDRESS_MAP_START(missb2_state::maincpu_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xdcff) AM_RAM AM_SHARE("videoram")
@@ -200,7 +203,7 @@ static ADDRESS_MAP_START( maincpu_map, AS_PROGRAM, 8, missb2_state )
AM_RANGE(0xff98, 0xff98) AM_WRITENOP // ???
ADDRESS_MAP_END
-static ADDRESS_MAP_START( subcpu_map, AS_PROGRAM, 8, missb2_state )
+ADDRESS_MAP_START(missb2_state::subcpu_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x9000, 0x9fff) AM_ROMBANK("bank2") // ROM data for the background palette ram
AM_RANGE(0xa000, 0xafff) AM_ROMBANK("bank3") // ROM data for the background palette ram
@@ -216,7 +219,7 @@ ADDRESS_MAP_END
// Looks like the original bublbobl code modified to support the OKI M6295.
// due to some really wacky bugs in the way the oki6295 was hacked in place, writes will happen to
// many addresses other than 9000: 9000-9001, 0000-0001, 3827-3828, 44a8-44a9
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, missb2_state )
+ADDRESS_MAP_START(missb2_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_READWRITE(missb2_oki_r, missb2_oki_w) //AM_MIRROR(0x0fff) ???
diff --git a/src/mame/drivers/missile.cpp b/src/mame/drivers/missile.cpp
index 2d23a45a20b..e01640201ee 100644
--- a/src/mame/drivers/missile.cpp
+++ b/src/mame/drivers/missile.cpp
@@ -426,6 +426,8 @@ public:
void missileb(machine_config &config);
void missile(machine_config &config);
void missilea(machine_config &config);
+ void bootleg_main_map(address_map &map);
+ void main_map(address_map &map);
};
@@ -944,12 +946,12 @@ READ8_MEMBER(missile_state::bootleg_r)
*************************************/
/* complete memory map derived from schematics (implemented above) */
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, missile_state )
+ADDRESS_MAP_START(missile_state::main_map)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(missile_r, missile_w) AM_SHARE("videoram")
ADDRESS_MAP_END
/* adjusted from the above to get the bootlegs to boot */
-static ADDRESS_MAP_START( bootleg_main_map, AS_PROGRAM, 8, missile_state )
+ADDRESS_MAP_START(missile_state::bootleg_main_map)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(bootleg_r, bootleg_w) AM_SHARE("videoram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mitchell.cpp b/src/mame/drivers/mitchell.cpp
index e098e2448b9..e19db9f99ad 100644
--- a/src/mame/drivers/mitchell.cpp
+++ b/src/mame/drivers/mitchell.cpp
@@ -315,7 +315,7 @@ WRITE8_MEMBER(mitchell_state::input_w)
*
*************************************/
-static ADDRESS_MAP_START( mgakuen_map, AS_PROGRAM, 8, mitchell_state )
+ADDRESS_MAP_START(mitchell_state::mgakuen_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc7ff) AM_RAM_DEVWRITE("palette", palette_device, write8) /* palette RAM */
@@ -325,7 +325,7 @@ static ADDRESS_MAP_START( mgakuen_map, AS_PROGRAM, 8, mitchell_state )
AM_RANGE(0xf000, 0xffff) AM_READWRITE(mgakuen_objram_r, mgakuen_objram_w) /* OBJ RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mitchell_map, AS_PROGRAM, 8, mitchell_state )
+ADDRESS_MAP_START(mitchell_state::mitchell_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc7ff) AM_READWRITE(pang_paletteram_r,pang_paletteram_w) /* Banked palette RAM */
@@ -334,13 +334,13 @@ static ADDRESS_MAP_START( mitchell_map, AS_PROGRAM, 8, mitchell_state )
AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("nvram") /* Work RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, mitchell_state )
+ADDRESS_MAP_START(mitchell_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0x7fff) AM_ROMBANK("bank0d")
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1d")
AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("nvram") /* Work RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mitchell_io_map, AS_IO, 8, mitchell_state )
+ADDRESS_MAP_START(mitchell_state::mitchell_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(pang_gfxctrl_w) /* Palette bank, layer enable, coin counters, more */
AM_RANGE(0x00, 0x02) AM_READ(input_r) /* The Mahjong games and Block Block need special input treatment */
@@ -357,7 +357,7 @@ static ADDRESS_MAP_START( mitchell_io_map, AS_IO, 8, mitchell_state )
ADDRESS_MAP_END
/* spangbl */
-static ADDRESS_MAP_START( spangbl_map, AS_PROGRAM, 8, mitchell_state )
+ADDRESS_MAP_START(mitchell_state::spangbl_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") AM_WRITENOP
AM_RANGE(0xc000, 0xc7ff) AM_READWRITE(pang_paletteram_r, pang_paletteram_w) /* Banked palette RAM */
@@ -366,7 +366,7 @@ static ADDRESS_MAP_START( spangbl_map, AS_PROGRAM, 8, mitchell_state )
AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("nvram") /* Work RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spangbl_io_map, AS_IO, 8, mitchell_state )
+ADDRESS_MAP_START(mitchell_state::spangbl_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x02) AM_READ(input_r)
AM_RANGE(0x00, 0x00) AM_WRITE(pangbl_gfxctrl_w) /* Palette bank, layer enable, coin counters, more */
@@ -387,7 +387,7 @@ WRITE8_MEMBER(mitchell_state::sound_bankswitch_w)
m_soundbank->set_entry(data & 7);
}
-static ADDRESS_MAP_START( spangbl_sound_map, AS_PROGRAM, 8, mitchell_state )
+ADDRESS_MAP_START(mitchell_state::spangbl_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("soundbank")
AM_RANGE(0xe000, 0xe000) AM_WRITE(sound_bankswitch_w)
@@ -397,7 +397,7 @@ static ADDRESS_MAP_START( spangbl_sound_map, AS_PROGRAM, 8, mitchell_state )
AM_RANGE(0xf800, 0xf800) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pangba_sound_map, AS_PROGRAM, 8, mitchell_state )
+ADDRESS_MAP_START(mitchell_state::pangba_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("soundbank")
AM_RANGE(0xe000, 0xe000) AM_WRITE(sound_bankswitch_w)
@@ -414,7 +414,7 @@ WRITE8_MEMBER(mitchell_state::oki_banking_w)
m_oki->set_rom_bank(data & 3);
}
-static ADDRESS_MAP_START( mstworld_sound_map, AS_PROGRAM, 8, mitchell_state )
+ADDRESS_MAP_START(mitchell_state::mstworld_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_WRITE(oki_banking_w)
@@ -428,7 +428,7 @@ WRITE8_MEMBER(mitchell_state::mstworld_sound_w)
m_audiocpu->set_input_line(0, HOLD_LINE);
}
-static ADDRESS_MAP_START( mstworld_io_map, AS_IO, 8, mitchell_state )
+ADDRESS_MAP_START(mitchell_state::mstworld_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_WRITE(mstworld_gfxctrl_w) /* Palette bank, layer enable, coin counters, more */
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
@@ -1197,7 +1197,7 @@ MACHINE_CONFIG_START(mitchell_state::pang)
MCFG_CPU_ADD("maincpu",Z80, XTAL(16'000'000)/2) /* verified on pcb */
MCFG_CPU_PROGRAM_MAP(mitchell_map)
MCFG_CPU_IO_MAP(mitchell_io_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", mitchell_state, mitchell_irq, "screen", 0, 1)
MCFG_MACHINE_START_OVERRIDE(mitchell_state,mitchell)
@@ -1271,7 +1271,7 @@ MACHINE_CONFIG_DERIVED(mitchell_state::spangbl, pangnv)
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(spangbl_map)
MCFG_CPU_IO_MAP(spangbl_io_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", mitchell_state, irq0_line_hold)
MCFG_DEVICE_REMOVE("scantimer")
@@ -1311,7 +1311,7 @@ MACHINE_CONFIG_START(mitchell_state::mstworld)
MCFG_CPU_ADD("maincpu", Z80, 6000000*4)
MCFG_CPU_PROGRAM_MAP(mitchell_map)
MCFG_CPU_IO_MAP(mstworld_io_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", mitchell_state, irq0_line_hold)
MCFG_CPU_ADD("audiocpu", Z80,6000000) /* 6 MHz? */
@@ -1352,7 +1352,7 @@ MACHINE_CONFIG_START(mitchell_state::marukin)
MCFG_CPU_ADD("maincpu", Z80, XTAL(16'000'000)/2) /* verified on pcb */
MCFG_CPU_PROGRAM_MAP(mitchell_map)
MCFG_CPU_IO_MAP(mitchell_io_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", mitchell_state, mitchell_irq, "screen", 0, 1)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
@@ -1407,7 +1407,7 @@ MACHINE_CONFIG_START(mitchell_state::pkladiesbl)
MCFG_CPU_ADD("maincpu", Z80, XTAL(12'000'000)/2) /* verified on pcb */
MCFG_CPU_PROGRAM_MAP(mitchell_map)
MCFG_CPU_IO_MAP(mitchell_io_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", mitchell_state, mitchell_irq, "screen", 0, 1)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
diff --git a/src/mame/drivers/mits680b.cpp b/src/mame/drivers/mits680b.cpp
index 8ff8e5596f3..e70d2bea596 100644
--- a/src/mame/drivers/mits680b.cpp
+++ b/src/mame/drivers/mits680b.cpp
@@ -38,6 +38,7 @@ public:
DECLARE_READ8_MEMBER(status_check_r);
void mits680b(machine_config &config);
+ void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
};
@@ -48,7 +49,7 @@ READ8_MEMBER( mits680b_state::status_check_r )
}
-static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 8, mits680b_state)
+ADDRESS_MAP_START(mits680b_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x03ff) AM_RAM // 1024 bytes RAM
AM_RANGE(0xf000, 0xf001) AM_DEVREADWRITE("acia", acia6850_device, read, write)
diff --git a/src/mame/drivers/mjkjidai.cpp b/src/mame/drivers/mjkjidai.cpp
index c8efefd490b..075622f2806 100644
--- a/src/mame/drivers/mjkjidai.cpp
+++ b/src/mame/drivers/mjkjidai.cpp
@@ -80,7 +80,7 @@ WRITE8_MEMBER(mjkjidai_state::keyboard_select_hi_w)
}
-static ADDRESS_MAP_START( mjkjidai_map, AS_PROGRAM, 8, mjkjidai_state )
+ADDRESS_MAP_START(mjkjidai_state::mjkjidai_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xcfff) AM_RAM
@@ -88,7 +88,7 @@ static ADDRESS_MAP_START( mjkjidai_map, AS_PROGRAM, 8, mjkjidai_state )
AM_RANGE(0xe000, 0xf7ff) AM_RAM_WRITE(mjkjidai_videoram_w) AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjkjidai_io_map, AS_IO, 8, mjkjidai_state )
+ADDRESS_MAP_START(mjkjidai_state::mjkjidai_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ppi1", i8255_device, read, write)
AM_RANGE(0x10, 0x13) AM_DEVREADWRITE("ppi2", i8255_device, read, write)
diff --git a/src/mame/drivers/mjsenpu.cpp b/src/mame/drivers/mjsenpu.cpp
index 1b0325070f0..4122704a7b0 100644
--- a/src/mame/drivers/mjsenpu.cpp
+++ b/src/mame/drivers/mjsenpu.cpp
@@ -101,6 +101,8 @@ public:
required_device<palette_device> m_palette;
void mjsenpu(machine_config &config);
+ void mjsenpu_32bit_map(address_map &map);
+ void mjsenpu_io(address_map &map);
};
@@ -212,7 +214,7 @@ READ32_MEMBER(mjsenpu_state::muxed_inputs_r)
return 0x00000000;// 0xffffffff;
}
-static ADDRESS_MAP_START( mjsenpu_32bit_map, AS_PROGRAM, 32, mjsenpu_state )
+ADDRESS_MAP_START(mjsenpu_state::mjsenpu_32bit_map)
AM_RANGE(0x00000000, 0x001fffff) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x40000000, 0x401fffff) AM_ROM AM_REGION("user2",0) // main game rom
@@ -227,7 +229,7 @@ static ADDRESS_MAP_START( mjsenpu_32bit_map, AS_PROGRAM, 32, mjsenpu_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjsenpu_io, AS_IO, 32, mjsenpu_state )
+ADDRESS_MAP_START(mjsenpu_state::mjsenpu_io)
AM_RANGE(0x4000, 0x4003) AM_READ(muxed_inputs_r)
AM_RANGE(0x4010, 0x4013) AM_READ_PORT("IN1")
diff --git a/src/mame/drivers/mjsister.cpp b/src/mame/drivers/mjsister.cpp
index 3ae23fddd0a..b43906bd9e2 100644
--- a/src/mame/drivers/mjsister.cpp
+++ b/src/mame/drivers/mjsister.cpp
@@ -92,6 +92,8 @@ public:
void plot1( int offset, uint8_t data );
void mjsister(machine_config &config);
+ void mjsister_io_map(address_map &map);
+ void mjsister_map(address_map &map);
protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
@@ -314,13 +316,13 @@ READ8_MEMBER(mjsister_state::keys_r)
*
*************************************/
-static ADDRESS_MAP_START( mjsister_map, AS_PROGRAM, 8, mjsister_state )
+ADDRESS_MAP_START(mjsister_state::mjsister_map)
AM_RANGE(0x0000, 0x77ff) AM_ROM
AM_RANGE(0x7800, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1") AM_WRITE(videoram_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjsister_io_map, AS_IO, 8, mjsister_state )
+ADDRESS_MAP_START(mjsister_state::mjsister_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_WRITENOP /* HD46505? */
AM_RANGE(0x10, 0x10) AM_DEVWRITE("aysnd", ay8910_device, address_w)
diff --git a/src/mame/drivers/mk1.cpp b/src/mame/drivers/mk1.cpp
index b13cf4d156d..b5847b4dc99 100644
--- a/src/mame/drivers/mk1.cpp
+++ b/src/mame/drivers/mk1.cpp
@@ -64,6 +64,8 @@ public:
F3853_INTERRUPT_REQ_CB(mk1_interrupt);
required_device<cpu_device> m_maincpu;
void mk1(machine_config &config);
+ void mk1_io(address_map &map);
+ void mk1_mem(address_map &map);
};
@@ -106,13 +108,13 @@ WRITE8_MEMBER( mk1_state::mk1_f8_w )
if ( ! ( m_f8[1] & 8 ) ) m_led[3] = bitswap<8>( m_f8[0],2,1,3,4,5,6,7,0 );
}
-static ADDRESS_MAP_START( mk1_mem, AS_PROGRAM, 8, mk1_state )
+ADDRESS_MAP_START(mk1_state::mk1_mem)
AM_RANGE( 0x0000, 0x07ff ) AM_ROM
AM_RANGE( 0x1800, 0x18ff ) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mk1_io, AS_IO, 8, mk1_state )
+ADDRESS_MAP_START(mk1_state::mk1_io)
AM_RANGE( 0x0, 0x1 ) AM_READWRITE( mk1_f8_r, mk1_f8_w )
AM_RANGE( 0xc, 0xf ) AM_DEVREADWRITE("f3853", f3853_device, read, write )
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mk14.cpp b/src/mame/drivers/mk14.cpp
index 4e5765663ee..0c37886d600 100644
--- a/src/mame/drivers/mk14.cpp
+++ b/src/mame/drivers/mk14.cpp
@@ -62,6 +62,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(cass_w);
DECLARE_READ_LINE_MEMBER(cass_r);
void mk14(machine_config &config);
+ void mem_map(address_map &map);
private:
virtual void machine_reset() override;
required_device<cpu_device> m_maincpu;
@@ -106,7 +107,7 @@ WRITE8_MEMBER( mk14_state::display_w )
}
}
-static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 8, mk14_state)
+ADDRESS_MAP_START(mk14_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x0fff)
AM_RANGE(0x000, 0x1ff) AM_MIRROR(0x600) AM_ROM // ROM
diff --git a/src/mame/drivers/mk2.cpp b/src/mame/drivers/mk2.cpp
index c6bb1dfa213..8127c6b1cb3 100644
--- a/src/mame/drivers/mk2.cpp
+++ b/src/mame/drivers/mk2.cpp
@@ -81,11 +81,12 @@ public:
virtual void machine_start() override;
TIMER_DEVICE_CALLBACK_MEMBER(update_leds);
void mk2(machine_config &config);
+ void mk2_mem(address_map &map);
};
// only lower 12 address bits on bus!
-static ADDRESS_MAP_START(mk2_mem , AS_PROGRAM, 8, mk2_state)
+ADDRESS_MAP_START(mk2_state::mk2_mem)
AM_RANGE( 0x0000, 0x01ff) AM_RAM // 2 2111, should be mirrored
AM_RANGE( 0x0b00, 0x0b0f) AM_DEVREADWRITE("miot", mos6530_device, read, write)
AM_RANGE( 0x0b80, 0x0bbf) AM_RAM // rriot ram
diff --git a/src/mame/drivers/mk85.cpp b/src/mame/drivers/mk85.cpp
index 408935b5774..88179ad6e90 100644
--- a/src/mame/drivers/mk85.cpp
+++ b/src/mame/drivers/mk85.cpp
@@ -38,10 +38,11 @@ public:
uint32_t screen_update_mk85(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
void mk85(machine_config &config);
+ void mk85_mem(address_map &map);
};
-static ADDRESS_MAP_START(mk85_mem, AS_PROGRAM, 16, mk85_state)
+ADDRESS_MAP_START(mk85_state::mk85_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x3fff ) AM_ROM AM_MIRROR(0x4000)
AM_RANGE( 0x8000, 0xffff ) AM_RAM
diff --git a/src/mame/drivers/mk90.cpp b/src/mame/drivers/mk90.cpp
index 11d455b606c..b1c7da08647 100644
--- a/src/mame/drivers/mk90.cpp
+++ b/src/mame/drivers/mk90.cpp
@@ -33,10 +33,11 @@ public:
uint32_t screen_update_mk90(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
void mk90(machine_config &config);
+ void mk90_mem(address_map &map);
};
-static ADDRESS_MAP_START(mk90_mem, AS_PROGRAM, 16, mk90_state)
+ADDRESS_MAP_START(mk90_state::mk90_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_RAM // RAM
AM_RANGE(0x4000, 0x7fff) AM_ROM // Extension ROM
diff --git a/src/mame/drivers/mkit09.cpp b/src/mame/drivers/mkit09.cpp
index 59482e5bbea..c16c0054b2a 100644
--- a/src/mame/drivers/mkit09.cpp
+++ b/src/mame/drivers/mkit09.cpp
@@ -59,6 +59,9 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(trigger_nmi);
void mkit09a(machine_config &config);
void mkit09(machine_config &config);
+ void mkit09_io(address_map &map);
+ void mkit09_mem(address_map &map);
+ void mkit09a_mem(address_map &map);
private:
uint8_t m_keydata;
virtual void machine_reset() override;
@@ -68,14 +71,14 @@ private:
};
-static ADDRESS_MAP_START(mkit09_mem, AS_PROGRAM, 8, mkit09_state)
+ADDRESS_MAP_START(mkit09_state::mkit09_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000,0x07ff) AM_MIRROR(0x1800) AM_RAM
AM_RANGE(0xa004,0xa007) AM_MIRROR(0x1ff8) AM_DEVREADWRITE("pia", pia6821_device, read_alt, write_alt)
AM_RANGE(0xe000,0xe7ff) AM_MIRROR(0x1800) AM_ROM AM_REGION("roms", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mkit09a_mem, AS_PROGRAM, 8, mkit09_state)
+ADDRESS_MAP_START(mkit09_state::mkit09a_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000,0x07ff) AM_RAM
AM_RANGE(0xe600,0xe603) AM_DEVREADWRITE("pia", pia6821_device, read_alt, write_alt)
@@ -83,7 +86,7 @@ static ADDRESS_MAP_START(mkit09a_mem, AS_PROGRAM, 8, mkit09_state)
AM_RANGE(0xf000,0xffff) AM_ROM AM_REGION("roms", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mkit09_io, AS_IO, 8, mkit09_state)
+ADDRESS_MAP_START(mkit09_state::mkit09_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mlanding.cpp b/src/mame/drivers/mlanding.cpp
index 60cc2f2ab42..754e23ba524 100644
--- a/src/mame/drivers/mlanding.cpp
+++ b/src/mame/drivers/mlanding.cpp
@@ -165,6 +165,13 @@ public:
void msm5205_update(int chip);
void mlanding(machine_config &config);
+ void audio_map_io(address_map &map);
+ void audio_map_prog(address_map &map);
+ void dsp_map_data(address_map &map);
+ void dsp_map_prog(address_map &map);
+ void main_map(address_map &map);
+ void mecha_map_prog(address_map &map);
+ void sub_map(address_map &map);
protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
};
@@ -709,7 +716,7 @@ READ8_MEMBER(mlanding_state::motor_r)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, mlanding_state )
+ADDRESS_MAP_START(mlanding_state::main_map)
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x080000, 0x08ffff) AM_RAM
AM_RANGE(0x100000, 0x17ffff) AM_RAM AM_SHARE("g_ram")
@@ -743,7 +750,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 16, mlanding_state )
+ADDRESS_MAP_START(mlanding_state::sub_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x040000, 0x043fff) AM_RAM
AM_RANGE(0x050000, 0x0503ff) AM_RAM AM_SHARE("dsp_prog")
@@ -762,11 +769,11 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( dsp_map_prog, AS_PROGRAM, 16, mlanding_state )
+ADDRESS_MAP_START(mlanding_state::dsp_map_prog)
AM_RANGE(0x0000, 0x03ff) AM_RAM AM_SHARE("dsp_prog")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dsp_map_data, AS_DATA, 16, mlanding_state )
+ADDRESS_MAP_START(mlanding_state::dsp_map_data)
AM_RANGE(0x0400, 0x1fff) AM_RAM AM_SHARE("dot_ram")
ADDRESS_MAP_END
@@ -776,7 +783,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( audio_map_prog, AS_PROGRAM, 8, mlanding_state )
+ADDRESS_MAP_START(mlanding_state::audio_map_prog)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x9001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
@@ -794,7 +801,7 @@ static ADDRESS_MAP_START( audio_map_prog, AS_PROGRAM, 8, mlanding_state )
AM_RANGE(0xfa00, 0xfa00) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audio_map_io, AS_IO, 8, mlanding_state )
+ADDRESS_MAP_START(mlanding_state::audio_map_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("ctc", z80ctc_device, read, write)
ADDRESS_MAP_END
@@ -807,7 +814,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( mecha_map_prog, AS_PROGRAM, 8, mlanding_state )
+ADDRESS_MAP_START(mlanding_state::mecha_map_prog)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8fff) AM_RAM AM_SHARE("power_ram")
diff --git a/src/mame/drivers/mmagic.cpp b/src/mame/drivers/mmagic.cpp
index 4f730a5b5a8..293065e7598 100644
--- a/src/mame/drivers/mmagic.cpp
+++ b/src/mame/drivers/mmagic.cpp
@@ -92,6 +92,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void mmagic(machine_config &config);
+ void mmagic_io(address_map &map);
+ void mmagic_mem(address_map &map);
protected:
virtual void machine_start() override;
@@ -115,7 +117,7 @@ private:
// ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( mmagic_mem, AS_PROGRAM, 8, mmagic_state )
+ADDRESS_MAP_START(mmagic_state::mmagic_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x17ff) AM_ROM
AM_RANGE(0x2000, 0x21ff) AM_RAM
@@ -125,7 +127,7 @@ static ADDRESS_MAP_START( mmagic_mem, AS_PROGRAM, 8, mmagic_state )
AM_RANGE(0x8004, 0x8004) AM_READ(vblank_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mmagic_io, AS_IO, 8, mmagic_state )
+ADDRESS_MAP_START(mmagic_state::mmagic_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x80, 0x80) AM_WRITE(color_w)
AM_RANGE(0x81, 0x81) AM_WRITE(audio_w)
diff --git a/src/mame/drivers/mmd1.cpp b/src/mame/drivers/mmd1.cpp
index f238ed44397..0a9605b0c68 100644
--- a/src/mame/drivers/mmd1.cpp
+++ b/src/mame/drivers/mmd1.cpp
@@ -177,6 +177,10 @@ public:
required_device<cpu_device> m_maincpu;
void mmd1(machine_config &config);
void mmd2(machine_config &config);
+ void mmd1_io(address_map &map);
+ void mmd1_mem(address_map &map);
+ void mmd2_io(address_map &map);
+ void mmd2_mem(address_map &map);
};
@@ -245,7 +249,7 @@ READ8_MEMBER( mmd1_state::mmd1_keyboard_r )
return m_return_code;
}
-static ADDRESS_MAP_START(mmd1_mem, AS_PROGRAM, 8, mmd1_state)
+ADDRESS_MAP_START(mmd1_state::mmd1_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x00ff ) AM_ROM // Main ROM
AM_RANGE( 0x0100, 0x01ff ) AM_ROM // Expansion slot
@@ -253,7 +257,7 @@ static ADDRESS_MAP_START(mmd1_mem, AS_PROGRAM, 8, mmd1_state)
AM_RANGE( 0x0300, 0x03ff ) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mmd1_io, AS_IO, 8, mmd1_state)
+ADDRESS_MAP_START(mmd1_state::mmd1_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x07)
AM_RANGE( 0x00, 0x00 ) AM_READWRITE(mmd1_keyboard_r, mmd1_port0_w)
@@ -261,7 +265,7 @@ static ADDRESS_MAP_START(mmd1_io, AS_IO, 8, mmd1_state)
AM_RANGE( 0x02, 0x02 ) AM_WRITE(mmd1_port2_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mmd2_mem, AS_PROGRAM, 8, mmd1_state)
+ADDRESS_MAP_START(mmd1_state::mmd2_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x03ff) AM_READ_BANK("bank1") AM_WRITE_BANK("bank2")
AM_RANGE(0x0400, 0x0fff) AM_READ_BANK("bank3") AM_WRITE_BANK("bank4")
@@ -270,7 +274,7 @@ static ADDRESS_MAP_START(mmd2_mem, AS_PROGRAM, 8, mmd1_state)
AM_RANGE(0xfc00, 0xfcff) AM_RAM // Scratchpad
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mmd2_io, AS_IO, 8, mmd1_state)
+ADDRESS_MAP_START(mmd1_state::mmd2_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x00, 0x00 ) AM_WRITE(mmd1_port0_w)
AM_RANGE( 0x01, 0x01 ) AM_READWRITE(mmd2_01_r,mmd1_port1_w)
diff --git a/src/mame/drivers/mmm.cpp b/src/mame/drivers/mmm.cpp
index e0cdb2121e6..8028066b8df 100644
--- a/src/mame/drivers/mmm.cpp
+++ b/src/mame/drivers/mmm.cpp
@@ -19,6 +19,7 @@ public:
mmm_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
+ m_ctc(*this, "ctc"),
m_inputs(*this, "IN%u", 0)
{ }
@@ -27,8 +28,11 @@ public:
DECLARE_WRITE8_MEMBER(ay_porta_w);
void mmm(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
+ required_device<z80ctc_device> m_ctc;
required_ioport_array<8> m_inputs;
u8 m_strobe;
};
@@ -53,18 +57,18 @@ WRITE8_MEMBER(mmm_state::ay_porta_w)
logerror("Writing %02X to AY-3-8910 port A\n", data);
}
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, mmm_state )
+ADDRESS_MAP_START(mmm_state::mem_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x40ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, mmm_state )
+ADDRESS_MAP_START(mmm_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(strobe_w)
AM_RANGE(0x03, 0x03) AM_DEVWRITE("aysnd", ay8910_device, address_w)
AM_RANGE(0x04, 0x04) AM_DEVWRITE("aysnd", ay8910_device, data_w)
AM_RANGE(0x05, 0x05) AM_DEVREAD("aysnd", ay8910_device, data_r)
- AM_RANGE(0x06, 0x06) AM_SELECT(0x30) AM_DEVREADWRITE_MOD("ctc", z80ctc_device, read, write, rshift<4>)
+ ;map(0x06, 0x06).select(0x30).lrw8("ctc_rw", [this](address_space &space, offs_t offset, u8 mem_mask){ return m_ctc->read(space, offset >> 4, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_ctc->write(space, offset >> 4, data, mem_mask); });
AM_RANGE(0x07, 0x07) AM_READ(inputs_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mmodular.cpp b/src/mame/drivers/mmodular.cpp
index 0bea946e5c0..df952d60bff 100644
--- a/src/mame/drivers/mmodular.cpp
+++ b/src/mame/drivers/mmodular.cpp
@@ -57,6 +57,11 @@ public:
void van16(machine_config &config);
void alm16(machine_config &config);
void gen32(machine_config &config);
+ void alm16_mem(address_map &map);
+ void alm32_mem(address_map &map);
+ void gen32_mem(address_map &map);
+ void van16_mem(address_map &map);
+ void van32_mem(address_map &map);
};
@@ -72,13 +77,14 @@ public:
DECLARE_READ8_MEMBER(berlinp_input_r);
void berlinp(machine_config &config);
+ void berlinp_mem(address_map &map);
private:
required_device<mephisto_board_device> m_board;
required_ioport m_keys;
};
-static ADDRESS_MAP_START(alm16_mem, AS_PROGRAM, 16, mmodular_state)
+ADDRESS_MAP_START(mmodular_state::alm16_mem)
AM_RANGE( 0x000000, 0x01ffff ) AM_ROM
AM_RANGE( 0xc00000, 0xc00001 ) AM_DEVREAD8("board", mephisto_board_device, input_r, 0xff00)
@@ -94,7 +100,7 @@ static ADDRESS_MAP_START(alm16_mem, AS_PROGRAM, 16, mmodular_state)
AM_RANGE( 0x800000, 0x803fff ) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(van16_mem, AS_PROGRAM, 16, mmodular_state)
+ADDRESS_MAP_START(mmodular_state::van16_mem)
AM_IMPORT_FROM(alm16_mem)
AM_RANGE( 0x000000, 0x03ffff ) AM_ROM
@@ -104,7 +110,7 @@ static ADDRESS_MAP_START(van16_mem, AS_PROGRAM, 16, mmodular_state)
// AM_RANGE( 0xe80006, 0xe80007 ) AM_READ(read_unknown3 ) // Bavaria sensors
ADDRESS_MAP_END
-static ADDRESS_MAP_START(alm32_mem, AS_PROGRAM, 32, mmodular_state)
+ADDRESS_MAP_START(mmodular_state::alm32_mem)
AM_RANGE( 0x00000000, 0x0001ffff ) AM_ROM
AM_RANGE( 0x800000fc, 0x800000ff ) AM_DEVREAD8("board", mephisto_board_device, input_r, 0xff000000)
@@ -121,7 +127,7 @@ static ADDRESS_MAP_START(alm32_mem, AS_PROGRAM, 32, mmodular_state)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(van32_mem, AS_PROGRAM, 32, mmodular_state)
+ADDRESS_MAP_START(mmodular_state::van32_mem)
AM_IMPORT_FROM(alm32_mem)
AM_RANGE( 0x00000000, 0x0003ffff ) AM_ROM
@@ -131,7 +137,7 @@ static ADDRESS_MAP_START(van32_mem, AS_PROGRAM, 32, mmodular_state)
// AM_RANGE( 0x9800000c, 0x9800000f ) AM_READ(read_unknown3 ) // Bavaria sensors
ADDRESS_MAP_END
-static ADDRESS_MAP_START(gen32_mem, AS_PROGRAM, 32, mmodular_state)
+ADDRESS_MAP_START(mmodular_state::gen32_mem)
AM_RANGE( 0x00000000, 0x0003ffff ) AM_ROM
AM_RANGE( 0xc8000004, 0xc8000007 ) AM_DEVWRITE8("board", mephisto_board_device, mux_w, 0xff000000)
@@ -161,7 +167,7 @@ READ8_MEMBER(berlinp_state::berlinp_input_r)
return m_board->input_r(space, offset) ^ 0xff;
}
-static ADDRESS_MAP_START(berlinp_mem, AS_PROGRAM, 32, berlinp_state)
+ADDRESS_MAP_START(berlinp_state::berlinp_mem)
AM_RANGE( 0x000000, 0x03ffff ) AM_ROM
AM_RANGE( 0x800000, 0x800003 ) AM_READ8(berlinp_input_r, 0xff000000)
diff --git a/src/mame/drivers/mod8.cpp b/src/mame/drivers/mod8.cpp
index 8c032e5d750..e71c55be4a8 100644
--- a/src/mame/drivers/mod8.cpp
+++ b/src/mame/drivers/mod8.cpp
@@ -73,6 +73,8 @@ public:
DECLARE_READ8_MEMBER(tty_r);
IRQ_CALLBACK_MEMBER(mod8_irq_callback);
void mod8(machine_config &config);
+ void mod8_io(address_map &map);
+ void mod8_mem(address_map &map);
private:
uint16_t m_tty_data;
uint8_t m_tty_key_data;
@@ -108,13 +110,13 @@ READ8_MEMBER( mod8_state::tty_r )
return d;
}
-static ADDRESS_MAP_START(mod8_mem, AS_PROGRAM, 8, mod8_state)
+ADDRESS_MAP_START(mod8_state::mod8_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000,0x6ff) AM_ROM
AM_RANGE(0x700,0xfff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mod8_io, AS_IO, 8, mod8_state)
+ADDRESS_MAP_START(mod8_state::mod8_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00,0x00) AM_READ(tty_r)
diff --git a/src/mame/drivers/model1.cpp b/src/mame/drivers/model1.cpp
index d7cac0e0f33..08cababe5bd 100644
--- a/src/mame/drivers/model1.cpp
+++ b/src/mame/drivers/model1.cpp
@@ -863,7 +863,7 @@ WRITE16_MEMBER(model1_state::mr2_w)
logerror("MW 10[r10], %f (%x)\n", *(float *)(m_mr2+0x1f10/2), m_maincpu->pc());
}
-static ADDRESS_MAP_START( model1_mem, AS_PROGRAM, 16, model1_state )
+ADDRESS_MAP_START(model1_state::model1_mem)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x1fffff) AM_ROMBANK("bank1")
AM_RANGE(0x200000, 0x2fffff) AM_ROM
@@ -910,12 +910,12 @@ static ADDRESS_MAP_START( model1_mem, AS_PROGRAM, 16, model1_state )
AM_RANGE(0xf80000, 0xffffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( model1_io, AS_IO, 16, model1_state )
+ADDRESS_MAP_START(model1_state::model1_io)
AM_RANGE(0xd20000, 0xd20003) AM_READ(model1_tgp_copro_ram_r)
AM_RANGE(0xd80000, 0xd80003) AM_READ(model1_tgp_copro_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( model1_vr_mem, AS_PROGRAM, 16, model1_state )
+ADDRESS_MAP_START(model1_state::model1_vr_mem)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x1fffff) AM_ROMBANK("bank1")
AM_RANGE(0x200000, 0x2fffff) AM_ROM
@@ -962,7 +962,7 @@ static ADDRESS_MAP_START( model1_vr_mem, AS_PROGRAM, 16, model1_state )
AM_RANGE(0xfc0000, 0xffffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( model1_vr_io, AS_IO, 16, model1_state )
+ADDRESS_MAP_START(model1_state::model1_vr_io)
AM_RANGE(0xd20000, 0xd20003) AM_READ(model1_vr_tgp_ram_r)
AM_RANGE(0xd80000, 0xd80003) AM_READ(model1_vr_tgp_r)
ADDRESS_MAP_END
@@ -1665,7 +1665,7 @@ MACHINE_CONFIG_DERIVED(model1_state::swa, model1)
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE(DSBZ80_TAG, dsbz80_device, write_txd))
MACHINE_CONFIG_END
-static ADDRESS_MAP_START( polhemus_map, AS_PROGRAM, 16, model1_state )
+ADDRESS_MAP_START(model1_state::polhemus_map)
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
AM_RANGE(0x00000, 0x03fff) AM_RAM
AM_RANGE(0xf8000, 0xfffff) AM_ROM AM_REGION("polhemus", 0)
diff --git a/src/mame/drivers/model2.cpp b/src/mame/drivers/model2.cpp
index 7ee07b12800..aa826e11909 100644
--- a/src/mame/drivers/model2.cpp
+++ b/src/mame/drivers/model2.cpp
@@ -1441,7 +1441,7 @@ READ32_MEMBER(model2_state::polygon_count_r)
}
/* common map for all Model 2 versions */
-static ADDRESS_MAP_START( model2_base_mem, AS_PROGRAM, 32, model2_state )
+ADDRESS_MAP_START(model2_state::model2_base_mem)
AM_RANGE(0x00000000, 0x001fffff) AM_ROM AM_WRITENOP
AM_RANGE(0x00500000, 0x005fffff) AM_RAM AM_SHARE("workram")
@@ -1546,7 +1546,7 @@ READ8_MEMBER(model2_state::model2o_in_r)
}
/* original Model 2 overrides */
-static ADDRESS_MAP_START( model2o_mem, AS_PROGRAM, 32, model2_state )
+ADDRESS_MAP_START(model2_state::model2o_mem)
AM_IMPORT_FROM(model2_base_mem)
AM_RANGE(0x00200000, 0x0021ffff) AM_RAM
@@ -1582,7 +1582,7 @@ READ32_MEMBER(model2_state::copro_status_r)
}
/* 2A-CRX overrides */
-static ADDRESS_MAP_START( model2a_crx_mem, AS_PROGRAM, 32, model2_state )
+ADDRESS_MAP_START(model2_state::model2a_crx_mem)
AM_IMPORT_FROM(model2_base_mem)
AM_RANGE(0x00200000, 0x0023ffff) AM_RAM
@@ -1610,7 +1610,7 @@ static ADDRESS_MAP_START( model2a_crx_mem, AS_PROGRAM, 32, model2_state )
ADDRESS_MAP_END
/* 2B-CRX overrides */
-static ADDRESS_MAP_START( model2b_crx_mem, AS_PROGRAM, 32, model2_state )
+ADDRESS_MAP_START(model2_state::model2b_crx_mem)
AM_IMPORT_FROM(model2_base_mem)
AM_RANGE(0x00200000, 0x0023ffff) AM_RAM
@@ -1647,7 +1647,7 @@ static ADDRESS_MAP_START( model2b_crx_mem, AS_PROGRAM, 32, model2_state )
ADDRESS_MAP_END
/* 2C-CRX overrides */
-static ADDRESS_MAP_START( model2c_crx_mem, AS_PROGRAM, 32, model2_state )
+ADDRESS_MAP_START(model2_state::model2c_crx_mem)
AM_IMPORT_FROM(model2_base_mem)
AM_RANGE(0x00200000, 0x0023ffff) AM_RAM
@@ -2055,7 +2055,7 @@ WRITE16_MEMBER(model2_state::model2snd_ctrl)
}
}
-static ADDRESS_MAP_START( model2_snd, AS_PROGRAM, 16, model2_state )
+ADDRESS_MAP_START(model2_state::model2_snd)
AM_RANGE(0x000000, 0x07ffff) AM_RAM AM_REGION("audiocpu", 0) AM_SHARE("soundram")
AM_RANGE(0x100000, 0x100fff) AM_DEVREADWRITE("scsp", scsp_device, read, write)
AM_RANGE(0x400000, 0x400001) AM_WRITE(model2snd_ctrl)
@@ -2102,7 +2102,7 @@ WRITE32_MEMBER(model2_state::copro_sharc_buffer_w)
m_bufferram[offset & 0x7fff] = data;
}
-static ADDRESS_MAP_START( copro_sharc_map, AS_DATA, 32, model2_state )
+ADDRESS_MAP_START(model2_state::copro_sharc_map)
AM_RANGE(0x0400000, 0x0bfffff) AM_READ(copro_sharc_input_fifo_r)
AM_RANGE(0x0c00000, 0x13fffff) AM_WRITE(copro_sharc_output_fifo_w)
AM_RANGE(0x1400000, 0x1bfffff) AM_READWRITE(copro_sharc_buffer_r, copro_sharc_buffer_w)
@@ -2111,7 +2111,7 @@ static ADDRESS_MAP_START( copro_sharc_map, AS_DATA, 32, model2_state )
ADDRESS_MAP_END
#if 0
-static ADDRESS_MAP_START( geo_sharc_map, AS_DATA, 32, model2_state )
+ADDRESS_MAP_START(model2_state::geo_sharc_map)
ADDRESS_MAP_END
#endif
@@ -2128,7 +2128,7 @@ WRITE32_MEMBER(model2_state::copro_tgp_buffer_w)
m_bufferram[offset&0x7fff] = data;
}
-static ADDRESS_MAP_START( copro_tgp_map, AS_PROGRAM, 32, model2_state )
+ADDRESS_MAP_START(model2_state::copro_tgp_map)
AM_RANGE(0x00000000, 0x00007fff) AM_RAM AM_SHARE("tgp_program")
AM_RANGE(0x00400000, 0x00407fff) AM_READWRITE(copro_tgp_buffer_r, copro_tgp_buffer_w)
AM_RANGE(0x00800000, 0x009fffff) AM_ROM AM_REGION("tgp", 0)
@@ -2217,12 +2217,12 @@ WRITE8_MEMBER(model2_state::driveio_port_w)
// popmessage("%02x",data);
}
-static ADDRESS_MAP_START( drive_map, AS_PROGRAM, 8, model2_state )
+ADDRESS_MAP_START(model2_state::drive_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( drive_io_map, AS_IO, 8, model2_state )
+ADDRESS_MAP_START(model2_state::drive_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITENOP //watchdog
AM_RANGE(0x20, 0x2f) AM_DEVREADWRITE("driveio1", sega_315_5296_device, read, write)
@@ -2384,12 +2384,12 @@ MACHINE_CONFIG_DERIVED(model2_state::indy500, model2b)
MACHINE_CONFIG_END
-static ADDRESS_MAP_START( rchase2_iocpu_map, AS_PROGRAM, 8, model2_state )
+ADDRESS_MAP_START(model2_state::rchase2_iocpu_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rchase2_ioport_map, AS_IO, 8, model2_state )
+ADDRESS_MAP_START(model2_state::rchase2_ioport_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x07) AM_DEVREADWRITE("ioexp", cxd1095_device, read, write)
ADDRESS_MAP_END
@@ -2403,7 +2403,7 @@ MACHINE_CONFIG_DERIVED(model2_state::rchase2, model2b)
MACHINE_CONFIG_END
-static ADDRESS_MAP_START( copro_tgpx4_map, AS_PROGRAM, 64, model2_state )
+ADDRESS_MAP_START(model2_state::copro_tgpx4_map)
AM_RANGE(0x00000000, 0x00007fff) AM_RAM AM_SHARE("tgpx4_program")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/model3.cpp b/src/mame/drivers/model3.cpp
index ab3b190880d..b673ab33af9 100644
--- a/src/mame/drivers/model3.cpp
+++ b/src/mame/drivers/model3.cpp
@@ -1825,7 +1825,7 @@ WRITE64_MEMBER(model3_state::daytona2_rombank_w)
}
}
-static ADDRESS_MAP_START( model3_10_mem, AS_PROGRAM, 64, model3_state )
+ADDRESS_MAP_START(model3_state::model3_10_mem)
AM_RANGE(0x00000000, 0x007fffff) AM_RAM AM_SHARE("work_ram") /* work RAM */
AM_RANGE(0x84000000, 0x8400003f) AM_READ(real3d_status_r )
@@ -1847,7 +1847,7 @@ static ADDRESS_MAP_START( model3_10_mem, AS_PROGRAM, 64, model3_state )
AM_RANGE(0xff800000, 0xffffffff) AM_ROM AM_REGION("user1", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( model3_mem, AS_PROGRAM, 64, model3_state )
+ADDRESS_MAP_START(model3_state::model3_mem)
AM_IMPORT_FROM( model3_10_mem )
AM_RANGE(0xc0000000, 0xc003ffff) AM_DEVICE32("comm_board", m3comm_device, m3_map, 0xffffffffffffffffU )
ADDRESS_MAP_END
@@ -5753,7 +5753,7 @@ WRITE16_MEMBER(model3_state::model3snd_ctrl)
}
}
-static ADDRESS_MAP_START( model3_snd, AS_PROGRAM, 16, model3_state )
+ADDRESS_MAP_START(model3_state::model3_snd)
AM_RANGE(0x000000, 0x07ffff) AM_RAM AM_REGION("scsp1", 0) AM_SHARE("soundram")
AM_RANGE(0x100000, 0x100fff) AM_DEVREADWRITE("scsp1", scsp_device, read, write)
AM_RANGE(0x200000, 0x27ffff) AM_RAM AM_REGION("scsp2", 0)
diff --git a/src/mame/drivers/modellot.cpp b/src/mame/drivers/modellot.cpp
index 1e9dee2d75f..00bbc33a988 100644
--- a/src/mame/drivers/modellot.cpp
+++ b/src/mame/drivers/modellot.cpp
@@ -60,6 +60,8 @@ public:
uint32_t screen_update_modellot(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void modellot(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
uint8_t m_term_data;
virtual void machine_reset() override;
@@ -68,14 +70,14 @@ private:
required_region_ptr<u8> m_p_chargen;
};
-static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 8, modellot_state)
+ADDRESS_MAP_START(modellot_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xbfff) AM_RAM // 48k ram
AM_RANGE(0xc000, 0xc3ff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0xe000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(io_map, AS_IO, 8, modellot_state)
+ADDRESS_MAP_START(modellot_state::io_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x77, 0x77) AM_READ(port77_r)
diff --git a/src/mame/drivers/mogura.cpp b/src/mame/drivers/mogura.cpp
index 7fcd4c78101..e552919d3ab 100644
--- a/src/mame/drivers/mogura.cpp
+++ b/src/mame/drivers/mogura.cpp
@@ -42,6 +42,8 @@ public:
DECLARE_PALETTE_INIT(mogura);
uint32_t screen_update_mogura(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void mogura(machine_config &config);
+ void mogura_io_map(address_map &map);
+ void mogura_map(address_map &map);
};
@@ -135,14 +137,14 @@ WRITE8_MEMBER(mogura_state::mogura_gfxram_w)
}
-static ADDRESS_MAP_START( mogura_map, AS_PROGRAM, 8, mogura_state )
+ADDRESS_MAP_START(mogura_state::mogura_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_RAM // main ram
AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(mogura_gfxram_w) AM_SHARE("gfxram") // ram based characters
AM_RANGE(0xf000, 0xffff) AM_RAM_WRITE(mogura_tileram_w) AM_SHARE("tileram") // tilemap
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mogura_io_map, AS_IO, 8, mogura_state )
+ADDRESS_MAP_START(mogura_state::mogura_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITENOP // ??
AM_RANGE(0x08, 0x08) AM_READ_PORT("SYSTEM")
diff --git a/src/mame/drivers/mole.cpp b/src/mame/drivers/mole.cpp
index 366e259ea09..f71e2073da6 100644
--- a/src/mame/drivers/mole.cpp
+++ b/src/mame/drivers/mole.cpp
@@ -86,6 +86,7 @@ public:
virtual void video_start() override;
uint32_t screen_update_mole(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void mole(machine_config &config);
+ void mole_map(address_map &map);
};
@@ -200,7 +201,7 @@ READ8_MEMBER(mole_state::mole_protection_r)
*
*************************************/
-static ADDRESS_MAP_START( mole_map, AS_PROGRAM, 8, mole_state )
+ADDRESS_MAP_START(mole_state::mole_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0800, 0x08ff) AM_READ(mole_protection_r)
AM_RANGE(0x0800, 0x0800) AM_WRITENOP // ???
diff --git a/src/mame/drivers/molecular.cpp b/src/mame/drivers/molecular.cpp
index eae19450758..950c5d3178d 100644
--- a/src/mame/drivers/molecular.cpp
+++ b/src/mame/drivers/molecular.cpp
@@ -94,6 +94,10 @@ public:
DECLARE_PALETTE_INIT(molecula);
void molecula(machine_config &config);
+ void molecula_app_io(address_map &map);
+ void molecula_app_map(address_map &map);
+ void molecula_file_io(address_map &map);
+ void molecula_file_map(address_map &map);
protected:
// driver_device overrides
virtual void machine_start() override;
@@ -171,21 +175,21 @@ WRITE8_MEMBER( molecula_state::sio_w)
printf("%c\n",data);
}
-static ADDRESS_MAP_START( molecula_file_map, AS_PROGRAM, 8, molecula_state )
+ADDRESS_MAP_START(molecula_state::molecula_file_map)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(file_r,file_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( molecula_file_io, AS_IO, 8, molecula_state )
+ADDRESS_MAP_START(molecula_state::molecula_file_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
// AM_RANGE(0x40, 0x43) AM_READWRITE(sio_r,sio_w)
AM_RANGE(0x72, 0x73) AM_WRITE(file_output_w) // unknown
ADDRESS_MAP_END
-static ADDRESS_MAP_START( molecula_app_map, AS_PROGRAM, 8, molecula_state )
+ADDRESS_MAP_START(molecula_state::molecula_app_map)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(app_r,app_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( molecula_app_io, AS_IO, 8, molecula_state )
+ADDRESS_MAP_START(molecula_state::molecula_app_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x10) AM_WRITE(app_output_w)
AM_RANGE(0x60, 0x63) AM_READWRITE(sio_r,sio_w)
diff --git a/src/mame/drivers/momoko.cpp b/src/mame/drivers/momoko.cpp
index e6de58aa63e..58189b59db3 100644
--- a/src/mame/drivers/momoko.cpp
+++ b/src/mame/drivers/momoko.cpp
@@ -63,7 +63,7 @@ WRITE8_MEMBER(momoko_state::momoko_bg_read_bank_w)
/****************************************************************************/
-static ADDRESS_MAP_START( momoko_map, AS_PROGRAM, 8, momoko_state )
+ADDRESS_MAP_START(momoko_state::momoko_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xd064, 0xd0ff) AM_RAM AM_SHARE("spriteram")
@@ -87,7 +87,7 @@ static ADDRESS_MAP_START( momoko_map, AS_PROGRAM, 8, momoko_state )
AM_RANGE(0xf007, 0xf007) AM_WRITE(momoko_bg_priority_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( momoko_sound_map, AS_PROGRAM, 8, momoko_state )
+ADDRESS_MAP_START(momoko_state::momoko_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_WRITENOP /* unknown */
diff --git a/src/mame/drivers/monty.cpp b/src/mame/drivers/monty.cpp
index c82732ab6a5..079838f5fc1 100644
--- a/src/mame/drivers/monty.cpp
+++ b/src/mame/drivers/monty.cpp
@@ -61,6 +61,9 @@ public:
void monty(machine_config &config);
void mmonty(machine_config &config);
+ void mmonty_mem(address_map &map);
+ void monty_io(address_map &map);
+ void monty_mem(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<speaker_sound_device> m_speaker;
@@ -76,13 +79,13 @@ private:
};
-static ADDRESS_MAP_START( monty_mem, AS_PROGRAM, 8, monty_state )
+ADDRESS_MAP_START(monty_state::monty_mem)
AM_RANGE(0x0000, 0xbfff) AM_ROM
//AM_RANGE(0x4000, 0x4000) // The main rom checks to see if another program is here on startup
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mmonty_mem, AS_PROGRAM, 8, monty_state )
+ADDRESS_MAP_START(monty_state::mmonty_mem)
AM_RANGE(0x0000, 0x3fff) AM_ROM
//AM_RANGE(0xc000, 0xc000) // The main rom checks to see if another program is here on startup
AM_RANGE(0x8000, 0xffff) AM_ROM
@@ -90,7 +93,7 @@ static ADDRESS_MAP_START( mmonty_mem, AS_PROGRAM, 8, monty_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( monty_io, AS_IO, 8, monty_state )
+ADDRESS_MAP_START(monty_state::monty_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(ioCommandWrite0_w)
AM_RANGE(0x01, 0x01) AM_WRITE(sound_w)
diff --git a/src/mame/drivers/monzagp.cpp b/src/mame/drivers/monzagp.cpp
index f9992ddde60..6b3f12fba30 100644
--- a/src/mame/drivers/monzagp.cpp
+++ b/src/mame/drivers/monzagp.cpp
@@ -82,6 +82,8 @@ public:
required_ioport m_dsw;
void monzagp(machine_config &config);
+ void monzagp_io(address_map &map);
+ void monzagp_map(address_map &map);
private:
uint8_t m_p1;
uint8_t m_p2;
@@ -260,7 +262,7 @@ uint32_t monzagp_state::screen_update_monzagp(screen_device &screen, bitmap_ind1
return 0;
}
-static ADDRESS_MAP_START( monzagp_map, AS_PROGRAM, 8, monzagp_state )
+ADDRESS_MAP_START(monzagp_state::monzagp_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
ADDRESS_MAP_END
@@ -403,7 +405,7 @@ WRITE8_MEMBER(monzagp_state::port2_w)
}
-static ADDRESS_MAP_START( monzagp_io, AS_IO, 8, monzagp_state )
+ADDRESS_MAP_START(monzagp_state::monzagp_io)
AM_RANGE(0x00, 0xff) AM_READWRITE(port_r, port_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/moo.cpp b/src/mame/drivers/moo.cpp
index 9c665accbbe..a1eefccea5b 100644
--- a/src/mame/drivers/moo.cpp
+++ b/src/mame/drivers/moo.cpp
@@ -299,7 +299,7 @@ WRITE16_MEMBER(moo_state::moobl_oki_bank_w)
m_oki->set_rom_bank(data & 0x0f);
}
-static ADDRESS_MAP_START( moo_map, AS_PROGRAM, 16, moo_state )
+ADDRESS_MAP_START(moo_state::moo_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x0c0000, 0x0c003f) AM_DEVWRITE("k056832", k056832_device, word_w)
AM_RANGE(0x0c2000, 0x0c2007) AM_DEVWRITE("k053246", k053247_device, k053246_word_w)
@@ -333,7 +333,7 @@ static ADDRESS_MAP_START( moo_map, AS_PROGRAM, 16, moo_state )
#endif
ADDRESS_MAP_END
-static ADDRESS_MAP_START( moobl_map, AS_PROGRAM, 16, moo_state )
+ADDRESS_MAP_START(moo_state::moobl_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x0c0000, 0x0c003f) AM_DEVWRITE("k056832", k056832_device, word_w)
AM_RANGE(0x0c2000, 0x0c2007) AM_DEVWRITE("k053246", k053247_device, k053246_word_w)
@@ -359,7 +359,7 @@ static ADDRESS_MAP_START( moobl_map, AS_PROGRAM, 16, moo_state )
AM_RANGE(0x1c0000, 0x1c1fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bucky_map, AS_PROGRAM, 16, moo_state )
+ADDRESS_MAP_START(moo_state::bucky_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x08ffff) AM_RAM
AM_RANGE(0x090000, 0x09ffff) AM_RAM AM_SHARE("spriteram") /* Sprite RAM */
@@ -395,7 +395,7 @@ static ADDRESS_MAP_START( bucky_map, AS_PROGRAM, 16, moo_state )
#endif
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, moo_state )
+ADDRESS_MAP_START(moo_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xdfff) AM_RAM
diff --git a/src/mame/drivers/mosaic.cpp b/src/mame/drivers/mosaic.cpp
index 171534517da..837d8d5f84c 100644
--- a/src/mame/drivers/mosaic.cpp
+++ b/src/mame/drivers/mosaic.cpp
@@ -117,7 +117,7 @@ READ8_MEMBER(mosaic_state::gfire2_protection_r)
-static ADDRESS_MAP_START( mosaic_map, AS_PROGRAM, 8, mosaic_state )
+ADDRESS_MAP_START(mosaic_state::mosaic_map)
AM_RANGE(0x00000, 0x0ffff) AM_ROM
AM_RANGE(0x20000, 0x21fff) AM_RAM
AM_RANGE(0x22000, 0x22fff) AM_RAM_WRITE(bgvideoram_w) AM_SHARE("bgvideoram")
@@ -125,7 +125,7 @@ static ADDRESS_MAP_START( mosaic_map, AS_PROGRAM, 8, mosaic_state )
AM_RANGE(0x24000, 0x241ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gfire2_map, AS_PROGRAM, 8, mosaic_state )
+ADDRESS_MAP_START(mosaic_state::gfire2_map)
AM_RANGE(0x00000, 0x0ffff) AM_ROM
AM_RANGE(0x10000, 0x17fff) AM_RAM
AM_RANGE(0x22000, 0x22fff) AM_RAM_WRITE(bgvideoram_w) AM_SHARE("bgvideoram")
@@ -133,7 +133,7 @@ static ADDRESS_MAP_START( gfire2_map, AS_PROGRAM, 8, mosaic_state )
AM_RANGE(0x24000, 0x241ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mosaic_io_map, AS_IO, 8, mosaic_state )
+ADDRESS_MAP_START(mosaic_state::mosaic_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x3f) AM_WRITENOP /* Z180 internal registers */
AM_RANGE(0x30, 0x30) AM_READNOP /* Z180 internal registers */
@@ -143,7 +143,7 @@ static ADDRESS_MAP_START( mosaic_io_map, AS_IO, 8, mosaic_state )
AM_RANGE(0x76, 0x76) AM_READ_PORT("P2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gfire2_io_map, AS_IO, 8, mosaic_state )
+ADDRESS_MAP_START(mosaic_state::gfire2_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x3f) AM_WRITENOP /* Z180 internal registers */
AM_RANGE(0x30, 0x30) AM_READNOP /* Z180 internal registers */
diff --git a/src/mame/drivers/mouser.cpp b/src/mame/drivers/mouser.cpp
index 60da75c638e..a153c2136fb 100644
--- a/src/mame/drivers/mouser.cpp
+++ b/src/mame/drivers/mouser.cpp
@@ -64,7 +64,7 @@ INTERRUPT_GEN_MEMBER(mouser_state::mouser_sound_nmi_assert)
device.execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
}
-static ADDRESS_MAP_START( mouser_map, AS_PROGRAM, 8, mouser_state )
+ADDRESS_MAP_START(mouser_state::mouser_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x6bff) AM_RAM
AM_RANGE(0x8800, 0x88ff) AM_WRITENOP /* unknown */
@@ -78,18 +78,18 @@ static ADDRESS_MAP_START( mouser_map, AS_PROGRAM, 8, mouser_state )
AM_RANGE(0xb800, 0xb800) AM_READ_PORT("P2") AM_WRITE(mouser_sound_interrupt_w) /* byte to sound cpu */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, mouser_state )
+ADDRESS_MAP_START(mouser_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM AM_SHARE("decrypted_opcodes")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mouser_sound_map, AS_PROGRAM, 8, mouser_state )
+ADDRESS_MAP_START(mouser_state::mouser_sound_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
AM_RANGE(0x3000, 0x3000) AM_READ(mouser_sound_byte_r)
AM_RANGE(0x4000, 0x4000) AM_WRITE(mouser_sound_nmi_clear_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mouser_sound_io_map, AS_IO, 8, mouser_state )
+ADDRESS_MAP_START(mouser_state::mouser_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("ay1", ay8910_device, data_address_w)
AM_RANGE(0x80, 0x81) AM_DEVWRITE("ay2", ay8910_device, data_address_w)
@@ -204,7 +204,7 @@ MACHINE_CONFIG_START(mouser_state::mouser)
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz ? */
MCFG_CPU_PROGRAM_MAP(mouser_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", mouser_state, mouser_nmi_interrupt) /* NMI is masked externally */
MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* ??? */
diff --git a/src/mame/drivers/mpf1.cpp b/src/mame/drivers/mpf1.cpp
index 00bc233ef27..4beba6016d1 100644
--- a/src/mame/drivers/mpf1.cpp
+++ b/src/mame/drivers/mpf1.cpp
@@ -58,17 +58,17 @@
/* Address Maps */
-static ADDRESS_MAP_START( mpf1_map, AS_PROGRAM, 8, mpf1_state )
+ADDRESS_MAP_START(mpf1_state::mpf1_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1800, 0x1fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mpf1_step, AS_OPCODES, 8, mpf1_state )
+ADDRESS_MAP_START(mpf1_state::mpf1_step)
AM_RANGE(0x0000, 0xffff) AM_READ(step_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mpf1b_map, AS_PROGRAM, 8, mpf1_state )
+ADDRESS_MAP_START(mpf1_state::mpf1b_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1800, 0x1fff) AM_RAM
@@ -76,13 +76,13 @@ static ADDRESS_MAP_START( mpf1b_map, AS_PROGRAM, 8, mpf1_state )
AM_RANGE(0x5000, 0x6fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mpf1p_map, AS_PROGRAM, 8, mpf1_state )
+ADDRESS_MAP_START(mpf1_state::mpf1p_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x6000, 0x6fff) AM_ROM
AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mpf1_io_map, AS_IO, 8, mpf1_state )
+ADDRESS_MAP_START(mpf1_state::mpf1_io_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_MIRROR(0x3c) AM_DEVREADWRITE(I8255A_TAG, i8255_device, read, write)
@@ -90,7 +90,7 @@ static ADDRESS_MAP_START( mpf1_io_map, AS_IO, 8, mpf1_state )
AM_RANGE(0x80, 0x83) AM_MIRROR(0x3c) AM_DEVREADWRITE(Z80PIO_TAG, z80pio_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mpf1b_io_map, AS_IO, 8, mpf1_state )
+ADDRESS_MAP_START(mpf1_state::mpf1b_io_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_MIRROR(0x3c) AM_DEVREADWRITE(I8255A_TAG, i8255_device, read, write)
@@ -99,7 +99,7 @@ static ADDRESS_MAP_START( mpf1b_io_map, AS_IO, 8, mpf1_state )
AM_RANGE(0xfe, 0xfe) AM_MIRROR(0x01) AM_DEVREADWRITE(TMS5220_TAG, tms5220_device, status_r, data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mpf1p_io_map, AS_IO, 8, mpf1_state )
+ADDRESS_MAP_START(mpf1_state::mpf1p_io_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_MIRROR(0x3c) AM_DEVREADWRITE(I8255A_TAG, i8255_device, read, write)
@@ -357,7 +357,7 @@ MACHINE_CONFIG_START(mpf1_state::mpf1)
/* basic machine hardware */
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL(3'579'545)/2)
MCFG_CPU_PROGRAM_MAP(mpf1_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(mpf1_step)
+ MCFG_CPU_OPCODES_MAP(mpf1_step)
MCFG_CPU_IO_MAP(mpf1_io_map)
MCFG_Z80_DAISY_CHAIN(mpf1_daisy_chain)
@@ -391,7 +391,7 @@ MACHINE_CONFIG_START(mpf1_state::mpf1b)
/* basic machine hardware */
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL(3'579'545)/2)
MCFG_CPU_PROGRAM_MAP(mpf1b_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(mpf1_step)
+ MCFG_CPU_OPCODES_MAP(mpf1_step)
MCFG_CPU_IO_MAP(mpf1b_io_map)
MCFG_Z80_DAISY_CHAIN(mpf1_daisy_chain)
@@ -428,7 +428,7 @@ MACHINE_CONFIG_START(mpf1_state::mpf1p)
/* basic machine hardware */
MCFG_CPU_ADD(Z80_TAG, Z80, 2500000)
MCFG_CPU_PROGRAM_MAP(mpf1p_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(mpf1_step)
+ MCFG_CPU_OPCODES_MAP(mpf1_step)
MCFG_CPU_IO_MAP(mpf1p_io_map)
MCFG_Z80_DAISY_CHAIN(mpf1_daisy_chain)
diff --git a/src/mame/drivers/mps1230.cpp b/src/mame/drivers/mps1230.cpp
index 074b28e96e2..fdea1f07d12 100644
--- a/src/mame/drivers/mps1230.cpp
+++ b/src/mame/drivers/mps1230.cpp
@@ -99,6 +99,7 @@ public:
void mps1000(machine_config &config);
void mps1230(machine_config &config);
+ void mps1230_map(address_map &map);
private:
};
@@ -122,7 +123,7 @@ void mps1230_state::machine_reset()
ADDRESS MAP
***************************************************************************/
-static ADDRESS_MAP_START( mps1230_map, AS_PROGRAM, 8, mps1230_state )
+ADDRESS_MAP_START(mps1230_state::mps1230_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0xc000, 0xdfff) AM_RAM // as per the service manual
AM_RANGE(0xff80, 0xffff) AM_RAM // internal in cpu
diff --git a/src/mame/drivers/mpu12wbk.cpp b/src/mame/drivers/mpu12wbk.cpp
index 83039fcbc12..82c775f7e76 100644
--- a/src/mame/drivers/mpu12wbk.cpp
+++ b/src/mame/drivers/mpu12wbk.cpp
@@ -240,6 +240,7 @@ public:
required_device<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
void mpu12wbk(machine_config &config);
+ void mpu12wbk_map(address_map &map);
};
@@ -310,7 +311,7 @@ PALETTE_INIT_MEMBER(mpu12wbk_state, mpu12wbk)
* Memory Map Information *
*************************/
-static ADDRESS_MAP_START( mpu12wbk_map, AS_PROGRAM, 8, mpu12wbk_state )
+ADDRESS_MAP_START(mpu12wbk_state::mpu12wbk_map)
AM_RANGE(0x1400, 0x1400) AM_DEVWRITE("crtc", mc6845_device, address_w) // OK
AM_RANGE(0x1401, 0x1401) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w) // OK
AM_RANGE(0x1e00, 0x1e01) AM_DEVREADWRITE("ay8910", ay8910_device, data_r, address_data_w) // hmmmmm....
diff --git a/src/mame/drivers/mpu2.cpp b/src/mame/drivers/mpu2.cpp
index 403414cf471..79164189700 100644
--- a/src/mame/drivers/mpu2.cpp
+++ b/src/mame/drivers/mpu2.cpp
@@ -50,13 +50,14 @@ public:
{ }
void mpu2(machine_config &config);
+ void mpu2_basemap(address_map &map);
protected:
// devices
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START( mpu2_basemap, AS_PROGRAM, 8, mpu2_state )
+ADDRESS_MAP_START(mpu2_state::mpu2_basemap)
ADDRESS_MAP_GLOBAL_MASK(0x3fff) // A14/A15 Not Connected
AM_RANGE(0x0000, 0x007f) AM_RAM
AM_RANGE(0x0800, 0x0fff) AM_ROM AM_REGION("romp1", 0)
diff --git a/src/mame/drivers/mpu3.cpp b/src/mame/drivers/mpu3.cpp
index eb774094154..b0c6f88d89d 100644
--- a/src/mame/drivers/mpu3.cpp
+++ b/src/mame/drivers/mpu3.cpp
@@ -268,6 +268,7 @@ public:
required_device<meters_device> m_meters;
optional_device<roc10937_device> m_vfd;
void mpu3base(machine_config &config);
+ void mpu3_basemap(address_map &map);
};
#define DISPLAY_PORT 0
@@ -830,7 +831,7 @@ READ8_MEMBER(mpu3_state::mpu3ptm_r)
return ptm2->read(offset >>2);
}
-static ADDRESS_MAP_START( mpu3_basemap, AS_PROGRAM, 8, mpu3_state )
+ADDRESS_MAP_START(mpu3_state::mpu3_basemap)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x1000, 0xffff) AM_ROM
AM_RANGE(0x8800, 0x881f) AM_READWRITE(mpu3ptm_r, mpu3ptm_w)/* PTM6840 IC2 */
diff --git a/src/mame/drivers/mpu4dealem.cpp b/src/mame/drivers/mpu4dealem.cpp
index 2fb4e27530f..627e417ba33 100644
--- a/src/mame/drivers/mpu4dealem.cpp
+++ b/src/mame/drivers/mpu4dealem.cpp
@@ -39,6 +39,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(dealem_vsync_changed);
required_device<gfxdecode_device> m_gfxdecode;
void dealem(machine_config &config);
+ void dealem_memmap(address_map &map);
};
@@ -152,7 +153,7 @@ WRITE_LINE_MEMBER(mpu4dealem_state::dealem_vsync_changed)
*
*************************************/
-static ADDRESS_MAP_START( dealem_memmap, AS_PROGRAM, 8, mpu4dealem_state )
+ADDRESS_MAP_START(mpu4dealem_state::dealem_memmap)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_device, address_w)
diff --git a/src/mame/drivers/mpu4plasma.cpp b/src/mame/drivers/mpu4plasma.cpp
index 35bf356b998..7e0032032ba 100644
--- a/src/mame/drivers/mpu4plasma.cpp
+++ b/src/mame/drivers/mpu4plasma.cpp
@@ -35,11 +35,12 @@ public:
}
uint32_t screen_update_mpu4plasma(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void mpu4plasma(machine_config &config);
+ void mpu4plasma_map(address_map &map);
};
INPUT_PORTS_EXTERN( mpu4 );
-static ADDRESS_MAP_START( mpu4plasma_map, AS_PROGRAM, 16, mpu4plasma_state )
+ADDRESS_MAP_START(mpu4plasma_state::mpu4plasma_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
// why does it test this much ram, just sloppy code expecting mirroring?
diff --git a/src/mame/drivers/mpu4vid.cpp b/src/mame/drivers/mpu4vid.cpp
index 5086f210e03..c6219100094 100644
--- a/src/mame/drivers/mpu4vid.cpp
+++ b/src/mame/drivers/mpu4vid.cpp
@@ -302,6 +302,11 @@ public:
void crmaze(machine_config &config);
void bwbvid5(machine_config &config);
void mating(machine_config &config);
+ void bwbvid5_68k_map(address_map &map);
+ void bwbvid_68k_map(address_map &map);
+ void mpu4_68k_map(address_map &map);
+ void mpu4_vram(address_map &map);
+ void mpu4oki_68k_map(address_map &map);
};
/*************************************
@@ -398,7 +403,7 @@ READ8_MEMBER(mpu4vid_state::vram_r)
return m_vid_mainram[offset];
}
-static ADDRESS_MAP_START( mpu4_vram, 0, 8, mpu4vid_state )
+ADDRESS_MAP_START(mpu4vid_state::mpu4_vram)
AM_RANGE(0x0000, 0x7fff) AM_READWRITE(vram_r, vram_w)
ADDRESS_MAP_END
@@ -1175,7 +1180,7 @@ MACHINE_RESET_MEMBER(mpu4vid_state,mpu4_vid)
m_chr_value = 0;
}
-static ADDRESS_MAP_START( mpu4_68k_map, AS_PROGRAM, 16, mpu4vid_state )
+ADDRESS_MAP_START(mpu4vid_state::mpu4_68k_map)
AM_RANGE(0x000000, 0x7fffff) AM_ROM
AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_SHARE("vid_mainram")
// AM_RANGE(0x810000, 0x81ffff) AM_RAM /* ? */
@@ -1190,7 +1195,7 @@ static ADDRESS_MAP_START( mpu4_68k_map, AS_PROGRAM, 16, mpu4vid_state )
AM_RANGE(0xffd000, 0xffd00f) AM_READWRITE8(vidcharacteriser_r, vidcharacteriser_w,0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mpu4oki_68k_map, AS_PROGRAM, 16, mpu4vid_state )
+ADDRESS_MAP_START(mpu4vid_state::mpu4oki_68k_map)
AM_RANGE(0x000000, 0x5fffff) AM_ROM //AM_WRITENOP
AM_RANGE(0x600000, 0x63ffff) AM_RAM /* The Mating Game has an extra 256kB RAM on the program card */
// AM_RANGE(0x640000, 0x7fffff) AM_NOP /* Possible bug, reads and writes here */
@@ -1209,7 +1214,7 @@ static ADDRESS_MAP_START( mpu4oki_68k_map, AS_PROGRAM, 16, mpu4vid_state )
// AM_RANGE(0xfff000, 0xffffff) AM_NOP /* Possible bug, reads and writes here */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bwbvid_68k_map, AS_PROGRAM, 16, mpu4vid_state )
+ADDRESS_MAP_START(mpu4vid_state::bwbvid_68k_map)
AM_RANGE(0x000000, 0x7fffff) AM_ROM
AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_SHARE("vid_mainram")
AM_RANGE(0x810000, 0x81ffff) AM_RAM /* ? */
@@ -1225,7 +1230,7 @@ static ADDRESS_MAP_START( bwbvid_68k_map, AS_PROGRAM, 16, mpu4vid_state )
//AM_RANGE(0xa00004, 0xa0000f) AM_READWRITE(bwb_characteriser16_r, bwb_characteriser16_w)//AM_READWRITE(adpcm_r, adpcm_w) CHR ?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bwbvid5_68k_map, AS_PROGRAM, 16, mpu4vid_state )
+ADDRESS_MAP_START(mpu4vid_state::bwbvid5_68k_map)
AM_RANGE(0x000000, 0x7fffff) AM_ROM
AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_SHARE("vid_mainram")
AM_RANGE(0x810000, 0x81ffff) AM_RAM /* ? */
@@ -1245,7 +1250,7 @@ static ADDRESS_MAP_START( bwbvid5_68k_map, AS_PROGRAM, 16, mpu4vid_state )
ADDRESS_MAP_END
/* TODO: Fix up MPU4 map*/
-static ADDRESS_MAP_START( mpu4_6809_map, AS_PROGRAM, 8, mpu4_state )
+ADDRESS_MAP_START(mpu4_state::mpu4_6809_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x0800, 0x0801) AM_DEVREADWRITE("acia6850_0", acia6850_device, read, write)
AM_RANGE(0x0880, 0x0881) AM_NOP //Read/write here
diff --git a/src/mame/drivers/mpu5.cpp b/src/mame/drivers/mpu5.cpp
index 34cb769c132..15cfd7aadcd 100644
--- a/src/mame/drivers/mpu5.cpp
+++ b/src/mame/drivers/mpu5.cpp
@@ -233,6 +233,7 @@ public:
DECLARE_WRITE32_MEMBER(pic_w);
void mpu5(machine_config &config);
+ void mpu5_map(address_map &map);
protected:
// devices
@@ -526,7 +527,7 @@ WRITE32_MEMBER(mpu5_state::mpu5_mem_w)
}
-static ADDRESS_MAP_START( mpu5_map, AS_PROGRAM, 32, mpu5_state )
+ADDRESS_MAP_START(mpu5_state::mpu5_map)
AM_RANGE(0x00000000, 0xffffffff) AM_READWRITE(mpu5_mem_r, mpu5_mem_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mpz80.cpp b/src/mame/drivers/mpz80.cpp
index af0681621f8..338eec746c0 100644
--- a/src/mame/drivers/mpz80.cpp
+++ b/src/mame/drivers/mpz80.cpp
@@ -532,7 +532,7 @@ WRITE8_MEMBER( mpz80_state::disp_col_w )
// ADDRESS_MAP( mpz80_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( mpz80_mem, AS_PROGRAM, 8, mpz80_state )
+ADDRESS_MAP_START(mpz80_state::mpz80_mem)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(mmu_r, mmu_w)
/*
Task 0 Segment 0 map:
@@ -552,7 +552,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( mpz80_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( mpz80_io, AS_IO, 8, mpz80_state )
+ADDRESS_MAP_START(mpz80_state::mpz80_io)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(mmu_io_r, mmu_io_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mquake.cpp b/src/mame/drivers/mquake.cpp
index fe2447f2b4d..59635c340b9 100644
--- a/src/mame/drivers/mquake.cpp
+++ b/src/mame/drivers/mquake.cpp
@@ -61,6 +61,10 @@ public:
DECLARE_WRITE16_MEMBER( coin_chip_w );
void mquake(machine_config &config);
+ void a500_mem(address_map &map);
+ void main_map(address_map &map);
+ void mquake_es5503_map(address_map &map);
+ void overlay_512kb_map(address_map &map);
private:
required_device<es5503_device> m_es5503;
required_region_ptr<uint8_t> m_es5503_rom;
@@ -80,7 +84,7 @@ READ8_MEMBER( mquake_state::es5503_sample_r )
return m_es5503_rom[offset + (m_es5503->get_channel_strobe() * 0x10000)];
}
-static ADDRESS_MAP_START( mquake_es5503_map, 0, 8, mquake_state )
+ADDRESS_MAP_START(mquake_state::mquake_es5503_map)
AM_RANGE(0x000000, 0x1ffff) AM_READ(es5503_sample_r)
ADDRESS_MAP_END
@@ -118,13 +122,13 @@ WRITE16_MEMBER( mquake_state::coin_chip_w )
*
*************************************/
-static ADDRESS_MAP_START( overlay_512kb_map, AS_PROGRAM, 16, mquake_state )
+ADDRESS_MAP_START(mquake_state::overlay_512kb_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x07ffff) AM_MIRROR(0x180000) AM_RAM AM_SHARE("chip_ram")
AM_RANGE(0x200000, 0x27ffff) AM_ROM AM_REGION("kickstart", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( a500_mem, AS_PROGRAM, 16, mquake_state )
+ADDRESS_MAP_START(mquake_state::a500_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x1fffff) AM_DEVICE("overlay", address_map_bank_device, amap16)
AM_RANGE(0xa00000, 0xbfffff) AM_READWRITE(cia_r, cia_w)
@@ -137,7 +141,7 @@ static ADDRESS_MAP_START( a500_mem, AS_PROGRAM, 16, mquake_state )
AM_RANGE(0xf80000, 0xffffff) AM_ROM AM_REGION("kickstart", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, mquake_state )
+ADDRESS_MAP_START(mquake_state::main_map)
AM_IMPORT_FROM(a500_mem)
AM_RANGE(0x200000, 0x203fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x204000, 0x2041ff) AM_DEVREADWRITE8("es5503", es5503_device, read, write, 0x00ff)
diff --git a/src/mame/drivers/mrdo.cpp b/src/mame/drivers/mrdo.cpp
index 649b270d44a..76c7cf2c02d 100644
--- a/src/mame/drivers/mrdo.cpp
+++ b/src/mame/drivers/mrdo.cpp
@@ -46,7 +46,7 @@ READ8_MEMBER(mrdo_state::mrdo_SECRE_r)
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, mrdo_state )
+ADDRESS_MAP_START(mrdo_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(mrdo_bgvideoram_w) AM_SHARE("bgvideoram")
AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(mrdo_fgvideoram_w) AM_SHARE("fgvideoram")
diff --git a/src/mame/drivers/mrflea.cpp b/src/mame/drivers/mrflea.cpp
index 68859fd93c0..3db1ab4b01a 100644
--- a/src/mame/drivers/mrflea.cpp
+++ b/src/mame/drivers/mrflea.cpp
@@ -97,7 +97,7 @@ WRITE8_MEMBER(mrflea_state::mrflea_data1_w)
*
*************************************/
-static ADDRESS_MAP_START( mrflea_master_map, AS_PROGRAM, 8, mrflea_state )
+ADDRESS_MAP_START(mrflea_state::mrflea_master_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(mrflea_videoram_w) AM_SHARE("videoram")
@@ -105,7 +105,7 @@ static ADDRESS_MAP_START( mrflea_master_map, AS_PROGRAM, 8, mrflea_state )
AM_RANGE(0xec00, 0xecff) AM_RAM_WRITE(mrflea_spriteram_w) AM_SHARE("spriteram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mrflea_master_io_map, AS_IO, 8, mrflea_state )
+ADDRESS_MAP_START(mrflea_state::mrflea_master_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITENOP /* watchdog? */
AM_RANGE(0x40, 0x43) AM_DEVREADWRITE("mainppi", i8255_device, read, write)
@@ -113,14 +113,14 @@ static ADDRESS_MAP_START( mrflea_master_io_map, AS_IO, 8, mrflea_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mrflea_slave_map, AS_PROGRAM, 8, mrflea_state )
+ADDRESS_MAP_START(mrflea_state::mrflea_slave_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x2000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x80ff) AM_RAM
AM_RANGE(0x9000, 0x905a) AM_RAM /* ? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mrflea_slave_io_map, AS_IO, 8, mrflea_state )
+ADDRESS_MAP_START(mrflea_state::mrflea_slave_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITENOP /* watchdog */
AM_RANGE(0x10, 0x11) AM_DEVREADWRITE("pic", pic8259_device, read, write)
diff --git a/src/mame/drivers/mrgame.cpp b/src/mame/drivers/mrgame.cpp
index 25e9d1574e6..f542791498f 100644
--- a/src/mame/drivers/mrgame.cpp
+++ b/src/mame/drivers/mrgame.cpp
@@ -86,6 +86,12 @@ public:
required_shared_ptr<uint8_t> m_p_objectram;
required_device<gfxdecode_device> m_gfxdecode;
void mrgame(machine_config &config);
+ void audio1_io(address_map &map);
+ void audio1_map(address_map &map);
+ void audio2_io(address_map &map);
+ void audio2_map(address_map &map);
+ void main_map(address_map &map);
+ void video_map(address_map &map);
private:
bool m_ack1;
bool m_ack2;
@@ -110,7 +116,7 @@ private:
};
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, mrgame_state )
+ADDRESS_MAP_START(mrgame_state::main_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0x020000, 0x02ffff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x030000, 0x030001) AM_READ8(rsw_r, 0xff) //RSW ACK
@@ -123,7 +129,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, mrgame_state )
AM_RANGE(0x03000e, 0x03000f) AM_WRITENOP //EXT ADD - lamp/sol data
ADDRESS_MAP_END
-static ADDRESS_MAP_START( video_map, AS_PROGRAM, 8, mrgame_state )
+ADDRESS_MAP_START(mrgame_state::video_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM AM_REGION("video", 0)
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0x0400) AM_RAM AM_SHARE("videoram")
@@ -133,12 +139,12 @@ static ADDRESS_MAP_START( video_map, AS_PROGRAM, 8, mrgame_state )
AM_RANGE(0x8100, 0x8103) AM_MIRROR(0x7efc) AM_DEVREADWRITE("ppi", i8255_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audio1_map, AS_PROGRAM, 8, mrgame_state )
+ADDRESS_MAP_START(mrgame_state::audio1_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("audio1", 0)
AM_RANGE(0xfc00, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audio1_io, AS_IO, 8, mrgame_state )
+ADDRESS_MAP_START(mrgame_state::audio1_io)
ADDRESS_MAP_GLOBAL_MASK(3)
AM_RANGE(0x0000, 0x0000) AM_DEVWRITE("dacvol", dac_byte_interface, write) //DA1
AM_RANGE(0x0001, 0x0001) AM_READ(sound_r) //IN1
@@ -146,12 +152,12 @@ static ADDRESS_MAP_START( audio1_io, AS_IO, 8, mrgame_state )
AM_RANGE(0x0003, 0x0003) AM_WRITENOP //SGS pass data to M114
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audio2_map, AS_PROGRAM, 8, mrgame_state )
+ADDRESS_MAP_START(mrgame_state::audio2_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("audio2", 0)
AM_RANGE(0xfc00, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audio2_io, AS_IO, 8, mrgame_state )
+ADDRESS_MAP_START(mrgame_state::audio2_io)
ADDRESS_MAP_GLOBAL_MASK(7)
AM_RANGE(0x0000, 0x0000) AM_DEVWRITE("ldac", dac_byte_interface, write) //DA2
AM_RANGE(0x0001, 0x0001) AM_READ(sound_r) //IN2
diff --git a/src/mame/drivers/mrjong.cpp b/src/mame/drivers/mrjong.cpp
index 8d089d53437..35aa3d84bcc 100644
--- a/src/mame/drivers/mrjong.cpp
+++ b/src/mame/drivers/mrjong.cpp
@@ -72,7 +72,7 @@ READ8_MEMBER(mrjong_state::io_0x03_r)
*
*************************************/
-static ADDRESS_MAP_START( mrjong_map, AS_PROGRAM, 8, mrjong_state )
+ADDRESS_MAP_START(mrjong_state::mrjong_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa7ff) AM_RAM
@@ -80,7 +80,7 @@ static ADDRESS_MAP_START( mrjong_map, AS_PROGRAM, 8, mrjong_state )
AM_RANGE(0xe400, 0xe7ff) AM_RAM_WRITE(mrjong_colorram_w) AM_SHARE("colorram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mrjong_io_map, AS_IO, 8, mrjong_state )
+ADDRESS_MAP_START(mrjong_state::mrjong_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("P2") AM_WRITE(mrjong_flipscreen_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("P1") AM_DEVWRITE("sn1", sn76489_device, write)
diff --git a/src/mame/drivers/ms0515.cpp b/src/mame/drivers/ms0515.cpp
index 77449ca6c10..1f319dd539b 100644
--- a/src/mame/drivers/ms0515.cpp
+++ b/src/mame/drivers/ms0515.cpp
@@ -101,6 +101,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(irq11_w);
void ms0515(machine_config &config);
+ void ms0515_mem(address_map &map);
protected:
virtual void machine_reset() override;
@@ -127,7 +128,7 @@ private:
floppy_image_device *m_floppy;
};
-static ADDRESS_MAP_START(ms0515_mem, AS_PROGRAM, 16, ms0515_state)
+ADDRESS_MAP_START(ms0515_state::ms0515_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0000000, 0017777) AM_RAMBANK("bank0") // RAM
AM_RANGE(0020000, 0037777) AM_RAMBANK("bank1") // RAM
diff --git a/src/mame/drivers/ms32.cpp b/src/mame/drivers/ms32.cpp
index 1285da407da..0d6d7836db9 100644
--- a/src/mame/drivers/ms32.cpp
+++ b/src/mame/drivers/ms32.cpp
@@ -346,7 +346,7 @@ WRITE32_MEMBER(ms32_state::coin_counter_w)
machine().bookkeeping().coin_counter_w(1, data & 0x20);
}
-static ADDRESS_MAP_START( ms32_map, AS_PROGRAM, 32, ms32_state )
+ADDRESS_MAP_START(ms32_state::ms32_map)
/* RAM areas verified by testing on real hw - usually accessed at the 0xfc000000 + mirror */
AM_RANGE(0xc0000000, 0xc0007fff) AM_READWRITE8(ms32_nvram_r8, ms32_nvram_w8, 0x000000ff) AM_MIRROR(0x3c1f8000) // nvram is 8-bit wide, 0x2000 in size */
/* AM_RANGE(0xc0008000, 0xc01fffff) // mirrors of nvramram, handled above */
@@ -411,7 +411,7 @@ WRITE32_MEMBER(ms32_state::ms32_irq5_guess_w)
irq_raise(5);
}
-static ADDRESS_MAP_START( f1superb_map, AS_PROGRAM, 32, ms32_state )
+ADDRESS_MAP_START(ms32_state::f1superb_map)
AM_IMPORT_FROM(ms32_map)
AM_RANGE(0xfd0d0000, 0xfd0d0003) AM_READ_PORT("DSW2") // MB-93159
@@ -1373,7 +1373,7 @@ WRITE8_MEMBER(ms32_state::to_main_w)
irq_raise(1);
}
-static ADDRESS_MAP_START( ms32_sound_map, AS_PROGRAM, 8, ms32_state )
+ADDRESS_MAP_START(ms32_state::ms32_sound_map)
AM_RANGE(0x0000, 0x3eff) AM_ROM
AM_RANGE(0x3f00, 0x3f0f) AM_DEVREADWRITE("ymf", ymf271_device, read, write)
AM_RANGE(0x3f10, 0x3f10) AM_READWRITE(latch_r,to_main_w)
diff --git a/src/mame/drivers/ms6102.cpp b/src/mame/drivers/ms6102.cpp
index a5cc95d61af..67e15810dc4 100644
--- a/src/mame/drivers/ms6102.cpp
+++ b/src/mame/drivers/ms6102.cpp
@@ -89,6 +89,8 @@ public:
void kbd_put(u8 data);
void ms6102(machine_config &config);
+ void ms6102_io(address_map &map);
+ void ms6102_mem(address_map &map);
private:
bool m_kbd_ready;
uint8_t m_kbd_data;
@@ -107,14 +109,14 @@ private:
required_region_ptr<u8> m_p_chargen;
};
-static ADDRESS_MAP_START(ms6102_mem, AS_PROGRAM, 8, ms6102_state)
+ADDRESS_MAP_START(ms6102_state::ms6102_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE (0x0000, 0x2fff) AM_ROM
AM_RANGE (0x3800, 0x3bff) AM_RAM AM_SHARE("nvram")
AM_RANGE (0xc000, 0xffff) AM_RAM AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(ms6102_io, AS_IO, 8, ms6102_state)
+ADDRESS_MAP_START(ms6102_state::ms6102_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE (0x00, 0x00) AM_DEVREADWRITE("i8251", i8251_device, data_r, data_w)
AM_RANGE (0x01, 0x01) AM_DEVREADWRITE("i8251", i8251_device, status_r, control_w)
diff --git a/src/mame/drivers/ms9540.cpp b/src/mame/drivers/ms9540.cpp
index bc7d8560994..ff67aa63f08 100644
--- a/src/mame/drivers/ms9540.cpp
+++ b/src/mame/drivers/ms9540.cpp
@@ -41,6 +41,7 @@ public:
void kbd_put(u8 data);
void ms9540(machine_config &config);
+ void mem_map(address_map &map);
private:
uint8_t m_term_data;
virtual void machine_reset() override;
@@ -50,7 +51,7 @@ private:
};
-static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 16, ms9540_state)
+ADDRESS_MAP_START(ms9540_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xffffff)
AM_RANGE(0x000000, 0x00ffff) AM_RAM AM_SHARE("rambase")
diff --git a/src/mame/drivers/msbc1.cpp b/src/mame/drivers/msbc1.cpp
index 5c009eb1f5f..6aad51082d7 100644
--- a/src/mame/drivers/msbc1.cpp
+++ b/src/mame/drivers/msbc1.cpp
@@ -66,12 +66,13 @@ public:
{ }
void msbc1(machine_config &config);
+ void msbc1_mem(address_map &map);
private:
virtual void machine_reset() override;
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START( msbc1_mem, AS_PROGRAM, 16, msbc1_state )
+ADDRESS_MAP_START(msbc1_state::msbc1_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x03ffff) AM_RAM
AM_RANGE(0xf80000, 0xf87fff) AM_ROM AM_REGION(MC68000R12_TAG, 0)
diff --git a/src/mame/drivers/msisaac.cpp b/src/mame/drivers/msisaac.cpp
index edb16425e7c..d82da48efc8 100644
--- a/src/mame/drivers/msisaac.cpp
+++ b/src/mame/drivers/msisaac.cpp
@@ -174,7 +174,7 @@ WRITE8_MEMBER(msisaac_state::msisaac_mcu_w)
#endif
}
-static ADDRESS_MAP_START( msisaac_map, AS_PROGRAM, 8, msisaac_state )
+ADDRESS_MAP_START(msisaac_state::msisaac_map)
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xe7ff) AM_RAM
AM_RANGE(0xe800, 0xefff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
@@ -240,7 +240,7 @@ WRITE8_MEMBER(msisaac_state::sound_control_1_w)
//popmessage("SND1 0=%2x 1=%2x", m_snd_ctrl0, m_snd_ctrl1);
}
-static ADDRESS_MAP_START( msisaac_sound_map, AS_PROGRAM, 8, msisaac_state )
+ADDRESS_MAP_START(msisaac_state::msisaac_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x8000, 0x8001) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
diff --git a/src/mame/drivers/mstation.cpp b/src/mame/drivers/mstation.cpp
index b6c118ed26d..f2a1cce7b98 100644
--- a/src/mame/drivers/mstation.cpp
+++ b/src/mame/drivers/mstation.cpp
@@ -98,6 +98,9 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(mstation_1hz_timer);
TIMER_DEVICE_CALLBACK_MEMBER(mstation_kb_timer);
void mstation(machine_config &config);
+ void mstation_banked_map(address_map &map);
+ void mstation_io(address_map &map);
+ void mstation_mem(address_map &map);
};
@@ -253,7 +256,7 @@ READ8_MEMBER( mstation_state::kb_r )
}
-static ADDRESS_MAP_START(mstation_banked_map, AS_PROGRAM, 8, mstation_state)
+ADDRESS_MAP_START(mstation_state::mstation_banked_map)
AM_RANGE(0x0000000, 0x00fffff) AM_MIRROR(0x0300000) AM_DEVREADWRITE("flash0", intelfsh8_device, read, write)
AM_RANGE(0x0400000, 0x041ffff) AM_MIRROR(0x03e0000) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x0c00000, 0x0c7ffff) AM_MIRROR(0x0380000) AM_DEVREADWRITE("flash1", intelfsh8_device, read, write)
@@ -262,14 +265,14 @@ static ADDRESS_MAP_START(mstation_banked_map, AS_PROGRAM, 8, mstation_state)
AM_RANGE(0x1400000, 0x1403fff) AM_MIRROR(0x03fc000) AM_READWRITE(modem_r, modem_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mstation_mem, AS_PROGRAM, 8, mstation_state)
+ADDRESS_MAP_START(mstation_state::mstation_mem)
AM_RANGE(0x0000, 0x3fff) AM_DEVREADWRITE("flash0", intelfsh8_device, read, write)
AM_RANGE(0x4000, 0x7fff) AM_DEVREADWRITE("bank0", address_map_bank_device, read8, write8)
AM_RANGE(0x8000, 0xbfff) AM_DEVREADWRITE("bank1", address_map_bank_device, read8, write8)
AM_RANGE(0xc000, 0xffff) AM_RAMBANK("sysram") // system ram always first RAM bank
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mstation_io , AS_IO, 8, mstation_state)
+ADDRESS_MAP_START(mstation_state::mstation_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x01 ) AM_READWRITE(kb_r, kb_w)
AM_RANGE( 0x02, 0x02 ) AM_WRITE(port2_w)
diff --git a/src/mame/drivers/msx.cpp b/src/mame/drivers/msx.cpp
index 0a7d8e8ee12..61f47d3ade3 100644
--- a/src/mame/drivers/msx.cpp
+++ b/src/mame/drivers/msx.cpp
@@ -539,7 +539,7 @@ PCB Layouts missing
#include "speaker.h"
-static ADDRESS_MAP_START ( msx_memory_map, AS_PROGRAM, 8, msx_state )
+ADDRESS_MAP_START(msx_state::msx_memory_map)
AM_RANGE(0x0000, 0xfffe) AM_READWRITE(msx_mem_read, msx_mem_write)
AM_RANGE(0xffff, 0xffff) AM_READWRITE(msx_sec_slot_r, msx_sec_slot_w)
ADDRESS_MAP_END
@@ -554,7 +554,7 @@ WRITE8_MEMBER(msx_state::msx_ay8910_w)
}
-static ADDRESS_MAP_START ( msx_io_map, AS_IO, 8, msx_state )
+ADDRESS_MAP_START(msx_state::msx_io_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
// 0x7c - 0x7d : MSX-MUSIC/FM-PAC write port. Handlers will be installed if MSX-MUSIC is present in a system
@@ -570,7 +570,7 @@ static ADDRESS_MAP_START ( msx_io_map, AS_IO, 8, msx_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START ( msx2_io_map, AS_IO, 8, msx_state )
+ADDRESS_MAP_START(msx_state::msx2_io_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x40, 0x4f) AM_READWRITE(msx_switched_r, msx_switched_w)
@@ -588,7 +588,7 @@ static ADDRESS_MAP_START ( msx2_io_map, AS_IO, 8, msx_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START ( msx2p_io_map, AS_IO, 8, msx_state )
+ADDRESS_MAP_START(msx_state::msx2p_io_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x40, 0x4f) AM_READWRITE(msx_switched_r, msx_switched_w)
diff --git a/src/mame/drivers/mt735.cpp b/src/mame/drivers/mt735.cpp
index 63a693a3ed8..40c972026f2 100644
--- a/src/mame/drivers/mt735.cpp
+++ b/src/mame/drivers/mt735.cpp
@@ -21,6 +21,7 @@ public:
virtual void machine_start() override;
virtual void machine_reset() override;
void mt735(machine_config &config);
+ void mt735_map(address_map &map);
};
mt735_state::mt735_state(const machine_config &mconfig, device_type type, const char *tag) :
@@ -49,7 +50,7 @@ READ8_MEMBER(mt735_state::p5_r)
return 0x00;
}
-static ADDRESS_MAP_START( mt735_map, AS_PROGRAM, 16, mt735_state )
+ADDRESS_MAP_START(mt735_state::mt735_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x278000, 0x287fff) AM_RAM
AM_RANGE(0x400000, 0x4fffff) AM_RAM
diff --git a/src/mame/drivers/mtouchxl.cpp b/src/mame/drivers/mtouchxl.cpp
index 55c8af82ee8..0819e03a088 100644
--- a/src/mame/drivers/mtouchxl.cpp
+++ b/src/mame/drivers/mtouchxl.cpp
@@ -77,6 +77,9 @@ public:
DECLARE_READ8_MEMBER(coin_r);
void at486(machine_config &config);
static void cdrom(device_t *device);
+ void at32_io(address_map &map);
+ void at32_map(address_map &map);
+ void dbank_map(address_map &map);
};
WRITE8_MEMBER(mtxl_state::bank_w)
@@ -101,7 +104,7 @@ WRITE8_MEMBER(mtxl_state::key_w)
m_multikey->write_dq((data & 0x20) ? ASSERT_LINE : CLEAR_LINE);
}
-static ADDRESS_MAP_START( at32_map, AS_PROGRAM, 32, mtxl_state )
+ADDRESS_MAP_START(mtxl_state::at32_map)
ADDRESS_MAP_UNMAP_HIGH
#ifndef REAL_PCI_CHIPSET
AM_RANGE(0x00000000, 0x0009ffff) AM_RAMBANK("bank10")
@@ -112,7 +115,7 @@ static ADDRESS_MAP_START( at32_map, AS_PROGRAM, 32, mtxl_state )
#endif
ADDRESS_MAP_END
-static ADDRESS_MAP_START( at32_io, AS_IO, 32, mtxl_state )
+ADDRESS_MAP_START(mtxl_state::at32_io)
ADDRESS_MAP_UNMAP_HIGH
#ifndef REAL_PCI_CHIPSET
AM_RANGE(0x0000, 0x001f) AM_DEVREADWRITE8("mb:dma8237_1", am9517a_device, read, write, 0xffffffff)
@@ -135,7 +138,7 @@ static ADDRESS_MAP_START( at32_io, AS_IO, 32, mtxl_state )
#endif
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dbank_map, AS_PROGRAM, 32, mtxl_state )
+ADDRESS_MAP_START(mtxl_state::dbank_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM AM_REGION("ioboard", 0)
AM_RANGE(0x100000, 0x17ffff) AM_DEVREADWRITE8("flash", intelfsh8_device, read, write, 0xffffffff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mtx.cpp b/src/mame/drivers/mtx.cpp
index b42f4aaca7b..bd639f2d6b7 100644
--- a/src/mame/drivers/mtx.cpp
+++ b/src/mame/drivers/mtx.cpp
@@ -46,14 +46,14 @@
ADDRESS_MAP( mtx_mem )
-------------------------------------------------*/
-static ADDRESS_MAP_START( mtx_mem, AS_PROGRAM, 8, mtx_state )
+ADDRESS_MAP_START(mtx_state::mtx_mem)
ADDRESS_MAP_END
/*-------------------------------------------------
ADDRESS_MAP( mtx_io )
-------------------------------------------------*/
-static ADDRESS_MAP_START( mtx_io, AS_IO, 8, mtx_state )
+ADDRESS_MAP_START(mtx_state::mtx_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READWRITE(mtx_strobe_r, mtx_bankswitch_w)
AM_RANGE(0x01, 0x01) AM_DEVREADWRITE("tms9929a", tms9929a_device, vram_read, vram_write)
@@ -81,7 +81,7 @@ ADDRESS_MAP_END
ADDRESS_MAP( rs128_io )
-------------------------------------------------*/
-static ADDRESS_MAP_START( rs128_io, AS_IO, 8, mtx_state )
+ADDRESS_MAP_START(mtx_state::rs128_io)
AM_IMPORT_FROM(mtx_io)
AM_RANGE(0x0c, 0x0f) AM_DEVREADWRITE(Z80DART_TAG, z80dart_device, cd_ba_r, cd_ba_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mugsmash.cpp b/src/mame/drivers/mugsmash.cpp
index 1014c609ad2..c595c113474 100644
--- a/src/mame/drivers/mugsmash.cpp
+++ b/src/mame/drivers/mugsmash.cpp
@@ -175,7 +175,7 @@ READ16_MEMBER(mugsmash_state::mugsmash_input_ports_r)
}
#endif
-static ADDRESS_MAP_START( mugsmash_map, AS_PROGRAM, 16, mugsmash_state )
+ADDRESS_MAP_START(mugsmash_state::mugsmash_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(mugsmash_videoram1_w) AM_SHARE("videoram1")
AM_RANGE(0x082000, 0x082fff) AM_RAM_WRITE(mugsmash_videoram2_w) AM_SHARE("videoram2")
@@ -195,7 +195,7 @@ static ADDRESS_MAP_START( mugsmash_map, AS_PROGRAM, 16, mugsmash_state )
#endif
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mugsmash_sound_map, AS_PROGRAM, 8, mugsmash_state )
+ADDRESS_MAP_START(mugsmash_state::mugsmash_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE("ymsnd", ym2151_device,read,write)
diff --git a/src/mame/drivers/multfish.cpp b/src/mame/drivers/multfish.cpp
index 67ef1baa087..cd4c589fc60 100644
--- a/src/mame/drivers/multfish.cpp
+++ b/src/mame/drivers/multfish.cpp
@@ -679,7 +679,7 @@ DRIVER_INIT_MEMBER(igrosoft_gamble_state,crzmon2ent)
// needs gfx (and palette) descrambles
}
-static ADDRESS_MAP_START( igrosoft_gamble_map, AS_PROGRAM, 8, igrosoft_gamble_state )
+ADDRESS_MAP_START(igrosoft_gamble_state::igrosoft_gamble_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_WRITE(igrosoft_gamble_vid_w)
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xdfff) AM_READWRITE(igrosoft_gamble_timekeeper_r, igrosoft_gamble_timekeeper_w)
@@ -912,7 +912,7 @@ WRITE8_MEMBER(igrosoft_gamble_state::igrosoft_gamble_dispenable_w)
m_disp_enable = data;
}
-static ADDRESS_MAP_START( igrosoft_gamble_portmap, AS_IO, 8, igrosoft_gamble_state )
+ADDRESS_MAP_START(igrosoft_gamble_state::igrosoft_gamble_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x10) AM_READ_PORT("IN0")
AM_RANGE(0x11, 0x11) AM_READ_PORT("IN1")
@@ -977,7 +977,7 @@ static ADDRESS_MAP_START( igrosoft_gamble_portmap, AS_IO, 8, igrosoft_gamble_sta
AM_RANGE(0xf8, 0xfd) AM_WRITE(igrosoft_gamble_bank_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rollfr_portmap, AS_IO, 8, igrosoft_gamble_state )
+ADDRESS_MAP_START(igrosoft_gamble_state::rollfr_portmap)
AM_IMPORT_FROM(igrosoft_gamble_portmap)
AM_RANGE(0x33, 0x33) AM_WRITE(rollfr_hopper_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/multi16.cpp b/src/mame/drivers/multi16.cpp
index 46ccf106522..f3d796ca709 100644
--- a/src/mame/drivers/multi16.cpp
+++ b/src/mame/drivers/multi16.cpp
@@ -38,6 +38,8 @@ public:
virtual void video_start() override;
uint32_t screen_update_multi16(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void multi16(machine_config &config);
+ void multi16_io(address_map &map);
+ void multi16_map(address_map &map);
};
@@ -90,7 +92,7 @@ uint32_t multi16_state::screen_update_multi16(screen_device &screen, bitmap_ind1
return 0;
}
-static ADDRESS_MAP_START(multi16_map, AS_PROGRAM, 16, multi16_state)
+ADDRESS_MAP_START(multi16_state::multi16_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000,0x7ffff) AM_RAM
AM_RANGE(0xd8000,0xdffff) AM_RAM AM_SHARE("p_vram")
@@ -110,7 +112,7 @@ WRITE8_MEMBER( multi16_state::multi16_6845_data_w )
m_crtc->register_w(space, offset, data);
}
-static ADDRESS_MAP_START(multi16_io, AS_IO, 16, multi16_state)
+ADDRESS_MAP_START(multi16_state::multi16_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x02, 0x03) AM_DEVREADWRITE8("pic8259", pic8259_device, read, write, 0xffff) // i8259
AM_RANGE(0x40, 0x41) AM_WRITE8(multi16_6845_address_w, 0x00ff)
diff --git a/src/mame/drivers/multi8.cpp b/src/mame/drivers/multi8.cpp
index 8b392e4acf1..fb38fb40031 100644
--- a/src/mame/drivers/multi8.cpp
+++ b/src/mame/drivers/multi8.cpp
@@ -62,6 +62,8 @@ public:
MC6845_UPDATE_ROW(crtc_update_row);
void multi8(machine_config &config);
+ void multi8_io(address_map &map);
+ void multi8_mem(address_map &map);
private:
uint8_t *m_p_vram;
uint8_t *m_p_wram;
@@ -286,14 +288,14 @@ WRITE8_MEMBER( multi8_state::kanji_w )
m_knj_addr = (offset == 0) ? (m_knj_addr & 0xff00) | (data & 0xff) : (m_knj_addr & 0x00ff) | (data << 8);
}
-static ADDRESS_MAP_START(multi8_mem, AS_PROGRAM, 8, multi8_state)
+ADDRESS_MAP_START(multi8_state::multi8_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_READWRITE(vram_r, vram_w)
AM_RANGE(0xc000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(multi8_io, AS_IO, 8, multi8_state)
+ADDRESS_MAP_START(multi8_state::multi8_io)
// ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(key_input_r) //keyboard
diff --git a/src/mame/drivers/multigam.cpp b/src/mame/drivers/multigam.cpp
index 068de19e395..3be90d6df2c 100644
--- a/src/mame/drivers/multigam.cpp
+++ b/src/mame/drivers/multigam.cpp
@@ -208,6 +208,10 @@ public:
void supergm3(machine_config &config);
void multigmt(machine_config &config);
void multigm3(machine_config &config);
+ void multigam_map(address_map &map);
+ void multigm3_map(address_map &map);
+ void multigmt_map(address_map &map);
+ void supergm3_map(address_map &map);
};
@@ -398,7 +402,7 @@ WRITE8_MEMBER(multigam_state::multigam_mapper2_w)
*******************************************************/
-static ADDRESS_MAP_START( multigam_map, AS_PROGRAM, 8, multigam_state )
+ADDRESS_MAP_START(multigam_state::multigam_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM /* NES RAM */
AM_RANGE(0x0800, 0x0fff) AM_RAM /* additional RAM */
AM_RANGE(0x2000, 0x3fff) AM_DEVREADWRITE("ppu", ppu2c0x_device, read, write)
@@ -414,7 +418,7 @@ static ADDRESS_MAP_START( multigam_map, AS_PROGRAM, 8, multigam_state )
AM_RANGE(0x8000, 0xffff) AM_ROM AM_WRITE(multigam_mapper2_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( multigmt_map, AS_PROGRAM, 8, multigam_state )
+ADDRESS_MAP_START(multigam_state::multigmt_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM /* NES RAM */
AM_RANGE(0x0800, 0x0fff) AM_RAM /* additional RAM */
AM_RANGE(0x2000, 0x3fff) AM_DEVREADWRITE("ppu", ppu2c0x_device, read, write)
@@ -677,7 +681,7 @@ WRITE8_MEMBER(multigam_state::multigm3_switch_prg_rom)
*******************************************************/
-static ADDRESS_MAP_START( multigm3_map, AS_PROGRAM, 8, multigam_state )
+ADDRESS_MAP_START(multigam_state::multigm3_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM /* NES RAM */
AM_RANGE(0x0800, 0x0fff) AM_RAM /* additional RAM */
AM_RANGE(0x2000, 0x3fff) AM_DEVREADWRITE("ppu", ppu2c0x_device, read, write)
@@ -977,7 +981,7 @@ WRITE8_MEMBER(multigam_state::supergm3_chr_bank_w)
*******************************************************/
-static ADDRESS_MAP_START( supergm3_map, AS_PROGRAM, 8, multigam_state )
+ADDRESS_MAP_START(multigam_state::supergm3_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM /* NES RAM */
AM_RANGE(0x0800, 0x0fff) AM_RAM /* additional RAM */
AM_RANGE(0x2000, 0x3fff) AM_DEVREADWRITE("ppu", ppu2c0x_device, read, write)
diff --git a/src/mame/drivers/munchmo.cpp b/src/mame/drivers/munchmo.cpp
index 00e0618a7e0..fe13910ff5a 100644
--- a/src/mame/drivers/munchmo.cpp
+++ b/src/mame/drivers/munchmo.cpp
@@ -29,7 +29,6 @@ Stephh's notes (based on the game Z80 code and some tests) :
#include "includes/munchmo.h"
#include "cpu/z80/z80.h"
-#include "machine/74259.h"
#include "sound/ay8910.h"
#include "screen.h"
#include "speaker.h"
@@ -94,7 +93,7 @@ READ8_MEMBER(munchmo_state::ay2reset_r)
*
*************************************/
-static ADDRESS_MAP_START( mnchmobl_map, AS_PROGRAM, 8, munchmo_state )
+ADDRESS_MAP_START(munchmo_state::mnchmobl_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM
AM_RANGE(0xa000, 0xa3ff) AM_MIRROR(0x0400) AM_RAM AM_SHARE("sprite_xpos")
@@ -104,7 +103,7 @@ static ADDRESS_MAP_START( mnchmobl_map, AS_PROGRAM, 8, munchmo_state )
AM_RANGE(0xbaba, 0xbaba) AM_WRITENOP /* ? */
AM_RANGE(0xbc00, 0xbc7f) AM_RAM AM_SHARE("status_vram")
AM_RANGE(0xbe00, 0xbe00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
- AM_RANGE(0xbe01, 0xbe01) AM_SELECT(0x0070) AM_DEVWRITE_MOD("mainlatch", ls259_device, write_d0, rshift<4>)
+ ;map(0xbe01, 0xbe01).select(0x0070).lw8("mainlatch_w", [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_mainlatch->write_d0(space, offset >> 4, data, mem_mask); });
AM_RANGE(0xbe02, 0xbe02) AM_READ_PORT("DSW1")
AM_RANGE(0xbe03, 0xbe03) AM_READ_PORT("DSW2")
AM_RANGE(0xbf00, 0xbf00) AM_WRITE(nmi_ack_w) // CNI 1-8C
@@ -115,7 +114,7 @@ static ADDRESS_MAP_START( mnchmobl_map, AS_PROGRAM, 8, munchmo_state )
ADDRESS_MAP_END
/* memory map provided thru schematics */
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, munchmo_state )
+ADDRESS_MAP_START(munchmo_state::sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x3fff) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0x4000, 0x4fff) AM_DEVWRITE("ay1", ay8910_device, data_w)
diff --git a/src/mame/drivers/murogem.cpp b/src/mame/drivers/murogem.cpp
index fb79733e70a..e2199dd8cee 100644
--- a/src/mame/drivers/murogem.cpp
+++ b/src/mame/drivers/murogem.cpp
@@ -138,6 +138,7 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void murogem(machine_config &config);
+ void murogem_map(address_map &map);
};
@@ -154,7 +155,7 @@ WRITE8_MEMBER(murogem_state::outport_w)
}
-static ADDRESS_MAP_START( murogem_map, AS_PROGRAM, 8, murogem_state )
+ADDRESS_MAP_START(murogem_state::murogem_map)
AM_RANGE(0x0000, 0x007f) AM_RAM
AM_RANGE(0x4000, 0x4000) AM_DEVWRITE("crtc", mc6845_device, address_w)
AM_RANGE(0x4001, 0x4001) AM_DEVWRITE("crtc", mc6845_device, register_w)
diff --git a/src/mame/drivers/murogmbl.cpp b/src/mame/drivers/murogmbl.cpp
index bc8435bffee..1abf9730073 100644
--- a/src/mame/drivers/murogmbl.cpp
+++ b/src/mame/drivers/murogmbl.cpp
@@ -65,6 +65,7 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void murogmbl(machine_config &config);
+ void murogmbl_map(address_map &map);
};
class slotunbl_state : public driver_device
@@ -88,6 +89,7 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void slotunbl(machine_config &config);
+ void slotunbl_map(address_map &map);
};
PALETTE_INIT_MEMBER(murogmbl_state, murogmbl)
@@ -142,7 +144,7 @@ PALETTE_INIT_MEMBER(slotunbl_state, slotunbl)
}
}
-static ADDRESS_MAP_START( murogmbl_map, AS_PROGRAM, 8, murogmbl_state )
+ADDRESS_MAP_START(murogmbl_state::murogmbl_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM
AM_RANGE(0x4800, 0x4bff) AM_RAM
@@ -154,7 +156,7 @@ static ADDRESS_MAP_START( murogmbl_map, AS_PROGRAM, 8, murogmbl_state )
AM_RANGE(0x7800, 0x7800) AM_READNOP AM_DEVWRITE("dac", dac_byte_interface, write) /* read is always discarded */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slotunbl_map, AS_PROGRAM, 8, slotunbl_state )
+ADDRESS_MAP_START(slotunbl_state::slotunbl_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM
AM_RANGE(0x4800, 0x4fff) AM_RAM
diff --git a/src/mame/drivers/mustache.cpp b/src/mame/drivers/mustache.cpp
index 4eb540302ef..2d62f7ccb8b 100644
--- a/src/mame/drivers/mustache.cpp
+++ b/src/mame/drivers/mustache.cpp
@@ -45,7 +45,7 @@ YM2151:
#define YM_CLOCK (XTAL1/4)
-static ADDRESS_MAP_START( memmap, AS_PROGRAM, 8, mustache_state )
+ADDRESS_MAP_START(mustache_state::memmap)
AM_RANGE(0x0000, 0x7fff) AM_DEVREAD("sei80bu", sei80bu_device, data_r)
AM_RANGE(0x8000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
@@ -65,7 +65,7 @@ static ADDRESS_MAP_START( memmap, AS_PROGRAM, 8, mustache_state )
AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, mustache_state )
+ADDRESS_MAP_START(mustache_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0x7fff) AM_DEVREAD("sei80bu", sei80bu_device, opcode_r)
AM_RANGE(0x8000, 0xbfff) AM_ROM AM_REGION("maincpu", 0x8000)
ADDRESS_MAP_END
@@ -182,7 +182,7 @@ MACHINE_CONFIG_START(mustache_state::mustache)
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK)
MCFG_CPU_PROGRAM_MAP(memmap)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", mustache_state, scanline, "screen", 0, 1)
MCFG_DEVICE_ADD("sei80bu", SEI80BU, 0)
diff --git a/src/mame/drivers/mvme147.cpp b/src/mame/drivers/mvme147.cpp
index 918aa1fe0f2..72679da1e4b 100644
--- a/src/mame/drivers/mvme147.cpp
+++ b/src/mame/drivers/mvme147.cpp
@@ -216,6 +216,7 @@ mvme147_state(const machine_config &mconfig, device_type type, const char *tag)
virtual void machine_start () override;
virtual void machine_reset () override;
void mvme147(machine_config &config);
+ void mvme147_mem(address_map &map);
protected:
private:
@@ -234,7 +235,7 @@ private:
uint8_t m_vc_cntl_conf;
};
-static ADDRESS_MAP_START (mvme147_mem, AS_PROGRAM, 32, mvme147_state)
+ADDRESS_MAP_START(mvme147_state::mvme147_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE (0x00000000, 0x00000007) AM_RAM AM_WRITE (bootvect_w) /* After first write we act as RAM */
AM_RANGE (0x00000000, 0x00000007) AM_ROM AM_READ (bootvect_r) /* ROM mirror just during reset */
diff --git a/src/mame/drivers/mw18w.cpp b/src/mame/drivers/mw18w.cpp
index 6bc99901f66..37255b01ba5 100644
--- a/src/mame/drivers/mw18w.cpp
+++ b/src/mame/drivers/mw18w.cpp
@@ -39,6 +39,8 @@ public:
DECLARE_WRITE8_MEMBER(mw18w_irq0_clear_w);
DECLARE_CUSTOM_INPUT_MEMBER(mw18w_sensors_r);
void mw18w(machine_config &config);
+ void mw18w_map(address_map &map);
+ void mw18w_portmap(address_map &map);
};
@@ -160,12 +162,12 @@ CUSTOM_INPUT_MEMBER(mw18w_state::mw18w_sensors_r)
}
-static ADDRESS_MAP_START( mw18w_map, AS_PROGRAM, 8, mw18w_state )
+ADDRESS_MAP_START(mw18w_state::mw18w_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mw18w_portmap, AS_IO, 8, mw18w_state )
+ADDRESS_MAP_START(mw18w_state::mw18w_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_WRITE(mw18w_sound0_w)
diff --git a/src/mame/drivers/mw8080bw.cpp b/src/mame/drivers/mw8080bw.cpp
index ff4b4444e8d..d09f2688341 100644
--- a/src/mame/drivers/mw8080bw.cpp
+++ b/src/mame/drivers/mw8080bw.cpp
@@ -214,7 +214,7 @@ WRITE8_MEMBER(mw8080bw_state::mw8080bw_reversable_shift_count_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, mw8080bw_state )
+ADDRESS_MAP_START(mw8080bw_state::main_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x1fff) AM_ROM AM_WRITENOP
AM_RANGE(0x2000, 0x3fff) AM_MIRROR(0x4000) AM_RAM AM_SHARE("main_ram")
@@ -330,7 +330,7 @@ CUSTOM_INPUT_MEMBER(mw8080bw_state::seawolf_erase_input_r)
}
-static ADDRESS_MAP_START( seawolf_io_map, AS_IO, 8, mw8080bw_state )
+ADDRESS_MAP_START(mw8080bw_state::seawolf_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x04) AM_READ(mw8080bw_shift_result_rev_r)
AM_RANGE(0x01, 0x01) AM_MIRROR(0x04) AM_READ_PORT("IN0")
@@ -442,7 +442,7 @@ WRITE8_MEMBER(mw8080bw_state::gunfight_io_w)
}
-static ADDRESS_MAP_START( gunfight_io_map, AS_IO, 8, mw8080bw_state )
+ADDRESS_MAP_START(mw8080bw_state::gunfight_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x04) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_MIRROR(0x04) AM_READ_PORT("IN1")
@@ -636,7 +636,7 @@ WRITE8_MEMBER(mw8080bw_state::tornbase_io_w)
}
-static ADDRESS_MAP_START( tornbase_io_map, AS_IO, 8, mw8080bw_state )
+ADDRESS_MAP_START(mw8080bw_state::tornbase_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x04) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_MIRROR(0x04) AM_READ_PORT("IN1")
@@ -756,7 +756,7 @@ MACHINE_CONFIG_END
*
*************************************/
-static ADDRESS_MAP_START( zzzap_io_map, AS_IO, 8, mw8080bw_state )
+ADDRESS_MAP_START(mw8080bw_state::zzzap_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x04) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_MIRROR(0x04) AM_READ_PORT("IN1")
@@ -914,7 +914,7 @@ WRITE8_MEMBER(mw8080bw_state::maze_io_w)
}
-static ADDRESS_MAP_START( maze_io_map, AS_IO, 8, mw8080bw_state )
+ADDRESS_MAP_START(mw8080bw_state::maze_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x3)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
@@ -984,7 +984,7 @@ MACHINE_START_MEMBER(mw8080bw_state,boothill)
}
-static ADDRESS_MAP_START( boothill_io_map, AS_IO, 8, mw8080bw_state )
+ADDRESS_MAP_START(mw8080bw_state::boothill_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x04) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_MIRROR(0x04) AM_READ_PORT("IN1")
@@ -1078,7 +1078,7 @@ WRITE8_MEMBER(mw8080bw_state::checkmat_io_w)
}
-static ADDRESS_MAP_START( checkmat_io_map, AS_IO, 8, mw8080bw_state )
+ADDRESS_MAP_START(mw8080bw_state::checkmat_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x3)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
@@ -1212,7 +1212,7 @@ CUSTOM_INPUT_MEMBER(mw8080bw_state::desertgu_dip_sw_0_1_r)
}
-static ADDRESS_MAP_START( desertgu_io_map, AS_IO, 8, mw8080bw_state )
+ADDRESS_MAP_START(mw8080bw_state::desertgu_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x04) AM_READ(mw8080bw_shift_result_rev_r)
AM_RANGE(0x01, 0x01) AM_MIRROR(0x04) AM_READ_PORT("IN0")
@@ -1336,7 +1336,7 @@ CUSTOM_INPUT_MEMBER(mw8080bw_state::dplay_pitch_right_input_r)
}
-static ADDRESS_MAP_START( dplay_io_map, AS_IO, 8, mw8080bw_state )
+ADDRESS_MAP_START(mw8080bw_state::dplay_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x04) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_MIRROR(0x04) AM_READ_PORT("IN1")
@@ -1514,7 +1514,7 @@ MACHINE_START_MEMBER(mw8080bw_state,gmissile)
}
-static ADDRESS_MAP_START( gmissile_io_map, AS_IO, 8, mw8080bw_state )
+ADDRESS_MAP_START(mw8080bw_state::gmissile_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x04) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_MIRROR(0x04) AM_READ_PORT("IN1")
@@ -1610,7 +1610,7 @@ MACHINE_START_MEMBER(mw8080bw_state,m4)
}
-static ADDRESS_MAP_START( m4_io_map, AS_IO, 8, mw8080bw_state )
+ADDRESS_MAP_START(mw8080bw_state::m4_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x04) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_MIRROR(0x04) AM_READ_PORT("IN1")
@@ -1725,7 +1725,7 @@ CUSTOM_INPUT_MEMBER(mw8080bw_state::clowns_controller_r)
}
-static ADDRESS_MAP_START( clowns_io_map, AS_IO, 8, mw8080bw_state )
+ADDRESS_MAP_START(mw8080bw_state::clowns_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x04) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_MIRROR(0x04) AM_READ_PORT("IN1")
@@ -1864,7 +1864,7 @@ MACHINE_CONFIG_END
*
*************************************/
-static ADDRESS_MAP_START( spacwalk_io_map, AS_IO, 8, mw8080bw_state )
+ADDRESS_MAP_START(mw8080bw_state::spacwalk_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
@@ -1960,7 +1960,7 @@ MACHINE_CONFIG_END
*
*************************************/
-static ADDRESS_MAP_START( shuffle_io_map, AS_IO, 8, mw8080bw_state )
+ADDRESS_MAP_START(mw8080bw_state::shuffle_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xf) /* yes, 4, and no mirroring on the read handlers */
AM_RANGE(0x01, 0x01) AM_DEVREAD("mb14241", mb14241_device, shift_result_r)
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN0")
@@ -2042,7 +2042,7 @@ MACHINE_CONFIG_END
*
*************************************/
-static ADDRESS_MAP_START( dogpatch_io_map, AS_IO, 8, mw8080bw_state )
+ADDRESS_MAP_START(mw8080bw_state::dogpatch_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x04) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_MIRROR(0x04) AM_READ_PORT("IN1")
@@ -2192,7 +2192,7 @@ WRITE8_MEMBER(mw8080bw_state::spcenctr_io_w)
}
-static ADDRESS_MAP_START( spcenctr_io_map, AS_IO, 8, mw8080bw_state )
+ADDRESS_MAP_START(mw8080bw_state::spcenctr_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_MIRROR(0xfc) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_MIRROR(0xfc) AM_READ_PORT("IN1")
@@ -2299,7 +2299,7 @@ MACHINE_START_MEMBER(mw8080bw_state,phantom2)
}
-static ADDRESS_MAP_START( phantom2_io_map, AS_IO, 8, mw8080bw_state )
+ADDRESS_MAP_START(mw8080bw_state::phantom2_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x04) AM_READ(mw8080bw_shift_result_rev_r)
AM_RANGE(0x01, 0x01) AM_MIRROR(0x04) AM_READ_PORT("IN0")
@@ -2426,7 +2426,7 @@ WRITE8_MEMBER(mw8080bw_state::bowler_lights_2_w)
}
-static ADDRESS_MAP_START( bowler_io_map, AS_IO, 8, mw8080bw_state )
+ADDRESS_MAP_START(mw8080bw_state::bowler_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xf) /* no masking on the reads, all 4 bits are decoded */
AM_RANGE(0x01, 0x01) AM_READ(bowler_shift_result_r)
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN0")
@@ -2612,7 +2612,7 @@ int mw8080bw_state::invaders_is_cabinet_cocktail()
}
-static ADDRESS_MAP_START( invaders_io_map, AS_IO, 8, mw8080bw_state )
+ADDRESS_MAP_START(mw8080bw_state::invaders_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x04) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_MIRROR(0x04) AM_READ_PORT("IN1")
@@ -2745,7 +2745,7 @@ CUSTOM_INPUT_MEMBER(mw8080bw_state::blueshrk_coin_input_r)
}
-static ADDRESS_MAP_START( blueshrk_io_map, AS_IO, 8, mw8080bw_state )
+ADDRESS_MAP_START(mw8080bw_state::blueshrk_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x04) AM_READ(mw8080bw_shift_result_rev_r)
AM_RANGE(0x01, 0x01) AM_MIRROR(0x04) AM_READ_PORT("IN0")
@@ -2827,7 +2827,7 @@ uint32_t mw8080bw_state::invad2ct_coin_input_r(void *param)
#endif
-static ADDRESS_MAP_START( invad2ct_io_map, AS_IO, 8, mw8080bw_state )
+ADDRESS_MAP_START(mw8080bw_state::invad2ct_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x04) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_MIRROR(0x04) AM_READ_PORT("IN1")
diff --git a/src/mame/drivers/mwarr.cpp b/src/mame/drivers/mwarr.cpp
index a42ede1bcf2..2fe9a3aca5e 100644
--- a/src/mame/drivers/mwarr.cpp
+++ b/src/mame/drivers/mwarr.cpp
@@ -115,6 +115,8 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
void mwarr(machine_config &config);
+ void mwarr_map(address_map &map);
+ void oki2_map(address_map &map);
};
@@ -210,7 +212,7 @@ WRITE16_MEMBER(mwarr_state::mwarr_brightness_w)
*
*************************************/
-static ADDRESS_MAP_START( mwarr_map, AS_PROGRAM, 16, mwarr_state )
+ADDRESS_MAP_START(mwarr_state::mwarr_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x1007ff) AM_RAM_WRITE(bg_videoram_w) AM_SHARE("bg_videoram")
AM_RANGE(0x100800, 0x100fff) AM_RAM_WRITE(mlow_videoram_w) AM_SHARE("mlow_videoram")
@@ -233,7 +235,7 @@ static ADDRESS_MAP_START( mwarr_map, AS_PROGRAM, 16, mwarr_state )
AM_RANGE(0x190000, 0x190001) AM_DEVREADWRITE8("oki2", okim6295_device, read, write, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( oki2_map, 0, 8, mwarr_state)
+ADDRESS_MAP_START(mwarr_state::oki2_map)
/* $00000-$20000 stays the same in all sound banks, */
/* the second half of the bank is what gets switched */
AM_RANGE(0x00000, 0x1ffff) AM_ROM AM_REGION("oki2", 0)
diff --git a/src/mame/drivers/mwsub.cpp b/src/mame/drivers/mwsub.cpp
index 39789d9a85b..a3497e40650 100644
--- a/src/mame/drivers/mwsub.cpp
+++ b/src/mame/drivers/mwsub.cpp
@@ -37,6 +37,8 @@ public:
DECLARE_WRITE8_MEMBER(submar_led_w);
DECLARE_WRITE8_MEMBER(submar_irq_clear_w);
void submar(machine_config &config);
+ void submar_map(address_map &map);
+ void submar_portmap(address_map &map);
};
@@ -123,13 +125,13 @@ WRITE8_MEMBER(submar_state::submar_irq_clear_w)
}
-static ADDRESS_MAP_START( submar_map, AS_PROGRAM, 8, submar_state )
+ADDRESS_MAP_START(submar_state::submar_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x207f) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( submar_portmap, AS_IO, 8, submar_state )
+ADDRESS_MAP_START(submar_state::submar_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READWRITE(submar_sensor0_r, submar_motor_w)
AM_RANGE(0x01, 0x01) AM_READWRITE(submar_sensor1_r, submar_lamp_w)
diff --git a/src/mame/drivers/mx2178.cpp b/src/mame/drivers/mx2178.cpp
index 85d177951a4..5098a0d5c4c 100644
--- a/src/mame/drivers/mx2178.cpp
+++ b/src/mame/drivers/mx2178.cpp
@@ -46,6 +46,8 @@ public:
MC6845_UPDATE_ROW(crtc_update_row);
void mx2178(machine_config &config);
+ void mx2178_io(address_map &map);
+ void mx2178_mem(address_map &map);
private:
virtual void machine_reset() override;
required_device<palette_device> m_palette;
@@ -54,7 +56,7 @@ private:
required_region_ptr<u8> m_p_chargen;
};
-static ADDRESS_MAP_START(mx2178_mem, AS_PROGRAM, 8, mx2178_state)
+ADDRESS_MAP_START(mx2178_state::mx2178_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0x2000, 0x27ff) AM_RAM AM_SHARE("videoram")
@@ -62,7 +64,7 @@ static ADDRESS_MAP_START(mx2178_mem, AS_PROGRAM, 8, mx2178_state)
AM_RANGE(0xe000, 0xe7ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mx2178_io, AS_IO, 8, mx2178_state)
+ADDRESS_MAP_START(mx2178_state::mx2178_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("crtc", mc6845_device, status_r, address_w)
AM_RANGE(0x01, 0x01) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
diff --git a/src/mame/drivers/myb3k.cpp b/src/mame/drivers/myb3k.cpp
index 3cc07d78af3..a72a4014956 100644
--- a/src/mame/drivers/myb3k.cpp
+++ b/src/mame/drivers/myb3k.cpp
@@ -168,6 +168,8 @@ public:
void jb3000(machine_config &config);
void myb3k(machine_config &config);
+ void myb3k_io(address_map &map);
+ void myb3k_map(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -561,7 +563,7 @@ WRITE8_MEMBER( myb3k_state::myb3k_video_mode_w )
* OFF ON - ?
* ON ON - ?
**********************************************************/
-static ADDRESS_MAP_START(myb3k_map, AS_PROGRAM, 8, myb3k_state)
+ADDRESS_MAP_START(myb3k_state::myb3k_map)
ADDRESS_MAP_UNMAP_HIGH
//AM_RANGE(0x00000,0x3ffff) AM_RAM // It's either 128Kb or 256Kb RAM installed by machine_start()
AM_RANGE(0x40000,0x7ffff) AM_NOP
@@ -570,7 +572,7 @@ static ADDRESS_MAP_START(myb3k_map, AS_PROGRAM, 8, myb3k_state)
AM_RANGE(0xf0000,0xfffff) AM_ROM AM_REGION("ipl", 0) // Area 7, 8 x 8Kb
ADDRESS_MAP_END
-static ADDRESS_MAP_START(myb3k_io, AS_IO, 8, myb3k_state)
+ADDRESS_MAP_START(myb3k_state::myb3k_io)
ADDRESS_MAP_UNMAP_LOW
/* Main Unit 0-0x7ff */
// 0-3 8255A PPI parallel port
diff --git a/src/mame/drivers/mycom.cpp b/src/mame/drivers/mycom.cpp
index 7e9c8ec30ac..2b4c687bcd5 100644
--- a/src/mame/drivers/mycom.cpp
+++ b/src/mame/drivers/mycom.cpp
@@ -100,6 +100,8 @@ public:
MC6845_UPDATE_ROW(crtc_update_row);
void mycom(machine_config &config);
+ void mycom_io(address_map &map);
+ void mycom_map(address_map &map);
private:
uint8_t m_0a;
uint16_t m_i_videoram;
@@ -214,14 +216,14 @@ WRITE8_MEMBER( mycom_state::vram_data_w )
m_p_videoram[m_i_videoram] = data;
}
-static ADDRESS_MAP_START(mycom_map, AS_PROGRAM, 8, mycom_state)
+ADDRESS_MAP_START(mycom_state::mycom_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_RAMBANK("boot")
AM_RANGE(0x1000, 0xbfff) AM_RAM
AM_RANGE(0xc000, 0xffff) AM_READWRITE(mycom_upper_r,mycom_upper_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mycom_io, AS_IO, 8, mycom_state)
+ADDRESS_MAP_START(mycom_state::mycom_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(mycom_00_w)
AM_RANGE(0x01, 0x01) AM_READWRITE(vram_data_r,vram_data_w)
diff --git a/src/mame/drivers/mystston.cpp b/src/mame/drivers/mystston.cpp
index 4da9c1a0d69..c8438b61540 100644
--- a/src/mame/drivers/mystston.cpp
+++ b/src/mame/drivers/mystston.cpp
@@ -101,7 +101,7 @@ WRITE8_MEMBER(mystston_state::mystston_ay8910_select_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, mystston_state )
+ADDRESS_MAP_START(mystston_state::main_map)
AM_RANGE(0x0000, 0x077f) AM_RAM
AM_RANGE(0x0780, 0x07df) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x07e0, 0x0fff) AM_RAM
diff --git a/src/mame/drivers/mystwarr.cpp b/src/mame/drivers/mystwarr.cpp
index d9a57c12282..d59c1838f4a 100644
--- a/src/mame/drivers/mystwarr.cpp
+++ b/src/mame/drivers/mystwarr.cpp
@@ -292,7 +292,7 @@ WRITE16_MEMBER(mystwarr_state::k053247_scattered_word_w)
/* 68000 memory handlers */
/* Mystic Warriors */
-static ADDRESS_MAP_START( mystwarr_map, AS_PROGRAM, 16, mystwarr_state )
+ADDRESS_MAP_START(mystwarr_state::mystwarr_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM // main program
AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_SHARE("gx_workram")
AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(k053247_scattered_word_r,k053247_scattered_word_w) AM_SHARE("spriteram")
@@ -319,7 +319,7 @@ static ADDRESS_MAP_START( mystwarr_map, AS_PROGRAM, 16, mystwarr_state )
ADDRESS_MAP_END
/* Metamorphic Force */
-static ADDRESS_MAP_START( metamrph_map, AS_PROGRAM, 16, mystwarr_state )
+ADDRESS_MAP_START(mystwarr_state::metamrph_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM // main program
AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_SHARE("gx_workram")
AM_RANGE(0x210000, 0x210fff) AM_DEVREADWRITE("k055673", k055673_device,k053247_word_r,k053247_word_w)
@@ -350,7 +350,7 @@ static ADDRESS_MAP_START( metamrph_map, AS_PROGRAM, 16, mystwarr_state )
ADDRESS_MAP_END
/* Violent Storm */
-static ADDRESS_MAP_START( viostorm_map, AS_PROGRAM, 16, mystwarr_state )
+ADDRESS_MAP_START(mystwarr_state::viostorm_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM // main program
AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_SHARE("gx_workram")
AM_RANGE(0x210000, 0x210fff) AM_DEVREADWRITE("k055673", k055673_device, k053247_word_r,k053247_word_w)
@@ -444,7 +444,7 @@ WRITE16_MEMBER(mystwarr_state::mceeprom_w)
}
/* Martial Champion */
-static ADDRESS_MAP_START( martchmp_map, AS_PROGRAM, 16, mystwarr_state )
+ADDRESS_MAP_START(mystwarr_state::martchmp_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // main program
AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_SHARE("gx_workram") // work RAM
AM_RANGE(0x300000, 0x3fffff) AM_ROM // data ROM
@@ -473,7 +473,7 @@ static ADDRESS_MAP_START( martchmp_map, AS_PROGRAM, 16, mystwarr_state )
ADDRESS_MAP_END
/* Ultimate Battler Dadandarn */
-static ADDRESS_MAP_START( dadandrn_map, AS_PROGRAM, 16, mystwarr_state )
+ADDRESS_MAP_START(mystwarr_state::dadandrn_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM // main program and data ROM
AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(k053247_scattered_word_r,k053247_scattered_word_w) AM_SHARE("spriteram")
AM_RANGE(0x410000, 0x411fff) AM_DEVREADWRITE("k056832", k056832_device,ram_word_r,ram_word_w) // tilemap RAM
@@ -509,7 +509,7 @@ ADDRESS_MAP_END
// a00000 = the 128k tilemap
// 800000 = the 256k tilemap
// c00000 = 936 tiles (7fffff window)
-static ADDRESS_MAP_START( gaiapols_map, AS_PROGRAM, 16, mystwarr_state )
+ADDRESS_MAP_START(mystwarr_state::gaiapols_map)
AM_RANGE(0x000000, 0x2fffff) AM_ROM // main program
AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(k053247_scattered_word_r,k053247_scattered_word_w) AM_SHARE("spriteram")
AM_RANGE(0x410000, 0x411fff) AM_DEVREADWRITE("k056832", k056832_device,ram_word_r,ram_word_w) // tilemap RAM
@@ -560,7 +560,7 @@ WRITE8_MEMBER(mystwarr_state::sound_ctrl_w)
quite similar to xexex/gijoe/asterix's sound.
*/
-static ADDRESS_MAP_START( mystwarr_sound_map, AS_PROGRAM, 8, mystwarr_state )
+ADDRESS_MAP_START(mystwarr_state::mystwarr_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("z80bank")
AM_RANGE(0x0000, 0xbfff) AM_WRITENOP
@@ -575,7 +575,7 @@ static ADDRESS_MAP_START( mystwarr_sound_map, AS_PROGRAM, 8, mystwarr_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( martchmp_sound_map, AS_PROGRAM, 8, mystwarr_state )
+ADDRESS_MAP_START(mystwarr_state::martchmp_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("z80bank")
AM_RANGE(0x0000, 0xbfff) AM_WRITENOP
@@ -590,7 +590,7 @@ static ADDRESS_MAP_START( martchmp_sound_map, AS_PROGRAM, 8, mystwarr_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mystwarr_k054539_map, 0, 8, mystwarr_state )
+ADDRESS_MAP_START(mystwarr_state::mystwarr_k054539_map)
AM_RANGE(0x000000, 0x3fffff) AM_ROM AM_REGION("k054539", 0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/myvision.cpp b/src/mame/drivers/myvision.cpp
index eff03f0c0cc..e5db2e67973 100644
--- a/src/mame/drivers/myvision.cpp
+++ b/src/mame/drivers/myvision.cpp
@@ -56,6 +56,8 @@ public:
DECLARE_WRITE8_MEMBER( ay_port_b_w );
void myvision(machine_config &config);
+ void myvision_io(address_map &map);
+ void myvision_mem(address_map &map);
private:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -69,7 +71,7 @@ private:
};
-static ADDRESS_MAP_START(myvision_mem, AS_PROGRAM, 8, myvision_state)
+ADDRESS_MAP_START(myvision_state::myvision_mem)
ADDRESS_MAP_UNMAP_HIGH
//AM_RANGE(0x0000, 0x5fff) // mapped by the cartslot
AM_RANGE(0xa000, 0xa7ff) AM_RAM
@@ -78,7 +80,7 @@ static ADDRESS_MAP_START(myvision_mem, AS_PROGRAM, 8, myvision_state)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(myvision_io, AS_IO, 8, myvision_state)
+ADDRESS_MAP_START(myvision_state::myvision_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("ay8910", ay8910_device, address_w)
diff --git a/src/mame/drivers/mz2000.cpp b/src/mame/drivers/mz2000.cpp
index 7d8b3021367..87274f9ac86 100644
--- a/src/mame/drivers/mz2000.cpp
+++ b/src/mame/drivers/mz2000.cpp
@@ -129,6 +129,9 @@ public:
void mz2000(machine_config &config);
void mz80b(machine_config &config);
+ void mz2000_io(address_map &map);
+ void mz2000_map(address_map &map);
+ void mz80b_io(address_map &map);
protected:
required_device<cpu_device> m_maincpu;
required_device<mb8877_device> m_mb8877a;
@@ -399,12 +402,12 @@ WRITE8_MEMBER(mz2000_state::mz2000_gvram_mask_w)
m_gvram_mask = data;
}
-static ADDRESS_MAP_START(mz2000_map, AS_PROGRAM, 8, mz2000_state )
+ADDRESS_MAP_START(mz2000_state::mz2000_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0xffff ) AM_READWRITE(mz2000_mem_r,mz2000_mem_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mz80b_io, AS_IO, 8, mz2000_state )
+ADDRESS_MAP_START(mz2000_state::mz80b_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xd8, 0xdb) AM_READWRITE(fdc_r, fdc_w)
@@ -417,7 +420,7 @@ static ADDRESS_MAP_START(mz80b_io, AS_IO, 8, mz2000_state )
// AM_RANGE(0xf4, 0xf4) AM_WRITE(vram_bank_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mz2000_io, AS_IO, 8, mz2000_state )
+ADDRESS_MAP_START(mz2000_state::mz2000_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_IMPORT_FROM(mz80b_io)
diff --git a/src/mame/drivers/mz2500.cpp b/src/mame/drivers/mz2500.cpp
index 7ba32891e53..6d41761be41 100644
--- a/src/mame/drivers/mz2500.cpp
+++ b/src/mame/drivers/mz2500.cpp
@@ -238,6 +238,8 @@ public:
void mz2500_reset(mz2500_state *state, uint8_t type);
required_device<palette_device> m_palette;
void mz2500(machine_config &config);
+ void mz2500_io(address_map &map);
+ void mz2500_map(address_map &map);
};
@@ -1223,7 +1225,7 @@ WRITE8_MEMBER(mz2500_state::floppy_side_w)
}
-static ADDRESS_MAP_START(mz2500_map, AS_PROGRAM, 8, mz2500_state )
+ADDRESS_MAP_START(mz2500_state::mz2500_map)
AM_RANGE(0x0000, 0x1fff) AM_READWRITE(bank0_r,bank0_w)
AM_RANGE(0x2000, 0x3fff) AM_READWRITE(bank1_r,bank1_w)
AM_RANGE(0x4000, 0x5fff) AM_READWRITE(bank2_r,bank2_w)
@@ -1507,7 +1509,7 @@ WRITE8_MEMBER(mz2500_state::mz2500_emm_data_w)
m_emm_ram[m_emm_offset] = data;
}
-static ADDRESS_MAP_START(mz2500_io, AS_IO, 8, mz2500_state )
+ADDRESS_MAP_START(mz2500_state::mz2500_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
// AM_RANGE(0x60, 0x63) AM_WRITE(w3100a_w)
// AM_RANGE(0x63, 0x63) AM_READ(w3100a_r)
diff --git a/src/mame/drivers/mz3500.cpp b/src/mame/drivers/mz3500.cpp
index 8aef739fd0c..86c6d304df8 100644
--- a/src/mame/drivers/mz3500.cpp
+++ b/src/mame/drivers/mz3500.cpp
@@ -104,6 +104,12 @@ public:
UPD7220_DRAW_TEXT_LINE_MEMBER( hgdc_draw_text );
void mz3500(machine_config &config);
+ void mz3500_master_io(address_map &map);
+ void mz3500_master_map(address_map &map);
+ void mz3500_slave_io(address_map &map);
+ void mz3500_slave_map(address_map &map);
+ void upd7220_1_map(address_map &map);
+ void upd7220_2_map(address_map &map);
protected:
// driver_device overrides
virtual void machine_start() override;
@@ -585,11 +591,11 @@ READ8_MEMBER(mz3500_state::mz3500_fdc_dma_r)
return m_fdc->dma_r();
}
-static ADDRESS_MAP_START( mz3500_master_map, AS_PROGRAM, 8, mz3500_state )
+ADDRESS_MAP_START(mz3500_state::mz3500_master_map)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(mz3500_master_mem_r,mz3500_master_mem_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mz3500_master_io, AS_IO, 8, mz3500_state )
+ADDRESS_MAP_START(mz3500_state::mz3500_master_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
// ADDRESS_MAP_UNMAP_HIGH
// AM_RANGE(0xe4, 0xe7) SFD upd765
@@ -602,13 +608,13 @@ static ADDRESS_MAP_START( mz3500_master_io, AS_IO, 8, mz3500_state )
AM_RANGE(0xfc, 0xff) AM_READWRITE(mz3500_io_r,mz3500_io_w) // memory mapper
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mz3500_slave_map, AS_PROGRAM, 8, mz3500_state )
+ADDRESS_MAP_START(mz3500_state::mz3500_slave_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM AM_REGION("ipl", 0)
AM_RANGE(0x2000, 0x27ff) AM_READWRITE(mz3500_shared_ram_r, mz3500_shared_ram_w)
AM_RANGE(0x4000, 0x5fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mz3500_slave_io, AS_IO, 8, mz3500_state )
+ADDRESS_MAP_START(mz3500_state::mz3500_slave_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
// AM_RANGE(0x00, 0x0f) f/f and irq to master CPU
@@ -787,12 +793,12 @@ void mz3500_state::machine_reset()
}
-static ADDRESS_MAP_START( upd7220_1_map, 0, 16, mz3500_state )
+ADDRESS_MAP_START(mz3500_state::upd7220_1_map)
ADDRESS_MAP_GLOBAL_MASK(0x1fff)
AM_RANGE(0x00000, 0x00fff) AM_RAM AM_SHARE("video_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( upd7220_2_map, 0, 16, mz3500_state )
+ADDRESS_MAP_START(mz3500_state::upd7220_2_map)
AM_RANGE(0x00000, 0x3ffff) AM_RAM // AM_SHARE("video_ram_2")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mz6500.cpp b/src/mame/drivers/mz6500.cpp
index 5adb093a7de..a9c1c94fb39 100644
--- a/src/mame/drivers/mz6500.cpp
+++ b/src/mame/drivers/mz6500.cpp
@@ -38,6 +38,9 @@ public:
required_device<palette_device> m_palette;
UPD7220_DISPLAY_PIXELS_MEMBER( hgdc_display_pixels );
void mz6500(machine_config &config);
+ void mz6500_io(address_map &map);
+ void mz6500_map(address_map &map);
+ void upd7220_map(address_map &map);
};
UPD7220_DISPLAY_PIXELS_MEMBER( mz6500_state::hgdc_display_pixels )
@@ -77,7 +80,7 @@ WRITE8_MEMBER( mz6500_state::mz6500_vram_w )
m_video_ram[offset] |= data << mask;
}
-static ADDRESS_MAP_START(mz6500_map, AS_PROGRAM, 16, mz6500_state)
+ADDRESS_MAP_START(mz6500_state::mz6500_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000,0x9ffff) AM_RAM
// AM_RANGE(0xa0000,0xbffff) kanji/dictionary ROM
@@ -85,7 +88,7 @@ static ADDRESS_MAP_START(mz6500_map, AS_PROGRAM, 16, mz6500_state)
AM_RANGE(0xfc000,0xfffff) AM_ROM AM_REGION("ipl", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mz6500_io, AS_IO, 16, mz6500_state)
+ADDRESS_MAP_START(mz6500_state::mz6500_io)
ADDRESS_MAP_UNMAP_HIGH
// AM_RANGE(0x0000, 0x000f) i8237 dma
// AM_RANGE(0x0010, 0x001f) i8255
@@ -133,7 +136,7 @@ static SLOT_INTERFACE_START( mz6500_floppies )
SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
SLOT_INTERFACE_END
-static ADDRESS_MAP_START( upd7220_map, 0, 16, mz6500_state )
+ADDRESS_MAP_START(mz6500_state::upd7220_map)
AM_RANGE(0x00000, 0x3ffff) AM_RAM AM_SHARE("video_ram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mz700.cpp b/src/mame/drivers/mz700.cpp
index 00fe811996a..e008f840ed5 100644
--- a/src/mame/drivers/mz700.cpp
+++ b/src/mame/drivers/mz700.cpp
@@ -113,14 +113,14 @@ TIMER_DEVICE_CALLBACK_MEMBER(mz_state::ne556_other_callback)
ADDRESS MAPS
***************************************************************************/
-static ADDRESS_MAP_START( mz700_mem, AS_PROGRAM, 8, mz_state )
+ADDRESS_MAP_START(mz_state::mz700_mem)
AM_RANGE(0x0000, 0x0fff) AM_READ_BANK("bankr0") AM_WRITE_BANK("bankw0")
AM_RANGE(0x1000, 0xcfff) AM_RAM
AM_RANGE(0xd000, 0xdfff) AM_RAMBANK("bankd")
AM_RANGE(0xe000, 0xffff) AM_DEVICE("banke", address_map_bank_device, amap8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mz700_banke, AS_PROGRAM, 8, mz_state )
+ADDRESS_MAP_START(mz_state::mz700_banke)
// bank 0: ram (mz700_bank1)
AM_RANGE(0x0000, 0x1fff) AM_RAM
// bank 1: devices (mz700_bank3)
@@ -132,7 +132,7 @@ static ADDRESS_MAP_START( mz700_banke, AS_PROGRAM, 8, mz_state )
AM_RANGE(0x4000, 0x5fff) AM_NOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mz700_io, AS_IO, 8, mz_state )
+ADDRESS_MAP_START(mz_state::mz700_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xe0, 0xe0) AM_WRITE(mz700_bank_0_w)
AM_RANGE(0xe1, 0xe1) AM_WRITE(mz700_bank_1_w)
@@ -143,7 +143,7 @@ static ADDRESS_MAP_START( mz700_io, AS_IO, 8, mz_state )
AM_RANGE(0xe6, 0xe6) AM_WRITE(mz700_bank_6_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mz800_mem, AS_PROGRAM, 8, mz_state )
+ADDRESS_MAP_START(mz_state::mz800_mem)
AM_RANGE(0x0000, 0x0fff) AM_READ_BANK("bankr0") AM_WRITE_BANK("bankw0")
AM_RANGE(0x1000, 0x1fff) AM_RAMBANK("bank1")
AM_RANGE(0x2000, 0x7fff) AM_RAM
@@ -153,7 +153,7 @@ static ADDRESS_MAP_START( mz800_mem, AS_PROGRAM, 8, mz_state )
AM_RANGE(0xe000, 0xffff) AM_DEVICE("bankf", address_map_bank_device, amap8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mz800_bankf, AS_PROGRAM, 8, mz_state )
+ADDRESS_MAP_START(mz_state::mz800_bankf)
// bank 0: ram (mz700_bank1)
AM_RANGE(0x0000, 0x1fff) AM_RAM
// bank 1: devices (mz700_bank3)
@@ -166,7 +166,7 @@ static ADDRESS_MAP_START( mz800_bankf, AS_PROGRAM, 8, mz_state )
AM_RANGE(0x4000, 0x5fff) AM_NOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mz800_io, AS_IO, 8, mz_state )
+ADDRESS_MAP_START(mz_state::mz800_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xcc, 0xcc) AM_WRITE(mz800_write_format_w )
AM_RANGE(0xcd, 0xcd) AM_WRITE(mz800_read_format_w )
diff --git a/src/mame/drivers/mz80.cpp b/src/mame/drivers/mz80.cpp
index f414d6bed60..bea469495e5 100644
--- a/src/mame/drivers/mz80.cpp
+++ b/src/mame/drivers/mz80.cpp
@@ -245,7 +245,7 @@ static INPUT_PORTS_START( mz80a )
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_PLUS_PAD) PORT_CHAR(UCHAR_MAMEKEY(PLUS_PAD))
INPUT_PORTS_END
-static ADDRESS_MAP_START( mz80k_mem, AS_PROGRAM, 8, mz80_state )
+ADDRESS_MAP_START(mz80_state::mz80k_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1000, 0xcfff) AM_RAM AM_SHARE("p_ram") // 48 KB of RAM
@@ -256,7 +256,7 @@ static ADDRESS_MAP_START( mz80k_mem, AS_PROGRAM, 8, mz80_state )
AM_RANGE(0xf000, 0xf3ff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mz80k_io, AS_IO, 8, mz80_state )
+ADDRESS_MAP_START(mz80_state::mz80k_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mzr8105.cpp b/src/mame/drivers/mzr8105.cpp
index 55b7898b7d1..0f31f0bfc7f 100644
--- a/src/mame/drivers/mzr8105.cpp
+++ b/src/mame/drivers/mzr8105.cpp
@@ -179,11 +179,12 @@ mzr8105_state(const machine_config &mconfig, device_type type, const char *tag)
}
void mzr8105(machine_config &config);
+ void mzr8105_mem(address_map &map);
private:
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START (mzr8105_mem, AS_PROGRAM, 16, mzr8105_state)
+ADDRESS_MAP_START(mzr8105_state::mzr8105_mem)
ADDRESS_MAP_UNMAP_HIGH
/* The ROMs contains an OS9 bootloader. It is position independent but reset vector suggests that it sits flat on adress 0 (zero) */
AM_RANGE (0x000000, 0x003fff) AM_ROM AM_REGION("roms", 0x000000) /* System EPROM Area 16Kb OS9 DEBUG - not verified */
diff --git a/src/mame/drivers/n64.cpp b/src/mame/drivers/n64.cpp
index 4f95800e6d7..103b1880864 100644
--- a/src/mame/drivers/n64.cpp
+++ b/src/mame/drivers/n64.cpp
@@ -40,6 +40,9 @@ public:
DECLARE_DEVICE_IMAGE_UNLOAD_MEMBER( n64dd );
void n64(machine_config &config);
void n64dd(machine_config &config);
+ void n64_map(address_map &map);
+ void n64dd_map(address_map &map);
+ void rsp_map(address_map &map);
};
READ32_MEMBER(n64_mess_state::dd_null_r)
@@ -47,7 +50,7 @@ READ32_MEMBER(n64_mess_state::dd_null_r)
return 0xffffffff;
}
-static ADDRESS_MAP_START( n64_map, AS_PROGRAM, 32, n64_mess_state )
+ADDRESS_MAP_START(n64_mess_state::n64_map)
AM_RANGE(0x00000000, 0x007fffff) AM_RAM AM_SHARE("rdram") // RDRAM
AM_RANGE(0x03f00000, 0x03f00027) AM_DEVREADWRITE("rcp", n64_periphs, rdram_reg_r, rdram_reg_w)
AM_RANGE(0x04000000, 0x04000fff) AM_RAM AM_SHARE("rsp_dmem") // RSP DMEM
@@ -67,7 +70,7 @@ static ADDRESS_MAP_START( n64_map, AS_PROGRAM, 32, n64_mess_state )
AM_RANGE(0x1fc007c0, 0x1fc007ff) AM_DEVREADWRITE("rcp", n64_periphs, pif_ram_r, pif_ram_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( n64dd_map, AS_PROGRAM, 32, n64_mess_state )
+ADDRESS_MAP_START(n64_mess_state::n64dd_map)
AM_RANGE(0x00000000, 0x007fffff) AM_RAM AM_SHARE("rdram") // RDRAM
AM_RANGE(0x03f00000, 0x03f00027) AM_DEVREADWRITE("rcp", n64_periphs, rdram_reg_r, rdram_reg_w)
AM_RANGE(0x04000000, 0x04000fff) AM_RAM AM_SHARE("rsp_dmem") // RSP DMEM
@@ -88,7 +91,7 @@ static ADDRESS_MAP_START( n64dd_map, AS_PROGRAM, 32, n64_mess_state )
AM_RANGE(0x1fc007c0, 0x1fc007ff) AM_DEVREADWRITE("rcp", n64_periphs, pif_ram_r, pif_ram_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rsp_map, AS_PROGRAM, 32, n64_mess_state )
+ADDRESS_MAP_START(n64_mess_state::rsp_map)
AM_RANGE(0x00000000, 0x00000fff) AM_RAM AM_SHARE("rsp_dmem")
AM_RANGE(0x00001000, 0x00001fff) AM_RAM AM_SHARE("rsp_imem")
AM_RANGE(0x04000000, 0x04000fff) AM_RAM AM_SHARE("rsp_dmem")
diff --git a/src/mame/drivers/n8080.cpp b/src/mame/drivers/n8080.cpp
index e96d994b8da..62afd19ace2 100644
--- a/src/mame/drivers/n8080.cpp
+++ b/src/mame/drivers/n8080.cpp
@@ -34,20 +34,20 @@ READ8_MEMBER(n8080_state::n8080_shift_r)
return m_shift_data >> (8 - m_shift_bits);
}
-static ADDRESS_MAP_START( main_cpu_map, AS_PROGRAM, 8, n8080_state )
+ADDRESS_MAP_START(n8080_state::main_cpu_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_RAM AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( helifire_main_cpu_map, AS_PROGRAM, 8, n8080_state )
+ADDRESS_MAP_START(n8080_state::helifire_main_cpu_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0xc000, 0xdfff) AM_RAM AM_SHARE("colorram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_io_map, AS_IO, 8, n8080_state )
+ADDRESS_MAP_START(n8080_state::main_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
diff --git a/src/mame/drivers/nakajies.cpp b/src/mame/drivers/nakajies.cpp
index 5cb46218bc6..7b1a58337f6 100644
--- a/src/mame/drivers/nakajies.cpp
+++ b/src/mame/drivers/nakajies.cpp
@@ -345,6 +345,8 @@ public:
void nakajies220(machine_config &config);
void nakajies250(machine_config &config);
void dator3k(machine_config &config);
+ void nakajies_io_map(address_map &map);
+ void nakajies_map(address_map &map);
};
@@ -396,7 +398,7 @@ WRITE8_MEMBER( nakajies_state::bank6_w ) { bank_w( 6, offset, data ); }
WRITE8_MEMBER( nakajies_state::bank7_w ) { bank_w( 7, offset, data ); }
-static ADDRESS_MAP_START( nakajies_map, AS_PROGRAM, 8, nakajies_state )
+ADDRESS_MAP_START(nakajies_state::nakajies_map)
AM_RANGE( 0x00000, 0x1ffff ) AM_READ_BANK( "bank0" ) AM_WRITE( bank0_w )
AM_RANGE( 0x20000, 0x3ffff ) AM_READ_BANK( "bank1" ) AM_WRITE( bank1_w )
AM_RANGE( 0x40000, 0x5ffff ) AM_READ_BANK( "bank2" ) AM_WRITE( bank2_w )
@@ -499,7 +501,7 @@ READ8_MEMBER( nakajies_state::keyboard_r )
}
-static ADDRESS_MAP_START( nakajies_io_map, AS_IO, 8, nakajies_state )
+ADDRESS_MAP_START(nakajies_state::nakajies_io_map)
AM_RANGE( 0x0000, 0x0000 ) AM_WRITE( lcd_memory_start_w )
AM_RANGE( 0x0010, 0x0017 ) AM_WRITE( banking_w )
AM_RANGE( 0x0060, 0x0060 ) AM_READWRITE( irq_enable_r, irq_enable_w )
diff --git a/src/mame/drivers/namcofl.cpp b/src/mame/drivers/namcofl.cpp
index 518947fe621..10927e5a7e1 100644
--- a/src/mame/drivers/namcofl.cpp
+++ b/src/mame/drivers/namcofl.cpp
@@ -214,7 +214,7 @@ WRITE8_MEMBER(namcofl_state::namcofl_c116_w)
}
}
-static ADDRESS_MAP_START( namcofl_mem, AS_PROGRAM, 32, namcofl_state )
+ADDRESS_MAP_START(namcofl_state::namcofl_mem)
AM_RANGE(0x00000000, 0x000fffff) AM_RAMBANK("bank1")
AM_RANGE(0x10000000, 0x100fffff) AM_RAMBANK("bank2")
AM_RANGE(0x20000000, 0x201fffff) AM_ROM AM_REGION("data", 0)
@@ -311,13 +311,13 @@ READ8_MEMBER(namcofl_state::dac2_r){ return 0xff; }
READ8_MEMBER(namcofl_state::dac1_r){ return 0xff; }
READ8_MEMBER(namcofl_state::dac0_r){ return 0xff; }
-static ADDRESS_MAP_START( namcoc75_am, AS_PROGRAM, 16, namcofl_state )
+ADDRESS_MAP_START(namcofl_state::namcoc75_am)
AM_RANGE(0x002000, 0x002fff) AM_DEVREADWRITE("c352", c352_device, read, write)
AM_RANGE(0x004000, 0x00bfff) AM_RAM_WRITE(mcu_shared_w) AM_SHARE("shareram")
AM_RANGE(0x200000, 0x27ffff) AM_ROM AM_REGION("c75data", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( namcoc75_io, AS_IO, 8, namcofl_state )
+ADDRESS_MAP_START(namcofl_state::namcoc75_io)
AM_RANGE(M37710_PORT6, M37710_PORT6) AM_READWRITE(port6_r, port6_w)
AM_RANGE(M37710_PORT7, M37710_PORT7) AM_READ(port7_r)
AM_RANGE(M37710_ADC7_L, M37710_ADC7_L) AM_READ(dac7_r)
diff --git a/src/mame/drivers/namcona1.cpp b/src/mame/drivers/namcona1.cpp
index 107c34a0c08..6303abb3352 100644
--- a/src/mame/drivers/namcona1.cpp
+++ b/src/mame/drivers/namcona1.cpp
@@ -551,7 +551,7 @@ WRITE16_MEMBER(namcona1_state::mcu_mailbox_w_mcu)
COMBINE_DATA(&m_mcu_mailbox[offset%8]);
}
-static ADDRESS_MAP_START( namcona1_main_map, AS_PROGRAM, 16, namcona1_state )
+ADDRESS_MAP_START(namcona1_state::namcona1_main_map)
AM_RANGE(0x000000, 0x07ffff) AM_RAM AM_SHARE("workram")
AM_RANGE(0x3f8000, 0x3fffff) AM_READWRITE(mcu_mailbox_r, mcu_mailbox_w_68k)
AM_RANGE(0x400000, 0xbfffff) AM_ROM AM_REGION("maskrom", 0) // data
@@ -579,7 +579,7 @@ WRITE8_MEMBER(xday2_namcona2_state::printer_w)
// ...
}
-static ADDRESS_MAP_START( xday2_main_map, AS_PROGRAM, 16, xday2_namcona2_state )
+ADDRESS_MAP_START(xday2_namcona2_state::xday2_main_map)
AM_IMPORT_FROM(namcona1_main_map)
// these two seems lamps and flash related (mux too?)
AM_RANGE(0xd00000, 0xd00001) AM_WRITENOP
@@ -635,7 +635,7 @@ WRITE16_MEMBER(namcona1_state::snd_w)
}
}
-static ADDRESS_MAP_START( namcona1_mcu_map, AS_PROGRAM, 16, namcona1_state )
+ADDRESS_MAP_START(namcona1_state::namcona1_mcu_map)
AM_RANGE(0x000800, 0x000fff) AM_READWRITE(mcu_mailbox_r, mcu_mailbox_w_mcu) // "Mailslot" communications ports
AM_RANGE(0x001000, 0x001fff) AM_READWRITE(snd_r, snd_w) // C140-alike sound chip
AM_RANGE(0x002000, 0x002fff) AM_READWRITE(na1mcu_shared_r, na1mcu_shared_w) // mirror of first page of shared work RAM
@@ -752,7 +752,7 @@ READ8_MEMBER(namcona1_state::portana_r)
return (port & bitnum[offset>>1]) ? 0xff : 0x00;
}
-static ADDRESS_MAP_START( namcona1_mcu_io_map, AS_IO, 8, namcona1_state )
+ADDRESS_MAP_START(namcona1_state::namcona1_mcu_io_map)
AM_RANGE(M37710_PORT4, M37710_PORT4) AM_READWRITE(port4_r, port4_w )
AM_RANGE(M37710_PORT5, M37710_PORT5) AM_READWRITE(port5_r, port5_w )
AM_RANGE(M37710_PORT6, M37710_PORT6) AM_READWRITE(port6_r, port6_w )
diff --git a/src/mame/drivers/namconb1.cpp b/src/mame/drivers/namconb1.cpp
index 6047a766f6f..007a3597606 100644
--- a/src/mame/drivers/namconb1.cpp
+++ b/src/mame/drivers/namconb1.cpp
@@ -690,7 +690,7 @@ WRITE32_MEMBER(namconb1_state::share_w)
COMBINE_DATA(m_namconb_shareram+offset*2);
}
-static ADDRESS_MAP_START( namconb1_am, AS_PROGRAM, 32, namconb1_state )
+ADDRESS_MAP_START(namconb1_state::namconb1_am)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10001f) AM_READ(gunbulet_gun_r)
AM_RANGE(0x1c0000, 0x1cffff) AM_RAM
@@ -708,7 +708,7 @@ static ADDRESS_MAP_START( namconb1_am, AS_PROGRAM, 32, namconb1_state )
AM_RANGE(0x700000, 0x707fff) AM_DEVREADWRITE8("c116", namco_c116_device, read, write, 0xffffffff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( namconb2_am, AS_PROGRAM, 32, namconb1_state )
+ADDRESS_MAP_START(namconb1_state::namconb2_am)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x1c0000, 0x1cffff) AM_RAM
AM_RANGE(0x1e4000, 0x1e4003) AM_READWRITE(randgen_r,srand_w)
@@ -752,7 +752,7 @@ WRITE16_MEMBER(namconb1_state::mcu_shared_w)
}
}
-static ADDRESS_MAP_START( namcoc75_am, AS_PROGRAM, 16, namconb1_state )
+ADDRESS_MAP_START(namconb1_state::namcoc75_am)
AM_RANGE(0x002000, 0x002fff) AM_DEVREADWRITE("c352", c352_device, read, write)
AM_RANGE(0x004000, 0x00bfff) AM_RAM_WRITE(mcu_shared_w) AM_SHARE("namconb_share")
AM_RANGE(0x200000, 0x27ffff) AM_ROM AM_REGION("c75data", 0)
@@ -835,7 +835,7 @@ READ8_MEMBER(namconb1_state::dac0_r)// bit 6
return (m_p3.read_safe(0xff)<<7)&0x80;
}
-static ADDRESS_MAP_START( namcoc75_io, AS_IO, 8, namconb1_state )
+ADDRESS_MAP_START(namconb1_state::namcoc75_io)
AM_RANGE(M37710_PORT6, M37710_PORT6) AM_READWRITE(port6_r, port6_w)
AM_RANGE(M37710_PORT7, M37710_PORT7) AM_READ(port7_r)
AM_RANGE(M37710_ADC7_L, M37710_ADC7_L) AM_READ(dac7_r)
diff --git a/src/mame/drivers/namcond1.cpp b/src/mame/drivers/namcond1.cpp
index 9667e2a3cc8..a232631f91a 100644
--- a/src/mame/drivers/namcond1.cpp
+++ b/src/mame/drivers/namcond1.cpp
@@ -196,7 +196,7 @@ Some logic, resistors/caps/transistors, some connectors etc.
/*************************************************************/
-static ADDRESS_MAP_START( namcond1_map, AS_PROGRAM, 16, namcond1_state )
+ADDRESS_MAP_START(namcond1_state::namcond1_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x400000, 0x40ffff) AM_RAM AM_SHARE("shared_ram")
AM_RANGE(0x800000, 0x80000f) AM_DEVICE8("ygv608", ygv608_device, port_map, 0xff00)
@@ -204,7 +204,7 @@ static ADDRESS_MAP_START( namcond1_map, AS_PROGRAM, 16, namcond1_state )
AM_RANGE(0xc3ff00, 0xc3ffff) AM_READWRITE(cuskey_r,cuskey_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( abcheck_map, AS_PROGRAM, 16, namcond1_state )
+ADDRESS_MAP_START(namcond1_state::abcheck_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x400000, 0x40ffff) AM_RAM AM_SHARE("shared_ram")
AM_RANGE(0x600000, 0x607fff) AM_RAM AM_SHARE("zpr1")
@@ -298,7 +298,7 @@ WRITE16_MEMBER(namcond1_state::mcu_pa_write)
}
/* H8/3002 MCU stuff */
-static ADDRESS_MAP_START( nd1h8rwmap, AS_PROGRAM, 16, namcond1_state )
+ADDRESS_MAP_START(namcond1_state::nd1h8rwmap)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_SHARE("shared_ram")
AM_RANGE(0xa00000, 0xa07fff) AM_DEVREADWRITE("c352", c352_device, read, write)
@@ -311,7 +311,7 @@ static ADDRESS_MAP_START( nd1h8rwmap, AS_PROGRAM, 16, namcond1_state )
AM_RANGE(0xffff1e, 0xffff1f) AM_NOP // ^
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nd1h8iomap, AS_IO, 16, namcond1_state )
+ADDRESS_MAP_START(namcond1_state::nd1h8iomap)
AM_RANGE(h8_device::PORT_7, h8_device::PORT_7) AM_READ(mcu_p7_read )
AM_RANGE(h8_device::PORT_A, h8_device::PORT_A) AM_READWRITE(mcu_pa_read, mcu_pa_write )
AM_RANGE(h8_device::ADC_0, h8_device::ADC_3) AM_NOP // MCU reads these, but the games have no analog controls
diff --git a/src/mame/drivers/namcops2.cpp b/src/mame/drivers/namcops2.cpp
index 3d01fb9896a..2e960f54334 100644
--- a/src/mame/drivers/namcops2.cpp
+++ b/src/mame/drivers/namcops2.cpp
@@ -888,6 +888,7 @@ public:
void system246(machine_config &config);
void system256(machine_config &config);
+ void ps2_map(address_map &map);
protected:
// devices
@@ -907,7 +908,7 @@ uint32_t namcops2_state::screen_update(screen_device &screen, bitmap_rgb32 &bitm
return 0;
}
-static ADDRESS_MAP_START(ps2_map, AS_PROGRAM, 32, namcops2_state)
+ADDRESS_MAP_START(namcops2_state::ps2_map)
AM_RANGE(0x00000000, 0x01ffffff) AM_RAM // 32 MB RAM in consumer PS2s, do these have more?
AM_RANGE(0x1fc00000, 0x1fdfffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/namcos1.cpp b/src/mame/drivers/namcos1.cpp
index 148b3daa089..d4085dacc2a 100644
--- a/src/mame/drivers/namcos1.cpp
+++ b/src/mame/drivers/namcos1.cpp
@@ -394,15 +394,15 @@ WRITE8_MEMBER(namcos1_state::dac_gain_w)
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, namcos1_state )
+ADDRESS_MAP_START(namcos1_state::main_map)
AM_RANGE(0x0000, 0xffff) AM_DEVREADWRITE("c117", namco_c117_device, main_r, main_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 8, namcos1_state )
+ADDRESS_MAP_START(namcos1_state::sub_map)
AM_RANGE(0x0000, 0xffff) AM_DEVREADWRITE("c117", namco_c117_device, sub_r, sub_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( virtual_map, AS_PROGRAM, 8, namcos1_state )
+ADDRESS_MAP_START(namcos1_state::virtual_map)
AM_RANGE(0x2c0000, 0x2c1fff) AM_WRITE(_3dcs_w)
AM_RANGE(0x2e0000, 0x2e7fff) AM_DEVREADWRITE("c116", namco_c116_device, read, write)
AM_RANGE(0x2f0000, 0x2f7fff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
@@ -416,7 +416,7 @@ static ADDRESS_MAP_START( virtual_map, AS_PROGRAM, 8, namcos1_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, namcos1_state )
+ADDRESS_MAP_START(namcos1_state::sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROMBANK("soundbank") /* Banked ROMs */
AM_RANGE(0x4000, 0x4001) AM_DEVREADWRITE("ymsnd", ym2151_device, status_r, write)
AM_RANGE(0x5000, 0x53ff) AM_DEVREADWRITE("namco", namco_cus30_device, namcos1_cus30_r, namcos1_cus30_w) AM_MIRROR(0x400) /* PSG ( Shared ) */
@@ -429,7 +429,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, namcos1_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mcu_map, AS_PROGRAM, 8, namcos1_state )
+ADDRESS_MAP_START(namcos1_state::mcu_map)
AM_RANGE(0x0000, 0x001f) AM_DEVREADWRITE("mcu", hd63701_cpu_device, m6801_io_r, m6801_io_w)
AM_RANGE(0x0080, 0x00ff) AM_RAM /* built in RAM */
AM_RANGE(0x1000, 0x1003) AM_READ(dsw_r)
@@ -445,7 +445,7 @@ static ADDRESS_MAP_START( mcu_map, AS_PROGRAM, 8, namcos1_state )
AM_RANGE(0xf000, 0xffff) AM_ROM AM_REGION("mcu", 0) /* internal ROM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mcu_port_map, AS_IO, 8, namcos1_state )
+ADDRESS_MAP_START(namcos1_state::mcu_port_map)
AM_RANGE(M6801_PORT1, M6801_PORT1) AM_READ_PORT("COIN") AM_WRITE(coin_w)
AM_RANGE(M6801_PORT2, M6801_PORT2) AM_READNOP AM_WRITE(dac_gain_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/namcos10.cpp b/src/mame/drivers/namcos10.cpp
index 6729f0ca794..3e6eb004984 100644
--- a/src/mame/drivers/namcos10.cpp
+++ b/src/mame/drivers/namcos10.cpp
@@ -444,6 +444,9 @@ public:
void ns10_gjspace(machine_config &config);
void ns10_nflclsfb(machine_config &config);
void ns10_gamshara(machine_config &config);
+ void namcos10_map(address_map &map);
+ void namcos10_memm_map(address_map &map);
+ void namcos10_memn_map(address_map &map);
private:
enum {
I2CP_IDLE,
@@ -485,7 +488,7 @@ public:
};
-static ADDRESS_MAP_START( namcos10_map, AS_PROGRAM, 32, namcos10_state )
+ADDRESS_MAP_START(namcos10_state::namcos10_map)
AM_RANGE(0x1f500000, 0x1f501fff) AM_RAM AM_SHARE("share3") /* ram? stores block numbers */
AM_RANGE(0x9f500000, 0x9f501fff) AM_RAM AM_SHARE("share3") /* ram? stores block numbers */
AM_RANGE(0xbf500000, 0xbf501fff) AM_RAM AM_SHARE("share3") /* ram? stores block numbers */
@@ -671,7 +674,7 @@ void namcos10_state::i2c_update()
i2c_prev_clock = clock;
}
-static ADDRESS_MAP_START( namcos10_memm_map, AS_PROGRAM, 32, namcos10_state )
+ADDRESS_MAP_START(namcos10_state::namcos10_memm_map)
AM_IMPORT_FROM(namcos10_map)
AM_RANGE(0x1f300000, 0x1f300003) AM_WRITE16(crypto_switch_w, 0x0000ffff)
@@ -766,7 +769,7 @@ READ16_MEMBER(namcos10_state::nand_block_r)
return block[ offset ];
}
-static ADDRESS_MAP_START( namcos10_memn_map, AS_PROGRAM, 32, namcos10_state )
+ADDRESS_MAP_START(namcos10_state::namcos10_memn_map)
AM_IMPORT_FROM(namcos10_map)
AM_RANGE(0x1f300000, 0x1f300003) AM_WRITE16(crypto_switch_w, 0x0000ffff)
diff --git a/src/mame/drivers/namcos11.cpp b/src/mame/drivers/namcos11.cpp
index 6ccb2f9f808..db322aa8fd8 100644
--- a/src/mame/drivers/namcos11.cpp
+++ b/src/mame/drivers/namcos11.cpp
@@ -347,6 +347,12 @@ public:
void souledge(machine_config &config);
void tekken(machine_config &config);
void tekken2(machine_config &config);
+ void c76_io_map(address_map &map);
+ void c76_map(address_map &map);
+ void namcos11_map(address_map &map);
+ void ptblank2ua_map(address_map &map);
+ void rom8_64_map(address_map &map);
+ void rom8_map(address_map &map);
protected:
virtual void driver_start() override;
@@ -458,7 +464,7 @@ WRITE16_MEMBER( namcos11_state::c76_shared_w )
COMBINE_DATA( &m_sharedram.target()[ offset ] );
}
-static ADDRESS_MAP_START( namcos11_map, AS_PROGRAM, 32, namcos11_state )
+ADDRESS_MAP_START(namcos11_state::namcos11_map)
AM_RANGE(0x1fa04000, 0x1fa0ffff) AM_READWRITE16(c76_shared_r, c76_shared_w, 0xffffffff) /* shared ram with C76 */
AM_RANGE(0x1fa20000, 0x1fa2001f) AM_DEVREADWRITE16("keycus", ns11_keycus_device, read, write, 0xffffffff)
AM_RANGE(0x1fa30000, 0x1fa30fff) AM_DEVREADWRITE8("at28c16", at28c16_device, read, write, 0x00ff00ff) /* eeprom */
@@ -466,7 +472,7 @@ static ADDRESS_MAP_START( namcos11_map, AS_PROGRAM, 32, namcos11_state )
AM_RANGE(0x1fbf6000, 0x1fbf6003) AM_WRITENOP /* ?? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rom8_map, AS_PROGRAM, 32, namcos11_state )
+ADDRESS_MAP_START(namcos11_state::rom8_map)
AM_IMPORT_FROM(namcos11_map)
AM_RANGE(0x1f000000, 0x1f0fffff) AM_ROMBANK("bank1")
@@ -480,7 +486,7 @@ static ADDRESS_MAP_START( rom8_map, AS_PROGRAM, 32, namcos11_state )
AM_RANGE(0x1fa10020, 0x1fa1002f) AM_WRITE16(rom8_w, 0xffffffff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rom8_64_map, AS_PROGRAM, 32, namcos11_state )
+ADDRESS_MAP_START(namcos11_state::rom8_64_map)
AM_IMPORT_FROM(namcos11_map)
AM_RANGE(0x1f000000, 0x1f0fffff) AM_ROMBANK("bank1")
@@ -495,14 +501,14 @@ static ADDRESS_MAP_START( rom8_64_map, AS_PROGRAM, 32, namcos11_state )
AM_RANGE(0x1fa10020, 0x1fa1002f) AM_READNOP AM_WRITE16(rom8_64_w, 0xffffffff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ptblank2ua_map, AS_PROGRAM, 32, namcos11_state )
+ADDRESS_MAP_START(namcos11_state::ptblank2ua_map)
AM_IMPORT_FROM(rom8_64_map)
AM_RANGE(0x1f780000, 0x1f78000f) AM_READ16(lightgun_r, 0xffffffff)
AM_RANGE(0x1f788000, 0x1f788003) AM_WRITE16(lightgun_w, 0xffffffff)
ADDRESS_MAP_END
-ADDRESS_MAP_START( c76_map, AS_PROGRAM, 16, namcos11_state )
+ADDRESS_MAP_START(namcos11_state::c76_map)
AM_RANGE(0x002000, 0x002fff) AM_DEVREADWRITE("c352", c352_device, read, write)
AM_RANGE(0x001000, 0x001001) AM_READ_PORT("PLAYER4")
AM_RANGE(0x001002, 0x001003) AM_READ_PORT("SWITCH")
@@ -516,7 +522,7 @@ ADDRESS_MAP_START( c76_map, AS_PROGRAM, 16, namcos11_state )
AM_RANGE(0x301000, 0x301001) AM_WRITENOP
ADDRESS_MAP_END
-ADDRESS_MAP_START( c76_io_map, AS_IO, 8, namcos11_state )
+ADDRESS_MAP_START(namcos11_state::c76_io_map)
AM_RANGE(M37710_ADC0_H, M37710_ADC7_H) AM_READNOP
AM_RANGE(M37710_ADC0_L, M37710_ADC0_L) AM_READ_PORT("ADC0")
AM_RANGE(M37710_ADC1_L, M37710_ADC1_L) AM_READ_PORT("ADC1")
diff --git a/src/mame/drivers/namcos12.cpp b/src/mame/drivers/namcos12.cpp
index c99e1e7b507..a06af8e3d9d 100644
--- a/src/mame/drivers/namcos12.cpp
+++ b/src/mame/drivers/namcos12.cpp
@@ -1169,6 +1169,21 @@ public:
void namcos12_sub_irq( screen_device &screen, bool vblank_state );
void coh700(machine_config &config);
+ void golgo13_h8iomap(address_map &map);
+ void jvsiomap(address_map &map);
+ void jvsmap(address_map &map);
+ void namcos12_map(address_map &map);
+ void plarailjvsiomap(address_map &map);
+ void plarailjvsmap(address_map &map);
+ void ptblank2_map(address_map &map);
+ void s12h8iomap(address_map &map);
+ void s12h8jvsiomap(address_map &map);
+ void s12h8railiomap(address_map &map);
+ void s12h8rwjvsmap(address_map &map);
+ void s12h8rwmap(address_map &map);
+ void tdjvsiomap(address_map &map);
+ void tdjvsmap(address_map &map);
+ void tektagt_map(address_map &map);
protected:
virtual void machine_reset() override;
};
@@ -1318,7 +1333,7 @@ void namcos12_state::namcos12_sub_irq( screen_device &screen, bool vblank_state
m_sub_portb = (m_sub_portb & 0x7f) | (vblank_state << 7);
}
-static ADDRESS_MAP_START( namcos12_map, AS_PROGRAM, 32, namcos12_state )
+ADDRESS_MAP_START(namcos12_state::namcos12_map)
AM_RANGE(0x1f000000, 0x1f000003) AM_READNOP AM_WRITE16(bankoffset_w, 0x0000ffff) /* banking */
AM_RANGE(0x1f080000, 0x1f083fff) AM_READWRITE16(sharedram_r, sharedram_w, 0xffffffff) /* shared ram?? */
AM_RANGE(0x1f140000, 0x1f140fff) AM_DEVREADWRITE8("at28c16", at28c16_device, read, write, 0x00ff00ff) /* eeprom */
@@ -1332,14 +1347,14 @@ static ADDRESS_MAP_START( namcos12_map, AS_PROGRAM, 32, namcos12_state )
AM_RANGE(0x1fa00000, 0x1fbfffff) AM_ROMBANK("bank1") /* banked roms */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ptblank2_map, AS_PROGRAM, 32, namcos12_state )
+ADDRESS_MAP_START(namcos12_state::ptblank2_map)
AM_IMPORT_FROM( namcos12_map )
AM_RANGE(0x1f780000, 0x1f78000f) AM_READ16(system11gun_r, 0xffffffff)
AM_RANGE(0x1f788000, 0x1f788003) AM_WRITE16(system11gun_w, 0xffffffff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tektagt_map, AS_PROGRAM, 32, namcos12_state )
+ADDRESS_MAP_START(namcos12_state::tektagt_map)
AM_IMPORT_FROM( namcos12_map )
AM_RANGE(0x1fb00000, 0x1fb00003) AM_READWRITE16(tektagt_protection_1_r, tektagt_protection_1_w, 0xffffffff)
@@ -1518,7 +1533,7 @@ void namcos12_boothack_state::machine_reset()
}
/* H8/3002 MCU stuff */
-static ADDRESS_MAP_START( s12h8rwmap, AS_PROGRAM, 16, namcos12_state )
+ADDRESS_MAP_START(namcos12_state::s12h8rwmap)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x08ffff) AM_RAM AM_SHARE("sharedram")
AM_RANGE(0x280000, 0x287fff) AM_DEVREADWRITE("c352", c352_device, read, write)
@@ -1529,7 +1544,7 @@ static ADDRESS_MAP_START( s12h8rwmap, AS_PROGRAM, 16, namcos12_state )
ADDRESS_MAP_END
// map for JVS games w/o controls connected directly
-static ADDRESS_MAP_START( s12h8rwjvsmap, AS_PROGRAM, 16, namcos12_state )
+ADDRESS_MAP_START(namcos12_state::s12h8rwjvsmap)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x08ffff) AM_RAM AM_SHARE("sharedram")
AM_RANGE(0x280000, 0x287fff) AM_DEVREADWRITE("c352", c352_device, read, write)
@@ -1583,7 +1598,7 @@ READ16_MEMBER(namcos12_state::s12_mcu_jvs_p8_r)
return 0x12; // bit 4 = JVS enable. aplarail requires it to be on, soulclbr & others will require JVS I/O if it's on
}
-static ADDRESS_MAP_START( s12h8iomap, AS_IO, 16, namcos12_state )
+ADDRESS_MAP_START(namcos12_state::s12h8iomap)
AM_RANGE(h8_device::PORT_6, h8_device::PORT_6) AM_READ(s12_mcu_p6_r)
AM_RANGE(h8_device::PORT_7, h8_device::PORT_7) AM_READ_PORT("DSW")
AM_RANGE(h8_device::PORT_8, h8_device::PORT_8) AM_READ(s12_mcu_p8_r) AM_WRITENOP
@@ -1595,7 +1610,7 @@ static ADDRESS_MAP_START( s12h8iomap, AS_IO, 16, namcos12_state )
AM_RANGE(h8_device::ADC_3, h8_device::ADC_3) AM_NOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( s12h8jvsiomap, AS_IO, 16, namcos12_state )
+ADDRESS_MAP_START(namcos12_state::s12h8jvsiomap)
AM_RANGE(h8_device::PORT_6, h8_device::PORT_6) AM_READ(s12_mcu_p6_r)
AM_RANGE(h8_device::PORT_7, h8_device::PORT_7) AM_READ_PORT("DSW")
AM_RANGE(h8_device::PORT_8, h8_device::PORT_8) AM_READ(s12_mcu_jvs_p8_r) AM_WRITENOP
@@ -1607,7 +1622,7 @@ static ADDRESS_MAP_START( s12h8jvsiomap, AS_IO, 16, namcos12_state )
AM_RANGE(h8_device::ADC_3, h8_device::ADC_3) AM_NOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( s12h8railiomap, AS_IO, 16, namcos12_state )
+ADDRESS_MAP_START(namcos12_state::s12h8railiomap)
AM_RANGE(h8_device::PORT_6, h8_device::PORT_6) AM_READ(s12_mcu_p6_r)
AM_RANGE(h8_device::PORT_7, h8_device::PORT_7) AM_READ_PORT("DSW")
AM_RANGE(h8_device::PORT_8, h8_device::PORT_8) AM_READ(s12_mcu_jvs_p8_r) AM_WRITENOP
@@ -1631,7 +1646,7 @@ READ16_MEMBER(namcos12_state::s12_mcu_gun_v_r)
return ioport("LIGHT0_Y")->read();
}
-static ADDRESS_MAP_START( golgo13_h8iomap, AS_IO, 16, namcos12_state )
+ADDRESS_MAP_START(namcos12_state::golgo13_h8iomap)
AM_IMPORT_FROM( s12h8iomap )
AM_RANGE(h8_device::ADC_1, h8_device::ADC_1) AM_READ(s12_mcu_gun_h_r)
@@ -1734,12 +1749,12 @@ MACHINE_CONFIG_DERIVED(namcos12_boothack_state::golgo13, coh700)
MACHINE_CONFIG_END
#define JVSCLOCK (XTAL(14'745'600))
-static ADDRESS_MAP_START( jvsmap, AS_PROGRAM, 16, namcos12_state )
+ADDRESS_MAP_START(namcos12_state::jvsmap)
AM_RANGE(0x0000, 0x1fff) AM_ROM AM_REGION("iocpu", 0)
AM_RANGE(0xc000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jvsiomap, AS_IO, 16, namcos12_state )
+ADDRESS_MAP_START(namcos12_state::jvsiomap)
ADDRESS_MAP_END
@@ -1782,14 +1797,14 @@ READ16_MEMBER(namcos12_state::iob_p6_r)
return sb | 0;
}
-static ADDRESS_MAP_START( tdjvsmap, AS_PROGRAM, 16, namcos12_state )
+ADDRESS_MAP_START(namcos12_state::tdjvsmap)
AM_RANGE(0x0000, 0x3fff) AM_ROM AM_REGION("iocpu", 0)
AM_RANGE(0x6000, 0x6001) AM_READ_PORT("IN01")
AM_RANGE(0x6002, 0x6003) AM_READ_PORT("IN23")
AM_RANGE(0xc000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tdjvsiomap, AS_IO, 16, namcos12_state )
+ADDRESS_MAP_START(namcos12_state::tdjvsiomap)
AM_RANGE(h8_device::PORT_4, h8_device::PORT_4) AM_READWRITE(iob_p4_r, iob_p4_w)
AM_RANGE(h8_device::PORT_6, h8_device::PORT_6) AM_READ(iob_p6_r)
AM_RANGE(h8_device::ADC_0, h8_device::ADC_0) AM_READ_PORT("STEER")
@@ -1797,14 +1812,14 @@ static ADDRESS_MAP_START( tdjvsiomap, AS_IO, 16, namcos12_state )
AM_RANGE(h8_device::ADC_2, h8_device::ADC_2) AM_READ_PORT("GAS")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( plarailjvsmap, AS_PROGRAM, 16, namcos12_state )
+ADDRESS_MAP_START(namcos12_state::plarailjvsmap)
AM_RANGE(0x0000, 0x3fff) AM_ROM AM_REGION("iocpu", 0)
AM_RANGE(0x6000, 0x6001) AM_READ_PORT("IN01")
AM_RANGE(0x6002, 0x6003) AM_READ_PORT("IN23")
AM_RANGE(0xc000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( plarailjvsiomap, AS_IO, 16, namcos12_state )
+ADDRESS_MAP_START(namcos12_state::plarailjvsiomap)
AM_RANGE(h8_device::PORT_4, h8_device::PORT_4) AM_READWRITE(iob_p4_r, iob_p4_w)
AM_RANGE(h8_device::PORT_6, h8_device::PORT_6) AM_READ_PORT("SERVICE")
AM_RANGE(h8_device::ADC_0, h8_device::ADC_0) AM_NOP
diff --git a/src/mame/drivers/namcos2.cpp b/src/mame/drivers/namcos2.cpp
index 404c3c8e999..f9b7beae5d7 100644
--- a/src/mame/drivers/namcos2.cpp
+++ b/src/mame/drivers/namcos2.cpp
@@ -594,7 +594,7 @@ READ8_MEMBER(namcos2_state::ack_mcu_vbl_r)
0xc00000 ONWARDS are unverified memory locations on the video board
*/
-static ADDRESS_MAP_START( namcos2_68k_default_cpu_board_am, AS_PROGRAM, 16, namcos2_state )
+ADDRESS_MAP_START(namcos2_state::namcos2_68k_default_cpu_board_am)
AM_RANGE(0x200000, 0x3fffff) AM_ROM AM_REGION("data_rom", 0)
AM_RANGE(0x400000, 0x41ffff) AM_READWRITE(c123_tilemap_videoram_r,c123_tilemap_videoram_w)
AM_RANGE(0x420000, 0x42003f) AM_READWRITE(c123_tilemap_control_r,c123_tilemap_control_w)
@@ -606,7 +606,7 @@ ADDRESS_MAP_END
/*************************************************************/
-static ADDRESS_MAP_START( common_default_am, AS_PROGRAM, 16, namcos2_state )
+ADDRESS_MAP_START(namcos2_state::common_default_am)
AM_IMPORT_FROM( namcos2_68k_default_cpu_board_am )
AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xc40000, 0xc40001) AM_READWRITE(gfx_ctrl_r, gfx_ctrl_w)
@@ -615,7 +615,7 @@ static ADDRESS_MAP_START( common_default_am, AS_PROGRAM, 16, namcos2_state )
AM_RANGE(0xd00000, 0xd0000f) AM_READWRITE(namcos2_68k_key_r,namcos2_68k_key_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( master_default_am, AS_PROGRAM, 16, namcos2_state )
+ADDRESS_MAP_START(namcos2_state::master_default_am)
AM_IMPORT_FROM( common_default_am )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAMBANK(NAMCOS2_68K_MASTER_RAM)
@@ -623,7 +623,7 @@ static ADDRESS_MAP_START( master_default_am, AS_PROGRAM, 16, namcos2_state )
AM_RANGE(0x1c0000, 0x1fffff) AM_DEVICE("master_intc", namco_c148_device, map)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_default_am, AS_PROGRAM, 16, namcos2_state )
+ADDRESS_MAP_START(namcos2_state::slave_default_am)
AM_IMPORT_FROM( common_default_am )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x13ffff) AM_RAMBANK(NAMCOS2_68K_SLAVE_RAM)
@@ -633,7 +633,7 @@ ADDRESS_MAP_END
/*************************************************************/
-static ADDRESS_MAP_START( common_finallap_am, AS_PROGRAM, 16, namcos2_state )
+ADDRESS_MAP_START(namcos2_state::common_finallap_am)
AM_IMPORT_FROM( namcos2_68k_default_cpu_board_am )
AM_RANGE(0x300000, 0x33ffff) AM_READ(namcos2_finallap_prot_r)
AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_SHARE("spriteram")
@@ -642,7 +642,7 @@ static ADDRESS_MAP_START( common_finallap_am, AS_PROGRAM, 16, namcos2_state )
AM_RANGE(0x8c0000, 0x8c0001) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( master_finallap_am, AS_PROGRAM, 16, namcos2_state )
+ADDRESS_MAP_START(namcos2_state::master_finallap_am)
AM_IMPORT_FROM( common_finallap_am )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAMBANK(NAMCOS2_68K_MASTER_RAM)
@@ -650,7 +650,7 @@ static ADDRESS_MAP_START( master_finallap_am, AS_PROGRAM, 16, namcos2_state )
AM_RANGE(0x1c0000, 0x1fffff) AM_DEVICE("master_intc", namco_c148_device, map)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_finallap_am, AS_PROGRAM, 16, namcos2_state )
+ADDRESS_MAP_START(namcos2_state::slave_finallap_am)
AM_IMPORT_FROM( common_finallap_am )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x13ffff) AM_RAMBANK(NAMCOS2_68K_SLAVE_RAM)
@@ -659,14 +659,14 @@ ADDRESS_MAP_END
/*************************************************************/
-static ADDRESS_MAP_START( common_sgunner_am, AS_PROGRAM, 16, namcos2_state )
+ADDRESS_MAP_START(namcos2_state::common_sgunner_am)
AM_IMPORT_FROM( namcos2_68k_default_cpu_board_am )
AM_RANGE(0x800000, 0x8141ff) AM_READWRITE(c355_obj_ram_r,c355_obj_ram_w)
AM_RANGE(0x818000, 0x818001) AM_WRITENOP
AM_RANGE(0xa00000, 0xa0000f) AM_READWRITE(namcos2_68k_key_r,namcos2_68k_key_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( master_sgunner_am, AS_PROGRAM, 16, namcos2_state )
+ADDRESS_MAP_START(namcos2_state::master_sgunner_am)
AM_IMPORT_FROM( common_sgunner_am )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAMBANK(NAMCOS2_68K_MASTER_RAM)
@@ -674,7 +674,7 @@ static ADDRESS_MAP_START( master_sgunner_am, AS_PROGRAM, 16, namcos2_state )
AM_RANGE(0x1c0000, 0x1fffff) AM_DEVICE("master_intc", namco_c148_device, map)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_sgunner_am, AS_PROGRAM, 16, namcos2_state )
+ADDRESS_MAP_START(namcos2_state::slave_sgunner_am)
AM_IMPORT_FROM( common_sgunner_am )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x13ffff) AM_RAMBANK(NAMCOS2_68K_SLAVE_RAM)
@@ -683,7 +683,7 @@ ADDRESS_MAP_END
/*************************************************************/
-static ADDRESS_MAP_START( common_metlhawk_am, AS_PROGRAM, 16, namcos2_state )
+ADDRESS_MAP_START(namcos2_state::common_metlhawk_am)
AM_IMPORT_FROM( namcos2_68k_default_cpu_board_am )
AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xc40000, 0xc4ffff) AM_READWRITE(c169_roz_videoram_r,c169_roz_videoram_w) AM_SHARE("rozvideoram")
@@ -691,7 +691,7 @@ static ADDRESS_MAP_START( common_metlhawk_am, AS_PROGRAM, 16, namcos2_state )
AM_RANGE(0xe00000, 0xe00001) AM_READWRITE(gfx_ctrl_r, gfx_ctrl_w) /* ??? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( master_metlhawk_am, AS_PROGRAM, 16, namcos2_state )
+ADDRESS_MAP_START(namcos2_state::master_metlhawk_am)
AM_IMPORT_FROM( common_metlhawk_am )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAMBANK(NAMCOS2_68K_MASTER_RAM)
@@ -699,7 +699,7 @@ static ADDRESS_MAP_START( master_metlhawk_am, AS_PROGRAM, 16, namcos2_state )
AM_RANGE(0x1c0000, 0x1fffff) AM_DEVICE("master_intc", namco_c148_device, map)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_metlhawk_am, AS_PROGRAM, 16, namcos2_state )
+ADDRESS_MAP_START(namcos2_state::slave_metlhawk_am)
AM_IMPORT_FROM( common_metlhawk_am )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x13ffff) AM_RAMBANK(NAMCOS2_68K_SLAVE_RAM)
@@ -708,7 +708,7 @@ ADDRESS_MAP_END
/*************************************************************/
-static ADDRESS_MAP_START( common_luckywld_am, AS_PROGRAM, 16, namcos2_state )
+ADDRESS_MAP_START(namcos2_state::common_luckywld_am)
AM_IMPORT_FROM( namcos2_68k_default_cpu_board_am )
AM_RANGE(0x800000, 0x8141ff) AM_READWRITE(c355_obj_ram_r,c355_obj_ram_w)
AM_RANGE(0x818000, 0x818001) AM_NOP /* enable? */
@@ -721,7 +721,7 @@ static ADDRESS_MAP_START( common_luckywld_am, AS_PROGRAM, 16, namcos2_state )
AM_RANGE(0xf00000, 0xf00007) AM_READWRITE(namcos2_68k_key_r,namcos2_68k_key_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( master_luckywld_am, AS_PROGRAM, 16, namcos2_state )
+ADDRESS_MAP_START(namcos2_state::master_luckywld_am)
AM_IMPORT_FROM( common_luckywld_am )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAMBANK(NAMCOS2_68K_MASTER_RAM)
@@ -729,7 +729,7 @@ static ADDRESS_MAP_START( master_luckywld_am, AS_PROGRAM, 16, namcos2_state )
AM_RANGE(0x1c0000, 0x1fffff) AM_DEVICE("master_intc", namco_c148_device, map)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_luckywld_am, AS_PROGRAM, 16, namcos2_state )
+ADDRESS_MAP_START(namcos2_state::slave_luckywld_am)
AM_IMPORT_FROM( common_luckywld_am )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x13ffff) AM_RAMBANK(NAMCOS2_68K_SLAVE_RAM)
@@ -740,7 +740,7 @@ ADDRESS_MAP_END
/* 6809 SOUND CPU Memory declarations */
/*************************************************************/
-static ADDRESS_MAP_START( sound_default_am, AS_PROGRAM, 8, namcos2_state )
+ADDRESS_MAP_START(namcos2_state::sound_default_am)
AM_RANGE(0x0000, 0x3fff) AM_ROMBANK("bank6") /* banked */
AM_RANGE(0x4000, 0x4001) AM_DEVREADWRITE("ymsnd", ym2151_device,read,write)
AM_RANGE(0x5000, 0x6fff) AM_DEVREADWRITE("c140", c140_device, c140_r,c140_w)
@@ -759,7 +759,7 @@ ADDRESS_MAP_END
/* 68705 IO CPU Memory declarations */
/*************************************************************/
-static ADDRESS_MAP_START( mcu_default_am, AS_PROGRAM, 8, namcos2_state )
+ADDRESS_MAP_START(namcos2_state::mcu_default_am)
/* input ports and dips are mapped here */
AM_RANGE(0x0000, 0x003f) AM_RAM /* Fill in register to stop logging */
AM_RANGE(0x0000, 0x0000) AM_READNOP /* Keep logging quiet */
@@ -795,7 +795,7 @@ WRITE8_MEMBER(namcos2_state::c68_p3_w)
m_player_mux = (data & 0x80) ? 1 : 0;
}
-static ADDRESS_MAP_START( c68_default_am, AS_PROGRAM, 8, namcos2_state )
+ADDRESS_MAP_START(namcos2_state::c68_default_am)
/* input ports and dips are mapped here */
AM_RANGE(0x2000, 0x2000) AM_READ_PORT("DSW")
AM_RANGE(0x3000, 0x3000) AM_READ_PORT("MCUDI0")
diff --git a/src/mame/drivers/namcos21.cpp b/src/mame/drivers/namcos21.cpp
index 2f15b932afd..cd832de261f 100644
--- a/src/mame/drivers/namcos21.cpp
+++ b/src/mame/drivers/namcos21.cpp
@@ -978,17 +978,17 @@ WRITE16_MEMBER(namcos21_state::dsp_xf_w)
if (ENABLE_LOGGING) logerror("xf(%d)\n",data);
}
-static ADDRESS_MAP_START( master_dsp_program, AS_PROGRAM, 16, namcos21_state )
+ADDRESS_MAP_START(namcos21_state::master_dsp_program)
AM_RANGE(0x0000, 0x0fff) AM_ROM /* BIOS */
AM_RANGE(0x8000, 0xbfff) AM_RAM AM_SHARE("master_dsp_code")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( master_dsp_data, AS_DATA, 16, namcos21_state )
+ADDRESS_MAP_START(namcos21_state::master_dsp_data)
AM_RANGE(0x2000, 0x200f) AM_READWRITE(dspcuskey_r,dspcuskey_w)
AM_RANGE(0x8000, 0xffff) AM_READWRITE(dspram16_r,dspram16_w<false>) /* 0x8000 words */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( master_dsp_io, AS_IO, 16, namcos21_state )
+ADDRESS_MAP_START(namcos21_state::master_dsp_io)
AM_RANGE(0x00,0x00) AM_READWRITE(dsp_port0_r,dsp_port0_w)
AM_RANGE(0x01,0x01) AM_READWRITE(dsp_port1_r,dsp_port1_w)
AM_RANGE(0x02,0x02) AM_READWRITE(dsp_port2_r,dsp_port2_w)
@@ -1101,16 +1101,16 @@ READ16_MEMBER(namcos21_state::slave_portf_r)
return 1;
}
-static ADDRESS_MAP_START( slave_dsp_program, AS_PROGRAM, 16, namcos21_state )
+ADDRESS_MAP_START(namcos21_state::slave_dsp_program)
AM_RANGE(0x0000, 0x0fff) AM_ROM /* BIOS */
AM_RANGE(0x8000, 0x8fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_dsp_data, AS_DATA, 16, namcos21_state )
+ADDRESS_MAP_START(namcos21_state::slave_dsp_data)
/* no external data memory */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_dsp_io, AS_IO, 16, namcos21_state )
+ADDRESS_MAP_START(namcos21_state::slave_dsp_io)
AM_RANGE(0x00,0x00) AM_READWRITE(slave_port0_r,slave_port0_w)
AM_RANGE(0x02,0x02) AM_READ(slave_port2_r)
AM_RANGE(0x03,0x03) AM_READWRITE(slave_port3_r,slave_port3_w)
@@ -1235,7 +1235,7 @@ WRITE8_MEMBER(namcos21_state::namcos2_dualportram_byte_w)
/* MASTER 68000 CPU Memory declarations */
/*************************************************************/
-static ADDRESS_MAP_START( common_map, AS_PROGRAM, 16, namcos21_state )
+ADDRESS_MAP_START(namcos21_state::common_map)
AM_RANGE(0x280000, 0x280001) AM_WRITENOP /* written once on startup */
AM_RANGE(0x400000, 0x400001) AM_WRITE(pointram_control_w)
AM_RANGE(0x440000, 0x440001) AM_READWRITE(pointram_data_r,pointram_data_w)
@@ -1254,7 +1254,7 @@ static ADDRESS_MAP_START( common_map, AS_PROGRAM, 16, namcos21_state )
AM_RANGE(0xc00000, 0xcfffff) AM_ROM AM_MIRROR(0x100000) AM_REGION("edata", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( master_map, AS_PROGRAM, 16, namcos21_state )
+ADDRESS_MAP_START(namcos21_state::master_map)
AM_IMPORT_FROM( common_map )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM /* private work RAM */
@@ -1263,7 +1263,7 @@ static ADDRESS_MAP_START( master_map, AS_PROGRAM, 16, namcos21_state )
AM_RANGE(0x200000, 0x20ffff) AM_READWRITE(dspram16_r,dspram16_w<true>) AM_SHARE("dspram16")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_map, AS_PROGRAM, 16, namcos21_state )
+ADDRESS_MAP_START(namcos21_state::slave_map)
AM_IMPORT_FROM( common_map )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x13ffff) AM_RAM /* private work RAM */
@@ -1407,17 +1407,17 @@ READ16_MEMBER(namcos21_state::winrun_table_r)
return m_winrun_polydata[offset];
}
-static ADDRESS_MAP_START( winrun_dsp_program, AS_PROGRAM, 16, namcos21_state )
+ADDRESS_MAP_START(namcos21_state::winrun_dsp_program)
AM_RANGE(0x0000, 0x0fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( winrun_dsp_data, AS_DATA, 16, namcos21_state )
+ADDRESS_MAP_START(namcos21_state::winrun_dsp_data)
AM_RANGE( 0x2000, 0x200f ) AM_READWRITE(winrun_cuskey_r,winrun_cuskey_w)
AM_RANGE( 0x4000, 0x4fff ) AM_READWRITE(winrun_dspcomram_r,winrun_dspcomram_w)
AM_RANGE( 0x8000, 0xffff ) AM_READ(winrun_table_r )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( winrun_dsp_io, AS_IO, 16, namcos21_state )
+ADDRESS_MAP_START(namcos21_state::winrun_dsp_io)
AM_RANGE(0x08,0x09) AM_READWRITE(winrun_dsp_pointrom_data_r,winrun_dsp_pointrom_addr_w)
AM_RANGE(0x0a,0x0a) AM_WRITE(winrun_dsp_render_w)
AM_RANGE(0x0b,0x0b) AM_WRITENOP
@@ -1464,7 +1464,7 @@ WRITE16_MEMBER(namcos21_state::winrun_dspcomram_control_w)
COMBINE_DATA( &m_winrun_dspcomram_control[offset] );
}
-static ADDRESS_MAP_START( winrun_master_map, AS_PROGRAM, 16, namcos21_state )
+ADDRESS_MAP_START(namcos21_state::winrun_master_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM /* work RAM */
AM_RANGE(0x180000, 0x183fff) AM_READWRITE8(namcos2_68k_eeprom_r,namcos2_68k_eeprom_w,0x00ff)
@@ -1484,7 +1484,7 @@ static ADDRESS_MAP_START( winrun_master_map, AS_PROGRAM, 16, namcos21_state )
AM_RANGE(0xb80000, 0xb8000f) AM_DEVICE("sci", namco_c139_device, regs_map)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( winrun_slave_map, AS_PROGRAM, 16, namcos21_state )
+ADDRESS_MAP_START(namcos21_state::winrun_slave_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x13ffff) AM_RAM
AM_RANGE(0x1c0000, 0x1fffff) AM_DEVICE("slave_intc", namco_c148_device, map)
@@ -1497,7 +1497,7 @@ static ADDRESS_MAP_START( winrun_slave_map, AS_PROGRAM, 16, namcos21_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( winrun_gpu_map, AS_PROGRAM, 16, namcos21_state )
+ADDRESS_MAP_START(namcos21_state::winrun_gpu_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_READWRITE(winrun_gpu_color_r,winrun_gpu_color_w) /* ? */
AM_RANGE(0x180000, 0x19ffff) AM_RAM /* work RAM */
@@ -1516,7 +1516,7 @@ ADDRESS_MAP_END
/* SOUND 6809 CPU Memory declarations */
/*************************************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, namcos21_state )
+ADDRESS_MAP_START(namcos21_state::sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROMBANK("bank6") /* banked */
AM_RANGE(0x3000, 0x3003) AM_WRITENOP /* ? */
AM_RANGE(0x4000, 0x4001) AM_DEVREADWRITE("ymsnd", ym2151_device,read,write)
@@ -1536,7 +1536,7 @@ ADDRESS_MAP_END
/* I/O HD63705 MCU Memory declarations */
/*************************************************************/
-static ADDRESS_MAP_START( mcu_map, AS_PROGRAM, 8, namcos21_state )
+ADDRESS_MAP_START(namcos21_state::mcu_map)
AM_RANGE(0x0000, 0x003f) AM_RAM
AM_RANGE(0x0000, 0x0000) AM_READNOP
AM_RANGE(0x0001, 0x0001) AM_READ_PORT("PORTB") /* p1,p2 start */
@@ -1563,7 +1563,7 @@ ADDRESS_MAP_END
/*************************************************************/
-static ADDRESS_MAP_START( driveyes_common_map, AS_PROGRAM, 16, namcos21_state )
+ADDRESS_MAP_START(namcos21_state::driveyes_common_map)
AM_RANGE(0x700000, 0x71ffff) AM_READWRITE(c355_obj_ram_r,c355_obj_ram_w)
AM_RANGE(0x720000, 0x720007) AM_READWRITE(c355_obj_position_r,c355_obj_position_w)
AM_RANGE(0x740000, 0x74ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -1576,7 +1576,7 @@ static ADDRESS_MAP_START( driveyes_common_map, AS_PROGRAM, 16, namcos21_state )
AM_RANGE(0xb80000, 0xb8000f) AM_DEVICE("sci", namco_c139_device, regs_map)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( driveyes_master_map, AS_PROGRAM, 16, namcos21_state )
+ADDRESS_MAP_START(namcos21_state::driveyes_master_map)
AM_IMPORT_FROM( driveyes_common_map )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM /* private work RAM */
@@ -1590,7 +1590,7 @@ static ADDRESS_MAP_START( driveyes_master_map, AS_PROGRAM, 16, namcos21_state )
AM_RANGE(0x440000, 0x440001) AM_READWRITE(pointram_data_r,pointram_data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( driveyes_slave_map, AS_PROGRAM, 16, namcos21_state )
+ADDRESS_MAP_START(namcos21_state::driveyes_slave_map)
AM_IMPORT_FROM( driveyes_common_map )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM /* private work RAM */
diff --git a/src/mame/drivers/namcos22.cpp b/src/mame/drivers/namcos22.cpp
index 163f9bada62..c5e799f0cad 100644
--- a/src/mame/drivers/namcos22.cpp
+++ b/src/mame/drivers/namcos22.cpp
@@ -1724,7 +1724,7 @@ WRITE32_MEMBER(namcos22_state::namcos22s_chipselect_w)
// System 22
-static ADDRESS_MAP_START( namcos22_am, AS_PROGRAM, 32, namcos22_state )
+ADDRESS_MAP_START(namcos22_state::namcos22_am)
/**
* Program ROM (2M bytes)
* Mounted position: LLB: CPU 4D, LMB: CPU 2D, UMB: CPU 8D, UUB: CPU 6D
@@ -1927,7 +1927,7 @@ ADDRESS_MAP_END
// Super System 22
-static ADDRESS_MAP_START( namcos22s_am, AS_PROGRAM, 32, namcos22_state )
+ADDRESS_MAP_START(namcos22_state::namcos22s_am)
AM_RANGE(0x000000, 0x3fffff) AM_ROM
AM_RANGE(0x400000, 0x40001f) AM_READWRITE16(namcos22_keycus_r, namcos22_keycus_w, 0xffffffff)
AM_RANGE(0x410000, 0x413fff) AM_RAM /* C139 SCI buffer */
@@ -1976,7 +1976,7 @@ READ32_MEMBER(namcos22_state::namcos22_gun_r)
}
}
-static ADDRESS_MAP_START( timecris_am, AS_PROGRAM, 32, namcos22_state )
+ADDRESS_MAP_START(namcos22_state::timecris_am)
AM_IMPORT_FROM( namcos22s_am )
AM_RANGE(0x430000, 0x43000f) AM_READ(namcos22_gun_r)
ADDRESS_MAP_END
@@ -2009,7 +2009,7 @@ WRITE32_MEMBER(namcos22_state::alpinesa_prot_w)
}
}
-static ADDRESS_MAP_START( alpinesa_am, AS_PROGRAM, 32, namcos22_state )
+ADDRESS_MAP_START(namcos22_state::alpinesa_am)
AM_IMPORT_FROM( namcos22s_am )
AM_RANGE(0x200000, 0x200003) AM_READ(alpinesa_prot_r)
AM_RANGE(0x300000, 0x300003) AM_WRITE(alpinesa_prot_w)
@@ -2539,18 +2539,18 @@ WRITE16_MEMBER(namcos22_state::master_render_device_w)
}
}
-static ADDRESS_MAP_START( master_dsp_program, AS_PROGRAM, 16, namcos22_state )
+ADDRESS_MAP_START(namcos22_state::master_dsp_program)
AM_RANGE(0x0000, 0x0fff) AM_ROM /* internal ROM (4k words) */
AM_RANGE(0x4000, 0x7fff) AM_ROM AM_SHARE("masterextram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( master_dsp_data, AS_DATA, 16, namcos22_state )
+ADDRESS_MAP_START(namcos22_state::master_dsp_data)
AM_RANGE(0x1000, 0x3fff) AM_RAM
AM_RANGE(0x4000, 0x7fff) AM_READ(master_external_ram_r) AM_WRITE(master_external_ram_w)
AM_RANGE(0x8000, 0xffff) AM_READ(namcos22_dspram16_r) AM_WRITE(namcos22_dspram16_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( master_dsp_io, AS_IO, 16, namcos22_state )
+ADDRESS_MAP_START(namcos22_state::master_dsp_io)
AM_RANGE(0x0, 0x0) AM_READWRITE(point_loword_r, point_loword_iw)
AM_RANGE(0x1, 0x1) AM_READWRITE(point_hiword_ir, point_hiword_w)
AM_RANGE(0x2, 0x2) AM_READWRITE(pdp_begin_r, dsp_unk2_w)
@@ -2625,16 +2625,16 @@ WRITE16_MEMBER(namcos22_state::dsp_slave_portb_w)
/* The slave dsp uses this to transmit a command sequence to an external device. */
}
-static ADDRESS_MAP_START( slave_dsp_program, AS_PROGRAM, 16, namcos22_state )
+ADDRESS_MAP_START(namcos22_state::slave_dsp_program)
AM_RANGE(0x0000, 0x0fff) AM_ROM /* internal ROM */
AM_RANGE(0x8000, 0x9fff) AM_ROM AM_SHARE("slaveextram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_dsp_data, AS_DATA, 16, namcos22_state )
+ADDRESS_MAP_START(namcos22_state::slave_dsp_data)
AM_RANGE(0x8000, 0x9fff) AM_READWRITE(slave_external_ram_r, slave_external_ram_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_dsp_io, AS_IO, 16, namcos22_state )
+ADDRESS_MAP_START(namcos22_state::slave_dsp_io)
/* unknown signal */
AM_RANGE(0x3, 0x3) AM_READ(dsp_slave_port3_r)
@@ -2705,7 +2705,7 @@ READ8_MEMBER(namcos22_state::iomcu_port4_s22_r)
return 0x00;
}
-static ADDRESS_MAP_START( mcu_s22_program, AS_PROGRAM, 16, namcos22_state )
+ADDRESS_MAP_START(namcos22_state::mcu_s22_program)
AM_RANGE(0x002000, 0x002fff) AM_DEVREADWRITE("c352", c352_device, read, write)
AM_RANGE(0x004000, 0x00bfff) AM_READWRITE(s22mcu_shared_r, s22mcu_shared_w )
AM_RANGE(0x080000, 0x0fffff) AM_ROM AM_REGION("mcu", 0)
@@ -2715,15 +2715,15 @@ static ADDRESS_MAP_START( mcu_s22_program, AS_PROGRAM, 16, namcos22_state )
AM_RANGE(0x308000, 0x308003) AM_NOP // volume control IC?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( iomcu_s22_program, AS_PROGRAM, 16, namcos22_state )
+ADDRESS_MAP_START(namcos22_state::iomcu_s22_program)
// is there any external memory or MMIO on this one?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mcu_s22_io, AS_IO, 8, namcos22_state )
+ADDRESS_MAP_START(namcos22_state::mcu_s22_io)
AM_RANGE(M37710_PORT4, M37710_PORT4) AM_READ(mcu_port4_s22_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( iomcu_s22_io, AS_IO, 8, namcos22_state )
+ADDRESS_MAP_START(namcos22_state::iomcu_s22_io)
AM_RANGE(M37710_PORT4, M37710_PORT4) AM_READ(iomcu_port4_s22_r)
AM_RANGE(0x00, 0xff) AM_NOP
ADDRESS_MAP_END
@@ -2794,7 +2794,7 @@ READ8_MEMBER(namcos22_state::namcos22s_mcu_adc_r)
return (offset & 1) ? adc >> 8 : adc;
}
-static ADDRESS_MAP_START( mcu_program, AS_PROGRAM, 16, namcos22_state )
+ADDRESS_MAP_START(namcos22_state::mcu_program)
AM_RANGE(0x002000, 0x002fff) AM_DEVREADWRITE("c352", c352_device, read, write)
AM_RANGE(0x004000, 0x00bfff) AM_READWRITE(s22mcu_shared_r, s22mcu_shared_w )
AM_RANGE(0x00c000, 0x00ffff) AM_ROM AM_REGION("mcu", 0xc000)
@@ -2805,7 +2805,7 @@ static ADDRESS_MAP_START( mcu_program, AS_PROGRAM, 16, namcos22_state )
AM_RANGE(0x308000, 0x308003) AM_NOP // volume control IC?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mcu_io, AS_IO, 8, namcos22_state )
+ADDRESS_MAP_START(namcos22_state::mcu_io)
AM_RANGE(M37710_PORT4, M37710_PORT4) AM_READWRITE(mcu_port4_r, mcu_port4_w)
AM_RANGE(M37710_PORT5, M37710_PORT5) AM_READWRITE(mcu_port5_r, mcu_port5_w)
AM_RANGE(M37710_PORT6, M37710_PORT6) AM_READWRITE(mcu_port6_r, mcu_port6_w)
@@ -2954,7 +2954,7 @@ WRITE8_MEMBER(namcos22_state::alpine_mcu_port5_w)
}
}
-static ADDRESS_MAP_START( alpine_io_map, AS_IO, 8, namcos22_state )
+ADDRESS_MAP_START(namcos22_state::alpine_io_map)
AM_IMPORT_FROM( mcu_io )
AM_RANGE(M37710_PORT5, M37710_PORT5) AM_WRITE(alpine_mcu_port5_w)
ADDRESS_MAP_END
@@ -2971,7 +2971,7 @@ WRITE8_MEMBER(namcos22_state::propcycle_mcu_port5_w)
output().set_led_value(0, data & 2);
}
-static ADDRESS_MAP_START( propcycl_io_map, AS_IO, 8, namcos22_state )
+ADDRESS_MAP_START(namcos22_state::propcycl_io_map)
AM_IMPORT_FROM( mcu_io )
AM_RANGE(M37710_PORT5, M37710_PORT5) AM_WRITE(propcycle_mcu_port5_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/namcos23.cpp b/src/mame/drivers/namcos23.cpp
index a815c5a86f7..cd639e71c03 100644
--- a/src/mame/drivers/namcos23.cpp
+++ b/src/mame/drivers/namcos23.cpp
@@ -1604,6 +1604,15 @@ public:
void s23(machine_config &config);
void gmen(machine_config &config);
void timecrs2(machine_config &config);
+ void gmen_mips_map(address_map &map);
+ void gmen_sh2_map(address_map &map);
+ void gorgon_map(address_map &map);
+ void s23_map(address_map &map);
+ void s23h8iomap(address_map &map);
+ void s23h8rwmap(address_map &map);
+ void s23iobrdiomap(address_map &map);
+ void s23iobrdmap(address_map &map);
+ void timecrs2iobrdmap(address_map &map);
};
@@ -2881,7 +2890,7 @@ WRITE16_MEMBER(namcos23_state::sub_comm_w)
// System Gorgon
-static ADDRESS_MAP_START( gorgon_map, AS_PROGRAM, 32, namcos23_state )
+ADDRESS_MAP_START(namcos23_state::gorgon_map)
ADDRESS_MAP_GLOBAL_MASK(0xfffffff)
AM_RANGE(0x00000000, 0x003fffff) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x01000000, 0x010000ff) AM_READWRITE(c435_r, c435_w)
@@ -2906,7 +2915,7 @@ static ADDRESS_MAP_START( gorgon_map, AS_PROGRAM, 32, namcos23_state )
ADDRESS_MAP_END
// (Super) System 23
-static ADDRESS_MAP_START( s23_map, AS_PROGRAM, 32, namcos23_state )
+ADDRESS_MAP_START(namcos23_state::s23_map)
ADDRESS_MAP_GLOBAL_MASK(0xfffffff)
AM_RANGE(0x00000000, 0x00ffffff) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x01000000, 0x010000ff) AM_READWRITE(c435_r, c435_w)
@@ -2954,7 +2963,7 @@ WRITE32_MEMBER(namcos23_state::sh2_shared_w)
COMBINE_DATA(&m_gmen_sh2_shared[offset]);
}
-static ADDRESS_MAP_START( gmen_mips_map, AS_PROGRAM, 32, namcos23_state )
+ADDRESS_MAP_START(namcos23_state::gmen_mips_map)
AM_IMPORT_FROM(s23_map)
AM_RANGE(0x0e400000, 0x0e400003) AM_READ(gmen_trigger_sh2)
AM_RANGE(0x0e700000, 0x0e70ffff) AM_READWRITE(sh2_shared_r, sh2_shared_w)
@@ -2963,7 +2972,7 @@ ADDRESS_MAP_END
// SH2 memmap
/* TODO: of course, I believe that area 0x008***** is actually a bank of some sort ... */
-static ADDRESS_MAP_START( gmen_sh2_map, AS_PROGRAM, 32, namcos23_state )
+ADDRESS_MAP_START(namcos23_state::gmen_sh2_map)
AM_RANGE(0x00000000, 0x0000ffff) AM_RAM AM_SHARE("gmen_sh2_shared")
AM_RANGE(0x00800000, 0x008fffff) AM_ROM AM_REGION("data", 0xc00000) //c00000 "data" for final furlong 2. 0x1b6bc0 "user1" for gunmen wars
AM_RANGE(0x01800000, 0x0183ffff) AM_RAM // ???
@@ -3076,7 +3085,7 @@ WRITE16_MEMBER(namcos23_state::mcu_pb_w)
}
-static ADDRESS_MAP_START( s23h8rwmap, AS_PROGRAM, 16, namcos23_state )
+ADDRESS_MAP_START(namcos23_state::s23h8rwmap)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x08ffff) AM_READWRITE(sharedram_sub_r, sharedram_sub_w )
AM_RANGE(0x280000, 0x287fff) AM_DEVREADWRITE("c352", c352_device, read, write)
@@ -3087,7 +3096,7 @@ static ADDRESS_MAP_START( s23h8rwmap, AS_PROGRAM, 16, namcos23_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( s23h8iomap, AS_IO, 16, namcos23_state )
+ADDRESS_MAP_START(namcos23_state::s23h8iomap)
AM_RANGE(h8_device::PORT_6, h8_device::PORT_6) AM_READWRITE(mcu_p6_r, mcu_p6_w )
AM_RANGE(h8_device::PORT_8, h8_device::PORT_8) AM_READWRITE(mcu_p8_r, mcu_p8_w )
AM_RANGE(h8_device::PORT_A, h8_device::PORT_A) AM_READWRITE(mcu_pa_r, mcu_pa_w )
@@ -3150,7 +3159,7 @@ READ16_MEMBER(namcos23_state::iob_analog_r)
}
-static ADDRESS_MAP_START( s23iobrdmap, AS_PROGRAM, 16, namcos23_state )
+ADDRESS_MAP_START(namcos23_state::s23iobrdmap)
AM_RANGE(0x0000, 0x1fff) AM_ROM AM_REGION("iocpu", 0)
AM_RANGE(0x6000, 0x6001) AM_READ_PORT("IN01")
AM_RANGE(0x6002, 0x6003) AM_READ_PORT("IN23")
@@ -3159,7 +3168,7 @@ static ADDRESS_MAP_START( s23iobrdmap, AS_PROGRAM, 16, namcos23_state )
AM_RANGE(0xc000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( s23iobrdiomap, AS_IO, 16, namcos23_state )
+ADDRESS_MAP_START(namcos23_state::s23iobrdiomap)
AM_RANGE(h8_device::PORT_4, h8_device::PORT_4) AM_READWRITE(iob_p4_r, iob_p4_w)
AM_RANGE(h8_device::PORT_5, h8_device::PORT_5) AM_NOP // bit 2 = status LED to indicate transmitting packet to main
AM_RANGE(h8_device::PORT_6, h8_device::PORT_6) AM_READWRITE(iob_p6_r, iob_p6_w)
@@ -3189,7 +3198,7 @@ READ8_MEMBER(namcos23_state::iob_gun_r)
return 0;
}
-static ADDRESS_MAP_START( timecrs2iobrdmap, AS_PROGRAM, 16, namcos23_state )
+ADDRESS_MAP_START(namcos23_state::timecrs2iobrdmap)
AM_IMPORT_FROM( s23iobrdmap )
AM_RANGE(0x7000, 0x700f) AM_READ8(iob_gun_r, 0xffff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/namcos86.cpp b/src/mame/drivers/namcos86.cpp
index f25b4a36c81..11281e64d9d 100644
--- a/src/mame/drivers/namcos86.cpp
+++ b/src/mame/drivers/namcos86.cpp
@@ -333,7 +333,7 @@ void namcos86_state::machine_start()
}
-static ADDRESS_MAP_START( cpu1_map, AS_PROGRAM, 8, namcos86_state )
+ADDRESS_MAP_START(namcos86_state::cpu1_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_WRITE(videoram1_w) AM_SHARE("videoram1")
AM_RANGE(0x2000, 0x3fff) AM_RAM AM_WRITE(videoram2_w) AM_SHARE("videoram2")
@@ -365,13 +365,13 @@ ADDRESS_MAP_END
// skykiddx and hopmappy cpu2 programs do nothing but sit in a loop resetting the watchdog
// shared RAM is presumably mapped somewhere, but it's impossible to infer from program behaviour
-static ADDRESS_MAP_START( hopmappy_cpu2_map, AS_PROGRAM, 8, namcos86_state )
+ADDRESS_MAP_START(namcos86_state::hopmappy_cpu2_map)
AM_RANGE(0x8000, 0xffff) AM_ROM
AM_RANGE(0x9000, 0x9000) AM_WRITE(watchdog2_w)
AM_RANGE(0x9400, 0x9400) AM_WRITE(int_ack2_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( roishtar_cpu2_map, AS_PROGRAM, 8, namcos86_state )
+ADDRESS_MAP_START(namcos86_state::roishtar_cpu2_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM_WRITE(spriteram_w) AM_SHARE("spriteram")
AM_RANGE(0x4000, 0x5fff) AM_RAM_WRITE(videoram2_w) AM_SHARE("videoram2")
AM_RANGE(0x6000, 0x7fff) AM_RAM_WRITE(videoram1_w) AM_SHARE("videoram1")
@@ -380,7 +380,7 @@ static ADDRESS_MAP_START( roishtar_cpu2_map, AS_PROGRAM, 8, namcos86_state )
AM_RANGE(0xb000, 0xb000) AM_WRITE(int_ack2_w) // IRQ acknowledge
ADDRESS_MAP_END
-static ADDRESS_MAP_START( genpeitd_cpu2_map, AS_PROGRAM, 8, namcos86_state )
+ADDRESS_MAP_START(namcos86_state::genpeitd_cpu2_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM_WRITE(videoram1_w) AM_SHARE("videoram1")
AM_RANGE(0x2000, 0x3fff) AM_RAM_WRITE(videoram2_w) AM_SHARE("videoram2")
AM_RANGE(0x4000, 0x5fff) AM_RAM_WRITE(spriteram_w) AM_SHARE("spriteram")
@@ -389,7 +389,7 @@ static ADDRESS_MAP_START( genpeitd_cpu2_map, AS_PROGRAM, 8, namcos86_state )
AM_RANGE(0x8800, 0x8800) AM_WRITE(int_ack2_w) // IRQ acknowledge
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rthunder_cpu2_map, AS_PROGRAM, 8, namcos86_state )
+ADDRESS_MAP_START(namcos86_state::rthunder_cpu2_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM_WRITE(spriteram_w) AM_SHARE("spriteram")
AM_RANGE(0x2000, 0x3fff) AM_RAM_WRITE(videoram1_w) AM_SHARE("videoram1")
AM_RANGE(0x4000, 0x5fff) AM_RAM_WRITE(videoram2_w) AM_SHARE("videoram2")
@@ -402,7 +402,7 @@ static ADDRESS_MAP_START( rthunder_cpu2_map, AS_PROGRAM, 8, namcos86_state )
// { 0xd804, 0xd806 } layer 3 scroll registers would be here
ADDRESS_MAP_END
-static ADDRESS_MAP_START( wndrmomo_cpu2_map, AS_PROGRAM, 8, namcos86_state )
+ADDRESS_MAP_START(namcos86_state::wndrmomo_cpu2_map)
AM_RANGE(0x2000, 0x3fff) AM_RAM_WRITE(spriteram_w) AM_SHARE("spriteram")
AM_RANGE(0x4000, 0x5fff) AM_RAM_WRITE(videoram1_w) AM_SHARE("videoram1")
AM_RANGE(0x6000, 0x7fff) AM_RAM_WRITE(videoram2_w) AM_SHARE("videoram2")
@@ -412,7 +412,7 @@ static ADDRESS_MAP_START( wndrmomo_cpu2_map, AS_PROGRAM, 8, namcos86_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( common_mcu_map, AS_PROGRAM, 8, namcos86_state )
+ADDRESS_MAP_START(namcos86_state::common_mcu_map)
AM_RANGE(0x0000, 0x001f) AM_DEVREADWRITE("mcu", hd63701_cpu_device, m6801_io_r,m6801_io_w)
AM_RANGE(0x0080, 0x00ff) AM_RAM
AM_RANGE(0x1000, 0x13ff) AM_DEVREADWRITE("namco", namco_cus30_device, namcos1_cus30_r, namcos1_cus30_w)
@@ -421,7 +421,7 @@ static ADDRESS_MAP_START( common_mcu_map, AS_PROGRAM, 8, namcos86_state )
AM_RANGE(0xf000, 0xffff) AM_ROM // internal ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hopmappy_mcu_map, AS_PROGRAM, 8, namcos86_state )
+ADDRESS_MAP_START(namcos86_state::hopmappy_mcu_map)
AM_IMPORT_FROM(common_mcu_map)
AM_RANGE(0x2000, 0x2001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0x2020, 0x2020) AM_READ_PORT("IN0")
@@ -432,7 +432,7 @@ static ADDRESS_MAP_START( hopmappy_mcu_map, AS_PROGRAM, 8, namcos86_state )
AM_RANGE(0x8800, 0x8800) AM_WRITENOP // ??? written (not always) at end of interrupt
ADDRESS_MAP_END
-static ADDRESS_MAP_START( roishtar_mcu_map, AS_PROGRAM, 8, namcos86_state )
+ADDRESS_MAP_START(namcos86_state::roishtar_mcu_map)
AM_IMPORT_FROM(common_mcu_map)
AM_RANGE(0x2000, 0x3fff) AM_ROM
AM_RANGE(0x6000, 0x6001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
@@ -445,7 +445,7 @@ static ADDRESS_MAP_START( roishtar_mcu_map, AS_PROGRAM, 8, namcos86_state )
ADDRESS_MAP_END
// are these three actually different, or are the I/O ports simply mirrored from 0x2000-0x3fff?
-static ADDRESS_MAP_START( genpeitd_mcu_map, AS_PROGRAM, 8, namcos86_state )
+ADDRESS_MAP_START(namcos86_state::genpeitd_mcu_map)
AM_IMPORT_FROM(common_mcu_map)
AM_RANGE(0x2800, 0x2801) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0x2820, 0x2820) AM_READ_PORT("IN0")
@@ -457,7 +457,7 @@ static ADDRESS_MAP_START( genpeitd_mcu_map, AS_PROGRAM, 8, namcos86_state )
AM_RANGE(0xa800, 0xa800) AM_WRITENOP // ??? written (not always) at end of interrupt
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rthunder_mcu_map, AS_PROGRAM, 8, namcos86_state )
+ADDRESS_MAP_START(namcos86_state::rthunder_mcu_map)
AM_IMPORT_FROM(common_mcu_map)
AM_RANGE(0x2000, 0x2001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0x2020, 0x2020) AM_READ_PORT("IN0")
@@ -469,7 +469,7 @@ static ADDRESS_MAP_START( rthunder_mcu_map, AS_PROGRAM, 8, namcos86_state )
AM_RANGE(0xb800, 0xb800) AM_WRITENOP // ??? written (not always) at end of interrupt
ADDRESS_MAP_END
-static ADDRESS_MAP_START( wndrmomo_mcu_map, AS_PROGRAM, 8, namcos86_state )
+ADDRESS_MAP_START(namcos86_state::wndrmomo_mcu_map)
AM_IMPORT_FROM(common_mcu_map)
AM_RANGE(0x3800, 0x3801) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0x3820, 0x3820) AM_READ_PORT("IN0")
@@ -487,7 +487,7 @@ READ8_MEMBER(namcos86_state::readFF)
return 0xff;
}
-static ADDRESS_MAP_START( mcu_port_map, AS_IO, 8, namcos86_state )
+ADDRESS_MAP_START(namcos86_state::mcu_port_map)
AM_RANGE(M6801_PORT1, M6801_PORT1) AM_READ_PORT("IN2")
AM_RANGE(M6801_PORT2, M6801_PORT2) AM_READ(readFF) /* leds won't work otherwise */
AM_RANGE(M6801_PORT1, M6801_PORT1) AM_WRITE(coin_w)
diff --git a/src/mame/drivers/nanos.cpp b/src/mame/drivers/nanos.cpp
index 754b47332ca..0ecd4600eec 100644
--- a/src/mame/drivers/nanos.cpp
+++ b/src/mame/drivers/nanos.cpp
@@ -62,6 +62,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void nanos(machine_config &config);
+ void nanos_io(address_map &map);
+ void nanos_mem(address_map &map);
private:
uint8_t m_key_command;
uint8_t m_last_code;
@@ -91,7 +93,7 @@ private:
-static ADDRESS_MAP_START(nanos_mem, AS_PROGRAM, 8, nanos_state)
+ADDRESS_MAP_START(nanos_state::nanos_mem)
AM_RANGE( 0x0000, 0x0fff ) AM_READ_BANK("bank1") AM_WRITE_BANK("bank3")
AM_RANGE( 0x1000, 0xffff ) AM_RAMBANK("bank2")
ADDRESS_MAP_END
@@ -137,7 +139,7 @@ static const z80_daisy_config nanos_daisy_chain[] =
{ nullptr }
};
-static ADDRESS_MAP_START( nanos_io , AS_IO, 8, nanos_state)
+ADDRESS_MAP_START(nanos_state::nanos_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
/* CPU card */
diff --git a/src/mame/drivers/naomi.cpp b/src/mame/drivers/naomi.cpp
index 635d62ee305..18b9d556fdb 100644
--- a/src/mame/drivers/naomi.cpp
+++ b/src/mame/drivers/naomi.cpp
@@ -1694,7 +1694,7 @@ WRITE64_MEMBER(naomi_state::eeprom_93c46a_w )
* Naomi 1 address map
*/
-static ADDRESS_MAP_START( naomi_map, AS_PROGRAM, 64, naomi_state )
+ADDRESS_MAP_START(naomi_state::naomi_map)
/* Area 0 */
AM_RANGE(0x00000000, 0x001fffff) AM_MIRROR(0xa2000000) AM_ROM AM_REGION("maincpu", 0) AM_SHARE("rombase") // BIOS
@@ -1754,7 +1754,7 @@ WRITE32_MEMBER(naomi2_state::both_pvr2_ta_w)
space.write_dword(0x025f8000|offset*4,data,mem_mask);
}
-static ADDRESS_MAP_START( naomi2_map, AS_PROGRAM, 64, naomi2_state )
+ADDRESS_MAP_START(naomi2_state::naomi2_map)
/* Area 0 */
AM_RANGE(0x00000000, 0x001fffff) AM_MIRROR(0xa2000000) AM_ROM AM_REGION("maincpu", 0) AM_SHARE("rombase") // BIOS
@@ -1815,7 +1815,7 @@ static ADDRESS_MAP_START( naomi2_map, AS_PROGRAM, 64, naomi2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( naomi_port, AS_IO, 64, naomi_state )
+ADDRESS_MAP_START(naomi_state::naomi_port)
AM_RANGE(0x00, 0x0f) AM_READWRITE(eeprom_93c46a_r, eeprom_93c46a_w)
ADDRESS_MAP_END
@@ -1929,7 +1929,7 @@ WRITE64_MEMBER(atomiswave_state::aw_modem_w )
osd_printf_verbose("%s",string_format("MODEM: [%08x=%x] write %x to %x, mask %x\n", 0x600000+reg*4, dat, data, offset, mem_mask).c_str());
}
-static ADDRESS_MAP_START( aw_map, AS_PROGRAM, 64, atomiswave_state )
+ADDRESS_MAP_START(atomiswave_state::aw_map)
/* Area 0 */
AM_RANGE(0x00000000, 0x0001ffff) AM_READWRITE(aw_flash_r, aw_flash_w ) AM_REGION("awflash", 0)
AM_RANGE(0xa0000000, 0xa001ffff) AM_READWRITE(aw_flash_r, aw_flash_w ) AM_REGION("awflash", 0)
@@ -1984,11 +1984,11 @@ static ADDRESS_MAP_START( aw_map, AS_PROGRAM, 64, atomiswave_state )
//AM_RANGE(0x1c000000, 0x1fffffff) AM_NOP // SH4 Internal
ADDRESS_MAP_END
-static ADDRESS_MAP_START( aw_port, AS_IO, 64, atomiswave_state )
+ADDRESS_MAP_START(atomiswave_state::aw_port)
// ???
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dc_audio_map, AS_PROGRAM, 32, dc_state )
+ADDRESS_MAP_START(dc_state::dc_audio_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000000, 0x007fffff) AM_RAM AM_SHARE("dc_sound_ram") /* shared with SH-4 */
AM_RANGE(0x00800000, 0x00807fff) AM_READWRITE(dc_arm_aica_r, dc_arm_aica_w)
@@ -2698,8 +2698,6 @@ MACHINE_CONFIG_START(dc_state::naomi_aw_base)
MCFG_SH4_MD7(1)
MCFG_SH4_MD8(0)
MCFG_SH4_CLOCK(CPU_CLOCK)
- MCFG_CPU_PROGRAM_MAP(naomi_map)
- MCFG_CPU_IO_MAP(naomi_port)
MCFG_CPU_FORCE_NO_DRC()
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", dc_state, dc_scanline, "screen", 0, 1)
@@ -2731,6 +2729,10 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(naomi_state::naomi_base)
MCFG_FRAGMENT_ADD( naomi_aw_base )
+ MCFG_CPU_MODIFY("maincpu")
+ MCFG_CPU_PROGRAM_MAP(naomi_map)
+ MCFG_CPU_IO_MAP(naomi_port)
+
MCFG_EEPROM_SERIAL_93C46_ADD("main_eeprom")
MCFG_EEPROM_SERIAL_DEFAULT_VALUE(0)
@@ -2796,6 +2798,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED((naomi2_state::naomi2, naomi)
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(naomi2_map)
+ MCFG_CPU_IO_MAP(naomi_port)
MACHINE_CONFIG_END
*/
/*
diff --git a/src/mame/drivers/nascom1.cpp b/src/mame/drivers/nascom1.cpp
index 4d8229ba101..c8d1ab715c0 100644
--- a/src/mame/drivers/nascom1.cpp
+++ b/src/mame/drivers/nascom1.cpp
@@ -85,7 +85,7 @@ public:
DECLARE_DEVICE_IMAGE_UNLOAD_MEMBER( nascom1_cassette );
DECLARE_SNAPSHOT_LOAD_MEMBER( nascom1 );
- void nascom1(machine_config &config);
+ void nascom(machine_config &config);
protected:
virtual void machine_reset() override;
@@ -101,6 +101,10 @@ public:
{ }
uint32_t screen_update_nascom(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+
+ void nascom1(machine_config &config);
+ void nascom1_io(address_map &map);
+ void nascom1_mem(address_map &map);
private:
};
@@ -127,6 +131,9 @@ public:
void nascom2(machine_config &config);
void nascom2c(machine_config &config);
+ void nascom2_io(address_map &map);
+ void nascom2_mem(address_map &map);
+ void nascom2c_mem(address_map &map);
protected:
virtual void machine_reset() override;
@@ -466,13 +473,13 @@ void nascom_state::screen_update(bitmap_ind16 &bitmap, const rectangle &cliprect
// ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( nascom1_mem, AS_PROGRAM, 8, nascom1_state )
+ADDRESS_MAP_START(nascom1_state::nascom1_mem)
AM_RANGE(0x0000, 0x07ff) AM_ROM // MONITOR
AM_RANGE(0x0800, 0x0bff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x0c00, 0x0fff) AM_RAM // WRAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nascom1_io, AS_IO, 8, nascom1_state )
+ADDRESS_MAP_START(nascom1_state::nascom1_io)
ADDRESS_MAP_GLOBAL_MASK(0x0f)
AM_RANGE(0x00, 0x00) AM_READWRITE(nascom1_port_00_r, nascom1_port_00_w)
AM_RANGE(0x01, 0x01) AM_READWRITE(nascom1_port_01_r, nascom1_port_01_w)
@@ -480,14 +487,14 @@ static ADDRESS_MAP_START( nascom1_io, AS_IO, 8, nascom1_state )
AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("z80pio", z80pio_device, read, write )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nascom2_mem, AS_PROGRAM, 8, nascom2_state )
+ADDRESS_MAP_START(nascom2_state::nascom2_mem)
AM_RANGE(0x0000, 0x07ff) AM_ROM // MONITOR
AM_RANGE(0x0800, 0x0bff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x0c00, 0x0fff) AM_RAM // WRAM
AM_RANGE(0xe000, 0xffff) AM_ROM AM_REGION("basic", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nascom2_io, AS_IO, 8, nascom2_state )
+ADDRESS_MAP_START(nascom2_state::nascom2_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READWRITE(nascom1_port_00_r, nascom1_port_00_w)
AM_RANGE(0x01, 0x01) AM_READWRITE(nascom1_port_01_r, nascom1_port_01_w)
@@ -495,7 +502,7 @@ static ADDRESS_MAP_START( nascom2_io, AS_IO, 8, nascom2_state )
AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("z80pio", z80pio_device, read, write )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nascom2c_mem, AS_PROGRAM, 8, nascom2_state )
+ADDRESS_MAP_START(nascom2_state::nascom2c_mem)
AM_RANGE(0xf000, 0xf7ff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0xf800, 0xfbff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0xfc00, 0xffff) AM_RAM // WRAM
@@ -646,12 +653,7 @@ INPUT_PORTS_END
// MACHINE DRIVERS
//**************************************************************************
-MACHINE_CONFIG_START(nascom_state::nascom1)
- // main cpu
- MCFG_CPU_ADD("maincpu", Z80, XTAL(16'000'000) / 8)
- MCFG_CPU_PROGRAM_MAP(nascom1_mem)
- MCFG_CPU_IO_MAP(nascom1_io)
-
+MACHINE_CONFIG_START(nascom_state::nascom)
// video hardware
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
@@ -686,8 +688,14 @@ MACHINE_CONFIG_START(nascom_state::nascom1)
MCFG_SNAPSHOT_ADD("snapshot", nascom_state, nascom1, "nas", 0.5)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nascom2_state::nascom2, nascom1)
- MCFG_CPU_REPLACE("maincpu", Z80, XTAL(16'000'000) / 4)
+MACHINE_CONFIG_DERIVED(nascom1_state::nascom1, nascom)
+ MCFG_CPU_ADD("maincpu", Z80, XTAL(16'000'000) / 8)
+ MCFG_CPU_PROGRAM_MAP(nascom1_mem)
+ MCFG_CPU_IO_MAP(nascom1_io)
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_DERIVED(nascom2_state::nascom2, nascom)
+ MCFG_CPU_ADD("maincpu", Z80, XTAL(16'000'000) / 4)
MCFG_CPU_PROGRAM_MAP(nascom2_mem)
MCFG_CPU_IO_MAP(nascom2_io)
diff --git a/src/mame/drivers/naughtyb.cpp b/src/mame/drivers/naughtyb.cpp
index f7a6562eaa9..a2f73212fc0 100644
--- a/src/mame/drivers/naughtyb.cpp
+++ b/src/mame/drivers/naughtyb.cpp
@@ -246,7 +246,7 @@ WRITE8_MEMBER(naughtyb_state::popflame_protection_w)
-static ADDRESS_MAP_START( naughtyb_map, AS_PROGRAM, 8, naughtyb_state )
+ADDRESS_MAP_START(naughtyb_state::naughtyb_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("videoram")
@@ -259,7 +259,7 @@ static ADDRESS_MAP_START( naughtyb_map, AS_PROGRAM, 8, naughtyb_state )
AM_RANGE(0xb800, 0xbfff) AM_READ(dsw0_port_r) // DSW0
ADDRESS_MAP_END
-static ADDRESS_MAP_START( popflame_map, AS_PROGRAM, 8, naughtyb_state )
+ADDRESS_MAP_START(naughtyb_state::popflame_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("videoram")
diff --git a/src/mame/drivers/nbmj8688.cpp b/src/mame/drivers/nbmj8688.cpp
index 166b0d414c4..1bf1232d414 100644
--- a/src/mame/drivers/nbmj8688.cpp
+++ b/src/mame/drivers/nbmj8688.cpp
@@ -121,17 +121,17 @@ DRIVER_INIT_MEMBER(nbmj8688_state,kaguya2)
}
-static ADDRESS_MAP_START( mjsikaku_map, AS_PROGRAM, 8, nbmj8688_state )
+ADDRESS_MAP_START(nbmj8688_state::mjsikaku_map)
AM_RANGE(0x0000, 0xf7ff) AM_ROM
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( secolove_map, AS_PROGRAM, 8, nbmj8688_state )
+ADDRESS_MAP_START(nbmj8688_state::secolove_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ojousan_map, AS_PROGRAM, 8, nbmj8688_state )
+ADDRESS_MAP_START(nbmj8688_state::ojousan_map)
AM_RANGE(0x0000, 0x6fff) AM_ROM
AM_RANGE(0x7000, 0x7fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x8000, 0xffff) AM_ROM
@@ -146,7 +146,7 @@ READ8_MEMBER(nbmj8688_state::ff_r)
return 0xff;
}
-static ADDRESS_MAP_START( secolove_io_map, AS_IO, 8, nbmj8688_state )
+ADDRESS_MAP_START(nbmj8688_state::secolove_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
@@ -171,7 +171,7 @@ WRITE8_MEMBER(nbmj8688_state::barline_output_w)
machine().bookkeeping().coin_counter_w(0,data & 0x02);
}
-static ADDRESS_MAP_START( barline_io_map, AS_IO, 8, nbmj8688_state )
+ADDRESS_MAP_START(nbmj8688_state::barline_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
// AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, sndrombank1_w)
@@ -189,7 +189,7 @@ static ADDRESS_MAP_START( barline_io_map, AS_IO, 8, nbmj8688_state )
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( crystalg_io_map, AS_IO, 8, nbmj8688_state )
+ADDRESS_MAP_START(nbmj8688_state::crystalg_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
@@ -209,7 +209,7 @@ static ADDRESS_MAP_START( crystalg_io_map, AS_IO, 8, nbmj8688_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( otonano_io_map, AS_IO, 8, nbmj8688_state )
+ADDRESS_MAP_START(nbmj8688_state::otonano_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
@@ -228,7 +228,7 @@ static ADDRESS_MAP_START( otonano_io_map, AS_IO, 8, nbmj8688_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kaguya_io_map, AS_IO, 8, nbmj8688_state )
+ADDRESS_MAP_START(nbmj8688_state::kaguya_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
@@ -248,7 +248,7 @@ static ADDRESS_MAP_START( kaguya_io_map, AS_IO, 8, nbmj8688_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( iemoto_io_map, AS_IO, 8, nbmj8688_state )
+ADDRESS_MAP_START(nbmj8688_state::iemoto_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
@@ -270,7 +270,7 @@ static ADDRESS_MAP_START( iemoto_io_map, AS_IO, 8, nbmj8688_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( seiha_io_map, AS_IO, 8, nbmj8688_state )
+ADDRESS_MAP_START(nbmj8688_state::seiha_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
@@ -291,7 +291,7 @@ static ADDRESS_MAP_START( seiha_io_map, AS_IO, 8, nbmj8688_state )
AM_RANGE(0xf0, 0xf0) AM_WRITE(scrolly_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjgaiden_io_map, AS_IO, 8, nbmj8688_state )
+ADDRESS_MAP_START(nbmj8688_state::mjgaiden_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
@@ -311,7 +311,7 @@ static ADDRESS_MAP_START( mjgaiden_io_map, AS_IO, 8, nbmj8688_state )
AM_RANGE(0xf0, 0xf0) AM_WRITE(scrolly_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( p16bit_LCD_io_map, AS_IO, 8, nbmj8688_state )
+ADDRESS_MAP_START(nbmj8688_state::p16bit_LCD_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
@@ -337,7 +337,7 @@ static ADDRESS_MAP_START( p16bit_LCD_io_map, AS_IO, 8, nbmj8688_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjsikaku_io_map, AS_IO, 8, nbmj8688_state )
+ADDRESS_MAP_START(nbmj8688_state::mjsikaku_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
@@ -358,7 +358,7 @@ static ADDRESS_MAP_START( mjsikaku_io_map, AS_IO, 8, nbmj8688_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mmsikaku_io_map, AS_IO, 8, nbmj8688_state )
+ADDRESS_MAP_START(nbmj8688_state::mmsikaku_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
diff --git a/src/mame/drivers/nbmj8891.cpp b/src/mame/drivers/nbmj8891.cpp
index ba1af9917e8..9c89125c121 100644
--- a/src/mame/drivers/nbmj8891.cpp
+++ b/src/mame/drivers/nbmj8891.cpp
@@ -227,82 +227,82 @@ DRIVER_INIT_MEMBER(nbmj8891_state,pairsten)
}
}
-static ADDRESS_MAP_START( gionbana_map, AS_PROGRAM, 8, nbmj8891_state )
+ADDRESS_MAP_START(nbmj8891_state::gionbana_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf00f) AM_READWRITE(clut_r, clut_w)
AM_RANGE(0xf400, 0xf5ff) AM_READWRITE(palette_type1_r, palette_type1_w)
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mgion_map, AS_PROGRAM, 8, nbmj8891_state )
+ADDRESS_MAP_START(nbmj8891_state::mgion_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf1ff) AM_READWRITE(palette_type1_r, palette_type1_w)
AM_RANGE(0xf400, 0xf40f) AM_READWRITE(clut_r, clut_w)
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( omotesnd_map, AS_PROGRAM, 8, nbmj8891_state )
+ADDRESS_MAP_START(nbmj8891_state::omotesnd_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf400, 0xf5ff) AM_READWRITE(palette_type1_r, palette_type1_w)
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hanamomo_map, AS_PROGRAM, 8, nbmj8891_state )
+ADDRESS_MAP_START(nbmj8891_state::hanamomo_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf1ff) AM_READWRITE(palette_type1_r, palette_type1_w)
AM_RANGE(0xf400, 0xf40f) AM_READWRITE(clut_r, clut_w)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( scandalm_map, AS_PROGRAM, 8, nbmj8891_state )
+ADDRESS_MAP_START(nbmj8891_state::scandalm_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf400, 0xf5ff) AM_READWRITE(palette_type1_r, palette_type1_w)
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( club90s_map, AS_PROGRAM, 8, nbmj8891_state )
+ADDRESS_MAP_START(nbmj8891_state::club90s_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xf80f) AM_READWRITE(clut_r, clut_w)
AM_RANGE(0xfc00, 0xfdff) AM_READWRITE(palette_type1_r, palette_type1_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lovehous_map, AS_PROGRAM, 8, nbmj8891_state )
+ADDRESS_MAP_START(nbmj8891_state::lovehous_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf00f) AM_READWRITE(clut_r, clut_w)
AM_RANGE(0xf400, 0xf5ff) AM_READWRITE(palette_type2_r, palette_type2_w)
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( maiko_map, AS_PROGRAM, 8, nbmj8891_state )
+ADDRESS_MAP_START(nbmj8891_state::maiko_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf1ff) AM_READWRITE(palette_type2_r, palette_type2_w)
AM_RANGE(0xf400, 0xf40f) AM_READWRITE(clut_r, clut_w)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hnxmasev_map, AS_PROGRAM, 8, nbmj8891_state )
+ADDRESS_MAP_START(nbmj8891_state::hnxmasev_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf200, 0xf3ff) AM_READWRITE(palette_type2_r, palette_type2_w)
AM_RANGE(0xf700, 0xf70f) AM_READWRITE(clut_r, clut_w)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hnageman_map, AS_PROGRAM, 8, nbmj8891_state )
+ADDRESS_MAP_START(nbmj8891_state::hnageman_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf00f) AM_READWRITE(clut_r, clut_w)
AM_RANGE(0xf400, 0xf5ff) AM_READWRITE(palette_type2_r, palette_type2_w)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mmaiko_map, AS_PROGRAM, 8, nbmj8891_state )
+ADDRESS_MAP_START(nbmj8891_state::mmaiko_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf1ff) AM_READWRITE(palette_type2_r, palette_type2_w)
AM_RANGE(0xf400, 0xf40f) AM_READWRITE(clut_r, clut_w)
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hanaoji_map, AS_PROGRAM, 8, nbmj8891_state )
+ADDRESS_MAP_START(nbmj8891_state::hanaoji_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf200, 0xf3ff) AM_READWRITE(palette_type2_r, palette_type2_w)
AM_RANGE(0xf700, 0xf70f) AM_READWRITE(clut_r, clut_w)
@@ -314,7 +314,7 @@ READ8_MEMBER(nbmj8891_state::taiwanmb_unk_r)
return 0x00; // MCU or 1413M3 STATUS?
}
-static ADDRESS_MAP_START( taiwanmb_map, AS_PROGRAM, 8, nbmj8891_state )
+ADDRESS_MAP_START(nbmj8891_state::taiwanmb_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xec00, 0xedff) AM_READWRITE(palette_type3_r, palette_type3_w)
AM_RANGE(0xf800, 0xfeff) AM_RAM AM_SHARE("nvram")
@@ -336,7 +336,7 @@ static ADDRESS_MAP_START( taiwanmb_map, AS_PROGRAM, 8, nbmj8891_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gionbana_io_map, AS_IO, 8, nbmj8891_state )
+ADDRESS_MAP_START(nbmj8891_state::gionbana_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
@@ -355,7 +355,7 @@ static ADDRESS_MAP_START( gionbana_io_map, AS_IO, 8, nbmj8891_state )
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mgion_io_map, AS_IO, 8, nbmj8891_state )
+ADDRESS_MAP_START(nbmj8891_state::mgion_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
@@ -374,7 +374,7 @@ static ADDRESS_MAP_START( mgion_io_map, AS_IO, 8, nbmj8891_state )
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( omotesnd_io_map, AS_IO, 8, nbmj8891_state )
+ADDRESS_MAP_START(nbmj8891_state::omotesnd_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
AM_RANGE(0x00, 0x07) AM_WRITE(blitter_w)
@@ -396,7 +396,7 @@ static ADDRESS_MAP_START( omotesnd_io_map, AS_IO, 8, nbmj8891_state )
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hanamomo_io_map, AS_IO, 8, nbmj8891_state )
+ADDRESS_MAP_START(nbmj8891_state::hanamomo_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
@@ -415,7 +415,7 @@ static ADDRESS_MAP_START( hanamomo_io_map, AS_IO, 8, nbmj8891_state )
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( msjiken_io_map, AS_IO, 8, nbmj8891_state )
+ADDRESS_MAP_START(nbmj8891_state::msjiken_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
@@ -434,7 +434,7 @@ static ADDRESS_MAP_START( msjiken_io_map, AS_IO, 8, nbmj8891_state )
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( scandal_io_map, AS_IO, 8, nbmj8891_state )
+ADDRESS_MAP_START(nbmj8891_state::scandal_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
AM_RANGE(0x40, 0x4f) AM_WRITE(clut_w)
@@ -453,7 +453,7 @@ static ADDRESS_MAP_START( scandal_io_map, AS_IO, 8, nbmj8891_state )
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( scandalm_io_map, AS_IO, 8, nbmj8891_state )
+ADDRESS_MAP_START(nbmj8891_state::scandalm_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
AM_RANGE(0x00, 0x07) AM_WRITE(blitter_w)
@@ -473,7 +473,7 @@ static ADDRESS_MAP_START( scandalm_io_map, AS_IO, 8, nbmj8891_state )
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bananadr_io_map, AS_IO, 8, nbmj8891_state )
+ADDRESS_MAP_START(nbmj8891_state::bananadr_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
AM_RANGE(0x00, 0x07) AM_WRITE(blitter_w)
@@ -493,7 +493,7 @@ static ADDRESS_MAP_START( bananadr_io_map, AS_IO, 8, nbmj8891_state )
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lovehous_io_map, AS_IO, 8, nbmj8891_state )
+ADDRESS_MAP_START(nbmj8891_state::lovehous_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
@@ -512,7 +512,7 @@ static ADDRESS_MAP_START( lovehous_io_map, AS_IO, 8, nbmj8891_state )
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( maiko_io_map, AS_IO, 8, nbmj8891_state )
+ADDRESS_MAP_START(nbmj8891_state::maiko_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
@@ -531,7 +531,7 @@ static ADDRESS_MAP_START( maiko_io_map, AS_IO, 8, nbmj8891_state )
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( taiwanmb_io_map, AS_IO, 8, nbmj8891_state )
+ADDRESS_MAP_START(nbmj8891_state::taiwanmb_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
AM_RANGE(0x81, 0x81) AM_DEVREAD("fmsnd", ay8910_device, data_r)
diff --git a/src/mame/drivers/nbmj8900.cpp b/src/mame/drivers/nbmj8900.cpp
index 7570ff8c7c2..64cb4c1002f 100644
--- a/src/mame/drivers/nbmj8900.cpp
+++ b/src/mame/drivers/nbmj8900.cpp
@@ -93,21 +93,21 @@ DRIVER_INIT_MEMBER(nbmj8900_state,togenkyo)
}
-static ADDRESS_MAP_START( ohpaipee_map, AS_PROGRAM, 8, nbmj8900_state )
+ADDRESS_MAP_START(nbmj8900_state::ohpaipee_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf00f) AM_READWRITE(clut_r, clut_w)
AM_RANGE(0xf400, 0xf5ff) AM_READWRITE(palette_type1_r, palette_type1_w)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( togenkyo_map, AS_PROGRAM, 8, nbmj8900_state )
+ADDRESS_MAP_START(nbmj8900_state::togenkyo_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf00f) AM_READWRITE(clut_r, clut_w)
AM_RANGE(0xf400, 0xf5ff) AM_READWRITE(palette_type1_r, palette_type1_w)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ohpaipee_io_map, AS_IO, 8, nbmj8900_state )
+ADDRESS_MAP_START(nbmj8900_state::ohpaipee_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("nb1413m3", nb1413m3_device, nmi_clock_w)
diff --git a/src/mame/drivers/nbmj8991.cpp b/src/mame/drivers/nbmj8991.cpp
index c9e1833e018..a103908169f 100644
--- a/src/mame/drivers/nbmj8991.cpp
+++ b/src/mame/drivers/nbmj8991.cpp
@@ -96,70 +96,70 @@ DRIVER_INIT_MEMBER(nbmj8991_state,tokimbsj)
}
-static ADDRESS_MAP_START( pstadium_map, AS_PROGRAM, 8, nbmj8991_state )
+ADDRESS_MAP_START(nbmj8991_state::pstadium_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf00f) AM_READWRITE(clut_r,clut_w)
AM_RANGE(0xf200, 0xf3ff) AM_RAM_WRITE(palette_type3_w) AM_SHARE("paletteram")
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram") // finalbny
ADDRESS_MAP_END
-static ADDRESS_MAP_START( triplew1_map, AS_PROGRAM, 8, nbmj8991_state )
+ADDRESS_MAP_START(nbmj8991_state::triplew1_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE(palette_type3_w) AM_SHARE("paletteram")
AM_RANGE(0xf200, 0xf20f) AM_READWRITE(clut_r,clut_w)
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram") // mjgottub
ADDRESS_MAP_END
-static ADDRESS_MAP_START( triplew2_map, AS_PROGRAM, 8, nbmj8991_state )
+ADDRESS_MAP_START(nbmj8991_state::triplew2_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE(palette_type3_w) AM_SHARE("paletteram")
AM_RANGE(0xf400, 0xf40f) AM_READWRITE(clut_r,clut_w)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjlstory_map, AS_PROGRAM, 8, nbmj8991_state )
+ADDRESS_MAP_START(nbmj8991_state::mjlstory_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf200, 0xf3ff) AM_RAM_WRITE(palette_type3_w) AM_SHARE("paletteram")
AM_RANGE(0xf700, 0xf70f) AM_READWRITE(clut_r,clut_w)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( galkoku_map, AS_PROGRAM, 8, nbmj8991_state )
+ADDRESS_MAP_START(nbmj8991_state::galkoku_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf00f) AM_READWRITE(clut_r,clut_w)
AM_RANGE(0xf400, 0xf5ff) AM_RAM_WRITE(palette_type1_w) AM_SHARE("paletteram")
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram") // hyouban
ADDRESS_MAP_END
-static ADDRESS_MAP_START( galkaika_map, AS_PROGRAM, 8, nbmj8991_state )
+ADDRESS_MAP_START(nbmj8991_state::galkaika_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf00f) AM_READWRITE(clut_r,clut_w)
AM_RANGE(0xf400, 0xf5ff) AM_RAM_WRITE(palette_type2_w) AM_SHARE("paletteram")
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram") // tokimbsj
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tokyogal_map, AS_PROGRAM, 8, nbmj8991_state )
+ADDRESS_MAP_START(nbmj8991_state::tokyogal_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE(palette_type2_w) AM_SHARE("paletteram")
AM_RANGE(0xf400, 0xf40f) AM_READWRITE(clut_r,clut_w)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( av2mj1bb_map, AS_PROGRAM, 8, nbmj8991_state )
+ADDRESS_MAP_START(nbmj8991_state::av2mj1bb_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE(palette_type3_w) AM_SHARE("paletteram")
AM_RANGE(0xf500, 0xf50f) AM_READWRITE(clut_r,clut_w)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( av2mj2rg_map, AS_PROGRAM, 8, nbmj8991_state )
+ADDRESS_MAP_START(nbmj8991_state::av2mj2rg_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf00f) AM_READWRITE(clut_r,clut_w)
AM_RANGE(0xf200, 0xf3ff) AM_RAM_WRITE(palette_type3_w) AM_SHARE("paletteram")
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( galkoku_io_map, AS_IO, 8, nbmj8991_state )
+ADDRESS_MAP_START(nbmj8991_state::galkoku_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r) AM_WRITE(blitter_w)
AM_RANGE(0x80, 0x81) AM_DEVWRITE("fmsnd", ym3812_device, write)
@@ -173,7 +173,7 @@ static ADDRESS_MAP_START( galkoku_io_map, AS_IO, 8, nbmj8991_state )
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hyouban_io_map, AS_IO, 8, nbmj8991_state )
+ADDRESS_MAP_START(nbmj8991_state::hyouban_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r) AM_WRITE(blitter_w)
AM_RANGE(0x81, 0x81) AM_DEVREAD("fmsnd", ay8910_device, data_r)
@@ -188,7 +188,7 @@ static ADDRESS_MAP_START( hyouban_io_map, AS_IO, 8, nbmj8991_state )
AM_RANGE(0xf1, 0xf1) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pstadium_io_map, AS_IO, 8, nbmj8991_state )
+ADDRESS_MAP_START(nbmj8991_state::pstadium_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x7f) AM_WRITE(blitter_w)
AM_RANGE(0x80, 0x80) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
@@ -201,7 +201,7 @@ static ADDRESS_MAP_START( pstadium_io_map, AS_IO, 8, nbmj8991_state )
AM_RANGE(0xf8, 0xf8) AM_DEVREAD("nb1413m3", nb1413m3_device, dipsw2_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( av2mj1bb_io_map, AS_IO, 8, nbmj8991_state )
+ADDRESS_MAP_START(nbmj8991_state::av2mj1bb_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x7f) AM_WRITE(blitter_w)
AM_RANGE(0x80, 0x80) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
@@ -216,13 +216,13 @@ static ADDRESS_MAP_START( av2mj1bb_io_map, AS_IO, 8, nbmj8991_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nbmj8991_sound_map, AS_PROGRAM, 8, nbmj8991_state )
+ADDRESS_MAP_START(nbmj8991_state::nbmj8991_sound_map)
AM_RANGE(0x0000, 0x77ff) AM_ROM
AM_RANGE(0x7800, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nbmj8991_sound_io_map, AS_IO, 8, nbmj8991_state )
+ADDRESS_MAP_START(nbmj8991_state::nbmj8991_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_DEVWRITE("dac1", dac_byte_interface, write)
AM_RANGE(0x02, 0x02) AM_DEVWRITE("dac2", dac_byte_interface, write)
diff --git a/src/mame/drivers/nbmj9195.cpp b/src/mame/drivers/nbmj9195.cpp
index 2741ef336bb..62655d87cbe 100644
--- a/src/mame/drivers/nbmj9195.cpp
+++ b/src/mame/drivers/nbmj9195.cpp
@@ -232,31 +232,31 @@ DRIVER_INIT_MEMBER(nbmj9195_state,nbmj9195)
}
-static ADDRESS_MAP_START( sailorws_map, AS_PROGRAM, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::sailorws_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE(palette_w) AM_SHARE("paletteram")
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjuraden_map, AS_PROGRAM, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::mjuraden_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf200, 0xf3ff) AM_RAM_WRITE(palette_w) AM_SHARE("paletteram")
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( koinomp_map, AS_PROGRAM, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::koinomp_map)
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xe1ff) AM_RAM_WRITE(palette_w) AM_SHARE("paletteram")
AM_RANGE(0xe800, 0xefff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ngpgal_map, AS_PROGRAM, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::ngpgal_map)
AM_RANGE(0x0000, 0xcfff) AM_ROM
AM_RANGE(0xd000, 0xd1ff) AM_RAM_WRITE(palette_w) AM_SHARE("paletteram")
AM_RANGE(0xd800, 0xdfff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mscoutm_map, AS_PROGRAM, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::mscoutm_map)
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xe5ff) AM_RAM
AM_RANGE(0xe600, 0xebff) AM_RAM_WRITE(nb22090_palette_w) AM_SHARE("paletteram")
@@ -264,7 +264,7 @@ static ADDRESS_MAP_START( mscoutm_map, AS_PROGRAM, 8, nbmj9195_state )
AM_RANGE(0xf200, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjegolf_map, AS_PROGRAM, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::mjegolf_map)
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xe5ff) AM_RAM_WRITE(nb22090_palette_w) AM_SHARE("paletteram")
AM_RANGE(0xe600, 0xebff) AM_RAM
@@ -272,7 +272,7 @@ static ADDRESS_MAP_START( mjegolf_map, AS_PROGRAM, 8, nbmj9195_state )
AM_RANGE(0xf200, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjuraden_io_map, AS_IO, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::mjuraden_io_map)
AM_RANGE(0x80, 0x81) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
AM_RANGE(0x80, 0x8f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
AM_RANGE(0x90, 0x9f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
@@ -283,7 +283,7 @@ static ADDRESS_MAP_START( mjuraden_io_map, AS_IO, 8, nbmj9195_state )
AM_RANGE(0xb6, 0xb6) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( koinomp_io_map, AS_IO, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::koinomp_io_map)
AM_RANGE(0x80, 0x81) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
AM_RANGE(0x80, 0x8f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
AM_RANGE(0x90, 0x9f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
@@ -299,7 +299,7 @@ static ADDRESS_MAP_START( koinomp_io_map, AS_IO, 8, nbmj9195_state )
AM_RANGE(0xcf, 0xcf) AM_MIRROR(0xff00) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( patimono_io_map, AS_IO, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::patimono_io_map)
AM_RANGE(0x80, 0x81) AM_MIRROR(0xff00) AM_READ(blitter_1_r)
AM_RANGE(0x80, 0x8f) AM_MIRROR(0xff00) AM_WRITE(blitter_1_w)
@@ -314,7 +314,7 @@ static ADDRESS_MAP_START( patimono_io_map, AS_IO, 8, nbmj9195_state )
AM_RANGE(0xd0, 0xdf) AM_MIRROR(0xff00) AM_WRITE(clut_1_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mmehyou_io_map, AS_IO, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::mmehyou_io_map)
AM_RANGE(0x80, 0x81) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
AM_RANGE(0x80, 0x8f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
AM_RANGE(0x90, 0x9f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
@@ -325,7 +325,7 @@ static ADDRESS_MAP_START( mmehyou_io_map, AS_IO, 8, nbmj9195_state )
AM_RANGE(0xb0, 0xb0) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gal10ren_io_map, AS_IO, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::gal10ren_io_map)
AM_RANGE(0x60, 0x61) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
AM_RANGE(0x60, 0x6f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
AM_RANGE(0x70, 0x7f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
@@ -340,7 +340,7 @@ static ADDRESS_MAP_START( gal10ren_io_map, AS_IO, 8, nbmj9195_state )
AM_RANGE(0xd8, 0xd8) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( renaiclb_io_map, AS_IO, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::renaiclb_io_map)
AM_RANGE(0x20, 0x20) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
AM_RANGE(0x24, 0x24) AM_MIRROR(0xff00) AM_WRITENOP
AM_RANGE(0x28, 0x28) AM_MIRROR(0xff00) AM_WRITENOP
@@ -355,7 +355,7 @@ static ADDRESS_MAP_START( renaiclb_io_map, AS_IO, 8, nbmj9195_state )
AM_RANGE(0xf0, 0xff) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjlaman_io_map, AS_IO, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::mjlaman_io_map)
AM_RANGE(0x20, 0x20) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
AM_RANGE(0x22, 0x22) AM_MIRROR(0xff00) AM_WRITENOP
AM_RANGE(0x24, 0x24) AM_MIRROR(0xff00) AM_WRITENOP
@@ -370,7 +370,7 @@ static ADDRESS_MAP_START( mjlaman_io_map, AS_IO, 8, nbmj9195_state )
AM_RANGE(0xf0, 0xff) AM_MIRROR(0xff00) AM_WRITE(clut_1_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mkeibaou_io_map, AS_IO, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::mkeibaou_io_map)
AM_RANGE(0x80, 0x81) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
AM_RANGE(0x80, 0x8f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
AM_RANGE(0x90, 0x9f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
@@ -385,7 +385,7 @@ static ADDRESS_MAP_START( mkeibaou_io_map, AS_IO, 8, nbmj9195_state )
AM_RANGE(0xde, 0xde) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pachiten_io_map, AS_IO, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::pachiten_io_map)
AM_RANGE(0x60, 0x61) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
AM_RANGE(0x60, 0x6f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
AM_RANGE(0x70, 0x7f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
@@ -400,7 +400,7 @@ static ADDRESS_MAP_START( pachiten_io_map, AS_IO, 8, nbmj9195_state )
AM_RANGE(0xe6, 0xe6) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sailorws_io_map, AS_IO, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::sailorws_io_map)
AM_RANGE(0x60, 0x61) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
AM_RANGE(0x60, 0x6f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
AM_RANGE(0x70, 0x7f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
@@ -415,7 +415,7 @@ static ADDRESS_MAP_START( sailorws_io_map, AS_IO, 8, nbmj9195_state )
AM_RANGE(0xf6, 0xf6) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sailorwr_io_map, AS_IO, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::sailorwr_io_map)
AM_RANGE(0x60, 0x61) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
AM_RANGE(0x60, 0x6f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
AM_RANGE(0x70, 0x7f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
@@ -430,7 +430,7 @@ static ADDRESS_MAP_START( sailorwr_io_map, AS_IO, 8, nbmj9195_state )
AM_RANGE(0xfe, 0xfe) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( psailor1_io_map, AS_IO, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::psailor1_io_map)
AM_RANGE(0x60, 0x61) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
AM_RANGE(0x60, 0x6f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
AM_RANGE(0x70, 0x7f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
@@ -445,7 +445,7 @@ static ADDRESS_MAP_START( psailor1_io_map, AS_IO, 8, nbmj9195_state )
AM_RANGE(0xf6, 0xf6) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( psailor2_io_map, AS_IO, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::psailor2_io_map)
AM_RANGE(0x60, 0x61) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
AM_RANGE(0x60, 0x6f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
AM_RANGE(0x70, 0x7f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
@@ -460,7 +460,7 @@ static ADDRESS_MAP_START( psailor2_io_map, AS_IO, 8, nbmj9195_state )
AM_RANGE(0xf6, 0xf6) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( otatidai_io_map, AS_IO, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::otatidai_io_map)
AM_RANGE(0x60, 0x61) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
AM_RANGE(0x60, 0x6f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
AM_RANGE(0x70, 0x7f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
@@ -475,7 +475,7 @@ static ADDRESS_MAP_START( otatidai_io_map, AS_IO, 8, nbmj9195_state )
AM_RANGE(0xb8, 0xb8) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( yosimoto_io_map, AS_IO, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::yosimoto_io_map)
AM_RANGE(0x60, 0x61) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
AM_RANGE(0x60, 0x6f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
AM_RANGE(0x70, 0x7f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
@@ -490,7 +490,7 @@ static ADDRESS_MAP_START( yosimoto_io_map, AS_IO, 8, nbmj9195_state )
AM_RANGE(0xd0, 0xdf) AM_MIRROR(0xff00) AM_WRITE(clut_1_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( yosimotm_io_map, AS_IO, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::yosimotm_io_map)
AM_RANGE(0x60, 0x61) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
AM_RANGE(0x60, 0x6f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
AM_RANGE(0x70, 0x7f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
@@ -505,7 +505,7 @@ static ADDRESS_MAP_START( yosimotm_io_map, AS_IO, 8, nbmj9195_state )
AM_RANGE(0xf8, 0xf8) AM_MIRROR(0xff00) AM_NOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jituroku_io_map, AS_IO, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::jituroku_io_map)
AM_RANGE(0x60, 0x61) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
AM_RANGE(0x60, 0x6f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
AM_RANGE(0x70, 0x7f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
@@ -520,7 +520,7 @@ static ADDRESS_MAP_START( jituroku_io_map, AS_IO, 8, nbmj9195_state )
AM_RANGE(0xf8, 0xf8) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ngpgal_io_map, AS_IO, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::ngpgal_io_map)
AM_RANGE(0xa0, 0xa0) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
AM_RANGE(0xa4, 0xa4) AM_MIRROR(0xff00) AM_WRITENOP
AM_RANGE(0xa8, 0xa8) AM_MIRROR(0xff00) AM_WRITENOP
@@ -531,7 +531,7 @@ static ADDRESS_MAP_START( ngpgal_io_map, AS_IO, 8, nbmj9195_state )
AM_RANGE(0xd0, 0xdf) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjgottsu_io_map, AS_IO, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::mjgottsu_io_map)
AM_RANGE(0x80, 0x81) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
AM_RANGE(0x80, 0x8f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
AM_RANGE(0x90, 0x9f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
@@ -542,7 +542,7 @@ static ADDRESS_MAP_START( mjgottsu_io_map, AS_IO, 8, nbmj9195_state )
AM_RANGE(0xb0, 0xb0) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cmehyou_io_map, AS_IO, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::cmehyou_io_map)
AM_RANGE(0xa0, 0xa0) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
AM_RANGE(0xa8, 0xa8) AM_MIRROR(0xff00) AM_WRITENOP
AM_RANGE(0xb0, 0xb0) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
@@ -553,7 +553,7 @@ static ADDRESS_MAP_START( cmehyou_io_map, AS_IO, 8, nbmj9195_state )
AM_RANGE(0xd0, 0xdf) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjkoiura_io_map, AS_IO, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::mjkoiura_io_map)
AM_RANGE(0x80, 0x81) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
AM_RANGE(0x80, 0x8f) AM_MIRROR(0xff00) AM_WRITE(blitter_0_w)
AM_RANGE(0x90, 0x9f) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
@@ -564,7 +564,7 @@ static ADDRESS_MAP_START( mjkoiura_io_map, AS_IO, 8, nbmj9195_state )
AM_RANGE(0xb0, 0xb0) AM_MIRROR(0xff00) AM_WRITE(inputportsel_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mkoiuraa_io_map, AS_IO, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::mkoiuraa_io_map)
AM_RANGE(0xa0, 0xa0) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
AM_RANGE(0xa4, 0xa4) AM_MIRROR(0xff00) AM_WRITENOP
AM_RANGE(0xa8, 0xa8) AM_MIRROR(0xff00) AM_WRITENOP
@@ -575,7 +575,7 @@ static ADDRESS_MAP_START( mkoiuraa_io_map, AS_IO, 8, nbmj9195_state )
AM_RANGE(0xd0, 0xdf) AM_MIRROR(0xff00) AM_WRITE(clut_0_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mscoutm_io_map, AS_IO, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::mscoutm_io_map)
AM_RANGE(0x80, 0x80) AM_MIRROR(0xff00) AM_READ(mscoutm_dipsw_1_r)
AM_RANGE(0x82, 0x82) AM_MIRROR(0xff00) AM_READ(mscoutm_dipsw_0_r)
AM_RANGE(0x84, 0x84) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
@@ -592,7 +592,7 @@ static ADDRESS_MAP_START( mscoutm_io_map, AS_IO, 8, nbmj9195_state )
AM_RANGE(0xf0, 0xff) AM_MIRROR(0xff00) AM_WRITE(clut_1_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( imekura_io_map, AS_IO, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::imekura_io_map)
AM_RANGE(0x80, 0x80) AM_MIRROR(0xff00) AM_READ(mscoutm_dipsw_1_r)
AM_RANGE(0x82, 0x82) AM_MIRROR(0xff00) AM_READ(mscoutm_dipsw_0_r)
AM_RANGE(0x84, 0x84) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
@@ -609,7 +609,7 @@ static ADDRESS_MAP_START( imekura_io_map, AS_IO, 8, nbmj9195_state )
AM_RANGE(0xf0, 0xff) AM_MIRROR(0xff00) AM_WRITE(clut_1_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjegolf_io_map, AS_IO, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::mjegolf_io_map)
AM_RANGE(0x80, 0x86) AM_MIRROR(0xff00) AM_WRITENOP // nb22090 param ?
AM_RANGE(0xa0, 0xa1) AM_MIRROR(0xff00) AM_READ(blitter_0_r)
@@ -628,13 +628,13 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( sailorws_sound_map, AS_PROGRAM, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::sailorws_sound_map)
AM_RANGE(0x0000, 0x77ff) AM_ROM
AM_RANGE(0x7800, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("soundbank")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sailorws_sound_io_map, AS_IO, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::sailorws_sound_io_map)
AM_RANGE(0x80, 0x81) AM_MIRROR(0xff00) AM_DEVWRITE("ymsnd", ym3812_device, write)
ADDRESS_MAP_END
@@ -645,14 +645,14 @@ ADDRESS_MAP_END
TODO: it probably doesn't belong in here. Both CPUs are certainly tmpz84c011 tho ...
*/
-static ADDRESS_MAP_START( shabdama_map, AS_PROGRAM, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::shabdama_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xe000, 0xe7ff) AM_RAM
// AM_RANGE(0xd000, 0xd1ff) AM_RAM_WRITE(palette_w) AM_SHARE("paletteram")
// AM_RANGE(0xd800, 0xdfff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( shabdama_io_map, AS_IO, 8, nbmj9195_state )
+ADDRESS_MAP_START(nbmj9195_state::shabdama_io_map)
// ADDRESS_MAP_UNMAP_HIGH
// AM_RANGE(0x60, 0x61) AM_READ(blitter_0_r)
// AM_RANGE(0x60, 0x6f) AM_WRITE(blitter_0_w)
diff --git a/src/mame/drivers/nc.cpp b/src/mame/drivers/nc.cpp
index 509644b78e0..f0bc3cccf6e 100644
--- a/src/mame/drivers/nc.cpp
+++ b/src/mame/drivers/nc.cpp
@@ -469,7 +469,7 @@ void nc_state::nc_common_init_machine()
m_uart_control = 0x0ff;
}
-static ADDRESS_MAP_START(nc_map, AS_PROGRAM, 8, nc_state )
+ADDRESS_MAP_START(nc_state::nc_map)
AM_RANGE(0x0000, 0x3fff) AM_READ_BANK("bank1") AM_WRITE_BANK("bank5")
AM_RANGE(0x4000, 0x7fff) AM_READ_BANK("bank2") AM_WRITE_BANK("bank6")
AM_RANGE(0x8000, 0xbfff) AM_READ_BANK("bank3") AM_WRITE_BANK("bank7")
@@ -857,7 +857,7 @@ WRITE8_MEMBER(nc_state::nc100_memory_card_wait_state_w)
-static ADDRESS_MAP_START(nc100_io, AS_IO, 8, nc_state )
+ADDRESS_MAP_START(nc_state::nc100_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x0f) AM_WRITE(nc100_display_memory_start_w)
@@ -1264,7 +1264,7 @@ WRITE8_MEMBER(nc_state::nc200_poweroff_control_w)
nc200_video_set_backlight(((data ^ (1 << 2)) >> 2) & 0x01);
}
-static ADDRESS_MAP_START(nc200_io, AS_IO, 8, nc_state )
+ADDRESS_MAP_START(nc_state::nc200_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x0f) AM_WRITE(nc100_display_memory_start_w)
AM_RANGE(0x10, 0x13) AM_READWRITE(nc_memory_management_r, nc_memory_management_w)
diff --git a/src/mame/drivers/nds.cpp b/src/mame/drivers/nds.cpp
index 54309aba8a7..cab0db4fcdb 100644
--- a/src/mame/drivers/nds.cpp
+++ b/src/mame/drivers/nds.cpp
@@ -582,7 +582,7 @@ WRITE32_MEMBER(nds_state::arm9_io_w)
}
}
-static ADDRESS_MAP_START( nds_arm7_map, AS_PROGRAM, 32, nds_state )
+ADDRESS_MAP_START(nds_state::nds_arm7_map)
AM_RANGE(0x00000000, 0x00003fff) AM_ROM AM_REGION("arm7", 0)
AM_RANGE(0x02000000, 0x023fffff) AM_RAM AM_MIRROR(0x00400000) AM_SHARE("mainram")
AM_RANGE(0x03000000, 0x03007fff) AM_MIRROR(0x007f8000) AM_DEVICE("nds7wram", address_map_bank_device, amap32)
@@ -590,7 +590,7 @@ static ADDRESS_MAP_START( nds_arm7_map, AS_PROGRAM, 32, nds_state )
AM_RANGE(0x04000000, 0x0410ffff) AM_READWRITE(arm7_io_r, arm7_io_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nds_arm9_map, AS_PROGRAM, 32, nds_state )
+ADDRESS_MAP_START(nds_state::nds_arm9_map)
AM_RANGE(0x02000000, 0x023fffff) AM_RAM AM_MIRROR(0x00400000) AM_SHARE("mainram")
AM_RANGE(0x03000000, 0x03007fff) AM_MIRROR(0x00ff8000) AM_DEVICE("nds9wram", address_map_bank_device, amap32)
AM_RANGE(0x04000000, 0x0410ffff) AM_READWRITE(arm9_io_r, arm9_io_w)
@@ -598,7 +598,7 @@ static ADDRESS_MAP_START( nds_arm9_map, AS_PROGRAM, 32, nds_state )
ADDRESS_MAP_END
// ARM7 views of WRAM
-static ADDRESS_MAP_START( nds7_wram_map, AS_PROGRAM, 32, nds_state )
+ADDRESS_MAP_START(nds_state::nds7_wram_map)
AM_RANGE(0x00000, 0x07fff) AM_READWRITE(wram_arm7mirror_r, wram_arm7mirror_w)
AM_RANGE(0x08000, 0x0bfff) AM_READWRITE(wram_first_half_r, wram_first_half_w)
AM_RANGE(0x0c000, 0x0ffff) AM_READWRITE(wram_first_half_r, wram_first_half_w)
@@ -608,7 +608,7 @@ static ADDRESS_MAP_START( nds7_wram_map, AS_PROGRAM, 32, nds_state )
ADDRESS_MAP_END
// ARM9 views of WRAM
-static ADDRESS_MAP_START( nds9_wram_map, AS_PROGRAM, 32, nds_state )
+ADDRESS_MAP_START(nds_state::nds9_wram_map)
AM_RANGE(0x00000, 0x07fff) AM_READWRITE(wram_first_half_r, wram_first_half_w)
AM_RANGE(0x08000, 0x0bfff) AM_READWRITE(wram_second_half_r, wram_second_half_w)
AM_RANGE(0x0c000, 0x0ffff) AM_READWRITE(wram_second_half_r, wram_second_half_w)
diff --git a/src/mame/drivers/nemesis.cpp b/src/mame/drivers/nemesis.cpp
index bb3b6445077..64746092fc4 100644
--- a/src/mame/drivers/nemesis.cpp
+++ b/src/mame/drivers/nemesis.cpp
@@ -251,7 +251,7 @@ WRITE8_MEMBER(nemesis_state::city_sound_bank_w)
}
-static ADDRESS_MAP_START( nemesis_map, AS_PROGRAM, 16, nemesis_state )
+ADDRESS_MAP_START(nemesis_state::nemesis_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x04ffff) AM_RAM_WRITE(nemesis_charram_word_w) AM_SHARE("charram")
AM_RANGE(0x050000, 0x051fff) AM_RAM
@@ -278,7 +278,7 @@ static ADDRESS_MAP_START( nemesis_map, AS_PROGRAM, 16, nemesis_state )
AM_RANGE(0x060000, 0x067fff) AM_RAM /* WORK RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gx400_map, AS_PROGRAM, 16, nemesis_state )
+ADDRESS_MAP_START(nemesis_state::gx400_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM /* ROM BIOS */
AM_RANGE(0x010000, 0x01ffff) AM_RAM
AM_RANGE(0x020000, 0x027fff) AM_READWRITE(gx400_sharedram_word_r, gx400_sharedram_word_w)
@@ -309,7 +309,7 @@ static ADDRESS_MAP_START( gx400_map, AS_PROGRAM, 16, nemesis_state )
AM_RANGE(0x080000, 0x0bffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( konamigt_map, AS_PROGRAM, 16, nemesis_state )
+ADDRESS_MAP_START(nemesis_state::konamigt_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x04ffff) AM_RAM_WRITE(nemesis_charram_word_w) AM_SHARE("charram")
AM_RANGE(0x050000, 0x051fff) AM_RAM
@@ -337,7 +337,7 @@ static ADDRESS_MAP_START( konamigt_map, AS_PROGRAM, 16, nemesis_state )
AM_RANGE(0x070000, 0x070001) AM_READ(konamigt_input_word_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rf2_gx400_map, AS_PROGRAM, 16, nemesis_state )
+ADDRESS_MAP_START(nemesis_state::rf2_gx400_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM /* ROM BIOS */
AM_RANGE(0x010000, 0x01ffff) AM_RAM
AM_RANGE(0x020000, 0x027fff) AM_READWRITE(gx400_sharedram_word_r, gx400_sharedram_word_w)
@@ -369,7 +369,7 @@ static ADDRESS_MAP_START( rf2_gx400_map, AS_PROGRAM, 16, nemesis_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, nemesis_state )
+ADDRESS_MAP_START(nemesis_state::sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0xa000, 0xafff) AM_DEVWRITE("k005289", k005289_device, ld1_w)
@@ -386,7 +386,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, nemesis_state )
AM_RANGE(0xe405, 0xe405) AM_DEVWRITE("ay2", ay8910_device, data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gx400_sound_map, AS_PROGRAM, 8, nemesis_state )
+ADDRESS_MAP_START(nemesis_state::gx400_sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_RAM AM_SHARE("gx400_shared")
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("voiceram")
@@ -407,14 +407,14 @@ static ADDRESS_MAP_START( gx400_sound_map, AS_PROGRAM, 8, nemesis_state )
ADDRESS_MAP_END
// gx400 voice data is not in a ROM but in sound RAM at $8000
-static ADDRESS_MAP_START( gx400_vlm_map, 0, 8, nemesis_state )
+ADDRESS_MAP_START(nemesis_state::gx400_vlm_map)
ADDRESS_MAP_GLOBAL_MASK(0x7ff)
AM_RANGE(0x000, 0x7ff) AM_RAM AM_SHARE("voiceram")
ADDRESS_MAP_END
/******************************************************************************/
-static ADDRESS_MAP_START( salamand_map, AS_PROGRAM, 16, nemesis_state )
+ADDRESS_MAP_START(nemesis_state::salamand_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x087fff) AM_RAM
AM_RANGE(0x090000, 0x091fff) AM_DEVREADWRITE8("palette", palette_device, read8, write8, 0x00ff) AM_SHARE("palette")
@@ -439,7 +439,7 @@ static ADDRESS_MAP_START( salamand_map, AS_PROGRAM, 16, nemesis_state )
AM_RANGE(0x190f80, 0x190fff) AM_SHARE("yscroll2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( blkpnthr_map, AS_PROGRAM, 16, nemesis_state )
+ADDRESS_MAP_START(nemesis_state::blkpnthr_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x081fff) AM_DEVREADWRITE8("palette", palette_device, read8, write8, 0x00ff) AM_SHARE("palette")
AM_RANGE(0x090000, 0x097fff) AM_RAM
@@ -464,7 +464,7 @@ static ADDRESS_MAP_START( blkpnthr_map, AS_PROGRAM, 16, nemesis_state )
AM_RANGE(0x190000, 0x190fff) AM_RAM AM_SHARE("spriteram") /* more sprite ram ??? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( citybomb_map, AS_PROGRAM, 16, nemesis_state )
+ADDRESS_MAP_START(nemesis_state::citybomb_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x080000, 0x087fff) AM_RAM
AM_RANGE(0x0e0000, 0x0e1fff) AM_DEVREADWRITE8("palette", palette_device, read8, write8, 0x00ff) AM_SHARE("palette")
@@ -491,7 +491,7 @@ static ADDRESS_MAP_START( citybomb_map, AS_PROGRAM, 16, nemesis_state )
AM_RANGE(0x310000, 0x310fff) AM_RAM AM_SHARE("spriteram") /* more sprite ram ??? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nyanpani_map, AS_PROGRAM, 16, nemesis_state )
+ADDRESS_MAP_START(nemesis_state::nyanpani_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x040000, 0x047fff) AM_RAM
AM_RANGE(0x060000, 0x061fff) AM_DEVREADWRITE8("palette", palette_device, read8, write8, 0x00ff) AM_SHARE("palette")
@@ -523,7 +523,7 @@ READ8_MEMBER(nemesis_state::wd_r)
return m_frame_counter;
}
-static ADDRESS_MAP_START( sal_sound_map, AS_PROGRAM, 8, nemesis_state )
+ADDRESS_MAP_START(nemesis_state::sal_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -534,12 +534,12 @@ static ADDRESS_MAP_START( sal_sound_map, AS_PROGRAM, 8, nemesis_state )
AM_RANGE(0xf000, 0xf000) AM_WRITE(salamand_speech_start_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( salamand_vlm_map, 0, 8, nemesis_state )
+ADDRESS_MAP_START(nemesis_state::salamand_vlm_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x3fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( blkpnthr_sound_map, AS_PROGRAM, 8, nemesis_state )
+ADDRESS_MAP_START(nemesis_state::blkpnthr_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -548,7 +548,7 @@ static ADDRESS_MAP_START( blkpnthr_sound_map, AS_PROGRAM, 8, nemesis_state )
AM_RANGE(0xe000, 0xe000) AM_READ(wd_r) /* watchdog?? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( city_sound_map, AS_PROGRAM, 8, nemesis_state )
+ADDRESS_MAP_START(nemesis_state::city_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9800, 0x987f) AM_DEVREADWRITE("k051649", k051649_device, k051649_waveform_r, k051649_waveform_w)
@@ -564,7 +564,7 @@ ADDRESS_MAP_END
/******************************************************************************/
-static ADDRESS_MAP_START( hcrash_map, AS_PROGRAM, 16, nemesis_state )
+ADDRESS_MAP_START(nemesis_state::hcrash_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x040000, 0x05ffff) AM_ROM
AM_RANGE(0x080000, 0x083fff) AM_RAM
diff --git a/src/mame/drivers/neogeo.cpp b/src/mame/drivers/neogeo.cpp
index a65f70b6db5..1c3b83ce9db 100644
--- a/src/mame/drivers/neogeo.cpp
+++ b/src/mame/drivers/neogeo.cpp
@@ -1410,7 +1410,7 @@ READ16_MEMBER(neogeo_state::banked_vectors_r)
*
*************************************/
-ADDRESS_MAP_START( neogeo_main_map, AS_PROGRAM, 16, neogeo_state )
+ADDRESS_MAP_START(neogeo_state::neogeo_main_map)
AM_RANGE(0x100000, 0x10ffff) AM_MIRROR(0x0f0000) AM_RAM
/* some games have protection devices in the 0x200000 region, it appears to map to cart space, not surprising, the ROM is read here too */
@@ -1432,7 +1432,7 @@ ADDRESS_MAP_START( neogeo_main_map, AS_PROGRAM, 16, neogeo_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_map_slot, AS_PROGRAM, 16, neogeo_state )
+ADDRESS_MAP_START(neogeo_state::main_map_slot)
AM_IMPORT_FROM( neogeo_main_map )
AM_RANGE(0x000000, 0x00007f) AM_READ(banked_vectors_r)
ADDRESS_MAP_END
@@ -1447,7 +1447,7 @@ READ16_MEMBER(aes_state::aes_in2_r)
return ret;
}
-static ADDRESS_MAP_START( aes_main_map, AS_PROGRAM, 16, aes_state )
+ADDRESS_MAP_START(aes_state::aes_main_map)
AM_RANGE(0x000000, 0x00007f) AM_READ(banked_vectors_r)
AM_RANGE(0x100000, 0x10ffff) AM_MIRROR(0x0f0000) AM_RAM
// some games have protection devices in the 0x200000 region, it appears to map to cart space, not surprising, the ROM is read here too
@@ -1474,7 +1474,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, neogeo_state )
+ADDRESS_MAP_START(neogeo_state::audio_map)
AM_RANGE(0x0000, 0x7fff) AM_ROMBANK("audio_main")
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("audio_8000")
AM_RANGE(0xc000, 0xdfff) AM_ROMBANK("audio_c000")
@@ -1491,7 +1491,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( audio_io_map, AS_IO, 8, neogeo_state )
+ADDRESS_MAP_START(neogeo_state::audio_io_map)
AM_RANGE(0x00, 0x00) AM_MIRROR(0xff00) AM_READ(audio_command_r) AM_DEVWRITE("soundlatch", generic_latch_8_device, clear_w)
AM_RANGE(0x04, 0x07) AM_MIRROR(0xff00) AM_DEVREADWRITE("ymsnd", ym2610_device, read, write)
AM_RANGE(0x08, 0x08) AM_MIRROR(0xff00) AM_SELECT(0x0010) AM_WRITE(audio_cpu_enable_nmi_w)
diff --git a/src/mame/drivers/neogeocd.cpp b/src/mame/drivers/neogeocd.cpp
index b0dc37a2ff8..4fbb430b2a0 100644
--- a/src/mame/drivers/neogeocd.cpp
+++ b/src/mame/drivers/neogeocd.cpp
@@ -134,6 +134,9 @@ public:
std::unique_ptr<uint8_t[]> m_meminternal_data;
void neocd(machine_config &config);
+ void neocd_audio_io_map(address_map &map);
+ void neocd_audio_map(address_map &map);
+ void neocd_main_map(address_map &map);
protected:
int32_t SekIdle(int32_t nCycles);
@@ -886,7 +889,7 @@ MACHINE_RESET_MEMBER(ngcd_state,neocd)
*
*************************************/
-static ADDRESS_MAP_START( neocd_main_map, AS_PROGRAM, 16, ngcd_state )
+ADDRESS_MAP_START(ngcd_state::neocd_main_map)
// AM_RANGE(0x000000, 0x00007f) AM_READ_BANK("vectors") // writes will fall through to area below
AM_RANGE(0x000000, 0x1fffff) AM_RAM AM_REGION("maincpu", 0x00000)
AM_RANGE(0x000000, 0x00007f) AM_READ(banked_vectors_r)
@@ -919,12 +922,12 @@ ADDRESS_MAP_END
*************************************/
-static ADDRESS_MAP_START( neocd_audio_map, AS_PROGRAM, 8, ngcd_state )
+ADDRESS_MAP_START(ngcd_state::neocd_audio_map)
AM_RANGE(0x0000, 0xffff) AM_RAM AM_REGION("audiocpu", 0x00000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( neocd_audio_io_map, AS_IO, 8, ngcd_state )
+ADDRESS_MAP_START(ngcd_state::neocd_audio_io_map)
AM_RANGE(0x00, 0x00) AM_MIRROR(0xff00) AM_READ(audio_command_r) AM_DEVWRITE("soundlatch", generic_latch_8_device, clear_w)
AM_RANGE(0x04, 0x07) AM_MIRROR(0xff00) AM_DEVREADWRITE("ymsnd", ym2610_device, read, write)
AM_RANGE(0x08, 0x08) AM_MIRROR(0xff00) AM_SELECT(0x0010) AM_WRITE(audio_cpu_enable_nmi_w)
diff --git a/src/mame/drivers/neoprint.cpp b/src/mame/drivers/neoprint.cpp
index 9ef1112f51b..8e8de5f18b5 100644
--- a/src/mame/drivers/neoprint.cpp
+++ b/src/mame/drivers/neoprint.cpp
@@ -71,6 +71,10 @@ public:
void neoprint(machine_config &config);
void nprsp(machine_config &config);
+ void neoprint_audio_io_map(address_map &map);
+ void neoprint_audio_map(address_map &map);
+ void neoprint_map(address_map &map);
+ void nprsp_map(address_map &map);
protected:
virtual void machine_start() override;
virtual void video_start() override;
@@ -243,7 +247,7 @@ WRITE8_MEMBER(neoprint_state::audio_result_w)
m_audio_result = data;
}
-static ADDRESS_MAP_START( neoprint_map, AS_PROGRAM, 16, neoprint_state )
+ADDRESS_MAP_START(neoprint_state::neoprint_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
/* AM_RANGE(0x100000, 0x17ffff) multi-cart or banking, some writes points here if anything lies there too */
AM_RANGE(0x200000, 0x20ffff) AM_RAM
@@ -311,7 +315,7 @@ READ16_MEMBER(neoprint_state::rom_window_r)
return rom[offset | 0x80000/2 | m_bank_val*0x40000/2];
}
-static ADDRESS_MAP_START( nprsp_map, AS_PROGRAM, 16, neoprint_state )
+ADDRESS_MAP_START(neoprint_state::nprsp_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x0fffff) AM_READ(rom_window_r)
AM_RANGE(0x200000, 0x200001) AM_READWRITE8(neoprint_audio_result_r, audio_command_w, 0xff00)
@@ -338,7 +342,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( neoprint_audio_map, AS_PROGRAM, 8, neoprint_state )
+ADDRESS_MAP_START(neoprint_state::neoprint_audio_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM//AM_ROMBANK(NEOGEO_BANK_AUDIO_CPU_MAIN_BANK)
// AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(NEOGEO_BANK_AUDIO_CPU_CART_BANK + 3)
// AM_RANGE(0xc000, 0xdfff) AM_ROMBANK(NEOGEO_BANK_AUDIO_CPU_CART_BANK + 2)
@@ -355,7 +359,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( neoprint_audio_io_map, AS_IO, 8, neoprint_state )
+ADDRESS_MAP_START(neoprint_state::neoprint_audio_io_map)
/*AM_RANGE(0x00, 0x00) AM_MIRROR(0xff00) AM_READWRITE(audio_command_r, audio_cpu_clear_nmi_w);*/ /* may not and NMI clear */
AM_RANGE(0x00, 0x00) AM_MIRROR(0xff00) AM_READ(audio_command_r) AM_WRITENOP
AM_RANGE(0x04, 0x07) AM_MIRROR(0xff00) AM_DEVREADWRITE("ymsnd", ym2610_device, read, write)
diff --git a/src/mame/drivers/neptunp2.cpp b/src/mame/drivers/neptunp2.cpp
index cbe79e63a35..7042f8c3077 100644
--- a/src/mame/drivers/neptunp2.cpp
+++ b/src/mame/drivers/neptunp2.cpp
@@ -28,6 +28,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void neptunp2(machine_config &config);
+ void neptunp2_io(address_map &map);
+ void neptunp2_map(address_map &map);
protected:
// devices
@@ -52,7 +54,7 @@ READ8_MEMBER( neptunp2_state::test_r )
return machine().rand();
}
-static ADDRESS_MAP_START( neptunp2_map, AS_PROGRAM, 8, neptunp2_state )
+ADDRESS_MAP_START(neptunp2_state::neptunp2_map)
AM_RANGE(0x00000, 0xbffff) AM_ROM
AM_RANGE(0xe0000, 0xeffff) AM_RAM
@@ -69,7 +71,7 @@ static ADDRESS_MAP_START( neptunp2_map, AS_PROGRAM, 8, neptunp2_state )
AM_RANGE(0xffff0, 0xfffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( neptunp2_io, AS_IO, 8, neptunp2_state )
+ADDRESS_MAP_START(neptunp2_state::neptunp2_io)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/nes.cpp b/src/mame/drivers/nes.cpp
index 96e69b8c2a9..8f3991b97dd 100644
--- a/src/mame/drivers/nes.cpp
+++ b/src/mame/drivers/nes.cpp
@@ -26,7 +26,7 @@ WRITE8_MEMBER(nes_state::nes_vh_sprite_dma_w)
m_ppu->spriteram_dma(space, data);
}
-static ADDRESS_MAP_START( nes_map, AS_PROGRAM, 8, nes_state )
+ADDRESS_MAP_START(nes_state::nes_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_MIRROR(0x1800) /* RAM */
AM_RANGE(0x2000, 0x3fff) AM_DEVREADWRITE("ppu", ppu2c0x_device, read, write) /* PPU registers */
AM_RANGE(0x4014, 0x4014) AM_WRITE(nes_vh_sprite_dma_w) /* stupid address space hole */
diff --git a/src/mame/drivers/nes_vt.cpp b/src/mame/drivers/nes_vt.cpp
index 0ba760e8472..8a6e8438f77 100644
--- a/src/mame/drivers/nes_vt.cpp
+++ b/src/mame/drivers/nes_vt.cpp
@@ -183,6 +183,18 @@ public:
void nes_vt_fp(machine_config &config);
void nes_vt_fa(machine_config &config);
+ void nes_vt_hum_map(address_map &map);
+ void nes_vt_pjoy_map(address_map &map);
+ void nes_vt_sp69_map(address_map &map);
+ void nes_vt_bt_map(address_map &map);
+ void nes_vt_cy_map(address_map &map);
+ void nes_vt_dg_map(address_map &map);
+ void nes_vt_hh_map(address_map &map);
+ void nes_vt_map(address_map &map);
+ void nes_vt_xx_map(address_map &map);
+ void nes_vt_fa_map(address_map &map);
+ void nes_vt_fp_map(address_map &map);
+ void prg_map(address_map &map);
private:
/* expansion nametable - todo, see if we can refactor NES code to be reusable without having to add full NES bus etc. */
@@ -1159,7 +1171,7 @@ WRITE8_MEMBER(nes_vt_state::vt03_4034_w)
m_vdma_ctrl = data;
}
-static ADDRESS_MAP_START( nes_vt_map, AS_PROGRAM, 8, nes_vt_state )
+ADDRESS_MAP_START(nes_vt_state::nes_vt_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x2000, 0x3fff) AM_MASK(0x001F) AM_DEVREADWRITE("ppu", ppu2c0x_device, read, write) /* PPU registers */
@@ -1180,32 +1192,31 @@ ADDRESS_MAP_END
/* Some later VT models have more RAM */
-static ADDRESS_MAP_START( nes_vt_xx_map, AS_PROGRAM, 8, nes_vt_state )
+ADDRESS_MAP_START(nes_vt_state::nes_vt_xx_map)
AM_IMPORT_FROM(nes_vt_map)
AM_RANGE(0x0800, 0x0fff) AM_RAM
ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( nes_vt_hum_map, AS_PROGRAM, 8, nes_vt_state )
-AM_IMPORT_FROM(nes_vt_map)
-AM_RANGE(0x4100, 0x410b) AM_WRITE(vt03_410x_hum_w)
-AM_RANGE(0x8000, 0xffff) AM_WRITE(vt03_8000_hum_w)
+ADDRESS_MAP_START(nes_vt_state::nes_vt_hum_map)
+ AM_IMPORT_FROM(nes_vt_map)
+ AM_RANGE(0x4100, 0x410b) AM_WRITE(vt03_410x_hum_w)
+ AM_RANGE(0x8000, 0xffff) AM_WRITE(vt03_8000_hum_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nes_vt_pjoy_map, AS_PROGRAM, 8, nes_vt_state )
-AM_IMPORT_FROM(nes_vt_map)
-AM_RANGE(0x4100, 0x410b) AM_WRITE(vt03_410x_pjoy_w)
-AM_RANGE(0x8000, 0xffff) AM_WRITE(vt03_8000_pjoy_w)
+ADDRESS_MAP_START(nes_vt_state::nes_vt_pjoy_map)
+ AM_IMPORT_FROM(nes_vt_map)
+ AM_RANGE(0x4100, 0x410b) AM_WRITE(vt03_410x_pjoy_w)
+ AM_RANGE(0x8000, 0xffff) AM_WRITE(vt03_8000_pjoy_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nes_vt_sp69_map, AS_PROGRAM, 8, nes_vt_state )
-AM_IMPORT_FROM(nes_vt_map)
-AM_RANGE(0x4100, 0x410b) AM_WRITE(vt03_410x_sp69_w)
-AM_RANGE(0x8000, 0xffff) AM_WRITE(vt03_8000_sp69_w)
+ADDRESS_MAP_START(nes_vt_state::nes_vt_sp69_map)
+ AM_IMPORT_FROM(nes_vt_map)
+ AM_RANGE(0x4100, 0x410b) AM_WRITE(vt03_410x_sp69_w)
+ AM_RANGE(0x8000, 0xffff) AM_WRITE(vt03_8000_sp69_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nes_vt_cy_map, AS_PROGRAM, 8, nes_vt_state )
+ADDRESS_MAP_START(nes_vt_state::nes_vt_cy_map)
AM_IMPORT_FROM(nes_vt_xx_map)
AM_RANGE(0x41b0, 0x41bf) AM_READ(vt03_41bx_r) AM_WRITE(vt03_41bx_w)
AM_RANGE(0x48a0, 0x48af) AM_READ(vt03_48ax_r) AM_WRITE(vt03_48ax_w)
@@ -1215,13 +1226,13 @@ static ADDRESS_MAP_START( nes_vt_cy_map, AS_PROGRAM, 8, nes_vt_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nes_vt_bt_map, AS_PROGRAM, 8, nes_vt_state )
+ADDRESS_MAP_START(nes_vt_state::nes_vt_bt_map)
AM_IMPORT_FROM(nes_vt_xx_map)
AM_RANGE(0x412c, 0x412c) AM_WRITE(vt03_412c_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nes_vt_hh_map, AS_PROGRAM, 8, nes_vt_state )
+ADDRESS_MAP_START(nes_vt_state::nes_vt_hh_map)
AM_RANGE(0x0000, 0x1fff) AM_MASK(0x0fff) AM_RAM
AM_RANGE(0x2000, 0x3fff) AM_DEVREADWRITE("ppu", ppu2c0x_device, read, write) /* PPU registers */
@@ -1244,7 +1255,7 @@ static ADDRESS_MAP_START( nes_vt_hh_map, AS_PROGRAM, 8, nes_vt_state )
AM_RANGE(0x6000, 0x7fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nes_vt_dg_map, AS_PROGRAM, 8, nes_vt_state )
+ADDRESS_MAP_START(nes_vt_state::nes_vt_dg_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x3fff) AM_DEVREADWRITE("ppu", ppu2c0x_device, read, write) /* PPU registers */
@@ -1265,7 +1276,7 @@ static ADDRESS_MAP_START( nes_vt_dg_map, AS_PROGRAM, 8, nes_vt_state )
AM_RANGE(0x6000, 0x7fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nes_vt_fp_map, AS_PROGRAM, 8, nes_vt_state )
+ADDRESS_MAP_START(nes_vt_state::nes_vt_fp_map)
AM_IMPORT_FROM(nes_vt_hh_map)
AM_RANGE(0x411e, 0x411e) AM_WRITE(vtfp_411e_w)
AM_RANGE(0x4a00, 0x4a00) AM_WRITE(vtfp_4a00_w)
@@ -1276,7 +1287,7 @@ static ADDRESS_MAP_START( nes_vt_fp_map, AS_PROGRAM, 8, nes_vt_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nes_vt_fa_map, AS_PROGRAM, 8, nes_vt_state )
+ADDRESS_MAP_START(nes_vt_state::nes_vt_fa_map)
AM_IMPORT_FROM(nes_vt_dg_map)
@@ -1285,7 +1296,7 @@ static ADDRESS_MAP_START( nes_vt_fa_map, AS_PROGRAM, 8, nes_vt_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( prg_map, AS_PROGRAM, 8, nes_vt_state )
+ADDRESS_MAP_START(nes_vt_state::prg_map)
AM_RANGE(0x0000, 0x1fff) AM_ROMBANK("prg_bank0")
AM_RANGE(0x2000, 0x3fff) AM_ROMBANK("prg_bank1")
AM_RANGE(0x4000, 0x5fff) AM_ROMBANK("prg_bank2")
diff --git a/src/mame/drivers/newbrain.cpp b/src/mame/drivers/newbrain.cpp
index 5981a97f840..9f7a5e57833 100644
--- a/src/mame/drivers/newbrain.cpp
+++ b/src/mame/drivers/newbrain.cpp
@@ -577,7 +577,7 @@ READ_LINE_MEMBER( newbrain_state::tdi_r )
// ADDRESS_MAP( newbrain_mreq )
//-------------------------------------------------
-static ADDRESS_MAP_START( newbrain_mreq, AS_PROGRAM, 8, newbrain_state )
+ADDRESS_MAP_START(newbrain_state::newbrain_mreq)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xffff) AM_READWRITE(mreq_r, mreq_w)
ADDRESS_MAP_END
@@ -587,7 +587,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( newbrain_iorq )
//-------------------------------------------------
-static ADDRESS_MAP_START( newbrain_iorq, AS_IO, 8, newbrain_state )
+ADDRESS_MAP_START(newbrain_state::newbrain_iorq)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xffff) AM_READWRITE(iorq_r, iorq_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/news.cpp b/src/mame/drivers/news.cpp
index a8b6e36ce98..2f3df09ce25 100644
--- a/src/mame/drivers/news.cpp
+++ b/src/mame/drivers/news.cpp
@@ -24,7 +24,7 @@ driver by David Haywood
#include "speaker.h"
-static ADDRESS_MAP_START( news_map, AS_PROGRAM, 8, news_state )
+ADDRESS_MAP_START(news_state::news_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM /* 4000-7fff is written to during startup, probably leftover code */
AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(news_fgram_w) AM_SHARE("fgram")
AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(news_bgram_w) AM_SHARE("bgram")
diff --git a/src/mame/drivers/next.cpp b/src/mame/drivers/next.cpp
index 27b52a3495d..14ee7fcda33 100644
--- a/src/mame/drivers/next.cpp
+++ b/src/mame/drivers/next.cpp
@@ -892,7 +892,7 @@ WRITE_LINE_MEMBER(next_state::vblank_w)
}
}
-static ADDRESS_MAP_START( next_mem, AS_PROGRAM, 32, next_state )
+ADDRESS_MAP_START(next_state::next_mem)
AM_RANGE(0x00000000, 0x0001ffff) AM_ROM AM_REGION("user1", 0)
AM_RANGE(0x01000000, 0x0101ffff) AM_ROM AM_REGION("user1", 0)
AM_RANGE(0x02000000, 0x020001ff) AM_MIRROR(0x300200) AM_READWRITE(dma_ctrl_r, dma_ctrl_w)
@@ -932,34 +932,34 @@ static ADDRESS_MAP_START( next_mem, AS_PROGRAM, 32, next_state )
// AM_RANGE(0x1c000000, 0x1c03ffff) main RAM w AB function
ADDRESS_MAP_END
-static ADDRESS_MAP_START( next_0b_m_nofdc_mem, AS_PROGRAM, 32, next_state )
+ADDRESS_MAP_START(next_state::next_0b_m_nofdc_mem)
AM_IMPORT_FROM(next_mem)
AM_RANGE(0x0b000000, 0x0b03ffff) AM_RAM AM_SHARE("vram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( next_fdc_mem, AS_PROGRAM, 32, next_state )
+ADDRESS_MAP_START(next_state::next_fdc_mem)
AM_IMPORT_FROM(next_mem)
AM_RANGE(0x02014100, 0x02014107) AM_MIRROR(0x300000) AM_DEVICE8("fdc", n82077aa_device, map, 0xffffffff)
AM_RANGE(0x02014108, 0x0201410b) AM_MIRROR(0x300000) AM_READWRITE(fdc_control_r, fdc_control_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( next_0b_m_mem, AS_PROGRAM, 32, next_state )
+ADDRESS_MAP_START(next_state::next_0b_m_mem)
AM_IMPORT_FROM(next_fdc_mem)
AM_RANGE(0x0b000000, 0x0b03ffff) AM_RAM AM_SHARE("vram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( next_0c_m_mem, AS_PROGRAM, 32, next_state )
+ADDRESS_MAP_START(next_state::next_0c_m_mem)
AM_IMPORT_FROM(next_fdc_mem)
AM_RANGE(0x0c000000, 0x0c1fffff) AM_RAM AM_SHARE("vram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( next_0c_c_mem, AS_PROGRAM, 32, next_state )
+ADDRESS_MAP_START(next_state::next_0c_c_mem)
AM_IMPORT_FROM(next_fdc_mem)
AM_RANGE(0x0c000000, 0x0c1fffff) AM_RAM AM_SHARE("vram")
AM_RANGE(0x02018180, 0x02018183) AM_MIRROR(0x300000) AM_WRITE8(ramdac_w, 0xffffffff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( next_2c_c_mem, AS_PROGRAM, 32, next_state )
+ADDRESS_MAP_START(next_state::next_2c_c_mem)
AM_IMPORT_FROM(next_fdc_mem)
AM_RANGE(0x2c000000, 0x2c1fffff) AM_RAM AM_SHARE("vram")
AM_RANGE(0x02018180, 0x02018183) AM_MIRROR(0x300000) AM_WRITE8(ramdac_w, 0xffffffff)
diff --git a/src/mame/drivers/nexus3d.cpp b/src/mame/drivers/nexus3d.cpp
index 4134ad4e965..e6dacaae799 100644
--- a/src/mame/drivers/nexus3d.cpp
+++ b/src/mame/drivers/nexus3d.cpp
@@ -48,6 +48,7 @@ public:
virtual void video_start() override;
uint32_t screen_update_nexus3d(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void nexus3d(machine_config &config);
+ void nexus3d_map(address_map &map);
};
@@ -77,7 +78,7 @@ READ32_MEMBER(nexus3d_state::nexus3d_unk_r)
//
//}
-static ADDRESS_MAP_START( nexus3d_map, AS_PROGRAM, 32, nexus3d_state )
+ADDRESS_MAP_START(nexus3d_state::nexus3d_map)
AM_RANGE(0x00000000, 0x003fffff) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x00400000, 0x01ffffff) AM_RAM // ?? uploads various data, + pointers to data in the 0x01ffxxxx range, might be video system related
diff --git a/src/mame/drivers/ngen.cpp b/src/mame/drivers/ngen.cpp
index b4f880383af..2db1164dfb7 100644
--- a/src/mame/drivers/ngen.cpp
+++ b/src/mame/drivers/ngen.cpp
@@ -146,6 +146,11 @@ public:
DECLARE_READ16_MEMBER(b38_crtc_r);
DECLARE_WRITE16_MEMBER(b38_crtc_w);
void ngen(machine_config &config);
+ void ngen386_io(address_map &map);
+ void ngen386_mem(address_map &map);
+ void ngen386i_mem(address_map &map);
+ void ngen_io(address_map &map);
+ void ngen_mem(address_map &map);
protected:
virtual void machine_reset() override;
virtual void machine_start() override;
@@ -855,7 +860,7 @@ void ngen_state::machine_reset()
}
// boot ROMs from modules are not mapped anywhere, instead, they have to send the code from the boot ROM via DMA
-static ADDRESS_MAP_START( ngen_mem, AS_PROGRAM, 16, ngen_state )
+ADDRESS_MAP_START(ngen_state::ngen_mem)
AM_RANGE(0x00000, 0xf7fff) AM_RAM
AM_RANGE(0xf8000, 0xf9fff) AM_RAM AM_SHARE("vram")
AM_RANGE(0xfa000, 0xfbfff) AM_RAM AM_SHARE("fontram")
@@ -863,7 +868,7 @@ static ADDRESS_MAP_START( ngen_mem, AS_PROGRAM, 16, ngen_state )
AM_RANGE(0xfe000, 0xfffff) AM_ROM AM_REGION("bios",0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ngen_io, AS_IO, 16, ngen_state )
+ADDRESS_MAP_START(ngen_state::ngen_io)
AM_RANGE(0x0000, 0x0001) AM_READWRITE(xbus_r,xbus_w)
// Floppy/Hard disk module
@@ -877,7 +882,7 @@ static ADDRESS_MAP_START( ngen_io, AS_IO, 16, ngen_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ngen386_mem, AS_PROGRAM, 32, ngen_state )
+ADDRESS_MAP_START(ngen_state::ngen386_mem)
AM_RANGE(0x00000000, 0x000f7fff) AM_RAM
AM_RANGE(0x000f8000, 0x000f9fff) AM_RAM AM_SHARE("vram")
AM_RANGE(0x000fa000, 0x000fbfff) AM_RAM AM_SHARE("fontram")
@@ -887,7 +892,7 @@ static ADDRESS_MAP_START( ngen386_mem, AS_PROGRAM, 32, ngen_state )
AM_RANGE(0xffffe000, 0xffffffff) AM_ROM AM_REGION("bios",0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ngen386i_mem, AS_PROGRAM, 32, ngen_state )
+ADDRESS_MAP_START(ngen_state::ngen386i_mem)
AM_RANGE(0x00000000, 0x000f7fff) AM_RAM
AM_RANGE(0x000f8000, 0x000f9fff) AM_RAM AM_SHARE("vram")
AM_RANGE(0x000fa000, 0x000fbfff) AM_RAM AM_SHARE("fontram")
@@ -896,7 +901,7 @@ static ADDRESS_MAP_START( ngen386i_mem, AS_PROGRAM, 32, ngen_state )
AM_RANGE(0xffffc000, 0xffffffff) AM_ROM AM_REGION("bios",0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ngen386_io, AS_IO, 32, ngen_state )
+ADDRESS_MAP_START(ngen_state::ngen386_io)
AM_RANGE(0x0000, 0x0003) AM_READWRITE16(xbus_r, xbus_w, 0x0000ffff)
// AM_RANGE(0xf800, 0xfeff) AM_READWRITE16(peripheral_r, peripheral_w,0xffffffff)
AM_RANGE(0xfd08, 0xfd0b) AM_READWRITE16(b38_crtc_r, b38_crtc_w,0xffffffff)
diff --git a/src/mame/drivers/ngp.cpp b/src/mame/drivers/ngp.cpp
index 330c8478c94..ede668bb89d 100644
--- a/src/mame/drivers/ngp.cpp
+++ b/src/mame/drivers/ngp.cpp
@@ -206,6 +206,9 @@ public:
void ngp_common(machine_config &config);
void ngp(machine_config &config);
void ngpc(machine_config &config);
+ void ngp_mem(address_map &map);
+ void z80_io(address_map &map);
+ void z80_mem(address_map &map);
protected:
bool m_nvram_loaded;
required_ioport m_io_controls;
@@ -550,7 +553,7 @@ WRITE8_MEMBER( ngp_state::flash1_w )
}
-static ADDRESS_MAP_START( ngp_mem, AS_PROGRAM, 8, ngp_state )
+ADDRESS_MAP_START(ngp_state::ngp_mem)
AM_RANGE( 0x000080, 0x0000bf ) AM_READWRITE(ngp_io_r, ngp_io_w) /* ngp/c specific i/o */
AM_RANGE( 0x004000, 0x006fff ) AM_RAM AM_SHARE("mainram") /* work ram */
AM_RANGE( 0x007000, 0x007fff ) AM_RAM AM_SHARE("share1") /* shared with sound cpu */
@@ -579,7 +582,7 @@ WRITE8_MEMBER( ngp_state::ngp_z80_signal_main_w )
}
-static ADDRESS_MAP_START( z80_mem, AS_PROGRAM, 8, ngp_state )
+ADDRESS_MAP_START(ngp_state::z80_mem)
AM_RANGE( 0x0000, 0x0fff ) AM_RAM AM_SHARE("share1") /* shared with tlcs900 */
AM_RANGE( 0x4000, 0x4001 ) AM_DEVWRITE("t6w28", t6w28_device, write ) /* sound chip (right, left) */
AM_RANGE( 0x8000, 0x8000 ) AM_READWRITE( ngp_z80_comm_r, ngp_z80_comm_w ) /* main-sound communication */
@@ -596,7 +599,7 @@ WRITE8_MEMBER( ngp_state::ngp_z80_clear_irq )
}
-static ADDRESS_MAP_START( z80_io, AS_IO, 8, ngp_state )
+ADDRESS_MAP_START(ngp_state::z80_io)
AM_RANGE( 0x0000, 0xffff ) AM_WRITE( ngp_z80_clear_irq )
ADDRESS_MAP_END
diff --git a/src/mame/drivers/nibble.cpp b/src/mame/drivers/nibble.cpp
index 2ee33ef7dff..0f04f4dd377 100644
--- a/src/mame/drivers/nibble.cpp
+++ b/src/mame/drivers/nibble.cpp
@@ -80,6 +80,8 @@ public:
required_device<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
void nibble(machine_config &config);
+ void nibble_cru_map(address_map &map);
+ void nibble_map(address_map &map);
};
@@ -150,7 +152,7 @@ void nibble_state::machine_reset()
* Memory Map Information *
*************************/
-static ADDRESS_MAP_START( nibble_map, AS_PROGRAM, 16, nibble_state )
+ADDRESS_MAP_START(nibble_state::nibble_map)
// ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc3ff) AM_WRITE(nibble_videoram_w) AM_SHARE("videoram") // placeholder
@@ -159,7 +161,7 @@ static ADDRESS_MAP_START( nibble_map, AS_PROGRAM, 16, nibble_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nibble_cru_map, AS_IO, 8, nibble_state )
+ADDRESS_MAP_START(nibble_state::nibble_cru_map)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/nightgal.cpp b/src/mame/drivers/nightgal.cpp
index ddfa6204ab8..45806453198 100644
--- a/src/mame/drivers/nightgal.cpp
+++ b/src/mame/drivers/nightgal.cpp
@@ -107,6 +107,18 @@ public:
void sweetgal(machine_config &config);
void sgaltrop(machine_config &config);
void royalqn(machine_config &config);
+ void common_nsc_map(address_map &map);
+ void common_sexygal_io(address_map &map);
+ void royalqn_io(address_map &map);
+ void royalqn_map(address_map &map);
+ void royalqn_nsc_map(address_map &map);
+ void sexygal_audio_map(address_map &map);
+ void sexygal_io(address_map &map);
+ void sexygal_map(address_map &map);
+ void sexygal_nsc_map(address_map &map);
+ void sgaltrop_io(address_map &map);
+ void sgaltrop_nsc_map(address_map &map);
+ void sweetgal_map(address_map &map);
protected:
required_ioport m_io_cr_clear;
required_ioport m_io_coins;
@@ -352,7 +364,7 @@ WRITE8_MEMBER(nightgal_state::output_w)
* Common
********************************/
-static ADDRESS_MAP_START( common_nsc_map, AS_PROGRAM, 8, nightgal_state )
+ADDRESS_MAP_START(nightgal_state::common_nsc_map)
AM_RANGE(0x0000, 0x007f) AM_RAM
AM_RANGE(0x0080, 0x0080) AM_READ_PORT("BLIT_PORT")
AM_RANGE(0x0081, 0x0083) AM_READ(royalqn_nsc_blit_r)
@@ -386,19 +398,19 @@ WRITE8_MEMBER(nightgal_state::sexygal_audionmi_w)
}
-static ADDRESS_MAP_START( sweetgal_map, AS_PROGRAM, 8, nightgal_state )
+ADDRESS_MAP_START(nightgal_state::sweetgal_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x807f) AM_RAM AM_SHARE("sound_ram")
AM_RANGE(0xe000, 0xefff) AM_READWRITE(royalqn_comm_r, royalqn_comm_w) AM_SHARE("comms_ram")
AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sexygal_map, AS_PROGRAM, 8, nightgal_state )
+ADDRESS_MAP_START(nightgal_state::sexygal_map)
AM_IMPORT_FROM(sweetgal_map)
AM_RANGE(0xa000, 0xa000) AM_WRITE(sexygal_audioff_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( common_sexygal_io, AS_IO, 8, nightgal_state )
+ADDRESS_MAP_START(nightgal_state::common_sexygal_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10,0x10) AM_READ_PORT("DSWA") AM_WRITE(output_w)
AM_RANGE(0x11,0x11) AM_READ_PORT("SYSTEM") AM_WRITE(mux_w)
@@ -407,27 +419,27 @@ static ADDRESS_MAP_START( common_sexygal_io, AS_IO, 8, nightgal_state )
AM_RANGE(0x14,0x14) AM_MIRROR(0xe8) AM_READNOP AM_WRITE(royalqn_blitter_2_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sexygal_io, AS_IO, 8, nightgal_state )
+ADDRESS_MAP_START(nightgal_state::sexygal_io)
AM_IMPORT_FROM( common_sexygal_io )
AM_RANGE(0x00,0x01) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sgaltrop_io, AS_IO, 8, nightgal_state )
+ADDRESS_MAP_START(nightgal_state::sgaltrop_io)
AM_IMPORT_FROM( common_sexygal_io )
AM_RANGE(0x01,0x01) AM_DEVREAD("ymsnd", ym2203_device, data_r)
AM_RANGE(0x02,0x03) AM_DEVWRITE("ymsnd", ym2203_device, data_address_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sexygal_nsc_map, AS_PROGRAM, 8, nightgal_state )
+ADDRESS_MAP_START(nightgal_state::sexygal_nsc_map)
AM_IMPORT_FROM( common_nsc_map )
AM_RANGE(0x0080, 0x0086) AM_DEVICE("blitter",jangou_blitter_device, blit_v2_regs)
AM_RANGE(0x1000, 0x13ff) AM_MIRROR(0x2c00) AM_READWRITE(royalqn_comm_r, royalqn_comm_w) AM_SHARE("comms_ram")
AM_RANGE(0xc000, 0xdfff) AM_MIRROR(0x2000) AM_ROM AM_REGION("subrom", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sgaltrop_nsc_map, AS_PROGRAM, 8, nightgal_state )
+ADDRESS_MAP_START(nightgal_state::sgaltrop_nsc_map)
AM_IMPORT_FROM( common_nsc_map )
AM_RANGE(0x0080, 0x0086) AM_DEVICE("blitter",jangou_blitter_device, blit_v2_regs)
@@ -437,7 +449,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( sexygal_audio_map, AS_PROGRAM, 8, nightgal_state )
+ADDRESS_MAP_START(nightgal_state::sexygal_audio_map)
AM_RANGE(0x0000, 0x007f) AM_RAM
AM_RANGE(0x2000, 0x207f) AM_RAM AM_SHARE("sound_ram")
@@ -450,14 +462,14 @@ ADDRESS_MAP_END
********************************/
-static ADDRESS_MAP_START( royalqn_map, AS_PROGRAM, 8, nightgal_state )
+ADDRESS_MAP_START(nightgal_state::royalqn_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_NOP
AM_RANGE(0xc000, 0xdfff) AM_READWRITE(royalqn_comm_r, royalqn_comm_w) AM_SHARE("comms_ram")
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( royalqn_io, AS_IO, 8, nightgal_state )
+ADDRESS_MAP_START(nightgal_state::royalqn_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x01,0x01) AM_MIRROR(0xec) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE(0x02,0x03) AM_MIRROR(0xec) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -471,7 +483,7 @@ static ADDRESS_MAP_START( royalqn_io, AS_IO, 8, nightgal_state )
AM_RANGE(0x17,0x17) AM_MIRROR(0xe8) AM_NOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( royalqn_nsc_map, AS_PROGRAM, 8, nightgal_state )
+ADDRESS_MAP_START(nightgal_state::royalqn_nsc_map)
AM_IMPORT_FROM( common_nsc_map )
AM_RANGE(0x0080, 0x0086) AM_DEVICE("blitter",jangou_blitter_device, blit_v1_regs)
diff --git a/src/mame/drivers/ninjakd2.cpp b/src/mame/drivers/ninjakd2.cpp
index 1bf1b2a5bd8..d1cb7fff878 100644
--- a/src/mame/drivers/ninjakd2.cpp
+++ b/src/mame/drivers/ninjakd2.cpp
@@ -372,7 +372,7 @@ WRITE8_MEMBER(ninjakd2_state::ninjakd2_soundreset_w)
*
*************************************/
-static ADDRESS_MAP_START( ninjakd2_main_cpu, AS_PROGRAM, 8, ninjakd2_state )
+ADDRESS_MAP_START(ninjakd2_state::ninjakd2_main_cpu)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("KEYCOIN")
@@ -392,7 +392,7 @@ static ADDRESS_MAP_START( ninjakd2_main_cpu, AS_PROGRAM, 8, ninjakd2_state )
AM_RANGE(0xfa00, 0xffff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mnight_main_cpu, AS_PROGRAM, 8, ninjakd2_state )
+ADDRESS_MAP_START(ninjakd2_state::mnight_main_cpu)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xd9ff) AM_RAM
@@ -413,7 +413,7 @@ static ADDRESS_MAP_START( mnight_main_cpu, AS_PROGRAM, 8, ninjakd2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( robokid_main_cpu, AS_PROGRAM, 8, ninjakd2_state )
+ADDRESS_MAP_START(ninjakd2_state::robokid_main_cpu)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc7ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
@@ -437,7 +437,7 @@ static ADDRESS_MAP_START( robokid_main_cpu, AS_PROGRAM, 8, ninjakd2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( omegaf_main_cpu, AS_PROGRAM, 8, ninjakd2_state )
+ADDRESS_MAP_START(ninjakd2_state::omegaf_main_cpu)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("KEYCOIN") AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
@@ -463,7 +463,7 @@ static ADDRESS_MAP_START( omegaf_main_cpu, AS_PROGRAM, 8, ninjakd2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ninjakd2_sound_cpu, AS_PROGRAM, 8, ninjakd2_state )
+ADDRESS_MAP_START(ninjakd2_state::ninjakd2_sound_cpu)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
@@ -471,7 +471,7 @@ static ADDRESS_MAP_START( ninjakd2_sound_cpu, AS_PROGRAM, 8, ninjakd2_state )
AM_RANGE(0xf000, 0xf000) AM_WRITE(ninjakd2_pcm_play_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ninjakid_nopcm_sound_cpu, AS_PROGRAM, 8, ninjakd2_state )
+ADDRESS_MAP_START(ninjakd2_state::ninjakid_nopcm_sound_cpu)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
@@ -479,12 +479,12 @@ static ADDRESS_MAP_START( ninjakid_nopcm_sound_cpu, AS_PROGRAM, 8, ninjakd2_stat
AM_RANGE(0xf000, 0xf000) AM_NOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, ninjakd2_state )
+ADDRESS_MAP_START(ninjakd2_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_SHARE("decrypted_opcodes")
AM_RANGE(0x8000, 0xbfff) AM_ROM AM_REGION("soundcpu", 0x8000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ninjakd2_sound_io, AS_IO, 8, ninjakd2_state )
+ADDRESS_MAP_START(ninjakd2_state::ninjakd2_sound_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("2203.1", ym2203_device, write)
AM_RANGE(0x80, 0x81) AM_DEVWRITE("2203.2", ym2203_device, write)
@@ -980,13 +980,13 @@ MACHINE_CONFIG_DERIVED(ninjakd2_state::ninjakd2, ninjakd2_core)
MCFG_CPU_REPLACE("soundcpu", MC8123, MAIN_CLOCK_5) /* verified */
MCFG_CPU_PROGRAM_MAP(ninjakd2_sound_cpu)
MCFG_CPU_IO_MAP(ninjakd2_sound_io)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(ninjakd2_state::ninjakd2b, ninjakd2_core)
MCFG_CPU_MODIFY("soundcpu")
MCFG_CPU_PROGRAM_MAP(ninjakd2_sound_cpu)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(ninjakd2_state::mnight, ninjakd2_core)
diff --git a/src/mame/drivers/ninjaw.cpp b/src/mame/drivers/ninjaw.cpp
index d042b9c1c6b..312847450ea 100644
--- a/src/mame/drivers/ninjaw.cpp
+++ b/src/mame/drivers/ninjaw.cpp
@@ -420,7 +420,7 @@ WRITE16_MEMBER(ninjaw_state::tc0100scn_triple_screen_w)
MEMORY STRUCTURES
***********************************************************/
-static ADDRESS_MAP_START( ninjaw_master_map, AS_PROGRAM, 16, ninjaw_state )
+ADDRESS_MAP_START(ninjaw_state::ninjaw_master_map)
AM_RANGE(0x000000, 0x0bffff) AM_ROM
AM_RANGE(0x0c0000, 0x0cffff) AM_RAM /* main ram */
AM_RANGE(0x200000, 0x200003) AM_DEVREADWRITE8("tc0040ioc", tc0040ioc_device, read, write, 0x00ff)
@@ -442,7 +442,7 @@ ADDRESS_MAP_END
// NB there could be conflicts between which cpu writes what to the
// palette, as our interleaving won't match the original board.
-static ADDRESS_MAP_START( ninjaw_slave_map, AS_PROGRAM, 16, ninjaw_state )
+ADDRESS_MAP_START(ninjaw_state::ninjaw_slave_map)
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x080000, 0x08ffff) AM_RAM /* main ram */
AM_RANGE(0x200000, 0x200003) AM_DEVREADWRITE8("tc0040ioc", tc0040ioc_device, read, write, 0x00ff)
@@ -454,7 +454,7 @@ static ADDRESS_MAP_START( ninjaw_slave_map, AS_PROGRAM, 16, ninjaw_state )
AM_RANGE(0x360000, 0x360007) AM_DEVREADWRITE("tc0110pcr_3", tc0110pcr_device, word_r, step1_word_w) /* palette (3rd screen) */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( darius2_master_map, AS_PROGRAM, 16, ninjaw_state )
+ADDRESS_MAP_START(ninjaw_state::darius2_master_map)
AM_RANGE(0x000000, 0x0bffff) AM_ROM
AM_RANGE(0x0c0000, 0x0cffff) AM_RAM /* main ram */
AM_RANGE(0x200000, 0x200003) AM_DEVREADWRITE8("tc0040ioc", tc0040ioc_device, read, write, 0x00ff)
@@ -473,7 +473,7 @@ static ADDRESS_MAP_START( darius2_master_map, AS_PROGRAM, 16, ninjaw_state )
AM_RANGE(0x360000, 0x360007) AM_DEVREADWRITE("tc0110pcr_3", tc0110pcr_device, word_r, step1_word_w) /* palette (3rd screen) */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( darius2_slave_map, AS_PROGRAM, 16, ninjaw_state )
+ADDRESS_MAP_START(ninjaw_state::darius2_slave_map)
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x080000, 0x08ffff) AM_RAM /* main ram */
AM_RANGE(0x200000, 0x200003) AM_DEVREADWRITE8("tc0040ioc", tc0040ioc_device, read, write, 0x00ff)
@@ -485,7 +485,7 @@ ADDRESS_MAP_END
/***************************************************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, ninjaw_state )
+ADDRESS_MAP_START(ninjaw_state::sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("z80bank")
AM_RANGE(0xc000, 0xdfff) AM_RAM
diff --git a/src/mame/drivers/nitedrvr.cpp b/src/mame/drivers/nitedrvr.cpp
index d69540ae481..42b6191761a 100644
--- a/src/mame/drivers/nitedrvr.cpp
+++ b/src/mame/drivers/nitedrvr.cpp
@@ -48,7 +48,7 @@
/* Memory Map */
-static ADDRESS_MAP_START( nitedrvr_map, AS_PROGRAM, 8, nitedrvr_state )
+ADDRESS_MAP_START(nitedrvr_state::nitedrvr_map)
AM_RANGE(0x0000, 0x00ff) AM_RAM AM_MIRROR(0x100) // SCRAM
AM_RANGE(0x0200, 0x027f) AM_READNOP AM_WRITE(nitedrvr_videoram_w) AM_MIRROR(0x180) AM_SHARE("videoram") // PFW
AM_RANGE(0x0400, 0x042f) AM_READNOP AM_WRITEONLY AM_MIRROR(0x1c0) AM_SHARE("hvc") // POSH, POSV, CHAR
diff --git a/src/mame/drivers/niyanpai.cpp b/src/mame/drivers/niyanpai.cpp
index 6e2f38eb4b3..76a81357f3f 100644
--- a/src/mame/drivers/niyanpai.cpp
+++ b/src/mame/drivers/niyanpai.cpp
@@ -123,7 +123,7 @@ WRITE16_MEMBER(niyanpai_state::musobana_inputport_w)
m_musobana_inputport = data;
}
-static ADDRESS_MAP_START( niyanpai_map, AS_PROGRAM, 16, niyanpai_state )
+ADDRESS_MAP_START(niyanpai_state::niyanpai_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x040fff) AM_RAM AM_SHARE("nvram")
@@ -158,7 +158,7 @@ static ADDRESS_MAP_START( niyanpai_map, AS_PROGRAM, 16, niyanpai_state )
AM_RANGE(0xfffc00, 0xffffff) AM_DEVREADWRITE("tmp68301", tmp68301_device, regs_r, regs_w) // TMP68301 Registers
ADDRESS_MAP_END
-static ADDRESS_MAP_START( musobana_map, AS_PROGRAM, 16, niyanpai_state )
+ADDRESS_MAP_START(niyanpai_state::musobana_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x040fff) AM_RAM
@@ -196,7 +196,7 @@ static ADDRESS_MAP_START( musobana_map, AS_PROGRAM, 16, niyanpai_state )
AM_RANGE(0xfffc00, 0xffffff) AM_DEVREADWRITE("tmp68301", tmp68301_device, regs_r, regs_w) // TMP68301 Registers
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mhhonban_map, AS_PROGRAM, 16, niyanpai_state )
+ADDRESS_MAP_START(niyanpai_state::mhhonban_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x040fff) AM_RAM
@@ -236,7 +236,7 @@ static ADDRESS_MAP_START( mhhonban_map, AS_PROGRAM, 16, niyanpai_state )
AM_RANGE(0xfffc00, 0xffffff) AM_DEVREADWRITE("tmp68301", tmp68301_device, regs_r, regs_w) // TMP68301 Registers
ADDRESS_MAP_END
-static ADDRESS_MAP_START( zokumahj_map, AS_PROGRAM, 16, niyanpai_state )
+ADDRESS_MAP_START(niyanpai_state::zokumahj_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x0ff000, 0x0fffff) AM_RAM
diff --git a/src/mame/drivers/nmg5.cpp b/src/mame/drivers/nmg5.cpp
index 3bc1ea17e88..39f204b1d27 100644
--- a/src/mame/drivers/nmg5.cpp
+++ b/src/mame/drivers/nmg5.cpp
@@ -299,6 +299,11 @@ public:
void garogun(machine_config &config);
void searchp2(machine_config &config);
void _7ordi(machine_config &config);
+ void nmg5_map(address_map &map);
+ void nmg5_sound_map(address_map &map);
+ void pclubys_map(address_map &map);
+ void pclubys_sound_map(address_map &map);
+ void sound_io_map(address_map &map);
};
@@ -362,7 +367,7 @@ WRITE8_MEMBER(nmg5_state::oki_banking_w)
********************************************************************/
-static ADDRESS_MAP_START( nmg5_map, AS_PROGRAM, 16, nmg5_state )
+ADDRESS_MAP_START(nmg5_state::nmg5_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x120000, 0x12ffff) AM_RAM
AM_RANGE(0x140000, 0x1407ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -382,7 +387,7 @@ static ADDRESS_MAP_START( nmg5_map, AS_PROGRAM, 16, nmg5_state )
AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_SHARE("bitmap")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pclubys_map, AS_PROGRAM, 16, nmg5_state )
+ADDRESS_MAP_START(nmg5_state::pclubys_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM
AM_RANGE(0x440000, 0x4407ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -407,17 +412,17 @@ ADDRESS_MAP_END
********************************************************************/
-static ADDRESS_MAP_START( nmg5_sound_map, AS_PROGRAM, 8, nmg5_state )
+ADDRESS_MAP_START(nmg5_state::nmg5_sound_map)
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xe7ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pclubys_sound_map, AS_PROGRAM, 8, nmg5_state )
+ADDRESS_MAP_START(nmg5_state::pclubys_sound_map)
AM_RANGE(0x0000, 0xf7ff) AM_ROM
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, nmg5_state )
+ADDRESS_MAP_START(nmg5_state::sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(oki_banking_w)
AM_RANGE(0x10, 0x11) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
diff --git a/src/mame/drivers/nmk16.cpp b/src/mame/drivers/nmk16.cpp
index 990aeefedc7..bafad7598b8 100644
--- a/src/mame/drivers/nmk16.cpp
+++ b/src/mame/drivers/nmk16.cpp
@@ -321,7 +321,7 @@ WRITE16_MEMBER(nmk16_state::afega_soundlatch_w)
/***************************************************************************/
-static ADDRESS_MAP_START( vandyke_map, AS_PROGRAM, 16, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::vandyke_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("IN0")
AM_RANGE(0x080002, 0x080003) AM_READ_PORT("IN1")
@@ -339,7 +339,7 @@ static ADDRESS_MAP_START( vandyke_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_SHARE("mainram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vandykeb_map, AS_PROGRAM, 16, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::vandykeb_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("IN0")
AM_RANGE(0x080002, 0x080003) AM_READ_PORT("IN1")
@@ -358,7 +358,7 @@ static ADDRESS_MAP_START( vandykeb_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_SHARE("mainram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( manybloc_map, AS_PROGRAM, 16, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::manybloc_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("IN0")
AM_RANGE(0x080002, 0x080003) AM_READ_PORT("IN1")
@@ -375,7 +375,7 @@ static ADDRESS_MAP_START( manybloc_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_SHARE("mainram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tharrier_map, AS_PROGRAM, 16, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::tharrier_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("IN0")
AM_RANGE(0x080002, 0x080003) AM_READ(tharrier_mcu_r) // AM_READ_PORT("IN1")
@@ -395,7 +395,7 @@ static ADDRESS_MAP_START( tharrier_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM_WRITE(nmk16_mainram_strange_w) AM_SHARE("mainram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tharrier_sound_map, AS_PROGRAM, 8, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::tharrier_sound_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xf000, 0xf000) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_DEVWRITE("soundlatch2", generic_latch_8_device, write)
@@ -405,7 +405,7 @@ static ADDRESS_MAP_START( tharrier_sound_map, AS_PROGRAM, 8, nmk16_state )
AM_RANGE(0xf700, 0xf700) AM_WRITE(tharrier_oki6295_bankswitch_1_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tharrier_sound_io_map, AS_IO, 8, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::tharrier_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
ADDRESS_MAP_END
@@ -413,7 +413,7 @@ ADDRESS_MAP_END
//Read input port 1 030c8/ BAD
//3478 GOOD
-static ADDRESS_MAP_START( mustang_map, AS_PROGRAM, 16, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::mustang_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("IN0")
AM_RANGE(0x080002, 0x080003) AM_READ_PORT("IN1")
@@ -430,7 +430,7 @@ static ADDRESS_MAP_START( mustang_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM_WRITE(nmk16_mainram_strange_w) AM_SHARE("mainram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mustangb_map, AS_PROGRAM, 16, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::mustangb_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("IN0")
AM_RANGE(0x080002, 0x080003) AM_READ_PORT("IN1")
@@ -448,7 +448,7 @@ static ADDRESS_MAP_START( mustangb_map, AS_PROGRAM, 16, nmk16_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( twinactn_map, AS_PROGRAM, 16, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::twinactn_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("IN0")
AM_RANGE(0x080002, 0x080003) AM_READ_PORT("IN1")
@@ -466,7 +466,7 @@ static ADDRESS_MAP_START( twinactn_map, AS_PROGRAM, 16, nmk16_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( acrobatm_map, AS_PROGRAM, 16, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::acrobatm_map)
AM_RANGE(0x00000, 0x3ffff) AM_ROM
AM_RANGE(0x80000, 0x8ffff) AM_RAM AM_SHARE("mainram")
AM_RANGE(0xc0000, 0xc0001) AM_READ_PORT("IN0")
@@ -484,7 +484,7 @@ static ADDRESS_MAP_START( acrobatm_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0xd4000, 0xd47ff) AM_RAM_WRITE(nmk_txvideoram_w) AM_SHARE("nmk_txvideoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bioship_map, AS_PROGRAM, 16, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::bioship_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("IN0")
AM_RANGE(0x080002, 0x080003) AM_READ_PORT("IN1")
@@ -662,7 +662,7 @@ WRITE16_MEMBER(nmk16_state::hachamf_mainram_w)
}
-static ADDRESS_MAP_START( hachamf_map, AS_PROGRAM, 16, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::hachamf_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
/* I/O Region */
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("IN0")
@@ -889,7 +889,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(nmk16_state::hachamf_mcu_sim)
mcu_run(0);
}
-static ADDRESS_MAP_START( tdragon_map, AS_PROGRAM, 16, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::tdragon_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x044022, 0x044023) AM_READNOP /* No Idea */
// AM_RANGE(0x0b0000, 0x0b7fff) AM_RAM /* Work RAM */
@@ -919,7 +919,7 @@ READ16_MEMBER(nmk16_state::tdragonb_prot_r)
return 0x0003;
}
-static ADDRESS_MAP_START( tdragonb_map, AS_PROGRAM, 16, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::tdragonb_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x044022, 0x044023) AM_READ(tdragonb_prot_r)
AM_RANGE(0x0b0000, 0x0bffff) AM_RAM AM_SHARE("mainram")
@@ -936,7 +936,7 @@ static ADDRESS_MAP_START( tdragonb_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x0d0000, 0x0d07ff) AM_RAM_WRITE(nmk_txvideoram_w) AM_SHARE("nmk_txvideoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ssmissin_map, AS_PROGRAM, 16, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::ssmissin_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x0b0000, 0x0bffff) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x0c0000, 0x0c0001) AM_READ_PORT("IN0")
@@ -952,7 +952,7 @@ static ADDRESS_MAP_START( ssmissin_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x0d0000, 0x0d07ff) AM_MIRROR(0x1800) AM_RAM_WRITE(nmk_txvideoram_w) AM_SHARE("nmk_txvideoram") //mirror for airattck
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ssmissin_sound_map, AS_PROGRAM, 8, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::ssmissin_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_WRITE(ssmissin_soundbank_w)
@@ -960,17 +960,17 @@ static ADDRESS_MAP_START( ssmissin_sound_map, AS_PROGRAM, 8, nmk16_state )
AM_RANGE(0xa000, 0xa000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( oki1_map, 0, 8, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::oki1_map)
AM_RANGE(0x00000, 0x1ffff) AM_ROM
AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK("okibank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( oki2_map, 0, 8, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::oki2_map)
AM_RANGE(0x00000, 0x1ffff) AM_ROM
AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK("okibank2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( strahl_map, AS_PROGRAM, 16, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::strahl_map)
AM_RANGE(0x00000, 0x3ffff) AM_ROM
AM_RANGE(0x80000, 0x80001) AM_READ_PORT("IN0")
AM_RANGE(0x80002, 0x80003) AM_READ_PORT("IN1")
@@ -989,7 +989,7 @@ static ADDRESS_MAP_START( strahl_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0xf0000, 0xfffff) AM_RAM AM_SHARE("mainram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( macross_map, AS_PROGRAM, 16, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::macross_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("IN0")
AM_RANGE(0x080002, 0x080003) AM_READ_PORT("IN1")
@@ -1007,7 +1007,7 @@ static ADDRESS_MAP_START( macross_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM_WRITE(nmk16_mainram_strange_w) AM_SHARE("mainram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gunnail_map, AS_PROGRAM, 16, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::gunnail_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("IN0")
AM_RANGE(0x080002, 0x080003) AM_READ_PORT("IN1")
@@ -1027,7 +1027,7 @@ static ADDRESS_MAP_START( gunnail_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_SHARE("mainram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( macross2_map, AS_PROGRAM, 16, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::macross2_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_READ_PORT("IN0")
AM_RANGE(0x100002, 0x100003) AM_READ_PORT("IN1")
@@ -1053,13 +1053,13 @@ static ADDRESS_MAP_START( macross2_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x1f0000, 0x1fffff) AM_RAM AM_SHARE("mainram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tdragon3h_map, AS_PROGRAM, 16, nmk16_state ) // bootleg has these 2 swapped
+ADDRESS_MAP_START(nmk16_state::tdragon3h_map) // bootleg has these 2 swapped
AM_IMPORT_FROM(macross2_map)
AM_RANGE(0x10000e, 0x10000f) AM_READ_PORT("DSW2")
AM_RANGE(0x10000a, 0x10000b) AM_DEVREAD8("soundlatch2", generic_latch_8_device, read, 0x00ff) /* from Z80 */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( raphero_map, AS_PROGRAM, 16, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::raphero_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_READ_PORT("IN0")
AM_RANGE(0x100002, 0x100003) AM_READ_PORT("IN1")
@@ -1086,7 +1086,7 @@ static ADDRESS_MAP_START( raphero_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x1f0000, 0x1fffff) AM_RAM AM_SHARE("mainram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( raphero_sound_mem_map, AS_PROGRAM, 8, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::raphero_sound_mem_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
@@ -1098,7 +1098,7 @@ static ADDRESS_MAP_START( raphero_sound_mem_map, AS_PROGRAM, 8, nmk16_state )
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( macross2_sound_map, AS_PROGRAM, 8, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::macross2_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") /* banked ROM */
AM_RANGE(0xa000, 0xa000) AM_READNOP /* IRQ ack? watchdog? */
@@ -1107,7 +1107,7 @@ static ADDRESS_MAP_START( macross2_sound_map, AS_PROGRAM, 8, nmk16_state )
AM_RANGE(0xf000, 0xf000) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_DEVWRITE("soundlatch2", generic_latch_8_device, write) /* from 68000 */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( macross2_sound_io_map, AS_IO, 8, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::macross2_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
AM_RANGE(0x80, 0x80) AM_DEVREADWRITE("oki1", okim6295_device, read, write)
@@ -1115,7 +1115,7 @@ static ADDRESS_MAP_START( macross2_sound_io_map, AS_IO, 8, nmk16_state )
AM_RANGE(0x90, 0x97) AM_DEVWRITE("nmk112", nmk112_device, okibank_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bjtwin_map, AS_PROGRAM, 16, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::bjtwin_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("IN0")
AM_RANGE(0x080002, 0x080003) AM_READ_PORT("IN1")
@@ -1132,7 +1132,7 @@ static ADDRESS_MAP_START( bjtwin_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_SHARE("mainram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( atombjt_map, AS_PROGRAM, 16, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::atombjt_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080014, 0x080015) AM_NOP // always 1 in this bootleg. Flip-screen switch not present according to dip sheet.
AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -5024,7 +5024,7 @@ WRITE16_MEMBER(nmk16_state::afega_scroll1_w)
*/
-static ADDRESS_MAP_START( afega_map, AS_PROGRAM, 16, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::afega_map)
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("IN0") // Buttons
@@ -5049,7 +5049,7 @@ static ADDRESS_MAP_START( afega_map, AS_PROGRAM, 16, nmk16_state )
ADDRESS_MAP_END
// firehawk has 0x100000 bytes of program rom (at least the switchable version) so the above can't work.
-static ADDRESS_MAP_START( firehawk_map, AS_PROGRAM, 16, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::firehawk_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fffff)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x280000, 0x280001) AM_READ_PORT("IN0") // Buttons
@@ -5089,7 +5089,7 @@ WRITE8_MEMBER(nmk16_state::spec2k_oki1_banking_w)
m_oki2->set_rom_bank(1);
}
-static ADDRESS_MAP_START( afega_sound_cpu, AS_PROGRAM, 8, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::afega_sound_cpu)
AM_RANGE(0x0003, 0x0003) AM_WRITENOP // bug in sound prg?
AM_RANGE(0x0004, 0x0004) AM_WRITENOP // bug in sound prg?
AM_RANGE(0x0000, 0xefff) AM_ROM
@@ -5099,7 +5099,7 @@ static ADDRESS_MAP_START( afega_sound_cpu, AS_PROGRAM, 8, nmk16_state )
AM_RANGE(0xf80a, 0xf80a) AM_DEVREADWRITE("oki1", okim6295_device, read, write) // M6295
ADDRESS_MAP_END
-static ADDRESS_MAP_START( firehawk_sound_cpu, AS_PROGRAM, 8, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::firehawk_sound_cpu)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xffff) AM_RAM // not used, only tested
@@ -5120,7 +5120,7 @@ WRITE8_MEMBER(nmk16_state::twinactn_oki_bank_w)
// logerror("%04x: oki bank %02x\n", m_audiocpu->pc(), data);
}
-static ADDRESS_MAP_START( twinactn_sound_cpu, AS_PROGRAM, 8, nmk16_state )
+ADDRESS_MAP_START(nmk16_state::twinactn_sound_cpu)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_WRITE(twinactn_oki_bank_w)
diff --git a/src/mame/drivers/nmkmedal.cpp b/src/mame/drivers/nmkmedal.cpp
index 9e2eb2c6ca6..b0004e01e5d 100644
--- a/src/mame/drivers/nmkmedal.cpp
+++ b/src/mame/drivers/nmkmedal.cpp
@@ -41,11 +41,12 @@ public:
{ }
void trocana(machine_config &config);
+ void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, nmkmedal_state )
+ADDRESS_MAP_START(nmkmedal_state::mem_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0xc000, 0xc7ff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/nokia_3310.cpp b/src/mame/drivers/nokia_3310.cpp
index 76754d53485..247158e03c5 100644
--- a/src/mame/drivers/nokia_3310.cpp
+++ b/src/mame/drivers/nokia_3310.cpp
@@ -70,6 +70,7 @@ public:
void noki7110(machine_config &config);
void noki6210(machine_config &config);
void noki3310(machine_config &config);
+ void noki3310_map(address_map &map);
private:
void assert_fiq(int num);
void assert_irq(int num);
@@ -630,7 +631,7 @@ WRITE8_MEMBER(noki3310_state::mad2_mcuif_w)
}
-static ADDRESS_MAP_START( noki3310_map, AS_PROGRAM, 32, noki3310_state )
+ADDRESS_MAP_START(noki3310_state::noki3310_map)
ADDRESS_MAP_GLOBAL_MASK(0x00ffffff)
AM_RANGE(0x00000000, 0x0000ffff) AM_MIRROR(0x80000) AM_READWRITE16(ram_r, ram_w, 0xffffffff) // boot ROM / RAM
AM_RANGE(0x00010000, 0x00010fff) AM_MIRROR(0x8f000) AM_READWRITE16(dsp_ram_r, dsp_ram_w, 0xffffffff) // DSP shared memory
diff --git a/src/mame/drivers/norautp.cpp b/src/mame/drivers/norautp.cpp
index 0e95e1acd5d..5aa52a08438 100644
--- a/src/mame/drivers/norautp.cpp
+++ b/src/mame/drivers/norautp.cpp
@@ -829,13 +829,13 @@ READ8_MEMBER(norautp_state::test2_r)
+----------+---------+--------------+--------+--------------+--------+--------------+------------------------+
*/
-static ADDRESS_MAP_START( norautp_map, AS_PROGRAM, 8, norautp_state )
+ADDRESS_MAP_START(norautp_state::norautp_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x27ff) AM_RAM AM_SHARE("nvram") /* 6116 */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( norautp_portmap, AS_IO, 8, norautp_state )
+ADDRESS_MAP_START(norautp_state::norautp_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x60, 0x63) AM_MIRROR(0x1c) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
AM_RANGE(0xa0, 0xa3) AM_MIRROR(0x1c) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write)
@@ -860,69 +860,69 @@ ADDRESS_MAP_END
*/
-static ADDRESS_MAP_START( nortest1_map, AS_PROGRAM, 8, norautp_state )
+ADDRESS_MAP_START(norautp_state::nortest1_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x5000, 0x57ff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( norautxp_map, AS_PROGRAM, 8, norautp_state )
+ADDRESS_MAP_START(norautp_state::norautxp_map)
// ADDRESS_MAP_GLOBAL_MASK(~0x4000)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x3fff) AM_ROM /* need to be checked */
AM_RANGE(0x6000, 0x67ff) AM_RAM AM_SHARE("nvram") /* HM6116 */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( norautx4_map, AS_PROGRAM, 8, norautp_state )
+ADDRESS_MAP_START(norautp_state::norautx4_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM AM_SHARE("nvram") /* 6116 */
ADDRESS_MAP_END
#ifdef UNUSED_CODE
-static ADDRESS_MAP_START( norautx8_map, AS_PROGRAM, 8, norautp_state )
+ADDRESS_MAP_START(norautp_state::norautx8_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM /* need to be checked */
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("nvram") /* 6116 */
ADDRESS_MAP_END
#endif
-static ADDRESS_MAP_START( kimble_map, AS_PROGRAM, 8, norautp_state )
+ADDRESS_MAP_START(norautp_state::kimble_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xc800, 0xc9ff) AM_RAM /* working RAM? */
ADDRESS_MAP_END
#ifdef UNUSED_CODE
-static ADDRESS_MAP_START( norautxp_portmap, AS_IO, 8, norautp_state )
+ADDRESS_MAP_START(norautp_state::norautxp_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
#endif
-static ADDRESS_MAP_START( newhilop_map, AS_PROGRAM, 8, norautp_state )
+ADDRESS_MAP_START(norautp_state::newhilop_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_SHARE("nvram") /* 6116 */
ADDRESS_MAP_END
/*********** 8080 based **********/
-static ADDRESS_MAP_START( dphl_map, AS_PROGRAM, 8, norautp_state )
+ADDRESS_MAP_START(norautp_state::dphl_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff) /* A15 not connected */
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x5000, 0x53ff) AM_RAM AM_SHARE("nvram") /* should be 2x 0x100 segments (4x 2111) */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dphla_map, AS_PROGRAM, 8, norautp_state )
+ADDRESS_MAP_START(norautp_state::dphla_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ssjkrpkr_map, AS_PROGRAM, 8, norautp_state )
+ADDRESS_MAP_START(norautp_state::ssjkrpkr_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dphltest_map, AS_PROGRAM, 8, norautp_state )
+ADDRESS_MAP_START(norautp_state::dphltest_map)
// ADDRESS_MAP_GLOBAL_MASK(0x7fff) /* A15 not connected */
AM_RANGE(0x0000, 0x6fff) AM_ROM
AM_RANGE(0x7000, 0x7fff) AM_RAM
@@ -942,12 +942,12 @@ ADDRESS_MAP_END
The code read on port $62, when is suppossed to be set as output.
*/
-static ADDRESS_MAP_START( kimbldhl_map, AS_PROGRAM, 8, norautp_state )
+ADDRESS_MAP_START(norautp_state::kimbldhl_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( drhl_map, AS_PROGRAM, 8, norautp_state )
+ADDRESS_MAP_START(norautp_state::drhl_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff) /* A15 not connected */
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x5000, 0x53ff) AM_RAM AM_SHARE("nvram")
diff --git a/src/mame/drivers/notechan.cpp b/src/mame/drivers/notechan.cpp
index 84b9fda303c..e164a390b22 100644
--- a/src/mame/drivers/notechan.cpp
+++ b/src/mame/drivers/notechan.cpp
@@ -315,6 +315,8 @@ public:
DECLARE_WRITE8_MEMBER(out_fa_w);
DECLARE_WRITE8_MEMBER(out_ff_w);
void notechan(machine_config &config);
+ void notechan_map(address_map &map);
+ void notechan_port_map(address_map &map);
};
@@ -322,12 +324,12 @@ public:
* Memory Map Definition *
*********************************************/
-static ADDRESS_MAP_START( notechan_map, AS_PROGRAM, 8, notechan_state )
+ADDRESS_MAP_START(notechan_state::notechan_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xa000, 0xbfff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( notechan_port_map, AS_IO, 8, notechan_state )
+ADDRESS_MAP_START(notechan_state::notechan_port_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xf0, 0xf0) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0xf8, 0xf8) AM_READ_PORT("IN0") AM_WRITE(out_f8_w)
diff --git a/src/mame/drivers/notetaker.cpp b/src/mame/drivers/notetaker.cpp
index f512657656d..ba1f374e3fb 100644
--- a/src/mame/drivers/notetaker.cpp
+++ b/src/mame/drivers/notetaker.cpp
@@ -224,6 +224,8 @@ public:
virtual void machine_reset() override;
void notetakr(machine_config &config);
+ void notetaker_iocpu_io(address_map &map);
+ void notetaker_iocpu_mem(address_map &map);
protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
};
@@ -547,7 +549,7 @@ BootSeqDone is 1, DisableROM is 0, mem map is 0x00000-0x00fff reading is t
BootSeqDone is 1, DisableROM is 1, mem map is entirely RAM or open bus for both reading and writing.
*/
-static ADDRESS_MAP_START(notetaker_iocpu_mem, AS_PROGRAM, 16, notetaker_state)
+ADDRESS_MAP_START(notetaker_state::notetaker_iocpu_mem)
/*
AM_RANGE(0x00000, 0x00fff) AM_ROM AM_REGION("iocpu", 0xff000) // rom is here if either BootSeqDone OR DisableROM are zero. the 1.5 source code and the schematics implies writes here are ignored while rom is enabled; if disablerom is 1 this goes to mainram
AM_RANGE(0x01000, 0x3ffff) AM_RAM AM_REGION("mainram", 0) // 256k of ram (less 4k), shared between both processors. rom goes here if bootseqdone is 0
@@ -595,7 +597,7 @@ x x x x 0 x x x x x x 1 1 0 1 x 1 1 1
x x x x 0 x x x x x x 1 1 1 0 x x x x . R SelADCHi
x x x x 0 x x x x x x 1 1 1 1 x x x x . W CRTSwitch
*/
-static ADDRESS_MAP_START(notetaker_iocpu_io, AS_IO, 16, notetaker_state)
+ADDRESS_MAP_START(notetaker_state::notetaker_iocpu_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x03) AM_MIRROR(0x7E1C) AM_DEVREADWRITE8("iopic8259", pic8259_device, read, write, 0x00ff)
AM_RANGE(0x20, 0x21) AM_MIRROR(0x7E1E) AM_WRITE(IPConReg_w) // I/O processor (rom mapping, etc) control register
diff --git a/src/mame/drivers/nova2001.cpp b/src/mame/drivers/nova2001.cpp
index 97d883f0f00..b30fe4a05e6 100644
--- a/src/mame/drivers/nova2001.cpp
+++ b/src/mame/drivers/nova2001.cpp
@@ -180,7 +180,7 @@ MACHINE_START_MEMBER(nova2001_state,ninjakun)
*
*************************************/
-static ADDRESS_MAP_START( nova2001_map, AS_PROGRAM, 8, nova2001_state )
+ADDRESS_MAP_START(nova2001_state::nova2001_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xa000, 0xa7ff) AM_RAM_WRITE(nova2001_fg_videoram_w) AM_SHARE("fg_videoram")
AM_RANGE(0xa800, 0xafff) AM_RAM_WRITE(nova2001_bg_videoram_w) AM_SHARE("bg_videoram")
@@ -198,7 +198,7 @@ static ADDRESS_MAP_START( nova2001_map, AS_PROGRAM, 8, nova2001_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ninjakun_cpu1_map, AS_PROGRAM, 8, nova2001_state )
+ADDRESS_MAP_START(nova2001_state::ninjakun_cpu1_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8001) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
@@ -217,7 +217,7 @@ static ADDRESS_MAP_START( ninjakun_cpu1_map, AS_PROGRAM, 8, nova2001_state )
AM_RANGE(0xe400, 0xe7ff) AM_RAM AM_SHARE("share2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ninjakun_cpu2_map, AS_PROGRAM, 8, nova2001_state )
+ADDRESS_MAP_START(nova2001_state::ninjakun_cpu2_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x7fff) AM_ROM AM_REGION("maincpu", 0x2000)
AM_RANGE(0x8000, 0x8001) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
@@ -237,7 +237,7 @@ static ADDRESS_MAP_START( ninjakun_cpu2_map, AS_PROGRAM, 8, nova2001_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pkunwar_map, AS_PROGRAM, 8, nova2001_state )
+ADDRESS_MAP_START(nova2001_state::pkunwar_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(nova2001_bg_videoram_w) AM_SHARE("bg_videoram")
@@ -249,13 +249,13 @@ static ADDRESS_MAP_START( pkunwar_map, AS_PROGRAM, 8, nova2001_state )
AM_RANGE(0xe000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pkunwar_io, AS_IO, 8, nova2001_state )
+ADDRESS_MAP_START(nova2001_state::pkunwar_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(pkunwar_flipscreen_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( raiders5_cpu1_map, AS_PROGRAM, 8, nova2001_state )
+ADDRESS_MAP_START(nova2001_state::raiders5_cpu1_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(nova2001_fg_videoram_w) AM_SHARE("fg_videoram")
@@ -271,7 +271,7 @@ static ADDRESS_MAP_START( raiders5_cpu1_map, AS_PROGRAM, 8, nova2001_state )
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("share1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( raiders5_cpu2_map, AS_PROGRAM, 8, nova2001_state )
+ADDRESS_MAP_START(nova2001_state::raiders5_cpu2_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x8001) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
AM_RANGE(0x8001, 0x8001) AM_DEVREAD("ay1", ay8910_device, data_r)
@@ -287,7 +287,7 @@ static ADDRESS_MAP_START( raiders5_cpu2_map, AS_PROGRAM, 8, nova2001_state )
AM_RANGE(0xe002, 0xe002) AM_WRITE(pkunwar_flipscreen_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( raiders5_io, AS_IO, 8, nova2001_state )
+ADDRESS_MAP_START(nova2001_state::raiders5_io)
AM_RANGE(0x00, 0x00) AM_READNOP /* unknown */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/novag6502.cpp b/src/mame/drivers/novag6502.cpp
index 40f010f33ba..06b5ab75827 100644
--- a/src/mame/drivers/novag6502.cpp
+++ b/src/mame/drivers/novag6502.cpp
@@ -118,6 +118,10 @@ public:
DECLARE_WRITE8_MEMBER(sforte_lcd_control_w);
DECLARE_WRITE8_MEMBER(sforte_lcd_data_w);
void sforte(machine_config &config);
+ void cforte_map(address_map &map);
+ void sexpert_map(address_map &map);
+ void sforte_map(address_map &map);
+ void supercon_map(address_map &map);
};
@@ -502,7 +506,7 @@ WRITE8_MEMBER(novag6502_state::sforte_lcd_data_w)
// Super Constellation / Constellation Forte
-static ADDRESS_MAP_START( supercon_map, AS_PROGRAM, 8, novag6502_state )
+ADDRESS_MAP_START(novag6502_state::supercon_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x1c00, 0x1c00) AM_WRITENOP // printer/clock?
AM_RANGE(0x1d00, 0x1d00) AM_WRITENOP // printer/clock?
@@ -511,7 +515,7 @@ static ADDRESS_MAP_START( supercon_map, AS_PROGRAM, 8, novag6502_state )
AM_RANGE(0x2000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cforte_map, AS_PROGRAM, 8, novag6502_state )
+ADDRESS_MAP_START(novag6502_state::cforte_map)
AM_IMPORT_FROM( supercon_map )
AM_RANGE(0x1e00, 0x1e00) AM_READWRITE(supercon_input2_r, cforte_mux_w)
AM_RANGE(0x1f00, 0x1f00) AM_READWRITE(supercon_input1_r, cforte_control_w)
@@ -520,7 +524,7 @@ ADDRESS_MAP_END
// Super Expert / Super Forte
-static ADDRESS_MAP_START( sforte_map, AS_PROGRAM, 8, novag6502_state )
+ADDRESS_MAP_START(novag6502_state::sforte_map)
AM_RANGE(0x0000, 0x1fef) AM_RAM AM_SHARE("nvram") // 8KB RAM, but RAM CE pin is deactivated on $1ff0-$1fff
AM_RANGE(0x1ff0, 0x1ff0) AM_READ(sexpert_input1_r)
AM_RANGE(0x1ff1, 0x1ff1) AM_READ(sexpert_input2_r)
@@ -533,7 +537,7 @@ static ADDRESS_MAP_START( sforte_map, AS_PROGRAM, 8, novag6502_state )
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sexpert_map, AS_PROGRAM, 8, novag6502_state )
+ADDRESS_MAP_START(novag6502_state::sexpert_map)
AM_IMPORT_FROM( sforte_map )
AM_RANGE(0x1ff4, 0x1ff4) AM_WRITE(sexpert_leds_w)
AM_RANGE(0x1ff5, 0x1ff5) AM_WRITE(sexpert_mux_w)
diff --git a/src/mame/drivers/novag68k.cpp b/src/mame/drivers/novag68k.cpp
index 03af1f6bea1..537b882c7bb 100644
--- a/src/mame/drivers/novag68k.cpp
+++ b/src/mame/drivers/novag68k.cpp
@@ -51,6 +51,7 @@ public:
DECLARE_READ8_MEMBER(diablo68k_input1_r);
DECLARE_READ8_MEMBER(diablo68k_input2_r);
void diablo68k(machine_config &config);
+ void diablo68k_map(address_map &map);
};
@@ -111,7 +112,7 @@ READ8_MEMBER(novag68k_state::diablo68k_input2_r)
// Diablo 68000
-static ADDRESS_MAP_START( diablo68k_map, AS_PROGRAM, 16, novag68k_state )
+ADDRESS_MAP_START(novag68k_state::diablo68k_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_ROM AM_REGION("maincpu", 0x10000)
AM_RANGE(0x280000, 0x28ffff) AM_RAM
diff --git a/src/mame/drivers/novagf8.cpp b/src/mame/drivers/novagf8.cpp
index 17425bf2705..b3cdfc47e44 100644
--- a/src/mame/drivers/novagf8.cpp
+++ b/src/mame/drivers/novagf8.cpp
@@ -47,6 +47,8 @@ public:
DECLARE_READ8_MEMBER(delta1_io1_r);
void delta1(machine_config &config);
+ void delta1_io(address_map &map);
+ void delta1_map(address_map &map);
protected:
virtual void machine_start() override;
};
@@ -117,13 +119,13 @@ READ8_MEMBER(novagf8_state::delta1_io1_r)
// Delta-1
-static ADDRESS_MAP_START( delta1_map, AS_PROGRAM, 8, novagf8_state )
+ADDRESS_MAP_START(novagf8_state::delta1_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x0fff) AM_MIRROR(0x1000) AM_ROM // _A13
AM_RANGE(0x2000, 0x20ff) AM_MIRROR(0x1f00) AM_RAM // A13
ADDRESS_MAP_END
-static ADDRESS_MAP_START( delta1_io, AS_IO, 8, novagf8_state )
+ADDRESS_MAP_START(novagf8_state::delta1_io)
AM_RANGE(0x0, 0x0) AM_READWRITE(delta1_io0_r, delta1_io0_w )
AM_RANGE(0x1, 0x1) AM_READWRITE(delta1_io1_r, delta1_io1_w )
AM_RANGE(0xc, 0xf) AM_DEVREADWRITE("f3853", f3853_device, read, write )
diff --git a/src/mame/drivers/nsg6809.cpp b/src/mame/drivers/nsg6809.cpp
index b5a740a3197..7cfc0700af6 100644
--- a/src/mame/drivers/nsg6809.cpp
+++ b/src/mame/drivers/nsg6809.cpp
@@ -50,10 +50,11 @@ public:
required_device<cpu_device> m_maincpu;
void pitchhit(machine_config &config);
+ void main_map(address_map &map);
};
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, nsg6809_state )
+ADDRESS_MAP_START(nsg6809_state::main_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x2800, 0x280f) AM_DEVREADWRITE("via", via6522_device, read, write)
AM_RANGE(0x3000, 0x3003) AM_DEVREADWRITE("acia", mos6551_device, read, write)
diff --git a/src/mame/drivers/nsm.cpp b/src/mame/drivers/nsm.cpp
index 66cb4101043..542262ce1b6 100644
--- a/src/mame/drivers/nsm.cpp
+++ b/src/mame/drivers/nsm.cpp
@@ -39,6 +39,8 @@ public:
DECLARE_WRITE8_MEMBER(cru_w);
DECLARE_WRITE8_MEMBER(oe_w);
void nsm(machine_config &config);
+ void nsm_io_map(address_map &map);
+ void nsm_map(address_map &map);
protected:
// devices
@@ -51,14 +53,14 @@ private:
uint8_t m_cru_count;
};
-static ADDRESS_MAP_START( nsm_map, AS_PROGRAM, 8, nsm_state )
+ADDRESS_MAP_START(nsm_state::nsm_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xe000, 0xefff) AM_RAM
AM_RANGE(0xffec, 0xffed) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
AM_RANGE(0xffee, 0xffef) AM_DEVWRITE("ay2", ay8910_device, address_data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nsm_io_map, AS_IO, 8, nsm_state )
+ADDRESS_MAP_START(nsm_state::nsm_io_map)
// 00-71 selected by IC600 (74LS151)
AM_RANGE(0x0000, 0x0001) AM_READ(ff_r) // 5v supply
AM_RANGE(0x0010, 0x0011) AM_READNOP // antenna
diff --git a/src/mame/drivers/nsmpoker.cpp b/src/mame/drivers/nsmpoker.cpp
index 66f520b9ac5..45646430fff 100644
--- a/src/mame/drivers/nsmpoker.cpp
+++ b/src/mame/drivers/nsmpoker.cpp
@@ -92,6 +92,8 @@ public:
required_device<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
void nsmpoker(machine_config &config);
+ void nsmpoker_map(address_map &map);
+ void nsmpoker_portmap(address_map &map);
};
@@ -175,7 +177,7 @@ READ8_MEMBER(nsmpoker_state::debug_r)
* Memory Map Information *
*************************/
-static ADDRESS_MAP_START( nsmpoker_map, AS_PROGRAM, 8, nsmpoker_state )
+ADDRESS_MAP_START(nsmpoker_state::nsmpoker_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x9000, 0xafff) AM_RAM // OK... cleared at beginning.
AM_RANGE(0xb000, 0xcfff) AM_ROM // WRONG... just to map the last rom somewhere.
@@ -183,7 +185,7 @@ static ADDRESS_MAP_START( nsmpoker_map, AS_PROGRAM, 8, nsmpoker_state )
AM_RANGE(0xf000, 0xffff) AM_RAM_WRITE(nsmpoker_colorram_w) AM_SHARE("colorram") // WRONG... just a placeholder.
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nsmpoker_portmap, AS_IO, 8, nsmpoker_state )
+ADDRESS_MAP_START(nsmpoker_state::nsmpoker_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xf0, 0xf0) AM_READ(debug_r) // kind of trap at beginning
ADDRESS_MAP_END
diff --git a/src/mame/drivers/nss.cpp b/src/mame/drivers/nss.cpp
index a10011b4d15..fd6fdc01de8 100644
--- a/src/mame/drivers/nss.cpp
+++ b/src/mame/drivers/nss.cpp
@@ -351,6 +351,10 @@ public:
DECLARE_READ8_MEMBER(spc_ram_100_r);
DECLARE_WRITE8_MEMBER(spc_ram_100_w);
void nss(machine_config &config);
+ void bios_io_map(address_map &map);
+ void bios_map(address_map &map);
+ void snes_map(address_map &map);
+ void spc_mem(address_map &map);
};
@@ -363,7 +367,7 @@ uint32_t nss_state::screen_update( screen_device &screen, bitmap_rgb32 &bitmap,
-static ADDRESS_MAP_START( snes_map, AS_PROGRAM, 8, nss_state )
+ADDRESS_MAP_START(nss_state::snes_map)
AM_RANGE(0x000000, 0x7dffff) AM_READWRITE(snes_r_bank1, snes_w_bank1)
AM_RANGE(0x7e0000, 0x7fffff) AM_RAM /* 8KB Low RAM, 24KB High RAM, 96KB Expanded RAM */
AM_RANGE(0x800000, 0xffffff) AM_READWRITE(snes_r_bank2, snes_w_bank2) /* Mirror and ROM */
@@ -379,7 +383,7 @@ WRITE8_MEMBER(nss_state::spc_ram_100_w)
m_spc700->spc_ram_w(space, offset + 0x100, data);
}
-static ADDRESS_MAP_START( spc_mem, AS_PROGRAM, 8, nss_state )
+ADDRESS_MAP_START(nss_state::spc_mem)
AM_RANGE(0x0000, 0x00ef) AM_DEVREADWRITE("spc700", snes_sound_device, spc_ram_r, spc_ram_w) /* lower 32k ram */
AM_RANGE(0x00f0, 0x00ff) AM_DEVREADWRITE("spc700", snes_sound_device, spc_io_r, spc_io_w) /* spc io */
AM_RANGE(0x0100, 0xffff) AM_READWRITE(spc_ram_100_r, spc_ram_100_w)
@@ -502,7 +506,7 @@ WRITE8_MEMBER(nss_state::nss_prot_w)
}
-static ADDRESS_MAP_START( bios_map, AS_PROGRAM, 8, nss_state )
+ADDRESS_MAP_START(nss_state::bios_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x9fff) AM_READWRITE(ram_wp_r,ram_wp_w)
@@ -619,7 +623,7 @@ WRITE8_MEMBER(nss_state::port_07_w)
m_joy_flag = 1;
}
-static ADDRESS_MAP_START( bios_io_map, AS_IO, 8, nss_state )
+ADDRESS_MAP_START(nss_state::bios_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7)
AM_RANGE(0x00, 0x00) AM_READ(port_00_r) AM_WRITE(port_00_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("FP") AM_WRITE(port_01_w)
diff --git a/src/mame/drivers/nwk-tr.cpp b/src/mame/drivers/nwk-tr.cpp
index 412595d893e..0178fb35dbc 100644
--- a/src/mame/drivers/nwk-tr.cpp
+++ b/src/mame/drivers/nwk-tr.cpp
@@ -340,6 +340,10 @@ public:
void lanc2_init();
void thrilld(machine_config &config);
void nwktr(machine_config &config);
+ void nwktr_map(address_map &map);
+ void sharc0_map(address_map &map);
+ void sharc1_map(address_map &map);
+ void sound_memmap(address_map &map);
};
@@ -653,7 +657,7 @@ void nwktr_state::machine_start()
m_sound_irq_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(nwktr_state::sound_irq), this));
}
-static ADDRESS_MAP_START( nwktr_map, AS_PROGRAM, 32, nwktr_state )
+ADDRESS_MAP_START(nwktr_state::nwktr_map)
AM_RANGE(0x00000000, 0x003fffff) AM_RAM AM_SHARE("work_ram") /* Work RAM */
AM_RANGE(0x74000000, 0x740000ff) AM_DEVREADWRITE("k001604", k001604_device, reg_r, reg_w)
AM_RANGE(0x74010000, 0x74017fff) AM_RAM_WRITE(paletteram32_w) AM_SHARE("paletteram")
@@ -674,7 +678,7 @@ ADDRESS_MAP_END
/*****************************************************************************/
-static ADDRESS_MAP_START( sound_memmap, AS_PROGRAM, 16, nwktr_state )
+ADDRESS_MAP_START(nwktr_state::sound_memmap)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x200fff) AM_DEVREADWRITE("rfsnd", rf5c400_device, rf5c400_r, rf5c400_w) /* Ricoh RF5C400 */
@@ -706,7 +710,7 @@ WRITE32_MEMBER(nwktr_state::dsp_dataram1_w)
m_sharc1_dataram[offset] = data;
}
-static ADDRESS_MAP_START( sharc0_map, AS_DATA, 32, nwktr_state )
+ADDRESS_MAP_START(nwktr_state::sharc0_map)
AM_RANGE(0x0400000, 0x041ffff) AM_DEVREADWRITE("konppc", konppc_device, cgboard_0_shared_sharc_r, cgboard_0_shared_sharc_w)
AM_RANGE(0x0500000, 0x05fffff) AM_READWRITE(dsp_dataram0_r, dsp_dataram0_w)
AM_RANGE(0x1400000, 0x14fffff) AM_RAM
@@ -716,7 +720,7 @@ static ADDRESS_MAP_START( sharc0_map, AS_DATA, 32, nwktr_state )
AM_RANGE(0x3600000, 0x37fffff) AM_ROMBANK("bank5")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(sharc1_map, AS_DATA, 32, nwktr_state)
+ADDRESS_MAP_START(nwktr_state::sharc1_map)
AM_RANGE(0x0400000, 0x041ffff) AM_DEVREADWRITE("konppc", konppc_device, cgboard_1_shared_sharc_r, cgboard_1_shared_sharc_w)
AM_RANGE(0x0500000, 0x05fffff) AM_READWRITE(dsp_dataram1_r, dsp_dataram1_w)
AM_RANGE(0x1400000, 0x14fffff) AM_RAM
diff --git a/src/mame/drivers/nycaptor.cpp b/src/mame/drivers/nycaptor.cpp
index db2e673509a..ca128d93d50 100644
--- a/src/mame/drivers/nycaptor.cpp
+++ b/src/mame/drivers/nycaptor.cpp
@@ -281,7 +281,7 @@ WRITE8_MEMBER(nycaptor_state::nycaptor_generic_control_w)
membank("bank1")->set_entry((data&0x08)>>3);
}
-static ADDRESS_MAP_START( nycaptor_master_map, AS_PROGRAM, 8, nycaptor_state )
+ADDRESS_MAP_START(nycaptor_state::nycaptor_master_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(nycaptor_videoram_w) AM_SHARE("videoram")
@@ -307,7 +307,7 @@ static ADDRESS_MAP_START( nycaptor_master_map, AS_PROGRAM, 8, nycaptor_state )
AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("sharedram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nycaptor_slave_map, AS_PROGRAM, 8, nycaptor_state )
+ADDRESS_MAP_START(nycaptor_state::nycaptor_slave_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(nycaptor_videoram_w) AM_SHARE("videoram")
AM_RANGE(0xd800, 0xd800) AM_READ_PORT("DSWA")
@@ -326,7 +326,7 @@ static ADDRESS_MAP_START( nycaptor_slave_map, AS_PROGRAM, 8, nycaptor_state )
AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("sharedram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, nycaptor_state )
+ADDRESS_MAP_START(nycaptor_state::sound_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc801) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
@@ -376,7 +376,7 @@ WRITE8_MEMBER(nycaptor_state::cyclshtg_generic_control_w)
}
-static ADDRESS_MAP_START( cyclshtg_master_map, AS_PROGRAM, 8, nycaptor_state )
+ADDRESS_MAP_START(nycaptor_state::cyclshtg_master_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xcfff) AM_RAM_WRITE(nycaptor_videoram_w) AM_SHARE("videoram")
@@ -401,7 +401,7 @@ static ADDRESS_MAP_START( cyclshtg_master_map, AS_PROGRAM, 8, nycaptor_state )
AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("sharedram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cyclshtg_slave_map, AS_PROGRAM, 8, nycaptor_state )
+ADDRESS_MAP_START(nycaptor_state::cyclshtg_slave_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM_WRITE(nycaptor_videoram_w) AM_SHARE("videoram")
AM_RANGE(0xd800, 0xd800) AM_READ_PORT("DSWA")
@@ -425,7 +425,7 @@ READ8_MEMBER(nycaptor_state::unk_r)
return machine().rand();
}
-static ADDRESS_MAP_START( bronx_master_map, AS_PROGRAM, 8, nycaptor_state )
+ADDRESS_MAP_START(nycaptor_state::bronx_master_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xcfff) AM_RAM_WRITE(nycaptor_videoram_w) AM_SHARE("videoram")
@@ -450,7 +450,7 @@ static ADDRESS_MAP_START( bronx_master_map, AS_PROGRAM, 8, nycaptor_state )
AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("sharedram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bronx_slave_map, AS_PROGRAM, 8, nycaptor_state )
+ADDRESS_MAP_START(nycaptor_state::bronx_slave_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM_WRITE(nycaptor_videoram_w) AM_SHARE("videoram")
AM_RANGE(0xd800, 0xd800) AM_READ_PORT("DSWA")
@@ -470,7 +470,7 @@ static ADDRESS_MAP_START( bronx_slave_map, AS_PROGRAM, 8, nycaptor_state )
AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("sharedram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bronx_slave_io_map, AS_IO, 8, nycaptor_state )
+ADDRESS_MAP_START(nycaptor_state::bronx_slave_io_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("user1", 0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/nyny.cpp b/src/mame/drivers/nyny.cpp
index 69e8fc0d2a7..af5253116b1 100644
--- a/src/mame/drivers/nyny.cpp
+++ b/src/mame/drivers/nyny.cpp
@@ -158,6 +158,9 @@ public:
MC6845_UPDATE_ROW(crtc_update_row);
MC6845_END_UPDATE(crtc_end_update);
void nyny(machine_config &config);
+ void nyny_audio_1_map(address_map &map);
+ void nyny_audio_2_map(address_map &map);
+ void nyny_main_map(address_map &map);
};
@@ -423,7 +426,7 @@ WRITE8_MEMBER(nyny_state::nyny_pia_1_2_w)
}
-static ADDRESS_MAP_START( nyny_main_map, AS_PROGRAM, 8, nyny_state )
+ADDRESS_MAP_START(nyny_state::nyny_main_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("videoram1")
AM_RANGE(0x2000, 0x3fff) AM_RAM AM_SHARE("colorram1")
AM_RANGE(0x4000, 0x5fff) AM_RAM AM_SHARE("videoram2")
@@ -441,7 +444,7 @@ static ADDRESS_MAP_START( nyny_main_map, AS_PROGRAM, 8, nyny_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nyny_audio_1_map, AS_PROGRAM, 8, nyny_state )
+ADDRESS_MAP_START(nyny_state::nyny_audio_1_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x007f) AM_RAM /* internal RAM */
AM_RANGE(0x0080, 0x0fff) AM_NOP
@@ -458,7 +461,7 @@ static ADDRESS_MAP_START( nyny_audio_1_map, AS_PROGRAM, 8, nyny_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nyny_audio_2_map, AS_PROGRAM, 8, nyny_state )
+ADDRESS_MAP_START(nyny_state::nyny_audio_2_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x007f) AM_RAM /* internal RAM */
AM_RANGE(0x0080, 0x0fff) AM_NOP
diff --git a/src/mame/drivers/ob68k1a.cpp b/src/mame/drivers/ob68k1a.cpp
index 2e7fc15f172..28a2d92527c 100644
--- a/src/mame/drivers/ob68k1a.cpp
+++ b/src/mame/drivers/ob68k1a.cpp
@@ -117,7 +117,7 @@ WRITE8_MEMBER( ob68k1a_state::pia_w )
// ADDRESS_MAP( ob68k1a_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( ob68k1a_mem, AS_PROGRAM, 16, ob68k1a_state )
+ADDRESS_MAP_START(ob68k1a_state::ob68k1a_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x01ffff) AM_RAM
AM_RANGE(0xfe0000, 0xfeffff) AM_ROM AM_REGION(MC68000L10_TAG, 0)
diff --git a/src/mame/drivers/octopus.cpp b/src/mame/drivers/octopus.cpp
index a5d2e1eafe5..93b55c0fdad 100644
--- a/src/mame/drivers/octopus.cpp
+++ b/src/mame/drivers/octopus.cpp
@@ -225,6 +225,11 @@ public:
};
void octopus(machine_config &config);
+ void octopus_io(address_map &map);
+ void octopus_mem(address_map &map);
+ void octopus_sub_io(address_map &map);
+ void octopus_sub_mem(address_map &map);
+ void octopus_vram(address_map &map);
protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
@@ -280,7 +285,7 @@ private:
};
-static ADDRESS_MAP_START( octopus_mem, AS_PROGRAM, 8, octopus_state )
+ADDRESS_MAP_START(octopus_state::octopus_mem)
AM_RANGE(0x00000, 0xcffff) AM_RAMBANK("main_ram_bank")
AM_RANGE(0xd0000, 0xdffff) AM_RAM AM_SHARE("vram")
AM_RANGE(0xe0000, 0xe3fff) AM_NOP
@@ -290,7 +295,7 @@ static ADDRESS_MAP_START( octopus_mem, AS_PROGRAM, 8, octopus_state )
AM_RANGE(0xfc000, 0xfffff) AM_ROM AM_REGION("user1",0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( octopus_io, AS_IO, 8, octopus_state )
+ADDRESS_MAP_START(octopus_state::octopus_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x0f) AM_DEVREADWRITE("dma1", am9517a_device, read, write)
AM_RANGE(0x10, 0x1f) AM_DEVREADWRITE("dma2", am9517a_device, read, write)
@@ -318,16 +323,16 @@ static ADDRESS_MAP_START( octopus_io, AS_IO, 8, octopus_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( octopus_sub_mem, AS_PROGRAM, 8, octopus_state )
+ADDRESS_MAP_START(octopus_state::octopus_sub_mem)
AM_RANGE(0x0000, 0xffff) AM_DEVREADWRITE("z80_bank", address_map_bank_device, read8, write8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( octopus_sub_io, AS_IO, 8, octopus_state )
+ADDRESS_MAP_START(octopus_state::octopus_sub_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xffff) AM_READWRITE(z80_io_r, z80_io_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( octopus_vram, 0, 8, octopus_state )
+ADDRESS_MAP_START(octopus_state::octopus_vram)
AM_RANGE(0x0000,0xffff) AM_READWRITE(vram_r, vram_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/odyssey.cpp b/src/mame/drivers/odyssey.cpp
index abcf2476e32..da68746f3b3 100644
--- a/src/mame/drivers/odyssey.cpp
+++ b/src/mame/drivers/odyssey.cpp
@@ -84,6 +84,7 @@ public:
virtual void video_start() override;
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void odyssey(machine_config &config);
+ void odyssey_map(address_map &map);
};
void odyssey_state::video_start()
@@ -100,7 +101,7 @@ uint32_t odyssey_state::screen_update(screen_device &screen, bitmap_rgb32 &bitma
* Memory Map *
**************************************/
-static ADDRESS_MAP_START( odyssey_map, AS_PROGRAM, 32, odyssey_state )
+ADDRESS_MAP_START(odyssey_state::odyssey_map)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/odyssey2.cpp b/src/mame/drivers/odyssey2.cpp
index 455424bb47f..b63eafdcd3d 100644
--- a/src/mame/drivers/odyssey2.cpp
+++ b/src/mame/drivers/odyssey2.cpp
@@ -64,6 +64,8 @@ public:
void odyssey2_cartslot(machine_config &config);
void videopac(machine_config &config);
void odyssey2(machine_config &config);
+ void odyssey2_io(address_map &map);
+ void odyssey2_mem(address_map &map);
protected:
/* constants */
static const uint8_t P1_BANK_LO_BIT = 0x01;
@@ -102,25 +104,26 @@ public:
void g7400(machine_config &config);
void odyssey3(machine_config &config);
+ void g7400_io(address_map &map);
protected:
uint8_t m_ic674_decode[8];
uint8_t m_ic678_decode[8];
};
-static ADDRESS_MAP_START( odyssey2_mem , AS_PROGRAM, 8, odyssey2_state )
+ADDRESS_MAP_START(odyssey2_state::odyssey2_mem)
AM_RANGE(0x0000, 0x03ff) AM_ROM
AM_RANGE(0x0400, 0x0bff) AM_DEVREAD("cartslot", o2_cart_slot_device, read_rom04)
AM_RANGE(0x0c00, 0x0fff) AM_DEVREAD("cartslot", o2_cart_slot_device, read_rom0c)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( odyssey2_io , AS_IO, 8, odyssey2_state )
+ADDRESS_MAP_START(odyssey2_state::odyssey2_io)
AM_RANGE(0x00, 0xff) AM_READWRITE(io_read, io_write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( g7400_io , AS_IO, 8, g7400_state )
+ADDRESS_MAP_START(g7400_state::g7400_io)
AM_RANGE(0x00, 0xff) AM_READWRITE(io_read, io_write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/offtwall.cpp b/src/mame/drivers/offtwall.cpp
index 8fc587e0eee..22ed1fdcb50 100644
--- a/src/mame/drivers/offtwall.cpp
+++ b/src/mame/drivers/offtwall.cpp
@@ -235,7 +235,7 @@ READ16_MEMBER(offtwall_state::unknown_verify_r)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, offtwall_state )
+ADDRESS_MAP_START(offtwall_state::main_map)
AM_RANGE(0x000000, 0x037fff) AM_ROM
AM_RANGE(0x038000, 0x03ffff) AM_READ(bankrom_r) AM_REGION("maincpu", 0x38000) AM_SHARE("bankrom_base")
AM_RANGE(0x120000, 0x120fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
diff --git a/src/mame/drivers/ohmygod.cpp b/src/mame/drivers/ohmygod.cpp
index 725f98cff9f..4f097d864de 100644
--- a/src/mame/drivers/ohmygod.cpp
+++ b/src/mame/drivers/ohmygod.cpp
@@ -41,7 +41,7 @@ WRITE16_MEMBER(ohmygod_state::ohmygod_ctrl_w)
}
}
-static ADDRESS_MAP_START( ohmygod_map, AS_PROGRAM, 16, ohmygod_state )
+ADDRESS_MAP_START(ohmygod_state::ohmygod_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x300000, 0x303fff) AM_RAM
AM_RANGE(0x304000, 0x307fff) AM_RAM_WRITE(ohmygod_videoram_w) AM_SHARE("videoram")
@@ -62,7 +62,7 @@ static ADDRESS_MAP_START( ohmygod_map, AS_PROGRAM, 16, ohmygod_state )
AM_RANGE(0xd00000, 0xd00001) AM_WRITE(ohmygod_spritebank_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( oki_map, 0, 8, ohmygod_state )
+ADDRESS_MAP_START(ohmygod_state::oki_map)
AM_RANGE(0x00000, 0x1ffff) AM_ROM
AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK("okibank")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ojankohs.cpp b/src/mame/drivers/ojankohs.cpp
index 7dd199abe5a..41cc40f0154 100644
--- a/src/mame/drivers/ojankohs.cpp
+++ b/src/mame/drivers/ojankohs.cpp
@@ -96,7 +96,7 @@ WRITE8_MEMBER(ojankohs_state::ojankoc_ctrl_w)
}
-static ADDRESS_MAP_START( ojankohs_map, AS_PROGRAM, 8, ojankohs_state )
+ADDRESS_MAP_START(ojankohs_state::ojankohs_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM_WRITE(ojankohs_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x9000, 0x9fff) AM_RAM_WRITE(ojankohs_colorram_w) AM_SHARE("colorram")
@@ -106,7 +106,7 @@ static ADDRESS_MAP_START( ojankohs_map, AS_PROGRAM, 8, ojankohs_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ojankoy_map, AS_PROGRAM, 8, ojankohs_state )
+ADDRESS_MAP_START(ojankohs_state::ojankoy_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_RAM_WRITE(ojankohs_videoram_w) AM_SHARE("videoram")
AM_RANGE(0xa000, 0xafff) AM_RAM_WRITE(ojankohs_colorram_w) AM_SHARE("colorram")
@@ -115,14 +115,14 @@ static ADDRESS_MAP_START( ojankoy_map, AS_PROGRAM, 8, ojankohs_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ojankoc_map, AS_PROGRAM, 8, ojankohs_state )
+ADDRESS_MAP_START(ojankohs_state::ojankoc_map)
AM_RANGE(0x0000, 0x77ff) AM_ROM
AM_RANGE(0x7800, 0x7fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1") AM_WRITE(ojankoc_videoram_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ojankohs_io_map, AS_IO, 8, ojankohs_state )
+ADDRESS_MAP_START(ojankohs_state::ojankohs_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("system") AM_WRITE(port_select_w)
AM_RANGE(0x01, 0x01) AM_READWRITE(keymatrix_p1_r, ojankohs_rombank_w)
@@ -135,7 +135,7 @@ static ADDRESS_MAP_START( ojankohs_io_map, AS_IO, 8, ojankohs_state )
AM_RANGE(0x10, 0x11) AM_DEVWRITE("gga", vsystem_gga_device, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ojankoy_io_map, AS_IO, 8, ojankohs_state )
+ADDRESS_MAP_START(ojankohs_state::ojankoy_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("system") AM_WRITE(port_select_w)
AM_RANGE(0x01, 0x01) AM_READWRITE(keymatrix_p1_r, ojankoy_rombank_w)
@@ -146,7 +146,7 @@ static ADDRESS_MAP_START( ojankoy_io_map, AS_IO, 8, ojankohs_state )
AM_RANGE(0x06, 0x07) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ccasino_io_map, AS_IO, 8, ojankohs_state )
+ADDRESS_MAP_START(ojankohs_state::ccasino_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("system") AM_WRITE(port_select_w)
AM_RANGE(0x01, 0x01) AM_READWRITE(keymatrix_p1_r, ojankohs_rombank_w)
@@ -160,7 +160,7 @@ static ADDRESS_MAP_START( ccasino_io_map, AS_IO, 8, ojankohs_state )
AM_RANGE(0x10, 0x11) AM_DEVWRITE("gga", vsystem_gga_device, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ojankoc_io_map, AS_IO, 8, ojankohs_state )
+ADDRESS_MAP_START(ojankohs_state::ojankoc_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x1f) AM_WRITE(ojankoc_palette_w)
AM_RANGE(0xf9, 0xf9) AM_WRITE(ojankohs_msm5205_w)
diff --git a/src/mame/drivers/okean240.cpp b/src/mame/drivers/okean240.cpp
index 28ba7907d26..14047ca11bd 100644
--- a/src/mame/drivers/okean240.cpp
+++ b/src/mame/drivers/okean240.cpp
@@ -97,6 +97,10 @@ public:
void okean240a(machine_config &config);
void okean240t(machine_config &config);
void okean240(machine_config &config);
+ void okean240_io(address_map &map);
+ void okean240_mem(address_map &map);
+ void okean240a_io(address_map &map);
+ void okean240t_io(address_map &map);
private:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -215,7 +219,7 @@ WRITE8_MEMBER(okean240_state::scroll_w)
m_scroll = data;
}
-static ADDRESS_MAP_START(okean240_mem, AS_PROGRAM, 8, okean240_state)
+ADDRESS_MAP_START(okean240_state::okean240_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x07ff) AM_RAMBANK("boot")
AM_RANGE(0x0800, 0x3fff) AM_RAM
@@ -224,7 +228,7 @@ static ADDRESS_MAP_START(okean240_mem, AS_PROGRAM, 8, okean240_state)
AM_RANGE(0xc000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(okean240_io, AS_IO, 8, okean240_state)
+ADDRESS_MAP_START(okean240_state::okean240_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x40, 0x43) AM_DEVREADWRITE("ppikbd", i8255_device, read, write)
AM_RANGE(0x60, 0x63) AM_DEVREADWRITE("pit", pit8253_device, read, write)
@@ -236,7 +240,7 @@ static ADDRESS_MAP_START(okean240_io, AS_IO, 8, okean240_state)
AM_RANGE(0xe0, 0xe3) AM_DEVREADWRITE("ppie", i8255_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(okean240a_io, AS_IO, 8, okean240_state)
+ADDRESS_MAP_START(okean240_state::okean240a_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x40, 0x43) AM_DEVREADWRITE("ppikbd", i8255_device, read, write)
AM_RANGE(0x60, 0x63) AM_DEVREADWRITE("pit", pit8253_device, read, write)
@@ -258,7 +262,7 @@ static ADDRESS_MAP_START(okean240a_io, AS_IO, 8, okean240_state)
// AM_RANGE(0xe0, 0xff)=ppaE0.data
ADDRESS_MAP_END
-static ADDRESS_MAP_START(okean240t_io, AS_IO, 8, okean240_state)
+ADDRESS_MAP_START(okean240_state::okean240t_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x20, 0x23) AM_WRITENOP
AM_RANGE(0x40, 0x43) AM_DEVREADWRITE("ppikbd", i8255_device, read, write)
diff --git a/src/mame/drivers/olibochu.cpp b/src/mame/drivers/olibochu.cpp
index 98fdb92340f..64c3d3d7159 100644
--- a/src/mame/drivers/olibochu.cpp
+++ b/src/mame/drivers/olibochu.cpp
@@ -105,6 +105,8 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(olibochu_scanline);
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
void olibochu(machine_config &config);
+ void olibochu_map(address_map &map);
+ void olibochu_sound_map(address_map &map);
};
@@ -268,7 +270,7 @@ WRITE8_MEMBER(olibochu_state::sound_command_w)
}
-static ADDRESS_MAP_START( olibochu_map, AS_PROGRAM, 8, olibochu_state )
+ADDRESS_MAP_START(olibochu_state::olibochu_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(olibochu_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(olibochu_colorram_w) AM_SHARE("colorram")
@@ -287,7 +289,7 @@ static ADDRESS_MAP_START( olibochu_map, AS_PROGRAM, 8, olibochu_state )
AM_RANGE(0xf440, 0xf47f) AM_RAM AM_SHARE("spriteram2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( olibochu_sound_map, AS_PROGRAM, 8, olibochu_state )
+ADDRESS_MAP_START(olibochu_state::olibochu_sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x6000, 0x63ff) AM_RAM
AM_RANGE(0x7000, 0x7000) AM_DEVREAD("soundlatch", generic_latch_8_device, read) /* likely ay8910 input port, not direct */
diff --git a/src/mame/drivers/olyboss.cpp b/src/mame/drivers/olyboss.cpp
index 797ff6597fe..9ed88c75ee4 100644
--- a/src/mame/drivers/olyboss.cpp
+++ b/src/mame/drivers/olyboss.cpp
@@ -71,6 +71,8 @@ public:
DECLARE_READ8_MEMBER( dma_mem_r );
void olybossd(machine_config &config);
+ void olyboss_io(address_map &map);
+ void olyboss_mem(address_map &map);
private:
required_device<cpu_device> m_maincpu;
@@ -89,14 +91,14 @@ private:
// ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START(olyboss_mem, AS_PROGRAM, 8, olyboss_state)
+ADDRESS_MAP_START(olyboss_state::olyboss_mem)
AM_RANGE(0x0000, 0x7ff ) AM_ROM AM_REGION("mainrom", 0)
AM_RANGE(0x800, 0xbffd) AM_RAM
AM_RANGE(0xbffe, 0xbfff) AM_READ(keyboard_read)
AM_RANGE(0xc000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(olyboss_io, AS_IO, 8, olyboss_state)
+ADDRESS_MAP_START(olyboss_state::olyboss_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0, 0x8) AM_DEVREADWRITE(I8257_TAG, i8257_device, read, write)
diff --git a/src/mame/drivers/omegrace.cpp b/src/mame/drivers/omegrace.cpp
index 108878f91d8..803f9afc576 100644
--- a/src/mame/drivers/omegrace.cpp
+++ b/src/mame/drivers/omegrace.cpp
@@ -251,6 +251,10 @@ public:
DECLARE_DRIVER_INIT(omegrace);
virtual void machine_reset() override;
void omegrace(machine_config &config);
+ void main_map(address_map &map);
+ void port_map(address_map &map);
+ void sound_map(address_map &map);
+ void sound_port(address_map &map);
};
@@ -356,7 +360,7 @@ WRITE8_MEMBER(omegrace_state::omegrace_soundlatch_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, omegrace_state )
+ADDRESS_MAP_START(omegrace_state::main_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x4bff) AM_RAM
AM_RANGE(0x5c00, 0x5cff) AM_RAM AM_SHARE("nvram") /* NVRAM */
@@ -365,7 +369,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, omegrace_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( port_map, AS_IO, 8, omegrace_state )
+ADDRESS_MAP_START(omegrace_state::port_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x08, 0x08) AM_READ(omegrace_vg_go_r)
AM_RANGE(0x09, 0x09) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
@@ -388,13 +392,13 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, omegrace_state )
+ADDRESS_MAP_START(omegrace_state::sound_map)
AM_RANGE(0x0000, 0x07ff) AM_ROM AM_MIRROR(0x800)
AM_RANGE(0x1000, 0x13ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_port, AS_IO, 8, omegrace_state )
+ADDRESS_MAP_START(omegrace_state::sound_port)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch", generic_latch_8_device, read) // the game reads from ay1 port b, but ay8912 only has port a
AM_RANGE(0x00, 0x01) AM_DEVWRITE("ay1", ay8912_device, address_data_w)
diff --git a/src/mame/drivers/ondra.cpp b/src/mame/drivers/ondra.cpp
index e68c922df41..d2793f1429a 100644
--- a/src/mame/drivers/ondra.cpp
+++ b/src/mame/drivers/ondra.cpp
@@ -22,13 +22,13 @@
/* Address maps */
-static ADDRESS_MAP_START(ondra_mem, AS_PROGRAM, 8, ondra_state )
+ADDRESS_MAP_START(ondra_state::ondra_mem)
AM_RANGE(0x0000, 0x3fff) AM_RAMBANK("bank1")
AM_RANGE(0x4000, 0xdfff) AM_RAMBANK("bank2")
AM_RANGE(0xe000, 0xffff) AM_RAMBANK("bank3")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ondra_io, AS_IO, 8, ondra_state )
+ADDRESS_MAP_START(ondra_state::ondra_io)
ADDRESS_MAP_GLOBAL_MASK(0x0b)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x03, 0x03) AM_WRITE(ondra_port_03_w)
diff --git a/src/mame/drivers/oneshot.cpp b/src/mame/drivers/oneshot.cpp
index 1669b8e9e8b..4dabf63ff1d 100644
--- a/src/mame/drivers/oneshot.cpp
+++ b/src/mame/drivers/oneshot.cpp
@@ -109,7 +109,7 @@ WRITE16_MEMBER(oneshot_state::soundbank_w)
-static ADDRESS_MAP_START( oneshot_map, AS_PROGRAM, 16, oneshot_state )
+ADDRESS_MAP_START(oneshot_state::oneshot_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x087fff) AM_RAM
AM_RANGE(0x0c0000, 0x0c07ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -132,7 +132,7 @@ static ADDRESS_MAP_START( oneshot_map, AS_PROGRAM, 16, oneshot_state )
AM_RANGE(0x19c034, 0x19c035) AM_READ_PORT("P2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( oneshot_sound_map, AS_PROGRAM, 8, oneshot_state )
+ADDRESS_MAP_START(oneshot_state::oneshot_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8000) AM_DEVREADWRITE("soundlatch", generic_latch_8_device, read, write)
AM_RANGE(0x8001, 0x87ff) AM_RAM
diff --git a/src/mame/drivers/onetwo.cpp b/src/mame/drivers/onetwo.cpp
index b037f1f41af..c838830babe 100644
--- a/src/mame/drivers/onetwo.cpp
+++ b/src/mame/drivers/onetwo.cpp
@@ -94,6 +94,10 @@ public:
uint32_t screen_update_onetwo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void set_color(int offset);
void onetwo(machine_config &config);
+ void main_cpu(address_map &map);
+ void main_cpu_io(address_map &map);
+ void sound_cpu(address_map &map);
+ void sound_cpu_io(address_map &map);
};
@@ -177,7 +181,7 @@ WRITE8_MEMBER(onetwo_state::palette2_w)
*
*************************************/
-static ADDRESS_MAP_START( main_cpu, AS_PROGRAM, 8, onetwo_state )
+ADDRESS_MAP_START(onetwo_state::main_cpu)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("maincpu", 0x10000)
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc800, 0xc87f) AM_RAM_WRITE(palette1_w) AM_SHARE("paletteram")
@@ -186,7 +190,7 @@ static ADDRESS_MAP_START( main_cpu, AS_PROGRAM, 8, onetwo_state )
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_cpu_io, AS_IO, 8, onetwo_state )
+ADDRESS_MAP_START(onetwo_state::main_cpu_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW1") AM_WRITE(onetwo_coin_counters_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("DSW2") AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
@@ -195,13 +199,13 @@ static ADDRESS_MAP_START( main_cpu_io, AS_IO, 8, onetwo_state )
AM_RANGE(0x04, 0x04) AM_READ_PORT("SYSTEM")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_cpu, AS_PROGRAM, 8, onetwo_state )
+ADDRESS_MAP_START(onetwo_state::sound_cpu)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xf800) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_cpu_io, AS_IO, 8, onetwo_state )
+ADDRESS_MAP_START(onetwo_state::sound_cpu_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("ymsnd", ym3812_device, status_port_r, control_port_w)
AM_RANGE(0x20, 0x20) AM_DEVWRITE("ymsnd", ym3812_device, write_port_w)
diff --git a/src/mame/drivers/onyx.cpp b/src/mame/drivers/onyx.cpp
index 158a0809054..c8d3af9c5b4 100644
--- a/src/mame/drivers/onyx.cpp
+++ b/src/mame/drivers/onyx.cpp
@@ -51,14 +51,33 @@ public:
onyx_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
+ , m_sio1(*this, "sio1")
+ , m_sio2(*this, "sio2")
+ , m_sio3(*this, "sio3")
+ , m_sio4(*this, "sio4")
+ , m_sio5(*this, "sio5")
+ , m_ctc1(*this, "ctc1")
+ , m_ctc2(*this, "ctc2")
+ , m_ctc3(*this, "ctc3")
+ , m_pio1(*this, "pio1")
+ , m_pio2(*this, "pio2")
{ }
DECLARE_MACHINE_RESET(c8002);
void c8002(machine_config &config);
void c5000(machine_config &config);
+ void c5000_io(address_map &map);
+ void c5000_mem(address_map &map);
+ void c8002_io(address_map &map);
+ void c8002_mem(address_map &map);
+ void subio(address_map &map);
+ void submem(address_map &map);
private:
required_device<cpu_device> m_maincpu;
+ optional_device<z80sio_device> m_sio1, m_sio2, m_sio3, m_sio4, m_sio5;
+ optional_device<z80ctc_device> m_ctc1, m_ctc2, m_ctc3;
+ optional_device<z80pio_device> m_pio1, m_pio2;
};
@@ -71,7 +90,7 @@ MACHINE_RESET_MEMBER(onyx_state, c8002)
{
}
-static ADDRESS_MAP_START(c8002_mem, AS_PROGRAM, 16, onyx_state)
+ADDRESS_MAP_START(onyx_state::c8002_mem)
AM_RANGE(0x00000, 0x00fff) AM_ROM AM_SHARE("share0")
AM_RANGE(0x01000, 0x07fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x08000, 0x0ffff) AM_RAM AM_SHARE("share2") // Z8002 has 64k memory
@@ -83,25 +102,25 @@ ADDRESS_MAP_END
// AM_RANGE(0x08000, 0xfffff) AM_RAM AM_SHARE("share2")
//ADDRESS_MAP_END
-static ADDRESS_MAP_START(c8002_io, AS_IO, 8, onyx_state)
- AM_RANGE(0xff00, 0xff07) AM_DEVREADWRITE_MOD("sio1", z80sio_device, cd_ba_r, cd_ba_w, rshift<1>)
- AM_RANGE(0xff08, 0xff0f) AM_DEVREADWRITE_MOD("sio2", z80sio_device, cd_ba_r, cd_ba_w, rshift<1>)
- AM_RANGE(0xff10, 0xff17) AM_DEVREADWRITE_MOD("sio3", z80sio_device, cd_ba_r, cd_ba_w, rshift<1>)
- AM_RANGE(0xff18, 0xff1f) AM_DEVREADWRITE_MOD("sio4", z80sio_device, cd_ba_r, cd_ba_w, rshift<1>)
- AM_RANGE(0xff20, 0xff27) AM_DEVREADWRITE_MOD("sio5", z80sio_device, cd_ba_r, cd_ba_w, rshift<1>)
- AM_RANGE(0xff30, 0xff37) AM_DEVREADWRITE_MOD("ctc1", z80ctc_device, read, write, rshift<1>)
- AM_RANGE(0xff38, 0xff3f) AM_DEVREADWRITE_MOD("ctc2", z80ctc_device, read, write, rshift<1>)
- AM_RANGE(0xff40, 0xff47) AM_DEVREADWRITE_MOD("ctc3", z80ctc_device, read, write, rshift<1>)
- AM_RANGE(0xff50, 0xff57) AM_DEVREADWRITE_MOD("pio1", z80pio_device, read, write, rshift<1>)
- AM_RANGE(0xff58, 0xff5f) AM_DEVREADWRITE_MOD("pio2", z80pio_device, read, write, rshift<1>)
+ADDRESS_MAP_START(onyx_state::c8002_io)
+ map(0xff00, 0xff07).lrw8("sio1_rw", [this](address_space &space, offs_t offset, u8 mem_mask) { return m_sio1->cd_ba_r(space, offset >> 1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask) { m_sio1->cd_ba_w(space, offset >> 1, data, mem_mask); });
+ map(0xff08, 0xff0f).lrw8("sio2_rw", [this](address_space &space, offs_t offset, u8 mem_mask) { return m_sio1->cd_ba_r(space, offset >> 1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask) { m_sio1->cd_ba_w(space, offset >> 1, data, mem_mask); });
+ map(0xff10, 0xff17).lrw8("sio3_rw", [this](address_space &space, offs_t offset, u8 mem_mask) { return m_sio1->cd_ba_r(space, offset >> 1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask) { m_sio1->cd_ba_w(space, offset >> 1, data, mem_mask); });
+ map(0xff18, 0xff1f).lrw8("sio4_rw", [this](address_space &space, offs_t offset, u8 mem_mask) { return m_sio1->cd_ba_r(space, offset >> 1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask) { m_sio1->cd_ba_w(space, offset >> 1, data, mem_mask); });
+ map(0xff20, 0xff27).lrw8("sio5_rw", [this](address_space &space, offs_t offset, u8 mem_mask) { return m_sio1->cd_ba_r(space, offset >> 1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask) { m_sio1->cd_ba_w(space, offset >> 1, data, mem_mask); });
+ map(0xff30, 0xff37).lrw8("ctc1_rw", [this](address_space &space, offs_t offset, u8 mem_mask) { return m_ctc1->read(space, offset >> 1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask) { m_ctc1->write(space, offset >> 1, data, mem_mask); });
+ map(0xff38, 0xff3f).lrw8("ctc2_rw", [this](address_space &space, offs_t offset, u8 mem_mask) { return m_ctc2->read(space, offset >> 1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask) { m_ctc2->write(space, offset >> 1, data, mem_mask); });
+ map(0xff40, 0xff47).lrw8("ctc3_rw", [this](address_space &space, offs_t offset, u8 mem_mask) { return m_ctc3->read(space, offset >> 1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask) { m_ctc3->write(space, offset >> 1, data, mem_mask); });
+ map(0xff50, 0xff57).lrw8("pio1_rw", [this](address_space &space, offs_t offset, u8 mem_mask) { return m_pio1->read(space, offset >> 1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask) { m_pio1->write(space, offset >> 1, data, mem_mask); });
+ map(0xff58, 0xff5f).lrw8("pio2_rw", [this](address_space &space, offs_t offset, u8 mem_mask) { return m_pio2->read(space, offset >> 1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask) { m_pio2->write(space, offset >> 1, data, mem_mask); });
ADDRESS_MAP_END
-static ADDRESS_MAP_START(submem, AS_PROGRAM, 8, onyx_state)
+ADDRESS_MAP_START(onyx_state::submem)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(subio, AS_IO, 8, onyx_state)
+ADDRESS_MAP_START(onyx_state::subio)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("pio1s", z80pio_device, read, write)
AM_RANGE(0x04, 0x04) AM_READNOP // disk status?
@@ -214,12 +233,12 @@ Labels of proms: 339, 153, XMN4, 2_1, 1_2
*********************************************************************************************************************************/
-static ADDRESS_MAP_START(c5000_mem, AS_PROGRAM, 8, onyx_state)
+ADDRESS_MAP_START(onyx_state::c5000_mem)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(c5000_io, AS_IO, 8, onyx_state)
+ADDRESS_MAP_START(onyx_state::c5000_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x13) AM_DEVREADWRITE("sio1", z80sio_device, cd_ba_r, cd_ba_w )
ADDRESS_MAP_END
diff --git a/src/mame/drivers/opwolf.cpp b/src/mame/drivers/opwolf.cpp
index 3022a9053d7..43ba692da7c 100644
--- a/src/mame/drivers/opwolf.cpp
+++ b/src/mame/drivers/opwolf.cpp
@@ -346,7 +346,7 @@ WRITE8_MEMBER(opwolf_state::sound_bankswitch_w)
***********************************************************/
-static ADDRESS_MAP_START( opwolf_map, AS_PROGRAM, 16, opwolf_state )
+ADDRESS_MAP_START(opwolf_state::opwolf_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x0f0000, 0x0f07ff) AM_MIRROR(0xf000) AM_READ(opwolf_cchip_data_r)
AM_RANGE(0x0f0802, 0x0f0803) AM_MIRROR(0xf000) AM_READ(opwolf_cchip_status_r)
@@ -370,7 +370,7 @@ static ADDRESS_MAP_START( opwolf_map, AS_PROGRAM, 16, opwolf_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( opwolfb_map, AS_PROGRAM, 16, opwolf_state )
+ADDRESS_MAP_START(opwolf_state::opwolfb_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x0f0008, 0x0f000b) AM_READ(opwolf_in_r) /* coins and buttons */
AM_RANGE(0x0ff000, 0x0fffff) AM_READWRITE(cchip_r,cchip_w)
@@ -390,7 +390,7 @@ static ADDRESS_MAP_START( opwolfb_map, AS_PROGRAM, 16, opwolf_state )
AM_RANGE(0xd00000, 0xd03fff) AM_DEVREADWRITE("pc090oj", pc090oj_device, word_r, word_w) /* sprite ram */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( opwolfp_map, AS_PROGRAM, 16, opwolf_state )
+ADDRESS_MAP_START(opwolf_state::opwolfp_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x107fff) AM_RAM
@@ -414,7 +414,7 @@ ADDRESS_MAP_END
This extra Z80 substitutes for the c-chip in the bootleg
*/
-static ADDRESS_MAP_START( opwolfb_sub_z80_map, AS_PROGRAM, 8, opwolf_state )
+ADDRESS_MAP_START(opwolf_state::opwolfb_sub_z80_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8800, 0x8800) AM_READ(z80_input1_r) /* read at PC=$637: poked to $c004 */
AM_RANGE(0x9000, 0x9000) AM_WRITENOP /* unknown write, 0 then 1 each interrupt */
@@ -550,7 +550,7 @@ WRITE8_MEMBER(opwolf_state::opwolf_adpcm_e_w)
// logerror("CPU #1 e00%i-data=%2x pc=%4x\n",offset,data,m_audiocpu->pc() );
}
-static ADDRESS_MAP_START( opwolf_sound_z80_map, AS_PROGRAM, 8, opwolf_state )
+ADDRESS_MAP_START(opwolf_state::opwolf_sound_z80_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("z80bank")
AM_RANGE(0x8000, 0x8fff) AM_RAM
diff --git a/src/mame/drivers/orao.cpp b/src/mame/drivers/orao.cpp
index 1b37ddfa7b5..0fc6d11a229 100644
--- a/src/mame/drivers/orao.cpp
+++ b/src/mame/drivers/orao.cpp
@@ -26,7 +26,7 @@
/* Address maps */
-static ADDRESS_MAP_START(orao_mem, AS_PROGRAM, 8, orao_state )
+ADDRESS_MAP_START(orao_state::orao_mem)
AM_RANGE( 0x0000, 0x5fff ) AM_RAM AM_SHARE("memory")
AM_RANGE( 0x6000, 0x7fff ) AM_RAM AM_SHARE("video_ram") // video ram
AM_RANGE( 0x8000, 0x9fff ) AM_READWRITE(orao_io_r, orao_io_w )
diff --git a/src/mame/drivers/orbit.cpp b/src/mame/drivers/orbit.cpp
index 89d4a72f83c..8c92ff514cb 100644
--- a/src/mame/drivers/orbit.cpp
+++ b/src/mame/drivers/orbit.cpp
@@ -91,7 +91,7 @@ WRITE_LINE_MEMBER(orbit_state::hyper_led_w)
*
*************************************/
-static ADDRESS_MAP_START( orbit_map, AS_PROGRAM, 8, orbit_state )
+ADDRESS_MAP_START(orbit_state::orbit_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x00ff) AM_MIRROR(0x0700) AM_RAM
AM_RANGE(0x0800, 0x0800) AM_MIRROR(0x07ff) AM_READ_PORT("P1")
diff --git a/src/mame/drivers/oric.cpp b/src/mame/drivers/oric.cpp
index 6d1a4391f17..3f547e03847 100644
--- a/src/mame/drivers/oric.cpp
+++ b/src/mame/drivers/oric.cpp
@@ -89,6 +89,7 @@ public:
void oric(machine_config &config);
void prav8d(machine_config &config);
+ void oric_mem(address_map &map);
protected:
required_device<cpu_device> m_maincpu;
required_device<palette_device> m_palette;
@@ -156,6 +157,7 @@ public:
virtual void machine_reset() override;
void telstrat(machine_config &config);
+ void telestrat_mem(address_map &map);
protected:
enum {
P_IRQEN = 0x01,
@@ -188,7 +190,7 @@ protected:
};
/* Ram is 64K, with 16K hidden by the rom. The 300-3ff is also hidden by the i/o */
-static ADDRESS_MAP_START(oric_mem, AS_PROGRAM, 8, oric_state )
+ADDRESS_MAP_START(oric_state::oric_mem)
AM_RANGE( 0x0000, 0xffff) AM_RAM AM_SHARE("ram")
AM_RANGE( 0x0300, 0x030f) AM_DEVREADWRITE("via6522", via6522_device, read, write) AM_MIRROR(0xf0)
AM_RANGE( 0xc000, 0xdfff) AM_READ_BANK("bank_c000_r") AM_WRITE_BANK("bank_c000_w")
@@ -199,7 +201,7 @@ ADDRESS_MAP_END
/*
The telestrat has the memory regions split into 16k blocks.
Memory region &c000-&ffff can be ram or rom. */
-static ADDRESS_MAP_START(telestrat_mem, AS_PROGRAM, 8, telestrat_state )
+ADDRESS_MAP_START(telestrat_state::telestrat_mem)
AM_RANGE( 0x0000, 0xffff) AM_RAM AM_SHARE("ram")
AM_RANGE( 0x0300, 0x030f) AM_DEVREADWRITE("via6522", via6522_device, read, write)
AM_RANGE( 0x0310, 0x0313) AM_DEVREADWRITE("fdc", fd1793_device, read, write)
diff --git a/src/mame/drivers/orion.cpp b/src/mame/drivers/orion.cpp
index f38bd338192..212627f56e6 100644
--- a/src/mame/drivers/orion.cpp
+++ b/src/mame/drivers/orion.cpp
@@ -25,7 +25,7 @@
/* Address maps */
/* Orion 128 */
-static ADDRESS_MAP_START(orion128_mem, AS_PROGRAM, 8, orion_state )
+ADDRESS_MAP_START(orion_state::orion128_mem)
AM_RANGE( 0x0000, 0xefff ) AM_RAMBANK("bank1")
AM_RANGE( 0xf000, 0xf3ff ) AM_RAMBANK("bank2")
AM_RANGE( 0xf400, 0xf4ff ) AM_READWRITE(orion128_system_r,orion128_system_w) // Keyboard and cassette
@@ -38,7 +38,7 @@ static ADDRESS_MAP_START(orion128_mem, AS_PROGRAM, 8, orion_state )
ADDRESS_MAP_END
/* Orion Z80 Card II */
-static ADDRESS_MAP_START( orion128_io , AS_IO, 8, orion_state )
+ADDRESS_MAP_START(orion_state::orion128_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0xf8, 0xf8) AM_WRITE(orion128_video_mode_w )
@@ -46,7 +46,7 @@ static ADDRESS_MAP_START( orion128_io , AS_IO, 8, orion_state )
AM_RANGE( 0xfa, 0xfa) AM_WRITE(orion128_video_page_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START(orionz80_mem, AS_PROGRAM, 8, orion_state )
+ADDRESS_MAP_START(orion_state::orionz80_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x3fff ) AM_RAMBANK("bank1")
AM_RANGE( 0x4000, 0xefff ) AM_RAMBANK("bank2")
@@ -56,11 +56,11 @@ static ADDRESS_MAP_START(orionz80_mem, AS_PROGRAM, 8, orion_state )
ADDRESS_MAP_END
/* Orion Pro */
-static ADDRESS_MAP_START( orionz80_io , AS_IO, 8, orion_state )
+ADDRESS_MAP_START(orion_state::orionz80_io)
AM_RANGE( 0x0000, 0xffff) AM_READWRITE(orionz80_io_r, orionz80_io_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START(orionpro_mem, AS_PROGRAM, 8, orion_state )
+ADDRESS_MAP_START(orion_state::orionpro_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x1fff ) AM_RAMBANK("bank1")
AM_RANGE( 0x2000, 0x3fff ) AM_RAMBANK("bank2")
@@ -72,7 +72,7 @@ static ADDRESS_MAP_START(orionpro_mem, AS_PROGRAM, 8, orion_state )
AM_RANGE( 0xf800, 0xffff ) AM_RAMBANK("bank8")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( orionpro_io , AS_IO, 8, orion_state )
+ADDRESS_MAP_START(orion_state::orionpro_io)
AM_RANGE( 0x0000, 0xffff) AM_READWRITE(orionpro_io_r, orionpro_io_w )
ADDRESS_MAP_END
diff --git a/src/mame/drivers/osbexec.cpp b/src/mame/drivers/osbexec.cpp
index b142649085c..f34a69aaf34 100644
--- a/src/mame/drivers/osbexec.cpp
+++ b/src/mame/drivers/osbexec.cpp
@@ -127,6 +127,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(modem_ri_w);
DECLARE_WRITE_LINE_MEMBER(comm_clk_a_w);
void osbexec(machine_config &config);
+ void osbexec_io(address_map &map);
+ void osbexec_mem(address_map &map);
};
@@ -207,7 +209,7 @@ READ8_MEMBER(osbexec_state::osbexec_rtc_r)
}
-static ADDRESS_MAP_START( osbexec_mem, AS_PROGRAM, 8, osbexec_state )
+ADDRESS_MAP_START(osbexec_state::osbexec_mem)
AM_RANGE( 0x0000, 0x1FFF ) AM_READ_BANK("0000") AM_WRITE(osbexec_0000_w ) /* ROM and maybe also banked ram */
AM_RANGE( 0x2000, 0x3FFF ) AM_RAMBANK("2000") /* Banked RAM */
AM_RANGE( 0x4000, 0xBFFF ) AM_RAMBANK("4000") /* Banked RAM */
@@ -217,7 +219,7 @@ static ADDRESS_MAP_START( osbexec_mem, AS_PROGRAM, 8, osbexec_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( osbexec_io, AS_IO, 8, osbexec_state )
+ADDRESS_MAP_START(osbexec_state::osbexec_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x00, 0x03 ) AM_MIRROR( 0xff00 ) AM_DEVREADWRITE( "pia_0", pia6821_device, read, write) /* 6821 PIA @ UD12 */
AM_RANGE( 0x04, 0x07 ) AM_MIRROR( 0xff00 ) AM_DEVREADWRITE("ctc", pit8253_device, read, write) /* 8253 @UD1 */
diff --git a/src/mame/drivers/osborne1.cpp b/src/mame/drivers/osborne1.cpp
index 3c1b133d9b7..672c4e721b1 100644
--- a/src/mame/drivers/osborne1.cpp
+++ b/src/mame/drivers/osborne1.cpp
@@ -101,7 +101,7 @@ TODO:
static constexpr XTAL MAIN_CLOCK = 15.9744_MHz_XTAL;
-static ADDRESS_MAP_START( osborne1_mem, AS_PROGRAM, 8, osborne1_state )
+ADDRESS_MAP_START(osborne1_state::osborne1_mem)
AM_RANGE( 0x0000, 0x0FFF ) AM_READ_BANK("bank_0xxx") AM_WRITE(bank_0xxx_w)
AM_RANGE( 0x1000, 0x1FFF ) AM_READ_BANK("bank_1xxx") AM_WRITE(bank_1xxx_w)
AM_RANGE( 0x2000, 0x3FFF ) AM_READWRITE(bank_2xxx_3xxx_r, bank_2xxx_3xxx_w)
@@ -110,19 +110,19 @@ static ADDRESS_MAP_START( osborne1_mem, AS_PROGRAM, 8, osborne1_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( osborne1_op, AS_OPCODES, 8, osborne1_state )
+ADDRESS_MAP_START(osborne1_state::osborne1_op)
AM_RANGE( 0x0000, 0xFFFF ) AM_READ(opcode_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( osborne1_io, AS_IO, 8, osborne1_state )
+ADDRESS_MAP_START(osborne1_state::osborne1_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x00, 0x03 ) AM_MIRROR( 0xfc ) AM_WRITE(bankswitch_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( osborne1nv_io, AS_IO, 8, osborne1_state )
+ADDRESS_MAP_START(osborne1_state::osborne1nv_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
@@ -282,7 +282,7 @@ GFXDECODE_END
MACHINE_CONFIG_START(osborne1_state::osborne1)
MCFG_CPU_ADD("maincpu", Z80, MAIN_CLOCK/4)
MCFG_CPU_PROGRAM_MAP(osborne1_mem)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(osborne1_op)
+ MCFG_CPU_OPCODES_MAP(osborne1_op)
MCFG_CPU_IO_MAP(osborne1_io)
MCFG_Z80_SET_IRQACK_CALLBACK(WRITELINE(osborne1_state, irqack_w))
diff --git a/src/mame/drivers/osi.cpp b/src/mame/drivers/osi.cpp
index a832c1bd314..646b0d3ad02 100644
--- a/src/mame/drivers/osi.cpp
+++ b/src/mame/drivers/osi.cpp
@@ -448,7 +448,7 @@ WRITE_LINE_MEMBER( c1pmf_state::osi470_pia_cb2_w )
/* Memory Maps */
-static ADDRESS_MAP_START( osi600_mem, AS_PROGRAM, 8, sb2m600_state )
+ADDRESS_MAP_START(sb2m600_state::osi600_mem)
AM_RANGE(0x0000, 0x1fff) AM_RAMBANK("bank1")
AM_RANGE(0xa000, 0xbfff) AM_ROM
AM_RANGE(0xd000, 0xd3ff) AM_RAM AM_SHARE("video_ram")
@@ -457,7 +457,7 @@ static ADDRESS_MAP_START( osi600_mem, AS_PROGRAM, 8, sb2m600_state )
AM_RANGE(0xf800, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( uk101_mem, AS_PROGRAM, 8, uk101_state )
+ADDRESS_MAP_START(uk101_state::uk101_mem)
AM_RANGE(0x0000, 0x1fff) AM_RAMBANK("bank1")
AM_RANGE(0xa000, 0xbfff) AM_ROM
AM_RANGE(0xd000, 0xd3ff) AM_RAM AM_SHARE("video_ram")
@@ -467,7 +467,7 @@ static ADDRESS_MAP_START( uk101_mem, AS_PROGRAM, 8, uk101_state )
AM_RANGE(0xf800, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( c1p_mem, AS_PROGRAM, 8, c1p_state )
+ADDRESS_MAP_START(c1p_state::c1p_mem)
AM_RANGE(0x0000, 0x4fff) AM_RAMBANK("bank1")
AM_RANGE(0xa000, 0xbfff) AM_ROM
AM_RANGE(0xc704, 0xc707) AM_DEVREADWRITE("pia_1", pia6821_device, read, write)
@@ -483,7 +483,7 @@ static ADDRESS_MAP_START( c1p_mem, AS_PROGRAM, 8, c1p_state )
AM_RANGE(0xf800, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( c1pmf_mem, AS_PROGRAM, 8, c1pmf_state )
+ADDRESS_MAP_START(c1pmf_state::c1pmf_mem)
AM_RANGE(0x0000, 0x4fff) AM_RAMBANK("bank1")
AM_RANGE(0xa000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc003) AM_DEVREADWRITE("pia_0", pia6821_device, read, write) // FDC
diff --git a/src/mame/drivers/othello.cpp b/src/mame/drivers/othello.cpp
index cd275823915..e320185885b 100644
--- a/src/mame/drivers/othello.cpp
+++ b/src/mame/drivers/othello.cpp
@@ -113,6 +113,10 @@ public:
DECLARE_PALETTE_INIT(othello);
MC6845_UPDATE_ROW(crtc_update_row);
void othello(machine_config &config);
+ void audio_map(address_map &map);
+ void audio_portmap(address_map &map);
+ void main_map(address_map &map);
+ void main_portmap(address_map &map);
};
@@ -156,7 +160,7 @@ PALETTE_INIT_MEMBER(othello_state, othello)
palette.set_pen_color(0x0f, rgb_t(0xff, 0xff, 0xff));
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, othello_state )
+ADDRESS_MAP_START(othello_state::main_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x8000, 0x97ff) AM_NOP /* not populated */
AM_RANGE(0x9800, 0x9fff) AM_RAM AM_SHARE("videoram")
@@ -209,7 +213,7 @@ WRITE8_MEMBER(othello_state::tilebank_w)
logerror("tilebank -> %x\n", data);
}
-static ADDRESS_MAP_START( main_portmap, AS_IO, 8, othello_state )
+ADDRESS_MAP_START(othello_state::main_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x08, 0x08) AM_DEVWRITE("crtc", mc6845_device, address_w)
AM_RANGE(0x09, 0x09) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
@@ -253,12 +257,12 @@ WRITE8_MEMBER(othello_state::ay_data_w)
if (m_ay_select & 2) m_ay2->data_w(space, 0, data);
}
-static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, othello_state )
+ADDRESS_MAP_START(othello_state::audio_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audio_portmap, AS_IO, 8, othello_state )
+ADDRESS_MAP_START(othello_state::audio_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(latch_r)
AM_RANGE(0x01, 0x01) AM_WRITE(ay_data_w)
diff --git a/src/mame/drivers/othunder.cpp b/src/mame/drivers/othunder.cpp
index 5b690007152..120d8e4685a 100644
--- a/src/mame/drivers/othunder.cpp
+++ b/src/mame/drivers/othunder.cpp
@@ -470,7 +470,7 @@ WRITE8_MEMBER(othunder_state::tc0310fam_w)
MEMORY STRUCTURES
***********************************************************/
-static ADDRESS_MAP_START( othunder_map, AS_PROGRAM, 16, othunder_state )
+ADDRESS_MAP_START(othunder_state::othunder_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x08ffff) AM_RAM
AM_RANGE(0x090000, 0x09000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_device, read, write, 0x00ff)
@@ -487,7 +487,7 @@ ADDRESS_MAP_END
/***************************************************************************/
-static ADDRESS_MAP_START( z80_sound_map, AS_PROGRAM, 8, othunder_state )
+ADDRESS_MAP_START(othunder_state::z80_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("z80bank")
AM_RANGE(0xc000, 0xdfff) AM_RAM
diff --git a/src/mame/drivers/otomedius.cpp b/src/mame/drivers/otomedius.cpp
index a15eb72b412..58d48edc0da 100644
--- a/src/mame/drivers/otomedius.cpp
+++ b/src/mame/drivers/otomedius.cpp
@@ -34,6 +34,7 @@ public:
virtual void video_start() override;
uint32_t screen_update_konami_pc(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void konami_pc(machine_config &config);
+ void konami_pc_map(address_map &map);
};
void konami_pc_state::video_start()
@@ -45,7 +46,7 @@ uint32_t konami_pc_state::screen_update_konami_pc(screen_device &screen, bitmap_
return 0;
}
-static ADDRESS_MAP_START( konami_pc_map, AS_PROGRAM, 32, konami_pc_state )
+ADDRESS_MAP_START(konami_pc_state::konami_pc_map)
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000f0000, 0x000fffff) AM_ROM AM_REGION("maincpu", 0x70000)
AM_RANGE(0xfff80000, 0xffffffff) AM_ROM AM_REGION("maincpu", 0)
diff --git a/src/mame/drivers/overdriv.cpp b/src/mame/drivers/overdriv.cpp
index 0b5eea7d4ee..e466016fbf6 100644
--- a/src/mame/drivers/overdriv.cpp
+++ b/src/mame/drivers/overdriv.cpp
@@ -156,7 +156,7 @@ WRITE16_MEMBER(overdriv_state::slave_irq5_assert_w)
m_subcpu->set_input_line(5, HOLD_LINE);
}
-static ADDRESS_MAP_START( overdriv_master_map, AS_PROGRAM, 16, overdriv_state )
+ADDRESS_MAP_START(overdriv_state::overdriv_master_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x043fff) AM_RAM /* work RAM */
AM_RANGE(0x080000, 0x080fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -221,7 +221,7 @@ WRITE16_MEMBER(overdriv_state::objdma_w)
m_k053246->k053246_w(space,5,data,mem_mask);
}
-static ADDRESS_MAP_START( overdriv_slave_map, AS_PROGRAM, 16, overdriv_state )
+ADDRESS_MAP_START(overdriv_state::overdriv_slave_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x083fff) AM_RAM /* work RAM */
AM_RANGE(0x0c0000, 0x0c1fff) AM_RAM //AM_DEVREADWRITE("k053250_1", k053250_device, ram_r, ram_w)
@@ -244,7 +244,7 @@ WRITE8_MEMBER(overdriv_state::sound_ack_w)
m_audiocpu->set_input_line(M6809_IRQ_LINE, CLEAR_LINE);
}
-static ADDRESS_MAP_START( overdriv_sound_map, AS_PROGRAM, 8, overdriv_state )
+ADDRESS_MAP_START(overdriv_state::overdriv_sound_map)
AM_RANGE(0x0000, 0x0000) AM_WRITE(sound_ack_w)
// 0x012 read during explosions
// 0x180
@@ -255,7 +255,7 @@ static ADDRESS_MAP_START( overdriv_sound_map, AS_PROGRAM, 8, overdriv_state )
AM_RANGE(0x1000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( overdriv_k053260_map, 0, 8, overdriv_state )
+ADDRESS_MAP_START(overdriv_state::overdriv_k053260_map)
AM_RANGE(0x00000000, 0x001fffff) AM_ROM AM_REGION("k053260", 0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/p112.cpp b/src/mame/drivers/p112.cpp
index 113c6a7b42f..3f2b38406cb 100644
--- a/src/mame/drivers/p112.cpp
+++ b/src/mame/drivers/p112.cpp
@@ -50,16 +50,18 @@ public:
uint32_t screen_update_p112(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
void p112(machine_config &config);
+ void p112_io(address_map &map);
+ void p112_mem(address_map &map);
};
-static ADDRESS_MAP_START(p112_mem, AS_PROGRAM, 8, p112_state)
+ADDRESS_MAP_START(p112_state::p112_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000, 0x07fff) AM_ROM
AM_RANGE(0x08000, 0xfffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(p112_io, AS_IO, 8, p112_state)
+ADDRESS_MAP_START(p112_state::p112_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/p2000t.cpp b/src/mame/drivers/p2000t.cpp
index a8bfccdcd0f..ffba4321bf6 100644
--- a/src/mame/drivers/p2000t.cpp
+++ b/src/mame/drivers/p2000t.cpp
@@ -36,7 +36,7 @@ Philips P2000 1 Memory map
/* port i/o functions */
-static ADDRESS_MAP_START( p2000t_io, AS_IO, 8, p2000t_state )
+ADDRESS_MAP_START(p2000t_state::p2000t_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x0f) AM_READ(p2000t_port_000f_r)
AM_RANGE(0x10, 0x1f) AM_WRITE(p2000t_port_101f_w)
@@ -50,7 +50,7 @@ static ADDRESS_MAP_START( p2000t_io, AS_IO, 8, p2000t_state )
ADDRESS_MAP_END
/* Memory w/r functions */
-static ADDRESS_MAP_START( p2000t_mem, AS_PROGRAM, 8, p2000t_state )
+ADDRESS_MAP_START(p2000t_state::p2000t_mem)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1000, 0x4fff) AM_ROM
AM_RANGE(0x5000, 0x57ff) AM_RAM AM_SHARE("videoram")
@@ -58,7 +58,7 @@ static ADDRESS_MAP_START( p2000t_mem, AS_PROGRAM, 8, p2000t_state )
AM_RANGE(0xa000, 0xffff) AM_NOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( p2000m_mem, AS_PROGRAM, 8, p2000t_state )
+ADDRESS_MAP_START(p2000t_state::p2000m_mem)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1000, 0x4fff) AM_ROM
AM_RANGE(0x5000, 0x5fff) AM_RAM AM_SHARE("videoram")
diff --git a/src/mame/drivers/p8k.cpp b/src/mame/drivers/p8k.cpp
index deeb85989c2..a4dfd157e8a 100644
--- a/src/mame/drivers/p8k.cpp
+++ b/src/mame/drivers/p8k.cpp
@@ -107,6 +107,11 @@ public:
void p8k(machine_config &config);
void p8k_16(machine_config &config);
+ void p8k_16_datamap(address_map &map);
+ void p8k_16_iomap(address_map &map);
+ void p8k_16_memmap(address_map &map);
+ void p8k_iomap(address_map &map);
+ void p8k_memmap(address_map &map);
private:
required_device<cpu_device> m_maincpu;
optional_device<p8k_16_daisy_device> m_daisy;
@@ -120,7 +125,7 @@ private:
****************************************************************************/
-static ADDRESS_MAP_START(p8k_memmap, AS_PROGRAM, 8, p8k_state)
+ADDRESS_MAP_START(p8k_state::p8k_memmap)
AM_RANGE(0x0000, 0x0FFF) AM_RAMBANK("bank0")
AM_RANGE(0x1000, 0x1FFF) AM_RAMBANK("bank1")
AM_RANGE(0x2000, 0x2FFF) AM_RAMBANK("bank2")
@@ -139,7 +144,7 @@ static ADDRESS_MAP_START(p8k_memmap, AS_PROGRAM, 8, p8k_state)
AM_RANGE(0xF000, 0xFFFF) AM_RAMBANK("bank15")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(p8k_iomap, AS_IO, 8, p8k_state)
+ADDRESS_MAP_START(p8k_state::p8k_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x07) AM_READWRITE(p8k_port0_r,p8k_port0_w) // MH7489
AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE("ctc0", z80ctc_device, read, write)
@@ -314,20 +319,20 @@ DRIVER_INIT_MEMBER(p8k_state,p8k)
****************************************************************************/
-static ADDRESS_MAP_START(p8k_16_memmap, AS_PROGRAM, 16, p8k_state)
+ADDRESS_MAP_START(p8k_state::p8k_16_memmap)
AM_RANGE(0x00000, 0x03fff) AM_ROM AM_SHARE("share0")
AM_RANGE(0x04000, 0x07fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x08000, 0xfffff) AM_RAM AM_SHARE("share2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(p8k_16_datamap, AS_DATA, 16, p8k_state)
+ADDRESS_MAP_START(p8k_state::p8k_16_datamap)
AM_RANGE(0x00000, 0x03fff) AM_ROM AM_SHARE("share0")
AM_RANGE(0x04000, 0x07fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x08000, 0xfffff) AM_RAM AM_SHARE("share2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(p8k_16_iomap, AS_IO, 16, p8k_state)
+ADDRESS_MAP_START(p8k_state::p8k_16_iomap)
// AM_RANGE(0x0fef0, 0x0feff) // clock
AM_RANGE(0x0ff80, 0x0ff87) AM_DEVREADWRITE8("sio", z80sio_device, cd_ba_r, cd_ba_w, 0xff)
AM_RANGE(0x0ff88, 0x0ff8f) AM_DEVREADWRITE8("sio1", z80sio_device, cd_ba_r, cd_ba_w, 0xff)
diff --git a/src/mame/drivers/pachifev.cpp b/src/mame/drivers/pachifev.cpp
index ae800788873..6135b480c91 100644
--- a/src/mame/drivers/pachifev.cpp
+++ b/src/mame/drivers/pachifev.cpp
@@ -114,6 +114,8 @@ public:
INTERRUPT_GEN_MEMBER(pachifev_vblank_irq);
required_device<cpu_device> m_maincpu;
void pachifev(machine_config &config);
+ void pachifev_cru(address_map &map);
+ void pachifev_map(address_map &map);
};
WRITE8_MEMBER(pachifev_state::controls_w)
@@ -138,7 +140,7 @@ READ8_MEMBER(pachifev_state::controls_r)
return output_bit;
}
-static ADDRESS_MAP_START( pachifev_map, AS_PROGRAM, 8, pachifev_state )
+ADDRESS_MAP_START(pachifev_state::pachifev_map)
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xe7ff) AM_RAM
@@ -158,7 +160,7 @@ static ADDRESS_MAP_START( pachifev_map, AS_PROGRAM, 8, pachifev_state )
AM_RANGE(0xfffc, 0xffff) AM_NOP /* nmi */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pachifev_cru, AS_IO, 8, pachifev_state )
+ADDRESS_MAP_START(pachifev_state::pachifev_cru)
AM_RANGE(0x000, 0x000) AM_READ(controls_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pacland.cpp b/src/mame/drivers/pacland.cpp
index 46ea6fc8eb6..60cc17ec0bb 100644
--- a/src/mame/drivers/pacland.cpp
+++ b/src/mame/drivers/pacland.cpp
@@ -260,7 +260,7 @@ WRITE8_MEMBER(pacland_state::irq_2_ctrl_w)
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, pacland_state )
+ADDRESS_MAP_START(pacland_state::main_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(videoram2_w) AM_SHARE("videoram2")
AM_RANGE(0x2000, 0x37ff) AM_RAM AM_SHARE("spriteram")
@@ -276,7 +276,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, pacland_state )
AM_RANGE(0x9000, 0x9fff) AM_WRITE(flipscreen_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mcu_map, AS_PROGRAM, 8, pacland_state )
+ADDRESS_MAP_START(pacland_state::mcu_map)
AM_RANGE(0x0000, 0x001f) AM_DEVREADWRITE("mcu", hd63701_cpu_device, m6801_io_r, m6801_io_w)
AM_RANGE(0x0080, 0x00ff) AM_RAM
AM_RANGE(0x1000, 0x13ff) AM_DEVREADWRITE("namco", namco_cus30_device, namcos1_cus30_r, namcos1_cus30_w) /* PSG device, shared RAM */
@@ -294,7 +294,7 @@ READ8_MEMBER(pacland_state::readFF)
return 0xff;
}
-static ADDRESS_MAP_START( mcu_port_map, AS_IO, 8, pacland_state )
+ADDRESS_MAP_START(pacland_state::mcu_port_map)
AM_RANGE(M6801_PORT1, M6801_PORT1) AM_READ_PORT("IN2")
AM_RANGE(M6801_PORT1, M6801_PORT1) AM_WRITE(coin_w)
AM_RANGE(M6801_PORT2, M6801_PORT2) AM_READ(readFF) /* leds won't work otherwise */
diff --git a/src/mame/drivers/pacman.cpp b/src/mame/drivers/pacman.cpp
index 920e411bec9..6a467bcd1c0 100644
--- a/src/mame/drivers/pacman.cpp
+++ b/src/mame/drivers/pacman.cpp
@@ -996,7 +996,7 @@ READ8_MEMBER(pacman_state::pacman_read_nop)
*
*************************************/
-static ADDRESS_MAP_START( pacman_map, AS_PROGRAM, 8, pacman_state )
+ADDRESS_MAP_START(pacman_state::pacman_map)
//A lot of games don't have an a15 at the cpu. Generally only games with a cpu daughter board can access the full 32k of romspace.
AM_RANGE(0x0000, 0x3fff) AM_MIRROR(0x8000) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_SHARE("videoram")
@@ -1017,7 +1017,7 @@ static ADDRESS_MAP_START( pacman_map, AS_PROGRAM, 8, pacman_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( birdiy_map, AS_PROGRAM, 8, pacman_state )
+ADDRESS_MAP_START(pacman_state::birdiy_map)
AM_RANGE(0x0000, 0x3fff) AM_MIRROR(0x8000) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_SHARE("colorram")
@@ -1037,7 +1037,7 @@ static ADDRESS_MAP_START( birdiy_map, AS_PROGRAM, 8, pacman_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mspacman_map, AS_PROGRAM, 8, pacman_state )
+ADDRESS_MAP_START(pacman_state::mspacman_map)
/* start with 0000-3fff and 8000-bfff mapped to the ROMs */
AM_RANGE(0x0000, 0xffff) AM_ROMBANK("bank1")
AM_RANGE(0x4000, 0x7fff) AM_MIRROR(0x8000) AM_UNMAP
@@ -1070,7 +1070,7 @@ static ADDRESS_MAP_START( mspacman_map, AS_PROGRAM, 8, pacman_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( woodpek_map, AS_PROGRAM, 8, pacman_state )
+ADDRESS_MAP_START(pacman_state::woodpek_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_SHARE("colorram")
@@ -1091,7 +1091,7 @@ static ADDRESS_MAP_START( woodpek_map, AS_PROGRAM, 8, pacman_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( numcrash_map, AS_PROGRAM, 8, pacman_state )
+ADDRESS_MAP_START(pacman_state::numcrash_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x27ff) AM_ROM
/* 0x2800 - 0x2fff unmapped? */
@@ -1117,7 +1117,7 @@ static ADDRESS_MAP_START( numcrash_map, AS_PROGRAM, 8, pacman_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( alibaba_map, AS_PROGRAM, 8, pacman_state )
+ADDRESS_MAP_START(pacman_state::alibaba_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_SHARE("colorram")
@@ -1144,7 +1144,7 @@ static ADDRESS_MAP_START( alibaba_map, AS_PROGRAM, 8, pacman_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dremshpr_map, AS_PROGRAM, 8, pacman_state )
+ADDRESS_MAP_START(pacman_state::dremshpr_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_SHARE("colorram")
@@ -1168,7 +1168,7 @@ static ADDRESS_MAP_START( dremshpr_map, AS_PROGRAM, 8, pacman_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( epos_map, AS_PROGRAM, 8, pacman_state )
+ADDRESS_MAP_START(pacman_state::epos_map)
AM_RANGE(0x0000, 0x3fff) AM_MIRROR(0x8000) AM_ROMBANK("bank1")
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_SHARE("colorram")
@@ -1188,7 +1188,7 @@ static ADDRESS_MAP_START( epos_map, AS_PROGRAM, 8, pacman_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( s2650games_map, AS_PROGRAM, 8, pacman_state )
+ADDRESS_MAP_START(pacman_state::s2650games_map)
AM_RANGE(0x0000, 0x0fff) AM_ROMBANK("bank1")
AM_RANGE(0x1000, 0x13ff) AM_MIRROR(0x6000) AM_WRITE(s2650games_colorram_w) AM_SHARE("colorram")
AM_RANGE(0x1400, 0x141f) AM_MIRROR(0x6000) AM_WRITE(s2650games_scroll_w)
@@ -1215,7 +1215,7 @@ static ADDRESS_MAP_START( s2650games_map, AS_PROGRAM, 8, pacman_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rocktrv2_map, AS_PROGRAM, 8, pacman_state )
+ADDRESS_MAP_START(pacman_state::rocktrv2_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM_WRITE(pacman_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x4400, 0x47ff) AM_RAM_WRITE(pacman_colorram_w) AM_SHARE("colorram")
@@ -1239,7 +1239,7 @@ static ADDRESS_MAP_START( rocktrv2_map, AS_PROGRAM, 8, pacman_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bigbucks_map, AS_PROGRAM, 8, pacman_state )
+ADDRESS_MAP_START(pacman_state::bigbucks_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM_WRITE(pacman_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x4400, 0x47ff) AM_RAM_WRITE(pacman_colorram_w) AM_SHARE("colorram")
@@ -1257,7 +1257,7 @@ static ADDRESS_MAP_START( bigbucks_map, AS_PROGRAM, 8, pacman_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mschamp_map, AS_PROGRAM, 8, pacman_state )
+ADDRESS_MAP_START(pacman_state::mschamp_map)
AM_RANGE(0x0000, 0x3fff) AM_ROMBANK("bank1")
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_SHARE("colorram")
@@ -1278,7 +1278,7 @@ static ADDRESS_MAP_START( mschamp_map, AS_PROGRAM, 8, pacman_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( superabc_map, AS_PROGRAM, 8, pacman_state )
+ADDRESS_MAP_START(pacman_state::superabc_map)
AM_RANGE(0x0000, 0x3fff) AM_ROMBANK("bank1")
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_SHARE("colorram")
@@ -1300,7 +1300,7 @@ static ADDRESS_MAP_START( superabc_map, AS_PROGRAM, 8, pacman_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( crushs_map, AS_PROGRAM, 8, pacman_state )
+ADDRESS_MAP_START(pacman_state::crushs_map)
AM_RANGE(0x0000, 0x3fff) AM_MIRROR(0x8000) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_SHARE("colorram")
@@ -1319,7 +1319,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( pengojpm_map, AS_PROGRAM, 8, pacman_state )
+ADDRESS_MAP_START(pacman_state::pengojpm_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
// AM_RANGE(0x1000, 0x1fff) // header check for 0x55aa at POST, diagnostic ROM?
AM_RANGE(0x4000, 0x7fff) AM_ROM
@@ -1352,66 +1352,66 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( writeport, AS_IO, 8, pacman_state )
+ADDRESS_MAP_START(pacman_state::writeport)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(pacman_interrupt_vector_w) /* Pac-Man only */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vanvan_portmap, AS_IO, 8, pacman_state )
+ADDRESS_MAP_START(pacman_state::vanvan_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x01, 0x01) AM_DEVWRITE("sn1", sn76496_device, write)
AM_RANGE(0x02, 0x02) AM_DEVWRITE("sn2", sn76496_device, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dremshpr_portmap, AS_IO, 8, pacman_state )
+ADDRESS_MAP_START(pacman_state::dremshpr_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x06, 0x07) AM_DEVWRITE("ay8910", ay8910_device, data_address_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( piranha_portmap, AS_IO, 8, pacman_state )
+ADDRESS_MAP_START(pacman_state::piranha_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(piranha_interrupt_vector_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nmouse_portmap, AS_IO, 8, pacman_state )
+ADDRESS_MAP_START(pacman_state::nmouse_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(nmouse_interrupt_vector_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( epos_portmap, AS_IO, 8, pacman_state )
+ADDRESS_MAP_START(pacman_state::epos_portmap)
AM_IMPORT_FROM(writeport)
AM_RANGE(0x00, 0xff) AM_READ(epos_decryption_w) /* Switch protection logic */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mschamp_portmap, AS_IO, 8, pacman_state )
+ADDRESS_MAP_START(pacman_state::mschamp_portmap)
AM_IMPORT_FROM(writeport)
AM_RANGE(0x00, 0x00) AM_READ(mschamp_kludge_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bigbucks_portmap, AS_IO, 8, pacman_state )
+ADDRESS_MAP_START(pacman_state::bigbucks_portmap)
AM_RANGE(0x0000, 0xffff) AM_READ(bigbucks_question_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( s2650games_dataport, AS_DATA, 8, pacman_state )
+ADDRESS_MAP_START(pacman_state::s2650games_dataport)
AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_DEVWRITE("sn1", sn76496_device, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( drivfrcp_portmap, AS_IO, 8, pacman_state )
+ADDRESS_MAP_START(pacman_state::drivfrcp_portmap)
AM_RANGE(0x00, 0x00) AM_READNOP
AM_RANGE(0x01, 0x01) AM_READ(drivfrcp_port1_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( _8bpm_portmap, AS_IO, 8, pacman_state )
+ADDRESS_MAP_START(pacman_state::_8bpm_portmap)
AM_RANGE(0x00, 0x00) AM_READNOP
AM_RANGE(0x01, 0x01) AM_READ(_8bpm_port1_r)
AM_RANGE(0xe0, 0xe0) AM_READNOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( porky_portmap, AS_IO, 8, pacman_state )
+ADDRESS_MAP_START(pacman_state::porky_portmap)
AM_RANGE(0x01, 0x01) AM_READ(porky_port1_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( crushs_portmap, AS_IO, 8, pacman_state )
+ADDRESS_MAP_START(pacman_state::crushs_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("ay8912", ay8912_device, data_address_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("DSW2")
@@ -3553,7 +3553,7 @@ MACHINE_CONFIG_DERIVED(pacman_state::birdiy, pacman)
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(birdiy_map)
- MCFG_CPU_IO_MAP(0)
+ MCFG_DEVICE_REMOVE_ADDRESS_MAP(AS_IO)
MCFG_DEVICE_REPLACE("mainlatch", LS259, 0)
MCFG_ADDRESSABLE_LATCH_Q1_OUT_CB(WRITELINE(pacman_state, irq_mask_w))
diff --git a/src/mame/drivers/palm.cpp b/src/mame/drivers/palm.cpp
index bacb5b67cd4..3e588423ba6 100644
--- a/src/mame/drivers/palm.cpp
+++ b/src/mame/drivers/palm.cpp
@@ -66,6 +66,7 @@ public:
void palm(machine_config &config);
void palmpro(machine_config &config);
void pilot5k(machine_config &config);
+ void palm_map(address_map &map);
};
@@ -164,7 +165,7 @@ PALETTE_INIT_MEMBER(palm_state, palm)
ADDRESS MAPS
***************************************************************************/
-static ADDRESS_MAP_START(palm_map, AS_PROGRAM, 16, palm_state)
+ADDRESS_MAP_START(palm_state::palm_map)
AM_RANGE(0xc00000, 0xe07fff) AM_ROM AM_REGION("bios", 0)
AM_RANGE(0xfff000, 0xffffff) AM_DEVREADWRITE(MC68328_TAG, mc68328_device, read, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/palmz22.cpp b/src/mame/drivers/palmz22.cpp
index eb8aeb7e38d..e5d589e904a 100644
--- a/src/mame/drivers/palmz22.cpp
+++ b/src/mame/drivers/palmz22.cpp
@@ -104,6 +104,7 @@ public:
DECLARE_READ32_MEMBER(s3c2410_adc_data_r );
void palmz22(machine_config &config);
+ void palmz22_map(address_map &map);
};
@@ -267,7 +268,7 @@ void palmz22_state::machine_reset()
ADDRESS MAPS
***************************************************************************/
-static ADDRESS_MAP_START( palmz22_map, AS_PROGRAM, 32, palmz22_state )
+ADDRESS_MAP_START(palmz22_state::palmz22_map)
AM_RANGE(0x30000000, 0x31ffffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pandoras.cpp b/src/mame/drivers/pandoras.cpp
index ee8a0e01682..347884531e3 100644
--- a/src/mame/drivers/pandoras.cpp
+++ b/src/mame/drivers/pandoras.cpp
@@ -117,7 +117,7 @@ WRITE_LINE_MEMBER(pandoras_state::coin_counter_2_w)
}
-static ADDRESS_MAP_START( pandoras_master_map, AS_PROGRAM, 8, pandoras_state )
+ADDRESS_MAP_START(pandoras_state::pandoras_master_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("spriteram") /* Work RAM (Shared with CPU B) */
AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(pandoras_cram_w) AM_SHARE("colorram") /* Color RAM (shared with CPU B) */
AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(pandoras_vram_w) AM_SHARE("videoram") /* Video RAM (shared with CPU B) */
@@ -132,7 +132,7 @@ static ADDRESS_MAP_START( pandoras_master_map, AS_PROGRAM, 8, pandoras_state )
AM_RANGE(0x8000, 0xffff) AM_ROM /* ROM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pandoras_slave_map, AS_PROGRAM, 8, pandoras_state )
+ADDRESS_MAP_START(pandoras_state::pandoras_slave_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("spriteram") /* Work RAM (Shared with CPU A) */
AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(pandoras_cram_w) AM_SHARE("colorram") /* Color RAM (shared with CPU A) */
AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(pandoras_vram_w) AM_SHARE("videoram") /* Video RAM (shared with CPU A) */
@@ -150,7 +150,7 @@ static ADDRESS_MAP_START( pandoras_slave_map, AS_PROGRAM, 8, pandoras_state )
AM_RANGE(0xe000, 0xffff) AM_ROM /* ROM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pandoras_sound_map, AS_PROGRAM, 8, pandoras_state )
+ADDRESS_MAP_START(pandoras_state::pandoras_sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM /* ROM */
AM_RANGE(0x2000, 0x23ff) AM_RAM /* RAM */
AM_RANGE(0x4000, 0x4000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -161,11 +161,11 @@ static ADDRESS_MAP_START( pandoras_sound_map, AS_PROGRAM, 8, pandoras_state )
AM_RANGE(0xa000, 0xa000) AM_DEVWRITE("soundlatch2", generic_latch_8_device, write) /* sound command to the 8039 */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pandoras_i8039_map, AS_PROGRAM, 8, pandoras_state )
+ADDRESS_MAP_START(pandoras_state::pandoras_i8039_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pandoras_i8039_io_map, AS_IO, 8, pandoras_state )
+ADDRESS_MAP_START(pandoras_state::pandoras_i8039_io_map)
AM_RANGE(0x00, 0xff) AM_DEVREAD("soundlatch2", generic_latch_8_device, read)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pangofun.cpp b/src/mame/drivers/pangofun.cpp
index fe99e2fd940..610fa1b4e4b 100644
--- a/src/mame/drivers/pangofun.cpp
+++ b/src/mame/drivers/pangofun.cpp
@@ -110,10 +110,12 @@ public:
DECLARE_DRIVER_INIT(pangofun);
virtual void machine_start() override;
void pangofun(machine_config &config);
+ void pcat_io(address_map &map);
+ void pcat_map(address_map &map);
};
-static ADDRESS_MAP_START( pcat_map, AS_PROGRAM, 32, pangofun_state )
+ADDRESS_MAP_START(pangofun_state::pcat_map)
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", vga_device, mem_r, mem_w, 0xffffffff)
AM_RANGE(0x000c0000, 0x000c7fff) AM_ROM AM_REGION("video_bios", 0)
@@ -126,7 +128,7 @@ static ADDRESS_MAP_START( pcat_map, AS_PROGRAM, 32, pangofun_state )
AM_RANGE(0xffff0000, 0xffffffff) AM_ROM AM_REGION("bios", 0 )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pcat_io, AS_IO, 32, pangofun_state )
+ADDRESS_MAP_START(pangofun_state::pcat_io)
AM_IMPORT_FROM(pcat32_io_common)
AM_RANGE(0x00e0, 0x00e3) AM_WRITENOP
AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", vga_device, port_03b0_r, port_03b0_w, 0xffffffff)
diff --git a/src/mame/drivers/panicr.cpp b/src/mame/drivers/panicr.cpp
index bb7a04ae87a..33d7e129243 100644
--- a/src/mame/drivers/panicr.cpp
+++ b/src/mame/drivers/panicr.cpp
@@ -125,6 +125,7 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(scanline);
void panicr(machine_config &config);
+ void panicr_map(address_map &map);
};
@@ -427,7 +428,7 @@ WRITE8_MEMBER(panicr_state::t5182shared_w)
}
-static ADDRESS_MAP_START( panicr_map, AS_PROGRAM, 8, panicr_state )
+ADDRESS_MAP_START(panicr_state::panicr_map)
AM_RANGE(0x00000, 0x01fff) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x02000, 0x03cff) AM_RAM AM_SHARE("spriteram") // how big is sprite ram, some places definitely have sprites at 3000+
AM_RANGE(0x03d00, 0x03fff) AM_RAM
diff --git a/src/mame/drivers/paradise.cpp b/src/mame/drivers/paradise.cpp
index 9e5a9ec44cb..5e5bc6b0510 100644
--- a/src/mame/drivers/paradise.cpp
+++ b/src/mame/drivers/paradise.cpp
@@ -128,7 +128,7 @@ WRITE8_MEMBER(paradise_state::torus_coin_counter_w)
machine().bookkeeping().coin_counter_w(0, data ^ 0xff);
}
-static ADDRESS_MAP_START( base_map, AS_PROGRAM, 8, paradise_state )
+ADDRESS_MAP_START(paradise_state::base_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM /* ROM */
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("prgbank") /* ROM (banked) */
AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(vram_2_w) AM_SHARE("vram_2") /* Background */
@@ -136,27 +136,27 @@ static ADDRESS_MAP_START( base_map, AS_PROGRAM, 8, paradise_state )
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(vram_0_w) AM_SHARE("vram_0") /* Foreground */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( paradise_map, AS_PROGRAM, 8, paradise_state )
+ADDRESS_MAP_START(paradise_state::paradise_map)
AM_IMPORT_FROM(base_map)
AM_RANGE(0xd800, 0xd8ff) AM_RAM // RAM
AM_RANGE(0xd900, 0xe0ff) AM_RAM AM_SHARE("spriteram") // Sprites
AM_RANGE(0xe100, 0xffff) AM_RAM // RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tgtball_map, AS_PROGRAM, 8, paradise_state )
+ADDRESS_MAP_START(paradise_state::tgtball_map)
AM_IMPORT_FROM(base_map)
AM_RANGE(0xd800, 0xd8ff) AM_RAM // RAM
AM_RANGE(0xd900, 0xd9ff) AM_RAM AM_SHARE("spriteram") // Sprites
AM_RANGE(0xda00, 0xffff) AM_RAM // RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( torus_map, AS_PROGRAM, 8, paradise_state )
+ADDRESS_MAP_START(paradise_state::torus_map)
AM_IMPORT_FROM(base_map)
AM_RANGE(0xd800, 0xdfff) AM_RAM AM_SHARE("spriteram") // Sprites
AM_RANGE(0xe000, 0xffff) AM_RAM // RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( torus_io_map, AS_IO, 8, paradise_state )
+ADDRESS_MAP_START(paradise_state::torus_io_map)
AM_RANGE(0x0000, 0x17ff) AM_RAM_WRITE(palette_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x1800, 0x1800) AM_WRITE(priority_w) // Layers priority
AM_RANGE(0x2001, 0x2001) AM_WRITE(flipscreen_w) // Flip Screen
@@ -171,7 +171,7 @@ static ADDRESS_MAP_START( torus_io_map, AS_IO, 8, paradise_state )
AM_RANGE(0x8000, 0xffff) AM_RAM_WRITE(pixmap_w) AM_SHARE("videoram") // Pixmap
ADDRESS_MAP_END
-static ADDRESS_MAP_START( paradise_io_map, AS_IO, 8, paradise_state )
+ADDRESS_MAP_START(paradise_state::paradise_io_map)
AM_IMPORT_FROM(torus_io_map)
AM_RANGE(0x2007, 0x2007) AM_WRITE(paradise_okibank_w) // OKI 1 samples bank
AM_RANGE(0x2030, 0x2030) AM_DEVREADWRITE("oki2", okim6295_device, read, write) // OKI 1
diff --git a/src/mame/drivers/paranoia.cpp b/src/mame/drivers/paranoia.cpp
index dae6f71a90e..de95a8fa890 100644
--- a/src/mame/drivers/paranoia.cpp
+++ b/src/mame/drivers/paranoia.cpp
@@ -65,6 +65,12 @@ public:
DECLARE_WRITE8_MEMBER(i8155_c_w);
DECLARE_WRITE_LINE_MEMBER(i8155_timer_out);
void paranoia(machine_config &config);
+ void paranoia_8085_io_map(address_map &map);
+ void paranoia_8085_map(address_map &map);
+ void paranoia_z80_io_map(address_map &map);
+ void paranoia_z80_map(address_map &map);
+ void pce_io(address_map &map);
+ void pce_mem(address_map &map);
};
@@ -72,7 +78,7 @@ static INPUT_PORTS_START( paranoia )
PCE_STANDARD_INPUT_PORT_P1
INPUT_PORTS_END
-static ADDRESS_MAP_START( pce_mem , AS_PROGRAM, 8, paranoia_state )
+ADDRESS_MAP_START(paranoia_state::pce_mem)
AM_RANGE( 0x000000, 0x03FFFF) AM_ROM
AM_RANGE( 0x1F0000, 0x1F1FFF) AM_RAM AM_MIRROR(0x6000)
AM_RANGE( 0x1FE000, 0x1FE3FF) AM_DEVREADWRITE( "huc6270", huc6270_device, read, write )
@@ -83,7 +89,7 @@ static ADDRESS_MAP_START( pce_mem , AS_PROGRAM, 8, paranoia_state )
AM_RANGE( 0x1FF400, 0x1FF7FF) AM_DEVREADWRITE("maincpu", h6280_device, irq_status_r, irq_status_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pce_io , AS_IO, 8, paranoia_state )
+ADDRESS_MAP_START(paranoia_state::pce_io)
AM_RANGE( 0x00, 0x03) AM_DEVREADWRITE( "huc6270", huc6270_device, read, write )
ADDRESS_MAP_END
@@ -92,7 +98,7 @@ WRITE8_MEMBER(paranoia_state::i8085_d000_w)
//logerror( "D000 (8085) write %02x\n", data );
}
-static ADDRESS_MAP_START(paranoia_8085_map, AS_PROGRAM, 8, paranoia_state )
+ADDRESS_MAP_START(paranoia_state::paranoia_8085_map)
AM_RANGE( 0x0000, 0x7fff) AM_ROM
AM_RANGE( 0x8000, 0x80ff) AM_DEVREADWRITE("i8155", i8155_device, memory_r, memory_w)
AM_RANGE( 0x8100, 0x8107) AM_DEVREADWRITE("i8155", i8155_device, io_r, io_w)
@@ -100,10 +106,10 @@ static ADDRESS_MAP_START(paranoia_8085_map, AS_PROGRAM, 8, paranoia_state )
AM_RANGE( 0xe000, 0xe1ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(paranoia_8085_io_map, AS_IO, 8, paranoia_state )
+ADDRESS_MAP_START(paranoia_state::paranoia_8085_io_map)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(paranoia_z80_map, AS_PROGRAM, 8, paranoia_state )
+ADDRESS_MAP_START(paranoia_state::paranoia_z80_map)
AM_RANGE( 0x0000, 0x3fff) AM_ROM
AM_RANGE( 0x6000, 0x67ff) AM_RAM
AM_RANGE( 0x7000, 0x73ff) AM_RAM
@@ -127,7 +133,7 @@ WRITE8_MEMBER(paranoia_state::z80_io_37_w)
{
}
-static ADDRESS_MAP_START(paranoia_z80_io_map, AS_IO, 8, paranoia_state )
+ADDRESS_MAP_START(paranoia_state::paranoia_z80_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x01 ) AM_READ(z80_io_01_r )
AM_RANGE( 0x02, 0x02 ) AM_READ(z80_io_02_r )
diff --git a/src/mame/drivers/parodius.cpp b/src/mame/drivers/parodius.cpp
index 2e480e74056..031851aa35a 100644
--- a/src/mame/drivers/parodius.cpp
+++ b/src/mame/drivers/parodius.cpp
@@ -92,7 +92,7 @@ WRITE8_MEMBER(parodius_state::sound_arm_nmi_w)
/********************************************/
-static ADDRESS_MAP_START( parodius_map, AS_PROGRAM, 8, parodius_state )
+ADDRESS_MAP_START(parodius_state::parodius_map)
AM_RANGE(0x0000, 0x07ff) AM_DEVICE("bank0000", address_map_bank_device, amap8)
AM_RANGE(0x0800, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x5fff) AM_DEVREADWRITE("k052109", k052109_device, read, write)
@@ -112,17 +112,17 @@ static ADDRESS_MAP_START( parodius_map, AS_PROGRAM, 8, parodius_state )
AM_RANGE(0xa000, 0xffff) AM_ROM AM_REGION("maincpu", 0x3a000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bank0000_map, AS_PROGRAM, 8, parodius_state )
+ADDRESS_MAP_START(parodius_state::bank0000_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x1000, 0x1fff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bank2000_map, AS_PROGRAM, 8, parodius_state )
+ADDRESS_MAP_START(parodius_state::bank2000_map)
AM_RANGE(0x0000, 0x07ff) AM_DEVREADWRITE("k052109", k052109_device, read, write)
AM_RANGE(0x0800, 0x0fff) AM_DEVREADWRITE("k053245", k05324x_device, k053245_r, k053245_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( parodius_sound_map, AS_PROGRAM, 8, parodius_state )
+ADDRESS_MAP_START(parodius_state::parodius_sound_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xf801) AM_DEVREADWRITE("ymsnd", ym2151_device,read,write)
diff --git a/src/mame/drivers/partner.cpp b/src/mame/drivers/partner.cpp
index 3fda5d860b9..841572e55bc 100644
--- a/src/mame/drivers/partner.cpp
+++ b/src/mame/drivers/partner.cpp
@@ -25,7 +25,7 @@
/* Address maps */
-static ADDRESS_MAP_START(partner_mem, AS_PROGRAM, 8, partner_state )
+ADDRESS_MAP_START(partner_state::partner_mem)
AM_RANGE( 0x0000, 0x07ff ) AM_RAMBANK("bank1")
AM_RANGE( 0x0800, 0x3fff ) AM_RAMBANK("bank2")
AM_RANGE( 0x4000, 0x5fff ) AM_RAMBANK("bank3")
diff --git a/src/mame/drivers/pasha2.cpp b/src/mame/drivers/pasha2.cpp
index 64cc3404601..6854296e319 100644
--- a/src/mame/drivers/pasha2.cpp
+++ b/src/mame/drivers/pasha2.cpp
@@ -125,6 +125,8 @@ public:
required_device<okim6295_device> m_oki2;
required_device<palette_device> m_palette;
void pasha2(machine_config &config);
+ void pasha2_io(address_map &map);
+ void pasha2_map(address_map &map);
};
@@ -231,7 +233,7 @@ WRITE16_MEMBER(pasha2_state::pasha2_lamps_w)
machine().output().set_value("lamp_p3_b", BIT(data, 10));
}
-static ADDRESS_MAP_START( pasha2_map, AS_PROGRAM, 16, pasha2_state )
+ADDRESS_MAP_START(pasha2_state::pasha2_map)
AM_RANGE(0x00000000, 0x001fffff) AM_RAM AM_SHARE("wram")
AM_RANGE(0x40000000, 0x4001ffff) AM_RAM_WRITE(bitmap_0_w)
AM_RANGE(0x40020000, 0x4003ffff) AM_RAM_WRITE(bitmap_1_w)
@@ -247,7 +249,7 @@ static ADDRESS_MAP_START( pasha2_map, AS_PROGRAM, 16, pasha2_state )
AM_RANGE(0xfff80000, 0xffffffff) AM_ROM AM_REGION("user1",0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pasha2_io, AS_IO, 16, pasha2_state )
+ADDRESS_MAP_START(pasha2_state::pasha2_io)
AM_RANGE(0x08, 0x0b) AM_READNOP //sound status?
AM_RANGE(0x18, 0x1b) AM_READNOP //sound status?
AM_RANGE(0x20, 0x23) AM_WRITE(pasha2_lamps_w)
diff --git a/src/mame/drivers/paso1600.cpp b/src/mame/drivers/paso1600.cpp
index 7db517f20bd..dacd843b713 100644
--- a/src/mame/drivers/paso1600.cpp
+++ b/src/mame/drivers/paso1600.cpp
@@ -50,6 +50,8 @@ public:
uint32_t screen_update_paso1600(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void paso1600(machine_config &config);
+ void paso1600_io(address_map &map);
+ void paso1600_map(address_map &map);
private:
uint8_t m_crtc_vreg[0x100],m_crtc_index;
struct{
@@ -227,7 +229,7 @@ READ16_MEMBER( paso1600_state::test_hi_r )
return 0xffff;
}
-static ADDRESS_MAP_START(paso1600_map, AS_PROGRAM, 16, paso1600_state)
+ADDRESS_MAP_START(paso1600_state::paso1600_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000,0x7ffff) AM_RAM
AM_RANGE(0xb0000,0xb0fff) AM_RAM AM_SHARE("vram") // tvram
@@ -237,7 +239,7 @@ static ADDRESS_MAP_START(paso1600_map, AS_PROGRAM, 16, paso1600_state)
AM_RANGE(0xfe000,0xfffff) AM_ROM AM_REGION("ipl", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(paso1600_io, AS_IO, 16, paso1600_state)
+ADDRESS_MAP_START(paso1600_state::paso1600_io)
ADDRESS_MAP_UNMAP_LOW
AM_RANGE(0x0000,0x000f) AM_DEVREADWRITE8("8237dma", am9517a_device, read, write, 0xffff)
AM_RANGE(0x0010,0x0011) AM_DEVREADWRITE8("pic8259", pic8259_device, read, write, 0xffff) // i8259
diff --git a/src/mame/drivers/pasogo.cpp b/src/mame/drivers/pasogo.cpp
index b42bc5c4108..76c11941c2a 100644
--- a/src/mame/drivers/pasogo.cpp
+++ b/src/mame/drivers/pasogo.cpp
@@ -175,6 +175,9 @@ public:
uint8_t m_ems_index;
uint16_t m_ems_bank[28];
void pasogo(machine_config &config);
+ void emsbank_map(address_map &map);
+ void pasogo_io(address_map &map);
+ void pasogo_mem(address_map &map);
};
@@ -439,20 +442,20 @@ WRITE16_MEMBER( pasogo_state::emsram_w )
m_ems->write16(space, offset & 0x1fff, data, mem_mask);
}
-static ADDRESS_MAP_START(emsbank_map, AS_PROGRAM, 16, pasogo_state)
+ADDRESS_MAP_START(pasogo_state::emsbank_map)
AM_RANGE(0x04080000, 0x040fffff) AM_RAM
AM_RANGE(0x08000000, 0x080fffff) AM_ROMBANK("bank27")
AM_RANGE(0x10000000, 0x1000ffff) AM_RAM // cart ram?
ADDRESS_MAP_END
-static ADDRESS_MAP_START(pasogo_mem, AS_PROGRAM, 16, pasogo_state)
+ADDRESS_MAP_START(pasogo_state::pasogo_mem)
AM_RANGE(0x80000, 0xeffff) AM_READWRITE(emsram_r, emsram_w)
AM_RANGE(0xb8000, 0xbffff) AM_RAM AM_SHARE("vram")
AM_RANGE(0xf0000, 0xfffff) AM_ROMBANK("bank27")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(pasogo_io, AS_IO, 16, pasogo_state)
+ADDRESS_MAP_START(pasogo_state::pasogo_io)
AM_RANGE(0x0000, 0x00ff) AM_DEVICE8("mb", ibm5160_mb_device, map, 0xffff)
AM_RANGE(0x0026, 0x0027) AM_READWRITE8(vg230_io_r, vg230_io_w, 0xffff)
AM_RANGE(0x006c, 0x006f) AM_READWRITE(ems_r, ems_w)
diff --git a/src/mame/drivers/pasopia.cpp b/src/mame/drivers/pasopia.cpp
index 170a5284e86..64737fd1401 100644
--- a/src/mame/drivers/pasopia.cpp
+++ b/src/mame/drivers/pasopia.cpp
@@ -54,6 +54,8 @@ public:
TIMER_CALLBACK_MEMBER(pio_timer);
void pasopia(machine_config &config);
+ void pasopia_io(address_map &map);
+ void pasopia_map(address_map &map);
private:
uint8_t m_hblank;
uint16_t m_vram_addr;
@@ -120,13 +122,13 @@ WRITE8_MEMBER( pasopia_state::pasopia_ctrl_w )
membank("bank1")->set_entry(m_ram_bank);
}
-static ADDRESS_MAP_START(pasopia_map, AS_PROGRAM, 8, pasopia_state)
+ADDRESS_MAP_START(pasopia_state::pasopia_map)
AM_RANGE(0x0000,0x7fff) AM_READ_BANK("bank1") AM_WRITE_BANK("bank2")
AM_RANGE(0x8000,0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(pasopia_io, AS_IO, 8, pasopia_state)
+ADDRESS_MAP_START(pasopia_state::pasopia_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00,0x03) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
diff --git a/src/mame/drivers/pasopia7.cpp b/src/mame/drivers/pasopia7.cpp
index b71d303c732..c6902f31c08 100644
--- a/src/mame/drivers/pasopia7.cpp
+++ b/src/mame/drivers/pasopia7.cpp
@@ -91,6 +91,8 @@ public:
void p7_base(machine_config &config);
void p7_lcd(machine_config &config);
void p7_raster(machine_config &config);
+ void pasopia7_io(address_map &map);
+ void pasopia7_mem(address_map &map);
private:
uint8_t m_vram_sel;
uint8_t m_mio_sel;
@@ -696,7 +698,7 @@ WRITE8_MEMBER( pasopia7_state::pasopia7_io_w )
}
}
-static ADDRESS_MAP_START(pasopia7_mem, AS_PROGRAM, 8, pasopia7_state)
+ADDRESS_MAP_START(pasopia7_state::pasopia7_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x7fff ) AM_WRITE( ram_bank_w )
AM_RANGE( 0x0000, 0x3fff ) AM_ROMBANK("bank1")
@@ -705,7 +707,7 @@ static ADDRESS_MAP_START(pasopia7_mem, AS_PROGRAM, 8, pasopia7_state)
AM_RANGE( 0xc000, 0xffff ) AM_RAMBANK("bank4")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(pasopia7_io, AS_IO, 8, pasopia7_state)
+ADDRESS_MAP_START(pasopia7_state::pasopia7_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0xffff) AM_READWRITE( pasopia7_io_r, pasopia7_io_w )
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pass.cpp b/src/mame/drivers/pass.cpp
index 1bd25a8593b..7f618192d04 100644
--- a/src/mame/drivers/pass.cpp
+++ b/src/mame/drivers/pass.cpp
@@ -114,7 +114,7 @@
/* todo: check all memory regions actually readable / read from */
-static ADDRESS_MAP_START( pass_map, AS_PROGRAM, 16, pass_state )
+ADDRESS_MAP_START(pass_state::pass_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x083fff) AM_RAM
AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(pass_bg_videoram_w) AM_SHARE("bg_videoram") // Background
@@ -126,12 +126,12 @@ static ADDRESS_MAP_START( pass_map, AS_PROGRAM, 16, pass_state )
ADDRESS_MAP_END
/* sound cpu */
-static ADDRESS_MAP_START( pass_sound_map, AS_PROGRAM, 8, pass_state )
+ADDRESS_MAP_START(pass_state::pass_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pass_sound_io_map, AS_IO, 8, pass_state )
+ADDRESS_MAP_START(pass_state::pass_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0x70, 0x71) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
diff --git a/src/mame/drivers/pastelg.cpp b/src/mame/drivers/pastelg.cpp
index d26b5c22672..492a968263b 100644
--- a/src/mame/drivers/pastelg.cpp
+++ b/src/mame/drivers/pastelg.cpp
@@ -45,7 +45,7 @@ READ8_MEMBER(pastelg_state::pastelg_sndrom_r)
return ROM[pastelg_blitter_src_addr_r() & 0x7fff];
}
-static ADDRESS_MAP_START( pastelg_map, AS_PROGRAM, 8, pastelg_state )
+ADDRESS_MAP_START(pastelg_state::pastelg_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
@@ -56,7 +56,7 @@ READ8_MEMBER(pastelg_state::pastelg_irq_ack_r)
return 0;
}
-static ADDRESS_MAP_START( pastelg_io_map, AS_IO, 8, pastelg_state )
+ADDRESS_MAP_START(pastelg_state::pastelg_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
// AM_RANGE(0x00, 0x00) AM_WRITENOP
AM_RANGE(0x00, 0x7f) AM_DEVREAD("nb1413m3", nb1413m3_device, sndrom_r)
@@ -111,7 +111,7 @@ CUSTOM_INPUT_MEMBER( pastelg_state::nb1413m3_busyflag_r )
return m_nb1413m3->m_busyflag & 0x01;
}
-static ADDRESS_MAP_START( threeds_io_map, AS_IO, 8, pastelg_state )
+ADDRESS_MAP_START(pastelg_state::threeds_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x81, 0x81) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE(0x82, 0x83) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
diff --git a/src/mame/drivers/patapata.cpp b/src/mame/drivers/patapata.cpp
index 40393e0ad4d..bfcd83c2fb0 100644
--- a/src/mame/drivers/patapata.cpp
+++ b/src/mame/drivers/patapata.cpp
@@ -49,6 +49,7 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void patapata(machine_config &config);
+ void main_map(address_map &map);
protected:
virtual void video_start() override;
@@ -180,7 +181,7 @@ also
*/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, patapata_state )
+ADDRESS_MAP_START(patapata_state::main_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_READ_PORT("IN0")
diff --git a/src/mame/drivers/pb1000.cpp b/src/mame/drivers/pb1000.cpp
index 5ada4c2f91f..15edeeb37e9 100644
--- a/src/mame/drivers/pb1000.cpp
+++ b/src/mame/drivers/pb1000.cpp
@@ -76,9 +76,11 @@ public:
TIMER_CALLBACK_MEMBER(keyboard_timer);
void pb2000c(machine_config &config);
void pb1000(machine_config &config);
+ void pb1000_mem(address_map &map);
+ void pb2000c_mem(address_map &map);
};
-static ADDRESS_MAP_START(pb1000_mem, AS_PROGRAM, 16, pb1000_state)
+ADDRESS_MAP_START(pb1000_state::pb1000_mem)
ADDRESS_MAP_UNMAP_LOW
AM_RANGE( 0x00000, 0x00bff ) AM_ROM
//AM_RANGE( 0x00c00, 0x00c0f ) AM_NOP //I/O
@@ -87,7 +89,7 @@ static ADDRESS_MAP_START(pb1000_mem, AS_PROGRAM, 16, pb1000_state)
AM_RANGE( 0x18000, 0x1ffff ) AM_RAM AM_SHARE("nvram2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(pb2000c_mem, AS_PROGRAM, 16, pb1000_state)
+ADDRESS_MAP_START(pb1000_state::pb2000c_mem)
ADDRESS_MAP_UNMAP_LOW
AM_RANGE( 0x00000, 0x0ffff ) AM_ROMBANK("bank1")
AM_RANGE( 0x00000, 0x00bff ) AM_ROM
diff --git a/src/mame/drivers/pbaction.cpp b/src/mame/drivers/pbaction.cpp
index 46e55fe81a9..2e09fefd21b 100644
--- a/src/mame/drivers/pbaction.cpp
+++ b/src/mame/drivers/pbaction.cpp
@@ -86,7 +86,7 @@ WRITE8_MEMBER(pbaction_state::nmi_mask_w)
m_nmi_mask = data & 1;
}
-static ADDRESS_MAP_START( pbaction_map, AS_PROGRAM, 8, pbaction_state )
+ADDRESS_MAP_START(pbaction_state::pbaction_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM AM_SHARE("work_ram")
AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(pbaction_videoram2_w) AM_SHARE("videoram2")
@@ -104,12 +104,12 @@ static ADDRESS_MAP_START( pbaction_map, AS_PROGRAM, 8, pbaction_state )
AM_RANGE(0xe800, 0xe800) AM_WRITE(pbaction_sh_command_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, pbaction_state )
+ADDRESS_MAP_START(pbaction_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_SHARE("decrypted_opcodes")
AM_RANGE(0x8000, 0xbfff) AM_ROM AM_REGION("maincpu", 0x8000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pbaction_sound_map, AS_PROGRAM, 8, pbaction_state )
+ADDRESS_MAP_START(pbaction_state::pbaction_sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x8000, 0x8000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -117,7 +117,7 @@ static ADDRESS_MAP_START( pbaction_sound_map, AS_PROGRAM, 8, pbaction_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pbaction_sound_io_map, AS_IO, 8, pbaction_state )
+ADDRESS_MAP_START(pbaction_state::pbaction_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x11) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
AM_RANGE(0x20, 0x21) AM_DEVWRITE("ay2", ay8910_device, address_data_w)
@@ -327,7 +327,7 @@ MACHINE_CONFIG_DERIVED(pbaction_state::pbactionx, pbaction)
MCFG_CPU_REPLACE("maincpu", SEGA_CPU_PBACTIO4, 4000000) /* 4 MHz? */
MCFG_CPU_PROGRAM_MAP(pbaction_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", pbaction_state, vblank_irq)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/pc.cpp b/src/mame/drivers/pc.cpp
index ae7f269d8c8..8edd1fd3f81 100644
--- a/src/mame/drivers/pc.cpp
+++ b/src/mame/drivers/pc.cpp
@@ -395,30 +395,37 @@ public:
void eagle1600(machine_config &config);
void laser_turbo_xt(machine_config &config);
void ibm5550(machine_config &config);
+ void epc_io(address_map &map);
+ void ibm5550_io(address_map &map);
+ void pc16_io(address_map &map);
+ void pc16_map(address_map &map);
+ void pc8_io(address_map &map);
+ void pc8_map(address_map &map);
+ void zenith_map(address_map &map);
};
-static ADDRESS_MAP_START( pc8_map, AS_PROGRAM, 8, pc_state )
+ADDRESS_MAP_START(pc_state::pc8_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xf0000, 0xfffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( zenith_map, AS_PROGRAM, 8, pc_state )
+ADDRESS_MAP_START(pc_state::zenith_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xf0000, 0xf7fff) AM_RAM
AM_RANGE(0xf8000, 0xfffff) AM_ROM AM_REGION("bios", 0x8000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc16_map, AS_PROGRAM, 16, pc_state )
+ADDRESS_MAP_START(pc_state::pc16_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xf0000, 0xfffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(pc8_io, AS_IO, 8, pc_state )
+ADDRESS_MAP_START(pc_state::pc8_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x00ff) AM_DEVICE("mb", ibm5160_mb_device, map)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(pc16_io, AS_IO, 16, pc_state )
+ADDRESS_MAP_START(pc_state::pc16_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x00ff) AM_DEVICE8("mb", ibm5160_mb_device, map, 0xffff)
AM_RANGE(0x0070, 0x007f) AM_RAM // needed for Poisk-2
@@ -429,13 +436,13 @@ READ8_MEMBER(pc_state::unk_r)
return 0;
}
-static ADDRESS_MAP_START(ibm5550_io, AS_IO, 16, pc_state )
+ADDRESS_MAP_START(pc_state::ibm5550_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x00ff) AM_DEVICE8("mb", ibm5160_mb_device, map, 0xffff)
AM_RANGE(0x00a0, 0x00a1) AM_READ8(unk_r, 0x00ff )
ADDRESS_MAP_END
-static ADDRESS_MAP_START(epc_io, AS_IO, 8, pc_state)
+ADDRESS_MAP_START(pc_state::epc_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x00ff) AM_DEVICE("mb", ibm5160_mb_device, map)
AM_RANGE(0x0070, 0x0070) AM_DEVREADWRITE("i8251", i8251_device, data_r, data_w)
diff --git a/src/mame/drivers/pc100.cpp b/src/mame/drivers/pc100.cpp
index 3b08d877897..bc977f862b6 100644
--- a/src/mame/drivers/pc100.cpp
+++ b/src/mame/drivers/pc100.cpp
@@ -146,6 +146,8 @@ public:
WRITE_LINE_MEMBER(rtc_portc_3_w) { m_rtc_portc = (m_rtc_portc & ~(1 << 3)) | ((state & 1) << 3); }
uint8_t m_rtc_portc;
void pc100(machine_config &config);
+ void pc100_io(address_map &map);
+ void pc100_map(address_map &map);
};
void pc100_state::video_start()
@@ -230,7 +232,7 @@ WRITE16_MEMBER( pc100_state::pc100_vram_w )
}
}
-static ADDRESS_MAP_START(pc100_map, AS_PROGRAM, 16, pc100_state)
+ADDRESS_MAP_START(pc100_state::pc100_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000,0xbffff) AM_RAM // work ram
AM_RANGE(0xc0000,0xdffff) AM_READWRITE(pc100_vram_r,pc100_vram_w) // vram, blitter based!
@@ -310,7 +312,7 @@ WRITE8_MEMBER( pc100_state::pc100_crtc_data_w )
/* everything is 8-bit bus wide */
-static ADDRESS_MAP_START(pc100_io, AS_IO, 16, pc100_state)
+ADDRESS_MAP_START(pc100_state::pc100_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE8("pic8259", pic8259_device, read, write, 0x00ff) // i8259
// AM_RANGE(0x04, 0x07) i8237?
diff --git a/src/mame/drivers/pc1500.cpp b/src/mame/drivers/pc1500.cpp
index 9c6a5310e14..33eca9e025e 100644
--- a/src/mame/drivers/pc1500.cpp
+++ b/src/mame/drivers/pc1500.cpp
@@ -54,9 +54,11 @@ public:
DECLARE_READ8_MEMBER( pc1500_kb_r );
DECLARE_PALETTE_INIT(pc1500);
void pc1500(machine_config &config);
+ void pc1500_mem(address_map &map);
+ void pc1500_mem_io(address_map &map);
};
-static ADDRESS_MAP_START( pc1500_mem , AS_PROGRAM, 8, pc1500_state)
+ADDRESS_MAP_START(pc1500_state::pc1500_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x3fff) AM_ROM //module ROM/RAM
AM_RANGE( 0x4000, 0x47ff) AM_RAM //user RAM
@@ -67,7 +69,7 @@ static ADDRESS_MAP_START( pc1500_mem , AS_PROGRAM, 8, pc1500_state)
AM_RANGE( 0xc000, 0xffff) AM_ROM //system ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc1500_mem_io , AS_IO, 8, pc1500_state)
+ADDRESS_MAP_START(pc1500_state::pc1500_mem_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0xf000, 0xf00f) AM_DEVREADWRITE("lh5810", lh5810_device, data_r, data_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pc1512.cpp b/src/mame/drivers/pc1512.cpp
index 671d125b9b3..055b8633a61 100644
--- a/src/mame/drivers/pc1512.cpp
+++ b/src/mame/drivers/pc1512.cpp
@@ -607,7 +607,7 @@ READ8_MEMBER( pc1640_state::io_r )
// ADDRESS_MAP( pc1512_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( pc1512_mem, AS_PROGRAM, 16, pc1512_state )
+ADDRESS_MAP_START(pc1512_state::pc1512_mem)
AM_RANGE(0x00000, 0x9ffff) AM_RAM
AM_RANGE(0xb8000, 0xbbfff) AM_READWRITE8(video_ram_r, video_ram_w, 0xffff)
AM_RANGE(0xfc000, 0xfffff) AM_ROM AM_REGION(I8086_TAG, 0)
@@ -618,7 +618,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( pc1512_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( pc1512_io, AS_IO, 16, pc1512_state )
+ADDRESS_MAP_START(pc1512_state::pc1512_io)
// [RH] 29 Aug 2016: I can find no evidence to indicate that Amstrad had only 10 I/O lines, as the
// schematic calls for a stock 8086 and the I/O and data lines are multiplexed onto the same bus,
// plus address lines 20-10 are towards the middle of a standard ISA slot. If it turns out that this
@@ -643,7 +643,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( pc1640_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( pc1640_mem, AS_PROGRAM, 16, pc1640_state )
+ADDRESS_MAP_START(pc1640_state::pc1640_mem)
AM_RANGE(0x00000, 0x9ffff) AM_RAM
AM_RANGE(0xf0000, 0xf3fff) AM_MIRROR(0xc000) AM_ROM AM_REGION(I8086_TAG, 0)
ADDRESS_MAP_END
@@ -653,7 +653,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( pc1640_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( pc1640_io, AS_IO, 16, pc1640_state )
+ADDRESS_MAP_START(pc1640_state::pc1640_io)
AM_RANGE(0x0000, 0xffff) AM_READ8(io_r, 0xffff)
AM_RANGE(0x000, 0x00f) AM_DEVWRITE8(I8237A5_TAG, am9517a_device, write, 0xffff)
diff --git a/src/mame/drivers/pc2000.cpp b/src/mame/drivers/pc2000.cpp
index 74a14b087a8..f655cafec10 100644
--- a/src/mame/drivers/pc2000.cpp
+++ b/src/mame/drivers/pc2000.cpp
@@ -71,6 +71,8 @@ public:
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(pc2000_cart);
void pc2000(machine_config &config);
void gl2000(machine_config &config);
+ void pc2000_io(address_map &map);
+ void pc2000_mem(address_map &map);
};
class gl3000s_state : public pc2000_state
@@ -87,6 +89,7 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void gl3000s(machine_config &config);
+ void gl3000s_io(address_map &map);
};
class gl4004_state : public pc2000_state
@@ -120,6 +123,8 @@ public:
HD44780_PIXEL_UPDATE(pc1000_pixel_update);
void misterx(machine_config &config);
void pc1000(machine_config &config);
+ void pc1000_io(address_map &map);
+ void pc1000_mem(address_map &map);
};
@@ -175,7 +180,7 @@ WRITE8_MEMBER( pc2000_state::beep_w )
m_beep_state = data;
}
-static ADDRESS_MAP_START(pc2000_mem, AS_PROGRAM, 8, pc2000_state)
+ADDRESS_MAP_START(pc2000_state::pc2000_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_ROMBANK("bank0")
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
@@ -183,7 +188,7 @@ static ADDRESS_MAP_START(pc2000_mem, AS_PROGRAM, 8, pc2000_state)
AM_RANGE(0xc000, 0xdfff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc2000_io , AS_IO, 8, pc2000_state)
+ADDRESS_MAP_START(pc2000_state::pc2000_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(rombank0_w)
@@ -292,7 +297,7 @@ SED1520_UPDATE_CB(gl3000s_screen_update_left)
}
-static ADDRESS_MAP_START( gl3000s_io , AS_IO, 8, gl3000s_state)
+ADDRESS_MAP_START(gl3000s_state::gl3000s_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x01, 0x01) AM_WRITE(rombank1_w)
@@ -357,7 +362,7 @@ HD44780_PIXEL_UPDATE(pc1000_state::pc1000_pixel_update)
}
}
-static ADDRESS_MAP_START(pc1000_mem, AS_PROGRAM, 8, pc1000_state)
+ADDRESS_MAP_START(pc1000_state::pc1000_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_ROM AM_REGION("bios", 0x00000)
AM_RANGE(0x4000, 0x47ff) AM_RAM
@@ -365,7 +370,7 @@ static ADDRESS_MAP_START(pc1000_mem, AS_PROGRAM, 8, pc1000_state)
AM_RANGE(0xc000, 0xffff) AM_ROMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc1000_io , AS_IO, 8, pc1000_state)
+ADDRESS_MAP_START(pc1000_state::pc1000_io)
AM_RANGE(0x0000, 0x01ff) AM_READ(kb_r)
AM_RANGE(0x4000, 0x4000) AM_MIRROR(0xfe) AM_READWRITE(lcdc_control_r, lcdc_control_w)
AM_RANGE(0x4100, 0x4100) AM_MIRROR(0xfe) AM_READWRITE(lcdc_data_r, lcdc_data_w)
diff --git a/src/mame/drivers/pc4.cpp b/src/mame/drivers/pc4.cpp
index 3593aac7967..387550ce755 100644
--- a/src/mame/drivers/pc4.cpp
+++ b/src/mame/drivers/pc4.cpp
@@ -61,13 +61,13 @@ WRITE8_MEMBER( pc4_state::beep_w )
m_beep->set_state(data&0x40);
}
-static ADDRESS_MAP_START(pc4_mem, AS_PROGRAM, 8, pc4_state)
+ADDRESS_MAP_START(pc4_state::pc4_mem)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("rombank")
AM_RANGE(0x8000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(pc4_io, AS_IO, 8, pc4_state)
+ADDRESS_MAP_START(pc4_state::pc4_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x000f) AM_DEVREADWRITE("rtc", rp5c01_device, read, write)
AM_RANGE(0x1000, 0x1000) AM_WRITE(beep_w)
diff --git a/src/mame/drivers/pc6001.cpp b/src/mame/drivers/pc6001.cpp
index 0be32cf3906..c28cd7e4663 100644
--- a/src/mame/drivers/pc6001.cpp
+++ b/src/mame/drivers/pc6001.cpp
@@ -227,7 +227,7 @@ WRITE8_MEMBER(pc6001_state::nec_ppi8255_w)
m_ppi->write(space,offset,data);
}
-static ADDRESS_MAP_START(pc6001_map, AS_PROGRAM, 8, pc6001_state )
+ADDRESS_MAP_START(pc6001_state::pc6001_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_ROM AM_WRITENOP
// AM_RANGE(0x4000, 0x5fff) // mapped by the cartslot
@@ -235,7 +235,7 @@ static ADDRESS_MAP_START(pc6001_map, AS_PROGRAM, 8, pc6001_state )
AM_RANGE(0x8000, 0xffff) AM_RAM AM_SHARE("ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc6001_io , AS_IO, 8, pc6001_state )
+ADDRESS_MAP_START(pc6001_state::pc6001_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x80, 0x80) AM_DEVREADWRITE("uart", i8251_device, data_r, data_w)
@@ -677,7 +677,7 @@ READ8_MEMBER(pc6001mk2_state::mk2_bank_w0_r)
return m_bank_w;
}
-static ADDRESS_MAP_START(pc6001mk2_map, AS_PROGRAM, 8, pc6001mk2_state )
+ADDRESS_MAP_START(pc6001mk2_state::pc6001mk2_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_ROMBANK("bank1") AM_WRITE(mk2_work_ram0_w)
AM_RANGE(0x2000, 0x3fff) AM_ROMBANK("bank2") AM_WRITE(mk2_work_ram1_w)
@@ -689,7 +689,7 @@ static ADDRESS_MAP_START(pc6001mk2_map, AS_PROGRAM, 8, pc6001mk2_state )
AM_RANGE(0xe000, 0xffff) AM_ROMBANK("bank8") AM_WRITE(mk2_work_ram7_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc6001mk2_io , AS_IO, 8, pc6001mk2_state )
+ADDRESS_MAP_START(pc6001mk2_state::pc6001mk2_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x80, 0x80) AM_DEVREADWRITE("uart", i8251_device, data_r, data_w)
@@ -739,7 +739,7 @@ WRITE8_MEMBER(pc6601_state::fdc_w)
{
}
-static ADDRESS_MAP_START( pc6601_io , AS_IO, 8, pc6601_state )
+ADDRESS_MAP_START(pc6601_state::pc6601_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_IMPORT_FROM( pc6001mk2_io )
@@ -908,7 +908,7 @@ READ8_MEMBER(pc6001sr_state::hw_rev_r)
return 0;
}
-static ADDRESS_MAP_START(pc6001sr_map, AS_PROGRAM, 8, pc6001sr_state )
+ADDRESS_MAP_START(pc6001sr_state::pc6001sr_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_ROMBANK("bank1") AM_WRITE(sr_work_ram0_w)
AM_RANGE(0x2000, 0x3fff) AM_ROMBANK("bank2") AM_WRITE(sr_work_ram1_w)
@@ -920,7 +920,7 @@ static ADDRESS_MAP_START(pc6001sr_map, AS_PROGRAM, 8, pc6001sr_state )
AM_RANGE(0xe000, 0xffff) AM_ROMBANK("bank8") AM_WRITE(sr_work_ram7_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc6001sr_io , AS_IO, 8, pc6001sr_state )
+ADDRESS_MAP_START(pc6001sr_state::pc6001sr_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
// 0x40-0x43 palette indexes
diff --git a/src/mame/drivers/pc8001.cpp b/src/mame/drivers/pc8001.cpp
index 67b0ae46451..afd79a03fdd 100644
--- a/src/mame/drivers/pc8001.cpp
+++ b/src/mame/drivers/pc8001.cpp
@@ -166,13 +166,13 @@ WRITE8_MEMBER( pc8001_state::port40_w )
/* Memory Maps */
-static ADDRESS_MAP_START( pc8001_mem, AS_PROGRAM, 8, pc8001_state )
+ADDRESS_MAP_START(pc8001_state::pc8001_mem)
AM_RANGE(0x0000, 0x5fff) AM_RAMBANK("bank1")
AM_RANGE(0x6000, 0x7fff) AM_RAMBANK("bank2")
AM_RANGE(0x8000, 0xffff) AM_RAMBANK("bank3")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc8001_io, AS_IO, 8, pc8001_state )
+ADDRESS_MAP_START(pc8001_state::pc8001_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x00) AM_READ_PORT("Y0")
@@ -219,14 +219,14 @@ static ADDRESS_MAP_START( pc8001_io, AS_IO, 8, pc8001_state )
AM_RANGE(0xfc, 0xff) AM_DEVREADWRITE(I8255A_TAG, i8255_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc8001mk2_mem, AS_PROGRAM, 8, pc8001mk2_state )
+ADDRESS_MAP_START(pc8001mk2_state::pc8001mk2_mem)
AM_RANGE(0x0000, 0x5fff) AM_RAMBANK("bank1")
AM_RANGE(0x6000, 0x7fff) AM_RAMBANK("bank2")
AM_RANGE(0x8000, 0xbfff) AM_RAMBANK("bank3")
AM_RANGE(0xc000, 0xffff) AM_RAMBANK("bank4")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc8001mk2_io, AS_IO, 8, pc8001mk2_state )
+ADDRESS_MAP_START(pc8001mk2_state::pc8001mk2_io)
AM_IMPORT_FROM(pc8001_io)
AM_RANGE(0x30, 0x30) AM_WRITE(port30_w)
AM_RANGE(0x31, 0x31) AM_WRITE(port31_w)
diff --git a/src/mame/drivers/pc8401a.cpp b/src/mame/drivers/pc8401a.cpp
index 0a5464c11fa..7b267341612 100644
--- a/src/mame/drivers/pc8401a.cpp
+++ b/src/mame/drivers/pc8401a.cpp
@@ -331,7 +331,7 @@ WRITE8_MEMBER( pc8401a_state::port71_w )
/* Memory Maps */
-static ADDRESS_MAP_START( pc8401a_mem, AS_PROGRAM, 8, pc8401a_state )
+ADDRESS_MAP_START(pc8401a_state::pc8401a_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_RAMBANK("bank1")
AM_RANGE(0x8000, 0xbfff) AM_RAMBANK("bank3")
@@ -339,12 +339,12 @@ static ADDRESS_MAP_START( pc8401a_mem, AS_PROGRAM, 8, pc8401a_state )
AM_RANGE(0xe800, 0xffff) AM_RAMBANK("bank5")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc8401a_io, AS_IO, 8, pc8401a_state )
+ADDRESS_MAP_START(pc8401a_state::pc8401a_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc8500_io, AS_IO, 8, pc8401a_state )
+ADDRESS_MAP_START(pc8401a_state::pc8500_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("Y.0")
diff --git a/src/mame/drivers/pc8801.cpp b/src/mame/drivers/pc8801.cpp
index 850beb151b0..c1107d26601 100644
--- a/src/mame/drivers/pc8801.cpp
+++ b/src/mame/drivers/pc8801.cpp
@@ -476,6 +476,10 @@ public:
void pc8801fh(machine_config &config);
void pc8801(machine_config &config);
void pc8801ma(machine_config &config);
+ void pc8801_io(address_map &map);
+ void pc8801_mem(address_map &map);
+ void pc8801fdc_io(address_map &map);
+ void pc8801fdc_mem(address_map &map);
protected:
virtual void video_start() override;
@@ -1160,7 +1164,7 @@ WRITE8_MEMBER(pc8801_state::pc8801_mem_w)
}
}
-static ADDRESS_MAP_START( pc8801_mem, AS_PROGRAM, 8, pc8801_state )
+ADDRESS_MAP_START(pc8801_state::pc8801_mem)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(pc8801_mem_r,pc8801_mem_w)
ADDRESS_MAP_END
@@ -1761,7 +1765,7 @@ WRITE8_MEMBER(pc8801_state::pc8801_unk_w)
printf("Write port 0x33\n");
}
-static ADDRESS_MAP_START( pc8801_io, AS_IO, 8, pc8801_state )
+ADDRESS_MAP_START(pc8801_state::pc8801_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x00) AM_READ_PORT("KEY0")
@@ -1864,7 +1868,7 @@ WRITE8_MEMBER(pc8801_state::fdc_8255_c_w)
m_i8255_1_pc = data;
}
-static ADDRESS_MAP_START( pc8801fdc_mem, AS_PROGRAM, 8, pc8801_state )
+ADDRESS_MAP_START(pc8801_state::pc8801fdc_mem)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_RAM
ADDRESS_MAP_END
@@ -1907,7 +1911,7 @@ WRITE8_MEMBER(pc8801_state::fdc_drive_mode_w)
machine().device<upd765a_device>("upd765")->set_rate(data & 0x20 ? 500000 : 250000);
}
-static ADDRESS_MAP_START( pc8801fdc_io, AS_IO, 8, pc8801_state )
+ADDRESS_MAP_START(pc8801_state::pc8801fdc_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xf0, 0xf0) AM_WRITE(fdc_irq_vector_w) // Interrupt Opcode Port
AM_RANGE(0xf4, 0xf4) AM_WRITE(fdc_drive_mode_w) // Drive mode, 2d, 2dd, 2hd
diff --git a/src/mame/drivers/pc88va.cpp b/src/mame/drivers/pc88va.cpp
index b4a421867ef..4acb228b8a8 100644
--- a/src/mame/drivers/pc88va.cpp
+++ b/src/mame/drivers/pc88va.cpp
@@ -188,6 +188,10 @@ DECLARE_WRITE8_MEMBER(dma_memw_cb);
void execute_sprsw_cmd();
void pc88va(machine_config &config);
+ void pc88va_io_map(address_map &map);
+ void pc88va_map(address_map &map);
+ void pc88va_z80_io_map(address_map &map);
+ void pc88va_z80_map(address_map &map);
protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
required_device<gfxdecode_device> m_gfxdecode;
@@ -667,7 +671,7 @@ WRITE16_MEMBER(pc88va_state::sys_mem_w)
}
}
-static ADDRESS_MAP_START( pc88va_map, AS_PROGRAM, 16, pc88va_state )
+ADDRESS_MAP_START(pc88va_state::pc88va_map)
AM_RANGE(0x00000, 0x7ffff) AM_RAM
// AM_RANGE(0x80000, 0x9ffff) AM_RAM // EMM
AM_RANGE(0xa0000, 0xdffff) AM_READWRITE(sys_mem_r,sys_mem_w)
@@ -1242,7 +1246,7 @@ READ8_MEMBER(pc88va_state::no_subfdc_r)
}
#endif
-static ADDRESS_MAP_START( pc88va_io_map, AS_IO, 16, pc88va_state )
+ADDRESS_MAP_START(pc88va_state::pc88va_io_map)
AM_RANGE(0x0000, 0x000f) AM_READ8(key_r,0xffff) // Keyboard ROW reading
// AM_RANGE(0x0010, 0x0010) Printer / Calendar Clock Interface
AM_RANGE(0x0020, 0x0021) AM_NOP // RS-232C
@@ -1326,7 +1330,7 @@ TIMER_CALLBACK_MEMBER(pc88va_state::pc8801fd_upd765_tc_to_zero)
/* FDC subsytem CPU */
#if TEST_SUBFDC
-static ADDRESS_MAP_START( pc88va_z80_map, AS_PROGRAM, 8, pc88va_state )
+ADDRESS_MAP_START(pc88va_state::pc88va_z80_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_RAM
ADDRESS_MAP_END
@@ -1349,7 +1353,7 @@ WRITE8_MEMBER(pc88va_state::upd765_mc_w)
machine().device<floppy_connector>("upd765:1")->get_device()->mon_w(!(data & 2));
}
-static ADDRESS_MAP_START( pc88va_z80_io_map, AS_IO, 8, pc88va_state )
+ADDRESS_MAP_START(pc88va_state::pc88va_z80_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xf0, 0xf0) AM_WRITE(fdc_irq_vector_w) // Interrupt Opcode Port
// AM_RANGE(0xf4, 0xf4) // Drive Control Port
diff --git a/src/mame/drivers/pc9801.cpp b/src/mame/drivers/pc9801.cpp
index ba2fd53891a..bf49153d944 100644
--- a/src/mame/drivers/pc9801.cpp
+++ b/src/mame/drivers/pc9801.cpp
@@ -672,7 +672,7 @@ READ8_MEMBER(pc9801_state::f0_r)
return 0xff;
}
-static ADDRESS_MAP_START( pc9801_map, AS_PROGRAM, 16, pc9801_state )
+ADDRESS_MAP_START(pc9801_state::pc9801_map)
AM_RANGE(0xa0000, 0xa3fff) AM_READWRITE(tvram_r,tvram_w) //TVRAM
AM_RANGE(0xa8000, 0xbffff) AM_READWRITE8(gvram_r,gvram_w,0xffff) //bitmap VRAM
AM_RANGE(0xcc000, 0xcdfff) AM_ROM AM_REGION("sound_bios",0) //sound BIOS
@@ -682,7 +682,7 @@ static ADDRESS_MAP_START( pc9801_map, AS_PROGRAM, 16, pc9801_state )
ADDRESS_MAP_END
/* first device is even offsets, second one is odd offsets */
-static ADDRESS_MAP_START( pc9801_common_io, AS_IO, 16, pc9801_state )
+ADDRESS_MAP_START(pc9801_state::pc9801_common_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x001f) AM_DEVREADWRITE8("i8237", am9517a_device, read, write, 0xff00)
AM_RANGE(0x0000, 0x001f) AM_READWRITE8(pic_r, pic_w, 0x00ff) // i8259 PIC (bit 3 ON slave / master) / i8237 DMA
@@ -707,7 +707,7 @@ static ADDRESS_MAP_START( pc9801_common_io, AS_IO, 16, pc9801_state )
AM_RANGE(0x7fd8, 0x7fdf) AM_DEVREADWRITE8("ppi8255_mouse", i8255_device, read, write, 0xff00)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc9801_io, AS_IO, 16, pc9801_state )
+ADDRESS_MAP_START(pc9801_state::pc9801_io)
AM_IMPORT_FROM(pc9801_common_io)
AM_RANGE(0x0020, 0x002f) AM_WRITE8(dmapg4_w,0xff00)
AM_RANGE(0x0068, 0x0069) AM_WRITE8(pc9801_video_ff_w,0x00ff) //mode FF / <undefined>
@@ -1082,11 +1082,11 @@ WRITE16_MEMBER(pc9801_state::grcg_gvram0_w)
upd7220_grcg_w(space, offset | (m_vram_bank << 16), data, mem_mask);
}
-static ADDRESS_MAP_START( ipl_bank, 0, 16, pc9801_state )
+ADDRESS_MAP_START(pc9801_state::ipl_bank)
AM_RANGE(0x00000, 0x2ffff) AM_ROM AM_REGION("ipl", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc9801ux_map, AS_PROGRAM, 16, pc9801_state )
+ADDRESS_MAP_START(pc9801_state::pc9801ux_map)
AM_RANGE(0x0a0000, 0x0a3fff) AM_READWRITE(tvram_r, tvram_w)
AM_RANGE(0x0a4000, 0x0a4fff) AM_READWRITE8(pc9801rs_knjram_r, pc9801rs_knjram_w, 0xffff)
AM_RANGE(0x0a8000, 0x0bffff) AM_READWRITE(grcg_gvram_r, grcg_gvram_w)
@@ -1094,7 +1094,7 @@ static ADDRESS_MAP_START( pc9801ux_map, AS_PROGRAM, 16, pc9801_state )
AM_RANGE(0x0e8000, 0x0fffff) AM_DEVICE("ipl_bank", address_map_bank_device, amap16)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc9801ux_io, AS_IO, 16, pc9801_state )
+ADDRESS_MAP_START(pc9801_state::pc9801ux_io)
ADDRESS_MAP_UNMAP_HIGH
AM_IMPORT_FROM(pc9801_common_io)
AM_RANGE(0x0020, 0x002f) AM_WRITE8(dmapg8_w,0xff00)
@@ -1113,7 +1113,7 @@ static ADDRESS_MAP_START( pc9801ux_io, AS_IO, 16, pc9801_state )
AM_RANGE(0x3fd8, 0x3fdf) AM_DEVREADWRITE8("pit8253", pit8253_device, read, write, 0xff00)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc9801rs_map, AS_PROGRAM, 16, pc9801_state )
+ADDRESS_MAP_START(pc9801_state::pc9801rs_map)
AM_IMPORT_FROM(pc9801ux_map)
// AM_RANGE(0x0d8000, 0x0d9fff) AM_ROM AM_REGION("ide",0)
AM_RANGE(0x0da000, 0x0dbfff) AM_RAM // ide ram
@@ -1121,7 +1121,7 @@ static ADDRESS_MAP_START( pc9801rs_map, AS_PROGRAM, 16, pc9801_state )
AM_RANGE(0xfe8000, 0xffffff) AM_DEVICE("ipl_bank", address_map_bank_device, amap16)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc9801rs_io, AS_IO, 16, pc9801_state )
+ADDRESS_MAP_START(pc9801_state::pc9801rs_io)
ADDRESS_MAP_UNMAP_HIGH
AM_IMPORT_FROM(pc9801ux_io)
AM_RANGE(0x0430, 0x0433) AM_READWRITE8(ide_ctrl_r, ide_ctrl_w, 0x00ff)
@@ -1407,7 +1407,7 @@ WRITE16_MEMBER(pc9801_state::pc9821_grcg_gvram0_w)
}
-static ADDRESS_MAP_START( pc9821_map, AS_PROGRAM, 32, pc9801_state )
+ADDRESS_MAP_START(pc9801_state::pc9821_map)
//AM_RANGE(0x00080000, 0x0009ffff) AM_READWRITE8(winram_r, winram_w, 0xffffffff)
AM_RANGE(0x000a0000, 0x000a3fff) AM_READWRITE16(tvram_r, tvram_w, 0xffffffff)
AM_RANGE(0x000a4000, 0x000a4fff) AM_READWRITE8(pc9801rs_knjram_r, pc9801rs_knjram_w, 0xffffffff)
@@ -1422,7 +1422,7 @@ static ADDRESS_MAP_START( pc9821_map, AS_PROGRAM, 32, pc9801_state )
AM_RANGE(0xfffe8000, 0xffffffff) AM_DEVICE16("ipl_bank", address_map_bank_device, amap16, 0xffffffff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc9821_io, AS_IO, 32, pc9801_state )
+ADDRESS_MAP_START(pc9801_state::pc9821_io)
// ADDRESS_MAP_UNMAP_HIGH // TODO: a read to somewhere makes this to fail at POST
AM_RANGE(0x0000, 0x001f) AM_DEVREADWRITE8("i8237", am9517a_device, read, write, 0xff00ff00)
AM_RANGE(0x0000, 0x001f) AM_READWRITE8(pic_r, pic_w, 0x00ff00ff) // i8259 PIC (bit 3 ON slave / master) / i8237 DMA
@@ -1507,15 +1507,15 @@ static ADDRESS_MAP_START( pc9821_io, AS_IO, 32, pc9801_state )
// AM_RANGE(0xfcd0, 0xfcd3) MIDI port, option F / <undefined>
ADDRESS_MAP_END
-static ADDRESS_MAP_START( upd7220_1_map, 0, 16, pc9801_state )
+ADDRESS_MAP_START(pc9801_state::upd7220_1_map)
AM_RANGE(0x00000, 0x03fff) AM_RAM AM_SHARE("video_ram_1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( upd7220_2_map, 0, 16, pc9801_state )
+ADDRESS_MAP_START(pc9801_state::upd7220_2_map)
AM_RANGE(0x00000, 0x3ffff) AM_RAM AM_SHARE("video_ram_2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( upd7220_grcg_2_map, 0, 16, pc9801_state )
+ADDRESS_MAP_START(pc9801_state::upd7220_grcg_2_map)
AM_RANGE(0x00000, 0x3ffff) AM_READWRITE(upd7220_grcg_r, upd7220_grcg_w) AM_SHARE("video_ram_2")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pcat_dyn.cpp b/src/mame/drivers/pcat_dyn.cpp
index 5935e828ebf..8e3c30ef962 100644
--- a/src/mame/drivers/pcat_dyn.cpp
+++ b/src/mame/drivers/pcat_dyn.cpp
@@ -61,6 +61,8 @@ public:
void nvram_init(nvram_device &nvram, void *base, size_t size);
static void pcat_dyn_sb_conf(device_t *device);
void pcat_dyn(machine_config &config);
+ void pcat_io(address_map &map);
+ void pcat_map(address_map &map);
};
void pcat_dyn_state::machine_start()
@@ -95,7 +97,7 @@ WRITE8_MEMBER(pcat_dyn_state::bank2_w)
m_nvram_bank->set_entry(data & 1);
}
-static ADDRESS_MAP_START( pcat_map, AS_PROGRAM, 32, pcat_dyn_state )
+ADDRESS_MAP_START(pcat_dyn_state::pcat_map)
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", trident_vga_device, mem_r, mem_w, 0xffffffff)
AM_RANGE(0x000c0000, 0x000c7fff) AM_ROM AM_REGION("video_bios", 0)
@@ -109,7 +111,7 @@ static ADDRESS_MAP_START( pcat_map, AS_PROGRAM, 32, pcat_dyn_state )
AM_RANGE(0xffff0000, 0xffffffff) AM_ROM AM_REGION("bios", 0 )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pcat_io, AS_IO, 32, pcat_dyn_state )
+ADDRESS_MAP_START(pcat_dyn_state::pcat_io)
AM_IMPORT_FROM(pcat32_io_common)
AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", trident_vga_device, port_03b0_r, port_03b0_w, 0xffffffff)
AM_RANGE(0x03c0, 0x03cf) AM_DEVREADWRITE8("vga", trident_vga_device, port_03c0_r, port_03c0_w, 0xffffffff)
diff --git a/src/mame/drivers/pcat_nit.cpp b/src/mame/drivers/pcat_nit.cpp
index fa184308011..d311b675f8d 100644
--- a/src/mame/drivers/pcat_nit.cpp
+++ b/src/mame/drivers/pcat_nit.cpp
@@ -109,6 +109,10 @@ public:
virtual void machine_start() override;
void bonanza(machine_config &config);
void pcat_nit(machine_config &config);
+ void bonanza_io_map(address_map &map);
+ void bonanza_map(address_map &map);
+ void pcat_map(address_map &map);
+ void pcat_nit_io(address_map &map);
};
/*************************************
@@ -148,7 +152,7 @@ WRITE8_MEMBER(pcat_nit_state::pcat_nit_rombank_w)
}
}
-static ADDRESS_MAP_START( pcat_map, AS_PROGRAM, 32, pcat_nit_state )
+ADDRESS_MAP_START(pcat_nit_state::pcat_map)
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", vga_device, mem_r, mem_w, 0xffffffff)
AM_RANGE(0x000c0000, 0x000c7fff) AM_ROM AM_REGION("video_bios", 0) AM_WRITENOP
@@ -159,7 +163,7 @@ static ADDRESS_MAP_START( pcat_map, AS_PROGRAM, 32, pcat_nit_state )
AM_RANGE(0xffff0000, 0xffffffff) AM_ROM AM_REGION("bios", 0 )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bonanza_map, AS_PROGRAM, 32, pcat_nit_state )
+ADDRESS_MAP_START(pcat_nit_state::bonanza_map)
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", cirrus_gd5428_device, mem_r, mem_w, 0xffffffff)
AM_RANGE(0x000c0000, 0x000c7fff) AM_ROM AM_REGION("video_bios", 0) AM_WRITENOP
@@ -185,7 +189,7 @@ READ8_MEMBER(pcat_nit_state::pcat_nit_io_r)
}
}
-static ADDRESS_MAP_START( pcat_nit_io, AS_IO, 32, pcat_nit_state )
+ADDRESS_MAP_START(pcat_nit_state::pcat_nit_io)
AM_IMPORT_FROM(pcat32_io_common)
AM_RANGE(0x0278, 0x027f) AM_READ8(pcat_nit_io_r, 0xffffffff) AM_WRITENOP
AM_RANGE(0x0280, 0x0283) AM_READNOP
@@ -195,7 +199,7 @@ static ADDRESS_MAP_START( pcat_nit_io, AS_IO, 32, pcat_nit_state )
AM_RANGE(0x03f8, 0x03ff) AM_DEVREADWRITE8("ns16450_0", ns16450_device, ins8250_r, ins8250_w, 0xffffffff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bonanza_io_map, AS_IO, 32, pcat_nit_state )
+ADDRESS_MAP_START(pcat_nit_state::bonanza_io_map)
AM_IMPORT_FROM(pcat32_io_common)
AM_RANGE(0x0278, 0x027f) AM_READ8(pcat_nit_io_r, 0xffffffff) AM_WRITENOP
AM_RANGE(0x0280, 0x0283) AM_READNOP
diff --git a/src/mame/drivers/pcd.cpp b/src/mame/drivers/pcd.cpp
index be4bb3bd08e..24d3cd1a7e2 100644
--- a/src/mame/drivers/pcd.cpp
+++ b/src/mame/drivers/pcd.cpp
@@ -82,6 +82,9 @@ public:
void pcx(machine_config &config);
void pcd(machine_config &config);
+ void pcd_io(address_map &map);
+ void pcd_map(address_map &map);
+ void pcx_io(address_map &map);
protected:
// driver_device overrides
virtual void machine_start() override;
@@ -434,13 +437,13 @@ READ16_MEMBER(pcd_state::mem_r)
// ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( pcd_map, AS_PROGRAM, 16, pcd_state )
+ADDRESS_MAP_START(pcd_state::pcd_map)
AM_RANGE(0x00000, 0xfffff) AM_READWRITE8(nmi_io_r, nmi_io_w, 0xffff)
AM_RANGE(0x00000, 0x7ffff) AM_READWRITE(mem_r, mem_w)
AM_RANGE(0xfc000, 0xfffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pcd_io, AS_IO, 16, pcd_state )
+ADDRESS_MAP_START(pcd_state::pcd_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xefff) AM_READWRITE8(nmi_io_r, nmi_io_w, 0xffff)
AM_RANGE(0xf000, 0xf7ff) AM_RAM AM_SHARE("nvram")
@@ -461,7 +464,7 @@ static ADDRESS_MAP_START( pcd_io, AS_IO, 16, pcd_state )
AM_RANGE(0xfb02, 0xffff) AM_READWRITE8(nmi_io_r, nmi_io_w, 0xffff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pcx_io, AS_IO, 16, pcd_state )
+ADDRESS_MAP_START(pcd_state::pcx_io)
ADDRESS_MAP_UNMAP_HIGH
AM_IMPORT_FROM(pcd_io)
AM_RANGE(0x8000, 0x8fff) AM_READWRITE(mmu_r, mmu_w)
diff --git a/src/mame/drivers/pce.cpp b/src/mame/drivers/pce.cpp
index 795aa1c2c0f..e343a97ceef 100644
--- a/src/mame/drivers/pce.cpp
+++ b/src/mame/drivers/pce.cpp
@@ -249,7 +249,7 @@ INPUT_PORTS_END
-static ADDRESS_MAP_START( pce_mem , AS_PROGRAM, 8, pce_state )
+ADDRESS_MAP_START(pce_state::pce_mem)
AM_RANGE( 0x000000, 0x0FFFFF) AM_DEVREADWRITE("cartslot", pce_cart_slot_device, read_cart, write_cart)
AM_RANGE( 0x100000, 0x10FFFF) AM_RAM AM_SHARE("cd_ram")
AM_RANGE( 0x110000, 0x1EDFFF) AM_NOP
@@ -265,12 +265,12 @@ static ADDRESS_MAP_START( pce_mem , AS_PROGRAM, 8, pce_state )
AM_RANGE( 0x1FF800, 0x1FFBFF) AM_READWRITE( pce_cd_intf_r, pce_cd_intf_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pce_io , AS_IO, 8, pce_state )
+ADDRESS_MAP_START(pce_state::pce_io)
AM_RANGE( 0x00, 0x03) AM_DEVREADWRITE( "huc6270", huc6270_device, read, write )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sgx_mem , AS_PROGRAM, 8, pce_state )
+ADDRESS_MAP_START(pce_state::sgx_mem)
AM_RANGE( 0x000000, 0x0FFFFF) AM_DEVREADWRITE("cartslot", pce_cart_slot_device, read_cart, write_cart)
AM_RANGE( 0x100000, 0x10FFFF) AM_RAM AM_SHARE("cd_ram")
AM_RANGE( 0x110000, 0x1EDFFF) AM_NOP
@@ -289,7 +289,7 @@ static ADDRESS_MAP_START( sgx_mem , AS_PROGRAM, 8, pce_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sgx_io , AS_IO, 8, pce_state )
+ADDRESS_MAP_START(pce_state::sgx_io)
AM_RANGE( 0x00, 0x03) AM_DEVREADWRITE( "huc6202", huc6202_device, io_read, io_write )
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pce220.cpp b/src/mame/drivers/pce220.cpp
index a262d4f4006..bf5e3c67a01 100644
--- a/src/mame/drivers/pce220.cpp
+++ b/src/mame/drivers/pce220.cpp
@@ -104,6 +104,8 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(on_irq);
TIMER_DEVICE_CALLBACK_MEMBER(pce220_timer_callback);
void pce220(machine_config &config);
+ void pce220_io(address_map &map);
+ void pce220_mem(address_map &map);
};
class pcg850v_state : public pce220_state
@@ -129,6 +131,7 @@ public:
DECLARE_WRITE8_MEMBER( g850v_lcd_data_w );
void pcg850v(machine_config &config);
void pcg815(machine_config &config);
+ void pcg850v_io(address_map &map);
};
uint32_t pce220_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
@@ -573,14 +576,14 @@ WRITE8_MEMBER( pcg850v_state::g850v_lcd_data_w )
}
-static ADDRESS_MAP_START(pce220_mem, AS_PROGRAM, 8, pce220_state)
+ADDRESS_MAP_START(pce220_state::pce220_mem)
AM_RANGE(0x0000, 0x3fff) AM_RAMBANK("bank1")
AM_RANGE(0x4000, 0x7fff) AM_RAMBANK("bank2")
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank3")
AM_RANGE(0xc000, 0xffff) AM_ROMBANK("bank4")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pce220_io , AS_IO, 8, pce220_state)
+ADDRESS_MAP_START(pce220_state::pce220_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x10) AM_READ(kb_r)
@@ -604,7 +607,7 @@ static ADDRESS_MAP_START( pce220_io , AS_IO, 8, pce220_state)
AM_RANGE(0x5b, 0x5b) AM_READ(lcd_data_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pcg850v_io , AS_IO, 8, pcg850v_state)
+ADDRESS_MAP_START(pcg850v_state::pcg850v_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x10) AM_READ(kb_r)
diff --git a/src/mame/drivers/pcfx.cpp b/src/mame/drivers/pcfx.cpp
index c03cd219c1a..404dc8b9ad3 100644
--- a/src/mame/drivers/pcfx.cpp
+++ b/src/mame/drivers/pcfx.cpp
@@ -50,6 +50,8 @@ public:
TIMER_CALLBACK_MEMBER(pad_func);
void pcfx(machine_config &config);
+ void pcfx_io(address_map &map);
+ void pcfx_mem(address_map &map);
protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
@@ -92,7 +94,7 @@ WRITE8_MEMBER(pcfx_state::extio_w)
io_space.write_byte(offset, data);
}
-static ADDRESS_MAP_START( pcfx_mem, AS_PROGRAM, 32, pcfx_state )
+ADDRESS_MAP_START(pcfx_state::pcfx_mem)
AM_RANGE( 0x00000000, 0x001FFFFF ) AM_RAM /* RAM */
// AM_RANGE( 0x80000000, 0x807FFFFF ) AM_READWRITE8(extio_r,extio_w,0xffffffff) /* EXTIO */
AM_RANGE( 0xE0000000, 0xE7FFFFFF ) AM_NOP /* BackUp RAM */
@@ -183,7 +185,7 @@ WRITE16_MEMBER( pcfx_state::pad_w )
}
-static ADDRESS_MAP_START( pcfx_io, AS_IO, 32, pcfx_state )
+ADDRESS_MAP_START(pcfx_state::pcfx_io)
AM_RANGE( 0x00000000, 0x000000FF ) AM_READWRITE16(pad_r, pad_w, 0xffffffff) /* PAD */
AM_RANGE( 0x00000100, 0x000001FF ) AM_NOP /* HuC6230 */
AM_RANGE( 0x00000200, 0x000002FF ) AM_DEVICE16( "huc6271", huc6271_device, regs, 0xffff ) /* HuC6271 */
diff --git a/src/mame/drivers/pcktgal.cpp b/src/mame/drivers/pcktgal.cpp
index b000bb40363..dc322952205 100644
--- a/src/mame/drivers/pcktgal.cpp
+++ b/src/mame/drivers/pcktgal.cpp
@@ -71,7 +71,7 @@ READ8_MEMBER(pcktgal_state::adpcm_reset_r)
/***************************************************************************/
-static ADDRESS_MAP_START( pcktgal_map, AS_PROGRAM, 8, pcktgal_state )
+ADDRESS_MAP_START(pcktgal_state::pcktgal_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x0800, 0x0fff) AM_DEVREADWRITE("tilegen1", deco_bac06_device, pf_data_8bit_r, pf_data_8bit_w)
AM_RANGE(0x1000, 0x11ff) AM_RAM AM_SHARE("spriteram")
@@ -89,7 +89,7 @@ ADDRESS_MAP_END
/***************************************************************************/
-static ADDRESS_MAP_START( pcktgal_sound_map, AS_PROGRAM, 8, pcktgal_state )
+ADDRESS_MAP_START(pcktgal_state::pcktgal_sound_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x0800, 0x0801) AM_DEVWRITE("ym1", ym2203_device, write)
AM_RANGE(0x1000, 0x1001) AM_DEVWRITE("ym2", ym3812_device, write)
diff --git a/src/mame/drivers/pcm.cpp b/src/mame/drivers/pcm.cpp
index 8f93b1bd8d5..235468dd830 100644
--- a/src/mame/drivers/pcm.cpp
+++ b/src/mame/drivers/pcm.cpp
@@ -89,6 +89,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void pcm(machine_config &config);
+ void pcm_io(address_map &map);
+ void pcm_mem(address_map &map);
private:
bool m_cone;
uint8_t m_85;
@@ -158,14 +160,14 @@ WRITE8_MEMBER( pcm_state::pcm_85_w )
-static ADDRESS_MAP_START(pcm_mem, AS_PROGRAM, 8, pcm_state)
+ADDRESS_MAP_START(pcm_state::pcm_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x1fff ) AM_ROM // ROM
AM_RANGE( 0x2000, 0xf7ff ) AM_RAM // RAM
AM_RANGE( 0xf800, 0xffff ) AM_RAM AM_SHARE("videoram") // Video RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(pcm_io, AS_IO, 8, pcm_state)
+ADDRESS_MAP_START(pcm_state::pcm_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x80, 0x83) AM_DEVREADWRITE("ctc_s", z80ctc_device, read, write) // system CTC
diff --git a/src/mame/drivers/pcw.cpp b/src/mame/drivers/pcw.cpp
index 2e070e9fd37..01c51281838 100644
--- a/src/mame/drivers/pcw.cpp
+++ b/src/mame/drivers/pcw.cpp
@@ -192,7 +192,7 @@ WRITE_LINE_MEMBER( pcw_state::pcw_fdc_interrupt )
block 3 could be paged into any bank, and this explains the
setup of the memory below.
*/
-static ADDRESS_MAP_START(pcw_map, AS_PROGRAM, 8, pcw_state )
+ADDRESS_MAP_START(pcw_state::pcw_map)
AM_RANGE(0x0000, 0x3fff) AM_READ_BANK("bank1") AM_WRITE_BANK("bank5")
AM_RANGE(0x4000, 0x7fff) AM_READ_BANK("bank2") AM_WRITE_BANK("bank6")
AM_RANGE(0x8000, 0xbfff) AM_READ_BANK("bank3") AM_WRITE_BANK("bank7")
@@ -948,7 +948,7 @@ WRITE8_MEMBER(pcw_state::pcw9512_parallel_w)
logerror("pcw9512 parallel w: offs: %04x data: %02x\n",offset,data);
}
-static ADDRESS_MAP_START(pcw_io, AS_IO, 8, pcw_state )
+ADDRESS_MAP_START(pcw_state::pcw_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x000, 0x001) AM_MIRROR(0x7e) AM_DEVICE("upd765", upd765a_device, map)
AM_RANGE(0x080, 0x0ef) AM_READWRITE(pcw_expansion_r, pcw_expansion_w)
@@ -964,7 +964,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START(pcw9512_io, AS_IO, 8, pcw_state )
+ADDRESS_MAP_START(pcw_state::pcw9512_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x000, 0x001) AM_MIRROR(0x7e) AM_DEVICE("upd765", upd765a_device, map)
AM_RANGE(0x080, 0x0ef) AM_READWRITE(pcw_expansion_r, pcw_expansion_w)
diff --git a/src/mame/drivers/pcw16.cpp b/src/mame/drivers/pcw16.cpp
index 86f31444aff..61c80319a80 100644
--- a/src/mame/drivers/pcw16.cpp
+++ b/src/mame/drivers/pcw16.cpp
@@ -142,7 +142,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(pcw16_state::pcw16_timer_callback)
}
}
-static ADDRESS_MAP_START(pcw16_map, AS_PROGRAM, 8, pcw16_state )
+ADDRESS_MAP_START(pcw16_state::pcw16_map)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(pcw16_mem_r, pcw16_mem_w)
ADDRESS_MAP_END
@@ -934,7 +934,7 @@ static SLOT_INTERFACE_START( pcw16_floppies )
SLOT_INTERFACE_END
-static ADDRESS_MAP_START(pcw16_io, AS_IO, 8, pcw16_state )
+ADDRESS_MAP_START(pcw16_state::pcw16_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
/* super i/o chip */
AM_RANGE(0x018, 0x01f) AM_DEVICE("fdc", pc_fdc_superio_device, map)
diff --git a/src/mame/drivers/pcxt.cpp b/src/mame/drivers/pcxt.cpp
index 80c5fbcee78..45210f27f20 100644
--- a/src/mame/drivers/pcxt.cpp
+++ b/src/mame/drivers/pcxt.cpp
@@ -95,6 +95,11 @@ public:
optional_device<address_map_bank_device> m_bank;
void tetriskr(machine_config &config);
void filetto(machine_config &config);
+ void bank_map(address_map &map);
+ void filetto_io(address_map &map);
+ void filetto_map(address_map &map);
+ void tetriskr_io(address_map &map);
+ void tetriskr_map(address_map &map);
};
@@ -359,12 +364,12 @@ WRITE8_MEMBER(pcxt_state::fdc_dor_w)
m_mb->m_pic8259->ir6_w(1);
}
-static ADDRESS_MAP_START( filetto_map, AS_PROGRAM, 8, pcxt_state )
+ADDRESS_MAP_START(pcxt_state::filetto_map)
AM_RANGE(0xc0000, 0xcffff) AM_DEVICE("bank", address_map_bank_device, amap8)
AM_RANGE(0xf0000, 0xfffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( filetto_io, AS_IO, 8, pcxt_state )
+ADDRESS_MAP_START(pcxt_state::filetto_io)
ADDRESS_MAP_GLOBAL_MASK(0x3ff)
AM_RANGE(0x0000, 0x00ff) AM_DEVICE("mb", pc_noppi_mb_device, map)
AM_RANGE(0x0060, 0x0060) AM_READ(port_a_r) //not a real 8255
@@ -378,11 +383,11 @@ static ADDRESS_MAP_START( filetto_io, AS_IO, 8, pcxt_state )
AM_RANGE(0x03f5, 0x03f5) AM_READWRITE(fdc765_data_r,fdc765_data_w)//FDC Data
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tetriskr_map, AS_PROGRAM, 8, pcxt_state )
+ADDRESS_MAP_START(pcxt_state::tetriskr_map)
AM_RANGE(0xf0000, 0xfffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tetriskr_io, AS_IO, 8, pcxt_state )
+ADDRESS_MAP_START(pcxt_state::tetriskr_io)
ADDRESS_MAP_GLOBAL_MASK(0x3ff)
AM_RANGE(0x0000, 0x00ff) AM_DEVICE("mb", pc_noppi_mb_device, map)
AM_RANGE(0x03c8, 0x03c8) AM_READ_PORT("IN0")
@@ -390,7 +395,7 @@ static ADDRESS_MAP_START( tetriskr_io, AS_IO, 8, pcxt_state )
// AM_RANGE(0x03ce, 0x03ce) AM_READ_PORT("IN1") //read then discarded?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bank_map, 0, 8, pcxt_state )
+ADDRESS_MAP_START(pcxt_state::bank_map)
AM_RANGE(0x00000, 0x3ffff) AM_ROM AM_REGION("game_prg", 0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pda600.cpp b/src/mame/drivers/pda600.cpp
index 5ab845b2aaa..c15acdf7b23 100644
--- a/src/mame/drivers/pda600.cpp
+++ b/src/mame/drivers/pda600.cpp
@@ -79,10 +79,12 @@ public:
uint8_t * m_video_ram;
void pda600(machine_config &config);
+ void pda600_io(address_map &map);
+ void pda600_mem(address_map &map);
};
-static ADDRESS_MAP_START(pda600_mem, AS_PROGRAM, 8, pda600_state)
+ADDRESS_MAP_START(pda600_state::pda600_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000, 0x1ffff) AM_ROM
//AM_RANGE(0x20000, 0x9ffff) AM_RAM // PCMCIA Card
@@ -90,7 +92,7 @@ static ADDRESS_MAP_START(pda600_mem, AS_PROGRAM, 8, pda600_state)
AM_RANGE(0xe0000, 0xfffff) AM_RAM AM_REGION("mainram", 0) AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(pda600_io, AS_IO, 8, pda600_state)
+ADDRESS_MAP_START(pda600_state::pda600_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x3f) AM_NOP /* Z180 internal registers */
diff --git a/src/mame/drivers/pdp1.cpp b/src/mame/drivers/pdp1.cpp
index 886c4c9fcaf..2863f384518 100644
--- a/src/mame/drivers/pdp1.cpp
+++ b/src/mame/drivers/pdp1.cpp
@@ -71,7 +71,7 @@ To load and play a game:
*/
-static ADDRESS_MAP_START(pdp1_map, AS_PROGRAM, 32, pdp1_state )
+ADDRESS_MAP_START(pdp1_state::pdp1_map)
AM_RANGE(0x00000, 0x3ffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pdp11.cpp b/src/mame/drivers/pdp11.cpp
index fdfe62ea25d..b2de6e818c2 100644
--- a/src/mame/drivers/pdp11.cpp
+++ b/src/mame/drivers/pdp11.cpp
@@ -119,6 +119,8 @@ public:
void pdp11ub2(machine_config &config);
void pdp11(machine_config &config);
void pdp11qb(machine_config &config);
+ void pdp11_mem(address_map &map);
+ void pdp11qb_mem(address_map &map);
};
READ16_MEMBER(pdp11_state::teletype_ctrl_r)
@@ -159,7 +161,7 @@ WRITE16_MEMBER(pdp11_state::teletype_ctrl_w)
}
}
-static ADDRESS_MAP_START(pdp11_mem, AS_PROGRAM, 16, pdp11_state)
+ADDRESS_MAP_START(pdp11_state::pdp11_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0xdfff ) AM_RAM // RAM
AM_RANGE( 0xea00, 0xfeff ) AM_ROM
@@ -168,7 +170,7 @@ static ADDRESS_MAP_START(pdp11_mem, AS_PROGRAM, 16, pdp11_state)
AM_RANGE( 0xfe78, 0xfe7b ) AM_DEVWRITE("rx01", rx01_device, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(pdp11qb_mem, AS_PROGRAM, 16, pdp11_state)
+ADDRESS_MAP_START(pdp11_state::pdp11qb_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0xe9ff ) AM_RAM // RAM
AM_RANGE( 0xea00, 0xefff ) AM_ROM
diff --git a/src/mame/drivers/pecom.cpp b/src/mame/drivers/pecom.cpp
index 53a1e7efaba..f0adf324b64 100644
--- a/src/mame/drivers/pecom.cpp
+++ b/src/mame/drivers/pecom.cpp
@@ -17,7 +17,7 @@
/* Address maps */
-static ADDRESS_MAP_START(pecom64_mem, AS_PROGRAM, 8, pecom_state )
+ADDRESS_MAP_START(pecom_state::pecom64_mem)
AM_RANGE( 0x0000, 0x3fff ) AM_RAMBANK("bank1")
AM_RANGE( 0x4000, 0x7fff ) AM_RAMBANK("bank2")
AM_RANGE( 0x8000, 0xbfff ) AM_ROM // ROM 1
@@ -26,7 +26,7 @@ static ADDRESS_MAP_START(pecom64_mem, AS_PROGRAM, 8, pecom_state )
AM_RANGE( 0xf800, 0xffff ) AM_RAMBANK("bank4") // CDP1869 / ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pecom64_io, AS_IO, 8, pecom_state )
+ADDRESS_MAP_START(pecom_state::pecom64_io)
AM_RANGE(0x01, 0x01) AM_WRITE(pecom_bank_w)
AM_RANGE(0x03, 0x03) AM_READ(pecom_keyboard_r)
AM_RANGE(0x03, 0x07) AM_WRITE(pecom_cdp1869_w)
diff --git a/src/mame/drivers/pegasus.cpp b/src/mame/drivers/pegasus.cpp
index 6e5d72232aa..e05460869b1 100644
--- a/src/mame/drivers/pegasus.cpp
+++ b/src/mame/drivers/pegasus.cpp
@@ -92,6 +92,8 @@ public:
void pegasusm(machine_config &config);
void pegasus(machine_config &config);
+ void pegasus_mem(address_map &map);
+ void pegasusm_mem(address_map &map);
private:
uint8_t m_kbd_row;
bool m_kbd_irq;
@@ -191,7 +193,7 @@ READ8_MEMBER( pegasus_state::pegasus_protection_r )
return data;
}
-static ADDRESS_MAP_START(pegasus_mem, AS_PROGRAM, 8, pegasus_state)
+ADDRESS_MAP_START(pegasus_state::pegasus_mem)
ADDRESS_MAP_UNMAP_HIGH
//AM_RANGE(0x0000, 0x2fff) // mapped by the cartslots 1-3
AM_RANGE(0xb000, 0xbdff) AM_RAM
@@ -204,7 +206,7 @@ static ADDRESS_MAP_START(pegasus_mem, AS_PROGRAM, 8, pegasus_state)
AM_RANGE(0xf000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(pegasusm_mem, AS_PROGRAM, 8, pegasus_state)
+ADDRESS_MAP_START(pegasus_state::pegasusm_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_IMPORT_FROM(pegasus_mem)
AM_RANGE(0x5000, 0xafff) AM_RAM
diff --git a/src/mame/drivers/pencil2.cpp b/src/mame/drivers/pencil2.cpp
index 0beaf56b627..568ba21f66d 100644
--- a/src/mame/drivers/pencil2.cpp
+++ b/src/mame/drivers/pencil2.cpp
@@ -116,6 +116,8 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(printer_ready_r);
DECLARE_CUSTOM_INPUT_MEMBER(printer_ack_r);
void pencil2(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
virtual void machine_start() override;
int m_centronics_busy;
@@ -127,7 +129,7 @@ private:
required_device<generic_slot_device> m_cart;
};
-static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 8, pencil2_state)
+ADDRESS_MAP_START(pencil2_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x5fff) AM_WRITENOP // stop error log filling up
@@ -135,7 +137,7 @@ static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 8, pencil2_state)
//AM_RANGE(0x8000, 0xffff) // mapped by the cartslot
ADDRESS_MAP_END
-static ADDRESS_MAP_START(io_map, AS_IO, 8, pencil2_state)
+ADDRESS_MAP_START(pencil2_state::io_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x0f) AM_DEVWRITE("cent_data_out", output_latch_device, write)
diff --git a/src/mame/drivers/pengadvb.cpp b/src/mame/drivers/pengadvb.cpp
index 5a5b6079894..4d19820ec14 100644
--- a/src/mame/drivers/pengadvb.cpp
+++ b/src/mame/drivers/pengadvb.cpp
@@ -69,6 +69,9 @@ public:
virtual void machine_reset() override;
void pengadvb_decrypt(const char* region);
void pengadvb(machine_config &config);
+ void bank_mem(address_map &map);
+ void io_mem(address_map &map);
+ void program_mem(address_map &map);
};
@@ -93,11 +96,11 @@ WRITE8_MEMBER(pengadvb_state::megarom_bank_w)
m_bank[offset >> 13 & 3]->set_entry(data & 0xf);
}
-static ADDRESS_MAP_START( program_mem, AS_PROGRAM, 8, pengadvb_state )
+ADDRESS_MAP_START(pengadvb_state::program_mem)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(mem_r, mem_w) // 4 pages of 16KB
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bank_mem, AS_PROGRAM, 8, pengadvb_state )
+ADDRESS_MAP_START(pengadvb_state::bank_mem)
// slot 0, MSX BIOS
AM_RANGE(0x00000, 0x07fff) AM_ROM AM_REGION("maincpu", 0)
@@ -112,7 +115,7 @@ static ADDRESS_MAP_START( bank_mem, AS_PROGRAM, 8, pengadvb_state )
AM_RANGE(0x3c000, 0x3ffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_mem, AS_IO, 8, pengadvb_state )
+ADDRESS_MAP_START(pengadvb_state::io_mem)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x98, 0x98) AM_DEVREADWRITE("tms9128", tms9128_device, vram_read, vram_write)
diff --git a/src/mame/drivers/pengo.cpp b/src/mame/drivers/pengo.cpp
index e3851e3cfab..d47fc05af92 100644
--- a/src/mame/drivers/pengo.cpp
+++ b/src/mame/drivers/pengo.cpp
@@ -89,6 +89,9 @@ public:
void pengoe(machine_config &config);
void pengou(machine_config &config);
void pengo(machine_config &config);
+ void decrypted_opcodes_map(address_map &map);
+ void jrpacmbl_map(address_map &map);
+ void pengo_map(address_map &map);
};
@@ -136,7 +139,7 @@ WRITE_LINE_MEMBER(pengo_state::irq_mask_w)
m_irq_mask = state;
}
-static ADDRESS_MAP_START( pengo_map, AS_PROGRAM, 8, pengo_state )
+ADDRESS_MAP_START(pengo_state::pengo_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(pacman_videoram_w) AM_SHARE("videoram") /* video and color RAM, scratchpad RAM, sprite codes */
AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(pacman_colorram_w) AM_SHARE("colorram")
@@ -153,14 +156,14 @@ static ADDRESS_MAP_START( pengo_map, AS_PROGRAM, 8, pengo_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, pengo_state )
+ADDRESS_MAP_START(pengo_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_SHARE("decrypted_opcodes")
AM_RANGE(0x8800, 0x8fef) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x8ff0, 0x8fff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jrpacmbl_map, AS_PROGRAM, 8, pengo_state )
+ADDRESS_MAP_START(pengo_state::jrpacmbl_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(jrpacman_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x8800, 0x8fef) AM_RAM
@@ -375,7 +378,7 @@ MACHINE_CONFIG_START(pengo_state::pengo)
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/6)
MCFG_CPU_PROGRAM_MAP(pengo_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", pengo_state, vblank_irq)
MCFG_DEVICE_ADD("latch", LS259, 0) // U27
@@ -420,7 +423,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(pengo_state::pengoe, pengo)
MCFG_CPU_REPLACE("maincpu", SEGA_315_5010, MASTER_CLOCK/6)
MCFG_CPU_PROGRAM_MAP(pengo_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", pengo_state, vblank_irq)
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/pentagon.cpp b/src/mame/drivers/pentagon.cpp
index 9dde3096826..c6add6af322 100644
--- a/src/mame/drivers/pentagon.cpp
+++ b/src/mame/drivers/pentagon.cpp
@@ -43,6 +43,9 @@ public:
TIMER_CALLBACK_MEMBER(irq_off);
void pent1024(machine_config &config);
void pentagon(machine_config &config);
+ void pentagon_io(address_map &map);
+ void pentagon_mem(address_map &map);
+ void pentagon_switch(address_map &map);
protected:
required_memory_bank m_bank1;
required_memory_bank m_bank2;
@@ -177,14 +180,14 @@ READ8_MEMBER(pentagon_state::beta_disable_r)
return m_program->read_byte(offset + 0x4000);
}
-static ADDRESS_MAP_START(pentagon_mem, AS_PROGRAM, 8, pentagon_state)
+ADDRESS_MAP_START(pentagon_state::pentagon_mem)
AM_RANGE(0x0000, 0x3fff) AM_ROMBANK("bank1")
AM_RANGE(0x4000, 0x7fff) AM_RAMBANK("bank2")
AM_RANGE(0x8000, 0xbfff) AM_RAMBANK("bank3")
AM_RANGE(0xc000, 0xffff) AM_RAMBANK("bank4")
ADDRESS_MAP_END
-static ADDRESS_MAP_START (pentagon_io, AS_IO, 8, pentagon_state )
+ADDRESS_MAP_START(pentagon_state::pentagon_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0000) AM_WRITE(pentagon_port_7ffd_w) AM_MIRROR(0x7ffd) // (A15 | A1) == 0
AM_RANGE(0x001f, 0x001f) AM_DEVREADWRITE(BETA_DISK_TAG, beta_disk_device, status_r, command_w) AM_MIRROR(0xff00)
@@ -197,7 +200,7 @@ static ADDRESS_MAP_START (pentagon_io, AS_IO, 8, pentagon_state )
AM_RANGE(0xc000, 0xc000) AM_DEVREADWRITE("ay8912", ay8910_device, data_r, address_w) AM_MIRROR(0x3ffd)
ADDRESS_MAP_END
-static ADDRESS_MAP_START (pentagon_switch, AS_OPCODES, 8, pentagon_state)
+ADDRESS_MAP_START(pentagon_state::pentagon_switch)
AM_RANGE(0x0000, 0x3fff) AM_READ(beta_neutral_r) // Overlap with next because we want real addresses on the 3e00-3fff range
AM_RANGE(0x3d00, 0x3dff) AM_READ(beta_enable_r)
AM_RANGE(0x4000, 0xffff) AM_READ(beta_disable_r)
@@ -255,7 +258,7 @@ MACHINE_CONFIG_DERIVED(pentagon_state::pentagon, spectrum_128)
MCFG_CPU_CLOCK(XTAL(14'000'000) / 4)
MCFG_CPU_PROGRAM_MAP(pentagon_mem)
MCFG_CPU_IO_MAP(pentagon_io)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(pentagon_switch)
+ MCFG_CPU_OPCODES_MAP(pentagon_switch)
MCFG_CPU_VBLANK_INT_DRIVER("screen", pentagon_state, pentagon_interrupt)
MCFG_MACHINE_RESET_OVERRIDE(pentagon_state, pentagon )
diff --git a/src/mame/drivers/peoplepc.cpp b/src/mame/drivers/peoplepc.cpp
index e9e5497cfdf..0ffe4cbafcb 100644
--- a/src/mame/drivers/peoplepc.cpp
+++ b/src/mame/drivers/peoplepc.cpp
@@ -63,6 +63,8 @@ public:
uint8_t m_dma0pg;
void olypeopl(machine_config &config);
+ void peoplepc_io(address_map &map);
+ void peoplepc_map(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -188,7 +190,7 @@ void peoplepc_state::machine_start()
m_flop1->get_device()->setup_unload_cb(floppy_image_device::unload_cb(&peoplepc_state::floppy_unload, this));
}
-static ADDRESS_MAP_START( peoplepc_map, AS_PROGRAM, 16, peoplepc_state )
+ADDRESS_MAP_START(peoplepc_state::peoplepc_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000, 0x7ffff) AM_RAM
AM_RANGE(0xc0000, 0xdffff) AM_RAM AM_SHARE("gvram")
@@ -197,7 +199,7 @@ static ADDRESS_MAP_START( peoplepc_map, AS_PROGRAM, 16, peoplepc_state )
AM_RANGE(0xfe000, 0xfffff) AM_ROM AM_REGION("maincpu", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(peoplepc_io, AS_IO, 16, peoplepc_state )
+ADDRESS_MAP_START(peoplepc_state::peoplepc_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0014, 0x0017) AM_DEVREADWRITE8("pic8259_1", pic8259_device, read, write, 0x00ff)
AM_RANGE(0x0018, 0x001b) AM_DEVREADWRITE8("pic8259_0", pic8259_device, read, write, 0x00ff)
diff --git a/src/mame/drivers/peplus.cpp b/src/mame/drivers/peplus.cpp
index 1771aa6e1d6..c98c9d26cf9 100644
--- a/src/mame/drivers/peplus.cpp
+++ b/src/mame/drivers/peplus.cpp
@@ -338,6 +338,8 @@ public:
void handle_lightpen();
void peplus(machine_config &config);
+ void peplus_iomap(address_map &map);
+ void peplus_map(address_map &map);
protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
};
@@ -997,11 +999,11 @@ GFXDECODE_END
* Memory map information *
*************************/
-static ADDRESS_MAP_START( peplus_map, AS_PROGRAM, 8, peplus_state )
+ADDRESS_MAP_START(peplus_state::peplus_map)
AM_RANGE(0x0000, 0xffff) AM_ROM AM_SHARE("prograram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( peplus_iomap, AS_IO, 8, peplus_state )
+ADDRESS_MAP_START(peplus_state::peplus_iomap)
// Battery-backed RAM (0x1000-0x01fff Extended RAM for Superboards Only)
AM_RANGE(0x0000, 0x1fff) AM_RAM_WRITE(peplus_cmos_w) AM_SHARE("cmos")
diff --git a/src/mame/drivers/pes.cpp b/src/mame/drivers/pes.cpp
index 3c9acb9d244..450c0c5bd66 100644
--- a/src/mame/drivers/pes.cpp
+++ b/src/mame/drivers/pes.cpp
@@ -223,13 +223,13 @@ void pes_state::machine_reset()
Address Maps
******************************************************************************/
-static ADDRESS_MAP_START(i80c31_mem, AS_PROGRAM, 8, pes_state)
+ADDRESS_MAP_START(pes_state::i80c31_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_ROM /* 27C64 ROM */
// AM_RANGE(0x2000, 0x3fff) AM_RAM /* 6164 8k SRAM, not populated */
ADDRESS_MAP_END
-static ADDRESS_MAP_START(i80c31_io, AS_IO, 8, pes_state)
+ADDRESS_MAP_START(pes_state::i80c31_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x0, 0x0) AM_WRITE(rsq_wsq_w) /* /WS(0) and /RS(1) */
AM_RANGE(0x1, 0x1) AM_READWRITE(port1_r, port1_w) /* tms5220 reads and writes */
diff --git a/src/mame/drivers/pet.cpp b/src/mame/drivers/pet.cpp
index f53a3af6f62..408061f38e6 100644
--- a/src/mame/drivers/pet.cpp
+++ b/src/mame/drivers/pet.cpp
@@ -345,6 +345,7 @@ public:
void cbm3008(machine_config &config);
void pet2001(machine_config &config);
void pet2001n32(machine_config &config);
+ void pet2001_mem(address_map &map);
};
@@ -447,6 +448,7 @@ public:
uint8_t m_cr;
void cbm8296d(machine_config &config);
void cbm8296(machine_config &config);
+ void cbm8296_mem(address_map &map);
};
@@ -882,7 +884,7 @@ WRITE8_MEMBER( cbm8296_state::write )
// ADDRESS_MAP( pet2001_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( pet2001_mem, AS_PROGRAM, 8, pet_state )
+ADDRESS_MAP_START(pet_state::pet2001_mem)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(read, write)
ADDRESS_MAP_END
@@ -891,7 +893,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( cbm8296_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( cbm8296_mem, AS_PROGRAM, 8, cbm8296_state )
+ADDRESS_MAP_START(cbm8296_state::cbm8296_mem)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(read, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/peyper.cpp b/src/mame/drivers/peyper.cpp
index 20db75890e5..a5bba7a211d 100644
--- a/src/mame/drivers/peyper.cpp
+++ b/src/mame/drivers/peyper.cpp
@@ -67,6 +67,8 @@ public:
DECLARE_DRIVER_INIT(odin);
DECLARE_DRIVER_INIT(wolfman);
void peyper(machine_config &config);
+ void peyper_io(address_map &map);
+ void peyper_map(address_map &map);
private:
uint8_t m_digit;
uint8_t m_disp_layout[36];
@@ -195,13 +197,13 @@ CUSTOM_INPUT_MEMBER(peyper_state::wolfman_replay_hs_r)
}
-static ADDRESS_MAP_START( peyper_map, AS_PROGRAM, 8, peyper_state )
+ADDRESS_MAP_START(peyper_state::peyper_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x5FFF) AM_ROM
AM_RANGE(0x6000, 0x67FF) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( peyper_io, AS_IO, 8, peyper_state )
+ADDRESS_MAP_START(peyper_state::peyper_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("i8279", i8279_device, read, write)
diff --git a/src/mame/drivers/pg685.cpp b/src/mame/drivers/pg685.cpp
index 72df00a456c..63558c2a578 100644
--- a/src/mame/drivers/pg685.cpp
+++ b/src/mame/drivers/pg685.cpp
@@ -134,6 +134,9 @@ public:
void pg685(machine_config &config);
void pg675(machine_config &config);
void pg685oua12(machine_config &config);
+ void pg675_mem(address_map &map);
+ void pg685_mem(address_map &map);
+ void pg685oua12_mem(address_map &map);
private:
virtual void machine_reset() override;
virtual void video_start() override;
@@ -150,7 +153,7 @@ private:
// ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START(pg675_mem, AS_PROGRAM, 8, pg685_state)
+ADDRESS_MAP_START(pg685_state::pg675_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000,0xbffff) AM_RAM
AM_RANGE(0xf0000,0xf1fff) AM_RAM
@@ -175,7 +178,7 @@ static ADDRESS_MAP_START(pg675_mem, AS_PROGRAM, 8, pg685_state)
AM_RANGE(0xfc000,0xfffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(pg685_mem, AS_PROGRAM, 8, pg685_state)
+ADDRESS_MAP_START(pg685_state::pg685_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_IMPORT_FROM(pg675_mem)
AM_RANGE(0xf9f34, 0xf9f37) AM_DEVREADWRITE("bppit", pit8253_device, read, write)
@@ -187,7 +190,7 @@ static ADDRESS_MAP_START(pg685_mem, AS_PROGRAM, 8, pg685_state)
AM_RANGE(0xf9f79, 0xf9f79) AM_WRITE(f9f79_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(pg685oua12_mem, AS_PROGRAM, 16, pg685_state)
+ADDRESS_MAP_START(pg685_state::pg685oua12_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000,0xdffff) AM_RAM
AM_RANGE(0xe0000,0xeffff) AM_RAM AM_SHARE ("framebuffer16")
diff --git a/src/mame/drivers/pgm.cpp b/src/mame/drivers/pgm.cpp
index 92d40067426..cf64c41a4da 100644
--- a/src/mame/drivers/pgm.cpp
+++ b/src/mame/drivers/pgm.cpp
@@ -299,11 +299,11 @@ WRITE8_MEMBER(pgm_state::z80_l3_w)
/*** Z80 (sound CPU)**********************************************************/
-ADDRESS_MAP_START( pgm_z80_mem, AS_PROGRAM, 8, pgm_state )
+ADDRESS_MAP_START(pgm_state::pgm_z80_mem)
AM_RANGE(0x0000, 0xffff) AM_RAM AM_SHARE("z80_mainram")
ADDRESS_MAP_END
-ADDRESS_MAP_START( pgm_z80_io, AS_IO, 8, pgm_state )
+ADDRESS_MAP_START(pgm_state::pgm_z80_io)
AM_RANGE(0x8000, 0x8003) AM_DEVREADWRITE("ics", ics2115_device, read, write)
AM_RANGE(0x8100, 0x81ff) AM_DEVREAD("soundlatch3", generic_latch_8_device, read) AM_WRITE(z80_l3_w)
AM_RANGE(0x8200, 0x82ff) AM_DEVREADWRITE("soundlatch", generic_latch_8_device, read, write)
@@ -312,7 +312,7 @@ ADDRESS_MAP_END
/*** 68000 (main CPU) + variants for protection devices **********************/
-ADDRESS_MAP_START( pgm_base_mem, AS_PROGRAM, 16, pgm_state )
+ADDRESS_MAP_START(pgm_state::pgm_base_mem)
AM_RANGE(0x700006, 0x700007) AM_WRITENOP // Watchdog?
AM_RANGE(0x800000, 0x81ffff) AM_RAM AM_MIRROR(0x0e0000) AM_SHARE("sram") /* Main Ram */
@@ -336,12 +336,12 @@ ADDRESS_MAP_START( pgm_base_mem, AS_PROGRAM, 16, pgm_state )
AM_RANGE(0xc10000, 0xc1ffff) AM_READWRITE(z80_ram_r, z80_ram_w) /* Z80 Program */
ADDRESS_MAP_END
-ADDRESS_MAP_START( pgm_mem, AS_PROGRAM, 16, pgm_state )
+ADDRESS_MAP_START(pgm_state::pgm_mem)
AM_IMPORT_FROM(pgm_base_mem)
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* BIOS ROM */
ADDRESS_MAP_END
-ADDRESS_MAP_START( pgm_basic_mem, AS_PROGRAM, 16, pgm_state )
+ADDRESS_MAP_START(pgm_state::pgm_basic_mem)
AM_IMPORT_FROM(pgm_mem)
AM_RANGE(0x100000, 0x3fffff) AM_ROMBANK("bank1") /* Game ROM */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pgm2.cpp b/src/mame/drivers/pgm2.cpp
index bf4cc0b9cb7..98f6e6cdd88 100644
--- a/src/mame/drivers/pgm2.cpp
+++ b/src/mame/drivers/pgm2.cpp
@@ -513,7 +513,7 @@ READ32_MEMBER(pgm2_state::pio_pdsr_r)
return (module_data_r() == ASSERT_LINE ? 1 : 0) << 8; // fpga data read and status (bit 7, must be 0)
}
-static ADDRESS_MAP_START( pgm2_map, AS_PROGRAM, 32, pgm2_state )
+ADDRESS_MAP_START(pgm2_state::pgm2_map)
AM_RANGE(0x00000000, 0x00003fff) AM_ROM //AM_REGION("user1", 0x00000) // internal ROM
AM_RANGE(0x02000000, 0x0200ffff) AM_RAM AM_SHARE("sram") // 'battery ram' (in CPU?)
@@ -576,18 +576,18 @@ static ADDRESS_MAP_START( pgm2_map, AS_PROGRAM, 32, pgm2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pgm2_rom_map, AS_PROGRAM, 32, pgm2_state )
+ADDRESS_MAP_START(pgm2_state::pgm2_rom_map)
AM_IMPORT_FROM(pgm2_map)
AM_RANGE(0x10000000, 0x10ffffff) AM_ROM AM_REGION("user1", 0) // external ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pgm2_ram_rom_map, AS_PROGRAM, 32, pgm2_state )
+ADDRESS_MAP_START(pgm2_state::pgm2_ram_rom_map)
AM_IMPORT_FROM(pgm2_map)
AM_RANGE(0x10000000, 0x101fffff) AM_RAM AM_SHARE("romboard_ram") // we should also probably decrypt writes once the encryption is enabled, but the game never writes with it turned on anyway
AM_RANGE(0x10200000, 0x103fffff) AM_ROM AM_REGION("user1", 0) // external ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pgm2_module_rom_map, AS_PROGRAM, 32, pgm2_state )
+ADDRESS_MAP_START(pgm2_state::pgm2_module_rom_map)
AM_IMPORT_FROM(pgm2_rom_map)
AM_RANGE(0x10000000, 0x107fffff) AM_WRITE16(module_rom_w, 0xffffffff)
AM_RANGE(0x10000000, 0x1000000f) AM_READ16(module_rom_r, 0xffffffff)
diff --git a/src/mame/drivers/pgm3.cpp b/src/mame/drivers/pgm3.cpp
index 11eaa4e0e08..85bd95bb96c 100644
--- a/src/mame/drivers/pgm3.cpp
+++ b/src/mame/drivers/pgm3.cpp
@@ -68,9 +68,10 @@ public:
DECLARE_WRITE_LINE_MEMBER(screen_vblank_pgm3);
required_device<cpu_device> m_maincpu;
void pgm3(machine_config &config);
+ void pgm3_map(address_map &map);
};
-static ADDRESS_MAP_START( pgm3_map, AS_PROGRAM, 32, pgm3_state )
+ADDRESS_MAP_START(pgm3_state::pgm3_map)
AM_RANGE(0x00000000, 0x00003fff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/phc25.cpp b/src/mame/drivers/phc25.cpp
index ad8010d173f..dfc920f8540 100644
--- a/src/mame/drivers/phc25.cpp
+++ b/src/mame/drivers/phc25.cpp
@@ -119,14 +119,14 @@ WRITE_LINE_MEMBER( phc25_state::write_centronics_busy )
/* Memory Maps */
-static ADDRESS_MAP_START( phc25_mem, AS_PROGRAM, 8, phc25_state )
+ADDRESS_MAP_START(phc25_state::phc25_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x5fff) AM_ROM AM_REGION(Z80_TAG, 0)
AM_RANGE(0x6000, 0x77ff) AM_RAM AM_SHARE("video_ram")
AM_RANGE(0xc000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( phc25_io, AS_IO, 8, phc25_state )
+ADDRESS_MAP_START(phc25_state::phc25_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("cent_data_out", output_latch_device, write)
diff --git a/src/mame/drivers/phoenix.cpp b/src/mame/drivers/phoenix.cpp
index e29130ab965..ec02821b57f 100644
--- a/src/mame/drivers/phoenix.cpp
+++ b/src/mame/drivers/phoenix.cpp
@@ -56,7 +56,7 @@ Pleiads:
#include "speaker.h"
-static ADDRESS_MAP_START( phoenix_memory_map, AS_PROGRAM, 8, phoenix_state )
+ADDRESS_MAP_START(phoenix_state::phoenix_memory_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x4fff) AM_READ_BANK("bank1") AM_WRITE(phoenix_videoram_w) /* 2 pages selected by bit 0 of the video register */
AM_RANGE(0x5000, 0x53ff) AM_WRITE(phoenix_videoreg_w)
@@ -67,7 +67,7 @@ static ADDRESS_MAP_START( phoenix_memory_map, AS_PROGRAM, 8, phoenix_state )
AM_RANGE(0x7800, 0x7bff) AM_READ_PORT("DSW0") /* DSW */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pleiads_memory_map, AS_PROGRAM, 8, phoenix_state )
+ADDRESS_MAP_START(phoenix_state::pleiads_memory_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x4fff) AM_READ_BANK("bank1") AM_WRITE(phoenix_videoram_w) /* 2 pages selected by bit 0 of the video register */
AM_RANGE(0x5000, 0x53ff) AM_WRITE(pleiads_videoreg_w)
@@ -78,7 +78,7 @@ static ADDRESS_MAP_START( pleiads_memory_map, AS_PROGRAM, 8, phoenix_state )
AM_RANGE(0x7800, 0x7bff) AM_READ_PORT("DSW0") /* DSW */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( survival_memory_map, AS_PROGRAM, 8, phoenix_state )
+ADDRESS_MAP_START(phoenix_state::survival_memory_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x4fff) AM_READ_BANK("bank1") AM_WRITE(phoenix_videoram_w) /* 2 pages selected by bit 0 of the video register */
AM_RANGE(0x5000, 0x53ff) AM_WRITE(phoenix_videoreg_w)
diff --git a/src/mame/drivers/photon.cpp b/src/mame/drivers/photon.cpp
index aae27713c7d..05e195697a6 100644
--- a/src/mame/drivers/photon.cpp
+++ b/src/mame/drivers/photon.cpp
@@ -49,6 +49,8 @@ public:
required_device<speaker_sound_device> m_speaker;
void photon(machine_config &config);
+ void pk8000_io(address_map &map);
+ void pk8000_mem(address_map &map);
};
@@ -126,7 +128,7 @@ WRITE8_MEMBER(photon_state::_80_portc_w)
m_speaker->level_w(BIT(data,7));
}
-static ADDRESS_MAP_START(pk8000_mem, AS_PROGRAM, 8, photon_state )
+ADDRESS_MAP_START(photon_state::pk8000_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x3fff ) AM_READ_BANK("bank1") AM_WRITE_BANK("bank5")
AM_RANGE( 0x4000, 0x7fff ) AM_READ_BANK("bank2") AM_WRITE_BANK("bank6")
@@ -134,7 +136,7 @@ static ADDRESS_MAP_START(pk8000_mem, AS_PROGRAM, 8, photon_state )
AM_RANGE( 0xc000, 0xffff ) AM_READ_BANK("bank4") AM_WRITE_BANK("bank8")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pk8000_io , AS_IO, 8, photon_state )
+ADDRESS_MAP_START(photon_state::pk8000_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x80, 0x83) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write)
AM_RANGE(0x84, 0x87) AM_DEVREADWRITE("ppi8255_2", i8255_device, read, write)
diff --git a/src/mame/drivers/photon2.cpp b/src/mame/drivers/photon2.cpp
index b69ce54e343..c6c93c71f26 100644
--- a/src/mame/drivers/photon2.cpp
+++ b/src/mame/drivers/photon2.cpp
@@ -62,6 +62,8 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(spec_interrupt_hack);
void photon2(machine_config &config);
+ void spectrum_io(address_map &map);
+ void spectrum_mem(address_map &map);
};
@@ -256,13 +258,13 @@ WRITE8_MEMBER(photon2_state::misc_w)
*
*************************************/
-static ADDRESS_MAP_START (spectrum_mem, AS_PROGRAM, 8, photon2_state )
+ADDRESS_MAP_START(photon2_state::spectrum_mem)
AM_RANGE(0x0000, 0x3fff) AM_ROMBANK("mainbank")
AM_RANGE(0x4000, 0x5aff) AM_RAM AM_SHARE("spectrum_vram")
AM_RANGE(0x5b00, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START (spectrum_io, AS_IO, 8, photon2_state )
+ADDRESS_MAP_START(photon2_state::spectrum_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x1f, 0x1f) AM_READ_PORT("JOY")
AM_RANGE(0x5b, 0x5b) AM_READ_PORT("COIN") AM_WRITE(misc_w)
diff --git a/src/mame/drivers/photoply.cpp b/src/mame/drivers/photoply.cpp
index affa338602b..c34522faf98 100644
--- a/src/mame/drivers/photoply.cpp
+++ b/src/mame/drivers/photoply.cpp
@@ -56,6 +56,8 @@ public:
DECLARE_DRIVER_INIT(photoply);
void photoply(machine_config &config);
+ void photoply_io(address_map &map);
+ void photoply_map(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -188,7 +190,7 @@ WRITE8_MEMBER(photoply_state::eeprom_w)
// Bits 4-7 are set for some writes, but may do nothing?
}
-static ADDRESS_MAP_START( photoply_map, AS_PROGRAM, 32, photoply_state )
+ADDRESS_MAP_START(photoply_state::photoply_map)
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", cirrus_gd5446_device, mem_r, mem_w, 0xffffffff)
// AM_RANGE(0x000c0000, 0x000c7fff) AM_RAM AM_REGION("video_bios", 0)
@@ -200,7 +202,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( photoply_io, AS_IO, 32, photoply_state )
+ADDRESS_MAP_START(photoply_state::photoply_io)
AM_IMPORT_FROM(pcat32_io_common)
AM_RANGE(0x00e8, 0x00eb) AM_NOP
diff --git a/src/mame/drivers/phunsy.cpp b/src/mame/drivers/phunsy.cpp
index db4b65720f1..6dbb0198fff 100644
--- a/src/mame/drivers/phunsy.cpp
+++ b/src/mame/drivers/phunsy.cpp
@@ -64,6 +64,9 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void phunsy(machine_config &config);
+ void phunsy_data(address_map &map);
+ void phunsy_io(address_map &map);
+ void phunsy_mem(address_map &map);
private:
uint8_t m_data_out;
uint8_t m_keyboard_input;
@@ -86,7 +89,7 @@ READ_LINE_MEMBER(phunsy_state::cass_r)
return (m_cass->input() > 0.03) ? 0 : 1;
}
-static ADDRESS_MAP_START( phunsy_mem, AS_PROGRAM, 8, phunsy_state )
+ADDRESS_MAP_START(phunsy_state::phunsy_mem)
AM_RANGE(0x0000, 0x07ff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0x0800, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x17ff) AM_RAM AM_SHARE("videoram") // Video RAM
@@ -95,11 +98,11 @@ static ADDRESS_MAP_START( phunsy_mem, AS_PROGRAM, 8, phunsy_state )
AM_RANGE(0x4000, 0x7fff) AM_RAMBANK("bankq") // Banked RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( phunsy_io, AS_IO, 8, phunsy_state )
+ADDRESS_MAP_START(phunsy_state::phunsy_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_END
-static ADDRESS_MAP_START( phunsy_data, AS_DATA, 8, phunsy_state )
+ADDRESS_MAP_START(phunsy_state::phunsy_data)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(S2650_CTRL_PORT, S2650_CTRL_PORT) AM_WRITE(phunsy_ctrl_w)
AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_READWRITE(phunsy_data_r, phunsy_data_w)
diff --git a/src/mame/drivers/picno.cpp b/src/mame/drivers/picno.cpp
index 895b51a603f..74a88951399 100644
--- a/src/mame/drivers/picno.cpp
+++ b/src/mame/drivers/picno.cpp
@@ -42,18 +42,20 @@ public:
{ }
void picno(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 16, picno_state )
+ADDRESS_MAP_START(picno_state::mem_map)
AM_RANGE(0x00000, 0x07fff) AM_ROM AM_REGION("roms", 0) // 32kb internal rom
AM_RANGE(0x0fb80, 0x0ff7f) AM_RAM // internal ram
AM_RANGE(0x0ff80, 0x0ffff) // internal controls
AM_RANGE(0x10000, 0x8ffff) AM_ROM AM_REGION("roms", 0x8000) // guess
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, picno_state )
+ADDRESS_MAP_START(picno_state::io_map)
// ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/piggypas.cpp b/src/mame/drivers/piggypas.cpp
index c30e3882b69..f923478bb8d 100644
--- a/src/mame/drivers/piggypas.cpp
+++ b/src/mame/drivers/piggypas.cpp
@@ -43,6 +43,8 @@ public:
uint8_t m_ctrl;
uint8_t m_digit_idx;
void piggypas(machine_config &config);
+ void piggypas_io(address_map &map);
+ void piggypas_map(address_map &map);
};
@@ -63,11 +65,11 @@ WRITE8_MEMBER(piggypas_state::mcs51_tx_callback)
output().set_digit_value(m_digit_idx++, bitswap<8>(data,7,6,4,3,2,1,0,5) & 0x7f);
}
-static ADDRESS_MAP_START( piggypas_map, AS_PROGRAM, 8, piggypas_state )
+ADDRESS_MAP_START(piggypas_state::piggypas_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( piggypas_io, AS_IO, 8, piggypas_state )
+ADDRESS_MAP_START(piggypas_state::piggypas_io)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x0800, 0x0803) AM_DEVREADWRITE("ppi", i8255_device, read, write)
AM_RANGE(0x1000, 0x1000) AM_DEVREADWRITE("oki", okim6295_device, read, write)
diff --git a/src/mame/drivers/pimps.cpp b/src/mame/drivers/pimps.cpp
index 9c69ad02982..976bdf6804d 100644
--- a/src/mame/drivers/pimps.cpp
+++ b/src/mame/drivers/pimps.cpp
@@ -83,19 +83,21 @@ public:
{ }
void pimps(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
virtual void machine_reset() override;
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 8, pimps_state)
+ADDRESS_MAP_START(pimps_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xefff) AM_RAM
AM_RANGE(0xf000, 0xffff) AM_ROM AM_REGION("roms", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(io_map, AS_IO, 8, pimps_state)
+ADDRESS_MAP_START(pimps_state::io_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xf0, 0xf0) AM_DEVREADWRITE("uart1", i8251_device, data_r, data_w)
AM_RANGE(0xf1, 0xf1) AM_DEVREADWRITE("uart1", i8251_device, status_r, control_w)
diff --git a/src/mame/drivers/pinball2k.cpp b/src/mame/drivers/pinball2k.cpp
index 20e0cd30265..6823022afd2 100644
--- a/src/mame/drivers/pinball2k.cpp
+++ b/src/mame/drivers/pinball2k.cpp
@@ -98,6 +98,9 @@ public:
void draw_cga(bitmap_rgb32 &bitmap, const rectangle &cliprect);
void init_mediagx();
void mediagx(machine_config &config);
+ void mediagx_io(address_map &map);
+ void mediagx_map(address_map &map);
+ void ramdac_map(address_map &map);
};
// Display controller registers
@@ -473,7 +476,7 @@ static void cx5510_pci_w(device_t *busdevice, device_t *device, int function, in
/*****************************************************************************/
-static ADDRESS_MAP_START( mediagx_map, AS_PROGRAM, 32, pinball2k_state )
+ADDRESS_MAP_START(pinball2k_state::mediagx_map)
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM AM_SHARE("main_ram")
AM_RANGE(0x000a0000, 0x000affff) AM_RAM
AM_RANGE(0x000b0000, 0x000b7fff) AM_RAM AM_SHARE("cga_ram")
@@ -486,7 +489,7 @@ static ADDRESS_MAP_START( mediagx_map, AS_PROGRAM, 32, pinball2k_state )
AM_RANGE(0xfffc0000, 0xffffffff) AM_ROM AM_REGION("bios", 0) /* System BIOS */
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mediagx_io, AS_IO, 32, pinball2k_state )
+ADDRESS_MAP_START(pinball2k_state::mediagx_io)
AM_IMPORT_FROM(pcat32_io_common)
AM_RANGE(0x0020, 0x0023) AM_READWRITE8(io20_r, io20_w, 0xffff0000)
AM_RANGE(0x00e8, 0x00eb) AM_NOP // I/O delay port
@@ -588,7 +591,7 @@ void pinball2k_state::machine_reset()
m_maincpu->reset();
}
-static ADDRESS_MAP_START( ramdac_map, 0, 8, pinball2k_state )
+ADDRESS_MAP_START(pinball2k_state::ramdac_map)
AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac",ramdac_device,ramdac_pal_r,ramdac_rgb666_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pingpong.cpp b/src/mame/drivers/pingpong.cpp
index 09160f6f20e..08783357944 100644
--- a/src/mame/drivers/pingpong.cpp
+++ b/src/mame/drivers/pingpong.cpp
@@ -89,7 +89,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(pingpong_state::merlinmm_interrupt)
}
}
-static ADDRESS_MAP_START( pingpong_map, AS_PROGRAM, 8, pingpong_state )
+ADDRESS_MAP_START(pingpong_state::pingpong_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(pingpong_colorram_w) AM_SHARE("colorram")
AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(pingpong_videoram_w) AM_SHARE("videoram")
@@ -106,7 +106,7 @@ static ADDRESS_MAP_START( pingpong_map, AS_PROGRAM, 8, pingpong_state )
AM_RANGE(0xa600, 0xa600) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( merlinmm_map, AS_PROGRAM, 8, pingpong_state )
+ADDRESS_MAP_START(pingpong_state::merlinmm_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x5000, 0x53ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x5400, 0x57ff) AM_RAM
diff --git a/src/mame/drivers/pinkiri8.cpp b/src/mame/drivers/pinkiri8.cpp
index c04a5c608a3..5b3d02d4dba 100644
--- a/src/mame/drivers/pinkiri8.cpp
+++ b/src/mame/drivers/pinkiri8.cpp
@@ -97,6 +97,8 @@ public:
void draw_background(bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
void pinkiri8(machine_config &config);
+ void pinkiri8_io(address_map &map);
+ void pinkiri8_map(address_map &map);
};
@@ -107,7 +109,7 @@ class janshi_vdp_device : public device_t,
{
public:
janshi_vdp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- DECLARE_ADDRESS_MAP(map, 8);
+ void map(address_map &map);
protected:
virtual void device_validity_check(validity_checker &valid) const override;
virtual void device_start() override;
@@ -117,7 +119,7 @@ protected:
};
-DEVICE_ADDRESS_MAP_START( map, 8, janshi_vdp_device )
+ADDRESS_MAP_START(janshi_vdp_device::map)
AM_RANGE(0xfc0000, 0xfc1fff) AM_RAM AM_SHARE("back_vram") // bg tilemap?
AM_RANGE(0xfc2000, 0xfc2fff) AM_RAM AM_SHARE("vram1") // xpos, colour, tile number etc.
@@ -138,7 +140,7 @@ DEFINE_DEVICE_TYPE(JANSHIVDP, janshi_vdp_device, "janshi_vdp", "Janshi VDP")
janshi_vdp_device::janshi_vdp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, JANSHIVDP, tag, owner, clock)
, device_memory_interface(mconfig, *this)
- , m_space_config("janshi_vdp", ENDIANNESS_LITTLE, 8,24, 0, address_map_delegate(FUNC(janshi_vdp_device::map), this))
+ , m_space_config("janshi_vdp", ENDIANNESS_LITTLE, 8,24, 0, address_map_constructor(FUNC(janshi_vdp_device::map), this))
{
}
@@ -374,7 +376,7 @@ uint32_t pinkiri8_state::screen_update_pinkiri8(screen_device &screen, bitmap_in
return 0;
}
-static ADDRESS_MAP_START( pinkiri8_map, AS_PROGRAM, 8, pinkiri8_state )
+ADDRESS_MAP_START(pinkiri8_state::pinkiri8_map)
AM_RANGE(0x00000, 0x0bfff) AM_ROM
AM_RANGE(0x0c000, 0x0dfff) AM_RAM
AM_RANGE(0x0e000, 0x0ffff) AM_ROM
@@ -459,7 +461,7 @@ READ8_MEMBER(pinkiri8_state::mux_p1_r)
return 0xff;
}
-static ADDRESS_MAP_START( pinkiri8_io, AS_IO, 8, pinkiri8_state )
+ADDRESS_MAP_START(pinkiri8_state::pinkiri8_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x3f) AM_RAM //Z180 internal I/O
AM_RANGE(0x60, 0x60) AM_WRITE(output_regs_w)
diff --git a/src/mame/drivers/pipbug.cpp b/src/mame/drivers/pipbug.cpp
index 955fc3066c2..b0464148490 100644
--- a/src/mame/drivers/pipbug.cpp
+++ b/src/mame/drivers/pipbug.cpp
@@ -59,6 +59,8 @@ public:
required_device<cpu_device> m_maincpu;
DECLARE_QUICKLOAD_LOAD_MEMBER( pipbug );
void pipbug(machine_config &config);
+ void pipbug_data(address_map &map);
+ void pipbug_mem(address_map &map);
};
WRITE8_MEMBER( pipbug_state::pipbug_ctrl_w )
@@ -66,13 +68,13 @@ WRITE8_MEMBER( pipbug_state::pipbug_ctrl_w )
// 0x80 is written here - not connected in the baby 2650
}
-static ADDRESS_MAP_START(pipbug_mem, AS_PROGRAM, 8, pipbug_state)
+ADDRESS_MAP_START(pipbug_state::pipbug_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x03ff) AM_ROM
AM_RANGE( 0x0400, 0x7fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(pipbug_data, AS_DATA, 8, pipbug_state)
+ADDRESS_MAP_START(pipbug_state::pipbug_data)
// ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(S2650_CTRL_PORT, S2650_CTRL_PORT) AM_WRITE(pipbug_ctrl_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pipedrm.cpp b/src/mame/drivers/pipedrm.cpp
index e9cc6d4a07b..ca85fcff707 100644
--- a/src/mame/drivers/pipedrm.cpp
+++ b/src/mame/drivers/pipedrm.cpp
@@ -191,6 +191,11 @@ public:
DECLARE_READ8_MEMBER( pending_command_r );
void pipedrm(machine_config &config);
void hatris(machine_config &config);
+ void hatris_sound_portmap(address_map &map);
+ void main_map(address_map &map);
+ void main_portmap(address_map &map);
+ void sound_map(address_map &map);
+ void sound_portmap(address_map &map);
};
@@ -247,7 +252,7 @@ READ8_MEMBER(pipedrm_state::pending_command_r )
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, pipedrm_state )
+ADDRESS_MAP_START(pipedrm_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_RAM
AM_RANGE(0xa000, 0xbfff) AM_ROMBANK("bank1")
@@ -256,7 +261,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, pipedrm_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_portmap, AS_IO, 8, pipedrm_state )
+ADDRESS_MAP_START(pipedrm_state::main_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x11) AM_DEVWRITE("gga", vsystem_gga_device, write)
AM_RANGE(0x20, 0x20) AM_READ_PORT("P1") AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
@@ -276,14 +281,14 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, pipedrm_state )
+ADDRESS_MAP_START(pipedrm_state::sound_map)
AM_RANGE(0x0000, 0x77ff) AM_ROM
AM_RANGE(0x7800, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, pipedrm_state )
+ADDRESS_MAP_START(pipedrm_state::sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x04, 0x04) AM_WRITE(sound_bankswitch_w)
AM_RANGE(0x16, 0x16) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -292,7 +297,7 @@ static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, pipedrm_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hatris_sound_portmap, AS_IO, 8, pipedrm_state )
+ADDRESS_MAP_START(pipedrm_state::hatris_sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_MIRROR(0x08) AM_DEVREADWRITE("ymsnd", ym2608_device, read, write)
AM_RANGE(0x04, 0x04) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/pipeline.cpp b/src/mame/drivers/pipeline.cpp
index 7b31a322c50..6476f3a16c1 100644
--- a/src/mame/drivers/pipeline.cpp
+++ b/src/mame/drivers/pipeline.cpp
@@ -113,6 +113,9 @@ public:
TIMER_CALLBACK_MEMBER(protection_deferred_w);
void pipeline(machine_config &config);
+ void cpu0_mem(address_map &map);
+ void cpu1_mem(address_map &map);
+ void sound_port(address_map &map);
protected:
required_device<cpu_device> m_maincpu;
required_device<m68705r_device> m_mcu;
@@ -219,7 +222,7 @@ WRITE8_MEMBER(pipeline_state::protection_w)
machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(100));
}
-static ADDRESS_MAP_START( cpu0_mem, AS_PROGRAM, 8, pipeline_state )
+ADDRESS_MAP_START(pipeline_state::cpu0_mem)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x97ff) AM_RAM_WRITE(vram1_w) AM_SHARE("vram1")
@@ -230,13 +233,13 @@ static ADDRESS_MAP_START( cpu0_mem, AS_PROGRAM, 8, pipeline_state )
AM_RANGE(0xb840, 0xb840) AM_NOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpu1_mem, AS_PROGRAM, 8, pipeline_state )
+ADDRESS_MAP_START(pipeline_state::cpu1_mem)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE("ppi8255_2", i8255_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_port, AS_IO, 8, pipeline_state )
+ADDRESS_MAP_START(pipeline_state::sound_port)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ctc", z80ctc_device, read, write)
AM_RANGE(0x06, 0x07) AM_NOP
diff --git a/src/mame/drivers/pirates.cpp b/src/mame/drivers/pirates.cpp
index 094c5a45152..ace366b6f0a 100644
--- a/src/mame/drivers/pirates.cpp
+++ b/src/mame/drivers/pirates.cpp
@@ -153,7 +153,7 @@ CUSTOM_INPUT_MEMBER(pirates_state::prot_r)
/* Memory Maps */
-static ADDRESS_MAP_START( pirates_map, AS_PROGRAM, 16, pirates_state )
+ADDRESS_MAP_START(pirates_state::pirates_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM // main ram
AM_RANGE(0x300000, 0x300001) AM_READ_PORT("INPUTS")
diff --git a/src/mame/drivers/piratesh.cpp b/src/mame/drivers/piratesh.cpp
index 65f992908f5..8d463ce7344 100644
--- a/src/mame/drivers/piratesh.cpp
+++ b/src/mame/drivers/piratesh.cpp
@@ -104,6 +104,7 @@ public:
K056832_CB_MEMBER(piratesh_tile_callback);
K055673_CB_MEMBER(piratesh_sprite_callback);
void piratesh(machine_config &config);
+ void piratesh_map(address_map &map);
};
@@ -382,7 +383,7 @@ WRITE16_MEMBER(piratesh_state::control3_w)
}
-static ADDRESS_MAP_START( piratesh_map, AS_PROGRAM, 16, piratesh_state )
+ADDRESS_MAP_START(piratesh_state::piratesh_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x083fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x084000, 0x087fff) AM_RAM
diff --git a/src/mame/drivers/pitagjr.cpp b/src/mame/drivers/pitagjr.cpp
index 11035dad9f8..4ffa23cb47f 100644
--- a/src/mame/drivers/pitagjr.cpp
+++ b/src/mame/drivers/pitagjr.cpp
@@ -173,10 +173,11 @@ public:
DECLARE_PALETTE_INIT(pitagjr);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void pitajr(machine_config &config);
+ void pitajr_mem(address_map &map);
};
-static ADDRESS_MAP_START(pitajr_mem, AS_PROGRAM, 8, pitagjr_state)
+ADDRESS_MAP_START(pitagjr_state::pitajr_mem)
AM_RANGE(0x0000, 0x00ff) AM_RAM
AM_RANGE(0x1000, 0x1fff) AM_ROM // boot ROM ???
AM_RANGE(0x2000, 0x3fff) AM_ROMBANK("rombank")
diff --git a/src/mame/drivers/pitnrun.cpp b/src/mame/drivers/pitnrun.cpp
index 7eb626748ca..930fd94ee5d 100644
--- a/src/mame/drivers/pitnrun.cpp
+++ b/src/mame/drivers/pitnrun.cpp
@@ -105,7 +105,7 @@ WRITE_LINE_MEMBER(pitnrun_state::vflip_w)
flip_screen_y_set(state);
}
-static ADDRESS_MAP_START( pitnrun_map, AS_PROGRAM, 8, pitnrun_state )
+ADDRESS_MAP_START(pitnrun_state::pitnrun_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
@@ -127,19 +127,19 @@ static ADDRESS_MAP_START( pitnrun_map, AS_PROGRAM, 8, pitnrun_state )
AM_RANGE(0xf000, 0xf000) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pitnrun_map_mcu, AS_PROGRAM, 8, pitnrun_state )
+ADDRESS_MAP_START(pitnrun_state::pitnrun_map_mcu)
AM_IMPORT_FROM(pitnrun_map)
AM_RANGE(0xc804, 0xc804) AM_WRITE(mcu_data_w)
AM_RANGE(0xd000, 0xd000) AM_READ(mcu_data_r)
AM_RANGE(0xd800, 0xd800) AM_READ(mcu_status_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pitnrun_sound_map, AS_PROGRAM, 8, pitnrun_state )
+ADDRESS_MAP_START(pitnrun_state::pitnrun_sound_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x3800, 0x3bff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pitnrun_sound_io_map, AS_IO, 8, pitnrun_state )
+ADDRESS_MAP_START(pitnrun_state::pitnrun_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("soundlatch", generic_latch_8_device, clear_w)
AM_RANGE(0x8c, 0x8d) AM_DEVWRITE("ay2", ay8910_device, address_data_w)
diff --git a/src/mame/drivers/pk8000.cpp b/src/mame/drivers/pk8000.cpp
index 937c7fe0f69..b91920c2176 100644
--- a/src/mame/drivers/pk8000.cpp
+++ b/src/mame/drivers/pk8000.cpp
@@ -66,6 +66,8 @@ public:
IRQ_CALLBACK_MEMBER(irq_callback);
void pk8000(machine_config &config);
+ void pk8000_io(address_map &map);
+ void pk8000_mem(address_map &map);
protected:
required_device<cpu_device> m_maincpu;
required_device<cassette_image_device> m_cassette;
@@ -184,7 +186,7 @@ READ8_MEMBER(pk8000_state::joy_2_r)
return retVal;
}
-static ADDRESS_MAP_START(pk8000_mem, AS_PROGRAM, 8, pk8000_state )
+ADDRESS_MAP_START(pk8000_state::pk8000_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x3fff ) AM_READ_BANK("bank1") AM_WRITE_BANK("bank5")
AM_RANGE( 0x4000, 0x7fff ) AM_READ_BANK("bank2") AM_WRITE_BANK("bank6")
@@ -192,7 +194,7 @@ static ADDRESS_MAP_START(pk8000_mem, AS_PROGRAM, 8, pk8000_state )
AM_RANGE( 0xc000, 0xffff ) AM_READ_BANK("bank4") AM_WRITE_BANK("bank8")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pk8000_io , AS_IO, 8, pk8000_state )
+ADDRESS_MAP_START(pk8000_state::pk8000_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x80, 0x83) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write)
AM_RANGE(0x84, 0x87) AM_DEVREADWRITE("ppi8255_2", i8255_device, read, write)
diff --git a/src/mame/drivers/pk8020.cpp b/src/mame/drivers/pk8020.cpp
index 8e9938642a1..ee56c09543c 100644
--- a/src/mame/drivers/pk8020.cpp
+++ b/src/mame/drivers/pk8020.cpp
@@ -23,10 +23,10 @@
#include "speaker.h"
/* Address maps */
-static ADDRESS_MAP_START(pk8020_mem, AS_PROGRAM, 8, pk8020_state )
+ADDRESS_MAP_START(pk8020_state::pk8020_mem)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pk8020_io , AS_IO, 8, pk8020_state )
+ADDRESS_MAP_START(pk8020_state::pk8020_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pkscram.cpp b/src/mame/drivers/pkscram.cpp
index cf51e0ac87c..ac780c39d3d 100644
--- a/src/mame/drivers/pkscram.cpp
+++ b/src/mame/drivers/pkscram.cpp
@@ -59,6 +59,7 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<screen_device> m_screen;
void pkscramble(machine_config &config);
+ void pkscramble_map(address_map &map);
};
@@ -118,7 +119,7 @@ WRITE16_MEMBER(pkscram_state::pkscramble_output_w)
machine().bookkeeping().coin_counter_w(0, data & 0x80);
}
-static ADDRESS_MAP_START( pkscramble_map, AS_PROGRAM, 16, pkscram_state )
+ADDRESS_MAP_START(pkscram_state::pkscramble_map)
ADDRESS_MAP_GLOBAL_MASK(0x7ffff)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x040000, 0x0400ff) AM_RAM AM_SHARE("nvram")
diff --git a/src/mame/drivers/pktgaldx.cpp b/src/mame/drivers/pktgaldx.cpp
index 24144403b2e..00df9656864 100644
--- a/src/mame/drivers/pktgaldx.cpp
+++ b/src/mame/drivers/pktgaldx.cpp
@@ -100,7 +100,7 @@ WRITE16_MEMBER( pktgaldx_state::vblank_ack_w )
m_maincpu->set_input_line(6, CLEAR_LINE);
}
-static ADDRESS_MAP_START( pktgaldx_map, AS_PROGRAM, 16, pktgaldx_state )
+ADDRESS_MAP_START(pktgaldx_state::pktgaldx_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x100fff) AM_DEVREADWRITE("tilegen1", deco16ic_device, pf1_data_r, pf1_data_w)
@@ -124,7 +124,7 @@ static ADDRESS_MAP_START( pktgaldx_map, AS_PROGRAM, 16, pktgaldx_state )
AM_RANGE(0x170000, 0x17ffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 16, pktgaldx_state )
+ADDRESS_MAP_START(pktgaldx_state::decrypted_opcodes_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM AM_SHARE("decrypted_opcodes")
ADDRESS_MAP_END
@@ -155,7 +155,7 @@ cpu #0 (PC=0000923C): unmapped program memory word read from 00167DB2 & 00FF
/* do the 300000 addresses somehow interact with the protection addresses on this bootleg? */
/* or maybe protection writes go to sound ... */
-static ADDRESS_MAP_START( pktgaldb_map, AS_PROGRAM, 16, pktgaldx_state )
+ADDRESS_MAP_START(pktgaldx_state::pktgaldb_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x100fff) AM_RAM AM_SHARE("pktgaldb_fgram") // fgram on original?
AM_RANGE(0x102000, 0x102fff) AM_RAM // bgram on original?
@@ -338,7 +338,7 @@ MACHINE_CONFIG_START(pktgaldx_state::pktgaldx)
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, 14000000)
MCFG_CPU_PROGRAM_MAP(pktgaldx_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/plan80.cpp b/src/mame/drivers/plan80.cpp
index 90297852859..6de34e4e90f 100644
--- a/src/mame/drivers/plan80.cpp
+++ b/src/mame/drivers/plan80.cpp
@@ -49,6 +49,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void plan80(machine_config &config);
+ void plan80_io(address_map &map);
+ void plan80_mem(address_map &map);
private:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
uint8_t m_kbd_row;
@@ -86,7 +88,7 @@ WRITE8_MEMBER( plan80_state::plan80_09_w )
}
-static ADDRESS_MAP_START(plan80_mem, AS_PROGRAM, 8, plan80_state)
+ADDRESS_MAP_START(plan80_state::plan80_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x07ff) AM_RAMBANK("boot")
AM_RANGE(0x0800, 0xefff) AM_RAM
@@ -94,7 +96,7 @@ static ADDRESS_MAP_START(plan80_mem, AS_PROGRAM, 8, plan80_state)
AM_RANGE(0xf800, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(plan80_io, AS_IO, 8, plan80_state)
+ADDRESS_MAP_START(plan80_state::plan80_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x04, 0x04) AM_READ(plan80_04_r)
diff --git a/src/mame/drivers/play_1.cpp b/src/mame/drivers/play_1.cpp
index 8f54d9a1bd6..8bb1eef7b98 100644
--- a/src/mame/drivers/play_1.cpp
+++ b/src/mame/drivers/play_1.cpp
@@ -56,6 +56,9 @@ public:
void chance(machine_config &config);
void play_1(machine_config &config);
+ void chance_map(address_map &map);
+ void play_1_io(address_map &map);
+ void play_1_map(address_map &map);
private:
uint16_t m_resetcnt;
uint16_t m_clockcnt;
@@ -69,21 +72,21 @@ private:
required_device<clock_device> m_monotone;
};
-static ADDRESS_MAP_START( play_1_map, AS_PROGRAM, 8, play_1_state )
+ADDRESS_MAP_START(play_1_state::play_1_map)
ADDRESS_MAP_GLOBAL_MASK(0xfff)
AM_RANGE(0x0000, 0x07ff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0x0800, 0x081f) AM_RAM AM_SHARE("nvram") // capacitor acting as a 2-month "battery"
AM_RANGE(0x0c00, 0x0c1f) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( chance_map, AS_PROGRAM, 8, play_1_state )
+ADDRESS_MAP_START(play_1_state::chance_map)
ADDRESS_MAP_GLOBAL_MASK(0xfff)
AM_RANGE(0x0000, 0x0bff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0x0c00, 0x0c1f) AM_RAM
AM_RANGE(0x0e00, 0x0e1f) AM_RAM AM_SHARE("nvram") // capacitor acting as a 2-month "battery"
ADDRESS_MAP_END
-static ADDRESS_MAP_START( play_1_io, AS_IO, 8, play_1_state )
+ADDRESS_MAP_START(play_1_state::play_1_io)
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1") AM_WRITE(port01_w) //segments
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2") AM_WRITE(port02_w) // N1-8
AM_RANGE(0x03, 0x03) AM_READ_PORT("IN3") AM_WRITE(port03_w) // D1-4
diff --git a/src/mame/drivers/play_2.cpp b/src/mame/drivers/play_2.cpp
index b7d29dfad0a..d4769f533a8 100644
--- a/src/mame/drivers/play_2.cpp
+++ b/src/mame/drivers/play_2.cpp
@@ -81,6 +81,9 @@ public:
void play_2(machine_config &config);
void zira(machine_config &config);
+ void play_2_io(address_map &map);
+ void play_2_map(address_map &map);
+ void zira_sound_map(address_map &map);
private:
uint16_t m_clockcnt;
uint16_t m_resetcnt;
@@ -100,12 +103,12 @@ private:
};
-static ADDRESS_MAP_START( play_2_map, AS_PROGRAM, 8, play_2_state )
+ADDRESS_MAP_START(play_2_state::play_2_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0x2000, 0x20ff) AM_RAM AM_SHARE("nvram") // pair of 5101, battery-backed
ADDRESS_MAP_END
-static ADDRESS_MAP_START( play_2_io, AS_IO, 8, play_2_state )
+ADDRESS_MAP_START(play_2_state::play_2_io)
AM_RANGE(0x01, 0x01) AM_WRITE(port01_w) // digits
AM_RANGE(0x02, 0x02) AM_WRITE(port02_w)
AM_RANGE(0x03, 0x03) AM_DEVWRITE("1863", cdp1863_device, str_w)
@@ -115,7 +118,7 @@ static ADDRESS_MAP_START( play_2_io, AS_IO, 8, play_2_state )
AM_RANGE(0x07, 0x07) AM_WRITE(port07_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( zira_sound_map, AS_PROGRAM, 8, play_2_state )
+ADDRESS_MAP_START(play_2_state::zira_sound_map)
AM_RANGE(0x000, 0x3ff) AM_ROMBANK("bank1")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/play_3.cpp b/src/mame/drivers/play_3.cpp
index 2b6a342ed2a..7468ffc9171 100644
--- a/src/mame/drivers/play_3.cpp
+++ b/src/mame/drivers/play_3.cpp
@@ -94,6 +94,12 @@ public:
void sklflite(machine_config &config);
void play_3(machine_config &config);
void megaaton(machine_config &config);
+ void megaaton_io(address_map &map);
+ void play_3_audio_io(address_map &map);
+ void play_3_audio_map(address_map &map);
+ void play_3_io(address_map &map);
+ void play_3_map(address_map &map);
+ void sklflite_io(address_map &map);
private:
u16 m_clockcnt;
u16 m_resetcnt;
@@ -117,12 +123,12 @@ private:
};
-static ADDRESS_MAP_START( play_3_map, AS_PROGRAM, 8, play_3_state )
+ADDRESS_MAP_START(play_3_state::play_3_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x80ff) AM_RAM AM_SHARE("nvram") // pair of 5101, battery-backed
ADDRESS_MAP_END
-static ADDRESS_MAP_START( play_3_io, AS_IO, 8, play_3_state )
+ADDRESS_MAP_START(play_3_state::play_3_io)
AM_RANGE(0x01, 0x01) AM_WRITE(port01_w) // digits, scan-lines
AM_RANGE(0x02, 0x02) AM_WRITE(port02_w) // sound code
AM_RANGE(0x03, 0x03) AM_WRITE(port03_w) //
@@ -132,24 +138,24 @@ static ADDRESS_MAP_START( play_3_io, AS_IO, 8, play_3_state )
AM_RANGE(0x07, 0x07) AM_WRITE(port07_w) // flipflop clear
ADDRESS_MAP_END
-static ADDRESS_MAP_START( megaaton_io, AS_IO, 8, play_3_state )
+ADDRESS_MAP_START(play_3_state::megaaton_io)
AM_IMPORT_FROM(play_3_io)
AM_RANGE(0x01, 0x01) AM_WRITE(megaaton_port01_w) // digits, scan-lines
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sklflite_io, AS_IO, 8, play_3_state )
+ADDRESS_MAP_START(play_3_state::sklflite_io)
AM_IMPORT_FROM(play_3_io)
AM_RANGE(0x03, 0x03) AM_WRITE(sklflite_port03_w) //
ADDRESS_MAP_END
-static ADDRESS_MAP_START( play_3_audio_map, AS_PROGRAM, 8, play_3_state )
+ADDRESS_MAP_START(play_3_state::play_3_audio_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x4001) AM_MIRROR(0x1ffe) AM_DEVREADWRITE("aysnd1", ay8910_device, data_r, address_data_w)
AM_RANGE(0x6000, 0x6001) AM_MIRROR(0x1ffe) AM_DEVREADWRITE("aysnd2", ay8910_device, data_r, address_data_w)
AM_RANGE(0x8000, 0x80ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( play_3_audio_io, AS_IO, 8, play_3_state )
+ADDRESS_MAP_START(play_3_state::play_3_audio_io)
AM_RANGE(0x01, 0x01) AM_WRITE(port01_a_w) // irq counter
AM_RANGE(0x02, 0x02) AM_READ(port02_a_r) // sound code
ADDRESS_MAP_END
diff --git a/src/mame/drivers/playch10.cpp b/src/mame/drivers/playch10.cpp
index 19f2c1f24b0..7ff27ddba96 100644
--- a/src/mame/drivers/playch10.cpp
+++ b/src/mame/drivers/playch10.cpp
@@ -350,7 +350,7 @@ WRITE8_MEMBER(playch10_state::time_w)
/******************************************************************************/
/* BIOS */
-static ADDRESS_MAP_START( bios_map, AS_PROGRAM, 8, playch10_state )
+ADDRESS_MAP_START(playch10_state::bios_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM // 8V
AM_RANGE(0x8800, 0x8fff) AM_READWRITE(ram_8w_r, ram_8w_w) AM_SHARE("ram_8w") // 8W
@@ -359,7 +359,7 @@ static ADDRESS_MAP_START( bios_map, AS_PROGRAM, 8, playch10_state )
AM_RANGE(0xe000, 0xffff) AM_READWRITE(pc10_prot_r, pc10_prot_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bios_io_map, AS_IO, 8, playch10_state )
+ADDRESS_MAP_START(playch10_state::bios_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("BIOS")
AM_RANGE(0x01, 0x01) AM_READ_PORT("SW1")
@@ -370,7 +370,7 @@ static ADDRESS_MAP_START( bios_io_map, AS_IO, 8, playch10_state )
AM_RANGE(0x10, 0x13) AM_WRITE(time_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cart_map, AS_PROGRAM, 8, playch10_state )
+ADDRESS_MAP_START(playch10_state::cart_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_MIRROR(0x1800) AM_SHARE("work_ram")
AM_RANGE(0x2000, 0x3fff) AM_DEVREADWRITE("ppu", ppu2c0x_device, read, write)
AM_RANGE(0x4014, 0x4014) AM_WRITE(sprite_dma_w)
diff --git a/src/mame/drivers/playmark.cpp b/src/mame/drivers/playmark.cpp
index 79534e85651..1bdab8861c7 100644
--- a/src/mame/drivers/playmark.cpp
+++ b/src/mame/drivers/playmark.cpp
@@ -261,7 +261,7 @@ WRITE8_MEMBER(playmark_state::hrdtimes_snd_control_w)
/***************************** 68000 Memory Maps ****************************/
-static ADDRESS_MAP_START( bigtwin_main_map, AS_PROGRAM, 16, playmark_state )
+ADDRESS_MAP_START(playmark_state::bigtwin_main_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x304000, 0x304001) AM_NOP /* watchdog? irq ack? */
AM_RANGE(0x440000, 0x4403ff) AM_RAM AM_SHARE("spriteram")
@@ -284,7 +284,7 @@ static ADDRESS_MAP_START( bigtwin_main_map, AS_PROGRAM, 16, playmark_state )
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bigtwinb_main_map, AS_PROGRAM, 16, playmark_state )
+ADDRESS_MAP_START(playmark_state::bigtwinb_main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM_WRITE(hrdtimes_bgvideoram_w) AM_SHARE("videoram3")
AM_RANGE(0x104000, 0x107fff) AM_RAM_WRITE(hrdtimes_fgvideoram_w) AM_SHARE("videoram2")
@@ -302,7 +302,7 @@ static ADDRESS_MAP_START( bigtwinb_main_map, AS_PROGRAM, 16, playmark_state )
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( wbeachvl_main_map, AS_PROGRAM, 16, playmark_state )
+ADDRESS_MAP_START(playmark_state::wbeachvl_main_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(wbeachvl_bgvideoram_w) AM_SHARE("videoram3")
@@ -324,7 +324,7 @@ static ADDRESS_MAP_START( wbeachvl_main_map, AS_PROGRAM, 16, playmark_state )
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( excelsr_main_map, AS_PROGRAM, 16, playmark_state )
+ADDRESS_MAP_START(playmark_state::excelsr_main_map)
AM_RANGE(0x000000, 0x2fffff) AM_ROM
AM_RANGE(0x304000, 0x304001) AM_WRITENOP /* watchdog? irq ack? */
AM_RANGE(0x440000, 0x440cff) AM_RAM AM_SHARE("spriteram")
@@ -344,7 +344,7 @@ static ADDRESS_MAP_START( excelsr_main_map, AS_PROGRAM, 16, playmark_state )
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hrdtimes_main_map, AS_PROGRAM, 16, playmark_state )
+ADDRESS_MAP_START(playmark_state::hrdtimes_main_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x0bffff) AM_RAM
AM_RANGE(0x0c0000, 0x0fffff) AM_ROM AM_REGION("maincpu", 0x0c0000)
@@ -369,7 +369,7 @@ static ADDRESS_MAP_START( hrdtimes_main_map, AS_PROGRAM, 16, playmark_state )
AM_RANGE(0x304000, 0x304001) AM_WRITENOP /* watchdog? irq ack? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hotmind_main_map, AS_PROGRAM, 16, playmark_state )
+ADDRESS_MAP_START(playmark_state::hotmind_main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM_WRITE(hrdtimes_bgvideoram_w) AM_SHARE("videoram3")
AM_RANGE(0x104000, 0x107fff) AM_RAM_WRITE(hrdtimes_fgvideoram_w) AM_SHARE("videoram2")
@@ -387,7 +387,7 @@ static ADDRESS_MAP_START( hotmind_main_map, AS_PROGRAM, 16, playmark_state )
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( luckboomh_main_map, AS_PROGRAM, 16, playmark_state )
+ADDRESS_MAP_START(playmark_state::luckboomh_main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM_WRITE(hrdtimes_bgvideoram_w) AM_SHARE("videoram3")
AM_RANGE(0x104000, 0x107fff) AM_RAM_WRITE(hrdtimes_fgvideoram_w) AM_SHARE("videoram2")
@@ -405,7 +405,7 @@ static ADDRESS_MAP_START( luckboomh_main_map, AS_PROGRAM, 16, playmark_state )
AM_RANGE(0xff8000, 0xffffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( oki_map, 0, 8, playmark_state )
+ADDRESS_MAP_START(playmark_state::oki_map)
AM_RANGE(0x00000, 0x1ffff) AM_ROM
AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK("okibank")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/plus4.cpp b/src/mame/drivers/plus4.cpp
index 13ff0af84ce..b12d5eed6f2 100644
--- a/src/mame/drivers/plus4.cpp
+++ b/src/mame/drivers/plus4.cpp
@@ -156,6 +156,8 @@ public:
uint8_t m_kb;
void plus4(machine_config &config);
+ void plus4_mem(address_map &map);
+ void ted_videoram_map(address_map &map);
};
@@ -480,7 +482,7 @@ READ8_MEMBER( plus4_state::ted_videoram_r )
// ADDRESS_MAP( plus4_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( plus4_mem, AS_PROGRAM, 8, plus4_state )
+ADDRESS_MAP_START(plus4_state::plus4_mem)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(read, write)
ADDRESS_MAP_END
@@ -489,7 +491,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( ted_videoram_map )
//-------------------------------------------------
-static ADDRESS_MAP_START( ted_videoram_map, 0, 8, plus4_state )
+ADDRESS_MAP_START(plus4_state::ted_videoram_map)
AM_RANGE(0x0000, 0xffff) AM_READ(ted_videoram_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pluto5.cpp b/src/mame/drivers/pluto5.cpp
index f5a8cb56dc8..d23f252d66e 100644
--- a/src/mame/drivers/pluto5.cpp
+++ b/src/mame/drivers/pluto5.cpp
@@ -196,6 +196,7 @@ public:
DECLARE_WRITE32_MEMBER(pluto5_mem_w);
void pluto5(machine_config &config);
+ void pluto5_map(address_map &map);
protected:
// devices
@@ -238,7 +239,7 @@ WRITE32_MEMBER(pluto5_state::pluto5_mem_w)
}
-static ADDRESS_MAP_START( pluto5_map, AS_PROGRAM, 32, pluto5_state )
+ADDRESS_MAP_START(pluto5_state::pluto5_map)
AM_RANGE(0x00000000, 0xffffffff) AM_READWRITE(pluto5_mem_r, pluto5_mem_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/plygonet.cpp b/src/mame/drivers/plygonet.cpp
index 9533eb18e58..593dd930d72 100644
--- a/src/mame/drivers/plygonet.cpp
+++ b/src/mame/drivers/plygonet.cpp
@@ -413,7 +413,7 @@ WRITE16_MEMBER(polygonet_state::dsp56k_ram_bank04_write)
/**********************************************************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, polygonet_state )
+ADDRESS_MAP_START(polygonet_state::main_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x200000, 0x21ffff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0x400000, 0x40001f) AM_DEVREADWRITE16("k053936", k053936_device, ctrl_r, ctrl_w, 0xffffffff)
@@ -437,13 +437,13 @@ ADDRESS_MAP_END
/**********************************************************************************/
-static ADDRESS_MAP_START( dsp_program_map, AS_PROGRAM, 16, polygonet_state )
+ADDRESS_MAP_START(polygonet_state::dsp_program_map)
AM_RANGE(0x7000, 0x7fff) AM_RAM AM_SHARE("dsp56k_p_mirror") /* Unsure of size, but 0x1000 matches bank01 */
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("dsp56k_p_8000")
AM_RANGE(0xc000, 0xc000) AM_READ(dsp56k_bootload_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dsp_data_map, AS_DATA, 16, polygonet_state )
+ADDRESS_MAP_START(polygonet_state::dsp_data_map)
AM_RANGE(0x0800, 0x5fff) AM_RAM /* Appears to not be affected by banking? */
AM_RANGE(0x6000, 0x6fff) AM_READWRITE(dsp56k_ram_bank00_read, dsp56k_ram_bank00_write)
AM_RANGE(0x7000, 0x7fff) AM_READWRITE(dsp56k_ram_bank01_read, dsp56k_ram_bank01_write) /* Mirrored in program space @ 0x7000 */
@@ -472,7 +472,7 @@ WRITE8_MEMBER(polygonet_state::sound_ctrl_w)
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, polygonet_state )
+ADDRESS_MAP_START(polygonet_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xdfff) AM_RAM
diff --git a/src/mame/drivers/pm68k.cpp b/src/mame/drivers/pm68k.cpp
index 8a00421992c..5588892fc8f 100644
--- a/src/mame/drivers/pm68k.cpp
+++ b/src/mame/drivers/pm68k.cpp
@@ -27,6 +27,7 @@ public:
{ }
void pm68k(machine_config &config);
+ void pm68k_mem(address_map &map);
private:
virtual void machine_reset() override;
required_shared_ptr<uint16_t> m_p_base;
@@ -34,7 +35,7 @@ private:
};
-static ADDRESS_MAP_START(pm68k_mem, AS_PROGRAM, 16, pm68k_state)
+ADDRESS_MAP_START(pm68k_state::pm68k_mem)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xffffff)
AM_RANGE(0x000000, 0x1fffff) AM_RAM AM_SHARE("rambase")
diff --git a/src/mame/drivers/pmd85.cpp b/src/mame/drivers/pmd85.cpp
index c4ee70f3a40..bf274c4e9c7 100644
--- a/src/mame/drivers/pmd85.cpp
+++ b/src/mame/drivers/pmd85.cpp
@@ -220,17 +220,17 @@ uint32_t pmd85_state::screen_update_pmd85(screen_device &screen, bitmap_ind16 &b
/* I/O ports */
-static ADDRESS_MAP_START( pmd85_io_map, AS_IO, 8, pmd85_state )
+ADDRESS_MAP_START(pmd85_state::pmd85_io_map)
AM_RANGE( 0x00, 0xff) AM_READWRITE(pmd85_io_r, pmd85_io_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mato_io_map, AS_IO, 8, pmd85_state )
+ADDRESS_MAP_START(pmd85_state::mato_io_map)
AM_RANGE( 0x00, 0xff) AM_READWRITE(mato_io_r, mato_io_w )
ADDRESS_MAP_END
/* memory w/r functions */
-static ADDRESS_MAP_START( pmd85_mem , AS_PROGRAM, 8, pmd85_state )
+ADDRESS_MAP_START(pmd85_state::pmd85_mem)
AM_RANGE(0x0000, 0x0fff) AM_RAMBANK("bank1")
AM_RANGE(0x1000, 0x1fff) AM_RAMBANK("bank2")
AM_RANGE(0x2000, 0x2fff) AM_RAMBANK("bank3")
@@ -243,7 +243,7 @@ static ADDRESS_MAP_START( pmd85_mem , AS_PROGRAM, 8, pmd85_state )
AM_RANGE(0xc000, 0xffff) AM_RAMBANK("bank8")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pmd852a_mem , AS_PROGRAM, 8, pmd85_state )
+ADDRESS_MAP_START(pmd85_state::pmd852a_mem)
AM_RANGE(0x0000, 0x0fff) AM_RAMBANK("bank1")
AM_RANGE(0x1000, 0x1fff) AM_RAMBANK("bank2")
AM_RANGE(0x2000, 0x2fff) AM_RAMBANK("bank3")
@@ -256,7 +256,7 @@ static ADDRESS_MAP_START( pmd852a_mem , AS_PROGRAM, 8, pmd85_state )
AM_RANGE(0xc000, 0xffff) AM_RAMBANK("bank10")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pmd853_mem , AS_PROGRAM, 8, pmd85_state )
+ADDRESS_MAP_START(pmd85_state::pmd853_mem)
AM_RANGE(0x0000, 0x1fff) AM_READ_BANK("bank1") AM_WRITE_BANK("bank9")
AM_RANGE(0x2000, 0x3fff) AM_READ_BANK("bank2") AM_WRITE_BANK("bank10")
AM_RANGE(0x4000, 0x5fff) AM_READ_BANK("bank3") AM_WRITE_BANK("bank11")
@@ -267,7 +267,7 @@ static ADDRESS_MAP_START( pmd853_mem , AS_PROGRAM, 8, pmd85_state )
AM_RANGE(0xe000, 0xffff) AM_READ_BANK("bank8") AM_WRITE_BANK("bank16")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( alfa_mem , AS_PROGRAM, 8, pmd85_state )
+ADDRESS_MAP_START(pmd85_state::alfa_mem)
AM_RANGE(0x0000, 0x0fff) AM_RAMBANK("bank1")
AM_RANGE(0x1000, 0x33ff) AM_RAMBANK("bank2")
AM_RANGE(0x3400, 0x3fff) AM_RAMBANK("bank3")
@@ -278,14 +278,14 @@ static ADDRESS_MAP_START( alfa_mem , AS_PROGRAM, 8, pmd85_state )
AM_RANGE(0xc000, 0xffff) AM_RAMBANK("bank7")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mato_mem , AS_PROGRAM, 8, pmd85_state )
+ADDRESS_MAP_START(pmd85_state::mato_mem)
AM_RANGE(0x0000, 0x3fff) AM_RAMBANK("bank1")
AM_RANGE(0x4000, 0x7fff) AM_RAMBANK("bank2")
AM_RANGE(0x8000, 0xbfff) AM_READ_BANK("bank3")
AM_RANGE(0xc000, 0xffff) AM_RAMBANK("bank4")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( c2717_mem , AS_PROGRAM, 8, pmd85_state )
+ADDRESS_MAP_START(pmd85_state::c2717_mem)
AM_RANGE(0x0000, 0x3fff) AM_RAMBANK("bank1")
AM_RANGE(0x4000, 0x7fff) AM_RAMBANK("bank2")
AM_RANGE(0x8000, 0xbfff) AM_READ_BANK("bank3")
diff --git a/src/mame/drivers/pmi80.cpp b/src/mame/drivers/pmi80.cpp
index 2c96a843622..5c804ae1597 100644
--- a/src/mame/drivers/pmi80.cpp
+++ b/src/mame/drivers/pmi80.cpp
@@ -50,6 +50,8 @@ public:
DECLARE_WRITE8_MEMBER(keyboard_w);
DECLARE_WRITE8_MEMBER(leds_w);
void pmi80(machine_config &config);
+ void pmi80_io(address_map &map);
+ void pmi80_mem(address_map &map);
private:
uint8_t m_keyrow;
bool m_ledready;
@@ -80,13 +82,13 @@ WRITE8_MEMBER( pmi80_state::leds_w )
}
}
-static ADDRESS_MAP_START(pmi80_mem, AS_PROGRAM, 8, pmi80_state)
+ADDRESS_MAP_START(pmi80_state::pmi80_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x03ff ) AM_ROM
AM_RANGE( 0x0400, 0x1fff ) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(pmi80_io, AS_IO, 8, pmi80_state)
+ADDRESS_MAP_START(pmi80_state::pmi80_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xf8, 0xf8) AM_WRITE(leds_w)
diff --git a/src/mame/drivers/pntnpuzl.cpp b/src/mame/drivers/pntnpuzl.cpp
index 49acfe94394..6f411608741 100644
--- a/src/mame/drivers/pntnpuzl.cpp
+++ b/src/mame/drivers/pntnpuzl.cpp
@@ -173,6 +173,8 @@ public:
DECLARE_DRIVER_INIT(pip);
required_device<via6522_device> m_via;
void pntnpuzl(machine_config &config);
+ void mcu_map(address_map &map);
+ void pntnpuzl_map(address_map &map);
};
@@ -279,7 +281,7 @@ READ16_MEMBER(pntnpuzl_state::irq4_ack_r)
}
-static ADDRESS_MAP_START( pntnpuzl_map, AS_PROGRAM, 16, pntnpuzl_state )
+ADDRESS_MAP_START(pntnpuzl_state::pntnpuzl_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x080001) AM_READ(irq1_ack_r)
AM_RANGE(0x100000, 0x100001) AM_READ(irq2_ack_r)
@@ -299,7 +301,7 @@ static ADDRESS_MAP_START( pntnpuzl_map, AS_PROGRAM, 16, pntnpuzl_state )
AM_RANGE(0x400000, 0x407fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mcu_map, AS_PROGRAM, 8, pntnpuzl_state )
+ADDRESS_MAP_START(pntnpuzl_state::mcu_map)
AM_RANGE(0x2000, 0x3fff) AM_ROM AM_REGION("mcu", 0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pockchal.cpp b/src/mame/drivers/pockchal.cpp
index 2298a7db909..2e6b69cf9b7 100644
--- a/src/mame/drivers/pockchal.cpp
+++ b/src/mame/drivers/pockchal.cpp
@@ -49,6 +49,7 @@ public:
uint32_t m_rom_size;
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(pockchalv1_cart);
void pockchalv1(machine_config &config);
+ void pockchalv1_map(address_map &map);
};
@@ -70,7 +71,7 @@ uint32_t pockchalv1_state::screen_update_pockchalv1(screen_device &screen, bitma
}
-static ADDRESS_MAP_START( pockchalv1_map, AS_PROGRAM, 8, pockchalv1_state )
+ADDRESS_MAP_START(pockchalv1_state::pockchalv1_map)
AM_RANGE(0xc000, 0xffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pocketc.cpp b/src/mame/drivers/pocketc.cpp
index b305a1ba7ee..4de92e7f7c9 100644
--- a/src/mame/drivers/pocketc.cpp
+++ b/src/mame/drivers/pocketc.cpp
@@ -85,42 +85,42 @@
/* special keys
red c-ce and reset; warm boot, program NOT lost*/
-static ADDRESS_MAP_START( pc1401_mem , AS_PROGRAM, 8, pc1401_state )
+ADDRESS_MAP_START(pc1401_state::pc1401_mem)
AM_RANGE( 0x0000, 0x1fff) AM_ROM
AM_RANGE( 0x3800, 0x47ff) AM_RAM
AM_RANGE( 0x6000, 0x67ff) AM_READWRITE(pc1401_lcd_read, pc1401_lcd_write ) AM_MIRROR(0x1000)
AM_RANGE( 0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc1402_mem , AS_PROGRAM, 8, pc1401_state )
+ADDRESS_MAP_START(pc1401_state::pc1402_mem)
AM_RANGE( 0x0000, 0x1fff) AM_ROM
AM_RANGE( 0x2000, 0x47ff) AM_RAM
AM_RANGE( 0x6000, 0x67ff) AM_READWRITE(pc1401_lcd_read, pc1401_lcd_write ) AM_MIRROR(0x1000)
AM_RANGE( 0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc1250_mem , AS_PROGRAM, 8, pc1251_state )
+ADDRESS_MAP_START(pc1251_state::pc1250_mem)
AM_RANGE( 0x0000, 0x1fff) AM_ROM
AM_RANGE( 0x4000, 0x7fff) AM_ROM
AM_RANGE( 0xc000, 0xc7ff) AM_RAM // 2KB RAM
AM_RANGE( 0xf800, 0xf8ff) AM_READWRITE(pc1251_lcd_read, pc1251_lcd_write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc1251_mem , AS_PROGRAM, 8, pc1251_state )
+ADDRESS_MAP_START(pc1251_state::pc1251_mem)
AM_RANGE( 0x0000, 0x1fff) AM_ROM
AM_RANGE( 0x4000, 0x7fff) AM_ROM
AM_RANGE( 0xb800, 0xc7ff) AM_RAM // 4KB RAM
AM_RANGE( 0xf800, 0xf8ff) AM_READWRITE(pc1251_lcd_read, pc1251_lcd_write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc1255_mem , AS_PROGRAM, 8, pc1251_state )
+ADDRESS_MAP_START(pc1251_state::pc1255_mem)
AM_RANGE( 0x0000, 0x1fff) AM_ROM
AM_RANGE( 0x4000, 0x7fff) AM_ROM
AM_RANGE( 0xa000, 0xc7ff) AM_RAM // 10KB RAM
AM_RANGE( 0xf800, 0xf8ff) AM_READWRITE(pc1251_lcd_read, pc1251_lcd_write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc1260_mem , AS_PROGRAM, 8, pc1251_state )
+ADDRESS_MAP_START(pc1251_state::pc1260_mem)
AM_RANGE( 0x0000, 0x1fff) AM_ROM
AM_RANGE( 0x2000, 0x20ff) AM_READWRITE(pc1251_lcd_read, pc1251_lcd_write)
//AM_RANGE( 0x2800, 0x28ff) AM_READWRITE(pc1251_lcd_read, pc1251_lcd_write)
@@ -128,7 +128,7 @@ static ADDRESS_MAP_START( pc1260_mem , AS_PROGRAM, 8, pc1251_state )
AM_RANGE( 0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc1261_mem , AS_PROGRAM, 8, pc1251_state )
+ADDRESS_MAP_START(pc1251_state::pc1261_mem)
AM_RANGE( 0x0000, 0x1fff) AM_ROM
AM_RANGE( 0x2000, 0x20ff) AM_READWRITE(pc1251_lcd_read, pc1251_lcd_write)
//AM_RANGE( 0x2800, 0x28ff) AM_READWRITE(pc1251_lcd_read, pc1251_lcd_write)
@@ -137,13 +137,13 @@ static ADDRESS_MAP_START( pc1261_mem , AS_PROGRAM, 8, pc1251_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc1350_mem , AS_PROGRAM, 8, pc1350_state )
+ADDRESS_MAP_START(pc1350_state::pc1350_mem)
AM_RANGE( 0x0000, 0x1fff) AM_ROM
AM_RANGE( 0x7000, 0x7eff) AM_READWRITE(pc1350_lcd_read, pc1350_lcd_write )
AM_RANGE( 0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc1403_mem , AS_PROGRAM, 8, pc1403_state )
+ADDRESS_MAP_START(pc1403_state::pc1403_mem)
AM_RANGE( 0x0000, 0x1fff) AM_ROM
AM_RANGE( 0x3000, 0x30bf) AM_READWRITE(pc1403_lcd_read, pc1403_lcd_write )
AM_RANGE( 0x3800, 0x3fff) AM_READWRITE(pc1403_asic_read, pc1403_asic_write )
@@ -151,7 +151,7 @@ static ADDRESS_MAP_START( pc1403_mem , AS_PROGRAM, 8, pc1403_state )
AM_RANGE( 0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc1403h_mem , AS_PROGRAM, 8, pc1403_state )
+ADDRESS_MAP_START(pc1403_state::pc1403h_mem)
AM_RANGE( 0x0000, 0x1fff) AM_ROM
AM_RANGE( 0x3000, 0x30bf) AM_READWRITE(pc1403_lcd_read, pc1403_lcd_write )
AM_RANGE( 0x3800, 0x3fff) AM_READWRITE(pc1403_asic_read, pc1403_asic_write )
@@ -161,13 +161,13 @@ ADDRESS_MAP_END
#if 0
-static ADDRESS_MAP_START( pc1421_readmem , AS_PROGRAM, 8, pc1403_state )
+ADDRESS_MAP_START(pc1403_state::pc1421_readmem)
AM_RANGE( 0x0000, 0x1fff) AM_ROM
AM_RANGE( 0x3800, 0x47ff) AM_RAM
AM_RANGE( 0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc1421_writemem , AS_PROGRAM, 8, pc1403_state )
+ADDRESS_MAP_START(pc1403_state::pc1421_writemem)
AM_RANGE( 0x0000, 0x1fff) AM_ROM
AM_RANGE( 0x2000, 0x37ff) AM_RAM
AM_RANGE( 0x3800, 0x47ff) AM_RAM
diff --git a/src/mame/drivers/pockstat.cpp b/src/mame/drivers/pockstat.cpp
index 852adb537ba..a97391e8f5a 100644
--- a/src/mame/drivers/pockstat.cpp
+++ b/src/mame/drivers/pockstat.cpp
@@ -155,6 +155,7 @@ public:
void ps_intc_set_interrupt_line(uint32_t line, int state);
void ps_timer_start(int index);
void pockstat(machine_config &config);
+ void pockstat_mem(address_map &map);
};
@@ -840,7 +841,7 @@ WRITE32_MEMBER(pockstat_state::ps_audio_w)
verboselog(0, "ps_audio_w: Unknown Write: %08x = %08x & %08x\n", 0xd800000 + (offset << 2), data, mem_mask);
}
-static ADDRESS_MAP_START(pockstat_mem, AS_PROGRAM, 32, pockstat_state )
+ADDRESS_MAP_START(pockstat_state::pockstat_mem)
AM_RANGE(0x00000000, 0x000007ff) AM_RAM
AM_RANGE(0x02000000, 0x02ffffff) AM_READ(ps_rombank_r)
AM_RANGE(0x04000000, 0x04003fff) AM_ROM AM_REGION("maincpu", 0)
diff --git a/src/mame/drivers/pofo.cpp b/src/mame/drivers/pofo.cpp
index 373aa71267a..d055832545b 100644
--- a/src/mame/drivers/pofo.cpp
+++ b/src/mame/drivers/pofo.cpp
@@ -160,6 +160,9 @@ public:
DECLARE_READ8_MEMBER(hd61830_rd_r);
IRQ_CALLBACK_MEMBER(portfolio_int_ack);
void portfolio(machine_config &config);
+ void portfolio_io(address_map &map);
+ void portfolio_lcdc(address_map &map);
+ void portfolio_mem(address_map &map);
};
@@ -774,7 +777,7 @@ WRITE8_MEMBER( portfolio_state::io_w )
// ADDRESS_MAP( portfolio_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( portfolio_mem, AS_PROGRAM, 8, portfolio_state )
+ADDRESS_MAP_START(portfolio_state::portfolio_mem)
AM_RANGE(0x00000, 0xfffff) AM_READWRITE(mem_r, mem_w)
ADDRESS_MAP_END
@@ -783,7 +786,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( portfolio_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( portfolio_io, AS_IO, 8, portfolio_state )
+ADDRESS_MAP_START(portfolio_state::portfolio_io)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(io_r, io_w)
ADDRESS_MAP_END
@@ -792,7 +795,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( portfolio_lcdc )
//-------------------------------------------------
-static ADDRESS_MAP_START( portfolio_lcdc, 0, 8, portfolio_state )
+ADDRESS_MAP_START(portfolio_state::portfolio_lcdc)
ADDRESS_MAP_GLOBAL_MASK(0x7ff)
AM_RANGE(0x0000, 0x07ff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/poisk1.cpp b/src/mame/drivers/poisk1.cpp
index 910e3903cf1..54cdaa63325 100644
--- a/src/mame/drivers/poisk1.cpp
+++ b/src/mame/drivers/poisk1.cpp
@@ -137,6 +137,8 @@ public:
DECLARE_READ8_MEMBER(p1_ppi2_portc_r);
const char *m_cputag;
void poisk1(machine_config &config);
+ void poisk1_io(address_map &map);
+ void poisk1_map(address_map &map);
};
/*
@@ -613,12 +615,12 @@ MACHINE_RESET_MEMBER(p1_state, poisk1)
* macros
*/
-static ADDRESS_MAP_START( poisk1_map, AS_PROGRAM, 8, p1_state )
+ADDRESS_MAP_START(p1_state::poisk1_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xfc000, 0xfffff) AM_ROM AM_REGION("bios", 0xc000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( poisk1_io, AS_IO, 8, p1_state )
+ADDRESS_MAP_START(p1_state::poisk1_io)
AM_RANGE(0x0020, 0x0021) AM_DEVREADWRITE("pic8259", pic8259_device, read, write)
AM_RANGE(0x0028, 0x002B) AM_READWRITE(p1_trap_r, p1_trap_w)
AM_RANGE(0x0040, 0x0043) AM_DEVREADWRITE("pit8253", pit8253_device, read, write)
diff --git a/src/mame/drivers/pokechmp.cpp b/src/mame/drivers/pokechmp.cpp
index 5b560c37883..3fb7d83f089 100644
--- a/src/mame/drivers/pokechmp.cpp
+++ b/src/mame/drivers/pokechmp.cpp
@@ -81,7 +81,7 @@ WRITE8_MEMBER(pokechmp_state::pokechmp_sound_w)
-static ADDRESS_MAP_START( pokechmp_map, AS_PROGRAM, 8, pokechmp_state )
+ADDRESS_MAP_START(pokechmp_state::pokechmp_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(pokechmp_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x1000, 0x11ff) AM_RAM AM_SHARE("spriteram")
@@ -105,7 +105,7 @@ ADDRESS_MAP_END
/***************************************************************************/
-static ADDRESS_MAP_START( pokechmp_sound_map, AS_PROGRAM, 8, pokechmp_state )
+ADDRESS_MAP_START(pokechmp_state::pokechmp_sound_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x0800, 0x0801) AM_DEVWRITE("ym1", ym2203_device, write)
AM_RANGE(0x1000, 0x1001) AM_DEVWRITE("ym2", ym3812_device, write)
@@ -119,7 +119,7 @@ static ADDRESS_MAP_START( pokechmp_sound_map, AS_PROGRAM, 8, pokechmp_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pokechmp_oki_map, 0, 8, pokechmp_state )
+ADDRESS_MAP_START(pokechmp_state::pokechmp_oki_map)
AM_RANGE(0x00000, 0x37fff) AM_ROM
AM_RANGE(0x38000, 0x3ffff) AM_ROMBANK("okibank")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pokemini.cpp b/src/mame/drivers/pokemini.cpp
index bea8657d8ee..cdf890942bf 100644
--- a/src/mame/drivers/pokemini.cpp
+++ b/src/mame/drivers/pokemini.cpp
@@ -78,6 +78,7 @@ public:
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(pokemini_cart);
void pokemini(machine_config &config);
+ void pokemini_mem_map(address_map &map);
protected:
enum
{
@@ -122,7 +123,7 @@ READ8_MEMBER( pokemini_state::rom_r )
return m_cart->read_rom(space, offset & 0x1fffff);
}
-static ADDRESS_MAP_START( pokemini_mem_map, AS_PROGRAM, 8, pokemini_state )
+ADDRESS_MAP_START(pokemini_state::pokemini_mem_map)
AM_RANGE( 0x000000, 0x000fff ) AM_ROM /* bios */
AM_RANGE( 0x001000, 0x001fff ) AM_RAM AM_SHARE("p_ram") /* VRAM/RAM */
AM_RANGE( 0x002000, 0x0020ff ) AM_READWRITE(hwreg_r, hwreg_w) /* hardware registers */
diff --git a/src/mame/drivers/poker72.cpp b/src/mame/drivers/poker72.cpp
index 4816ba7ecda..87517f4d888 100644
--- a/src/mame/drivers/poker72.cpp
+++ b/src/mame/drivers/poker72.cpp
@@ -51,6 +51,7 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
void poker72(machine_config &config);
+ void poker72_map(address_map &map);
};
@@ -114,7 +115,7 @@ WRITE8_MEMBER(poker72_state::tile_bank_w)
m_tile_bank = (data & 4) >> 2;
}
-static ADDRESS_MAP_START( poker72_map, AS_PROGRAM, 8, poker72_state )
+ADDRESS_MAP_START(poker72_state::poker72_map)
AM_RANGE(0x0000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xdfff) AM_RAM //work ram
AM_RANGE(0xe000, 0xefff) AM_RAM AM_SHARE("vram")
diff --git a/src/mame/drivers/polepos.cpp b/src/mame/drivers/polepos.cpp
index c12d1fa2b1c..d786a1a6fec 100644
--- a/src/mame/drivers/polepos.cpp
+++ b/src/mame/drivers/polepos.cpp
@@ -422,7 +422,7 @@ MACHINE_RESET_MEMBER(polepos_state,polepos)
* CPU memory structures
*********************************************************************/
-static ADDRESS_MAP_START( z80_map, AS_PROGRAM, 8, polepos_state )
+ADDRESS_MAP_START(polepos_state::z80_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x3000, 0x37ff) AM_MIRROR(0x0800) AM_RAM AM_SHARE("nvram") /* Battery Backup */
AM_RANGE(0x4000, 0x47ff) AM_READWRITE(polepos_sprite_r, polepos_sprite_w) /* Motion Object */
@@ -442,14 +442,14 @@ static ADDRESS_MAP_START( z80_map, AS_PROGRAM, 8, polepos_state )
AM_RANGE(0xa300, 0xa300) AM_MIRROR(0x0cff) AM_DEVWRITE("polepos", polepos_sound_device, polepos_engine_sound_msb_w) /* Car Sound ( Upper Nibble ) */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( z80_io, AS_IO, 8, polepos_state )
+ADDRESS_MAP_START(polepos_state::z80_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(polepos_adc_r) AM_WRITENOP
ADDRESS_MAP_END
/* the same memory map is used by both Z8002 CPUs; all RAM areas are shared */
-static ADDRESS_MAP_START( z8002_map, AS_PROGRAM, 16, polepos_state )
+ADDRESS_MAP_START(polepos_state::z8002_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_READWRITE(polepos_sprite16_r, polepos_sprite16_w) AM_SHARE("sprite16_memory") /* Motion Object */
AM_RANGE(0x9000, 0x97ff) AM_READWRITE(polepos_road16_r, polepos_road16_w) AM_SHARE("road16_memory") /* Road Memory */
@@ -459,12 +459,12 @@ static ADDRESS_MAP_START( z8002_map, AS_PROGRAM, 16, polepos_state )
AM_RANGE(0xc100, 0xc101) AM_MIRROR(0x38fe) AM_WRITE(polepos_road16_vscroll_w) /* Road vertical position */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( z8002_map_1, AS_PROGRAM, 16, polepos_state )
+ADDRESS_MAP_START(polepos_state::z8002_map_1)
AM_IMPORT_FROM(z8002_map)
AM_RANGE(0x6000, 0x6001) AM_MIRROR(0x0ffe) AM_WRITE(polepos_z8002_nvi_enable_w<true>) /* NVI enable - *NOT* shared by the two CPUs */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( z8002_map_2, AS_PROGRAM, 16, polepos_state )
+ADDRESS_MAP_START(polepos_state::z8002_map_2)
AM_IMPORT_FROM(z8002_map)
AM_RANGE(0x6000, 0x6001) AM_MIRROR(0x0ffe) AM_WRITE(polepos_z8002_nvi_enable_w<false>) /* NVI enable - *NOT* shared by the two CPUs */
ADDRESS_MAP_END
@@ -957,7 +957,7 @@ WRITE8_MEMBER(polepos_state::bootleg_soundlatch_w)
m_soundlatch->write(space, 0, data | 0xfc);
}
-static ADDRESS_MAP_START( topracern_io, AS_IO, 8, polepos_state )
+ADDRESS_MAP_START(polepos_state::topracern_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_IMPORT_FROM(z80_io)
// extra direct mapped inputs read
@@ -967,14 +967,14 @@ static ADDRESS_MAP_START( topracern_io, AS_IO, 8, polepos_state )
AM_RANGE(0x05, 0x05) AM_READ_PORT("DSWB") AM_WRITE(bootleg_soundlatch_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_z80_bootleg_map, AS_PROGRAM, 8, polepos_state )
+ADDRESS_MAP_START(polepos_state::sound_z80_bootleg_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2700, 0x27ff) AM_RAM
AM_RANGE(0x4000, 0x4000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0x6000, 0x6000) AM_DEVREAD("soundlatch", generic_latch_8_device, acknowledge_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_z80_bootleg_iomap, AS_IO, 8, polepos_state )
+ADDRESS_MAP_START(polepos_state::sound_z80_bootleg_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("tms", tms5220_device, status_r, data_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/polgar.cpp b/src/mame/drivers/polgar.cpp
index 32b0f33940c..9037a5ffc18 100644
--- a/src/mame/drivers/polgar.cpp
+++ b/src/mame/drivers/polgar.cpp
@@ -37,6 +37,7 @@ public:
void polgar10(machine_config &config);
void polgar(machine_config &config);
+ void polgar_mem(address_map &map);
protected:
optional_ioport m_keys;
};
@@ -59,6 +60,8 @@ public:
DECLARE_READ32_MEMBER(disable_boot_rom_r);
void mrisc(machine_config &config);
+ void mrisc_arm_mem(address_map &map);
+ void mrisc_mem(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -89,6 +92,7 @@ public:
DECLARE_WRITE8_MEMBER(milano_io_w);
void milano(machine_config &config);
+ void milano_mem(address_map &map);
protected:
virtual void machine_reset() override;
virtual void machine_start() override;
@@ -117,6 +121,7 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(nmi_off) { m_maincpu->set_input_line(M6502_NMI_LINE, CLEAR_LINE); }
void modena(machine_config &config);
+ void modena_mem(address_map &map);
protected:
virtual void machine_reset() override;
virtual void machine_start() override;
@@ -145,6 +150,7 @@ public:
DECLARE_READ8_MEMBER(academy_input_r);
void academy(machine_config &config);
+ void academy_mem(address_map &map);
protected:
virtual void machine_reset() override;
@@ -164,7 +170,7 @@ WRITE8_MEMBER(mephisto_polgar_state::polgar_led_w)
output().set_led_value(100 + offset, BIT(data, 7));
}
-static ADDRESS_MAP_START(polgar_mem, AS_PROGRAM, 8, mephisto_polgar_state)
+ADDRESS_MAP_START(mephisto_polgar_state::polgar_mem)
AM_RANGE( 0x0000, 0x1fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x2000, 0x2000 ) AM_DEVWRITE("display", mephisto_display_modul_device, latch_w)
AM_RANGE( 0x2004, 0x2004 ) AM_DEVWRITE("display", mephisto_display_modul_device, io_w)
@@ -230,7 +236,7 @@ TIMER_CALLBACK_MEMBER(mephisto_risc_state::disable_boot_rom)
remove_boot_rom();
}
-static ADDRESS_MAP_START(mrisc_mem, AS_PROGRAM, 8, mephisto_risc_state)
+ADDRESS_MAP_START(mephisto_risc_state::mrisc_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x1fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x2000, 0x2000 ) AM_DEVWRITE("display", mephisto_display_modul_device, latch_w)
@@ -248,7 +254,7 @@ static ADDRESS_MAP_START(mrisc_mem, AS_PROGRAM, 8, mephisto_risc_state)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mrisc_arm_mem, AS_PROGRAM, 32, mephisto_risc_state)
+ADDRESS_MAP_START(mephisto_risc_state::mrisc_arm_mem)
AM_RANGE( 0x00000000, 0x000fffff ) AM_RAM
AM_RANGE( 0x00400000, 0x007fffff ) AM_READWRITE8(latch1_r, latch0_w, 0x000000ff)
AM_RANGE( 0x01800000, 0x01800003 ) AM_READ(disable_boot_rom_r)
@@ -283,7 +289,7 @@ WRITE8_MEMBER(mephisto_milano_state::milano_io_w)
m_display->io_w(space, offset, data & 0x0f);
}
-static ADDRESS_MAP_START(milano_mem, AS_PROGRAM, 8, mephisto_milano_state)
+ADDRESS_MAP_START(mephisto_milano_state::milano_mem)
AM_RANGE( 0x0000, 0x1fbf ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x1fc0, 0x1fc0 ) AM_DEVWRITE("display", mephisto_display_modul_device, latch_w)
@@ -332,7 +338,7 @@ WRITE8_MEMBER(mephisto_modena_state::modena_digits_w)
m_digits_idx = (m_digits_idx + 1) & 3;
}
-static ADDRESS_MAP_START(modena_mem, AS_PROGRAM, 8, mephisto_modena_state)
+ADDRESS_MAP_START(mephisto_modena_state::modena_mem)
AM_RANGE( 0x0000, 0x1fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x4000, 0x4000 ) AM_WRITE(modena_digits_w)
AM_RANGE( 0x5000, 0x5000 ) AM_WRITE(modena_led_w)
@@ -379,7 +385,7 @@ READ8_MEMBER(mephisto_academy_state::academy_input_r)
return data ^ 0xff;
}
-static ADDRESS_MAP_START(academy_mem, AS_PROGRAM, 8, mephisto_academy_state )
+ADDRESS_MAP_START(mephisto_academy_state::academy_mem)
AM_RANGE( 0x0000, 0x1fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x2400, 0x2400 ) AM_READ(academy_input_r)
AM_RANGE( 0x2800, 0x2800 ) AM_DEVWRITE("board", mephisto_board_device, mux_w)
diff --git a/src/mame/drivers/policetr.cpp b/src/mame/drivers/policetr.cpp
index 95f3dec346e..06844094d34 100644
--- a/src/mame/drivers/policetr.cpp
+++ b/src/mame/drivers/policetr.cpp
@@ -241,7 +241,7 @@ WRITE32_MEMBER(policetr_state::speedup_w)
*
*************************************/
-static ADDRESS_MAP_START( policetr_map, AS_PROGRAM, 32, policetr_state )
+ADDRESS_MAP_START(policetr_state::policetr_map)
AM_RANGE(0x00000000, 0x0001ffff) AM_RAM AM_SHARE("rambase")
AM_RANGE(0x00200000, 0x0020000f) AM_WRITE(policetr_video_w)
AM_RANGE(0x00400000, 0x00400003) AM_READ(policetr_video_r)
@@ -260,7 +260,7 @@ static ADDRESS_MAP_START( policetr_map, AS_PROGRAM, 32, policetr_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sshooter_map, AS_PROGRAM, 32, policetr_state )
+ADDRESS_MAP_START(policetr_state::sshooter_map)
AM_RANGE(0x00000000, 0x0001ffff) AM_RAM AM_SHARE("rambase")
AM_RANGE(0x00200000, 0x00200003) AM_WRITE(policetr_bsmt2000_data_w)
AM_RANGE(0x00300000, 0x00300003) AM_WRITE(policetr_palette_offset_w)
diff --git a/src/mame/drivers/poly.cpp b/src/mame/drivers/poly.cpp
index 2849ac3526d..9cd03a712bb 100644
--- a/src/mame/drivers/poly.cpp
+++ b/src/mame/drivers/poly.cpp
@@ -66,6 +66,7 @@ public:
DECLARE_WRITE8_MEMBER(baud_rate_w);
void poly(machine_config &config);
+ void poly_mem(address_map &map);
protected:
virtual void machine_reset() override;
@@ -81,7 +82,7 @@ private:
};
-static ADDRESS_MAP_START(poly_mem, AS_PROGRAM, 8, poly_state)
+ADDRESS_MAP_START(poly_state::poly_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000,0x9fff) AM_RAM
AM_RANGE(0xa000,0xcfff) AM_ROM
diff --git a/src/mame/drivers/poly88.cpp b/src/mame/drivers/poly88.cpp
index d378c0434e5..10fc9853520 100644
--- a/src/mame/drivers/poly88.cpp
+++ b/src/mame/drivers/poly88.cpp
@@ -48,7 +48,7 @@
#include "speaker.h"
-static ADDRESS_MAP_START(poly88_mem, AS_PROGRAM, 8, poly88_state )
+ADDRESS_MAP_START(poly88_state::poly88_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x03ff) AM_ROM // Monitor ROM
AM_RANGE(0x0400, 0x0bff) AM_ROM // ROM Expansion
@@ -59,7 +59,7 @@ static ADDRESS_MAP_START(poly88_mem, AS_PROGRAM, 8, poly88_state )
AM_RANGE(0xf800, 0xfbff) AM_RAM AM_SHARE("video_ram") // Video RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( poly88_io, AS_IO, 8, poly88_state )
+ADDRESS_MAP_START(poly88_state::poly88_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("uart", i8251_device, data_r, data_w)
@@ -69,7 +69,7 @@ static ADDRESS_MAP_START( poly88_io, AS_IO, 8, poly88_state )
AM_RANGE(0xf8, 0xf8) AM_READ(poly88_keyboard_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(poly8813_mem, AS_PROGRAM, 8, poly88_state )
+ADDRESS_MAP_START(poly88_state::poly8813_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x03ff) AM_ROM // Monitor ROM
AM_RANGE(0x0400, 0x0bff) AM_ROM // Disk System ROM
@@ -78,7 +78,7 @@ static ADDRESS_MAP_START(poly8813_mem, AS_PROGRAM, 8, poly88_state )
AM_RANGE(0x2000, 0xffff) AM_RAM // RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( poly8813_io, AS_IO, 8, poly88_state )
+ADDRESS_MAP_START(poly88_state::poly8813_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/poly880.cpp b/src/mame/drivers/poly880.cpp
index ef4ec4692a1..7b5d55788e0 100644
--- a/src/mame/drivers/poly880.cpp
+++ b/src/mame/drivers/poly880.cpp
@@ -63,7 +63,7 @@ WRITE8_MEMBER( poly880_state::cldig_w )
/* Memory Maps */
-static ADDRESS_MAP_START( poly880_mem, AS_PROGRAM, 8, poly880_state )
+ADDRESS_MAP_START(poly880_state::poly880_mem)
AM_RANGE(0x0000, 0x03ff) AM_MIRROR(0x0c00) AM_ROM
AM_RANGE(0x1000, 0x13ff) AM_MIRROR(0x0c00) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_MIRROR(0x0c00) AM_ROM
@@ -72,7 +72,7 @@ static ADDRESS_MAP_START( poly880_mem, AS_PROGRAM, 8, poly880_state )
AM_RANGE(0x8000, 0xffff) AM_RAMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( poly880_io, AS_IO, 8, poly880_state )
+ADDRESS_MAP_START(poly880_state::poly880_io)
ADDRESS_MAP_GLOBAL_MASK(0xaf)
AM_RANGE(0x80, 0x83) AM_DEVREADWRITE(Z80PIO1_TAG, z80pio_device, read_alt, write_alt)
AM_RANGE(0x84, 0x87) AM_DEVREADWRITE(Z80PIO2_TAG, z80pio_device, read_alt, write_alt)
diff --git a/src/mame/drivers/polyplay.cpp b/src/mame/drivers/polyplay.cpp
index 3359d232fea..4c5ca9cc674 100644
--- a/src/mame/drivers/polyplay.cpp
+++ b/src/mame/drivers/polyplay.cpp
@@ -232,7 +232,7 @@ INPUT_CHANGED_MEMBER(polyplay_state::input_changed)
}
/* memory mapping */
-static ADDRESS_MAP_START( polyplay_mem_zre, AS_PROGRAM, 8, polyplay_state )
+ADDRESS_MAP_START(polyplay_state::polyplay_mem_zre)
AM_RANGE(0x0000, 0x0bff) AM_ROM
AM_RANGE(0x0c00, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x8fff) AM_ROM
@@ -241,7 +241,7 @@ static ADDRESS_MAP_START( polyplay_mem_zre, AS_PROGRAM, 8, polyplay_state )
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( polyplay_mem_zrepp, AS_PROGRAM, 8, polyplay_state )
+ADDRESS_MAP_START(polyplay_state::polyplay_mem_zrepp)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
@@ -255,13 +255,13 @@ static ADDRESS_MAP_START( polyplay_mem_zrepp, AS_PROGRAM, 8, polyplay_state )
ADDRESS_MAP_END
/* port mapping */
-static ADDRESS_MAP_START( polyplay_io_zre, AS_IO, 8, polyplay_state )
+ADDRESS_MAP_START(polyplay_state::polyplay_io_zre)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x80, 0x83) AM_DEVREADWRITE(Z80CTC_TAG, z80ctc_device, read, write)
AM_RANGE(0x84, 0x87) AM_DEVREADWRITE(Z80PIO_TAG, z80pio_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( polyplay_io_zrepp, AS_IO, 8, polyplay_state )
+ADDRESS_MAP_START(polyplay_state::polyplay_io_zrepp)
AM_IMPORT_FROM(polyplay_io_zre)
AM_RANGE(0x88, 0x8b) AM_DEVREADWRITE(Z80SIO_TAG, z80sio_device, cd_ba_r, cd_ba_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/poolshrk.cpp b/src/mame/drivers/poolshrk.cpp
index b0c4400f78c..d83a888d04c 100644
--- a/src/mame/drivers/poolshrk.cpp
+++ b/src/mame/drivers/poolshrk.cpp
@@ -101,7 +101,7 @@ READ8_MEMBER(poolshrk_state::irq_reset_r)
}
-static ADDRESS_MAP_START( poolshrk_cpu_map, AS_PROGRAM, 8, poolshrk_state )
+ADDRESS_MAP_START(poolshrk_state::poolshrk_cpu_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x00ff) AM_MIRROR(0x2300) AM_RAM
AM_RANGE(0x0400, 0x07ff) AM_MIRROR(0x2000) AM_WRITEONLY AM_SHARE("playfield_ram")
diff --git a/src/mame/drivers/pooyan.cpp b/src/mame/drivers/pooyan.cpp
index 50c2d28ffca..f4423db46f4 100644
--- a/src/mame/drivers/pooyan.cpp
+++ b/src/mame/drivers/pooyan.cpp
@@ -64,7 +64,7 @@ WRITE_LINE_MEMBER(pooyan_state::coin_counter_2_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, pooyan_state )
+ADDRESS_MAP_START(pooyan_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(colorram_w) AM_SHARE("colorram")
AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
diff --git a/src/mame/drivers/popeye.cpp b/src/mame/drivers/popeye.cpp
index f6ad5d4fa83..2f9c830bf66 100644
--- a/src/mame/drivers/popeye.cpp
+++ b/src/mame/drivers/popeye.cpp
@@ -188,7 +188,7 @@ WRITE8_MEMBER(popeye_state::protection_w)
-static ADDRESS_MAP_START( tnx1_map, AS_PROGRAM, 8, popeye_state )
+ADDRESS_MAP_START(popeye_state::tnx1_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8bff) AM_WRITENOP // Attempts to initialize this area with 00 on boot
@@ -202,7 +202,7 @@ static ADDRESS_MAP_START( tnx1_map, AS_PROGRAM, 8, popeye_state )
AM_RANGE(0xe000, 0xe001) AM_READWRITE(protection_r,protection_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tpp2_map, AS_PROGRAM, 8, popeye_state )
+ADDRESS_MAP_START(popeye_state::tpp2_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM // unpopulated 7f
AM_RANGE(0x8800, 0x8bff) AM_RAM
@@ -216,7 +216,7 @@ static ADDRESS_MAP_START( tpp2_map, AS_PROGRAM, 8, popeye_state )
AM_RANGE(0xe000, 0xe001) AM_READWRITE(protection_r,protection_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( popeyebl_map, AS_PROGRAM, 8, popeye_state )
+ADDRESS_MAP_START(popeye_state::popeyebl_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8c00, 0x8c02) AM_RAM AM_SHARE("background_pos")
@@ -229,7 +229,7 @@ static ADDRESS_MAP_START( popeyebl_map, AS_PROGRAM, 8, popeye_state )
AM_RANGE(0xe000, 0xe01f) AM_ROM AM_REGION("blprot", 0x00)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( popeye_io_map, AS_IO, 8, popeye_state )
+ADDRESS_MAP_START(popeye_state::popeye_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
AM_RANGE(0x00, 0x00) AM_READ_PORT("P1")
diff --git a/src/mame/drivers/popobear.cpp b/src/mame/drivers/popobear.cpp
index ee6cf408f95..2bf5433bb19 100644
--- a/src/mame/drivers/popobear.cpp
+++ b/src/mame/drivers/popobear.cpp
@@ -132,6 +132,7 @@ public:
void postload();
void popobear(machine_config &config);
+ void popobear_mem(address_map &map);
};
@@ -472,7 +473,7 @@ WRITE8_MEMBER(popobear_state::irq_ack_w)
}
}
-static ADDRESS_MAP_START( popobear_mem, AS_PROGRAM, 16, popobear_state )
+ADDRESS_MAP_START(popobear_state::popobear_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x210000, 0x21ffff) AM_RAM
diff --git a/src/mame/drivers/popper.cpp b/src/mame/drivers/popper.cpp
index ed7efb68e79..f1b6be4c994 100644
--- a/src/mame/drivers/popper.cpp
+++ b/src/mame/drivers/popper.cpp
@@ -86,6 +86,8 @@ public:
DECLARE_READ8_MEMBER(inputs_r);
void popper(machine_config &config);
+ void main_map(address_map &map);
+ void sub_map(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -116,7 +118,7 @@ private:
// ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, popper_state )
+ADDRESS_MAP_START(popper_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_NOP
AM_RANGE(0xc000, 0xc0ff) AM_RAM
@@ -138,7 +140,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, popper_state )
AM_RANGE(0xfc00, 0xfc00) AM_MIRROR(0x03ff) AM_READ(watchdog_clear_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 8, popper_state )
+ADDRESS_MAP_START(popper_state::sub_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x7fff) AM_NOP
AM_RANGE(0x8000, 0x8003) AM_MIRROR(0x1ffc) AM_WRITE(ay1_w)
diff --git a/src/mame/drivers/portrait.cpp b/src/mame/drivers/portrait.cpp
index e027b88fc06..84a2fdd155b 100644
--- a/src/mame/drivers/portrait.cpp
+++ b/src/mame/drivers/portrait.cpp
@@ -122,7 +122,7 @@ WRITE8_MEMBER(portrait_state::negative_scroll_w)
m_scroll = - (data ^ 0xff);
}
-static ADDRESS_MAP_START( portrait_map, AS_PROGRAM, 8, portrait_state )
+ADDRESS_MAP_START(portrait_state::portrait_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(bgvideo_write) AM_SHARE("bgvideoram")
AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(fgvideo_write) AM_SHARE("fgvideoram")
@@ -141,7 +141,7 @@ static ADDRESS_MAP_START( portrait_map, AS_PROGRAM, 8, portrait_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( portrait_sound_map, AS_PROGRAM, 8, portrait_state )
+ADDRESS_MAP_START(portrait_state::portrait_sound_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/potgoldu.cpp b/src/mame/drivers/potgoldu.cpp
index 4319e2a6ce2..e66ae83aadb 100644
--- a/src/mame/drivers/potgoldu.cpp
+++ b/src/mame/drivers/potgoldu.cpp
@@ -38,6 +38,7 @@ public:
TMS340X0_SCANLINE_RGB32_CB_MEMBER(scanline_update);
void potgold(machine_config &config);
+ void potgold_map(address_map &map);
};
@@ -63,7 +64,7 @@ void potgold_state::machine_reset()
}
-static ADDRESS_MAP_START( potgold_map, AS_PROGRAM, 16, potgold_state )
+ADDRESS_MAP_START(potgold_state::potgold_map)
AM_RANGE(0xff000000, 0xffffffff) AM_ROM AM_REGION("user1", 0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/powerbal.cpp b/src/mame/drivers/powerbal.cpp
index 2a29a2f27c7..e285030c566 100644
--- a/src/mame/drivers/powerbal.cpp
+++ b/src/mame/drivers/powerbal.cpp
@@ -53,6 +53,9 @@ public:
DECLARE_WRITE16_MEMBER(oki_banking);
void magicstk(machine_config &config);
void powerbal(machine_config &config);
+ void magicstk_main_map(address_map &map);
+ void oki_map(address_map &map);
+ void powerbal_main_map(address_map &map);
};
@@ -89,7 +92,7 @@ WRITE16_MEMBER(powerbal_state::oki_banking)
m_okibank->set_entry(bank & (m_oki_numbanks - 1));
}
-static ADDRESS_MAP_START( magicstk_main_map, AS_PROGRAM, 16, powerbal_state )
+ADDRESS_MAP_START(powerbal_state::magicstk_main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x088000, 0x0883ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x094000, 0x094001) AM_WRITENOP
@@ -108,7 +111,7 @@ static ADDRESS_MAP_START( magicstk_main_map, AS_PROGRAM, 16, powerbal_state )
AM_RANGE(0x100000, 0x100fff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( powerbal_main_map, AS_PROGRAM, 16, powerbal_state )
+ADDRESS_MAP_START(powerbal_state::powerbal_main_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x088000, 0x0883ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x094000, 0x094001) AM_WRITENOP
@@ -130,7 +133,7 @@ static ADDRESS_MAP_START( powerbal_main_map, AS_PROGRAM, 16, powerbal_state )
AM_RANGE(0x103000, 0x103fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( oki_map, 0, 8, powerbal_state )
+ADDRESS_MAP_START(powerbal_state::oki_map)
AM_RANGE(0x00000, 0x1ffff) AM_ROM
AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK("okibank")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/powerins.cpp b/src/mame/drivers/powerins.cpp
index c2708252910..01f90743ca9 100644
--- a/src/mame/drivers/powerins.cpp
+++ b/src/mame/drivers/powerins.cpp
@@ -59,7 +59,7 @@ READ8_MEMBER(powerins_state::powerinsb_fake_ym2203_r)
}
-static ADDRESS_MAP_START( powerins_map, AS_PROGRAM, 16, powerins_state )
+ADDRESS_MAP_START(powerins_state::powerins_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_READ_PORT("SYSTEM")
AM_RANGE(0x100002, 0x100003) AM_READ_PORT("P1_P2")
@@ -78,13 +78,13 @@ static ADDRESS_MAP_START( powerins_map, AS_PROGRAM, 16, powerins_state )
ADDRESS_MAP_END
/* powerinsa: same as the original one but without the sound cpu (and inferior sound HW) */
-static ADDRESS_MAP_START( powerinsa_map, AS_PROGRAM, 16, powerins_state )
+ADDRESS_MAP_START(powerins_state::powerinsa_map)
AM_IMPORT_FROM(powerins_map)
AM_RANGE(0x100030, 0x100031) AM_WRITE8(powerinsa_okibank_w, 0x00ff)
AM_RANGE(0x10003e, 0x10003f) AM_DEVREADWRITE8("oki1", okim6295_device, read, write, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( powerins_sound_map, AS_PROGRAM, 8, powerins_state )
+ADDRESS_MAP_START(powerins_state::powerins_sound_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -92,7 +92,7 @@ static ADDRESS_MAP_START( powerins_sound_map, AS_PROGRAM, 8, powerins_state )
// AM_RANGE(0xe001, 0xe001) AM_WRITENOP // ?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( powerins_sound_io_map, AS_IO, 8, powerins_state )
+ADDRESS_MAP_START(powerins_state::powerins_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ym2203", ym2203_device, read, write)
AM_RANGE(0x80, 0x80) AM_DEVREADWRITE("oki1", okim6295_device, read, write)
@@ -100,7 +100,7 @@ static ADDRESS_MAP_START( powerins_sound_io_map, AS_IO, 8, powerins_state )
AM_RANGE(0x90, 0x97) AM_DEVWRITE("nmk112", nmk112_device, okibank_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( powerinsb_sound_io_map, AS_IO, 8, powerins_state )
+ADDRESS_MAP_START(powerins_state::powerinsb_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(powerinsb_fake_ym2203_r) AM_WRITENOP
AM_RANGE(0x01, 0x01) AM_NOP
@@ -109,7 +109,7 @@ static ADDRESS_MAP_START( powerinsb_sound_io_map, AS_IO, 8, powerins_state )
AM_RANGE(0x90, 0x97) AM_DEVWRITE("nmk112", nmk112_device, okibank_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( powerinsa_oki_map, 0, 8, powerins_state )
+ADDRESS_MAP_START(powerins_state::powerinsa_oki_map)
AM_RANGE(0x00000, 0x2ffff) AM_ROM
AM_RANGE(0x30000, 0x3ffff) AM_ROMBANK("okibank")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pp01.cpp b/src/mame/drivers/pp01.cpp
index 5f6f54ce880..56980b44c08 100644
--- a/src/mame/drivers/pp01.cpp
+++ b/src/mame/drivers/pp01.cpp
@@ -16,7 +16,7 @@
/* Address maps */
-static ADDRESS_MAP_START(pp01_mem, AS_PROGRAM, 8, pp01_state )
+ADDRESS_MAP_START(pp01_state::pp01_mem)
AM_RANGE(0x0000, 0x0fff) AM_RAMBANK("bank1")
AM_RANGE(0x1000, 0x1fff) AM_RAMBANK("bank2")
AM_RANGE(0x2000, 0x2fff) AM_RAMBANK("bank3")
@@ -35,7 +35,7 @@ static ADDRESS_MAP_START(pp01_mem, AS_PROGRAM, 8, pp01_state )
AM_RANGE(0xf000, 0xffff) AM_RAMBANK("bank16")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pp01_io, AS_IO, 8, pp01_state )
+ADDRESS_MAP_START(pp01_state::pp01_io)
AM_RANGE(0xc0, 0xc3) AM_DEVREADWRITE("ppi8255", i8255_device, read, write) // system
//AM_RANGE(0xc4, 0xc7) AM_DEVREADWRITE("ppi8255", i8255_device, read, write) // user
AM_RANGE(0xc8, 0xc8) AM_MIRROR(2) AM_DEVREADWRITE("uart", i8251_device, data_r, data_w)
diff --git a/src/mame/drivers/ppmast93.cpp b/src/mame/drivers/ppmast93.cpp
index 77f32e8edd5..2bf18d06dca 100644
--- a/src/mame/drivers/ppmast93.cpp
+++ b/src/mame/drivers/ppmast93.cpp
@@ -172,6 +172,10 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void ppmast93(machine_config &config);
+ void ppmast93_cpu1_io(address_map &map);
+ void ppmast93_cpu1_map(address_map &map);
+ void ppmast93_cpu2_io(address_map &map);
+ void ppmast93_cpu2_map(address_map &map);
};
@@ -200,7 +204,7 @@ WRITE8_MEMBER(ppmast93_state::port4_w)
membank("cpubank")->set_entry(data & 0x07);
}
-static ADDRESS_MAP_START( ppmast93_cpu1_map, AS_PROGRAM, 8, ppmast93_state )
+ADDRESS_MAP_START(ppmast93_state::ppmast93_cpu1_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_WRITENOP
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("cpubank")
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(bgram_w) AM_SHARE("bgram")
@@ -209,7 +213,7 @@ static ADDRESS_MAP_START( ppmast93_cpu1_map, AS_PROGRAM, 8, ppmast93_state )
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ppmast93_cpu1_io, AS_IO, 8, ppmast93_state )
+ADDRESS_MAP_START(ppmast93_state::ppmast93_cpu1_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("P1") AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
AM_RANGE(0x02, 0x02) AM_READ_PORT("P2")
@@ -218,13 +222,13 @@ static ADDRESS_MAP_START( ppmast93_cpu1_io, AS_IO, 8, ppmast93_state )
AM_RANGE(0x08, 0x08) AM_READ_PORT("DSW2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ppmast93_cpu2_map, AS_PROGRAM, 8, ppmast93_state )
+ADDRESS_MAP_START(ppmast93_state::ppmast93_cpu2_map)
AM_RANGE(0x0000, 0xfbff) AM_ROM AM_REGION("sub", 0x10000)
AM_RANGE(0xfc00, 0xfc00) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0xfd00, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ppmast93_cpu2_io, AS_IO, 8, ppmast93_state )
+ADDRESS_MAP_START(ppmast93_state::ppmast93_cpu2_io)
AM_RANGE(0x0000, 0xffff) AM_ROM AM_REGION("sub", 0x20000)
AM_RANGE(0x0000, 0x0001) AM_MIRROR(0xff00) AM_DEVWRITE("ymsnd", ym2413_device, write)
AM_RANGE(0x0002, 0x0002) AM_MIRROR(0xff00) AM_DEVWRITE("dac", dac_byte_interface, write)
diff --git a/src/mame/drivers/prehisle.cpp b/src/mame/drivers/prehisle.cpp
index 8f658e9a0b8..693cead7ccc 100644
--- a/src/mame/drivers/prehisle.cpp
+++ b/src/mame/drivers/prehisle.cpp
@@ -30,7 +30,7 @@ WRITE16_MEMBER(prehisle_state::soundcmd_w)
/*******************************************************************************/
-static ADDRESS_MAP_START( prehisle_map, AS_PROGRAM, 16, prehisle_state )
+ADDRESS_MAP_START(prehisle_state::prehisle_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x070000, 0x073fff) AM_RAM
AM_RANGE(0x090000, 0x0907ff) AM_RAM_WRITE(tx_vram_w) AM_SHARE("tx_vram")
@@ -56,14 +56,14 @@ WRITE8_MEMBER(prehisle_state::D7759_upd_reset_w)
m_upd7759->reset_w(data & 0x80);
}
-static ADDRESS_MAP_START( prehisle_sound_map, AS_PROGRAM, 8, prehisle_state )
+ADDRESS_MAP_START(prehisle_state::prehisle_sound_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xf800) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0xf800, 0xf800) AM_WRITENOP // ???
ADDRESS_MAP_END
-static ADDRESS_MAP_START( prehisle_sound_io_map, AS_IO, 8, prehisle_state )
+ADDRESS_MAP_START(prehisle_state::prehisle_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("ymsnd", ym3812_device, status_port_r, control_port_w)
AM_RANGE(0x20, 0x20) AM_DEVWRITE("ymsnd", ym3812_device, write_port_w)
diff --git a/src/mame/drivers/prestige.cpp b/src/mame/drivers/prestige.cpp
index ee5d900f2b0..cb2b71e4579 100644
--- a/src/mame/drivers/prestige.cpp
+++ b/src/mame/drivers/prestige.cpp
@@ -162,6 +162,9 @@ public:
void glcolor(machine_config &config);
void prestige(machine_config &config);
void gl7007sl(machine_config &config);
+ void glcolor_io(address_map &map);
+ void prestige_io(address_map &map);
+ void prestige_mem(address_map &map);
};
@@ -320,7 +323,7 @@ WRITE8_MEMBER( prestige_state::lcdc_w )
}
-static ADDRESS_MAP_START(prestige_mem, AS_PROGRAM, 8, prestige_state)
+ADDRESS_MAP_START(prestige_state::prestige_mem)
AM_RANGE(0x0000, 0x3fff) AM_ROMBANK("bank1")
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank2")
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank3")
@@ -328,7 +331,7 @@ static ADDRESS_MAP_START(prestige_mem, AS_PROGRAM, 8, prestige_state)
AM_RANGE(0xe000, 0xffff) AM_RAMBANK("bank5")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( prestige_io , AS_IO, 8, prestige_state)
+ADDRESS_MAP_START(prestige_state::prestige_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x04, 0x05) AM_READWRITE(mouse_r, mouse_w)
@@ -338,7 +341,7 @@ static ADDRESS_MAP_START( prestige_io , AS_IO, 8, prestige_state)
AM_RANGE(0x50, 0x56) AM_READWRITE(bankswitch_r, bankswitch_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( glcolor_io , AS_IO, 8, prestige_state)
+ADDRESS_MAP_START(prestige_state::glcolor_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x30, 0x3f) AM_WRITE(lcdc_w)
diff --git a/src/mame/drivers/primo.cpp b/src/mame/drivers/primo.cpp
index 7bfd2747ddb..55551c0ec35 100644
--- a/src/mame/drivers/primo.cpp
+++ b/src/mame/drivers/primo.cpp
@@ -117,31 +117,31 @@ Interrupts:
#include "formats/primoptp.h"
-static ADDRESS_MAP_START( primoa_port, AS_IO, 8, primo_state )
+ADDRESS_MAP_START(primo_state::primoa_port)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x00, 0x3f ) AM_READWRITE(primo_be_1_r, primo_ki_1_w )
AM_RANGE( 0xfd, 0xfd ) AM_WRITE(primo_FD_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( primob_port, AS_IO, 8, primo_state )
+ADDRESS_MAP_START(primo_state::primob_port)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x00, 0x3f ) AM_READWRITE(primo_be_1_r, primo_ki_1_w )
AM_RANGE( 0x40, 0x7f ) AM_READWRITE(primo_be_2_r, primo_ki_2_w )
AM_RANGE( 0xfd, 0xfd ) AM_WRITE(primo_FD_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( primo32_mem, AS_PROGRAM, 8, primo_state )
+ADDRESS_MAP_START(primo_state::primo32_mem)
AM_RANGE( 0x0000, 0x3fff ) AM_RAMBANK("bank1")
AM_RANGE( 0x4000, 0x7fff ) AM_RAM AM_MIRROR ( 0x8000 )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( primo48_mem, AS_PROGRAM, 8, primo_state )
+ADDRESS_MAP_START(primo_state::primo48_mem)
AM_RANGE( 0x0000, 0x3fff ) AM_RAMBANK("bank1")
AM_RANGE( 0x4000, 0x7fff ) AM_RAM
AM_RANGE( 0x8000, 0xbfff ) AM_RAM AM_MIRROR ( 0x4000 )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( primo64_mem, AS_PROGRAM, 8, primo_state )
+ADDRESS_MAP_START(primo_state::primo64_mem)
AM_RANGE( 0x0000, 0x3fff ) AM_RAMBANK("bank1")
AM_RANGE( 0x4000, 0xffff ) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pro80.cpp b/src/mame/drivers/pro80.cpp
index d2ca812c57f..519d095aaa4 100644
--- a/src/mame/drivers/pro80.cpp
+++ b/src/mame/drivers/pro80.cpp
@@ -46,6 +46,8 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(timer_p);
void pro80(machine_config &config);
+ void pro80_io(address_map &map);
+ void pro80_mem(address_map &map);
private:
uint8_t m_digit_sel;
uint8_t m_cass_in;
@@ -110,14 +112,14 @@ READ8_MEMBER( pro80_state::kp_r )
return data | m_cass_in | 0xc0;
}
-static ADDRESS_MAP_START( pro80_mem, AS_PROGRAM, 8, pro80_state )
+ADDRESS_MAP_START(pro80_state::pro80_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x03ff) AM_ROM
AM_RANGE(0x1000, 0x13ff) AM_RAM
AM_RANGE(0x1400, 0x17ff) AM_RAM // 2nd RAM is optional
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pro80_io, AS_IO, 8, pro80_state )
+ADDRESS_MAP_START(pro80_state::pro80_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x40, 0x43) AM_DEVREADWRITE("pio", z80pio_device, read, write)
diff --git a/src/mame/drivers/proconn.cpp b/src/mame/drivers/proconn.cpp
index a4e5bdbd582..60ee5f0d952 100644
--- a/src/mame/drivers/proconn.cpp
+++ b/src/mame/drivers/proconn.cpp
@@ -180,6 +180,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(pio_5_m_out_brdy_w) { logerror("pio_5_m_out_brdy_w %02x\n", state); }
void proconn(machine_config &config);
+ void proconn_map(address_map &map);
+ void proconn_portmap(address_map &map);
protected:
// devices
@@ -204,7 +206,7 @@ public:
DECLARE_READ16_MEMBER(serial_receive);
};
-static ADDRESS_MAP_START( proconn_map, AS_PROGRAM, 8, proconn_state )
+ADDRESS_MAP_START(proconn_state::proconn_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
@@ -214,7 +216,7 @@ ADDRESS_MAP_END
// the mapping of the devices is rather ugly with address bits 8-9 providing the usual address bits 0-1 or 'offset'
// r0/r1/r2/r3 and w0/w1/w2/w3 might still be in the wrong order at the moment.
-static ADDRESS_MAP_START( proconn_portmap, AS_IO, 8, proconn_state )
+ADDRESS_MAP_START(proconn_state::proconn_portmap)
// ADDRESS_MAP_GLOBAL_MASK(0x3ff)
// sio (vfd should be connected to it?)
diff --git a/src/mame/drivers/prodigy.cpp b/src/mame/drivers/prodigy.cpp
index c134c40cc29..9db8d3b1b65 100644
--- a/src/mame/drivers/prodigy.cpp
+++ b/src/mame/drivers/prodigy.cpp
@@ -165,6 +165,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(irq_handler);
void prodigy(machine_config &config);
+ void maincpu_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<ttl74145_device> m_74145;
@@ -564,7 +565,7 @@ void prodigy_state::update_bcd()
}
}
-static ADDRESS_MAP_START( maincpu_map, AS_PROGRAM, 8, prodigy_state )
+ADDRESS_MAP_START(prodigy_state::maincpu_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x2000, 0x200f) AM_DEVREADWRITE("via", via6522_device, read, write)
AM_RANGE(0x6000, 0x7fff) AM_ROM AM_REGION("roms", 0x0000) AM_MIRROR(0x8000)
diff --git a/src/mame/drivers/prof180x.cpp b/src/mame/drivers/prof180x.cpp
index f15a3bbb676..1ab28499beb 100644
--- a/src/mame/drivers/prof180x.cpp
+++ b/src/mame/drivers/prof180x.cpp
@@ -186,11 +186,11 @@ READ8_MEMBER( prof180x_state::status_r )
/* Address Maps */
-static ADDRESS_MAP_START( prof180x_mem, AS_PROGRAM, 8, prof180x_state )
+ADDRESS_MAP_START(prof180x_state::prof180x_mem)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( prof180x_io , AS_IO, 8, prof180x_state )
+ADDRESS_MAP_START(prof180x_state::prof180x_io)
AM_RANGE(0x08, 0x08) AM_MIRROR(0xff00) AM_WRITE(flr_w)
AM_RANGE(0x09, 0x09) AM_SELECT(0xff00) AM_READ(status_r)
AM_RANGE(0x0a, 0x0a) AM_MIRROR(0xff00) AM_DEVREADWRITE(FDC9268_TAG, upd765a_device, mdma_r, mdma_w)
diff --git a/src/mame/drivers/prof80.cpp b/src/mame/drivers/prof80.cpp
index 175b0dd4cdb..4c1e8c6ec0f 100644
--- a/src/mame/drivers/prof80.cpp
+++ b/src/mame/drivers/prof80.cpp
@@ -271,7 +271,7 @@ WRITE8_MEMBER( prof80_state::unio_ctrl_w )
// ADDRESS_MAP( prof80_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( prof80_mem, AS_PROGRAM, 8, prof80_state )
+ADDRESS_MAP_START(prof80_state::prof80_mem)
AM_RANGE(0x0000, 0xffff) AM_DEVICE(MMU_TAG, prof80_mmu_device, z80_program_map)
ADDRESS_MAP_END
@@ -280,7 +280,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( prof80_mmu )
//-------------------------------------------------
-static ADDRESS_MAP_START( prof80_mmu, AS_PROGRAM, 8, prof80_state )
+ADDRESS_MAP_START(prof80_state::prof80_mmu)
AM_RANGE(0x40000, 0x5ffff) AM_RAM
AM_RANGE(0xc0000, 0xdffff) AM_RAM
AM_RANGE(0xf0000, 0xf1fff) AM_MIRROR(0xe000) AM_ROM AM_REGION(Z80_TAG, 0)
@@ -291,7 +291,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( prof80_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( prof80_io, AS_IO, 8, prof80_state )
+ADDRESS_MAP_START(prof80_state::prof80_io)
AM_RANGE(0x00, 0xd7) AM_MIRROR(0xff00) AM_DEVREADWRITE(ECBBUS_TAG, ecbbus_device, io_r, io_w)
// AM_RANGE(0x80, 0x8f) AM_MIRROR(0xff00) AM_DEVREADWRITE(UNIO_Z80STI_TAG, z80sti_device, read, write)
// AM_RANGE(0x94, 0x95) AM_MIRROR(0xff00) AM_DEVREADWRITE_LEGACY(UNIO_Z80SIO_TAG, z80sio_d_r, z80sio_d_w)
diff --git a/src/mame/drivers/progolf.cpp b/src/mame/drivers/progolf.cpp
index f5e48dded71..9d83d7a33ed 100644
--- a/src/mame/drivers/progolf.cpp
+++ b/src/mame/drivers/progolf.cpp
@@ -107,6 +107,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void progolfa(machine_config &config);
void progolf(machine_config &config);
+ void main_cpu(address_map &map);
+ void sound_cpu(address_map &map);
};
@@ -259,7 +261,7 @@ WRITE8_MEMBER(progolf_state::videoram_w)
m_videoram[offset] = data;
}
-static ADDRESS_MAP_START( main_cpu, AS_PROGRAM, 8, progolf_state )
+ADDRESS_MAP_START(progolf_state::main_cpu)
AM_RANGE(0x0000, 0x5fff) AM_RAM
AM_RANGE(0x6000, 0x7fff) AM_RAM_WRITE(charram_w) AM_SHARE("fbram")
AM_RANGE(0x8000, 0x8fff) AM_READWRITE(videoram_r, videoram_w) AM_SHARE("videoram")
@@ -275,7 +277,7 @@ static ADDRESS_MAP_START( main_cpu, AS_PROGRAM, 8, progolf_state )
AM_RANGE(0xb000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_cpu, AS_PROGRAM, 8, progolf_state )
+ADDRESS_MAP_START(progolf_state::sound_cpu)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x4000, 0x4fff) AM_DEVREADWRITE("ay1", ay8910_device, data_r, data_w)
AM_RANGE(0x5000, 0x5fff) AM_DEVWRITE("ay1", ay8910_device, address_w)
diff --git a/src/mame/drivers/prophet600.cpp b/src/mame/drivers/prophet600.cpp
index 7b54cfec28e..3edba6498ed 100644
--- a/src/mame/drivers/prophet600.cpp
+++ b/src/mame/drivers/prophet600.cpp
@@ -106,6 +106,8 @@ public:
DECLARE_WRITE8_MEMBER(gate_w);
void prophet600(machine_config &config);
+ void cpu_map(address_map &map);
+ void io_map(address_map &map);
private:
uint16_t m_dac;
uint8_t m_scanrow;
@@ -237,7 +239,7 @@ READ8_MEMBER(prophet600_state::comparitor_r)
return m_comparitor;
}
-static ADDRESS_MAP_START( cpu_map, AS_PROGRAM, 8, prophet600_state )
+ADDRESS_MAP_START(prophet600_state::cpu_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM AM_REGION(MAINCPU_TAG, 0)
AM_RANGE(0x2000, 0x27ff) AM_RAM
AM_RANGE(0x3000, 0x37ff) AM_RAM
@@ -246,7 +248,7 @@ static ADDRESS_MAP_START( cpu_map, AS_PROGRAM, 8, prophet600_state )
AM_RANGE(0xe000, 0xe001) AM_DEVREAD(UART_TAG, acia6850_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, prophet600_state )
+ADDRESS_MAP_START(prophet600_state::io_map)
AM_RANGE(0x00, 0x07) AM_MIRROR(0xff00) AM_DEVREADWRITE(PIT_TAG, pit8253_device, read, write)
AM_RANGE(0x08, 0x08) AM_MIRROR(0xff00) AM_WRITE(scanrow_w)
AM_RANGE(0x09, 0x09) AM_MIRROR(0xff00) AM_READWRITE(comparitor_r, led_w)
diff --git a/src/mame/drivers/proteus3.cpp b/src/mame/drivers/proteus3.cpp
index 742572327f8..c8e937a20b3 100644
--- a/src/mame/drivers/proteus3.cpp
+++ b/src/mame/drivers/proteus3.cpp
@@ -106,6 +106,7 @@ public:
DECLARE_WRITE_LINE_MEMBER (write_f15_clock){ write_acia_clocks(mc14411_device::TIMER_F15, state); }
void proteus3(machine_config &config);
+ void proteus3_mem(address_map &map);
private:
uint8_t m_video_data;
uint8_t m_flashcnt;
@@ -135,7 +136,7 @@ private:
Address Maps
******************************************************************************/
-static ADDRESS_MAP_START(proteus3_mem, AS_PROGRAM, 8, proteus3_state)
+ADDRESS_MAP_START(proteus3_state::proteus3_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_RAM
AM_RANGE(0x8004, 0x8007) AM_DEVREADWRITE("pia", pia6821_device, read, write)
diff --git a/src/mame/drivers/ps2.cpp b/src/mame/drivers/ps2.cpp
index 2d54930bb8a..94741a87f4a 100644
--- a/src/mame/drivers/ps2.cpp
+++ b/src/mame/drivers/ps2.cpp
@@ -26,6 +26,10 @@ public:
void ps2m30286(machine_config &config);
void ps2386(machine_config &config);
void at_softlists(machine_config &config);
+ void ps2_16_io(address_map &map);
+ void ps2_16_map(address_map &map);
+ void ps2_32_io(address_map &map);
+ void ps2_32_map(address_map &map);
protected:
void machine_start() override;
};
@@ -37,26 +41,26 @@ MACHINE_CONFIG_START(ps2_state::at_softlists)
MCFG_SOFTWARE_LIST_ADD("at_cdrom_list","ibm5170_cdrom")
MACHINE_CONFIG_END
-static ADDRESS_MAP_START( ps2_16_map, AS_PROGRAM, 16, ps2_state )
+ADDRESS_MAP_START(ps2_state::ps2_16_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x09ffff) AM_RAMBANK("bank10")
AM_RANGE(0x0e0000, 0x0fffff) AM_ROM AM_REGION("bios", 0)
AM_RANGE(0xfe0000, 0xffffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ps2_32_map, AS_PROGRAM, 32, ps2_state )
+ADDRESS_MAP_START(ps2_state::ps2_32_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000000, 0x0009ffff) AM_RAMBANK("bank10")
AM_RANGE(0x000e0000, 0x000fffff) AM_ROM AM_REGION("bios", 0)
AM_RANGE(0xfffe0000, 0xffffffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(ps2_16_io, AS_IO, 16, ps2_state )
+ADDRESS_MAP_START(ps2_state::ps2_16_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x00ff) AM_DEVICE("mb", at_mb_device, map)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ps2_32_io, AS_IO, 32, ps2_state )
+ADDRESS_MAP_START(ps2_state::ps2_32_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x00ff) AM_DEVICE16("mb", at_mb_device, map, 0xffffffff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ps2sony.cpp b/src/mame/drivers/ps2sony.cpp
index 84ce178c0db..f2846731296 100644
--- a/src/mame/drivers/ps2sony.cpp
+++ b/src/mame/drivers/ps2sony.cpp
@@ -172,6 +172,7 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void ps2sony(machine_config &config);
+ void mem_map(address_map &map);
private:
virtual void video_start() override;
required_device<cpu_device> m_maincpu;
@@ -187,7 +188,7 @@ uint32_t ps2sony_state::screen_update(screen_device &screen, bitmap_rgb32 &bitma
return 0;
}
-static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 32, ps2sony_state)
+ADDRESS_MAP_START(ps2sony_state::mem_map)
AM_RANGE(0x00000000, 0x01ffffff) AM_RAM // 32 MB RAM
AM_RANGE(0x1fc00000, 0x1fdfffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/psikyo.cpp b/src/mame/drivers/psikyo.cpp
index bf35034b813..d7f5f61ac69 100644
--- a/src/mame/drivers/psikyo.cpp
+++ b/src/mame/drivers/psikyo.cpp
@@ -229,7 +229,7 @@ READ32_MEMBER(psikyo_state::s1945_mcu_r)
***************************************************************************/
-static ADDRESS_MAP_START( psikyo_map, AS_PROGRAM, 32, psikyo_state )
+ADDRESS_MAP_START(psikyo_state::psikyo_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM (not all used)
AM_RANGE(0x400000, 0x401fff) AM_RAM AM_SHARE("spriteram") // Sprites, buffered by two frames (list buffered + fb buffered)
AM_RANGE(0x600000, 0x601fff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette") // Palette
@@ -270,12 +270,12 @@ WRITE32_MEMBER(psikyo_state::s1945bl_oki_w)
printf("ACCESSING_BITS_0_7 ?? %08x %08x\n", data & 0x000000ff, mem_mask);
}
-static ADDRESS_MAP_START( s1945bl_oki_map, 0, 8, psikyo_state )
+ADDRESS_MAP_START(psikyo_state::s1945bl_oki_map)
AM_RANGE(0x00000, 0x2ffff) AM_ROM
AM_RANGE(0x30000, 0x3ffff) AM_ROMBANK("okibank")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( psikyo_bootleg_map, AS_PROGRAM, 32, psikyo_state )
+ADDRESS_MAP_START(psikyo_state::psikyo_bootleg_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM (not all used)
AM_RANGE(0x200000, 0x200fff) AM_RAM AM_SHARE("boot_spritebuf") // RAM (it copies the spritelist here, the HW probably doesn't have automatic buffering like the originals?
@@ -308,7 +308,7 @@ READ32_MEMBER(psikyo_state::sngkace_input_r)
}
}
-static ADDRESS_MAP_START( sngkace_map, AS_PROGRAM, 32, psikyo_state )
+ADDRESS_MAP_START(psikyo_state::sngkace_map)
AM_IMPORT_FROM(psikyo_map)
AM_RANGE(0xc00000, 0xc0000b) AM_READ(sngkace_input_r)
AM_RANGE(0xc00010, 0xc00013) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x000000ff)
@@ -319,13 +319,13 @@ WRITE8_MEMBER(psikyo_state::sngkace_sound_bankswitch_w)
membank("bank1")->set_entry(data & 0x03);
}
-static ADDRESS_MAP_START( sngkace_sound_map, AS_PROGRAM, 8, psikyo_state )
+ADDRESS_MAP_START(psikyo_state::sngkace_sound_map)
AM_RANGE(0x0000, 0x77ff) AM_ROM // ROM
AM_RANGE(0x7800, 0x7fff) AM_RAM // RAM
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1") // Banked ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sngkace_sound_io_map, AS_IO, 8, psikyo_state )
+ADDRESS_MAP_START(psikyo_state::sngkace_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ymsnd", ym2610_device, read, write)
AM_RANGE(0x04, 0x04) AM_WRITE(sngkace_sound_bankswitch_w)
@@ -349,13 +349,13 @@ READ32_MEMBER(psikyo_state::gunbird_input_r)
}
}
-static ADDRESS_MAP_START( gunbird_map, AS_PROGRAM, 32, psikyo_state )
+ADDRESS_MAP_START(psikyo_state::gunbird_map)
AM_IMPORT_FROM(psikyo_map)
AM_RANGE(0xc00000, 0xc0000b) AM_READ(gunbird_input_r)
AM_RANGE(0xc00010, 0xc00013) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x000000ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( s1945jn_map, AS_PROGRAM, 32, psikyo_state )
+ADDRESS_MAP_START(psikyo_state::s1945jn_map)
AM_IMPORT_FROM(psikyo_map)
AM_RANGE(0xc00000, 0xc0000b) AM_READ(gunbird_input_r)
AM_RANGE(0xc00010, 0xc00013) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff0000)
@@ -366,13 +366,13 @@ WRITE8_MEMBER(psikyo_state::gunbird_sound_bankswitch_w)
membank("bank1")->set_entry((data >> 4) & 0x03);
}
-static ADDRESS_MAP_START( gunbird_sound_map, AS_PROGRAM, 8, psikyo_state )
+ADDRESS_MAP_START(psikyo_state::gunbird_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM // ROM
AM_RANGE(0x8000, 0x81ff) AM_RAM // RAM
AM_RANGE(0x8200, 0xffff) AM_ROMBANK("bank1") // Banked ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gunbird_sound_io_map, AS_IO, 8, psikyo_state )
+ADDRESS_MAP_START(psikyo_state::gunbird_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(gunbird_sound_bankswitch_w)
AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("ymsnd", ym2610_device, read, write)
@@ -396,14 +396,14 @@ READ32_MEMBER(psikyo_state::s1945_input_r)
}
}
-static ADDRESS_MAP_START( s1945_map, AS_PROGRAM, 32, psikyo_state )
+ADDRESS_MAP_START(psikyo_state::s1945_map)
AM_IMPORT_FROM(psikyo_map)
AM_RANGE(0xc00000, 0xc0000b) AM_READ(s1945_input_r) // input ports
AM_RANGE(0xc00004, 0xc0000b) AM_WRITE(s1945_mcu_w) // protection and tile bank switching
AM_RANGE(0xc00010, 0xc00013) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff0000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( s1945_sound_io_map, AS_IO, 8, psikyo_state )
+ADDRESS_MAP_START(psikyo_state::s1945_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(gunbird_sound_bankswitch_w)
AM_RANGE(0x02, 0x03) AM_WRITENOP
diff --git a/src/mame/drivers/psikyo4.cpp b/src/mame/drivers/psikyo4.cpp
index c7f9bdbc213..27b1ec05337 100644
--- a/src/mame/drivers/psikyo4.cpp
+++ b/src/mame/drivers/psikyo4.cpp
@@ -321,7 +321,7 @@ WRITE32_MEMBER(psikyo4_state::io_select_w)
logerror("Unk ioselect write %x mask %x\n", data, mem_mask);
}
-static ADDRESS_MAP_START( ps4_map, AS_PROGRAM, 32, psikyo4_state )
+ADDRESS_MAP_START(psikyo4_state::ps4_map)
AM_RANGE(0x00000000, 0x000fffff) AM_ROM // program ROM (1 meg)
AM_RANGE(0x02000000, 0x021fffff) AM_ROM AM_REGION("maincpu", 0x100000) // data ROM
AM_RANGE(0x03000000, 0x030037ff) AM_RAM AM_SHARE("spriteram")
@@ -343,7 +343,7 @@ static ADDRESS_MAP_START( ps4_map, AS_PROGRAM, 32, psikyo4_state )
AM_RANGE(0x06000000, 0x060fffff) AM_RAM AM_SHARE("ram") // main RAM (1 meg)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ps4_ymf_map, 0, 8, psikyo4_state )
+ADDRESS_MAP_START(psikyo4_state::ps4_ymf_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROMBANK("ymfbank0")
AM_RANGE(0x100000, 0x1fffff) AM_ROMBANK("ymfbank1")
AM_RANGE(0x200000, 0x2fffff) AM_ROMBANK("ymfbank2")
diff --git a/src/mame/drivers/psikyosh.cpp b/src/mame/drivers/psikyosh.cpp
index fe7258cd97a..ee7172c0c3f 100644
--- a/src/mame/drivers/psikyosh.cpp
+++ b/src/mame/drivers/psikyosh.cpp
@@ -487,7 +487,7 @@ P1KEY11 29|30 P2KEY11
// ps3v1
-static ADDRESS_MAP_START( ps3v1_map, AS_PROGRAM, 32, psikyosh_state )
+ADDRESS_MAP_START(psikyosh_state::ps3v1_map)
// rom mapping
AM_RANGE(0x00000000, 0x000fffff) AM_ROM // program ROM (1 meg)
AM_RANGE(0x02000000, 0x020fffff) AM_ROM AM_REGION("maincpu", 0x100000) // data ROM
@@ -511,7 +511,7 @@ static ADDRESS_MAP_START( ps3v1_map, AS_PROGRAM, 32, psikyosh_state )
ADDRESS_MAP_END
// ps5, ps5v2
-static ADDRESS_MAP_START( ps5_map, AS_PROGRAM, 32, psikyosh_state )
+ADDRESS_MAP_START(psikyosh_state::ps5_map)
// rom mapping
AM_RANGE(0x00000000, 0x000fffff) AM_ROM // program ROM (1 meg)
// inputs/eeprom
diff --git a/src/mame/drivers/psion.cpp b/src/mame/drivers/psion.cpp
index 8ac66d8c13f..43980cca345 100644
--- a/src/mame/drivers/psion.cpp
+++ b/src/mame/drivers/psion.cpp
@@ -249,7 +249,7 @@ READ8_MEMBER( psion1_state::switchoff_r )
return 0;
}
-static ADDRESS_MAP_START(psion1_mem, AS_PROGRAM, 8, psion1_state)
+ADDRESS_MAP_START(psion1_state::psion1_mem)
AM_RANGE(0x0000, 0x001f) AM_READWRITE(hd63701_int_reg_r, hd63701_int_reg_w)
AM_RANGE(0x0040, 0x00ff) AM_RAM AM_SHARE("sys_register")
AM_RANGE(0x2000, 0x2000) AM_MIRROR(0x07fe) AM_DEVREADWRITE("hd44780", hd44780_device, control_read, control_write)
@@ -261,7 +261,7 @@ static ADDRESS_MAP_START(psion1_mem, AS_PROGRAM, 8, psion1_state)
AM_RANGE(0xf000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(psioncm_mem, AS_PROGRAM, 8, psion_state)
+ADDRESS_MAP_START(psion_state::psioncm_mem)
ADDRESS_MAP_UNMAP_LOW
AM_RANGE(0x0000, 0x001f) AM_READWRITE(hd63701_int_reg_r, hd63701_int_reg_w)
AM_RANGE(0x0040, 0x00ff) AM_RAM AM_SHARE("sys_register")
@@ -270,7 +270,7 @@ static ADDRESS_MAP_START(psioncm_mem, AS_PROGRAM, 8, psion_state)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(psionla_mem, AS_PROGRAM, 8, psion_state)
+ADDRESS_MAP_START(psion_state::psionla_mem)
ADDRESS_MAP_UNMAP_LOW
AM_RANGE(0x0000, 0x001f) AM_READWRITE(hd63701_int_reg_r, hd63701_int_reg_w)
AM_RANGE(0x0040, 0x00ff) AM_RAM AM_SHARE("sys_register")
@@ -279,7 +279,7 @@ static ADDRESS_MAP_START(psionla_mem, AS_PROGRAM, 8, psion_state)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(psionp350_mem, AS_PROGRAM, 8, psion_state)
+ADDRESS_MAP_START(psion_state::psionp350_mem)
ADDRESS_MAP_UNMAP_LOW
AM_RANGE(0x0000, 0x001f) AM_READWRITE(hd63701_int_reg_r, hd63701_int_reg_w)
AM_RANGE(0x0040, 0x00ff) AM_RAM AM_SHARE("sys_register")
@@ -289,7 +289,7 @@ static ADDRESS_MAP_START(psionp350_mem, AS_PROGRAM, 8, psion_state)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(psionlam_mem, AS_PROGRAM, 8, psion_state)
+ADDRESS_MAP_START(psion_state::psionlam_mem)
ADDRESS_MAP_UNMAP_LOW
AM_RANGE(0x0000, 0x001f) AM_READWRITE(hd63701_int_reg_r, hd63701_int_reg_w)
AM_RANGE(0x0040, 0x00ff) AM_RAM AM_SHARE("sys_register")
@@ -299,7 +299,7 @@ static ADDRESS_MAP_START(psionlam_mem, AS_PROGRAM, 8, psion_state)
AM_RANGE(0xc000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(psionlz_mem, AS_PROGRAM, 8, psion_state)
+ADDRESS_MAP_START(psion_state::psionlz_mem)
ADDRESS_MAP_UNMAP_LOW
AM_RANGE(0x0000, 0x001f) AM_READWRITE(hd63701_int_reg_r, hd63701_int_reg_w)
AM_RANGE(0x0040, 0x00ff) AM_RAM AM_SHARE("sys_register")
diff --git a/src/mame/drivers/psx.cpp b/src/mame/drivers/psx.cpp
index 3620abf3c9e..2e59b135352 100644
--- a/src/mame/drivers/psx.cpp
+++ b/src/mame/drivers/psx.cpp
@@ -69,6 +69,8 @@ public:
void psu(machine_config &config);
void psj(machine_config &config);
+ void psx_map(address_map &map);
+ void subcpu_map(address_map &map);
private:
required_device<psx_parallel_slot_device> m_parallel;
};
@@ -501,11 +503,11 @@ void psx1_state::cd_dma_write( uint32_t *p_n_psxram, uint32_t n_address, int32_t
printf("cd_dma_write?!: addr %x, size %x\n", n_address, n_size);
}
-static ADDRESS_MAP_START( psx_map, AS_PROGRAM, 32, psx1_state )
+ADDRESS_MAP_START(psx1_state::psx_map)
AM_RANGE(0x1f000000, 0x1f07ffff) AM_READWRITE16(parallel_r, parallel_w, 0xffffffff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( subcpu_map, AS_PROGRAM, 8, psx1_state )
+ADDRESS_MAP_START(psx1_state::subcpu_map)
AM_RANGE(0x0000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/psychic5.cpp b/src/mame/drivers/psychic5.cpp
index ae2d092e7fa..e986b246513 100644
--- a/src/mame/drivers/psychic5.cpp
+++ b/src/mame/drivers/psychic5.cpp
@@ -435,7 +435,7 @@ WRITE8_MEMBER(psychic5_state::bombsa_flipscreen_w)
***************************************************************************/
-static ADDRESS_MAP_START( psychic5_main_map, AS_PROGRAM, 8, psychic5_state )
+ADDRESS_MAP_START(psychic5_state::psychic5_main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("mainbank")
AM_RANGE(0xc000, 0xdfff) AM_DEVICE("vrambank", address_map_bank_device, amap8)
@@ -452,7 +452,7 @@ static ADDRESS_MAP_START( psychic5_main_map, AS_PROGRAM, 8, psychic5_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( psychic5_vrambank_map, AS_PROGRAM, 8, psychic5_state )
+ADDRESS_MAP_START(psychic5_state::psychic5_vrambank_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM_WRITE(bg_videoram_w) AM_SHARE("bg_videoram")
AM_RANGE(0x1000, 0x1fff) AM_RAM
@@ -473,20 +473,20 @@ static ADDRESS_MAP_START( psychic5_vrambank_map, AS_PROGRAM, 8, psychic5_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( psychic5_sound_map, AS_PROGRAM, 8, psychic5_state )
+ADDRESS_MAP_START(psychic5_state::psychic5_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xe000, 0xe000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( psychic5_soundport_map, AS_IO, 8, psychic5_state )
+ADDRESS_MAP_START(psychic5_state::psychic5_soundport_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("ym1", ym2203_device, write)
AM_RANGE(0x80, 0x81) AM_DEVWRITE("ym2", ym2203_device, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bombsa_main_map, AS_PROGRAM, 8, psychic5_state )
+ADDRESS_MAP_START(psychic5_state::bombsa_main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("mainbank")
AM_RANGE(0xc000, 0xcfff) AM_RAM
@@ -505,20 +505,20 @@ static ADDRESS_MAP_START( bombsa_main_map, AS_PROGRAM, 8, psychic5_state )
AM_RANGE(0xe000, 0xffff) AM_DEVICE("vrambank", address_map_bank_device, amap8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bombsa_sound_map, AS_PROGRAM, 8, psychic5_state )
+ADDRESS_MAP_START(psychic5_state::bombsa_sound_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xe000, 0xe000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0xf000, 0xf000) AM_WRITEONLY // Is this a confirm of some sort?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bombsa_soundport_map, AS_IO, 8, psychic5_state )
+ADDRESS_MAP_START(psychic5_state::bombsa_soundport_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
AM_RANGE(0x80, 0x81) AM_DEVREADWRITE("ym2", ym2203_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bombsa_vrambank_map, AS_PROGRAM, 8, psychic5_state )
+ADDRESS_MAP_START(psychic5_state::bombsa_vrambank_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM_WRITE(bg_videoram_w) AM_SHARE("bg_videoram")
AM_RANGE(0x2000, 0x2000) AM_READ_PORT("SYSTEM")
diff --git a/src/mame/drivers/pt68k4.cpp b/src/mame/drivers/pt68k4.cpp
index 7f409292bf2..bf2a16cd379 100644
--- a/src/mame/drivers/pt68k4.cpp
+++ b/src/mame/drivers/pt68k4.cpp
@@ -126,6 +126,8 @@ public:
void pt68k2(machine_config &config);
void pt68k4(machine_config &config);
+ void pt68k2_mem(address_map &map);
+ void pt68k4_mem(address_map &map);
private:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -248,7 +250,7 @@ WRITE8_MEMBER(pt68k4_state::fdc_select_w)
}
}
-static ADDRESS_MAP_START(pt68k2_mem, AS_PROGRAM, 16, pt68k4_state)
+ADDRESS_MAP_START(pt68k4_state::pt68k2_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x0fffff) AM_RAM AM_SHARE("rambase") // 1MB RAM
AM_RANGE(0xf80000, 0xf8ffff) AM_ROM AM_REGION("roms", 0)
@@ -264,7 +266,7 @@ static ADDRESS_MAP_START(pt68k2_mem, AS_PROGRAM, 16, pt68k4_state)
AM_RANGE(0xff0000, 0xff0fff) AM_DEVREADWRITE8(TIMEKEEPER_TAG, timekeeper_device, read, write, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(pt68k4_mem, AS_PROGRAM, 16, pt68k4_state)
+ADDRESS_MAP_START(pt68k4_state::pt68k4_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x0fffff) AM_RAM AM_SHARE("rambase") // 1MB RAM (OS9 needs more)
AM_RANGE(0xf80000, 0xf8ffff) AM_ROM AM_REGION("roms", 0)
diff --git a/src/mame/drivers/ptcsol.cpp b/src/mame/drivers/ptcsol.cpp
index 02c21e23fd1..d098e0993f7 100644
--- a/src/mame/drivers/ptcsol.cpp
+++ b/src/mame/drivers/ptcsol.cpp
@@ -187,6 +187,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void sol20(machine_config &config);
+ void sol20_io(address_map &map);
+ void sol20_mem(address_map &map);
private:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
uint8_t m_sol20_fa;
@@ -450,7 +452,7 @@ WRITE8_MEMBER( sol20_state::sol20_fe_w )
m_sol20_fe = data;
}
-static ADDRESS_MAP_START( sol20_mem, AS_PROGRAM, 8, sol20_state)
+ADDRESS_MAP_START(sol20_state::sol20_mem)
AM_RANGE(0x0000, 0x07ff) AM_RAMBANK("boot")
AM_RANGE(0x0800, 0xbfff) AM_RAM // optional s100 ram
AM_RANGE(0xc000, 0xc7ff) AM_ROM
@@ -459,7 +461,7 @@ static ADDRESS_MAP_START( sol20_mem, AS_PROGRAM, 8, sol20_state)
AM_RANGE(0xd000, 0xffff) AM_RAM // optional s100 ram
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sol20_io, AS_IO, 8, sol20_state)
+ADDRESS_MAP_START(sol20_state::sol20_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xf8, 0xf8) AM_READWRITE(sol20_f8_r,sol20_f8_w)
diff --git a/src/mame/drivers/pturn.cpp b/src/mame/drivers/pturn.cpp
index 2f7061193e7..b5c5c6bfa6b 100644
--- a/src/mame/drivers/pturn.cpp
+++ b/src/mame/drivers/pturn.cpp
@@ -144,6 +144,8 @@ public:
INTERRUPT_GEN_MEMBER(sub_intgen);
INTERRUPT_GEN_MEMBER(main_intgen);
void pturn(machine_config &config);
+ void main_map(address_map &map);
+ void sub_map(address_map &map);
};
@@ -341,7 +343,7 @@ READ8_MEMBER(pturn_state::custom_r)
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, pturn_state )
+ADDRESS_MAP_START(pturn_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xcfff) AM_WRITENOP AM_READ(custom_r)
@@ -368,7 +370,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, pturn_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 8, pturn_state )
+ADDRESS_MAP_START(pturn_state::sub_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
AM_RANGE(0x3000, 0x3000) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_WRITE(nmi_sub_enable_w)
diff --git a/src/mame/drivers/puckpkmn.cpp b/src/mame/drivers/puckpkmn.cpp
index d51d2f30787..b6f46d45c0c 100644
--- a/src/mame/drivers/puckpkmn.cpp
+++ b/src/mame/drivers/puckpkmn.cpp
@@ -213,7 +213,7 @@ static INPUT_PORTS_START( jzth )
INPUT_PORTS_END
-static ADDRESS_MAP_START( puckpkmn_map, AS_PROGRAM, 16, md_boot_state )
+ADDRESS_MAP_START(md_boot_state::puckpkmn_map)
AM_RANGE(0x000000, 0x3fffff) AM_ROM /* Main 68k Program Roms */
AM_RANGE(0x700010, 0x700011) AM_READ_PORT("P2")
AM_RANGE(0x700012, 0x700013) AM_READ_PORT("P1")
@@ -237,7 +237,7 @@ static ADDRESS_MAP_START( puckpkmn_map, AS_PROGRAM, 16, md_boot_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jzth_map, AS_PROGRAM, 16, md_boot_state )
+ADDRESS_MAP_START(md_boot_state::jzth_map)
AM_RANGE(0x000000, 0x3fffff) AM_ROM
AM_RANGE(0x700010, 0x700011) AM_READ_PORT("P2")
AM_RANGE(0x700012, 0x700013) AM_READ_PORT("P1")
@@ -269,7 +269,7 @@ READ16_MEMBER(md_boot_state::puckpkmna_4b2476_r)
return 0x3400;
}
-static ADDRESS_MAP_START( puckpkmna_map, AS_PROGRAM, 16, md_boot_state )
+ADDRESS_MAP_START(md_boot_state::puckpkmna_map)
AM_IMPORT_FROM( puckpkmn_map )
AM_RANGE(0x4b2476, 0x4b2477) AM_READ(puckpkmna_4b2476_r)
AM_RANGE(0x70001c, 0x70001d) AM_READ(puckpkmna_70001c_r)
diff --git a/src/mame/drivers/pulsar.cpp b/src/mame/drivers/pulsar.cpp
index c684fb9e5dd..064bdd0afa2 100644
--- a/src/mame/drivers/pulsar.cpp
+++ b/src/mame/drivers/pulsar.cpp
@@ -69,6 +69,8 @@ public:
DECLARE_READ8_MEMBER(ppi_pc_r);
void pulsar(machine_config &config);
+ void pulsar_io(address_map &map);
+ void pulsar_mem(address_map &map);
private:
floppy_image_device *m_floppy;
required_device<cpu_device> m_maincpu;
@@ -79,14 +81,14 @@ private:
required_device<msm5832_device> m_rtc;
};
-static ADDRESS_MAP_START(pulsar_mem, AS_PROGRAM, 8, pulsar_state)
+ADDRESS_MAP_START(pulsar_state::pulsar_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x07ff) AM_READ_BANK("bankr0") AM_WRITE_BANK("bankw0")
AM_RANGE(0x0800, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xffff) AM_READ_BANK("bankr1") AM_WRITE_BANK("bankw1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(pulsar_io, AS_IO, 8, pulsar_state)
+ADDRESS_MAP_START(pulsar_state::pulsar_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xc0, 0xc3) AM_MIRROR(0x0c) AM_DEVREADWRITE("dart", z80dart_device, ba_cd_r, ba_cd_w)
diff --git a/src/mame/drivers/punchout.cpp b/src/mame/drivers/punchout.cpp
index 9d30d2a418b..a094bd5ea3d 100644
--- a/src/mame/drivers/punchout.cpp
+++ b/src/mame/drivers/punchout.cpp
@@ -140,7 +140,7 @@ WRITE_LINE_MEMBER(punchout_state::nmi_mask_w)
m_nmi_mask = state;
}
-static ADDRESS_MAP_START( punchout_map, AS_PROGRAM, 8, punchout_state )
+ADDRESS_MAP_START(punchout_state::punchout_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc3ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xd000, 0xd7ff) AM_RAM
@@ -154,7 +154,7 @@ static ADDRESS_MAP_START( punchout_map, AS_PROGRAM, 8, punchout_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( armwrest_map, AS_PROGRAM, 8, punchout_state )
+ADDRESS_MAP_START(punchout_state::armwrest_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc3ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xd000, 0xd7ff) AM_RAM
@@ -169,7 +169,7 @@ static ADDRESS_MAP_START( armwrest_map, AS_PROGRAM, 8, punchout_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( punchout_io_map, AS_IO, 8, punchout_state )
+ADDRESS_MAP_START(punchout_state::punchout_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
@@ -182,7 +182,7 @@ static ADDRESS_MAP_START( punchout_io_map, AS_IO, 8, punchout_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( punchout_vlm_map, 0, 8, punchout_state )
+ADDRESS_MAP_START(punchout_state::punchout_vlm_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x3fff) AM_ROM
ADDRESS_MAP_END
@@ -235,7 +235,7 @@ WRITE8_MEMBER(punchout_state::spunchout_rp5h01_clock_w)
m_rp5h01->test_w(data & 1);
}
-static ADDRESS_MAP_START( spnchout_io_map, AS_IO, 8, punchout_state )
+ADDRESS_MAP_START(punchout_state::spnchout_io_map)
AM_IMPORT_FROM( punchout_io_map )
AM_RANGE(0x05, 0x05) AM_MIRROR(0xf0) AM_WRITE(spunchout_rp5h01_reset_w)
AM_RANGE(0x06, 0x06) AM_MIRROR(0xf0) AM_WRITE(spunchout_rp5h01_clock_w)
@@ -244,7 +244,7 @@ ADDRESS_MAP_END
// 2A03 (sound)
-static ADDRESS_MAP_START( punchout_sound_map, AS_PROGRAM, 8, punchout_state )
+ADDRESS_MAP_START(punchout_state::punchout_sound_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x4016, 0x4016) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0x4017, 0x4017) AM_DEVREAD("soundlatch2", generic_latch_8_device, read)
diff --git a/src/mame/drivers/pv1000.cpp b/src/mame/drivers/pv1000.cpp
index fb5bdcc7086..83557663c86 100644
--- a/src/mame/drivers/pv1000.cpp
+++ b/src/mame/drivers/pv1000.cpp
@@ -174,17 +174,19 @@ public:
required_device<screen_device> m_screen;
required_device<palette_device> m_palette;
void pv1000(machine_config &config);
+ void pv1000(address_map &map);
+ void pv1000_io(address_map &map);
};
-static ADDRESS_MAP_START( pv1000, AS_PROGRAM, 8, pv1000_state )
+ADDRESS_MAP_START(pv1000_state::pv1000)
//AM_RANGE(0x0000, 0x7fff) // mapped by the cartslot
AM_RANGE(0xb800, 0xbbff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0xbc00, 0xbfff) AM_RAM_WRITE(gfxram_w) AM_REGION("gfxram", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pv1000_io, AS_IO, 8, pv1000_state )
+ADDRESS_MAP_START(pv1000_state::pv1000_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xf8, 0xff) AM_READWRITE(io_r, io_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pv2000.cpp b/src/mame/drivers/pv2000.cpp
index 875979575fa..ceec19c2b83 100644
--- a/src/mame/drivers/pv2000.cpp
+++ b/src/mame/drivers/pv2000.cpp
@@ -71,6 +71,8 @@ public:
virtual void machine_reset() override;
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(pv2000_cart);
void pv2000(machine_config &config);
+ void pv2000_io_map(address_map &map);
+ void pv2000_map(address_map &map);
};
@@ -176,7 +178,7 @@ WRITE8_MEMBER( pv2000_state::cass_out )
/* Memory Maps */
-static ADDRESS_MAP_START( pv2000_map, AS_PROGRAM, 8, pv2000_state )
+ADDRESS_MAP_START(pv2000_state::pv2000_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x4000) AM_DEVREADWRITE("tms9928a", tms9928a_device, vram_read, vram_write)
@@ -188,7 +190,7 @@ static ADDRESS_MAP_START( pv2000_map, AS_PROGRAM, 8, pv2000_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pv2000_io_map, AS_IO, 8, pv2000_state )
+ADDRESS_MAP_START(pv2000_state::pv2000_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
//theres also printer and tape I/O (TODO)
diff --git a/src/mame/drivers/pv9234.cpp b/src/mame/drivers/pv9234.cpp
index 4ec3640008d..dbd03d117c1 100644
--- a/src/mame/drivers/pv9234.cpp
+++ b/src/mame/drivers/pv9234.cpp
@@ -42,6 +42,7 @@ public:
uint32_t screen_update_pv9234(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void pv9234(machine_config &config);
+ void pv9234_map(address_map &map);
protected:
virtual void machine_reset() override;
virtual void video_start() override;
@@ -104,7 +105,7 @@ WRITE32_MEMBER( pv9234_state::debug2_w )
logerror("debug2=%02x\n",data); // ignore the huge amount of zeroes here
}
-static ADDRESS_MAP_START(pv9234_map, AS_PROGRAM, 32, pv9234_state)
+ADDRESS_MAP_START(pv9234_state::pv9234_map)
AM_RANGE(0x00000000, 0x0007ffff) AM_ROM AM_REGION("maincpu",0) //FLASH ROM!
// AM_RANGE(0x00000000, 0x00000033) AM_WRITE something
// AM_RANGE(0x00000044, 0x00000047) AM_WRITE something
diff --git a/src/mame/drivers/pve500.cpp b/src/mame/drivers/pve500.cpp
index 72ec514792a..77aff479374 100644
--- a/src/mame/drivers/pve500.cpp
+++ b/src/mame/drivers/pve500.cpp
@@ -87,6 +87,10 @@ public:
DECLARE_READ8_MEMBER(eeprom_r);
DECLARE_DRIVER_INIT(pve500);
void pve500(machine_config &config);
+ void maincpu_io(address_map &map);
+ void maincpu_prg(address_map &map);
+ void subcpu_io(address_map &map);
+ void subcpu_prg(address_map &map);
private:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -116,21 +120,21 @@ static const z80_daisy_config maincpu_daisy_chain[] =
};
-static ADDRESS_MAP_START(maincpu_io, AS_IO, 8, pve500_state)
+ADDRESS_MAP_START(pve500_state::maincpu_io)
AM_RANGE(0x00, 0x03) AM_MIRROR(0xff00) AM_DEVREADWRITE("external_sio", z80sio0_device, cd_ba_r, cd_ba_w)
AM_RANGE(0x08, 0x0B) AM_MIRROR(0xff00) AM_DEVREADWRITE("external_ctc", z80ctc_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(maincpu_prg, AS_PROGRAM, 8, pve500_state)
+ADDRESS_MAP_START(pve500_state::maincpu_prg)
AM_RANGE(0x0000, 0xbfff) AM_ROM // ICB7: 48kbytes EPROM
AM_RANGE(0xc000, 0xdfff) AM_RAM // ICD6: 8kbytes of RAM
AM_RANGE(0xe000, 0xe7ff) AM_MIRROR(0x1800) AM_DEVREADWRITE("mb8421", mb8421_device, left_r, left_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(subcpu_io, AS_IO, 8, pve500_state)
+ADDRESS_MAP_START(pve500_state::subcpu_io)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(subcpu_prg, AS_PROGRAM, 8, pve500_state)
+ADDRESS_MAP_START(pve500_state::subcpu_prg)
AM_RANGE(0x0000, 0x7fff) AM_ROM // ICG5: 32kbytes EPROM
AM_RANGE(0x8000, 0x8007) AM_MIRROR(0x3ff8) AM_DEVREADWRITE("cxdio", cxd1095_device, read, write)
AM_RANGE(0xc000, 0xc7ff) AM_MIRROR(0x3800) AM_DEVREADWRITE("mb8421", mb8421_device, right_r, right_w)
diff --git a/src/mame/drivers/pwrview.cpp b/src/mame/drivers/pwrview.cpp
index c4a334f7f15..2599066f130 100644
--- a/src/mame/drivers/pwrview.cpp
+++ b/src/mame/drivers/pwrview.cpp
@@ -56,6 +56,10 @@ public:
MC6845_UPDATE_ROW(update_row);
void pwrview(machine_config &config);
+ void bios_bank(address_map &map);
+ void pwrview_fetch_map(address_map &map);
+ void pwrview_io(address_map &map);
+ void pwrview_map(address_map &map);
protected:
virtual void device_start() override;
virtual void device_reset() override;
@@ -333,7 +337,7 @@ READ8_MEMBER(pwrview_state::pitclock_r)
return 0;
}
-static ADDRESS_MAP_START(bios_bank, 0, 16, pwrview_state)
+ADDRESS_MAP_START(pwrview_state::bios_bank)
AM_RANGE(0x00000, 0x07fff) AM_ROM AM_REGION("bios", 0)
AM_RANGE(0x00000, 0x07fff) AM_WRITE(nmimem_w)
@@ -355,19 +359,19 @@ static ADDRESS_MAP_START(bios_bank, 0, 16, pwrview_state)
AM_RANGE(0x1c000, 0x1ffff) AM_ROM AM_REGION("bios", 0x4000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(pwrview_map, AS_PROGRAM, 16, pwrview_state)
+ADDRESS_MAP_START(pwrview_state::pwrview_map)
AM_RANGE(0x00000, 0xf7fff) AM_RAM AM_SHARE("ram")
AM_RANGE(0x00000, 0x003ff) AM_READWRITE(bank0_r, bank0_w)
AM_RANGE(0xf8000, 0xfffff) AM_DEVICE("bios_bank", address_map_bank_device, amap16)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(pwrview_fetch_map, AS_OPCODES, 16, pwrview_state)
+ADDRESS_MAP_START(pwrview_state::pwrview_fetch_map)
AM_RANGE(0x00000, 0xf7fff) AM_RAM AM_SHARE("ram")
AM_RANGE(0x00000, 0x003ff) AM_READ(bank0_r)
AM_RANGE(0xf8000, 0xfffff) AM_READ(fbios_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(pwrview_io, AS_IO, 16, pwrview_state)
+ADDRESS_MAP_START(pwrview_state::pwrview_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xffff) AM_READWRITE(nmiio_r, nmiio_w)
AM_RANGE(0xc000, 0xc001) AM_READWRITE8(unk1_r, unk1_w, 0xff00)
@@ -396,7 +400,7 @@ SLOT_INTERFACE_END
MACHINE_CONFIG_START(pwrview_state::pwrview)
MCFG_CPU_ADD("maincpu", I80186, XTAL(16'000'000))
MCFG_CPU_PROGRAM_MAP(pwrview_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(pwrview_fetch_map)
+ MCFG_CPU_OPCODES_MAP(pwrview_fetch_map)
MCFG_CPU_IO_MAP(pwrview_io)
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/px4.cpp b/src/mame/drivers/px4.cpp
index ca336924e97..fd5e6ba3870 100644
--- a/src/mame/drivers/px4.cpp
+++ b/src/mame/drivers/px4.cpp
@@ -134,6 +134,8 @@ public:
DECLARE_WRITE_LINE_MEMBER( centronics_perror_w ) { m_centronics_perror = state; }
void px4(machine_config &config);
+ void px4_io(address_map &map);
+ void px4_mem(address_map &map);
protected:
// driver_device overrides
virtual void machine_start() override;
@@ -268,6 +270,7 @@ public:
DECLARE_READ8_MEMBER( ramdisk_control_r );
void px4p(machine_config &config);
+ void px4p_io(address_map &map);
protected:
// driver_device overrides
virtual void machine_start() override;
@@ -1256,12 +1259,12 @@ void px4p_state::machine_start()
// ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( px4_mem, AS_PROGRAM, 8, px4_state )
+ADDRESS_MAP_START(px4_state::px4_mem)
AM_RANGE(0x0000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0xffff) AM_RAMBANK("bank2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( px4_io, AS_IO, 8, px4_state )
+ADDRESS_MAP_START(px4_state::px4_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
// gapnit, 0x00-0x07
@@ -1290,7 +1293,7 @@ static ADDRESS_MAP_START( px4_io, AS_IO, 8, px4_state )
AM_RANGE(0x1a, 0x1f) AM_NOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( px4p_io, AS_IO, 8, px4p_state )
+ADDRESS_MAP_START(px4p_state::px4p_io)
AM_IMPORT_FROM(px4_io)
AM_RANGE(0x90, 0x92) AM_WRITE(ramdisk_address_w )
AM_RANGE(0x93, 0x93) AM_READWRITE(ramdisk_data_r, ramdisk_data_w )
diff --git a/src/mame/drivers/px8.cpp b/src/mame/drivers/px8.cpp
index 8cc7cf43a75..30163e8df6a 100644
--- a/src/mame/drivers/px8.cpp
+++ b/src/mame/drivers/px8.cpp
@@ -511,7 +511,7 @@ WRITE8_MEMBER( px8_state::ksc_w )
ADDRESS_MAP( px8_mem )
-------------------------------------------------*/
-static ADDRESS_MAP_START( px8_mem, AS_PROGRAM, 8, px8_state )
+ADDRESS_MAP_START(px8_state::px8_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_RAMBANK("bank0")
AM_RANGE(0x8000, 0xffff) AM_RAMBANK("bank1")
@@ -521,7 +521,7 @@ ADDRESS_MAP_END
ADDRESS_MAP( px8_io )
-------------------------------------------------*/
-static ADDRESS_MAP_START( px8_io, AS_IO, 8, px8_state )
+ADDRESS_MAP_START(px8_state::px8_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x0f)
AM_RANGE(0x00, 0x07) AM_READWRITE(gah40m_r, gah40m_w)
@@ -535,7 +535,7 @@ ADDRESS_MAP_END
ADDRESS_MAP( px8_slave_mem )
-------------------------------------------------*/
-static ADDRESS_MAP_START( px8_slave_mem, AS_PROGRAM, 8, px8_state )
+ADDRESS_MAP_START(px8_state::px8_slave_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0020, 0x0023) AM_READWRITE(gah40s_r, gah40s_w)
// AM_RANGE(0x0024, 0x0027) AM_DEVREADWRITE_LEGACY(SED1320_TAG, )
@@ -549,7 +549,7 @@ ADDRESS_MAP_END
ADDRESS_MAP( px8_slave_io )
-------------------------------------------------*/
-static ADDRESS_MAP_START( px8_slave_io, AS_IO, 8, px8_state )
+ADDRESS_MAP_START(px8_state::px8_slave_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(M6801_PORT1, M6801_PORT1)
AM_RANGE(M6801_PORT2, M6801_PORT2)
diff --git a/src/mame/drivers/pyl601.cpp b/src/mame/drivers/pyl601.cpp
index 72c962cd93c..5e2e4146531 100644
--- a/src/mame/drivers/pyl601.cpp
+++ b/src/mame/drivers/pyl601.cpp
@@ -98,6 +98,7 @@ public:
required_device<palette_device> m_palette;
void pyl601(machine_config &config);
void pyl601a(machine_config &config);
+ void pyl601_mem(address_map &map);
};
@@ -253,7 +254,7 @@ READ8_MEMBER(pyl601_state::floppy_r)
return m_floppy_ctrl;
}
-static ADDRESS_MAP_START(pyl601_mem, AS_PROGRAM, 8, pyl601_state )
+ADDRESS_MAP_START(pyl601_state::pyl601_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0xbfff ) AM_RAMBANK("bank1")
AM_RANGE( 0xc000, 0xdfff ) AM_RAMBANK("bank2")
diff --git a/src/mame/drivers/pyson.cpp b/src/mame/drivers/pyson.cpp
index 04ec583b22a..14838183ab1 100644
--- a/src/mame/drivers/pyson.cpp
+++ b/src/mame/drivers/pyson.cpp
@@ -167,6 +167,7 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void pyson(machine_config &config);
+ void ps2_map(address_map &map);
protected:
// devices
@@ -186,7 +187,7 @@ uint32_t pyson_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap,
return 0;
}
-static ADDRESS_MAP_START(ps2_map, AS_PROGRAM, 32, pyson_state)
+ADDRESS_MAP_START(pyson_state::ps2_map)
AM_RANGE(0x00000000, 0x01ffffff) AM_RAM // 32 MB RAM in consumer PS2s, do these have more?
AM_RANGE(0x1fc00000, 0x1fdfffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pzletime.cpp b/src/mame/drivers/pzletime.cpp
index 227ae0071be..bb35ec083b4 100644
--- a/src/mame/drivers/pzletime.cpp
+++ b/src/mame/drivers/pzletime.cpp
@@ -77,6 +77,7 @@ public:
required_device<screen_device> m_screen;
required_device<palette_device> m_palette;
void pzletime(machine_config &config);
+ void pzletime_map(address_map &map);
};
@@ -232,7 +233,7 @@ CUSTOM_INPUT_MEMBER(pzletime_state::ticket_status_r)
return (m_ticket && !(m_screen->frame_number() % 128));
}
-static ADDRESS_MAP_START( pzletime_map, AS_PROGRAM, 16, pzletime_state )
+ADDRESS_MAP_START(pzletime_state::pzletime_map)
AM_RANGE(0x000000, 0x3fffff) AM_ROM
AM_RANGE(0x700000, 0x700005) AM_RAM_WRITE(video_regs_w) AM_SHARE("video_regs")
AM_RANGE(0x800000, 0x800001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
diff --git a/src/mame/drivers/qdrmfgp.cpp b/src/mame/drivers/qdrmfgp.cpp
index a4c248fc56c..6c3c29a22be 100644
--- a/src/mame/drivers/qdrmfgp.cpp
+++ b/src/mame/drivers/qdrmfgp.cpp
@@ -301,7 +301,7 @@ WRITE_LINE_MEMBER(qdrmfgp_state::gp2_ide_interrupt)
*
*************************************/
-static ADDRESS_MAP_START( qdrmfgp_map, AS_PROGRAM, 16, qdrmfgp_state )
+ADDRESS_MAP_START(qdrmfgp_state::qdrmfgp_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_SHARE("workram") /* work ram */
AM_RANGE(0x180000, 0x183fff) AM_RAM AM_SHARE("nvram") /* backup ram */
@@ -324,7 +324,7 @@ static ADDRESS_MAP_START( qdrmfgp_map, AS_PROGRAM, 16, qdrmfgp_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( qdrmfgp2_map, AS_PROGRAM, 16, qdrmfgp_state )
+ADDRESS_MAP_START(qdrmfgp_state::qdrmfgp2_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x110fff) AM_RAM AM_SHARE("workram") /* work ram */
AM_RANGE(0x180000, 0x183fff) AM_RAM AM_SHARE("nvram") /* backup ram */
@@ -351,7 +351,7 @@ static ADDRESS_MAP_START( qdrmfgp2_map, AS_PROGRAM, 16, qdrmfgp_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( qdrmfgp_k054539_map, 0, 8, qdrmfgp_state )
+ADDRESS_MAP_START(qdrmfgp_state::qdrmfgp_k054539_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM AM_REGION("k054539", 0)
AM_RANGE(0x100000, 0x45ffff) AM_RAM AM_SHARE("sndram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/qix.cpp b/src/mame/drivers/qix.cpp
index ae4705a60e2..b1e78db4e76 100644
--- a/src/mame/drivers/qix.cpp
+++ b/src/mame/drivers/qix.cpp
@@ -245,7 +245,7 @@ Interrupts:
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, qix_state )
+ADDRESS_MAP_START(qix_state::main_map)
AM_RANGE(0x8000, 0x83ff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x8400, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8bff) AM_READNOP /* 6850 ACIA */
@@ -259,7 +259,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, qix_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kram3_main_map, AS_PROGRAM, 8, qix_state )
+ADDRESS_MAP_START(qix_state::kram3_main_map)
AM_RANGE(0x8000, 0x83ff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x8400, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8bff) AM_READNOP /* 6850 ACIA */
@@ -274,7 +274,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( zoo_main_map, AS_PROGRAM, 8, qix_state )
+ADDRESS_MAP_START(qix_state::zoo_main_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x0400, 0x07ff) AM_RAM
AM_RANGE(0x0800, 0x0bff) AM_READNOP /* ACIA */
diff --git a/src/mame/drivers/ql.cpp b/src/mame/drivers/ql.cpp
index c4a693822a0..707afb7d409 100644
--- a/src/mame/drivers/ql.cpp
+++ b/src/mame/drivers/ql.cpp
@@ -197,6 +197,8 @@ public:
void ql_ntsc(machine_config &config);
void opd(machine_config &config);
void ql(machine_config &config);
+ void ipc_io(address_map &map);
+ void ql_mem(address_map &map);
};
@@ -494,7 +496,7 @@ READ8_MEMBER( ql_state::ipc_bus_r )
// ADDRESS_MAP( ql_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( ql_mem, AS_PROGRAM, 8, ql_state )
+ADDRESS_MAP_START(ql_state::ql_mem)
AM_RANGE(0x000000, 0x0fffff) AM_READWRITE(read, write)
ADDRESS_MAP_END
@@ -503,7 +505,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( ipc_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( ipc_io, AS_IO, 8, ql_state )
+ADDRESS_MAP_START(ql_state::ipc_io)
AM_RANGE(0x00, 0x7f) AM_WRITE(ipc_w)
AM_RANGE(0x27, 0x28) AM_READNOP // IPC reads these to set P0 (bus) to Hi-Z mode
ADDRESS_MAP_END
diff --git a/src/mame/drivers/qtsbc.cpp b/src/mame/drivers/qtsbc.cpp
index 07ce68c5dfa..21453953e2b 100644
--- a/src/mame/drivers/qtsbc.cpp
+++ b/src/mame/drivers/qtsbc.cpp
@@ -53,6 +53,8 @@ public:
DECLARE_READ8_MEMBER( qtsbc_43_r );
void qtsbc(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
virtual void machine_reset() override;
required_device<cpu_device> m_maincpu;
@@ -65,12 +67,12 @@ READ8_MEMBER( qtsbc_state::qtsbc_43_r )
return 0; // this controls where the new ram program gets built at. 0 = 0xE000.
}
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, qtsbc_state )
+ADDRESS_MAP_START(qtsbc_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xffff) AM_RAM AM_SHARE("ram") AM_REGION("maincpu", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, qtsbc_state )
+ADDRESS_MAP_START(qtsbc_state::io_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("pit", pit8253_device, read, write)
diff --git a/src/mame/drivers/quakeat.cpp b/src/mame/drivers/quakeat.cpp
index eba72a4008c..b59b01480a5 100644
--- a/src/mame/drivers/quakeat.cpp
+++ b/src/mame/drivers/quakeat.cpp
@@ -77,6 +77,8 @@ public:
virtual void video_start() override;
uint32_t screen_update_quake(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void quake(machine_config &config);
+ void quake_io(address_map &map);
+ void quake_map(address_map &map);
};
@@ -89,11 +91,11 @@ uint32_t quakeat_state::screen_update_quake(screen_device &screen, bitmap_ind16
return 0;
}
-static ADDRESS_MAP_START( quake_map, AS_PROGRAM, 32, quakeat_state )
+ADDRESS_MAP_START(quakeat_state::quake_map)
AM_RANGE(0x00000000, 0x0000ffff) AM_ROM AM_REGION("pc_bios", 0) /* BIOS */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( quake_io, AS_IO, 32, quakeat_state )
+ADDRESS_MAP_START(quakeat_state::quake_io)
AM_IMPORT_FROM(pcat32_io_common)
AM_RANGE(0x00e8, 0x00eb) AM_NOP
// AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0, write_cs0, 0xffffffff)
diff --git a/src/mame/drivers/quantum.cpp b/src/mame/drivers/quantum.cpp
index a0171cc0132..cbad8357780 100644
--- a/src/mame/drivers/quantum.cpp
+++ b/src/mame/drivers/quantum.cpp
@@ -75,6 +75,7 @@ public:
required_device<cpu_device> m_maincpu;
required_device<avg_quantum_device> m_avg;
void quantum(machine_config &config);
+ void main_map(address_map &map);
};
@@ -141,7 +142,7 @@ WRITE16_MEMBER(quantum_state::led_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, quantum_state )
+ADDRESS_MAP_START(quantum_state::main_map)
AM_RANGE(0x000000, 0x013fff) AM_ROM
AM_RANGE(0x018000, 0x01cfff) AM_RAM
AM_RANGE(0x800000, 0x801fff) AM_RAM AM_SHARE("vectorram")
diff --git a/src/mame/drivers/quasar.cpp b/src/mame/drivers/quasar.cpp
index d05c46c57a1..11d091150a7 100644
--- a/src/mame/drivers/quasar.cpp
+++ b/src/mame/drivers/quasar.cpp
@@ -110,7 +110,7 @@ READ_LINE_MEMBER(quasar_state::audio_t1_r)
// memory map taken from the manual
-static ADDRESS_MAP_START( quasar, AS_PROGRAM, 8, quasar_state )
+ADDRESS_MAP_START(quasar_state::quasar)
AM_RANGE(0x0000, 0x13ff) AM_ROM
AM_RANGE(0x1400, 0x14ff) AM_MIRROR(0x6000) AM_READ(cvs_bullet_ram_or_palette_r) AM_WRITE(quasar_bullet_w) AM_SHARE("bullet_ram")
AM_RANGE(0x1500, 0x15ff) AM_MIRROR(0x6000) AM_READWRITE(cvs_s2636_0_or_character_ram_r, cvs_s2636_0_or_character_ram_w)
@@ -123,12 +123,12 @@ static ADDRESS_MAP_START( quasar, AS_PROGRAM, 8, quasar_state )
AM_RANGE(0x6000, 0x73ff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( quasar_io, AS_IO, 8, quasar_state )
+ADDRESS_MAP_START(quasar_state::quasar_io)
AM_RANGE(0x00, 0x03) AM_READWRITE(quasar_IO_r, video_page_select_w)
AM_RANGE(0x08, 0x0b) AM_WRITE(io_page_select_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( quasar_data, AS_DATA, 8, quasar_state )
+ADDRESS_MAP_START(quasar_state::quasar_data)
AM_RANGE(S2650_CTRL_PORT, S2650_CTRL_PORT) AM_READ(cvs_collision_r) AM_WRITENOP
AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_READWRITE(cvs_collision_clear, quasar_sh_command_w)
ADDRESS_MAP_END
@@ -139,11 +139,11 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, quasar_state )
+ADDRESS_MAP_START(quasar_state::sound_map)
AM_RANGE(0x0000, 0x07ff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, quasar_state )
+ADDRESS_MAP_START(quasar_state::sound_portmap)
AM_RANGE(0x00, 0x7f) AM_RAM
AM_RANGE(0x80, 0x80) AM_READ(quasar_sh_command_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/queen.cpp b/src/mame/drivers/queen.cpp
index b8033634a07..92ce9bab749 100644
--- a/src/mame/drivers/queen.cpp
+++ b/src/mame/drivers/queen.cpp
@@ -55,6 +55,8 @@ public:
virtual void machine_reset() override;
void intel82439tx_init();
void queen(machine_config &config);
+ void queen_io(address_map &map);
+ void queen_map(address_map &map);
};
@@ -231,7 +233,7 @@ WRITE32_MEMBER(queen_state::bios_ram_w)
}
}
-static ADDRESS_MAP_START( queen_map, AS_PROGRAM, 32, queen_state )
+ADDRESS_MAP_START(queen_state::queen_map)
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", vga_device, mem_r, mem_w, 0xffffffff)
AM_RANGE(0x000e0000, 0x000effff) AM_ROMBANK("bios_ext") AM_WRITE(bios_ext_ram_w)
@@ -240,7 +242,7 @@ static ADDRESS_MAP_START( queen_map, AS_PROGRAM, 32, queen_state )
AM_RANGE(0xfffc0000, 0xffffffff) AM_ROM AM_REGION("bios", 0) /* System BIOS */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( queen_io, AS_IO, 32, queen_state )
+ADDRESS_MAP_START(queen_state::queen_io)
AM_IMPORT_FROM(pcat32_io_common)
AM_RANGE(0x00e8, 0x00ef) AM_NOP
diff --git a/src/mame/drivers/quickpick5.cpp b/src/mame/drivers/quickpick5.cpp
index 94d5c0ffb09..17c762e6fa5 100644
--- a/src/mame/drivers/quickpick5.cpp
+++ b/src/mame/drivers/quickpick5.cpp
@@ -80,6 +80,7 @@ public:
DECLARE_WRITE8_MEMBER(vram_w);
void quickpick5(machine_config &config);
+ void quickpick5_main(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -263,7 +264,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(quickpick5_state::scanline)
}
}
-static ADDRESS_MAP_START( quickpick5_main, AS_PROGRAM, 8, quickpick5_state )
+ADDRESS_MAP_START(quickpick5_state::quickpick5_main)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xdbff) AM_RAM AM_SHARE("nvram")
diff --git a/src/mame/drivers/quizdna.cpp b/src/mame/drivers/quizdna.cpp
index 0081aa00b48..deb80a0df0c 100644
--- a/src/mame/drivers/quizdna.cpp
+++ b/src/mame/drivers/quizdna.cpp
@@ -33,7 +33,7 @@ WRITE8_MEMBER(quizdna_state::gekiretu_rombank_w)
/****************************************************************************/
-static ADDRESS_MAP_START( quizdna_map, AS_PROGRAM, 8, quizdna_state )
+ADDRESS_MAP_START(quizdna_state::quizdna_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("mainbank")
AM_RANGE(0x8000, 0x9fff) AM_WRITE(fg_ram_w)
@@ -44,7 +44,7 @@ static ADDRESS_MAP_START( quizdna_map, AS_PROGRAM, 8, quizdna_state )
AM_RANGE(0xf000, 0xffff) AM_RAM_WRITE(paletteram_xBGR_RRRR_GGGG_BBBB_w) AM_SHARE("paletteram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gekiretu_map, AS_PROGRAM, 8, quizdna_state )
+ADDRESS_MAP_START(quizdna_state::gekiretu_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("mainbank")
AM_RANGE(0x8000, 0x9fff) AM_WRITE(fg_ram_w)
@@ -55,7 +55,7 @@ static ADDRESS_MAP_START( gekiretu_map, AS_PROGRAM, 8, quizdna_state )
AM_RANGE(0xf200, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( quizdna_io_map, AS_IO, 8, quizdna_state )
+ADDRESS_MAP_START(quizdna_state::quizdna_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x02, 0x03) AM_WRITE(bg_xscroll_w)
AM_RANGE(0x04, 0x04) AM_WRITE(bg_yscroll_w)
@@ -70,7 +70,7 @@ static ADDRESS_MAP_START( quizdna_io_map, AS_IO, 8, quizdna_state )
AM_RANGE(0xf0, 0xf0) AM_DEVREADWRITE("oki", okim6295_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gakupara_io_map, AS_IO, 8, quizdna_state )
+ADDRESS_MAP_START(quizdna_state::gakupara_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_WRITE(bg_xscroll_w)
AM_RANGE(0x02, 0x02) AM_WRITE(bg_yscroll_w)
@@ -85,7 +85,7 @@ static ADDRESS_MAP_START( gakupara_io_map, AS_IO, 8, quizdna_state )
AM_RANGE(0xf0, 0xf0) AM_DEVREADWRITE("oki", okim6295_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gekiretu_io_map, AS_IO, 8, quizdna_state )
+ADDRESS_MAP_START(quizdna_state::gekiretu_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x02, 0x03) AM_WRITE(bg_xscroll_w)
AM_RANGE(0x04, 0x04) AM_WRITE(bg_yscroll_w)
diff --git a/src/mame/drivers/quizo.cpp b/src/mame/drivers/quizo.cpp
index 90d6835b66c..07abf04e9d9 100644
--- a/src/mame/drivers/quizo.cpp
+++ b/src/mame/drivers/quizo.cpp
@@ -54,6 +54,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void quizo(machine_config &config);
+ void memmap(address_map &map);
+ void portmap(address_map &map);
};
@@ -143,7 +145,7 @@ WRITE8_MEMBER(quizo_state::port60_w)
membank("bank1")->set_entry(rombankLookup[data]);
}
-static ADDRESS_MAP_START( memmap, AS_PROGRAM, 8, quizo_state )
+ADDRESS_MAP_START(quizo_state::memmap)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
@@ -151,7 +153,7 @@ static ADDRESS_MAP_START( memmap, AS_PROGRAM, 8, quizo_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( portmap, AS_IO, 8, quizo_state )
+ADDRESS_MAP_START(quizo_state::portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
AM_RANGE(0x10, 0x10) AM_READ_PORT("IN1")
diff --git a/src/mame/drivers/quizpani.cpp b/src/mame/drivers/quizpani.cpp
index 4948a3b9de0..074c2bf1256 100644
--- a/src/mame/drivers/quizpani.cpp
+++ b/src/mame/drivers/quizpani.cpp
@@ -56,7 +56,7 @@ Stephh's notes (based on the games M68000 code and some tests) :
#include "speaker.h"
-static ADDRESS_MAP_START( quizpani_map, AS_PROGRAM, 16, quizpani_state )
+ADDRESS_MAP_START(quizpani_state::quizpani_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_READ_PORT("SYSTEM")
AM_RANGE(0x100002, 0x100003) AM_READ_PORT("P1_P2")
diff --git a/src/mame/drivers/quizpun2.cpp b/src/mame/drivers/quizpun2.cpp
index 5591ba03765..34a9050d294 100644
--- a/src/mame/drivers/quizpun2.cpp
+++ b/src/mame/drivers/quizpun2.cpp
@@ -165,6 +165,11 @@ public:
bool m_mcu_repeat;
void quizpun(machine_config &config);
void quizpun2(machine_config &config);
+ void quizpun2_cop_map(address_map &map);
+ void quizpun2_io_map(address_map &map);
+ void quizpun2_map(address_map &map);
+ void quizpun2_sound_io_map(address_map &map);
+ void quizpun2_sound_map(address_map &map);
};
/***************************************************************************
@@ -318,7 +323,7 @@ WRITE8_MEMBER(quizpun2_state::soundlatch_w)
m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
}
-static ADDRESS_MAP_START( quizpun2_map, AS_PROGRAM, 8, quizpun2_state )
+ADDRESS_MAP_START(quizpun2_state::quizpun2_map)
AM_RANGE( 0x0000, 0x7fff ) AM_ROM
AM_RANGE( 0x8000, 0x9fff ) AM_ROMBANK("bank1")
@@ -329,7 +334,7 @@ static ADDRESS_MAP_START( quizpun2_map, AS_PROGRAM, 8, quizpun2_state )
AM_RANGE( 0xe000, 0xffff ) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( quizpun2_io_map, AS_IO, 8, quizpun2_state )
+ADDRESS_MAP_START(quizpun2_state::quizpun2_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x40, 0x40 ) AM_WRITE(irq_ack)
AM_RANGE( 0x50, 0x50 ) AM_WRITE(soundlatch_w)
@@ -341,7 +346,7 @@ static ADDRESS_MAP_START( quizpun2_io_map, AS_IO, 8, quizpun2_state )
AM_RANGE( 0xe0, 0xe0 ) AM_READWRITE(quizpun_protection_r, quizpun_protection_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( quizpun2_cop_map, AS_PROGRAM, 8, quizpun2_state )
+ADDRESS_MAP_START(quizpun2_state::quizpun2_cop_map)
AM_RANGE( 0x000, 0x3ff ) AM_ROM AM_REGION("cop", 0)
ADDRESS_MAP_END
@@ -466,12 +471,12 @@ WRITE8_MEMBER(quizpun2_state::quizpun_68705_port_c_w)
Memory Maps - Sound CPU
***************************************************************************/
-static ADDRESS_MAP_START( quizpun2_sound_map, AS_PROGRAM, 8, quizpun2_state )
+ADDRESS_MAP_START(quizpun2_state::quizpun2_sound_map)
AM_RANGE( 0x0000, 0xf7ff ) AM_ROM
AM_RANGE( 0xf800, 0xffff ) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( quizpun2_sound_io_map, AS_IO, 8, quizpun2_state )
+ADDRESS_MAP_START(quizpun2_state::quizpun2_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x00, 0x00 ) AM_WRITENOP // IRQ end
AM_RANGE( 0x20, 0x20 ) AM_WRITENOP // NMI end
diff --git a/src/mame/drivers/quizshow.cpp b/src/mame/drivers/quizshow.cpp
index 69aa47d2701..5bc38a8f921 100644
--- a/src/mame/drivers/quizshow.cpp
+++ b/src/mame/drivers/quizshow.cpp
@@ -80,6 +80,7 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(clock_timer_cb);
void quizshow(machine_config &config);
+ void mem_map(address_map &map);
};
@@ -227,7 +228,7 @@ WRITE8_MEMBER(quizshow_state::main_ram_w)
}
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, quizshow_state )
+ADDRESS_MAP_START(quizshow_state::mem_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x0bff) AM_ROM
AM_RANGE(0x1802, 0x1802) AM_WRITE(audio_w)
diff --git a/src/mame/drivers/qvt103.cpp b/src/mame/drivers/qvt103.cpp
index 3472a599a7c..30368f877fc 100644
--- a/src/mame/drivers/qvt103.cpp
+++ b/src/mame/drivers/qvt103.cpp
@@ -27,6 +27,8 @@ public:
u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void qvt103(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_region_ptr<u8> m_p_chargen;
@@ -37,7 +39,7 @@ u32 qvt103_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, con
return 0;
}
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, qvt103_state )
+ADDRESS_MAP_START(qvt103_state::mem_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x6000, 0x6001) AM_DEVREADWRITE("kbdmcu", i8741_device, upi41_master_r, upi41_master_w)
AM_RANGE(0x8000, 0x87ff) AM_RAM
@@ -45,7 +47,7 @@ static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, qvt103_state )
AM_RANGE(0xc000, 0xffff) AM_RAM // not entirely contiguous?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, qvt103_state )
+ADDRESS_MAP_START(qvt103_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x14, 0x17) AM_DEVREADWRITE("dart", z80dart_device, ba_cd_r, ba_cd_w)
AM_RANGE(0x18, 0x1b) AM_DEVREADWRITE("ctc", z80ctc_device, read, write)
diff --git a/src/mame/drivers/qvt201.cpp b/src/mame/drivers/qvt201.cpp
index ecd3a1a27d4..47e20088cfa 100644
--- a/src/mame/drivers/qvt201.cpp
+++ b/src/mame/drivers/qvt201.cpp
@@ -28,6 +28,7 @@ public:
u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void qvt201(machine_config &config);
+ void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<screen_device> m_screen;
@@ -42,7 +43,7 @@ u32 qvt201_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, con
return 0;
}
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, qvt201_state )
+ADDRESS_MAP_START(qvt201_state::mem_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x8800, 0x8fff) AM_RAM AM_SHARE("nvram")
//AM_RANGE(0x9000, 0x9007) AM_DEVREADWRITE("crtc", scn2672_device, read, write)
diff --git a/src/mame/drivers/qvt6800.cpp b/src/mame/drivers/qvt6800.cpp
index be52c759d3c..6d6b3618dad 100644
--- a/src/mame/drivers/qvt6800.cpp
+++ b/src/mame/drivers/qvt6800.cpp
@@ -30,6 +30,8 @@ public:
void qvt190(machine_config &config);
void qvt102(machine_config &config);
+ void qvt102_mem_map(address_map &map);
+ void qvt190_mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_region_ptr<u8> m_p_chargen;
@@ -40,7 +42,7 @@ MC6845_UPDATE_ROW(qvt6800_state::update_row)
{
}
-static ADDRESS_MAP_START( qvt102_mem_map, AS_PROGRAM, 8, qvt6800_state )
+ADDRESS_MAP_START(qvt6800_state::qvt102_mem_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x2800, 0x2803) AM_DEVWRITE("ctc", z80ctc_device, write)
AM_RANGE(0x4000, 0x47ff) AM_RAM AM_SHARE("videoram")
@@ -50,7 +52,7 @@ static ADDRESS_MAP_START( qvt102_mem_map, AS_PROGRAM, 8, qvt6800_state )
AM_RANGE(0xe000, 0xffff) AM_ROM AM_REGION("maincpu", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( qvt190_mem_map, AS_PROGRAM, 8, qvt6800_state )
+ADDRESS_MAP_START(qvt6800_state::qvt190_mem_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x2500, 0x2501) AM_DEVREADWRITE("acia1", acia6850_device, read, write)
AM_RANGE(0x2600, 0x2601) AM_DEVREADWRITE("acia2", acia6850_device, read, write)
diff --git a/src/mame/drivers/qx10.cpp b/src/mame/drivers/qx10.cpp
index b35966c1bc0..2b961de887c 100644
--- a/src/mame/drivers/qx10.cpp
+++ b/src/mame/drivers/qx10.cpp
@@ -157,6 +157,9 @@ public:
UPD7220_DISPLAY_PIXELS_MEMBER( hgdc_display_pixels );
UPD7220_DRAW_TEXT_LINE_MEMBER( hgdc_draw_text );
void qx10(machine_config &config);
+ void qx10_io(address_map &map);
+ void qx10_mem(address_map &map);
+ void upd7220_map(address_map &map);
};
UPD7220_DISPLAY_PIXELS_MEMBER( qx10_state::hgdc_display_pixels )
@@ -487,14 +490,14 @@ WRITE8_MEMBER( qx10_state::vram_bank_w )
}
}
-static ADDRESS_MAP_START(qx10_mem, AS_PROGRAM, 8, qx10_state)
+ADDRESS_MAP_START(qx10_state::qx10_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x7fff ) AM_RAMBANK("bank1")
AM_RANGE( 0x8000, 0xdfff ) AM_RAMBANK("bank2")
AM_RANGE( 0xe000, 0xffff ) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( qx10_io , AS_IO, 8, qx10_state)
+ADDRESS_MAP_START(qx10_state::qx10_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("pit8253_1", pit8253_device, read, write)
AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("pit8253_2", pit8253_device, read, write)
@@ -658,7 +661,7 @@ WRITE16_MEMBER( qx10_state::vram_w )
COMBINE_DATA(&m_video_ram[offset + (0x20000 * bank)]);
}
-static ADDRESS_MAP_START( upd7220_map, 0, 16, qx10_state )
+ADDRESS_MAP_START(qx10_state::upd7220_map)
AM_RANGE(0x00000, 0x3ffff) AM_READWRITE(vram_r,vram_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/r2dtank.cpp b/src/mame/drivers/r2dtank.cpp
index 33cf11d72ab..16e2f4265d5 100644
--- a/src/mame/drivers/r2dtank.cpp
+++ b/src/mame/drivers/r2dtank.cpp
@@ -93,6 +93,8 @@ public:
required_device<generic_latch_8_device> m_soundlatch;
required_device<generic_latch_8_device> m_soundlatch2;
void r2dtank(machine_config &config);
+ void r2dtank_audio_map(address_map &map);
+ void r2dtank_main_map(address_map &map);
};
@@ -324,7 +326,7 @@ WRITE8_MEMBER(r2dtank_state::pia_comp_w)
}
-static ADDRESS_MAP_START( r2dtank_main_map, AS_PROGRAM, 8, r2dtank_state )
+ADDRESS_MAP_START(r2dtank_state::r2dtank_main_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x2000, 0x3fff) AM_RAM
AM_RANGE(0x4000, 0x5fff) AM_RAM AM_SHARE("colorram")
@@ -338,7 +340,7 @@ static ADDRESS_MAP_START( r2dtank_main_map, AS_PROGRAM, 8, r2dtank_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( r2dtank_audio_map, AS_PROGRAM, 8, r2dtank_state )
+ADDRESS_MAP_START(r2dtank_state::r2dtank_audio_map)
AM_RANGE(0x0000, 0x007f) AM_RAM /* internal RAM */
AM_RANGE(0xd000, 0xd003) AM_DEVREADWRITE("pia_audio", pia6821_device, read, write)
AM_RANGE(0xf000, 0xf000) AM_READWRITE(audio_command_r, audio_answer_w)
diff --git a/src/mame/drivers/r2dx_v33.cpp b/src/mame/drivers/r2dx_v33.cpp
index 5def6015cbb..eaf8ec43382 100644
--- a/src/mame/drivers/r2dx_v33.cpp
+++ b/src/mame/drivers/r2dx_v33.cpp
@@ -126,6 +126,11 @@ public:
void nzerotea(machine_config &config);
void rdx_v33(machine_config &config);
void zerotm2k(machine_config &config);
+ void nzerotea_map(address_map &map);
+ void nzeroteam_base_map(address_map &map);
+ void r2dx_oki_map(address_map &map);
+ void rdx_v33_map(address_map &map);
+ void zerotm2k_map(address_map &map);
protected:
virtual void machine_start() override;
@@ -378,7 +383,7 @@ READ16_MEMBER(r2dx_v33_state::r2dx_debug_r)
return 0xffff;
}
-static ADDRESS_MAP_START( rdx_v33_map, AS_PROGRAM, 16, r2dx_v33_state )
+ADDRESS_MAP_START(r2dx_v33_state::rdx_v33_map)
AM_RANGE(0x00000, 0x003ff) AM_RAM // vectors copied here
AM_RANGE(0x00400, 0x00401) AM_WRITE(r2dx_tilemapdma_w) // tilemaps to private buffer
@@ -446,7 +451,7 @@ static ADDRESS_MAP_START( rdx_v33_map, AS_PROGRAM, 16, r2dx_v33_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nzeroteam_base_map, AS_PROGRAM, 16, r2dx_v33_state )
+ADDRESS_MAP_START(r2dx_v33_state::nzeroteam_base_map)
AM_RANGE(0x00000, 0x003ff) AM_RAM //stack area
AM_RANGE(0x00400, 0x00401) AM_WRITE(r2dx_tilemapdma_w) // tilemaps to private buffer
@@ -482,7 +487,7 @@ static ADDRESS_MAP_START( nzeroteam_base_map, AS_PROGRAM, 16, r2dx_v33_state )
// AM_RANGE(0x00762, 0x00763) AM_READ(nzerotea_unknown_r)
- AM_RANGE(0x00780, 0x0079f) AM_DEVREADWRITE8_MOD("seibu_sound", seibu_sound_device, main_r, main_w, rshift<1>, 0x00ff)
+ ;map(0x00780, 0x0079f).lrw8("seibu_sound_rw", [this](address_space &space, offs_t offset, u8 mem_mask){ return m_seibu_sound->main_r(space, offset >> 1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_seibu_sound->main_w(space, offset >> 1, data, mem_mask); }).umask16(0x00ff);
AM_RANGE(0x00800, 0x00fff) AM_RAM
AM_RANGE(0x01000, 0x0bfff) AM_RAM
@@ -500,7 +505,7 @@ static ADDRESS_MAP_START( nzeroteam_base_map, AS_PROGRAM, 16, r2dx_v33_state )
AM_RANGE(0x20000, 0xfffff) AM_ROM AM_REGION("maincpu", 0x20000 )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nzerotea_map, AS_PROGRAM, 16, r2dx_v33_state )
+ADDRESS_MAP_START(r2dx_v33_state::nzerotea_map)
AM_IMPORT_FROM( nzeroteam_base_map )
AM_RANGE(0x00740, 0x00741) AM_READ_PORT("DSW")
AM_RANGE(0x00744, 0x00745) AM_READ_PORT("INPUT")
@@ -516,7 +521,7 @@ WRITE16_MEMBER(r2dx_v33_state::zerotm2k_eeprom_w)
m_eeprom->cs_write((data & 0x01) ? ASSERT_LINE : CLEAR_LINE);
}
-static ADDRESS_MAP_START( zerotm2k_map, AS_PROGRAM, 16, r2dx_v33_state )
+ADDRESS_MAP_START(r2dx_v33_state::zerotm2k_map)
AM_IMPORT_FROM( nzeroteam_base_map )
AM_RANGE(0x00740, 0x00741) AM_READ_PORT("P3_P4")
AM_RANGE(0x00744, 0x00745) AM_READ_PORT("INPUT")
@@ -764,7 +769,7 @@ MACHINE_RESET_MEMBER(r2dx_v33_state,nzeroteam)
mid_bank = 1;
}
-static ADDRESS_MAP_START( r2dx_oki_map, 0, 8, r2dx_v33_state )
+ADDRESS_MAP_START(r2dx_v33_state::r2dx_oki_map)
AM_RANGE(0x00000, 0x3ffff) AM_ROMBANK("okibank")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/r9751.cpp b/src/mame/drivers/r9751.cpp
index bf412d6c0b8..cf6850d71a7 100644
--- a/src/mame/drivers/r9751.cpp
+++ b/src/mame/drivers/r9751.cpp
@@ -114,6 +114,7 @@ public:
DECLARE_DRIVER_INIT(r9751);
void r9751(machine_config &config);
+ void r9751_mem(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<pdc_device> m_pdc;
@@ -618,7 +619,7 @@ WRITE32_MEMBER( r9751_state::r9751_mmio_fff8_w )
Address Maps
******************************************************************************/
-static ADDRESS_MAP_START(r9751_mem, AS_PROGRAM, 32, r9751_state)
+ADDRESS_MAP_START(r9751_state::r9751_mem)
//ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000000,0x00ffffff) AM_RAM AM_SHARE("main_ram") // 16MB
AM_RANGE(0x08000000,0x0800ffff) AM_ROM AM_REGION("prom", 0)
diff --git a/src/mame/drivers/rabbit.cpp b/src/mame/drivers/rabbit.cpp
index 99e88531c69..61d5a01e37e 100644
--- a/src/mame/drivers/rabbit.cpp
+++ b/src/mame/drivers/rabbit.cpp
@@ -128,6 +128,7 @@ public:
void rabbit(machine_config &config);
+ void rabbit_map(address_map &map);
protected:
virtual void video_start() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
@@ -712,7 +713,7 @@ WRITE32_MEMBER(rabbit_state::eeprom_write)
}
}
-static ADDRESS_MAP_START( rabbit_map, AS_PROGRAM, 32, rabbit_state )
+ADDRESS_MAP_START(rabbit_state::rabbit_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x000000, 0x000003) AM_WRITENOP // bug in code / emulation?
AM_RANGE(0x000010, 0x000013) AM_WRITENOP // bug in code / emulation?
diff --git a/src/mame/drivers/rad_eu3a05.cpp b/src/mame/drivers/rad_eu3a05.cpp
index e49463df2be..1c1c68d7cd5 100644
--- a/src/mame/drivers/rad_eu3a05.cpp
+++ b/src/mame/drivers/rad_eu3a05.cpp
@@ -236,6 +236,8 @@ public:
void radicasi(machine_config &config);
+ void radicasi_bank_map(address_map &map);
+ void radicasi_map(address_map &map);
protected:
// driver_device overrides
virtual void machine_start() override;
@@ -901,7 +903,7 @@ READ8_MEMBER(radica_eu3a05_state::read_full_space)
return fullbankspace.read_byte(offset);
}
-static ADDRESS_MAP_START( radicasi_map, AS_PROGRAM, 8, radica_eu3a05_state )
+ADDRESS_MAP_START(radica_eu3a05_state::radicasi_map)
// can the addresses move around?
AM_RANGE(0x0000, 0x05ff) AM_RAM AM_SHARE("ram")
AM_RANGE(0x0600, 0x3dff) AM_RAM AM_SHARE("vram")
@@ -968,7 +970,7 @@ static ADDRESS_MAP_START( radicasi_map, AS_PROGRAM, 8, radica_eu3a05_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( radicasi_bank_map, AS_PROGRAM, 8, radica_eu3a05_state )
+ADDRESS_MAP_START(radica_eu3a05_state::radicasi_bank_map)
AM_RANGE(0x000000, 0xffffff) AM_NOP // shut up any logging when video params are invalid
AM_RANGE(0x000000, 0x3fffff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x400000, 0x40ffff) AM_RAM // ?? only ever cleared maybe a mirror of below?
diff --git a/src/mame/drivers/rad_eu3a14.cpp b/src/mame/drivers/rad_eu3a14.cpp
index a494cee2c4b..7b95ef4d2bf 100644
--- a/src/mame/drivers/rad_eu3a14.cpp
+++ b/src/mame/drivers/rad_eu3a14.cpp
@@ -104,6 +104,8 @@ public:
// for callback
DECLARE_READ8_MEMBER(read_full_space);
+ void bank_map(address_map &map);
+ void radica_eu3a14_map(address_map &map);
protected:
// driver_device overrides
virtual void machine_start() override;
@@ -455,11 +457,11 @@ READ8_MEMBER(radica_eu3a14_state::radicasi_pal_ntsc_r)
//return 0x00; // PAL
}
-static ADDRESS_MAP_START( bank_map, AS_PROGRAM, 8, radica_eu3a14_state )
+ADDRESS_MAP_START(radica_eu3a14_state::bank_map)
AM_RANGE(0x000000, 0x3fffff) AM_ROM AM_REGION("maincpu", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( radica_eu3a14_map, AS_PROGRAM, 8, radica_eu3a14_state )
+ADDRESS_MAP_START(radica_eu3a14_state::radica_eu3a14_map)
AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x0200, 0x1fff) AM_RAM AM_SHARE("mainram") // 200-9ff is sprites? a00 - ??? is tilemap?
diff --git a/src/mame/drivers/radio86.cpp b/src/mame/drivers/radio86.cpp
index 59d0d13375c..79a04540d34 100644
--- a/src/mame/drivers/radio86.cpp
+++ b/src/mame/drivers/radio86.cpp
@@ -25,7 +25,7 @@
/* Address maps */
-static ADDRESS_MAP_START(radio86_mem, AS_PROGRAM, 8, radio86_state )
+ADDRESS_MAP_START(radio86_state::radio86_mem)
AM_RANGE( 0x0000, 0x0fff ) AM_RAMBANK("bank1") // First bank
AM_RANGE( 0x1000, 0x7fff ) AM_RAM // RAM
AM_RANGE( 0x8000, 0x8003 ) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write) AM_MIRROR(0x1ffc)
@@ -35,17 +35,17 @@ static ADDRESS_MAP_START(radio86_mem, AS_PROGRAM, 8, radio86_state )
AM_RANGE( 0xf000, 0xffff ) AM_ROM // System ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( radio86_io , AS_IO, 8, radio86_state )
+ADDRESS_MAP_START(radio86_state::radio86_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x00, 0xff ) AM_READWRITE(radio_io_r,radio_io_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rk7007_io , AS_IO, 8, radio86_state )
+ADDRESS_MAP_START(radio86_state::rk7007_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x80, 0x83 ) AM_DEVREADWRITE("ms7007", i8255_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(radio86rom_mem, AS_PROGRAM, 8, radio86_state )
+ADDRESS_MAP_START(radio86_state::radio86rom_mem)
AM_RANGE( 0x0000, 0x0fff ) AM_RAMBANK("bank1") // First bank
AM_RANGE( 0x1000, 0x7fff ) AM_RAM // RAM
AM_RANGE( 0x8000, 0x8003 ) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write) AM_MIRROR(0x1ffc)
@@ -55,7 +55,7 @@ static ADDRESS_MAP_START(radio86rom_mem, AS_PROGRAM, 8, radio86_state )
AM_RANGE( 0xf000, 0xffff ) AM_ROM // System ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(radio86ram_mem, AS_PROGRAM, 8, radio86_state )
+ADDRESS_MAP_START(radio86_state::radio86ram_mem)
AM_RANGE( 0x0000, 0x0fff ) AM_RAMBANK("bank1") // First bank
AM_RANGE( 0x1000, 0xdfff ) AM_RAM // RAM
AM_RANGE( 0xe000, 0xe7ff ) AM_ROM // System ROM page 2
@@ -68,7 +68,7 @@ static ADDRESS_MAP_START(radio86ram_mem, AS_PROGRAM, 8, radio86_state )
AM_RANGE( 0xf800, 0xffff ) AM_ROM // System ROM page 1
ADDRESS_MAP_END
-static ADDRESS_MAP_START(radio86_16_mem, AS_PROGRAM, 8, radio86_state )
+ADDRESS_MAP_START(radio86_state::radio86_16_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x0fff ) AM_RAMBANK("bank1") // First bank
AM_RANGE( 0x1000, 0x3fff ) AM_RAM // RAM
@@ -81,7 +81,7 @@ static ADDRESS_MAP_START(radio86_16_mem, AS_PROGRAM, 8, radio86_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mikron2_mem, AS_PROGRAM, 8, radio86_state )
+ADDRESS_MAP_START(radio86_state::mikron2_mem)
AM_RANGE( 0x0000, 0x0fff ) AM_RAMBANK("bank1") // First bank
AM_RANGE( 0x1000, 0x7fff ) AM_RAM // RAM
AM_RANGE( 0xc000, 0xc003 ) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write) AM_MIRROR(0x00fc)
@@ -91,7 +91,7 @@ static ADDRESS_MAP_START(mikron2_mem, AS_PROGRAM, 8, radio86_state )
AM_RANGE( 0xf000, 0xffff ) AM_ROM // System ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(impuls03_mem, AS_PROGRAM, 8, radio86_state )
+ADDRESS_MAP_START(radio86_state::impuls03_mem)
AM_RANGE( 0x0000, 0x0fff ) AM_RAMBANK("bank1") // First bank
AM_RANGE( 0x1000, 0x7fff ) AM_RAM // RAM
AM_RANGE( 0x8000, 0x8003 ) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write) AM_MIRROR(0x1ffc)
diff --git a/src/mame/drivers/raiden.cpp b/src/mame/drivers/raiden.cpp
index 875ab793ca9..4c827b4a0fe 100644
--- a/src/mame/drivers/raiden.cpp
+++ b/src/mame/drivers/raiden.cpp
@@ -83,7 +83,7 @@
/******************************************************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, raiden_state )
+ADDRESS_MAP_START(raiden_state::main_map)
AM_RANGE(0x00000, 0x06fff) AM_RAM
AM_RANGE(0x07000, 0x07fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x08000, 0x08fff) AM_RAM AM_SHARE("shared_ram")
@@ -97,7 +97,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, raiden_state )
AM_RANGE(0xa0000, 0xfffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 16, raiden_state )
+ADDRESS_MAP_START(raiden_state::sub_map)
AM_RANGE(0x00000, 0x01fff) AM_RAM
AM_RANGE(0x02000, 0x027ff) AM_RAM_WRITE(raiden_background_w) AM_SHARE("back_data")
AM_RANGE(0x02800, 0x02fff) AM_RAM_WRITE(raiden_foreground_w) AM_SHARE("fore_data")
@@ -112,7 +112,7 @@ ADDRESS_MAP_END
/******************************************************************************/
-static ADDRESS_MAP_START( raidenu_main_map, AS_PROGRAM, 16, raiden_state )
+ADDRESS_MAP_START(raiden_state::raidenu_main_map)
AM_RANGE(0x00000, 0x06fff) AM_RAM
AM_RANGE(0x07000, 0x07fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x08000, 0x0803f) AM_WRITEONLY AM_SHARE("scroll_ram")
@@ -126,7 +126,7 @@ static ADDRESS_MAP_START( raidenu_main_map, AS_PROGRAM, 16, raiden_state )
AM_RANGE(0xa0000, 0xfffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( raidenu_sub_map, AS_PROGRAM, 16, raiden_state )
+ADDRESS_MAP_START(raiden_state::raidenu_sub_map)
AM_RANGE(0x00000, 0x05fff) AM_RAM
AM_RANGE(0x06000, 0x067ff) AM_RAM_WRITE(raiden_background_w) AM_SHARE("back_data")
AM_RANGE(0x06800, 0x06fff) AM_RAM_WRITE(raiden_foreground_w) AM_SHARE("fore_data")
@@ -140,7 +140,7 @@ ADDRESS_MAP_END
/******************************************************************************/
-static ADDRESS_MAP_START( raidenb_main_map, AS_PROGRAM, 16, raiden_state )
+ADDRESS_MAP_START(raiden_state::raidenb_main_map)
AM_RANGE(0x00000, 0x06fff) AM_RAM
AM_RANGE(0x07000, 0x07fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x0a000, 0x0afff) AM_RAM AM_SHARE("shared_ram")
@@ -157,7 +157,7 @@ ADDRESS_MAP_END
/*****************************************************************************/
-static ADDRESS_MAP_START( raiden_sound_map, AS_PROGRAM, 8, raiden_state )
+ADDRESS_MAP_START(raiden_state::raiden_sound_map)
AM_RANGE(0x0000, 0xffff) AM_DEVREAD("sei80bu", sei80bu_device, data_r)
AM_RANGE(0x2000, 0x27ff) AM_RAM
AM_RANGE(0x4000, 0x4000) AM_DEVWRITE("seibu_sound", seibu_sound_device, pending_w)
@@ -174,11 +174,11 @@ static ADDRESS_MAP_START( raiden_sound_map, AS_PROGRAM, 8, raiden_state )
AM_RANGE(0x6000, 0x6000) AM_DEVREADWRITE("oki", okim6295_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( raiden_sound_decrypted_opcodes_map, AS_OPCODES, 8, raiden_state )
+ADDRESS_MAP_START(raiden_state::raiden_sound_decrypted_opcodes_map)
AM_RANGE(0x0000, 0xffff) AM_DEVREAD("sei80bu", sei80bu_device, opcode_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sei80bu_encrypted_full_map, AS_PROGRAM, 8, raiden_state )
+ADDRESS_MAP_START(raiden_state::sei80bu_encrypted_full_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("audiocpu", 0)
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("seibu_bank1")
ADDRESS_MAP_END
@@ -370,7 +370,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(raiden_state::raidene, raiden)
MCFG_DEVICE_MODIFY("audiocpu")
MCFG_CPU_PROGRAM_MAP(raiden_sound_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(raiden_sound_decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(raiden_sound_decrypted_opcodes_map)
MCFG_DEVICE_ADD("sei80bu", SEI80BU, 0)
MCFG_DEVICE_PROGRAM_MAP(sei80bu_encrypted_full_map)
diff --git a/src/mame/drivers/raiden2.cpp b/src/mame/drivers/raiden2.cpp
index 8b151529cf6..c43b5090350 100644
--- a/src/mame/drivers/raiden2.cpp
+++ b/src/mame/drivers/raiden2.cpp
@@ -889,7 +889,7 @@ WRITE16_MEMBER(raiden2_state::sprite_prot_off_w)
}
/* MEMORY MAPS */
-static ADDRESS_MAP_START( raiden2_cop_mem, AS_PROGRAM, 16, raiden2_state )
+ADDRESS_MAP_START(raiden2_state::raiden2_cop_mem)
AM_RANGE(0x0041c, 0x0041d) AM_DEVWRITE("raiden2cop", raiden2cop_device, cop_angle_target_w) // angle target (for 0x6200 COP macro)
AM_RANGE(0x0041e, 0x0041f) AM_DEVWRITE("raiden2cop", raiden2cop_device, cop_angle_step_w) // angle step (for 0x6200 COP macro)
AM_RANGE(0x00420, 0x00421) AM_DEVWRITE("raiden2cop", raiden2cop_device, cop_itoa_low_w)
@@ -960,14 +960,14 @@ static ADDRESS_MAP_START( raiden2_cop_mem, AS_PROGRAM, 16, raiden2_state )
AM_RANGE(0x00762, 0x00763) AM_READ(sprite_prot_dst1_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( raiden2_mem, AS_PROGRAM, 16, raiden2_state )
+ADDRESS_MAP_START(raiden2_state::raiden2_mem)
AM_RANGE(0x00000, 0x003ff) AM_RAM
AM_IMPORT_FROM( raiden2_cop_mem )
AM_RANGE(0x0068e, 0x0068f) AM_WRITENOP //irq ack / sprite buffering?
- AM_RANGE(0x00700, 0x0071f) AM_DEVREADWRITE8_MOD("seibu_sound", seibu_sound_device, main_r, main_w, rshift<1>, 0x00ff)
+ ;map(0x00700, 0x0071f).lrw8("seibu_sound_rw", [this](address_space &space, offs_t offset, u8 mem_mask){ return m_seibu_sound->main_r(space, offset >> 1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_seibu_sound->main_w(space, offset >> 1, data, mem_mask); }).umask16(0x00ff);
AM_RANGE(0x00740, 0x00741) AM_READ_PORT("DSW")
AM_RANGE(0x00744, 0x00745) AM_READ_PORT("P1_P2")
@@ -990,7 +990,7 @@ static ADDRESS_MAP_START( raiden2_mem, AS_PROGRAM, 16, raiden2_state )
AM_RANGE(0x40000, 0xfffff) AM_ROM AM_REGION("maincpu", 0x40000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( raidendx_mem, AS_PROGRAM, 16, raiden2_state )
+ADDRESS_MAP_START(raiden2_state::raidendx_mem)
AM_IMPORT_FROM( raiden2_mem )
AM_RANGE(0x00470, 0x00471) AM_READWRITE(cop_tile_bank_2_r,raidendx_cop_bank_2_w)
AM_RANGE(0x004d0, 0x004d7) AM_RAM //???
@@ -998,7 +998,7 @@ static ADDRESS_MAP_START( raidendx_mem, AS_PROGRAM, 16, raiden2_state )
// AM_RANGE(0x006ca, 0x006cb) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( zeroteam_mem, AS_PROGRAM, 16, raiden2_state )
+ADDRESS_MAP_START(raiden2_state::zeroteam_mem)
AM_RANGE(0x00000, 0x003ff) AM_RAM
AM_IMPORT_FROM( raiden2_cop_mem )
@@ -1008,7 +1008,7 @@ static ADDRESS_MAP_START( zeroteam_mem, AS_PROGRAM, 16, raiden2_state )
AM_RANGE(0x0068e, 0x0068f) AM_WRITENOP // irq ack / sprite buffering?
- AM_RANGE(0x00700, 0x0071f) AM_DEVREADWRITE8_MOD("seibu_sound", seibu_sound_device, main_r, main_w, rshift<1>, 0x00ff)
+ ;map(0x00700, 0x0071f).lrw8("seibu_sound_rw", [this](address_space &space, offs_t offset, u8 mem_mask){ return m_seibu_sound->main_r(space, offset >> 1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_seibu_sound->main_w(space, offset >> 1, data, mem_mask); }).umask16(0x00ff);
AM_RANGE(0x00740, 0x00741) AM_READ_PORT("DSW")
AM_RANGE(0x00744, 0x00745) AM_READ_PORT("P1_P2")
@@ -1029,7 +1029,7 @@ static ADDRESS_MAP_START( zeroteam_mem, AS_PROGRAM, 16, raiden2_state )
AM_RANGE(0x40000, 0xfffff) AM_ROM AM_REGION("maincpu", 0x40000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( xsedae_mem, AS_PROGRAM, 16, raiden2_state )
+ADDRESS_MAP_START(raiden2_state::xsedae_mem)
AM_RANGE(0x00000, 0x003ff) AM_RAM
AM_IMPORT_FROM( raiden2_cop_mem )
@@ -1039,7 +1039,7 @@ static ADDRESS_MAP_START( xsedae_mem, AS_PROGRAM, 16, raiden2_state )
AM_RANGE(0x0068e, 0x0068f) AM_WRITENOP //irq ack / sprite buffering?
- AM_RANGE(0x00700, 0x0071f) AM_DEVREADWRITE8_MOD("seibu_sound", seibu_sound_device, main_r, main_w, rshift<1>, 0x00ff)
+ ;map(0x00700, 0x0071f).lrw8("seibu_sound_rw", [this](address_space &space, offs_t offset, u8 mem_mask){ return m_seibu_sound->main_r(space, offset >> 1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_seibu_sound->main_w(space, offset >> 1, data, mem_mask); }).umask16(0x00ff);
AM_RANGE(0x00740, 0x00741) AM_READ_PORT("DSW")
AM_RANGE(0x00744, 0x00745) AM_READ_PORT("P1_P2")
@@ -1059,7 +1059,7 @@ static ADDRESS_MAP_START( xsedae_mem, AS_PROGRAM, 16, raiden2_state )
AM_RANGE(0x20000, 0xfffff) AM_ROM AM_REGION("maincpu", 0x20000)
ADDRESS_MAP_END
-ADDRESS_MAP_START( raiden2_sound_map, AS_PROGRAM, 8, raiden2_state )
+ADDRESS_MAP_START(raiden2_state::raiden2_sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x27ff) AM_RAM
AM_RANGE(0x4000, 0x4000) AM_DEVWRITE("seibu_sound", seibu_sound_device, pending_w)
@@ -1080,7 +1080,7 @@ ADDRESS_MAP_START( raiden2_sound_map, AS_PROGRAM, 8, raiden2_state )
AM_RANGE(0x401a, 0x401a) AM_NOP
ADDRESS_MAP_END
-ADDRESS_MAP_START( zeroteam_sound_map, AS_PROGRAM, 8, raiden2_state )
+ADDRESS_MAP_START(raiden2_state::zeroteam_sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x27ff) AM_RAM
AM_RANGE(0x4000, 0x4000) AM_DEVWRITE("seibu_sound", seibu_sound_device, pending_w)
diff --git a/src/mame/drivers/rainbow.cpp b/src/mame/drivers/rainbow.cpp
index 5753d38c033..ea5e052d9fc 100644
--- a/src/mame/drivers/rainbow.cpp
+++ b/src/mame/drivers/rainbow.cpp
@@ -622,6 +622,11 @@ public:
DECLARE_WRITE_LINE_MEMBER(GDC_vblank_irq);
void rainbow(machine_config &config);
+ void rainbow8088_io(address_map &map);
+ void rainbow8088_map(address_map &map);
+ void rainbowz80_io(address_map &map);
+ void rainbowz80_mem(address_map &map);
+ void upd7220_map(address_map &map);
protected:
virtual void machine_start() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
@@ -899,7 +904,7 @@ void rainbow_state::machine_start()
#endif
}
-static ADDRESS_MAP_START(rainbow8088_map, AS_PROGRAM, 8, rainbow_state)
+ADDRESS_MAP_START(rainbow_state::rainbow8088_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000, 0x0ffff) AM_RAM AM_SHARE("sh_ram")
AM_RANGE(0x10000, END_OF_RAM) AM_RAM AM_SHARE("ext_ram") AM_WRITE(ext_ram_w)
@@ -921,7 +926,7 @@ AM_RANGE(0xee000, 0xeffff) AM_RAM AM_SHARE("p_ram")
AM_RANGE(0xf0000, 0xfffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(rainbow8088_io, AS_IO, 8, rainbow_state)
+ADDRESS_MAP_START(rainbow_state::rainbow8088_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x1ff)
AM_RANGE(0x00, 0x00) AM_READWRITE(i8088_latch_r, i8088_latch_w)
@@ -1013,12 +1018,12 @@ AM_RANGE(0x69, 0x69) AM_READ(hd_status_69_r)
// 0x10c -> (MHFU disable register handled by 0x0c + AM_SELECT)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(rainbowz80_mem, AS_PROGRAM, 8, rainbow_state)
+ADDRESS_MAP_START(rainbow_state::rainbowz80_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xffff) AM_READWRITE(share_z80_r, share_z80_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(rainbowz80_io, AS_IO, 8, rainbow_state)
+ADDRESS_MAP_START(rainbow_state::rainbowz80_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READWRITE(z80_latch_r, z80_latch_w)
@@ -3174,7 +3179,7 @@ GFXDECODE_ENTRY("chargen", 0x0000, rainbow_charlayout, 0, 1)
GFXDECODE_END
// Allocate 512 K (4 x 64 K x 16 bit) of memory (GDC-NEW):
-static ADDRESS_MAP_START( upd7220_map, 0, 16, rainbow_state)
+ADDRESS_MAP_START(rainbow_state::upd7220_map)
AM_RANGE(0x00000, 0x3ffff) AM_READWRITE(vram_r, vram_w) AM_SHARE("vram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/rallyx.cpp b/src/mame/drivers/rallyx.cpp
index a087e37a18a..56bd79b2745 100644
--- a/src/mame/drivers/rallyx.cpp
+++ b/src/mame/drivers/rallyx.cpp
@@ -283,7 +283,7 @@ WRITE_LINE_MEMBER(rallyx_state::coin_counter_2_w)
*
*************************************/
-static ADDRESS_MAP_START( rallyx_map, AS_PROGRAM, 8, rallyx_state )
+ADDRESS_MAP_START(rallyx_state::rallyx_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM_WRITE(rallyx_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x9800, 0x9fff) AM_RAM
@@ -299,13 +299,13 @@ static ADDRESS_MAP_START( rallyx_map, AS_PROGRAM, 8, rallyx_state )
AM_RANGE(0xa180, 0xa187) AM_DEVWRITE("mainlatch", ls259_device, write_d0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, rallyx_state )
+ADDRESS_MAP_START(rallyx_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0, 0) AM_WRITE(rallyx_interrupt_vector_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jungler_map, AS_PROGRAM, 8, rallyx_state )
+ADDRESS_MAP_START(rallyx_state::jungler_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM_WRITE(rallyx_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x9800, 0x9fff) AM_RAM
diff --git a/src/mame/drivers/rambo.cpp b/src/mame/drivers/rambo.cpp
index 054ac390ab7..efb46d3b872 100644
--- a/src/mame/drivers/rambo.cpp
+++ b/src/mame/drivers/rambo.cpp
@@ -57,6 +57,9 @@ public:
virtual void machine_start() override;
virtual void machine_reset() override;
void rambo(machine_config &config);
+ void rambo_data_map(address_map &map);
+ void rambo_io_map(address_map &map);
+ void rambo_prg_map(address_map &map);
};
void rambo_state::machine_start()
@@ -104,15 +107,15 @@ WRITE8_MEMBER(rambo_state::port_w)
* Address maps *
\****************************************************/
-static ADDRESS_MAP_START( rambo_prg_map, AS_PROGRAM, 8, rambo_state )
+ADDRESS_MAP_START(rambo_state::rambo_prg_map)
AM_RANGE(0x0000, 0x1FFFF) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rambo_data_map, AS_DATA, 8, rambo_state )
+ADDRESS_MAP_START(rambo_state::rambo_data_map)
AM_RANGE(0x0200, 0x21FF) AM_RAM /* ATMEGA2560 Internal SRAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rambo_io_map, AS_IO, 8, rambo_state )
+ADDRESS_MAP_START(rambo_state::rambo_io_map)
AM_RANGE(AVR8_IO_PORTA, AVR8_IO_PORTL) AM_READWRITE( port_r, port_w )
ADDRESS_MAP_END
diff --git a/src/mame/drivers/rampart.cpp b/src/mame/drivers/rampart.cpp
index 31b393a440b..3415aafec32 100644
--- a/src/mame/drivers/rampart.cpp
+++ b/src/mame/drivers/rampart.cpp
@@ -127,7 +127,7 @@ WRITE16_MEMBER(rampart_state::latch_w)
*************************************/
/* full memory map deduced from schematics and GALs */
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, rampart_state )
+ADDRESS_MAP_START(rampart_state::main_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fffff)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x140000, 0x147fff) AM_MIRROR(0x438000) AM_ROM /* slapstic goes here */
diff --git a/src/mame/drivers/rastan.cpp b/src/mame/drivers/rastan.cpp
index b4057fd80dc..1eb9c45d895 100644
--- a/src/mame/drivers/rastan.cpp
+++ b/src/mame/drivers/rastan.cpp
@@ -208,7 +208,7 @@ WRITE8_MEMBER(rastan_state::rastan_msm5205_stop_w)
-static ADDRESS_MAP_START( rastan_map, AS_PROGRAM, 16, rastan_state )
+ADDRESS_MAP_START(rastan_state::rastan_map)
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x10c000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x200fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -231,7 +231,7 @@ static ADDRESS_MAP_START( rastan_map, AS_PROGRAM, 16, rastan_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rastan_s_map, AS_PROGRAM, 8, rastan_state )
+ADDRESS_MAP_START(rastan_state::rastan_s_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0x8fff) AM_RAM
diff --git a/src/mame/drivers/rastersp.cpp b/src/mame/drivers/rastersp.cpp
index f338fba4720..1b2110ad582 100644
--- a/src/mame/drivers/rastersp.cpp
+++ b/src/mame/drivers/rastersp.cpp
@@ -146,6 +146,9 @@ public:
IRQ_CALLBACK_MEMBER(irq_callback);
static void ncr53c700(device_t *device);
void rastersp(machine_config &config);
+ void cpu_map(address_map &map);
+ void dsp_map(address_map &map);
+ void io_map(address_map &map);
protected:
// driver_device overrides
virtual void machine_reset() override;
@@ -670,7 +673,7 @@ READ32_MEMBER( rastersp_state::dsp_speedup_r )
*
*************************************/
-static ADDRESS_MAP_START( cpu_map, AS_PROGRAM, 32, rastersp_state )
+ADDRESS_MAP_START(rastersp_state::cpu_map)
AM_RANGE(0x00000000, 0x003fffff) AM_RAM AM_SHARE("dram")
AM_RANGE(0x01000000, 0x010bffff) AM_NOP // External ROM
AM_RANGE(0x010c0000, 0x010cffff) AM_ROM AM_REGION("bios", 0)
@@ -681,7 +684,7 @@ static ADDRESS_MAP_START( cpu_map, AS_PROGRAM, 32, rastersp_state )
AM_RANGE(0xfff00000, 0xffffffff) AM_RAMBANK("bank3")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 32, rastersp_state )
+ADDRESS_MAP_START(rastersp_state::io_map)
AM_RANGE(0x0020, 0x0023) AM_WRITE(cyrix_cache_w)
AM_RANGE(0x1000, 0x1003) AM_READ_PORT("P1") AM_WRITE(port1_w)
AM_RANGE(0x1004, 0x1007) AM_READ_PORT("P2") AM_WRITE(port2_w)
@@ -694,7 +697,7 @@ static ADDRESS_MAP_START( io_map, AS_IO, 32, rastersp_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dsp_map, AS_PROGRAM, 32, rastersp_state )
+ADDRESS_MAP_START(rastersp_state::dsp_map)
AM_RANGE(0x000000, 0x0fffff) AM_RAMBANK("bank1")
AM_RANGE(0x400000, 0x40ffff) AM_ROM AM_REGION("dspboot", 0)
AM_RANGE(0x808000, 0x80807f) AM_READWRITE(tms32031_control_r, tms32031_control_w)
diff --git a/src/mame/drivers/ravens.cpp b/src/mame/drivers/ravens.cpp
index c5d0299674d..ced2772ae4a 100644
--- a/src/mame/drivers/ravens.cpp
+++ b/src/mame/drivers/ravens.cpp
@@ -105,6 +105,9 @@ public:
void ravens(machine_config &config);
void ravens2(machine_config &config);
+ void ravens2_io(address_map &map);
+ void ravens_io(address_map &map);
+ void ravens_mem(address_map &map);
private:
uint8_t m_term_char;
uint8_t m_term_data;
@@ -203,21 +206,21 @@ MACHINE_RESET_MEMBER( ravens_state, ravens2 )
}
-static ADDRESS_MAP_START( ravens_mem, AS_PROGRAM, 8, ravens_state )
+ADDRESS_MAP_START(ravens_state::ravens_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x07ff) AM_ROM
AM_RANGE( 0x0800, 0x1fff) AM_RAM
AM_RANGE( 0x2000, 0x7FFF) AM_RAM // for quickload, optional
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ravens_io, AS_IO, 8, ravens_state )
+ADDRESS_MAP_START(ravens_state::ravens_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x09, 0x09) AM_WRITE(leds_w) // LED output port
AM_RANGE(0x10, 0x15) AM_WRITE(display_w) // 6-led display
AM_RANGE(0x17, 0x17) AM_READ(port17_r) // pushbuttons
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ravens2_io, AS_IO, 8, ravens_state )
+ADDRESS_MAP_START(ravens_state::ravens2_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x07, 0x07) AM_READ(port07_r)
AM_RANGE(0x1b, 0x1b) AM_WRITE(port1b_w)
diff --git a/src/mame/drivers/rbisland.cpp b/src/mame/drivers/rbisland.cpp
index 34f62b38211..f6e966be623 100644
--- a/src/mame/drivers/rbisland.cpp
+++ b/src/mame/drivers/rbisland.cpp
@@ -346,7 +346,7 @@ WRITE16_MEMBER(rbisland_state::jumping_sound_w)
MEMORY STRUCTURES
***************************************************************************/
-static ADDRESS_MAP_START( rbisland_map, AS_PROGRAM, 16, rbisland_state )
+ADDRESS_MAP_START(rbisland_state::rbisland_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x10c000, 0x10ffff) AM_RAM /* main RAM */
AM_RANGE(0x200000, 0x200fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -367,7 +367,7 @@ static ADDRESS_MAP_START( rbisland_map, AS_PROGRAM, 16, rbisland_state )
AM_RANGE(0xd00000, 0xd03fff) AM_DEVREADWRITE("pc090oj", pc090oj_device, word_r, word_w) /* sprite ram + other stuff */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jumping_map, AS_PROGRAM, 16, rbisland_state )
+ADDRESS_MAP_START(rbisland_state::jumping_map)
AM_RANGE(0x000000, 0x09ffff) AM_ROM
AM_RANGE(0x10c000, 0x10ffff) AM_RAM /* main RAM */
AM_RANGE(0x200000, 0x200fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -408,7 +408,7 @@ READ8_MEMBER(rbisland_state::jumping_latch_r)
}
-static ADDRESS_MAP_START( rbisland_sound_map, AS_PROGRAM, 8, rbisland_state )
+ADDRESS_MAP_START(rbisland_state::rbisland_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0x8fff) AM_RAM
@@ -418,7 +418,7 @@ static ADDRESS_MAP_START( rbisland_sound_map, AS_PROGRAM, 8, rbisland_state )
AM_RANGE(0xa001, 0xa001) AM_DEVREADWRITE("ciu", pc060ha_device, slave_comm_r, slave_comm_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jumping_sound_map, AS_PROGRAM, 8, rbisland_state )
+ADDRESS_MAP_START(rbisland_state::jumping_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0xb000, 0xb001) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
diff --git a/src/mame/drivers/rbmk.cpp b/src/mame/drivers/rbmk.cpp
index e42c4fe30d2..80e331e5045 100644
--- a/src/mame/drivers/rbmk.cpp
+++ b/src/mame/drivers/rbmk.cpp
@@ -93,6 +93,10 @@ public:
void rbmk(machine_config &config);
void rbspm(machine_config &config);
+ void mcu_io(address_map &map);
+ void mcu_mem(address_map &map);
+ void rbmk_mem(address_map &map);
+ void rbspm_mem(address_map &map);
protected:
virtual void video_start() override;
@@ -160,7 +164,7 @@ WRITE16_MEMBER(rbmk_state::eeprom_w)
}
-static ADDRESS_MAP_START( rbmk_mem, AS_PROGRAM, 16, rbmk_state )
+ADDRESS_MAP_START(rbmk_state::rbmk_mem)
AM_RANGE(0x000000, 0x07ffff) AM_ROM AM_WRITENOP
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x500000, 0x50ffff) AM_RAM
@@ -177,7 +181,7 @@ static ADDRESS_MAP_START( rbmk_mem, AS_PROGRAM, 16, rbmk_state )
AM_RANGE(0xc28000, 0xc28001) AM_WRITE(unk_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rbspm_mem, AS_PROGRAM, 16, rbmk_state )
+ADDRESS_MAP_START(rbmk_state::rbspm_mem)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x200000, 0x200001) AM_WRITE(eeprom_w) // wrong
AM_RANGE(0x300000, 0x300001) AM_READWRITE(dip_mux_r, dip_mux_w)
@@ -193,7 +197,7 @@ static ADDRESS_MAP_START( rbspm_mem, AS_PROGRAM, 16, rbmk_state )
AM_RANGE(0x9c0000, 0x9c0fff) AM_RAM AM_SHARE("vidram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mcu_mem, AS_PROGRAM, 8, rbmk_state )
+ADDRESS_MAP_START(rbmk_state::mcu_mem)
// AM_RANGE(0x0000, 0x0fff) AM_ROM
ADDRESS_MAP_END
@@ -232,7 +236,7 @@ WRITE8_MEMBER(rbmk_state::mcu_io_mux_w)
m_mux_data = ~data;
}
-static ADDRESS_MAP_START( mcu_io, AS_IO, 8, rbmk_state )
+ADDRESS_MAP_START(rbmk_state::mcu_io)
AM_RANGE(0x0ff00, 0x0ffff) AM_READWRITE(mcu_io_r, mcu_io_w )
AM_RANGE(MCS51_PORT_P3, MCS51_PORT_P3) AM_WRITE(mcu_io_mux_w )
diff --git a/src/mame/drivers/rc702.cpp b/src/mame/drivers/rc702.cpp
index 5608090ed4e..dc16ac159f1 100644
--- a/src/mame/drivers/rc702.cpp
+++ b/src/mame/drivers/rc702.cpp
@@ -75,6 +75,8 @@ public:
void kbd_put(u8 data);
void rc702(machine_config &config);
+ void rc702_io(address_map &map);
+ void rc702_mem(address_map &map);
private:
bool m_q_state;
bool m_qbar_state;
@@ -95,12 +97,12 @@ private:
};
-static ADDRESS_MAP_START(rc702_mem, AS_PROGRAM, 8, rc702_state)
+ADDRESS_MAP_START(rc702_state::rc702_mem)
AM_RANGE(0x0000, 0x07ff) AM_READ_BANK("bankr0") AM_WRITE_BANK("bankw0")
AM_RANGE(0x0800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(rc702_io, AS_IO, 8, rc702_state)
+ADDRESS_MAP_START(rc702_state::rc702_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("crtc", i8275_device, read, write)
diff --git a/src/mame/drivers/rc759.cpp b/src/mame/drivers/rc759.cpp
index c47eed08875..0c3768700e2 100644
--- a/src/mame/drivers/rc759.cpp
+++ b/src/mame/drivers/rc759.cpp
@@ -105,6 +105,8 @@ public:
DECLARE_READ8_MEMBER(irq_callback);
void rc759(machine_config &config);
+ void rc759_io(address_map &map);
+ void rc759_map(address_map &map);
protected:
// driver_device overrides
virtual void machine_start() override;
@@ -465,13 +467,13 @@ void rc759_state::machine_reset()
// ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( rc759_map, AS_PROGRAM, 16, rc759_state )
+ADDRESS_MAP_START(rc759_state::rc759_map)
AM_RANGE(0x00000, 0x3ffff) AM_RAM
AM_RANGE(0xd0000, 0xd7fff) AM_MIRROR(0x08000) AM_RAM AM_SHARE("vram")
AM_RANGE(0xe8000, 0xeffff) AM_MIRROR(0x10000) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rc759_io, AS_IO, 16, rc759_state )
+ADDRESS_MAP_START(rc759_state::rc759_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000, 0x003) AM_MIRROR(0x0c) AM_DEVREADWRITE8("pic", pic8259_device, read, write, 0x00ff)
AM_RANGE(0x020, 0x021) AM_READ8(keyboard_r, 0x00ff)
diff --git a/src/mame/drivers/rcorsair.cpp b/src/mame/drivers/rcorsair.cpp
index 01f55af0571..2b91ce5df1e 100644
--- a/src/mame/drivers/rcorsair.cpp
+++ b/src/mame/drivers/rcorsair.cpp
@@ -73,6 +73,9 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void rcorsair(machine_config &config);
+ void rcorsair_main_map(address_map &map);
+ void rcorsair_sub_io_map(address_map &map);
+ void rcorsair_sub_map(address_map &map);
protected:
// devices
@@ -84,16 +87,16 @@ protected:
};
-static ADDRESS_MAP_START( rcorsair_main_map, AS_PROGRAM, 8, rcorsair_state )
+ADDRESS_MAP_START(rcorsair_state::rcorsair_main_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0xa000, 0xa03f) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rcorsair_sub_map, AS_PROGRAM, 8, rcorsair_state )
+ADDRESS_MAP_START(rcorsair_state::rcorsair_sub_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rcorsair_sub_io_map, AS_IO, 8, rcorsair_state )
+ADDRESS_MAP_START(rcorsair_state::rcorsair_sub_io_map)
ADDRESS_MAP_END
static INPUT_PORTS_START( inports )
diff --git a/src/mame/drivers/rd100.cpp b/src/mame/drivers/rd100.cpp
index a9924bfc18a..21ad378c454 100644
--- a/src/mame/drivers/rd100.cpp
+++ b/src/mame/drivers/rd100.cpp
@@ -37,12 +37,13 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void rd100(machine_config &config);
+ void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, rd100_state )
+ADDRESS_MAP_START(rd100_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_RAM
//AM_RANGE(0x8608, 0x860f) AM_DEVREADWRITE("timer", ptm6840_device, read, write)
diff --git a/src/mame/drivers/rd110.cpp b/src/mame/drivers/rd110.cpp
index 2fe748477ab..19171596eff 100644
--- a/src/mame/drivers/rd110.cpp
+++ b/src/mame/drivers/rd110.cpp
@@ -74,6 +74,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void d110(machine_config &config);
+ void d110_io(address_map &map);
+ void d110_map(address_map &map);
private:
uint8_t m_lcd_data_buffer[256];
@@ -214,7 +216,7 @@ PALETTE_INIT_MEMBER(d110_state, d110)
palette.set_pen_color(1, rgb_t(0, 0, 0));
}
-static ADDRESS_MAP_START( d110_map, AS_PROGRAM, 8, d110_state )
+ADDRESS_MAP_START(d110_state::d110_map)
AM_RANGE(0x0100, 0x0100) AM_WRITE(bank_w)
AM_RANGE(0x0200, 0x0200) AM_WRITE(so_w)
AM_RANGE(0x021a, 0x021a) AM_READ_PORT("SC0") AM_WRITENOP
@@ -226,7 +228,7 @@ static ADDRESS_MAP_START( d110_map, AS_PROGRAM, 8, d110_state )
AM_RANGE(0xc000, 0xffff) AM_RAMBANK("fixed")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( d110_io, AS_IO, 16, d110_state )
+ADDRESS_MAP_START(d110_state::d110_io)
AM_RANGE(i8x9x_device::SERIAL, i8x9x_device::SERIAL) AM_WRITE(midi_w)
AM_RANGE(i8x9x_device::P0, i8x9x_device::P0) AM_READ(port0_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/re900.cpp b/src/mame/drivers/re900.cpp
index 2b7da70bbfd..4115e38a526 100644
--- a/src/mame/drivers/re900.cpp
+++ b/src/mame/drivers/re900.cpp
@@ -122,6 +122,8 @@ public:
DECLARE_DRIVER_INIT(re900);
void re900(machine_config &config);
void bs94(machine_config &config);
+ void mem_io(address_map &map);
+ void mem_prg(address_map &map);
};
@@ -244,11 +246,11 @@ WRITE8_MEMBER(re900_state::watchdog_reset_w)
* Memory Map Information *
*******************************/
-static ADDRESS_MAP_START( mem_prg, AS_PROGRAM, 8, re900_state )
+ADDRESS_MAP_START(re900_state::mem_prg)
AM_RANGE(0x0000, 0xffff) AM_ROM AM_SHARE("rom")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mem_io, AS_IO, 8, re900_state )
+ADDRESS_MAP_START(re900_state::mem_io)
AM_RANGE(0x0000, 0xbfff) AM_READ(rom_r)
AM_RANGE(0xc000, 0xdfff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xe000, 0xefff) AM_WRITE(watchdog_reset_w)
diff --git a/src/mame/drivers/realbrk.cpp b/src/mame/drivers/realbrk.cpp
index a98f5515cd1..5ae80e51511 100644
--- a/src/mame/drivers/realbrk.cpp
+++ b/src/mame/drivers/realbrk.cpp
@@ -155,7 +155,7 @@ WRITE16_MEMBER(realbrk_state::backup_ram_w)
***************************************************************************/
/*Basic memory map for this HW*/
-static ADDRESS_MAP_START( base_mem, AS_PROGRAM, 16, realbrk_state )
+ADDRESS_MAP_START(realbrk_state::base_mem)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x203fff) AM_RAM AM_SHARE("spriteram") // Sprites
AM_RANGE(0x400000, 0x40ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
@@ -170,7 +170,7 @@ static ADDRESS_MAP_START( base_mem, AS_PROGRAM, 16, realbrk_state )
ADDRESS_MAP_END
/*realbrk specific memory map*/
-static ADDRESS_MAP_START( realbrk_mem, AS_PROGRAM, 16, realbrk_state )
+ADDRESS_MAP_START(realbrk_state::realbrk_mem)
AM_IMPORT_FROM(base_mem)
AM_RANGE(0x800008, 0x80000b) AM_DEVWRITE8("ymsnd", ym2413_device, write, 0x00ff) //
AM_RANGE(0xc00000, 0xc00001) AM_READ_PORT("IN0") // P1 & P2 (Inputs)
@@ -180,7 +180,7 @@ static ADDRESS_MAP_START( realbrk_mem, AS_PROGRAM, 16, realbrk_state )
ADDRESS_MAP_END
/*pkgnsh specific memory map*/
-static ADDRESS_MAP_START( pkgnsh_mem, AS_PROGRAM, 16, realbrk_state )
+ADDRESS_MAP_START(realbrk_state::pkgnsh_mem)
AM_IMPORT_FROM(base_mem)
AM_RANGE(0x800008, 0x80000b) AM_DEVWRITE8("ymsnd", ym2413_device, write, 0xff00) // YM2413
AM_RANGE(0xc00000, 0xc00013) AM_READ(pkgnsh_input_r ) // P1 & P2 (Inputs)
@@ -188,7 +188,7 @@ static ADDRESS_MAP_START( pkgnsh_mem, AS_PROGRAM, 16, realbrk_state )
ADDRESS_MAP_END
/*pkgnshdx specific memory map*/
-static ADDRESS_MAP_START( pkgnshdx_mem, AS_PROGRAM, 16, realbrk_state )
+ADDRESS_MAP_START(realbrk_state::pkgnshdx_mem)
AM_IMPORT_FROM(base_mem)
AM_RANGE(0x800008, 0x80000b) AM_DEVWRITE8("ymsnd", ym2413_device, write, 0x00ff) //
AM_RANGE(0xc00000, 0xc00013) AM_READ(pkgnshdx_input_r ) // P1 & P2 (Inputs)
@@ -197,7 +197,7 @@ static ADDRESS_MAP_START( pkgnshdx_mem, AS_PROGRAM, 16, realbrk_state )
ADDRESS_MAP_END
/*dai2kaku specific memory map*/
-static ADDRESS_MAP_START( dai2kaku_mem, AS_PROGRAM, 16, realbrk_state )
+ADDRESS_MAP_START(realbrk_state::dai2kaku_mem)
AM_IMPORT_FROM(base_mem)
AM_RANGE(0x605000, 0x6053ff) AM_RAM AM_SHARE("vram_0ras") // rasterinfo (0)
AM_RANGE(0x605400, 0x6057ff) AM_RAM AM_SHARE("vram_1ras") // rasterinfo (1)
diff --git a/src/mame/drivers/redalert.cpp b/src/mame/drivers/redalert.cpp
index 90174c4727c..cc955f31a4a 100644
--- a/src/mame/drivers/redalert.cpp
+++ b/src/mame/drivers/redalert.cpp
@@ -152,7 +152,7 @@ READ8_MEMBER(redalert_state::panther_unk_r)
*
*************************************/
-static ADDRESS_MAP_START( redalert_main_map, AS_PROGRAM, 8, redalert_state )
+ADDRESS_MAP_START(redalert_state::redalert_main_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x3fff) AM_RAM_WRITE(redalert_bitmap_videoram_w) AM_SHARE("bitmap_videoram")
AM_RANGE(0x4000, 0x4fff) AM_RAM AM_SHARE("charram")
@@ -168,7 +168,7 @@ static ADDRESS_MAP_START( redalert_main_map, AS_PROGRAM, 8, redalert_state )
AM_RANGE(0xf000, 0xffff) AM_ROM AM_REGION("maincpu", 0x8000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ww3_main_map, AS_PROGRAM, 8, redalert_state )
+ADDRESS_MAP_START(redalert_state::ww3_main_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x3fff) AM_RAM_WRITE(redalert_bitmap_videoram_w) AM_SHARE("bitmap_videoram")
AM_RANGE(0x4000, 0x4fff) AM_RAM AM_SHARE("charram")
@@ -183,7 +183,7 @@ static ADDRESS_MAP_START( ww3_main_map, AS_PROGRAM, 8, redalert_state )
AM_RANGE(0xf000, 0xffff) AM_ROM AM_REGION("maincpu", 0x8000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( panther_main_map, AS_PROGRAM, 8, redalert_state )
+ADDRESS_MAP_START(redalert_state::panther_main_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x3fff) AM_RAM_WRITE(redalert_bitmap_videoram_w) AM_SHARE("bitmap_videoram")
AM_RANGE(0x4000, 0x4fff) AM_RAM AM_SHARE("charram")
@@ -198,7 +198,7 @@ static ADDRESS_MAP_START( panther_main_map, AS_PROGRAM, 8, redalert_state )
AM_RANGE(0xf000, 0xffff) AM_ROM AM_REGION("maincpu", 0x8000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( demoneye_main_map, AS_PROGRAM, 8, redalert_state )
+ADDRESS_MAP_START(redalert_state::demoneye_main_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x3fff) AM_RAM_WRITE(redalert_bitmap_videoram_w) AM_SHARE("bitmap_videoram")
AM_RANGE(0x4000, 0x5fff) AM_RAM AM_SHARE("charram")
diff --git a/src/mame/drivers/redclash.cpp b/src/mame/drivers/redclash.cpp
index 7f40a49565a..4e05db0f222 100644
--- a/src/mame/drivers/redclash.cpp
+++ b/src/mame/drivers/redclash.cpp
@@ -90,7 +90,7 @@ WRITE8_MEMBER(redclash_state::sraider_misc_w)
}
}
-static ADDRESS_MAP_START( sraider_cpu1_map, AS_PROGRAM, 8, redclash_state )
+ADDRESS_MAP_START(redclash_state::sraider_cpu1_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM
AM_RANGE(0x7000, 0x73ff) AM_WRITEONLY AM_SHARE("spriteram")
@@ -107,7 +107,7 @@ static ADDRESS_MAP_START( sraider_cpu1_map, AS_PROGRAM, 8, redclash_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sraider_cpu2_map, AS_PROGRAM, 8, redclash_state )
+ADDRESS_MAP_START(redclash_state::sraider_cpu2_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x63ff) AM_RAM
AM_RANGE(0x8000, 0x8000) AM_READ(sraider_sound_low_r)
@@ -118,7 +118,7 @@ static ADDRESS_MAP_START( sraider_cpu2_map, AS_PROGRAM, 8, redclash_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sraider_cpu2_io_map, AS_IO, 8, redclash_state )
+ADDRESS_MAP_START(redclash_state::sraider_cpu2_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("sn1", sn76489_device, write)
AM_RANGE(0x08, 0x08) AM_DEVWRITE("sn2", sn76489_device, write)
@@ -134,7 +134,7 @@ WRITE8_MEMBER( redclash_state::irqack_w )
m_maincpu->set_input_line(0, CLEAR_LINE);
}
-static ADDRESS_MAP_START( zerohour_map, AS_PROGRAM, 8, redclash_state )
+ADDRESS_MAP_START(redclash_state::zerohour_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x3000, 0x37ff) AM_RAM
AM_RANGE(0x3800, 0x3bff) AM_RAM AM_SHARE("spriteram")
@@ -153,7 +153,7 @@ static ADDRESS_MAP_START( zerohour_map, AS_PROGRAM, 8, redclash_state )
AM_RANGE(0x7800, 0x7800) AM_WRITE(irqack_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( redclash_map, AS_PROGRAM, 8, redclash_state )
+ADDRESS_MAP_START(redclash_state::redclash_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM
// AM_RANGE(0x3000, 0x3000) AM_WRITENOP
// AM_RANGE(0x3800, 0x3800) AM_WRITENOP
diff --git a/src/mame/drivers/relief.cpp b/src/mame/drivers/relief.cpp
index 775d948b466..9dfdd86a3dd 100644
--- a/src/mame/drivers/relief.cpp
+++ b/src/mame/drivers/relief.cpp
@@ -107,7 +107,7 @@ WRITE16_MEMBER(relief_state::audio_volume_w)
}
}
-static ADDRESS_MAP_START( oki_map, 0, 8, relief_state )
+ADDRESS_MAP_START(relief_state::oki_map)
AM_RANGE(0x00000, 0x1ffff) AM_ROMBANK("okibank")
AM_RANGE(0x20000, 0x3ffff) AM_ROM
ADDRESS_MAP_END
@@ -119,7 +119,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, relief_state )
+ADDRESS_MAP_START(relief_state::main_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x3fffff)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
diff --git a/src/mame/drivers/renegade.cpp b/src/mame/drivers/renegade.cpp
index f2278c4d98f..125dbe7434e 100644
--- a/src/mame/drivers/renegade.cpp
+++ b/src/mame/drivers/renegade.cpp
@@ -230,7 +230,7 @@ WRITE8_MEMBER(renegade_state::coincounter_w)
/********************************************************************************************/
-static ADDRESS_MAP_START( renegade_nomcu_map, AS_PROGRAM, 8, renegade_state )
+ADDRESS_MAP_START(renegade_state::renegade_nomcu_map)
AM_RANGE(0x0000, 0x17ff) AM_RAM
AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(fg_videoram_w) AM_SHARE("fg_videoram")
AM_RANGE(0x2000, 0x27ff) AM_RAM AM_SHARE("spriteram")
@@ -248,13 +248,13 @@ static ADDRESS_MAP_START( renegade_nomcu_map, AS_PROGRAM, 8, renegade_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( renegade_map, AS_PROGRAM, 8, renegade_state )
+ADDRESS_MAP_START(renegade_state::renegade_map)
AM_IMPORT_FROM(renegade_nomcu_map)
AM_RANGE(0x3804, 0x3804) AM_DEVREADWRITE("mcu", taito68705_mcu_device, data_r, data_w)
AM_RANGE(0x3805, 0x3805) AM_READ(mcu_reset_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( renegade_sound_map, AS_PROGRAM, 8, renegade_state )
+ADDRESS_MAP_START(renegade_state::renegade_sound_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x1000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0x1800, 0x1800) AM_WRITE(adpcm_start_w)
diff --git a/src/mame/drivers/replicator.cpp b/src/mame/drivers/replicator.cpp
index 69bbf55d92d..3d488f3a951 100644
--- a/src/mame/drivers/replicator.cpp
+++ b/src/mame/drivers/replicator.cpp
@@ -187,6 +187,9 @@ public:
virtual void machine_reset() override;
DECLARE_PALETTE_INIT(replicator);
void replicator(machine_config &config);
+ void replicator_data_map(address_map &map);
+ void replicator_io_map(address_map &map);
+ void replicator_prg_map(address_map &map);
};
void replicator_state::machine_start()
@@ -529,15 +532,15 @@ WRITE8_MEMBER(replicator_state::port_w)
* Address maps *
\****************************************************/
-static ADDRESS_MAP_START( replicator_prg_map, AS_PROGRAM, 8, replicator_state )
+ADDRESS_MAP_START(replicator_state::replicator_prg_map)
AM_RANGE(0x0000, 0x1FFFF) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( replicator_data_map, AS_DATA, 8, replicator_state )
+ADDRESS_MAP_START(replicator_state::replicator_data_map)
AM_RANGE(0x0200, 0x21FF) AM_RAM /* ATMEGA1280 Internal SRAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( replicator_io_map, AS_IO, 8, replicator_state )
+ADDRESS_MAP_START(replicator_state::replicator_io_map)
AM_RANGE(AVR8_IO_PORTA, AVR8_IO_PORTL) AM_READWRITE( port_r, port_w )
ADDRESS_MAP_END
diff --git a/src/mame/drivers/retofinv.cpp b/src/mame/drivers/retofinv.cpp
index 48176fc95be..5e29b3d014c 100644
--- a/src/mame/drivers/retofinv.cpp
+++ b/src/mame/drivers/retofinv.cpp
@@ -177,7 +177,7 @@ READ8_MEMBER(retofinv_state::mcu_status_r)
empty socket at IC73 from 6000-7fff) and if it finds a particular
string there, it jumps to that area, presumably for diagnostic use */
-static ADDRESS_MAP_START( bootleg_map, AS_PROGRAM, 8, retofinv_state )
+ADDRESS_MAP_START(retofinv_state::bootleg_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x7fff, 0x7fff) AM_WRITE(coincounter_w)
AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(fg_videoram_w) AM_SHARE("fg_videoram")
@@ -197,14 +197,14 @@ static ADDRESS_MAP_START( bootleg_map, AS_PROGRAM, 8, retofinv_state )
AM_RANGE(0xf800, 0xf800) AM_READ(cpu0_mf800_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, retofinv_state )
+ADDRESS_MAP_START(retofinv_state::main_map)
AM_IMPORT_FROM(bootleg_map)
AM_RANGE(0xc003, 0xc003) AM_READ(mcu_status_r)
AM_RANGE(0xe000, 0xe000) AM_DEVREAD("68705", taito68705_mcu_device, data_r)
AM_RANGE(0xe800, 0xe800) AM_DEVWRITE("68705", taito68705_mcu_device, data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 8, retofinv_state )
+ADDRESS_MAP_START(retofinv_state::sub_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(fg_videoram_w) AM_SHARE("fg_videoram")
AM_RANGE(0x8800, 0x9fff) AM_RAM AM_SHARE("sharedram")
@@ -212,7 +212,7 @@ static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 8, retofinv_state )
AM_RANGE(0xc800, 0xc807) AM_DEVWRITE("mainlatch", ls259_device, write_d0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, retofinv_state )
+ADDRESS_MAP_START(retofinv_state::sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x27ff) AM_RAM /* 6116 sram at IC28 */
AM_RANGE(0x4000, 0x4000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/rex6000.cpp b/src/mame/drivers/rex6000.cpp
index 0ee0bd471c8..d1631f2e5e8 100644
--- a/src/mame/drivers/rex6000.cpp
+++ b/src/mame/drivers/rex6000.cpp
@@ -124,6 +124,9 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(sec_timer);
DECLARE_QUICKLOAD_LOAD_MEMBER(rex6000);
void rex6000(machine_config &config);
+ void rex6000_banked_map(address_map &map);
+ void rex6000_io(address_map &map);
+ void rex6000_mem(address_map &map);
};
@@ -148,6 +151,8 @@ public:
uint32_t screen_update_oz(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void oz750(machine_config &config);
+ void oz750_banked_map(address_map &map);
+ void oz750_io(address_map &map);
private:
int oz_wzd_extract_tag(const std::vector<uint8_t> &data, const char *tag, char *dest_buf);
@@ -365,7 +370,7 @@ WRITE8_MEMBER( oz750_state::kb_mask_w )
m_kb_mask = (m_kb_mask & 0xff00) | data;
}
-static ADDRESS_MAP_START(rex6000_banked_map, AS_PROGRAM, 8, rex6000_state)
+ADDRESS_MAP_START(rex6000_state::rex6000_banked_map)
AM_RANGE( 0x0000000, 0x00fffff ) AM_DEVREADWRITE("flash0a", intelfsh8_device, read, write)
AM_RANGE( 0x0100000, 0x01fffff ) AM_DEVREADWRITE("flash0b", intelfsh8_device, read, write)
AM_RANGE( 0x0c00000, 0x0cfffff ) AM_DEVREADWRITE("flash1a", intelfsh8_device, read, write)
@@ -375,7 +380,7 @@ static ADDRESS_MAP_START(rex6000_banked_map, AS_PROGRAM, 8, rex6000_state)
AM_RANGE( 0x2000000, 0x2007fff ) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(oz750_banked_map, AS_PROGRAM, 8, oz750_state)
+ADDRESS_MAP_START(oz750_state::oz750_banked_map)
AM_RANGE( 0x0000000, 0x01fffff ) AM_DEVREADWRITE("flash0a", intelfsh8_device, read, write)
AM_RANGE( 0x0200000, 0x02fffff ) AM_MIRROR(0x100000) AM_DEVREADWRITE("flash1a", intelfsh8_device, read, write)
AM_RANGE( 0x0600000, 0x07fffff ) AM_READWRITE(lcd_io_r, lcd_io_w)
@@ -384,7 +389,7 @@ static ADDRESS_MAP_START(oz750_banked_map, AS_PROGRAM, 8, oz750_state)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(rex6000_mem, AS_PROGRAM, 8, rex6000_state)
+ADDRESS_MAP_START(rex6000_state::rex6000_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x7fff ) AM_DEVREADWRITE("flash0a", intelfsh8_device, read, write)
AM_RANGE( 0x8000, 0x9fff ) AM_DEVREADWRITE("bank0", address_map_bank_device, read8, write8)
@@ -392,7 +397,7 @@ static ADDRESS_MAP_START(rex6000_mem, AS_PROGRAM, 8, rex6000_state)
AM_RANGE( 0xc000, 0xffff ) AM_RAMBANK("ram") //system RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rex6000_io, AS_IO, 8, rex6000_state)
+ADDRESS_MAP_START(rex6000_state::rex6000_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x04 ) AM_READWRITE(bankswitch_r, bankswitch_w)
@@ -406,7 +411,7 @@ static ADDRESS_MAP_START( rex6000_io, AS_IO, 8, rex6000_state)
AM_RANGE( 0x60, 0x6f ) AM_READWRITE(touchscreen_r, touchscreen_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( oz750_io, AS_IO, 8, oz750_state)
+ADDRESS_MAP_START(oz750_state::oz750_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x04 ) AM_READWRITE(bankswitch_r, bankswitch_w)
diff --git a/src/mame/drivers/rgum.cpp b/src/mame/drivers/rgum.cpp
index 7eedc0b2dc2..1caa6888f71 100644
--- a/src/mame/drivers/rgum.cpp
+++ b/src/mame/drivers/rgum.cpp
@@ -44,6 +44,7 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
void rgum(machine_config &config);
+ void rgum_map(address_map &map);
};
@@ -73,7 +74,7 @@ uint32_t rgum_state::screen_update_royalgum(screen_device &screen, bitmap_ind16
return 0;
}
-static ADDRESS_MAP_START( rgum_map, AS_PROGRAM, 8, rgum_state )
+ADDRESS_MAP_START(rgum_state::rgum_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM //not all of it?
AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_device, address_w)
diff --git a/src/mame/drivers/risc2500.cpp b/src/mame/drivers/risc2500.cpp
index 1a1915915ba..294dc74ce39 100644
--- a/src/mame/drivers/risc2500.cpp
+++ b/src/mame/drivers/risc2500.cpp
@@ -48,6 +48,7 @@ public:
void remove_boot_rom();
void risc2500(machine_config &config);
+ void risc2500_mem(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<ram_device> m_ram;
@@ -287,7 +288,7 @@ void risc2500_state::machine_reset()
install_boot_rom();
}
-static ADDRESS_MAP_START(risc2500_mem, AS_PROGRAM, 32, risc2500_state )
+ADDRESS_MAP_START(risc2500_state::risc2500_mem)
AM_RANGE( 0x00000000, 0x0001ffff ) AM_RAM
AM_RANGE( 0x01800000, 0x01800003 ) AM_READ(disable_boot_rom)
AM_RANGE( 0x01000000, 0x01000003 ) AM_READWRITE(p1000_r, p1000_w)
diff --git a/src/mame/drivers/riscpc.cpp b/src/mame/drivers/riscpc.cpp
index 0f690ddd150..463257d0c42 100644
--- a/src/mame/drivers/riscpc.cpp
+++ b/src/mame/drivers/riscpc.cpp
@@ -73,6 +73,7 @@ public:
void sarpc_j233(machine_config &config);
void a7000(machine_config &config);
void a7000p(machine_config &config);
+ void a7000_mem(address_map &map);
};
@@ -757,7 +758,7 @@ WRITE32_MEMBER( riscpc_state::a7000_iomd_w )
}
}
-static ADDRESS_MAP_START( a7000_mem, AS_PROGRAM, 32, riscpc_state)
+ADDRESS_MAP_START(riscpc_state::a7000_mem)
AM_RANGE(0x00000000, 0x003fffff) AM_MIRROR(0x00800000) AM_ROM AM_REGION("user1", 0)
// AM_RANGE(0x01000000, 0x01ffffff) AM_NOP //expansion ROM
// AM_RANGE(0x02000000, 0x02ffffff) AM_RAM //VRAM
diff --git a/src/mame/drivers/rltennis.cpp b/src/mame/drivers/rltennis.cpp
index efc61c347ab..201a4b16816 100644
--- a/src/mame/drivers/rltennis.cpp
+++ b/src/mame/drivers/rltennis.cpp
@@ -91,7 +91,7 @@ WRITE16_MEMBER(rltennis_state::snd2_w)
COMBINE_DATA(&m_data740000);
}
-static ADDRESS_MAP_START( rltennis_main, AS_PROGRAM, 16, rltennis_state )
+ADDRESS_MAP_START(rltennis_state::rltennis_main)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x200000, 0x20ffff) AM_RAM
@@ -179,7 +179,7 @@ void rltennis_state::machine_reset()
m_timer->adjust(attotime::from_hz(RLT_TIMER_FREQ));
}
-static ADDRESS_MAP_START( ramdac_map, 0, 8, rltennis_state )
+ADDRESS_MAP_START(rltennis_state::ramdac_map)
AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac",ramdac_device,ramdac_pal_r,ramdac_rgb888_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/rm380z.cpp b/src/mame/drivers/rm380z.cpp
index aca5b6b1fc9..b12d6d1ccb9 100644
--- a/src/mame/drivers/rm380z.cpp
+++ b/src/mame/drivers/rm380z.cpp
@@ -171,7 +171,7 @@ Module timer tag static_vblank_timer name m_expire.seconds
#include "screen.h"
-static ADDRESS_MAP_START(rm380z_mem, AS_PROGRAM, 8, rm380z_state)
+ADDRESS_MAP_START(rm380z_state::rm380z_mem)
AM_RANGE( 0xe000, 0xefff ) AM_ROM AM_REGION(RM380Z_MAINCPU_TAG, 0)
AM_RANGE( 0xf000, 0xf5ff ) AM_READWRITE(videoram_read,videoram_write)
AM_RANGE( 0xf600, 0xf9ff ) AM_ROM AM_REGION(RM380Z_MAINCPU_TAG, 0x1000) /* Extra ROM space for COS4.0 */
@@ -180,7 +180,7 @@ static ADDRESS_MAP_START(rm380z_mem, AS_PROGRAM, 8, rm380z_state)
AM_RANGE( 0xfc00, 0xffff ) AM_READWRITE(hiram_read,hiram_write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rm380z_io , AS_IO, 8, rm380z_state)
+ADDRESS_MAP_START(rm380z_state::rm380z_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0xbf) AM_READWRITE(rm380z_portlow_r, rm380z_portlow_w)
AM_RANGE(0xc0, 0xc3) AM_DEVREADWRITE("wd1771", fd1771_device, read, write)
@@ -188,13 +188,13 @@ static ADDRESS_MAP_START( rm380z_io , AS_IO, 8, rm380z_state)
AM_RANGE(0xc5, 0xff) AM_READWRITE(rm380z_porthi_r, rm380z_porthi_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(rm480z_mem, AS_PROGRAM, 8, rm380z_state)
+ADDRESS_MAP_START(rm380z_state::rm480z_mem)
AM_RANGE( 0x0000, 0xe7ff ) AM_RAM
AM_RANGE( 0xe800, 0xf7ff ) AM_ROM AM_REGION(RM380Z_MAINCPU_TAG, 0)
AM_RANGE( 0xf800, 0xffff ) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rm480z_io , AS_IO, 8, rm380z_state)
+ADDRESS_MAP_START(rm380z_state::rm480z_io)
//AM_RANGE(0x00, 0x17) AM_RAM // videoram
//AM_RANGE(0x18, 0x18) AM_MIRROR(0xff00) // control port 0
//AM_RANGE(0x19, 0x19) AM_MIRROR(0xff00) // control port 1
diff --git a/src/mame/drivers/rmhaihai.cpp b/src/mame/drivers/rmhaihai.cpp
index cb29327b4bf..e31d0caf0fe 100644
--- a/src/mame/drivers/rmhaihai.cpp
+++ b/src/mame/drivers/rmhaihai.cpp
@@ -79,6 +79,10 @@ public:
void themj(machine_config &config);
void rmhaisei(machine_config &config);
void rmhaihai(machine_config &config);
+ void rmhaihai_io_map(address_map &map);
+ void rmhaihai_map(address_map &map);
+ void themj_io_map(address_map &map);
+ void themj_map(address_map &map);
};
@@ -227,7 +231,7 @@ MACHINE_RESET_MEMBER(rmhaihai_state,themj)
-static ADDRESS_MAP_START( rmhaihai_map, AS_PROGRAM, 8, rmhaihai_state )
+ADDRESS_MAP_START(rmhaihai_state::rmhaihai_map)
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xa800, 0xafff) AM_RAM_WRITE(colorram_w) AM_SHARE("colorram")
@@ -238,7 +242,7 @@ static ADDRESS_MAP_START( rmhaihai_map, AS_PROGRAM, 8, rmhaihai_state )
AM_RANGE(0xe000, 0xffff) AM_ROM /* rmhaisei only */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rmhaihai_io_map, AS_IO, 8, rmhaihai_state )
+ADDRESS_MAP_START(rmhaihai_state::rmhaihai_io_map)
AM_RANGE(0x0000, 0x7fff) AM_READ(samples_r)
AM_RANGE(0x8000, 0x8000) AM_READ(keyboard_r) AM_WRITENOP // ??
AM_RANGE(0x8001, 0x8001) AM_READNOP AM_WRITE(keyboard_w) // ??
@@ -251,7 +255,7 @@ static ADDRESS_MAP_START( rmhaihai_io_map, AS_IO, 8, rmhaihai_state )
AM_RANGE(0xbc0c, 0xbc0c) AM_WRITENOP // ??
ADDRESS_MAP_END
-static ADDRESS_MAP_START( themj_map, AS_PROGRAM, 8, rmhaihai_state )
+ADDRESS_MAP_START(rmhaihai_state::themj_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("bank1")
AM_RANGE(0xa000, 0xa7ff) AM_RAM
@@ -261,7 +265,7 @@ static ADDRESS_MAP_START( themj_map, AS_PROGRAM, 8, rmhaihai_state )
AM_RANGE(0xe000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( themj_io_map, AS_IO, 8, rmhaihai_state )
+ADDRESS_MAP_START(rmhaihai_state::themj_io_map)
AM_RANGE(0x0000, 0x7fff) AM_READ(samples_r)
AM_RANGE(0x8000, 0x8000) AM_READ(keyboard_r) AM_WRITENOP // ??
AM_RANGE(0x8001, 0x8001) AM_READNOP AM_WRITE(keyboard_w) // ??
diff --git a/src/mame/drivers/rmnimbus.cpp b/src/mame/drivers/rmnimbus.cpp
index 2bbd5249183..13dc97c2f8b 100644
--- a/src/mame/drivers/rmnimbus.cpp
+++ b/src/mame/drivers/rmnimbus.cpp
@@ -36,7 +36,7 @@ static SLOT_INTERFACE_START(keyboard)
SLOT_INTERFACE("rmnkbd", RMNIMBUS_KEYBOARD)
SLOT_INTERFACE_END
-static ADDRESS_MAP_START(nimbus_mem, AS_PROGRAM, 16, rmnimbus_state )
+ADDRESS_MAP_START(rmnimbus_state::nimbus_mem)
AM_RANGE( 0x00000, 0x1FFFF ) AM_RAMBANK(RAM_BANK00_TAG)
AM_RANGE( 0x20000, 0x3FFFF ) AM_RAMBANK(RAM_BANK01_TAG)
AM_RANGE( 0x40000, 0x5FFFF ) AM_RAMBANK(RAM_BANK02_TAG)
@@ -48,7 +48,7 @@ static ADDRESS_MAP_START(nimbus_mem, AS_PROGRAM, 16, rmnimbus_state )
AM_RANGE( 0xF0000, 0xFFFFF ) AM_ROM AM_REGION(MAINCPU_TAG, 0x0f0000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(nimbus_io, AS_IO, 16, rmnimbus_state )
+ADDRESS_MAP_START(rmnimbus_state::nimbus_io)
AM_RANGE( 0x0000, 0x0031) AM_READWRITE(nimbus_video_io_r, nimbus_video_io_w)
AM_RANGE( 0x0080, 0x0081) AM_READWRITE8(nimbus_mcu_r, nimbus_mcu_w, 0x00FF)
AM_RANGE( 0x0092, 0x0093) AM_READWRITE8(nimbus_iou_r, nimbus_iou_w, 0x00FF)
@@ -89,12 +89,12 @@ static INPUT_PORTS_START( nimbus )
INPUT_PORTS_END
-static ADDRESS_MAP_START(nimbus_iocpu_mem, AS_PROGRAM, 8, rmnimbus_state )
+ADDRESS_MAP_START(rmnimbus_state::nimbus_iocpu_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nimbus_iocpu_io , AS_IO, 8, rmnimbus_state )
+ADDRESS_MAP_START(rmnimbus_state::nimbus_iocpu_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000, 0x000FF) AM_READWRITE(nimbus_pc8031_iou_r, nimbus_pc8031_iou_w)
AM_RANGE(0x20000, 0x20004) AM_READWRITE(nimbus_pc8031_port_r, nimbus_pc8031_port_w)
diff --git a/src/mame/drivers/rmt32.cpp b/src/mame/drivers/rmt32.cpp
index e01770b979f..841565fcc47 100644
--- a/src/mame/drivers/rmt32.cpp
+++ b/src/mame/drivers/rmt32.cpp
@@ -217,6 +217,8 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(samples_timer_cb);
void mt32(machine_config &config);
+ void mt32_io(address_map &map);
+ void mt32_map(address_map &map);
private:
uint8_t lcd_data_buffer[256];
int lcd_data_buffer_pos;
@@ -332,7 +334,7 @@ PALETTE_INIT_MEMBER(mt32_state, mt32)
palette.set_pen_color(1, rgb_t(0, 255, 0));
}
-static ADDRESS_MAP_START( mt32_map, AS_PROGRAM, 8, mt32_state )
+ADDRESS_MAP_START(mt32_state::mt32_map)
AM_RANGE(0x0100, 0x0100) AM_WRITE(bank_w)
AM_RANGE(0x0200, 0x0200) AM_WRITE(so_w)
AM_RANGE(0x021a, 0x021a) AM_READ_PORT("SC0")
@@ -344,7 +346,7 @@ static ADDRESS_MAP_START( mt32_map, AS_PROGRAM, 8, mt32_state )
AM_RANGE(0xc000, 0xffff) AM_RAMBANK("fixed")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mt32_io, AS_IO, 16, mt32_state )
+ADDRESS_MAP_START(mt32_state::mt32_io)
AM_RANGE(i8x9x_device::A7, i8x9x_device::A7) AM_READ_PORT("A7")
AM_RANGE(i8x9x_device::SERIAL, i8x9x_device::SERIAL) AM_WRITE(midi_w)
AM_RANGE(i8x9x_device::P0, i8x9x_device::P0) AM_READ(port0_r)
diff --git a/src/mame/drivers/rockrage.cpp b/src/mame/drivers/rockrage.cpp
index 14471ce5019..548ea2db785 100644
--- a/src/mame/drivers/rockrage.cpp
+++ b/src/mame/drivers/rockrage.cpp
@@ -97,7 +97,7 @@ WRITE8_MEMBER(rockrage_state::rockrage_speech_w)
m_vlm->st((data >> 0) & 0x01);
}
-static ADDRESS_MAP_START( rockrage_map, AS_PROGRAM, 8, rockrage_state )
+ADDRESS_MAP_START(rockrage_state::rockrage_map)
AM_RANGE(0x0000, 0x1fff) AM_DEVREADWRITE("k007342", k007342_device, read, write) /* Color RAM + Video RAM */
AM_RANGE(0x2000, 0x21ff) AM_DEVREADWRITE("k007420", k007420_device, read, write) /* Sprite RAM */
AM_RANGE(0x2200, 0x23ff) AM_DEVREADWRITE("k007342", k007342_device, scroll_r, scroll_w) /* Scroll RAM */
@@ -117,7 +117,7 @@ static ADDRESS_MAP_START( rockrage_map, AS_PROGRAM, 8, rockrage_state )
AM_RANGE(0x8000, 0xffff) AM_ROM /* ROM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rockrage_sound_map, AS_PROGRAM, 8, rockrage_state )
+ADDRESS_MAP_START(rockrage_state::rockrage_sound_map)
AM_RANGE(0x2000, 0x2000) AM_DEVWRITE("vlm", vlm5030_device, data_w) /* VLM5030 */
AM_RANGE(0x3000, 0x3000) AM_READ(rockrage_VLM5030_busy_r) /* VLM5030 */
AM_RANGE(0x4000, 0x4000) AM_WRITE(rockrage_speech_w) /* VLM5030 */
@@ -127,7 +127,7 @@ static ADDRESS_MAP_START( rockrage_sound_map, AS_PROGRAM, 8, rockrage_state )
AM_RANGE(0x8000, 0xffff) AM_ROM /* ROM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rockrage_vlm_map, 0, 8, rockrage_state )
+ADDRESS_MAP_START(rockrage_state::rockrage_vlm_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x7fff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/rocnrope.cpp b/src/mame/drivers/rocnrope.cpp
index c606c511c1a..724df7fb41e 100644
--- a/src/mame/drivers/rocnrope.cpp
+++ b/src/mame/drivers/rocnrope.cpp
@@ -60,7 +60,7 @@ WRITE_LINE_MEMBER(rocnrope_state::coin_counter_2_w)
*
*************************************/
-static ADDRESS_MAP_START( rocnrope_map, AS_PROGRAM, 8, rocnrope_state )
+ADDRESS_MAP_START(rocnrope_state::rocnrope_map)
AM_RANGE(0x3080, 0x3080) AM_READ_PORT("SYSTEM")
AM_RANGE(0x3081, 0x3081) AM_READ_PORT("P1")
AM_RANGE(0x3082, 0x3082) AM_READ_PORT("P2")
diff --git a/src/mame/drivers/rohga.cpp b/src/mame/drivers/rohga.cpp
index 5442a31d965..75e58cc6919 100644
--- a/src/mame/drivers/rohga.cpp
+++ b/src/mame/drivers/rohga.cpp
@@ -139,7 +139,7 @@ WRITE16_MEMBER(rohga_state::wizdfire_irq_ack_w)
/**********************************************************************************/
-static ADDRESS_MAP_START( rohga_map, AS_PROGRAM, 16, rohga_state )
+ADDRESS_MAP_START(rohga_state::rohga_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x200000, 0x20000f) AM_DEVWRITE("tilegen1", deco16ic_device, pf_control_w)
@@ -189,7 +189,7 @@ WRITE16_MEMBER( rohga_state::wf_protection_region_0_104_w )
}
-static ADDRESS_MAP_START( wizdfire_map, AS_PROGRAM, 16, rohga_state )
+ADDRESS_MAP_START(rohga_state::wizdfire_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x200000, 0x200fff) AM_DEVREADWRITE("tilegen1", deco16ic_device, pf1_data_r, pf1_data_w)
@@ -239,7 +239,7 @@ WRITE16_MEMBER( rohga_state::nb_protection_region_0_146_w )
}
-static ADDRESS_MAP_START( nitrobal_map, AS_PROGRAM, 16, rohga_state )
+ADDRESS_MAP_START(rohga_state::nitrobal_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x200000, 0x200fff) AM_MIRROR(0x1000) AM_DEVREADWRITE("tilegen1", deco16ic_device, pf1_data_r, pf1_data_w)
@@ -273,7 +273,7 @@ static ADDRESS_MAP_START( nitrobal_map, AS_PROGRAM, 16, rohga_state )
AM_RANGE(0xff8000, 0xffffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hotb_base_map, AS_PROGRAM, 16, rohga_state )
+ADDRESS_MAP_START(rohga_state::hotb_base_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x200000, 0x20000f) AM_DEVWRITE("tilegen1", deco16ic_device, pf_control_w)
AM_RANGE(0x240000, 0x24000f) AM_DEVWRITE("tilegen2", deco16ic_device, pf_control_w)
@@ -301,21 +301,21 @@ static ADDRESS_MAP_START( hotb_base_map, AS_PROGRAM, 16, rohga_state )
AM_RANGE(0x3e0000, 0x3e1fff) AM_MIRROR(0x2000) AM_RAM_DEVWRITE("deco_common", decocomn_device, buffered_palette_w) AM_SHARE("paletteram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( schmeisr_map, AS_PROGRAM, 16, rohga_state )
+ADDRESS_MAP_START(rohga_state::schmeisr_map)
AM_IMPORT_FROM(hotb_base_map)
AM_RANGE(0xff0000, 0xff7fff) AM_RAM /* Main ram */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hangzo_map, AS_PROGRAM, 16, rohga_state )
+ADDRESS_MAP_START(rohga_state::hangzo_map)
AM_IMPORT_FROM(hotb_base_map)
AM_RANGE(0x3f0000, 0x3f3fff) AM_RAM /* Main ram */
ADDRESS_MAP_END
/******************************************************************************/
-static ADDRESS_MAP_START( rohga_sound_map, AS_PROGRAM, 8, rohga_state )
+ADDRESS_MAP_START(rohga_state::rohga_sound_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_NOP
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ymsnd", ym2151_device,read,write)
@@ -327,7 +327,7 @@ static ADDRESS_MAP_START( rohga_sound_map, AS_PROGRAM, 8, rohga_state )
AM_RANGE(0x1ff400, 0x1ff403) AM_DEVWRITE("audiocpu", h6280_device, irq_status_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nitrobal_sound_map, AS_PROGRAM, 8, rohga_state )
+ADDRESS_MAP_START(rohga_state::nitrobal_sound_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_NOP
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ymsnd", ym2151_device,read,write)
diff --git a/src/mame/drivers/rollerg.cpp b/src/mame/drivers/rollerg.cpp
index da65f2c4cda..980abd2a129 100644
--- a/src/mame/drivers/rollerg.cpp
+++ b/src/mame/drivers/rollerg.cpp
@@ -77,7 +77,7 @@ READ8_MEMBER(rollerg_state::pip_r)
return 0x7f;
}
-static ADDRESS_MAP_START( rollerg_map, AS_PROGRAM, 8, rollerg_state )
+ADDRESS_MAP_START(rollerg_state::rollerg_map)
AM_RANGE(0x0010, 0x0010) AM_WRITE(rollerg_0010_w)
AM_RANGE(0x0020, 0x0020) AM_DEVREADWRITE("watchdog", watchdog_timer_device, reset_r, reset_w)
AM_RANGE(0x0030, 0x0031) AM_DEVREADWRITE("k053260", k053260_device, main_read, main_write)
@@ -99,7 +99,7 @@ static ADDRESS_MAP_START( rollerg_map, AS_PROGRAM, 8, rollerg_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rollerg_sound_map, AS_PROGRAM, 8, rollerg_state )
+ADDRESS_MAP_START(rollerg_state::rollerg_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa02f) AM_DEVREADWRITE("k053260", k053260_device, read, write)
diff --git a/src/mame/drivers/rollext.cpp b/src/mame/drivers/rollext.cpp
index 4c0f546b3a8..584c35e486c 100644
--- a/src/mame/drivers/rollext.cpp
+++ b/src/mame/drivers/rollext.cpp
@@ -312,6 +312,7 @@ public:
void preprocess_texture_data();
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void rollext(machine_config &config);
+ void memmap(address_map &map);
};
void rollext_state::preprocess_texture_data()
@@ -508,7 +509,7 @@ WRITE32_MEMBER(rollext_state::cmd_callback)
// Master Processor memory map
-static ADDRESS_MAP_START(memmap, AS_PROGRAM, 32, rollext_state)
+ADDRESS_MAP_START(rollext_state::memmap)
AM_RANGE(0x40000000, 0x40ffffff) AM_RAM AM_SHARE("main_ram")
AM_RANGE(0x60000000, 0x600fffff) AM_RAM AM_SHARE("disp_ram")
AM_RANGE(0x80000000, 0x8000ffff) AM_RAM AM_SHARE("palette_ram")
diff --git a/src/mame/drivers/rollrace.cpp b/src/mame/drivers/rollrace.cpp
index 49db3efb2dd..d95c6974882 100644
--- a/src/mame/drivers/rollrace.cpp
+++ b/src/mame/drivers/rollrace.cpp
@@ -64,7 +64,7 @@ WRITE_LINE_MEMBER(rollrace_state::coin_counter_2_w)
machine().bookkeeping().coin_counter_w(1, state);
}
-static ADDRESS_MAP_START( rollrace_map, AS_PROGRAM, 8, rollrace_state )
+ADDRESS_MAP_START(rollrace_state::rollrace_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_ROM /* only rollace2 */
AM_RANGE(0xc000, 0xcfff) AM_RAM
@@ -86,7 +86,7 @@ static ADDRESS_MAP_START( rollrace_map, AS_PROGRAM, 8, rollrace_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rollrace_sound_map, AS_PROGRAM, 8, rollrace_state )
+ADDRESS_MAP_START(rollrace_state::rollrace_sound_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x2000, 0x2fff) AM_RAM
AM_RANGE(0x3000, 0x3000) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_WRITE(sound_nmi_mask_w)
diff --git a/src/mame/drivers/ron.cpp b/src/mame/drivers/ron.cpp
index c8542580198..257c4a5d733 100644
--- a/src/mame/drivers/ron.cpp
+++ b/src/mame/drivers/ron.cpp
@@ -67,6 +67,10 @@ public:
DECLARE_WRITE8_MEMBER(ay_pa_w);
void ron(machine_config &config);
+ void ron_audio_io(address_map &map);
+ void ron_audio_map(address_map &map);
+ void ron_io(address_map &map);
+ void ron_map(address_map &map);
protected:
// driver_device overrides
virtual void machine_start() override;
@@ -191,7 +195,7 @@ WRITE8_MEMBER(ron_state::sound_cmd_w)
m_audiocpu->set_input_line(INPUT_LINE_RESET, BIT(data, 7) ? CLEAR_LINE : ASSERT_LINE);
}
-static ADDRESS_MAP_START( ron_map, AS_PROGRAM, 8, ron_state )
+ADDRESS_MAP_START(ron_state::ron_map)
AM_RANGE(0x0000, 0x4fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM AM_SHARE("vram")
AM_RANGE(0x8400, 0x87ff) AM_RAM
@@ -199,7 +203,7 @@ static ADDRESS_MAP_START( ron_map, AS_PROGRAM, 8, ron_state )
AM_RANGE(0x8c00, 0x8fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ron_io, AS_IO, 8, ron_state )
+ADDRESS_MAP_START(ron_state::ron_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x01) AM_READ(p1_mux_r)
@@ -209,11 +213,11 @@ static ADDRESS_MAP_START( ron_io, AS_IO, 8, ron_state )
AM_RANGE(0x0a, 0x0a) AM_WRITE(output_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ron_audio_map, AS_PROGRAM, 8, ron_state)
+ADDRESS_MAP_START(ron_state::ron_audio_map)
AM_RANGE(0x0000,0x0fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ron_audio_io, AS_IO, 8, ron_state)
+ADDRESS_MAP_START(ron_state::ron_audio_io)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/rotaryf.cpp b/src/mame/drivers/rotaryf.cpp
index 92e892c9ef6..193a932c1bb 100644
--- a/src/mame/drivers/rotaryf.cpp
+++ b/src/mame/drivers/rotaryf.cpp
@@ -58,6 +58,8 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(rotaryf_interrupt);
void rotaryf(machine_config &config);
+ void rotaryf_io_map(address_map &map);
+ void rotaryf_map(address_map &map);
};
@@ -192,14 +194,14 @@ uint32_t rotaryf_state::screen_update(screen_device &screen, bitmap_rgb32 &bitma
}
-static ADDRESS_MAP_START( rotaryf_map, AS_PROGRAM, 8, rotaryf_state )
+ADDRESS_MAP_START(rotaryf_state::rotaryf_map)
AM_RANGE(0x0000, 0x17ff) AM_MIRROR(0x4000) AM_ROM
AM_RANGE(0x7000, 0x73ff) AM_MIRROR(0x0c00) AM_RAM
AM_RANGE(0x8000, 0x9fff) AM_MIRROR(0x4000) AM_RAM AM_SHARE("videoram")
AM_RANGE(0xa000, 0xa1ff) AM_RAM /* writes 00, 18, 27, 3C, 7E, FE to A019, A039, A059... A179 */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rotaryf_io_map, AS_IO, 8, rotaryf_state )
+ADDRESS_MAP_START(rotaryf_state::rotaryf_io_map)
AM_RANGE(0x02, 0x02) AM_WRITENOP
AM_RANGE(0x04, 0x04) AM_WRITENOP
AM_RANGE(0x07, 0x07) AM_WRITENOP
diff --git a/src/mame/drivers/roul.cpp b/src/mame/drivers/roul.cpp
index e75f009a375..963d4246ec6 100644
--- a/src/mame/drivers/roul.cpp
+++ b/src/mame/drivers/roul.cpp
@@ -100,6 +100,10 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void roul(machine_config &config);
+ void roul_cpu_io_map(address_map &map);
+ void roul_map(address_map &map);
+ void sound_cpu_io_map(address_map &map);
+ void sound_map(address_map &map);
};
@@ -200,12 +204,12 @@ WRITE8_MEMBER(roul_state::ball_w)
m_lamp_old = lamp;
}
-static ADDRESS_MAP_START( roul_map, AS_PROGRAM, 8, roul_state )
+ADDRESS_MAP_START(roul_state::roul_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( roul_cpu_io_map, AS_IO, 8, roul_state )
+ADDRESS_MAP_START(roul_state::roul_cpu_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xf0, 0xf4) AM_WRITE(blitter_cmd_w)
AM_RANGE(0xf5, 0xf5) AM_READ(blitter_status_r)
@@ -216,12 +220,12 @@ static ADDRESS_MAP_START( roul_cpu_io_map, AS_IO, 8, roul_state )
AM_RANGE(0xfe, 0xfe) AM_WRITE(sound_latch_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, roul_state )
+ADDRESS_MAP_START(roul_state::sound_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1000, 0x13ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_cpu_io_map, AS_IO, 8, roul_state )
+ADDRESS_MAP_START(roul_state::sound_cpu_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
diff --git a/src/mame/drivers/route16.cpp b/src/mame/drivers/route16.cpp
index da1b8f7232b..58cbf7bec7f 100644
--- a/src/mame/drivers/route16.cpp
+++ b/src/mame/drivers/route16.cpp
@@ -217,7 +217,7 @@ WRITE8_MEMBER(route16_state::speakres_out2_w)
*
*************************************/
-static ADDRESS_MAP_START( route16_cpu1_map, AS_PROGRAM, 8, route16_state )
+ADDRESS_MAP_START(route16_state::route16_cpu1_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x3000, 0x3001) AM_READ(route16_prot_read)
AM_RANGE(0x4000, 0x43ff) AM_RAM_WRITE(route16_sharedram_w<true>) AM_SHARE("sharedram")
@@ -228,7 +228,7 @@ static ADDRESS_MAP_START( route16_cpu1_map, AS_PROGRAM, 8, route16_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( routex_cpu1_map, AS_PROGRAM, 8, route16_state )
+ADDRESS_MAP_START(route16_state::routex_cpu1_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM_WRITE(route16_sharedram_w<true>) AM_SHARE("sharedram")
AM_RANGE(0x4800, 0x4800) AM_READ_PORT("DSW") AM_WRITE(out0_w)
@@ -239,7 +239,7 @@ static ADDRESS_MAP_START( routex_cpu1_map, AS_PROGRAM, 8, route16_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( stratvox_cpu1_map, AS_PROGRAM, 8, route16_state )
+ADDRESS_MAP_START(route16_state::stratvox_cpu1_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM AM_SHARE("sharedram")
AM_RANGE(0x4800, 0x4800) AM_READ_PORT("DSW") AM_WRITE(out0_w)
@@ -249,7 +249,7 @@ static ADDRESS_MAP_START( stratvox_cpu1_map, AS_PROGRAM, 8, route16_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( speakres_cpu1_map, AS_PROGRAM, 8, route16_state )
+ADDRESS_MAP_START(route16_state::speakres_cpu1_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM AM_SHARE("sharedram")
AM_RANGE(0x4800, 0x4800) AM_READ_PORT("DSW") AM_WRITE(out0_w)
@@ -260,7 +260,7 @@ static ADDRESS_MAP_START( speakres_cpu1_map, AS_PROGRAM, 8, route16_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ttmahjng_cpu1_map, AS_PROGRAM, 8, route16_state )
+ADDRESS_MAP_START(route16_state::ttmahjng_cpu1_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM AM_SHARE("sharedram")
AM_RANGE(0x4800, 0x4800) AM_READ_PORT("DSW") AM_WRITE(out0_w)
@@ -272,14 +272,14 @@ static ADDRESS_MAP_START( ttmahjng_cpu1_map, AS_PROGRAM, 8, route16_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( route16_cpu2_map, AS_PROGRAM, 8, route16_state )
+ADDRESS_MAP_START(route16_state::route16_cpu2_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM_WRITE(route16_sharedram_w<false>) AM_SHARE("sharedram")
AM_RANGE(0x8000, 0xbfff) AM_RAM AM_SHARE("videoram2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( stratvox_cpu2_map, AS_PROGRAM, 8, route16_state )
+ADDRESS_MAP_START(route16_state::stratvox_cpu2_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2800, 0x2800) AM_DEVWRITE("dac", dac_byte_interface, write)
AM_RANGE(0x4000, 0x43ff) AM_RAM AM_SHARE("sharedram")
@@ -287,7 +287,7 @@ static ADDRESS_MAP_START( stratvox_cpu2_map, AS_PROGRAM, 8, route16_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpu1_io_map, AS_IO, 8, route16_state )
+ADDRESS_MAP_START(route16_state::cpu1_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x1ff)
AM_RANGE(0x0000, 0x0000) AM_MIRROR(0x00ff) AM_DEVWRITE("ay8910", ay8910_device, data_w)
AM_RANGE(0x0100, 0x0100) AM_MIRROR(0x00ff) AM_DEVWRITE("ay8910", ay8910_device, address_w)
@@ -700,7 +700,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(route16_state::ttmahjng, route16)
MCFG_CPU_MODIFY("cpu1")
MCFG_CPU_PROGRAM_MAP(ttmahjng_cpu1_map)
- MCFG_CPU_IO_MAP(0)
+ MCFG_DEVICE_REMOVE_ADDRESS_MAP(AS_IO)
MCFG_MACHINE_START_OVERRIDE(route16_state, ttmahjng)
diff --git a/src/mame/drivers/rowamet.cpp b/src/mame/drivers/rowamet.cpp
index bbd5e17f330..e0b4685700a 100644
--- a/src/mame/drivers/rowamet.cpp
+++ b/src/mame/drivers/rowamet.cpp
@@ -50,6 +50,9 @@ public:
DECLARE_WRITE8_MEMBER(io_w);
TIMER_DEVICE_CALLBACK_MEMBER(timer_a);
void rowamet(machine_config &config);
+ void rowamet_map(address_map &map);
+ void rowamet_sub_io(address_map &map);
+ void rowamet_sub_map(address_map &map);
private:
uint8_t m_out_offs;
uint8_t m_sndcmd;
@@ -61,7 +64,7 @@ private:
};
-static ADDRESS_MAP_START( rowamet_map, AS_PROGRAM, 8, rowamet_state )
+ADDRESS_MAP_START(rowamet_state::rowamet_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0x2800, 0x2800) AM_READ_PORT("X0")
AM_RANGE(0x2801, 0x2801) AM_READ_PORT("X1")
@@ -78,12 +81,12 @@ static ADDRESS_MAP_START( rowamet_map, AS_PROGRAM, 8, rowamet_state )
AM_RANGE(0x40a0, 0x40ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rowamet_sub_map, AS_PROGRAM, 8, rowamet_state )
+ADDRESS_MAP_START(rowamet_state::rowamet_sub_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM AM_REGION("roms", 0x2000)
AM_RANGE(0x1000, 0x17ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rowamet_sub_io, AS_IO, 8, rowamet_state )
+ADDRESS_MAP_START(rowamet_state::rowamet_sub_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READWRITE(sound_r,mute_w)
AM_RANGE(0x01, 0x01) AM_DEVWRITE("dac", dac_byte_interface, write)
diff --git a/src/mame/drivers/royalmah.cpp b/src/mame/drivers/royalmah.cpp
index 0a6842e082e..185ac69cb9e 100644
--- a/src/mame/drivers/royalmah.cpp
+++ b/src/mame/drivers/royalmah.cpp
@@ -244,6 +244,39 @@ public:
void mjclub(machine_config &config);
void makaijan(machine_config &config);
void janyoup2(machine_config &config);
+ void cafetime_map(address_map &map);
+ void daisyari_iomap(address_map &map);
+ void dondenmj_iomap(address_map &map);
+ void ippatsu_iomap(address_map &map);
+ void janoh_map(address_map &map);
+ void janoh_sub_iomap(address_map &map);
+ void janoh_sub_map(address_map &map);
+ void janptr96_iomap(address_map &map);
+ void janptr96_map(address_map &map);
+ void jansou_map(address_map &map);
+ void jansou_sub_iomap(address_map &map);
+ void jansou_sub_map(address_map &map);
+ void janyoup2_iomap(address_map &map);
+ void majs101b_iomap(address_map &map);
+ void makaijan_iomap(address_map &map);
+ void mjapinky_iomap(address_map &map);
+ void mjapinky_map(address_map &map);
+ void mjclub_iomap(address_map &map);
+ void mjdejavu_map(address_map &map);
+ void mjderngr_iomap(address_map &map);
+ void mjdiplob_iomap(address_map &map);
+ void mjifb_map(address_map &map);
+ void mjtensin_map(address_map &map);
+ void mjvegasa_map(address_map &map);
+ void mjyarou_iomap(address_map &map);
+ void royalmah_iomap(address_map &map);
+ void royalmah_map(address_map &map);
+ void seljan_iomap(address_map &map);
+ void seljan_map(address_map &map);
+ void suzume_iomap(address_map &map);
+ void tahjong_iomap(address_map &map);
+ void tahjong_map(address_map &map);
+ void tontonb_iomap(address_map &map);
protected:
virtual void machine_start() override;
@@ -573,14 +606,14 @@ WRITE8_MEMBER(royalmah_state::mjclub_bank_w)
}
-static ADDRESS_MAP_START( royalmah_map, AS_PROGRAM, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::royalmah_map)
AM_RANGE( 0x0000, 0x6fff ) AM_ROM AM_WRITENOP
AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK( "mainbank" ) // banked ROMs not present in royalmah
AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjapinky_map, AS_PROGRAM, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::mjapinky_map)
AM_RANGE( 0x0000, 0x6fff ) AM_ROM AM_WRITENOP
AM_RANGE( 0x7000, 0x77ff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x7800, 0x7fff ) AM_RAM
@@ -589,7 +622,7 @@ static ADDRESS_MAP_START( mjapinky_map, AS_PROGRAM, 8, royalmah_state )
AM_RANGE( 0x8000, 0x8000 ) AM_READ(mjapinky_dsw_r )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tahjong_map, AS_PROGRAM, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::tahjong_map)
AM_RANGE( 0x0000, 0x3fff ) AM_ROM AM_WRITENOP
AM_RANGE( 0x4000, 0x6fff ) AM_ROMBANK("mainbank")
AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
@@ -599,7 +632,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( royalmah_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::royalmah_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x01 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE( 0x02, 0x03 ) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -607,7 +640,7 @@ static ADDRESS_MAP_START( royalmah_iomap, AS_IO, 8, royalmah_state )
AM_RANGE( 0x11, 0x11 ) AM_READ_PORT("SYSTEM") AM_WRITE(input_port_select_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ippatsu_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::ippatsu_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x01 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE( 0x02, 0x03 ) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -617,18 +650,18 @@ static ADDRESS_MAP_START( ippatsu_iomap, AS_IO, 8, royalmah_state )
AM_RANGE( 0x13, 0x13 ) AM_READ_PORT("DSW3")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( janyoup2_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::janyoup2_iomap)
AM_IMPORT_FROM( ippatsu_iomap )
AM_RANGE(0x20, 0x20) AM_DEVWRITE("crtc", mc6845_device, address_w)
AM_RANGE(0x21, 0x21) AM_DEVWRITE("crtc", mc6845_device, register_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( seljan_map, AS_PROGRAM, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::seljan_map)
AM_RANGE( 0x0000, 0x8fff ) AM_ROM AM_WRITENOP
AM_RANGE( 0xe000, 0xefff ) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( seljan_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::seljan_iomap)
AM_RANGE( 0x0001, 0x0001 ) AM_MIRROR(0x7f00) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE( 0x0002, 0x0003 ) AM_MIRROR(0x7f00) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
AM_RANGE( 0x0010, 0x0010 ) AM_MIRROR(0x7f00) AM_READ_PORT("DSW1") AM_WRITE(royalmah_palbank_w )
@@ -640,7 +673,7 @@ static ADDRESS_MAP_START( seljan_iomap, AS_IO, 8, royalmah_state )
AM_RANGE( 0x7e00, 0xffff ) AM_RAM AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tahjong_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::tahjong_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x01 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE( 0x02, 0x03 ) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -650,7 +683,7 @@ static ADDRESS_MAP_START( tahjong_iomap, AS_IO, 8, royalmah_state )
AM_RANGE( 0x13, 0x13 ) AM_READ_PORT("DSW2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( suzume_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::suzume_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x01 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE( 0x02, 0x03 ) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -660,7 +693,7 @@ static ADDRESS_MAP_START( suzume_iomap, AS_IO, 8, royalmah_state )
AM_RANGE( 0x81, 0x81 ) AM_WRITE(suzume_bank_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjyarou_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::mjyarou_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x01 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE( 0x02, 0x03 ) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -669,7 +702,7 @@ static ADDRESS_MAP_START( mjyarou_iomap, AS_IO, 8, royalmah_state )
AM_RANGE( 0x12, 0x12 ) AM_READ_PORT("DSW2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dondenmj_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::dondenmj_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x01 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE( 0x02, 0x03 ) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -680,7 +713,7 @@ static ADDRESS_MAP_START( dondenmj_iomap, AS_IO, 8, royalmah_state )
AM_RANGE( 0x87, 0x87 ) AM_WRITE(dynax_bank_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( makaijan_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::makaijan_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x01 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE( 0x02, 0x03 ) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -691,7 +724,7 @@ static ADDRESS_MAP_START( makaijan_iomap, AS_IO, 8, royalmah_state )
AM_RANGE( 0x86, 0x86 ) AM_WRITE(dynax_bank_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( daisyari_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::daisyari_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x01 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE( 0x02, 0x03 ) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -700,7 +733,7 @@ static ADDRESS_MAP_START( daisyari_iomap, AS_IO, 8, royalmah_state )
AM_RANGE( 0xc0, 0xc0 ) AM_READWRITE(daisyari_dsw_r, daisyari_bank_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjclub_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::mjclub_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x00, 0x00 ) AM_READWRITE(mjclub_dsw_r, mjclub_bank_w )
AM_RANGE( 0x01, 0x01 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
@@ -709,7 +742,7 @@ static ADDRESS_MAP_START( mjclub_iomap, AS_IO, 8, royalmah_state )
AM_RANGE( 0x11, 0x11 ) AM_READ_PORT("SYSTEM") AM_WRITE(input_port_select_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjdiplob_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::mjdiplob_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x01 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE( 0x02, 0x03 ) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -720,7 +753,7 @@ static ADDRESS_MAP_START( mjdiplob_iomap, AS_IO, 8, royalmah_state )
AM_RANGE( 0x63, 0x63 ) AM_READ_PORT("DSW3") // DSW3
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tontonb_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::tontonb_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x01 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE( 0x02, 0x03 ) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -731,7 +764,7 @@ static ADDRESS_MAP_START( tontonb_iomap, AS_IO, 8, royalmah_state )
AM_RANGE( 0x47, 0x47 ) AM_READ_PORT("DSW3") // DSW3
ADDRESS_MAP_END
-static ADDRESS_MAP_START( majs101b_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::majs101b_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x01 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE( 0x02, 0x03 ) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -740,7 +773,7 @@ static ADDRESS_MAP_START( majs101b_iomap, AS_IO, 8, royalmah_state )
AM_RANGE( 0x00, 0x00 ) AM_READWRITE(majs101b_dsw_r, dynax_bank_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjderngr_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::mjderngr_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x01 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE( 0x02, 0x03 ) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -753,7 +786,7 @@ static ADDRESS_MAP_START( mjderngr_iomap, AS_IO, 8, royalmah_state )
AM_RANGE( 0x60, 0x60 ) AM_WRITE(mjderngr_palbank_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjapinky_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::mjapinky_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x00, 0x00 ) AM_WRITE(mjapinky_bank_w )
AM_RANGE( 0x01, 0x01 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
@@ -763,7 +796,7 @@ static ADDRESS_MAP_START( mjapinky_iomap, AS_IO, 8, royalmah_state )
AM_RANGE( 0x11, 0x11 ) AM_READ_PORT("SYSTEM") AM_WRITE(input_port_select_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( janoh_map, AS_PROGRAM, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::janoh_map)
AM_RANGE( 0x0000, 0x6fff ) AM_ROM AM_WRITENOP
AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_SHARE("videoram")
@@ -773,7 +806,7 @@ ADDRESS_MAP_END
/* this CPU makes little sense - what is it for? why so many addresses accessed?
-- it puts a value in shared ram to allow the main CPU to boot, then.. ?
*/
-static ADDRESS_MAP_START( janoh_sub_map, AS_PROGRAM, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::janoh_sub_map)
AM_RANGE( 0x0000, 0x3fff ) AM_ROM
AM_RANGE( 0x4100, 0x413f ) AM_RAM
AM_RANGE( 0x6000, 0x607f ) AM_RAM
@@ -782,7 +815,7 @@ static ADDRESS_MAP_START( janoh_sub_map, AS_PROGRAM, 8, royalmah_state )
AM_RANGE( 0xf000, 0xffff ) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( janoh_sub_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::janoh_sub_iomap)
ADDRESS_MAP_END
/****************************************************************************
@@ -867,7 +900,7 @@ WRITE8_MEMBER(royalmah_state::jansou_sound_w)
m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
}
-static ADDRESS_MAP_START( jansou_map, AS_PROGRAM, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::jansou_map)
AM_RANGE( 0x0000, 0x3fff ) AM_ROM AM_WRITENOP
AM_RANGE( 0x6000, 0x600f ) AM_WRITE(jansou_colortable_w)
@@ -885,12 +918,12 @@ static ADDRESS_MAP_START( jansou_map, AS_PROGRAM, 8, royalmah_state )
AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jansou_sub_map, AS_PROGRAM, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::jansou_sub_map)
AM_RANGE( 0x0000, 0xffff ) AM_ROM AM_WRITENOP // tries to write to the stack at irq generation
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jansou_sub_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::jansou_sub_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_DEVWRITE("dac", dac_byte_interface, write)
ADDRESS_MAP_END
@@ -900,7 +933,7 @@ ADDRESS_MAP_END
Janputer '96
****************************************************************************/
-static ADDRESS_MAP_START( janptr96_map, AS_PROGRAM, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::janptr96_map)
AM_RANGE( 0x0000, 0x5fff ) AM_ROM
AM_RANGE( 0x6000, 0x6fff ) AM_RAMBANK("bank3") AM_SHARE("nvram") // nvram
AM_RANGE( 0x7000, 0x7fff ) AM_RAMBANK("rambank") // banked nvram
@@ -948,7 +981,7 @@ WRITE8_MEMBER(royalmah_state::janptr96_coin_counter_w)
machine().bookkeeping().coin_counter_w(1,data & 1); // out
}
-static ADDRESS_MAP_START( janptr96_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::janptr96_iomap)
AM_RANGE( 0x00, 0x00 ) AM_MIRROR(0xff00) AM_WRITE(janptr96_rombank_w ) // BANK ROM Select
AM_RANGE( 0x20, 0x20 ) AM_MIRROR(0xff00) AM_READWRITE(janptr96_unknown_r, janptr96_rambank_w )
AM_RANGE( 0x50, 0x50 ) AM_MIRROR(0xff00) AM_WRITE(mjderngr_palbank_w )
@@ -1023,7 +1056,7 @@ WRITE8_MEMBER(royalmah_state::mjifb_videoram_w)
m_videoram[offset + 0x4000] = data;
}
-static ADDRESS_MAP_START( mjifb_map, AS_PROGRAM, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::mjifb_map)
AM_RANGE( 0x0000, 0x6fff ) AM_ROM
AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x8000, 0xbfff ) AM_READWRITE(mjifb_rom_io_r, mjifb_rom_io_w) AM_SHARE("videoram")
@@ -1113,7 +1146,7 @@ WRITE8_MEMBER(royalmah_state::mjdejavu_rom_io_w)
logerror("%04X: unmapped input write at %04X = %02X\n", m_maincpu->pc(), offset,data);
}
-static ADDRESS_MAP_START( mjdejavu_map, AS_PROGRAM, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::mjdejavu_map)
AM_RANGE( 0x0000, 0x6fff ) AM_ROM
AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x8000, 0xbfff ) AM_READWRITE(mjdejavu_rom_io_r, mjdejavu_rom_io_w) AM_SHARE("videoram")
@@ -1145,7 +1178,7 @@ WRITE8_MEMBER(royalmah_state::mjtensin_6ff3_w)
mjtensin_update_rombank();
}
-static ADDRESS_MAP_START( mjtensin_map, AS_PROGRAM, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::mjtensin_map)
AM_RANGE( 0x0000, 0x5fff ) AM_ROM
AM_RANGE( 0x6000, 0x6fbf ) AM_RAM
AM_RANGE( 0x6fc1, 0x6fc1 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
@@ -1208,7 +1241,7 @@ WRITE8_MEMBER(royalmah_state::cafetime_7fe3_w)
// popmessage("%02x",data);
}
-static ADDRESS_MAP_START( cafetime_map, AS_PROGRAM, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::cafetime_map)
AM_RANGE( 0x0000, 0x5fff ) AM_ROM
AM_RANGE( 0x6000, 0x7eff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x7fc1, 0x7fc1 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
@@ -1298,7 +1331,7 @@ READ8_MEMBER(royalmah_state::mjvegasa_12500_r)
return 0xff;
}
-static ADDRESS_MAP_START( mjvegasa_map, AS_PROGRAM, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::mjvegasa_map)
AM_RANGE( 0x00000, 0x05fff ) AM_ROM
AM_RANGE( 0x06000, 0x07fff ) AM_RAM AM_SHARE("nvram")
diff --git a/src/mame/drivers/rpunch.cpp b/src/mame/drivers/rpunch.cpp
index 749746aa93f..57c854f4112 100644
--- a/src/mame/drivers/rpunch.cpp
+++ b/src/mame/drivers/rpunch.cpp
@@ -202,7 +202,7 @@ WRITE8_MEMBER(rpunch_state::upd_data_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, rpunch_state )
+ADDRESS_MAP_START(rpunch_state::main_map)
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x04ffff) AM_RAM AM_SHARE("bitmapram")
@@ -229,7 +229,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, rpunch_state )
+ADDRESS_MAP_START(rpunch_state::sound_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0xf200, 0xf200) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/rsc55.cpp b/src/mame/drivers/rsc55.cpp
index 4794c2ef581..30717f254b0 100644
--- a/src/mame/drivers/rsc55.cpp
+++ b/src/mame/drivers/rsc55.cpp
@@ -50,6 +50,8 @@ public:
sc55_state(const machine_config &mconfig, device_type type, const char *tag);
void sc55(machine_config &config);
+ void sc55_io(address_map &map);
+ void sc55_map(address_map &map);
};
sc55_state::sc55_state(const machine_config &mconfig, device_type type, const char *tag) :
@@ -58,11 +60,11 @@ sc55_state::sc55_state(const machine_config &mconfig, device_type type, const ch
{
}
-static ADDRESS_MAP_START( sc55_map, AS_PROGRAM, 8, sc55_state )
+ADDRESS_MAP_START(sc55_state::sc55_map)
AM_RANGE(0x1000, 0x3fff) AM_ROM AM_REGION("maincpu", 0x1000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sc55_io, AS_IO, 16, sc55_state )
+ADDRESS_MAP_START(sc55_state::sc55_io)
ADDRESS_MAP_END
MACHINE_CONFIG_START(sc55_state::sc55)
diff --git a/src/mame/drivers/rt1715.cpp b/src/mame/drivers/rt1715.cpp
index 033191be35d..60a3e4263ae 100644
--- a/src/mame/drivers/rt1715.cpp
+++ b/src/mame/drivers/rt1715.cpp
@@ -46,6 +46,10 @@ public:
void rt1715(machine_config &config);
void rt1715w(machine_config &config);
+ void k7658_io(address_map &map);
+ void k7658_mem(address_map &map);
+ void rt1715_io(address_map &map);
+ void rt1715_mem(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -185,12 +189,12 @@ PALETTE_INIT_MEMBER(rt1715_state, rt1715)
ADDRESS MAPS
***************************************************************************/
-static ADDRESS_MAP_START( rt1715_mem, AS_PROGRAM, 8, rt1715_state )
+ADDRESS_MAP_START(rt1715_state::rt1715_mem)
AM_RANGE(0x0000, 0x07ff) AM_READ_BANK("bank1") AM_WRITE_BANK("bank3")
AM_RANGE(0x0800, 0xffff) AM_RAMBANK("bank2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rt1715_io, AS_IO, 8, rt1715_state )
+ADDRESS_MAP_START(rt1715_state::rt1715_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("a71", z80pio_device, read_alt, write_alt)
@@ -202,12 +206,12 @@ static ADDRESS_MAP_START( rt1715_io, AS_IO, 8, rt1715_state )
AM_RANGE(0x28, 0x28) AM_WRITE(rt1715_rom_disable)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( k7658_mem, AS_PROGRAM, 8, rt1715_state )
+ADDRESS_MAP_START(rt1715_state::k7658_mem)
AM_RANGE(0x0000, 0xffff) AM_WRITE(k7658_data_w)
AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0xf800) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( k7658_io, AS_IO, 8, rt1715_state )
+ADDRESS_MAP_START(rt1715_state::k7658_io)
AM_RANGE(0x2000, 0x2000) AM_MIRROR(0x8000) AM_READ(k7658_led1_r)
AM_RANGE(0x4000, 0x4000) AM_MIRROR(0x8000) AM_READ(k7658_led2_r)
AM_RANGE(0x8000, 0x9fff) AM_READ(k7658_data_r)
diff --git a/src/mame/drivers/runaway.cpp b/src/mame/drivers/runaway.cpp
index b3ae3ff0ca7..3058adc9f51 100644
--- a/src/mame/drivers/runaway.cpp
+++ b/src/mame/drivers/runaway.cpp
@@ -82,7 +82,7 @@ WRITE8_MEMBER(runaway_state::runaway_irq_ack_w)
}
-static ADDRESS_MAP_START( runaway_map, AS_PROGRAM, 8, runaway_state )
+ADDRESS_MAP_START(runaway_state::runaway_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x07bf) AM_RAM_WRITE(runaway_video_ram_w) AM_SHARE("video_ram")
AM_RANGE(0x07c0, 0x07ff) AM_RAM AM_SHARE("sprite_ram")
diff --git a/src/mame/drivers/rungun.cpp b/src/mame/drivers/rungun.cpp
index 8a4fe3e5d5e..4fa03f6f0eb 100644
--- a/src/mame/drivers/rungun.cpp
+++ b/src/mame/drivers/rungun.cpp
@@ -176,7 +176,7 @@ WRITE16_MEMBER(rungun_state::palette_write)
cur_paldevice.set_pen_color(offset,pal5bit(r),pal5bit(g),pal5bit(b));
}
-static ADDRESS_MAP_START( rungun_map, AS_PROGRAM, 16, rungun_state )
+ADDRESS_MAP_START(rungun_state::rungun_map)
AM_RANGE(0x000000, 0x2fffff) AM_ROM // main program + data
AM_RANGE(0x300000, 0x3007ff) AM_READWRITE(palette_read,palette_write)
AM_RANGE(0x380000, 0x39ffff) AM_RAM // work RAM
@@ -236,7 +236,7 @@ WRITE_LINE_MEMBER(rungun_state::k054539_nmi_gen)
/* sound (this should be split into audio/xexex.c or pregx.c or so someday) */
-static ADDRESS_MAP_START( rungun_sound_map, AS_PROGRAM, 8, rungun_state )
+ADDRESS_MAP_START(rungun_state::rungun_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank2")
AM_RANGE(0xc000, 0xdfff) AM_RAM
@@ -250,7 +250,7 @@ static ADDRESS_MAP_START( rungun_sound_map, AS_PROGRAM, 8, rungun_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rungun_k054539_map, 0, 8, rungun_state )
+ADDRESS_MAP_START(rungun_state::rungun_k054539_map)
AM_RANGE(0x000000, 0x3fffff) AM_ROM AM_REGION("k054539", 0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/rvoice.cpp b/src/mame/drivers/rvoice.cpp
index 99546098fbe..0b21d8708c9 100644
--- a/src/mame/drivers/rvoice.cpp
+++ b/src/mame/drivers/rvoice.cpp
@@ -89,6 +89,8 @@ public:
void null_kbd_put(u8 data);
required_device<cpu_device> m_maincpu;
void rvoicepc(machine_config &config);
+ void hd63701_main_io(address_map &map);
+ void hd63701_main_mem(address_map &map);
};
@@ -332,7 +334,7 @@ WRITE8_MEMBER(rvoice_state::main_hd63701_internal_registers_w)
Address Maps
******************************************************************************/
-static ADDRESS_MAP_START(hd63701_main_mem, AS_PROGRAM, 8, rvoice_state )
+ADDRESS_MAP_START(rvoice_state::hd63701_main_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0027) AM_READWRITE(main_hd63701_internal_registers_r, main_hd63701_internal_registers_w) // INTERNAL REGS
AM_RANGE(0x0040, 0x005f) AM_RAM // INTERNAL RAM (overlaps acia)
@@ -342,7 +344,7 @@ static ADDRESS_MAP_START(hd63701_main_mem, AS_PROGRAM, 8, rvoice_state )
AM_RANGE(0x8000, 0xffff) AM_ROM // 27512 EPROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(hd63701_main_io, AS_IO, 8, rvoice_state )
+ADDRESS_MAP_START(rvoice_state::hd63701_main_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_END
diff --git a/src/mame/drivers/rx78.cpp b/src/mame/drivers/rx78.cpp
index a2c26f232df..10d4bceb5c3 100644
--- a/src/mame/drivers/rx78.cpp
+++ b/src/mame/drivers/rx78.cpp
@@ -100,6 +100,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void rx78(machine_config &config);
+ void rx78_io(address_map &map);
+ void rx78_mem(address_map &map);
private:
uint8_t m_vram_read_bank;
uint8_t m_vram_write_bank;
@@ -270,7 +272,7 @@ WRITE8_MEMBER( rx78_state::vdp_pri_mask_w )
}
-static ADDRESS_MAP_START(rx78_mem, AS_PROGRAM, 8, rx78_state)
+ADDRESS_MAP_START(rx78_state::rx78_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_ROM AM_REGION("roms", 0)
//AM_RANGE(0x2000, 0x5fff) // mapped by the cartslot
@@ -279,7 +281,7 @@ static ADDRESS_MAP_START(rx78_mem, AS_PROGRAM, 8, rx78_state)
AM_RANGE(0xec00, 0xffff) AM_READWRITE(vram_r, vram_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(rx78_io, AS_IO, 8, rx78_state)
+ADDRESS_MAP_START(rx78_state::rx78_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
// AM_RANGE(0xe2, 0xe2) AM_READNOP AM_WRITENOP //printer
diff --git a/src/mame/drivers/s11.cpp b/src/mame/drivers/s11.cpp
index 7be1b6bc71d..70e298fc59b 100644
--- a/src/mame/drivers/s11.cpp
+++ b/src/mame/drivers/s11.cpp
@@ -28,7 +28,7 @@ ToDo:
#include "s11.lh"
-static ADDRESS_MAP_START( s11_main_map, AS_PROGRAM, 8, s11_state )
+ADDRESS_MAP_START(s11_state::s11_main_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x2100, 0x2103) AM_DEVREADWRITE("pia21", pia6821_device, read, write) // sound+solenoids
AM_RANGE(0x2200, 0x2200) AM_WRITE(sol3_w) // solenoids
@@ -40,7 +40,7 @@ static ADDRESS_MAP_START( s11_main_map, AS_PROGRAM, 8, s11_state )
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( s11_audio_map, AS_PROGRAM, 8, s11_state )
+ADDRESS_MAP_START(s11_state::s11_audio_map)
AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x0800) AM_RAM
AM_RANGE(0x1000, 0x1fff) AM_WRITE(bank_w)
AM_RANGE(0x2000, 0x2003) AM_MIRROR(0x0ffc) AM_DEVREADWRITE("pias", pia6821_device, read, write)
@@ -48,7 +48,7 @@ static ADDRESS_MAP_START( s11_audio_map, AS_PROGRAM, 8, s11_state )
AM_RANGE(0xc000, 0xffff) AM_ROMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( s11_bg_map, AS_PROGRAM, 8, s11_state )
+ADDRESS_MAP_START(s11_state::s11_bg_map)
AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x1800) AM_RAM
AM_RANGE(0x2000, 0x2001) AM_MIRROR(0x1ffe) AM_DEVREADWRITE("ym2151", ym2151_device, read, write)
AM_RANGE(0x4000, 0x4003) AM_MIRROR(0x1ffc) AM_DEVREADWRITE("pia40", pia6821_device, read, write)
diff --git a/src/mame/drivers/s11a.cpp b/src/mame/drivers/s11a.cpp
index 03e827b81f9..6c8c8eab1e4 100644
--- a/src/mame/drivers/s11a.cpp
+++ b/src/mame/drivers/s11a.cpp
@@ -31,7 +31,7 @@ Note: To start a game, certain switches need to be activated. You must first pr
#include "s11a.lh"
-static ADDRESS_MAP_START( s11a_main_map, AS_PROGRAM, 8, s11a_state )
+ADDRESS_MAP_START(s11a_state::s11a_main_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x2100, 0x2103) AM_MIRROR(0x00fc) AM_DEVREADWRITE("pia21", pia6821_device, read, write) // sound+solenoids
AM_RANGE(0x2200, 0x2200) AM_MIRROR(0x01ff) AM_WRITE(sol3_w) // solenoids
@@ -43,7 +43,7 @@ static ADDRESS_MAP_START( s11a_main_map, AS_PROGRAM, 8, s11a_state )
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( s11a_audio_map, AS_PROGRAM, 8, s11a_state )
+ADDRESS_MAP_START(s11a_state::s11a_audio_map)
AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x0800) AM_RAM
AM_RANGE(0x1000, 0x1fff) AM_WRITE(bank_w)
AM_RANGE(0x2000, 0x2003) AM_MIRROR(0x0ffc) AM_DEVREADWRITE("pias", pia6821_device, read, write)
@@ -51,7 +51,7 @@ static ADDRESS_MAP_START( s11a_audio_map, AS_PROGRAM, 8, s11a_state )
AM_RANGE(0xc000, 0xffff) AM_ROMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( s11a_bg_map, AS_PROGRAM, 8, s11a_state )
+ADDRESS_MAP_START(s11a_state::s11a_bg_map)
AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x1800) AM_RAM
AM_RANGE(0x2000, 0x2001) AM_MIRROR(0x1ffe) AM_DEVREADWRITE("ym2151", ym2151_device, read, write)
AM_RANGE(0x4000, 0x4003) AM_MIRROR(0x1ffc) AM_DEVREADWRITE("pia40", pia6821_device, read, write)
diff --git a/src/mame/drivers/s11b.cpp b/src/mame/drivers/s11b.cpp
index 74f1c0e292e..ed0801eda67 100644
--- a/src/mame/drivers/s11b.cpp
+++ b/src/mame/drivers/s11b.cpp
@@ -32,7 +32,7 @@
#include "s11b.lh"
-static ADDRESS_MAP_START( s11b_main_map, AS_PROGRAM, 8, s11b_state )
+ADDRESS_MAP_START(s11b_state::s11b_main_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x2100, 0x2103) AM_MIRROR(0x00fc) AM_DEVREADWRITE("pia21", pia6821_device, read, write) // sound+solenoids
AM_RANGE(0x2200, 0x2200) AM_MIRROR(0x01ff) AM_WRITE(sol3_w) // solenoids
@@ -44,7 +44,7 @@ static ADDRESS_MAP_START( s11b_main_map, AS_PROGRAM, 8, s11b_state )
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( s11b_audio_map, AS_PROGRAM, 8, s11b_state )
+ADDRESS_MAP_START(s11b_state::s11b_audio_map)
AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x0800) AM_RAM
AM_RANGE(0x1000, 0x1fff) AM_WRITE(bank_w)
AM_RANGE(0x2000, 0x2003) AM_MIRROR(0x0ffc) AM_DEVREADWRITE("pias", pia6821_device, read, write)
@@ -52,7 +52,7 @@ static ADDRESS_MAP_START( s11b_audio_map, AS_PROGRAM, 8, s11b_state )
AM_RANGE(0xc000, 0xffff) AM_ROMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( s11b_bg_map, AS_PROGRAM, 8, s11b_state )
+ADDRESS_MAP_START(s11b_state::s11b_bg_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x2000, 0x2001) AM_MIRROR(0x1ffe) AM_DEVREADWRITE("ym2151", ym2151_device, read, write)
AM_RANGE(0x4000, 0x4003) AM_MIRROR(0x1ffc) AM_DEVREADWRITE("pia40", pia6821_device, read, write)
diff --git a/src/mame/drivers/s11c.cpp b/src/mame/drivers/s11c.cpp
index a9caa21ba71..7516de3d663 100644
--- a/src/mame/drivers/s11c.cpp
+++ b/src/mame/drivers/s11c.cpp
@@ -14,7 +14,7 @@
#include "s11c.lh"
-static ADDRESS_MAP_START( s11c_main_map, AS_PROGRAM, 8, s11c_state )
+ADDRESS_MAP_START(s11c_state::s11c_main_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x2100, 0x2103) AM_MIRROR(0x00fc) AM_DEVREADWRITE("pia21", pia6821_device, read, write) // sound+solenoids
AM_RANGE(0x2200, 0x2200) AM_MIRROR(0x01ff) AM_WRITE(sol3_w) // solenoids
diff --git a/src/mame/drivers/s3.cpp b/src/mame/drivers/s3.cpp
index 1f985106785..830f28303d8 100644
--- a/src/mame/drivers/s3.cpp
+++ b/src/mame/drivers/s3.cpp
@@ -91,6 +91,8 @@ public:
DECLARE_MACHINE_RESET(s3a);
void s3a(machine_config &config);
void s3(machine_config &config);
+ void s3_audio_map(address_map &map);
+ void s3_main_map(address_map &map);
private:
uint8_t m_t_c;
uint8_t m_sound_data;
@@ -107,7 +109,7 @@ private:
optional_device<pia6821_device> m_pias;
};
-static ADDRESS_MAP_START( s3_main_map, AS_PROGRAM, 8, s3_state )
+ADDRESS_MAP_START(s3_state::s3_main_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x00ff) AM_RAM
AM_RANGE(0x0100, 0x01ff) AM_RAM AM_SHARE("nvram")
@@ -118,7 +120,7 @@ static ADDRESS_MAP_START( s3_main_map, AS_PROGRAM, 8, s3_state )
AM_RANGE(0x6000, 0x7fff) AM_ROM AM_REGION("roms", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( s3_audio_map, AS_PROGRAM, 8, s3_state )
+ADDRESS_MAP_START(s3_state::s3_audio_map)
ADDRESS_MAP_GLOBAL_MASK(0xfff)
AM_RANGE(0x0000, 0x007f) AM_RAM
AM_RANGE(0x0400, 0x0403) AM_DEVREADWRITE("pias", pia6821_device, read, write) // sounds
diff --git a/src/mame/drivers/s4.cpp b/src/mame/drivers/s4.cpp
index a1eeadde28a..7a3c01daa7f 100644
--- a/src/mame/drivers/s4.cpp
+++ b/src/mame/drivers/s4.cpp
@@ -85,6 +85,8 @@ public:
DECLARE_MACHINE_RESET(s4a);
void s4(machine_config &config);
void s4a(machine_config &config);
+ void s4_audio_map(address_map &map);
+ void s4_main_map(address_map &map);
private:
uint8_t m_t_c;
uint8_t m_sound_data;
@@ -101,7 +103,7 @@ private:
optional_device<pia6821_device> m_pias;
};
-static ADDRESS_MAP_START( s4_main_map, AS_PROGRAM, 8, s4_state )
+ADDRESS_MAP_START(s4_state::s4_main_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x00ff) AM_RAM
AM_RANGE(0x0100, 0x01ff) AM_RAM AM_SHARE("nvram")
@@ -112,7 +114,7 @@ static ADDRESS_MAP_START( s4_main_map, AS_PROGRAM, 8, s4_state )
AM_RANGE(0x6000, 0x7fff) AM_ROM AM_REGION("roms", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( s4_audio_map, AS_PROGRAM, 8, s4_state )
+ADDRESS_MAP_START(s4_state::s4_audio_map)
ADDRESS_MAP_GLOBAL_MASK(0x0fff)
AM_RANGE(0x0000, 0x00ff) AM_RAM
AM_RANGE(0x0400, 0x0403) AM_DEVREADWRITE("pias", pia6821_device, read, write) // sounds
diff --git a/src/mame/drivers/s6.cpp b/src/mame/drivers/s6.cpp
index cf6ec513d63..2b3413cdab1 100644
--- a/src/mame/drivers/s6.cpp
+++ b/src/mame/drivers/s6.cpp
@@ -98,6 +98,8 @@ public:
DECLARE_MACHINE_RESET(s6);
DECLARE_DRIVER_INIT(s6);
void s6(machine_config &config);
+ void s6_audio_map(address_map &map);
+ void s6_main_map(address_map &map);
private:
uint8_t m_sound_data;
uint8_t m_strobe;
@@ -116,7 +118,7 @@ private:
required_device<pia6821_device> m_pia30;
};
-static ADDRESS_MAP_START( s6_main_map, AS_PROGRAM, 8, s6_state )
+ADDRESS_MAP_START(s6_state::s6_main_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x00ff) AM_RAM
AM_RANGE(0x0100, 0x01ff) AM_RAM AM_SHARE("nvram")
@@ -127,7 +129,7 @@ static ADDRESS_MAP_START( s6_main_map, AS_PROGRAM, 8, s6_state )
AM_RANGE(0x6000, 0x7fff) AM_ROM AM_REGION("roms", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( s6_audio_map, AS_PROGRAM, 8, s6_state )
+ADDRESS_MAP_START(s6_state::s6_audio_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x00ff) AM_RAM
AM_RANGE(0x0400, 0x0403) AM_DEVREADWRITE("pias", pia6821_device, read, write)
diff --git a/src/mame/drivers/s6a.cpp b/src/mame/drivers/s6a.cpp
index 652853dba28..21b106c2a86 100644
--- a/src/mame/drivers/s6a.cpp
+++ b/src/mame/drivers/s6a.cpp
@@ -91,6 +91,8 @@ public:
DECLARE_MACHINE_RESET(s6a);
DECLARE_DRIVER_INIT(s6a);
void s6a(machine_config &config);
+ void s6a_audio_map(address_map &map);
+ void s6a_main_map(address_map &map);
private:
uint8_t m_sound_data;
uint8_t m_strobe;
@@ -109,7 +111,7 @@ private:
required_device<pia6821_device> m_pia30;
};
-static ADDRESS_MAP_START( s6a_main_map, AS_PROGRAM, 8, s6a_state )
+ADDRESS_MAP_START(s6a_state::s6a_main_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x00ff) AM_RAM
AM_RANGE(0x0100, 0x01ff) AM_RAM AM_SHARE("nvram")
@@ -120,7 +122,7 @@ static ADDRESS_MAP_START( s6a_main_map, AS_PROGRAM, 8, s6a_state )
AM_RANGE(0x6000, 0x7fff) AM_ROM AM_REGION("roms", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( s6a_audio_map, AS_PROGRAM, 8, s6a_state )
+ADDRESS_MAP_START(s6a_state::s6a_audio_map)
AM_RANGE(0x0000, 0x00ff) AM_RAM
AM_RANGE(0x0400, 0x0403) AM_MIRROR(0x8000) AM_DEVREADWRITE("pias", pia6821_device, read, write)
AM_RANGE(0xb000, 0xffff) AM_ROM AM_REGION("audioroms", 0)
diff --git a/src/mame/drivers/s7.cpp b/src/mame/drivers/s7.cpp
index 745e26c6c94..60b9665c3cb 100644
--- a/src/mame/drivers/s7.cpp
+++ b/src/mame/drivers/s7.cpp
@@ -117,6 +117,8 @@ public:
DECLARE_MACHINE_RESET(s7);
DECLARE_DRIVER_INIT(s7);
void s7(machine_config &config);
+ void s7_audio_map(address_map &map);
+ void s7_main_map(address_map &map);
private:
uint8_t m_sound_data;
uint8_t m_strobe;
@@ -139,7 +141,7 @@ private:
required_device<pia6821_device> m_pia30;
};
-static ADDRESS_MAP_START( s7_main_map, AS_PROGRAM, 8, s7_state )
+ADDRESS_MAP_START(s7_state::s7_main_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x00ff) AM_RAM AM_MIRROR(0x1000)
AM_RANGE(0x0100, 0x01ff) AM_READWRITE(nvram_r,nvram_w)
@@ -153,7 +155,7 @@ static ADDRESS_MAP_START( s7_main_map, AS_PROGRAM, 8, s7_state )
AM_RANGE(0x5000, 0x7fff) AM_ROM AM_REGION("roms", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( s7_audio_map, AS_PROGRAM, 8, s7_state )
+ADDRESS_MAP_START(s7_state::s7_audio_map)
AM_RANGE(0x0000, 0x00ff) AM_RAM
AM_RANGE(0x0400, 0x0403) AM_MIRROR(0x8000) AM_DEVREADWRITE("pias", pia6821_device, read, write)
AM_RANGE(0xb000, 0xffff) AM_ROM AM_REGION("audioroms", 0)
diff --git a/src/mame/drivers/s8.cpp b/src/mame/drivers/s8.cpp
index d12196cc6af..e55ab413759 100644
--- a/src/mame/drivers/s8.cpp
+++ b/src/mame/drivers/s8.cpp
@@ -92,6 +92,8 @@ public:
DECLARE_MACHINE_RESET(s8);
DECLARE_DRIVER_INIT(s8);
void s8(machine_config &config);
+ void s8_audio_map(address_map &map);
+ void s8_main_map(address_map &map);
private:
uint8_t m_sound_data;
uint8_t m_strobe;
@@ -109,7 +111,7 @@ private:
required_device<pia6821_device> m_pia30;
};
-static ADDRESS_MAP_START( s8_main_map, AS_PROGRAM, 8, s8_state )
+ADDRESS_MAP_START(s8_state::s8_main_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x2100, 0x2103) AM_DEVREADWRITE("pia21", pia6821_device, read, write) // sound+solenoids
@@ -120,7 +122,7 @@ static ADDRESS_MAP_START( s8_main_map, AS_PROGRAM, 8, s8_state )
AM_RANGE(0x5000, 0x7fff) AM_ROM AM_REGION("roms", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( s8_audio_map, AS_PROGRAM, 8, s8_state )
+ADDRESS_MAP_START(s8_state::s8_audio_map)
AM_RANGE(0x0000, 0x00ff) AM_RAM
AM_RANGE(0x4000, 0x4003) AM_DEVREADWRITE("pias", pia6821_device, read, write)
AM_RANGE(0xc000, 0xffff) AM_ROM AM_REGION("audioroms", 0)
diff --git a/src/mame/drivers/s8a.cpp b/src/mame/drivers/s8a.cpp
index f75bcf083f4..f6d0a4863e7 100644
--- a/src/mame/drivers/s8a.cpp
+++ b/src/mame/drivers/s8a.cpp
@@ -68,6 +68,8 @@ public:
DECLARE_MACHINE_RESET(s8a);
DECLARE_DRIVER_INIT(s8a);
void s8a(machine_config &config);
+ void s8a_audio_map(address_map &map);
+ void s8a_main_map(address_map &map);
private:
uint8_t m_sound_data;
uint8_t m_strobe;
@@ -85,7 +87,7 @@ private:
required_device<pia6821_device> m_pia30;
};
-static ADDRESS_MAP_START( s8a_main_map, AS_PROGRAM, 8, s8a_state )
+ADDRESS_MAP_START(s8a_state::s8a_main_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x2100, 0x2103) AM_DEVREADWRITE("pia21", pia6821_device, read, write) // sound+solenoids
@@ -96,7 +98,7 @@ static ADDRESS_MAP_START( s8a_main_map, AS_PROGRAM, 8, s8a_state )
AM_RANGE(0x6000, 0x7fff) AM_ROM AM_REGION("roms", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( s8a_audio_map, AS_PROGRAM, 8, s8a_state )
+ADDRESS_MAP_START(s8a_state::s8a_audio_map)
AM_RANGE(0x0000, 0x00ff) AM_RAM
AM_RANGE(0x2000, 0x2003) AM_DEVREADWRITE("pias", pia6821_device, read, write)
AM_RANGE(0xc000, 0xffff) AM_ROM AM_REGION("audioroms", 0)
diff --git a/src/mame/drivers/s9.cpp b/src/mame/drivers/s9.cpp
index 9c372879a19..fe22e8fb541 100644
--- a/src/mame/drivers/s9.cpp
+++ b/src/mame/drivers/s9.cpp
@@ -79,6 +79,8 @@ public:
DECLARE_MACHINE_RESET(s9);
DECLARE_DRIVER_INIT(s9);
void s9(machine_config &config);
+ void s9_audio_map(address_map &map);
+ void s9_main_map(address_map &map);
private:
uint8_t m_sound_data;
uint8_t m_strobe;
@@ -97,7 +99,7 @@ private:
required_device<pia6821_device> m_pia30;
};
-static ADDRESS_MAP_START( s9_main_map, AS_PROGRAM, 8, s9_state )
+ADDRESS_MAP_START(s9_state::s9_main_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x2100, 0x2103) AM_DEVREADWRITE("pia21", pia6821_device, read, write) // sound+solenoids
@@ -108,7 +110,7 @@ static ADDRESS_MAP_START( s9_main_map, AS_PROGRAM, 8, s9_state )
AM_RANGE(0x4000, 0x7fff) AM_ROM AM_REGION("roms", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( s9_audio_map, AS_PROGRAM, 8, s9_state )
+ADDRESS_MAP_START(s9_state::s9_audio_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x2000, 0x2003) AM_DEVREADWRITE("pias", pia6821_device, read, write)
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("audioroms", 0)
diff --git a/src/mame/drivers/sacstate.cpp b/src/mame/drivers/sacstate.cpp
index 0586271a2e4..100acf5290a 100644
--- a/src/mame/drivers/sacstate.cpp
+++ b/src/mame/drivers/sacstate.cpp
@@ -54,6 +54,8 @@ public:
DECLARE_WRITE8_MEMBER(port08_w);
void kbd_put(u8 data);
void sacstate(machine_config &config);
+ void sacstate_io(address_map &map);
+ void sacstate_mem(address_map &map);
private:
uint8_t m_term_data;
uint8_t m_val;
@@ -92,13 +94,13 @@ WRITE8_MEMBER( sacstate_state::port08_w )
m_val = 0;
}
-static ADDRESS_MAP_START(sacstate_mem, AS_PROGRAM, 8, sacstate_state)
+ADDRESS_MAP_START(sacstate_state::sacstate_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000,0x7ff) AM_ROM
AM_RANGE(0x800,0xfff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(sacstate_io, AS_IO, 8, sacstate_state)
+ADDRESS_MAP_START(sacstate_state::sacstate_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00,0x00) AM_READ(port00_r)
diff --git a/src/mame/drivers/safarir.cpp b/src/mame/drivers/safarir.cpp
index 22da3117459..2465283736b 100644
--- a/src/mame/drivers/safarir.cpp
+++ b/src/mame/drivers/safarir.cpp
@@ -93,6 +93,7 @@ public:
uint32_t screen_update_safarir(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void safarir(machine_config &config);
void safarir_audio(machine_config &config);
+ void main_map(address_map &map);
};
@@ -341,7 +342,7 @@ void safarir_state::machine_start()
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, safarir_state )
+ADDRESS_MAP_START(safarir_state::main_map)
AM_RANGE(0x0000, 0x17ff) AM_ROM
AM_RANGE(0x2000, 0x27ff) AM_READWRITE(ram_r, ram_w) AM_SHARE("ram")
AM_RANGE(0x2800, 0x2800) AM_MIRROR(0x03ff) AM_READNOP AM_WRITE(ram_bank_w)
diff --git a/src/mame/drivers/sage2.cpp b/src/mame/drivers/sage2.cpp
index 72f8ee64e00..474f467f889 100644
--- a/src/mame/drivers/sage2.cpp
+++ b/src/mame/drivers/sage2.cpp
@@ -36,7 +36,7 @@
// ADDRESS_MAP( sage2_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( sage2_mem, AS_PROGRAM, 16, sage2_state )
+ADDRESS_MAP_START(sage2_state::sage2_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xffc000, 0xffc007) AM_DEVREADWRITE8(I8253_1_TAG, pit8253_device, read, write, 0x00ff)
AM_RANGE(0xffc010, 0xffc01f) AM_NOP //AM_DEVREADWRITE8(TMS9914_TAG, tms9914_device, read, write, 0x00ff)
diff --git a/src/mame/drivers/sam.cpp b/src/mame/drivers/sam.cpp
index dae7e84a8ab..48e09eec99e 100644
--- a/src/mame/drivers/sam.cpp
+++ b/src/mame/drivers/sam.cpp
@@ -11,9 +11,10 @@ public:
: driver_device(mconfig, type, tag) { }
void sam(machine_config &config);
+ void sam_map(address_map &map);
};
-static ADDRESS_MAP_START( sam_map, AS_PROGRAM, 32, sam_state)
+ADDRESS_MAP_START(sam_state::sam_map)
AM_RANGE(0x00000000, 0x000fffff) AM_ROM AM_REGION("boot",0)
AM_RANGE(0x00300000, 0x003fffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/samcoupe.cpp b/src/mame/drivers/samcoupe.cpp
index 471cbce3808..b6b705dd6b7 100644
--- a/src/mame/drivers/samcoupe.cpp
+++ b/src/mame/drivers/samcoupe.cpp
@@ -304,14 +304,14 @@ WRITE8_MEMBER(samcoupe_state::samcoupe_lpt2_strobe_w)
ADDRESS MAPS
***************************************************************************/
-static ADDRESS_MAP_START( samcoupe_mem, AS_PROGRAM, 8, samcoupe_state )
+ADDRESS_MAP_START(samcoupe_state::samcoupe_mem)
AM_RANGE(0x0000, 0x3fff) AM_RAM AM_READWRITE(sam_bank1_r, sam_bank1_w) // AM_RAMBANK("bank1")
AM_RANGE(0x4000, 0x7fff) AM_RAM AM_READWRITE(sam_bank2_r, sam_bank2_w) // AM_RAMBANK("bank2")
AM_RANGE(0x8000, 0xbfff) AM_RAM AM_READWRITE(sam_bank3_r, sam_bank3_w) // AM_RAMBANK("bank3")
AM_RANGE(0xc000, 0xffff) AM_RAM AM_READWRITE(sam_bank4_r, sam_bank4_w) // AM_RAMBANK("bank4")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( samcoupe_io, AS_IO, 8, samcoupe_state )
+ADDRESS_MAP_START(samcoupe_state::samcoupe_io)
AM_RANGE(0x0080, 0x0081) AM_SELECT(0xff00) AM_WRITE(samcoupe_ext_mem_w)
AM_RANGE(0x00e0, 0x00e7) AM_SELECT(0xff10) AM_READWRITE(samcoupe_disk_r, samcoupe_disk_w)
AM_RANGE(0x00e8, 0x00e8) AM_SELECT(0xff00) AM_DEVWRITE("lpt1_data_out", output_latch_device, write)
diff --git a/src/mame/drivers/sandscrp.cpp b/src/mame/drivers/sandscrp.cpp
index bc4ffa9d1d5..32451c92954 100644
--- a/src/mame/drivers/sandscrp.cpp
+++ b/src/mame/drivers/sandscrp.cpp
@@ -133,6 +133,9 @@ public:
INTERRUPT_GEN_MEMBER(interrupt);
void update_irq_state();
void sandscrp(machine_config &config);
+ void sandscrp(address_map &map);
+ void sandscrp_soundmem(address_map &map);
+ void sandscrp_soundport(address_map &map);
};
@@ -273,7 +276,7 @@ WRITE16_MEMBER(sandscrp_state::soundlatch_word_w)
}
}
-static ADDRESS_MAP_START( sandscrp, AS_PROGRAM, 16, sandscrp_state )
+ADDRESS_MAP_START(sandscrp_state::sandscrp)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x100001) AM_WRITE(irq_cause_w) // IRQ Ack
@@ -323,13 +326,13 @@ WRITE8_MEMBER(sandscrp_state::soundlatch_w)
m_soundlatch2->write(space,0,data);
}
-static ADDRESS_MAP_START( sandscrp_soundmem, AS_PROGRAM, 8, sandscrp_state )
+ADDRESS_MAP_START(sandscrp_state::sandscrp_soundmem)
AM_RANGE(0x0000, 0x7fff) AM_ROM // ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") // Banked ROM
AM_RANGE(0xc000, 0xdfff) AM_RAM // RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sandscrp_soundport, AS_IO, 8, sandscrp_state )
+ADDRESS_MAP_START(sandscrp_state::sandscrp_soundport)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(bankswitch_w) // ROM Bank
AM_RANGE(0x02, 0x03) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write) // PORTA/B read
diff --git a/src/mame/drivers/sangho.cpp b/src/mame/drivers/sangho.cpp
index 52bce7b25cd..98850b7c39f 100644
--- a/src/mame/drivers/sangho.cpp
+++ b/src/mame/drivers/sangho.cpp
@@ -102,6 +102,9 @@ public:
DECLARE_WRITE8_MEMBER(sec_slot_w);
void pzlestar(machine_config &config);
void sexyboom(machine_config &config);
+ void pzlestar_io_map(address_map &map);
+ void sangho_map(address_map &map);
+ void sexyboom_io_map(address_map &map);
};
/*
@@ -282,7 +285,7 @@ WRITE8_MEMBER(sangho_state::sec_slot_w)
}
-static ADDRESS_MAP_START( sangho_map, AS_PROGRAM, 8, sangho_state )
+ADDRESS_MAP_START(sangho_state::sangho_map)
AM_RANGE(0x0000, 0x3fff) AM_READ_BANK("bank1") AM_WRITE_BANK("bank5")
AM_RANGE(0x4000, 0x7fff) AM_READ_BANK("bank2") AM_WRITE_BANK("bank6")
AM_RANGE(0x8000, 0xbfff) AM_READ_BANK("bank3") AM_WRITE_BANK("bank7")
@@ -291,7 +294,7 @@ ADDRESS_MAP_END
/* Puzzle Star Ports */
-static ADDRESS_MAP_START( pzlestar_io_map, AS_IO, 8, sangho_state )
+ADDRESS_MAP_START(sangho_state::pzlestar_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x7c, 0x7d) AM_DEVWRITE("ymsnd", ym2413_device, write)
AM_RANGE( 0x91, 0x91) AM_WRITE(pzlestar_bank_w )
@@ -304,7 +307,7 @@ ADDRESS_MAP_END
/* Sexy Boom Ports */
-static ADDRESS_MAP_START( sexyboom_io_map, AS_IO, 8, sangho_state )
+ADDRESS_MAP_START(sangho_state::sexyboom_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x7c, 0x7d) AM_DEVWRITE("ymsnd", ym2413_device, write)
AM_RANGE( 0xa0, 0xa0) AM_READ_PORT("P1")
diff --git a/src/mame/drivers/sanremmg.cpp b/src/mame/drivers/sanremmg.cpp
index 31c000f7b68..d803f7da54d 100644
--- a/src/mame/drivers/sanremmg.cpp
+++ b/src/mame/drivers/sanremmg.cpp
@@ -27,6 +27,7 @@ public:
uint32_t screen_update_sanremmg(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void sanremmg(machine_config &config);
+ void sanremmg_map(address_map &map);
};
@@ -41,7 +42,7 @@ uint32_t sanremmg_state::screen_update_sanremmg(screen_device &screen, bitmap_in
-static ADDRESS_MAP_START( sanremmg_map, AS_PROGRAM, 32, sanremmg_state )
+ADDRESS_MAP_START(sanremmg_state::sanremmg_map)
AM_RANGE(0x00000000, 0x003fffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/sanremo.cpp b/src/mame/drivers/sanremo.cpp
index 09b066daddb..ef6ac655ed3 100644
--- a/src/mame/drivers/sanremo.cpp
+++ b/src/mame/drivers/sanremo.cpp
@@ -132,6 +132,8 @@ public:
required_device<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
void sanremo(machine_config &config);
+ void sanremo_map(address_map &map);
+ void sanremo_portmap(address_map &map);
};
@@ -222,13 +224,13 @@ WRITE8_MEMBER(sanremo_state::banksel_w)
* Memory map information *
*********************************************/
-static ADDRESS_MAP_START( sanremo_map, AS_PROGRAM, 8, sanremo_state )
+ADDRESS_MAP_START(sanremo_state::sanremo_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(sanremo_videoram_w) AM_SHARE("videoram") // 2x 76C28 (1x accessed directly, latched bank written to other like subsino etc.)
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("nvram") // battery backed UM6116
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sanremo_portmap, AS_IO, 8, sanremo_state )
+ADDRESS_MAP_START(sanremo_state::sanremo_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN0")
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN1")
diff --git a/src/mame/drivers/sansa_fuze.cpp b/src/mame/drivers/sansa_fuze.cpp
index 22cacc36725..05a4cc23082 100644
--- a/src/mame/drivers/sansa_fuze.cpp
+++ b/src/mame/drivers/sansa_fuze.cpp
@@ -23,11 +23,12 @@ public:
required_device<cpu_device> m_maincpu;
void sansa_fuze(machine_config &config);
+ void sansa_fuze_map(address_map &map);
};
-static ADDRESS_MAP_START( sansa_fuze_map, AS_PROGRAM, 32, sansa_fuze_state )
+ADDRESS_MAP_START(sansa_fuze_state::sansa_fuze_map)
AM_RANGE(0x00000000, 0x0001ffff) AM_ROM
AM_RANGE(0x80000000, 0x8001ffff) AM_ROM AM_REGION("maincpu", 0x00000)
diff --git a/src/mame/drivers/sapi1.cpp b/src/mame/drivers/sapi1.cpp
index 9c445f9264c..2614c2515f8 100644
--- a/src/mame/drivers/sapi1.cpp
+++ b/src/mame/drivers/sapi1.cpp
@@ -89,6 +89,14 @@ public:
void sapi2(machine_config &config);
void sapi3a(machine_config &config);
void sapi3b(machine_config &config);
+ void sapi1_mem(address_map &map);
+ void sapi2_mem(address_map &map);
+ void sapi3_io(address_map &map);
+ void sapi3_mem(address_map &map);
+ void sapi3a_io(address_map &map);
+ void sapi3a_mem(address_map &map);
+ void sapi3b_io(address_map &map);
+ void sapi3b_mem(address_map &map);
private:
uint8_t m_term_data;
uint8_t m_keyboard_mask;
@@ -183,7 +191,7 @@ static const uint8_t MHB2501[] = {
/* Address maps */
-static ADDRESS_MAP_START(sapi1_mem, AS_PROGRAM, 8, sapi1_state )
+ADDRESS_MAP_START(sapi1_state::sapi1_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1000, 0x1fff) AM_ROM // Extension ROM
@@ -196,7 +204,7 @@ static ADDRESS_MAP_START(sapi1_mem, AS_PROGRAM, 8, sapi1_state )
AM_RANGE(0x4000, 0x7fff) AM_RAM // REM-1
ADDRESS_MAP_END
-static ADDRESS_MAP_START(sapi2_mem, AS_PROGRAM, 8, sapi1_state )
+ADDRESS_MAP_START(sapi1_state::sapi2_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1000, 0x1fff) AM_ROM // Extension ROM
@@ -207,14 +215,14 @@ static ADDRESS_MAP_START(sapi2_mem, AS_PROGRAM, 8, sapi1_state )
AM_RANGE(0x4000, 0x7fff) AM_RAM // REM-1
ADDRESS_MAP_END
-static ADDRESS_MAP_START(sapi3_mem, AS_PROGRAM, 8, sapi1_state )
+ADDRESS_MAP_START(sapi1_state::sapi3_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_RAMBANK("bank1")
AM_RANGE(0x0800, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(sapi3a_mem, AS_PROGRAM, 8, sapi1_state )
+ADDRESS_MAP_START(sapi1_state::sapi3a_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_RAMBANK("bank1")
AM_RANGE(0x0800, 0xf7ff) AM_RAM
@@ -222,7 +230,7 @@ static ADDRESS_MAP_START(sapi3a_mem, AS_PROGRAM, 8, sapi1_state )
AM_RANGE(0xfe00, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(sapi3b_mem, AS_PROGRAM, 8, sapi1_state )
+ADDRESS_MAP_START(sapi1_state::sapi3b_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_RAMBANK("bank1")
AM_RANGE(0x0800, 0xafff) AM_RAM
@@ -230,14 +238,14 @@ static ADDRESS_MAP_START(sapi3b_mem, AS_PROGRAM, 8, sapi1_state )
AM_RANGE(0xb800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sapi3_io, AS_IO, 8, sapi1_state )
+ADDRESS_MAP_START(sapi1_state::sapi3_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(sapi3_00_w)
AM_RANGE(0x25, 0x25) AM_READWRITE(sapi3_25_r,sapi3_25_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sapi3a_io, AS_IO, 8, sapi1_state )
+ADDRESS_MAP_START(sapi1_state::sapi3a_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(sapi3_00_w)
@@ -248,7 +256,7 @@ static ADDRESS_MAP_START( sapi3a_io, AS_IO, 8, sapi1_state )
AM_RANGE(0x25, 0x25) AM_READWRITE(sapi3_25_r,sapi3_25_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sapi3b_io, AS_IO, 8, sapi1_state )
+ADDRESS_MAP_START(sapi1_state::sapi3b_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(sapi3_00_w)
diff --git a/src/mame/drivers/sartorius.cpp b/src/mame/drivers/sartorius.cpp
index 26a2cd10828..e7a53ee6110 100644
--- a/src/mame/drivers/sartorius.cpp
+++ b/src/mame/drivers/sartorius.cpp
@@ -63,18 +63,21 @@ public:
}
void sart3733(machine_config &config);
+ void sart3733_memory(address_map &map);
+ void sart3733_rom(address_map &map);
+ void sart3733_status(address_map &map);
};
-ADDRESS_MAP_START(sart3733_rom, i4040_cpu_device::AS_ROM, 8, sart3733_state)
+ ADDRESS_MAP_START(sart3733_state::sart3733_rom)
AM_RANGE(0x0000, 0x07ff) AM_ROM AM_REGION("maincpu", 0x0000)
ADDRESS_MAP_END
-ADDRESS_MAP_START(sart3733_memory, i4040_cpu_device::AS_RAM_MEMORY, 8, sart3733_state)
+ ADDRESS_MAP_START(sart3733_state::sart3733_memory)
AM_RANGE(0x0000, 0x007f) AM_RAM // 2 * 4002
ADDRESS_MAP_END
-ADDRESS_MAP_START(sart3733_status, i4040_cpu_device::AS_RAM_STATUS, 8, sart3733_state)
+ ADDRESS_MAP_START(sart3733_state::sart3733_status)
AM_RANGE(0x0000, 0x001f) AM_RAM // 2 * 4002
ADDRESS_MAP_END
diff --git a/src/mame/drivers/saturn.cpp b/src/mame/drivers/saturn.cpp
index 1619823d96e..9de50308b27 100644
--- a/src/mame/drivers/saturn.cpp
+++ b/src/mame/drivers/saturn.cpp
@@ -497,6 +497,8 @@ public:
void saturnjp(machine_config &config);
void saturneu(machine_config &config);
void saturnus(machine_config &config);
+ void saturn_mem(address_map &map);
+ void sound_mem(address_map &map);
};
@@ -515,7 +517,7 @@ READ32_MEMBER( sat_console_state::abus_dummy_r )
return -1;
}
-static ADDRESS_MAP_START( saturn_mem, AS_PROGRAM, 32, sat_console_state )
+ADDRESS_MAP_START(sat_console_state::saturn_mem)
AM_RANGE(0x00000000, 0x0007ffff) AM_ROM AM_MIRROR(0x20000000) AM_REGION("bios", 0) AM_WRITENOP // bios
AM_RANGE(0x00100000, 0x0010007f) AM_DEVREADWRITE8("smpc", smpc_hle_device, read, write, 0xffffffff)
AM_RANGE(0x00180000, 0x0018ffff) AM_READWRITE8(saturn_backupram_r, saturn_backupram_w,0xffffffff) AM_SHARE("share1")
@@ -545,7 +547,7 @@ static ADDRESS_MAP_START( saturn_mem, AS_PROGRAM, 32, sat_console_state )
AM_RANGE(0xc0000000, 0xc0000fff) AM_RAM // cache data array, Dragon Ball Z sprites relies on this
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_mem, AS_PROGRAM, 16, sat_console_state )
+ADDRESS_MAP_START(sat_console_state::sound_mem)
AM_RANGE(0x000000, 0x0fffff) AM_RAM AM_SHARE("sound_ram")
AM_RANGE(0x100000, 0x100fff) AM_DEVREADWRITE("scsp", scsp_device, read, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/sauro.cpp b/src/mame/drivers/sauro.cpp
index c646e87917c..6977c5acb2e 100644
--- a/src/mame/drivers/sauro.cpp
+++ b/src/mame/drivers/sauro.cpp
@@ -185,7 +185,7 @@ WRITE8_MEMBER(sauro_state::adpcm_w)
m_sp0256->ald_w(space, 0, data);
}
-static ADDRESS_MAP_START( sauro_map, AS_PROGRAM, 8, sauro_state )
+ADDRESS_MAP_START(sauro_state::sauro_map)
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xe800, 0xebff) AM_RAM AM_SHARE("spriteram")
@@ -195,7 +195,7 @@ static ADDRESS_MAP_START( sauro_map, AS_PROGRAM, 8, sauro_state )
AM_RANGE(0xfc00, 0xffff) AM_RAM_WRITE(sauro_colorram2_w) AM_SHARE("colorram2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sauro_io_map, AS_IO, 8, sauro_state )
+ADDRESS_MAP_START(sauro_state::sauro_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW1")
AM_RANGE(0x20, 0x20) AM_READ_PORT("DSW2")
@@ -208,7 +208,7 @@ static ADDRESS_MAP_START( sauro_io_map, AS_IO, 8, sauro_state )
AM_RANGE(0xe0, 0xe0) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sauro_sound_map, AS_PROGRAM, 8, sauro_state )
+ADDRESS_MAP_START(sauro_state::sauro_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xc000, 0xc001) AM_DEVWRITE("ymsnd", ym3812_device, write)
@@ -219,7 +219,7 @@ static ADDRESS_MAP_START( sauro_sound_map, AS_PROGRAM, 8, sauro_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( saurob_sound_map, AS_PROGRAM, 8, sauro_state )
+ADDRESS_MAP_START(sauro_state::saurob_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xc000, 0xc001) AM_DEVWRITE("ymsnd", ym3812_device, write)
@@ -230,7 +230,7 @@ static ADDRESS_MAP_START( saurob_sound_map, AS_PROGRAM, 8, sauro_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( trckydoc_map, AS_PROGRAM, 8, sauro_state )
+ADDRESS_MAP_START(sauro_state::trckydoc_map)
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xe800, 0xebff) AM_RAM AM_MIRROR(0x400) AM_SHARE("spriteram")
diff --git a/src/mame/drivers/savia84.cpp b/src/mame/drivers/savia84.cpp
index e8843ffe316..0e8b20cad4c 100644
--- a/src/mame/drivers/savia84.cpp
+++ b/src/mame/drivers/savia84.cpp
@@ -49,6 +49,8 @@ public:
DECLARE_WRITE8_MEMBER(savia84_8255_portc_w);
void savia84(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
uint8_t m_kbd;
uint8_t m_segment;
@@ -59,14 +61,14 @@ private:
required_device<i8255_device> m_ppi8255;
};
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, savia84_state )
+ADDRESS_MAP_START(savia84_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x7fff) // A15 not connected at the CPU
AM_RANGE(0x0000, 0x07ff) AM_ROM
AM_RANGE(0x1800, 0x1fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, savia84_state )
+ADDRESS_MAP_START(savia84_state::io_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x07)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ppi8255", i8255_device, read, write) // ports F8-FB
diff --git a/src/mame/drivers/savquest.cpp b/src/mame/drivers/savquest.cpp
index de0730058f9..3735eac482d 100644
--- a/src/mame/drivers/savquest.cpp
+++ b/src/mame/drivers/savquest.cpp
@@ -114,6 +114,8 @@ public:
DECLARE_WRITE8_MEMBER(smram_w);
void savquest(machine_config &config);
+ void savquest_io(address_map &map);
+ void savquest_map(address_map &map);
protected:
@@ -730,7 +732,7 @@ WRITE8_MEMBER(savquest_state::smram_w)
}
-static ADDRESS_MAP_START(savquest_map, AS_PROGRAM, 32, savquest_state)
+ADDRESS_MAP_START(savquest_state::savquest_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000a0000, 0x000bffff) AM_READWRITE8(smram_r,smram_w,0xffffffff) //AM_DEVREADWRITE8("vga", vga_device, mem_r, mem_w, 0xffffffff)
@@ -745,7 +747,7 @@ static ADDRESS_MAP_START(savquest_map, AS_PROGRAM, 32, savquest_state)
AM_RANGE(0xfffc0000, 0xffffffff) AM_ROM AM_REGION("bios", 0) /* System BIOS */
ADDRESS_MAP_END
-static ADDRESS_MAP_START(savquest_io, AS_IO, 32, savquest_state)
+ADDRESS_MAP_START(savquest_state::savquest_io)
AM_IMPORT_FROM(pcat32_io_common)
AM_RANGE(0x0070, 0x007f) AM_DEVREADWRITE8("rtc", ds12885_device, read, write, 0xffffffff)
diff --git a/src/mame/drivers/sbasketb.cpp b/src/mame/drivers/sbasketb.cpp
index 46f9d7c1641..d0e866938aa 100644
--- a/src/mame/drivers/sbasketb.cpp
+++ b/src/mame/drivers/sbasketb.cpp
@@ -79,7 +79,7 @@ WRITE_LINE_MEMBER(sbasketb_state::irq_mask_w)
m_maincpu->set_input_line(0, CLEAR_LINE);
}
-static ADDRESS_MAP_START( sbasketb_map, AS_PROGRAM, 8, sbasketb_state )
+ADDRESS_MAP_START(sbasketb_state::sbasketb_map)
AM_RANGE(0x2000, 0x2fff) AM_RAM
AM_RANGE(0x3000, 0x33ff) AM_RAM_WRITE(sbasketb_colorram_w) AM_SHARE("colorram")
AM_RANGE(0x3400, 0x37ff) AM_RAM_WRITE(sbasketb_videoram_w) AM_SHARE("videoram")
@@ -101,7 +101,7 @@ static ADDRESS_MAP_START( sbasketb_map, AS_PROGRAM, 8, sbasketb_state )
AM_RANGE(0x6000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sbasketb_sound_map, AS_PROGRAM, 8, sbasketb_state )
+ADDRESS_MAP_START(sbasketb_state::sbasketb_sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM
AM_RANGE(0x6000, 0x6000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/sbc6510.cpp b/src/mame/drivers/sbc6510.cpp
index 0eee789999d..cb289ea97c7 100644
--- a/src/mame/drivers/sbc6510.cpp
+++ b/src/mame/drivers/sbc6510.cpp
@@ -78,6 +78,10 @@ public:
DECLARE_READ8_MEMBER(key_r);
void sbc6510(machine_config &config);
+ void sbc6510_mem(address_map &map);
+ void sbc6510_video_data(address_map &map);
+ void sbc6510_video_io(address_map &map);
+ void sbc6510_video_mem(address_map &map);
private:
uint8_t m_key_row;
uint8_t m_2;
@@ -90,7 +94,7 @@ private:
};
-static ADDRESS_MAP_START( sbc6510_mem, AS_PROGRAM, 8, sbc6510_state )
+ADDRESS_MAP_START(sbc6510_state::sbc6510_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0001) AM_RAM
AM_RANGE(0x0002, 0x0002) AM_READWRITE(a2_r,a2_w)
@@ -101,15 +105,15 @@ static ADDRESS_MAP_START( sbc6510_mem, AS_PROGRAM, 8, sbc6510_state )
AM_RANGE(0xf000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sbc6510_video_mem, AS_PROGRAM, 8, sbc6510_state )
+ADDRESS_MAP_START(sbc6510_state::sbc6510_video_mem)
AM_RANGE(0x0000, 0x1fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sbc6510_video_data, AS_DATA, 8, sbc6510_state )
+ADDRESS_MAP_START(sbc6510_state::sbc6510_video_data)
AM_RANGE(0x0100, 0x04ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sbc6510_video_io, AS_IO, 8, sbc6510_state )
+ADDRESS_MAP_START(sbc6510_state::sbc6510_video_io)
ADDRESS_MAP_END
/* Input ports */
diff --git a/src/mame/drivers/sbowling.cpp b/src/mame/drivers/sbowling.cpp
index c7ad40f32d6..08222af30d2 100644
--- a/src/mame/drivers/sbowling.cpp
+++ b/src/mame/drivers/sbowling.cpp
@@ -88,6 +88,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void postload();
void sbowling(machine_config &config);
+ void main_map(address_map &map);
+ void port_map(address_map &map);
};
TILE_GET_INFO_MEMBER(sbowling_state::get_tile_info)
@@ -245,7 +247,7 @@ READ8_MEMBER(sbowling_state::controls_r)
return ioport("TRACKX")->read();
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, sbowling_state )
+ADDRESS_MAP_START(sbowling_state::main_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
AM_RANGE(0xf800, 0xf801) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
@@ -254,7 +256,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, sbowling_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( port_map, AS_IO, 8, sbowling_state )
+ADDRESS_MAP_START(sbowling_state::port_map)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x01, 0x01) AM_READWRITE(controls_r, pix_data_w)
AM_RANGE(0x02, 0x02) AM_READWRITE(pix_data_r, pix_shift_w)
diff --git a/src/mame/drivers/sbrain.cpp b/src/mame/drivers/sbrain.cpp
index 698cb5617fb..1fefb4466d7 100644
--- a/src/mame/drivers/sbrain.cpp
+++ b/src/mame/drivers/sbrain.cpp
@@ -91,6 +91,10 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(kbd_scan);
void sbrain(machine_config &config);
+ void sbrain_io(address_map &map);
+ void sbrain_mem(address_map &map);
+ void sbrain_subio(address_map &map);
+ void sbrain_submem(address_map &map);
private:
bool m_busak;
u8 m_keydown;
@@ -119,7 +123,7 @@ private:
required_ioport_array<10> m_keyboard;
};
-static ADDRESS_MAP_START( sbrain_mem, AS_PROGRAM, 8, sbrain_state )
+ADDRESS_MAP_START(sbrain_state::sbrain_mem)
AM_RANGE( 0x0000, 0x3fff ) AM_READ_BANK("bankr0") AM_WRITE_BANK("bankw0")
AM_RANGE( 0x4000, 0x7fff ) AM_RAM
AM_RANGE( 0x8000, 0xbfff ) AM_RAMBANK("bank2")
@@ -127,7 +131,7 @@ static ADDRESS_MAP_START( sbrain_mem, AS_PROGRAM, 8, sbrain_state )
AM_RANGE( 0xf800, 0xffff ) AM_RAM AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sbrain_io, AS_IO, 8, sbrain_state )
+ADDRESS_MAP_START(sbrain_state::sbrain_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x40, 0x40) AM_MIRROR(6) AM_DEVREADWRITE("uart0", i8251_device, data_r, data_w)
AM_RANGE(0x41, 0x41) AM_MIRROR(6) AM_DEVREADWRITE("uart0", i8251_device, status_r, control_w)
@@ -139,12 +143,12 @@ static ADDRESS_MAP_START( sbrain_io, AS_IO, 8, sbrain_state )
AM_RANGE(0x68, 0x6b) AM_MIRROR(4) AM_DEVREADWRITE("ppi", i8255_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sbrain_submem, AS_PROGRAM, 8, sbrain_state )
+ADDRESS_MAP_START(sbrain_state::sbrain_submem)
AM_RANGE( 0x0000, 0x07ff ) AM_ROM
AM_RANGE( 0x8800, 0x8bff ) AM_RAM AM_REGION("subcpu", 0x8800)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sbrain_subio, AS_IO, 8, sbrain_state )
+ADDRESS_MAP_START(sbrain_state::sbrain_subio)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE("fdc", fd1791_device, read, write)
AM_RANGE(0x10, 0x10) AM_READWRITE(port10_r,port10_w)
diff --git a/src/mame/drivers/sbrkout.cpp b/src/mame/drivers/sbrkout.cpp
index ef9854bf966..1329cd10e52 100644
--- a/src/mame/drivers/sbrkout.cpp
+++ b/src/mame/drivers/sbrkout.cpp
@@ -94,6 +94,8 @@ public:
required_device<palette_device> m_palette;
void sbrkoutct(machine_config &config);
void sbrkout(machine_config &config);
+ void main_map(address_map &map);
+ void sbrkoutct_main_map(address_map &map);
};
@@ -405,7 +407,7 @@ uint32_t sbrkout_state::screen_update_sbrkout(screen_device &screen, bitmap_ind1
*************************************/
/* full memory map derived from schematics */
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, sbrkout_state )
+ADDRESS_MAP_START(sbrkout_state::main_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x380) AM_RAMBANK("bank1")
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(sbrkout_videoram_w) AM_SHARE("videoram")
@@ -421,7 +423,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, sbrkout_state )
AM_RANGE(0x2800, 0x3fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sbrkoutct_main_map, AS_PROGRAM, 8, sbrkout_state )
+ADDRESS_MAP_START(sbrkout_state::sbrkoutct_main_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x380) AM_RAMBANK("bank1")
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(sbrkout_videoram_w) AM_SHARE("videoram")
diff --git a/src/mame/drivers/sbugger.cpp b/src/mame/drivers/sbugger.cpp
index dd4b82c23c4..00f92ab6aa9 100644
--- a/src/mame/drivers/sbugger.cpp
+++ b/src/mame/drivers/sbugger.cpp
@@ -111,7 +111,7 @@ Sound PCB
/* memory maps */
-static ADDRESS_MAP_START( sbugger_map, AS_PROGRAM, 8, sbugger_state )
+ADDRESS_MAP_START(sbugger_state::sbugger_map)
AM_RANGE(0x0000, 0x37ff) AM_ROM
AM_RANGE(0xc800, 0xcbff) AM_RAM_WRITE(videoram_attr_w) AM_SHARE("videoram_attr")
AM_RANGE(0xcc00, 0xcfff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
@@ -119,7 +119,7 @@ static ADDRESS_MAP_START( sbugger_map, AS_PROGRAM, 8, sbugger_state )
AM_RANGE(0xf400, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sbugger_io_map, AS_IO, 8, sbugger_state )
+ADDRESS_MAP_START(sbugger_state::sbugger_io_map)
AM_RANGE(0xe0, 0xe7) AM_DEVREADWRITE("i8156", i8155_device, io_r, io_w)
AM_RANGE(0xe8, 0xe8) AM_DEVWRITE("sn76489.1", sn76489_device, write)
AM_RANGE(0xe9, 0xe9) AM_DEVWRITE("sn76489.2", sn76489_device, write)
diff --git a/src/mame/drivers/sc1.cpp b/src/mame/drivers/sc1.cpp
index 0f292a90a79..02272745947 100644
--- a/src/mame/drivers/sc1.cpp
+++ b/src/mame/drivers/sc1.cpp
@@ -63,6 +63,8 @@ public:
uint8_t m_matrix;
void sc1(machine_config &config);
+ void sc1_io(address_map &map);
+ void sc1_mem(address_map &map);
};
/***************************************************************************
@@ -122,13 +124,13 @@ READ8_MEMBER( sc1_state::pio_port_b_r )
}
-static ADDRESS_MAP_START(sc1_mem, AS_PROGRAM, 8, sc1_state)
+ADDRESS_MAP_START(sc1_state::sc1_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x0fff ) AM_ROM
AM_RANGE( 0x4000, 0x43ff ) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(sc1_io, AS_IO, 8, sc1_state)
+ADDRESS_MAP_START(sc1_state::sc1_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x80, 0x83) AM_DEVREADWRITE("z80pio", z80pio_device, read_alt, write_alt)
diff --git a/src/mame/drivers/sc2.cpp b/src/mame/drivers/sc2.cpp
index cb0611bc329..8dddb57bd10 100644
--- a/src/mame/drivers/sc2.cpp
+++ b/src/mame/drivers/sc2.cpp
@@ -44,6 +44,8 @@ public:
virtual void machine_reset() override;
required_device<cpu_device> m_maincpu;
void sc2(machine_config &config);
+ void sc2_io(address_map &map);
+ void sc2_mem(address_map &map);
};
READ8_MEMBER( sc2_state::sc2_beep )
@@ -58,7 +60,7 @@ READ8_MEMBER( sc2_state::sc2_beep )
return 0xff;
}
-static ADDRESS_MAP_START(sc2_mem, AS_PROGRAM, 8, sc2_state)
+ADDRESS_MAP_START(sc2_state::sc2_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x0fff ) AM_ROM
AM_RANGE( 0x1000, 0x13ff ) AM_RAM
@@ -66,7 +68,7 @@ static ADDRESS_MAP_START(sc2_mem, AS_PROGRAM, 8, sc2_state)
AM_RANGE( 0x3c00, 0x3c00 ) AM_READ(sc2_beep)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(sc2_io, AS_IO, 8, sc2_state)
+ADDRESS_MAP_START(sc2_state::sc2_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_MIRROR(0xfc) AM_DEVREADWRITE("z80pio", z80pio_device, read, write)
diff --git a/src/mame/drivers/scobra.cpp b/src/mame/drivers/scobra.cpp
index ac306545bd5..159c2ffd4c5 100644
--- a/src/mame/drivers/scobra.cpp
+++ b/src/mame/drivers/scobra.cpp
@@ -78,6 +78,20 @@ public:
void tazmani3(machine_config &config);
void hustlerb(machine_config &config);
void rescuefe(machine_config &config);
+ void hustler_map(address_map &map);
+ void hustler_sound_io_map(address_map &map);
+ void hustler_sound_map(address_map &map);
+ void hustlerb_map(address_map &map);
+ void hustlerb_sound_io_map(address_map &map);
+ void hustlerb_sound_map(address_map &map);
+ void mimonkey_map(address_map &map);
+ void minefldfe_map(address_map &map);
+ void rescuefe_map(address_map &map);
+ void scobra_sound_io_map(address_map &map);
+ void scobra_sound_map(address_map &map);
+ void tazmani3_map(address_map &map);
+ void type1_map(address_map &map);
+ void type2_map(address_map &map);
private:
optional_shared_ptr<uint8_t> m_soundram;
};
@@ -124,7 +138,7 @@ READ8_MEMBER(scobra_state::hustler_ppi8255_1_r){ return m_ppi8255_1->read(space,
WRITE8_MEMBER(scobra_state::hustler_ppi8255_0_w){ m_ppi8255_0->write(space, offset >> 3, data); }
WRITE8_MEMBER(scobra_state::hustler_ppi8255_1_w){ m_ppi8255_1->write(space, offset >> 3, data); }
-static ADDRESS_MAP_START( type1_map, AS_PROGRAM, 8, scobra_state )
+ADDRESS_MAP_START(scobra_state::type1_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8bff) AM_RAM_WRITE(galaxold_videoram_w) AM_SHARE("videoram") AM_MIRROR(0x0400)
@@ -142,7 +156,7 @@ static ADDRESS_MAP_START( type1_map, AS_PROGRAM, 8, scobra_state )
AM_RANGE(0xb000, 0xb000) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( type2_map, AS_PROGRAM, 8, scobra_state )
+ADDRESS_MAP_START(scobra_state::type2_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x883f) AM_RAM_WRITE(galaxold_attributesram_w) AM_SHARE("attributesram")
@@ -161,7 +175,7 @@ static ADDRESS_MAP_START( type2_map, AS_PROGRAM, 8, scobra_state )
AM_RANGE(0xb00e, 0xb00e) AM_WRITE(galaxold_flip_screen_x_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tazmani3_map, AS_PROGRAM, 8, scobra_state )
+ADDRESS_MAP_START(scobra_state::tazmani3_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x883f) AM_RAM_WRITE(galaxold_attributesram_w) AM_SHARE("attributesram")
@@ -180,7 +194,7 @@ static ADDRESS_MAP_START( tazmani3_map, AS_PROGRAM, 8, scobra_state )
AM_RANGE(0xb00e, 0xb00e) AM_WRITE(galaxold_flip_screen_x_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hustler_map, AS_PROGRAM, 8, scobra_state )
+ADDRESS_MAP_START(scobra_state::hustler_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8bff) AM_RAM_WRITE(galaxold_videoram_w) AM_SHARE("videoram")
@@ -197,7 +211,7 @@ static ADDRESS_MAP_START( hustler_map, AS_PROGRAM, 8, scobra_state )
AM_RANGE(0xe000, 0xe01f) AM_READWRITE(hustler_ppi8255_1_r, hustler_ppi8255_1_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hustlerb_map, AS_PROGRAM, 8, scobra_state )
+ADDRESS_MAP_START(scobra_state::hustlerb_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8bff) AM_RAM_WRITE(galaxold_videoram_w) AM_SHARE("videoram")
@@ -215,7 +229,7 @@ static ADDRESS_MAP_START( hustlerb_map, AS_PROGRAM, 8, scobra_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mimonkey_map, AS_PROGRAM, 8, scobra_state )
+ADDRESS_MAP_START(scobra_state::mimonkey_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8bff) AM_RAM_WRITE(galaxold_videoram_w) AM_SHARE("videoram") AM_MIRROR(0x0400)
@@ -234,7 +248,7 @@ static ADDRESS_MAP_START( mimonkey_map, AS_PROGRAM, 8, scobra_state )
ADDRESS_MAP_END
// weird address map like anteateruk in galaxian.c (also a free enterprise set)
-static ADDRESS_MAP_START( rescuefe_map, AS_PROGRAM, 8, scobra_state )
+ADDRESS_MAP_START(scobra_state::rescuefe_map)
AM_RANGE(0x0000, 0x05ff) AM_ROM
AM_RANGE(0x0600, 0x0fff) AM_RAM // sets stack here
AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(galaxold_videoram_w) AM_SHARE("videoram")
@@ -269,7 +283,7 @@ static ADDRESS_MAP_START( rescuefe_map, AS_PROGRAM, 8, scobra_state )
// AM_RANGE(0xf000, 0xf000) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( minefldfe_map, AS_PROGRAM, 8, scobra_state )
+ADDRESS_MAP_START(scobra_state::minefldfe_map)
AM_RANGE(0x0000, 0x0bff) AM_ROM // ok
AM_RANGE(0x0c00, 0x0c3f) AM_RAM_WRITE(galaxold_attributesram_w) AM_SHARE("attributesram") // ok
AM_RANGE(0x0c40, 0x0c5f) AM_RAM AM_SHARE("spriteram") // ok
@@ -312,7 +326,7 @@ WRITE8_MEMBER(scobra_state::scobra_soundram_w)
m_soundram[offset & 0x03ff] = data;
}
-static ADDRESS_MAP_START( scobra_sound_map, AS_PROGRAM, 8, scobra_state )
+ADDRESS_MAP_START(scobra_state::scobra_sound_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_WRITENOP AM_SHARE("soundram") /* only here to initialize pointer */
AM_RANGE(0x8000, 0x8fff) AM_READWRITE(scobra_soundram_r, scobra_soundram_w)
@@ -320,7 +334,7 @@ static ADDRESS_MAP_START( scobra_sound_map, AS_PROGRAM, 8, scobra_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( scobra_sound_io_map, AS_IO, 8, scobra_state )
+ADDRESS_MAP_START(scobra_state::scobra_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x10) AM_DEVWRITE("ay1", ay8910_device, address_w)
AM_RANGE(0x20, 0x20) AM_DEVREADWRITE("ay1", ay8910_device, data_r, data_w)
@@ -328,26 +342,26 @@ static ADDRESS_MAP_START( scobra_sound_io_map, AS_IO, 8, scobra_state )
AM_RANGE(0x80, 0x80) AM_DEVREADWRITE("ay2", ay8910_device, data_r, data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hustler_sound_map, AS_PROGRAM, 8, scobra_state )
+ADDRESS_MAP_START(scobra_state::hustler_sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM
AM_RANGE(0x6000, 0x6fff) AM_WRITE(frogger_filter_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hustler_sound_io_map, AS_IO, 8, scobra_state )
+ADDRESS_MAP_START(scobra_state::hustler_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x40, 0x40) AM_DEVREADWRITE("aysnd", ay8910_device, data_r, data_w)
AM_RANGE(0x80, 0x80) AM_DEVWRITE("aysnd", ay8910_device, address_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hustlerb_sound_map, AS_PROGRAM, 8, scobra_state )
+ADDRESS_MAP_START(scobra_state::hustlerb_sound_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x6000, 0x6fff) AM_WRITE(frogger_filter_w)
AM_RANGE(0x8000, 0x8fff) AM_RAM_READ(scobra_soundram_r) AM_SHARE("soundram") /* only here to initialize pointer */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hustlerb_sound_io_map, AS_IO, 8, scobra_state )
+ADDRESS_MAP_START(scobra_state::hustlerb_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x40, 0x40) AM_DEVWRITE("aysnd", ay8910_device, address_w)
AM_RANGE(0x80, 0x80) AM_DEVREADWRITE("aysnd", ay8910_device, data_r, data_w)
diff --git a/src/mame/drivers/scopus.cpp b/src/mame/drivers/scopus.cpp
index e02dae15407..e14a9010f6e 100644
--- a/src/mame/drivers/scopus.cpp
+++ b/src/mame/drivers/scopus.cpp
@@ -46,6 +46,8 @@ public:
I8275_DRAW_CHARACTER_MEMBER(crtc_display_pixels);
void sagitta180(machine_config &config);
+ void maincpu_io_map(address_map &map);
+ void maincpu_map(address_map &map);
private:
/* devices */
required_device<palette_device> m_palette;
@@ -115,7 +117,7 @@ void sagitta180_state::machine_reset()
{
}
-static ADDRESS_MAP_START( maincpu_map, AS_PROGRAM, 8, sagitta180_state )
+ADDRESS_MAP_START(sagitta180_state::maincpu_map)
ADDRESS_MAP_GLOBAL_MASK(0xffff)
AM_RANGE(0x0000, 0x07ff) AM_ROM
// AM_RANGE(0x0800, 0x17ff) AM_ROM
@@ -123,7 +125,7 @@ static ADDRESS_MAP_START( maincpu_map, AS_PROGRAM, 8, sagitta180_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( maincpu_io_map, AS_IO, 8, sagitta180_state )
+ADDRESS_MAP_START(sagitta180_state::maincpu_io_map)
AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW")
AM_RANGE(0x20, 0x20) AM_DEVREADWRITE("uart", i8251_device, data_r, data_w)
AM_RANGE(0x21, 0x21) AM_DEVREADWRITE("uart", i8251_device, status_r, control_w)
diff --git a/src/mame/drivers/scorpion.cpp b/src/mame/drivers/scorpion.cpp
index 09caa0c4250..31137594861 100644
--- a/src/mame/drivers/scorpion.cpp
+++ b/src/mame/drivers/scorpion.cpp
@@ -36,6 +36,9 @@ public:
void scorpion(machine_config &config);
void profi(machine_config &config);
void quorum(machine_config &config);
+ void scorpion_io(address_map &map);
+ void scorpion_mem(address_map &map);
+ void scorpion_switch(address_map &map);
protected:
required_memory_bank m_bank1;
required_memory_bank m_bank2;
@@ -173,14 +176,14 @@ READ8_MEMBER(scorpion_state::beta_disable_r)
return m_program->read_byte(offset + 0x4000);
}
-static ADDRESS_MAP_START( scorpion_mem, AS_PROGRAM, 8, scorpion_state )
+ADDRESS_MAP_START(scorpion_state::scorpion_mem)
AM_RANGE(0x0000, 0x3fff) AM_ROMBANK("bank1") AM_WRITE(scorpion_0000_w)
AM_RANGE(0x4000, 0x7fff) AM_RAMBANK("bank2")
AM_RANGE(0x8000, 0xbfff) AM_RAMBANK("bank3")
AM_RANGE(0xc000, 0xffff) AM_RAMBANK("bank4")
ADDRESS_MAP_END
-static ADDRESS_MAP_START (scorpion_io, AS_IO, 8, scorpion_state )
+ADDRESS_MAP_START(scorpion_state::scorpion_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x001f, 0x001f) AM_DEVREADWRITE(BETA_DISK_TAG, beta_disk_device, status_r, command_w) AM_MIRROR(0xff00)
AM_RANGE(0x003f, 0x003f) AM_DEVREADWRITE(BETA_DISK_TAG, beta_disk_device, track_r, track_w) AM_MIRROR(0xff00)
@@ -194,7 +197,7 @@ static ADDRESS_MAP_START (scorpion_io, AS_IO, 8, scorpion_state )
AM_RANGE(0x0021, 0x0021) AM_WRITE(scorpion_port_1ffd_w) AM_MIRROR(0x3fdc)
ADDRESS_MAP_END
-static ADDRESS_MAP_START (scorpion_switch, AS_OPCODES, 8, scorpion_state)
+ADDRESS_MAP_START(scorpion_state::scorpion_switch)
AM_RANGE(0x0000, 0x3fff) AM_READ(beta_neutral_r) // Overlap with previous because we want real addresses on the 3e00-3fff range
AM_RANGE(0x3d00, 0x3dff) AM_READ(beta_enable_r)
AM_RANGE(0x4000, 0xffff) AM_READ(beta_disable_r)
@@ -287,7 +290,7 @@ MACHINE_CONFIG_DERIVED(scorpion_state::scorpion, spectrum_128)
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(scorpion_mem)
MCFG_CPU_IO_MAP(scorpion_io)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(scorpion_switch)
+ MCFG_CPU_OPCODES_MAP(scorpion_switch)
MCFG_MACHINE_START_OVERRIDE(scorpion_state, scorpion )
MCFG_MACHINE_RESET_OVERRIDE(scorpion_state, scorpion )
diff --git a/src/mame/drivers/scotrsht.cpp b/src/mame/drivers/scotrsht.cpp
index e8c457383ba..d56c8ab8bce 100644
--- a/src/mame/drivers/scotrsht.cpp
+++ b/src/mame/drivers/scotrsht.cpp
@@ -64,7 +64,7 @@ WRITE8_MEMBER(scotrsht_state::soundlatch_w)
m_audiocpu->set_input_line(0, HOLD_LINE);
}
-static ADDRESS_MAP_START( scotrsht_map, AS_PROGRAM, 8, scotrsht_state )
+ADDRESS_MAP_START(scotrsht_state::scotrsht_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM_WRITE(colorram_w) AM_SHARE("colorram")
AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
AM_RANGE(0x1000, 0x10bf) AM_RAM AM_SHARE("spriteram") /* sprites */
@@ -88,13 +88,13 @@ static ADDRESS_MAP_START( scotrsht_map, AS_PROGRAM, 8, scotrsht_state )
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( scotrsht_sound_map, AS_PROGRAM, 8, scotrsht_state )
+ADDRESS_MAP_START(scotrsht_state::scotrsht_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM
AM_RANGE(0x8000, 0x8000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( scotrsht_sound_port, AS_IO, 8, scotrsht_state )
+ADDRESS_MAP_START(scotrsht_state::scotrsht_sound_port)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/scramble.cpp b/src/mame/drivers/scramble.cpp
index 4cfe5da3a8d..f59432b2946 100644
--- a/src/mame/drivers/scramble.cpp
+++ b/src/mame/drivers/scramble.cpp
@@ -40,7 +40,7 @@ Notes:
#include "speaker.h"
-static ADDRESS_MAP_START( scramble_map, AS_PROGRAM, 8, scramble_state )
+ADDRESS_MAP_START(scramble_state::scramble_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x4800, 0x4bff) AM_RAM_WRITE(galaxold_videoram_w) AM_SHARE("videoram")
@@ -71,14 +71,14 @@ WRITE8_MEMBER(scramble_state::scramble_soundram_w)
m_soundram[offset & 0x03ff] = data;
}
-static ADDRESS_MAP_START( scramble_sound_map, AS_PROGRAM, 8, scramble_state )
+ADDRESS_MAP_START(scramble_state::scramble_sound_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_WRITENOP AM_SHARE("soundram") /* only here to initialize pointer */
AM_RANGE(0x8000, 0x8fff) AM_READWRITE(scramble_soundram_r, scramble_soundram_w)
AM_RANGE(0x9000, 0x9fff) AM_WRITE(scramble_filter_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( scramble_sound_io_map, AS_IO, 8, scramble_state )
+ADDRESS_MAP_START(scramble_state::scramble_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x10) AM_DEVWRITE("8910.1", ay8910_device, address_w)
AM_RANGE(0x20, 0x20) AM_DEVREADWRITE("8910.1", ay8910_device, data_r, data_w)
@@ -87,7 +87,7 @@ static ADDRESS_MAP_START( scramble_sound_io_map, AS_IO, 8, scramble_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ckongs_map, AS_PROGRAM, 8, scramble_state )
+ADDRESS_MAP_START(scramble_state::ckongs_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x6bff) AM_RAM
AM_RANGE(0x7000, 0x7003) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
@@ -126,7 +126,7 @@ WRITE8_MEMBER(scramble_state::mars_ppi8255_1_w)
m_ppi8255_1->write(space, ((offset >> 2) & 0x02) | ((offset >> 1) & 0x01), data);
}
-static ADDRESS_MAP_START( mars_map, AS_PROGRAM, 8, scramble_state )
+ADDRESS_MAP_START(scramble_state::mars_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x4800, 0x4bff) AM_RAM_WRITE(galaxold_videoram_w) AM_SHARE("videoram")
@@ -149,7 +149,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( newsin7_map, AS_PROGRAM, 8, scramble_state )
+ADDRESS_MAP_START(scramble_state::newsin7_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x4800, 0x4bff) AM_RAM_WRITE(galaxold_videoram_w) AM_SHARE("videoram")
@@ -172,7 +172,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( mrkougar_map, AS_PROGRAM, 8, scramble_state )
+ADDRESS_MAP_START(scramble_state::mrkougar_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x4800, 0x4bff) AM_RAM_WRITE(galaxold_videoram_w) AM_SHARE("videoram")
@@ -193,7 +193,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( hotshock_map, AS_PROGRAM, 8, scramble_state )
+ADDRESS_MAP_START(scramble_state::hotshock_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x4800, 0x4bff) AM_RAM_WRITE(galaxold_videoram_w) AM_SHARE("videoram")
@@ -218,7 +218,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( hunchbks_map, AS_PROGRAM, 8, scramble_state )
+ADDRESS_MAP_START(scramble_state::hunchbks_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1210, 0x1213) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write)
AM_RANGE(0x1400, 0x143f) AM_RAM_WRITE(galaxold_attributesram_w) AM_SHARE("attributesram")
@@ -242,7 +242,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( mimonscr_map, AS_PROGRAM, 8, scramble_state )
+ADDRESS_MAP_START(scramble_state::mimonscr_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_READWRITE(galaxold_videoram_r, galaxold_videoram_w) /* mirror address?, probably not */
AM_RANGE(0x4400, 0x47ff) AM_RAM
@@ -263,7 +263,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( ad2083_map, AS_PROGRAM, 8, scramble_state )
+ADDRESS_MAP_START(scramble_state::ad2083_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x4800, 0x4bff) AM_READWRITE(galaxold_videoram_r, galaxold_videoram_w) AM_SHARE("videoram")
@@ -291,7 +291,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( triplep_map, AS_PROGRAM, 8, scramble_state )
+ADDRESS_MAP_START(scramble_state::triplep_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x4800, 0x4bff) AM_RAM_WRITE(galaxold_videoram_w) AM_SHARE("videoram")
@@ -310,7 +310,7 @@ static ADDRESS_MAP_START( triplep_map, AS_PROGRAM, 8, scramble_state )
AM_RANGE(0x8100, 0x8103) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( triplep_io_map, AS_IO, 8, scramble_state )
+ADDRESS_MAP_START(scramble_state::triplep_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("8910.1", ay8910_device, data_address_w)
AM_RANGE(0x01, 0x01) AM_DEVREAD("8910.1", ay8910_device, data_r)
@@ -318,7 +318,7 @@ static ADDRESS_MAP_START( triplep_io_map, AS_IO, 8, scramble_state )
AM_RANGE(0x03, 0x03) AM_READ(triplep_pap_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hotshock_sound_io_map, AS_IO, 8, scramble_state )
+ADDRESS_MAP_START(scramble_state::hotshock_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x10) AM_DEVWRITE("8910.1", ay8910_device, address_w)
AM_RANGE(0x20, 0x20) AM_DEVREADWRITE("8910.1", ay8910_device, data_r, data_w)
@@ -336,14 +336,14 @@ READ8_MEMBER(scramble_state::hncholms_prot_r)
return 0;
}
-static ADDRESS_MAP_START( hunchbks_readport, AS_IO, 8, scramble_state )
+ADDRESS_MAP_START(scramble_state::hunchbks_readport)
AM_RANGE(0x00, 0x00) AM_READ(hncholms_prot_r)
ADDRESS_MAP_END
// Harem
-static ADDRESS_MAP_START( harem_map, AS_PROGRAM, 8, scramble_state )
+ADDRESS_MAP_START(scramble_state::harem_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x27ff) AM_RAM
@@ -374,19 +374,19 @@ static ADDRESS_MAP_START( harem_map, AS_PROGRAM, 8, scramble_state )
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("rombank") // bitswapped rom
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, scramble_state )
+ADDRESS_MAP_START(scramble_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("rombank_decrypted")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( harem_sound_map, AS_PROGRAM, 8, scramble_state )
+ADDRESS_MAP_START(scramble_state::harem_sound_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x6000, 0x6000) AM_READ(harem_digitalker_intr_r)
AM_RANGE(0x8000, 0x83ff) AM_RAM
AM_RANGE(0xa000, 0xafff) AM_WRITE(scramble_filter_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( harem_sound_io_map, AS_IO, 8, scramble_state )
+ADDRESS_MAP_START(scramble_state::harem_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
// ports->speech:
@@ -1598,7 +1598,7 @@ MACHINE_CONFIG_DERIVED(scramble_state::harem, scramble)
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(harem_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_MODIFY("audiocpu")
MCFG_CPU_PROGRAM_MAP(harem_sound_map)
diff --git a/src/mame/drivers/scregg.cpp b/src/mame/drivers/scregg.cpp
index ee22c8e3156..730e2c9b438 100644
--- a/src/mame/drivers/scregg.cpp
+++ b/src/mame/drivers/scregg.cpp
@@ -75,6 +75,8 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(scregg_interrupt);
void scregg(machine_config &config);
void dommy(machine_config &config);
+ void dommy_map(address_map &map);
+ void eggs_map(address_map &map);
};
@@ -97,7 +99,7 @@ READ8_MEMBER(scregg_state::scregg_irqack_r)
}
-static ADDRESS_MAP_START( dommy_map, AS_PROGRAM, 8, scregg_state )
+ADDRESS_MAP_START(scregg_state::dommy_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x2000, 0x23ff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x2400, 0x27ff) AM_RAM AM_SHARE("colorram")
@@ -112,7 +114,7 @@ static ADDRESS_MAP_START( dommy_map, AS_PROGRAM, 8, scregg_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( eggs_map, AS_PROGRAM, 8, scregg_state )
+ADDRESS_MAP_START(scregg_state::eggs_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x1000, 0x13ff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x1400, 0x17ff) AM_RAM AM_SHARE("colorram")
diff --git a/src/mame/drivers/scv.cpp b/src/mame/drivers/scv.cpp
index 7b37ec97988..863cd0ffb85 100644
--- a/src/mame/drivers/scv.cpp
+++ b/src/mame/drivers/scv.cpp
@@ -45,6 +45,7 @@ public:
void scv(machine_config &config);
void scv_pal(machine_config &config);
+ void scv_mem(address_map &map);
protected:
enum
{
@@ -69,7 +70,7 @@ protected:
};
-static ADDRESS_MAP_START( scv_mem, AS_PROGRAM, 8, scv_state )
+ADDRESS_MAP_START(scv_state::scv_mem)
AM_RANGE( 0x0000, 0x0fff ) AM_ROM // BIOS
AM_RANGE( 0x2000, 0x3403 ) AM_RAM AM_SHARE("videoram") // VRAM + 4 registers
diff --git a/src/mame/drivers/scyclone.cpp b/src/mame/drivers/scyclone.cpp
index f7f0bf14cc2..e88d11e53ff 100644
--- a/src/mame/drivers/scyclone.cpp
+++ b/src/mame/drivers/scyclone.cpp
@@ -89,6 +89,10 @@ public:
CUSTOM_INPUT_MEMBER(collision_r);
void scyclone(machine_config &config);
+ void scyclone_iomap(address_map &map);
+ void scyclone_map(address_map &map);
+ void scyclone_sub_iomap(address_map &map);
+ void scyclone_sub_map(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -295,7 +299,7 @@ uint32_t scyclone_state::screen_update_scyclone(screen_device &screen, bitmap_rg
-static ADDRESS_MAP_START( scyclone_map, AS_PROGRAM, 8, scyclone_state )
+ADDRESS_MAP_START(scyclone_state::scyclone_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM
AM_RANGE(0x4400, 0x5fff) AM_READWRITE(vram_r,vram_w)
@@ -303,7 +307,7 @@ static ADDRESS_MAP_START( scyclone_map, AS_PROGRAM, 8, scyclone_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( scyclone_iomap, AS_IO, 8, scyclone_state )
+ADDRESS_MAP_START(scyclone_state::scyclone_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("mb14241", mb14241_device, shift_result_r) AM_DEVWRITE("mb14241", mb14241_device, shift_count_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN0") AM_DEVWRITE("mb14241", mb14241_device, shift_data_w)
@@ -322,7 +326,7 @@ static ADDRESS_MAP_START( scyclone_iomap, AS_IO, 8, scyclone_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( scyclone_sub_map, AS_PROGRAM, 8, scyclone_state )
+ADDRESS_MAP_START(scyclone_state::scyclone_sub_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
@@ -334,7 +338,7 @@ static ADDRESS_MAP_START( scyclone_sub_map, AS_PROGRAM, 8, scyclone_state )
AM_RANGE(0x3005, 0x3005) AM_WRITE(snd_3005_w) // written at the same time, with the same data as 0x3001
ADDRESS_MAP_END
-static ADDRESS_MAP_START( scyclone_sub_iomap, AS_IO, 8, scyclone_state )
+ADDRESS_MAP_START(scyclone_state::scyclone_sub_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/sderby.cpp b/src/mame/drivers/sderby.cpp
index 551f310b46b..bfe91bc9957 100644
--- a/src/mame/drivers/sderby.cpp
+++ b/src/mame/drivers/sderby.cpp
@@ -296,7 +296,7 @@ WRITE16_MEMBER(sderby_state::roulette_out_w)
* Memory Maps *
***************************/
-static ADDRESS_MAP_START( sderby_map, AS_PROGRAM, 16, sderby_state )
+ADDRESS_MAP_START(sderby_state::sderby_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(sderby_videoram_w) AM_SHARE("videoram") /* bg */
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(sderby_md_videoram_w) AM_SHARE("md_videoram") /* mid */
@@ -314,7 +314,7 @@ static ADDRESS_MAP_START( sderby_map, AS_PROGRAM, 16, sderby_state )
AM_RANGE(0xffc000, 0xffffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sderbya_map, AS_PROGRAM, 16, sderby_state )
+ADDRESS_MAP_START(sderby_state::sderbya_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(sderby_videoram_w) AM_SHARE("videoram") /* bg */
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(sderby_md_videoram_w) AM_SHARE("md_videoram") /* mid */
@@ -333,7 +333,7 @@ static ADDRESS_MAP_START( sderbya_map, AS_PROGRAM, 16, sderby_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( luckboom_map, AS_PROGRAM, 16, sderby_state )
+ADDRESS_MAP_START(sderby_state::luckboom_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(sderby_videoram_w) AM_SHARE("videoram") /* bg */
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(sderby_md_videoram_w) AM_SHARE("md_videoram") /* mid */
@@ -351,7 +351,7 @@ static ADDRESS_MAP_START( luckboom_map, AS_PROGRAM, 16, sderby_state )
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spacewin_map, AS_PROGRAM, 16, sderby_state )
+ADDRESS_MAP_START(sderby_state::spacewin_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(sderby_videoram_w) AM_SHARE("videoram") /* bg */
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(sderby_md_videoram_w) AM_SHARE("md_videoram") /* mid */
@@ -372,7 +372,7 @@ static ADDRESS_MAP_START( spacewin_map, AS_PROGRAM, 16, sderby_state )
AM_RANGE(0x8fc000, 0x8fffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( shinygld_map, AS_PROGRAM, 16, sderby_state )
+ADDRESS_MAP_START(sderby_state::shinygld_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(sderby_videoram_w) AM_SHARE("videoram") /* bg */
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(sderby_md_videoram_w) AM_SHARE("md_videoram") /* mid */
@@ -392,7 +392,7 @@ static ADDRESS_MAP_START( shinygld_map, AS_PROGRAM, 16, sderby_state )
AM_RANGE(0x7f0000, 0x7fffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( roulette_map, AS_PROGRAM, 16, sderby_state )
+ADDRESS_MAP_START(sderby_state::roulette_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x440000, 0x440fff) AM_WRITEONLY AM_SHARE("spriteram")
AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE(sderby_videoram_w) AM_SHARE("videoram") /* bg */
diff --git a/src/mame/drivers/sderby2.cpp b/src/mame/drivers/sderby2.cpp
index c2cbb5d1d3b..40f907dfd3d 100644
--- a/src/mame/drivers/sderby2.cpp
+++ b/src/mame/drivers/sderby2.cpp
@@ -79,6 +79,10 @@ public:
uint8_t main_data;
uint8_t host_io_40;
void sderby2(machine_config &config);
+ void main_io_map(address_map &map);
+ void main_program_map(address_map &map);
+ void sub_io_map(address_map &map);
+ void sub_program_map(address_map &map);
};
@@ -178,7 +182,7 @@ READ8_MEMBER(sderby2_state::sub_io_0_r)
2KB of palette per screen? (0x7FF)
*/
-static ADDRESS_MAP_START( main_program_map, AS_PROGRAM, 8, sderby2_state )
+ADDRESS_MAP_START(sderby2_state::main_program_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_RAM
AM_RANGE(0xa000, 0xbfff) AM_RAM
@@ -190,7 +194,7 @@ static ADDRESS_MAP_START( main_program_map, AS_PROGRAM, 8, sderby2_state )
AM_RANGE(0xf000, 0xffff) AM_RAM // Is this banked?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_io_map, AS_IO, 8, sderby2_state )
+ADDRESS_MAP_START(sderby2_state::main_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x10) AM_READ(host_r)
AM_RANGE(0x20, 0x20) AM_WRITE(sub_nmi)
@@ -206,7 +210,7 @@ ADDRESS_MAP_END
18 x 2148 (1024x4) Side
4 x 2148 (1024x4) Near 316-5012 and 316-5011
*/
-static ADDRESS_MAP_START( sub_program_map, AS_PROGRAM, 8, sderby2_state )
+ADDRESS_MAP_START(sderby2_state::sub_program_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM // Tested at FFF, 1016, 102D
@@ -218,7 +222,7 @@ static ADDRESS_MAP_START( sub_program_map, AS_PROGRAM, 8, sderby2_state )
AM_RANGE(0xe000, 0xffff) AM_RAM // Tested at FE8
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sub_io_map, AS_IO, 8, sderby2_state )
+ADDRESS_MAP_START(sderby2_state::sub_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(sub_io_0_r)
AM_RANGE(0x20, 0x20) AM_READ(sub_r)
diff --git a/src/mame/drivers/sdk80.cpp b/src/mame/drivers/sdk80.cpp
index 261d51b5344..9c10cc73505 100644
--- a/src/mame/drivers/sdk80.cpp
+++ b/src/mame/drivers/sdk80.cpp
@@ -54,6 +54,8 @@ public:
DECLARE_WRITE_LINE_MEMBER( usart_clock_tick );
void sdk80(machine_config &config);
+ void sdk80_io(address_map &map);
+ void sdk80_mem(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<i8251_device> m_usart;
@@ -66,13 +68,13 @@ private:
uint8_t m_usart_clock_state;
};
-static ADDRESS_MAP_START(sdk80_mem, AS_PROGRAM, 8, sdk80_state)
+ADDRESS_MAP_START(sdk80_state::sdk80_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1000, 0x13ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(sdk80_io, AS_IO, 8, sdk80_state)
+ADDRESS_MAP_START(sdk80_state::sdk80_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xec, 0xef) AM_DEVREADWRITE(I8255A_1_TAG, i8255_device, read, write)
diff --git a/src/mame/drivers/sdk85.cpp b/src/mame/drivers/sdk85.cpp
index 88582fd451e..c0da59579b1 100644
--- a/src/mame/drivers/sdk85.cpp
+++ b/src/mame/drivers/sdk85.cpp
@@ -60,6 +60,8 @@ public:
void sdk85(machine_config &config);
+ void sdk85_io(address_map &map);
+ void sdk85_mem(address_map &map);
protected:
virtual void machine_reset() override;
@@ -75,7 +77,7 @@ void sdk85_state::machine_reset()
m_maincpu->reset();
}
-static ADDRESS_MAP_START(sdk85_mem, AS_PROGRAM, 8, sdk85_state)
+ADDRESS_MAP_START(sdk85_state::sdk85_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x07ff) AM_DEVREAD("romio", i8355_device, memory_r)
AM_RANGE(0x0800, 0x0fff) AM_DEVREAD("expromio", i8355_device, memory_r)
@@ -85,7 +87,7 @@ static ADDRESS_MAP_START(sdk85_mem, AS_PROGRAM, 8, sdk85_state)
AM_RANGE(0x2800, 0x28ff) AM_MIRROR(0x0700) AM_DEVREADWRITE("expramio", i8155_device, memory_r, memory_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(sdk85_io, AS_IO, 8, sdk85_state)
+ADDRESS_MAP_START(sdk85_state::sdk85_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x03) AM_MIRROR(0x04) AM_DEVREADWRITE("romio", i8355_device, io_r, io_w)
AM_RANGE(0x08, 0x0b) AM_MIRROR(0x04) AM_DEVREADWRITE("expromio", i8355_device, io_r, io_w)
diff --git a/src/mame/drivers/sdk86.cpp b/src/mame/drivers/sdk86.cpp
index 96cde51f5f2..d214e156650 100644
--- a/src/mame/drivers/sdk86.cpp
+++ b/src/mame/drivers/sdk86.cpp
@@ -52,17 +52,19 @@ public:
DECLARE_READ8_MEMBER(kbd_r);
void sdk86(machine_config &config);
+ void sdk86_io(address_map &map);
+ void sdk86_mem(address_map &map);
private:
uint8_t m_digit;
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START(sdk86_mem, AS_PROGRAM, 16, sdk86_state)
+ADDRESS_MAP_START(sdk86_state::sdk86_mem)
AM_RANGE(0x00000, 0x00fff) AM_RAM //2K standard, or 4k (board fully populated)
AM_RANGE(0xfe000, 0xfffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(sdk86_io, AS_IO, 16, sdk86_state)
+ADDRESS_MAP_START(sdk86_state::sdk86_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xfff0, 0xfff1) AM_MIRROR(4) AM_DEVREADWRITE8(I8251_TAG, i8251_device, data_r, data_w, 0xff)
AM_RANGE(0xfff2, 0xfff3) AM_MIRROR(4) AM_DEVREADWRITE8(I8251_TAG, i8251_device, status_r, control_w, 0xff)
diff --git a/src/mame/drivers/seabattl.cpp b/src/mame/drivers/seabattl.cpp
index f95c79f6759..da09ec3b6df 100644
--- a/src/mame/drivers/seabattl.cpp
+++ b/src/mame/drivers/seabattl.cpp
@@ -106,6 +106,8 @@ public:
required_device<screen_device> m_screen;
required_device<palette_device> m_palette;
void seabattl(machine_config &config);
+ void seabattl_data_map(address_map &map);
+ void seabattl_map(address_map &map);
};
@@ -250,7 +252,7 @@ void seabattl_state::video_start()
***************************************************************************/
-static ADDRESS_MAP_START( seabattl_map, AS_PROGRAM, 8, seabattl_state )
+ADDRESS_MAP_START(seabattl_state::seabattl_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x13ff) AM_ROM
AM_RANGE(0x2000, 0x33ff) AM_ROM
@@ -268,7 +270,7 @@ static ADDRESS_MAP_START( seabattl_map, AS_PROGRAM, 8, seabattl_state )
AM_RANGE(0x1f00, 0x1fff) AM_MIRROR(0x2000) AM_DEVREADWRITE("s2636", s2636_device, read_data, write_data)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( seabattl_data_map, AS_DATA, 8, seabattl_state )
+ADDRESS_MAP_START(seabattl_state::seabattl_data_map)
AM_RANGE(S2650_CTRL_PORT, S2650_CTRL_PORT) AM_READWRITE( seabattl_collision_r, seabattl_control_w )
AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_READWRITE( seabattl_collision_clear_r, seabattl_collision_clear_w )
ADDRESS_MAP_END
diff --git a/src/mame/drivers/sealy.cpp b/src/mame/drivers/sealy.cpp
index 95a06e2ea11..25bdb8250ec 100644
--- a/src/mame/drivers/sealy.cpp
+++ b/src/mame/drivers/sealy.cpp
@@ -53,6 +53,7 @@ public:
DECLARE_PALETTE_INIT(sealy);
uint32_t screen_update_sealy(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void sealy(machine_config &config);
+ void sealy_map(address_map &map);
};
@@ -69,7 +70,7 @@ uint32_t sealy_state::screen_update_sealy(screen_device &screen, bitmap_rgb32 &b
}
-static ADDRESS_MAP_START( sealy_map, AS_PROGRAM, 16, sealy_state )
+ADDRESS_MAP_START(sealy_state::sealy_map)
AM_RANGE(0x00000, 0x3ffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/seattle.cpp b/src/mame/drivers/seattle.cpp
index f83776894ce..f039e6b7c92 100644
--- a/src/mame/drivers/seattle.cpp
+++ b/src/mame/drivers/seattle.cpp
@@ -388,6 +388,11 @@ public:
void mace(machine_config &config);
void vaportrx(machine_config &config);
void sfrushrk(machine_config &config);
+ void seattle_cs0_map(address_map &map);
+ void seattle_cs1_map(address_map &map);
+ void seattle_cs2_map(address_map &map);
+ void seattle_cs3_map(address_map &map);
+ void seattle_flagstaff_cs3_map(address_map &map);
};
@@ -1100,19 +1105,19 @@ PCI Mem = 08000000-09FFFFFF
*/
-static ADDRESS_MAP_START(seattle_cs0_map, AS_PROGRAM, 32, seattle_state)
+ADDRESS_MAP_START(seattle_state::seattle_cs0_map)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(seattle_cs1_map, AS_PROGRAM, 32, seattle_state)
+ADDRESS_MAP_START(seattle_state::seattle_cs1_map)
AM_RANGE(0x01000000, 0x01000003) AM_WRITE(asic_fifo_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(seattle_cs2_map, AS_PROGRAM, 32, seattle_state)
+ADDRESS_MAP_START(seattle_state::seattle_cs2_map)
AM_RANGE(0x00000000, 0x00000003) AM_READWRITE(analog_port_r, analog_port_w) // Flagstaff only
ADDRESS_MAP_END
// This map shares the PHOENIX, SEATTLE, and SEATTLE_WIDGET calls
-static ADDRESS_MAP_START(seattle_cs3_map, AS_PROGRAM, 32, seattle_state)
+ADDRESS_MAP_START(seattle_state::seattle_cs3_map)
AM_RANGE(0x00000000, 0x0000003f) AM_DEVREADWRITE("ioasic", midway_ioasic_device, read, write)
AM_RANGE(0x00100000, 0x0011ffff) AM_READWRITE(cmos_r, cmos_w)
AM_RANGE(0x00800000, 0x0080001f) AM_READWRITE(carnevil_gun_r, carnevil_gun_w) // Carnevil driver only
@@ -1129,7 +1134,7 @@ static ADDRESS_MAP_START(seattle_cs3_map, AS_PROGRAM, 32, seattle_state)
AM_RANGE(0x01f00000, 0x01f00003) AM_READWRITE(asic_reset_r, asic_reset_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(seattle_flagstaff_cs3_map, AS_PROGRAM, 32, seattle_state)
+ADDRESS_MAP_START(seattle_state::seattle_flagstaff_cs3_map)
AM_RANGE(0x00000000, 0x0000003f) AM_DEVREADWRITE("ioasic", midway_ioasic_device, read, write)
AM_RANGE(0x00100000, 0x0011ffff) AM_READWRITE(cmos_r, cmos_w)
AM_RANGE(0x00c00000, 0x00c0003f) AM_READWRITE(ethernet_r, ethernet_w);
@@ -1872,10 +1877,10 @@ MACHINE_CONFIG_START(seattle_state::seattle_common)
MCFG_PCI_ROOT_ADD(":pci")
MCFG_GT64010_ADD(PCI_ID_GALILEO, ":maincpu", SYSTEM_CLOCK, GALILEO_IRQ_NUM)
- MCFG_GT64XXX_SET_CS(0, seattle_cs0_map)
- MCFG_GT64XXX_SET_CS(1, seattle_cs1_map)
- MCFG_GT64XXX_SET_CS(2, seattle_cs2_map)
- MCFG_GT64XXX_SET_CS(3, seattle_cs3_map)
+ MCFG_GT64XXX_SET_CS(0, seattle_state::seattle_cs0_map)
+ MCFG_GT64XXX_SET_CS(1, seattle_state::seattle_cs1_map)
+ MCFG_GT64XXX_SET_CS(2, seattle_state::seattle_cs2_map)
+ MCFG_GT64XXX_SET_CS(3, seattle_state::seattle_cs3_map)
MCFG_GT64XX_SET_SIMM0(0x00800000)
MCFG_IDE_PCI_ADD(PCI_ID_IDE, 0x100b0002, 0x01, 0x0)
@@ -1948,7 +1953,7 @@ MACHINE_CONFIG_DERIVED(seattle_state::flagstaff, seattle_common)
MCFG_MIPS3_SYSTEM_CLOCK(SYSTEM_CLOCK)
MCFG_DEVICE_MODIFY(PCI_ID_GALILEO)
- MCFG_GT64XXX_SET_CS(3, seattle_flagstaff_cs3_map)
+ MCFG_GT64XXX_SET_CS(3, seattle_state::seattle_flagstaff_cs3_map)
MCFG_SMC91C94_ADD("ethernet")
MCFG_SMC91C94_IRQ_CALLBACK(WRITELINE(seattle_state, ethernet_interrupt))
diff --git a/src/mame/drivers/seattlecmp.cpp b/src/mame/drivers/seattlecmp.cpp
index f6f5d4f6537..07a2a513e28 100644
--- a/src/mame/drivers/seattlecmp.cpp
+++ b/src/mame/drivers/seattlecmp.cpp
@@ -50,6 +50,8 @@ public:
DECLARE_READ8_MEMBER(pic_slave_ack);
void seattle(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device_array<pic8259_device, 2> m_pic;
@@ -65,13 +67,13 @@ READ8_MEMBER(seattle_comp_state::pic_slave_ack)
}
-static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 16, seattle_comp_state)
+ADDRESS_MAP_START(seattle_comp_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000,0xff7ff) AM_RAM
AM_RANGE(0xff800,0xfffff) AM_ROM AM_REGION("user1", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(io_map, AS_IO, 16, seattle_comp_state)
+ADDRESS_MAP_START(seattle_comp_state::io_map)
//ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xf0, 0xf1) AM_DEVREADWRITE8("pic1", pic8259_device, read, write, 0xffff)
diff --git a/src/mame/drivers/segac2.cpp b/src/mame/drivers/segac2.cpp
index bc3c5d17c4b..21e8723dd65 100644
--- a/src/mame/drivers/segac2.cpp
+++ b/src/mame/drivers/segac2.cpp
@@ -215,6 +215,7 @@ public:
int prot_func_pclubjv5(int in);
void segac2(machine_config &config);
void segac(machine_config &config);
+ void main_map(address_map &map);
};
@@ -638,7 +639,7 @@ WRITE16_MEMBER(segac2_state::print_club_camera_w)
******************************************************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, segac2_state )
+ADDRESS_MAP_START(segac2_state::main_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x800000, 0x800001) AM_MIRROR(0x13fdfe) AM_READWRITE8(prot_r, prot_w, 0x00ff)
AM_RANGE(0x800200, 0x800201) AM_MIRROR(0x13fdfe) AM_WRITE8(control_w, 0x00ff)
diff --git a/src/mame/drivers/segacoin.cpp b/src/mame/drivers/segacoin.cpp
index 2711233d912..03c727c7721 100644
--- a/src/mame/drivers/segacoin.cpp
+++ b/src/mame/drivers/segacoin.cpp
@@ -34,6 +34,10 @@ public:
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_audiocpu;
void westdrm(machine_config &config);
+ void main_map(address_map &map);
+ void main_portmap(address_map &map);
+ void sound_map(address_map &map);
+ void sound_portmap(address_map &map);
};
@@ -45,23 +49,23 @@ public:
/* Memory maps */
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, segacoin_state )
+ADDRESS_MAP_START(segacoin_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_portmap, AS_IO, 8, segacoin_state )
+ADDRESS_MAP_START(segacoin_state::main_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, segacoin_state )
+ADDRESS_MAP_START(segacoin_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, segacoin_state )
+ADDRESS_MAP_START(segacoin_state::sound_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/segae.cpp b/src/mame/drivers/segae.cpp
index a3271606e6f..74ad723a84a 100644
--- a/src/mame/drivers/segae.cpp
+++ b/src/mame/drivers/segae.cpp
@@ -347,6 +347,12 @@ public:
void hangonjr(machine_config &config);
void systeme(machine_config &config);
void systemeb(machine_config &config);
+ void banked_decrypted_opcodes_map(address_map &map);
+ void decrypted_opcodes_map(address_map &map);
+ void io_map(address_map &map);
+ void systeme_map(address_map &map);
+ void vdp1_map(address_map &map);
+ void vdp2_map(address_map &map);
private:
// Devices
required_device<cpu_device> m_maincpu;
@@ -372,26 +378,26 @@ private:
****************************************************************************************/
/* we have to fill in the ROM addresses for systeme due to the encrypted games */
-static ADDRESS_MAP_START( systeme_map, AS_PROGRAM, 8, systeme_state )
+ADDRESS_MAP_START(systeme_state::systeme_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM /* Fixed ROM */
AM_RANGE(0x8000, 0xbfff) AM_READ_BANK("bank1") AM_WRITE_BANK("vram_write") /* Banked ROM */
AM_RANGE(0xc000, 0xffff) AM_RAM AM_SHARE("mainram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, systeme_state )
+ADDRESS_MAP_START(systeme_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_SHARE("decrypted_opcodes")
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xffff) AM_RAM AM_SHARE("mainram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( banked_decrypted_opcodes_map, AS_OPCODES, 8, systeme_state )
+ADDRESS_MAP_START(systeme_state::banked_decrypted_opcodes_map)
AM_RANGE(0x0000, 0x7fff) AM_ROMBANK("bank0d")
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1d")
AM_RANGE(0xc000, 0xffff) AM_RAM AM_SHARE("mainram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, systeme_state )
+ADDRESS_MAP_START(systeme_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x7b, 0x7b) AM_DEVWRITE("sn1", segapsg_device, write)
@@ -411,12 +417,12 @@ static ADDRESS_MAP_START( io_map, AS_IO, 8, systeme_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vdp1_map, 0, 8, systeme_state )
+ADDRESS_MAP_START(systeme_state::vdp1_map)
AM_RANGE( 0x0000, 0x3fff ) AM_RAMBANK("vdp1_bank")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vdp2_map, 0, 8, systeme_state )
+ADDRESS_MAP_START(systeme_state::vdp2_map)
AM_RANGE( 0x0000, 0x3fff ) AM_RAMBANK("vdp2_bank")
ADDRESS_MAP_END
@@ -925,14 +931,14 @@ MACHINE_CONFIG_DERIVED(systeme_state::systemex, systeme)
MCFG_CPU_REPLACE("maincpu", MC8123, XTAL(10'738'635)/2) /* Z80B @ 5.3693Mhz */
MCFG_CPU_PROGRAM_MAP(systeme_map)
MCFG_CPU_IO_MAP(io_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(systeme_state::systemex_315_5177, systeme)
MCFG_CPU_REPLACE("maincpu", SEGA_315_5177, XTAL(10'738'635)/2) /* Z80B @ 5.3693Mhz */
MCFG_CPU_PROGRAM_MAP(systeme_map)
MCFG_CPU_IO_MAP(io_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_SEGAZ80_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
@@ -940,7 +946,7 @@ MACHINE_CONFIG_DERIVED(systeme_state::systemeb, systeme)
MCFG_CPU_REPLACE("maincpu", MC8123, XTAL(10'738'635)/2) /* Z80B @ 5.3693Mhz */
MCFG_CPU_PROGRAM_MAP(systeme_map)
MCFG_CPU_IO_MAP(io_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(banked_decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(banked_decrypted_opcodes_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/segag80r.cpp b/src/mame/drivers/segag80r.cpp
index 2ba754044ab..3e8f3aa02aa 100644
--- a/src/mame/drivers/segag80r.cpp
+++ b/src/mame/drivers/segag80r.cpp
@@ -332,7 +332,7 @@ WRITE8_MEMBER(segag80r_state::sindbadm_sn2_SN76496_w)
*************************************/
/* complete memory map derived from schematics */
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, segag80r_state )
+ADDRESS_MAP_START(segag80r_state::main_map)
AM_RANGE(0x0000, 0x07ff) AM_ROM /* CPU board ROM */
AM_RANGE(0x0800, 0x7fff) AM_ROM /* PROM board ROM area */
AM_RANGE(0x8000, 0xbfff) AM_ROM /* PROM board ROM area */
@@ -340,11 +340,11 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, segag80r_state )
AM_RANGE(0xe000, 0xffff) AM_RAM_WRITE(vidram_w) AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( g80r_opcodes_map, AS_OPCODES, 8, segag80r_state )
+ADDRESS_MAP_START(segag80r_state::g80r_opcodes_map)
AM_RANGE(0x0000, 0xffff) AM_READ(g80r_opcode_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sega_315_opcodes_map, AS_OPCODES, 8, segag80r_state )
+ADDRESS_MAP_START(segag80r_state::sega_315_opcodes_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_SHARE("decrypted_opcodes")
AM_RANGE(0x8000, 0xbfff) AM_ROM AM_REGION("maincpu", 0x8000)
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(mainram_w) AM_SHARE("mainram")
@@ -353,7 +353,7 @@ ADDRESS_MAP_END
/* complete memory map derived from schematics */
-static ADDRESS_MAP_START( main_portmap, AS_IO, 8, segag80r_state )
+ADDRESS_MAP_START(segag80r_state::main_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xbe, 0xbf) AM_READWRITE(segag80r_video_port_r, segag80r_video_port_w)
AM_RANGE(0xf9, 0xf9) AM_MIRROR(0x04) AM_WRITE(coin_count_w)
@@ -362,7 +362,7 @@ static ADDRESS_MAP_START( main_portmap, AS_IO, 8, segag80r_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_ppi8255_portmap, AS_IO, 8, segag80r_state )
+ADDRESS_MAP_START(segag80r_state::main_ppi8255_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x0c, 0x0f) AM_DEVREADWRITE("ppi8255", i8255_device, read, write)
AM_RANGE(0xbe, 0xbf) AM_READWRITE(segag80r_video_port_r, segag80r_video_port_w)
@@ -372,7 +372,7 @@ static ADDRESS_MAP_START( main_ppi8255_portmap, AS_IO, 8, segag80r_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sindbadm_portmap, AS_IO, 8, segag80r_state )
+ADDRESS_MAP_START(segag80r_state::sindbadm_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x42, 0x43) AM_READWRITE(segag80r_video_port_r, segag80r_video_port_w)
AM_RANGE(0x80, 0x83) AM_DEVREADWRITE("ppi8255", i8255_device, read, write)
@@ -388,7 +388,7 @@ ADDRESS_MAP_END
*************************************/
/* complete memory map derived from System 1 schematics */
-static ADDRESS_MAP_START( sindbadm_sound_map, AS_PROGRAM, 8, segag80r_state )
+ADDRESS_MAP_START(segag80r_state::sindbadm_sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_MIRROR(0x1800) AM_RAM
AM_RANGE(0xa000, 0xa003) AM_MIRROR(0x1ffc) AM_WRITE(sindbadm_sn1_SN76496_w)
@@ -835,7 +835,7 @@ MACHINE_CONFIG_START(segag80r_state::g80r_base)
MCFG_CPU_ADD("maincpu", Z80, VIDEO_CLOCK/4)
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_IO_MAP(main_portmap)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(g80r_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(g80r_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", segag80r_state, segag80r_vblank_start)
MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(segag80r_state, segag80r_irq_ack)
@@ -913,7 +913,7 @@ MACHINE_CONFIG_DERIVED(segag80r_state::monster2, monsterb)
MCFG_CPU_IO_MAP(main_ppi8255_portmap)
MCFG_CPU_VBLANK_INT_DRIVER("screen", segag80r_state, segag80r_vblank_start)
MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(segag80r_state, segag80r_irq_ack)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(sega_315_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(sega_315_opcodes_map)
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
@@ -937,7 +937,7 @@ MACHINE_CONFIG_DERIVED(segag80r_state::sindbadm, g80r_base)
MCFG_CPU_REPLACE("maincpu", SEGA_315_5028, VIDEO_CLOCK/4)
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_IO_MAP(sindbadm_portmap)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(sega_315_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(sega_315_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", segag80r_state, sindbadm_vblank_start)
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
diff --git a/src/mame/drivers/segag80v.cpp b/src/mame/drivers/segag80v.cpp
index ca5d4e1fb98..ebb5cb940cc 100644
--- a/src/mame/drivers/segag80v.cpp
+++ b/src/mame/drivers/segag80v.cpp
@@ -373,7 +373,7 @@ WRITE8_MEMBER(segag80v_state::unknown_w)
*************************************/
/* complete memory map derived from schematics */
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, segag80v_state )
+ADDRESS_MAP_START(segag80v_state::main_map)
AM_RANGE(0x0000, 0x07ff) AM_ROM /* CPU board ROM */
AM_RANGE(0x0800, 0xbfff) AM_ROM /* PROM board ROM area */
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(mainram_w) AM_SHARE("mainram")
@@ -382,7 +382,7 @@ ADDRESS_MAP_END
/* complete memory map derived from schematics */
-static ADDRESS_MAP_START( main_portmap, AS_IO, 8, segag80v_state )
+ADDRESS_MAP_START(segag80v_state::main_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xbc, 0xbc) /* AM_READ ??? */
AM_RANGE(0xbd, 0xbe) AM_WRITE(multiply_w)
diff --git a/src/mame/drivers/segahang.cpp b/src/mame/drivers/segahang.cpp
index e95705b1eda..c43dfe7a2d3 100644
--- a/src/mame/drivers/segahang.cpp
+++ b/src/mame/drivers/segahang.cpp
@@ -396,7 +396,7 @@ void segahang_state::sharrier_i8751_sim()
// MAIN CPU ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( hangon_map, AS_PROGRAM, 16, segahang_state )
+ADDRESS_MAP_START(segahang_state::hangon_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x20c000, 0x20ffff) AM_RAM AM_SHARE("workram")
@@ -410,12 +410,12 @@ static ADDRESS_MAP_START( hangon_map, AS_PROGRAM, 16, segahang_state )
AM_RANGE(0xe00000, 0xffffff) AM_READWRITE(hangon_io_r, hangon_io_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 16, segahang_state )
+ADDRESS_MAP_START(segahang_state::decrypted_opcodes_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_SHARE("decrypted_opcodes")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sharrier_map, AS_PROGRAM, 16, segahang_state )
+ADDRESS_MAP_START(segahang_state::sharrier_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x043fff) AM_RAM AM_SHARE("workram")
@@ -435,7 +435,7 @@ ADDRESS_MAP_END
//**************************************************************************
// On Super Hang On there is a memory mapper, like the System16 one, todo: emulate it!
-static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 16, segahang_state )
+ADDRESS_MAP_START(segahang_state::sub_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x7ffff)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
@@ -443,7 +443,7 @@ static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 16, segahang_state )
AM_RANGE(0x07c000, 0x07ffff) AM_RAM AM_SHARE("subram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fd1094_decrypted_opcodes_map, AS_OPCODES, 16, segahang_state )
+ADDRESS_MAP_START(segahang_state::fd1094_decrypted_opcodes_map)
AM_RANGE(0x00000, 0xfffff) AM_ROMBANK("fd1094_decrypted_opcodes")
ADDRESS_MAP_END
@@ -451,7 +451,7 @@ ADDRESS_MAP_END
// SOUND CPU ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( sound_map_2203, AS_PROGRAM, 8, segahang_state )
+ADDRESS_MAP_START(segahang_state::sound_map_2203)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_MIRROR(0x0800) AM_RAM
@@ -459,27 +459,27 @@ static ADDRESS_MAP_START( sound_map_2203, AS_PROGRAM, 8, segahang_state )
AM_RANGE(0xe000, 0xe0ff) AM_MIRROR(0x0f00) AM_DEVREADWRITE("pcm", segapcm_device, sega_pcm_r, sega_pcm_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_portmap_2203, AS_IO, 8, segahang_state )
+ADDRESS_MAP_START(segahang_state::sound_portmap_2203)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x40, 0x40) AM_MIRROR(0x3f) AM_READ(sound_data_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map_2151, AS_PROGRAM, 8, segahang_state )
+ADDRESS_MAP_START(segahang_state::sound_map_2151)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xf000, 0xf0ff) AM_MIRROR(0x700) AM_DEVREADWRITE("pcm", segapcm_device, sega_pcm_r, sega_pcm_w)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_portmap_2151, AS_IO, 8, segahang_state )
+ADDRESS_MAP_START(segahang_state::sound_portmap_2151)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_MIRROR(0x3e) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0x40, 0x40) AM_MIRROR(0x3f) AM_READ(sound_data_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_portmap_2203x2, AS_IO, 8, segahang_state )
+ADDRESS_MAP_START(segahang_state::sound_portmap_2203x2)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_MIRROR(0x3e) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
@@ -493,7 +493,7 @@ ADDRESS_MAP_END
// I8751 MCU ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( mcu_io_map, AS_IO, 8, segahang_state )
+ADDRESS_MAP_START(segahang_state::mcu_io_map)
ADDRESS_MAP_END
@@ -933,7 +933,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(segahang_state::shangonro, shangupb)
MCFG_CPU_REPLACE("subcpu", FD1094, 10000000)
MCFG_CPU_PROGRAM_MAP(sub_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(fd1094_decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(fd1094_decrypted_opcodes_map)
MACHINE_CONFIG_END
@@ -971,7 +971,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(segahang_state::endurobl, sharrier_base)
MCFG_CPU_MODIFY("maincpu")
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_FRAGMENT_ADD(sound_board_2203)
MACHINE_CONFIG_END
@@ -979,7 +979,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(segahang_state::endurob2, sharrier_base)
MCFG_CPU_MODIFY("maincpu")
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_FRAGMENT_ADD(sound_board_2203x2)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/segajw.cpp b/src/mame/drivers/segajw.cpp
index 7bca046c553..c2ea10ad8b0 100644
--- a/src/mame/drivers/segajw.cpp
+++ b/src/mame/drivers/segajw.cpp
@@ -62,6 +62,11 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(hopper_sensors_r);
void segajw(machine_config &config);
+ void ramdac_map(address_map &map);
+ void segajw_audiocpu_io_map(address_map &map);
+ void segajw_audiocpu_map(address_map &map);
+ void segajw_hd63484_map(address_map &map);
+ void segajw_map(address_map &map);
protected:
// devices
@@ -161,7 +166,7 @@ CUSTOM_INPUT_MEMBER( segajw_state::coin_sensors_r )
return data;
}
-static ADDRESS_MAP_START( segajw_map, AS_PROGRAM, 16, segajw_state )
+ADDRESS_MAP_START(segajw_state::segajw_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x080001) AM_DEVREADWRITE("hd63484", hd63484_device, status16_r, address16_w)
@@ -184,18 +189,18 @@ static ADDRESS_MAP_START( segajw_map, AS_PROGRAM, 16, segajw_state )
AM_RANGE(0xff0000, 0xffffff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( segajw_audiocpu_map, AS_PROGRAM, 8, segajw_state )
+ADDRESS_MAP_START(segajw_state::segajw_audiocpu_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( segajw_audiocpu_io_map, AS_IO, 8, segajw_state )
+ADDRESS_MAP_START(segajw_state::segajw_audiocpu_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x80, 0x83) AM_DEVREADWRITE("ymsnd", ym3438_device, read, write)
AM_RANGE(0xc0, 0xc0) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_DEVWRITE("soundlatch2", generic_latch_8_device, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( segajw_hd63484_map, 0, 16, segajw_state )
+ADDRESS_MAP_START(segajw_state::segajw_hd63484_map)
AM_RANGE(0x00000, 0x3ffff) AM_RAM
AM_RANGE(0x80000, 0xbffff) AM_ROM AM_REGION("gfx1", 0)
ADDRESS_MAP_END
@@ -346,7 +351,7 @@ void segajw_state::machine_reset()
m_coin_counter = 0xff;
}
-static ADDRESS_MAP_START( ramdac_map, 0, 8, segajw_state )
+ADDRESS_MAP_START(segajw_state::ramdac_map)
AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac",ramdac_device,ramdac_pal_r,ramdac_rgb666_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/segald.cpp b/src/mame/drivers/segald.cpp
index ffe7823223e..c6ab36ebf23 100644
--- a/src/mame/drivers/segald.cpp
+++ b/src/mame/drivers/segald.cpp
@@ -70,6 +70,8 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
void astron(machine_config &config);
+ void mainmem(address_map &map);
+ void mainport(address_map &map);
};
/* VIDEO GOODS */
@@ -251,7 +253,7 @@ WRITE8_MEMBER(segald_state::astron_io_bankswitch_w)
/* PROGRAM MAP */
-static ADDRESS_MAP_START( mainmem, AS_PROGRAM, 8, segald_state )
+ADDRESS_MAP_START(segald_state::mainmem)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
@@ -269,7 +271,7 @@ ADDRESS_MAP_END
/* I/O MAP */
-static ADDRESS_MAP_START( mainport, AS_IO, 8, segald_state )
+ADDRESS_MAP_START(segald_state::mainport)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_WRITE(astron_io_bankswitch_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/segam1.cpp b/src/mame/drivers/segam1.cpp
index 02363bcc09b..56ced3aad5b 100644
--- a/src/mame/drivers/segam1.cpp
+++ b/src/mame/drivers/segam1.cpp
@@ -76,6 +76,11 @@ public:
required_device<ym3438_device> m_ymsnd;
void unkm1(machine_config &config);
void segam1(machine_config &config);
+ void segam1_comms_map(address_map &map);
+ void segam1_map(address_map &map);
+ void segam1_sound_io_map(address_map &map);
+ void segam1_sound_map(address_map &map);
+ void unkm1_sound_map(address_map &map);
};
void segam1_state::machine_start()
@@ -179,7 +184,7 @@ uint32_t segam1_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap
-static ADDRESS_MAP_START( segam1_map, AS_PROGRAM, 16, segam1_state )
+ADDRESS_MAP_START(segam1_state::segam1_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x340000, 0x340fff) AM_DEVREADWRITE8("dpram", mb8421_device, right_r, right_w, 0x00ff)
AM_RANGE(0xb00000, 0xb0ffff) AM_DEVREADWRITE("tile", segas24_tile_device, tile_r, tile_w)
@@ -200,25 +205,25 @@ static ADDRESS_MAP_START( segam1_map, AS_PROGRAM, 16, segam1_state )
AM_RANGE(0xf00000, 0xf03fff) AM_MIRROR(0x0fc000) AM_RAM // NVRAM?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( segam1_sound_map, AS_PROGRAM, 8, segam1_state )
+ADDRESS_MAP_START(segam1_state::segam1_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xa000, 0xbfff) AM_ROMBANK("soundbank")
AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( unkm1_sound_map, AS_PROGRAM, 8, segam1_state )
+ADDRESS_MAP_START(segam1_state::unkm1_sound_map)
AM_IMPORT_FROM(segam1_sound_map)
AM_RANGE(0xe000, 0xefff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( segam1_sound_io_map, AS_IO, 8, segam1_state )
+ADDRESS_MAP_START(segam1_state::segam1_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x80, 0x83) AM_DEVREADWRITE("ymsnd", ym3438_device, read, write)
AM_RANGE(0xa0, 0xa0) AM_WRITE(sound_a0_bank_w)
AM_RANGE(0xc0, 0xc0) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( segam1_comms_map, AS_PROGRAM, 8, segam1_state )
+ADDRESS_MAP_START(segam1_state::segam1_comms_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_RAM
AM_RANGE(0xa000, 0xa7ff) AM_DEVREADWRITE("dpram", mb8421_device, left_r, left_w)
diff --git a/src/mame/drivers/segaorun.cpp b/src/mame/drivers/segaorun.cpp
index daa11c8c850..bd0d9cc74e3 100644
--- a/src/mame/drivers/segaorun.cpp
+++ b/src/mame/drivers/segaorun.cpp
@@ -883,7 +883,7 @@ WRITE_LINE_MEMBER(segaorun_state::m68k_reset_callback)
// MAIN CPU MEMORY MAP
//**************************************************************************
-static ADDRESS_MAP_START( outrun_map, AS_PROGRAM, 16, segaorun_state )
+ADDRESS_MAP_START(segaorun_state::outrun_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0xffffff) AM_DEVREADWRITE8("mapper", sega_315_5195_mapper_device, read, write, 0x00ff)
@@ -896,7 +896,7 @@ static ADDRESS_MAP_START( outrun_map, AS_PROGRAM, 16, segaorun_state )
AM_RANGE(0x500000, 0x507fff) AM_RAM AM_SHARE("workram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 16, segaorun_state )
+ADDRESS_MAP_START(segaorun_state::decrypted_opcodes_map)
AM_RANGE(0x00000, 0xfffff) AM_ROMBANK("fd1094_decrypted_opcodes")
ADDRESS_MAP_END
@@ -904,7 +904,7 @@ ADDRESS_MAP_END
// SECOND CPU MEMORY MAP
//**************************************************************************
-static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 16, segaorun_state )
+ADDRESS_MAP_START(segaorun_state::sub_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
AM_RANGE(0x000000, 0x05ffff) AM_ROM AM_SHARE("cpu1rom")
@@ -919,14 +919,14 @@ ADDRESS_MAP_END
// SOUND CPU MEMORY MAP
//**************************************************************************
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, segaorun_state )
+ADDRESS_MAP_START(segaorun_state::sound_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf0ff) AM_MIRROR(0x0700) AM_DEVREADWRITE("pcm", segapcm_device, sega_pcm_r, sega_pcm_w)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, segaorun_state )
+ADDRESS_MAP_START(segaorun_state::sound_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_MIRROR(0x3e) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
@@ -1264,7 +1264,7 @@ MACHINE_CONFIG_DERIVED(segaorun_state::outrun_fd1094, outrun)
// basic machine hardware
MCFG_CPU_REPLACE("maincpu", FD1094, MASTER_CLOCK/4)
MCFG_CPU_PROGRAM_MAP(outrun_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(segaorun_state::outrun_fd1089a, outrun)
diff --git a/src/mame/drivers/segapico.cpp b/src/mame/drivers/segapico.cpp
index 7030bdbb948..b2516065176 100644
--- a/src/mame/drivers/segapico.cpp
+++ b/src/mame/drivers/segapico.cpp
@@ -156,6 +156,7 @@ public:
DECLARE_DRIVER_INIT(pico);
DECLARE_DRIVER_INIT(picou);
DECLARE_DRIVER_INIT(picoj);
+ void pico_mem(address_map &map);
};
class pico_state : public pico_base_state
@@ -340,7 +341,7 @@ WRITE16_MEMBER(pico_base_state::pico_68k_io_write )
}
}
-static ADDRESS_MAP_START( pico_mem, AS_PROGRAM, 16, pico_base_state )
+ADDRESS_MAP_START(pico_base_state::pico_mem)
AM_RANGE(0x000000, 0x3fffff) AM_ROM
AM_RANGE(0x800000, 0x80001f) AM_READWRITE(pico_68k_io_read, pico_68k_io_write)
@@ -564,11 +565,12 @@ public:
required_device<copera_cart_slot_device> m_picocart;
DECLARE_MACHINE_START(copera);
void copera(machine_config &config);
+ void copera_mem(address_map &map);
};
-static ADDRESS_MAP_START( copera_mem, AS_PROGRAM, 16, copera_state )
+ADDRESS_MAP_START(copera_state::copera_mem)
AM_RANGE(0x000000, 0x3fffff) AM_ROM
AM_RANGE(0x800000, 0x80001f) AM_READWRITE(pico_68k_io_read, pico_68k_io_write)
diff --git a/src/mame/drivers/segapm.cpp b/src/mame/drivers/segapm.cpp
index 814d98fd67e..573a1872366 100644
--- a/src/mame/drivers/segapm.cpp
+++ b/src/mame/drivers/segapm.cpp
@@ -24,6 +24,7 @@ public:
uint32_t screen_update_segapm(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
void segapm(machine_config &config);
+ void segapm_map(address_map &map);
};
@@ -38,7 +39,7 @@ uint32_t segapm_state::screen_update_segapm(screen_device &screen, bitmap_ind16
-static ADDRESS_MAP_START( segapm_map, AS_PROGRAM, 16, segapm_state )
+ADDRESS_MAP_START(segapm_state::segapm_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
// A15100
diff --git a/src/mame/drivers/segas16a.cpp b/src/mame/drivers/segas16a.cpp
index 76191fea83c..f54c2775a63 100644
--- a/src/mame/drivers/segas16a.cpp
+++ b/src/mame/drivers/segas16a.cpp
@@ -960,7 +960,7 @@ void segas16a_state::sjryuko_lamp_changed_w(uint8_t changed, uint8_t newval)
// MAIN CPU ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( system16a_map, AS_PROGRAM, 16, segas16a_state )
+ADDRESS_MAP_START(segas16a_state::system16a_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x03ffff) AM_MIRROR(0x380000) AM_ROM
AM_RANGE(0x400000, 0x407fff) AM_MIRROR(0xb88000) AM_DEVREADWRITE("segaic16vid", segaic16_video_device, tileram_r, tileram_w) AM_SHARE("tileram")
@@ -972,7 +972,7 @@ static ADDRESS_MAP_START( system16a_map, AS_PROGRAM, 16, segas16a_state )
AM_RANGE(0xc70000, 0xc73fff) AM_MIRROR(0x38c000) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 16, segas16a_state )
+ADDRESS_MAP_START(segas16a_state::decrypted_opcodes_map)
AM_RANGE(0x00000, 0xfffff) AM_ROMBANK("fd1094_decrypted_opcodes")
ADDRESS_MAP_END
@@ -980,18 +980,18 @@ ADDRESS_MAP_END
// SOUND CPU ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, segas16a_state )
+ADDRESS_MAP_START(segas16a_state::sound_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xe800, 0xe800) AM_READ(sound_data_r)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_decrypted_opcodes_map, AS_OPCODES, 8, segas16a_state )
+ADDRESS_MAP_START(segas16a_state::sound_decrypted_opcodes_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_SHARE("sound_decrypted_opcodes")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, segas16a_state )
+ADDRESS_MAP_START(segas16a_state::sound_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_MIRROR(0x3e) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
@@ -999,7 +999,7 @@ static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, segas16a_state )
AM_RANGE(0xc0, 0xc0) AM_MIRROR(0x3f) AM_READ(sound_data_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_no7751_portmap, AS_IO, 8, segas16a_state )
+ADDRESS_MAP_START(segas16a_state::sound_no7751_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_MIRROR(0x3e) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
@@ -1013,7 +1013,7 @@ ADDRESS_MAP_END
// I8751 MCU ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( mcu_io_map, AS_IO, 8, segas16a_state )
+ADDRESS_MAP_START(segas16a_state::mcu_io_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xffff) AM_READWRITE(mcu_io_r, mcu_io_w)
AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_READNOP AM_WRITE(mcu_control_w)
@@ -2040,7 +2040,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(segas16a_state::system16a_fd1094, system16a)
MCFG_CPU_REPLACE("maincpu", FD1094, 10000000)
MCFG_CPU_PROGRAM_MAP(system16a_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", segas16a_state, irq4_line_hold)
MACHINE_CONFIG_END
@@ -2075,7 +2075,7 @@ MACHINE_CONFIG_DERIVED(segas16a_state::system16a_no7751p, system16a_no7751)
MCFG_CPU_REPLACE("soundcpu", SEGA_315_5177, 4000000)
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_IO_MAP(sound_no7751_portmap)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(sound_decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(sound_decrypted_opcodes_map)
MCFG_SEGAZ80_SET_DECRYPTED_TAG(":sound_decrypted_opcodes")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/segas16b.cpp b/src/mame/drivers/segas16b.cpp
index 6635f27ffa3..1247b841905 100644
--- a/src/mame/drivers/segas16b.cpp
+++ b/src/mame/drivers/segas16b.cpp
@@ -1707,7 +1707,7 @@ WRITE16_MEMBER( segas16b_state::sjryuko_custom_io_w )
// MAIN CPU ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( system16b_map, AS_PROGRAM, 16, segas16b_state )
+ADDRESS_MAP_START(segas16b_state::system16b_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0xffffff) AM_DEVREADWRITE8("mapper", sega_315_5195_mapper_device, read, write, 0x00ff)
@@ -1720,11 +1720,11 @@ static ADDRESS_MAP_START( system16b_map, AS_PROGRAM, 16, segas16b_state )
AM_RANGE(0x500000, 0x503fff) AM_RAM AM_SHARE("workram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 16, segas16b_state )
+ADDRESS_MAP_START(segas16b_state::decrypted_opcodes_map)
AM_RANGE(0x00000, 0xfffff) AM_ROMBANK("fd1094_decrypted_opcodes")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( system16c_map, AS_PROGRAM, 16, segas16b_state )
+ADDRESS_MAP_START(segas16b_state::system16c_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0xffffff) AM_DEVREADWRITE8("mapper", sega_315_5195_mapper_device, read, write, 0x00ff)
@@ -1737,7 +1737,7 @@ static ADDRESS_MAP_START( system16c_map, AS_PROGRAM, 16, segas16b_state )
AM_RANGE(0x500000, 0x53ffff) AM_RAM AM_SHARE("workram") // only change from system16b_map
ADDRESS_MAP_END
-static ADDRESS_MAP_START( system16b_bootleg_map, AS_PROGRAM, 16, segas16b_state )
+ADDRESS_MAP_START(segas16b_state::system16b_bootleg_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x200000, 0x23ffff) AM_RAM // used during startup for decompression
AM_RANGE(0x3f0000, 0x3fffff) AM_WRITE(rom_5704_bank_w)
@@ -1750,7 +1750,7 @@ static ADDRESS_MAP_START( system16b_bootleg_map, AS_PROGRAM, 16, segas16b_state
AM_RANGE(0xffc000, 0xffffff) AM_RAM AM_SHARE("workram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( map_fpointbla, AS_PROGRAM, 16, segas16b_state )
+ADDRESS_MAP_START(segas16b_state::map_fpointbla)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x02000e, 0x02000f) AM_READ_PORT("P2")
AM_RANGE(0x0a0000, 0x0a001f) AM_RAM AM_SHARE("bootleg_scroll")
@@ -1765,17 +1765,17 @@ static ADDRESS_MAP_START( map_fpointbla, AS_PROGRAM, 16, segas16b_state )
AM_RANGE(0xffc000, 0xffffff) AM_RAM AM_SHARE("workram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map_x, AS_OPCODES, 16, segas16b_state )
+ADDRESS_MAP_START(segas16b_state::decrypted_opcodes_map_x)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_SHARE("decrypted_opcodes")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map_fpointbla, AS_OPCODES, 16, segas16b_state )
+ADDRESS_MAP_START(segas16b_state::decrypted_opcodes_map_fpointbla)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x01ffff) AM_ROM AM_SHARE("decrypted_opcodes")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lockonph_map, AS_PROGRAM, 16, segas16b_state )
+ADDRESS_MAP_START(segas16b_state::lockonph_map)
// this still appears to have a mapper device, does the hardware use it? should we move this to all be configured by it?
AM_RANGE(0x000000, 0x0bffff) AM_ROM
AM_RANGE(0x3f0000, 0x3fffff) AM_WRITE(rom_5704_bank_w)
@@ -1800,7 +1800,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( fpointbl_map, AS_PROGRAM, 16, segas16b_state )
+ADDRESS_MAP_START(segas16b_state::fpointbl_map)
AM_RANGE(0x000000, 0x0bffff) AM_ROM
AM_RANGE(0x400000, 0x40ffff) AM_DEVREADWRITE("segaic16vid", segaic16_video_device, tileram_r, tileram_w) AM_SHARE("tileram")
@@ -1826,7 +1826,7 @@ ADDRESS_MAP_END
Flash Point (Datsu bootlegs = fpointbl, fpointbj)
Has sound latch at $E000 instead of I/O ports $C0-FF
*/
-static ADDRESS_MAP_START( fpointbl_sound_map, AS_PROGRAM, 8, segas16b_state )
+ADDRESS_MAP_START(segas16b_state::fpointbl_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xe000, 0xe000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0xf800, 0xffff) AM_RAM
@@ -1848,7 +1848,7 @@ WRITE16_MEMBER(segas16b_state::bootleg_custom_io_w)
// SOUND CPU ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, segas16b_state )
+ADDRESS_MAP_START(segas16b_state::sound_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xdfff) AM_ROMBANK("soundbank")
@@ -1856,13 +1856,13 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, segas16b_state )
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_decrypted_opcodes_map, AS_OPCODES, 8, segas16b_state )
+ADDRESS_MAP_START(segas16b_state::sound_decrypted_opcodes_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_SHARE("sound_decrypted_opcodes")
AM_RANGE(0x8000, 0xdfff) AM_ROMBANK("soundbank")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, segas16b_state )
+ADDRESS_MAP_START(segas16b_state::sound_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_MIRROR(0x3e) AM_DEVREADWRITE("ym2151", ym2151_device, read, write)
@@ -1872,13 +1872,13 @@ static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, segas16b_state )
ADDRESS_MAP_END
// similar to whizz / other philko games in sidearms.cpp, but with the m6295
-static ADDRESS_MAP_START( lockonph_sound_map, AS_PROGRAM, 8, segas16b_state )
+ADDRESS_MAP_START(segas16b_state::lockonph_sound_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xf7ff) AM_ROM
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lockonph_sound_iomap, AS_IO, 8, segas16b_state )
+ADDRESS_MAP_START(segas16b_state::lockonph_sound_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0x40, 0x40) AM_WRITENOP // ??
@@ -1899,7 +1899,7 @@ WRITE8_MEMBER(segas16b_state::spin_68k_w)
m_maincpu->spin_until_time(m_maincpu->cycles_to_attotime(20000));
}
-static ADDRESS_MAP_START( mcu_io_map, AS_IO, 8, segas16b_state )
+ADDRESS_MAP_START(segas16b_state::mcu_io_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x001f) AM_MIRROR(0xff00) AM_DEVREADWRITE("mapper", sega_315_5195_mapper_device, read, write)
AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_READ_PORT("SERVICE") AM_WRITE(spin_68k_w)
@@ -3745,7 +3745,7 @@ MACHINE_CONFIG_DERIVED(segas16b_state::system16b_mc8123, system16b)
MCFG_CPU_REPLACE("soundcpu", MC8123, MASTER_CLOCK_10MHz/2)
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_IO_MAP(sound_portmap)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(sound_decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(sound_decrypted_opcodes_map)
MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(segas16b_state::system16b_fd1089a, system16b)
@@ -3763,7 +3763,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(segas16b_state::system16b_fd1094, system16b)
MCFG_CPU_REPLACE("maincpu", FD1094, MASTER_CLOCK_10MHz)
MCFG_CPU_PROGRAM_MAP(system16b_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", segas16b_state, irq4_line_hold)
MACHINE_CONFIG_END
@@ -3811,7 +3811,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(segas16b_state::system16b_split, system16b)
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(system16b_bootleg_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map_x)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map_x)
MCFG_DEVICE_REMOVE("mapper")
MACHINE_CONFIG_END
@@ -3866,7 +3866,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(segas16b_state::fpointbla, fpointbl)
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(map_fpointbla)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map_fpointbla)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map_fpointbla)
MCFG_CPU_MODIFY("soundcpu")
MCFG_CPU_PROGRAM_MAP(sound_map)
@@ -9563,7 +9563,7 @@ WRITE16_MEMBER( isgsm_state::main_bank_change_w )
membank(ISGSM_MAIN_BANK)->set_base(memregion("maincpu")->base());
}
-static ADDRESS_MAP_START( isgsm_map, AS_PROGRAM, 16, isgsm_state )
+ADDRESS_MAP_START(isgsm_state::isgsm_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROMBANK(ISGSM_MAIN_BANK) AM_REGION("bios", 0) // this area is ALWAYS read-only, even when the game is banked in
AM_RANGE(0x200000, 0x23ffff) AM_RAM // used during startup for decompression
diff --git a/src/mame/drivers/segas18.cpp b/src/mame/drivers/segas18.cpp
index 3cc1d29bf59..e6fa31bc3a1 100644
--- a/src/mame/drivers/segas18.cpp
+++ b/src/mame/drivers/segas18.cpp
@@ -632,7 +632,7 @@ WRITE8_MEMBER( segas18_state::mcu_data_w )
*
*************************************/
-static ADDRESS_MAP_START( system18_map, AS_PROGRAM, 16, segas18_state )
+ADDRESS_MAP_START(segas18_state::system18_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0xffffff) AM_DEVREADWRITE8("mapper", sega_315_5195_mapper_device, read, write, 0x00ff)
@@ -645,7 +645,7 @@ static ADDRESS_MAP_START( system18_map, AS_PROGRAM, 16, segas18_state )
AM_RANGE(0x500000, 0x503fff) AM_RAM AM_SHARE("workram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 16, segas18_state )
+ADDRESS_MAP_START(segas18_state::decrypted_opcodes_map)
AM_RANGE(0x00000, 0xfffff) AM_ROMBANK("fd1094_decrypted_opcodes")
ADDRESS_MAP_END
@@ -655,7 +655,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, segas18_state )
+ADDRESS_MAP_START(segas18_state::sound_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x9fff) AM_ROM AM_REGION("soundcpu", 0x10000)
AM_RANGE(0xa000, 0xbfff) AM_ROMBANK("soundbank")
@@ -664,7 +664,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, segas18_state )
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, segas18_state )
+ADDRESS_MAP_START(segas18_state::sound_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x80, 0x83) AM_MIRROR(0x0c) AM_DEVREADWRITE("ym1", ym3438_device, read, write)
@@ -681,7 +681,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( mcu_io_map, AS_IO, 8, segas18_state )
+ADDRESS_MAP_START(segas18_state::mcu_io_map)
ADDRESS_MAP_UNMAP_HIGH
// port 2 not used for high order address byte
AM_RANGE(0x0000, 0x001f) AM_MIRROR(0xff00) AM_DEVREADWRITE("mapper", sega_315_5195_mapper_device, read, write)
@@ -1394,7 +1394,7 @@ MACHINE_CONFIG_DERIVED(segas18_state::system18_fd1094, system18)
// basic machine hardware
MCFG_CPU_REPLACE("maincpu", FD1094, 10000000)
MCFG_CPU_PROGRAM_MAP(system18_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", segas18_state, irq4_line_hold)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/segas24.cpp b/src/mame/drivers/segas24.cpp
index cbc3aa906da..697c622d8bc 100644
--- a/src/mame/drivers/segas24.cpp
+++ b/src/mame/drivers/segas24.cpp
@@ -1064,7 +1064,7 @@ fc-ff ramhi
*/
-static ADDRESS_MAP_START( system24_cpu1_map, AS_PROGRAM, 16, segas24_state )
+ADDRESS_MAP_START(segas24_state::system24_cpu1_map)
AM_RANGE(0x000000, 0x03ffff) AM_MIRROR(0x040000) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x080000, 0x0bffff) AM_MIRROR(0x040000) AM_RAM AM_SHARE("share1")
AM_RANGE(0x100000, 0x13ffff) AM_MIRROR(0x0c0000) AM_ROM AM_REGION("maincpu", 0)
@@ -1097,12 +1097,12 @@ static ADDRESS_MAP_START( system24_cpu1_map, AS_PROGRAM, 16, segas24_state )
AM_RANGE(0xf80000, 0xfbffff) AM_MIRROR(0x040000) AM_RAM AM_SHARE("share1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( roughrac_cpu1_map, AS_PROGRAM, 16, segas24_state )
+ADDRESS_MAP_START(segas24_state::roughrac_cpu1_map)
AM_IMPORT_FROM(system24_cpu1_map)
AM_RANGE(0xc00000, 0xc00007) AM_MIRROR(0x07ffe0) AM_DEVREAD8("upd4701", upd4701_device, read_xy, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hotrod_cpu1_map, AS_PROGRAM, 16, segas24_state )
+ADDRESS_MAP_START(segas24_state::hotrod_cpu1_map)
AM_IMPORT_FROM(system24_cpu1_map)
AM_RANGE(0xc00000, 0xc00007) AM_MIRROR(0x07ffe0) AM_DEVREAD8("upd1", upd4701_device, read_xy, 0x00ff)
AM_RANGE(0xc00008, 0xc0000f) AM_MIRROR(0x07ffe0) AM_DEVREAD8("upd2", upd4701_device, read_xy, 0x00ff)
@@ -1118,7 +1118,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( system24_cpu2_map, AS_PROGRAM, 16, segas24_state )
+ADDRESS_MAP_START(segas24_state::system24_cpu2_map)
AM_RANGE(0x000000, 0x03ffff) AM_MIRROR(0x040000) AM_RAM AM_SHARE("subcpu")
AM_RANGE(0x080000, 0x0bffff) AM_MIRROR(0x040000) AM_RAM AM_SHARE("share1")
AM_RANGE(0x100000, 0x13ffff) AM_MIRROR(0x0c0000) AM_ROM AM_REGION("maincpu", 0)
@@ -1151,12 +1151,12 @@ static ADDRESS_MAP_START( system24_cpu2_map, AS_PROGRAM, 16, segas24_state )
AM_RANGE(0xf80000, 0xfbffff) AM_MIRROR(0x040000) AM_RAM AM_SHARE("share1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( roughrac_cpu2_map, AS_PROGRAM, 16, segas24_state )
+ADDRESS_MAP_START(segas24_state::roughrac_cpu2_map)
AM_IMPORT_FROM(system24_cpu2_map)
AM_RANGE(0xc00000, 0xc00007) AM_MIRROR(0x07ffe0) AM_DEVREAD8("upd4701", upd4701_device, read_xy, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hotrod_cpu2_map, AS_PROGRAM, 16, segas24_state )
+ADDRESS_MAP_START(segas24_state::hotrod_cpu2_map)
AM_IMPORT_FROM(system24_cpu2_map)
AM_RANGE(0xc00000, 0xc00007) AM_MIRROR(0x07ffe0) AM_DEVREAD8("upd1", upd4701_device, read_xy, 0x00ff)
AM_RANGE(0xc00008, 0xc0000f) AM_MIRROR(0x07ffe0) AM_DEVREAD8("upd2", upd4701_device, read_xy, 0x00ff)
@@ -1164,7 +1164,7 @@ static ADDRESS_MAP_START( hotrod_cpu2_map, AS_PROGRAM, 16, segas24_state )
AM_RANGE(0xc00012, 0xc00013) AM_MIRROR(0x07ffec) AM_DEVREADWRITE8("adc2", msm6253_device, d7_r, select_w, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 16, segas24_state )
+ADDRESS_MAP_START(segas24_state::decrypted_opcodes_map)
AM_RANGE(0x00000, 0xfffff) AM_ROMBANK("fd1094_decrypted_opcodes")
ADDRESS_MAP_END
@@ -1951,7 +1951,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(segas24_state::system24_floppy_fd1094, system24_floppy)
MCFG_CPU_REPLACE("subcpu", FD1094, MASTER_CLOCK/2)
MCFG_CPU_PROGRAM_MAP(system24_cpu2_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(segas24_state::system24_floppy_fd_upd, system24_floppy_fd1094)
diff --git a/src/mame/drivers/segas32.cpp b/src/mame/drivers/segas32.cpp
index ac95297b211..966805c48d6 100644
--- a/src/mame/drivers/segas32.cpp
+++ b/src/mame/drivers/segas32.cpp
@@ -1119,7 +1119,7 @@ WRITE8_MEMBER(segas32_state::sound_dummy_w)
*
*************************************/
-static ADDRESS_MAP_START( system32_map, AS_PROGRAM, 16, segas32_state )
+ADDRESS_MAP_START(segas32_state::system32_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_MIRROR(0x0f0000) AM_RAM AM_SHARE("workram")
@@ -1140,7 +1140,7 @@ static ADDRESS_MAP_START( system32_map, AS_PROGRAM, 16, segas32_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( multi32_map, AS_PROGRAM, 32, segas32_state )
+ADDRESS_MAP_START(segas32_state::multi32_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xffffff)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
@@ -1173,7 +1173,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( system32_sound_map, AS_PROGRAM, 8, segas32_state )
+ADDRESS_MAP_START(segas32_state::system32_sound_map)
AM_RANGE(0x0000, 0x9fff) AM_ROM AM_REGION("soundcpu", 0)
AM_RANGE(0xa000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc00f) AM_MIRROR(0x0ff0) AM_DEVWRITE("rfsnd", rf5c68_device, rf5c68_w)
@@ -1181,7 +1181,7 @@ static ADDRESS_MAP_START( system32_sound_map, AS_PROGRAM, 8, segas32_state )
AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("z80_shared_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( system32_sound_portmap, AS_IO, 8, segas32_state )
+ADDRESS_MAP_START(segas32_state::system32_sound_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x80, 0x83) AM_MIRROR(0x0c) AM_DEVREADWRITE("ym1", ym3438_device, read, write)
@@ -1194,14 +1194,14 @@ static ADDRESS_MAP_START( system32_sound_portmap, AS_IO, 8, segas32_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( multi32_sound_map, AS_PROGRAM, 8, segas32_state )
+ADDRESS_MAP_START(segas32_state::multi32_sound_map)
AM_RANGE(0x0000, 0x9fff) AM_ROM AM_REGION("soundcpu", 0)
AM_RANGE(0xa000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xdfff) AM_DEVREADWRITE("sega", multipcm_device, read, write)
AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("z80_shared_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( multi32_sound_portmap, AS_IO, 8, segas32_state )
+ADDRESS_MAP_START(segas32_state::multi32_sound_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x80, 0x83) AM_MIRROR(0x0c) AM_DEVREADWRITE("ymsnd", ym3438_device, read, write)
@@ -1213,7 +1213,7 @@ static ADDRESS_MAP_START( multi32_sound_portmap, AS_IO, 8, segas32_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( multipcm_map, 0, 8, segas32_state )
+ADDRESS_MAP_START(segas32_state::multipcm_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x17ffff) AM_ROMBANK("multipcmbanklo")
AM_RANGE(0x180000, 0x1fffff) AM_ROMBANK("multipcmbankhi")
@@ -1225,7 +1225,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( v25_map, AS_PROGRAM, 8, segas32_state )
+ADDRESS_MAP_START(segas32_state::v25_map)
AM_RANGE(0x00000, 0x0ffff) AM_ROM AM_REGION("mcu", 0)
AM_RANGE(0x10000, 0x1ffff) AM_DEVREADWRITE("dpram", mb8421_device, left_r, left_w)
AM_RANGE(0xf0000, 0xfffff) AM_ROM AM_REGION("mcu", 0)
@@ -1238,11 +1238,11 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( upd7725_prg_map, AS_PROGRAM, 32, segas32_state )
+ADDRESS_MAP_START(segas32_state::upd7725_prg_map)
AM_RANGE(0x0000, 0x07ff) AM_ROM AM_REGION("dspprg", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( upd7725_data_map, AS_DATA, 16, segas32_state )
+ADDRESS_MAP_START(segas32_state::upd7725_data_map)
AM_RANGE(0x0000, 0x03ff) AM_ROM AM_REGION("dspdata", 0)
ADDRESS_MAP_END
@@ -2319,7 +2319,7 @@ segas32_regular_state::segas32_regular_state(const machine_config &mconfig, cons
-static ADDRESS_MAP_START( system32_analog_map, AS_PROGRAM, 16, segas32_state )
+ADDRESS_MAP_START(segas32_state::system32_analog_map)
ADDRESS_MAP_UNMAP_HIGH
AM_IMPORT_FROM(system32_map)
AM_RANGE(0xc00050, 0xc00057) AM_MIRROR(0x0fff80) AM_DEVREADWRITE8("adc", msm6253_device, d7_r, address_w, 0x00ff)
@@ -2354,7 +2354,7 @@ segas32_analog_state::segas32_analog_state(const machine_config &mconfig, device
-static ADDRESS_MAP_START( system32_trackball_map, AS_PROGRAM, 16, segas32_trackball_state )
+ADDRESS_MAP_START(segas32_trackball_state::system32_trackball_map)
ADDRESS_MAP_UNMAP_HIGH
AM_IMPORT_FROM(system32_map)
//AM_RANGE(0xc00040, 0xc0005f) AM_MIRROR(0x0fff80) AM_READWRITE8(sonic_custom_io_r, sonic_custom_io_w, 0x00ff)
@@ -2395,7 +2395,7 @@ segas32_trackball_state::segas32_trackball_state(const machine_config &mconfig,
-static ADDRESS_MAP_START( system32_4player_map, AS_PROGRAM, 16, segas32_state )
+ADDRESS_MAP_START(segas32_state::system32_4player_map)
ADDRESS_MAP_UNMAP_HIGH
AM_IMPORT_FROM(system32_map)
AM_RANGE(0xc00060, 0xc00067) AM_MIRROR(0x0fff80) AM_DEVREADWRITE8("ppi", i8255_device, read, write, 0x00ff)
@@ -2429,7 +2429,7 @@ segas32_4player_state::segas32_4player_state(const machine_config &mconfig, devi
-static ADDRESS_MAP_START( ga2_main_map, AS_PROGRAM, 16, segas32_state )
+ADDRESS_MAP_START(segas32_state::ga2_main_map)
ADDRESS_MAP_UNMAP_HIGH
AM_IMPORT_FROM(system32_4player_map)
AM_RANGE(0xa00000, 0xa00fff) AM_DEVREADWRITE8("dpram", mb8421_device, right_r, right_w, 0x00ff)
@@ -2506,7 +2506,7 @@ WRITE_LINE_MEMBER(segas32_cd_state::scsi_drq_w)
printf("%02x DRQ\n",state);
}
-static ADDRESS_MAP_START( system32_cd_map, AS_PROGRAM, 16, segas32_state )
+ADDRESS_MAP_START(segas32_state::system32_cd_map)
ADDRESS_MAP_UNMAP_HIGH
AM_IMPORT_FROM(system32_map)
#if S32_KOKOROJI_TEST_CD
@@ -2641,7 +2641,7 @@ sega_multi32_state::sega_multi32_state(const machine_config &mconfig, device_typ
}
-static ADDRESS_MAP_START( multi32_analog_map, AS_PROGRAM, 32, sega_multi32_analog_state )
+ADDRESS_MAP_START(sega_multi32_analog_state::multi32_analog_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xffffff)
AM_IMPORT_FROM(multi32_map)
@@ -2686,7 +2686,7 @@ sega_multi32_analog_state::sega_multi32_analog_state(const machine_config &mconf
}
-static ADDRESS_MAP_START( multi32_6player_map, AS_PROGRAM, 32, segas32_state )
+ADDRESS_MAP_START(segas32_state::multi32_6player_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xffffff)
AM_IMPORT_FROM(multi32_map)
diff --git a/src/mame/drivers/segasp.cpp b/src/mame/drivers/segasp.cpp
index 4fa57231997..847e88c1e8f 100644
--- a/src/mame/drivers/segasp.cpp
+++ b/src/mame/drivers/segasp.cpp
@@ -178,7 +178,7 @@ READ64_MEMBER(segasp_state::sp_io_r)
}
// todo, base DC / Naomi stuff should be in it's own map, differences only here, same for Naomi 2 etc.
-static ADDRESS_MAP_START( segasp_map, AS_PROGRAM, 64, segasp_state )
+ADDRESS_MAP_START(segasp_state::segasp_map)
/* Area 0 */
AM_RANGE(0x00000000, 0x001fffff) AM_MIRROR(0xa2000000) AM_ROM AM_REGION("maincpu", 0) // BIOS
@@ -232,7 +232,7 @@ static ADDRESS_MAP_START( segasp_map, AS_PROGRAM, 64, segasp_state )
//AM_RANGE(0x1c000000, 0x1fffffff) AM_NOP // SH4 Internal
ADDRESS_MAP_END
-static ADDRESS_MAP_START( onchip_port, AS_IO, 64, segasp_state )
+ADDRESS_MAP_START(segasp_state::onchip_port)
AM_RANGE(0x00, 0x0f) AM_READWRITE(sn_93c46a_r, sn_93c46a_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/segaufo.cpp b/src/mame/drivers/segaufo.cpp
index 6f477f63f44..3cde336f063 100644
--- a/src/mame/drivers/segaufo.cpp
+++ b/src/mame/drivers/segaufo.cpp
@@ -131,6 +131,10 @@ public:
void ufo21(machine_config &config);
void newufo(machine_config &config);
void ufo800(machine_config &config);
+ void ex_ufo21_portmap(address_map &map);
+ void ex_ufo800_portmap(address_map &map);
+ void ufo_map(address_map &map);
+ void ufo_portmap(address_map &map);
};
@@ -449,12 +453,12 @@ READ8_MEMBER(ufo_state::ex_upd_busy_r)
/* Memory maps */
-static ADDRESS_MAP_START( ufo_map, AS_PROGRAM, 8, ufo_state )
+ADDRESS_MAP_START(ufo_state::ufo_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ufo_portmap, AS_IO, 8, ufo_state )
+ADDRESS_MAP_START(ufo_state::ufo_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("pit", pit8254_device, read, write)
@@ -464,7 +468,7 @@ static ADDRESS_MAP_START( ufo_portmap, AS_IO, 8, ufo_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ex_ufo21_portmap, AS_IO, 8, ufo_state )
+ADDRESS_MAP_START(ufo_state::ex_ufo21_portmap)
AM_IMPORT_FROM( ufo_portmap )
AM_RANGE(0x20, 0x20) AM_DEVWRITE("upd", upd7759_device, port_w)
AM_RANGE(0x60, 0x60) AM_WRITE(ex_upd_start_w) AM_READNOP
@@ -473,7 +477,7 @@ static ADDRESS_MAP_START( ex_ufo21_portmap, AS_IO, 8, ufo_state )
// AM_RANGE(0x68, 0x68) AM_WRITENOP // ?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ex_ufo800_portmap, AS_IO, 8, ufo_state )
+ADDRESS_MAP_START(ufo_state::ex_ufo800_portmap)
AM_IMPORT_FROM( ufo_portmap )
// AM_RANGE(0x60, 0x67) AM_NOP // unused?
// AM_RANGE(0x68, 0x68) AM_WRITENOP // ?
diff --git a/src/mame/drivers/segaxbd.cpp b/src/mame/drivers/segaxbd.cpp
index 538751e8522..44aa54f0230 100644
--- a/src/mame/drivers/segaxbd.cpp
+++ b/src/mame/drivers/segaxbd.cpp
@@ -958,7 +958,7 @@ WRITE16_MEMBER( segaxbd_state::paletteram_w )
// MAIN CPU ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, segaxbd_state )
+ADDRESS_MAP_START(segaxbd_state::main_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x3fffff)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
@@ -989,7 +989,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, segaxbd_state )
AM_RANGE(0x3fc000, 0x3fffff) AM_RAM AM_SHARE("backup2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 16, segaxbd_state )
+ADDRESS_MAP_START(segaxbd_state::decrypted_opcodes_map)
AM_RANGE(0x00000, 0xfffff) AM_ROMBANK("fd1094_decrypted_opcodes")
ADDRESS_MAP_END
@@ -997,7 +997,7 @@ ADDRESS_MAP_END
// SUB CPU ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 16, segaxbd_state )
+ADDRESS_MAP_START(segaxbd_state::sub_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
@@ -1017,14 +1017,14 @@ ADDRESS_MAP_END
// Z80 SOUND CPU ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, segaxbd_state )
+ADDRESS_MAP_START(segaxbd_state::sound_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf0ff) AM_MIRROR(0x0700) AM_DEVREADWRITE("pcm", segapcm_device, sega_pcm_r, sega_pcm_w)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, segaxbd_state )
+ADDRESS_MAP_START(segaxbd_state::sound_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_MIRROR(0x3e) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
@@ -1040,14 +1040,14 @@ ADDRESS_MAP_END
// Sound Board
// The extra sound is used when the cabinet is Deluxe(Air Drive), or Cockpit. The soundlatch is
// shared with the main board sound.
-static ADDRESS_MAP_START( smgp_sound2_map, AS_PROGRAM, 8, segaxbd_state )
+ADDRESS_MAP_START(segaxbd_state::smgp_sound2_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf0ff) AM_MIRROR(0x0700) AM_DEVREADWRITE("pcm2", segapcm_device, sega_pcm_r, sega_pcm_w)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( smgp_sound2_portmap, AS_IO, 8, segaxbd_state )
+ADDRESS_MAP_START(segaxbd_state::smgp_sound2_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x40, 0x40) AM_MIRROR(0x3f) AM_READ(sound_data_r)
@@ -1060,13 +1060,13 @@ ADDRESS_MAP_END
//**************************************************************************
// Motor Board, not yet emulated
-static ADDRESS_MAP_START( smgp_airdrive_map, AS_PROGRAM, 8, segaxbd_state )
+ADDRESS_MAP_START(segaxbd_state::smgp_airdrive_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xafff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( smgp_airdrive_portmap, AS_IO, 8, segaxbd_state )
+ADDRESS_MAP_START(segaxbd_state::smgp_airdrive_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x01, 0x01) AM_READNOP
@@ -1080,14 +1080,14 @@ ADDRESS_MAP_END
//**************************************************************************
// Link Board, not yet emulated
-static ADDRESS_MAP_START( smgp_comm_map, AS_PROGRAM, 8, segaxbd_state )
+ADDRESS_MAP_START(segaxbd_state::smgp_comm_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x3fff) AM_RAM
AM_RANGE(0x4000, 0x47ff) AM_RAM // MB8421 Dual-Port SRAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( smgp_comm_portmap, AS_IO, 8, segaxbd_state )
+ADDRESS_MAP_START(segaxbd_state::smgp_comm_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
@@ -1099,13 +1099,13 @@ ADDRESS_MAP_END
//**************************************************************************
// Z80, unknown function
-static ADDRESS_MAP_START( rascot_z80_map, AS_PROGRAM, 8, segaxbd_state )
+ADDRESS_MAP_START(segaxbd_state::rascot_z80_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xafff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rascot_z80_portmap, AS_IO, 8, segaxbd_state )
+ADDRESS_MAP_START(segaxbd_state::rascot_z80_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
@@ -1793,7 +1793,7 @@ MACHINE_CONFIG_START(segaxbd_fd1094_state::device_add_mconfig)
MCFG_CPU_REPLACE("maincpu", FD1094, MASTER_CLOCK/4)
MCFG_CPU_PROGRAM_MAP(main_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MACHINE_CONFIG_END
@@ -1847,7 +1847,7 @@ MACHINE_CONFIG_START(segaxbd_lastsurv_fd1094_state::device_add_mconfig)
MCFG_CPU_REPLACE("maincpu", FD1094, MASTER_CLOCK/4)
MCFG_CPU_PROGRAM_MAP(main_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
// basic machine hardware
// TODO: network board
@@ -1914,7 +1914,7 @@ MACHINE_CONFIG_START(segaxbd_smgp_fd1094_state::device_add_mconfig)
MCFG_CPU_REPLACE("maincpu", FD1094, MASTER_CLOCK/4)
MCFG_CPU_PROGRAM_MAP(main_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
// basic machine hardware
MCFG_CPU_ADD("soundcpu2", Z80, SOUND_CLOCK/4)
diff --git a/src/mame/drivers/segaybd.cpp b/src/mame/drivers/segaybd.cpp
index 7a55ffd72b8..2d8898279f6 100644
--- a/src/mame/drivers/segaybd.cpp
+++ b/src/mame/drivers/segaybd.cpp
@@ -616,7 +616,7 @@ void segaybd_state::update_irqs()
// MAIN CPU ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, segaybd_state )
+ADDRESS_MAP_START(segaybd_state::main_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x1fffff)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
@@ -635,7 +635,7 @@ ADDRESS_MAP_END
// SUB CPU ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( subx_map, AS_PROGRAM, 16, segaybd_state )
+ADDRESS_MAP_START(segaybd_state::subx_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x1fffff)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
@@ -647,7 +647,7 @@ static ADDRESS_MAP_START( subx_map, AS_PROGRAM, 16, segaybd_state )
AM_RANGE(0x1fc000, 0x1fffff) AM_RAM AM_SHARE("backupram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( suby_map, AS_PROGRAM, 16, segaybd_state )
+ADDRESS_MAP_START(segaybd_state::suby_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x1fffff)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
@@ -666,14 +666,14 @@ ADDRESS_MAP_END
// Z80 SOUND CPU ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, segaybd_state )
+ADDRESS_MAP_START(segaybd_state::sound_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf0ff) AM_MIRROR(0x0700) AM_DEVREADWRITE("pcm", segapcm_device, sega_pcm_r, sega_pcm_w)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, segaybd_state )
+ADDRESS_MAP_START(segaybd_state::sound_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_MIRROR(0x3e) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
@@ -714,7 +714,7 @@ WRITE16_MEMBER(segaybd_state::link2_w)
logerror("link2_w %04x\n", data);
}
-static ADDRESS_MAP_START( main_map_link, AS_PROGRAM, 16, segaybd_state )
+ADDRESS_MAP_START(segaybd_state::main_map_link)
AM_IMPORT_FROM(main_map)
AM_RANGE(0x190000, 0x190fff) AM_DEVREADWRITE8("mb8421", mb8421_device, left_r, left_w, 0x00ff)
AM_RANGE(0x191000, 0x191001) AM_READ(link_r)
@@ -722,7 +722,7 @@ static ADDRESS_MAP_START( main_map_link, AS_PROGRAM, 16, segaybd_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( link_map, AS_PROGRAM, 8, segaybd_state )
+ADDRESS_MAP_START(segaybd_state::link_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x2000, 0x3fff) AM_RAM // 0x2000-0x2*** maybe shared with other boards?
@@ -736,7 +736,7 @@ READ8_MEMBER(segaybd_state::link_portc0_r)
}
#endif
-static ADDRESS_MAP_START( link_portmap, AS_IO, 8, segaybd_state )
+ADDRESS_MAP_START(segaybd_state::link_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
@@ -745,7 +745,7 @@ static ADDRESS_MAP_START( link_portmap, AS_IO, 8, segaybd_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( motor_map, AS_PROGRAM, 8, segaybd_state )
+ADDRESS_MAP_START(segaybd_state::motor_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xffff) AM_RAM
diff --git a/src/mame/drivers/seibucats.cpp b/src/mame/drivers/seibucats.cpp
index 9c8b82189f8..315b9dcfd90 100644
--- a/src/mame/drivers/seibucats.cpp
+++ b/src/mame/drivers/seibucats.cpp
@@ -117,6 +117,7 @@ public:
DECLARE_DRIVER_INIT(seibucats);
void seibucats(machine_config &config);
+ void seibucats_map(address_map &map);
protected:
// driver_device overrides
virtual void machine_start() override;
@@ -162,7 +163,7 @@ WRITE16_MEMBER(seibucats_state::aux_rtc_w)
{
}
-static ADDRESS_MAP_START( seibucats_map, AS_PROGRAM, 32, seibucats_state )
+ADDRESS_MAP_START(seibucats_state::seibucats_map)
// TODO: map devices
AM_RANGE(0x00000000, 0x0003ffff) AM_RAM AM_SHARE("mainram")
diff --git a/src/mame/drivers/seibuspi.cpp b/src/mame/drivers/seibuspi.cpp
index 91e99e7d862..c5f78177031 100644
--- a/src/mame/drivers/seibuspi.cpp
+++ b/src/mame/drivers/seibuspi.cpp
@@ -996,7 +996,7 @@ WRITE32_MEMBER(seibuspi_state::ejsakura_input_select_w)
}
-static ADDRESS_MAP_START( base_map, AS_PROGRAM, 32, seibuspi_state )
+ADDRESS_MAP_START(seibuspi_state::base_map)
AM_RANGE(0x00000000, 0x0003ffff) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x00000400, 0x0000043f) AM_DEVREADWRITE16("crtc", seibu_crtc_device, read, write, 0xffffffff)
AM_RANGE(0x00000480, 0x00000483) AM_WRITE(tilemap_dma_start_w)
@@ -1012,7 +1012,7 @@ static ADDRESS_MAP_START( base_map, AS_PROGRAM, 32, seibuspi_state )
AM_RANGE(0xffe00000, 0xffffffff) AM_ROM AM_REGION("maincpu", 0) AM_SHARE("share1") // ROM location in real-mode
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sei252_map, AS_PROGRAM, 32, seibuspi_state )
+ADDRESS_MAP_START(seibuspi_state::sei252_map)
//AM_RANGE(0x00000500, 0x0000057f) AM_DEVREADWRITE16("obj", sei252_device, read_xor, write_xor, 0xffffffff)
AM_RANGE(0x0000050c, 0x0000050f) AM_WRITE16(sprite_dma_start_w, 0xffff0000)
AM_RANGE(0x00000524, 0x00000527) AM_WRITENOP // SEI252 sprite decryption key, see machine/spisprit.c
@@ -1022,13 +1022,13 @@ static ADDRESS_MAP_START( sei252_map, AS_PROGRAM, 32, seibuspi_state )
AM_RANGE(0x0000053c, 0x0000053f) AM_WRITENOP // SEI252 sprite decryption table index, see machine/spisprit.c
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rise_map, AS_PROGRAM, 32, seibuspi_state )
+ADDRESS_MAP_START(seibuspi_state::rise_map)
//AM_RANGE(0x00000500, 0x0000057f) AM_DEVREADWRITE16("obj", seibu_encrypted_sprite_device, read, write, 0xffffffff)
AM_RANGE(0x0000054c, 0x0000054f) AM_WRITENOP // RISE10/11 sprite decryption key, see machine/seibuspi.c
AM_RANGE(0x00000560, 0x00000563) AM_WRITE16(sprite_dma_start_w, 0xffff0000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spi_map, AS_PROGRAM, 32, seibuspi_state )
+ADDRESS_MAP_START(seibuspi_state::spi_map)
AM_IMPORT_FROM( base_map )
AM_IMPORT_FROM( sei252_map )
AM_RANGE(0x00000600, 0x00000603) AM_WRITENOP // ?
@@ -1046,7 +1046,7 @@ static ADDRESS_MAP_START( spi_map, AS_PROGRAM, 32, seibuspi_state )
AM_RANGE(0x00a00000, 0x013fffff) AM_ROM AM_REGION("sound01", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rdft2_map, AS_PROGRAM, 32, seibuspi_state )
+ADDRESS_MAP_START(seibuspi_state::rdft2_map)
AM_IMPORT_FROM( base_map )
AM_IMPORT_FROM( rise_map )
AM_RANGE(0x00000600, 0x00000603) AM_WRITENOP // ?
@@ -1064,7 +1064,7 @@ static ADDRESS_MAP_START( rdft2_map, AS_PROGRAM, 32, seibuspi_state )
AM_RANGE(0x00a00000, 0x013fffff) AM_ROM AM_REGION("sound01", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sxx2e_map, AS_PROGRAM, 32, seibuspi_state )
+ADDRESS_MAP_START(seibuspi_state::sxx2e_map)
AM_IMPORT_FROM( base_map )
AM_IMPORT_FROM( sei252_map )
AM_RANGE(0x00000680, 0x00000683) AM_READ8(sb_coin_r, 0x000000ff)
@@ -1079,7 +1079,7 @@ static ADDRESS_MAP_START( sxx2e_map, AS_PROGRAM, 32, seibuspi_state )
AM_RANGE(0x000006dc, 0x000006df) AM_READ8(spi_ds2404_unknown_r, 0x0000ff00)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sxx2f_map, AS_PROGRAM, 32, seibuspi_state )
+ADDRESS_MAP_START(seibuspi_state::sxx2f_map)
AM_IMPORT_FROM( base_map )
AM_IMPORT_FROM( rise_map )
AM_RANGE(0x00000680, 0x00000683) AM_READ8(sb_coin_r, 0x000000ff)
@@ -1090,7 +1090,7 @@ static ADDRESS_MAP_START( sxx2f_map, AS_PROGRAM, 32, seibuspi_state )
AM_RANGE(0x00000690, 0x00000693) AM_WRITENOP // ?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sys386i_map, AS_PROGRAM, 32, seibuspi_state )
+ADDRESS_MAP_START(seibuspi_state::sys386i_map)
AM_IMPORT_FROM( base_map )
AM_IMPORT_FROM( rise_map )
AM_RANGE(0x0000068c, 0x0000068f) AM_WRITE8(spi_layerbanks_eeprom_w, 0x00ff0000)
@@ -1099,7 +1099,7 @@ static ADDRESS_MAP_START( sys386i_map, AS_PROGRAM, 32, seibuspi_state )
AM_RANGE(0x01200004, 0x01200007) AM_DEVREADWRITE8("oki2", okim6295_device, read, write, 0x000000ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sys386f_map, AS_PROGRAM, 32, seibuspi_state )
+ADDRESS_MAP_START(seibuspi_state::sys386f_map)
AM_RANGE(0x00000000, 0x0003ffff) AM_RAM AM_SHARE("mainram")
AM_IMPORT_FROM( rise_map )
AM_RANGE(0x00000010, 0x00000013) AM_READ8(spi_status_r, 0x000000ff)
@@ -1154,7 +1154,7 @@ WRITE8_MEMBER(seibuspi_state::spi_coin_w)
}
-static ADDRESS_MAP_START( sxx2e_soundmap, AS_PROGRAM, 8, seibuspi_state )
+ADDRESS_MAP_START(seibuspi_state::sxx2e_soundmap)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x3fff) AM_RAM
AM_RANGE(0x4002, 0x4002) AM_WRITENOP // ?
@@ -1170,7 +1170,7 @@ static ADDRESS_MAP_START( sxx2e_soundmap, AS_PROGRAM, 8, seibuspi_state )
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spi_soundmap, AS_PROGRAM, 8, seibuspi_state )
+ADDRESS_MAP_START(seibuspi_state::spi_soundmap)
AM_IMPORT_FROM( sxx2e_soundmap )
AM_RANGE(0x4008, 0x4008) AM_DEVWRITE("soundfifo2", fifo7200_device, data_byte_w)
AM_RANGE(0x400a, 0x400a) AM_READ_PORT("JUMPERS") // TO DO: get these to actually work
diff --git a/src/mame/drivers/seicross.cpp b/src/mame/drivers/seicross.cpp
index ad3bd1ad4e1..b76941efae1 100644
--- a/src/mame/drivers/seicross.cpp
+++ b/src/mame/drivers/seicross.cpp
@@ -110,7 +110,7 @@ WRITE8_MEMBER(seicross_state::dac_w)
m_dac->write(data >> 4);
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, seicross_state )
+ADDRESS_MAP_START(seicross_state::main_map)
AM_RANGE(0x0000, 0x77ff) AM_ROM
AM_RANGE(0x7800, 0x7fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x8820, 0x887f) AM_RAM AM_SHARE("spriteram")
@@ -124,14 +124,14 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, seicross_state )
AM_RANGE(0xb800, 0xb800) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_portmap, AS_IO, 8, seicross_state )
+ADDRESS_MAP_START(seicross_state::main_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_MIRROR(0x08) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
AM_RANGE(0x04, 0x04) AM_MIRROR(0x08) AM_DEVREAD("aysnd", ay8910_device, data_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mcu_nvram_map, AS_PROGRAM, 8, seicross_state )
+ADDRESS_MAP_START(seicross_state::mcu_nvram_map)
AM_RANGE(0x0000, 0x007f) AM_RAM
AM_RANGE(0x1000, 0x10ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x2000, 0x2000) AM_WRITE(dac_w)
@@ -139,7 +139,7 @@ static ADDRESS_MAP_START( mcu_nvram_map, AS_PROGRAM, 8, seicross_state )
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("share1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mcu_no_nvram_map, AS_PROGRAM, 8, seicross_state )
+ADDRESS_MAP_START(seicross_state::mcu_no_nvram_map)
AM_RANGE(0x0000, 0x007f) AM_RAM
AM_RANGE(0x1003, 0x1003) AM_READ_PORT("DSW1") /* DSW1 */
AM_RANGE(0x1005, 0x1005) AM_READ_PORT("DSW2") /* DSW2 */
@@ -149,7 +149,7 @@ static ADDRESS_MAP_START( mcu_no_nvram_map, AS_PROGRAM, 8, seicross_state )
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("share1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, seicross_state )
+ADDRESS_MAP_START(seicross_state::decrypted_opcodes_map)
AM_RANGE(0x8000, 0xf7ff) AM_ROM AM_SHARE("decrypted_opcodes")
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("share1")
ADDRESS_MAP_END
@@ -444,7 +444,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(seicross_state::friskytb, nvram)
MCFG_CPU_MODIFY("mcu")
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/seicupbl.cpp b/src/mame/drivers/seicupbl.cpp
index 06de38e6526..cebceb9e6c1 100644
--- a/src/mame/drivers/seicupbl.cpp
+++ b/src/mame/drivers/seicupbl.cpp
@@ -74,6 +74,8 @@ public:
TILE_GET_INFO_MEMBER(get_sc3_tileinfo);
void cupsocbl(machine_config &config);
+ void cupsocbl_mem(address_map &map);
+ void cupsocbl_sound_mem(address_map &map);
protected:
// driver_device overrides
virtual void machine_start() override;
@@ -319,7 +321,7 @@ WRITE16_MEMBER(seicupbl_state::vram_sc3_w)
m_sc_layer[3]->mark_tile_dirty(offset);
}
-static ADDRESS_MAP_START( cupsocbl_mem, AS_PROGRAM, 16, seicupbl_state )
+ADDRESS_MAP_START(seicupbl_state::cupsocbl_mem)
// AM_IMPORT_FROM( legionna_cop_mem )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100400, 0x1005ff) AM_DEVREADWRITE("seibucop_boot", seibu_cop_bootleg_device, copdxbl_0_r,copdxbl_0_w) AM_SHARE("cop_mcu_ram")
@@ -347,7 +349,7 @@ WRITE8_MEMBER(seicupbl_state::okim_rombank_w)
m_oki->set_rom_bank(data & 0x7);
}
-static ADDRESS_MAP_START( cupsocbl_sound_mem, AS_PROGRAM, 8, seicupbl_state )
+ADDRESS_MAP_START(seicupbl_state::cupsocbl_sound_mem)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_WRITE(okim_rombank_w)
diff --git a/src/mame/drivers/selz80.cpp b/src/mame/drivers/selz80.cpp
index c3edd619aeb..f04c6a12788 100644
--- a/src/mame/drivers/selz80.cpp
+++ b/src/mame/drivers/selz80.cpp
@@ -57,6 +57,9 @@ public:
void selz80(machine_config &config);
void dagz80(machine_config &config);
+ void dagz80_mem(address_map &map);
+ void selz80_io(address_map &map);
+ void selz80_mem(address_map &map);
private:
uint8_t m_digit;
void setup_baud();
@@ -66,13 +69,13 @@ private:
required_device<clock_device> m_clock;
};
-static ADDRESS_MAP_START(dagz80_mem, AS_PROGRAM, 8, selz80_state)
+ADDRESS_MAP_START(selz80_state::dagz80_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("ram")
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(selz80_mem, AS_PROGRAM, 8, selz80_state)
+ADDRESS_MAP_START(selz80_state::selz80_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1000, 0x27ff) AM_RAM // all 3 RAM sockets filled
@@ -80,7 +83,7 @@ static ADDRESS_MAP_START(selz80_mem, AS_PROGRAM, 8, selz80_state)
AM_RANGE(0xa000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(selz80_io, AS_IO, 8, selz80_state)
+ADDRESS_MAP_START(selz80_state::selz80_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("i8279", i8279_device, read, write)
diff --git a/src/mame/drivers/sengokmj.cpp b/src/mame/drivers/sengokmj.cpp
index 0f8e4327742..084c277021b 100644
--- a/src/mame/drivers/sengokmj.cpp
+++ b/src/mame/drivers/sengokmj.cpp
@@ -65,7 +65,7 @@ RSSENGO2.72 chr.
#include "speaker.h"
-class sengokmj_state : public driver_device
+class sengokmj_state : public driver_device, protected seibu_sound_common
{
public:
sengokmj_state(const machine_config &mconfig, device_type type, const char *tag)
@@ -123,6 +123,8 @@ public:
void draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect,int pri);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void sengokmj(machine_config &config);
+ void sengokmj_io_map(address_map &map);
+ void sengokmj_map(address_map &map);
};
@@ -388,7 +390,7 @@ READ16_MEMBER(sengokmj_state::system_r)
return (ioport("SYSTEM")->read() & 0xffbf) | m_hopper_io;
}
-static ADDRESS_MAP_START( sengokmj_map, AS_PROGRAM, 16, sengokmj_state )
+ADDRESS_MAP_START(sengokmj_state::sengokmj_map)
AM_RANGE(0x00000, 0x07fff) AM_RAM
AM_RANGE(0x08000, 0x09fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x0c000, 0x0c7ff) AM_RAM_WRITE(seibucrtc_sc0vram_w) AM_SHARE("sc0_vram")
@@ -400,7 +402,7 @@ static ADDRESS_MAP_START( sengokmj_map, AS_PROGRAM, 16, sengokmj_state )
AM_RANGE(0xc0000, 0xfffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sengokmj_io_map, AS_IO, 16, sengokmj_state )
+ADDRESS_MAP_START(sengokmj_state::sengokmj_io_map)
AM_RANGE(0x4000, 0x400f) AM_DEVREADWRITE8("seibu_sound", seibu_sound_device, main_r, main_w, 0x00ff)
/*Areas from 8000-804f are for the custom Seibu CRTC.*/
AM_RANGE(0x8000, 0x804f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
diff --git a/src/mame/drivers/senjyo.cpp b/src/mame/drivers/senjyo.cpp
index e40f7b67d01..007910d250d 100644
--- a/src/mame/drivers/senjyo.cpp
+++ b/src/mame/drivers/senjyo.cpp
@@ -123,7 +123,7 @@ WRITE8_MEMBER(senjyo_state::sound_cmd_w)
m_pio->strobe_a(1);
}
-static ADDRESS_MAP_START( senjyo_map, AS_PROGRAM, 8, senjyo_state )
+ADDRESS_MAP_START(senjyo_state::senjyo_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(fgvideoram_w) AM_SHARE("fgvideoram")
@@ -156,11 +156,11 @@ static ADDRESS_MAP_START( senjyo_map, AS_PROGRAM, 8, senjyo_state )
AM_RANGE(0xd005, 0xd005) AM_READ_PORT("DSW2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, senjyo_state )
+ADDRESS_MAP_START(senjyo_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_SHARE("decrypted_opcodes")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( senjyo_sound_map, AS_PROGRAM, 8, senjyo_state )
+ADDRESS_MAP_START(senjyo_state::senjyo_sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM
AM_RANGE(0x8000, 0x8000) AM_DEVWRITE("sn1", sn76496_device, write)
@@ -169,7 +169,7 @@ static ADDRESS_MAP_START( senjyo_sound_map, AS_PROGRAM, 8, senjyo_state )
AM_RANGE(0xd000, 0xd000) AM_WRITE(volume_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( senjyo_sound_io_map, AS_IO, 8, senjyo_state )
+ADDRESS_MAP_START(senjyo_state::senjyo_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("z80pio", z80pio_device, read_alt, write_alt)
AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE("z80ctc", z80ctc_device, read, write)
@@ -190,7 +190,7 @@ WRITE8_MEMBER(senjyo_state::starforb_scrollx2)
m_scrollx1[offset] = data;
}
-static ADDRESS_MAP_START( starforb_map, AS_PROGRAM, 8, senjyo_state )
+ADDRESS_MAP_START(senjyo_state::starforb_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(fgvideoram_w) AM_SHARE("fgvideoram")
@@ -222,7 +222,7 @@ static ADDRESS_MAP_START( starforb_map, AS_PROGRAM, 8, senjyo_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( starforb_sound_map, AS_PROGRAM, 8, senjyo_state )
+ADDRESS_MAP_START(senjyo_state::starforb_sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM
AM_RANGE(0x8000, 0x8000) AM_DEVWRITE("sn1", sn76496_device, write)
@@ -601,7 +601,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(senjyo_state::senjyox_e, senjyo)
MCFG_CPU_REPLACE("maincpu", SEGA_315_5015, 4000000) /* 4 MHz? */
MCFG_CPU_PROGRAM_MAP(senjyo_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", senjyo_state, irq0_line_assert)
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
@@ -609,7 +609,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(senjyo_state::senjyox_a, senjyo)
MCFG_CPU_REPLACE("maincpu", SEGA_315_5018, 4000000) /* 4 MHz? */
MCFG_CPU_PROGRAM_MAP(senjyo_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", senjyo_state, irq0_line_assert)
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/seta.cpp b/src/mame/drivers/seta.cpp
index fdc0f55781f..c23564c2c37 100644
--- a/src/mame/drivers/seta.cpp
+++ b/src/mame/drivers/seta.cpp
@@ -1683,7 +1683,7 @@ WRITE16_MEMBER(seta_state::ipl2_ack_w)
writing to sharedram! */
-static ADDRESS_MAP_START( tndrcade_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::tndrcade_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x200001) AM_WRITE(ipl1_ack_w)
AM_RANGE(0x280000, 0x280001) AM_WRITENOP // ? 0 / 1 (sub cpu related?)
@@ -1706,7 +1706,7 @@ ADDRESS_MAP_END
(with slight variations, and Meta Fox protection hooked in)
***************************************************************************/
-static ADDRESS_MAP_START( downtown_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::downtown_map)
AM_RANGE(0x000000, 0x09ffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x103fff) AM_DEVREADWRITE("x1snd", x1_010_device, word_r, word_w) // Sound
AM_RANGE(0x200000, 0x200001) AM_NOP // watchdog? (twineagl)
@@ -1731,7 +1731,7 @@ ADDRESS_MAP_END
Caliber 50
***************************************************************************/
-static ADDRESS_MAP_START( calibr50_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::calibr50_map)
AM_RANGE(0x000000, 0x09ffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x100001) AM_READ(ipl2_ack_r)
AM_RANGE(0x200000, 0x200fff) AM_RAM // NVRAM
@@ -1806,7 +1806,7 @@ WRITE8_MEMBER(seta_state::usclssic_lockout_w)
}
-static ADDRESS_MAP_START( usclssic_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::usclssic_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0xff0000, 0xffffff) AM_RAM // RAM
AM_RANGE(0x800000, 0x8005ff) AM_RAM AM_DEVREADWRITE("spritegen", seta001_device, spriteylow_r16, spriteylow_w16) // Sprites Y
@@ -1833,7 +1833,7 @@ ADDRESS_MAP_END
Athena no Hatena?
***************************************************************************/
-static ADDRESS_MAP_START( atehate_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::atehate_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x900000, 0x9fffff) AM_RAM // RAM
AM_RANGE(0x100000, 0x103fff) AM_DEVREADWRITE("x1snd", x1_010_device, word_r, word_w) // Sound
@@ -1856,7 +1856,7 @@ ADDRESS_MAP_END
Blandia
***************************************************************************/
-static ADDRESS_MAP_START( blandia_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::blandia_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM // ROM (up to 2MB)
AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM (main ram for zingzip, wrofaero writes to 20f000-20ffff)
AM_RANGE(0x210000, 0x21ffff) AM_RAM // RAM (gundhara)
@@ -1891,7 +1891,7 @@ ADDRESS_MAP_END
(with slight variations)
***************************************************************************/
-static ADDRESS_MAP_START( blandiap_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::blandiap_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM // ROM (up to 2MB)
AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM (main ram for zingzip, wrofaero writes to 20f000-20ffff)
AM_RANGE(0x210000, 0x21ffff) AM_RAM // RAM (gundhara)
@@ -1959,7 +1959,7 @@ READ16_MEMBER(seta_state::extra_r)
return m_extra_port.read_safe(0xff);
}
-static ADDRESS_MAP_START( wrofaero_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::wrofaero_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM // ROM (up to 2MB)
AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM
AM_RANGE(0x210000, 0x21ffff) AM_RAM // RAM (gundhara)
@@ -1995,7 +1995,7 @@ static ADDRESS_MAP_START( wrofaero_map, AS_PROGRAM, 16, seta_state )
AM_RANGE(0xf00000, 0xf00001) AM_WRITENOP // ? Sound IRQ Ack
ADDRESS_MAP_END
-static ADDRESS_MAP_START( zombraid_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::zombraid_map)
AM_IMPORT_FROM( wrofaero_map )
AM_RANGE(0x300000, 0x30ffff) AM_RAM AM_SHARE("nvram") // actually 8K x8 SRAM
AM_RANGE(0xf00000, 0xf00001) AM_WRITE(zombraid_gun_w)
@@ -2007,7 +2007,7 @@ READ16_MEMBER(seta_state::zingzipbl_unknown_r)
return 0x0000;
}
-static ADDRESS_MAP_START( zingzipbl_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::zingzipbl_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM // ROM (up to 2MB)
AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_SHARE("workram") // RAM (pointer for zombraid crosshair hack)
AM_RANGE(0x210000, 0x21ffff) AM_RAM // RAM (gundhara)
@@ -2045,7 +2045,7 @@ static ADDRESS_MAP_START( zingzipbl_map, AS_PROGRAM, 16, seta_state )
AM_RANGE(0xf00000, 0xf00001) AM_WRITENOP // ? Sound IRQ Ack
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jjsquawb_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::jjsquawb_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM // ROM (up to 2MB)
AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_SHARE("workram") // RAM (pointer for zombraid crosshair hack)
AM_RANGE(0x210000, 0x21ffff) AM_RAM // RAM (gundhara)
@@ -2082,7 +2082,7 @@ ADDRESS_MAP_END
Orbs
***************************************************************************/
-static ADDRESS_MAP_START( orbs_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::orbs_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0xf00000, 0xf0ffff) AM_RAM // RAM
AM_RANGE(0x100000, 0x100001) AM_READNOP // ?
@@ -2162,7 +2162,7 @@ WRITE16_MEMBER(seta_state::keroppi_prize_w)
}
}
-static ADDRESS_MAP_START( keroppi_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::keroppi_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0xf00000, 0xf0ffff) AM_RAM // RAM
AM_RANGE(0x100000, 0x100001) AM_READ(keroppi_protection_r) //
@@ -2195,7 +2195,7 @@ MACHINE_START_MEMBER(seta_state,keroppi)
***************************************************************************/
/* similar to krzybowl */
-static ADDRESS_MAP_START( blockcar_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::blockcar_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0xf00000, 0xf03fff) AM_RAM // RAM
AM_RANGE(0xf04000, 0xf041ff) AM_RAM // Backup RAM?
@@ -2215,7 +2215,7 @@ static ADDRESS_MAP_START( blockcar_map, AS_PROGRAM, 16, seta_state )
AM_RANGE(0xe00600, 0xe00607) AM_RAM AM_DEVREADWRITE("spritegen", seta001_device, spritectrl_r16, spritectrl_w16)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( blockcarb_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::blockcarb_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0xf00000, 0xf03fff) AM_RAM // RAM
AM_RANGE(0xf04000, 0xf041ff) AM_RAM // Backup RAM?
@@ -2241,7 +2241,7 @@ ADDRESS_MAP_END
Daioh
***************************************************************************/
-static ADDRESS_MAP_START( daioh_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::daioh_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM
AM_RANGE(0x400000, 0x400001) AM_READ_PORT("P1") // P1
@@ -2274,7 +2274,7 @@ ADDRESS_MAP_END
Daioh (location test version)
***************************************************************************/
-static ADDRESS_MAP_START( daiohp_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::daiohp_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM AM_MIRROR(0x080000) // ROM
AM_RANGE(0x100000, 0x17ffff) AM_ROM AM_MIRROR(0x080000) // ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM
@@ -2310,7 +2310,7 @@ ADDRESS_MAP_END
Dragon Unit, Quiz Kokology, Quiz Kokology 2, Strike Gunner
***************************************************************************/
-static ADDRESS_MAP_START( drgnunit_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::drgnunit_map)
AM_RANGE(0x000000, 0x0bffff) AM_ROM // ROM
AM_RANGE(0xf00000, 0xf0ffff) AM_RAM // RAM (qzkklogy)
AM_RANGE(0xffc000, 0xffffff) AM_RAM // RAM (drgnunit,stg)
@@ -2464,7 +2464,7 @@ WRITE8_MEMBER(setaroul_state::led_w)
show_outputs();
}
-static ADDRESS_MAP_START( setaroul_map, AS_PROGRAM, 16, setaroul_state )
+ADDRESS_MAP_START(setaroul_state::setaroul_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x800000, 0x800003) AM_NOP // RS232C Auto Time Set: r/w
@@ -2506,7 +2506,7 @@ ADDRESS_MAP_END
Extreme Downhill / Sokonuke
***************************************************************************/
-static ADDRESS_MAP_START( extdwnhl_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::extdwnhl_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM
@@ -2540,7 +2540,7 @@ ADDRESS_MAP_END
(Kamen) Masked Riders Club Battle Race / Mad Shark
***************************************************************************/
-static ADDRESS_MAP_START( kamenrid_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::kamenrid_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM
AM_RANGE(0x500000, 0x500001) AM_READ_PORT("P1") // P1
@@ -2570,7 +2570,7 @@ static ADDRESS_MAP_START( kamenrid_map, AS_PROGRAM, 16, seta_state )
ADDRESS_MAP_END
/* almost identical to kamenrid */
-static ADDRESS_MAP_START( madshark_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::madshark_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM
AM_RANGE(0x500000, 0x500001) AM_READ_PORT("P1") // P1
@@ -2607,7 +2607,7 @@ WRITE16_MEMBER(seta_state::magspeed_lights_w)
}
/* almost identical to kamenrid */
-static ADDRESS_MAP_START( magspeed_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::magspeed_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM
AM_RANGE(0x500000, 0x500001) AM_READ_PORT("P1") // P1
@@ -2643,7 +2643,7 @@ ADDRESS_MAP_END
Krazy Bowl
***************************************************************************/
-static ADDRESS_MAP_START( krzybowl_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::krzybowl_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0xf00000, 0xf0ffff) AM_RAM // RAM
AM_RANGE(0x100000, 0x100001) AM_READNOP // ?
@@ -2683,7 +2683,7 @@ WRITE16_MEMBER(seta_state::msgundam_vregs_w)
/* Mirror RAM is necessary or startup, to clear Work RAM after the test */
-static ADDRESS_MAP_START( msgundam_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::msgundam_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x1fffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_MIRROR(0x70000) // RAM
@@ -2713,7 +2713,7 @@ ADDRESS_MAP_END
***************************************************************************/
/* similar to wrofaero */
-static ADDRESS_MAP_START( oisipuzl_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::oisipuzl_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x17ffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM
@@ -2742,7 +2742,7 @@ ADDRESS_MAP_END
/* Same as oisipuzl but with the sound system replaced */
-static ADDRESS_MAP_START( triplfun_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::triplfun_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x17ffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM
@@ -2797,7 +2797,7 @@ READ16_MEMBER(seta_state::kiwame_input_r)
}
}
-static ADDRESS_MAP_START( kiwame_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::kiwame_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_SHARE("nvram") // RAM
AM_RANGE(0x800000, 0x803fff) AM_RAM AM_DEVREADWRITE("spritegen", seta001_device, spritecode_r16, spritecode_w16) // Sprites Code + X + Attr
@@ -2828,7 +2828,7 @@ WRITE16_MEMBER(seta_state::thunderl_protection_w)
/* Similar to downtown etc. */
-static ADDRESS_MAP_START( thunderl_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::thunderl_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM // ROM
AM_RANGE(0xffc000, 0xffffff) AM_RAM // RAM
AM_RANGE(0x100000, 0x103fff) AM_DEVREADWRITE("x1snd", x1_010_device, word_r, word_w) // Sound
@@ -2852,7 +2852,7 @@ static ADDRESS_MAP_START( thunderl_map, AS_PROGRAM, 16, seta_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( thunderlbl_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::thunderlbl_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM // ROM
AM_RANGE(0xffc000, 0xffffff) AM_RAM // RAM
// AM_RANGE(0x100000, 0x103fff) AM_DEVREADWRITE("x1snd", x1_010_device, word_r, word_w) // Sound
@@ -2879,7 +2879,7 @@ ADDRESS_MAP_END
Wiggie Waggie
***************************************************************************/
-static ADDRESS_MAP_START( wiggie_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::wiggie_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM // ROM
AM_RANGE(0xffc000, 0xffffff) AM_RAM // RAM
AM_RANGE(0x100000, 0x103fff) AM_NOP // X1_010 is not used
@@ -2903,7 +2903,7 @@ static ADDRESS_MAP_START( wiggie_map, AS_PROGRAM, 16, seta_state )
AM_RANGE(0xe04000, 0xe07fff) AM_RAM // (wits)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( wiggie_sound_map, AS_PROGRAM, 8, seta_state )
+ADDRESS_MAP_START(seta_state::wiggie_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
@@ -2915,7 +2915,7 @@ ADDRESS_MAP_END
Ultraman Club / SD Gundam Neo Battling
***************************************************************************/
-static ADDRESS_MAP_START( umanclub_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::umanclub_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM
AM_RANGE(0x300000, 0x3003ff) AM_RAM AM_SHARE("paletteram") // Palette
@@ -2947,7 +2947,7 @@ WRITE8_MEMBER(seta_state::utoukond_sound_control_w)
// other bits used for banking? (low nibble seems to always be 2)
}
-static ADDRESS_MAP_START( utoukond_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::utoukond_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM
AM_RANGE(0x400000, 0x400001) AM_READ_PORT("P1") // P1
@@ -2988,7 +2988,7 @@ WRITE16_MEMBER(seta_state::pairlove_prot_w)
m_pairslove_protram[offset] = data;
}
-static ADDRESS_MAP_START( pairlove_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::pairlove_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x100001) AM_WRITENOP // ? 1 (start of interrupts, main loop: watchdog?)
AM_RANGE(0x200000, 0x200001) AM_WRITENOP // ? 0/1 (IRQ acknowledge?)
@@ -3012,7 +3012,7 @@ ADDRESS_MAP_END
Crazy Fight
***************************************************************************/
-static ADDRESS_MAP_START( crazyfgt_map, AS_PROGRAM, 16, seta_state )
+ADDRESS_MAP_START(seta_state::crazyfgt_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x400000, 0x40ffff) AM_RAM
AM_RANGE(0x610000, 0x610001) AM_READ_PORT("COINS")
@@ -3186,7 +3186,7 @@ READ16_MEMBER(jockeyc_state::trackball_r)
return 0;
}
-static ADDRESS_MAP_START( jockeyc_map, AS_PROGRAM, 16, jockeyc_state )
+ADDRESS_MAP_START(jockeyc_state::jockeyc_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM // ROM (up to 2MB)
AM_RANGE(0x200000, 0x200001) AM_READWRITE(mux_r, jockeyc_mux_w)
@@ -3273,7 +3273,7 @@ READ16_MEMBER(jockeyc_state::inttoote_700000_r)
return m_inttoote_700000[offset] & 0x3f;
}
-static ADDRESS_MAP_START( inttoote_map, AS_PROGRAM, 16, jockeyc_state )
+ADDRESS_MAP_START(jockeyc_state::inttoote_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM // ROM (up to 2MB)
AM_RANGE(0x200000, 0x200001) AM_READWRITE(mux_r, inttoote_mux_w)
@@ -3338,7 +3338,7 @@ WRITE8_MEMBER(seta_state::sub_bankswitch_lockout_w)
READ8_MEMBER(seta_state::ff_r){return 0xff;}
-static ADDRESS_MAP_START( tndrcade_sub_map, AS_PROGRAM, 8, seta_state )
+ADDRESS_MAP_START(seta_state::tndrcade_sub_map)
AM_RANGE(0x0000, 0x01ff) AM_RAM // RAM
AM_RANGE(0x0800, 0x0800) AM_READ(ff_r) // ? (bits 0/1/2/3: 1 -> do test 0-ff/100-1e0/5001-57ff/banked rom)
//AM_RANGE(0x0800, 0x0800) AM_DEVREAD("soundlatch", generic_latch_8_device, read) //
@@ -3360,7 +3360,7 @@ ADDRESS_MAP_END
Twin Eagle
***************************************************************************/
-static ADDRESS_MAP_START( twineagl_sub_map, AS_PROGRAM, 8, seta_state )
+ADDRESS_MAP_START(seta_state::twineagl_sub_map)
AM_RANGE(0x0000, 0x01ff) AM_RAM // RAM
AM_RANGE(0x0800, 0x0800) AM_DEVREAD("soundlatch", generic_latch_8_device, read) //
AM_RANGE(0x0801, 0x0801) AM_DEVREAD("soundlatch2", generic_latch_8_device, read) //
@@ -3402,7 +3402,7 @@ READ8_MEMBER(seta_state::downtown_ip_r)
return 0;
}
-static ADDRESS_MAP_START( downtown_sub_map, AS_PROGRAM, 8, seta_state )
+ADDRESS_MAP_START(seta_state::downtown_sub_map)
AM_RANGE(0x0000, 0x01ff) AM_RAM // RAM
AM_RANGE(0x0800, 0x0800) AM_DEVREAD("soundlatch", generic_latch_8_device, read) //
AM_RANGE(0x0801, 0x0801) AM_DEVREAD("soundlatch2", generic_latch_8_device, read) //
@@ -3447,7 +3447,7 @@ WRITE8_MEMBER(seta_state::calibr50_soundlatch2_w)
m_subcpu->spin_until_time(attotime::from_usec(50)); // Allow the other cpu to reply
}
-static ADDRESS_MAP_START( calibr50_sub_map, AS_PROGRAM, 8, seta_state )
+ADDRESS_MAP_START(seta_state::calibr50_sub_map)
AM_RANGE(0x0000, 0x1fff) AM_DEVREADWRITE("x1snd", x1_010_device, read ,write) // Sound
AM_RANGE(0x4000, 0x4000) AM_DEVREAD("soundlatch", generic_latch_8_device, read) // From Main CPU
AM_RANGE(0x4000, 0x4000) AM_WRITE(calibr50_sub_bankswitch_w) // Bankswitching
@@ -3461,7 +3461,7 @@ ADDRESS_MAP_END
Meta Fox
***************************************************************************/
-static ADDRESS_MAP_START( metafox_sub_map, AS_PROGRAM, 8, seta_state )
+ADDRESS_MAP_START(seta_state::metafox_sub_map)
AM_RANGE(0x0000, 0x01ff) AM_RAM // RAM
AM_RANGE(0x0800, 0x0800) AM_DEVREAD("soundlatch", generic_latch_8_device, read) //
AM_RANGE(0x0801, 0x0801) AM_DEVREAD("soundlatch2", generic_latch_8_device, read) //
@@ -3481,13 +3481,13 @@ ADDRESS_MAP_END
Ultra Toukon Densetsu
***************************************************************************/
-static ADDRESS_MAP_START( utoukond_sound_map, AS_PROGRAM, 8, seta_state )
+ADDRESS_MAP_START(seta_state::utoukond_sound_map)
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xefff) AM_RAM
AM_RANGE(0xf000, 0xffff) AM_DEVREADWRITE("x1snd", x1_010_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( utoukond_sound_io_map, AS_IO, 8, seta_state )
+ADDRESS_MAP_START(seta_state::utoukond_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ymsnd", ym3438_device, read, write)
AM_RANGE(0x80, 0x80) AM_WRITE(utoukond_sound_control_w)
@@ -8242,14 +8242,14 @@ MACHINE_CONFIG_START(seta_state::blockcar)
MACHINE_CONFIG_END
-static ADDRESS_MAP_START( blockcarb_sound_map, AS_PROGRAM, 8, seta_state )
+ADDRESS_MAP_START(seta_state::blockcarb_sound_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xd000, 0xdfff) AM_RAM
//AM_RANGE(0xf001, 0xf001) ??
ADDRESS_MAP_END
-static ADDRESS_MAP_START( blockcarb_sound_portmap, AS_IO, 8, seta_state )
+ADDRESS_MAP_START(seta_state::blockcarb_sound_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
// AM_RANGE(0x00, 0x01) AM_MIRROR(0x3e) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
@@ -9248,14 +9248,14 @@ MACHINE_CONFIG_START(seta_state::thunderl)
MACHINE_CONFIG_END
-static ADDRESS_MAP_START( thunderlbl_sound_map, AS_PROGRAM, 8, seta_state )
+ADDRESS_MAP_START(seta_state::thunderlbl_sound_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xdfff) AM_ROM
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( thunderlbl_sound_portmap, AS_IO, 8, seta_state )
+ADDRESS_MAP_START(seta_state::thunderlbl_sound_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_MIRROR(0x3e) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
diff --git a/src/mame/drivers/seta2.cpp b/src/mame/drivers/seta2.cpp
index d6337e0aec9..f6587902ee3 100644
--- a/src/mame/drivers/seta2.cpp
+++ b/src/mame/drivers/seta2.cpp
@@ -159,7 +159,7 @@ WRITE16_MEMBER(seta2_state::grdians_lockout_w)
// popmessage("%04X", data & 0xffff);
}
-static ADDRESS_MAP_START( grdians_map, AS_PROGRAM, 16, seta2_state )
+ADDRESS_MAP_START(seta2_state::grdians_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM
AM_RANGE(0x304000, 0x30ffff) AM_RAM // ? seems tile data
@@ -195,7 +195,7 @@ WRITE16_MEMBER(seta2_state::gundamex_eeprom_w)
m_eeprom->cs_write((data & 0x4) ? ASSERT_LINE : CLEAR_LINE);
}
-static ADDRESS_MAP_START( gundamex_map, AS_PROGRAM, 16, seta2_state )
+ADDRESS_MAP_START(seta2_state::gundamex_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM
AM_RANGE(0x500000, 0x57ffff) AM_ROM // ROM
@@ -259,7 +259,7 @@ WRITE16_MEMBER(seta2_state::mj4simai_keyboard_w)
m_keyboard_row = data & 0xff;
}
-static ADDRESS_MAP_START( mj4simai_map, AS_PROGRAM, 16, seta2_state )
+ADDRESS_MAP_START(seta2_state::mj4simai_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM
AM_RANGE(0x600000, 0x600001) AM_READ(mj4simai_p1_r) // P1
@@ -283,7 +283,7 @@ ADDRESS_MAP_END
Kosodate Quiz My Angel
***************************************************************************/
-static ADDRESS_MAP_START( myangel_map, AS_PROGRAM, 16, seta2_state )
+ADDRESS_MAP_START(seta2_state::myangel_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("P1") // P1
@@ -306,7 +306,7 @@ ADDRESS_MAP_END
Kosodate Quiz My Angel 2
***************************************************************************/
-static ADDRESS_MAP_START( myangel2_map, AS_PROGRAM, 16, seta2_state )
+ADDRESS_MAP_START(seta2_state::myangel2_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM
AM_RANGE(0x600000, 0x600001) AM_READ_PORT("P1") // P1
@@ -351,7 +351,7 @@ WRITE16_MEMBER(seta2_state::pzlbowl_coin_counter_w)
}
}
-static ADDRESS_MAP_START( pzlbowl_map, AS_PROGRAM, 16, seta2_state )
+ADDRESS_MAP_START(seta2_state::pzlbowl_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM
AM_RANGE(0x400300, 0x400301) AM_READ_PORT("DSW1") // DSW 1
@@ -374,7 +374,7 @@ ADDRESS_MAP_END
Penguin Bros
***************************************************************************/
-static ADDRESS_MAP_START( penbros_base_map, AS_PROGRAM, 16, seta2_state )
+ADDRESS_MAP_START(seta2_state::penbros_base_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM
AM_RANGE(0x210000, 0x21ffff) AM_RAM // zeroed at startup, then never written again on originals, used on the bootleg
@@ -390,7 +390,7 @@ static ADDRESS_MAP_START( penbros_base_map, AS_PROGRAM, 16, seta2_state )
AM_RANGE(0xb40000, 0xb4ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( penbros_map, AS_PROGRAM, 16, seta2_state )
+ADDRESS_MAP_START(seta2_state::penbros_map)
AM_IMPORT_FROM(penbros_base_map)
AM_RANGE(0x300000, 0x30ffff) AM_RAM
AM_RANGE(0x500300, 0x500301) AM_READ_PORT("DSW1")
@@ -400,7 +400,7 @@ static ADDRESS_MAP_START( penbros_map, AS_PROGRAM, 16, seta2_state )
AM_RANGE(0xfffc00, 0xffffff) AM_DEVREADWRITE("tmp68301", tmp68301_device, regs_r, regs_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ablastb_map, AS_PROGRAM, 16, seta2_state )
+ADDRESS_MAP_START(seta2_state::ablastb_map)
AM_IMPORT_FROM(penbros_base_map)
AM_RANGE(0x508300, 0x508301) AM_READ_PORT("DSW1")
AM_RANGE(0x508302, 0x508303) AM_READ_PORT("DSW2")
@@ -446,7 +446,7 @@ WRITE16_MEMBER(seta2_state::reelquak_coin_w)
// popmessage("COIN %04X", data & 0xffff);
}
-static ADDRESS_MAP_START( reelquak_map, AS_PROGRAM, 16, seta2_state )
+ADDRESS_MAP_START(seta2_state::reelquak_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM
AM_RANGE(0x300000, 0x303fff) AM_RAM AM_SHARE("nvram") // NVRAM (Battery Backed)
@@ -471,7 +471,7 @@ ADDRESS_MAP_END
***************************************************************************/
// To be done:
-static ADDRESS_MAP_START( namcostr_map, AS_PROGRAM, 16, seta2_state )
+ADDRESS_MAP_START(seta2_state::namcostr_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM
AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_SHARE("spriteram") // Sprites
@@ -497,7 +497,7 @@ WRITE16_MEMBER(seta2_state::samshoot_coin_w)
// popmessage("%04x",data);
}
-static ADDRESS_MAP_START( samshoot_map, AS_PROGRAM, 16, seta2_state )
+ADDRESS_MAP_START(seta2_state::samshoot_map)
AM_RANGE( 0x000000, 0x1fffff ) AM_ROM
AM_RANGE( 0x200000, 0x20ffff ) AM_RAM
AM_RANGE( 0x300000, 0x30ffff ) AM_RAM AM_SHARE("nvram")
@@ -592,7 +592,7 @@ WRITE16_MEMBER(staraudi_state::staraudi_tileram_w)
m_gfxdecode->gfx(i)->mark_dirty(tile);
}
-static ADDRESS_MAP_START( staraudi_map, AS_PROGRAM, 16, staraudi_state )
+ADDRESS_MAP_START(staraudi_state::staraudi_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x23ffff) AM_RAM // RAM
@@ -676,7 +676,7 @@ WRITE16_MEMBER(seta2_state::telpacfl_lockout_w)
// popmessage("LOCK %04X", data);
}
-static ADDRESS_MAP_START( telpacfl_map, AS_PROGRAM, 16, seta2_state )
+ADDRESS_MAP_START(seta2_state::telpacfl_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM
AM_RANGE(0x300000, 0x303fff) AM_RAM AM_SHARE("nvram") // NVRAM (Battery Backed)
@@ -880,7 +880,7 @@ WRITE32_MEMBER(seta2_state::oki_write)
}
}
-static ADDRESS_MAP_START( funcube_map, AS_PROGRAM, 32, seta2_state )
+ADDRESS_MAP_START(seta2_state::funcube_map)
AM_RANGE( 0x00000000, 0x0007ffff ) AM_ROM
AM_RANGE( 0x00200000, 0x0020ffff ) AM_RAM
@@ -899,7 +899,7 @@ static ADDRESS_MAP_START( funcube_map, AS_PROGRAM, 32, seta2_state )
AM_RANGE(0xffffe000, 0xffffffff ) AM_RAM // SRAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( funcube2_map, AS_PROGRAM, 32, seta2_state )
+ADDRESS_MAP_START(seta2_state::funcube2_map)
AM_RANGE( 0x00000000, 0x0007ffff ) AM_ROM
AM_RANGE( 0x00200000, 0x0020ffff ) AM_RAM
@@ -920,7 +920,7 @@ ADDRESS_MAP_END
// Sub CPU
-static ADDRESS_MAP_START( funcube_sub_map, AS_PROGRAM, 16, seta2_state )
+ADDRESS_MAP_START(seta2_state::funcube_sub_map)
AM_RANGE( 0x000000, 0x01ffff ) AM_ROM
AM_RANGE( 0x200000, 0x20017f ) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
@@ -1014,14 +1014,14 @@ READ16_MEMBER(seta2_state::funcube_battery_r)
}
// cabinet linking on sci0
-static ADDRESS_MAP_START( funcube_sub_io, AS_IO, 16, seta2_state )
+ADDRESS_MAP_START(seta2_state::funcube_sub_io)
AM_RANGE( h8_device::PORT_7, h8_device::PORT_7 ) AM_READ(funcube_coins_r )
AM_RANGE( h8_device::PORT_4, h8_device::PORT_4 ) AM_READ(funcube_battery_r )
AM_RANGE( h8_device::PORT_A, h8_device::PORT_A ) AM_READWRITE(funcube_outputs_r, funcube_outputs_w ) AM_SHARE("funcube_outputs")
AM_RANGE( h8_device::PORT_B, h8_device::PORT_B ) AM_WRITE(funcube_leds_w ) AM_SHARE("funcube_leds")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( funcube2_sub_io, AS_IO, 16, seta2_state )
+ADDRESS_MAP_START(seta2_state::funcube2_sub_io)
AM_RANGE( h8_device::PORT_7, h8_device::PORT_7 ) AM_READ(funcube_coins_r )
AM_RANGE( h8_device::PORT_4, h8_device::PORT_4 ) AM_NOP // unused
AM_RANGE( h8_device::PORT_A, h8_device::PORT_A ) AM_READWRITE(funcube_outputs_r, funcube_outputs_w ) AM_SHARE("funcube_outputs")
diff --git a/src/mame/drivers/sf.cpp b/src/mame/drivers/sf.cpp
index 32a2e346785..4953f2a86eb 100644
--- a/src/mame/drivers/sf.cpp
+++ b/src/mame/drivers/sf.cpp
@@ -161,7 +161,7 @@ WRITE8_MEMBER(sf_state::msm2_5205_w)
m_msm2->vclk_w(0);
}
-static ADDRESS_MAP_START( sfan_map, AS_PROGRAM, 16, sf_state )
+ADDRESS_MAP_START(sf_state::sfan_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x04ffff) AM_ROM
AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
@@ -184,7 +184,7 @@ static ADDRESS_MAP_START( sfan_map, AS_PROGRAM, 16, sf_state )
AM_RANGE(0xffe000, 0xffffff) AM_RAM AM_SHARE("objectram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sfus_map, AS_PROGRAM, 16, sf_state )
+ADDRESS_MAP_START(sf_state::sfus_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x04ffff) AM_ROM
AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
@@ -207,7 +207,7 @@ static ADDRESS_MAP_START( sfus_map, AS_PROGRAM, 16, sf_state )
AM_RANGE(0xffe000, 0xffffff) AM_RAM AM_SHARE("objectram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sfjp_map, AS_PROGRAM, 16, sf_state )
+ADDRESS_MAP_START(sf_state::sfjp_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x04ffff) AM_ROM
AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
@@ -230,7 +230,7 @@ static ADDRESS_MAP_START( sfjp_map, AS_PROGRAM, 16, sf_state )
AM_RANGE(0xffe000, 0xffffff) AM_RAM AM_SHARE("objectram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, sf_state )
+ADDRESS_MAP_START(sf_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc800) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -238,13 +238,13 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, sf_state )
ADDRESS_MAP_END
/* Yes, _no_ ram */
-static ADDRESS_MAP_START( sound2_map, AS_PROGRAM, 8, sf_state )
+ADDRESS_MAP_START(sf_state::sound2_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1")
AM_RANGE(0x0000, 0xffff) AM_WRITENOP /* avoid cluttering up error.log */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound2_io_map, AS_IO, 8, sf_state )
+ADDRESS_MAP_START(sf_state::sound2_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(msm1_5205_w)
AM_RANGE(0x01, 0x01) AM_WRITE(msm2_5205_w)
diff --git a/src/mame/drivers/sfbonus.cpp b/src/mame/drivers/sfbonus.cpp
index 43fe3327381..d5e471a9b3b 100644
--- a/src/mame/drivers/sfbonus.cpp
+++ b/src/mame/drivers/sfbonus.cpp
@@ -472,6 +472,9 @@ public:
void draw_reel_layer(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int category);
uint32_t screen_update_sfbonus(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void sfbonus(machine_config &config);
+ void ramdac_map(address_map &map);
+ void sfbonus_io(address_map &map);
+ void sfbonus_map(address_map &map);
};
@@ -1209,7 +1212,7 @@ uint32_t sfbonus_state::screen_update_sfbonus(screen_device &screen, bitmap_ind1
-static ADDRESS_MAP_START( sfbonus_map, AS_PROGRAM, 8, sfbonus_state )
+ADDRESS_MAP_START(sfbonus_state::sfbonus_map)
AM_RANGE(0x0000, 0xefff) AM_ROMBANK("bank1") AM_WRITE(sfbonus_videoram_w)
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
@@ -1279,7 +1282,7 @@ WRITE8_MEMBER(sfbonus_state::sfbonus_2c01_w)
}
-static ADDRESS_MAP_START( sfbonus_io, AS_IO, 8, sfbonus_state )
+ADDRESS_MAP_START(sfbonus_state::sfbonus_io)
AM_RANGE(0x0400, 0x0400) AM_READ_PORT("KEY1")
AM_RANGE(0x0408, 0x0408) AM_READ_PORT("KEY2")
AM_RANGE(0x0410, 0x0410) AM_READ_PORT("KEY3")
@@ -1356,7 +1359,7 @@ void sfbonus_state::machine_reset()
}
-static ADDRESS_MAP_START( ramdac_map, 0, 8, sfbonus_state )
+ADDRESS_MAP_START(sfbonus_state::ramdac_map)
AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac",ramdac_device,ramdac_pal_r,ramdac_rgb666_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/sfcbox.cpp b/src/mame/drivers/sfcbox.cpp
index 7bd97b9f20f..9f131ec4635 100644
--- a/src/mame/drivers/sfcbox.cpp
+++ b/src/mame/drivers/sfcbox.cpp
@@ -155,6 +155,10 @@ public:
DECLARE_READ8_MEMBER(spc_ram_100_r);
DECLARE_WRITE8_MEMBER(spc_ram_100_w);
void sfcbox(machine_config &config);
+ void sfcbox_io(address_map &map);
+ void sfcbox_map(address_map &map);
+ void snes_map(address_map &map);
+ void spc_mem(address_map &map);
};
uint32_t sfcbox_state::screen_update( screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect )
@@ -163,7 +167,7 @@ uint32_t sfcbox_state::screen_update( screen_device &screen, bitmap_rgb32 &bitma
return 0;
}
-static ADDRESS_MAP_START( snes_map, AS_PROGRAM, 8, sfcbox_state )
+ADDRESS_MAP_START(sfcbox_state::snes_map)
AM_RANGE(0x000000, 0x7dffff) AM_READWRITE(snes_r_bank1, snes_w_bank1)
AM_RANGE(0x7e0000, 0x7fffff) AM_RAM /* 8KB Low RAM, 24KB High RAM, 96KB Expanded RAM */
AM_RANGE(0x800000, 0xffffff) AM_READWRITE(snes_r_bank2, snes_w_bank2) /* Mirror and ROM */
@@ -179,13 +183,13 @@ WRITE8_MEMBER(sfcbox_state::spc_ram_100_w)
m_spc700->spc_ram_w(space, offset + 0x100, data);
}
-static ADDRESS_MAP_START( spc_mem, AS_PROGRAM, 8, sfcbox_state )
+ADDRESS_MAP_START(sfcbox_state::spc_mem)
AM_RANGE(0x0000, 0x00ef) AM_DEVREADWRITE("spc700", snes_sound_device, spc_ram_r, spc_ram_w) /* lower 32k ram */
AM_RANGE(0x00f0, 0x00ff) AM_DEVREADWRITE("spc700", snes_sound_device, spc_io_r, spc_io_w) /* spc io */
AM_RANGE(0x0100, 0xffff) AM_READWRITE(spc_ram_100_r, spc_ram_100_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sfcbox_map, AS_PROGRAM, 8, sfcbox_state )
+ADDRESS_MAP_START(sfcbox_state::sfcbox_map)
AM_RANGE(0x00000, 0x0ffff) AM_ROM AM_REGION("krom", 0)
AM_RANGE(0x20000, 0x27fff) AM_RAM
AM_RANGE(0x40000, 0x47fff) AM_ROM AM_REGION("grom1", 0)
@@ -279,7 +283,7 @@ WRITE8_MEMBER( sfcbox_state::snes_map_1_w )
printf("%s SRAM Size\n",sram_size[((data & 0xc0) >> 6)]);
}
-static ADDRESS_MAP_START( sfcbox_io, AS_IO, 8, sfcbox_state )
+ADDRESS_MAP_START(sfcbox_state::sfcbox_io)
AM_RANGE(0x00, 0x3f) AM_RAM // internal i/o
AM_RANGE(0x0b, 0x0b) AM_DEVWRITE("mb90082",mb90082_device,write)
AM_RANGE(0x80, 0x80) AM_READ_PORT("KEY") AM_WRITE(port_80_w) // Keyswitch and Button Inputs / SNES Transfer and Misc Output
diff --git a/src/mame/drivers/sfkick.cpp b/src/mame/drivers/sfkick.cpp
index 35a9ed43644..1c795b255fc 100644
--- a/src/mame/drivers/sfkick.cpp
+++ b/src/mame/drivers/sfkick.cpp
@@ -226,6 +226,10 @@ public:
required_ioport m_dsw1;
required_ioport m_dsw2;
void sfkick(machine_config &config);
+ void sfkick_io_map(address_map &map);
+ void sfkick_map(address_map &map);
+ void sfkick_sound_io_map(address_map &map);
+ void sfkick_sound_map(address_map &map);
};
@@ -456,7 +460,7 @@ WRITE8_MEMBER(sfkick_state::page3_w)
-static ADDRESS_MAP_START( sfkick_map, AS_PROGRAM, 8, sfkick_state )
+ADDRESS_MAP_START(sfkick_state::sfkick_map)
AM_RANGE( 0x0000, 0x1fff) AM_ROMBANK("bank1")
AM_RANGE( 0x2000, 0x3fff) AM_ROMBANK("bank2")
AM_RANGE( 0x4000, 0x5fff) AM_ROMBANK("bank3")
@@ -471,7 +475,7 @@ static ADDRESS_MAP_START( sfkick_map, AS_PROGRAM, 8, sfkick_state )
AM_RANGE( 0xc000, 0xffff) AM_WRITE(page3_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sfkick_io_map, AS_IO, 8, sfkick_state )
+ADDRESS_MAP_START(sfkick_state::sfkick_io_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0xa0, 0xa7) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
@@ -480,12 +484,12 @@ static ADDRESS_MAP_START( sfkick_io_map, AS_IO, 8, sfkick_state )
AM_RANGE( 0xb4, 0xb5) AM_RAM /* loopback ? req by sfkicka (MSX Bios leftover)*/
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sfkick_sound_map, AS_PROGRAM, 8, sfkick_state )
+ADDRESS_MAP_START(sfkick_state::sfkick_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sfkick_sound_io_map, AS_IO, 8, sfkick_state )
+ADDRESS_MAP_START(sfkick_state::sfkick_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0x04, 0x05) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
diff --git a/src/mame/drivers/sg1000.cpp b/src/mame/drivers/sg1000.cpp
index 428d9e4ca89..70469438b20 100644
--- a/src/mame/drivers/sg1000.cpp
+++ b/src/mame/drivers/sg1000.cpp
@@ -123,7 +123,7 @@ WRITE8_MEMBER( sg1000_state::peripheral_w )
ADDRESS_MAP( sg1000_map )
-------------------------------------------------*/
-static ADDRESS_MAP_START( sg1000_map, AS_PROGRAM, 8, sg1000_state )
+ADDRESS_MAP_START(sg1000_state::sg1000_map)
AM_RANGE(0x0000, 0xbfff) AM_DEVREADWRITE(CARTSLOT_TAG, sega8_cart_slot_device, read_cart, write_cart)
AM_RANGE(0xc000, 0xc3ff) AM_MIRROR(0x3c00) AM_RAM
ADDRESS_MAP_END
@@ -132,7 +132,7 @@ ADDRESS_MAP_END
ADDRESS_MAP( sg1000_io_map )
-------------------------------------------------*/
-static ADDRESS_MAP_START( sg1000_io_map, AS_IO, 8, sg1000_state )
+ADDRESS_MAP_START(sg1000_state::sg1000_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x40, 0x40) AM_MIRROR(0x3f) AM_DEVWRITE(SN76489AN_TAG, sn76489a_device, write)
AM_RANGE(0x80, 0x80) AM_MIRROR(0x3e) AM_DEVREADWRITE(TMS9918A_TAG, tms9918a_device, vram_read, vram_write)
@@ -144,7 +144,7 @@ ADDRESS_MAP_END
ADDRESS_MAP( omv_map )
-------------------------------------------------*/
-static ADDRESS_MAP_START( omv_map, AS_PROGRAM, 8, sg1000_state )
+ADDRESS_MAP_START(sg1000_state::omv_map)
AM_RANGE(0x0000, 0xbfff) AM_READWRITE(omv_r, omv_w)
AM_RANGE(0xc000, 0xc7ff) AM_MIRROR(0x3800) AM_RAM
ADDRESS_MAP_END
@@ -153,7 +153,7 @@ ADDRESS_MAP_END
ADDRESS_MAP( omv_io_map )
-------------------------------------------------*/
-static ADDRESS_MAP_START( omv_io_map, AS_IO, 8, sg1000_state )
+ADDRESS_MAP_START(sg1000_state::omv_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x40, 0x40) AM_MIRROR(0x3f) AM_DEVWRITE(SN76489AN_TAG, sn76489a_device, write)
AM_RANGE(0x80, 0x80) AM_MIRROR(0x3e) AM_DEVREADWRITE(TMS9918A_TAG, tms9918a_device, vram_read, vram_write)
@@ -170,7 +170,7 @@ ADDRESS_MAP_END
ADDRESS_MAP( sc3000_map )
-------------------------------------------------*/
-static ADDRESS_MAP_START( sc3000_map, AS_PROGRAM, 8, sg1000_state )
+ADDRESS_MAP_START(sg1000_state::sc3000_map)
AM_RANGE(0x0000, 0xbfff) AM_DEVREADWRITE(CARTSLOT_TAG, sega8_cart_slot_device, read_cart, write_cart)
AM_RANGE(0xc000, 0xc7ff) AM_MIRROR(0x3800) AM_RAM
ADDRESS_MAP_END
@@ -179,7 +179,7 @@ ADDRESS_MAP_END
ADDRESS_MAP( sc3000_io_map )
-------------------------------------------------*/
-static ADDRESS_MAP_START( sc3000_io_map, AS_IO, 8, sg1000_state )
+ADDRESS_MAP_START(sg1000_state::sc3000_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x7f, 0x7f) AM_DEVWRITE(SN76489AN_TAG, sn76489a_device, write)
AM_RANGE(0xbe, 0xbe) AM_DEVREADWRITE(TMS9918A_TAG, tms9918a_device, vram_read, vram_write)
@@ -202,7 +202,7 @@ ADDRESS_MAP_END
ADDRESS_MAP( sf7000_map )
-------------------------------------------------*/
-static ADDRESS_MAP_START( sf7000_map, AS_PROGRAM, 8, sf7000_state )
+ADDRESS_MAP_START(sf7000_state::sf7000_map)
AM_RANGE(0x0000, 0x3fff) AM_READ_BANK("bank1") AM_WRITE_BANK("bank2")
AM_RANGE(0x4000, 0xffff) AM_RAM
ADDRESS_MAP_END
@@ -211,7 +211,7 @@ ADDRESS_MAP_END
ADDRESS_MAP( sf7000_io_map )
-------------------------------------------------*/
-static ADDRESS_MAP_START( sf7000_io_map, AS_IO, 8, sf7000_state )
+ADDRESS_MAP_START(sf7000_state::sf7000_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x7f, 0x7f) AM_DEVWRITE(SN76489AN_TAG, sn76489a_device, write)
AM_RANGE(0xbe, 0xbe) AM_DEVREADWRITE(TMS9918A_TAG, tms9918a_device, vram_read, vram_write)
diff --git a/src/mame/drivers/sg1000a.cpp b/src/mame/drivers/sg1000a.cpp
index de0384df255..9bf178a3a8f 100644
--- a/src/mame/drivers/sg1000a.cpp
+++ b/src/mame/drivers/sg1000a.cpp
@@ -293,6 +293,10 @@ public:
void sderby2s(machine_config &config);
void sg1000ax(machine_config &config);
void sg1000a(machine_config &config);
+ void decrypted_opcodes_map(address_map &map);
+ void io_map(address_map &map);
+ void program_map(address_map &map);
+ void sderby2_io_map(address_map &map);
};
@@ -302,17 +306,17 @@ public:
*
*************************************/
-static ADDRESS_MAP_START( program_map, AS_PROGRAM, 8, sg1000a_state )
+ADDRESS_MAP_START(sg1000a_state::program_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc3ff) AM_RAM AM_MIRROR(0x400)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, sg1000a_state )
+ADDRESS_MAP_START(sg1000a_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_SHARE("decrypted_opcodes")
AM_RANGE(0x8000, 0xbfff) AM_ROM AM_REGION("maincpu", 0x8000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, sg1000a_state )
+ADDRESS_MAP_START(sg1000a_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x7f, 0x7f) AM_DEVWRITE("snsnd", sn76489a_device, write)
AM_RANGE(0xbe, 0xbe) AM_DEVREADWRITE("tms9928a", tms9928a_device, vram_read, vram_write)
@@ -320,7 +324,7 @@ static ADDRESS_MAP_START( io_map, AS_IO, 8, sg1000a_state )
AM_RANGE(0xdc, 0xdf) AM_DEVREADWRITE("ppi8255", i8255_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sderby2_io_map, AS_IO, 8, sg1000a_state )
+ADDRESS_MAP_START(sg1000a_state::sderby2_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x7f, 0x7f) AM_DEVWRITE("snsnd", sn76489a_device, write)
AM_RANGE(0xbe, 0xbe) AM_DEVREADWRITE("tms9928a", tms9928a_device, vram_read, vram_write)
@@ -488,7 +492,7 @@ MACHINE_CONFIG_DERIVED(sg1000a_state::sg1000ax, sg1000a)
MCFG_CPU_REPLACE("maincpu", SEGA_315_5033, XTAL(3'579'545))
MCFG_CPU_PROGRAM_MAP(program_map)
MCFG_CPU_IO_MAP(io_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/sh4robot.cpp b/src/mame/drivers/sh4robot.cpp
index e5c6ed0ece0..8d3776e4f8a 100644
--- a/src/mame/drivers/sh4robot.cpp
+++ b/src/mame/drivers/sh4robot.cpp
@@ -42,12 +42,14 @@ public:
{ }
void sh4robot(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 64, sh4robot_state )
+ADDRESS_MAP_START(sh4robot_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000000, 0x00000fff) AM_ROM
AM_RANGE(0x08000000, 0x08ffffff) AM_RAM // SDRAM 1
@@ -55,7 +57,7 @@ static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 64, sh4robot_state )
AM_RANGE(0xa0000000, 0xa0000fff) AM_ROM AM_REGION("maincpu", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 64, sh4robot_state )
+ADDRESS_MAP_START(sh4robot_state::io_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_END
diff --git a/src/mame/drivers/shadfrce.cpp b/src/mame/drivers/shadfrce.cpp
index 9880c8ced46..39be5021952 100644
--- a/src/mame/drivers/shadfrce.cpp
+++ b/src/mame/drivers/shadfrce.cpp
@@ -349,7 +349,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(shadfrce_state::scanline)
/* Memory Maps */
-static ADDRESS_MAP_START( shadfrce_map, AS_PROGRAM, 16, shadfrce_state )
+ADDRESS_MAP_START(shadfrce_state::shadfrce_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(bg0videoram_w) AM_SHARE("bg0videoram") /* video */
AM_RANGE(0x101000, 0x101fff) AM_RAM
@@ -385,7 +385,7 @@ WRITE8_MEMBER(shadfrce_state::oki_bankswitch_w)
m_oki->set_rom_bank(data & 1);
}
-static ADDRESS_MAP_START( shadfrce_sound_map, AS_PROGRAM, 8, shadfrce_state )
+ADDRESS_MAP_START(shadfrce_state::shadfrce_sound_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc801) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
diff --git a/src/mame/drivers/shangha3.cpp b/src/mame/drivers/shangha3.cpp
index a6f0a29ddba..05a4d7f998d 100644
--- a/src/mame/drivers/shangha3.cpp
+++ b/src/mame/drivers/shangha3.cpp
@@ -115,7 +115,7 @@ WRITE16_MEMBER(shangha3_state::irq_ack_w)
m_maincpu->set_input_line(4, CLEAR_LINE);
}
-static ADDRESS_MAP_START( shangha3_map, AS_PROGRAM, 16, shangha3_state )
+ADDRESS_MAP_START(shangha3_state::shangha3_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x100fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x200000, 0x200001) AM_READ_PORT("INPUTS")
@@ -133,7 +133,7 @@ static ADDRESS_MAP_START( shangha3_map, AS_PROGRAM, 16, shangha3_state )
AM_RANGE(0x360000, 0x360001) AM_WRITE(gfxlist_addr_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( heberpop_map, AS_PROGRAM, 16, shangha3_state )
+ADDRESS_MAP_START(shangha3_state::heberpop_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x100fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x200000, 0x200001) AM_READ_PORT("INPUTS")
@@ -149,7 +149,7 @@ static ADDRESS_MAP_START( heberpop_map, AS_PROGRAM, 16, shangha3_state )
AM_RANGE(0x800000, 0xb7ffff) AM_ROM AM_REGION("gfx1", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( blocken_map, AS_PROGRAM, 16, shangha3_state )
+ADDRESS_MAP_START(shangha3_state::blocken_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_READ_PORT("INPUTS")
AM_RANGE(0x100002, 0x100003) AM_READ_PORT("SYSTEM") AM_WRITENOP // w -> unknown purpose
@@ -166,12 +166,12 @@ static ADDRESS_MAP_START( blocken_map, AS_PROGRAM, 16, shangha3_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( heberpop_sound_map, AS_PROGRAM, 8, shangha3_state )
+ADDRESS_MAP_START(shangha3_state::heberpop_sound_map)
AM_RANGE(0x0000, 0xf7ff) AM_ROM
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( heberpop_sound_io_map, AS_IO, 8, shangha3_state )
+ADDRESS_MAP_START(shangha3_state::heberpop_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ymsnd", ym3438_device, read, write)
AM_RANGE(0x80, 0x80) AM_DEVREADWRITE("oki", okim6295_device, read, write)
diff --git a/src/mame/drivers/shanghai.cpp b/src/mame/drivers/shanghai.cpp
index 2306b29c458..f0b466bb8cb 100644
--- a/src/mame/drivers/shanghai.cpp
+++ b/src/mame/drivers/shanghai.cpp
@@ -46,6 +46,13 @@ public:
void shanghai(machine_config &config);
void shangha2(machine_config &config);
void kothello(machine_config &config);
+ void hd63484_map(address_map &map);
+ void kothello_map(address_map &map);
+ void kothello_sound_map(address_map &map);
+ void shangha2_map(address_map &map);
+ void shangha2_portmap(address_map &map);
+ void shanghai_map(address_map &map);
+ void shanghai_portmap(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<screen_device> m_screen;
@@ -93,20 +100,20 @@ WRITE8_MEMBER(shanghai_state::shanghai_coin_w)
machine().bookkeeping().coin_counter_w(1,data & 2);
}
-static ADDRESS_MAP_START( shanghai_map, AS_PROGRAM, 16, shanghai_state )
+ADDRESS_MAP_START(shanghai_state::shanghai_map)
AM_RANGE(0x00000, 0x03fff) AM_RAM
AM_RANGE(0x80000, 0xfffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( shangha2_map, AS_PROGRAM, 16, shanghai_state )
+ADDRESS_MAP_START(shanghai_state::shangha2_map)
AM_RANGE(0x00000, 0x03fff) AM_RAM
AM_RANGE(0x04000, 0x041ff) AM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x80000, 0xfffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( shanghai_portmap, AS_IO, 16, shanghai_state )
+ADDRESS_MAP_START(shanghai_state::shanghai_portmap)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("hd63484", hd63484_device, status16_r, address16_w)
AM_RANGE(0x02, 0x03) AM_DEVREADWRITE("hd63484", hd63484_device, data16_r, data16_w)
AM_RANGE(0x20, 0x23) AM_DEVREADWRITE8("ymsnd", ym2203_device, read, write, 0x00ff)
@@ -117,7 +124,7 @@ static ADDRESS_MAP_START( shanghai_portmap, AS_IO, 16, shanghai_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( shangha2_portmap, AS_IO, 16, shanghai_state )
+ADDRESS_MAP_START(shanghai_state::shangha2_portmap)
AM_RANGE(0x00, 0x01) AM_READ_PORT("P1")
AM_RANGE(0x10, 0x11) AM_READ_PORT("P2")
AM_RANGE(0x20, 0x21) AM_READ_PORT("SYSTEM")
@@ -127,7 +134,7 @@ static ADDRESS_MAP_START( shangha2_portmap, AS_IO, 16, shanghai_state )
AM_RANGE(0x50, 0x51) AM_WRITE8(shanghai_coin_w,0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kothello_map, AS_PROGRAM, 16, shanghai_state )
+ADDRESS_MAP_START(shanghai_state::kothello_map)
AM_RANGE(0x00000, 0x07fff) AM_RAM
AM_RANGE(0x08010, 0x08011) AM_DEVREADWRITE("hd63484", hd63484_device, status16_r, address16_w)
AM_RANGE(0x08012, 0x08013) AM_DEVREADWRITE("hd63484", hd63484_device, data16_r, data16_w)
@@ -140,7 +147,7 @@ static ADDRESS_MAP_START( kothello_map, AS_PROGRAM, 16, shanghai_state )
AM_RANGE(0x80000, 0xfffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kothello_sound_map, AS_PROGRAM, 8, shanghai_state )
+ADDRESS_MAP_START(shanghai_state::kothello_sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x27ff) AM_RAM
AM_RANGE(0x4000, 0x4000) AM_DEVWRITE("seibu_sound", seibu_sound_device, pending_w)
@@ -377,7 +384,7 @@ static INPUT_PORTS_START( shangha2 )
PORT_DIPSETTING( 0x80, DEF_STR( 1C_4C ) )
INPUT_PORTS_END
-static ADDRESS_MAP_START( hd63484_map, 0, 16, shanghai_state )
+ADDRESS_MAP_START(shanghai_state::hd63484_map)
AM_RANGE(0x00000, 0x3ffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/shangkid.cpp b/src/mame/drivers/shangkid.cpp
index d6a9d83a4e7..192fbff73eb 100644
--- a/src/mame/drivers/shangkid.cpp
+++ b/src/mame/drivers/shangkid.cpp
@@ -276,7 +276,7 @@ GFXDECODE_END
/***************************************************************************************/
-static ADDRESS_MAP_START( chinhero_main_map, AS_PROGRAM, 8, shangkid_state )
+ADDRESS_MAP_START(shangkid_state::chinhero_main_map)
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xa000, 0xa000) AM_WRITE(nmiq_1_w)
AM_RANGE(0xa800, 0xa800) AM_WRITE(nmiq_2_w)
@@ -291,7 +291,7 @@ static ADDRESS_MAP_START( chinhero_main_map, AS_PROGRAM, 8, shangkid_state )
AM_RANGE(0xfe00, 0xffff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( shangkid_main_map, AS_PROGRAM, 8, shangkid_state )
+ADDRESS_MAP_START(shangkid_state::shangkid_main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("bank1")
AM_RANGE(0xa000, 0xa000) AM_WRITE(nmiq_1_w)
@@ -309,7 +309,7 @@ ADDRESS_MAP_END
/***************************************************************************************/
-static ADDRESS_MAP_START( chinhero_bbx_map, AS_PROGRAM, 8, shangkid_state )
+ADDRESS_MAP_START(shangkid_state::chinhero_bbx_map)
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xa000, 0xa000) AM_WRITE(nmiq_1_w)
AM_RANGE(0xa800, 0xa800) AM_WRITE(nmiq_2_w)
@@ -323,7 +323,7 @@ static ADDRESS_MAP_START( chinhero_bbx_map, AS_PROGRAM, 8, shangkid_state )
AM_RANGE(0xfe00, 0xffff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( shangkid_bbx_map, AS_PROGRAM, 8, shangkid_state )
+ADDRESS_MAP_START(shangkid_state::shangkid_bbx_map)
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xa000, 0xa000) AM_WRITE(nmiq_1_w)
AM_RANGE(0xa800, 0xa800) AM_WRITE(nmiq_2_w)
@@ -337,29 +337,29 @@ static ADDRESS_MAP_START( shangkid_bbx_map, AS_PROGRAM, 8, shangkid_state )
AM_RANGE(0xfe00, 0xffff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( chinhero_bbx_portmap, AS_IO, 8, shangkid_state )
+ADDRESS_MAP_START(shangkid_state::chinhero_bbx_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( shangkid_bbx_portmap, AS_IO, 8, shangkid_state )
+ADDRESS_MAP_START(shangkid_state::shangkid_bbx_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
ADDRESS_MAP_END
/***************************************************************************************/
-static ADDRESS_MAP_START( chinhero_sound_map, AS_PROGRAM, 8, shangkid_state )
+ADDRESS_MAP_START(shangkid_state::chinhero_sound_map)
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_MIRROR(0x0800)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( shangkid_sound_map, AS_PROGRAM, 8, shangkid_state )
+ADDRESS_MAP_START(shangkid_state::shangkid_sound_map)
AM_RANGE(0x0000, 0xdfff) AM_ROMBANK("bank2") /* sample player writes to ROM area */
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_MIRROR(0x0800)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, shangkid_state )
+ADDRESS_MAP_START(shangkid_state::sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(soundlatch_r) AM_DEVWRITE("dac", dac_byte_interface, write)
ADDRESS_MAP_END
@@ -452,7 +452,7 @@ MACHINE_CONFIG_END
-static ADDRESS_MAP_START( dynamski_map, AS_PROGRAM, 8, shangkid_state )
+ADDRESS_MAP_START(shangkid_state::dynamski_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("videoram") /* tilemap */
AM_RANGE(0xc800, 0xcbff) AM_RAM
@@ -466,7 +466,7 @@ static ADDRESS_MAP_START( dynamski_map, AS_PROGRAM, 8, shangkid_state )
AM_RANGE(0xf000, 0xf7ff) AM_RAM /* work ram */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dynamski_portmap, AS_IO, 8, shangkid_state )
+ADDRESS_MAP_START(shangkid_state::dynamski_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
/* ports are reversed */
AM_RANGE(0x00, 0x01) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
diff --git a/src/mame/drivers/shaolins.cpp b/src/mame/drivers/shaolins.cpp
index cc181492913..cd8354845ff 100644
--- a/src/mame/drivers/shaolins.cpp
+++ b/src/mame/drivers/shaolins.cpp
@@ -32,7 +32,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(shaolins_state::interrupt)
-static ADDRESS_MAP_START( shaolins_map, AS_PROGRAM, 8, shaolins_state )
+ADDRESS_MAP_START(shaolins_state::shaolins_map)
AM_RANGE(0x0000, 0x0000) AM_WRITE(nmi_w) /* bit 0 = flip screen, bit 1 = nmi enable, bit 2 = ? */
/* bit 3, bit 4 = coin counters */
AM_RANGE(0x0100, 0x0100) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
diff --git a/src/mame/drivers/shisen.cpp b/src/mame/drivers/shisen.cpp
index 42b8a700102..cfadf844f6c 100644
--- a/src/mame/drivers/shisen.cpp
+++ b/src/mame/drivers/shisen.cpp
@@ -47,7 +47,7 @@ WRITE8_MEMBER(shisen_state::coin_w)
-static ADDRESS_MAP_START( shisen_map, AS_PROGRAM, 8, shisen_state )
+ADDRESS_MAP_START(shisen_state::shisen_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc800, 0xcaff) AM_RAM_WRITE(paletteram_w) AM_SHARE("paletteram")
@@ -55,7 +55,7 @@ static ADDRESS_MAP_START( shisen_map, AS_PROGRAM, 8, shisen_state )
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( shisen_io_map, AS_IO, 8, shisen_state )
+ADDRESS_MAP_START(shisen_state::shisen_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READWRITE(dsw1_r, coin_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("DSW2") AM_DEVWRITE("m72", m72_audio_device, sound_command_w)
@@ -64,12 +64,12 @@ static ADDRESS_MAP_START( shisen_io_map, AS_IO, 8, shisen_state )
AM_RANGE(0x04, 0x04) AM_READ_PORT("COIN")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( shisen_sound_map, AS_PROGRAM, 8, shisen_state )
+ADDRESS_MAP_START(shisen_state::shisen_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0xfd00, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( shisen_sound_io_map, AS_IO, 8, shisen_state )
+ADDRESS_MAP_START(shisen_state::shisen_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0x80, 0x80) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/shootaway2.cpp b/src/mame/drivers/shootaway2.cpp
index ba30b85e636..dfde3bbb7b8 100644
--- a/src/mame/drivers/shootaway2.cpp
+++ b/src/mame/drivers/shootaway2.cpp
@@ -37,6 +37,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void m74(machine_config &config);
+ void c68_map(address_map &map);
+ void sub_map(address_map &map);
protected:
// devices
@@ -64,11 +66,11 @@ uint32_t m74_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, c
return 0;
}
-static ADDRESS_MAP_START( c68_map, AS_PROGRAM, 8, m74_state )
+ADDRESS_MAP_START(m74_state::c68_map)
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("maincpu", 0x0000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 8, m74_state )
+ADDRESS_MAP_START(m74_state::sub_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("subcpu", 0)
AM_RANGE(0x8000, 0xffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/shootout.cpp b/src/mame/drivers/shootout.cpp
index 621acb75eb9..6d52cc99338 100644
--- a/src/mame/drivers/shootout.cpp
+++ b/src/mame/drivers/shootout.cpp
@@ -103,7 +103,7 @@ WRITE8_MEMBER(shootout_state::coincounter_w)
/*******************************************************************************/
-static ADDRESS_MAP_START( shootout_map, AS_PROGRAM, 8, shootout_state )
+ADDRESS_MAP_START(shootout_state::shootout_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x1000) AM_READ_PORT("DSW1") AM_WRITE(bankswitch_w)
AM_RANGE(0x1001, 0x1001) AM_READ_PORT("P1") AM_WRITE(flipscreen_w)
@@ -117,7 +117,7 @@ static ADDRESS_MAP_START( shootout_map, AS_PROGRAM, 8, shootout_state )
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("maincpu", 0x0000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( shootouj_map, AS_PROGRAM, 8, shootout_state )
+ADDRESS_MAP_START(shootout_state::shootouj_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x1000) AM_READ_PORT("DSW1")
AM_RANGE(0x1001, 0x1001) AM_READ_PORT("P1")
@@ -136,7 +136,7 @@ ADDRESS_MAP_END
/*******************************************************************************/
/* same as Tryout */
-static ADDRESS_MAP_START( shootout_sound_map, AS_PROGRAM, 8, shootout_state )
+ADDRESS_MAP_START(shootout_state::shootout_sound_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x4000, 0x4001) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
AM_RANGE(0xa000, 0xa000) AM_READ(sound_cpu_command_r)
diff --git a/src/mame/drivers/shougi.cpp b/src/mame/drivers/shougi.cpp
index 3bc4cd21c21..6fdfc7d6f09 100644
--- a/src/mame/drivers/shougi.cpp
+++ b/src/mame/drivers/shougi.cpp
@@ -119,6 +119,9 @@ public:
virtual void machine_start() override;
void shougi(machine_config &config);
+ void main_map(address_map &map);
+ void readport_sub(address_map &map);
+ void sub_map(address_map &map);
};
@@ -241,7 +244,7 @@ WRITE_LINE_MEMBER(shougi_state::nmi_enable_w)
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, shougi_state )
+ADDRESS_MAP_START(shougi_state::main_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM /* 2114 x 2 (0x400 x 4bit each) */
AM_RANGE(0x4800, 0x480f) AM_DEVWRITE("mainlatch", ls259_device, write_a3)
@@ -267,12 +270,12 @@ READ8_MEMBER(shougi_state::semaphore_r)
}
-static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 8, shougi_state )
+ADDRESS_MAP_START(shougi_state::sub_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x63ff) AM_RAM AM_SHARE("sharedram") /* 2114 x 2 (0x400 x 4bit each) */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( readport_sub, AS_IO, 8, shougi_state )
+ADDRESS_MAP_START(shougi_state::readport_sub)
ADDRESS_MAP_GLOBAL_MASK(0x00ff)
AM_RANGE(0x00, 0x00) AM_READ(semaphore_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/shtzone.cpp b/src/mame/drivers/shtzone.cpp
index 1f1a197c420..a1a4ac09aa9 100644
--- a/src/mame/drivers/shtzone.cpp
+++ b/src/mame/drivers/shtzone.cpp
@@ -63,9 +63,10 @@ public:
virtual void video_start() override;
uint32_t screen_update_shtzone(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void shtzone(machine_config &config);
+ void shtzone_map(address_map &map);
};
-static ADDRESS_MAP_START( shtzone_map, AS_PROGRAM, 8, shtzone_state )
+ADDRESS_MAP_START(shtzone_state::shtzone_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x5fff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/shuuz.cpp b/src/mame/drivers/shuuz.cpp
index a3709bff147..eec725c9243 100644
--- a/src/mame/drivers/shuuz.cpp
+++ b/src/mame/drivers/shuuz.cpp
@@ -110,7 +110,7 @@ READ16_MEMBER(shuuz_state::special_port0_r)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, shuuz_state )
+ADDRESS_MAP_START(shuuz_state::main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x100fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
AM_RANGE(0x101000, 0x101fff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
diff --git a/src/mame/drivers/sidearms.cpp b/src/mame/drivers/sidearms.cpp
index 39f9c3a73de..76d4eb8fcae 100644
--- a/src/mame/drivers/sidearms.cpp
+++ b/src/mame/drivers/sidearms.cpp
@@ -77,7 +77,7 @@ READ8_MEMBER(sidearms_state::turtship_ports_r)
}
-static ADDRESS_MAP_START( sidearms_map, AS_PROGRAM, 8, sidearms_state )
+ADDRESS_MAP_START(sidearms_state::sidearms_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc3ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
@@ -98,7 +98,7 @@ static ADDRESS_MAP_START( sidearms_map, AS_PROGRAM, 8, sidearms_state )
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( turtship_map, AS_PROGRAM, 8, sidearms_state )
+ADDRESS_MAP_START(sidearms_state::turtship_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xcfff) AM_RAM
@@ -119,7 +119,7 @@ static ADDRESS_MAP_START( turtship_map, AS_PROGRAM, 8, sidearms_state )
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(colorram_w) AM_SHARE("colorram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sidearms_sound_map, AS_PROGRAM, 8, sidearms_state )
+ADDRESS_MAP_START(sidearms_state::sidearms_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xd000, 0xd000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -142,7 +142,7 @@ WRITE8_MEMBER(sidearms_state::whizz_bankswitch_w)
membank("bank1")->set_entry(bank);
}
-static ADDRESS_MAP_START( whizz_map, AS_PROGRAM, 8, sidearms_state )
+ADDRESS_MAP_START(sidearms_state::whizz_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc3ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
@@ -166,12 +166,12 @@ static ADDRESS_MAP_START( whizz_map, AS_PROGRAM, 8, sidearms_state )
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( whizz_sound_map, AS_PROGRAM, 8, sidearms_state )
+ADDRESS_MAP_START(sidearms_state::whizz_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( whizz_io_map, AS_IO, 8, sidearms_state )
+ADDRESS_MAP_START(sidearms_state::whizz_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0x40, 0x40) AM_WRITENOP
diff --git a/src/mame/drivers/sidepckt.cpp b/src/mame/drivers/sidepckt.cpp
index 763356f34ba..d3e3d141288 100644
--- a/src/mame/drivers/sidepckt.cpp
+++ b/src/mame/drivers/sidepckt.cpp
@@ -197,7 +197,7 @@ WRITE8_MEMBER(sidepckt_state::i8751_w)
/******************************************************************************/
-static ADDRESS_MAP_START( sidepckt_map, AS_PROGRAM, 8, sidepckt_state )
+ADDRESS_MAP_START(sidepckt_state::sidepckt_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x13ff) AM_MIRROR(0x400) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
AM_RANGE(0x1800, 0x1bff) AM_MIRROR(0x400) AM_RAM_WRITE(colorram_w) AM_SHARE("colorram")
@@ -214,14 +214,14 @@ static ADDRESS_MAP_START( sidepckt_map, AS_PROGRAM, 8, sidepckt_state )
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sidepcktb_map, AS_PROGRAM, 8, sidepckt_state )
+ADDRESS_MAP_START(sidepckt_state::sidepcktb_map)
AM_IMPORT_FROM( sidepckt_map )
AM_RANGE(0x3014, 0x3014) AM_READNOP
AM_RANGE(0x3018, 0x3018) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, sidepckt_state )
+ADDRESS_MAP_START(sidepckt_state::sound_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x1001) AM_DEVWRITE("ym1", ym2203_device, write)
AM_RANGE(0x2000, 0x2001) AM_DEVWRITE("ym2", ym3526_device, write)
diff --git a/src/mame/drivers/sigmab52.cpp b/src/mame/drivers/sigmab52.cpp
index 7ff3c23d5c1..6b02a534559 100644
--- a/src/mame/drivers/sigmab52.cpp
+++ b/src/mame/drivers/sigmab52.cpp
@@ -178,6 +178,9 @@ public:
uint64_t m_hopper_start_cycles;
int m_audiocpu_cmd_irq;
void jwildb52(machine_config &config);
+ void jwildb52_hd63484_map(address_map &map);
+ void jwildb52_map(address_map &map);
+ void sound_prog_map(address_map &map);
};
@@ -306,7 +309,7 @@ WRITE8_MEMBER(sigmab52_state::palette_bank_w)
* Memory Maps *
*************************/
-static ADDRESS_MAP_START( jwildb52_map, AS_PROGRAM, 8, sigmab52_state )
+ADDRESS_MAP_START(sigmab52_state::jwildb52_map)
AM_RANGE(0x0000, 0x3fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
@@ -357,7 +360,7 @@ ADDRESS_MAP_END
*/
-static ADDRESS_MAP_START( sound_prog_map, AS_PROGRAM, 8, sigmab52_state )
+ADDRESS_MAP_START(sigmab52_state::sound_prog_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x6020, 0x6027) AM_DEVREADWRITE("6840ptm_2", ptm6840_device, read, write)
AM_RANGE(0x6030, 0x6030) AM_WRITE(audiocpu_irq_ack_w)
@@ -371,7 +374,7 @@ ADDRESS_MAP_END
*/
-static ADDRESS_MAP_START( jwildb52_hd63484_map, 0, 16, sigmab52_state )
+ADDRESS_MAP_START(sigmab52_state::jwildb52_hd63484_map)
AM_RANGE(0x00000, 0x1ffff) AM_RAM
AM_RANGE(0x20000, 0x3ffff) AM_ROM AM_REGION("gfx1", 0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/sigmab98.cpp b/src/mame/drivers/sigmab98.cpp
index 65a6430fe18..a4b1faad03f 100644
--- a/src/mame/drivers/sigmab98.cpp
+++ b/src/mame/drivers/sigmab98.cpp
@@ -302,6 +302,22 @@ public:
void animalc(machine_config &config);
void sammymdl(machine_config &config);
void itazuram(machine_config &config);
+ void animalc_io(address_map &map);
+ void animalc_map(address_map &map);
+ void dashhero_io_map(address_map &map);
+ void dodghero_io_map(address_map &map);
+ void dodghero_mem_map(address_map &map);
+ void gegege_io_map(address_map &map);
+ void gegege_mem_map(address_map &map);
+ void gocowboy_io(address_map &map);
+ void gocowboy_map(address_map &map);
+ void haekaka_io(address_map &map);
+ void haekaka_map(address_map &map);
+ void itazuram_io(address_map &map);
+ void itazuram_map(address_map &map);
+ void pyenaget_io(address_map &map);
+ void tdoboon_io(address_map &map);
+ void tdoboon_map(address_map &map);
};
@@ -337,6 +353,8 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(lufykzku_irq);
void lufykzku(machine_config &config);
+ void lufykzku_io_map(address_map &map);
+ void lufykzku_mem_map(address_map &map);
};
@@ -782,7 +800,7 @@ READ8_MEMBER(sigmab98_state::dodghero_regs2_r)
}
}
-static ADDRESS_MAP_START( dodghero_mem_map, AS_PROGRAM, 8, sigmab98_state )
+ADDRESS_MAP_START(sigmab98_state::dodghero_mem_map)
AM_RANGE( 0x0000, 0x7fff ) AM_ROM
AM_RANGE( 0x8000, 0xa7ff ) AM_ROMBANK("rombank")
@@ -803,7 +821,7 @@ static ADDRESS_MAP_START( dodghero_mem_map, AS_PROGRAM, 8, sigmab98_state )
AM_RANGE( 0xf000, 0xffff ) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dodghero_io_map, AS_IO, 8, sigmab98_state )
+ADDRESS_MAP_START(sigmab98_state::dodghero_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x00, 0x01 ) AM_DEVREADWRITE("ymz", ymz280b_device, read, write )
@@ -978,7 +996,7 @@ WRITE8_MEMBER(sigmab98_state::c8_w)
show_outputs();
}
-static ADDRESS_MAP_START( gegege_mem_map, AS_PROGRAM, 8, sigmab98_state )
+ADDRESS_MAP_START(sigmab98_state::gegege_mem_map)
AM_RANGE( 0x0000, 0x7fff ) AM_ROM
AM_RANGE( 0x8000, 0x9fff ) AM_ROMBANK("rombank")
@@ -999,7 +1017,7 @@ static ADDRESS_MAP_START( gegege_mem_map, AS_PROGRAM, 8, sigmab98_state )
AM_RANGE( 0xf000, 0xffff ) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gegege_io_map, AS_IO, 8, sigmab98_state )
+ADDRESS_MAP_START(sigmab98_state::gegege_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x00, 0x01 ) AM_DEVREADWRITE("ymz", ymz280b_device, read, write )
@@ -1077,7 +1095,7 @@ READ8_MEMBER(sigmab98_state::dashhero_regs2_r)
}
}
-static ADDRESS_MAP_START( dashhero_io_map, AS_IO, 8, sigmab98_state )
+ADDRESS_MAP_START(sigmab98_state::dashhero_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x00, 0x01 ) AM_DEVREADWRITE("ymz", ymz280b_device, read, write )
@@ -1209,7 +1227,7 @@ WRITE8_MEMBER(lufykzku_state::lufykzku_c8_w)
show_outputs();
}
-static ADDRESS_MAP_START( lufykzku_mem_map, AS_PROGRAM, 8, lufykzku_state )
+ADDRESS_MAP_START(lufykzku_state::lufykzku_mem_map)
AM_RANGE( 0x0000, 0x7fff ) AM_ROM
AM_RANGE( 0x8000, 0xbfff ) AM_RAMBANK("romrambank") AM_SHARE("nvram") // ROM | NVRAM
@@ -1226,7 +1244,7 @@ static ADDRESS_MAP_START( lufykzku_mem_map, AS_PROGRAM, 8, lufykzku_state )
AM_RANGE( 0xfc00, 0xffff ) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lufykzku_io_map, AS_IO, 8, lufykzku_state )
+ADDRESS_MAP_START(lufykzku_state::lufykzku_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x00, 0x00 ) AM_DEVWRITE("oki", okim9810_device, write )
AM_RANGE( 0x01, 0x01 ) AM_DEVWRITE("oki", okim9810_device, write_tmp_register )
@@ -1448,7 +1466,7 @@ READ8_MEMBER(sigmab98_state::sammymdl_coin_hopper_r)
return ret;
}
-static ADDRESS_MAP_START( animalc_map, AS_PROGRAM, 8, sigmab98_state )
+ADDRESS_MAP_START(sigmab98_state::animalc_map)
AM_RANGE( 0x0000, 0x3fff ) AM_ROM
AM_RANGE( 0x4000, 0x7fff ) AM_ROMBANK( "rombank" )
AM_RANGE( 0x8000, 0x8fff ) AM_RAMBANK( "rambank" ) AM_SHARE( "nvram" )
@@ -1467,7 +1485,7 @@ static ADDRESS_MAP_START( animalc_map, AS_PROGRAM, 8, sigmab98_state )
AM_RANGE( 0xfe00, 0xffff ) AM_RAM // High speed internal RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( animalc_io, AS_IO, 8, sigmab98_state )
+ADDRESS_MAP_START(sigmab98_state::animalc_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x02, 0x03 ) AM_READWRITE(animalc_rombank_r, animalc_rombank_w )
AM_RANGE( 0x04, 0x05 ) AM_READWRITE(animalc_rambank_r, animalc_rambank_w )
@@ -1737,7 +1755,7 @@ WRITE8_MEMBER(sigmab98_state::gocowboy_dc00_w)
logerror("%s: unknown write to %02x = %02x with rambank = %02x\n", machine().describe_context(), offset + 0xdc00, data, m_rambank);
}
-static ADDRESS_MAP_START( gocowboy_map, AS_PROGRAM, 8, sigmab98_state )
+ADDRESS_MAP_START(sigmab98_state::gocowboy_map)
AM_RANGE(0x0000, 0x43ff) AM_ROM
AM_RANGE( 0x4400, 0xdbff ) AM_READWRITE(gocowboy_4400_r, gocowboy_4400_w ) // SPRITERAM + PALETTERAM + VTABLE + VREGS | NVRAM
@@ -1764,7 +1782,7 @@ WRITE8_MEMBER(sigmab98_state::gocowboy_leds_w)
show_3_outputs();
}
-static ADDRESS_MAP_START( gocowboy_io, AS_IO, 8, sigmab98_state )
+ADDRESS_MAP_START(sigmab98_state::gocowboy_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x02, 0x03 ) AM_READWRITE(gocowboy_rombank_r, gocowboy_rombank_w )
AM_RANGE( 0x04, 0x05 ) AM_READWRITE(gocowboy_rambank_r, gocowboy_rambank_w )
@@ -2001,14 +2019,14 @@ WRITE8_MEMBER(sigmab98_state::haekaka_coin_counter_w)
show_3_outputs();
}
-static ADDRESS_MAP_START( haekaka_map, AS_PROGRAM, 8, sigmab98_state )
+ADDRESS_MAP_START(sigmab98_state::haekaka_map)
AM_RANGE( 0x0000, 0x7fff ) AM_ROM
AM_RANGE( 0xb000, 0xcfff ) AM_READWRITE(haekaka_b000_r, haekaka_b000_w )
AM_RANGE( 0xd000, 0xefff ) AM_RAM AM_SHARE( "nvram" )
AM_RANGE( 0xfe00, 0xffff ) AM_RAM // High speed internal RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( haekaka_io, AS_IO, 8, sigmab98_state )
+ADDRESS_MAP_START(sigmab98_state::haekaka_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x02, 0x03 ) AM_READWRITE(haekaka_rombank_r, haekaka_rombank_w )
AM_RANGE( 0x04, 0x05 ) AM_READWRITE(haekaka_rambank_r, haekaka_rambank_w )
@@ -2239,7 +2257,7 @@ READ8_MEMBER(sigmab98_state::itazuram_palette_r)
return m_paletteram[offset];
}
-static ADDRESS_MAP_START( itazuram_map, AS_PROGRAM, 8, sigmab98_state )
+ADDRESS_MAP_START(sigmab98_state::itazuram_map)
AM_RANGE( 0x0000, 0x37ff ) AM_ROM
AM_RANGE( 0x3800, 0x47ff ) AM_READ_BANK( "rombank0" ) AM_WRITE_BANK( "sprbank0" )
AM_RANGE( 0x4800, 0x57ff ) AM_READ_BANK( "rombank1" ) AM_WRITE_BANK( "sprbank1" )
@@ -2255,7 +2273,7 @@ static ADDRESS_MAP_START( itazuram_map, AS_PROGRAM, 8, sigmab98_state )
AM_RANGE( 0xfe00, 0xffff ) AM_RAM // High speed internal RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( itazuram_io, AS_IO, 8, sigmab98_state )
+ADDRESS_MAP_START(sigmab98_state::itazuram_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x02, 0x03 ) AM_READWRITE(itazuram_rombank_r, itazuram_rombank_w )
AM_RANGE( 0x04, 0x05 ) AM_READWRITE(itazuram_rambank_r, itazuram_rambank_w )
@@ -2276,7 +2294,7 @@ ADDRESS_MAP_END
Pye-nage Taikai
***************************************************************************/
-static ADDRESS_MAP_START( pyenaget_io, AS_IO, 8, sigmab98_state )
+ADDRESS_MAP_START(sigmab98_state::pyenaget_io)
AM_IMPORT_FROM( haekaka_io )
AM_RANGE( 0x31, 0x31 ) AM_READWRITE(sammymdl_coin_counter_r, sammymdl_coin_counter_w )
ADDRESS_MAP_END
@@ -2477,14 +2495,14 @@ WRITE8_MEMBER(sigmab98_state::tdoboon_c000_w)
logerror("%s: unknown write to %02x = %02x with rombank = %02x\n", machine().describe_context(), offset+0xc000, data, m_rombank);
}
-static ADDRESS_MAP_START( tdoboon_map, AS_PROGRAM, 8, sigmab98_state )
+ADDRESS_MAP_START(sigmab98_state::tdoboon_map)
AM_RANGE( 0x0000, 0xbfff ) AM_ROM
AM_RANGE( 0xc000, 0xcfff ) AM_READWRITE(tdoboon_c000_r, tdoboon_c000_w )
AM_RANGE( 0xd000, 0xefff ) AM_RAM AM_SHARE( "nvram" )
AM_RANGE( 0xfe00, 0xffff ) AM_RAM // High speed internal RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tdoboon_io, AS_IO, 8, sigmab98_state )
+ADDRESS_MAP_START(sigmab98_state::tdoboon_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x02, 0x03 ) AM_READWRITE(tdoboon_rombank_r, tdoboon_rombank_w )
AM_RANGE( 0x04, 0x05 ) AM_READWRITE(tdoboon_rambank_r, tdoboon_rambank_w )
diff --git a/src/mame/drivers/silkroad.cpp b/src/mame/drivers/silkroad.cpp
index eb5b88531c2..79519768e43 100644
--- a/src/mame/drivers/silkroad.cpp
+++ b/src/mame/drivers/silkroad.cpp
@@ -157,7 +157,7 @@ WRITE32_MEMBER(silkroad_state::silk_coin_counter_w)
}
}
-static ADDRESS_MAP_START( cpu_map, AS_PROGRAM, 32, silkroad_state )
+ADDRESS_MAP_START(silkroad_state::cpu_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x40c000, 0x40cfff) AM_RAM AM_SHARE("sprram") // sprites
AM_RANGE(0x600000, 0x603fff) AM_RAM_WRITE(paletteram32_xRRRRRGGGGGBBBBB_dword_w) AM_SHARE("paletteram") // palette
diff --git a/src/mame/drivers/silvmil.cpp b/src/mame/drivers/silvmil.cpp
index 5ed0db1e94b..9648d0c2a61 100644
--- a/src/mame/drivers/silvmil.cpp
+++ b/src/mame/drivers/silvmil.cpp
@@ -135,6 +135,8 @@ public:
void puzzlovek(machine_config &config);
void puzzlove(machine_config &config);
void silvmil(machine_config &config);
+ void silvmil_map(address_map &map);
+ void silvmil_sound_map(address_map &map);
};
@@ -181,7 +183,7 @@ uint32_t silvmil_state::screen_update_silvmil(screen_device &screen, bitmap_ind1
}
-static ADDRESS_MAP_START( silvmil_map, AS_PROGRAM, 16, silvmil_state )
+ADDRESS_MAP_START(silvmil_state::silvmil_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_WRITE(silvmil_tilebank1_w)
@@ -388,7 +390,7 @@ void silvmil_state::machine_reset()
}
-static ADDRESS_MAP_START( silvmil_sound_map, AS_PROGRAM, 8, silvmil_state )
+ADDRESS_MAP_START(silvmil_state::silvmil_sound_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xd000, 0xd7ff) AM_RAM
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
diff --git a/src/mame/drivers/simpl156.cpp b/src/mame/drivers/simpl156.cpp
index 39cbb70eb3c..3a6a88a8028 100644
--- a/src/mame/drivers/simpl156.cpp
+++ b/src/mame/drivers/simpl156.cpp
@@ -221,7 +221,7 @@ WRITE32_MEMBER(simpl156_state::simpl156_pf2_rowscroll_w)
/* Memory Map controled by PALs */
/* Joe and Mac Returns */
-static ADDRESS_MAP_START( joemacr_map, AS_PROGRAM, 32, simpl156_state )
+ADDRESS_MAP_START(simpl156_state::joemacr_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x107fff) AM_READWRITE(simpl156_mainram_r, simpl156_mainram_w) AM_SHARE("mainram") // main ram
@@ -243,7 +243,7 @@ ADDRESS_MAP_END
/* Chain Reaction */
-static ADDRESS_MAP_START( chainrec_map, AS_PROGRAM, 32, simpl156_state )
+ADDRESS_MAP_START(simpl156_state::chainrec_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x07ffff) AM_ROM // rom (32-bit)
AM_RANGE(0x200000, 0x200003) AM_READ_PORT("IN0")
@@ -265,7 +265,7 @@ ADDRESS_MAP_END
/* Magical Drop */
-static ADDRESS_MAP_START( magdrop_map, AS_PROGRAM, 32, simpl156_state )
+ADDRESS_MAP_START(simpl156_state::magdrop_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x200000, 0x200003) AM_READ_PORT("IN0")
@@ -287,7 +287,7 @@ ADDRESS_MAP_END
/* Magical Drop Plus 1 */
-static ADDRESS_MAP_START( magdropp_map, AS_PROGRAM, 32, simpl156_state )
+ADDRESS_MAP_START(simpl156_state::magdropp_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x200000, 0x200003) AM_READ_PORT("IN0")
@@ -309,7 +309,7 @@ ADDRESS_MAP_END
/* Mitchell MT5601-0 PCB (prtytime, charlien, osman) */
-static ADDRESS_MAP_START( mitchell156_map, AS_PROGRAM, 32, simpl156_state )
+ADDRESS_MAP_START(simpl156_state::mitchell156_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x100003) AM_DEVREADWRITE8("okisfx", okim6295_device, read, write, 0x000000ff)
diff --git a/src/mame/drivers/simple_st0016.cpp b/src/mame/drivers/simple_st0016.cpp
index 8f934fcde85..1c77c7b72ef 100644
--- a/src/mame/drivers/simple_st0016.cpp
+++ b/src/mame/drivers/simple_st0016.cpp
@@ -38,7 +38,7 @@ void st0016_state::machine_start()
membank("bank1")->configure_entries(0, 256, memregion("maincpu")->base(), 0x4000);
}
-static ADDRESS_MAP_START( st0016_mem, AS_PROGRAM, 8, st0016_state )
+ADDRESS_MAP_START(st0016_state::st0016_mem)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xe000, 0xe7ff) AM_RAM
@@ -46,7 +46,7 @@ static ADDRESS_MAP_START( st0016_mem, AS_PROGRAM, 8, st0016_state )
AM_RANGE(0xf000, 0xffff) AM_RAM /* work ram */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( renju_mem, AS_PROGRAM, 8, st0016_state )
+ADDRESS_MAP_START(st0016_state::renju_mem)
AM_IMPORT_FROM( st0016_mem )
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("maincpu", 0x200000 )
ADDRESS_MAP_END
@@ -87,7 +87,7 @@ WRITE8_MEMBER(st0016_state::st0016_rom_bank_w)
// st0016_rom_bank = data;
}
-static ADDRESS_MAP_START( st0016_io, AS_IO, 8, st0016_state )
+ADDRESS_MAP_START(st0016_state::st0016_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xc0, 0xc0) AM_READ_PORT("P1") AM_WRITE(mux_select_w)
AM_RANGE(0xc1, 0xc1) AM_READ_PORT("P2") AM_WRITENOP
@@ -138,7 +138,7 @@ WRITE8_MEMBER(st0016_state::latch8_w)
machine().scheduler().synchronize();
}
-static ADDRESS_MAP_START( v810_mem,AS_PROGRAM, 32, st0016_state )
+ADDRESS_MAP_START(st0016_state::v810_mem)
AM_RANGE(0x00000000, 0x0001ffff) AM_RAM
AM_RANGE(0x80000000, 0x8001ffff) AM_RAM
AM_RANGE(0xc0000000, 0xc001ffff) AM_RAM
@@ -146,7 +146,7 @@ static ADDRESS_MAP_START( v810_mem,AS_PROGRAM, 32, st0016_state )
AM_RANGE(0xfff80000, 0xffffffff) AM_ROMBANK("bank2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( st0016_m2_io, AS_IO, 8, st0016_state )
+ADDRESS_MAP_START(st0016_state::st0016_m2_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xc0, 0xc3) AM_READ(latch8_r) AM_WRITE(latch8_w)
AM_RANGE(0xd0, 0xd0) AM_READ_PORT("P1") AM_WRITE(mux_select_w)
diff --git a/src/mame/drivers/simpsons.cpp b/src/mame/drivers/simpsons.cpp
index cafa550374d..138a1f78967 100644
--- a/src/mame/drivers/simpsons.cpp
+++ b/src/mame/drivers/simpsons.cpp
@@ -115,7 +115,7 @@ Notes:
***************************************************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, simpsons_state )
+ADDRESS_MAP_START(simpsons_state::main_map)
AM_RANGE(0x0000, 0x1fff) AM_DEVREADWRITE("k052109", k052109_device, read, write)
AM_RANGE(0x0000, 0x0fff) AM_DEVICE("bank0000", address_map_bank_device, amap8)
AM_RANGE(0x2000, 0x3fff) AM_DEVICE("bank2000", address_map_bank_device, amap8)
@@ -138,12 +138,12 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, simpsons_state )
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("maincpu", 0x78000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bank0000_map, AS_PROGRAM, 8, simpsons_state )
+ADDRESS_MAP_START(simpsons_state::bank0000_map)
AM_RANGE(0x0000, 0x0fff) AM_DEVREADWRITE("k052109", k052109_device, read, write)
AM_RANGE(0x1000, 0x1fff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bank2000_map, AS_PROGRAM, 8, simpsons_state )
+ADDRESS_MAP_START(simpsons_state::bank2000_map)
AM_RANGE(0x0000, 0x1fff) AM_READWRITE(simpsons_k052109_r, simpsons_k052109_w)
AM_RANGE(0x2000, 0x2fff) AM_READWRITE(simpsons_k053247_r, simpsons_k053247_w)
AM_RANGE(0x3000, 0x3fff) AM_RAM
@@ -186,7 +186,7 @@ WRITE8_MEMBER(simpsons_state::z80_arm_nmi_w)
timer_set(attotime::from_usec(25), TIMER_NMI); /* kludge until the K053260 is emulated correctly */
}
-static ADDRESS_MAP_START( z80_map, AS_PROGRAM, 8, simpsons_state )
+ADDRESS_MAP_START(simpsons_state::z80_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank2")
AM_RANGE(0xf000, 0xf7ff) AM_RAM
diff --git a/src/mame/drivers/sitcom.cpp b/src/mame/drivers/sitcom.cpp
index 59af4682f35..7e2de43b3e8 100644
--- a/src/mame/drivers/sitcom.cpp
+++ b/src/mame/drivers/sitcom.cpp
@@ -75,6 +75,9 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(update_buttons);
void sitcom(machine_config &config);
+ void sitcom_bank(address_map &map);
+ void sitcom_io(address_map &map);
+ void sitcom_mem(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -133,19 +136,19 @@ protected:
};
-ADDRESS_MAP_START( sitcom_bank, AS_PROGRAM, 8, sitcom_state )
+ADDRESS_MAP_START(sitcom_state::sitcom_bank)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x07ff) AM_ROM AM_REGION("bootstrap", 0)
AM_RANGE(0x8000, 0xffff) AM_RAM AM_SHARE("ram")
ADDRESS_MAP_END
-ADDRESS_MAP_START( sitcom_mem, AS_PROGRAM, 8, sitcom_state )
+ADDRESS_MAP_START(sitcom_state::sitcom_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_DEVICE("bank", address_map_bank_device, amap8)
AM_RANGE(0x8000, 0xffff) AM_RAM AM_SHARE("ram")
ADDRESS_MAP_END
-ADDRESS_MAP_START( sitcom_io, AS_IO, 8, sitcom_state )
+ADDRESS_MAP_START(sitcom_state::sitcom_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_MIRROR(0x1c) AM_DEVREADWRITE("pia", i8255_device, read, write)
diff --git a/src/mame/drivers/sk1.cpp b/src/mame/drivers/sk1.cpp
index 9dd70c74d6e..9e2e49ef847 100644
--- a/src/mame/drivers/sk1.cpp
+++ b/src/mame/drivers/sk1.cpp
@@ -43,6 +43,7 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(function_in) { return m_sw_function; }
DECLARE_CUSTOM_INPUT_MEMBER(mode_in) { return m_sw_mode; }
+ void sk1_memory(address_map &map);
protected:
virtual void driver_start() override;
@@ -79,7 +80,7 @@ void sk1_state::driver_start()
}
-ADDRESS_MAP_START(sk1_memory, AS_PROGRAM, 8, sk1_state)
+ADDRESS_MAP_START(sk1_state::sk1_memory)
// chip selects are driven by decoding A13 and A15 with IC3 quad 2-input NOR gate
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("lsi2", 0x0000)
AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x4000) AM_RAM
diff --git a/src/mame/drivers/skeetsht.cpp b/src/mame/drivers/skeetsht.cpp
index 97c4b6442d7..94cf69c4cd2 100644
--- a/src/mame/drivers/skeetsht.cpp
+++ b/src/mame/drivers/skeetsht.cpp
@@ -61,6 +61,9 @@ public:
required_device<ay8910_device> m_ay;
required_device<tms34010_device> m_tms;
void skeetsht(machine_config &config);
+ void hc11_io_map(address_map &map);
+ void hc11_pgm_map(address_map &map);
+ void tms_program_map(address_map &map);
};
@@ -185,14 +188,14 @@ WRITE8_MEMBER(skeetsht_state::ay8910_w)
*
*************************************/
-static ADDRESS_MAP_START( hc11_pgm_map, AS_PROGRAM, 8, skeetsht_state )
+ADDRESS_MAP_START(skeetsht_state::hc11_pgm_map)
AM_RANGE(0x0000, 0xffff) AM_ROM AM_REGION("68hc11", 0)
AM_RANGE(0x1800, 0x1800) AM_WRITE(ay8910_w)
AM_RANGE(0x2800, 0x2807) AM_READWRITE(tms_r, tms_w)
AM_RANGE(0xb600, 0xbdff) AM_RAM //internal EEPROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hc11_io_map, AS_IO, 8, skeetsht_state )
+ADDRESS_MAP_START(skeetsht_state::hc11_io_map)
AM_RANGE(MC68HC11_IO_PORTA, MC68HC11_IO_PORTA) AM_READWRITE(hc11_porta_r, hc11_porta_w)
ADDRESS_MAP_END
@@ -203,7 +206,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( tms_program_map, AS_PROGRAM, 16, skeetsht_state )
+ADDRESS_MAP_START(skeetsht_state::tms_program_map)
AM_RANGE(0x00000000, 0x003fffff) AM_RAM AM_SHARE("tms_vram")
AM_RANGE(0x00440000, 0x004fffff) AM_READWRITE(ramdac_r, ramdac_w)
AM_RANGE(0xc0000000, 0xc00001ff) AM_DEVREADWRITE("tms", tms34010_device, io_register_r, io_register_w)
diff --git a/src/mame/drivers/skimaxx.cpp b/src/mame/drivers/skimaxx.cpp
index 09392857a32..40ee6ad62c0 100644
--- a/src/mame/drivers/skimaxx.cpp
+++ b/src/mame/drivers/skimaxx.cpp
@@ -91,6 +91,9 @@ public:
virtual void machine_reset() override;
virtual void video_start() override;
void skimaxx(machine_config &config);
+ void m68030_1_map(address_map &map);
+ void m68030_2_map(address_map &map);
+ void tms_program_map(address_map &map);
};
@@ -306,7 +309,7 @@ READ32_MEMBER(skimaxx_state::skimaxx_analog_r)
*
*************************************/
-static ADDRESS_MAP_START( 68030_1_map, AS_PROGRAM, 32, skimaxx_state )
+ADDRESS_MAP_START(skimaxx_state::m68030_1_map)
AM_RANGE(0x00000000, 0x001fffff) AM_ROM
AM_RANGE(0x10000000, 0x10000003) AM_WRITE(skimaxx_sub_ctrl_w )
AM_RANGE(0x10100000, 0x1010000f) AM_DEVREADWRITE16("tms", tms34010_device, host_r, host_w, 0x0000ffff)
@@ -339,7 +342,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( 68030_2_map, AS_PROGRAM, 32, skimaxx_state )
+ADDRESS_MAP_START(skimaxx_state::m68030_2_map)
AM_RANGE(0x00000000, 0x003fffff) AM_ROM
AM_RANGE(0x20000000, 0x2007ffff) AM_READ(skimaxx_blitter_r ) // do blit
@@ -363,7 +366,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( tms_program_map, AS_PROGRAM, 16, skimaxx_state )
+ADDRESS_MAP_START(skimaxx_state::tms_program_map)
AM_RANGE(0x00000000, 0x0003ffff) AM_RAM
AM_RANGE(0x00050000, 0x0005ffff) AM_RAM
AM_RANGE(0x00220000, 0x003fffff) AM_RAM AM_SHARE("fg_buffer")
@@ -495,11 +498,11 @@ void skimaxx_state::machine_reset()
MACHINE_CONFIG_START(skimaxx_state::skimaxx)
MCFG_CPU_ADD("maincpu", M68EC030, XTAL(40'000'000))
- MCFG_CPU_PROGRAM_MAP(68030_1_map)
+ MCFG_CPU_PROGRAM_MAP(m68030_1_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", skimaxx_state, irq3_line_hold) // 1,3,7 are identical, rest is RTE
MCFG_CPU_ADD("subcpu", M68EC030, XTAL(40'000'000))
- MCFG_CPU_PROGRAM_MAP(68030_2_map)
+ MCFG_CPU_PROGRAM_MAP(m68030_2_map)
/* video hardware */
diff --git a/src/mame/drivers/skullxbo.cpp b/src/mame/drivers/skullxbo.cpp
index 6c37e60ac7f..693715b3417 100644
--- a/src/mame/drivers/skullxbo.cpp
+++ b/src/mame/drivers/skullxbo.cpp
@@ -99,7 +99,7 @@ WRITE16_MEMBER(skullxbo_state::skullxbo_mobwr_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, skullxbo_state )
+ADDRESS_MAP_START(skullxbo_state::main_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0xff0000, 0xff07ff) AM_WRITE(skullxbo_mobmsb_w)
AM_RANGE(0xff0800, 0xff0bff) AM_WRITE(skullxbo_halt_until_hblank_0_w)
diff --git a/src/mame/drivers/skyarmy.cpp b/src/mame/drivers/skyarmy.cpp
index 6a96bdee22c..13d30a14387 100644
--- a/src/mame/drivers/skyarmy.cpp
+++ b/src/mame/drivers/skyarmy.cpp
@@ -74,6 +74,8 @@ public:
INTERRUPT_GEN_MEMBER(nmi_source);
void skyarmy(machine_config &config);
+ void skyarmy_io_map(address_map &map);
+ void skyarmy_map(address_map &map);
};
void skyarmy_state::machine_start()
@@ -208,7 +210,7 @@ WRITE_LINE_MEMBER(skyarmy_state::nmi_enable_w)
}
-static ADDRESS_MAP_START( skyarmy_map, AS_PROGRAM, 8, skyarmy_state )
+ADDRESS_MAP_START(skyarmy_state::skyarmy_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram") /* Video RAM */
@@ -222,7 +224,7 @@ static ADDRESS_MAP_START( skyarmy_map, AS_PROGRAM, 8, skyarmy_state )
AM_RANGE(0xa000, 0xa007) AM_DEVWRITE("latch", ls259_device, write_d0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( skyarmy_io_map, AS_IO, 8, skyarmy_state )
+ADDRESS_MAP_START(skyarmy_state::skyarmy_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("ay0", ay8910_device, address_data_w)
AM_RANGE(0x02, 0x02) AM_DEVREAD("ay0", ay8910_device, data_r)
diff --git a/src/mame/drivers/skydiver.cpp b/src/mame/drivers/skydiver.cpp
index 9f8c957c16b..e78e160ec95 100644
--- a/src/mame/drivers/skydiver.cpp
+++ b/src/mame/drivers/skydiver.cpp
@@ -172,7 +172,7 @@ INTERRUPT_GEN_MEMBER(skydiver_state::interrupt)
*
*************************************/
-static ADDRESS_MAP_START( skydiver_map, AS_PROGRAM, 8, skydiver_state )
+ADDRESS_MAP_START(skydiver_state::skydiver_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x4300) AM_READWRITE(wram_r, wram_w)
AM_RANGE(0x0080, 0x00ff) AM_MIRROR(0x4000) AM_RAM /* RAM B1 */
diff --git a/src/mame/drivers/skyfox.cpp b/src/mame/drivers/skyfox.cpp
index 745c8d80618..9e21acfa4a8 100644
--- a/src/mame/drivers/skyfox.cpp
+++ b/src/mame/drivers/skyfox.cpp
@@ -50,7 +50,7 @@ WRITE8_MEMBER(skyfox_state::skyfox_vregs_w)
}
}
-static ADDRESS_MAP_START( skyfox_map, AS_PROGRAM, 8, skyfox_state )
+ADDRESS_MAP_START(skyfox_state::skyfox_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xd000, 0xd3ff) AM_RAM AM_SHARE("spriteram")
@@ -69,7 +69,7 @@ ADDRESS_MAP_END
***************************************************************************/
-static ADDRESS_MAP_START( skyfox_sound_map, AS_PROGRAM, 8, skyfox_state )
+ADDRESS_MAP_START(skyfox_state::skyfox_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
// AM_RANGE(0x9000, 0x9001) AM_WRITENOP // ??
diff --git a/src/mame/drivers/skykid.cpp b/src/mame/drivers/skykid.cpp
index cfee009117c..816c5e7292f 100644
--- a/src/mame/drivers/skykid.cpp
+++ b/src/mame/drivers/skykid.cpp
@@ -104,7 +104,7 @@ void skykid_state::machine_start()
-static ADDRESS_MAP_START( skykid_map, AS_PROGRAM, 8, skykid_state )
+ADDRESS_MAP_START(skykid_state::skykid_map)
AM_RANGE(0x0000, 0x1fff) AM_ROMBANK("bank1") /* banked ROM */
AM_RANGE(0x2000, 0x2fff) AM_READWRITE(skykid_videoram_r,skykid_videoram_w) AM_SHARE("videoram")/* Video RAM (background) */
AM_RANGE(0x4000, 0x47ff) AM_READWRITE(skykid_textram_r,skykid_textram_w) AM_SHARE("textram") /* video RAM (text layer) */
@@ -120,7 +120,7 @@ static ADDRESS_MAP_START( skykid_map, AS_PROGRAM, 8, skykid_state )
AM_RANGE(0xa000, 0xa001) AM_WRITE(skykid_flipscreen_priority_w) /* flip screen & priority */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mcu_map, AS_PROGRAM, 8, skykid_state )
+ADDRESS_MAP_START(skykid_state::mcu_map)
AM_RANGE(0x0000, 0x001f) AM_DEVREADWRITE("mcu", hd63701_cpu_device, m6801_io_r, m6801_io_w)
AM_RANGE(0x0080, 0x00ff) AM_RAM
AM_RANGE(0x1000, 0x13ff) AM_DEVREADWRITE("namco", namco_cus30_device, namcos1_cus30_r, namcos1_cus30_w) /* PSG device, shared RAM */
@@ -137,7 +137,7 @@ READ8_MEMBER(skykid_state::readFF)
return 0xff;
}
-static ADDRESS_MAP_START( mcu_port_map, AS_IO, 8, skykid_state )
+ADDRESS_MAP_START(skykid_state::mcu_port_map)
AM_RANGE(M6801_PORT1, M6801_PORT1) AM_READ(inputport_r) /* input ports read */
AM_RANGE(M6801_PORT1, M6801_PORT1) AM_WRITE(inputport_select_w) /* input port select */
AM_RANGE(M6801_PORT2, M6801_PORT2) AM_READ(readFF) /* leds won't work otherwise */
diff --git a/src/mame/drivers/skylncr.cpp b/src/mame/drivers/skylncr.cpp
index 80bc85bb86e..e1b5bb49134 100644
--- a/src/mame/drivers/skylncr.cpp
+++ b/src/mame/drivers/skylncr.cpp
@@ -219,6 +219,12 @@ public:
void bdream97(machine_config &config);
void skylncr(machine_config &config);
void mbutrfly(machine_config &config);
+ void bdream97_opcode_map(address_map &map);
+ void io_map_mbutrfly(address_map &map);
+ void io_map_skylncr(address_map &map);
+ void mem_map_skylncr(address_map &map);
+ void ramdac2_map(address_map &map);
+ void ramdac_map(address_map &map);
};
@@ -449,7 +455,7 @@ READ8_MEMBER(skylncr_state::bdream97_opcode_r)
* Memory Map *
**************************************/
-static ADDRESS_MAP_START( mem_map_skylncr, AS_PROGRAM, 8, skylncr_state )
+ADDRESS_MAP_START(skylncr_state::mem_map_skylncr)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("nvram")
@@ -507,7 +513,7 @@ static ADDRESS_MAP_START( mem_map_skylncr, AS_PROGRAM, 8, skylncr_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map_skylncr, AS_IO, 8, skylncr_state )
+ADDRESS_MAP_START(skylncr_state::io_map_skylncr)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write) /* Input Ports */
@@ -530,24 +536,24 @@ static ADDRESS_MAP_START( io_map_skylncr, AS_IO, 8, skylncr_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map_mbutrfly, AS_IO, 8, skylncr_state )
+ADDRESS_MAP_START(skylncr_state::io_map_mbutrfly)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_IMPORT_FROM(io_map_skylncr)
AM_RANGE(0x60, 0x60) AM_WRITE(mbutrfly_prot_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bdream97_opcode_map, AS_OPCODES, 8, skylncr_state )
+ADDRESS_MAP_START(skylncr_state::bdream97_opcode_map)
AM_RANGE(0x0000, 0xffff) AM_READ(bdream97_opcode_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ramdac_map, 0, 8, skylncr_state )
+ADDRESS_MAP_START(skylncr_state::ramdac_map)
AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac", ramdac_device, ramdac_pal_r, ramdac_rgb666_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ramdac2_map, 0, 8, skylncr_state )
+ADDRESS_MAP_START(skylncr_state::ramdac2_map)
AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac2", ramdac_device, ramdac_pal_r, ramdac_rgb666_w)
ADDRESS_MAP_END
@@ -1699,7 +1705,7 @@ MACHINE_CONFIG_DERIVED(skylncr_state::bdream97, skylncr)
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
- MCFG_CPU_DECRYPTED_OPCODES_MAP(bdream97_opcode_map)
+ MCFG_CPU_OPCODES_MAP(bdream97_opcode_map)
MCFG_GFXDECODE_MODIFY("gfxdecode", bdream97)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/skyraid.cpp b/src/mame/drivers/skyraid.cpp
index 0f2c78b7002..29674d78989 100644
--- a/src/mame/drivers/skyraid.cpp
+++ b/src/mame/drivers/skyraid.cpp
@@ -71,7 +71,7 @@ WRITE8_MEMBER(skyraid_state::skyraid_scroll_w)
}
-static ADDRESS_MAP_START( skyraid_map, AS_PROGRAM, 8, skyraid_state )
+ADDRESS_MAP_START(skyraid_state::skyraid_map)
AM_RANGE(0x0000, 0x00ff) AM_RAM AM_MIRROR(0x300)
AM_RANGE(0x0400, 0x040f) AM_WRITEONLY AM_SHARE("pos_ram")
AM_RANGE(0x0800, 0x087f) AM_RAM AM_MIRROR(0x480) AM_SHARE("alpha_num_ram")
diff --git a/src/mame/drivers/slapfght.cpp b/src/mame/drivers/slapfght.cpp
index 4b2eb5abd96..11b51dc0cc3 100644
--- a/src/mame/drivers/slapfght.cpp
+++ b/src/mame/drivers/slapfght.cpp
@@ -273,7 +273,7 @@ Stephh's notes (based on the games Z80 code and some tests) :
***************************************************************************/
-static ADDRESS_MAP_START( perfrman_map, AS_PROGRAM, 8, slapfght_state )
+ADDRESS_MAP_START(slapfght_state::perfrman_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8fff) AM_RAM AM_SHARE("share1")
@@ -283,7 +283,7 @@ static ADDRESS_MAP_START( perfrman_map, AS_PROGRAM, 8, slapfght_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tigerh_map, AS_PROGRAM, 8, slapfght_state )
+ADDRESS_MAP_START(slapfght_state::tigerh_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xcfff) AM_RAM AM_SHARE("share1")
@@ -297,23 +297,23 @@ static ADDRESS_MAP_START( tigerh_map, AS_PROGRAM, 8, slapfght_state )
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(fixcol_w) AM_SHARE("fixcolorram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tigerh_map_mcu, AS_PROGRAM, 8, slapfght_state )
+ADDRESS_MAP_START(slapfght_state::tigerh_map_mcu)
AM_IMPORT_FROM( tigerh_map )
AM_RANGE(0xe803, 0xe803) AM_DEVREADWRITE("bmcu", taito68705_mcu_device, data_r, data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tigerhb1_map, AS_PROGRAM, 8, slapfght_state )
+ADDRESS_MAP_START(slapfght_state::tigerhb1_map)
AM_IMPORT_FROM( tigerh_map )
AM_RANGE(0xe803, 0xe803) AM_READWRITE(tigerhb1_prot_r, tigerhb1_prot_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tigerhb2_map, AS_PROGRAM, 8, slapfght_state )
+ADDRESS_MAP_START(slapfght_state::tigerhb2_map)
AM_IMPORT_FROM( tigerh_map )
AM_RANGE(0xe803, 0xe803) AM_NOP // no MCU
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slapfigh_map, AS_PROGRAM, 8, slapfght_state )
+ADDRESS_MAP_START(slapfght_state::slapfigh_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc7ff) AM_RAM
@@ -328,22 +328,22 @@ static ADDRESS_MAP_START( slapfigh_map, AS_PROGRAM, 8, slapfght_state )
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(fixcol_w) AM_SHARE("fixcolorram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slapfigh_map_mcu, AS_PROGRAM, 8, slapfght_state )
+ADDRESS_MAP_START(slapfght_state::slapfigh_map_mcu)
AM_IMPORT_FROM( slapfigh_map )
AM_RANGE(0xe803, 0xe803) AM_DEVREADWRITE("bmcu", taito68705_mcu_device, data_r, data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slapfighb1_map, AS_PROGRAM, 8, slapfght_state )
+ADDRESS_MAP_START(slapfght_state::slapfighb1_map)
AM_IMPORT_FROM( slapfigh_map )
AM_RANGE(0xe803, 0xe803) AM_NOP // no MCU
ADDRESS_MAP_END
-static ADDRESS_MAP_START( getstar_map, AS_PROGRAM, 8, slapfght_state )
+ADDRESS_MAP_START(slapfght_state::getstar_map)
AM_IMPORT_FROM( slapfigh_map )
AM_RANGE(0xe803, 0xe803) AM_READWRITE(getstar_mcusim_r, getstar_mcusim_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slapfighb2_map, AS_PROGRAM, 8, slapfght_state )
+ADDRESS_MAP_START(slapfght_state::slapfighb2_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc7ff) AM_RAM
@@ -389,25 +389,25 @@ READ8_MEMBER(slapfght_state::vblank_r)
return m_screen->vblank() ? 1 : 0;
}
-static ADDRESS_MAP_START( io_map_nomcu, AS_IO, 8, slapfght_state )
+ADDRESS_MAP_START(slapfght_state::io_map_nomcu)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(vblank_r)
AM_RANGE(0x00, 0x0f) AM_DEVWRITE("mainlatch", ls259_device, write_a0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map_mcu, AS_IO, 8, slapfght_state )
+ADDRESS_MAP_START(slapfght_state::io_map_mcu)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(tigerh_mcu_status_r)
AM_RANGE(0x00, 0x0f) AM_DEVWRITE("mainlatch", ls259_device, write_a0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( getstarb1_io_map, AS_IO, 8, slapfght_state )
+ADDRESS_MAP_START(slapfght_state::getstarb1_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(getstarb1_prot_r)
AM_RANGE(0x00, 0x0f) AM_DEVWRITE("mainlatch", ls259_device, write_a0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( getstarb2_io_map, AS_IO, 8, slapfght_state )
+ADDRESS_MAP_START(slapfght_state::getstarb2_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(getstar_mcusim_status_r)
AM_RANGE(0x00, 0x0f) AM_DEVWRITE("mainlatch", ls259_device, write_a0)
@@ -432,7 +432,7 @@ WRITE8_MEMBER(slapfght_state::sound_nmi_enable_w)
m_sound_nmi_enabled = offset ? false : true;
}
-static ADDRESS_MAP_START( perfrman_sound_map, AS_PROGRAM, 8, slapfght_state )
+ADDRESS_MAP_START(slapfght_state::perfrman_sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x8800, 0x8fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0xa080, 0xa080) AM_DEVWRITE("ay1", ay8910_device, address_w)
@@ -444,7 +444,7 @@ static ADDRESS_MAP_START( perfrman_sound_map, AS_PROGRAM, 8, slapfght_state )
AM_RANGE(0xa0e0, 0xa0e0) AM_SELECT(0x0010) AM_WRITE(sound_nmi_enable_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tigerh_sound_map, AS_PROGRAM, 8, slapfght_state )
+ADDRESS_MAP_START(slapfght_state::tigerh_sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0xa080, 0xa080) AM_DEVWRITE("ay1", ay8910_device, address_w)
AM_RANGE(0xa081, 0xa081) AM_DEVREAD("ay1", ay8910_device, data_r)
diff --git a/src/mame/drivers/slapshot.cpp b/src/mame/drivers/slapshot.cpp
index 8d7cd5cd2c4..0eb6e58dc62 100644
--- a/src/mame/drivers/slapshot.cpp
+++ b/src/mame/drivers/slapshot.cpp
@@ -262,7 +262,7 @@ READ16_MEMBER(slapshot_state::msb_sound_r)
MEMORY STRUCTURES
***********************************************************/
-static ADDRESS_MAP_START( slapshot_map, AS_PROGRAM, 16, slapshot_state )
+ADDRESS_MAP_START(slapshot_state::slapshot_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x500000, 0x50ffff) AM_RAM /* main RAM */
AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_SHARE("spriteram") /* sprite ram */
@@ -277,7 +277,7 @@ static ADDRESS_MAP_START( slapshot_map, AS_PROGRAM, 16, slapshot_state )
AM_RANGE(0xd00000, 0xd00003) AM_READWRITE(msb_sound_r, msb_sound_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( opwolf3_map, AS_PROGRAM, 16, slapshot_state )
+ADDRESS_MAP_START(slapshot_state::opwolf3_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x500000, 0x50ffff) AM_RAM /* main RAM */
AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_SHARE("spriteram") /* sprite ram */
@@ -296,7 +296,7 @@ ADDRESS_MAP_END
/***************************************************************************/
-static ADDRESS_MAP_START( opwolf3_z80_sound_map, AS_PROGRAM, 8, slapshot_state )
+ADDRESS_MAP_START(slapshot_state::opwolf3_z80_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("z80bank")
AM_RANGE(0xc000, 0xdfff) AM_RAM
diff --git a/src/mame/drivers/slc1.cpp b/src/mame/drivers/slc1.cpp
index 8970c721810..17e9063bf2b 100644
--- a/src/mame/drivers/slc1.cpp
+++ b/src/mame/drivers/slc1.cpp
@@ -68,6 +68,8 @@ public:
DECLARE_READ8_MEMBER( io_r );
DECLARE_WRITE8_MEMBER( io_w );
void slc1(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
uint8_t m_digit;
bool m_kbd_type;
@@ -182,14 +184,14 @@ void slc1_state::machine_reset()
***************************************************************************/
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, slc1_state )
+ADDRESS_MAP_START(slc1_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x4fff)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM AM_MIRROR(0xc00)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, slc1_state )
+ADDRESS_MAP_START(slc1_state::io_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xffff) AM_READWRITE(io_r,io_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/sleic.cpp b/src/mame/drivers/sleic.cpp
index 4464d34d885..acb29cc37c1 100644
--- a/src/mame/drivers/sleic.cpp
+++ b/src/mame/drivers/sleic.cpp
@@ -37,6 +37,7 @@ public:
{ }
void sleic(machine_config &config);
+ void sleic_map(address_map &map);
protected:
// devices
@@ -49,7 +50,7 @@ public:
};
-static ADDRESS_MAP_START( sleic_map, AS_PROGRAM, 8, sleic_state )
+ADDRESS_MAP_START(sleic_state::sleic_map)
AM_RANGE(0x00000, 0x1ffff) AM_RAM
AM_RANGE(0xe0000, 0xfffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/slicer.cpp b/src/mame/drivers/slicer.cpp
index c0418e04fca..7f3d853d63b 100644
--- a/src/mame/drivers/slicer.cpp
+++ b/src/mame/drivers/slicer.cpp
@@ -28,6 +28,8 @@ public:
template<unsigned int drive> DECLARE_WRITE_LINE_MEMBER(drive_sel_w);
void slicer(machine_config &config);
+ void slicer_io(address_map &map);
+ void slicer_map(address_map &map);
protected:
required_device<fd1797_device> m_fdc;
required_device<scsi_port_device> m_sasi;
@@ -62,12 +64,12 @@ WRITE_LINE_MEMBER(slicer_state::drive_sel_w)
m_fdc->set_floppy(floppy);
}
-static ADDRESS_MAP_START( slicer_map, AS_PROGRAM, 16, slicer_state )
+ADDRESS_MAP_START(slicer_state::slicer_map)
AM_RANGE(0x00000, 0x3ffff) AM_RAM // fixed 256k for now
AM_RANGE(0xf8000, 0xfffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slicer_io, AS_IO, 16, slicer_state )
+ADDRESS_MAP_START(slicer_state::slicer_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x007f) AM_DEVREADWRITE8("fdc", fd1797_device, read, write, 0x00ff) //PCS0
AM_RANGE(0x0080, 0x00ff) AM_DEVREADWRITE8("duart", scn2681_device, read, write, 0x00ff) //PCS1
diff --git a/src/mame/drivers/sliver.cpp b/src/mame/drivers/sliver.cpp
index 84d53ba490d..2239c9f0a06 100644
--- a/src/mame/drivers/sliver.cpp
+++ b/src/mame/drivers/sliver.cpp
@@ -140,6 +140,11 @@ public:
void postload();
void sliver(machine_config &config);
+ void oki_map(address_map &map);
+ void ramdac_map(address_map &map);
+ void sliver_map(address_map &map);
+ void soundmem_io(address_map &map);
+ void soundmem_prg(address_map &map);
};
void sliver_state::machine_start()
@@ -347,7 +352,7 @@ WRITE16_MEMBER(sliver_state::sound_w)
m_audiocpu->set_input_line(MCS51_INT0_LINE, HOLD_LINE);
}
-static ADDRESS_MAP_START( sliver_map, AS_PROGRAM, 16, sliver_state )
+ADDRESS_MAP_START(sliver_state::sliver_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_DEVWRITE8("ramdac", ramdac_device, index_w, 0x00ff)
@@ -383,18 +388,18 @@ WRITE8_MEMBER(sliver_state::oki_setbank)
membank("okibank")->set_entry(bank);
}
-static ADDRESS_MAP_START( soundmem_prg, AS_PROGRAM, 8, sliver_state )
+ADDRESS_MAP_START(sliver_state::soundmem_prg)
AM_RANGE(0x0000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( soundmem_io, AS_IO, 8, sliver_state )
+ADDRESS_MAP_START(sliver_state::soundmem_io)
AM_RANGE(0x0100, 0x0100) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0x0101, 0x0101) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
/* ports */
AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_WRITE(oki_setbank )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( oki_map, 0, 8, sliver_state )
+ADDRESS_MAP_START(sliver_state::oki_map)
AM_RANGE(0x00000, 0x1ffff) AM_ROM
AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK("okibank")
ADDRESS_MAP_END
@@ -496,7 +501,7 @@ static INPUT_PORTS_START( sliver )
PORT_DIPUNUSED_DIPLOC( 0x8000, 0x0000, "SW2:8" ) /* Listed as "UNUSED (MUST ON)" */
INPUT_PORTS_END
-static ADDRESS_MAP_START( ramdac_map, 0, 8, sliver_state )
+ADDRESS_MAP_START(sliver_state::ramdac_map)
AM_RANGE(0x000, 0x3ff) AM_RAM AM_SHARE("colorram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/slotcarn.cpp b/src/mame/drivers/slotcarn.cpp
index 947201e1e13..6c701ad3c37 100644
--- a/src/mame/drivers/slotcarn.cpp
+++ b/src/mame/drivers/slotcarn.cpp
@@ -60,6 +60,8 @@ public:
required_device<cpu_device> m_maincpu;
required_device<screen_device> m_screen;
void slotcarn(machine_config &config);
+ void slotcarn_map(address_map &map);
+ void spielbud_io_map(address_map &map);
};
@@ -170,7 +172,7 @@ WRITE_LINE_MEMBER(slotcarn_state::hsync_changed)
* Memory Map *
*******************************/
-static ADDRESS_MAP_START( slotcarn_map, AS_PROGRAM, 8, slotcarn_state )
+ADDRESS_MAP_START(slotcarn_state::slotcarn_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM AM_SHARE("backup_ram")
AM_RANGE(0x6800, 0x6fff) AM_RAM // spielbud
@@ -198,7 +200,7 @@ static ADDRESS_MAP_START( slotcarn_map, AS_PROGRAM, 8, slotcarn_state )
ADDRESS_MAP_END
// spielbud - is the ay mirrored, or are there now 2?
-static ADDRESS_MAP_START( spielbud_io_map, AS_IO, 8, slotcarn_state )
+ADDRESS_MAP_START(slotcarn_state::spielbud_io_map)
AM_RANGE(0xb000, 0xb000) AM_DEVWRITE("aysnd", ay8910_device, address_w)
AM_RANGE(0xb100, 0xb100) AM_DEVWRITE("aysnd", ay8910_device, data_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/sm1800.cpp b/src/mame/drivers/sm1800.cpp
index cbe2f8901f8..4bb3a5e595b 100644
--- a/src/mame/drivers/sm1800.cpp
+++ b/src/mame/drivers/sm1800.cpp
@@ -51,16 +51,18 @@ public:
IRQ_CALLBACK_MEMBER(sm1800_irq_callback);
I8275_DRAW_CHARACTER_MEMBER( crtc_display_pixels );
void sm1800(machine_config &config);
+ void sm1800_io(address_map &map);
+ void sm1800_mem(address_map &map);
};
-static ADDRESS_MAP_START(sm1800_mem, AS_PROGRAM, 8, sm1800_state)
+ADDRESS_MAP_START(sm1800_state::sm1800_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x07ff ) AM_ROM
//AM_RANGE( 0x0fb0, 0x0fff ) AM_DEVWRITE("i8275", i8275_device, dack_w)
AM_RANGE( 0x1000, 0x17ff ) AM_RAM // videoram looks like 1080-17FF, normal ascii
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sm1800_io, AS_IO, 8, sm1800_state)
+ADDRESS_MAP_START(sm1800_state::sm1800_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x3c, 0x3d ) AM_DEVREADWRITE("i8275", i8275_device, read, write)
diff --git a/src/mame/drivers/sm7238.cpp b/src/mame/drivers/sm7238.cpp
index 33946a46922..3fc4842537e 100644
--- a/src/mame/drivers/sm7238.cpp
+++ b/src/mame/drivers/sm7238.cpp
@@ -90,6 +90,9 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void sm7238(machine_config &config);
+ void sm7238_io(address_map &map);
+ void sm7238_mem(address_map &map);
+ void videobank_map(address_map &map);
private:
void recompute_parameters();
@@ -122,7 +125,7 @@ private:
required_device<screen_device> m_screen;
};
-static ADDRESS_MAP_START( sm7238_mem, AS_PROGRAM, 8, sm7238_state )
+ADDRESS_MAP_START(sm7238_state::sm7238_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE (0x0000, 0x9fff) AM_ROM
AM_RANGE (0xa000, 0xa7ff) AM_RAM
@@ -133,12 +136,12 @@ static ADDRESS_MAP_START( sm7238_mem, AS_PROGRAM, 8, sm7238_state )
AM_RANGE (0xe000, 0xffff) AM_DEVICE("videobank", address_map_bank_device, amap8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( videobank_map, AS_PROGRAM, 8, sm7238_state )
+ADDRESS_MAP_START(sm7238_state::videobank_map)
AM_RANGE (0x0000, 0x1fff) AM_RAM AM_SHARE("videoram")
AM_RANGE (0x2000, 0x2fff) AM_MIRROR(0x1000) AM_WRITE(vmem_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sm7238_io, AS_IO, 8, sm7238_state )
+ADDRESS_MAP_START(sm7238_state::sm7238_io)
ADDRESS_MAP_UNMAP_HIGH
// AM_RANGE (0x40, 0x4f) AM_RAM // LUT
AM_RANGE (0xa0, 0xa0) AM_DEVREADWRITE("i8251line", i8251_device, data_r, data_w)
diff --git a/src/mame/drivers/smc777.cpp b/src/mame/drivers/smc777.cpp
index 38d9a7c2727..f4d5b5314c1 100644
--- a/src/mame/drivers/smc777.cpp
+++ b/src/mame/drivers/smc777.cpp
@@ -101,6 +101,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(fdc_drq_w);
void smc777(machine_config &config);
+ void smc777_io(address_map &map);
+ void smc777_mem(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -606,12 +608,12 @@ WRITE8_MEMBER(smc777_state::irq_mask_w)
m_irq_mask = data & 1;
}
-static ADDRESS_MAP_START( smc777_mem, AS_PROGRAM, 8, smc777_state )
+ADDRESS_MAP_START(smc777_state::smc777_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xffff) AM_READWRITE(smc777_mem_r, smc777_mem_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( smc777_io, AS_IO, 8, smc777_state )
+ADDRESS_MAP_START(smc777_state::smc777_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x07) AM_SELECT(0xff00) AM_READWRITE(vram_r, vram_w)
AM_RANGE(0x08, 0x0f) AM_SELECT(0xff00) AM_READWRITE(attr_r, attr_w)
diff --git a/src/mame/drivers/sms.cpp b/src/mame/drivers/sms.cpp
index 5a4951767be..140831a4634 100644
--- a/src/mame/drivers/sms.cpp
+++ b/src/mame/drivers/sms.cpp
@@ -264,7 +264,7 @@ DC00 - Selection buttons #2, 9-16 (R)
#define MASTER_CLOCK_PAL 53203425.0 /* 12 * subcarrier freq. (4.43361875MHz) */
-static ADDRESS_MAP_START( sms1_mem, AS_PROGRAM, 8, sms_state )
+ADDRESS_MAP_START(sms_state::sms1_mem)
AM_RANGE(0x0000, 0xbfff) AM_WRITE(write_cart)
AM_RANGE(0x0000, 0x3fff) AM_READ(read_0000)
AM_RANGE(0x4000, 0x7fff) AM_READ(read_4000)
@@ -274,7 +274,7 @@ static ADDRESS_MAP_START( sms1_mem, AS_PROGRAM, 8, sms_state )
AM_RANGE(0xfffc, 0xffff) AM_READWRITE(sms_mapper_r, sms_mapper_w) /* Bankswitch control */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sms_mem, AS_PROGRAM, 8, sms_state )
+ADDRESS_MAP_START(sms_state::sms_mem)
AM_RANGE(0x0000, 0xbfff) AM_WRITE(write_cart)
AM_RANGE(0x0000, 0x3fff) AM_READ(read_0000)
AM_RANGE(0x4000, 0x7fff) AM_READ(read_4000)
@@ -283,7 +283,7 @@ static ADDRESS_MAP_START( sms_mem, AS_PROGRAM, 8, sms_state )
AM_RANGE(0xfffc, 0xffff) AM_READWRITE(sms_mapper_r, sms_mapper_w) /* Bankswitch control */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sms_store_mem, AS_PROGRAM, 8, smssdisp_state )
+ADDRESS_MAP_START(smssdisp_state::sms_store_mem)
AM_RANGE(0x0000, 0x3fff) AM_ROM /* BIOS */
AM_RANGE(0x4000, 0x47ff) AM_RAM /* RAM */
AM_RANGE(0x6000, 0x7fff) AM_READ(store_cart_peek)
@@ -294,7 +294,7 @@ static ADDRESS_MAP_START( sms_store_mem, AS_PROGRAM, 8, smssdisp_state )
ADDRESS_MAP_END
// I/O ports $3E and $3F do not exist on Mark III
-static ADDRESS_MAP_START( sg1000m3_io, AS_IO, 8, sms_state )
+ADDRESS_MAP_START(sms_state::sg1000m3_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x40, 0x7f) AM_READWRITE(sms_count_r, sms_psg_w)
@@ -304,7 +304,7 @@ static ADDRESS_MAP_START( sg1000m3_io, AS_IO, 8, sms_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sms_io, AS_IO, 8, sms_state )
+ADDRESS_MAP_START(sms_state::sms_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x00) AM_MIRROR(0x3e) AM_WRITE(sms_mem_control_w)
@@ -321,7 +321,7 @@ ADDRESS_MAP_END
// addresses.
// At least the mirrors for I/O ports $3E/$3F don't seem to exist there.
// Leaving the mirrors breaks the Korean cartridge bublboky.
-static ADDRESS_MAP_START( smskr_io, AS_IO, 8, sms_state )
+ADDRESS_MAP_START(sms_state::smskr_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x3e, 0x3e) AM_WRITE(sms_mem_control_w)
@@ -336,7 +336,7 @@ ADDRESS_MAP_END
// Mirrors for I/O ports $3E/$3F don't exist on the Japanese SMS.
// Also, $C0/$C1 are the only mirrors for I/O ports $DC/$DD.
-static ADDRESS_MAP_START( smsj_io, AS_IO, 8, sms_state )
+ADDRESS_MAP_START(sms_state::smsj_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x3e, 0x3e) AM_WRITE(sms_mem_control_w)
@@ -356,7 +356,7 @@ ADDRESS_MAP_END
// It seems the mirrors for I/O ports $3E/$3F also don't seem to exist on the
// Game Gear. Leaving the mirrors breaks 'gloc' (it freezes after 1st stage).
-static ADDRESS_MAP_START( gg_io, AS_IO, 8, sms_state )
+ADDRESS_MAP_START(sms_state::gg_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x00) AM_READ(gg_input_port_00_r)
diff --git a/src/mame/drivers/sms_bootleg.cpp b/src/mame/drivers/sms_bootleg.cpp
index 1c1f107726f..eb058e4f2fc 100644
--- a/src/mame/drivers/sms_bootleg.cpp
+++ b/src/mame/drivers/sms_bootleg.cpp
@@ -236,7 +236,7 @@ A Korean version has been seen too (unless this can be switched?)
-static ADDRESS_MAP_START( sms_supergame_map, AS_PROGRAM, 8, smsbootleg_state )
+ADDRESS_MAP_START(smsbootleg_state::sms_supergame_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xfff7) AM_RAM
// AM_RANGE(0xfffc, 0xffff) AM_READWRITE(sms_mapper_r, sms_mapper_w) /* Bankswitch control */
@@ -253,7 +253,7 @@ WRITE8_MEMBER(smsbootleg_state::port18_w)
}
-static ADDRESS_MAP_START( sms_supergame_io, AS_IO, 8, smsbootleg_state )
+ADDRESS_MAP_START(smsbootleg_state::sms_supergame_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
diff --git a/src/mame/drivers/smsmcorp.cpp b/src/mame/drivers/smsmcorp.cpp
index 5680b4a6c7b..aa0c7981ba9 100644
--- a/src/mame/drivers/smsmcorp.cpp
+++ b/src/mame/drivers/smsmcorp.cpp
@@ -255,6 +255,9 @@ public:
required_device<screen_device> m_screen;
void sureshot(machine_config &config);
void sms(machine_config &config);
+ void sms_map(address_map &map);
+ void sub_map(address_map &map);
+ void sureshot_map(address_map &map);
};
@@ -481,7 +484,7 @@ uint32_t smsmfg_state::screen_update_sms(screen_device &screen, bitmap_ind16 &bi
*
*************************************/
-static ADDRESS_MAP_START( sms_map, AS_PROGRAM, 8, smsmfg_state )
+ADDRESS_MAP_START(smsmfg_state::sms_map)
AM_RANGE(0x00000, 0x007ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x00800, 0x00803) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
AM_RANGE(0x01000, 0x01007) AM_WRITE(video_w)
@@ -492,7 +495,7 @@ static ADDRESS_MAP_START( sms_map, AS_PROGRAM, 8, smsmfg_state )
AM_RANGE(0xf8000, 0xfffff) AM_ROM // mirror for vectors
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sureshot_map, AS_PROGRAM, 8, smsmfg_state )
+ADDRESS_MAP_START(smsmfg_state::sureshot_map)
AM_RANGE(0x00000, 0x007ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x02000, 0x02007) AM_WRITE(video_w)
AM_RANGE(0x03000, 0x03003) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
@@ -501,7 +504,7 @@ static ADDRESS_MAP_START( sureshot_map, AS_PROGRAM, 8, smsmfg_state )
AM_RANGE(0xf8000, 0xfffff) AM_ROM // mirror for vectors
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 8, smsmfg_state )
+ADDRESS_MAP_START(smsmfg_state::sub_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x27ff) AM_RAM
AM_RANGE(0x3100, 0x3103) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write)
diff --git a/src/mame/drivers/snes.cpp b/src/mame/drivers/snes.cpp
index e6808fde670..dbec33b71dd 100644
--- a/src/mame/drivers/snes.cpp
+++ b/src/mame/drivers/snes.cpp
@@ -108,6 +108,8 @@ public:
optional_device<sns_cart_slot_device> m_cartslot;
void snespal(machine_config &config);
void snes(machine_config &config);
+ void snes_map(address_map &map);
+ void spc_map(address_map &map);
};
@@ -1010,13 +1012,13 @@ WRITE8_MEMBER( snes_console_state::pfest94_lo_w )
*
*************************************/
-static ADDRESS_MAP_START( snes_map, AS_PROGRAM, 8, snes_console_state )
+ADDRESS_MAP_START(snes_console_state::snes_map)
// AM_RANGE(0x000000, 0x7dffff) AM_READWRITE(snes20_lo_r, snes20_lo_w)
AM_RANGE(0x7e0000, 0x7fffff) AM_RAM /* 8KB Low RAM, 24KB High RAM, 96KB Expanded RAM */
// AM_RANGE(0x800000, 0xffffff) AM_READWRITE(snes20_hi_r, snes20_hi_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spc_map, AS_PROGRAM, 8, snes_console_state )
+ADDRESS_MAP_START(snes_console_state::spc_map)
AM_RANGE(0x0000, 0x00ef) AM_DEVREADWRITE("spc700", snes_sound_device, spc_ram_r, spc_ram_w) /* lower 32k ram */
AM_RANGE(0x00f0, 0x00ff) AM_DEVREADWRITE("spc700", snes_sound_device, spc_io_r, spc_io_w) /* spc io */
AM_RANGE(0x0100, 0xffff) AM_READWRITE(spc_ram_100_r, spc_ram_100_w)
diff --git a/src/mame/drivers/snesb.cpp b/src/mame/drivers/snesb.cpp
index 9a7845abe68..e469105c51c 100644
--- a/src/mame/drivers/snesb.cpp
+++ b/src/mame/drivers/snesb.cpp
@@ -188,6 +188,9 @@ public:
void mk3snes(machine_config &config);
void ffight2b(machine_config &config);
void kinstb(machine_config &config);
+ void mcu_io_map(address_map &map);
+ void snesb_map(address_map &map);
+ void spc_mem(address_map &map);
};
@@ -294,7 +297,7 @@ READ8_MEMBER(snesb_state::snesb_coin_r)
}
-static ADDRESS_MAP_START( snesb_map, AS_PROGRAM, 8, snesb_state )
+ADDRESS_MAP_START(snesb_state::snesb_map)
AM_RANGE(0x000000, 0x7dffff) AM_READWRITE(snes_r_bank1, snes_w_bank1)
AM_RANGE(0x7e0000, 0x7fffff) AM_RAM /* 8KB Low RAM, 24KB High RAM, 96KB Expanded RAM */
AM_RANGE(0x800000, 0xffffff) AM_READWRITE(snes_r_bank2, snes_w_bank2) /* Mirror and ROM */
@@ -310,7 +313,7 @@ WRITE8_MEMBER(snesb_state::spc_ram_100_w)
m_spc700->spc_ram_w(space, offset + 0x100, data);
}
-static ADDRESS_MAP_START( spc_mem, AS_PROGRAM, 8, snesb_state )
+ADDRESS_MAP_START(snesb_state::spc_mem)
AM_RANGE(0x0000, 0x00ef) AM_DEVREADWRITE("spc700", snes_sound_device, spc_ram_r, spc_ram_w) /* lower 32k ram */
AM_RANGE(0x00f0, 0x00ff) AM_DEVREADWRITE("spc700", snes_sound_device, spc_io_r, spc_io_w) /* spc io */
AM_RANGE(0x0100, 0xffff) AM_READWRITE(spc_ram_100_r, spc_ram_100_w)
@@ -718,7 +721,7 @@ MACHINE_CONFIG_START(snesb_state::kinstb)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.00)
MACHINE_CONFIG_END
-static ADDRESS_MAP_START( mcu_io_map, AS_IO, 8, snesb_state )
+ADDRESS_MAP_START(snesb_state::mcu_io_map)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/snk.cpp b/src/mame/drivers/snk.cpp
index 107e6bc70c8..fcca50cb5c7 100644
--- a/src/mame/drivers/snk.cpp
+++ b/src/mame/drivers/snk.cpp
@@ -819,7 +819,7 @@ CUSTOM_INPUT_MEMBER(snk_state::snk_bonus_r)
/************************************************************************/
-static ADDRESS_MAP_START( marvins_cpuA_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::marvins_cpuA_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x6000) AM_WRITE(marvins_palette_bank_w)
AM_RANGE(0x8000, 0x8000) AM_READ_PORT("IN0")
@@ -846,7 +846,7 @@ static ADDRESS_MAP_START( marvins_cpuA_map, AS_PROGRAM, 8, snk_state )
AM_RANGE(0xff00, 0xff00) AM_WRITE(marvins_scroll_msb_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( marvins_cpuB_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::marvins_cpuB_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x8700, 0x8700) AM_READWRITE(snk_cpuA_nmi_trigger_r, snk_cpuB_nmi_ack_w)
AM_RANGE(0xc000, 0xcfff) AM_RAM AM_SHARE("spriteram")
@@ -867,7 +867,7 @@ ADDRESS_MAP_END
// vangrd2 accesses video registers at xxF1 instead of xx00
-static ADDRESS_MAP_START( madcrash_cpuA_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::madcrash_cpuA_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8000) AM_READ_PORT("IN0")
AM_RANGE(0x8100, 0x8100) AM_READ_PORT("IN1")
@@ -894,7 +894,7 @@ static ADDRESS_MAP_START( madcrash_cpuA_map, AS_PROGRAM, 8, snk_state )
AM_RANGE(0xff00, 0xff00) AM_MIRROR(0xff) AM_WRITE(snk_fg_scrollx_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( madcrash_cpuB_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::madcrash_cpuB_map)
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0x8700, 0x8700) AM_WRITE(snk_cpuB_nmi_ack_w) // vangrd2
AM_RANGE(0xa000, 0xa000) AM_WRITE(snk_cpuB_nmi_ack_w) // madcrash
@@ -914,7 +914,7 @@ static ADDRESS_MAP_START( madcrash_cpuB_map, AS_PROGRAM, 8, snk_state )
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("share3")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( madcrush_cpuA_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::madcrush_cpuA_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8000) AM_READ_PORT("IN0")
AM_RANGE(0x8100, 0x8100) AM_READ_PORT("IN1")
@@ -941,7 +941,7 @@ static ADDRESS_MAP_START( madcrush_cpuA_map, AS_PROGRAM, 8, snk_state )
AM_RANGE(0xff00, 0xff00) AM_WRITE(marvins_scroll_msb_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( madcrush_cpuB_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::madcrush_cpuB_map)
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xa000, 0xa000) AM_WRITE(snk_cpuB_nmi_ack_w)
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("spriteram") // + work ram
@@ -962,7 +962,7 @@ static ADDRESS_MAP_START( madcrush_cpuB_map, AS_PROGRAM, 8, snk_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jcross_cpuA_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::jcross_cpuA_map)
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0")
AM_RANGE(0xa100, 0xa100) AM_READ_PORT("IN1")
@@ -983,7 +983,7 @@ static ADDRESS_MAP_START( jcross_cpuA_map, AS_PROGRAM, 8, snk_state )
AM_RANGE(0xffff, 0xffff) AM_WRITENOP // simply a program patch to not write to two not existing video registers?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jcross_cpuB_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::jcross_cpuB_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xa700, 0xa700) AM_READWRITE(snk_cpuA_nmi_trigger_r, snk_cpuB_nmi_ack_w)
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("spriteram")
@@ -992,7 +992,7 @@ static ADDRESS_MAP_START( jcross_cpuB_map, AS_PROGRAM, 8, snk_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sgladiat_cpuA_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::sgladiat_cpuA_map)
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0")
AM_RANGE(0xa100, 0xa100) AM_READ_PORT("IN1")
@@ -1014,7 +1014,7 @@ static ADDRESS_MAP_START( sgladiat_cpuA_map, AS_PROGRAM, 8, snk_state )
AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(snk_tx_videoram_w) AM_SHARE("tx_videoram") // + work RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sgladiat_cpuB_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::sgladiat_cpuB_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xa000, 0xa000) AM_READWRITE(snk_cpuA_nmi_trigger_r, snk_cpuB_nmi_ack_w)
AM_RANGE(0xa600, 0xa600) AM_WRITE(sgladiat_flipscreen_w) // flip screen, bg palette bank
@@ -1030,7 +1030,7 @@ static ADDRESS_MAP_START( sgladiat_cpuB_map, AS_PROGRAM, 8, snk_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hal21_cpuA_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::hal21_cpuA_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("IN0")
AM_RANGE(0xc100, 0xc100) AM_READ_PORT("IN1")
@@ -1050,7 +1050,7 @@ static ADDRESS_MAP_START( hal21_cpuA_map, AS_PROGRAM, 8, snk_state )
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(snk_tx_videoram_w) AM_SHARE("tx_videoram") // + work RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hal21_cpuB_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::hal21_cpuB_map)
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xa000, 0xa000) AM_WRITE(snk_cpuB_nmi_ack_w)
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("spriteram")
@@ -1059,7 +1059,7 @@ static ADDRESS_MAP_START( hal21_cpuB_map, AS_PROGRAM, 8, snk_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( aso_cpuA_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::aso_cpuA_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("IN0")
AM_RANGE(0xc100, 0xc100) AM_READ_PORT("IN1")
@@ -1081,7 +1081,7 @@ static ADDRESS_MAP_START( aso_cpuA_map, AS_PROGRAM, 8, snk_state )
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(snk_tx_videoram_w) AM_SHARE("tx_videoram") // + work RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( aso_cpuB_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::aso_cpuB_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc000) AM_READWRITE(snk_cpuA_nmi_trigger_r, snk_cpuB_nmi_ack_w)
AM_RANGE(0xc800, 0xcfff) AM_RAM AM_SHARE("share1")
@@ -1091,7 +1091,7 @@ static ADDRESS_MAP_START( aso_cpuB_map, AS_PROGRAM, 8, snk_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tnk3_cpuA_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::tnk3_cpuA_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("IN0")
AM_RANGE(0xc100, 0xc100) AM_READ_PORT("IN1")
@@ -1114,7 +1114,7 @@ static ADDRESS_MAP_START( tnk3_cpuA_map, AS_PROGRAM, 8, snk_state )
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(snk_tx_videoram_w) AM_SHARE("tx_videoram") // + work RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tnk3_cpuB_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::tnk3_cpuB_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc000) AM_READWRITE(snk_cpuA_nmi_trigger_r, snk_cpuB_nmi_ack_w) // tnk3, athena
AM_RANGE(0xc700, 0xc700) AM_READWRITE(snk_cpuA_nmi_trigger_r, snk_cpuB_nmi_ack_w) // fitegolf
@@ -1125,7 +1125,7 @@ static ADDRESS_MAP_START( tnk3_cpuB_map, AS_PROGRAM, 8, snk_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ikari_cpuA_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::ikari_cpuA_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("IN0")
AM_RANGE(0xc100, 0xc100) AM_READ_PORT("IN1")
@@ -1160,7 +1160,7 @@ static ADDRESS_MAP_START( ikari_cpuA_map, AS_PROGRAM, 8, snk_state )
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(snk_tx_videoram_w) AM_SHARE("tx_videoram") // + work RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ikari_cpuB_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::ikari_cpuB_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc000) AM_READWRITE(snk_cpuA_nmi_trigger_r, snk_cpuB_nmi_ack_w)
AM_RANGE(0xc980, 0xc980) AM_WRITE(ikari_unknown_video_w)
@@ -1180,7 +1180,7 @@ static ADDRESS_MAP_START( ikari_cpuB_map, AS_PROGRAM, 8, snk_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bermudat_cpuA_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::bermudat_cpuA_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("IN0")
AM_RANGE(0xc100, 0xc100) AM_READ_PORT("IN1")
@@ -1224,7 +1224,7 @@ static ADDRESS_MAP_START( bermudat_cpuA_map, AS_PROGRAM, 8, snk_state )
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(snk_tx_videoram_w) AM_SHARE("tx_videoram") // + work RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bermudat_cpuB_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::bermudat_cpuB_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc700, 0xc700) AM_READWRITE(snk_cpuA_nmi_trigger_r, snk_cpuB_nmi_ack_w)
AM_RANGE(0xc800, 0xc800) AM_WRITE(snk_bg_scrolly_w)
@@ -1243,7 +1243,7 @@ static ADDRESS_MAP_START( bermudat_cpuB_map, AS_PROGRAM, 8, snk_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gwar_cpuA_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::gwar_cpuA_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("IN0")
AM_RANGE(0xc100, 0xc100) AM_READ_PORT("IN1")
@@ -1270,7 +1270,7 @@ static ADDRESS_MAP_START( gwar_cpuA_map, AS_PROGRAM, 8, snk_state )
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(snk_tx_videoram_w) AM_SHARE("tx_videoram") // + work RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gwar_cpuB_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::gwar_cpuB_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc000) AM_READWRITE(snk_cpuA_nmi_trigger_r, snk_cpuB_nmi_ack_w)
AM_RANGE(0xc8c0, 0xc8c0) AM_WRITE(gwar_tx_bank_w) // char and palette bank
@@ -1281,7 +1281,7 @@ static ADDRESS_MAP_START( gwar_cpuB_map, AS_PROGRAM, 8, snk_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gwara_cpuA_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::gwara_cpuA_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("IN0")
AM_RANGE(0xc100, 0xc100) AM_READ_PORT("IN1")
@@ -1307,7 +1307,7 @@ static ADDRESS_MAP_START( gwara_cpuA_map, AS_PROGRAM, 8, snk_state )
AM_RANGE(0xfac0, 0xfac0) AM_WRITE(snk_sprite_split_point_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gwara_cpuB_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::gwara_cpuB_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc000) AM_READWRITE(snk_cpuA_nmi_trigger_r, snk_cpuB_nmi_ack_w)
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(snk_tx_videoram_w) AM_SHARE("tx_videoram")
@@ -1318,7 +1318,7 @@ static ADDRESS_MAP_START( gwara_cpuB_map, AS_PROGRAM, 8, snk_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tdfever_cpuA_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::tdfever_cpuA_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("IN0")
AM_RANGE(0xc080, 0xc080) AM_READ_PORT("IN1")
@@ -1348,7 +1348,7 @@ static ADDRESS_MAP_START( tdfever_cpuA_map, AS_PROGRAM, 8, snk_state )
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(snk_tx_videoram_w) AM_SHARE("tx_videoram") // + work RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tdfever_cpuB_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::tdfever_cpuB_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc000) AM_READWRITE(snk_cpuA_nmi_trigger_r, snk_cpuB_nmi_ack_w) // tdfever, tdfever2
AM_RANGE(0xc700, 0xc700) AM_READWRITE(snk_cpuA_nmi_trigger_r, snk_cpuB_nmi_ack_w) // fsoccer
@@ -1361,7 +1361,7 @@ ADDRESS_MAP_END
/***********************************************************************/
-static ADDRESS_MAP_START( marvins_sound_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::marvins_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x4000) AM_READ(marvins_soundlatch_r)
AM_RANGE(0x8000, 0x8001) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
@@ -1371,13 +1371,13 @@ static ADDRESS_MAP_START( marvins_sound_map, AS_PROGRAM, 8, snk_state )
AM_RANGE(0xe000, 0xe7ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( marvins_sound_portmap, AS_IO, 8, snk_state )
+ADDRESS_MAP_START(snk_state::marvins_sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READNOP // read on startup, then the Z80 automatically pulls down the IORQ pin to ack irq
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jcross_sound_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::jcross_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa000) AM_READ(sgladiat_soundlatch_r)
@@ -1387,13 +1387,13 @@ static ADDRESS_MAP_START( jcross_sound_map, AS_PROGRAM, 8, snk_state )
AM_RANGE(0xe004, 0xe005) AM_DEVWRITE("ay2", ay8910_device, address_data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jcross_sound_portmap, AS_IO, 8, snk_state )
+ADDRESS_MAP_START(snk_state::jcross_sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(sgladiat_sound_irq_ack_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hal21_sound_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::hal21_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa000) AM_READ(sgladiat_soundlatch_r)
@@ -1403,13 +1403,13 @@ static ADDRESS_MAP_START( hal21_sound_map, AS_PROGRAM, 8, snk_state )
AM_RANGE(0xe008, 0xe009) AM_DEVWRITE("ay2", ay8910_device, address_data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hal21_sound_portmap, AS_IO, 8, snk_state )
+ADDRESS_MAP_START(snk_state::hal21_sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READNOP // read on startup, then the Z80 automatically pulls down the IORQ pin to ack irq
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tnk3_YM3526_sound_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::tnk3_YM3526_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -1419,7 +1419,7 @@ static ADDRESS_MAP_START( tnk3_YM3526_sound_map, AS_PROGRAM, 8, snk_state )
AM_RANGE(0xe006, 0xe006) AM_READ(tnk3_ymirq_ack_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( aso_YM3526_sound_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::aso_YM3526_sound_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xd000, 0xd000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -1430,7 +1430,7 @@ static ADDRESS_MAP_START( aso_YM3526_sound_map, AS_PROGRAM, 8, snk_state )
AM_RANGE(0xf006, 0xf006) AM_READ(tnk3_ymirq_ack_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( YM3526_YM3526_sound_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::YM3526_YM3526_sound_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xe000, 0xe000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -1441,7 +1441,7 @@ static ADDRESS_MAP_START( YM3526_YM3526_sound_map, AS_PROGRAM, 8, snk_state )
AM_RANGE(0xf800, 0xf800) AM_READWRITE(snk_sound_status_r, snk_sound_status_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( YM3812_sound_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::YM3812_sound_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xe000, 0xe000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -1450,7 +1450,7 @@ static ADDRESS_MAP_START( YM3812_sound_map, AS_PROGRAM, 8, snk_state )
AM_RANGE(0xf800, 0xf800) AM_READWRITE(snk_sound_status_r, snk_sound_status_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( YM3526_Y8950_sound_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::YM3526_Y8950_sound_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xe000, 0xe000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -1461,7 +1461,7 @@ static ADDRESS_MAP_START( YM3526_Y8950_sound_map, AS_PROGRAM, 8, snk_state )
AM_RANGE(0xf800, 0xf800) AM_READWRITE(snk_sound_status_r, snk_sound_status_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( YM3812_Y8950_sound_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::YM3812_Y8950_sound_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xe000, 0xe000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -1472,7 +1472,7 @@ static ADDRESS_MAP_START( YM3812_Y8950_sound_map, AS_PROGRAM, 8, snk_state )
AM_RANGE(0xf800, 0xf800) AM_READWRITE(snk_sound_status_r, snk_sound_status_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( Y8950_sound_map, AS_PROGRAM, 8, snk_state )
+ADDRESS_MAP_START(snk_state::Y8950_sound_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xe000, 0xe000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/snk6502.cpp b/src/mame/drivers/snk6502.cpp
index 44ba340176f..6bd071c6b8f 100644
--- a/src/mame/drivers/snk6502.cpp
+++ b/src/mame/drivers/snk6502.cpp
@@ -347,7 +347,7 @@ CUSTOM_INPUT_MEMBER(snk6502_state::sasuke_count_r)
*
*************************************/
-static ADDRESS_MAP_START( sasuke_map, AS_PROGRAM, 8, snk6502_state )
+ADDRESS_MAP_START(snk6502_state::sasuke_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(videoram2_w) AM_SHARE("videoram2")
AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
@@ -366,7 +366,7 @@ static ADDRESS_MAP_START( sasuke_map, AS_PROGRAM, 8, snk6502_state )
AM_RANGE(0xf800, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( satansat_map, AS_PROGRAM, 8, snk6502_state )
+ADDRESS_MAP_START(snk6502_state::satansat_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(videoram2_w) AM_SHARE("videoram2")
AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
@@ -385,7 +385,7 @@ static ADDRESS_MAP_START( satansat_map, AS_PROGRAM, 8, snk6502_state )
AM_RANGE(0xf800, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vanguard_map, AS_PROGRAM, 8, snk6502_state )
+ADDRESS_MAP_START(snk6502_state::vanguard_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(videoram2_w) AM_SHARE("videoram2")
AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
@@ -406,7 +406,7 @@ static ADDRESS_MAP_START( vanguard_map, AS_PROGRAM, 8, snk6502_state )
AM_RANGE(0xf000, 0xffff) AM_ROM /* for the reset / interrupt vectors */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fantasy_map, AS_PROGRAM, 8, snk6502_state )
+ADDRESS_MAP_START(snk6502_state::fantasy_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(videoram2_w) AM_SHARE("videoram2")
AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
@@ -427,7 +427,7 @@ static ADDRESS_MAP_START( fantasy_map, AS_PROGRAM, 8, snk6502_state )
AM_RANGE(0xf000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pballoon_map, AS_PROGRAM, 8, snk6502_state )
+ADDRESS_MAP_START(snk6502_state::pballoon_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(videoram2_w) AM_SHARE("videoram2")
AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
diff --git a/src/mame/drivers/snk68.cpp b/src/mame/drivers/snk68.cpp
index 87eb1995577..50e436cc871 100644
--- a/src/mame/drivers/snk68.cpp
+++ b/src/mame/drivers/snk68.cpp
@@ -104,7 +104,7 @@ WRITE8_MEMBER(snk68_state::sound_w)
/*******************************************************************************/
-static ADDRESS_MAP_START( pow_map, AS_PROGRAM, 16, snk68_state )
+ADDRESS_MAP_START(snk68_state::pow_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x043fff) AM_RAM
AM_RANGE(0x080000, 0x080001) AM_READ(control_1_r)
@@ -121,7 +121,7 @@ static ADDRESS_MAP_START( pow_map, AS_PROGRAM, 16, snk68_state )
AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( searchar_map, AS_PROGRAM, 16, snk68_state )
+ADDRESS_MAP_START(snk68_state::searchar_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x043fff) AM_RAM
AM_RANGE(0x080000, 0x080005) AM_READ(protcontrols_r) /* Player 1 & 2 */
@@ -145,7 +145,7 @@ ADDRESS_MAP_END
/******************************************************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, snk68_state )
+ADDRESS_MAP_START(snk68_state::sound_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xf800) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_DEVWRITE("soundlatch2", generic_latch_8_device, write)
@@ -163,7 +163,7 @@ WRITE8_MEMBER(snk68_state::D7759_upd_reset_w)
m_upd7759->reset_w(data & 0x80);
}
-static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, snk68_state )
+ADDRESS_MAP_START(snk68_state::sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("ymsnd", ym3812_device, status_port_r, control_port_w)
AM_RANGE(0x20, 0x20) AM_DEVWRITE("ymsnd", ym3812_device, write_port_w)
diff --git a/src/mame/drivers/snookr10.cpp b/src/mame/drivers/snookr10.cpp
index a887fbe250d..9b90455f256 100644
--- a/src/mame/drivers/snookr10.cpp
+++ b/src/mame/drivers/snookr10.cpp
@@ -764,7 +764,7 @@ READ8_MEMBER(snookr10_state::port2000_8_r)
* Memory map information *
*************************/
-static ADDRESS_MAP_START( snookr10_map, AS_PROGRAM, 8, snookr10_state )
+ADDRESS_MAP_START(snookr10_state::snookr10_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram") /* battery backed 6116 */
AM_RANGE(0x1000, 0x1000) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0x3000, 0x3000) AM_READ_PORT("IN0") /* IN0 */
@@ -779,7 +779,7 @@ static ADDRESS_MAP_START( snookr10_map, AS_PROGRAM, 8, snookr10_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tenballs_map, AS_PROGRAM, 8, snookr10_state )
+ADDRESS_MAP_START(snookr10_state::tenballs_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram") /* battery backed 6116 */
AM_RANGE(0x1000, 0x1000) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0x4000, 0x4000) AM_READ_PORT("IN0") /* IN0 */
@@ -793,7 +793,7 @@ static ADDRESS_MAP_START( tenballs_map, AS_PROGRAM, 8, snookr10_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( crystalc_map, AS_PROGRAM, 8, snookr10_state )
+ADDRESS_MAP_START(snookr10_state::crystalc_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram") /* battery backed 6116 */
AM_RANGE(0x1000, 0x1000) AM_WRITE(output_port_0_w) /* OUT0 */
AM_RANGE(0x1001, 0x1001) AM_WRITE(output_port_1_w) /* OUT1 */
diff --git a/src/mame/drivers/snowbros.cpp b/src/mame/drivers/snowbros.cpp
index 6d89c5ff4fc..090c2af4171 100644
--- a/src/mame/drivers/snowbros.cpp
+++ b/src/mame/drivers/snowbros.cpp
@@ -191,7 +191,7 @@ READ16_MEMBER(snowbros_state::toto_read)
/* Snow Bros Memory Map */
-static ADDRESS_MAP_START( snowbros_map, AS_PROGRAM, 16, snowbros_state )
+ADDRESS_MAP_START(snowbros_state::snowbros_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM
AM_RANGE(0x200000, 0x200001) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
@@ -208,12 +208,12 @@ static ADDRESS_MAP_START( snowbros_map, AS_PROGRAM, 16, snowbros_state )
AM_RANGE(0xa00000, 0xa00001) AM_WRITE(snowbros_irq2_ack_w) /* IRQ 2 acknowledge */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, snowbros_state )
+ADDRESS_MAP_START(snowbros_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, snowbros_state )
+ADDRESS_MAP_START(snowbros_state::sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x02, 0x03) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
AM_RANGE(0x04, 0x04) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -265,17 +265,17 @@ WRITE8_MEMBER(snowbros_state::prot_io_w)
}
/* Semicom AT89C52 MCU */
-static ADDRESS_MAP_START( protection_map, AS_PROGRAM, 8, snowbros_state )
+ADDRESS_MAP_START(snowbros_state::protection_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( protection_iomap, AS_IO, 8, snowbros_state )
+ADDRESS_MAP_START(snowbros_state::protection_iomap)
AM_RANGE(MCS51_PORT_P0, MCS51_PORT_P3) AM_READWRITE(prot_io_r,prot_io_w)
ADDRESS_MAP_END
/* Winter Bobble - bootleg GFX chip */
-static ADDRESS_MAP_START( wintbob_map, AS_PROGRAM, 16, snowbros_state )
+ADDRESS_MAP_START(snowbros_state::wintbob_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM
AM_RANGE(0x200000, 0x200001) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
@@ -294,7 +294,7 @@ ADDRESS_MAP_END
/* Honey Dolls */
-static ADDRESS_MAP_START( honeydol_map, AS_PROGRAM, 16, snowbros_state )
+ADDRESS_MAP_START(snowbros_state::honeydol_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_SHARE("hyperpac_ram")
AM_RANGE(0x200000, 0x200001) AM_WRITENOP /* ? */
@@ -310,13 +310,13 @@ static ADDRESS_MAP_START( honeydol_map, AS_PROGRAM, 16, snowbros_state )
AM_RANGE(0xb00000, 0xb01fff) AM_RAM AM_SHARE("spriteram16b")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( honeydol_sound_map, AS_PROGRAM, 8, snowbros_state )
+ADDRESS_MAP_START(snowbros_state::honeydol_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xe010, 0xe010) AM_DEVREADWRITE("oki", okim6295_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( honeydol_sound_io_map, AS_IO, 8, snowbros_state )
+ADDRESS_MAP_START(snowbros_state::honeydol_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x02, 0x03) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write) // not connected?
AM_RANGE(0x04, 0x04) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -325,7 +325,7 @@ ADDRESS_MAP_END
/* Twin Adventure */
-static ADDRESS_MAP_START( twinadv_map, AS_PROGRAM, 16, snowbros_state )
+ADDRESS_MAP_START(snowbros_state::twinadv_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x200001) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
@@ -352,7 +352,7 @@ WRITE8_MEMBER(snowbros_state::twinadv_oki_bank_w)
m_oki->set_rom_bank(bank);
}
-static ADDRESS_MAP_START( twinadv_sound_io_map, AS_IO, 8, snowbros_state )
+ADDRESS_MAP_START(snowbros_state::twinadv_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x02, 0x02) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0x02, 0x02) AM_DEVWRITE("soundlatch2", generic_latch_8_device, write) // back to 68k?
@@ -368,7 +368,7 @@ sound hardware is also different
*/
-static ADDRESS_MAP_START( hyperpac_map, AS_PROGRAM, 16, snowbros_state )
+ADDRESS_MAP_START(snowbros_state::hyperpac_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_SHARE("hyperpac_ram")
AM_RANGE(0x300000, 0x300001) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
@@ -384,7 +384,7 @@ static ADDRESS_MAP_START( hyperpac_map, AS_PROGRAM, 16, snowbros_state )
AM_RANGE(0xa00000, 0xa00001) AM_WRITE(snowbros_irq2_ack_w) /* IRQ 2 acknowledge */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hyperpac_sound_map, AS_PROGRAM, 8, snowbros_state )
+ADDRESS_MAP_START(snowbros_state::hyperpac_sound_map)
AM_RANGE(0x0000, 0xcfff) AM_ROM
AM_RANGE(0xd000, 0xd7ff) AM_RAM
AM_RANGE(0xf000, 0xf001) AM_DEVREADWRITE("ymsnd", ym2151_device,read,write)
@@ -499,7 +499,7 @@ WRITE16_MEMBER(snowbros_state::sb3_sound_w)
-static ADDRESS_MAP_START( snowbros3_map, AS_PROGRAM, 16, snowbros_state )
+ADDRESS_MAP_START(snowbros_state::snowbros3_map)
AM_RANGE( 0x000000, 0x03ffff) AM_ROM
AM_RANGE( 0x100000, 0x103fff) AM_RAM
AM_RANGE( 0x200000, 0x200001) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
@@ -518,7 +518,7 @@ ADDRESS_MAP_END
/* Final Tetris */
-static ADDRESS_MAP_START( finalttr_map, AS_PROGRAM, 16, snowbros_state )
+ADDRESS_MAP_START(snowbros_state::finalttr_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM AM_SHARE("hyperpac_ram")
AM_RANGE(0x300000, 0x300001) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
@@ -536,7 +536,7 @@ static ADDRESS_MAP_START( finalttr_map, AS_PROGRAM, 16, snowbros_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( yutnori_map, AS_PROGRAM, 16, snowbros_state )
+ADDRESS_MAP_START(snowbros_state::yutnori_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
// 0x100000 clr.w on startup
diff --git a/src/mame/drivers/socrates.cpp b/src/mame/drivers/socrates.cpp
index cdd4cc3a526..22c85530354 100644
--- a/src/mame/drivers/socrates.cpp
+++ b/src/mame/drivers/socrates.cpp
@@ -194,6 +194,10 @@ public:
void socrates_pal(machine_config &config);
void socrates(machine_config &config);
+ void socrates_rambank_map(address_map &map);
+ void socrates_rombank_map(address_map &map);
+ void z80_io(address_map &map);
+ void z80_mem(address_map &map);
protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
};
@@ -214,6 +218,10 @@ public:
DECLARE_INPUT_CHANGED_MEMBER( send_input );
void iqunlimz(machine_config &config);
+ void iqunlimz_io(address_map &map);
+ void iqunlimz_mem(address_map &map);
+ void iqunlimz_rambank_map(address_map &map);
+ void iqunlimz_rombank_map(address_map &map);
protected:
virtual void machine_reset() override;
int get_color(int index, int y);
@@ -969,7 +977,7 @@ INPUT_CHANGED_MEMBER( iqunlimz_state::send_input )
Address Maps
******************************************************************************/
-static ADDRESS_MAP_START(z80_mem, AS_PROGRAM, 8, socrates_state )
+ADDRESS_MAP_START(socrates_state::z80_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_ROM /* system rom, bank 0 (fixed) */
AM_RANGE(0x4000, 0x7fff) AM_DEVICE("rombank1", address_map_bank_device, amap8) /* banked rom space; system rom is banks 0 through F, cartridge rom is banks 10 onward, usually banks 10 through 17. area past the end of the cartridge, and the whole 10-ff area when no cartridge is inserted, reads as 0xF3 */
@@ -977,19 +985,19 @@ static ADDRESS_MAP_START(z80_mem, AS_PROGRAM, 8, socrates_state )
AM_RANGE(0xc000, 0xffff) AM_DEVICE("rambank2", address_map_bank_device, amap8) /* banked ram 'window' 1 */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( socrates_rombank_map, AS_PROGRAM, 8, socrates_state )
+ADDRESS_MAP_START(socrates_state::socrates_rombank_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_REGION("maincpu", 0) AM_MIRROR(0xF00000) // xxxx 00** **** **** **** ****
AM_RANGE(0x040000, 0x07ffff) AM_READ(socrates_cart_r) AM_SELECT(0xF80000) // **** *1** **** **** **** ****
AM_RANGE(0x080000, 0x0bffff) AM_READ(read_f3) // xxxx 10** **** **** **** ****
ADDRESS_MAP_END
-static ADDRESS_MAP_START( socrates_rambank_map, AS_PROGRAM, 8, socrates_state )
+ADDRESS_MAP_START(socrates_state::socrates_rambank_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xffff) AM_RAM AM_REGION("vram", 0) AM_MIRROR(0x30000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(z80_io, AS_IO, 8, socrates_state )
+ADDRESS_MAP_START(socrates_state::z80_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READWRITE(common_rom_bank_r, common_rom_bank_w) AM_MIRROR(0x7) /* rom bank select - RW - 8 bits */
@@ -1014,7 +1022,7 @@ static ADDRESS_MAP_START(z80_io, AS_IO, 8, socrates_state )
AM_RANGE(0x70, 0xFF) AM_READ(read_f3) // nothing mapped here afaik
ADDRESS_MAP_END
-static ADDRESS_MAP_START(iqunlimz_mem, AS_PROGRAM, 8, iqunlimz_state)
+ADDRESS_MAP_START(iqunlimz_state::iqunlimz_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_DEVICE("rombank2", address_map_bank_device, amap8)
AM_RANGE(0x4000, 0x7fff) AM_DEVICE("rombank1", address_map_bank_device, amap8)
@@ -1022,19 +1030,19 @@ static ADDRESS_MAP_START(iqunlimz_mem, AS_PROGRAM, 8, iqunlimz_state)
AM_RANGE(0xc000, 0xffff) AM_DEVICE("rambank2", address_map_bank_device, amap8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( iqunlimz_rombank_map, AS_PROGRAM, 8, iqunlimz_state )
+ADDRESS_MAP_START(iqunlimz_state::iqunlimz_rombank_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_REGION("maincpu", 0) AM_MIRROR(0xF00000) // xxxx 00** **** **** **** ****
AM_RANGE(0x040000, 0x07ffff) AM_READ(socrates_cart_r) AM_SELECT(0xF80000) // **** *1** **** **** **** ****
AM_RANGE(0x080000, 0x0bffff) AM_ROM AM_REGION("maincpu", 0x40000) AM_MIRROR(0xF00000)// xxxx 10** **** **** **** ****
ADDRESS_MAP_END
-static ADDRESS_MAP_START( iqunlimz_rambank_map, AS_PROGRAM, 8, iqunlimz_state )
+ADDRESS_MAP_START(iqunlimz_state::iqunlimz_rambank_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3ffff) AM_RAM AM_REGION("vram", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( iqunlimz_io , AS_IO, 8, iqunlimz_state)
+ADDRESS_MAP_START(iqunlimz_state::iqunlimz_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_READWRITE(common_rom_bank_r, common_rom_bank_w) AM_MIRROR(0x06)
diff --git a/src/mame/drivers/softbox.cpp b/src/mame/drivers/softbox.cpp
index 011ade084cf..4ec2dc79c40 100644
--- a/src/mame/drivers/softbox.cpp
+++ b/src/mame/drivers/softbox.cpp
@@ -123,7 +123,7 @@ WRITE8_MEMBER( softbox_state::dbrg_w )
// ADDRESS_MAP( softbox_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( softbox_mem, AS_PROGRAM, 8, softbox_state )
+ADDRESS_MAP_START(softbox_state::softbox_mem)
AM_RANGE(0x0000, 0xefff) AM_RAM
AM_RANGE(0xf000, 0xffff) AM_ROM AM_REGION(Z80_TAG, 0)
ADDRESS_MAP_END
@@ -133,7 +133,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( softbox_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( softbox_io, AS_IO, 8, softbox_state )
+ADDRESS_MAP_START(softbox_state::softbox_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x08, 0x08) AM_DEVREADWRITE(I8251_TAG, i8251_device, data_r, data_w)
AM_RANGE(0x09, 0x09) AM_DEVREADWRITE(I8251_TAG, i8251_device, status_r, control_w)
diff --git a/src/mame/drivers/solomon.cpp b/src/mame/drivers/solomon.cpp
index 24af361061b..63a4c4d275c 100644
--- a/src/mame/drivers/solomon.cpp
+++ b/src/mame/drivers/solomon.cpp
@@ -49,7 +49,7 @@ WRITE8_MEMBER(solomon_state::nmi_mask_w)
m_nmi_mask = data & 1;
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, solomon_state )
+ADDRESS_MAP_START(solomon_state::main_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(solomon_colorram_w) AM_SHARE("colorram")
@@ -71,14 +71,14 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, solomon_state )
AM_RANGE(0xf000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, solomon_state )
+ADDRESS_MAP_START(solomon_state::sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x8000, 0x8000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0xffff, 0xffff) AM_WRITENOP /* watchdog? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, solomon_state )
+ADDRESS_MAP_START(solomon_state::sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x11) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
AM_RANGE(0x20, 0x21) AM_DEVWRITE("ay2", ay8910_device, address_data_w)
diff --git a/src/mame/drivers/sonson.cpp b/src/mame/drivers/sonson.cpp
index f1027234371..126d7fb8fd2 100644
--- a/src/mame/drivers/sonson.cpp
+++ b/src/mame/drivers/sonson.cpp
@@ -78,7 +78,7 @@ WRITE_LINE_MEMBER(sonson_state::coin2_counter_w)
machine().bookkeeping().coin_counter_w(1, state);
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, sonson_state )
+ADDRESS_MAP_START(sonson_state::main_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(sonson_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(sonson_colorram_w) AM_SHARE("colorram")
@@ -95,7 +95,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, sonson_state )
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, sonson_state )
+ADDRESS_MAP_START(sonson_state::sound_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x2000, 0x2001) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
AM_RANGE(0x4000, 0x4001) AM_DEVWRITE("ay2", ay8910_device, address_data_w)
diff --git a/src/mame/drivers/sorcerer.cpp b/src/mame/drivers/sorcerer.cpp
index d5b00609e4c..1cf32893baa 100644
--- a/src/mame/drivers/sorcerer.cpp
+++ b/src/mame/drivers/sorcerer.cpp
@@ -168,7 +168,7 @@ NOTES (2016-06-06)
#include "speaker.h"
-static ADDRESS_MAP_START( sorcerer_mem, AS_PROGRAM, 8, sorcerer_state)
+ADDRESS_MAP_START(sorcerer_state::sorcerer_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x07ff) AM_RAMBANK("boot")
AM_RANGE(0x0800, 0xbfff) AM_RAM
@@ -179,7 +179,7 @@ static ADDRESS_MAP_START( sorcerer_mem, AS_PROGRAM, 8, sorcerer_state)
AM_RANGE(0xfc00, 0xffff) AM_RAM AM_REGION("maincpu", 0xfc00) /* programmable chars */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sorcererd_mem, AS_PROGRAM, 8, sorcerer_state)
+ADDRESS_MAP_START(sorcerer_state::sorcererd_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x07ff) AM_RAMBANK("boot")
AM_RANGE(0x0800, 0xbbff) AM_RAM
@@ -192,7 +192,7 @@ static ADDRESS_MAP_START( sorcererd_mem, AS_PROGRAM, 8, sorcerer_state)
AM_RANGE(0xfc00, 0xffff) AM_RAM AM_REGION("maincpu", 0xfc00) /* programmable chars */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sorcerer_io, AS_IO, 8, sorcerer_state)
+ADDRESS_MAP_START(sorcerer_state::sorcerer_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xfc, 0xfc) AM_READWRITE( sorcerer_fc_r, sorcerer_fc_w )
diff --git a/src/mame/drivers/sothello.cpp b/src/mame/drivers/sothello.cpp
index 5166a2ddd81..76f111bdb52 100644
--- a/src/mame/drivers/sothello.cpp
+++ b/src/mame/drivers/sothello.cpp
@@ -74,6 +74,11 @@ public:
DECLARE_WRITE_LINE_MEMBER(adpcm_int);
void sothello(machine_config &config);
+ void maincpu_io_map(address_map &map);
+ void maincpu_mem_map(address_map &map);
+ void soundcpu_io_map(address_map &map);
+ void soundcpu_mem_map(address_map &map);
+ void subcpu_mem_map(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -161,14 +166,14 @@ READ8_MEMBER(sothello_state::soundcpu_status_r)
return m_soundcpu_busy;
}
-static ADDRESS_MAP_START( maincpu_mem_map, AS_PROGRAM, 8, sothello_state )
+ADDRESS_MAP_START(sothello_state::maincpu_mem_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("mainbank")
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_MIRROR(0x1800) AM_SHARE("mainsub")
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( maincpu_io_map, AS_IO, 8, sothello_state )
+ADDRESS_MAP_START(sothello_state::maincpu_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x00, 0x0f) AM_READ_PORT("INPUT1")
AM_RANGE( 0x10, 0x1f) AM_READ_PORT("INPUT2")
@@ -218,12 +223,12 @@ WRITE8_MEMBER(sothello_state::soundcpu_int_clear_w)
m_soundcpu->set_input_line(0, CLEAR_LINE);
}
-static ADDRESS_MAP_START( soundcpu_mem_map, AS_PROGRAM, 8, sothello_state )
+ADDRESS_MAP_START(sothello_state::soundcpu_mem_map)
AM_RANGE(0x0000, 0xdfff) AM_ROM AM_REGION("soundcpu", 0)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( soundcpu_io_map, AS_IO, 8, sothello_state )
+ADDRESS_MAP_START(sothello_state::soundcpu_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0x01, 0x01) AM_WRITE(msm_data_w)
@@ -258,7 +263,7 @@ READ8_MEMBER(sothello_state::subcpu_status_r)
return 0;
}
-static ADDRESS_MAP_START( subcpu_mem_map, AS_PROGRAM, 8, sothello_state )
+ADDRESS_MAP_START(sothello_state::subcpu_mem_map)
AM_RANGE(0x0000, 0x1fff) AM_READWRITE(subcpu_status_r, subcpu_status_w)
AM_RANGE(0x2000, 0x77ff) AM_RAM
AM_RANGE(0x7800, 0x7fff) AM_RAM AM_SHARE("mainsub") /* upper 0x800 of 6264 is shared with main cpu */
diff --git a/src/mame/drivers/spacefb.cpp b/src/mame/drivers/spacefb.cpp
index 0e93c4f390e..94aa1686437 100644
--- a/src/mame/drivers/spacefb.cpp
+++ b/src/mame/drivers/spacefb.cpp
@@ -206,7 +206,7 @@ void spacefb_state::machine_reset()
*
*************************************/
-static ADDRESS_MAP_START( spacefb_main_map, AS_PROGRAM, 8, spacefb_state )
+ADDRESS_MAP_START(spacefb_state::spacefb_main_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_NOP
AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x3c00) AM_RAM AM_SHARE("videoram")
@@ -215,7 +215,7 @@ static ADDRESS_MAP_START( spacefb_main_map, AS_PROGRAM, 8, spacefb_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spacefb_audio_map, AS_PROGRAM, 8, spacefb_state )
+ADDRESS_MAP_START(spacefb_state::spacefb_audio_map)
ADDRESS_MAP_GLOBAL_MASK(0x3ff)
AM_RANGE(0x0000, 0x03ff) AM_ROM
ADDRESS_MAP_END
@@ -228,7 +228,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( spacefb_main_io_map, AS_IO, 8, spacefb_state )
+ADDRESS_MAP_START(spacefb_state::spacefb_main_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7)
AM_RANGE(0x00, 0x00) AM_READ_PORT("P1")
AM_RANGE(0x01, 0x01) AM_READ_PORT("P2")
diff --git a/src/mame/drivers/spaceg.cpp b/src/mame/drivers/spaceg.cpp
index 961833917d5..3d6cd47143d 100644
--- a/src/mame/drivers/spaceg.cpp
+++ b/src/mame/drivers/spaceg.cpp
@@ -215,6 +215,7 @@ public:
uint8_t m_sound3;
void spaceg(machine_config &config);
+ void spaceg_map(address_map &map);
protected:
virtual void driver_start() override;
};
@@ -417,7 +418,7 @@ WRITE8_MEMBER(spaceg_state::sound3_w)
*
*************************************/
-static ADDRESS_MAP_START( spaceg_map, AS_PROGRAM, 8, spaceg_state )
+ADDRESS_MAP_START(spaceg_state::spaceg_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x3000, 0x3fff) AM_ROM
AM_RANGE(0x7000, 0x77ff) AM_RAM
diff --git a/src/mame/drivers/spartanxtec.cpp b/src/mame/drivers/spartanxtec.cpp
index 2b9a950fbba..c5915a83259 100644
--- a/src/mame/drivers/spartanxtec.cpp
+++ b/src/mame/drivers/spartanxtec.cpp
@@ -69,6 +69,9 @@ public:
DECLARE_WRITE8_MEMBER(sound_irq_ack);
DECLARE_WRITE8_MEMBER(irq_ack);
void spartanxtec(machine_config &config);
+ void spartanxtec_map(address_map &map);
+ void spartanxtec_sound_io(address_map &map);
+ void spartanxtec_sound_map(address_map &map);
};
@@ -174,7 +177,7 @@ WRITE8_MEMBER(spartanxtec_state::irq_ack)
}
-static ADDRESS_MAP_START( spartanxtec_map, AS_PROGRAM, 8, spartanxtec_state )
+ADDRESS_MAP_START(spartanxtec_state::spartanxtec_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc400, 0xc7ff) AM_RAM AM_SHARE("spriteram")
@@ -206,7 +209,7 @@ WRITE8_MEMBER(spartanxtec_state::sound_irq_ack)
}
-static ADDRESS_MAP_START( spartanxtec_sound_map, AS_PROGRAM, 8, spartanxtec_state )
+ADDRESS_MAP_START(spartanxtec_state::spartanxtec_sound_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM
@@ -214,7 +217,7 @@ static ADDRESS_MAP_START( spartanxtec_sound_map, AS_PROGRAM, 8, spartanxtec_stat
AM_RANGE(0xc000, 0xc000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spartanxtec_sound_io, AS_IO, 8, spartanxtec_state )
+ADDRESS_MAP_START(spartanxtec_state::spartanxtec_sound_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x0000, 0x0000) AM_WRITE( sound_irq_ack )
diff --git a/src/mame/drivers/spbactn.cpp b/src/mame/drivers/spbactn.cpp
index 33c331194c4..ae22ada2c5f 100644
--- a/src/mame/drivers/spbactn.cpp
+++ b/src/mame/drivers/spbactn.cpp
@@ -146,7 +146,7 @@ WRITE16_MEMBER(spbactn_state::main_irq_ack_w)
m_maincpu->set_input_line(M68K_IRQ_3, CLEAR_LINE);
}
-static ADDRESS_MAP_START( spbactn_map, AS_PROGRAM, 16, spbactn_state )
+ADDRESS_MAP_START(spbactn_state::spbactn_map)
AM_RANGE(0x00000, 0x3ffff) AM_ROM
AM_RANGE(0x40000, 0x43fff) AM_RAM // main ram
AM_RANGE(0x50000, 0x50fff) AM_RAM AM_SHARE("spvideoram")
@@ -195,7 +195,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( spbactnp_map, AS_PROGRAM, 16, spbactn_state )
+ADDRESS_MAP_START(spbactn_state::spbactnp_map)
AM_RANGE(0x00000, 0x3ffff) AM_ROM
AM_RANGE(0x40000, 0x43fff) AM_RAM // main ram
AM_RANGE(0x50000, 0x50fff) AM_RAM AM_SHARE("spvideoram")
@@ -218,7 +218,7 @@ static ADDRESS_MAP_START( spbactnp_map, AS_PROGRAM, 16, spbactn_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spbactn_sound_map, AS_PROGRAM, 8, spbactn_state )
+ADDRESS_MAP_START(spbactn_state::spbactn_sound_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xf800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
@@ -230,7 +230,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( spbactnp_extra_map, AS_PROGRAM, 8, spbactn_state )
+ADDRESS_MAP_START(spbactn_state::spbactnp_extra_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("extraram2")
AM_RANGE(0xe000, 0xefff) AM_RAM
diff --git a/src/mame/drivers/spc1000.cpp b/src/mame/drivers/spc1000.cpp
index 083017534f1..0949b141643 100644
--- a/src/mame/drivers/spc1000.cpp
+++ b/src/mame/drivers/spc1000.cpp
@@ -179,6 +179,8 @@ public:
}
void spc1000(machine_config &config);
+ void spc1000_io(address_map &map);
+ void spc1000_mem(address_map &map);
private:
uint8_t m_IPLK;
uint8_t m_GMODE;
@@ -198,7 +200,7 @@ private:
required_device<centronics_device> m_centronics;
};
-static ADDRESS_MAP_START(spc1000_mem, AS_PROGRAM, 8, spc1000_state )
+ADDRESS_MAP_START(spc1000_state::spc1000_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_READ_BANK("bank1") AM_WRITE_BANK("bank2")
AM_RANGE(0x8000, 0xffff) AM_READ_BANK("bank3") AM_WRITE_BANK("bank4")
@@ -262,7 +264,7 @@ READ8_MEMBER( spc1000_state::keyboard_r )
}
-static ADDRESS_MAP_START( spc1000_io , AS_IO, 8, spc1000_state )
+ADDRESS_MAP_START(spc1000_state::spc1000_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x2000, 0x3fff) AM_READWRITE(gmode_r, gmode_w)
diff --git a/src/mame/drivers/spc1500.cpp b/src/mame/drivers/spc1500.cpp
index bfbce6a4703..39d7a66077e 100644
--- a/src/mame/drivers/spc1500.cpp
+++ b/src/mame/drivers/spc1500.cpp
@@ -292,6 +292,8 @@ public:
MC6845_RECONFIGURE(crtc_reconfig);
TIMER_DEVICE_CALLBACK_MEMBER(timer);
void spc1500(machine_config &config);
+ void spc1500_double_io(address_map &map);
+ void spc1500_mem(address_map &map);
private:
uint8_t *m_p_ram;
uint8_t m_ipl;
@@ -677,7 +679,7 @@ READ8_MEMBER( spc1500_state::io_r)
return 0xff;
}
-static ADDRESS_MAP_START( spc1500_double_io , AS_IO, 8, spc1500_state )
+ADDRESS_MAP_START(spc1500_state::spc1500_double_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x2000, 0xffff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x0000, 0x17ff) AM_RAM AM_SHARE("pcgram")
@@ -812,7 +814,7 @@ static INPUT_PORTS_START( spc1500 )
PORT_BIT(0x80, IP_ACTIVE_HIGH,IPT_UNUSED) // DIP SW3 for 200/400 line
INPUT_PORTS_END
-static ADDRESS_MAP_START(spc1500_mem, AS_PROGRAM, 8, spc1500_state )
+ADDRESS_MAP_START(spc1500_state::spc1500_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_READ_BANK("bank1") AM_WRITE_BANK("bank2")
AM_RANGE(0x8000, 0xffff) AM_READWRITE_BANK("bank4")
diff --git a/src/mame/drivers/spcforce.cpp b/src/mame/drivers/spcforce.cpp
index 54294b91e1a..c0587014201 100644
--- a/src/mame/drivers/spcforce.cpp
+++ b/src/mame/drivers/spcforce.cpp
@@ -124,7 +124,7 @@ WRITE_LINE_MEMBER(spcforce_state::unknown_w)
// written very frequently
}
-static ADDRESS_MAP_START( spcforce_map, AS_PROGRAM, 8, spcforce_state )
+ADDRESS_MAP_START(spcforce_state::spcforce_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM
AM_RANGE(0x7000, 0x7000) AM_READ_PORT("DSW") AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
@@ -136,7 +136,7 @@ static ADDRESS_MAP_START( spcforce_map, AS_PROGRAM, 8, spcforce_state )
AM_RANGE(0xa000, 0xa3ff) AM_RAM AM_SHARE("scrollram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spcforce_sound_map, AS_PROGRAM, 8, spcforce_state )
+ADDRESS_MAP_START(spcforce_state::spcforce_sound_map)
AM_RANGE(0x0000, 0x07ff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/spdodgeb.cpp b/src/mame/drivers/spdodgeb.cpp
index d1af2e92106..bb091f32371 100644
--- a/src/mame/drivers/spdodgeb.cpp
+++ b/src/mame/drivers/spdodgeb.cpp
@@ -236,7 +236,7 @@ WRITE8_MEMBER(spdodgeb_state::mcu63701_w)
-static ADDRESS_MAP_START( spdodgeb_map, AS_PROGRAM, 8, spdodgeb_state )
+ADDRESS_MAP_START(spdodgeb_state::spdodgeb_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x10ff) AM_WRITEONLY AM_SHARE("spriteram")
AM_RANGE(0x2000, 0x2fff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
@@ -253,7 +253,7 @@ static ADDRESS_MAP_START( spdodgeb_map, AS_PROGRAM, 8, spdodgeb_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spdodgeb_sound_map, AS_PROGRAM, 8, spdodgeb_state )
+ADDRESS_MAP_START(spdodgeb_state::spdodgeb_sound_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x1000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0x2800, 0x2801) AM_DEVWRITE("ymsnd", ym3812_device, write)
diff --git a/src/mame/drivers/spec128.cpp b/src/mame/drivers/spec128.cpp
index ba72b11aa18..b8436c5bb71 100644
--- a/src/mame/drivers/spec128.cpp
+++ b/src/mame/drivers/spec128.cpp
@@ -233,7 +233,7 @@ READ8_MEMBER( spectrum_state::spectrum_128_ula_r )
return vpos<193 ? m_screen_location[0x1800|(vpos&0xf8)<<2]:0xff;
}
-static ADDRESS_MAP_START (spectrum_128_io, AS_IO, 8, spectrum_state )
+ADDRESS_MAP_START(spectrum_state::spectrum_128_io)
AM_RANGE(0x0000, 0x0000) AM_READWRITE(spectrum_port_fe_r,spectrum_port_fe_w) AM_SELECT(0xfffe)
AM_RANGE(0x0001, 0x0001) AM_WRITE(spectrum_128_port_7ffd_w) AM_MIRROR(0x7ffc) // (A15 | A1) == 0, note: reading from this port does write to it by value from data bus
AM_RANGE(0x8000, 0x8000) AM_DEVWRITE("ay8912", ay8910_device, data_w) AM_MIRROR(0x3ffd)
@@ -241,7 +241,7 @@ static ADDRESS_MAP_START (spectrum_128_io, AS_IO, 8, spectrum_state )
AM_RANGE(0x0001, 0x0001) AM_READ(spectrum_128_ula_r) AM_MIRROR(0xfffe)
ADDRESS_MAP_END
-static ADDRESS_MAP_START (spectrum_128_mem, AS_PROGRAM, 8, spectrum_state )
+ADDRESS_MAP_START(spectrum_state::spectrum_128_mem)
AM_RANGE( 0x0000, 0x3fff) AM_READWRITE(spectrum_128_bank1_r, spectrum_128_bank1_w)
AM_RANGE( 0x4000, 0x7fff) AM_RAMBANK("bank2")
AM_RANGE( 0x8000, 0xbfff) AM_RAMBANK("bank3")
diff --git a/src/mame/drivers/special.cpp b/src/mame/drivers/special.cpp
index de6509a33d0..944ca60d82e 100644
--- a/src/mame/drivers/special.cpp
+++ b/src/mame/drivers/special.cpp
@@ -19,7 +19,7 @@
/* Address maps */
-static ADDRESS_MAP_START(specialist_mem, AS_PROGRAM, 8, special_state )
+ADDRESS_MAP_START(special_state::specialist_mem)
AM_RANGE( 0x0000, 0x2fff ) AM_RAMBANK("bank1") // First bank
AM_RANGE( 0x3000, 0x8fff ) AM_RAM // RAM
AM_RANGE( 0x9000, 0xbfff ) AM_RAM AM_SHARE("videoram") // Video RAM
@@ -27,7 +27,7 @@ static ADDRESS_MAP_START(specialist_mem, AS_PROGRAM, 8, special_state )
AM_RANGE( 0xf800, 0xf803 ) AM_MIRROR(0x7fc) AM_DEVREADWRITE("ppi8255", i8255_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(specialp_mem, AS_PROGRAM, 8, special_state )
+ADDRESS_MAP_START(special_state::specialp_mem)
AM_RANGE( 0x0000, 0x2fff ) AM_RAMBANK("bank1") // First bank
AM_RANGE( 0x3000, 0x7fff ) AM_RAM // RAM
AM_RANGE( 0x8000, 0xbfff ) AM_RAM AM_SHARE("videoram") // Video RAM
@@ -35,7 +35,7 @@ static ADDRESS_MAP_START(specialp_mem, AS_PROGRAM, 8, special_state )
AM_RANGE( 0xf800, 0xf803 ) AM_MIRROR(0x7fc) AM_DEVREADWRITE("ppi8255", i8255_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(erik_mem, AS_PROGRAM, 8, special_state )
+ADDRESS_MAP_START(special_state::erik_mem)
AM_RANGE( 0x0000, 0x3fff ) AM_RAMBANK("bank1")
AM_RANGE( 0x4000, 0x8fff ) AM_RAMBANK("bank2")
AM_RANGE( 0x9000, 0xbfff ) AM_RAMBANK("bank3")
@@ -44,7 +44,7 @@ static ADDRESS_MAP_START(erik_mem, AS_PROGRAM, 8, special_state )
AM_RANGE( 0xf800, 0xffff ) AM_RAMBANK("bank6")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( erik_io_map, AS_IO, 8, special_state )
+ADDRESS_MAP_START(special_state::erik_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xf1, 0xf1) AM_READWRITE(erik_rr_reg_r, erik_rr_reg_w)
AM_RANGE(0xf2, 0xf2) AM_READWRITE(erik_rc_reg_r, erik_rc_reg_w)
@@ -52,7 +52,7 @@ static ADDRESS_MAP_START( erik_io_map, AS_IO, 8, special_state )
AM_RANGE(0xf4, 0xf7) AM_DEVREADWRITE("fd1793", fd1793_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(specimx_mem, AS_PROGRAM, 8, special_state )
+ADDRESS_MAP_START(special_state::specimx_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x8fff ) AM_RAMBANK("bank1")
AM_RANGE( 0x9000, 0xbfff ) AM_RAMBANK("bank2")
diff --git a/src/mame/drivers/specpls3.cpp b/src/mame/drivers/specpls3.cpp
index cd96c23a6b6..056c796efad 100644
--- a/src/mame/drivers/specpls3.cpp
+++ b/src/mame/drivers/specpls3.cpp
@@ -305,7 +305,7 @@ WRITE8_MEMBER( spectrum_state::spectrum_plus3_port_1ffd_w )
/* ports are not decoded full.
The function decodes the ports appropriately */
-static ADDRESS_MAP_START (spectrum_plus3_io, AS_IO, 8, spectrum_state )
+ADDRESS_MAP_START(spectrum_state::spectrum_plus3_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0000) AM_READWRITE(spectrum_port_fe_r,spectrum_port_fe_w) AM_SELECT(0xfffe)
AM_RANGE(0x4000, 0x4000) AM_WRITE(spectrum_plus3_port_7ffd_w) AM_MIRROR(0x3ffd)
@@ -316,7 +316,7 @@ static ADDRESS_MAP_START (spectrum_plus3_io, AS_IO, 8, spectrum_state )
AM_RANGE(0x3000, 0x3000) AM_READWRITE(spectrum_plus3_port_3ffd_r,spectrum_plus3_port_3ffd_w) AM_MIRROR(0x0ffd)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(spectrum_plus3_mem, AS_PROGRAM, 8, spectrum_state)
+ADDRESS_MAP_START(spectrum_state::spectrum_plus3_mem)
AM_RANGE(0x0000, 0x3fff) AM_ROMBANK("bank1")
AM_RANGE(0x4000, 0x7fff) AM_RAMBANK("bank2")
AM_RANGE(0x8000, 0xbfff) AM_RAMBANK("bank3")
diff --git a/src/mame/drivers/spectra.cpp b/src/mame/drivers/spectra.cpp
index a2fd0d8179b..a2a477306e8 100644
--- a/src/mame/drivers/spectra.cpp
+++ b/src/mame/drivers/spectra.cpp
@@ -63,6 +63,7 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(nmitimer);
TIMER_DEVICE_CALLBACK_MEMBER(outtimer);
void spectra(machine_config &config);
+ void spectra_map(address_map &map);
private:
uint8_t m_porta;
uint8_t m_portb;
@@ -76,7 +77,7 @@ private:
};
-static ADDRESS_MAP_START( spectra_map, AS_PROGRAM, 8, spectra_state )
+ADDRESS_MAP_START(spectra_state::spectra_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xfff)
AM_RANGE(0x0000, 0x00ff) AM_RAM AM_SHARE("nvram") // battery backed, 2x 5101L
diff --git a/src/mame/drivers/spectrum.cpp b/src/mame/drivers/spectrum.cpp
index 39c7974919d..efa61db70ce 100644
--- a/src/mame/drivers/spectrum.cpp
+++ b/src/mame/drivers/spectrum.cpp
@@ -431,7 +431,7 @@ READ8_MEMBER(spectrum_state::spectrum_port_ula_r)
/* Memory Maps */
-static ADDRESS_MAP_START (spectrum_mem, AS_PROGRAM, 8, spectrum_state )
+ADDRESS_MAP_START(spectrum_state::spectrum_mem)
AM_RANGE(0x0000, 0x3fff) AM_READWRITE(spectrum_rom_r, spectrum_rom_w)
AM_RANGE(0x4000, 0x5aff) AM_RAM AM_SHARE("video_ram")
// AM_RANGE(0x5b00, 0x7fff) AM_RAM
@@ -440,7 +440,7 @@ ADDRESS_MAP_END
/* ports are not decoded full.
The function decodes the ports appropriately */
-static ADDRESS_MAP_START (spectrum_io, AS_IO, 8, spectrum_state )
+ADDRESS_MAP_START(spectrum_state::spectrum_io)
AM_RANGE(0x00, 0x00) AM_READWRITE(spectrum_port_fe_r, spectrum_port_fe_w) AM_SELECT(0xfffe)
AM_RANGE(0x01, 0x01) AM_READ(spectrum_port_ula_r) AM_MIRROR(0xfffe)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/speedatk.cpp b/src/mame/drivers/speedatk.cpp
index ef814f9f401..7355b410ad3 100644
--- a/src/mame/drivers/speedatk.cpp
+++ b/src/mame/drivers/speedatk.cpp
@@ -181,7 +181,7 @@ WRITE8_MEMBER(speedatk_state::key_matrix_status_w)
m_coin_settings = m_km_status & 0xf;
}
-static ADDRESS_MAP_START( speedatk_mem, AS_PROGRAM, 8, speedatk_state )
+ADDRESS_MAP_START(speedatk_state::speedatk_mem)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8000) AM_READWRITE(key_matrix_r,key_matrix_w)
AM_RANGE(0x8001, 0x8001) AM_READWRITE(key_matrix_status_r,key_matrix_status_w)
@@ -191,7 +191,7 @@ static ADDRESS_MAP_START( speedatk_mem, AS_PROGRAM, 8, speedatk_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( speedatk_io, AS_IO, 8, speedatk_state )
+ADDRESS_MAP_START(speedatk_state::speedatk_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_WRITE(m6845_w) //h46505 address / data routing
AM_RANGE(0x24, 0x24) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
diff --git a/src/mame/drivers/speedbal.cpp b/src/mame/drivers/speedbal.cpp
index 881471817ea..b6c8f4081b2 100644
--- a/src/mame/drivers/speedbal.cpp
+++ b/src/mame/drivers/speedbal.cpp
@@ -54,7 +54,7 @@ WRITE8_MEMBER(speedbal_state::coincounter_w)
/* unknown: (data & 0x10) and (data & 4) */
}
-static ADDRESS_MAP_START( main_cpu_map, AS_PROGRAM, 8, speedbal_state )
+ADDRESS_MAP_START(speedbal_state::main_cpu_map)
AM_RANGE(0x0000, 0xdbff) AM_ROM
AM_RANGE(0xdc00, 0xdfff) AM_RAM AM_SHARE("share1") // shared with SOUND
AM_RANGE(0xe000, 0xe1ff) AM_RAM_WRITE(background_videoram_w) AM_SHARE("bg_videoram")
@@ -69,7 +69,7 @@ WRITE8_MEMBER(speedbal_state::maincpu_50_w)
//logerror("%s: maincpu_50_w %02x\n", this->machine().describe_context(), data);
}
-static ADDRESS_MAP_START( main_cpu_io_map, AS_IO, 8, speedbal_state )
+ADDRESS_MAP_START(speedbal_state::main_cpu_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW2")
AM_RANGE(0x10, 0x10) AM_READ_PORT("DSW1")
@@ -79,7 +79,7 @@ static ADDRESS_MAP_START( main_cpu_io_map, AS_IO, 8, speedbal_state )
AM_RANGE(0x50, 0x50) AM_WRITE(maincpu_50_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_cpu_map, AS_PROGRAM, 8, speedbal_state )
+ADDRESS_MAP_START(speedbal_state::sound_cpu_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xd800, 0xdbff) AM_RAM
AM_RANGE(0xdc00, 0xdfff) AM_RAM AM_SHARE("share1") // shared with MAIN CPU
@@ -117,7 +117,7 @@ WRITE8_MEMBER(speedbal_state::leds_shift_bit)
-static ADDRESS_MAP_START( sound_cpu_io_map, AS_IO, 8, speedbal_state )
+ADDRESS_MAP_START(speedbal_state::sound_cpu_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
AM_RANGE(0x40, 0x40) AM_WRITE(leds_output_block)
diff --git a/src/mame/drivers/speedspn.cpp b/src/mame/drivers/speedspn.cpp
index 3637d83b705..7801e7cca14 100644
--- a/src/mame/drivers/speedspn.cpp
+++ b/src/mame/drivers/speedspn.cpp
@@ -93,7 +93,7 @@ WRITE8_MEMBER(speedspn_state::okibank_w)
/* main cpu */
-static ADDRESS_MAP_START( program_map, AS_PROGRAM, 8, speedspn_state )
+ADDRESS_MAP_START(speedspn_state::program_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette") /* RAM COLOUR */
AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(attram_w) AM_SHARE("attram")
@@ -104,7 +104,7 @@ static ADDRESS_MAP_START( program_map, AS_PROGRAM, 8, speedspn_state )
AM_RANGE(0xc000, 0xffff) AM_ROMBANK("prgbank") /* banked ROM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, speedspn_state )
+ADDRESS_MAP_START(speedspn_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x07, 0x07) AM_WRITE(display_disable_w)
AM_RANGE(0x10, 0x10) AM_READ_PORT("SYSTEM")
@@ -118,7 +118,7 @@ ADDRESS_MAP_END
/* sound cpu */
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, speedspn_state )
+ADDRESS_MAP_START(speedspn_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_WRITE(okibank_w)
@@ -126,7 +126,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, speedspn_state )
AM_RANGE(0xa000, 0xa000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( oki_map, 0, 8, speedspn_state )
+ADDRESS_MAP_START(speedspn_state::oki_map)
AM_RANGE(0x00000, 0x1ffff) AM_ROM
AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK("okibank")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/speglsht.cpp b/src/mame/drivers/speglsht.cpp
index a1d29ea0526..cff93fb280b 100644
--- a/src/mame/drivers/speglsht.cpp
+++ b/src/mame/drivers/speglsht.cpp
@@ -145,10 +145,13 @@ public:
DECLARE_WRITE8_MEMBER(st0016_rom_bank_w);
void speglsht(machine_config &config);
+ void speglsht_mem(address_map &map);
+ void st0016_io(address_map &map);
+ void st0016_mem(address_map &map);
};
-static ADDRESS_MAP_START( st0016_mem, AS_PROGRAM, 8, speglsht_state )
+ADDRESS_MAP_START(speglsht_state::st0016_mem)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
//AM_RANGE(0xc000, 0xcfff) AM_READ(st0016_sprite_ram_r) AM_WRITE(st0016_sprite_ram_w)
@@ -173,7 +176,7 @@ WRITE8_MEMBER(speglsht_state::st0016_rom_bank_w)
}
-static ADDRESS_MAP_START( st0016_io, AS_IO, 8, speglsht_state )
+ADDRESS_MAP_START(speglsht_state::st0016_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
//AM_RANGE(0x00, 0xbf) AM_READ(st0016_vregs_r) AM_WRITE(st0016_vregs_w)
AM_RANGE(0xe1, 0xe1) AM_WRITE(st0016_rom_bank_w)
@@ -252,7 +255,7 @@ READ32_MEMBER(speglsht_state::irq_ack_clear)
return 0;
}
-static ADDRESS_MAP_START( speglsht_mem, AS_PROGRAM, 32, speglsht_state )
+ADDRESS_MAP_START(speglsht_state::speglsht_mem)
AM_RANGE(0x00000000, 0x000fffff) AM_RAM
AM_RANGE(0x01000000, 0x01007fff) AM_RAM //tested - STATIC RAM
AM_RANGE(0x01600000, 0x0160004f) AM_READWRITE(cop_r, cop_w) AM_SHARE("cop_ram")
diff --git a/src/mame/drivers/spiders.cpp b/src/mame/drivers/spiders.cpp
index 73a147bcfc3..10ed7094de8 100644
--- a/src/mame/drivers/spiders.cpp
+++ b/src/mame/drivers/spiders.cpp
@@ -415,7 +415,7 @@ READ8_MEMBER(spiders_state::gfx_rom_r)
*
*************************************/
-static ADDRESS_MAP_START( spiders_main_map, AS_PROGRAM, 8, spiders_state )
+ADDRESS_MAP_START(spiders_state::spiders_main_map)
AM_RANGE(0x0000, 0xbfff) AM_RAM AM_SHARE("ram")
AM_RANGE(0xc000, 0xc000) AM_DEVWRITE("crtc", mc6845_device, address_w)
AM_RANGE(0xc001, 0xc001) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
@@ -430,7 +430,7 @@ static ADDRESS_MAP_START( spiders_main_map, AS_PROGRAM, 8, spiders_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spiders_audio_map, AS_PROGRAM, 8, spiders_state )
+ADDRESS_MAP_START(spiders_state::spiders_audio_map)
AM_RANGE(0x0000, 0x007f) AM_RAM
AM_RANGE(0x0080, 0x0083) AM_DEVREADWRITE("pia4", pia6821_device, read, write)
AM_RANGE(0xf800, 0xffff) AM_ROM
diff --git a/src/mame/drivers/spinb.cpp b/src/mame/drivers/spinb.cpp
index 923b12c6805..a4bf7be936e 100644
--- a/src/mame/drivers/spinb.cpp
+++ b/src/mame/drivers/spinb.cpp
@@ -97,6 +97,12 @@ public:
void jolypark(machine_config &config);
void vrnwrld(machine_config &config);
void spinb(machine_config &config);
+ void dmd_io(address_map &map);
+ void dmd_mem(address_map &map);
+ void spinb_audio_map(address_map &map);
+ void spinb_map(address_map &map);
+ void spinb_music_map(address_map &map);
+ void vrnwrld_map(address_map &map);
private:
bool m_pc0a;
bool m_pc0m;
@@ -135,7 +141,7 @@ private:
required_ioport_array<11> m_switches;
};
-static ADDRESS_MAP_START( spinb_map, AS_PROGRAM, 8, spinb_state )
+ADDRESS_MAP_START(spinb_state::spinb_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x5fff) AM_RAM AM_SHARE("nvram") // 6164, battery-backed
AM_RANGE(0x6000, 0x6003) AM_MIRROR(0x13fc) AM_DEVREADWRITE("ppi60", i8255_device, read, write)
@@ -148,7 +154,7 @@ static ADDRESS_MAP_START( spinb_map, AS_PROGRAM, 8, spinb_state )
AM_RANGE(0x6ce0, 0x6ce0) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vrnwrld_map, AS_PROGRAM, 8, spinb_state )
+ADDRESS_MAP_START(spinb_state::vrnwrld_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_RAM AM_SHARE("nvram") // 6164, battery-backed
AM_RANGE(0xc000, 0xc003) AM_MIRROR(0x13fc) AM_DEVREADWRITE("ppi60", i8255_device, read, write)
@@ -161,7 +167,7 @@ static ADDRESS_MAP_START( vrnwrld_map, AS_PROGRAM, 8, spinb_state )
AM_RANGE(0xcce0, 0xcce0) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spinb_audio_map, AS_PROGRAM, 8, spinb_state )
+ADDRESS_MAP_START(spinb_state::spinb_audio_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x3fff) AM_RAM // 6164
AM_RANGE(0x4000, 0x4003) AM_MIRROR(0x1ffc) AM_DEVREADWRITE("ppia", i8255_device, read, write)
@@ -169,7 +175,7 @@ static ADDRESS_MAP_START( spinb_audio_map, AS_PROGRAM, 8, spinb_state )
AM_RANGE(0x8000, 0x8000) AM_READ(sndcmd_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spinb_music_map, AS_PROGRAM, 8, spinb_state )
+ADDRESS_MAP_START(spinb_state::spinb_music_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x3fff) AM_RAM // 6164
AM_RANGE(0x4000, 0x4003) AM_MIRROR(0x1ffc) AM_DEVREADWRITE("ppim", i8255_device, read, write)
@@ -178,11 +184,11 @@ static ADDRESS_MAP_START( spinb_music_map, AS_PROGRAM, 8, spinb_state )
AM_RANGE(0xA000, 0xA000) AM_WRITE(volume_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(dmd_mem, AS_PROGRAM, 8, spinb_state)
+ADDRESS_MAP_START(spinb_state::dmd_mem)
AM_RANGE(0x0000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(dmd_io, AS_IO, 8, spinb_state)
+ADDRESS_MAP_START(spinb_state::dmd_io)
AM_RANGE(0x0000, 0x1fff) AM_WRITE(dmdram_w)
AM_RANGE(0x0000, 0xffff) AM_READ(dmdram_r)
AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_WRITE(p1_w)
diff --git a/src/mame/drivers/spirit76.cpp b/src/mame/drivers/spirit76.cpp
index 8bf85d70ad1..45dc39f88b7 100644
--- a/src/mame/drivers/spirit76.cpp
+++ b/src/mame/drivers/spirit76.cpp
@@ -41,13 +41,14 @@ public:
DECLARE_WRITE8_MEMBER(unk_w);
DECLARE_READ8_MEMBER(unk_r);
void spirit76(machine_config &config);
+ void maincpu_map(address_map &map);
private:
u8 m_t_c;
virtual void machine_reset() override;
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START( maincpu_map, AS_PROGRAM, 8, spirit76_state )
+ADDRESS_MAP_START(spirit76_state::maincpu_map)
ADDRESS_MAP_UNMAP_HIGH
// ADDRESS_MAP_GLOBAL_MASK(0xfff) // this could most likely go in once the memory map is sorted
AM_RANGE(0x0000, 0x00ff) AM_RAM // 2x 2112
diff --git a/src/mame/drivers/splash.cpp b/src/mame/drivers/splash.cpp
index f56003817b1..852d40b9d09 100644
--- a/src/mame/drivers/splash.cpp
+++ b/src/mame/drivers/splash.cpp
@@ -48,7 +48,6 @@ More notes about Funny Strip protection issues at the bottom of source file (DRI
#include "cpu/z80/z80.h"
#include "cpu/m68000/m68000.h"
-#include "machine/74259.h"
#include "sound/2203intf.h"
#include "sound/3812intf.h"
#include "screen.h"
@@ -74,14 +73,14 @@ WRITE_LINE_MEMBER(splash_state::coin2_counter_w)
machine().bookkeeping().coin_counter_w(1, state);
}
-static ADDRESS_MAP_START( splash_map, AS_PROGRAM, 16, splash_state )
+ADDRESS_MAP_START(splash_state::splash_map)
AM_RANGE(0x000000, 0x3fffff) AM_ROM /* ROM */
AM_RANGE(0x800000, 0x83ffff) AM_RAM AM_SHARE("pixelram") /* Pixel Layer */
AM_RANGE(0x840000, 0x840001) AM_READ_PORT("DSW1")
AM_RANGE(0x840002, 0x840003) AM_READ_PORT("DSW2")
AM_RANGE(0x840004, 0x840005) AM_READ_PORT("P1")
AM_RANGE(0x840006, 0x840007) AM_READ_PORT("P2")
- AM_RANGE(0x84000a, 0x84000b) AM_SELECT(0x000070) AM_DEVWRITE8_MOD("outlatch", ls259_device, write_d0, rshift<3>, 0xff00)
+ ;map(0x84000a, 0x84000b).select(0x000070).lw8("outlatch_w", [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_outlatch->write_d0(space, offset >> 3, data, mem_mask); }).umask16(0xff00);
AM_RANGE(0x84000e, 0x84000f) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
AM_RANGE(0x880000, 0x8817ff) AM_RAM_WRITE(vram_w) AM_SHARE("videoram") /* Video RAM */
AM_RANGE(0x881800, 0x881803) AM_RAM AM_SHARE("vregs") /* Scroll registers */
@@ -107,7 +106,7 @@ WRITE_LINE_MEMBER(splash_state::splash_msm5205_int)
m_adpcm_data = (m_adpcm_data << 4) & 0xf0;
}
-static ADDRESS_MAP_START( splash_sound_map, AS_PROGRAM, 8, splash_state )
+ADDRESS_MAP_START(splash_state::splash_sound_map)
AM_RANGE(0x0000, 0xd7ff) AM_ROM /* ROM */
AM_RANGE(0xd800, 0xd800) AM_WRITE(splash_adpcm_data_w) /* ADPCM data for the MSM5205 chip */
AM_RANGE(0xe000, 0xe000) AM_WRITE(splash_adpcm_control_w)
@@ -150,7 +149,7 @@ WRITE_LINE_MEMBER(splash_state::ym_irq)
roldfrog_update_irq();
}
-static ADDRESS_MAP_START( roldfrog_map, AS_PROGRAM, 16, splash_state )
+ADDRESS_MAP_START(splash_state::roldfrog_map)
AM_RANGE(0x000000, 0x3fffff) AM_ROM /* ROM */
AM_RANGE(0x400000, 0x407fff) AM_ROM AM_SHARE("protdata") /* Protection Data */
AM_RANGE(0x408000, 0x4087ff) AM_RAM /* Extra Ram */
@@ -159,7 +158,7 @@ static ADDRESS_MAP_START( roldfrog_map, AS_PROGRAM, 16, splash_state )
AM_RANGE(0x840002, 0x840003) AM_READ_PORT("DSW2")
AM_RANGE(0x840004, 0x840005) AM_READ_PORT("P1")
AM_RANGE(0x840006, 0x840007) AM_READ_PORT("P2")
- AM_RANGE(0x84000a, 0x84000b) AM_SELECT(0x000070) AM_DEVWRITE8_MOD("outlatch", ls259_device, write_d0, rshift<3>, 0xff00)
+ ;map(0x84000a, 0x84000b).select(0x000070).lw8("outlatch_w", [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_outlatch->write_d0(space, offset >> 3, data, mem_mask); }).umask16(0xff00);
AM_RANGE(0x84000e, 0x84000f) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
AM_RANGE(0x880000, 0x8817ff) AM_RAM_WRITE(vram_w) AM_SHARE("videoram") /* Video RAM */
AM_RANGE(0x881800, 0x881803) AM_RAM AM_SHARE("vregs") /* Scroll registers */
@@ -171,7 +170,7 @@ static ADDRESS_MAP_START( roldfrog_map, AS_PROGRAM, 16, splash_state )
AM_RANGE(0xffc000, 0xffffff) AM_RAM /* Work RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( roldfrog_sound_map, AS_PROGRAM, 8, splash_state )
+ADDRESS_MAP_START(splash_state::roldfrog_sound_map)
AM_RANGE(0x0000, 0x6fff) AM_ROM
AM_RANGE(0x7000, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0xffff) AM_ROM AM_ROMBANK("sound_bank")
@@ -183,7 +182,7 @@ READ8_MEMBER(splash_state::roldfrog_unk_r)
return 0xff;
}
-static ADDRESS_MAP_START( roldfrog_sound_io_map, AS_IO, 8, splash_state )
+ADDRESS_MAP_START(splash_state::roldfrog_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x11) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
AM_RANGE(0x31, 0x31) AM_WRITE(sound_bank_w)
@@ -212,7 +211,7 @@ WRITE8_MEMBER(funystrp_state::eeprom_w)
m_eeprom->clk_write(BIT(data, 5));
}
-static ADDRESS_MAP_START( funystrp_map, AS_PROGRAM, 16, funystrp_state )
+ADDRESS_MAP_START(funystrp_state::funystrp_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM /* ROM */
AM_RANGE(0x100000, 0x1fffff) AM_RAM /* protection? RAM */
AM_RANGE(0x800000, 0x83ffff) AM_RAM AM_SHARE("pixelram") /* Pixel Layer */
@@ -231,7 +230,7 @@ static ADDRESS_MAP_START( funystrp_map, AS_PROGRAM, 16, funystrp_state )
AM_RANGE(0xfe0000, 0xfeffff) AM_RAM AM_MIRROR(0x10000) /* there's fe0000 <-> ff0000 compare */ /* Work RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( funystrp_sound_map, AS_PROGRAM, 8, splash_state )
+ADDRESS_MAP_START(splash_state::funystrp_sound_map)
AM_RANGE(0x0000, 0x6fff) AM_ROM
AM_RANGE(0x7000, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0xffff) AM_ROM AM_ROMBANK("sound_bank")
@@ -266,7 +265,7 @@ WRITE8_MEMBER(funystrp_state::msm2_data_w)
m_msm_toggle2=0;
}
-static ADDRESS_MAP_START( funystrp_sound_io_map, AS_IO, 8, funystrp_state )
+ADDRESS_MAP_START(funystrp_state::funystrp_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(msm1_data_w)
AM_RANGE(0x01, 0x01) AM_WRITE(msm2_data_w)
diff --git a/src/mame/drivers/splus.cpp b/src/mame/drivers/splus.cpp
index e0857eb7c2d..b7b840a4d4a 100644
--- a/src/mame/drivers/splus.cpp
+++ b/src/mame/drivers/splus.cpp
@@ -121,6 +121,8 @@ public:
required_device<cpu_device> m_maincpu;
required_device<i2cmem_device> m_i2cmem;
void splus(machine_config &config);
+ void splus_iomap(address_map &map);
+ void splus_map(address_map &map);
};
/* Static Variables */
@@ -591,11 +593,11 @@ DRIVER_INIT_MEMBER(splus_state,splus)
* Memory map information *
*************************/
-static ADDRESS_MAP_START( splus_map, AS_PROGRAM, 8, splus_state )
+ADDRESS_MAP_START(splus_state::splus_map)
AM_RANGE(0x0000, 0xffff) AM_ROM AM_SHARE("prograram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( splus_iomap, AS_IO, 8, splus_state )
+ADDRESS_MAP_START(splus_state::splus_iomap)
// Serial I/O
AM_RANGE(0x0000, 0x0000) AM_READ(splus_serial_r) AM_WRITE(splus_serial_w)
diff --git a/src/mame/drivers/spoker.cpp b/src/mame/drivers/spoker.cpp
index 4e78d2a51e7..613f8b0cf7d 100644
--- a/src/mame/drivers/spoker.cpp
+++ b/src/mame/drivers/spoker.cpp
@@ -99,6 +99,9 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void spoker(machine_config &config);
void _3super8(machine_config &config);
+ void _3super8_portmap(address_map &map);
+ void spoker_map(address_map &map);
+ void spoker_portmap(address_map &map);
};
@@ -260,12 +263,12 @@ READ8_MEMBER(spoker_state::magic_r)
Memory Maps
***************************************************************************/
-static ADDRESS_MAP_START( spoker_map, AS_PROGRAM, 8, spoker_state )
+ADDRESS_MAP_START(spoker_state::spoker_map)
AM_RANGE(0x00000, 0x0f3ff) AM_ROM
AM_RANGE(0x0f400, 0x0ffff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spoker_portmap, AS_IO, 8, spoker_state )
+ADDRESS_MAP_START(spoker_state::spoker_portmap)
AM_RANGE(0x0000, 0x003f) AM_RAM // Z180 internal regs
AM_RANGE(0x2000, 0x23ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x2400, 0x27ff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
@@ -280,7 +283,7 @@ static ADDRESS_MAP_START( spoker_portmap, AS_IO, 8, spoker_state )
AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(fg_color_w ) AM_SHARE("fg_color_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( 3super8_portmap, AS_IO, 8, spoker_state )
+ADDRESS_MAP_START(spoker_state::_3super8_portmap)
// AM_RANGE(0x1000, 0x1fff) AM_WRITENOP
AM_RANGE(0x2000, 0x27ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x2800, 0x2fff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
@@ -639,7 +642,7 @@ MACHINE_CONFIG_DERIVED(spoker_state::_3super8, spoker)
MCFG_CPU_REPLACE("maincpu", Z80, XTAL(24'000'000) / 4) /* z840006, 24/4 MHz? */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(spoker_map)
- MCFG_CPU_IO_MAP(3super8_portmap)
+ MCFG_CPU_IO_MAP(_3super8_portmap)
MCFG_CPU_VBLANK_INT_DRIVER("screen", spoker_state, nmi_line_assert)
MCFG_CPU_PERIODIC_INT_DRIVER(spoker_state, irq0_line_hold, 120) // this signal comes from the PIC
diff --git a/src/mame/drivers/spool99.cpp b/src/mame/drivers/spool99.cpp
index ac91e20904d..8e21127e62c 100644
--- a/src/mame/drivers/spool99.cpp
+++ b/src/mame/drivers/spool99.cpp
@@ -138,6 +138,8 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info);
void vcarn(machine_config &config);
void spool99(machine_config &config);
+ void spool99_map(address_map &map);
+ void vcarn_map(address_map &map);
};
TILE_GET_INFO_MEMBER(spool99_state::get_tile_info)
@@ -227,7 +229,7 @@ WRITE8_MEMBER(spool99_state::eeprom_dataline_w)
m_eeprom->di_write(data & 0x01);
}
-static ADDRESS_MAP_START( spool99_map, AS_PROGRAM, 8, spool99_state )
+ADDRESS_MAP_START(spool99_state::spool99_map)
AM_RANGE(0x0000, 0x00ff) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x0100, 0xaeff) AM_ROM AM_REGION("maincpu", 0x100) AM_WRITENOP
AM_RANGE(0xaf00, 0xafff) AM_READ(spool99_io_r)
@@ -273,7 +275,7 @@ READ8_MEMBER(spool99_state::vcarn_io_r)
return ROM[0xa700+offset];
}
-static ADDRESS_MAP_START( vcarn_map, AS_PROGRAM, 8, spool99_state )
+ADDRESS_MAP_START(spool99_state::vcarn_map)
AM_RANGE(0x0000, 0x00ff) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x0100, 0xa6ff) AM_ROM AM_REGION("maincpu", 0x100) AM_WRITENOP
AM_RANGE(0xa700, 0xa7ff) AM_READ(vcarn_io_r)
diff --git a/src/mame/drivers/sprcros2.cpp b/src/mame/drivers/sprcros2.cpp
index f2935404056..fb27551ef6d 100644
--- a/src/mame/drivers/sprcros2.cpp
+++ b/src/mame/drivers/sprcros2.cpp
@@ -105,6 +105,10 @@ public:
bool m_screen_enable;
uint8_t m_bg_scrollx, m_bg_scrolly;
void sprcros2(machine_config &config);
+ void master_io(address_map &map);
+ void master_map(address_map &map);
+ void slave_io(address_map &map);
+ void slave_map(address_map &map);
protected:
// driver_device overrides
virtual void machine_start() override;
@@ -239,7 +243,7 @@ WRITE8_MEMBER(sprcros2_state::bg_scrolly_w)
m_bg_scrolly = data;
}
-static ADDRESS_MAP_START( master_map, AS_PROGRAM, 8, sprcros2_state )
+ADDRESS_MAP_START(sprcros2_state::master_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM AM_REGION("master", 0)
AM_RANGE(0xc000, 0xdfff) AM_ROMBANK("master_rombank")
AM_RANGE(0xe000, 0xe3ff) AM_RAM AM_SHARE("fgvram")
@@ -249,7 +253,7 @@ static ADDRESS_MAP_START( master_map, AS_PROGRAM, 8, sprcros2_state )
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("shared_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( master_io, AS_IO, 8, sprcros2_state )
+ADDRESS_MAP_START(sprcros2_state::master_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("P1") AM_DEVWRITE("sn1", sn76489_device, write)
AM_RANGE(0x01, 0x01) AM_READ_PORT("P2") AM_DEVWRITE("sn2", sn76489_device, write)
@@ -259,7 +263,7 @@ static ADDRESS_MAP_START( master_io, AS_IO, 8, sprcros2_state )
AM_RANGE(0x07, 0x07) AM_WRITE(master_output_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_map, AS_PROGRAM, 8, sprcros2_state )
+ADDRESS_MAP_START(sprcros2_state::slave_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM AM_REGION("slave", 0)
AM_RANGE(0xc000, 0xdfff) AM_ROMBANK("slave_rombank")
AM_RANGE(0xe000, 0xe3ff) AM_RAM AM_SHARE("bgvram")
@@ -268,7 +272,7 @@ static ADDRESS_MAP_START( slave_map, AS_PROGRAM, 8, sprcros2_state )
AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("shared_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_io, AS_IO, 8, sprcros2_state )
+ADDRESS_MAP_START(sprcros2_state::slave_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(bg_scrollx_w)
AM_RANGE(0x01, 0x01) AM_WRITE(bg_scrolly_w)
diff --git a/src/mame/drivers/sprint2.cpp b/src/mame/drivers/sprint2.cpp
index 35908666df0..364dfe95fac 100644
--- a/src/mame/drivers/sprint2.cpp
+++ b/src/mame/drivers/sprint2.cpp
@@ -242,7 +242,7 @@ WRITE_LINE_MEMBER(sprint2_state::lamp4_w)
output().set_led_value(3, state);
}
-static ADDRESS_MAP_START( sprint2_map, AS_PROGRAM, 8, sprint2_state )
+ADDRESS_MAP_START(sprint2_state::sprint2_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x03ff) AM_READWRITE(sprint2_wram_r,sprint2_wram_w)
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(sprint2_video_ram_w) AM_SHARE("video_ram")
diff --git a/src/mame/drivers/sprint4.cpp b/src/mame/drivers/sprint4.cpp
index 40ebcca3dc9..72dda617441 100644
--- a/src/mame/drivers/sprint4.cpp
+++ b/src/mame/drivers/sprint4.cpp
@@ -237,7 +237,7 @@ WRITE8_MEMBER(sprint4_state::attract_w)
}
-static ADDRESS_MAP_START( sprint4_cpu_map, AS_PROGRAM, 8, sprint4_state )
+ADDRESS_MAP_START(sprint4_state::sprint4_cpu_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
diff --git a/src/mame/drivers/sprint8.cpp b/src/mame/drivers/sprint8.cpp
index b390a1d80f3..d860a9cd466 100644
--- a/src/mame/drivers/sprint8.cpp
+++ b/src/mame/drivers/sprint8.cpp
@@ -109,7 +109,7 @@ WRITE_LINE_MEMBER(sprint8_state::team_w)
}
-static ADDRESS_MAP_START( sprint8_map, AS_PROGRAM, 8, sprint8_state )
+ADDRESS_MAP_START(sprint8_state::sprint8_map)
AM_RANGE(0x0000, 0x00ff) AM_RAM
AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(video_ram_w) AM_SHARE("video_ram")
AM_RANGE(0x1c00, 0x1c00) AM_READ(collision_r)
diff --git a/src/mame/drivers/spy.cpp b/src/mame/drivers/spy.cpp
index b0da6a78995..0c074740bcf 100644
--- a/src/mame/drivers/spy.cpp
+++ b/src/mame/drivers/spy.cpp
@@ -374,7 +374,7 @@ WRITE8_MEMBER(spy_state::k052109_051960_w)
m_k051960->k051960_w(space, offset - 0x3c00, data);
}
-static ADDRESS_MAP_START( spy_map, AS_PROGRAM, 8, spy_state )
+ADDRESS_MAP_START(spy_state::spy_map)
AM_RANGE(0x0000, 0x07ff) AM_READWRITE(spy_bankedram1_r, spy_bankedram1_w) AM_SHARE("ram")
AM_RANGE(0x0800, 0x1aff) AM_RAM
AM_RANGE(0x2000, 0x5fff) AM_READWRITE(k052109_051960_r, k052109_051960_w)
@@ -392,7 +392,7 @@ static ADDRESS_MAP_START( spy_map, AS_PROGRAM, 8, spy_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spy_sound_map, AS_PROGRAM, 8, spy_state )
+ADDRESS_MAP_START(spy_state::spy_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_WRITE(sound_bank_w)
diff --git a/src/mame/drivers/spyhuntertec.cpp b/src/mame/drivers/spyhuntertec.cpp
index 78cdf6959b8..3b1f0753645 100644
--- a/src/mame/drivers/spyhuntertec.cpp
+++ b/src/mame/drivers/spyhuntertec.cpp
@@ -112,6 +112,10 @@ public:
uint8_t m_analog_select;
uint8_t m_analog_count;
void spyhuntertec(machine_config &config);
+ void spyhuntertec_map(address_map &map);
+ void spyhuntertec_portmap(address_map &map);
+ void spyhuntertec_sound_map(address_map &map);
+ void spyhuntertec_sound_portmap(address_map &map);
};
WRITE8_MEMBER(spyhuntertec_state::ay1_porta_w)
@@ -420,7 +424,7 @@ READ8_MEMBER(spyhuntertec_state::spyhuntertec_in3_r)
return ret;
}
-static ADDRESS_MAP_START( spyhuntertec_map, AS_PROGRAM, 8, spyhuntertec_state )
+ADDRESS_MAP_START(spyhuntertec_state::spyhuntertec_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xdfff) AM_ROM
@@ -453,7 +457,7 @@ WRITE8_MEMBER(spyhuntertec_state::spyhuntertec_portf0_w)
if ((data != 0x03) && (data != 0x08)) printf("spyhuntertec_portf0_w %02x\n", data);
}
-static ADDRESS_MAP_START( spyhuntertec_portmap, AS_IO, 8, spyhuntertec_state )
+ADDRESS_MAP_START(spyhuntertec_state::spyhuntertec_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x04, 0x04) AM_WRITE(spyhuntertec_port04_w)
@@ -464,7 +468,7 @@ static ADDRESS_MAP_START( spyhuntertec_portmap, AS_IO, 8, spyhuntertec_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spyhuntertec_sound_map, AS_PROGRAM, 8, spyhuntertec_state )
+ADDRESS_MAP_START(spyhuntertec_state::spyhuntertec_sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM
@@ -477,7 +481,7 @@ WRITE8_MEMBER(spyhuntertec_state::sound_irq_ack)
m_audiocpu->set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE);
}
-static ADDRESS_MAP_START( spyhuntertec_sound_portmap, AS_IO, 8, spyhuntertec_state )
+ADDRESS_MAP_START(spyhuntertec_state::spyhuntertec_sound_portmap)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
diff --git a/src/mame/drivers/squale.cpp b/src/mame/drivers/squale.cpp
index 27e8a628e27..8c65bfbc4fe 100644
--- a/src/mame/drivers/squale.cpp
+++ b/src/mame/drivers/squale.cpp
@@ -135,6 +135,8 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(squale_scanline);
void squale(machine_config &config);
+ void squale_io(address_map &map);
+ void squale_mem(address_map &map);
private:
required_device<acia6850_device> m_acia;
required_device<ay8910_device> m_ay8910;
@@ -616,7 +618,7 @@ TIMER_DEVICE_CALLBACK_MEMBER( squale_state::squale_scanline )
m_ef9365->update_scanline((uint16_t)param);
}
-static ADDRESS_MAP_START(squale_mem, AS_PROGRAM, 8, squale_state)
+ADDRESS_MAP_START(squale_state::squale_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000,0xefff) AM_RAM
AM_RANGE(0xf000,0xf00f) AM_DEVREADWRITE("ef9365", ef9365_device, data_r, data_w)
@@ -634,7 +636,7 @@ static ADDRESS_MAP_START(squale_mem, AS_PROGRAM, 8, squale_state)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( squale_io, AS_IO, 8, squale_state)
+ADDRESS_MAP_START(squale_state::squale_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_END
diff --git a/src/mame/drivers/srmp2.cpp b/src/mame/drivers/srmp2.cpp
index 0080134fa52..f2291c3800e 100644
--- a/src/mame/drivers/srmp2.cpp
+++ b/src/mame/drivers/srmp2.cpp
@@ -392,7 +392,7 @@ WRITE8_MEMBER(srmp2_state::srmp2_irq4_ack_w)
}
-static ADDRESS_MAP_START( srmp2_map, AS_PROGRAM, 16, srmp2_state )
+ADDRESS_MAP_START(srmp2_state::srmp2_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x0c0000, 0x0c3fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x140000, 0x143fff) AM_RAM AM_DEVREADWRITE("spritegen", seta001_device, spritecode_r16, spritecode_w16) /* Sprites Code + X + Attr */
@@ -425,7 +425,7 @@ READ8_MEMBER(srmp2_state::mjyuugi_irq4_ack_r)
return 0xff; // value returned doesn't matter
}
-static ADDRESS_MAP_START( mjyuugi_map, AS_PROGRAM, 16, srmp2_state )
+ADDRESS_MAP_START(srmp2_state::mjyuugi_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_READ_PORT("SYSTEM") /* Coinage */
AM_RANGE(0x100000, 0x100001) AM_WRITE(mjyuugi_flags_w) /* Coin Counter */
@@ -471,7 +471,7 @@ WRITE8_MEMBER(srmp2_state::srmp3_irq_ack_w)
m_maincpu->set_input_line(0, CLEAR_LINE);
}
-static ADDRESS_MAP_START( srmp3_map, AS_PROGRAM, 8, srmp2_state )
+ADDRESS_MAP_START(srmp2_state::srmp3_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("bank1") /* rom bank */
AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_SHARE("nvram") /* work ram */
@@ -483,7 +483,7 @@ static ADDRESS_MAP_START( srmp3_map, AS_PROGRAM, 8, srmp2_state )
AM_RANGE(0xe000, 0xffff) AM_RAM AM_DEVREADWRITE("spritegen", seta001_device, spritecodehigh_r8, spritecodehigh_w8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( srmp3_io_map, AS_IO, 8, srmp2_state )
+ADDRESS_MAP_START(srmp2_state::srmp3_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x20, 0x20) AM_WRITE(srmp3_irq_ack_w) /* interrupt acknowledge */
AM_RANGE(0x40, 0x40) AM_READ_PORT("SYSTEM") AM_WRITE(srmp3_flags_w) /* coin, service | GFX bank, counter, lockout */
@@ -496,7 +496,7 @@ static ADDRESS_MAP_START( srmp3_io_map, AS_IO, 8, srmp2_state )
AM_RANGE(0xe2, 0xe2) AM_DEVREAD("aysnd", ay8910_device, data_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rmgoldyh_map, AS_PROGRAM, 8, srmp2_state )
+ADDRESS_MAP_START(srmp2_state::rmgoldyh_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("bank1") /* rom bank */
AM_RANGE(0xa000, 0xafff) AM_RAM AM_SHARE("nvram") /* work ram */
@@ -518,7 +518,7 @@ WRITE8_MEMBER(srmp2_state::rmgoldyh_rombank_w)
membank("bank1")->set_entry(data & 0x1f);
}
-static ADDRESS_MAP_START( rmgoldyh_io_map, AS_IO, 8, srmp2_state )
+ADDRESS_MAP_START(srmp2_state::rmgoldyh_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_IMPORT_FROM(srmp3_io_map)
AM_RANGE(0x00, 0x00) AM_WRITENOP /* watchdog */
diff --git a/src/mame/drivers/srmp5.cpp b/src/mame/drivers/srmp5.cpp
index 28306598a86..3c1f844c9b5 100644
--- a/src/mame/drivers/srmp5.cpp
+++ b/src/mame/drivers/srmp5.cpp
@@ -124,6 +124,9 @@ public:
DECLARE_WRITE8_MEMBER(st0016_rom_bank_w);
void srmp5(machine_config &config);
+ void srmp5_mem(address_map &map);
+ void st0016_io(address_map &map);
+ void st0016_mem(address_map &map);
};
@@ -355,7 +358,7 @@ READ32_MEMBER(srmp5_state::irq_ack_clear)
return 0;
}
-static ADDRESS_MAP_START( srmp5_mem, AS_PROGRAM, 32, srmp5_state )
+ADDRESS_MAP_START(srmp5_state::srmp5_mem)
AM_RANGE(0x00000000, 0x000fffff) AM_RAM //maybe 0 - 2fffff ?
AM_RANGE(0x002f0000, 0x002f7fff) AM_RAM
AM_RANGE(0x01000000, 0x01000003) AM_WRITEONLY // 0xaa .. watchdog ?
@@ -385,7 +388,7 @@ static ADDRESS_MAP_START( srmp5_mem, AS_PROGRAM, 32, srmp5_state )
AM_RANGE(0x1eff003c, 0x1eff003f) AM_READ(irq_ack_clear)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( st0016_mem, AS_PROGRAM, 8, srmp5_state )
+ADDRESS_MAP_START(srmp5_state::st0016_mem)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
//AM_RANGE(0xe900, 0xe9ff) // sound - internal
@@ -416,7 +419,7 @@ WRITE8_MEMBER(srmp5_state::st0016_rom_bank_w)
}
-static ADDRESS_MAP_START( st0016_io, AS_IO, 8, srmp5_state )
+ADDRESS_MAP_START(srmp5_state::st0016_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
//AM_RANGE(0x00, 0xbf) AM_READ(st0016_vregs_r) AM_WRITE(st0016_vregs_w)
AM_RANGE(0xc0, 0xc0) AM_READ(cmd1_r)
diff --git a/src/mame/drivers/srmp6.cpp b/src/mame/drivers/srmp6.cpp
index bd759ede2e0..f1e44dbc2ca 100644
--- a/src/mame/drivers/srmp6.cpp
+++ b/src/mame/drivers/srmp6.cpp
@@ -121,6 +121,7 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
void srmp6(machine_config &config);
+ void srmp6_map(address_map &map);
};
#define VERBOSE 0
@@ -552,7 +553,7 @@ READ16_MEMBER(srmp6_state::srmp6_irq_ack_r)
return 0; // value read doesn't matter
}
-static ADDRESS_MAP_START( srmp6_map, AS_PROGRAM, 16, srmp6_state )
+ADDRESS_MAP_START(srmp6_state::srmp6_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x200000, 0x23ffff) AM_RAM // work RAM
AM_RANGE(0x600000, 0x7fffff) AM_ROMBANK("bank1") // banked ROM (used by ROM check)
diff --git a/src/mame/drivers/srumbler.cpp b/src/mame/drivers/srumbler.cpp
index 61b67ac0f8d..b92b611254e 100644
--- a/src/mame/drivers/srumbler.cpp
+++ b/src/mame/drivers/srumbler.cpp
@@ -81,7 +81,7 @@ to the page register.
Ignore the warnings about writing to unmapped memory.
*/
-static ADDRESS_MAP_START( srumbler_map, AS_PROGRAM, 8, srumbler_state )
+ADDRESS_MAP_START(srumbler_state::srumbler_map)
AM_RANGE(0x0000, 0x1dff) AM_RAM /* RAM (of 1 sort or another) */
AM_RANGE(0x1e00, 0x1fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x2000, 0x3fff) AM_RAM_WRITE(background_w) AM_SHARE("backgroundram")
@@ -107,7 +107,7 @@ static ADDRESS_MAP_START( srumbler_map, AS_PROGRAM, 8, srumbler_state )
AM_RANGE(0xf000, 0xffff) AM_ROMBANK("f000") /* Banked ROM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( srumbler_sound_map, AS_PROGRAM, 8, srumbler_state )
+ADDRESS_MAP_START(srumbler_state::srumbler_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8001) AM_DEVWRITE("ym1", ym2203_device, write)
AM_RANGE(0xa000, 0xa001) AM_DEVWRITE("ym2", ym2203_device, write)
diff --git a/src/mame/drivers/ssem.cpp b/src/mame/drivers/ssem.cpp
index c48810e07bc..3886d2cdafa 100644
--- a/src/mame/drivers/ssem.cpp
+++ b/src/mame/drivers/ssem.cpp
@@ -32,6 +32,7 @@ public:
void strlower(char *buf);
void ssem(machine_config &config);
+ void ssem_map(address_map &map);
private:
template <typename Format, typename... Params>
void glyph_print(bitmap_rgb32 &bitmap, int32_t x, int32_t y, Format &&fmt, Params &&...args);
@@ -76,7 +77,7 @@ inline uint32_t ssem_state::reverse(uint32_t v)
* Address map *
\****************************************************/
-static ADDRESS_MAP_START( ssem_map, AS_PROGRAM, 8, ssem_state )
+ADDRESS_MAP_START(ssem_state::ssem_map)
AM_RANGE(0x00, 0x7f) AM_RAM AM_SHARE("store")// Primary store
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ssfindo.cpp b/src/mame/drivers/ssfindo.cpp
index b6c0d7096b6..89a336c8a79 100644
--- a/src/mame/drivers/ssfindo.cpp
+++ b/src/mame/drivers/ssfindo.cpp
@@ -299,6 +299,9 @@ public:
void ssfindo(machine_config &config);
void ppcar(machine_config &config);
void tetfight(machine_config &config);
+ void ppcar_map(address_map &map);
+ void ssfindo_map(address_map &map);
+ void tetfight_map(address_map &map);
};
@@ -598,7 +601,7 @@ READ32_MEMBER(ssfindo_state::randomized_r)
return machine().rand();
}
-static ADDRESS_MAP_START( ssfindo_map, AS_PROGRAM, 32, ssfindo_state )
+ADDRESS_MAP_START(ssfindo_state::ssfindo_map)
AM_RANGE(0x00000000, 0x000fffff) AM_ROM
AM_RANGE(0x03200000, 0x032001ff) AM_READWRITE(PS7500_IO_r,PS7500_IO_w)
AM_RANGE(0x03012e60, 0x03012e67) AM_NOP
@@ -616,7 +619,7 @@ static ADDRESS_MAP_START( ssfindo_map, AS_PROGRAM, 32, ssfindo_state )
AM_RANGE(0x10000000, 0x11ffffff) AM_RAM AM_SHARE("vram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ppcar_map, AS_PROGRAM, 32, ssfindo_state )
+ADDRESS_MAP_START(ssfindo_state::ppcar_map)
AM_RANGE(0x00000000, 0x000fffff) AM_ROM
AM_RANGE(0x03200000, 0x032001ff) AM_READWRITE(PS7500_IO_r,PS7500_IO_w)
AM_RANGE(0x03012b00, 0x03012bff) AM_READ(randomized_r) AM_WRITENOP
@@ -642,7 +645,7 @@ WRITE32_MEMBER(ssfindo_state::tetfight_unk_w)
//sound latch ?
}
-static ADDRESS_MAP_START( tetfight_map, AS_PROGRAM, 32, ssfindo_state )
+ADDRESS_MAP_START(ssfindo_state::tetfight_map)
AM_RANGE(0x00000000, 0x001fffff) AM_ROM
AM_RANGE(0x03200000, 0x032001ff) AM_READWRITE(PS7500_IO_r,PS7500_IO_w)
AM_RANGE(0x03400000, 0x03400003) AM_WRITE(FIFO_w)
diff --git a/src/mame/drivers/sshangha.cpp b/src/mame/drivers/sshangha.cpp
index 18a89cee2ee..d7a9ffd1630 100644
--- a/src/mame/drivers/sshangha.cpp
+++ b/src/mame/drivers/sshangha.cpp
@@ -168,7 +168,7 @@ WRITE16_MEMBER( sshangha_state::sshangha_protection_region_8_146_w )
}
-static ADDRESS_MAP_START( sshangha_map, AS_PROGRAM, 16, sshangha_state )
+ADDRESS_MAP_START(sshangha_state::sshangha_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fffff)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10000f) AM_RAM AM_SHARE("sound_shared")
@@ -200,7 +200,7 @@ static ADDRESS_MAP_START( sshangha_map, AS_PROGRAM, 16, sshangha_state )
AM_RANGE(0x3f4000, 0x3f7fff) AM_READWRITE(sshangha_protection_region_d_146_r,sshangha_protection_region_d_146_w) AM_SHARE("prot_data")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sshanghb_map, AS_PROGRAM, 16, sshangha_state )
+ADDRESS_MAP_START(sshangha_state::sshanghb_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x084000, 0x0847ff) AM_READ(sshanghb_protection16_r)
AM_RANGE(0x101000, 0x10100f) AM_RAM AM_SHARE("sound_shared") /* the bootleg writes here */
@@ -243,7 +243,7 @@ WRITE8_MEMBER(sshangha_state::sshangha_sound_shared_w)
}
/* Note: there's rom data after 0x8000 but the game never seem to call a rom bank, left-over? */
-static ADDRESS_MAP_START( sshangha_sound_map, AS_PROGRAM, 8, sshangha_state )
+ADDRESS_MAP_START(sshangha_state::sshangha_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
AM_RANGE(0xc200, 0xc201) AM_DEVREADWRITE("oki", okim6295_device, read, write)
diff --git a/src/mame/drivers/sshot.cpp b/src/mame/drivers/sshot.cpp
index de72ae918f8..12c6112fad2 100644
--- a/src/mame/drivers/sshot.cpp
+++ b/src/mame/drivers/sshot.cpp
@@ -189,6 +189,7 @@ public:
required_device<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
void supershot(machine_config &config);
+ void supershot_map(address_map &map);
};
@@ -267,7 +268,7 @@ WRITE8_MEMBER(supershot_state::supershot_output1_w)
*
*************************************/
-static ADDRESS_MAP_START( supershot_map, AS_PROGRAM, 8, supershot_state )
+ADDRESS_MAP_START(supershot_state::supershot_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM_WRITE(supershot_vidram_w ) AM_SHARE("videoram")
AM_RANGE(0x4100, 0x41ff) AM_RAM
diff --git a/src/mame/drivers/ssingles.cpp b/src/mame/drivers/ssingles.cpp
index e5da51ab378..816dcafc84b 100644
--- a/src/mame/drivers/ssingles.cpp
+++ b/src/mame/drivers/ssingles.cpp
@@ -185,6 +185,10 @@ public:
required_device<cpu_device> m_maincpu;
void ssingles(machine_config &config);
void atamanot(machine_config &config);
+ void atamanot_io_map(address_map &map);
+ void atamanot_map(address_map &map);
+ void ssingles_io_map(address_map &map);
+ void ssingles_map(address_map &map);
};
//fake palette
@@ -333,7 +337,7 @@ CUSTOM_INPUT_MEMBER(ssingles_state::controls_r)
return data;
}
-static ADDRESS_MAP_START( ssingles_map, AS_PROGRAM, 8, ssingles_state )
+ADDRESS_MAP_START(ssingles_state::ssingles_map)
AM_RANGE(0x0000, 0x00ff) AM_WRITE(ssingles_videoram_w)
AM_RANGE(0x0800, 0x08ff) AM_WRITE(ssingles_colorram_w)
AM_RANGE(0x0000, 0x1fff) AM_ROM
@@ -371,7 +375,7 @@ WRITE8_MEMBER(ssingles_state::atamanot_prot_w)
}
-static ADDRESS_MAP_START( atamanot_map, AS_PROGRAM, 8, ssingles_state )
+ADDRESS_MAP_START(ssingles_state::atamanot_map)
AM_RANGE(0x0000, 0x00ff) AM_WRITE(ssingles_videoram_w)
AM_RANGE(0x0800, 0x08ff) AM_WRITE(ssingles_colorram_w)
AM_RANGE(0x0000, 0x3fff) AM_ROM
@@ -384,7 +388,7 @@ static ADDRESS_MAP_START( atamanot_map, AS_PROGRAM, 8, ssingles_state )
// AM_RANGE(0xc001, 0xc001) AM_READWRITE(c001_r, c001_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ssingles_io_map, AS_IO, 8, ssingles_state )
+ADDRESS_MAP_START(ssingles_state::ssingles_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("ay1", ay8910_device, address_w)
AM_RANGE(0x04, 0x04) AM_DEVWRITE("ay1", ay8910_device, data_w)
@@ -399,7 +403,7 @@ static ADDRESS_MAP_START( ssingles_io_map, AS_IO, 8, ssingles_state )
AM_RANGE(0xff, 0xff) AM_DEVWRITE("crtc", mc6845_device, register_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( atamanot_io_map, AS_IO, 8, ssingles_state )
+ADDRESS_MAP_START(ssingles_state::atamanot_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("ay1", ay8910_device, address_w)
AM_RANGE(0x04, 0x04) AM_DEVWRITE("ay1", ay8910_device, data_w)
diff --git a/src/mame/drivers/sslam.cpp b/src/mame/drivers/sslam.cpp
index 62a60ce9a9f..ce9881c2dae 100644
--- a/src/mame/drivers/sslam.cpp
+++ b/src/mame/drivers/sslam.cpp
@@ -375,7 +375,7 @@ WRITE16_MEMBER(sslam_state::powerbls_sound_w)
/* these will need verifying .. the game writes all over the place ... */
-static ADDRESS_MAP_START( sslam_program_map, AS_PROGRAM, 16, sslam_state )
+ADDRESS_MAP_START(sslam_state::sslam_program_map)
AM_RANGE(0x000000, 0xffffff) AM_ROM /* I don't honestly know where the rom is mirrored .. so all unmapped reads / writes go to rom */
AM_RANGE(0x000400, 0x07ffff) AM_RAM
@@ -398,7 +398,7 @@ static ADDRESS_MAP_START( sslam_program_map, AS_PROGRAM, 16, sslam_state )
AM_RANGE(0xf00000, 0xffffff) AM_RAM /* Main RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( powerbls_map, AS_PROGRAM, 16, sslam_state )
+ADDRESS_MAP_START(sslam_state::powerbls_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM_WRITE(powerbls_bg_tileram_w) AM_SHARE("bg_tileram")
AM_RANGE(0x104000, 0x107fff) AM_RAM // not used
@@ -462,7 +462,7 @@ WRITE8_MEMBER(sslam_state::playmark_snd_control_w)
// (data & 0x40) -> always set
}
-static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, sslam_state )
+ADDRESS_MAP_START(sslam_state::sound_io_map)
AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_WRITE(playmark_snd_control_w)
AM_RANGE(MCS51_PORT_P3, MCS51_PORT_P3) AM_READWRITE(playmark_snd_command_r, playmark_oki_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ssozumo.cpp b/src/mame/drivers/ssozumo.cpp
index 3d031887c7d..0b5dae623ab 100644
--- a/src/mame/drivers/ssozumo.cpp
+++ b/src/mame/drivers/ssozumo.cpp
@@ -33,7 +33,7 @@ WRITE8_MEMBER(ssozumo_state::sh_command_w)
}
-static ADDRESS_MAP_START( ssozumo_map, AS_PROGRAM, 8, ssozumo_state )
+ADDRESS_MAP_START(ssozumo_state::ssozumo_map)
AM_RANGE(0x0000, 0x077f) AM_RAM
AM_RANGE(0x0780, 0x07ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x2000, 0x23ff) AM_RAM_WRITE(videoram2_w) AM_SHARE("videoram2")
@@ -58,7 +58,7 @@ WRITE8_MEMBER(ssozumo_state::sound_nmi_mask_w)
}
/* Same as Tag Team */
-static ADDRESS_MAP_START( ssozumo_sound_map, AS_PROGRAM, 8, ssozumo_state )
+ADDRESS_MAP_START(ssozumo_state::ssozumo_sound_map)
AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x2000, 0x2001) AM_DEVWRITE("ay1", ay8910_device, data_address_w)
AM_RANGE(0x2002, 0x2003) AM_DEVWRITE("ay2", ay8910_device, data_address_w)
diff --git a/src/mame/drivers/sspeedr.cpp b/src/mame/drivers/sspeedr.cpp
index de66d318e70..e3b9bca1138 100644
--- a/src/mame/drivers/sspeedr.cpp
+++ b/src/mame/drivers/sspeedr.cpp
@@ -81,14 +81,14 @@ WRITE8_MEMBER(sspeedr_state::sspeedr_sound_w)
}
-static ADDRESS_MAP_START( sspeedr_map, AS_PROGRAM, 8, sspeedr_state )
+ADDRESS_MAP_START(sspeedr_state::sspeedr_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x2000, 0x21ff) AM_RAM
AM_RANGE(0x7f00, 0x7f17) AM_WRITE(sspeedr_score_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sspeedr_io_map, AS_IO, 8, sspeedr_state )
+ADDRESS_MAP_START(sspeedr_state::sspeedr_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
diff --git a/src/mame/drivers/ssrj.cpp b/src/mame/drivers/ssrj.cpp
index 38790e0874d..2d84d16d97d 100644
--- a/src/mame/drivers/ssrj.cpp
+++ b/src/mame/drivers/ssrj.cpp
@@ -62,7 +62,7 @@ READ8_MEMBER(ssrj_state::wheel_r)
return retval;
}
-static ADDRESS_MAP_START( ssrj_map, AS_PROGRAM, 8, ssrj_state )
+ADDRESS_MAP_START(ssrj_state::ssrj_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(vram1_w) AM_SHARE("vram1")
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(vram2_w) AM_SHARE("vram2")
diff --git a/src/mame/drivers/sstrangr.cpp b/src/mame/drivers/sstrangr.cpp
index 908f6811745..d6913a9cf44 100644
--- a/src/mame/drivers/sstrangr.cpp
+++ b/src/mame/drivers/sstrangr.cpp
@@ -37,6 +37,8 @@ public:
uint32_t screen_update_sstrngr2(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void sstrngr2(machine_config &config);
void sstrangr(machine_config &config);
+ void sstrangr_io_map(address_map &map);
+ void sstrangr_map(address_map &map);
};
@@ -134,7 +136,7 @@ WRITE8_MEMBER(sstrangr_state::port_w)
-static ADDRESS_MAP_START( sstrangr_map, AS_PROGRAM, 8, sstrangr_state )
+ADDRESS_MAP_START(sstrangr_state::sstrangr_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x3fff) AM_RAM AM_SHARE("ram")
@@ -142,7 +144,7 @@ static ADDRESS_MAP_START( sstrangr_map, AS_PROGRAM, 8, sstrangr_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sstrangr_io_map, AS_IO, 8, sstrangr_state )
+ADDRESS_MAP_START(sstrangr_state::sstrangr_io_map)
AM_RANGE(0x41, 0x41) AM_READ_PORT("DSW")
AM_RANGE(0x42, 0x42) AM_READ_PORT("INPUTS")
AM_RANGE(0x44, 0x44) AM_READ_PORT("EXT") AM_WRITE(port_w)
diff --git a/src/mame/drivers/ssv.cpp b/src/mame/drivers/ssv.cpp
index b2b75e39790..3c7b3dba5d6 100644
--- a/src/mame/drivers/ssv.cpp
+++ b/src/mame/drivers/ssv.cpp
@@ -332,11 +332,11 @@ void ssv_state::machine_reset()
***************************************************************************/
-static ADDRESS_MAP_START( dsp_prg_map, AS_PROGRAM, 32, ssv_state )
+ADDRESS_MAP_START(ssv_state::dsp_prg_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM AM_REGION("dspprg", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dsp_data_map, AS_DATA, 16, ssv_state )
+ADDRESS_MAP_START(ssv_state::dsp_data_map)
AM_RANGE(0x0000, 0x07ff) AM_ROM AM_REGION("dspdata", 0)
ADDRESS_MAP_END
@@ -427,7 +427,7 @@ READ16_MEMBER(ssv_state::drifto94_unknown_r)
return machine().rand() & 0xffff;
}
-static ADDRESS_MAP_START( drifto94_map, AS_PROGRAM, 16, ssv_state )
+ADDRESS_MAP_START(ssv_state::drifto94_map)
SSV_MAP( 0xc00000 )
// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 1 at the start
AM_RANGE(0x400000, 0x47ffff) AM_WRITEONLY // ?
@@ -477,7 +477,7 @@ WRITE16_MEMBER(ssv_state::gdfs_eeprom_w)
}
-static ADDRESS_MAP_START( gdfs_map, AS_PROGRAM, 16, ssv_state )
+ADDRESS_MAP_START(ssv_state::gdfs_map)
SSV_MAP( 0xc00000 )
AM_RANGE(0x400000, 0x41ffff) AM_RAM_WRITE(gdfs_tmapram_w) AM_SHARE("gdfs_tmapram")
AM_RANGE(0x420000, 0x43ffff) AM_RAM
@@ -515,7 +515,7 @@ READ16_MEMBER(ssv_state::hypreact_input_r)
return 0xffff;
}
-static ADDRESS_MAP_START( hypreact_map, AS_PROGRAM, 16, ssv_state )
+ADDRESS_MAP_START(ssv_state::hypreact_map)
SSV_MAP( 0xf00000 )
AM_RANGE(0x210000, 0x210001) AM_DEVREAD("watchdog", watchdog_timer_device, reset16_r)
// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 5 at the start
@@ -531,7 +531,7 @@ ADDRESS_MAP_END
Hyper Reaction 2
***************************************************************************/
-static ADDRESS_MAP_START( hypreac2_map, AS_PROGRAM, 16, ssv_state )
+ADDRESS_MAP_START(ssv_state::hypreac2_map)
SSV_MAP( 0xe00000 )
AM_RANGE(0x210000, 0x210001) AM_DEVREAD("watchdog", watchdog_timer_device, reset16_r)
// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 5 at the start
@@ -550,7 +550,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( janjans1_map, AS_PROGRAM, 16, ssv_state )
+ADDRESS_MAP_START(ssv_state::janjans1_map)
SSV_MAP( 0xc00000 )
AM_RANGE(0x210000, 0x210001) AM_WRITENOP // koikois2 but not janjans1
// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 1 at the start
@@ -564,7 +564,7 @@ ADDRESS_MAP_END
Keith & Lucy
***************************************************************************/
-static ADDRESS_MAP_START( keithlcy_map, AS_PROGRAM, 16, ssv_state )
+ADDRESS_MAP_START(ssv_state::keithlcy_map)
SSV_MAP( 0xe00000 )
// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 1 at the start
AM_RANGE(0x210010, 0x210011) AM_WRITENOP //
@@ -577,7 +577,7 @@ ADDRESS_MAP_END
Meosis Magic
***************************************************************************/
-static ADDRESS_MAP_START( meosism_map, AS_PROGRAM, 16, ssv_state )
+ADDRESS_MAP_START(ssv_state::meosism_map)
SSV_MAP( 0xf00000 )
AM_RANGE(0x210000, 0x210001) AM_DEVREAD("watchdog", watchdog_timer_device, reset16_r)
// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 5 at the start
@@ -602,7 +602,7 @@ WRITE16_MEMBER(ssv_state::mainram_w)
COMBINE_DATA(&m_mainram[offset]);
}
-static ADDRESS_MAP_START( mslider_map, AS_PROGRAM, 16, ssv_state )
+ADDRESS_MAP_START(ssv_state::mslider_map)
SSV_MAP( 0xf00000 )
AM_RANGE(0x010000, 0x01ffff) AM_READWRITE(mainram_r, mainram_w) // RAM Mirror
// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 1 at the start
@@ -615,7 +615,7 @@ ADDRESS_MAP_END
Gourmet Battle Quiz Ryohrioh CooKing
***************************************************************************/
-static ADDRESS_MAP_START( ryorioh_map, AS_PROGRAM, 16, ssv_state )
+ADDRESS_MAP_START(ssv_state::ryorioh_map)
SSV_MAP( 0xc00000 )
AM_RANGE(0x210000, 0x210001) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 1 at the start
@@ -638,7 +638,7 @@ READ16_MEMBER(ssv_state::srmp4_input_r)
return 0xffff;
}
-static ADDRESS_MAP_START( srmp4_map, AS_PROGRAM, 16, ssv_state )
+ADDRESS_MAP_START(ssv_state::srmp4_map)
SSV_MAP( 0xf00000 )
AM_RANGE(0x210000, 0x210001) AM_DEVREAD("watchdog", watchdog_timer_device, reset16_r)
// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 1,5 at the start
@@ -685,7 +685,7 @@ READ16_MEMBER(ssv_state::srmp7_input_r)
return 0xffff;
}
-static ADDRESS_MAP_START( srmp7_map, AS_PROGRAM, 16, ssv_state )
+ADDRESS_MAP_START(ssv_state::srmp7_map)
SSV_MAP( 0xc00000 )
AM_RANGE(0x010000, 0x050faf) AM_RAM // More RAM
AM_RANGE(0x210000, 0x210001) AM_DEVREAD("watchdog", watchdog_timer_device, reset16_r)
@@ -703,7 +703,7 @@ ADDRESS_MAP_END
Survival Arts
***************************************************************************/
-static ADDRESS_MAP_START( survarts_map, AS_PROGRAM, 16, ssv_state )
+ADDRESS_MAP_START(ssv_state::survarts_map)
SSV_MAP( 0xf00000 )
AM_RANGE(0x210000, 0x210001) AM_DEVREAD("watchdog", watchdog_timer_device, reset16_r)
// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 0,4 at the start
@@ -751,7 +751,7 @@ WRITE16_MEMBER(ssv_state::sxyreact_motor_w)
// popmessage("%04X",data); // 8 = motor on; 0 = motor off
}
-static ADDRESS_MAP_START( sxyreact_map, AS_PROGRAM, 16, ssv_state )
+ADDRESS_MAP_START(ssv_state::sxyreact_map)
SSV_MAP( 0xe00000 )
// AM_RANGE(0x020000, 0x03ffff) AM_READWRITE(mainram_r, mainram_w) // sxyreac2 reads / writes here, why?
AM_RANGE(0x210000, 0x210001) AM_DEVREAD("watchdog", watchdog_timer_device, reset16_r)
@@ -770,7 +770,7 @@ ADDRESS_MAP_END
/* comes as either a standalone board or a standard SSV rom board (verified) */
-static ADDRESS_MAP_START( twineag2_map, AS_PROGRAM, 16, ssv_state )
+ADDRESS_MAP_START(ssv_state::twineag2_map)
SSV_MAP( 0xe00000 )
AM_RANGE(0x010000, 0x03ffff) AM_RAM // More RAM
AM_RANGE(0x210000, 0x210001) AM_DEVREAD("watchdog", watchdog_timer_device, reset16_r) // Watchdog (also value is cmp.b with mem 8)
@@ -785,7 +785,7 @@ ADDRESS_MAP_END
/* standalone board based on SSV hardware */
-static ADDRESS_MAP_START( ultrax_map, AS_PROGRAM, 16, ssv_state )
+ADDRESS_MAP_START(ssv_state::ultrax_map)
SSV_MAP( 0xe00000 )
AM_RANGE(0x010000, 0x03ffff) AM_RAM // More RAM
AM_RANGE(0x210000, 0x210001) AM_DEVREAD("watchdog", watchdog_timer_device, reset16_r) // Watchdog (also value is cmp.b with memory address 8)
@@ -828,7 +828,7 @@ WRITE16_MEMBER(ssv_state::latch16_w)
machine().scheduler().synchronize();
}
-static ADDRESS_MAP_START( jsk_map, AS_PROGRAM, 16, ssv_state )
+ADDRESS_MAP_START(ssv_state::jsk_map)
SSV_MAP( 0xf00000 )
AM_RANGE(0x050000, 0x05ffff) AM_READWRITE(mainram_r, mainram_w) // RAM Mirror?
AM_RANGE(0x210000, 0x210001) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
@@ -837,7 +837,7 @@ static ADDRESS_MAP_START( jsk_map, AS_PROGRAM, 16, ssv_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jsk_v810_mem, AS_PROGRAM, 32, ssv_state )
+ADDRESS_MAP_START(ssv_state::jsk_v810_mem)
AM_RANGE(0x00000000, 0x0001ffff) AM_RAM
AM_RANGE(0x80000000, 0x8001ffff) AM_RAM
AM_RANGE(0xc0000000, 0xc001ffff) AM_RAM
@@ -881,7 +881,7 @@ WRITE16_MEMBER(ssv_state::eaglshot_gfxram_w)
}
-static ADDRESS_MAP_START( eaglshot_map, AS_PROGRAM, 16, ssv_state )
+ADDRESS_MAP_START(ssv_state::eaglshot_map)
SSV_MAP( 0xf00000 )
AM_RANGE(0x180000, 0x1bffff) AM_READWRITE(eaglshot_gfxram_r, eaglshot_gfxram_w)
AM_RANGE(0x210000, 0x210001) AM_READNOP /*AM_DEVREAD("watchdog", watchdog_timer_device, reset16_r)*/ // Watchdog
diff --git a/src/mame/drivers/ssystem3.cpp b/src/mame/drivers/ssystem3.cpp
index 1a3ce92dcef..7371e9dbc21 100644
--- a/src/mame/drivers/ssystem3.cpp
+++ b/src/mame/drivers/ssystem3.cpp
@@ -219,7 +219,7 @@ DRIVER_INIT_MEMBER(ssystem3_state,ssystem3)
ssystem3_lcd_reset();
}
-static ADDRESS_MAP_START( ssystem3_map , AS_PROGRAM, 8, ssystem3_state )
+ADDRESS_MAP_START(ssystem3_state::ssystem3_map)
AM_RANGE( 0x0000, 0x03ff) AM_RAM
/*
67-de playfield ($40 means white, $80 black)
diff --git a/src/mame/drivers/st17xx.cpp b/src/mame/drivers/st17xx.cpp
index 993a3ad8374..1ad605a823c 100644
--- a/src/mame/drivers/st17xx.cpp
+++ b/src/mame/drivers/st17xx.cpp
@@ -54,11 +54,12 @@ public:
virtual void video_start() override;
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void st17xx(machine_config &config);
+ void cpu_map(address_map &map);
};
/* Memory Maps */
-static ADDRESS_MAP_START( cpu_map, AS_PROGRAM, 32, st17xx_state )
+ADDRESS_MAP_START(st17xx_state::cpu_map)
AM_RANGE(0x00000000, 0x000fffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/st_mp100.cpp b/src/mame/drivers/st_mp100.cpp
index b8507da14ba..eade3d28ae7 100644
--- a/src/mame/drivers/st_mp100.cpp
+++ b/src/mame/drivers/st_mp100.cpp
@@ -59,6 +59,7 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(timer_x);
TIMER_DEVICE_CALLBACK_MEMBER(u11_timer);
void st_mp100(machine_config &config);
+ void st_mp100_map(address_map &map);
private:
uint8_t m_u10a;
uint8_t m_u10b;
@@ -89,7 +90,7 @@ private:
};
-static ADDRESS_MAP_START( st_mp100_map, AS_PROGRAM, 8, st_mp100_state )
+ADDRESS_MAP_START(st_mp100_state::st_mp100_map)
ADDRESS_MAP_GLOBAL_MASK(0x1fff)
AM_RANGE(0x0000, 0x007f) AM_RAM // internal to the cpu
AM_RANGE(0x0088, 0x008b) AM_DEVREADWRITE("pia_u10", pia6821_device, read, write)
diff --git a/src/mame/drivers/st_mp200.cpp b/src/mame/drivers/st_mp200.cpp
index e98c0b5b68f..156acac97a3 100644
--- a/src/mame/drivers/st_mp200.cpp
+++ b/src/mame/drivers/st_mp200.cpp
@@ -70,6 +70,7 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(u11_timer);
void st_mp201(machine_config &config);
void st_mp200(machine_config &config);
+ void st_mp200_map(address_map &map);
private:
uint8_t m_u10a;
uint8_t m_u10b;
@@ -103,7 +104,7 @@ private:
};
-static ADDRESS_MAP_START( st_mp200_map, AS_PROGRAM, 8, st_mp200_state )
+ADDRESS_MAP_START(st_mp200_state::st_mp200_map)
//ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x007f) AM_RAM // internal to the cpu
AM_RANGE(0x0088, 0x008b) AM_DEVREADWRITE("pia_u10", pia6821_device, read, write)
diff --git a/src/mame/drivers/stactics.cpp b/src/mame/drivers/stactics.cpp
index b0e8143762d..53b513435cb 100644
--- a/src/mame/drivers/stactics.cpp
+++ b/src/mame/drivers/stactics.cpp
@@ -178,7 +178,7 @@ INTERRUPT_GEN_MEMBER(stactics_state::interrupt)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, stactics_state )
+ADDRESS_MAP_START(stactics_state::main_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x4000, 0x40ff) AM_MIRROR(0x0700) AM_RAM
AM_RANGE(0x5000, 0x5000) AM_MIRROR(0x0fff) AM_READ_PORT("IN0")
diff --git a/src/mame/drivers/stadhero.cpp b/src/mame/drivers/stadhero.cpp
index 78a9e6dd617..9be53c637e2 100644
--- a/src/mame/drivers/stadhero.cpp
+++ b/src/mame/drivers/stadhero.cpp
@@ -53,7 +53,7 @@ WRITE16_MEMBER(stadhero_state::stadhero_control_w)
/******************************************************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, stadhero_state )
+ADDRESS_MAP_START(stadhero_state::main_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(stadhero_pf1_data_w) AM_SHARE("pf1_data")
AM_RANGE(0x240000, 0x240007) AM_DEVWRITE("tilegen1", deco_bac06_device, pf_control_0_w) /* text layer */
@@ -70,7 +70,7 @@ ADDRESS_MAP_END
/******************************************************************************/
-static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, stadhero_state )
+ADDRESS_MAP_START(stadhero_state::audio_map)
AM_RANGE(0x0000, 0x05ff) AM_RAM
AM_RANGE(0x0800, 0x0801) AM_DEVWRITE("ym1", ym2203_device, write)
AM_RANGE(0x1000, 0x1001) AM_DEVWRITE("ym2", ym3812_device, write)
diff --git a/src/mame/drivers/starcrus.cpp b/src/mame/drivers/starcrus.cpp
index 9a11a3a6dd5..eea560a28f5 100644
--- a/src/mame/drivers/starcrus.cpp
+++ b/src/mame/drivers/starcrus.cpp
@@ -20,12 +20,12 @@ palazzol@home.com
#include "speaker.h"
-static ADDRESS_MAP_START( starcrus_map, AS_PROGRAM, 8, starcrus_state )
+ADDRESS_MAP_START(starcrus_state::starcrus_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1000, 0x10ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( starcrus_io_map, AS_IO, 8, starcrus_state )
+ADDRESS_MAP_START(starcrus_state::starcrus_io_map)
AM_RANGE(0x00, 0x00) AM_READ_PORT("P1") AM_WRITE(s1_x_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("P2") AM_WRITE(s1_y_w)
AM_RANGE(0x02, 0x02) AM_READWRITE(coll_det_r, s2_x_w)
diff --git a/src/mame/drivers/starfire.cpp b/src/mame/drivers/starfire.cpp
index 74f3b9208c7..fb17eb11976 100644
--- a/src/mame/drivers/starfire.cpp
+++ b/src/mame/drivers/starfire.cpp
@@ -190,7 +190,7 @@ READ8_MEMBER(starfire_state::fireone_input_r)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, starfire_state )
+ADDRESS_MAP_START(starfire_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_READWRITE(starfire_scratch_r, starfire_scratch_w)
AM_RANGE(0xa000, 0xbfff) AM_READWRITE(starfire_colorram_r, starfire_colorram_w) AM_SHARE("colorram")
diff --git a/src/mame/drivers/stargame.cpp b/src/mame/drivers/stargame.cpp
index 74723a0c9dd..70528d26e7e 100644
--- a/src/mame/drivers/stargame.cpp
+++ b/src/mame/drivers/stargame.cpp
@@ -33,18 +33,22 @@ public:
DECLARE_MACHINE_RESET(stargame);
void stargame(machine_config &config);
+ void audiocpu_io(address_map &map);
+ void audiocpu_map(address_map &map);
+ void maincpu_io(address_map &map);
+ void maincpu_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_audiocpu;
required_device<z80ctc_device> m_ctc;
};
-static ADDRESS_MAP_START( maincpu_map, AS_PROGRAM, 8, stargame_state )
+ADDRESS_MAP_START(stargame_state::maincpu_map)
AM_RANGE(0x0000, 0x3fff) AM_MIRROR(0x4000) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_MIRROR(0x7800) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( maincpu_io, AS_IO, 8, stargame_state )
+ADDRESS_MAP_START(stargame_state::maincpu_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x09) AM_DEVWRITE("soundlatch", generic_latch_8_device, write) // CSON - command to the sound cpu - NMI to sound cpu
@@ -58,7 +62,7 @@ static ADDRESS_MAP_START( maincpu_io, AS_IO, 8, stargame_state )
AM_RANGE(0x70, 0x73) AM_MIRROR(0x0c) AM_DEVREADWRITE("ctc", z80ctc_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audiocpu_map, AS_PROGRAM, 8, stargame_state )
+ADDRESS_MAP_START(stargame_state::audiocpu_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x4001) AM_MIRROR(0x3ffe) AM_DEVREADWRITE("mea8000", mea8000_device, read, write)
@@ -67,7 +71,7 @@ static ADDRESS_MAP_START( audiocpu_map, AS_PROGRAM, 8, stargame_state )
AM_RANGE(0xe000, 0xffff) AM_DEVREADWRITE("soundlatch", generic_latch_8_device, read, acknowledge_w) // COMAND - acknowledge NMI and read the sound command
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audiocpu_io, AS_IO, 8, stargame_state )
+ADDRESS_MAP_START(stargame_state::audiocpu_io)
ADDRESS_MAP_GLOBAL_MASK(0x01)
AM_RANGE(0x00, 0x00) AM_DEVREAD("ay", ay8910_device, data_r)
AM_RANGE(0x01, 0x01) AM_DEVWRITE("ay", ay8910_device, data_address_w)
diff --git a/src/mame/drivers/starshp1.cpp b/src/mame/drivers/starshp1.cpp
index 6d3519d3c5a..29b2fc5cd15 100644
--- a/src/mame/drivers/starshp1.cpp
+++ b/src/mame/drivers/starshp1.cpp
@@ -155,7 +155,7 @@ WRITE_LINE_MEMBER(starshp1_state::led_w)
}
-static ADDRESS_MAP_START( starshp1_map, AS_PROGRAM, 8, starshp1_state )
+ADDRESS_MAP_START(starshp1_state::starshp1_map)
AM_RANGE(0x0000, 0x00ff) AM_RAM AM_MIRROR(0x100)
AM_RANGE(0x2c00, 0x3fff) AM_ROM
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("SYSTEM")
diff --git a/src/mame/drivers/starwars.cpp b/src/mame/drivers/starwars.cpp
index cbc4f4cb3fb..abe56b54bfb 100644
--- a/src/mame/drivers/starwars.cpp
+++ b/src/mame/drivers/starwars.cpp
@@ -130,7 +130,7 @@ WRITE8_MEMBER(starwars_state::esb_slapstic_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, starwars_state )
+ADDRESS_MAP_START(starwars_state::main_map)
AM_RANGE(0x0000, 0x2fff) AM_RAM AM_SHARE("vectorram") AM_REGION("maincpu", 0)
AM_RANGE(0x3000, 0x3fff) AM_ROM /* vector_rom */
AM_RANGE(0x4300, 0x431f) AM_READ_PORT("IN0")
@@ -160,7 +160,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, starwars_state )
AM_RANGE(0x8000, 0xffff) AM_ROM /* rest of main_rom */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( esb_main_map, AS_PROGRAM, 8, starwars_state )
+ADDRESS_MAP_START(starwars_state::esb_main_map)
AM_IMPORT_FROM(main_map)
AM_RANGE(0x8000, 0x9fff) AM_READWRITE(esb_slapstic_r, esb_slapstic_w)
AM_RANGE(0xa000, 0xffff) AM_ROMBANK("bank2")
@@ -173,7 +173,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, starwars_state )
+ADDRESS_MAP_START(starwars_state::sound_map)
AM_RANGE(0x0000, 0x07ff) AM_DEVWRITE("mainlatch", generic_latch_8_device, write)
AM_RANGE(0x0800, 0x0fff) AM_DEVREAD("soundlatch", generic_latch_8_device, read) /* SIN Read */
AM_RANGE(0x1000, 0x107f) AM_RAM /* 6532 ram */
diff --git a/src/mame/drivers/statriv2.cpp b/src/mame/drivers/statriv2.cpp
index 1c63f804059..606a4976a26 100644
--- a/src/mame/drivers/statriv2.cpp
+++ b/src/mame/drivers/statriv2.cpp
@@ -125,6 +125,8 @@ public:
void statriv2(machine_config &config);
void funcsino(machine_config &config);
void statriv2v(machine_config &config);
+ void statriv2_io_map(address_map &map);
+ void statriv2_map(address_map &map);
};
@@ -284,14 +286,14 @@ WRITE8_MEMBER(statriv2_state::ppi_portc_hi_w)
*
*************************************/
-static ADDRESS_MAP_START( statriv2_map, AS_PROGRAM, 8, statriv2_state )
+ADDRESS_MAP_START(statriv2_state::statriv2_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM
AM_RANGE(0x4800, 0x48ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(statriv2_videoram_w) AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( statriv2_io_map, AS_IO, 8, statriv2_state )
+ADDRESS_MAP_START(statriv2_state::statriv2_io_map)
AM_RANGE(0x20, 0x23) AM_DEVREADWRITE("ppi8255", i8255_device, read, write)
AM_RANGE(0x28, 0x2b) AM_READ(question_data_r) AM_WRITEONLY AM_SHARE("question_offset")
AM_RANGE(0xb0, 0xb1) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
diff --git a/src/mame/drivers/stellafr.cpp b/src/mame/drivers/stellafr.cpp
index 55d7a51c13c..b57bc552751 100644
--- a/src/mame/drivers/stellafr.cpp
+++ b/src/mame/drivers/stellafr.cpp
@@ -34,6 +34,7 @@ public:
DECLARE_WRITE8_MEMBER(ay8910_portb_w);
void stellafr(machine_config &config);
+ void stellafr_map(address_map &map);
protected:
// devices
@@ -70,7 +71,7 @@ WRITE8_MEMBER(stellafr_state::ay8910_portb_w)
-static ADDRESS_MAP_START( stellafr_map, AS_PROGRAM, 16, stellafr_state )
+ADDRESS_MAP_START(stellafr_state::stellafr_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x8000c0, 0x8000c1) AM_WRITE8(write_8000c1, 0x00ff)
AM_RANGE(0x800100, 0x800101) AM_READWRITE8(read_800101, write_800101, 0x00ff)
diff --git a/src/mame/drivers/stfight.cpp b/src/mame/drivers/stfight.cpp
index 66ad0ef3b45..57bcd81d3bc 100644
--- a/src/mame/drivers/stfight.cpp
+++ b/src/mame/drivers/stfight.cpp
@@ -267,7 +267,7 @@ TODO:
#include "speaker.h"
-static ADDRESS_MAP_START( cpu1_map, AS_PROGRAM, 8, stfight_state )
+ADDRESS_MAP_START(stfight_state::cpu1_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("mainbank") /* sf02.bin */
AM_RANGE(0xc000, 0xc0ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
@@ -286,7 +286,7 @@ static ADDRESS_MAP_START( cpu1_map, AS_PROGRAM, 8, stfight_state )
AM_RANGE(0xe000, 0xefff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( stfight_cpu1_map, AS_PROGRAM, 8, stfight_state )
+ADDRESS_MAP_START(stfight_state::stfight_cpu1_map)
AM_IMPORT_FROM(cpu1_map)
AM_RANGE(0xc807, 0xc807) AM_DEVWRITE("stfight_vid", stfight_video_device, stfight_sprite_bank_w)
AM_RANGE(0xd000, 0xd7ff) AM_RAM_DEVWRITE("stfight_vid", stfight_video_device, stfight_text_char_w) AM_SHARE("txram")
@@ -295,12 +295,12 @@ static ADDRESS_MAP_START( stfight_cpu1_map, AS_PROGRAM, 8, stfight_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, stfight_state )
+ADDRESS_MAP_START(stfight_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_SHARE("decrypted_opcodes")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cshooter_cpu1_map, AS_PROGRAM, 8, stfight_state )
+ADDRESS_MAP_START(stfight_state::cshooter_cpu1_map)
AM_IMPORT_FROM(cpu1_map)
AM_RANGE(0xc801, 0xc801) AM_WRITE(stfight_bank_w)
AM_RANGE(0xd000, 0xd7ff) AM_RAM_DEVWRITE("airraid_vid", airraid_video_device, txram_w) AM_SHARE("txram")
@@ -311,7 +311,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpu2_map, AS_PROGRAM, 8, stfight_state )
+ADDRESS_MAP_START(stfight_state::cpu2_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
AM_RANGE(0xc800, 0xc801) AM_DEVREADWRITE("ym2", ym2203_device, read, write)
@@ -495,7 +495,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(stfight_state::stfight, stfight_base)
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(stfight_cpu1_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("stfight_vid:screen", stfight_state, stfight_vb_interrupt)
MCFG_STFIGHT_VIDEO_ADD("stfight_vid")
diff --git a/src/mame/drivers/stlforce.cpp b/src/mame/drivers/stlforce.cpp
index 0df7c593bc7..41911f08a89 100644
--- a/src/mame/drivers/stlforce.cpp
+++ b/src/mame/drivers/stlforce.cpp
@@ -92,7 +92,7 @@ WRITE8_MEMBER(stlforce_state::oki_bank_w)
}
}
-static ADDRESS_MAP_START( stlforce_map, AS_PROGRAM, 16, stlforce_state )
+ADDRESS_MAP_START(stlforce_state::stlforce_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x1007ff) AM_RAM_WRITE(bg_videoram_w) AM_SHARE("bg_videoram")
AM_RANGE(0x100800, 0x100fff) AM_RAM_WRITE(mlow_videoram_w) AM_SHARE("mlow_videoram")
@@ -115,7 +115,7 @@ static ADDRESS_MAP_START( stlforce_map, AS_PROGRAM, 16, stlforce_state )
AM_RANGE(0x410000, 0x410001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( twinbrat_oki_map, 0, 8, stlforce_state )
+ADDRESS_MAP_START(stlforce_state::twinbrat_oki_map)
AM_RANGE(0x00000, 0x1ffff) AM_ROM
AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK("okibank")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/stratos.cpp b/src/mame/drivers/stratos.cpp
index 00b704f9a72..35dc8d9896a 100644
--- a/src/mame/drivers/stratos.cpp
+++ b/src/mame/drivers/stratos.cpp
@@ -38,6 +38,7 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void stratos(machine_config &config);
+ void stratos_mem(address_map &map);
private:
std::unique_ptr<uint8_t[]> nvram_data;
uint8_t control, led_latch_control;
@@ -329,7 +330,7 @@ WRITE8_MEMBER(stratos_state::lcd_w)
}
}
-static ADDRESS_MAP_START( stratos_mem, AS_PROGRAM, 8, stratos_state )
+ADDRESS_MAP_START(stratos_state::stratos_mem)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x2000) AM_WRITE(p2000_w)
AM_RANGE(0x2200, 0x2200) AM_READWRITE(p2200_r, p2200_w)
diff --git a/src/mame/drivers/strkzn.cpp b/src/mame/drivers/strkzn.cpp
index 8b3d5ed3682..e9ae2c19fe1 100644
--- a/src/mame/drivers/strkzn.cpp
+++ b/src/mame/drivers/strkzn.cpp
@@ -23,26 +23,30 @@ public:
{ }
void strkzn(machine_config &config);
+ void light_io(address_map &map);
+ void light_mem(address_map &map);
+ void main_io(address_map &map);
+ void main_mem(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_lightcpu;
};
-static ADDRESS_MAP_START( main_mem, AS_PROGRAM, 8, strkzn_state )
+ADDRESS_MAP_START(strkzn_state::main_mem)
AM_RANGE(0x0000, 0xdfff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_io, AS_IO, 8, strkzn_state )
+ADDRESS_MAP_START(strkzn_state::main_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( light_mem, AS_PROGRAM, 8, strkzn_state )
+ADDRESS_MAP_START(strkzn_state::light_mem)
AM_RANGE(0x00000, 0x00fff) AM_RAM
AM_RANGE(0xf0000, 0xfffff) AM_ROM AM_REGION("lightcpu", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( light_io, AS_IO, 8, strkzn_state )
+ADDRESS_MAP_START(strkzn_state::light_io)
AM_RANGE(0x0007, 0x0007) AM_READNOP
ADDRESS_MAP_END
diff --git a/src/mame/drivers/strnskil.cpp b/src/mame/drivers/strnskil.cpp
index 974f710237f..57cc27a6d5b 100644
--- a/src/mame/drivers/strnskil.cpp
+++ b/src/mame/drivers/strnskil.cpp
@@ -91,7 +91,7 @@ WRITE8_MEMBER(strnskil_state::protection_w)
/****************************************************************************/
-static ADDRESS_MAP_START( strnskil_map1, AS_PROGRAM, 8, strnskil_state )
+ADDRESS_MAP_START(strnskil_state::strnskil_map1)
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
@@ -110,7 +110,7 @@ static ADDRESS_MAP_START( strnskil_map1, AS_PROGRAM, 8, strnskil_state )
AM_RANGE(0xd80a, 0xd80b) AM_WRITEONLY AM_SHARE("xscroll")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( strnskil_map2, AS_PROGRAM, 8, strnskil_state )
+ADDRESS_MAP_START(strnskil_state::strnskil_map2)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xc800, 0xcfff) AM_RAM AM_SHARE("share1")
diff --git a/src/mame/drivers/studio2.cpp b/src/mame/drivers/studio2.cpp
index ae954485c68..1935e2554c4 100644
--- a/src/mame/drivers/studio2.cpp
+++ b/src/mame/drivers/studio2.cpp
@@ -248,6 +248,8 @@ public:
uint8_t m_keylatch;
void studio2_cartslot(machine_config &config);
void studio2(machine_config &config);
+ void studio2_io_map(address_map &map);
+ void studio2_map(address_map &map);
};
class visicom_state : public studio2_state
@@ -266,6 +268,8 @@ public:
DECLARE_WRITE8_MEMBER( dma_w );
void visicom(machine_config &config);
+ void visicom_io_map(address_map &map);
+ void visicom_map(address_map &map);
};
class mpt02_state : public studio2_state
@@ -292,6 +296,8 @@ public:
required_shared_ptr<uint8_t> m_color_ram;
uint8_t m_color;
void mpt02(machine_config &config);
+ void mpt02_io_map(address_map &map);
+ void mpt02_map(address_map &map);
};
@@ -328,19 +334,19 @@ WRITE8_MEMBER( studio2_state::dispon_w )
/* Memory Maps */
-static ADDRESS_MAP_START( studio2_map, AS_PROGRAM, 8, studio2_state )
+ADDRESS_MAP_START(studio2_state::studio2_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x07ff) AM_ROM
AM_RANGE(0x0800, 0x09ff) AM_MIRROR(0xf400) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( studio2_io_map, AS_IO, 8, studio2_state )
+ADDRESS_MAP_START(studio2_state::studio2_io_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x01, 0x01) AM_READ(dispon_r)
AM_RANGE(0x02, 0x02) AM_WRITE(keylatch_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( visicom_map, AS_PROGRAM, 8, visicom_state )
+ADDRESS_MAP_START(visicom_state::visicom_map)
AM_RANGE(0x0000, 0x07ff) AM_ROM
AM_RANGE(0x0800, 0x0fff) AM_DEVREAD("cartslot", generic_slot_device, read_rom)
AM_RANGE(0x1000, 0x10ff) AM_RAM
@@ -348,19 +354,19 @@ static ADDRESS_MAP_START( visicom_map, AS_PROGRAM, 8, visicom_state )
AM_RANGE(0x1300, 0x13ff) AM_RAM AM_SHARE("color1_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( visicom_io_map, AS_IO, 8, visicom_state )
+ADDRESS_MAP_START(visicom_state::visicom_io_map)
AM_RANGE(0x01, 0x01) AM_WRITE(dispon_w)
AM_RANGE(0x02, 0x02) AM_WRITE(keylatch_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mpt02_map, AS_PROGRAM, 8, mpt02_state )
+ADDRESS_MAP_START(mpt02_state::mpt02_map)
AM_RANGE(0x0000, 0x07ff) AM_ROM
AM_RANGE(0x0800, 0x09ff) AM_RAM
AM_RANGE(0x0b00, 0x0b3f) AM_RAM AM_SHARE("color_ram")
AM_RANGE(0x0c00, 0x0fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mpt02_io_map, AS_IO, 8, mpt02_state )
+ADDRESS_MAP_START(mpt02_state::mpt02_io_map)
AM_RANGE(0x01, 0x01) AM_DEVREADWRITE(CDP1864_TAG, cdp1864_device, dispon_r, step_bgcolor_w)
AM_RANGE(0x02, 0x02) AM_WRITE(keylatch_w)
AM_RANGE(0x04, 0x04) AM_DEVREADWRITE(CDP1864_TAG, cdp1864_device, dispoff_r, tone_latch_w)
diff --git a/src/mame/drivers/stuntair.cpp b/src/mame/drivers/stuntair.cpp
index 4645cb2550f..df3a34bf4f9 100644
--- a/src/mame/drivers/stuntair.cpp
+++ b/src/mame/drivers/stuntair.cpp
@@ -144,6 +144,9 @@ public:
uint32_t screen_update_stuntair(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_PALETTE_INIT(stuntair);
void stuntair(machine_config &config);
+ void stuntair_map(address_map &map);
+ void stuntair_sound_map(address_map &map);
+ void stuntair_sound_portmap(address_map &map);
};
@@ -317,7 +320,7 @@ WRITE8_MEMBER(stuntair_state::stuntair_sound_w)
}
// main Z80
-static ADDRESS_MAP_START( stuntair_map, AS_PROGRAM, 8, stuntair_state )
+ADDRESS_MAP_START(stuntair_state::stuntair_map)
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xc800, 0xcbff) AM_RAM_WRITE(stuntair_bgattrram_w) AM_SHARE("bgattrram")
@@ -334,12 +337,12 @@ static ADDRESS_MAP_START( stuntair_map, AS_PROGRAM, 8, stuntair_state )
ADDRESS_MAP_END
// sound Z80
-static ADDRESS_MAP_START( stuntair_sound_map, AS_PROGRAM, 8, stuntair_state )
+ADDRESS_MAP_START(stuntair_state::stuntair_sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( stuntair_sound_portmap, AS_IO, 8, stuntair_state )
+ADDRESS_MAP_START(stuntair_state::stuntair_sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x03, 0x03) AM_DEVWRITE("ay2", ay8910_device, address_w)
AM_RANGE(0x07, 0x07) AM_DEVWRITE("ay2", ay8910_device, data_w)
diff --git a/src/mame/drivers/stv.cpp b/src/mame/drivers/stv.cpp
index 7d6e010c722..b64288faab5 100644
--- a/src/mame/drivers/stv.cpp
+++ b/src/mame/drivers/stv.cpp
@@ -975,7 +975,7 @@ DRIVER_INIT_MEMBER(stv_state, hopper)
m_slave->space(AS_PROGRAM).install_readwrite_handler(0x00400000, 0x0040003f, read32_delegate(FUNC(stv_state::stv_ioga_r32),this), write32_delegate(FUNC(stv_state::hop_ioga_w32),this));
}
-static ADDRESS_MAP_START( stv_mem, AS_PROGRAM, 32, stv_state )
+ADDRESS_MAP_START(stv_state::stv_mem)
AM_RANGE(0x00000000, 0x0007ffff) AM_ROM AM_MIRROR(0x20000000) AM_REGION("bios", 0) // bios
AM_RANGE(0x00100000, 0x0010007f) AM_DEVREADWRITE8("smpc", smpc_hle_device, read, write, 0xffffffff)
AM_RANGE(0x00180000, 0x0018ffff) AM_READWRITE8(saturn_backupram_r,saturn_backupram_w,0xffffffff) AM_SHARE("share1")
@@ -1001,7 +1001,7 @@ static ADDRESS_MAP_START( stv_mem, AS_PROGRAM, 32, stv_state )
AM_RANGE(0xc0000000, 0xc00007ff) AM_RAM // cache RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_mem, AS_PROGRAM, 16, stv_state )
+ADDRESS_MAP_START(stv_state::sound_mem)
AM_RANGE(0x000000, 0x0fffff) AM_RAM AM_SHARE("sound_ram")
AM_RANGE(0x100000, 0x100fff) AM_DEVREADWRITE("scsp", scsp_device, read, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/su2000.cpp b/src/mame/drivers/su2000.cpp
index daadfd11bf9..8cbcbe1672c 100644
--- a/src/mame/drivers/su2000.cpp
+++ b/src/mame/drivers/su2000.cpp
@@ -66,6 +66,8 @@ public:
: pcat_base_state(mconfig, type, tag){ }
void su2000(machine_config &config);
+ void pcat_io(address_map &map);
+ void pcat_map(address_map &map);
};
@@ -75,7 +77,7 @@ public:
*
*************************************/
-static ADDRESS_MAP_START( pcat_map, AS_PROGRAM, 32, su2000_state )
+ADDRESS_MAP_START(su2000_state::pcat_map)
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", vga_device, mem_r, mem_w, 0xffffffff)
AM_RANGE(0x000c0000, 0x000c7fff) AM_ROM
@@ -84,7 +86,7 @@ static ADDRESS_MAP_START( pcat_map, AS_PROGRAM, 32, su2000_state )
AM_RANGE(0xffff0000, 0xffffffff) AM_ROM AM_REGION("maincpu", 0x0f0000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pcat_io, AS_IO, 32, su2000_state )
+ADDRESS_MAP_START(su2000_state::pcat_io)
AM_IMPORT_FROM(pcat32_io_common)
AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", vga_device, port_03b0_r, port_03b0_w, 0xffffffff)
AM_RANGE(0x03c0, 0x03cf) AM_DEVREADWRITE8("vga", vga_device, port_03c0_r, port_03c0_w, 0xffffffff)
diff --git a/src/mame/drivers/sub.cpp b/src/mame/drivers/sub.cpp
index c2aaf07f178..e4136cb5c0c 100644
--- a/src/mame/drivers/sub.cpp
+++ b/src/mame/drivers/sub.cpp
@@ -160,6 +160,10 @@ public:
INTERRUPT_GEN_MEMBER(main_irq);
INTERRUPT_GEN_MEMBER(sound_irq);
void sub(machine_config &config);
+ void subm_io(address_map &map);
+ void subm_map(address_map &map);
+ void subm_sound_io(address_map &map);
+ void subm_sound_map(address_map &map);
};
void sub_state::machine_start()
@@ -257,7 +261,7 @@ WRITE_LINE_MEMBER(sub_state::int_mask_w)
m_maincpu->set_input_line(0, CLEAR_LINE);
}
-static ADDRESS_MAP_START( subm_map, AS_PROGRAM, 8, sub_state )
+ADDRESS_MAP_START(sub_state::subm_map)
AM_RANGE(0x0000, 0xafff) AM_ROM
AM_RANGE(0xb000, 0xbfff) AM_RAM
AM_RANGE(0xc000, 0xc3ff) AM_RAM AM_SHARE("attr")
@@ -282,18 +286,18 @@ WRITE8_MEMBER(sub_state::nmi_mask_w)
m_soundcpu->set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
}
-static ADDRESS_MAP_START( subm_io, AS_IO, 8, sub_state )
+ADDRESS_MAP_START(sub_state::subm_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch2", generic_latch_8_device, read) AM_DEVWRITE("soundlatch", generic_latch_8_device, write) // to/from sound CPU
ADDRESS_MAP_END
-static ADDRESS_MAP_START( subm_sound_map, AS_PROGRAM, 8, sub_state )
+ADDRESS_MAP_START(sub_state::subm_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x6000, 0x6000) AM_WRITE(nmi_mask_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( subm_sound_io, AS_IO, 8, sub_state )
+ADDRESS_MAP_START(sub_state::subm_sound_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_DEVWRITE("soundlatch2", generic_latch_8_device, write) // to/from main CPU
AM_RANGE(0x40, 0x41) AM_DEVREADWRITE("ay1", ay8910_device, data_r, address_data_w)
diff --git a/src/mame/drivers/subhuntr.cpp b/src/mame/drivers/subhuntr.cpp
index 4972188309b..a59f426dd98 100644
--- a/src/mame/drivers/subhuntr.cpp
+++ b/src/mame/drivers/subhuntr.cpp
@@ -44,6 +44,9 @@ public:
DECLARE_PALETTE_INIT(subhuntr);
uint32_t screen_update_subhuntr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void subhuntr(machine_config &config);
+ void subhuntr_data_map(address_map &map);
+ void subhuntr_io_map(address_map &map);
+ void subhuntr_map(address_map &map);
};
@@ -73,15 +76,15 @@ void subhuntr_state::video_start()
***************************************************************************/
-static ADDRESS_MAP_START( subhuntr_map, AS_PROGRAM, 8, subhuntr_state )
+ADDRESS_MAP_START(subhuntr_state::subhuntr_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1c00, 0x1fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( subhuntr_io_map, AS_PROGRAM, 8, subhuntr_state )
+ADDRESS_MAP_START(subhuntr_state::subhuntr_io_map)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( subhuntr_data_map, AS_DATA, 8, subhuntr_state )
+ADDRESS_MAP_START(subhuntr_state::subhuntr_data_map)
// AM_RANGE(S2650_CTRL_PORT, S2650_CTRL_PORT) AM_READWRITE( , )
// AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_READWRITE( , )
ADDRESS_MAP_END
diff --git a/src/mame/drivers/subs.cpp b/src/mame/drivers/subs.cpp
index cd262787582..1d8374a3b20 100644
--- a/src/mame/drivers/subs.cpp
+++ b/src/mame/drivers/subs.cpp
@@ -51,7 +51,7 @@ PALETTE_INIT_MEMBER(subs_state, subs)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, subs_state )
+ADDRESS_MAP_START(subs_state::main_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x0000, 0x0000) AM_WRITE(noise_reset_w)
diff --git a/src/mame/drivers/subsino.cpp b/src/mame/drivers/subsino.cpp
index b80ca9aa369..b2bd52f5b5d 100644
--- a/src/mame/drivers/subsino.cpp
+++ b/src/mame/drivers/subsino.cpp
@@ -337,6 +337,16 @@ public:
void victor21(machine_config &config);
void sharkpy(machine_config &config);
void victor5(machine_config &config);
+ void crsbingo_map(address_map &map);
+ void mtrainnv_map(address_map &map);
+ void ramdac_map(address_map &map);
+ void sharkpy_map(address_map &map);
+ void srider_map(address_map &map);
+ void stbsub_map(address_map &map);
+ void subsino_iomap(address_map &map);
+ void tisub_map(address_map &map);
+ void victor21_map(address_map &map);
+ void victor5_map(address_map &map);
};
void subsino_state::machine_start()
@@ -833,7 +843,7 @@ WRITE8_MEMBER(subsino_state::subsino_out_b_w)
* Memory Maps *
***************************************************************************/
-static ADDRESS_MAP_START( srider_map, AS_PROGRAM, 8, subsino_state )
+ADDRESS_MAP_START(subsino_state::srider_map)
AM_RANGE( 0x00000, 0x0bfff ) AM_ROM
AM_RANGE( 0x0c000, 0x0cfff ) AM_RAM
@@ -857,7 +867,7 @@ static ADDRESS_MAP_START( srider_map, AS_PROGRAM, 8, subsino_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sharkpy_map, AS_PROGRAM, 8, subsino_state )
+ADDRESS_MAP_START(subsino_state::sharkpy_map)
AM_RANGE( 0x00000, 0x13fff ) AM_ROM //overlap unmapped regions
AM_RANGE( 0x09800, 0x09fff ) AM_RAM
@@ -886,7 +896,7 @@ that announces to the player that the card deck changes. If the protection check
this event makes the game to reset without any money in the bank.
*/
-static ADDRESS_MAP_START( victor21_map, AS_PROGRAM, 8, subsino_state )
+ADDRESS_MAP_START(subsino_state::victor21_map)
AM_RANGE( 0x00000, 0x08fff ) AM_ROM //overlap unmapped regions
AM_RANGE( 0x09800, 0x09fff ) AM_RAM
@@ -965,7 +975,7 @@ WRITE8_MEMBER(subsino_state::flash_w)
}
}
-static ADDRESS_MAP_START( victor5_map, AS_PROGRAM, 8, subsino_state )
+ADDRESS_MAP_START(subsino_state::victor5_map)
AM_IMPORT_FROM( victor21_map )
AM_RANGE( 0x0900a, 0x0900a ) AM_READWRITE(flash_r, flash_w )
AM_RANGE( 0x0900b, 0x0900b ) AM_READNOP //"flash" status, bit 0
@@ -978,7 +988,7 @@ READ8_MEMBER(subsino_state::hwcheck_r)
return 0x55;
}
-static ADDRESS_MAP_START( crsbingo_map, AS_PROGRAM, 8, subsino_state )
+ADDRESS_MAP_START(subsino_state::crsbingo_map)
AM_RANGE( 0x00000, 0x8fff ) AM_ROM //overlap unmapped regions
AM_RANGE( 0x09800, 0x09fff ) AM_RAM
@@ -1026,7 +1036,7 @@ WRITE8_MEMBER(subsino_state::subsino_out_c_w)
// popmessage("data %02x\n",data);
}
-static ADDRESS_MAP_START( tisub_map, AS_PROGRAM, 8, subsino_state )
+ADDRESS_MAP_START(subsino_state::tisub_map)
AM_RANGE( 0x00000, 0x0bfff ) AM_ROM // overlap unmapped regions
AM_RANGE( 0x09800, 0x09fff ) AM_RAM
@@ -1062,7 +1072,7 @@ static ADDRESS_MAP_START( tisub_map, AS_PROGRAM, 8, subsino_state )
AM_RANGE( 0x15c00, 0x15dff ) AM_RAM_WRITE(subsino_reel3_ram_w) AM_SHARE("reel3_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ramdac_map, 0, 8, subsino_state )
+ADDRESS_MAP_START(subsino_state::ramdac_map)
AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac", ramdac_device, ramdac_pal_r, ramdac_rgb666_w)
ADDRESS_MAP_END
@@ -1117,7 +1127,7 @@ READ8_MEMBER(subsino_state::reel_scrollattr_r)
return m_reel1_attr[offset];
}
-static ADDRESS_MAP_START( stbsub_map, AS_PROGRAM, 8, subsino_state )
+ADDRESS_MAP_START(subsino_state::stbsub_map)
AM_RANGE( 0x00000, 0x0bfff ) AM_ROM
AM_RANGE( 0x0c000, 0x0cfff ) AM_RAM
@@ -1155,7 +1165,7 @@ ADDRESS_MAP_END
Magic Train (Clear NVRAM ROM?)
***************************************************************************/
-static ADDRESS_MAP_START( mtrainnv_map, AS_PROGRAM, 8, subsino_state )
+ADDRESS_MAP_START(subsino_state::mtrainnv_map)
AM_RANGE( 0x00000, 0x0bfff ) AM_ROM
AM_RANGE( 0x0c000, 0x0cfff ) AM_RAM
@@ -1190,7 +1200,7 @@ static ADDRESS_MAP_START( mtrainnv_map, AS_PROGRAM, 8, subsino_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( subsino_iomap, AS_IO, 8, subsino_state )
+ADDRESS_MAP_START(subsino_state::subsino_iomap)
AM_RANGE( 0x0000, 0x003f ) AM_RAM // internal regs
ADDRESS_MAP_END
diff --git a/src/mame/drivers/subsino2.cpp b/src/mame/drivers/subsino2.cpp
index d127b136e3f..56f04af30a4 100644
--- a/src/mame/drivers/subsino2.cpp
+++ b/src/mame/drivers/subsino2.cpp
@@ -191,6 +191,19 @@ public:
void expcard(machine_config &config);
void xplan(machine_config &config);
void xtrain(machine_config &config);
+ void bishjan_map(address_map &map);
+ void expcard_io(address_map &map);
+ void humlan_map(address_map &map);
+ void mtrain_io(address_map &map);
+ void mtrain_map(address_map &map);
+ void new2001_base_map(address_map &map);
+ void new2001_map(address_map &map);
+ void ramdac_map(address_map &map);
+ void saklove_io(address_map &map);
+ void saklove_map(address_map &map);
+ void xplan_io(address_map &map);
+ void xplan_map(address_map &map);
+ void xtrain_io(address_map &map);
private:
inline void ss9601_get_tile_info(layer_t *l, tile_data &tileinfo, tilemap_memory_index tile_index);
};
@@ -907,7 +920,7 @@ WRITE16_MEMBER(subsino2_state::bishjan_outputs_w)
}
-static ADDRESS_MAP_START( bishjan_map, AS_PROGRAM, 16, subsino2_state )
+ADDRESS_MAP_START(subsino2_state::bishjan_map)
ADDRESS_MAP_GLOBAL_MASK(0xffffff)
AM_RANGE( 0x000000, 0x07ffff ) AM_ROM AM_REGION("maincpu", 0)
@@ -956,7 +969,7 @@ static ADDRESS_MAP_START( bishjan_map, AS_PROGRAM, 16, subsino2_state )
AM_RANGE( 0xc00008, 0xc00009 ) AM_READ_PORT("RESET") AM_WRITE(bishjan_outputs_w ) AM_SHARE("outputs16")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ramdac_map, 0, 8, subsino2_state )
+ADDRESS_MAP_START(subsino2_state::ramdac_map)
AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac", ramdac_device, ramdac_pal_r, ramdac_rgb666_w)
ADDRESS_MAP_END
@@ -995,7 +1008,7 @@ WRITE16_MEMBER(subsino2_state::new2001_outputs_w)
}
// Same as bishjan (except for i/o and lo2 usage like xplan)
-static ADDRESS_MAP_START( new2001_base_map, AS_PROGRAM, 16, subsino2_state )
+ADDRESS_MAP_START(subsino2_state::new2001_base_map)
ADDRESS_MAP_GLOBAL_MASK(0xffffff)
AM_RANGE( 0x000000, 0x07ffff ) AM_ROM AM_REGION("maincpu", 0)
@@ -1048,7 +1061,7 @@ static ADDRESS_MAP_START( new2001_base_map, AS_PROGRAM, 16, subsino2_state )
AM_RANGE( 0xc00006, 0xc00007 ) AM_READ(bishjan_serial_r )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( new2001_map, AS_PROGRAM, 16, subsino2_state )
+ADDRESS_MAP_START(subsino2_state::new2001_map)
AM_IMPORT_FROM(new2001_base_map)
AM_RANGE( 0xc00008, 0xc00009 ) AM_WRITE(new2001_outputs_w ) AM_SHARE("outputs16")
ADDRESS_MAP_END
@@ -1084,7 +1097,7 @@ WRITE16_MEMBER(subsino2_state::humlan_outputs_w)
// popmessage("0: %04x", m_outputs16[0]);
}
-static ADDRESS_MAP_START( humlan_map, AS_PROGRAM, 16, subsino2_state )
+ADDRESS_MAP_START(subsino2_state::humlan_map)
AM_IMPORT_FROM(new2001_base_map)
AM_RANGE( 0xc00008, 0xc00009 ) AM_WRITE(humlan_outputs_w ) AM_SHARE("outputs16")
ADDRESS_MAP_END
@@ -1218,7 +1231,7 @@ READ8_MEMBER(subsino2_state::mtrain_prot_r)
return "SUBSION"[offset];
}
-static ADDRESS_MAP_START( mtrain_map, AS_PROGRAM, 8, subsino2_state )
+ADDRESS_MAP_START(subsino2_state::mtrain_map)
AM_RANGE( 0x00000, 0x06fff ) AM_ROM
AM_RANGE( 0x07800, 0x07fff ) AM_RAM AM_SHARE("nvram") // battery
@@ -1253,7 +1266,7 @@ static ADDRESS_MAP_START( mtrain_map, AS_PROGRAM, 8, subsino2_state )
AM_RANGE( 0x0a000, 0x0ffff ) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mtrain_io, AS_IO, 8, subsino2_state )
+ADDRESS_MAP_START(subsino2_state::mtrain_io)
AM_RANGE( 0x0000, 0x003f ) AM_RAM // internal regs
ADDRESS_MAP_END
@@ -1286,7 +1299,7 @@ WRITE8_MEMBER(subsino2_state::saklove_outputs_w)
// popmessage("0: %02x - 1: %02x - 2: %02x - 3: %02x", m_outputs[0], m_outputs[1], m_outputs[2], m_outputs[3]);
}
-static ADDRESS_MAP_START( saklove_map, AS_PROGRAM, 8, subsino2_state )
+ADDRESS_MAP_START(subsino2_state::saklove_map)
AM_RANGE(0x00000, 0x07fff) AM_RAM AM_SHARE("nvram") // battery
// read lo (L1) (only half tilemap?)
@@ -1311,7 +1324,7 @@ static ADDRESS_MAP_START( saklove_map, AS_PROGRAM, 8, subsino2_state )
AM_RANGE(0xe0000, 0xfffff) AM_ROM AM_REGION("maincpu",0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( saklove_io, AS_IO, 8, subsino2_state )
+ADDRESS_MAP_START(subsino2_state::saklove_io)
AM_RANGE(0x0000, 0x0000) AM_WRITE(ss9601_scrollctrl_w )
AM_RANGE(0x0020, 0x0020) AM_DEVREADWRITE("oki", okim6295_device, read, write)
@@ -1376,7 +1389,7 @@ WRITE8_MEMBER(subsino2_state::xplan_outputs_w)
// popmessage("0: %02x - 1: %02x - 2: %02x - 3: %02x", m_outputs[0], m_outputs[1], m_outputs[2], m_outputs[3]);
}
-static ADDRESS_MAP_START( xplan_map, AS_PROGRAM, 8, subsino2_state )
+ADDRESS_MAP_START(subsino2_state::xplan_map)
AM_RANGE(0x00000, 0x07fff) AM_RAM AM_SHARE("nvram") // battery
// write both (L1, byte_lo2)
@@ -1410,7 +1423,7 @@ static ADDRESS_MAP_START( xplan_map, AS_PROGRAM, 8, subsino2_state )
AM_RANGE(0xc0000, 0xfffff) AM_ROM AM_REGION("maincpu",0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( xplan_io, AS_IO, 8, subsino2_state )
+ADDRESS_MAP_START(subsino2_state::xplan_io)
AM_RANGE(0x0000, 0x0000) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0x0020, 0x0020) AM_WRITE(ss9601_byte_lo2_w )
@@ -1479,14 +1492,14 @@ WRITE8_MEMBER(subsino2_state::xtrain_outputs_w)
// popmessage("0: %02x - 1: %02x - 2: %02x - 3: %02x", m_outputs[0], m_outputs[1], m_outputs[2], m_outputs[3]);
}
-static ADDRESS_MAP_START( expcard_io, AS_IO, 8, subsino2_state )
+ADDRESS_MAP_START(subsino2_state::expcard_io)
AM_IMPORT_FROM( xplan_io )
// 306 = d, 307 = c, 308 = b, 309 = a
AM_RANGE(0x0306, 0x0309) AM_WRITE(expcard_outputs_w ) AM_SHARE("outputs")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( xtrain_io, AS_IO, 8, subsino2_state )
+ADDRESS_MAP_START(subsino2_state::xtrain_io)
AM_IMPORT_FROM( xplan_io )
// 306 = d, 307 = c, 308 = b, 309 = a
diff --git a/src/mame/drivers/summit.cpp b/src/mame/drivers/summit.cpp
index c3af6cdfaf0..e8c20d92425 100644
--- a/src/mame/drivers/summit.cpp
+++ b/src/mame/drivers/summit.cpp
@@ -43,6 +43,7 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
void summit(machine_config &config);
+ void mainmap(address_map &map);
};
@@ -76,7 +77,7 @@ WRITE8_MEMBER(summit_state::out_w)
}
-static ADDRESS_MAP_START( mainmap, AS_PROGRAM, 8, summit_state )
+ADDRESS_MAP_START(summit_state::mainmap)
AM_RANGE(0x0000, 0x17ff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM AM_SHARE("attr")
diff --git a/src/mame/drivers/sumt8035.cpp b/src/mame/drivers/sumt8035.cpp
index fe3270039af..2f37c88a623 100644
--- a/src/mame/drivers/sumt8035.cpp
+++ b/src/mame/drivers/sumt8035.cpp
@@ -25,6 +25,8 @@ public:
{ }
void summit(machine_config &config);
+ void sumt_map(address_map &map);
+ void sumt_portmap(address_map &map);
protected:
// devices
@@ -32,12 +34,12 @@ protected:
};
-static ADDRESS_MAP_START( sumt_map, AS_PROGRAM, 8, sumt8035_state )
+ADDRESS_MAP_START(sumt8035_state::sumt_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sumt_portmap, AS_IO, 8, sumt8035_state )
+ADDRESS_MAP_START(sumt8035_state::sumt_portmap)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/sun1.cpp b/src/mame/drivers/sun1.cpp
index bfec5435f91..2a167d8f6a0 100644
--- a/src/mame/drivers/sun1.cpp
+++ b/src/mame/drivers/sun1.cpp
@@ -76,6 +76,7 @@ public:
}
void sun1(machine_config &config);
+ void sun1_mem(address_map &map);
protected:
virtual void machine_reset() override;
@@ -85,7 +86,7 @@ protected:
};
-static ADDRESS_MAP_START(sun1_mem, AS_PROGRAM, 16, sun1_state)
+ADDRESS_MAP_START(sun1_state::sun1_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000000, 0x001fffff) AM_RAM AM_SHARE("p_ram") // 512 KB RAM / ROM at boot
AM_RANGE(0x00200000, 0x00203fff) AM_ROM AM_REGION("user1",0)
diff --git a/src/mame/drivers/sun2.cpp b/src/mame/drivers/sun2.cpp
index f6e00e974f3..15bcff610ad 100644
--- a/src/mame/drivers/sun2.cpp
+++ b/src/mame/drivers/sun2.cpp
@@ -177,6 +177,15 @@ public:
void sun2mbus(machine_config &config);
void sun2vme(machine_config &config);
+ void mbustype0space_map(address_map &map);
+ void mbustype1space_map(address_map &map);
+ void mbustype2space_map(address_map &map);
+ void mbustype3space_map(address_map &map);
+ void sun2_mem(address_map &map);
+ void vmetype0space_map(address_map &map);
+ void vmetype1space_map(address_map &map);
+ void vmetype2space_map(address_map &map);
+ void vmetype3space_map(address_map &map);
private:
uint16_t *m_rom_ptr, *m_ram_ptr;
uint8_t *m_idprom_ptr;
@@ -470,18 +479,18 @@ WRITE16_MEMBER( sun2_state::video_ctrl_w )
COMBINE_DATA(&m_bw2_ctrl);
}
-static ADDRESS_MAP_START(sun2_mem, AS_PROGRAM, 16, sun2_state)
+ADDRESS_MAP_START(sun2_state::sun2_mem)
AM_RANGE(0x000000, 0xffffff) AM_READWRITE( tl_mmu_r, tl_mmu_w )
ADDRESS_MAP_END
// VME memory spaces
// type 0 device space
-static ADDRESS_MAP_START(vmetype0space_map, AS_PROGRAM, 16, sun2_state)
+ADDRESS_MAP_START(sun2_state::vmetype0space_map)
AM_RANGE(0x000000, 0x7fffff) AM_READWRITE(ram_r, ram_w)
ADDRESS_MAP_END
// type 1 device space
-static ADDRESS_MAP_START(vmetype1space_map, AS_PROGRAM, 16, sun2_state)
+ADDRESS_MAP_START(sun2_state::vmetype1space_map)
AM_RANGE(0x000000, 0x01ffff) AM_RAM AM_SHARE("bw2_vram")
AM_RANGE(0x020000, 0x020001) AM_READWRITE( video_ctrl_r, video_ctrl_w )
AM_RANGE(0x7f0000, 0x7f07ff) AM_ROM AM_REGION("bootprom", 0) // uses MMU loophole to read 32k from a 2k window
@@ -499,16 +508,16 @@ static ADDRESS_MAP_START(vmetype1space_map, AS_PROGRAM, 16, sun2_state)
ADDRESS_MAP_END
// type 2 device space
-static ADDRESS_MAP_START(vmetype2space_map, AS_PROGRAM, 16, sun2_state)
+ADDRESS_MAP_START(sun2_state::vmetype2space_map)
ADDRESS_MAP_END
// type 3 device space
-static ADDRESS_MAP_START(vmetype3space_map, AS_PROGRAM, 16, sun2_state)
+ADDRESS_MAP_START(sun2_state::vmetype3space_map)
ADDRESS_MAP_END
// Multibus memory spaces
// type 0 device space
-static ADDRESS_MAP_START(mbustype0space_map, AS_PROGRAM, 16, sun2_state)
+ADDRESS_MAP_START(sun2_state::mbustype0space_map)
AM_RANGE(0x000000, 0x3fffff) AM_READWRITE(ram_r, ram_w)
// 7f80000-7f807ff: Keyboard/mouse SCC8530
//AM_RANGE(0x7f8000, 0x7f8007) AM_DEVREADWRITE8(SCC1_TAG, z80scc_device, ba_cd_inv_r, ba_cd_inv_w, 0xff00)
@@ -517,7 +526,7 @@ static ADDRESS_MAP_START(mbustype0space_map, AS_PROGRAM, 16, sun2_state)
ADDRESS_MAP_END
// type 1 device space
-static ADDRESS_MAP_START(mbustype1space_map, AS_PROGRAM, 16, sun2_state)
+ADDRESS_MAP_START(sun2_state::mbustype1space_map)
AM_RANGE(0x000000, 0x0007ff) AM_ROM AM_REGION("bootprom", 0) // uses MMU loophole to read 32k from a 2k window
// 001000-0017ff: AM9518 encryption processor
// 001800-001fff: Parallel port
@@ -527,11 +536,11 @@ static ADDRESS_MAP_START(mbustype1space_map, AS_PROGRAM, 16, sun2_state)
ADDRESS_MAP_END
// type 2 device space (Multibus memory space)
-static ADDRESS_MAP_START(mbustype2space_map, AS_PROGRAM, 16, sun2_state)
+ADDRESS_MAP_START(sun2_state::mbustype2space_map)
ADDRESS_MAP_END
// type 3 device space (Multibus I/O space)
-static ADDRESS_MAP_START(mbustype3space_map, AS_PROGRAM, 16, sun2_state)
+ADDRESS_MAP_START(sun2_state::mbustype3space_map)
ADDRESS_MAP_END
uint32_t sun2_state::bw2_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
diff --git a/src/mame/drivers/sun3.cpp b/src/mame/drivers/sun3.cpp
index b77ccfd1011..d11b8a7fde6 100644
--- a/src/mame/drivers/sun3.cpp
+++ b/src/mame/drivers/sun3.cpp
@@ -272,6 +272,12 @@ public:
void sun3_60(machine_config &config);
void sun3200(machine_config &config);
void sun3_50(machine_config &config);
+ void sun3_mem(address_map &map);
+ void vmetype0space_map(address_map &map);
+ void vmetype0space_novram_map(address_map &map);
+ void vmetype1space_map(address_map &map);
+ void vmetype2space_map(address_map &map);
+ void vmetype3space_map(address_map &map);
private:
uint32_t *m_rom_ptr, *m_ram_ptr;
uint8_t *m_idprom_ptr;
@@ -713,24 +719,24 @@ WRITE32_MEMBER(sun3_state::parity_w)
}
}
-static ADDRESS_MAP_START(sun3_mem, AS_PROGRAM, 32, sun3_state)
+ADDRESS_MAP_START(sun3_state::sun3_mem)
AM_RANGE(0x00000000, 0xffffffff) AM_READWRITE( tl_mmu_r, tl_mmu_w )
ADDRESS_MAP_END
// type 0 device space
-static ADDRESS_MAP_START(vmetype0space_map, AS_PROGRAM, 32, sun3_state)
+ADDRESS_MAP_START(sun3_state::vmetype0space_map)
AM_RANGE(0x00000000, 0x08ffffff) AM_READWRITE(ram_r, ram_w)
AM_RANGE(0xfe400000, 0xfe41ffff) AM_RAM // not sure what's going on here (3/110)
AM_RANGE(0xff000000, 0xff03ffff) AM_RAM AM_SHARE("bw2_vram")
ADDRESS_MAP_END
// type 0 without VRAM (3/50)
-static ADDRESS_MAP_START(vmetype0space_novram_map, AS_PROGRAM, 32, sun3_state)
+ADDRESS_MAP_START(sun3_state::vmetype0space_novram_map)
AM_RANGE(0x00000000, 0x08ffffff) AM_READWRITE(ram_r, ram_w)
ADDRESS_MAP_END
// type 1 device space
-static ADDRESS_MAP_START(vmetype1space_map, AS_PROGRAM, 32, sun3_state)
+ADDRESS_MAP_START(sun3_state::vmetype1space_map)
AM_RANGE(0x00000000, 0x0000000f) AM_DEVREADWRITE8(SCC1_TAG, z80scc_device, ba_cd_inv_r, ba_cd_inv_w, 0xff00ff00)
AM_RANGE(0x00020000, 0x0002000f) AM_DEVREADWRITE8(SCC2_TAG, z80scc_device, ba_cd_inv_r, ba_cd_inv_w, 0xff00ff00)
AM_RANGE(0x00040000, 0x000407ff) AM_RAM AM_SHARE("nvram") // type 2816 parallel EEPROM
@@ -742,11 +748,11 @@ static ADDRESS_MAP_START(vmetype1space_map, AS_PROGRAM, 32, sun3_state)
ADDRESS_MAP_END
// type 2 device space
-static ADDRESS_MAP_START(vmetype2space_map, AS_PROGRAM, 32, sun3_state)
+ADDRESS_MAP_START(sun3_state::vmetype2space_map)
ADDRESS_MAP_END
// type 3 device space
-static ADDRESS_MAP_START(vmetype3space_map, AS_PROGRAM, 32, sun3_state)
+ADDRESS_MAP_START(sun3_state::vmetype3space_map)
ADDRESS_MAP_END
READ32_MEMBER(sun3_state::irqctrl_r)
diff --git a/src/mame/drivers/sun3x.cpp b/src/mame/drivers/sun3x.cpp
index ce1df76f478..29c594bfc8a 100644
--- a/src/mame/drivers/sun3x.cpp
+++ b/src/mame/drivers/sun3x.cpp
@@ -210,13 +210,15 @@ public:
void sun3_80(machine_config &config);
void sun3_460(machine_config &config);
+ void sun3_460_mem(address_map &map);
+ void sun3_80_mem(address_map &map);
private:
uint32_t m_enable, m_buserr, m_diag, m_printer, m_irqctrl, m_memreg, m_memerraddr;
uint32_t m_iommu[0x800];
bool m_bInBusErr;
};
-static ADDRESS_MAP_START(sun3_80_mem, AS_PROGRAM, 32, sun3x_state)
+ADDRESS_MAP_START(sun3x_state::sun3_80_mem)
AM_RANGE(0x00000000, 0x03ffffff) AM_RAM AM_SHARE("p_ram") AM_WRITE(ramwrite_w)
AM_RANGE(0x40000000, 0x40000003) AM_READWRITE(cause_buserr_r, cause_buserr_w)
AM_RANGE(0x50300000, 0x50300003) AM_READ(p4id_r)
@@ -239,7 +241,7 @@ static ADDRESS_MAP_START(sun3_80_mem, AS_PROGRAM, 32, sun3x_state)
AM_RANGE(0xfefe0000, 0xfefeffff) AM_ROM AM_REGION("user1",0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(sun3_460_mem, AS_PROGRAM, 32, sun3x_state)
+ADDRESS_MAP_START(sun3x_state::sun3_460_mem)
AM_RANGE(0x00000000, 0x03ffffff) AM_RAM AM_SHARE("p_ram") AM_WRITE(ramwrite_w)
AM_RANGE(0x09000000, 0x09000003) AM_READWRITE(cause_buserr_r, cause_buserr_w)
AM_RANGE(0x50300000, 0x50300003) AM_READ(p4id_r)
diff --git a/src/mame/drivers/sun4.cpp b/src/mame/drivers/sun4.cpp
index 71ed48b5b71..38f4717f161 100644
--- a/src/mame/drivers/sun4.cpp
+++ b/src/mame/drivers/sun4.cpp
@@ -594,6 +594,11 @@ public:
static void ncr5390(device_t *device);
void sun4c(machine_config &config);
void sun4(machine_config &config);
+ void sun4_mem(address_map &map);
+ void sun4c_mem(address_map &map);
+ void type0space_map(address_map &map);
+ void type1space_map(address_map &map);
+ void type1space_s4_map(address_map &map);
protected:
required_device<mb86901_device> m_maincpu;
@@ -1326,11 +1331,11 @@ void sun4_state::fcodes_command(int ref, const std::vector<std::string> &params)
#endif
}
-static ADDRESS_MAP_START(sun4_mem, AS_PROGRAM, 32, sun4_state)
+ADDRESS_MAP_START(sun4_state::sun4_mem)
AM_RANGE(0x00000000, 0xffffffff) AM_READWRITE( sun4_mmu_r, sun4_mmu_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START(sun4c_mem, AS_PROGRAM, 32, sun4_state)
+ADDRESS_MAP_START(sun4_state::sun4c_mem)
AM_RANGE(0x00000000, 0xffffffff) AM_READWRITE( sun4c_mmu_r, sun4c_mmu_w )
ADDRESS_MAP_END
@@ -1455,11 +1460,11 @@ WRITE32_MEMBER( sun4_state::ram_w )
}
}
-static ADDRESS_MAP_START(type0space_map, AS_PROGRAM, 32, sun4_state)
+ADDRESS_MAP_START(sun4_state::type0space_map)
AM_RANGE(0x00000000, 0x03ffffff) AM_READWRITE(ram_r, ram_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(type1space_map, AS_PROGRAM, 32, sun4_state)
+ADDRESS_MAP_START(sun4_state::type1space_map)
AM_RANGE(0x00000000, 0x0000000f) AM_DEVREADWRITE8(SCC1_TAG, z80scc_device, ba_cd_inv_r, ba_cd_inv_w, 0xff00ff00)
AM_RANGE(0x01000000, 0x0100000f) AM_DEVREADWRITE8(SCC2_TAG, z80scc_device, ba_cd_inv_r, ba_cd_inv_w, 0xff00ff00)
AM_RANGE(0x02000000, 0x020007ff) AM_DEVREADWRITE8(TIMEKEEPER_TAG, timekeeper_device, read, write, 0xffffffff)
@@ -1474,7 +1479,7 @@ static ADDRESS_MAP_START(type1space_map, AS_PROGRAM, 32, sun4_state)
AM_RANGE(0x0e800000, 0x0e8fffff) AM_RAM AM_SHARE("bw2_vram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(type1space_s4_map, AS_PROGRAM, 32, sun4_state)
+ADDRESS_MAP_START(sun4_state::type1space_s4_map)
AM_RANGE(0x00000000, 0x0000000f) AM_DEVREADWRITE8(SCC1_TAG, z80scc_device, ba_cd_inv_r, ba_cd_inv_w, 0xff00ff00)
AM_RANGE(0x01000000, 0x0100000f) AM_DEVREADWRITE8(SCC2_TAG, z80scc_device, ba_cd_inv_r, ba_cd_inv_w, 0xff00ff00)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/suna16.cpp b/src/mame/drivers/suna16.cpp
index d0688313bba..121c6d0da25 100644
--- a/src/mame/drivers/suna16.cpp
+++ b/src/mame/drivers/suna16.cpp
@@ -95,7 +95,7 @@ WRITE16_MEMBER(suna16_state::bestbest_coin_w)
Back Street Soccer
***************************************************************************/
-static ADDRESS_MAP_START( bssoccer_map, AS_PROGRAM, 16, suna16_state )
+ADDRESS_MAP_START(suna16_state::bssoccer_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x203fff) AM_RAM // RAM
AM_RANGE(0x400000, 0x4001ff) AM_READWRITE(paletteram_r, paletteram_w) // Banked Palette
@@ -151,7 +151,7 @@ WRITE8_MEMBER(suna16_state::uballoon_prot_w)
}
}
-static ADDRESS_MAP_START( uballoon_map, AS_PROGRAM, 16, suna16_state )
+ADDRESS_MAP_START(suna16_state::uballoon_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x800000, 0x803fff) AM_RAM // RAM
AM_RANGE(0x200000, 0x2001ff) AM_READWRITE(paletteram_r, paletteram_w) // Banked Palette
@@ -172,7 +172,7 @@ ADDRESS_MAP_END
Suna Quiz 6000 Academy
***************************************************************************/
-static ADDRESS_MAP_START( sunaq_map, AS_PROGRAM, 16, suna16_state )
+ADDRESS_MAP_START(suna16_state::sunaq_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x500000, 0x500001) AM_READ_PORT("P1") AM_WRITE(soundlatch_w) // To Sound CPU
AM_RANGE(0x500002, 0x500003) AM_READ_PORT("P2") AM_WRITE(flipscreen_w) // Flip Screen
@@ -205,7 +205,7 @@ WRITE8_MEMBER(suna16_state::bestbest_prot_w)
}
}
-static ADDRESS_MAP_START( bestbest_map, AS_PROGRAM, 16, suna16_state )
+ADDRESS_MAP_START(suna16_state::bestbest_map)
AM_RANGE( 0x000000, 0x03ffff ) AM_ROM AM_MIRROR(0xc0000) // ROM
AM_RANGE( 0x200000, 0x2fffff ) AM_ROM AM_REGION("user1", 0) // ROM
AM_RANGE( 0x500000, 0x500001 ) AM_READ_PORT("P1") AM_WRITE(soundlatch_w) // To Sound CPU
@@ -241,7 +241,7 @@ MACHINE_START_MEMBER(suna16_state,bestbest)
Back Street Soccer
***************************************************************************/
-static ADDRESS_MAP_START( bssoccer_sound_map, AS_PROGRAM, 8, suna16_state )
+ADDRESS_MAP_START(suna16_state::bssoccer_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM // ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM // RAM
AM_RANGE(0xf800, 0xf801) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write) // YM2151
@@ -254,7 +254,7 @@ ADDRESS_MAP_END
Ultra Balloon
***************************************************************************/
-static ADDRESS_MAP_START( uballoon_sound_map, AS_PROGRAM, 8, suna16_state )
+ADDRESS_MAP_START(suna16_state::uballoon_sound_map)
AM_RANGE(0x0000, 0xefff) AM_ROM // ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM // RAM
AM_RANGE(0xf800, 0xf801) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write) // YM2151
@@ -265,7 +265,7 @@ ADDRESS_MAP_END
Suna Quiz 6000 Academy
***************************************************************************/
-static ADDRESS_MAP_START( sunaq_sound_map, AS_PROGRAM, 8, suna16_state )
+ADDRESS_MAP_START(suna16_state::sunaq_sound_map)
AM_RANGE(0x0000, 0xe82f) AM_ROM // ROM
AM_RANGE(0xe830, 0xf7ff) AM_RAM // RAM (writes to efxx, could be a program bug tho)
AM_RANGE(0xf800, 0xf801) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write) // YM2151
@@ -276,7 +276,7 @@ ADDRESS_MAP_END
Best Of Best
***************************************************************************/
-static ADDRESS_MAP_START( bestbest_sound_map, AS_PROGRAM, 8, suna16_state )
+ADDRESS_MAP_START(suna16_state::bestbest_sound_map)
AM_RANGE( 0x0000, 0xbfff ) AM_ROM // ROM
AM_RANGE( 0xc000, 0xc001 ) AM_DEVWRITE("ymsnd", ym3526_device, write)
AM_RANGE( 0xc002, 0xc003 ) AM_DEVWRITE("aysnd", ay8910_device, address_data_w) // AY8910
@@ -325,19 +325,19 @@ WRITE8_MEMBER(suna16_state::bssoccer_pcm_2_bankswitch_w)
/* Memory maps: Yes, *no* RAM */
-static ADDRESS_MAP_START( bssoccer_pcm_1_map, AS_PROGRAM, 8, suna16_state )
+ADDRESS_MAP_START(suna16_state::bssoccer_pcm_1_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM // ROM
AM_RANGE(0x1000, 0xffff) AM_ROMBANK("bank1") // Banked ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bssoccer_pcm_2_map, AS_PROGRAM, 8, suna16_state )
+ADDRESS_MAP_START(suna16_state::bssoccer_pcm_2_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM // ROM
AM_RANGE(0x1000, 0xffff) AM_ROMBANK("bank2") // Banked ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bssoccer_pcm_1_io_map, AS_IO, 8, suna16_state )
+ADDRESS_MAP_START(suna16_state::bssoccer_pcm_1_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch2", generic_latch_8_device, read) // From The Sound Z80
AM_RANGE(0x00, 0x00) AM_DEVWRITE("ldac", dac_byte_interface, write)
@@ -345,7 +345,7 @@ static ADDRESS_MAP_START( bssoccer_pcm_1_io_map, AS_IO, 8, suna16_state )
AM_RANGE(0x03, 0x03) AM_WRITE(bssoccer_pcm_1_bankswitch_w) // Rom Bank
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bssoccer_pcm_2_io_map, AS_IO, 8, suna16_state )
+ADDRESS_MAP_START(suna16_state::bssoccer_pcm_2_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch3", generic_latch_8_device, read) // From The Sound Z80
AM_RANGE(0x00, 0x00) AM_DEVWRITE("ldac2", dac_byte_interface, write)
@@ -369,12 +369,12 @@ WRITE8_MEMBER(suna16_state::uballoon_pcm_1_bankswitch_w)
/* Memory maps: Yes, *no* RAM */
-static ADDRESS_MAP_START( uballoon_pcm_1_map, AS_PROGRAM, 8, suna16_state )
+ADDRESS_MAP_START(suna16_state::uballoon_pcm_1_map)
AM_RANGE(0x0000, 0x03ff) AM_ROM // ROM
AM_RANGE(0x0400, 0xffff) AM_ROMBANK("bank1") // Banked ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( uballoon_pcm_1_io_map, AS_IO, 8, suna16_state )
+ADDRESS_MAP_START(suna16_state::uballoon_pcm_1_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch2", generic_latch_8_device, read) // From The Sound Z80
AM_RANGE(0x00, 0x00) AM_DEVWRITE("ldac", dac_byte_interface, write)
@@ -400,11 +400,11 @@ MACHINE_RESET_MEMBER(suna16_state,uballoon)
Best Of Best
***************************************************************************/
-static ADDRESS_MAP_START( bestbest_pcm_1_map, AS_PROGRAM, 8, suna16_state )
+ADDRESS_MAP_START(suna16_state::bestbest_pcm_1_map)
AM_RANGE(0x0000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bestbest_pcm_1_iomap, AS_IO, 8, suna16_state )
+ADDRESS_MAP_START(suna16_state::bestbest_pcm_1_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch2", generic_latch_8_device, read) // From The Sound Z80
AM_RANGE(0x00, 0x00) AM_DEVWRITE("ldac", dac_byte_interface, write)
diff --git a/src/mame/drivers/suna8.cpp b/src/mame/drivers/suna8.cpp
index 7d94f03c7cf..5fd69b95ff6 100644
--- a/src/mame/drivers/suna8.cpp
+++ b/src/mame/drivers/suna8.cpp
@@ -558,7 +558,7 @@ WRITE8_MEMBER(suna8_state::hardhead_flipscreen_w)
machine().bookkeeping().coin_lockout_w(1, data & 0x10);
}
-static ADDRESS_MAP_START( hardhead_map, AS_PROGRAM, 8, suna8_state )
+ADDRESS_MAP_START(suna8_state::hardhead_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM // ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") // Banked ROM
AM_RANGE(0xc000, 0xd7ff) AM_RAM // RAM
@@ -574,7 +574,7 @@ static ADDRESS_MAP_START( hardhead_map, AS_PROGRAM, 8, suna8_state )
AM_RANGE(0xe000, 0xffff) AM_RAM_WRITE(suna8_spriteram_w) AM_SHARE("spriteram") // Sprites
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hardhead_io_map, AS_IO, 8, suna8_state )
+ADDRESS_MAP_START(suna8_state::hardhead_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READNOP // ? IRQ Ack
ADDRESS_MAP_END
@@ -625,7 +625,7 @@ WRITE8_MEMBER(suna8_state::sranger_prot_w)
m_maincpu->space(AS_PROGRAM).write_byte(0xcd99,0xff);
}
-static ADDRESS_MAP_START( rranger_map, AS_PROGRAM, 8, suna8_state )
+ADDRESS_MAP_START(suna8_state::rranger_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM // ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") // Banked ROM
AM_RANGE(0xc000, 0xc000) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r) AM_DEVWRITE("soundlatch", generic_latch_8_device, write) // To Sound CPU
@@ -643,7 +643,7 @@ static ADDRESS_MAP_START( rranger_map, AS_PROGRAM, 8, suna8_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rranger_io_map, AS_IO, 8, suna8_state )
+ADDRESS_MAP_START(suna8_state::rranger_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READNOP // ? IRQ Ack
ADDRESS_MAP_END
@@ -732,7 +732,7 @@ WRITE8_MEMBER(suna8_state::brickzn_palbank_w)
if (data & ~0x01) logerror("CPU #0 - PC %04X: unknown palettebank bits: %02X\n",m_maincpu->pc(),data);
}
-static ADDRESS_MAP_START( brickzn11_map, AS_PROGRAM, 8, suna8_state )
+ADDRESS_MAP_START(suna8_state::brickzn11_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM // ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") // Banked ROM
@@ -860,7 +860,7 @@ WRITE8_MEMBER(suna8_state::brickzn_disab_palram_w)
m_paletteram_enab = 0;
}
-static ADDRESS_MAP_START( brickzn_map, AS_PROGRAM, 8, suna8_state )
+ADDRESS_MAP_START(suna8_state::brickzn_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM // ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") // Banked ROM
@@ -889,12 +889,12 @@ static ADDRESS_MAP_START( brickzn_map, AS_PROGRAM, 8, suna8_state )
AM_RANGE(0xe000, 0xffff) AM_READWRITE(suna8_banked_spriteram_r, suna8_banked_spriteram_w) // Sprites (Banked)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, suna8_state )
+ADDRESS_MAP_START(suna8_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0x7fff) AM_ROMBANK("bank0d")
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1d")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( brickzn_io_map, AS_IO, 8, suna8_state )
+ADDRESS_MAP_START(suna8_state::brickzn_io_map)
AM_RANGE(0x0000, 0x0000) AM_WRITE(brickzn_disab_palram_w ) // Disable Palette RAM
AM_RANGE(0x00a1, 0x00a1) AM_WRITE(brickzn_enab_palram_w ) // Enable Palette RAM
ADDRESS_MAP_END
@@ -974,7 +974,7 @@ WRITE8_MEMBER(suna8_state::hardhea2_rambank_1_w)
}
-static ADDRESS_MAP_START( hardhea2_map, AS_PROGRAM, 8, suna8_state )
+ADDRESS_MAP_START(suna8_state::hardhea2_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM // ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") // Banked ROM
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("P1") // P1 (Inputs)
@@ -1094,7 +1094,7 @@ WRITE8_MEMBER(suna8_state::starfigh_leds_w)
logerror("CPU #0 - PC %04X: rom bank = %02X\n",m_maincpu->pc(), m_rombank);
}
-static ADDRESS_MAP_START( starfigh_map, AS_PROGRAM, 8, suna8_state )
+ADDRESS_MAP_START(suna8_state::starfigh_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM // ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") // Banked ROM
@@ -1222,7 +1222,7 @@ READ8_MEMBER(suna8_state::sparkman_c0a3_r)
return (m_screen->frame_number() & 1) ? 0x80 : 0;
}
-static ADDRESS_MAP_START( sparkman_map, AS_PROGRAM, 8, suna8_state )
+ADDRESS_MAP_START(suna8_state::sparkman_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM // ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") // Banked ROM
@@ -1259,7 +1259,7 @@ ADDRESS_MAP_END
Hard Head
***************************************************************************/
-static ADDRESS_MAP_START( hardhead_sound_map, AS_PROGRAM, 8, suna8_state )
+ADDRESS_MAP_START(suna8_state::hardhead_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM // ROM
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
AM_RANGE(0xa002, 0xa003) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
@@ -1270,7 +1270,7 @@ static ADDRESS_MAP_START( hardhead_sound_map, AS_PROGRAM, 8, suna8_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hardhead_sound_io_map, AS_IO, 8, suna8_state )
+ADDRESS_MAP_START(suna8_state::hardhead_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x01, 0x01) AM_READNOP // ? IRQ Ack
ADDRESS_MAP_END
@@ -1280,7 +1280,7 @@ ADDRESS_MAP_END
Rough Ranger
***************************************************************************/
-static ADDRESS_MAP_START( rranger_sound_map, AS_PROGRAM, 8, suna8_state )
+ADDRESS_MAP_START(suna8_state::rranger_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM // ROM
AM_RANGE(0xa000, 0xa001) AM_DEVWRITE("ym1", ym2203_device, write) // Samples + Music
AM_RANGE(0xa002, 0xa003) AM_DEVWRITE("ym2", ym2203_device, write) // Music + FX
@@ -1294,7 +1294,7 @@ ADDRESS_MAP_END
Brick Zone
***************************************************************************/
-static ADDRESS_MAP_START( brickzn_sound_map, AS_PROGRAM, 8, suna8_state )
+ADDRESS_MAP_START(suna8_state::brickzn_sound_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM // ROM
AM_RANGE(0xc000, 0xc001) AM_DEVWRITE("ymsnd", ym3812_device, write)
AM_RANGE(0xc002, 0xc003) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
@@ -1306,12 +1306,12 @@ ADDRESS_MAP_END
/* PCM Z80, 4 DACs (4 bits per sample), NO RAM !! */
-static ADDRESS_MAP_START( brickzn_pcm_map, AS_PROGRAM, 8, suna8_state )
+ADDRESS_MAP_START(suna8_state::brickzn_pcm_map)
AM_RANGE(0x0000, 0xffff) AM_ROM // ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( brickzn_pcm_io_map, AS_IO, 8, suna8_state )
+ADDRESS_MAP_START(suna8_state::brickzn_pcm_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch2", generic_latch_8_device, read) // From Sound CPU
AM_RANGE(0x00, 0x00) AM_DEVWRITE("ldac", dac_byte_interface, write)
@@ -1873,7 +1873,7 @@ MACHINE_CONFIG_START(suna8_state::hardhead)
MCFG_CPU_ADD("maincpu", Z80, SUNA8_MASTER_CLOCK / 4) /* verified on pcb */
MCFG_CPU_PROGRAM_MAP(hardhead_map)
MCFG_CPU_IO_MAP(hardhead_io_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", suna8_state, irq0_line_hold) /* No NMI */
MCFG_CPU_ADD("audiocpu", Z80, SUNA8_MASTER_CLOCK / 8) /* verified on pcb */
@@ -1931,7 +1931,7 @@ MACHINE_CONFIG_START(suna8_state::rranger)
MCFG_CPU_ADD("maincpu", Z80, SUNA8_MASTER_CLOCK / 4) /* ? */
MCFG_CPU_PROGRAM_MAP(rranger_map)
MCFG_CPU_IO_MAP(rranger_io_map)
-// MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+// MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", suna8_state, irq0_line_hold) /* IRQ & NMI ! */
MCFG_CPU_ADD("audiocpu", Z80, SUNA8_MASTER_CLOCK / 8) /* verified on pcb */
@@ -2053,7 +2053,7 @@ MACHINE_CONFIG_DERIVED(suna8_state::brickzn, brickzn11)
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(brickzn_map)
MCFG_CPU_IO_MAP(brickzn_io_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MACHINE_CONFIG_END
@@ -2084,7 +2084,7 @@ MACHINE_CONFIG_DERIVED(suna8_state::hardhea2, brickzn)
MCFG_CPU_ADD("maincpu", Z80, SUNA8_MASTER_CLOCK / 4) /* SUNA T568009 */
MCFG_CPU_PROGRAM_MAP(hardhea2_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", suna8_state, hardhea2_interrupt, "screen", 0, 1)
MCFG_MACHINE_RESET_OVERRIDE(suna8_state,hardhea2)
@@ -2111,7 +2111,7 @@ MACHINE_CONFIG_START(suna8_state::starfigh)
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, SUNA8_MASTER_CLOCK / 4) /* ? */
MCFG_CPU_PROGRAM_MAP(starfigh_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", suna8_state, hardhea2_interrupt, "screen", 0, 1)
/* The sound section is identical to that of hardhead */
@@ -2166,7 +2166,7 @@ MACHINE_CONFIG_START(suna8_state::sparkman)
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, SUNA8_MASTER_CLOCK / 4) /* ? */
MCFG_CPU_PROGRAM_MAP(sparkman_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", suna8_state, hardhea2_interrupt, "screen", 0, 1)
MCFG_CPU_ADD("audiocpu", Z80, SUNA8_MASTER_CLOCK / 4) /* ? */
diff --git a/src/mame/drivers/supbtime.cpp b/src/mame/drivers/supbtime.cpp
index 5a6937d4b39..d7c6141c19d 100644
--- a/src/mame/drivers/supbtime.cpp
+++ b/src/mame/drivers/supbtime.cpp
@@ -98,6 +98,10 @@ public:
void chinatwn(machine_config &config);
void supbtime(machine_config &config);
void tumblep(machine_config &config);
+ void chinatwn_map(address_map &map);
+ void sound_map(address_map &map);
+ void supbtime_map(address_map &map);
+ void tumblep_map(address_map &map);
private:
required_shared_ptr<uint16_t> m_spriteram;
required_shared_ptr<uint16_t> m_pf1_rowscroll;
@@ -112,7 +116,7 @@ private:
// ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( supbtime_map, AS_PROGRAM, 16, supbtime_state )
+ADDRESS_MAP_START(supbtime_state::supbtime_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM
AM_RANGE(0x104000, 0x11ffff) AM_WRITENOP // Nothing there
@@ -132,7 +136,7 @@ static ADDRESS_MAP_START( supbtime_map, AS_PROGRAM, 16, supbtime_state )
AM_RANGE(0x342000, 0x3427ff) AM_RAM AM_SHARE("pf2_rowscroll")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( chinatwn_map, AS_PROGRAM, 16, supbtime_state )
+ADDRESS_MAP_START(supbtime_state::chinatwn_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_SHARE("spriteram")
@@ -150,7 +154,7 @@ static ADDRESS_MAP_START( chinatwn_map, AS_PROGRAM, 16, supbtime_state )
AM_RANGE(0x342000, 0x3427ff) AM_RAM AM_SHARE("pf2_rowscroll") // unused
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tumblep_map, AS_PROGRAM, 16, supbtime_state )
+ADDRESS_MAP_START(supbtime_state::tumblep_map)
#if TUMBLEP_HACK
AM_RANGE(0x000000, 0x07ffff) AM_WRITEONLY // To write levels modifications
#endif
@@ -172,7 +176,7 @@ static ADDRESS_MAP_START( tumblep_map, AS_PROGRAM, 16, supbtime_state )
ADDRESS_MAP_END
// Physical memory map (21 bits)
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, supbtime_state )
+ADDRESS_MAP_START(supbtime_state::sound_map)
ADDRESS_MAP_GLOBAL_MASK(0x1fffff)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_NOP // YM2203 - this board doesn't have one
diff --git a/src/mame/drivers/supdrapo.cpp b/src/mame/drivers/supdrapo.cpp
index e9d44f0ca5d..1dafe649ce0 100644
--- a/src/mame/drivers/supdrapo.cpp
+++ b/src/mame/drivers/supdrapo.cpp
@@ -110,6 +110,7 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void supdrapo(machine_config &config);
+ void sdpoker_mem(address_map &map);
};
@@ -276,7 +277,7 @@ void supdrapo_state::machine_reset()
Memory Map
**********************************************************************/
-static ADDRESS_MAP_START( sdpoker_mem, AS_PROGRAM, 8, supdrapo_state )
+ADDRESS_MAP_START(supdrapo_state::sdpoker_mem)
AM_RANGE(0x0000, 0x4fff) AM_ROM
AM_RANGE(0x5000, 0x50ff) AM_RAM AM_SHARE("col_line")
AM_RANGE(0x57ff, 0x57ff) AM_RAM AM_SHARE("col_line")
diff --git a/src/mame/drivers/supduck.cpp b/src/mame/drivers/supduck.cpp
index 66426bfb9c8..03ccc19aa87 100644
--- a/src/mame/drivers/supduck.cpp
+++ b/src/mame/drivers/supduck.cpp
@@ -82,6 +82,9 @@ public:
DECLARE_WRITE8_MEMBER(okibank_w);
void supduck(machine_config &config);
+ void main_map(address_map &map);
+ void oki_map(address_map &map);
+ void sound_map(address_map &map);
protected:
// driver_device overrides
@@ -243,7 +246,7 @@ WRITE16_MEMBER(supduck_state::supduck_scroll_w)
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, supduck_state )
+ADDRESS_MAP_START(supduck_state::main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_WRITENOP
AM_RANGE(0xfe0000, 0xfe1fff) AM_RAM AM_SHARE("spriteram")
@@ -261,7 +264,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, supduck_state )
AM_RANGE(0xffc000, 0xffffff) AM_RAM /* working RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, supduck_state )
+ADDRESS_MAP_START(supduck_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_WRITE(okibank_w)
@@ -269,7 +272,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, supduck_state )
AM_RANGE(0xa000, 0xa000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( oki_map, 0, 8, supduck_state )
+ADDRESS_MAP_START(supduck_state::oki_map)
AM_RANGE(0x00000, 0x1ffff) AM_ROM
AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK("okibank")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/super6.cpp b/src/mame/drivers/super6.cpp
index 51711c9c4de..d51dd258589 100644
--- a/src/mame/drivers/super6.cpp
+++ b/src/mame/drivers/super6.cpp
@@ -277,7 +277,7 @@ WRITE8_MEMBER( super6_state::baud_w )
// ADDRESS_MAP( super6_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( super6_mem, AS_PROGRAM, 8, super6_state )
+ADDRESS_MAP_START(super6_state::super6_mem)
ADDRESS_MAP_END
@@ -285,7 +285,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( super6_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( super6_io, AS_IO, 8, super6_state )
+ADDRESS_MAP_START(super6_state::super6_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE(Z80DART_TAG, z80dart_device, ba_cd_r, ba_cd_w)
AM_RANGE(0x04, 0x07) AM_DEVREADWRITE(Z80PIO_TAG, z80pio_device, read, write)
diff --git a/src/mame/drivers/super80.cpp b/src/mame/drivers/super80.cpp
index 3c9acd8985c..ec31a22c9fc 100644
--- a/src/mame/drivers/super80.cpp
+++ b/src/mame/drivers/super80.cpp
@@ -246,21 +246,21 @@ ToDo:
This makes the H and E monitor commands show FF */
READ8_MEMBER( super80_state::super80_read_ff ) { return 0xff; }
-static ADDRESS_MAP_START( super80_map, AS_PROGRAM, 8, super80_state )
+ADDRESS_MAP_START(super80_state::super80_map)
AM_RANGE(0x0000, 0x3fff) AM_RAMBANK("boot") AM_REGION("maincpu", 0x0000)
AM_RANGE(0x4000, 0xbfff) AM_RAM AM_REGION("maincpu", 0x4000)
AM_RANGE(0xc000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xffff) AM_READ(super80_read_ff) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( super80m_map, AS_PROGRAM, 8, super80_state )
+ADDRESS_MAP_START(super80_state::super80m_map)
AM_RANGE(0x0000, 0x3fff) AM_RAMBANK("boot") AM_REGION("maincpu", 0x0000)
AM_RANGE(0x4000, 0xbfff) AM_RAM AM_REGION("maincpu", 0x4000)
AM_RANGE(0xc000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xffff) AM_RAM AM_REGION("maincpu", 0xf000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( super80v_map, AS_PROGRAM, 8, super80_state)
+ADDRESS_MAP_START(super80_state::super80v_map)
AM_RANGE(0x0000, 0x3fff) AM_RAMBANK("boot")
AM_RANGE(0x4000, 0xbfff) AM_RAM
AM_RANGE(0xc000, 0xefff) AM_ROM
@@ -268,7 +268,7 @@ static ADDRESS_MAP_START( super80v_map, AS_PROGRAM, 8, super80_state)
AM_RANGE(0xf800, 0xffff) AM_READWRITE(super80v_high_r, super80v_high_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( super80_io, AS_IO, 8, super80_state )
+ADDRESS_MAP_START(super80_state::super80_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xdc, 0xdc) AM_DEVREAD("cent_status_in", input_buffer_device, read)
@@ -279,7 +279,7 @@ static ADDRESS_MAP_START( super80_io, AS_IO, 8, super80_state )
AM_RANGE(0xf8, 0xfb) AM_MIRROR(0x04) AM_DEVREADWRITE("z80pio", z80pio_device, read_alt, write_alt)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( super80e_io, AS_IO, 8, super80_state )
+ADDRESS_MAP_START(super80_state::super80e_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xbc, 0xbc) AM_DEVREAD("cent_status_in", input_buffer_device, read)
@@ -290,7 +290,7 @@ static ADDRESS_MAP_START( super80e_io, AS_IO, 8, super80_state )
AM_RANGE(0xf8, 0xfb) AM_MIRROR(0x04) AM_DEVREADWRITE("z80pio", z80pio_device, read_alt, write_alt)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( super80r_io, AS_IO, 8, super80_state )
+ADDRESS_MAP_START(super80_state::super80r_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x10, 0x10) AM_WRITE(super80v_10_w)
@@ -307,7 +307,7 @@ static ADDRESS_MAP_START( super80r_io, AS_IO, 8, super80_state )
AM_RANGE(0xf8, 0xfb) AM_MIRROR(0x04) AM_DEVREADWRITE("z80pio", z80pio_device, read_alt, write_alt)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( super80v_io, AS_IO, 8, super80_state )
+ADDRESS_MAP_START(super80_state::super80v_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x10, 0x10) AM_WRITE(super80v_10_w)
diff --git a/src/mame/drivers/superchs.cpp b/src/mame/drivers/superchs.cpp
index 1f00265b10e..81328c73df7 100644
--- a/src/mame/drivers/superchs.cpp
+++ b/src/mame/drivers/superchs.cpp
@@ -130,7 +130,7 @@ WRITE32_MEMBER(superchs_state::superchs_stick_w)
MEMORY STRUCTURES
***********************************************************/
-static ADDRESS_MAP_START( superchs_map, AS_PROGRAM, 32, superchs_state )
+ADDRESS_MAP_START(superchs_state::superchs_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x11ffff) AM_RAM AM_SHARE("ram")
AM_RANGE(0x140000, 0x141fff) AM_RAM AM_SHARE("spriteram")
@@ -144,7 +144,7 @@ static ADDRESS_MAP_START( superchs_map, AS_PROGRAM, 32, superchs_state )
AM_RANGE(0x340000, 0x340003) AM_READWRITE(superchs_stick_r, superchs_stick_w) /* stick int request */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( superchs_cpub_map, AS_PROGRAM, 16, superchs_state )
+ADDRESS_MAP_START(superchs_state::superchs_cpub_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM
AM_RANGE(0x600000, 0x60ffff) AM_DEVWRITE("tc0480scp", tc0480scp_device, word_w) /* Only written upon errors */
@@ -152,7 +152,7 @@ static ADDRESS_MAP_START( superchs_cpub_map, AS_PROGRAM, 16, superchs_state )
AM_RANGE(0xa00000, 0xa001ff) AM_RAM /* Extra road control?? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( chase3_cpub_map, AS_PROGRAM, 16, superchs_state )
+ADDRESS_MAP_START(superchs_state::chase3_cpub_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM
AM_RANGE(0x400000, 0x40ffff) AM_RAM
diff --git a/src/mame/drivers/supercrd.cpp b/src/mame/drivers/supercrd.cpp
index 646d9b94bb6..d4319884f5c 100644
--- a/src/mame/drivers/supercrd.cpp
+++ b/src/mame/drivers/supercrd.cpp
@@ -195,6 +195,7 @@ public:
required_device<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
void supercrd(machine_config &config);
+ void supercrd_map(address_map &map);
};
@@ -286,7 +287,7 @@ uint32_t supercrd_state::screen_update_supercrd(screen_device &screen, bitmap_in
* Memory map information *
*****************************/
-static ADDRESS_MAP_START( supercrd_map, AS_PROGRAM, 8, supercrd_state )
+ADDRESS_MAP_START(supercrd_state::supercrd_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM_WRITE(supercrd_videoram_w) AM_SHARE("videoram") // wrong
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(supercrd_colorram_w) AM_SHARE("colorram") // wrong
diff --git a/src/mame/drivers/superdq.cpp b/src/mame/drivers/superdq.cpp
index 311d4792e8b..b3ac6070ecc 100644
--- a/src/mame/drivers/superdq.cpp
+++ b/src/mame/drivers/superdq.cpp
@@ -63,6 +63,8 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
void superdq(machine_config &config);
+ void superdq_io(address_map &map);
+ void superdq_map(address_map &map);
};
TILE_GET_INFO_MEMBER(superdq_state::get_tile_info)
@@ -206,13 +208,13 @@ WRITE8_MEMBER(superdq_state::superdq_ld_w)
*
*************************************/
-static ADDRESS_MAP_START( superdq_map, AS_PROGRAM, 8, superdq_state )
+ADDRESS_MAP_START(superdq_state::superdq_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x5c00, 0x5fff) AM_RAM_WRITE(superdq_videoram_w) AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( superdq_io, AS_IO, 8, superdq_state )
+ADDRESS_MAP_START(superdq_state::superdq_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_WRITE(superdq_ld_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
diff --git a/src/mame/drivers/superqix.cpp b/src/mame/drivers/superqix.cpp
index fb838ba443f..421cb057cbc 100644
--- a/src/mame/drivers/superqix.cpp
+++ b/src/mame/drivers/superqix.cpp
@@ -979,7 +979,7 @@ MACHINE_START_MEMBER(hotsmash_state, pbillian)
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, superqix_state_base )
+ADDRESS_MAP_START(superqix_state_base::main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
// the following four ranges are part of a single 6264 64Kibit SRAM chip, called 'VRAM' in POST
@@ -989,7 +989,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, superqix_state_base )
AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pbillian_port_map, AS_IO, 8, hotsmash_state ) // used by both pbillian and hotsmash
+ADDRESS_MAP_START(hotsmash_state::pbillian_port_map) // used by both pbillian and hotsmash
AM_RANGE(0x0000, 0x01ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette") // 6116 sram near the jamma connector, "COLOR RAM" during POST
//AM_RANGE(0x0200, 0x03ff) AM_RAM // looks like leftover crap from a dev board which had double the color ram? zeroes written here, never read.
AM_RANGE(0x0401, 0x0401) AM_DEVREAD("ay1", ay8910_device, data_r) // ay i/o ports connect to "SYSTEM" and "BUTTONS" inputs which includes mcu semaphore flags
@@ -1002,7 +1002,7 @@ static ADDRESS_MAP_START( pbillian_port_map, AS_IO, 8, hotsmash_state ) // used
AM_RANGE(0x041b, 0x041b) AM_READNOP // input related? but probably not used, may be 'sample has stopped playing' flag? used by prebillian
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sqix_port_map, AS_IO, 8, superqix_state )
+ADDRESS_MAP_START(superqix_state::sqix_port_map)
AM_RANGE(0x0000, 0x00ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x0401, 0x0401) AM_DEVREAD("ay1", ay8910_device, data_r)
AM_RANGE(0x0402, 0x0402) AM_DEVWRITE("ay1", ay8910_device, data_w)
@@ -1021,12 +1021,12 @@ ADDRESS_MAP_END
/* I8751 memory handlers */
-static ADDRESS_MAP_START( sqix_8031_mcu_io_map, AS_IO, 8, superqix_state )
+ADDRESS_MAP_START(superqix_state::sqix_8031_mcu_io_map)
AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_WRITE(bootleg_mcu_port1_w)
AM_RANGE(MCS51_PORT_P3, MCS51_PORT_P3) AM_READWRITE(bootleg_mcu_port3_r, bootleg_mcu_port3_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sqix_mcu_io_map, AS_IO, 8, superqix_state )
+ADDRESS_MAP_START(superqix_state::sqix_mcu_io_map)
AM_RANGE(MCS51_PORT_P0, MCS51_PORT_P0) AM_READ_PORT("SYSTEM")
AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_READ_PORT("DSW1")
AM_RANGE(MCS51_PORT_P2, MCS51_PORT_P2) AM_WRITE(mcu_port2_w)
diff --git a/src/mame/drivers/superslave.cpp b/src/mame/drivers/superslave.cpp
index 7607fd77ca7..b411210f136 100644
--- a/src/mame/drivers/superslave.cpp
+++ b/src/mame/drivers/superslave.cpp
@@ -67,6 +67,8 @@ public:
DECLARE_WRITE8_MEMBER( cmd_w );
void superslave(machine_config &config);
+ void superslave_io(address_map &map);
+ void superslave_mem(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<com8116_device> m_dbrg;
@@ -253,7 +255,7 @@ WRITE8_MEMBER( superslave_state::cmd_w )
// ADDRESS_MAP( superslave_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( superslave_mem, AS_PROGRAM, 8, superslave_state )
+ADDRESS_MAP_START(superslave_state::superslave_mem)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(read, write)
ADDRESS_MAP_END
@@ -262,7 +264,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( superslave_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( superslave_io, AS_IO, 8, superslave_state )
+ADDRESS_MAP_START(superslave_state::superslave_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE(Z80DART_0_TAG, z80dart_device, ba_cd_r, ba_cd_w)
AM_RANGE(0x0c, 0x0f) AM_DEVREADWRITE(Z80DART_1_TAG, z80dart_device, ba_cd_r, ba_cd_w)
diff --git a/src/mame/drivers/supertnk.cpp b/src/mame/drivers/supertnk.cpp
index d8716b5f371..74a4787d196 100644
--- a/src/mame/drivers/supertnk.cpp
+++ b/src/mame/drivers/supertnk.cpp
@@ -136,6 +136,8 @@ public:
INTERRUPT_GEN_MEMBER(supertnk_interrupt);
required_device<cpu_device> m_maincpu;
void supertnk(machine_config &config);
+ void supertnk_io_map(address_map &map);
+ void supertnk_map(address_map &map);
};
@@ -304,7 +306,7 @@ void supertnk_state::machine_reset()
*
*************************************/
-static ADDRESS_MAP_START( supertnk_map, AS_PROGRAM, 8, supertnk_state )
+ADDRESS_MAP_START(supertnk_state::supertnk_map)
AM_RANGE(0x0000, 0x07ff) AM_ROM
AM_RANGE(0x0800, 0x17ff) AM_ROMBANK("bank1")
AM_RANGE(0x1800, 0x1bff) AM_RAM
@@ -324,7 +326,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( supertnk_io_map, AS_IO, 8, supertnk_state )
+ADDRESS_MAP_START(supertnk_state::supertnk_io_map)
AM_RANGE(0x0000, 0x0000) AM_WRITENOP
AM_RANGE(0x0400, 0x0400) AM_WRITE(supertnk_bitplane_select_0_w)
AM_RANGE(0x0401, 0x0401) AM_WRITE(supertnk_bitplane_select_1_w)
diff --git a/src/mame/drivers/superwng.cpp b/src/mame/drivers/superwng.cpp
index 5bd27677708..4a088d12157 100644
--- a/src/mame/drivers/superwng.cpp
+++ b/src/mame/drivers/superwng.cpp
@@ -98,6 +98,8 @@ public:
INTERRUPT_GEN_MEMBER(superwng_nmi_interrupt);
INTERRUPT_GEN_MEMBER(superwng_sound_nmi_assert);
void superwng(machine_config &config);
+ void superwng_map(address_map &map);
+ void superwng_sound_map(address_map &map);
};
WRITE8_MEMBER(superwng_state::superwng_unk_a187_w)
@@ -318,7 +320,7 @@ WRITE8_MEMBER(superwng_state::superwng_hopper_w)
{
}
-static ADDRESS_MAP_START( superwng_map, AS_PROGRAM, 8, superwng_state )
+ADDRESS_MAP_START(superwng_state::superwng_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x6fff) AM_ROMBANK("bank1")
AM_RANGE(0x7000, 0x7fff) AM_RAM
@@ -343,7 +345,7 @@ static ADDRESS_MAP_START( superwng_map, AS_PROGRAM, 8, superwng_state )
AM_RANGE(0xa187, 0xa187) AM_WRITE(superwng_unk_a187_w) // unknown, always(?) 0
ADDRESS_MAP_END
-static ADDRESS_MAP_START( superwng_sound_map, AS_PROGRAM, 8, superwng_state )
+ADDRESS_MAP_START(superwng_state::superwng_sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
AM_RANGE(0x3000, 0x3000) AM_WRITE(superwng_sound_nmi_clear_w)
diff --git a/src/mame/drivers/supracan.cpp b/src/mame/drivers/supracan.cpp
index 6459c367a68..dceec793535 100644
--- a/src/mame/drivers/supracan.cpp
+++ b/src/mame/drivers/supracan.cpp
@@ -234,6 +234,8 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
void supracan(machine_config &config);
+ void supracan_mem(address_map &map);
+ void supracan_sound_mem(address_map &map);
};
@@ -1116,7 +1118,7 @@ WRITE16_MEMBER( supracan_state::vram_w )
}
-static ADDRESS_MAP_START( supracan_mem, AS_PROGRAM, 16, supracan_state )
+ADDRESS_MAP_START(supracan_state::supracan_mem)
//AM_RANGE( 0x000000, 0x3fffff ) // mapped by the cartslot
AM_RANGE( 0xe80200, 0xe80201 ) AM_READ_PORT("P1")
AM_RANGE( 0xe80202, 0xe80203 ) AM_READ_PORT("P2")
@@ -1227,7 +1229,7 @@ WRITE8_MEMBER( supracan_state::_6502_soundmem_w )
}
}
-static ADDRESS_MAP_START( supracan_sound_mem, AS_PROGRAM, 8, supracan_state )
+ADDRESS_MAP_START(supracan_state::supracan_sound_mem)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(_6502_soundmem_r, _6502_soundmem_w) AM_SHARE("soundram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/suprgolf.cpp b/src/mame/drivers/suprgolf.cpp
index 533c103215c..d24845eef1c 100644
--- a/src/mame/drivers/suprgolf.cpp
+++ b/src/mame/drivers/suprgolf.cpp
@@ -91,6 +91,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void suprgolf(machine_config &config);
+ void io_map(address_map &map);
+ void suprgolf_map(address_map &map);
};
TILE_GET_INFO_MEMBER(suprgolf_state::get_tile_info)
@@ -336,7 +338,7 @@ READ8_MEMBER(suprgolf_state::p2_r)
return (ioport("P2")->read() & 0xf0) | ((ioport("P2_ANALOG")->read() & 0xf));
}
-static ADDRESS_MAP_START( suprgolf_map, AS_PROGRAM, 8, suprgolf_state )
+ADDRESS_MAP_START(suprgolf_state::suprgolf_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x4000, 0x4000) AM_WRITE(rom2_bank_select_w )
@@ -347,7 +349,7 @@ static ADDRESS_MAP_START( suprgolf_map, AS_PROGRAM, 8, suprgolf_state )
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, suprgolf_state )
+ADDRESS_MAP_START(suprgolf_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write)
diff --git a/src/mame/drivers/suprloco.cpp b/src/mame/drivers/suprloco.cpp
index 54215a0f147..c626495f7a7 100644
--- a/src/mame/drivers/suprloco.cpp
+++ b/src/mame/drivers/suprloco.cpp
@@ -44,7 +44,7 @@ WRITE_LINE_MEMBER(suprloco_state::pc0_w)
machine().output().set_lamp_value(0, state); // ???
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, suprloco_state )
+ADDRESS_MAP_START(suprloco_state::main_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc1ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xc200, 0xc7ff) AM_WRITENOP
@@ -60,12 +60,12 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, suprloco_state )
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, suprloco_state )
+ADDRESS_MAP_START(suprloco_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_SHARE("decrypted_opcodes")
AM_RANGE(0x8000, 0xbfff) AM_ROM AM_REGION("maincpu", 0x8000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, suprloco_state )
+ADDRESS_MAP_START(suprloco_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa003) AM_DEVWRITE("sn1", sn76496_device, write)
@@ -178,7 +178,7 @@ MACHINE_CONFIG_START(suprloco_state::suprloco)
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", SEGA_315_5015, 4000000) /* 4 MHz (?) */
MCFG_CPU_PROGRAM_MAP(main_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", suprloco_state, irq0_line_hold)
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
diff --git a/src/mame/drivers/suprnova.cpp b/src/mame/drivers/suprnova.cpp
index bb878365e3d..c3c7598a5b5 100644
--- a/src/mame/drivers/suprnova.cpp
+++ b/src/mame/drivers/suprnova.cpp
@@ -722,7 +722,7 @@ WRITE32_MEMBER(skns_state::v3t_w)
m_btiles[offset*4+3] = (data & 0x000000ff) >> 0;
}
-static ADDRESS_MAP_START( skns_map, AS_PROGRAM, 32, skns_state )
+ADDRESS_MAP_START(skns_state::skns_map)
AM_RANGE(0x00000000, 0x0007ffff) AM_ROM /* BIOS ROM */
AM_RANGE(0x00400000, 0x0040000f) AM_WRITE(io_w) /* I/O Write */
AM_RANGE(0x00400000, 0x00400003) AM_READ_PORT("400000")
diff --git a/src/mame/drivers/suprridr.cpp b/src/mame/drivers/suprridr.cpp
index e25d8607ba3..27df0975849 100644
--- a/src/mame/drivers/suprridr.cpp
+++ b/src/mame/drivers/suprridr.cpp
@@ -143,7 +143,7 @@ WRITE8_MEMBER(suprridr_state::coin_lock_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, suprridr_state )
+ADDRESS_MAP_START(suprridr_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8bff) AM_RAM_WRITE(bgram_w) AM_SHARE("bgram")
@@ -165,7 +165,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, suprridr_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_portmap, AS_IO, 8, suprridr_state )
+ADDRESS_MAP_START(suprridr_state::main_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
ADDRESS_MAP_END
@@ -178,13 +178,13 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, suprridr_state )
+ADDRESS_MAP_START(suprridr_state::sound_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x3800, 0x3bff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, suprridr_state )
+ADDRESS_MAP_START(suprridr_state::sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("soundlatch", generic_latch_8_device, acknowledge_w)
AM_RANGE(0x8c, 0x8d) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
diff --git a/src/mame/drivers/suprslam.cpp b/src/mame/drivers/suprslam.cpp
index 05178d763b2..78081a6573b 100644
--- a/src/mame/drivers/suprslam.cpp
+++ b/src/mame/drivers/suprslam.cpp
@@ -102,7 +102,7 @@ WRITE8_MEMBER(suprslam_state::suprslam_sh_bankswitch_w)
/*** MEMORY MAPS *************************************************************/
-static ADDRESS_MAP_START( suprslam_map, AS_PROGRAM, 16, suprslam_state )
+ADDRESS_MAP_START(suprslam_state::suprslam_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0xfb0000, 0xfb1fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xfc0000, 0xfcffff) AM_RAM AM_SHARE("sp_videoram")
@@ -119,13 +119,13 @@ static ADDRESS_MAP_START( suprslam_map, AS_PROGRAM, 16, suprslam_state )
AM_RANGE(0xfff000, 0xfff01f) AM_DEVREADWRITE8("io", vs9209_device, read, write, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, suprslam_state )
+ADDRESS_MAP_START(suprslam_state::sound_map)
AM_RANGE(0x0000, 0x77ff) AM_ROM
AM_RANGE(0x7800, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, suprslam_state )
+ADDRESS_MAP_START(suprslam_state::sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(suprslam_sh_bankswitch_w)
AM_RANGE(0x04, 0x04) AM_DEVREADWRITE("soundlatch", generic_latch_8_device, read, acknowledge_w)
diff --git a/src/mame/drivers/supstarf.cpp b/src/mame/drivers/supstarf.cpp
index fd0e617b7da..f89f99f5240 100644
--- a/src/mame/drivers/supstarf.cpp
+++ b/src/mame/drivers/supstarf.cpp
@@ -39,6 +39,10 @@ public:
DECLARE_WRITE8_MEMBER(lights_b_w);
void supstarf(machine_config &config);
+ void main_io_map(address_map &map);
+ void main_map(address_map &map);
+ void sound_io_map(address_map &map);
+ void sound_map(address_map &map);
protected:
virtual void machine_start() override;
@@ -53,22 +57,22 @@ private:
bool m_latch_select;
};
-static ADDRESS_MAP_START(main_map, AS_PROGRAM, 8, supstarf_state)
+ADDRESS_MAP_START(supstarf_state::main_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x8000) AM_DEVREAD("soundlatch1", i8212_device, read) AM_DEVWRITE("soundlatch2", i8212_device, strobe)
AM_RANGE(0xc000, 0xc7ff) AM_RAM // 5517 (2Kx8) at IC11
ADDRESS_MAP_END
-static ADDRESS_MAP_START(main_io_map, AS_IO, 8, supstarf_state)
+ADDRESS_MAP_START(supstarf_state::main_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0xff) AM_WRITE(driver_clk_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(sound_map, AS_PROGRAM, 8, supstarf_state)
+ADDRESS_MAP_START(supstarf_state::sound_map)
AM_RANGE(0x000, 0xfff) AM_ROM // external EPROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(sound_io_map, AS_IO, 8, supstarf_state)
+ADDRESS_MAP_START(supstarf_state::sound_io_map)
AM_RANGE(0x00, 0xff) AM_READWRITE(psg_latch_r, psg_latch_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/surpratk.cpp b/src/mame/drivers/surpratk.cpp
index 7489bb10791..d2221d3c425 100644
--- a/src/mame/drivers/surpratk.cpp
+++ b/src/mame/drivers/surpratk.cpp
@@ -58,7 +58,7 @@ WRITE8_MEMBER(surpratk_state::surpratk_5fc0_w)
/********************************************/
-static ADDRESS_MAP_START( surpratk_map, AS_PROGRAM, 8, surpratk_state )
+ADDRESS_MAP_START(surpratk_state::surpratk_map)
AM_RANGE(0x0000, 0x07ff) AM_DEVICE("bank0000", address_map_bank_device, amap8)
AM_RANGE(0x0800, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x3fff) AM_ROMBANK("bank1") /* banked ROM */
@@ -76,7 +76,7 @@ static ADDRESS_MAP_START( surpratk_map, AS_PROGRAM, 8, surpratk_state )
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("maincpu", 0x38000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bank0000_map, AS_PROGRAM, 8, surpratk_state )
+ADDRESS_MAP_START(surpratk_state::bank0000_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x0800, 0x0fff) AM_DEVREADWRITE("k053244", k05324x_device, k053245_r, k053245_w)
AM_RANGE(0x1000, 0x1fff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
diff --git a/src/mame/drivers/sv8000.cpp b/src/mame/drivers/sv8000.cpp
index d1b4cc5d4a4..3c292cb849a 100644
--- a/src/mame/drivers/sv8000.cpp
+++ b/src/mame/drivers/sv8000.cpp
@@ -68,6 +68,8 @@ public:
DECLARE_READ8_MEMBER( mc6847_videoram_r );
void sv8000(machine_config &config);
+ void sv8000_io(address_map &map);
+ void sv8000_mem(address_map &map);
private:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -95,7 +97,7 @@ private:
};
-static ADDRESS_MAP_START(sv8000_mem, AS_PROGRAM, 8, sv8000_state)
+ADDRESS_MAP_START(sv8000_state::sv8000_mem)
ADDRESS_MAP_UNMAP_HIGH
//AM_RANGE(0x0000, 0x0fff) // mapped by the cartslot
AM_RANGE( 0x8000, 0x83ff ) AM_RAM // Work RAM??
@@ -103,7 +105,7 @@ static ADDRESS_MAP_START(sv8000_mem, AS_PROGRAM, 8, sv8000_state)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(sv8000_io, AS_IO, 8, sv8000_state)
+ADDRESS_MAP_START(sv8000_state::sv8000_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x80, 0x83) AM_DEVREADWRITE("i8255", i8255_device, read, write)
diff --git a/src/mame/drivers/svi318.cpp b/src/mame/drivers/svi318.cpp
index 4003549f9da..7dff385066a 100644
--- a/src/mame/drivers/svi318.cpp
+++ b/src/mame/drivers/svi318.cpp
@@ -95,6 +95,9 @@ public:
void svi318(machine_config &config);
void svi318n(machine_config &config);
void svi328(machine_config &config);
+ void svi3x8_io(address_map &map);
+ void svi3x8_io_bank(address_map &map);
+ void svi3x8_mem(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -130,17 +133,17 @@ private:
// ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( svi3x8_mem, AS_PROGRAM, 8, svi3x8_state )
+ADDRESS_MAP_START(svi3x8_state::svi3x8_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xffff) AM_READWRITE(mreq_r, mreq_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( svi3x8_io, AS_IO, 8, svi3x8_state )
+ADDRESS_MAP_START(svi3x8_state::svi3x8_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0xff) AM_DEVICE("io", address_map_bank_device, amap8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( svi3x8_io_bank, AS_PROGRAM, 8, svi3x8_state )
+ADDRESS_MAP_START(svi3x8_state::svi3x8_io_bank)
AM_RANGE(0x000, 0x0ff) AM_DEVREADWRITE("exp", svi_expander_device, iorq_r, iorq_w)
AM_RANGE(0x100, 0x17f) AM_DEVREADWRITE("exp", svi_expander_device, iorq_r, iorq_w)
AM_RANGE(0x180, 0x180) AM_MIRROR(0x22) AM_DEVWRITE("vdp", tms9928a_device, vram_write)
diff --git a/src/mame/drivers/svision.cpp b/src/mame/drivers/svision.cpp
index 908159c3fc9..d67e80137bd 100644
--- a/src/mame/drivers/svision.cpp
+++ b/src/mame/drivers/svision.cpp
@@ -259,7 +259,7 @@ WRITE8_MEMBER(svision_state::tvlink_w)
}
}
-static ADDRESS_MAP_START( svision_mem , AS_PROGRAM, 8, svision_state )
+ADDRESS_MAP_START(svision_state::svision_mem)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x3fff) AM_READWRITE(svision_r, svision_w) AM_SHARE("reg")
AM_RANGE(0x4000, 0x5fff) AM_RAM AM_SHARE("videoram")
@@ -268,7 +268,7 @@ static ADDRESS_MAP_START( svision_mem , AS_PROGRAM, 8, svision_state )
AM_RANGE(0xc000, 0xffff) AM_ROMBANK("bank2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tvlink_mem , AS_PROGRAM, 8, svision_state )
+ADDRESS_MAP_START(svision_state::tvlink_mem)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x3fff) AM_READWRITE(tvlink_r, tvlink_w) AM_SHARE("reg")
AM_RANGE(0x4000, 0x5fff) AM_RAM AM_SHARE("videoram")
diff --git a/src/mame/drivers/svmu.cpp b/src/mame/drivers/svmu.cpp
index 21c0b195835..3ace27fdbbe 100644
--- a/src/mame/drivers/svmu.cpp
+++ b/src/mame/drivers/svmu.cpp
@@ -55,6 +55,8 @@ public:
DECLARE_QUICKLOAD_LOAD_MEMBER( svmu );
void svmu(machine_config &config);
+ void svmu_io_mem(address_map &map);
+ void svmu_mem(address_map &map);
private:
uint8_t m_page;
};
@@ -123,11 +125,11 @@ READ8_MEMBER(svmu_state::p7_r)
}
-static ADDRESS_MAP_START(svmu_mem, AS_PROGRAM, 8, svmu_state)
+ADDRESS_MAP_START(svmu_state::svmu_mem)
AM_RANGE( 0x0000, 0xffff ) AM_READWRITE(prog_r, prog_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(svmu_io_mem, AS_IO, 8, svmu_state)
+ADDRESS_MAP_START(svmu_state::svmu_io_mem)
AM_RANGE( LC8670_PORT1, LC8670_PORT1 ) AM_READWRITE(p1_r, p1_w)
AM_RANGE( LC8670_PORT3, LC8670_PORT3 ) AM_READ_PORT("P3")
AM_RANGE( LC8670_PORT7, LC8670_PORT7 ) AM_READ(p7_r)
diff --git a/src/mame/drivers/swtpc.cpp b/src/mame/drivers/swtpc.cpp
index d118785f773..7eaf6de0cd6 100644
--- a/src/mame/drivers/swtpc.cpp
+++ b/src/mame/drivers/swtpc.cpp
@@ -60,13 +60,14 @@ public:
void swtpcm(machine_config &config);
void swtpc(machine_config &config);
+ void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<ram_device> m_ram;
required_device<mc14411_device> m_brg;
};
-static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 8, swtpc_state)
+ADDRESS_MAP_START(swtpc_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x8000, 0x8003) AM_MIRROR(0x1fc0) AM_DEVREADWRITE("io0", ss50_interface_port_device, read, write)
AM_RANGE(0x8004, 0x8007) AM_MIRROR(0x1fc0) AM_DEVREADWRITE("io1", ss50_interface_port_device, read, write)
diff --git a/src/mame/drivers/swtpc09.cpp b/src/mame/drivers/swtpc09.cpp
index ec1bfe254fe..9083102ca7e 100644
--- a/src/mame/drivers/swtpc09.cpp
+++ b/src/mame/drivers/swtpc09.cpp
@@ -60,13 +60,13 @@
/* Address map is dynamically setup when DAT memory is written to */
/* only ROM from FF00-FFFF and DAT memory at FFF0-FFFF (write only) is guaranteed always*/
-static ADDRESS_MAP_START(mp09_mem, AS_PROGRAM, 8, swtpc09_state)
+ADDRESS_MAP_START(swtpc09_state::mp09_mem)
AM_RANGE(0x0000, 0xfeff) AM_READWRITE(main_r, main_w)
AM_RANGE(0xff00, 0xffff) AM_ROM AM_REGION("maincpu", 0xff00)
AM_RANGE(0xff00, 0xff0f) AM_MIRROR(0xf0) AM_WRITEONLY AM_SHARE("dat")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(flex_dmf2_mem, AS_PROGRAM, 8, swtpc09_state)
+ADDRESS_MAP_START(swtpc09_state::flex_dmf2_mem)
AM_RANGE(0x00000, 0xfffff) AM_RAM AM_SHARE("mainram") // by default everything is ram, 1MB ram emulated
AM_RANGE(0xe000, 0xe003) AM_MIRROR(0xf0000) AM_NOP
AM_RANGE(0xe004, 0xe005) AM_MIRROR(0xf0000) AM_DEVREADWRITE("acia", acia6850_device, read, write)
@@ -80,7 +80,7 @@ static ADDRESS_MAP_START(flex_dmf2_mem, AS_PROGRAM, 8, swtpc09_state)
AM_RANGE(0xf800, 0xffff) AM_MIRROR(0xf0000) AM_ROM AM_REGION("maincpu", 0xf800)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(flex_dc4_piaide_mem, AS_PROGRAM, 8, swtpc09_state)
+ADDRESS_MAP_START(swtpc09_state::flex_dc4_piaide_mem)
AM_RANGE(0x00000, 0xfffff) AM_RAM AM_SHARE("mainram") // by default everything is ram, 1MB ram emulated
AM_RANGE(0xe000, 0xe003) AM_MIRROR(0xf0000) AM_NOP
AM_RANGE(0xe004, 0xe005) AM_MIRROR(0xf0000) AM_DEVREADWRITE("acia", acia6850_device, read, write)
@@ -101,7 +101,7 @@ static ADDRESS_MAP_START(flex_dc4_piaide_mem, AS_PROGRAM, 8, swtpc09_state)
AM_RANGE(0xf800, 0xffff) AM_MIRROR(0xf0000) AM_ROM AM_REGION("maincpu", 0xf800)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(uniflex_dmf2_mem, AS_PROGRAM, 8, swtpc09_state)
+ADDRESS_MAP_START(swtpc09_state::uniflex_dmf2_mem)
AM_RANGE(0x00000, 0xfffff) AM_RAM AM_SHARE("mainram") // by default everything is ram, 1MB ram emulated
AM_RANGE(0xe000, 0xe001) AM_MIRROR(0xf0000) AM_DEVREADWRITE("acia", acia6850_device, read, write)
AM_RANGE(0xe002, 0xe07f) AM_MIRROR(0xf0000) AM_NOP
@@ -115,7 +115,7 @@ static ADDRESS_MAP_START(uniflex_dmf2_mem, AS_PROGRAM, 8, swtpc09_state)
AM_RANGE(0xf800, 0xffff) AM_MIRROR(0xf0000) AM_ROM AM_REGION("maincpu", 0xf800)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(uniflex_dmf3_mem, AS_PROGRAM, 8, swtpc09_state)
+ADDRESS_MAP_START(swtpc09_state::uniflex_dmf3_mem)
AM_RANGE(0x00000, 0xfffff) AM_RAM AM_SHARE("mainram") // by default everything is ram, 1MB ram emulated
AM_RANGE(0xe000, 0xe001) AM_MIRROR(0xf0000) AM_DEVREADWRITE("acia", acia6850_device, read, write)
AM_RANGE(0xe002, 0xe07f) AM_MIRROR(0xf0000) AM_NOP
diff --git a/src/mame/drivers/swyft.cpp b/src/mame/drivers/swyft.cpp
index ec9888a20ab..78605d70189 100644
--- a/src/mame/drivers/swyft.cpp
+++ b/src/mame/drivers/swyft.cpp
@@ -380,6 +380,7 @@ public:
uint8_t m_floppy_control;
void swyft(machine_config &config);
+ void swyft_mem(address_map &map);
//protected:
//virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
};
@@ -569,7 +570,7 @@ x x x x 1 1 ?1? ?0? ? 1 0 0 x x * * * * x x
*/
-static ADDRESS_MAP_START(swyft_mem, AS_PROGRAM, 8, swyft_state)
+ADDRESS_MAP_START(swyft_state::swyft_mem)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
AM_RANGE(0x000000, 0x00ffff) AM_ROM // 64 KB ROM
diff --git a/src/mame/drivers/sym1.cpp b/src/mame/drivers/sym1.cpp
index d1207d3893a..5dd82d2e97a 100644
--- a/src/mame/drivers/sym1.cpp
+++ b/src/mame/drivers/sym1.cpp
@@ -78,6 +78,7 @@ public:
DECLARE_WRITE8_MEMBER(via3_a_w);
void sym1(machine_config &config);
+ void sym1_map(address_map &map);
protected:
required_device<cpu_device> m_maincpu;
required_device<ram_device> m_ram;
@@ -299,7 +300,7 @@ void sym1_state::machine_reset()
// ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( sym1_map, AS_PROGRAM, 8, sym1_state )
+ADDRESS_MAP_START(sym1_state::sym1_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM // U12/U13 RAM
AM_RANGE(0x0400, 0x07ff) AM_RAMBANK("bank2") AM_SHARE("ram_1k")
AM_RANGE(0x0800, 0x0bff) AM_RAMBANK("bank3") AM_SHARE("ram_2k")
diff --git a/src/mame/drivers/symbolics.cpp b/src/mame/drivers/symbolics.cpp
index 852dd8d8436..430bc0d26c0 100644
--- a/src/mame/drivers/symbolics.cpp
+++ b/src/mame/drivers/symbolics.cpp
@@ -106,6 +106,8 @@ public:
virtual void machine_reset() override;
void symbolics(machine_config &config);
+ void m68k_io(address_map &map);
+ void m68k_mem(address_map &map);
//protected:
// virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
};
@@ -244,7 +246,7 @@ currently dies at context switch code loaded to ram around 38EE0, see patent 488
*/
-static ADDRESS_MAP_START(m68k_mem, AS_PROGRAM, 16, symbolics_state )
+ADDRESS_MAP_START(symbolics_state::m68k_mem)
ADDRESS_MAP_UNMAP_HIGH
//AM_RANGE(0x000000, 0x01ffff) AM_ROM /* ROM lives here */
AM_RANGE(0x000000, 0x00bfff) AM_ROM
@@ -266,7 +268,7 @@ static ADDRESS_MAP_START(m68k_mem, AS_PROGRAM, 16, symbolics_state )
//FF018A is writable, gets 0x5555 written to it
ADDRESS_MAP_END
-static ADDRESS_MAP_START(m68k_io, AS_IO, 16, symbolics_state )
+ADDRESS_MAP_START(symbolics_state::m68k_io)
ADDRESS_MAP_END
/******************************************************************************
diff --git a/src/mame/drivers/sys2900.cpp b/src/mame/drivers/sys2900.cpp
index 43471de1431..25049ac5321 100644
--- a/src/mame/drivers/sys2900.cpp
+++ b/src/mame/drivers/sys2900.cpp
@@ -65,6 +65,8 @@ public:
DECLARE_DRIVER_INIT(sys2900);
uint32_t screen_update_sys2900(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void sys2900(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
virtual void machine_reset() override;
virtual void video_start() override;
@@ -75,7 +77,7 @@ protected:
};
-static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 8, sys2900_state)
+ADDRESS_MAP_START(sys2900_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x07ff ) AM_RAMBANK("boot")
AM_RANGE( 0x0800, 0xefff ) AM_RAM
@@ -83,7 +85,7 @@ static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 8, sys2900_state)
AM_RANGE( 0xf800, 0xffff ) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(io_map, AS_IO, 8, sys2900_state)
+ADDRESS_MAP_START(sys2900_state::io_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x20, 0x23) AM_DEVREADWRITE("sio1", z80sio_device, ba_cd_r, ba_cd_w)
diff --git a/src/mame/drivers/sys9002.cpp b/src/mame/drivers/sys9002.cpp
index abe3d721812..6c30d8296e5 100644
--- a/src/mame/drivers/sys9002.cpp
+++ b/src/mame/drivers/sys9002.cpp
@@ -39,6 +39,8 @@ public:
MC6845_UPDATE_ROW(crtc_update_row);
void sys9002(machine_config &config);
+ void sys9002_io(address_map &map);
+ void sys9002_mem(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_shared_ptr<uint8_t> m_p_videoram;
@@ -46,7 +48,7 @@ private:
};
-static ADDRESS_MAP_START(sys9002_mem, AS_PROGRAM, 8, sys9002_state)
+ADDRESS_MAP_START(sys9002_state::sys9002_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROM // 4 * 4K ROM
AM_RANGE(0x8000, 0x9fff) AM_RAM // 4 * 2k RAM
@@ -54,7 +56,7 @@ static ADDRESS_MAP_START(sys9002_mem, AS_PROGRAM, 8, sys9002_state)
AM_RANGE(0xc000, 0xc07f) AM_RAM // ??
ADDRESS_MAP_END
-static ADDRESS_MAP_START(sys9002_io, AS_IO, 8, sys9002_state)
+ADDRESS_MAP_START(sys9002_state::sys9002_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
//AM_RANGE(0x04, 0x04) AM_DEVREADWRITE("crtc", mc6845_device, status_r, address_w) // left commented out as mame freezes after about 2 seconds
diff --git a/src/mame/drivers/systec.cpp b/src/mame/drivers/systec.cpp
index dad27f48089..ce1eb5e1bdd 100644
--- a/src/mame/drivers/systec.cpp
+++ b/src/mame/drivers/systec.cpp
@@ -49,17 +49,19 @@ public:
{ }
void systec(machine_config &config);
+ void systec_io(address_map &map);
+ void systec_mem(address_map &map);
private:
virtual void machine_reset() override;
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START(systec_mem, AS_PROGRAM, 8, systec_state)
+ADDRESS_MAP_START(systec_state::systec_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xffff) AM_RAM AM_REGION("maincpu", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(systec_io, AS_IO, 8, systec_state)
+ADDRESS_MAP_START(systec_state::systec_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x68, 0x6b) // fdc?
AM_RANGE(0x6c, 0x6c) // motor control?
diff --git a/src/mame/drivers/system1.cpp b/src/mame/drivers/system1.cpp
index 19d1995ad98..89378a60d2a 100644
--- a/src/mame/drivers/system1.cpp
+++ b/src/mame/drivers/system1.cpp
@@ -741,7 +741,7 @@ WRITE8_MEMBER(system1_state::nobb_outport24_w)
*************************************/
/* main memory map */
-static ADDRESS_MAP_START( system1_map, AS_PROGRAM, 8, system1_state )
+ADDRESS_MAP_START(system1_state::system1_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xcfff) AM_RAM AM_SHARE("ram")
@@ -754,7 +754,7 @@ static ADDRESS_MAP_START( system1_map, AS_PROGRAM, 8, system1_state )
AM_RANGE(0xfc00, 0xffff) AM_WRITE(system1_sprite_collision_reset_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, system1_state )
+ADDRESS_MAP_START(system1_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_SHARE("decrypted_opcodes")
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xcfff) AM_RAM AM_SHARE("ram")
@@ -762,7 +762,7 @@ static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, system1_state )
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(system1_paletteram_w) AM_SHARE("palette")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( banked_decrypted_opcodes_map, AS_OPCODES, 8, system1_state )
+ADDRESS_MAP_START(system1_state::banked_decrypted_opcodes_map)
AM_RANGE(0x0000, 0x7fff) AM_ROMBANK("bank0d")
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1d")
AM_RANGE(0xc000, 0xcfff) AM_RAM AM_SHARE("ram")
@@ -771,7 +771,7 @@ static ADDRESS_MAP_START( banked_decrypted_opcodes_map, AS_OPCODES, 8, system1_s
ADDRESS_MAP_END
/* same as normal System 1 except address map is shuffled (RAM/collision are swapped) */
-static ADDRESS_MAP_START( nobo_map, AS_PROGRAM, 8, system1_state )
+ADDRESS_MAP_START(system1_state::nobo_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc3ff) AM_READWRITE(system1_mixer_collision_r, system1_mixer_collision_w)
@@ -785,7 +785,7 @@ static ADDRESS_MAP_START( nobo_map, AS_PROGRAM, 8, system1_state )
ADDRESS_MAP_END
/* I/O map for systems with an 8255 PPI */
-static ADDRESS_MAP_START( system1_ppi_io_map, AS_IO, 8, system1_state )
+ADDRESS_MAP_START(system1_state::system1_ppi_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x1f)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x03) AM_READ_PORT("P1")
AM_RANGE(0x04, 0x04) AM_MIRROR(0x03) AM_READ_PORT("P2")
@@ -797,7 +797,7 @@ static ADDRESS_MAP_START( system1_ppi_io_map, AS_IO, 8, system1_state )
ADDRESS_MAP_END
/* I/O map for systems with a Z80 PIO chip */
-static ADDRESS_MAP_START( system1_pio_io_map, AS_IO, 8, system1_state )
+ADDRESS_MAP_START(system1_state::system1_pio_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x1f)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x03) AM_READ_PORT("P1")
AM_RANGE(0x04, 0x04) AM_MIRROR(0x03) AM_READ_PORT("P2")
@@ -816,7 +816,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, system1_state )
+ADDRESS_MAP_START(system1_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_MIRROR(0x1800) AM_RAM
AM_RANGE(0xa000, 0xa000) AM_MIRROR(0x1fff) AM_DEVWRITE("sn1", sn76489a_device, write)
@@ -832,14 +832,14 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( mcu_io_map, AS_IO, 8, system1_state )
+ADDRESS_MAP_START(system1_state::mcu_io_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xffff) AM_READWRITE(mcu_io_r, mcu_io_w)
AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_WRITE(mcu_control_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nob_mcu_io_map, AS_IO, 8, system1_state )
+ADDRESS_MAP_START(system1_state::nob_mcu_io_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(MCS51_PORT_P0, MCS51_PORT_P0) AM_RAM AM_SHARE("nob_mcu_latch")
AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_WRITEONLY AM_SHARE("nob_mcu_status")
@@ -2217,19 +2217,19 @@ MACHINE_CONFIG_END
#define ENCRYPTED_SYS1PPI_MAPS \
MCFG_CPU_PROGRAM_MAP(system1_map) \
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map) \
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map) \
MCFG_CPU_IO_MAP(system1_ppi_io_map) \
MCFG_CPU_VBLANK_INT_DRIVER("screen", system1_state, irq0_line_hold)
#define ENCRYPTED_SYS1PIO_MAPS \
MCFG_CPU_PROGRAM_MAP(system1_map) \
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map) \
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map) \
MCFG_CPU_IO_MAP(system1_pio_io_map) \
MCFG_CPU_VBLANK_INT_DRIVER("screen", system1_state, irq0_line_hold)
#define ENCRYPTED_SYS2_MC8123_MAPS \
MCFG_CPU_PROGRAM_MAP(system1_map) \
- MCFG_CPU_DECRYPTED_OPCODES_MAP(banked_decrypted_opcodes_map) \
+ MCFG_CPU_OPCODES_MAP(banked_decrypted_opcodes_map) \
MCFG_CPU_IO_MAP(system1_ppi_io_map) \
MCFG_CPU_VBLANK_INT_DRIVER("screen", system1_state, irq0_line_hold)
@@ -2446,7 +2446,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(system1_state::sys2x, sys2)
MCFG_DEVICE_MODIFY("maincpu")
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(system1_state::sys2_315_5177, sys2)
@@ -2481,7 +2481,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(system1_state::sys2xboot, sys2)
MCFG_CPU_MODIFY("maincpu")
- MCFG_CPU_DECRYPTED_OPCODES_MAP(banked_decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(banked_decrypted_opcodes_map)
MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(system1_state::sys2m, sys2)
@@ -2503,7 +2503,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(system1_state::sys2rowxboot, sys2row)
MCFG_CPU_MODIFY("maincpu")
- MCFG_CPU_DECRYPTED_OPCODES_MAP(banked_decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(banked_decrypted_opcodes_map)
MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(system1_state::sys2rowm, sys2row)
diff --git a/src/mame/drivers/system16.cpp b/src/mame/drivers/system16.cpp
index 5d482508e7b..8e585f6a9dd 100644
--- a/src/mame/drivers/system16.cpp
+++ b/src/mame/drivers/system16.cpp
@@ -138,7 +138,7 @@ WRITE8_MEMBER(segas1x_bootleg_state::soundbank_msm_w)
}
-static ADDRESS_MAP_START( shinobib_map, AS_PROGRAM, 16, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::shinobib_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x400000, 0x40ffff) AM_RAM // tilemap ram on the original, used as a buffer on the bootlegs
AM_RANGE(0x410000, 0x410fff) AM_RAM AM_SHARE("textram")
@@ -183,7 +183,7 @@ WRITE16_MEMBER(segas1x_bootleg_state::sys16_coinctrl_w)
}
}
-static ADDRESS_MAP_START( passshtb_map, AS_PROGRAM, 16, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::passshtb_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x400000, 0x407fff) AM_RAM // tilemap ram on original, buffer on bootleg
@@ -263,7 +263,7 @@ READ16_MEMBER(segas1x_bootleg_state::passht4b_io3_r)
return m_passht4b_io3_val;
}
-static ADDRESS_MAP_START( passht4b_map, AS_PROGRAM, 16, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::passht4b_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x400000, 0x407fff) AM_RAM // tilemap ram on original, buffer on bootleg
AM_RANGE(0x409000, 0x409fff) AM_RAM AM_SHARE("bg0_tileram")
@@ -310,7 +310,7 @@ WRITE16_MEMBER(segas1x_bootleg_state::sys16_tilebank_w)
}
}
-static ADDRESS_MAP_START( wb3bbl_map, AS_PROGRAM, 16, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::wb3bbl_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x3f0000, 0x3fffff) AM_WRITE(sys16_tilebank_w)
AM_RANGE(0x400000, 0x407fff) AM_RAM // tilemap ram on the original, used as a buffer on the bootlegs
@@ -418,7 +418,7 @@ WRITE8_MEMBER(segas1x_bootleg_state::tturfbl_soundbank_w)
}
}
-static ADDRESS_MAP_START(tturfbl_sound_map, AS_PROGRAM, 8, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::tturfbl_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_READ(tturfbl_soundbank_r)
AM_RANGE(0xe000, 0xe000) AM_WRITE(tturfbl_soundbank_w)
@@ -427,7 +427,7 @@ static ADDRESS_MAP_START(tturfbl_sound_map, AS_PROGRAM, 8, segas1x_bootleg_state
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tturfbl_sound_io_map, AS_IO, 8, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::tturfbl_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0x40, 0x40) AM_WRITENOP
@@ -436,7 +436,7 @@ ADDRESS_MAP_END
/*******************************************************************************/
-static ADDRESS_MAP_START(shinobi_datsu_sound_map, AS_PROGRAM, 8, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::shinobi_datsu_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("soundbank")
AM_RANGE(0xe000, 0xe001) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
@@ -459,13 +459,13 @@ WRITE_LINE_MEMBER(segas1x_bootleg_state::datsu_msm5205_callback)
/*******************************************************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xe800, 0xe800) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0xc0, 0xc0) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -473,7 +473,7 @@ ADDRESS_MAP_END
// 7759
-static ADDRESS_MAP_START( sound_7759_map, AS_PROGRAM, 8, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::sound_7759_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xdfff) AM_ROMBANK("bank1")
AM_RANGE(0xe800, 0xe800) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -491,7 +491,7 @@ WRITE8_MEMBER(segas1x_bootleg_state::upd7759_bank_w)//*
}
-static ADDRESS_MAP_START( sound_7759_io_map, AS_IO, 8, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::sound_7759_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0x40, 0x40) AM_WRITE(upd7759_bank_w)
@@ -584,7 +584,7 @@ WRITE16_MEMBER(segas1x_bootleg_state::s16bl_bgscrolly_w)
}
-static ADDRESS_MAP_START( goldnaxeb1_map, AS_PROGRAM, 16, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::goldnaxeb1_map)
AM_RANGE(0x000000, 0x0bffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM_WRITE(sys16_tileram_w) AM_SHARE("tileram")
AM_RANGE(0x110000, 0x110fff) AM_RAM_WRITE(sys16_textram_w) AM_SHARE("textram")
@@ -609,7 +609,7 @@ static ADDRESS_MAP_START( goldnaxeb1_map, AS_PROGRAM, 16, segas1x_bootleg_state
AM_RANGE(0xffc000, 0xffffff) AM_RAM // work ram
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bayrouteb1_map, AS_PROGRAM, 16, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::bayrouteb1_map)
AM_RANGE(0x000000, 0x0bffff) AM_ROM
AM_RANGE(0x500000, 0x503fff) AM_RAM // work ram
AM_RANGE(0x600000, 0x600fff) AM_RAM AM_SHARE("sprites")
@@ -630,7 +630,7 @@ static ADDRESS_MAP_START( bayrouteb1_map, AS_PROGRAM, 16, segas1x_bootleg_state
AM_RANGE(0x902006, 0x902007) AM_WRITE(sound_command_irq_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 16, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::decrypted_opcodes_map)
AM_RANGE(0x000000, 0x0bffff) AM_ROM AM_SHARE("decrypted_opcodes")
ADDRESS_MAP_END
@@ -678,7 +678,7 @@ WRITE16_MEMBER(segas1x_bootleg_state::datsu_page3_w)
datsu_set_pages();
}
-static ADDRESS_MAP_START( bayrouteb2_map, AS_PROGRAM, 16, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::bayrouteb2_map)
AM_RANGE(0x000000, 0x0bffff) AM_ROM
AM_RANGE(0x500000, 0x503fff) AM_RAM // work ram
AM_RANGE(0x600000, 0x600fff) AM_RAM AM_SHARE("sprites")
@@ -702,7 +702,7 @@ static ADDRESS_MAP_START( bayrouteb2_map, AS_PROGRAM, 16, segas1x_bootleg_state
AM_RANGE(0x901006, 0x901007) AM_READ_PORT("P2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dduxbl_map, AS_PROGRAM, 16, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::dduxbl_map)
AM_RANGE(0x000000, 0x0bffff) AM_ROM
AM_RANGE(0x3f0000, 0x3fffff) AM_WRITE(sys16_tilebank_w)
AM_RANGE(0x400000, 0x40ffff) AM_RAM_WRITE(sys16_tileram_w) AM_SHARE("tileram")
@@ -795,7 +795,7 @@ WRITE16_MEMBER(segas1x_bootleg_state::goldnaxeb2_bgpage_w)
set_bg_page(page ^ 0xffff);
}
-static ADDRESS_MAP_START( goldnaxeb2_map, AS_PROGRAM, 16, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::goldnaxeb2_map)
AM_RANGE(0x000000, 0x0bffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM_WRITE(sys16_tileram_w) AM_SHARE("tileram")
AM_RANGE(0x110000, 0x110fff) AM_RAM_WRITE(sys16_textram_w) AM_SHARE("textram")
@@ -831,7 +831,7 @@ WRITE16_MEMBER(segas1x_bootleg_state::eswat_tilebank0_w)
}
}
-static ADDRESS_MAP_START( eswatbl_map, AS_PROGRAM, 16, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::eswatbl_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x3e2000, 0x3e2001) AM_WRITE(eswat_tilebank0_w) // external tile bank ( > 0x4000 tiles )
@@ -858,7 +858,7 @@ static ADDRESS_MAP_START( eswatbl_map, AS_PROGRAM, 16, segas1x_bootleg_state )
AM_RANGE(0xffc000, 0xffffff) AM_RAM // work ram
ADDRESS_MAP_END
-static ADDRESS_MAP_START( eswatbl2_map, AS_PROGRAM, 16, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::eswatbl2_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x123420, 0x12343f) AM_WRITENOP // written on boot only
AM_RANGE(0x200000, 0x200fff) AM_RAM AM_SHARE("sprites")
@@ -888,7 +888,7 @@ ADDRESS_MAP_END
/***************************************************************************/
-static ADDRESS_MAP_START( tetrisbl_map, AS_PROGRAM, 16, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::tetrisbl_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x400000, 0x40ffff) AM_RAM_WRITE(sys16_tileram_w) AM_SHARE("tileram")
AM_RANGE(0x410000, 0x410fff) AM_RAM_WRITE(sys16_textram_w) AM_SHARE("textram")
@@ -922,7 +922,7 @@ READ16_MEMBER(segas1x_bootleg_state::beautyb_unkx_r)
return m_beautyb_unkx;
}
-static ADDRESS_MAP_START( beautyb_map, AS_PROGRAM, 16, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::beautyb_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM AM_WRITENOP
AM_RANGE(0x010000, 0x03ffff) AM_WRITENOP
@@ -956,7 +956,7 @@ ADDRESS_MAP_END
/***************************************************************************/
-static ADDRESS_MAP_START( tturfbl_map, AS_PROGRAM, 16, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::tturfbl_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x200000, 0x203fff) AM_RAM // work ram
AM_RANGE(0x300000, 0x300fff) AM_RAM AM_SHARE("sprites")
@@ -1011,7 +1011,7 @@ READ8_MEMBER(segas1x_bootleg_state::system18_bank_r)
return 0xff;
}
-static ADDRESS_MAP_START( sound_18_map, AS_PROGRAM, 8, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::sound_18_map)
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xa000, 0xbfff) AM_READ(system18_bank_r)
/**** D/A register ****/
@@ -1035,7 +1035,7 @@ WRITE8_MEMBER(segas1x_bootleg_state::sys18_soundbank_w)
m_sound_bank = nullptr;
}
-static ADDRESS_MAP_START( sound_18_io_map, AS_IO, 8, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::sound_18_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x80, 0x83) AM_DEVREADWRITE("3438.0", ym3438_device, read, write)
AM_RANGE(0x90, 0x93) AM_DEVREADWRITE("3438.1", ym3438_device, read, write)
@@ -1087,7 +1087,7 @@ ADDRESS_MAP_END
***************************************************************************/
-static ADDRESS_MAP_START( shdancbl_map, AS_PROGRAM, 16, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::shdancbl_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x400000, 0x40ffff) AM_RAM_WRITE(sys16_tileram_w) AM_SHARE("tileram")
AM_RANGE(0x410000, 0x410fff) AM_RAM_WRITE(sys16_textram_w) AM_SHARE("textram")
@@ -1109,7 +1109,7 @@ static ADDRESS_MAP_START( shdancbl_map, AS_PROGRAM, 16, segas1x_bootleg_state )
AM_RANGE(0xffc000, 0xffffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( shdancbla_map, AS_PROGRAM, 16, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::shdancbla_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x400000, 0x40ffff) AM_RAM_WRITE(sys16_tileram_w) AM_SHARE("tileram")
AM_RANGE(0x410000, 0x410fff) AM_RAM_WRITE(sys16_textram_w) AM_SHARE("textram")
@@ -1210,7 +1210,7 @@ WRITE8_MEMBER(segas1x_bootleg_state::shdancbl_bankctrl_w)
}
}
-static ADDRESS_MAP_START(shdancbl_sound_map, AS_PROGRAM, 8, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::shdancbl_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_READ(shdancbl_soundbank_r)
AM_RANGE(0xc000, 0xc00f) AM_WRITENOP
@@ -1224,14 +1224,14 @@ static ADDRESS_MAP_START(shdancbl_sound_map, AS_PROGRAM, 8, segas1x_bootleg_stat
ADDRESS_MAP_END
-static ADDRESS_MAP_START( shdancbl_sound_io_map, AS_IO, 8, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::shdancbl_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xa0, 0xbf) AM_WRITENOP
AM_RANGE(0xc0, 0xdf) AM_READNOP
ADDRESS_MAP_END
// shdancbla
-static ADDRESS_MAP_START(shdancbla_sound_map, AS_PROGRAM, 8, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::shdancbla_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_READ(shdancbl_soundbank_r)
@@ -1254,7 +1254,7 @@ ADDRESS_MAP_END
***************************************************************************/
-static ADDRESS_MAP_START( mwalkbl_map, AS_PROGRAM, 16, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::mwalkbl_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x400000, 0x40ffff) AM_RAM_WRITE(sys16_tileram_w) AM_SHARE("tileram")
AM_RANGE(0x410000, 0x410fff) AM_RAM_WRITE(sys16_textram_w) AM_SHARE("textram")
@@ -1302,7 +1302,7 @@ WRITE8_MEMBER(segas1x_bootleg_state::sys18bl_okibank_w) // TODO: verify correctn
}
/* bootleg doesn't have real vdp or i/o */
-static ADDRESS_MAP_START( astormbl_map, AS_PROGRAM, 16, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::astormbl_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM_WRITE(sys16_tileram_w) AM_SHARE("tileram")
AM_RANGE(0x110000, 0x110fff) AM_RAM_WRITE(sys16_textram_w) AM_SHARE("textram")
@@ -1336,7 +1336,7 @@ static ADDRESS_MAP_START( astormbl_map, AS_PROGRAM, 16, segas1x_bootleg_state )
AM_RANGE(0xffc000, 0xffffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(sys18bl_sound_map, AS_PROGRAM, 8, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::sys18bl_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x9000, 0x9000) AM_WRITE(sys18bl_okibank_w)
AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
@@ -1344,7 +1344,7 @@ static ADDRESS_MAP_START(sys18bl_sound_map, AS_PROGRAM, 8, segas1x_bootleg_state
AM_RANGE(0x8000, 0x87ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sys18bl_oki_map, 0, 8, segas1x_bootleg_state )
+ADDRESS_MAP_START(segas1x_bootleg_state::sys18bl_oki_map)
AM_RANGE(0x00000, 0x2ffff) AM_ROM
AM_RANGE(0x30000, 0x3ffff) AM_ROMBANK("okibank")
ADDRESS_MAP_END
@@ -1366,7 +1366,7 @@ WRITE16_MEMBER(segas1x_bootleg_state::ddcrewbl_spritebank_w)
// todo: this
-static ADDRESS_MAP_START(ddcrewbl_map, AS_PROGRAM, 16, segas1x_bootleg_state)
+ADDRESS_MAP_START(segas1x_bootleg_state::ddcrewbl_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM // ok
AM_RANGE(0x200000, 0x27ffff) AM_ROM // ok
@@ -2247,7 +2247,7 @@ MACHINE_CONFIG_START(segas1x_bootleg_state::goldnaxeb_base)
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, 10000000)
MCFG_CPU_PROGRAM_MAP(goldnaxeb1_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", segas1x_bootleg_state, irq4_line_hold)
diff --git a/src/mame/drivers/tagteam.cpp b/src/mame/drivers/tagteam.cpp
index 90274ad8f33..2811347c761 100644
--- a/src/mame/drivers/tagteam.cpp
+++ b/src/mame/drivers/tagteam.cpp
@@ -47,7 +47,7 @@ WRITE8_MEMBER(tagteam_state::irq_clear_w)
m_maincpu->set_input_line(M6502_IRQ_LINE, CLEAR_LINE);
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, tagteam_state )
+ADDRESS_MAP_START(tagteam_state::main_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x2000, 0x2000) AM_READ_PORT("P2") AM_WRITE(flipscreen_w)
AM_RANGE(0x2001, 0x2001) AM_READ_PORT("P1") AM_WRITE(control_w)
@@ -67,7 +67,7 @@ WRITE8_MEMBER(tagteam_state::sound_nmi_mask_w)
}
/* Same as Syusse Oozumou */
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, tagteam_state )
+ADDRESS_MAP_START(tagteam_state::sound_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x2000, 0x2001) AM_DEVWRITE("ay1", ay8910_device, data_address_w)
AM_RANGE(0x2002, 0x2003) AM_DEVWRITE("ay2", ay8910_device, data_address_w)
diff --git a/src/mame/drivers/tail2nos.cpp b/src/mame/drivers/tail2nos.cpp
index 8ad19cfa1cb..5eb7237b3aa 100644
--- a/src/mame/drivers/tail2nos.cpp
+++ b/src/mame/drivers/tail2nos.cpp
@@ -35,7 +35,7 @@ WRITE8_MEMBER(tail2nos_state::sound_bankswitch_w)
membank("bank3")->set_entry(data & 0x01);
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, tail2nos_state )
+ADDRESS_MAP_START(tail2nos_state::main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x200000, 0x27ffff) AM_ROM AM_REGION("user1", 0) /* extra ROM */
AM_RANGE(0x2c0000, 0x2dffff) AM_ROM AM_REGION("user2", 0)
@@ -55,13 +55,13 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, tail2nos_state )
AM_RANGE(0xfff030, 0xfff033) AM_DEVREADWRITE8("acia", acia6850_device, read, write, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, tail2nos_state )
+ADDRESS_MAP_START(tail2nos_state::sound_map)
AM_RANGE(0x0000, 0x77ff) AM_ROM
AM_RANGE(0x7800, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank3")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_port_map, AS_IO, 8, tail2nos_state )
+ADDRESS_MAP_START(tail2nos_state::sound_port_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x07, 0x07) AM_DEVREADWRITE("soundlatch", generic_latch_8_device, read, acknowledge_w)
AM_RANGE(0x08, 0x0b) AM_DEVWRITE("ymsnd", ym2608_device, write)
diff --git a/src/mame/drivers/taito.cpp b/src/mame/drivers/taito.cpp
index 610186a4033..af3fd4f640c 100644
--- a/src/mame/drivers/taito.cpp
+++ b/src/mame/drivers/taito.cpp
@@ -84,6 +84,12 @@ public:
void taito4(machine_config &config);
void taito5(machine_config &config);
void taito_ay_audio(machine_config &config);
+ void shock_map(address_map &map);
+ void shock_sub_map(address_map &map);
+ void taito_map(address_map &map);
+ void taito_sub_map(address_map &map);
+ void taito_sub_map2(address_map &map);
+ void taito_sub_map5(address_map &map);
private:
uint8_t m_out_offs;
uint8_t m_sndcmd;
@@ -98,7 +104,7 @@ private:
};
-static ADDRESS_MAP_START( taito_map, AS_PROGRAM, 8, taito_state )
+ADDRESS_MAP_START(taito_state::taito_map)
AM_RANGE(0x0000, 0x27ff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0x2800, 0x2800) AM_MIRROR(0x0080) AM_READ_PORT("X0")
AM_RANGE(0x2801, 0x2801) AM_MIRROR(0x0080) AM_READ_PORT("X1")
@@ -124,21 +130,21 @@ static ADDRESS_MAP_START( taito_map, AS_PROGRAM, 8, taito_state )
AM_RANGE(0x4800, 0x48ff) AM_ROM AM_REGION("roms", 0x2000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( taito_sub_map, AS_PROGRAM, 8, taito_state )
+ADDRESS_MAP_START(taito_state::taito_sub_map)
ADDRESS_MAP_GLOBAL_MASK(0x1fff)
AM_RANGE(0x0000, 0x007f) AM_RAM // internal to the cpu
AM_RANGE(0x0400, 0x0403) AM_DEVREADWRITE("pia", pia6821_device, read, write)
AM_RANGE(0x0800, 0x1fff) AM_ROM AM_REGION("cpu2", 0x0800)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( taito_sub_map2, AS_PROGRAM, 8, taito_state )
+ADDRESS_MAP_START(taito_state::taito_sub_map2)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x007f) AM_RAM // internal to the cpu
AM_RANGE(0x0400, 0x0403) AM_DEVREADWRITE("pia", pia6821_device, read, write)
AM_RANGE(0x2000, 0x3fff) AM_ROM AM_REGION("cpu2", 0x2000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( taito_sub_map5, AS_PROGRAM, 8, taito_state )
+ADDRESS_MAP_START(taito_state::taito_sub_map5)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x007f) AM_RAM // internal to the cpu
AM_RANGE(0x0400, 0x0403) AM_DEVREADWRITE("pia", pia6821_device, read, write)
@@ -153,7 +159,7 @@ static ADDRESS_MAP_START( taito_sub_map5, AS_PROGRAM, 8, taito_state )
AM_RANGE(0x2000, 0x7fff) AM_ROM AM_REGION("cpu2", 0x2000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( shock_map, AS_PROGRAM, 8, taito_state )
+ADDRESS_MAP_START(taito_state::shock_map)
ADDRESS_MAP_GLOBAL_MASK(0x1fff)
AM_RANGE(0x0000, 0x0fff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0x1000, 0x100f) AM_RAM AM_SHARE("ram")
@@ -174,7 +180,7 @@ static ADDRESS_MAP_START( shock_map, AS_PROGRAM, 8, taito_state )
AM_RANGE(0x1800, 0x1bff) AM_ROM AM_REGION("roms", 0x1800)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( shock_sub_map, AS_PROGRAM, 8, taito_state )
+ADDRESS_MAP_START(taito_state::shock_sub_map)
ADDRESS_MAP_GLOBAL_MASK(0x0fff)
AM_RANGE(0x0000, 0x007f) AM_RAM // internal to the cpu
AM_RANGE(0x0400, 0x0403) AM_DEVREADWRITE("pia", pia6821_device, read, write)
diff --git a/src/mame/drivers/taito_b.cpp b/src/mame/drivers/taito_b.cpp
index 262c6bd9aa6..ddb6e0a6889 100644
--- a/src/mame/drivers/taito_b.cpp
+++ b/src/mame/drivers/taito_b.cpp
@@ -466,7 +466,7 @@ WRITE16_MEMBER(taitob_state::realpunc_output_w)
AM_RANGE(ADDR+0x40000, ADDR+0x7ffff) AM_READWRITE(tc0180vcu_framebuffer_word_r, tc0180vcu_framebuffer_word_w)
-static ADDRESS_MAP_START( rastsag2_map, AS_PROGRAM, 16, taitob_state )
+ADDRESS_MAP_START(taitob_state::rastsag2_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x600000, 0x607fff) AM_RAM /* Main RAM */ /*ashura up to 603fff only*/
@@ -477,7 +477,7 @@ static ADDRESS_MAP_START( rastsag2_map, AS_PROGRAM, 16, taitob_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( crimec_map, AS_PROGRAM, 16, taitob_state )
+ADDRESS_MAP_START(taitob_state::crimec_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_device, read, write, 0xff00)
TC0180VCU_MEMRW( 0x400000 )
@@ -488,7 +488,7 @@ static ADDRESS_MAP_START( crimec_map, AS_PROGRAM, 16, taitob_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tetrist_map, AS_PROGRAM, 16, taitob_state )
+ADDRESS_MAP_START(taitob_state::tetrist_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x200000, 0x200001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0xff00)
AM_RANGE(0x200002, 0x200003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0xff00)
@@ -498,7 +498,7 @@ static ADDRESS_MAP_START( tetrist_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0xa00000, 0xa01fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tetrista_map, AS_PROGRAM, 16, taitob_state )
+ADDRESS_MAP_START(taitob_state::tetrista_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
TC0180VCU_MEMRW( 0x400000 )
@@ -509,7 +509,7 @@ static ADDRESS_MAP_START( tetrista_map, AS_PROGRAM, 16, taitob_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hitice_map, AS_PROGRAM, 16, taitob_state )
+ADDRESS_MAP_START(taitob_state::hitice_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
TC0180VCU_MEMRW( 0x400000 )
AM_RANGE(0x600000, 0x60000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_device, read, write, 0xff00)
@@ -524,7 +524,7 @@ static ADDRESS_MAP_START( hitice_map, AS_PROGRAM, 16, taitob_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rambo3_map, AS_PROGRAM, 16, taitob_state )
+ADDRESS_MAP_START(taitob_state::rambo3_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x200000, 0x200001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0xff00)
AM_RANGE(0x200002, 0x200003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0xff00)
@@ -543,7 +543,7 @@ static ADDRESS_MAP_START( rambo3_map, AS_PROGRAM, 16, taitob_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pbobble_map, AS_PROGRAM, 16, taitob_state )
+ADDRESS_MAP_START(taitob_state::pbobble_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
TC0180VCU_MEMRW( 0x400000 )
AM_RANGE(0x500000, 0x50000f) AM_DEVREADWRITE("tc0640fio", tc0640fio_device, halfword_byteswap_r, halfword_byteswap_w)
@@ -559,7 +559,7 @@ static ADDRESS_MAP_START( pbobble_map, AS_PROGRAM, 16, taitob_state )
ADDRESS_MAP_END
/* identical to pbobble, above??? */
-static ADDRESS_MAP_START( spacedx_map, AS_PROGRAM, 16, taitob_state )
+ADDRESS_MAP_START(taitob_state::spacedx_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
TC0180VCU_MEMRW( 0x400000 )
AM_RANGE(0x500000, 0x50000f) AM_DEVREADWRITE("tc0640fio", tc0640fio_device, halfword_byteswap_r, halfword_byteswap_w)
@@ -574,7 +574,7 @@ static ADDRESS_MAP_START( spacedx_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x900000, 0x90ffff) AM_RAM /* Main RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spacedxo_map, AS_PROGRAM, 16, taitob_state )
+ADDRESS_MAP_START(taitob_state::spacedxo_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0xff00)
AM_RANGE(0x100002, 0x100003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0xff00)
@@ -589,7 +589,7 @@ static ADDRESS_MAP_START( spacedxo_map, AS_PROGRAM, 16, taitob_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( qzshowby_map, AS_PROGRAM, 16, taitob_state )
+ADDRESS_MAP_START(taitob_state::qzshowby_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE("tc0640fio", tc0640fio_device, halfword_byteswap_r, halfword_byteswap_w)
AM_RANGE(0x200024, 0x200025) AM_READ_PORT("P3_P4_A") /* player 3,4 start */
@@ -605,7 +605,7 @@ static ADDRESS_MAP_START( qzshowby_map, AS_PROGRAM, 16, taitob_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( viofight_map, AS_PROGRAM, 16, taitob_state )
+ADDRESS_MAP_START(taitob_state::viofight_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x200000, 0x200001) AM_READNOP AM_DEVWRITE8("ciu", pc060ha_device, master_port_w, 0xff00)
AM_RANGE(0x200002, 0x200003) AM_DEVREADWRITE8("ciu", pc060ha_device, master_comm_r, master_comm_w, 0xff00)
@@ -616,7 +616,7 @@ static ADDRESS_MAP_START( viofight_map, AS_PROGRAM, 16, taitob_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( masterw_map, AS_PROGRAM, 16, taitob_state )
+ADDRESS_MAP_START(taitob_state::masterw_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x200000, 0x203fff) AM_RAM /* Main RAM */
TC0180VCU_MEMRW( 0x400000 )
@@ -627,7 +627,7 @@ static ADDRESS_MAP_START( masterw_map, AS_PROGRAM, 16, taitob_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( silentd_map, AS_PROGRAM, 16, taitob_state )
+ADDRESS_MAP_START(taitob_state::silentd_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0xff00)
AM_RANGE(0x100002, 0x100003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0xff00)
@@ -645,7 +645,7 @@ static ADDRESS_MAP_START( silentd_map, AS_PROGRAM, 16, taitob_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( selfeena_map, AS_PROGRAM, 16, taitob_state )
+ADDRESS_MAP_START(taitob_state::selfeena_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM /* Main RAM */
TC0180VCU_MEMRW( 0x200000 )
@@ -657,7 +657,7 @@ static ADDRESS_MAP_START( selfeena_map, AS_PROGRAM, 16, taitob_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sbm_map, AS_PROGRAM, 16, taitob_state )
+ADDRESS_MAP_START(taitob_state::sbm_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM /* Main RAM */
AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -667,7 +667,7 @@ static ADDRESS_MAP_START( sbm_map, AS_PROGRAM, 16, taitob_state )
TC0180VCU_MEMRW( 0x900000 )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( realpunc_map, AS_PROGRAM, 16, taitob_state )
+ADDRESS_MAP_START(taitob_state::realpunc_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x110000, 0x12ffff) AM_RAM
@@ -685,11 +685,11 @@ static ADDRESS_MAP_START( realpunc_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x320002, 0x320003) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_comm_w, 0xff00)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( realpunc_hd63484_map, 0, 16, taitob_state )
+ADDRESS_MAP_START(taitob_state::realpunc_hd63484_map)
AM_RANGE(0x00000, 0x7ffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( masterw_sound_map, AS_PROGRAM, 8, taitob_state )
+ADDRESS_MAP_START(taitob_state::masterw_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0x8fff) AM_RAM
@@ -698,7 +698,7 @@ static ADDRESS_MAP_START( masterw_sound_map, AS_PROGRAM, 8, taitob_state )
AM_RANGE(0xa001, 0xa001) AM_DEVREADWRITE("ciu", pc060ha_device, slave_comm_r, slave_comm_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, taitob_state )
+ADDRESS_MAP_START(taitob_state::sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xdfff) AM_RAM
@@ -713,7 +713,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, taitob_state )
AM_RANGE(0xf200, 0xf200) AM_WRITE(bankswitch_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( viofight_sound_map, AS_PROGRAM, 8, taitob_state )
+ADDRESS_MAP_START(taitob_state::viofight_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0x8fff) AM_RAM
diff --git a/src/mame/drivers/taito_f2.cpp b/src/mame/drivers/taito_f2.cpp
index e5a3e6987d4..874b7519ef8 100644
--- a/src/mame/drivers/taito_f2.cpp
+++ b/src/mame/drivers/taito_f2.cpp
@@ -619,7 +619,7 @@ WRITE16_MEMBER(taitof2_state::driveout_sound_command_w)
MEMORY STRUCTURES
***********************************************************/
-static ADDRESS_MAP_START( finalb_map, AS_PROGRAM, 16, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::finalb_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x200007) AM_DEVREADWRITE("tc0110pcr", tc0110pcr_device, word_r, word_w) /* palette */
@@ -633,7 +633,7 @@ static ADDRESS_MAP_START( finalb_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0xb00002, 0xb00003) AM_WRITENOP /* ?? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dondokod_map, AS_PROGRAM, 16, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::dondokod_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -648,7 +648,7 @@ static ADDRESS_MAP_START( dondokod_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0xb00000, 0xb0001f) AM_DEVWRITE8("tc0360pri", tc0360pri_device, write, 0x00ff) /* ?? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( megab_map, AS_PROGRAM, 16, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::megab_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0xff00)
AM_RANGE(0x100002, 0x100003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0xff00)
@@ -664,7 +664,7 @@ static ADDRESS_MAP_START( megab_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( thundfox_map, AS_PROGRAM, 16, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::thundfox_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x101fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_device, read, write, 0x00ff)
@@ -679,7 +679,7 @@ static ADDRESS_MAP_START( thundfox_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x800000, 0x80001f) AM_DEVWRITE8("tc0360pri", tc0360pri_device, write, 0xff00)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cameltry_map, AS_PROGRAM, 16, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::cameltry_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -695,7 +695,7 @@ static ADDRESS_MAP_START( cameltry_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0xd00000, 0xd0001f) AM_DEVWRITE8("tc0360pri", tc0360pri_device, write, 0x00ff) /* ?? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cameltrya_map, AS_PROGRAM, 16, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::cameltrya_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -711,7 +711,7 @@ static ADDRESS_MAP_START( cameltrya_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0xd00000, 0xd0001f) AM_DEVWRITE8("tc0360pri", tc0360pri_device, write, 0x00ff) /* ?? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( qtorimon_map, AS_PROGRAM, 16, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::qtorimon_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x200007) AM_DEVREADWRITE("tc0110pcr", tc0110pcr_device, word_r, word_w) /* palette */
@@ -724,7 +724,7 @@ static ADDRESS_MAP_START( qtorimon_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x910000, 0x9120ff) AM_WRITENOP /* error in init code ? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( liquidk_map, AS_PROGRAM, 16, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::liquidk_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -737,7 +737,7 @@ static ADDRESS_MAP_START( liquidk_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0xb00000, 0xb0001f) AM_DEVWRITE8("tc0360pri", tc0360pri_device, write, 0x00ff) /* ?? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( quizhq_map, AS_PROGRAM, 16, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::quizhq_map)
AM_RANGE(0x000000, 0x0bffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x200007) AM_DEVREADWRITE("tc0110pcr", tc0110pcr_device, word_r, word_w) /* palette */
@@ -758,7 +758,7 @@ static ADDRESS_MAP_START( quizhq_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ssi_map, AS_PROGRAM, 16, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::ssi_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10000f) AM_DEVREADWRITE("tc0510nio", tc0510nio_device, halfword_r, halfword_w)
AM_RANGE(0x200000, 0x20ffff) AM_RAM
@@ -771,7 +771,7 @@ static ADDRESS_MAP_START( ssi_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_SHARE("spriteram") /* sprite ram */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gunfront_map, AS_PROGRAM, 16, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::gunfront_map)
AM_RANGE(0x000000, 0x0bffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -785,7 +785,7 @@ static ADDRESS_MAP_START( gunfront_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0xb00000, 0xb0001f) AM_DEVWRITE8("tc0360pri", tc0360pri_device, write, 0x00ff) /* ?? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( growl_map, AS_PROGRAM, 16, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::growl_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -808,7 +808,7 @@ static ADDRESS_MAP_START( growl_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0xb00000, 0xb0001f) AM_DEVWRITE8("tc0360pri", tc0360pri_device, write, 0x00ff) /* ?? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjnquest_map, AS_PROGRAM, 16, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::mjnquest_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x110000, 0x11ffff) AM_RAM /* "sram" */
AM_RANGE(0x120000, 0x12ffff) AM_RAM
@@ -826,7 +826,7 @@ static ADDRESS_MAP_START( mjnquest_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x500000, 0x50ffff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( footchmp_map, AS_PROGRAM, 16, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::footchmp_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_SHARE("spriteram")
@@ -841,7 +841,7 @@ static ADDRESS_MAP_START( footchmp_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0xa00002, 0xa00003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( koshien_map, AS_PROGRAM, 16, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::koshien_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -855,7 +855,7 @@ static ADDRESS_MAP_START( koshien_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0xb00000, 0xb0001f) AM_DEVWRITE8("tc0360pri", tc0360pri_device, write, 0xff00)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( yuyugogo_map, AS_PROGRAM, 16, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::yuyugogo_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE("tc0510nio", tc0510nio_device, halfword_r, halfword_w)
AM_RANGE(0x400000, 0x400001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0xff00)
@@ -869,7 +869,7 @@ static ADDRESS_MAP_START( yuyugogo_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0xd00000, 0xdfffff) AM_ROM AM_REGION("extra", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ninjak_map, AS_PROGRAM, 16, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::ninjak_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -884,7 +884,7 @@ static ADDRESS_MAP_START( ninjak_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0xb00000, 0xb0001f) AM_DEVWRITE8("tc0360pri", tc0360pri_device, write, 0x00ff) /* b00002 written like a watchdog?! */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( solfigtr_map, AS_PROGRAM, 16, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::solfigtr_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -905,7 +905,7 @@ static ADDRESS_MAP_START( solfigtr_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0xb00000, 0xb0001f) AM_DEVWRITE8("tc0360pri", tc0360pri_device, write, 0x00ff) /* ?? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( qzquest_map, AS_PROGRAM, 16, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::qzquest_map)
AM_RANGE(0x000000, 0x17ffff) AM_ROM
AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE("tc0510nio", tc0510nio_device, halfword_r, halfword_w)
AM_RANGE(0x300000, 0x300001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0x00ff)
@@ -917,7 +917,7 @@ static ADDRESS_MAP_START( qzquest_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x720000, 0x72000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pulirula_map, AS_PROGRAM, 16, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::pulirula_map)
AM_RANGE(0x000000, 0x0bffff) AM_ROM
AM_RANGE(0x200000, 0x200001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0xff00)
AM_RANGE(0x200002, 0x200003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0xff00)
@@ -934,7 +934,7 @@ static ADDRESS_MAP_START( pulirula_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0xb00000, 0xb0000f) AM_DEVREADWRITE("tc0510nio", tc0510nio_device, halfword_r, halfword_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( metalb_map, AS_PROGRAM, 16, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::metalb_map)
AM_RANGE(0x000000, 0x0bffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x300000, 0x30ffff) AM_RAM AM_SHARE("spriteram")
@@ -949,7 +949,7 @@ static ADDRESS_MAP_START( metalb_map, AS_PROGRAM, 16, taitof2_state )
// AM_RANGE(0xa00000, 0xa00001) AM_WRITENOP /* ??? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( qzchikyu_map, AS_PROGRAM, 16, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::qzchikyu_map)
AM_RANGE(0x000000, 0x17ffff) AM_ROM
AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE("tc0510nio", tc0510nio_device, halfword_r, halfword_w)
AM_RANGE(0x300000, 0x300001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0x00ff)
@@ -961,7 +961,7 @@ static ADDRESS_MAP_START( qzchikyu_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x720000, 0x72000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( yesnoj_map, AS_PROGRAM, 16, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::yesnoj_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM
AM_RANGE(0x400000, 0x40ffff) AM_RAM AM_SHARE("spriteram")
@@ -980,7 +980,7 @@ static ADDRESS_MAP_START( yesnoj_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0xd00000, 0xd00001) AM_WRITENOP /* lots of similar writes */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( deadconx_map, AS_PROGRAM, 16, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::deadconx_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_SHARE("spriteram")
@@ -996,7 +996,7 @@ static ADDRESS_MAP_START( deadconx_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0xa00002, 0xa00003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0xff00)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dinorex_map, AS_PROGRAM, 16, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::dinorex_map)
AM_RANGE(0x000000, 0x2fffff) AM_ROM
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE("tc0510nio", tc0510nio_device, halfword_r, halfword_w)
AM_RANGE(0x400000, 0x400fff) AM_WRITE(taitof2_sprite_extension_w) AM_SHARE("sprite_ext")
@@ -1011,7 +1011,7 @@ static ADDRESS_MAP_START( dinorex_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0xb00000, 0xb00001) AM_WRITENOP /* watchdog? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( qjinsei_map, AS_PROGRAM, 16, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::qjinsei_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x200000, 0x200001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0xff00)
AM_RANGE(0x200002, 0x200003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0xff00)
@@ -1026,7 +1026,7 @@ static ADDRESS_MAP_START( qjinsei_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0xb00000, 0xb0000f) AM_DEVREADWRITE("tc0510nio", tc0510nio_device, halfword_r, halfword_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( qcrayon_map, AS_PROGRAM, 16, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::qcrayon_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
// AM_RANGE(0x200000, 0x200001) AM_WRITENOP /* unknown */
@@ -1042,7 +1042,7 @@ static ADDRESS_MAP_START( qcrayon_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0xb00000, 0xb0001f) AM_DEVWRITE8("tc0360pri", tc0360pri_device, write, 0x00ff) /* ?? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( qcrayon2_map, AS_PROGRAM, 16, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::qcrayon2_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM
AM_RANGE(0x300000, 0x301fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -1057,7 +1057,7 @@ static ADDRESS_MAP_START( qcrayon2_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0xb00000, 0xb017ff) AM_WRITE(taitof2_sprite_extension_w) AM_SHARE("sprite_ext")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( driftout_map, AS_PROGRAM, 16, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::driftout_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x200000, 0x200001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0xff00)
AM_RANGE(0x200002, 0x200003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0xff00)
@@ -1075,7 +1075,7 @@ static ADDRESS_MAP_START( driftout_map, AS_PROGRAM, 16, taitof2_state )
ADDRESS_MAP_END
/* same as driftout, except for sound address 0x200000 */
-static ADDRESS_MAP_START( driveout_map, AS_PROGRAM, 16, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::driveout_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x200000, 0x200003) AM_READNOP AM_WRITE(driveout_sound_command_w)
AM_RANGE(0x300000, 0x30ffff) AM_RAM
@@ -1094,7 +1094,7 @@ ADDRESS_MAP_END
/***************************************************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank2")
AM_RANGE(0xc000, 0xdfff) AM_RAM
@@ -1111,7 +1111,7 @@ ADDRESS_MAP_END
/* Alt version of Cameltry, YM2203 + M6925 sound */
-static ADDRESS_MAP_START( cameltrya_sound_map, AS_PROGRAM, 8, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::cameltrya_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM // I can't see a bank control, but there ARE some bytes past 0x8000
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x9001) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
@@ -1122,7 +1122,7 @@ static ADDRESS_MAP_START( cameltrya_sound_map, AS_PROGRAM, 8, taitof2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( driveout_sound_map, AS_PROGRAM, 8, taitof2_state )
+ADDRESS_MAP_START(taitof2_state::driveout_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_WRITE(oki_bank_w)
diff --git a/src/mame/drivers/taito_f3.cpp b/src/mame/drivers/taito_f3.cpp
index 4144ca8787b..e00505aaa10 100644
--- a/src/mame/drivers/taito_f3.cpp
+++ b/src/mame/drivers/taito_f3.cpp
@@ -186,7 +186,7 @@ WRITE16_MEMBER(taito_f3_state::f3_unk_w)
/******************************************************************************/
-static ADDRESS_MAP_START( f3_map, AS_PROGRAM, 32, taito_f3_state )
+ADDRESS_MAP_START(taito_f3_state::f3_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x300000, 0x30007f) AM_WRITE(f3_sound_bankswitch_w)
AM_RANGE(0x400000, 0x41ffff) AM_MIRROR(0x20000) AM_RAM AM_SHARE("f3_ram")
@@ -206,7 +206,7 @@ static ADDRESS_MAP_START( f3_map, AS_PROGRAM, 32, taito_f3_state )
AM_RANGE(0xc80100, 0xc80103) AM_WRITE(f3_sound_reset_1_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bubsympb_map, AS_PROGRAM, 32, taito_f3_state )
+ADDRESS_MAP_START(taito_f3_state::bubsympb_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x300000, 0x30007f) AM_WRITE(f3_sound_bankswitch_w)
AM_RANGE(0x400000, 0x41ffff) AM_MIRROR(0x20000) AM_RAM AM_SHARE("f3_ram")
diff --git a/src/mame/drivers/taito_h.cpp b/src/mame/drivers/taito_h.cpp
index 5237d5bff96..0f87aeffc48 100644
--- a/src/mame/drivers/taito_h.cpp
+++ b/src/mame/drivers/taito_h.cpp
@@ -235,7 +235,7 @@ WRITE8_MEMBER(taitoh_state::coin_control_w)
***************************************************************************/
-static ADDRESS_MAP_START( syvalion_map, AS_PROGRAM, 16, taitoh_state )
+ADDRESS_MAP_START(taitoh_state::syvalion_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_MIRROR(0x010000) AM_RAM AM_SHARE("m68000_mainram")
AM_RANGE(0x200000, 0x200001) AM_READ8(syvalion_input_bypass_r, 0x00ff) AM_DEVWRITE8("tc0040ioc", tc0040ioc_device, portreg_w, 0x00ff)
@@ -246,7 +246,7 @@ static ADDRESS_MAP_START( syvalion_map, AS_PROGRAM, 16, taitoh_state )
AM_RANGE(0x500800, 0x500fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( recordbr_map, AS_PROGRAM, 16, taitoh_state )
+ADDRESS_MAP_START(taitoh_state::recordbr_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_MIRROR(0x010000) AM_RAM AM_SHARE("m68000_mainram")
AM_RANGE(0x200000, 0x200003) AM_DEVREADWRITE8("tc0040ioc", tc0040ioc_device, read, write, 0x00ff)
@@ -256,7 +256,7 @@ static ADDRESS_MAP_START( recordbr_map, AS_PROGRAM, 16, taitoh_state )
AM_RANGE(0x500800, 0x500fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tetristh_map, AS_PROGRAM, 16, taitoh_state )
+ADDRESS_MAP_START(taitoh_state::tetristh_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_MIRROR(0x010000) AM_RAM AM_SHARE("m68000_mainram")
AM_RANGE(0x200000, 0x200001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0x00ff)
@@ -266,7 +266,7 @@ static ADDRESS_MAP_START( tetristh_map, AS_PROGRAM, 16, taitoh_state )
AM_RANGE(0x500800, 0x500fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dleague_map, AS_PROGRAM, 16, taitoh_state )
+ADDRESS_MAP_START(taitoh_state::dleague_map)
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_MIRROR(0x010000) AM_RAM AM_SHARE("m68000_mainram")
AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_device, read, write, 0x00ff)
@@ -278,7 +278,7 @@ static ADDRESS_MAP_START( dleague_map, AS_PROGRAM, 16, taitoh_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, taitoh_state )
+ADDRESS_MAP_START(taitoh_state::sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("z80bank")
AM_RANGE(0xc000, 0xdfff) AM_RAM
diff --git a/src/mame/drivers/taito_l.cpp b/src/mame/drivers/taito_l.cpp
index 58858fd681f..76dab35aaef 100644
--- a/src/mame/drivers/taito_l.cpp
+++ b/src/mame/drivers/taito_l.cpp
@@ -467,7 +467,7 @@ WRITE8_MEMBER(champwr_state::msm5205_volume_w)
}
-static ADDRESS_MAP_START( common_banks_map, AS_PROGRAM, 8, taitol_state )
+ADDRESS_MAP_START(taitol_state::common_banks_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xcfff) AM_ROMBANK("bank2") AM_WRITE(bank0_w)
@@ -483,13 +483,13 @@ static ADDRESS_MAP_START( common_banks_map, AS_PROGRAM, 8, taitol_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fhawk_map, AS_PROGRAM, 8, fhawk_state )
+ADDRESS_MAP_START(fhawk_state::fhawk_map)
AM_IMPORT_FROM(common_banks_map)
AM_RANGE(0x8000, 0x9fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0xa000, 0xbfff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fhawk_2_map, AS_PROGRAM, 8, fhawk_state )
+ADDRESS_MAP_START(fhawk_state::fhawk_2_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank6")
AM_RANGE(0xc000, 0xc000) AM_WRITE(rombank2switch_w)
@@ -499,7 +499,7 @@ static ADDRESS_MAP_START( fhawk_2_map, AS_PROGRAM, 8, fhawk_state )
AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("share1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fhawk_3_map, AS_PROGRAM, 8, fhawk_state )
+ADDRESS_MAP_START(fhawk_state::fhawk_3_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank7")
AM_RANGE(0x8000, 0x9fff) AM_RAM
@@ -509,7 +509,7 @@ static ADDRESS_MAP_START( fhawk_3_map, AS_PROGRAM, 8, fhawk_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( raimais_map, AS_PROGRAM, 8, taitol_2cpu_state )
+ADDRESS_MAP_START(taitol_2cpu_state::raimais_map)
AM_IMPORT_FROM(common_banks_map)
AM_RANGE(0x8000, 0x87ff) AM_DEVREADWRITE("dpram", mb8421_device, right_r, right_w)
AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE("tc0040ioc", tc0040ioc_device, read, write)
@@ -518,7 +518,7 @@ static ADDRESS_MAP_START( raimais_map, AS_PROGRAM, 8, taitol_2cpu_state )
AM_RANGE(0xa000, 0xbfff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( raimais_2_map, AS_PROGRAM, 8, taitol_2cpu_state )
+ADDRESS_MAP_START(taitol_2cpu_state::raimais_2_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe7ff) AM_DEVREADWRITE("dpram", mb8421_device, left_r, left_w)
@@ -530,7 +530,7 @@ WRITE8_MEMBER(taitol_2cpu_state::sound_bankswitch_w)
m_audio_bnk->set_base(&m_audio_prg[(data & 0x03) * 0x4000]);
}
-static ADDRESS_MAP_START( raimais_3_map, AS_PROGRAM, 8, taitol_2cpu_state )
+ADDRESS_MAP_START(taitol_2cpu_state::raimais_3_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank7")
AM_RANGE(0xc000, 0xdfff) AM_RAM
@@ -545,13 +545,13 @@ static ADDRESS_MAP_START( raimais_3_map, AS_PROGRAM, 8, taitol_2cpu_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( champwr_map, AS_PROGRAM, 8, champwr_state )
+ADDRESS_MAP_START(champwr_state::champwr_map)
AM_IMPORT_FROM(common_banks_map)
AM_RANGE(0x8000, 0x9fff) AM_RAM
AM_RANGE(0xa000, 0xbfff) AM_RAM AM_SHARE("share1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( champwr_2_map, AS_PROGRAM, 8, champwr_state )
+ADDRESS_MAP_START(champwr_state::champwr_2_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank6")
AM_RANGE(0xc000, 0xdfff) AM_RAM AM_SHARE("share1")
@@ -562,7 +562,7 @@ static ADDRESS_MAP_START( champwr_2_map, AS_PROGRAM, 8, champwr_state )
AM_RANGE(0xf000, 0xf000) AM_READWRITE(rombank2switch_r, rombank2switch_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( champwr_3_map, AS_PROGRAM, 8, champwr_state )
+ADDRESS_MAP_START(champwr_state::champwr_3_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank7")
AM_RANGE(0x8000, 0x8fff) AM_RAM
@@ -577,14 +577,14 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( kurikint_map, AS_PROGRAM, 8, taitol_2cpu_state )
+ADDRESS_MAP_START(taitol_2cpu_state::kurikint_map)
AM_IMPORT_FROM(common_banks_map)
AM_RANGE(0x8000, 0x9fff) AM_RAM
AM_RANGE(0xa000, 0xa7ff) AM_DEVREADWRITE("dpram", mb8421_device, right_r, right_w)
AM_RANGE(0xa800, 0xa801) AM_DEVREADWRITE("tc0040ioc", tc0040ioc_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kurikint_2_map, AS_PROGRAM, 8, taitol_2cpu_state )
+ADDRESS_MAP_START(taitol_2cpu_state::kurikint_2_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe7ff) AM_DEVREADWRITE("dpram", mb8421_device, left_r, left_w)
@@ -593,7 +593,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( puzznic_map, AS_PROGRAM, 8, taitol_1cpu_state )
+ADDRESS_MAP_START(taitol_1cpu_state::puzznic_map)
AM_IMPORT_FROM(common_banks_map)
AM_RANGE(0x8000, 0x9fff) AM_RAM
AM_RANGE(0xa000, 0xa003) AM_READ(extport_select_and_ym2203_r) AM_DEVWRITE("ymsnd", ym2203_device, write)
@@ -604,7 +604,7 @@ static ADDRESS_MAP_START( puzznic_map, AS_PROGRAM, 8, taitol_1cpu_state )
ADDRESS_MAP_END
/* bootleg, doesn't have the MCU */
-static ADDRESS_MAP_START( puzznici_map, AS_PROGRAM, 8, taitol_1cpu_state )
+ADDRESS_MAP_START(taitol_1cpu_state::puzznici_map)
AM_IMPORT_FROM(common_banks_map)
AM_RANGE(0x8000, 0x9fff) AM_RAM
AM_RANGE(0xa000, 0xa003) AM_READ(extport_select_and_ym2203_r) AM_DEVWRITE("ymsnd", ym2203_device, write)
@@ -615,7 +615,7 @@ static ADDRESS_MAP_START( puzznici_map, AS_PROGRAM, 8, taitol_1cpu_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( plotting_map, AS_PROGRAM, 8, taitol_1cpu_state )
+ADDRESS_MAP_START(taitol_1cpu_state::plotting_map)
AM_IMPORT_FROM(common_banks_map)
AM_RANGE(0x8000, 0x9fff) AM_RAM
AM_RANGE(0xa000, 0xa003) AM_READ(extport_select_and_ym2203_r) AM_DEVWRITE("ymsnd", ym2203_device, write)
@@ -624,7 +624,7 @@ static ADDRESS_MAP_START( plotting_map, AS_PROGRAM, 8, taitol_1cpu_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( palamed_map, AS_PROGRAM, 8, taitol_1cpu_state )
+ADDRESS_MAP_START(taitol_1cpu_state::palamed_map)
AM_IMPORT_FROM(common_banks_map)
AM_RANGE(0x8000, 0x9fff) AM_RAM
AM_RANGE(0xa000, 0xa003) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
@@ -634,7 +634,7 @@ static ADDRESS_MAP_START( palamed_map, AS_PROGRAM, 8, taitol_1cpu_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cachat_map, AS_PROGRAM, 8, taitol_1cpu_state )
+ADDRESS_MAP_START(taitol_1cpu_state::cachat_map)
AM_IMPORT_FROM(common_banks_map)
AM_RANGE(0x8000, 0x9fff) AM_RAM
AM_RANGE(0xa000, 0xa003) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
@@ -645,11 +645,11 @@ static ADDRESS_MAP_START( cachat_map, AS_PROGRAM, 8, taitol_1cpu_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( horshoes_map, AS_PROGRAM, 8, horshoes_state )
+ADDRESS_MAP_START(horshoes_state::horshoes_map)
AM_IMPORT_FROM(common_banks_map)
AM_RANGE(0x8000, 0x9fff) AM_RAM
AM_RANGE(0xa000, 0xa003) AM_READ(extport_select_and_ym2203_r) AM_DEVWRITE("ymsnd", ym2203_device, write)
- AM_RANGE(0xa800, 0xa800) AM_SELECT(0x000c) AM_DEVREAD_MOD("upd4701", upd4701_device, read_xy, rshift<2>)
+ ;map(0xa800, 0xa800).select(0x000c).lr8("upd4701_r", [this](address_space &space, offs_t offset, u8 mem_mask) { return m_upd4701->read_xy(space, offset >> 2, mem_mask); });
AM_RANGE(0xa802, 0xa802) AM_DEVREAD("upd4701", upd4701_device, reset_x)
AM_RANGE(0xa803, 0xa803) AM_DEVREAD("upd4701", upd4701_device, reset_y)
AM_RANGE(0xb801, 0xb801) AM_READNOP // Watchdog or interrupt ack
@@ -657,14 +657,14 @@ static ADDRESS_MAP_START( horshoes_map, AS_PROGRAM, 8, horshoes_state )
AM_RANGE(0xbc00, 0xbc00) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( evilston_map, AS_PROGRAM, 8, taitol_2cpu_state )
+ADDRESS_MAP_START(taitol_2cpu_state::evilston_map)
AM_IMPORT_FROM(common_banks_map)
AM_RANGE(0x8000, 0x9fff) AM_RAM
AM_RANGE(0xa000, 0xa7ff) AM_DEVREADWRITE("dpram", mb8421_device, right_r, right_w)
AM_RANGE(0xa800, 0xa807) AM_DEVREADWRITE("tc0510nio", tc0510nio_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( evilston_2_map, AS_PROGRAM, 8, taitol_2cpu_state )
+ADDRESS_MAP_START(taitol_2cpu_state::evilston_2_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe7ff) AM_DEVREADWRITE("dpram", mb8421_device, left_r, left_w)
diff --git a/src/mame/drivers/taito_o.cpp b/src/mame/drivers/taito_o.cpp
index 9609776dc14..ec9ee0c7aa2 100644
--- a/src/mame/drivers/taito_o.cpp
+++ b/src/mame/drivers/taito_o.cpp
@@ -65,7 +65,7 @@ READ16_MEMBER(taitoo_state::io_r)
return retval;
}
-static ADDRESS_MAP_START( parentj_map, AS_PROGRAM, 16, taitoo_state )
+ADDRESS_MAP_START(taitoo_state::parentj_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_MIRROR(0x010000) AM_RAM
AM_RANGE(0x200000, 0x20000f) AM_READWRITE(io_r, io_w) /* TC0220IOC ? */
diff --git a/src/mame/drivers/taito_x.cpp b/src/mame/drivers/taito_x.cpp
index 716a03c86e5..08f667e1a75 100644
--- a/src/mame/drivers/taito_x.cpp
+++ b/src/mame/drivers/taito_x.cpp
@@ -534,7 +534,7 @@ WRITE8_MEMBER(taitox_state::sound_bankswitch_w)
/**************************************************************************/
-static ADDRESS_MAP_START( superman_map, AS_PROGRAM, 16, taitox_state )
+ADDRESS_MAP_START(taitox_state::superman_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x300000, 0x300001) AM_WRITENOP /* written each frame at $3a9c, mostly 0x10 */
AM_RANGE(0x400000, 0x400001) AM_WRITENOP /* written each frame at $3aa2, mostly 0x10 */
@@ -552,7 +552,7 @@ static ADDRESS_MAP_START( superman_map, AS_PROGRAM, 16, taitox_state )
AM_RANGE(0xf00000, 0xf03fff) AM_RAM /* Main RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( daisenpu_map, AS_PROGRAM, 16, taitox_state )
+ADDRESS_MAP_START(taitox_state::daisenpu_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
// AM_RANGE(0x400000, 0x400001) AM_WRITENOP /* written each frame at $2ac, values change */
AM_RANGE(0x500000, 0x50000f) AM_READ(superman_dsw_input_r)
@@ -567,7 +567,7 @@ static ADDRESS_MAP_START( daisenpu_map, AS_PROGRAM, 16, taitox_state )
AM_RANGE(0xf00000, 0xf03fff) AM_RAM /* Main RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gigandes_map, AS_PROGRAM, 16, taitox_state )
+ADDRESS_MAP_START(taitox_state::gigandes_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x400000, 0x400001) AM_WRITENOP /* 0x1 written each frame at $d42, watchdog? */
AM_RANGE(0x500000, 0x500007) AM_READ(superman_dsw_input_r)
@@ -582,7 +582,7 @@ static ADDRESS_MAP_START( gigandes_map, AS_PROGRAM, 16, taitox_state )
AM_RANGE(0xf00000, 0xf03fff) AM_RAM /* Main RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ballbros_map, AS_PROGRAM, 16, taitox_state )
+ADDRESS_MAP_START(taitox_state::ballbros_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x400000, 0x400001) AM_WRITENOP /* 0x1 written each frame at $c56, watchdog? */
AM_RANGE(0x500000, 0x50000f) AM_READ(superman_dsw_input_r)
@@ -600,7 +600,7 @@ ADDRESS_MAP_END
/**************************************************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, taitox_state )
+ADDRESS_MAP_START(taitox_state::sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("z80bank")
AM_RANGE(0xc000, 0xdfff) AM_RAM
@@ -614,7 +614,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, taitox_state )
AM_RANGE(0xf200, 0xf200) AM_WRITE(sound_bankswitch_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( daisenpu_sound_map, AS_PROGRAM, 8, taitox_state )
+ADDRESS_MAP_START(taitox_state::daisenpu_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("z80bank")
AM_RANGE(0xc000, 0xdfff) AM_RAM
diff --git a/src/mame/drivers/taito_z.cpp b/src/mame/drivers/taito_z.cpp
index b891eb3296e..99bf567b3f0 100644
--- a/src/mame/drivers/taito_z.cpp
+++ b/src/mame/drivers/taito_z.cpp
@@ -1458,7 +1458,7 @@ WRITE8_MEMBER(taitoz_state::taitoz_pancontrol)
***********************************************************/
-static ADDRESS_MAP_START( contcirc_map, AS_PROGRAM, 16, taitoz_state )
+ADDRESS_MAP_START(taitoz_state::contcirc_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x083fff) AM_RAM
AM_RANGE(0x084000, 0x087fff) AM_RAM AM_SHARE("share1")
@@ -1470,7 +1470,7 @@ static ADDRESS_MAP_START( contcirc_map, AS_PROGRAM, 16, taitoz_state )
AM_RANGE(0x400000, 0x4006ff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( contcirc_cpub_map, AS_PROGRAM, 16, taitoz_state )
+ADDRESS_MAP_START(taitoz_state::contcirc_cpub_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x083fff) AM_RAM
AM_RANGE(0x084000, 0x087fff) AM_RAM AM_SHARE("share1")
@@ -1480,7 +1480,7 @@ static ADDRESS_MAP_START( contcirc_cpub_map, AS_PROGRAM, 16, taitoz_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( chasehq_map, AS_PROGRAM, 16, taitoz_state )
+ADDRESS_MAP_START(taitoz_state::chasehq_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x107fff) AM_RAM
AM_RANGE(0x108000, 0x10bfff) AM_RAM AM_SHARE("share1")
@@ -1496,7 +1496,7 @@ static ADDRESS_MAP_START( chasehq_map, AS_PROGRAM, 16, taitoz_state )
AM_RANGE(0xe00000, 0xe003ff) AM_READWRITE(chasehq_motor_r, chasehq_motor_w) /* motor cpu */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( chq_cpub_map, AS_PROGRAM, 16, taitoz_state )
+ADDRESS_MAP_START(taitoz_state::chq_cpub_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM
AM_RANGE(0x108000, 0x10bfff) AM_RAM AM_SHARE("share1")
@@ -1504,7 +1504,7 @@ static ADDRESS_MAP_START( chq_cpub_map, AS_PROGRAM, 16, taitoz_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( enforce_map, AS_PROGRAM, 16, taitoz_state )
+ADDRESS_MAP_START(taitoz_state::enforce_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM
AM_RANGE(0x104000, 0x107fff) AM_RAM AM_SHARE("share1")
@@ -1516,7 +1516,7 @@ static ADDRESS_MAP_START( enforce_map, AS_PROGRAM, 16, taitoz_state )
AM_RANGE(0x620000, 0x62000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( enforce_cpub_map, AS_PROGRAM, 16, taitoz_state )
+ADDRESS_MAP_START(taitoz_state::enforce_cpub_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM
AM_RANGE(0x104000, 0x107fff) AM_RAM AM_SHARE("share1")
@@ -1525,7 +1525,7 @@ static ADDRESS_MAP_START( enforce_cpub_map, AS_PROGRAM, 16, taitoz_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bshark_map, AS_PROGRAM, 16, taitoz_state )
+ADDRESS_MAP_START(taitoz_state::bshark_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x110000, 0x113fff) AM_RAM AM_SHARE("share1")
@@ -1538,7 +1538,7 @@ static ADDRESS_MAP_START( bshark_map, AS_PROGRAM, 16, taitoz_state )
AM_RANGE(0xd20000, 0xd2000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bsharkjjs_map, AS_PROGRAM, 16, taitoz_state )
+ADDRESS_MAP_START(taitoz_state::bsharkjjs_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x110000, 0x113fff) AM_RAM AM_SHARE("share1")
@@ -1551,7 +1551,7 @@ static ADDRESS_MAP_START( bsharkjjs_map, AS_PROGRAM, 16, taitoz_state )
AM_RANGE(0xd20000, 0xd2000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bshark_cpub_map, AS_PROGRAM, 16, taitoz_state )
+ADDRESS_MAP_START(taitoz_state::bshark_cpub_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x108000, 0x10bfff) AM_RAM
AM_RANGE(0x110000, 0x113fff) AM_RAM AM_SHARE("share1")
@@ -1564,7 +1564,7 @@ static ADDRESS_MAP_START( bshark_cpub_map, AS_PROGRAM, 16, taitoz_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sci_map, AS_PROGRAM, 16, taitoz_state )
+ADDRESS_MAP_START(taitoz_state::sci_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x107fff) AM_RAM
AM_RANGE(0x108000, 0x10bfff) AM_RAM AM_SHARE("share1")
@@ -1580,7 +1580,7 @@ static ADDRESS_MAP_START( sci_map, AS_PROGRAM, 16, taitoz_state )
AM_RANGE(0xc08000, 0xc08001) AM_READWRITE(sci_spriteframe_r, sci_spriteframe_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sci_cpub_map, AS_PROGRAM, 16, taitoz_state )
+ADDRESS_MAP_START(taitoz_state::sci_cpub_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x200000, 0x203fff) AM_RAM
AM_RANGE(0x208000, 0x20bfff) AM_RAM AM_SHARE("share1")
@@ -1588,7 +1588,7 @@ static ADDRESS_MAP_START( sci_cpub_map, AS_PROGRAM, 16, taitoz_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nightstr_map, AS_PROGRAM, 16, taitoz_state )
+ADDRESS_MAP_START(taitoz_state::nightstr_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x110000, 0x113fff) AM_RAM AM_SHARE("share1")
@@ -1603,7 +1603,7 @@ static ADDRESS_MAP_START( nightstr_map, AS_PROGRAM, 16, taitoz_state )
AM_RANGE(0xe40000, 0xe40007) AM_READWRITE(nightstr_stick_r, bshark_stick_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nightstr_cpub_map, AS_PROGRAM, 16, taitoz_state )
+ADDRESS_MAP_START(taitoz_state::nightstr_cpub_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM
AM_RANGE(0x104000, 0x107fff) AM_RAM AM_SHARE("share1")
@@ -1611,7 +1611,7 @@ static ADDRESS_MAP_START( nightstr_cpub_map, AS_PROGRAM, 16, taitoz_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( aquajack_map, AS_PROGRAM, 16, taitoz_state )
+ADDRESS_MAP_START(taitoz_state::aquajack_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM
AM_RANGE(0x104000, 0x107fff) AM_RAM AM_SHARE("share1")
@@ -1623,7 +1623,7 @@ static ADDRESS_MAP_START( aquajack_map, AS_PROGRAM, 16, taitoz_state )
AM_RANGE(0xc40000, 0xc403ff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( aquajack_cpub_map, AS_PROGRAM, 16, taitoz_state )
+ADDRESS_MAP_START(taitoz_state::aquajack_cpub_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM
AM_RANGE(0x104000, 0x107fff) AM_RAM AM_SHARE("share1")
@@ -1635,7 +1635,7 @@ static ADDRESS_MAP_START( aquajack_cpub_map, AS_PROGRAM, 16, taitoz_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spacegun_map, AS_PROGRAM, 16, taitoz_state )
+ADDRESS_MAP_START(taitoz_state::spacegun_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x30c000, 0x30ffff) AM_RAM
AM_RANGE(0x310000, 0x31ffff) AM_RAM AM_SHARE("share1")
@@ -1645,7 +1645,7 @@ static ADDRESS_MAP_START( spacegun_map, AS_PROGRAM, 16, taitoz_state )
AM_RANGE(0xb00000, 0xb00007) AM_DEVREADWRITE("tc0110pcr", tc0110pcr_device, word_r, step1_rbswap_word_w) /* palette */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spacegun_cpub_map, AS_PROGRAM, 16, taitoz_state )
+ADDRESS_MAP_START(taitoz_state::spacegun_cpub_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x20c000, 0x20ffff) AM_RAM
AM_RANGE(0x210000, 0x21ffff) AM_RAM AM_SHARE("share1")
@@ -1659,7 +1659,7 @@ static ADDRESS_MAP_START( spacegun_cpub_map, AS_PROGRAM, 16, taitoz_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dblaxle_map, AS_PROGRAM, 16, taitoz_state )
+ADDRESS_MAP_START(taitoz_state::dblaxle_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x200000, 0x203fff) AM_RAM
AM_RANGE(0x210000, 0x21ffff) AM_RAM AM_SHARE("share1")
@@ -1675,7 +1675,7 @@ static ADDRESS_MAP_START( dblaxle_map, AS_PROGRAM, 16, taitoz_state )
AM_RANGE(0xc08000, 0xc08001) AM_READWRITE(sci_spriteframe_r, sci_spriteframe_w) /* set in int6, seems to stay zero */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dblaxle_cpub_map, AS_PROGRAM, 16, taitoz_state )
+ADDRESS_MAP_START(taitoz_state::dblaxle_cpub_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM
AM_RANGE(0x110000, 0x11ffff) AM_RAM AM_SHARE("share1")
@@ -1684,7 +1684,7 @@ static ADDRESS_MAP_START( dblaxle_cpub_map, AS_PROGRAM, 16, taitoz_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( racingb_map, AS_PROGRAM, 16, taitoz_state )
+ADDRESS_MAP_START(taitoz_state::racingb_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM
AM_RANGE(0x110000, 0x11ffff) AM_RAM AM_SHARE("share1")
@@ -1699,7 +1699,7 @@ static ADDRESS_MAP_START( racingb_map, AS_PROGRAM, 16, taitoz_state )
AM_RANGE(0xb08000, 0xb08001) AM_READWRITE(sci_spriteframe_r, sci_spriteframe_w) /* alternates 0/0x100 */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( racingb_cpub_map, AS_PROGRAM, 16, taitoz_state )
+ADDRESS_MAP_START(taitoz_state::racingb_cpub_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x400000, 0x403fff) AM_RAM
AM_RANGE(0x410000, 0x41ffff) AM_RAM AM_SHARE("share1")
@@ -1710,7 +1710,7 @@ ADDRESS_MAP_END
/***************************************************************************/
-static ADDRESS_MAP_START( z80_sound_map, AS_PROGRAM, 8, taitoz_state )
+ADDRESS_MAP_START(taitoz_state::z80_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("z80bank")
AM_RANGE(0xc000, 0xdfff) AM_RAM
diff --git a/src/mame/drivers/taitoair.cpp b/src/mame/drivers/taitoair.cpp
index 17c583ee3d3..d8f9693edbb 100644
--- a/src/mame/drivers/taitoair.cpp
+++ b/src/mame/drivers/taitoair.cpp
@@ -379,7 +379,7 @@ WRITE8_MEMBER(taitoair_state::coin_control_w)
MEMORY STRUCTURES
***********************************************************/
-static ADDRESS_MAP_START( airsys_map, AS_PROGRAM, 16, taitoair_state )
+ADDRESS_MAP_START(taitoair_state::airsys_map)
AM_RANGE(0x000000, 0x0bffff) AM_ROM
AM_RANGE(0x0c0000, 0x0cffff) AM_RAM AM_SHARE("m68000_mainram")
AM_RANGE(0x140000, 0x140001) AM_WRITE(system_control_w) /* Pause the TMS32025 */
@@ -400,7 +400,7 @@ ADDRESS_MAP_END
/************************** Z80 ****************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, taitoair_state )
+ADDRESS_MAP_START(taitoair_state::sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("z80bank")
AM_RANGE(0xc000, 0xdfff) AM_RAM
@@ -512,11 +512,11 @@ READ16_MEMBER(taitoair_state::dsp_muldiv_2_r)
}
-static ADDRESS_MAP_START( DSP_map_program, AS_PROGRAM, 16, taitoair_state )
+ADDRESS_MAP_START(taitoair_state::DSP_map_program)
AM_RANGE(0x0000, 0x1fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( DSP_map_data, AS_DATA, 16, taitoair_state )
+ADDRESS_MAP_START(taitoair_state::DSP_map_data)
AM_RANGE(0x2003, 0x2003) AM_READNOP //bit 0 DMA status flag or vblank
AM_RANGE(0x3000, 0x3002) AM_WRITE(dsp_flags_w)
AM_RANGE(0x3404, 0x3404) AM_WRITE(dsp_muldiv_a_1_w)
diff --git a/src/mame/drivers/taitogn.cpp b/src/mame/drivers/taitogn.cpp
index 7d590e52cd9..8a143d5eadf 100644
--- a/src/mame/drivers/taitogn.cpp
+++ b/src/mame/drivers/taitogn.cpp
@@ -402,6 +402,9 @@ public:
void coh3002t_cf(machine_config &config);
void coh3002t_t2(machine_config &config);
void coh3002t_t1(machine_config &config);
+ void flashbank_map(address_map &map);
+ void taitogn_map(address_map &map);
+ void taitogn_mp_map(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -632,7 +635,7 @@ DRIVER_INIT_MEMBER(taitogn_state,coh3002t_nz)
m_has_zoom = false;
}
-static ADDRESS_MAP_START( taitogn_map, AS_PROGRAM, 32, taitogn_state )
+ADDRESS_MAP_START(taitogn_state::taitogn_map)
AM_RANGE(0x1f000000, 0x1f7fffff) AM_DEVICE16("flashbank", address_map_bank_device, amap16, 0xffffffff)
AM_RANGE(0x1fa00000, 0x1fa00003) AM_READ_PORT("P1")
AM_RANGE(0x1fa00100, 0x1fa00103) AM_READ_PORT("P2")
@@ -658,7 +661,7 @@ static ADDRESS_MAP_START( taitogn_map, AS_PROGRAM, 32, taitogn_state )
AM_RANGE(0x1fbe0000, 0x1fbe01ff) AM_DEVREADWRITE8("taito_zoom", taito_zoom_device, shared_ram_r, shared_ram_w, 0x00ff00ff) // M66220FP for comms with the MN10200
ADDRESS_MAP_END
-static ADDRESS_MAP_START( flashbank_map, AS_PROGRAM, 16, taitogn_state )
+ADDRESS_MAP_START(taitogn_state::flashbank_map)
// Bank 0 has access to the sub-bios, the mn102 flash and the rf5c296 mem zone
AM_RANGE(0x00000000, 0x001fffff) AM_DEVREADWRITE("biosflash", intelfsh16_device, read, write)
AM_RANGE(0x00200000, 0x002fffff) AM_DEVREADWRITE("rf5c296", rf5c296_device, mem_r, mem_w )
@@ -675,16 +678,11 @@ static ADDRESS_MAP_START( flashbank_map, AS_PROGRAM, 16, taitogn_state )
AM_RANGE(0x10200000, 0x103fffff) AM_DEVREADWRITE("biosflash", intelfsh16_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( taitogn_mp_map, AS_PROGRAM, 32, taitogn_state )
+ADDRESS_MAP_START(taitogn_state::taitogn_mp_map)
AM_IMPORT_FROM(taitogn_map)
AM_RANGE(0x1fa10100, 0x1fa10103) AM_READ8(gnet_mahjong_panel_r, 0x000000ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( taitogn_mn_map, AS_PROGRAM, 16, taitogn_state )
- AM_IMPORT_FROM( taitozoom_mn_map )
- AM_RANGE(0x080000, 0x0fffff) AM_DEVREAD(":pgmflash", intelfsh16_device, read)
-ADDRESS_MAP_END
-
SLOT_INTERFACE_START(slot_ataflash)
SLOT_INTERFACE("taitopccard1", TAITO_PCCARD1)
SLOT_INTERFACE("taitopccard2", TAITO_PCCARD2)
@@ -753,8 +751,7 @@ MACHINE_CONFIG_START(taitogn_state::coh3002t)
MCFG_SOUND_ROUTE(1, "rspeaker", 0.45)
MCFG_TAITO_ZOOM_ADD("taito_zoom")
- MCFG_CPU_MODIFY("taito_zoom:mn10200")
- MCFG_CPU_PROGRAM_MAP(taitogn_mn_map)
+ MCFG_TAITO_ZOOM_USE_FLASH
MCFG_DEVICE_MODIFY("taito_zoom:zsg2")
MCFG_ZSG2_EXT_READ_HANDLER(DEVREAD32(DEVICE_SELF_OWNER, taitogn_state, zsg2_ext_r))
diff --git a/src/mame/drivers/taitojc.cpp b/src/mame/drivers/taitojc.cpp
index 62e995d432f..4161d3d46f7 100644
--- a/src/mame/drivers/taitojc.cpp
+++ b/src/mame/drivers/taitojc.cpp
@@ -618,7 +618,7 @@ WRITE8_MEMBER(taitojc_state::jc_lan_w)
}
-static ADDRESS_MAP_START( taitojc_map, AS_PROGRAM, 32, taitojc_state )
+ADDRESS_MAP_START(taitojc_state::taitojc_map)
AM_RANGE(0x00000000, 0x001fffff) AM_ROM AM_MIRROR(0x200000)
AM_RANGE(0x00400000, 0x01bfffff) AM_ROM AM_REGION("gfx1", 0)
AM_RANGE(0x04000000, 0x040f7fff) AM_RAM AM_SHARE("vram")
@@ -668,7 +668,7 @@ WRITE8_MEMBER(taitojc_state::dendego_brakemeter_w)
}
}
-static ADDRESS_MAP_START( dendego_map, AS_PROGRAM, 32, taitojc_state )
+ADDRESS_MAP_START(taitojc_state::dendego_map)
AM_IMPORT_FROM( taitojc_map )
AM_RANGE(0x06e00000, 0x06e00003) AM_WRITE8(dendego_speedmeter_w, 0x00ff0000)
AM_RANGE(0x06e00004, 0x06e00007) AM_WRITE8(dendego_brakemeter_w, 0x00ff0000)
@@ -743,12 +743,12 @@ READ8_MEMBER(taitojc_state::hc11_analog_r)
}
-static ADDRESS_MAP_START( hc11_pgm_map, AS_PROGRAM, 8, taitojc_state )
+ADDRESS_MAP_START(taitojc_state::hc11_pgm_map)
AM_RANGE(0x4000, 0x5fff) AM_RAM
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hc11_io_map, AS_IO, 8, taitojc_state )
+ADDRESS_MAP_START(taitojc_state::hc11_io_map)
AM_RANGE(MC68HC11_IO_PORTA, MC68HC11_IO_PORTA ) AM_READNOP // ?
AM_RANGE(MC68HC11_IO_PORTG, MC68HC11_IO_PORTG ) AM_READWRITE(hc11_comm_r, hc11_comm_w)
AM_RANGE(MC68HC11_IO_PORTH, MC68HC11_IO_PORTH ) AM_READWRITE(hc11_output_r, hc11_output_w)
@@ -845,12 +845,12 @@ WRITE16_MEMBER(taitojc_state::dsp_rom_w)
}
}
-static ADDRESS_MAP_START( tms_program_map, AS_PROGRAM, 16, taitojc_state )
+ADDRESS_MAP_START(taitojc_state::tms_program_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_MIRROR(0x4000)
AM_RANGE(0x6000, 0x7fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tms_data_map, AS_DATA, 16, taitojc_state )
+ADDRESS_MAP_START(taitojc_state::tms_data_map)
AM_RANGE(0x6a01, 0x6a02) AM_DEVWRITE("tc0780fpa", tc0780fpa_device, render_w)
AM_RANGE(0x6a11, 0x6a12) AM_NOP // same as 0x6a01..02 for the second renderer chip?
AM_RANGE(0x6b20, 0x6b20) AM_DEVWRITE("tc0780fpa", tc0780fpa_device, poly_fifo_w)
diff --git a/src/mame/drivers/taitopjc.cpp b/src/mame/drivers/taitopjc.cpp
index 01a27a5c04f..b3607153b87 100644
--- a/src/mame/drivers/taitopjc.cpp
+++ b/src/mame/drivers/taitopjc.cpp
@@ -161,6 +161,12 @@ public:
uint32_t m_dsp_rom_address;
void taitopjc(machine_config &config);
+ void mn10200_map(address_map &map);
+ void ppc603e_mem(address_map &map);
+ void tlcs900h_mem(address_map &map);
+ void tms_data_map(address_map &map);
+ void tms_io_map(address_map &map);
+ void tms_program_map(address_map &map);
};
void taitopjc_state::video_exit()
@@ -520,7 +526,7 @@ WRITE64_MEMBER(taitopjc_state::dsp_w)
// DBAT2 U: 0xc0000003 L: 0xc0000022 (0xc0000000...0xc001ffff)
// DBAT3 U: 0xfe0003ff L: 0xfe000022 (0xfe000000...0xffffffff)
-static ADDRESS_MAP_START( ppc603e_mem, AS_PROGRAM, 64, taitopjc_state )
+ADDRESS_MAP_START(taitopjc_state::ppc603e_mem)
AM_RANGE(0x00000000, 0x003fffff) AM_RAM // Work RAM
AM_RANGE(0x40000000, 0x4000000f) AM_READWRITE(video_r, video_w)
AM_RANGE(0x80000000, 0x80003fff) AM_READWRITE(dsp_r, dsp_w)
@@ -619,7 +625,7 @@ WRITE16_MEMBER(taitopjc_state::tlcs_unk_w)
// 0xfc0fb5: INTRX1
// 0xfc0f41: INTTX1
-static ADDRESS_MAP_START( tlcs900h_mem, AS_PROGRAM, 16, taitopjc_state )
+ADDRESS_MAP_START(taitopjc_state::tlcs900h_mem)
AM_RANGE(0x010000, 0x02ffff) AM_RAM // Work RAM
AM_RANGE(0x040000, 0x0400ff) AM_READWRITE8(tlcs_sound_r, tlcs_sound_w, 0xffff)
AM_RANGE(0x044000, 0x045fff) AM_RAM AM_SHARE("nvram")
@@ -628,7 +634,7 @@ static ADDRESS_MAP_START( tlcs900h_mem, AS_PROGRAM, 16, taitopjc_state )
AM_RANGE(0xfc0000, 0xffffff) AM_ROM AM_REGION("io_cpu", 0)
ADDRESS_MAP_END
-ADDRESS_MAP_START( mn10200_map, AS_PROGRAM, 16, taitopjc_state )
+ADDRESS_MAP_START(taitopjc_state::mn10200_map)
AM_RANGE(0x080000, 0x0fffff) AM_ROM AM_REGION("mn10200", 0)
ADDRESS_MAP_END
@@ -670,18 +676,18 @@ WRITE16_MEMBER(taitopjc_state::dsp_romh_w)
}
-static ADDRESS_MAP_START( tms_program_map, AS_PROGRAM, 16, taitopjc_state )
+ADDRESS_MAP_START(taitopjc_state::tms_program_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM AM_REGION("user2", 0)
AM_RANGE(0x4c00, 0xefff) AM_ROM AM_REGION("user2", 0x9800)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tms_data_map, AS_DATA, 16, taitopjc_state )
+ADDRESS_MAP_START(taitopjc_state::tms_data_map)
AM_RANGE(0x4000, 0x6fff) AM_ROM AM_REGION("user2", 0x8000)
AM_RANGE(0x7000, 0xefff) AM_RAM
AM_RANGE(0xf000, 0xffff) AM_READWRITE(tms_dspshare_r, tms_dspshare_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tms_io_map, AS_IO, 16, taitopjc_state )
+ADDRESS_MAP_START(taitopjc_state::tms_io_map)
AM_RANGE(0x0053, 0x0053) AM_WRITE(dsp_roml_w)
AM_RANGE(0x0057, 0x0057) AM_WRITE(dsp_romh_w)
AM_RANGE(0x0058, 0x0058) AM_DEVWRITE("tc0780fpa", tc0780fpa_device, poly_fifo_w)
diff --git a/src/mame/drivers/taitosj.cpp b/src/mame/drivers/taitosj.cpp
index 50ebb4edd35..4b4e1a01f1a 100644
--- a/src/mame/drivers/taitosj.cpp
+++ b/src/mame/drivers/taitosj.cpp
@@ -202,7 +202,7 @@ CUSTOM_INPUT_MEMBER(taitosj_state::input_port_4_f0_r)
}
-static ADDRESS_MAP_START( taitosj_main_nomcu_map, AS_PROGRAM, 8, taitosj_state )
+ADDRESS_MAP_START(taitosj_state::taitosj_main_nomcu_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0x87ff) AM_RAM
@@ -243,7 +243,7 @@ ADDRESS_MAP_END
/* only difference is taitosj_fake_ replaced with taitosj_mcu_ */
-static ADDRESS_MAP_START( taitosj_main_mcu_map, AS_PROGRAM, 8, taitosj_state )
+ADDRESS_MAP_START(taitosj_state::taitosj_main_mcu_map)
AM_IMPORT_FROM( taitosj_main_nomcu_map )
AM_RANGE(0x8800, 0x8801) AM_MIRROR(0x07fe) AM_DEVREADWRITE("bmcu", taito_sj_security_mcu_device, data_r, data_w)
ADDRESS_MAP_END
@@ -272,7 +272,7 @@ CUSTOM_INPUT_MEMBER(taitosj_state::kikstart_gear_r)
}
// TODO: merge with above
-static ADDRESS_MAP_START( kikstart_main_map, AS_PROGRAM, 8, taitosj_state )
+ADDRESS_MAP_START(taitosj_state::kikstart_main_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0x87ff) AM_RAM
@@ -368,7 +368,7 @@ WRITE8_MEMBER(taitosj_state::sound_semaphore2_clear_w)
}
-static ADDRESS_MAP_START( taitosj_audio_map, AS_PROGRAM, 8, taitosj_state )
+ADDRESS_MAP_START(taitosj_state::taitosj_audio_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM
AM_RANGE(0x4800, 0x4801) AM_MIRROR(0x07f8) AM_DEVWRITE("ay2", ay8910_device, address_data_w)
diff --git a/src/mame/drivers/taitotx.cpp b/src/mame/drivers/taitotx.cpp
index 129bd64b5db..86d08588f2b 100644
--- a/src/mame/drivers/taitotx.cpp
+++ b/src/mame/drivers/taitotx.cpp
@@ -135,6 +135,7 @@ public:
virtual void video_start() override;
uint32_t screen_update_taito_type_x(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void taito_type_x(machine_config &config);
+ void taito_type_x_map(address_map &map);
};
@@ -150,7 +151,7 @@ uint32_t taito_type_x_state::screen_update_taito_type_x(screen_device &screen, b
return 0;
}
-static ADDRESS_MAP_START( taito_type_x_map, AS_PROGRAM, 32, taito_type_x_state )
+ADDRESS_MAP_START(taito_type_x_state::taito_type_x_map)
AM_RANGE(0x00, 0x0f) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/taitotz.cpp b/src/mame/drivers/taitotz.cpp
index 6c3f8a4a8b7..5494840fe17 100644
--- a/src/mame/drivers/taitotz.cpp
+++ b/src/mame/drivers/taitotz.cpp
@@ -619,6 +619,9 @@ public:
void init_taitotz_111a();
void taitotz(machine_config &config);
void landhigh(machine_config &config);
+ void landhigh_tlcs900h_mem(address_map &map);
+ void ppc603e_mem(address_map &map);
+ void tlcs900h_mem(address_map &map);
};
class taitotz_renderer : public poly_manager<float, taitotz_polydata, 6, 50000>
@@ -2059,7 +2062,7 @@ WRITE64_MEMBER(taitotz_state::ppc_common_w)
// 0x40000000...0x400fffff: BIOS Work RAM
// 0x40100000...0x40ffffff: User Work RAM
-static ADDRESS_MAP_START( ppc603e_mem, AS_PROGRAM, 64, taitotz_state)
+ADDRESS_MAP_START(taitotz_state::ppc603e_mem)
AM_RANGE(0x00000000, 0x0000001f) AM_READWRITE(video_chip_r, video_chip_w)
AM_RANGE(0x10000000, 0x1000001f) AM_READWRITE(video_fifo_r, video_fifo_w)
AM_RANGE(0x40000000, 0x40ffffff) AM_RAM AM_SHARE("work_ram") // Work RAM
@@ -2219,7 +2222,7 @@ READ16_MEMBER(taitotz_state::tlcs_ide1_r)
// 0xfc0d55: INTRX1 Serial 1 receive
// 0xfc0ce1: INTTX1 Serial 1 transmit
-static ADDRESS_MAP_START( tlcs900h_mem, AS_PROGRAM, 16, taitotz_state)
+ADDRESS_MAP_START(taitotz_state::tlcs900h_mem)
AM_RANGE(0x010000, 0x02ffff) AM_RAM // Work RAM
AM_RANGE(0x040000, 0x041fff) AM_RAM AM_SHARE("nvram") // Backup RAM
AM_RANGE(0x044000, 0x04400f) AM_READWRITE8(tlcs_rtc_r, tlcs_rtc_w, 0xffff)
@@ -2230,7 +2233,7 @@ static ADDRESS_MAP_START( tlcs900h_mem, AS_PROGRAM, 16, taitotz_state)
AM_RANGE(0xfc0000, 0xffffff) AM_ROM AM_REGION("io_cpu", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( landhigh_tlcs900h_mem, AS_PROGRAM, 16, taitotz_state)
+ADDRESS_MAP_START(taitotz_state::landhigh_tlcs900h_mem)
AM_RANGE(0x200000, 0x21ffff) AM_RAM // Work RAM
AM_RANGE(0x400000, 0x401fff) AM_RAM AM_SHARE("nvram") // Backup RAM
AM_RANGE(0x404000, 0x40400f) AM_READWRITE8(tlcs_rtc_r, tlcs_rtc_w, 0xffff)
diff --git a/src/mame/drivers/taitowlf.cpp b/src/mame/drivers/taitowlf.cpp
index 66ba1a24349..055bd749aaa 100644
--- a/src/mame/drivers/taitowlf.cpp
+++ b/src/mame/drivers/taitowlf.cpp
@@ -66,6 +66,8 @@ public:
uint32_t screen_update_taitowlf(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void intel82439tx_init();
void taitowlf(machine_config &config);
+ void taitowlf_io(address_map &map);
+ void taitowlf_map(address_map &map);
};
#if !ENABLE_VGA
@@ -269,7 +271,7 @@ WRITE32_MEMBER(taitowlf_state::bios_ram_w)
}
-static ADDRESS_MAP_START( taitowlf_map, AS_PROGRAM, 32, taitowlf_state )
+ADDRESS_MAP_START(taitowlf_state::taitowlf_map)
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
#if ENABLE_VGA
AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", vga_device, mem_r, mem_w, 0xffffffff)
@@ -289,7 +291,7 @@ static ADDRESS_MAP_START( taitowlf_map, AS_PROGRAM, 32, taitowlf_state )
AM_RANGE(0xfffc0000, 0xffffffff) AM_ROM AM_REGION("bios", 0) /* System BIOS */
ADDRESS_MAP_END
-static ADDRESS_MAP_START(taitowlf_io, AS_IO, 32, taitowlf_state )
+ADDRESS_MAP_START(taitowlf_state::taitowlf_io)
AM_IMPORT_FROM(pcat32_io_common)
AM_RANGE(0x00e8, 0x00eb) AM_NOP
diff --git a/src/mame/drivers/tandy1t.cpp b/src/mame/drivers/tandy1t.cpp
index 1788640587f..bd5b85586e0 100644
--- a/src/mame/drivers/tandy1t.cpp
+++ b/src/mame/drivers/tandy1t.cpp
@@ -140,6 +140,14 @@ public:
void t1000sl2(machine_config &config);
void t1000hx(machine_config &config);
void t1000tx(machine_config &config);
+ void biosbank_map(address_map &map);
+ void tandy1000_16_io(address_map &map);
+ void tandy1000_286_map(address_map &map);
+ void tandy1000_bank_io(address_map &map);
+ void tandy1000_bank_map(address_map &map);
+ void tandy1000_io(address_map &map);
+ void tandy1000_map(address_map &map);
+ void tandy1000tx_io(address_map &map);
};
/* tandy 1000 eeprom
@@ -540,13 +548,13 @@ static INPUT_PORTS_START( t1000_101key )
PORT_INCLUDE(at_keyboard)
INPUT_PORTS_END
-static ADDRESS_MAP_START(tandy1000_map, AS_PROGRAM, 8, tandy1000_state )
+ADDRESS_MAP_START(tandy1000_state::tandy1000_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xb8000, 0xbffff) AM_DEVICE("pcvideo_t1000:vram", address_map_bank_device, amap8)
AM_RANGE(0xe0000, 0xfffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(tandy1000_io, AS_IO, 8, tandy1000_state )
+ADDRESS_MAP_START(tandy1000_state::tandy1000_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x00ff) AM_DEVICE("mb", t1000_mb_device, map)
AM_RANGE(0x0060, 0x0063) AM_READWRITE(tandy1000_pio_r, tandy1000_pio_w)
@@ -557,19 +565,19 @@ static ADDRESS_MAP_START(tandy1000_io, AS_IO, 8, tandy1000_state )
AM_RANGE(0x03d0, 0x03df) AM_DEVREAD("pcvideo_t1000", pcvideo_t1000_device, read) AM_DEVWRITE("pcvideo_t1000", pcvideo_t1000_device, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(tandy1000_bank_map, AS_PROGRAM, 16, tandy1000_state )
+ADDRESS_MAP_START(tandy1000_state::tandy1000_bank_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xb8000, 0xbffff) AM_DEVICE8("pcvideo_t1000:vram", address_map_bank_device, amap8, 0xffff)
AM_RANGE(0xe0000, 0xeffff) AM_DEVICE("biosbank", address_map_bank_device, amap16)
AM_RANGE(0xf0000, 0xfffff) AM_ROM AM_REGION( "rom", 0x70000 )
ADDRESS_MAP_END
-static ADDRESS_MAP_START(biosbank_map, 0, 16, tandy1000_state)
+ADDRESS_MAP_START(tandy1000_state::biosbank_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x80000, 0xfffff) AM_ROM AM_REGION("rom", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(tandy1000_16_io, AS_IO, 16, tandy1000_state )
+ADDRESS_MAP_START(tandy1000_state::tandy1000_16_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x00ff) AM_DEVICE8("mb", t1000_mb_device, map, 0xffff)
AM_RANGE(0x0060, 0x0063) AM_READWRITE8(tandy1000_pio_r, tandy1000_pio_w, 0xffff)
@@ -582,19 +590,19 @@ static ADDRESS_MAP_START(tandy1000_16_io, AS_IO, 16, tandy1000_state )
AM_RANGE(0xffe8, 0xffe9) AM_WRITE8(vram_bank_w, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(tandy1000_bank_io, AS_IO, 16, tandy1000_state )
+ADDRESS_MAP_START(tandy1000_state::tandy1000_bank_io)
ADDRESS_MAP_UNMAP_HIGH
AM_IMPORT_FROM(tandy1000_16_io)
AM_RANGE(0xffea, 0xffeb) AM_READWRITE8(tandy1000_bank_r, tandy1000_bank_w, 0xffff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(tandy1000tx_io, AS_IO, 16, tandy1000_state )
+ADDRESS_MAP_START(tandy1000_state::tandy1000tx_io)
ADDRESS_MAP_UNMAP_HIGH
AM_IMPORT_FROM(tandy1000_16_io)
AM_RANGE(0x00a0, 0x00a1) AM_WRITE8(nmi_vram_bank_w, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(tandy1000_286_map, AS_PROGRAM, 16, tandy1000_state )
+ADDRESS_MAP_START(tandy1000_state::tandy1000_286_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x000fffff)
AM_RANGE(0xb8000, 0xbffff) AM_DEVICE8("pcvideo_t1000:vram", address_map_bank_device, amap8, 0xffff)
diff --git a/src/mame/drivers/tandy2k.cpp b/src/mame/drivers/tandy2k.cpp
index 0c65d59a56d..e9bc1fce2e7 100644
--- a/src/mame/drivers/tandy2k.cpp
+++ b/src/mame/drivers/tandy2k.cpp
@@ -307,7 +307,7 @@ WRITE8_MEMBER( tandy2k_state::addr_ctrl_w )
// Memory Maps
-static ADDRESS_MAP_START( tandy2k_mem, AS_PROGRAM, 16, tandy2k_state )
+ADDRESS_MAP_START(tandy2k_state::tandy2k_mem)
ADDRESS_MAP_UNMAP_HIGH
// AM_RANGE(0x00000, 0xdffff) AM_RAM
AM_RANGE(0xe0000, 0xf7fff) AM_RAM AM_SHARE("hires_ram")
@@ -315,7 +315,7 @@ static ADDRESS_MAP_START( tandy2k_mem, AS_PROGRAM, 16, tandy2k_state )
AM_RANGE(0xfc000, 0xfdfff) AM_MIRROR(0x2000) AM_ROM AM_REGION(I80186_TAG, 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tandy2k_io, AS_IO, 16, tandy2k_state )
+ADDRESS_MAP_START(tandy2k_state::tandy2k_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000, 0x00001) AM_MIRROR(0x8) AM_READWRITE8(enable_r, enable_w, 0x00ff)
AM_RANGE(0x00002, 0x00003) AM_MIRROR(0x8) AM_WRITE8(dma_mux_w, 0x00ff)
@@ -336,14 +336,14 @@ static ADDRESS_MAP_START( tandy2k_io, AS_IO, 16, tandy2k_state )
// AM_RANGE(0x0ff00, 0x0ffff) AM_READWRITE(i186_internal_port_r, i186_internal_port_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tandy2k_hd_io, AS_IO, 16, tandy2k_state )
+ADDRESS_MAP_START(tandy2k_state::tandy2k_hd_io)
AM_IMPORT_FROM(tandy2k_io)
// AM_RANGE(0x000e0, 0x000ff) AM_WRITE8(hdc_dack_w, 0x00ff)
// AM_RANGE(0x0026c, 0x0026d) AM_DEVREADWRITE8(WD1010_TAG, wd1010_device, hdc_reset_r, hdc_reset_w, 0x00ff)
// AM_RANGE(0x0026e, 0x0027f) AM_DEVREADWRITE8(WD1010_TAG, wd1010_device, wd1010_r, wd1010_w, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vpac_mem, 0, 8, tandy2k_state )
+ADDRESS_MAP_START(tandy2k_state::vpac_mem)
AM_RANGE(0x0000, 0x3fff) AM_READ(videoram_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tank8.cpp b/src/mame/drivers/tank8.cpp
index 6dd97588f5b..0a6313f5f1c 100644
--- a/src/mame/drivers/tank8.cpp
+++ b/src/mame/drivers/tank8.cpp
@@ -95,7 +95,7 @@ WRITE8_MEMBER(tank8_state::motor_w)
m_discrete->write(space, NODE_RELATIVE(TANK8_MOTOR1_EN, offset), data);
}
-static ADDRESS_MAP_START( tank8_cpu_map, AS_PROGRAM, 8, tank8_state )
+ADDRESS_MAP_START(tank8_state::tank8_cpu_map)
AM_RANGE(0x0000, 0x00ff) AM_RAM
AM_RANGE(0x0400, 0x17ff) AM_ROM
AM_RANGE(0xf800, 0xffff) AM_ROM
diff --git a/src/mame/drivers/tankbatt.cpp b/src/mame/drivers/tankbatt.cpp
index 6ae18807587..22da1c044b9 100644
--- a/src/mame/drivers/tankbatt.cpp
+++ b/src/mame/drivers/tankbatt.cpp
@@ -167,7 +167,7 @@ WRITE_LINE_MEMBER(tankbatt_state::coinlockout_w)
machine().bookkeeping().coin_lockout_w(1, state);
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, tankbatt_state )
+ADDRESS_MAP_START(tankbatt_state::main_map)
AM_RANGE(0x0000, 0x000f) AM_RAM AM_SHARE("bulletsram")
AM_RANGE(0x0010, 0x01ff) AM_RAM
AM_RANGE(0x0200, 0x07ff) AM_RAM
diff --git a/src/mame/drivers/tankbust.cpp b/src/mame/drivers/tankbust.cpp
index b0cdee5db8e..9fe3b3adda7 100644
--- a/src/mame/drivers/tankbust.cpp
+++ b/src/mame/drivers/tankbust.cpp
@@ -190,7 +190,7 @@ READ8_MEMBER(tankbust_state::some_changing_input)
return m_variable_data;
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, tankbust_state )
+ADDRESS_MAP_START(tankbust_state::main_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x9fff) AM_ROMBANK("bank1")
AM_RANGE(0xa000, 0xbfff) AM_ROMBANK("bank2")
@@ -209,7 +209,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, tankbust_state )
//AM_RANGE(0xf800, 0xffff) AM_READ(read_from_unmapped_memory) /* a bug in game code ? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( port_map_cpu2, AS_IO, 8, tankbust_state )
+ADDRESS_MAP_START(tankbust_state::port_map_cpu2)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x10) AM_DEVWRITE("ay2", ay8910_device, data_w)
AM_RANGE(0x30, 0x30) AM_DEVREADWRITE("ay2", ay8910_device, data_r, address_w)
@@ -218,7 +218,7 @@ static ADDRESS_MAP_START( port_map_cpu2, AS_IO, 8, tankbust_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( map_cpu2, AS_PROGRAM, 8, tankbust_state )
+ADDRESS_MAP_START(tankbust_state::map_cpu2)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x3fff) AM_WRITENOP /* garbage, written in initialization loop */
//0x4000 and 0x4040-0x4045 seem to be used (referenced in the code)
diff --git a/src/mame/drivers/taotaido.cpp b/src/mame/drivers/taotaido.cpp
index 4e014871184..c80d79e92c1 100644
--- a/src/mame/drivers/taotaido.cpp
+++ b/src/mame/drivers/taotaido.cpp
@@ -96,7 +96,7 @@ WRITE8_MEMBER(taotaido_state::unknown_output_w)
// Bits 5, 4 also used?
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, taotaido_state )
+ADDRESS_MAP_START(taotaido_state::main_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE(bgvideoram_w) AM_SHARE("bgram") // bg ram?
AM_RANGE(0xa00000, 0xa01fff) AM_RAM AM_SHARE("spriteram") // sprite ram
@@ -122,13 +122,13 @@ WRITE8_MEMBER(taotaido_state::sh_bankswitch_w)
membank("soundbank")->set_entry(data & 0x03);
}
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, taotaido_state )
+ADDRESS_MAP_START(taotaido_state::sound_map)
AM_RANGE(0x0000, 0x77ff) AM_ROM
AM_RANGE(0x7800, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("soundbank")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_port_map, AS_IO, 8, taotaido_state )
+ADDRESS_MAP_START(taotaido_state::sound_port_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ymsnd", ym2610_device, read, write)
AM_RANGE(0x04, 0x04) AM_WRITE(sh_bankswitch_w)
diff --git a/src/mame/drivers/tapatune.cpp b/src/mame/drivers/tapatune.cpp
index 4fef345318e..15f806cbb3c 100644
--- a/src/mame/drivers/tapatune.cpp
+++ b/src/mame/drivers/tapatune.cpp
@@ -108,6 +108,9 @@ public:
MC6845_UPDATE_ROW(crtc_update_row);
void tapatune(machine_config &config);
void tapatune_base(machine_config &config);
+ void maincpu_io_map(address_map &map);
+ void maincpu_map(address_map &map);
+ void video_map(address_map &map);
};
@@ -277,7 +280,7 @@ READ8_MEMBER(tapatune_state::read_data_from_68k)
*
*************************************/
-static ADDRESS_MAP_START( video_map, AS_PROGRAM, 16, tapatune_state )
+ADDRESS_MAP_START(tapatune_state::video_map)
AM_RANGE(0x000000, 0x2fffff) AM_ROM
AM_RANGE(0x300000, 0x31ffff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x320000, 0x33ffff) AM_RAM
@@ -289,13 +292,13 @@ static ADDRESS_MAP_START( video_map, AS_PROGRAM, 16, tapatune_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( maincpu_map, AS_PROGRAM, 8, tapatune_state )
+ADDRESS_MAP_START(tapatune_state::maincpu_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_WRITENOP
AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START ( maincpu_io_map, AS_IO, 8, tapatune_state )
+ADDRESS_MAP_START(tapatune_state::maincpu_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(bsmt_data_lo_w)
AM_RANGE(0x08, 0x08) AM_WRITE(bsmt_data_hi_w)
diff --git a/src/mame/drivers/targeth.cpp b/src/mame/drivers/targeth.cpp
index ee971efc58b..9a4f0417c6c 100644
--- a/src/mame/drivers/targeth.cpp
+++ b/src/mame/drivers/targeth.cpp
@@ -138,11 +138,11 @@ READ8_MEMBER(targeth_state::shareram_r)
}
-static ADDRESS_MAP_START( mcu_hostmem_map, 0, 8, targeth_state )
+ADDRESS_MAP_START(targeth_state::mcu_hostmem_map)
AM_RANGE(0x8000, 0xffff) AM_READWRITE(shareram_r, shareram_w) // confirmed that 0x8000 - 0xffff is a window into 68k shared RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, targeth_state )
+ADDRESS_MAP_START(targeth_state::main_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM_WRITE(vram_w) AM_SHARE("videoram") /* Video RAM */
AM_RANGE(0x108000, 0x108007) AM_WRITEONLY AM_SHARE("vregs") /* Video Registers */
@@ -167,7 +167,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, targeth_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( oki_map, 0, 8, targeth_state )
+ADDRESS_MAP_START(targeth_state::oki_map)
AM_RANGE(0x00000, 0x2ffff) AM_ROM
AM_RANGE(0x30000, 0x3ffff) AM_ROMBANK("okibank")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tasman.cpp b/src/mame/drivers/tasman.cpp
index 9bf2b0ee4b6..46b715073ce 100644
--- a/src/mame/drivers/tasman.cpp
+++ b/src/mame/drivers/tasman.cpp
@@ -81,6 +81,8 @@ public:
K056832_CB_MEMBER(tile_callback);
K053246_CB_MEMBER(sprite_callback);
void kongambl(machine_config &config);
+ void kongamaud_map(address_map &map);
+ void kongambl_map(address_map &map);
};
@@ -206,7 +208,7 @@ WRITE8_MEMBER(kongambl_state::kongambl_ff_w)
// printf("%02x\n",data);
}
-static ADDRESS_MAP_START( kongambl_map, AS_PROGRAM, 32, kongambl_state )
+ADDRESS_MAP_START(kongambl_state::kongambl_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // main program
AM_RANGE(0x100000, 0x11ffff) AM_RAM // work RAM
@@ -259,7 +261,7 @@ static ADDRESS_MAP_START( kongambl_map, AS_PROGRAM, 32, kongambl_state )
//AM_RANGE(0x780004, 0x780007) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kongamaud_map, AS_PROGRAM, 16, kongambl_state )
+ADDRESS_MAP_START(kongambl_state::kongamaud_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM // main program (mirrored?)
AM_RANGE(0x100000, 0x10ffff) AM_RAM // work RAM
AM_RANGE(0x180000, 0x180001) AM_WRITENOP
diff --git a/src/mame/drivers/tatsumi.cpp b/src/mame/drivers/tatsumi.cpp
index 1454fbd42ae..93e625615db 100644
--- a/src/mame/drivers/tatsumi.cpp
+++ b/src/mame/drivers/tatsumi.cpp
@@ -202,7 +202,7 @@ WRITE16_MEMBER(cyclwarr_state::cyclwarr_sound_w)
/***************************************************************************/
-static ADDRESS_MAP_START( apache3_v30_map, AS_PROGRAM, 16, apache3_state )
+ADDRESS_MAP_START(apache3_state::apache3_v30_map)
AM_RANGE(0x00000, 0x03fff) AM_RAM
AM_RANGE(0x04000, 0x07fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x08000, 0x08fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -216,7 +216,7 @@ static ADDRESS_MAP_START( apache3_v30_map, AS_PROGRAM, 16, apache3_state )
AM_RANGE(0xa0000, 0xfffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( apache3_68000_map, AS_PROGRAM, 16, apache3_state )
+ADDRESS_MAP_START(apache3_state::apache3_68000_map)
AM_RANGE(0x00000, 0x7ffff) AM_ROM
AM_RANGE(0x80000, 0x83fff) AM_RAM AM_SHARE("68k_ram")
AM_RANGE(0x90000, 0x93fff) AM_RAM AM_SHARE("spriteram")
@@ -228,7 +228,7 @@ static ADDRESS_MAP_START( apache3_68000_map, AS_PROGRAM, 16, apache3_state )
AM_RANGE(0xe0000, 0xe7fff) AM_READWRITE(apache3_z80_r, apache3_z80_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( apache3_v20_map, AS_PROGRAM, 8, apache3_state )
+ADDRESS_MAP_START(apache3_state::apache3_v20_map)
AM_RANGE(0x00000, 0x01fff) AM_RAM
AM_RANGE(0x04000, 0x04003) AM_DEVREADWRITE("ppi", i8255_device, read, write)
AM_RANGE(0x06000, 0x06001) AM_READ_PORT("IN0") // esw
@@ -238,14 +238,14 @@ static ADDRESS_MAP_START( apache3_v20_map, AS_PROGRAM, 8, apache3_state )
AM_RANGE(0xf0000, 0xfffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( apache3_z80_map, AS_PROGRAM, 8, apache3_state )
+ADDRESS_MAP_START(apache3_state::apache3_z80_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("apache3_z80_ram")
AM_RANGE(0x8000, 0xffff) AM_WRITE(apache3_road_x_w)
ADDRESS_MAP_END
/*****************************************************************/
-static ADDRESS_MAP_START( roundup5_v30_map, AS_PROGRAM, 16, roundup5_state )
+ADDRESS_MAP_START(roundup5_state::roundup5_v30_map)
AM_RANGE(0x00000, 0x07fff) AM_RAM
AM_RANGE(0x08000, 0x0bfff) AM_RAM_WRITE(text_w) AM_SHARE("videoram")
AM_RANGE(0x0c000, 0x0c003) AM_WRITE(roundup5_crt_w)
@@ -261,7 +261,7 @@ static ADDRESS_MAP_START( roundup5_v30_map, AS_PROGRAM, 16, roundup5_state )
AM_RANGE(0x80000, 0xfffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( roundup5_68000_map, AS_PROGRAM, 16, roundup5_state )
+ADDRESS_MAP_START(roundup5_state::roundup5_68000_map)
AM_RANGE(0x00000, 0x7ffff) AM_ROM
AM_RANGE(0x80000, 0x83fff) AM_RAM AM_SHARE("68k_ram")
AM_RANGE(0x90000, 0x93fff) AM_RAM AM_SHARE("spriteram")
@@ -273,7 +273,7 @@ static ADDRESS_MAP_START( roundup5_68000_map, AS_PROGRAM, 16, roundup5_state )
AM_RANGE(0xe0000, 0xe0001) AM_WRITE(roundup5_e0000_w) AM_SHARE("ru5_e0000_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( roundup5_z80_map, AS_PROGRAM, 8, roundup5_state )
+ADDRESS_MAP_START(roundup5_state::roundup5_z80_map)
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xffef) AM_RAM
AM_RANGE(0xfff0, 0xfff1) AM_READ(tatsumi_hack_ym2151_r) AM_DEVWRITE("ymsnd", ym2151_device, write)
@@ -284,7 +284,7 @@ ADDRESS_MAP_END
/******************************************************************************/
-static ADDRESS_MAP_START( cyclwarr_68000a_map, AS_PROGRAM, 16, cyclwarr_state )
+ADDRESS_MAP_START(cyclwarr_state::cyclwarr_68000a_map)
AM_RANGE(0x000000, 0x00ffff) AM_RAM AM_SHARE("cw_cpua_ram")
AM_RANGE(0x03e000, 0x03efff) AM_RAM
AM_RANGE(0x040000, 0x04ffff) AM_RAM AM_SHARE("cw_cpub_ram")
@@ -305,7 +305,7 @@ static ADDRESS_MAP_START( cyclwarr_68000a_map, AS_PROGRAM, 16, cyclwarr_state )
AM_RANGE(0x2c0000, 0x33ffff) AM_ROMBANK("bank1") /* CPU A ROM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cyclwarr_68000b_map, AS_PROGRAM, 16, cyclwarr_state )
+ADDRESS_MAP_START(cyclwarr_state::cyclwarr_68000b_map)
AM_RANGE(0x000000, 0x00ffff) AM_RAM AM_SHARE("cw_cpub_ram")
AM_RANGE(0x080000, 0x08ffff) AM_READWRITE(cyclwarr_videoram1_r, cyclwarr_videoram1_w)
@@ -324,7 +324,7 @@ static ADDRESS_MAP_START( cyclwarr_68000b_map, AS_PROGRAM, 16, cyclwarr_state )
AM_RANGE(0x2c0000, 0x33ffff) AM_ROMBANK("bank1") /* CPU A ROM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cyclwarr_z80_map, AS_PROGRAM, 8, cyclwarr_state )
+ADDRESS_MAP_START(cyclwarr_state::cyclwarr_z80_map)
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xffef) AM_RAM
AM_RANGE(0xfff0, 0xfff1) AM_READ(tatsumi_hack_ym2151_r) AM_DEVWRITE("ymsnd", ym2151_device, write)
@@ -335,7 +335,7 @@ ADDRESS_MAP_END
/******************************************************************************/
-static ADDRESS_MAP_START( bigfight_68000a_map, AS_PROGRAM, 16, cyclwarr_state )
+ADDRESS_MAP_START(cyclwarr_state::bigfight_68000a_map)
AM_RANGE(0x000000, 0x00ffff) AM_RAM AM_SHARE("cw_cpua_ram")
AM_RANGE(0x03e000, 0x03efff) AM_RAM
@@ -358,7 +358,7 @@ static ADDRESS_MAP_START( bigfight_68000a_map, AS_PROGRAM, 16, cyclwarr_state )
AM_RANGE(0x200000, 0x27ffff) AM_ROMBANK("bank1") /* CPU B ROM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bigfight_68000b_map, AS_PROGRAM, 16, cyclwarr_state )
+ADDRESS_MAP_START(cyclwarr_state::bigfight_68000b_map)
AM_RANGE(0x000000, 0x00ffff) AM_RAM AM_SHARE("cw_cpub_ram")
AM_RANGE(0x080000, 0x08ffff) AM_READWRITE(cyclwarr_videoram1_r, cyclwarr_videoram1_w)
AM_RANGE(0x090000, 0x09ffff) AM_READWRITE(cyclwarr_videoram0_r, cyclwarr_videoram0_w)
diff --git a/src/mame/drivers/tattack.cpp b/src/mame/drivers/tattack.cpp
index 9bbd563fe82..3948f60b36c 100644
--- a/src/mame/drivers/tattack.cpp
+++ b/src/mame/drivers/tattack.cpp
@@ -78,6 +78,7 @@ public:
uint32_t screen_update_tattack(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void tattack(machine_config &config);
+ void tattack_map(address_map &map);
protected:
virtual void video_start() override;
private:
@@ -263,7 +264,7 @@ WRITE8_MEMBER(tattack_state::sound_w)
}
}
-static ADDRESS_MAP_START( tattack_map, AS_PROGRAM, 8, tattack_state )
+ADDRESS_MAP_START(tattack_state::tattack_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x4000, 0x4000) AM_READ_PORT("AN_PADDLE") // $315, checks again with same memory, loops if different (?)
AM_RANGE(0x5000, 0x53ff) AM_RAM AM_SHARE("videoram")
diff --git a/src/mame/drivers/tavernie.cpp b/src/mame/drivers/tavernie.cpp
index 368b6199a33..6dfd53a69d9 100644
--- a/src/mame/drivers/tavernie.cpp
+++ b/src/mame/drivers/tavernie.cpp
@@ -99,6 +99,8 @@ public:
void ivg09(machine_config &config);
void cpu09(machine_config &config);
+ void cpu09_mem(address_map &map);
+ void ivg09_mem(address_map &map);
private:
uint8_t m_term_data;
uint8_t m_pa;
@@ -114,7 +116,7 @@ private:
};
-static ADDRESS_MAP_START(cpu09_mem, AS_PROGRAM, 8, tavernie_state)
+ADDRESS_MAP_START(tavernie_state::cpu09_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x1000, 0x1fff) AM_NOP
AM_RANGE(0xeb00, 0xeb03) AM_DEVREADWRITE("pia", pia6821_device, read, write)
@@ -124,7 +126,7 @@ static ADDRESS_MAP_START(cpu09_mem, AS_PROGRAM, 8, tavernie_state)
AM_RANGE(0xf000, 0xffff) AM_ROM AM_REGION("roms", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(ivg09_mem, AS_PROGRAM, 8, tavernie_state)
+ADDRESS_MAP_START(tavernie_state::ivg09_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x1000, 0x1fff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x2000, 0x2003) AM_DEVREADWRITE("pia_ivg", pia6821_device, read, write)
diff --git a/src/mame/drivers/taxidriv.cpp b/src/mame/drivers/taxidriv.cpp
index 9d7b1387d1c..808e0636cea 100644
--- a/src/mame/drivers/taxidriv.cpp
+++ b/src/mame/drivers/taxidriv.cpp
@@ -110,7 +110,7 @@ WRITE8_MEMBER(taxidriv_state::p8910_0b_w)
m_s4 = data & 1;
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, taxidriv_state )
+ADDRESS_MAP_START(taxidriv_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM /* ??? */
AM_RANGE(0x9000, 0x9fff) AM_RAM /* ??? */
@@ -134,7 +134,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, taxidriv_state )
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpu2_map, AS_PROGRAM, 8, taxidriv_state )
+ADDRESS_MAP_START(taxidriv_state::cpu2_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM
AM_RANGE(0x8000, 0x87ff) AM_RAM
@@ -146,13 +146,13 @@ static ADDRESS_MAP_START( cpu2_map, AS_PROGRAM, 8, taxidriv_state )
AM_RANGE(0xe004, 0xe004) AM_READ_PORT("P2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpu3_map, AS_PROGRAM, 8, taxidriv_state )
+ADDRESS_MAP_START(taxidriv_state::cpu3_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x2000) AM_READNOP /* irq ack? */
AM_RANGE(0xfc00, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpu3_port_map, AS_IO, 8, taxidriv_state )
+ADDRESS_MAP_START(taxidriv_state::cpu3_port_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
AM_RANGE(0x01, 0x01) AM_DEVREAD("ay1", ay8910_device, data_r)
diff --git a/src/mame/drivers/tbowl.cpp b/src/mame/drivers/tbowl.cpp
index bebb79dabef..c21b081b592 100644
--- a/src/mame/drivers/tbowl.cpp
+++ b/src/mame/drivers/tbowl.cpp
@@ -57,7 +57,7 @@ WRITE8_MEMBER(tbowl_state::boardc_bankswitch_w)
/* Board B */
-static ADDRESS_MAP_START( 6206B_map, AS_PROGRAM, 8, tbowl_state )
+ADDRESS_MAP_START(tbowl_state::_6206B_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_RAM
AM_RANGE(0xa000, 0xbfff) AM_RAM_WRITE(bg2videoram_w) AM_SHARE("bg2videoram")
@@ -98,7 +98,7 @@ WRITE8_MEMBER(tbowl_state::trigger_nmi)
m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
}
-static ADDRESS_MAP_START( 6206C_map, AS_PROGRAM, 8, tbowl_state )
+ADDRESS_MAP_START(tbowl_state::_6206C_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_READONLY
AM_RANGE(0xc000, 0xd7ff) AM_WRITEONLY
@@ -162,7 +162,7 @@ WRITE_LINE_MEMBER(tbowl_state::adpcm_int_2)
adpcm_int(m_msm2, 1);
}
-static ADDRESS_MAP_START( 6206A_map, AS_PROGRAM, 8, tbowl_state )
+ADDRESS_MAP_START(tbowl_state::_6206A_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xd000, 0xd001) AM_DEVWRITE("ym1", ym3812_device, write)
@@ -431,17 +431,17 @@ MACHINE_CONFIG_START(tbowl_state::tbowl)
/* CPU on Board '6206B' */
MCFG_CPU_ADD("maincpu", Z80, 8000000) /* NEC D70008AC-8 (Z80 Clone) */
- MCFG_CPU_PROGRAM_MAP(6206B_map)
+ MCFG_CPU_PROGRAM_MAP(_6206B_map)
MCFG_CPU_VBLANK_INT_DRIVER("lscreen", tbowl_state, irq0_line_hold)
/* CPU on Board '6206C' */
MCFG_CPU_ADD("sub", Z80, 8000000) /* NEC D70008AC-8 (Z80 Clone) */
- MCFG_CPU_PROGRAM_MAP(6206C_map)
+ MCFG_CPU_PROGRAM_MAP(_6206C_map)
MCFG_CPU_VBLANK_INT_DRIVER("lscreen", tbowl_state, irq0_line_hold)
/* CPU on Board '6206A' */
MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* Actual Z80 */
- MCFG_CPU_PROGRAM_MAP(6206A_map)
+ MCFG_CPU_PROGRAM_MAP(_6206A_map)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
diff --git a/src/mame/drivers/tceptor.cpp b/src/mame/drivers/tceptor.cpp
index be6d9aefe21..763ebc6a2b0 100644
--- a/src/mame/drivers/tceptor.cpp
+++ b/src/mame/drivers/tceptor.cpp
@@ -145,7 +145,7 @@ READ8_MEMBER(tceptor_state::input1_r)
/*******************************************************************/
-static ADDRESS_MAP_START( m6809_map, AS_PROGRAM, 8, tceptor_state )
+ADDRESS_MAP_START(tceptor_state::m6809_map)
AM_RANGE(0x0000, 0x17ff) AM_RAM
AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(tceptor_tile_ram_w) AM_SHARE("tile_ram")
AM_RANGE(0x1c00, 0x1fff) AM_RAM_WRITE(tceptor_tile_attr_w) AM_SHARE("tile_attr")
@@ -165,7 +165,7 @@ static ADDRESS_MAP_START( m6809_map, AS_PROGRAM, 8, tceptor_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( m6502_a_map, AS_PROGRAM, 8, tceptor_state )
+ADDRESS_MAP_START(tceptor_state::m6502_a_map)
AM_RANGE(0x0000, 0x00ff) AM_RAM AM_SHARE("share2")
AM_RANGE(0x0100, 0x01ff) AM_RAM
AM_RANGE(0x0200, 0x02ff) AM_RAM
@@ -177,7 +177,7 @@ static ADDRESS_MAP_START( m6502_a_map, AS_PROGRAM, 8, tceptor_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( m6502_b_map, AS_PROGRAM, 8, tceptor_state )
+ADDRESS_MAP_START(tceptor_state::m6502_b_map)
AM_RANGE(0x0000, 0x00ff) AM_RAM AM_SHARE("share2")
AM_RANGE(0x0100, 0x01ff) AM_RAM
AM_RANGE(0x4000, 0x4000) AM_DEVWRITE("dac", dac_byte_interface, write)
@@ -186,7 +186,7 @@ static ADDRESS_MAP_START( m6502_b_map, AS_PROGRAM, 8, tceptor_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( m68k_map, AS_PROGRAM, 16, tceptor_state )
+ADDRESS_MAP_START(tceptor_state::m68k_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM // M68K ERROR 1
AM_RANGE(0x100000, 0x10ffff) AM_ROM // not sure
AM_RANGE(0x200000, 0x203fff) AM_RAM // M68K ERROR 0
@@ -198,7 +198,7 @@ static ADDRESS_MAP_START( m68k_map, AS_PROGRAM, 16, tceptor_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mcu_map, AS_PROGRAM, 8, tceptor_state )
+ADDRESS_MAP_START(tceptor_state::mcu_map)
AM_RANGE(0x0000, 0x001f) AM_DEVREADWRITE("mcu", hd63701_cpu_device, m6801_io_r, m6801_io_w)
AM_RANGE(0x0080, 0x00ff) AM_RAM
AM_RANGE(0x1000, 0x13ff) AM_DEVREADWRITE("namco", namco_cus30_device, namcos1_cus30_r, namcos1_cus30_w)
@@ -218,7 +218,7 @@ static ADDRESS_MAP_START( mcu_map, AS_PROGRAM, 8, tceptor_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mcu_io_map, AS_IO, 8, tceptor_state )
+ADDRESS_MAP_START(tceptor_state::mcu_io_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(M6801_PORT1, M6801_PORT1) AM_WRITENOP
AM_RANGE(M6801_PORT2, M6801_PORT2) AM_WRITENOP
diff --git a/src/mame/drivers/tcl.cpp b/src/mame/drivers/tcl.cpp
index 715791302d5..5dcf8e10f64 100644
--- a/src/mame/drivers/tcl.cpp
+++ b/src/mame/drivers/tcl.cpp
@@ -60,6 +60,7 @@ public:
uint32_t screen_update_tcl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
void tcl(machine_config &config);
+ void tcl_map(address_map &map);
};
@@ -71,7 +72,7 @@ uint32_t tcl_state::screen_update_tcl(screen_device &screen, bitmap_ind16 &bitma
return 0;
}
-static ADDRESS_MAP_START( tcl_map, AS_PROGRAM, 8, tcl_state )
+ADDRESS_MAP_START(tcl_state::tcl_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM /* bfff ? */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tdv2324.cpp b/src/mame/drivers/tdv2324.cpp
index fbb2ae09f5a..e357b63f902 100644
--- a/src/mame/drivers/tdv2324.cpp
+++ b/src/mame/drivers/tdv2324.cpp
@@ -132,7 +132,7 @@ WRITE8_MEMBER( tdv2324_state::tdv2324_main_io_e2 )
// ADDRESS_MAP( tdv2324_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( tdv2324_mem, AS_PROGRAM, 8, tdv2324_state )
+ADDRESS_MAP_START(tdv2324_state::tdv2324_mem)
AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x0800) AM_ROM AM_REGION(P8085AH_0_TAG, 0)
/* when copying code to 4000 area it runs right off the end of rom;
* I'm not sure if its supposed to mirror or read as open bus */
@@ -146,7 +146,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( tdv2324_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( tdv2324_io, AS_IO, 8, tdv2324_state )
+ADDRESS_MAP_START(tdv2324_state::tdv2324_io)
//ADDRESS_MAP_GLOBAL_MASK(0xff)
/* 0x30 is read by main code and if high bit isn't set at some point it will never get anywhere */
/* e0, e2, e8, ea are written to */
@@ -164,7 +164,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( tdv2324_sub_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( tdv2324_sub_mem, AS_PROGRAM, 8, tdv2324_state )
+ADDRESS_MAP_START(tdv2324_state::tdv2324_sub_mem)
AM_RANGE(0x0000, 0x3fff) AM_ROM AM_REGION(P8085AH_1_TAG, 0)
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x5000, 0x53ff) AM_RAM // EAROM
@@ -176,7 +176,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( tdv2324_sub_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( tdv2324_sub_io, AS_IO, 8, tdv2324_state )
+ADDRESS_MAP_START(tdv2324_state::tdv2324_sub_io)
//ADDRESS_MAP_GLOBAL_MASK(0xff)
/* 20, 23, 30-36, 38, 3a, 3c, 3e, 60, 70 are written to */
AM_RANGE(0x20, 0x23) AM_DEVREADWRITE(P8253_5_1_TAG, pit8253_device, read, write)
@@ -188,7 +188,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( tdv2324_fdc_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( tdv2324_fdc_mem, AS_PROGRAM, 8, tdv2324_state )
+ADDRESS_MAP_START(tdv2324_state::tdv2324_fdc_mem)
// the following two are probably enabled/disabled via the JP2 jumper block next to the fdc cpu
//AM_RANGE(0x0000, 0x001f) AM_RAM // on-6802-die ram (optionally battery backed)
//AM_RANGE(0x0020, 0x007f) AM_RAM // on-6802-die ram
diff --git a/src/mame/drivers/tec1.cpp b/src/mame/drivers/tec1.cpp
index b5c66b64aaf..c022c5bedd2 100644
--- a/src/mame/drivers/tec1.cpp
+++ b/src/mame/drivers/tec1.cpp
@@ -125,6 +125,10 @@ public:
TIMER_CALLBACK_MEMBER(tec1_kbd_callback);
void tec1(machine_config &config);
void tecjmon(machine_config &config);
+ void tec1_io(address_map &map);
+ void tec1_map(address_map &map);
+ void tecjmon_io(address_map &map);
+ void tecjmon_map(address_map &map);
};
@@ -323,14 +327,14 @@ void tec1_state::machine_reset()
***************************************************************************/
-static ADDRESS_MAP_START( tec1_map, AS_PROGRAM, 8, tec1_state )
+ADDRESS_MAP_START(tec1_state::tec1_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x07ff) AM_ROM
AM_RANGE(0x0800, 0x0fff) AM_RAM // on main board
AM_RANGE(0x1000, 0x3fff) AM_RAM // expansion
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tec1_io, AS_IO, 8, tec1_state )
+ADDRESS_MAP_START(tec1_state::tec1_io)
ADDRESS_MAP_GLOBAL_MASK(0x07)
AM_RANGE(0x00, 0x00) AM_READ(tec1_kbd_r)
AM_RANGE(0x01, 0x01) AM_WRITE(tec1_digit_w)
@@ -338,14 +342,14 @@ static ADDRESS_MAP_START( tec1_io, AS_IO, 8, tec1_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tecjmon_map, AS_PROGRAM, 8, tec1_state )
+ADDRESS_MAP_START(tec1_state::tecjmon_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x07ff) AM_ROM
AM_RANGE(0x0800, 0x37ff) AM_RAM
AM_RANGE(0x3800, 0x3fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tecjmon_io, AS_IO, 8, tec1_state )
+ADDRESS_MAP_START(tec1_state::tecjmon_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(tec1_kbd_r)
AM_RANGE(0x01, 0x01) AM_WRITE(tecjmon_digit_w)
diff --git a/src/mame/drivers/techno.cpp b/src/mame/drivers/techno.cpp
index d880efe7311..64bc7adf66d 100644
--- a/src/mame/drivers/techno.cpp
+++ b/src/mame/drivers/techno.cpp
@@ -48,6 +48,7 @@ public:
DECLARE_WRITE16_MEMBER(sound_w);
void techno(machine_config &config);
+ void techno_map(address_map &map);
private:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual void machine_start() override;
@@ -66,7 +67,7 @@ private:
};
-static ADDRESS_MAP_START( techno_map, AS_PROGRAM, 16, techno_state )
+ADDRESS_MAP_START(techno_state::techno_map)
ADDRESS_MAP_GLOBAL_MASK(0x1ffff)
AM_RANGE(0x00000, 0x03fff) AM_ROM
AM_RANGE(0x04000, 0x04fff) AM_RAM AM_SHARE("nvram") // battery backed-up
diff --git a/src/mame/drivers/tecmo.cpp b/src/mame/drivers/tecmo.cpp
index e4f99fd1292..d343efa7dd6 100644
--- a/src/mame/drivers/tecmo.cpp
+++ b/src/mame/drivers/tecmo.cpp
@@ -136,7 +136,7 @@ READ8_MEMBER(tecmo_state::dswb_h_r)
}
-static ADDRESS_MAP_START( rygar_map, AS_PROGRAM, 8, tecmo_state )
+ADDRESS_MAP_START(tecmo_state::rygar_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(txvideoram_w) AM_SHARE("txvideoram")
@@ -164,7 +164,7 @@ static ADDRESS_MAP_START( rygar_map, AS_PROGRAM, 8, tecmo_state )
AM_RANGE(0xf80b, 0xf80b) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gemini_map, AS_PROGRAM, 8, tecmo_state )
+ADDRESS_MAP_START(tecmo_state::gemini_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(txvideoram_w) AM_SHARE("txvideoram")
@@ -192,7 +192,7 @@ static ADDRESS_MAP_START( gemini_map, AS_PROGRAM, 8, tecmo_state )
AM_RANGE(0xf80b, 0xf80b) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( silkworm_map, AS_PROGRAM, 8, tecmo_state )
+ADDRESS_MAP_START(tecmo_state::silkworm_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc3ff) AM_RAM_WRITE(bgvideoram_w) AM_SHARE("bgvideoram")
AM_RANGE(0xc400, 0xc7ff) AM_RAM_WRITE(fgvideoram_w) AM_SHARE("fgvideoram")
@@ -221,7 +221,7 @@ static ADDRESS_MAP_START( silkworm_map, AS_PROGRAM, 8, tecmo_state )
AM_RANGE(0xf80b, 0xf80b) AM_WRITENOP /* ? if mapped to watchdog like in the others, causes reset */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rygar_sound_map, AS_PROGRAM, 8, tecmo_state )
+ADDRESS_MAP_START(tecmo_state::rygar_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x8000, 0x8001) AM_DEVWRITE("ymsnd", ym3526_device, write)
@@ -231,7 +231,7 @@ static ADDRESS_MAP_START( rygar_sound_map, AS_PROGRAM, 8, tecmo_state )
AM_RANGE(0xf000, 0xf000) AM_DEVWRITE("soundlatch", generic_latch_8_device, acknowledge_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tecmo_sound_map, AS_PROGRAM, 8, tecmo_state )
+ADDRESS_MAP_START(tecmo_state::tecmo_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x2000, 0x207f) AM_RAM /* Silkworm set #2 has a custom CPU which */
/* writes code to this area */
diff --git a/src/mame/drivers/tecmo16.cpp b/src/mame/drivers/tecmo16.cpp
index c15dd736ab4..877bb32aa03 100644
--- a/src/mame/drivers/tecmo16.cpp
+++ b/src/mame/drivers/tecmo16.cpp
@@ -38,7 +38,7 @@ Notes:
/******************************************************************************/
-static ADDRESS_MAP_START( fstarfrc_map, AS_PROGRAM, 16, tecmo16_state )
+ADDRESS_MAP_START(tecmo16_state::fstarfrc_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM /* Main RAM */
AM_RANGE(0x110000, 0x110fff) AM_RAM_WRITE(charram_w) AM_SHARE("charram")
@@ -61,7 +61,7 @@ static ADDRESS_MAP_START( fstarfrc_map, AS_PROGRAM, 16, tecmo16_state )
AM_RANGE(0x16001e, 0x16001f) AM_WRITE(scroll2_y_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ginkun_map, AS_PROGRAM, 16, tecmo16_state )
+ADDRESS_MAP_START(tecmo16_state::ginkun_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM /* Main RAM */
AM_RANGE(0x110000, 0x110fff) AM_RAM_WRITE(charram_w) AM_SHARE("charram")
@@ -86,7 +86,7 @@ static ADDRESS_MAP_START( ginkun_map, AS_PROGRAM, 16, tecmo16_state )
AM_RANGE(0x16001e, 0x16001f) AM_WRITE(scroll2_y_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, tecmo16_state )
+ADDRESS_MAP_START(tecmo16_state::sound_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xfbff) AM_RAM /* Sound RAM */
AM_RANGE(0xfc00, 0xfc00) AM_DEVREADWRITE("oki", okim6295_device, read, write)
diff --git a/src/mame/drivers/tecmosys.cpp b/src/mame/drivers/tecmosys.cpp
index ba8c394e955..834ffd9a7ba 100644
--- a/src/mame/drivers/tecmosys.cpp
+++ b/src/mame/drivers/tecmosys.cpp
@@ -274,7 +274,7 @@ WRITE16_MEMBER(tecmosys_state::eeprom_w)
}
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, tecmosys_state )
+ADDRESS_MAP_START(tecmosys_state::main_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // work ram
AM_RANGE(0x210000, 0x210001) AM_READNOP // single byte overflow on stack defined as 0x210000
@@ -329,13 +329,13 @@ WRITE8_MEMBER(tecmosys_state::oki_bank_w)
memcpy( region+0x20000, region+0x80000 + upperbank * 0x20000, 0x20000 );
}
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, tecmosys_state )
+ADDRESS_MAP_START(tecmosys_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xe000, 0xf7ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, tecmosys_state )
+ADDRESS_MAP_START(tecmosys_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ymf", ymf262_device, read, write)
AM_RANGE(0x10, 0x10) AM_DEVREADWRITE("oki", okim6295_device, read, write)
diff --git a/src/mame/drivers/tecnbras.cpp b/src/mame/drivers/tecnbras.cpp
index 00cfd9bd2ea..fffc7856d3b 100644
--- a/src/mame/drivers/tecnbras.cpp
+++ b/src/mame/drivers/tecnbras.cpp
@@ -38,6 +38,8 @@ public:
// DECLARE_READ8_MEMBER(tecnbras_io_r);
DECLARE_DRIVER_INIT(tecnbras);
void tecnbras(machine_config &config);
+void i80c31_io(address_map &map);
+void i80c31_prg(address_map &map);
private:
int m_xcoord;
char m_digit[14][7];
@@ -46,13 +48,13 @@ private:
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START(i80c31_prg, AS_PROGRAM, 8, tecnbras_state)
+ADDRESS_MAP_START(tecnbras_state::i80c31_prg)
AM_RANGE(0x0000, 0x7FFF) AM_ROM
AM_RANGE(0x8000, 0xFFFF) AM_RAM
ADDRESS_MAP_END
#define DMD_OFFSET 24 //This is a guess. We should verify the real hardware behaviour
-static ADDRESS_MAP_START(i80c31_io, AS_IO, 8, tecnbras_state)
+ADDRESS_MAP_START(tecnbras_state::i80c31_io)
AM_RANGE(0x0100+DMD_OFFSET, 0x0145+DMD_OFFSET) AM_WRITE(set_x_position_w)
AM_RANGE(0x06B8, 0x06BC) AM_WRITE(print_column_w)
AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_NOP /*buzzer ?*/
diff --git a/src/mame/drivers/tehkanwc.cpp b/src/mame/drivers/tehkanwc.cpp
index d0307ad280f..f800dfcf999 100644
--- a/src/mame/drivers/tehkanwc.cpp
+++ b/src/mame/drivers/tehkanwc.cpp
@@ -229,7 +229,7 @@ WRITE_LINE_MEMBER(tehkanwc_state::adpcm_int)
-static ADDRESS_MAP_START( main_mem, AS_PROGRAM, 8, tehkanwc_state )
+ADDRESS_MAP_START(tehkanwc_state::main_mem)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xcfff) AM_RAM AM_SHARE("share1")
@@ -255,7 +255,7 @@ static ADDRESS_MAP_START( main_mem, AS_PROGRAM, 8, tehkanwc_state )
AM_RANGE(0xf870, 0xf870) AM_READ_PORT("DSW1") AM_WRITE(flipscreen_y_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sub_mem, AS_PROGRAM, 8, tehkanwc_state )
+ADDRESS_MAP_START(tehkanwc_state::sub_mem)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xcfff) AM_RAM AM_SHARE("share1")
@@ -270,7 +270,7 @@ static ADDRESS_MAP_START( sub_mem, AS_PROGRAM, 8, tehkanwc_state )
AM_RANGE(0xf860, 0xf860) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_mem, AS_PROGRAM, 8, tehkanwc_state )
+ADDRESS_MAP_START(tehkanwc_state::sound_mem)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x8001, 0x8001) AM_WRITE(msm_reset_w)/* MSM51xx reset */
@@ -279,7 +279,7 @@ static ADDRESS_MAP_START( sound_mem, AS_PROGRAM, 8, tehkanwc_state )
AM_RANGE(0xc000, 0xc000) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_WRITE(sound_answer_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_port, AS_IO, 8, tehkanwc_state )
+ADDRESS_MAP_START(tehkanwc_state::sound_port)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("ay1", ay8910_device, data_r)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("ay1", ay8910_device, data_address_w)
diff --git a/src/mame/drivers/tek405x.cpp b/src/mame/drivers/tek405x.cpp
index 966814cb904..1890f45a9ad 100644
--- a/src/mame/drivers/tek405x.cpp
+++ b/src/mame/drivers/tek405x.cpp
@@ -169,7 +169,7 @@ WRITE8_MEMBER( tek4051_state::lbs_w )
// ADDRESS_MAP( tek4051_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( tek4051_mem, AS_PROGRAM, 8, tek4051_state )
+ADDRESS_MAP_START(tek4051_state::tek4051_mem)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x7fff) AM_RAM // optional RAM
AM_RANGE(0x8000, 0x877f) AM_ROM AM_REGION(MC6800_TAG, 0)
@@ -193,7 +193,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( tek4052_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( tek4052_mem, AS_PROGRAM, 8, tek4052_state )
+ADDRESS_MAP_START(tek4052_state::tek4052_mem)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tek410x.cpp b/src/mame/drivers/tek410x.cpp
index 76fe13502e9..73d22389e7d 100644
--- a/src/mame/drivers/tek410x.cpp
+++ b/src/mame/drivers/tek410x.cpp
@@ -37,16 +37,18 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void tek4109a(machine_config &config);
void tek4107a(machine_config &config);
+ void tek4107a_io(address_map &map);
+ void tek4107a_mem(address_map &map);
};
/* Memory Maps */
-static ADDRESS_MAP_START( tek4107a_mem, AS_PROGRAM, 8, tek4107a_state )
+ADDRESS_MAP_START(tek4107a_state::tek4107a_mem)
AM_RANGE(0x00000, 0xbffff) AM_RAM
AM_RANGE(0xc0000, 0xfffff) AM_ROM AM_REGION(I80188_TAG, 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tek4107a_io, AS_IO, 8, tek4107a_state )
+ADDRESS_MAP_START(tek4107a_state::tek4107a_io)
ADDRESS_MAP_END
/* Input Ports */
diff --git a/src/mame/drivers/tek440x.cpp b/src/mame/drivers/tek440x.cpp
index 238762e02bc..ef7518876a7 100644
--- a/src/mame/drivers/tek440x.cpp
+++ b/src/mame/drivers/tek440x.cpp
@@ -74,6 +74,8 @@ public:
required_shared_ptr<uint16_t> m_mainram;
required_shared_ptr<uint16_t> m_vram;
void tek4404(machine_config &config);
+ void fdccpu_map(address_map &map);
+ void maincpu_map(address_map &map);
};
/*************************************
@@ -145,7 +147,7 @@ uint32_t tek440x_state::screen_update(screen_device &screen, bitmap_ind16 &bitma
*
*************************************/
-static ADDRESS_MAP_START( maincpu_map, AS_PROGRAM, 16, tek440x_state )
+ADDRESS_MAP_START(tek440x_state::maincpu_map)
AM_RANGE(0x000000, 0x1fffff) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x600000, 0x61ffff) AM_RAM AM_SHARE("vram")
AM_RANGE(0x740000, 0x747fff) AM_ROM AM_REGION("maincpu", 0)
@@ -166,7 +168,7 @@ static ADDRESS_MAP_START( maincpu_map, AS_PROGRAM, 16, tek440x_state )
// 7be000-7bffff: SCSI (NCR 5385)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fdccpu_map, AS_PROGRAM, 8, tek440x_state )
+ADDRESS_MAP_START(tek440x_state::fdccpu_map)
AM_RANGE(0x0000, 0x1000) AM_RAM
AM_RANGE(0xf000, 0xffff) AM_ROM AM_REGION("fdccpu", 0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tekxp33x.cpp b/src/mame/drivers/tekxp33x.cpp
index 566dea97d37..bdc7c856dee 100644
--- a/src/mame/drivers/tekxp33x.cpp
+++ b/src/mame/drivers/tekxp33x.cpp
@@ -54,16 +54,18 @@ public:
virtual void video_start() override;
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void tekxp330(machine_config &config);
+ void cpu_map(address_map &map);
+ void tms_map(address_map &map);
};
/* Memory Maps */
-static ADDRESS_MAP_START( cpu_map, AS_PROGRAM, 32, tekxp330_state )
+ADDRESS_MAP_START(tekxp330_state::cpu_map)
AM_RANGE(0x00000000, 0x003fffff) AM_RAM
AM_RANGE(0x1fc00000, 0x1fdfffff) AM_ROM AM_REGION("maincpu", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tms_map, AS_PROGRAM, 16, tekxp330_state )
+ADDRESS_MAP_START(tekxp330_state::tms_map)
ADDRESS_MAP_END
/* Input Ports */
diff --git a/src/mame/drivers/tempest.cpp b/src/mame/drivers/tempest.cpp
index 63fd1417eb8..df4a12e4777 100644
--- a/src/mame/drivers/tempest.cpp
+++ b/src/mame/drivers/tempest.cpp
@@ -340,6 +340,7 @@ public:
virtual void machine_start() override;
void tempest(machine_config &config);
+ void main_map(address_map &map);
};
@@ -440,7 +441,7 @@ READ8_MEMBER(tempest_state::rom_ae1f_r)
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, tempest_state )
+ADDRESS_MAP_START(tempest_state::main_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x0800, 0x080f) AM_WRITEONLY AM_SHARE("colorram")
AM_RANGE(0x0c00, 0x0c00) AM_READ_PORT("IN0")
diff --git a/src/mame/drivers/terak.cpp b/src/mame/drivers/terak.cpp
index bbbe73b4988..0917f65e756 100644
--- a/src/mame/drivers/terak.cpp
+++ b/src/mame/drivers/terak.cpp
@@ -31,6 +31,7 @@ public:
uint32_t screen_update_terak(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void terak(machine_config &config);
+ void mem_map(address_map &map);
private:
uint8_t m_unit;
uint8_t m_cmd;
@@ -68,7 +69,7 @@ WRITE16_MEMBER( terak_state::terak_fdc_data_w )
logerror("terak_fdc_data_w %04x\n",data);
}
-static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 16, terak_state)
+ADDRESS_MAP_START(terak_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0xf5ff ) AM_RAM // RAM
diff --git a/src/mame/drivers/terco.cpp b/src/mame/drivers/terco.cpp
index 9113c44e86f..74de2532a5a 100644
--- a/src/mame/drivers/terco.cpp
+++ b/src/mame/drivers/terco.cpp
@@ -266,6 +266,7 @@ public:
//,m_ay3600(*this, "ay3600")
{ }
void t4490(machine_config &config);
+ void t4490_map(address_map &map);
private:
required_device<m6800_cpu_device> m_maincpu;
// virtual void machine_reset() override { m_maincpu->reset(); LOG("--->%s()\n", FUNCNAME); };
@@ -277,7 +278,7 @@ private:
//required_device<ay3600_device> m_ay3600;
};
-static ADDRESS_MAP_START( t4490_map, AS_PROGRAM, 8, t4490_state )
+ADDRESS_MAP_START(t4490_state::t4490_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x3000, 0x3fff) AM_ROM AM_REGION("maincpu", 0x3000)
AM_RANGE(0x9500, 0x95ff) AM_RAM
diff --git a/src/mame/drivers/terminals.cpp b/src/mame/drivers/terminals.cpp
index 7e1af667bbe..ffc7c743115 100644
--- a/src/mame/drivers/terminals.cpp
+++ b/src/mame/drivers/terminals.cpp
@@ -21,12 +21,13 @@ public:
{ }
void terminals(machine_config &config);
+ void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
//required_region_ptr<u8> m_p_chargen;
};
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, terminals_state )
+ADDRESS_MAP_START(terminals_state::mem_map)
ADDRESS_MAP_END
static INPUT_PORTS_START( terminals )
diff --git a/src/mame/drivers/terracre.cpp b/src/mame/drivers/terracre.cpp
index 86e2d8ae5cb..e8551ff4f44 100644
--- a/src/mame/drivers/terracre.cpp
+++ b/src/mame/drivers/terracre.cpp
@@ -231,7 +231,7 @@ MACHINE_START_MEMBER(terracre_state,amazon)
save_item(NAME(m_mAmazonProtReg));
}
-static ADDRESS_MAP_START( terracre_map, AS_PROGRAM, 16, terracre_state )
+ADDRESS_MAP_START(terracre_state::terracre_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x020000, 0x0201ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x020200, 0x021fff) AM_RAM
@@ -250,7 +250,7 @@ static ADDRESS_MAP_START( terracre_map, AS_PROGRAM, 16, terracre_state )
AM_RANGE(0x028000, 0x0287ff) AM_RAM_WRITE(amazon_foreground_w) AM_SHARE("fg_videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( amazon_base_map, AS_PROGRAM, 16, terracre_state )
+ADDRESS_MAP_START(terracre_state::amazon_base_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x040000, 0x0401ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x040200, 0x040fff) AM_RAM
@@ -269,17 +269,17 @@ static ADDRESS_MAP_START( amazon_base_map, AS_PROGRAM, 16, terracre_state )
AM_RANGE(0x070000, 0x070003) AM_NOP // protection (nop for bootlegs)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( amazon_1412m2_map, AS_PROGRAM, 16, terracre_state)
+ADDRESS_MAP_START(terracre_state::amazon_1412m2_map)
AM_IMPORT_FROM( amazon_base_map )
AM_RANGE(0x070000, 0x070003) AM_READWRITE(amazon_protection_r, amazon_protection_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, terracre_state )
+ADDRESS_MAP_START(terracre_state::sound_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_3526_io_map, AS_IO, 8, terracre_state )
+ADDRESS_MAP_START(terracre_state::sound_3526_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("ymsnd", ym3526_device, write)
AM_RANGE(0x02, 0x02) AM_DEVWRITE("dac1", dac_byte_interface, write)
@@ -288,7 +288,7 @@ static ADDRESS_MAP_START( sound_3526_io_map, AS_IO, 8, terracre_state )
AM_RANGE(0x06, 0x06) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_2203_io_map, AS_IO, 8, terracre_state )
+ADDRESS_MAP_START(terracre_state::sound_2203_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("ym1", ym2203_device, write)
AM_RANGE(0x02, 0x02) AM_DEVWRITE("dac1", dac_byte_interface, write)
diff --git a/src/mame/drivers/testconsole.cpp b/src/mame/drivers/testconsole.cpp
index ffa8d403d34..41f65dba165 100644
--- a/src/mame/drivers/testconsole.cpp
+++ b/src/mame/drivers/testconsole.cpp
@@ -89,6 +89,8 @@ public:
}
void whousetc(machine_config &config);
+ void io_map(address_map &map);
+ void program_map(address_map &map);
protected:
virtual void machine_reset() override
{
@@ -100,7 +102,7 @@ protected:
};
-ADDRESS_MAP_START(program_map, AS_PROGRAM, 8, whouse_testcons_state)
+ADDRESS_MAP_START(whouse_testcons_state::program_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x2003) AM_DEVWRITE("dsp0", dl1416_device, bus_w)
@@ -115,7 +117,7 @@ ADDRESS_MAP_START(program_map, AS_PROGRAM, 8, whouse_testcons_state)
AM_RANGE(0x8803, 0x8803) AM_READ_PORT("row3")
ADDRESS_MAP_END
-ADDRESS_MAP_START(io_map, AS_IO, 8, whouse_testcons_state)
+ADDRESS_MAP_START(whouse_testcons_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x80, 0x87) AM_DEVREADWRITE("i8155", i8155_device, io_r, io_w)
diff --git a/src/mame/drivers/tetrisp2.cpp b/src/mame/drivers/tetrisp2.cpp
index c47fa444207..137ef555341 100644
--- a/src/mame/drivers/tetrisp2.cpp
+++ b/src/mame/drivers/tetrisp2.cpp
@@ -301,7 +301,7 @@ WRITE16_MEMBER(tetrisp2_state::tetrisp2_coincounter_w)
***************************************************************************/
-static ADDRESS_MAP_START( tetrisp2_map, AS_PROGRAM, 16, tetrisp2_state )
+ADDRESS_MAP_START(tetrisp2_state::tetrisp2_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM AM_SHARE("spriteram") // Object RAM
AM_RANGE(0x104000, 0x107fff) AM_RAM // Spare Object RAM
@@ -356,7 +356,7 @@ WRITE16_MEMBER(tetrisp2_state::nndmseal_b20000_w)
// popmessage("%04x",data);
}
-static ADDRESS_MAP_START( nndmseal_map, AS_PROGRAM, 16, tetrisp2_state )
+ADDRESS_MAP_START(tetrisp2_state::nndmseal_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM AM_SHARE("spriteram") // Object RAM
AM_RANGE(0x104000, 0x107fff) AM_RAM // Spare Object RAM
@@ -399,7 +399,7 @@ static ADDRESS_MAP_START( nndmseal_map, AS_PROGRAM, 16, tetrisp2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rockn1_map, AS_PROGRAM, 16, tetrisp2_state )
+ADDRESS_MAP_START(tetrisp2_state::rockn1_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM AM_SHARE("spriteram") // Object RAM
AM_RANGE(0x104000, 0x107fff) AM_RAM // Spare Object RAM
@@ -431,7 +431,7 @@ static ADDRESS_MAP_START( rockn1_map, AS_PROGRAM, 16, tetrisp2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rockn2_map, AS_PROGRAM, 16, tetrisp2_state )
+ADDRESS_MAP_START(tetrisp2_state::rockn2_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM AM_SHARE("spriteram") // Object RAM
AM_RANGE(0x104000, 0x107fff) AM_RAM // Spare Object RAM
@@ -463,7 +463,7 @@ static ADDRESS_MAP_START( rockn2_map, AS_PROGRAM, 16, tetrisp2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rocknms_main_map, AS_PROGRAM, 16, tetrisp2_state )
+ADDRESS_MAP_START(tetrisp2_state::rocknms_main_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM AM_SHARE("spriteram") // Object RAM
AM_RANGE(0x104000, 0x107fff) AM_RAM // Spare Object RAM
@@ -496,7 +496,7 @@ static ADDRESS_MAP_START( rocknms_main_map, AS_PROGRAM, 16, tetrisp2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rocknms_sub_map, AS_PROGRAM, 16, tetrisp2_state )
+ADDRESS_MAP_START(tetrisp2_state::rocknms_sub_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM AM_SHARE("spriteram2") // Object RAM
AM_RANGE(0x104000, 0x107fff) AM_RAM // Spare Object RAM
@@ -644,7 +644,7 @@ WRITE16_MEMBER(stepstag_state::stepstag_button_leds_w)
// Main CPU
-static ADDRESS_MAP_START( stepstag_map, AS_PROGRAM, 16, stepstag_state )
+ADDRESS_MAP_START(stepstag_state::stepstag_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM AM_SHARE("spriteram") // Object RAM
AM_RANGE(0x108000, 0x10ffff) AM_RAM // Work RAM
@@ -683,7 +683,7 @@ static ADDRESS_MAP_START( stepstag_map, AS_PROGRAM, 16, stepstag_state )
ADDRESS_MAP_END
// Sub CPU (sprites)
-static ADDRESS_MAP_START( stepstag_sub_map, AS_PROGRAM, 16, stepstag_state )
+ADDRESS_MAP_START(stepstag_state::stepstag_sub_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM
@@ -727,7 +727,7 @@ static ADDRESS_MAP_START( stepstag_sub_map, AS_PROGRAM, 16, stepstag_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vjdash_map, AS_PROGRAM, 16, stepstag_state )
+ADDRESS_MAP_START(stepstag_state::vjdash_map)
AM_IMPORT_FROM(stepstag_map)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tg100.cpp b/src/mame/drivers/tg100.cpp
index 595f8487c03..12bf5d83162 100644
--- a/src/mame/drivers/tg100.cpp
+++ b/src/mame/drivers/tg100.cpp
@@ -46,22 +46,25 @@ public:
required_device<cpu_device> m_maincpu;
required_device<multipcm_device> m_ymw258;
void tg100(machine_config &config);
+ void tg100_io_map(address_map &map);
+ void tg100_map(address_map &map);
+ void ymw258_map(address_map &map);
};
/* all memory accesses are decoded by the gate array... */
-static ADDRESS_MAP_START( tg100_map, AS_PROGRAM, 16, tg100_state )
+ADDRESS_MAP_START(tg100_state::tg100_map)
AM_RANGE(0x00000000, 0x0007ffff) AM_RAM /* gate array stuff */
AM_RANGE(0x00080000, 0x0009ffff) AM_ROM AM_REGION("prgrom", 0x00000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tg100_io_map, AS_IO, 8, tg100_state )
+ADDRESS_MAP_START(tg100_state::tg100_io_map)
// ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
static INPUT_PORTS_START( tg100 )
INPUT_PORTS_END
-static ADDRESS_MAP_START( ymw258_map, 0, 8, tg100_state )
+ADDRESS_MAP_START(tg100_state::ymw258_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tgtpanic.cpp b/src/mame/drivers/tgtpanic.cpp
index a459bf1e2dd..6bb7adabf56 100644
--- a/src/mame/drivers/tgtpanic.cpp
+++ b/src/mame/drivers/tgtpanic.cpp
@@ -38,6 +38,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void tgtpanic(machine_config &config);
+ void io_map(address_map &map);
+ void prg_map(address_map &map);
};
@@ -100,12 +102,12 @@ WRITE8_MEMBER(tgtpanic_state::color_w)
*
*************************************/
-static ADDRESS_MAP_START( prg_map, AS_PROGRAM, 8, tgtpanic_state )
+ADDRESS_MAP_START(tgtpanic_state::prg_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_RAM AM_SHARE("ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, tgtpanic_state )
+ADDRESS_MAP_START(tgtpanic_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_WRITE(color_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
diff --git a/src/mame/drivers/thayers.cpp b/src/mame/drivers/thayers.cpp
index 28113bad297..712e69bfc9e 100644
--- a/src/mame/drivers/thayers.cpp
+++ b/src/mame/drivers/thayers.cpp
@@ -105,6 +105,8 @@ public:
required_ioport_array<10> m_row;
void thayers(machine_config &config);
+ void thayers_io_map(address_map &map);
+ void thayers_map(address_map &map);
protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
};
@@ -615,13 +617,13 @@ READ8_MEMBER(thayers_state::ssi263_register_r)
/* Memory Maps */
-static ADDRESS_MAP_START( thayers_map, AS_PROGRAM, 8, thayers_state )
+ADDRESS_MAP_START(thayers_state::thayers_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_RAM
AM_RANGE(0xc000, 0xdfff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( thayers_io_map, AS_IO, 8, thayers_state )
+ADDRESS_MAP_START(thayers_state::thayers_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x07) AM_READWRITE(ssi263_register_r, ssi263_register_w)
AM_RANGE(0x20, 0x20) AM_WRITE(control_w)
diff --git a/src/mame/drivers/thedealr.cpp b/src/mame/drivers/thedealr.cpp
index c3c9a105adc..898f84bc288 100644
--- a/src/mame/drivers/thedealr.cpp
+++ b/src/mame/drivers/thedealr.cpp
@@ -77,6 +77,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(screen_vblank);
void thedealr(machine_config &config);
+ void thedealr(address_map &map);
+ void thedealr_sub(address_map &map);
};
/***************************************************************************
@@ -271,7 +273,7 @@ WRITE8_MEMBER(thedealr_state::unk_w)
// popmessage("UNK %02x", data);
}
-static ADDRESS_MAP_START( thedealr, AS_PROGRAM, 8, thedealr_state )
+ADDRESS_MAP_START(thedealr_state::thedealr)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x2000, 0x2000) AM_RAM // w ff at boot (after clearing commram)
@@ -305,7 +307,7 @@ ADDRESS_MAP_END
***************************************************************************/
-static ADDRESS_MAP_START( thedealr_sub, AS_PROGRAM, 8, thedealr_state )
+ADDRESS_MAP_START(thedealr_state::thedealr_sub)
// Work RAM
AM_RANGE(0x0000, 0x00ff) AM_RAM
AM_RANGE(0x0100, 0x01ff) AM_RAM
diff --git a/src/mame/drivers/thedeep.cpp b/src/mame/drivers/thedeep.cpp
index cb2cb068135..fc32b2d3caa 100644
--- a/src/mame/drivers/thedeep.cpp
+++ b/src/mame/drivers/thedeep.cpp
@@ -148,7 +148,7 @@ WRITE8_MEMBER(thedeep_state::e100_w)
logerror("pc %04x: e100 = %02x\n", m_maincpu->pc(),data);
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, thedeep_state )
+ADDRESS_MAP_START(thedeep_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") // ROM (banked)
AM_RANGE(0xc000, 0xcfff) AM_RAM
@@ -176,7 +176,7 @@ ADDRESS_MAP_END
***************************************************************************/
-static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, thedeep_state )
+ADDRESS_MAP_START(thedeep_state::audio_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x0800, 0x0801) AM_DEVWRITE("ymsnd", ym2203_device, write) //
AM_RANGE(0x3000, 0x3000) AM_DEVREAD("soundlatch", generic_latch_8_device, read) // From Main CPU
@@ -240,7 +240,7 @@ READ8_MEMBER(thedeep_state::p0_r)
return (ioport("COINS")->read() & 0xfe) | (coin_mux & 1);
}
-static ADDRESS_MAP_START( mcu_io_map, AS_IO, 8, thedeep_state )
+ADDRESS_MAP_START(thedeep_state::mcu_io_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(MCS51_PORT_P0,MCS51_PORT_P0) AM_READ(p0_r)
AM_RANGE(MCS51_PORT_P1,MCS51_PORT_P1) AM_WRITE(p1_w)
diff --git a/src/mame/drivers/thepit.cpp b/src/mame/drivers/thepit.cpp
index d42ba192576..0432ff13866 100644
--- a/src/mame/drivers/thepit.cpp
+++ b/src/mame/drivers/thepit.cpp
@@ -206,7 +206,7 @@ WRITE_LINE_MEMBER(thepit_state::nmi_mask_w)
}
-static ADDRESS_MAP_START( thepit_main_map, AS_PROGRAM, 8, thepit_state )
+ADDRESS_MAP_START(thepit_state::thepit_main_map)
AM_RANGE(0x0000, 0x4fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8bff) AM_MIRROR(0x0400) AM_RAM_WRITE(colorram_w) AM_SHARE("colorram")
@@ -221,7 +221,7 @@ static ADDRESS_MAP_START( thepit_main_map, AS_PROGRAM, 8, thepit_state )
AM_RANGE(0xb800, 0xb800) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( desertdan_main_map, AS_PROGRAM, 8, thepit_state )
+ADDRESS_MAP_START(thepit_state::desertdan_main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8bff) AM_MIRROR(0x0400) AM_RAM_WRITE(colorram_w) AM_SHARE("colorram")
@@ -236,7 +236,7 @@ static ADDRESS_MAP_START( desertdan_main_map, AS_PROGRAM, 8, thepit_state )
AM_RANGE(0xb800, 0xb800) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( intrepid_main_map, AS_PROGRAM, 8, thepit_state )
+ADDRESS_MAP_START(thepit_state::intrepid_main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8c00, 0x8fff) AM_READ(intrepid_colorram_mirror_r) AM_WRITE(colorram_w) /* mirror for intrepi2 */
@@ -253,13 +253,13 @@ static ADDRESS_MAP_START( intrepid_main_map, AS_PROGRAM, 8, thepit_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, thepit_state )
+ADDRESS_MAP_START(thepit_state::audio_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x3800, 0x3bff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audio_io_map, AS_IO, 8, thepit_state )
+ADDRESS_MAP_START(thepit_state::audio_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("soundlatch", generic_latch_8_device, clear_w)
AM_RANGE(0x8c, 0x8d) AM_DEVWRITE("ay2", ay8910_device, address_data_w)
diff --git a/src/mame/drivers/thief.cpp b/src/mame/drivers/thief.cpp
index ea8692436f7..9ce812028a6 100644
--- a/src/mame/drivers/thief.cpp
+++ b/src/mame/drivers/thief.cpp
@@ -133,13 +133,13 @@ READ8_MEMBER( thief_state::thief_io_r )
return data;
}
-static ADDRESS_MAP_START( sharkatt_main_map, AS_PROGRAM, 8, thief_state )
+ADDRESS_MAP_START(thief_state::sharkatt_main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM /* 2114 */
AM_RANGE(0xc000, 0xdfff) AM_READWRITE(thief_videoram_r, thief_videoram_w) /* 4116 */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( thief_main_map, AS_PROGRAM, 8, thief_state )
+ADDRESS_MAP_START(thief_state::thief_main_map)
AM_RANGE(0x0000, 0x0000) AM_WRITE(thief_blit_w)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM /* 2114 */
@@ -152,7 +152,7 @@ static ADDRESS_MAP_START( thief_main_map, AS_PROGRAM, 8, thief_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, thief_state )
+ADDRESS_MAP_START(thief_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITENOP /* watchdog */
AM_RANGE(0x10, 0x10) AM_WRITE(thief_video_control_w)
diff --git a/src/mame/drivers/thomson.cpp b/src/mame/drivers/thomson.cpp
index c3e1e70b2a5..ec3c643565c 100644
--- a/src/mame/drivers/thomson.cpp
+++ b/src/mame/drivers/thomson.cpp
@@ -309,7 +309,7 @@ They can run the same software and accept the same devices and extensions.
/* ------------ address maps ------------ */
-static ADDRESS_MAP_START ( to7, AS_PROGRAM, 8, thomson_state )
+ADDRESS_MAP_START(thomson_state::to7)
AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK ) AM_WRITE(to7_cartridge_w ) /* 4 * 16 KB */
AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK ) AM_WRITE(to7_vram_w )
@@ -819,7 +819,7 @@ In arabic mode, Ctrl+E / Ctrl+X to start / stop typing in-line latin.
**********************************************************************/
-static ADDRESS_MAP_START ( to770, AS_PROGRAM, 8, thomson_state )
+ADDRESS_MAP_START(thomson_state::to770)
AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE(to7_cartridge_w ) /* 4 * 16 KB */
AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE(to770_vram_w )
@@ -1018,7 +1018,7 @@ Differences include:
**********************************************************************/
-static ADDRESS_MAP_START ( mo5, AS_PROGRAM, 8, thomson_state )
+ADDRESS_MAP_START(thomson_state::mo5)
AM_RANGE ( 0x0000, 0x1fff ) AM_READ_BANK ( THOM_VRAM_BANK ) AM_WRITE(to770_vram_w )
AM_RANGE ( 0x2000, 0x9fff ) AM_RAMBANK ( THOM_BASE_BANK )
@@ -1239,7 +1239,7 @@ It was replaced quickly with the improved TO9+.
**********************************************************************/
-static ADDRESS_MAP_START ( to9, AS_PROGRAM, 8, thomson_state )
+ADDRESS_MAP_START(thomson_state::to9)
AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK ) AM_WRITE(to9_cartridge_w )/* 4 * 16 KB */
AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK ) AM_WRITE(to770_vram_w )
@@ -1567,7 +1567,7 @@ The TO8D is simply a TO8 with an integrated 3"1/2 floppy drive.
**********************************************************************/
-static ADDRESS_MAP_START ( to8, AS_PROGRAM, 8, thomson_state )
+ADDRESS_MAP_START(thomson_state::to8)
AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE(to8_cartridge_w ) /* 4 * 16 KB */
AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE(to770_vram_w )
@@ -1778,7 +1778,7 @@ The differences with the TO8 are:
**********************************************************************/
-static ADDRESS_MAP_START ( to9p, AS_PROGRAM, 8, thomson_state )
+ADDRESS_MAP_START(thomson_state::to9p)
AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE(to8_cartridge_w ) /* 4 * 16 KB */
AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE(to770_vram_w )
@@ -1957,7 +1957,7 @@ a PC XT.
**********************************************************************/
-static ADDRESS_MAP_START ( mo6, AS_PROGRAM, 8, thomson_state )
+ADDRESS_MAP_START(thomson_state::mo6)
AM_RANGE ( 0x0000, 0x1fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE(to770_vram_w )
AM_RANGE ( 0x2000, 0x3fff ) AM_READ_BANK ( TO8_SYS_LO) AM_WRITE(to8_sys_lo_w )
@@ -2310,7 +2310,7 @@ Here are the differences between the MO6 and MO5NR:
**********************************************************************/
-static ADDRESS_MAP_START ( mo5nr, AS_PROGRAM, 8, thomson_state )
+ADDRESS_MAP_START(thomson_state::mo5nr)
AM_RANGE ( 0x0000, 0x1fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE(to770_vram_w )
AM_RANGE ( 0x2000, 0x3fff ) AM_READ_BANK ( TO8_SYS_LO) AM_WRITE(to8_sys_lo_w )
diff --git a/src/mame/drivers/thoop2.cpp b/src/mame/drivers/thoop2.cpp
index 654e54232e9..9e62bd48cdb 100644
--- a/src/mame/drivers/thoop2.cpp
+++ b/src/mame/drivers/thoop2.cpp
@@ -116,12 +116,12 @@ READ8_MEMBER(thoop2_state::shareram_r)
}
-static ADDRESS_MAP_START( mcu_hostmem_map, 0, 8, thoop2_state )
+ADDRESS_MAP_START(thoop2_state::mcu_hostmem_map)
AM_RANGE(0x8000, 0xffff) AM_READWRITE(shareram_r, shareram_w) // confirmed that 0x8000 - 0xffff is a window into 68k shared RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( thoop2_map, AS_PROGRAM, 16, thoop2_state )
+ADDRESS_MAP_START(thoop2_state::thoop2_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
AM_RANGE(0x100000, 0x101fff) AM_RAM_WRITE(vram_w) AM_SHARE("videoram") /* Video RAM */
AM_RANGE(0x108000, 0x108007) AM_WRITEONLY AM_SHARE("vregs") /* Video Registers */
@@ -133,7 +133,7 @@ static ADDRESS_MAP_START( thoop2_map, AS_PROGRAM, 16, thoop2_state )
AM_RANGE(0x700004, 0x700005) AM_READ_PORT("P1")
AM_RANGE(0x700006, 0x700007) AM_READ_PORT("P2")
AM_RANGE(0x700008, 0x700009) AM_READ_PORT("SYSTEM")
- AM_RANGE(0x70000a, 0x70000b) AM_SELECT(0x000070) AM_DEVWRITE8_MOD("outlatch", ls259_device, write_d0, rshift<3>, 0x00ff)
+ ;map(0x70000a, 0x70000b).select(0x000070).lw8("outlatch_w", [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_outlatch->write_d0(space, offset >> 3, data, mem_mask); }).umask16(0x00ff);
AM_RANGE(0x70000c, 0x70000d) AM_WRITE8(OKIM6295_bankswitch_w, 0x00ff) /* OKI6295 bankswitch */
AM_RANGE(0x70000e, 0x70000f) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff) /* OKI6295 data register */
AM_RANGE(0xfe0000, 0xfe7fff) AM_RAM /* Work RAM */
@@ -141,7 +141,7 @@ static ADDRESS_MAP_START( thoop2_map, AS_PROGRAM, 16, thoop2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( oki_map, 0, 8, thoop2_state )
+ADDRESS_MAP_START(thoop2_state::oki_map)
AM_RANGE(0x00000, 0x2ffff) AM_ROM
AM_RANGE(0x30000, 0x3ffff) AM_ROMBANK("okibank")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/thunderj.cpp b/src/mame/drivers/thunderj.cpp
index 41f3ccf6c8d..79e582c77b1 100644
--- a/src/mame/drivers/thunderj.cpp
+++ b/src/mame/drivers/thunderj.cpp
@@ -116,7 +116,7 @@ WRITE16_MEMBER(thunderj_state::latch_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, thunderj_state )
+ADDRESS_MAP_START(thunderj_state::main_map)
AM_RANGE(0x000000, 0x09ffff) AM_ROM
AM_RANGE(0x0e0000, 0x0e0fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
AM_RANGE(0x160000, 0x16ffff) AM_RAM AM_SHARE("share1")
@@ -149,7 +149,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( extra_map, AS_PROGRAM, 16, thunderj_state )
+ADDRESS_MAP_START(thunderj_state::extra_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x060000, 0x07ffff) AM_ROM
AM_RANGE(0x160000, 0x16ffff) AM_RAM AM_SHARE("share1")
diff --git a/src/mame/drivers/thunderx.cpp b/src/mame/drivers/thunderx.cpp
index 5a17a27a1b1..6e27d353135 100644
--- a/src/mame/drivers/thunderx.cpp
+++ b/src/mame/drivers/thunderx.cpp
@@ -402,7 +402,7 @@ WRITE8_MEMBER(thunderx_state::k052109_051960_w)
/***************************************************************************/
-static ADDRESS_MAP_START( scontra_map, AS_PROGRAM, 8, thunderx_state )
+ADDRESS_MAP_START(thunderx_state::scontra_map)
AM_RANGE(0x0000, 0x3fff) AM_READWRITE(k052109_051960_r, k052109_051960_w) /* video RAM + sprite RAM */
AM_RANGE(0x1f80, 0x1f80) AM_WRITE(scontra_bankswitch_w) /* bankswitch control + coin counters */
@@ -423,38 +423,38 @@ static ADDRESS_MAP_START( scontra_map, AS_PROGRAM, 8, thunderx_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( thunderx_map, AS_PROGRAM, 8, thunderx_state )
+ADDRESS_MAP_START(thunderx_state::thunderx_map)
AM_IMPORT_FROM(scontra_map)
AM_RANGE(0x1f80, 0x1f80) AM_WRITE(thunderx_videobank_w)
AM_RANGE(0x1f98, 0x1f98) AM_READWRITE(_1f98_r, thunderx_1f98_w) /* registers */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( gbusters_map, AS_PROGRAM, 8, thunderx_state )
+ADDRESS_MAP_START(thunderx_state::gbusters_map)
AM_IMPORT_FROM(scontra_map)
AM_RANGE(0x1f80, 0x1f80) AM_WRITE(gbusters_videobank_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( scontra_bank5800_map, AS_PROGRAM, 8, thunderx_state )
+ADDRESS_MAP_START(thunderx_state::scontra_bank5800_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x0800, 0x0fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( thunderx_bank5800_map, AS_PROGRAM, 8, thunderx_state )
+ADDRESS_MAP_START(thunderx_state::thunderx_bank5800_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x0800, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x17ff) AM_READWRITE(pmc_r, pmc_w) AM_SHARE("pmcram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( thunderx_sound_map, AS_PROGRAM, 8, thunderx_state )
+ADDRESS_MAP_START(thunderx_state::thunderx_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( scontra_sound_map, AS_PROGRAM, 8, thunderx_state )
+ADDRESS_MAP_START(thunderx_state::scontra_sound_map)
AM_IMPORT_FROM(thunderx_sound_map)
AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE("k007232", k007232_device, read, write)
AM_RANGE(0xf000, 0xf000) AM_WRITE(k007232_bankswitch_w)
diff --git a/src/mame/drivers/ti630.cpp b/src/mame/drivers/ti630.cpp
index 069935a37a7..a170a431384 100644
--- a/src/mame/drivers/ti630.cpp
+++ b/src/mame/drivers/ti630.cpp
@@ -55,6 +55,8 @@ public:
DECLARE_DRIVER_INIT(ti630);
DECLARE_PALETTE_INIT(ti630);
void ti630(machine_config &config);
+ void i80c31_io(address_map &map);
+ void i80c31_prg(address_map &map);
private:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -64,7 +66,7 @@ private:
#define LOG_IO_PORTS 0
-static ADDRESS_MAP_START(i80c31_prg, AS_PROGRAM, 8, ti630_state)
+ADDRESS_MAP_START(ti630_state::i80c31_prg)
AM_RANGE(0x0000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -72,7 +74,7 @@ DRIVER_INIT_MEMBER( ti630_state, ti630 )
{
}
-static ADDRESS_MAP_START(i80c31_io, AS_IO, 8, ti630_state)
+ADDRESS_MAP_START(ti630_state::i80c31_io)
AM_RANGE(0x0000,0x0000) /*AM_MIRROR(?)*/ AM_DEVWRITE("hd44780", hd44780_device, control_write)
AM_RANGE(0x1000,0x1000) /*AM_MIRROR(?)*/ AM_DEVWRITE("hd44780", hd44780_device, data_write)
AM_RANGE(0x2000,0x2000) /*AM_MIRROR(?)*/ AM_DEVREAD("hd44780", hd44780_device, control_read)
diff --git a/src/mame/drivers/ti74.cpp b/src/mame/drivers/ti74.cpp
index cfd8e21dd51..ddecc778809 100644
--- a/src/mame/drivers/ti74.cpp
+++ b/src/mame/drivers/ti74.cpp
@@ -117,6 +117,7 @@ public:
HD44780_PIXEL_UPDATE(ti95_pixel_update);
void ti74(machine_config &config);
void ti95(machine_config &config);
+ void main_map(address_map &map);
};
@@ -265,7 +266,7 @@ WRITE8_MEMBER(ti74_state::bankswitch_w)
// d3: N/C
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, ti74_state )
+ADDRESS_MAP_START(ti74_state::main_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x1000, 0x1001) AM_DEVREADWRITE("hd44780", hd44780_device, read, write)
AM_RANGE(0x2000, 0x3fff) AM_RAM AM_SHARE("sysram.ic3")
diff --git a/src/mame/drivers/ti85.cpp b/src/mame/drivers/ti85.cpp
index 4e5d9985c99..a10b0125ec6 100644
--- a/src/mame/drivers/ti85.cpp
+++ b/src/mame/drivers/ti85.cpp
@@ -212,7 +212,7 @@ TI-86 ports:
/* port i/o functions */
-static ADDRESS_MAP_START( ti81_io, AS_IO, 8, ti85_state )
+ADDRESS_MAP_START(ti85_state::ti81_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x0000, 0x0000) AM_READWRITE(ti85_port_0000_r, ti85_port_0000_w )
AM_RANGE(0x0001, 0x0001) AM_READWRITE(ti8x_keypad_r, ti8x_keypad_w )
@@ -223,7 +223,7 @@ static ADDRESS_MAP_START( ti81_io, AS_IO, 8, ti85_state )
AM_RANGE(0x0007, 0x0007) AM_WRITE(ti81_port_0007_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ti85_io, AS_IO, 8, ti85_state )
+ADDRESS_MAP_START(ti85_state::ti85_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x0000, 0x0000) AM_READWRITE(ti85_port_0000_r, ti85_port_0000_w )
AM_RANGE(0x0001, 0x0001) AM_READWRITE(ti8x_keypad_r, ti8x_keypad_w )
@@ -235,7 +235,7 @@ static ADDRESS_MAP_START( ti85_io, AS_IO, 8, ti85_state )
AM_RANGE(0x0007, 0x0007) AM_READWRITE(ti8x_serial_r, ti8x_serial_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ti82_io, AS_IO, 8, ti85_state )
+ADDRESS_MAP_START(ti85_state::ti82_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x0000, 0x0000) AM_READWRITE(ti8x_serial_r, ti8x_serial_w )
AM_RANGE(0x0001, 0x0001) AM_READWRITE(ti8x_keypad_r, ti8x_keypad_w )
@@ -246,7 +246,7 @@ static ADDRESS_MAP_START( ti82_io, AS_IO, 8, ti85_state )
AM_RANGE(0x0011, 0x0011) AM_DEVREADWRITE("t6a04", t6a04_device, data_read, data_write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ti81v2_io, AS_IO, 8, ti85_state )
+ADDRESS_MAP_START(ti85_state::ti81v2_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x0001, 0x0001) AM_READWRITE(ti8x_keypad_r, ti8x_keypad_w )
AM_RANGE(0x0002, 0x0002) AM_READWRITE(ti82_port_0002_r, ti82_port_0002_w )
@@ -256,7 +256,7 @@ static ADDRESS_MAP_START( ti81v2_io, AS_IO, 8, ti85_state )
AM_RANGE(0x0011, 0x0011) AM_DEVREADWRITE("t6a04", t6a04_device, data_read, data_write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ti83_io, AS_IO, 8, ti85_state )
+ADDRESS_MAP_START(ti85_state::ti83_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x0000, 0x0000) AM_READWRITE(ti83_port_0000_r, ti83_port_0000_w ) //TODO
AM_RANGE(0x0001, 0x0001) AM_READWRITE(ti8x_keypad_r, ti8x_keypad_w )
@@ -268,7 +268,7 @@ static ADDRESS_MAP_START( ti83_io, AS_IO, 8, ti85_state )
AM_RANGE(0x0014, 0x0014) AM_READ_PORT( "BATTERY" )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ti83p_io, AS_IO, 8, ti85_state )
+ADDRESS_MAP_START(ti85_state::ti83p_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x0000, 0x0000) AM_READWRITE(ti8x_plus_serial_r, ti8x_plus_serial_w)
AM_RANGE(0x0001, 0x0001) AM_READWRITE(ti8x_keypad_r, ti8x_keypad_w )
@@ -282,7 +282,7 @@ static ADDRESS_MAP_START( ti83p_io, AS_IO, 8, ti85_state )
// AM_RANGE(0x0014, 0x0014) AM_WRITE(ti83p_port_0014_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ti83pse_io, AS_IO, 8, ti85_state )
+ADDRESS_MAP_START(ti85_state::ti83pse_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x0000, 0x0000) AM_READWRITE(ti8x_plus_serial_r, ti8x_plus_serial_w)
AM_RANGE(0x0001, 0x0001) AM_READWRITE(ti8x_keypad_r, ti8x_keypad_w )
@@ -316,7 +316,7 @@ static ADDRESS_MAP_START( ti83pse_io, AS_IO, 8, ti85_state )
AM_RANGE(0x0056, 0x0056) AM_READ(ti84pse_port_0056_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ti86_io, AS_IO, 8, ti85_state )
+ADDRESS_MAP_START(ti85_state::ti86_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x0000, 0x0000) AM_READWRITE(ti85_port_0000_r, ti85_port_0000_w )
AM_RANGE(0x0001, 0x0001) AM_READWRITE(ti8x_keypad_r, ti8x_keypad_w )
@@ -330,36 +330,36 @@ ADDRESS_MAP_END
/* memory w/r functions */
-static ADDRESS_MAP_START( ti81_mem , AS_PROGRAM, 8, ti85_state )
+ADDRESS_MAP_START(ti85_state::ti81_mem)
AM_RANGE(0x0000, 0x3fff) AM_ROMBANK("bank1")
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank2")
AM_RANGE(0x8000, 0xffff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ti86_mem , AS_PROGRAM, 8, ti85_state )
+ADDRESS_MAP_START(ti85_state::ti86_mem)
AM_RANGE(0x0000, 0x3fff) AM_ROMBANK("bank1")
AM_RANGE(0x4000, 0x7fff) AM_RAMBANK("bank2")
AM_RANGE(0x8000, 0xbfff) AM_RAMBANK("bank3")
AM_RANGE(0xc000, 0xffff) AM_RAMBANK("bank4")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ti83pse_banked_mem , AS_PROGRAM, 8, ti85_state )
+ADDRESS_MAP_START(ti85_state::ti83pse_banked_mem)
AM_RANGE(0x0000, 0x1fffff) AM_DEVREADWRITE("flash", intelfsh8_device, read, write)
AM_RANGE(0x200000, 0x21BFFF) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ti84p_banked_mem , AS_PROGRAM, 8, ti85_state )
+ADDRESS_MAP_START(ti85_state::ti84p_banked_mem)
AM_RANGE(0x0000, 0xfffff) AM_DEVREADWRITE("flash", intelfsh8_device, read, write)
AM_RANGE(0x200000, 0x21BFFF) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ti83p_banked_mem , AS_PROGRAM, 8, ti85_state )
+ADDRESS_MAP_START(ti85_state::ti83p_banked_mem)
AM_RANGE(0x00000, 0x7ffff) AM_DEVREADWRITE("flash", intelfsh8_device, read, write)
AM_RANGE(0x100000, 0x107fff) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ti83p_asic_mem , AS_PROGRAM, 8, ti85_state )
+ADDRESS_MAP_START(ti85_state::ti83p_asic_mem)
AM_RANGE(0x0000, 0x3fff) AM_DEVREADWRITE("membank1", address_map_bank_device, read8, write8)
AM_RANGE(0x4000, 0x7fff) AM_DEVREADWRITE("membank2", address_map_bank_device, read8, write8)
AM_RANGE(0x8000, 0xbfff) AM_DEVREADWRITE("membank3", address_map_bank_device, read8, write8)
diff --git a/src/mame/drivers/ti89.cpp b/src/mame/drivers/ti89.cpp
index 9da6c3f51fc..0f8c58c3bda 100644
--- a/src/mame/drivers/ti89.cpp
+++ b/src/mame/drivers/ti89.cpp
@@ -196,7 +196,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(ti68k_state::ti68k_timer_callback)
}
-static ADDRESS_MAP_START(ti92_mem, AS_PROGRAM, 16, ti68k_state)
+ADDRESS_MAP_START(ti68k_state::ti92_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x0fffff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x200000, 0x5fffff) AM_UNMAP // ROM
@@ -204,7 +204,7 @@ static ADDRESS_MAP_START(ti92_mem, AS_PROGRAM, 16, ti68k_state)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(ti89_mem, AS_PROGRAM, 16, ti68k_state)
+ADDRESS_MAP_START(ti68k_state::ti89_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x0fffff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x200000, 0x3fffff) AM_READWRITE(flash_r, flash_w)
@@ -214,7 +214,7 @@ static ADDRESS_MAP_START(ti89_mem, AS_PROGRAM, 16, ti68k_state)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(ti92p_mem, AS_PROGRAM, 16, ti68k_state)
+ADDRESS_MAP_START(ti68k_state::ti92p_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x0fffff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x200000, 0x3fffff) AM_NOP
@@ -224,7 +224,7 @@ static ADDRESS_MAP_START(ti92p_mem, AS_PROGRAM, 16, ti68k_state)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(v200_mem, AS_PROGRAM, 16, ti68k_state)
+ADDRESS_MAP_START(ti68k_state::v200_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x0fffff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x200000, 0x5fffff) AM_READWRITE(flash_r, flash_w)
@@ -233,7 +233,7 @@ static ADDRESS_MAP_START(v200_mem, AS_PROGRAM, 16, ti68k_state)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(ti89t_mem, AS_PROGRAM, 16, ti68k_state)
+ADDRESS_MAP_START(ti68k_state::ti89t_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x0fffff) AM_RAM AM_MIRROR(0x200000) AM_SHARE("nvram")
AM_RANGE(0x600000, 0x6fffff) AM_READWRITE(ti68k_io_r, ti68k_io_w)
diff --git a/src/mame/drivers/ti990_10.cpp b/src/mame/drivers/ti990_10.cpp
index 296ae0d75dd..6be8da03640 100644
--- a/src/mame/drivers/ti990_10.cpp
+++ b/src/mame/drivers/ti990_10.cpp
@@ -107,6 +107,8 @@ public:
uint16_t m_intlines;
int m_ckon_state;
void ti990_10(machine_config &config);
+ void ti990_10_io(address_map &map);
+ void ti990_10_memmap(address_map &map);
};
@@ -275,7 +277,7 @@ WRITE_LINE_MEMBER(ti990_10_state::key_interrupt)
Memory map - see description above
*/
-static ADDRESS_MAP_START(ti990_10_memmap, AS_PROGRAM, 16, ti990_10_state )
+ADDRESS_MAP_START(ti990_10_state::ti990_10_memmap)
AM_RANGE(0x000000, 0x0fffff) AM_RAM /* let's say we have 1MB of RAM */
AM_RANGE(0x100000, 0x1ff7ff) AM_NOP /* free TILINE space */
@@ -292,7 +294,7 @@ ADDRESS_MAP_END
CRU map
*/
-static ADDRESS_MAP_START(ti990_10_io, AS_IO, 8, ti990_10_state )
+ADDRESS_MAP_START(ti990_10_state::ti990_10_io)
AM_RANGE(0x10, 0x11) AM_DEVREAD("vdt911", vdt911_device, cru_r)
AM_RANGE(0x80, 0x8f) AM_DEVWRITE("vdt911", vdt911_device, cru_w)
AM_RANGE(0x1fa, 0x1fb) AM_NOP // AM_READ(ti990_10_mapper_cru_r)
diff --git a/src/mame/drivers/ti990_4.cpp b/src/mame/drivers/ti990_4.cpp
index 55eea89d520..769c2face14 100644
--- a/src/mame/drivers/ti990_4.cpp
+++ b/src/mame/drivers/ti990_4.cpp
@@ -71,6 +71,9 @@ public:
void ti990_4v(machine_config &config);
void ti990_4(machine_config &config);
+ void cru_map(address_map &map);
+ void cru_map_v(address_map &map);
+ void memmap(address_map &map);
private:
void hold_load();
void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
@@ -210,7 +213,7 @@ READ8_MEMBER( ti990_4_state::interrupt_level )
Memory map - see description above
*/
-static ADDRESS_MAP_START(memmap, AS_PROGRAM, 16, ti990_4_state )
+ADDRESS_MAP_START(ti990_4_state::memmap)
AM_RANGE(0x0000, 0x7fff) AM_RAM /* dynamic RAM */
AM_RANGE(0x8000, 0xf7ff) AM_NOP /* reserved for expansion */
AM_RANGE(0xf800, 0xfbff) AM_RAM /* static RAM? */
@@ -240,7 +243,7 @@ ADDRESS_MAP_END
0x0a0-0x0bf: VDT3 (int ??? - wired to int 9, unused)
*/
-static ADDRESS_MAP_START(cru_map, AS_IO, 8, ti990_4_state )
+ADDRESS_MAP_START(ti990_4_state::cru_map)
AM_RANGE(0x00, 0x01) AM_DEVREAD("asr733", asr733_device, cru_r)
AM_RANGE(0x00, 0x0f) AM_DEVWRITE("asr733", asr733_device, cru_w)
@@ -251,7 +254,7 @@ static ADDRESS_MAP_START(cru_map, AS_IO, 8, ti990_4_state )
AM_RANGE(0xff0, 0xfff) AM_WRITE( panel_write )
ADDRESS_MAP_END
-static ADDRESS_MAP_START(cru_map_v, AS_IO, 8, ti990_4_state )
+ADDRESS_MAP_START(ti990_4_state::cru_map_v)
AM_RANGE(0x10, 0x11) AM_DEVREAD("vdt911", vdt911_device, cru_r)
AM_RANGE(0x80, 0x8f) AM_DEVWRITE("vdt911", vdt911_device, cru_w)
diff --git a/src/mame/drivers/ti99_2.cpp b/src/mame/drivers/ti99_2.cpp
index 181a97b5584..0257ad2f5cf 100644
--- a/src/mame/drivers/ti99_2.cpp
+++ b/src/mame/drivers/ti99_2.cpp
@@ -114,6 +114,8 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
void ti99_2(machine_config &config);
+ void ti99_2_io(address_map &map);
+ void ti99_2_memmap(address_map &map);
};
@@ -217,7 +219,7 @@ GFXDECODE_END
Memory map - see description above
*/
-static ADDRESS_MAP_START( ti99_2_memmap, AS_PROGRAM, 8, ti99_2_state )
+ADDRESS_MAP_START(ti99_2_state::ti99_2_memmap)
AM_RANGE(0x0000, 0x3fff) AM_ROM /* system ROM */
AM_RANGE(0x4000, 0x5fff) AM_ROMBANK("bank1") /* system ROM, banked on 32kb ROMs protos */
AM_RANGE(0x6000, 0xdfff) AM_NOP /* free for expansion */
@@ -294,7 +296,7 @@ READ8_MEMBER(ti99_2_state::ti99_2_read_misc_cru)
return 0;
}
-static ADDRESS_MAP_START(ti99_2_io, AS_IO, 8, ti99_2_state )
+ADDRESS_MAP_START(ti99_2_state::ti99_2_io)
AM_RANGE(0x0E00, 0x0E7f) AM_READ(ti99_2_read_kbd)
AM_RANGE(0x0E80, 0x0Eff) AM_READ(ti99_2_read_misc_cru)
AM_RANGE(0x7000, 0x73ff) AM_WRITE(ti99_2_write_kbd)
diff --git a/src/mame/drivers/ti99_4p.cpp b/src/mame/drivers/ti99_4p.cpp
index e992eef846c..99db8ddf733 100644
--- a/src/mame/drivers/ti99_4p.cpp
+++ b/src/mame/drivers/ti99_4p.cpp
@@ -185,6 +185,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(video_interrupt_in);
void ti99_4p_60hz(machine_config &config);
+ void cru_map(address_map &map);
+ void memmap(address_map &map);
private:
void datamux_clock_in(int clock);
@@ -282,11 +284,11 @@ enum
ROM6UBASE = 0xe000
};
-static ADDRESS_MAP_START(memmap, AS_PROGRAM, 16, ti99_4p_state)
+ADDRESS_MAP_START(ti99_4p_state::memmap)
AM_RANGE(0x0000, 0xffff) AM_READWRITE( memread, memwrite ) AM_SETOFFSET( setoffset )
ADDRESS_MAP_END
-static ADDRESS_MAP_START(cru_map, AS_IO, 8, ti99_4p_state)
+ADDRESS_MAP_START(ti99_4p_state::cru_map)
AM_RANGE(0x0000, 0x01ff) AM_READ( cruread )
AM_RANGE(0x0000, 0x003f) AM_DEVREAD(TI_TMS9901_TAG, tms9901_device, read)
diff --git a/src/mame/drivers/ti99_4x.cpp b/src/mame/drivers/ti99_4x.cpp
index 99aeee77169..d3a5321dd04 100644
--- a/src/mame/drivers/ti99_4x.cpp
+++ b/src/mame/drivers/ti99_4x.cpp
@@ -153,6 +153,8 @@ public:
void ti99_4a_60hz(machine_config &config);
void ti99_4a(machine_config &config);
void ti99_4_60hz(machine_config &config);
+ void cru_map(address_map &map);
+ void memmap(address_map &map);
private:
void set_keyboard_column(int number, int data);
int m_keyboard_column;
@@ -214,7 +216,7 @@ enum
/*
Memory map. All of the work is done in the datamux (see datamux.c).
*/
-static ADDRESS_MAP_START(memmap, AS_PROGRAM, 16, ti99_4x_state)
+ADDRESS_MAP_START(ti99_4x_state::memmap)
ADDRESS_MAP_GLOBAL_MASK(0xffff)
AM_RANGE(0x0000, 0xffff) AM_DEVREADWRITE(TI99_DATAMUX_TAG, bus::ti99::internal::datamux_device, read, write) AM_DEVSETOFFSET(TI99_DATAMUX_TAG, bus::ti99::internal::datamux_device, setoffset)
ADDRESS_MAP_END
@@ -239,7 +241,7 @@ ADDRESS_MAP_END
Write:0000 - 01ff corresponds to bit 0 of base address 0000 - 03fe
*/
-static ADDRESS_MAP_START(cru_map, AS_IO, 8, ti99_4x_state)
+ADDRESS_MAP_START(ti99_4x_state::cru_map)
AM_RANGE(0x0000, 0x01ff) AM_READ(cruread)
AM_RANGE(0x0000, 0x0003) AM_MIRROR(0x003c) AM_DEVREAD(TI_TMS9901_TAG, tms9901_device, read)
diff --git a/src/mame/drivers/ti99_8.cpp b/src/mame/drivers/ti99_8.cpp
index 74ef442b379..8815dcfd9df 100644
--- a/src/mame/drivers/ti99_8.cpp
+++ b/src/mame/drivers/ti99_8.cpp
@@ -264,6 +264,8 @@ public:
void ti99_8(machine_config &config);
void ti99_8_60hz(machine_config &config);
void ti99_8_50hz(machine_config &config);
+ void crumap(address_map &map);
+ void memmap(address_map &map);
private:
// Keyboard support
void set_keyboard_column(int number, int data);
@@ -290,7 +292,7 @@ private:
Memory map. We have a configurable mapper, so we need to delegate the
job to the mapper completely.
*/
-static ADDRESS_MAP_START(memmap, AS_PROGRAM, 8, ti99_8_state)
+ADDRESS_MAP_START(ti99_8_state::memmap)
AM_RANGE(0x0000, 0xffff) AM_DEVREADWRITE(TI998_MAINBOARD_TAG, bus::ti99::internal::mainboard8_device, read, write) AM_DEVSETOFFSET(TI998_MAINBOARD_TAG, bus::ti99::internal::mainboard8_device, setoffset)
ADDRESS_MAP_END
@@ -301,7 +303,7 @@ ADDRESS_MAP_END
(decoded by the "Vaquerro" chip, signal NNOICS*)
*/
-static ADDRESS_MAP_START(crumap, AS_IO, 8, ti99_8_state)
+ADDRESS_MAP_START(ti99_8_state::crumap)
AM_RANGE(0x0000, 0x02ff) AM_READ(cruread)
AM_RANGE(0x0000, 0x0003) AM_DEVREAD(TI_TMS9901_TAG, tms9901_device, read)
diff --git a/src/mame/drivers/tiamc1.cpp b/src/mame/drivers/tiamc1.cpp
index e9be8a809be..63bb24ed108 100644
--- a/src/mame/drivers/tiamc1.cpp
+++ b/src/mame/drivers/tiamc1.cpp
@@ -151,19 +151,19 @@ WRITE_LINE_MEMBER(tiamc1_state::pit8253_2_w)
}
-static ADDRESS_MAP_START( tiamc1_map, AS_PROGRAM, 8, tiamc1_state )
+ADDRESS_MAP_START(tiamc1_state::tiamc1_map)
AM_RANGE(0xb000, 0xb7ff) AM_WRITE(tiamc1_videoram_w)
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kotrybolov_map, AS_PROGRAM, 8, tiamc1_state )
+ADDRESS_MAP_START(tiamc1_state::kotrybolov_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xf000, 0xf3ff) AM_WRITE(kot_videoram_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tiamc1_io_map, AS_IO, 8, tiamc1_state )
+ADDRESS_MAP_START(tiamc1_state::tiamc1_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x40, 0x4f) AM_WRITE(tiamc1_sprite_y_w) /* sprites Y */
AM_RANGE(0x50, 0x5f) AM_WRITE(tiamc1_sprite_x_w) /* sprites X */
@@ -180,7 +180,7 @@ static ADDRESS_MAP_START( tiamc1_io_map, AS_IO, 8, tiamc1_state )
AM_RANGE(0xda, 0xda) AM_DEVWRITE("2x8253", tiamc1_sound_device, tiamc1_timer1_gate_w) /* timer 1 gate control */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kotrybolov_io_map, AS_IO, 8, tiamc1_state )
+ADDRESS_MAP_START(tiamc1_state::kotrybolov_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x0f) AM_WRITE(tiamc1_sprite_y_w) // sprites Y
AM_RANGE(0x10, 0x1f) AM_WRITE(tiamc1_sprite_x_w) // sprites X
diff --git a/src/mame/drivers/tickee.cpp b/src/mame/drivers/tickee.cpp
index 2cc96c48651..0bb3940781c 100644
--- a/src/mame/drivers/tickee.cpp
+++ b/src/mame/drivers/tickee.cpp
@@ -95,6 +95,10 @@ public:
void ghoshunt(machine_config &config);
void tickee(machine_config &config);
void mouseatk(machine_config &config);
+ void ghoshunt_map(address_map &map);
+ void mouseatk_map(address_map &map);
+ void rapidfir_map(address_map &map);
+ void tickee_map(address_map &map);
protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
};
@@ -436,7 +440,7 @@ WRITE16_MEMBER(tickee_state::sound_bank_w)
*
*************************************/
-static ADDRESS_MAP_START( tickee_map, AS_PROGRAM, 16, tickee_state )
+ADDRESS_MAP_START(tickee_state::tickee_map)
AM_RANGE(0x00000000, 0x003fffff) AM_RAM AM_SHARE("vram")
AM_RANGE(0x02000000, 0x02ffffff) AM_ROM AM_REGION("user1", 0)
AM_RANGE(0x04000000, 0x04003fff) AM_RAM AM_SHARE("nvram")
@@ -454,7 +458,7 @@ ADDRESS_MAP_END
/* addreses in the 04x range shifted slightly...*/
-static ADDRESS_MAP_START( ghoshunt_map, AS_PROGRAM, 16, tickee_state )
+ADDRESS_MAP_START(tickee_state::ghoshunt_map)
AM_RANGE(0x00000000, 0x003fffff) AM_RAM AM_SHARE("vram")
AM_RANGE(0x02000000, 0x02ffffff) AM_ROM AM_REGION("user1", 0)
AM_RANGE(0x04100000, 0x04103fff) AM_RAM AM_SHARE("nvram")
@@ -470,7 +474,7 @@ static ADDRESS_MAP_START( ghoshunt_map, AS_PROGRAM, 16, tickee_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mouseatk_map, AS_PROGRAM, 16, tickee_state )
+ADDRESS_MAP_START(tickee_state::mouseatk_map)
AM_RANGE(0x00000000, 0x003fffff) AM_RAM AM_SHARE("vram")
AM_RANGE(0x02000000, 0x02ffffff) AM_ROM AM_REGION("user1", 0)
AM_RANGE(0x04000000, 0x04003fff) AM_RAM AM_SHARE("nvram")
@@ -487,7 +491,7 @@ ADDRESS_MAP_END
/* newer hardware */
-static ADDRESS_MAP_START( rapidfir_map, AS_PROGRAM, 16, tickee_state )
+ADDRESS_MAP_START(tickee_state::rapidfir_map)
AM_RANGE(0x00000000, 0x007fffff) AM_RAM AM_SHARE("vram")
AM_RANGE(0x02000000, 0x027fffff) AM_READWRITE(rapidfir_transparent_r, rapidfir_transparent_w)
AM_RANGE(0xc0000000, 0xc00001ff) AM_DEVREADWRITE("maincpu", tms34010_device, io_register_r, io_register_w)
diff --git a/src/mame/drivers/tigeroad.cpp b/src/mame/drivers/tigeroad.cpp
index ea3238542c8..9c8807d90ed 100644
--- a/src/mame/drivers/tigeroad.cpp
+++ b/src/mame/drivers/tigeroad.cpp
@@ -70,7 +70,7 @@ WRITE8_MEMBER(tigeroad_state::msm5205_w)
/***************************************************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, tigeroad_state )
+ADDRESS_MAP_START(tigeroad_state::main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0xfe0800, 0xfe0cff) AM_RAM AM_SHARE("spriteram")
@@ -86,14 +86,14 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, tigeroad_state )
AM_RANGE(0xffc000, 0xffffff) AM_RAM AM_SHARE("ram16")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pushman_map, AS_PROGRAM, 16, pushman_state )
+ADDRESS_MAP_START(pushman_state::pushman_map)
AM_IMPORT_FROM(main_map)
AM_RANGE(0x060000, 0x060007) AM_READ(mcu_comm_r)
AM_RANGE(0x060000, 0x060003) AM_WRITE(pushman_mcu_comm_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bballs_map, AS_PROGRAM, 16, pushman_state )
+ADDRESS_MAP_START(pushman_state::bballs_map)
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
AM_RANGE(0x00000, 0x3ffff) AM_ROM
AM_RANGE(0x60000, 0x60007) AM_READ(mcu_comm_r)
@@ -112,7 +112,7 @@ static ADDRESS_MAP_START( bballs_map, AS_PROGRAM, 16, pushman_state )
ADDRESS_MAP_END
/* Capcom games ONLY */
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, tigeroad_state )
+ADDRESS_MAP_START(tigeroad_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8001) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ym2", ym2203_device, read, write)
@@ -120,30 +120,30 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, tigeroad_state )
AM_RANGE(0xe000, 0xe000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_port_map, AS_IO, 8, tigeroad_state )
+ADDRESS_MAP_START(tigeroad_state::sound_port_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x7f, 0x7f) AM_DEVWRITE("soundlatch2", generic_latch_8_device, write)
ADDRESS_MAP_END
/* toramich ONLY */
-static ADDRESS_MAP_START( sample_map, AS_PROGRAM, 8, tigeroad_state )
+ADDRESS_MAP_START(tigeroad_state::sample_map)
AM_RANGE(0x0000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sample_port_map, AS_IO, 8, tigeroad_state )
+ADDRESS_MAP_START(tigeroad_state::sample_port_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch2", generic_latch_8_device, read)
AM_RANGE(0x01, 0x01) AM_WRITE(msm5205_w)
ADDRESS_MAP_END
/* Pushman / Bouncing Balls */
-static ADDRESS_MAP_START( comad_sound_map, AS_PROGRAM, 8, tigeroad_state )
+ADDRESS_MAP_START(tigeroad_state::comad_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xe000, 0xe000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( comad_sound_io_map, AS_IO, 8, tigeroad_state )
+ADDRESS_MAP_START(tigeroad_state::comad_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("ym1", ym2203_device, write)
AM_RANGE(0x80, 0x81) AM_DEVWRITE("ym2", ym2203_device, write)
diff --git a/src/mame/drivers/tiki100.cpp b/src/mame/drivers/tiki100.cpp
index 361696ca30c..ea82836c2b8 100644
--- a/src/mame/drivers/tiki100.cpp
+++ b/src/mame/drivers/tiki100.cpp
@@ -293,12 +293,12 @@ WRITE8_MEMBER( tiki100_state::system_w )
/* Memory Maps */
-static ADDRESS_MAP_START( tiki100_mem, AS_PROGRAM, 8, tiki100_state )
+ADDRESS_MAP_START(tiki100_state::tiki100_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xffff) AM_READWRITE(mrq_r, mrq_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tiki100_io, AS_IO, 8, tiki100_state )
+ADDRESS_MAP_START(tiki100_state::tiki100_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xffff) AM_READWRITE(iorq_r, iorq_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tim011.cpp b/src/mame/drivers/tim011.cpp
index e3617c94271..a7889a13901 100644
--- a/src/mame/drivers/tim011.cpp
+++ b/src/mame/drivers/tim011.cpp
@@ -44,16 +44,18 @@ public:
required_device<floppy_image_device> m_floppy2;
required_device<floppy_image_device> m_floppy3;
void tim011(machine_config &config);
+ void tim011_io(address_map &map);
+ void tim011_mem(address_map &map);
};
-static ADDRESS_MAP_START(tim011_mem, AS_PROGRAM, 8, tim011_state)
+ADDRESS_MAP_START(tim011_state::tim011_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000, 0x01fff) AM_ROM AM_MIRROR(0x3e000)
AM_RANGE(0x40000, 0x7ffff) AM_RAM // 256KB RAM 8 * 41256 DRAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(tim011_io, AS_IO, 8, tim011_state)
+ADDRESS_MAP_START(tim011_state::tim011_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x007f) AM_RAM /* Z180 internal registers */
AM_RANGE(0x0080, 0x009f) AM_DEVICE(FDC9266_TAG, upd765a_device, map)
diff --git a/src/mame/drivers/tim100.cpp b/src/mame/drivers/tim100.cpp
index eee5715b55e..2ad54a9ecf0 100644
--- a/src/mame/drivers/tim100.cpp
+++ b/src/mame/drivers/tim100.cpp
@@ -39,6 +39,8 @@ public:
I8275_DRAW_CHARACTER_MEMBER( crtc_display_pixels );
void tim100(machine_config &config);
+ void tim100_io(address_map &map);
+ void tim100_mem(address_map &map);
private:
virtual void machine_start() override;
uint8_t *m_charmap;
@@ -49,7 +51,7 @@ private:
required_device<i8275_device> m_crtc;
};
-static ADDRESS_MAP_START(tim100_mem, AS_PROGRAM, 8, tim100_state)
+ADDRESS_MAP_START(tim100_state::tim100_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_ROM // 2764 at U16
AM_RANGE(0x2000, 0x27ff) AM_RAM AM_SHARE("videoram") // 2KB static ram CDM6116A at U15
@@ -61,7 +63,7 @@ static ADDRESS_MAP_START(tim100_mem, AS_PROGRAM, 8, tim100_state)
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE("crtc", i8275_device, read, write) // i8276
ADDRESS_MAP_END
-static ADDRESS_MAP_START(tim100_io, AS_IO, 8, tim100_state)
+ADDRESS_MAP_START(tim100_state::tim100_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/timelimt.cpp b/src/mame/drivers/timelimt.cpp
index 58109b92285..510fb48783b 100644
--- a/src/mame/drivers/timelimt.cpp
+++ b/src/mame/drivers/timelimt.cpp
@@ -48,7 +48,7 @@ WRITE_LINE_MEMBER(timelimt_state::coin_lockout_w)
/***************************************************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, timelimt_state )
+ADDRESS_MAP_START(timelimt_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM /* rom */
AM_RANGE(0x8000, 0x87ff) AM_RAM /* ram */
AM_RANGE(0x8800, 0x8bff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram") /* video ram */
@@ -67,17 +67,17 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, timelimt_state )
AM_RANGE(0xc804, 0xc804) AM_WRITENOP /* ???? not used */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_io_map, AS_IO, 8, timelimt_state )
+ADDRESS_MAP_START(timelimt_state::main_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, timelimt_state )
+ADDRESS_MAP_START(timelimt_state::sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x3800, 0x3bff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, timelimt_state )
+ADDRESS_MAP_START(timelimt_state::sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("soundlatch", generic_latch_8_device, clear_w)
AM_RANGE(0x8c, 0x8d) AM_DEVREADWRITE("ay1", ay8910_device, data_r, address_data_w)
diff --git a/src/mame/drivers/timeplt.cpp b/src/mame/drivers/timeplt.cpp
index 94a3ec9fec5..544f75b0973 100644
--- a/src/mame/drivers/timeplt.cpp
+++ b/src/mame/drivers/timeplt.cpp
@@ -53,7 +53,6 @@
#include "audio/timeplt.h"
#include "cpu/z80/z80.h"
-#include "machine/74259.h"
#include "machine/watchdog.h"
#include "sound/ay8910.h"
@@ -130,7 +129,7 @@ CUSTOM_INPUT_MEMBER(timeplt_state::chkun_hopper_status_r)
*
*************************************/
-static ADDRESS_MAP_START( timeplt_main_map, AS_PROGRAM, 8, timeplt_state )
+ADDRESS_MAP_START(timeplt_state::timeplt_main_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0xa000, 0xa3ff) AM_RAM_WRITE(colorram_w) AM_SHARE("colorram")
@@ -141,18 +140,18 @@ static ADDRESS_MAP_START( timeplt_main_map, AS_PROGRAM, 8, timeplt_state )
AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x0cff) AM_READ(scanline_r) AM_DEVWRITE("timeplt_audio", timeplt_audio_device, sound_data_w)
AM_RANGE(0xc200, 0xc200) AM_MIRROR(0x0cff) AM_READ_PORT("DSW1") AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0xc300, 0xc300) AM_MIRROR(0x0c9f) AM_READ_PORT("IN0")
- AM_RANGE(0xc300, 0xc30f) AM_MIRROR(0x0cf0) AM_DEVWRITE_MOD("mainlatch", ls259_device, write_d0, rshift<1>)
+ ;map(0xc300, 0xc30f).lw8("mainlatch_w", [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_mainlatch->write_d0(space, offset >> 1, data, mem_mask); });
AM_RANGE(0xc320, 0xc320) AM_MIRROR(0x0c9f) AM_READ_PORT("IN1")
AM_RANGE(0xc340, 0xc340) AM_MIRROR(0x0c9f) AM_READ_PORT("IN2")
AM_RANGE(0xc360, 0xc360) AM_MIRROR(0x0c9f) AM_READ_PORT("DSW0")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( psurge_main_map, AS_PROGRAM, 8, timeplt_state )
+ADDRESS_MAP_START(timeplt_state::psurge_main_map)
AM_IMPORT_FROM(timeplt_main_map)
AM_RANGE(0x6004, 0x6004) AM_READ(psurge_protection_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( chkun_main_map, AS_PROGRAM, 8, timeplt_state )
+ADDRESS_MAP_START(timeplt_state::chkun_main_map)
AM_IMPORT_FROM(timeplt_main_map)
AM_RANGE(0x6000, 0x67ff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/timetrv.cpp b/src/mame/drivers/timetrv.cpp
index 172f8cf51ae..03b62dafd9a 100644
--- a/src/mame/drivers/timetrv.cpp
+++ b/src/mame/drivers/timetrv.cpp
@@ -51,6 +51,8 @@ public:
uint32_t screen_update_timetrv(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
void timetrv(machine_config &config);
+ void timetrv_io(address_map &map);
+ void timetrv_map(address_map &map);
};
@@ -82,13 +84,13 @@ READ8_MEMBER(timetrv_state::in_r)
return 0xff;
}
-static ADDRESS_MAP_START( timetrv_map, AS_PROGRAM, 8, timetrv_state )
+ADDRESS_MAP_START(timetrv_state::timetrv_map)
AM_RANGE(0x00000, 0x0ffff) AM_RAM //irq vectors + work ram
AM_RANGE(0x10000, 0x107ff) AM_DEVREADWRITE("eeprom", eeprom_parallel_28xx_device, read, write)
AM_RANGE(0xc0000, 0xfffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( timetrv_io, AS_IO, 8, timetrv_state )
+ADDRESS_MAP_START(timetrv_state::timetrv_io)
AM_RANGE(0x0122, 0x0123) AM_WRITENOP //eeprom write bits
AM_RANGE(0x1000, 0x1003) AM_DEVREADWRITE("ppi1", i8255_device, read, write)
AM_RANGE(0x1080, 0x1083) AM_DEVREADWRITE("ppi2", i8255_device, read, write)
diff --git a/src/mame/drivers/timex.cpp b/src/mame/drivers/timex.cpp
index 06cc0020f0e..7c942821517 100644
--- a/src/mame/drivers/timex.cpp
+++ b/src/mame/drivers/timex.cpp
@@ -525,7 +525,7 @@ void spectrum_state::ts2068_update_memory()
}
}
-static ADDRESS_MAP_START(ts2068_io, AS_IO, 8, spectrum_state )
+ADDRESS_MAP_START(spectrum_state::ts2068_io)
AM_RANGE(0xf4, 0xf4) AM_READWRITE(ts2068_port_f4_r,ts2068_port_f4_w ) AM_MIRROR(0xff00)
AM_RANGE(0xf5, 0xf5) AM_DEVWRITE("ay8912", ay8910_device, address_w ) AM_MIRROR(0xff00)
AM_RANGE(0xf6, 0xf6) AM_DEVREADWRITE("ay8912", ay8910_device, data_r, data_w ) AM_MIRROR(0xff00)
@@ -533,7 +533,7 @@ static ADDRESS_MAP_START(ts2068_io, AS_IO, 8, spectrum_state )
AM_RANGE(0xff, 0xff) AM_READWRITE(ts2068_port_ff_r,ts2068_port_ff_w ) AM_MIRROR(0xff00)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(ts2068_mem, AS_PROGRAM, 8, spectrum_state )
+ADDRESS_MAP_START(spectrum_state::ts2068_mem)
AM_RANGE(0x0000, 0x1fff) AM_READ_BANK("bank1") AM_WRITE_BANK("bank9")
AM_RANGE(0x2000, 0x3fff) AM_READ_BANK("bank2") AM_WRITE_BANK("bank10")
AM_RANGE(0x4000, 0x5fff) AM_READ_BANK("bank3") AM_WRITE_BANK("bank11")
@@ -569,12 +569,12 @@ WRITE8_MEMBER( spectrum_state::tc2048_port_ff_w )
logerror("Port %04x write %02x\n", offset, data);
}
-static ADDRESS_MAP_START(tc2048_io, AS_IO, 8, spectrum_state )
+ADDRESS_MAP_START(spectrum_state::tc2048_io)
AM_RANGE(0x00, 0x00) AM_READWRITE(spectrum_port_fe_r,spectrum_port_fe_w) AM_SELECT(0xfffe)
AM_RANGE(0xff, 0xff) AM_READWRITE(ts2068_port_ff_r,tc2048_port_ff_w) AM_MIRROR(0xff00)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(tc2048_mem, AS_PROGRAM, 8, spectrum_state )
+ADDRESS_MAP_START(spectrum_state::tc2048_mem)
AM_RANGE( 0x0000, 0x3fff) AM_ROM
AM_RANGE( 0x4000, 0xffff) AM_READ_BANK("bank1") AM_WRITE_BANK("bank2")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tk2000.cpp b/src/mame/drivers/tk2000.cpp
index d0dfdfa8522..9db862421e8 100644
--- a/src/mame/drivers/tk2000.cpp
+++ b/src/mame/drivers/tk2000.cpp
@@ -89,6 +89,8 @@ public:
DECLARE_WRITE8_MEMBER(c100_w);
void tk2000(machine_config &config);
+ void apple2_map(address_map &map);
+ void inhbank_map(address_map &map);
private:
int m_speaker_state;
int m_cassette_state;
@@ -446,14 +448,14 @@ WRITE8_MEMBER(tk2000_state::ram_w)
}
}
-static ADDRESS_MAP_START( apple2_map, AS_PROGRAM, 8, tk2000_state )
+ADDRESS_MAP_START(tk2000_state::apple2_map)
AM_RANGE(0x0000, 0xbfff) AM_READWRITE(ram_r, ram_w)
AM_RANGE(0xc000, 0xc07f) AM_READWRITE(c000_r, c000_w)
AM_RANGE(0xc080, 0xc0ff) AM_READWRITE(c080_r, c080_w)
AM_RANGE(0xc100, 0xffff) AM_DEVICE(A2_UPPERBANK_TAG, address_map_bank_device, amap8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( inhbank_map, AS_PROGRAM, 8, tk2000_state )
+ADDRESS_MAP_START(tk2000_state::inhbank_map)
AM_RANGE(0x0000, 0x3eff) AM_ROM AM_REGION("maincpu", 0x100)
AM_RANGE(0x4000, 0x7eff) AM_READWRITE(c100_r, c100_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tk80.cpp b/src/mame/drivers/tk80.cpp
index 3f1f940deb0..083928df09d 100644
--- a/src/mame/drivers/tk80.cpp
+++ b/src/mame/drivers/tk80.cpp
@@ -80,6 +80,12 @@ public:
void mikrolab(machine_config &config);
void nd80z(machine_config &config);
void tk85(machine_config &config);
+ void ics8080_mem(address_map &map);
+ void mikrolab_io(address_map &map);
+ void nd80z_io(address_map &map);
+ void tk80_io(address_map &map);
+ void tk80_mem(address_map &map);
+ void tk85_mem(address_map &map);
};
@@ -93,7 +99,7 @@ WRITE8_MEMBER( tk80_state::display_w )
output().set_digit_value(offset, data);
}
-static ADDRESS_MAP_START(tk80_mem, AS_PROGRAM, 8, tk80_state)
+ADDRESS_MAP_START(tk80_state::tk80_mem)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x83ff) // A10-14 not connected
AM_RANGE(0x0000, 0x02ff) AM_ROM
@@ -102,7 +108,7 @@ static ADDRESS_MAP_START(tk80_mem, AS_PROGRAM, 8, tk80_state)
AM_RANGE(0x83f8, 0x83ff) AM_RAM AM_READWRITE(display_r,display_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(tk85_mem, AS_PROGRAM, 8, tk80_state)
+ADDRESS_MAP_START(tk80_state::tk85_mem)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x87ff) // A10-14 not connected
AM_RANGE(0x0000, 0x07ff) AM_ROM
@@ -110,7 +116,7 @@ static ADDRESS_MAP_START(tk85_mem, AS_PROGRAM, 8, tk80_state)
AM_RANGE(0x83f8, 0x83ff) AM_RAM AM_READWRITE(display_r,display_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(ics8080_mem, AS_PROGRAM, 8, tk80_state)
+ADDRESS_MAP_START(tk80_state::ics8080_mem)
ADDRESS_MAP_UNMAP_HIGH
//ADDRESS_MAP_GLOBAL_MASK(0x87ff) // A10-14 not connected
AM_RANGE(0x0000, 0x1fff) AM_ROM
@@ -119,19 +125,19 @@ static ADDRESS_MAP_START(ics8080_mem, AS_PROGRAM, 8, tk80_state)
AM_RANGE(0x8400, 0x8fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(tk80_io, AS_IO, 8, tk80_state)
+ADDRESS_MAP_START(tk80_state::tk80_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x03)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ppi8255", i8255_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(mikrolab_io, AS_IO, 8, tk80_state)
+ADDRESS_MAP_START(tk80_state::mikrolab_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x03)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ppi8255", i8255_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(nd80z_io, AS_IO, 8, tk80_state)
+ADDRESS_MAP_START(tk80_state::nd80z_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x03)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ppi8255", i8255_device, read, write)
diff --git a/src/mame/drivers/tk80bs.cpp b/src/mame/drivers/tk80bs.cpp
index 03a42114231..edf84e06a2e 100644
--- a/src/mame/drivers/tk80bs.cpp
+++ b/src/mame/drivers/tk80bs.cpp
@@ -49,6 +49,7 @@ public:
uint32_t screen_update_tk80bs(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
required_shared_ptr<uint8_t> m_p_videoram;
void tk80bs(machine_config &config);
+ void tk80bs_mem(address_map &map);
private:
uint8_t m_term_data;
required_device<cpu_device> m_maincpu;
@@ -107,7 +108,7 @@ WRITE8_MEMBER( tk80bs_state::ppi_custom_w )
}
}
-static ADDRESS_MAP_START(tk80bs_mem, AS_PROGRAM, 8, tk80bs_state)
+ADDRESS_MAP_START(tk80bs_state::tk80bs_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x07ff) AM_ROM
// AM_RANGE(0x0c00, 0x7bff) AM_ROM // ext
diff --git a/src/mame/drivers/tm990189.cpp b/src/mame/drivers/tm990189.cpp
index 6ad694eb8b4..cafe72443e6 100644
--- a/src/mame/drivers/tm990189.cpp
+++ b/src/mame/drivers/tm990189.cpp
@@ -162,6 +162,9 @@ public:
void hold_load();
void tm990_189_v(machine_config &config);
void tm990_189(machine_config &config);
+ void tm990_189_cru_map(address_map &map);
+ void tm990_189_memmap(address_map &map);
+ void tm990_189_v_memmap(address_map &map);
private:
void draw_digit(void);
void led_set(int number, bool state);
@@ -721,14 +724,14 @@ static const tms9901_interface sys9901reset_param =
0x3000-0x3fff: 4kb onboard ROM
*/
-static ADDRESS_MAP_START( tm990_189_memmap, AS_PROGRAM, 8, tm990189_state )
+ADDRESS_MAP_START(tm990189_state::tm990_189_memmap)
AM_RANGE(0x0000, 0x07ff) AM_RAM /* RAM */
AM_RANGE(0x0800, 0x0fff) AM_ROM /* extra ROM - application programs with unibug, remaining 2kb of program for university basic */
AM_RANGE(0x1000, 0x2fff) AM_NOP /* reserved for expansion (RAM and/or tms9918 video controller) */
AM_RANGE(0x3000, 0x3fff) AM_ROM /* main ROM - unibug or university basic */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tm990_189_v_memmap, AS_PROGRAM, 8, tm990189_state )
+ADDRESS_MAP_START(tm990189_state::tm990_189_v_memmap)
AM_RANGE(0x0000, 0x07ff) AM_RAM /* RAM */
AM_RANGE(0x0800, 0x0fff) AM_ROM /* extra ROM - application programs with unibug, remaining 2kb of program for university basic */
@@ -796,7 +799,7 @@ ADDRESS_MAP_END
d
*/
-static ADDRESS_MAP_START( tm990_189_cru_map, AS_IO, 8, tm990189_state )
+ADDRESS_MAP_START(tm990189_state::tm990_189_cru_map)
AM_RANGE(0x0000, 0x003f) AM_DEVREAD(TMS9901_0_TAG, tms9901_device, read) /* user I/O tms9901 */
AM_RANGE(0x0040, 0x006f) AM_DEVREAD(TMS9901_1_TAG, tms9901_device, read) /* system I/O tms9901 */
AM_RANGE(0x0080, 0x00cf) AM_DEVREAD("tms9902", tms9902_device, cruread) /* optional tms9902 */
diff --git a/src/mame/drivers/tmaster.cpp b/src/mame/drivers/tmaster.cpp
index 239bab12ec1..53a762f3817 100644
--- a/src/mame/drivers/tmaster.cpp
+++ b/src/mame/drivers/tmaster.cpp
@@ -140,6 +140,7 @@ public:
void tm(machine_config &config);
void tmds1204(machine_config &config);
+ void tmaster_map(address_map &map);
protected:
required_device<cpu_device> m_maincpu;
required_device<screen_device> m_screen;
@@ -256,7 +257,7 @@ READ_LINE_MEMBER(tmaster_state::read_rand)
return machine().rand() & 1;
}
-static ADDRESS_MAP_START( tmaster_map, AS_PROGRAM, 16, tmaster_state )
+ADDRESS_MAP_START(tmaster_state::tmaster_map)
AM_RANGE( 0x000000, 0x1fffff ) AM_ROM
AM_RANGE( 0x200000, 0x27ffff ) AM_RAM
AM_RANGE( 0x280000, 0x28ffef ) AM_RAM AM_SHARE("nvram")
diff --git a/src/mame/drivers/tmc1800.cpp b/src/mame/drivers/tmc1800.cpp
index ec583614e1f..3d312130bcf 100644
--- a/src/mame/drivers/tmc1800.cpp
+++ b/src/mame/drivers/tmc1800.cpp
@@ -253,36 +253,36 @@ WRITE8_MEMBER( tmc1800_state::dispoff_w )
// Telmac 1800
-static ADDRESS_MAP_START( tmc1800_map, AS_PROGRAM, 8, tmc1800_state )
+ADDRESS_MAP_START(tmc1800_state::tmc1800_map)
AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x7800) AM_RAM
AM_RANGE(0x8000, 0x81ff) AM_MIRROR(0x7e00) AM_ROM AM_REGION(CDP1802_TAG, 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tmc1800_io_map, AS_IO, 8, tmc1800_state )
+ADDRESS_MAP_START(tmc1800_state::tmc1800_io_map)
AM_RANGE(0x01, 0x01) AM_READWRITE(dispon_r, dispoff_w)
AM_RANGE(0x02, 0x02) AM_WRITE(keylatch_w)
ADDRESS_MAP_END
// OSCOM 1000B
-static ADDRESS_MAP_START( osc1000b_map, AS_PROGRAM, 8, osc1000b_state )
+ADDRESS_MAP_START(osc1000b_state::osc1000b_map)
AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x7800) AM_RAM
AM_RANGE(0x8000, 0x81ff) AM_MIRROR(0x7e00) AM_ROM AM_REGION(CDP1802_TAG, 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( osc1000b_io_map, AS_IO, 8, osc1000b_state )
+ADDRESS_MAP_START(osc1000b_state::osc1000b_io_map)
AM_RANGE(0x02, 0x02) AM_WRITE(keylatch_w)
ADDRESS_MAP_END
// Telmac 2000
-static ADDRESS_MAP_START( tmc2000_map, AS_PROGRAM, 8, tmc2000_state )
+ADDRESS_MAP_START(tmc2000_state::tmc2000_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) // RAM / monitor ROM
AM_RANGE(0x8000, 0xffff) // color RAM / monitor ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tmc2000_io_map, AS_IO, 8, tmc2000_state )
+ADDRESS_MAP_START(tmc2000_state::tmc2000_io_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x01, 0x01) AM_DEVREADWRITE(CDP1864_TAG, cdp1864_device, dispon_r, step_bgcolor_w)
AM_RANGE(0x02, 0x02) AM_WRITE(keylatch_w)
@@ -291,12 +291,12 @@ ADDRESS_MAP_END
// OSCOM Nano
-static ADDRESS_MAP_START( nano_map, AS_PROGRAM, 8, nano_state )
+ADDRESS_MAP_START(nano_state::nano_map)
AM_RANGE(0x0000, 0x7fff) // RAM / monitor ROM
AM_RANGE(0x8000, 0x81ff) AM_MIRROR(0x7e00) AM_ROM AM_REGION(CDP1802_TAG, 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nano_io_map, AS_IO, 8, nano_state )
+ADDRESS_MAP_START(nano_state::nano_io_map)
AM_RANGE(0x01, 0x01) AM_DEVREADWRITE(CDP1864_TAG, cdp1864_device, dispon_r, step_bgcolor_w)
AM_RANGE(0x02, 0x02) AM_WRITE(keylatch_w)
AM_RANGE(0x04, 0x04) AM_DEVREAD(CDP1864_TAG, cdp1864_device, dispoff_r) AM_WRITE(bankswitch_w)
diff --git a/src/mame/drivers/tmc2000e.cpp b/src/mame/drivers/tmc2000e.cpp
index c093b77f6b1..3cc6a35eafd 100644
--- a/src/mame/drivers/tmc2000e.cpp
+++ b/src/mame/drivers/tmc2000e.cpp
@@ -82,13 +82,13 @@ WRITE8_MEMBER( tmc2000e_state::keyboard_latch_w )
/* Memory Maps */
-static ADDRESS_MAP_START( tmc2000e_map, AS_PROGRAM, 8, tmc2000e_state )
+ADDRESS_MAP_START(tmc2000e_state::tmc2000e_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0xc000, 0xdfff) AM_ROM
AM_RANGE(0xfc00, 0xffff) AM_WRITEONLY AM_SHARE("colorram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tmc2000e_io_map, AS_IO, 8, tmc2000e_state )
+ADDRESS_MAP_START(tmc2000e_state::tmc2000e_io_map)
AM_RANGE(0x01, 0x01) AM_DEVWRITE(CDP1864_TAG, cdp1864_device, tone_latch_w)
AM_RANGE(0x02, 0x02) AM_DEVWRITE(CDP1864_TAG, cdp1864_device, step_bgcolor_w)
AM_RANGE(0x03, 0x03) AM_READWRITE(ascii_keyboard_r, keyboard_latch_w)
diff --git a/src/mame/drivers/tmc600.cpp b/src/mame/drivers/tmc600.cpp
index a8f1a9bc982..ee455d0b6dc 100644
--- a/src/mame/drivers/tmc600.cpp
+++ b/src/mame/drivers/tmc600.cpp
@@ -121,14 +121,14 @@ WRITE8_MEMBER( tmc600_state::printer_w )
/* Memory Maps */
-static ADDRESS_MAP_START( tmc600_map, AS_PROGRAM, 8, tmc600_state )
+ADDRESS_MAP_START(tmc600_state::tmc600_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x7fff) AM_RAM
AM_RANGE(0xf400, 0xf7ff) AM_DEVICE(CDP1869_TAG, cdp1869_device, char_map)
AM_RANGE(0xf800, 0xffff) AM_DEVICE(CDP1869_TAG, cdp1869_device, page_map)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tmc600_io_map, AS_IO, 8, tmc600_state )
+ADDRESS_MAP_START(tmc600_state::tmc600_io_map)
AM_RANGE(0x03, 0x03) AM_DEVWRITE(CDP1852_KB_TAG, cdp1852_device, write)
AM_RANGE(0x04, 0x04) AM_DEVWRITE(CDP1852_TMC700_TAG, cdp1852_device, write)
AM_RANGE(0x05, 0x05) AM_READWRITE(rtc_r, vismac_data_w)
diff --git a/src/mame/drivers/tmmjprd.cpp b/src/mame/drivers/tmmjprd.cpp
index 1578039661c..d22179f0d7e 100644
--- a/src/mame/drivers/tmmjprd.cpp
+++ b/src/mame/drivers/tmmjprd.cpp
@@ -94,6 +94,7 @@ public:
void draw_tilemap(bitmap_ind16 &bitmap, const rectangle &cliprect, uint32_t*tileram, uint32_t*tileregs, uint8_t*rom );
void tmmjprd(machine_config &config);
void tmpdoki(machine_config &config);
+ void tmmjprd_map(address_map &map);
};
@@ -691,7 +692,7 @@ WRITE32_MEMBER(tmmjprd_state::brt_2_w)
}
}
-static ADDRESS_MAP_START( tmmjprd_map, AS_PROGRAM, 32, tmmjprd_state )
+ADDRESS_MAP_START(tmmjprd_state::tmmjprd_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x200010, 0x200013) AM_READ(randomtmmjprds) // gfx chip status?
/* check these are used .. */
diff --git a/src/mame/drivers/tmnt.cpp b/src/mame/drivers/tmnt.cpp
index 81b8e108461..ddeca3654a1 100644
--- a/src/mame/drivers/tmnt.cpp
+++ b/src/mame/drivers/tmnt.cpp
@@ -469,7 +469,7 @@ WRITE8_MEMBER(tmnt_state::cuebrick_nvbank_w)
membank("nvrambank")->set_entry(data);
}
-static ADDRESS_MAP_START( cuebrick_main_map, AS_PROGRAM, 16, tmnt_state )
+ADDRESS_MAP_START(tmnt_state::cuebrick_main_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x040000, 0x043fff) AM_RAM /* main RAM */
AM_RANGE(0x060000, 0x063fff) AM_RAM /* main RAM */
@@ -489,7 +489,7 @@ static ADDRESS_MAP_START( cuebrick_main_map, AS_PROGRAM, 16, tmnt_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mia_main_map, AS_PROGRAM, 16, tmnt_state )
+ADDRESS_MAP_START(tmnt_state::mia_main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x043fff) AM_RAM /* main RAM */
AM_RANGE(0x060000, 0x063fff) AM_RAM /* main RAM */
@@ -511,7 +511,7 @@ static ADDRESS_MAP_START( mia_main_map, AS_PROGRAM, 16, tmnt_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tmnt_main_map, AS_PROGRAM, 16, tmnt_state )
+ADDRESS_MAP_START(tmnt_state::tmnt_main_map)
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x060000, 0x063fff) AM_RAM /* main RAM */
AM_RANGE(0x080000, 0x080fff) AM_DEVREADWRITE8("palette", palette_device, read8, write8, 0x00ff) AM_SHARE("palette")
@@ -532,7 +532,7 @@ static ADDRESS_MAP_START( tmnt_main_map, AS_PROGRAM, 16, tmnt_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( punkshot_main_map, AS_PROGRAM, 16, tmnt_state )
+ADDRESS_MAP_START(tmnt_state::punkshot_main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x083fff) AM_RAM /* main RAM */
AM_RANGE(0x090000, 0x090fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -550,7 +550,7 @@ static ADDRESS_MAP_START( punkshot_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0xfffffc, 0xffffff) AM_READ(punkshot_kludge_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lgtnfght_main_map, AS_PROGRAM, 16, tmnt_state )
+ADDRESS_MAP_START(tmnt_state::lgtnfght_main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x080fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x090000, 0x093fff) AM_RAM /*main RAM */
@@ -575,7 +575,7 @@ WRITE16_MEMBER(tmnt_state::ssriders_soundkludge_w)
m_audiocpu->set_input_line_and_vector(0, HOLD_LINE, 0xff);
}
-static ADDRESS_MAP_START( blswhstl_main_map, AS_PROGRAM, 16, tmnt_state )
+ADDRESS_MAP_START(tmnt_state::blswhstl_main_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x180000, 0x183fff) AM_DEVREADWRITE("k052109", k052109_device, word_r, word_w)
AM_RANGE(0x204000, 0x207fff) AM_RAM /* main RAM */
@@ -616,7 +616,7 @@ WRITE16_MEMBER(tmnt_state::k053251_glfgreat_w)
}
}
-static ADDRESS_MAP_START( glfgreat_main_map, AS_PROGRAM, 16, tmnt_state )
+ADDRESS_MAP_START(tmnt_state::glfgreat_main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM /* main RAM */
AM_RANGE(0x104000, 0x107fff) AM_READWRITE(k053245_scattered_word_r, k053245_scattered_word_w) AM_SHARE("spriteram")
@@ -638,7 +638,7 @@ static ADDRESS_MAP_START( glfgreat_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0x300000, 0x3fffff) AM_READ(glfgreat_rom_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( prmrsocr_main_map, AS_PROGRAM, 16, tmnt_state )
+ADDRESS_MAP_START(tmnt_state::prmrsocr_main_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM /* main RAM */
AM_RANGE(0x104000, 0x107fff) AM_READWRITE(k053245_scattered_word_r, k053245_scattered_word_w) AM_SHARE("spriteram")
@@ -897,7 +897,7 @@ logerror("copy command %04x sprite %08x data %08x: %04x%04x %04x%04x modifiers
}
#endif
-static ADDRESS_MAP_START( tmnt2_main_map, AS_PROGRAM, 16, tmnt_state )
+ADDRESS_MAP_START(tmnt_state::tmnt2_main_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM AM_SHARE("tmnt2_rom")
AM_RANGE(0x104000, 0x107fff) AM_RAM AM_SHARE("sunset_104000") /* main RAM */
AM_RANGE(0x140000, 0x140fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -921,7 +921,7 @@ static ADDRESS_MAP_START( tmnt2_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0x600000, 0x603fff) AM_DEVREADWRITE("k052109", k052109_device, word_r, word_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ssriders_main_map, AS_PROGRAM, 16, tmnt_state )
+ADDRESS_MAP_START(tmnt_state::ssriders_main_map)
AM_RANGE(0x000000, 0x0bffff) AM_ROM
AM_RANGE(0x104000, 0x107fff) AM_RAM /* main RAM */
AM_RANGE(0x140000, 0x140fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -945,7 +945,7 @@ static ADDRESS_MAP_START( ssriders_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0x600000, 0x603fff) AM_DEVREADWRITE("k052109", k052109_device, word_r, word_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sunsetbl_main_map, AS_PROGRAM, 16, tmnt_state )
+ADDRESS_MAP_START(tmnt_state::sunsetbl_main_map)
AM_RANGE(0x000000, 0x0bffff) AM_ROM
AM_RANGE(0x104000, 0x107fff) AM_RAM /* main RAM */
AM_RANGE(0x14c000, 0x14cfff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -971,7 +971,7 @@ static ADDRESS_MAP_START( sunsetbl_main_map, AS_PROGRAM, 16, tmnt_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( thndrx2_main_map, AS_PROGRAM, 16, tmnt_state )
+ADDRESS_MAP_START(tmnt_state::thndrx2_main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM /* main RAM */
AM_RANGE(0x200000, 0x200fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -988,7 +988,7 @@ static ADDRESS_MAP_START( thndrx2_main_map, AS_PROGRAM, 16, tmnt_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mia_audio_map, AS_PROGRAM, 8, tmnt_state )
+ADDRESS_MAP_START(tmnt_state::mia_audio_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -997,7 +997,7 @@ static ADDRESS_MAP_START( mia_audio_map, AS_PROGRAM, 8, tmnt_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tmnt_audio_map, AS_PROGRAM, 8, tmnt_state )
+ADDRESS_MAP_START(tmnt_state::tmnt_audio_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_READWRITE(tmnt_sres_r, tmnt_sres_w) /* title music & UPD7759C reset */
@@ -1010,7 +1010,7 @@ static ADDRESS_MAP_START( tmnt_audio_map, AS_PROGRAM, 8, tmnt_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( punkshot_audio_map, AS_PROGRAM, 8, tmnt_state )
+ADDRESS_MAP_START(tmnt_state::punkshot_audio_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xf801) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
@@ -1019,7 +1019,7 @@ static ADDRESS_MAP_START( punkshot_audio_map, AS_PROGRAM, 8, tmnt_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lgtnfght_audio_map, AS_PROGRAM, 8, tmnt_state )
+ADDRESS_MAP_START(tmnt_state::lgtnfght_audio_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
@@ -1027,7 +1027,7 @@ static ADDRESS_MAP_START( lgtnfght_audio_map, AS_PROGRAM, 8, tmnt_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( glfgreat_audio_map, AS_PROGRAM, 8, tmnt_state )
+ADDRESS_MAP_START(tmnt_state::glfgreat_audio_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xf82f) AM_DEVREADWRITE("k053260", k053260_device, read, write)
@@ -1035,7 +1035,7 @@ static ADDRESS_MAP_START( glfgreat_audio_map, AS_PROGRAM, 8, tmnt_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ssriders_audio_map, AS_PROGRAM, 8, tmnt_state )
+ADDRESS_MAP_START(tmnt_state::ssriders_audio_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xf801) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
@@ -1044,7 +1044,7 @@ static ADDRESS_MAP_START( ssriders_audio_map, AS_PROGRAM, 8, tmnt_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( thndrx2_audio_map, AS_PROGRAM, 8, tmnt_state )
+ADDRESS_MAP_START(tmnt_state::thndrx2_audio_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xf801) AM_MIRROR(0x0010) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
@@ -1063,7 +1063,7 @@ WRITE8_MEMBER(tmnt_state::k054539_ctrl_w)
m_k054539->write(space, 0x200 + offset, data, 0xff);
}
-static ADDRESS_MAP_START( prmrsocr_audio_map, AS_PROGRAM, 8, tmnt_state )
+ADDRESS_MAP_START(tmnt_state::prmrsocr_audio_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xdfff) AM_RAM
diff --git a/src/mame/drivers/tmspoker.cpp b/src/mame/drivers/tmspoker.cpp
index f516e50bdc2..1adcc453648 100644
--- a/src/mame/drivers/tmspoker.cpp
+++ b/src/mame/drivers/tmspoker.cpp
@@ -240,6 +240,8 @@ public:
required_device<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
void tmspoker(machine_config &config);
+ void tmspoker_cru_map(address_map &map);
+ void tmspoker_map(address_map &map);
};
@@ -324,7 +326,7 @@ void tmspoker_state::machine_reset()
* Memory Map Information *
*************************/
//59a
-static ADDRESS_MAP_START( tmspoker_map, AS_PROGRAM, 8, tmspoker_state )
+ADDRESS_MAP_START(tmspoker_state::tmspoker_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x0fff) AM_ROMBANK("bank1")
AM_RANGE(0x2800, 0x2800) AM_READNOP AM_DEVWRITE("crtc", mc6845_device, address_w)
@@ -341,7 +343,7 @@ READ8_MEMBER(tmspoker_state::unk_r)
return 0;//0xff;//mame_rand(machine);
}
-static ADDRESS_MAP_START( tmspoker_cru_map, AS_IO, 8, tmspoker_state )
+ADDRESS_MAP_START(tmspoker_state::tmspoker_cru_map)
AM_RANGE(0x0000, 0x07ff) AM_READ(unk_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tnzs.cpp b/src/mame/drivers/tnzs.cpp
index d8b8845b987..2788d9acc25 100644
--- a/src/mame/drivers/tnzs.cpp
+++ b/src/mame/drivers/tnzs.cpp
@@ -720,7 +720,7 @@ WRITE8_MEMBER(kageki_state::csport_w)
}
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, tnzs_base_state )
+ADDRESS_MAP_START(tnzs_base_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_DEVICE("mainbank", address_map_bank_device, amap8)
AM_RANGE(0xc000, 0xcfff) AM_RAM AM_DEVREADWRITE("spritegen", seta001_device, spritecodelow_r8, spritecodelow_w8)
@@ -733,14 +733,14 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, tnzs_base_state )
AM_RANGE(0xf800, 0xfbff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( prompal_main_map, AS_PROGRAM, 8, extrmatn_state )
+ADDRESS_MAP_START(extrmatn_state::prompal_main_map)
AM_IMPORT_FROM(main_map)
/* arknoid2, extrmatn, plumppop and drtoppel have PROMs instead of RAM */
/* drtoppel writes here anyway! (maybe leftover from tests during development) */
AM_RANGE(0xf800, 0xfbff) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tnzsb_main_map, AS_PROGRAM, 8, tnzsb_state )
+ADDRESS_MAP_START(tnzsb_state::tnzsb_main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_DEVICE("mainbank", address_map_bank_device, amap8)
AM_RANGE(0xc000, 0xcfff) AM_RAM AM_DEVREADWRITE("spritegen", seta001_device, spritecodelow_r8, spritecodelow_w8)
@@ -754,7 +754,7 @@ static ADDRESS_MAP_START( tnzsb_main_map, AS_PROGRAM, 8, tnzsb_state )
AM_RANGE(0xf800, 0xfbff) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( base_sub_map, AS_PROGRAM, 8, tnzs_base_state )
+ADDRESS_MAP_START(tnzs_base_state::base_sub_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("subbank")
AM_RANGE(0xa000, 0xa000) AM_WRITE(bankswitch1_w)
@@ -763,7 +763,7 @@ static ADDRESS_MAP_START( base_sub_map, AS_PROGRAM, 8, tnzs_base_state )
AM_RANGE(0xe000, 0xefff) AM_RAM AM_SHARE("share1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tnzs_sub_map, AS_PROGRAM, 8, tnzs_mcu_state )
+ADDRESS_MAP_START(tnzs_mcu_state::tnzs_sub_map)
AM_IMPORT_FROM(base_sub_map)
AM_RANGE(0xc000, 0xc001) AM_READWRITE(mcu_r, mcu_w) /* not present in insectx */
AM_RANGE(0xa000, 0xa000) AM_WRITE(bankswitch1_w)
@@ -772,19 +772,19 @@ static ADDRESS_MAP_START( tnzs_sub_map, AS_PROGRAM, 8, tnzs_mcu_state )
/* all by insectx. */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( arknoid2_sub_map, AS_PROGRAM, 8, arknoid2_state )
+ADDRESS_MAP_START(arknoid2_state::arknoid2_sub_map)
AM_IMPORT_FROM(tnzs_sub_map)
AM_RANGE(0xc000, 0xc001) AM_READWRITE(mcu_r, mcu_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kageki_sub_map, AS_PROGRAM, 8, kageki_state )
+ADDRESS_MAP_START(kageki_state::kageki_sub_map)
AM_IMPORT_FROM(base_sub_map)
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("IN0")
AM_RANGE(0xc001, 0xc001) AM_READ_PORT("IN1")
AM_RANGE(0xc002, 0xc002) AM_READ_PORT("IN2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( insectx_sub_map, AS_PROGRAM, 8, insectx_state )
+ADDRESS_MAP_START(insectx_state::insectx_sub_map)
AM_IMPORT_FROM(base_sub_map)
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("IN0")
AM_RANGE(0xc001, 0xc001) AM_READ_PORT("IN1")
@@ -793,7 +793,7 @@ ADDRESS_MAP_END
/* the later board is different, it has a third CPU (and of course no mcu) */
-static ADDRESS_MAP_START( tnzsb_base_sub_map, AS_PROGRAM, 8, tnzsb_state )
+ADDRESS_MAP_START(tnzsb_state::tnzsb_base_sub_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("subbank")
AM_RANGE(0xa000, 0xa000) AM_WRITE(bankswitch1_w)
@@ -807,35 +807,35 @@ static ADDRESS_MAP_START( tnzsb_base_sub_map, AS_PROGRAM, 8, tnzsb_state )
AM_RANGE(0xe000, 0xefff) AM_RAM AM_SHARE("share1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tnzsb_sub_map, AS_PROGRAM, 8, tnzsb_state )
+ADDRESS_MAP_START(tnzsb_state::tnzsb_sub_map)
AM_IMPORT_FROM(tnzsb_base_sub_map)
AM_RANGE(0xf000, 0xf003) AM_READONLY
AM_RANGE(0xf000, 0xf3ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kabukiz_sub_map, AS_PROGRAM, 8, kabukiz_state )
+ADDRESS_MAP_START(kabukiz_state::kabukiz_sub_map)
AM_IMPORT_FROM(tnzsb_base_sub_map)
AM_RANGE(0xf800, 0xfbff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tnzsb_cpu2_map, AS_PROGRAM, 8, tnzsb_state )
+ADDRESS_MAP_START(tnzsb_state::tnzsb_cpu2_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kabukiz_cpu2_map, AS_PROGRAM, 8, kabukiz_state )
+ADDRESS_MAP_START(kabukiz_state::kabukiz_cpu2_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("audiobank")
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tnzsb_io_map, AS_IO, 8, tnzsb_state )
+ADDRESS_MAP_START(tnzsb_state::tnzsb_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
AM_RANGE(0x02, 0x02) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jpopnics_main_map, AS_PROGRAM, 8, jpopnics_state )
+ADDRESS_MAP_START(jpopnics_state::jpopnics_main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_DEVICE("mainbank", address_map_bank_device, amap8)
AM_RANGE(0xc000, 0xcfff) AM_RAM AM_DEVREADWRITE("spritegen", seta001_device, spritecodelow_r8, spritecodelow_w8)
@@ -848,7 +848,7 @@ static ADDRESS_MAP_START( jpopnics_main_map, AS_PROGRAM, 8, jpopnics_state )
AM_RANGE(0xf800, 0xffff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jpopnics_sub_map, AS_PROGRAM, 8, jpopnics_state )
+ADDRESS_MAP_START(jpopnics_state::jpopnics_sub_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("subbank")
@@ -866,7 +866,7 @@ static ADDRESS_MAP_START( jpopnics_sub_map, AS_PROGRAM, 8, jpopnics_state )
ADDRESS_MAP_END
/* RAM/ROM bank that maps at 0x8000-0xbfff on maincpu */
-static ADDRESS_MAP_START( mainbank_map, AS_PROGRAM, 8, tnzs_base_state )
+ADDRESS_MAP_START(tnzs_base_state::mainbank_map)
AM_RANGE(0x00000, 0x07fff) AM_RAM // instead of the first two banks of ROM being repeated redundantly the hardware maps RAM here
AM_RANGE(0x08000, 0x1ffff) AM_ROM AM_REGION(":maincpu", 0x8000)
ADDRESS_MAP_END
@@ -1552,7 +1552,7 @@ MACHINE_CONFIG_START(tnzs_base_state::tnzs_base)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tnzs_base_state::tnzs, tnzs_base)
+MACHINE_CONFIG_DERIVED(tnzs_mcu_state::tnzs, tnzs_base)
MCFG_CPU_ADD("mcu", I8742, 12000000/2) /* 400KHz ??? - Main board Crystal is 12MHz */
MCFG_MCS48_PORT_P1_IN_CB(READ8(tnzs_mcu_state, mcu_port1_r))
MCFG_MCS48_PORT_P2_IN_CB(READ8(tnzs_mcu_state, mcu_port2_r))
diff --git a/src/mame/drivers/toaplan1.cpp b/src/mame/drivers/toaplan1.cpp
index 77f3456721f..4b0f58ab831 100644
--- a/src/mame/drivers/toaplan1.cpp
+++ b/src/mame/drivers/toaplan1.cpp
@@ -619,7 +619,7 @@ Stephh's and AWJ's notes (based on the games M68000 and Z80 code and some tests)
/***************************** 68000 Memory Map *****************************/
-static ADDRESS_MAP_START( rallybik_main_map, AS_PROGRAM, 16, toaplan1_rallybik_state )
+ADDRESS_MAP_START(toaplan1_rallybik_state::rallybik_main_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x040000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x083fff) AM_RAM
@@ -639,7 +639,7 @@ static ADDRESS_MAP_START( rallybik_main_map, AS_PROGRAM, 16, toaplan1_rallybik_s
AM_RANGE(0x1c8000, 0x1c8001) AM_WRITE(toaplan1_reset_sound_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( truxton_main_map, AS_PROGRAM, 16, toaplan1_state )
+ADDRESS_MAP_START(toaplan1_state::truxton_main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x083fff) AM_RAM
AM_RANGE(0x0c0000, 0x0c0001) AM_READ(toaplan1_frame_done_r)
@@ -662,7 +662,7 @@ static ADDRESS_MAP_START( truxton_main_map, AS_PROGRAM, 16, toaplan1_state )
AM_RANGE(0x1d0000, 0x1d0001) AM_WRITE(toaplan1_reset_sound_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hellfire_main_map, AS_PROGRAM, 16, toaplan1_state )
+ADDRESS_MAP_START(toaplan1_state::hellfire_main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x047fff) AM_RAM
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("VBLANK")
@@ -685,7 +685,7 @@ static ADDRESS_MAP_START( hellfire_main_map, AS_PROGRAM, 16, toaplan1_state )
AM_RANGE(0x180008, 0x180009) AM_WRITE(toaplan1_reset_sound_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( zerowing_main_map, AS_PROGRAM, 16, toaplan1_state )
+ADDRESS_MAP_START(toaplan1_state::zerowing_main_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x040000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x087fff) AM_RAM
@@ -708,7 +708,7 @@ static ADDRESS_MAP_START( zerowing_main_map, AS_PROGRAM, 16, toaplan1_state )
AM_RANGE(0x4c0006, 0x4c0007) AM_READWRITE(toaplan1_spritesizeram16_r, toaplan1_spritesizeram16_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( demonwld_main_map, AS_PROGRAM, 16, toaplan1_state )
+ADDRESS_MAP_START(toaplan1_state::demonwld_main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x400000, 0x400001) AM_READ_PORT("VBLANK")
// AM_RANGE(0x400000, 0x400001) AM_WRITE(?? video frame related ??)
@@ -732,7 +732,7 @@ static ADDRESS_MAP_START( demonwld_main_map, AS_PROGRAM, 16, toaplan1_state )
AM_RANGE(0xe0000a, 0xe0000b) AM_WRITE(demonwld_dsp_ctrl_w) /* DSP Comms control */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( samesame_main_map, AS_PROGRAM, 16, toaplan1_state )
+ADDRESS_MAP_START(toaplan1_state::samesame_main_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x040000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x080003) AM_WRITE(toaplan1_tile_offsets_w)
@@ -763,7 +763,7 @@ static ADDRESS_MAP_START( samesame_main_map, AS_PROGRAM, 16, toaplan1_state )
AM_RANGE(0x1c0006, 0x1c0007) AM_READWRITE(toaplan1_spritesizeram16_r, toaplan1_spritesizeram16_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( outzone_main_map, AS_PROGRAM, 16, toaplan1_state )
+ADDRESS_MAP_START(toaplan1_state::outzone_main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_READ(toaplan1_frame_done_r)
AM_RANGE(0x100002, 0x100003) AM_READWRITE(toaplan1_spriteram_offs_r, toaplan1_spriteram_offs_w)
@@ -785,7 +785,7 @@ static ADDRESS_MAP_START( outzone_main_map, AS_PROGRAM, 16, toaplan1_state )
AM_RANGE(0x340006, 0x340007) AM_WRITE(toaplan1_fcu_flipscreen_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( outzonecv_main_map, AS_PROGRAM, 16, toaplan1_state )
+ADDRESS_MAP_START(toaplan1_state::outzonecv_main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
// AM_RANGE(0x040000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x087fff) AM_RAM
@@ -808,7 +808,7 @@ static ADDRESS_MAP_START( outzonecv_main_map, AS_PROGRAM, 16, toaplan1_state )
AM_RANGE(0x4c0006, 0x4c0007) AM_READWRITE(toaplan1_spritesizeram16_r, toaplan1_spritesizeram16_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vimana_main_map, AS_PROGRAM, 16, toaplan1_state )
+ADDRESS_MAP_START(toaplan1_state::vimana_main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x080003) AM_WRITE(toaplan1_tile_offsets_w)
AM_RANGE(0x080006, 0x080007) AM_WRITE(toaplan1_fcu_flipscreen_w)
@@ -833,12 +833,12 @@ ADDRESS_MAP_END
/***************************** Z80 Memory Map *******************************/
-static ADDRESS_MAP_START( toaplan1_sound_map, AS_PROGRAM, 8, toaplan1_state )
+ADDRESS_MAP_START(toaplan1_state::toaplan1_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("sharedram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rallybik_sound_io_map, AS_IO, 8, toaplan1_rallybik_state )
+ADDRESS_MAP_START(toaplan1_rallybik_state::rallybik_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("P1")
AM_RANGE(0x10, 0x10) AM_READ_PORT("P2")
@@ -849,7 +849,7 @@ static ADDRESS_MAP_START( rallybik_sound_io_map, AS_IO, 8, toaplan1_rallybik_sta
AM_RANGE(0x60, 0x61) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( truxton_sound_io_map, AS_IO, 8, toaplan1_state )
+ADDRESS_MAP_START(toaplan1_state::truxton_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("P1")
AM_RANGE(0x10, 0x10) AM_READ_PORT("P2")
@@ -861,7 +861,7 @@ static ADDRESS_MAP_START( truxton_sound_io_map, AS_IO, 8, toaplan1_state )
AM_RANGE(0x70, 0x70) AM_READ_PORT("TJUMP")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hellfire_sound_io_map, AS_IO, 8, toaplan1_state )
+ADDRESS_MAP_START(toaplan1_state::hellfire_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("DSWA")
AM_RANGE(0x10, 0x10) AM_READ_PORT("DSWB")
@@ -873,7 +873,7 @@ static ADDRESS_MAP_START( hellfire_sound_io_map, AS_IO, 8, toaplan1_state )
AM_RANGE(0x70, 0x71) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( zerowing_sound_io_map, AS_IO, 8, toaplan1_state )
+ADDRESS_MAP_START(toaplan1_state::zerowing_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("P1")
AM_RANGE(0x08, 0x08) AM_READ_PORT("P2")
@@ -885,7 +885,7 @@ static ADDRESS_MAP_START( zerowing_sound_io_map, AS_IO, 8, toaplan1_state )
AM_RANGE(0xa8, 0xa9) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( demonwld_sound_io_map, AS_IO, 8, toaplan1_state )
+ADDRESS_MAP_START(toaplan1_state::demonwld_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
AM_RANGE(0x20, 0x20) AM_READ_PORT("TJUMP")
@@ -897,7 +897,7 @@ static ADDRESS_MAP_START( demonwld_sound_io_map, AS_IO, 8, toaplan1_state )
AM_RANGE(0xe0, 0xe0) AM_READ_PORT("DSWA")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( outzone_sound_io_map, AS_IO, 8, toaplan1_state )
+ADDRESS_MAP_START(toaplan1_state::outzone_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
AM_RANGE(0x04, 0x04) AM_WRITE(toaplan1_coin_w) /* Coin counter/lockout */
@@ -912,13 +912,13 @@ ADDRESS_MAP_END
/***************************** TMS32010 Memory Map **************************/
-static ADDRESS_MAP_START( DSP_program_map, AS_PROGRAM, 16, toaplan1_state )
+ADDRESS_MAP_START(toaplan1_state::DSP_program_map)
AM_RANGE(0x000, 0x7ff) AM_ROM
ADDRESS_MAP_END
/* $000 - 08F TMS32010 Internal Data RAM in Data Address Space */
-static ADDRESS_MAP_START( DSP_io_map, AS_IO, 16, toaplan1_state )
+ADDRESS_MAP_START(toaplan1_state::DSP_io_map)
AM_RANGE(0, 0) AM_WRITE(demonwld_dsp_addrsel_w)
AM_RANGE(1, 1) AM_READWRITE(demonwld_dsp_r, demonwld_dsp_w)
AM_RANGE(3, 3) AM_WRITE(demonwld_dsp_bio_w)
@@ -927,13 +927,13 @@ ADDRESS_MAP_END
/***************************** HD647180 Memory Map **************************/
-static ADDRESS_MAP_START( vimana_hd647180_mem_map, AS_PROGRAM, 8, toaplan1_state )
+ADDRESS_MAP_START(toaplan1_state::vimana_hd647180_mem_map)
AM_RANGE(0x00000, 0x03fff) AM_ROM /* Internal 16k byte ROM */
AM_RANGE(0x08000, 0x087ff) AM_RAM AM_SHARE("sharedram") /* 2048 bytes of shared ram w/maincpu */
AM_RANGE(0x0fe00, 0x0ffff) AM_RAM /* Internal 512 byte RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vimana_hd647180_io_map, AS_IO, 8, toaplan1_state )
+ADDRESS_MAP_START(toaplan1_state::vimana_hd647180_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
// lots of low level 647180 peripherals are not emulated yet, ddr regs, timer regs etc, see comments below
// also see http://bitsavers.trailing-edge.com/pdf/hitachi/_dataBooks/U94_HD647180X_8-Bit_Microcontroller_Hardware_Manual_Jan88.pdf particularly page 38 (pdf page 56)
@@ -996,12 +996,12 @@ READ8_MEMBER(toaplan1_state::samesame_cmdavailable_r)
else return 0x00;
};
-static ADDRESS_MAP_START( samesame_hd647180_mem_map, AS_PROGRAM, 8, toaplan1_state )
+ADDRESS_MAP_START(toaplan1_state::samesame_hd647180_mem_map)
AM_RANGE(0x00000, 0x03fff) AM_ROM /* Internal 16k byte ROM */
AM_RANGE(0x0fe00, 0x0ffff) AM_RAM /* Internal 512 byte RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( samesame_hd647180_io_map, AS_IO, 8, toaplan1_state )
+ADDRESS_MAP_START(toaplan1_state::samesame_hd647180_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x63, 0x63) AM_READ( samesame_cmdavailable_r )
diff --git a/src/mame/drivers/toaplan2.cpp b/src/mame/drivers/toaplan2.cpp
index 9b5aaa1ae24..0999c8430ae 100644
--- a/src/mame/drivers/toaplan2.cpp
+++ b/src/mame/drivers/toaplan2.cpp
@@ -867,7 +867,7 @@ INTERRUPT_GEN_MEMBER(toaplan2_state::bbakraid_snd_interrupt)
-static ADDRESS_MAP_START( tekipaki_68k_mem, AS_PROGRAM, 16, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::tekipaki_68k_mem)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x020000, 0x03ffff) AM_ROM // extra for Whoopee
AM_RANGE(0x080000, 0x082fff) AM_RAM
@@ -885,7 +885,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( ghox_68k_mem, AS_PROGRAM, 16, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::ghox_68k_mem)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x040001) AM_READ(ghox_p2_h_analog_r)
AM_RANGE(0x080000, 0x083fff) AM_RAM
@@ -898,7 +898,7 @@ static ADDRESS_MAP_START( ghox_68k_mem, AS_PROGRAM, 16, toaplan2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dogyuun_68k_mem, AS_PROGRAM, 16, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::dogyuun_68k_mem)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM
AM_RANGE(0x200010, 0x200011) AM_READ_PORT("IN1")
@@ -913,7 +913,7 @@ static ADDRESS_MAP_START( dogyuun_68k_mem, AS_PROGRAM, 16, toaplan2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kbash_68k_mem, AS_PROGRAM, 16, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::kbash_68k_mem)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM
AM_RANGE(0x200000, 0x200fff) AM_READWRITE(shared_ram_r, shared_ram_w )
@@ -927,7 +927,7 @@ static ADDRESS_MAP_START( kbash_68k_mem, AS_PROGRAM, 16, toaplan2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kbash2_68k_mem, AS_PROGRAM, 16, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::kbash2_68k_mem)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM
AM_RANGE(0x104000, 0x10401f) AM_RAM // Sound related?
@@ -948,7 +948,7 @@ static ADDRESS_MAP_START( kbash2_68k_mem, AS_PROGRAM, 16, toaplan2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( truxton2_68k_mem, AS_PROGRAM, 16, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::truxton2_68k_mem)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x20000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w)
@@ -971,7 +971,7 @@ static ADDRESS_MAP_START( truxton2_68k_mem, AS_PROGRAM, 16, toaplan2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pipibibs_68k_mem, AS_PROGRAM, 16, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::pipibibs_68k_mem)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x082fff) AM_RAM
AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -987,7 +987,7 @@ static ADDRESS_MAP_START( pipibibs_68k_mem, AS_PROGRAM, 16, toaplan2_state )
ADDRESS_MAP_END
// odd scroll registers
-static ADDRESS_MAP_START( pipibibi_bootleg_68k_mem, AS_PROGRAM, 16, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::pipibibi_bootleg_68k_mem)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x082fff) AM_RAM
AM_RANGE(0x083000, 0x0837ff) AM_DEVREADWRITE("gp9001", gp9001vdp_device, pipibibi_bootleg_spriteram16_r, pipibibi_bootleg_spriteram16_w) // SpriteRAM
@@ -1009,7 +1009,7 @@ static ADDRESS_MAP_START( pipibibi_bootleg_68k_mem, AS_PROGRAM, 16, toaplan2_sta
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fixeight_68k_mem, AS_PROGRAM, 16, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::fixeight_68k_mem)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM
AM_RANGE(0x200000, 0x200001) AM_READ_PORT("IN1")
@@ -1029,7 +1029,7 @@ static ADDRESS_MAP_START( fixeight_68k_mem, AS_PROGRAM, 16, toaplan2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fixeightbl_68k_mem, AS_PROGRAM, 16, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::fixeightbl_68k_mem)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // 0-7ffff ?
AM_RANGE(0x100000, 0x10ffff) AM_RAM // 100000-107fff 105000-105xxx 106000-106xxx 108000 - related to sound ?
AM_RANGE(0x200000, 0x200001) AM_READ_PORT("IN1")
@@ -1048,7 +1048,7 @@ static ADDRESS_MAP_START( fixeightbl_68k_mem, AS_PROGRAM, 16, toaplan2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vfive_68k_mem, AS_PROGRAM, 16, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::vfive_68k_mem)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM
// AM_RANGE(0x200000, 0x20ffff) AM_NOP // Read at startup by broken ROM checksum code - see notes
@@ -1063,7 +1063,7 @@ static ADDRESS_MAP_START( vfive_68k_mem, AS_PROGRAM, 16, toaplan2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( batsugun_68k_mem, AS_PROGRAM, 16, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::batsugun_68k_mem)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x200010, 0x200011) AM_READ_PORT("IN1")
@@ -1077,7 +1077,7 @@ static ADDRESS_MAP_START( batsugun_68k_mem, AS_PROGRAM, 16, toaplan2_state )
AM_RANGE(0x700000, 0x700001) AM_READ(video_count_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pwrkick_68k_mem, AS_PROGRAM, 16, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::pwrkick_68k_mem)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM AM_SHARE("nvram") // Only 10022C-10037B is actually saved as NVRAM
AM_RANGE(0x104000, 0x10ffff) AM_RAM
@@ -1099,7 +1099,7 @@ static ADDRESS_MAP_START( pwrkick_68k_mem, AS_PROGRAM, 16, toaplan2_state )
AM_RANGE(0x700038, 0x700039) AM_WRITE8(pwrkick_coin_lockout_w, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( othldrby_68k_mem, AS_PROGRAM, 16, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::othldrby_68k_mem)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM AM_SHARE("nvram") // Only 10331E-103401 is actually saved as NVRAM
AM_RANGE(0x104000, 0x10ffff) AM_RAM
@@ -1135,7 +1135,7 @@ WRITE16_MEMBER(toaplan2_state::enmadaio_oki_bank_w)
}
-static ADDRESS_MAP_START( enmadaio_68k_mem, AS_PROGRAM, 16, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::enmadaio_68k_mem)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM // AM_SHARE("nvram")
AM_RANGE(0x104000, 0x10ffff) AM_RAM
@@ -1161,7 +1161,7 @@ static ADDRESS_MAP_START( enmadaio_68k_mem, AS_PROGRAM, 16, toaplan2_state )
AM_RANGE(0x70002c, 0x70002d) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( snowbro2_68k_mem, AS_PROGRAM, 16, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::snowbro2_68k_mem)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w)
@@ -1181,7 +1181,7 @@ static ADDRESS_MAP_START( snowbro2_68k_mem, AS_PROGRAM, 16, toaplan2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mahoudai_68k_mem, AS_PROGRAM, 16, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::mahoudai_68k_mem)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x218000, 0x21bfff) AM_READWRITE(shared_ram_r, shared_ram_w)
@@ -1203,7 +1203,7 @@ static ADDRESS_MAP_START( mahoudai_68k_mem, AS_PROGRAM, 16, toaplan2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( shippumd_68k_mem, AS_PROGRAM, 16, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::shippumd_68k_mem)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x218000, 0x21bfff) AM_READWRITE(shared_ram_r, shared_ram_w)
@@ -1226,7 +1226,7 @@ static ADDRESS_MAP_START( shippumd_68k_mem, AS_PROGRAM, 16, toaplan2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bgaregga_68k_mem, AS_PROGRAM, 16, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::bgaregga_68k_mem)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x218000, 0x21bfff) AM_READWRITE(shared_ram_r, shared_ram_w)
@@ -1248,7 +1248,7 @@ static ADDRESS_MAP_START( bgaregga_68k_mem, AS_PROGRAM, 16, toaplan2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( batrider_68k_mem, AS_PROGRAM, 16, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::batrider_68k_mem)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
// actually 200000 - 20ffff is probably all main RAM, and the text and palette RAM are written via DMA
AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(toaplan2_tx_videoram_w) AM_SHARE("tx_videoram")
@@ -1278,7 +1278,7 @@ static ADDRESS_MAP_START( batrider_68k_mem, AS_PROGRAM, 16, toaplan2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bbakraid_68k_mem, AS_PROGRAM, 16, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::bbakraid_68k_mem)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
// actually 200000 - 20ffff is probably all main RAM, and the text and palette RAM are written via DMA
AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(toaplan2_tx_videoram_w) AM_SHARE("tx_videoram")
@@ -1309,14 +1309,14 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( pipibibs_sound_z80_mem, AS_PROGRAM, 8, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::pipibibs_sound_z80_mem)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("shared_ram")
AM_RANGE(0xe000, 0xe001) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( raizing_sound_z80_mem, AS_PROGRAM, 8, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::raizing_sound_z80_mem)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_RAM AM_SHARE("shared_ram")
AM_RANGE(0xe000, 0xe001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
@@ -1325,7 +1325,7 @@ static ADDRESS_MAP_START( raizing_sound_z80_mem, AS_PROGRAM, 8, toaplan2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bgaregga_sound_z80_mem, AS_PROGRAM, 8, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::bgaregga_sound_z80_mem)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xdfff) AM_RAM AM_SHARE("shared_ram")
@@ -1339,14 +1339,14 @@ static ADDRESS_MAP_START( bgaregga_sound_z80_mem, AS_PROGRAM, 8, toaplan2_state
ADDRESS_MAP_END
-static ADDRESS_MAP_START( batrider_sound_z80_mem, AS_PROGRAM, 8, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::batrider_sound_z80_mem)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xdfff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( batrider_sound_z80_port, AS_IO, 8, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::batrider_sound_z80_port)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x40, 0x40) AM_DEVWRITE("soundlatch3", generic_latch_8_device, write)
AM_RANGE(0x42, 0x42) AM_DEVWRITE("soundlatch4", generic_latch_8_device, write)
@@ -1362,13 +1362,13 @@ static ADDRESS_MAP_START( batrider_sound_z80_port, AS_IO, 8, toaplan2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bbakraid_sound_z80_mem, AS_PROGRAM, 8, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::bbakraid_sound_z80_mem)
AM_RANGE(0x0000, 0xbfff) AM_ROM // No banking? ROM only contains code and data up to 0x28DC
AM_RANGE(0xc000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bbakraid_sound_z80_port, AS_IO, 8, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::bbakraid_sound_z80_port)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x40, 0x40) AM_DEVWRITE("soundlatch3", generic_latch_8_device, write)
AM_RANGE(0x42, 0x42) AM_DEVWRITE("soundlatch4", generic_latch_8_device, write)
@@ -1380,14 +1380,14 @@ static ADDRESS_MAP_START( bbakraid_sound_z80_port, AS_IO, 8, toaplan2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( v25_mem, AS_PROGRAM, 8, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::v25_mem)
AM_RANGE(0x00000, 0x00001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0x00004, 0x00004) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0x80000, 0x87fff) AM_MIRROR(0x78000) AM_RAM AM_SHARE("shared_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kbash_v25_mem, AS_PROGRAM, 8, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::kbash_v25_mem)
AM_RANGE(0x00000, 0x007ff) AM_RAM AM_SHARE("shared_ram")
AM_RANGE(0x04000, 0x04001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0x04002, 0x04002) AM_DEVREADWRITE("oki", okim6295_device, read, write)
@@ -1395,7 +1395,7 @@ static ADDRESS_MAP_START( kbash_v25_mem, AS_PROGRAM, 8, toaplan2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fixeight_v25_mem, AS_PROGRAM, 8, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::fixeight_v25_mem)
AM_RANGE(0x00000, 0x00000) AM_READ_PORT("IN1")
AM_RANGE(0x00002, 0x00002) AM_READ_PORT("IN2")
AM_RANGE(0x00004, 0x00004) AM_READ_PORT("IN3")
@@ -1405,18 +1405,18 @@ static ADDRESS_MAP_START( fixeight_v25_mem, AS_PROGRAM, 8, toaplan2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vfive_v25_mem, AS_PROGRAM, 8, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::vfive_v25_mem)
AM_RANGE(0x00000, 0x00001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0x80000, 0x87fff) AM_MIRROR(0x78000) AM_RAM AM_SHARE("shared_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fixeightbl_oki, 0, 8, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::fixeightbl_oki)
AM_RANGE(0x00000, 0x2ffff) AM_ROM
AM_RANGE(0x30000, 0x3ffff) AM_ROMBANK("bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( enmadaio_oki, 0, 8, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::enmadaio_oki)
AM_RANGE(0x00000, 0x3ffff) AM_ROMBANK("bank1")
ADDRESS_MAP_END
@@ -1428,12 +1428,12 @@ READ8_MEMBER(toaplan2_state::tekipaki_cmdavailable_r)
else return 0x00;
};
-static ADDRESS_MAP_START( hd647180_mem_map, AS_PROGRAM, 8, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::hd647180_mem_map)
AM_RANGE(0x00000, 0x03fff) AM_ROM /* Internal 16k byte ROM */
AM_RANGE(0x0fe00, 0x0ffff) AM_RAM /* Internal 512 byte RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hd647180_io_map, AS_IO, 8, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::hd647180_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x60, 0x60) AM_READ(tekipaki_cmdavailable_r)
@@ -1444,7 +1444,7 @@ static ADDRESS_MAP_START( hd647180_io_map, AS_IO, 8, toaplan2_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ghox_hd647180_mem_map, AS_PROGRAM, 8, toaplan2_state )
+ADDRESS_MAP_START(toaplan2_state::ghox_hd647180_mem_map)
AM_RANGE(0x00000, 0x03fff) AM_ROM // Internal 16k byte ROM
AM_RANGE(0x0fe00, 0x0ffff) AM_RAM // Internal 512 byte RAM
AM_RANGE(0x3fe00, 0x3ffff) AM_RAM // Relocated internal RAM (RMCR = 30)
diff --git a/src/mame/drivers/toki.cpp b/src/mame/drivers/toki.cpp
index c97a307106c..b649b85e5fa 100644
--- a/src/mame/drivers/toki.cpp
+++ b/src/mame/drivers/toki.cpp
@@ -142,7 +142,7 @@ WRITE8_MEMBER(toki_state::tokib_adpcm_data_w)
/*****************************************************************************/
-static ADDRESS_MAP_START( toki_map, AS_PROGRAM, 16, toki_state )
+ADDRESS_MAP_START(toki_state::toki_map)
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x060000, 0x06d7ff) AM_RAM
AM_RANGE(0x06d800, 0x06dfff) AM_RAM AM_SHARE("spriteram")
@@ -158,7 +158,7 @@ static ADDRESS_MAP_START( toki_map, AS_PROGRAM, 16, toki_state )
ADDRESS_MAP_END
/* In the bootleg, sound and sprites are remapped to 0x70000 */
-static ADDRESS_MAP_START( tokib_map, AS_PROGRAM, 16, toki_state )
+ADDRESS_MAP_START(toki_state::tokib_map)
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x060000, 0x06dfff) AM_RAM
AM_RANGE(0x06e000, 0x06e7ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -182,7 +182,7 @@ ADDRESS_MAP_END
/*****************************************************************************/
-static ADDRESS_MAP_START( toki_audio_map, AS_PROGRAM, 8, toki_state )
+ADDRESS_MAP_START(toki_state::toki_audio_map)
AM_RANGE(0x0000, 0x1fff) AM_DEVREAD("sei80bu", sei80bu_device, data_r)
AM_RANGE(0x2000, 0x27ff) AM_RAM
AM_RANGE(0x4000, 0x4000) AM_DEVWRITE("seibu_sound", seibu_sound_device, pending_w)
@@ -200,12 +200,12 @@ static ADDRESS_MAP_START( toki_audio_map, AS_PROGRAM, 8, toki_state )
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("seibu_bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( toki_audio_opcodes_map, AS_OPCODES, 8, toki_state )
+ADDRESS_MAP_START(toki_state::toki_audio_opcodes_map)
AM_RANGE(0x0000, 0x1fff) AM_DEVREAD("sei80bu", sei80bu_device, opcode_r)
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("seibu_bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jujuba_audio_map, AS_PROGRAM, 8, toki_state )
+ADDRESS_MAP_START(toki_state::jujuba_audio_map)
AM_RANGE(0x0000, 0x1fff) AM_READ(jujuba_z80_data_decrypt)
AM_RANGE(0x2000, 0x27ff) AM_RAM
AM_RANGE(0x4000, 0x4000) AM_DEVWRITE("seibu_sound", seibu_sound_device, pending_w)
@@ -223,7 +223,7 @@ static ADDRESS_MAP_START( jujuba_audio_map, AS_PROGRAM, 8, toki_state )
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("seibu_bank1")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jujuba_audio_opcodes_map, AS_OPCODES, 8, toki_state )
+ADDRESS_MAP_START(toki_state::jujuba_audio_opcodes_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM AM_REGION("audiocpu", 0)
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("seibu_bank1")
ADDRESS_MAP_END
@@ -233,7 +233,7 @@ READ8_MEMBER(toki_state::jujuba_z80_data_decrypt)
return m_audiocpu_rom[offset] ^ 0x55;
}
-static ADDRESS_MAP_START( tokib_audio_map, AS_PROGRAM, 8, toki_state )
+ADDRESS_MAP_START(toki_state::tokib_audio_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xe000, 0xe000) AM_WRITE(tokib_adpcm_control_w) /* MSM5205 + ROM bank */
@@ -494,7 +494,7 @@ MACHINE_CONFIG_START(toki_state::toki) /* KOYO 20.000MHz near the cpu */
MCFG_CPU_ADD("audiocpu", Z80, XTAL(14'318'181)/4) // verified on pcb
MCFG_CPU_PROGRAM_MAP(toki_audio_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(toki_audio_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(toki_audio_opcodes_map)
MCFG_DEVICE_ADD("sei80bu", SEI80BU, 0)
MCFG_DEVICE_ROM("audiocpu")
@@ -536,7 +536,7 @@ MACHINE_CONFIG_DERIVED(toki_state::jujuba, toki)
MCFG_DEVICE_MODIFY("audiocpu")
MCFG_CPU_PROGRAM_MAP(jujuba_audio_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(jujuba_audio_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(jujuba_audio_opcodes_map)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(toki_state::tokib)
diff --git a/src/mame/drivers/tomcat.cpp b/src/mame/drivers/tomcat.cpp
index 630c09c49dd..2dfb94c5302 100644
--- a/src/mame/drivers/tomcat.cpp
+++ b/src/mame/drivers/tomcat.cpp
@@ -84,6 +84,9 @@ public:
required_device<cpu_device> m_dsp;
required_device<ls259_device> m_mainlatch;
void tomcat(machine_config &config);
+ void dsp_map(address_map &map);
+ void sound_map(address_map &map);
+ void tomcat_map(address_map &map);
};
@@ -239,7 +242,7 @@ WRITE8_MEMBER(tomcat_state::tomcat_nvram_w)
m_nvram[offset] = data;
}
-static ADDRESS_MAP_START( tomcat_map, AS_PROGRAM, 16, tomcat_state )
+ADDRESS_MAP_START(tomcat_state::tomcat_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x402000, 0x402001) AM_READ(tomcat_adcread_r) AM_WRITE(tomcat_adcon_w)
AM_RANGE(0x404000, 0x404001) AM_READ(tomcat_inputs_r) AM_DEVWRITE("avg", avg_tomcat_device, go_word_w)
@@ -254,7 +257,7 @@ static ADDRESS_MAP_START( tomcat_map, AS_PROGRAM, 16, tomcat_state )
AM_RANGE(0xffd000, 0xffdfff) AM_READWRITE8(tomcat_nvram_r, tomcat_nvram_w, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dsp_map, AS_PROGRAM, 16, tomcat_state )
+ADDRESS_MAP_START(tomcat_state::dsp_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("shared_ram")
ADDRESS_MAP_END
@@ -273,7 +276,7 @@ WRITE8_MEMBER(tomcat_state::soundlatches_w)
}
}
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, tomcat_state )
+ADDRESS_MAP_START(tomcat_state::sound_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x2001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0x3000, 0x30df) AM_WRITE(soundlatches_w)
diff --git a/src/mame/drivers/tonton.cpp b/src/mame/drivers/tonton.cpp
index fdcc0c93015..e7b2d7c9198 100644
--- a/src/mame/drivers/tonton.cpp
+++ b/src/mame/drivers/tonton.cpp
@@ -51,6 +51,8 @@ public:
required_device<cpu_device> m_maincpu;
required_device<ticket_dispenser_device> m_hopper;
void tonton(machine_config &config);
+ void tonton_io(address_map &map);
+ void tonton_map(address_map &map);
};
#define MAIN_CLOCK XTAL(21'477'272)
@@ -86,13 +88,13 @@ WRITE8_MEMBER(tonton_state::hopper_w)
* Memory Map *
*************************************************/
-static ADDRESS_MAP_START( tonton_map, AS_PROGRAM, 8, tonton_state )
+ADDRESS_MAP_START(tonton_state::tonton_map)
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xe3ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tonton_io, AS_IO, 8, tonton_state )
+ADDRESS_MAP_START(tonton_state::tonton_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
AM_RANGE(0x00, 0x00) AM_WRITE(tonton_outport_w)
diff --git a/src/mame/drivers/toobin.cpp b/src/mame/drivers/toobin.cpp
index 49a5610f86d..cf630d1d1db 100644
--- a/src/mame/drivers/toobin.cpp
+++ b/src/mame/drivers/toobin.cpp
@@ -81,7 +81,7 @@ WRITE16_MEMBER(toobin_state::interrupt_scan_w)
*************************************/
/* full address map decoded from schematics */
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, toobin_state )
+ADDRESS_MAP_START(toobin_state::main_map)
ADDRESS_MAP_GLOBAL_MASK(0xc7ffff)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0xc00000, 0xc07fff) AM_RAM_DEVWRITE("playfield", tilemap_device, write16) AM_SHARE("playfield")
diff --git a/src/mame/drivers/topspeed.cpp b/src/mame/drivers/topspeed.cpp
index 7f7cccc9f0c..8fb71ca7edb 100644
--- a/src/mame/drivers/topspeed.cpp
+++ b/src/mame/drivers/topspeed.cpp
@@ -377,7 +377,7 @@ WRITE_LINE_MEMBER(topspeed_state::z80ctc_to0)
MEMORY STRUCTURES
***********************************************************/
-static ADDRESS_MAP_START( cpua_map, AS_PROGRAM, 16, topspeed_state )
+ADDRESS_MAP_START(topspeed_state::cpua_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x400000, 0x40ffff) AM_RAM AM_SHARE("sharedram")
AM_RANGE(0x500000, 0x503fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -399,7 +399,7 @@ static ADDRESS_MAP_START( cpua_map, AS_PROGRAM, 16, topspeed_state )
AM_RANGE(0xe00000, 0xe0ffff) AM_RAM AM_SHARE("spritemap")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpub_map, AS_PROGRAM, 16, topspeed_state )
+ADDRESS_MAP_START(topspeed_state::cpub_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x400000, 0x40ffff) AM_RAM AM_SHARE("sharedram")
AM_RANGE(0x880000, 0x880001) AM_READ8(input_bypass_r, 0x00ff) AM_DEVWRITE8("tc0040ioc", tc0040ioc_device, portreg_w, 0x00ff)
@@ -410,7 +410,7 @@ ADDRESS_MAP_END
/***************************************************************************/
-static ADDRESS_MAP_START( z80_prg, AS_PROGRAM, 8, topspeed_state )
+ADDRESS_MAP_START(topspeed_state::z80_prg)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("sndbank")
AM_RANGE(0x8000, 0x8fff) AM_RAM
@@ -421,7 +421,7 @@ static ADDRESS_MAP_START( z80_prg, AS_PROGRAM, 8, topspeed_state )
AM_RANGE(0xd000, 0xdfff) AM_WRITE(volume_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( z80_io, AS_IO, 8, topspeed_state )
+ADDRESS_MAP_START(topspeed_state::z80_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("ctc", z80ctc_device, read, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/toratora.cpp b/src/mame/drivers/toratora.cpp
index 172ccde4233..e3665a0682c 100644
--- a/src/mame/drivers/toratora.cpp
+++ b/src/mame/drivers/toratora.cpp
@@ -94,6 +94,7 @@ public:
uint32_t screen_update_toratora(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(toratora_timer);
void toratora(machine_config &config);
+ void main_map(address_map &map);
};
@@ -315,7 +316,7 @@ WRITE_LINE_MEMBER(toratora_state::sn2_ca2_u2_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, toratora_state )
+ADDRESS_MAP_START(toratora_state::main_map)
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x7fff) AM_ROM /* not fully populated */
AM_RANGE(0x8000, 0x9fff) AM_RAM AM_SHARE("videoram")
diff --git a/src/mame/drivers/tosh1000.cpp b/src/mame/drivers/tosh1000.cpp
index 59661bf00c4..0589cef9f1f 100644
--- a/src/mame/drivers/tosh1000.cpp
+++ b/src/mame/drivers/tosh1000.cpp
@@ -83,6 +83,9 @@ public:
static void cfg_fdc_35(device_t *device);
void tosh1000(machine_config &config);
+ void tosh1000_io(address_map &map);
+ void tosh1000_map(address_map &map);
+ void tosh1000_romdos(address_map &map);
protected:
required_device<cpu_device> m_maincpu;
required_device<address_map_bank_device> m_bankdev;
@@ -213,7 +216,7 @@ READ8_MEMBER(tosh1000_state::bram_r)
}
-static ADDRESS_MAP_START( tosh1000_romdos, AS_PROGRAM, 8, tosh1000_state )
+ADDRESS_MAP_START(tosh1000_state::tosh1000_romdos)
AM_RANGE(0x00000, 0x0ffff) AM_ROM AM_REGION("romdos", 0)
AM_RANGE(0x10000, 0x1ffff) AM_ROM AM_REGION("romdos", 0x10000)
AM_RANGE(0x20000, 0x2ffff) AM_ROM AM_REGION("romdos", 0x20000)
@@ -224,13 +227,13 @@ static ADDRESS_MAP_START( tosh1000_romdos, AS_PROGRAM, 8, tosh1000_state )
AM_RANGE(0x70000, 0x7ffff) AM_ROM AM_REGION("romdos", 0x70000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tosh1000_map, AS_PROGRAM, 8, tosh1000_state )
+ADDRESS_MAP_START(tosh1000_state::tosh1000_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xa0000, 0xaffff) AM_DEVREADWRITE("bankdev", address_map_bank_device, read8, write8)
AM_RANGE(0xf8000, 0xfffff) AM_ROM AM_REGION("bios", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tosh1000_io, AS_IO, 8, tosh1000_state )
+ADDRESS_MAP_START(tosh1000_state::tosh1000_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x00ff) AM_DEVICE("mb", ibm5160_mb_device, map)
AM_RANGE(0x00c0, 0x00c3) AM_READWRITE(bram_r, bram_w)
diff --git a/src/mame/drivers/tourtabl.cpp b/src/mame/drivers/tourtabl.cpp
index 06a380dcd48..4963e8cb0df 100644
--- a/src/mame/drivers/tourtabl.cpp
+++ b/src/mame/drivers/tourtabl.cpp
@@ -31,6 +31,7 @@ public:
DECLARE_READ16_MEMBER(tourtabl_read_input_port);
DECLARE_READ8_MEMBER(tourtabl_get_databus_contents);
void tourtabl(machine_config &config);
+ void main_map(address_map &map);
};
@@ -61,7 +62,7 @@ READ8_MEMBER(tourtabl_state::tourtabl_get_databus_contents)
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, tourtabl_state )
+ADDRESS_MAP_START(tourtabl_state::main_map)
AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x0100) AM_DEVREADWRITE("tia_video", tia_video_device, read, write)
AM_RANGE(0x0080, 0x00ff) AM_MIRROR(0x0100) AM_RAM
AM_RANGE(0x0280, 0x029f) AM_DEVREADWRITE("riot1", riot6532_device, read, write)
diff --git a/src/mame/drivers/tourvis.cpp b/src/mame/drivers/tourvis.cpp
index c3c76dfadff..8cfdbe99efc 100644
--- a/src/mame/drivers/tourvis.cpp
+++ b/src/mame/drivers/tourvis.cpp
@@ -209,6 +209,9 @@ public:
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(tourvision_cart);
void tourvision(machine_config &config);
+ void pce_io(address_map &map);
+ void pce_mem(address_map &map);
+ void tourvision_8085_map(address_map &map);
private:
required_device<cpu_device> m_subcpu;
required_device<generic_slot_device> m_cart;
@@ -330,7 +333,7 @@ static INPUT_PORTS_START( tourvision )
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) // games slot status in bits 3 to 7
INPUT_PORTS_END
-static ADDRESS_MAP_START( pce_mem , AS_PROGRAM, 8, tourvision_state )
+ADDRESS_MAP_START(tourvision_state::pce_mem)
AM_RANGE( 0x000000, 0x0FFFFF) AM_ROM
AM_RANGE( 0x1F0000, 0x1F1FFF) AM_RAM AM_MIRROR(0x6000)
AM_RANGE( 0x1FE000, 0x1FE3FF) AM_DEVREADWRITE( "huc6270", huc6270_device, read, write )
@@ -341,7 +344,7 @@ static ADDRESS_MAP_START( pce_mem , AS_PROGRAM, 8, tourvision_state )
AM_RANGE( 0x1FF400, 0x1FF7FF) AM_DEVREADWRITE("maincpu", h6280_device, irq_status_r, irq_status_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pce_io , AS_IO, 8, tourvision_state )
+ADDRESS_MAP_START(tourvision_state::pce_io)
AM_RANGE( 0x00, 0x03) AM_DEVREADWRITE( "huc6270", huc6270_device, read, write )
ADDRESS_MAP_END
@@ -350,7 +353,7 @@ WRITE8_MEMBER(tourvision_state::tourvision_8085_d000_w)
//logerror( "D000 (8085) write %02x\n", data );
}
-static ADDRESS_MAP_START(tourvision_8085_map, AS_PROGRAM, 8, tourvision_state )
+ADDRESS_MAP_START(tourvision_state::tourvision_8085_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x80ff) AM_DEVREADWRITE("i8155", i8155_device, memory_r, memory_w)
AM_RANGE(0x8100, 0x8107) AM_DEVREADWRITE("i8155", i8155_device, io_r, io_w)
diff --git a/src/mame/drivers/toypop.cpp b/src/mame/drivers/toypop.cpp
index 617462c0b40..d5f51d0da8c 100644
--- a/src/mame/drivers/toypop.cpp
+++ b/src/mame/drivers/toypop.cpp
@@ -103,6 +103,11 @@ public:
DECLARE_WRITE8_MEMBER(bg_rmw_w);
void toypop(machine_config &config);
void liblrabl(machine_config &config);
+ void master_liblrabl_map(address_map &map);
+ void master_toypop_map(address_map &map);
+ void namcos16_master_base_map(address_map &map);
+ void slave_map(address_map &map);
+ void sound_map(address_map &map);
protected:
// driver_device overrides
// virtual void machine_start() override;
@@ -350,7 +355,7 @@ WRITE8_MEMBER(namcos16_state::pal_bank_w)
m_pal_bank = offset & 1;
}
-static ADDRESS_MAP_START( namcos16_master_base_map, AS_PROGRAM, 8, namcos16_state )
+ADDRESS_MAP_START(namcos16_state::namcos16_master_base_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM AM_SHARE("fgvram")
AM_RANGE(0x0400, 0x07ff) AM_RAM AM_SHARE("fgattr")
AM_RANGE(0x0800, 0x1fff) AM_RAM AM_SHARE("master_workram")
@@ -364,7 +369,7 @@ static ADDRESS_MAP_START( namcos16_master_base_map, AS_PROGRAM, 8, namcos16_stat
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("master_rom",0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( master_liblrabl_map, AS_PROGRAM, 8, namcos16_state )
+ADDRESS_MAP_START(namcos16_state::master_liblrabl_map)
AM_IMPORT_FROM( namcos16_master_base_map )
AM_RANGE(0x6000, 0x63ff) AM_DEVREADWRITE("namco", namco_15xx_device, sharedram_r, sharedram_w)
AM_RANGE(0x6800, 0x680f) AM_DEVREADWRITE("58xx", namco58xx_device, read, write)
@@ -373,7 +378,7 @@ static ADDRESS_MAP_START( master_liblrabl_map, AS_PROGRAM, 8, namcos16_state )
AM_RANGE(0x7000, 0x7fff) AM_READNOP AM_WRITE(irq_ctrl_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( master_toypop_map, AS_PROGRAM, 8, namcos16_state )
+ADDRESS_MAP_START(namcos16_state::master_toypop_map)
AM_IMPORT_FROM( namcos16_master_base_map )
AM_RANGE(0x6000, 0x600f) AM_DEVREADWRITE("58xx", namco58xx_device, read, write)
AM_RANGE(0x6010, 0x601f) AM_DEVREADWRITE("56xx_1", namco56xx_device, read, write)
@@ -382,7 +387,7 @@ static ADDRESS_MAP_START( master_toypop_map, AS_PROGRAM, 8, namcos16_state )
AM_RANGE(0x7000, 0x7000) AM_READWRITE(irq_enable_r,irq_disable_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( slave_map, AS_PROGRAM, 16, namcos16_state )
+ADDRESS_MAP_START(namcos16_state::slave_map)
AM_RANGE(0x000000, 0x007fff) AM_ROM AM_REGION("slave_rom", 0)
AM_RANGE(0x080000, 0x0bffff) AM_RAM
AM_RANGE(0x100000, 0x100fff) AM_READWRITE8(slave_shared_r,slave_shared_w,0x00ff)
@@ -391,7 +396,7 @@ static ADDRESS_MAP_START( slave_map, AS_PROGRAM, 16, namcos16_state )
AM_RANGE(0x300000, 0x3fffff) AM_WRITE(slave_irq_enable_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, namcos16_state )
+ADDRESS_MAP_START(namcos16_state::sound_map)
AM_RANGE(0x0000, 0x03ff) AM_DEVREADWRITE("namco", namco_15xx_device, sharedram_r, sharedram_w)
AM_RANGE(0xe000, 0xffff) AM_ROM AM_REGION("sound_rom", 0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tp84.cpp b/src/mame/drivers/tp84.cpp
index fda15d1999b..208fea67525 100644
--- a/src/mame/drivers/tp84.cpp
+++ b/src/mame/drivers/tp84.cpp
@@ -170,7 +170,7 @@ WRITE8_MEMBER(tp84_state::tp84_sh_irqtrigger_w)
-static ADDRESS_MAP_START( tp84_cpu1_map, AS_PROGRAM, 8, tp84_state )
+ADDRESS_MAP_START(tp84_state::tp84_cpu1_map)
AM_RANGE(0x2000, 0x2000) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x2800, 0x2800) AM_READ_PORT("SYSTEM") AM_WRITEONLY AM_SHARE("palette_bank")
AM_RANGE(0x2820, 0x2820) AM_READ_PORT("P1")
@@ -190,7 +190,7 @@ static ADDRESS_MAP_START( tp84_cpu1_map, AS_PROGRAM, 8, tp84_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tp84b_cpu1_map, AS_PROGRAM, 8, tp84_state )
+ADDRESS_MAP_START(tp84_state::tp84b_cpu1_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM AM_SHARE("bg_videoram")
AM_RANGE(0x0400, 0x07ff) AM_RAM AM_SHARE("fg_videoram")
AM_RANGE(0x0800, 0x0bff) AM_RAM AM_SHARE("bg_colorram")
@@ -217,7 +217,7 @@ WRITE8_MEMBER(tp84_state::sub_irq_mask_w)
}
-static ADDRESS_MAP_START( cpu2_map, AS_PROGRAM, 8, tp84_state )
+ADDRESS_MAP_START(tp84_state::cpu2_map)
// AM_RANGE(0x0000, 0x0000) AM_RAM /* Watch dog ?*/
AM_RANGE(0x2000, 0x2000) AM_READ(tp84_scanline_r) /* beam position */
AM_RANGE(0x4000, 0x4000) AM_WRITE(sub_irq_mask_w)
@@ -228,7 +228,7 @@ static ADDRESS_MAP_START( cpu2_map, AS_PROGRAM, 8, tp84_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, tp84_state )
+ADDRESS_MAP_START(tp84_state::audio_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM
AM_RANGE(0x6000, 0x6000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/tr175.cpp b/src/mame/drivers/tr175.cpp
index adb67f9af28..30ea1046592 100644
--- a/src/mame/drivers/tr175.cpp
+++ b/src/mame/drivers/tr175.cpp
@@ -27,6 +27,9 @@ public:
SCN2674_DRAW_CHARACTER_MEMBER(draw_character);
void tr175(machine_config &config);
+ void mem_map(address_map &map);
+ void ramdac_map(address_map &map);
+ void vram_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
};
@@ -46,7 +49,7 @@ READ8_MEMBER(tr175_state::fff400_r)
return 0;
}
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 16, tr175_state )
+ADDRESS_MAP_START(tr175_state::mem_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0xfe8000, 0xfebfff) AM_RAM // 8-bit?
AM_RANGE(0xfefe00, 0xfefedd) AM_WRITENOP // 8-bit; cleared at startup
@@ -67,11 +70,11 @@ SCN2674_DRAW_CHARACTER_MEMBER(tr175_state::draw_character)
{
}
-static ADDRESS_MAP_START( vram_map, 0, 8, tr175_state )
+ADDRESS_MAP_START(tr175_state::vram_map)
AM_RANGE(0x0000, 0x3fff) AM_READNOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ramdac_map, 0, 8, tr175_state )
+ADDRESS_MAP_START(tr175_state::ramdac_map)
AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac", ramdac_device, ramdac_pal_r, ramdac_rgb666_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/trackfld.cpp b/src/mame/drivers/trackfld.cpp
index abd624ed3b3..771c8c8b8bf 100644
--- a/src/mame/drivers/trackfld.cpp
+++ b/src/mame/drivers/trackfld.cpp
@@ -235,7 +235,7 @@ WRITE_LINE_MEMBER(trackfld_state::irq_mask_w)
m_maincpu->set_input_line(0, CLEAR_LINE);
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, trackfld_state )
+ADDRESS_MAP_START(trackfld_state::main_map)
AM_RANGE(0x1000, 0x1000) AM_MIRROR(0x007f) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w) /* AFE */
AM_RANGE(0x1080, 0x1087) AM_MIRROR(0x0078) AM_DEVWRITE("mainlatch", ls259_device, write_d0)
AM_RANGE(0x1100, 0x1100) AM_MIRROR(0x007f) AM_DEVWRITE("soundlatch", generic_latch_8_device, write) /* 32 */
@@ -280,7 +280,7 @@ WRITE8_MEMBER(trackfld_state::trackfld_VLM5030_control_w)
}
-static ADDRESS_MAP_START( yieartf_map, AS_PROGRAM, 8, trackfld_state )
+ADDRESS_MAP_START(trackfld_state::yieartf_map)
AM_RANGE(0x0000, 0x0000) AM_READ(trackfld_speech_r) AM_WRITE(konami_SN76496_latch_w)
AM_RANGE(0x0001, 0x0001) AM_WRITE(konami_SN76496_w)
AM_RANGE(0x0002, 0x0002) AM_WRITE(trackfld_VLM5030_control_w)
@@ -306,7 +306,7 @@ static ADDRESS_MAP_START( yieartf_map, AS_PROGRAM, 8, trackfld_state )
AM_RANGE(0x6000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( reaktor_map, AS_PROGRAM, 8, trackfld_state )
+ADDRESS_MAP_START(trackfld_state::reaktor_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
/* all usual addresses +0x8000 */
AM_RANGE(0x9000, 0x9000) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
@@ -330,7 +330,7 @@ static ADDRESS_MAP_START( reaktor_map, AS_PROGRAM, 8, trackfld_state )
ADDRESS_MAP_END
/* Reaktor reads / writes some I/O ports, no idea what they're connected to, if anything */
-static ADDRESS_MAP_START( reaktor_io_map, AS_IO, 8, trackfld_state )
+ADDRESS_MAP_START(trackfld_state::reaktor_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITENOP
AM_RANGE(0x01, 0x01) AM_NOP
@@ -338,7 +338,7 @@ static ADDRESS_MAP_START( reaktor_io_map, AS_IO, 8, trackfld_state )
AM_RANGE(0x03, 0x03) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mastkin_map, AS_PROGRAM, 8, trackfld_state )
+ADDRESS_MAP_START(trackfld_state::mastkin_map)
AM_RANGE(0x1000, 0x1000) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x10b0, 0x10b7) AM_READNOP AM_DEVWRITE("mainlatch", ls259_device, write_d0)
AM_RANGE(0x1100, 0x1100) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
@@ -361,7 +361,7 @@ static ADDRESS_MAP_START( mastkin_map, AS_PROGRAM, 8, trackfld_state )
AM_RANGE(0x6000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( wizzquiz_map, AS_PROGRAM, 8, trackfld_state )
+ADDRESS_MAP_START(trackfld_state::wizzquiz_map)
AM_RANGE(0x0000, 0x007f) AM_RAM
AM_RANGE(0x1000, 0x1000) AM_DEVREADWRITE("watchdog", watchdog_timer_device, reset_r, reset_w)
AM_RANGE(0x1080, 0x1087) AM_DEVWRITE("mainlatch", ls259_device, write_d0)
@@ -393,7 +393,7 @@ READ8_MEMBER(trackfld_state::trackfld_SN76496_r)
return 0xff; // ?
}
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, trackfld_state )
+ADDRESS_MAP_START(trackfld_state::sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x1c00) AM_RAM
AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x1fff) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -407,7 +407,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, trackfld_state )
AM_RANGE(0xe004, 0xe004) AM_MIRROR(0x1ff8) AM_DEVWRITE("vlm", vlm5030_device, data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hyprolyb_sound_map, AS_PROGRAM, 8, trackfld_state )
+ADDRESS_MAP_START(trackfld_state::hyprolyb_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x1c00) AM_RAM
AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x1fff) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -421,7 +421,7 @@ static ADDRESS_MAP_START( hyprolyb_sound_map, AS_PROGRAM, 8, trackfld_state )
AM_RANGE(0xe004, 0xe004) AM_MIRROR(0x1ff8) AM_DEVWRITE("hyprolyb_adpcm", hyprolyb_adpcm_device, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vlm_map, 0, 8, trackfld_state )
+ADDRESS_MAP_START(trackfld_state::vlm_map)
ADDRESS_MAP_GLOBAL_MASK(0x1fff)
AM_RANGE(0x0000, 0x1fff) AM_ROM
ADDRESS_MAP_END
@@ -1029,7 +1029,7 @@ MACHINE_CONFIG_START(trackfld_state::yieartf)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
MACHINE_CONFIG_END
-static ADDRESS_MAP_START( hyprolyb_adpcm_map, AS_PROGRAM, 8, hyprolyb_adpcm_device )
+ADDRESS_MAP_START(trackfld_state::hyprolyb_adpcm_map)
AM_RANGE(0x0000, 0x007f) AM_RAM
AM_RANGE(0x1000, 0x1000) AM_DEVREAD("hyprolyb_adpcm", hyprolyb_adpcm_device, data_r)
AM_RANGE(0x1001, 0x1001) AM_DEVREAD("hyprolyb_adpcm", hyprolyb_adpcm_device, ready_r)
diff --git a/src/mame/drivers/tranz330.cpp b/src/mame/drivers/tranz330.cpp
index d05a806ee9c..c7f06e182f8 100644
--- a/src/mame/drivers/tranz330.cpp
+++ b/src/mame/drivers/tranz330.cpp
@@ -28,23 +28,19 @@
#include "tranz330.lh"
-static void construct_address_map_tranz330_mem(address_map &map)
+void tranz330_state::tranz330_mem(address_map &map)
{
- map.configure(AS_PROGRAM, 8);
-
map(0x0000, 0x7fff).rom();
map(0x8000, 0xffff).ram();
}
-static void construct_address_map_tranz330_io(address_map &map)
+void tranz330_state::tranz330_io(address_map &map)
{
- map.configure(AS_IO, 8);
map.global_mask(0xff);
-
- map(0x00, 0x03).rw(PIO_TAG, FUNC(z80pio_device::read_alt), FUNC(z80pio_device::write_alt));
- map(0x10, 0x13).rw(CTC_TAG, FUNC(z80ctc_device::read), FUNC(z80ctc_device::write));
- map(0x20, 0x23).rw(DART_TAG, FUNC(z80dart_device::ba_cd_r), FUNC(z80dart_device::ba_cd_w));
- map(0x30, 0x3f).rw(RTC_TAG, FUNC(msm6242_device::read), FUNC(msm6242_device::write));
+ map(0x00, 0x03).rw(m_pio, FUNC(z80pio_device::read_alt), FUNC(z80pio_device::write_alt));
+ map(0x10, 0x13).rw(m_ctc, FUNC(z80ctc_device::read), FUNC(z80ctc_device::write));
+ map(0x20, 0x23).rw(m_dart, FUNC(z80dart_device::ba_cd_r), FUNC(z80dart_device::ba_cd_w));
+ map(0x30, 0x3f).rw(m_rtc, FUNC(msm6242_device::read), FUNC(msm6242_device::write));
}
static void construct_ioport_tranz330(device_t &owner, ioport_list &portlist, std::string &errorbuf)
diff --git a/src/mame/drivers/travrusa.cpp b/src/mame/drivers/travrusa.cpp
index 7411a30540f..1e03cff2cb3 100644
--- a/src/mame/drivers/travrusa.cpp
+++ b/src/mame/drivers/travrusa.cpp
@@ -58,7 +58,7 @@ and 2764 eprom (swapped D3/D4 and D5/D6 data lines)
#include "screen.h"
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, travrusa_state )
+ADDRESS_MAP_START(travrusa_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM_WRITE(travrusa_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x9000, 0x9000) AM_WRITE(travrusa_scroll_x_low_w)
diff --git a/src/mame/drivers/tricep.cpp b/src/mame/drivers/tricep.cpp
index 38fca039d05..183e92d4a4e 100644
--- a/src/mame/drivers/tricep.cpp
+++ b/src/mame/drivers/tricep.cpp
@@ -30,6 +30,7 @@ public:
void kbd_put(u8 data);
void tricep(machine_config &config);
+ void tricep_mem(address_map &map);
protected:
virtual void machine_reset() override;
@@ -50,7 +51,7 @@ WRITE16_MEMBER( tricep_state::tricep_terminal_w )
m_terminal->write(space, 0, data >> 8);
}
-static ADDRESS_MAP_START(tricep_mem, AS_PROGRAM, 16, tricep_state)
+ADDRESS_MAP_START(tricep_state::tricep_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000000, 0x0007ffff) AM_RAM AM_SHARE("p_ram")
AM_RANGE(0x00fd0000, 0x00fd1fff) AM_ROM AM_REGION("user1",0)
diff --git a/src/mame/drivers/triforce.cpp b/src/mame/drivers/triforce.cpp
index 5579cf438e2..b01ebef3cb8 100644
--- a/src/mame/drivers/triforce.cpp
+++ b/src/mame/drivers/triforce.cpp
@@ -463,6 +463,7 @@ public:
required_device<ppc_device> m_maincpu;
void triforcegd(machine_config &config);
void triforce_base(machine_config &config);
+ void gc_map(address_map &map);
};
READ64_MEMBER(triforce_state::gc_pi_r)
@@ -483,7 +484,7 @@ WRITE64_MEMBER(triforce_state::gc_exi_w)
{
}
-static ADDRESS_MAP_START( gc_map, AS_PROGRAM, 64, triforce_state )
+ADDRESS_MAP_START(triforce_state::gc_map)
AM_RANGE(0x00000000, 0x017fffff) AM_RAM
AM_RANGE(0x0c003000, 0x0c003fff) AM_READWRITE(gc_pi_r, gc_pi_w)
AM_RANGE(0x0c006800, 0x0c0068ff) AM_READWRITE(gc_exi_r, gc_exi_w)
diff --git a/src/mame/drivers/triplhnt.cpp b/src/mame/drivers/triplhnt.cpp
index 26b5c122f3f..ac40901a816 100644
--- a/src/mame/drivers/triplhnt.cpp
+++ b/src/mame/drivers/triplhnt.cpp
@@ -114,7 +114,7 @@ READ8_MEMBER(triplhnt_state::da_latch_r)
}
-static ADDRESS_MAP_START( triplhnt_map, AS_PROGRAM, 8, triplhnt_state )
+ADDRESS_MAP_START(triplhnt_state::triplhnt_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x00ff) AM_RAM AM_MIRROR(0x300)
AM_RANGE(0x0400, 0x04ff) AM_WRITEONLY AM_SHARE("playfield_ram")
diff --git a/src/mame/drivers/trs80.cpp b/src/mame/drivers/trs80.cpp
index a490597f53d..51d5f93c7a8 100644
--- a/src/mame/drivers/trs80.cpp
+++ b/src/mame/drivers/trs80.cpp
@@ -145,20 +145,20 @@ There don't seem to be any JV1 boot disks for Model III/4.
#include "formats/dmk_dsk.h"
-static ADDRESS_MAP_START( trs80_map, AS_PROGRAM, 8, trs80_state )
+ADDRESS_MAP_START(trs80_state::trs80_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x3800, 0x38ff) AM_READ(trs80_keyboard_r)
AM_RANGE(0x3c00, 0x3fff) AM_READWRITE(trs80_videoram_r, trs80_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x4000, 0x7fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( trs80_io, AS_IO, 8, trs80_state )
+ADDRESS_MAP_START(trs80_state::trs80_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xff, 0xff) AM_READWRITE(trs80_ff_r, trs80_ff_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( model1_map, AS_PROGRAM, 8, trs80_state )
+ADDRESS_MAP_START(trs80_state::model1_map)
AM_RANGE(0x0000, 0x377f) AM_ROM // sys80,ht1080 needs up to 375F
AM_RANGE(0x37de, 0x37de) AM_READWRITE(sys80_f9_r, sys80_f8_w)
AM_RANGE(0x37df, 0x37df) AM_READWRITE(trs80m4_eb_r, trs80m4_eb_w)
@@ -175,13 +175,13 @@ static ADDRESS_MAP_START( model1_map, AS_PROGRAM, 8, trs80_state )
AM_RANGE(0x4000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( model1_io, AS_IO, 8, trs80_state )
+ADDRESS_MAP_START(trs80_state::model1_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xff, 0xff) AM_READWRITE(trs80_ff_r, trs80_ff_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sys80_io, AS_IO, 8, trs80_state )
+ADDRESS_MAP_START(trs80_state::sys80_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xf8, 0xf8) AM_READWRITE(trs80m4_eb_r, sys80_f8_w)
@@ -191,11 +191,11 @@ static ADDRESS_MAP_START( sys80_io, AS_IO, 8, trs80_state )
AM_RANGE(0xff, 0xff) AM_READWRITE(trs80_ff_r, trs80_ff_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lnw80_map, AS_PROGRAM, 8, trs80_state )
+ADDRESS_MAP_START(trs80_state::lnw80_map)
AM_RANGE(0x4000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( lnw80_io, AS_IO, 8, trs80_state )
+ADDRESS_MAP_START(trs80_state::lnw80_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xe8, 0xe8) AM_READWRITE(trs80m4_e8_r, trs80m4_e8_w)
@@ -206,10 +206,10 @@ static ADDRESS_MAP_START( lnw80_io, AS_IO, 8, trs80_state )
AM_RANGE(0xff, 0xff) AM_READWRITE(trs80_ff_r, trs80_ff_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( model3_map, AS_PROGRAM, 8, trs80_state )
+ADDRESS_MAP_START(trs80_state::model3_map)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( model3_io, AS_IO, 8, trs80_state )
+ADDRESS_MAP_START(trs80_state::model3_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xe0, 0xe3) AM_READWRITE(trs80m4_e0_r, trs80m4_e0_w)
@@ -229,7 +229,7 @@ static ADDRESS_MAP_START( model3_io, AS_IO, 8, trs80_state )
AM_RANGE(0xfc, 0xff) AM_READWRITE(trs80m4_ff_r, trs80m4_ff_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( model4_io, AS_IO, 8, trs80_state )
+ADDRESS_MAP_START(trs80_state::model4_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x84, 0x87) AM_WRITE(trs80m4_84_w)
@@ -252,7 +252,7 @@ static ADDRESS_MAP_START( model4_io, AS_IO, 8, trs80_state )
AM_RANGE(0xfc, 0xff) AM_READWRITE(trs80m4_ff_r, trs80m4_ff_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( model4p_io, AS_IO, 8, trs80_state )
+ADDRESS_MAP_START(trs80_state::model4p_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x84, 0x87) AM_WRITE(trs80m4_84_w)
@@ -276,14 +276,14 @@ static ADDRESS_MAP_START( model4p_io, AS_IO, 8, trs80_state )
AM_RANGE(0xfc, 0xff) AM_READWRITE(trs80m4_ff_r, trs80m4_ff_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( meritum_map, AS_PROGRAM, 8, trs80_state )
+ADDRESS_MAP_START(trs80_state::meritum_map)
AM_RANGE(0x0000, 0x37ff) AM_ROM
AM_RANGE(0x3800, 0x38ff) AM_MIRROR(0x300) AM_READ(trs80_keyboard_r)
AM_RANGE(0x3c00, 0x3fff) AM_READWRITE(trs80_videoram_r, trs80_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x4000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( meritum_io, AS_IO, 8, trs80_state )
+ADDRESS_MAP_START(trs80_state::meritum_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
// There are specific writes to ports 03, F3, F7, F8, FA, FB, FD
@@ -302,7 +302,7 @@ static ADDRESS_MAP_START( meritum_io, AS_IO, 8, trs80_state )
AM_RANGE(0xff, 0xff) AM_READWRITE(trs80_ff_r, trs80_ff_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cp500_io, AS_IO, 8, trs80_state )
+ADDRESS_MAP_START(trs80_state::cp500_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0xe0, 0xe3) AM_READWRITE(trs80m4_e0_r, trs80m4_e0_w)
diff --git a/src/mame/drivers/trs80dt1.cpp b/src/mame/drivers/trs80dt1.cpp
index 36c49f15310..7131a4a7351 100644
--- a/src/mame/drivers/trs80dt1.cpp
+++ b/src/mame/drivers/trs80dt1.cpp
@@ -62,6 +62,9 @@ public:
I8275_DRAW_CHARACTER_MEMBER(crtc_update_row);
void trs80dt1(machine_config &config);
+ void data_map(address_map &map);
+ void io_map(address_map &map);
+ void prg_map(address_map &map);
private:
bool m_bow;
virtual void machine_reset() override;
@@ -141,15 +144,15 @@ WRITE8_MEMBER( trs80dt1_state::port3_w )
m_beep->set_state(BIT(data, 4));
}
-static ADDRESS_MAP_START( prg_map, AS_PROGRAM, 8, trs80dt1_state )
+ADDRESS_MAP_START(trs80dt1_state::prg_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x2000, 0x27ff) AM_READ(dma_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( data_map, AS_DATA, 8, trs80dt1_state )
+ADDRESS_MAP_START(trs80dt1_state::data_map)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, trs80dt1_state )
+ADDRESS_MAP_START(trs80dt1_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xbfff) // A14 not used
AM_RANGE(0x0001, 0x0001) AM_WRITE(port1_w)
AM_RANGE(0x0003, 0x0003) AM_WRITE(port3_w)
diff --git a/src/mame/drivers/trs80m2.cpp b/src/mame/drivers/trs80m2.cpp
index 4807732d9d9..2d103a844fa 100644
--- a/src/mame/drivers/trs80m2.cpp
+++ b/src/mame/drivers/trs80m2.cpp
@@ -319,7 +319,7 @@ WRITE8_MEMBER( trs80m16_state::ual_w )
// ADDRESS_MAP( z80_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( z80_mem, AS_PROGRAM, 8, trs80m2_state )
+ADDRESS_MAP_START(trs80m2_state::z80_mem)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(read, write)
ADDRESS_MAP_END
@@ -328,7 +328,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( z80_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( z80_io, AS_IO, 8, trs80m2_state )
+ADDRESS_MAP_START(trs80m2_state::z80_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xe0, 0xe3) AM_DEVREADWRITE(Z80PIO_TAG, z80pio_device, read, write)
AM_RANGE(0xe4, 0xe7) AM_READWRITE(fdc_r, fdc_w)
@@ -348,7 +348,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( m16_z80_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( m16_z80_io, AS_IO, 8, trs80m16_state )
+ADDRESS_MAP_START(trs80m16_state::m16_z80_io)
AM_IMPORT_FROM(z80_io)
AM_RANGE(0xde, 0xde) AM_WRITE(tcl_w)
AM_RANGE(0xdf, 0xdf) AM_WRITE(ual_w)
@@ -359,7 +359,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( m68000_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( m68000_mem, AS_PROGRAM, 16, trs80m2_state )
+ADDRESS_MAP_START(trs80m2_state::m68000_mem)
// AM_RANGE(0x7800d0, 0x7800d1) 9519A (C/D = UDS)
// AM_RANGE(0x7800d2, 0x7800d3) limit/offset 2
// AM_RANGE(0x7800d4, 0x7800d5) limit/offset 1
diff --git a/src/mame/drivers/truco.cpp b/src/mame/drivers/truco.cpp
index 8e3df82e2ff..be5bc6f72c3 100644
--- a/src/mame/drivers/truco.cpp
+++ b/src/mame/drivers/truco.cpp
@@ -261,7 +261,7 @@ WRITE_LINE_MEMBER(truco_state::pia_irqb_w)
* Memory Map *
*******************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, truco_state )
+ADDRESS_MAP_START(truco_state::main_map)
AM_RANGE(0x0000, 0x17ff) AM_RAM /* General purpose RAM */
AM_RANGE(0x1800, 0x7bff) AM_RAM AM_SHARE("videoram") /* Video RAM */
AM_RANGE(0x7c00, 0x7fff) AM_RAM AM_SHARE("battery_ram") /* Battery backed RAM */
diff --git a/src/mame/drivers/trucocl.cpp b/src/mame/drivers/trucocl.cpp
index 079130f6dd8..4b233a0690f 100644
--- a/src/mame/drivers/trucocl.cpp
+++ b/src/mame/drivers/trucocl.cpp
@@ -92,7 +92,7 @@ WRITE8_MEMBER(trucocl_state::audio_dac_w)
m_dac_irq_timer->adjust(attotime::from_hz( 16000 ));
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, trucocl_state )
+ADDRESS_MAP_START(trucocl_state::main_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM_WRITE(trucocl_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x4400, 0x47ff) AM_RAM_WRITE(trucocl_colorram_w) AM_SHARE("colorram")
diff --git a/src/mame/drivers/trvmadns.cpp b/src/mame/drivers/trvmadns.cpp
index 1643ce25226..59f3e0398f3 100644
--- a/src/mame/drivers/trvmadns.cpp
+++ b/src/mame/drivers/trvmadns.cpp
@@ -125,6 +125,8 @@ public:
required_device<palette_device> m_palette;
required_shared_ptr<uint8_t> m_generic_paletteram_8;
void trvmadns(machine_config &config);
+ void cpu_map(address_map &map);
+ void io_map(address_map &map);
};
@@ -254,7 +256,7 @@ WRITE8_MEMBER(trvmadns_state::trvmadns_tileram_w)
}
-static ADDRESS_MAP_START( cpu_map, AS_PROGRAM, 8, trvmadns_state )
+ADDRESS_MAP_START(trvmadns_state::cpu_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x6fff) AM_ROMBANK("bank1")
AM_RANGE(0x7000, 0x7fff) AM_ROMBANK("bank2")
@@ -266,7 +268,7 @@ static ADDRESS_MAP_START( cpu_map, AS_PROGRAM, 8, trvmadns_state )
AM_RANGE(0xe004, 0xe004) AM_WRITE(w3)//NOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, trvmadns_state )
+ADDRESS_MAP_START(trvmadns_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN0")
diff --git a/src/mame/drivers/trvquest.cpp b/src/mame/drivers/trvquest.cpp
index 7dd97c901ff..10df30fb293 100644
--- a/src/mame/drivers/trvquest.cpp
+++ b/src/mame/drivers/trvquest.cpp
@@ -61,7 +61,7 @@ WRITE_LINE_MEMBER(gameplan_state::trvquest_misc_w)
// data & 1 -> led on/off ?
}
-static ADDRESS_MAP_START( cpu_map, AS_PROGRAM, 8, gameplan_state )
+ADDRESS_MAP_START(gameplan_state::cpu_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("nvram") // cmos ram
AM_RANGE(0x2000, 0x27ff) AM_RAM // main ram
AM_RANGE(0x3800, 0x380f) AM_DEVREADWRITE("via6522_1", via6522_device, read, write)
diff --git a/src/mame/drivers/tryout.cpp b/src/mame/drivers/tryout.cpp
index 30775b52694..74e5ffbe42e 100644
--- a/src/mame/drivers/tryout.cpp
+++ b/src/mame/drivers/tryout.cpp
@@ -56,7 +56,7 @@ WRITE8_MEMBER(tryout_state::bankswitch_w)
membank("bank1")->set_entry(data & 0x01);
}
-static ADDRESS_MAP_START( main_cpu, AS_PROGRAM, 8, tryout_state )
+ADDRESS_MAP_START(tryout_state::main_cpu)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x1000, 0x17ff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
AM_RANGE(0x2000, 0x3fff) AM_ROMBANK("bank1")
@@ -77,7 +77,7 @@ static ADDRESS_MAP_START( main_cpu, AS_PROGRAM, 8, tryout_state )
AM_RANGE(0xfff0, 0xffff) AM_ROM AM_REGION("maincpu", 0xbff0) /* reset vectors */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_cpu, AS_PROGRAM, 8, tryout_state )
+ADDRESS_MAP_START(tryout_state::sound_cpu)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x4000, 0x4001) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
AM_RANGE(0xa000, 0xa000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/ts3000.cpp b/src/mame/drivers/ts3000.cpp
index 79d65248f16..399f375844e 100644
--- a/src/mame/drivers/ts3000.cpp
+++ b/src/mame/drivers/ts3000.cpp
@@ -22,16 +22,18 @@ public:
{ }
void ts3000(machine_config &config);
+void io_map(address_map &map);
+void mem_map(address_map &map);
private:
// required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, ts3000_state )
+ADDRESS_MAP_START(ts3000_state::mem_map)
AM_RANGE(0x00000,0x0ffff) AM_RAM
AM_RANGE(0xfc000,0xfffff) AM_ROM AM_REGION("roms", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_PROGRAM, 8, ts3000_state )
+ADDRESS_MAP_START(ts3000_state::io_map)
ADDRESS_MAP_END
static INPUT_PORTS_START( ts3000 )
diff --git a/src/mame/drivers/ts802.cpp b/src/mame/drivers/ts802.cpp
index 86e4bf34fa6..16f082f598e 100644
--- a/src/mame/drivers/ts802.cpp
+++ b/src/mame/drivers/ts802.cpp
@@ -55,6 +55,8 @@ public:
DECLARE_WRITE8_MEMBER(io_write_byte);
void kbd_put(u8 data);
void ts802(machine_config &config);
+ void ts802_io(address_map &map);
+ void ts802_mem(address_map &map);
private:
uint8_t m_term_data;
address_space *m_mem;
@@ -63,13 +65,13 @@ private:
required_device<generic_terminal_device> m_terminal;
};
-static ADDRESS_MAP_START(ts802_mem, AS_PROGRAM, 8, ts802_state)
+ADDRESS_MAP_START(ts802_state::ts802_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_READ_BANK("bankr0") AM_WRITE_BANK("bankw0")
AM_RANGE(0x1000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(ts802_io, AS_IO, 8, ts802_state)
+ADDRESS_MAP_START(ts802_state::ts802_io)
//ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_READ(port00_r) // DIP switches
diff --git a/src/mame/drivers/ts803.cpp b/src/mame/drivers/ts803.cpp
index 47ff477724e..5c6b936bdb0 100644
--- a/src/mame/drivers/ts803.cpp
+++ b/src/mame/drivers/ts803.cpp
@@ -85,6 +85,8 @@ public:
uint32_t screen_update_ts803(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void ts803(machine_config &config);
+ void ts803_io(address_map &map);
+ void ts803_mem(address_map &map);
private:
std::unique_ptr<uint8_t[]> m_videoram;
std::unique_ptr<uint8_t[]> m_56kram;
@@ -100,7 +102,7 @@ private:
required_ioport m_io_dsw;
};
-static ADDRESS_MAP_START(ts803_mem, AS_PROGRAM, 8, ts803_state)
+ADDRESS_MAP_START(ts803_state::ts803_mem)
AM_RANGE(0x0000, 0x3fff) AM_READ_BANK("bankr0") AM_WRITE_BANK("bankw0")
AM_RANGE(0x4000, 0xbfff) AM_RAMBANK("bank4")
AM_RANGE(0xc000, 0xffff) AM_RAM
@@ -129,7 +131,7 @@ Winchester Disk Controller B0-BF (WDC CE)
Graphics Controller C0-CF (GIO SEL)
*/
-static ADDRESS_MAP_START(ts803_io, AS_IO, 8, ts803_state)
+ADDRESS_MAP_START(ts803_state::ts803_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x0f) AM_READ_PORT("DSW")
diff --git a/src/mame/drivers/ts816.cpp b/src/mame/drivers/ts816.cpp
index bdd2cad334f..4de66497282 100644
--- a/src/mame/drivers/ts816.cpp
+++ b/src/mame/drivers/ts816.cpp
@@ -45,6 +45,8 @@ public:
DECLARE_DRIVER_INIT(ts816);
void ts816(machine_config &config);
+ void ts816_io(address_map &map);
+ void ts816_mem(address_map &map);
private:
uint8_t m_term_data;
uint8_t m_status;
@@ -56,14 +58,14 @@ private:
required_device<generic_terminal_device> m_terminal;
};
-static ADDRESS_MAP_START(ts816_mem, AS_PROGRAM, 8, ts816_state)
+ADDRESS_MAP_START(ts816_state::ts816_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff ) AM_READ_BANK("bankr0") AM_WRITE_BANK("bankw0")
AM_RANGE(0x4000, 0xdfff ) AM_RAMBANK("bank1")
AM_RANGE(0xe000, 0xffff ) AM_RAMBANK("bank2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(ts816_io, AS_IO, 8, ts816_state)
+ADDRESS_MAP_START(ts816_state::ts816_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) // Tape status byte 1
AM_RANGE(0x01, 0x01) // Tape status byte 2 and diagnostics mode
diff --git a/src/mame/drivers/tsamurai.cpp b/src/mame/drivers/tsamurai.cpp
index 82f828d9c0f..21bbdc4154b 100644
--- a/src/mame/drivers/tsamurai.cpp
+++ b/src/mame/drivers/tsamurai.cpp
@@ -143,7 +143,7 @@ WRITE_LINE_MEMBER(tsamurai_state::coin2_counter_w)
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, tsamurai_state )
+ADDRESS_MAP_START(tsamurai_state::main_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
@@ -173,7 +173,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, tsamurai_state )
AM_RANGE(0xfc00, 0xfc07) AM_DEVWRITE("mainlatch", ls259_device, write_d0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( m660_map, AS_PROGRAM, 8, tsamurai_state )
+ADDRESS_MAP_START(tsamurai_state::m660_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
@@ -204,19 +204,19 @@ static ADDRESS_MAP_START( m660_map, AS_PROGRAM, 8, tsamurai_state )
AM_RANGE(0xfc00, 0xfc07) AM_DEVWRITE("mainlatch", ls259_device, write_d0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( z80_io_map, AS_IO, 8, tsamurai_state )
+ADDRESS_MAP_START(tsamurai_state::z80_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( z80_m660_io_map, AS_IO, 8, tsamurai_state )
+ADDRESS_MAP_START(tsamurai_state::z80_m660_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITENOP /* ? */
AM_RANGE(0x01, 0x01) AM_WRITENOP /* Written continuously. Increments with level. */
AM_RANGE(0x02, 0x02) AM_WRITENOP /* Always follows above with 0x01 data */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vsgongf_audio_io_map, AS_IO, 8, tsamurai_state )
+ADDRESS_MAP_START(tsamurai_state::vsgongf_audio_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
ADDRESS_MAP_END
@@ -237,7 +237,7 @@ READ8_MEMBER(tsamurai_state::m660_sound_command3_r)
}
/*******************************************************************************/
-static ADDRESS_MAP_START( sound1_map, AS_PROGRAM, 8, tsamurai_state )
+ADDRESS_MAP_START(tsamurai_state::sound1_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x6000, 0x6000) AM_READ(sound_command1_r)
AM_RANGE(0x6001, 0x6001) AM_WRITENOP /* ? - probably clear IRQ */
@@ -247,7 +247,7 @@ ADDRESS_MAP_END
/*******************************************************************************/
-static ADDRESS_MAP_START( sound2_map, AS_PROGRAM, 8, tsamurai_state )
+ADDRESS_MAP_START(tsamurai_state::sound2_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x6000, 0x6000) AM_READ(sound_command2_r)
AM_RANGE(0x6001, 0x6001) AM_WRITENOP /* ? - probably clear IRQ */
@@ -257,7 +257,7 @@ ADDRESS_MAP_END
/*******************************************************************************/
-static ADDRESS_MAP_START( sound1_m660_map, AS_PROGRAM, 8, tsamurai_state )
+ADDRESS_MAP_START(tsamurai_state::sound1_m660_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0xc000, 0xc000) AM_READ(sound_command1_r)
AM_RANGE(0xc001, 0xc001) AM_WRITENOP /* ? - probably clear IRQ */
@@ -267,7 +267,7 @@ ADDRESS_MAP_END
/*******************************************************************************/
-static ADDRESS_MAP_START( sound2_m660_map, AS_PROGRAM, 8, tsamurai_state )
+ADDRESS_MAP_START(tsamurai_state::sound2_m660_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0xc000, 0xc000) AM_READ(sound_command2_r)
AM_RANGE(0xc001, 0xc001) AM_WRITENOP /* ? - probably clear IRQ */
@@ -277,7 +277,7 @@ ADDRESS_MAP_END
/*******************************************************************************/
-static ADDRESS_MAP_START( sound3_m660_map, AS_PROGRAM, 8, tsamurai_state )
+ADDRESS_MAP_START(tsamurai_state::sound3_m660_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc000) AM_READ(m660_sound_command3_r)
AM_RANGE(0xc001, 0xc001) AM_WRITENOP /* ? - probably clear IRQ */
@@ -285,7 +285,7 @@ static ADDRESS_MAP_START( sound3_m660_map, AS_PROGRAM, 8, tsamurai_state )
AM_RANGE(0xfffc, 0xffff) AM_RAM /* CPU writes here - music data */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound3_m660_io_map, AS_IO, 8, tsamurai_state )
+ADDRESS_MAP_START(tsamurai_state::sound3_m660_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
ADDRESS_MAP_END
@@ -332,7 +332,7 @@ WRITE8_MEMBER(tsamurai_state::vsgongf_sound_command_w)
m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
}
-static ADDRESS_MAP_START( vsgongf_map, AS_PROGRAM, 8, tsamurai_state )
+ADDRESS_MAP_START(tsamurai_state::vsgongf_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xa003, 0xa003) AM_READONLY
AM_RANGE(0xa006, 0xa006) AM_READ(vsgongf_a006_r) /* protection */
@@ -356,7 +356,7 @@ static ADDRESS_MAP_START( vsgongf_map, AS_PROGRAM, 8, tsamurai_state )
AM_RANGE(0xfc00, 0xfc07) AM_DEVWRITE("mainlatch", ls259_device, write_d0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_vsgongf_map, AS_PROGRAM, 8, tsamurai_state )
+ADDRESS_MAP_START(tsamurai_state::sound_vsgongf_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x6000, 0x63ff) AM_RAM /* work RAM */
AM_RANGE(0x8000, 0x8000) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_WRITE(vsgongf_sound_nmi_enable_w) /* NMI enable */
diff --git a/src/mame/drivers/tsispch.cpp b/src/mame/drivers/tsispch.cpp
index d4e54bce8b8..31a429454ea 100644
--- a/src/mame/drivers/tsispch.cpp
+++ b/src/mame/drivers/tsispch.cpp
@@ -311,7 +311,7 @@ DRIVER_INIT_MEMBER(tsispch_state,prose2k)
1 1 0 * * * * * * * * * * * * * * * * s ROMs 2 and 3
1 1 1 * * * * * * * * * * * * * * * * s ROMs 0 and 1
*/
-static ADDRESS_MAP_START(i8086_mem, AS_PROGRAM, 16, tsispch_state)
+ADDRESS_MAP_START(tsispch_state::i8086_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000, 0x02FFF) AM_MIRROR(0x34000) AM_RAM // verified; 6264*2 sram, only first 3/4 used
AM_RANGE(0x03000, 0x03001) AM_MIRROR(0x341FC) AM_DEVREADWRITE8("i8251a_u15", i8251_device, data_r, data_w, 0x00FF)
@@ -325,15 +325,15 @@ static ADDRESS_MAP_START(i8086_mem, AS_PROGRAM, 16, tsispch_state)
ADDRESS_MAP_END
// Technically the IO line of the i8086 is completely ignored (it is running in 8086 MIN mode,I believe, which may ignore IO)
-static ADDRESS_MAP_START(i8086_io, AS_IO, 16, tsispch_state)
+ADDRESS_MAP_START(tsispch_state::i8086_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_END
-static ADDRESS_MAP_START(dsp_prg_map, AS_PROGRAM, 32, tsispch_state)
+ADDRESS_MAP_START(tsispch_state::dsp_prg_map)
AM_RANGE(0x0000, 0x01ff) AM_ROM AM_REGION("dspprg", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(dsp_data_map, AS_DATA, 16, tsispch_state)
+ADDRESS_MAP_START(tsispch_state::dsp_data_map)
AM_RANGE(0x0000, 0x01ff) AM_ROM AM_REGION("dspdata", 0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ttchamp.cpp b/src/mame/drivers/ttchamp.cpp
index 625f912fc64..7835218f4b6 100644
--- a/src/mame/drivers/ttchamp.cpp
+++ b/src/mame/drivers/ttchamp.cpp
@@ -142,6 +142,8 @@ public:
INTERRUPT_GEN_MEMBER(irq);
void ttchamp(machine_config &config);
+ void ttchamp_io(address_map &map);
+ void ttchamp_map(address_map &map);
};
ALLOW_SAVE_TYPE(ttchamp_state::picmode);
@@ -500,7 +502,7 @@ WRITE16_MEMBER(ttchamp_state::mem_w)
-static ADDRESS_MAP_START( ttchamp_map, AS_PROGRAM, 16, ttchamp_state )
+ADDRESS_MAP_START(ttchamp_state::ttchamp_map)
AM_RANGE(0x00000, 0xfffff) AM_READWRITE(mem_r, mem_w)
ADDRESS_MAP_END
@@ -542,7 +544,7 @@ WRITE16_MEMBER(ttchamp_state::port62_w)
m_rombank = 0;
}
-static ADDRESS_MAP_START( ttchamp_io, AS_IO, 16, ttchamp_state )
+ADDRESS_MAP_START(ttchamp_state::ttchamp_io)
AM_RANGE(0x0000, 0x0001) AM_WRITENOP // startup only, nmi enable?
AM_RANGE(0x0002, 0x0003) AM_READ_PORT("SYSTEM")
diff --git a/src/mame/drivers/tti.cpp b/src/mame/drivers/tti.cpp
index 568fdfae5e2..754e46ba7cb 100644
--- a/src/mame/drivers/tti.cpp
+++ b/src/mame/drivers/tti.cpp
@@ -34,6 +34,7 @@ public:
IRQ_CALLBACK_MEMBER(intack);
void tti(machine_config &config);
+ void prg_map(address_map &map);
protected:
required_device<cpu_device> m_maincpu;
required_device<mc68901_device> m_mfp;
@@ -47,7 +48,7 @@ IRQ_CALLBACK_MEMBER(tti_state::intack)
static INPUT_PORTS_START( tti )
INPUT_PORTS_END
-static ADDRESS_MAP_START( prg_map, AS_PROGRAM, 8, tti_state )
+ADDRESS_MAP_START(tti_state::prg_map)
AM_RANGE(0x00000, 0x07fff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x7e000, 0x7ffff) AM_RAM
AM_RANGE(0x80000, 0x80017) AM_DEVREADWRITE("mfp", mc68901_device, read, write)
diff --git a/src/mame/drivers/tubep.cpp b/src/mame/drivers/tubep.cpp
index 0111fe5c7a5..284c92faba3 100644
--- a/src/mame/drivers/tubep.cpp
+++ b/src/mame/drivers/tubep.cpp
@@ -131,7 +131,7 @@ WRITE_LINE_MEMBER(tubep_state::coin2_counter_w)
}
-static ADDRESS_MAP_START( tubep_main_map, AS_PROGRAM, 8, tubep_state )
+ADDRESS_MAP_START(tubep_state::tubep_main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xa000, 0xa7ff) AM_RAM
AM_RANGE(0xc000, 0xc7ff) AM_WRITE(tubep_textram_w) AM_SHARE("textram") /* RAM on GFX PCB @B13 */
@@ -153,7 +153,7 @@ WRITE8_MEMBER(tubep_state::tubep_soundlatch_w)
m_sound_latch = (data&0x7f) | 0x80;
}
-static ADDRESS_MAP_START( tubep_main_portmap, AS_IO, 8, tubep_state )
+ADDRESS_MAP_START(tubep_state::tubep_main_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x80, 0x80) AM_READ_PORT("DSW1")
AM_RANGE(0x90, 0x90) AM_READ_PORT("DSW2")
@@ -184,7 +184,7 @@ WRITE8_MEMBER(tubep_state::second_cpu_irq_line_clear_w)
}
-static ADDRESS_MAP_START( tubep_second_map, AS_PROGRAM, 8, tubep_state )
+ADDRESS_MAP_START(tubep_state::tubep_second_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xa000, 0xa000) AM_WRITE(tubep_background_a000_w)
AM_RANGE(0xc000, 0xc000) AM_WRITE(tubep_background_c000_w)
@@ -195,7 +195,7 @@ static ADDRESS_MAP_START( tubep_second_map, AS_PROGRAM, 8, tubep_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tubep_second_portmap, AS_IO, 8, tubep_state )
+ADDRESS_MAP_START(tubep_state::tubep_second_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x7f, 0x7f) AM_WRITE(second_cpu_irq_line_clear_w)
ADDRESS_MAP_END
@@ -224,14 +224,14 @@ WRITE8_MEMBER(tubep_state::tubep_sound_unknown)
}
-static ADDRESS_MAP_START( tubep_sound_map, AS_PROGRAM, 8, tubep_state )
+ADDRESS_MAP_START(tubep_state::tubep_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0xd000, 0xd000) AM_READ(tubep_sound_irq_ack)
AM_RANGE(0xe000, 0xe7ff) AM_RAM /* 6116 #3 */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tubep_sound_portmap, AS_IO, 8, tubep_state )
+ADDRESS_MAP_START(tubep_state::tubep_sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
AM_RANGE(0x02, 0x03) AM_DEVWRITE("ay2", ay8910_device, address_data_w)
@@ -362,7 +362,7 @@ MACHINE_RESET_MEMBER(tubep_state,tubep)
*************************************/
/* MS2010-A CPU (equivalent to NSC8105 with one new opcode: 0xec) on graphics PCB */
-static ADDRESS_MAP_START( nsc_map, AS_PROGRAM, 8, tubep_state )
+ADDRESS_MAP_START(tubep_state::nsc_map)
AM_RANGE(0x0000, 0x03ff) AM_RAM AM_SHARE("sprite_color")
AM_RANGE(0x0800, 0x0fff) AM_RAM AM_SHARE("share2")
AM_RANGE(0x2000, 0x2009) AM_WRITE(tubep_sprite_control_w)
@@ -378,7 +378,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( rjammer_main_map, AS_PROGRAM, 8, tubep_state )
+ADDRESS_MAP_START(tubep_state::rjammer_main_map)
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xa000, 0xa7ff) AM_RAM /* MB8416 SRAM on daughterboard on main PCB (there are two SRAMs, this is the one on the left) */
AM_RANGE(0xc000, 0xc7ff) AM_WRITE(tubep_textram_w) AM_SHARE("textram")/* RAM on GFX PCB @B13 */
@@ -386,7 +386,7 @@ static ADDRESS_MAP_START( rjammer_main_map, AS_PROGRAM, 8, tubep_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rjammer_main_portmap, AS_IO, 8, tubep_state )
+ADDRESS_MAP_START(tubep_state::rjammer_main_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW2") /* a bug in game code (during attract mode) */
AM_RANGE(0x80, 0x80) AM_READ_PORT("DSW2")
@@ -401,7 +401,7 @@ static ADDRESS_MAP_START( rjammer_main_portmap, AS_IO, 8, tubep_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rjammer_second_map, AS_PROGRAM, 8, tubep_state )
+ADDRESS_MAP_START(tubep_state::rjammer_second_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xa000, 0xa7ff) AM_RAM /* M5M5117P @21G */
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("share1") /* MB8416 on daughterboard (the one on the right) */
@@ -410,7 +410,7 @@ static ADDRESS_MAP_START( rjammer_second_map, AS_PROGRAM, 8, tubep_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rjammer_second_portmap, AS_IO, 8, tubep_state )
+ADDRESS_MAP_START(tubep_state::rjammer_second_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xb0, 0xb0) AM_WRITE(rjammer_background_page_w)
AM_RANGE(0xd0, 0xd0) AM_WRITE(rjammer_background_LS377_w)
@@ -562,13 +562,13 @@ WRITE8_MEMBER(tubep_state::rjammer_voice_intensity_control_w)
}
-static ADDRESS_MAP_START( rjammer_sound_map, AS_PROGRAM, 8, tubep_state )
+ADDRESS_MAP_START(tubep_state::rjammer_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xe000, 0xe7ff) AM_RAM /* M5M5117P (M58125P @2C on schematics) */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rjammer_sound_portmap, AS_IO, 8, tubep_state )
+ADDRESS_MAP_START(tubep_state::rjammer_sound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0x10, 0x10) AM_WRITE(rjammer_voice_startstop_w)
diff --git a/src/mame/drivers/tugboat.cpp b/src/mame/drivers/tugboat.cpp
index 589c4b74a06..b23cf5e52d2 100644
--- a/src/mame/drivers/tugboat.cpp
+++ b/src/mame/drivers/tugboat.cpp
@@ -79,6 +79,7 @@ public:
int addr,int gfx0,int gfx1,int transparency);
void tugboat(machine_config &config);
+ void main_map(address_map &map);
protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
};
@@ -232,7 +233,7 @@ void tugboat_state::machine_reset()
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, tugboat_state )
+ADDRESS_MAP_START(tugboat_state::main_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x01ff) AM_RAM AM_SHARE("ram")
AM_RANGE(0x1060, 0x1061) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
diff --git a/src/mame/drivers/tumbleb.cpp b/src/mame/drivers/tumbleb.cpp
index 646146ac359..46b8c97c4ba 100644
--- a/src/mame/drivers/tumbleb.cpp
+++ b/src/mame/drivers/tumbleb.cpp
@@ -628,7 +628,7 @@ WRITE16_MEMBER(tumbleb_state::tumbleb2_soundmcu_w)
/******************************************************************************/
-static ADDRESS_MAP_START( tumblepopb_main_map, AS_PROGRAM, 16, tumbleb_state )
+ADDRESS_MAP_START(tumbleb_state::tumblepopb_main_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
#if TUMBLEP_HACK
AM_RANGE(0x000000, 0x07ffff) AM_WRITEONLY /* To write levels modifications */
@@ -650,7 +650,7 @@ static ADDRESS_MAP_START( tumblepopb_main_map, AS_PROGRAM, 16, tumbleb_state )
AM_RANGE(0x342400, 0x34247f) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fncywld_main_map, AS_PROGRAM, 16, tumbleb_state )
+ADDRESS_MAP_START(tumbleb_state::fncywld_main_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
#if FNCYWLD_HACK
AM_RANGE(0x000000, 0x0fffff) AM_WRITEONLY /* To write levels modifications */
@@ -679,7 +679,7 @@ READ16_MEMBER(tumbleb_state::semibase_unknown_r)
return machine().rand();
}
-static ADDRESS_MAP_START( htchctch_main_map, AS_PROGRAM, 16, tumbleb_state )
+ADDRESS_MAP_START(tumbleb_state::htchctch_main_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10000f) AM_READ(semibase_unknown_r)
AM_RANGE(0x100000, 0x100001) AM_WRITE(semicom_soundcmd_w)
@@ -705,7 +705,7 @@ WRITE16_MEMBER(tumbleb_state::jumpkids_sound_w)
m_audiocpu->set_input_line(0, HOLD_LINE);
}
-static ADDRESS_MAP_START( suprtrio_main_map, AS_PROGRAM, 16, tumbleb_state )
+ADDRESS_MAP_START(tumbleb_state::suprtrio_main_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x700000, 0x700fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xa00000, 0xa0000f) AM_RAM AM_SHARE("control")
@@ -719,7 +719,7 @@ static ADDRESS_MAP_START( suprtrio_main_map, AS_PROGRAM, 16, tumbleb_state )
AM_RANGE(0xf00000, 0xf07fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pangpang_main_map, AS_PROGRAM, 16, tumbleb_state )
+ADDRESS_MAP_START(tumbleb_state::pangpang_main_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x120000, 0x123fff) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x140000, 0x1407ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
@@ -753,7 +753,7 @@ WRITE8_MEMBER(tumbleb_state::oki_sound_bank_w)
memcpy(&oki[0x30000], &oki[(data * 0x10000) + 0x40000], 0x10000);
}
-static ADDRESS_MAP_START( semicom_sound_map, AS_PROGRAM, 8, tumbleb_state )
+ADDRESS_MAP_START(tumbleb_state::semicom_sound_map)
AM_RANGE(0x0000, 0xcfff) AM_ROM
AM_RANGE(0xd000, 0xd7ff) AM_RAM
AM_RANGE(0xf000, 0xf001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
@@ -763,7 +763,7 @@ static ADDRESS_MAP_START( semicom_sound_map, AS_PROGRAM, 8, tumbleb_state )
AM_RANGE(0xf00e, 0xf00e) AM_WRITE(oki_sound_bank_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( suprtrio_sound_map, AS_PROGRAM, 8, tumbleb_state )
+ADDRESS_MAP_START(tumbleb_state::suprtrio_sound_map)
AM_RANGE(0x0000, 0xcfff) AM_ROM
AM_RANGE(0xd000, 0xd7ff) AM_RAM
AM_RANGE(0xf002, 0xf002) AM_DEVREADWRITE("oki", okim6295_device, read, write)
@@ -774,7 +774,7 @@ ADDRESS_MAP_END
/* Jump Kids */
-static ADDRESS_MAP_START( jumpkids_main_map, AS_PROGRAM, 16, tumbleb_state )
+ADDRESS_MAP_START(tumbleb_state::jumpkids_main_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_WRITE(jumpkids_sound_w)
AM_RANGE(0x120000, 0x123fff) AM_RAM AM_SHARE("mainram")
@@ -802,7 +802,7 @@ WRITE8_MEMBER(tumbleb_state::jumpkids_oki_bank_w)
memcpy(sound1 + 0x20000, sound2 + bank * 0x20000, 0x20000);
}
-static ADDRESS_MAP_START( jumpkids_sound_map, AS_PROGRAM, 8, tumbleb_state )
+ADDRESS_MAP_START(tumbleb_state::jumpkids_sound_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_WRITE(jumpkids_oki_bank_w)
@@ -857,11 +857,11 @@ WRITE8_MEMBER(tumbleb_state::prot_io_w)
/* Semicom AT89C52 MCU */
-static ADDRESS_MAP_START( protection_map, AS_PROGRAM, 8, tumbleb_state )
+ADDRESS_MAP_START(tumbleb_state::protection_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( protection_iomap, AS_IO, 8, tumbleb_state )
+ADDRESS_MAP_START(tumbleb_state::protection_iomap)
AM_RANGE(MCS51_PORT_P0, MCS51_PORT_P3) AM_READWRITE(prot_io_r,prot_io_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tunhunt.cpp b/src/mame/drivers/tunhunt.cpp
index 180f5941648..50985b29fb0 100644
--- a/src/mame/drivers/tunhunt.cpp
+++ b/src/mame/drivers/tunhunt.cpp
@@ -129,7 +129,7 @@ READ8_MEMBER(tunhunt_state::dsw2_4r)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, tunhunt_state )
+ADDRESS_MAP_START(tunhunt_state::main_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x03ff) AM_RAM AM_SHARE("workram") /* Work RAM */
AM_RANGE(0x1080, 0x10ff) AM_WRITEONLY
diff --git a/src/mame/drivers/turbo.cpp b/src/mame/drivers/turbo.cpp
index 8770bb50585..e9db173e4c4 100644
--- a/src/mame/drivers/turbo.cpp
+++ b/src/mame/drivers/turbo.cpp
@@ -499,7 +499,7 @@ WRITE8_MEMBER(turbo_state::spriteram_w)
*
*************************************/
-static ADDRESS_MAP_START( turbo_map, AS_PROGRAM, 8, turbo_state )
+ADDRESS_MAP_START(turbo_state::turbo_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0xa000, 0xa0ff) AM_MIRROR(0x0700) AM_READWRITE(spriteram_r, spriteram_w)
AM_RANGE(0xa800, 0xa807) AM_MIRROR(0x07f8) AM_DEVWRITE("outlatch", ls259_device, write_d0)
@@ -525,7 +525,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( subroc3d_map, AS_PROGRAM, 8, turbo_state )
+ADDRESS_MAP_START(turbo_state::subroc3d_map)
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xa000, 0xa3ff) AM_RAM AM_SHARE("spritepos") // CONT RAM
AM_RANGE(0xa400, 0xa7ff) AM_RAM AM_SHARE("spriteram") // CONT RAM
@@ -549,7 +549,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( buckrog_map, AS_PROGRAM, 8, turbo_state )
+ADDRESS_MAP_START(turbo_state::buckrog_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(turbo_videoram_w) AM_SHARE("videoram") // FIX PAGE
AM_RANGE(0xc800, 0xc803) AM_MIRROR(0x07fc) AM_DEVREAD("i8255_0", i8255_device, read) AM_WRITE(buckrog_i8255_0_w) // 8255
@@ -565,18 +565,18 @@ static ADDRESS_MAP_START( buckrog_map, AS_PROGRAM, 8, turbo_state )
AM_RANGE(0xf800, 0xffff) AM_RAM // SCRATCH
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, turbo_state )
+ADDRESS_MAP_START(turbo_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_SHARE("decrypted_opcodes")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( buckrog_cpu2_map, AS_PROGRAM, 8, turbo_state )
+ADDRESS_MAP_START(turbo_state::buckrog_cpu2_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x0000, 0xdfff) AM_WRITE(buckrog_bitmap_w)
AM_RANGE(0xe000, 0xe7ff) AM_MIRROR(0x1800) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( buckrog_cpu2_portmap, AS_IO, 8, turbo_state )
+ADDRESS_MAP_START(turbo_state::buckrog_cpu2_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0xff) AM_READ(buckrog_cpu2_command_r)
ADDRESS_MAP_END
@@ -937,7 +937,7 @@ MACHINE_CONFIG_START(turbo_state::buckrog)
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/4)
MCFG_CPU_PROGRAM_MAP(buckrog_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", turbo_state, irq0_line_hold)
MCFG_CPU_ADD("subcpu", Z80, MASTER_CLOCK/4)
@@ -990,7 +990,7 @@ MACHINE_CONFIG_DERIVED(turbo_state::buckroge, buckrog)
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", SEGA_315_5014, MASTER_CLOCK/4)
MCFG_CPU_PROGRAM_MAP(buckrog_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", turbo_state, irq0_line_hold)
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/turrett.cpp b/src/mame/drivers/turrett.cpp
index df98938e124..eb54eac40e6 100644
--- a/src/mame/drivers/turrett.cpp
+++ b/src/mame/drivers/turrett.cpp
@@ -85,7 +85,7 @@ void turrett_state::machine_reset()
*
*************************************/
-static ADDRESS_MAP_START( cpu_map, AS_PROGRAM, 32, turrett_state )
+ADDRESS_MAP_START(turrett_state::cpu_map)
AM_RANGE(0x00000000, 0x0007ffff) AM_RAM
AM_RANGE(0x02000010, 0x02000013) AM_RAM
AM_RANGE(0x02000040, 0x02000043) AM_RAM
@@ -101,7 +101,7 @@ static ADDRESS_MAP_START( cpu_map, AS_PROGRAM, 32, turrett_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( turrett_sound_map, 0, 16, turrett_state )
+ADDRESS_MAP_START(turrett_state::turrett_sound_map)
AM_RANGE(0x0000000, 0x7ffffff) AM_RAM AM_SHARE("bank_a")
AM_RANGE(0x8000000, 0xfffffff) AM_RAM AM_SHARE("bank_b")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tutankhm.cpp b/src/mame/drivers/tutankhm.cpp
index df41b1b76cf..8ad4891e72a 100644
--- a/src/mame/drivers/tutankhm.cpp
+++ b/src/mame/drivers/tutankhm.cpp
@@ -127,7 +127,7 @@ WRITE8_MEMBER(tutankhm_state::sound_on_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, tutankhm_state )
+ADDRESS_MAP_START(tutankhm_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x8000, 0x800f) AM_MIRROR(0x00f0) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x8100, 0x8100) AM_MIRROR(0x000f) AM_RAM AM_SHARE("scroll")
diff --git a/src/mame/drivers/tutor.cpp b/src/mame/drivers/tutor.cpp
index ec153e791d1..ee6e2a3de07 100644
--- a/src/mame/drivers/tutor.cpp
+++ b/src/mame/drivers/tutor.cpp
@@ -229,6 +229,9 @@ public:
DECLARE_WRITE_LINE_MEMBER(write_centronics_busy);
void pyuutajr(machine_config &config);
void tutor(machine_config &config);
+ void pyuutajr_mem(address_map &map);
+ void tutor_io(address_map &map);
+ void tutor_memmap(address_map &map);
};
@@ -547,7 +550,7 @@ WRITE8_MEMBER( tutor_state::test_w )
}
#endif
-static ADDRESS_MAP_START(tutor_memmap, AS_PROGRAM, 8, tutor_state)
+ADDRESS_MAP_START(tutor_state::tutor_memmap)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1") AM_WRITENOP
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank2") AM_WRITENOP
@@ -563,7 +566,7 @@ static ADDRESS_MAP_START(tutor_memmap, AS_PROGRAM, 8, tutor_state)
AM_RANGE(0xf000, 0xffff) AM_READ(tutor_highmem_r) AM_WRITENOP /*free for expansion (and internal processor RAM)*/
ADDRESS_MAP_END
-static ADDRESS_MAP_START(pyuutajr_mem, AS_PROGRAM, 8, tutor_state)
+ADDRESS_MAP_START(tutor_state::pyuutajr_mem)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1") AM_WRITENOP
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank2") AM_WRITENOP
@@ -591,7 +594,7 @@ ADDRESS_MAP_END
>ed00(r): tape input
*/
-static ADDRESS_MAP_START(tutor_io, AS_IO, 8, tutor_state)
+ADDRESS_MAP_START(tutor_state::tutor_io)
AM_RANGE(0xec0, 0xec7) AM_READ(key_r) /*keyboard interface*/
AM_RANGE(0xed0, 0xed0) AM_READ(tutor_cassette_r) /*cassette interface*/
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tv910.cpp b/src/mame/drivers/tv910.cpp
index e831debb201..902063754de 100644
--- a/src/mame/drivers/tv910.cpp
+++ b/src/mame/drivers/tv910.cpp
@@ -81,6 +81,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(ay3600_ako_w);
void tv910(machine_config &config);
+ void tv910_mem(address_map &map);
private:
required_device<m6502_device> m_maincpu;
required_device<input_merger_device> m_mainirq;
@@ -102,7 +103,7 @@ private:
uint8_t m_control;
};
-static ADDRESS_MAP_START(tv910_mem, AS_PROGRAM, 8, tv910_state)
+ADDRESS_MAP_START(tv910_state::tv910_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x4000, 0x47ff) AM_RAM AM_SHARE("vram") // VRAM
diff --git a/src/mame/drivers/tv912.cpp b/src/mame/drivers/tv912.cpp
index 7ae5f02895a..5b8045c856f 100644
--- a/src/mame/drivers/tv912.cpp
+++ b/src/mame/drivers/tv912.cpp
@@ -108,6 +108,9 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(uart_settings_changed);
void tv912(machine_config &config);
+ void bank_map(address_map &map);
+ void io_map(address_map &map);
+ void prog_map(address_map &map);
private:
enum
{
@@ -370,15 +373,15 @@ void tv912_state::machine_reset()
m_uart->set_input_pin(AY31015_CS, 1);
}
-static ADDRESS_MAP_START( prog_map, AS_PROGRAM, 8, tv912_state )
+ADDRESS_MAP_START(tv912_state::prog_map)
AM_RANGE(0x000, 0xfff) AM_ROM AM_REGION("maincpu", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, tv912_state )
+ADDRESS_MAP_START(tv912_state::io_map)
AM_RANGE(0x00, 0xff) AM_DEVICE("bankdev", address_map_bank_device, amap8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bank_map, 0, 8, tv912_state )
+ADDRESS_MAP_START(tv912_state::bank_map)
AM_RANGE(0x000, 0x0ff) AM_MIRROR(0x300) AM_RAM
AM_RANGE(0x400, 0x403) AM_MIRROR(0x3c0) AM_SELECT(0x030) AM_READWRITE(crtc_r, crtc_w)
AM_RANGE(0x404, 0x404) AM_MIRROR(0x3f3) AM_READ(uart_data_r)
diff --git a/src/mame/drivers/tv950.cpp b/src/mame/drivers/tv950.cpp
index 5e665a95278..825e0bd66fc 100644
--- a/src/mame/drivers/tv950.cpp
+++ b/src/mame/drivers/tv950.cpp
@@ -76,6 +76,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(via_crtc_reset_w);
void tv950(machine_config &config);
+ void tv950_mem(address_map &map);
private:
uint8_t m_via_row;
uint8_t m_attr_row;
@@ -91,7 +92,7 @@ private:
int m_row;
};
-static ADDRESS_MAP_START(tv950_mem, AS_PROGRAM, 8, tv950_state)
+ADDRESS_MAP_START(tv950_state::tv950_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x2000, 0x3fff) AM_RAM AM_SHARE("vram") // VRAM
diff --git a/src/mame/drivers/tv990.cpp b/src/mame/drivers/tv990.cpp
index 681bdd80838..d3ea90bd866 100644
--- a/src/mame/drivers/tv990.cpp
+++ b/src/mame/drivers/tv990.cpp
@@ -92,6 +92,7 @@ public:
INTERRUPT_GEN_MEMBER(vblank);
DECLARE_INPUT_CHANGED_MEMBER(color);
void tv990(machine_config &config);
+ void tv990_mem(address_map &map);
private:
uint16_t tvi1111_regs[(0x100/2)+2];
emu_timer *m_rowtimer;
@@ -309,7 +310,7 @@ WRITE8_MEMBER(tv990_state::kbdc_w)
m_kbdc->data_w(space, 0, data);
}
-static ADDRESS_MAP_START(tv990_mem, AS_PROGRAM, 16, tv990_state)
+ADDRESS_MAP_START(tv990_state::tv990_mem)
AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x060000, 0x06ffff) AM_RAM AM_SHARE("vram") // character/attribute RAM
AM_RANGE(0x080000, 0x087fff) AM_RAM AM_SHARE("fontram") // font RAM
diff --git a/src/mame/drivers/tvboy.cpp b/src/mame/drivers/tvboy.cpp
index 1c9dead4253..4015dbd53a4 100644
--- a/src/mame/drivers/tvboy.cpp
+++ b/src/mame/drivers/tvboy.cpp
@@ -31,6 +31,8 @@ public:
void tvboyii(machine_config &config);
void supertvboy(machine_config &config);
+ void rom_map(address_map &map);
+ void tvboy_mem(address_map &map);
private:
required_device<address_map_bank_device> m_crom;
required_region_ptr<uint8_t> m_rom;
@@ -49,7 +51,7 @@ WRITE8_MEMBER(tvboy_state::bank_write) {
m_crom->set_bank(data);
}
-static ADDRESS_MAP_START(tvboy_mem, AS_PROGRAM, 8, tvboy_state ) // 6507 has 13-bit address space, 0x0000 - 0x1fff
+ADDRESS_MAP_START(tvboy_state::tvboy_mem) // 6507 has 13-bit address space, 0x0000 - 0x1fff
AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x0f00) AM_DEVREADWRITE("tia_video", tia_video_device, read, write)
AM_RANGE(0x0080, 0x00ff) AM_MIRROR(0x0d00) AM_RAM AM_SHARE("riot_ram")
#if USE_NEW_RIOT
@@ -61,7 +63,7 @@ static ADDRESS_MAP_START(tvboy_mem, AS_PROGRAM, 8, tvboy_state ) // 6507 has 13-
AM_RANGE(0x1000, 0x1fff) AM_DEVICE("crom", address_map_bank_device, amap8)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( rom_map, AS_PROGRAM, 8, tvboy_state )
+ADDRESS_MAP_START(tvboy_state::rom_map)
AM_RANGE(0x00000, 0x7ffff) AM_ROM AM_REGION("mainrom", 0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tvc.cpp b/src/mame/drivers/tvc.cpp
index eb53713155c..5c52d9e345d 100644
--- a/src/mame/drivers/tvc.cpp
+++ b/src/mame/drivers/tvc.cpp
@@ -109,6 +109,8 @@ public:
uint8_t m_centronics_ff;
DECLARE_PALETTE_INIT(tvc);
void tvc(machine_config &config);
+ void tvc_io(address_map &map);
+ void tvc_mem(address_map &map);
};
@@ -350,14 +352,14 @@ WRITE8_MEMBER(tvc_state::cassette_w)
m_cassette->output(m_cassette_ff ? +1 : -1);
}
-static ADDRESS_MAP_START(tvc_mem, AS_PROGRAM, 8, tvc_state )
+ADDRESS_MAP_START(tvc_state::tvc_mem)
AM_RANGE(0x0000, 0x3fff) AM_RAMBANK("bank1")
AM_RANGE(0x4000, 0x7fff) AM_RAMBANK("bank2")
AM_RANGE(0x8000, 0xbfff) AM_RAMBANK("bank3")
AM_RANGE(0xc000, 0xffff) AM_RAMBANK("bank4")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tvc_io , AS_IO, 8, tvc_state )
+ADDRESS_MAP_START(tvc_state::tvc_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(border_color_w)
diff --git a/src/mame/drivers/tvcapcom.cpp b/src/mame/drivers/tvcapcom.cpp
index 6904d5e5247..655b7b218e2 100644
--- a/src/mame/drivers/tvcapcom.cpp
+++ b/src/mame/drivers/tvcapcom.cpp
@@ -26,9 +26,10 @@ public:
uint32_t screen_update_tvcapcom(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
required_device<ppc_device> m_maincpu;
void tvcapcom(machine_config &config);
+ void gc_map(address_map &map);
};
-static ADDRESS_MAP_START( gc_map, AS_PROGRAM, 64, tvcapcom_state )
+ADDRESS_MAP_START(tvcapcom_state::gc_map)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tvgame.cpp b/src/mame/drivers/tvgame.cpp
index d493bf6b145..5a76fb844c6 100644
--- a/src/mame/drivers/tvgame.cpp
+++ b/src/mame/drivers/tvgame.cpp
@@ -31,20 +31,22 @@ public:
DECLARE_WRITE8_MEMBER(speaker_w);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void tvgame(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<speaker_sound_device> m_speaker;
required_shared_ptr<uint8_t> m_p_videoram;
};
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, tvgame_state )
+ADDRESS_MAP_START(tvgame_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x7fff ) AM_ROM
AM_RANGE( 0x8000, 0xbfff ) AM_RAM
AM_RANGE( 0xc000, 0xdfff ) AM_RAM AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, tvgame_state )
+ADDRESS_MAP_START(tvgame_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(3)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x0003) AM_DEVREADWRITE("ppi", i8255_device, read, write)
diff --git a/src/mame/drivers/twin16.cpp b/src/mame/drivers/twin16.cpp
index 0a889cbbc3a..5e95de39504 100644
--- a/src/mame/drivers/twin16.cpp
+++ b/src/mame/drivers/twin16.cpp
@@ -164,7 +164,7 @@ WRITE8_MEMBER(twin16_state::upd_start_w)
/* Memory Maps */
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, twin16_state )
+ADDRESS_MAP_START(twin16_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_WRITE(upd_reset_w)
@@ -176,7 +176,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, twin16_state )
AM_RANGE(0xf000, 0xf000) AM_READ(upd_busy_r) // miaj writes 0 to it
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, twin16_state )
+ADDRESS_MAP_START(twin16_state::main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x043fff) AM_RAM AM_SHARE("comram")
// AM_RANGE(0x044000, 0x04ffff) AM_NOP // miaj
@@ -200,7 +200,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, twin16_state )
AM_RANGE(0x140000, 0x143fff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 16, twin16_state )
+ADDRESS_MAP_START(twin16_state::sub_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x043fff) AM_RAM AM_SHARE("comram")
// AM_RANGE(0x044000, 0x04ffff) AM_NOP // miaj
@@ -216,7 +216,7 @@ static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 16, twin16_state )
AM_RANGE(0x780000, 0x79ffff) AM_RAM AM_SHARE("sprite_gfx_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fround_map, AS_PROGRAM, 16, fround_state )
+ADDRESS_MAP_START(fround_state::fround_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x043fff) AM_RAM AM_SHARE("comram")
AM_RANGE(0x060000, 0x063fff) AM_RAM
diff --git a/src/mame/drivers/twincobr.cpp b/src/mame/drivers/twincobr.cpp
index e8689747d7e..89791e00d09 100644
--- a/src/mame/drivers/twincobr.cpp
+++ b/src/mame/drivers/twincobr.cpp
@@ -393,7 +393,7 @@ Shark Zame
/***************************** 68000 Memory Map *****************************/
-static ADDRESS_MAP_START( main_program_map, AS_PROGRAM, 16, twincobr_state )
+ADDRESS_MAP_START(twincobr_state::main_program_map)
AM_RANGE(0x000000, 0x02ffff) AM_ROM
AM_RANGE(0x030000, 0x033fff) AM_RAM /* 68K and DSP shared RAM */
AM_RANGE(0x040000, 0x040fff) AM_RAM AM_SHARE("spriteram16")
@@ -423,12 +423,12 @@ ADDRESS_MAP_END
/***************************** Z80 Memory Map *******************************/
-static ADDRESS_MAP_START( sound_program_map, AS_PROGRAM, 8, twincobr_state )
+ADDRESS_MAP_START(twincobr_state::sound_program_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("sharedram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, twincobr_state )
+ADDRESS_MAP_START(twincobr_state::sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
AM_RANGE(0x10, 0x10) AM_READ_PORT("SYSTEM") /* Twin Cobra - Coin/Start */
@@ -440,13 +440,13 @@ ADDRESS_MAP_END
/***************************** TMS32010 Memory Map **************************/
-static ADDRESS_MAP_START( DSP_program_map, AS_PROGRAM, 16, twincobr_state )
+ADDRESS_MAP_START(twincobr_state::DSP_program_map)
AM_RANGE(0x000, 0x7ff) AM_ROM
ADDRESS_MAP_END
/* $000 - 08F TMS32010 Internal Data RAM in Data Address Space */
-static ADDRESS_MAP_START( DSP_io_map, AS_IO, 16, twincobr_state )
+ADDRESS_MAP_START(twincobr_state::DSP_io_map)
AM_RANGE(0, 0) AM_WRITE(twincobr_dsp_addrsel_w)
AM_RANGE(1, 1) AM_READWRITE(twincobr_dsp_r, twincobr_dsp_w)
AM_RANGE(2, 2) AM_READWRITE(fsharkbt_dsp_r, fsharkbt_dsp_w)
@@ -456,7 +456,7 @@ ADDRESS_MAP_END
/******************* Flying Shark Bootleg i8741 Memory Map *******************/
-static ADDRESS_MAP_START( fsharkbt_i8741_io_map, AS_IO, 8, twincobr_state )
+ADDRESS_MAP_START(twincobr_state::fsharkbt_i8741_io_map)
/* IO map unknown as program code isn't dumped */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/twinkle.cpp b/src/mame/drivers/twinkle.cpp
index 84a8d168f2e..040cf2eeed7 100644
--- a/src/mame/drivers/twinkle.cpp
+++ b/src/mame/drivers/twinkle.cpp
@@ -291,6 +291,9 @@ public:
void twinklex(machine_config &config);
void twinklei(machine_config &config);
void twinkle(machine_config &config);
+ void main_map(address_map &map);
+ void rf5c400_map(address_map &map);
+ void sound_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_audiocpu;
@@ -766,7 +769,7 @@ READ8_MEMBER(twinkle_state::shared_psx_r)
return result;
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, twinkle_state )
+ADDRESS_MAP_START(twinkle_state::main_map)
AM_RANGE(0x1f000000, 0x1f0007ff) AM_READWRITE8(shared_psx_r, shared_psx_w, 0x00ff00ff)
AM_RANGE(0x1f200000, 0x1f20001f) AM_DEVREADWRITE8("am53cf96", am53cf96_device, read, write, 0x00ff00ff)
AM_RANGE(0x1f20a01c, 0x1f20a01f) AM_WRITENOP /* scsi? */
@@ -915,7 +918,7 @@ WRITE16_MEMBER(twinkle_state::spu_led_w)
output().set_indexed_value("spu_led", 7, (~data >> 7) & 1);
}
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 16, twinkle_state )
+ADDRESS_MAP_START(twinkle_state::sound_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x13ffff) AM_RAM
AM_RANGE(0x200000, 0x200001) AM_READ_PORT("SPU_DSW")
@@ -932,7 +935,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 16, twinkle_state )
AM_RANGE(0x800000, 0xffffff) AM_READWRITE(twinkle_waveram_r, twinkle_waveram_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(rf5c400_map, 0, 16, twinkle_state)
+ADDRESS_MAP_START(twinkle_state::rf5c400_map)
AM_RANGE(0x0000000, 0x1ffffff) AM_RAM AM_SHARE("rfsnd")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/twins.cpp b/src/mame/drivers/twins.cpp
index dfb84a1bb28..524ca02f10d 100644
--- a/src/mame/drivers/twins.cpp
+++ b/src/mame/drivers/twins.cpp
@@ -120,6 +120,11 @@ public:
void spider(machine_config &config);
void twins(machine_config &config);
void twinsa(machine_config &config);
+ void ramdac_map(address_map &map);
+ void spider_io(address_map &map);
+ void twins_io(address_map &map);
+ void twins_map(address_map &map);
+ void twinsa_io(address_map &map);
};
@@ -277,11 +282,11 @@ WRITE16_MEMBER(twins_state::spider_blitter_w)
}
-static ADDRESS_MAP_START( twins_map, AS_PROGRAM, 16, twins_state )
+ADDRESS_MAP_START(twins_state::twins_map)
AM_RANGE(0x00000, 0xfffff) AM_READWRITE(spider_blitter_r, spider_blitter_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( twins_io, AS_IO, 16, twins_state )
+ADDRESS_MAP_START(twins_state::twins_io)
AM_RANGE(0x0000, 0x0003) AM_DEVWRITE8("aysnd", ay8910_device, address_data_w, 0x00ff)
AM_RANGE(0x0002, 0x0003) AM_DEVREAD8("aysnd", ay8910_device, data_r, 0x00ff)
AM_RANGE(0x0004, 0x0005) AM_READWRITE(twins_port4_r, twins_port4_w)
@@ -415,7 +420,7 @@ MACHINE_CONFIG_END
-static ADDRESS_MAP_START( twinsa_io, AS_IO, 16, twins_state )
+ADDRESS_MAP_START(twins_state::twinsa_io)
AM_RANGE(0x0000, 0x0001) AM_DEVWRITE8("ramdac",ramdac_device,index_w,0x00ff)
AM_RANGE(0x0002, 0x0003) AM_DEVWRITE8("ramdac",ramdac_device,mask_w,0x00ff)
AM_RANGE(0x0004, 0x0005) AM_DEVREADWRITE8("ramdac",ramdac_device,pal_r,pal_w,0x00ff)
@@ -425,7 +430,7 @@ static ADDRESS_MAP_START( twinsa_io, AS_IO, 16, twins_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ramdac_map, 0, 8, twins_state )
+ADDRESS_MAP_START(twins_state::ramdac_map)
AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac",ramdac_device,ramdac_pal_r,ramdac_rgb666_w)
ADDRESS_MAP_END
@@ -540,7 +545,7 @@ READ16_MEMBER(twins_state::spider_port_1e_r)
}
-static ADDRESS_MAP_START( spider_io, AS_IO, 16, twins_state )
+ADDRESS_MAP_START(twins_state::spider_io)
AM_RANGE(0x0000, 0x0003) AM_DEVWRITE8("aysnd", ay8910_device, address_data_w, 0x00ff)
AM_RANGE(0x0002, 0x0003) AM_DEVREAD8("aysnd", ay8910_device, data_r, 0x00ff)
AM_RANGE(0x0004, 0x0005) AM_READWRITE(twins_port4_r, twins_port4_w)
diff --git a/src/mame/drivers/tx0.cpp b/src/mame/drivers/tx0.cpp
index dbc99186b97..2797d106724 100644
--- a/src/mame/drivers/tx0.cpp
+++ b/src/mame/drivers/tx0.cpp
@@ -80,12 +80,12 @@ DRIVER_INIT_MEMBER(tx0_state,tx0)
}
-static ADDRESS_MAP_START(tx0_64kw_map, AS_PROGRAM, 32, tx0_state )
+ADDRESS_MAP_START(tx0_state::tx0_64kw_map)
AM_RANGE(0x0000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(tx0_8kw_map, AS_PROGRAM, 32, tx0_state )
+ADDRESS_MAP_START(tx0_state::tx0_8kw_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tx1.cpp b/src/mame/drivers/tx1.cpp
index bc6ab336f50..0a334e8cbc5 100644
--- a/src/mame/drivers/tx1.cpp
+++ b/src/mame/drivers/tx1.cpp
@@ -478,7 +478,7 @@ READ8_MEMBER(tx1_state::bbjr_analog_r)
*
*************************************/
-static ADDRESS_MAP_START( tx1_main, AS_PROGRAM, 16, tx1_state )
+ADDRESS_MAP_START(tx1_state::tx1_main)
AM_RANGE(0x00000, 0x00fff) AM_MIRROR(0x1000) AM_RAM
AM_RANGE(0x02000, 0x02fff) AM_MIRROR(0x1000) AM_RAM
AM_RANGE(0x04000, 0x04fff) AM_MIRROR(0x1000) AM_RAM AM_SHARE("nvram")
@@ -494,7 +494,7 @@ static ADDRESS_MAP_START( tx1_main, AS_PROGRAM, 16, tx1_state )
AM_RANGE(0x20000, 0x2ffff) AM_MIRROR(0xd0000) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tx1_math, AS_PROGRAM, 16, tx1_state )
+ADDRESS_MAP_START(tx1_state::tx1_math)
AM_RANGE(0x00000, 0x007ff) AM_RAM AM_SHARE("math_ram")
AM_RANGE(0x00800, 0x00fff) AM_READWRITE(tx1_spcs_ram_r, tx1_spcs_ram_w)
AM_RANGE(0x01000, 0x01fff) AM_RAM AM_SHARE("rcram")
@@ -507,7 +507,7 @@ static ADDRESS_MAP_START( tx1_math, AS_PROGRAM, 16, tx1_state )
AM_RANGE(0x05000, 0x07fff) AM_READ(tx1_spcs_rom_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tx1_sound_prg, AS_PROGRAM, 8, tx1_state )
+ADDRESS_MAP_START(tx1_state::tx1_sound_prg)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_MIRROR(0x800) AM_SHARE("z80_ram")
AM_RANGE(0x4000, 0x4000) AM_WRITE(z80_intreq_w)
@@ -517,7 +517,7 @@ static ADDRESS_MAP_START( tx1_sound_prg, AS_PROGRAM, 8, tx1_state )
AM_RANGE(0xb000, 0xbfff) AM_READWRITE(ts_r, ts_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tx1_sound_io, AS_IO, 8, tx1_state )
+ADDRESS_MAP_START(tx1_state::tx1_sound_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x40, 0x41) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
ADDRESS_MAP_END
@@ -529,7 +529,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( buggyboy_main, AS_PROGRAM, 16, tx1_state )
+ADDRESS_MAP_START(tx1_state::buggyboy_main)
AM_RANGE(0x00000, 0x03fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x04000, 0x04fff) AM_READWRITE(tx1_crtc_r, tx1_crtc_w)
AM_RANGE(0x08000, 0x09fff) AM_RAM AM_SHARE("vram")
@@ -544,7 +544,7 @@ static ADDRESS_MAP_START( buggyboy_main, AS_PROGRAM, 16, tx1_state )
AM_RANGE(0xf0000, 0xfffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( buggybjr_main, AS_PROGRAM, 16, tx1_state )
+ADDRESS_MAP_START(tx1_state::buggybjr_main)
AM_RANGE(0x00000, 0x03fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x04000, 0x04fff) AM_READWRITE(tx1_crtc_r, tx1_crtc_w)
AM_RANGE(0x08000, 0x08fff) AM_RAM AM_SHARE("vram")
@@ -559,7 +559,7 @@ static ADDRESS_MAP_START( buggybjr_main, AS_PROGRAM, 16, tx1_state )
AM_RANGE(0xf0000, 0xfffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( buggyboy_math, AS_PROGRAM, 16, tx1_state )
+ADDRESS_MAP_START(tx1_state::buggyboy_math)
AM_RANGE(0x00000, 0x007ff) AM_RAM AM_SHARE("math_ram")
AM_RANGE(0x00800, 0x00fff) AM_READWRITE(buggyboy_spcs_ram_r, buggyboy_spcs_ram_w)
AM_RANGE(0x01000, 0x01fff) AM_RAM AM_SHARE("rcram")
@@ -571,7 +571,7 @@ static ADDRESS_MAP_START( buggyboy_math, AS_PROGRAM, 16, tx1_state )
ADDRESS_MAP_END
/* Buggy Boy Sound PCB TC033A */
-static ADDRESS_MAP_START( buggyboy_sound_prg, AS_PROGRAM, 8, tx1_state )
+ADDRESS_MAP_START(tx1_state::buggyboy_sound_prg)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM AM_SHARE("z80_ram")
AM_RANGE(0x6000, 0x6001) AM_READ(bb_analog_r)
@@ -582,7 +582,7 @@ static ADDRESS_MAP_START( buggyboy_sound_prg, AS_PROGRAM, 8, tx1_state )
ADDRESS_MAP_END
/* Buggy Boy Jr Sound PCB TC043 */
-static ADDRESS_MAP_START( buggybjr_sound_prg, AS_PROGRAM, 8, tx1_state )
+ADDRESS_MAP_START(tx1_state::buggybjr_sound_prg)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM AM_SHARE("z80_ram")
AM_RANGE(0x5000, 0x5003) AM_DEVREADWRITE("buggyboy", buggyboy_sound_device, pit8253_r, pit8253_w)
@@ -592,7 +592,7 @@ static ADDRESS_MAP_START( buggybjr_sound_prg, AS_PROGRAM, 8, tx1_state )
ADDRESS_MAP_END
/* Common */
-static ADDRESS_MAP_START( buggyboy_sound_io, AS_IO, 8, tx1_state )
+ADDRESS_MAP_START(tx1_state::buggyboy_sound_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x40, 0x40) AM_DEVREAD("ym1", ay8910_device, data_r)
AM_RANGE(0x40, 0x41) AM_DEVWRITE("ym1", ay8910_device, data_address_w)
diff --git a/src/mame/drivers/uapce.cpp b/src/mame/drivers/uapce.cpp
index faa11c4c0f2..d79666573fa 100644
--- a/src/mame/drivers/uapce.cpp
+++ b/src/mame/drivers/uapce.cpp
@@ -121,6 +121,9 @@ public:
virtual void machine_reset() override;
required_device<discrete_device> m_discrete;
void uapce(machine_config &config);
+ void pce_io(address_map &map);
+ void pce_mem(address_map &map);
+ void z80_map(address_map &map);
};
#define UAPCE_SOUND_EN NODE_10
@@ -240,7 +243,7 @@ void uapce_state::machine_reset()
m_jamma_if_control_latch = 0;
}
-static ADDRESS_MAP_START( z80_map, AS_PROGRAM, 8, uapce_state )
+ADDRESS_MAP_START(uapce_state::z80_map)
AM_RANGE( 0x0000, 0x07FF) AM_ROM
AM_RANGE( 0x0800, 0x0FFF) AM_RAM
AM_RANGE( 0x1000, 0x17FF) AM_WRITE(jamma_if_control_latch_w )
@@ -283,7 +286,7 @@ static INPUT_PORTS_START( uapce )
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(1)
INPUT_PORTS_END
-static ADDRESS_MAP_START( pce_mem , AS_PROGRAM, 8, uapce_state )
+ADDRESS_MAP_START(uapce_state::pce_mem)
AM_RANGE( 0x000000, 0x09FFFF) AM_ROM
AM_RANGE( 0x1F0000, 0x1F1FFF) AM_RAM AM_MIRROR(0x6000)
AM_RANGE( 0x1FE000, 0x1FE3FF) AM_DEVREADWRITE( "huc6270", huc6270_device, read, write )
@@ -294,7 +297,7 @@ static ADDRESS_MAP_START( pce_mem , AS_PROGRAM, 8, uapce_state )
AM_RANGE( 0x1FF400, 0x1FF7FF) AM_DEVREADWRITE("maincpu", h6280_device, irq_status_r, irq_status_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pce_io , AS_IO, 8, uapce_state )
+ADDRESS_MAP_START(uapce_state::pce_io)
AM_RANGE( 0x00, 0x03) AM_DEVREADWRITE( "huc6270", huc6270_device, read, write )
ADDRESS_MAP_END
diff --git a/src/mame/drivers/uknc.cpp b/src/mame/drivers/uknc.cpp
index 56d6c1414dd..45f07b80426 100644
--- a/src/mame/drivers/uknc.cpp
+++ b/src/mame/drivers/uknc.cpp
@@ -25,16 +25,18 @@ public:
uint32_t screen_update_uknc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
void uknc(machine_config &config);
+ void uknc_mem(address_map &map);
+ void uknc_sub_mem(address_map &map);
};
-static ADDRESS_MAP_START(uknc_mem, AS_PROGRAM, 16, uknc_state)
+ADDRESS_MAP_START(uknc_state::uknc_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x7fff ) AM_RAM // RAM
AM_RANGE( 0x8000, 0xffff ) AM_ROM // ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(uknc_sub_mem, AS_PROGRAM, 16, uknc_state)
+ADDRESS_MAP_START(uknc_state::uknc_sub_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x7fff ) AM_RAM // RAM
AM_RANGE( 0x8000, 0xffff ) AM_ROM // ROM
diff --git a/src/mame/drivers/ultraman.cpp b/src/mame/drivers/ultraman.cpp
index 5d54b1dd699..6f4ba3918cb 100644
--- a/src/mame/drivers/ultraman.cpp
+++ b/src/mame/drivers/ultraman.cpp
@@ -28,7 +28,7 @@ WRITE8_MEMBER(ultraman_state::sound_nmi_enable_w)
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, ultraman_state )
+ADDRESS_MAP_START(ultraman_state::main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x08ffff) AM_RAM
AM_RANGE(0x180000, 0x183fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")/* Palette */
@@ -51,7 +51,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, ultraman_state )
AM_RANGE(0x304800, 0x304fff) AM_DEVREADWRITE8("k051960", k051960_device, k051960_r, k051960_w, 0x00ff) /* Sprite RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, ultraman_state )
+ADDRESS_MAP_START(ultraman_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_RAM
AM_RANGE(0xc000, 0xc000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
@@ -60,7 +60,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, ultraman_state )
AM_RANGE(0xf000, 0xf001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write) /* YM2151 */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, ultraman_state )
+ADDRESS_MAP_START(ultraman_state::sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("soundnmi", input_merger_device, in_clear<0>)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ultratnk.cpp b/src/mame/drivers/ultratnk.cpp
index 3dfcf08f6d5..ddc996441a2 100644
--- a/src/mame/drivers/ultratnk.cpp
+++ b/src/mame/drivers/ultratnk.cpp
@@ -161,7 +161,7 @@ WRITE8_MEMBER(ultratnk_state::explosion_w)
}
-static ADDRESS_MAP_START( ultratnk_cpu_map, AS_PROGRAM, 8, ultratnk_state )
+ADDRESS_MAP_START(ultratnk_state::ultratnk_cpu_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
diff --git a/src/mame/drivers/ultrsprt.cpp b/src/mame/drivers/ultrsprt.cpp
index 1b347610af5..8ae6b10c297 100644
--- a/src/mame/drivers/ultrsprt.cpp
+++ b/src/mame/drivers/ultrsprt.cpp
@@ -53,6 +53,8 @@ public:
uint32_t screen_update_ultrsprt(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void ultrsprt(machine_config &config);
+ void sound_map(address_map &map);
+ void ultrsprt_map(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -146,7 +148,7 @@ READ16_MEMBER(ultrsprt_state::upd2_r)
/*****************************************************************************/
-static ADDRESS_MAP_START( ultrsprt_map, AS_PROGRAM, 32, ultrsprt_state )
+ADDRESS_MAP_START(ultrsprt_state::ultrsprt_map)
AM_RANGE(0x00000000, 0x0007ffff) AM_RAMBANK("vram")
AM_RANGE(0x70000000, 0x70000003) AM_READWRITE8(eeprom_r, eeprom_w, 0xff000000)
AM_RANGE(0x70000020, 0x70000023) AM_READ16(upd1_r, 0xffffffff)
@@ -162,7 +164,7 @@ ADDRESS_MAP_END
/*****************************************************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 16, ultrsprt_state )
+ADDRESS_MAP_START(ultrsprt_state::sound_map)
AM_RANGE(0x00000000, 0x0001ffff) AM_ROM
AM_RANGE(0x00100000, 0x00101fff) AM_RAM
AM_RANGE(0x00200000, 0x0020000f) AM_DEVREADWRITE8("k056800", k056800_device, sound_r, sound_w, 0xffff)
diff --git a/src/mame/drivers/umipoker.cpp b/src/mame/drivers/umipoker.cpp
index f1d97403cf3..91cc5211003 100644
--- a/src/mame/drivers/umipoker.cpp
+++ b/src/mame/drivers/umipoker.cpp
@@ -82,6 +82,9 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
void umipoker(machine_config &config);
+ void umipoker_audio_io_map(address_map &map);
+ void umipoker_audio_map(address_map &map);
+ void umipoker_map(address_map &map);
};
TILE_GET_INFO_MEMBER(umipoker_state::get_tile_info_0)
@@ -312,7 +315,7 @@ WRITE16_MEMBER(umipoker_state::saiyu_counters_w)
}
-static ADDRESS_MAP_START( umipoker_map, AS_PROGRAM, 16, umipoker_state )
+ADDRESS_MAP_START(umipoker_state::umipoker_map)
ADDRESS_MAP_UNMAP_LOW
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x400000, 0x403fff) AM_RAM AM_SHARE("nvram")
@@ -338,12 +341,12 @@ static ADDRESS_MAP_START( umipoker_map, AS_PROGRAM, 16, umipoker_state )
AM_RANGE(0xe0002e, 0xe0002f) AM_WRITE(umipoker_scrolly_3_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( umipoker_audio_map, AS_PROGRAM, 8, umipoker_state )
+ADDRESS_MAP_START(umipoker_state::umipoker_audio_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xf800, 0xffff) AM_READWRITE(z80_shared_ram_r,z80_shared_ram_w) AM_SHARE("z80_wram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( umipoker_audio_io_map, AS_IO, 8, umipoker_state )
+ADDRESS_MAP_START(umipoker_state::umipoker_audio_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0x10, 0x11) AM_DEVREADWRITE("ym", ym3812_device, read, write)
diff --git a/src/mame/drivers/undrfire.cpp b/src/mame/drivers/undrfire.cpp
index 0c7725ed5b2..cb10ea8f41a 100644
--- a/src/mame/drivers/undrfire.cpp
+++ b/src/mame/drivers/undrfire.cpp
@@ -399,7 +399,7 @@ WRITE8_MEMBER(undrfire_state::cbombers_adc_w)
MEMORY STRUCTURES
***********************************************************/
-static ADDRESS_MAP_START( undrfire_map, AS_PROGRAM, 32, undrfire_state )
+ADDRESS_MAP_START(undrfire_state::undrfire_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x200000, 0x21ffff) AM_RAM AM_SHARE("ram")
AM_RANGE(0x300000, 0x303fff) AM_RAM AM_SHARE("spriteram")
@@ -420,7 +420,7 @@ static ADDRESS_MAP_START( undrfire_map, AS_PROGRAM, 32, undrfire_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cbombers_cpua_map, AS_PROGRAM, 32, undrfire_state )
+ADDRESS_MAP_START(undrfire_state::cbombers_cpua_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x200000, 0x21ffff) AM_RAM
AM_RANGE(0x300000, 0x303fff) AM_RAM AM_SHARE("spriteram")
@@ -439,7 +439,7 @@ static ADDRESS_MAP_START( cbombers_cpua_map, AS_PROGRAM, 32, undrfire_state )
AM_RANGE(0xe00000, 0xe0ffff) AM_RAM AM_SHARE("shared_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cbombers_cpub_map, AS_PROGRAM, 16, undrfire_state )
+ADDRESS_MAP_START(undrfire_state::cbombers_cpub_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x400000, 0x40ffff) AM_RAM /* local ram */
// AM_RANGE(0x600000, 0x60ffff) AM_DEVWRITE("tc0480scp", tc0480scp_device, word_w) /* Only written upon errors */
diff --git a/src/mame/drivers/unianapc.cpp b/src/mame/drivers/unianapc.cpp
index 1afbcc15724..5a96394791e 100644
--- a/src/mame/drivers/unianapc.cpp
+++ b/src/mame/drivers/unianapc.cpp
@@ -42,6 +42,7 @@ public:
virtual void video_start() override;
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void unianapc(machine_config &config);
+ void unianapc_map(address_map &map);
};
void unianapc_state::video_start()
@@ -53,7 +54,7 @@ uint32_t unianapc_state::screen_update(screen_device &screen, bitmap_rgb32 &bitm
return 0;
}
-static ADDRESS_MAP_START( unianapc_map, AS_PROGRAM, 32, unianapc_state )
+ADDRESS_MAP_START(unianapc_state::unianapc_map)
ADDRESS_MAP_END
static INPUT_PORTS_START( unianapc )
diff --git a/src/mame/drivers/unichamp.cpp b/src/mame/drivers/unichamp.cpp
index c528264d21a..4d288407f7e 100644
--- a/src/mame/drivers/unichamp.cpp
+++ b/src/mame/drivers/unichamp.cpp
@@ -82,6 +82,7 @@ public:
uint32_t screen_update_unichamp(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void unichamp(machine_config &config);
+ void unichamp_mem(address_map &map);
protected:
required_ioport m_ctrls;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
@@ -105,7 +106,7 @@ PALETTE_INIT_MEMBER(unichamp_state, unichamp)
}
-static ADDRESS_MAP_START( unichamp_mem, AS_PROGRAM, 16, unichamp_state )
+ADDRESS_MAP_START(unichamp_state::unichamp_mem)
ADDRESS_MAP_GLOBAL_MASK(0x1FFF) //B13/B14/B15 are grounded!
AM_RANGE(0x0000, 0x00FF) AM_READWRITE8(unichamp_gicram_r, unichamp_gicram_w, 0x00ff)
AM_RANGE(0x0100, 0x07FF) AM_READWRITE(unichamp_trapl_r, unichamp_trapl_w)
diff --git a/src/mame/drivers/unico.cpp b/src/mame/drivers/unico.cpp
index 0388f7595ab..c7c8a71e735 100644
--- a/src/mame/drivers/unico.cpp
+++ b/src/mame/drivers/unico.cpp
@@ -56,7 +56,7 @@ WRITE16_MEMBER(unico_state::burglarx_sound_bank_w)
}
}
-static ADDRESS_MAP_START( burglarx_map, AS_PROGRAM, 16, unico_state )
+ADDRESS_MAP_START(unico_state::burglarx_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0xff0000, 0xffffff) AM_RAM // RAM
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("INPUTS")
@@ -141,7 +141,7 @@ READ16_MEMBER(unico_state::unico_guny_1_msb_r)
return ((y&0xff) ^ (m_screen->frame_number()&1))<<8;
}
-static ADDRESS_MAP_START( zeropnt_map, AS_PROGRAM, 16, unico_state )
+ADDRESS_MAP_START(unico_state::zeropnt_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0xef0000, 0xefffff) AM_RAM // RAM
AM_RANGE(0x800030, 0x800031) AM_WRITENOP // ? 0
@@ -213,7 +213,7 @@ WRITE32_MEMBER(unico_state::zeropnt2_eeprom_w)
}
}
-static ADDRESS_MAP_START( zeropnt2_map, AS_PROGRAM, 32, unico_state )
+ADDRESS_MAP_START(unico_state::zeropnt2_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM // ROM
AM_RANGE(0x800018, 0x80001b) AM_READ_PORT("SYSTEM")
AM_RANGE(0x800024, 0x800027) AM_DEVREADWRITE8("oki1", okim6295_device, read, write, 0x00ff0000) // Sound
diff --git a/src/mame/drivers/unior.cpp b/src/mame/drivers/unior.cpp
index 4e0b26a9aca..a5316a103a0 100644
--- a/src/mame/drivers/unior.cpp
+++ b/src/mame/drivers/unior.cpp
@@ -76,6 +76,8 @@ public:
I8275_DRAW_CHARACTER_MEMBER(display_pixels);
void unior(machine_config &config);
+ void unior_io(address_map &map);
+ void unior_mem(address_map &map);
private:
uint8_t m_4c;
uint8_t m_4e;
@@ -88,13 +90,13 @@ private:
required_region_ptr<u8> m_p_vram;
};
-static ADDRESS_MAP_START( unior_mem, AS_PROGRAM, 8, unior_state )
+ADDRESS_MAP_START(unior_state::unior_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xffff) AM_ROM AM_WRITE(vram_w) // main video
ADDRESS_MAP_END
-static ADDRESS_MAP_START( unior_io, AS_IO, 8, unior_state )
+ADDRESS_MAP_START(unior_state::unior_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x30, 0x38) AM_DEVREADWRITE("dma", i8257_device, read, write) // dma data
diff --git a/src/mame/drivers/unistar.cpp b/src/mame/drivers/unistar.cpp
index b312bbf343f..b9903f5e95e 100644
--- a/src/mame/drivers/unistar.cpp
+++ b/src/mame/drivers/unistar.cpp
@@ -30,6 +30,8 @@ public:
uint32_t screen_update_unistar(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void unistar(machine_config &config);
+ void unistar_io(address_map &map);
+ void unistar_mem(address_map &map);
private:
virtual void machine_reset() override;
required_device<cpu_device> m_maincpu;
@@ -37,13 +39,13 @@ private:
};
-static ADDRESS_MAP_START(unistar_mem, AS_PROGRAM, 8, unistar_state)
+ADDRESS_MAP_START(unistar_state::unistar_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(unistar_io, AS_IO, 8, unistar_state)
+ADDRESS_MAP_START(unistar_state::unistar_io)
//ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x8c, 0x8d) AM_DEVREADWRITE("stc", am9513_device, read8, write8)
diff --git a/src/mame/drivers/univac.cpp b/src/mame/drivers/univac.cpp
index de334fdafa4..064cac27e8b 100644
--- a/src/mame/drivers/univac.cpp
+++ b/src/mame/drivers/univac.cpp
@@ -87,6 +87,8 @@ public:
u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void uts20(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -186,14 +188,14 @@ WRITE8_MEMBER( univac_state::porte6_w )
}
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, univac_state )
+ADDRESS_MAP_START(univac_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x4fff ) AM_ROM AM_REGION("roms", 0)
AM_RANGE( 0x8000, 0xbfff ) AM_READWRITE(bank_r, bank_w)
AM_RANGE( 0xc000, 0xffff ) AM_RAM_WRITE(ram_w) AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, univac_state )
+ADDRESS_MAP_START(univac_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("uart", z80sio_device, cd_ba_r, cd_ba_w)
diff --git a/src/mame/drivers/unixpc.cpp b/src/mame/drivers/unixpc.cpp
index 6b30aec405e..5928a443939 100644
--- a/src/mame/drivers/unixpc.cpp
+++ b/src/mame/drivers/unixpc.cpp
@@ -76,6 +76,8 @@ public:
required_shared_ptr<uint16_t> m_videoram;
void unixpc(machine_config &config);
+ void ramrombank_map(address_map &map);
+ void unixpc_mem(address_map &map);
private:
uint16_t *m_ramptr;
uint32_t m_ramsize;
@@ -273,7 +275,7 @@ uint32_t unixpc_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap
ADDRESS MAPS
***************************************************************************/
-static ADDRESS_MAP_START( unixpc_mem, AS_PROGRAM, 16, unixpc_state )
+ADDRESS_MAP_START(unixpc_state::unixpc_mem)
AM_RANGE(0x000000, 0x3fffff) AM_DEVICE("ramrombank", address_map_bank_device, amap16)
AM_RANGE(0x400000, 0x4007ff) AM_RAM AM_SHARE("mapram")
AM_RANGE(0x420000, 0x427fff) AM_RAM AM_SHARE("videoram")
@@ -293,7 +295,7 @@ static ADDRESS_MAP_START( unixpc_mem, AS_PROGRAM, 16, unixpc_state )
// e70000 / e70002 = keyboard 6850 status/control and Rx data / Tx data
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ramrombank_map, AS_PROGRAM, 16, unixpc_state )
+ADDRESS_MAP_START(unixpc_state::ramrombank_map)
AM_RANGE(0x000000, 0x3fffff) AM_ROM AM_REGION("bootrom", 0)
AM_RANGE(0x400000, 0x7fffff) AM_READWRITE(ram_mmu_r, ram_mmu_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/unkhorse.cpp b/src/mame/drivers/unkhorse.cpp
index 3e229750444..1204c6eb629 100644
--- a/src/mame/drivers/unkhorse.cpp
+++ b/src/mame/drivers/unkhorse.cpp
@@ -55,6 +55,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(interrupt);
void horse(machine_config &config);
+ void horse_io_map(address_map &map);
+ void horse_map(address_map &map);
};
void horse_state::machine_start()
@@ -97,14 +99,14 @@ uint32_t horse_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap,
***************************************************************************/
-static ADDRESS_MAP_START( horse_map, AS_PROGRAM, 8, horse_state )
+ADDRESS_MAP_START(horse_state::horse_map)
AM_RANGE(0x0000, 0x37ff) AM_ROM
AM_RANGE(0x4000, 0x40ff) AM_DEVREADWRITE("i8155", i8155_device, memory_r, memory_w)
AM_RANGE(0x6000, 0x7fff) AM_RAM AM_SHARE("vram")
AM_RANGE(0x8000, 0x87ff) AM_MIRROR(0x0800) AM_READWRITE(colorram_r, colorram_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( horse_io_map, AS_IO, 8, horse_state )
+ADDRESS_MAP_START(horse_state::horse_io_map)
AM_RANGE(0x40, 0x47) AM_DEVREADWRITE("i8155", i8155_device, io_r, io_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/upscope.cpp b/src/mame/drivers/upscope.cpp
index c65bf2c95ed..cf9c04b6956 100644
--- a/src/mame/drivers/upscope.cpp
+++ b/src/mame/drivers/upscope.cpp
@@ -61,6 +61,9 @@ public:
DECLARE_DRIVER_INIT(upscope);
void upscope(machine_config &config);
+ void a500_mem(address_map &map);
+ void main_map(address_map &map);
+ void overlay_512kb_map(address_map &map);
protected:
virtual void machine_reset() override;
@@ -204,13 +207,13 @@ WRITE8_MEMBER( upscope_state::coin_counter_w )
*
*************************************/
-static ADDRESS_MAP_START( overlay_512kb_map, AS_PROGRAM, 16, upscope_state )
+ADDRESS_MAP_START(upscope_state::overlay_512kb_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x07ffff) AM_MIRROR(0x180000) AM_RAM AM_SHARE("chip_ram")
AM_RANGE(0x200000, 0x27ffff) AM_ROM AM_REGION("kickstart", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( a500_mem, AS_PROGRAM, 16, upscope_state )
+ADDRESS_MAP_START(upscope_state::a500_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x1fffff) AM_DEVICE("overlay", address_map_bank_device, amap16)
AM_RANGE(0xa00000, 0xbfffff) AM_READWRITE(cia_r, cia_w)
@@ -223,7 +226,7 @@ static ADDRESS_MAP_START( a500_mem, AS_PROGRAM, 16, upscope_state )
AM_RANGE(0xf80000, 0xffffff) AM_ROM AM_REGION("kickstart", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, upscope_state )
+ADDRESS_MAP_START(upscope_state::main_map)
AM_IMPORT_FROM(a500_mem)
AM_RANGE(0xf00000, 0xf7ffff) AM_ROM AM_REGION("user2", 0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/usgames.cpp b/src/mame/drivers/usgames.cpp
index 223ade5326f..76bb4d11740 100644
--- a/src/mame/drivers/usgames.cpp
+++ b/src/mame/drivers/usgames.cpp
@@ -64,7 +64,7 @@ WRITE8_MEMBER(usgames_state::lamps2_w)
}
-static ADDRESS_MAP_START( usgames_map, AS_PROGRAM, 8, usgames_state )
+ADDRESS_MAP_START(usgames_state::usgames_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x2000, 0x2000) AM_READ_PORT("DSW")
AM_RANGE(0x2010, 0x2010) AM_READ_PORT("INPUTS")
@@ -83,7 +83,7 @@ static ADDRESS_MAP_START( usgames_map, AS_PROGRAM, 8, usgames_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( usg185_map, AS_PROGRAM, 8, usgames_state )
+ADDRESS_MAP_START(usgames_state::usg185_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x2000, 0x2001) AM_DEVWRITE("aysnd", ay8912_device, address_data_w)
AM_RANGE(0x2400, 0x2400) AM_READ_PORT("DSW")
diff --git a/src/mame/drivers/ut88.cpp b/src/mame/drivers/ut88.cpp
index 03247d1bc19..3eabca2aa25 100644
--- a/src/mame/drivers/ut88.cpp
+++ b/src/mame/drivers/ut88.cpp
@@ -38,14 +38,14 @@ static GFXDECODE_START( ut88 )
GFXDECODE_END
/* Address maps */
-static ADDRESS_MAP_START( ut88mini_mem, AS_PROGRAM, 8, ut88_state )
+ADDRESS_MAP_START(ut88_state::ut88mini_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x03ff ) AM_ROM // System ROM
AM_RANGE( 0xc000, 0xc3ff ) AM_RAM // RAM
AM_RANGE( 0x9000, 0x9fff ) AM_WRITE(ut88mini_write_led) // 7seg LED
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ut88_mem, AS_PROGRAM, 8, ut88_state )
+ADDRESS_MAP_START(ut88_state::ut88_mem)
AM_RANGE( 0x0000, 0x07ff ) AM_RAMBANK("bank1") // First bank
AM_RANGE( 0x0800, 0xdfff ) AM_RAM // RAM
AM_RANGE( 0xe000, 0xe7ff ) AM_RAM // Video RAM (not used)
@@ -54,12 +54,12 @@ static ADDRESS_MAP_START( ut88_mem, AS_PROGRAM, 8, ut88_state )
AM_RANGE( 0xf800, 0xffff ) AM_ROM // System ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ut88mini_io, AS_IO, 8, ut88_state )
+ADDRESS_MAP_START(ut88_state::ut88mini_io)
AM_RANGE( 0xA0, 0xA0) AM_READ(ut88mini_keyboard_r)
AM_RANGE( 0xA1, 0xA1) AM_READ(ut88_tape_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ut88_io, AS_IO, 8, ut88_state )
+ADDRESS_MAP_START(ut88_state::ut88_io)
AM_RANGE( 0x04, 0x07) AM_READWRITE(ut88_keyboard_r, ut88_keyboard_w)
AM_RANGE( 0xA1, 0xA1) AM_READWRITE(ut88_tape_r, ut88_sound_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/uzebox.cpp b/src/mame/drivers/uzebox.cpp
index 75557b56364..8521fe56a0e 100644
--- a/src/mame/drivers/uzebox.cpp
+++ b/src/mame/drivers/uzebox.cpp
@@ -64,6 +64,9 @@ public:
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(uzebox_cart);
void uzebox(machine_config &config);
+ void uzebox_data_map(address_map &map);
+ void uzebox_io_map(address_map &map);
+ void uzebox_prg_map(address_map &map);
private:
int m_vpos;
uint64_t m_line_start_cycles;
@@ -194,15 +197,15 @@ READ8_MEMBER(uzebox_state::port_d_r)
* Address maps *
\****************************************************/
-static ADDRESS_MAP_START( uzebox_prg_map, AS_PROGRAM, 8, uzebox_state )
+ADDRESS_MAP_START(uzebox_state::uzebox_prg_map)
AM_RANGE(0x0000, 0xffff) AM_ROM // 64 KB internal eprom ATmega644
ADDRESS_MAP_END
-static ADDRESS_MAP_START( uzebox_data_map, AS_DATA, 8, uzebox_state )
+ADDRESS_MAP_START(uzebox_state::uzebox_data_map)
AM_RANGE(0x0100, 0x10ff) AM_RAM // 4KB RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( uzebox_io_map, AS_IO, 8, uzebox_state )
+ADDRESS_MAP_START(uzebox_state::uzebox_io_map)
AM_RANGE(AVR8_REG_A, AVR8_REG_A) AM_READWRITE( port_a_r, port_a_w )
AM_RANGE(AVR8_REG_B, AVR8_REG_B) AM_READWRITE( port_b_r, port_b_w )
AM_RANGE(AVR8_REG_C, AVR8_REG_C) AM_READWRITE( port_c_r, port_c_w )
diff --git a/src/mame/drivers/v100.cpp b/src/mame/drivers/v100.cpp
index 96a9436cadb..ca74dd190ed 100644
--- a/src/mame/drivers/v100.cpp
+++ b/src/mame/drivers/v100.cpp
@@ -55,6 +55,8 @@ public:
u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void v100(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
virtual void machine_start() override;
@@ -225,13 +227,13 @@ WRITE8_MEMBER(v100_state::ppi_porta_w)
//logerror("Writing %02X to PPI port A\n", data);
}
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, v100_state )
+ADDRESS_MAP_START(v100_state::mem_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x4000, 0x4fff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x5000, 0x5fff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, v100_state )
+ADDRESS_MAP_START(v100_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x0f) AM_DEVWRITE("vtac", crt5037_device, write)
AM_RANGE(0x10, 0x10) AM_WRITE(brg_w<0>)
diff --git a/src/mame/drivers/v102.cpp b/src/mame/drivers/v102.cpp
index 464a2f96c8b..03943feee47 100644
--- a/src/mame/drivers/v102.cpp
+++ b/src/mame/drivers/v102.cpp
@@ -31,6 +31,9 @@ public:
u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void v102(machine_config &config);
+ void io_map(address_map &map);
+ void kbd_map(address_map &map);
+ void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_region_ptr<u8> m_p_chargen;
@@ -43,7 +46,7 @@ u32 v102_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const
}
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, v102_state )
+ADDRESS_MAP_START(v102_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x8000, 0x8fff) AM_RAM
@@ -51,7 +54,7 @@ static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, v102_state )
AM_RANGE(0xb800, 0xb9ff) AM_DEVREADWRITE("eeprom", eeprom_parallel_28xx_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, v102_state )
+ADDRESS_MAP_START(v102_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
//AM_RANGE(0x00, 0x3f) AM_DEVREADWRITE("vpac", crt9007_device, read, write)
AM_RANGE(0x18, 0x19) AM_WRITENOP
@@ -63,7 +66,7 @@ static ADDRESS_MAP_START( io_map, AS_IO, 8, v102_state )
//AM_RANGE(0xbf, 0xbf) ???
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kbd_map, AS_PROGRAM, 8, v102_state )
+ADDRESS_MAP_START(v102_state::kbd_map)
AM_RANGE(0x000, 0x7ff) AM_ROM AM_REGION("keyboard", 0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/v1050.cpp b/src/mame/drivers/v1050.cpp
index 9e2b8f9794f..6ce0b43f9e2 100644
--- a/src/mame/drivers/v1050.cpp
+++ b/src/mame/drivers/v1050.cpp
@@ -466,7 +466,7 @@ WRITE8_MEMBER( v1050_state::sasi_ctrl_w )
// Memory Maps
-static ADDRESS_MAP_START( v1050_mem, AS_PROGRAM, 8, v1050_state )
+ADDRESS_MAP_START(v1050_state::v1050_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_RAMBANK("bank1")
AM_RANGE(0x2000, 0x3fff) AM_RAMBANK("bank2")
@@ -475,7 +475,7 @@ static ADDRESS_MAP_START( v1050_mem, AS_PROGRAM, 8, v1050_state )
AM_RANGE(0xc000, 0xffff) AM_RAMBANK("bank5")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( v1050_io, AS_IO, 8, v1050_state )
+ADDRESS_MAP_START(v1050_state::v1050_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x84, 0x87) AM_DEVREADWRITE(I8255A_DISP_TAG, i8255_device, read, write)
@@ -496,7 +496,7 @@ static ADDRESS_MAP_START( v1050_io, AS_IO, 8, v1050_state )
AM_RANGE(0xe1, 0xe1) AM_DEVREAD("scsi_ctrl_in", input_buffer_device, read) AM_WRITE(sasi_ctrl_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( v1050_crt_mem, AS_PROGRAM, 8, v1050_state )
+ADDRESS_MAP_START(v1050_state::v1050_crt_mem)
AM_RANGE(0x0000, 0x7fff) AM_READWRITE(videoram_r, videoram_w) AM_SHARE("video_ram")
AM_RANGE(0x8000, 0x8000) AM_DEVWRITE(H46505_TAG, mc6845_device, address_w)
AM_RANGE(0x8001, 0x8001) AM_DEVREADWRITE(H46505_TAG, mc6845_device, register_r, register_w)
diff --git a/src/mame/drivers/v6809.cpp b/src/mame/drivers/v6809.cpp
index 8544ed5308c..7660d5d82d4 100644
--- a/src/mame/drivers/v6809.cpp
+++ b/src/mame/drivers/v6809.cpp
@@ -94,6 +94,7 @@ public:
MC6845_ON_UPDATE_ADDR_CHANGED(crtc_update_addr);
void v6809(machine_config &config);
+ void v6809_mem(address_map &map);
private:
uint16_t m_video_address;
bool m_speaker_en;
@@ -112,7 +113,7 @@ private:
};
-static ADDRESS_MAP_START(v6809_mem, AS_PROGRAM, 8, v6809_state)
+ADDRESS_MAP_START(v6809_state::v6809_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xefff) AM_RAM
AM_RANGE(0xf000, 0xf000) AM_MIRROR(0xfe) AM_DEVREAD("crtc", mc6845_device, status_r) AM_WRITE(v6809_address_w)
diff --git a/src/mame/drivers/vamphalf.cpp b/src/mame/drivers/vamphalf.cpp
index 61e1baf558b..0b48823d4d1 100644
--- a/src/mame/drivers/vamphalf.cpp
+++ b/src/mame/drivers/vamphalf.cpp
@@ -224,6 +224,24 @@ public:
void aoh(machine_config &config);
void coolmini(machine_config &config);
void mrkicker(machine_config &config);
+ void aoh_io(address_map &map);
+ void aoh_map(address_map &map);
+ void banked_oki_map(address_map &map);
+ void boonggab_io(address_map &map);
+ void common_32bit_map(address_map &map);
+ void common_map(address_map &map);
+ void coolmini_io(address_map &map);
+ void finalgdr_io(address_map &map);
+ void jmpbreak_io(address_map &map);
+ void misncrft_io(address_map &map);
+ void mrdig_io(address_map &map);
+ void mrkicker_io(address_map &map);
+ void mrkickera_io(address_map &map);
+ void suplup_io(address_map &map);
+ void vamphalf_io(address_map &map);
+ void wyvernwg_io(address_map &map);
+ void yorijori_32bit_map(address_map &map);
+ void yorijori_io(address_map &map);
};
READ16_MEMBER(vamphalf_state::eeprom_r)
@@ -444,28 +462,28 @@ WRITE8_MEMBER( vamphalf_state::qs1000_p3_w )
}
-static ADDRESS_MAP_START( common_map, AS_PROGRAM, 16, vamphalf_state )
+ADDRESS_MAP_START(vamphalf_state::common_map)
AM_RANGE(0x00000000, 0x001fffff) AM_RAM AM_SHARE("wram")
AM_RANGE(0x40000000, 0x4003ffff) AM_RAM AM_SHARE("tiles")
AM_RANGE(0x80000000, 0x8000ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xfff00000, 0xffffffff) AM_ROM AM_REGION("user1",0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( common_32bit_map, AS_PROGRAM, 32, vamphalf_state )
+ADDRESS_MAP_START(vamphalf_state::common_32bit_map)
AM_RANGE(0x00000000, 0x001fffff) AM_RAM AM_SHARE("wram32")
AM_RANGE(0x40000000, 0x4003ffff) AM_RAM AM_SHARE("tiles32")
AM_RANGE(0x80000000, 0x8000ffff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0xfff00000, 0xffffffff) AM_ROM AM_REGION("user1",0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( yorijori_32bit_map, AS_PROGRAM, 32, vamphalf_state )
+ADDRESS_MAP_START(vamphalf_state::yorijori_32bit_map)
AM_RANGE(0x00000000, 0x001fffff) AM_RAM AM_SHARE("wram32")
AM_RANGE(0x40000000, 0x4003ffff) AM_RAM AM_SHARE("tiles32")
AM_RANGE(0x80000000, 0x8000ffff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0xffe00000, 0xffffffff) AM_ROM AM_REGION("user1",0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vamphalf_io, AS_IO, 16, vamphalf_state )
+ADDRESS_MAP_START(vamphalf_state::vamphalf_io)
AM_RANGE(0x0c0, 0x0c1) AM_NOP // return 0, when oki chip is read / written
AM_RANGE(0x0c2, 0x0c3) AM_DEVREADWRITE8("oki1", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x140, 0x143) AM_DEVWRITE8("ymsnd", ym2151_device, register_w, 0x00ff)
@@ -477,7 +495,7 @@ static ADDRESS_MAP_START( vamphalf_io, AS_IO, 16, vamphalf_state )
AM_RANGE(0x608, 0x60b) AM_WRITE(eeprom_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( misncrft_io, AS_IO, 16, vamphalf_state )
+ADDRESS_MAP_START(vamphalf_state::misncrft_io)
AM_RANGE(0x100, 0x103) AM_WRITE(flipscreen_w)
AM_RANGE(0x200, 0x203) AM_READ_PORT("P1_P2")
AM_RANGE(0x240, 0x243) AM_READ_PORT("SYSTEM")
@@ -486,7 +504,7 @@ static ADDRESS_MAP_START( misncrft_io, AS_IO, 16, vamphalf_state )
AM_RANGE(0x580, 0x583) AM_READ(eeprom_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( coolmini_io, AS_IO, 16, vamphalf_state )
+ADDRESS_MAP_START(vamphalf_state::coolmini_io)
AM_RANGE(0x200, 0x203) AM_WRITE(flipscreen_w)
AM_RANGE(0x300, 0x303) AM_READ_PORT("SYSTEM")
AM_RANGE(0x304, 0x307) AM_READ_PORT("P1_P2")
@@ -498,12 +516,12 @@ static ADDRESS_MAP_START( coolmini_io, AS_IO, 16, vamphalf_state )
AM_RANGE(0x7c0, 0x7c3) AM_READ(eeprom_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mrkicker_io, AS_IO, 16, vamphalf_state )
+ADDRESS_MAP_START(vamphalf_state::mrkicker_io)
AM_RANGE(0x002, 0x003) AM_WRITE(mrkicker_oki_bank_w)
AM_IMPORT_FROM(coolmini_io)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( suplup_io, AS_IO, 16, vamphalf_state )
+ADDRESS_MAP_START(vamphalf_state::suplup_io)
AM_RANGE(0x020, 0x023) AM_WRITE(eeprom_w)
AM_RANGE(0x040, 0x043) AM_READ_PORT("P1_P2")
AM_RANGE(0x060, 0x063) AM_READ_PORT("SYSTEM")
@@ -514,7 +532,7 @@ static ADDRESS_MAP_START( suplup_io, AS_IO, 16, vamphalf_state )
AM_RANGE(0x100, 0x103) AM_READ(eeprom_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( wyvernwg_io, AS_IO, 32, vamphalf_state )
+ADDRESS_MAP_START(vamphalf_state::wyvernwg_io)
AM_RANGE(0x1800, 0x1803) AM_READWRITE(wyvernwg_prot_r, wyvernwg_prot_w)
AM_RANGE(0x2000, 0x2003) AM_WRITE(flipscreen32_w)
AM_RANGE(0x2800, 0x2803) AM_READ_PORT("P1_P2")
@@ -524,7 +542,7 @@ static ADDRESS_MAP_START( wyvernwg_io, AS_IO, 32, vamphalf_state )
AM_RANGE(0x7c00, 0x7c03) AM_READ(eeprom32_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( finalgdr_io, AS_IO, 32, vamphalf_state )
+ADDRESS_MAP_START(vamphalf_state::finalgdr_io)
AM_RANGE(0x2400, 0x2403) AM_READ(finalgdr_prot_r)
AM_RANGE(0x2800, 0x2803) AM_WRITE(finalgdr_backupram_bank_w)
AM_RANGE(0x2c00, 0x2dff) AM_READWRITE(finalgdr_backupram_r, finalgdr_backupram_w)
@@ -541,7 +559,7 @@ static ADDRESS_MAP_START( finalgdr_io, AS_IO, 32, vamphalf_state )
AM_RANGE(0x60a0, 0x60a3) AM_WRITE(finalgdr_oki_bank_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mrkickera_io, AS_IO, 32, vamphalf_state )
+ADDRESS_MAP_START(vamphalf_state::mrkickera_io)
AM_RANGE(0x2400, 0x2403) AM_READ(eeprom32_r)
AM_RANGE(0x4000, 0x4003) AM_READNOP //?
AM_RANGE(0x4000, 0x4003) AM_WRITE(finalgdr_eeprom_w)
@@ -557,7 +575,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( jmpbreak_io, AS_IO, 16, vamphalf_state )
+ADDRESS_MAP_START(vamphalf_state::jmpbreak_io)
AM_RANGE(0x0c0, 0x0c3) AM_NOP // ?
AM_RANGE(0x100, 0x103) AM_WRITENOP // ?
AM_RANGE(0x240, 0x243) AM_READ_PORT("P1_P2")
@@ -570,7 +588,7 @@ static ADDRESS_MAP_START( jmpbreak_io, AS_IO, 16, vamphalf_state )
AM_RANGE(0x684, 0x687) AM_DEVREADWRITE8("ymsnd", ym2151_device, status_r, data_w, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mrdig_io, AS_IO, 16, vamphalf_state )
+ADDRESS_MAP_START(vamphalf_state::mrdig_io)
AM_RANGE(0x500, 0x503) AM_READ_PORT("P1_P2")
AM_RANGE(0x3c0, 0x3c3) AM_WRITE(eeprom_w)
AM_RANGE(0x180, 0x183) AM_READ(eeprom_r)
@@ -581,7 +599,7 @@ static ADDRESS_MAP_START( mrdig_io, AS_IO, 16, vamphalf_state )
AM_RANGE(0x0c4, 0x0c7) AM_DEVREADWRITE8("ymsnd", ym2151_device, status_r, data_w, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( aoh_map, AS_PROGRAM, 32, vamphalf_state )
+ADDRESS_MAP_START(vamphalf_state::aoh_map)
AM_RANGE(0x00000000, 0x003fffff) AM_RAM AM_SHARE("wram32")
AM_RANGE(0x40000000, 0x4003ffff) AM_RAM AM_SHARE("tiles32")
AM_RANGE(0x80000000, 0x8000ffff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
@@ -590,7 +608,7 @@ static ADDRESS_MAP_START( aoh_map, AS_PROGRAM, 32, vamphalf_state )
AM_RANGE(0xffc00000, 0xffffffff) AM_ROM AM_REGION("user1",0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( aoh_io, AS_IO, 32, vamphalf_state )
+ADDRESS_MAP_START(vamphalf_state::aoh_io)
AM_RANGE(0x0480, 0x0483) AM_WRITE(eeprom32_w)
AM_RANGE(0x0620, 0x0623) AM_DEVREADWRITE8("oki2", okim6295_device, read, write, 0x0000ff00)
AM_RANGE(0x0660, 0x0663) AM_DEVREADWRITE8("oki_1", okim6295_device, read, write, 0x0000ff00)
@@ -598,7 +616,7 @@ static ADDRESS_MAP_START( aoh_io, AS_IO, 32, vamphalf_state )
AM_RANGE(0x0680, 0x0683) AM_WRITE(aoh_oki_bank_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( boonggab_io, AS_IO, 16, vamphalf_state )
+ADDRESS_MAP_START(vamphalf_state::boonggab_io)
AM_RANGE(0x0c0, 0x0c3) AM_READ(eeprom_r)
AM_RANGE(0x200, 0x203) AM_NOP // seems unused
AM_RANGE(0x300, 0x303) AM_WRITE(flipscreen_w)
@@ -614,10 +632,10 @@ static ADDRESS_MAP_START( boonggab_io, AS_IO, 16, vamphalf_state )
AM_RANGE(0x744, 0x747) AM_DEVREADWRITE8("ymsnd", ym2151_device, status_r, data_w, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( yorijori_io, AS_IO, 32, vamphalf_state )
+ADDRESS_MAP_START(vamphalf_state::yorijori_io)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( banked_oki_map, 0, 8, vamphalf_state )
+ADDRESS_MAP_START(vamphalf_state::banked_oki_map)
AM_RANGE(0x00000, 0x1ffff) AM_ROM
AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK("okibank")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/vaportra.cpp b/src/mame/drivers/vaportra.cpp
index 03fd01cb5bc..7f1ac4dc098 100644
--- a/src/mame/drivers/vaportra.cpp
+++ b/src/mame/drivers/vaportra.cpp
@@ -70,7 +70,7 @@ READ16_MEMBER(vaportra_state::vaportra_control_r)
/******************************************************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, vaportra_state )
+ADDRESS_MAP_START(vaportra_state::main_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x100003) AM_WRITE(vaportra_priority_w)
AM_RANGE(0x100006, 0x100007) AM_WRITE(vaportra_sound_w)
@@ -98,7 +98,7 @@ READ8_MEMBER(vaportra_state::vaportra_soundlatch_r)
return m_soundlatch->read(space, offset);
}
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, vaportra_state )
+ADDRESS_MAP_START(vaportra_state::sound_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ym2", ym2151_device, read, write)
diff --git a/src/mame/drivers/vastar.cpp b/src/mame/drivers/vastar.cpp
index 72894f6c460..fcffdf37afa 100644
--- a/src/mame/drivers/vastar.cpp
+++ b/src/mame/drivers/vastar.cpp
@@ -140,7 +140,7 @@ WRITE_LINE_MEMBER(vastar_state::nmi_mask_w)
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, vastar_state )
+ADDRESS_MAP_START(vastar_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM_WRITE(bg2videoram_w) AM_SHARE("bg2videoram") AM_MIRROR(0x2000)
AM_RANGE(0x9000, 0x9fff) AM_RAM_WRITE(bg1videoram_w) AM_SHARE("bg1videoram") AM_MIRROR(0x2000)
@@ -150,13 +150,13 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, vastar_state )
AM_RANGE(0xf000, 0xf7ff) AM_RAM AM_SHARE("sharedram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_port_map, AS_IO, 8, vastar_state )
+ADDRESS_MAP_START(vastar_state::main_port_map)
ADDRESS_MAP_GLOBAL_MASK(0x0f)
AM_RANGE(0x00, 0x07) AM_DEVWRITE("mainlatch", ls259_device, write_d0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpu2_map, AS_PROGRAM, 8, vastar_state )
+ADDRESS_MAP_START(vastar_state::cpu2_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM AM_SHARE("sharedram")
AM_RANGE(0x8000, 0x8000) AM_READ_PORT("P2")
@@ -164,7 +164,7 @@ static ADDRESS_MAP_START( cpu2_map, AS_PROGRAM, 8, vastar_state )
AM_RANGE(0x8080, 0x8080) AM_READ_PORT("SYSTEM")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpu2_port_map, AS_IO, 8, vastar_state )
+ADDRESS_MAP_START(vastar_state::cpu2_port_map)
ADDRESS_MAP_GLOBAL_MASK(0x0f)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
AM_RANGE(0x02, 0x02) AM_DEVREAD("aysnd", ay8910_device, data_r)
diff --git a/src/mame/drivers/vax11.cpp b/src/mame/drivers/vax11.cpp
index 6d27e229fc9..af30b8493d5 100644
--- a/src/mame/drivers/vax11.cpp
+++ b/src/mame/drivers/vax11.cpp
@@ -92,6 +92,7 @@ public:
uint8_t m_term_data;
uint16_t m_term_status;
void vax11(machine_config &config);
+ void vax11_mem(address_map &map);
};
WRITE16_MEMBER(vax11_state::term_w)
@@ -115,7 +116,7 @@ READ16_MEMBER(vax11_state::term_rx_status_r)
return m_term_status;
}
-static ADDRESS_MAP_START(vax11_mem, AS_PROGRAM, 16, vax11_state)
+ADDRESS_MAP_START(vax11_state::vax11_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0xbfff ) AM_RAM // RAM
AM_RANGE( 0xc000, 0xd7ff ) AM_ROM
diff --git a/src/mame/drivers/vball.cpp b/src/mame/drivers/vball.cpp
index 6f749d1ae47..38abc99d6aa 100644
--- a/src/mame/drivers/vball.cpp
+++ b/src/mame/drivers/vball.cpp
@@ -197,7 +197,7 @@ WRITE8_MEMBER(vball_state::scrollx_lo_w)
//Cheaters note: Scores are stored in ram @ 0x57-0x58 (though the space is used for other things between matches)
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, vball_state )
+ADDRESS_MAP_START(vball_state::main_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x0800, 0x08ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x1000, 0x1000) AM_READ_PORT("P1")
@@ -219,7 +219,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, vball_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, vball_state )
+ADDRESS_MAP_START(vball_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
diff --git a/src/mame/drivers/vboy.cpp b/src/mame/drivers/vboy.cpp
index cd27537f9d3..131e4936697 100644
--- a/src/mame/drivers/vboy.cpp
+++ b/src/mame/drivers/vboy.cpp
@@ -226,6 +226,8 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(timer_pad_tick);
TIMER_DEVICE_CALLBACK_MEMBER(vboy_scanlineL);
void vboy(machine_config &config);
+ void vboy_io(address_map &map);
+ void vboy_mem(address_map &map);
};
@@ -1092,7 +1094,7 @@ WRITE8_MEMBER( vboy_state::rfb0_w ) { m_r_frame_0[offset] = data; }
WRITE8_MEMBER( vboy_state::rfb1_w ) { m_r_frame_1[offset] = data; }
-static ADDRESS_MAP_START( vboy_mem, AS_PROGRAM, 32, vboy_state )
+ADDRESS_MAP_START(vboy_state::vboy_mem)
ADDRESS_MAP_GLOBAL_MASK(0x07ffffff)
AM_RANGE( 0x00000000, 0x00005fff ) AM_READWRITE8(lfb0_r, lfb0_w,0xffffffff) // L frame buffer 0
AM_RANGE( 0x00006000, 0x00007fff ) AM_READWRITE16(font0_r, font0_w, 0xffffffff) // Font 0-511
@@ -1121,7 +1123,7 @@ static ADDRESS_MAP_START( vboy_mem, AS_PROGRAM, 32, vboy_state )
// AM_RANGE( 0x07000000, 0x071fffff ) AM_MIRROR(0x0e00000) AM_DEVREAD("cartslot", vboy_cart_slot_device, read_cart) /* ROM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vboy_io, AS_IO, 32, vboy_state )
+ADDRESS_MAP_START(vboy_state::vboy_io)
ADDRESS_MAP_GLOBAL_MASK(0x07ffffff)
AM_RANGE( 0x00000000, 0x00005fff ) AM_RAM AM_SHARE("l_frame_0") // L frame buffer 0
AM_RANGE( 0x00006000, 0x00007fff ) AM_READWRITE16(font0_r, font0_w, 0xffffffff) // Font 0-511
diff --git a/src/mame/drivers/vc4000.cpp b/src/mame/drivers/vc4000.cpp
index cc0a3c05bf5..748dc74391a 100644
--- a/src/mame/drivers/vc4000.cpp
+++ b/src/mame/drivers/vc4000.cpp
@@ -184,7 +184,7 @@ READ8_MEMBER( vc4000_state::elektor_cass_r )
return (m_cassette->input() > 0.03) ? 0xff : 0x7f;
}
-static ADDRESS_MAP_START( vc4000_mem, AS_PROGRAM, 8, vc4000_state )
+ADDRESS_MAP_START(vc4000_state::vc4000_mem)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x1fff)
AM_RANGE(0x0000, 0x07ff) AM_ROM
@@ -192,7 +192,7 @@ static ADDRESS_MAP_START( vc4000_mem, AS_PROGRAM, 8, vc4000_state )
AM_RANGE(0x1700, 0x17ff) AM_READWRITE(vc4000_video_r, vc4000_video_w) AM_MIRROR(0x0800)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(elektor_mem, AS_PROGRAM, 8, vc4000_state)
+ADDRESS_MAP_START(vc4000_state::elektor_mem)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x1fff)
AM_RANGE(0x0000, 0x07ff) AM_ROM
diff --git a/src/mame/drivers/vcombat.cpp b/src/mame/drivers/vcombat.cpp
index 0f131cd054c..f9a1432d416 100644
--- a/src/mame/drivers/vcombat.cpp
+++ b/src/mame/drivers/vcombat.cpp
@@ -140,6 +140,10 @@ public:
required_device<dac_word_interface> m_dac;
void shadfgtr(machine_config &config);
void vcombat(machine_config &config);
+ void main_map(address_map &map);
+ void sound_map(address_map &map);
+ void vid_0_map(address_map &map);
+ void vid_1_map(address_map &map);
};
uint32_t vcombat_state::update_screen(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect, int index)
@@ -351,7 +355,7 @@ WRITE16_MEMBER(vcombat_state::vcombat_dac_w)
fprintf(stderr, "dac overflow %04x\n", data & 0x801f);
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, vcombat_state )
+ADDRESS_MAP_START(vcombat_state::main_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM
AM_RANGE(0x300000, 0x30ffff) AM_WRITE(main_video_write)
@@ -386,7 +390,7 @@ ADDRESS_MAP_END
/* The first i860 - middle board */
-static ADDRESS_MAP_START( vid_0_map, AS_PROGRAM, 64, vcombat_state )
+ADDRESS_MAP_START(vcombat_state::vid_0_map)
AM_RANGE(0x00000000, 0x0001ffff) AM_RAM_WRITE(v0_fb_w) /* Shared framebuffer - half of the bits lost to 32-bit bus */
AM_RANGE(0x20000000, 0x20000007) AM_RAM AM_SHARE("share6") /* M0<-P0 com 1 (0x440000 in 68k-land) */
AM_RANGE(0x40000000, 0x401fffff) AM_ROM AM_REGION("gfx", 0)
@@ -397,7 +401,7 @@ ADDRESS_MAP_END
/* The second i860 - top board */
-static ADDRESS_MAP_START( vid_1_map, AS_PROGRAM, 64, vcombat_state )
+ADDRESS_MAP_START(vcombat_state::vid_1_map)
AM_RANGE(0x00000000, 0x0001ffff) AM_RAM_WRITE(v1_fb_w) /* Half of the bits lost to 32-bit bus */
AM_RANGE(0x20000000, 0x20000007) AM_RAM AM_SHARE("share8") /* M0->P1 com 1 (0x540000 in 68k-land) */
AM_RANGE(0x40000000, 0x401fffff) AM_ROM AM_REGION("gfx", 0)
@@ -408,7 +412,7 @@ ADDRESS_MAP_END
/* Sound CPU */
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 16, vcombat_state )
+ADDRESS_MAP_START(vcombat_state::sound_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x08ffff) AM_RAM
AM_RANGE(0x0c0000, 0x0c0001) AM_WRITE(vcombat_dac_w)
diff --git a/src/mame/drivers/vcs80.cpp b/src/mame/drivers/vcs80.cpp
index 867dc327b40..6a7e27515e6 100644
--- a/src/mame/drivers/vcs80.cpp
+++ b/src/mame/drivers/vcs80.cpp
@@ -65,16 +65,16 @@ WRITE8_MEMBER( vcs80_state::pio_w )
/* Memory Maps */
-static ADDRESS_MAP_START( vcs80_bd_mem, AS_PROGRAM, 8, vcs80_state )
+ADDRESS_MAP_START(vcs80_state::vcs80_bd_mem)
AM_RANGE(0x0000, 0x01ff) AM_ROM AM_REGION(Z80_TAG, 0)
AM_RANGE(0x0400, 0x07ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vcs80_mem, AS_PROGRAM, 8, vcs80_state )
+ADDRESS_MAP_START(vcs80_state::vcs80_mem)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(mem_r, mem_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vcs80_io, AS_IO, 8, vcs80_state )
+ADDRESS_MAP_START(vcs80_state::vcs80_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0xff) AM_READWRITE(io_r, io_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/vd.cpp b/src/mame/drivers/vd.cpp
index a6ce710f581..371711fbfb3 100644
--- a/src/mame/drivers/vd.cpp
+++ b/src/mame/drivers/vd.cpp
@@ -40,6 +40,8 @@ public:
DECLARE_WRITE8_MEMBER(sol_w) { };
TIMER_DEVICE_CALLBACK_MEMBER(irq);
void vd(machine_config &config);
+ void vd_io(address_map &map);
+ void vd_map(address_map &map);
protected:
// devices
@@ -59,13 +61,13 @@ READ8_MEMBER(vd_state::ack_r)
return 0; // this value is not used
}
-static ADDRESS_MAP_START( vd_map, AS_PROGRAM, 8, vd_state )
+ADDRESS_MAP_START(vd_state::vd_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x62ff) AM_RAM
AM_RANGE(0x6700, 0x67ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vd_io, AS_IO, 8, vd_state )
+ADDRESS_MAP_START(vd_state::vd_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("X0")
AM_RANGE(0x01, 0x01) AM_READ_PORT("X1")
diff --git a/src/mame/drivers/vector06.cpp b/src/mame/drivers/vector06.cpp
index 9baf9a275fd..517ee4a32ef 100644
--- a/src/mame/drivers/vector06.cpp
+++ b/src/mame/drivers/vector06.cpp
@@ -27,26 +27,25 @@ TODO:
#include "includes/vector06.h"
#include "formats/vector06_dsk.h"
-#include "machine/i8255.h"
-#include "machine/pit8253.h"
#include "sound/wave.h"
#include "screen.h"
#include "softlist.h"
#include "speaker.h"
/* Address maps */
-static ADDRESS_MAP_START(vector06_mem, AS_PROGRAM, 8, vector06_state)
+ADDRESS_MAP_START(vector06_state::vector06_mem)
AM_RANGE(0x0000, 0xffff) AM_READWRITE_BANK("bank1")
AM_RANGE(0x0000, 0x7fff) AM_READ_BANK("bank2")
AM_RANGE(0xa000, 0xdfff) AM_READWRITE_BANK("bank3")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(vector06_io, AS_IO, 8, vector06_state)
+ADDRESS_MAP_START(vector06_state::vector06_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE(0x00, 0x03) AM_DEVREADWRITE_MOD("ppi8255", i8255_device, read, write, xor<3>)
- AM_RANGE(0x04, 0x07) AM_DEVREADWRITE_MOD("ppi8255_2", i8255_device, read, write, xor<3>)
- AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE_MOD("pit8253", pit8253_device, read, write, xor<3>)
+ ;
+ map(0x00, 0x03).lrw8("ppi8255_rw", [this](address_space &space, offs_t offset, u8 mem_mask) -> u8 { return m_ppi8255->read(space, offset^3, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask) { m_ppi8255->write(space, offset^3, data, mem_mask); });
+ map(0x04, 0x07).lrw8("ppi8255_2_rw", [this](address_space &space, offs_t offset, u8 mem_mask) -> u8 { return m_ppi8255_2->read(space, offset^3, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask) { m_ppi8255_2->write(space, offset^3, data, mem_mask); });
+ map(0x08, 0x0b).lrw8("pit8253_rw", [this](address_space &space, offs_t offset, u8 mem_mask) -> u8 { return m_pit8253->read(space, offset^3, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask) { m_pit8253->write(space, offset^3, data, mem_mask); });
AM_RANGE(0x0c, 0x0c) AM_WRITE(vector06_color_set)
AM_RANGE(0x10, 0x10) AM_WRITE(vector06_ramdisk_w)
AM_RANGE(0x14, 0x15) AM_DEVREADWRITE("aysnd", ay8910_device, data_r, data_address_w)
diff --git a/src/mame/drivers/vector4.cpp b/src/mame/drivers/vector4.cpp
index 9b86580b939..382458ae40d 100644
--- a/src/mame/drivers/vector4.cpp
+++ b/src/mame/drivers/vector4.cpp
@@ -25,13 +25,15 @@ public:
void vector4(machine_config &config);
+ void vector4_io(address_map &map);
+ void vector4_mem(address_map &map);
private:
virtual void machine_reset() override;
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START(vector4_mem, AS_PROGRAM, 8, vector4_state)
+ADDRESS_MAP_START(vector4_state::vector4_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xefff) AM_ROM
@@ -40,7 +42,7 @@ static ADDRESS_MAP_START(vector4_mem, AS_PROGRAM, 8, vector4_state)
AM_RANGE(0xfc00, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(vector4_io, AS_IO, 8, vector4_state)
+ADDRESS_MAP_START(vector4_state::vector4_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x02, 0x02) AM_DEVREADWRITE("uart1", i8251_device, data_r, data_w)
diff --git a/src/mame/drivers/vectrex.cpp b/src/mame/drivers/vectrex.cpp
index 06c725b4d2b..9a54f86ee9e 100644
--- a/src/mame/drivers/vectrex.cpp
+++ b/src/mame/drivers/vectrex.cpp
@@ -24,7 +24,7 @@ Bruce Tomlin (hardware info)
#include "speaker.h"
-static ADDRESS_MAP_START(vectrex_map, AS_PROGRAM, 8, vectrex_state )
+ADDRESS_MAP_START(vectrex_state::vectrex_map)
AM_RANGE(0x0000, 0x7fff) AM_NOP // cart area, handled at machine_start
AM_RANGE(0xc800, 0xcbff) AM_RAM AM_MIRROR(0x0400) AM_SHARE("gce_vectorram")
AM_RANGE(0xd000, 0xd7ff) AM_READWRITE(vectrex_via_r, vectrex_via_w)
@@ -187,7 +187,7 @@ ROM_END
*****************************************************************/
-static ADDRESS_MAP_START(raaspec_map , AS_PROGRAM, 8, vectrex_state )
+ADDRESS_MAP_START(vectrex_state::raaspec_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xa000, 0xa000) AM_WRITE(raaspec_led_w)
diff --git a/src/mame/drivers/vectrix.cpp b/src/mame/drivers/vectrix.cpp
index e7b0c95bf47..fc4fb33e93b 100644
--- a/src/mame/drivers/vectrix.cpp
+++ b/src/mame/drivers/vectrix.cpp
@@ -27,17 +27,19 @@ public:
{ }
void vectrix(machine_config &config);
+void io_map(address_map &map);
+void mem_map(address_map &map);
private:
// required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, vectrix_state )
+ADDRESS_MAP_START(vectrix_state::mem_map)
AM_RANGE(0x00000,0x07fff) AM_RAM
AM_RANGE(0x0c000,0x0ffff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0xfc000,0xfffff) AM_ROM AM_REGION("roms", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_PROGRAM, 8, vectrix_state )
+ADDRESS_MAP_START(vectrix_state::io_map)
AM_RANGE(0x3000, 0x3000) AM_DEVREADWRITE("uart1", i8251_device, data_r, data_w)
AM_RANGE(0x3001, 0x3001) AM_DEVREADWRITE("uart1", i8251_device, status_r, control_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/vega.cpp b/src/mame/drivers/vega.cpp
index fe75b923943..90662bcb5d3 100644
--- a/src/mame/drivers/vega.cpp
+++ b/src/mame/drivers/vega.cpp
@@ -169,6 +169,8 @@ public:
void draw_tilemap(screen_device& screen, bitmap_ind16& bitmap, const rectangle& cliprect);
uint32_t screen_update_vega(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void vega(machine_config &config);
+ void vega_io_map(address_map &map);
+ void vega_map(address_map &map);
};
WRITE8_MEMBER(vega_state::extern_w)
@@ -386,12 +388,12 @@ WRITE8_MEMBER(vega_state::rombank_w)
membank("bank1")->set_entry(data >>7);
}
-static ADDRESS_MAP_START( vega_map, AS_PROGRAM, 8, vega_state )
+ADDRESS_MAP_START(vega_state::vega_map)
AM_RANGE(0x000, 0x7ff) AM_ROMBANK("bank1")
AM_RANGE(0x800, 0xfff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vega_io_map, AS_IO, 8, vega_state )
+ADDRESS_MAP_START(vega_state::vega_io_map)
AM_RANGE(0x00, 0xff) AM_READWRITE(extern_r, extern_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/vegaeo.cpp b/src/mame/drivers/vegaeo.cpp
index a2f29a891c8..cc40a6535cd 100644
--- a/src/mame/drivers/vegaeo.cpp
+++ b/src/mame/drivers/vegaeo.cpp
@@ -50,6 +50,7 @@ public:
uint32_t screen_update_vega(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void vega(machine_config &config);
+ void vega_map(address_map &map);
};
READ8_MEMBER( vegaeo_state::qs1000_p1_r )
@@ -135,7 +136,7 @@ WRITE32_MEMBER(vegaeo_state::soundlatch_w)
}
-static ADDRESS_MAP_START( vega_map, AS_PROGRAM, 32, vegaeo_state )
+ADDRESS_MAP_START(vegaeo_state::vega_map)
AM_RANGE(0x00000000, 0x001fffff) AM_RAM
AM_RANGE(0x80000000, 0x80013fff) AM_READWRITE(vega_vram_r, vega_vram_w)
AM_RANGE(0xfc000000, 0xfc0000ff) AM_DEVREADWRITE8("at28c16", at28c16_device, read, write, 0x000000ff)
diff --git a/src/mame/drivers/vegas.cpp b/src/mame/drivers/vegas.cpp
index c3017e6d098..d20808b4398 100644
--- a/src/mame/drivers/vegas.cpp
+++ b/src/mame/drivers/vegas.cpp
@@ -432,6 +432,13 @@ public:
void nbagold(machine_config &config);
void roadburn(machine_config &config);
void warfa(machine_config &config);
+ void vegas_cs2_map(address_map &map);
+ void vegas_cs3_map(address_map &map);
+ void vegas_cs4_map(address_map &map);
+ void vegas_cs5_map(address_map &map);
+ void vegas_cs6_map(address_map &map);
+ void vegas_cs7_map(address_map &map);
+ void vegas_cs8_map(address_map &map);
};
/*************************************
@@ -1652,25 +1659,25 @@ INPUT_PORTS_END
* Memory maps
*
*************************************/
-static ADDRESS_MAP_START(vegas_cs2_map, AS_PROGRAM, 32, vegas_state)
+ADDRESS_MAP_START(vegas_state::vegas_cs2_map)
AM_RANGE(0x00000000, 0x00007003) AM_READWRITE8(sio_r, sio_w, 0xffffffff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(vegas_cs3_map, AS_PROGRAM, 32, vegas_state)
+ADDRESS_MAP_START(vegas_state::vegas_cs3_map)
AM_RANGE(0x00000000, 0x00000003) AM_READWRITE(analog_port_r, analog_port_w)
//AM_RANGE(0x00001000, 0x00001003) AM_READWRITE(lcd_r, lcd_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(vegas_cs4_map, AS_PROGRAM, 32, vegas_state)
+ADDRESS_MAP_START(vegas_state::vegas_cs4_map)
AM_RANGE(0x00000000, 0x00007fff) AM_READWRITE(timekeeper_r, timekeeper_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(vegas_cs5_map, AS_PROGRAM, 32, vegas_state)
+ADDRESS_MAP_START(vegas_state::vegas_cs5_map)
AM_RANGE(0x00000000, 0x00000003) AM_READWRITE8(cpu_io_r, cpu_io_w, 0xffffffff)
AM_RANGE(0x00100000, 0x001fffff) AM_READ(unknown_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(vegas_cs6_map, AS_PROGRAM, 32, vegas_state)
+ADDRESS_MAP_START(vegas_state::vegas_cs6_map)
AM_RANGE(0x00000000, 0x0000003f) AM_DEVREADWRITE("ioasic", midway_ioasic_device, packed_r, packed_w)
AM_RANGE(0x00001000, 0x00001003) AM_WRITE(asic_fifo_w)
AM_RANGE(0x00003000, 0x00003003) AM_WRITE(dcs3_fifo_full_w) // if (m_dcs_idma_cs != 0)
@@ -1678,14 +1685,14 @@ static ADDRESS_MAP_START(vegas_cs6_map, AS_PROGRAM, 32, vegas_state)
AM_RANGE(0x00007000, 0x00007003) AM_DEVREADWRITE("dcs", dcs_audio_device, dsio_idma_data_r, dsio_idma_data_w) // if (m_dcs_idma_cs == 6)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(vegas_cs7_map, AS_PROGRAM, 32, vegas_state)
+ADDRESS_MAP_START(vegas_state::vegas_cs7_map)
//AM_RANGE(0x00000000, 0x00000003) AM_READWRITE8(nss_r, nss_w, 0xffffffff)
AM_RANGE(0x00001000, 0x0000100f) AM_READWRITE(ethernet_r, ethernet_w)
AM_RANGE(0x00005000, 0x00005003) AM_DEVWRITE("dcs", dcs_audio_device, dsio_idma_addr_w) // if (m_dcs_idma_cs == 7)
AM_RANGE(0x00007000, 0x00007003) AM_DEVREADWRITE("dcs", dcs_audio_device, dsio_idma_data_r, dsio_idma_data_w) // if (m_dcs_idma_cs == 7)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(vegas_cs8_map, AS_PROGRAM, 32, vegas_state)
+ADDRESS_MAP_START(vegas_state::vegas_cs8_map)
AM_RANGE(0x01000000, 0x0100001f) AM_DEVREADWRITE8("uart1", ns16550_device, ins8250_r, ins8250_w, 0xff) // Serial ttyS01 (TL16C552 CS0)
AM_RANGE(0x01400000, 0x0140001f) AM_DEVREADWRITE8("uart2", ns16550_device, ins8250_r, ins8250_w, 0xff) // Serial ttyS02 (TL16C552 CS1)
AM_RANGE(0x01800000, 0x0180001f) AM_READWRITE8(parallel_r, parallel_w, 0xff) // Parallel UART (TL16C552 CS2)
@@ -1711,12 +1718,12 @@ MACHINE_CONFIG_START(vegas_state::vegascore)
MCFG_VRC5074_ADD(PCI_ID_NILE, ":maincpu")
MCFG_VRC5074_SET_SDRAM(0, 0x00800000)
- MCFG_VRC5074_SET_CS(2, vegas_cs2_map)
- MCFG_VRC5074_SET_CS(3, vegas_cs3_map)
- MCFG_VRC5074_SET_CS(4, vegas_cs4_map)
- MCFG_VRC5074_SET_CS(5, vegas_cs5_map)
- MCFG_VRC5074_SET_CS(6, vegas_cs6_map)
- MCFG_VRC5074_SET_CS(7, vegas_cs7_map)
+ MCFG_VRC5074_SET_CS(2, vegas_state::vegas_cs2_map)
+ MCFG_VRC5074_SET_CS(3, vegas_state::vegas_cs3_map)
+ MCFG_VRC5074_SET_CS(4, vegas_state::vegas_cs4_map)
+ MCFG_VRC5074_SET_CS(5, vegas_state::vegas_cs5_map)
+ MCFG_VRC5074_SET_CS(6, vegas_state::vegas_cs6_map)
+ MCFG_VRC5074_SET_CS(7, vegas_state::vegas_cs7_map)
MCFG_IDE_PCI_ADD(PCI_ID_IDE, 0x10950646, 0x05, 0x0)
MCFG_IDE_PCI_IRQ_HANDLER(DEVWRITELINE(PCI_ID_NILE, vrc5074_device, pci_intr_d))
@@ -1794,7 +1801,7 @@ MACHINE_CONFIG_DERIVED(vegas_state::denver, vegascore)
MCFG_DEVICE_MODIFY(PCI_ID_NILE)
MCFG_VRC5074_SET_SDRAM(0, 0x02000000)
- MCFG_VRC5074_SET_CS(8, vegas_cs8_map)
+ MCFG_VRC5074_SET_CS(8, vegas_state::vegas_cs8_map)
MCFG_DEVICE_REMOVE(PCI_ID_VIDEO)
MCFG_VOODOO_PCI_ADD(PCI_ID_VIDEO, TYPE_VOODOO_3, ":maincpu")
diff --git a/src/mame/drivers/vendetta.cpp b/src/mame/drivers/vendetta.cpp
index c0a0693595d..cfece5a39ec 100644
--- a/src/mame/drivers/vendetta.cpp
+++ b/src/mame/drivers/vendetta.cpp
@@ -199,7 +199,7 @@ READ8_MEMBER(vendetta_state::z80_irq_r)
/********************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, vendetta_state )
+ADDRESS_MAP_START(vendetta_state::main_map)
AM_RANGE(0x0000, 0x1fff) AM_ROMBANK("bank1")
AM_RANGE(0x2000, 0x3fff) AM_RAM
@@ -227,7 +227,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, vendetta_state )
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("maincpu", 0x38000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( esckids_map, AS_PROGRAM, 8, vendetta_state )
+ADDRESS_MAP_START(vendetta_state::esckids_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM // 053248 64K SRAM
/* what is the desired effect of overlapping these memory regions anyway? */
AM_RANGE(0x2000, 0x5fff) AM_DEVREADWRITE("k052109", k052109_device, read, write) // 052109 (Tilemap)
@@ -253,17 +253,17 @@ static ADDRESS_MAP_START( esckids_map, AS_PROGRAM, 8, vendetta_state )
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("maincpu", 0x18000) // 053248 '975r01' 1M ROM (0x18000-0x1ffff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( videobank0_map, AS_PROGRAM, 8, vendetta_state )
+ADDRESS_MAP_START(vendetta_state::videobank0_map)
AM_RANGE(0x0000, 0x0fff) AM_DEVREADWRITE("k052109", k052109_device, read, write)
AM_RANGE(0x1000, 0x1fff) AM_DEVREADWRITE("k053246", k053247_device, k053247_r, k053247_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( videobank1_map, AS_PROGRAM, 8, vendetta_state )
+ADDRESS_MAP_START(vendetta_state::videobank1_map)
AM_RANGE(0x0000, 0x0fff) AM_READWRITE(K052109_r, K052109_w)
AM_RANGE(0x1000, 0x1fff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, vendetta_state )
+ADDRESS_MAP_START(vendetta_state::sound_map)
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xf801) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
diff --git a/src/mame/drivers/vertigo.cpp b/src/mame/drivers/vertigo.cpp
index 74207a0a84f..c64c1a77c37 100644
--- a/src/mame/drivers/vertigo.cpp
+++ b/src/mame/drivers/vertigo.cpp
@@ -35,7 +35,7 @@
*
*************************************/
-static ADDRESS_MAP_START( vertigo_map, AS_PROGRAM, 16, vertigo_state )
+ADDRESS_MAP_START(vertigo_state::vertigo_map)
AM_RANGE(0x000000, 0x000007) AM_ROM
AM_RANGE(0x000008, 0x001fff) AM_RAM AM_MIRROR(0x010000)
AM_RANGE(0x002000, 0x003fff) AM_RAM AM_SHARE("vectorram")
@@ -52,7 +52,7 @@ static ADDRESS_MAP_START( vertigo_map, AS_PROGRAM, 16, vertigo_state )
AM_RANGE(0x800000, 0x81ffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( exidy440_audio_map, AS_PROGRAM, 8, exidy440_sound_device )
+ADDRESS_MAP_START(vertigo_state::exidy440_audio_map)
AM_RANGE(0x0000, 0x7fff) AM_NOP
AM_RANGE(0x8000, 0x801f) AM_MIRROR(0x03e0) AM_DEVREADWRITE("custom", exidy440_sound_device, m6844_r, m6844_w)
AM_RANGE(0x8400, 0x840f) AM_MIRROR(0x03f0) AM_DEVREADWRITE("custom", exidy440_sound_device, sound_volume_r, sound_volume_w)
@@ -74,7 +74,7 @@ ADDRESS_MAP_END
*************************************/
#if 0
-static ADDRESS_MAP_START( vertigo_motor, AS_PROGRAM, 8, vertigo_state )
+ADDRESS_MAP_START(vertigo_state::vertigo_motor)
AM_RANGE(0x010, 0x07f) AM_RAM
AM_RANGE(0x080, 0x7ff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/vg5k.cpp b/src/mame/drivers/vg5k.cpp
index 8429ec4a871..74bb0dae6e4 100644
--- a/src/mame/drivers/vg5k.cpp
+++ b/src/mame/drivers/vg5k.cpp
@@ -103,6 +103,8 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(z80_irq);
TIMER_DEVICE_CALLBACK_MEMBER(vg5k_scanline);
void vg5k(machine_config &config);
+ void vg5k_io(address_map &map);
+ void vg5k_mem(address_map &map);
};
@@ -157,14 +159,14 @@ WRITE8_MEMBER ( vg5k_state::cassette_w )
}
-static ADDRESS_MAP_START( vg5k_mem, AS_PROGRAM, 8, vg5k_state)
+ADDRESS_MAP_START(vg5k_state::vg5k_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x3fff ) AM_ROM
AM_RANGE( 0x4000, 0x7fff ) AM_RAM
AM_RANGE( 0x8000, 0xffff ) AM_NOP /* messram expansion memory */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vg5k_io , AS_IO, 8, vg5k_state)
+ADDRESS_MAP_START(vg5k_state::vg5k_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK (0xff)
diff --git a/src/mame/drivers/vgmplay.cpp b/src/mame/drivers/vgmplay.cpp
index 1c4c361c0ca..a662cc6a1a3 100644
--- a/src/mame/drivers/vgmplay.cpp
+++ b/src/mame/drivers/vgmplay.cpp
@@ -185,6 +185,22 @@ public:
DECLARE_WRITE8_MEMBER(scc_w);
void vgmplay(machine_config &config);
+ void c352_map(address_map &map);
+ void file_map(address_map &map);
+ void h6280_io_map(address_map &map);
+ void h6280_map(address_map &map);
+ void k053260_map(address_map &map);
+ void k054539a_map(address_map &map);
+ void k054539b_map(address_map &map);
+ void multipcma_map(address_map &map);
+ void multipcmb_map(address_map &map);
+ void nescpu_map(address_map &map);
+ void okim6295a_map(address_map &map);
+ void okim6295b_map(address_map &map);
+ void qsound_map(address_map &map);
+ void segapcm_map(address_map &map);
+ void soundchips16_map(address_map &map);
+ void soundchips_map(address_map &map);
private:
std::vector<uint8_t> m_file_data;
required_device<bitbanger_device> m_file;
@@ -1454,15 +1470,15 @@ WRITE8_MEMBER(vgmplay_state::scc_w)
static INPUT_PORTS_START( vgmplay )
INPUT_PORTS_END
-static ADDRESS_MAP_START( file_map, AS_PROGRAM, 8, vgmplay_state )
+ADDRESS_MAP_START(vgmplay_state::file_map)
AM_RANGE(0x00000000, 0xffffffff) AM_READ(file_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( soundchips16_map, AS_IO16, 16, vgmplay_state )
+ADDRESS_MAP_START(vgmplay_state::soundchips16_map)
AM_RANGE(vgmplay_device::A_C352, vgmplay_device::A_C352+0x7fff) AM_DEVWRITE ("c352", c352_device, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( soundchips_map, AS_IO, 8, vgmplay_state )
+ADDRESS_MAP_START(vgmplay_state::soundchips_map)
AM_RANGE(vgmplay_device::REG_SIZE, vgmplay_device::REG_SIZE+3) AM_READ(file_size_r)
AM_RANGE(vgmplay_device::A_YM2612, vgmplay_device::A_YM2612+3) AM_DEVWRITE ("ym2612", ym2612_device, write)
AM_RANGE(vgmplay_device::A_YM2151, vgmplay_device::A_YM2151+1) AM_DEVWRITE ("ym2151", ym2151_device, write)
@@ -1513,55 +1529,55 @@ static ADDRESS_MAP_START( soundchips_map, AS_IO, 8, vgmplay_state )
AM_RANGE(vgmplay_device::A_K051649, vgmplay_device::A_K051649+0xf) AM_WRITE (scc_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( segapcm_map, 0, 8, vgmplay_state )
+ADDRESS_MAP_START(vgmplay_state::segapcm_map)
AM_RANGE(0, 0x1fffff) AM_DEVREAD("vgmplay", vgmplay_device, segapcm_rom_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( multipcma_map, 0, 8, vgmplay_state )
+ADDRESS_MAP_START(vgmplay_state::multipcma_map)
AM_RANGE(0, 0x3fffff) AM_DEVREAD("vgmplay", vgmplay_device, multipcm_rom_r<0>)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( multipcmb_map, 0, 8, vgmplay_state )
+ADDRESS_MAP_START(vgmplay_state::multipcmb_map)
AM_RANGE(0, 0x3fffff) AM_DEVREAD("vgmplay", vgmplay_device, multipcm_rom_r<1>)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( k053260_map, 0, 8, vgmplay_state )
+ADDRESS_MAP_START(vgmplay_state::k053260_map)
AM_RANGE(0, 0x1fffff) AM_DEVREAD("vgmplay", vgmplay_device, k053260_rom_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( okim6295a_map, 0, 8, vgmplay_state )
+ADDRESS_MAP_START(vgmplay_state::okim6295a_map)
AM_RANGE(0, 0x3ffff) AM_DEVREAD("vgmplay", vgmplay_device, okim6295_rom_r<0>)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( okim6295b_map, 0, 8, vgmplay_state )
+ADDRESS_MAP_START(vgmplay_state::okim6295b_map)
AM_RANGE(0, 0x3ffff) AM_DEVREAD("vgmplay", vgmplay_device, okim6295_rom_r<1>)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( k054539a_map, 0, 8, vgmplay_state )
+ADDRESS_MAP_START(vgmplay_state::k054539a_map)
AM_RANGE(0, 0xffffff) AM_DEVREAD("vgmplay", vgmplay_device, k054539_rom_r<0>)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( k054539b_map, 0, 8, vgmplay_state )
+ADDRESS_MAP_START(vgmplay_state::k054539b_map)
AM_RANGE(0, 0xffffff) AM_DEVREAD("vgmplay", vgmplay_device, k054539_rom_r<1>)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( c352_map, 0, 8, vgmplay_state )
+ADDRESS_MAP_START(vgmplay_state::c352_map)
AM_RANGE(0, 0xffffff) AM_DEVREAD("vgmplay", vgmplay_device, c352_rom_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( qsound_map, 0, 8, vgmplay_state )
+ADDRESS_MAP_START(vgmplay_state::qsound_map)
AM_RANGE(0, 0xffffff) AM_DEVREAD("vgmplay", vgmplay_device, qsound_rom_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nescpu_map, AS_PROGRAM, 8, vgmplay_state )
+ADDRESS_MAP_START(vgmplay_state::nescpu_map)
AM_RANGE(0, 0xffff) AM_RAM AM_SHARE("nesapu_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( h6280_map, AS_PROGRAM, 8, vgmplay_state )
+ADDRESS_MAP_START(vgmplay_state::h6280_map)
AM_RANGE(0, 0xffff) AM_NOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( h6280_io_map, AS_IO, 8, vgmplay_state )
+ADDRESS_MAP_START(vgmplay_state::h6280_io_map)
AM_RANGE(0, 3) AM_NOP
ADDRESS_MAP_END
diff --git a/src/mame/drivers/vic10.cpp b/src/mame/drivers/vic10.cpp
index 554fb79983c..a081cf28d52 100644
--- a/src/mame/drivers/vic10.cpp
+++ b/src/mame/drivers/vic10.cpp
@@ -99,6 +99,9 @@ public:
int m_vic_irq;
int m_exp_irq;
void vic10(machine_config &config);
+ void vic10_mem(address_map &map);
+ void vic_colorram_map(address_map &map);
+ void vic_videoram_map(address_map &map);
};
@@ -242,7 +245,7 @@ READ8_MEMBER( vic10_state::vic_colorram_r )
// ADDRESS_MAP( vic10_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( vic10_mem, AS_PROGRAM, 8, vic10_state )
+ADDRESS_MAP_START(vic10_state::vic10_mem)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(read, write)
ADDRESS_MAP_END
@@ -251,7 +254,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( vic_videoram_map )
//-------------------------------------------------
-static ADDRESS_MAP_START( vic_videoram_map, 0, 8, vic10_state )
+ADDRESS_MAP_START(vic10_state::vic_videoram_map)
AM_RANGE(0x0000, 0x3fff) AM_READ(vic_videoram_r)
ADDRESS_MAP_END
@@ -260,7 +263,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( vic_colorram_map )
//-------------------------------------------------
-static ADDRESS_MAP_START( vic_colorram_map, 1, 8, vic10_state )
+ADDRESS_MAP_START(vic10_state::vic_colorram_map)
AM_RANGE(0x000, 0x3ff) AM_READ(vic_colorram_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/vic20.cpp b/src/mame/drivers/vic20.cpp
index 3c65ab64c5c..029a9d6b5d0 100644
--- a/src/mame/drivers/vic20.cpp
+++ b/src/mame/drivers/vic20.cpp
@@ -149,6 +149,9 @@ public:
void ntsc(machine_config &config);
void pal(machine_config &config);
void vic20(machine_config &config);
+ void vic20_mem(address_map &map);
+ void vic_colorram_map(address_map &map);
+ void vic_videoram_map(address_map &map);
};
@@ -356,7 +359,7 @@ READ8_MEMBER( vic20_state::vic_videoram_r )
// ADDRESS_MAP( vic20_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( vic20_mem, AS_PROGRAM, 8, vic20_state )
+ADDRESS_MAP_START(vic20_state::vic20_mem)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(read, write)
ADDRESS_MAP_END
@@ -365,7 +368,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( vic_videoram_map )
//-------------------------------------------------
-static ADDRESS_MAP_START( vic_videoram_map, 0, 8, vic20_state )
+ADDRESS_MAP_START(vic20_state::vic_videoram_map)
AM_RANGE(0x0000, 0x3fff) AM_READ(vic_videoram_r)
ADDRESS_MAP_END
@@ -374,7 +377,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( vic_colorram_map )
//-------------------------------------------------
-static ADDRESS_MAP_START( vic_colorram_map, 1, 8, vic20_state )
+ADDRESS_MAP_START(vic20_state::vic_colorram_map)
AM_RANGE(0x000, 0x3ff) AM_RAM AM_SHARE("color_ram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/vicdual.cpp b/src/mame/drivers/vicdual.cpp
index 9f2cba9237f..f85f5a0eee9 100644
--- a/src/mame/drivers/vicdual.cpp
+++ b/src/mame/drivers/vicdual.cpp
@@ -288,7 +288,7 @@ WRITE8_MEMBER(vicdual_state::depthch_io_w)
}
-static ADDRESS_MAP_START( depthch_map, AS_PROGRAM, 8, vicdual_state )
+ADDRESS_MAP_START(vicdual_state::depthch_map)
AM_RANGE(0x0000, 0x3fff) AM_MIRROR(0x4000) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x7000) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
AM_RANGE(0x8400, 0x87ff) AM_MIRROR(0x7000) AM_RAM
@@ -296,7 +296,7 @@ static ADDRESS_MAP_START( depthch_map, AS_PROGRAM, 8, vicdual_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( depthch_io_map, AS_IO, 8, vicdual_state )
+ADDRESS_MAP_START(vicdual_state::depthch_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x0f)
/* no decoder, just logic gates, so in theory the
@@ -369,7 +369,7 @@ WRITE8_MEMBER(vicdual_state::safari_io_w)
}
-static ADDRESS_MAP_START( safari_map, AS_PROGRAM, 8, vicdual_state )
+ADDRESS_MAP_START(vicdual_state::safari_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_NOP /* unused */
AM_RANGE(0x8000, 0x8fff) AM_MIRROR(0x3000) AM_RAM
@@ -379,7 +379,7 @@ static ADDRESS_MAP_START( safari_map, AS_PROGRAM, 8, vicdual_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( safari_io_map, AS_IO, 8, vicdual_state )
+ADDRESS_MAP_START(vicdual_state::safari_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x0f)
/* no decoder, just logic gates, so in theory the
@@ -452,7 +452,7 @@ WRITE8_MEMBER(vicdual_state::frogs_io_w)
}
-static ADDRESS_MAP_START( frogs_map, AS_PROGRAM, 8, vicdual_state )
+ADDRESS_MAP_START(vicdual_state::frogs_map)
AM_RANGE(0x0000, 0x3fff) AM_MIRROR(0x4000) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x7000) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
AM_RANGE(0x8400, 0x87ff) AM_MIRROR(0x7000) AM_RAM
@@ -460,7 +460,7 @@ static ADDRESS_MAP_START( frogs_map, AS_PROGRAM, 8, vicdual_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( frogs_io_map, AS_IO, 8, vicdual_state )
+ADDRESS_MAP_START(vicdual_state::frogs_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x0f)
/* no decoder, just logic gates, so in theory the
@@ -576,7 +576,7 @@ WRITE8_MEMBER(vicdual_state::headon_io_w)
}
-static ADDRESS_MAP_START( headon_map, AS_PROGRAM, 8, vicdual_state )
+ADDRESS_MAP_START(vicdual_state::headon_map)
AM_RANGE(0x0000, 0x1fff) AM_MIRROR(0x6000) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_NOP /* unused */
AM_RANGE(0xc000, 0xc3ff) AM_MIRROR(0x3000) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
@@ -585,7 +585,7 @@ static ADDRESS_MAP_START( headon_map, AS_PROGRAM, 8, vicdual_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( headon_io_map, AS_IO, 8, vicdual_state )
+ADDRESS_MAP_START(vicdual_state::headon_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x0f)
/* no decoder, just logic gates, so in theory the
@@ -594,7 +594,7 @@ static ADDRESS_MAP_START( headon_io_map, AS_IO, 8, vicdual_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sspaceat_io_map, AS_IO, 8, vicdual_state )
+ADDRESS_MAP_START(vicdual_state::sspaceat_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x0f)
/* no decoder, just logic gates, so in theory the
@@ -842,7 +842,7 @@ WRITE8_MEMBER(vicdual_state::digger_io_w)
}
-static ADDRESS_MAP_START( headon2_map, AS_PROGRAM, 8, vicdual_state )
+ADDRESS_MAP_START(vicdual_state::headon2_map)
AM_RANGE(0x0000, 0x1fff) AM_MIRROR(0x6000) AM_ROM
/* AM_RANGE(0x8000, 0x80ff) AM_MIRROR(0x3f00) */ /* schematics show this as battery backed RAM, but doesn't appear to be used */
AM_RANGE(0xc000, 0xc3ff) AM_MIRROR(0x3000) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
@@ -851,13 +851,13 @@ static ADDRESS_MAP_START( headon2_map, AS_PROGRAM, 8, vicdual_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( headon2_io_map, AS_IO, 8, vicdual_state )
+ADDRESS_MAP_START(vicdual_state::headon2_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x1f)
AM_RANGE(0x00, 0x1f) AM_READWRITE(headon2_io_r, headon2_io_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( digger_io_map, AS_IO, 8, vicdual_state )
+ADDRESS_MAP_START(vicdual_state::digger_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x1f)
/* no decoder, just logic gates, so in theory the
@@ -1149,21 +1149,21 @@ WRITE8_MEMBER(vicdual_state::headonn_io_w)
}
-static ADDRESS_MAP_START( vicdual_dualgame_map, AS_PROGRAM, 8, vicdual_state )
+ADDRESS_MAP_START(vicdual_state::vicdual_dualgame_map)
AM_RANGE(0x0000, 0x3fff) AM_MIRROR(0x4000) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x7000) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
AM_RANGE(0x8400, 0x87ff) AM_MIRROR(0x7000) AM_RAM
AM_RANGE(0x8800, 0x8fff) AM_MIRROR(0x7000) AM_RAM_WRITE(characterram_w) AM_SHARE("characterram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( carhntds_dualgame_map, AS_PROGRAM, 8, vicdual_state )
+ADDRESS_MAP_START(vicdual_state::carhntds_dualgame_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM // also has part of a rom mapped at 0x4000
AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x7000) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
AM_RANGE(0x8400, 0x87ff) AM_MIRROR(0x7000) AM_RAM
AM_RANGE(0x8800, 0x8fff) AM_MIRROR(0x7000) AM_RAM_WRITE(characterram_w) AM_SHARE("characterram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( invho2_io_map, AS_IO, 8, vicdual_state )
+ADDRESS_MAP_START(vicdual_state::invho2_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7f)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x7c) AM_READ_PORT("IN0")
@@ -1177,7 +1177,7 @@ static ADDRESS_MAP_START( invho2_io_map, AS_IO, 8, vicdual_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( invds_io_map, AS_IO, 8, vicdual_state )
+ADDRESS_MAP_START(vicdual_state::invds_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7f)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x7c) AM_READ_PORT("IN0")
@@ -1190,7 +1190,7 @@ static ADDRESS_MAP_START( invds_io_map, AS_IO, 8, vicdual_state )
AM_RANGE(0x00, 0x7f) AM_WRITE(invds_io_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( carhntds_io_map, AS_IO, 8, vicdual_state )
+ADDRESS_MAP_START(vicdual_state::carhntds_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7f)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x7c) AM_READ_PORT("IN0")
@@ -1203,7 +1203,7 @@ static ADDRESS_MAP_START( carhntds_io_map, AS_IO, 8, vicdual_state )
AM_RANGE(0x00, 0x7f) AM_WRITE(carhntds_io_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sspacaho_io_map, AS_IO, 8, vicdual_state )
+ADDRESS_MAP_START(vicdual_state::sspacaho_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7f)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x7c) AM_READ_PORT("IN0")
@@ -1217,7 +1217,7 @@ static ADDRESS_MAP_START( sspacaho_io_map, AS_IO, 8, vicdual_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tranqgun_io_map, AS_IO, 8, vicdual_state )
+ADDRESS_MAP_START(vicdual_state::tranqgun_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x0f)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x0c) AM_READ_PORT("IN0")
@@ -1231,7 +1231,7 @@ static ADDRESS_MAP_START( tranqgun_io_map, AS_IO, 8, vicdual_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( spacetrk_io_map, AS_IO, 8, vicdual_state )
+ADDRESS_MAP_START(vicdual_state::spacetrk_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7f)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x7c) AM_READ_PORT("IN0")
@@ -1245,7 +1245,7 @@ static ADDRESS_MAP_START( spacetrk_io_map, AS_IO, 8, vicdual_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( carnival_io_map, AS_IO, 8, vicdual_state )
+ADDRESS_MAP_START(vicdual_state::carnival_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7f)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x7c) AM_READ_PORT("IN0")
@@ -1259,7 +1259,7 @@ static ADDRESS_MAP_START( carnival_io_map, AS_IO, 8, vicdual_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( brdrline_io_map, AS_IO, 8, vicdual_state )
+ADDRESS_MAP_START(vicdual_state::brdrline_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x0f)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x0c) AM_READ_PORT("IN0")
@@ -1273,7 +1273,7 @@ static ADDRESS_MAP_START( brdrline_io_map, AS_IO, 8, vicdual_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pulsar_io_map, AS_IO, 8, vicdual_state )
+ADDRESS_MAP_START(vicdual_state::pulsar_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7f)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x7c) AM_READ_PORT("IN0")
@@ -1287,7 +1287,7 @@ static ADDRESS_MAP_START( pulsar_io_map, AS_IO, 8, vicdual_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( heiankyo_io_map, AS_IO, 8, vicdual_state )
+ADDRESS_MAP_START(vicdual_state::heiankyo_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x0f)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x0c) AM_READ_PORT("IN0")
@@ -1301,7 +1301,7 @@ static ADDRESS_MAP_START( heiankyo_io_map, AS_IO, 8, vicdual_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( alphaho_io_map, AS_IO, 8, vicdual_state )
+ADDRESS_MAP_START(vicdual_state::alphaho_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7f)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x7c) AM_READ_PORT("IN0")
@@ -1315,7 +1315,7 @@ static ADDRESS_MAP_START( alphaho_io_map, AS_IO, 8, vicdual_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( headonn_io_map, AS_IO, 8, vicdual_state )
+ADDRESS_MAP_START(vicdual_state::headonn_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7f)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x7c) AM_READ_PORT("IN0")
@@ -2224,7 +2224,7 @@ WRITE8_MEMBER(vicdual_state::samurai_io_w)
/* dual game hardware */
-static ADDRESS_MAP_START( samurai_map, AS_PROGRAM, 8, vicdual_state )
+ADDRESS_MAP_START(vicdual_state::samurai_map)
AM_RANGE(0x0000, 0x3fff) AM_MIRROR(0x4000) AM_ROM AM_WRITE(samurai_protection_w)
AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x7000) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
AM_RANGE(0x8400, 0x87ff) AM_MIRROR(0x7000) AM_RAM
@@ -2232,7 +2232,7 @@ static ADDRESS_MAP_START( samurai_map, AS_PROGRAM, 8, vicdual_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( samurai_io_map, AS_IO, 8, vicdual_state )
+ADDRESS_MAP_START(vicdual_state::samurai_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x7f)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x7c) AM_READ_PORT("IN0")
@@ -2353,7 +2353,7 @@ WRITE8_MEMBER(nsub_state::nsub_io_w)
}
-static ADDRESS_MAP_START( nsub_map, AS_PROGRAM, 8, nsub_state )
+ADDRESS_MAP_START(nsub_state::nsub_map)
AM_RANGE(0x0000, 0x3fff) AM_MIRROR(0x4000) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_NOP /* unused */
AM_RANGE(0xc000, 0xc3ff) AM_MIRROR(0x3000) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
@@ -2362,7 +2362,7 @@ static ADDRESS_MAP_START( nsub_map, AS_PROGRAM, 8, nsub_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nsub_io_map, AS_IO, 8, nsub_state )
+ADDRESS_MAP_START(nsub_state::nsub_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x0f)
/* no decoder, just logic gates, so in theory the
@@ -2540,7 +2540,7 @@ WRITE8_MEMBER(vicdual_state::invinco_io_w)
}
-static ADDRESS_MAP_START( invinco_map, AS_PROGRAM, 8, vicdual_state )
+ADDRESS_MAP_START(vicdual_state::invinco_map)
AM_RANGE(0x0000, 0x3fff) AM_MIRROR(0x4000) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_NOP /* unused */
AM_RANGE(0xc000, 0xc3ff) AM_MIRROR(0x3000) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
@@ -2549,7 +2549,7 @@ static ADDRESS_MAP_START( invinco_map, AS_PROGRAM, 8, vicdual_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( invinco_io_map, AS_IO, 8, vicdual_state )
+ADDRESS_MAP_START(vicdual_state::invinco_io_map)
ADDRESS_MAP_GLOBAL_MASK(0x0f)
/* no decoder, just logic gates, so in theory the
diff --git a/src/mame/drivers/victor9k.cpp b/src/mame/drivers/victor9k.cpp
index ada56ad34da..82d858be2cf 100644
--- a/src/mame/drivers/victor9k.cpp
+++ b/src/mame/drivers/victor9k.cpp
@@ -170,6 +170,7 @@ public:
void update_kback();
void victor9k(machine_config &config);
+ void victor9k_mem(address_map &map);
};
@@ -190,7 +191,7 @@ public:
// ADDRESS_MAP( victor9k_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( victor9k_mem, AS_PROGRAM, 8, victor9k_state )
+ADDRESS_MAP_START(victor9k_state::victor9k_mem)
AM_RANGE(0x00000, 0x1ffff) AM_RAM
AM_RANGE(0x20000, 0xdffff) AM_NOP
AM_RANGE(0xe0000, 0xe0001) AM_MIRROR(0x7f00) AM_DEVREADWRITE(I8259A_TAG, pic8259_device, read, write)
diff --git a/src/mame/drivers/victory.cpp b/src/mame/drivers/victory.cpp
index 75ced2815fc..5e5f76d8115 100644
--- a/src/mame/drivers/victory.cpp
+++ b/src/mame/drivers/victory.cpp
@@ -126,7 +126,7 @@ WRITE8_MEMBER(victory_state::lamp_control_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, victory_state )
+ADDRESS_MAP_START(victory_state::main_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc0ff) AM_READ(video_control_r)
AM_RANGE(0xc100, 0xc1ff) AM_WRITE(video_control_w)
@@ -140,7 +140,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, victory_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_io_map, AS_IO, 8, victory_state )
+ADDRESS_MAP_START(victory_state::main_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_MIRROR(0x03) AM_READ_PORT("SW2")
AM_RANGE(0x04, 0x04) AM_MIRROR(0x03) AM_READ_PORT("SW1")
diff --git a/src/mame/drivers/vidbrain.cpp b/src/mame/drivers/vidbrain.cpp
index 1a85fa17061..ec946198d24 100644
--- a/src/mame/drivers/vidbrain.cpp
+++ b/src/mame/drivers/vidbrain.cpp
@@ -226,7 +226,7 @@ WRITE8_MEMBER( vidbrain_state::f3853_w )
// ADDRESS_MAP( vidbrain_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( vidbrain_mem, AS_PROGRAM, 8, vidbrain_state )
+ADDRESS_MAP_START(vidbrain_state::vidbrain_mem)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x07ff) AM_ROM AM_REGION("res1", 0)
AM_RANGE(0x0800, 0x08ff) AM_MIRROR(0x2300) AM_DEVREADWRITE(UV201_TAG, uv201_device, read, write)
@@ -242,7 +242,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( vidbrain_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( vidbrain_io, AS_IO, 8, vidbrain_state )
+ADDRESS_MAP_START(vidbrain_state::vidbrain_io)
AM_RANGE(0x00, 0x00) AM_WRITE(keyboard_w)
AM_RANGE(0x01, 0x01) AM_READWRITE(keyboard_r, sound_w)
AM_RANGE(0x0c, 0x0f) AM_WRITE(f3853_w)
diff --git a/src/mame/drivers/videopin.cpp b/src/mame/drivers/videopin.cpp
index 93bcd44700e..34e2d7a92b0 100644
--- a/src/mame/drivers/videopin.cpp
+++ b/src/mame/drivers/videopin.cpp
@@ -218,7 +218,7 @@ WRITE8_MEMBER(videopin_state::note_dvsr_w)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, videopin_state )
+ADDRESS_MAP_START(videopin_state::main_map)
AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x0200, 0x07ff) AM_RAM_WRITE(video_ram_w) AM_SHARE("video_ram")
AM_RANGE(0x0800, 0x0800) AM_READ(misc_r) AM_WRITE(note_dvsr_w)
diff --git a/src/mame/drivers/videopkr.cpp b/src/mame/drivers/videopkr.cpp
index 6ca5a876fce..94334f3e871 100644
--- a/src/mame/drivers/videopkr.cpp
+++ b/src/mame/drivers/videopkr.cpp
@@ -385,6 +385,14 @@ public:
void fortune1(machine_config &config);
void blckjack(machine_config &config);
void bpoker(machine_config &config);
+ void i8039_io_port(address_map &map);
+ void i8039_map(address_map &map);
+ void i8039_sound_mem(address_map &map);
+ void i8039_sound_port(address_map &map);
+ void i8051_sound_mem(address_map &map);
+ void i8051_sound_port(address_map &map);
+ void i8751_io_port(address_map &map);
+ void i8751_map(address_map &map);
};
@@ -966,19 +974,19 @@ TIMER_DEVICE_CALLBACK_MEMBER(videopkr_state::sound_t1_callback)
* Memory Map Information *
*************************/
-static ADDRESS_MAP_START( i8039_map, AS_PROGRAM, 8, videopkr_state )
+ADDRESS_MAP_START(videopkr_state::i8039_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( i8039_io_port, AS_IO, 8, videopkr_state )
+ADDRESS_MAP_START(videopkr_state::i8039_io_port)
AM_RANGE(0x00, 0xff) AM_READWRITE(videopkr_io_r, videopkr_io_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( i8751_map, AS_PROGRAM, 8, videopkr_state )
+ADDRESS_MAP_START(videopkr_state::i8751_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( i8751_io_port, AS_IO, 8, videopkr_state )
+ADDRESS_MAP_START(videopkr_state::i8751_io_port)
AM_RANGE(0x0000, 0x0fff) AM_RAM // NVRAM?
AM_RANGE(0x8000, 0x8000) AM_NOP // ???
AM_RANGE(0x9000, 0x9000) AM_WRITEONLY // ???
@@ -989,20 +997,20 @@ static ADDRESS_MAP_START( i8751_io_port, AS_IO, 8, videopkr_state )
AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_NOP // ???
ADDRESS_MAP_END
-static ADDRESS_MAP_START( i8039_sound_mem, AS_PROGRAM, 8, videopkr_state )
+ADDRESS_MAP_START(videopkr_state::i8039_sound_mem)
AM_RANGE(0x0000, 0x0fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( i8039_sound_port, AS_IO, 8, videopkr_state )
+ADDRESS_MAP_START(videopkr_state::i8039_sound_port)
AM_RANGE(0x00, 0xff) AM_READWRITE(sound_io_r, sound_io_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( i8051_sound_mem, AS_PROGRAM, 8, videopkr_state )
+ADDRESS_MAP_START(videopkr_state::i8051_sound_mem)
AM_RANGE(0x0000, 0x0fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( i8051_sound_port, AS_IO, 8, videopkr_state )
+ADDRESS_MAP_START(videopkr_state::i8051_sound_port)
AM_RANGE(0x0000, 0x1ff) AM_RAM
/* ports */
AM_RANGE(MCS51_PORT_P0, MCS51_PORT_P0) AM_READWRITE(baby_sound_p0_r, baby_sound_p0_w)
diff --git a/src/mame/drivers/vigilant.cpp b/src/mame/drivers/vigilant.cpp
index ddc52643152..d1c0ad5e0ff 100644
--- a/src/mame/drivers/vigilant.cpp
+++ b/src/mame/drivers/vigilant.cpp
@@ -72,7 +72,7 @@ WRITE8_MEMBER(vigilant_state::kikcubic_coin_w)
-static ADDRESS_MAP_START( vigilant_map, AS_PROGRAM, 8, vigilant_state )
+ADDRESS_MAP_START(vigilant_state::vigilant_map)
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") /* Fallthrough */
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc020, 0xc0df) AM_RAM AM_SHARE("spriteram")
@@ -81,7 +81,7 @@ static ADDRESS_MAP_START( vigilant_map, AS_PROGRAM, 8, vigilant_state )
AM_RANGE(0xe000, 0xefff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vigilant_io_map, AS_IO, 8, vigilant_state )
+ADDRESS_MAP_START(vigilant_state::vigilant_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_DEVWRITE("m72", m72_audio_device, sound_command_w) /* SD */
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1") AM_WRITE(vigilant_out2_w) /* OUT2 */
@@ -93,7 +93,7 @@ static ADDRESS_MAP_START( vigilant_io_map, AS_IO, 8, vigilant_state )
AM_RANGE(0x84, 0x84) AM_WRITE(vigilant_rear_color_w) /* RCOD */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kikcubic_map, AS_PROGRAM, 8, vigilant_state )
+ADDRESS_MAP_START(vigilant_state::kikcubic_map)
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") /* Fallthrough */
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc0ff) AM_RAM AM_SHARE("spriteram")
@@ -102,7 +102,7 @@ static ADDRESS_MAP_START( kikcubic_map, AS_PROGRAM, 8, vigilant_state )
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kikcubic_io_map, AS_IO, 8, vigilant_state )
+ADDRESS_MAP_START(vigilant_state::kikcubic_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW1") AM_WRITE(kikcubic_coin_w) /* also flip screen, and...? */
AM_RANGE(0x01, 0x01) AM_READ_PORT("DSW2")
@@ -113,12 +113,12 @@ static ADDRESS_MAP_START( kikcubic_io_map, AS_IO, 8, vigilant_state )
// AM_RANGE(0x07, 0x07) AM_WRITENOP /* ?? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, vigilant_state )
+ADDRESS_MAP_START(vigilant_state::sound_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, vigilant_state )
+ADDRESS_MAP_START(vigilant_state::sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0x80, 0x81) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_DEVWRITE("m72", m72_audio_device, vigilant_sample_addr_w) /* STL / STH */
@@ -127,7 +127,7 @@ static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, vigilant_state )
AM_RANGE(0x84, 0x84) AM_DEVREAD("m72", m72_audio_device, sample_r) /* S ROM C */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( buccanrs_sound_io_map, AS_IO, 8, vigilant_state )
+ADDRESS_MAP_START(vigilant_state::buccanrs_sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
AM_RANGE(0x02, 0x03) AM_DEVREADWRITE("ym2", ym2203_device, read, write)
diff --git a/src/mame/drivers/vii.cpp b/src/mame/drivers/vii.cpp
index 42fca7eca5d..332a9095eba 100644
--- a/src/mame/drivers/vii.cpp
+++ b/src/mame/drivers/vii.cpp
@@ -141,6 +141,7 @@ public:
void spg2xx_base(machine_config &config);
void spg2xx_basep(machine_config &config);
void batman(machine_config &config);
+ void vii_mem(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -1003,7 +1004,7 @@ WRITE16_MEMBER( spg2xx_game_state::spriteram_w )
}
*/
-static ADDRESS_MAP_START( vii_mem, AS_PROGRAM, 16, spg2xx_game_state )
+ADDRESS_MAP_START(spg2xx_game_state::vii_mem)
AM_RANGE( 0x000000, 0x3fffff ) AM_ROMBANK("cart")
AM_RANGE( 0x000000, 0x0027ff ) AM_RAM AM_SHARE("p_ram")
diff --git a/src/mame/drivers/vindictr.cpp b/src/mame/drivers/vindictr.cpp
index b61315d9f05..4df95846ef7 100644
--- a/src/mame/drivers/vindictr.cpp
+++ b/src/mame/drivers/vindictr.cpp
@@ -71,7 +71,7 @@ READ16_MEMBER(vindictr_state::port1_r)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, vindictr_state )
+ADDRESS_MAP_START(vindictr_state::main_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x3fffff)
AM_RANGE(0x000000, 0x05ffff) AM_ROM
diff --git a/src/mame/drivers/vip.cpp b/src/mame/drivers/vip.cpp
index ca597628409..59ad4496182 100644
--- a/src/mame/drivers/vip.cpp
+++ b/src/mame/drivers/vip.cpp
@@ -372,7 +372,7 @@ WRITE8_MEMBER( vip_state::io_w )
// ADDRESS_MAP( vip_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( vip_mem, AS_PROGRAM, 8, vip_state )
+ADDRESS_MAP_START(vip_state::vip_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xffff) AM_READWRITE(read, write)
ADDRESS_MAP_END
@@ -382,7 +382,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( vip_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( vip_io, AS_IO, 8, vip_state )
+ADDRESS_MAP_START(vip_state::vip_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00, 0x07) AM_READWRITE(io_r, io_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/viper.cpp b/src/mame/drivers/viper.cpp
index 0c966ec864d..2ac06ee03b1 100644
--- a/src/mame/drivers/viper.cpp
+++ b/src/mame/drivers/viper.cpp
@@ -429,6 +429,7 @@ public:
uint32_t m_mpc8240_regs[256/4];
void viper(machine_config &config);
+ void viper_map(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -2073,7 +2074,7 @@ WRITE64_MEMBER(viper_state::unk_serial_w)
/*****************************************************************************/
-static ADDRESS_MAP_START(viper_map, AS_PROGRAM, 64, viper_state )
+ADDRESS_MAP_START(viper_state::viper_map)
// ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000000, 0x00ffffff) AM_MIRROR(0x1000000) AM_RAM AM_SHARE("workram")
AM_RANGE(0x80000000, 0x800fffff) AM_READWRITE32(epic_r, epic_w,0xffffffffffffffffU)
diff --git a/src/mame/drivers/vis.cpp b/src/mame/drivers/vis.cpp
index 63d66addf77..44a05807d3c 100644
--- a/src/mame/drivers/vis.cpp
+++ b/src/mame/drivers/vis.cpp
@@ -718,6 +718,8 @@ public:
DECLARE_WRITE8_MEMBER(unk1_w);
DECLARE_INPUT_CHANGED_MEMBER(update);
void vis(machine_config &config);
+ void at16_io(address_map &map);
+ void at16_map(address_map &map);
protected:
void machine_reset() override;
private:
@@ -830,7 +832,7 @@ WRITE8_MEMBER(vis_state::sysctl_w)
m_sysctl = data;
}
-static ADDRESS_MAP_START( at16_map, AS_PROGRAM, 16, vis_state )
+ADDRESS_MAP_START(vis_state::at16_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x09ffff) AM_RAM
AM_RANGE(0x0d8000, 0x0fffff) AM_ROM AM_REGION("bios", 0xd8000)
@@ -839,7 +841,7 @@ static ADDRESS_MAP_START( at16_map, AS_PROGRAM, 16, vis_state )
AM_RANGE(0xff0000, 0xffffff) AM_ROM AM_REGION("bios", 0xf0000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( at16_io, AS_IO, 16, vis_state )
+ADDRESS_MAP_START(vis_state::at16_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x001f) AM_DEVREADWRITE8("mb:dma8237_1", am9517a_device, read, write, 0xffff)
AM_RANGE(0x0020, 0x003f) AM_DEVREADWRITE8("mb:pic8259_master", pic8259_device, read, write, 0xffff)
diff --git a/src/mame/drivers/vixen.cpp b/src/mame/drivers/vixen.cpp
index 73ef74b20f7..71522532e45 100644
--- a/src/mame/drivers/vixen.cpp
+++ b/src/mame/drivers/vixen.cpp
@@ -260,14 +260,14 @@ READ8_MEMBER( vixen_state::port3_r )
//-------------------------------------------------
// when M1 is inactive: read and write of data
-static ADDRESS_MAP_START( vixen_mem, AS_PROGRAM, 8, vixen_state )
+ADDRESS_MAP_START(vixen_state::vixen_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xefff) AM_RAM
AM_RANGE(0xf000, 0xffff) AM_READ_BANK("bank3") AM_WRITE_BANK("bank4") AM_SHARE("video_ram")
ADDRESS_MAP_END
// when M1 is active: read opcodes
-static ADDRESS_MAP_START( bios_mem, AS_OPCODES, 8, vixen_state )
+ADDRESS_MAP_START(vixen_state::bios_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xefff) AM_READ(opram_r)
AM_RANGE(0xf000, 0xffff) AM_READ(oprom_r)
@@ -278,7 +278,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( vixen_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( vixen_io, AS_IO, 8, vixen_state )
+ADDRESS_MAP_START(vixen_state::vixen_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE(FDC1797_TAG, fd1797_device, read, write)
@@ -741,7 +741,7 @@ MACHINE_CONFIG_START(vixen_state::vixen)
// basic machine hardware
MCFG_CPU_ADD(Z8400A_TAG, Z80, XTAL(23'961'600)/6)
MCFG_CPU_PROGRAM_MAP(vixen_mem)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(bios_mem)
+ MCFG_CPU_OPCODES_MAP(bios_mem)
MCFG_CPU_IO_MAP(vixen_io)
MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(vixen_state,vixen_int_ack)
diff --git a/src/mame/drivers/vk100.cpp b/src/mame/drivers/vk100.cpp
index 43b4a22615e..6e57f728e90 100644
--- a/src/mame/drivers/vk100.cpp
+++ b/src/mame/drivers/vk100.cpp
@@ -258,6 +258,8 @@ public:
void vram_write(uint8_t data);
void vk100(machine_config &config);
+ void vk100_io(address_map &map);
+ void vk100_mem(address_map &map);
protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
};
@@ -685,7 +687,7 @@ READ8_MEMBER(vk100_state::vk100_keyboard_column_r)
return code;
}
-static ADDRESS_MAP_START(vk100_mem, AS_PROGRAM, 8, vk100_state)
+ADDRESS_MAP_START(vk100_state::vk100_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x6fff ) AM_ROM
AM_RANGE( 0x7000, 0x700f ) AM_MIRROR(0x0ff0) AM_READ(vk100_keyboard_column_r)
@@ -733,7 +735,7 @@ ADDRESS_MAP_END
x 1 1 1 1 0 x x W unused
x 1 1 1 1 1 x x W unused
*/
-static ADDRESS_MAP_START(vk100_io, AS_IO, 8, vk100_state)
+ADDRESS_MAP_START(vk100_state::vk100_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff) // guess, probably correct
AM_RANGE(0x00, 0x00) AM_MIRROR(0xBE) AM_DEVWRITE("crtc", mc6845_device, address_w)
diff --git a/src/mame/drivers/vlc.cpp b/src/mame/drivers/vlc.cpp
index 2a3b4fd4096..d8d7fa170c6 100644
--- a/src/mame/drivers/vlc.cpp
+++ b/src/mame/drivers/vlc.cpp
@@ -210,6 +210,7 @@ public:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
void nevada(machine_config &config);
+ void nevada_map(address_map &map);
};
/*
@@ -511,7 +512,7 @@ U40 MC68681 Pin27 OP4 JCM Bill Acceptor (J4-6, J4-7 Control)
00E000x0 68681 CS UART U18 RS1..RS4 REGISTER (A4..A7 ON RS1..RS4) Data bus on D15..D8
*/
/***************************************************************************/
-static ADDRESS_MAP_START( nevada_map, AS_PROGRAM, 16,nevada_state )
+ADDRESS_MAP_START(nevada_state::nevada_map)
AM_RANGE(0x00000000, 0x0000ffff) AM_RAM AM_SHARE("ram62256")
AM_RANGE(0x00010000, 0x00021fff) AM_RAM AM_SHARE("backup")
AM_RANGE(0x00900000, 0x00900001) AM_DEVWRITE8("crtc",mc6845_device, address_w,0x00ff )
diff --git a/src/mame/drivers/volfied.cpp b/src/mame/drivers/volfied.cpp
index 583aba07d95..30aa289d9a4 100644
--- a/src/mame/drivers/volfied.cpp
+++ b/src/mame/drivers/volfied.cpp
@@ -66,7 +66,7 @@ Stephh's notes (based on the game M68000 code and some tests) :
MEMORY STRUCTURES
***********************************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, volfied_state )
+ADDRESS_MAP_START(volfied_state::main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM /* program */
AM_RANGE(0x080000, 0x0fffff) AM_ROM /* tiles */
AM_RANGE(0x100000, 0x103fff) AM_RAM /* main */
@@ -83,7 +83,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, volfied_state )
AM_RANGE(0xf00c00, 0xf00c01) AM_WRITE(cchip_bank_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( z80_map, AS_PROGRAM, 8, volfied_state )
+ADDRESS_MAP_START(volfied_state::z80_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8800) AM_DEVWRITE("ciu", pc060ha_device, slave_port_w)
diff --git a/src/mame/drivers/votrpss.cpp b/src/mame/drivers/votrpss.cpp
index 1ebbc5e1333..ee2bb5fb289 100644
--- a/src/mame/drivers/votrpss.cpp
+++ b/src/mame/drivers/votrpss.cpp
@@ -101,6 +101,8 @@ public:
IRQ_CALLBACK_MEMBER(irq_ack);
void votrpss(machine_config &config);
+ void votrpss_io(address_map &map);
+ void votrpss_mem(address_map &map);
private:
uint8_t m_term_data;
uint8_t m_porta;
@@ -117,7 +119,7 @@ private:
Address Maps
******************************************************************************/
-static ADDRESS_MAP_START(votrpss_mem, AS_PROGRAM, 8, votrpss_state)
+ADDRESS_MAP_START(votrpss_state::votrpss_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_ROM /* main roms (in potted module) */
AM_RANGE(0x4000, 0x7fff) AM_NOP /* open bus/space for expansion rom (reads as 0xFF) */
@@ -127,7 +129,7 @@ static ADDRESS_MAP_START(votrpss_mem, AS_PROGRAM, 8, votrpss_state)
AM_RANGE(0xe000, 0xffff) AM_NOP /* open bus (space for more personality rom, not normally used) */
ADDRESS_MAP_END
-static ADDRESS_MAP_START(votrpss_io, AS_IO, 8, votrpss_state)
+ADDRESS_MAP_START(votrpss_state::votrpss_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_MIRROR(0x3c) AM_DEVREADWRITE("ppi", i8255_device, read, write)
AM_RANGE(0x40, 0x40) AM_MIRROR(0x3e) AM_DEVREADWRITE("uart", i8251_device, data_r, data_w)
diff --git a/src/mame/drivers/votrtnt.cpp b/src/mame/drivers/votrtnt.cpp
index 0c5ce51d07e..d83a2e7a385 100644
--- a/src/mame/drivers/votrtnt.cpp
+++ b/src/mame/drivers/votrtnt.cpp
@@ -54,6 +54,7 @@ public:
DECLARE_MACHINE_RESET(votrtnt);
void votrtnt(machine_config &config);
+ void _6802_mem(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<votrax_sc01_device> m_votrax;
@@ -79,7 +80,7 @@ private:
x 1 1 x * * * * * * * * * * * * R ROM (2332 4kx8 Mask ROM, inside potted brick)
*/
-static ADDRESS_MAP_START(6802_mem, AS_PROGRAM, 8, votrtnt_state)
+ADDRESS_MAP_START(votrtnt_state::_6802_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x03ff) AM_MIRROR(0x9c00) AM_RAM /* RAM, 2114*2 (0x400 bytes) mirrored 4x */
AM_RANGE(0x2000, 0x2001) AM_MIRROR(0x9ffe) AM_DEVREADWRITE("acia", acia6850_device, read, write)
@@ -136,7 +137,7 @@ MACHINE_RESET_MEMBER( votrtnt_state, votrtnt )
MACHINE_CONFIG_START(votrtnt_state::votrtnt)
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M6802, XTAL(2'457'600)) /* 2.4576MHz XTAL, verified; divided by 4 inside the m6802*/
- MCFG_CPU_PROGRAM_MAP(6802_mem)
+ MCFG_CPU_PROGRAM_MAP(_6802_mem)
MCFG_MACHINE_RESET_OVERRIDE(votrtnt_state, votrtnt)
diff --git a/src/mame/drivers/voyager.cpp b/src/mame/drivers/voyager.cpp
index d2f7a6a63b2..f485221a22c 100644
--- a/src/mame/drivers/voyager.cpp
+++ b/src/mame/drivers/voyager.cpp
@@ -57,6 +57,8 @@ public:
virtual void machine_reset() override;
void intel82439tx_init();
void voyager(machine_config &config);
+ void voyager_io(address_map &map);
+ void voyager_map(address_map &map);
};
@@ -233,7 +235,7 @@ WRITE32_MEMBER(voyager_state::bios_ram_w)
}
}
-static ADDRESS_MAP_START( voyager_map, AS_PROGRAM, 32, voyager_state )
+ADDRESS_MAP_START(voyager_state::voyager_map)
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", trident_vga_device, mem_r, mem_w, 0xffffffff) // VGA VRAM
AM_RANGE(0x000c0000, 0x000c7fff) AM_RAM AM_REGION("video_bios", 0)
@@ -261,7 +263,7 @@ static ADDRESS_MAP_START( voyager_map, AS_PROGRAM, 32, voyager_state )
AM_RANGE(0xfffe0000, 0xffffffff) AM_ROM AM_REGION("bios", 0) /* System BIOS */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( voyager_io, AS_IO, 32, voyager_state )
+ADDRESS_MAP_START(voyager_state::voyager_io)
AM_IMPORT_FROM(pcat32_io_common)
//AM_RANGE(0x00e8, 0x00eb) AM_NOP
diff --git a/src/mame/drivers/vp101.cpp b/src/mame/drivers/vp101.cpp
index 2f27433302d..c8bdf61cd55 100644
--- a/src/mame/drivers/vp101.cpp
+++ b/src/mame/drivers/vp101.cpp
@@ -142,6 +142,8 @@ public:
void vp50(machine_config &config);
void vp101(machine_config &config);
+ void main_map(address_map &map);
+ void vp50_map(address_map &map);
protected:
// devices
@@ -309,7 +311,7 @@ WRITE32_MEMBER(vp10x_state::tty_w) // set breakpoint at bfc01430 to catch when
// printf("%c", data);
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, vp10x_state )
+ADDRESS_MAP_START(vp10x_state::main_map)
AM_RANGE(0x00000000, 0x07ffffff) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x14000000, 0x14000003) AM_READ(test_r)
AM_RANGE(0x1c000000, 0x1c000003) AM_WRITE(tty_w) // RSS OS code uses this one
@@ -327,7 +329,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, vp10x_state )
AM_RANGE(0x1fc00000, 0x1fffffff) AM_ROM AM_REGION("maincpu", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vp50_map, AS_PROGRAM, 32, vp10x_state )
+ADDRESS_MAP_START(vp10x_state::vp50_map)
AM_RANGE(0x00000000, 0x03ffffff) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x1f000010, 0x1f00001f) AM_DEVREADWRITE16("ata", ata_interface_device, read_cs1, write_cs1, 0xffffffff)
AM_RANGE(0x1f000020, 0x1f00002f) AM_DEVREADWRITE16("ata", ata_interface_device, read_cs0, write_cs0, 0xffffffff)
diff --git a/src/mame/drivers/vp122.cpp b/src/mame/drivers/vp122.cpp
index 653883d2bfb..9c3bb44fd1d 100644
--- a/src/mame/drivers/vp122.cpp
+++ b/src/mame/drivers/vp122.cpp
@@ -28,19 +28,22 @@ public:
SCN2674_DRAW_CHARACTER_MEMBER(draw_character);
void vp122(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
+ void vram_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<screen_device> m_screen;
required_region_ptr<u8> m_p_chargen;
};
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, vp122_state )
+ADDRESS_MAP_START(vp122_state::mem_map)
AM_RANGE(0x0000, 0x9fff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xe000, 0xe7ff) AM_NOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, vp122_state )
+ADDRESS_MAP_START(vp122_state::io_map)
AM_RANGE(0x00, 0x07) AM_DEVREADWRITE("avdc", scn2674_device, read, write)
AM_RANGE(0x10, 0x1f) AM_DEVREADWRITE("duart", scn2681_device, read, write)
AM_RANGE(0x20, 0x20) AM_DEVREADWRITE("usart", i8251_device, data_r, data_w)
@@ -55,7 +58,7 @@ SCN2674_DRAW_CHARACTER_MEMBER(vp122_state::draw_character)
{
}
-static ADDRESS_MAP_START( vram_map, 0, 8, vp122_state )
+ADDRESS_MAP_START(vp122_state::vram_map)
AM_RANGE(0x0000, 0x07ff) AM_NOP
AM_RANGE(0x1800, 0x2fff) AM_NOP
ADDRESS_MAP_END
diff --git a/src/mame/drivers/vp60.cpp b/src/mame/drivers/vp60.cpp
index 85353e8d88b..92689f58a1c 100644
--- a/src/mame/drivers/vp60.cpp
+++ b/src/mame/drivers/vp60.cpp
@@ -26,6 +26,9 @@ public:
u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void vp60(machine_config &config);
+ void io_map(address_map &map);
+ void kbd_map(address_map &map);
+ void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_region_ptr<u8> m_p_chargen;
@@ -36,15 +39,15 @@ u32 vp60_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const
return 0;
}
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, vp60_state )
+ADDRESS_MAP_START(vp60_state::mem_map)
AM_RANGE(0x0000, 0x2fff) AM_ROM AM_REGION("maincpu", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_PROGRAM, 8, vp60_state )
+ADDRESS_MAP_START(vp60_state::io_map)
AM_RANGE(0x8000, 0x87ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kbd_map, AS_PROGRAM, 8, vp60_state )
+ADDRESS_MAP_START(vp60_state::kbd_map)
AM_RANGE(0x000, 0x3ff) AM_ROM AM_REGION("keyboard", 0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/vpoker.cpp b/src/mame/drivers/vpoker.cpp
index 3921e1d72bf..c2f21614c49 100644
--- a/src/mame/drivers/vpoker.cpp
+++ b/src/mame/drivers/vpoker.cpp
@@ -125,6 +125,7 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
void vpoker(machine_config &config);
+ void main_map(address_map &map);
};
@@ -181,7 +182,7 @@ WRITE8_MEMBER(vpoker_state::blitter_w)
}
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, vpoker_state )
+ADDRESS_MAP_START(vpoker_state::main_map)
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x01ff) AM_RAM /* vpoker has 0x100, 5acespkr has 0x200 */
AM_RANGE(0x0400, 0x0407) AM_DEVREADWRITE("6840ptm", ptm6840_device, read, write)
diff --git a/src/mame/drivers/vroulet.cpp b/src/mame/drivers/vroulet.cpp
index c8e5c7b7c7f..849ba2271fc 100644
--- a/src/mame/drivers/vroulet.cpp
+++ b/src/mame/drivers/vroulet.cpp
@@ -82,6 +82,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void vroulet(machine_config &config);
+ void vroulet_io_map(address_map &map);
+ void vroulet_map(address_map &map);
};
@@ -148,7 +150,7 @@ uint32_t vroulet_state::screen_update(screen_device &screen, bitmap_ind16 &bitma
/* Memory Maps */
-static ADDRESS_MAP_START( vroulet_map, AS_PROGRAM, 8, vroulet_state )
+ADDRESS_MAP_START(vroulet_state::vroulet_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x8000, 0x8000) AM_NOP
@@ -159,7 +161,7 @@ static ADDRESS_MAP_START( vroulet_map, AS_PROGRAM, 8, vroulet_state )
AM_RANGE(0xc000, 0xc000) AM_NOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vroulet_io_map, AS_IO, 8, vroulet_state )
+ADDRESS_MAP_START(vroulet_state::vroulet_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
diff --git a/src/mame/drivers/vsmilepro.cpp b/src/mame/drivers/vsmilepro.cpp
index 7b030130b5b..1bb911cfb1b 100644
--- a/src/mame/drivers/vsmilepro.cpp
+++ b/src/mame/drivers/vsmilepro.cpp
@@ -35,11 +35,12 @@ public:
{ }
void vsmilpro(machine_config &config);
+ void vsmilpro_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START(vsmilpro_map, AS_PROGRAM, 32, vsmilpro_state)
+ADDRESS_MAP_START(vsmilpro_state::vsmilpro_map)
AM_RANGE(0x00000000, 0x0007ffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/vsnes.cpp b/src/mame/drivers/vsnes.cpp
index d4a1a44b252..23dea358396 100644
--- a/src/mame/drivers/vsnes.cpp
+++ b/src/mame/drivers/vsnes.cpp
@@ -195,7 +195,7 @@ WRITE8_MEMBER(vsnes_state::vsnes_coin_counter_1_w)
/******************************************************************************/
-static ADDRESS_MAP_START( vsnes_cpu1_map, AS_PROGRAM, 8, vsnes_state )
+ADDRESS_MAP_START(vsnes_state::vsnes_cpu1_map)
AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x1800) AM_RAM AM_SHARE("work_ram")
AM_RANGE(0x2000, 0x3fff) AM_DEVREADWRITE("ppu1", ppu2c0x_device, read, write)
AM_RANGE(0x4014, 0x4014) AM_WRITE(sprite_dma_0_w)
@@ -206,7 +206,7 @@ static ADDRESS_MAP_START( vsnes_cpu1_map, AS_PROGRAM, 8, vsnes_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vsnes_cpu2_map, AS_PROGRAM, 8, vsnes_state )
+ADDRESS_MAP_START(vsnes_state::vsnes_cpu2_map)
AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x1800) AM_RAM AM_SHARE("work_ram_1")
AM_RANGE(0x2000, 0x3fff) AM_DEVREADWRITE("ppu2", ppu2c0x_device, read, write)
AM_RANGE(0x4014, 0x4014) AM_WRITE(sprite_dma_1_w)
@@ -244,7 +244,7 @@ READ8_MEMBER(vsnes_state::vsnes_bootleg_z80_data_r)
// the bootleg still makes writes to the PSG addresses, it seems the Z80 should interpret them to play the sounds
-static ADDRESS_MAP_START( vsnes_cpu1_bootleg_map, AS_PROGRAM, 8, vsnes_state )
+ADDRESS_MAP_START(vsnes_state::vsnes_cpu1_bootleg_map)
AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x1800) AM_RAM AM_SHARE("work_ram")
AM_RANGE(0x2000, 0x3fff) AM_DEVREADWRITE("ppu1", ppu2c0x_device, read, write)
AM_RANGE(0x4000, 0x4017) AM_WRITE(bootleg_sound_write)
@@ -261,7 +261,7 @@ READ8_MEMBER( vsnes_state::vsnes_bootleg_z80_latch_r )
return 0x00;
}
-static ADDRESS_MAP_START( vsnes_bootleg_z80_map, AS_PROGRAM, 8, vsnes_state )
+ADDRESS_MAP_START(vsnes_state::vsnes_bootleg_z80_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
diff --git a/src/mame/drivers/vt100.cpp b/src/mame/drivers/vt100.cpp
index 44df582d76e..12568f7f049 100644
--- a/src/mame/drivers/vt100.cpp
+++ b/src/mame/drivers/vt100.cpp
@@ -73,12 +73,16 @@ public:
void vt102(machine_config &config);
void vt100(machine_config &config);
void vt180(machine_config &config);
+ void vt100_io(address_map &map);
+ void vt100_mem(address_map &map);
+ void vt180_io(address_map &map);
+ void vt180_mem(address_map &map);
};
-static ADDRESS_MAP_START(vt100_mem, AS_PROGRAM, 8, vt100_state)
+ADDRESS_MAP_START(vt100_state::vt100_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x1fff ) AM_ROM // ROM ( 4 * 2K)
AM_RANGE( 0x2000, 0x2bff ) AM_RAM AM_SHARE("p_ram") // Screen and scratch RAM
@@ -90,13 +94,13 @@ static ADDRESS_MAP_START(vt100_mem, AS_PROGRAM, 8, vt100_state)
// 0xc000, 0xffff is unassigned
ADDRESS_MAP_END
-static ADDRESS_MAP_START(vt180_mem, AS_PROGRAM, 8, vt100_state)
+ADDRESS_MAP_START(vt100_state::vt180_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x1fff ) AM_ROM
AM_RANGE( 0x2000, 0xffff ) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(vt180_io, AS_IO, 8, vt100_state)
+ADDRESS_MAP_START(vt100_state::vt180_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
@@ -153,7 +157,7 @@ WRITE8_MEMBER( vt100_state::vt100_nvr_latch_w )
m_nvr->data_w(BIT(data, 2) ? 0 : !BIT(data, 0));
}
-static ADDRESS_MAP_START(vt100_io, AS_IO, 8, vt100_state)
+ADDRESS_MAP_START(vt100_state::vt100_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
// 0x00, 0x01 PUSART (Intel 8251)
diff --git a/src/mame/drivers/vt220.cpp b/src/mame/drivers/vt220.cpp
index c89589012a9..dc5f179e0d2 100644
--- a/src/mame/drivers/vt220.cpp
+++ b/src/mame/drivers/vt220.cpp
@@ -55,25 +55,29 @@ public:
required_device<ram_device> m_ram;
void vt220(machine_config &config);
void vt220a(machine_config &config);
+ void vt220_io(address_map &map);
+ void vt220_mem(address_map &map);
+ void vt220a_io(address_map &map);
+ void vt220a_mem(address_map &map);
};
-static ADDRESS_MAP_START(vt220_mem, AS_PROGRAM, 8, vt220_state)
+ADDRESS_MAP_START(vt220_state::vt220_mem)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("maincpu", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(vt220a_mem, AS_PROGRAM, 8, vt220_state)
+ADDRESS_MAP_START(vt220_state::vt220a_mem)
AM_RANGE(0x0000, 0xffff) AM_ROM AM_REGION("maincpu", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(vt220_io, AS_IO, 8, vt220_state)
+ADDRESS_MAP_START(vt220_state::vt220_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x2000, 0x2fff) AM_MIRROR(0xc000) AM_RAM
AM_RANGE(0x3800, 0x380f) AM_MIRROR(0xc7f0) AM_DEVREADWRITE("duart", scn2681_device, read, write)
AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_READNOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START(vt220a_io, AS_IO, 8, vt220_state)
+ADDRESS_MAP_START(vt220_state::vt220a_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_END
diff --git a/src/mame/drivers/vt240.cpp b/src/mame/drivers/vt240.cpp
index 6a093399333..f6029018551 100644
--- a/src/mame/drivers/vt240.cpp
+++ b/src/mame/drivers/vt240.cpp
@@ -124,6 +124,11 @@ public:
uint16_t m_scrl;
void mc7105(machine_config &config);
void vt240(machine_config &config);
+ void bank_map(address_map &map);
+ void upd7220_map(address_map &map);
+ void vt240_char_io(address_map &map);
+ void vt240_char_mem(address_map &map);
+ void vt240_mem(address_map &map);
};
void vt240_state::irq_encoder(int irq, int state)
@@ -537,14 +542,14 @@ WRITE8_MEMBER(vt240_state::hbscrl_w)
m_scrl = (m_scrl & 0xff) | ((data & 0x3f) << 8);
}
-static ADDRESS_MAP_START(bank_map, AS_PROGRAM, 16, vt240_state)
+ADDRESS_MAP_START(vt240_state::bank_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000, 0x1ffff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x80000, 0x87fff) AM_RAM
ADDRESS_MAP_END
// PDF page 78 (4-25)
-static ADDRESS_MAP_START( vt240_mem, AS_PROGRAM, 16, vt240_state )
+ADDRESS_MAP_START(vt240_state::vt240_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE (0000000, 0167777) AM_READWRITE(mem_r, mem_w)
AM_RANGE (0170000, 0170037) AM_READWRITE8(mem_map_cs_r, mem_map_cs_w, 0x00ff)
@@ -574,14 +579,14 @@ static ADDRESS_MAP_START( vt240_mem, AS_PROGRAM, 16, vt240_state )
ADDRESS_MAP_END
// PDF page 134 (6-9)
-static ADDRESS_MAP_START(vt240_char_mem, AS_PROGRAM, 8, vt240_state)
+ADDRESS_MAP_START(vt240_state::vt240_char_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_ROM AM_REGION("charcpu", 0)
AM_RANGE(0x4000, 0x5fff) AM_ROM AM_REGION("charcpu", 0x8000)
AM_RANGE(0x8000, 0x87ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(vt240_char_io, AS_IO, 8, vt240_state)
+ADDRESS_MAP_START(vt240_state::vt240_char_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("upd7220", upd7220_device, read, write)
@@ -598,7 +603,7 @@ static ADDRESS_MAP_START(vt240_char_io, AS_IO, 8, vt240_state)
AM_RANGE(0xf0, 0xf0) AM_WRITE(lbscrl_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( upd7220_map, 0, 16, vt240_state)
+ADDRESS_MAP_START(vt240_state::upd7220_map)
AM_RANGE(0x00000, 0x3ffff) AM_READWRITE(vram_r, vram_w) AM_SHARE("vram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/vt320.cpp b/src/mame/drivers/vt320.cpp
index 3349f373bf4..d7796cae164 100644
--- a/src/mame/drivers/vt320.cpp
+++ b/src/mame/drivers/vt320.cpp
@@ -30,6 +30,8 @@ public:
required_device<cpu_device> m_maincpu;
required_device<ram_device> m_ram;
void vt320(machine_config &config);
+ void vt320_io(address_map &map);
+ void vt320_mem(address_map &map);
};
/*
@@ -59,11 +61,11 @@ Texas Inst. 749X 75146
Signetics? 74LS373N
8-bit D-type latch. This has eight inputs and eight outputs.
*/
-static ADDRESS_MAP_START(vt320_mem, AS_PROGRAM, 8, vt320_state)
+ADDRESS_MAP_START(vt320_state::vt320_mem)
AM_RANGE(0x0000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(vt320_io, AS_IO, 8, vt320_state)
+ADDRESS_MAP_START(vt320_state::vt320_io)
ADDRESS_MAP_END
/* Input ports */
diff --git a/src/mame/drivers/vt520.cpp b/src/mame/drivers/vt520.cpp
index 3b8016f3ae0..b834c38f910 100644
--- a/src/mame/drivers/vt520.cpp
+++ b/src/mame/drivers/vt520.cpp
@@ -31,10 +31,12 @@ public:
required_region_ptr<uint8_t> m_rom;
void vt520(machine_config &config);
void vt420(machine_config &config);
+ void vt520_io(address_map &map);
+ void vt520_mem(address_map &map);
};
-static ADDRESS_MAP_START(vt520_mem, AS_PROGRAM, 8, vt520_state)
+ADDRESS_MAP_START(vt520_state::vt520_mem)
AM_RANGE(0x0000, 0xffff) AM_RAMBANK("bank1")
ADDRESS_MAP_END
@@ -51,7 +53,7 @@ READ8_MEMBER( vt520_state::vt520_some_r )
return 0x40;
}
-static ADDRESS_MAP_START(vt520_io, AS_IO, 8, vt520_state)
+ADDRESS_MAP_START(vt520_state::vt520_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x7ffb, 0x7ffb) AM_READ(vt520_some_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/vta2000.cpp b/src/mame/drivers/vta2000.cpp
index 29d2a99e0f6..da34f8f3b72 100644
--- a/src/mame/drivers/vta2000.cpp
+++ b/src/mame/drivers/vta2000.cpp
@@ -37,6 +37,8 @@ public:
DECLARE_PALETTE_INIT(vta2000);
void vta2000(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
virtual void machine_reset() override;
required_device<cpu_device> m_maincpu;
@@ -44,14 +46,14 @@ private:
required_region_ptr<u8> m_p_chargen;
};
-static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 8, vta2000_state)
+ADDRESS_MAP_START(vta2000_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x5fff ) AM_ROM AM_REGION("roms", 0)
AM_RANGE( 0x8000, 0xc7ff ) AM_RAM AM_SHARE("videoram")
AM_RANGE( 0xc800, 0xc8ff ) AM_ROM AM_REGION("roms", 0x5000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(io_map, AS_IO, 8, vta2000_state)
+ADDRESS_MAP_START(vta2000_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_END
diff --git a/src/mame/drivers/vtech1.cpp b/src/mame/drivers/vtech1.cpp
index 2b7a3a53b38..7afca3c973d 100644
--- a/src/mame/drivers/vtech1.cpp
+++ b/src/mame/drivers/vtech1.cpp
@@ -94,6 +94,11 @@ public:
void laser310h(machine_config &config);
void laser110(machine_config &config);
void laser210(machine_config &config);
+ void laser110_mem(address_map &map);
+ void laser210_mem(address_map &map);
+ void laser310_mem(address_map &map);
+ void vtech1_io(address_map &map);
+ void vtech1_shrg_io(address_map &map);
private:
static const uint8_t VZ_BASIC = 0xf0;
static const uint8_t VZ_MCODE = 0xf1;
@@ -298,33 +303,33 @@ DRIVER_INIT_MEMBER( vtech1_state, vtech1h )
ADDRESS MAPS
***************************************************************************/
-static ADDRESS_MAP_START( laser110_mem, AS_PROGRAM, 8, vtech1_state )
+ADDRESS_MAP_START(vtech1_state::laser110_mem)
AM_RANGE(0x0000, 0x3fff) AM_ROM // basic rom
AM_RANGE(0x6800, 0x6fff) AM_READWRITE(vtech1_keyboard_r, vtech1_latch_w)
AM_RANGE(0x7000, 0x77ff) AM_RAM AM_SHARE("videoram") // 6847
AM_RANGE(0x7800, 0x7fff) AM_RAM // 2k user ram
ADDRESS_MAP_END
-static ADDRESS_MAP_START( laser210_mem, AS_PROGRAM, 8, vtech1_state )
+ADDRESS_MAP_START(vtech1_state::laser210_mem)
AM_RANGE(0x0000, 0x3fff) AM_ROM // basic rom
AM_RANGE(0x6800, 0x6fff) AM_READWRITE(vtech1_keyboard_r, vtech1_latch_w)
AM_RANGE(0x7000, 0x77ff) AM_RAM AM_SHARE("videoram") // 6847
AM_RANGE(0x7800, 0x8fff) AM_RAM // 6k user ram
ADDRESS_MAP_END
-static ADDRESS_MAP_START( laser310_mem, AS_PROGRAM, 8, vtech1_state )
+ADDRESS_MAP_START(vtech1_state::laser310_mem)
AM_RANGE(0x0000, 0x3fff) AM_ROM // basic rom
AM_RANGE(0x6800, 0x6fff) AM_READWRITE(vtech1_keyboard_r, vtech1_latch_w)
AM_RANGE(0x7000, 0x77ff) AM_RAM AM_SHARE("videoram") // 6847
AM_RANGE(0x7800, 0xb7ff) AM_RAM // 16k user ram
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vtech1_io, AS_IO, 8, vtech1_state )
+ADDRESS_MAP_START(vtech1_state::vtech1_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x40, 0x4f) AM_READ(vtech1_lightpen_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vtech1_shrg_io, AS_IO, 8, vtech1_state )
+ADDRESS_MAP_START(vtech1_state::vtech1_shrg_io)
AM_IMPORT_FROM(vtech1_io)
AM_RANGE(0xd0, 0xdf) AM_WRITE(vtech1_video_bank_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/vtech2.cpp b/src/mame/drivers/vtech2.cpp
index 48032b3ec0e..8d6a3a199d7 100644
--- a/src/mame/drivers/vtech2.cpp
+++ b/src/mame/drivers/vtech2.cpp
@@ -78,7 +78,7 @@
#include "formats/vt_cas.h"
-static ADDRESS_MAP_START(vtech2_mem, AS_PROGRAM, 8, vtech2_state )
+ADDRESS_MAP_START(vtech2_state::vtech2_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_RAMBANK("bank1")
AM_RANGE(0x4000, 0x7fff) AM_RAMBANK("bank2")
@@ -86,7 +86,7 @@ static ADDRESS_MAP_START(vtech2_mem, AS_PROGRAM, 8, vtech2_state )
AM_RANGE(0xc000, 0xffff) AM_RAMBANK("bank4")
ADDRESS_MAP_END
-static ADDRESS_MAP_START(vtech2_io, AS_IO, 8, vtech2_state )
+ADDRESS_MAP_START(vtech2_state::vtech2_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x1f) AM_READWRITE(laser_fdc_r, laser_fdc_w)
AM_RANGE(0x40, 0x43) AM_WRITE(laser_bank_select_w)
diff --git a/src/mame/drivers/vulgus.cpp b/src/mame/drivers/vulgus.cpp
index 89c2b162970..eb959b3b3ba 100644
--- a/src/mame/drivers/vulgus.cpp
+++ b/src/mame/drivers/vulgus.cpp
@@ -58,7 +58,7 @@ INTERRUPT_GEN_MEMBER(vulgus_state::vblank_irq)
device.execute().set_input_line_and_vector(0, HOLD_LINE, 0xd7); /* RST 10h - vblank */
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, vulgus_state )
+ADDRESS_MAP_START(vulgus_state::main_map)
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("SYSTEM")
AM_RANGE(0xc001, 0xc001) AM_READ_PORT("P1")
@@ -77,7 +77,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, vulgus_state )
AM_RANGE(0xe000, 0xefff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, vulgus_state )
+ADDRESS_MAP_START(vulgus_state::sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x6000, 0x6000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
diff --git a/src/mame/drivers/wacky_gator.cpp b/src/mame/drivers/wacky_gator.cpp
index 01f8e715eec..d445e5b14de 100644
--- a/src/mame/drivers/wacky_gator.cpp
+++ b/src/mame/drivers/wacky_gator.cpp
@@ -84,6 +84,7 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(nmi_timer) { m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); }
void wackygtr(machine_config &config);
+ void program_map(address_map &map);
private:
int m_adpcm_sel;
uint16_t m_adpcm_pos;
@@ -250,7 +251,7 @@ WRITE_LINE_MEMBER(wackygtr_state::adpcm_int)
}
}
-static ADDRESS_MAP_START( program_map, AS_PROGRAM, 8, wackygtr_state )
+ADDRESS_MAP_START(wackygtr_state::program_map)
AM_RANGE(0x0200, 0x0200) AM_READNOP AM_WRITE(irq_ack_w)
AM_RANGE(0x0400, 0x0400) AM_READNOP AM_WRITE(firq_ack_w)
AM_RANGE(0x0600, 0x0600) AM_WRITE(disp0_w)
diff --git a/src/mame/drivers/wallc.cpp b/src/mame/drivers/wallc.cpp
index fc4956dd415..5b72a8c319c 100644
--- a/src/mame/drivers/wallc.cpp
+++ b/src/mame/drivers/wallc.cpp
@@ -81,6 +81,8 @@ public:
void wallc(machine_config &config);
void wallca(machine_config &config);
+ void unkitpkr_map(address_map &map);
+ void wallc_map(address_map &map);
protected:
virtual void video_start() override;
@@ -262,7 +264,7 @@ WRITE8_MEMBER(wallc_state::unkitpkr_out2_w)
{
}
-static ADDRESS_MAP_START( wallc_map, AS_PROGRAM, 8, wallc_state )
+ADDRESS_MAP_START(wallc_state::wallc_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(videoram_w) AM_MIRROR(0xc00) AM_SHARE("videoram") /* 2114, 2114 */
AM_RANGE(0xa000, 0xa3ff) AM_RAM /* 2114, 2114 */
@@ -279,7 +281,7 @@ static ADDRESS_MAP_START( wallc_map, AS_PROGRAM, 8, wallc_state )
AM_RANGE(0xb600, 0xb600) AM_DEVWRITE("aysnd", ay8912_device, data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( unkitpkr_map, AS_PROGRAM, 8, wallc_state )
+ADDRESS_MAP_START(wallc_state::unkitpkr_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(videoram_w) AM_MIRROR(0xc00) AM_SHARE("videoram") /* 2114, 2114 */
AM_RANGE(0xa000, 0xa3ff) AM_RAM /* 2114, 2114 */
diff --git a/src/mame/drivers/wangpc.cpp b/src/mame/drivers/wangpc.cpp
index 793ee78737a..ad2cc9b8f5a 100644
--- a/src/mame/drivers/wangpc.cpp
+++ b/src/mame/drivers/wangpc.cpp
@@ -215,6 +215,8 @@ public:
int m_led[6];
void wangpc(machine_config &config);
+ void wangpc_io(address_map &map);
+ void wangpc_mem(address_map &map);
};
@@ -728,7 +730,7 @@ READ8_MEMBER( wangpc_state::option_id_r )
// ADDRESS_MAP( wangpc_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( wangpc_mem, AS_PROGRAM, 16, wangpc_state )
+ADDRESS_MAP_START(wangpc_state::wangpc_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000, 0x1ffff) AM_RAM
AM_RANGE(0x40000, 0xf3fff) AM_DEVREADWRITE(WANGPC_BUS_TAG, wangpcbus_device, mrdc_r, amwc_w)
@@ -740,7 +742,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( wangpc_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( wangpc_io, AS_IO, 16, wangpc_state )
+ADDRESS_MAP_START(wangpc_state::wangpc_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x1000, 0x1001) AM_WRITE8(fdc_ctrl_w, 0x00ff)
AM_RANGE(0x1004, 0x1005) AM_READWRITE8(deselect_drive1_r, deselect_drive1_w, 0x00ff)
diff --git a/src/mame/drivers/wardner.cpp b/src/mame/drivers/wardner.cpp
index d2df7e8d6a4..0ea5fcc56d0 100644
--- a/src/mame/drivers/wardner.cpp
+++ b/src/mame/drivers/wardner.cpp
@@ -153,6 +153,13 @@ public:
DECLARE_DRIVER_INIT(wardner);
void wardner(machine_config &config);
+ void DSP_io_map(address_map &map);
+ void DSP_program_map(address_map &map);
+ void main_bank_map(address_map &map);
+ void main_io_map(address_map &map);
+ void main_program_map(address_map &map);
+ void sound_io_map(address_map &map);
+ void sound_program_map(address_map &map);
protected:
virtual void driver_start() override;
virtual void machine_reset() override;
@@ -166,7 +173,7 @@ WRITE8_MEMBER(wardner_state::wardner_bank_w)
m_membank->set_bank(data & 7);
}
-static ADDRESS_MAP_START( main_program_map, AS_PROGRAM, 8, wardner_state )
+ADDRESS_MAP_START(wardner_state::main_program_map)
AM_RANGE(0x0000, 0x6fff) AM_ROM
AM_RANGE(0x7000, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0x8fff) AM_WRITE(wardner_sprite_w) // AM_SHARE("spriteram8")
@@ -177,7 +184,7 @@ ADDRESS_MAP_END
// Overlapped RAM/Banked ROM
// Can't use AM_RANGE(0x00000, 0x3ffff) for ROM because the shared pointers get messed up somehow
-static ADDRESS_MAP_START( main_bank_map, AS_PROGRAM, 8, wardner_state )
+ADDRESS_MAP_START(wardner_state::main_bank_map)
AM_RANGE(0x00000, 0x00fff) AM_READ(wardner_sprite_r) AM_SHARE("spriteram8")
AM_RANGE(0x01000, 0x01fff) AM_ROM AM_REGION("maincpu", 0x1000)
AM_RANGE(0x02000, 0x02fff) AM_READONLY AM_SHARE("palette")
@@ -186,7 +193,7 @@ static ADDRESS_MAP_START( main_bank_map, AS_PROGRAM, 8, wardner_state )
AM_RANGE(0x04800, 0x3ffff) AM_ROM AM_REGION("maincpu", 0x4800)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_io_map, AS_IO, 8, wardner_state )
+ADDRESS_MAP_START(wardner_state::main_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVWRITE("crtc", mc6845_device, address_w)
AM_RANGE(0x02, 0x02) AM_DEVWRITE("crtc", mc6845_device, register_w)
@@ -211,14 +218,14 @@ ADDRESS_MAP_END
/***************************** Z80 Sound Memory Map *************************/
-static ADDRESS_MAP_START( sound_program_map, AS_PROGRAM, 8, wardner_state )
+ADDRESS_MAP_START(wardner_state::sound_program_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x807f) AM_RAM
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("sharedram")
AM_RANGE(0xc800, 0xcfff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, wardner_state )
+ADDRESS_MAP_START(wardner_state::sound_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
ADDRESS_MAP_END
@@ -226,13 +233,13 @@ ADDRESS_MAP_END
/***************************** TMS32010 Memory Map **************************/
-static ADDRESS_MAP_START( DSP_program_map, AS_PROGRAM, 16, wardner_state )
+ADDRESS_MAP_START(wardner_state::DSP_program_map)
AM_RANGE(0x000, 0x5ff) AM_ROM
ADDRESS_MAP_END
/* $000 - 08F TMS32010 Internal Data RAM in Data Address Space */
-static ADDRESS_MAP_START( DSP_io_map, AS_IO, 16, wardner_state )
+ADDRESS_MAP_START(wardner_state::DSP_io_map)
AM_RANGE(0x00, 0x00) AM_WRITE(wardner_dsp_addrsel_w)
AM_RANGE(0x01, 0x01) AM_READWRITE(wardner_dsp_r, wardner_dsp_w)
AM_RANGE(0x03, 0x03) AM_WRITE(twincobr_dsp_bio_w)
diff --git a/src/mame/drivers/warpsped.cpp b/src/mame/drivers/warpsped.cpp
index 5fa2dae2de7..3ac351519ff 100644
--- a/src/mame/drivers/warpsped.cpp
+++ b/src/mame/drivers/warpsped.cpp
@@ -121,6 +121,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_circles(bitmap_ind16 &bitmap);
void warpspeed(machine_config &config);
+ void warpspeed_io_map(address_map &map);
+ void warpspeed_map(address_map &map);
};
WRITE8_MEMBER(warpspeed_state::hardware_w)
@@ -231,13 +233,13 @@ uint32_t warpspeed_state::screen_update(screen_device &screen, bitmap_ind16 &bit
return 0;
}
-static ADDRESS_MAP_START( warpspeed_map, AS_PROGRAM, 8, warpspeed_state )
+ADDRESS_MAP_START(warpspeed_state::warpspeed_map)
AM_RANGE(0x0000, 0x0dff) AM_ROM
AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(vidram_w ) AM_SHARE("videoram")
AM_RANGE(0x1c00, 0x1cff) AM_RAM AM_SHARE("workram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START ( warpspeed_io_map, AS_IO, 8, warpspeed_state )
+ADDRESS_MAP_START(warpspeed_state::warpspeed_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
diff --git a/src/mame/drivers/warpwarp.cpp b/src/mame/drivers/warpwarp.cpp
index 4c2bedfa132..2c8917e2505 100644
--- a/src/mame/drivers/warpwarp.cpp
+++ b/src/mame/drivers/warpwarp.cpp
@@ -290,7 +290,7 @@ WRITE8_MEMBER(warpwarp_state::warpwarp_out0_w)
-static ADDRESS_MAP_START( geebee_map, AS_PROGRAM, 8, warpwarp_state )
+ADDRESS_MAP_START(warpwarp_state::geebee_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_MIRROR(0x400) AM_RAM_WRITE(geebee_videoram_w) AM_SHARE("geebee_videoram") // mirror used by kaitei due to a bug
AM_RANGE(0x3000, 0x37ff) AM_ROM AM_REGION("gfx1", 0) // 3000-33ff in geebee
@@ -300,14 +300,14 @@ static ADDRESS_MAP_START( geebee_map, AS_PROGRAM, 8, warpwarp_state )
AM_RANGE(0x7000, 0x7007) AM_MIRROR(0x0ff8) AM_DEVWRITE("latch", ls259_device, write_d0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( geebee_port_map, AS_IO, 8, warpwarp_state )
+ADDRESS_MAP_START(warpwarp_state::geebee_port_map)
AM_RANGE(0x50, 0x53) AM_READ(geebee_in_r)
AM_RANGE(0x60, 0x6f) AM_WRITE(geebee_out6_w)
AM_RANGE(0x70, 0x77) AM_MIRROR(0x08) AM_DEVWRITE("latch", ls259_device, write_d0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bombbee_map, AS_PROGRAM, 8, warpwarp_state )
+ADDRESS_MAP_START(warpwarp_state::bombbee_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
AM_RANGE(0x4000, 0x47ff) AM_RAM_WRITE(warpwarp_videoram_w) AM_SHARE("videoram")
@@ -318,7 +318,7 @@ static ADDRESS_MAP_START( bombbee_map, AS_PROGRAM, 8, warpwarp_state )
AM_RANGE(0x6030, 0x6037) AM_MIRROR(0x0008) AM_DEVWRITE("latch", ls259_device, write_d0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( warpwarp_map, AS_PROGRAM, 8, warpwarp_state )
+ADDRESS_MAP_START(warpwarp_state::warpwarp_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM
AM_RANGE(0x4000, 0x47ff) AM_RAM_WRITE(warpwarp_videoram_w) AM_SHARE("videoram")
diff --git a/src/mame/drivers/warriorb.cpp b/src/mame/drivers/warriorb.cpp
index ae999186ceb..d8192a8eff0 100644
--- a/src/mame/drivers/warriorb.cpp
+++ b/src/mame/drivers/warriorb.cpp
@@ -223,7 +223,7 @@ WRITE16_MEMBER(warriorb_state::tc0100scn_dual_screen_w)
MEMORY STRUCTURES
***********************************************************/
-static ADDRESS_MAP_START( darius2d_map, AS_PROGRAM, 16, warriorb_state )
+ADDRESS_MAP_START(warriorb_state::darius2d_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM /* main ram */
AM_RANGE(0x200000, 0x213fff) AM_DEVREAD("tc0100scn_1", tc0100scn_device, word_r) AM_WRITE(tc0100scn_dual_screen_w) /* tilemaps (all screens) */
@@ -239,7 +239,7 @@ static ADDRESS_MAP_START( darius2d_map, AS_PROGRAM, 16, warriorb_state )
AM_RANGE(0x830000, 0x830003) AM_READWRITE(sound_r, sound_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( warriorb_map, AS_PROGRAM, 16, warriorb_state )
+ADDRESS_MAP_START(warriorb_state::warriorb_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x200000, 0x213fff) AM_RAM
AM_RANGE(0x300000, 0x313fff) AM_DEVREAD("tc0100scn_1", tc0100scn_device, word_r) AM_WRITE(tc0100scn_dual_screen_w) /* tilemaps (all screens) */
@@ -256,7 +256,7 @@ ADDRESS_MAP_END
/***************************************************************************/
-static ADDRESS_MAP_START( z80_sound_map, AS_PROGRAM, 8, warriorb_state )
+ADDRESS_MAP_START(warriorb_state::z80_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("z80bank")
AM_RANGE(0xc000, 0xdfff) AM_RAM
diff --git a/src/mame/drivers/wc90.cpp b/src/mame/drivers/wc90.cpp
index 3797a5e98fb..67cc913efb2 100644
--- a/src/mame/drivers/wc90.cpp
+++ b/src/mame/drivers/wc90.cpp
@@ -75,7 +75,7 @@ WRITE8_MEMBER(wc90_state::bankswitch1_w)
-static ADDRESS_MAP_START( wc90_map_1, AS_PROGRAM, 8, wc90_state )
+ADDRESS_MAP_START(wc90_state::wc90_map_1)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_RAM /* Main RAM */
AM_RANGE(0xa000, 0xafff) AM_RAM_WRITE(fgvideoram_w) AM_SHARE("fgvideoram") /* fg video ram */
@@ -107,7 +107,7 @@ static ADDRESS_MAP_START( wc90_map_1, AS_PROGRAM, 8, wc90_state )
AM_RANGE(0xfce0, 0xfce0) AM_WRITE(bankswitch_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( wc90_map_2, AS_PROGRAM, 8, wc90_state )
+ADDRESS_MAP_START(wc90_state::wc90_map_2)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_SHARE("spriteram")
@@ -119,7 +119,7 @@ static ADDRESS_MAP_START( wc90_map_2, AS_PROGRAM, 8, wc90_state )
AM_RANGE(0xfc01, 0xfc01) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, wc90_state )
+ADDRESS_MAP_START(wc90_state::sound_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xf803) AM_DEVREADWRITE("ymsnd", ym2608_device, read, write)
diff --git a/src/mame/drivers/wc90b.cpp b/src/mame/drivers/wc90b.cpp
index 0771d0220e1..12bfc75443a 100644
--- a/src/mame/drivers/wc90b.cpp
+++ b/src/mame/drivers/wc90b.cpp
@@ -140,7 +140,7 @@ WRITE8_MEMBER(wc90b_state::slave_irq_ack_w)
}
-static ADDRESS_MAP_START( wc90b_map1, AS_PROGRAM, 8, wc90b_state )
+ADDRESS_MAP_START(wc90b_state::wc90b_map1)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_RAM /* Main RAM */
AM_RANGE(0xa000, 0xafff) AM_RAM_WRITE(fgvideoram_w) AM_SHARE("fgvideoram")
@@ -162,7 +162,7 @@ static ADDRESS_MAP_START( wc90b_map1, AS_PROGRAM, 8, wc90b_state )
AM_RANGE(0xfd0c, 0xfd0c) AM_READ(master_irq_ack_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( wc90b_map2, AS_PROGRAM, 8, wc90b_state )
+ADDRESS_MAP_START(wc90b_state::wc90b_map2)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_SHARE("spriteram")
@@ -175,7 +175,7 @@ static ADDRESS_MAP_START( wc90b_map2, AS_PROGRAM, 8, wc90b_state )
AM_RANGE(0xfd0c, 0xfd0c) AM_WRITE(slave_irq_ack_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_cpu, AS_PROGRAM, 8, wc90b_state )
+ADDRESS_MAP_START(wc90b_state::sound_cpu)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("audiobank")
AM_RANGE(0xe000, 0xe000) AM_WRITE(adpcm_control_w)
diff --git a/src/mame/drivers/wecleman.cpp b/src/mame/drivers/wecleman.cpp
index 67d5341db37..10eb1e70b34 100644
--- a/src/mame/drivers/wecleman.cpp
+++ b/src/mame/drivers/wecleman.cpp
@@ -507,7 +507,7 @@ WRITE16_MEMBER(wecleman_state::blitter_w)
WEC Le Mans 24 Main CPU Handlers
***************************************************************************/
-static ADDRESS_MAP_START( wecleman_map, AS_PROGRAM, 16, wecleman_state )
+ADDRESS_MAP_START(wecleman_state::wecleman_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM (03c000-03ffff used as RAM sometimes!)
AM_RANGE(0x040000, 0x043fff) AM_RAM // RAM
AM_RANGE(0x040494, 0x040495) AM_WRITE(wecleman_videostatus_w) AM_SHARE("videostatus") // cloud blending control (HACK)
@@ -539,7 +539,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( hotchase_map, AS_PROGRAM, 16, wecleman_state )
+ADDRESS_MAP_START(wecleman_state::hotchase_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x041fff) AM_RAM // RAM
AM_RANGE(0x060000, 0x063fff) AM_RAM // RAM
@@ -569,7 +569,7 @@ ADDRESS_MAP_END
WEC Le Mans 24 Sub CPU Handlers
***************************************************************************/
-static ADDRESS_MAP_START( wecleman_sub_map, AS_PROGRAM, 16, wecleman_state )
+ADDRESS_MAP_START(wecleman_state::wecleman_sub_map)
AM_RANGE(0x000000, 0x00ffff) AM_ROM // ROM
AM_RANGE(0x060000, 0x060fff) AM_RAM AM_SHARE("roadram") // Road
AM_RANGE(0x070000, 0x073fff) AM_RAM AM_SHARE("share1") // RAM (Shared with main CPU)
@@ -580,7 +580,7 @@ ADDRESS_MAP_END
Hot Chase Sub CPU Handlers
***************************************************************************/
-static ADDRESS_MAP_START( hotchase_sub_map, AS_PROGRAM, 16, wecleman_state )
+ADDRESS_MAP_START(wecleman_state::hotchase_sub_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM // ROM
AM_RANGE(0x020000, 0x020fff) AM_RAM AM_SHARE("roadram") // Road
AM_RANGE(0x040000, 0x043fff) AM_RAM AM_SHARE("share1") // Shared with main CPU
@@ -640,7 +640,7 @@ WRITE8_MEMBER(wecleman_state::wecleman_K00723216_bank_w)
m_k007232->set_bank(0, ~data&1 ); //* (wecleman062gre)
}
-static ADDRESS_MAP_START( wecleman_sound_map, AS_PROGRAM, 8, wecleman_state )
+ADDRESS_MAP_START(wecleman_state::wecleman_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM
AM_RANGE(0x8500, 0x8500) AM_WRITENOP // increased with speed (global volume)?
@@ -756,7 +756,7 @@ WRITE8_MEMBER(wecleman_state::hotchase_3_k007232_w)
m_k007232_3->write(space, offset ^ 1, data);
}
-static ADDRESS_MAP_START( hotchase_sound_map, AS_PROGRAM, 8, wecleman_state )
+ADDRESS_MAP_START(wecleman_state::hotchase_sound_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x1000, 0x100d) AM_READWRITE(hotchase_1_k007232_r, hotchase_1_k007232_w) // 3 x K007232
AM_RANGE(0x2000, 0x200d) AM_READWRITE(hotchase_2_k007232_r, hotchase_2_k007232_w)
diff --git a/src/mame/drivers/welltris.cpp b/src/mame/drivers/welltris.cpp
index be90e9be39b..7705bb44530 100644
--- a/src/mame/drivers/welltris.cpp
+++ b/src/mame/drivers/welltris.cpp
@@ -332,7 +332,7 @@ WRITE8_MEMBER(welltris_state::sound_bankswitch_w)
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, welltris_state )
+ADDRESS_MAP_START(welltris_state::main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x17ffff) AM_ROM
AM_RANGE(0x800000, 0x81ffff) AM_RAM AM_SHARE("pixelram") /* Graph_1 & 2*/
@@ -355,13 +355,13 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, welltris_state )
AM_RANGE(0xfff00c, 0xfff00f) AM_DEVWRITE8("gga", vsystem_gga_device, write, 0x00ff)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, welltris_state )
+ADDRESS_MAP_START(welltris_state::sound_map)
AM_RANGE(0x0000, 0x77ff) AM_ROM
AM_RANGE(0x7800, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("soundbank")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_port_map, AS_IO, 8, welltris_state )
+ADDRESS_MAP_START(welltris_state::sound_port_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(sound_bankswitch_w)
AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE("ymsnd", ym2610_device, read, write)
diff --git a/src/mame/drivers/wgp.cpp b/src/mame/drivers/wgp.cpp
index b2ce7742c3b..22149f34d02 100644
--- a/src/mame/drivers/wgp.cpp
+++ b/src/mame/drivers/wgp.cpp
@@ -609,7 +609,7 @@ WRITE8_MEMBER(wgp_state::sound_bankswitch_w)
MEMORY STRUCTURES
*****************************************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, wgp_state )
+ADDRESS_MAP_START(wgp_state::main_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM /* main CPUA ram */
AM_RANGE(0x140000, 0x143fff) AM_RAM AM_SHARE("sharedram")
@@ -628,7 +628,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, wgp_state )
AM_RANGE(0x700000, 0x701fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpu2_map, AS_PROGRAM, 16 /* LAN areas not mapped... */, wgp_state )
+ADDRESS_MAP_START(wgp_state::cpu2_map) /* LAN areas not mapped... */
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM
AM_RANGE(0x140000, 0x143fff) AM_RAM AM_SHARE("sharedram")
@@ -644,7 +644,7 @@ ADDRESS_MAP_END
/***************************************************************************/
-static ADDRESS_MAP_START( z80_sound_map, AS_PROGRAM, 8, wgp_state )
+ADDRESS_MAP_START(wgp_state::z80_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("z80bank")
AM_RANGE(0xc000, 0xdfff) AM_RAM
diff --git a/src/mame/drivers/wheelfir.cpp b/src/mame/drivers/wheelfir.cpp
index 17c5f02f83c..96477b66f21 100644
--- a/src/mame/drivers/wheelfir.cpp
+++ b/src/mame/drivers/wheelfir.cpp
@@ -289,6 +289,9 @@ public:
DECLARE_WRITE_LINE_MEMBER(screen_vblank_wheelfir);
TIMER_DEVICE_CALLBACK_MEMBER(scanline_timer_callback);
void wheelfir(machine_config &config);
+ void ramdac_map(address_map &map);
+ void wheelfir_main(address_map &map);
+ void wheelfir_sub(address_map &map);
};
@@ -606,7 +609,7 @@ WRITE16_MEMBER(wheelfir_state::coin_cnt_w)
machine().bookkeeping().coin_counter_w(1, data & 0x02);
}
-static ADDRESS_MAP_START( wheelfir_main, AS_PROGRAM, 16, wheelfir_state )
+ADDRESS_MAP_START(wheelfir_state::wheelfir_main)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM
@@ -627,7 +630,7 @@ static ADDRESS_MAP_START( wheelfir_main, AS_PROGRAM, 16, wheelfir_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( wheelfir_sub, AS_PROGRAM, 16, wheelfir_state )
+ADDRESS_MAP_START(wheelfir_state::wheelfir_sub)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM
@@ -744,7 +747,7 @@ void wheelfir_state::machine_start()
}
}
-static ADDRESS_MAP_START( ramdac_map, 0, 8, wheelfir_state )
+ADDRESS_MAP_START(wheelfir_state::ramdac_map)
AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac",ramdac_device,ramdac_pal_r,ramdac_rgb888_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/white_mod.cpp b/src/mame/drivers/white_mod.cpp
index e8ecfb7385f..4cb4e61f28e 100644
--- a/src/mame/drivers/white_mod.cpp
+++ b/src/mame/drivers/white_mod.cpp
@@ -17,6 +17,7 @@ public:
{ }
void whitestar_mod(machine_config &config);
+ void whitestar_mod_map(address_map &map);
protected:
// devices
@@ -29,7 +30,7 @@ public:
};
-static ADDRESS_MAP_START( whitestar_mod_map, AS_PROGRAM, 8, whitestar_mod_state )
+ADDRESS_MAP_START(whitestar_mod_state::whitestar_mod_map)
AM_RANGE(0x0000, 0xffff) AM_NOP
ADDRESS_MAP_END
diff --git a/src/mame/drivers/whitestar.cpp b/src/mame/drivers/whitestar.cpp
index 1ae100ff657..78c35824531 100644
--- a/src/mame/drivers/whitestar.cpp
+++ b/src/mame/drivers/whitestar.cpp
@@ -40,6 +40,7 @@ public:
virtual void machine_start() override;
INTERRUPT_GEN_MEMBER(whitestar_firq_interrupt);
void whitestar(machine_config &config);
+ void whitestar_map(address_map &map);
};
static INPUT_PORTS_START( whitestar )
@@ -66,7 +67,7 @@ static INPUT_PORTS_START( whitestar )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
-static ADDRESS_MAP_START( whitestar_map, AS_PROGRAM, 8, whitestar_state )
+ADDRESS_MAP_START(whitestar_state::whitestar_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x3000, 0x3000) AM_READ_PORT("DEDICATED")
AM_RANGE(0x3100, 0x3100) AM_READ_PORT("DSW0")
diff --git a/src/mame/drivers/wicat.cpp b/src/mame/drivers/wicat.cpp
index 0c64f432835..a6cf8bb1e2b 100644
--- a/src/mame/drivers/wicat.cpp
+++ b/src/mame/drivers/wicat.cpp
@@ -128,6 +128,11 @@ public:
void wicat(machine_config &config);
+ void wicat_mem(address_map &map);
+ void wicat_video_io(address_map &map);
+ void wicat_video_mem(address_map &map);
+ void wicat_wd1000_io(address_map &map);
+ void wicat_wd1000_mem(address_map &map);
private:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -155,7 +160,7 @@ private:
};
-static ADDRESS_MAP_START(wicat_mem, AS_PROGRAM, 16, wicat_state)
+ADDRESS_MAP_START(wicat_state::wicat_mem)
ADDRESS_MAP_UNMAP_LOW
ADDRESS_MAP_GLOBAL_MASK(0xffffff)
AM_RANGE(0x000000, 0x001fff) AM_ROM AM_REGION("c2", 0x0000)
@@ -179,12 +184,12 @@ static ADDRESS_MAP_START(wicat_mem, AS_PROGRAM, 16, wicat_state)
AM_RANGE(0xf00f00, 0xf00fff) AM_READWRITE(invalid_r,invalid_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(wicat_video_mem, AS_PROGRAM, 16, wicat_state)
+ADDRESS_MAP_START(wicat_state::wicat_video_mem)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("g1", 0x0000)
AM_RANGE(0x8000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(wicat_video_io, AS_IO, 8, wicat_state)
+ADDRESS_MAP_START(wicat_state::wicat_video_io)
// these are largely wild guesses...
AM_RANGE(0x0000,0x0003) AM_READWRITE(video_timer_r,video_timer_w) // some sort of timer?
AM_RANGE(0x0100,0x0107) AM_READWRITE(video_uart0_r,video_uart0_w) // INS2651 UART #1
@@ -202,12 +207,12 @@ static ADDRESS_MAP_START(wicat_video_io, AS_IO, 8, wicat_state)
AM_RANGE(0x9000,0x9fff) AM_ROM AM_REGION("g2char",0x0000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(wicat_wd1000_mem, AS_PROGRAM, 16, wicat_state)
+ADDRESS_MAP_START(wicat_state::wicat_wd1000_mem)
AM_RANGE(0x0000, 0x17ff) AM_ROM AM_REGION("wd3", 0x0000)
AM_RANGE(0x1800, 0x1fff) AM_NOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START(wicat_wd1000_io, AS_IO, 8, wicat_state)
+ADDRESS_MAP_START(wicat_state::wicat_wd1000_io)
AM_RANGE(0x0000, 0x00ff) AM_RAM // left bank - RAM
AM_RANGE(0x0100, 0x01ff) AM_RAM // right bank - I/O ports (TODO)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/wico.cpp b/src/mame/drivers/wico.cpp
index f268f7f730c..83567c72533 100644
--- a/src/mame/drivers/wico.cpp
+++ b/src/mame/drivers/wico.cpp
@@ -71,6 +71,8 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(irq_housekeeping);
TIMER_DEVICE_CALLBACK_MEMBER(firq_housekeeping);
void wico(machine_config &config);
+ void ccpu_map(address_map &map);
+ void hcpu_map(address_map &map);
private:
bool m_zcen;
bool m_gten;
@@ -85,7 +87,7 @@ private:
};
// housekeeping cpu
-static ADDRESS_MAP_START( hcpu_map, AS_PROGRAM, 8, wico_state )
+ADDRESS_MAP_START(wico_state::hcpu_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("sharedram")
AM_RANGE(0x1fe0, 0x1fe0) AM_WRITE(muxld_w)
//AM_RANGE(0x1fe1, 0x1fe1) AM_WRITE(store_w)
@@ -107,7 +109,7 @@ static ADDRESS_MAP_START( hcpu_map, AS_PROGRAM, 8, wico_state )
ADDRESS_MAP_END
// command cpu
-static ADDRESS_MAP_START( ccpu_map, AS_PROGRAM, 8, wico_state )
+ADDRESS_MAP_START(wico_state::ccpu_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("sharedram") // 2128 2k RAM
//AM_RANGE(0x1fe0, 0x1fe0) AM_WRITE(muxld_w) // to display module
//AM_RANGE(0x1fe1, 0x1fe1) AM_WRITE(store_w) // enable save to nvram
diff --git a/src/mame/drivers/wildpkr.cpp b/src/mame/drivers/wildpkr.cpp
index 19dd672c27f..3c2aa2e9bfd 100644
--- a/src/mame/drivers/wildpkr.cpp
+++ b/src/mame/drivers/wildpkr.cpp
@@ -219,6 +219,10 @@ public:
IRQ_CALLBACK_MEMBER(tabpkr_irq_ack);
void wildpkr(machine_config &config);
void tabpkr(machine_config &config);
+ void hd63484_map(address_map &map);
+ void ramdac_map(address_map &map);
+ void tabpkr_map(address_map &map);
+ void wildpkr_map(address_map &map);
};
@@ -302,7 +306,7 @@ WRITE16_MEMBER(wildpkr_state::unknown_trigger_w)
* Memory Map *
*************************/
-static ADDRESS_MAP_START( wildpkr_map, AS_PROGRAM, 16, wildpkr_state )
+ADDRESS_MAP_START(wildpkr_state::wildpkr_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x113fff) AM_RAM
AM_RANGE(0x800000, 0x800001) AM_DEVREADWRITE("acrtc", hd63484_device, status16_r, address16_w)
@@ -319,7 +323,7 @@ static ADDRESS_MAP_START( wildpkr_map, AS_PROGRAM, 16, wildpkr_state )
AM_RANGE(0x800286, 0x800289) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tabpkr_map, AS_PROGRAM, 16, wildpkr_state )
+ADDRESS_MAP_START(wildpkr_state::tabpkr_map)
AM_RANGE(0x000000, 0x2fffff) AM_ROM
AM_RANGE(0x300000, 0x303fff) AM_RAM
AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(nvram_w) AM_SHARE("nvram")
@@ -340,7 +344,7 @@ static ADDRESS_MAP_START( tabpkr_map, AS_PROGRAM, 16, wildpkr_state )
AM_RANGE(0x70000a, 0x70000b) AM_WRITENOP // only writes 0 at POST
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hd63484_map, 0, 16, wildpkr_state )
+ADDRESS_MAP_START(wildpkr_state::hd63484_map)
AM_RANGE(0x00000, 0x3ffff) AM_RAM
ADDRESS_MAP_END
@@ -432,7 +436,7 @@ void wildpkr_state::machine_start()
}
-static ADDRESS_MAP_START( ramdac_map, 0, 8, wildpkr_state )
+ADDRESS_MAP_START(wildpkr_state::ramdac_map)
AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac",ramdac_device,ramdac_pal_r,ramdac_rgb666_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/williams.cpp b/src/mame/drivers/williams.cpp
index f8691982ade..3aa8dd32add 100644
--- a/src/mame/drivers/williams.cpp
+++ b/src/mame/drivers/williams.cpp
@@ -521,7 +521,7 @@ Reference video: https://www.youtube.com/watch?v=R5OeC6Wc_yI
*
*************************************/
-static ADDRESS_MAP_START( defender_map, AS_PROGRAM, 8, williams_state )
+ADDRESS_MAP_START(williams_state::defender_map)
AM_RANGE(0x0000, 0xbfff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0xc000, 0xcfff) AM_DEVICE("bankc000", address_map_bank_device, amap8)
AM_RANGE(0xd000, 0xdfff) AM_WRITE(defender_bank_select_w)
@@ -529,7 +529,7 @@ static ADDRESS_MAP_START( defender_map, AS_PROGRAM, 8, williams_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( defender_bankc000_map, AS_PROGRAM, 8, williams_state )
+ADDRESS_MAP_START(williams_state::defender_bankc000_map)
AM_RANGE(0x0000, 0x000f) AM_MIRROR(0x03e0) AM_WRITEONLY AM_SHARE("paletteram")
AM_RANGE(0x03ff, 0x03ff) AM_WRITE(williams_watchdog_reset_w)
AM_RANGE(0x0010, 0x001f) AM_MIRROR(0x03e0) AM_WRITE(defender_video_control_w)
@@ -549,7 +549,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( williams_map, AS_PROGRAM, 8, williams_state )
+ADDRESS_MAP_START(williams_state::williams_map)
AM_RANGE(0x0000, 0x8fff) AM_READ_BANK("bank1") AM_WRITEONLY AM_SHARE("videoram")
AM_RANGE(0x9000, 0xbfff) AM_RAM
AM_RANGE(0xc000, 0xc00f) AM_MIRROR(0x03f0) AM_WRITEONLY AM_SHARE("paletteram")
@@ -571,7 +571,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( sinistar_map, AS_PROGRAM, 8, williams_state )
+ADDRESS_MAP_START(williams_state::sinistar_map)
AM_RANGE(0x0000, 0x8fff) AM_READ_BANK("bank1") AM_WRITEONLY AM_SHARE("videoram")
AM_RANGE(0x9000, 0xbfff) AM_RAM
AM_RANGE(0xc000, 0xc00f) AM_MIRROR(0x03f0) AM_WRITEONLY AM_SHARE("paletteram")
@@ -594,7 +594,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( blaster_map, AS_PROGRAM, 8, blaster_state )
+ADDRESS_MAP_START(blaster_state::blaster_map)
AM_RANGE(0x0000, 0x3fff) AM_READ_BANK("bank1") AM_WRITEONLY AM_SHARE("videoram")
AM_RANGE(0x4000, 0x8fff) AM_READ_BANK("bank2") AM_WRITEONLY
AM_RANGE(0xbb00, 0xbbff) AM_WRITEONLY AM_SHARE("blaster_pal0")
@@ -622,7 +622,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( williams2_common_map, AS_PROGRAM, 8, williams2_state )
+ADDRESS_MAP_START(williams2_state::williams2_common_map)
AM_RANGE(0x0000, 0xbfff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x0000, 0x7fff) AM_READ_BANK("bank1")
AM_RANGE(0x8000, 0x87ff) AM_DEVICE("bank8000", address_map_bank_device, amap8)
@@ -643,14 +643,14 @@ static ADDRESS_MAP_START( williams2_common_map, AS_PROGRAM, 8, williams2_state )
AM_RANGE(0xcc00, 0xcfff) AM_RAM_WRITE(williams_cmos_w) AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( williams2_bank8000_map, AS_PROGRAM, 8, williams2_state )
+ADDRESS_MAP_START(williams2_state::williams2_bank8000_map)
AM_RANGE(0x0000, 0x07ff) AM_RAMBANK("vram8000")
AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(williams2_paletteram_w) AM_SHARE("paletteram")
ADDRESS_MAP_END
/* mysticm and inferno: D000-DFFF is RAM */
-static ADDRESS_MAP_START( williams2_d000_ram_map, AS_PROGRAM, 8, williams2_state )
+ADDRESS_MAP_START(williams2_state::williams2_d000_ram_map)
AM_IMPORT_FROM(williams2_common_map)
AM_RANGE(0xd000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xffff) AM_ROM
@@ -658,7 +658,7 @@ ADDRESS_MAP_END
/* tshoot and joust2: D000-DFFF is ROM */
-static ADDRESS_MAP_START( williams2_d000_rom_map, AS_PROGRAM, 8, williams2_state )
+ADDRESS_MAP_START(williams2_state::williams2_d000_rom_map)
AM_IMPORT_FROM(williams2_common_map)
AM_RANGE(0xd000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -671,14 +671,14 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( defender_sound_map, AS_PROGRAM, 8, williams_state )
+ADDRESS_MAP_START(williams_state::defender_sound_map)
AM_RANGE(0x0000, 0x007f) AM_RAM /* internal RAM */
AM_RANGE(0x0400, 0x0403) AM_MIRROR(0x8000) AM_DEVREADWRITE("pia_2", pia6821_device, read, write)
AM_RANGE(0xb000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, williams_state )
+ADDRESS_MAP_START(williams_state::sound_map)
AM_RANGE(0x0000, 0x007f) AM_RAM /* internal RAM */
AM_RANGE(0x0080, 0x00ff) AM_RAM /* MC6810 RAM */
AM_RANGE(0x0400, 0x0403) AM_MIRROR(0x8000) AM_DEVREADWRITE("pia_2", pia6821_device, read, write)
@@ -686,7 +686,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, williams_state )
ADDRESS_MAP_END
/* Same as above, but for second sound board */
-static ADDRESS_MAP_START( sound_map_b, AS_PROGRAM, 8, blaster_state )
+ADDRESS_MAP_START(blaster_state::sound_map_b)
AM_RANGE(0x0000, 0x007f) AM_RAM /* internal RAM */
AM_RANGE(0x0080, 0x00ff) AM_RAM /* MC6810 RAM */
AM_RANGE(0x0400, 0x0403) AM_MIRROR(0x8000) AM_DEVREADWRITE("pia_2b", pia6821_device, read, write)
@@ -701,7 +701,7 @@ ADDRESS_MAP_END
*
*************************************/
-static ADDRESS_MAP_START( williams2_sound_map, AS_PROGRAM, 8, williams2_state )
+ADDRESS_MAP_START(williams2_state::williams2_sound_map)
AM_RANGE(0x0000, 0x007f) AM_RAM /* internal RAM */
AM_RANGE(0x0080, 0x00ff) AM_RAM /* MC6810 RAM */
AM_RANGE(0x2000, 0x2003) AM_MIRROR(0x1ffc) AM_DEVREADWRITE("pia_2", pia6821_device, read, write)
diff --git a/src/mame/drivers/wink.cpp b/src/mame/drivers/wink.cpp
index 75747fab254..6aa368ff2ca 100644
--- a/src/mame/drivers/wink.cpp
+++ b/src/mame/drivers/wink.cpp
@@ -63,6 +63,10 @@ public:
INTERRUPT_GEN_MEMBER(wink_sound);
void wink(machine_config &config);
+ void wink_io(address_map &map);
+ void wink_map(address_map &map);
+ void wink_sound_io(address_map &map);
+ void wink_sound_map(address_map &map);
};
@@ -133,7 +137,7 @@ WRITE8_MEMBER(wink_state::sound_irq_w)
//machine().scheduler().synchronize();
}
-static ADDRESS_MAP_START( wink_map, AS_PROGRAM, 8, wink_state )
+ADDRESS_MAP_START(wink_state::wink_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x97ff) AM_RAM AM_SHARE("nvram")
@@ -166,7 +170,7 @@ WRITE8_MEMBER(wink_state::prot_w)
//take a9-a15 and stuff them in a variable for later use.
}
-static ADDRESS_MAP_START( wink_io, AS_IO, 8, wink_state )
+ADDRESS_MAP_START(wink_state::wink_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x1f) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette") //0x10-0x1f is likely to be something else
// AM_RANGE(0x20, 0x20) AM_WRITENOP //??? seems unused..
@@ -189,13 +193,13 @@ static ADDRESS_MAP_START( wink_io, AS_IO, 8, wink_state )
AM_RANGE(0xe0, 0xff) AM_READ(prot_r) //load math unit from buffer & lower address-bus
ADDRESS_MAP_END
-static ADDRESS_MAP_START( wink_sound_map, AS_PROGRAM, 8, wink_state )
+ADDRESS_MAP_START(wink_state::wink_sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM
AM_RANGE(0x8000, 0x8000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( wink_sound_io, AS_IO, 8, wink_state )
+ADDRESS_MAP_START(wink_state::wink_sound_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("aysnd", ay8910_device, data_r, data_w)
AM_RANGE(0x80, 0x80) AM_DEVWRITE("aysnd", ay8910_device, address_w)
diff --git a/src/mame/drivers/wiping.cpp b/src/mame/drivers/wiping.cpp
index a0948cea089..2e7265c2bf8 100644
--- a/src/mame/drivers/wiping.cpp
+++ b/src/mame/drivers/wiping.cpp
@@ -78,7 +78,7 @@ WRITE_LINE_MEMBER(wiping_state::sound_irq_mask_w)
m_sound_irq_mask = state;
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, wiping_state )
+ADDRESS_MAP_START(wiping_state::main_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_SHARE("videoram")
AM_RANGE(0x8400, 0x87ff) AM_SHARE("colorram")
@@ -92,7 +92,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, wiping_state )
AM_RANGE(0xb800, 0xb800) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, wiping_state )
+ADDRESS_MAP_START(wiping_state::sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_DEVWRITE("wiping", wiping_sound_device, sound_w)
AM_RANGE(0x9000, 0x93ff) AM_RAM AM_SHARE("share1")
diff --git a/src/mame/drivers/witch.cpp b/src/mame/drivers/witch.cpp
index b6a9851f5c4..6084892705e 100644
--- a/src/mame/drivers/witch.cpp
+++ b/src/mame/drivers/witch.cpp
@@ -302,6 +302,8 @@ public:
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
virtual void machine_reset() override;
void witch(machine_config &config);
+ void map_main(address_map &map);
+ void map_sub(address_map &map);
};
@@ -479,7 +481,7 @@ WRITE8_MEMBER(witch_state::yscroll_w)
m_scrolly=data;
}
-static ADDRESS_MAP_START( map_main, AS_PROGRAM, 8, witch_state )
+ADDRESS_MAP_START(witch_state::map_main)
AM_RANGE(0x0000, UNBANKED_SIZE-1) AM_ROM
AM_RANGE(UNBANKED_SIZE, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0x8001) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
@@ -502,7 +504,7 @@ static ADDRESS_MAP_START( map_main, AS_PROGRAM, 8, witch_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( map_sub, AS_PROGRAM, 8, witch_state )
+ADDRESS_MAP_START(witch_state::map_sub)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8001) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
AM_RANGE(0x8008, 0x8009) AM_DEVREADWRITE("ym2", ym2203_device, read, write)
diff --git a/src/mame/drivers/wiz.cpp b/src/mame/drivers/wiz.cpp
index c3c7bf77bfd..3201c96dd9a 100644
--- a/src/mame/drivers/wiz.cpp
+++ b/src/mame/drivers/wiz.cpp
@@ -309,7 +309,7 @@ WRITE8_MEMBER(wiz_state::wiz_main_nmi_mask_w)
}
-static ADDRESS_MAP_START( kungfut_main_map, AS_PROGRAM, 8, wiz_state )
+ADDRESS_MAP_START(wiz_state::kungfut_main_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xd000, 0xd3ff) AM_RAM AM_SHARE("videoram2")
@@ -333,18 +333,18 @@ static ADDRESS_MAP_START( kungfut_main_map, AS_PROGRAM, 8, wiz_state )
AM_RANGE(0xf818, 0xf818) AM_WRITE(wiz_bgcolor_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, wiz_state )
+ADDRESS_MAP_START(wiz_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM AM_SHARE("decrypted_opcodes")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( wiz_main_map, AS_PROGRAM, 8, wiz_state )
+ADDRESS_MAP_START(wiz_state::wiz_main_map)
AM_IMPORT_FROM( kungfut_main_map )
AM_RANGE(0xc800, 0xc801) AM_WRITE(wiz_coin_counter_w)
AM_RANGE(0xd400, 0xd400) AM_READ(wiz_protection_r)
AM_RANGE(0xf000, 0xf000) AM_WRITE(wiz_sprite_bank_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( stinger_main_map, AS_PROGRAM, 8, wiz_state )
+ADDRESS_MAP_START(wiz_state::stinger_main_map)
AM_IMPORT_FROM( kungfut_main_map )
// AM_RANGE(0xf008, 0xf00f) AM_WRITENOP // ?
AM_RANGE(0xf800, 0xf800) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
@@ -361,7 +361,7 @@ WRITE8_MEMBER(wiz_state::wiz_sound_nmi_mask_w)
}
-static ADDRESS_MAP_START( kungfut_sound_map, AS_PROGRAM, 8, wiz_state )
+ADDRESS_MAP_START(wiz_state::kungfut_sound_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
@@ -371,7 +371,7 @@ static ADDRESS_MAP_START( kungfut_sound_map, AS_PROGRAM, 8, wiz_state )
AM_RANGE(0x7000, 0x7000) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_WRITE(wiz_sound_nmi_mask_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( stinger_sound_map, AS_PROGRAM, 8, wiz_state )
+ADDRESS_MAP_START(wiz_state::stinger_sound_map)
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
@@ -841,7 +841,7 @@ MACHINE_CONFIG_DERIVED(wiz_state::stinger, kungfut)
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(stinger_main_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
/* basic machine hardware */
MCFG_CPU_MODIFY("audiocpu")
diff --git a/src/mame/drivers/wmg.cpp b/src/mame/drivers/wmg.cpp
index 45b1a459f32..4dd207b9a8a 100644
--- a/src/mame/drivers/wmg.cpp
+++ b/src/mame/drivers/wmg.cpp
@@ -105,6 +105,8 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(wmg_mux_r);
void wmg(machine_config &config);
+ void wmg_cpu1(address_map &map);
+ void wmg_cpu2(address_map &map);
private:
uint8_t m_wmg_c400;
@@ -124,7 +126,7 @@ private:
* Address Map
*
*************************************/
-static ADDRESS_MAP_START( wmg_cpu1, AS_PROGRAM, 8, wmg_state )
+ADDRESS_MAP_START(wmg_state::wmg_cpu1)
AM_RANGE(0x0000, 0x8fff) AM_READ_BANK("bank1") AM_WRITEONLY AM_SHARE("videoram")
AM_RANGE(0x9000, 0xbfff) AM_RAM
AM_RANGE(0xc000, 0xcfff) AM_ROMBANK("bank7")
@@ -132,7 +134,7 @@ static ADDRESS_MAP_START( wmg_cpu1, AS_PROGRAM, 8, wmg_state )
AM_RANGE(0xd000, 0xd000) AM_WRITE(wmg_d000_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( wmg_cpu2, AS_PROGRAM, 8, wmg_state )
+ADDRESS_MAP_START(wmg_state::wmg_cpu2)
AM_RANGE(0x0000, 0x007f) AM_RAM /* internal RAM */
AM_RANGE(0x0080, 0x00ff) AM_RAM /* MC6810 RAM */
AM_RANGE(0x0400, 0x0403) AM_MIRROR(0x8000) AM_DEVREADWRITE("pia_2", pia6821_device, read, write)
diff --git a/src/mame/drivers/wms.cpp b/src/mame/drivers/wms.cpp
index b625e094e44..0484c351d58 100644
--- a/src/mame/drivers/wms.cpp
+++ b/src/mame/drivers/wms.cpp
@@ -102,6 +102,10 @@ public:
uint32_t screen_update_wms(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void wms(machine_config &config);
+ void adsp_data_map(address_map &map);
+ void adsp_program_map(address_map &map);
+ void wms_io(address_map &map);
+ void wms_map(address_map &map);
protected:
// devices
@@ -119,7 +123,7 @@ uint32_t wms_state::screen_update_wms(screen_device &screen, bitmap_ind16 &bitma
* Memory Map Information *
*********************************************/
-static ADDRESS_MAP_START( wms_map, AS_PROGRAM, 8, wms_state )
+ADDRESS_MAP_START(wms_state::wms_map)
AM_RANGE(0x00000, 0x0ffff) AM_RAM
AM_RANGE(0x60000, 0xfffff) AM_ROM AM_REGION("maincpu", 0x60000) // TODO: fix me
ADDRESS_MAP_END
@@ -129,15 +133,15 @@ READ8_MEMBER(wms_state::test_r)
return 1;
}
-static ADDRESS_MAP_START( wms_io, AS_IO, 8, wms_state )
+ADDRESS_MAP_START(wms_state::wms_io)
AM_RANGE(0x1207, 0x1207) AM_READ(test_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( adsp_program_map, AS_PROGRAM, 32, wms_state )
+ADDRESS_MAP_START(wms_state::adsp_program_map)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( adsp_data_map, AS_DATA, 16, wms_state )
+ADDRESS_MAP_START(wms_state::adsp_data_map)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/wolfpack.cpp b/src/mame/drivers/wolfpack.cpp
index fe23e166beb..9967a8193b6 100644
--- a/src/mame/drivers/wolfpack.cpp
+++ b/src/mame/drivers/wolfpack.cpp
@@ -127,7 +127,7 @@ WRITE8_MEMBER(wolfpack_state::coldetres_w)
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, wolfpack_state )
+ADDRESS_MAP_START(wolfpack_state::main_map)
AM_RANGE(0x0000, 0x00ff) AM_RAM AM_MIRROR(0x100)
AM_RANGE(0x1000, 0x1000) AM_READ_PORT("INPUTS")
AM_RANGE(0x1000, 0x10ff) AM_WRITEONLY AM_SHARE("alpha_num_ram")
diff --git a/src/mame/drivers/wpc_95.cpp b/src/mame/drivers/wpc_95.cpp
index 5c1e3b4d98e..962b057ce6b 100644
--- a/src/mame/drivers/wpc_95.cpp
+++ b/src/mame/drivers/wpc_95.cpp
@@ -61,6 +61,7 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(zc_timer);
void wpc_95(machine_config &config);
+ void wpc_95_map(address_map &map);
protected:
// devices
required_device<cpu_device> maincpu;
@@ -118,7 +119,7 @@ private:
bool sc_aux_lamps_handler(int sid, bool state);
};
-static ADDRESS_MAP_START( wpc_95_map, AS_PROGRAM, 8, wpc_95_state )
+ADDRESS_MAP_START(wpc_95_state::wpc_95_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x3000, 0x31ff) AM_RAMBANK("dmd0")
diff --git a/src/mame/drivers/wpc_an.cpp b/src/mame/drivers/wpc_an.cpp
index 9f517cca4e2..3872b2e2a2c 100644
--- a/src/mame/drivers/wpc_an.cpp
+++ b/src/mame/drivers/wpc_an.cpp
@@ -33,6 +33,7 @@ public:
void wpc_an_dd(machine_config &config);
void wpc_an(machine_config &config);
void wpc_an_base(machine_config &config);
+ void wpc_an_map(address_map &map);
protected:
// devices
@@ -70,7 +71,7 @@ private:
};
-static ADDRESS_MAP_START( wpc_an_map, AS_PROGRAM, 8, wpc_an_state )
+ADDRESS_MAP_START(wpc_an_state::wpc_an_map)
AM_RANGE(0x0000, 0x2fff) AM_READWRITE(ram_r,ram_w)
AM_RANGE(0x3000, 0x3faf) AM_RAM
AM_RANGE(0x3fb0, 0x3fff) AM_DEVREADWRITE("wpc",wpc_device,read,write) // WPC device
diff --git a/src/mame/drivers/wpc_dcs.cpp b/src/mame/drivers/wpc_dcs.cpp
index fd00b0e3d38..fbf595d7f7d 100644
--- a/src/mame/drivers/wpc_dcs.cpp
+++ b/src/mame/drivers/wpc_dcs.cpp
@@ -53,6 +53,7 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(zc_timer);
void wpc_dcs(machine_config &config);
+ void wpc_dcs_map(address_map &map);
protected:
// devices
required_device<cpu_device> maincpu;
@@ -72,7 +73,7 @@ private:
uint16_t rtc_base_day;
};
-static ADDRESS_MAP_START( wpc_dcs_map, AS_PROGRAM, 8, wpc_dcs_state )
+ADDRESS_MAP_START(wpc_dcs_state::wpc_dcs_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x3000, 0x31ff) AM_RAMBANK("dmd0")
diff --git a/src/mame/drivers/wpc_dot.cpp b/src/mame/drivers/wpc_dot.cpp
index 3fd3f879adb..7d4b046e972 100644
--- a/src/mame/drivers/wpc_dot.cpp
+++ b/src/mame/drivers/wpc_dot.cpp
@@ -9,7 +9,7 @@
#include "speaker.h"
-static ADDRESS_MAP_START( wpc_dot_map, AS_PROGRAM, 8, wpc_dot_state )
+ADDRESS_MAP_START(wpc_dot_state::wpc_dot_map)
AM_RANGE(0x0000, 0x2fff) AM_READWRITE(ram_r,ram_w)
AM_RANGE(0x3000, 0x31ff) AM_RAMBANK("dmdbank1")
AM_RANGE(0x3200, 0x33ff) AM_RAMBANK("dmdbank2")
diff --git a/src/mame/drivers/wpc_flip1.cpp b/src/mame/drivers/wpc_flip1.cpp
index 6402a28be05..81ea8a18dfa 100644
--- a/src/mame/drivers/wpc_flip1.cpp
+++ b/src/mame/drivers/wpc_flip1.cpp
@@ -9,7 +9,7 @@
#include "speaker.h"
-static ADDRESS_MAP_START( wpc_flip1_map, AS_PROGRAM, 8, wpc_flip1_state )
+ADDRESS_MAP_START(wpc_flip1_state::wpc_flip1_map)
AM_RANGE(0x0000, 0x2fff) AM_READWRITE(ram_r,ram_w)
AM_RANGE(0x3000, 0x31ff) AM_RAMBANK("dmdbank1")
AM_RANGE(0x3200, 0x33ff) AM_RAMBANK("dmdbank2")
diff --git a/src/mame/drivers/wpc_flip2.cpp b/src/mame/drivers/wpc_flip2.cpp
index f221ec95bea..ecd513bedf1 100644
--- a/src/mame/drivers/wpc_flip2.cpp
+++ b/src/mame/drivers/wpc_flip2.cpp
@@ -9,7 +9,7 @@
#include "speaker.h"
-static ADDRESS_MAP_START( wpc_flip2_map, AS_PROGRAM, 8, wpc_flip2_state )
+ADDRESS_MAP_START(wpc_flip2_state::wpc_flip2_map)
AM_RANGE(0x0000, 0x2fff) AM_READWRITE(ram_r,ram_w)
AM_RANGE(0x3000, 0x31ff) AM_RAMBANK("dmdbank1")
AM_RANGE(0x3200, 0x33ff) AM_RAMBANK("dmdbank2")
diff --git a/src/mame/drivers/wpc_s.cpp b/src/mame/drivers/wpc_s.cpp
index f66b4199022..852e559af01 100644
--- a/src/mame/drivers/wpc_s.cpp
+++ b/src/mame/drivers/wpc_s.cpp
@@ -56,6 +56,7 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(zc_timer);
void wpc_s(machine_config &config);
+ void wpc_s_map(address_map &map);
protected:
// devices
required_device<cpu_device> maincpu;
@@ -99,7 +100,7 @@ private:
uint16_t rtc_base_day;
};
-static ADDRESS_MAP_START( wpc_s_map, AS_PROGRAM, 8, wpc_s_state )
+ADDRESS_MAP_START(wpc_s_state::wpc_s_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x3000, 0x31ff) AM_RAMBANK("dmd0")
AM_RANGE(0x3200, 0x33ff) AM_RAMBANK("dmd2")
diff --git a/src/mame/drivers/wrally.cpp b/src/mame/drivers/wrally.cpp
index f84847c1374..77b4d3be621 100644
--- a/src/mame/drivers/wrally.cpp
+++ b/src/mame/drivers/wrally.cpp
@@ -138,12 +138,12 @@ The PCB has a layout that can either use the 4 rom set of I7, I9, I11 & I13 or l
#include "speaker.h"
-static ADDRESS_MAP_START( mcu_hostmem_map, 0, 8, wrally_state )
+ADDRESS_MAP_START(wrally_state::mcu_hostmem_map)
AM_RANGE(0x0000, 0xffff) AM_MASK(0x3fff) AM_READWRITE(shareram_r, shareram_w) // shared RAM with the main CPU
ADDRESS_MAP_END
-static ADDRESS_MAP_START( wrally_map, AS_PROGRAM, 16, wrally_state )
+ADDRESS_MAP_START(wrally_state::wrally_map)
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
AM_RANGE(0x100000, 0x103fff) AM_RAM_WRITE(vram_w) AM_SHARE("videoram") /* encrypted Video RAM */
AM_RANGE(0x108000, 0x108007) AM_RAM AM_SHARE("vregs") /* Video Registers */
@@ -154,7 +154,7 @@ static ADDRESS_MAP_START( wrally_map, AS_PROGRAM, 16, wrally_state )
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("P1_P2")
AM_RANGE(0x700004, 0x700005) AM_READ_PORT("WHEEL")
AM_RANGE(0x700008, 0x700009) AM_READ_PORT("SYSTEM")
- AM_RANGE(0x70000a, 0x70000b) AM_SELECT(0x000070) AM_DEVWRITE8_MOD("outlatch", ls259_device, write_d0, rshift<3>, 0x00ff)
+ ;map(0x70000a, 0x70000b).select(0x000070).lw8("outlatch_w", [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_outlatch->write_d0(space, offset >> 3, data, mem_mask); }).umask16(0x00ff);
AM_RANGE(0x70000c, 0x70000d) AM_WRITE(okim6295_bankswitch_w) /* OKI6295 bankswitch */
AM_RANGE(0x70000e, 0x70000f) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff) /* OKI6295 status/data register */
AM_RANGE(0xfec000, 0xfeffff) AM_RAM AM_SHARE("shareram") /* Work RAM (shared with DS5002FP) */
@@ -162,7 +162,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( oki_map, 0, 8, wrally_state )
+ADDRESS_MAP_START(wrally_state::oki_map)
AM_RANGE(0x00000, 0x2ffff) AM_ROM
AM_RANGE(0x30000, 0x3ffff) AM_ROMBANK("okibank")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/wswan.cpp b/src/mame/drivers/wswan.cpp
index 8f81a285bd6..985e892fea1 100644
--- a/src/mame/drivers/wswan.cpp
+++ b/src/mame/drivers/wswan.cpp
@@ -42,20 +42,20 @@
#include "wswan.lh"
-static ADDRESS_MAP_START (wswan_mem, AS_PROGRAM, 8, wswan_state)
+ADDRESS_MAP_START(wswan_state::wswan_mem)
AM_RANGE(0x00000, 0x03fff) AM_DEVREADWRITE("vdp", wswan_video_device, vram_r, vram_w) // 16kb RAM / 4 colour tiles
AM_RANGE(0x04000, 0x0ffff) AM_NOP // nothing
//AM_RANGE(0x10000, 0xeffff) // cart range, setup at machine_start
AM_RANGE(0xf0000, 0xfffff) AM_READ(bios_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START (wscolor_mem, AS_PROGRAM, 8, wswan_state)
+ADDRESS_MAP_START(wswan_state::wscolor_mem)
AM_RANGE(0x00000, 0x0ffff) AM_DEVREADWRITE("vdp", wswan_video_device, vram_r, vram_w) // 16kb RAM / 4 colour tiles, 16 colour tiles + palettes
//AM_RANGE(0x10000, 0xeffff) // cart range, setup at machine_start
AM_RANGE(0xf0000, 0xfffff) AM_READ(bios_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START (wswan_io, AS_IO, 8, wswan_state)
+ADDRESS_MAP_START(wswan_state::wswan_io)
AM_RANGE(0x00, 0xff) AM_READWRITE(port_r, port_w) // I/O ports
ADDRESS_MAP_END
diff --git a/src/mame/drivers/wwfsstar.cpp b/src/mame/drivers/wwfsstar.cpp
index f8f4e3cc5ea..7efdf31a5b3 100644
--- a/src/mame/drivers/wwfsstar.cpp
+++ b/src/mame/drivers/wwfsstar.cpp
@@ -174,7 +174,7 @@ static constexpr XTAL PIXEL_CLOCK = MASTER_CLOCK / 4;
Pretty Straightforward
*******************************************************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, wwfsstar_state )
+ADDRESS_MAP_START(wwfsstar_state::main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(fg0_videoram_w) AM_SHARE("fg0_videoram") /* FG0 Ram */
AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM_WRITE(bg0_videoram_w) AM_SHARE("bg0_videoram") /* BG0 Ram */
@@ -192,7 +192,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, wwfsstar_state )
AM_RANGE(0x1c0000, 0x1c3fff) AM_RAM /* Work Ram */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, wwfsstar_state )
+ADDRESS_MAP_START(wwfsstar_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
diff --git a/src/mame/drivers/wyse.cpp b/src/mame/drivers/wyse.cpp
index e3288c86847..66c21fce1b9 100644
--- a/src/mame/drivers/wyse.cpp
+++ b/src/mame/drivers/wyse.cpp
@@ -40,16 +40,18 @@ public:
{ }
void wyse(machine_config &config);
+void io_map(address_map &map);
+void mem_map(address_map &map);
private:
// required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, wyse_state )
+ADDRESS_MAP_START(wyse_state::mem_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0xc000, 0xffff) AM_RAM AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, wyse_state )
+ADDRESS_MAP_START(wyse_state::io_map)
ADDRESS_MAP_END
static INPUT_PORTS_START( wyse )
diff --git a/src/mame/drivers/wyvernf0.cpp b/src/mame/drivers/wyvernf0.cpp
index 4ca2c66a00b..0a59e4331e2 100644
--- a/src/mame/drivers/wyvernf0.cpp
+++ b/src/mame/drivers/wyvernf0.cpp
@@ -108,6 +108,8 @@ public:
required_device<palette_device> m_palette;
required_device<generic_latch_8_device> m_soundlatch;
void wyvernf0(machine_config &config);
+ void sound_map(address_map &map);
+ void wyvernf0_map(address_map &map);
};
@@ -383,7 +385,7 @@ WRITE8_MEMBER(wyvernf0_state::nmi_enable_w)
}
}
-static ADDRESS_MAP_START( wyvernf0_map, AS_PROGRAM, 8, wyvernf0_state )
+ADDRESS_MAP_START(wyvernf0_state::wyvernf0_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM
@@ -422,7 +424,7 @@ static ADDRESS_MAP_START( wyvernf0_map, AS_PROGRAM, 8, wyvernf0_state )
AM_RANGE(0xdc00, 0xdc00) AM_WRITENOP // irq ack?
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, wyvernf0_state )
+ADDRESS_MAP_START(wyvernf0_state::sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc801) AM_DEVWRITE("ay1", ym2149_device, address_data_w)
diff --git a/src/mame/drivers/x07.cpp b/src/mame/drivers/x07.cpp
index 5c2561e3a19..6bdd855c928 100644
--- a/src/mame/drivers/x07.cpp
+++ b/src/mame/drivers/x07.cpp
@@ -1220,7 +1220,7 @@ WRITE8_MEMBER( x07_state::x07_io_w )
}
}
-static ADDRESS_MAP_START(x07_mem, AS_PROGRAM, 8, x07_state)
+ADDRESS_MAP_START(x07_state::x07_mem)
ADDRESS_MAP_UNMAP_LOW
AM_RANGE(0x0000, 0x1fff) AM_NOP //RAM installed at runtime
AM_RANGE(0x2000, 0x7fff) AM_NOP //Memory Card RAM/ROM
@@ -1230,7 +1230,7 @@ static ADDRESS_MAP_START(x07_mem, AS_PROGRAM, 8, x07_state)
AM_RANGE(0xb000, 0xffff) AM_ROM AM_REGION("basic", 0) //BASIC ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( x07_io , AS_IO, 8, x07_state)
+ADDRESS_MAP_START(x07_state::x07_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK (0xff)
AM_RANGE(0x00, 0xff) AM_READWRITE(x07_io_r, x07_io_w)
diff --git a/src/mame/drivers/x1.cpp b/src/mame/drivers/x1.cpp
index 945bc364e05..2c0c52668cd 100644
--- a/src/mame/drivers/x1.cpp
+++ b/src/mame/drivers/x1.cpp
@@ -1319,7 +1319,7 @@ WRITE8_MEMBER( x1_state::x1turbo_mem_w )
*
*************************************/
-static ADDRESS_MAP_START( x1_io_banks_common, AS_IO, 8, x1_state )
+ADDRESS_MAP_START(x1_state::x1_io_banks_common)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0e00, 0x0e02) AM_WRITE(x1_rom_w)
@@ -1350,7 +1350,7 @@ static ADDRESS_MAP_START( x1_io_banks_common, AS_IO, 8, x1_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( x1_io_banks, AS_IO, 8, x1_state )
+ADDRESS_MAP_START(x1_state::x1_io_banks)
AM_IMPORT_FROM(x1_io_banks_common)
// AM_RANGE(0x0700, 0x0701) TODO: user could install ym2151 on plain X1 too
@@ -1363,7 +1363,7 @@ static ADDRESS_MAP_START( x1_io_banks, AS_IO, 8, x1_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( x1turbo_io_banks, AS_IO, 8, x1_state )
+ADDRESS_MAP_START(x1_state::x1turbo_io_banks)
AM_IMPORT_FROM(x1_io_banks_common)
// a * at the end states devices used on plain X1 too
@@ -1408,15 +1408,15 @@ static ADDRESS_MAP_START( x1turbo_io_banks, AS_IO, 8, x1_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( x1_mem, AS_PROGRAM, 8, x1_state )
+ADDRESS_MAP_START(x1_state::x1_mem)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(x1_mem_r,x1_mem_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( x1turbo_mem, AS_PROGRAM, 8, x1_state )
+ADDRESS_MAP_START(x1_state::x1turbo_mem)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(x1turbo_mem_r,x1turbo_mem_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( x1_io, AS_IO, 8, x1_state )
+ADDRESS_MAP_START(x1_state::x1_io)
AM_RANGE(0x0000, 0xffff) AM_DEVICE("iobank", address_map_bank_device, amap8)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/x1twin.cpp b/src/mame/drivers/x1twin.cpp
index b1a8daab80a..730a9175aab 100644
--- a/src/mame/drivers/x1twin.cpp
+++ b/src/mame/drivers/x1twin.cpp
@@ -35,6 +35,10 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(ipl_reset);
DECLARE_INPUT_CHANGED_MEMBER(nmi_reset);
void x1twin(machine_config &config);
+ void pce_io(address_map &map);
+ void pce_mem(address_map &map);
+ void x1_io(address_map &map);
+ void x1_mem(address_map &map);
};
@@ -48,62 +52,18 @@ uint32_t x1twin_state::screen_update_x1pce(screen_device &screen, bitmap_rgb32 &
return 0;
}
-static ADDRESS_MAP_START( x1_io_banks_common, AS_IO, 8, x1_state )
- ADDRESS_MAP_UNMAP_HIGH
-
- AM_RANGE(0x0e00, 0x0e02) AM_WRITE(x1_rom_w)
- AM_RANGE(0x0e03, 0x0e03) AM_READ(x1_rom_r)
-
- AM_RANGE(0x0ff8, 0x0fff) AM_READWRITE(x1_fdc_r, x1_fdc_w)
-
- AM_RANGE(0x1300, 0x1300) AM_MIRROR(0x00ff) AM_WRITE(x1_pri_w)
- AM_RANGE(0x1400, 0x17ff) AM_READWRITE(x1_pcg_r, x1_pcg_w)
-
- AM_RANGE(0x1800, 0x1801) AM_WRITE(x1_6845_w)
-
- AM_RANGE(0x1900, 0x1900) AM_MIRROR(0x00ff) AM_READWRITE(x1_sub_io_r, x1_sub_io_w)
- AM_RANGE(0x1a00, 0x1a03) AM_MIRROR(0x00fc) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
- AM_RANGE(0x1b00, 0x1b00) AM_MIRROR(0x00ff) AM_DEVREADWRITE("ay", ay8910_device, data_r, data_w)
- AM_RANGE(0x1c00, 0x1c00) AM_MIRROR(0x00ff) AM_DEVWRITE("ay", ay8910_device, address_w)
- AM_RANGE(0x1d00, 0x1d00) AM_MIRROR(0x00ff) AM_WRITE(x1_rom_bank_1_w)
- AM_RANGE(0x1e00, 0x1e00) AM_MIRROR(0x00ff) AM_WRITE(x1_rom_bank_0_w)
-
- AM_RANGE(0x1fa0, 0x1fa3) AM_DEVREADWRITE("ctc", z80ctc_device, read, write)
- AM_RANGE(0x1fa8, 0x1fab) AM_DEVREADWRITE("ctc", z80ctc_device, read, write)
-
- AM_RANGE(0x2000, 0x27ff) AM_MIRROR(0x0800) AM_RAM AM_SHARE("avram")
-
- AM_RANGE(0x4000, 0xffff) AM_READWRITE_BANK("bitmapbank")
-
- AM_RANGE(0x10000, 0x1ffff) AM_READWRITE(x1_ex_gfxram_r, x1_ex_gfxram_w)
-ADDRESS_MAP_END
-
-
-static ADDRESS_MAP_START( x1_io_banks, AS_IO, 8, x1_state )
- AM_IMPORT_FROM(x1_io_banks_common)
-
-// AM_RANGE(0x0700, 0x0701) TODO: user could install ym2151 on plain X1 too
-
- AM_RANGE(0x1000, 0x1000) AM_MIRROR(0x00ff) AM_WRITE(x1_pal_b_w)
- AM_RANGE(0x1100, 0x1100) AM_MIRROR(0x00ff) AM_WRITE(x1_pal_r_w)
- AM_RANGE(0x1200, 0x1200) AM_MIRROR(0x00ff) AM_WRITE(x1_pal_g_w)
-
- AM_RANGE(0x3000, 0x37ff) AM_MIRROR(0x0800) AM_RAM AM_SHARE("tvram") // Ys checks if it's a x1/x1turbo machine by checking if this area is a mirror
-ADDRESS_MAP_END
-
-
-static ADDRESS_MAP_START( x1_mem, AS_PROGRAM, 8, x1twin_state )
+ADDRESS_MAP_START(x1twin_state::x1_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xffff) AM_READWRITE(x1_mem_r,x1_mem_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( x1_io, AS_IO, 8, x1twin_state )
+ADDRESS_MAP_START(x1twin_state::x1_io)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0xffff) AM_DEVICE("iobank", address_map_bank_device, amap8)
ADDRESS_MAP_END
#if 0
-static ADDRESS_MAP_START( pce_mem , AS_PROGRAM, 8, x1twin_state )
+ADDRESS_MAP_START(x1twin_state::pce_mem)
AM_RANGE( 0x000000, 0x09FFFF) AM_ROM
AM_RANGE( 0x1F0000, 0x1F1FFF) AM_RAM AM_MIRROR(0x6000)
AM_RANGE( 0x1FE000, 0x1FE3FF) AM_READWRITE( vdc_r, vdc_w )
@@ -114,7 +74,7 @@ static ADDRESS_MAP_START( pce_mem , AS_PROGRAM, 8, x1twin_state )
AM_RANGE( 0x1FF400, 0x1FF7FF) AM_DEVREADWRITE( "maincpu", h6280_device, irq_status_r, irq_status_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pce_io, AS_IO, 8, x1twin_state )
+ADDRESS_MAP_START(x1twin_state::pce_io)
AM_RANGE( 0x00, 0x03) AM_READWRITE( vdc_r, vdc_w )
ADDRESS_MAP_END
#endif
diff --git a/src/mame/drivers/x68k.cpp b/src/mame/drivers/x68k.cpp
index 3655a3b5fd0..5899a632a38 100644
--- a/src/mame/drivers/x68k.cpp
+++ b/src/mame/drivers/x68k.cpp
@@ -1134,7 +1134,7 @@ WRITE_LINE_MEMBER(x68k_state::x68k_scsi_drq)
// TODO
}
-static ADDRESS_MAP_START(x68k_map, AS_PROGRAM, 16, x68k_state )
+ADDRESS_MAP_START(x68k_state::x68k_map)
AM_RANGE(0x000000, 0xbffffb) AM_READWRITE(x68k_emptyram_r, x68k_emptyram_w)
AM_RANGE(0xbffffc, 0xbfffff) AM_READWRITE(x68k_rom0_r, x68k_rom0_w)
AM_RANGE(0xc00000, 0xdfffff) AM_READWRITE(x68k_gvram_r, x68k_gvram_w)
@@ -1172,7 +1172,7 @@ static ADDRESS_MAP_START(x68k_map, AS_PROGRAM, 16, x68k_state )
AM_RANGE(0xfe0000, 0xffffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(x68kxvi_map, AS_PROGRAM, 16, x68k_state )
+ADDRESS_MAP_START(x68k_state::x68kxvi_map)
AM_RANGE(0x000000, 0xbffffb) AM_READWRITE(x68k_emptyram_r, x68k_emptyram_w)
AM_RANGE(0xbffffc, 0xbfffff) AM_READWRITE(x68k_rom0_r, x68k_rom0_w)
AM_RANGE(0xc00000, 0xdfffff) AM_READWRITE(x68k_gvram_r, x68k_gvram_w)
@@ -1211,7 +1211,7 @@ static ADDRESS_MAP_START(x68kxvi_map, AS_PROGRAM, 16, x68k_state )
AM_RANGE(0xfe0000, 0xffffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(x68030_map, AS_PROGRAM, 32, x68k_state )
+ADDRESS_MAP_START(x68k_state::x68030_map)
ADDRESS_MAP_GLOBAL_MASK(0x00ffffff) // Still only has 24-bit address space
AM_RANGE(0x000000, 0xbffffb) AM_READWRITE16(x68k_emptyram_r, x68k_emptyram_w,0xffffffff)
AM_RANGE(0xbffffc, 0xbfffff) AM_READWRITE16(x68k_rom0_r, x68k_rom0_w,0xffffffff)
diff --git a/src/mame/drivers/xain.cpp b/src/mame/drivers/xain.cpp
index 05d3040fbed..efc108e9399 100644
--- a/src/mame/drivers/xain.cpp
+++ b/src/mame/drivers/xain.cpp
@@ -282,7 +282,7 @@ READ8_MEMBER(xain_state::mcu_comm_reset_r)
}
-static ADDRESS_MAP_START( bootleg_map, AS_PROGRAM, 8, xain_state )
+ADDRESS_MAP_START(xain_state::bootleg_map)
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(charram_w) AM_SHARE("charram")
AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(bgram1_w) AM_SHARE("bgram1")
@@ -307,14 +307,14 @@ static ADDRESS_MAP_START( bootleg_map, AS_PROGRAM, 8, xain_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, xain_state )
+ADDRESS_MAP_START(xain_state::main_map)
AM_IMPORT_FROM(bootleg_map)
AM_RANGE(0x3a04, 0x3a04) AM_DEVREAD("mcu", taito68705_mcu_device, data_r)
AM_RANGE(0x3a06, 0x3a06) AM_READ(mcu_comm_reset_r)
AM_RANGE(0x3a0e, 0x3a0e) AM_DEVWRITE("mcu", taito68705_mcu_device, data_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpu_map_B, AS_PROGRAM, 8, xain_state )
+ADDRESS_MAP_START(xain_state::cpu_map_B)
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x2000, 0x2000) AM_WRITE(irqA_assert_w)
AM_RANGE(0x2800, 0x2800) AM_WRITE(irqB_clear_w)
@@ -323,7 +323,7 @@ static ADDRESS_MAP_START( cpu_map_B, AS_PROGRAM, 8, xain_state )
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, xain_state )
+ADDRESS_MAP_START(xain_state::sound_map)
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x1000, 0x1000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0x2800, 0x2801) AM_DEVWRITE("ym1", ym2203_device, write)
diff --git a/src/mame/drivers/xavix.cpp b/src/mame/drivers/xavix.cpp
index 56a65e337ee..2a2f0e3d2c9 100644
--- a/src/mame/drivers/xavix.cpp
+++ b/src/mame/drivers/xavix.cpp
@@ -104,6 +104,7 @@ public:
INTERRUPT_GEN_MEMBER(interrupt);
TIMER_DEVICE_CALLBACK_MEMBER(scanline_cb);
+ void xavix_map(address_map &map);
protected:
// driver_device overrides
virtual void machine_start() override;
@@ -412,7 +413,7 @@ READ8_MEMBER(xavix_state::xavix_75f5_r)
// DATA reads from 0x8000-0xffff are banked by byte 0xff of 'ram'
-static ADDRESS_MAP_START( xavix_map, AS_PROGRAM, 8, xavix_state )
+ADDRESS_MAP_START(xavix_state::xavix_map)
AM_RANGE(0x000000, 0x0001ff) AM_RAM
AM_RANGE(0x000200, 0x003fff) AM_RAM
diff --git a/src/mame/drivers/xbox.cpp b/src/mame/drivers/xbox.cpp
index 92e802f04dd..ee8a7038414 100644
--- a/src/mame/drivers/xbox.cpp
+++ b/src/mame/drivers/xbox.cpp
@@ -36,6 +36,8 @@ public:
{ }
void xbox(machine_config &config);
+ void xbox_map(address_map &map);
+ void xbox_map_io(address_map &map);
protected:
// driver_device overrides
virtual void machine_start() override;
@@ -53,12 +55,12 @@ void xbox_state::video_start()
{
}
-static ADDRESS_MAP_START(xbox_map, AS_PROGRAM, 32, xbox_state)
+ADDRESS_MAP_START(xbox_state::xbox_map)
AM_IMPORT_FROM(xbox_base_map)
AM_RANGE(0xff000000, 0xff0fffff) AM_ROM AM_REGION("bios", 0) AM_MIRROR(0x00f00000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(xbox_map_io, AS_IO, 32, xbox_state)
+ADDRESS_MAP_START(xbox_state::xbox_map_io)
AM_IMPORT_FROM(xbox_base_map_io)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/xerox820.cpp b/src/mame/drivers/xerox820.cpp
index 5aa9d671571..f60a90a1e0b 100644
--- a/src/mame/drivers/xerox820.cpp
+++ b/src/mame/drivers/xerox820.cpp
@@ -165,13 +165,13 @@ WRITE8_MEMBER( xerox820ii_state::sync_w )
/* Memory Maps */
-static ADDRESS_MAP_START( xerox820_mem, AS_PROGRAM, 8, xerox820_state )
+ADDRESS_MAP_START(xerox820_state::xerox820_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x3000, 0x3fff) AM_RAM AM_SHARE("video_ram")
AM_RANGE(0x4000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( xerox820_io, AS_IO, 8, xerox820_state )
+ADDRESS_MAP_START(xerox820_state::xerox820_io)
AM_RANGE(0x00, 0x00) AM_MIRROR(0xff03) AM_DEVWRITE(COM8116_TAG, com8116_device, str_w)
AM_RANGE(0x04, 0x07) AM_MIRROR(0xff00) AM_DEVREADWRITE(Z80SIO_TAG, z80sio0_device, ba_cd_r, ba_cd_w)
AM_RANGE(0x08, 0x0b) AM_MIRROR(0xff00) AM_DEVREADWRITE(Z80PIO_GP_TAG, z80pio_device, read_alt, write_alt)
@@ -182,13 +182,13 @@ static ADDRESS_MAP_START( xerox820_io, AS_IO, 8, xerox820_state )
AM_RANGE(0x1c, 0x1f) AM_MIRROR(0xff00) AM_DEVREADWRITE(Z80PIO_KB_TAG, z80pio_device, read_alt, write_alt)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( xerox820ii_mem, AS_PROGRAM, 8, xerox820ii_state )
+ADDRESS_MAP_START(xerox820ii_state::xerox820ii_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x3000, 0x3fff) AM_RAM AM_SHARE("video_ram")
AM_RANGE(0xc000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( xerox820ii_io, AS_IO, 8, xerox820ii_state )
+ADDRESS_MAP_START(xerox820ii_state::xerox820ii_io)
AM_IMPORT_FROM(xerox820_io)
AM_RANGE(0x28, 0x29) AM_MIRROR(0xff00) AM_WRITE(bell_w)
AM_RANGE(0x30, 0x31) AM_MIRROR(0xff00) AM_WRITE(slden_w)
@@ -197,12 +197,12 @@ static ADDRESS_MAP_START( xerox820ii_io, AS_IO, 8, xerox820ii_state )
AM_RANGE(0x68, 0x69) AM_MIRROR(0xff00) AM_WRITE(sync_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( xerox168_mem, AS_PROGRAM, 16, xerox820ii_state )
+ADDRESS_MAP_START(xerox820ii_state::xerox168_mem)
AM_RANGE(0x00000, 0x3ffff) AM_RAM
AM_RANGE(0xff000, 0xfffff) AM_ROM AM_REGION(I8086_TAG, 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mk83_mem, AS_PROGRAM, 8, xerox820_state )
+ADDRESS_MAP_START(xerox820_state::mk83_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x3000, 0x6fff) AM_RAM
AM_RANGE(0x7000, 0x7fff) AM_RAM AM_SHARE("video_ram")
diff --git a/src/mame/drivers/xexex.cpp b/src/mame/drivers/xexex.cpp
index 773f93202ec..0f9e81c6d56 100644
--- a/src/mame/drivers/xexex.cpp
+++ b/src/mame/drivers/xexex.cpp
@@ -334,7 +334,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(xexex_state::xexex_interrupt)
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, xexex_state )
+ADDRESS_MAP_START(xexex_state::main_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x08ffff) AM_RAM AM_SHARE("workram") // work RAM
@@ -378,7 +378,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, xexex_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, xexex_state )
+ADDRESS_MAP_START(xexex_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("z80bank")
AM_RANGE(0xc000, 0xdfff) AM_RAM
diff --git a/src/mame/drivers/xmen.cpp b/src/mame/drivers/xmen.cpp
index 0b4ab6b83a1..ea32ba47552 100644
--- a/src/mame/drivers/xmen.cpp
+++ b/src/mame/drivers/xmen.cpp
@@ -77,7 +77,7 @@ WRITE8_MEMBER(xmen_state::sound_bankswitch_w)
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, xmen_state )
+ADDRESS_MAP_START(xmen_state::main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x100fff) AM_DEVREADWRITE("k053246", k053247_device, k053247_word_r, k053247_word_w)
@@ -96,7 +96,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, xmen_state )
AM_RANGE(0x18fa00, 0x18fa01) AM_WRITE(xmen_18fa00_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, xmen_state )
+ADDRESS_MAP_START(xmen_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("z80bank")
AM_RANGE(0xc000, 0xdfff) AM_RAM
@@ -107,7 +107,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, xmen_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( 6p_main_map, AS_PROGRAM, 16, xmen_state )
+ADDRESS_MAP_START(xmen_state::_6p_main_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x100fff) AM_RAM AM_SHARE("spriteramleft") /* sprites (screen 1) */
@@ -350,7 +350,7 @@ MACHINE_CONFIG_START(xmen_state::xmen6p)
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, XTAL(16'000'000))
- MCFG_CPU_PROGRAM_MAP(6p_main_map)
+ MCFG_CPU_PROGRAM_MAP(_6p_main_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", xmen_state, xmen_scanline, "screen", 0, 1)
MCFG_CPU_ADD("audiocpu", Z80, XTAL(16'000'000)/2)
diff --git a/src/mame/drivers/xor100.cpp b/src/mame/drivers/xor100.cpp
index 4e071a25785..330c21da49f 100644
--- a/src/mame/drivers/xor100.cpp
+++ b/src/mame/drivers/xor100.cpp
@@ -262,13 +262,13 @@ WRITE8_MEMBER( xor100_state::fdc_dsel_w )
/* Memory Maps */
-static ADDRESS_MAP_START( xor100_mem, AS_PROGRAM, 8, xor100_state )
+ADDRESS_MAP_START(xor100_state::xor100_mem)
AM_RANGE(0x0000, 0xffff) AM_WRITE_BANK("bank1")
AM_RANGE(0x0000, 0xf7ff) AM_READ_BANK("bank2")
AM_RANGE(0xf800, 0xffff) AM_READ_BANK("bank3")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( xor100_io, AS_IO, 8, xor100_state )
+ADDRESS_MAP_START(xor100_state::xor100_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREADWRITE(I8251_A_TAG, i8251_device, data_r, data_w)
AM_RANGE(0x01, 0x01) AM_DEVREADWRITE(I8251_A_TAG, i8251_device, status_r, control_w)
diff --git a/src/mame/drivers/xorworld.cpp b/src/mame/drivers/xorworld.cpp
index e9dbd7af021..894e2cc3fd9 100644
--- a/src/mame/drivers/xorworld.cpp
+++ b/src/mame/drivers/xorworld.cpp
@@ -61,7 +61,7 @@ WRITE16_MEMBER(xorworld_state::irq6_ack_w)
m_maincpu->set_input_line(6, CLEAR_LINE);
}
-static ADDRESS_MAP_START( xorworld_map, AS_PROGRAM, 16, xorworld_state )
+ADDRESS_MAP_START(xorworld_state::xorworld_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x200000, 0x200001) AM_READ_PORT("P1")
AM_RANGE(0x400000, 0x400001) AM_READ_PORT("P2")
diff --git a/src/mame/drivers/xtheball.cpp b/src/mame/drivers/xtheball.cpp
index 04af32d898d..231411cfae5 100644
--- a/src/mame/drivers/xtheball.cpp
+++ b/src/mame/drivers/xtheball.cpp
@@ -59,6 +59,7 @@ public:
TMS340X0_FROM_SHIFTREG_CB_MEMBER(from_shiftreg);
TMS340X0_SCANLINE_RGB32_CB_MEMBER(scanline_update);
void xtheball(machine_config &config);
+ void main_map(address_map &map);
};
@@ -190,7 +191,7 @@ READ16_MEMBER(xtheball_state::analogy_watchdog_r)
*
*************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, xtheball_state )
+ADDRESS_MAP_START(xtheball_state::main_map)
AM_RANGE(0x00000000, 0x0001ffff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x01000000, 0x010fffff) AM_RAM AM_SHARE("vrabg")
AM_RANGE(0x02000000, 0x020fffff) AM_RAM AM_SHARE("vrafg")
diff --git a/src/mame/drivers/xtom3d.cpp b/src/mame/drivers/xtom3d.cpp
index 28628b76f30..e6950ce2cc8 100644
--- a/src/mame/drivers/xtom3d.cpp
+++ b/src/mame/drivers/xtom3d.cpp
@@ -79,6 +79,8 @@ public:
virtual void machine_reset() override;
void intel82439tx_init();
void xtom3d(machine_config &config);
+ void xtom3d_io(address_map &map);
+ void xtom3d_map(address_map &map);
};
// Intel 82439TX System Controller (MTXC)
@@ -344,7 +346,7 @@ WRITE32_MEMBER(xtom3d_state::bios_ram_w)
}
}
-static ADDRESS_MAP_START(xtom3d_map, AS_PROGRAM, 32, xtom3d_state)
+ADDRESS_MAP_START(xtom3d_state::xtom3d_map)
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", vga_device, mem_r, mem_w, 0xffffffff)
AM_RANGE(0x000c0000, 0x000c3fff) AM_ROMBANK("video_bank1") AM_WRITE(isa_ram1_w)
@@ -358,7 +360,7 @@ static ADDRESS_MAP_START(xtom3d_map, AS_PROGRAM, 32, xtom3d_state)
AM_RANGE(0xfffe0000, 0xffffffff) AM_ROM AM_REGION("bios", 0) /* System BIOS */
ADDRESS_MAP_END
-static ADDRESS_MAP_START(xtom3d_io, AS_IO, 32, xtom3d_state)
+ADDRESS_MAP_START(xtom3d_state::xtom3d_io)
AM_IMPORT_FROM(pcat32_io_common)
AM_RANGE(0x00e8, 0x00ef) AM_NOP
diff --git a/src/mame/drivers/xxmissio.cpp b/src/mame/drivers/xxmissio.cpp
index 34d6059be62..05107c3b413 100644
--- a/src/mame/drivers/xxmissio.cpp
+++ b/src/mame/drivers/xxmissio.cpp
@@ -90,7 +90,7 @@ void xxmissio_state::machine_start()
/****************************************************************************/
-static ADDRESS_MAP_START( map1, AS_PROGRAM, 8, xxmissio_state )
+ADDRESS_MAP_START(xxmissio_state::map1)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8001) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
@@ -113,7 +113,7 @@ static ADDRESS_MAP_START( map1, AS_PROGRAM, 8, xxmissio_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( map2, AS_PROGRAM, 8, xxmissio_state )
+ADDRESS_MAP_START(xxmissio_state::map2)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
diff --git a/src/mame/drivers/xybots.cpp b/src/mame/drivers/xybots.cpp
index 827ce9c10a4..f50d3c1cbbc 100644
--- a/src/mame/drivers/xybots.cpp
+++ b/src/mame/drivers/xybots.cpp
@@ -71,7 +71,7 @@ READ16_MEMBER(xybots_state::special_port1_r)
*************************************/
/* full map verified from schematics */
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, xybots_state )
+ADDRESS_MAP_START(xybots_state::main_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x007fff) AM_MIRROR(0x7c0000) AM_ROM
AM_RANGE(0x008000, 0x00ffff) AM_MIRROR(0x7c0000) AM_ROM /* slapstic maps here */
diff --git a/src/mame/drivers/xyonix.cpp b/src/mame/drivers/xyonix.cpp
index ceddb9c604a..a22ac8a1297 100644
--- a/src/mame/drivers/xyonix.cpp
+++ b/src/mame/drivers/xyonix.cpp
@@ -143,13 +143,13 @@ WRITE8_MEMBER(xyonix_state::io_w)
/* Mem / Port Maps ***********************************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, xyonix_state )
+ADDRESS_MAP_START(xyonix_state::main_map)
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xffff) AM_RAM_WRITE(vidram_w) AM_SHARE("vidram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( port_map, AS_IO, 8, xyonix_state )
+ADDRESS_MAP_START(xyonix_state::port_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x20, 0x20) AM_READNOP AM_DEVWRITE("sn1", sn76496_device, write) /* SN76496 ready signal */
AM_RANGE(0x21, 0x21) AM_READNOP AM_DEVWRITE("sn2", sn76496_device, write)
diff --git a/src/mame/drivers/yiear.cpp b/src/mame/drivers/yiear.cpp
index 4f28edeedb9..277b361c03e 100644
--- a/src/mame/drivers/yiear.cpp
+++ b/src/mame/drivers/yiear.cpp
@@ -138,7 +138,7 @@ INTERRUPT_GEN_MEMBER(yiear_state::yiear_nmi_interrupt)
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, yiear_state )
+ADDRESS_MAP_START(yiear_state::main_map)
AM_RANGE(0x0000, 0x0000) AM_READ(yiear_speech_r)
AM_RANGE(0x4000, 0x4000) AM_WRITE(yiear_control_w)
AM_RANGE(0x4800, 0x4800) AM_WRITE(konami_SN76496_latch_w)
@@ -160,7 +160,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, yiear_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vlm_map, 0, 8, yiear_state )
+ADDRESS_MAP_START(yiear_state::vlm_map)
ADDRESS_MAP_GLOBAL_MASK(0x1fff)
AM_RANGE(0x0000, 0x1fff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ymmu100.cpp b/src/mame/drivers/ymmu100.cpp
index 47e15218d7a..22167a1727a 100644
--- a/src/mame/drivers/ymmu100.cpp
+++ b/src/mame/drivers/ymmu100.cpp
@@ -200,6 +200,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
virtual void machine_start() override;
void mu100(machine_config &config);
+ void mu100_iomap(address_map &map);
+ void mu100_map(address_map &map);
};
class mu100r_state : public mu100_state {
@@ -266,7 +268,7 @@ uint32_t mu100_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap,
return 0;
}
-static ADDRESS_MAP_START( mu100_map, AS_PROGRAM, 16, mu100_state )
+ADDRESS_MAP_START(mu100_state::mu100_map)
AM_RANGE(0x000000, 0x1fffff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x200000, 0x21ffff) AM_RAM // 128K work RAM
AM_RANGE(0x400000, 0x401fff) AM_READWRITE(snd_r, snd_w)
@@ -416,7 +418,7 @@ WRITE16_MEMBER(mu100_state::pg_w)
logerror("pbsel3 %d\n", data & 1);
}
-static ADDRESS_MAP_START( mu100_iomap, AS_IO, 16, mu100_state )
+ADDRESS_MAP_START(mu100_state::mu100_iomap)
AM_RANGE(h8_device::PORT_1, h8_device::PORT_1) AM_READWRITE(p1_r, p1_w)
AM_RANGE(h8_device::PORT_2, h8_device::PORT_2) AM_WRITE(p2_w)
AM_RANGE(h8_device::PORT_3, h8_device::PORT_3) AM_WRITE(p3_w)
diff --git a/src/mame/drivers/yunsun16.cpp b/src/mame/drivers/yunsun16.cpp
index f509f37e070..7c7b418bc8e 100644
--- a/src/mame/drivers/yunsun16.cpp
+++ b/src/mame/drivers/yunsun16.cpp
@@ -110,7 +110,7 @@ WRITE8_MEMBER(yunsun16_state::sound_bank_w)
membank("okibank")->set_entry(data & 3);
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, yunsun16_state )
+ADDRESS_MAP_START(yunsun16_state::main_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("INPUTS")
AM_RANGE(0x800018, 0x800019) AM_READ_PORT("SYSTEM")
@@ -165,19 +165,19 @@ DRIVER_INIT_MEMBER(yunsun16_state,magicbub)
***************************************************************************/
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, yunsun16_state )
+ADDRESS_MAP_START(yunsun16_state::sound_map)
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xe7ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_port_map, AS_IO, 8, yunsun16_state )
+ADDRESS_MAP_START(yunsun16_state::sound_port_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x11) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
AM_RANGE(0x18, 0x18) AM_DEVREAD("soundlatch", generic_latch_8_device, read) // From Main CPU
AM_RANGE(0x1c, 0x1c) AM_DEVREADWRITE("oki", okim6295_device, read, write) // M6295
ADDRESS_MAP_END
-static ADDRESS_MAP_START( oki_map, 0, 8, yunsun16_state )
+ADDRESS_MAP_START(yunsun16_state::oki_map)
AM_RANGE(0x00000, 0x1ffff) AM_ROM
AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK("okibank")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/yunsung8.cpp b/src/mame/drivers/yunsung8.cpp
index 948014a1dcf..c58d149762b 100644
--- a/src/mame/drivers/yunsung8.cpp
+++ b/src/mame/drivers/yunsung8.cpp
@@ -82,7 +82,7 @@ WRITE8_MEMBER(yunsung8_state::main_irq_ack_w)
d000-dfff Tiles ""
*/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, yunsung8_state )
+ADDRESS_MAP_START(yunsung8_state::main_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x0001, 0x0001) AM_WRITE(bankswitch_w) // ROM Bank (again?)
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("mainbank") // Banked ROM
@@ -91,7 +91,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, yunsung8_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( port_map, AS_IO, 8, yunsung8_state )
+ADDRESS_MAP_START(yunsung8_state::port_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("SYSTEM") AM_WRITE(videobank_w) // video RAM bank
AM_RANGE(0x01, 0x01) AM_READ_PORT("P1") AM_WRITE(bankswitch_w) // ROM Bank + Layers Enable
@@ -124,7 +124,7 @@ WRITE8_MEMBER(yunsung8_state::sound_bankswitch_w)
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, yunsung8_state )
+ADDRESS_MAP_START(yunsung8_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("soundbank") // Banked ROM
AM_RANGE(0xe000, 0xe000) AM_WRITE(sound_bankswitch_w) // ROM Bank
diff --git a/src/mame/drivers/yuvomz80.cpp b/src/mame/drivers/yuvomz80.cpp
index 20cfacc39c4..3d59b2c332d 100644
--- a/src/mame/drivers/yuvomz80.cpp
+++ b/src/mame/drivers/yuvomz80.cpp
@@ -50,16 +50,21 @@ public:
void goldhexa(machine_config &config);
void hexapres(machine_config &config);
+ void audio_io_map(address_map &map);
+ void audio_mem_map(address_map &map);
+ void hexapres_audio_io_map(address_map &map);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, yuvomz80_state )
+ADDRESS_MAP_START(yuvomz80_state::mem_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x8000, 0x87ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_PROGRAM, 8, yuvomz80_state )
+ADDRESS_MAP_START(yuvomz80_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ppi0", i8255_device, read, write)
AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("ppi1", i8255_device, read, write)
@@ -67,17 +72,17 @@ static ADDRESS_MAP_START( io_map, AS_PROGRAM, 8, yuvomz80_state )
AM_RANGE(0x0c, 0x0f) AM_DEVREADWRITE("ppi3", i8255_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audio_mem_map, AS_PROGRAM, 8, yuvomz80_state )
+ADDRESS_MAP_START(yuvomz80_state::audio_mem_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("audiocpu", 0)
AM_RANGE(0x8000, 0x87ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( audio_io_map, AS_PROGRAM, 8, yuvomz80_state )
+ADDRESS_MAP_START(yuvomz80_state::audio_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymz", ymz280b_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( hexapres_audio_io_map, AS_PROGRAM, 8, yuvomz80_state )
+ADDRESS_MAP_START(yuvomz80_state::hexapres_audio_io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ymsnd", ym2610_device, read, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/z100.cpp b/src/mame/drivers/z100.cpp
index b90ce629873..0404f54a82b 100644
--- a/src/mame/drivers/z100.cpp
+++ b/src/mame/drivers/z100.cpp
@@ -220,6 +220,8 @@ public:
uint32_t screen_update_z100(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_INPUT_CHANGED_MEMBER(key_stroke);
void z100(machine_config &config);
+ void z100_io(address_map &map);
+ void z100_mem(address_map &map);
};
#define mc6845_h_char_total (m_crtc_vreg[0])
@@ -306,7 +308,7 @@ WRITE8_MEMBER( z100_state::z100_vram_w )
}
}
-static ADDRESS_MAP_START(z100_mem, AS_PROGRAM, 8, z100_state)
+ADDRESS_MAP_START(z100_state::z100_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000,0x3ffff) AM_RAM // 128*2 KB RAM
// AM_RANGE(0xb0000,0xbffff) AM_ROM // expansion ROM
@@ -382,7 +384,7 @@ WRITE8_MEMBER( z100_state::floppy_motor_w )
m_floppy->mon_w(!BIT(data, 1));
}
-static ADDRESS_MAP_START(z100_io, AS_IO, 8, z100_state)
+ADDRESS_MAP_START(z100_state::z100_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
// AM_RANGE (0x00, 0x3f) reserved for non-ZDS vendors
diff --git a/src/mame/drivers/z1013.cpp b/src/mame/drivers/z1013.cpp
index c8b212db28c..0628be15b0a 100644
--- a/src/mame/drivers/z1013.cpp
+++ b/src/mame/drivers/z1013.cpp
@@ -79,6 +79,8 @@ public:
void z1013k76(machine_config &config);
void z1013(machine_config &config);
+ void z1013_io(address_map &map);
+ void z1013_mem(address_map &map);
private:
uint8_t m_keyboard_line;
bool m_keyboard_part;
@@ -91,13 +93,13 @@ private:
/* Address maps */
-static ADDRESS_MAP_START(z1013_mem, AS_PROGRAM, 8, z1013_state)
+ADDRESS_MAP_START(z1013_state::z1013_mem)
AM_RANGE( 0x0000, 0xebff ) AM_RAM
AM_RANGE( 0xec00, 0xefff ) AM_RAM AM_SHARE("videoram")
AM_RANGE( 0xf000, 0xffff ) AM_ROM // ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(z1013_io, AS_IO, 8, z1013_state)
+ADDRESS_MAP_START(z1013_state::z1013_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x00, 0x03 ) AM_DEVREADWRITE("z80pio", z80pio_device, read_alt, write_alt)
AM_RANGE( 0x08, 0x08 ) AM_WRITE(z1013_keyboard_w)
diff --git a/src/mame/drivers/z80dev.cpp b/src/mame/drivers/z80dev.cpp
index 905d593aab1..0e15f06aa60 100644
--- a/src/mame/drivers/z80dev.cpp
+++ b/src/mame/drivers/z80dev.cpp
@@ -36,6 +36,8 @@ public:
DECLARE_WRITE8_MEMBER( display_w );
DECLARE_READ8_MEMBER( test_r );
void z80dev(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
};
@@ -54,13 +56,13 @@ READ8_MEMBER( z80dev_state::test_r )
return machine().rand();
}
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, z80dev_state )
+ADDRESS_MAP_START(z80dev_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x07ff) AM_ROM
AM_RANGE(0x1000, 0x10ff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map , AS_IO, 8, z80dev_state )
+ADDRESS_MAP_START(z80dev_state::io_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK (0xff)
AM_RANGE(0x20, 0x20) AM_READ_PORT("LINE0")
diff --git a/src/mame/drivers/z80ne.cpp b/src/mame/drivers/z80ne.cpp
index 79d3b8bdfab..3bd9e9c83b1 100644
--- a/src/mame/drivers/z80ne.cpp
+++ b/src/mame/drivers/z80ne.cpp
@@ -113,14 +113,14 @@
/* LX.382 CPU Board RAM */
/* LX.382 CPU Board EPROM */
-static ADDRESS_MAP_START( z80ne_mem, AS_PROGRAM, 8, z80ne_state )
+ADDRESS_MAP_START(z80ne_state::z80ne_mem)
AM_RANGE( 0x0000, 0x03ff ) AM_RAMBANK("bank1")
AM_RANGE( 0x0400, 0x7fff ) AM_RAM
AM_RANGE( 0x8000, 0x83ff ) AM_ROMBANK("bank2")
AM_RANGE( 0x8400, 0xffff ) AM_READNOP AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( z80net_mem, AS_PROGRAM, 8, z80ne_state )
+ADDRESS_MAP_START(z80ne_state::z80net_mem)
AM_RANGE( 0x0000, 0x03ff ) AM_RAMBANK("bank1")
AM_RANGE( 0x0400, 0x7fff ) AM_RAM
AM_RANGE( 0x8000, 0x83ff ) AM_ROMBANK("bank2")
@@ -129,21 +129,21 @@ static ADDRESS_MAP_START( z80net_mem, AS_PROGRAM, 8, z80ne_state )
AM_RANGE( 0xee00, 0xffff ) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( z80netb_mem, AS_PROGRAM, 8, z80ne_state )
+ADDRESS_MAP_START(z80ne_state::z80netb_mem)
AM_RANGE( 0x0000, 0x3fff ) AM_ROM
AM_RANGE( 0x4000, 0xebff ) AM_RAM
AM_RANGE( 0xec00, 0xedff ) AM_RAM AM_SHARE("videoram") /* (6847) */
AM_RANGE( 0xee00, 0xffff ) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( z80ne_io, AS_IO, 8, z80ne_state )
+ADDRESS_MAP_START(z80ne_state::z80ne_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xee, 0xee) AM_READWRITE(lx385_data_r, lx385_data_w )
AM_RANGE(0xef, 0xef) AM_READWRITE(lx385_ctrl_r, lx385_ctrl_w )
AM_RANGE(0xf0, 0xff) AM_READWRITE(lx383_r, lx383_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( z80net_io, AS_IO, 8, z80ne_state )
+ADDRESS_MAP_START(z80ne_state::z80net_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xea, 0xea) AM_READ(lx388_data_r )
AM_RANGE(0xeb, 0xeb) AM_READ(lx388_read_field_sync )
@@ -152,7 +152,7 @@ static ADDRESS_MAP_START( z80net_io, AS_IO, 8, z80ne_state )
AM_RANGE(0xf0, 0xff) AM_READWRITE(lx383_r, lx383_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( z80netf_mem, AS_PROGRAM, 8, z80ne_state )
+ADDRESS_MAP_START(z80ne_state::z80netf_mem)
AM_RANGE( 0x0000, 0x03ff ) AM_RAMBANK("bank1")
AM_RANGE( 0x0400, 0x3fff ) AM_RAMBANK("bank2")
AM_RANGE( 0x4000, 0x7fff ) AM_RAM
@@ -165,7 +165,7 @@ static ADDRESS_MAP_START( z80netf_mem, AS_PROGRAM, 8, z80ne_state )
AM_RANGE( 0xf400, 0xffff ) AM_READNOP AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( z80netf_io, AS_IO, 8, z80ne_state )
+ADDRESS_MAP_START(z80ne_state::z80netf_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xd0, 0xd7) AM_READWRITE(lx390_fdc_r, lx390_fdc_w)
AM_RANGE(0xea, 0xea) AM_READ(lx388_data_r )
diff --git a/src/mame/drivers/z88.cpp b/src/mame/drivers/z88.cpp
index 4267f05830a..a04e83e9fd0 100644
--- a/src/mame/drivers/z88.cpp
+++ b/src/mame/drivers/z88.cpp
@@ -148,7 +148,7 @@ UPD65031_MEMORY_UPDATE(z88_state::bankswitch_update)
}
-static ADDRESS_MAP_START(z88_mem, AS_PROGRAM, 8, z88_state )
+ADDRESS_MAP_START(z88_state::z88_mem)
AM_RANGE(0x0000, 0x1fff) AM_READWRITE_BANK("bank1")
AM_RANGE(0x2000, 0x3fff) AM_READWRITE_BANK("bank2")
AM_RANGE(0x4000, 0x7fff) AM_READWRITE_BANK("bank3")
@@ -156,7 +156,7 @@ static ADDRESS_MAP_START(z88_mem, AS_PROGRAM, 8, z88_state )
AM_RANGE(0xc000, 0xffff) AM_READWRITE_BANK("bank5")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( z88_io, AS_IO, 8, z88_state )
+ADDRESS_MAP_START(z88_state::z88_io)
AM_RANGE(0x0000, 0xffff) AM_DEVREADWRITE("blink", upd65031_device, read, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/z9001.cpp b/src/mame/drivers/z9001.cpp
index a98d2c32086..1060157aa10 100644
--- a/src/mame/drivers/z9001.cpp
+++ b/src/mame/drivers/z9001.cpp
@@ -64,6 +64,8 @@ public:
uint32_t screen_update_z9001(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void z9001(machine_config &config);
+ void z9001_io(address_map &map);
+ void z9001_mem(address_map &map);
private:
uint8_t m_framecnt;
bool m_cassbit;
@@ -77,7 +79,7 @@ private:
required_region_ptr<u8> m_p_chargen;
};
-static ADDRESS_MAP_START(z9001_mem, AS_PROGRAM, 8, z9001_state)
+ADDRESS_MAP_START(z9001_state::z9001_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0xe7ff ) AM_RAM
AM_RANGE( 0xe800, 0xebff ) AM_RAM AM_SHARE("colorram")
@@ -85,7 +87,7 @@ static ADDRESS_MAP_START(z9001_mem, AS_PROGRAM, 8, z9001_state)
AM_RANGE( 0xf000, 0xffff ) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( z9001_io, AS_IO, 8, z9001_state)
+ADDRESS_MAP_START(z9001_state::z9001_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x80, 0x83) AM_MIRROR(4) AM_DEVREADWRITE("z80ctc", z80ctc_device, read, write)
diff --git a/src/mame/drivers/zac2650.cpp b/src/mame/drivers/zac2650.cpp
index 5b47f63a44d..f2d913c9e5f 100644
--- a/src/mame/drivers/zac2650.cpp
+++ b/src/mame/drivers/zac2650.cpp
@@ -25,7 +25,7 @@
/***********************************************************************************************/
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, zac2650_state )
+ADDRESS_MAP_START(zac2650_state::main_map)
AM_RANGE(0x0000, 0x17ff) AM_ROM
AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(tinvader_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x1c00, 0x1cff) AM_RAM
diff --git a/src/mame/drivers/zac_1.cpp b/src/mame/drivers/zac_1.cpp
index 57a0f33a490..3f8be807380 100644
--- a/src/mame/drivers/zac_1.cpp
+++ b/src/mame/drivers/zac_1.cpp
@@ -55,6 +55,12 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(zac_1_outtimer);
void locomotp(machine_config &config);
void zac_1(machine_config &config);
+ void locomotp_data(address_map &map);
+ void locomotp_io(address_map &map);
+ void locomotp_map(address_map &map);
+ void zac_1_data(address_map &map);
+ void zac_1_io(address_map &map);
+ void zac_1_map(address_map &map);
protected:
// devices
@@ -70,7 +76,7 @@ private:
};
-static ADDRESS_MAP_START( zac_1_map, AS_PROGRAM, 8, zac_1_state )
+ADDRESS_MAP_START(zac_1_state::zac_1_map)
ADDRESS_MAP_GLOBAL_MASK(0x1fff)
AM_RANGE(0x0000, 0x13ff) AM_ROM
AM_RANGE(0x1400, 0x17ff) AM_WRITE(reset_int_w)
@@ -78,11 +84,11 @@ static ADDRESS_MAP_START( zac_1_map, AS_PROGRAM, 8, zac_1_state )
AM_RANGE(0x1c00, 0x1fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( zac_1_io, AS_IO, 8, zac_1_state )
+ADDRESS_MAP_START(zac_1_state::zac_1_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_END
-static ADDRESS_MAP_START( zac_1_data, AS_DATA, 8, zac_1_state )
+ADDRESS_MAP_START(zac_1_state::zac_1_data)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(S2650_CTRL_PORT, S2650_CTRL_PORT) AM_READWRITE(ctrl_r,ctrl_w)
ADDRESS_MAP_END
@@ -271,18 +277,18 @@ MACHINE_CONFIG_END
/*************************** LOCOMOTION ********************************/
-static ADDRESS_MAP_START( locomotp_map, AS_PROGRAM, 8, zac_1_state )
+ADDRESS_MAP_START(zac_1_state::locomotp_map)
ADDRESS_MAP_GLOBAL_MASK(0x1fff)
AM_RANGE(0x0000, 0x17ff) AM_ROM
AM_RANGE(0x1800, 0x18ff) AM_MIRROR(0x300) AM_RAM AM_SHARE("ram")
AM_RANGE(0x1c00, 0x1fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( locomotp_io, AS_IO, 8, zac_1_state)
+ADDRESS_MAP_START(zac_1_state::locomotp_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_END
-static ADDRESS_MAP_START( locomotp_data, AS_DATA, 8, zac_1_state)
+ADDRESS_MAP_START(zac_1_state::locomotp_data)
AM_RANGE(S2650_CTRL_PORT, S2650_CTRL_PORT) AM_READWRITE(ctrl_r,ctrl_w)
AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_READ(reset_int_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/zac_2.cpp b/src/mame/drivers/zac_2.cpp
index 0e7b1324ddb..06df184004c 100644
--- a/src/mame/drivers/zac_2.cpp
+++ b/src/mame/drivers/zac_2.cpp
@@ -38,6 +38,9 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(zac_2_inttimer);
TIMER_DEVICE_CALLBACK_MEMBER(zac_2_outtimer);
void zac_2(machine_config &config);
+ void zac_2_data(address_map &map);
+ void zac_2_io(address_map &map);
+ void zac_2_map(address_map &map);
protected:
// devices
@@ -49,7 +52,7 @@ private:
};
-static ADDRESS_MAP_START( zac_2_map, AS_PROGRAM, 8, zac_2_state )
+ADDRESS_MAP_START(zac_2_state::zac_2_map)
AM_RANGE(0x0000, 0x07ff) AM_ROM
AM_RANGE(0x0800, 0x17ff) AM_MIRROR(0x4000) AM_ROM
AM_RANGE(0x1800, 0x1bff) AM_MIRROR(0x6400) AM_RAM AM_SHARE("ram")
@@ -59,11 +62,11 @@ static ADDRESS_MAP_START( zac_2_map, AS_PROGRAM, 8, zac_2_state )
AM_RANGE(0x6000, 0x67ff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(zac_2_io, AS_IO, 8, zac_2_state)
+ADDRESS_MAP_START(zac_2_state::zac_2_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_END
-static ADDRESS_MAP_START(zac_2_data, AS_DATA, 8, zac_2_state)
+ADDRESS_MAP_START(zac_2_state::zac_2_data)
AM_RANGE(S2650_CTRL_PORT, S2650_CTRL_PORT) AM_READWRITE(ctrl_r,ctrl_w)
AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_READWRITE(data_r,data_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/zac_proto.cpp b/src/mame/drivers/zac_proto.cpp
index 1ddcde3cccd..a05b390bbd8 100644
--- a/src/mame/drivers/zac_proto.cpp
+++ b/src/mame/drivers/zac_proto.cpp
@@ -38,13 +38,14 @@ public:
DECLARE_WRITE8_MEMBER(digit_w);
DECLARE_WRITE8_MEMBER(sound_w);
void zac_proto(machine_config &config);
+ void zac_proto_map(address_map &map);
private:
virtual void machine_reset() override;
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START( zac_proto_map, AS_PROGRAM, 8, zac_proto_state )
+ADDRESS_MAP_START(zac_proto_state::zac_proto_map)
AM_RANGE(0x0000, 0x0bff) AM_ROM
AM_RANGE(0x0d00, 0x0dff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x0e00, 0x0e00) AM_READ_PORT("PL0")
diff --git a/src/mame/drivers/zaccaria.cpp b/src/mame/drivers/zaccaria.cpp
index 9f2d4040257..18f21fd0e1e 100644
--- a/src/mame/drivers/zaccaria.cpp
+++ b/src/mame/drivers/zaccaria.cpp
@@ -145,7 +145,7 @@ WRITE_LINE_MEMBER(zaccaria_state::nmi_mask_w)
m_maincpu->set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, zaccaria_state )
+ADDRESS_MAP_START(zaccaria_state::main_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x63ff) AM_READONLY
AM_RANGE(0x6400, 0x6407) AM_READ(prot1_r)
diff --git a/src/mame/drivers/zapcomputer.cpp b/src/mame/drivers/zapcomputer.cpp
index 3e06e2f6d39..c22a270a112 100644
--- a/src/mame/drivers/zapcomputer.cpp
+++ b/src/mame/drivers/zapcomputer.cpp
@@ -43,6 +43,8 @@ public:
DECLARE_WRITE8_MEMBER(display_7seg_w);
void zapcomp(machine_config &config);
+ void zapcomp_io(address_map &map);
+ void zapcomp_mem(address_map &map);
private:
uint8_t decode7seg(uint8_t data);
virtual void machine_start() override;
@@ -110,7 +112,7 @@ READ8_MEMBER( zapcomp_state::keyboard_r )
return retval;
}
-static ADDRESS_MAP_START( zapcomp_mem, AS_PROGRAM, 8, zapcomp_state )
+ADDRESS_MAP_START(zapcomp_state::zapcomp_mem)
AM_RANGE(0x0000, 0x03ff) AM_ROM AM_REGION("roms", 0) /* system monitor */
AM_RANGE(0x0400, 0x07ff) AM_RAM /* mandatory 1 kilobyte bank #0 */
AM_RANGE(0x0800, 0x0bff) AM_RAM /* extra 1 kilobyte bank #1 (optional) */
@@ -122,7 +124,7 @@ static ADDRESS_MAP_START( zapcomp_mem, AS_PROGRAM, 8, zapcomp_state )
AM_RANGE(0x2000, 0x23ff) AM_RAM /* extra 1 kilobyte bank #7 (optional) */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( zapcomp_io, AS_IO, 8, zapcomp_state )
+ADDRESS_MAP_START(zapcomp_state::zapcomp_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(keyboard_r)
AM_RANGE(0x05, 0x07) AM_WRITE(display_7seg_w)
diff --git a/src/mame/drivers/zaurus.cpp b/src/mame/drivers/zaurus.cpp
index aa00f4dfc49..8007d621066 100644
--- a/src/mame/drivers/zaurus.cpp
+++ b/src/mame/drivers/zaurus.cpp
@@ -1446,6 +1446,7 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void zaurus(machine_config &config);
+ void zaurus_map(address_map &map);
protected:
// driver_device overrides
virtual void machine_start() override;
@@ -1711,7 +1712,7 @@ WRITE32_MEMBER(zaurus_state::pxa255_rtc_w)
}
-static ADDRESS_MAP_START( zaurus_map, AS_PROGRAM, 32, zaurus_state )
+ADDRESS_MAP_START(zaurus_state::zaurus_map)
AM_RANGE(0x00000000, 0x001fffff) AM_RAM AM_REGION("firmware", 0)
AM_RANGE(0x40900000, 0x4090000f) AM_READWRITE(pxa255_rtc_r,pxa255_rtc_w)
AM_RANGE(0x40a00000, 0x40a0001f) AM_READWRITE(pxa255_ostimer_r, pxa255_ostimer_w )
diff --git a/src/mame/drivers/zaxxon.cpp b/src/mame/drivers/zaxxon.cpp
index be742b79c28..e398aeecd75 100644
--- a/src/mame/drivers/zaxxon.cpp
+++ b/src/mame/drivers/zaxxon.cpp
@@ -436,7 +436,7 @@ CUSTOM_INPUT_MEMBER(zaxxon_state::zaxxon_coin_r)
*************************************/
/* complete memory map derived from schematics */
-static ADDRESS_MAP_START( zaxxon_map, AS_PROGRAM, 8, zaxxon_state )
+ADDRESS_MAP_START(zaxxon_state::zaxxon_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM
AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x1c00) AM_RAM_WRITE(zaxxon_videoram_w) AM_SHARE("videoram")
@@ -451,12 +451,12 @@ static ADDRESS_MAP_START( zaxxon_map, AS_PROGRAM, 8, zaxxon_state )
AM_RANGE(0xe0f0, 0xe0f3) AM_MIRROR(0x1f00) AM_SELECT(0x0008) AM_WRITE(zaxxon_control_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, zaxxon_state )
+ADDRESS_MAP_START(zaxxon_state::decrypted_opcodes_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM AM_SHARE("decrypted_opcodes")
ADDRESS_MAP_END
/* derived from Zaxxon, different sound hardware */
-static ADDRESS_MAP_START( ixion_map, AS_PROGRAM, 8, zaxxon_state )
+ADDRESS_MAP_START(zaxxon_state::ixion_map)
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM
AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x1c00) AM_RAM_WRITE(zaxxon_videoram_w) AM_SHARE("videoram")
@@ -473,7 +473,7 @@ ADDRESS_MAP_END
/* complete memory map derived from schematics */
-static ADDRESS_MAP_START( congo_map, AS_PROGRAM, 8, zaxxon_state )
+ADDRESS_MAP_START(zaxxon_state::congo_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0xa000, 0xa3ff) AM_MIRROR(0x1800) AM_RAM_WRITE(zaxxon_videoram_w) AM_SHARE("videoram")
@@ -492,7 +492,7 @@ ADDRESS_MAP_END
/* complete memory map derived from schematics */
-static ADDRESS_MAP_START( congo_sound_map, AS_PROGRAM, 8, zaxxon_state )
+ADDRESS_MAP_START(zaxxon_state::congo_sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_MIRROR(0x1800) AM_RAM
AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x1fff) AM_DEVWRITE("sn1", sn76489a_device, write)
@@ -959,14 +959,14 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(zaxxon_state::szaxxon, zaxxon)
MCFG_CPU_MODIFY("maincpu")
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(zaxxon_state::szaxxone, zaxxon)
MCFG_CPU_REPLACE("maincpu", SEGA_315_5013, MASTER_CLOCK/16)
MCFG_CPU_PROGRAM_MAP(zaxxon_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MCFG_SEGACRPT_SET_SIZE(0x6000)
MACHINE_CONFIG_END
@@ -976,7 +976,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(zaxxon_state::futspye, root)
MCFG_CPU_REPLACE("maincpu", SEGA_315_5061, MASTER_CLOCK/16)
MCFG_CPU_PROGRAM_MAP(zaxxon_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MCFG_SEGACRPT_SET_SIZE(0x6000)
@@ -997,7 +997,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(zaxxon_state::razmataze, root)
MCFG_CPU_REPLACE("maincpu", SEGA_315_5098, MASTER_CLOCK/16)
MCFG_CPU_PROGRAM_MAP(ixion_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MCFG_SEGACRPT_SET_SIZE(0x6000)
@@ -1016,7 +1016,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(zaxxon_state::ixion, razmataze)
MCFG_CPU_REPLACE("maincpu", SEGA_315_5013, MASTER_CLOCK/16)
MCFG_CPU_PROGRAM_MAP(ixion_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
+ MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MCFG_SEGACRPT_SET_SIZE(0x6000)
diff --git a/src/mame/drivers/zerozone.cpp b/src/mame/drivers/zerozone.cpp
index a9f7e781ff5..cf847204585 100644
--- a/src/mame/drivers/zerozone.cpp
+++ b/src/mame/drivers/zerozone.cpp
@@ -49,7 +49,7 @@ WRITE16_MEMBER( zerozone_state::sound_w )
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, zerozone_state )
+ADDRESS_MAP_START(zerozone_state::main_map)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("SYSTEM")
AM_RANGE(0x080002, 0x080003) AM_READ_PORT("INPUTS")
@@ -64,7 +64,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, zerozone_state )
AM_RANGE(0x0f8000, 0x0f87ff) AM_RAM /* Never read from */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, zerozone_state )
+ADDRESS_MAP_START(zerozone_state::sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
diff --git a/src/mame/drivers/zexall.cpp b/src/mame/drivers/zexall.cpp
index 67f9b6c0618..fdaf71b0868 100644
--- a/src/mame/drivers/zexall.cpp
+++ b/src/mame/drivers/zexall.cpp
@@ -47,6 +47,7 @@ public:
DECLARE_WRITE8_MEMBER( output_data_w );
void zexall(machine_config &config);
+ void z80_mem(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<generic_terminal_device> m_terminal;
@@ -135,7 +136,7 @@ WRITE8_MEMBER( zexall_state::output_data_w )
Address Maps
******************************************************************************/
-static ADDRESS_MAP_START(z80_mem, AS_PROGRAM, 8, zexall_state)
+ADDRESS_MAP_START(zexall_state::z80_mem)
AM_RANGE(0x0000, 0xffff) AM_RAM AM_SHARE("main_ram")
AM_RANGE(0xfffd, 0xfffd) AM_READWRITE(output_ack_r, output_ack_w)
AM_RANGE(0xfffe, 0xfffe) AM_READWRITE(output_req_r, output_req_w)
diff --git a/src/mame/drivers/zms8085.cpp b/src/mame/drivers/zms8085.cpp
index c2e082eeb50..2095d0d8a44 100644
--- a/src/mame/drivers/zms8085.cpp
+++ b/src/mame/drivers/zms8085.cpp
@@ -33,6 +33,8 @@ public:
DECLARE_READ8_MEMBER(special_r);
void zephyr(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
required_device<screen_device> m_screen;
@@ -71,12 +73,12 @@ READ8_MEMBER(zms8085_state::special_r)
}
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, zms8085_state )
+ADDRESS_MAP_START(zms8085_state::mem_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM AM_REGION("maincpu", 0) AM_WRITENOP
AM_RANGE(0x1000, 0x1fff) AM_RAM AM_SHARE("mainram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_PROGRAM, 8, zms8085_state )
+ADDRESS_MAP_START(zms8085_state::io_map)
AM_RANGE(0x61, 0x61) AM_READ(special_r)
AM_RANGE(0x68, 0x68) AM_WRITENOP
ADDRESS_MAP_END
diff --git a/src/mame/drivers/zn.cpp b/src/mame/drivers/zn.cpp
index 0dfee3307cc..af089366dd5 100644
--- a/src/mame/drivers/zn.cpp
+++ b/src/mame/drivers/zn.cpp
@@ -160,6 +160,29 @@ public:
void coh1002e(machine_config &config);
void coh3002c(machine_config &config);
void coh1002c(machine_config &config);
+ void atlus_snd_map(address_map &map);
+ void bam2_map(address_map &map);
+ void cbaj_z80_map(address_map &map);
+ void cbaj_z80_port_map(address_map &map);
+ void coh1000a_map(address_map &map);
+ void coh1000c_map(address_map &map);
+ void coh1000ta_map(address_map &map);
+ void coh1000tb_map(address_map &map);
+ void coh1000w_map(address_map &map);
+ void coh1001l_map(address_map &map);
+ void coh1002e_map(address_map &map);
+ void coh1002m_map(address_map &map);
+ void coh1002ml_link_map(address_map &map);
+ void coh1002ml_link_port_map(address_map &map);
+ void coh1002msnd_map(address_map &map);
+ void coh1002v_map(address_map &map);
+ void fx1a_sound_map(address_map &map);
+ void jdredd_map(address_map &map);
+ void nbajamex_map(address_map &map);
+ void psarc_snd_map(address_map &map);
+ void qsound_map(address_map &map);
+ void qsound_portmap(address_map &map);
+ void zn_map(address_map &map);
protected:
virtual void machine_start() override;
@@ -324,7 +347,7 @@ WRITE8_MEMBER(zn_state::coin_w)
}
}
-static ADDRESS_MAP_START( zn_map, AS_PROGRAM, 32, zn_state )
+ADDRESS_MAP_START(zn_state::zn_map)
AM_RANGE(0x1fa00000, 0x1fa00003) AM_READ_PORT("P1")
AM_RANGE(0x1fa00100, 0x1fa00103) AM_READ_PORT("P2")
AM_RANGE(0x1fa00200, 0x1fa00203) AM_READ_PORT("SERVICE")
@@ -569,7 +592,7 @@ WRITE8_MEMBER(zn_state::zn_qsound_w)
m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
}
-static ADDRESS_MAP_START(coh1000c_map, AS_PROGRAM, 32, zn_state)
+ADDRESS_MAP_START(zn_state::coh1000c_map)
AM_IMPORT_FROM(zn_map)
AM_RANGE(0x1f000000, 0x1f3fffff) AM_ROM AM_REGION("maskroms", 0)
@@ -595,7 +618,7 @@ MACHINE_RESET_MEMBER(zn_state,glpracr)
MACHINE_RESET_CALL_MEMBER(coh1000c);
}
-static ADDRESS_MAP_START( qsound_map, AS_PROGRAM, 8, zn_state )
+ADDRESS_MAP_START(zn_state::qsound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("soundbank") /* banked (contains music data) */
AM_RANGE(0xd000, 0xd002) AM_DEVWRITE("qsound", qsound_device, qsound_w)
@@ -604,7 +627,7 @@ static ADDRESS_MAP_START( qsound_map, AS_PROGRAM, 8, zn_state )
AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( qsound_portmap, AS_IO, 8, zn_state )
+ADDRESS_MAP_START(zn_state::qsound_portmap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
@@ -1036,7 +1059,7 @@ WRITE8_MEMBER(zn_state::fx1a_sound_bankswitch_w)
m_soundbank->set_entry( ( data - 1 ) & 0x07 );
}
-static ADDRESS_MAP_START(coh1000ta_map, AS_PROGRAM, 32, zn_state)
+ADDRESS_MAP_START(zn_state::coh1000ta_map)
AM_IMPORT_FROM(zn_map)
AM_RANGE(0x1f000000, 0x1f7fffff) AM_ROMBANK("bankedroms")
@@ -1054,7 +1077,7 @@ MACHINE_RESET_MEMBER(zn_state,coh1000ta)
m_soundbank->set_entry( 0 );
}
-static ADDRESS_MAP_START( fx1a_sound_map, AS_PROGRAM, 8, zn_state )
+ADDRESS_MAP_START(zn_state::fx1a_sound_map)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("soundbank")
AM_RANGE(0xc000, 0xdfff) AM_RAM
@@ -1100,7 +1123,7 @@ READ8_MEMBER(zn_state::fx1b_fram_r)
return m_fx1b_fram[offset];
}
-static ADDRESS_MAP_START(coh1000tb_map, AS_PROGRAM, 32, zn_state)
+ADDRESS_MAP_START(zn_state::coh1000tb_map)
AM_IMPORT_FROM(zn_map)
AM_RANGE(0x1f000000, 0x1f7fffff) AM_ROMBANK("bankedroms")
AM_RANGE(0x1fb00000, 0x1fb003ff) AM_READWRITE8(fx1b_fram_r, fx1b_fram_w, 0x00ff00ff)
@@ -1382,7 +1405,7 @@ DRIVER_INIT_MEMBER(zn_state,primrag2)
save_item(NAME(m_vt83c461_latch));
}
-static ADDRESS_MAP_START(coh1000w_map, AS_PROGRAM, 32, zn_state)
+ADDRESS_MAP_START(zn_state::coh1000w_map)
AM_IMPORT_FROM(zn_map)
AM_RANGE(0x1f000000, 0x1f1fffff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0x1f000000, 0x1f000003) AM_WRITENOP
@@ -1564,7 +1587,7 @@ WRITE8_MEMBER(zn_state::coh1002e_sound_irq_w)
m_audiocpu->set_input_line(2, HOLD_LINE); // irq 2 on the 68k
}
-static ADDRESS_MAP_START(coh1002e_map, AS_PROGRAM, 32, zn_state)
+ADDRESS_MAP_START(zn_state::coh1002e_map)
AM_IMPORT_FROM(zn_map)
AM_RANGE(0x1f000000, 0x1f7fffff) AM_ROMBANK("bankedroms")
@@ -1579,7 +1602,7 @@ MACHINE_RESET_MEMBER(zn_state,coh1002e)
m_bankedroms->set_entry( 0 );
}
-static ADDRESS_MAP_START( psarc_snd_map, AS_PROGRAM, 16, zn_state )
+ADDRESS_MAP_START(zn_state::psarc_snd_map)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x0fffff) AM_RAM
AM_RANGE(0x100000, 0x10001f) AM_DEVREADWRITE8("ymf", ymf271_device, read, write, 0x00ff )
@@ -1700,7 +1723,7 @@ READ16_MEMBER(zn_state::bam2_unk_r)
return 0;
}
-static ADDRESS_MAP_START(bam2_map, AS_PROGRAM, 32, zn_state)
+ADDRESS_MAP_START(zn_state::bam2_map)
AM_IMPORT_FROM(zn_map)
AM_RANGE(0x1f000000, 0x1f3fffff) AM_ROM AM_REGION("bankedroms", 0)
@@ -2005,13 +2028,13 @@ WRITE8_MEMBER(zn_state::nbajamex_backup_w)
-static ADDRESS_MAP_START(coh1000a_map, AS_PROGRAM, 32, zn_state)
+ADDRESS_MAP_START(zn_state::coh1000a_map)
AM_IMPORT_FROM(zn_map)
AM_RANGE(0x1fbfff00, 0x1fbfff03) AM_WRITE16(acpsx_00_w, 0xffffffff)
AM_RANGE(0x1fbfff10, 0x1fbfff13) AM_WRITE16(acpsx_10_w, 0xffff0000)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(nbajamex_map, AS_PROGRAM, 32, zn_state)
+ADDRESS_MAP_START(zn_state::nbajamex_map)
AM_IMPORT_FROM(coh1000a_map)
AM_RANGE(0x1f000000, 0x1f1fffff) AM_ROMBANK("bankedroms")
@@ -2042,7 +2065,7 @@ DRIVER_INIT_MEMBER(zn_state,jdredd)
save_item(NAME(m_jdredd_gun_mux));
}
-static ADDRESS_MAP_START(jdredd_map, AS_PROGRAM, 32, zn_state)
+ADDRESS_MAP_START(zn_state::jdredd_map)
AM_IMPORT_FROM(coh1000a_map)
AM_RANGE(0x1f000000, 0x1f1fffff) AM_ROM AM_REGION("roms", 0)
@@ -2208,7 +2231,7 @@ WRITE8_MEMBER(zn_state::coh1001l_bank_w)
m_bankedroms->set_entry( data & 3 );
}
-static ADDRESS_MAP_START(coh1001l_map, AS_PROGRAM, 32, zn_state)
+ADDRESS_MAP_START(zn_state::coh1001l_map)
AM_IMPORT_FROM(zn_map)
AM_RANGE(0x1f000000, 0x1f7fffff) AM_ROMBANK("bankedroms")
@@ -2222,7 +2245,7 @@ MACHINE_RESET_MEMBER(zn_state,coh1001l)
m_bankedroms->set_entry( 0 );
}
-static ADDRESS_MAP_START( atlus_snd_map, AS_PROGRAM, 16, zn_state )
+ADDRESS_MAP_START(zn_state::atlus_snd_map)
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_DEVREAD("soundlatch16", generic_latch_16_device, read) AM_WRITE(coh1001l_sound_unk_w)
AM_RANGE(0x200000, 0x200003) AM_DEVREADWRITE8("ymz", ymz280b_device, read, write, 0x00ff)
@@ -2265,7 +2288,7 @@ WRITE8_MEMBER(zn_state::coh1002v_bank_w)
m_bankedroms->set_entry( data );
}
-static ADDRESS_MAP_START(coh1002v_map, AS_PROGRAM, 32, zn_state)
+ADDRESS_MAP_START(zn_state::coh1002v_map)
AM_IMPORT_FROM(zn_map)
AM_RANGE(0x1f000000, 0x1f27ffff) AM_ROM AM_REGION("fixedroms", 0)
AM_RANGE(0x1fb00000, 0x1fbfffff) AM_ROMBANK("bankedroms")
@@ -2449,7 +2472,7 @@ WRITE8_MEMBER(zn_state::coh1002m_bank_w)
m_bankedroms->set_entry( data );
}
-static ADDRESS_MAP_START(coh1002m_map, AS_PROGRAM, 32, zn_state)
+ADDRESS_MAP_START(zn_state::coh1002m_map)
AM_IMPORT_FROM(zn_map)
AM_RANGE(0x1f000000, 0x1f7fffff) AM_ROMBANK("bankedroms")
AM_RANGE(0x1fb00004, 0x1fb00007) AM_WRITE8(coh1002m_bank_w, 0x00ff0000)
@@ -2474,7 +2497,7 @@ READ8_MEMBER(zn_state::cbaj_sound_main_status_r)
return m_cbaj_fifo2->ef_r() << 1;
}
-static ADDRESS_MAP_START(coh1002msnd_map, AS_PROGRAM, 32, zn_state)
+ADDRESS_MAP_START(zn_state::coh1002msnd_map)
AM_IMPORT_FROM(coh1002m_map)
AM_RANGE(0x1fb00000, 0x1fb00003) AM_DEVREAD8("cbaj_fifo2", fifo7200_device, data_byte_r, 0x000000ff)
AM_RANGE(0x1fb00000, 0x1fb00003) AM_DEVWRITE8("cbaj_fifo1", fifo7200_device, data_byte_w, 0x000000ff)
@@ -2487,12 +2510,12 @@ READ8_MEMBER(zn_state::cbaj_sound_z80_status_r)
return m_cbaj_fifo1->ef_r() << 1;
}
-static ADDRESS_MAP_START( cbaj_z80_map, AS_PROGRAM, 8, zn_state )
+ADDRESS_MAP_START(zn_state::cbaj_z80_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cbaj_z80_port_map, AS_IO, 8, zn_state )
+ADDRESS_MAP_START(zn_state::cbaj_z80_port_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x84, 0x85) AM_DEVREADWRITE("ymz", ymz280b_device, read, write)
AM_RANGE(0x90, 0x90) AM_DEVREAD("cbaj_fifo1", fifo7200_device, data_byte_r)
@@ -2500,12 +2523,12 @@ static ADDRESS_MAP_START( cbaj_z80_port_map, AS_IO, 8, zn_state )
AM_RANGE(0x91, 0x91) AM_READ(cbaj_sound_z80_status_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( coh1002ml_link_map, AS_PROGRAM, 8, zn_state )
+ADDRESS_MAP_START(zn_state::coh1002ml_link_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( coh1002ml_link_port_map, AS_IO, 8, zn_state )
+ADDRESS_MAP_START(zn_state::coh1002ml_link_port_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/zodiack.cpp b/src/mame/drivers/zodiack.cpp
index d5fa2267afb..38c2f17b55c 100644
--- a/src/mame/drivers/zodiack.cpp
+++ b/src/mame/drivers/zodiack.cpp
@@ -147,7 +147,7 @@ WRITE8_MEMBER( zodiack_state::control_w )
}
-static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, zodiack_state )
+ADDRESS_MAP_START(zodiack_state::main_map)
AM_RANGE(0x0000, 0x4fff) AM_ROM
AM_RANGE(0x5800, 0x5fff) AM_RAM
AM_RANGE(0x6081, 0x6081) AM_READ_PORT("DSW0") AM_WRITE(control_w)
@@ -167,14 +167,14 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, zodiack_state )
AM_RANGE(0xc000, 0xcfff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, zodiack_state )
+ADDRESS_MAP_START(zodiack_state::sound_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
AM_RANGE(0x4000, 0x4000) AM_WRITE(sound_nmi_enable_w)
AM_RANGE(0x6000, 0x6000) AM_DEVREADWRITE("soundlatch", generic_latch_8_device, read, write)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, zodiack_state )
+ADDRESS_MAP_START(zodiack_state::io_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/zorba.cpp b/src/mame/drivers/zorba.cpp
index 27df73cbcf0..4e01c24ff90 100644
--- a/src/mame/drivers/zorba.cpp
+++ b/src/mame/drivers/zorba.cpp
@@ -71,15 +71,13 @@ ToDo:
#include "speaker.h"
-namespace {
-
-ADDRESS_MAP_START( zorba_mem, AS_PROGRAM, 8, zorba_state )
+ADDRESS_MAP_START(zorba_state::zorba_mem)
AM_RANGE( 0x0000, 0x3fff ) AM_READ_BANK("bankr0") AM_WRITE_BANK("bankw0")
AM_RANGE( 0x4000, 0xffff ) AM_RAM
ADDRESS_MAP_END
-ADDRESS_MAP_START( zorba_io, AS_IO, 8, zorba_state )
+ADDRESS_MAP_START(zorba_state::zorba_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("pit", pit8254_device, read, write)
AM_RANGE(0x04, 0x04) AM_READWRITE(rom_r, rom_w)
@@ -98,6 +96,7 @@ ADDRESS_MAP_START( zorba_io, AS_IO, 8, zorba_state )
AM_RANGE(0x60, 0x63) AM_DEVREADWRITE("pia1", pia6821_device, read, write)
ADDRESS_MAP_END
+namespace {
INPUT_PORTS_START( zorba )
PORT_START("CNF")
diff --git a/src/mame/drivers/zr107.cpp b/src/mame/drivers/zr107.cpp
index 321427a41a1..fe43a736f8c 100644
--- a/src/mame/drivers/zr107.cpp
+++ b/src/mame/drivers/zr107.cpp
@@ -263,6 +263,11 @@ public:
void zr107(machine_config &config);
void jetwave(machine_config &config);
+ void jetwave_map(address_map &map);
+ void k054539_map(address_map &map);
+ void sharc_map(address_map &map);
+ void sound_memmap(address_map &map);
+ void zr107_map(address_map &map);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -471,7 +476,7 @@ void zr107_state::machine_start()
m_maincpu->ppcdrc_add_fastram(0x00000000, 0x000fffff, false, m_workram);
}
-static ADDRESS_MAP_START( zr107_map, AS_PROGRAM, 32, zr107_state )
+ADDRESS_MAP_START(zr107_state::zr107_map)
AM_RANGE(0x00000000, 0x000fffff) AM_RAM AM_SHARE("workram") /* Work RAM */
AM_RANGE(0x74000000, 0x74003fff) AM_DEVREADWRITE("k056832", k056832_device, ram_long_r, ram_long_w)
AM_RANGE(0x74020000, 0x7402003f) AM_DEVREADWRITE("k056832", k056832_device, long_r, long_w)
@@ -498,7 +503,7 @@ WRITE32_MEMBER(zr107_state::jetwave_palette_w)
m_palette->set_pen_color(offset, pal5bit(data >> 10), pal5bit(data >> 5), pal5bit(data >> 0));
}
-static ADDRESS_MAP_START( jetwave_map, AS_PROGRAM, 32, zr107_state )
+ADDRESS_MAP_START(zr107_state::jetwave_map)
AM_RANGE(0x00000000, 0x000fffff) AM_RAM /* Work RAM */
AM_RANGE(0x74000000, 0x740000ff) AM_DEVREADWRITE("k001604", k001604_device, reg_r, reg_w)
AM_RANGE(0x74010000, 0x7401ffff) AM_RAM_WRITE(jetwave_palette_w) AM_SHARE("paletteram")
@@ -533,7 +538,7 @@ WRITE16_MEMBER(zr107_state::sound_ctrl_w)
}
}
-static ADDRESS_MAP_START( sound_memmap, AS_PROGRAM, 16, zr107_state )
+ADDRESS_MAP_START(zr107_state::sound_memmap)
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM /* Work RAM */
AM_RANGE(0x200000, 0x2004ff) AM_DEVREADWRITE8("k054539_1", k054539_device, read, write, 0xff00)
@@ -543,7 +548,7 @@ static ADDRESS_MAP_START( sound_memmap, AS_PROGRAM, 16, zr107_state )
AM_RANGE(0x580000, 0x580001) AM_WRITENOP // 'NRES' - D2: K056602 /RESET
ADDRESS_MAP_END
-static ADDRESS_MAP_START( k054539_map, 0, 8, zr107_state )
+ADDRESS_MAP_START(zr107_state::k054539_map)
AM_RANGE(0x000000, 0x5fffff) AM_ROM AM_REGION("k054539", 0)
ADDRESS_MAP_END
@@ -560,7 +565,7 @@ WRITE32_MEMBER(zr107_state::dsp_dataram_w)
m_sharc_dataram[offset] = data;
}
-static ADDRESS_MAP_START( sharc_map, AS_DATA, 32, zr107_state )
+ADDRESS_MAP_START(zr107_state::sharc_map)
AM_RANGE(0x400000, 0x41ffff) AM_DEVREADWRITE("konppc", konppc_device, cgboard_0_shared_sharc_r, cgboard_0_shared_sharc_w)
AM_RANGE(0x500000, 0x5fffff) AM_READWRITE(dsp_dataram_r, dsp_dataram_w)
AM_RANGE(0x600000, 0x6fffff) AM_DEVREADWRITE("k001005", k001005_device, read, write)
diff --git a/src/mame/drivers/zrt80.cpp b/src/mame/drivers/zrt80.cpp
index efa4cb7fcb2..9f47698b434 100644
--- a/src/mame/drivers/zrt80.cpp
+++ b/src/mame/drivers/zrt80.cpp
@@ -52,6 +52,8 @@ public:
MC6845_UPDATE_ROW(crtc_update_row);
void zrt80(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
uint8_t m_term_data;
@@ -98,7 +100,7 @@ WRITE8_MEMBER(zrt80_state::zrt80_38_w)
m_beep->set_state(1);
}
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, zrt80_state )
+ADDRESS_MAP_START(zrt80_state::mem_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_ROM // Z25 - Main firmware
AM_RANGE(0x1000, 0x1fff) AM_ROM // Z24 - Expansion
@@ -108,7 +110,7 @@ static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, zrt80_state )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, zrt80_state )
+ADDRESS_MAP_START(zrt80_state::io_map)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x07) AM_DEVREADWRITE("ins8250", ins8250_device, ins8250_r, ins8250_w )
diff --git a/src/mame/drivers/zsbc3.cpp b/src/mame/drivers/zsbc3.cpp
index f2fbe490ba2..081df4486fc 100644
--- a/src/mame/drivers/zsbc3.cpp
+++ b/src/mame/drivers/zsbc3.cpp
@@ -52,18 +52,20 @@ public:
{ }
void zsbc3(machine_config &config);
+ void zsbc3_io(address_map &map);
+ void zsbc3_mem(address_map &map);
private:
required_device<cpu_device> m_maincpu;
};
-static ADDRESS_MAP_START(zsbc3_mem, AS_PROGRAM, 8, zsbc3_state)
+ADDRESS_MAP_START(zsbc3_state::zsbc3_mem)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x07ff ) AM_ROM
AM_RANGE( 0x0800, 0xffff ) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(zsbc3_io, AS_IO, 8, zsbc3_state)
+ADDRESS_MAP_START(zsbc3_state::zsbc3_io)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x08, 0x0b) //AM_DEVREADWRITE("pio", z80pio_device, read, write) // the control bytes appear to be for a PIO
diff --git a/src/mame/drivers/zwackery.cpp b/src/mame/drivers/zwackery.cpp
index bff09cc2a6e..1e0db425aad 100644
--- a/src/mame/drivers/zwackery.cpp
+++ b/src/mame/drivers/zwackery.cpp
@@ -72,6 +72,7 @@ public:
DECLARE_READ8_MEMBER(ptm_r);
void zwackery(machine_config &config);
+ void zwackery_map(address_map &map);
protected:
virtual void machine_start() override;
@@ -101,7 +102,7 @@ private:
// ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( zwackery_map, AS_PROGRAM, 16, zwackery_state )
+ADDRESS_MAP_START(zwackery_state::zwackery_map)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x037fff) AM_ROM
AM_RANGE(0x080000, 0x080fff) AM_RAM
diff --git a/src/mame/drivers/zx.cpp b/src/mame/drivers/zx.cpp
index 17209f4b969..d7318b779a2 100644
--- a/src/mame/drivers/zx.cpp
+++ b/src/mame/drivers/zx.cpp
@@ -51,34 +51,34 @@
/* Memory Maps */
-static ADDRESS_MAP_START( zx80_map, AS_PROGRAM, 8, zx_state )
+ADDRESS_MAP_START(zx_state::zx80_map)
AM_RANGE(0x0000, 0x0fff) AM_ROM AM_MIRROR(0x3000)
AM_RANGE(0x4000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( zx81_map, AS_PROGRAM, 8, zx_state )
+ADDRESS_MAP_START(zx_state::zx81_map)
AM_RANGE(0x0000, 0x1fff) AM_ROM AM_MIRROR(0x2000)
AM_RANGE(0x4000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ula_map, AS_OPCODES, 8, zx_state )
+ADDRESS_MAP_START(zx_state::ula_map)
AM_RANGE(0x0000, 0x7fff) AM_READ(ula_low_r)
AM_RANGE(0x8000, 0xffff) AM_READ(ula_high_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( zx80_io_map, AS_IO, 8, zx_state )
+ADDRESS_MAP_START(zx_state::zx80_io_map)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(zx80_io_r, zx80_io_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( zx81_io_map, AS_IO, 8, zx_state )
+ADDRESS_MAP_START(zx_state::zx81_io_map)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(zx81_io_r, zx81_io_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pc8300_io_map, AS_IO, 8, zx_state )
+ADDRESS_MAP_START(zx_state::pc8300_io_map)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(pc8300_io_r, zx81_io_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pow3000_io_map, AS_IO, 8, zx_state )
+ADDRESS_MAP_START(zx_state::pow3000_io_map)
AM_RANGE(0x0000, 0xffff) AM_READWRITE(pow3000_io_r, zx81_io_w)
ADDRESS_MAP_END
@@ -323,7 +323,7 @@ MACHINE_CONFIG_START(zx_state::zx80)
MCFG_CPU_ADD("maincpu", Z80, XTAL(6'500'000)/2)
MCFG_CPU_PROGRAM_MAP(zx80_map)
MCFG_CPU_IO_MAP(zx80_io_map)
- MCFG_CPU_DECRYPTED_OPCODES_MAP(ula_map)
+ MCFG_CPU_OPCODES_MAP(ula_map)
MCFG_Z80_SET_REFRESH_CALLBACK(WRITE16(zx_state, refresh_w))
MCFG_SCREEN_ADD("screen", RASTER)