summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2009-04-16 06:56:40 +0000
committer Aaron Giles <aaron@aarongiles.com>2009-04-16 06:56:40 +0000
commit21d976ec89dbad10f5f8fe655701ec1349633d7e (patch)
treeeed627f0ff6b72871a1ffdb0a6768b8e83e8e688
parent3e2dfc8f754695e9c05c2db3e93b6e4180ec5f8e (diff)
More memory map merges.
-rw-r--r--src/mame/drivers/surpratk.c29
-rw-r--r--src/mame/drivers/system16.c420
-rw-r--r--src/mame/drivers/system18.c156
3 files changed, 211 insertions, 394 deletions
diff --git a/src/mame/drivers/surpratk.c b/src/mame/drivers/surpratk.c
index 5374caa0b65..9c8f53f0234 100644
--- a/src/mame/drivers/surpratk.c
+++ b/src/mame/drivers/surpratk.c
@@ -85,33 +85,22 @@ static WRITE8_HANDLER( surpratk_5fc0_w )
/********************************************/
-static ADDRESS_MAP_START( surpratk_readmem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x07ff) AM_READ(bankedram_r)
- AM_RANGE(0x0800, 0x1fff) AM_READ(SMH_RAM)
- AM_RANGE(0x2000, 0x3fff) AM_READ(SMH_BANK1) /* banked ROM */
+static ADDRESS_MAP_START( surpratk_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x07ff) AM_READWRITE(bankedram_r, bankedram_w) AM_BASE(&ram)
+ AM_RANGE(0x0800, 0x1fff) AM_RAM
+ AM_RANGE(0x2000, 0x3fff) AM_ROMBANK(1) /* banked ROM */
AM_RANGE(0x5f8c, 0x5f8c) AM_READ_PORT("P1")
AM_RANGE(0x5f8d, 0x5f8d) AM_READ_PORT("P2")
AM_RANGE(0x5f8e, 0x5f8e) AM_READ_PORT("DSW3")
AM_RANGE(0x5f8f, 0x5f8f) AM_READ_PORT("DSW1")
AM_RANGE(0x5f90, 0x5f90) AM_READ_PORT("DSW2")
-// AM_RANGE(0x5f91, 0x5f91) AM_DEVREAD("ym", ym2151_status_port_r) /* ? */
- AM_RANGE(0x5fa0, 0x5faf) AM_READ(K053244_r)
- AM_RANGE(0x5fc0, 0x5fc0) AM_READ(watchdog_reset_r)
- AM_RANGE(0x4000, 0x7fff) AM_READ(K052109_r)
- AM_RANGE(0x8000, 0xffff) AM_READ(SMH_ROM) /* ROM */
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( surpratk_writemem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x07ff) AM_WRITE(bankedram_w) AM_BASE(&ram)
- AM_RANGE(0x0800, 0x1fff) AM_WRITE(SMH_RAM)
- AM_RANGE(0x2000, 0x3fff) AM_WRITE(SMH_ROM) /* banked ROM */
- AM_RANGE(0x5fa0, 0x5faf) AM_WRITE(K053244_w)
+ AM_RANGE(0x5fa0, 0x5faf) AM_READWRITE(K053244_r, K053244_w)
AM_RANGE(0x5fb0, 0x5fbf) AM_WRITE(K053251_w)
- AM_RANGE(0x5fc0, 0x5fc0) AM_WRITE(surpratk_5fc0_w)
+ AM_RANGE(0x5fc0, 0x5fc0) AM_READWRITE(watchdog_reset_r, surpratk_5fc0_w)
AM_RANGE(0x5fd0, 0x5fd1) AM_DEVWRITE("ym", ym2151_w)
AM_RANGE(0x5fc4, 0x5fc4) AM_WRITE(surpratk_videobank_w)
- AM_RANGE(0x4000, 0x7fff) AM_WRITE(K052109_w)
- AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM) /* ROM */
+ AM_RANGE(0x4000, 0x7fff) AM_READWRITE(K052109_r, K052109_w)
+ AM_RANGE(0x8000, 0xffff) AM_ROM /* ROM */
ADDRESS_MAP_END
@@ -190,7 +179,7 @@ static MACHINE_DRIVER_START( surpratk )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", KONAMI, 3000000) /* 053248 */
- MDRV_CPU_PROGRAM_MAP(surpratk_readmem,surpratk_writemem)
+ MDRV_CPU_PROGRAM_MAP(surpratk_map,0)
MDRV_CPU_VBLANK_INT("screen", surpratk_interrupt)
MDRV_MACHINE_RESET(surpratk)
diff --git a/src/mame/drivers/system16.c b/src/mame/drivers/system16.c
index 89c470f1948..a17187acb5e 100644
--- a/src/mame/drivers/system16.c
+++ b/src/mame/drivers/system16.c
@@ -304,65 +304,43 @@ static WRITE8_HANDLER( tturfbl_soundbank_w )
}
}
-static ADDRESS_MAP_START( tturfbl_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
+static ADDRESS_MAP_START(tturfbl_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_READ(tturfbl_soundbank_r)
- AM_RANGE(0xe800, 0xe800) AM_READ(soundlatch_r)
- AM_RANGE(0xf800, 0xffff) AM_READ(SMH_RAM)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START(tturfbl_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM)
- AM_RANGE(0x8000, 0xbfff) AM_WRITENOP /* ROM bank */
AM_RANGE(0xe000, 0xe000) AM_WRITE(tturfbl_soundbank_w)
+ AM_RANGE(0xe800, 0xe800) AM_READ(soundlatch_r)
AM_RANGE(0xf000, 0xf000) AM_WRITE(tturfbl_msm5205_data_w)
- AM_RANGE(0xf800, 0xffff) AM_WRITE(SMH_RAM)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( tturfbl_sound_readport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x01) AM_DEVREAD("ym", ym2151_r)
- AM_RANGE(0x80, 0x80) AM_READNOP
+ AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tturfbl_sound_writeport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( tturfbl_sound_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x01) AM_DEVWRITE("ym", ym2151_w)
+ AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ym", ym2151_r, ym2151_w)
AM_RANGE(0x40, 0x40) AM_WRITENOP
- AM_RANGE(0x80, 0x80) AM_WRITENOP
+ AM_RANGE(0x80, 0x80) AM_NOP
ADDRESS_MAP_END
/*******************************************************************************/
-static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
+static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xe800, 0xe800) AM_READ(soundlatch_r)
- AM_RANGE(0xf800, 0xffff) AM_READ(SMH_RAM)
+ AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM)
- AM_RANGE(0xf800, 0xffff) AM_WRITE(SMH_RAM)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( sound_readport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( sound_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x01) AM_DEVREAD("ym", ym2151_r)
+ AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ym", ym2151_r, ym2151_w)
AM_RANGE(0xc0, 0xc0) AM_READ(soundlatch_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_writeport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x01) AM_DEVWRITE("ym", ym2151_w)
-ADDRESS_MAP_END
-
// 7759
-static ADDRESS_MAP_START( sound_readmem_7759, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
- AM_RANGE(0x8000, 0xdfff) AM_READ(SMH_BANK1)
+static ADDRESS_MAP_START( sound_7759_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x7fff) AM_ROM
+ AM_RANGE(0x8000, 0xdfff) AM_ROMBANK(1)
AM_RANGE(0xe800, 0xe800) AM_READ(soundlatch_r)
- AM_RANGE(0xf800, 0xffff) AM_READ(SMH_RAM)
+ AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
@@ -376,11 +354,12 @@ static WRITE8_DEVICE_HANDLER( upd7759_bank_w ) //*
}
-static ADDRESS_MAP_START( sound_writeport_7759, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( sound_7759_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x01) AM_DEVWRITE("ym", ym2151_w)
+ AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ym", ym2151_r, ym2151_w)
AM_RANGE(0x40, 0x40) AM_DEVWRITE("7759", upd7759_bank_w)
AM_RANGE(0x80, 0x80) AM_DEVWRITE("7759", upd7759_port_w)
+ AM_RANGE(0xc0, 0xc0) AM_READ(soundlatch_r)
ADDRESS_MAP_END
@@ -429,8 +408,8 @@ static MACHINE_DRIVER_START( system16 )
MDRV_CPU_VBLANK_INT("screen", sys16_interrupt)
MDRV_CPU_ADD("soundcpu", Z80, 4000000)
- MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem)
- MDRV_CPU_IO_MAP(sound_readport,sound_writeport)
+ MDRV_CPU_PROGRAM_MAP(sound_map,0)
+ MDRV_CPU_IO_MAP(sound_io_map,0)
/* video hardware */
MDRV_SCREEN_ADD("screen", RASTER)
@@ -461,8 +440,8 @@ static MACHINE_DRIVER_START( system16_7759 )
MDRV_IMPORT_FROM(system16)
MDRV_CPU_MODIFY("soundcpu")
- MDRV_CPU_PROGRAM_MAP(sound_readmem_7759,sound_writemem)
- MDRV_CPU_IO_MAP(sound_readport,sound_writeport_7759)
+ MDRV_CPU_PROGRAM_MAP(sound_7759_map,0)
+ MDRV_CPU_IO_MAP(sound_7759_io_map,0)
/* sound hardware */
MDRV_SOUND_ADD("7759", UPD7759, UPD7759_STANDARD_CLOCK)
@@ -619,29 +598,20 @@ INPUT_PORTS_END
#endif
/****************************************************************************/
-static ADDRESS_MAP_START( bayroute_readmem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x0bffff) AM_READ(SMH_ROM)
- AM_RANGE(0x500000, 0x503fff) AM_READ(SYS16_MRA16_WORKINGRAM)
- AM_RANGE(0x600000, 0x600fff) AM_READ(SYS16_MRA16_SPRITERAM)
- AM_RANGE(0x700000, 0x70ffff) AM_READ(SYS16_MRA16_TILERAM)
- AM_RANGE(0x710000, 0x710fff) AM_READ(SYS16_MRA16_TEXTRAM)
- AM_RANGE(0x800000, 0x800fff) AM_READ(SYS16_MRA16_PALETTERAM)
+static ADDRESS_MAP_START( bayroute_map, ADDRESS_SPACE_PROGRAM, 16 )
+ AM_RANGE(0x000000, 0x0bffff) AM_ROM
+ AM_RANGE(0x100000, 0x100003) AM_WRITENOP // tilebank control?
+ AM_RANGE(0x500000, 0x503fff) AM_READWRITE(SYS16_MRA16_WORKINGRAM, SYS16_MWA16_WORKINGRAM) AM_BASE(&sys16_workingram)
+ AM_RANGE(0x600000, 0x600fff) AM_READWRITE(SYS16_MRA16_SPRITERAM, SYS16_MWA16_SPRITERAM) AM_BASE(&sys16_spriteram)
+ AM_RANGE(0x700000, 0x70ffff) AM_READWRITE(SYS16_MRA16_TILERAM, SYS16_MWA16_TILERAM) AM_BASE(&sys16_tileram)
+ AM_RANGE(0x710000, 0x710fff) AM_READWRITE(SYS16_MRA16_TEXTRAM, SYS16_MWA16_TEXTRAM) AM_BASE(&sys16_textram)
+ AM_RANGE(0x800000, 0x800fff) AM_READWRITE(SYS16_MRA16_PALETTERAM, SYS16_MWA16_PALETTERAM) AM_BASE(&paletteram16)
+ AM_RANGE(0x900000, 0x900001) AM_WRITE(sys16_coinctrl_w)
AM_RANGE(0x901002, 0x901003) AM_READ_PORT("P1")
AM_RANGE(0x901006, 0x901007) AM_READ_PORT("P2")
AM_RANGE(0x901000, 0x901001) AM_READ_PORT("SERVICE")
AM_RANGE(0x902002, 0x902003) AM_READ_PORT("DSW1")
AM_RANGE(0x902000, 0x902001) AM_READ_PORT("DSW2")
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( bayroute_writemem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x0bffff) AM_WRITE(SMH_ROM)
- AM_RANGE(0x100000, 0x100003) AM_WRITENOP // tilebank control?
- AM_RANGE(0x500000, 0x503fff) AM_WRITE(SYS16_MWA16_WORKINGRAM) AM_BASE(&sys16_workingram)
- AM_RANGE(0x600000, 0x600fff) AM_WRITE(SYS16_MWA16_SPRITERAM) AM_BASE(&sys16_spriteram)
- AM_RANGE(0x700000, 0x70ffff) AM_WRITE(SYS16_MWA16_TILERAM) AM_BASE(&sys16_tileram)
- AM_RANGE(0x710000, 0x710fff) AM_WRITE(SYS16_MWA16_TEXTRAM) AM_BASE(&sys16_textram)
- AM_RANGE(0x800000, 0x800fff) AM_WRITE(SYS16_MWA16_PALETTERAM) AM_BASE(&paletteram16)
- AM_RANGE(0x900000, 0x900001) AM_WRITE(sys16_coinctrl_w)
AM_RANGE(0xff0006, 0xff0007) AM_WRITE(sound_command_w)
AM_RANGE(0xff0020, 0xff003f) AM_WRITENOP // config regs
ADDRESS_MAP_END
@@ -712,39 +682,30 @@ static MACHINE_DRIVER_START( bayroute )
/* basic machine hardware */
MDRV_IMPORT_FROM(system16_7759)
MDRV_CPU_MODIFY("maincpu")
- MDRV_CPU_PROGRAM_MAP(bayroute_readmem,bayroute_writemem)
+ MDRV_CPU_PROGRAM_MAP(bayroute_map,0)
MDRV_MACHINE_RESET(bayroute)
MACHINE_DRIVER_END
/***************************************************************************/
-static ADDRESS_MAP_START( dduxbl_readmem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x0bffff) AM_READ(SMH_ROM)
- AM_RANGE(0x400000, 0x40ffff) AM_READ(SYS16_MRA16_TILERAM)
- AM_RANGE(0x410000, 0x410fff) AM_READ(SYS16_MRA16_TEXTRAM)
- AM_RANGE(0x440000, 0x440fff) AM_READ(SYS16_MRA16_SPRITERAM)
- AM_RANGE(0x840000, 0x840fff) AM_READ(SYS16_MRA16_PALETTERAM)
+static ADDRESS_MAP_START( dduxbl_map, ADDRESS_SPACE_PROGRAM, 16 )
+ AM_RANGE(0x000000, 0x0bffff) AM_ROM
+ AM_RANGE(0x3f0000, 0x3fffff) AM_WRITE(sys16_tilebank_w)
+ AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(SYS16_MRA16_TILERAM, SYS16_MWA16_TILERAM) AM_BASE(&sys16_tileram)
+ AM_RANGE(0x410000, 0x410fff) AM_READWRITE(SYS16_MRA16_TEXTRAM, SYS16_MWA16_TEXTRAM) AM_BASE(&sys16_textram)
+ AM_RANGE(0x440000, 0x440fff) AM_READWRITE(SYS16_MRA16_SPRITERAM, SYS16_MWA16_SPRITERAM) AM_BASE(&sys16_spriteram)
+ AM_RANGE(0x840000, 0x840fff) AM_READWRITE(SYS16_MRA16_PALETTERAM, SYS16_MWA16_PALETTERAM) AM_BASE(&paletteram16)
+ AM_RANGE(0xc40000, 0xc40001) AM_WRITE(sys16_coinctrl_w)
+ AM_RANGE(0xc40006, 0xc40007) AM_WRITE(sound_command_w)
AM_RANGE(0xc41002, 0xc41003) AM_READ_PORT("P1")
AM_RANGE(0xc41004, 0xc41005) AM_READ_PORT("P2")
AM_RANGE(0xc41000, 0xc41001) AM_READ_PORT("SERVICE")
AM_RANGE(0xc42002, 0xc42003) AM_READ_PORT("DSW1")
AM_RANGE(0xc42000, 0xc42001) AM_READ_PORT("DSW2")
- AM_RANGE(0xffc000, 0xffffff) AM_READ(SYS16_MRA16_WORKINGRAM)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( dduxbl_writemem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x0bffff) AM_WRITE(SMH_ROM)
- AM_RANGE(0x3f0000, 0x3fffff) AM_WRITE(sys16_tilebank_w)
- AM_RANGE(0x400000, 0x40ffff) AM_WRITE(SYS16_MWA16_TILERAM) AM_BASE(&sys16_tileram)
- AM_RANGE(0x410000, 0x410fff) AM_WRITE(SYS16_MWA16_TEXTRAM) AM_BASE(&sys16_textram)
- AM_RANGE(0x440000, 0x440fff) AM_WRITE(SYS16_MWA16_SPRITERAM) AM_BASE(&sys16_spriteram)
- AM_RANGE(0x840000, 0x840fff) AM_WRITE(SYS16_MWA16_PALETTERAM) AM_BASE(&paletteram16)
- AM_RANGE(0xc40000, 0xc40001) AM_WRITE(sys16_coinctrl_w)
- AM_RANGE(0xc40006, 0xc40007) AM_WRITE(sound_command_w)
AM_RANGE(0xc46000, 0xc4603f) AM_WRITE(SYS16_MWA16_EXTRAM2) AM_BASE(&sys16_extraram2)
AM_RANGE(0xfe0020, 0xfe003f) AM_WRITENOP // config regs
- AM_RANGE(0xffc000, 0xffffff) AM_WRITE(SYS16_MWA16_WORKINGRAM) AM_BASE(&sys16_workingram)
+ AM_RANGE(0xffc000, 0xffffff) AM_READWRITE(SYS16_MRA16_WORKINGRAM, SYS16_MWA16_WORKINGRAM) AM_BASE(&sys16_workingram)
ADDRESS_MAP_END
/***************************************************************************/
@@ -856,27 +817,13 @@ static MACHINE_DRIVER_START( dduxbl )
/* basic machine hardware */
MDRV_IMPORT_FROM(system16)
MDRV_CPU_MODIFY("maincpu")
- MDRV_CPU_PROGRAM_MAP(dduxbl_readmem,dduxbl_writemem)
+ MDRV_CPU_PROGRAM_MAP(dduxbl_map,0)
MDRV_MACHINE_RESET(dduxbl)
MACHINE_DRIVER_END
/***************************************************************************/
-static ADDRESS_MAP_START( eswat_readmem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x07ffff) AM_READ(SMH_ROM)
- AM_RANGE(0x400000, 0x40ffff) AM_READ(SYS16_MRA16_TILERAM)
- AM_RANGE(0x410000, 0x418fff) AM_READ(SYS16_MRA16_TEXTRAM) //*
- AM_RANGE(0x440000, 0x440fff) AM_READ(SYS16_MRA16_SPRITERAM)
- AM_RANGE(0x840000, 0x840fff) AM_READ(SYS16_MRA16_PALETTERAM)
- AM_RANGE(0xc41002, 0xc41003) AM_READ_PORT("P1")
- AM_RANGE(0xc41006, 0xc41007) AM_READ_PORT("P2")
- AM_RANGE(0xc41000, 0xc41001) AM_READ_PORT("SERVICE")
- AM_RANGE(0xc42002, 0xc42003) AM_READ_PORT("DSW1")
- AM_RANGE(0xc42000, 0xc42001) AM_READ_PORT("DSW2")
- AM_RANGE(0xffc000, 0xffffff) AM_READ(SYS16_MRA16_WORKINGRAM)
-ADDRESS_MAP_END
-
static int eswat_tilebank0;
static WRITE16_HANDLER( eswat_tilebank0_w )
@@ -888,17 +835,22 @@ static WRITE16_HANDLER( eswat_tilebank0_w )
}
-static ADDRESS_MAP_START( eswatbl_writemem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x07ffff) AM_WRITE(SMH_ROM)
+static ADDRESS_MAP_START( eswatbl_map, ADDRESS_SPACE_PROGRAM, 16 )
+ AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x3e2000, 0x3e2001) AM_WRITE(eswat_tilebank0_w)
- AM_RANGE(0x400000, 0x40ffff) AM_WRITE(SYS16_MWA16_TILERAM) AM_BASE(&sys16_tileram)
- AM_RANGE(0x410000, 0x418fff) AM_WRITE(SYS16_MWA16_TEXTRAM) AM_BASE(&sys16_textram)
- AM_RANGE(0x440000, 0x440fff) AM_WRITE(SYS16_MWA16_SPRITERAM) AM_BASE(&sys16_spriteram)
- AM_RANGE(0x840000, 0x840fff) AM_WRITE(SYS16_MWA16_PALETTERAM) AM_BASE(&paletteram16)
- AM_RANGE(0xc42006, 0xc42007) AM_WRITE(sound_command_w)
+ AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(SYS16_MRA16_TILERAM, SYS16_MWA16_TILERAM) AM_BASE(&sys16_tileram)
+ AM_RANGE(0x410000, 0x418fff) AM_READWRITE(SYS16_MRA16_TEXTRAM, SYS16_MWA16_TEXTRAM) AM_BASE(&sys16_textram)
+ AM_RANGE(0x440000, 0x440fff) AM_READWRITE(SYS16_MRA16_SPRITERAM, SYS16_MWA16_SPRITERAM) AM_BASE(&sys16_spriteram)
+ AM_RANGE(0x840000, 0x840fff) AM_READWRITE(SYS16_MRA16_PALETTERAM, SYS16_MWA16_PALETTERAM) AM_BASE(&paletteram16)
AM_RANGE(0xc40000, 0xc40001) AM_WRITE(sys16_coinctrl_w)
+ AM_RANGE(0xc41002, 0xc41003) AM_READ_PORT("P1")
+ AM_RANGE(0xc41006, 0xc41007) AM_READ_PORT("P2")
+ AM_RANGE(0xc41000, 0xc41001) AM_READ_PORT("SERVICE")
+ AM_RANGE(0xc42002, 0xc42003) AM_READ_PORT("DSW1")
+ AM_RANGE(0xc42000, 0xc42001) AM_READ_PORT("DSW2")
+ AM_RANGE(0xc42006, 0xc42007) AM_WRITE(sound_command_w)
AM_RANGE(0xc80000, 0xc80001) AM_WRITENOP
- AM_RANGE(0xffc000, 0xffffff) AM_WRITE(SYS16_MWA16_WORKINGRAM) AM_BASE(&sys16_workingram)
+ AM_RANGE(0xffc000, 0xffffff) AM_READWRITE(SYS16_MRA16_WORKINGRAM, SYS16_MWA16_WORKINGRAM) AM_BASE(&sys16_workingram)
ADDRESS_MAP_END
/***************************************************************************/
@@ -984,7 +936,7 @@ static MACHINE_DRIVER_START( eswatbl )
/* basic machine hardware */
MDRV_IMPORT_FROM(system16_7759)
MDRV_CPU_MODIFY("maincpu")
- MDRV_CPU_PROGRAM_MAP(eswat_readmem,eswatbl_writemem)
+ MDRV_CPU_PROGRAM_MAP(eswatbl_map,0)
MDRV_MACHINE_RESET(eswatbl)
MACHINE_DRIVER_END
@@ -1158,10 +1110,10 @@ INPUT_PORTS_END
Flash Point (Datsu bootlegs = fpointbl, fpointbj)
Has sound latch at $E000 instead of I/O ports $C0-FF
*/
-static ADDRESS_MAP_START( fpointbl_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
+static ADDRESS_MAP_START( fpointbl_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
- AM_RANGE(0xf800, 0xffff) AM_READ(SMH_RAM)
+ AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
static MACHINE_DRIVER_START( fpointbl )
@@ -1172,7 +1124,7 @@ static MACHINE_DRIVER_START( fpointbl )
MDRV_CPU_PROGRAM_MAP(fpointbl_map,0)
MDRV_CPU_MODIFY("soundcpu")
- MDRV_CPU_PROGRAM_MAP(fpointbl_sound_readmem,sound_writemem)
+ MDRV_CPU_PROGRAM_MAP(fpointbl_sound_map,0)
MDRV_MACHINE_RESET(fpointbl)
MACHINE_DRIVER_END
@@ -1187,23 +1139,6 @@ static READ16_HANDLER( ga_io_service_r )
return (input_port_read(space->machine,"SERVICE") << 8) | (sys16_workingram[0x2c96/2] & 0x00ff);
}
-static ADDRESS_MAP_START( goldnaxe_readmem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x0bffff) AM_READ(SMH_ROM)
- AM_RANGE(0x100000, 0x10ffff) AM_READ(SYS16_MRA16_TILERAM)
- AM_RANGE(0x110000, 0x110fff) AM_READ(SYS16_MRA16_TEXTRAM)
- AM_RANGE(0x140000, 0x140fff) AM_READ(SYS16_MRA16_PALETTERAM)
- AM_RANGE(0x1f0000, 0x1f0003) AM_READ(SYS16_MRA16_EXTRAM)
- AM_RANGE(0x200000, 0x200fff) AM_READ(SYS16_MRA16_SPRITERAM)
- AM_RANGE(0xc41002, 0xc41003) AM_READ_PORT("P1")
- AM_RANGE(0xc41006, 0xc41007) AM_READ_PORT("P2")
- AM_RANGE(0xc41000, 0xc41001) AM_READ_PORT("SERVICE")
- AM_RANGE(0xc42002, 0xc42003) AM_READ_PORT("DSW1")
- AM_RANGE(0xc42000, 0xc42001) AM_READ_PORT("DSW2")
- AM_RANGE(0xffecd0, 0xffecd1) AM_READ(ga_io_players_r)
- AM_RANGE(0xffec96, 0xffec97) AM_READ(ga_io_service_r)
- AM_RANGE(0xffc000, 0xffffff) AM_READ(SYS16_MRA16_WORKINGRAM)
-ADDRESS_MAP_END
-
static WRITE16_HANDLER( ga_sound_command_w )
{
COMBINE_DATA( &sys16_workingram[(0xecfc-0xc000)/2] );
@@ -1223,19 +1158,26 @@ static WRITE16_HANDLER( goldnaxe_prot_w )
COMBINE_DATA( &sys16_workingram[(0xec1c-0xc000)/2] );
}
-static ADDRESS_MAP_START( goldnaxe_writemem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x0bffff) AM_WRITE(SMH_ROM)
- AM_RANGE(0x100000, 0x10ffff) AM_WRITE(SYS16_MWA16_TILERAM) AM_BASE(&sys16_tileram)
- AM_RANGE(0x110000, 0x110fff) AM_WRITE(SYS16_MWA16_TEXTRAM) AM_BASE(&sys16_textram)
- AM_RANGE(0x140000, 0x140fff) AM_WRITE(SYS16_MWA16_PALETTERAM) AM_BASE(&paletteram16)
- AM_RANGE(0x1f0000, 0x1f0003) AM_WRITE(SYS16_MWA16_EXTRAM) AM_BASE(&sys16_extraram)
- AM_RANGE(0x200000, 0x200fff) AM_WRITE(SYS16_MWA16_SPRITERAM) AM_BASE(&sys16_spriteram)
+static ADDRESS_MAP_START( goldnaxe_map, ADDRESS_SPACE_PROGRAM, 16 )
+ AM_RANGE(0x000000, 0x0bffff) AM_ROM
+ AM_RANGE(0x100000, 0x10ffff) AM_READWRITE(SYS16_MRA16_TILERAM, SYS16_MWA16_TILERAM) AM_BASE(&sys16_tileram)
+ AM_RANGE(0x110000, 0x110fff) AM_READWRITE(SYS16_MRA16_TEXTRAM, SYS16_MWA16_TEXTRAM) AM_BASE(&sys16_textram)
+ AM_RANGE(0x140000, 0x140fff) AM_READWRITE(SYS16_MRA16_PALETTERAM, SYS16_MWA16_PALETTERAM) AM_BASE(&paletteram16)
+ AM_RANGE(0x1f0000, 0x1f0003) AM_READWRITE(SYS16_MRA16_EXTRAM, SYS16_MWA16_EXTRAM) AM_BASE(&sys16_extraram)
+ AM_RANGE(0x200000, 0x200fff) AM_READWRITE(SYS16_MRA16_SPRITERAM, SYS16_MWA16_SPRITERAM) AM_BASE(&sys16_spriteram)
AM_RANGE(0xc40000, 0xc40001) AM_WRITE(sys16_coinctrl_w)
+ AM_RANGE(0xc41002, 0xc41003) AM_READ_PORT("P1")
+ AM_RANGE(0xc41006, 0xc41007) AM_READ_PORT("P2")
+ AM_RANGE(0xc41000, 0xc41001) AM_READ_PORT("SERVICE")
+ AM_RANGE(0xc42002, 0xc42003) AM_READ_PORT("DSW1")
+ AM_RANGE(0xc42000, 0xc42001) AM_READ_PORT("DSW2")
AM_RANGE(0xc43000, 0xc43001) AM_WRITENOP // ?
// AM_RANGE(0xfe0006, 0xfe0007) AM_WRITENOP I think this is the real sound out
AM_RANGE(0xffec1c, 0xffec1d) AM_WRITE(goldnaxe_prot_w)// how does this really work?
+ AM_RANGE(0xffecd0, 0xffecd1) AM_READ(ga_io_players_r)
+ AM_RANGE(0xffec96, 0xffec97) AM_READ(ga_io_service_r)
AM_RANGE(0xffecfc, 0xffecfd) AM_WRITE(ga_sound_command_w)// probably just a buffer
- AM_RANGE(0xffc000, 0xffffff) AM_WRITE(SYS16_MWA16_WORKINGRAM) AM_BASE(&sys16_workingram) /* fails SCRATCH RAM test because of hacks */
+ AM_RANGE(0xffc000, 0xffffff) AM_READWRITE(SYS16_MRA16_WORKINGRAM, SYS16_MWA16_WORKINGRAM) AM_BASE(&sys16_workingram) /* fails SCRATCH RAM test because of hacks */
// AM_RANGE(0xfffc00, 0xffffff) AM_WRITE(MWA15_NOP) /* 0x400 bytes; battery backed up */
ADDRESS_MAP_END
@@ -1327,36 +1269,27 @@ static MACHINE_DRIVER_START( goldnaxe )
/* basic machine hardware */
MDRV_IMPORT_FROM(system16_7759)
MDRV_CPU_MODIFY("maincpu")
- MDRV_CPU_PROGRAM_MAP(goldnaxe_readmem,goldnaxe_writemem)
+ MDRV_CPU_PROGRAM_MAP(goldnaxe_map,0)
MDRV_MACHINE_RESET(goldnaxe)
MACHINE_DRIVER_END
/***************************************************************************/
-static ADDRESS_MAP_START( passsht_readmem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x01ffff) AM_READ(SMH_ROM)
- AM_RANGE(0x400000, 0x40ffff) AM_READ(SYS16_MRA16_TILERAM)
- AM_RANGE(0x410000, 0x410fff) AM_READ(SYS16_MRA16_TEXTRAM)
- AM_RANGE(0x440000, 0x440fff) AM_READ(SYS16_MRA16_SPRITERAM)
- AM_RANGE(0x840000, 0x840fff) AM_READ(SYS16_MRA16_PALETTERAM)
+static ADDRESS_MAP_START( passsht_map, ADDRESS_SPACE_PROGRAM, 16 )
+ AM_RANGE(0x000000, 0x01ffff) AM_ROM
+ AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(SYS16_MRA16_TILERAM, SYS16_MWA16_TILERAM) AM_BASE(&sys16_tileram)
+ AM_RANGE(0x410000, 0x410fff) AM_READWRITE(SYS16_MRA16_TEXTRAM, SYS16_MWA16_TEXTRAM) AM_BASE(&sys16_textram)
+ AM_RANGE(0x440000, 0x440fff) AM_READWRITE(SYS16_MRA16_SPRITERAM, SYS16_MWA16_SPRITERAM) AM_BASE(&sys16_spriteram)
+ AM_RANGE(0x840000, 0x840fff) AM_READWRITE(SYS16_MRA16_PALETTERAM, SYS16_MWA16_PALETTERAM) AM_BASE(&paletteram16)
+ AM_RANGE(0xc40000, 0xc40001) AM_WRITE(sys16_coinctrl_w)
AM_RANGE(0xc41002, 0xc41003) AM_READ_PORT("P1")
AM_RANGE(0xc41004, 0xc41005) AM_READ_PORT("P2")
AM_RANGE(0xc41000, 0xc41001) AM_READ_PORT("SERVICE")
AM_RANGE(0xc42002, 0xc42003) AM_READ_PORT("DSW1")
AM_RANGE(0xc42000, 0xc42001) AM_READ_PORT("DSW2")
- AM_RANGE(0xffc000, 0xffffff) AM_READ(SYS16_MRA16_WORKINGRAM)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( passsht_writemem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x01ffff) AM_WRITE(SMH_ROM)
- AM_RANGE(0x400000, 0x40ffff) AM_WRITE(SYS16_MWA16_TILERAM) AM_BASE(&sys16_tileram)
- AM_RANGE(0x410000, 0x410fff) AM_WRITE(SYS16_MWA16_TEXTRAM) AM_BASE(&sys16_textram)
- AM_RANGE(0x440000, 0x440fff) AM_WRITE(SYS16_MWA16_SPRITERAM) AM_BASE(&sys16_spriteram)
- AM_RANGE(0x840000, 0x840fff) AM_WRITE(SYS16_MWA16_PALETTERAM) AM_BASE(&paletteram16)
AM_RANGE(0xc42006, 0xc42007) AM_WRITE(sound_command_w)
- AM_RANGE(0xc40000, 0xc40001) AM_WRITE(sys16_coinctrl_w)
- AM_RANGE(0xffc000, 0xffffff) AM_WRITE(SYS16_MWA16_WORKINGRAM) AM_BASE(&sys16_workingram)
+ AM_RANGE(0xffc000, 0xffffff) AM_READWRITE(SYS16_MRA16_WORKINGRAM, SYS16_MWA16_WORKINGRAM) AM_BASE(&sys16_workingram)
ADDRESS_MAP_END
static int passht4b_io1_val;
@@ -1414,34 +1347,25 @@ static READ16_HANDLER( passht4b_io3_r )
return passht4b_io3_val;
}
-static ADDRESS_MAP_START( passht4b_readmem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x01ffff) AM_READ(SMH_ROM)
- AM_RANGE(0x400000, 0x40ffff) AM_READ(SYS16_MRA16_TILERAM)
- AM_RANGE(0x410000, 0x410fff) AM_READ(SYS16_MRA16_TEXTRAM)
- AM_RANGE(0x440000, 0x440fff) AM_READ(SYS16_MRA16_SPRITERAM)
- AM_RANGE(0x840000, 0x840fff) AM_READ(SYS16_MRA16_PALETTERAM)
+static ADDRESS_MAP_START( passht4b_map, ADDRESS_SPACE_PROGRAM, 16 )
+ AM_RANGE(0x000000, 0x01ffff) AM_ROM
+ AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(SYS16_MRA16_TILERAM, SYS16_MWA16_TILERAM) AM_BASE(&sys16_tileram)
+ AM_RANGE(0x410000, 0x410fff) AM_READWRITE(SYS16_MRA16_TEXTRAM, SYS16_MWA16_TEXTRAM) AM_BASE(&sys16_textram)
+ AM_RANGE(0x440000, 0x440fff) AM_READWRITE(SYS16_MRA16_SPRITERAM, SYS16_MWA16_SPRITERAM) AM_BASE(&sys16_spriteram)
+ AM_RANGE(0x840000, 0x840fff) AM_READWRITE(SYS16_MRA16_PALETTERAM, SYS16_MWA16_PALETTERAM) AM_BASE(&paletteram16)
AM_RANGE(0xc41000, 0xc41001) AM_READ(passht4b_service_r)
AM_RANGE(0xc41002, 0xc41003) AM_READ(passht4b_io1_r)
AM_RANGE(0xc41004, 0xc41005) AM_READ(passht4b_io2_r)
AM_RANGE(0xc41006, 0xc41007) AM_READ(passht4b_io3_r)
- AM_RANGE(0xc42002, 0xc42003) AM_READ_PORT("DSW1")
AM_RANGE(0xc42000, 0xc42001) AM_READ_PORT("DSW2")
+ AM_RANGE(0xc42002, 0xc42003) AM_READ_PORT("DSW1")
+ AM_RANGE(0xc42006, 0xc42007) AM_WRITE(sound_command_w)
AM_RANGE(0xc43000, 0xc43001) AM_READ_PORT("P1") // test mode only
AM_RANGE(0xc43002, 0xc43003) AM_READ_PORT("P2")
AM_RANGE(0xc43004, 0xc43005) AM_READ_PORT("P3")
AM_RANGE(0xc43006, 0xc43007) AM_READ_PORT("P4")
- AM_RANGE(0xffc000, 0xffffff) AM_READ(SYS16_MRA16_WORKINGRAM)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( passht4b_writemem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x01ffff) AM_WRITE(SMH_ROM)
- AM_RANGE(0x400000, 0x40ffff) AM_WRITE(SYS16_MWA16_TILERAM) AM_BASE(&sys16_tileram)
- AM_RANGE(0x410000, 0x410fff) AM_WRITE(SYS16_MWA16_TEXTRAM) AM_BASE(&sys16_textram)
- AM_RANGE(0x440000, 0x440fff) AM_WRITE(SYS16_MWA16_SPRITERAM) AM_BASE(&sys16_spriteram)
- AM_RANGE(0x840000, 0x840fff) AM_WRITE(SYS16_MWA16_PALETTERAM) AM_BASE(&paletteram16)
- AM_RANGE(0xc42006, 0xc42007) AM_WRITE(sound_command_w)
AM_RANGE(0xc4600a, 0xc4600b) AM_WRITE(sys16_coinctrl_w) /* coin counter doesn't work */
- AM_RANGE(0xffc000, 0xffffff) AM_WRITE(SYS16_MWA16_WORKINGRAM) AM_BASE(&sys16_workingram)
+ AM_RANGE(0xffc000, 0xffffff) AM_READWRITE(SYS16_MRA16_WORKINGRAM, SYS16_MWA16_WORKINGRAM) AM_BASE(&sys16_workingram)
ADDRESS_MAP_END
/***************************************************************************/
@@ -1599,7 +1523,7 @@ static MACHINE_DRIVER_START( passsht )
/* basic machine hardware */
MDRV_IMPORT_FROM(system16_7759)
MDRV_CPU_MODIFY("maincpu")
- MDRV_CPU_PROGRAM_MAP(passsht_readmem,passsht_writemem)
+ MDRV_CPU_PROGRAM_MAP(passsht_map,0)
MDRV_MACHINE_RESET(passsht)
MACHINE_DRIVER_END
@@ -1610,7 +1534,7 @@ static MACHINE_DRIVER_START( passht4b )
/* basic machine hardware */
MDRV_IMPORT_FROM(system16_7759)
MDRV_CPU_MODIFY("maincpu")
- MDRV_CPU_PROGRAM_MAP(passht4b_readmem,passht4b_writemem)
+ MDRV_CPU_PROGRAM_MAP(passht4b_map,0)
MDRV_MACHINE_RESET(passht4b)
MACHINE_DRIVER_END
@@ -1647,29 +1571,20 @@ INPUT_PORTS_END
/***************************************************************************/
-static ADDRESS_MAP_START( shinobl_readmem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x03ffff) AM_READ(SMH_ROM)
- AM_RANGE(0x400000, 0x40ffff) AM_READ(SYS16_MRA16_TILERAM)
- AM_RANGE(0x410000, 0x410fff) AM_READ(SYS16_MRA16_TEXTRAM)
- AM_RANGE(0x440000, 0x440fff) AM_READ(SYS16_MRA16_SPRITERAM)
- AM_RANGE(0x840000, 0x840fff) AM_READ(SYS16_MRA16_PALETTERAM)
+static ADDRESS_MAP_START( shinobl_map, ADDRESS_SPACE_PROGRAM, 16 )
+ AM_RANGE(0x000000, 0x03ffff) AM_ROM
+ AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(SYS16_MRA16_TILERAM, SYS16_MWA16_TILERAM) AM_BASE(&sys16_tileram)
+ AM_RANGE(0x410000, 0x410fff) AM_READWRITE(SYS16_MRA16_TEXTRAM, SYS16_MWA16_TEXTRAM) AM_BASE(&sys16_textram)
+ AM_RANGE(0x440000, 0x440fff) AM_READWRITE(SYS16_MRA16_SPRITERAM, SYS16_MWA16_SPRITERAM) AM_BASE(&sys16_spriteram)
+ AM_RANGE(0x840000, 0x840fff) AM_READWRITE(SYS16_MRA16_PALETTERAM, SYS16_MWA16_PALETTERAM) AM_BASE(&paletteram16)
+ AM_RANGE(0xc40000, 0xc40001) AM_WRITE(sound_command_nmi_w)
+ AM_RANGE(0xc40002, 0xc40003) AM_WRITE(sys16_3d_coinctrl_w)
+ 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(0xc41000, 0xc41001) AM_READ_PORT("SERVICE")
AM_RANGE(0xc42000, 0xc42001) AM_READ_PORT("DSW1")
AM_RANGE(0xc42002, 0xc42003) AM_READ_PORT("DSW2")
- AM_RANGE(0xffc000, 0xffffff) AM_READ(SYS16_MRA16_WORKINGRAM)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( shinobl_writemem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x03ffff) AM_WRITE(SMH_ROM)
- AM_RANGE(0x400000, 0x40ffff) AM_WRITE(SYS16_MWA16_TILERAM) AM_BASE(&sys16_tileram)
- AM_RANGE(0x410000, 0x410fff) AM_WRITE(SYS16_MWA16_TEXTRAM) AM_BASE(&sys16_textram)
- AM_RANGE(0x440000, 0x440fff) AM_WRITE(SYS16_MWA16_SPRITERAM) AM_BASE(&sys16_spriteram)
- AM_RANGE(0x840000, 0x840fff) AM_WRITE(SYS16_MWA16_PALETTERAM) AM_BASE(&paletteram16)
- AM_RANGE(0xc40000, 0xc40001) AM_WRITE(sound_command_nmi_w)
- AM_RANGE(0xc40002, 0xc40003) AM_WRITE(sys16_3d_coinctrl_w)
- AM_RANGE(0xffc000, 0xffffff) AM_WRITE(SYS16_MWA16_WORKINGRAM) AM_BASE(&sys16_workingram)
+ AM_RANGE(0xffc000, 0xffffff) AM_READWRITE(SYS16_MRA16_WORKINGRAM, SYS16_MWA16_WORKINGRAM) AM_BASE(&sys16_workingram)
ADDRESS_MAP_END
/***************************************************************************/
@@ -1712,7 +1627,7 @@ static MACHINE_DRIVER_START( shinob2 )
/* basic machine hardware */
MDRV_IMPORT_FROM(system16)
MDRV_CPU_MODIFY("maincpu")
- MDRV_CPU_PROGRAM_MAP(shinobl_readmem,shinobl_writemem)
+ MDRV_CPU_PROGRAM_MAP(shinobl_map,0)
MDRV_MACHINE_RESET(shinobl)
MACHINE_DRIVER_END
@@ -1721,34 +1636,23 @@ MACHINE_DRIVER_END
/* bootleg has extra ram for regs? */
-static ADDRESS_MAP_START( tetrisbl_readmem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x03ffff) AM_READ(SMH_ROM)
- AM_RANGE(0x400000, 0x40ffff) AM_READ(SYS16_MRA16_TILERAM)
- AM_RANGE(0x410000, 0x410fff) AM_READ(SYS16_MRA16_TEXTRAM)
- AM_RANGE(0x418000, 0x41803f) AM_READ(SYS16_MRA16_EXTRAM2)
- AM_RANGE(0x440000, 0x440fff) AM_READ(SYS16_MRA16_SPRITERAM)
- AM_RANGE(0x840000, 0x840fff) AM_READ(SYS16_MRA16_PALETTERAM)
+static ADDRESS_MAP_START( tetrisbl_map, ADDRESS_SPACE_PROGRAM, 16 )
+ AM_RANGE(0x000000, 0x03ffff) AM_ROM
+ AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(SYS16_MRA16_TILERAM, SYS16_MWA16_TILERAM) AM_BASE(&sys16_tileram)
+ AM_RANGE(0x410000, 0x410fff) AM_READWRITE(SYS16_MRA16_TEXTRAM, SYS16_MWA16_TEXTRAM) AM_BASE(&sys16_textram)
+ AM_RANGE(0x418000, 0x41803f) AM_READWRITE(SYS16_MRA16_EXTRAM2, SYS16_MWA16_EXTRAM2) AM_BASE(&sys16_extraram2)
+ AM_RANGE(0x440000, 0x440fff) AM_READWRITE(SYS16_MRA16_SPRITERAM, SYS16_MWA16_SPRITERAM) AM_BASE(&sys16_spriteram)
+ AM_RANGE(0x840000, 0x840fff) AM_READWRITE(SYS16_MRA16_PALETTERAM, SYS16_MWA16_PALETTERAM) AM_BASE(&paletteram16)
+ AM_RANGE(0xc40000, 0xc40001) AM_WRITE(sys16_coinctrl_w)
+ AM_RANGE(0xc41000, 0xc41001) AM_READ_PORT("SERVICE")
AM_RANGE(0xc41002, 0xc41003) AM_READ_PORT("P1")
AM_RANGE(0xc41006, 0xc41007) AM_READ_PORT("P2")
- AM_RANGE(0xc41000, 0xc41001) AM_READ_PORT("SERVICE")
- AM_RANGE(0xc42002, 0xc42003) AM_READ_PORT("DSW1")
AM_RANGE(0xc42000, 0xc42001) AM_READ_PORT("DSW2")
- AM_RANGE(0xc80000, 0xc80001) AM_READNOP
- AM_RANGE(0xffc000, 0xffffff) AM_READ(SYS16_MRA16_WORKINGRAM)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( tetrisbl_writemem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x03ffff) AM_WRITE(SMH_ROM)
- AM_RANGE(0x400000, 0x40ffff) AM_WRITE(SYS16_MWA16_TILERAM) AM_BASE(&sys16_tileram)
- AM_RANGE(0x410000, 0x410fff) AM_WRITE(SYS16_MWA16_TEXTRAM) AM_BASE(&sys16_textram)
- AM_RANGE(0x418000, 0x41803f) AM_WRITE(SYS16_MWA16_EXTRAM2) AM_BASE(&sys16_extraram2)
- AM_RANGE(0x440000, 0x440fff) AM_WRITE(SYS16_MWA16_SPRITERAM) AM_BASE(&sys16_spriteram)
- AM_RANGE(0x840000, 0x840fff) AM_WRITE(SYS16_MWA16_PALETTERAM) AM_BASE(&paletteram16)
- AM_RANGE(0xc40000, 0xc40001) AM_WRITE(sys16_coinctrl_w)
+ AM_RANGE(0xc42002, 0xc42003) AM_READ_PORT("DSW1")
AM_RANGE(0xc42006, 0xc42007) AM_WRITE(sound_command_w)
AM_RANGE(0xc43034, 0xc43035) AM_WRITENOP
- AM_RANGE(0xc80000, 0xc80001) AM_WRITENOP
- AM_RANGE(0xffc000, 0xffffff) AM_WRITE(SYS16_MWA16_WORKINGRAM) AM_BASE(&sys16_workingram)
+ AM_RANGE(0xc80000, 0xc80001) AM_NOP
+ AM_RANGE(0xffc000, 0xffffff) AM_READWRITE(SYS16_MRA16_WORKINGRAM, SYS16_MWA16_WORKINGRAM) AM_BASE(&sys16_workingram)
ADDRESS_MAP_END
@@ -1765,7 +1669,7 @@ static READ16_HANDLER(beautyb_unk2_r)
}
static ADDRESS_MAP_START( beautyb_map, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x00ffff) AM_READWRITE(SMH_ROM, SMH_NOP)
+ AM_RANGE(0x000000, 0x00ffff) AM_ROM
//AM_RANGE(0x010000, 0x03ffff) AM_WRITENOP
AM_RANGE(0x0280D6, 0x0280D7) AM_READ(beautyb_unk2_r)
@@ -1783,7 +1687,7 @@ static ADDRESS_MAP_START( beautyb_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xc40000, 0xc40001) AM_WRITENOP
AM_RANGE(0xc80000, 0xc80001) AM_WRITENOP
- AM_RANGE(0xffc000, 0xffffff) AM_RAM_WRITE(SYS16_MWA16_WORKINGRAM) AM_BASE(&sys16_workingram)
+ AM_RANGE(0xffc000, 0xffffff) AM_READWRITE(SYS16_MRA16_WORKINGRAM, SYS16_MWA16_WORKINGRAM) AM_BASE(&sys16_workingram)
ADDRESS_MAP_END
/***************************************************************************/
@@ -1854,7 +1758,7 @@ static MACHINE_DRIVER_START( tetrisbl )
/* basic machine hardware */
MDRV_IMPORT_FROM(system16)
MDRV_CPU_MODIFY("maincpu")
- MDRV_CPU_PROGRAM_MAP(tetrisbl_readmem,tetrisbl_writemem)
+ MDRV_CPU_PROGRAM_MAP(tetrisbl_map,0)
MDRV_MACHINE_RESET(tetrisbl)
MACHINE_DRIVER_END
@@ -1943,37 +1847,27 @@ INPUT_PORTS_END
/***************************************************************************/
-static ADDRESS_MAP_START( tturfbl_readmem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x03ffff) AM_READ(SMH_ROM)
+static ADDRESS_MAP_START( tturfbl_map, ADDRESS_SPACE_PROGRAM, 16 )
+ AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x2001e6, 0x2001e7) AM_READ(tt_io_service_r)
AM_RANGE(0x2001e8, 0x2001e9) AM_READ(tt_io_player1_r)
AM_RANGE(0x2001ea, 0x2001eb) AM_READ(tt_io_player2_r)
- AM_RANGE(0x200000, 0x203fff) AM_READ(SYS16_MRA16_EXTRAM)
- AM_RANGE(0x300000, 0x300fff) AM_READ(SYS16_MRA16_SPRITERAM)
- AM_RANGE(0x400000, 0x40ffff) AM_READ(SYS16_MRA16_TILERAM)
- AM_RANGE(0x410000, 0x410fff) AM_READ(SYS16_MRA16_TEXTRAM)
- AM_RANGE(0x500000, 0x500fff) AM_READ(SYS16_MRA16_PALETTERAM)
- AM_RANGE(0x600002, 0x600003) AM_READ_PORT("DSW1")
+ AM_RANGE(0x200000, 0x203fff) AM_READWRITE(SYS16_MRA16_EXTRAM, SYS16_MWA16_EXTRAM) AM_BASE(&sys16_extraram)
+ AM_RANGE(0x300000, 0x300fff) AM_READWRITE(SYS16_MRA16_SPRITERAM, SYS16_MWA16_SPRITERAM) AM_BASE(&sys16_spriteram)
+ AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(SYS16_MRA16_TILERAM, SYS16_MWA16_TILERAM) AM_BASE(&sys16_tileram)
+ AM_RANGE(0x410000, 0x410fff) AM_READWRITE(SYS16_MRA16_TEXTRAM, SYS16_MWA16_TEXTRAM) AM_BASE(&sys16_textram)
+ AM_RANGE(0x500000, 0x500fff) AM_READWRITE(SYS16_MRA16_PALETTERAM, SYS16_MWA16_PALETTERAM) AM_BASE(&paletteram16)
+ AM_RANGE(0x600000, 0x600001) AM_WRITE(sys16_coinctrl_w)
AM_RANGE(0x600000, 0x600001) AM_READ_PORT("DSW2")
+ AM_RANGE(0x600002, 0x600003) AM_READ_PORT("DSW1")
+ AM_RANGE(0x600006, 0x600007) AM_WRITE(sound_command_w)
+ AM_RANGE(0x601000, 0x601001) AM_READ_PORT("SERVICE")
AM_RANGE(0x601002, 0x601003) AM_READ_PORT("P1")
AM_RANGE(0x601004, 0x601005) AM_READ_PORT("P2")
- AM_RANGE(0x601000, 0x601001) AM_READ_PORT("SERVICE")
- AM_RANGE(0x602002, 0x602003) AM_READ_PORT("DSW1")
AM_RANGE(0x602000, 0x602001) AM_READ_PORT("DSW2")
- AM_RANGE(0xc46000, 0xc4601f) AM_READ(SYS16_MRA16_EXTRAM3)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( tturfbl_writemem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x03ffff) AM_WRITE(SMH_ROM)
- AM_RANGE(0x200000, 0x203fff) AM_WRITE(SYS16_MWA16_EXTRAM) AM_BASE(&sys16_extraram)
- AM_RANGE(0x300000, 0x300fff) AM_WRITE(SYS16_MWA16_SPRITERAM) AM_BASE(&sys16_spriteram)
- AM_RANGE(0x400000, 0x40ffff) AM_WRITE(SYS16_MWA16_TILERAM) AM_BASE(&sys16_tileram)
- AM_RANGE(0x410000, 0x410fff) AM_WRITE(SYS16_MWA16_TEXTRAM) AM_BASE(&sys16_textram)
- AM_RANGE(0x500000, 0x500fff) AM_WRITE(SYS16_MWA16_PALETTERAM) AM_BASE(&paletteram16)
- AM_RANGE(0x600000, 0x600001) AM_WRITE(sys16_coinctrl_w)
- AM_RANGE(0x600006, 0x600007) AM_WRITE(sound_command_w)
+ AM_RANGE(0x602002, 0x602003) AM_READ_PORT("DSW1")
AM_RANGE(0xc44000, 0xc44001) AM_WRITENOP
- AM_RANGE(0xc46000, 0xc4601f) AM_WRITE(SYS16_MWA16_EXTRAM3) AM_BASE(&sys16_extraram3)
+ AM_RANGE(0xc46000, 0xc4601f) AM_READWRITE(SYS16_MRA16_EXTRAM3, SYS16_MWA16_EXTRAM3) AM_BASE(&sys16_extraram3)
AM_RANGE(0xff0020, 0xff003f) AM_WRITENOP // config regs
ADDRESS_MAP_END
@@ -2036,11 +1930,11 @@ static MACHINE_DRIVER_START( tturfbl )
/* basic machine hardware */
MDRV_IMPORT_FROM(system16_7759)
MDRV_CPU_MODIFY("maincpu")
- MDRV_CPU_PROGRAM_MAP(tturfbl_readmem,tturfbl_writemem)
+ MDRV_CPU_PROGRAM_MAP(tturfbl_map,0)
MDRV_CPU_MODIFY("soundcpu")
- MDRV_CPU_PROGRAM_MAP(tturfbl_sound_readmem,tturfbl_sound_writemem)
- MDRV_CPU_IO_MAP(tturfbl_sound_readport,tturfbl_sound_writeport)
+ MDRV_CPU_PROGRAM_MAP(tturfbl_sound_map,0)
+ MDRV_CPU_IO_MAP(tturfbl_sound_io_map,0)
MDRV_SOUND_REMOVE("7759")
MDRV_SOUND_ADD("5205", MSM5205, 220000)
@@ -2081,33 +1975,23 @@ INPUT_PORTS_END
/***************************************************************************/
-static ADDRESS_MAP_START( wb3bbl_readmem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x03ffff) AM_READ(SMH_ROM)
- AM_RANGE(0x400000, 0x40ffff) AM_READ(SYS16_MRA16_TILERAM)
- AM_RANGE(0x410000, 0x410fff) AM_READ(SYS16_MRA16_TEXTRAM)
- AM_RANGE(0x440000, 0x440fff) AM_READ(SYS16_MRA16_SPRITERAM)
- AM_RANGE(0x840000, 0x840fff) AM_READ(SYS16_MRA16_PALETTERAM)
+static ADDRESS_MAP_START( wb3bbl_map, ADDRESS_SPACE_PROGRAM, 16 )
+ AM_RANGE(0x000000, 0x03ffff) AM_ROM
+ AM_RANGE(0x3f0000, 0x3fffff) AM_WRITE(sys16_tilebank_w)
+ AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(SYS16_MRA16_TILERAM, SYS16_MWA16_TILERAM) AM_BASE(&sys16_tileram)
+ AM_RANGE(0x410000, 0x410fff) AM_READWRITE(SYS16_MRA16_TEXTRAM, SYS16_MWA16_TEXTRAM) AM_BASE(&sys16_textram)
+ AM_RANGE(0x440000, 0x440fff) AM_READWRITE(SYS16_MRA16_SPRITERAM, SYS16_MWA16_SPRITERAM) AM_BASE(&sys16_spriteram)
+ AM_RANGE(0x840000, 0x840fff) AM_READWRITE(SYS16_MRA16_PALETTERAM, SYS16_MWA16_PALETTERAM) AM_BASE(&paletteram16)
+ AM_RANGE(0xc40000, 0xc40001) AM_WRITE(sys16_coinctrl_w)
+ AM_RANGE(0xc41000, 0xc41001) AM_READ_PORT("SERVICE")
AM_RANGE(0xc41002, 0xc41003) AM_READ_PORT("P1")
AM_RANGE(0xc41004, 0xc41005) AM_READ_PORT("P2")
- AM_RANGE(0xc41000, 0xc41001) AM_READ_PORT("SERVICE")
- AM_RANGE(0xc42002, 0xc42003) AM_READ_PORT("DSW1")
AM_RANGE(0xc42000, 0xc42001) AM_READ_PORT("DSW2")
- AM_RANGE(0xc46000, 0xc4601f) AM_READ(SYS16_MRA16_EXTRAM3)
- AM_RANGE(0xff0000, 0xffffff) AM_READ(SYS16_MRA16_WORKINGRAM)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( wb3bbl_writemem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x03ffff) AM_WRITE(SMH_ROM)
- AM_RANGE(0x3f0000, 0x3fffff) AM_WRITE(sys16_tilebank_w)
- AM_RANGE(0x400000, 0x40ffff) AM_WRITE(SYS16_MWA16_TILERAM) AM_BASE(&sys16_tileram)
- AM_RANGE(0x410000, 0x410fff) AM_WRITE(SYS16_MWA16_TEXTRAM) AM_BASE(&sys16_textram)
- AM_RANGE(0x440000, 0x440fff) AM_WRITE(SYS16_MWA16_SPRITERAM) AM_BASE(&sys16_spriteram)
- AM_RANGE(0x840000, 0x840fff) AM_WRITE(SYS16_MWA16_PALETTERAM) AM_BASE(&paletteram16)
- AM_RANGE(0xc40000, 0xc40001) AM_WRITE(sys16_coinctrl_w)
+ AM_RANGE(0xc42002, 0xc42003) AM_READ_PORT("DSW1")
AM_RANGE(0xc42006, 0xc42007) AM_WRITE(sound_command_w)
AM_RANGE(0xc44000, 0xc44001) AM_WRITENOP
- AM_RANGE(0xc46000, 0xc4601f) AM_WRITE(SYS16_MWA16_EXTRAM3) AM_BASE(&sys16_extraram3)
- AM_RANGE(0xff0000, 0xffffff) AM_WRITE(SYS16_MWA16_WORKINGRAM) AM_BASE(&sys16_workingram)
+ AM_RANGE(0xc46000, 0xc4601f) AM_READWRITE(SYS16_MRA16_EXTRAM3, SYS16_MWA16_EXTRAM3) AM_BASE(&sys16_extraram3)
+ AM_RANGE(0xff0000, 0xffffff) AM_READWRITE(SYS16_MRA16_WORKINGRAM, SYS16_MWA16_WORKINGRAM) AM_BASE(&sys16_workingram)
ADDRESS_MAP_END
/***************************************************************************/
@@ -2180,7 +2064,7 @@ static MACHINE_DRIVER_START( wb3bbl )
/* basic machine hardware */
MDRV_IMPORT_FROM(system16)
MDRV_CPU_MODIFY("maincpu")
- MDRV_CPU_PROGRAM_MAP(wb3bbl_readmem,wb3bbl_writemem)
+ MDRV_CPU_PROGRAM_MAP(wb3bbl_map,0)
MDRV_MACHINE_RESET(wb3bbl)
MACHINE_DRIVER_END
diff --git a/src/mame/drivers/system18.c b/src/mame/drivers/system18.c
index f5122dd0078..18bcb1547bc 100644
--- a/src/mame/drivers/system18.c
+++ b/src/mame/drivers/system18.c
@@ -223,26 +223,17 @@ static WRITE8_HANDLER( shdancbl_bankctrl_w )
}
}
-static ADDRESS_MAP_START( shdancbl_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
+static ADDRESS_MAP_START(shdancbl_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_READ(shdancbl_soundbank_r)
- AM_RANGE(0xc400, 0xc400) AM_READ(soundlatch_r)
- AM_RANGE(0xcc00, 0xcc03) AM_DEVREAD("3438.0", ym3438_r)
- AM_RANGE(0xd000, 0xd003) AM_DEVREAD("3438.1", ym3438_r)
- AM_RANGE(0xdf00, 0xdfff) AM_READNOP
- AM_RANGE(0xe000, 0xffff) AM_READ(SMH_RAM)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START(shdancbl_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM)
- AM_RANGE(0x8000, 0xbfff) AM_WRITENOP /* ROM bank */
AM_RANGE(0xc000, 0xc00f) AM_WRITENOP
+ AM_RANGE(0xc400, 0xc400) AM_READ(soundlatch_r)
AM_RANGE(0xc800, 0xc800) AM_WRITE(shdancbl_msm5205_data_w)
- AM_RANGE(0xcc00, 0xcc03) AM_DEVWRITE("3438.0", ym3438_w)
- AM_RANGE(0xd000, 0xd003) AM_DEVWRITE("3438.1", ym3438_w)
+ AM_RANGE(0xcc00, 0xcc03) AM_DEVREADWRITE("3438.0", ym3438_r, ym3438_w)
+ AM_RANGE(0xd000, 0xd003) AM_DEVREADWRITE("3438.1", ym3438_r, ym3438_w)
AM_RANGE(0xd400, 0xd400) AM_WRITE(shdancbl_bankctrl_w)
- AM_RANGE(0xdf00, 0xdfff) AM_WRITENOP
- AM_RANGE(0xe000, 0xffff) AM_WRITE(SMH_RAM)
+ AM_RANGE(0xdf00, 0xdfff) AM_NOP
+ AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
static ADDRESS_MAP_START( shdancbl_sound_io_map, ADDRESS_SPACE_IO, 8 )
@@ -262,20 +253,13 @@ static READ8_HANDLER( system18_bank_r )
return 0xFF;
}
-static ADDRESS_MAP_START( sound_readmem_18, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x9fff) AM_READ(SMH_ROM)
+static ADDRESS_MAP_START( sound_18_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xa000, 0xbfff) AM_READ(system18_bank_r)
/**** D/A register ****/
- AM_RANGE(0xd000, 0xdfff) AM_DEVREAD("5c68", rf5c68_mem_r)
- AM_RANGE(0xe000, 0xffff) AM_READ(SMH_RAM)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( sound_writemem_18, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0xbfff) AM_WRITE(SMH_ROM)
- /**** D/A register ****/
AM_RANGE(0xc000, 0xc008) AM_DEVWRITE("5c68", rf5c68_w)
- AM_RANGE(0xd000, 0xdfff) AM_DEVWRITE("5c68", rf5c68_mem_w)
- AM_RANGE(0xe000, 0xffff) AM_WRITE(SMH_RAM) //??
+ AM_RANGE(0xd000, 0xdfff) AM_DEVREADWRITE("5c68", rf5c68_mem_r, rf5c68_mem_w)
+ AM_RANGE(0xe000, 0xffff) AM_RAM //??
ADDRESS_MAP_END
@@ -649,36 +633,25 @@ static WRITE16_HANDLER( sys18_io_w )
*/
/***************************************************************************/
-static ADDRESS_MAP_START( shdancbl_readmem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x07ffff) AM_READ(SMH_ROM)
- AM_RANGE(0x400000, 0x40ffff) AM_READ(SYS16_MRA16_TILERAM)
- AM_RANGE(0x410000, 0x410fff) AM_READ(SYS16_MRA16_TEXTRAM)
- AM_RANGE(0x440000, 0x4407ff) AM_READ(SYS16_MRA16_SPRITERAM)
- AM_RANGE(0x840000, 0x840fff) AM_READ(SYS16_MRA16_PALETTERAM)
- AM_RANGE(0xc00000, 0xc0ffff) AM_READ(vdp_r)
- AM_RANGE(0xe40000, 0xe4ffff) AM_READ(sys18_io_r)
+static ADDRESS_MAP_START( shdancbl_map, ADDRESS_SPACE_PROGRAM, 16 )
+ AM_RANGE(0x000000, 0x07ffff) AM_ROM
+ AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(SYS16_MRA16_TILERAM, SYS16_MWA16_TILERAM) AM_BASE(&sys16_tileram)
+ AM_RANGE(0x410000, 0x410fff) AM_READWRITE(SYS16_MRA16_TEXTRAM, SYS16_MWA16_TEXTRAM) AM_BASE(&sys16_textram)
+ AM_RANGE(0x440000, 0x440fff) AM_READWRITE(SYS16_MRA16_SPRITERAM, SYS16_MWA16_SPRITERAM) AM_BASE(&sys16_spriteram)
+ AM_RANGE(0x840000, 0x840fff) AM_READWRITE(SYS16_MRA16_PALETTERAM, SYS16_MWA16_PALETTERAM) AM_BASE(&paletteram16)
+ AM_RANGE(0xc00000, 0xc0ffff) AM_READWRITE(vdp_r, vdp_w)
AM_RANGE(0xc40000, 0xc40001) AM_READ_PORT("COINAGE")
AM_RANGE(0xc40002, 0xc40003) AM_READ_PORT("DSW1")
+ AM_RANGE(0xc40006, 0xc40007) AM_WRITE(sound_command_irq_w)
+ AM_RANGE(0xc41000, 0xc41001) AM_READ_PORT("SERVICE")
AM_RANGE(0xc41002, 0xc41003) AM_READ_PORT("P1")
AM_RANGE(0xc41004, 0xc41005) AM_READ_PORT("P2")
- AM_RANGE(0xc41000, 0xc41001) AM_READ_PORT("SERVICE")
- AM_RANGE(0xffc000, 0xffffff) AM_READ(SYS16_MRA16_WORKINGRAM)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( shdancbl_writemem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x07ffff) AM_WRITE(SMH_ROM)
- AM_RANGE(0x400000, 0x40ffff) AM_WRITE(SYS16_MWA16_TILERAM) AM_BASE(&sys16_tileram)
- AM_RANGE(0x410000, 0x410fff) AM_WRITE(SYS16_MWA16_TEXTRAM) AM_BASE(&sys16_textram)
- AM_RANGE(0x440000, 0x440fff) AM_WRITE(SYS16_MWA16_SPRITERAM) AM_BASE(&sys16_spriteram)
- AM_RANGE(0x840000, 0x840fff) AM_WRITE(SYS16_MWA16_PALETTERAM) AM_BASE(&paletteram16)
- AM_RANGE(0xc00000, 0xc0ffff) AM_WRITE(vdp_w)
- AM_RANGE(0xe4001c, 0xe4001d) AM_WRITENOP // to prevent access to screen blanking control below
- AM_RANGE(0xe40000, 0xe4ffff) AM_WRITE(sys18_io_w)
- AM_RANGE(0xc40006, 0xc40007) AM_WRITE(sound_command_irq_w)
AM_RANGE(0xc44000, 0xc44001) AM_WRITENOP // only used via clr.w after tilebank set
AM_RANGE(0xc46000, 0xc46fff) AM_WRITENOP // bootleg specific video hardware
+ AM_RANGE(0xe4001c, 0xe4001d) AM_WRITENOP // to prevent access to screen blanking control below
+ AM_RANGE(0xe40000, 0xe4ffff) AM_READWRITE(sys18_io_r, sys18_io_w)
AM_RANGE(0xfe0020, 0xfe003f) AM_WRITENOP // config regs
- AM_RANGE(0xffc000, 0xffffff) AM_WRITE(SYS16_MWA16_WORKINGRAM) AM_BASE(&sys16_workingram)
+ AM_RANGE(0xffc000, 0xffffff) AM_READWRITE(SYS16_MRA16_WORKINGRAM, SYS16_MWA16_WORKINGRAM) AM_BASE(&sys16_workingram)
ADDRESS_MAP_END
/***************************************************************************/
@@ -749,44 +722,26 @@ static DRIVER_INIT( shdancbl )
*/
/***************************************************************************/
-static READ16_HANDLER( mwalkbl_skip_r ){
- if (cpu_get_pc(space->cpu)==0x308a) {cpu_spinuntil_int(space->cpu); return 0xffff;}
- return sys16_workingram[0x202c/2];
-}
-
-
-static ADDRESS_MAP_START( mwalkbl_readmem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x07ffff) AM_READ(SMH_ROM)
- AM_RANGE(0x400000, 0x40ffff) AM_READ(SYS16_MRA16_TILERAM)
- AM_RANGE(0x410000, 0x410fff) AM_READ(SYS16_MRA16_TEXTRAM)
- AM_RANGE(0x440000, 0x440fff) AM_READ(SYS16_MRA16_SPRITERAM)
- AM_RANGE(0x840000, 0x840fff) AM_READ(SYS16_MRA16_PALETTERAM)
- AM_RANGE(0xc00000, 0xc0ffff) AM_READ(vdp_r)
+static ADDRESS_MAP_START( mwalkbl_map, ADDRESS_SPACE_PROGRAM, 16 )
+ AM_RANGE(0x000000, 0x07ffff) AM_ROM
+ AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(SYS16_MRA16_TILERAM, SYS16_MWA16_TILERAM) AM_BASE(&sys16_tileram)
+ AM_RANGE(0x410000, 0x410fff) AM_READWRITE(SYS16_MRA16_TEXTRAM, SYS16_MWA16_TEXTRAM) AM_BASE(&sys16_textram)
+ AM_RANGE(0x440000, 0x440fff) AM_READWRITE(SYS16_MRA16_SPRITERAM, SYS16_MWA16_SPRITERAM) AM_BASE(&sys16_spriteram)
+ AM_RANGE(0x840000, 0x840fff) AM_READWRITE(SYS16_MRA16_PALETTERAM, SYS16_MWA16_PALETTERAM) AM_BASE(&paletteram16)
+ AM_RANGE(0xc00000, 0xc0ffff) AM_READWRITE(vdp_r, vdp_w)
AM_RANGE(0xc40000, 0xc40001) AM_READ_PORT("COINAGE")
AM_RANGE(0xc40002, 0xc40003) AM_READ_PORT("DSW1")
+ AM_RANGE(0xc40006, 0xc40007) AM_WRITE(sound_command_nmi_w)
+ AM_RANGE(0xc41000, 0xc41001) AM_READ_PORT("SERVICE")
AM_RANGE(0xc41002, 0xc41003) AM_READ_PORT("P1")
AM_RANGE(0xc41004, 0xc41005) AM_READ_PORT("P2")
AM_RANGE(0xc41006, 0xc41007) AM_READ_PORT("P3")
AM_RANGE(0xc41008, 0xc41009) AM_READNOP // figure this out, extra input for 3p?
- AM_RANGE(0xc41000, 0xc41001) AM_READ_PORT("SERVICE")
- AM_RANGE(0xe40000, 0xe4ffff) AM_READ(SYS16_MRA16_EXTRAM2)
- AM_RANGE(0xffe02c, 0xffe02d) AM_READ(mwalkbl_skip_r)
- AM_RANGE(0xffc000, 0xffffff) AM_READ(SYS16_MRA16_WORKINGRAM)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( mwalkbl_writemem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x07ffff) AM_WRITE(SMH_ROM)
- AM_RANGE(0x400000, 0x40ffff) AM_WRITE(SYS16_MWA16_TILERAM) AM_BASE(&sys16_tileram)
- AM_RANGE(0x410000, 0x410fff) AM_WRITE(SYS16_MWA16_TEXTRAM) AM_BASE(&sys16_textram)
- AM_RANGE(0x440000, 0x440fff) AM_WRITE(SYS16_MWA16_SPRITERAM) AM_BASE(&sys16_spriteram)
- AM_RANGE(0x840000, 0x840fff) AM_WRITE(SYS16_MWA16_PALETTERAM) AM_BASE(&paletteram16)
- AM_RANGE(0xc00000, 0xc0ffff) AM_WRITE(vdp_w)
- AM_RANGE(0xc40006, 0xc40007) AM_WRITE(sound_command_nmi_w)
AM_RANGE(0xc46600, 0xc46601) AM_WRITE(sys18_refreshenable_w)
AM_RANGE(0xc46800, 0xc46801) AM_WRITE(sys18_tilebank_w)
- AM_RANGE(0xe40000, 0xe4ffff) AM_WRITE(SYS16_MWA16_EXTRAM2) AM_BASE(&sys16_extraram2)
+ AM_RANGE(0xe40000, 0xe4ffff) AM_READWRITE(SYS16_MRA16_EXTRAM2, SYS16_MWA16_EXTRAM2) AM_BASE(&sys16_extraram2)
AM_RANGE(0xfe0020, 0xfe003f) AM_WRITENOP // config regs
- AM_RANGE(0xffc000, 0xffffff) AM_WRITE(SYS16_MWA16_WORKINGRAM) AM_BASE(&sys16_workingram)
+ AM_RANGE(0xffc000, 0xffffff) AM_READWRITE(SYS16_MRA16_WORKINGRAM, SYS16_MWA16_WORKINGRAM) AM_BASE(&sys16_workingram)
ADDRESS_MAP_END
/***************************************************************************/
@@ -889,35 +844,24 @@ static DRIVER_INIT( mwalkbl ){
/* bootleg doesn't have real vdp or i/o */
-static ADDRESS_MAP_START( astormbl_readmem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x07ffff) AM_READ(SMH_ROM)
- AM_RANGE(0x100000, 0x10ffff) AM_READ(SYS16_MRA16_TILERAM)
- AM_RANGE(0x110000, 0x110fff) AM_READ(SYS16_MRA16_TEXTRAM)
- AM_RANGE(0x140000, 0x140fff) AM_READ(SYS16_MRA16_PALETTERAM)
- AM_RANGE(0x200000, 0x200fff) AM_READ(SYS16_MRA16_SPRITERAM)
+static ADDRESS_MAP_START( astormbl_map, ADDRESS_SPACE_PROGRAM, 16 )
+ AM_RANGE(0x000000, 0x07ffff) AM_ROM
+ AM_RANGE(0x100000, 0x10ffff) AM_READWRITE(SYS16_MRA16_TILERAM, SYS16_MWA16_TILERAM) AM_BASE(&sys16_tileram)
+ AM_RANGE(0x110000, 0x110fff) AM_READWRITE(SYS16_MRA16_TEXTRAM, SYS16_MWA16_TEXTRAM) AM_BASE(&sys16_textram)
+ AM_RANGE(0x140000, 0x140fff) AM_READWRITE(SYS16_MRA16_PALETTERAM, SYS16_MWA16_PALETTERAM) AM_BASE(&paletteram16)
+ AM_RANGE(0x200000, 0x200fff) AM_READWRITE(SYS16_MRA16_SPRITERAM, SYS16_MWA16_SPRITERAM) AM_BASE(&sys16_spriteram)
AM_RANGE(0xa00000, 0xa00001) AM_READ_PORT("COINAGE")
AM_RANGE(0xa00002, 0xa00003) AM_READ_PORT("DSW1")
+ AM_RANGE(0xa00006, 0xa00007) AM_WRITE(sound_command_nmi_w)
+ AM_RANGE(0xa0000e, 0xa0000f) AM_WRITE(sys18_tilebank_w)
+ AM_RANGE(0xa01000, 0xa01001) AM_READ_PORT("SERVICE")
AM_RANGE(0xa01002, 0xa01003) AM_READ_PORT("P1")
AM_RANGE(0xa01004, 0xa01005) AM_READ_PORT("P2")
AM_RANGE(0xa01006, 0xa01007) AM_READ_PORT("P3")
- AM_RANGE(0xa01000, 0xa01001) AM_READ_PORT("SERVICE")
- AM_RANGE(0xc00000, 0xc0ffff) AM_READ(vdp_r)
- AM_RANGE(0xffc000, 0xffffff) AM_READ(SYS16_MRA16_WORKINGRAM)
-ADDRESS_MAP_END
-
-
-static ADDRESS_MAP_START( astormbl_writemem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x07ffff) AM_WRITE(SMH_ROM)
- AM_RANGE(0x100000, 0x10ffff) AM_WRITE(SYS16_MWA16_TILERAM) AM_BASE(&sys16_tileram)
- AM_RANGE(0x110000, 0x110fff) AM_WRITE(SYS16_MWA16_TEXTRAM) AM_BASE(&sys16_textram)
- AM_RANGE(0x140000, 0x140fff) AM_WRITE(SYS16_MWA16_PALETTERAM) AM_BASE(&paletteram16)
- AM_RANGE(0x200000, 0x200fff) AM_WRITE(SYS16_MWA16_SPRITERAM) AM_BASE(&sys16_spriteram)
- AM_RANGE(0xa00006, 0xa00007) AM_WRITE(sound_command_nmi_w)
- AM_RANGE(0xa0000e, 0xa0000f) AM_WRITE(sys18_tilebank_w)
- AM_RANGE(0xc00000, 0xc0ffff) AM_WRITE(vdp_w)
+ AM_RANGE(0xc00000, 0xc0ffff) AM_READWRITE(vdp_r, vdp_w)
AM_RANGE(0xc46600, 0xc46601) AM_WRITE(sys18_refreshenable_w)
AM_RANGE(0xfe0020, 0xfe003f) AM_WRITENOP
- AM_RANGE(0xffc000, 0xffffff) AM_WRITE(SYS16_MWA16_WORKINGRAM) AM_BASE(&sys16_workingram)
+ AM_RANGE(0xffc000, 0xffffff) AM_READWRITE(SYS16_MRA16_WORKINGRAM, SYS16_MWA16_WORKINGRAM) AM_BASE(&sys16_workingram)
ADDRESS_MAP_END
@@ -1069,7 +1013,7 @@ static MACHINE_DRIVER_START( system18 )
MDRV_CPU_VBLANK_INT("screen", irq4_line_hold)
MDRV_CPU_ADD("soundcpu", Z80, 8000000)
- MDRV_CPU_PROGRAM_MAP(sound_readmem_18,sound_writemem_18)
+ MDRV_CPU_PROGRAM_MAP(sound_18_map,0)
MDRV_CPU_IO_MAP(sound_18_io_map,0)
/* video hardware */
@@ -1112,7 +1056,7 @@ static MACHINE_DRIVER_START( astormbl )
/* basic machine hardware */
MDRV_IMPORT_FROM(system18)
MDRV_CPU_MODIFY("maincpu")
- MDRV_CPU_PROGRAM_MAP(astormbl_readmem,astormbl_writemem)
+ MDRV_CPU_PROGRAM_MAP(astormbl_map,0)
MDRV_MACHINE_RESET(astormbl)
MACHINE_DRIVER_END
@@ -1123,7 +1067,7 @@ static MACHINE_DRIVER_START( mwalkbl )
/* basic machine hardware */
MDRV_IMPORT_FROM(system18)
MDRV_CPU_MODIFY("maincpu")
- MDRV_CPU_PROGRAM_MAP(mwalkbl_readmem,mwalkbl_writemem)
+ MDRV_CPU_PROGRAM_MAP(mwalkbl_map,0)
MDRV_MACHINE_RESET(mwalkbl)
MACHINE_DRIVER_END
@@ -1134,10 +1078,10 @@ static MACHINE_DRIVER_START( shdancbl )
/* basic machine hardware */
MDRV_IMPORT_FROM(system18)
MDRV_CPU_MODIFY("maincpu")
- MDRV_CPU_PROGRAM_MAP(shdancbl_readmem,shdancbl_writemem)
+ MDRV_CPU_PROGRAM_MAP(shdancbl_map,0)
MDRV_CPU_MODIFY("soundcpu")
- MDRV_CPU_PROGRAM_MAP(shdancbl_sound_readmem,shdancbl_sound_writemem)
+ MDRV_CPU_PROGRAM_MAP(shdancbl_sound_map,0)
MDRV_CPU_IO_MAP(shdancbl_sound_io_map,0)
MDRV_SOUND_REMOVE("5c68")