summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Andrew Gardner <andrew-gardner@users.noreply.github.com>2008-04-07 00:26:08 +0000
committer Andrew Gardner <andrew-gardner@users.noreply.github.com>2008-04-07 00:26:08 +0000
commit0cb1234dd48f8aecd3ab1154bdf08626608f7057 (patch)
tree7138e6fca328a90ebb26b36b46ef6786c468c9fa
parentbcb340612b0d6ef1b1c2cd77432c8f01b3597b55 (diff)
Memory map merges for drivers starting with U, V, W, and Z.
-rw-r--r--src/mame/drivers/ultraman.c64
-rw-r--r--src/mame/drivers/usgames.c75
-rw-r--r--src/mame/drivers/vamphalf.c2
-rw-r--r--src/mame/drivers/vaportra.c71
-rw-r--r--src/mame/drivers/vastar.c65
-rw-r--r--src/mame/drivers/wecleman.c47
-rw-r--r--src/mame/drivers/wilytowr.c63
-rw-r--r--src/mame/drivers/zaccaria.c70
-rw-r--r--src/mame/drivers/zn.c40
9 files changed, 168 insertions, 329 deletions
diff --git a/src/mame/drivers/ultraman.c b/src/mame/drivers/ultraman.c
index afdd86624a4..3b500a42766 100644
--- a/src/mame/drivers/ultraman.c
+++ b/src/mame/drivers/ultraman.c
@@ -110,58 +110,40 @@ static WRITE16_HANDLER( sound_irq_trigger_w )
-static ADDRESS_MAP_START( ultraman_readmem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x03ffff) AM_READ(SMH_ROM) /* ROM */
- AM_RANGE(0x080000, 0x08ffff) AM_READ(SMH_RAM) /* RAM */
- AM_RANGE(0x180000, 0x183fff) AM_READ(SMH_RAM) /* Palette */
+static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
+ AM_RANGE(0x000000, 0x03ffff) AM_ROM
+ AM_RANGE(0x080000, 0x08ffff) AM_RAM
+ AM_RANGE(0x180000, 0x183fff) AM_RAM AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)/* Palette */
AM_RANGE(0x1c0000, 0x1c0001) AM_READ(input_port_0_word_r) /* Coins + Service */
AM_RANGE(0x1c0002, 0x1c0003) AM_READ(input_port_1_word_r) /* 1P controls */
AM_RANGE(0x1c0004, 0x1c0005) AM_READ(input_port_2_word_r) /* 2P controls */
AM_RANGE(0x1c0006, 0x1c0007) AM_READ(input_port_3_word_r) /* DIPSW #1 */
AM_RANGE(0x1c0008, 0x1c0009) AM_READ(input_port_4_word_r) /* DIPSW #2 */
- AM_RANGE(0x204000, 0x204fff) AM_READ(ultraman_K051316_0_r) /* K051316 #0 RAM */
- AM_RANGE(0x205000, 0x205fff) AM_READ(ultraman_K051316_1_r) /* K051316 #1 RAM */
- AM_RANGE(0x206000, 0x206fff) AM_READ(ultraman_K051316_2_r) /* K051316 #2 RAM */
- AM_RANGE(0x304000, 0x30400f) AM_READ(ultraman_K051937_r) /* Sprite control */
- AM_RANGE(0x304800, 0x304fff) AM_READ(ultraman_K051960_r) /* Sprite RAM */
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( ultraman_writemem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x03ffff) AM_WRITE(SMH_ROM) /* ROM */
- AM_RANGE(0x080000, 0x08ffff) AM_WRITE(SMH_RAM) /* RAM */
- AM_RANGE(0x180000, 0x183fff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)/* Palette */
AM_RANGE(0x1c0018, 0x1c0019) AM_WRITE(ultraman_gfxctrl_w) /* counters + gfx ctrl */
AM_RANGE(0x1c0020, 0x1c0021) AM_WRITE(sound_cmd_w)
AM_RANGE(0x1c0028, 0x1c0029) AM_WRITE(sound_irq_trigger_w)
AM_RANGE(0x1c0030, 0x1c0031) AM_WRITE(watchdog_reset16_w)
- AM_RANGE(0x204000, 0x204fff) AM_WRITE(ultraman_K051316_0_w) /* K051316 #0 RAM */
- AM_RANGE(0x205000, 0x205fff) AM_WRITE(ultraman_K051316_1_w) /* K051316 #1 RAM */
- AM_RANGE(0x206000, 0x206fff) AM_WRITE(ultraman_K051316_2_w) /* K051316 #2 RAM */
- AM_RANGE(0x207f80, 0x207f9f) AM_WRITE(ultraman_K051316_ctrl_0_w ) /* K051316 #0 registers */
+ AM_RANGE(0x204000, 0x204fff) AM_READWRITE(ultraman_K051316_0_r, ultraman_K051316_0_w) /* K051316 #0 RAM */
+ AM_RANGE(0x205000, 0x205fff) AM_READWRITE(ultraman_K051316_1_r, ultraman_K051316_1_w) /* K051316 #1 RAM */
+ AM_RANGE(0x206000, 0x206fff) AM_READWRITE(ultraman_K051316_2_r, ultraman_K051316_2_w) /* K051316 #2 RAM */
+ AM_RANGE(0x207f80, 0x207f9f) AM_WRITE(ultraman_K051316_ctrl_0_w ) /* K051316 #0 registers */
AM_RANGE(0x207fa0, 0x207fbf) AM_WRITE(ultraman_K051316_ctrl_1_w ) /* K051316 #1 registers */
AM_RANGE(0x207fc0, 0x207fdf) AM_WRITE(ultraman_K051316_ctrl_2_w ) /* K051316 #2 registers */
- AM_RANGE(0x304000, 0x30400f) AM_WRITE(ultraman_K051937_w) /* Sprite control */
- AM_RANGE(0x304800, 0x304fff) AM_WRITE(ultraman_K051960_w) /* Sprite RAM */
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( ultraman_readmem_sound, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) /* ROM */
- AM_RANGE(0x8000, 0xbfff) AM_READ(SMH_RAM) /* RAM */
- AM_RANGE(0xc000, 0xc000) AM_READ(soundlatch_r) /* Sound latch read */
- AM_RANGE(0xe000, 0xe000) AM_READ(OKIM6295_status_0_r) /* M6295 */
- AM_RANGE(0xf001, 0xf001) AM_READ(YM2151_status_port_0_r) /* YM2151 */
+ AM_RANGE(0x304000, 0x30400f) AM_READWRITE(ultraman_K051937_r, ultraman_K051937_w) /* Sprite control */
+ AM_RANGE(0x304800, 0x304fff) AM_READWRITE(ultraman_K051960_r, ultraman_K051960_w) /* Sprite RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ultraman_writemem_sound, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM) /* ROM */
- AM_RANGE(0x8000, 0xbfff) AM_WRITE(SMH_RAM) /* RAM */
-// AM_RANGE(0xd000, 0xd000) AM_WRITE(SMH_NOP) /* ??? */
- AM_RANGE(0xe000, 0xe000) AM_WRITE(OKIM6295_data_0_w) /* M6295 */
- AM_RANGE(0xf000, 0xf000) AM_WRITE(YM2151_register_port_0_w) /* YM2151 */
- AM_RANGE(0xf001, 0xf001) AM_WRITE(YM2151_data_port_0_w) /* YM2151 */
+static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x7fff) AM_ROM
+ AM_RANGE(0x8000, 0xbfff) AM_RAM
+ AM_RANGE(0xc000, 0xc000) AM_READ(soundlatch_r) /* Sound latch read */
+// AM_RANGE(0xd000, 0xd000) AM_WRITE(SMH_NOP) /* ??? */
+ AM_RANGE(0xe000, 0xe000) AM_READWRITE(OKIM6295_status_0_r, OKIM6295_data_0_w) /* M6295 */
+ AM_RANGE(0xf000, 0xf000) AM_WRITE(YM2151_register_port_0_w) /* YM2151 */
+ AM_RANGE(0xf001, 0xf001) AM_READWRITE(YM2151_status_port_0_r, YM2151_data_port_0_w) /* YM2151 */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ultraman_writeport_sound, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( sound_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
// AM_RANGE(0x00, 0x00) AM_WRITE(SMH_NOP) /* ??? */
ADDRESS_MAP_END
@@ -266,13 +248,13 @@ static MACHINE_DRIVER_START( ultraman )
/* basic machine hardware */
MDRV_CPU_ADD(M68000,24000000/2) /* 12 MHz? */
- MDRV_CPU_PROGRAM_MAP(ultraman_readmem,ultraman_writemem)
+ MDRV_CPU_PROGRAM_MAP(main_map,0)
MDRV_CPU_VBLANK_INT("main", irq4_line_hold)
- MDRV_CPU_ADD(Z80,24000000/6)
/* audio CPU */ /* 4 MHz? */
- MDRV_CPU_PROGRAM_MAP(ultraman_readmem_sound,ultraman_writemem_sound)
- MDRV_CPU_IO_MAP(0,ultraman_writeport_sound)
+ MDRV_CPU_ADD(Z80,24000000/6)
+ MDRV_CPU_PROGRAM_MAP(sound_map,0)
+ MDRV_CPU_IO_MAP(sound_io_map,0)
MDRV_INTERLEAVE(10)
diff --git a/src/mame/drivers/usgames.c b/src/mame/drivers/usgames.c
index 2b809a79af5..1bb1d6067c7 100644
--- a/src/mame/drivers/usgames.c
+++ b/src/mame/drivers/usgames.c
@@ -68,72 +68,43 @@ static WRITE8_HANDLER( lamps2_w )
-static ADDRESS_MAP_START( usgames_readmem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x1fff) AM_READ(SMH_RAM)
-
+static ADDRESS_MAP_START( usgames_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x1fff) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size)
AM_RANGE(0x2000, 0x2000) AM_READ(input_port_1_r)
AM_RANGE(0x2010, 0x2010) AM_READ(input_port_0_r)
- AM_RANGE(0x2041, 0x2041) AM_READ(input_port_2_r)
- AM_RANGE(0x2070, 0x2070) AM_READ(input_port_3_r)
-
- AM_RANGE(0x2800, 0x2fff) AM_READ(SMH_RAM)
- AM_RANGE(0x3000, 0x3fff) AM_READ(SMH_RAM)
- AM_RANGE(0x4000, 0x7fff) AM_READ(SMH_BANK1)
- AM_RANGE(0x8000, 0xffff) AM_READ(SMH_ROM)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( usg185_readmem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x1fff) AM_READ(SMH_RAM)
-
- AM_RANGE(0x2400, 0x2400) AM_READ(input_port_1_r)
- AM_RANGE(0x2410, 0x2410) AM_READ(input_port_0_r)
- AM_RANGE(0x2441, 0x2441) AM_READ(input_port_2_r)
- AM_RANGE(0x2470, 0x2470) AM_READ(input_port_3_r)
-
- AM_RANGE(0x2800, 0x2fff) AM_READ(SMH_RAM)
- AM_RANGE(0x3000, 0x3fff) AM_READ(SMH_RAM)
- AM_RANGE(0x4000, 0x7fff) AM_READ(SMH_BANK1)
- AM_RANGE(0x8000, 0xffff) AM_READ(SMH_ROM)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( usgames_writemem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x1fff) AM_WRITE(SMH_RAM) AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size)
-
AM_RANGE(0x2020, 0x2020) AM_WRITE(lamps1_w)
AM_RANGE(0x2030, 0x2030) AM_WRITE(lamps2_w)
-
AM_RANGE(0x2040, 0x2040) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
+ AM_RANGE(0x2041, 0x2041) AM_READ(input_port_2_r)
AM_RANGE(0x2041, 0x2041) AM_DEVWRITE(MC6845, "crtc", mc6845_register_w)
-
+ AM_RANGE(0x2060, 0x2060) AM_WRITE(usgames_rombank_w)
+ AM_RANGE(0x2070, 0x2070) AM_READ(input_port_3_r)
AM_RANGE(0x2400, 0x2400) AM_WRITE(AY8910_control_port_0_w)
AM_RANGE(0x2401, 0x2401) AM_WRITE(AY8910_write_port_0_w)
-
- AM_RANGE(0x2060, 0x2060) AM_WRITE(usgames_rombank_w)
-
- AM_RANGE(0x2800, 0x2fff) AM_WRITE(usgames_charram_w) AM_BASE(&usgames_charram)
- AM_RANGE(0x3000, 0x3fff) AM_WRITE(usgames_videoram_w) AM_BASE(&usgames_videoram)
- AM_RANGE(0x4000, 0x7fff) AM_WRITE(SMH_ROM)
- AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM)
+ AM_RANGE(0x2800, 0x2fff) AM_RAM AM_WRITE(usgames_charram_w) AM_BASE(&usgames_charram)
+ AM_RANGE(0x3000, 0x3fff) AM_RAM AM_WRITE(usgames_videoram_w) AM_BASE(&usgames_videoram)
+ AM_RANGE(0x4000, 0x7fff) AM_READWRITE(SMH_BANK1, SMH_ROM)
+ AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( usg185_writemem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x1fff) AM_WRITE(SMH_RAM) AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size)
+static ADDRESS_MAP_START( usg185_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x1fff) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size)
+ AM_RANGE(0x2000, 0x2000) AM_WRITE(AY8910_control_port_0_w)
+ AM_RANGE(0x2001, 0x2001) AM_WRITE(AY8910_write_port_0_w)
+ AM_RANGE(0x2400, 0x2400) AM_READ(input_port_1_r)
+ AM_RANGE(0x2410, 0x2410) AM_READ(input_port_0_r)
AM_RANGE(0x2420, 0x2420) AM_WRITE(lamps1_w)
AM_RANGE(0x2430, 0x2430) AM_WRITE(lamps2_w)
-
AM_RANGE(0x2440, 0x2440) AM_DEVWRITE(MC6845, "crtc", mc6845_address_w)
+ AM_RANGE(0x2441, 0x2441) AM_READ(input_port_2_r)
AM_RANGE(0x2441, 0x2441) AM_DEVWRITE(MC6845, "crtc", mc6845_register_w)
-
- AM_RANGE(0x2000, 0x2000) AM_WRITE(AY8910_control_port_0_w)
- AM_RANGE(0x2001, 0x2001) AM_WRITE(AY8910_write_port_0_w)
-
AM_RANGE(0x2460, 0x2460) AM_WRITE(usgames_rombank_w)
-
- AM_RANGE(0x2800, 0x2fff) AM_WRITE(usgames_charram_w) AM_BASE(&usgames_charram)
- AM_RANGE(0x3000, 0x3fff) AM_WRITE(usgames_videoram_w) AM_BASE(&usgames_videoram)
- AM_RANGE(0x4000, 0x7fff) AM_WRITE(SMH_ROM)
- AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM)
+ AM_RANGE(0x2470, 0x2470) AM_READ(input_port_3_r)
+ AM_RANGE(0x2800, 0x2fff) AM_RAM AM_WRITE(usgames_charram_w) AM_BASE(&usgames_charram)
+ AM_RANGE(0x3000, 0x3fff) AM_RAM AM_WRITE(usgames_videoram_w) AM_BASE(&usgames_videoram)
+ AM_RANGE(0x4000, 0x7fff) AM_READWRITE(SMH_BANK1, SMH_ROM)
+ AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
#define USGIN0\
@@ -290,7 +261,7 @@ static MACHINE_DRIVER_START( usg32 )
/* basic machine hardware */
MDRV_CPU_ADD_TAG("main", M6809, 2000000) /* ?? */
- MDRV_CPU_PROGRAM_MAP(usgames_readmem,usgames_writemem)
+ MDRV_CPU_PROGRAM_MAP(usgames_map,0)
MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,5) /* ?? */
MDRV_NVRAM_HANDLER(generic_0fill)
@@ -322,7 +293,7 @@ MACHINE_DRIVER_END
static MACHINE_DRIVER_START( usg185 )
MDRV_IMPORT_FROM(usg32)
MDRV_CPU_MODIFY("main")
- MDRV_CPU_PROGRAM_MAP(usg185_readmem,usg185_writemem)
+ MDRV_CPU_PROGRAM_MAP(usg185_map,0)
MACHINE_DRIVER_END
diff --git a/src/mame/drivers/vamphalf.c b/src/mame/drivers/vamphalf.c
index 1d8ccba1297..346af8af997 100644
--- a/src/mame/drivers/vamphalf.c
+++ b/src/mame/drivers/vamphalf.c
@@ -617,7 +617,7 @@ MACHINE_DRIVER_END
static MACHINE_DRIVER_START( sound_qs1000 )
MDRV_CPU_ADD(I8052, 24000000/4) /* 6 MHz? */
- MDRV_CPU_PROGRAM_MAP( qs1000_prg_map, 0 )
+ MDRV_CPU_PROGRAM_MAP(qs1000_prg_map, 0)
MDRV_CPU_DATA_MAP( qs1000_data_map, 0 )
MACHINE_DRIVER_END
diff --git a/src/mame/drivers/vaportra.c b/src/mame/drivers/vaportra.c
index 4a9c21cff70..d88f167af4f 100644
--- a/src/mame/drivers/vaportra.c
+++ b/src/mame/drivers/vaportra.c
@@ -51,44 +51,26 @@ static READ16_HANDLER( vaportra_control_r )
/******************************************************************************/
-static ADDRESS_MAP_START( vaportra_readmem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x07ffff) AM_READ(SMH_ROM)
- AM_RANGE(0x100000, 0x10000f) AM_READ(vaportra_control_r)
-
- AM_RANGE(0x200000, 0x201fff) AM_READ(SMH_RAM)
- AM_RANGE(0x202000, 0x203fff) AM_READ(SMH_RAM)
- AM_RANGE(0x280000, 0x281fff) AM_READ(SMH_RAM)
- AM_RANGE(0x282000, 0x283fff) AM_READ(SMH_RAM)
-
- AM_RANGE(0x300000, 0x300fff) AM_READ(SMH_RAM)
- AM_RANGE(0x304000, 0x304fff) AM_READ(SMH_RAM)
- AM_RANGE(0x308000, 0x308001) AM_READ(SMH_NOP)
- AM_RANGE(0xff8000, 0xff87ff) AM_READ(SMH_RAM)
- AM_RANGE(0xffc000, 0xffffff) AM_READ(SMH_RAM)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( vaportra_writemem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x07ffff) AM_WRITE(SMH_ROM)
+static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
+ AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x100003) AM_WRITE(vaportra_priority_w)
AM_RANGE(0x100006, 0x100007) AM_WRITE(vaportra_sound_w)
-
- AM_RANGE(0x200000, 0x201fff) AM_WRITE(deco16_pf3_data_w) AM_BASE(&deco16_pf3_data)
- AM_RANGE(0x202000, 0x203fff) AM_WRITE(deco16_pf4_data_w) AM_BASE(&deco16_pf4_data)
+ AM_RANGE(0x100000, 0x10000f) AM_READ(vaportra_control_r)
+ AM_RANGE(0x200000, 0x201fff) AM_RAM AM_WRITE(deco16_pf3_data_w) AM_BASE(&deco16_pf3_data)
+ AM_RANGE(0x202000, 0x203fff) AM_RAM AM_WRITE(deco16_pf4_data_w) AM_BASE(&deco16_pf4_data)
AM_RANGE(0x240000, 0x24000f) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf34_control)
-
- AM_RANGE(0x280000, 0x281fff) AM_WRITE(deco16_pf1_data_w) AM_BASE(&deco16_pf1_data)
- AM_RANGE(0x282000, 0x283fff) AM_WRITE(deco16_pf2_data_w) AM_BASE(&deco16_pf2_data)
+ AM_RANGE(0x280000, 0x281fff) AM_RAM AM_WRITE(deco16_pf1_data_w) AM_BASE(&deco16_pf1_data)
+ AM_RANGE(0x282000, 0x283fff) AM_RAM AM_WRITE(deco16_pf2_data_w) AM_BASE(&deco16_pf2_data)
AM_RANGE(0x2c0000, 0x2c000f) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf12_control)
-
- AM_RANGE(0x300000, 0x3009ff) AM_WRITE(vaportra_palette_24bit_rg_w) AM_BASE(&paletteram16)
- AM_RANGE(0x304000, 0x3049ff) AM_WRITE(vaportra_palette_24bit_b_w) AM_BASE(&paletteram16_2)
-
- AM_RANGE(0x308000, 0x308001) AM_WRITE(SMH_NOP)
+ AM_RANGE(0x300000, 0x3009ff) AM_RAM AM_WRITE(vaportra_palette_24bit_rg_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x304000, 0x3049ff) AM_RAM AM_WRITE(vaportra_palette_24bit_b_w) AM_BASE(&paletteram16_2)
+ AM_RANGE(0x308000, 0x308001) AM_NOP
AM_RANGE(0x30c000, 0x30c001) AM_WRITE(buffer_spriteram16_w)
- AM_RANGE(0xff8000, 0xff87ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
- AM_RANGE(0xffc000, 0xffffff) AM_WRITE(SMH_RAM)
+ AM_RANGE(0xff8000, 0xff87ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xffc000, 0xffffff) AM_RAM
ADDRESS_MAP_END
+
/******************************************************************************/
static READ8_HANDLER( vaportra_soundlatch_r )
@@ -121,23 +103,14 @@ static WRITE8_HANDLER( YM2203_w )
}
}
-static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x000000, 0x00ffff) AM_READ(SMH_ROM)
- AM_RANGE(0x100000, 0x100001) AM_READ(YM2203_status_port_0_r)
- AM_RANGE(0x110000, 0x110001) AM_READ(YM2151_status_port_0_r)
- AM_RANGE(0x120000, 0x120001) AM_READ(OKIM6295_status_0_r)
- AM_RANGE(0x130000, 0x130001) AM_READ(OKIM6295_status_1_r)
+static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x000000, 0x00ffff) AM_ROM
+ AM_RANGE(0x100000, 0x100001) AM_READWRITE(YM2203_status_port_0_r, YM2203_w)
+ AM_RANGE(0x110000, 0x110001) AM_READWRITE(YM2151_status_port_0_r, YM2151_w)
+ AM_RANGE(0x120000, 0x120001) AM_READWRITE(OKIM6295_status_0_r, OKIM6295_data_0_w)
+ AM_RANGE(0x130000, 0x130001) AM_READWRITE(OKIM6295_status_1_r, OKIM6295_data_1_w)
AM_RANGE(0x140000, 0x140001) AM_READ(vaportra_soundlatch_r)
- AM_RANGE(0x1f0000, 0x1f1fff) AM_READ(SMH_BANK8)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x000000, 0x00ffff) AM_WRITE(SMH_ROM)
- AM_RANGE(0x100000, 0x100001) AM_WRITE(YM2203_w)
- AM_RANGE(0x110000, 0x110001) AM_WRITE(YM2151_w)
- AM_RANGE(0x120000, 0x120001) AM_WRITE(OKIM6295_data_0_w)
- AM_RANGE(0x130000, 0x130001) AM_WRITE(OKIM6295_data_1_w)
- AM_RANGE(0x1f0000, 0x1f1fff) AM_WRITE(SMH_BANK8)
+ AM_RANGE(0x1f0000, 0x1f1fff) AM_READWRITE(SMH_BANK8,SMH_BANK8) /* ??? LOOKUP ??? */
AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE(H6280_timer_w)
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE(H6280_irq_status_w)
ADDRESS_MAP_END
@@ -274,12 +247,12 @@ static MACHINE_DRIVER_START( vaportra )
/* basic machine hardware */
MDRV_CPU_ADD(M68000,12000000) /* Custom chip 59 */
- MDRV_CPU_PROGRAM_MAP(vaportra_readmem,vaportra_writemem)
+ MDRV_CPU_PROGRAM_MAP(main_map,0)
MDRV_CPU_VBLANK_INT("main", irq6_line_hold)
MDRV_CPU_ADD(H6280, 32220000/4) /* Custom chip 45; Audio section crystal is 32.220 MHz */
/* audio CPU */
- MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem)
+ MDRV_CPU_PROGRAM_MAP(sound_map,0)
/* video hardware */
MDRV_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
diff --git a/src/mame/drivers/vastar.c b/src/mame/drivers/vastar.c
index 0ba1609c893..e4ca8333bf3 100644
--- a/src/mame/drivers/vastar.c
+++ b/src/mame/drivers/vastar.c
@@ -114,31 +114,19 @@ static WRITE8_HANDLER( flip_screen_w )
-static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
- AM_RANGE(0x8000, 0x8fff) AM_READ(vastar_bg2videoram_r)
- AM_RANGE(0x9000, 0x9fff) AM_READ(vastar_bg1videoram_r)
- AM_RANGE(0xa000, 0xafff) AM_READ(vastar_bg2videoram_r) /* mirror address */
- AM_RANGE(0xb000, 0xbfff) AM_READ(vastar_bg1videoram_r) /* mirror address */
- AM_RANGE(0xc400, 0xcfff) AM_READ(SMH_RAM)
- AM_RANGE(0xe000, 0xe000) AM_READ(watchdog_reset_r)
- AM_RANGE(0xf000, 0xf0ff) AM_READ(vastar_sharedram_r)
- AM_RANGE(0xf100, 0xf7ff) AM_READ(SMH_RAM)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM)
- AM_RANGE(0x8000, 0x8fff) AM_WRITE(vastar_bg2videoram_w) AM_BASE(&vastar_bg2videoram)
- AM_RANGE(0x9000, 0x9fff) AM_WRITE(vastar_bg1videoram_w) AM_BASE(&vastar_bg1videoram)
- AM_RANGE(0xa000, 0xafff) AM_WRITE(vastar_bg2videoram_w) /* mirror address */
- AM_RANGE(0xb000, 0xbfff) AM_WRITE(vastar_bg1videoram_w) /* mirror address */
+static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x7fff) AM_ROM
+ AM_RANGE(0x8000, 0x8fff) AM_READWRITE(vastar_bg2videoram_r, vastar_bg2videoram_w) AM_BASE(&vastar_bg2videoram)
+ AM_RANGE(0x9000, 0x9fff) AM_READWRITE(vastar_bg1videoram_r, vastar_bg1videoram_w) AM_BASE(&vastar_bg1videoram)
+ AM_RANGE(0xa000, 0xafff) AM_READWRITE(vastar_bg2videoram_r, vastar_bg2videoram_w) /* mirror address */
+ AM_RANGE(0xb000, 0xbfff) AM_READWRITE(vastar_bg1videoram_r, vastar_bg1videoram_w) /* mirror address */
AM_RANGE(0xc000, 0xc000) AM_WRITE(SMH_RAM) AM_BASE(&vastar_sprite_priority) /* sprite/BG priority */
- AM_RANGE(0xc400, 0xcfff) AM_WRITE(vastar_fgvideoram_w) AM_BASE(&vastar_fgvideoram)
- AM_RANGE(0xe000, 0xe000) AM_WRITE(watchdog_reset_w)
- AM_RANGE(0xf000, 0xf0ff) AM_WRITE(vastar_sharedram_w) AM_BASE(&vastar_sharedram)
- AM_RANGE(0xf100, 0xf7ff) AM_WRITE(SMH_RAM)
+ AM_RANGE(0xc400, 0xcfff) AM_RAM AM_WRITE(vastar_fgvideoram_w) AM_BASE(&vastar_fgvideoram)
+ AM_RANGE(0xe000, 0xe000) AM_READWRITE(watchdog_reset_r, watchdog_reset_w)
+ AM_RANGE(0xf000, 0xf0ff) AM_READWRITE(vastar_sharedram_r, vastar_sharedram_w) AM_BASE(&vastar_sharedram)
+ AM_RANGE(0xf100, 0xf7ff) AM_RAM
- /* in hidden portions of video RAM: */
+ /* in hidden portions of video RAM: (fallthrough) */
AM_RANGE(0xc400, 0xc43f) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size) /* actually c410-c41f and c430-c43f */
AM_RANGE(0xc7c0, 0xc7df) AM_WRITE(SMH_RAM) AM_BASE(&vastar_bg1_scroll)
AM_RANGE(0xc7e0, 0xc7ff) AM_WRITE(SMH_RAM) AM_BASE(&vastar_bg2_scroll)
@@ -146,39 +134,30 @@ static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xcc00, 0xcc3f) AM_WRITE(SMH_RAM) AM_BASE(&spriteram_3) /* actually cc10-cc1f and cc30-cc3f */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( main_port_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(interrupt_enable_w)
AM_RANGE(0x01, 0x01) AM_WRITE(flip_screen_w)
AM_RANGE(0x02, 0x02) AM_WRITE(vastar_hold_cpu2_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpu2_readmem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x1fff) AM_READ(SMH_ROM)
- AM_RANGE(0x4000, 0x40ff) AM_READ(vastar_sharedram_r)
+
+static ADDRESS_MAP_START( cpu2_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x1fff) AM_ROM
+ AM_RANGE(0x4000, 0x40ff) AM_READWRITE(vastar_sharedram_r, vastar_sharedram_w)
AM_RANGE(0x8000, 0x8000) AM_READ(input_port_1_r)
AM_RANGE(0x8040, 0x8040) AM_READ(input_port_0_r)
AM_RANGE(0x8080, 0x8080) AM_READ(input_port_2_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( cpu2_writemem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x1fff) AM_WRITE(SMH_ROM)
- AM_RANGE(0x4000, 0x40ff) AM_WRITE(vastar_sharedram_w)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( cpu2_readport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x02, 0x02) AM_READ(AY8910_read_port_0_r)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( cpu2_writeport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( cpu2_port_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(AY8910_control_port_0_w)
AM_RANGE(0x01, 0x01) AM_WRITE(AY8910_write_port_0_w)
+ AM_RANGE(0x02, 0x02) AM_READ(AY8910_read_port_0_r)
ADDRESS_MAP_END
-
static INPUT_PORTS_START( vastar )
PORT_START_TAG("IN0")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
@@ -325,13 +304,13 @@ static MACHINE_DRIVER_START( vastar )
/* basic machine hardware */
MDRV_CPU_ADD(Z80, 3072000) /* 3.072 MHz ???? */
- MDRV_CPU_PROGRAM_MAP(readmem,writemem)
- MDRV_CPU_IO_MAP(0,writeport)
+ MDRV_CPU_PROGRAM_MAP(main_map,0)
+ MDRV_CPU_IO_MAP(main_port_map,0)
MDRV_CPU_VBLANK_INT("main", nmi_line_pulse)
MDRV_CPU_ADD(Z80, 3072000) /* 3.072 MHz ???? */
- MDRV_CPU_PROGRAM_MAP(cpu2_readmem,cpu2_writemem)
- MDRV_CPU_IO_MAP(cpu2_readport,cpu2_writeport)
+ MDRV_CPU_PROGRAM_MAP(cpu2_map,0)
+ MDRV_CPU_IO_MAP(cpu2_port_map,0)
MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,4) /* ??? */
MDRV_INTERLEAVE(10) /* 10 CPU slices per frame - seems enough to ensure proper */
diff --git a/src/mame/drivers/wecleman.c b/src/mame/drivers/wecleman.c
index 4d5f87d54ba..c6bf50570dc 100644
--- a/src/mame/drivers/wecleman.c
+++ b/src/mame/drivers/wecleman.c
@@ -688,24 +688,17 @@ static WRITE8_HANDLER( wecleman_K00723216_bank_w )
K007232_set_bank( 0, 0, ~data&1 ); //* (wecleman062gre)
}
-static ADDRESS_MAP_START( wecleman_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) // ROM
- AM_RANGE(0x8000, 0x83ff) AM_READ(SMH_RAM) // RAM
- AM_RANGE(0x9000, 0x9000) AM_READ(multiply_r) // Protection
- AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r) // From main CPU
- AM_RANGE(0xb000, 0xb00d) AM_READ(K007232_read_port_0_r) // K007232 (Reading offset 5/b triggers the sample)
- AM_RANGE(0xc001, 0xc001) AM_READ(YM2151_status_port_0_r) // YM2151
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( wecleman_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM) // ROM
- AM_RANGE(0x8000, 0x83ff) AM_WRITE(SMH_RAM) // RAM
+static ADDRESS_MAP_START( wecleman_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x7fff) AM_ROM
+ AM_RANGE(0x8000, 0x83ff) AM_RAM
AM_RANGE(0x8500, 0x8500) AM_WRITE(SMH_NOP) // incresed with speed (global volume)?
+ AM_RANGE(0x9000, 0x9000) AM_READ(multiply_r) // Protection
AM_RANGE(0x9000, 0x9001) AM_WRITE(multiply_w) // Protection
AM_RANGE(0x9006, 0x9006) AM_WRITE(SMH_NOP) // ?
- AM_RANGE(0xb000, 0xb00d) AM_WRITE(K007232_write_port_0_w) // K007232
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r) // From main CPU
+ AM_RANGE(0xb000, 0xb00d) AM_READWRITE(K007232_read_port_0_r, K007232_write_port_0_w) // K007232 (Reading offset 5/b triggers the sample)
AM_RANGE(0xc000, 0xc000) AM_WRITE(YM2151_register_port_0_w) // YM2151
- AM_RANGE(0xc001, 0xc001) AM_WRITE(YM2151_data_port_0_w)
+ AM_RANGE(0xc001, 0xc001) AM_READWRITE(YM2151_status_port_0_r, YM2151_data_port_0_w)
AM_RANGE(0xf000, 0xf000) AM_WRITE(wecleman_K00723216_bank_w) // Samples banking
ADDRESS_MAP_END
@@ -803,24 +796,16 @@ HOTCHASE_K007232_RW(0)
HOTCHASE_K007232_RW(1)
HOTCHASE_K007232_RW(2)
-static ADDRESS_MAP_START( hotchase_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x07ff) AM_READ(SMH_RAM) // RAM
- AM_RANGE(0x1000, 0x100d) AM_READ(hotchase_K007232_0_r) // 3 x K007232
- AM_RANGE(0x2000, 0x200d) AM_READ(hotchase_K007232_1_r)
- AM_RANGE(0x3000, 0x300d) AM_READ(hotchase_K007232_2_r)
- AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_r) // From main CPU (Read on IRQ)
- AM_RANGE(0x8000, 0xffff) AM_READ(SMH_ROM) // ROM
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( hotchase_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x07ff) AM_WRITE(SMH_RAM) // RAM
- AM_RANGE(0x1000, 0x100d) AM_WRITE(hotchase_K007232_0_w) // 3 x K007232
- AM_RANGE(0x2000, 0x200d) AM_WRITE(hotchase_K007232_1_w)
- AM_RANGE(0x3000, 0x300d) AM_WRITE(hotchase_K007232_2_w)
+static ADDRESS_MAP_START( hotchase_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x07ff) AM_RAM
+ AM_RANGE(0x1000, 0x100d) AM_READWRITE(hotchase_K007232_0_r, hotchase_K007232_0_w) // 3 x K007232
+ AM_RANGE(0x2000, 0x200d) AM_READWRITE(hotchase_K007232_1_r, hotchase_K007232_1_w)
+ AM_RANGE(0x3000, 0x300d) AM_READWRITE(hotchase_K007232_2_r, hotchase_K007232_2_w)
AM_RANGE(0x4000, 0x4007) AM_WRITE(hotchase_sound_control_w) // Sound volume, banking, etc.
AM_RANGE(0x5000, 0x5000) AM_WRITE(SMH_NOP) // ? (written with 0 on IRQ, 1 on FIRQ)
+ AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_r) // From main CPU (Read on IRQ)
AM_RANGE(0x7000, 0x7000) AM_WRITE(SMH_NOP) // Command acknowledge ?
- AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM) // ROM
+ AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -1123,7 +1108,7 @@ static MACHINE_DRIVER_START( wecleman )
/* Schems: can be reset, no nmi, soundlatch, 3.58MHz */
MDRV_CPU_ADD(Z80, 3579545)
/* audio CPU */
- MDRV_CPU_PROGRAM_MAP(wecleman_sound_readmem,wecleman_sound_writemem)
+ MDRV_CPU_PROGRAM_MAP(wecleman_sound_map,0)
MDRV_INTERLEAVE(100)
@@ -1179,7 +1164,7 @@ static MACHINE_DRIVER_START( hotchase )
MDRV_CPU_ADD(M6809, 3579545 / 2)
/* audio CPU */ /* 3.579/2 MHz - PCB is drawn in one set's readme */
- MDRV_CPU_PROGRAM_MAP(hotchase_sound_readmem,hotchase_sound_writemem)
+ MDRV_CPU_PROGRAM_MAP(hotchase_sound_map,0)
MDRV_CPU_PERIODIC_INT( hotchase_sound_timer, 496 )
/* Amuse: every 2 ms */
diff --git a/src/mame/drivers/wilytowr.c b/src/mame/drivers/wilytowr.c
index 559d2274882..d2506add5b9 100644
--- a/src/mame/drivers/wilytowr.c
+++ b/src/mame/drivers/wilytowr.c
@@ -255,32 +255,24 @@ static WRITE8_HANDLER( p2_w )
}
-static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0xbfff) AM_READ(SMH_ROM)
- AM_RANGE(0xd000, 0xdfff) AM_READ(SMH_RAM)
- AM_RANGE(0xe000, 0xefff) AM_READ(SMH_RAM)
- AM_RANGE(0xf800, 0xf800) AM_READ(input_port_0_r)
- AM_RANGE(0xf801, 0xf801) AM_READ(input_port_1_r)
- AM_RANGE(0xf802, 0xf802) AM_READ(input_port_2_r)
- AM_RANGE(0xf806, 0xf806) AM_READ(input_port_3_r)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0xbfff) AM_WRITE(SMH_ROM)
- AM_RANGE(0xd000, 0xdfff) AM_WRITE(SMH_RAM)
- AM_RANGE(0xe000, 0xe1ff) AM_WRITE(SMH_RAM)
- AM_RANGE(0xe200, 0xe2ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0xe300, 0xe3ff) AM_WRITE(SMH_RAM) AM_BASE(&wilytowr_scrollram)
- AM_RANGE(0xe400, 0xe7ff) AM_WRITE(wilytowr_videoram2_w) AM_BASE(&wilytowr_videoram2)
- AM_RANGE(0xe800, 0xebff) AM_WRITE(wilytowr_videoram_w) AM_BASE(&videoram)
- AM_RANGE(0xec00, 0xefff) AM_WRITE(wilytowr_colorram_w) AM_BASE(&colorram)
+static ADDRESS_MAP_START( wilytowr_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0xbfff) AM_ROM
+ AM_RANGE(0xd000, 0xdfff) AM_RAM
+ AM_RANGE(0xe000, 0xe1ff) AM_RAM
+ AM_RANGE(0xe200, 0xe2ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xe300, 0xe3ff) AM_RAM AM_BASE(&wilytowr_scrollram)
+ AM_RANGE(0xe400, 0xe7ff) AM_RAM AM_WRITE(wilytowr_videoram2_w) AM_BASE(&wilytowr_videoram2)
+ AM_RANGE(0xe800, 0xebff) AM_RAM AM_WRITE(wilytowr_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0xec00, 0xefff) AM_RAM AM_WRITE(wilytowr_colorram_w) AM_BASE(&colorram)
AM_RANGE(0xf000, 0xf000) AM_WRITE(interrupt_enable_w) /* NMI enable */
AM_RANGE(0xf002, 0xf002) AM_WRITE(wilytwr_flipscreen_w)
AM_RANGE(0xf003, 0xf003) AM_WRITE(wilytwr_palbank_w)
AM_RANGE(0xf006, 0xf007) AM_WRITE(coin_w)
- AM_RANGE(0xf800, 0xf800) AM_WRITE(soundlatch_w)
- AM_RANGE(0xf801, 0xf801) AM_WRITE(SMH_NOP) /* continues game when in stop mode (cleared by NMI handler) */
+ AM_RANGE(0xf800, 0xf800) AM_READWRITE(input_port_0_r, soundlatch_w)
+ AM_RANGE(0xf801, 0xf801) AM_READWRITE(input_port_1_r, SMH_NOP) /* continues game when in stop mode (cleared by NMI handler) */
+ AM_RANGE(0xf802, 0xf802) AM_READ(input_port_2_r)
AM_RANGE(0xf803, 0xf803) AM_WRITE(snd_irq_w)
+ AM_RANGE(0xf806, 0xf806) AM_READ(input_port_3_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( fghtbskt_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -310,20 +302,13 @@ static ADDRESS_MAP_START( fghtbskt_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xf807, 0xf807) AM_WRITE(fghtbskt_samples_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( i8039_readmem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x0fff) AM_READ(SMH_ROM)
+static ADDRESS_MAP_START( i8039_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x0fff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( i8039_writemem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x0fff) AM_WRITE(SMH_ROM)
-ADDRESS_MAP_END
-static ADDRESS_MAP_START( i8039_readport, ADDRESS_SPACE_IO, 8 )
-// AM_RANGE(0x00, 0xff)
-// AM_RANGE(I8039_t1, I8039_t1)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( i8039_writeport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( i8039_port_map, ADDRESS_SPACE_IO, 8 )
+// AM_RANGE(I8039_t1, I8039_t1)
AM_RANGE(0x00, 0xff) AM_WRITE(snddata_w)
AM_RANGE(I8039_p1, I8039_p1) AM_WRITE(p1_w)
AM_RANGE(I8039_p2, I8039_p2) AM_WRITE(p2_w)
@@ -523,13 +508,13 @@ static MACHINE_DRIVER_START( wilytowr )
/* basic machine hardware */
MDRV_CPU_ADD(Z80,4000000) /* 4 MHz ???? */
- MDRV_CPU_PROGRAM_MAP(readmem,writemem)
+ MDRV_CPU_PROGRAM_MAP(wilytowr_map,0)
MDRV_CPU_VBLANK_INT("main", nmi_line_pulse)
- MDRV_CPU_ADD(I8039,8000000) /* ????? */
/* audio CPU */
- MDRV_CPU_PROGRAM_MAP(i8039_readmem,i8039_writemem)
- MDRV_CPU_IO_MAP(i8039_readport,i8039_writeport)
+ MDRV_CPU_ADD(I8039,8000000) /* ????? */
+ MDRV_CPU_PROGRAM_MAP(i8039_map,0)
+ MDRV_CPU_IO_MAP(i8039_port_map,0)
/* video hardware */
MDRV_SCREEN_ADD("main", RASTER)
@@ -563,10 +548,10 @@ static MACHINE_DRIVER_START( fghtbskt )
MDRV_CPU_PROGRAM_MAP(fghtbskt_map,0)
MDRV_CPU_VBLANK_INT("main", nmi_line_pulse)
- MDRV_CPU_ADD(I8039,12000000/4) /* ????? */
/* audio CPU */
- MDRV_CPU_PROGRAM_MAP(i8039_readmem,i8039_writemem)
- MDRV_CPU_IO_MAP(i8039_readport,i8039_writeport)
+ MDRV_CPU_ADD(I8039,12000000/4) /* ????? */
+ MDRV_CPU_PROGRAM_MAP(i8039_map,0)
+ MDRV_CPU_IO_MAP(i8039_port_map,0)
/* video hardware */
MDRV_SCREEN_ADD("main", RASTER)
diff --git a/src/mame/drivers/zaccaria.c b/src/mame/drivers/zaccaria.c
index b20045691bf..17a7e192900 100644
--- a/src/mame/drivers/zaccaria.c
+++ b/src/mame/drivers/zaccaria.c
@@ -329,64 +329,42 @@ static WRITE8_HANDLER( nmienable_w )
-static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x5fff) AM_READ(SMH_ROM)
+static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x63ff) AM_READ(SMH_RAM)
AM_RANGE(0x6400, 0x6407) AM_READ(zaccaria_prot1_r)
- AM_RANGE(0x6c00, 0x6c07) AM_READ(zaccaria_prot2_r)
- AM_RANGE(0x6e00, 0x6e00) AM_READ(zaccaria_dsw_r)
- AM_RANGE(0x7000, 0x77ff) AM_READ(SMH_RAM)
- AM_RANGE(0x7800, 0x7803) AM_READ(ppi8255_0_r)
- AM_RANGE(0x7c00, 0x7c00) AM_READ(watchdog_reset_r)
- AM_RANGE(0x8000, 0xdfff) AM_READ(SMH_ROM)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x5fff) AM_WRITE(SMH_ROM)
AM_RANGE(0x6000, 0x67ff) AM_WRITE(zaccaria_videoram_w) AM_BASE(&zaccaria_videoram) /* 6400-67ff is 4 bits wide */
AM_RANGE(0x6800, 0x683f) AM_WRITE(zaccaria_attributes_w) AM_BASE(&zaccaria_attributesram)
- AM_RANGE(0x6840, 0x685f) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0x6881, 0x68bc) AM_WRITE(SMH_RAM) AM_BASE(&spriteram_2) AM_SIZE(&spriteram_2_size)
+ AM_RANGE(0x6840, 0x685f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0x6881, 0x68bc) AM_RAM AM_BASE(&spriteram_2) AM_SIZE(&spriteram_2_size)
AM_RANGE(0x6c00, 0x6c00) AM_WRITE(zaccaria_flip_screen_x_w)
AM_RANGE(0x6c01, 0x6c01) AM_WRITE(zaccaria_flip_screen_y_w)
AM_RANGE(0x6c02, 0x6c02) AM_WRITE(SMH_NOP) /* sound reset */
- AM_RANGE(0x6e00, 0x6e00) AM_WRITE(sound_command_w)
AM_RANGE(0x6c06, 0x6c06) AM_WRITE(coin_w)
AM_RANGE(0x6c07, 0x6c07) AM_WRITE(nmienable_w)
- AM_RANGE(0x7000, 0x77ff) AM_WRITE(SMH_RAM)
- AM_RANGE(0x7800, 0x7803) AM_WRITE(ppi8255_0_w)
- AM_RANGE(0x8000, 0xdfff) AM_WRITE(SMH_ROM)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( sound_readmem1, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x007f) AM_READ(SMH_RAM)
- AM_RANGE(0x500c, 0x500f) AM_READ(pia_0_r)
- AM_RANGE(0xa000, 0xbfff) AM_READ(SMH_ROM)
- AM_RANGE(0xe000, 0xffff) AM_READ(SMH_ROM)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( sound_writemem1, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x007f) AM_WRITE(SMH_RAM)
- AM_RANGE(0x500c, 0x500f) AM_WRITE(pia_0_w)
- AM_RANGE(0xa000, 0xbfff) AM_WRITE(SMH_ROM)
- AM_RANGE(0xe000, 0xffff) AM_WRITE(SMH_ROM)
+ AM_RANGE(0x6c00, 0x6c07) AM_READ(zaccaria_prot2_r)
+ AM_RANGE(0x6e00, 0x6e00) AM_READWRITE(zaccaria_dsw_r, sound_command_w)
+ AM_RANGE(0x7000, 0x77ff) AM_RAM
+ AM_RANGE(0x7800, 0x7803) AM_READWRITE(ppi8255_0_r, ppi8255_0_w)
+ AM_RANGE(0x7c00, 0x7c00) AM_READ(watchdog_reset_r)
+ AM_RANGE(0x8000, 0xdfff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_readmem2, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x007f) AM_READ(SMH_RAM)
- AM_RANGE(0x0090, 0x0093) AM_READ(pia_1_r)
- AM_RANGE(0x1800, 0x1800) AM_READ(soundlatch_r)
- AM_RANGE(0xa000, 0xbfff) AM_READ(SMH_ROM)
- AM_RANGE(0xe000, 0xffff) AM_READ(SMH_ROM)
+static ADDRESS_MAP_START( sound_map_1, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x007f) AM_RAM
+ AM_RANGE(0x500c, 0x500f) AM_READWRITE(pia_0_r, pia_0_w)
+ AM_RANGE(0xa000, 0xbfff) AM_ROM
+ AM_RANGE(0xe000, 0xffff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_writemem2, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x007f) AM_WRITE(SMH_RAM)
- AM_RANGE(0x0090, 0x0093) AM_WRITE(pia_1_w)
+static ADDRESS_MAP_START( sound_map_2, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x007f) AM_RAM
+ AM_RANGE(0x0090, 0x0093) AM_READWRITE(pia_1_r, pia_1_w)
AM_RANGE(0x1000, 0x1000) AM_WRITE(mc1408_data_w) /* MC1408 */
AM_RANGE(0x1400, 0x1400) AM_WRITE(sound1_command_w)
- AM_RANGE(0xa000, 0xbfff) AM_WRITE(SMH_ROM)
- AM_RANGE(0xe000, 0xffff) AM_WRITE(SMH_ROM)
+ AM_RANGE(0x1800, 0x1800) AM_READ(soundlatch_r)
+ AM_RANGE(0xa000, 0xbfff) AM_ROM
+ AM_RANGE(0xe000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -661,15 +639,15 @@ static MACHINE_DRIVER_START( zaccaria )
/* basic machine hardware */
MDRV_CPU_ADD(Z80,XTAL_18_432MHz/6) /* verified on pcb */
- MDRV_CPU_PROGRAM_MAP(readmem,writemem)
+ MDRV_CPU_PROGRAM_MAP(main_map,0)
MDRV_CPU_VBLANK_INT("main", nmi_line_pulse)
MDRV_CPU_ADD(M6802,XTAL_3_579545MHz) /* verified on pcb */
- MDRV_CPU_PROGRAM_MAP(sound_readmem1,sound_writemem1)
+ MDRV_CPU_PROGRAM_MAP(sound_map_1,0)
MDRV_CPU_PERIODIC_INT(zaccaria_cb1_toggle,(double)3580000/4096)
MDRV_CPU_ADD(M6802,XTAL_3_579545MHz) /* verified on pcb */
- MDRV_CPU_PROGRAM_MAP(sound_readmem2,sound_writemem2)
+ MDRV_CPU_PROGRAM_MAP(sound_map_2,0)
MDRV_MACHINE_START(zaccaria)
MDRV_MACHINE_RESET(zaccaria)
diff --git a/src/mame/drivers/zn.c b/src/mame/drivers/zn.c
index b83ca20a6e0..f9906337534 100644
--- a/src/mame/drivers/zn.c
+++ b/src/mame/drivers/zn.c
@@ -379,10 +379,7 @@ static ADDRESS_MAP_START( zn_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0xfffe0130, 0xfffe0133) AM_WRITENOP
ADDRESS_MAP_END
-static ADDRESS_MAP_START( link_readmem, ADDRESS_SPACE_PROGRAM, 8 )
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( link_writemem, ADDRESS_SPACE_PROGRAM, 8 )
+static ADDRESS_MAP_START( link_map, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_END
static void zn_driver_init( void )
@@ -1257,29 +1254,18 @@ static NVRAM_HANDLER( coh1000ta )
}
}
-static ADDRESS_MAP_START( fx1a_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM)
- AM_RANGE(0x4000, 0x7fff) AM_READ(SMH_BANK10)
- AM_RANGE(0xc000, 0xdfff) AM_READ(SMH_RAM)
- AM_RANGE(0xe000, 0xe000) AM_READ(YM2610_status_port_0_A_r)
- AM_RANGE(0xe001, 0xe001) AM_READ(YM2610_read_port_0_r)
- AM_RANGE(0xe002, 0xe002) AM_READ(YM2610_status_port_0_B_r)
- AM_RANGE(0xe200, 0xe200) AM_READ(SMH_NOP)
- AM_RANGE(0xe201, 0xe201) AM_READ(taitosound_slave_comm_r)
- AM_RANGE(0xea00, 0xea00) AM_READ(SMH_NOP)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( fx1a_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM)
- AM_RANGE(0xc000, 0xdfff) AM_WRITE(SMH_RAM)
- AM_RANGE(0xe000, 0xe000) AM_WRITE(YM2610_control_port_0_A_w)
- AM_RANGE(0xe001, 0xe001) AM_WRITE(YM2610_data_port_0_A_w)
- AM_RANGE(0xe002, 0xe002) AM_WRITE(YM2610_control_port_0_B_w)
+static ADDRESS_MAP_START( fx1a_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x4000, 0x7fff) AM_READ(SMH_BANK10) /* Fallthrough */
+ AM_RANGE(0x0000, 0x7fff) AM_ROM
+ AM_RANGE(0xc000, 0xdfff) AM_RAM
+ AM_RANGE(0xe000, 0xe000) AM_READWRITE(YM2610_status_port_0_A_r, YM2610_control_port_0_A_w)
+ AM_RANGE(0xe001, 0xe001) AM_READWRITE(YM2610_read_port_0_r, YM2610_data_port_0_A_w)
+ AM_RANGE(0xe002, 0xe002) AM_READWRITE(YM2610_status_port_0_B_r, YM2610_control_port_0_B_w)
AM_RANGE(0xe003, 0xe003) AM_WRITE(YM2610_data_port_0_B_w)
- AM_RANGE(0xe200, 0xe200) AM_WRITE(taitosound_slave_port_w)
- AM_RANGE(0xe201, 0xe201) AM_WRITE(taitosound_slave_comm_w)
+ AM_RANGE(0xe200, 0xe200) AM_READWRITE(SMH_NOP, taitosound_slave_port_w)
+ AM_RANGE(0xe201, 0xe201) AM_READWRITE(taitosound_slave_comm_r, taitosound_slave_comm_w)
AM_RANGE(0xe400, 0xe403) AM_WRITE(SMH_NOP) /* pan */
- AM_RANGE(0xee00, 0xee00) AM_WRITE(SMH_NOP) /* ? */
+ AM_RANGE(0xee00, 0xee00) AM_NOP /* ? */
AM_RANGE(0xf000, 0xf000) AM_WRITE(SMH_NOP) /* ? */
AM_RANGE(0xf200, 0xf200) AM_WRITE(fx1a_sound_bankswitch_w)
ADDRESS_MAP_END
@@ -1305,7 +1291,7 @@ static MACHINE_DRIVER_START( coh1000ta )
MDRV_CPU_ADD( Z80, 16000000 / 4 )
/* audio CPU */ /* 4 MHz */
- MDRV_CPU_PROGRAM_MAP( fx1a_sound_readmem, fx1a_sound_writemem )
+ MDRV_CPU_PROGRAM_MAP( fx1a_sound_map, 0 )
MDRV_MACHINE_RESET( coh1000ta )
MDRV_NVRAM_HANDLER( coh1000ta )
@@ -2752,7 +2738,7 @@ static MACHINE_DRIVER_START( coh1002ml )
MDRV_IMPORT_FROM( zn1_2mb_vram )
MDRV_CPU_ADD( Z80, 8000000 )
- MDRV_CPU_PROGRAM_MAP( link_readmem, link_writemem )
+ MDRV_CPU_PROGRAM_MAP( link_map, 0 )
MDRV_MACHINE_RESET( coh1002m )
MDRV_NVRAM_HANDLER( at28c16_0 )