summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Andrew Gardner <andrew-gardner@users.noreply.github.com>2008-03-31 04:52:41 +0000
committer Andrew Gardner <andrew-gardner@users.noreply.github.com>2008-03-31 04:52:41 +0000
commit859f894aa252a86daefb7068d40362f3acfae6a6 (patch)
treef39cd819cd99102d49db4fcfddfa63bc5a1c0513
parent2a869f86731cbe19a86842f9a85943884037f1d4 (diff)
A few more memory map merges.
-rw-r--r--src/mame/drivers/videopin.c26
-rw-r--r--src/mame/drivers/vigilant.c161
-rw-r--r--src/mame/drivers/volfied.c59
-rw-r--r--src/mame/drivers/vulgus.c40
4 files changed, 93 insertions, 193 deletions
diff --git a/src/mame/drivers/videopin.c b/src/mame/drivers/videopin.c
index 8db1f7cecd4..f44a124c68f 100644
--- a/src/mame/drivers/videopin.c
+++ b/src/mame/drivers/videopin.c
@@ -192,30 +192,22 @@ static WRITE8_HANDLER( videopin_note_dvsr_w )
*
*************************************/
-static ADDRESS_MAP_START( videopin_readmem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x07ff) AM_READ(SMH_RAM)
- AM_RANGE(0x0800, 0x0800) AM_READ(videopin_misc_r)
- AM_RANGE(0x1000, 0x1000) AM_READ(input_port_0_r)
- AM_RANGE(0x1800, 0x1800) AM_READ(input_port_1_r)
- AM_RANGE(0x2000, 0x3fff) AM_READ(SMH_ROM)
- AM_RANGE(0xe000, 0xffff) AM_READ(SMH_ROM) /* mirror for 6502 vectors */
-ADDRESS_MAP_END
-
-
-static ADDRESS_MAP_START( videopin_writemem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x01ff) AM_WRITE(SMH_RAM)
- AM_RANGE(0x0200, 0x07ff) AM_WRITE(videopin_video_ram_w) AM_BASE(&videopin_video_ram)
- AM_RANGE(0x0800, 0x0800) AM_WRITE(videopin_note_dvsr_w)
+static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x01ff) AM_RAM
+ AM_RANGE(0x0200, 0x07ff) AM_RAM AM_WRITE(videopin_video_ram_w) AM_BASE(&videopin_video_ram)
+ AM_RANGE(0x0800, 0x0800) AM_READWRITE(videopin_misc_r, videopin_note_dvsr_w)
AM_RANGE(0x0801, 0x0801) AM_WRITE(videopin_led_w)
AM_RANGE(0x0802, 0x0802) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x0804, 0x0804) AM_WRITE(videopin_ball_w)
AM_RANGE(0x0805, 0x0805) AM_WRITE(videopin_out1_w)
AM_RANGE(0x0806, 0x0806) AM_WRITE(videopin_out2_w)
- AM_RANGE(0x2000, 0x3fff) AM_WRITE(SMH_ROM)
+ AM_RANGE(0x1000, 0x1000) AM_READ(input_port_0_r)
+ AM_RANGE(0x1800, 0x1800) AM_READ(input_port_1_r)
+ AM_RANGE(0x2000, 0x3fff) AM_ROM
+ AM_RANGE(0xe000, 0xffff) AM_READ(SMH_ROM) /* mirror for 6502 vectors */
ADDRESS_MAP_END
-
/*************************************
*
* Port definitions
@@ -331,7 +323,7 @@ static MACHINE_DRIVER_START( videopin )
/* basic machine hardware */
MDRV_CPU_ADD(M6502, 12096000 / 16)
- MDRV_CPU_PROGRAM_MAP(videopin_readmem, videopin_writemem)
+ MDRV_CPU_PROGRAM_MAP(main_map,0)
MDRV_MACHINE_RESET(videopin)
diff --git a/src/mame/drivers/vigilant.c b/src/mame/drivers/vigilant.c
index 4a2800ad64d..87e11b1fcbf 100644
--- a/src/mame/drivers/vigilant.c
+++ b/src/mame/drivers/vigilant.c
@@ -70,132 +70,73 @@ static WRITE8_HANDLER( kikcubic_coin_w )
-static ADDRESS_MAP_START( vigilant_readmem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
- AM_RANGE(0x8000, 0xbfff) AM_READ(SMH_BANK1)
- AM_RANGE(0xc020, 0xc0df) AM_READ(SMH_RAM)
- AM_RANGE(0xc800, 0xcfff) AM_READ(SMH_RAM)
- AM_RANGE(0xd000, 0xdfff) AM_READ(SMH_RAM)
- AM_RANGE(0xe000, 0xefff) AM_READ(SMH_RAM)
+static ADDRESS_MAP_START( vigilant_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x8000, 0xbfff) AM_READ(SMH_BANK1) /* Fallthrough */
+ AM_RANGE(0x0000, 0xbfff) AM_ROM
+ AM_RANGE(0xc020, 0xc0df) AM_RAM AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xc800, 0xcfff) AM_RAM AM_WRITE(vigilant_paletteram_w) AM_BASE(&paletteram)
+ AM_RANGE(0xd000, 0xdfff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xe000, 0xefff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( vigilant_writemem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0xbfff) AM_WRITE(SMH_ROM)
- AM_RANGE(0xc020, 0xc0df) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0xc800, 0xcfff) AM_WRITE(vigilant_paletteram_w) AM_BASE(&paletteram)
- AM_RANGE(0xd000, 0xdfff) AM_WRITE(SMH_RAM) AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0xe000, 0xefff) AM_WRITE(SMH_RAM)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( vigilant_readport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( vigilant_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ(input_port_0_r)
- AM_RANGE(0x01, 0x01) AM_READ(input_port_1_r)
+ AM_RANGE(0x00, 0x00) AM_READWRITE(input_port_0_r, m72_sound_command_byte_w) /* SD */
+ AM_RANGE(0x01, 0x01) AM_READWRITE(input_port_1_r, vigilant_out2_w) /* OUT2 */
AM_RANGE(0x02, 0x02) AM_READ(input_port_2_r)
AM_RANGE(0x03, 0x03) AM_READ(input_port_3_r)
- AM_RANGE(0x04, 0x04) AM_READ(input_port_4_r)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( vigilant_writeport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_WRITE(m72_sound_command_byte_w) /* SD */
- AM_RANGE(0x01, 0x01) AM_WRITE(vigilant_out2_w) /* OUT2 */
- AM_RANGE(0x04, 0x04) AM_WRITE(vigilant_bank_select_w) /* PBANK */
- AM_RANGE(0x80, 0x81) AM_WRITE(vigilant_horiz_scroll_w) /* HSPL, HSPH */
+ AM_RANGE(0x04, 0x04) AM_READWRITE(input_port_4_r, vigilant_bank_select_w) /* PBANK */
+ AM_RANGE(0x80, 0x81) AM_WRITE(vigilant_horiz_scroll_w) /* HSPL, HSPH */
AM_RANGE(0x82, 0x83) AM_WRITE(vigilant_rear_horiz_scroll_w) /* RHSPL, RHSPH */
- AM_RANGE(0x84, 0x84) AM_WRITE(vigilant_rear_color_w) /* RCOD */
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( kikcubic_readmem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
- AM_RANGE(0x8000, 0xbfff) AM_READ(SMH_BANK1)
- AM_RANGE(0xc000, 0xc0ff) AM_READ(SMH_RAM)
- AM_RANGE(0xc800, 0xcaff) AM_READ(SMH_RAM)
- AM_RANGE(0xd000, 0xdfff) AM_READ(SMH_RAM)
- AM_RANGE(0xe000, 0xffff) AM_READ(SMH_RAM)
+ AM_RANGE(0x84, 0x84) AM_WRITE(vigilant_rear_color_w) /* RCOD */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kikcubic_writemem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0xbfff) AM_WRITE(SMH_ROM)
- AM_RANGE(0xc000, 0xc0ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0xc800, 0xcaff) AM_WRITE(vigilant_paletteram_w) AM_BASE(&paletteram)
- AM_RANGE(0xd000, 0xdfff) AM_WRITE(SMH_RAM) AM_BASE(&videoram) AM_SIZE(&videoram_size)
- AM_RANGE(0xe000, 0xffff) AM_WRITE(SMH_RAM)
+static ADDRESS_MAP_START( kikcubic_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x8000, 0xbfff) AM_READ(SMH_BANK1) /* Fallthrough */
+ AM_RANGE(0x0000, 0xbfff) AM_ROM
+ AM_RANGE(0xc000, 0xc0ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xc800, 0xcaff) AM_RAM AM_WRITE(vigilant_paletteram_w) AM_BASE(&paletteram)
+ AM_RANGE(0xd000, 0xdfff) AM_RAM AM_WRITE(SMH_RAM) AM_BASE(&videoram) AM_SIZE(&videoram_size)
+ AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kikcubic_readport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( kikcubic_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ(input_port_3_r)
+ AM_RANGE(0x00, 0x00) AM_READWRITE(input_port_3_r, kikcubic_coin_w) /* also flip screen, and...? */
AM_RANGE(0x01, 0x01) AM_READ(input_port_4_r)
AM_RANGE(0x02, 0x02) AM_READ(input_port_0_r)
AM_RANGE(0x03, 0x03) AM_READ(input_port_1_r)
- AM_RANGE(0x04, 0x04) AM_READ(input_port_2_r)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( kikcubic_writeport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_WRITE(kikcubic_coin_w) /* also flip screen, and...? */
- AM_RANGE(0x04, 0x04) AM_WRITE(vigilant_bank_select_w)
+ AM_RANGE(0x04, 0x04) AM_READWRITE(input_port_2_r, vigilant_bank_select_w)
AM_RANGE(0x06, 0x06) AM_WRITE(m72_sound_command_byte_w)
-// AM_RANGE(0x07, 0x07) AM_WRITE(SMH_NOP) /* ?? */
+// AM_RANGE(0x07, 0x07) AM_WRITE(SMH_NOP) /* ?? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0xbfff) AM_READ(SMH_ROM)
- AM_RANGE(0xf000, 0xffff) AM_READ(SMH_RAM)
+static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0xbfff) AM_ROM
+ AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0xbfff) AM_WRITE(SMH_ROM)
- AM_RANGE(0xf000, 0xffff) AM_WRITE(SMH_RAM)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( sound_readport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x01, 0x01) AM_READ(YM2151_status_port_0_r)
- AM_RANGE(0x80, 0x80) AM_READ(soundlatch_r) /* SDRE */
- AM_RANGE(0x84, 0x84) AM_READ(m72_sample_r) /* S ROM C */
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( sound_writeport, 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(YM2151_register_port_0_w)
- AM_RANGE(0x01, 0x01) AM_WRITE(YM2151_data_port_0_w)
- AM_RANGE(0x80, 0x81) AM_WRITE(vigilant_sample_addr_w) /* STL / STH */
+ AM_RANGE(0x01, 0x01) AM_READWRITE(YM2151_status_port_0_r, YM2151_data_port_0_w)
+ AM_RANGE(0x80, 0x81) AM_READWRITE(soundlatch_r, vigilant_sample_addr_w) /* STL / STH */
AM_RANGE(0x82, 0x82) AM_WRITE(m72_sample_w) /* COUNT UP */
AM_RANGE(0x83, 0x83) AM_WRITE(m72_sound_irq_ack_w) /* IRQ clear */
-ADDRESS_MAP_END
-
-
-static ADDRESS_MAP_START( buccanrs_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0xbfff) AM_READ(SMH_ROM)
- AM_RANGE(0xf000, 0xffff) AM_READ(SMH_RAM)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( buccanrs_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0xbfff) AM_WRITE(SMH_ROM)
- AM_RANGE(0xf000, 0xffff) AM_WRITE(SMH_RAM)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( buccanrs_sound_readport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ(YM2203_status_port_0_r)
- AM_RANGE(0x01, 0x01) AM_READ(YM2203_read_port_0_r)
- AM_RANGE(0x02, 0x02) AM_READ(YM2203_status_port_1_r)
- AM_RANGE(0x03, 0x03) AM_READ(YM2203_read_port_1_r)
- AM_RANGE(0x80, 0x80) AM_READ(soundlatch_r) /* SDRE */
AM_RANGE(0x84, 0x84) AM_READ(m72_sample_r) /* S ROM C */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( buccanrs_sound_writeport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( buccanrs_sound_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_WRITE(YM2203_control_port_0_w)
- AM_RANGE(0x01, 0x01) AM_WRITE(YM2203_write_port_0_w)
- AM_RANGE(0x02, 0x02) AM_WRITE(YM2203_control_port_1_w)
- AM_RANGE(0x03, 0x03) AM_WRITE(YM2203_write_port_1_w)
+ AM_RANGE(0x00, 0x00) AM_READWRITE(YM2203_status_port_0_r, YM2203_control_port_0_w)
+ AM_RANGE(0x01, 0x01) AM_READWRITE(YM2203_read_port_0_r, YM2203_write_port_0_w)
+ AM_RANGE(0x02, 0x02) AM_READWRITE(YM2203_status_port_1_r, YM2203_control_port_1_w)
+ AM_RANGE(0x03, 0x03) AM_READWRITE(YM2203_read_port_1_r, YM2203_write_port_1_w)
+ AM_RANGE(0x80, 0x80) AM_READ(soundlatch_r) /* SDRE */
AM_RANGE(0x80, 0x81) AM_WRITE(vigilant_sample_addr_w) /* STL / STH */
- AM_RANGE(0x82, 0x82) AM_WRITE(m72_sample_w) /* COUNT UP */
- AM_RANGE(0x83, 0x83) AM_WRITE(m72_sound_irq_ack_w) /* IRQ clear */
+ AM_RANGE(0x82, 0x82) AM_WRITE(m72_sample_w) /* COUNT UP */
+ AM_RANGE(0x83, 0x83) AM_WRITE(m72_sound_irq_ack_w) /* IRQ clear */
+ AM_RANGE(0x84, 0x84) AM_READ(m72_sample_r) /* S ROM C */
ADDRESS_MAP_END
@@ -583,14 +524,14 @@ static MACHINE_DRIVER_START( vigilant )
/* basic machine hardware */
MDRV_CPU_ADD(Z80, 3579645) /* 3.579645 MHz */
- MDRV_CPU_PROGRAM_MAP(vigilant_readmem,vigilant_writemem)
- MDRV_CPU_IO_MAP(vigilant_readport,vigilant_writeport)
+ MDRV_CPU_PROGRAM_MAP(vigilant_map,0)
+ MDRV_CPU_IO_MAP(vigilant_io_map,0)
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
MDRV_CPU_ADD(Z80, 3579645)
/* audio CPU */ /* 3.579645 MHz */
- 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)
MDRV_CPU_VBLANK_INT_HACK(nmi_line_pulse,128) /* clocked by V1 */
/* IRQs are generated by main Z80 and YM2151 */
MDRV_MACHINE_RESET(m72_sound)
@@ -626,14 +567,14 @@ static MACHINE_DRIVER_START( buccanrs )
/* basic machine hardware */
MDRV_CPU_ADD(Z80, 5688800) /* 5.688800 MHz */
- MDRV_CPU_PROGRAM_MAP(vigilant_readmem,vigilant_writemem)
- MDRV_CPU_IO_MAP(vigilant_readport,vigilant_writeport)
+ MDRV_CPU_PROGRAM_MAP(vigilant_map,0)
+ MDRV_CPU_IO_MAP(vigilant_io_map,0)
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
MDRV_CPU_ADD(Z80, 18432000/6)
/* audio CPU */ /* 3.072000 MHz */
- MDRV_CPU_PROGRAM_MAP(buccanrs_sound_readmem,buccanrs_sound_writemem)
- MDRV_CPU_IO_MAP(buccanrs_sound_readport,buccanrs_sound_writeport)
+ MDRV_CPU_PROGRAM_MAP(sound_map,0)
+ MDRV_CPU_IO_MAP(buccanrs_sound_io_map,0)
MDRV_CPU_VBLANK_INT_HACK(nmi_line_pulse,128) /* clocked by V1 */
/* IRQs are generated by main Z80 and YM2151 */
MDRV_MACHINE_RESET(m72_sound)
@@ -685,14 +626,14 @@ static MACHINE_DRIVER_START( kikcubic )
/* basic machine hardware */
MDRV_CPU_ADD(Z80, 3579645) /* 3.579645 MHz */
- MDRV_CPU_PROGRAM_MAP(kikcubic_readmem,kikcubic_writemem)
- MDRV_CPU_IO_MAP(kikcubic_readport,kikcubic_writeport)
+ MDRV_CPU_PROGRAM_MAP(kikcubic_map,0)
+ MDRV_CPU_IO_MAP(kikcubic_io_map,0)
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
MDRV_CPU_ADD(Z80, 3579645)
/* audio CPU */ /* 3.579645 MHz */
- 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)
MDRV_CPU_VBLANK_INT_HACK(nmi_line_pulse,128) /* clocked by V1 */
/* IRQs are generated by main Z80 and YM2151 */
MDRV_MACHINE_RESET(m72_sound)
diff --git a/src/mame/drivers/volfied.c b/src/mame/drivers/volfied.c
index 9110dd7ddb7..d35d12e3a85 100644
--- a/src/mame/drivers/volfied.c
+++ b/src/mame/drivers/volfied.c
@@ -68,51 +68,30 @@ VIDEO_START( volfied );
MEMORY STRUCTURES
***********************************************************/
-static ADDRESS_MAP_START( volfied_readmem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x03ffff) AM_READ(SMH_ROM) /* program */
- AM_RANGE(0x080000, 0x0fffff) AM_READ(SMH_ROM) /* tiles */
- AM_RANGE(0x100000, 0x103fff) AM_READ(SMH_RAM) /* main */
- AM_RANGE(0x200000, 0x203fff) AM_READ(PC090OJ_word_0_r)
- AM_RANGE(0x400000, 0x47ffff) AM_READ(volfied_video_ram_r)
- AM_RANGE(0x500000, 0x503fff) AM_READ(SMH_RAM)
- AM_RANGE(0xd00000, 0xd00001) AM_READ(volfied_video_ctrl_r)
- AM_RANGE(0xe00002, 0xe00003) AM_READ(taitosound_comm16_lsb_r)
- AM_RANGE(0xf00000, 0xf007ff) AM_READ(volfied_cchip_ram_r)
- AM_RANGE(0xf00802, 0xf00803) AM_READ(volfied_cchip_ctrl_r)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( volfied_writemem, ADDRESS_SPACE_PROGRAM, 16 )
- AM_RANGE(0x000000, 0x03ffff) AM_WRITE(SMH_ROM) /* program */
- AM_RANGE(0x080000, 0x0fffff) AM_WRITE(SMH_ROM) /* tiles */
- AM_RANGE(0x100000, 0x103fff) AM_WRITE(SMH_RAM) /* main */
- AM_RANGE(0x200000, 0x203fff) AM_WRITE(PC090OJ_word_0_w)
- AM_RANGE(0x400000, 0x47ffff) AM_WRITE(volfied_video_ram_w)
- AM_RANGE(0x500000, 0x503fff) AM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
+static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
+ AM_RANGE(0x000000, 0x03ffff) AM_ROM /* program */
+ AM_RANGE(0x080000, 0x0fffff) AM_ROM /* tiles */
+ AM_RANGE(0x100000, 0x103fff) AM_RAM /* main */
+ AM_RANGE(0x200000, 0x203fff) AM_READWRITE(PC090OJ_word_0_r, PC090OJ_word_0_w)
+ AM_RANGE(0x400000, 0x47ffff) AM_READWRITE(volfied_video_ram_r, volfied_video_ram_w)
+ AM_RANGE(0x500000, 0x503fff) AM_RAM AM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
AM_RANGE(0x600000, 0x600001) AM_WRITE(volfied_video_mask_w)
AM_RANGE(0x700000, 0x700001) AM_WRITE(volfied_sprite_ctrl_w)
- AM_RANGE(0xd00000, 0xd00001) AM_WRITE(volfied_video_ctrl_w)
+ AM_RANGE(0xd00000, 0xd00001) AM_READWRITE(volfied_video_ctrl_r, volfied_video_ctrl_w)
AM_RANGE(0xe00000, 0xe00001) AM_WRITE(taitosound_port16_lsb_w)
- AM_RANGE(0xe00002, 0xe00003) AM_WRITE(taitosound_comm16_lsb_w)
- AM_RANGE(0xf00000, 0xf007ff) AM_WRITE(volfied_cchip_ram_w)
- AM_RANGE(0xf00802, 0xf00803) AM_WRITE(volfied_cchip_ctrl_w)
+ AM_RANGE(0xe00002, 0xe00003) AM_READWRITE(taitosound_comm16_lsb_r, taitosound_comm16_lsb_w)
+ AM_RANGE(0xf00000, 0xf007ff) AM_READWRITE(volfied_cchip_ram_r, volfied_cchip_ram_w)
+ AM_RANGE(0xf00802, 0xf00803) AM_READWRITE(volfied_cchip_ctrl_r, volfied_cchip_ctrl_w)
AM_RANGE(0xf00c00, 0xf00c01) AM_WRITE(volfied_cchip_bank_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( z80_readmem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
- AM_RANGE(0x8000, 0x87ff) AM_READ(SMH_RAM)
- AM_RANGE(0x8801, 0x8801) AM_READ(taitosound_slave_comm_r)
- AM_RANGE(0x9000, 0x9000) AM_READ(YM2203_status_port_0_r)
- AM_RANGE(0x9001, 0x9001) AM_READ(YM2203_read_port_0_r)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( z80_writemem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM)
- AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM)
+static ADDRESS_MAP_START( z80_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x7fff) AM_ROM
+ AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8800) AM_WRITE(taitosound_slave_port_w)
- AM_RANGE(0x8801, 0x8801) AM_WRITE(taitosound_slave_comm_w)
- AM_RANGE(0x9000, 0x9000) AM_WRITE(YM2203_control_port_0_w)
- AM_RANGE(0x9001, 0x9001) AM_WRITE(YM2203_write_port_0_w)
+ AM_RANGE(0x8801, 0x8801) AM_READWRITE(taitosound_slave_comm_r, taitosound_slave_comm_w)
+ AM_RANGE(0x9000, 0x9000) AM_READWRITE(YM2203_status_port_0_r, YM2203_control_port_0_w)
+ AM_RANGE(0x9001, 0x9001) AM_READWRITE(YM2203_read_port_0_r, YM2203_write_port_0_w)
AM_RANGE(0x9800, 0x9800) AM_WRITE(SMH_NOP) /* ? */
ADDRESS_MAP_END
@@ -264,11 +243,11 @@ static MACHINE_DRIVER_START( volfied )
/* basic machine hardware */
MDRV_CPU_ADD(M68000, 8000000) /* 8MHz */
- MDRV_CPU_PROGRAM_MAP(volfied_readmem,volfied_writemem)
+ MDRV_CPU_PROGRAM_MAP(main_map,0)
MDRV_CPU_VBLANK_INT("main", irq4_line_hold)
MDRV_CPU_ADD(Z80, 4000000) /* sound CPU, required to run the game */
- MDRV_CPU_PROGRAM_MAP(z80_readmem,z80_writemem)
+ MDRV_CPU_PROGRAM_MAP(z80_map,0)
MDRV_INTERLEAVE(20)
diff --git a/src/mame/drivers/vulgus.c b/src/mame/drivers/vulgus.c
index 2ccafc227c2..56a44563840 100644
--- a/src/mame/drivers/vulgus.c
+++ b/src/mame/drivers/vulgus.c
@@ -67,40 +67,29 @@ static INTERRUPT_GEN( vulgus_interrupt )
}
-
-static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x9fff) AM_READ(SMH_ROM)
+static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xc000, 0xc000) AM_READ(input_port_0_r)
AM_RANGE(0xc001, 0xc001) AM_READ(input_port_1_r)
AM_RANGE(0xc002, 0xc002) AM_READ(input_port_2_r)
AM_RANGE(0xc003, 0xc003) AM_READ(input_port_3_r)
AM_RANGE(0xc004, 0xc004) AM_READ(input_port_4_r)
- AM_RANGE(0xd000, 0xefff) AM_READ(SMH_RAM)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x9fff) AM_WRITE(SMH_ROM)
AM_RANGE(0xc800, 0xc800) AM_WRITE(soundlatch_w)
- AM_RANGE(0xc802, 0xc803) AM_WRITE(SMH_RAM) AM_BASE(&vulgus_scroll_low)
+ AM_RANGE(0xc802, 0xc803) AM_RAM AM_BASE(&vulgus_scroll_low)
AM_RANGE(0xc804, 0xc804) AM_WRITE(vulgus_c804_w)
AM_RANGE(0xc805, 0xc805) AM_WRITE(vulgus_palette_bank_w)
- AM_RANGE(0xc902, 0xc903) AM_WRITE(SMH_RAM) AM_BASE(&vulgus_scroll_high)
- AM_RANGE(0xcc00, 0xcc7f) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
- AM_RANGE(0xd000, 0xd7ff) AM_WRITE(vulgus_fgvideoram_w) AM_BASE(&vulgus_fgvideoram)
- AM_RANGE(0xd800, 0xdfff) AM_WRITE(vulgus_bgvideoram_w) AM_BASE(&vulgus_bgvideoram)
- AM_RANGE(0xe000, 0xefff) AM_WRITE(SMH_RAM)
+ AM_RANGE(0xc902, 0xc903) AM_RAM AM_BASE(&vulgus_scroll_high)
+ AM_RANGE(0xcc00, 0xcc7f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_WRITE(vulgus_fgvideoram_w) AM_BASE(&vulgus_fgvideoram)
+ AM_RANGE(0xd800, 0xdfff) AM_RAM AM_WRITE(vulgus_bgvideoram_w) AM_BASE(&vulgus_bgvideoram)
+ AM_RANGE(0xe000, 0xefff) AM_RAM
ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x1fff) AM_READ(SMH_ROM)
- AM_RANGE(0x4000, 0x47ff) AM_READ(SMH_RAM)
- AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_r)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x1fff) AM_WRITE(SMH_ROM)
+static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x1fff) AM_ROM
+ AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x4000, 0x47ff) AM_WRITE(SMH_RAM)
+ AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_r)
AM_RANGE(0x8000, 0x8000) AM_WRITE(AY8910_control_port_0_w)
AM_RANGE(0x8001, 0x8001) AM_WRITE(AY8910_write_port_0_w)
AM_RANGE(0xc000, 0xc000) AM_WRITE(AY8910_control_port_1_w)
@@ -108,7 +97,6 @@ static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_END
-
static INPUT_PORTS_START( vulgus )
PORT_START /* IN0 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
@@ -247,12 +235,12 @@ static MACHINE_DRIVER_START( vulgus )
/* basic machine hardware */
MDRV_CPU_ADD(Z80, 4000000) /* 4 MHz (?) */
- MDRV_CPU_PROGRAM_MAP(readmem,writemem)
+ MDRV_CPU_PROGRAM_MAP(main_map,0)
MDRV_CPU_VBLANK_INT_HACK(vulgus_interrupt,2)
MDRV_CPU_ADD(Z80, 3000000)
/* audio CPU */ /* 3 MHz ??? */
- MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem)
+ MDRV_CPU_PROGRAM_MAP(sound_map,0)
MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,8)
/* video hardware */