diff options
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 |
commit | 859f894aa252a86daefb7068d40362f3acfae6a6 (patch) | |
tree | f39cd819cd99102d49db4fcfddfa63bc5a1c0513 | |
parent | 2a869f86731cbe19a86842f9a85943884037f1d4 (diff) |
A few more memory map merges.
-rw-r--r-- | src/mame/drivers/videopin.c | 26 | ||||
-rw-r--r-- | src/mame/drivers/vigilant.c | 161 | ||||
-rw-r--r-- | src/mame/drivers/volfied.c | 59 | ||||
-rw-r--r-- | src/mame/drivers/vulgus.c | 40 |
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 */ |