summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers
diff options
context:
space:
mode:
authorGravatarGravatar Olivier Galibert <galibert@pobox.com>2018-01-18 19:41:45 +0100
committerGravatarGravatar Olivier Galibert <galibert@pobox.com>2018-01-31 22:03:00 +0100
commit127cd08d4d8a7ebbd5e0cbe8239fa17c8dc9b20e (patch) (github)
treeee4db1c2bfd942142669ab820a39f8417d0a0d9d /src/mame/drivers
parent86d25d4d8dae418ef39b132e9f80cc9f781b96e1 (diff)
downloadmame-127cd08d4d8a7ebbd5e0cbe8239fa17c8dc9b20e.tar.bz2
mame-127cd08d4d8a7ebbd5e0cbe8239fa17c8dc9b20e.zip
API change: Memory maps are now "last entry wins" [O. Galibert]
This allows for the much more natural "import another map and patch it" structure, or "cover a whole region then punch holes in it". Our previous first-entry-wins rule was always a surprise to newcomers, and oldcomers too.
Diffstat (limited to 'src/mame/drivers')
-rw-r--r--src/mame/drivers/20pacgal.cpp6
-rw-r--r--src/mame/drivers/30test.cpp2
-rw-r--r--src/mame/drivers/88games.cpp2
-rw-r--r--src/mame/drivers/aeroboto.cpp2
-rw-r--r--src/mame/drivers/aerofgt.cpp2
-rw-r--r--src/mame/drivers/alesis.cpp2
-rw-r--r--src/mame/drivers/aliens.cpp2
-rw-r--r--src/mame/drivers/alphasma.cpp8
-rw-r--r--src/mame/drivers/alphatpx.cpp4
-rw-r--r--src/mame/drivers/altos8600.cpp2
-rw-r--r--src/mame/drivers/amstr_pc.cpp4
-rw-r--r--src/mame/drivers/apollo.cpp17
-rw-r--r--src/mame/drivers/apple2e.cpp6
-rw-r--r--src/mame/drivers/appoooh.cpp2
-rw-r--r--src/mame/drivers/aristmk5.cpp11
-rw-r--r--src/mame/drivers/armedf.cpp2
-rw-r--r--src/mame/drivers/astrocde.cpp8
-rw-r--r--src/mame/drivers/asuka.cpp2
-rw-r--r--src/mame/drivers/at.cpp6
-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/atarisy2.cpp2
-rw-r--r--src/mame/drivers/atm.cpp2
-rw-r--r--src/mame/drivers/baraduke.cpp2
-rw-r--r--src/mame/drivers/batman.cpp2
-rw-r--r--src/mame/drivers/bbc.cpp12
-rw-r--r--src/mame/drivers/bebox.cpp2
-rw-r--r--src/mame/drivers/bfm_sc4.cpp2
-rw-r--r--src/mame/drivers/bfm_swp.cpp2
-rw-r--r--src/mame/drivers/bingor.cpp6
-rw-r--r--src/mame/drivers/blockhl.cpp2
-rw-r--r--src/mame/drivers/bloodbro.cpp2
-rw-r--r--src/mame/drivers/blueprnt.cpp2
-rw-r--r--src/mame/drivers/bottom9.cpp2
-rw-r--r--src/mame/drivers/bowltry.cpp2
-rw-r--r--src/mame/drivers/by35.cpp2
-rw-r--r--src/mame/drivers/cabal.cpp4
-rw-r--r--src/mame/drivers/calorie.cpp5
-rw-r--r--src/mame/drivers/candela.cpp2
-rw-r--r--src/mame/drivers/cave.cpp2
-rw-r--r--src/mame/drivers/ccastles.cpp2
-rw-r--r--src/mame/drivers/cclimber.cpp8
-rw-r--r--src/mame/drivers/ccs2810.cpp2
-rw-r--r--src/mame/drivers/cdi.cpp2
-rw-r--r--src/mame/drivers/champbas.cpp14
-rw-r--r--src/mame/drivers/cinemat.cpp2
-rw-r--r--src/mame/drivers/cloud9.cpp2
-rw-r--r--src/mame/drivers/cmmb.cpp2
-rw-r--r--src/mame/drivers/compc.cpp4
-rw-r--r--src/mame/drivers/coolridr.cpp6
-rw-r--r--src/mame/drivers/cps1.cpp2
-rw-r--r--src/mame/drivers/cps2.cpp4
-rw-r--r--src/mame/drivers/crimfght.cpp2
-rw-r--r--src/mame/drivers/crospang.cpp1
-rw-r--r--src/mame/drivers/crystal.cpp26
-rw-r--r--src/mame/drivers/cybertnk.cpp2
-rw-r--r--src/mame/drivers/dacholer.cpp2
-rw-r--r--src/mame/drivers/dblcrown.cpp2
-rw-r--r--src/mame/drivers/dcon.cpp2
-rw-r--r--src/mame/drivers/ddenlovr.cpp8
-rw-r--r--src/mame/drivers/ddragon.cpp2
-rw-r--r--src/mame/drivers/dec0.cpp2
-rw-r--r--src/mame/drivers/deco32.cpp2
-rw-r--r--src/mame/drivers/dkong.cpp4
-rw-r--r--src/mame/drivers/dreambal.cpp3
-rw-r--r--src/mame/drivers/dynax.cpp4
-rw-r--r--src/mame/drivers/dynduke.cpp2
-rw-r--r--src/mame/drivers/elwro800.cpp2
-rw-r--r--src/mame/drivers/eprom.cpp8
-rw-r--r--src/mame/drivers/equites.cpp4
-rw-r--r--src/mame/drivers/ertictac.cpp3
-rw-r--r--src/mame/drivers/espial.cpp6
-rw-r--r--src/mame/drivers/europc.cpp2
-rw-r--r--src/mame/drivers/exerion.cpp4
-rw-r--r--src/mame/drivers/exidy.cpp12
-rw-r--r--src/mame/drivers/expro02.cpp9
-rw-r--r--src/mame/drivers/fastinvaders.cpp7
-rw-r--r--src/mame/drivers/fccpu30.cpp2
-rw-r--r--src/mame/drivers/fidel6502.cpp4
-rw-r--r--src/mame/drivers/fidel68k.cpp4
-rw-r--r--src/mame/drivers/funkball.cpp2
-rw-r--r--src/mame/drivers/gaelco2.cpp14
-rw-r--r--src/mame/drivers/gaelco3d.cpp4
-rw-r--r--src/mame/drivers/galaga.cpp2
-rw-r--r--src/mame/drivers/galaxian.cpp2
-rw-r--r--src/mame/drivers/galaxold.cpp8
-rw-r--r--src/mame/drivers/galgames.cpp4
-rw-r--r--src/mame/drivers/gauntlet.cpp2
-rw-r--r--src/mame/drivers/gei.cpp8
-rw-r--r--src/mame/drivers/geneve.cpp4
-rw-r--r--src/mame/drivers/gladiatr.cpp2
-rw-r--r--src/mame/drivers/gng.cpp2
-rw-r--r--src/mame/drivers/goldstar.cpp2
-rw-r--r--src/mame/drivers/goodejan.cpp4
-rw-r--r--src/mame/drivers/gstriker.cpp2
-rw-r--r--src/mame/drivers/gts1.cpp3
-rw-r--r--src/mame/drivers/halleys.cpp3
-rw-r--r--src/mame/drivers/harddriv.cpp4
-rw-r--r--src/mame/drivers/hec2hrp.cpp12
-rw-r--r--src/mame/drivers/hikaru.cpp2
-rw-r--r--src/mame/drivers/hitpoker.cpp5
-rw-r--r--src/mame/drivers/hk68v10.cpp2
-rw-r--r--src/mame/drivers/hp9k_3xx.cpp24
-rw-r--r--src/mame/drivers/hp_ipc.cpp5
-rw-r--r--src/mame/drivers/hvyunit.cpp2
-rw-r--r--src/mame/drivers/ibmpcjr.cpp2
-rw-r--r--src/mame/drivers/igs011.cpp21
-rw-r--r--src/mame/drivers/igs017.cpp20
-rw-r--r--src/mame/drivers/igspoker.cpp6
-rw-r--r--src/mame/drivers/interact.cpp8
-rw-r--r--src/mame/drivers/interpro.cpp24
-rw-r--r--src/mame/drivers/iq151.cpp8
-rw-r--r--src/mame/drivers/ironhors.cpp5
-rw-r--r--src/mame/drivers/isbc.cpp4
-rw-r--r--src/mame/drivers/itech32.cpp2
-rw-r--r--src/mame/drivers/jack.cpp4
-rw-r--r--src/mame/drivers/joctronic.cpp2
-rw-r--r--src/mame/drivers/kc.cpp8
-rw-r--r--src/mame/drivers/konamigx.cpp8
-rw-r--r--src/mame/drivers/kyugo.cpp2
-rw-r--r--src/mame/drivers/lbeach.cpp2
-rw-r--r--src/mame/drivers/lethal.cpp4
-rw-r--r--src/mame/drivers/liberate.cpp8
-rw-r--r--src/mame/drivers/liberatr.cpp4
-rw-r--r--src/mame/drivers/luckgrln.cpp4
-rw-r--r--src/mame/drivers/m107.cpp6
-rw-r--r--src/mame/drivers/m24.cpp2
-rw-r--r--src/mame/drivers/m62.cpp2
-rw-r--r--src/mame/drivers/m63.cpp2
-rw-r--r--src/mame/drivers/mainevt.cpp10
-rw-r--r--src/mame/drivers/malzak.cpp4
-rw-r--r--src/mame/drivers/mazerbla.cpp2
-rw-r--r--src/mame/drivers/mediagx.cpp2
-rw-r--r--src/mame/drivers/megaphx.cpp2
-rw-r--r--src/mame/drivers/megasys1.cpp6
-rw-r--r--src/mame/drivers/mephisto.cpp2
-rw-r--r--src/mame/drivers/merit.cpp2
-rw-r--r--src/mame/drivers/metro.cpp2
-rw-r--r--src/mame/drivers/microterm.cpp2
-rw-r--r--src/mame/drivers/mmodular.cpp8
-rw-r--r--src/mame/drivers/model2.cpp16
-rw-r--r--src/mame/drivers/mpu3.cpp3
-rw-r--r--src/mame/drivers/ms32.cpp4
-rw-r--r--src/mame/drivers/mtouchxl.cpp2
-rw-r--r--src/mame/drivers/multfish.cpp2
-rw-r--r--src/mame/drivers/multigam.cpp6
-rw-r--r--src/mame/drivers/mvme147.cpp2
-rw-r--r--src/mame/drivers/mwarr.cpp2
-rw-r--r--src/mame/drivers/mz2000.cpp2
-rw-r--r--src/mame/drivers/namcos10.cpp10
-rw-r--r--src/mame/drivers/namcos11.cpp4
-rw-r--r--src/mame/drivers/namcos12.cpp8
-rw-r--r--src/mame/drivers/namcos2.cpp32
-rw-r--r--src/mame/drivers/namcos21.cpp10
-rw-r--r--src/mame/drivers/namcos22.cpp8
-rw-r--r--src/mame/drivers/namcos23.cpp2
-rw-r--r--src/mame/drivers/namcos86.cpp4
-rw-r--r--src/mame/drivers/naomi.cpp2
-rw-r--r--src/mame/drivers/neogeo.cpp2
-rw-r--r--src/mame/drivers/neogeocd.cpp2
-rw-r--r--src/mame/drivers/nes_vt.cpp6
-rw-r--r--src/mame/drivers/next.cpp18
-rw-r--r--src/mame/drivers/nightgal.cpp2
-rw-r--r--src/mame/drivers/nmk16.cpp6
-rw-r--r--src/mame/drivers/novag6502.cpp4
-rw-r--r--src/mame/drivers/okean240.cpp6
-rw-r--r--src/mame/drivers/olibochu.cpp2
-rw-r--r--src/mame/drivers/oric.cpp4
-rw-r--r--src/mame/drivers/overdriv.cpp2
-rw-r--r--src/mame/drivers/pacman.cpp16
-rw-r--r--src/mame/drivers/paradise.cpp8
-rw-r--r--src/mame/drivers/parodius.cpp4
-rw-r--r--src/mame/drivers/pasogo.cpp4
-rw-r--r--src/mame/drivers/pb1000.cpp2
-rw-r--r--src/mame/drivers/pc.cpp6
-rw-r--r--src/mame/drivers/pc9801.cpp8
-rw-r--r--src/mame/drivers/pcd.cpp4
-rw-r--r--src/mame/drivers/pcxt.cpp2
-rw-r--r--src/mame/drivers/pdp11.cpp2
-rw-r--r--src/mame/drivers/pentagon.cpp2
-rw-r--r--src/mame/drivers/pgm2.cpp6
-rw-r--r--src/mame/drivers/pinball2k.cpp2
-rw-r--r--src/mame/drivers/play_3.cpp4
-rw-r--r--src/mame/drivers/pntnpuzl.cpp2
-rw-r--r--src/mame/drivers/prehisle.cpp2
-rw-r--r--src/mame/drivers/psikyo.cpp8
-rw-r--r--src/mame/drivers/psychic5.cpp2
-rw-r--r--src/mame/drivers/punchout.cpp2
-rw-r--r--src/mame/drivers/pv9234.cpp2
-rw-r--r--src/mame/drivers/pwrview.cpp11
-rw-r--r--src/mame/drivers/rad_eu3a05.cpp5
-rw-r--r--src/mame/drivers/rad_eu3a14.cpp6
-rw-r--r--src/mame/drivers/raiden.cpp2
-rw-r--r--src/mame/drivers/raiden2.cpp14
-rw-r--r--src/mame/drivers/rastersp.cpp2
-rw-r--r--src/mame/drivers/re900.cpp2
-rw-r--r--src/mame/drivers/realbrk.cpp10
-rw-r--r--src/mame/drivers/renegade.cpp2
-rw-r--r--src/mame/drivers/rocnrope.cpp2
-rw-r--r--src/mame/drivers/rohga.cpp2
-rw-r--r--src/mame/drivers/royalmah.cpp2
-rw-r--r--src/mame/drivers/scobra.cpp2
-rw-r--r--src/mame/drivers/scorpion.cpp2
-rw-r--r--src/mame/drivers/scramble.cpp4
-rw-r--r--src/mame/drivers/segam1.cpp2
-rw-r--r--src/mame/drivers/segas32.cpp14
-rw-r--r--src/mame/drivers/segaufo.cpp4
-rw-r--r--src/mame/drivers/segaybd.cpp3
-rw-r--r--src/mame/drivers/seibucats.cpp3
-rw-r--r--src/mame/drivers/seibuspi.cpp16
-rw-r--r--src/mame/drivers/senjyo.cpp12
-rw-r--r--src/mame/drivers/seta.cpp9
-rw-r--r--src/mame/drivers/sfcbox.cpp2
-rw-r--r--src/mame/drivers/sidearms.cpp4
-rw-r--r--src/mame/drivers/sidepckt.cpp2
-rw-r--r--src/mame/drivers/sigmab98.cpp15
-rw-r--r--src/mame/drivers/simple_st0016.cpp2
-rw-r--r--src/mame/drivers/simpsons.cpp4
-rw-r--r--src/mame/drivers/skeetsht.cpp6
-rw-r--r--src/mame/drivers/skimaxx.cpp5
-rw-r--r--src/mame/drivers/skylncr.cpp2
-rw-r--r--src/mame/drivers/slapfght.cpp12
-rw-r--r--src/mame/drivers/snk.cpp4
-rw-r--r--src/mame/drivers/spbactn.cpp2
-rw-r--r--src/mame/drivers/spy.cpp2
-rw-r--r--src/mame/drivers/spyhuntertec.cpp4
-rw-r--r--src/mame/drivers/srmp2.cpp2
-rw-r--r--src/mame/drivers/sslam.cpp4
-rw-r--r--src/mame/drivers/ssystem3.cpp4
-rw-r--r--src/mame/drivers/starwars.cpp2
-rw-r--r--src/mame/drivers/stfight.cpp4
-rw-r--r--src/mame/drivers/subs.cpp2
-rw-r--r--src/mame/drivers/subsino.cpp12
-rw-r--r--src/mame/drivers/subsino2.cpp12
-rw-r--r--src/mame/drivers/surpratk.cpp2
-rw-r--r--src/mame/drivers/swtpc09.cpp8
-rw-r--r--src/mame/drivers/system16.cpp15
-rw-r--r--src/mame/drivers/taitogn.cpp4
-rw-r--r--src/mame/drivers/taitojc.cpp6
-rw-r--r--src/mame/drivers/taitosj.cpp2
-rw-r--r--src/mame/drivers/tandy1t.cpp6
-rw-r--r--src/mame/drivers/tandy2k.cpp2
-rw-r--r--src/mame/drivers/tasman.cpp8
-rw-r--r--src/mame/drivers/tecmo.cpp2
-rw-r--r--src/mame/drivers/tempest.cpp2
-rw-r--r--src/mame/drivers/terracre.cpp2
-rw-r--r--src/mame/drivers/tetrisp2.cpp19
-rw-r--r--src/mame/drivers/thunderx.cpp9
-rw-r--r--src/mame/drivers/ti99_4p.cpp4
-rw-r--r--src/mame/drivers/ti99_4x.cpp4
-rw-r--r--src/mame/drivers/ti99_8.cpp4
-rw-r--r--src/mame/drivers/tnzs.cpp14
-rw-r--r--src/mame/drivers/tx1.cpp4
-rw-r--r--src/mame/drivers/vendetta.cpp16
-rw-r--r--src/mame/drivers/vii.cpp3
-rw-r--r--src/mame/drivers/vis.cpp4
-rw-r--r--src/mame/drivers/vsnes.cpp6
-rw-r--r--src/mame/drivers/wecleman.cpp2
-rw-r--r--src/mame/drivers/williams.cpp2
-rw-r--r--src/mame/drivers/wiz.cpp4
-rw-r--r--src/mame/drivers/xmen.cpp4
-rw-r--r--src/mame/drivers/yiear.cpp2
-rw-r--r--src/mame/drivers/yunsung8.cpp2
-rw-r--r--src/mame/drivers/zexall.cpp2
-rw-r--r--src/mame/drivers/zn.cpp48
267 files changed, 675 insertions, 697 deletions
diff --git a/src/mame/drivers/20pacgal.cpp b/src/mame/drivers/20pacgal.cpp
index a0093d6a41f..b1656b5952d 100644
--- a/src/mame/drivers/20pacgal.cpp
+++ b/src/mame/drivers/20pacgal.cpp
@@ -187,6 +187,8 @@ WRITE8_MEMBER(_20pacgal_state::sprite_lookup_w)
// 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 )
+ 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")
AM_RANGE(0x04800, 0x05fff) AM_RAM
AM_RANGE(0x06000, 0x06fff) AM_WRITEONLY AM_SHARE("char_gfx_ram")
@@ -197,8 +199,6 @@ static ADDRESS_MAP_START( 25pacman_map, AS_PROGRAM, 8, _25pacman_state )
AM_RANGE(0x0c000, 0x0dfff) AM_WRITENOP // is this the sound waveforms in a different format?
AM_RANGE(0x0e000, 0x0ffff) AM_WRITENOP
AM_RANGE(0x1c000, 0x1ffff) AM_WRITENOP
- AM_RANGE(0x00000, 0x3ffff) AM_DEVREADWRITE("flash", amd_29lv200t_device, read, write ) // (always fall through if nothing else is mapped?)
-
ADDRESS_MAP_END
static ADDRESS_MAP_START( 20pacgal_map, AS_PROGRAM, 8, _20pacgal_state )
@@ -208,8 +208,8 @@ static ADDRESS_MAP_START( 20pacgal_map, AS_PROGRAM, 8, _20pacgal_state )
AM_RANGE(0x0a000, 0x0ffff) AM_MIRROR(0x40000) AM_ROM
AM_RANGE(0x10000, 0x3ffff) AM_ROM
AM_RANGE(0x44000, 0x447ff) AM_RAM AM_SHARE("video_ram")
- AM_RANGE(0x45040, 0x4505f) AM_DEVWRITE("namco", namco_cus30_device, pacman_sound_w)
AM_RANGE(0x44800, 0x45eff) AM_RAM
+ AM_RANGE(0x45040, 0x4505f) AM_DEVWRITE("namco", namco_cus30_device, pacman_sound_w)
AM_RANGE(0x45f00, 0x45fff) AM_DEVWRITE("namco", namco_cus30_device, namcos1_cus30_w)
AM_RANGE(0x46000, 0x46fff) AM_WRITEONLY AM_SHARE("char_gfx_ram")
AM_RANGE(0x47100, 0x47100) AM_RAM /* leftover from original Galaga code */
diff --git a/src/mame/drivers/30test.cpp b/src/mame/drivers/30test.cpp
index 92244fbdd09..0535b081243 100644
--- a/src/mame/drivers/30test.cpp
+++ b/src/mame/drivers/30test.cpp
@@ -139,9 +139,9 @@ WRITE8_MEMBER(namco_30test_state::hc11_okibank_w)
static ADDRESS_MAP_START( namco_30test_map, AS_PROGRAM, 8, namco_30test_state )
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)
AM_RANGE(0x007e, 0x007e) AM_READWRITE(hc11_okibank_r,hc11_okibank_w)
- AM_RANGE(0x0040, 0x007f) AM_RAM // more internal I/O, HC11 change pending
AM_RANGE(0x0080, 0x037f) AM_RAM // internal RAM
AM_RANGE(0x0d80, 0x0dbf) AM_RAM // EEPROM read-back data goes there
AM_RANGE(0x2000, 0x2000) AM_DEVREADWRITE("oki", okim6295_device, read, write)
diff --git a/src/mame/drivers/88games.cpp b/src/mame/drivers/88games.cpp
index 98a51fe7f12..11f6005d1b5 100644
--- a/src/mame/drivers/88games.cpp
+++ b/src/mame/drivers/88games.cpp
@@ -128,6 +128,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, _88games_state )
AM_RANGE(0x2000, 0x2fff) AM_RAM
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x3800, 0x3fff) AM_READWRITE(bankedram_r, bankedram_w) AM_SHARE("ram")
+ AM_RANGE(0x4000, 0x7fff) AM_READWRITE(k052109_051960_r, k052109_051960_w)
AM_RANGE(0x5f84, 0x5f84) AM_WRITE(k88games_5f84_w)
AM_RANGE(0x5f88, 0x5f88) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x5f8c, 0x5f8c) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
@@ -138,7 +139,6 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, _88games_state )
AM_RANGE(0x5f97, 0x5f97) AM_READ_PORT("DSW1")
AM_RANGE(0x5f9b, 0x5f9b) AM_READ_PORT("DSW2")
AM_RANGE(0x5fc0, 0x5fcf) AM_DEVWRITE("k051316", k051316_device, ctrl_w)
- AM_RANGE(0x4000, 0x7fff) AM_READWRITE(k052109_051960_r, k052109_051960_w)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/aeroboto.cpp b/src/mame/drivers/aeroboto.cpp
index 9ec02e5177a..f1138f23286 100644
--- a/src/mame/drivers/aeroboto.cpp
+++ b/src/mame/drivers/aeroboto.cpp
@@ -75,8 +75,8 @@ WRITE8_MEMBER(aeroboto_state::aeroboto_1a2_w)
}
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, aeroboto_state )
- AM_RANGE(0x01a2, 0x01a2) AM_WRITE(aeroboto_1a2_w) // affects IRQ line (more protection?)
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
AM_RANGE(0x0900, 0x09ff) AM_WRITEONLY // a backup of default tile colors
AM_RANGE(0x1000, 0x17ff) AM_RAM_WRITE(aeroboto_videoram_w) AM_SHARE("videoram") // tile RAM
diff --git a/src/mame/drivers/aerofgt.cpp b/src/mame/drivers/aerofgt.cpp
index 84468c02b7a..5e59706a838 100644
--- a/src/mame/drivers/aerofgt.cpp
+++ b/src/mame/drivers/aerofgt.cpp
@@ -150,8 +150,8 @@ static ADDRESS_MAP_START( pspikesb_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0xc04000, 0xc04001) AM_WRITENOP
AM_RANGE(0xff8000, 0xff8fff) AM_RAM_WRITE(aerofgt_bg1videoram_w) AM_SHARE("bg1videoram")
AM_RANGE(0xffc000, 0xffcbff) AM_RAM AM_SHARE("spriteram3")
- AM_RANGE(0xffd200, 0xffd201) AM_WRITE(pspikesb_gfxbank_w)
AM_RANGE(0xffd000, 0xffdfff) AM_RAM AM_SHARE("rasterram") /* bg1 scroll registers */
+ AM_RANGE(0xffd200, 0xffd201) AM_WRITE(pspikesb_gfxbank_w)
AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0")
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1")
diff --git a/src/mame/drivers/alesis.cpp b/src/mame/drivers/alesis.cpp
index 84efd4fcbf7..9dd05353191 100644
--- a/src/mame/drivers/alesis.cpp
+++ b/src/mame/drivers/alesis.cpp
@@ -155,6 +155,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START(mmt8_io, AS_IO, 8, alesis_state)
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)
AM_RANGE(0xff04, 0xff04) AM_READWRITE(mmt8_led_r, mmt8_led_w)
AM_RANGE(0xff06, 0xff06) AM_WRITE(kb_matrix_w)
@@ -163,7 +164,6 @@ static ADDRESS_MAP_START(mmt8_io, AS_IO, 8, alesis_state)
AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_READ(kb_r)
AM_RANGE(MCS51_PORT_P2, MCS51_PORT_P2) AM_WRITENOP
AM_RANGE(MCS51_PORT_P3, MCS51_PORT_P3) AM_READWRITE(mmt8_p3_r, mmt8_p3_w)
- AM_RANGE(0x0000, 0xffff) AM_RAM AM_SHARE("nvram") // 2x32Kx8 SRAM, (battery-backed)
ADDRESS_MAP_END
/* Input ports */
diff --git a/src/mame/drivers/aliens.cpp b/src/mame/drivers/aliens.cpp
index 4b0a71ac574..06114a773e0 100644
--- a/src/mame/drivers/aliens.cpp
+++ b/src/mame/drivers/aliens.cpp
@@ -89,6 +89,7 @@ static ADDRESS_MAP_START( aliens_map, AS_PROGRAM, 8, aliens_state )
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 */
+ AM_RANGE(0x4000, 0x7fff) AM_READWRITE(k052109_051960_r, k052109_051960_w)
AM_RANGE(0x5f80, 0x5f80) AM_READ_PORT("DSW3")
AM_RANGE(0x5f81, 0x5f81) AM_READ_PORT("P1")
AM_RANGE(0x5f82, 0x5f82) AM_READ_PORT("P2")
@@ -96,7 +97,6 @@ static ADDRESS_MAP_START( aliens_map, AS_PROGRAM, 8, aliens_state )
AM_RANGE(0x5f84, 0x5f84) AM_READ_PORT("DSW1")
AM_RANGE(0x5f88, 0x5f88) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r) AM_WRITE(aliens_coin_counter_w) /* coin counters */
AM_RANGE(0x5f8c, 0x5f8c) AM_WRITE(aliens_sh_irqtrigger_w) /* cause interrupt on audio CPU */
- AM_RANGE(0x4000, 0x7fff) AM_READWRITE(k052109_051960_r, k052109_051960_w)
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("maincpu", 0x28000) /* ROM e24_j02.bin */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/alphasma.cpp b/src/mame/drivers/alphasma.cpp
index 009a48a98ef..2beb9a5ecbc 100644
--- a/src/mame/drivers/alphasma.cpp
+++ b/src/mame/drivers/alphasma.cpp
@@ -167,12 +167,12 @@ WRITE8_MEMBER(alphasmart_state::port_d_w)
static ADDRESS_MAP_START(alphasmart_mem, AS_PROGRAM, 8, alphasmart_state)
ADDRESS_MAP_UNMAP_HIGH
+ AM_RANGE( 0x0000, 0x7fff ) AM_RAMBANK("rambank")
AM_RANGE( 0x0000, 0x003f ) AM_NOP // internal registers
AM_RANGE( 0x0040, 0x00ff ) AM_RAM // internal RAM
- AM_RANGE( 0x0000, 0x7fff ) AM_RAMBANK("rambank")
+ AM_RANGE( 0x8000, 0xffff ) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE( 0x8000, 0x8000 ) AM_READWRITE(kb_r, kb_matrixh_w)
AM_RANGE( 0xc000, 0xc000 ) AM_WRITE(kb_matrixl_w)
- AM_RANGE( 0x8000, 0xffff ) AM_ROM AM_REGION("maincpu", 0)
ADDRESS_MAP_END
static ADDRESS_MAP_START(alphasmart_io, AS_IO, 8, alphasmart_state)
@@ -227,11 +227,11 @@ WRITE8_MEMBER(asma2k_state::port_a_w)
static ADDRESS_MAP_START(asma2k_mem, AS_PROGRAM, 8, asma2k_state)
ADDRESS_MAP_UNMAP_HIGH
+ AM_RANGE( 0x0000, 0x7fff ) AM_RAMBANK("rambank")
AM_RANGE( 0x0000, 0x003f ) AM_NOP // internal registers
AM_RANGE( 0x0040, 0x00ff ) AM_RAM AM_SHARE("internal_ram") // internal RAM
- AM_RANGE( 0x0000, 0x7fff ) AM_RAMBANK("rambank")
- AM_RANGE( 0x9000, 0x9000 ) AM_WRITE(kb_matrixl_w)
AM_RANGE( 0x8000, 0xffff ) AM_ROM AM_REGION("maincpu", 0)
+ AM_RANGE( 0x9000, 0x9000 ) AM_WRITE(kb_matrixl_w)
ADDRESS_MAP_END
/* Input ports */
diff --git a/src/mame/drivers/alphatpx.cpp b/src/mame/drivers/alphatpx.cpp
index d9b807d9ccf..fb0bcda9e58 100644
--- a/src/mame/drivers/alphatpx.cpp
+++ b/src/mame/drivers/alphatpx.cpp
@@ -216,11 +216,11 @@ static ADDRESS_MAP_START( alphatp2_mem, AS_PROGRAM, 8, alphatp_12_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( alphatp2_map, AS_PROGRAM, 8, alphatp_12_state )
+ 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
AM_RANGE(0x03000, 0x03bff) AM_WRITEONLY AM_SHARE("vram") // test 2017 hw, MOS directly writes to display RAM
AM_RANGE(0x03FF0, 0x03fff) AM_DEVWRITE("crtc", crt5027_device, write) //test hw, mem-mapped registers, cursor position can be determined through this range
- AM_RANGE(0x00000, 0x0ffff) AM_RAMBANK("ram_0000")
AM_RANGE(0x10000, 0x1ffff) AM_RAM AM_SHARE("ram")
ADDRESS_MAP_END
@@ -252,11 +252,11 @@ static ADDRESS_MAP_START( alphatp3_mem, AS_PROGRAM, 8, alphatp_34_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( alphatp3_map, AS_PROGRAM, 8, alphatp_34_state )
+ 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
AM_RANGE(0x03000, 0x03bff) AM_WRITEONLY AM_SHARE("vram") // test 2017 hw, MOS directly writes to display RAM
AM_RANGE(0x03FF0, 0x03fff) AM_DEVWRITE("crtc", crt5037_device, write) //test hw, mem-mapped registers, cursor position can be determined through this range
- AM_RANGE(0x00000, 0x0ffff) AM_RAMBANK("ram_0000")
AM_RANGE(0x10000, 0x1ffff) AM_RAM AM_SHARE("ram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/altos8600.cpp b/src/mame/drivers/altos8600.cpp
index 74a2aaa7fa5..80a08730e22 100644
--- a/src/mame/drivers/altos8600.cpp
+++ b/src/mame/drivers/altos8600.cpp
@@ -651,6 +651,7 @@ static ADDRESS_MAP_START(dmac_mem, AS_PROGRAM, 16, altos8600_state)
ADDRESS_MAP_END
static ADDRESS_MAP_START(dmac_io, AS_IO, 16, altos8600_state)
+ 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)
AM_RANGE(0x0010, 0x0017) AM_READ(errlo_r)
@@ -671,7 +672,6 @@ static ADDRESS_MAP_START(dmac_io, AS_IO, 16, altos8600_state)
AM_RANGE(0x0078, 0x0079) AM_WRITE8(ics_attn_w, 0xffff)
AM_RANGE(0x0200, 0x03ff) AM_READWRITE(mmuflags_r, mmuflags_w)
AM_RANGE(0x0400, 0x05ff) AM_READWRITE(mmuaddr_r, mmuaddr_w)
- AM_RANGE(0x0000, 0xffff) AM_READWRITE(nmi_r, nmi_w)
ADDRESS_MAP_END
static SLOT_INTERFACE_START(altos8600_floppies)
diff --git a/src/mame/drivers/amstr_pc.cpp b/src/mame/drivers/amstr_pc.cpp
index b0f508ad1ee..8b74351e5ce 100644
--- a/src/mame/drivers/amstr_pc.cpp
+++ b/src/mame/drivers/amstr_pc.cpp
@@ -102,10 +102,10 @@ static ADDRESS_MAP_START( pc2086_map, AS_PROGRAM, 16, amstrad_pc_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START(pc200_io, AS_IO, 16, amstrad_pc_state )
+ 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)
AM_RANGE(0x007a, 0x007b) AM_READWRITE8(pc1640_mouse_y_r, pc1640_mouse_y_w, 0xffff)
- AM_RANGE(0x0000, 0x00ff) AM_DEVICE8("mb", pc_noppi_mb_device, map, 0xffff)
AM_RANGE(0x0200, 0x0207) AM_DEVREADWRITE8("pc_joy", pc_joy_device, joy_port_r, joy_port_w, 0xffff)
AM_RANGE(0x0278, 0x027b) AM_READ8(pc200_port278_r, 0xffff) AM_DEVWRITE8("lpt_2", pc_lpt_device, write, 0x00ff)
AM_RANGE(0x0378, 0x037b) AM_READ8(pc200_port378_r, 0xffff) AM_DEVWRITE8("lpt_1", pc_lpt_device, write, 0x00ff)
@@ -113,8 +113,8 @@ static ADDRESS_MAP_START(pc200_io, AS_IO, 16, amstrad_pc_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START(ppc512_io, AS_IO, 16, amstrad_pc_state )
- AM_RANGE(0x0070, 0x0071) AM_DEVREADWRITE8("rtc", mc146818_device, read, write, 0xffff)
AM_IMPORT_FROM(pc200_io)
+ AM_RANGE(0x0070, 0x0071) AM_DEVREADWRITE8("rtc", mc146818_device, read, write, 0xffff)
ADDRESS_MAP_END
/* pc20 (v2)
diff --git a/src/mame/drivers/apollo.cpp b/src/mame/drivers/apollo.cpp
index 714cf19496f..d21ddc6ecea 100644
--- a/src/mame/drivers/apollo.cpp
+++ b/src/mame/drivers/apollo.cpp
@@ -679,6 +679,8 @@ WRITE32_MEMBER(apollo_state::apollo_f8_w){
***************************************************************************/
static ADDRESS_MAP_START(dn3500_map, AS_PROGRAM, 32, apollo_state )
+ 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)
AM_RANGE(0x010000, 0x0100ff) AM_READWRITE16(apollo_csr_status_register_r, apollo_csr_status_register_w, 0xffffffff)
@@ -719,10 +721,10 @@ static ADDRESS_MAP_START(dn3500_map, AS_PROGRAM, 32, apollo_state )
// AM_RANGE(0x0e000000, 0x0fffffff) FPA address space
// AM_RANGE(0xf8000000, 0xffffffff) AM_READWRITE(apollo_f8_r, apollo_f8_w)
- AM_RANGE(0x00000000, 0xffffffff) AM_READWRITE(apollo_unmapped_r, apollo_unmapped_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START(dsp3500_map, AS_PROGRAM, 32, apollo_state )
+ 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)
AM_RANGE(0x010000, 0x0100ff) AM_READWRITE16(apollo_csr_status_register_r, apollo_csr_status_register_w, 0xffffffff)
@@ -751,10 +753,11 @@ static ADDRESS_MAP_START(dsp3500_map, AS_PROGRAM, 32, apollo_state )
AM_RANGE(ATBUS_MEMORY_BASE, ATBUS_MEMORY_END) AM_READWRITE16(apollo_atbus_memory_r, apollo_atbus_memory_w, 0xffffffff)
// AM_RANGE(0xf8000000, 0xffffffff) AM_READWRITE(apollo_f8_r, apollo_f8_w)
- AM_RANGE(0x00000000, 0xffffffff) AM_READWRITE(apollo_unmapped_r, apollo_unmapped_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START(dn3000_map, AS_PROGRAM, 32, apollo_state )
+ AM_RANGE(0x000000, 0xffffff) AM_READWRITE(apollo_unmapped_r, apollo_unmapped_w)
+
AM_RANGE(0x000000, 0x007fff) AM_ROM /* boot ROM */
AM_RANGE(0x000000, 0x007fff) AM_WRITE(apollo_rom_w)
AM_RANGE(0x008000, 0x0080ff) AM_READWRITE16(apollo_csr_status_register_r, apollo_csr_status_register_w, 0xffffffff)
@@ -783,11 +786,11 @@ static ADDRESS_MAP_START(dn3000_map, AS_PROGRAM, 32, apollo_state )
AM_RANGE(DN3000_RAM_BASE, DN3000_RAM_END) AM_RAM_WRITE(ram_with_parity_w) AM_SHARE("messram")
AM_RANGE(ATBUS_MEMORY_BASE, ATBUS_MEMORY_END) AM_READWRITE16(apollo_atbus_memory_r, apollo_atbus_memory_w, 0xffffffff)
-
- AM_RANGE(0x000000, 0xffffff) AM_READWRITE(apollo_unmapped_r, apollo_unmapped_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START(dsp3000_map, AS_PROGRAM, 32, apollo_state )
+ AM_RANGE(0x000000, 0xffffff) AM_READWRITE(apollo_unmapped_r, apollo_unmapped_w)
+
AM_RANGE(0x000000, 0x007fff) AM_ROM /* boot ROM */
AM_RANGE(0x000000, 0x007fff) AM_WRITE(apollo_rom_w)
AM_RANGE(0x008000, 0x0080ff) AM_READWRITE16(apollo_csr_status_register_r, apollo_csr_status_register_w, 0xffffffff)
@@ -811,12 +814,11 @@ static ADDRESS_MAP_START(dsp3000_map, AS_PROGRAM, 32, apollo_state )
AM_RANGE(DN3000_RAM_BASE, DN3000_RAM_END) AM_RAM_WRITE(ram_with_parity_w) AM_SHARE("messram")
AM_RANGE(ATBUS_MEMORY_BASE, ATBUS_MEMORY_END) AM_READWRITE16(apollo_atbus_memory_r, apollo_atbus_memory_w, 0xffffffff)
-
- AM_RANGE(0x000000, 0xffffff) AM_READWRITE(apollo_unmapped_r, apollo_unmapped_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START(dn5500_map, AS_PROGRAM, 32, apollo_state )
+ 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)
AM_RANGE(0x010000, 0x0100ff) AM_READWRITE16(apollo_csr_status_register_r, apollo_csr_status_register_w, 0xffffffff)
@@ -860,10 +862,10 @@ static ADDRESS_MAP_START(dn5500_map, AS_PROGRAM, 32, apollo_state )
// AM_RANGE(0x0e000000, 0x0fffffff) FPA address space
// AM_RANGE(0xf8000000, 0xffffffff) AM_READWRITE(apollo_f8_r, apollo_f8_w)
- AM_RANGE(0x00000000, 0xffffffff) AM_READWRITE(apollo_unmapped_r, apollo_unmapped_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START(dsp5500_map, AS_PROGRAM, 32, apollo_state )
+ 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)
AM_RANGE(0x010000, 0x0100ff) AM_READWRITE16(apollo_csr_status_register_r, apollo_csr_status_register_w, 0xffffffff)
@@ -896,7 +898,6 @@ static ADDRESS_MAP_START(dsp5500_map, AS_PROGRAM, 32, apollo_state )
AM_RANGE(0x07000000, 0x0700FFFF) AM_READWRITE8(dn5500_io_protection_map_r, dn5500_io_protection_map_w, 0xffffffff )
// AM_RANGE(0xf8000000, 0xffffffff) AM_READWRITE(apollo_f8_r, apollo_f8_w)
- AM_RANGE(0x00000000, 0xffffffff) AM_READWRITE(apollo_unmapped_r, apollo_unmapped_w)
ADDRESS_MAP_END
/***************************************************************************
diff --git a/src/mame/drivers/apple2e.cpp b/src/mame/drivers/apple2e.cpp
index 84a96caf037..b5cc3e937b8 100644
--- a/src/mame/drivers/apple2e.cpp
+++ b/src/mame/drivers/apple2e.cpp
@@ -2696,9 +2696,9 @@ static ADDRESS_MAP_START( apple2c_map, AS_PROGRAM, 8, apple2e_state )
AM_RANGE(0x2000, 0x3fff) AM_DEVICE(A2_2000_TAG, address_map_bank_device, amap8)
AM_RANGE(0x4000, 0xbfff) AM_DEVICE(A2_4000_TAG, address_map_bank_device, amap8)
AM_RANGE(0xc000, 0xc07f) AM_READWRITE(c000_iic_r, c000_iic_w)
+ AM_RANGE(0xc080, 0xc0ff) AM_READWRITE(c080_r, c080_w)
AM_RANGE(0xc098, 0xc09b) AM_DEVREADWRITE(IIC_ACIA1_TAG, mos6551_device, read, write)
AM_RANGE(0xc0a8, 0xc0ab) AM_DEVREADWRITE(IIC_ACIA2_TAG, mos6551_device, read, write)
- AM_RANGE(0xc080, 0xc0ff) AM_READWRITE(c080_r, c080_w)
AM_RANGE(0xc100, 0xc2ff) AM_DEVICE(A2_C100_TAG, address_map_bank_device, amap8)
AM_RANGE(0xc300, 0xc3ff) AM_DEVICE(A2_C300_TAG, address_map_bank_device, amap8)
AM_RANGE(0xc400, 0xc7ff) AM_DEVICE(A2_C400_TAG, address_map_bank_device, amap8)
@@ -2714,10 +2714,10 @@ static ADDRESS_MAP_START( apple2c_memexp_map, AS_PROGRAM, 8, apple2e_state )
AM_RANGE(0x2000, 0x3fff) AM_DEVICE(A2_2000_TAG, address_map_bank_device, amap8)
AM_RANGE(0x4000, 0xbfff) AM_DEVICE(A2_4000_TAG, address_map_bank_device, amap8)
AM_RANGE(0xc000, 0xc07f) AM_READWRITE(c000_iic_r, c000_iic_w)
+ AM_RANGE(0xc080, 0xc0ff) AM_READWRITE(c080_r, c080_w)
AM_RANGE(0xc098, 0xc09b) AM_DEVREADWRITE(IIC_ACIA1_TAG, mos6551_device, read, write)
AM_RANGE(0xc0a8, 0xc0ab) AM_DEVREADWRITE(IIC_ACIA2_TAG, mos6551_device, read, write)
AM_RANGE(0xc0c0, 0xc0c3) AM_READWRITE(memexp_r, memexp_w)
- AM_RANGE(0xc080, 0xc0ff) AM_READWRITE(c080_r, c080_w)
AM_RANGE(0xc100, 0xc2ff) AM_DEVICE(A2_C100_TAG, address_map_bank_device, amap8)
AM_RANGE(0xc300, 0xc3ff) AM_DEVICE(A2_C300_TAG, address_map_bank_device, amap8)
AM_RANGE(0xc400, 0xc7ff) AM_DEVICE(A2_C400_TAG, address_map_bank_device, amap8)
@@ -2733,11 +2733,11 @@ static ADDRESS_MAP_START( laser128_map, AS_PROGRAM, 8, apple2e_state )
AM_RANGE(0x2000, 0x3fff) AM_DEVICE(A2_2000_TAG, address_map_bank_device, amap8)
AM_RANGE(0x4000, 0xbfff) AM_DEVICE(A2_4000_TAG, address_map_bank_device, amap8)
AM_RANGE(0xc000, 0xc07f) AM_READWRITE(c000_r, c000_w)
+ AM_RANGE(0xc080, 0xc0ff) AM_READWRITE(c080_r, c080_w)
// AM_RANGE(0xc098, 0xc09b) AM_DEVREADWRITE(IIC_ACIA1_TAG, mos6551_device, read, write)
// AM_RANGE(0xc0a8, 0xc0ab) AM_DEVREADWRITE(IIC_ACIA2_TAG, mos6551_device, read, write)
AM_RANGE(0xc0d0, 0xc0d3) AM_READWRITE(memexp_r, memexp_w)
AM_RANGE(0xc0e0, 0xc0ef) AM_DEVREADWRITE(LASER128_UDC_TAG, applefdc_base_device, read, write)
- AM_RANGE(0xc080, 0xc0ff) AM_READWRITE(c080_r, c080_w)
AM_RANGE(0xc100, 0xc2ff) AM_DEVICE(A2_C100_TAG, address_map_bank_device, amap8)
AM_RANGE(0xc300, 0xc3ff) AM_DEVICE(A2_C300_TAG, address_map_bank_device, amap8)
AM_RANGE(0xc400, 0xc7ff) AM_DEVICE(A2_C400_TAG, address_map_bank_device, amap8)
diff --git a/src/mame/drivers/appoooh.cpp b/src/mame/drivers/appoooh.cpp
index 113d21fa60e..01da0719993 100644
--- a/src/mame/drivers/appoooh.cpp
+++ b/src/mame/drivers/appoooh.cpp
@@ -220,13 +220,13 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, appoooh_state )
AM_RANGE(0xe000, 0xe7ff) AM_RAM
AM_RANGE(0xe800, 0xefff) AM_RAM /* RAM ? */
+ AM_RANGE(0xf000, 0xffff) AM_RAM
AM_RANGE(0xf000, 0xf01f) AM_SHARE("spriteram")
AM_RANGE(0xf020, 0xf3ff) AM_WRITE(fg_videoram_w) AM_SHARE("fg_videoram")
AM_RANGE(0xf420, 0xf7ff) AM_WRITE(fg_colorram_w) AM_SHARE("fg_colorram")
AM_RANGE(0xf800, 0xf81f) AM_SHARE("spriteram_2")
AM_RANGE(0xf820, 0xfbff) AM_WRITE(bg_videoram_w) AM_SHARE("bg_videoram")
AM_RANGE(0xfc20, 0xffff) AM_WRITE(bg_colorram_w) AM_SHARE("bg_colorram")
- AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, appoooh_state )
diff --git a/src/mame/drivers/aristmk5.cpp b/src/mame/drivers/aristmk5.cpp
index d070fa88a7b..83ed1e27ac9 100644
--- a/src/mame/drivers/aristmk5.cpp
+++ b/src/mame/drivers/aristmk5.cpp
@@ -905,6 +905,8 @@ WRITE8_MEMBER(aristmk5_state::bill_acceptor_lamps_w)
static ADDRESS_MAP_START( aristmk5_map, AS_PROGRAM, 32, aristmk5_state )
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)
+
/* MK-5 overrides */
AM_RANGE(0x03010420, 0x03010423) AM_WRITE8(sram_banksel_w, 0x000000ff) // SRAM bank select write
@@ -924,7 +926,6 @@ static ADDRESS_MAP_START( aristmk5_map, AS_PROGRAM, 32, aristmk5_state )
AM_RANGE(0x03250050, 0x03250053) AM_READ(Ns5r50) //IOEB ID register
AM_RANGE(0x03250058, 0x0325005b) AM_READ(Ns5x58) //IOEB interrupt Latch
- AM_RANGE(0x03000000, 0x0331ffff) AM_READWRITE(archimedes_ioc_r, archimedes_ioc_w)
AM_RANGE(0x03320000, 0x0333ffff) AM_READWRITE8(sram_r, sram_w, 0x000000ff)
AM_RANGE(0x03400000, 0x035fffff) AM_WRITE(archimedes_vidc_w)
@@ -936,6 +937,8 @@ ADDRESS_MAP_END
/* U.S games have no dram emulator enabled */
static ADDRESS_MAP_START( aristmk5_usa_map, AS_PROGRAM, 32, aristmk5_state )
+ AM_IMPORT_FROM(aristmk5_map)
+
AM_RANGE(0x00000000, 0x01ffffff) AM_READWRITE(archimedes_memc_logical_r, archimedes_memc_logical_w)
AM_RANGE(0x03010440, 0x03010443) AM_WRITE8(rtc_usa_w, 0x000000ff)
@@ -959,12 +962,12 @@ static ADDRESS_MAP_START( aristmk5_usa_map, AS_PROGRAM, 32, aristmk5_state )
AM_RANGE(0x03012140, 0x0301215f) AM_DEVREADWRITE8("uart_2b", ins8250_uart_device, ins8250_r, ins8250_w, 0x000000ff)
AM_RANGE(0x03012300, 0x0301231f) AM_DEVREADWRITE8("uart_3a", ins8250_uart_device, ins8250_r, ins8250_w, 0x000000ff)
AM_RANGE(0x03012340, 0x0301235f) AM_DEVREADWRITE8("uart_3b", ins8250_uart_device, ins8250_r, ins8250_w, 0x000000ff)
-
- AM_IMPORT_FROM(aristmk5_map)
ADDRESS_MAP_END
/* with dram emulator enabled */
static ADDRESS_MAP_START( aristmk5_drame_map, AS_PROGRAM, 32, aristmk5_state )
+ AM_IMPORT_FROM(aristmk5_map)
+
AM_RANGE(0x00000000, 0x01ffffff) AM_READWRITE(aristmk5_drame_memc_logical_r, archimedes_memc_logical_w)
AM_RANGE(0x03010430, 0x03010433) AM_WRITE8(hopper_w, 0x000000ff)
@@ -978,8 +981,6 @@ static ADDRESS_MAP_START( aristmk5_drame_map, AS_PROGRAM, 32, aristmk5_state )
AM_RANGE(0x03014000, 0x0301401f) AM_DEVREADWRITE8("uart_2a", ins8250_uart_device, ins8250_r, ins8250_w, 0x000000ff)
AM_RANGE(0x03014020, 0x0301403f) AM_DEVREADWRITE8("uart_2b", ins8250_uart_device, ins8250_r, ins8250_w, 0x000000ff)
-
- AM_IMPORT_FROM(aristmk5_map)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/armedf.cpp b/src/mame/drivers/armedf.cpp
index 96bfa3e3264..52feae05797 100644
--- a/src/mame/drivers/armedf.cpp
+++ b/src/mame/drivers/armedf.cpp
@@ -441,12 +441,12 @@ static ADDRESS_MAP_START( terraf_map, AS_PROGRAM, 16, armedf_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( kozure_map, AS_PROGRAM, 16, armedf_state )
+ AM_IMPORT_FROM( terraf_map )
AM_RANGE(0x060000, 0x060fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x061000, 0x063fff) AM_RAM
// AM_RANGE(0x07c000, 0x07c001) AM_WRITE(kozure_io_w)
// AM_RANGE(0x0c0000, 0x0c0001) AM_WRITENOP /* watchdog? */
// AM_RANGE(0xffd000, 0xffd001) AM_WRITENOP /* passes crc ROM information to MCU, I guess */
- AM_IMPORT_FROM( terraf_map )
ADDRESS_MAP_END
static ADDRESS_MAP_START( cclimbr2_map, AS_PROGRAM, 16, armedf_state )
diff --git a/src/mame/drivers/astrocde.cpp b/src/mame/drivers/astrocde.cpp
index 21939f2343b..311d333aeac 100644
--- a/src/mame/drivers/astrocde.cpp
+++ b/src/mame/drivers/astrocde.cpp
@@ -569,8 +569,8 @@ static ADDRESS_MAP_START( robby_map, AS_PROGRAM, 8, astrocde_state )
AM_RANGE(0x0000, 0x3fff) AM_WRITE(astrocade_funcgen_w)
AM_RANGE(0x4000, 0x7fff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x8000, 0xdfff) AM_ROM
- AM_RANGE(0xe000, 0xe1ff) AM_READWRITE(protected_ram_r, protected_ram_w) AM_SHARE("protected_ram")
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("nvram")
+ AM_RANGE(0xe000, 0xe1ff) AM_READWRITE(protected_ram_r, protected_ram_w) AM_SHARE("protected_ram")
AM_RANGE(0xe800, 0xffff) AM_RAM
ADDRESS_MAP_END
@@ -587,8 +587,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( profpac_map, AS_PROGRAM, 8, astrocde_state )
- AM_RANGE(0xe000, 0xe1ff) AM_READWRITE(protected_ram_r, protected_ram_w) AM_SHARE("protected_ram")
AM_IMPORT_FROM(demndrgn_map)
+ AM_RANGE(0xe000, 0xe1ff) AM_READWRITE(protected_ram_r, protected_ram_w) AM_SHARE("protected_ram")
ADDRESS_MAP_END
@@ -601,9 +601,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( profpac_bank4000_map, AS_PROGRAM, 8, astrocde_state )
+ AM_IMPORT_FROM(bank4000_map)
AM_RANGE(0x10000, 0xaffff) AM_ROM AM_REGION("epromboard", 0)
AM_RANGE(0xb0000, 0xb3fff) AM_READNOP
- AM_IMPORT_FROM(bank4000_map)
ADDRESS_MAP_END
@@ -665,6 +665,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( port_map_16col_pattern_tenpindx, AS_IO, 8, astrocde_state )
+ 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")
AM_RANGE(0x0062, 0x0062) AM_MIRROR(0xff00) AM_READ_PORT("P62")
@@ -674,7 +675,6 @@ static ADDRESS_MAP_START( port_map_16col_pattern_tenpindx, AS_IO, 8, astrocde_st
AM_RANGE(0x0067, 0x0067) AM_MIRROR(0xff00) AM_WRITE(tenpindx_counter_w)
AM_RANGE(0x0068, 0x0068) AM_MIRROR(0xff00) AM_WRITE(tenpindx_lights_w)
AM_RANGE(0x0097, 0x0097) AM_MIRROR(0xff00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
- AM_IMPORT_FROM(port_map_16col_pattern_nosound)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/asuka.cpp b/src/mame/drivers/asuka.cpp
index c510cf32a59..24462e078ef 100644
--- a/src/mame/drivers/asuka.cpp
+++ b/src/mame/drivers/asuka.cpp
@@ -386,8 +386,8 @@ static ADDRESS_MAP_START( eto_map, AS_PROGRAM, 16 /* N.B. tc100scn mirror over
AM_RANGE(0x4a0000, 0x4a0003) AM_WRITE(asuka_spritectrl_w)
AM_RANGE(0x4e0000, 0x4e0001) AM_READNOP AM_DEVWRITE8("ciu", pc060ha_device, master_port_w, 0x00ff)
AM_RANGE(0x4e0002, 0x4e0003) AM_DEVREADWRITE8("ciu", pc060ha_device, master_comm_r, master_comm_w, 0x00ff)
- AM_RANGE(0xc00000, 0xc03fff) AM_DEVREADWRITE("pc090oj", pc090oj_device, word_r, word_w) /* sprite ram */
AM_RANGE(0xc00000, 0xc0ffff) AM_DEVWRITE("tc0100scn", tc0100scn_device, word_w)
+ AM_RANGE(0xc00000, 0xc03fff) AM_DEVREADWRITE("pc090oj", pc090oj_device, word_r, word_w) /* sprite ram */
AM_RANGE(0xd00000, 0xd0ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
AM_RANGE(0xd20000, 0xd2000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/at.cpp b/src/mame/drivers/at.cpp
index 00548d1b4c1..a8fd164eec8 100644
--- a/src/mame/drivers/at.cpp
+++ b/src/mame/drivers/at.cpp
@@ -220,15 +220,15 @@ READ8_MEMBER( at_state::ps1_portb_r )
static ADDRESS_MAP_START(ps1_16_io, AS_IO, 16, at_state )
ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE(0x0060, 0x0061) AM_READ8(ps1_portb_r, 0xff00)
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_UNMAP_HIGH
- AM_RANGE(0x0022, 0x0023) AM_DEVICE("cs8221", cs8221_device, map)
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 )
@@ -238,8 +238,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( ficpio_io, AS_IO, 32, at_state )
ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE(0x00a8, 0x00af) AM_DEVREADWRITE8("chipset", vt82c496_device, read, write, 0xffffffff)
AM_RANGE(0x0000, 0x00ff) AM_DEVICE16("mb", at_mb_device, map, 0xffffffff)
+ AM_RANGE(0x00a8, 0x00af) AM_DEVREADWRITE8("chipset", vt82c496_device, read, write, 0xffffffff)
AM_RANGE(0x0170, 0x0177) AM_DEVREADWRITE("ide2", ide_controller_32_device, read_cs0, write_cs0)
AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE("ide", ide_controller_32_device, read_cs0, write_cs0)
AM_RANGE(0x0370, 0x0377) AM_DEVREADWRITE("ide2", ide_controller_32_device, read_cs1, write_cs1)
diff --git a/src/mame/drivers/atarig1.cpp b/src/mame/drivers/atarig1.cpp
index eb8dec46526..fa9f1a7fd47 100644
--- a/src/mame/drivers/atarig1.cpp
+++ b/src/mame/drivers/atarig1.cpp
@@ -207,11 +207,11 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarig1_state )
AM_RANGE(0xfd8000, 0xfdffff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
/* AM_RANGE(0xfe0000, 0xfe7fff) AM_READ(from_r)*/
AM_RANGE(0xfe8000, 0xfe89ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
+ AM_RANGE(0xff0000, 0xffffff) AM_RAM
AM_RANGE(0xff0000, 0xff0fff) AM_RAM AM_SHARE("rle")
AM_RANGE(0xff2000, 0xff2001) AM_WRITE(mo_command_w) AM_SHARE("mo_command")
AM_RANGE(0xff4000, 0xff5fff) AM_DEVWRITE("playfield", tilemap_device, write16) AM_SHARE("playfield")
AM_RANGE(0xff6000, 0xff6fff) AM_DEVWRITE("alpha", tilemap_device, write16) AM_SHARE("alpha")
- AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/atarig42.cpp b/src/mame/drivers/atarig42.cpp
index 612bd72e9ce..5dff3b19037 100644
--- a/src/mame/drivers/atarig42.cpp
+++ b/src/mame/drivers/atarig42.cpp
@@ -339,11 +339,11 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarig42_state )
AM_RANGE(0xf80000, 0xf80003) AM_DEVWRITE("asic65", asic65_device, data_w)
AM_RANGE(0xfa0000, 0xfa0fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
AM_RANGE(0xfc0000, 0xfc0fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
+ AM_RANGE(0xff0000, 0xffffff) AM_RAM
AM_RANGE(0xff0000, 0xff0fff) AM_RAM AM_SHARE("rle")
AM_RANGE(0xff2000, 0xff5fff) AM_DEVWRITE("playfield", tilemap_device, write16) AM_SHARE("playfield")
AM_RANGE(0xff6000, 0xff6fff) AM_DEVWRITE("alpha", tilemap_device, write16) AM_SHARE("alpha")
AM_RANGE(0xff7000, 0xff7001) AM_WRITE(mo_command_w) AM_SHARE("mo_command")
- AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/atarigt.cpp b/src/mame/drivers/atarigt.cpp
index a869b061095..bcfb4374d27 100644
--- a/src/mame/drivers/atarigt.cpp
+++ b/src/mame/drivers/atarigt.cpp
@@ -603,11 +603,11 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, atarigt_state )
AM_RANGE(0xd0001c, 0xd0001f) AM_READ(analog_port1_r)
AM_RANGE(0xd20000, 0xd20fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0xff00ff00)
AM_RANGE(0xd40000, 0xd4ffff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write32)
+ AM_RANGE(0xd70000, 0xd7ffff) AM_RAM
AM_RANGE(0xd72000, 0xd75fff) AM_DEVWRITE("playfield", tilemap_device, write32) AM_SHARE("playfield")
AM_RANGE(0xd76000, 0xd76fff) AM_DEVWRITE("alpha", tilemap_device, write32) AM_SHARE("alpha")
AM_RANGE(0xd78000, 0xd78fff) AM_RAM AM_SHARE("rle")
AM_RANGE(0xd7a200, 0xd7a203) AM_WRITE(mo_command_w) AM_SHARE("mo_command")
- AM_RANGE(0xd70000, 0xd7ffff) AM_RAM
AM_RANGE(0xd80000, 0xdfffff) AM_READWRITE(colorram_protection_r, colorram_protection_w) AM_SHARE("colorram")
AM_RANGE(0xe04000, 0xe04003) AM_WRITE(led_w)
AM_RANGE(0xe08000, 0xe08003) AM_WRITE(latch_w)
diff --git a/src/mame/drivers/atarigx2.cpp b/src/mame/drivers/atarigx2.cpp
index a580f6efabb..1e0c94bf149 100644
--- a/src/mame/drivers/atarigx2.cpp
+++ b/src/mame/drivers/atarigx2.cpp
@@ -1203,11 +1203,11 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, atarigx2_state )
AM_RANGE(0xd00000, 0xd1ffff) AM_READ(a2d_data_r)
AM_RANGE(0xd20000, 0xd20fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0xff00ff00)
AM_RANGE(0xd40000, 0xd40fff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
+ AM_RANGE(0xd70000, 0xd7ffff) AM_RAM
AM_RANGE(0xd72000, 0xd75fff) AM_DEVWRITE("playfield", tilemap_device, write32) AM_SHARE("playfield")
AM_RANGE(0xd76000, 0xd76fff) AM_DEVWRITE("alpha", tilemap_device, write32) AM_SHARE("alpha")
AM_RANGE(0xd78000, 0xd78fff) AM_RAM AM_SHARE("rle")
AM_RANGE(0xd7a200, 0xd7a203) AM_WRITE(mo_command_w) AM_SHARE("mo_command")
- AM_RANGE(0xd70000, 0xd7ffff) AM_RAM
AM_RANGE(0xd80000, 0xd9ffff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write32)
AM_RANGE(0xe06000, 0xe06003) AM_DEVWRITE8("jsa", atari_jsa_iiis_device, main_command_w, 0xff000000)
AM_RANGE(0xe08000, 0xe08003) AM_WRITE(latch_w)
diff --git a/src/mame/drivers/atarisy2.cpp b/src/mame/drivers/atarisy2.cpp
index 0ea5c72285a..614c585fece 100644
--- a/src/mame/drivers/atarisy2.cpp
+++ b/src/mame/drivers/atarisy2.cpp
@@ -771,8 +771,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarisy2_state )
AM_RANGE(0x2000, 0x3fff) AM_READWRITE(videoram_r, videoram_w)
AM_RANGE(0x4000, 0x5fff) AM_ROMBANK("rombank1")
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("rombank2")
- AM_RANGE(0x8000, 0x81ff) AM_READWRITE(slapstic_r, slapstic_w) AM_SHARE("slapstic_base")
AM_RANGE(0x8000, 0xffff) AM_ROM
+ AM_RANGE(0x8000, 0x81ff) AM_READWRITE(slapstic_r, slapstic_w) AM_SHARE("slapstic_base")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/atm.cpp b/src/mame/drivers/atm.cpp
index 8fafbc3fbb3..2fe22db449a 100644
--- a/src/mame/drivers/atm.cpp
+++ b/src/mame/drivers/atm.cpp
@@ -129,8 +129,8 @@ static ADDRESS_MAP_START (atm_io, AS_IO, 8, atm_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START (atm_switch, AS_OPCODES, 8, atm_state)
- AM_RANGE(0x3d00, 0x3dff) AM_READ(beta_enable_r)
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)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/baraduke.cpp b/src/mame/drivers/baraduke.cpp
index 7a5559ba77d..46f0eb432e4 100644
--- a/src/mame/drivers/baraduke.cpp
+++ b/src/mame/drivers/baraduke.cpp
@@ -185,8 +185,8 @@ READ8_MEMBER(baraduke_state::soundkludge_r)
static ADDRESS_MAP_START( mcu_map, AS_PROGRAM, 8, baraduke_state )
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(0x1105, 0x1105) AM_READ(soundkludge_r) /* cures speech */
AM_RANGE(0x1000, 0x13ff) AM_DEVREADWRITE("namco", namco_cus30_device, namcos1_cus30_r, namcos1_cus30_w) /* PSG device, shared RAM */
+ AM_RANGE(0x1105, 0x1105) AM_READ(soundkludge_r) /* cures speech */
AM_RANGE(0x8000, 0xbfff) AM_ROM /* MCU external ROM */
AM_RANGE(0x8000, 0x8000) AM_WRITENOP /* watchdog reset? */
AM_RANGE(0x8800, 0x8800) AM_WRITENOP /* irq acknoledge? */
diff --git a/src/mame/drivers/batman.cpp b/src/mame/drivers/batman.cpp
index be29dec0e1d..c18d1d191c8 100644
--- a/src/mame/drivers/batman.cpp
+++ b/src/mame/drivers/batman.cpp
@@ -111,6 +111,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, batman_state )
AM_RANGE(0x2a0000, 0x2a0001) AM_MIRROR(0x11fffe) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0x2e0000, 0x2e0fff) AM_MIRROR(0x100000) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x2effc0, 0x2effff) AM_MIRROR(0x100000) AM_DEVREADWRITE("vad", atari_vad_device, control_read, control_write)
+ AM_RANGE(0x2f0000, 0x2fffff) AM_MIRROR(0x100000) AM_RAM
AM_RANGE(0x2f0000, 0x2f1fff) AM_MIRROR(0x100000) AM_DEVWRITE("vad", atari_vad_device, playfield2_latched_msb_w) AM_SHARE("vad:playfield2")
AM_RANGE(0x2f2000, 0x2f3fff) AM_MIRROR(0x100000) AM_DEVWRITE("vad", atari_vad_device, playfield_latched_lsb_w) AM_SHARE("vad:playfield")
AM_RANGE(0x2f4000, 0x2f5fff) AM_MIRROR(0x100000) AM_DEVWRITE("vad", atari_vad_device, playfield_upper_w) AM_SHARE("vad:playfield_ext")
@@ -118,7 +119,6 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, batman_state )
AM_RANGE(0x2f8000, 0x2f8eff) AM_MIRROR(0x100000) AM_DEVWRITE("vad", atari_vad_device, alpha_w) AM_SHARE("vad:alpha")
AM_RANGE(0x2f8f00, 0x2f8f7f) AM_MIRROR(0x100000) AM_SHARE("vad:eof")
AM_RANGE(0x2f8f80, 0x2f8fff) AM_MIRROR(0x100000) AM_RAM AM_SHARE("vad:mob:slip")
- AM_RANGE(0x2f0000, 0x2fffff) AM_MIRROR(0x100000) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/bbc.cpp b/src/mame/drivers/bbc.cpp
index 220ef2fce6b..4c5eef683a1 100644
--- a/src/mame/drivers/bbc.cpp
+++ b/src/mame/drivers/bbc.cpp
@@ -194,6 +194,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( bbcb_mem, AS_PROGRAM, 8, bbc_state )
+ AM_IMPORT_FROM(bbc_base)
+
AM_RANGE(0x0000, 0x3fff) AM_READ_BANK("bank1") AM_WRITE(bbc_memorya1_w) /* 0000-3fff Regular Ram */
AM_RANGE(0x4000, 0x7fff) AM_READ_BANK("bank3") AM_WRITE(bbc_memoryb3_w) /* 4000-7fff Regular Ram */
AM_RANGE(0x8000, 0xbfff) AM_READ_BANK("bank4") AM_WRITE(bbc_memoryb4_w) /* 8000-bfff Paged ROM */
@@ -201,22 +203,23 @@ static ADDRESS_MAP_START( bbcb_mem, AS_PROGRAM, 8, bbc_state )
/* W: fe30-fe3f 84LS161 Paged ROM selector */
AM_RANGE(0xfe80, 0xfe83) AM_DEVICE("i8271", i8271_device, map) /* fe80-fe83 8271 FDC Floppy disc controller */
AM_RANGE(0xfe84, 0xfe9f) AM_DEVREADWRITE("i8271", i8271_device, data_r, data_w) /* fe84-fe9f 8271 FDC Floppy disc controller */
- AM_IMPORT_FROM(bbc_base)
ADDRESS_MAP_END
static ADDRESS_MAP_START( bbcb_nofdc_mem, AS_PROGRAM, 8, bbc_state )
+ AM_IMPORT_FROM(bbc_base)
+
AM_RANGE(0x0000, 0x3fff) AM_READ_BANK("bank1") AM_WRITE(bbc_memorya1_w) /* 0000-3fff Regular Ram */
AM_RANGE(0x4000, 0x7fff) AM_READ_BANK("bank3") AM_WRITE(bbc_memoryb3_w) /* 4000-7fff Regular Ram */
AM_RANGE(0x8000, 0xbfff) AM_READ_BANK("bank4") AM_WRITE(bbc_memoryb4_w) /* 8000-bfff Paged ROM */
AM_RANGE(0xfe30, 0xfe3f) AM_READWRITE(bbc_fe_r, bbc_page_selectb_w) /* R: fe30-fe3f NC Not Connected */
/* W: fe30-fe3f 84LS161 Paged ROM selector */
AM_RANGE(0xfe80, 0xfe83) AM_NOP /* fe80-fe9f Floppy disc controller */
- AM_IMPORT_FROM(bbc_base)
ADDRESS_MAP_END
static ADDRESS_MAP_START( bbcbp_mem, AS_PROGRAM, 8, bbc_state )
+ 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 */
AM_RANGE(0x8000, 0xafff) AM_READ_BANK("bank4") AM_WRITE(bbc_memorybp4_w) /* 8000-afff Paged ROM or 12K of SWRAM */
@@ -226,11 +229,11 @@ static ADDRESS_MAP_START( bbcbp_mem, AS_PROGRAM, 8, bbc_state )
AM_RANGE(0xfe80, 0xfe83) AM_READWRITE(bbc_fe_r, bbc_wd1770_status_w) /* fe80-fe83 1770 FDC Drive control register */
AM_RANGE(0xfe84, 0xfe9f) AM_DEVREADWRITE("wd1770", wd1770_device, read, write) /* fe84-fe9f 1770 FDC Floppy disc controller */
AM_RANGE(0xfee0, 0xfeff) AM_DEVREADWRITE("tube", bbc_tube_slot_device, host_r, host_w) /* fee0-feff Tube ULA Tube system interface */
- AM_IMPORT_FROM(bbc_base)
ADDRESS_MAP_END
static ADDRESS_MAP_START( bbcbp128_mem, AS_PROGRAM, 8, bbc_state )
+ 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 */
AM_RANGE(0x8000, 0xafff) AM_READ_BANK("bank4") AM_WRITE(bbc_memorybp4_128_w) /* 8000-afff Paged ROM or 12K of SWRAM */
@@ -240,11 +243,11 @@ static ADDRESS_MAP_START( bbcbp128_mem, AS_PROGRAM, 8, bbc_state )
AM_RANGE(0xfe80, 0xfe83) AM_READWRITE(bbc_fe_r, bbc_wd1770_status_w) /* fe80-fe83 1770 FDC Drive control register */
AM_RANGE(0xfe84, 0xfe9f) AM_DEVREADWRITE("wd1770", wd1770_device, read, write) /* fe84-fe9f 1770 FDC Floppy disc controller */
AM_RANGE(0xfee0, 0xfeff) AM_DEVREADWRITE("tube", bbc_tube_slot_device, host_r, host_w) /* fee0-feff Tube ULA Tube system interface */
- AM_IMPORT_FROM(bbc_base)
ADDRESS_MAP_END
static ADDRESS_MAP_START( reutapm_mem, AS_PROGRAM, 8, bbc_state )
+ 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 */
AM_RANGE(0x8000, 0xafff) AM_READ_BANK("bank4") AM_WRITE(bbc_memorybp4_w) /* 8000-afff Paged ROM or 12K of SWRAM */
@@ -254,7 +257,6 @@ static ADDRESS_MAP_START( reutapm_mem, AS_PROGRAM, 8, bbc_state )
AM_RANGE(0xfe80, 0xfe83) AM_NOP /* fe80-fe83 1770 FDC Drive control register */
AM_RANGE(0xfe84, 0xfe9f) AM_NOP /* fe84-fe9f 1770 FDC Floppy disc controller */
AM_RANGE(0xfee0, 0xfeff) AM_READ(bbc_fe_r) /* fee0-feff Tube ULA Tube system interface */
- AM_IMPORT_FROM(bbc_base)
ADDRESS_MAP_END
/******************************************************************************
diff --git a/src/mame/drivers/bebox.cpp b/src/mame/drivers/bebox.cpp
index 5b476e2f5fd..e55f4394fda 100644
--- a/src/mame/drivers/bebox.cpp
+++ b/src/mame/drivers/bebox.cpp
@@ -83,9 +83,9 @@ READ64_MEMBER(bebox_state::bb_slave_64be_r)
}
static ADDRESS_MAP_START( bebox_slave_mem, AS_PROGRAM, 64, bebox_state )
+ 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 )
- AM_IMPORT_FROM(bebox_mem)
ADDRESS_MAP_END
#define BYTE_REVERSE32(x) (((x >> 24) & 0xff) | \
diff --git a/src/mame/drivers/bfm_sc4.cpp b/src/mame/drivers/bfm_sc4.cpp
index 732c474d39b..fce3852d181 100644
--- a/src/mame/drivers/bfm_sc4.cpp
+++ b/src/mame/drivers/bfm_sc4.cpp
@@ -617,8 +617,8 @@ WRITE16_MEMBER(sc4_state::sc4_mem_w)
}
static ADDRESS_MAP_START( sc4_map, AS_PROGRAM, 16, sc4_state )
- 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
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
diff --git a/src/mame/drivers/bfm_swp.cpp b/src/mame/drivers/bfm_swp.cpp
index 7f9844fbe18..5b2e491071d 100644
--- a/src/mame/drivers/bfm_swp.cpp
+++ b/src/mame/drivers/bfm_swp.cpp
@@ -182,8 +182,8 @@ WRITE32_MEMBER(bfm_swp_state::bfm_swp_mem_w)
static ADDRESS_MAP_START( bfm_swp_map, AS_PROGRAM, 32, bfm_swp_state )
- AM_RANGE(0x00000000, 0x000fffff) AM_ROM
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/bingor.cpp b/src/mame/drivers/bingor.cpp
index e0b2b0cce10..7142c63f857 100644
--- a/src/mame/drivers/bingor.cpp
+++ b/src/mame/drivers/bingor.cpp
@@ -596,14 +596,14 @@ uint32_t bingor_state::screen_update_bingor(screen_device &screen, bitmap_rgb32
static ADDRESS_MAP_START( bingor_map, AS_PROGRAM, 16, bingor_state )
AM_RANGE(0x00000, 0x0ffff) AM_RAM
AM_RANGE(0x90000, 0x9ffff) AM_ROM AM_REGION("gfx", 0)
- AM_RANGE(0xa0300, 0xa031f) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") //wrong
AM_RANGE(0xa0000, 0xaffff) AM_RAM AM_SHARE("blit_ram")
+ AM_RANGE(0xa0300, 0xa031f) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") //wrong
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 )
- AM_RANGE(0xe0000, 0xfffff) AM_ROM AM_REGION("boot_prg", 0) // banked?
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 )
@@ -715,8 +715,8 @@ MACHINE_CONFIG_END
static ADDRESS_MAP_START( vip2000_map, AS_PROGRAM, 16, bingor_state )
AM_RANGE(0x00000, 0x0ffff) AM_RAM
- AM_RANGE(0x40300, 0x4031f) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") //wrong
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
//AM_RANGE(0x50000, 0x5ffff) AM_ROM AM_REGION("gfx", 0)
AM_RANGE(0x60000, 0x60003) AM_DEVWRITE8("ymz", ymz284_device, address_data_w, 0x00ff)
AM_RANGE(0x80000, 0xeffff) AM_DEVREADWRITE("flash", intelfsh16_device, read, write)
diff --git a/src/mame/drivers/blockhl.cpp b/src/mame/drivers/blockhl.cpp
index b25fde97ca3..e91f63f34d9 100644
--- a/src/mame/drivers/blockhl.cpp
+++ b/src/mame/drivers/blockhl.cpp
@@ -77,6 +77,7 @@ private:
//**************************************************************************
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, blockhl_state )
+ 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)
AM_RANGE(0x1f8c, 0x1f8c) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
@@ -85,7 +86,6 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, blockhl_state )
AM_RANGE(0x1f96, 0x1f96) AM_READ_PORT("P2")
AM_RANGE(0x1f97, 0x1f97) AM_READ_PORT("DSW1")
AM_RANGE(0x1f98, 0x1f98) AM_READ_PORT("DSW2")
- AM_RANGE(0x0000, 0x3fff) AM_READWRITE(k052109_051960_r, k052109_051960_w)
AM_RANGE(0x4000, 0x57ff) AM_RAM
AM_RANGE(0x5800, 0x5fff) AM_DEVICE("bank5800", address_map_bank_device, amap8)
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("rombank")
diff --git a/src/mame/drivers/bloodbro.cpp b/src/mame/drivers/bloodbro.cpp
index 04fb23364fa..786837880d1 100644
--- a/src/mame/drivers/bloodbro.cpp
+++ b/src/mame/drivers/bloodbro.cpp
@@ -235,8 +235,8 @@ void bloodbro_state::weststry_soundnmi_update()
}
static ADDRESS_MAP_START( weststry_sound_map, AS_PROGRAM, 8, bloodbro_state )
- AM_RANGE(0x4002, 0x4002) AM_WRITE(weststry_soundnmi_ack_w)
AM_IMPORT_FROM(seibu_sound_map)
+ AM_RANGE(0x4002, 0x4002) AM_WRITE(weststry_soundnmi_ack_w)
ADDRESS_MAP_END
/* Input Ports */
diff --git a/src/mame/drivers/blueprnt.cpp b/src/mame/drivers/blueprnt.cpp
index 89141b53fde..f3dd658b939 100644
--- a/src/mame/drivers/blueprnt.cpp
+++ b/src/mame/drivers/blueprnt.cpp
@@ -116,8 +116,8 @@ static ADDRESS_MAP_START( blueprnt_map, AS_PROGRAM, 8, blueprnt_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( grasspin_map, AS_PROGRAM, 8, blueprnt_state )
- AM_RANGE(0xc003, 0xc003) AM_READ(grasspin_sh_dipsw_r)
AM_IMPORT_FROM( blueprnt_map )
+ AM_RANGE(0xc003, 0xc003) AM_READ(grasspin_sh_dipsw_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/bottom9.cpp b/src/mame/drivers/bottom9.cpp
index 51c5b166a25..acf4f3a2d8a 100644
--- a/src/mame/drivers/bottom9.cpp
+++ b/src/mame/drivers/bottom9.cpp
@@ -160,6 +160,7 @@ WRITE8_MEMBER(bottom9_state::sound_bank_w)
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, bottom9_state )
+ 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)
AM_RANGE(0x1f90, 0x1f90) AM_WRITE(bottom9_1f90_w)
@@ -173,7 +174,6 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, bottom9_state )
AM_RANGE(0x1fe0, 0x1fe0) AM_READ_PORT("DSW2")
AM_RANGE(0x1ff0, 0x1fff) AM_DEVWRITE("k051316", k051316_device, ctrl_w)
AM_RANGE(0x2000, 0x27ff) AM_READWRITE(bottom9_bankedram2_r, bottom9_bankedram2_w) AM_SHARE("palette")
- AM_RANGE(0x0000, 0x3fff) AM_READWRITE(k052109_051960_r, k052109_051960_w)
AM_RANGE(0x4000, 0x5fff) AM_RAM
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0xffff) AM_ROM
diff --git a/src/mame/drivers/bowltry.cpp b/src/mame/drivers/bowltry.cpp
index 8fbf5abd3f7..60cf6d77538 100644
--- a/src/mame/drivers/bowltry.cpp
+++ b/src/mame/drivers/bowltry.cpp
@@ -78,10 +78,10 @@ static ADDRESS_MAP_START( bowltry_map, AS_PROGRAM, 16, bowltry_state )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x000000, 0x07ffff ) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE( 0x080000, 0x083fff ) AM_RAM
+ AM_RANGE( 0x600000, 0x60ffff ) AM_RAM
#if HACK_ENABLED
AM_RANGE( 0x60e090, 0x60e093 ) AM_READWRITE(hack_r,hack_w)
#endif
- AM_RANGE( 0x600000, 0x60ffff ) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/by35.cpp b/src/mame/drivers/by35.cpp
index 6fe7ff18d8e..50ec0f7a503 100644
--- a/src/mame/drivers/by35.cpp
+++ b/src/mame/drivers/by35.cpp
@@ -192,10 +192,10 @@ static ADDRESS_MAP_START( by35_map, AS_PROGRAM, 8, by35_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( nuovo_map, AS_PROGRAM, 8, by35_state )
+ 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)
AM_RANGE(0x0090, 0x0093) AM_DEVREADWRITE("pia_u11", pia6821_device, read, write)
- AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x1000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cabal.cpp b/src/mame/drivers/cabal.cpp
index 2740dca998d..2dba4a9880f 100644
--- a/src/mame/drivers/cabal.cpp
+++ b/src/mame/drivers/cabal.cpp
@@ -116,18 +116,18 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, cabal_state )
AM_RANGE(0xc0040, 0xc0041) AM_WRITENOP /* ??? */
AM_RANGE(0xc0080, 0xc0081) AM_WRITE(flipscreen_w)
AM_RANGE(0xe0000, 0xe07ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
- AM_RANGE(0xe8008, 0xe8009) AM_WRITE(sound_irq_trigger_word_w) // fix coin insertion
AM_RANGE(0xe8000, 0xe800d) AM_DEVREADWRITE8("seibu_sound", seibu_sound_device, main_r, main_w, 0x00ff)
+ AM_RANGE(0xe8008, 0xe8009) AM_WRITE(sound_irq_trigger_word_w) // fix coin insertion
ADDRESS_MAP_END
static ADDRESS_MAP_START( trackball_main_map, AS_PROGRAM, 16, cabal_state )
+ 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)
AM_RANGE(0xc0000, 0xc0001) AM_DEVWRITE8("upd4701l", upd4701_device, reset_xy, 0x00ff)
AM_RANGE(0xc0000, 0xc0001) AM_DEVWRITE8("upd4701h", upd4701_device, reset_xy, 0xff00)
- AM_IMPORT_FROM(main_map)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/calorie.cpp b/src/mame/drivers/calorie.cpp
index 728cda87efa..54fc318a2d0 100644
--- a/src/mame/drivers/calorie.cpp
+++ b/src/mame/drivers/calorie.cpp
@@ -290,12 +290,13 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( calorie_sound_io_map, AS_IO, 8, calorie_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
+ // 3rd ?
+ AM_RANGE(0x00, 0xff) AM_WRITE(bogus_w)
+
AM_RANGE(0x00, 0x01) AM_DEVWRITE("ay1", ym2149_device, address_data_w)
AM_RANGE(0x01, 0x01) AM_DEVREAD("ay1", ym2149_device, data_r)
AM_RANGE(0x10, 0x11) AM_DEVWRITE("ay2", ym2149_device, address_data_w)
AM_RANGE(0x11, 0x11) AM_DEVREAD("ay2", ym2149_device, data_r)
- // 3rd ?
- AM_RANGE(0x00, 0xff) AM_WRITE(bogus_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/candela.cpp b/src/mame/drivers/candela.cpp
index 940b0bec80e..75cd513e762 100644
--- a/src/mame/drivers/candela.cpp
+++ b/src/mame/drivers/candela.cpp
@@ -632,6 +632,7 @@ static ADDRESS_MAP_START( can09_map, AS_PROGRAM, 8, can09_state )
*/
// AM_RANGE(0x0000, 0x7fff) AM_RAM
AM_RANGE(0x0000, 0x7fff) AM_RAM AM_RAMBANK("bank1")
+ AM_RANGE(0xe000, 0xffff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0xe020, 0xe020) AM_DEVWRITE("crtc", h46505_device, address_w)
AM_RANGE(0xe021, 0xe021) AM_DEVWRITE("crtc", h46505_device, register_w)
AM_RANGE(0xe034, 0xe037) AM_DEVREADWRITE(PIA1_TAG, pia6821_device, read, write)
@@ -644,7 +645,6 @@ static ADDRESS_MAP_START( can09_map, AS_PROGRAM, 8, can09_state )
AM_RANGE(0xb200, 0xc1ff) AM_ROM AM_REGION("roms", 0x3200)
AM_RANGE(0xc200, 0xdfff) AM_RAM /* Needed for BASIC etc */
#endif
- AM_RANGE(0xe000, 0xffff) AM_ROM AM_REGION("roms", 0)
ADDRESS_MAP_END
#ifdef UNUSED_VARIABLE
diff --git a/src/mame/drivers/cave.cpp b/src/mame/drivers/cave.cpp
index b6ff3a50174..e2ac09e809c 100644
--- a/src/mame/drivers/cave.cpp
+++ b/src/mame/drivers/cave.cpp
@@ -1099,8 +1099,8 @@ static ADDRESS_MAP_START( tjumpman_map, AS_PROGRAM, 16, cave_state )
AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_SHARE("nvram") // RAM (battery)
AM_RANGE(0x200000, 0x207fff) AM_RAM AM_SHARE("spriteram.0") // Sprites
AM_RANGE(0x208000, 0x20ffff) AM_RAM AM_SHARE("spriteram_2.0") // Sprite bank 2
- AM_RANGE(0x304000, 0x307fff) AM_WRITE(cave_vram_0_w) // Layer 0 - 16x16 tiles mapped here
AM_RANGE(0x300000, 0x307fff) AM_RAM_WRITE(cave_vram_0_w) AM_SHARE("vram.0") // Layer 0
+ AM_RANGE(0x304000, 0x307fff) AM_WRITE(cave_vram_0_w) // Layer 0 - 16x16 tiles mapped here
AM_RANGE(0x400000, 0x400005) AM_WRITEONLY AM_SHARE("vctrl.0") // Layer 0 Control
AM_RANGE(0x500000, 0x50ffff) AM_RAM AM_SHARE("paletteram.0") // Palette
AM_RANGE(0x600000, 0x600001) AM_READ_PORT("IN0") // Inputs + EEPROM + Hopper
diff --git a/src/mame/drivers/ccastles.cpp b/src/mame/drivers/ccastles.cpp
index 4bfe409d44e..edc842cbcce 100644
--- a/src/mame/drivers/ccastles.cpp
+++ b/src/mame/drivers/ccastles.cpp
@@ -322,9 +322,9 @@ WRITE8_MEMBER(ccastles_state::nvram_w)
/* complete memory map derived from schematics */
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, ccastles_state )
+ 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)
- AM_RANGE(0x0000, 0x7fff) AM_RAM_WRITE(ccastles_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x8e00, 0x8fff) AM_SHARE("spriteram")
AM_RANGE(0x9000, 0x90ff) AM_MIRROR(0x0300) AM_READWRITE(nvram_r, nvram_w)
diff --git a/src/mame/drivers/cclimber.cpp b/src/mame/drivers/cclimber.cpp
index 78a6100862a..c5f6d1afd97 100644
--- a/src/mame/drivers/cclimber.cpp
+++ b/src/mame/drivers/cclimber.cpp
@@ -330,10 +330,10 @@ static ADDRESS_MAP_START( cclimber_map, AS_PROGRAM, 8, cclimber_state )
AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x0400) AM_RAM AM_SHARE("videoram")
/* 9800-9bff and 9c00-9fff share the same RAM, interleaved */
/* (9800-981f for scroll, 9c20-9c3f for color RAM, and so on) */
+ AM_RANGE(0x9800, 0x9bff) AM_RAM /* not used, but initialized */
AM_RANGE(0x9800, 0x981f) AM_RAM AM_SHARE("column_scroll")
AM_RANGE(0x9880, 0x989f) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x98dc, 0x98df) AM_RAM AM_SHARE("bigspritectrl")
- AM_RANGE(0x9800, 0x9bff) AM_RAM /* not used, but initialized */
AM_RANGE(0x9c00, 0x9fff) AM_RAM_WRITE(cclimber_colorram_w) AM_SHARE("colorram")
AM_RANGE(0xa000, 0xa007) AM_DEVWRITE("mainlatch", ls259_device, write_d0)
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("P1")
@@ -356,10 +356,10 @@ static ADDRESS_MAP_START( cannonb_map, AS_PROGRAM, 8, cclimber_state )
AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x0400) AM_RAM AM_SHARE("videoram")
/* 9800-9bff and 9c00-9fff share the same RAM, interleaved */
/* (9800-981f for scroll, 9c20-9c3f for color RAM, and so on) */
+ AM_RANGE(0x9800, 0x9bff) AM_RAM /* not used, but initialized */
AM_RANGE(0x9800, 0x981f) AM_RAM AM_SHARE("column_scroll")
AM_RANGE(0x9880, 0x989f) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x98dc, 0x98df) AM_RAM AM_SHARE("bigspritectrl")
- AM_RANGE(0x9800, 0x9bff) AM_RAM /* not used, but initialized */
AM_RANGE(0x9c00, 0x9fff) AM_RAM_WRITE(cclimber_colorram_w) AM_SHARE("colorram")
AM_RANGE(0xa000, 0xa007) AM_DEVWRITE("mainlatch", ls259_device, write_d0)
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("P1")
@@ -400,10 +400,10 @@ static ADDRESS_MAP_START( yamato_map, AS_PROGRAM, 8, cclimber_state )
AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x0400) AM_RAM AM_SHARE("videoram")
/* 9800-9bff and 9c00-9fff share the same RAM, interleaved */
/* (9800-981f for scroll, 9c20-9c3f for color RAM, and so on) */
+ AM_RANGE(0x9800, 0x9bff) AM_RAM /* not used, but initialized */
AM_RANGE(0x9800, 0x981f) AM_RAM AM_SHARE("column_scroll")
AM_RANGE(0x9880, 0x989f) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x98dc, 0x98df) AM_RAM AM_SHARE("bigspritectrl")
- AM_RANGE(0x9800, 0x9bff) AM_RAM /* not used, but initialized */
AM_RANGE(0x9c00, 0x9fff) AM_RAM_WRITE(cclimber_colorram_w) AM_SHARE("colorram")
AM_RANGE(0xa000, 0xa007) AM_DEVWRITE("mainlatch", ls259_device, write_d0)
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("P1")
@@ -445,10 +445,10 @@ static ADDRESS_MAP_START( bagmanf_map, AS_PROGRAM, 8, cclimber_state )
AM_RANGE(0x8900, 0x8bff) AM_RAM /* not used, but initialized */
AM_RANGE(0x9000, 0x93ff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0xffe0, 0xffff) AM_RAM AM_SHARE("column_scroll") // wrong, is this area even connected?
+ AM_RANGE(0x9800, 0x9bff) AM_RAM AM_SHARE("colorram")
AM_RANGE(0x9800, 0x9800) AM_READ_PORT("SYSTEM")
AM_RANGE(0x9800, 0x981f) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x98dc, 0x98df) AM_RAM AM_SHARE("bigspritectrl") // wrong
- AM_RANGE(0x9800, 0x9bff) AM_RAM AM_SHARE("colorram")
AM_RANGE(0x9c00, 0x9fff) AM_RAM /* not used, but initialized */
AM_RANGE(0xa000, 0xa000) AM_READ(bagmanf_a000_r)
AM_RANGE(0xa000, 0xa007) AM_DEVWRITE("mainlatch", ls259_device, write_d0)
diff --git a/src/mame/drivers/ccs2810.cpp b/src/mame/drivers/ccs2810.cpp
index 7f5fb95f9cf..633345e53e2 100644
--- a/src/mame/drivers/ccs2810.cpp
+++ b/src/mame/drivers/ccs2810.cpp
@@ -184,11 +184,11 @@ static ADDRESS_MAP_START(ccs2810_io, AS_IO, 8, ccs_state)
ADDRESS_MAP_END
static ADDRESS_MAP_START(ccs2422_io, AS_IO, 8, ccs_state)
+ 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)
AM_RANGE(0x34, 0x34) AM_MIRROR(0xff00) AM_READWRITE(port34_r,port34_w)
AM_RANGE(0x40, 0x40) AM_MIRROR(0xff00) AM_WRITE(port40_w)
- AM_RANGE(0x0000, 0xffff) AM_READWRITE(io_read, io_write)
ADDRESS_MAP_END
/* Input ports */
diff --git a/src/mame/drivers/cdi.cpp b/src/mame/drivers/cdi.cpp
index 201fdf429e5..8a5d4da4c4f 100644
--- a/src/mame/drivers/cdi.cpp
+++ b/src/mame/drivers/cdi.cpp
@@ -70,10 +70,10 @@ static inline void ATTR_PRINTF(3,4) verboselog(device_t& device, int n_level, co
static ADDRESS_MAP_START( cdimono1_mem, AS_PROGRAM, 16, cdi_state )
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)
#if ENABLE_UART_PRINTING
AM_RANGE(0x00301400, 0x00301403) AM_DEVREAD("scc68070", cdi68070_device, uart_loopback_enable)
#endif
- AM_RANGE(0x00300000, 0x00303bff) AM_DEVREADWRITE("cdic", cdicdic_device, ram_r, ram_w)
AM_RANGE(0x00303c00, 0x00303fff) AM_DEVREADWRITE("cdic", cdicdic_device, regs_r, regs_w)
AM_RANGE(0x00310000, 0x00317fff) AM_DEVREADWRITE("slave_hle", cdislave_device, slave_r, slave_w)
AM_RANGE(0x00318000, 0x0031ffff) AM_NOP
diff --git a/src/mame/drivers/champbas.cpp b/src/mame/drivers/champbas.cpp
index 706da7661f4..7efca7592a0 100644
--- a/src/mame/drivers/champbas.cpp
+++ b/src/mame/drivers/champbas.cpp
@@ -201,46 +201,46 @@ ADDRESS_MAP_END
// base map + ALPHA-8x0x protection
static ADDRESS_MAP_START( champbasj_map, AS_PROGRAM, 8, champbas_state )
- AM_RANGE(0x6000, 0x63ff) AM_DEVREADWRITE("alpha_8201", alpha_8201_device, ext_ram_r, ext_ram_w)
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 )
+ AM_IMPORT_FROM( champbas_map )
AM_RANGE(0x6000, 0x63ff) AM_RAM
AM_RANGE(0x6800, 0x68ff) AM_READ(champbja_protection_r)
- AM_IMPORT_FROM( champbas_map )
ADDRESS_MAP_END
// champbasjb appears to have no protection
static ADDRESS_MAP_START( champbasjb_map, AS_PROGRAM, 8, champbas_state )
- AM_RANGE(0x6000, 0x63ff) AM_RAM
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 )
- AM_RANGE(0x7800, 0x7fff) AM_ROM
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 )
- AM_RANGE(0x7800, 0x7fff) AM_ROM
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 )
+ AM_IMPORT_FROM( champbasj_map )
AM_RANGE(0x7000, 0x7001) AM_UNMAP // aysnd is controlled by audiocpu
AM_RANGE(0x7c00, 0x7fff) AM_RAM
AM_RANGE(0xa040, 0xa04f) AM_WRITEONLY AM_SHARE("spriteram2")
- AM_IMPORT_FROM( champbasj_map )
ADDRESS_MAP_END
// exctsccrb
static ADDRESS_MAP_START( exctsccrb_map, AS_PROGRAM, 8, champbas_state )
- AM_RANGE(0xa040, 0xa04f) AM_WRITEONLY AM_SHARE("spriteram2")
AM_IMPORT_FROM( champbasj_map )
+ AM_RANGE(0xa040, 0xa04f) AM_WRITEONLY AM_SHARE("spriteram2")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cinemat.cpp b/src/mame/drivers/cinemat.cpp
index 36eb6ddaca7..3f32e39de7a 100644
--- a/src/mame/drivers/cinemat.cpp
+++ b/src/mame/drivers/cinemat.cpp
@@ -323,11 +323,11 @@ static ADDRESS_MAP_START( io_map, AS_IO, 8, cinemat_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( io_map_qb3, AS_IO, 8, cinemat_state )
+ 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)
AM_RANGE(0x04, 0x04) AM_WRITE(qb3_sound_fifo_w)
AM_RANGE(0x0f, 0x0f) AM_READ(qb3_frame_r)
- AM_IMPORT_FROM(io_map)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cloud9.cpp b/src/mame/drivers/cloud9.cpp
index 34634cd354a..c40d1a64564 100644
--- a/src/mame/drivers/cloud9.cpp
+++ b/src/mame/drivers/cloud9.cpp
@@ -277,9 +277,9 @@ WRITE8_MEMBER(cloud9_state::nvram_store_w)
*************************************/
static ADDRESS_MAP_START( cloud9_map, AS_PROGRAM, 8, cloud9_state )
+ 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)
- AM_RANGE(0x0000, 0x4fff) AM_ROMBANK("bank1") AM_WRITE(cloud9_videoram_w)
AM_RANGE(0x5000, 0x53ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x5400, 0x547f) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x5480, 0x54ff) AM_WRITE(irq_ack_w)
diff --git a/src/mame/drivers/cmmb.cpp b/src/mame/drivers/cmmb.cpp
index 56f5d400174..14b88fa179d 100644
--- a/src/mame/drivers/cmmb.cpp
+++ b/src/mame/drivers/cmmb.cpp
@@ -200,10 +200,10 @@ static ADDRESS_MAP_START( cmmb_map, AS_PROGRAM, 8, cmmb_state )
//AM_RANGE(0x4000, 0x400f) AM_READWRITE(cmmb_input_r,cmmb_output_w)
//AM_RANGE(0x4900, 0x4900) AM_READ(kludge_r)
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
+ AM_RANGE(0x8000, 0xffff) AM_ROM
AM_RANGE(0xa000, 0xafff) AM_RAM
AM_RANGE(0xb000, 0xbfff) AM_READWRITE(cmmb_charram_r,cmmb_charram_w)
AM_RANGE(0xc000, 0xc00f) AM_READWRITE(cmmb_input_r,cmmb_output_w)
- AM_RANGE(0x8000, 0xffff) AM_ROM
// debugging, to be removed
AM_RANGE(0x2aaa, 0x2aaa) AM_WRITE(flash_dbg_0_w)
AM_RANGE(0x5555, 0x5555) AM_WRITE(flash_dbg_1_w)
diff --git a/src/mame/drivers/compc.cpp b/src/mame/drivers/compc.cpp
index e59d7b797ba..0426c4a653d 100644
--- a/src/mame/drivers/compc.cpp
+++ b/src/mame/drivers/compc.cpp
@@ -176,14 +176,14 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START(compc_io, AS_IO, 8, compc_state)
ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE(0x0060, 0x0063) AM_READWRITE(pio_r, pio_w)
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_UNMAP_HIGH
- AM_RANGE(0x0060, 0x0063) AM_READWRITE(pioiii_r, pioiii_w)
AM_RANGE(0x0000, 0x00ff) AM_DEVICE("mb", pc_noppi_mb_device, map)
+ AM_RANGE(0x0060, 0x0063) AM_READWRITE(pioiii_r, pioiii_w)
ADDRESS_MAP_END
MACHINE_CONFIG_START(compc_state::compc)
diff --git a/src/mame/drivers/coolridr.cpp b/src/mame/drivers/coolridr.cpp
index 92210e34419..cb8e99acad7 100644
--- a/src/mame/drivers/coolridr.cpp
+++ b/src/mame/drivers/coolridr.cpp
@@ -2840,11 +2840,11 @@ static ADDRESS_MAP_START( system_h1_map, AS_PROGRAM, 32, coolridr_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START(aquastge_h1_map, AS_PROGRAM, 32, coolridr_state)
+ 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
AM_RANGE(0x03e10000, 0x03e1ffff) AM_RAM AM_SHARE("share3") /*Communication area RAM*/
AM_RANGE(0x03f00000, 0x03f0ffff) AM_RAM /*Communication area RAM*/
- AM_IMPORT_FROM(system_h1_map)
ADDRESS_MAP_END
READ16_MEMBER( coolridr_state::h1_soundram_r)
@@ -3013,11 +3013,11 @@ static ADDRESS_MAP_START( coolridr_submap, AS_PROGRAM, 32, coolridr_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( aquastge_submap, AS_PROGRAM, 32, coolridr_state )
- AM_RANGE(0x05210000, 0x0521ffff) AM_RAM AM_SHARE("share3") /*Communication area RAM*/
+ AM_IMPORT_FROM(coolridr_submap)
AM_RANGE(0x05200000, 0x0537ffff) AM_RAM
+ AM_RANGE(0x05210000, 0x0521ffff) AM_RAM AM_SHARE("share3") /*Communication area RAM*/
AM_RANGE(0x06000200, 0x06000207) AM_WRITENOP // program bug?
AM_RANGE(0x06100018, 0x0610001b) AM_READ_PORT("IN7")
- AM_IMPORT_FROM(coolridr_submap)
ADDRESS_MAP_END
/* TODO: what is this for, volume mixing? MIDI? */
diff --git a/src/mame/drivers/cps1.cpp b/src/mame/drivers/cps1.cpp
index 17addbc4f56..5f9e989b41f 100644
--- a/src/mame/drivers/cps1.cpp
+++ b/src/mame/drivers/cps1.cpp
@@ -557,11 +557,11 @@ ADDRESS_MAP_END
/* The memory mapping is handled by PAL LWIO */
static ADDRESS_MAP_START( forgottn_map, AS_PROGRAM, 16, cps_state )
+ 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)
AM_RANGE(0x800052, 0x800055) AM_DEVREAD8("upd4701", upd4701_device, read_x, 0x00ff)
AM_RANGE(0x80005a, 0x80005d) AM_DEVREAD8("upd4701", upd4701_device, read_y, 0x00ff)
- AM_IMPORT_FROM(main_map)
ADDRESS_MAP_END
/*
diff --git a/src/mame/drivers/cps2.cpp b/src/mame/drivers/cps2.cpp
index db36476b236..af10115fa8a 100644
--- a/src/mame/drivers/cps2.cpp
+++ b/src/mame/drivers/cps2.cpp
@@ -930,10 +930,10 @@ static ADDRESS_MAP_START( cps2_map, AS_PROGRAM, 16, cps_state )
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 */
+ AM_RANGE(0x660000, 0x663fff) AM_RAM /* When bit 14 of 0x804030 equals 0 this space is available. Many games store highscores and other info here if available. */
AM_RANGE(0x662000, 0x662001) AM_RAM /* Network adapter related, accessed in SSF2TB */
AM_RANGE(0x662008, 0x662009) AM_RAM /* Network adapter related, accessed in SSF2TB */
AM_RANGE(0x662020, 0x662021) AM_RAM /* Network adapter related, accessed in SSF2TB */
- AM_RANGE(0x660000, 0x663fff) AM_RAM /* When bit 14 of 0x804030 equals 0 this space is available. Many games store highscores and other info here if available. */
AM_RANGE(0x664000, 0x664001) AM_RAM /* Unknown - Only used if 0x660000-0x663fff available (could be RAM enable?) */
AM_RANGE(0x700000, 0x701fff) AM_WRITE(cps2_objram1_w) AM_SHARE("objram1") /* Object RAM, no game seems to use it directly */
AM_RANGE(0x708000, 0x709fff) AM_MIRROR(0x006000) AM_READWRITE(cps2_objram2_r, cps2_objram2_w) AM_SHARE("objram2") /* Object RAM */
@@ -961,10 +961,10 @@ static ADDRESS_MAP_START( dead_cps2_map, AS_PROGRAM, 16, cps_state )
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 */
+ AM_RANGE(0x660000, 0x663fff) AM_RAM /* When bit 14 of 0x804030 equals 0 this space is available. Many games store highscores and other info here if available. */
AM_RANGE(0x662000, 0x662001) AM_RAM /* Network adapter related, accessed in SSF2TB */
AM_RANGE(0x662008, 0x662009) AM_RAM /* Network adapter related, accessed in SSF2TB */
AM_RANGE(0x662020, 0x662021) AM_RAM /* Network adapter related, accessed in SSF2TB */
- AM_RANGE(0x660000, 0x663fff) AM_RAM /* When bit 14 of 0x804030 equals 0 this space is available. Many games store highscores and other info here if available. */
AM_RANGE(0x664000, 0x664001) AM_RAM /* Unknown - Only used if 0x660000-0x663fff available (could be RAM enable?) */
AM_RANGE(0x700000, 0x701fff) AM_WRITE(cps2_objram1_w) AM_SHARE("objram1") /* Object RAM, no game seems to use it directly */
AM_RANGE(0x708000, 0x709fff) AM_MIRROR(0x006000) AM_READWRITE(cps2_objram2_r, cps2_objram2_w) AM_SHARE("objram2") /* Object RAM */
diff --git a/src/mame/drivers/crimfght.cpp b/src/mame/drivers/crimfght.cpp
index 6c1719f1cbd..e1749d6e5ce 100644
--- a/src/mame/drivers/crimfght.cpp
+++ b/src/mame/drivers/crimfght.cpp
@@ -84,6 +84,7 @@ WRITE8_MEMBER(crimfght_state::ym2151_ct_w)
static ADDRESS_MAP_START( crimfght_map, AS_PROGRAM, 8, crimfght_state )
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 */
AM_RANGE(0x3f80, 0x3f80) AM_READ_PORT("SYSTEM")
AM_RANGE(0x3f81, 0x3f81) AM_READ_PORT("P1")
AM_RANGE(0x3f82, 0x3f82) AM_READ_PORT("P2")
@@ -94,7 +95,6 @@ static ADDRESS_MAP_START( crimfght_map, AS_PROGRAM, 8, crimfght_state )
AM_RANGE(0x3f87, 0x3f87) AM_READ_PORT("DSW1")
AM_RANGE(0x3f88, 0x3f88) AM_MIRROR(0x03) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r) AM_WRITE(crimfght_coin_w) // 051550
AM_RANGE(0x3f8c, 0x3f8c) AM_MIRROR(0x03) AM_WRITE(sound_w)
- AM_RANGE(0x2000, 0x5fff) AM_READWRITE(k052109_051960_r, k052109_051960_w) /* video RAM + sprite RAM */
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("rombank") /* banked ROM */
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("maincpu", 0x18000)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/crospang.cpp b/src/mame/drivers/crospang.cpp
index b1bf86af7a6..98414e773ff 100644
--- a/src/mame/drivers/crospang.cpp
+++ b/src/mame/drivers/crospang.cpp
@@ -60,7 +60,6 @@ static ADDRESS_MAP_START( crospang_base_map, AS_PROGRAM, 16, crospang_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( crospang_map, AS_PROGRAM, 16, crospang_state )
-
AM_IMPORT_FROM(crospang_base_map)
AM_RANGE(0x100000, 0x100001) AM_WRITENOP
diff --git a/src/mame/drivers/crystal.cpp b/src/mame/drivers/crystal.cpp
index 2686684bac6..bfadd4a05c5 100644
--- a/src/mame/drivers/crystal.cpp
+++ b/src/mame/drivers/crystal.cpp
@@ -653,6 +653,8 @@ static ADDRESS_MAP_START( crystal_mem, AS_PROGRAM, 32, crystal_state )
AM_RANGE(0x01280000, 0x01280003) AM_WRITE(Banksw_w)
AM_RANGE(0x01400000, 0x0140ffff) AM_RAM AM_SHARE("nvram")
+ AM_RANGE(0x01800000, 0x0180ffff) AM_RAM AM_SHARE("sysregs")
+
AM_RANGE(0x01800800, 0x01800803) AM_READWRITE(DMA0_r, DMA0_w)
AM_RANGE(0x01800810, 0x01800813) AM_READWRITE(DMA1_r, DMA1_w)
@@ -664,18 +666,16 @@ static ADDRESS_MAP_START( crystal_mem, AS_PROGRAM, 32, crystal_state )
AM_RANGE(0x01801418, 0x0180141b) AM_READWRITE(Timer3_r, Timer3_w)
AM_RANGE(0x01802004, 0x01802007) AM_READWRITE(PIO_r, PIO_w)
- AM_RANGE(0x01800000, 0x0180ffff) AM_RAM AM_SHARE("sysregs")
AM_RANGE(0x02000000, 0x027fffff) AM_RAM AM_SHARE("workram")
- AM_RANGE(0x030000a4, 0x030000a7) AM_READWRITE(FlipCount_r, FlipCount_w)
-
AM_RANGE(0x03000000, 0x0300ffff) AM_RAM AM_SHARE("vidregs")
+ AM_RANGE(0x030000a4, 0x030000a7) AM_READWRITE(FlipCount_r, FlipCount_w)
AM_RANGE(0x03800000, 0x03ffffff) AM_RAM AM_SHARE("textureram")
AM_RANGE(0x04000000, 0x047fffff) AM_RAM AM_SHARE("frameram")
AM_RANGE(0x04800000, 0x04800fff) AM_DEVREADWRITE("vrender", vrender0_device, vr0_snd_read, vr0_snd_write)
- AM_RANGE(0x05000000, 0x05000003) AM_READWRITE(FlashCmd_r, FlashCmd_w)
AM_RANGE(0x05000000, 0x05ffffff) AM_ROMBANK("bank1")
+ AM_RANGE(0x05000000, 0x05000003) AM_READWRITE(FlashCmd_r, FlashCmd_w)
AM_RANGE(0x44414F4C, 0x44414F7F) AM_RAM AM_SHARE("reset_patch")
ADDRESS_MAP_END
@@ -717,6 +717,8 @@ static ADDRESS_MAP_START( trivrus_mem, AS_PROGRAM, 32, crystal_state )
// 0x0150001c & 0x000000ff = year - 2000
AM_RANGE(0x01600000, 0x01607fff) AM_RAM AM_SHARE("nvram")
+ AM_RANGE(0x01800000, 0x0180ffff) AM_RAM AM_SHARE("sysregs")
+
AM_RANGE(0x01800800, 0x01800803) AM_READWRITE(DMA0_r, DMA0_w)
AM_RANGE(0x01800810, 0x01800813) AM_READWRITE(DMA1_r, DMA1_w)
@@ -728,31 +730,30 @@ static ADDRESS_MAP_START( trivrus_mem, AS_PROGRAM, 32, crystal_state )
AM_RANGE(0x01801418, 0x0180141b) AM_READWRITE(Timer3_r, Timer3_w)
AM_RANGE(0x01802004, 0x01802007) AM_READWRITE(PIO_r, PIO_w)
- AM_RANGE(0x01800000, 0x0180ffff) AM_RAM AM_SHARE("sysregs")
AM_RANGE(0x02000000, 0x027fffff) AM_RAM AM_SHARE("workram")
- AM_RANGE(0x030000a4, 0x030000a7) AM_READWRITE(FlipCount_r, FlipCount_w)
AM_RANGE(0x03000000, 0x0300ffff) AM_RAM AM_SHARE("vidregs")
+ AM_RANGE(0x030000a4, 0x030000a7) AM_READWRITE(FlipCount_r, FlipCount_w)
AM_RANGE(0x03800000, 0x03ffffff) AM_RAM AM_SHARE("textureram")
AM_RANGE(0x04000000, 0x047fffff) AM_RAM AM_SHARE("frameram")
AM_RANGE(0x04800000, 0x04800fff) AM_DEVREADWRITE("vrender", vrender0_device, vr0_snd_read, vr0_snd_write)
- AM_RANGE(0x05000000, 0x05000003) AM_READWRITE(FlashCmd_r, FlashCmd_w)
AM_RANGE(0x05000000, 0x05ffffff) AM_ROMBANK("bank1")
+ AM_RANGE(0x05000000, 0x05000003) AM_READWRITE(FlashCmd_r, FlashCmd_w)
// AM_RANGE(0x44414F4C, 0x44414F7F) AM_RAM AM_SHARE("reset_patch")
ADDRESS_MAP_END
static ADDRESS_MAP_START( crospuzl_mem, AS_PROGRAM, 32, crystal_state )
+ AM_IMPORT_FROM( trivrus_mem )
+
AM_RANGE(0x01500000, 0x01500003) AM_READ(FlashCmd_r)
AM_RANGE(0x01500100, 0x01500103) AM_WRITE(FlashCmd_w)
AM_RANGE(0x01510000, 0x01510003) AM_READ_PORT("IN0")
AM_RANGE(0x01511000, 0x01511003) AM_READ_PORT("IN1")
AM_RANGE(0x01512000, 0x01512003) AM_READ_PORT("IN2")
AM_RANGE(0x01513000, 0x01513003) AM_READ_PORT("IN3")
- AM_IMPORT_FROM( trivrus_mem )
-
ADDRESS_MAP_END
// Crazy Dou Di Zhu II
@@ -804,6 +805,8 @@ static ADDRESS_MAP_START( crzyddz2_mem, AS_PROGRAM, 32, crystal_state )
AM_RANGE(0x01500000, 0x01500003) AM_READ_PORT("P1_P2")
AM_RANGE(0x01500004, 0x01500007) AM_READ(crzyddz2_key_r)
+ AM_RANGE(0x01800000, 0x0180ffff) AM_RAM AM_SHARE("sysregs")
+
AM_RANGE(0x01800800, 0x01800803) AM_READWRITE(DMA0_r, DMA0_w)
AM_RANGE(0x01800810, 0x01800813) AM_READWRITE(DMA1_r, DMA1_w)
@@ -815,18 +818,17 @@ static ADDRESS_MAP_START( crzyddz2_mem, AS_PROGRAM, 32, crystal_state )
AM_RANGE(0x01801418, 0x0180141b) AM_READWRITE(Timer3_r, Timer3_w)
AM_RANGE(0x01802004, 0x01802007) AM_READWRITE(PIO_r, crzyddz2_PIO_w)
- AM_RANGE(0x01800000, 0x0180ffff) AM_RAM AM_SHARE("sysregs")
AM_RANGE(0x02000000, 0x027fffff) AM_RAM AM_SHARE("workram")
- AM_RANGE(0x030000a4, 0x030000a7) AM_READWRITE(FlipCount_r, FlipCount_w)
AM_RANGE(0x03000000, 0x0300ffff) AM_RAM AM_SHARE("vidregs")
+ AM_RANGE(0x030000a4, 0x030000a7) AM_READWRITE(FlipCount_r, FlipCount_w)
AM_RANGE(0x03800000, 0x03ffffff) AM_RAM AM_SHARE("textureram")
AM_RANGE(0x04000000, 0x047fffff) AM_RAM AM_SHARE("frameram")
AM_RANGE(0x04800000, 0x04800fff) AM_DEVREADWRITE("vrender", vrender0_device, vr0_snd_read, vr0_snd_write)
- AM_RANGE(0x05000000, 0x05000003) AM_READWRITE(FlashCmd_r, FlashCmd_w)
AM_RANGE(0x05000000, 0x05ffffff) AM_ROMBANK("bank1")
+ AM_RANGE(0x05000000, 0x05000003) AM_READWRITE(FlashCmd_r, FlashCmd_w)
// AM_RANGE(0x44414F4C, 0x44414F7F) AM_RAM AM_SHARE("reset_patch")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cybertnk.cpp b/src/mame/drivers/cybertnk.cpp
index c7e9bd18ab0..6d23342e82d 100644
--- a/src/mame/drivers/cybertnk.cpp
+++ b/src/mame/drivers/cybertnk.cpp
@@ -643,9 +643,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_mem, AS_PROGRAM, 8, cybertnk_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_RAM
+ AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ym1", y8950_device, read, write)
AM_RANGE(0xa001, 0xa001) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0xa005, 0xa006) AM_NOP
- AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ym1", y8950_device, read, write)
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE("ym2", y8950_device, read, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/dacholer.cpp b/src/mame/drivers/dacholer.cpp
index bad16ead743..bc076a603a1 100644
--- a/src/mame/drivers/dacholer.cpp
+++ b/src/mame/drivers/dacholer.cpp
@@ -235,9 +235,9 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, dacholer_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( itaten_main_map, AS_PROGRAM, 8, dacholer_state )
+ AM_IMPORT_FROM( main_map )
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xa000, 0xb7ff) AM_RAM
- AM_IMPORT_FROM( main_map )
ADDRESS_MAP_END
static ADDRESS_MAP_START( main_io_map, AS_IO, 8, dacholer_state )
diff --git a/src/mame/drivers/dblcrown.cpp b/src/mame/drivers/dblcrown.cpp
index 14d034cda2f..e8868cd48a1 100644
--- a/src/mame/drivers/dblcrown.cpp
+++ b/src/mame/drivers/dblcrown.cpp
@@ -346,10 +346,10 @@ static ADDRESS_MAP_START( dblcrown_map, AS_PROGRAM, 8, dblcrown_state )
AM_RANGE(0xc000, 0xdfff) AM_READWRITE(vram_r, vram_w)
AM_RANGE(0xf000, 0xf1ff) AM_READWRITE(palette_r, palette_w)
AM_RANGE(0xfe00, 0xfeff) AM_RAM // ???
+ AM_RANGE(0xff00, 0xffff) AM_RAM // ???, intentional fall-through
AM_RANGE(0xff00, 0xff01) AM_READWRITE(vram_bank_r, vram_bank_w)
AM_RANGE(0xff04, 0xff04) AM_READWRITE(irq_source_r,irq_source_w)
- AM_RANGE(0xff00, 0xffff) AM_RAM // ???, intentional fall-through
ADDRESS_MAP_END
static ADDRESS_MAP_START( dblcrown_io, AS_IO, 8, dblcrown_state )
diff --git a/src/mame/drivers/dcon.cpp b/src/mame/drivers/dcon.cpp
index 71798146ad5..f3357542f13 100644
--- a/src/mame/drivers/dcon.cpp
+++ b/src/mame/drivers/dcon.cpp
@@ -60,8 +60,8 @@ static ADDRESS_MAP_START( dcon_map, AS_PROGRAM, 16, dcon_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( sdgndmps_map, AS_PROGRAM, 16, dcon_state )
- AM_RANGE(0xa0000, 0xa000d) AM_READ8(sdgndmps_sound_comms_r, 0x00ff)
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/ddenlovr.cpp b/src/mame/drivers/ddenlovr.cpp
index 257c108724b..7197fd428b8 100644
--- a/src/mame/drivers/ddenlovr.cpp
+++ b/src/mame/drivers/ddenlovr.cpp
@@ -2390,8 +2390,8 @@ READ8_MEMBER(ddenlovr_state::mmpanic_link_r){ return 0xff; }
/* Main CPU */
static ADDRESS_MAP_START( mmpanic_map, AS_PROGRAM, 8, ddenlovr_state )
- AM_RANGE(0x0051, 0x0051) AM_READ(magic_r) // ?
AM_RANGE(0x0000, 0x5fff) AM_ROM // ROM
+ AM_RANGE(0x0051, 0x0051) AM_READ(magic_r) // ?
AM_RANGE(0x6000, 0x6fff) AM_RAM // RAM
AM_RANGE(0x7000, 0x7fff) AM_RAMBANK("bank2") // RAM (Banked)
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1") // ROM (Banked)
@@ -3180,8 +3180,8 @@ static ADDRESS_MAP_START( hginga_map, AS_PROGRAM, 8, ddenlovr_state )
AM_RANGE(0x0000, 0x5fff) AM_ROM // ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM // RAM
AM_RANGE(0x7000, 0x7fff) AM_RAMBANK("bank2") // RAM (Banked)
- AM_RANGE(0xf601, 0xf601) AM_READ(hginga_protection_r)
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1") // ROM/RAM (Banked)
+ AM_RANGE(0xf601, 0xf601) AM_READ(hginga_protection_r)
AM_RANGE(0xf000, 0xf1ff) AM_WRITE(rongrong_palette_w) // RAM enabled by bit 4 of rombank
AM_RANGE(0xf700, 0xf706) AM_WRITENOP
ADDRESS_MAP_END
@@ -3401,9 +3401,9 @@ static ADDRESS_MAP_START( hgokou_map, AS_PROGRAM, 8, ddenlovr_state )
AM_RANGE(0x0000, 0x5fff) AM_ROM // ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM // RAM
AM_RANGE(0x7000, 0x7fff) AM_RAMBANK("bank2") // RAM (Banked)
- AM_RANGE(0xe601, 0xe601) AM_READ(hgokou_protection_r)
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1") // ROM (Banked)
AM_RANGE(0xe000, 0xe1ff) AM_WRITE(rongrong_palette_w)
+ AM_RANGE(0xe601, 0xe601) AM_READ(hgokou_protection_r)
AM_RANGE(0xe700, 0xe706) AM_WRITENOP
ADDRESS_MAP_END
@@ -4458,8 +4458,8 @@ static ADDRESS_MAP_START( daimyojn_portmap, AS_IO, 8, ddenlovr_state )
AM_RANGE(0x32, 0x32) AM_READ(hanakanz_dsw_r)
AM_RANGE(0x40, 0x40) AM_WRITE(daimyojn_blitter_data_palette_w)
AM_RANGE(0x42, 0x44) AM_READ(hanakanz_gfxrom_r)
- AM_RANGE(0x8a, 0x8b) AM_READ(daimyojn_year_hack_r) // ?
AM_RANGE(0x80, 0x8f) AM_DEVREADWRITE("rtc", msm6242_device, read, write)
+ AM_RANGE(0x8a, 0x8b) AM_READ(daimyojn_year_hack_r) // ?
AM_RANGE(0xa0, 0xa1) AM_DEVWRITE("ym2413", ym2413_device, write)
AM_RANGE(0xa2, 0xa2) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0xa8, 0xa8) AM_READ_PORT("SYSTEM")
diff --git a/src/mame/drivers/ddragon.cpp b/src/mame/drivers/ddragon.cpp
index 6b90959c9b4..05c73922d4e 100644
--- a/src/mame/drivers/ddragon.cpp
+++ b/src/mame/drivers/ddragon.cpp
@@ -542,7 +542,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 8, ddragon_state )
AM_RANGE(0x0000, 0x001f) AM_READWRITE(ddragon_hd63701_internal_registers_r, ddragon_hd63701_internal_registers_w)
- AM_RANGE(0x001f, 0x0fff) AM_RAM
+ AM_RANGE(0x0020, 0x0fff) AM_RAM
AM_RANGE(0x8000, 0x81ff) AM_RAM AM_SHARE("comram")
AM_RANGE(0xc000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/dec0.cpp b/src/mame/drivers/dec0.cpp
index a176afbad47..bb1513f42a1 100644
--- a/src/mame/drivers/dec0.cpp
+++ b/src/mame/drivers/dec0.cpp
@@ -649,6 +649,7 @@ static ADDRESS_MAP_START( midres_map, AS_PROGRAM, 16, dec0_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( midresb_map, AS_PROGRAM, 16, dec0_state )
+ AM_IMPORT_FROM( midres_map )
AM_RANGE(0x160010, 0x160011) AM_WRITE(dec0_priority_w)
AM_RANGE(0x180000, 0x18000f) AM_READ(dec0_controls_r)
AM_RANGE(0x180012, 0x180013) AM_NOP
@@ -656,7 +657,6 @@ static ADDRESS_MAP_START( midresb_map, AS_PROGRAM, 16, dec0_state )
AM_RANGE(0x180018, 0x180019) AM_NOP
AM_RANGE(0x1a0000, 0x1a0001) AM_READ_PORT("AN0")
AM_RANGE(0x1a0008, 0x1a0009) AM_READ_PORT("AN1")
- AM_IMPORT_FROM( midres_map )
ADDRESS_MAP_END
/******************************************************************************/
diff --git a/src/mame/drivers/deco32.cpp b/src/mame/drivers/deco32.cpp
index 938ad202cc5..faae326ddc8 100644
--- a/src/mame/drivers/deco32.cpp
+++ b/src/mame/drivers/deco32.cpp
@@ -644,8 +644,8 @@ static ADDRESS_MAP_START( h6280_sound_map, AS_PROGRAM, 8, deco32_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( h6280_sound_custom_latch_map, AS_PROGRAM, 8, deco32_state )
- AM_RANGE(0x140000, 0x140000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_IMPORT_FROM(h6280_sound_map)
+ AM_RANGE(0x140000, 0x140000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
// Z80 based sound
diff --git a/src/mame/drivers/dkong.cpp b/src/mame/drivers/dkong.cpp
index de396783144..a4afe49f901 100644
--- a/src/mame/drivers/dkong.cpp
+++ b/src/mame/drivers/dkong.cpp
@@ -836,19 +836,19 @@ static ADDRESS_MAP_START( dkongjr_map, AS_PROGRAM, 8, dkong_state )
AM_RANGE(0x7c00, 0x7c00) AM_READ_PORT("IN0") AM_DEVWRITE("ls174.3d", latch8_device, write) /* IN0, sound interface */
- AM_RANGE(0x7c80, 0x7c80) AM_READ_PORT("IN1") AM_WRITE(dkongjr_gfxbank_w)
AM_RANGE(0x7c80, 0x7c87) AM_DEVWRITE("ls259.4h", latch8_device, bit0_w) /* latch for sound and signals above */
+ AM_RANGE(0x7c80, 0x7c80) AM_READ_PORT("IN1") AM_WRITE(dkongjr_gfxbank_w)
AM_RANGE(0x7d00, 0x7d00) AM_READ(dkongjr_in2_r) /* IN2 */
AM_RANGE(0x7d00, 0x7d07) AM_DEVWRITE("ls259.6h", latch8_device, bit0_w) /* Sound addrs */
+ AM_RANGE(0x7d80, 0x7d87) AM_DEVWRITE("ls259.5h", latch8_device, bit0_w) /* latch for sound and signals above*/
AM_RANGE(0x7d80, 0x7d80) AM_READ_PORT("DSW0") AM_WRITE(dkong_audio_irq_w) /* DSW0 */
AM_RANGE(0x7d82, 0x7d82) AM_WRITE(dkong_flipscreen_w)
AM_RANGE(0x7d83, 0x7d83) AM_WRITE(dkong_spritebank_w) /* 2 PSL Signal */
AM_RANGE(0x7d84, 0x7d84) AM_WRITE(nmi_mask_w)
AM_RANGE(0x7d85, 0x7d85) AM_WRITE(p8257_drq_w) /* P8257 ==> /DRQ0 /DRQ1 */
AM_RANGE(0x7d86, 0x7d87) AM_WRITE(dkong_palettebank_w)
- AM_RANGE(0x7d80, 0x7d87) AM_DEVWRITE("ls259.5h", latch8_device, bit0_w) /* latch for sound and signals above*/
AM_RANGE(0x8000, 0x9fff) AM_ROM /* bootleg DKjr only */
AM_RANGE(0xb000, 0xbfff) AM_ROM /* pestplce only */
diff --git a/src/mame/drivers/dreambal.cpp b/src/mame/drivers/dreambal.cpp
index ff31cb95805..ba6af8097e0 100644
--- a/src/mame/drivers/dreambal.cpp
+++ b/src/mame/drivers/dreambal.cpp
@@ -121,10 +121,11 @@ static ADDRESS_MAP_START( dreambal_map, AS_PROGRAM, 16, dreambal_state )
AM_RANGE(0x120000, 0x123fff) AM_RAM
AM_RANGE(0x140000, 0x1403ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
- AM_RANGE(0x161000, 0x16100f) AM_DEVWRITE("tilegen1", deco16ic_device, pf_control_w)
AM_RANGE(0x160000, 0x163fff) AM_READWRITE(dreambal_protection_region_0_104_r,dreambal_protection_region_0_104_w)AM_SHARE("prot16ram") /* Protection device */
+ AM_RANGE(0x161000, 0x16100f) AM_DEVWRITE("tilegen1", deco16ic_device, pf_control_w)
+
AM_RANGE(0x180000, 0x180001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
diff --git a/src/mame/drivers/dynax.cpp b/src/mame/drivers/dynax.cpp
index cf7d25041a8..ebac74fe11b 100644
--- a/src/mame/drivers/dynax.cpp
+++ b/src/mame/drivers/dynax.cpp
@@ -429,9 +429,9 @@ static ADDRESS_MAP_START( nanajign_mem_map, AS_PROGRAM, 8, dynax_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( mjdialq2_mem_map, AS_PROGRAM, 8, dynax_state )
+ AM_RANGE( 0x0000, 0x7fff ) AM_ROM
AM_RANGE( 0x0800, 0x0fff ) AM_RAM
AM_RANGE( 0x1000, 0x1fff ) AM_RAM AM_SHARE("nvram")
- AM_RANGE( 0x0000, 0x7fff ) AM_ROM
AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK("bank1")
ADDRESS_MAP_END
@@ -599,8 +599,8 @@ static ADDRESS_MAP_START( hjingi_mem_map, AS_PROGRAM, 8, dynax_state )
AM_RANGE( 0x0000, 0x01ff ) AM_ROM
AM_RANGE( 0x0200, 0x1fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x2000, 0x7fff ) AM_ROM
- AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK("bank1")
AM_RANGE( 0x8000, 0xffff ) AM_DEVICE("bankdev", address_map_bank_device, amap8)
+ AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK("bank1")
ADDRESS_MAP_END
static ADDRESS_MAP_START( hjingi_banked_map, AS_PROGRAM, 8, dynax_state )
diff --git a/src/mame/drivers/dynduke.cpp b/src/mame/drivers/dynduke.cpp
index 1ad28a988c5..6f3f81e2cb0 100644
--- a/src/mame/drivers/dynduke.cpp
+++ b/src/mame/drivers/dynduke.cpp
@@ -121,6 +121,7 @@ static ADDRESS_MAP_START( masterj_map, AS_PROGRAM, 16, dynduke_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, dynduke_state )
+ 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)
AM_RANGE(0x4001, 0x4001) AM_DEVWRITE("seibu_sound", seibu_sound_device, irq_clear_w)
@@ -134,7 +135,6 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, dynduke_state )
AM_RANGE(0x4018, 0x4019) AM_DEVWRITE("seibu_sound", seibu_sound_device, main_data_w)
AM_RANGE(0x401b, 0x401b) AM_DEVWRITE("seibu_sound", seibu_sound_device, coin_w)
AM_RANGE(0x6000, 0x6000) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0x0000, 0xffff) AM_DEVREAD("sei80bu", sei80bu_device, data_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_decrypted_opcodes_map, AS_OPCODES, 8, dynduke_state )
diff --git a/src/mame/drivers/elwro800.cpp b/src/mame/drivers/elwro800.cpp
index 6edd0de8afc..07fc12bd86c 100644
--- a/src/mame/drivers/elwro800.cpp
+++ b/src/mame/drivers/elwro800.cpp
@@ -375,8 +375,8 @@ static ADDRESS_MAP_START(elwro800_io, AS_IO, 8, elwro800_state)
ADDRESS_MAP_END
static ADDRESS_MAP_START(elwro800_m1, AS_OPCODES, 8, elwro800_state)
- AM_RANGE(0x0066, 0x0066) AM_READ(nmi_r)
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
diff --git a/src/mame/drivers/eprom.cpp b/src/mame/drivers/eprom.cpp
index 89e2695a576..662f6210dff 100644
--- a/src/mame/drivers/eprom.cpp
+++ b/src/mame/drivers/eprom.cpp
@@ -148,8 +148,8 @@ template<bool maincpu> WRITE16_MEMBER(eprom_state::sync_w)
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, eprom_state )
AM_RANGE(0x000000, 0x09ffff) AM_ROM
AM_RANGE(0x0e0000, 0x0e0fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
- AM_RANGE(0x16cc00, 0x16cc01) AM_READWRITE(sync_r, sync_w<true>)
AM_RANGE(0x160000, 0x16ffff) AM_RAM AM_SHARE("share1")
+ AM_RANGE(0x16cc00, 0x16cc01) AM_READWRITE(sync_r, sync_w<true>)
AM_RANGE(0x1f0000, 0x1fffff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
AM_RANGE(0x260000, 0x26000f) AM_READ_PORT("260000")
AM_RANGE(0x260010, 0x26001f) AM_READ(special_port1_r)
@@ -161,20 +161,20 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, eprom_state )
AM_RANGE(0x360020, 0x360021) AM_DEVWRITE("jsa", atari_jsa_base_device, sound_reset_w)
AM_RANGE(0x360030, 0x360031) AM_DEVWRITE8("jsa", atari_jsa_base_device, main_command_w, 0x00ff)
AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM AM_SHARE("paletteram")
+ AM_RANGE(0x3f0000, 0x3f9fff) AM_RAM
AM_RANGE(0x3f0000, 0x3f1fff) AM_DEVWRITE("playfield", tilemap_device, write16) AM_SHARE("playfield")
AM_RANGE(0x3f2000, 0x3f3fff) AM_RAM AM_SHARE("mob")
AM_RANGE(0x3f4000, 0x3f4f7f) AM_DEVWRITE("alpha", tilemap_device, write16) AM_SHARE("alpha")
AM_RANGE(0x3f4f80, 0x3f4fff) AM_RAM AM_SHARE("mob:slip")
AM_RANGE(0x3f8000, 0x3f9fff) AM_DEVWRITE("playfield", tilemap_device, write16_ext) AM_SHARE("playfield_ext")
- AM_RANGE(0x3f0000, 0x3f9fff) AM_RAM
ADDRESS_MAP_END
static ADDRESS_MAP_START( guts_map, AS_PROGRAM, 16, eprom_state )
AM_RANGE(0x000000, 0x09ffff) AM_ROM
AM_RANGE(0x0e0000, 0x0e0fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
- AM_RANGE(0x16cc00, 0x16cc01) AM_READWRITE(sync_r, sync_w<true>)
AM_RANGE(0x160000, 0x16ffff) AM_RAM AM_SHARE("share1")
+ AM_RANGE(0x16cc00, 0x16cc01) AM_READWRITE(sync_r, sync_w<true>)
AM_RANGE(0x1f0000, 0x1fffff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
AM_RANGE(0x260000, 0x26000f) AM_READ_PORT("260000")
AM_RANGE(0x260010, 0x26001f) AM_READ(special_port1_r)
@@ -204,8 +204,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( extra_map, AS_PROGRAM, 16, eprom_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x16cc00, 0x16cc01) AM_READWRITE(sync_r, sync_w<false>) AM_SHARE("sync_data")
AM_RANGE(0x160000, 0x16ffff) AM_RAM AM_SHARE("share1")
+ AM_RANGE(0x16cc00, 0x16cc01) AM_READWRITE(sync_r, sync_w<false>) AM_SHARE("sync_data")
AM_RANGE(0x260000, 0x26000f) AM_READ_PORT("260000")
AM_RANGE(0x260010, 0x26001f) AM_READ(special_port1_r)
AM_RANGE(0x260020, 0x26002f) AM_READ(adc_r)
diff --git a/src/mame/drivers/equites.cpp b/src/mame/drivers/equites.cpp
index e4326f32c00..1c7f72adc1e 100644
--- a/src/mame/drivers/equites.cpp
+++ b/src/mame/drivers/equites.cpp
@@ -648,8 +648,8 @@ static ADDRESS_MAP_START( equites_map, AS_PROGRAM, 16, equites_state )
AM_RANGE(0x080000, 0x080fff) AM_READWRITE8(equites_fg_videoram_r, equites_fg_videoram_w, 0x00ff)
AM_RANGE(0x0c0000, 0x0c01ff) AM_RAM_WRITE(equites_bg_videoram_w) AM_SHARE("bg_videoram")
AM_RANGE(0x0c0200, 0x0c0fff) AM_RAM
- AM_RANGE(0x100000, 0x100001) AM_READ(equites_spriteram_kludge_r)
AM_RANGE(0x100000, 0x1001ff) AM_RAM AM_SHARE("spriteram")
+ 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)
@@ -659,9 +659,9 @@ static ADDRESS_MAP_START( equites_map, AS_PROGRAM, 16, equites_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( gekisou_map, AS_PROGRAM, 16, equites_state )
+ 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)
- AM_IMPORT_FROM( equites_map )
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ertictac.cpp b/src/mame/drivers/ertictac.cpp
index 08e4c2dfcc4..535f778b00d 100644
--- a/src/mame/drivers/ertictac.cpp
+++ b/src/mame/drivers/ertictac.cpp
@@ -65,10 +65,9 @@ static ADDRESS_MAP_START( ertictac_map, AS_PROGRAM, 32, ertictac_state )
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)
AM_RANGE(0x03340000, 0x0334001f) AM_READ(ertictac_podule_r)
AM_RANGE(0x033c0000, 0x033c001f) AM_READ(ertictac_podule_r)
-
- AM_RANGE(0x03000000, 0x033fffff) AM_READWRITE(archimedes_ioc_r, archimedes_ioc_w)
AM_RANGE(0x03400000, 0x035fffff) AM_READWRITE(archimedes_vidc_r, archimedes_vidc_w)
AM_RANGE(0x03600000, 0x037fffff) AM_READWRITE(archimedes_memc_r, archimedes_memc_w)
AM_RANGE(0x03800000, 0x03ffffff) AM_ROM AM_REGION("maincpu", 0) AM_WRITE(archimedes_memc_page_w)
diff --git a/src/mame/drivers/espial.cpp b/src/mame/drivers/espial.cpp
index 556f1946c21..58ffb2d6c96 100644
--- a/src/mame/drivers/espial.cpp
+++ b/src/mame/drivers/espial.cpp
@@ -137,13 +137,13 @@ static ADDRESS_MAP_START( netwars_map, AS_PROGRAM, 8, espial_state )
AM_RANGE(0x7000, 0x7000) AM_DEVREADWRITE("watchdog", watchdog_timer_device, reset_r, reset_w)
AM_RANGE(0x7100, 0x7100) AM_WRITE(espial_master_interrupt_mask_w)
AM_RANGE(0x7200, 0x7200) AM_WRITE(espial_flipscreen_w)
- AM_RANGE(0x8000, 0x801f) AM_RAM AM_SHARE("spriteram_1")
AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(espial_videoram_w) AM_SHARE("videoram")
- AM_RANGE(0x8800, 0x880f) AM_RAM AM_SHARE("spriteram_3")
+ AM_RANGE(0x8000, 0x801f) AM_RAM AM_SHARE("spriteram_1")
AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(espial_attributeram_w) AM_SHARE("attributeram")
+ AM_RANGE(0x8800, 0x880f) AM_RAM AM_SHARE("spriteram_3")
+ AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(espial_colorram_w) AM_SHARE("colorram")
AM_RANGE(0x9000, 0x901f) AM_RAM AM_SHARE("spriteram_2")
AM_RANGE(0x9020, 0x903f) AM_RAM_WRITE(espial_scrollram_w) AM_SHARE("scrollram")
- AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(espial_colorram_w) AM_SHARE("colorram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/europc.cpp b/src/mame/drivers/europc.cpp
index 72bc79b7d1f..39bf4b088ec 100644
--- a/src/mame/drivers/europc.cpp
+++ b/src/mame/drivers/europc.cpp
@@ -501,8 +501,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START(europc_io, AS_IO, 8, europc_pc_state )
ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE(0x0060, 0x0063) AM_READWRITE(europc_pio_r, europc_pio_w)
AM_RANGE(0x0000, 0x00ff) AM_DEVICE("mb", pc_noppi_mb_device, map)
+ AM_RANGE(0x0060, 0x0063) AM_READWRITE(europc_pio_r, europc_pio_w)
AM_RANGE(0x0250, 0x025f) AM_READWRITE(europc_jim_r, europc_jim_w)
AM_RANGE(0x02e0, 0x02e0) AM_READ(europc_jim2_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/exerion.cpp b/src/mame/drivers/exerion.cpp
index 3f5dd746e84..405ad4c17e4 100644
--- a/src/mame/drivers/exerion.cpp
+++ b/src/mame/drivers/exerion.cpp
@@ -193,11 +193,11 @@ READ8_MEMBER(exerion_state::exerion_protection_r)
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, exerion_state )
AM_RANGE(0x0000, 0x5fff) AM_ROM
- AM_RANGE(0x6008, 0x600b) AM_READ(exerion_protection_r)
AM_RANGE(0x6000, 0x67ff) AM_RAM AM_SHARE("main_ram")
+ AM_RANGE(0x6008, 0x600b) AM_READ(exerion_protection_r)
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x8800, 0x887f) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x8800, 0x8bff) AM_RAM
+ AM_RANGE(0x8880, 0x8bff) AM_RAM
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0")
AM_RANGE(0xa800, 0xa800) AM_READ_PORT("DSW0")
AM_RANGE(0xb000, 0xb000) AM_READ_PORT("DSW1")
diff --git a/src/mame/drivers/exidy.cpp b/src/mame/drivers/exidy.cpp
index 4adb3b51021..6bd3082264e 100644
--- a/src/mame/drivers/exidy.cpp
+++ b/src/mame/drivers/exidy.cpp
@@ -218,32 +218,32 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sidetrac_map, AS_PROGRAM, 8, exidy_state )
+ AM_IMPORT_FROM(exidy_map)
AM_RANGE(0x0800, 0x3fff) AM_ROM
AM_RANGE(0x4800, 0x4fff) AM_ROM AM_SHARE("characterram")
AM_RANGE(0x5200, 0x5200) AM_WRITE(targ_audio_1_w)
AM_RANGE(0x5201, 0x5201) AM_WRITE(spectar_audio_2_w)
AM_RANGE(0xff00, 0xffff) AM_ROM AM_REGION("maincpu", 0x3f00)
- AM_IMPORT_FROM(exidy_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START( targ_map, AS_PROGRAM, 8, exidy_state )
+ AM_IMPORT_FROM(exidy_map)
AM_RANGE(0x0800, 0x3fff) AM_ROM
AM_RANGE(0x4800, 0x4fff) AM_RAM AM_SHARE("characterram")
AM_RANGE(0x5200, 0x5200) AM_WRITE(targ_audio_1_w)
AM_RANGE(0x5201, 0x5201) AM_WRITE(targ_audio_2_w)
AM_RANGE(0xff00, 0xffff) AM_ROM AM_REGION("maincpu", 0x3f00)
- AM_IMPORT_FROM(exidy_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START( spectar_map, AS_PROGRAM, 8, exidy_state )
+ AM_IMPORT_FROM(exidy_map)
AM_RANGE(0x0800, 0x3fff) AM_ROM
AM_RANGE(0x4800, 0x4fff) AM_RAM AM_SHARE("characterram")
AM_RANGE(0x5200, 0x5200) AM_WRITE(targ_audio_1_w)
AM_RANGE(0x5201, 0x5201) AM_WRITE(spectar_audio_2_w)
AM_RANGE(0xff00, 0xffff) AM_ROM AM_REGION("maincpu", 0x3f00)
- AM_IMPORT_FROM(exidy_map)
ADDRESS_MAP_END
@@ -270,23 +270,24 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( venture_map, AS_PROGRAM, 8, exidy_state )
+ 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)
AM_RANGE(0x8000, 0xffff) AM_ROM
- AM_IMPORT_FROM(exidy_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START( pepper2_map, AS_PROGRAM, 8, exidy_state )
+ AM_IMPORT_FROM(exidy_map)
AM_RANGE(0x4800, 0x4fff) AM_NOP
AM_RANGE(0x5200, 0x520f) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
AM_RANGE(0x6000, 0x6fff) AM_RAM AM_SHARE("characterram")
AM_RANGE(0x8000, 0xffff) AM_ROM
- AM_IMPORT_FROM(exidy_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START( fax_map, AS_PROGRAM, 8, exidy_state )
+ AM_IMPORT_FROM(exidy_map)
AM_RANGE(0x0400, 0x07ff) AM_RAM
AM_RANGE(0x1a00, 0x1a00) AM_READ_PORT("IN4")
AM_RANGE(0x1c00, 0x1c00) AM_READ_PORT("IN3")
@@ -296,7 +297,6 @@ static ADDRESS_MAP_START( fax_map, AS_PROGRAM, 8, exidy_state )
AM_RANGE(0x5213, 0x5217) AM_WRITENOP /* empty control lines on color/sound board */
AM_RANGE(0x6000, 0x6fff) AM_RAM AM_SHARE("characterram")
AM_RANGE(0x8000, 0xffff) AM_ROM
- AM_IMPORT_FROM(exidy_map)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/expro02.cpp b/src/mame/drivers/expro02.cpp
index 1ce70483735..7216eb7b169 100644
--- a/src/mame/drivers/expro02.cpp
+++ b/src/mame/drivers/expro02.cpp
@@ -740,6 +740,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( galhustl_map, AS_PROGRAM, 16, expro02_state )
+ AM_IMPORT_FROM(expro02_video_base_map_noview2)
+
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x200000, 0x2fffff) AM_ROM AM_REGION("maincpudata", 0)
@@ -752,12 +754,11 @@ static ADDRESS_MAP_START( galhustl_map, AS_PROGRAM, 16, expro02_state )
AM_RANGE(0xe80000, 0xe8ffff) AM_RAM
AM_RANGE(0x780000, 0x78001f) AM_NOP // prevent sprites being flipped
-
- AM_IMPORT_FROM(expro02_video_base_map_noview2)
-
ADDRESS_MAP_END
static ADDRESS_MAP_START( zipzap_map, AS_PROGRAM, 16, expro02_state )
+ AM_IMPORT_FROM(expro02_video_base_map_noview2)
+
AM_RANGE(0x000000, 0x4fffff) AM_ROM
AM_RANGE(0x701000, 0x71ffff) AM_RAM
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1")
@@ -768,8 +769,6 @@ static ADDRESS_MAP_START( zipzap_map, AS_PROGRAM, 16, expro02_state )
AM_RANGE(0xc80000, 0xc8ffff) AM_RAM // main ram
AM_RANGE(0x780000, 0x78001f) AM_NOP // prevent sprites being flipped
-
- AM_IMPORT_FROM(expro02_video_base_map_noview2)
ADDRESS_MAP_END
static ADDRESS_MAP_START( supmodel_map, AS_PROGRAM, 16, expro02_state )
diff --git a/src/mame/drivers/fastinvaders.cpp b/src/mame/drivers/fastinvaders.cpp
index 1809f3d8c02..62f31dbf630 100644
--- a/src/mame/drivers/fastinvaders.cpp
+++ b/src/mame/drivers/fastinvaders.cpp
@@ -515,6 +515,8 @@ static ADDRESS_MAP_START( fastinvaders_io_base, AS_IO, 8, fastinvaders_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( fastinvaders_6845_io, AS_IO, 8, fastinvaders_state )
+ AM_IMPORT_FROM(fastinvaders_io_base)
+
AM_RANGE(0x10, 0x1f) AM_DEVREADWRITE("dma8257", i8257_device, read, write)
AM_RANGE(0x20, 0x20) AM_DEVWRITE("6845", mc6845_device, address_w)
AM_RANGE(0x21, 0x21) AM_DEVREADWRITE("6845", mc6845_device, register_r, register_w)
@@ -531,12 +533,12 @@ static ADDRESS_MAP_START( fastinvaders_6845_io, AS_IO, 8, fastinvaders_state )
AM_RANGE(0xd0, 0xd0) AM_WRITE(io_d0_w) //ds13 irq5 clear
AM_RANGE(0xe0, 0xe0) AM_WRITE(io_e0_w) //ds14 irq4 clear
AM_RANGE(0xf0, 0xf0) AM_WRITE(io_f0_w) //ds15 irq6 clear
-
- AM_IMPORT_FROM(fastinvaders_io_base)
ADDRESS_MAP_END
static ADDRESS_MAP_START( fastinvaders_8275_io, AS_IO, 8, fastinvaders_state )
+ AM_IMPORT_FROM(fastinvaders_io_base)
+
AM_RANGE( 0x20, 0x21 ) AM_DEVREADWRITE("8275", i8275_device, read, write)
AM_RANGE(0x10, 0x1f) AM_DEVREADWRITE("dma8257", i8257_device, read, write)
@@ -554,7 +556,6 @@ AM_RANGE(0x10, 0x1f) AM_DEVREADWRITE("dma8257", i8257_device, read, write)
AM_RANGE(0xd0, 0xd0) AM_WRITE(io_d0_w) //ds13 irq5 clear
AM_RANGE(0xe0, 0xe0) AM_WRITE(io_e0_w) //ds14 irq4 clear
AM_RANGE(0xf0, 0xf0) AM_WRITE(io_f0_w) //ds15 irq6 clear
- AM_IMPORT_FROM(fastinvaders_io_base)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/fccpu30.cpp b/src/mame/drivers/fccpu30.cpp
index d1605bfe75e..293bce4a66d 100644
--- a/src/mame/drivers/fccpu30.cpp
+++ b/src/mame/drivers/fccpu30.cpp
@@ -329,8 +329,8 @@ private:
static ADDRESS_MAP_START (cpu30_mem, AS_PROGRAM, 32, cpu30_state)
ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE (0x00000000, 0x00000007) AM_ROM AM_READ (bootvect_r) /* ROM mirror just during reset */
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 */
// AM_RANGE (0x00000008, 0x003fffff) AM_RAM /* RAM installed in machine start */
AM_RANGE (0xff000000, 0xff7fffff) AM_ROM AM_REGION("roms", 0x000000)
AM_RANGE (0xff800c00, 0xff800dff) AM_DEVREADWRITE8("pit1", pit68230_device, read, write, 0xffffffff)
diff --git a/src/mame/drivers/fidel6502.cpp b/src/mame/drivers/fidel6502.cpp
index 0bec9839be6..8c962da2d94 100644
--- a/src/mame/drivers/fidel6502.cpp
+++ b/src/mame/drivers/fidel6502.cpp
@@ -1204,8 +1204,8 @@ static ADDRESS_MAP_START( sc9_map, AS_PROGRAM, 8, fidel6502_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( sc9d_map, AS_PROGRAM, 8, fidel6502_state )
- AM_RANGE(0xa000, 0xa007) AM_MIRROR(0x1ff8) AM_READ(sc9d_input_r)
AM_IMPORT_FROM( sc9_map )
+ AM_RANGE(0xa000, 0xa007) AM_MIRROR(0x1ff8) AM_READ(sc9d_input_r)
ADDRESS_MAP_END
@@ -1274,8 +1274,8 @@ static ADDRESS_MAP_START( chesster_map, AS_PROGRAM, 8, fidel6502_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( kishon_map, AS_PROGRAM, 8, fidel6502_state )
- AM_RANGE(0x2000, 0x2007) AM_MIRROR(0x1ff8) AM_READWRITE(fdesdis_input_r, kishon_control_w)
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 98e165b4933..40e200dc393 100644
--- a/src/mame/drivers/fidel68k.cpp
+++ b/src/mame/drivers/fidel68k.cpp
@@ -394,13 +394,13 @@ static ADDRESS_MAP_START( fex68k_map, AS_PROGRAM, 16, fidel68k_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( fex68km2_map, AS_PROGRAM, 16, fidel68k_state )
- AM_RANGE(0x200000, 0x21ffff) AM_RAM
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 )
- AM_RANGE(0x200000, 0x20ffff) AM_RAM
AM_IMPORT_FROM( fex68k_map )
+ AM_RANGE(0x200000, 0x20ffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/funkball.cpp b/src/mame/drivers/funkball.cpp
index 7e71a75bf55..e7ca786923c 100644
--- a/src/mame/drivers/funkball.cpp
+++ b/src/mame/drivers/funkball.cpp
@@ -356,8 +356,8 @@ static ADDRESS_MAP_START( flashbank_map, AS_PROGRAM, 32, funkball_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START(funkball_io, AS_IO, 32, funkball_state)
- AM_RANGE(0x0020, 0x0023) AM_READWRITE8(io20_r, io20_w, 0xffff0000)
AM_IMPORT_FROM(pcat32_io_common)
+ AM_RANGE(0x0020, 0x0023) AM_READWRITE8(io20_r, io20_w, 0xffff0000)
AM_RANGE(0x00e8, 0x00ef) AM_NOP
AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0, write_cs0, 0xffffffff)
diff --git a/src/mame/drivers/gaelco2.cpp b/src/mame/drivers/gaelco2.cpp
index afc8db05e85..54c58ef993b 100644
--- a/src/mame/drivers/gaelco2.cpp
+++ b/src/mame/drivers/gaelco2.cpp
@@ -83,8 +83,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( maniacsq_map, AS_PROGRAM, 16, gaelco2_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM /* ROM */
- AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelco_gae1_device, gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
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 */
AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_SHARE("paletteram") /* Palette */
AM_RANGE(0x218004, 0x218009) AM_RAM AM_SHARE("vregs") /* Video Registers */
AM_RANGE(0x300000, 0x300001) AM_READ_PORT("IN0") /* DSW #1 + Input 1P */
@@ -482,8 +482,8 @@ static ADDRESS_MAP_START( play2000_map, AS_PROGRAM, 16, gaelco2_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM /* ROM */
AM_RANGE(0x100000, 0x100001) AM_READ_PORT("IN0") /* Coins + other buttons? */
// AM_RANGE(0x110000, 0x110001) ?
- AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelco_gae1_device, gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
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 */
AM_RANGE(0x214000, 0x214fff) AM_RAM_WRITE(gaelco2_palette_w) AM_SHARE("paletteram") /* Palette */
AM_RANGE(0x215000, 0x217fff) AM_RAM /* Written to, but unused? */
AM_RANGE(0x218000, 0x218003) AM_RAM /* Written to, but unused? */
@@ -639,8 +639,8 @@ READ16_MEMBER(bang_state::p2_gun_y){return (m_light1_y->read() * 240 / 0x100) -
static ADDRESS_MAP_START( bang_map, AS_PROGRAM, 16, bang_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
- AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelco_cg1v_device, gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
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 */
AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_SHARE("paletteram") /* Palette */
AM_RANGE(0x218004, 0x218009) AM_READONLY /* Video Registers */
AM_RANGE(0x218004, 0x218007) AM_WRITEONLY AM_SHARE("vregs") /* Video Registers */
@@ -842,8 +842,8 @@ ROM_END
static ADDRESS_MAP_START( alighunt_map, AS_PROGRAM, 16, gaelco2_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
- AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelco_gae1_device, gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
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 */
AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_SHARE("paletteram") /* Palette */
AM_RANGE(0x218004, 0x218009) AM_RAM AM_SHARE("vregs") /* Video Registers */
AM_RANGE(0x300000, 0x300001) AM_READ_PORT("IN0") /* DSW #1 + Input 1P */
@@ -1108,8 +1108,8 @@ ROM_END
static ADDRESS_MAP_START( touchgo_map, AS_PROGRAM, 16, gaelco2_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
- AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelco_gae1_device, gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
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 */
AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_SHARE("paletteram") /* Palette */
AM_RANGE(0x218004, 0x218009) AM_RAM AM_SHARE("vregs") /* Video Registers */
AM_RANGE(0x300000, 0x300001) AM_READ_PORT("IN0") /* DSW #1 + Input 1P */
@@ -1429,8 +1429,8 @@ ROM_END
static ADDRESS_MAP_START( snowboar_map, AS_PROGRAM, 16, gaelco2_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
- AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelco_cg1v_device, gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
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 */
AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_SHARE("paletteram") /* Palette */
AM_RANGE(0x212000, 0x213fff) AM_RAM /* Extra RAM */
AM_RANGE(0x218004, 0x218009) AM_RAM AM_SHARE("vregs") /* Video Registers */
@@ -1657,8 +1657,8 @@ ROM_END
static ADDRESS_MAP_START( wrally2_map, AS_PROGRAM, 16, wrally2_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
- AM_RANGE(0x202890, 0x2028ff) AM_DEVREADWRITE("gaelco", gaelco_gae1_device, gaelcosnd_r, gaelcosnd_w) /* Sound Registers */
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 */
AM_RANGE(0x210000, 0x211fff) AM_RAM_WRITE(gaelco2_palette_w) AM_SHARE("paletteram") /* Palette */
AM_RANGE(0x212000, 0x213fff) AM_RAM /* Extra RAM */
AM_RANGE(0x218004, 0x218009) AM_RAM AM_SHARE("vregs") /* Video Registers */
diff --git a/src/mame/drivers/gaelco3d.cpp b/src/mame/drivers/gaelco3d.cpp
index 586dea81d5d..cb24a24b4e9 100644
--- a/src/mame/drivers/gaelco3d.cpp
+++ b/src/mame/drivers/gaelco3d.cpp
@@ -684,8 +684,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, gaelco3d_state )
AM_RANGE(0x510102, 0x510103) AM_SELECT(0x000038) AM_DEVWRITE8_MOD("mainlatch", ls259_device, write_d0, rshift<2>, 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)
- AM_RANGE(0xfe7f80, 0xfe7fff) AM_WRITE(tms_comm_w) AM_SHARE("tms_comm_base")
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
@@ -703,8 +703,8 @@ static ADDRESS_MAP_START( main020_map, AS_PROGRAM, 32, gaelco3d_state )
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(0xfe7f80, 0xfe7fff) AM_WRITE16(tms_comm_w, 0xffffffff) AM_SHARE("tms_comm_base")
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")
ADDRESS_MAP_END
static ADDRESS_MAP_START( tms_map, AS_PROGRAM, 32, gaelco3d_state )
diff --git a/src/mame/drivers/galaga.cpp b/src/mame/drivers/galaga.cpp
index 0580a97f57b..43dbdb722f4 100644
--- a/src/mame/drivers/galaga.cpp
+++ b/src/mame/drivers/galaga.cpp
@@ -869,8 +869,8 @@ static ADDRESS_MAP_START( galaga_map, AS_PROGRAM, 8, galaga_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( gatsbee_main_map, AS_PROGRAM, 8, galaga_state )
- AM_RANGE(0x0000, 0x0007) AM_MIRROR(0x3ff8) AM_DEVWRITE("extralatch", ls259_device, write_d0)
AM_IMPORT_FROM(galaga_map)
+ AM_RANGE(0x0000, 0x0007) AM_MIRROR(0x3ff8) AM_DEVWRITE("extralatch", ls259_device, write_d0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/galaxian.cpp b/src/mame/drivers/galaxian.cpp
index 5b7b1d48ada..23a93ca533b 100644
--- a/src/mame/drivers/galaxian.cpp
+++ b/src/mame/drivers/galaxian.cpp
@@ -1821,6 +1821,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( anteatergg_map, AS_PROGRAM, 8, galaxian_state )
ADDRESS_MAP_UNMAP_HIGH
+ AM_IMPORT_FROM(galaxian_map_discrete)
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x4fff) AM_RAM
AM_RANGE(0x5000, 0x53ff) AM_RAM AM_RAM_WRITE(galaxian_videoram_w) AM_SHARE("videoram")
@@ -1837,7 +1838,6 @@ static ADDRESS_MAP_START( anteatergg_map, AS_PROGRAM, 8, galaxian_state )
AM_RANGE(0x7006, 0x7006) AM_MIRROR(0x07f8) AM_WRITE(galaxian_flip_screen_x_w)
AM_RANGE(0x7007, 0x7007) AM_MIRROR(0x07f8) AM_WRITE(galaxian_flip_screen_y_w)
AM_RANGE(0x7800, 0x7800) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
- AM_IMPORT_FROM(galaxian_map_discrete)
ADDRESS_MAP_END
/* map derived from schematics */
diff --git a/src/mame/drivers/galaxold.cpp b/src/mame/drivers/galaxold.cpp
index 3fedb312404..9d81477b2b8 100644
--- a/src/mame/drivers/galaxold.cpp
+++ b/src/mame/drivers/galaxold.cpp
@@ -540,9 +540,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( dkongjrmc_map, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM
+ AM_RANGE(0x7000, 0x73ff) AM_RAM_WRITE(galaxold_videoram_w)
AM_RANGE(0x7000, 0x70ff) AM_RAM_WRITE(galaxold_attributesram_w) AM_SHARE("attributesram")
AM_RANGE(0x7100, 0x71ff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x7000, 0x73ff) AM_RAM_WRITE(galaxold_videoram_w)
AM_RANGE(0x7400, 0x77ff) AM_RAM_WRITE(galaxold_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x7800, 0x7800) AM_READ_PORT("DSW")
AM_RANGE(0x7801, 0x7801) AM_WRITE(galaxold_nmi_enable_w)
@@ -649,9 +649,6 @@ static ADDRESS_MAP_START( hunchbkg, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0x1504, 0x1507) AM_MIRROR(0x6000) AM_DEVWRITE("cust", galaxian_sound_device, lfo_freq_w)
AM_RANGE(0x1580, 0x1580) AM_MIRROR(0x6000) AM_READ_PORT("IN1")
AM_RANGE(0x1580, 0x1587) AM_MIRROR(0x6000) AM_DEVWRITE("cust", galaxian_sound_device, sound_w)
- AM_RANGE(0x1583, 0x1583) AM_MIRROR(0x6000) AM_DEVWRITE("cust", galaxian_sound_device, noise_enable_w)
- AM_RANGE(0x1585, 0x1585) AM_MIRROR(0x6000) AM_DEVWRITE("cust", galaxian_sound_device, fire_enable_w)
- AM_RANGE(0x1586, 0x1587) AM_MIRROR(0x6000) AM_DEVWRITE("cust", galaxian_sound_device, vol_w)
AM_RANGE(0x1600, 0x1600) AM_MIRROR(0x6000) AM_READ_PORT("DSW0")
AM_RANGE(0x1601, 0x1601) AM_MIRROR(0x6000) AM_WRITE(galaxold_nmi_enable_w)
AM_RANGE(0x1604, 0x1604) AM_MIRROR(0x6000) AM_WRITE(galaxold_stars_enable_w)
@@ -677,9 +674,6 @@ static ADDRESS_MAP_START( spcwarp, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0x1504, 0x1507) AM_MIRROR(0x6000) AM_DEVWRITE("cust", galaxian_sound_device, lfo_freq_w)
AM_RANGE(0x1580, 0x1580) AM_MIRROR(0x6000) AM_READ_PORT("IN1")
AM_RANGE(0x1580, 0x1587) AM_MIRROR(0x6000) AM_DEVWRITE("cust", galaxian_sound_device, sound_w)
- AM_RANGE(0x1583, 0x1583) AM_MIRROR(0x6000) AM_DEVWRITE("cust", galaxian_sound_device, noise_enable_w)
- AM_RANGE(0x1585, 0x1585) AM_MIRROR(0x6000) AM_DEVWRITE("cust", galaxian_sound_device, fire_enable_w)
- AM_RANGE(0x1586, 0x1587) AM_MIRROR(0x6000) AM_DEVWRITE("cust", galaxian_sound_device, vol_w)
// everything else in the $16xx range is moved to $17xx
AM_RANGE(0x1680, 0x1680) AM_MIRROR(0x6000) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r) AM_DEVWRITE("cust", galaxian_sound_device, pitch_w)
AM_RANGE(0x1700, 0x1700) AM_MIRROR(0x6000) AM_READ_PORT("DSW0")
diff --git a/src/mame/drivers/galgames.cpp b/src/mame/drivers/galgames.cpp
index eba284ab0c6..4dc231546c1 100644
--- a/src/mame/drivers/galgames.cpp
+++ b/src/mame/drivers/galgames.cpp
@@ -560,10 +560,10 @@ WRITE_LINE_MEMBER(galgames_cart_device::eeprom_cs_write)
// SLOT implementation
DEVICE_ADDRESS_MAP_START( slot_map, 16, galgames_slot_device )
- AM_RANGE( 0x000000, 0x03ffff ) AM_READWRITE(rom0_or_ram_r, ram_w) AM_SHARE("ram")
AM_RANGE( 0x000000, 0x1fffff ) AM_READ(rom0_r)
- AM_RANGE( 0x200000, 0x23ffff ) AM_READWRITE(rom_or_ram_r, ram_w)
+ AM_RANGE( 0x000000, 0x03ffff ) AM_READWRITE(rom0_or_ram_r, ram_w) AM_SHARE("ram")
AM_RANGE( 0x200000, 0x3fffff ) AM_READ(rom_r)
+ AM_RANGE( 0x200000, 0x23ffff ) AM_READWRITE(rom_or_ram_r, ram_w)
ADDRESS_MAP_END
galgames_slot_device::galgames_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
diff --git a/src/mame/drivers/gauntlet.cpp b/src/mame/drivers/gauntlet.cpp
index 76616b89aa0..262db998c7f 100644
--- a/src/mame/drivers/gauntlet.cpp
+++ b/src/mame/drivers/gauntlet.cpp
@@ -297,8 +297,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, gauntlet_state )
AM_RANGE(0x900000, 0x901fff) AM_MIRROR(0x2c8000) AM_RAM_DEVWRITE("playfield", tilemap_device, write16) AM_SHARE("playfield")
AM_RANGE(0x902000, 0x903fff) AM_MIRROR(0x2c8000) AM_RAM AM_SHARE("mob")
AM_RANGE(0x904000, 0x904fff) AM_MIRROR(0x2c8000) AM_RAM
- AM_RANGE(0x905f6e, 0x905f6f) AM_MIRROR(0x2c8000) AM_RAM_WRITE(gauntlet_yscroll_w) AM_SHARE("yscroll")
AM_RANGE(0x905000, 0x905f7f) AM_MIRROR(0x2c8000) AM_RAM_DEVWRITE("alpha", tilemap_device, write16) AM_SHARE("alpha")
+ AM_RANGE(0x905f6e, 0x905f6f) AM_MIRROR(0x2c8000) AM_RAM_WRITE(gauntlet_yscroll_w) AM_SHARE("yscroll")
AM_RANGE(0x905f80, 0x905fff) AM_MIRROR(0x2c8000) AM_RAM AM_SHARE("mob:slip")
AM_RANGE(0x910000, 0x9107ff) AM_MIRROR(0x2cf800) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x930000, 0x930001) AM_MIRROR(0x2cfffe) AM_WRITE(gauntlet_xscroll_w) AM_SHARE("xscroll")
diff --git a/src/mame/drivers/gei.cpp b/src/mame/drivers/gei.cpp
index 1115c8a6cc0..40b1c4d1fca 100644
--- a/src/mame/drivers/gei.cpp
+++ b/src/mame/drivers/gei.cpp
@@ -401,8 +401,8 @@ static ADDRESS_MAP_START( gepoker_map, AS_PROGRAM, 8, gei_state )
AM_RANGE(0x60fe, 0x60fe) AM_WRITE(banksel_w<0>)
AM_RANGE(0x8000, 0x8002) AM_WRITE(gei_drawctrl_w)
AM_RANGE(0x8000, 0xbfff) AM_ROM /* space for diagnostic ROM? */
- AM_RANGE(0xe000, 0xffff) AM_ROM
AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(gei_bitmap_w)
+ AM_RANGE(0xe000, 0xffff) AM_ROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( amuse1_map, AS_PROGRAM, 8, gei_state )
@@ -418,11 +418,12 @@ static ADDRESS_MAP_START( amuse1_map, AS_PROGRAM, 8, gei_state )
AM_RANGE(0x5800, 0x5fff) AM_ROM
AM_RANGE(0x8000, 0x8002) AM_WRITE(gei_drawctrl_w)
AM_RANGE(0x8000, 0xbfff) AM_ROM /* space for diagnostic ROM? */
- AM_RANGE(0xe000, 0xffff) AM_ROM
AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(gei_bitmap_w)
+ AM_RANGE(0xe000, 0xffff) AM_ROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( findout_map, AS_PROGRAM, 8, gei_state )
+ AM_RANGE(0x0000, 0xffff) AM_READ(catchall)
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)
@@ -440,10 +441,10 @@ static ADDRESS_MAP_START( findout_map, AS_PROGRAM, 8, gei_state )
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("rombank")
AM_RANGE(0x8000, 0x8002) AM_WRITE(gei_drawctrl_w)
AM_RANGE(0xc000, 0xffff) AM_WRITE(gei_bitmap_w)
- AM_RANGE(0x0000, 0xffff) AM_READ(catchall)
ADDRESS_MAP_END
static ADDRESS_MAP_START( quizvid_map, AS_PROGRAM, 8, gei_state )
+ AM_RANGE(0x0000, 0xffff) AM_READ(catchall)
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)
@@ -458,7 +459,6 @@ static ADDRESS_MAP_START( quizvid_map, AS_PROGRAM, 8, gei_state )
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("rombank")
AM_RANGE(0x8000, 0x8002) AM_WRITE(gei_drawctrl_w)
AM_RANGE(0xc000, 0xffff) AM_WRITE(gei_bitmap_w)
- AM_RANGE(0x0000, 0xffff) AM_READ(catchall)
ADDRESS_MAP_END
static ADDRESS_MAP_START( suprpokr_map, AS_PROGRAM, 8, gei_state )
diff --git a/src/mame/drivers/geneve.cpp b/src/mame/drivers/geneve.cpp
index 72b42de49fa..98be9cb5b8b 100644
--- a/src/mame/drivers/geneve.cpp
+++ b/src/mame/drivers/geneve.cpp
@@ -305,11 +305,11 @@ ADDRESS_MAP_END
bits are usually routed through the mapper first.
*/
static ADDRESS_MAP_START(crumap, AS_IO, 8, geneve_state)
- AM_RANGE(0x0000, 0x0003) AM_DEVREAD(TI_TMS9901_TAG, tms9901_device, read)
AM_RANGE(0x0000, 0x0fff) AM_READ( cruread )
+ AM_RANGE(0x0000, 0x0003) AM_DEVREAD(TI_TMS9901_TAG, tms9901_device, read)
- AM_RANGE(0x0000, 0x001f) AM_DEVWRITE(TI_TMS9901_TAG, tms9901_device, write)
AM_RANGE(0x0000, 0x7fff) AM_WRITE( cruwrite )
+ AM_RANGE(0x0000, 0x001f) AM_DEVWRITE(TI_TMS9901_TAG, tms9901_device, write)
ADDRESS_MAP_END
/* TI joysticks. The keyboard is implemented in genboard.c. */
diff --git a/src/mame/drivers/gladiatr.cpp b/src/mame/drivers/gladiatr.cpp
index 7e1859e29e7..0627b2058f9 100644
--- a/src/mame/drivers/gladiatr.cpp
+++ b/src/mame/drivers/gladiatr.cpp
@@ -683,8 +683,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( gladiatr_cpu1_io, AS_IO, 8, gladiatr_state )
- AM_RANGE(0xc004, 0xc004) AM_WRITE(gladiatr_irq_patch_w) /* !!! patch to 2nd CPU IRQ !!! */
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
diff --git a/src/mame/drivers/gng.cpp b/src/mame/drivers/gng.cpp
index d2e5edd8d92..3b275df7f8c 100644
--- a/src/mame/drivers/gng.cpp
+++ b/src/mame/drivers/gng.cpp
@@ -108,9 +108,9 @@ static ADDRESS_MAP_START( diamond_map, AS_PROGRAM, 8, gng_state )
AM_RANGE(0x3d01, 0x3d01) AM_WRITENOP // ?
AM_RANGE(0x3e00, 0x3e00) AM_WRITE(gng_bankswitch_w)
AM_RANGE(0x4000, 0x5fff) AM_ROMBANK("bank1")
+ AM_RANGE(0x6000, 0xffff) AM_ROM
AM_RANGE(0x6000, 0x6000) AM_READ(diamond_hack_r)
AM_RANGE(0x6048, 0x6048) AM_WRITENOP // ?
- AM_RANGE(0x6000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/goldstar.cpp b/src/mame/drivers/goldstar.cpp
index dcb805e6e1a..a00121a2c5b 100644
--- a/src/mame/drivers/goldstar.cpp
+++ b/src/mame/drivers/goldstar.cpp
@@ -616,8 +616,8 @@ static ADDRESS_MAP_START( ncb3_map, AS_PROGRAM, 8, cb3_state )
AM_RANGE(0xf800, 0xf803) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write) /* Input Ports */
AM_RANGE(0xf810, 0xf813) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write) /* Input Ports */
- AM_RANGE(0xf822, 0xf822) AM_WRITE(goldstar_fa00_w) // hack (connected to ppi output port?, needed for colour banking)
AM_RANGE(0xf820, 0xf823) AM_DEVREADWRITE("ppi8255_2", i8255_device, read, write) /* Input/Output Ports */
+ AM_RANGE(0xf822, 0xf822) AM_WRITE(goldstar_fa00_w) // hack (connected to ppi output port?, needed for colour banking)
AM_RANGE(0xf830, 0xf830) AM_DEVREADWRITE("aysnd", ay8910_device, data_r, data_w)
AM_RANGE(0xf840, 0xf840) AM_DEVWRITE("aysnd", ay8910_device, address_w)
diff --git a/src/mame/drivers/goodejan.cpp b/src/mame/drivers/goodejan.cpp
index d8b20eee0a6..5adec671d57 100644
--- a/src/mame/drivers/goodejan.cpp
+++ b/src/mame/drivers/goodejan.cpp
@@ -456,13 +456,13 @@ static ADDRESS_MAP_START( common_io_map, AS_IO, 16, goodejan_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( totmejan_io_map, AS_IO, 16, goodejan_state )
- AM_RANGE(0x8000, 0x804f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
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 )
- AM_RANGE(0x8000, 0x807f) AM_DEVREADWRITE_MOD("crtc", seibu_crtc_device, read, write, xor<0x20>)
AM_IMPORT_FROM(common_io_map)
+ AM_RANGE(0x8000, 0x807f) AM_DEVREADWRITE_MOD("crtc", seibu_crtc_device, read, write, xor<0x20>)
ADDRESS_MAP_END
static INPUT_PORTS_START( goodejan )
diff --git a/src/mame/drivers/gstriker.cpp b/src/mame/drivers/gstriker.cpp
index f47ea16b5b0..be9314819a4 100644
--- a/src/mame/drivers/gstriker.cpp
+++ b/src/mame/drivers/gstriker.cpp
@@ -265,8 +265,8 @@ static ADDRESS_MAP_START( twcup94_map, AS_PROGRAM, 16, gstriker_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( gstriker_map, AS_PROGRAM, 16, gstriker_state )
- AM_RANGE(0x200060, 0x200063) AM_DEVREADWRITE8("acia", acia6850_device, read, write, 0x00ff)
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 )
diff --git a/src/mame/drivers/gts1.cpp b/src/mame/drivers/gts1.cpp
index 57f90703d9e..b200e27801b 100644
--- a/src/mame/drivers/gts1.cpp
+++ b/src/mame/drivers/gts1.cpp
@@ -129,12 +129,13 @@ static ADDRESS_MAP_START( gts1_data, AS_DATA, 8, gts1_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( gts1_io, AS_IO, 8, gts1_state )
+ 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
AM_RANGE(0x0030, 0x003f) AM_DEVREADWRITE ( "u3", r10696_device, io_r, io_w ) // (U3) solenoid + dips
AM_RANGE(0x0040, 0x004f) AM_DEVREADWRITE ( "u5", ra17xx_device, io_r, io_w ) // (U5) switch matrix
AM_RANGE(0x0060, 0x006f) AM_DEVREADWRITE ( "u2", r10696_device, io_r, io_w ) // (U2) NVRAM io chip
AM_RANGE(0x00d0, 0x00df) AM_DEVREADWRITE ( "u6", r10788_device, io_r, io_w ) // (U6) display chip
- AM_RANGE(0x0000, 0x00ff) AM_READ ( gts1_io_r ) AM_WRITE( gts1_io_w ) // catch undecoded I/O accesss
ADDRESS_MAP_END
static INPUT_PORTS_START( gts1_dips )
diff --git a/src/mame/drivers/halleys.cpp b/src/mame/drivers/halleys.cpp
index 437b0fbfbbe..9619ae37f2d 100644
--- a/src/mame/drivers/halleys.cpp
+++ b/src/mame/drivers/halleys.cpp
@@ -1637,6 +1637,8 @@ static ADDRESS_MAP_START( halleys_map, AS_PROGRAM, 8, halleys_state )
AM_RANGE(0x1000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xfeff) AM_RAM // work ram
+ AM_RANGE(0xff00, 0xffbf) AM_RAM AM_SHARE("io_ram") // I/O write fall-through
+
AM_RANGE(0xff66, 0xff66) AM_READ(collision_id_r) // HACK: collision detection bypass(Halley's Comet only)
AM_RANGE(0xff71, 0xff71) AM_READ(blitter_status_r)
AM_RANGE(0xff80, 0xff83) AM_READ(io_mirror_r)
@@ -1650,7 +1652,6 @@ static ADDRESS_MAP_START( halleys_map, AS_PROGRAM, 8, halleys_state )
AM_RANGE(0xff96, 0xff96) AM_READ_PORT("DSW2") // dipswitch 3
AM_RANGE(0xff97, 0xff97) AM_READ_PORT("DSW3") // dipswitch 2
AM_RANGE(0xff9c, 0xff9c) AM_WRITE(firq_ack_w)
- AM_RANGE(0xff00, 0xffbf) AM_RAM AM_SHARE("io_ram") // I/O write fall-through
AM_RANGE(0xffc0, 0xffdf) AM_READWRITE(paletteram_r, paletteram_w)
AM_RANGE(0xffe0, 0xffff) AM_READ(vector_r)
diff --git a/src/mame/drivers/harddriv.cpp b/src/mame/drivers/harddriv.cpp
index ac234886bdc..127065898c3 100644
--- a/src/mame/drivers/harddriv.cpp
+++ b/src/mame/drivers/harddriv.cpp
@@ -694,9 +694,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( ds3_data_map, AS_DATA, 16, harddriv_state )
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)
AM_RANGE(0x3800, 0x3bff) AM_RAM /* internal RAM */
AM_RANGE(0x3fe0, 0x3fff) AM_READWRITE(hdds3_control_r, hdds3_control_w) /* adsp control regs */
- AM_RANGE(0x2000, 0x3fff) AM_READWRITE(hdds3_special_r, hdds3_special_w)
ADDRESS_MAP_END
@@ -707,9 +707,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( ds3sdsp_data_map, AS_DATA, 16, harddriv_state )
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 */
AM_RANGE(0x3fe0, 0x3fff) AM_READWRITE(hdds3_sdsp_control_r, hdds3_sdsp_control_w)
- AM_RANGE(0x2000, 0x3fff) AM_READWRITE(hdds3_sdsp_special_r, hdds3_sdsp_special_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/hec2hrp.cpp b/src/mame/drivers/hec2hrp.cpp
index ecb73e3f77e..d4a5e2c17bf 100644
--- a/src/mame/drivers/hec2hrp.cpp
+++ b/src/mame/drivers/hec2hrp.cpp
@@ -121,6 +121,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START(hec2hrp_mem, AS_PROGRAM, 8, hec2hrp_state )
/*****************************************************************************/
ADDRESS_MAP_UNMAP_HIGH
+ /* Main ROM page*/
+ AM_RANGE(0x0000,0x3fff) AM_ROM
+
/* Hardware address mapping*/
AM_RANGE(0x0800,0x0808) AM_WRITE(hector_switch_bank_w)/* Bank management*/
AM_RANGE(0x1000,0x1000) AM_WRITE(hector_color_a_w) /* Color c0/c1*/
@@ -130,9 +133,6 @@ static ADDRESS_MAP_START(hec2hrp_mem, AS_PROGRAM, 8, hec2hrp_state )
AM_RANGE(0x3000,0x3000) AM_READWRITE(hector_cassette_r, hector_sn_3000_w)/* Write necessary*/
AM_RANGE(0x3800,0x3807) AM_READWRITE(hector_keyboard_r, hector_keyboard_w) /* Keyboard*/
- /* Main ROM page*/
- AM_RANGE(0x0000,0x3fff) AM_ROM
-
/* Video br mapping*/
AM_RANGE(0x4000,0x49ff) AM_RAM AM_SHARE("videoram")
/* continous RAM*/
@@ -145,6 +145,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START(hec2hrx_mem, AS_PROGRAM, 8, hec2hrp_state )
/*****************************************************************************/
ADDRESS_MAP_UNMAP_HIGH
+ /* Main ROM page*/
+ AM_RANGE(0x0000,0x3fff) AM_ROMBANK("bank2")
+
/* Hardware address mapping*/
AM_RANGE(0x0800,0x0808) AM_WRITE(hector_switch_bank_w)/* Bank management*/
AM_RANGE(0x1000,0x1000) AM_WRITE(hector_color_a_w) /* Color c0/c1*/
@@ -154,9 +157,6 @@ static ADDRESS_MAP_START(hec2hrx_mem, AS_PROGRAM, 8, hec2hrp_state )
AM_RANGE(0x3000,0x3000) AM_READWRITE(hector_cassette_r, hector_sn_3000_w)/* Write necessary*/
AM_RANGE(0x3800,0x3807) AM_READWRITE(hector_keyboard_r, hector_keyboard_w) /* Keyboard*/
- /* Main ROM page*/
- AM_RANGE(0x0000,0x3fff) AM_ROMBANK("bank2")
-
/* Video br mapping*/
AM_RANGE(0x4000,0x49ff) AM_RAM AM_SHARE("videoram")
/* continous RAM*/
diff --git a/src/mame/drivers/hikaru.cpp b/src/mame/drivers/hikaru.cpp
index 3385ee9639b..5b1aae60e3f 100644
--- a/src/mame/drivers/hikaru.cpp
+++ b/src/mame/drivers/hikaru.cpp
@@ -461,8 +461,8 @@ static ADDRESS_MAP_START( hikaru_map, AS_PROGRAM, 64, hikaru_state )
AM_RANGE(0x14000000, 0x140000ff) AM_NOP // Master/Slave COMM
AM_RANGE(0x14000100, 0x143fffff) AM_RAM // GPU command RAM
AM_RANGE(0x15000000, 0x150000ff) AM_NOP // GPU Regs
- AM_RANGE(0x16001000, 0x163fffff) AM_RAM // ? \ these two overlap [selected by 040000xx = 0x04,0x06,0x40]
AM_RANGE(0x16010000, 0x17ffffff) AM_RAM // Slave Work RAM
+ AM_RANGE(0x16001000, 0x163fffff) AM_RAM // ? \ these two overlap [selected by 040000xx = 0x04,0x06,0x40]
// Area 6
AM_RANGE(0x18001000, 0x1800101f) AM_NOP // unknown
AM_RANGE(0x1a000000, 0x1a000107) AM_NOP // GPU Regs
diff --git a/src/mame/drivers/hitpoker.cpp b/src/mame/drivers/hitpoker.cpp
index 192d699011b..2c26b616c25 100644
--- a/src/mame/drivers/hitpoker.cpp
+++ b/src/mame/drivers/hitpoker.cpp
@@ -256,6 +256,9 @@ READ8_MEMBER(hitpoker_state::test_r)
/* overlap empty rom addresses */
static ADDRESS_MAP_START( hitpoker_map, AS_PROGRAM, 8, hitpoker_state )
+ AM_RANGE(0x0000, 0xbdff) AM_ROM
+ AM_RANGE(0xbf00, 0xffff) AM_ROM
+
AM_RANGE(0x0000, 0x00ff) AM_RAM // stack ram
AM_RANGE(0x1000, 0x103f) AM_RAM // internal I/O
AM_RANGE(0x8000, 0xb5ff) AM_READWRITE(hitpoker_vram_r,hitpoker_vram_w)
@@ -273,8 +276,6 @@ static ADDRESS_MAP_START( hitpoker_map, AS_PROGRAM, 8, hitpoker_state )
// AM_RANGE(0xbe00, 0xbeff) AM_READ(test_r)
AM_RANGE(0xc000, 0xdfff) AM_READWRITE(hitpoker_cram_r,hitpoker_cram_w)
AM_RANGE(0xe000, 0xefff) AM_READWRITE(hitpoker_paletteram_r,hitpoker_paletteram_w)
- AM_RANGE(0x0000, 0xbdff) AM_ROM
- AM_RANGE(0xbf00, 0xffff) AM_ROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( hitpoker_io, AS_IO, 8, hitpoker_state )
diff --git a/src/mame/drivers/hk68v10.cpp b/src/mame/drivers/hk68v10.cpp
index ea86b7440fd..c4839a669c3 100644
--- a/src/mame/drivers/hk68v10.cpp
+++ b/src/mame/drivers/hk68v10.cpp
@@ -223,8 +223,8 @@ required_device<scc8530_device> m_sccterm;
static ADDRESS_MAP_START (hk68v10_mem, AS_PROGRAM, 16, hk68v10_state)
ADDRESS_MAP_UNMAP_HIGH
-AM_RANGE (0x000000, 0x000007) AM_ROM AM_READ (bootvect_r) /* ROM mirror just durin reset */
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 */
AM_RANGE (0x000008, 0x1fffff) AM_RAM /* 2 Mb RAM */
AM_RANGE (0xFC0000, 0xFC3fff) AM_ROM /* System EPROM Area 16Kb HBUG */
AM_RANGE (0xFC4000, 0xFDffff) AM_ROM /* System EPROM Area an additional 112Kb for System ROM */
diff --git a/src/mame/drivers/hp9k_3xx.cpp b/src/mame/drivers/hp9k_3xx.cpp
index 4ced239b26a..48b372651dd 100644
--- a/src/mame/drivers/hp9k_3xx.cpp
+++ b/src/mame/drivers/hp9k_3xx.cpp
@@ -206,57 +206,57 @@ ADDRESS_MAP_END
// 9000/320
static ADDRESS_MAP_START(hp9k320_map, AS_PROGRAM, 32, hp9k3xx_state)
+ AM_IMPORT_FROM(hp9k3xx_common)
+
AM_RANGE(0xffe00000, 0xffefffff) AM_READWRITE(buserror_r, buserror_w)
AM_RANGE(0xfff00000, 0xffffffff) AM_RAM
-
- AM_IMPORT_FROM(hp9k3xx_common)
ADDRESS_MAP_END
// 9000/330 and 9000/340
static ADDRESS_MAP_START(hp9k330_map, AS_PROGRAM, 32, hp9k3xx_state)
+ AM_IMPORT_FROM(hp9k3xx_common)
+
AM_RANGE(0xffb00000, 0xffbfffff) AM_READWRITE(buserror_r, buserror_w)
AM_RANGE(0xffc00000, 0xffffffff) AM_RAM
-
- AM_IMPORT_FROM(hp9k3xx_common)
ADDRESS_MAP_END
// 9000/332, with built-in medium-res video
static ADDRESS_MAP_START(hp9k332_map, AS_PROGRAM, 32, hp9k3xx_state)
+ AM_IMPORT_FROM(hp9k3xx_common)
+
AM_RANGE(0x00200000, 0x002fffff) AM_RAM AM_SHARE("vram") // 98544 mono framebuffer
AM_RANGE(0x00560000, 0x00563fff) AM_ROM AM_REGION("graphics", 0x0000) // 98544 mono ROM
AM_RANGE(0xffb00000, 0xffbfffff) AM_READWRITE(buserror_r, buserror_w)
AM_RANGE(0xffc00000, 0xffffffff) AM_RAM
-
- AM_IMPORT_FROM(hp9k3xx_common)
ADDRESS_MAP_END
// 9000/370 - 8 MB RAM standard
static ADDRESS_MAP_START(hp9k370_map, AS_PROGRAM, 32, hp9k3xx_state)
+ AM_IMPORT_FROM(hp9k3xx_common)
+
AM_RANGE(0xff700000, 0xff7fffff) AM_READWRITE(buserror_r, buserror_w)
AM_RANGE(0xff800000, 0xffffffff) AM_RAM
-
- AM_IMPORT_FROM(hp9k3xx_common)
ADDRESS_MAP_END
// 9000/380 - '040
static ADDRESS_MAP_START(hp9k380_map, AS_PROGRAM, 32, hp9k3xx_state)
+ AM_IMPORT_FROM(hp9k3xx_common)
+
AM_RANGE(0x0051a000, 0x0051afff) AM_READWRITE(buserror_r, buserror_w) // no "Alpha display"
AM_RANGE(0xc0000000, 0xff7fffff) AM_READWRITE(buserror_r, buserror_w)
AM_RANGE(0xff800000, 0xffffffff) AM_RAM
-
- AM_IMPORT_FROM(hp9k3xx_common)
ADDRESS_MAP_END
// 9000/382 - onboard VGA compatible video (where?)
static ADDRESS_MAP_START(hp9k382_map, AS_PROGRAM, 32, hp9k3xx_state)
+ AM_IMPORT_FROM(hp9k3xx_common)
+
AM_RANGE(0xffb00000, 0xffbfffff) AM_READWRITE(buserror_r, buserror_w)
AM_RANGE(0xffc00000, 0xffffffff) AM_RAM
AM_RANGE(0x0051a000, 0x0051afff) AM_READWRITE(buserror_r, buserror_w) // no "Alpha display"
-
- AM_IMPORT_FROM(hp9k3xx_common)
ADDRESS_MAP_END
static ADDRESS_MAP_START(iocpu_map, AS_PROGRAM, 8, hp9k3xx_state)
diff --git a/src/mame/drivers/hp_ipc.cpp b/src/mame/drivers/hp_ipc.cpp
index 97c2c0e7b1b..edbf1688da3 100644
--- a/src/mame/drivers/hp_ipc.cpp
+++ b/src/mame/drivers/hp_ipc.cpp
@@ -467,6 +467,9 @@ static ADDRESS_MAP_START(hp_ipc_mem_outer, AS_PROGRAM, 16, hp_ipc_state)
ADDRESS_MAP_END
static ADDRESS_MAP_START(hp_ipc_mem_inner, AS_PROGRAM, 16, hp_ipc_state)
+// bus error handler
+ AM_RANGE(0x0000000, 0x1FFFFFF) AM_READWRITE(trap_r, trap_w)
+
// user mode
AM_RANGE(0x1000000, 0x17FFFFF) AM_READWRITE(ram_r, ram_w)
AM_RANGE(0x1800000, 0x187FFFF) AM_ROM AM_REGION("maincpu", 0)
@@ -490,8 +493,6 @@ static ADDRESS_MAP_START(hp_ipc_mem_inner, AS_PROGRAM, 16, hp_ipc_state)
AM_RANGE(0x0700000, 0x07FFFFF) AM_UNMAP // External I/O
AM_RANGE(0x0800000, 0x0FFFFFF) AM_READWRITE(ram_r, ram_w)
-// bus error handler
- AM_RANGE(0x0000000, 0x1FFFFFF) AM_READWRITE(trap_r, trap_w)
ADDRESS_MAP_END
static INPUT_PORTS_START(hp_ipc)
diff --git a/src/mame/drivers/hvyunit.cpp b/src/mame/drivers/hvyunit.cpp
index 89a29cc5ec1..d7e7b5f9b34 100644
--- a/src/mame/drivers/hvyunit.cpp
+++ b/src/mame/drivers/hvyunit.cpp
@@ -402,9 +402,9 @@ static ADDRESS_MAP_START( slave_memory, AS_PROGRAM, 8, hvyunit_state )
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("slave_bank")
AM_RANGE(0xc000, 0xc3ff) AM_RAM_WRITE(hu_videoram_w) AM_SHARE("videoram")
AM_RANGE(0xc400, 0xc7ff) AM_RAM_WRITE(hu_colorram_w) AM_SHARE("colorram")
+ AM_RANGE(0xd000, 0xdfff) AM_RAM
AM_RANGE(0xd000, 0xd1ff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0xd800, 0xd9ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
- AM_RANGE(0xd000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("share1")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ibmpcjr.cpp b/src/mame/drivers/ibmpcjr.cpp
index 19ec0b84f6d..949a62c7d90 100644
--- a/src/mame/drivers/ibmpcjr.cpp
+++ b/src/mame/drivers/ibmpcjr.cpp
@@ -573,8 +573,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START(ibmpcjx_io, AS_IO, 8, pcjr_state)
ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE(0x01ff, 0x01ff) AM_READWRITE(pcjx_port_1ff_r, pcjx_port_1ff_w)
AM_IMPORT_FROM( ibmpcjr_io )
+ AM_RANGE(0x01ff, 0x01ff) AM_READWRITE(pcjx_port_1ff_r, pcjx_port_1ff_w)
ADDRESS_MAP_END
MACHINE_CONFIG_START(pcjr_state::ibmpcjr)
diff --git a/src/mame/drivers/igs011.cpp b/src/mame/drivers/igs011.cpp
index 84d0a9ff44f..3ba75ffac14 100644
--- a/src/mame/drivers/igs011.cpp
+++ b/src/mame/drivers/igs011.cpp
@@ -2589,6 +2589,8 @@ static ADDRESS_MAP_START( drgnwrld, AS_PROGRAM, 16, igs011_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( drgnwrld_igs012, AS_PROGRAM, 16, igs011_state )
+ AM_IMPORT_FROM(drgnwrld)
+
// IGS012
AM_RANGE( 0x001600, 0x00160f ) AM_WRITE(igs012_prot_swap_w ) AM_MIRROR(0x01c000) // swap (a5 / 55)
AM_RANGE( 0x001610, 0x00161f ) AM_READ(igs012_prot_r ) AM_MIRROR(0x01c000) // read (mode 0)
@@ -2606,8 +2608,6 @@ static ADDRESS_MAP_START( drgnwrld_igs012, AS_PROGRAM, 16, igs011_state )
AM_RANGE( 0x902000, 0x902fff ) AM_WRITE(igs012_prot_reset_w ) // reset?
// AM_RANGE( 0x902000, 0x902005 ) AM_WRITE(igs012_prot_fake_r )
-
- AM_IMPORT_FROM(drgnwrld)
ADDRESS_MAP_END
@@ -2632,6 +2632,8 @@ WRITE16_MEMBER(igs011_state::lhb_okibank_w)
}
static ADDRESS_MAP_START( lhb, AS_PROGRAM, 16, igs011_state )
+ AM_RANGE( 0x000000, 0x07ffff ) AM_ROM
+
// lhb: IGS011 protection dynamically mapped at 834x
// AM_RANGE( 0x008340, 0x008347 ) AM_WRITE(igs011_prot1_w )
// AM_RANGE( 0x008348, 0x008349 ) AM_READ ( igs011_prot1_r )
@@ -2643,7 +2645,6 @@ static ADDRESS_MAP_START( lhb, AS_PROGRAM, 16, igs011_state )
AM_RANGE( 0x010600, 0x0107ff ) AM_READ(lhb_igs011_prot2_r )
// no reset
- AM_RANGE( 0x000000, 0x07ffff ) AM_ROM
AM_RANGE( 0x100000, 0x103fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x200000, 0x200fff ) AM_RAM AM_SHARE("priority_ram")
AM_RANGE( 0x300000, 0x3fffff ) AM_READWRITE(igs011_layers_r, igs011_layers_w )
@@ -2672,6 +2673,8 @@ static ADDRESS_MAP_START( lhb, AS_PROGRAM, 16, igs011_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( xymg, AS_PROGRAM, 16, igs011_state )
+ AM_RANGE( 0x000000, 0x07ffff ) AM_ROM
+
// xymg: IGS011 protection dynamically mapped at 834x
// AM_RANGE( 0x008340, 0x008347 ) AM_WRITE(igs011_prot1_w )
// AM_RANGE( 0x008348, 0x008349 ) AM_READ ( igs011_prot1_r )
@@ -2683,7 +2686,6 @@ static ADDRESS_MAP_START( xymg, AS_PROGRAM, 16, igs011_state )
AM_RANGE( 0x010600, 0x0107ff ) AM_READ(lhb_igs011_prot2_r ) // read
// no reset
- AM_RANGE( 0x000000, 0x07ffff ) AM_ROM
AM_RANGE( 0x100000, 0x103fff ) AM_RAM
AM_RANGE( 0x1f0000, 0x1f3fff ) AM_RAM AM_SHARE("nvram") // extra ram
AM_RANGE( 0x200000, 0x200fff ) AM_RAM AM_SHARE("priority_ram")
@@ -2750,6 +2752,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( lhb2, AS_PROGRAM, 16, igs011_state )
+ AM_RANGE( 0x000000, 0x07ffff ) AM_ROM
+
// lhb2: IGS011 protection dynamically mapped at 1ff8x
// AM_RANGE( 0x01ff80, 0x01ff87 ) AM_WRITE(igs011_prot1_w )
// AM_RANGE( 0x01ff88, 0x01ff89 ) AM_READ ( igs011_prot1_r )
@@ -2759,7 +2763,6 @@ static ADDRESS_MAP_START( lhb2, AS_PROGRAM, 16, igs011_state )
AM_RANGE( 0x020400, 0x0205ff ) AM_READ(lhb2_igs011_prot2_r ) // read
AM_RANGE( 0x020600, 0x0207ff ) AM_WRITE(igs011_prot2_reset_w ) // reset (55)
- AM_RANGE( 0x000000, 0x07ffff ) AM_ROM
AM_RANGE( 0x100000, 0x103fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x200000, 0x200001 ) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff )
AM_RANGE( 0x204000, 0x204003 ) AM_DEVWRITE8("ymsnd", ym2413_device, write, 0x00ff)
@@ -2790,6 +2793,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( nkishusp, AS_PROGRAM, 16, igs011_state )
+ AM_RANGE( 0x000000, 0x07ffff ) AM_ROM
+
// nkishusp: IGS011 protection dynamically mapped at 1ff8x
// AM_RANGE( 0x01ff80, 0x01ff87 ) AM_WRITE(igs011_prot1_w )
// AM_RANGE( 0x01ff88, 0x01ff89 ) AM_READ ( igs011_prot1_r )
@@ -2800,7 +2805,6 @@ static ADDRESS_MAP_START( nkishusp, AS_PROGRAM, 16, igs011_state )
AM_RANGE( 0x023400, 0x0235ff ) AM_READ(lhb2_igs011_prot2_r ) // read
AM_RANGE( 0x023600, 0x0237ff ) AM_WRITE(igs011_prot2_reset_w ) // reset (55)
- AM_RANGE( 0x000000, 0x07ffff ) AM_ROM
AM_RANGE( 0x100000, 0x103fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x200000, 0x200001 ) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff )
AM_RANGE( 0x204000, 0x204003 ) AM_DEVWRITE8("ymsnd", ym2413_device, write, 0x00ff)
@@ -2893,6 +2897,8 @@ 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 )
+ AM_RANGE( 0x000000, 0x07ffff ) AM_ROM
+
// vbowl: IGS011 protection dynamically mapped at 834x
// AM_RANGE( 0x008340, 0x008347 ) AM_WRITE(igs011_prot1_w )
// AM_RANGE( 0x008348, 0x008349 ) AM_READ(igs011_prot1_r )
@@ -2920,7 +2926,6 @@ static ADDRESS_MAP_START( vbowl, AS_PROGRAM, 16, igs011_state )
AM_RANGE( 0x902000, 0x902fff ) AM_WRITE(igs012_prot_reset_w ) // reset?
// AM_RANGE( 0x902000, 0x902005 ) AM_WRITE(igs012_prot_fake_r )
- AM_RANGE( 0x000000, 0x07ffff ) AM_ROM
AM_RANGE( 0x100000, 0x103fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x200000, 0x200fff ) AM_RAM AM_SHARE("priority_ram")
AM_RANGE( 0x300000, 0x3fffff ) AM_READWRITE(igs011_layers_r, igs011_layers_w )
@@ -2962,9 +2967,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( vbowlhk, AS_PROGRAM, 16, igs011_state )
+ AM_IMPORT_FROM(vbowl)
AM_RANGE( 0x800000, 0x800003 ) AM_WRITE(vbowlhk_igs003_w )
AM_RANGE( 0x50f600, 0x50f7ff ) AM_READ(vbowlhk_igs011_prot2_r ) // read
- AM_IMPORT_FROM(vbowl)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/igs017.cpp b/src/mame/drivers/igs017.cpp
index a1cdf3773dc..a99b9ea94df 100644
--- a/src/mame/drivers/igs017.cpp
+++ b/src/mame/drivers/igs017.cpp
@@ -1186,10 +1186,10 @@ READ8_MEMBER(igs017_state::input_r)
}
static ADDRESS_MAP_START( iqblocka_io, AS_IO, 8, igs017_state )
- AM_RANGE( 0x0000, 0x003f ) AM_RAM // internal regs
-
AM_RANGE( 0x0000, 0x7fff ) AM_DEVREADWRITE("igs017_igs031", igs017_igs031_device, read,write)
+ AM_RANGE( 0x0000, 0x003f ) AM_RAM // internal regs
+
AM_RANGE( 0x8000, 0x8000 ) AM_WRITE(input_select_w )
AM_RANGE( 0x8001, 0x8001 ) AM_READ(input_r )
@@ -1728,10 +1728,9 @@ static ADDRESS_MAP_START( tjsb_map, AS_PROGRAM, 8, igs017_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( tjsb_io, AS_IO, 8, igs017_state )
- AM_RANGE( 0x0000, 0x003f ) AM_RAM // internal regs
-
AM_RANGE( 0x0000, 0x7fff ) AM_DEVREADWRITE("igs017_igs031", igs017_igs031_device, read,write)
+ AM_RANGE( 0x0000, 0x003f ) AM_RAM // internal regs
AM_RANGE( 0x9000, 0x9000 ) AM_DEVREADWRITE("oki", okim6295_device, read, write)
@@ -1744,8 +1743,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( spkrform_map, AS_PROGRAM, 8, igs017_state )
AM_RANGE( 0x00000, 0x0dfff ) AM_ROM
- AM_RANGE( 0x0e9bf, 0x0e9bf ) AM_NOP // hack: uncomment to switch to Formosa
AM_RANGE( 0x0e000, 0x0efff ) AM_RAM
+ AM_RANGE( 0x0e9bf, 0x0e9bf ) AM_NOP // hack: uncomment to switch to Formosa
AM_RANGE( 0x0f000, 0x0ffff ) AM_RAM
AM_RANGE( 0x10000, 0x3ffff ) AM_ROM
ADDRESS_MAP_END
@@ -1769,10 +1768,10 @@ READ8_MEMBER(igs017_state::spkrform_input_r)
}
static ADDRESS_MAP_START( spkrform_io, AS_IO, 8, igs017_state )
- AM_RANGE( 0x0000, 0x003f ) AM_RAM // internal regs
-
AM_RANGE( 0x0000, 0x7fff ) AM_DEVREADWRITE("igs017_igs031", igs017_igs031_device, read,write)
+ AM_RANGE( 0x0000, 0x003f ) AM_RAM // internal regs
+
AM_RANGE( 0x8000, 0x8000 ) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE( 0x9000, 0x9001 ) AM_DEVWRITE("ymsnd", ym2413_device, write)
@@ -1852,7 +1851,7 @@ static ADDRESS_MAP_START( lhzb2, AS_PROGRAM, 16, igs017_state )
AM_RANGE(0x910000, 0x910003) AM_WRITE( lhzb2_magic_w )
AM_RANGE(0x910002, 0x910003) AM_READ( lhzb2_magic_r )
- AM_RANGE( 0xb00000, 0xb0ffff ) AM_DEVREADWRITE8("igs017_igs031", igs017_igs031_device, read,write, 0x00ff)
+ AM_RANGE(0xb00000, 0xb0ffff) AM_DEVREADWRITE8("igs017_igs031", igs017_igs031_device, read,write, 0x00ff)
AM_RANGE(0xb10000, 0xb10001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff )
ADDRESS_MAP_END
@@ -2159,17 +2158,18 @@ WRITE16_MEMBER(igs017_state::lhzb2a_input_select_w)
}
static ADDRESS_MAP_START( lhzb2a, AS_PROGRAM, 16, igs017_state )
+ AM_RANGE(0x000000, 0x07ffff) AM_ROM
+
// prot2
AM_RANGE(0x003200, 0x003201) AM_WRITE( lhzb2a_prot2_reset_w )
AM_RANGE(0x003202, 0x003203) AM_WRITE( lhzb2a_prot2_dec_w )
AM_RANGE(0x003206, 0x003207) AM_WRITE( lhzb2a_prot2_inc_w )
AM_RANGE(0x00320a, 0x00320b) AM_READ( lhzb2a_prot2_r )
- AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x500000, 0x503fff) AM_RAM
// AM_RANGE(0x910000, 0x910003) accesses appear to be from leftover code where the final checks were disabled
- AM_RANGE( 0xb00000, 0xb0ffff ) AM_DEVREADWRITE8("igs017_igs031", igs017_igs031_device, read,write, 0x00ff)
+ AM_RANGE(0xb00000, 0xb0ffff) AM_DEVREADWRITE8("igs017_igs031", igs017_igs031_device, read,write, 0x00ff)
AM_RANGE(0xb10000, 0xb10001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff )
AM_RANGE(0xb12000, 0xb12001) AM_WRITE( lhzb2a_input_select_w )
diff --git a/src/mame/drivers/igspoker.cpp b/src/mame/drivers/igspoker.cpp
index 4314af21ef3..3541a18efc3 100644
--- a/src/mame/drivers/igspoker.cpp
+++ b/src/mame/drivers/igspoker.cpp
@@ -385,6 +385,7 @@ static ADDRESS_MAP_START( igspoker_prg_map, AS_PROGRAM, 8, igspoker_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( igspoker_io_map, AS_IO, 8, igspoker_state )
+ AM_RANGE(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")
AM_RANGE(0x4000, 0x4000) AM_READ_PORT("DSW1") /* DSW1 */
@@ -401,7 +402,6 @@ static ADDRESS_MAP_START( igspoker_io_map, AS_IO, 8, igspoker_state )
AM_RANGE(0x6800, 0x6fff) AM_RAM_WRITE(bg_tile_w ) AM_SHARE("bg_tile_ram")
AM_RANGE(0x7000, 0x77ff) AM_RAM_WRITE(fg_tile_w ) AM_SHARE("fg_tile_ram")
AM_RANGE(0x7800, 0x7fff) AM_RAM_WRITE(fg_color_w ) AM_SHARE("fg_color_ram")
- AM_RANGE(0x0000, 0xffff) AM_READ(exp_rom_r )
ADDRESS_MAP_END
@@ -1137,6 +1137,7 @@ INPUT_PORTS_END
static ADDRESS_MAP_START( number10_io_map, AS_IO, 8, igspoker_state )
+ 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")
AM_RANGE(0x4000, 0x4000) AM_READ_PORT("DSW1") /* DSW1 */
@@ -1156,10 +1157,10 @@ static ADDRESS_MAP_START( number10_io_map, AS_IO, 8, igspoker_state )
AM_RANGE(0x50c0, 0x50c0) AM_READ(igs_irqack_r) AM_WRITE(igs_irqack_w)
AM_RANGE(0x7000, 0x77ff) AM_RAM_WRITE(fg_tile_w ) AM_SHARE("fg_tile_ram")
AM_RANGE(0x7800, 0x7fff) AM_RAM_WRITE(fg_color_w ) AM_SHARE("fg_color_ram")
- AM_RANGE(0x0000, 0xffff) AM_READ(exp_rom_r )
ADDRESS_MAP_END
static ADDRESS_MAP_START( cpokerpk_io_map, AS_IO, 8, igspoker_state )
+ 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")
AM_RANGE(0x4000, 0x4000) AM_READ_PORT("DSW1") /* DSW1 */
@@ -1178,7 +1179,6 @@ static ADDRESS_MAP_START( cpokerpk_io_map, AS_IO, 8, igspoker_state )
AM_RANGE(0x50c0, 0x50c0) AM_READ(igs_irqack_r) AM_WRITE(igs_irqack_w)
AM_RANGE(0x7000, 0x77ff) AM_RAM_WRITE(fg_tile_w ) AM_SHARE("fg_tile_ram")
AM_RANGE(0x7800, 0x7fff) AM_RAM_WRITE(fg_color_w ) AM_SHARE("fg_color_ram")
- AM_RANGE(0x0000, 0xffff) AM_READ(exp_rom_r )
ADDRESS_MAP_END
static INPUT_PORTS_START( number10 )
diff --git a/src/mame/drivers/interact.cpp b/src/mame/drivers/interact.cpp
index 8f1f742a27e..86ec90e7887 100644
--- a/src/mame/drivers/interact.cpp
+++ b/src/mame/drivers/interact.cpp
@@ -83,6 +83,10 @@ public:
static ADDRESS_MAP_START(interact_mem, AS_PROGRAM, 8, interact_state )
ADDRESS_MAP_UNMAP_HIGH
+ /* Main ROM page*/
+ AM_RANGE(0x0000,0x3fff) AM_ROM /*BANK(2)*/
+ /* AM_RANGE(0x1000,0x3fff) AM_RAM*/
+
/* Hardware address mapping*/
/* AM_RANGE(0x0800,0x0808) AM_WRITE(hector_switch_bank_w)// Bank management not udsed in BR machine*/
AM_RANGE(0x1000,0x1000) AM_WRITE(hector_color_a_w) /* Color c0/c1*/
@@ -92,10 +96,6 @@ static ADDRESS_MAP_START(interact_mem, AS_PROGRAM, 8, interact_state )
AM_RANGE(0x3000,0x3000) AM_READWRITE(hector_cassette_r, hector_sn_3000_w)/* Write necessary*/
AM_RANGE(0x3800,0x3807) AM_READWRITE(hector_keyboard_r, hector_keyboard_w) /* Keyboard*/
- /* Main ROM page*/
- AM_RANGE(0x0000,0x3fff) AM_ROM /*BANK(2)*/
- /* AM_RANGE(0x1000,0x3fff) AM_RAM*/
-
/* Video br mapping*/
AM_RANGE(0x4000,0x49ff) AM_RAM AM_SHARE("videoram")
/* continous RAM*/
diff --git a/src/mame/drivers/interpro.cpp b/src/mame/drivers/interpro.cpp
index 5e4a0e3f27d..ac44985b1ea 100644
--- a/src/mame/drivers/interpro.cpp
+++ b/src/mame/drivers/interpro.cpp
@@ -379,48 +379,48 @@ static ADDRESS_MAP_START(interpro_common_map, 0, 32, interpro_state)
ADDRESS_MAP_END
static ADDRESS_MAP_START(turquoise_base_map, 0, 32, turquoise_state)
+ 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_IMPORT_FROM(interpro_common_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START(turquoise_main_map, 0, 32, turquoise_state)
+ 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)
-
- AM_IMPORT_FROM(turquoise_base_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START(sapphire_base_map, 0, 32, sapphire_state)
+ 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_IMPORT_FROM(interpro_common_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START(sapphire_main_map, 0, 32, sapphire_state)
+ AM_IMPORT_FROM(sapphire_base_map)
+
AM_RANGE(0x00000000, 0x00ffffff) AM_RAM AM_SHARE(RAM_TAG)
AM_RANGE(0x7f100000, 0x7f11ffff) AM_ROM AM_REGION(INTERPRO_EPROM_TAG, 0)
AM_RANGE(0x7f180000, 0x7f1fffff) AM_DEVREADWRITE8(INTERPRO_FLASH_TAG "_lo", intel_28f010_device, read, write, 0x00ff00ff) AM_MASK(0x3ffff)
AM_RANGE(0x7f180000, 0x7f1fffff) AM_DEVREADWRITE8(INTERPRO_FLASH_TAG "_hi", intel_28f010_device, read, write, 0xff00ff00) AM_MASK(0x3ffff)
-
- AM_IMPORT_FROM(sapphire_base_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START(turquoise_io_map, 1, 32, interpro_state)
+ AM_IMPORT_FROM(turquoise_base_map)
+
AM_RANGE(0x00000800, 0x000009ff) AM_DEVICE(INTERPRO_MMU_TAG "_d", cammu_c3_device, map)
AM_RANGE(0x00000a00, 0x00000bff) AM_DEVICE(INTERPRO_MMU_TAG "_i", cammu_c3_device, map)
AM_RANGE(0x00000c00, 0x00000dff) AM_DEVICE(INTERPRO_MMU_TAG "_d", cammu_c3_device, map_global)
-
- AM_IMPORT_FROM(turquoise_base_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START(sapphire_io_map, 1, 32, interpro_state)
- AM_RANGE(0x00000000, 0x00001fff) AM_DEVICE(INTERPRO_MMU_TAG, cammu_c4_device, 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)
diff --git a/src/mame/drivers/iq151.cpp b/src/mame/drivers/iq151.cpp
index 1541796a93b..de14d02f6f7 100644
--- a/src/mame/drivers/iq151.cpp
+++ b/src/mame/drivers/iq151.cpp
@@ -206,21 +206,21 @@ WRITE8_MEMBER(iq151_state::cartslot_io_w)
static ADDRESS_MAP_START(iq151_mem, AS_PROGRAM, 8, iq151_state)
ADDRESS_MAP_UNMAP_HIGH
+ AM_RANGE( 0x0000, 0xffff ) AM_READWRITE(cartslot_r, cartslot_w)
+
AM_RANGE( 0x0000, 0x07ff ) AM_RAMBANK("boot")
AM_RANGE( 0x0800, 0x7fff ) AM_RAM
AM_RANGE( 0xf000, 0xffff ) AM_ROM
-
- AM_RANGE( 0x0000, 0xffff ) AM_READWRITE(cartslot_r, cartslot_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START(iq151_io, AS_IO, 8, iq151_state)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
+ AM_RANGE( 0x00, 0xff ) AM_READWRITE(cartslot_io_r, cartslot_io_w)
+
AM_RANGE( 0x80, 0x80 ) AM_WRITE(boot_bank_w)
AM_RANGE( 0x84, 0x87 ) AM_DEVREADWRITE("ppi8255", i8255_device, read, write)
AM_RANGE( 0x88, 0x89 ) AM_DEVREADWRITE("pic8259", pic8259_device, read, write)
-
- AM_RANGE( 0x00, 0xff ) AM_READWRITE(cartslot_io_r, cartslot_io_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ironhors.cpp b/src/mame/drivers/ironhors.cpp
index a4ce8c816e0..268ca757210 100644
--- a/src/mame/drivers/ironhors.cpp
+++ b/src/mame/drivers/ironhors.cpp
@@ -99,11 +99,12 @@ static ADDRESS_MAP_START( slave_io_map, AS_IO, 8, ironhors_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( farwest_master_map, AS_PROGRAM, 8, ironhors_state )
+ AM_RANGE(0x0000, 0x1bff) AM_ROM
+
AM_RANGE(0x0000, 0x0002) AM_RAM
//20=31db
AM_RANGE(0x0005, 0x001f) AM_RAM
- AM_RANGE(0x31db, 0x31fa) AM_RAM AM_SHARE("scroll")
AM_RANGE(0x0040, 0x005f) AM_RAM
AM_RANGE(0x0060, 0x00ff) AM_RAM
AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
@@ -120,13 +121,13 @@ static ADDRESS_MAP_START( farwest_master_map, AS_PROGRAM, 8, ironhors_state )
AM_RANGE(0x1a00, 0x1a00) AM_RAM AM_SHARE("int_enable")
AM_RANGE(0x1a01, 0x1a01) AM_RAM_WRITE(charbank_w)
AM_RANGE(0x1a02, 0x1a02) AM_WRITE(palettebank_w)
- AM_RANGE(0x0000, 0x1bff) AM_ROM
// AM_RANGE(0x1c00, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x23ff) AM_RAM_WRITE(colorram_w) AM_SHARE("colorram")
AM_RANGE(0x2400, 0x27ff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
AM_RANGE(0x2800, 0x2fff) AM_RAM
AM_RANGE(0x1c00, 0x1dff) AM_RAM AM_SHARE("spriteram2")
AM_RANGE(0x3000, 0x38ff) AM_RAM
+ AM_RANGE(0x31db, 0x31fa) AM_RAM AM_SHARE("scroll")
AM_RANGE(0x1e00, 0x1eff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x3900, 0x3fff) AM_RAM
AM_RANGE(0x4000, 0xffff) AM_ROM
diff --git a/src/mame/drivers/isbc.cpp b/src/mame/drivers/isbc.cpp
index e82e956028e..e7c08bd2fa7 100644
--- a/src/mame/drivers/isbc.cpp
+++ b/src/mame/drivers/isbc.cpp
@@ -135,15 +135,15 @@ static ADDRESS_MAP_START(rpc86_io, AS_IO, 16, isbc_state)
ADDRESS_MAP_END
static ADDRESS_MAP_START(isbc8605_io, AS_IO, 16, isbc_state)
- AM_RANGE(0x0000, 0x002f) AM_DEVICE8("isbc_208", isbc_208_device, map, 0xffff)
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)
+ 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)
- AM_IMPORT_FROM(rpc86_io)
ADDRESS_MAP_END
static ADDRESS_MAP_START(isbc86_mem, AS_PROGRAM, 16, isbc_state)
diff --git a/src/mame/drivers/itech32.cpp b/src/mame/drivers/itech32.cpp
index 2185dbf1caa..9c82fe70029 100644
--- a/src/mame/drivers/itech32.cpp
+++ b/src/mame/drivers/itech32.cpp
@@ -973,11 +973,11 @@ WRITE32_MEMBER(itech32_state::test2_w)
#endif
static ADDRESS_MAP_START( drivedge_map, AS_PROGRAM, 32, itech32_state )
+ 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)
AM_RANGE(0x000c00, 0x007fff) AM_MIRROR(0x40000) AM_READWRITE(test2_r, test2_w)
#endif
- AM_RANGE(0x000000, 0x03ffff) AM_MIRROR(0x40000) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x080000, 0x080003) AM_READ_PORT("80000")
AM_RANGE(0x082000, 0x082003) AM_READ_PORT("82000")
AM_RANGE(0x084000, 0x084003) AM_READWRITE(sound_data32_r, sound_data32_w)
diff --git a/src/mame/drivers/jack.cpp b/src/mame/drivers/jack.cpp
index eba0daac0a8..8969cad7dd6 100644
--- a/src/mame/drivers/jack.cpp
+++ b/src/mame/drivers/jack.cpp
@@ -200,9 +200,9 @@ static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, jack_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( striv_map, AS_PROGRAM, 8, jack_state )
+ AM_IMPORT_FROM( jack_map )
AM_RANGE(0xb000, 0xb0ff) AM_WRITENOP
AM_RANGE(0xc000, 0xcfff) AM_READ(striv_question_r)
- AM_IMPORT_FROM( jack_map )
ADDRESS_MAP_END
@@ -224,8 +224,8 @@ static ADDRESS_MAP_START( joinem_map, AS_PROGRAM, 8, jack_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( unclepoo_map, AS_PROGRAM, 8, jack_state )
- AM_RANGE(0x9000, 0x97ff) AM_RAM
AM_IMPORT_FROM( joinem_map )
+ AM_RANGE(0x9000, 0x97ff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/joctronic.cpp b/src/mame/drivers/joctronic.cpp
index 7b59c8af40e..91274f0cc39 100644
--- a/src/mame/drivers/joctronic.cpp
+++ b/src/mame/drivers/joctronic.cpp
@@ -197,8 +197,8 @@ WRITE8_MEMBER(joctronic_state::bldyrolr_unknown_w)
}
static ADDRESS_MAP_START( bldyrolr_maincpu_map, AS_PROGRAM, 8, joctronic_state )
- AM_RANGE(0xc000, 0xc000) AM_READWRITE(bldyrolr_unknown_r, bldyrolr_unknown_w)
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 )
diff --git a/src/mame/drivers/kc.cpp b/src/mame/drivers/kc.cpp
index 7c25414948a..348693bafa4 100644
--- a/src/mame/drivers/kc.cpp
+++ b/src/mame/drivers/kc.cpp
@@ -24,12 +24,12 @@
static ADDRESS_MAP_START(kc85_4_io, AS_IO, 8, kc85_4_state)
ADDRESS_MAP_UNMAP_HIGH
+ AM_RANGE(0x0000, 0xffff) AM_READWRITE(expansion_io_read, expansion_io_write)
+
AM_RANGE(0x0084, 0x0085) AM_MIRROR(0xff00) AM_READWRITE(kc85_4_84_r, kc85_4_84_w)
AM_RANGE(0x0086, 0x0087) AM_MIRROR(0xff00) AM_READWRITE(kc85_4_86_r, kc85_4_86_w)
AM_RANGE(0x0088, 0x008b) AM_MIRROR(0xff00) AM_DEVREADWRITE("z80pio", z80pio_device, read, write)
AM_RANGE(0x008c, 0x008f) AM_MIRROR(0xff00) AM_DEVREADWRITE("z80ctc", z80ctc_device, read, write)
-
- AM_RANGE(0x0000, 0xffff) AM_READWRITE(expansion_io_read, expansion_io_write)
ADDRESS_MAP_END
static ADDRESS_MAP_START(kc85_4_mem, AS_PROGRAM, 8, kc85_4_state)
@@ -53,10 +53,10 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START(kc85_3_io, AS_IO, 8, kc_state)
ADDRESS_MAP_UNMAP_HIGH
+ AM_RANGE(0x0000, 0xffff) AM_READWRITE(expansion_io_read, expansion_io_write)
+
AM_RANGE(0x0088, 0x008b) AM_MIRROR(0xff00) AM_DEVREADWRITE("z80pio", z80pio_device, read, write)
AM_RANGE(0x008c, 0x008f) AM_MIRROR(0xff00) AM_DEVREADWRITE("z80ctc", z80ctc_device, read, write)
-
- AM_RANGE(0x0000, 0xffff) AM_READWRITE(expansion_io_read, expansion_io_write)
ADDRESS_MAP_END
static INPUT_PORTS_START( kc85 )
diff --git a/src/mame/drivers/konamigx.cpp b/src/mame/drivers/konamigx.cpp
index 9464695deb3..ec6e292a3bb 100644
--- a/src/mame/drivers/konamigx.cpp
+++ b/src/mame/drivers/konamigx.cpp
@@ -1014,6 +1014,7 @@ static ADDRESS_MAP_START( gx_base_memmap, AS_PROGRAM, 32, konamigx_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( gx_type1_map, AS_PROGRAM, 32, konamigx_state )
+ AM_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)
AM_RANGE(0xdd0000, 0xdd00ff) AM_READNOP AM_WRITENOP // LAN board
@@ -1029,16 +1030,16 @@ static ADDRESS_MAP_START( gx_type1_map, AS_PROGRAM, 32, konamigx_state )
AM_RANGE(0xf40000, 0xf7ffff) AM_READ(type1_roz_r2) // ROM readback
AM_RANGE(0xf80000, 0xf80fff) AM_RAM // chip 21Q / S
AM_RANGE(0xfc0000, 0xfc00ff) AM_RAM // chip 22N / S
- AM_IMPORT_FROM(gx_base_memmap)
ADDRESS_MAP_END
static ADDRESS_MAP_START( gx_type2_map, AS_PROGRAM, 32, konamigx_state )
+ 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")
- AM_IMPORT_FROM(gx_base_memmap)
ADDRESS_MAP_END
static ADDRESS_MAP_START( gx_type3_map, AS_PROGRAM, 32, konamigx_state )
+ AM_IMPORT_FROM(gx_base_memmap)
AM_RANGE(0xd90000, 0xd97fff) AM_RAM
//AM_RANGE(0xcc0000, 0xcc0007) AM_WRITE(type4_prot_w)
AM_RANGE(0xe00000, 0xe0001f) AM_RAM AM_SHARE("k053936_0_ctrl")
@@ -1049,10 +1050,10 @@ static ADDRESS_MAP_START( gx_type3_map, AS_PROGRAM, 32, konamigx_state )
AM_RANGE(0xea0000, 0xea3fff) AM_RAM AM_SHARE("subpaletteram")
AM_RANGE(0xec0000, 0xec0003) AM_READ(type3_sync_r)
//AM_RANGE(0xf00000, 0xf07fff) AM_RAM
- AM_IMPORT_FROM(gx_base_memmap)
ADDRESS_MAP_END
static ADDRESS_MAP_START( gx_type4_map, AS_PROGRAM, 32, konamigx_state )
+ AM_IMPORT_FROM(gx_base_memmap)
AM_RANGE(0xcc0000, 0xcc0007) AM_WRITE(type4_prot_w)
AM_RANGE(0xd90000, 0xd97fff) AM_RAM
AM_RANGE(0xe00000, 0xe0001f) AM_RAM AM_SHARE("k053936_0_ctrl")
@@ -1064,7 +1065,6 @@ static ADDRESS_MAP_START( gx_type4_map, AS_PROGRAM, 32, konamigx_state )
AM_RANGE(0xec0000, 0xec0003) AM_READ(type3_sync_r) // type 4 polls this too
AM_RANGE(0xf00000, 0xf07fff) AM_RAM_WRITE(konamigx_t4_psacmap_w) AM_SHARE("psacram") // PSAC2 tilemap
// AM_RANGE(0xf00000, 0xf07fff) AM_RAM
- AM_IMPORT_FROM(gx_base_memmap)
ADDRESS_MAP_END
/**********************************************************************************/
diff --git a/src/mame/drivers/kyugo.cpp b/src/mame/drivers/kyugo.cpp
index 516014f829a..a6e36adc364 100644
--- a/src/mame/drivers/kyugo.cpp
+++ b/src/mame/drivers/kyugo.cpp
@@ -54,8 +54,8 @@ static ADDRESS_MAP_START( kyugo_main_map, AS_PROGRAM, 8, kyugo_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( gyrodine_main_map, AS_PROGRAM, 8, kyugo_state )
- AM_RANGE(0xe000, 0xe000) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_IMPORT_FROM(kyugo_main_map)
+ AM_RANGE(0xe000, 0xe000) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/lbeach.cpp b/src/mame/drivers/lbeach.cpp
index efb2112cc77..66dfe1ab6f7 100644
--- a/src/mame/drivers/lbeach.cpp
+++ b/src/mame/drivers/lbeach.cpp
@@ -217,8 +217,8 @@ READ8_MEMBER(lbeach_state::lbeach_in2_r)
static ADDRESS_MAP_START( lbeach_map, AS_PROGRAM, 8, lbeach_state )
AM_RANGE(0x0000, 0x00ff) AM_RAM AM_SHARE("nvram")
- AM_RANGE(0x4000, 0x4000) AM_READ(lbeach_in1_r)
AM_RANGE(0x4000, 0x41ff) AM_RAM_WRITE(lbeach_bg_vram_w) AM_SHARE("bg_vram")
+ AM_RANGE(0x4000, 0x4000) AM_READ(lbeach_in1_r)
AM_RANGE(0x4200, 0x43ff) AM_RAM
AM_RANGE(0x4400, 0x47ff) AM_RAM_WRITE(lbeach_fg_vram_w) AM_SHARE("fg_vram")
AM_RANGE(0x8000, 0x8000) AM_READ(lbeach_in2_r)
diff --git a/src/mame/drivers/lethal.cpp b/src/mame/drivers/lethal.cpp
index 591a4fb5a37..23853413c22 100644
--- a/src/mame/drivers/lethal.cpp
+++ b/src/mame/drivers/lethal.cpp
@@ -343,6 +343,8 @@ READ8_MEMBER(lethal_state::gunsaux_r)
static ADDRESS_MAP_START( le_main, AS_PROGRAM, 8, lethal_state )
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)
+ AM_RANGE(0x4000, 0x43ff) AM_UNMAP // first 0x400 bytes of palette RAM are inaccessible
AM_RANGE(0x4000, 0x403f) AM_DEVWRITE("k056832", k056832_device, write)
AM_RANGE(0x4040, 0x404f) AM_DEVWRITE("k056832", k056832_device, b_w)
AM_RANGE(0x4080, 0x4080) AM_READNOP // watchdog
@@ -355,8 +357,6 @@ static ADDRESS_MAP_START( le_main, AS_PROGRAM, 8, lethal_state )
AM_RANGE(0x40d9, 0x40d9) AM_READ_PORT("INPUTS")
AM_RANGE(0x40db, 0x40db) AM_READ(gunsaux_r) // top X bit of guns
AM_RANGE(0x40dc, 0x40dc) AM_WRITE(le_bankswitch_w)
- AM_RANGE(0x4000, 0x43ff) AM_UNMAP // first 0x400 bytes of palette RAM are inaccessible
- AM_RANGE(0x4000, 0x7fff) AM_DEVICE("bank4000", address_map_bank_device, amap8)
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("maincpu", 0x38000)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/liberate.cpp b/src/mame/drivers/liberate.cpp
index 04343e22be9..5410ba93f91 100644
--- a/src/mame/drivers/liberate.cpp
+++ b/src/mame/drivers/liberate.cpp
@@ -241,17 +241,17 @@ WRITE8_MEMBER(liberate_state::prosport_charram_w)
*************************************/
static ADDRESS_MAP_START( prosport_map, AS_PROGRAM, 8, liberate_state )
- AM_RANGE(0x0200, 0x021f) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
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")
AM_RANGE(0x0800, 0x1fff) AM_READWRITE(prosport_charram_r,prosport_charram_w) //0x1e00-0x1fff isn't charram!
AM_RANGE(0x2400, 0x2fff) AM_RAM
AM_RANGE(0x3000, 0x33ff) AM_RAM_WRITE(liberate_colorram_w) AM_SHARE("colorram")
AM_RANGE(0x3400, 0x37ff) AM_RAM_WRITE(liberate_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x3800, 0x3fff) AM_RAM AM_SHARE("spriteram")
+ AM_RANGE(0x4000, 0xffff) AM_ROM
AM_RANGE(0x8000, 0x800f) AM_WRITE(prosport_io_w)
AM_RANGE(0x8000, 0x800f) AM_ROMBANK("bank1")
- AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( liberate_map, AS_PROGRAM, 8, liberate_state )
@@ -262,9 +262,9 @@ static ADDRESS_MAP_START( liberate_map, AS_PROGRAM, 8, liberate_state )
AM_RANGE(0x4400, 0x47ff) AM_WRITE(liberate_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x4800, 0x4fff) AM_WRITEONLY AM_SHARE("spriteram")
AM_RANGE(0x6200, 0x67ff) AM_WRITEONLY AM_SHARE("scratchram")
+ AM_RANGE(0x8000, 0xffff) AM_ROM
AM_RANGE(0x8000, 0x800f) AM_WRITE(deco16_io_w)
AM_RANGE(0x8000, 0x800f) AM_ROMBANK("bank1")
- AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, liberate_state )
@@ -295,8 +295,8 @@ static ADDRESS_MAP_START( prosoccr_io_map, AS_IO, 8, liberate_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( liberatb_map, AS_PROGRAM, 8, liberate_state )
- AM_RANGE(0x00fe, 0x00fe) AM_READ_PORT("IN0")
AM_RANGE(0x0000, 0x0fff) AM_RAM
+ AM_RANGE(0x00fe, 0x00fe) AM_READ_PORT("IN0")
AM_RANGE(0x1000, 0x3fff) AM_ROM /* Mirror of main rom */
AM_RANGE(0x4000, 0x7fff) AM_READ(deco16_bank_r)
AM_RANGE(0x4000, 0x43ff) AM_WRITE(liberate_colorram_w) AM_SHARE("colorram")
diff --git a/src/mame/drivers/liberatr.cpp b/src/mame/drivers/liberatr.cpp
index 2a12b3639a2..f79479c8a02 100644
--- a/src/mame/drivers/liberatr.cpp
+++ b/src/mame/drivers/liberatr.cpp
@@ -284,10 +284,10 @@ WRITE8_MEMBER( liberatr_state::earom_control_w )
*************************************/
static ADDRESS_MAP_START( liberatr_map, AS_PROGRAM, 8, liberatr_state )
+ 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")
AM_RANGE(0x0002, 0x0002) AM_READWRITE(bitmap_xy_r, bitmap_xy_w)
- AM_RANGE(0x0000, 0x3fff) AM_RAM_WRITE(bitmap_w) AM_SHARE("bitmapram") /* overlapping for my convenience */
AM_RANGE(0x4000, 0x403f) AM_READ(earom_r)
AM_RANGE(0x5000, 0x5000) AM_READ(port0_r)
AM_RANGE(0x5001, 0x5001) AM_READ_PORT("IN1")
@@ -314,10 +314,10 @@ ADDRESS_MAP_END
*************************************/
static ADDRESS_MAP_START( liberat2_map, AS_PROGRAM, 8, liberatr_state )
+ 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")
AM_RANGE(0x0002, 0x0002) AM_READWRITE(bitmap_xy_r, bitmap_xy_w)
- AM_RANGE(0x0000, 0x3fff) AM_RAM_WRITE(bitmap_w) AM_SHARE("bitmapram") /* overlapping for my convenience */
AM_RANGE(0x4000, 0x4000) AM_READ(port0_r)
AM_RANGE(0x4001, 0x4001) AM_READ_PORT("IN1")
AM_RANGE(0x4000, 0x400f) AM_WRITEONLY AM_SHARE("base_ram")
diff --git a/src/mame/drivers/luckgrln.cpp b/src/mame/drivers/luckgrln.cpp
index 49c89b15f1b..3a3d5ef7df4 100644
--- a/src/mame/drivers/luckgrln.cpp
+++ b/src/mame/drivers/luckgrln.cpp
@@ -430,8 +430,8 @@ static ADDRESS_MAP_START( mainmap, AS_PROGRAM, 8, luckgrln_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( _7smash_map, AS_PROGRAM, 8, luckgrln_state )
- AM_RANGE(0x00000, 0x0bfff) AM_ROM
AM_IMPORT_FROM( mainmap )
+ AM_RANGE(0x00000, 0x0bfff) AM_ROM
AM_RANGE(0x10000, 0x2ffff) AM_UNMAP
AM_RANGE(0xf0000, 0xfffff) AM_UNMAP
ADDRESS_MAP_END
@@ -636,8 +636,8 @@ READ8_MEMBER(luckgrln_state::test_r)
}
static ADDRESS_MAP_START( _7smash_io, AS_IO, 8, luckgrln_state )
- AM_RANGE(0x66, 0x66) AM_READ(test_r)
AM_IMPORT_FROM( portmap )
+ AM_RANGE(0x66, 0x66) AM_READ(test_r)
ADDRESS_MAP_END
static INPUT_PORTS_START( luckgrln )
diff --git a/src/mame/drivers/m107.cpp b/src/mame/drivers/m107.cpp
index 5544de48bf2..93b77f3f8a6 100644
--- a/src/mame/drivers/m107.cpp
+++ b/src/mame/drivers/m107.cpp
@@ -124,8 +124,8 @@ static ADDRESS_MAP_START( main_portmap, AS_IO, 16, m107_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( dsoccr94_io_map, AS_IO, 16, m107_state )
- AM_RANGE(0x06, 0x07) AM_WRITE8(bankswitch_w, 0x00ff)
AM_IMPORT_FROM(main_portmap)
+ AM_RANGE(0x06, 0x07) AM_WRITE8(bankswitch_w, 0x00ff)
ADDRESS_MAP_END
/* same as M107 but with an extra i/o board */
@@ -140,17 +140,17 @@ WRITE16_MEMBER(m107_state::wpksoc_output_w)
}
static ADDRESS_MAP_START( wpksoc_map, AS_PROGRAM, 16, m107_state )
+ 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")
- AM_IMPORT_FROM(main_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START( wpksoc_io_map, AS_IO, 16, m107_state )
+ AM_IMPORT_FROM(main_portmap)
AM_RANGE(0x22, 0x23) AM_WRITE(wpksoc_output_w)
AM_RANGE(0xc0, 0xc1) AM_READ_PORT("WPK_IN0")
AM_RANGE(0xc2, 0xc3) AM_READ_PORT("WPK_IN1")
- AM_IMPORT_FROM(main_portmap)
ADDRESS_MAP_END
/******************************************************************************/
diff --git a/src/mame/drivers/m24.cpp b/src/mame/drivers/m24.cpp
index fa53d1af21d..4fd958cd694 100644
--- a/src/mame/drivers/m24.cpp
+++ b/src/mame/drivers/m24.cpp
@@ -179,10 +179,10 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START(m24_io, AS_IO, 16, m24_state )
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)
AM_RANGE(0x0066, 0x0067) AM_READ_PORT("DSW0")
AM_RANGE(0x0070, 0x007f) AM_DEVREADWRITE8("mm58174an", mm58274c_device, read, write, 0xffff)
- AM_RANGE(0x0000, 0x00ff) AM_DEVICE8("mb", pc_noppi_mb_device, map, 0xffff)
AM_RANGE(0x80c0, 0x80c1) AM_DEVREADWRITE8("z8000_apb", m24_z8000_device, handshake_r, handshake_w, 0xff00)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/m62.cpp b/src/mame/drivers/m62.cpp
index ba037561a02..770e791a53f 100644
--- a/src/mame/drivers/m62.cpp
+++ b/src/mame/drivers/m62.cpp
@@ -247,8 +247,8 @@ static ADDRESS_MAP_START( ldrun3_map, AS_PROGRAM, 8, m62_state )
AM_RANGE(0xcc00, 0xcc00) AM_READ(ldrun3_prot_7_r)
AM_RANGE(0xcfff, 0xcfff) AM_READ(ldrun3_prot_7_r)
AM_RANGE(0xc000, 0xc0ff) AM_WRITEONLY AM_SHARE("spriteram")
- AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(m62_tileram_w) AM_SHARE("m62_tileram")
AM_RANGE(0xd000, 0xefff) AM_RAM
+ 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 )
diff --git a/src/mame/drivers/m63.cpp b/src/mame/drivers/m63.cpp
index dcf430117c5..564809ba135 100644
--- a/src/mame/drivers/m63.cpp
+++ b/src/mame/drivers/m63.cpp
@@ -502,8 +502,8 @@ static ADDRESS_MAP_START( fghtbskt_map, AS_PROGRAM, 8, m63_state )
AM_RANGE(0xf000, 0xf000) AM_WRITE(snd_irq_w)
AM_RANGE(0xf001, 0xf001) AM_WRITENOP
AM_RANGE(0xf002, 0xf002) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
- AM_RANGE(0xf807, 0xf807) AM_WRITE(fghtbskt_samples_w) // FIXME
AM_RANGE(0xf800, 0xf807) AM_DEVWRITE("outlatch", ls259_device, write_d0)
+ AM_RANGE(0xf807, 0xf807) AM_WRITE(fghtbskt_samples_w) // FIXME
ADDRESS_MAP_END
static ADDRESS_MAP_START( i8039_map, AS_PROGRAM, 8, m63_state )
diff --git a/src/mame/drivers/mainevt.cpp b/src/mame/drivers/mainevt.cpp
index 1ee9491de5c..28ff1543770 100644
--- a/src/mame/drivers/mainevt.cpp
+++ b/src/mame/drivers/mainevt.cpp
@@ -155,6 +155,8 @@ WRITE8_MEMBER(mainevt_state::k052109_051960_w)
static ADDRESS_MAP_START( mainevt_map, AS_PROGRAM, 8, mainevt_state )
+ AM_RANGE(0x0000, 0x3fff) AM_READWRITE(k052109_051960_r, k052109_051960_w)
+
AM_RANGE(0x1f80, 0x1f80) AM_WRITE(mainevt_bankswitch_w)
AM_RANGE(0x1f84, 0x1f84) AM_DEVWRITE("soundlatch", generic_latch_8_device, write) /* probably */
AM_RANGE(0x1f88, 0x1f88) AM_WRITE(mainevt_sh_irqtrigger_w) /* probably */
@@ -170,8 +172,6 @@ static ADDRESS_MAP_START( mainevt_map, AS_PROGRAM, 8, mainevt_state )
AM_RANGE(0x1f9a, 0x1f9a) AM_READ_PORT("P4")
AM_RANGE(0x1f9b, 0x1f9b) AM_READ_PORT("DSW2")
- AM_RANGE(0x0000, 0x3fff) AM_READWRITE(k052109_051960_r, k052109_051960_w)
-
AM_RANGE(0x4000, 0x5dff) AM_RAM
AM_RANGE(0x5e00, 0x5fff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("rombank")
@@ -180,11 +180,12 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( devstors_map, AS_PROGRAM, 8, mainevt_state )
+ AM_RANGE(0x0000, 0x3fff) AM_READWRITE(k052109_051960_r, k052109_051960_w)
+
AM_RANGE(0x1f80, 0x1f80) AM_WRITE(mainevt_bankswitch_w)
AM_RANGE(0x1f84, 0x1f84) AM_DEVWRITE("soundlatch", generic_latch_8_device, write) /* probably */
AM_RANGE(0x1f88, 0x1f88) AM_WRITE(mainevt_sh_irqtrigger_w) /* probably */
AM_RANGE(0x1f90, 0x1f90) AM_WRITE(mainevt_coin_w) /* coin counters + lamps */
- AM_RANGE(0x1fb2, 0x1fb2) AM_WRITE(dv_nmienable_w)
AM_RANGE(0x1f94, 0x1f94) AM_READ_PORT("SYSTEM")
AM_RANGE(0x1f95, 0x1f95) AM_READ_PORT("P1")
@@ -193,8 +194,7 @@ static ADDRESS_MAP_START( devstors_map, AS_PROGRAM, 8, mainevt_state )
AM_RANGE(0x1f98, 0x1f98) AM_READ_PORT("DSW3")
AM_RANGE(0x1f9b, 0x1f9b) AM_READ_PORT("DSW2")
AM_RANGE(0x1fa0, 0x1fbf) AM_DEVREADWRITE("k051733", k051733_device, read, write)
-
- AM_RANGE(0x0000, 0x3fff) AM_READWRITE(k052109_051960_r, k052109_051960_w)
+ AM_RANGE(0x1fb2, 0x1fb2) AM_WRITE(dv_nmienable_w)
AM_RANGE(0x4000, 0x5dff) AM_RAM
AM_RANGE(0x5e00, 0x5fff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
diff --git a/src/mame/drivers/malzak.cpp b/src/mame/drivers/malzak.cpp
index 7a5174d608c..d175f90bffc 100644
--- a/src/mame/drivers/malzak.cpp
+++ b/src/mame/drivers/malzak.cpp
@@ -107,8 +107,8 @@ static ADDRESS_MAP_START( malzak_map, AS_PROGRAM, 8, malzak_state )
AM_RANGE(0x1100, 0x11ff) AM_MIRROR(0x6000) AM_RAM
AM_RANGE(0x1200, 0x12ff) AM_MIRROR(0x6000) AM_RAM
AM_RANGE(0x1300, 0x13ff) AM_MIRROR(0x6000) AM_RAM
- AM_RANGE(0x14cb, 0x14cb) AM_MIRROR(0x6000) AM_READ(fake_VRLE_r)
AM_RANGE(0x1400, 0x14ff) AM_MIRROR(0x6000) AM_DEVREADWRITE("s2636_0", s2636_device, read_data, write_data)
+ AM_RANGE(0x14cb, 0x14cb) AM_MIRROR(0x6000) AM_READ(fake_VRLE_r)
AM_RANGE(0x1500, 0x15ff) AM_MIRROR(0x6000) AM_DEVREADWRITE("s2636_1", s2636_device, read_data, write_data)
AM_RANGE(0x1600, 0x16ff) AM_MIRROR(0x6000) AM_RAM_WRITE(malzak_playfield_w)
AM_RANGE(0x1700, 0x17ff) AM_MIRROR(0x6000) AM_RAM
@@ -127,9 +127,9 @@ static ADDRESS_MAP_START( malzak2_map, AS_PROGRAM, 8, malzak_state )
AM_RANGE(0x1100, 0x11ff) AM_MIRROR(0x6000) AM_RAM
AM_RANGE(0x1200, 0x12ff) AM_MIRROR(0x6000) AM_RAM
AM_RANGE(0x1300, 0x13ff) AM_MIRROR(0x6000) AM_RAM
+ AM_RANGE(0x1400, 0x14ff) AM_MIRROR(0x6000) AM_DEVREADWRITE("s2636_0", s2636_device, read_data, write_data)
AM_RANGE(0x14cb, 0x14cb) AM_MIRROR(0x6000) AM_READ(fake_VRLE_r)
AM_RANGE(0x14cc, 0x14cc) AM_MIRROR(0x6000) AM_READ(s2636_portA_r)
- AM_RANGE(0x1400, 0x14ff) AM_MIRROR(0x6000) AM_DEVREADWRITE("s2636_0", s2636_device, read_data, write_data)
AM_RANGE(0x1500, 0x15ff) AM_MIRROR(0x6000) AM_DEVREADWRITE("s2636_1", s2636_device, read_data, write_data)
AM_RANGE(0x1600, 0x16ff) AM_MIRROR(0x6000) AM_RAM_WRITE(malzak_playfield_w)
AM_RANGE(0x1700, 0x17ff) AM_MIRROR(0x6000) AM_RAM AM_SHARE("nvram")
diff --git a/src/mame/drivers/mazerbla.cpp b/src/mame/drivers/mazerbla.cpp
index 47d419a3f2b..8d688222daa 100644
--- a/src/mame/drivers/mazerbla.cpp
+++ b/src/mame/drivers/mazerbla.cpp
@@ -527,8 +527,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( greatgun_cpu3_io_map, AS_IO, 8, mazerbla_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x05, 0x05) AM_DEVWRITE("vcu", mb_vcu_device, vbank_clear_w)
AM_IMPORT_FROM( mazerbla_cpu3_io_map )
+ AM_RANGE(0x05, 0x05) AM_DEVWRITE("vcu", mb_vcu_device, vbank_clear_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mediagx.cpp b/src/mame/drivers/mediagx.cpp
index 7490094dfb5..3e463fcf16d 100644
--- a/src/mame/drivers/mediagx.cpp
+++ b/src/mame/drivers/mediagx.cpp
@@ -758,8 +758,8 @@ static ADDRESS_MAP_START( mediagx_map, AS_PROGRAM, 32, mediagx_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START(mediagx_io, AS_IO, 32, mediagx_state )
- AM_RANGE(0x0020, 0x0023) AM_READWRITE8(io20_r, io20_w, 0xffff0000)
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
AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE("ide", ide_controller_32_device, read_cs0, write_cs0)
AM_RANGE(0x0378, 0x037b) AM_READWRITE(parallel_port_r, parallel_port_w)
diff --git a/src/mame/drivers/megaphx.cpp b/src/mame/drivers/megaphx.cpp
index 5c7b803f6d6..e33cc0492f0 100644
--- a/src/mame/drivers/megaphx.cpp
+++ b/src/mame/drivers/megaphx.cpp
@@ -128,8 +128,8 @@ private:
static ADDRESS_MAP_START( megaphx_68k_map, AS_PROGRAM, 16, megaphx_state )
- AM_RANGE(0x000000, 0x0013ff) AM_RAM AM_SHARE("mainram") // maps over part of the rom??
AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_REGION("roms67", 0x00000) // or the rom doesn't map here? it contains the service mode grid amongst other things..
+ AM_RANGE(0x000000, 0x0013ff) 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)
AM_RANGE(0x050000, 0x050001) AM_DEVWRITE("inder_sb", inder_sb_device, megaphx_0x050000_w)
AM_RANGE(0x050002, 0x050003) AM_DEVREAD("inder_sb", inder_sb_device, megaphx_0x050002_r)
diff --git a/src/mame/drivers/megasys1.cpp b/src/mame/drivers/megasys1.cpp
index a04d54faf7d..4e01d16c7b6 100644
--- a/src/mame/drivers/megasys1.cpp
+++ b/src/mame/drivers/megasys1.cpp
@@ -221,13 +221,13 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( megasys1A_map, AS_PROGRAM, 16, megasys1_state )
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 */
AM_RANGE(0x084000, 0x084001) AM_WRITE(active_layers_w)
AM_RANGE(0x084008, 0x08400d) AM_DEVWRITE("scroll2", megasys1_tilemap_device, scroll_w)
AM_RANGE(0x084100, 0x084101) AM_READWRITE(sprite_flag_r, sprite_flag_w)
AM_RANGE(0x084308, 0x084309) AM_WRITE(soundlatch_w)
AM_RANGE(0x098000, 0x09bfff) AM_RAM_DEVWRITE("scroll2", megasys1_tilemap_device, write) AM_SHARE("scroll2")
- AM_IMPORT_FROM(megasys1Z_map)
ADDRESS_MAP_END
/***************************************************************************
@@ -321,17 +321,18 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( megasys1B_edfbl_map, AS_PROGRAM, 16, megasys1_state )
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
+ AM_IMPORT_FROM(megasys1B_map)
AM_RANGE(0x0e0002, 0x0e0003) AM_READ_PORT("SYSTEM")
AM_RANGE(0x0e0004, 0x0e0005) AM_READ_PORT("P1")
AM_RANGE(0x0e0006, 0x0e0007) AM_READ_PORT("P2")
AM_RANGE(0x0e0008, 0x0e0009) AM_READ_PORT("DSW1")
AM_RANGE(0x0e000a, 0x0e000b) AM_READ_PORT("DSW2")
//AM_RANGE(0x0e000e, 0x0e000f) AM_WRITE(soundlatch_w)
- AM_IMPORT_FROM(megasys1B_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START( megasys1B_monkelf_map, AS_PROGRAM, 16, megasys1_state )
ADDRESS_MAP_GLOBAL_MASK(0xfffff)
+ AM_IMPORT_FROM(megasys1B_map)
AM_RANGE(0x044200, 0x044205) AM_WRITE(monkelf_scroll0_w)
AM_RANGE(0x044208, 0x04420d) AM_WRITE(monkelf_scroll1_w)
AM_RANGE(0x0e0002, 0x0e0003) AM_READ_PORT("P1")
@@ -339,7 +340,6 @@ static ADDRESS_MAP_START( megasys1B_monkelf_map, AS_PROGRAM, 16, megasys1_state
AM_RANGE(0x0e0006, 0x0e0007) AM_READ_PORT("DSW1")
AM_RANGE(0x0e0008, 0x0e0009) AM_READ_PORT("DSW2")
AM_RANGE(0x0e000a, 0x0e000b) AM_READ_PORT("SYSTEM")
- AM_IMPORT_FROM(megasys1B_map)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mephisto.cpp b/src/mame/drivers/mephisto.cpp
index f24ed79a2d4..3fb219146d6 100644
--- a/src/mame/drivers/mephisto.cpp
+++ b/src/mame/drivers/mephisto.cpp
@@ -222,8 +222,8 @@ WRITE8_MEMBER( mephisto_state::write_led_mm2 )
static ADDRESS_MAP_START( rebel5_mem, AS_PROGRAM, 8, mephisto_state )
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, 0x3007) AM_READ(read_keys) // Rebel 5.0
AM_RANGE( 0x3000, 0x4000) AM_DEVREAD("board", mephisto_board_device, input_r)
+ AM_RANGE( 0x3000, 0x3007) AM_READ(read_keys) // Rebel 5.0
AM_RANGE( 0x5000, 0x5000) AM_WRITE(write_lcd)
AM_RANGE( 0x6000, 0x6000) AM_DEVWRITE("board", mephisto_board_device, led_w)
AM_RANGE( 0x7000, 0x7000) AM_DEVWRITE("board", mephisto_board_device, mux_w)
diff --git a/src/mame/drivers/merit.cpp b/src/mame/drivers/merit.cpp
index 8a9afad9a5d..48a16fa9c73 100644
--- a/src/mame/drivers/merit.cpp
+++ b/src/mame/drivers/merit.cpp
@@ -431,8 +431,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( misdraw_map, AS_PROGRAM, 8, merit_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0xb000, 0xb7ff) AM_RAM AM_SHARE("cpunvram") // overlays other NVRAM? or is it banked?
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?
AM_RANGE(0xc004, 0xc007) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write) // swapped compared to other set?
AM_RANGE(0xc008, 0xc00b) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write)
AM_RANGE(0xe000, 0xe000) AM_DEVWRITE("crtc", mc6845_device, address_w)
diff --git a/src/mame/drivers/metro.cpp b/src/mame/drivers/metro.cpp
index dd2847b3de6..54265af6bdd 100644
--- a/src/mame/drivers/metro.cpp
+++ b/src/mame/drivers/metro.cpp
@@ -1222,9 +1222,9 @@ static ADDRESS_MAP_START( puzzlet_map, AS_PROGRAM, 16, metro_state )
AM_RANGE(0x580000, 0x580003) AM_DEVWRITE8("ymsnd", ym2413_device, write, 0xff00)
// TODO: !!! i4300 !!!
+ AM_RANGE(0x700000, 0x77ffff) AM_DEVICE("vdp2", imagetek_i4220_device, v2_map)
AM_RANGE(0x7788a2, 0x7788a3) AM_WRITE(metro_irq_cause_w) // IRQ Cause
AM_RANGE(0x7788a4, 0x7788a5) AM_WRITE(puzzlet_irq_enable_w) AM_SHARE("irq_enable") // IRQ Enable
- AM_RANGE(0x700000, 0x77ffff) AM_DEVICE("vdp2", imagetek_i4220_device, v2_map)
AM_RANGE(0x7f2000, 0x7f3fff) AM_RAM
diff --git a/src/mame/drivers/microterm.cpp b/src/mame/drivers/microterm.cpp
index 281d6361608..d2e8fb88300 100644
--- a/src/mame/drivers/microterm.cpp
+++ b/src/mame/drivers/microterm.cpp
@@ -49,8 +49,8 @@ static ADDRESS_MAP_START( mt420_mem_map, AS_PROGRAM, 8, microterm_state )
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
- AM_RANGE(0xeff8, 0xefff) AM_DEVREADWRITE("avdc", scn2674_device, read, write)
AM_RANGE(0xe000, 0xefff) AM_RAM
+ AM_RANGE(0xeff8, 0xefff) AM_DEVREADWRITE("avdc", scn2674_device, read, write)
AM_RANGE(0xf000, 0xf7ff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mmodular.cpp b/src/mame/drivers/mmodular.cpp
index 85d10356c1a..0bea946e5c0 100644
--- a/src/mame/drivers/mmodular.cpp
+++ b/src/mame/drivers/mmodular.cpp
@@ -95,13 +95,13 @@ static ADDRESS_MAP_START(alm16_mem, AS_PROGRAM, 16, mmodular_state)
ADDRESS_MAP_END
static ADDRESS_MAP_START(van16_mem, AS_PROGRAM, 16, mmodular_state)
+ AM_IMPORT_FROM(alm16_mem)
+
AM_RANGE( 0x000000, 0x03ffff ) AM_ROM
// AM_RANGE( 0xe80004, 0xe80005 ) AM_WRITE(write_unknown2 ) // Bavaria sensors
// AM_RANGE( 0xe80002, 0xe80003 ) AM_READ(read_unknown1 ) // Bavaria sensors
// AM_RANGE( 0xe80006, 0xe80007 ) AM_READ(read_unknown3 ) // Bavaria sensors
-
- AM_IMPORT_FROM(alm16_mem)
ADDRESS_MAP_END
static ADDRESS_MAP_START(alm32_mem, AS_PROGRAM, 32, mmodular_state)
@@ -122,13 +122,13 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START(van32_mem, AS_PROGRAM, 32, mmodular_state)
+ AM_IMPORT_FROM(alm32_mem)
+
AM_RANGE( 0x00000000, 0x0003ffff ) AM_ROM
// AM_RANGE( 0x98000008, 0x9800000b ) AM_WRITE(write_unknown2 ) // Bavaria sensors
// AM_RANGE( 0x98000004, 0x98000007 ) AM_READ(read_unknown1 ) // Bavaria sensors
// AM_RANGE( 0x9800000c, 0x9800000f ) AM_READ(read_unknown3 ) // Bavaria sensors
-
- AM_IMPORT_FROM(alm32_mem)
ADDRESS_MAP_END
static ADDRESS_MAP_START(gen32_mem, AS_PROGRAM, 32, mmodular_state)
diff --git a/src/mame/drivers/model2.cpp b/src/mame/drivers/model2.cpp
index 8bf46b1fb54..1e63a551030 100644
--- a/src/mame/drivers/model2.cpp
+++ b/src/mame/drivers/model2.cpp
@@ -1537,6 +1537,8 @@ READ8_MEMBER(model2_state::model2o_in_r)
/* original Model 2 overrides */
static ADDRESS_MAP_START( model2o_mem, AS_PROGRAM, 32, model2_state )
+ AM_IMPORT_FROM(model2_base_mem)
+
AM_RANGE(0x00200000, 0x0021ffff) AM_RAM
AM_RANGE(0x00220000, 0x0023ffff) AM_ROM AM_REGION("maincpu", 0x20000)
@@ -1559,8 +1561,6 @@ static ADDRESS_MAP_START( model2o_mem, AS_PROGRAM, 32, model2_state )
AM_RANGE(0x01c00110, 0x01c00113) AM_READ8(virtuacop_lightgun_offscreen_r, 0x00ff00ff)
AM_RANGE(0x01c00200, 0x01c002ff) AM_RAM AM_SHARE("backup2")
AM_RANGE(0x01c80000, 0x01c80003) AM_READWRITE(model2_serial_r, model2_serial_w)
-
- AM_IMPORT_FROM(model2_base_mem)
ADDRESS_MAP_END
/* TODO: read by Sonic the Fighters (bit 1), unknown purpose */
@@ -1574,6 +1574,8 @@ READ32_MEMBER(model2_state::copro_status_r)
/* 2A-CRX overrides */
static ADDRESS_MAP_START( model2a_crx_mem, AS_PROGRAM, 32, model2_state )
+ AM_IMPORT_FROM(model2_base_mem)
+
AM_RANGE(0x00200000, 0x0023ffff) AM_RAM
AM_RANGE(0x00804000, 0x00807fff) AM_READWRITE(geo_prg_r, geo_prg_w)
@@ -1597,12 +1599,12 @@ static ADDRESS_MAP_START( model2a_crx_mem, AS_PROGRAM, 32, model2_state )
AM_RANGE(0x01c0001c, 0x01c0001f) AM_WRITE(analog_2b_w)
AM_RANGE(0x01c00040, 0x01c00043) AM_WRITENOP
AM_RANGE(0x01c80000, 0x01c80003) AM_READWRITE(model2_serial_r, model2_serial_w)
-
- AM_IMPORT_FROM(model2_base_mem)
ADDRESS_MAP_END
/* 2B-CRX overrides */
static ADDRESS_MAP_START( model2b_crx_mem, AS_PROGRAM, 32, model2_state )
+ AM_IMPORT_FROM(model2_base_mem)
+
AM_RANGE(0x00200000, 0x0023ffff) AM_RAM
AM_RANGE(0x00804000, 0x00807fff) AM_READWRITE(geo_prg_r, geo_prg_w)
@@ -1634,12 +1636,12 @@ static ADDRESS_MAP_START( model2b_crx_mem, AS_PROGRAM, 32, model2_state )
AM_RANGE(0x01c0001c, 0x01c0001f) AM_WRITE(analog_2b_w)
AM_RANGE(0x01c00040, 0x01c00043) AM_WRITENOP
AM_RANGE(0x01c80000, 0x01c80003) AM_READWRITE(model2_serial_r, model2_serial_w)
-
- AM_IMPORT_FROM(model2_base_mem)
ADDRESS_MAP_END
/* 2C-CRX overrides */
static ADDRESS_MAP_START( model2c_crx_mem, AS_PROGRAM, 32, model2_state )
+ AM_IMPORT_FROM(model2_base_mem)
+
AM_RANGE(0x00200000, 0x0023ffff) AM_RAM
AM_RANGE(0x00804000, 0x00807fff) AM_READWRITE(geo_prg_r, geo_prg_w)
@@ -1660,8 +1662,6 @@ static ADDRESS_MAP_START( model2c_crx_mem, AS_PROGRAM, 32, model2_state )
AM_RANGE(0x01c00014, 0x01c00017) AM_WRITE(hotd_lightgun_w)
AM_RANGE(0x01c0001c, 0x01c0001f) AM_WRITE(analog_2b_w)
AM_RANGE(0x01c80000, 0x01c80003) AM_READWRITE(model2_serial_r, model2_serial_w )
-
- AM_IMPORT_FROM(model2_base_mem)
ADDRESS_MAP_END
/* Input definitions */
diff --git a/src/mame/drivers/mpu3.cpp b/src/mame/drivers/mpu3.cpp
index 5f44997ac01..eb774094154 100644
--- a/src/mame/drivers/mpu3.cpp
+++ b/src/mame/drivers/mpu3.cpp
@@ -832,13 +832,12 @@ READ8_MEMBER(mpu3_state::mpu3ptm_r)
static ADDRESS_MAP_START( mpu3_basemap, AS_PROGRAM, 8, mpu3_state )
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 */
AM_RANGE(0x9000, 0x9003) AM_DEVREADWRITE("pia_ic3", pia6821_device, read, write) /* PIA6821 IC3 */
AM_RANGE(0x9800, 0x9803) AM_DEVREADWRITE("pia_ic4", pia6821_device, read, write) /* PIA6821 IC4 */
AM_RANGE(0xa000, 0xa003) AM_DEVREADWRITE("pia_ic5", pia6821_device, read, write) /* PIA6821 IC5 */
AM_RANGE(0xa800, 0xa803) AM_DEVREADWRITE("pia_ic6", pia6821_device, read, write) /* PIA6821 IC6 */
-
- AM_RANGE(0x1000, 0xffff) AM_ROM
ADDRESS_MAP_END
#define MCFG_MPU3_REEL_ADD(_tag)\
diff --git a/src/mame/drivers/ms32.cpp b/src/mame/drivers/ms32.cpp
index 72563b9f8d6..1285da407da 100644
--- a/src/mame/drivers/ms32.cpp
+++ b/src/mame/drivers/ms32.cpp
@@ -412,6 +412,8 @@ WRITE32_MEMBER(ms32_state::ms32_irq5_guess_w)
}
static ADDRESS_MAP_START( f1superb_map, AS_PROGRAM, 32, ms32_state )
+ AM_IMPORT_FROM(ms32_map)
+
AM_RANGE(0xfd0d0000, 0xfd0d0003) AM_READ_PORT("DSW2") // MB-93159
AM_RANGE(0xfd0e0000, 0xfd0e0003) AM_READ(ms32_read_inputs3) AM_WRITENOP // writes 7-led seg at very least
@@ -432,8 +434,6 @@ static ADDRESS_MAP_START( f1superb_map, AS_PROGRAM, 32, ms32_state )
AM_RANGE(0xfdc00000, 0xfdc1ffff) AM_READWRITE16(ms32_extra_r16, ms32_extra_w16, 0x0000ffff) AM_SHARE("f1sb_extraram") // definitely line ram
AM_RANGE(0xfde00000, 0xfde1ffff) AM_RAM // scroll info for lineram?
-
- AM_IMPORT_FROM(ms32_map)
ADDRESS_MAP_END
/* F1 Super Battle speculation from nuapete
diff --git a/src/mame/drivers/mtouchxl.cpp b/src/mame/drivers/mtouchxl.cpp
index bfdb8962d73..55c8af82ee8 100644
--- a/src/mame/drivers/mtouchxl.cpp
+++ b/src/mame/drivers/mtouchxl.cpp
@@ -118,8 +118,8 @@ static ADDRESS_MAP_START( at32_io, AS_IO, 32, mtxl_state )
AM_RANGE(0x0000, 0x001f) AM_DEVREADWRITE8("mb:dma8237_1", am9517a_device, read, write, 0xffffffff)
AM_RANGE(0x0020, 0x003f) AM_DEVREADWRITE8("mb:pic8259_master", pic8259_device, read, write, 0xffffffff)
AM_RANGE(0x0040, 0x005f) AM_DEVREADWRITE8("mb:pit8254", pit8254_device, read, write, 0xffffffff)
- AM_RANGE(0x0060, 0x0063) AM_DEVREADWRITE8("mb", at_mb_device, portb_r, portb_w, 0x0000ff00)
AM_RANGE(0x0060, 0x0067) AM_DEVREADWRITE8("kbdc", kbdc8042_device, data_r, data_w, 0xffffffff)
+ AM_RANGE(0x0060, 0x0063) AM_DEVREADWRITE8("mb", at_mb_device, portb_r, portb_w, 0x0000ff00)
AM_RANGE(0x0070, 0x007f) AM_DEVREADWRITE8("mb:rtc", mc146818_device, read, write, 0xffffffff)
AM_RANGE(0x0080, 0x009f) AM_DEVREADWRITE8("mb", at_mb_device, page8_r, page8_w, 0xffffffff)
AM_RANGE(0x00a0, 0x00bf) AM_DEVREADWRITE8("mb:pic8259_slave", pic8259_device, read, write, 0xffffffff)
diff --git a/src/mame/drivers/multfish.cpp b/src/mame/drivers/multfish.cpp
index 78f887bc5df..67ef1baa087 100644
--- a/src/mame/drivers/multfish.cpp
+++ b/src/mame/drivers/multfish.cpp
@@ -978,8 +978,8 @@ static ADDRESS_MAP_START( igrosoft_gamble_portmap, AS_IO, 8, igrosoft_gamble_sta
ADDRESS_MAP_END
static ADDRESS_MAP_START( rollfr_portmap, AS_IO, 8, igrosoft_gamble_state )
- AM_RANGE(0x33, 0x33) AM_WRITE(rollfr_hopper_w)
AM_IMPORT_FROM(igrosoft_gamble_portmap)
+ AM_RANGE(0x33, 0x33) AM_WRITE(rollfr_hopper_w)
ADDRESS_MAP_END
static const gfx_layout tiles16x16_layout =
diff --git a/src/mame/drivers/multigam.cpp b/src/mame/drivers/multigam.cpp
index 485b42e4914..068de19e395 100644
--- a/src/mame/drivers/multigam.cpp
+++ b/src/mame/drivers/multigam.cpp
@@ -405,8 +405,8 @@ static ADDRESS_MAP_START( multigam_map, AS_PROGRAM, 8, multigam_state )
AM_RANGE(0x4014, 0x4014) AM_WRITE(sprite_dma_w)
AM_RANGE(0x4016, 0x4016) AM_READWRITE(multigam_IN0_r, multigam_IN0_w) /* IN0 - input port 1 */
AM_RANGE(0x4017, 0x4017) AM_READ(multigam_IN1_r) /* IN1 - input port 2 / PSG second control register */
- AM_RANGE(0x5002, 0x5002) AM_WRITENOP
AM_RANGE(0x5000, 0x5ffe) AM_ROM
+ AM_RANGE(0x5002, 0x5002) AM_WRITENOP
AM_RANGE(0x5fff, 0x5fff) AM_READ_PORT("IN0")
AM_RANGE(0x6000, 0x7fff) AM_ROM
AM_RANGE(0x6fff, 0x6fff) AM_WRITE(multigam_switch_prg_rom)
@@ -417,14 +417,14 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( multigmt_map, AS_PROGRAM, 8, multigam_state )
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)
AM_RANGE(0x3000, 0x3000) AM_WRITE(multigam_switch_prg_rom)
AM_RANGE(0x3fff, 0x3fff) AM_WRITE(multigam_switch_gfx_rom)
- AM_RANGE(0x2000, 0x3fff) AM_DEVREADWRITE("ppu", ppu2c0x_device, read, write)
AM_RANGE(0x4014, 0x4014) AM_WRITE(sprite_dma_w)
AM_RANGE(0x4016, 0x4016) AM_READWRITE(multigam_IN0_r, multigam_IN0_w) /* IN0 - input port 1 */
AM_RANGE(0x4017, 0x4017) AM_READ(multigam_IN1_r) /* IN1 - input port 2 / PSG second control register */
- AM_RANGE(0x5002, 0x5002) AM_WRITENOP
AM_RANGE(0x5000, 0x5ffe) AM_ROM
+ AM_RANGE(0x5002, 0x5002) AM_WRITENOP
AM_RANGE(0x5fff, 0x5fff) AM_READ_PORT("IN0")
AM_RANGE(0x6000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xffff) AM_ROM AM_WRITE(multigam_mapper2_w)
diff --git a/src/mame/drivers/mvme147.cpp b/src/mame/drivers/mvme147.cpp
index 97c01a386a3..918aa1fe0f2 100644
--- a/src/mame/drivers/mvme147.cpp
+++ b/src/mame/drivers/mvme147.cpp
@@ -236,8 +236,8 @@ private:
static ADDRESS_MAP_START (mvme147_mem, AS_PROGRAM, 32, mvme147_state)
ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE (0x00000000, 0x00000007) AM_ROM AM_READ (bootvect_r) /* ROM mirror just during reset */
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 */
AM_RANGE (0x00000008, 0x003fffff) AM_RAM /* 4 Mb RAM */
AM_RANGE (0xff800000, 0xff9fffff) AM_ROM AM_REGION("roms", 0x800000) //AM_MIRROR(0x00780000) /* ROM/EEPROM bank 1 - 147bug */
AM_RANGE (0xffa00000, 0xffbfffff) AM_ROM AM_REGION("roms", 0xa00000) //AM_MIRROR(0x00780000) /* ROM/EEPROM bank 2 - unpopulated */
diff --git a/src/mame/drivers/mwarr.cpp b/src/mame/drivers/mwarr.cpp
index f6403999654..a42ede1bcf2 100644
--- a/src/mame/drivers/mwarr.cpp
+++ b/src/mame/drivers/mwarr.cpp
@@ -222,13 +222,13 @@ static ADDRESS_MAP_START( mwarr_map, AS_PROGRAM, 16, mwarr_state )
AM_RANGE(0x103c00, 0x103fff) AM_RAM AM_SHARE("vidattrram")
AM_RANGE(0x104000, 0x104fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x108000, 0x108fff) AM_RAM AM_SHARE("spriteram")
+ AM_RANGE(0x110000, 0x11ffff) AM_RAM AM_SHARE("mwarr_ram")
AM_RANGE(0x110000, 0x110001) AM_READ_PORT("P1_P2")
AM_RANGE(0x110002, 0x110003) AM_READ_PORT("SYSTEM")
AM_RANGE(0x110004, 0x110005) AM_READ_PORT("DSW")
AM_RANGE(0x110010, 0x110011) AM_WRITE(oki1_bank_w)
AM_RANGE(0x110014, 0x110015) AM_WRITE(mwarr_brightness_w)
AM_RANGE(0x110016, 0x110017) AM_WRITE(sprites_commands_w)
- AM_RANGE(0x110000, 0x11ffff) AM_RAM AM_SHARE("mwarr_ram")
AM_RANGE(0x180000, 0x180001) AM_DEVREADWRITE8("oki1", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x190000, 0x190001) AM_DEVREADWRITE8("oki2", okim6295_device, read, write, 0x00ff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mz2000.cpp b/src/mame/drivers/mz2000.cpp
index e0e748a65d4..7d8b3021367 100644
--- a/src/mame/drivers/mz2000.cpp
+++ b/src/mame/drivers/mz2000.cpp
@@ -420,10 +420,10 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START(mz2000_io, AS_IO, 8, mz2000_state )
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
+ AM_IMPORT_FROM(mz80b_io)
AM_RANGE(0xf5, 0xf5) AM_WRITE(mz2000_tvram_attr_w)
AM_RANGE(0xf6, 0xf6) AM_WRITE(mz2000_gvram_mask_w)
AM_RANGE(0xf7, 0xf7) AM_WRITE(mz2000_gvram_bank_w)
- AM_IMPORT_FROM(mz80b_io)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/namcos10.cpp b/src/mame/drivers/namcos10.cpp
index c093feb28b1..6729f0ca794 100644
--- a/src/mame/drivers/namcos10.cpp
+++ b/src/mame/drivers/namcos10.cpp
@@ -490,10 +490,10 @@ static ADDRESS_MAP_START( namcos10_map, AS_PROGRAM, 32, namcos10_state )
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 */
+ AM_RANGE(0x1fba0000, 0x1fba000f) AM_READWRITE16(control_r, control_w, 0xffffffff)
AM_RANGE(0x1fba0000, 0x1fba0003) AM_READWRITE16(sprot_r, sprot_w, 0xffff0000)
AM_RANGE(0x1fba0008, 0x1fba000b) AM_READWRITE16(i2c_clock_r, i2c_clock_w, 0x0000ffff)
AM_RANGE(0x1fba0008, 0x1fba000b) AM_READWRITE16(i2c_data_r, i2c_data_w, 0xffff0000)
- AM_RANGE(0x1fba0000, 0x1fba000f) AM_READWRITE16(control_r, control_w, 0xffffffff)
ADDRESS_MAP_END
@@ -672,11 +672,11 @@ void namcos10_state::i2c_update()
}
static ADDRESS_MAP_START( namcos10_memm_map, AS_PROGRAM, 32, namcos10_state )
+ AM_IMPORT_FROM(namcos10_map)
+
AM_RANGE(0x1f300000, 0x1f300003) AM_WRITE16(crypto_switch_w, 0x0000ffff)
AM_RANGE(0x1f400000, 0x1f5fffff) AM_READ16(range_r, 0xffffffff)
AM_RANGE(0x1fb40000, 0x1fb4000f) AM_WRITE16(bank_w, 0xffffffff)
-
- AM_IMPORT_FROM(namcos10_map)
ADDRESS_MAP_END
@@ -767,6 +767,8 @@ READ16_MEMBER(namcos10_state::nand_block_r)
}
static ADDRESS_MAP_START( namcos10_memn_map, AS_PROGRAM, 32, namcos10_state )
+ AM_IMPORT_FROM(namcos10_map)
+
AM_RANGE(0x1f300000, 0x1f300003) AM_WRITE16(crypto_switch_w, 0x0000ffff)
AM_RANGE(0x1f380000, 0x1f380003) AM_WRITE16(crypto_switch_w, 0x0000ffff)
AM_RANGE(0x1f400000, 0x1f400003) AM_READ16(nand_status_r, 0x0000ffff)
@@ -776,8 +778,6 @@ static ADDRESS_MAP_START( namcos10_memn_map, AS_PROGRAM, 32, namcos10_state )
AM_RANGE(0x1f440000, 0x1f440003) AM_WRITE8(nand_address4_w, 0x000000ff)
AM_RANGE(0x1f450000, 0x1f450003) AM_READ16(nand_data_r, 0x0000ffff)
AM_RANGE(0x1fb60000, 0x1fb60003) AM_READWRITE16(nand_block_r, nand_block_w, 0x0000ffff)
-
- AM_IMPORT_FROM(namcos10_map)
ADDRESS_MAP_END
void namcos10_state::memn_driver_init( )
diff --git a/src/mame/drivers/namcos11.cpp b/src/mame/drivers/namcos11.cpp
index c661566ade2..0431b0ea804 100644
--- a/src/mame/drivers/namcos11.cpp
+++ b/src/mame/drivers/namcos11.cpp
@@ -496,10 +496,10 @@ static ADDRESS_MAP_START( rom8_64_map, AS_PROGRAM, 32, namcos11_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( ptblank2ua_map, AS_PROGRAM, 32, namcos11_state )
+ AM_IMPORT_FROM(rom8_64_map)
+
AM_RANGE(0x1f780000, 0x1f78000f) AM_READ16(lightgun_r, 0xffffffff)
AM_RANGE(0x1f788000, 0x1f788003) AM_WRITE16(lightgun_w, 0xffffffff)
-
- AM_IMPORT_FROM(rom8_64_map)
ADDRESS_MAP_END
ADDRESS_MAP_START( c76_map, AS_PROGRAM, 16, namcos11_state )
diff --git a/src/mame/drivers/namcos12.cpp b/src/mame/drivers/namcos12.cpp
index e70b54523cf..c99e1e7b507 100644
--- a/src/mame/drivers/namcos12.cpp
+++ b/src/mame/drivers/namcos12.cpp
@@ -1340,11 +1340,11 @@ static ADDRESS_MAP_START( ptblank2_map, AS_PROGRAM, 32, namcos12_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( tektagt_map, AS_PROGRAM, 32, namcos12_state )
+ AM_IMPORT_FROM( namcos12_map )
+
AM_RANGE(0x1fb00000, 0x1fb00003) AM_READWRITE16(tektagt_protection_1_r, tektagt_protection_1_w, 0xffffffff)
AM_RANGE(0x1fb80000, 0x1fb80003) AM_READWRITE16(tektagt_protection_2_r, tektagt_protection_2_w, 0xffffffff)
AM_RANGE(0x1f700000, 0x1f700003) AM_READ16(tektagt_protection_3_r, 0xffffffff)
-
- AM_IMPORT_FROM( namcos12_map )
ADDRESS_MAP_END
WRITE16_MEMBER(namcos12_state::system11gun_w)
@@ -1632,10 +1632,10 @@ READ16_MEMBER(namcos12_state::s12_mcu_gun_v_r)
}
static ADDRESS_MAP_START( golgo13_h8iomap, AS_IO, 16, namcos12_state )
+ AM_IMPORT_FROM( s12h8iomap )
+
AM_RANGE(h8_device::ADC_1, h8_device::ADC_1) AM_READ(s12_mcu_gun_h_r)
AM_RANGE(h8_device::ADC_2, h8_device::ADC_2) AM_READ(s12_mcu_gun_v_r)
-
- AM_IMPORT_FROM( s12h8iomap )
ADDRESS_MAP_END
diff --git a/src/mame/drivers/namcos2.cpp b/src/mame/drivers/namcos2.cpp
index 74b7503abc8..404c3c8e999 100644
--- a/src/mame/drivers/namcos2.cpp
+++ b/src/mame/drivers/namcos2.cpp
@@ -607,108 +607,109 @@ ADDRESS_MAP_END
/*************************************************************/
static ADDRESS_MAP_START( common_default_am, AS_PROGRAM, 16, namcos2_state )
+ 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)
AM_RANGE(0xc80000, 0xc9ffff) AM_RAM_WRITE(rozram_word_w) AM_SHARE("rozram")
AM_RANGE(0xcc0000, 0xcc000f) AM_RAM AM_SHARE("rozctrl")
AM_RANGE(0xd00000, 0xd0000f) AM_READWRITE(namcos2_68k_key_r,namcos2_68k_key_w)
- AM_IMPORT_FROM( namcos2_68k_default_cpu_board_am )
ADDRESS_MAP_END
static ADDRESS_MAP_START( master_default_am, AS_PROGRAM, 16, namcos2_state )
+ AM_IMPORT_FROM( common_default_am )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAMBANK(NAMCOS2_68K_MASTER_RAM)
AM_RANGE(0x180000, 0x183fff) AM_READWRITE8(namcos2_68k_eeprom_r,namcos2_68k_eeprom_w,0x00ff)
AM_RANGE(0x1c0000, 0x1fffff) AM_DEVICE("master_intc", namco_c148_device, map)
- AM_IMPORT_FROM( common_default_am )
ADDRESS_MAP_END
static ADDRESS_MAP_START( slave_default_am, AS_PROGRAM, 16, namcos2_state )
+ AM_IMPORT_FROM( common_default_am )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x13ffff) AM_RAMBANK(NAMCOS2_68K_SLAVE_RAM)
AM_RANGE(0x1c0000, 0x1fffff) AM_DEVICE("slave_intc", namco_c148_device, map)
- AM_IMPORT_FROM( common_default_am )
ADDRESS_MAP_END
/*************************************************************/
static ADDRESS_MAP_START( common_finallap_am, AS_PROGRAM, 16, namcos2_state )
+ 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")
AM_RANGE(0x840000, 0x840001) AM_READWRITE(gfx_ctrl_r, gfx_ctrl_w)
AM_RANGE(0x880000, 0x89ffff) AM_DEVREADWRITE("c45_road", namco_c45_road_device, read, write)
AM_RANGE(0x8c0000, 0x8c0001) AM_WRITENOP
- AM_IMPORT_FROM( namcos2_68k_default_cpu_board_am )
ADDRESS_MAP_END
static ADDRESS_MAP_START( master_finallap_am, AS_PROGRAM, 16, namcos2_state )
+ AM_IMPORT_FROM( common_finallap_am )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAMBANK(NAMCOS2_68K_MASTER_RAM)
AM_RANGE(0x180000, 0x183fff) AM_READWRITE8(namcos2_68k_eeprom_r,namcos2_68k_eeprom_w,0x00ff)
AM_RANGE(0x1c0000, 0x1fffff) AM_DEVICE("master_intc", namco_c148_device, map)
- AM_IMPORT_FROM( common_finallap_am )
ADDRESS_MAP_END
static ADDRESS_MAP_START( slave_finallap_am, AS_PROGRAM, 16, namcos2_state )
+ AM_IMPORT_FROM( common_finallap_am )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x13ffff) AM_RAMBANK(NAMCOS2_68K_SLAVE_RAM)
AM_RANGE(0x1c0000, 0x1fffff) AM_DEVICE("slave_intc", namco_c148_device, map)
- AM_IMPORT_FROM( common_finallap_am )
ADDRESS_MAP_END
/*************************************************************/
static ADDRESS_MAP_START( common_sgunner_am, AS_PROGRAM, 16, namcos2_state )
+ 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)
- AM_IMPORT_FROM( namcos2_68k_default_cpu_board_am )
ADDRESS_MAP_END
static ADDRESS_MAP_START( master_sgunner_am, AS_PROGRAM, 16, namcos2_state )
+ AM_IMPORT_FROM( common_sgunner_am )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAMBANK(NAMCOS2_68K_MASTER_RAM)
AM_RANGE(0x180000, 0x183fff) AM_READWRITE8(namcos2_68k_eeprom_r,namcos2_68k_eeprom_w,0x00ff)
AM_RANGE(0x1c0000, 0x1fffff) AM_DEVICE("master_intc", namco_c148_device, map)
- AM_IMPORT_FROM( common_sgunner_am )
ADDRESS_MAP_END
static ADDRESS_MAP_START( slave_sgunner_am, AS_PROGRAM, 16, namcos2_state )
+ AM_IMPORT_FROM( common_sgunner_am )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x13ffff) AM_RAMBANK(NAMCOS2_68K_SLAVE_RAM)
AM_RANGE(0x1c0000, 0x1fffff) AM_DEVICE("slave_intc", namco_c148_device, map)
- AM_IMPORT_FROM( common_sgunner_am )
ADDRESS_MAP_END
/*************************************************************/
static ADDRESS_MAP_START( common_metlhawk_am, AS_PROGRAM, 16, namcos2_state )
+ 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")
AM_RANGE(0xd00000, 0xd0001f) AM_READWRITE(c169_roz_control_r,c169_roz_control_w)
AM_RANGE(0xe00000, 0xe00001) AM_READWRITE(gfx_ctrl_r, gfx_ctrl_w) /* ??? */
- AM_IMPORT_FROM( namcos2_68k_default_cpu_board_am )
ADDRESS_MAP_END
static ADDRESS_MAP_START( master_metlhawk_am, AS_PROGRAM, 16, namcos2_state )
+ AM_IMPORT_FROM( common_metlhawk_am )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAMBANK(NAMCOS2_68K_MASTER_RAM)
AM_RANGE(0x180000, 0x183fff) AM_READWRITE8(namcos2_68k_eeprom_r,namcos2_68k_eeprom_w,0x00ff)
AM_RANGE(0x1c0000, 0x1fffff) AM_DEVICE("master_intc", namco_c148_device, map)
- AM_IMPORT_FROM( common_metlhawk_am )
ADDRESS_MAP_END
static ADDRESS_MAP_START( slave_metlhawk_am, AS_PROGRAM, 16, namcos2_state )
+ AM_IMPORT_FROM( common_metlhawk_am )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x13ffff) AM_RAMBANK(NAMCOS2_68K_SLAVE_RAM)
AM_RANGE(0x1c0000, 0x1fffff) AM_DEVICE("slave_intc", namco_c148_device, map)
- AM_IMPORT_FROM( common_metlhawk_am )
ADDRESS_MAP_END
/*************************************************************/
static ADDRESS_MAP_START( common_luckywld_am, AS_PROGRAM, 16, namcos2_state )
+ 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? */
AM_RANGE(0x81a000, 0x81a001) AM_WRITENOP /* enable? */
@@ -718,22 +719,21 @@ static ADDRESS_MAP_START( common_luckywld_am, AS_PROGRAM, 16, namcos2_state )
AM_RANGE(0xc00000, 0xc0ffff) AM_READWRITE(c169_roz_videoram_r,c169_roz_videoram_w) AM_SHARE("rozvideoram")
AM_RANGE(0xd00000, 0xd0001f) AM_READWRITE(c169_roz_control_r,c169_roz_control_w)
AM_RANGE(0xf00000, 0xf00007) AM_READWRITE(namcos2_68k_key_r,namcos2_68k_key_w)
- AM_IMPORT_FROM( namcos2_68k_default_cpu_board_am )
ADDRESS_MAP_END
static ADDRESS_MAP_START( master_luckywld_am, AS_PROGRAM, 16, namcos2_state )
+ AM_IMPORT_FROM( common_luckywld_am )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAMBANK(NAMCOS2_68K_MASTER_RAM)
AM_RANGE(0x180000, 0x183fff) AM_READWRITE8(namcos2_68k_eeprom_r,namcos2_68k_eeprom_w,0x00ff)
AM_RANGE(0x1c0000, 0x1fffff) AM_DEVICE("master_intc", namco_c148_device, map)
- AM_IMPORT_FROM( common_luckywld_am )
ADDRESS_MAP_END
static ADDRESS_MAP_START( slave_luckywld_am, AS_PROGRAM, 16, namcos2_state )
+ AM_IMPORT_FROM( common_luckywld_am )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x13ffff) AM_RAMBANK(NAMCOS2_68K_SLAVE_RAM)
AM_RANGE(0x1c0000, 0x1fffff) AM_DEVICE("slave_intc", namco_c148_device, map)
- AM_IMPORT_FROM( common_luckywld_am )
ADDRESS_MAP_END
/*************************************************************/
@@ -761,6 +761,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( mcu_default_am, AS_PROGRAM, 8, namcos2_state )
/* 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 */
AM_RANGE(0x0001, 0x0001) AM_READ_PORT("MCUB")
AM_RANGE(0x0002, 0x0002) AM_READ_PORT("MCUC")
@@ -768,7 +769,6 @@ static ADDRESS_MAP_START( mcu_default_am, AS_PROGRAM, 8, namcos2_state )
AM_RANGE(0x0007, 0x0007) AM_READ_PORT("MCUH")
AM_RANGE(0x0010, 0x0010) AM_READWRITE(namcos2_mcu_analog_ctrl_r,namcos2_mcu_analog_ctrl_w)
AM_RANGE(0x0011, 0x0011) AM_READWRITE(namcos2_mcu_analog_port_r,namcos2_mcu_analog_port_w)
- AM_RANGE(0x0000, 0x003f) AM_RAM /* Fill in register to stop logging */
AM_RANGE(0x0040, 0x01bf) AM_RAM
AM_RANGE(0x01c0, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x2000) AM_READ_PORT("DSW")
diff --git a/src/mame/drivers/namcos21.cpp b/src/mame/drivers/namcos21.cpp
index dd965c8b9ad..2f15b932afd 100644
--- a/src/mame/drivers/namcos21.cpp
+++ b/src/mame/drivers/namcos21.cpp
@@ -1255,20 +1255,20 @@ static ADDRESS_MAP_START( common_map, AS_PROGRAM, 16, namcos21_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( master_map, AS_PROGRAM, 16, namcos21_state )
+ AM_IMPORT_FROM( common_map )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM /* private work RAM */
AM_RANGE(0x180000, 0x183fff) AM_READWRITE8(namcos2_68k_eeprom_r,namcos2_68k_eeprom_w,0x00ff)
AM_RANGE(0x1c0000, 0x1fffff) AM_DEVICE("master_intc", namco_c148_device, map)
AM_RANGE(0x200000, 0x20ffff) AM_READWRITE(dspram16_r,dspram16_w<true>) AM_SHARE("dspram16")
- AM_IMPORT_FROM( common_map )
ADDRESS_MAP_END
static ADDRESS_MAP_START( slave_map, AS_PROGRAM, 16, namcos21_state )
+ AM_IMPORT_FROM( common_map )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x13ffff) AM_RAM /* private work RAM */
AM_RANGE(0x1c0000, 0x1fffff) AM_DEVICE("slave_intc", namco_c148_device, map)
AM_RANGE(0x200000, 0x20ffff) AM_READWRITE(dspram16_r,dspram16_w<false>) AM_SHARE("dspram16")
- AM_IMPORT_FROM( common_map )
ADDRESS_MAP_END
@@ -1537,6 +1537,7 @@ ADDRESS_MAP_END
/*************************************************************/
static ADDRESS_MAP_START( mcu_map, AS_PROGRAM, 8, namcos21_state )
+ AM_RANGE(0x0000, 0x003f) AM_RAM
AM_RANGE(0x0000, 0x0000) AM_READNOP
AM_RANGE(0x0001, 0x0001) AM_READ_PORT("PORTB") /* p1,p2 start */
AM_RANGE(0x0002, 0x0002) AM_READ_PORT("PORTC") /* coins */
@@ -1544,7 +1545,6 @@ static ADDRESS_MAP_START( mcu_map, AS_PROGRAM, 8, namcos21_state )
AM_RANGE(0x0007, 0x0007) AM_READ_PORT("PORTH") /* fire buttons */
AM_RANGE(0x0010, 0x0010) AM_READWRITE(namcos2_mcu_analog_ctrl_r,namcos2_mcu_analog_ctrl_w)
AM_RANGE(0x0011, 0x0011) AM_READWRITE(namcos2_mcu_analog_port_r,namcos2_mcu_analog_port_w)
- AM_RANGE(0x0000, 0x003f) AM_RAM
AM_RANGE(0x0040, 0x01bf) AM_RAM
AM_RANGE(0x01c0, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x2000) AM_READ_PORT("DSW")
@@ -1577,6 +1577,7 @@ static ADDRESS_MAP_START( driveyes_common_map, AS_PROGRAM, 16, namcos21_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( driveyes_master_map, AS_PROGRAM, 16, namcos21_state )
+ AM_IMPORT_FROM( driveyes_common_map )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM /* private work RAM */
AM_RANGE(0x180000, 0x183fff) AM_READWRITE8(namcos2_68k_eeprom_r,namcos2_68k_eeprom_w,0x00ff)
@@ -1587,14 +1588,13 @@ static ADDRESS_MAP_START( driveyes_master_map, AS_PROGRAM, 16, namcos21_state )
AM_RANGE(0x3c0000, 0x3c1fff) AM_READWRITE(winrun_68k_dspcomram_r,winrun_68k_dspcomram_w)
AM_RANGE(0x400000, 0x400001) AM_WRITE(pointram_control_w)
AM_RANGE(0x440000, 0x440001) AM_READWRITE(pointram_data_r,pointram_data_w)
- AM_IMPORT_FROM( driveyes_common_map )
ADDRESS_MAP_END
static ADDRESS_MAP_START( driveyes_slave_map, AS_PROGRAM, 16, namcos21_state )
+ AM_IMPORT_FROM( driveyes_common_map )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM /* private work RAM */
AM_RANGE(0x1c0000, 0x1fffff) AM_DEVICE("slave_intc", namco_c148_device, map)
- AM_IMPORT_FROM( driveyes_common_map )
ADDRESS_MAP_END
/*************************************************************/
diff --git a/src/mame/drivers/namcos22.cpp b/src/mame/drivers/namcos22.cpp
index 5fe0a814984..163f9bada62 100644
--- a/src/mame/drivers/namcos22.cpp
+++ b/src/mame/drivers/namcos22.cpp
@@ -1977,8 +1977,8 @@ READ32_MEMBER(namcos22_state::namcos22_gun_r)
}
static ADDRESS_MAP_START( timecris_am, AS_PROGRAM, 32, namcos22_state )
- AM_RANGE(0x430000, 0x43000f) AM_READ(namcos22_gun_r)
AM_IMPORT_FROM( namcos22s_am )
+ AM_RANGE(0x430000, 0x43000f) AM_READ(namcos22_gun_r)
ADDRESS_MAP_END
@@ -2010,9 +2010,9 @@ WRITE32_MEMBER(namcos22_state::alpinesa_prot_w)
}
static ADDRESS_MAP_START( alpinesa_am, AS_PROGRAM, 32, namcos22_state )
+ AM_IMPORT_FROM( namcos22s_am )
AM_RANGE(0x200000, 0x200003) AM_READ(alpinesa_prot_r)
AM_RANGE(0x300000, 0x300003) AM_WRITE(alpinesa_prot_w)
- AM_IMPORT_FROM( namcos22s_am )
ADDRESS_MAP_END
@@ -2955,8 +2955,8 @@ WRITE8_MEMBER(namcos22_state::alpine_mcu_port5_w)
}
static ADDRESS_MAP_START( alpine_io_map, AS_IO, 8, namcos22_state )
- AM_RANGE(M37710_PORT5, M37710_PORT5) AM_WRITE(alpine_mcu_port5_w)
AM_IMPORT_FROM( mcu_io )
+ AM_RANGE(M37710_PORT5, M37710_PORT5) AM_WRITE(alpine_mcu_port5_w)
ADDRESS_MAP_END
@@ -2972,8 +2972,8 @@ WRITE8_MEMBER(namcos22_state::propcycle_mcu_port5_w)
}
static ADDRESS_MAP_START( propcycl_io_map, AS_IO, 8, namcos22_state )
- AM_RANGE(M37710_PORT5, M37710_PORT5) AM_WRITE(propcycle_mcu_port5_w)
AM_IMPORT_FROM( mcu_io )
+ AM_RANGE(M37710_PORT5, M37710_PORT5) AM_WRITE(propcycle_mcu_port5_w)
ADDRESS_MAP_END
TIMER_DEVICE_CALLBACK_MEMBER(namcos22_state::propcycl_pedal_interrupt)
diff --git a/src/mame/drivers/namcos23.cpp b/src/mame/drivers/namcos23.cpp
index d25c41ad89f..a815c5a86f7 100644
--- a/src/mame/drivers/namcos23.cpp
+++ b/src/mame/drivers/namcos23.cpp
@@ -3190,8 +3190,8 @@ READ8_MEMBER(namcos23_state::iob_gun_r)
}
static ADDRESS_MAP_START( timecrs2iobrdmap, AS_PROGRAM, 16, namcos23_state )
- AM_RANGE(0x7000, 0x700f) AM_READ8(iob_gun_r, 0xffff)
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 5b275f79ba2..f25b4a36c81 100644
--- a/src/mame/drivers/namcos86.cpp
+++ b/src/mame/drivers/namcos86.cpp
@@ -337,10 +337,10 @@ static ADDRESS_MAP_START( cpu1_map, AS_PROGRAM, 8, namcos86_state )
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")
- AM_RANGE(0x4000, 0x43ff) AM_DEVREADWRITE("namco", namco_cus30_device, namcos1_cus30_r, namcos1_cus30_w) /* PSG device, shared RAM */
-
AM_RANGE(0x4000, 0x5fff) AM_RAM AM_WRITE(spriteram_w) AM_SHARE("spriteram")
+ AM_RANGE(0x4000, 0x43ff) AM_DEVREADWRITE("namco", namco_cus30_device, namcos1_cus30_r, namcos1_cus30_w) /* PSG device, shared RAM */
+
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0xffff) AM_ROM
diff --git a/src/mame/drivers/naomi.cpp b/src/mame/drivers/naomi.cpp
index 32670ce8b70..635d62ee305 100644
--- a/src/mame/drivers/naomi.cpp
+++ b/src/mame/drivers/naomi.cpp
@@ -1701,8 +1701,8 @@ static ADDRESS_MAP_START( naomi_map, AS_PROGRAM, 64, naomi_state )
AM_RANGE(0x00200000, 0x00207fff) AM_MIRROR(0x02000000) AM_RAM // bios uses it (battery backed ram ?)
AM_RANGE(0x005f6800, 0x005f69ff) AM_MIRROR(0x02000000) AM_READWRITE(dc_sysctrl_r, dc_sysctrl_w )
AM_RANGE(0x005f6c00, 0x005f6cff) AM_MIRROR(0x02000000) AM_DEVICE32( "maple_dc", maple_dc_device, amap, 0xffffffffffffffffU )
- AM_RANGE(0x005f7018, 0x005f702f) AM_MIRROR(0x02000000) AM_DEVREADWRITE16( "comm_board", m3comm_device, naomi_r, naomi_w, 0x0000ffff0000ffffU )
AM_RANGE(0x005f7000, 0x005f70ff) AM_MIRROR(0x02000000) AM_DEVICE16( "rom_board", naomi_board, submap, 0x0000ffff0000ffffU )
+ AM_RANGE(0x005f7018, 0x005f702f) AM_MIRROR(0x02000000) AM_DEVREADWRITE16( "comm_board", m3comm_device, naomi_r, naomi_w, 0x0000ffff0000ffffU )
AM_RANGE(0x005f7400, 0x005f74ff) AM_MIRROR(0x02000000) AM_DEVICE32( "rom_board", naomi_g1_device, amap, 0xffffffffffffffffU )
AM_RANGE(0x005f7800, 0x005f78ff) AM_MIRROR(0x02000000) AM_READWRITE(dc_g2_ctrl_r, dc_g2_ctrl_w )
AM_RANGE(0x005f7c00, 0x005f7cff) AM_MIRROR(0x02000000) AM_DEVICE32("powervr2", powervr2_device, pd_dma_map, 0xffffffffffffffffU)
diff --git a/src/mame/drivers/neogeo.cpp b/src/mame/drivers/neogeo.cpp
index f34ed090a2f..a65f70b6db5 100644
--- a/src/mame/drivers/neogeo.cpp
+++ b/src/mame/drivers/neogeo.cpp
@@ -1433,8 +1433,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( main_map_slot, AS_PROGRAM, 16, neogeo_state )
- AM_RANGE(0x000000, 0x00007f) AM_READ(banked_vectors_r)
AM_IMPORT_FROM( neogeo_main_map )
+ AM_RANGE(0x000000, 0x00007f) AM_READ(banked_vectors_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/neogeocd.cpp b/src/mame/drivers/neogeocd.cpp
index 36cc594d826..b0dc37a2ff8 100644
--- a/src/mame/drivers/neogeocd.cpp
+++ b/src/mame/drivers/neogeocd.cpp
@@ -888,8 +888,8 @@ MACHINE_RESET_MEMBER(ngcd_state,neocd)
static ADDRESS_MAP_START( neocd_main_map, AS_PROGRAM, 16, ngcd_state )
// AM_RANGE(0x000000, 0x00007f) AM_READ_BANK("vectors") // writes will fall through to area below
- AM_RANGE(0x000000, 0x00007f) AM_READ(banked_vectors_r)
AM_RANGE(0x000000, 0x1fffff) AM_RAM AM_REGION("maincpu", 0x00000)
+ AM_RANGE(0x000000, 0x00007f) AM_READ(banked_vectors_r)
AM_RANGE(0x300000, 0x300001) AM_MIRROR(0x01fffe) AM_DEVREAD8("ctrl1", neogeo_control_port_device, ctrl_r, 0xff00)
AM_RANGE(0x320000, 0x320001) AM_MIRROR(0x01fffe) AM_READ_PORT("AUDIO") AM_WRITE8(audio_command_w, 0xff00)
diff --git a/src/mame/drivers/nes_vt.cpp b/src/mame/drivers/nes_vt.cpp
index 2465760c8f8..6642fea66ed 100644
--- a/src/mame/drivers/nes_vt.cpp
+++ b/src/mame/drivers/nes_vt.cpp
@@ -877,8 +877,8 @@ static ADDRESS_MAP_START( nes_vt_map, AS_PROGRAM, 8, nes_vt_state )
AM_RANGE(0x4100, 0x410b) AM_WRITE(vt03_410x_w)
- AM_RANGE(0x8000, 0xffff) AM_WRITE(vt03_8000_w)
AM_RANGE(0x8000, 0xffff) AM_DEVICE("prg", address_map_bank_device, amap8)
+ AM_RANGE(0x8000, 0xffff) AM_WRITE(vt03_8000_w)
AM_RANGE(0x6000, 0x7fff) AM_RAM
ADDRESS_MAP_END
@@ -911,8 +911,8 @@ static ADDRESS_MAP_START( nes_vt_hh_map, AS_PROGRAM, 8, nes_vt_state )
AM_RANGE(0x4100, 0x410b) AM_WRITE(vt03_410x_w)
- AM_RANGE(0x8000, 0xffff) AM_WRITE(vt03_8000_w)
AM_RANGE(0x8000, 0xffff) AM_DEVICE("prg", address_map_bank_device, amap8)
+ AM_RANGE(0x8000, 0xffff) AM_WRITE(vt03_8000_w)
AM_RANGE(0x4034, 0x4034) AM_WRITE(vt03_4034_w)
AM_RANGE(0x4014, 0x4014) AM_READ(psg1_4014_r) AM_WRITE(vt_hh_sprite_dma_w)
@@ -932,8 +932,8 @@ static ADDRESS_MAP_START( nes_vt_dg_map, AS_PROGRAM, 8, nes_vt_state )
AM_RANGE(0x411c, 0x411c) AM_WRITE(vt03_411c_w)
- AM_RANGE(0x8000, 0xffff) AM_WRITE(vt03_8000_w)
AM_RANGE(0x8000, 0xffff) AM_DEVICE("prg", address_map_bank_device, amap8)
+ AM_RANGE(0x8000, 0xffff) AM_WRITE(vt03_8000_w)
AM_RANGE(0x4034, 0x4034) AM_WRITE(vt03_4034_w)
AM_RANGE(0x4014, 0x4014) AM_READ(psg1_4014_r) AM_WRITE(nes_vh_sprite_dma_w)
diff --git a/src/mame/drivers/next.cpp b/src/mame/drivers/next.cpp
index c42181b9910..27b52a3495d 100644
--- a/src/mame/drivers/next.cpp
+++ b/src/mame/drivers/next.cpp
@@ -933,42 +933,36 @@ static ADDRESS_MAP_START( next_mem, AS_PROGRAM, 32, next_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( next_0b_m_nofdc_mem, AS_PROGRAM, 32, next_state )
- AM_RANGE(0x0b000000, 0x0b03ffff) AM_RAM AM_SHARE("vram")
-
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 )
+ 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)
-
- AM_IMPORT_FROM(next_mem)
ADDRESS_MAP_END
static ADDRESS_MAP_START( next_0b_m_mem, AS_PROGRAM, 32, next_state )
- AM_RANGE(0x0b000000, 0x0b03ffff) AM_RAM AM_SHARE("vram")
-
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 )
- AM_RANGE(0x0c000000, 0x0c1fffff) AM_RAM AM_SHARE("vram")
-
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 )
+ 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)
-
- AM_IMPORT_FROM(next_fdc_mem)
ADDRESS_MAP_END
static ADDRESS_MAP_START( next_2c_c_mem, AS_PROGRAM, 32, next_state )
+ 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)
-
- AM_IMPORT_FROM(next_fdc_mem)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/nightgal.cpp b/src/mame/drivers/nightgal.cpp
index c4087c472b7..ddfa6204ab8 100644
--- a/src/mame/drivers/nightgal.cpp
+++ b/src/mame/drivers/nightgal.cpp
@@ -394,8 +394,8 @@ static ADDRESS_MAP_START( sweetgal_map, AS_PROGRAM, 8, nightgal_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( sexygal_map, AS_PROGRAM, 8, nightgal_state )
- AM_RANGE(0xa000, 0xa000) AM_WRITE(sexygal_audioff_w)
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 )
diff --git a/src/mame/drivers/nmk16.cpp b/src/mame/drivers/nmk16.cpp
index f80143fc02f..990aeefedc7 100644
--- a/src/mame/drivers/nmk16.cpp
+++ b/src/mame/drivers/nmk16.cpp
@@ -346,9 +346,9 @@ static ADDRESS_MAP_START( vandykeb_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x080008, 0x080009) AM_READ_PORT("DSW1")
AM_RANGE(0x08000a, 0x08000b) AM_READ_PORT("DSW2")
// AM_RANGE(0x08000e, 0x08000f) AM_DEVREAD8("nmk004", nmk004_device, read, 0x00ff)
+ AM_RANGE(0x080010, 0x08001d) AM_WRITE(vandykeb_scroll_w) /* 10, 12, 1a, 1c */
AM_RANGE(0x080016, 0x080017) AM_WRITENOP /* IRQ enable? */
AM_RANGE(0x080018, 0x080019) AM_WRITE(nmk_tilebank_w)
- AM_RANGE(0x080010, 0x08001d) AM_WRITE(vandykeb_scroll_w) /* 10, 12, 1a, 1c */
// AM_RANGE(0x08001e, 0x08001f) AM_DEVWRITE8("nmk004", nmk004_device, write, 0x00ff)
AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x08c000, 0x08c007) AM_WRITENOP /* just in case... */
@@ -1054,9 +1054,9 @@ static ADDRESS_MAP_START( macross2_map, AS_PROGRAM, 16, nmk16_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( tdragon3h_map, AS_PROGRAM, 16, nmk16_state ) // 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 */
- AM_IMPORT_FROM(macross2_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START( raphero_map, AS_PROGRAM, 16, nmk16_state )
@@ -5102,11 +5102,11 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( firehawk_sound_cpu, AS_PROGRAM, 8, nmk16_state )
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
+ AM_RANGE(0xf800, 0xffff) AM_RAM // not used, only tested
AM_RANGE(0xfff0, 0xfff0) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0xfff2, 0xfff2) AM_WRITE(spec2k_oki1_banking_w )
AM_RANGE(0xfff8, 0xfff8) AM_DEVREADWRITE("oki2", okim6295_device, read, write)
AM_RANGE(0xfffa, 0xfffa) AM_DEVREADWRITE("oki1", okim6295_device, read, write)
- AM_RANGE(0xf800, 0xffff) AM_RAM // not used, only tested
ADDRESS_MAP_END
diff --git a/src/mame/drivers/novag6502.cpp b/src/mame/drivers/novag6502.cpp
index 74809572913..40f010f33ba 100644
--- a/src/mame/drivers/novag6502.cpp
+++ b/src/mame/drivers/novag6502.cpp
@@ -512,9 +512,9 @@ static ADDRESS_MAP_START( supercon_map, AS_PROGRAM, 8, novag6502_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( cforte_map, AS_PROGRAM, 8, novag6502_state )
+ 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)
- AM_IMPORT_FROM( supercon_map )
ADDRESS_MAP_END
@@ -534,11 +534,11 @@ static ADDRESS_MAP_START( sforte_map, AS_PROGRAM, 8, novag6502_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( sexpert_map, AS_PROGRAM, 8, novag6502_state )
+ AM_IMPORT_FROM( sforte_map )
AM_RANGE(0x1ff4, 0x1ff4) AM_WRITE(sexpert_leds_w)
AM_RANGE(0x1ff5, 0x1ff5) AM_WRITE(sexpert_mux_w)
AM_RANGE(0x1ff6, 0x1ff6) AM_WRITE(sexpert_lcd_control_w)
AM_RANGE(0x1ff7, 0x1ff7) AM_WRITE(sexpert_lcd_data_w)
- AM_IMPORT_FROM( sforte_map )
ADDRESS_MAP_END
diff --git a/src/mame/drivers/okean240.cpp b/src/mame/drivers/okean240.cpp
index a87be668cc2..28ba7907d26 100644
--- a/src/mame/drivers/okean240.cpp
+++ b/src/mame/drivers/okean240.cpp
@@ -228,8 +228,8 @@ static ADDRESS_MAP_START(okean240_io, AS_IO, 8, okean240_state)
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)
- AM_RANGE(0x80, 0x80) AM_READ(okean240_kbd_status_r)
AM_RANGE(0x80, 0x81) AM_DEVREADWRITE("pic", pic8259_device, read, write)
+ AM_RANGE(0x80, 0x80) AM_READ(okean240_kbd_status_r)
AM_RANGE(0xa0, 0xa0) AM_READ(term_r)
AM_RANGE(0xa1, 0xa1) AM_READ(term_status_r)
AM_RANGE(0xc0, 0xc3) AM_DEVREADWRITE("ppic", i8255_device, read, write)
@@ -240,8 +240,8 @@ static ADDRESS_MAP_START(okean240a_io, AS_IO, 8, okean240_state)
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)
- AM_RANGE(0x80, 0x80) AM_READ(okean240a_kbd_status_r)
AM_RANGE(0x80, 0x81) AM_DEVREADWRITE("pic", pic8259_device, read, write)
+ AM_RANGE(0x80, 0x80) AM_READ(okean240a_kbd_status_r)
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("uart", i8251_device, data_r, data_w)
AM_RANGE(0xa1, 0xa1) AM_DEVREADWRITE("uart", i8251_device, status_r, control_w)
AM_RANGE(0xc0, 0xc3) AM_DEVREADWRITE("ppic", i8255_device, read, write)
@@ -263,8 +263,8 @@ static ADDRESS_MAP_START(okean240t_io, AS_IO, 8, okean240_state)
AM_RANGE(0x20, 0x23) AM_WRITENOP
AM_RANGE(0x40, 0x43) AM_DEVREADWRITE("ppikbd", i8255_device, read, write)
AM_RANGE(0x60, 0x63) AM_DEVREADWRITE("pit", pit8253_device, read, write)
- AM_RANGE(0x80, 0x80) AM_READ(okean240_kbd_status_r)
AM_RANGE(0x80, 0x81) AM_DEVREADWRITE("pic", pic8259_device, read, write)
+ AM_RANGE(0x80, 0x80) AM_READ(okean240_kbd_status_r)
AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("uart", i8251_device, data_r, data_w)
AM_RANGE(0xa1, 0xa1) AM_DEVREADWRITE("uart", i8251_device, status_r, control_w)
AM_RANGE(0xc0, 0xc3) AM_DEVREADWRITE("ppic", i8255_device, read, write)
diff --git a/src/mame/drivers/olibochu.cpp b/src/mame/drivers/olibochu.cpp
index 91795412a1f..98fdb92340f 100644
--- a/src/mame/drivers/olibochu.cpp
+++ b/src/mame/drivers/olibochu.cpp
@@ -282,9 +282,9 @@ static ADDRESS_MAP_START( olibochu_map, AS_PROGRAM, 8, olibochu_state )
AM_RANGE(0xa005, 0xa005) AM_READ_PORT("DSW2")
AM_RANGE(0xa800, 0xa801) AM_WRITE(sound_command_w)
AM_RANGE(0xa802, 0xa802) AM_WRITE(olibochu_flipscreen_w) /* bit 6 = enable sound? */
+ AM_RANGE(0xf000, 0xffff) AM_RAM
AM_RANGE(0xf400, 0xf41f) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xf440, 0xf47f) AM_RAM AM_SHARE("spriteram2")
- AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
static ADDRESS_MAP_START( olibochu_sound_map, AS_PROGRAM, 8, olibochu_state )
diff --git a/src/mame/drivers/oric.cpp b/src/mame/drivers/oric.cpp
index aa2a68a3f25..19aaff37b44 100644
--- a/src/mame/drivers/oric.cpp
+++ b/src/mame/drivers/oric.cpp
@@ -189,17 +189,18 @@ 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 )
+ 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")
AM_RANGE( 0xe000, 0xf7ff) AM_READ_BANK("bank_e000_r") AM_WRITE_BANK("bank_e000_w")
AM_RANGE( 0xf800, 0xffff) AM_READ_BANK("bank_f800_r") AM_WRITE_BANK("bank_f800_w")
- AM_RANGE( 0x0000, 0xffff) AM_RAM AM_SHARE("ram")
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 )
+ 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)
AM_RANGE( 0x0314, 0x0314) AM_READWRITE(port_314_r, port_314_w)
@@ -207,7 +208,6 @@ static ADDRESS_MAP_START(telestrat_mem, AS_PROGRAM, 8, telestrat_state )
AM_RANGE( 0x031c, 0x031f) AM_DEVREADWRITE("acia", mos6551_device, read, write)
AM_RANGE( 0x0320, 0x032f) AM_DEVREADWRITE("via6522_2", via6522_device, read, write)
AM_RANGE( 0xc000, 0xffff) AM_READ_BANK("bank_c000_r") AM_WRITE_BANK("bank_c000_w")
- AM_RANGE( 0x0000, 0xffff) AM_RAM AM_SHARE("ram")
ADDRESS_MAP_END
uint32_t oric_state::screen_update_oric(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
diff --git a/src/mame/drivers/overdriv.cpp b/src/mame/drivers/overdriv.cpp
index 515b0d0538e..0b5eea7d4ee 100644
--- a/src/mame/drivers/overdriv.cpp
+++ b/src/mame/drivers/overdriv.cpp
@@ -230,8 +230,8 @@ static ADDRESS_MAP_START( overdriv_slave_map, AS_PROGRAM, 16, overdriv_state )
AM_RANGE(0x118000, 0x118fff) AM_DEVREADWRITE("k053246", k053247_device, k053247_word_r, k053247_word_w) // data gets copied to sprite chip with DMA..
AM_RANGE(0x120000, 0x120001) AM_DEVREAD("k053246", k053247_device, k053246_word_r)
AM_RANGE(0x128000, 0x128001) AM_READWRITE(cpuB_ctrl_r, cpuB_ctrl_w) /* enable K053247 ROM reading, plus something else */
- AM_RANGE(0x130004, 0x130005) AM_WRITE(objdma_w)
AM_RANGE(0x130000, 0x130007) AM_DEVREADWRITE8("k053246", k053247_device, k053246_r,k053246_w,0xffff)
+ AM_RANGE(0x130004, 0x130005) AM_WRITE(objdma_w)
//AM_RANGE(0x140000, 0x140001) used in later stages, set after writes at 0x208000-0x20bfff range
AM_RANGE(0x200000, 0x203fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x208000, 0x20bfff) AM_RAM // sprite indirect table?
diff --git a/src/mame/drivers/pacman.cpp b/src/mame/drivers/pacman.cpp
index a3d6cde8fe9..23a7d3890a5 100644
--- a/src/mame/drivers/pacman.cpp
+++ b/src/mame/drivers/pacman.cpp
@@ -1042,6 +1042,10 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( mspacman_map, AS_PROGRAM, 8, pacman_state )
+ /* 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
+
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")
AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READ(pacman_read_nop) AM_WRITENOP
@@ -1067,10 +1071,6 @@ static ADDRESS_MAP_START( mspacman_map, AS_PROGRAM, 8, pacman_state )
AM_RANGE(0x3ff8, 0x3fff) AM_READWRITE(mspacman_enable_decode_r_0x3ff8,mspacman_enable_decode_w)
AM_RANGE(0x8000, 0x8007) AM_READWRITE(mspacman_disable_decode_r_0x8000,mspacman_disable_decode_w)
AM_RANGE(0x97f0, 0x97f7) AM_READWRITE(mspacman_disable_decode_r_0x97f0,mspacman_disable_decode_w)
-
- /* start with 0000-3fff and 8000-bfff mapped to the ROMs */
- AM_RANGE(0x4000, 0x7fff) AM_MIRROR(0x8000) AM_UNMAP
- AM_RANGE(0x0000, 0xffff) AM_ROMBANK("bank1")
ADDRESS_MAP_END
@@ -1129,8 +1129,8 @@ static ADDRESS_MAP_START( alibaba_map, AS_PROGRAM, 8, pacman_state )
AM_RANGE(0x4c00, 0x4eef) AM_MIRROR(0xa000) AM_RAM
AM_RANGE(0x4ef0, 0x4eff) AM_MIRROR(0xa000) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x4f00, 0x4fff) AM_MIRROR(0xa000) AM_RAM
- AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf38) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x5000, 0x5007) AM_MIRROR(0xaf38) AM_DEVWRITE("latch1", ls259_device, write_d0)
+ AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf38) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0x5040, 0x506f) AM_MIRROR(0xaf00) AM_WRITE(alibaba_sound_w) /* the sound region is not contiguous */
AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITEONLY AM_SHARE("spriteram2") /* actually at 5050-505f, here to point to free RAM */
AM_RANGE(0x5070, 0x507f) AM_MIRROR(0xaf00) AM_WRITENOP
@@ -1288,8 +1288,8 @@ static ADDRESS_MAP_START( superabc_map, AS_PROGRAM, 8, pacman_state )
AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_SHARE("colorram")
AM_RANGE(0x4800, 0x4fef) AM_MIRROR(0xa000) AM_RAM AM_SHARE("28c16.u17") // nvram
AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x5002, 0x5002) AM_MIRROR(0xaf3c) AM_WRITE(superabc_bank_w)
AM_RANGE(0x5000, 0x5007) AM_MIRROR(0xaf38) AM_DEVWRITE("mainlatch", ls259_device, write_d0)
+ AM_RANGE(0x5002, 0x5002) AM_MIRROR(0xaf3c) AM_WRITE(superabc_bank_w)
AM_RANGE(0x5040, 0x505f) AM_MIRROR(0xaf00) AM_DEVWRITE("namco", namco_device, pacman_sound_w)
AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITEONLY AM_SHARE("spriteram2")
AM_RANGE(0x5070, 0x507f) AM_MIRROR(0xaf00) AM_WRITENOP
@@ -1383,13 +1383,13 @@ static ADDRESS_MAP_START( nmouse_portmap, AS_IO, 8, pacman_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( epos_portmap, AS_IO, 8, pacman_state )
- AM_RANGE(0x00, 0xff) AM_READ(epos_decryption_w) /* Switch protection logic */
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 )
- AM_RANGE(0x00, 0x00) AM_READ(mschamp_kludge_r)
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 )
diff --git a/src/mame/drivers/paradise.cpp b/src/mame/drivers/paradise.cpp
index 7cbd18e41ba..b547ea18197 100644
--- a/src/mame/drivers/paradise.cpp
+++ b/src/mame/drivers/paradise.cpp
@@ -138,23 +138,23 @@ static ADDRESS_MAP_START( base_map, AS_PROGRAM, 8, paradise_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( paradise_map, AS_PROGRAM, 8, paradise_state )
+ 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
- AM_IMPORT_FROM(base_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START( tgtball_map, AS_PROGRAM, 8, paradise_state )
+ 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
- AM_IMPORT_FROM(base_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START( torus_map, AS_PROGRAM, 8, paradise_state )
+ AM_IMPORT_FROM(base_map)
AM_RANGE(0xd800, 0xdfff) AM_RAM AM_SHARE("spriteram") // Sprites
AM_RANGE(0xe000, 0xffff) AM_RAM // RAM
- AM_IMPORT_FROM(base_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START( torus_io_map, AS_IO, 8, paradise_state )
@@ -173,9 +173,9 @@ static ADDRESS_MAP_START( torus_io_map, AS_IO, 8, paradise_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( paradise_io_map, AS_IO, 8, paradise_state )
+ 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
- AM_IMPORT_FROM(torus_io_map)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/parodius.cpp b/src/mame/drivers/parodius.cpp
index 1763aef88a5..2e480e74056 100644
--- a/src/mame/drivers/parodius.cpp
+++ b/src/mame/drivers/parodius.cpp
@@ -95,6 +95,8 @@ WRITE8_MEMBER(parodius_state::sound_arm_nmi_w)
static ADDRESS_MAP_START( parodius_map, AS_PROGRAM, 8, parodius_state )
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)
+ AM_RANGE(0x2000, 0x27ff) AM_DEVICE("bank2000", address_map_bank_device, amap8)
AM_RANGE(0x3f8c, 0x3f8c) AM_READ_PORT("P1")
AM_RANGE(0x3f8d, 0x3f8d) AM_READ_PORT("P2")
AM_RANGE(0x3f8e, 0x3f8e) AM_READ_PORT("DSW3")
@@ -106,8 +108,6 @@ static ADDRESS_MAP_START( parodius_map, AS_PROGRAM, 8, parodius_state )
AM_RANGE(0x3fc4, 0x3fc4) AM_WRITE(parodius_videobank_w)
AM_RANGE(0x3fc8, 0x3fc8) AM_WRITE(parodius_sh_irqtrigger_w)
AM_RANGE(0x3fcc, 0x3fcd) AM_DEVREADWRITE("k053260", k053260_device, main_read, main_write)
- AM_RANGE(0x2000, 0x27ff) AM_DEVICE("bank2000", address_map_bank_device, amap8)
- AM_RANGE(0x2000, 0x5fff) AM_DEVREADWRITE("k052109", k052109_device, read, write)
AM_RANGE(0x6000, 0x9fff) AM_ROMBANK("bank1") /* banked ROM */
AM_RANGE(0xa000, 0xffff) AM_ROM AM_REGION("maincpu", 0x3a000)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pasogo.cpp b/src/mame/drivers/pasogo.cpp
index cd8363b52f1..b42bc5c4108 100644
--- a/src/mame/drivers/pasogo.cpp
+++ b/src/mame/drivers/pasogo.cpp
@@ -446,16 +446,16 @@ static ADDRESS_MAP_START(emsbank_map, AS_PROGRAM, 16, pasogo_state)
ADDRESS_MAP_END
static ADDRESS_MAP_START(pasogo_mem, AS_PROGRAM, 16, pasogo_state)
- AM_RANGE(0xb8000, 0xbffff) AM_RAM AM_SHARE("vram")
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)
+ 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)
- AM_RANGE(0x0000, 0x00ff) AM_DEVICE8("mb", ibm5160_mb_device, map, 0xffff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pb1000.cpp b/src/mame/drivers/pb1000.cpp
index 93dc146bbb1..5ada4c2f91f 100644
--- a/src/mame/drivers/pb1000.cpp
+++ b/src/mame/drivers/pb1000.cpp
@@ -89,10 +89,10 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START(pb2000c_mem, AS_PROGRAM, 16, pb1000_state)
ADDRESS_MAP_UNMAP_LOW
+ AM_RANGE( 0x00000, 0x0ffff ) AM_ROMBANK("bank1")
AM_RANGE( 0x00000, 0x00bff ) AM_ROM
//AM_RANGE( 0x00c00, 0x00c0f ) AM_NOP //I/O
AM_RANGE( 0x00c10, 0x00c11 ) AM_WRITE(gatearray_w)
- AM_RANGE( 0x00000, 0x0ffff ) AM_ROMBANK("bank1")
AM_RANGE( 0x10000, 0x1ffff ) AM_RAM AM_SHARE("nvram1")
AM_RANGE( 0x20000, 0x27fff ) AM_DEVREAD("cardslot1", generic_slot_device, read16_rom)
AM_RANGE( 0x28000, 0x2ffff ) AM_RAM AM_SHARE("nvram2")
diff --git a/src/mame/drivers/pc.cpp b/src/mame/drivers/pc.cpp
index 9efded5370e..ae7f269d8c8 100644
--- a/src/mame/drivers/pc.cpp
+++ b/src/mame/drivers/pc.cpp
@@ -420,8 +420,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START(pc16_io, AS_IO, 16, pc_state )
ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE(0x0070, 0x007f) AM_RAM // needed for Poisk-2
AM_RANGE(0x0000, 0x00ff) AM_DEVICE8("mb", ibm5160_mb_device, map, 0xffff)
+ AM_RANGE(0x0070, 0x007f) AM_RAM // needed for Poisk-2
ADDRESS_MAP_END
READ8_MEMBER(pc_state::unk_r)
@@ -431,15 +431,15 @@ READ8_MEMBER(pc_state::unk_r)
static ADDRESS_MAP_START(ibm5550_io, AS_IO, 16, pc_state )
ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE(0x00a0, 0x00a1) AM_READ8(unk_r, 0x00ff )
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_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)
AM_RANGE(0x0071, 0x0071) AM_DEVREADWRITE("i8251", i8251_device, status_r, control_w)
- AM_RANGE(0x0000, 0x00ff) AM_DEVICE("mb", ibm5160_mb_device, map)
ADDRESS_MAP_END
INPUT_CHANGED_MEMBER(pc_state::pc_turbo_callback)
diff --git a/src/mame/drivers/pc9801.cpp b/src/mame/drivers/pc9801.cpp
index 3528fc9b6d2..200160ad371 100644
--- a/src/mame/drivers/pc9801.cpp
+++ b/src/mame/drivers/pc9801.cpp
@@ -708,13 +708,13 @@ static ADDRESS_MAP_START( pc9801_common_io, AS_IO, 16, pc9801_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( pc9801_io, AS_IO, 16, pc9801_state )
+ 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>
AM_RANGE(0x00a0, 0x00af) AM_READWRITE8(pc9801_a0_r,pc9801_a0_w,0xffff) //upd7220 bitmap ports / display registers
AM_RANGE(0x00c8, 0x00cb) AM_DEVICE8("upd765_2dd", upd765a_device, map, 0x00ff)
AM_RANGE(0x00cc, 0x00cd) AM_READWRITE8(fdc_2dd_ctrl_r, fdc_2dd_ctrl_w, 0x00ff) //upd765a 2dd / <undefined>
AM_RANGE(0x00f0, 0x00ff) AM_READ8(f0_r,0x00ff)
- AM_IMPORT_FROM(pc9801_common_io)
ADDRESS_MAP_END
/*************************************
@@ -1096,6 +1096,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( pc9801ux_io, AS_IO, 16, pc9801_state )
ADDRESS_MAP_UNMAP_HIGH
+ AM_IMPORT_FROM(pc9801_common_io)
AM_RANGE(0x0020, 0x002f) AM_WRITE8(dmapg8_w,0xff00)
AM_RANGE(0x0050, 0x0057) AM_NOP // 2dd ppi?
AM_RANGE(0x005c, 0x005f) AM_READ(timestamp_r) AM_WRITENOP // artic
@@ -1110,26 +1111,25 @@ static ADDRESS_MAP_START( pc9801ux_io, AS_IO, 16, pc9801_state )
AM_RANGE(0x043c, 0x043f) AM_WRITE8(pc9801rs_bank_w, 0xffff) //ROM/RAM bank
AM_RANGE(0x04a0, 0x04af) AM_WRITE(egc_w)
AM_RANGE(0x3fd8, 0x3fdf) AM_DEVREADWRITE8("pit8253", pit8253_device, read, write, 0xff00)
- AM_IMPORT_FROM(pc9801_common_io)
ADDRESS_MAP_END
static ADDRESS_MAP_START( pc9801rs_map, AS_PROGRAM, 16, pc9801_state )
+ AM_IMPORT_FROM(pc9801ux_map)
// AM_RANGE(0x0d8000, 0x0d9fff) AM_ROM AM_REGION("ide",0)
AM_RANGE(0x0da000, 0x0dbfff) AM_RAM // ide ram
AM_RANGE(0xee8000, 0xefffff) AM_DEVICE("ipl_bank", address_map_bank_device, amap16)
AM_RANGE(0xfe8000, 0xffffff) AM_DEVICE("ipl_bank", address_map_bank_device, amap16)
- AM_IMPORT_FROM(pc9801ux_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START( pc9801rs_io, AS_IO, 16, pc9801_state )
ADDRESS_MAP_UNMAP_HIGH
+ AM_IMPORT_FROM(pc9801ux_io)
AM_RANGE(0x0430, 0x0433) AM_READWRITE8(ide_ctrl_r, ide_ctrl_w, 0x00ff)
AM_RANGE(0x0640, 0x064f) AM_READWRITE(ide_cs0_r, ide_cs0_w)
AM_RANGE(0x0740, 0x074f) AM_READWRITE(ide_cs1_r, ide_cs1_w)
AM_RANGE(0x1e8c, 0x1e8f) AM_NOP // temp
AM_RANGE(0xbfd8, 0xbfdf) AM_WRITE8(pc9801rs_mouse_freq_w, 0xffff)
AM_RANGE(0xe0d0, 0xe0d3) AM_READ8(midi_r, 0xffff)
- AM_IMPORT_FROM(pc9801ux_io)
ADDRESS_MAP_END
/*************************************
diff --git a/src/mame/drivers/pcd.cpp b/src/mame/drivers/pcd.cpp
index cd97cc49779..be4bb3bd08e 100644
--- a/src/mame/drivers/pcd.cpp
+++ b/src/mame/drivers/pcd.cpp
@@ -435,9 +435,9 @@ READ16_MEMBER(pcd_state::mem_r)
//**************************************************************************
static ADDRESS_MAP_START( pcd_map, AS_PROGRAM, 16, pcd_state )
+ 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)
- AM_RANGE(0x00000, 0xfffff) AM_READWRITE8(nmi_io_r, nmi_io_w, 0xffff)
ADDRESS_MAP_END
static ADDRESS_MAP_START( pcd_io, AS_IO, 16, pcd_state )
@@ -463,9 +463,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( pcx_io, AS_IO, 16, pcd_state )
ADDRESS_MAP_UNMAP_HIGH
+ AM_IMPORT_FROM(pcd_io)
AM_RANGE(0x8000, 0x8fff) AM_READWRITE(mmu_r, mmu_w)
AM_RANGE(0xfb00, 0xfb01) AM_READWRITE8(nmi_io_r, nmi_io_w, 0xff00)
- AM_IMPORT_FROM(pcd_io)
ADDRESS_MAP_END
//**************************************************************************
diff --git a/src/mame/drivers/pcxt.cpp b/src/mame/drivers/pcxt.cpp
index 14243c7b5ac..80c5fbcee78 100644
--- a/src/mame/drivers/pcxt.cpp
+++ b/src/mame/drivers/pcxt.cpp
@@ -366,10 +366,10 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( filetto_io, AS_IO, 8, pcxt_state )
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
AM_RANGE(0x0061, 0x0061) AM_READWRITE(port_b_r, port_b_w)
AM_RANGE(0x0062, 0x0062) AM_READ(port_c_r)
- AM_RANGE(0x0000, 0x00ff) AM_DEVICE("mb", pc_noppi_mb_device, map)
AM_RANGE(0x0201, 0x0201) AM_READ_PORT("COIN") //game port
AM_RANGE(0x0310, 0x0311) AM_READWRITE(disk_iobank_r,disk_iobank_w) //Prototyping card
AM_RANGE(0x0312, 0x0312) AM_READ_PORT("IN0") //Prototyping card,read only
diff --git a/src/mame/drivers/pdp11.cpp b/src/mame/drivers/pdp11.cpp
index 17e57143aa5..fdfe62ea25d 100644
--- a/src/mame/drivers/pdp11.cpp
+++ b/src/mame/drivers/pdp11.cpp
@@ -165,7 +165,7 @@ static ADDRESS_MAP_START(pdp11_mem, AS_PROGRAM, 16, pdp11_state)
AM_RANGE( 0xea00, 0xfeff ) AM_ROM
AM_RANGE( 0xff70, 0xff77 ) AM_READWRITE(teletype_ctrl_r,teletype_ctrl_w)
- AM_RANGE( 0xfe78, 0xfe7b ) AM_DEVREADWRITE("rx01", rx01_device, read, write)
+ AM_RANGE( 0xfe78, 0xfe7b ) AM_DEVWRITE("rx01", rx01_device, write)
ADDRESS_MAP_END
static ADDRESS_MAP_START(pdp11qb_mem, AS_PROGRAM, 16, pdp11_state)
diff --git a/src/mame/drivers/pentagon.cpp b/src/mame/drivers/pentagon.cpp
index 111106625b8..9dde3096826 100644
--- a/src/mame/drivers/pentagon.cpp
+++ b/src/mame/drivers/pentagon.cpp
@@ -198,8 +198,8 @@ static ADDRESS_MAP_START (pentagon_io, AS_IO, 8, pentagon_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START (pentagon_switch, AS_OPCODES, 8, pentagon_state)
+ 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(0x0000, 0x3fff) AM_READ(beta_neutral_r) // Overlap with previous because we want real addresses on the 3e00-3fff range
AM_RANGE(0x4000, 0xffff) AM_READ(beta_disable_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pgm2.cpp b/src/mame/drivers/pgm2.cpp
index b54c55e0eec..bf4cc0b9cb7 100644
--- a/src/mame/drivers/pgm2.cpp
+++ b/src/mame/drivers/pgm2.cpp
@@ -577,23 +577,23 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( pgm2_rom_map, AS_PROGRAM, 32, pgm2_state )
- AM_RANGE(0x10000000, 0x10ffffff) AM_ROM AM_REGION("user1", 0) // external ROM
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 )
+ 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
- AM_IMPORT_FROM(pgm2_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START( pgm2_module_rom_map, AS_PROGRAM, 32, pgm2_state )
+ 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)
AM_RANGE(0xfffff430, 0xfffff433) AM_WRITE(pio_sodr_w)
AM_RANGE(0xfffff434, 0xfffff437) AM_WRITE(pio_codr_w)
AM_RANGE(0xfffff43c, 0xfffff43f) AM_READ(pio_pdsr_r)
- AM_IMPORT_FROM(pgm2_rom_map)
ADDRESS_MAP_END
static INPUT_PORTS_START( pgm2 )
diff --git a/src/mame/drivers/pinball2k.cpp b/src/mame/drivers/pinball2k.cpp
index ee41dd5ee63..20e0cd30265 100644
--- a/src/mame/drivers/pinball2k.cpp
+++ b/src/mame/drivers/pinball2k.cpp
@@ -487,8 +487,8 @@ static ADDRESS_MAP_START( mediagx_map, AS_PROGRAM, 32, pinball2k_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START(mediagx_io, AS_IO, 32, pinball2k_state )
- AM_RANGE(0x0020, 0x0023) AM_READWRITE8(io20_r, io20_w, 0xffff0000)
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
AM_RANGE(0x0378, 0x037b) AM_READWRITE(parallel_port_r, parallel_port_w)
AM_RANGE(0x0400, 0x0403) AM_READWRITE(port400_r, port400_w)
diff --git a/src/mame/drivers/play_3.cpp b/src/mame/drivers/play_3.cpp
index a935bcd1738..2b6a342ed2a 100644
--- a/src/mame/drivers/play_3.cpp
+++ b/src/mame/drivers/play_3.cpp
@@ -133,13 +133,13 @@ static ADDRESS_MAP_START( play_3_io, AS_IO, 8, play_3_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( megaaton_io, AS_IO, 8, play_3_state )
- AM_RANGE(0x01, 0x01) AM_WRITE(megaaton_port01_w) // digits, scan-lines
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 )
- AM_RANGE(0x03, 0x03) AM_WRITE(sklflite_port03_w) //
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 )
diff --git a/src/mame/drivers/pntnpuzl.cpp b/src/mame/drivers/pntnpuzl.cpp
index 79595703dd0..49acfe94394 100644
--- a/src/mame/drivers/pntnpuzl.cpp
+++ b/src/mame/drivers/pntnpuzl.cpp
@@ -285,10 +285,10 @@ static ADDRESS_MAP_START( pntnpuzl_map, AS_PROGRAM, 16, pntnpuzl_state )
AM_RANGE(0x100000, 0x100001) AM_READ(irq2_ack_r)
AM_RANGE(0x180000, 0x180001) AM_READ(irq4_ack_r)
AM_RANGE(0x200000, 0x200001) AM_WRITE(pntnpuzl_200000_w)
+ AM_RANGE(0x280000, 0x28001f) AM_DEVREADWRITE8("via", via6522_device, read, write, 0xff00)
AM_RANGE(0x280014, 0x280015) AM_READ(pntnpuzl_280014_r)
AM_RANGE(0x280018, 0x280019) AM_WRITE(pntnpuzl_280018_w)
AM_RANGE(0x28001a, 0x28001b) AM_READ(pntnpuzl_28001a_r)
- AM_RANGE(0x280000, 0x28001f) AM_DEVREADWRITE8("via", via6522_device, read, write, 0xff00)
/* standard VGA */
AM_RANGE(0x3a0000, 0x3bffff) AM_DEVREADWRITE8("vga", vga_device, mem_r, mem_w, 0xffff)
diff --git a/src/mame/drivers/prehisle.cpp b/src/mame/drivers/prehisle.cpp
index 86be52d8100..8f658e9a0b8 100644
--- a/src/mame/drivers/prehisle.cpp
+++ b/src/mame/drivers/prehisle.cpp
@@ -38,8 +38,8 @@ static ADDRESS_MAP_START( prehisle_map, AS_PROGRAM, 16, prehisle_state )
AM_RANGE(0x0b0000, 0x0b3fff) AM_RAM_WRITE(fg_vram_w) AM_SHARE("fg_vram")
AM_RANGE(0x0d0000, 0x0d07ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x0e0000, 0x0e00ff) AM_READ(control_r)
- AM_RANGE(0x0f0070, 0x0ff071) AM_WRITE(soundcmd_w)
AM_RANGE(0x0f0000, 0x0ff0ff) AM_WRITE(control_w)
+ AM_RANGE(0x0f0070, 0x0ff071) AM_WRITE(soundcmd_w)
ADDRESS_MAP_END
/******************************************************************************/
diff --git a/src/mame/drivers/psikyo.cpp b/src/mame/drivers/psikyo.cpp
index cafd006fc94..bf35034b813 100644
--- a/src/mame/drivers/psikyo.cpp
+++ b/src/mame/drivers/psikyo.cpp
@@ -309,9 +309,9 @@ READ32_MEMBER(psikyo_state::sngkace_input_r)
}
static ADDRESS_MAP_START( sngkace_map, AS_PROGRAM, 32, psikyo_state )
+ 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)
- AM_IMPORT_FROM(psikyo_map)
ADDRESS_MAP_END
WRITE8_MEMBER(psikyo_state::sngkace_sound_bankswitch_w)
@@ -350,15 +350,15 @@ READ32_MEMBER(psikyo_state::gunbird_input_r)
}
static ADDRESS_MAP_START( gunbird_map, AS_PROGRAM, 32, psikyo_state )
+ 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)
- AM_IMPORT_FROM(psikyo_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START( s1945jn_map, AS_PROGRAM, 32, psikyo_state )
+ 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)
- AM_IMPORT_FROM(psikyo_map)
ADDRESS_MAP_END
WRITE8_MEMBER(psikyo_state::gunbird_sound_bankswitch_w)
@@ -397,10 +397,10 @@ READ32_MEMBER(psikyo_state::s1945_input_r)
}
static ADDRESS_MAP_START( s1945_map, AS_PROGRAM, 32, psikyo_state )
+ 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)
- AM_IMPORT_FROM(psikyo_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START( s1945_sound_io_map, AS_IO, 8, psikyo_state )
diff --git a/src/mame/drivers/psychic5.cpp b/src/mame/drivers/psychic5.cpp
index 89cc3e53b08..ae2d092e7fa 100644
--- a/src/mame/drivers/psychic5.cpp
+++ b/src/mame/drivers/psychic5.cpp
@@ -492,13 +492,13 @@ static ADDRESS_MAP_START( bombsa_main_map, AS_PROGRAM, 8, psychic5_state )
AM_RANGE(0xc000, 0xcfff) AM_RAM
/* ports look like the other games */
+ AM_RANGE(0xd000, 0xd1ff) AM_RAM
AM_RANGE(0xd000, 0xd000) AM_DEVWRITE("soundlatch", generic_latch_8_device, write) // confirmed
AM_RANGE(0xd001, 0xd001) AM_WRITE(bombsa_flipscreen_w)
AM_RANGE(0xd002, 0xd002) AM_READWRITE(bankselect_r, bombsa_bankselect_w)
AM_RANGE(0xd003, 0xd003) AM_READWRITE(vram_page_select_r, vram_page_select_w)
AM_RANGE(0xd005, 0xd005) AM_WRITE(bombsa_unknown_w) // ?
- AM_RANGE(0xd000, 0xd1ff) AM_RAM
AM_RANGE(0xd200, 0xd7ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xd800, 0xdfff) AM_RAM
diff --git a/src/mame/drivers/punchout.cpp b/src/mame/drivers/punchout.cpp
index c07043c0467..9d30d2a418b 100644
--- a/src/mame/drivers/punchout.cpp
+++ b/src/mame/drivers/punchout.cpp
@@ -236,10 +236,10 @@ WRITE8_MEMBER(punchout_state::spunchout_rp5h01_clock_w)
}
static ADDRESS_MAP_START( spnchout_io_map, AS_IO, 8, punchout_state )
+ 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)
AM_RANGE(0x07, 0x07) AM_SELECT(0xf0) AM_READWRITE(spunchout_exp_r, spunchout_exp_w) // protection ports
- AM_IMPORT_FROM( punchout_io_map )
ADDRESS_MAP_END
// 2A03 (sound)
diff --git a/src/mame/drivers/pv9234.cpp b/src/mame/drivers/pv9234.cpp
index 80b2c474763..4ec3640008d 100644
--- a/src/mame/drivers/pv9234.cpp
+++ b/src/mame/drivers/pv9234.cpp
@@ -105,6 +105,7 @@ WRITE32_MEMBER( pv9234_state::debug2_w )
}
static ADDRESS_MAP_START(pv9234_map, AS_PROGRAM, 32, pv9234_state)
+ 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
// AM_RANGE(0x00000060, 0x0000006b) AM_WRITE something
@@ -116,7 +117,6 @@ static ADDRESS_MAP_START(pv9234_map, AS_PROGRAM, 32, pv9234_state)
AM_RANGE(0x000080cc, 0x000080cf) AM_WRITE(debug_w)
// AM_RANGE(0x000080d0, 0x000080d3) AM_WRITE something
AM_RANGE(0x0003e000, 0x0003efff) AM_RAM AM_SHARE("p_ram")
- AM_RANGE(0x00000000, 0x0007ffff) AM_ROM AM_REGION("maincpu",0) //FLASH ROM!
AM_RANGE(0x00080000, 0x00087fff) AM_MIRROR(0x78000) AM_RAM AM_SHARE("share1")//mirror is a guess, writes a prg at 0xc0200 then it jumps at b0200 (!)
AM_RANGE(0xe0000000, 0xe0007fff) AM_MIRROR(0x0fff8000) AM_RAM AM_SHARE("share1")
AM_RANGE(0xffffff00, 0xffffffff) AM_RAM //i/o? stack ram?
diff --git a/src/mame/drivers/pwrview.cpp b/src/mame/drivers/pwrview.cpp
index 5f1a94e171e..c4a334f7f15 100644
--- a/src/mame/drivers/pwrview.cpp
+++ b/src/mame/drivers/pwrview.cpp
@@ -337,37 +337,39 @@ static ADDRESS_MAP_START(bios_bank, 0, 16, pwrview_state)
AM_RANGE(0x00000, 0x07fff) AM_ROM AM_REGION("bios", 0)
AM_RANGE(0x00000, 0x07fff) AM_WRITE(nmimem_w)
+ AM_RANGE(0x08000, 0x0ffff) AM_WRITE(nmimem_w)
AM_RANGE(0x0be00, 0x0be7f) AM_RAMBANK("vram1")
AM_RANGE(0x0befe, 0x0beff) AM_READWRITE(vram1_r, vram1_w);
AM_RANGE(0x0bf00, 0x0bf7f) AM_RAMBANK("vram2")
AM_RANGE(0x0bffe, 0x0bfff) AM_READWRITE(vram2_r, vram2_w);
AM_RANGE(0x0c000, 0x0ffff) AM_ROM AM_REGION("bios", 0x4000)
- AM_RANGE(0x08000, 0x0ffff) AM_WRITE(nmimem_w)
AM_RANGE(0x10000, 0x17fff) AM_RAM
+ AM_RANGE(0x18000, 0x1ffff) AM_WRITE(nmimem_w)
+
AM_RANGE(0x1be00, 0x1be7f) AM_RAMBANK("vram1")
AM_RANGE(0x1befe, 0x1beff) AM_READWRITE(vram1_r, vram1_w);
AM_RANGE(0x1bf00, 0x1bf7f) AM_RAMBANK("vram2")
AM_RANGE(0x1bffe, 0x1bfff) AM_READWRITE(vram2_r, vram2_w);
AM_RANGE(0x1c000, 0x1ffff) AM_ROM AM_REGION("bios", 0x4000)
- AM_RANGE(0x18000, 0x1ffff) AM_WRITE(nmimem_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START(pwrview_map, AS_PROGRAM, 16, pwrview_state)
- AM_RANGE(0x00000, 0x003ff) AM_READWRITE(bank0_r, bank0_w)
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)
- AM_RANGE(0x00000, 0x003ff) AM_READ(bank0_r)
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_UNMAP_HIGH
+ AM_RANGE(0x0000, 0xffff) AM_READWRITE(nmiio_r, nmiio_w)
AM_RANGE(0xc000, 0xc001) AM_READWRITE8(unk1_r, unk1_w, 0xff00)
AM_RANGE(0xc002, 0xc005) AM_READWRITE8(led_r, led_w, 0xff00)
AM_RANGE(0xc006, 0xc007) AM_READ8(rotary_r, 0xff00)
@@ -385,7 +387,6 @@ static ADDRESS_MAP_START(pwrview_io, AS_IO, 16, pwrview_state)
AM_RANGE(0xc2e0, 0xc2e3) AM_DEVICE8("fdc", upd765a_device, map, 0x00ff)
AM_RANGE(0xc2e4, 0xc2e5) AM_RAM
AM_RANGE(0xc2e6, 0xc2e7) AM_READ8(pitclock_r, 0x00ff)
- AM_RANGE(0x0000, 0xffff) AM_READWRITE(nmiio_r, nmiio_w)
ADDRESS_MAP_END
static SLOT_INTERFACE_START(pwrview_floppies)
diff --git a/src/mame/drivers/rad_eu3a05.cpp b/src/mame/drivers/rad_eu3a05.cpp
index 80dc2def568..822bf13690c 100644
--- a/src/mame/drivers/rad_eu3a05.cpp
+++ b/src/mame/drivers/rad_eu3a05.cpp
@@ -596,7 +596,7 @@ uint32_t radica_eu3a05_state::screen_update(screen_device &screen, bitmap_ind16
uint16_t dat = m_palram[offs++] << 8;
dat |= m_palram[offs++];
- // llll lsss ---h hhhh
+ // llll lsss ---h hhhh
int l_raw = (dat & 0xf800) >> 11;
int sl_raw = (dat & 0x0700) >> 8;
int h_raw = (dat & 0x001f) >> 0;
@@ -963,10 +963,9 @@ static ADDRESS_MAP_START( radicasi_map, AS_PROGRAM, 8, radica_eu3a05_state )
AM_RANGE(0x6000, 0xdfff) AM_DEVICE("bank", address_map_bank_device, amap8)
// not sure how these work,, might be a modified 6502 core instead.
+ AM_RANGE(0xe000, 0xffff) AM_ROM AM_REGION("maincpu", 0x3f8000)
AM_RANGE(0xfffa, 0xfffb) AM_READ(radicasi_nmi_vector_r)
AM_RANGE(0xfffe, 0xffff) AM_READ(radicasi_irq_vector_r)
-
- AM_RANGE(0xe000, 0xffff) AM_ROM AM_REGION("maincpu", 0x3f8000)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/rad_eu3a14.cpp b/src/mame/drivers/rad_eu3a14.cpp
index e24049b3a09..a494cee2c4b 100644
--- a/src/mame/drivers/rad_eu3a14.cpp
+++ b/src/mame/drivers/rad_eu3a14.cpp
@@ -157,7 +157,7 @@ void radica_eu3a14_state::handle_palette(screen_device &screen, bitmap_ind16 &bi
uint16_t dat = m_palram[offs++] << 8;
dat |= m_palram[offs++];
- // llll lsss ---h hhhh
+ // llll lsss ---h hhhh
int l_raw = (dat & 0xf800) >> 11;
int sl_raw = (dat & 0x0700) >> 8;
int h_raw = (dat & 0x001f) >> 0;
@@ -516,9 +516,9 @@ static ADDRESS_MAP_START( radica_eu3a14_map, AS_PROGRAM, 8, radica_eu3a14_state
AM_RANGE(0x6000, 0xdfff) AM_DEVICE("bank", address_map_bank_device, amap8)
- AM_RANGE(0xfffe, 0xffff) AM_READ(irq_vector_r)
-
AM_RANGE(0xe000, 0xffff) AM_ROM AM_REGION("maincpu", 0x0000)
+
+ AM_RANGE(0xfffe, 0xffff) AM_READ(irq_vector_r)
ADDRESS_MAP_END
READ8_MEMBER(radica_eu3a14_state::dma_trigger_r)
diff --git a/src/mame/drivers/raiden.cpp b/src/mame/drivers/raiden.cpp
index db6b802f93b..875ab793ca9 100644
--- a/src/mame/drivers/raiden.cpp
+++ b/src/mame/drivers/raiden.cpp
@@ -158,6 +158,7 @@ ADDRESS_MAP_END
/*****************************************************************************/
static ADDRESS_MAP_START( raiden_sound_map, AS_PROGRAM, 8, raiden_state )
+ 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)
AM_RANGE(0x4001, 0x4001) AM_DEVWRITE("seibu_sound", seibu_sound_device, irq_clear_w)
@@ -171,7 +172,6 @@ static ADDRESS_MAP_START( raiden_sound_map, AS_PROGRAM, 8, raiden_state )
AM_RANGE(0x4018, 0x4019) AM_DEVWRITE("seibu_sound", seibu_sound_device, main_data_w)
AM_RANGE(0x401b, 0x401b) AM_DEVWRITE("seibu_sound", seibu_sound_device, coin_w)
AM_RANGE(0x6000, 0x6000) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0x0000, 0xffff) AM_DEVREAD("sei80bu", sei80bu_device, data_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( raiden_sound_decrypted_opcodes_map, AS_OPCODES, 8, raiden_state )
diff --git a/src/mame/drivers/raiden2.cpp b/src/mame/drivers/raiden2.cpp
index 439360fdd85..8b151529cf6 100644
--- a/src/mame/drivers/raiden2.cpp
+++ b/src/mame/drivers/raiden2.cpp
@@ -963,10 +963,10 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( raiden2_mem, AS_PROGRAM, 16, raiden2_state )
AM_RANGE(0x00000, 0x003ff) AM_RAM
- AM_RANGE(0x0068e, 0x0068f) AM_WRITENOP //irq ack / sprite buffering?
-
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)
AM_RANGE(0x00740, 0x00741) AM_READ_PORT("DSW")
@@ -991,23 +991,23 @@ static ADDRESS_MAP_START( raiden2_mem, AS_PROGRAM, 16, raiden2_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( raidendx_mem, AS_PROGRAM, 16, raiden2_state )
+ 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 //???
AM_RANGE(0x00600, 0x0063f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read_alt, write_alt)
// AM_RANGE(0x006ca, 0x006cb) AM_WRITENOP
- AM_IMPORT_FROM( raiden2_mem )
ADDRESS_MAP_END
static ADDRESS_MAP_START( zeroteam_mem, AS_PROGRAM, 16, raiden2_state )
AM_RANGE(0x00000, 0x003ff) AM_RAM
+ AM_IMPORT_FROM( raiden2_cop_mem )
+
AM_RANGE(0x00470, 0x00471) AM_WRITENOP
AM_RANGE(0x006cc, 0x006cd) AM_WRITENOP
AM_RANGE(0x0068e, 0x0068f) AM_WRITENOP // irq ack / sprite buffering?
- AM_IMPORT_FROM( raiden2_cop_mem )
-
AM_RANGE(0x00700, 0x0071f) AM_DEVREADWRITE8_MOD("seibu_sound", seibu_sound_device, main_r, main_w, rshift<1>, 0x00ff)
AM_RANGE(0x00740, 0x00741) AM_READ_PORT("DSW")
@@ -1032,13 +1032,13 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( xsedae_mem, AS_PROGRAM, 16, raiden2_state )
AM_RANGE(0x00000, 0x003ff) AM_RAM
+ AM_IMPORT_FROM( raiden2_cop_mem )
+
AM_RANGE(0x00470, 0x00471) AM_WRITENOP
AM_RANGE(0x006cc, 0x006cd) AM_WRITENOP
AM_RANGE(0x0068e, 0x0068f) AM_WRITENOP //irq ack / sprite buffering?
- AM_IMPORT_FROM( raiden2_cop_mem )
-
AM_RANGE(0x00700, 0x0071f) AM_DEVREADWRITE8_MOD("seibu_sound", seibu_sound_device, main_r, main_w, rshift<1>, 0x00ff)
AM_RANGE(0x00740, 0x00741) AM_READ_PORT("DSW")
diff --git a/src/mame/drivers/rastersp.cpp b/src/mame/drivers/rastersp.cpp
index 3b8003e444a..f338fba4720 100644
--- a/src/mame/drivers/rastersp.cpp
+++ b/src/mame/drivers/rastersp.cpp
@@ -674,10 +674,10 @@ static ADDRESS_MAP_START( cpu_map, AS_PROGRAM, 32, rastersp_state )
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)
+ AM_RANGE(0x02200000, 0x022fffff) AM_READWRITE8(nvram_r, nvram_w, 0x000000ff)
AM_RANGE(0x02200800, 0x02200803) AM_WRITENOP // ?
AM_RANGE(0x02208000, 0x02208fff) AM_DEVREADWRITE("scsibus:7:ncr53c700", ncr53c7xx_device, read, write)
AM_RANGE(0x0220e000, 0x0220e003) AM_WRITE(dpylist_w)
- AM_RANGE(0x02200000, 0x022fffff) AM_READWRITE8(nvram_r, nvram_w, 0x000000ff)
AM_RANGE(0xfff00000, 0xffffffff) AM_RAMBANK("bank3")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/re900.cpp b/src/mame/drivers/re900.cpp
index 0ab1e0c7880..2b7da70bbfd 100644
--- a/src/mame/drivers/re900.cpp
+++ b/src/mame/drivers/re900.cpp
@@ -251,11 +251,11 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( mem_io, AS_IO, 8, re900_state )
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)
AM_RANGE(0xe000, 0xe000) AM_DEVWRITE("tms9128", tms9928a_device, vram_write)
AM_RANGE(0xe001, 0xe001) AM_DEVWRITE("tms9128", tms9928a_device, register_write)
AM_RANGE(0xe800, 0xe801) AM_DEVWRITE("ay_re900", ay8910_device, address_data_w)
AM_RANGE(0xe802, 0xe802) AM_DEVREAD("ay_re900", ay8910_device, data_r)
- AM_RANGE(0xe000, 0xefff) AM_WRITE(watchdog_reset_w)
AM_RANGE(MCS51_PORT_P0, MCS51_PORT_P0) AM_WRITE(cpu_port_0_w)
AM_RANGE(MCS51_PORT_P2, MCS51_PORT_P2) AM_NOP
AM_RANGE(MCS51_PORT_P3, MCS51_PORT_P3) AM_NOP
diff --git a/src/mame/drivers/realbrk.cpp b/src/mame/drivers/realbrk.cpp
index 32461c5c945..a98f5515cd1 100644
--- a/src/mame/drivers/realbrk.cpp
+++ b/src/mame/drivers/realbrk.cpp
@@ -162,8 +162,8 @@ static ADDRESS_MAP_START( base_mem, AS_PROGRAM, 16, realbrk_state )
AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(vram_0_w) AM_SHARE("vram_0") // Background (0)
AM_RANGE(0x602000, 0x603fff) AM_RAM_WRITE(vram_1_w) AM_SHARE("vram_1") // Background (1)
AM_RANGE(0x604000, 0x604fff) AM_RAM_WRITE(vram_2_w) AM_SHARE("vram_2") // Text (2)
- AM_RANGE(0x606000, 0x60600f) AM_RAM_WRITE(vregs_w) AM_SHARE("vregs") // Scroll + Video Regs
AM_RANGE(0x605000, 0x61ffff) AM_RAM //
+ AM_RANGE(0x606000, 0x60600f) AM_RAM_WRITE(vregs_w) AM_SHARE("vregs") // Scroll + Video Regs
AM_RANGE(0x800000, 0x800003) AM_DEVREADWRITE8("ymz", ymz280b_device, read, write, 0xff00) // YMZ280
AM_RANGE(0xfe0000, 0xfeffff) AM_RAM // RAM
AM_RANGE(0xfffc00, 0xffffff) AM_DEVREADWRITE("tmp68301", tmp68301_device, regs_r, regs_w) // TMP68301 Registers
@@ -171,33 +171,34 @@ ADDRESS_MAP_END
/*realbrk specific memory map*/
static ADDRESS_MAP_START( realbrk_mem, AS_PROGRAM, 16, realbrk_state )
+ 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)
AM_RANGE(0xc00002, 0xc00003) AM_READ_PORT("IN1") // Coins
AM_RANGE(0xc00004, 0xc00005) AM_RAM_READ(realbrk_dsw_r) AM_SHARE("dsw_select") // DSW select
AM_RANGE(0xff0000, 0xfffbff) AM_RAM // RAM
- AM_IMPORT_FROM(base_mem)
ADDRESS_MAP_END
/*pkgnsh specific memory map*/
static ADDRESS_MAP_START( pkgnsh_mem, AS_PROGRAM, 16, realbrk_state )
+ 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)
AM_RANGE(0xff0000, 0xfffbff) AM_READWRITE(backup_ram_r,backup_ram_w) AM_SHARE("backup_ram") // RAM
- AM_IMPORT_FROM(base_mem)
ADDRESS_MAP_END
/*pkgnshdx specific memory map*/
static ADDRESS_MAP_START( pkgnshdx_mem, AS_PROGRAM, 16, realbrk_state )
+ 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)
AM_RANGE(0xc00004, 0xc00005) AM_WRITEONLY AM_SHARE("dsw_select") // DSW select
AM_RANGE(0xff0000, 0xfffbff) AM_READWRITE(backup_ram_dx_r,backup_ram_w) AM_SHARE("backup_ram") // RAM
- AM_IMPORT_FROM(base_mem)
ADDRESS_MAP_END
/*dai2kaku specific memory map*/
static ADDRESS_MAP_START( dai2kaku_mem, AS_PROGRAM, 16, realbrk_state )
+ 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)
AM_RANGE(0x800008, 0x80000b) AM_DEVWRITE8("ymsnd", ym2413_device, write, 0x00ff) //
@@ -206,7 +207,6 @@ static ADDRESS_MAP_START( dai2kaku_mem, AS_PROGRAM, 16, realbrk_state )
AM_RANGE(0xc00004, 0xc00005) AM_RAM_READ(realbrk_dsw_r) AM_SHARE("dsw_select") // DSW select
AM_RANGE(0xff0000, 0xfffbff) AM_RAM // RAM
AM_RANGE(0xfffd0a, 0xfffd0b) AM_WRITE(dai2kaku_flipscreen_w ) // Hack! Parallel port data register
- AM_IMPORT_FROM(base_mem)
ADDRESS_MAP_END
/***************************************************************************
diff --git a/src/mame/drivers/renegade.cpp b/src/mame/drivers/renegade.cpp
index 6c0a80d5747..f2278c4d98f 100644
--- a/src/mame/drivers/renegade.cpp
+++ b/src/mame/drivers/renegade.cpp
@@ -249,9 +249,9 @@ static ADDRESS_MAP_START( renegade_nomcu_map, AS_PROGRAM, 8, renegade_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( renegade_map, AS_PROGRAM, 8, renegade_state )
+ 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)
- AM_IMPORT_FROM(renegade_nomcu_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START( renegade_sound_map, AS_PROGRAM, 8, renegade_state )
diff --git a/src/mame/drivers/rocnrope.cpp b/src/mame/drivers/rocnrope.cpp
index b388c18a9da..c606c511c1a 100644
--- a/src/mame/drivers/rocnrope.cpp
+++ b/src/mame/drivers/rocnrope.cpp
@@ -67,9 +67,9 @@ static ADDRESS_MAP_START( rocnrope_map, AS_PROGRAM, 8, rocnrope_state )
AM_RANGE(0x3083, 0x3083) AM_READ_PORT("DSW1")
AM_RANGE(0x3000, 0x3000) AM_READ_PORT("DSW2")
AM_RANGE(0x3100, 0x3100) AM_READ_PORT("DSW3")
+ AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x4000, 0x402f) AM_RAM AM_SHARE("spriteram2")
AM_RANGE(0x4400, 0x442f) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x4800, 0x4bff) AM_RAM_WRITE(rocnrope_colorram_w) AM_SHARE("colorram")
AM_RANGE(0x4c00, 0x4fff) AM_RAM_WRITE(rocnrope_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x5000, 0x5fff) AM_RAM
diff --git a/src/mame/drivers/rohga.cpp b/src/mame/drivers/rohga.cpp
index 2300c484b87..5442a31d965 100644
--- a/src/mame/drivers/rohga.cpp
+++ b/src/mame/drivers/rohga.cpp
@@ -216,8 +216,8 @@ static ADDRESS_MAP_START( wizdfire_map, AS_PROGRAM, 16, rohga_state )
AM_RANGE(0x380000, 0x381fff) AM_RAM_DEVWRITE("deco_common", decocomn_device, buffered_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x390008, 0x390009) AM_DEVWRITE("deco_common", decocomn_device, palette_dma_w)
- AM_RANGE(0xfe4000, 0xfe7fff) AM_READWRITE(wf_protection_region_0_104_r,wf_protection_region_0_104_w) AM_SHARE("prot16ram") /* Protection device */
AM_RANGE(0xfdc000, 0xffffff) AM_RAM
+ AM_RANGE(0xfe4000, 0xfe7fff) AM_READWRITE(wf_protection_region_0_104_r,wf_protection_region_0_104_w) AM_SHARE("prot16ram") /* Protection device */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/royalmah.cpp b/src/mame/drivers/royalmah.cpp
index ec12052990a..0a6842e082e 100644
--- a/src/mame/drivers/royalmah.cpp
+++ b/src/mame/drivers/royalmah.cpp
@@ -584,9 +584,9 @@ static ADDRESS_MAP_START( mjapinky_map, AS_PROGRAM, 8, royalmah_state )
AM_RANGE( 0x0000, 0x6fff ) AM_ROM AM_WRITENOP
AM_RANGE( 0x7000, 0x77ff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x7800, 0x7fff ) AM_RAM
- AM_RANGE( 0x8000, 0x8000 ) AM_READ(mjapinky_dsw_r )
AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK( "mainbank" )
AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_SHARE("videoram")
+ AM_RANGE( 0x8000, 0x8000 ) AM_READ(mjapinky_dsw_r )
ADDRESS_MAP_END
static ADDRESS_MAP_START( tahjong_map, AS_PROGRAM, 8, royalmah_state )
diff --git a/src/mame/drivers/scobra.cpp b/src/mame/drivers/scobra.cpp
index 2297867f3b1..7af0def2d60 100644
--- a/src/mame/drivers/scobra.cpp
+++ b/src/mame/drivers/scobra.cpp
@@ -225,8 +225,8 @@ static ADDRESS_MAP_START( mimonkey_map, AS_PROGRAM, 8, scobra_state )
AM_RANGE(0x9080, 0x90ff) AM_RAM
AM_RANGE(0x9800, 0x9803) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
AM_RANGE(0xa000, 0xa003) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write)
- AM_RANGE(0xa801, 0xa801) AM_WRITE(galaxold_nmi_enable_w)
AM_RANGE(0xa800, 0xa802) AM_WRITE(galaxold_gfxbank_w)
+ AM_RANGE(0xa801, 0xa801) AM_WRITE(galaxold_nmi_enable_w)
AM_RANGE(0xa806, 0xa806) AM_WRITE(galaxold_flip_screen_x_w)
AM_RANGE(0xa807, 0xa807) AM_WRITE(galaxold_flip_screen_y_w)
AM_RANGE(0xb000, 0xb000) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
diff --git a/src/mame/drivers/scorpion.cpp b/src/mame/drivers/scorpion.cpp
index 117fb792ded..09caa0c4250 100644
--- a/src/mame/drivers/scorpion.cpp
+++ b/src/mame/drivers/scorpion.cpp
@@ -195,8 +195,8 @@ static ADDRESS_MAP_START (scorpion_io, AS_IO, 8, scorpion_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START (scorpion_switch, AS_OPCODES, 8, scorpion_state)
- AM_RANGE(0x3d00, 0x3dff) AM_READ(beta_enable_r)
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)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/scramble.cpp b/src/mame/drivers/scramble.cpp
index abf46ffe332..4cfe5da3a8d 100644
--- a/src/mame/drivers/scramble.cpp
+++ b/src/mame/drivers/scramble.cpp
@@ -73,8 +73,8 @@ WRITE8_MEMBER(scramble_state::scramble_soundram_w)
static ADDRESS_MAP_START( scramble_sound_map, AS_PROGRAM, 8, scramble_state )
AM_RANGE(0x0000, 0x2fff) AM_ROM
- AM_RANGE(0x8000, 0x8fff) AM_READWRITE(scramble_soundram_r, scramble_soundram_w)
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
@@ -251,8 +251,8 @@ static ADDRESS_MAP_START( mimonscr_map, AS_PROGRAM, 8, scramble_state )
AM_RANGE(0x5040, 0x505f) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x5060, 0x507f) AM_RAM AM_SHARE("bulletsram")
AM_RANGE(0x5080, 0x50ff) AM_RAM
- AM_RANGE(0x6801, 0x6801) AM_WRITE(galaxold_nmi_enable_w)
AM_RANGE(0x6800, 0x6802) AM_WRITE(galaxold_gfxbank_w)
+ AM_RANGE(0x6801, 0x6801) AM_WRITE(galaxold_nmi_enable_w)
AM_RANGE(0x6806, 0x6806) AM_WRITE(galaxold_flip_screen_x_w)
AM_RANGE(0x6807, 0x6807) AM_WRITE(galaxold_flip_screen_y_w)
AM_RANGE(0x7000, 0x7000) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
diff --git a/src/mame/drivers/segam1.cpp b/src/mame/drivers/segam1.cpp
index 38c0635e384..02363bcc09b 100644
--- a/src/mame/drivers/segam1.cpp
+++ b/src/mame/drivers/segam1.cpp
@@ -207,8 +207,8 @@ static ADDRESS_MAP_START( segam1_sound_map, AS_PROGRAM, 8, segam1_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( unkm1_sound_map, AS_PROGRAM, 8, segam1_state )
- AM_RANGE(0xe000, 0xefff) AM_RAM
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 )
diff --git a/src/mame/drivers/segas32.cpp b/src/mame/drivers/segas32.cpp
index ed7f81fc84a..ac95297b211 100644
--- a/src/mame/drivers/segas32.cpp
+++ b/src/mame/drivers/segas32.cpp
@@ -2321,8 +2321,8 @@ 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_UNMAP_HIGH
- AM_RANGE(0xc00050, 0xc00057) AM_MIRROR(0x0fff80) AM_DEVREADWRITE8("adc", msm6253_device, d7_r, address_w, 0x00ff)
AM_IMPORT_FROM(system32_map)
+ AM_RANGE(0xc00050, 0xc00057) AM_MIRROR(0x0fff80) AM_DEVREADWRITE8("adc", msm6253_device, d7_r, address_w, 0x00ff)
ADDRESS_MAP_END
MACHINE_CONFIG_START(segas32_analog_state::device_add_mconfig)
@@ -2356,11 +2356,11 @@ 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_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)
AM_RANGE(0xc00040, 0xc00047) AM_MIRROR(0x0fff80) AM_DEVREADWRITE8("upd1", upd4701_device, read_xy, reset_xy, 0x00ff)
AM_RANGE(0xc00048, 0xc0004f) AM_MIRROR(0x0fff80) AM_DEVREADWRITE8("upd2", upd4701_device, read_xy, reset_xy, 0x00ff)
AM_RANGE(0xc00050, 0xc00057) AM_MIRROR(0x0fff80) AM_DEVREADWRITE8("upd3", upd4701_device, read_xy, reset_xy, 0x00ff)
- AM_IMPORT_FROM(system32_map)
ADDRESS_MAP_END
MACHINE_CONFIG_START(segas32_trackball_state::device_add_mconfig)
@@ -2397,8 +2397,8 @@ segas32_trackball_state::segas32_trackball_state(const machine_config &mconfig,
static ADDRESS_MAP_START( system32_4player_map, AS_PROGRAM, 16, segas32_state )
ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE(0xc00060, 0xc00067) AM_MIRROR(0x0fff80) AM_DEVREADWRITE8("ppi", i8255_device, read, write, 0x00ff)
AM_IMPORT_FROM(system32_map)
+ AM_RANGE(0xc00060, 0xc00067) AM_MIRROR(0x0fff80) AM_DEVREADWRITE8("ppi", i8255_device, read, write, 0x00ff)
ADDRESS_MAP_END
MACHINE_CONFIG_START(segas32_4player_state::device_add_mconfig)
@@ -2431,8 +2431,8 @@ 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_UNMAP_HIGH
- AM_RANGE(0xa00000, 0xa00fff) AM_DEVREADWRITE8("dpram", mb8421_device, right_r, right_w, 0x00ff)
AM_IMPORT_FROM(system32_4player_map)
+ AM_RANGE(0xa00000, 0xa00fff) AM_DEVREADWRITE8("dpram", mb8421_device, right_r, right_w, 0x00ff)
ADDRESS_MAP_END
MACHINE_CONFIG_START(segas32_v25_state::device_add_mconfig)
@@ -2508,13 +2508,13 @@ WRITE_LINE_MEMBER(segas32_cd_state::scsi_drq_w)
static ADDRESS_MAP_START( system32_cd_map, AS_PROGRAM, 16, segas32_state )
ADDRESS_MAP_UNMAP_HIGH
+ AM_IMPORT_FROM(system32_map)
#if S32_KOKOROJI_TEST_CD
AM_RANGE(0xc00040, 0xc0005f) AM_MIRROR(0x0fff80) AM_DEVREADWRITE8("mb89352", mb89352_device, mb89352_r, mb89352_w, 0x00ff)
#else
AM_RANGE(0xc00040, 0xc0005f) AM_MIRROR(0x0fff80) AM_NOP
#endif
AM_RANGE(0xc00060, 0xc0006f) AM_MIRROR(0x0fff80) AM_DEVREADWRITE8("cxdio", cxd1095_device, read, write, 0x00ff)
- AM_IMPORT_FROM(system32_map)
ADDRESS_MAP_END
void segas32_cd_state::cdrom_config(device_t *device)
@@ -2644,9 +2644,9 @@ 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_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xffffff)
+ AM_IMPORT_FROM(multi32_map)
AM_RANGE(0xc00050, 0xc00057) AM_MIRROR(0x07ff80) AM_DEVREADWRITE8("adc", msm6253_device, d7_r, address_w, 0x00ff00ff)
AM_RANGE(0xc00060, 0xc00063) AM_MIRROR(0x07ff80) AM_WRITE8(analog_bank_w, 0x000000ff)
- AM_IMPORT_FROM(multi32_map)
ADDRESS_MAP_END
MACHINE_CONFIG_START(sega_multi32_analog_state::device_add_mconfig)
@@ -2689,8 +2689,8 @@ 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_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xffffff)
- AM_RANGE(0xc00060, 0xc00067) AM_MIRROR(0x07ff80) AM_DEVREADWRITE8("ppi", i8255_device, read, write, 0x00ff00ff)
AM_IMPORT_FROM(multi32_map)
+ AM_RANGE(0xc00060, 0xc00067) AM_MIRROR(0x07ff80) AM_DEVREADWRITE8("ppi", i8255_device, read, write, 0x00ff00ff)
ADDRESS_MAP_END
MACHINE_CONFIG_START(sega_multi32_6player_state::device_add_mconfig)
diff --git a/src/mame/drivers/segaufo.cpp b/src/mame/drivers/segaufo.cpp
index 5906197f2de..6f477f63f44 100644
--- a/src/mame/drivers/segaufo.cpp
+++ b/src/mame/drivers/segaufo.cpp
@@ -465,18 +465,18 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( ex_ufo21_portmap, AS_IO, 8, ufo_state )
+ 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
AM_RANGE(0x61, 0x61) AM_READ(ex_upd_busy_r)
AM_RANGE(0x64, 0x65) AM_WRITE(ex_ufo21_lamps_w) AM_READNOP
// AM_RANGE(0x68, 0x68) AM_WRITENOP // ?
- AM_IMPORT_FROM( ufo_portmap )
ADDRESS_MAP_END
static ADDRESS_MAP_START( ex_ufo800_portmap, AS_IO, 8, ufo_state )
+ AM_IMPORT_FROM( ufo_portmap )
// AM_RANGE(0x60, 0x67) AM_NOP // unused?
// AM_RANGE(0x68, 0x68) AM_WRITENOP // ?
- AM_IMPORT_FROM( ufo_portmap )
ADDRESS_MAP_END
diff --git a/src/mame/drivers/segaybd.cpp b/src/mame/drivers/segaybd.cpp
index fc1ae0dea6b..7a55ffd72b8 100644
--- a/src/mame/drivers/segaybd.cpp
+++ b/src/mame/drivers/segaybd.cpp
@@ -715,11 +715,10 @@ WRITE16_MEMBER(segaybd_state::link2_w)
}
static ADDRESS_MAP_START( main_map_link, AS_PROGRAM, 16, segaybd_state )
+ 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)
AM_RANGE(0x192000, 0x192001) AM_READWRITE(link2_r, link2_w)
-
- AM_IMPORT_FROM(main_map)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/seibucats.cpp b/src/mame/drivers/seibucats.cpp
index 47e90aa6c24..9c8b82189f8 100644
--- a/src/mame/drivers/seibucats.cpp
+++ b/src/mame/drivers/seibucats.cpp
@@ -164,6 +164,8 @@ WRITE16_MEMBER(seibucats_state::aux_rtc_w)
static ADDRESS_MAP_START( seibucats_map, AS_PROGRAM, 32, seibucats_state )
// TODO: map devices
+ AM_RANGE(0x00000000, 0x0003ffff) AM_RAM AM_SHARE("mainram")
+
AM_RANGE(0x00000010, 0x00000013) AM_READ8(spi_status_r, 0x000000ff)
AM_RANGE(0x00000400, 0x00000403) AM_WRITE16(input_select_w, 0x0000ffff)
AM_RANGE(0x00000404, 0x00000407) AM_WRITE16(output_latch_w, 0x0000ffff)
@@ -174,7 +176,6 @@ static ADDRESS_MAP_START( seibucats_map, AS_PROGRAM, 32, seibucats_state )
AM_RANGE(0x00000600, 0x00000607) AM_READ16(input_mux_r, 0x0000ffff)
- AM_RANGE(0x00000000, 0x0003ffff) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x00200000, 0x003fffff) AM_ROM AM_REGION("ipl", 0) AM_WRITENOP // emjjoshi attempts to write there?
// following are likely to be Seibu CATS specific
AM_RANGE(0x01200000, 0x01200007) AM_DEVREADWRITE8("ymz", ymz280b_device, read, write, 0x000000ff)
diff --git a/src/mame/drivers/seibuspi.cpp b/src/mame/drivers/seibuspi.cpp
index 3f24a44085b..91e99e7d862 100644
--- a/src/mame/drivers/seibuspi.cpp
+++ b/src/mame/drivers/seibuspi.cpp
@@ -997,6 +997,7 @@ WRITE32_MEMBER(seibuspi_state::ejsakura_input_select_w)
static ADDRESS_MAP_START( base_map, AS_PROGRAM, 32, seibuspi_state )
+ 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)
AM_RANGE(0x00000484, 0x00000487) AM_WRITE(palette_dma_start_w)
@@ -1007,7 +1008,6 @@ static ADDRESS_MAP_START( base_map, AS_PROGRAM, 32, seibuspi_state )
AM_RANGE(0x00000604, 0x00000607) AM_READ_PORT("INPUTS")
AM_RANGE(0x00000608, 0x0000060b) AM_READ_PORT("EXCH")
AM_RANGE(0x0000060c, 0x0000060f) AM_READ_PORT("SYSTEM")
- AM_RANGE(0x00000000, 0x0003ffff) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x00200000, 0x003fffff) AM_ROM AM_SHARE("share1")
AM_RANGE(0xffe00000, 0xffffffff) AM_ROM AM_REGION("maincpu", 0) AM_SHARE("share1") // ROM location in real-mode
ADDRESS_MAP_END
@@ -1029,6 +1029,7 @@ static ADDRESS_MAP_START( rise_map, AS_PROGRAM, 32, seibuspi_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( spi_map, AS_PROGRAM, 32, seibuspi_state )
+ AM_IMPORT_FROM( base_map )
AM_IMPORT_FROM( sei252_map )
AM_RANGE(0x00000600, 0x00000603) AM_WRITENOP // ?
AM_RANGE(0x00000680, 0x00000683) AM_DEVREAD8("soundfifo2", fifo7200_device, data_byte_r, 0x000000ff)
@@ -1043,10 +1044,10 @@ static ADDRESS_MAP_START( spi_map, AS_PROGRAM, 32, seibuspi_state )
AM_RANGE(0x000006dc, 0x000006df) AM_DEVREAD8("ds2404", ds2404_device, ds2404_data_r, 0x000000ff)
AM_RANGE(0x000006dc, 0x000006df) AM_READ8(spi_ds2404_unknown_r, 0x0000ff00)
AM_RANGE(0x00a00000, 0x013fffff) AM_ROM AM_REGION("sound01", 0)
- AM_IMPORT_FROM( base_map )
ADDRESS_MAP_END
static ADDRESS_MAP_START( rdft2_map, AS_PROGRAM, 32, seibuspi_state )
+ AM_IMPORT_FROM( base_map )
AM_IMPORT_FROM( rise_map )
AM_RANGE(0x00000600, 0x00000603) AM_WRITENOP // ?
AM_RANGE(0x00000680, 0x00000683) AM_DEVREAD8("soundfifo2", fifo7200_device, data_byte_r, 0x000000ff)
@@ -1061,10 +1062,10 @@ static ADDRESS_MAP_START( rdft2_map, AS_PROGRAM, 32, seibuspi_state )
AM_RANGE(0x000006dc, 0x000006df) AM_DEVREAD8("ds2404", ds2404_device, ds2404_data_r, 0x000000ff)
AM_RANGE(0x000006dc, 0x000006df) AM_READ8(spi_ds2404_unknown_r, 0x0000ff00)
AM_RANGE(0x00a00000, 0x013fffff) AM_ROM AM_REGION("sound01", 0)
- AM_IMPORT_FROM( base_map )
ADDRESS_MAP_END
static ADDRESS_MAP_START( sxx2e_map, AS_PROGRAM, 32, seibuspi_state )
+ AM_IMPORT_FROM( base_map )
AM_IMPORT_FROM( sei252_map )
AM_RANGE(0x00000680, 0x00000683) AM_READ8(sb_coin_r, 0x000000ff)
AM_RANGE(0x00000680, 0x00000683) AM_DEVWRITE8("soundfifo1", fifo7200_device, data_byte_w, 0x000000ff)
@@ -1076,10 +1077,10 @@ static ADDRESS_MAP_START( sxx2e_map, AS_PROGRAM, 32, seibuspi_state )
AM_RANGE(0x000006d8, 0x000006db) AM_DEVWRITE8("ds2404", ds2404_device, ds2404_clk_w, 0x000000ff)
AM_RANGE(0x000006dc, 0x000006df) AM_DEVREAD8("ds2404", ds2404_device, ds2404_data_r, 0x000000ff)
AM_RANGE(0x000006dc, 0x000006df) AM_READ8(spi_ds2404_unknown_r, 0x0000ff00)
- AM_IMPORT_FROM( base_map )
ADDRESS_MAP_END
static ADDRESS_MAP_START( sxx2f_map, AS_PROGRAM, 32, seibuspi_state )
+ AM_IMPORT_FROM( base_map )
AM_IMPORT_FROM( rise_map )
AM_RANGE(0x00000680, 0x00000683) AM_READ8(sb_coin_r, 0x000000ff)
AM_RANGE(0x00000680, 0x00000683) AM_DEVWRITE8("soundfifo1", fifo7200_device, data_byte_w, 0x000000ff)
@@ -1087,19 +1088,19 @@ static ADDRESS_MAP_START( sxx2f_map, AS_PROGRAM, 32, seibuspi_state )
AM_RANGE(0x00000688, 0x0000068b) AM_NOP // ?
AM_RANGE(0x0000068c, 0x0000068f) AM_WRITE8(spi_layerbanks_eeprom_w, 0x00ff0000)
AM_RANGE(0x00000690, 0x00000693) AM_WRITENOP // ?
- AM_IMPORT_FROM( base_map )
ADDRESS_MAP_END
static ADDRESS_MAP_START( sys386i_map, AS_PROGRAM, 32, seibuspi_state )
+ AM_IMPORT_FROM( base_map )
AM_IMPORT_FROM( rise_map )
AM_RANGE(0x0000068c, 0x0000068f) AM_WRITE8(spi_layerbanks_eeprom_w, 0x00ff0000)
AM_RANGE(0x0000068c, 0x0000068f) AM_WRITE8(oki_bank_w, 0xff000000)
AM_RANGE(0x01200000, 0x01200003) AM_DEVREADWRITE8("oki1", okim6295_device, read, write, 0x000000ff)
AM_RANGE(0x01200004, 0x01200007) AM_DEVREADWRITE8("oki2", okim6295_device, read, write, 0x000000ff)
- AM_IMPORT_FROM( base_map )
ADDRESS_MAP_END
static ADDRESS_MAP_START( sys386f_map, AS_PROGRAM, 32, seibuspi_state )
+ AM_RANGE(0x00000000, 0x0003ffff) AM_RAM AM_SHARE("mainram")
AM_IMPORT_FROM( rise_map )
AM_RANGE(0x00000010, 0x00000013) AM_READ8(spi_status_r, 0x000000ff)
AM_RANGE(0x00000400, 0x00000403) AM_READ_PORT("SYSTEM") AM_WRITE(ejsakura_input_select_w)
@@ -1110,7 +1111,6 @@ static ADDRESS_MAP_START( sys386f_map, AS_PROGRAM, 32, seibuspi_state )
AM_RANGE(0x00000494, 0x00000497) AM_WRITE(video_dma_address_w)
AM_RANGE(0x00000600, 0x00000607) AM_DEVREAD8("ymz", ymz280b_device, read, 0x000000ff)
AM_RANGE(0x0000060c, 0x0000060f) AM_READ(ejsakura_keyboard_r)
- AM_RANGE(0x00000000, 0x0003ffff) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x00200000, 0x003fffff) AM_ROM AM_SHARE("share1")
AM_RANGE(0xffe00000, 0xffffffff) AM_ROM AM_REGION("maincpu", 0) AM_SHARE("share1") // ROM location in real-mode
ADDRESS_MAP_END
@@ -1171,9 +1171,9 @@ static ADDRESS_MAP_START( sxx2e_soundmap, AS_PROGRAM, 8, seibuspi_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( spi_soundmap, AS_PROGRAM, 8, seibuspi_state )
+ 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
- AM_IMPORT_FROM( sxx2e_soundmap )
ADDRESS_MAP_END
diff --git a/src/mame/drivers/senjyo.cpp b/src/mame/drivers/senjyo.cpp
index f866c3b65b3..e40f7b67d01 100644
--- a/src/mame/drivers/senjyo.cpp
+++ b/src/mame/drivers/senjyo.cpp
@@ -130,6 +130,7 @@ static ADDRESS_MAP_START( senjyo_map, AS_PROGRAM, 8, senjyo_state )
AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(fgcolorram_w) AM_SHARE("fgcolorram")
AM_RANGE(0x9800, 0x987f) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x9c00, 0x9dff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
+ AM_RANGE(0x9e00, 0x9e3f) AM_RAM
AM_RANGE(0x9e00, 0x9e1f) AM_RAM AM_SHARE("fgscroll")
AM_RANGE(0x9e20, 0x9e21) AM_RAM AM_SHARE("scrolly3")
/* AM_RANGE(0x9e22, 0x9e23) height of the layer (Senjyo only, fixed at 0x380) */
@@ -143,7 +144,6 @@ static ADDRESS_MAP_START( senjyo_map, AS_PROGRAM, 8, senjyo_state )
AM_RANGE(0x9e35, 0x9e35) AM_RAM AM_SHARE("scrollx1")
/* AM_RANGE(0x9e38, 0x9e38) probably radar y position (Senjyo only, fixed at 0x61) */
/* AM_RANGE(0x9e3d, 0x9e3d) probably radar x position (Senjyo only, 0x00/0xc0 depending on screen flip) */
- AM_RANGE(0x9e00, 0x9e3f) AM_RAM
AM_RANGE(0xa000, 0xa7ff) AM_RAM_WRITE(bg3videoram_w) AM_SHARE("bg3videoram")
AM_RANGE(0xa800, 0xafff) AM_RAM_WRITE(bg2videoram_w) AM_SHARE("bg2videoram")
AM_RANGE(0xb000, 0xb7ff) AM_RAM_WRITE(bg1videoram_w) AM_SHARE("bg1videoram")
@@ -167,10 +167,6 @@ static ADDRESS_MAP_START( senjyo_sound_map, AS_PROGRAM, 8, senjyo_state )
AM_RANGE(0x9000, 0x9000) AM_DEVWRITE("sn2", sn76496_device, write)
AM_RANGE(0xa000, 0xa000) AM_DEVWRITE("sn3", sn76496_device, write)
AM_RANGE(0xd000, 0xd000) AM_WRITE(volume_w)
-#if 0
- AM_RANGE(0xe000, 0xe000) AM_WRITE(unknown)
- AM_RANGE(0xf000, 0xf000) AM_WRITE(unknown)
-#endif
ADDRESS_MAP_END
static ADDRESS_MAP_START( senjyo_sound_io_map, AS_IO, 8, senjyo_state )
@@ -202,11 +198,11 @@ static ADDRESS_MAP_START( starforb_map, AS_PROGRAM, 8, senjyo_state )
AM_RANGE(0x9800, 0x987f) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x9c00, 0x9dff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
/* The format / use of the ram here is different on the bootleg */
+ AM_RANGE(0x9e00, 0x9e3f) AM_RAM
AM_RANGE(0x9e20, 0x9e21) AM_RAM AM_SHARE("scrolly3")
AM_RANGE(0x9e25, 0x9e25) AM_RAM AM_SHARE("scrollx3")
AM_RANGE(0x9e30, 0x9e31) AM_RAM_WRITE(starforb_scrolly2) AM_SHARE("scrolly2") // ok
AM_RANGE(0x9e35, 0x9e35) AM_RAM_WRITE(starforb_scrollx2) AM_SHARE("scrollx2") // ok
- AM_RANGE(0x9e00, 0x9e3f) AM_RAM
AM_RANGE(0xa000, 0xa7ff) AM_RAM_WRITE(bg3videoram_w) AM_SHARE("bg3videoram")
AM_RANGE(0xa800, 0xafff) AM_RAM_WRITE(bg2videoram_w) AM_SHARE("bg2videoram")
@@ -233,10 +229,6 @@ static ADDRESS_MAP_START( starforb_sound_map, AS_PROGRAM, 8, senjyo_state )
AM_RANGE(0x9000, 0x9000) AM_DEVWRITE("sn2", sn76496_device, write)
AM_RANGE(0xa000, 0xa000) AM_DEVWRITE("sn3", sn76496_device, write)
AM_RANGE(0xd000, 0xd000) AM_WRITE(volume_w)
-#if 0
- AM_RANGE(0xe000, 0xe000) AM_WRITE(unknown)
- AM_RANGE(0xf000, 0xf000) AM_WRITE(unknown)
-#endif
AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/seta.cpp b/src/mame/drivers/seta.cpp
index 701f9ee7b40..fdc0f55781f 100644
--- a/src/mame/drivers/seta.cpp
+++ b/src/mame/drivers/seta.cpp
@@ -1733,7 +1733,6 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( calibr50_map, AS_PROGRAM, 16, seta_state )
AM_RANGE(0x000000, 0x09ffff) AM_ROM // ROM
- AM_RANGE(0xff0000, 0xffffff) AM_RAM // RAM
AM_RANGE(0x100000, 0x100001) AM_READ(ipl2_ack_r)
AM_RANGE(0x200000, 0x200fff) AM_RAM // NVRAM
AM_RANGE(0x300000, 0x300001) AM_READWRITE(ipl1_ack_r, ipl1_ack_w)
@@ -1757,6 +1756,8 @@ static ADDRESS_MAP_START( calibr50_map, AS_PROGRAM, 16, seta_state )
AM_RANGE(0xb00000, 0xb00001) AM_DEVREAD8("soundlatch2", generic_latch_8_device, read, 0x00ff) // From Sub CPU
AM_RANGE(0xb00000, 0xb00001) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff) // To Sub CPU
/**/AM_RANGE(0xc00000, 0xc00001) AM_RAM // ? $4000
+
+ AM_RANGE(0xff0000, 0xffffff) AM_RAM // RAM
ADDRESS_MAP_END
@@ -1995,10 +1996,10 @@ static ADDRESS_MAP_START( wrofaero_map, AS_PROGRAM, 16, seta_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( zombraid_map, AS_PROGRAM, 16, seta_state )
+ 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)
AM_RANGE(0xf00002, 0xf00003) AM_READ(zombraid_gun_r)
- AM_IMPORT_FROM( wrofaero_map )
ADDRESS_MAP_END
READ16_MEMBER(seta_state::zingzipbl_unknown_r)
@@ -2547,8 +2548,8 @@ static ADDRESS_MAP_START( kamenrid_map, AS_PROGRAM, 16, seta_state )
AM_RANGE(0x500004, 0x500007) AM_READ(seta_dsw_r) // DSW
AM_RANGE(0x500008, 0x500009) AM_READ_PORT("COINS") // Coins
AM_RANGE(0x50000c, 0x50000d) AM_DEVREADWRITE("watchdog", watchdog_timer_device, reset16_r, reset16_w) // xx Watchdog? (sokonuke)
- AM_RANGE(0x600004, 0x600005) AM_WRITE(ipl1_ack_w)
AM_RANGE(0x600000, 0x600005) AM_RAM_WRITE(seta_vregs_w) AM_SHARE("vregs") // ? Coin Lockout + Video Registers
+ AM_RANGE(0x600004, 0x600005) AM_WRITE(ipl1_ack_w)
AM_RANGE(0x600006, 0x600007) AM_WRITE(ipl2_ack_w)
AM_RANGE(0x700000, 0x7003ff) AM_RAM // Palette RAM (tested)
AM_RANGE(0x700400, 0x700fff) AM_RAM AM_SHARE("paletteram") // Palette
@@ -2577,8 +2578,8 @@ static ADDRESS_MAP_START( madshark_map, AS_PROGRAM, 16, seta_state )
AM_RANGE(0x500004, 0x500005) AM_READ_PORT("COINS") // Coins
AM_RANGE(0x500008, 0x50000b) AM_READ(seta_dsw_r) // DSW
AM_RANGE(0x50000c, 0x50000d) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
- AM_RANGE(0x600004, 0x600005) AM_WRITE(ipl1_ack_w)
AM_RANGE(0x600000, 0x600005) AM_RAM_WRITE(seta_vregs_w) AM_SHARE("vregs") // ? Coin Lockout + Video Registers
+ AM_RANGE(0x600004, 0x600005) AM_WRITE(ipl1_ack_w)
AM_RANGE(0x600006, 0x600007) AM_WRITE(ipl2_ack_w)
AM_RANGE(0x700400, 0x700fff) AM_RAM AM_SHARE("paletteram") // Palette
AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE(seta_vram_0_w) AM_SHARE("vram_0") // VRAM 0&1
diff --git a/src/mame/drivers/sfcbox.cpp b/src/mame/drivers/sfcbox.cpp
index d2ac9c7dc76..7bd97b9f20f 100644
--- a/src/mame/drivers/sfcbox.cpp
+++ b/src/mame/drivers/sfcbox.cpp
@@ -280,8 +280,8 @@ WRITE8_MEMBER( sfcbox_state::snes_map_1_w )
}
static ADDRESS_MAP_START( sfcbox_io, AS_IO, 8, sfcbox_state )
- AM_RANGE(0x0b, 0x0b) AM_DEVWRITE("mb90082",mb90082_device,write)
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
AM_RANGE(0x81, 0x81) AM_READWRITE(port_81_r,port_81_w) // SNES Transfer and Misc Input / Misc Output
// AM_RANGE(0x82, 0x82) // Unknown/unused
diff --git a/src/mame/drivers/sidearms.cpp b/src/mame/drivers/sidearms.cpp
index a855638c80c..39f9c3a73de 100644
--- a/src/mame/drivers/sidearms.cpp
+++ b/src/mame/drivers/sidearms.cpp
@@ -157,12 +157,12 @@ static ADDRESS_MAP_START( whizz_map, AS_PROGRAM, 8, sidearms_state )
AM_RANGE(0xc807, 0xc807) AM_READ_PORT("IN4")
AM_RANGE(0xc808, 0xc809) AM_WRITEONLY AM_SHARE("bg_scrollx")
AM_RANGE(0xc80a, 0xc80b) AM_WRITEONLY AM_SHARE("bg_scrolly")
- AM_RANGE(0xe805, 0xe805) AM_WRITE(star_scrollx_w)
- AM_RANGE(0xe806, 0xe806) AM_WRITE(star_scrolly_w)
AM_RANGE(0xc80c, 0xc80c) AM_WRITE(gfxctrl_w)
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(colorram_w) AM_SHARE("colorram")
AM_RANGE(0xe000, 0xefff) AM_RAM
+ AM_RANGE(0xe805, 0xe805) AM_WRITE(star_scrollx_w)
+ AM_RANGE(0xe806, 0xe806) AM_WRITE(star_scrolly_w)
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/sidepckt.cpp b/src/mame/drivers/sidepckt.cpp
index d19c22f4e8c..763356f34ba 100644
--- a/src/mame/drivers/sidepckt.cpp
+++ b/src/mame/drivers/sidepckt.cpp
@@ -215,9 +215,9 @@ static ADDRESS_MAP_START( sidepckt_map, AS_PROGRAM, 8, sidepckt_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( sidepcktb_map, AS_PROGRAM, 8, sidepckt_state )
+ AM_IMPORT_FROM( sidepckt_map )
AM_RANGE(0x3014, 0x3014) AM_READNOP
AM_RANGE(0x3018, 0x3018) AM_WRITENOP
- AM_IMPORT_FROM( sidepckt_map )
ADDRESS_MAP_END
diff --git a/src/mame/drivers/sigmab98.cpp b/src/mame/drivers/sigmab98.cpp
index 1572df542a5..65a6430fe18 100644
--- a/src/mame/drivers/sigmab98.cpp
+++ b/src/mame/drivers/sigmab98.cpp
@@ -792,10 +792,11 @@ static ADDRESS_MAP_START( dodghero_mem_map, AS_PROGRAM, 8, sigmab98_state )
AM_RANGE( 0xd001, 0xd07f ) AM_RAM AM_SHARE("vtable")
+ AM_RANGE( 0xd800, 0xdfff ) AM_RAMBANK("rambank") // not used, where is it mapped?
+
+ AM_RANGE( 0xd800, 0xd821 ) AM_READWRITE(vregs_r, vregs_w) AM_SHARE("vregs")
AM_RANGE( 0xd813, 0xd813 ) AM_READ(d013_r)
AM_RANGE( 0xd821, 0xd821 ) AM_READ(d021_r)
- AM_RANGE( 0xd800, 0xd821 ) AM_READWRITE(vregs_r, vregs_w) AM_SHARE("vregs")
- AM_RANGE( 0xd800, 0xdfff ) AM_RAMBANK("rambank") // not used, where is it mapped?
AM_RANGE( 0xe000, 0xefff ) AM_RAM AM_SHARE("nvram") // battery backed RAM
@@ -987,9 +988,9 @@ static ADDRESS_MAP_START( gegege_mem_map, AS_PROGRAM, 8, sigmab98_state )
AM_RANGE( 0xc800, 0xc87f ) AM_RAM AM_SHARE("vtable")
+ AM_RANGE( 0xd000, 0xd021 ) AM_READWRITE(vregs_r, vregs_w) AM_SHARE("vregs")
AM_RANGE( 0xd013, 0xd013 ) AM_READ(d013_r)
AM_RANGE( 0xd021, 0xd021 ) AM_READ(d021_r)
- AM_RANGE( 0xd000, 0xd021 ) AM_READWRITE(vregs_r, vregs_w) AM_SHARE("vregs")
AM_RANGE( 0xd800, 0xdfff ) AM_RAMBANK("rambank")
@@ -1216,9 +1217,9 @@ static ADDRESS_MAP_START( lufykzku_mem_map, AS_PROGRAM, 8, lufykzku_state )
AM_RANGE( 0xd000, 0xefff ) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette") // more palette entries
+ AM_RANGE( 0xf000, 0xf021 ) AM_READWRITE(vregs_r, vregs_w) AM_SHARE("vregs")
AM_RANGE( 0xf013, 0xf013 ) AM_READ(d013_r)
AM_RANGE( 0xf021, 0xf021 ) AM_READ(d021_r)
- AM_RANGE( 0xf000, 0xf021 ) AM_READWRITE(vregs_r, vregs_w) AM_SHARE("vregs")
AM_RANGE( 0xf400, 0xf47f ) AM_RAM AM_SHARE("vtable")
@@ -1459,9 +1460,9 @@ static ADDRESS_MAP_START( animalc_map, AS_PROGRAM, 8, sigmab98_state )
AM_RANGE( 0xd000, 0xd1ff ) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE( 0xd800, 0xd87f ) AM_RAM AM_SHARE("vtable")
+ AM_RANGE( 0xe000, 0xe021 ) AM_READWRITE(vregs_r, vregs_w) AM_SHARE("vregs")
AM_RANGE( 0xe011, 0xe011 ) AM_WRITENOP // IRQ Enable? Screen disable?
AM_RANGE( 0xe013, 0xe013 ) AM_READWRITE(vblank_r, vblank_w ) // IRQ Ack?
- AM_RANGE( 0xe000, 0xe021 ) AM_READWRITE(vregs_r, vregs_w) AM_SHARE("vregs")
AM_RANGE( 0xfe00, 0xffff ) AM_RAM // High speed internal RAM
ADDRESS_MAP_END
@@ -2246,9 +2247,9 @@ static ADDRESS_MAP_START( itazuram_map, AS_PROGRAM, 8, sigmab98_state )
AM_RANGE( 0x5800, 0x59ff ) AM_READWRITE(itazuram_palette_r, itazuram_palette_w )
AM_RANGE( 0x6000, 0x607f ) AM_RAM AM_SHARE("vtable")
+ AM_RANGE( 0x6800, 0x6821 ) AM_READWRITE(vregs_r, vregs_w) AM_SHARE("vregs")
AM_RANGE( 0x6811, 0x6811 ) AM_WRITENOP // IRQ Enable? Screen disable?
AM_RANGE( 0x6813, 0x6813 ) AM_WRITENOP // IRQ Ack?
- AM_RANGE( 0x6800, 0x6821 ) AM_READWRITE(vregs_r, vregs_w) AM_SHARE("vregs")
AM_RANGE( 0xdc00, 0xfdff ) AM_READ_BANK( "palbank" ) AM_WRITE(itazuram_nvram_palette_w ) AM_SHARE( "nvram" ) // nvram | paletteram
AM_RANGE( 0xfe00, 0xffff ) AM_RAM // High speed internal RAM
@@ -2276,8 +2277,8 @@ ADDRESS_MAP_END
***************************************************************************/
static ADDRESS_MAP_START( pyenaget_io, AS_IO, 8, sigmab98_state )
- AM_RANGE( 0x31, 0x31 ) AM_READWRITE(sammymdl_coin_counter_r, sammymdl_coin_counter_w )
AM_IMPORT_FROM( haekaka_io )
+ AM_RANGE( 0x31, 0x31 ) AM_READWRITE(sammymdl_coin_counter_r, sammymdl_coin_counter_w )
ADDRESS_MAP_END
/***************************************************************************
diff --git a/src/mame/drivers/simple_st0016.cpp b/src/mame/drivers/simple_st0016.cpp
index 21c4e5a1fe2..8f934fcde85 100644
--- a/src/mame/drivers/simple_st0016.cpp
+++ b/src/mame/drivers/simple_st0016.cpp
@@ -47,8 +47,8 @@ static ADDRESS_MAP_START( st0016_mem, AS_PROGRAM, 8, st0016_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( renju_mem, AS_PROGRAM, 8, st0016_state )
- AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("maincpu", 0x200000 )
AM_IMPORT_FROM( st0016_mem )
+ AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("maincpu", 0x200000 )
ADDRESS_MAP_END
diff --git a/src/mame/drivers/simpsons.cpp b/src/mame/drivers/simpsons.cpp
index fafbad0b7ad..cafa550374d 100644
--- a/src/mame/drivers/simpsons.cpp
+++ b/src/mame/drivers/simpsons.cpp
@@ -116,7 +116,9 @@ Notes:
***************************************************************************/
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, simpsons_state )
+ 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)
AM_RANGE(0x1f80, 0x1f80) AM_READ_PORT("COIN")
AM_RANGE(0x1f81, 0x1f81) AM_READ_PORT("TEST")
AM_RANGE(0x1f90, 0x1f90) AM_READ_PORT("P1")
@@ -131,8 +133,6 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, simpsons_state )
AM_RANGE(0x1fc6, 0x1fc7) AM_DEVREADWRITE("k053260", k053260_device, main_read, main_write)
AM_RANGE(0x1fc8, 0x1fc9) AM_DEVREAD("k053246", k053247_device, k053246_r)
AM_RANGE(0x1fca, 0x1fca) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
- AM_RANGE(0x0000, 0x1fff) AM_DEVREADWRITE("k052109", k052109_device, read, write)
- AM_RANGE(0x2000, 0x3fff) AM_DEVICE("bank2000", address_map_bank_device, amap8)
AM_RANGE(0x4000, 0x5fff) AM_RAM
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("maincpu", 0x78000)
diff --git a/src/mame/drivers/skeetsht.cpp b/src/mame/drivers/skeetsht.cpp
index 734836cd007..97c4b6442d7 100644
--- a/src/mame/drivers/skeetsht.cpp
+++ b/src/mame/drivers/skeetsht.cpp
@@ -186,10 +186,10 @@ WRITE8_MEMBER(skeetsht_state::ay8910_w)
*************************************/
static ADDRESS_MAP_START( hc11_pgm_map, AS_PROGRAM, 8, skeetsht_state )
- AM_RANGE(0x2800, 0x2807) AM_READWRITE(tms_r, tms_w)
+ 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
- AM_RANGE(0x0000, 0xffff) AM_ROM AM_REGION("68hc11", 0)
ADDRESS_MAP_END
static ADDRESS_MAP_START( hc11_io_map, AS_IO, 8, skeetsht_state )
@@ -204,9 +204,9 @@ ADDRESS_MAP_END
*************************************/
static ADDRESS_MAP_START( tms_program_map, AS_PROGRAM, 16, skeetsht_state )
- AM_RANGE(0xc0000000, 0xc00001ff) AM_DEVREADWRITE("tms", tms34010_device, io_register_r, io_register_w)
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)
AM_RANGE(0xff800000, 0xffbfffff) AM_ROM AM_MIRROR(0x00400000) AM_REGION("tms", 0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/skimaxx.cpp b/src/mame/drivers/skimaxx.cpp
index c875db0173a..09392857a32 100644
--- a/src/mame/drivers/skimaxx.cpp
+++ b/src/mame/drivers/skimaxx.cpp
@@ -351,8 +351,8 @@ static ADDRESS_MAP_START( 68030_2_map, AS_PROGRAM, 32, skimaxx_state )
// AM_RANGE(0xfffc0000, 0xfffc7fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0xfffc0000, 0xfffcffff) AM_RAM AM_SHARE("share1")
// AM_RANGE(0xfffe0000, 0xffffffff) AM_RAM // I think this is banked with the shared RAM? (see CPU sync routines)
- AM_RANGE(0xfffe0010, 0xfffeffff) AM_RAM // HACK
AM_RANGE(0xfffe0000, 0xfffeffff) AM_RAM AM_SHARE("share1") // HACK
+ AM_RANGE(0xfffe0010, 0xfffeffff) AM_RAM // HACK
AM_RANGE(0xffff0000, 0xffffffff) AM_RAM
ADDRESS_MAP_END
@@ -364,8 +364,7 @@ ADDRESS_MAP_END
*************************************/
static ADDRESS_MAP_START( tms_program_map, AS_PROGRAM, 16, skimaxx_state )
- AM_RANGE(0x00000000, 0x000100ff) AM_RAM
- AM_RANGE(0x00008000, 0x0003ffff) AM_RAM
+ AM_RANGE(0x00000000, 0x0003ffff) AM_RAM
AM_RANGE(0x00050000, 0x0005ffff) AM_RAM
AM_RANGE(0x00220000, 0x003fffff) AM_RAM AM_SHARE("fg_buffer")
AM_RANGE(0x02000000, 0x0200000f) AM_RAM
diff --git a/src/mame/drivers/skylncr.cpp b/src/mame/drivers/skylncr.cpp
index d60c8775ee8..80bc85bb86e 100644
--- a/src/mame/drivers/skylncr.cpp
+++ b/src/mame/drivers/skylncr.cpp
@@ -532,8 +532,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( io_map_mbutrfly, AS_IO, 8, skylncr_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x60, 0x60) AM_WRITE(mbutrfly_prot_w)
AM_IMPORT_FROM(io_map_skylncr)
+ AM_RANGE(0x60, 0x60) AM_WRITE(mbutrfly_prot_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/slapfght.cpp b/src/mame/drivers/slapfght.cpp
index d5d0e0973ab..4b2eb5abd96 100644
--- a/src/mame/drivers/slapfght.cpp
+++ b/src/mame/drivers/slapfght.cpp
@@ -298,18 +298,18 @@ static ADDRESS_MAP_START( tigerh_map, AS_PROGRAM, 8, slapfght_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( tigerh_map_mcu, AS_PROGRAM, 8, slapfght_state )
- AM_RANGE(0xe803, 0xe803) AM_DEVREADWRITE("bmcu", taito68705_mcu_device, data_r, data_w)
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 )
- AM_RANGE(0xe803, 0xe803) AM_READWRITE(tigerhb1_prot_r, tigerhb1_prot_w)
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 )
- AM_RANGE(0xe803, 0xe803) AM_NOP // no MCU
AM_IMPORT_FROM( tigerh_map )
+ AM_RANGE(0xe803, 0xe803) AM_NOP // no MCU
ADDRESS_MAP_END
@@ -329,18 +329,18 @@ static ADDRESS_MAP_START( slapfigh_map, AS_PROGRAM, 8, slapfght_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( slapfigh_map_mcu, AS_PROGRAM, 8, slapfght_state )
- AM_RANGE(0xe803, 0xe803) AM_DEVREADWRITE("bmcu", taito68705_mcu_device, data_r, data_w)
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 )
- AM_RANGE(0xe803, 0xe803) AM_NOP // no MCU
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 )
- AM_RANGE(0xe803, 0xe803) AM_READWRITE(getstar_mcusim_r, getstar_mcusim_w)
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 )
diff --git a/src/mame/drivers/snk.cpp b/src/mame/drivers/snk.cpp
index 40fc565c1ff..107e6bc70c8 100644
--- a/src/mame/drivers/snk.cpp
+++ b/src/mame/drivers/snk.cpp
@@ -895,8 +895,8 @@ static ADDRESS_MAP_START( madcrash_cpuA_map, AS_PROGRAM, 8, snk_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( madcrash_cpuB_map, AS_PROGRAM, 8, snk_state )
- AM_RANGE(0x8700, 0x8700) AM_WRITE(snk_cpuB_nmi_ack_w) // vangrd2
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
AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(marvins_fg_videoram_w) AM_SHARE("fg_videoram")
AM_RANGE(0xc800, 0xcfff) AM_RAM AM_SHARE("share5")
@@ -945,9 +945,9 @@ static ADDRESS_MAP_START( madcrush_cpuB_map, AS_PROGRAM, 8, snk_state )
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
+ AM_RANGE(0xc800, 0xcfff) AM_RAM AM_SHARE("share5")
AM_RANGE(0xc800, 0xc800) AM_MIRROR(0xff) AM_WRITE(marvins_palette_bank_w)
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(marvins_fg_videoram_w) AM_SHARE("fg_videoram")
- AM_RANGE(0xc800, 0xcfff) AM_RAM AM_SHARE("share5")
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(marvins_bg_videoram_w) AM_SHARE("bg_videoram") // ??
AM_RANGE(0xe800, 0xefff) AM_RAM AM_SHARE("share3")
AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(snk_tx_videoram_w) AM_SHARE("tx_videoram")
diff --git a/src/mame/drivers/spbactn.cpp b/src/mame/drivers/spbactn.cpp
index aea93d3f505..33c331194c4 100644
--- a/src/mame/drivers/spbactn.cpp
+++ b/src/mame/drivers/spbactn.cpp
@@ -231,7 +231,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( spbactnp_extra_map, AS_PROGRAM, 8, spbactn_state )
- AM_RANGE(0x0000, 0xefff) AM_ROM
+ AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("extraram2")
AM_RANGE(0xe000, 0xefff) AM_RAM
AM_RANGE(0xd000, 0xd1ff) AM_RAM_WRITE( extraram_w ) AM_SHARE("extraram")
diff --git a/src/mame/drivers/spy.cpp b/src/mame/drivers/spy.cpp
index 9f4d2ac0130..b0da6a78995 100644
--- a/src/mame/drivers/spy.cpp
+++ b/src/mame/drivers/spy.cpp
@@ -377,6 +377,7 @@ WRITE8_MEMBER(spy_state::k052109_051960_w)
static ADDRESS_MAP_START( spy_map, AS_PROGRAM, 8, spy_state )
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)
AM_RANGE(0x3f80, 0x3f80) AM_WRITE(bankswitch_w)
AM_RANGE(0x3f90, 0x3f90) AM_WRITE(spy_3f90_w)
AM_RANGE(0x3fa0, 0x3fa0) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
@@ -387,7 +388,6 @@ static ADDRESS_MAP_START( spy_map, AS_PROGRAM, 8, spy_state )
AM_RANGE(0x3fd2, 0x3fd2) AM_READ_PORT("P2")
AM_RANGE(0x3fd3, 0x3fd3) AM_READ_PORT("DSW1")
AM_RANGE(0x3fe0, 0x3fe0) AM_READ_PORT("DSW2")
- AM_RANGE(0x2000, 0x5fff) AM_READWRITE(k052109_051960_r, k052109_051960_w)
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/spyhuntertec.cpp b/src/mame/drivers/spyhuntertec.cpp
index a090de95e11..78cdf6959b8 100644
--- a/src/mame/drivers/spyhuntertec.cpp
+++ b/src/mame/drivers/spyhuntertec.cpp
@@ -422,11 +422,11 @@ READ8_MEMBER(spyhuntertec_state::spyhuntertec_in3_r)
static ADDRESS_MAP_START( spyhuntertec_map, AS_PROGRAM, 8, spyhuntertec_state )
ADDRESS_MAP_UNMAP_HIGH
+ AM_RANGE(0x0000, 0xdfff) AM_ROM
+
AM_RANGE(0xa800, 0xa8ff) AM_RAM // the ROM is a solid fill in these areas, and they get tested as RAM, I think they moved the 'real' scroll regs here
AM_RANGE(0xa900, 0xa9ff) AM_RAM
- AM_RANGE(0x0000, 0xdfff) AM_ROM
-
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(spyhunt_videoram_w) AM_SHARE("videoram")
AM_RANGE(0xe800, 0xebff) AM_MIRROR(0x0400) AM_RAM_WRITE(spyhunt_alpharam_w) AM_SHARE("spyhunt_alpha")
AM_RANGE(0xf000, 0xf7ff) AM_RAM //AM_SHARE("nvram")
diff --git a/src/mame/drivers/srmp2.cpp b/src/mame/drivers/srmp2.cpp
index bec1df80a36..0080134fa52 100644
--- a/src/mame/drivers/srmp2.cpp
+++ b/src/mame/drivers/srmp2.cpp
@@ -520,11 +520,11 @@ WRITE8_MEMBER(srmp2_state::rmgoldyh_rombank_w)
static ADDRESS_MAP_START( rmgoldyh_io_map, AS_IO, 8, srmp2_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
+ AM_IMPORT_FROM(srmp3_io_map)
AM_RANGE(0x00, 0x00) AM_WRITENOP /* watchdog */
AM_RANGE(0x60, 0x60) AM_WRITE(rmgoldyh_rombank_w) /* ROM bank select */
AM_RANGE(0x80, 0x80) AM_READ_PORT("DSW4")
AM_RANGE(0x81, 0x81) AM_READ_PORT("DSW3")
- AM_IMPORT_FROM(srmp3_io_map)
ADDRESS_MAP_END
/***************************************************************************
diff --git a/src/mame/drivers/sslam.cpp b/src/mame/drivers/sslam.cpp
index 0bdaa8defa3..62a60ce9a9f 100644
--- a/src/mame/drivers/sslam.cpp
+++ b/src/mame/drivers/sslam.cpp
@@ -376,6 +376,8 @@ 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 )
+ 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
AM_RANGE(0x100000, 0x103fff) AM_RAM_WRITE(sslam_bg_tileram_w) AM_SHARE("bg_tileram")
AM_RANGE(0x104000, 0x107fff) AM_RAM_WRITE(sslam_md_tileram_w) AM_SHARE("md_tileram")
@@ -394,8 +396,6 @@ static ADDRESS_MAP_START( sslam_program_map, AS_PROGRAM, 16, sslam_state )
AM_RANGE(0x30001c, 0x30001d) AM_READ_PORT("DSW1")
AM_RANGE(0x30001e, 0x30001f) AM_WRITE8(sslam_snd_w, 0x00ff)
AM_RANGE(0xf00000, 0xffffff) AM_RAM /* Main RAM */
-
- AM_RANGE(0x000000, 0xffffff) AM_ROM /* I don't honestly know where the rom is mirrored .. so all unmapped reads / writes go to rom */
ADDRESS_MAP_END
static ADDRESS_MAP_START( powerbls_map, AS_PROGRAM, 16, sslam_state )
diff --git a/src/mame/drivers/ssystem3.cpp b/src/mame/drivers/ssystem3.cpp
index a0216f6fc26..1a3ce92dcef 100644
--- a/src/mame/drivers/ssystem3.cpp
+++ b/src/mame/drivers/ssystem3.cpp
@@ -230,12 +230,8 @@ static ADDRESS_MAP_START( ssystem3_map , AS_PROGRAM, 8, ssystem3_state )
$40ff low nibble ram if playfield module (else init with normal playfield)
*/
AM_RANGE( 0x6000, 0x600f) AM_DEVREADWRITE("via6522_0", via6522_device, read, write)
-#if 1
AM_RANGE( 0xc000, 0xdfff) AM_ROM
AM_RANGE( 0xf000, 0xffff) AM_ROM
-#else
- AM_RANGE( 0xc000, 0xffff) AM_ROM
-#endif
ADDRESS_MAP_END
static INPUT_PORTS_START( ssystem3 )
diff --git a/src/mame/drivers/starwars.cpp b/src/mame/drivers/starwars.cpp
index 98bacd514d7..cbc4f4cb3fb 100644
--- a/src/mame/drivers/starwars.cpp
+++ b/src/mame/drivers/starwars.cpp
@@ -161,9 +161,9 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, starwars_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( esb_main_map, AS_PROGRAM, 8, starwars_state )
+ AM_IMPORT_FROM(main_map)
AM_RANGE(0x8000, 0x9fff) AM_READWRITE(esb_slapstic_r, esb_slapstic_w)
AM_RANGE(0xa000, 0xffff) AM_ROMBANK("bank2")
- AM_IMPORT_FROM(main_map)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/stfight.cpp b/src/mame/drivers/stfight.cpp
index 243492b300e..66ad0ef3b45 100644
--- a/src/mame/drivers/stfight.cpp
+++ b/src/mame/drivers/stfight.cpp
@@ -287,11 +287,11 @@ static ADDRESS_MAP_START( cpu1_map, AS_PROGRAM, 8, stfight_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( stfight_cpu1_map, AS_PROGRAM, 8, stfight_state )
+ 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")
AM_RANGE(0xd800, 0xd808) AM_RAM_DEVWRITE("stfight_vid", stfight_video_device, stfight_vh_latch_w) AM_SHARE("vregs")
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("sprite_ram")
- AM_IMPORT_FROM(cpu1_map)
ADDRESS_MAP_END
@@ -301,12 +301,12 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( cshooter_cpu1_map, AS_PROGRAM, 8, stfight_state )
+ 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")
AM_RANGE(0xd800, 0xd80f) AM_RAM_DEVWRITE("airraid_vid", airraid_video_device, vregs_w) AM_SHARE("vregs") // wrong?
AM_RANGE(0xe000, 0xfdff) AM_RAM
AM_RANGE(0xfe00, 0xffff) AM_RAM AM_SHARE("sprite_ram")
- AM_IMPORT_FROM(cpu1_map)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/subs.cpp b/src/mame/drivers/subs.cpp
index 03d00679188..cd262787582 100644
--- a/src/mame/drivers/subs.cpp
+++ b/src/mame/drivers/subs.cpp
@@ -53,6 +53,7 @@ PALETTE_INIT_MEMBER(subs_state, subs)
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, subs_state )
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
+ AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x0000, 0x0000) AM_WRITE(noise_reset_w)
AM_RANGE(0x0000, 0x0007) AM_READ(control_r)
AM_RANGE(0x0020, 0x0020) AM_WRITE(steer_reset_w)
@@ -61,7 +62,6 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, subs_state )
AM_RANGE(0x0060, 0x0063) AM_READ(options_r)
AM_RANGE(0x0060, 0x006f) AM_DEVWRITE("latch", ls259_device, write_a0)
AM_RANGE(0x0090, 0x009f) AM_SHARE("spriteram")
- AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x0800, 0x0bff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x2000, 0x3fff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/subsino.cpp b/src/mame/drivers/subsino.cpp
index b45a1bf25a8..b80ca9aa369 100644
--- a/src/mame/drivers/subsino.cpp
+++ b/src/mame/drivers/subsino.cpp
@@ -858,6 +858,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sharkpy_map, AS_PROGRAM, 8, subsino_state )
+ AM_RANGE( 0x00000, 0x13fff ) AM_ROM //overlap unmapped regions
AM_RANGE( 0x09800, 0x09fff ) AM_RAM
AM_RANGE( 0x09000, 0x09002 ) AM_DEVREAD("ppi1", i8255_device, read)
@@ -877,8 +878,6 @@ static ADDRESS_MAP_START( sharkpy_map, AS_PROGRAM, 8, subsino_state )
AM_RANGE( 0x07800, 0x07fff ) AM_RAM
AM_RANGE( 0x08000, 0x087ff ) AM_RAM_WRITE(subsino_colorram_w ) AM_SHARE("colorram")
AM_RANGE( 0x08800, 0x08fff ) AM_RAM_WRITE(subsino_videoram_w ) AM_SHARE("videoram")
-
- AM_RANGE( 0x00000, 0x13fff ) AM_ROM //overlap unmapped regions
ADDRESS_MAP_END
/*
@@ -888,6 +887,8 @@ this event makes the game to reset without any money in the bank.
*/
static ADDRESS_MAP_START( victor21_map, AS_PROGRAM, 8, subsino_state )
+ AM_RANGE( 0x00000, 0x08fff ) AM_ROM //overlap unmapped regions
+
AM_RANGE( 0x09800, 0x09fff ) AM_RAM
AM_RANGE( 0x09000, 0x09003 ) AM_DEVREADWRITE("ppi", i8255_device, read, write)
@@ -909,7 +910,6 @@ static ADDRESS_MAP_START( victor21_map, AS_PROGRAM, 8, subsino_state )
AM_RANGE( 0x08000, 0x087ff ) AM_RAM_WRITE(subsino_videoram_w ) AM_SHARE("videoram")
AM_RANGE( 0x08800, 0x08fff ) AM_RAM_WRITE(subsino_colorram_w ) AM_SHARE("colorram")
- AM_RANGE( 0x00000, 0x08fff ) AM_ROM //overlap unmapped regions
AM_RANGE( 0x10000, 0x13fff ) AM_ROM
ADDRESS_MAP_END
@@ -979,6 +979,8 @@ READ8_MEMBER(subsino_state::hwcheck_r)
}
static ADDRESS_MAP_START( crsbingo_map, AS_PROGRAM, 8, subsino_state )
+ AM_RANGE( 0x00000, 0x8fff ) AM_ROM //overlap unmapped regions
+
AM_RANGE( 0x09800, 0x09fff ) AM_RAM
AM_RANGE( 0x09000, 0x09000 ) AM_READ_PORT( "SW1" )
@@ -1005,8 +1007,6 @@ static ADDRESS_MAP_START( crsbingo_map, AS_PROGRAM, 8, subsino_state )
AM_RANGE( 0x08000, 0x087ff ) AM_RAM_WRITE(subsino_videoram_w ) AM_SHARE("videoram")
AM_RANGE( 0x08800, 0x08fff ) AM_RAM_WRITE(subsino_colorram_w ) AM_SHARE("colorram")
- AM_RANGE( 0x00000, 0x8fff ) AM_ROM //overlap unmapped regions
-
AM_RANGE( 0x10000, 0x13fff ) AM_ROM //overlap unmapped regions
ADDRESS_MAP_END
@@ -1027,6 +1027,7 @@ WRITE8_MEMBER(subsino_state::subsino_out_c_w)
}
static ADDRESS_MAP_START( tisub_map, AS_PROGRAM, 8, subsino_state )
+ AM_RANGE( 0x00000, 0x0bfff ) AM_ROM // overlap unmapped regions
AM_RANGE( 0x09800, 0x09fff ) AM_RAM
AM_RANGE( 0x09000, 0x09002 ) AM_DEVREAD("ppi1", i8255_device, read)
@@ -1049,7 +1050,6 @@ static ADDRESS_MAP_START( tisub_map, AS_PROGRAM, 8, subsino_state )
AM_RANGE( 0x08800, 0x08fff ) AM_RAM_WRITE(subsino_videoram_w ) AM_SHARE("videoram")
AM_RANGE( 0x08000, 0x087ff ) AM_RAM_WRITE(subsino_colorram_w ) AM_SHARE("colorram")
- AM_RANGE( 0x00000, 0x0bfff ) AM_ROM // overlap unmapped regions
AM_RANGE( 0x10000, 0x13fff ) AM_ROM
AM_RANGE( 0x14000, 0x14fff ) AM_ROM // reads the card face data here (see rom copy in rom loading)
diff --git a/src/mame/drivers/subsino2.cpp b/src/mame/drivers/subsino2.cpp
index 51200c347d8..d127b136e3f 100644
--- a/src/mame/drivers/subsino2.cpp
+++ b/src/mame/drivers/subsino2.cpp
@@ -1049,8 +1049,8 @@ static ADDRESS_MAP_START( new2001_base_map, AS_PROGRAM, 16, subsino2_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( new2001_map, AS_PROGRAM, 16, subsino2_state )
- AM_RANGE( 0xc00008, 0xc00009 ) AM_WRITE(new2001_outputs_w ) AM_SHARE("outputs16")
AM_IMPORT_FROM(new2001_base_map)
+ AM_RANGE( 0xc00008, 0xc00009 ) AM_WRITE(new2001_outputs_w ) AM_SHARE("outputs16")
ADDRESS_MAP_END
/***************************************************************************
@@ -1085,8 +1085,8 @@ WRITE16_MEMBER(subsino2_state::humlan_outputs_w)
}
static ADDRESS_MAP_START( humlan_map, AS_PROGRAM, 16, subsino2_state )
- AM_RANGE( 0xc00008, 0xc00009 ) AM_WRITE(humlan_outputs_w ) AM_SHARE("outputs16")
AM_IMPORT_FROM(new2001_base_map)
+ AM_RANGE( 0xc00008, 0xc00009 ) AM_WRITE(humlan_outputs_w ) AM_SHARE("outputs16")
ADDRESS_MAP_END
/***************************************************************************
@@ -1480,17 +1480,17 @@ WRITE8_MEMBER(subsino2_state::xtrain_outputs_w)
}
static ADDRESS_MAP_START( expcard_io, AS_IO, 8, subsino2_state )
+ 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")
-
- AM_IMPORT_FROM( xplan_io )
ADDRESS_MAP_END
static ADDRESS_MAP_START( xtrain_io, AS_IO, 8, subsino2_state )
+ AM_IMPORT_FROM( xplan_io )
+
// 306 = d, 307 = c, 308 = b, 309 = a
AM_RANGE(0x0306, 0x0309) AM_WRITE(xtrain_outputs_w ) AM_SHARE("outputs")
-
- AM_IMPORT_FROM( xplan_io )
ADDRESS_MAP_END
diff --git a/src/mame/drivers/surpratk.cpp b/src/mame/drivers/surpratk.cpp
index cb58aed85d1..7489bb10791 100644
--- a/src/mame/drivers/surpratk.cpp
+++ b/src/mame/drivers/surpratk.cpp
@@ -62,6 +62,7 @@ static ADDRESS_MAP_START( surpratk_map, AS_PROGRAM, 8, surpratk_state )
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 */
+ AM_RANGE(0x4000, 0x7fff) AM_DEVREADWRITE("k052109", k052109_device, read, write)
AM_RANGE(0x5f8c, 0x5f8c) AM_READ_PORT("P1")
AM_RANGE(0x5f8d, 0x5f8d) AM_READ_PORT("P2")
AM_RANGE(0x5f8e, 0x5f8e) AM_READ_PORT("DSW3")
@@ -72,7 +73,6 @@ static ADDRESS_MAP_START( surpratk_map, AS_PROGRAM, 8, surpratk_state )
AM_RANGE(0x5fc0, 0x5fc0) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r) AM_WRITE(surpratk_5fc0_w)
AM_RANGE(0x5fd0, 0x5fd1) AM_DEVWRITE("ymsnd", ym2151_device, write)
AM_RANGE(0x5fc4, 0x5fc4) AM_WRITE(surpratk_videobank_w)
- AM_RANGE(0x4000, 0x7fff) AM_DEVREADWRITE("k052109", k052109_device, read, write)
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("maincpu", 0x38000)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/swtpc09.cpp b/src/mame/drivers/swtpc09.cpp
index 3233fd5c078..ec1bfe254fe 100644
--- a/src/mame/drivers/swtpc09.cpp
+++ b/src/mame/drivers/swtpc09.cpp
@@ -67,6 +67,7 @@ static ADDRESS_MAP_START(mp09_mem, AS_PROGRAM, 8, swtpc09_state)
ADDRESS_MAP_END
static ADDRESS_MAP_START(flex_dmf2_mem, AS_PROGRAM, 8, swtpc09_state)
+ 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)
AM_RANGE(0xe080, 0xe083) AM_MIRROR(0xf000c) AM_DEVREADWRITE("pia", pia6821_device, read, write)
@@ -77,10 +78,10 @@ static ADDRESS_MAP_START(flex_dmf2_mem, AS_PROGRAM, 8, swtpc09_state)
AM_RANGE(0xf024, 0xf03f) AM_MIRROR(0xf0000) AM_READWRITE(dmf2_control_reg_r, dmf2_control_reg_w)
//AM_RANGE(0xf042, 0xf7ff) AM_MIRROR(0xf0000) AM_NOP
AM_RANGE(0xf800, 0xffff) AM_MIRROR(0xf0000) AM_ROM AM_REGION("maincpu", 0xf800)
- AM_RANGE(0x00000, 0xfffff) AM_RAM AM_SHARE("mainram") // all the rest is treated as ram, 1MB ram emulated
ADDRESS_MAP_END
static ADDRESS_MAP_START(flex_dc4_piaide_mem, AS_PROGRAM, 8, swtpc09_state)
+ 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)
AM_RANGE(0xe014, 0xe014) AM_MIRROR(0xf0000) AM_WRITE(dc4_control_reg_w)
@@ -98,10 +99,10 @@ static ADDRESS_MAP_START(flex_dc4_piaide_mem, AS_PROGRAM, 8, swtpc09_state)
//AM_RANGE(0xf040, 0xf041) AM_MIRROR(0xf0000) AM_READWRITE(dmf2_dma_address_reg_r, dmf2_dma_address_reg_w)
AM_RANGE(0xf000, 0xf7ff) AM_MIRROR(0xf0000) AM_RAM AM_SHARE("s09ram") // 2k ram for piaide on s09 board
AM_RANGE(0xf800, 0xffff) AM_MIRROR(0xf0000) AM_ROM AM_REGION("maincpu", 0xf800)
- AM_RANGE(0x00000, 0xfffff) AM_RAM AM_SHARE("mainram") // all the rest is treated as ram, 1MB ram emulated
ADDRESS_MAP_END
static ADDRESS_MAP_START(uniflex_dmf2_mem, AS_PROGRAM, 8, swtpc09_state)
+ 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
AM_RANGE(0xe080, 0xe083) AM_MIRROR(0xf000c) AM_DEVREADWRITE("pia", pia6821_device, read, write)
@@ -112,10 +113,10 @@ static ADDRESS_MAP_START(uniflex_dmf2_mem, AS_PROGRAM, 8, swtpc09_state)
AM_RANGE(0xf024, 0xf03f) AM_MIRROR(0xf0000) AM_READWRITE(dmf2_control_reg_r, dmf2_control_reg_w)
//AM_RANGE(0xf042, 0xf7ff) AM_MIRROR(0xf0000) AM_NOP
AM_RANGE(0xf800, 0xffff) AM_MIRROR(0xf0000) AM_ROM AM_REGION("maincpu", 0xf800)
- AM_RANGE(0x00000, 0xfffff) AM_RAM AM_SHARE("mainram") // all the rest is treated as ram, 1MB ram emulated
ADDRESS_MAP_END
static ADDRESS_MAP_START(uniflex_dmf3_mem, AS_PROGRAM, 8, swtpc09_state)
+ 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
AM_RANGE(0xe080, 0xe083) AM_MIRROR(0xf000c) AM_DEVREADWRITE("pia", pia6821_device, read, write)
@@ -129,7 +130,6 @@ static ADDRESS_MAP_START(uniflex_dmf3_mem, AS_PROGRAM, 8, swtpc09_state)
AM_RANGE(0xf040, 0xf04f) AM_MIRROR(0xf0000) AM_DEVREADWRITE("via", via6522_device, read, write)
//AM_RANGE(0xf050, 0xf7ff) AM_MIRROR(0xf0000) AM_NOP
AM_RANGE(0xf800, 0xffff) AM_MIRROR(0xf0000) AM_ROM AM_REGION("maincpu", 0xf800)
- AM_RANGE(0x00000, 0xfffff) AM_RAM AM_SHARE("mainram") // all the rest is treated as ram, 1MB ram emulated
ADDRESS_MAP_END
diff --git a/src/mame/drivers/system16.cpp b/src/mame/drivers/system16.cpp
index 41de464534c..00f65b6bdd1 100644
--- a/src/mame/drivers/system16.cpp
+++ b/src/mame/drivers/system16.cpp
@@ -147,22 +147,21 @@ static ADDRESS_MAP_START( shinobib_map, AS_PROGRAM, 16, segas1x_bootleg_state )
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_SHARE("sprites")
AM_RANGE(0x840000, 0x840fff) AM_RAM_WRITE(paletteram_w) AM_SHARE("paletteram")
// AM_RANGE(0xc40000, 0xc40001) AM_WRITE(sound_command_irq_w)
- AM_RANGE(0xC42006, 0xC42007) AM_WRITE(sound_command_irq_w)
- AM_RANGE(0xC44000, 0xC44001) AM_READNOP
AM_RANGE(0xc41000, 0xc41001) AM_READ_PORT("SERVICE")
AM_RANGE(0xc41002, 0xc41003) AM_READ_PORT("P1")
AM_RANGE(0xc41006, 0xc41007) AM_READ_PORT("P2")
AM_RANGE(0xc42000, 0xc42001) AM_READ_PORT("DSW1")
AM_RANGE(0xc42002, 0xc42003) AM_READ_PORT("DSW2")
- AM_RANGE(0xC43000, 0xC43001) AM_WRITENOP
- AM_RANGE(0xC44000, 0xC44001) AM_WRITENOP
+ AM_RANGE(0xc42006, 0xc42007) AM_WRITE(sound_command_irq_w)
+ AM_RANGE(0xc43000, 0xc43001) AM_WRITENOP
+ AM_RANGE(0xc44000, 0xc44001) AM_NOP
AM_RANGE(0xc46000, 0xc46001) AM_WRITE(s16a_bootleg_bgscrolly_w)
AM_RANGE(0xc46002, 0xc46003) AM_WRITE(s16a_bootleg_bgscrollx_w)
AM_RANGE(0xc46004, 0xc46005) AM_WRITE(s16a_bootleg_fgscrolly_w)
AM_RANGE(0xc46006, 0xc46007) AM_WRITE(s16a_bootleg_fgscrollx_w)
AM_RANGE(0xc46008, 0xc46009) AM_WRITE(s16a_bootleg_tilemapselect_w)
- AM_RANGE(0xC60000, 0xC60001) AM_READNOP
+ AM_RANGE(0xc60000, 0xc60001) AM_READNOP
AM_RANGE(0xffc000, 0xffffff) AM_RAM // work ram
ADDRESS_MAP_END
@@ -315,7 +314,7 @@ static ADDRESS_MAP_START( wb3bbl_map, AS_PROGRAM, 16, segas1x_bootleg_state )
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
- AM_RANGE(0x409000, 0x40afff) AM_RAM AM_SHARE("bg0_tileram")
+ AM_RANGE(0x408000, 0x409fff) AM_RAM AM_SHARE("bg0_tileram")
AM_RANGE(0x40a000, 0x40bfff) AM_RAM AM_SHARE("bg1_tileram")
AM_RANGE(0x410000, 0x410fff) AM_RAM AM_SHARE("textram")
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_SHARE("sprites")
@@ -327,7 +326,7 @@ static ADDRESS_MAP_START( wb3bbl_map, AS_PROGRAM, 16, segas1x_bootleg_state )
AM_RANGE(0xc42000, 0xc42001) AM_READ_PORT("DSW2")
AM_RANGE(0xc42002, 0xc42003) AM_READ_PORT("DSW1")
AM_RANGE(0xc42006, 0xc42007) AM_WRITE(sound_command_irq_w)
- AM_RANGE(0xC44000, 0xC44001) AM_WRITENOP
+ AM_RANGE(0xc44000, 0xc44001) AM_WRITENOP
AM_RANGE(0xc46000, 0xc46001) AM_WRITE(s16a_bootleg_bgscrolly_w)
AM_RANGE(0xc46002, 0xc46003) AM_WRITE(s16a_bootleg_bgscrollx_w)
AM_RANGE(0xc46004, 0xc46005) AM_WRITE(s16a_bootleg_fgscrolly_w)
@@ -1235,9 +1234,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START(shdancbla_sound_map, AS_PROGRAM, 8, segas1x_bootleg_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_READ(shdancbl_soundbank_r)
- AM_RANGE(0xc000, 0xc000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0xc000, 0xc003) AM_DEVREADWRITE("3438.0", ym3438_device, read, write)
+ AM_RANGE(0xc000, 0xc000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0xc400, 0xc403) AM_DEVREADWRITE("3438.1", ym3438_device, read, write)
AM_RANGE(0xd400, 0xd400) AM_WRITENOP
diff --git a/src/mame/drivers/taitogn.cpp b/src/mame/drivers/taitogn.cpp
index b66b8642d11..7d590e52cd9 100644
--- a/src/mame/drivers/taitogn.cpp
+++ b/src/mame/drivers/taitogn.cpp
@@ -676,13 +676,13 @@ static ADDRESS_MAP_START( flashbank_map, AS_PROGRAM, 16, taitogn_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( taitogn_mp_map, AS_PROGRAM, 32, taitogn_state )
- AM_RANGE(0x1fa10100, 0x1fa10103) AM_READ8(gnet_mahjong_panel_r, 0x000000ff)
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_RANGE(0x080000, 0x0fffff) AM_DEVREAD(":pgmflash", intelfsh16_device, read)
AM_IMPORT_FROM( taitozoom_mn_map )
+ AM_RANGE(0x080000, 0x0fffff) AM_DEVREAD(":pgmflash", intelfsh16_device, read)
ADDRESS_MAP_END
SLOT_INTERFACE_START(slot_ataflash)
diff --git a/src/mame/drivers/taitojc.cpp b/src/mame/drivers/taitojc.cpp
index 259871e9d0e..62e995d432f 100644
--- a/src/mame/drivers/taitojc.cpp
+++ b/src/mame/drivers/taitojc.cpp
@@ -634,9 +634,9 @@ static ADDRESS_MAP_START( taitojc_map, AS_PROGRAM, 32, taitojc_state )
AM_RANGE(0x06a00000, 0x06a01fff) AM_DEVREADWRITE8("taito_en:dpram", mb8421_device, left_r, left_w, 0xff000000)
AM_RANGE(0x06c00000, 0x06c0001f) AM_READWRITE8(jc_lan_r, jc_lan_w, 0x00ff0000)
AM_RANGE(0x08000000, 0x080fffff) AM_RAM AM_SHARE("main_ram")
+ AM_RANGE(0x10000000, 0x10001fff) AM_READWRITE16(dsp_shared_r, dsp_shared_w, 0xffff0000)
AM_RANGE(0x10001ff8, 0x10001ffb) AM_READ16(dsp_to_main_7fe_r, 0xffff0000)
AM_RANGE(0x10001ffc, 0x10001fff) AM_WRITE16(main_to_dsp_7ff_w, 0xffff0000)
- AM_RANGE(0x10000000, 0x10001fff) AM_READWRITE16(dsp_shared_r, dsp_shared_w, 0xffff0000)
ADDRESS_MAP_END
@@ -669,10 +669,10 @@ WRITE8_MEMBER(taitojc_state::dendego_brakemeter_w)
}
static ADDRESS_MAP_START( dendego_map, AS_PROGRAM, 32, taitojc_state )
+ 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)
AM_RANGE(0x06e0000c, 0x06e0000f) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff0000)
- AM_IMPORT_FROM( taitojc_map )
ADDRESS_MAP_END
@@ -864,8 +864,8 @@ static ADDRESS_MAP_START( tms_data_map, AS_DATA, 16, taitojc_state )
AM_RANGE(0x701d, 0x701d) AM_READ(dsp_math_projection_y_r)
AM_RANGE(0x701f, 0x701f) AM_READ(dsp_math_projection_x_r)
AM_RANGE(0x7022, 0x7022) AM_READ(dsp_math_unk_r)
- AM_RANGE(0x7ffe, 0x7ffe) AM_WRITE(dsp_to_main_7fe_w)
AM_RANGE(0x7800, 0x7fff) AM_RAM AM_SHARE("dsp_shared")
+ AM_RANGE(0x7ffe, 0x7ffe) AM_WRITE(dsp_to_main_7fe_w)
AM_RANGE(0x8000, 0xffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/taitosj.cpp b/src/mame/drivers/taitosj.cpp
index 43c5c2ab47e..50ebb4edd35 100644
--- a/src/mame/drivers/taitosj.cpp
+++ b/src/mame/drivers/taitosj.cpp
@@ -244,8 +244,8 @@ 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 )
- AM_RANGE(0x8800, 0x8801) AM_MIRROR(0x07fe) AM_DEVREADWRITE("bmcu", taito_sj_security_mcu_device, data_r, data_w)
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
diff --git a/src/mame/drivers/tandy1t.cpp b/src/mame/drivers/tandy1t.cpp
index f3deee9d74b..1788640587f 100644
--- a/src/mame/drivers/tandy1t.cpp
+++ b/src/mame/drivers/tandy1t.cpp
@@ -548,10 +548,10 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START(tandy1000_io, AS_IO, 8, tandy1000_state )
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)
AM_RANGE(0x00a0, 0x00a0) AM_WRITE(nmi_vram_bank_w)
AM_RANGE(0x00c0, 0x00c0) AM_DEVWRITE("sn76496", ncr7496_device, write)
- AM_RANGE(0x0000, 0x00ff) AM_DEVICE("mb", t1000_mb_device, map)
AM_RANGE(0x0200, 0x0207) AM_DEVREADWRITE("pc_joy", pc_joy_device, joy_port_r, joy_port_w)
AM_RANGE(0x0378, 0x037f) AM_READWRITE(pc_t1t_p37x_r, pc_t1t_p37x_w)
AM_RANGE(0x03d0, 0x03df) AM_DEVREAD("pcvideo_t1000", pcvideo_t1000_device, read) AM_DEVWRITE("pcvideo_t1000", pcvideo_t1000_device, write)
@@ -571,11 +571,11 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START(tandy1000_16_io, AS_IO, 16, tandy1000_state )
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)
AM_RANGE(0x0064, 0x0065) AM_WRITE8(devctrl_w, 0xff00)
AM_RANGE(0x00a0, 0x00a1) AM_READ8(unk_r, 0x00ff)
AM_RANGE(0x00c0, 0x00c1) AM_DEVWRITE8("sn76496", ncr7496_device, write, 0xffff)
- AM_RANGE(0x0000, 0x00ff) AM_DEVICE8("mb", t1000_mb_device, map, 0xffff)
AM_RANGE(0x0200, 0x0207) AM_DEVREADWRITE8("pc_joy", pc_joy_device, joy_port_r, joy_port_w, 0xffff)
AM_RANGE(0x0378, 0x037f) AM_READWRITE8(pc_t1t_p37x_r, pc_t1t_p37x_w, 0xffff)
AM_RANGE(0x03d0, 0x03df) AM_DEVREAD8("pcvideo_t1000", pcvideo_t1000_device, read, 0xffff) AM_DEVWRITE8("pcvideo_t1000", pcvideo_t1000_device, write, 0xffff)
@@ -590,8 +590,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START(tandy1000tx_io, AS_IO, 16, tandy1000_state )
ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE(0x00a0, 0x00a1) AM_WRITE8(nmi_vram_bank_w, 0x00ff)
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 )
diff --git a/src/mame/drivers/tandy2k.cpp b/src/mame/drivers/tandy2k.cpp
index d07df00cb87..0c65d59a56d 100644
--- a/src/mame/drivers/tandy2k.cpp
+++ b/src/mame/drivers/tandy2k.cpp
@@ -323,8 +323,8 @@ static ADDRESS_MAP_START( tandy2k_io, AS_IO, 16, tandy2k_state )
AM_RANGE(0x00010, 0x00013) AM_MIRROR(0xc) AM_DEVREADWRITE8(I8251A_TAG, i8251_device, data_r, data_w, 0x00ff)
AM_RANGE(0x00030, 0x00033) AM_MIRROR(0xc) AM_DEVICE8(I8272A_TAG, i8272a_device, map, 0x00ff)
AM_RANGE(0x00040, 0x00047) AM_MIRROR(0x8) AM_DEVREADWRITE8(I8253_TAG, pit8253_device, read, write, 0x00ff)
- AM_RANGE(0x00052, 0x00053) AM_MIRROR(0x8) AM_READ8(kbint_clr_r, 0x00ff)
AM_RANGE(0x00050, 0x00057) AM_MIRROR(0x8) AM_DEVREADWRITE8(I8255A_TAG, i8255_device, read, write, 0x00ff)
+ AM_RANGE(0x00052, 0x00053) AM_MIRROR(0x8) AM_READ8(kbint_clr_r, 0x00ff)
AM_RANGE(0x00060, 0x00063) AM_MIRROR(0xc) AM_DEVREADWRITE8(I8259A_0_TAG, pic8259_device, read, write, 0x00ff)
AM_RANGE(0x00070, 0x00073) AM_MIRROR(0xc) AM_DEVREADWRITE8(I8259A_1_TAG, pic8259_device, read, write, 0x00ff)
AM_RANGE(0x00080, 0x00081) AM_MIRROR(0xe) AM_DEVREADWRITE8(I8272A_TAG, i8272a_device, mdma_r, mdma_w, 0x00ff)
diff --git a/src/mame/drivers/tasman.cpp b/src/mame/drivers/tasman.cpp
index acad47da8be..9bf2b0ee4b6 100644
--- a/src/mame/drivers/tasman.cpp
+++ b/src/mame/drivers/tasman.cpp
@@ -243,11 +243,11 @@ static ADDRESS_MAP_START( kongambl_map, AS_PROGRAM, 32, kongambl_state )
AM_RANGE(0x4d0000, 0x4d0003) AM_WRITE8(kongambl_ff_w,0xff000000)
- AM_RANGE(0x500380, 0x500383) AM_READ(test_r)
AM_RANGE(0x500000, 0x5007ff) AM_RAM
- AM_RANGE(0x500400, 0x500403) AM_NOP //dual port?
- AM_RANGE(0x500420, 0x500423) AM_NOP //dual port?
- AM_RANGE(0x500500, 0x500503) AM_NOP // reads sound ROM in here, polled from m68k?
+ AM_RANGE(0x500380, 0x500383) AM_READ(test_r)
+// AM_RANGE(0x500400, 0x500403) AM_NOP //dual port?
+// AM_RANGE(0x500420, 0x500423) AM_NOP //dual port?
+// AM_RANGE(0x500500, 0x500503) AM_NOP // reads sound ROM in here, polled from m68k?
AM_RANGE(0x580000, 0x580007) AM_READ(test_r)
AM_RANGE(0x600000, 0x60000f) AM_READ(test_r)
diff --git a/src/mame/drivers/tecmo.cpp b/src/mame/drivers/tecmo.cpp
index 809934bf7c5..e4f99fd1292 100644
--- a/src/mame/drivers/tecmo.cpp
+++ b/src/mame/drivers/tecmo.cpp
@@ -232,9 +232,9 @@ static ADDRESS_MAP_START( rygar_sound_map, AS_PROGRAM, 8, tecmo_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( tecmo_sound_map, AS_PROGRAM, 8, tecmo_state )
+ 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 */
- AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa001) AM_DEVWRITE("ymsnd", ym3812_device, write)
AM_RANGE(0xc000, 0xc000) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_WRITE(adpcm_start_w)
diff --git a/src/mame/drivers/tempest.cpp b/src/mame/drivers/tempest.cpp
index e6787d4d244..63fd1417eb8 100644
--- a/src/mame/drivers/tempest.cpp
+++ b/src/mame/drivers/tempest.cpp
@@ -461,8 +461,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, tempest_state )
AM_RANGE(0x60c0, 0x60cf) AM_DEVREADWRITE("pokey1", pokey_device, read, write)
AM_RANGE(0x60d0, 0x60df) AM_DEVREADWRITE("pokey2", pokey_device, read, write)
AM_RANGE(0x60e0, 0x60e0) AM_WRITE(tempest_led_w)
- AM_RANGE(0xae1f, 0xae1f) AM_READ(rom_ae1f_r)
AM_RANGE(0x9000, 0xdfff) AM_ROM
+ AM_RANGE(0xae1f, 0xae1f) AM_READ(rom_ae1f_r)
AM_RANGE(0xf000, 0xffff) AM_ROM /* for the reset / interrupt vectors */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/terracre.cpp b/src/mame/drivers/terracre.cpp
index c2405eb7ba3..86e2d8ae5cb 100644
--- a/src/mame/drivers/terracre.cpp
+++ b/src/mame/drivers/terracre.cpp
@@ -270,8 +270,8 @@ static ADDRESS_MAP_START( amazon_base_map, AS_PROGRAM, 16, terracre_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( amazon_1412m2_map, AS_PROGRAM, 16, terracre_state)
- AM_RANGE(0x070000, 0x070003) AM_READWRITE(amazon_protection_r, amazon_protection_w)
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 )
diff --git a/src/mame/drivers/tetrisp2.cpp b/src/mame/drivers/tetrisp2.cpp
index 651ea8cb473..fc88e3e14d0 100644
--- a/src/mame/drivers/tetrisp2.cpp
+++ b/src/mame/drivers/tetrisp2.cpp
@@ -323,8 +323,6 @@ static ADDRESS_MAP_START( tetrisp2_map, AS_PROGRAM, 16, tetrisp2_state )
AM_RANGE(0xb4003e, 0xb4003f) AM_WRITENOP // scr_size
AM_RANGE(0xb60000, 0xb6002f) AM_WRITEONLY AM_SHARE("rotregs") // Rotation Registers
AM_RANGE(0xba0000, 0xba001f) AM_WRITE(tetrisp2_systemregs_w) // system param
- AM_RANGE(0xba001a, 0xba001b) AM_WRITENOP // Lev 4 irq ack
- AM_RANGE(0xba001e, 0xba001f) AM_WRITENOP // Lev 2 irq ack
AM_RANGE(0xbe0000, 0xbe0001) AM_READNOP // INT-level1 dummy read
AM_RANGE(0xbe0002, 0xbe0003) AM_READ_PORT("PLAYERS") // Inputs
AM_RANGE(0xbe0004, 0xbe0005) AM_READ(tetrisp2_ip_1_word_r) // Inputs & protection
@@ -389,8 +387,6 @@ static ADDRESS_MAP_START( nndmseal_map, AS_PROGRAM, 16, tetrisp2_state )
AM_RANGE(0xb80000, 0xb80001) AM_WRITE(nndmseal_sound_bank_w)
AM_RANGE(0xba0000, 0xba001f) AM_WRITE(rockn_systemregs_w ) // system param
- AM_RANGE(0xba001a, 0xba001b) AM_WRITENOP // Lev 4 irq ack
- AM_RANGE(0xba001e, 0xba001f) AM_WRITENOP // Lev 2 irq ack
AM_RANGE(0xbe0000, 0xbe0001) AM_READNOP // INT-level1 dummy read
AM_RANGE(0xbe0002, 0xbe0003) AM_READ_PORT("BUTTONS" ) // Inputs
@@ -426,8 +422,6 @@ static ADDRESS_MAP_START( rockn1_map, AS_PROGRAM, 16, tetrisp2_state )
AM_RANGE(0xb4003e, 0xb4003f) AM_WRITENOP // scr_size
AM_RANGE(0xb60000, 0xb6002f) AM_WRITEONLY AM_SHARE("rotregs") // Rotation Registers
AM_RANGE(0xba0000, 0xba001f) AM_WRITE(rockn_systemregs_w) // system param
- AM_RANGE(0xba001a, 0xba001b) AM_WRITENOP // Lev 4 irq ack
- AM_RANGE(0xba001e, 0xba001f) AM_WRITENOP // Lev 2 irq ack
AM_RANGE(0xbe0000, 0xbe0001) AM_READNOP // INT-level1 dummy read
AM_RANGE(0xbe0002, 0xbe0003) AM_READ_PORT("PLAYERS") // Inputs
AM_RANGE(0xbe0004, 0xbe0005) AM_READ_PORT("SYSTEM") // Inputs
@@ -460,8 +454,6 @@ static ADDRESS_MAP_START( rockn2_map, AS_PROGRAM, 16, tetrisp2_state )
AM_RANGE(0xb4003e, 0xb4003f) AM_WRITENOP // scr_size
AM_RANGE(0xb60000, 0xb6002f) AM_WRITEONLY AM_SHARE("rotregs") // Rotation Registers
AM_RANGE(0xba0000, 0xba001f) AM_WRITE(rockn_systemregs_w) // system param
- AM_RANGE(0xba001a, 0xba001b) AM_WRITENOP // Lev 4 irq ack
- AM_RANGE(0xba001e, 0xba001f) AM_WRITENOP // Lev 2 irq ack
AM_RANGE(0xbe0000, 0xbe0001) AM_READNOP // INT-level1 dummy read
AM_RANGE(0xbe0002, 0xbe0003) AM_READ_PORT("PLAYERS") // Inputs
AM_RANGE(0xbe0004, 0xbe0005) AM_READ_PORT("SYSTEM") // Inputs
@@ -495,8 +487,6 @@ static ADDRESS_MAP_START( rocknms_main_map, AS_PROGRAM, 16, tetrisp2_state )
AM_RANGE(0xb4003e, 0xb4003f) AM_WRITENOP // scr_size
AM_RANGE(0xb60000, 0xb6002f) AM_WRITEONLY AM_SHARE("rotregs") // Rotation Registers
AM_RANGE(0xba0000, 0xba001f) AM_WRITE(rockn_systemregs_w) // system param
- AM_RANGE(0xba001a, 0xba001b) AM_WRITENOP // Lev 4 irq ack
- AM_RANGE(0xba001e, 0xba001f) AM_WRITENOP // Lev 2 irq ack
AM_RANGE(0xbe0000, 0xbe0001) AM_READNOP // INT-level1 dummy read
AM_RANGE(0xbe0002, 0xbe0003) AM_READ_PORT("PLAYERS")
AM_RANGE(0xbe0004, 0xbe0005) AM_READ_PORT("SYSTEM") // Inputs
@@ -529,8 +519,6 @@ static ADDRESS_MAP_START( rocknms_sub_map, AS_PROGRAM, 16, tetrisp2_state )
AM_RANGE(0xb4003e, 0xb4003f) AM_WRITENOP // scr_size
AM_RANGE(0xb60000, 0xb6002f) AM_WRITEONLY AM_SHARE("sub_rotregs") // Rotation Registers
AM_RANGE(0xba0000, 0xba001f) AM_WRITE(rocknms_sub_systemregs_w) // system param
- AM_RANGE(0xba001a, 0xba001b) AM_WRITENOP // Lev 4 irq ack
- AM_RANGE(0xba001e, 0xba001f) AM_WRITENOP // Lev 2 irq ack
// AM_RANGE(0xbe0000, 0xbe0001) AM_READNOP // INT-level1 dummy read
AM_RANGE(0xbe0002, 0xbe0003) AM_READWRITE(rocknms_main2sub_r, rocknms_sub2main_w) // MAIN <-> SUB Communication
AM_RANGE(0xbe000a, 0xbe000b) AM_DEVREAD("watchdog", watchdog_timer_device, reset16_r) // Watchdog
@@ -632,7 +620,6 @@ static ADDRESS_MAP_START( stepstag_map, AS_PROGRAM, 16, stepstag_state )
AM_RANGE(0xb4003e, 0xb4003f) AM_WRITENOP // scr_size
AM_RANGE(0xb60000, 0xb6002f) AM_WRITEONLY AM_SHARE("rotregs") // Rotation Registers
AM_RANGE(0xba0000, 0xba001f) AM_WRITE(rockn_systemregs_w) // System param
- AM_RANGE(0xba001e, 0xba001f) AM_WRITENOP // Lev 2 irq ack
AM_RANGE(0xbe0000, 0xbe0001) AM_READNOP // INT-level1 dummy read
AM_RANGE(0xbe0002, 0xbe0003) AM_READ_PORT("BUTTONS") // Inputs
AM_RANGE(0xbe0004, 0xbe0005) AM_READ(stepstag_coins_r) // Inputs & protection
@@ -662,19 +649,19 @@ static ADDRESS_MAP_START( stepstag_sub_map, AS_PROGRAM, 16, stepstag_state )
// left screen sprites
AM_RANGE(0x800000, 0x803fff) AM_RAM AM_SHARE("spriteram") // Object RAM
- AM_RANGE(0x800000, 0x87ffff) AM_RAM
+ AM_RANGE(0x804000, 0x87ffff) AM_RAM
AM_RANGE(0x880000, 0x880001) AM_WRITENOP // cleared after writing this sprite list
// AM_RANGE(0x8c0000, 0x8c0001) AM_WRITENOP // cleared at boot
// middle screen sprites
AM_RANGE(0x900000, 0x903fff) AM_RAM AM_SHARE("spriteram2") // Object RAM
- AM_RANGE(0x900000, 0x97ffff) AM_RAM
+ AM_RANGE(0x904000, 0x97ffff) AM_RAM
AM_RANGE(0x980000, 0x980001) AM_WRITENOP // cleared after writing this sprite list
// AM_RANGE(0x9c0000, 0x9c0001) AM_WRITENOP // cleared at boot
// right screen sprites
AM_RANGE(0xa00000, 0xa03fff) AM_RAM AM_SHARE("spriteram3") // Object RAM
- AM_RANGE(0xa00000, 0xa7ffff) AM_RAM
+ AM_RANGE(0xa04000, 0xa7ffff) AM_RAM
AM_RANGE(0xa80000, 0xa80001) AM_WRITENOP // cleared after writing this sprite list
// AM_RANGE(0xac0000, 0xac0001) AM_WRITENOP // cleared at boot
diff --git a/src/mame/drivers/thunderx.cpp b/src/mame/drivers/thunderx.cpp
index b25f9b30d0c..5a17a27a1b1 100644
--- a/src/mame/drivers/thunderx.cpp
+++ b/src/mame/drivers/thunderx.cpp
@@ -403,6 +403,8 @@ WRITE8_MEMBER(thunderx_state::k052109_051960_w)
/***************************************************************************/
static ADDRESS_MAP_START( scontra_map, AS_PROGRAM, 8, thunderx_state )
+ 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 */
AM_RANGE(0x1f84, 0x1f84) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
AM_RANGE(0x1f88, 0x1f88) AM_WRITE(sh_irqtrigger_w) /* cause interrupt on audio CPU */
@@ -414,7 +416,6 @@ static ADDRESS_MAP_START( scontra_map, AS_PROGRAM, 8, thunderx_state )
AM_RANGE(0x1f94, 0x1f94) AM_READ_PORT("DSW1")
AM_RANGE(0x1f95, 0x1f95) AM_READ_PORT("DSW2")
AM_RANGE(0x1f98, 0x1f98) AM_READWRITE(_1f98_r, scontra_1f98_w)
- AM_RANGE(0x0000, 0x3fff) AM_READWRITE(k052109_051960_r, k052109_051960_w) /* video RAM + sprite RAM */
AM_RANGE(0x4000, 0x57ff) AM_RAM
AM_RANGE(0x5800, 0x5fff) AM_DEVICE("bank5800", address_map_bank_device, amap8) /* palette + work RAM + PMC */
@@ -423,14 +424,14 @@ static ADDRESS_MAP_START( scontra_map, AS_PROGRAM, 8, thunderx_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( thunderx_map, AS_PROGRAM, 8, thunderx_state )
+ 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 */
- AM_IMPORT_FROM(scontra_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START( gbusters_map, AS_PROGRAM, 8, thunderx_state )
- AM_RANGE(0x1f80, 0x1f80) AM_WRITE(gbusters_videobank_w)
AM_IMPORT_FROM(scontra_map)
+ AM_RANGE(0x1f80, 0x1f80) AM_WRITE(gbusters_videobank_w)
ADDRESS_MAP_END
@@ -454,9 +455,9 @@ static ADDRESS_MAP_START( thunderx_sound_map, AS_PROGRAM, 8, thunderx_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( scontra_sound_map, AS_PROGRAM, 8, thunderx_state )
+ 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)
- AM_IMPORT_FROM(thunderx_sound_map)
ADDRESS_MAP_END
/***************************************************************************
diff --git a/src/mame/drivers/ti99_4p.cpp b/src/mame/drivers/ti99_4p.cpp
index 0346f394722..e992eef846c 100644
--- a/src/mame/drivers/ti99_4p.cpp
+++ b/src/mame/drivers/ti99_4p.cpp
@@ -287,11 +287,11 @@ static ADDRESS_MAP_START(memmap, AS_PROGRAM, 16, ti99_4p_state)
ADDRESS_MAP_END
static ADDRESS_MAP_START(cru_map, AS_IO, 8, ti99_4p_state)
- AM_RANGE(0x0000, 0x003f) AM_DEVREAD(TI_TMS9901_TAG, tms9901_device, read)
AM_RANGE(0x0000, 0x01ff) AM_READ( cruread )
+ AM_RANGE(0x0000, 0x003f) AM_DEVREAD(TI_TMS9901_TAG, tms9901_device, read)
- AM_RANGE(0x0000, 0x01ff) AM_DEVWRITE(TI_TMS9901_TAG, tms9901_device, write)
AM_RANGE(0x0000, 0x0fff) AM_WRITE( cruwrite )
+ AM_RANGE(0x0000, 0x01ff) AM_DEVWRITE(TI_TMS9901_TAG, tms9901_device, write)
ADDRESS_MAP_END
/*
diff --git a/src/mame/drivers/ti99_4x.cpp b/src/mame/drivers/ti99_4x.cpp
index 4d477dff73d..99aeee77169 100644
--- a/src/mame/drivers/ti99_4x.cpp
+++ b/src/mame/drivers/ti99_4x.cpp
@@ -240,11 +240,11 @@ 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)
- AM_RANGE(0x0000, 0x0003) AM_MIRROR(0x003c) AM_DEVREAD(TI_TMS9901_TAG, tms9901_device, read)
AM_RANGE(0x0000, 0x01ff) AM_READ(cruread)
+ AM_RANGE(0x0000, 0x0003) AM_MIRROR(0x003c) AM_DEVREAD(TI_TMS9901_TAG, tms9901_device, read)
- AM_RANGE(0x0000, 0x001f) AM_MIRROR(0x01e0) AM_DEVWRITE(TI_TMS9901_TAG, tms9901_device, write)
AM_RANGE(0x0000, 0x0fff) AM_WRITE(cruwrite)
+ AM_RANGE(0x0000, 0x001f) AM_MIRROR(0x01e0) AM_DEVWRITE(TI_TMS9901_TAG, tms9901_device, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ti99_8.cpp b/src/mame/drivers/ti99_8.cpp
index 3869d9daa04..74ef442b379 100644
--- a/src/mame/drivers/ti99_8.cpp
+++ b/src/mame/drivers/ti99_8.cpp
@@ -302,11 +302,11 @@ ADDRESS_MAP_END
*/
static ADDRESS_MAP_START(crumap, AS_IO, 8, ti99_8_state)
- AM_RANGE(0x0000, 0x0003) AM_DEVREAD(TI_TMS9901_TAG, tms9901_device, read)
AM_RANGE(0x0000, 0x02ff) AM_READ(cruread)
+ AM_RANGE(0x0000, 0x0003) AM_DEVREAD(TI_TMS9901_TAG, tms9901_device, read)
- AM_RANGE(0x0000, 0x001f) AM_DEVWRITE(TI_TMS9901_TAG, tms9901_device, write)
AM_RANGE(0x0000, 0x17ff) AM_WRITE(cruwrite)
+ AM_RANGE(0x0000, 0x001f) AM_DEVWRITE(TI_TMS9901_TAG, tms9901_device, write)
ADDRESS_MAP_END
/* ti99/8 : 54-key keyboard */
diff --git a/src/mame/drivers/tnzs.cpp b/src/mame/drivers/tnzs.cpp
index e93da79a60e..d8b8845b987 100644
--- a/src/mame/drivers/tnzs.cpp
+++ b/src/mame/drivers/tnzs.cpp
@@ -734,10 +734,10 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, tnzs_base_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( prompal_main_map, AS_PROGRAM, 8, extrmatn_state )
+ 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
- AM_IMPORT_FROM(main_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START( tnzsb_main_map, AS_PROGRAM, 8, tnzsb_state )
@@ -764,31 +764,31 @@ static ADDRESS_MAP_START( base_sub_map, AS_PROGRAM, 8, tnzs_base_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( tnzs_sub_map, AS_PROGRAM, 8, tnzs_mcu_state )
+ 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)
AM_RANGE(0xf000, 0xf003) AM_READ(analog_r) /* paddles in arkanoid2/plumppop. The ports are */
/* read but not used by the other games, and are not read at */
/* all by insectx. */
- AM_IMPORT_FROM(base_sub_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START( arknoid2_sub_map, AS_PROGRAM, 8, arknoid2_state )
- AM_RANGE(0xc000, 0xc001) AM_READWRITE(mcu_r, mcu_w)
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 )
+ 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")
- AM_IMPORT_FROM(base_sub_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START( insectx_sub_map, AS_PROGRAM, 8, insectx_state )
+ 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")
- AM_IMPORT_FROM(base_sub_map)
ADDRESS_MAP_END
/* the later board is different, it has a third CPU (and of course no mcu) */
@@ -808,14 +808,14 @@ static ADDRESS_MAP_START( tnzsb_base_sub_map, AS_PROGRAM, 8, tnzsb_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( tnzsb_sub_map, AS_PROGRAM, 8, tnzsb_state )
+ 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")
- AM_IMPORT_FROM(tnzsb_base_sub_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START( kabukiz_sub_map, AS_PROGRAM, 8, kabukiz_state )
- AM_RANGE(0xf800, 0xfbff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
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 )
diff --git a/src/mame/drivers/tx1.cpp b/src/mame/drivers/tx1.cpp
index 8e79b6524bd..bc6ab336f50 100644
--- a/src/mame/drivers/tx1.cpp
+++ b/src/mame/drivers/tx1.cpp
@@ -503,8 +503,8 @@ static ADDRESS_MAP_START( tx1_math, AS_PROGRAM, 16, tx1_state )
AM_RANGE(0x02800, 0x02bff) AM_WRITE(halt_math_w)
AM_RANGE(0x02C00, 0x02fff) AM_WRITE(tx1_flgcs_w)
AM_RANGE(0x03000, 0x03fff) AM_READWRITE(tx1_math_r, tx1_math_w)
- AM_RANGE(0x05000, 0x07fff) AM_READ(tx1_spcs_rom_r)
AM_RANGE(0x04000, 0x07fff) AM_MIRROR(0xf8000) AM_ROM
+ 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 )
@@ -566,8 +566,8 @@ static ADDRESS_MAP_START( buggyboy_math, AS_PROGRAM, 16, tx1_state )
AM_RANGE(0x02000, 0x022ff) AM_RAM AM_SHARE("objram")
AM_RANGE(0x02400, 0x024ff) AM_WRITE(buggyboy_gas_w)
AM_RANGE(0x03000, 0x03fff) AM_READWRITE(buggyboy_math_r, buggyboy_math_w)
- AM_RANGE(0x05000, 0x07fff) AM_READ(buggyboy_spcs_rom_r)
AM_RANGE(0x04000, 0x07fff) AM_MIRROR(0xf8000) AM_ROM
+ AM_RANGE(0x05000, 0x07fff) AM_READ(buggyboy_spcs_rom_r)
ADDRESS_MAP_END
/* Buggy Boy Sound PCB TC033A */
diff --git a/src/mame/drivers/vendetta.cpp b/src/mame/drivers/vendetta.cpp
index 27d47044a4e..c0a0693595d 100644
--- a/src/mame/drivers/vendetta.cpp
+++ b/src/mame/drivers/vendetta.cpp
@@ -202,6 +202,11 @@ READ8_MEMBER(vendetta_state::z80_irq_r)
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, vendetta_state )
AM_RANGE(0x0000, 0x1fff) AM_ROMBANK("bank1")
AM_RANGE(0x2000, 0x3fff) AM_RAM
+
+ /* what is the desired effect of overlapping these memory regions anyway? */
+ AM_RANGE(0x4000, 0x7fff) AM_DEVREADWRITE("k052109", k052109_device, read, write)
+
+ AM_RANGE(0x4000, 0x4fff) AM_DEVICE("videobank0", address_map_bank_device, amap8)
AM_RANGE(0x5f80, 0x5f9f) AM_DEVREADWRITE("k054000", k054000_device, read, write)
AM_RANGE(0x5fa0, 0x5faf) AM_DEVWRITE("k053251", k053251_device, write)
AM_RANGE(0x5fb0, 0x5fb7) AM_DEVWRITE("k053246", k053247_device, k053246_w)
@@ -217,15 +222,17 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, vendetta_state )
AM_RANGE(0x5fe6, 0x5fe7) AM_DEVREADWRITE("k053260", k053260_device, main_read, main_write)
AM_RANGE(0x5fe8, 0x5fe9) AM_DEVREAD("k053246", k053247_device, k053246_r)
AM_RANGE(0x5fea, 0x5fea) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
- /* what is the desired effect of overlapping these memory regions anyway? */
- AM_RANGE(0x4000, 0x4fff) AM_DEVICE("videobank0", address_map_bank_device, amap8)
AM_RANGE(0x6000, 0x6fff) AM_DEVICE("videobank1", address_map_bank_device, amap8)
- AM_RANGE(0x4000, 0x7fff) AM_DEVREADWRITE("k052109", k052109_device, read, write)
+
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("maincpu", 0x38000)
ADDRESS_MAP_END
static ADDRESS_MAP_START( esckids_map, AS_PROGRAM, 8, vendetta_state )
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)
+
+ AM_RANGE(0x2000, 0x2fff) AM_DEVICE("videobank0", address_map_bank_device, amap8) // 052109 (Tilemap) 0x0000-0x0fff - 052109 (Tilemap)
AM_RANGE(0x3f80, 0x3f80) AM_READ_PORT("P1")
AM_RANGE(0x3f81, 0x3f81) AM_READ_PORT("P2")
AM_RANGE(0x3f82, 0x3f82) AM_READ_PORT("P3") // ??? (But not used)
@@ -241,10 +248,7 @@ static ADDRESS_MAP_START( esckids_map, AS_PROGRAM, 8, vendetta_state )
AM_RANGE(0x3fd6, 0x3fd7) AM_DEVREADWRITE("k053260", k053260_device, main_read, main_write) // Sound
AM_RANGE(0x3fd8, 0x3fd9) AM_DEVREAD("k053246", k053247_device, k053246_r) // 053246 (Sprite)
AM_RANGE(0x3fda, 0x3fda) AM_WRITENOP // Not Emulated (Watchdog ???)
- /* what is the desired effect of overlapping these memory regions anyway? */
- AM_RANGE(0x2000, 0x2fff) AM_DEVICE("videobank0", address_map_bank_device, amap8) // 052109 (Tilemap) 0x0000-0x0fff - 052109 (Tilemap)
AM_RANGE(0x4000, 0x4fff) AM_DEVICE("videobank1", address_map_bank_device, amap8) // 0x2000-0x3fff, Tilemap MASK-ROM bank selector (MASK-ROM Test)
- AM_RANGE(0x2000, 0x5fff) AM_DEVREADWRITE("k052109", k052109_device, read, write) // 052109 (Tilemap)
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("bank1") // 053248 '975r01' 1M ROM (Banked)
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("maincpu", 0x18000) // 053248 '975r01' 1M ROM (0x18000-0x1ffff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/vii.cpp b/src/mame/drivers/vii.cpp
index 963ddf6e506..bcbfa7362db 100644
--- a/src/mame/drivers/vii.cpp
+++ b/src/mame/drivers/vii.cpp
@@ -1004,6 +1004,8 @@ WRITE16_MEMBER( spg2xx_game_state::spriteram_w )
*/
static ADDRESS_MAP_START( vii_mem, AS_PROGRAM, 16, spg2xx_game_state )
+ AM_RANGE( 0x000000, 0x3fffff ) AM_ROMBANK("cart")
+
AM_RANGE( 0x000000, 0x0027ff ) AM_RAM AM_SHARE("p_ram")
AM_RANGE( 0x002800, 0x0028ff ) AM_READWRITE(video_r, video_w)
AM_RANGE( 0x002900, 0x002aff ) AM_RAM AM_SHARE("p_rowscroll")
@@ -1011,7 +1013,6 @@ static ADDRESS_MAP_START( vii_mem, AS_PROGRAM, 16, spg2xx_game_state )
AM_RANGE( 0x002c00, 0x002fff ) AM_RAM AM_SHARE("p_spriteram")
AM_RANGE( 0x003000, 0x0037ff ) AM_READWRITE(audio_r, audio_w)
AM_RANGE( 0x003d00, 0x003eff ) AM_READWRITE(io_r, io_w)
- AM_RANGE( 0x000000, 0x3fffff ) AM_ROMBANK("cart")
ADDRESS_MAP_END
static INPUT_PORTS_START( vii )
diff --git a/src/mame/drivers/vis.cpp b/src/mame/drivers/vis.cpp
index dc596d073e2..63d66addf77 100644
--- a/src/mame/drivers/vis.cpp
+++ b/src/mame/drivers/vis.cpp
@@ -842,13 +842,13 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( at16_io, AS_IO, 16, vis_state )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x001f) AM_DEVREADWRITE8("mb:dma8237_1", am9517a_device, read, write, 0xffff)
- AM_RANGE(0x0026, 0x0027) AM_READWRITE8(unk_r, unk_w, 0xffff)
AM_RANGE(0x0020, 0x003f) AM_DEVREADWRITE8("mb:pic8259_master", pic8259_device, read, write, 0xffff)
+ AM_RANGE(0x0026, 0x0027) AM_READWRITE8(unk_r, unk_w, 0xffff)
AM_RANGE(0x0040, 0x005f) AM_DEVREADWRITE8("mb:pit8254", pit8254_device, read, write, 0xffff)
AM_RANGE(0x0060, 0x0065) AM_DEVREADWRITE8("kbdc", kbdc8042_device, data_r, data_w, 0xffff)
AM_RANGE(0x006a, 0x006b) AM_READ8(unk2_r, 0x00ff)
- AM_RANGE(0x0092, 0x0093) AM_READWRITE8(sysctl_r, sysctl_w, 0x00ff)
AM_RANGE(0x0080, 0x009f) AM_DEVREADWRITE8("mb", at_mb_device, page8_r, page8_w, 0xffff)
+ AM_RANGE(0x0092, 0x0093) AM_READWRITE8(sysctl_r, sysctl_w, 0x00ff)
AM_RANGE(0x00a0, 0x00bf) AM_DEVREADWRITE8("mb:pic8259_slave", pic8259_device, read, write, 0xffff)
AM_RANGE(0x00c0, 0x00df) AM_DEVREADWRITE8("mb:dma8237_2", am9517a_device, read, write, 0x00ff)
AM_RANGE(0x00e0, 0x00e1) AM_NOP
diff --git a/src/mame/drivers/vsnes.cpp b/src/mame/drivers/vsnes.cpp
index caf6135921b..d4a1a44b252 100644
--- a/src/mame/drivers/vsnes.cpp
+++ b/src/mame/drivers/vsnes.cpp
@@ -247,12 +247,10 @@ READ8_MEMBER(vsnes_state::vsnes_bootleg_z80_data_r)
static ADDRESS_MAP_START( vsnes_cpu1_bootleg_map, AS_PROGRAM, 8, vsnes_state )
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)
AM_RANGE(0x4014, 0x4014) AM_WRITE(sprite_dma_0_w)
AM_RANGE(0x4016, 0x4016) AM_READWRITE(vsnes_in0_r, vsnes_in0_w)
AM_RANGE(0x4017, 0x4017) AM_READ(vsnes_in1_r) /* IN1 - input port 2 / PSG second control register */
-
- AM_RANGE(0x4000, 0x4017) AM_WRITE(bootleg_sound_write)
-
AM_RANGE(0x4020, 0x4020) AM_READWRITE(vsnes_coin_counter_r, vsnes_coin_counter_w)
AM_RANGE(0x6000, 0x7fff) AM_RAMBANK("extra1")
AM_RANGE(0x8000, 0xffff) AM_ROM
@@ -270,7 +268,7 @@ static ADDRESS_MAP_START( vsnes_bootleg_z80_map, AS_PROGRAM, 8, vsnes_state )
AM_RANGE(0x4000, 0x4000) AM_READ( vsnes_bootleg_z80_data_r ) // read in IRQ & NMI
AM_RANGE(0x6000, 0x6000) AM_READ( vsnes_bootleg_z80_latch_r ) // read in NMI, not explicitly stored (purpose? maybe clear IRQ ?)
- AM_RANGE(0x6000, 0x6001) AM_READ( vsnes_bootleg_z80_address_r ) // ^
+ AM_RANGE(0x6001, 0x6001) AM_READ( vsnes_bootleg_z80_address_r ) // ^
AM_RANGE(0x60FA, 0x60FA) AM_DEVWRITE("sn1", sn76489_device, write)
diff --git a/src/mame/drivers/wecleman.cpp b/src/mame/drivers/wecleman.cpp
index 2bc21262fc9..67d5341db37 100644
--- a/src/mame/drivers/wecleman.cpp
+++ b/src/mame/drivers/wecleman.cpp
@@ -509,8 +509,8 @@ WRITE16_MEMBER(wecleman_state::blitter_w)
static ADDRESS_MAP_START( wecleman_map, AS_PROGRAM, 16, wecleman_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM (03c000-03ffff used as RAM sometimes!)
- AM_RANGE(0x040494, 0x040495) AM_WRITE(wecleman_videostatus_w) AM_SHARE("videostatus") // cloud blending control (HACK)
AM_RANGE(0x040000, 0x043fff) AM_RAM // RAM
+ AM_RANGE(0x040494, 0x040495) AM_WRITE(wecleman_videostatus_w) AM_SHARE("videostatus") // cloud blending control (HACK)
AM_RANGE(0x060000, 0x060005) AM_WRITE(wecleman_protection_w) AM_SHARE("protection_ram")
AM_RANGE(0x060006, 0x060007) AM_READ(wecleman_protection_r) // MCU read
AM_RANGE(0x080000, 0x080011) AM_RAM_WRITE(blitter_w) AM_SHARE("blitter_regs") // Blitter
diff --git a/src/mame/drivers/williams.cpp b/src/mame/drivers/williams.cpp
index d4c887c765a..f8691982ade 100644
--- a/src/mame/drivers/williams.cpp
+++ b/src/mame/drivers/williams.cpp
@@ -623,9 +623,9 @@ ADDRESS_MAP_END
*************************************/
static ADDRESS_MAP_START( williams2_common_map, AS_PROGRAM, 8, williams2_state )
+ 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)
- AM_RANGE(0x0000, 0xbfff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(williams2_tileram_w) AM_SHARE("williams2_tile")
AM_RANGE(0xc800, 0xc87f) AM_WRITE(williams2_bank_select_w)
AM_RANGE(0xc880, 0xc887) AM_MIRROR(0x0078) AM_WRITE(williams_blitter_w)
diff --git a/src/mame/drivers/wiz.cpp b/src/mame/drivers/wiz.cpp
index 6861b9abec3..c3c7bf77bfd 100644
--- a/src/mame/drivers/wiz.cpp
+++ b/src/mame/drivers/wiz.cpp
@@ -338,18 +338,18 @@ static ADDRESS_MAP_START( decrypted_opcodes_map, AS_OPCODES, 8, wiz_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( wiz_main_map, AS_PROGRAM, 8, wiz_state )
+ 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)
- AM_IMPORT_FROM( kungfut_main_map )
ADDRESS_MAP_END
static ADDRESS_MAP_START( stinger_main_map, AS_PROGRAM, 8, wiz_state )
+ AM_IMPORT_FROM( kungfut_main_map )
// AM_RANGE(0xf008, 0xf00f) AM_WRITENOP // ?
AM_RANGE(0xf800, 0xf800) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
AM_RANGE(0xf808, 0xf808) AM_WRITE(stinger_explosion_w)
AM_RANGE(0xf80a, 0xf80a) AM_WRITE(stinger_shot_w)
- AM_IMPORT_FROM( kungfut_main_map )
ADDRESS_MAP_END
diff --git a/src/mame/drivers/xmen.cpp b/src/mame/drivers/xmen.cpp
index 9ef75e9aa65..0b4ab6b83a1 100644
--- a/src/mame/drivers/xmen.cpp
+++ b/src/mame/drivers/xmen.cpp
@@ -92,8 +92,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, xmen_state )
AM_RANGE(0x10a004, 0x10a005) AM_READ_PORT("EEPROM")
AM_RANGE(0x10a00c, 0x10a00d) AM_DEVREAD("k053246", k053247_device, k053246_word_r)
AM_RANGE(0x110000, 0x113fff) AM_RAM /* main RAM */
- AM_RANGE(0x18fa00, 0x18fa01) AM_WRITE(xmen_18fa00_w)
AM_RANGE(0x18c000, 0x197fff) AM_DEVREADWRITE("k052109", k052109_device, lsb_r, lsb_w)
+ AM_RANGE(0x18fa00, 0x18fa01) AM_WRITE(xmen_18fa00_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, xmen_state )
@@ -125,9 +125,9 @@ static ADDRESS_MAP_START( 6p_main_map, AS_PROGRAM, 16, xmen_state )
AM_RANGE(0x10a006, 0x10a007) AM_READ_PORT("P5_P6")
AM_RANGE(0x10a00c, 0x10a00d) AM_DEVREAD("k053246", k053247_device, k053246_word_r) /* sprites */
AM_RANGE(0x110000, 0x113fff) AM_RAM /* main RAM */
- AM_RANGE(0x18fa00, 0x18fa01) AM_WRITE(xmen_18fa00_w)
/* AM_RANGE(0x18c000, 0x197fff) AM_DEVWRITE("k052109", k052109_device, lsb_w) AM_SHARE("tilemapleft") */
AM_RANGE(0x18c000, 0x197fff) AM_RAM AM_SHARE("tilemapleft") /* left tilemap (p1,p2,p3 counters) */
+ AM_RANGE(0x18fa00, 0x18fa01) AM_WRITE(xmen_18fa00_w)
/*
AM_RANGE(0x1ac000, 0x1af7ff) AM_READONLY
AM_RANGE(0x1ac000, 0x1af7ff) AM_WRITEONLY
diff --git a/src/mame/drivers/yiear.cpp b/src/mame/drivers/yiear.cpp
index f4521d64af9..4f28edeedb9 100644
--- a/src/mame/drivers/yiear.cpp
+++ b/src/mame/drivers/yiear.cpp
@@ -152,10 +152,10 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, yiear_state )
AM_RANGE(0x4e02, 0x4e02) AM_READ_PORT("P2")
AM_RANGE(0x4e03, 0x4e03) AM_READ_PORT("DSW1")
AM_RANGE(0x4f00, 0x4f00) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
+ AM_RANGE(0x5000, 0x5fff) AM_RAM
AM_RANGE(0x5000, 0x502f) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x5400, 0x542f) AM_RAM AM_SHARE("spriteram2")
AM_RANGE(0x5800, 0x5fff) AM_WRITE(yiear_videoram_w) AM_SHARE("videoram")
- AM_RANGE(0x5000, 0x5fff) AM_RAM
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/yunsung8.cpp b/src/mame/drivers/yunsung8.cpp
index d0993fbf6b5..948014a1dcf 100644
--- a/src/mame/drivers/yunsung8.cpp
+++ b/src/mame/drivers/yunsung8.cpp
@@ -83,9 +83,9 @@ WRITE8_MEMBER(yunsung8_state::main_irq_ack_w)
*/
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, yunsung8_state )
+ 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
- AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_READWRITE(videoram_r, videoram_w) // Video RAM (Banked)
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/zexall.cpp b/src/mame/drivers/zexall.cpp
index d26e6f90a59..67f9b6c0618 100644
--- a/src/mame/drivers/zexall.cpp
+++ b/src/mame/drivers/zexall.cpp
@@ -136,10 +136,10 @@ WRITE8_MEMBER( zexall_state::output_data_w )
******************************************************************************/
static ADDRESS_MAP_START(z80_mem, AS_PROGRAM, 8, zexall_state)
+ 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)
AM_RANGE(0xffff, 0xffff) AM_READWRITE(output_data_r, output_data_w)
- AM_RANGE(0x0000, 0xffff) AM_RAM AM_SHARE("main_ram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/zn.cpp b/src/mame/drivers/zn.cpp
index b8fbc5c4ae3..0dfee3307cc 100644
--- a/src/mame/drivers/zn.cpp
+++ b/src/mame/drivers/zn.cpp
@@ -570,6 +570,8 @@ WRITE8_MEMBER(zn_state::zn_qsound_w)
}
static ADDRESS_MAP_START(coh1000c_map, AS_PROGRAM, 32, zn_state)
+ AM_IMPORT_FROM(zn_map)
+
AM_RANGE(0x1f000000, 0x1f3fffff) AM_ROM AM_REGION("maskroms", 0)
AM_RANGE(0x1f400000, 0x1f7fffff) AM_ROMBANK("bankedroms")
AM_RANGE(0x1fb00000, 0x1fb00003) AM_WRITE8(bank_coh1000c_w, 0x000000ff)
@@ -577,8 +579,6 @@ static ADDRESS_MAP_START(coh1000c_map, AS_PROGRAM, 32, zn_state)
AM_RANGE(0x1fb40020, 0x1fb40023) AM_READ16(capcom_kickharness_r, 0x0000ffff)
AM_RANGE(0x1fb80000, 0x1fbfffff) AM_ROM AM_REGION("countryrom", 0)
AM_RANGE(0x1fb60000, 0x1fb60003) AM_WRITE8(zn_qsound_w, 0x000000ff)
-
- AM_IMPORT_FROM(zn_map)
ADDRESS_MAP_END
MACHINE_RESET_MEMBER(zn_state,coh1000c)
@@ -1037,12 +1037,12 @@ WRITE8_MEMBER(zn_state::fx1a_sound_bankswitch_w)
}
static ADDRESS_MAP_START(coh1000ta_map, AS_PROGRAM, 32, zn_state)
+ AM_IMPORT_FROM(zn_map)
+
AM_RANGE(0x1f000000, 0x1f7fffff) AM_ROMBANK("bankedroms")
AM_RANGE(0x1fb40000, 0x1fb40003) AM_WRITE8(bank_coh1000t_w, 0x000000ff)
AM_RANGE(0x1fb80000, 0x1fb80003) AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0x000000ff)
AM_RANGE(0x1fb80000, 0x1fb80003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0x00ff0000)
-
- AM_IMPORT_FROM(zn_map)
ADDRESS_MAP_END
MACHINE_RESET_MEMBER(zn_state,coh1000ta)
@@ -1055,8 +1055,8 @@ MACHINE_RESET_MEMBER(zn_state,coh1000ta)
}
static ADDRESS_MAP_START( fx1a_sound_map, AS_PROGRAM, 8, zn_state )
- AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("soundbank") /* Fallthrough */
- AM_RANGE(0x0000, 0x7fff) AM_ROM
+ AM_RANGE(0x0000, 0x3fff) AM_ROM
+ AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("soundbank")
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE("ymsnd", ym2610_device, read, write)
AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE("tc0140syt", tc0140syt_device, slave_port_w)
@@ -1101,6 +1101,7 @@ READ8_MEMBER(zn_state::fx1b_fram_r)
}
static ADDRESS_MAP_START(coh1000tb_map, AS_PROGRAM, 32, zn_state)
+ 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)
AM_RANGE(0x1fb40000, 0x1fb40003) AM_WRITE8(bank_coh1000t_w, 0x000000ff)
@@ -1109,7 +1110,6 @@ static ADDRESS_MAP_START(coh1000tb_map, AS_PROGRAM, 32, zn_state)
AM_RANGE(0x1fba0000, 0x1fba0003) AM_DEVWRITE16("taito_zoom", taito_zoom_device, sound_irq_w, 0x0000ffff)
AM_RANGE(0x1fbc0000, 0x1fbc0003) AM_DEVREAD16("taito_zoom", taito_zoom_device, sound_irq_r, 0x0000ffff)
AM_RANGE(0x1fbe0000, 0x1fbe01ff) AM_DEVREADWRITE8("taito_zoom", taito_zoom_device, shared_ram_r, shared_ram_w, 0x00ff00ff) // M66220FP for comm with the MN10200
- AM_IMPORT_FROM(zn_map)
ADDRESS_MAP_END
DRIVER_INIT_MEMBER(zn_state,coh1000tb)
@@ -1383,12 +1383,12 @@ DRIVER_INIT_MEMBER(zn_state,primrag2)
}
static ADDRESS_MAP_START(coh1000w_map, AS_PROGRAM, 32, zn_state)
+ AM_IMPORT_FROM(zn_map)
AM_RANGE(0x1f000000, 0x1f1fffff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0x1f000000, 0x1f000003) AM_WRITENOP
AM_RANGE(0x1f7e8000, 0x1f7e8003) AM_NOP
AM_RANGE(0x1f7e4000, 0x1f7e4fff) AM_READWRITE16(vt83c461_16_r, vt83c461_16_w, 0xffffffff)
AM_RANGE(0x1f7f4000, 0x1f7f4fff) AM_READWRITE16(vt83c461_32_r, vt83c461_32_w, 0xffffffff)
- AM_IMPORT_FROM(zn_map)
ADDRESS_MAP_END
MACHINE_CONFIG_DERIVED(zn_state::coh1000w, zn1_2mb_vram)
@@ -1565,12 +1565,12 @@ WRITE8_MEMBER(zn_state::coh1002e_sound_irq_w)
}
static ADDRESS_MAP_START(coh1002e_map, AS_PROGRAM, 32, zn_state)
+ AM_IMPORT_FROM(zn_map)
+
AM_RANGE(0x1f000000, 0x1f7fffff) AM_ROMBANK("bankedroms")
AM_RANGE(0x1fa10300, 0x1fa10303) AM_WRITE8(coh1002e_bank_w, 0x000000ff)
AM_RANGE(0x1fb00000, 0x1fb00003) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x000000ff)
AM_RANGE(0x1fb00004, 0x1fb00007) AM_WRITE8(coh1002e_sound_irq_w, 0x000000ff)
-
- AM_IMPORT_FROM(zn_map)
ADDRESS_MAP_END
MACHINE_RESET_MEMBER(zn_state,coh1002e)
@@ -1701,12 +1701,12 @@ READ16_MEMBER(zn_state::bam2_unk_r)
}
static ADDRESS_MAP_START(bam2_map, AS_PROGRAM, 32, zn_state)
+ AM_IMPORT_FROM(zn_map)
+
AM_RANGE(0x1f000000, 0x1f3fffff) AM_ROM AM_REGION("bankedroms", 0)
AM_RANGE(0x1f400000, 0x1f7fffff) AM_ROMBANK("bankedroms")
AM_RANGE(0x1fa20000, 0x1fa20003) AM_READ16(bam2_unk_r, 0x0000ffff)
AM_RANGE(0x1fb00000, 0x1fb00007) AM_READWRITE16(bam2_mcu_r, bam2_mcu_w, 0xffffffff)
-
- AM_IMPORT_FROM(zn_map)
ADDRESS_MAP_END
DRIVER_INIT_MEMBER(zn_state,bam2)
@@ -2006,20 +2006,19 @@ WRITE8_MEMBER(zn_state::nbajamex_backup_w)
static ADDRESS_MAP_START(coh1000a_map, AS_PROGRAM, 32, zn_state)
+ 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)
-
- AM_IMPORT_FROM(zn_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START(nbajamex_map, AS_PROGRAM, 32, zn_state)
+ AM_IMPORT_FROM(coh1000a_map)
+
AM_RANGE(0x1f000000, 0x1f1fffff) AM_ROMBANK("bankedroms")
AM_RANGE(0x1f200000, 0x1f207fff) AM_WRITE8(nbajamex_backup_w, 0xffffffff)
AM_RANGE(0x1fbfff00, 0x1fbfff07) AM_WRITE16(nbajamex_bank_w, 0xffffffff)
AM_RANGE(0x1fbfff08, 0x1fbfff0b) AM_READ16(nbajamex_08_r, 0xffff)
AM_RANGE(0x1fbfff80, 0x1fbfff83) AM_READWRITE16(nbajamex_80_r, nbajamex_80_w, 0xffff)
-
- AM_IMPORT_FROM(coh1000a_map)
ADDRESS_MAP_END
DRIVER_INIT_MEMBER(zn_state,nbajamex)
@@ -2044,11 +2043,11 @@ DRIVER_INIT_MEMBER(zn_state,jdredd)
}
static ADDRESS_MAP_START(jdredd_map, AS_PROGRAM, 32, zn_state)
+ AM_IMPORT_FROM(coh1000a_map)
+
AM_RANGE(0x1f000000, 0x1f1fffff) AM_ROM AM_REGION("roms", 0)
AM_RANGE(0x1fbfff80, 0x1fbfff8f) AM_DEVREADWRITE16("ata", ata_interface_device, read_cs1, write_cs1, 0xffffffff)
AM_RANGE(0x1fbfff90, 0x1fbfff9f) AM_DEVREADWRITE16("ata", ata_interface_device, read_cs0, write_cs0, 0xffffffff)
-
- AM_IMPORT_FROM(coh1000a_map)
ADDRESS_MAP_END
MACHINE_CONFIG_DERIVED(zn_state::coh1000a, zn1_2mb_vram)
@@ -2210,11 +2209,11 @@ WRITE8_MEMBER(zn_state::coh1001l_bank_w)
}
static ADDRESS_MAP_START(coh1001l_map, AS_PROGRAM, 32, zn_state)
+ AM_IMPORT_FROM(zn_map)
+
AM_RANGE(0x1f000000, 0x1f7fffff) AM_ROMBANK("bankedroms")
AM_RANGE(0x1fb00000, 0x1fb00003) AM_WRITE16(coh1001l_latch_w, 0x0000ffff)
AM_RANGE(0x1fb00000, 0x1fb00003) AM_WRITE8(coh1001l_bank_w, 0x00ff0000)
-
- AM_IMPORT_FROM(zn_map)
ADDRESS_MAP_END
MACHINE_RESET_MEMBER(zn_state,coh1001l)
@@ -2267,11 +2266,10 @@ WRITE8_MEMBER(zn_state::coh1002v_bank_w)
}
static ADDRESS_MAP_START(coh1002v_map, AS_PROGRAM, 32, zn_state)
+ AM_IMPORT_FROM(zn_map)
AM_RANGE(0x1f000000, 0x1f27ffff) AM_ROM AM_REGION("fixedroms", 0)
AM_RANGE(0x1fb00000, 0x1fbfffff) AM_ROMBANK("bankedroms")
AM_RANGE(0x1fb00000, 0x1fb00003) AM_WRITE8(coh1002v_bank_w, 0x000000ff)
-
- AM_IMPORT_FROM(zn_map)
ADDRESS_MAP_END
MACHINE_RESET_MEMBER(zn_state,coh1002v)
@@ -2452,10 +2450,9 @@ WRITE8_MEMBER(zn_state::coh1002m_bank_w)
}
static ADDRESS_MAP_START(coh1002m_map, AS_PROGRAM, 32, zn_state)
+ AM_IMPORT_FROM(zn_map)
AM_RANGE(0x1f000000, 0x1f7fffff) AM_ROMBANK("bankedroms")
AM_RANGE(0x1fb00004, 0x1fb00007) AM_WRITE8(coh1002m_bank_w, 0x00ff0000)
-
- AM_IMPORT_FROM(zn_map)
ADDRESS_MAP_END
MACHINE_RESET_MEMBER(zn_state,coh1002m)
@@ -2478,11 +2475,10 @@ READ8_MEMBER(zn_state::cbaj_sound_main_status_r)
}
static ADDRESS_MAP_START(coh1002msnd_map, AS_PROGRAM, 32, zn_state)
+ 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)
AM_RANGE(0x1fb00000, 0x1fb00003) AM_READ8(cbaj_sound_main_status_r, 0xff000000)
-
- AM_IMPORT_FROM(coh1002m_map)
ADDRESS_MAP_END
READ8_MEMBER(zn_state::cbaj_sound_z80_status_r)