mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
A few more memory map merges.
This commit is contained in:
parent
2a869f8673
commit
859f894aa2
@ -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)
|
||||
|
||||
|
@ -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 */
|
||||
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)
|
||||
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_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)
|
||||
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)
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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 */
|
||||
|
Loading…
Reference in New Issue
Block a user