From 127cd08d4d8a7ebbd5e0cbe8239fa17c8dc9b20e Mon Sep 17 00:00:00 2001 From: Olivier Galibert Date: Thu, 18 Jan 2018 19:41:45 +0100 Subject: 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. --- src/mame/drivers/20pacgal.cpp | 6 ++--- src/mame/drivers/30test.cpp | 2 +- src/mame/drivers/88games.cpp | 2 +- src/mame/drivers/aeroboto.cpp | 2 +- src/mame/drivers/aerofgt.cpp | 2 +- src/mame/drivers/alesis.cpp | 2 +- src/mame/drivers/aliens.cpp | 2 +- src/mame/drivers/alphasma.cpp | 8 +++---- src/mame/drivers/alphatpx.cpp | 4 ++-- src/mame/drivers/altos8600.cpp | 2 +- src/mame/drivers/amstr_pc.cpp | 4 ++-- src/mame/drivers/apollo.cpp | 17 +++++++------- src/mame/drivers/apple2e.cpp | 6 ++--- src/mame/drivers/appoooh.cpp | 2 +- src/mame/drivers/aristmk5.cpp | 11 +++++---- src/mame/drivers/armedf.cpp | 2 +- src/mame/drivers/astrocde.cpp | 8 +++---- src/mame/drivers/asuka.cpp | 2 +- src/mame/drivers/at.cpp | 6 ++--- src/mame/drivers/atarig1.cpp | 2 +- src/mame/drivers/atarig42.cpp | 2 +- src/mame/drivers/atarigt.cpp | 2 +- src/mame/drivers/atarigx2.cpp | 2 +- src/mame/drivers/atarisy2.cpp | 2 +- src/mame/drivers/atm.cpp | 2 +- src/mame/drivers/baraduke.cpp | 2 +- src/mame/drivers/batman.cpp | 2 +- src/mame/drivers/bbc.cpp | 12 ++++++---- src/mame/drivers/bebox.cpp | 2 +- src/mame/drivers/bfm_sc4.cpp | 2 +- src/mame/drivers/bfm_swp.cpp | 2 +- src/mame/drivers/bingor.cpp | 6 ++--- src/mame/drivers/blockhl.cpp | 2 +- src/mame/drivers/bloodbro.cpp | 2 +- src/mame/drivers/blueprnt.cpp | 2 +- src/mame/drivers/bottom9.cpp | 2 +- src/mame/drivers/bowltry.cpp | 2 +- src/mame/drivers/by35.cpp | 2 +- src/mame/drivers/cabal.cpp | 4 ++-- src/mame/drivers/calorie.cpp | 5 ++-- src/mame/drivers/candela.cpp | 2 +- src/mame/drivers/cave.cpp | 2 +- src/mame/drivers/ccastles.cpp | 2 +- src/mame/drivers/cclimber.cpp | 8 +++---- src/mame/drivers/ccs2810.cpp | 2 +- src/mame/drivers/cdi.cpp | 2 +- src/mame/drivers/champbas.cpp | 14 +++++------ src/mame/drivers/cinemat.cpp | 2 +- src/mame/drivers/cloud9.cpp | 2 +- src/mame/drivers/cmmb.cpp | 2 +- src/mame/drivers/compc.cpp | 4 ++-- src/mame/drivers/coolridr.cpp | 6 ++--- src/mame/drivers/cps1.cpp | 2 +- src/mame/drivers/cps2.cpp | 4 ++-- src/mame/drivers/crimfght.cpp | 2 +- src/mame/drivers/crospang.cpp | 1 - src/mame/drivers/crystal.cpp | 26 +++++++++++---------- src/mame/drivers/cybertnk.cpp | 2 +- src/mame/drivers/dacholer.cpp | 2 +- src/mame/drivers/dblcrown.cpp | 2 +- src/mame/drivers/dcon.cpp | 2 +- src/mame/drivers/ddenlovr.cpp | 8 +++---- src/mame/drivers/ddragon.cpp | 2 +- src/mame/drivers/dec0.cpp | 2 +- src/mame/drivers/deco32.cpp | 2 +- src/mame/drivers/dkong.cpp | 4 ++-- src/mame/drivers/dreambal.cpp | 3 ++- src/mame/drivers/dynax.cpp | 4 ++-- src/mame/drivers/dynduke.cpp | 2 +- src/mame/drivers/elwro800.cpp | 2 +- src/mame/drivers/eprom.cpp | 8 +++---- src/mame/drivers/equites.cpp | 4 ++-- src/mame/drivers/ertictac.cpp | 3 +-- src/mame/drivers/espial.cpp | 6 ++--- src/mame/drivers/europc.cpp | 2 +- src/mame/drivers/exerion.cpp | 4 ++-- src/mame/drivers/exidy.cpp | 12 +++++----- src/mame/drivers/expro02.cpp | 9 ++++--- src/mame/drivers/fastinvaders.cpp | 7 +++--- src/mame/drivers/fccpu30.cpp | 2 +- src/mame/drivers/fidel6502.cpp | 4 ++-- src/mame/drivers/fidel68k.cpp | 4 ++-- src/mame/drivers/funkball.cpp | 2 +- src/mame/drivers/gaelco2.cpp | 14 +++++------ src/mame/drivers/gaelco3d.cpp | 4 ++-- src/mame/drivers/galaga.cpp | 2 +- src/mame/drivers/galaxian.cpp | 2 +- src/mame/drivers/galaxold.cpp | 8 +------ src/mame/drivers/galgames.cpp | 4 ++-- src/mame/drivers/gauntlet.cpp | 2 +- src/mame/drivers/gei.cpp | 8 +++---- src/mame/drivers/geneve.cpp | 4 ++-- src/mame/drivers/gladiatr.cpp | 2 +- src/mame/drivers/gng.cpp | 2 +- src/mame/drivers/goldstar.cpp | 2 +- src/mame/drivers/goodejan.cpp | 4 ++-- src/mame/drivers/gstriker.cpp | 2 +- src/mame/drivers/gts1.cpp | 3 ++- src/mame/drivers/halleys.cpp | 3 ++- src/mame/drivers/harddriv.cpp | 4 ++-- src/mame/drivers/hec2hrp.cpp | 12 +++++----- src/mame/drivers/hikaru.cpp | 2 +- src/mame/drivers/hitpoker.cpp | 5 ++-- src/mame/drivers/hk68v10.cpp | 2 +- src/mame/drivers/hp9k_3xx.cpp | 24 +++++++++---------- src/mame/drivers/hp_ipc.cpp | 5 ++-- src/mame/drivers/hvyunit.cpp | 2 +- src/mame/drivers/ibmpcjr.cpp | 2 +- src/mame/drivers/igs011.cpp | 21 ++++++++++------- src/mame/drivers/igs017.cpp | 20 ++++++++-------- src/mame/drivers/igspoker.cpp | 6 ++--- src/mame/drivers/interact.cpp | 8 +++---- src/mame/drivers/interpro.cpp | 24 +++++++++---------- src/mame/drivers/iq151.cpp | 8 +++---- src/mame/drivers/ironhors.cpp | 5 ++-- src/mame/drivers/isbc.cpp | 4 ++-- src/mame/drivers/itech32.cpp | 2 +- src/mame/drivers/jack.cpp | 4 ++-- src/mame/drivers/joctronic.cpp | 2 +- src/mame/drivers/kc.cpp | 8 +++---- src/mame/drivers/konamigx.cpp | 8 +++---- src/mame/drivers/kyugo.cpp | 2 +- src/mame/drivers/lbeach.cpp | 2 +- src/mame/drivers/lethal.cpp | 4 ++-- src/mame/drivers/liberate.cpp | 8 +++---- src/mame/drivers/liberatr.cpp | 4 ++-- src/mame/drivers/luckgrln.cpp | 4 ++-- src/mame/drivers/m107.cpp | 6 ++--- src/mame/drivers/m24.cpp | 2 +- src/mame/drivers/m62.cpp | 2 +- src/mame/drivers/m63.cpp | 2 +- src/mame/drivers/mainevt.cpp | 10 ++++---- src/mame/drivers/malzak.cpp | 4 ++-- src/mame/drivers/mazerbla.cpp | 2 +- src/mame/drivers/mediagx.cpp | 2 +- src/mame/drivers/megaphx.cpp | 2 +- src/mame/drivers/megasys1.cpp | 6 ++--- src/mame/drivers/mephisto.cpp | 2 +- src/mame/drivers/merit.cpp | 2 +- src/mame/drivers/metro.cpp | 2 +- src/mame/drivers/microterm.cpp | 2 +- src/mame/drivers/mmodular.cpp | 8 +++---- src/mame/drivers/model2.cpp | 16 ++++++------- src/mame/drivers/mpu3.cpp | 3 +-- src/mame/drivers/ms32.cpp | 4 ++-- src/mame/drivers/mtouchxl.cpp | 2 +- src/mame/drivers/multfish.cpp | 2 +- src/mame/drivers/multigam.cpp | 6 ++--- src/mame/drivers/mvme147.cpp | 2 +- src/mame/drivers/mwarr.cpp | 2 +- src/mame/drivers/mz2000.cpp | 2 +- src/mame/drivers/namcos10.cpp | 10 ++++---- src/mame/drivers/namcos11.cpp | 4 ++-- src/mame/drivers/namcos12.cpp | 8 +++---- src/mame/drivers/namcos2.cpp | 32 ++++++++++++------------- src/mame/drivers/namcos21.cpp | 10 ++++---- src/mame/drivers/namcos22.cpp | 8 +++---- src/mame/drivers/namcos23.cpp | 2 +- src/mame/drivers/namcos86.cpp | 4 ++-- src/mame/drivers/naomi.cpp | 2 +- src/mame/drivers/neogeo.cpp | 2 +- src/mame/drivers/neogeocd.cpp | 2 +- src/mame/drivers/nes_vt.cpp | 6 ++--- src/mame/drivers/next.cpp | 18 +++++--------- src/mame/drivers/nightgal.cpp | 2 +- src/mame/drivers/nmk16.cpp | 6 ++--- src/mame/drivers/novag6502.cpp | 4 ++-- src/mame/drivers/okean240.cpp | 6 ++--- src/mame/drivers/olibochu.cpp | 2 +- src/mame/drivers/oric.cpp | 4 ++-- src/mame/drivers/overdriv.cpp | 2 +- src/mame/drivers/pacman.cpp | 16 ++++++------- src/mame/drivers/paradise.cpp | 8 +++---- src/mame/drivers/parodius.cpp | 4 ++-- src/mame/drivers/pasogo.cpp | 4 ++-- src/mame/drivers/pb1000.cpp | 2 +- src/mame/drivers/pc.cpp | 6 ++--- src/mame/drivers/pc9801.cpp | 8 +++---- src/mame/drivers/pcd.cpp | 4 ++-- src/mame/drivers/pcxt.cpp | 2 +- src/mame/drivers/pdp11.cpp | 2 +- src/mame/drivers/pentagon.cpp | 2 +- src/mame/drivers/pgm2.cpp | 6 ++--- src/mame/drivers/pinball2k.cpp | 2 +- src/mame/drivers/play_3.cpp | 4 ++-- src/mame/drivers/pntnpuzl.cpp | 2 +- src/mame/drivers/prehisle.cpp | 2 +- src/mame/drivers/psikyo.cpp | 8 +++---- src/mame/drivers/psychic5.cpp | 2 +- src/mame/drivers/punchout.cpp | 2 +- src/mame/drivers/pv9234.cpp | 2 +- src/mame/drivers/pwrview.cpp | 11 +++++---- src/mame/drivers/rad_eu3a05.cpp | 5 ++-- src/mame/drivers/rad_eu3a14.cpp | 6 ++--- src/mame/drivers/raiden.cpp | 2 +- src/mame/drivers/raiden2.cpp | 14 +++++------ src/mame/drivers/rastersp.cpp | 2 +- src/mame/drivers/re900.cpp | 2 +- src/mame/drivers/realbrk.cpp | 10 ++++---- src/mame/drivers/renegade.cpp | 2 +- src/mame/drivers/rocnrope.cpp | 2 +- src/mame/drivers/rohga.cpp | 2 +- src/mame/drivers/royalmah.cpp | 2 +- src/mame/drivers/scobra.cpp | 2 +- src/mame/drivers/scorpion.cpp | 2 +- src/mame/drivers/scramble.cpp | 4 ++-- src/mame/drivers/segam1.cpp | 2 +- src/mame/drivers/segas32.cpp | 14 +++++------ src/mame/drivers/segaufo.cpp | 4 ++-- src/mame/drivers/segaybd.cpp | 3 +-- src/mame/drivers/seibucats.cpp | 3 ++- src/mame/drivers/seibuspi.cpp | 16 ++++++------- src/mame/drivers/senjyo.cpp | 12 ++-------- src/mame/drivers/seta.cpp | 9 +++---- src/mame/drivers/sfcbox.cpp | 2 +- src/mame/drivers/sidearms.cpp | 4 ++-- src/mame/drivers/sidepckt.cpp | 2 +- src/mame/drivers/sigmab98.cpp | 15 ++++++------ src/mame/drivers/simple_st0016.cpp | 2 +- src/mame/drivers/simpsons.cpp | 4 ++-- src/mame/drivers/skeetsht.cpp | 6 ++--- src/mame/drivers/skimaxx.cpp | 5 ++-- src/mame/drivers/skylncr.cpp | 2 +- src/mame/drivers/slapfght.cpp | 12 +++++----- src/mame/drivers/snk.cpp | 4 ++-- src/mame/drivers/spbactn.cpp | 2 +- src/mame/drivers/spy.cpp | 2 +- src/mame/drivers/spyhuntertec.cpp | 4 ++-- src/mame/drivers/srmp2.cpp | 2 +- src/mame/drivers/sslam.cpp | 4 ++-- src/mame/drivers/ssystem3.cpp | 4 ---- src/mame/drivers/starwars.cpp | 2 +- src/mame/drivers/stfight.cpp | 4 ++-- src/mame/drivers/subs.cpp | 2 +- src/mame/drivers/subsino.cpp | 12 +++++----- src/mame/drivers/subsino2.cpp | 12 +++++----- src/mame/drivers/surpratk.cpp | 2 +- src/mame/drivers/swtpc09.cpp | 8 +++---- src/mame/drivers/system16.cpp | 15 ++++++------ src/mame/drivers/taitogn.cpp | 4 ++-- src/mame/drivers/taitojc.cpp | 6 ++--- src/mame/drivers/taitosj.cpp | 2 +- src/mame/drivers/tandy1t.cpp | 6 ++--- src/mame/drivers/tandy2k.cpp | 2 +- src/mame/drivers/tasman.cpp | 8 +++---- src/mame/drivers/tecmo.cpp | 2 +- src/mame/drivers/tempest.cpp | 2 +- src/mame/drivers/terracre.cpp | 2 +- src/mame/drivers/tetrisp2.cpp | 19 +++------------ src/mame/drivers/thunderx.cpp | 9 +++---- src/mame/drivers/ti99_4p.cpp | 4 ++-- src/mame/drivers/ti99_4x.cpp | 4 ++-- src/mame/drivers/ti99_8.cpp | 4 ++-- src/mame/drivers/tnzs.cpp | 14 +++++------ src/mame/drivers/tx1.cpp | 4 ++-- src/mame/drivers/vendetta.cpp | 16 ++++++++----- src/mame/drivers/vii.cpp | 3 ++- src/mame/drivers/vis.cpp | 4 ++-- src/mame/drivers/vsnes.cpp | 6 ++--- src/mame/drivers/wecleman.cpp | 2 +- src/mame/drivers/williams.cpp | 2 +- src/mame/drivers/wiz.cpp | 4 ++-- src/mame/drivers/xmen.cpp | 4 ++-- src/mame/drivers/yiear.cpp | 2 +- src/mame/drivers/yunsung8.cpp | 2 +- src/mame/drivers/zexall.cpp | 2 +- src/mame/drivers/zn.cpp | 48 +++++++++++++++++--------------------- 267 files changed, 675 insertions(+), 697 deletions(-) (limited to 'src/mame/drivers') 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 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) AM_RANGE(0x160000, 0x16ffff) AM_RAM AM_SHARE("share1") + AM_RANGE(0x16cc00, 0x16cc01) AM_READWRITE(sync_r, sync_w) 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) AM_RANGE(0x160000, 0x16ffff) AM_RAM AM_SHARE("share1") + AM_RANGE(0x16cc00, 0x16cc01) AM_READWRITE(sync_r, sync_w) 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) AM_SHARE("sync_data") AM_RANGE(0x160000, 0x16ffff) AM_RAM AM_SHARE("share1") + AM_RANGE(0x16cc00, 0x16cc01) AM_READWRITE(sync_r, sync_w) 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 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) 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) 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 / 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 / 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) -- cgit v1.2.3