mirror of
https://github.com/holub/mame
synced 2025-07-05 18:08:04 +03:00
Merged memory maps for the following drivers: [MooglyGuy]
- cave.c, circusc.c, citycon.c, cninja.c, combatsc.c, compgolf.c, contra.c, cop01.c, cosmic.c, cps2.c, crimfght.c, crospang.c, crshrace.c, and cshooter.c All drivers from # to C should now have properly-merged memory maps.
This commit is contained in:
parent
ad855deca6
commit
87fb810905
File diff suppressed because it is too large
Load Diff
@ -154,23 +154,7 @@ static WRITE8_HANDLER(circusc_sound_w)
|
||||
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x1000, 0x1000) AM_MIRROR(0x03fc) AM_READ_PORT("SYSTEM")
|
||||
AM_RANGE(0x1001, 0x1001) AM_MIRROR(0x03fc) AM_READ_PORT("P1")
|
||||
AM_RANGE(0x1002, 0x1002) AM_MIRROR(0x03fc) AM_READ_PORT("P2")
|
||||
AM_RANGE(0x1003, 0x1003) AM_MIRROR(0x03fc) AM_READNOP /* unpopulated DIPSW 3*/
|
||||
AM_RANGE(0x1400, 0x1400) AM_MIRROR(0x03ff) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0x1800, 0x1800) AM_MIRROR(0x03ff) AM_READ_PORT("DSW2")
|
||||
AM_RANGE(0x2000, 0x2fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x3000, 0x33ff) AM_READ(SMH_RAM) /* colorram */
|
||||
AM_RANGE(0x3400, 0x37ff) AM_READ(SMH_RAM) /* videoram */
|
||||
AM_RANGE(0x3800, 0x38ff) AM_READ(SMH_RAM) /* spriteram2 */
|
||||
AM_RANGE(0x3900, 0x39ff) AM_READ(SMH_RAM) /* spriteram */
|
||||
AM_RANGE(0x3a00, 0x3fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x6000, 0xffff) AM_READ(SMH_ROM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
static ADDRESS_MAP_START( circusc_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x0000) AM_MIRROR(0x03f8) AM_WRITE(circusc_flipscreen_w) /* FLIP */
|
||||
AM_RANGE(0x0001, 0x0001) AM_MIRROR(0x03f8) AM_WRITE(interrupt_enable_w) /* INTST */
|
||||
// AM_RANGE(0x0002, 0x0002) AM_MIRROR(0x03f8) AM_WRITENOP /* MUT - not used /*
|
||||
@ -179,26 +163,27 @@ static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0400, 0x0400) AM_MIRROR(0x03ff) AM_WRITE(watchdog_reset_w) /* WDOG */
|
||||
AM_RANGE(0x0800, 0x0800) AM_MIRROR(0x03ff) AM_WRITE(soundlatch_w) /* SOUND DATA */
|
||||
AM_RANGE(0x0c00, 0x0c00) AM_MIRROR(0x03ff) AM_WRITE(circusc_sh_irqtrigger_w) /* SOUND-ON causes interrupt on audio CPU */
|
||||
AM_RANGE(0x1000, 0x1000) AM_MIRROR(0x03fc) AM_READ_PORT("SYSTEM")
|
||||
AM_RANGE(0x1001, 0x1001) AM_MIRROR(0x03fc) AM_READ_PORT("P1")
|
||||
AM_RANGE(0x1002, 0x1002) AM_MIRROR(0x03fc) AM_READ_PORT("P2")
|
||||
AM_RANGE(0x1003, 0x1003) AM_MIRROR(0x03fc) AM_READNOP /* unpopulated DIPSW 3*/
|
||||
AM_RANGE(0x1400, 0x1400) AM_MIRROR(0x03ff) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0x1800, 0x1800) AM_MIRROR(0x03ff) AM_READ_PORT("DSW2")
|
||||
AM_RANGE(0x1c00, 0x1c00) AM_MIRROR(0x03ff) AM_WRITE(SMH_RAM) AM_BASE(&circusc_scroll) /* VGAP */
|
||||
AM_RANGE(0x2000, 0x2fff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0x3000, 0x33ff) AM_WRITE(circusc_colorram_w) AM_BASE(&circusc_colorram)
|
||||
AM_RANGE(0x3400, 0x37ff) AM_WRITE(circusc_videoram_w) AM_BASE(&circusc_videoram)
|
||||
AM_RANGE(0x3800, 0x38ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram_2)
|
||||
AM_RANGE(0x3900, 0x39ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
|
||||
AM_RANGE(0x3a00, 0x3fff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0x6000, 0xffff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x2000, 0x2fff) AM_RAM
|
||||
AM_RANGE(0x3000, 0x33ff) AM_RAM_WRITE(circusc_colorram_w) AM_BASE(&circusc_colorram) /* colorram */
|
||||
AM_RANGE(0x3400, 0x37ff) AM_RAM_WRITE(circusc_videoram_w) AM_BASE(&circusc_videoram) /* videoram */
|
||||
AM_RANGE(0x3800, 0x38ff) AM_RAM AM_BASE(&spriteram_2) /* spriteram2 */
|
||||
AM_RANGE(0x3900, 0x39ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) /* spriteram */
|
||||
AM_RANGE(0x3a00, 0x3fff) AM_RAM
|
||||
AM_RANGE(0x6000, 0xffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x1c00) AM_READ(SMH_RAM)
|
||||
static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_ROM
|
||||
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x1c00) AM_RAM
|
||||
AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x1fff) AM_READ(soundlatch_r) /* CS0 */
|
||||
AM_RANGE(0x8000, 0x8000) AM_MIRROR(0x1fff) AM_READ(circusc_sh_timer_r) /* CS1 */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x1c00) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0xa000, 0xa07f) AM_MIRROR(0x1f80) AM_WRITE(circusc_sound_w) /* CS2 - CS6 */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -359,12 +344,12 @@ static MACHINE_DRIVER_START( circusc )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M6809, 2048000) /* 2 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(circusc_map,0)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
|
||||
MDRV_WATCHDOG_VBLANK_INIT(8)
|
||||
|
||||
MDRV_CPU_ADD("audiocpu", Z80,14318180/4) /* Z80 Clock is derived from a 14.31818 MHz crystal */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
|
||||
MDRV_MACHINE_START(circusc)
|
||||
MDRV_MACHINE_RESET(circusc)
|
||||
|
@ -30,40 +30,26 @@ static READ8_HANDLER( citycon_in_r )
|
||||
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x1fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x3000, 0x3000) AM_READ(citycon_in_r) /* player 1 & 2 inputs multiplexed */
|
||||
AM_RANGE(0x3001, 0x3001) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0x3002, 0x3002) AM_READ_PORT("DSW2")
|
||||
AM_RANGE(0x3007, 0x3007) AM_READ(watchdog_reset_r) /* ? */
|
||||
AM_RANGE(0x4000, 0xffff) AM_READ(SMH_ROM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x0fff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0x1000, 0x1fff) AM_WRITE(citycon_videoram_w) AM_BASE(&citycon_videoram)
|
||||
static ADDRESS_MAP_START( citycon_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x0fff) AM_RAM
|
||||
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(citycon_videoram_w) AM_BASE(&citycon_videoram)
|
||||
AM_RANGE(0x2000, 0x20ff) AM_WRITE(citycon_linecolor_w) AM_BASE(&citycon_linecolor)
|
||||
AM_RANGE(0x2800, 0x28ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
|
||||
AM_RANGE(0x3000, 0x3000) AM_WRITE(citycon_background_w)
|
||||
AM_RANGE(0x3001, 0x3001) AM_WRITE(soundlatch_w)
|
||||
AM_RANGE(0x3002, 0x3002) AM_WRITE(soundlatch2_w)
|
||||
AM_RANGE(0x3000, 0x3000) AM_READWRITE(citycon_in_r, citycon_background_w) /* player 1 & 2 inputs multiplexed */
|
||||
AM_RANGE(0x3001, 0x3001) AM_READ_PORT("DSW1") AM_WRITE(soundlatch_w)
|
||||
AM_RANGE(0x3002, 0x3002) AM_READ_PORT("DSW2") AM_WRITE(soundlatch2_w)
|
||||
AM_RANGE(0x3004, 0x3005) AM_WRITE(SMH_RAM) AM_BASE(&citycon_scroll)
|
||||
AM_RANGE(0x3007, 0x3007) AM_READ(watchdog_reset_r) /* ? */
|
||||
AM_RANGE(0x3800, 0x3cff) AM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE(&paletteram)
|
||||
AM_RANGE(0x4000, 0xffff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x4000, 0xffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( readmem_sound, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x0fff) AM_READ(SMH_RAM)
|
||||
// AM_RANGE(0x4002, 0x4002) AM_DEVREAD("ay", ay8910_r) /* ?? */
|
||||
AM_RANGE(0x6000, 0x6001) AM_DEVREAD("ym", ym2203_r)
|
||||
AM_RANGE(0x8000, 0xffff) AM_READ(SMH_ROM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( writemem_sound, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x0fff) AM_WRITE(SMH_RAM)
|
||||
static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x0fff) AM_RAM
|
||||
AM_RANGE(0x4000, 0x4001) AM_DEVWRITE("ay", ay8910_address_data_w)
|
||||
AM_RANGE(0x6000, 0x6001) AM_DEVWRITE("ym", ym2203_w)
|
||||
AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM)
|
||||
// AM_RANGE(0x4002, 0x4002) AM_DEVREAD("ay", ay8910_r) /* ?? */
|
||||
AM_RANGE(0x6000, 0x6001) AM_DEVREADWRITE("ym", ym2203_r, ym2203_w)
|
||||
AM_RANGE(0x8000, 0xffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -207,11 +193,11 @@ static MACHINE_DRIVER_START( citycon )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M6809, 2048000) /* 2.048 MHz ??? */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(citycon_map,0)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
|
||||
|
||||
MDRV_CPU_ADD("audiocpu", M6809, 640000) /* 0.640 MHz ??? */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem_sound,writemem_sound)
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
|
||||
|
||||
/* video hardware */
|
||||
|
@ -153,235 +153,146 @@ static READ16_HANDLER( robocop2_prot_r )
|
||||
|
||||
/**********************************************************************************/
|
||||
|
||||
static ADDRESS_MAP_START( cninja_readmem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x0bffff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x144000, 0x144fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x146000, 0x146fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x14e000, 0x14e7ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x154000, 0x154fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x156000, 0x156fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x15c000, 0x15c7ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x15e000, 0x15e7ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x184000, 0x187fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x190000, 0x190007) AM_READ(cninja_irq_r)
|
||||
AM_RANGE(0x19c000, 0x19dfff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x1a4000, 0x1a47ff) AM_READ(SMH_RAM) /* Sprites */
|
||||
AM_RANGE(0x1bc000, 0x1bcfff) AM_READ(deco16_104_cninja_prot_r) /* Protection device */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( cninja_writemem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x0bffff) AM_WRITE(SMH_ROM)
|
||||
static ADDRESS_MAP_START( cninja_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x0bffff) AM_ROM
|
||||
|
||||
AM_RANGE(0x140000, 0x14000f) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf12_control)
|
||||
AM_RANGE(0x144000, 0x144fff) AM_WRITE(deco16_pf1_data_w) AM_BASE(&deco16_pf1_data)
|
||||
AM_RANGE(0x146000, 0x146fff) AM_WRITE(deco16_pf2_data_w) AM_BASE(&deco16_pf2_data)
|
||||
AM_RANGE(0x144000, 0x144fff) AM_RAM_WRITE(deco16_pf1_data_w) AM_BASE(&deco16_pf1_data)
|
||||
AM_RANGE(0x146000, 0x146fff) AM_RAM_WRITE(deco16_pf2_data_w) AM_BASE(&deco16_pf2_data)
|
||||
AM_RANGE(0x14c000, 0x14c7ff) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf1_rowscroll)
|
||||
AM_RANGE(0x14e000, 0x14e7ff) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf2_rowscroll)
|
||||
AM_RANGE(0x14e000, 0x14e7ff) AM_RAM AM_BASE(&deco16_pf2_rowscroll)
|
||||
|
||||
AM_RANGE(0x150000, 0x15000f) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf34_control)
|
||||
AM_RANGE(0x154000, 0x154fff) AM_WRITE(deco16_pf3_data_w) AM_BASE(&deco16_pf3_data)
|
||||
AM_RANGE(0x156000, 0x156fff) AM_WRITE(deco16_pf4_data_w) AM_BASE(&deco16_pf4_data)
|
||||
AM_RANGE(0x15c000, 0x15c7ff) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf3_rowscroll)
|
||||
AM_RANGE(0x15e000, 0x15e7ff) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf4_rowscroll)
|
||||
AM_RANGE(0x154000, 0x154fff) AM_RAM_WRITE(deco16_pf3_data_w) AM_BASE(&deco16_pf3_data)
|
||||
AM_RANGE(0x156000, 0x156fff) AM_RAM_WRITE(deco16_pf4_data_w) AM_BASE(&deco16_pf4_data)
|
||||
AM_RANGE(0x15c000, 0x15c7ff) AM_RAM AM_BASE(&deco16_pf3_rowscroll)
|
||||
AM_RANGE(0x15e000, 0x15e7ff) AM_RAM AM_BASE(&deco16_pf4_rowscroll)
|
||||
|
||||
AM_RANGE(0x184000, 0x187fff) AM_WRITE(SMH_RAM) AM_BASE(&cninja_ram) /* Main ram */
|
||||
AM_RANGE(0x190000, 0x190007) AM_WRITE(cninja_irq_w)
|
||||
AM_RANGE(0x19c000, 0x19dfff) AM_WRITE(deco16_nonbuffered_palette_w) AM_BASE(&paletteram16)
|
||||
AM_RANGE(0x1a4000, 0x1a47ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
|
||||
AM_RANGE(0x184000, 0x187fff) AM_RAM AM_BASE(&cninja_ram)
|
||||
AM_RANGE(0x190000, 0x190007) AM_READWRITE(cninja_irq_r, cninja_irq_w)
|
||||
AM_RANGE(0x19c000, 0x19dfff) AM_RAM_WRITE(deco16_nonbuffered_palette_w) AM_BASE(&paletteram16)
|
||||
|
||||
AM_RANGE(0x1a4000, 0x1a47ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* Sprites */
|
||||
AM_RANGE(0x1b4000, 0x1b4001) AM_WRITE(buffer_spriteram16_w) /* DMA flag */
|
||||
AM_RANGE(0x1bc000, 0x1bc0ff) AM_WRITE(deco16_104_cninja_prot_w) AM_BASE(&deco16_prot_ram) /* Protection writes */
|
||||
AM_RANGE(0x1bc000, 0x1bc0ff) AM_WRITE(deco16_104_cninja_prot_w) AM_BASE(&deco16_prot_ram) /* Protection writes */
|
||||
AM_RANGE(0x1bc000, 0x1bcfff) AM_READ(deco16_104_cninja_prot_r) AM_BASE(&deco16_prot_ram) /* Protection device */
|
||||
|
||||
AM_RANGE(0x308000, 0x308fff) AM_WRITENOP /* Bootleg only */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( edrandy_readmem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x144000, 0x144fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x144000, 0x144fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x146000, 0x146fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x14c000, 0x14c7ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x14e000, 0x14e7ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x154000, 0x154fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x156000, 0x156fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x15c000, 0x15c7ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x15e000, 0x15e7ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x188000, 0x189fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x194000, 0x197fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x198000, 0x1987ff) AM_READ(deco16_60_prot_r) /* Protection device */
|
||||
AM_RANGE(0x1a4000, 0x1a4007) AM_READ(cninja_irq_r)
|
||||
AM_RANGE(0x1bc000, 0x1bc7ff) AM_READ(SMH_RAM) /* Sprites */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( edrandy_writemem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_WRITE(SMH_ROM)
|
||||
static ADDRESS_MAP_START( edrandy_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_ROM
|
||||
|
||||
AM_RANGE(0x140000, 0x14000f) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf12_control)
|
||||
AM_RANGE(0x144000, 0x144fff) AM_WRITE(deco16_pf1_data_w) AM_BASE(&deco16_pf1_data)
|
||||
AM_RANGE(0x146000, 0x146fff) AM_WRITE(deco16_pf2_data_w) AM_BASE(&deco16_pf2_data)
|
||||
AM_RANGE(0x14c000, 0x14c7ff) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf1_rowscroll)
|
||||
AM_RANGE(0x14e000, 0x14e7ff) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf2_rowscroll)
|
||||
AM_RANGE(0x144000, 0x144fff) AM_RAM_WRITE(deco16_pf1_data_w) AM_BASE(&deco16_pf1_data)
|
||||
AM_RANGE(0x146000, 0x146fff) AM_RAM_WRITE(deco16_pf2_data_w) AM_BASE(&deco16_pf2_data)
|
||||
AM_RANGE(0x14c000, 0x14c7ff) AM_RAM AM_BASE(&deco16_pf1_rowscroll)
|
||||
AM_RANGE(0x14e000, 0x14e7ff) AM_RAM AM_BASE(&deco16_pf2_rowscroll)
|
||||
|
||||
AM_RANGE(0x150000, 0x15000f) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf34_control)
|
||||
AM_RANGE(0x154000, 0x154fff) AM_WRITE(deco16_pf3_data_w) AM_BASE(&deco16_pf3_data)
|
||||
AM_RANGE(0x156000, 0x156fff) AM_WRITE(deco16_pf4_data_w) AM_BASE(&deco16_pf4_data)
|
||||
AM_RANGE(0x15c000, 0x15c7ff) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf3_rowscroll)
|
||||
AM_RANGE(0x15e000, 0x15e7ff) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf4_rowscroll)
|
||||
AM_RANGE(0x154000, 0x154fff) AM_RAM_WRITE(deco16_pf3_data_w) AM_BASE(&deco16_pf3_data)
|
||||
AM_RANGE(0x156000, 0x156fff) AM_RAM_WRITE(deco16_pf4_data_w) AM_BASE(&deco16_pf4_data)
|
||||
AM_RANGE(0x15c000, 0x15c7ff) AM_RAM AM_BASE(&deco16_pf3_rowscroll)
|
||||
AM_RANGE(0x15e000, 0x15e7ff) AM_RAM AM_BASE(&deco16_pf4_rowscroll)
|
||||
|
||||
AM_RANGE(0x188000, 0x189fff) AM_WRITE(deco16_nonbuffered_palette_w) AM_BASE(&paletteram16)
|
||||
AM_RANGE(0x194000, 0x197fff) AM_WRITE(SMH_RAM) AM_BASE(&cninja_ram) /* Main ram */
|
||||
AM_RANGE(0x198000, 0x1987ff) AM_WRITE(deco16_60_prot_w) AM_BASE(&deco16_prot_ram) /* Protection writes */
|
||||
AM_RANGE(0x188000, 0x189fff) AM_RAM_WRITE(deco16_nonbuffered_palette_w) AM_BASE(&paletteram16)
|
||||
AM_RANGE(0x194000, 0x197fff) AM_RAM AM_BASE(&cninja_ram) /* Main ram */
|
||||
AM_RANGE(0x198000, 0x1987ff) AM_READWRITE(deco16_60_prot_r, deco16_60_prot_w) AM_BASE(&deco16_prot_ram) /* Protection device */
|
||||
AM_RANGE(0x199550, 0x199551) AM_WRITENOP /* Looks like a bug in game code, a protection write is referenced off a5 instead of a6 and ends up here */
|
||||
AM_RANGE(0x199750, 0x199751) AM_WRITENOP /* Looks like a bug in game code, a protection write is referenced off a5 instead of a6 and ends up here */
|
||||
|
||||
AM_RANGE(0x1a4000, 0x1a4007) AM_WRITE(cninja_irq_w)
|
||||
AM_RANGE(0x1a4000, 0x1a4007) AM_READWRITE(cninja_irq_r, cninja_irq_w)
|
||||
AM_RANGE(0x1ac000, 0x1ac001) AM_WRITE(buffer_spriteram16_w) /* DMA flag */
|
||||
AM_RANGE(0x1bc000, 0x1bc7ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
|
||||
AM_RANGE(0x1bc000, 0x1bc7ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* Sprites */
|
||||
AM_RANGE(0x1bc800, 0x1bcfff) AM_WRITENOP /* Another bug in game code? Sprite list can overrun. Doesn't seem to mirror */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( robocop2_readmem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x180000, 0x1807ff) AM_READ(SMH_RAM)
|
||||
static ADDRESS_MAP_START( robocop2_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_ROM
|
||||
|
||||
AM_RANGE(0x140000, 0x14000f) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf12_control)
|
||||
AM_RANGE(0x144000, 0x144fff) AM_RAM_WRITE(deco16_pf1_data_w) AM_BASE(&deco16_pf1_data)
|
||||
AM_RANGE(0x146000, 0x146fff) AM_RAM_WRITE(deco16_pf2_data_w) AM_BASE(&deco16_pf2_data)
|
||||
AM_RANGE(0x14c000, 0x14c7ff) AM_RAM AM_BASE(&deco16_pf1_rowscroll)
|
||||
AM_RANGE(0x14e000, 0x14e7ff) AM_RAM AM_BASE(&deco16_pf2_rowscroll)
|
||||
|
||||
AM_RANGE(0x150000, 0x15000f) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf34_control)
|
||||
AM_RANGE(0x154000, 0x154fff) AM_RAM_WRITE(deco16_pf3_data_w) AM_BASE(&deco16_pf3_data)
|
||||
AM_RANGE(0x156000, 0x156fff) AM_RAM_WRITE(deco16_pf4_data_w) AM_BASE(&deco16_pf4_data)
|
||||
AM_RANGE(0x15c000, 0x15c7ff) AM_RAM AM_BASE(&deco16_pf3_rowscroll)
|
||||
AM_RANGE(0x15e000, 0x15e7ff) AM_RAM AM_BASE(&deco16_pf4_rowscroll)
|
||||
|
||||
AM_RANGE(0x180000, 0x1807ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
|
||||
// AM_RANGE(0x18c000, 0x18c0ff) AM_WRITE(cninja_loopback_w) /* Protection writes */
|
||||
AM_RANGE(0x18c000, 0x18c7ff) AM_READ(robocop2_prot_r) /* Protection device */
|
||||
AM_RANGE(0x1a8000, 0x1a9fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x1b0000, 0x1b0007) AM_READ(cninja_irq_r)
|
||||
AM_RANGE(0x1b8000, 0x1bbfff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x144000, 0x144fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x146000, 0x146fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x14c000, 0x14c7ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x14e000, 0x14e7ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x154000, 0x154fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x156000, 0x156fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x15c000, 0x15c7ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x15e000, 0x15e7ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x18c064, 0x18c065) AM_WRITE(cninja_sound_w)
|
||||
AM_RANGE(0x198000, 0x198001) AM_WRITE(buffer_spriteram16_w) /* DMA flag */
|
||||
AM_RANGE(0x1a8000, 0x1a9fff) AM_RAM_WRITE(deco16_nonbuffered_palette_w) AM_BASE(&paletteram16)
|
||||
AM_RANGE(0x1b0000, 0x1b0007) AM_READWRITE(cninja_irq_r, cninja_irq_w)
|
||||
AM_RANGE(0x1b8000, 0x1bbfff) AM_RAM AM_BASE(&cninja_ram) /* Main ram */
|
||||
AM_RANGE(0x1f0000, 0x1f0001) AM_WRITE(deco16_priority_w)
|
||||
AM_RANGE(0x1f8000, 0x1f8001) AM_READ_PORT("DSW3") /* Dipswitch #3 */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( robocop2_writemem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x140000, 0x14000f) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf12_control)
|
||||
AM_RANGE(0x144000, 0x144fff) AM_WRITE(deco16_pf1_data_w) AM_BASE(&deco16_pf1_data)
|
||||
AM_RANGE(0x146000, 0x146fff) AM_WRITE(deco16_pf2_data_w) AM_BASE(&deco16_pf2_data)
|
||||
AM_RANGE(0x14c000, 0x14c7ff) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf1_rowscroll)
|
||||
AM_RANGE(0x14e000, 0x14e7ff) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf2_rowscroll)
|
||||
|
||||
AM_RANGE(0x150000, 0x15000f) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf34_control)
|
||||
AM_RANGE(0x154000, 0x154fff) AM_WRITE(deco16_pf3_data_w) AM_BASE(&deco16_pf3_data)
|
||||
AM_RANGE(0x156000, 0x156fff) AM_WRITE(deco16_pf4_data_w) AM_BASE(&deco16_pf4_data)
|
||||
AM_RANGE(0x15c000, 0x15c7ff) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf3_rowscroll)
|
||||
AM_RANGE(0x15e000, 0x15e7ff) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf4_rowscroll)
|
||||
|
||||
AM_RANGE(0x180000, 0x1807ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
|
||||
AM_RANGE(0x18c064, 0x18c065) AM_WRITE(cninja_sound_w)
|
||||
// AM_RANGE(0x18c000, 0x18c0ff) AM_WRITE(cninja_loopback_w) /* Protection writes */
|
||||
AM_RANGE(0x198000, 0x198001) AM_WRITE(buffer_spriteram16_w) /* DMA flag */
|
||||
AM_RANGE(0x1a8000, 0x1a9fff) AM_WRITE(deco16_nonbuffered_palette_w) AM_BASE(&paletteram16)
|
||||
AM_RANGE(0x1b0000, 0x1b0007) AM_WRITE(cninja_irq_w)
|
||||
AM_RANGE(0x1b8000, 0x1bbfff) AM_WRITE(SMH_RAM) AM_BASE(&cninja_ram) /* Main ram */
|
||||
AM_RANGE(0x1f0000, 0x1f0001) AM_WRITE(deco16_priority_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( mutantf_readmem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x07ffff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x100000, 0x103fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x120000, 0x1207ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x140000, 0x1407ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x160000, 0x161fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x1a0000, 0x1a07ff) AM_READ(deco16_66_prot_r) /* Protection device */
|
||||
AM_RANGE(0x1c0000, 0x1c0001) AM_READ(deco16_71_r)
|
||||
|
||||
AM_RANGE(0x304000, 0x305fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x306000, 0x307fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x308000, 0x3087ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x30a000, 0x30a7ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x314000, 0x315fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x316000, 0x317fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x318000, 0x3187ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x31a000, 0x31a7ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0xad00ac, 0xad00ff) AM_READNOP /* Reads from here seem to be a game code bug */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( mutantf_writemem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x07ffff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x100000, 0x103fff) AM_WRITE(SMH_RAM) /* Main ram */
|
||||
AM_RANGE(0x120000, 0x1207ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
|
||||
AM_RANGE(0x140000, 0x1407ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16_2) AM_SIZE(&spriteram_2_size)
|
||||
AM_RANGE(0x160000, 0x161fff) AM_WRITE(deco16_nonbuffered_palette_w) AM_BASE(&paletteram16)
|
||||
static ADDRESS_MAP_START( mutantf_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
||||
AM_RANGE(0x100000, 0x103fff) AM_RAM
|
||||
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
|
||||
AM_RANGE(0x140000, 0x1407ff) AM_RAM AM_BASE(&spriteram16_2) AM_SIZE(&spriteram_2_size)
|
||||
AM_RANGE(0x160000, 0x161fff) AM_RAM_WRITE(deco16_nonbuffered_palette_w) AM_BASE(&paletteram16)
|
||||
AM_RANGE(0x180000, 0x180001) AM_WRITE(deco16_priority_w)
|
||||
AM_RANGE(0x180002, 0x180003) AM_WRITENOP /* VBL irq ack */
|
||||
AM_RANGE(0x1a0000, 0x1a07ff) AM_WRITE(deco16_66_prot_w) AM_BASE(&deco16_prot_ram) /* Protection writes */
|
||||
AM_RANGE(0x1c0000, 0x1c0001) AM_WRITE(buffer_spriteram16_w)
|
||||
AM_RANGE(0x1a0000, 0x1a07ff) AM_READWRITE(deco16_66_prot_r, deco16_66_prot_w) AM_BASE(&deco16_prot_ram) /* Protection device */
|
||||
AM_RANGE(0x1c0000, 0x1c0001) AM_READWRITE(deco16_71_r, buffer_spriteram16_w)
|
||||
AM_RANGE(0x1e0000, 0x1e0001) AM_WRITE(buffer_spriteram16_2_w)
|
||||
|
||||
AM_RANGE(0x300000, 0x30000f) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf12_control)
|
||||
AM_RANGE(0x304000, 0x305fff) AM_WRITE(deco16_pf1_data_w) AM_BASE(&deco16_pf1_data)
|
||||
AM_RANGE(0x306000, 0x307fff) AM_WRITE(deco16_pf2_data_w) AM_BASE(&deco16_pf2_data)
|
||||
AM_RANGE(0x308000, 0x3087ff) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf1_rowscroll)
|
||||
AM_RANGE(0x30a000, 0x30a7ff) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf2_rowscroll)
|
||||
AM_RANGE(0x304000, 0x305fff) AM_RAM_WRITE(deco16_pf1_data_w) AM_BASE(&deco16_pf1_data)
|
||||
AM_RANGE(0x306000, 0x307fff) AM_RAM_WRITE(deco16_pf2_data_w) AM_BASE(&deco16_pf2_data)
|
||||
AM_RANGE(0x308000, 0x3087ff) AM_RAM AM_BASE(&deco16_pf1_rowscroll)
|
||||
AM_RANGE(0x30a000, 0x30a7ff) AM_RAM AM_BASE(&deco16_pf2_rowscroll)
|
||||
|
||||
AM_RANGE(0x310000, 0x31000f) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf34_control)
|
||||
AM_RANGE(0x314000, 0x315fff) AM_WRITE(deco16_pf3_data_w) AM_BASE(&deco16_pf3_data)
|
||||
AM_RANGE(0x316000, 0x317fff) AM_WRITE(deco16_pf4_data_w) AM_BASE(&deco16_pf4_data)
|
||||
AM_RANGE(0x318000, 0x3187ff) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf3_rowscroll)
|
||||
AM_RANGE(0x31a000, 0x31a7ff) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf4_rowscroll)
|
||||
AM_RANGE(0x314000, 0x315fff) AM_RAM_WRITE(deco16_pf3_data_w) AM_BASE(&deco16_pf3_data)
|
||||
AM_RANGE(0x316000, 0x317fff) AM_RAM_WRITE(deco16_pf4_data_w) AM_BASE(&deco16_pf4_data)
|
||||
AM_RANGE(0x318000, 0x3187ff) AM_RAM AM_BASE(&deco16_pf3_rowscroll)
|
||||
AM_RANGE(0x31a000, 0x31a7ff) AM_RAM AM_BASE(&deco16_pf4_rowscroll)
|
||||
|
||||
AM_RANGE(0xad00ac, 0xad00ff) AM_READNOP /* Reads from here seem to be a game code bug */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x000000, 0x00ffff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x100000, 0x100001) AM_DEVREAD("ym1", ym2203_r)
|
||||
AM_RANGE(0x110000, 0x110001) AM_DEVREAD("ym2", ym2151_r)
|
||||
AM_RANGE(0x120000, 0x120001) AM_DEVREAD("oki1", okim6295_r)
|
||||
AM_RANGE(0x130000, 0x130001) AM_DEVREAD("oki2", okim6295_r)
|
||||
static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x000000, 0x00ffff) AM_ROM
|
||||
AM_RANGE(0x100000, 0x100001) AM_DEVREADWRITE("ym1", ym2203_r, ym2203_w)
|
||||
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ym2", ym2151_r, ym2151_w)
|
||||
AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_r, okim6295_w)
|
||||
AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_r, okim6295_w)
|
||||
AM_RANGE(0x140000, 0x140001) AM_READ(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_DEVWRITE("ym1", ym2203_w)
|
||||
AM_RANGE(0x110000, 0x110001) AM_DEVWRITE("ym2", ym2151_w)
|
||||
AM_RANGE(0x120000, 0x120001) AM_DEVWRITE("oki1", okim6295_w)
|
||||
AM_RANGE(0x130000, 0x130001) AM_DEVWRITE("oki2", okim6295_w)
|
||||
AM_RANGE(0x1f0000, 0x1f1fff) AM_WRITE(SMH_BANK8)
|
||||
AM_RANGE(0x1f0000, 0x1f1fff) AM_READWRITE(SMH_BANK8, SMH_BANK8)
|
||||
AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE(h6280_timer_w)
|
||||
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE(h6280_irq_status_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sound_readmem_mutantf, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x000000, 0x00ffff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x100000, 0x100001) AM_READNOP
|
||||
AM_RANGE(0x110000, 0x110001) AM_DEVREAD("ym", ym2151_r)
|
||||
AM_RANGE(0x120000, 0x120001) AM_DEVREAD("oki1", okim6295_r)
|
||||
AM_RANGE(0x130000, 0x130001) AM_DEVREAD("oki2", okim6295_r)
|
||||
static ADDRESS_MAP_START( sound_map_mutantf, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x000000, 0x00ffff) AM_ROM
|
||||
AM_RANGE(0x100000, 0x100001) AM_READNOP AM_WRITENOP
|
||||
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ym", ym2151_r, ym2151_w)
|
||||
AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_r, okim6295_w)
|
||||
AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_r, okim6295_w)
|
||||
AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
|
||||
AM_RANGE(0x1f0000, 0x1f1fff) AM_READ(SMH_BANK8)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sound_writemem_mutantf, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x000000, 0x00ffff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x100000, 0x100001) AM_WRITENOP
|
||||
AM_RANGE(0x110000, 0x110001) AM_DEVWRITE("ym", ym2151_w)
|
||||
AM_RANGE(0x120000, 0x120001) AM_DEVWRITE("oki1", okim6295_w)
|
||||
AM_RANGE(0x130000, 0x130001) AM_DEVWRITE("oki2", okim6295_w)
|
||||
AM_RANGE(0x1f0000, 0x1f1fff) AM_WRITE(SMH_BANK8)
|
||||
AM_RANGE(0x1f0000, 0x1f1fff) AM_READWRITE(SMH_BANK8, SMH_BANK8)
|
||||
AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE(h6280_timer_w)
|
||||
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE(h6280_irq_status_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( stoneage_s_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x8000, 0x87ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x8800, 0x8801) AM_DEVREAD("ym", ym2151_r)
|
||||
static ADDRESS_MAP_START( stoneage_s_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0x8000, 0x87ff) AM_RAM
|
||||
AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE("ym", ym2151_r, ym2151_w)
|
||||
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
|
||||
AM_RANGE(0x9800, 0x9800) AM_DEVREAD("oki1", okim6295_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( stoneage_s_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0x8800, 0x8801) AM_DEVWRITE("ym", ym2151_w)
|
||||
AM_RANGE(0x9800, 0x9800) AM_DEVWRITE("oki1", okim6295_w)
|
||||
AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki1", okim6295_r, okim6295_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
/***********************************************************
|
||||
@ -781,11 +692,11 @@ static MACHINE_DRIVER_START( cninja )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M68000, 12000000)
|
||||
MDRV_CPU_PROGRAM_MAP(cninja_readmem,cninja_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(cninja_map,0)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq5_line_hold)
|
||||
|
||||
MDRV_CPU_ADD("audiocpu", H6280,32220000/8) /* Accurate */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
|
||||
MDRV_MACHINE_RESET(cninja)
|
||||
|
||||
@ -829,11 +740,11 @@ static MACHINE_DRIVER_START( stoneage )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M68000, 12000000)
|
||||
MDRV_CPU_PROGRAM_MAP(cninja_readmem,cninja_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(cninja_map,0)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq5_line_hold)
|
||||
|
||||
MDRV_CPU_ADD("audiocpu", Z80, 3579545)
|
||||
MDRV_CPU_PROGRAM_MAP(stoneage_s_readmem,stoneage_s_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(stoneage_s_map,0)
|
||||
|
||||
MDRV_MACHINE_RESET(cninja)
|
||||
|
||||
@ -874,11 +785,11 @@ static MACHINE_DRIVER_START( edrandy )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M68000, 12000000)
|
||||
MDRV_CPU_PROGRAM_MAP(edrandy_readmem,edrandy_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(edrandy_map,0)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq5_line_hold)
|
||||
|
||||
MDRV_CPU_ADD("audiocpu", H6280,32220000/8) /* Accurate */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
|
||||
MDRV_MACHINE_RESET(cninja)
|
||||
|
||||
@ -922,11 +833,11 @@ static MACHINE_DRIVER_START( robocop2 )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M68000, 14000000)
|
||||
MDRV_CPU_PROGRAM_MAP(robocop2_readmem,robocop2_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(robocop2_map,0)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq5_line_hold)
|
||||
|
||||
MDRV_CPU_ADD("audiocpu", H6280,32220000/8) /* Accurate */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
|
||||
MDRV_MACHINE_RESET(cninja)
|
||||
|
||||
@ -973,11 +884,11 @@ static MACHINE_DRIVER_START( mutantf )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M68000, 14000000)
|
||||
MDRV_CPU_PROGRAM_MAP(mutantf_readmem,mutantf_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(mutantf_map,0)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq6_line_hold)
|
||||
|
||||
MDRV_CPU_ADD("audiocpu", H6280,32220000/8)
|
||||
MDRV_CPU_PROGRAM_MAP(sound_readmem_mutantf,sound_writemem_mutantf)
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map_mutantf,0)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM )
|
||||
|
@ -268,98 +268,67 @@ static READ8_DEVICE_HANDLER ( combasc_ym2203_r )
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
static ADDRESS_MAP_START( combasc_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0020, 0x005f) AM_READ(combasc_scrollram_r)
|
||||
AM_RANGE(0x0200, 0x0201) AM_READ(protection_r)
|
||||
static ADDRESS_MAP_START( combasc_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x0007) AM_WRITE(combasc_pf_control_w)
|
||||
AM_RANGE(0x0020, 0x005f) AM_READWRITE(combasc_scrollram_r, combasc_scrollram_w)
|
||||
// AM_RANGE(0x0060, 0x00ff) AM_WRITE(SMH_RAM) /* RAM */
|
||||
|
||||
AM_RANGE(0x0200, 0x0201) AM_READWRITE(protection_r, protection_w)
|
||||
AM_RANGE(0x0206, 0x0206) AM_WRITE(protection_clock_w)
|
||||
|
||||
AM_RANGE(0x0400, 0x0400) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x0401, 0x0401) AM_READ_PORT("DSW3") /* DSW #3 */
|
||||
AM_RANGE(0x0402, 0x0402) AM_READ_PORT("DSW1") /* DSW #1 */
|
||||
AM_RANGE(0x0403, 0x0403) AM_READ_PORT("DSW2") /* DSW #2 */
|
||||
AM_RANGE(0x0404, 0x0407) AM_READ(trackball_r) /* 1P & 2P controls / trackball */
|
||||
AM_RANGE(0x0600, 0x06ff) AM_READ(SMH_RAM) /* palette */
|
||||
AM_RANGE(0x0800, 0x1fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x2000, 0x3fff) AM_READ(combasc_video_r)
|
||||
AM_RANGE(0x4000, 0x7fff) AM_READ(SMH_BANK1) /* banked ROM area */
|
||||
AM_RANGE(0x8000, 0xffff) AM_READ(SMH_ROM) /* ROM */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( combasc_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x0007) AM_WRITE(combasc_pf_control_w)
|
||||
AM_RANGE(0x0020, 0x005f) AM_WRITE(combasc_scrollram_w)
|
||||
// AM_RANGE(0x0060, 0x00ff) AM_WRITE(SMH_RAM) /* RAM */
|
||||
AM_RANGE(0x0200, 0x0201) AM_WRITE(protection_w)
|
||||
AM_RANGE(0x0206, 0x0206) AM_WRITE(protection_clock_w)
|
||||
AM_RANGE(0x0408, 0x0408) AM_WRITE(combasc_coin_counter_w) /* coin counters */
|
||||
AM_RANGE(0x040c, 0x040c) AM_WRITE(combasc_vreg_w)
|
||||
AM_RANGE(0x0410, 0x0410) AM_WRITE(combasc_bankselect_w)
|
||||
AM_RANGE(0x0414, 0x0414) AM_WRITE(soundlatch_w)
|
||||
AM_RANGE(0x0418, 0x0418) AM_WRITE(combasc_sh_irqtrigger_w)
|
||||
AM_RANGE(0x041c, 0x041c) AM_WRITE(watchdog_reset_w) /* watchdog reset? */
|
||||
AM_RANGE(0x0600, 0x06ff) AM_WRITE(SMH_RAM) AM_BASE(&paletteram)
|
||||
AM_RANGE(0x0800, 0x1fff) AM_WRITE(SMH_RAM) /* RAM */
|
||||
AM_RANGE(0x2000, 0x3fff) AM_WRITE(combasc_video_w)
|
||||
AM_RANGE(0x4000, 0x7fff) AM_WRITE(SMH_ROM) /* banked ROM area */
|
||||
AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM) /* ROM */
|
||||
|
||||
AM_RANGE(0x0600, 0x06ff) AM_RAM AM_BASE(&paletteram) /* palette */
|
||||
AM_RANGE(0x0800, 0x1fff) AM_RAM /* RAM */
|
||||
AM_RANGE(0x2000, 0x3fff) AM_READWRITE(combasc_video_r, combasc_video_w)
|
||||
AM_RANGE(0x4000, 0x7fff) AM_READWRITE(SMH_BANK1, SMH_ROM) /* banked ROM area */
|
||||
AM_RANGE(0x8000, 0xffff) AM_ROM /* ROM */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( combascb_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x04ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x0600, 0x06ff) AM_READ(SMH_RAM) /* palette */
|
||||
AM_RANGE(0x0800, 0x1fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x2000, 0x3fff) AM_READ(combasc_video_r)
|
||||
AM_RANGE(0x4000, 0x7fff) AM_READ(SMH_BANK1) /* banked ROM/RAM area */
|
||||
AM_RANGE(0x8000, 0xffff) AM_READ(SMH_ROM) /* ROM */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( combascb_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x04ff) AM_WRITE(SMH_RAM)
|
||||
static ADDRESS_MAP_START( combascb_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x04ff) AM_RAM
|
||||
AM_RANGE(0x0500, 0x0500) AM_WRITE(combascb_bankselect_w)
|
||||
AM_RANGE(0x0600, 0x06ff) AM_WRITE(SMH_RAM) AM_BASE(&paletteram)
|
||||
AM_RANGE(0x0800, 0x1fff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0x2000, 0x3fff) AM_WRITE(combasc_video_w)
|
||||
AM_RANGE(0x4000, 0x7fff) AM_WRITE(SMH_BANK1) /* banked ROM/RAM area */
|
||||
AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM) /* ROM */
|
||||
AM_RANGE(0x0600, 0x06ff) AM_RAM AM_BASE(&paletteram) /* palette */
|
||||
AM_RANGE(0x0800, 0x1fff) AM_RAM
|
||||
AM_RANGE(0x2000, 0x3fff) AM_READWRITE(combasc_video_r, combasc_video_w)
|
||||
AM_RANGE(0x4000, 0x7fff) AM_READWRITE(SMH_BANK1, SMH_ROM) /* banked ROM/RAM area */
|
||||
AM_RANGE(0x8000, 0xffff) AM_ROM /* ROM */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
#if 0
|
||||
static ADDRESS_MAP_START( readmem_sound, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) /* ROM */
|
||||
AM_RANGE(0x8000, 0x87ef) AM_READ(SMH_RAM) /* RAM */
|
||||
AM_RANGE(0x87f0, 0x87ff) AM_READ(SMH_RAM) /* ??? */
|
||||
AM_RANGE(0x9000, 0x9001) AM_DEVREAD("ym", ym2203_r) /* YM 2203 */
|
||||
AM_RANGE(0x9008, 0x9009) AM_DEVREAD("ym", ym2203_r) /* ??? */
|
||||
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r) /* soundlatch_r? */
|
||||
AM_RANGE(0x8800, 0xfffb) AM_READ(SMH_ROM) /* ROM? */
|
||||
AM_RANGE(0xfffc, 0xffff) AM_READ(SMH_RAM) /* ??? */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( writemem_sound, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM) /* ROM */
|
||||
AM_RANGE(0x8000, 0x87ef) AM_WRITE(SMH_RAM) /* RAM */
|
||||
AM_RANGE(0x87f0, 0x87ff) AM_WRITE(SMH_RAM) /* ??? */
|
||||
AM_RANGE(0x9000, 0x9001) AM_DEVWRITE("ym", ym2203_w) /* YM 2203 */
|
||||
//AM_RANGE(0x9800, 0x9800) AM_WRITE(combasc_unknown_w_1) /* OKIM5205? */
|
||||
//AM_RANGE(0xa800, 0xa800) AM_WRITE(combasc_unknown_w_2) /* OKIM5205? */
|
||||
AM_RANGE(0x8800, 0xfffb) AM_WRITE(SMH_ROM) /* ROM */
|
||||
AM_RANGE(0xfffc, 0xffff) AM_WRITE(SMH_RAM) /* ??? */
|
||||
static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM /* ROM */
|
||||
AM_RANGE(0x8000, 0x87ef) AM_RAM /* RAM */
|
||||
AM_RANGE(0x87f0, 0x87ff) AM_RAM /* ??? */
|
||||
AM_RANGE(0x9000, 0x9001) AM_DEVREADWRITE("ym", ym2203_r, ym2203_w) /* YM 2203 */
|
||||
AM_RANGE(0x9008, 0x9009) AM_DEVREAD("ym", ym2203_r) /* ??? */
|
||||
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r) /* soundlatch_r? */
|
||||
AM_RANGE(0x8800, 0xfffb) AM_ROM /* ROM? */
|
||||
AM_RANGE(0xfffc, 0xffff) AM_RAM /* ??? */
|
||||
ADDRESS_MAP_END
|
||||
#endif
|
||||
|
||||
static ADDRESS_MAP_START( combasc_readmem_sound, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) /* ROM */
|
||||
AM_RANGE(0x8000, 0x87ff) AM_READ(SMH_RAM) /* RAM */
|
||||
AM_RANGE(0xb000, 0xb000) AM_DEVREAD("upd", combasc_busy_r) /* upd7759 busy? */
|
||||
AM_RANGE(0xd000, 0xd000) AM_READ(soundlatch_r) /* soundlatch_r? */
|
||||
AM_RANGE(0xe000, 0xe001) AM_DEVREAD("ym", combasc_ym2203_r) /* YM 2203 intercepted */
|
||||
ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START( combasc_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM /* ROM */
|
||||
AM_RANGE(0x8000, 0x87ff) AM_RAM /* RAM */
|
||||
|
||||
static ADDRESS_MAP_START( combasc_writemem_sound, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM) /* ROM */
|
||||
AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM) /* RAM */
|
||||
AM_RANGE(0x9000, 0x9000) AM_DEVWRITE("upd", combasc_play_w) /* upd7759 play voice */
|
||||
AM_RANGE(0xa000, 0xa000) AM_DEVWRITE("upd", upd7759_port_w) /* upd7759 voice select */
|
||||
AM_RANGE(0xc000, 0xc000) AM_DEVWRITE("upd", combasc_voice_reset_w) /* upd7759 reset? */
|
||||
AM_RANGE(0xe000, 0xe001) AM_DEVWRITE("ym", ym2203_w) /* YM 2203 */
|
||||
AM_RANGE(0x9000, 0x9000) AM_DEVWRITE("upd", combasc_play_w) /* upd7759 play voice */
|
||||
AM_RANGE(0xa000, 0xa000) AM_DEVWRITE("upd", upd7759_port_w) /* upd7759 voice select */
|
||||
AM_RANGE(0xb000, 0xb000) AM_DEVREAD("upd", combasc_busy_r) /* upd7759 busy? */
|
||||
AM_RANGE(0xc000, 0xc000) AM_DEVWRITE("upd", combasc_voice_reset_w) /* upd7759 reset? */
|
||||
|
||||
AM_RANGE(0xd000, 0xd000) AM_READ(soundlatch_r) /* soundlatch_r? */
|
||||
AM_RANGE(0xe000, 0xe001) AM_DEVREADWRITE("ym", combasc_ym2203_r, ym2203_w) /* YM 2203 intercepted */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -581,11 +550,11 @@ static MACHINE_DRIVER_START( combasc )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", HD6309, 3000000*4) /* 3 MHz? */
|
||||
MDRV_CPU_PROGRAM_MAP(combasc_readmem,combasc_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(combasc_map,0)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
|
||||
|
||||
MDRV_CPU_ADD("audiocpu", Z80,3579545) /* 3.579545 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(combasc_readmem_sound,combasc_writemem_sound)
|
||||
MDRV_CPU_PROGRAM_MAP(combasc_sound_map,0)
|
||||
|
||||
MDRV_QUANTUM_TIME(HZ(1200))
|
||||
|
||||
@ -622,11 +591,11 @@ static MACHINE_DRIVER_START( combascb )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", HD6309, 3000000*4) /* 3 MHz? */
|
||||
MDRV_CPU_PROGRAM_MAP(combascb_readmem,combascb_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(combascb_map,0)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
|
||||
|
||||
MDRV_CPU_ADD("audiocpu", Z80,3579545) /* 3.579545 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(combasc_readmem_sound,combasc_writemem_sound) /* FAKE */
|
||||
MDRV_CPU_PROGRAM_MAP(combasc_sound_map,0) /* FAKE */
|
||||
|
||||
MDRV_QUANTUM_TIME(HZ(1200))
|
||||
|
||||
|
@ -51,30 +51,19 @@ static WRITE8_HANDLER( compgolf_ctrl_w )
|
||||
compgolf_scrolly_hi = (data & 2) << 7;
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x07ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x1000, 0x17ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x1800, 0x1fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x2000, 0x2060) AM_READ(SMH_RAM)
|
||||
static ADDRESS_MAP_START( compgolf_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x07ff) AM_RAM
|
||||
AM_RANGE(0x1000, 0x17ff) AM_RAM_WRITE(compgolf_video_w) AM_BASE(&videoram)
|
||||
AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(compgolf_back_w) AM_BASE(&compgolf_bg_ram)
|
||||
AM_RANGE(0x2000, 0x2060) AM_RAM AM_BASE(&spriteram)
|
||||
AM_RANGE(0x2061, 0x2061) AM_WRITENOP
|
||||
AM_RANGE(0x3000, 0x3000) AM_READ_PORT("P1")
|
||||
AM_RANGE(0x3001, 0x3001) AM_READ_PORT("P2")
|
||||
AM_RANGE(0x3001, 0x3001) AM_READ_PORT("P2") AM_WRITE(compgolf_ctrl_w)
|
||||
AM_RANGE(0x3002, 0x3002) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0x3003, 0x3003) AM_READ_PORT("DSW2")
|
||||
AM_RANGE(0x3800, 0x3801) AM_DEVREAD("ym", ym2203_r)
|
||||
AM_RANGE(0x4000, 0x7fff) AM_READ(SMH_BANK1)
|
||||
AM_RANGE(0x8000, 0xffff) AM_READ(SMH_ROM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x07ff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0x1000, 0x17ff) AM_WRITE(compgolf_video_w) AM_BASE(&videoram)
|
||||
AM_RANGE(0x1800, 0x1fff) AM_WRITE(compgolf_back_w) AM_BASE(&compgolf_bg_ram)
|
||||
AM_RANGE(0x2000, 0x2060) AM_WRITE(SMH_RAM) AM_BASE(&spriteram)
|
||||
AM_RANGE(0x2061, 0x2061) AM_WRITENOP
|
||||
AM_RANGE(0x3001, 0x3001) AM_WRITE(compgolf_ctrl_w)
|
||||
AM_RANGE(0x3800, 0x3801) AM_DEVWRITE("ym", ym2203_w)
|
||||
AM_RANGE(0x4000, 0x7fff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x3800, 0x3801) AM_DEVREADWRITE("ym", ym2203_r, ym2203_w)
|
||||
AM_RANGE(0x4000, 0x7fff) AM_READWRITE(SMH_BANK1, SMH_ROM)
|
||||
AM_RANGE(0x8000, 0xffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
/***************************************************************************/
|
||||
@ -210,7 +199,7 @@ static const ym2203_interface ym2203_config =
|
||||
|
||||
static MACHINE_DRIVER_START( compgolf )
|
||||
MDRV_CPU_ADD("maincpu", M6809, 2000000)
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(compgolf_map,0)
|
||||
MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse)
|
||||
|
||||
/* video hardware */
|
||||
|
@ -69,7 +69,8 @@ static WRITE8_HANDLER( cpu_sound_command_w )
|
||||
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
static ADDRESS_MAP_START( contra_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x0007) AM_WRITE(contra_K007121_ctrl_0_w)
|
||||
AM_RANGE(0x0010, 0x0010) AM_READ_PORT("SYSTEM")
|
||||
AM_RANGE(0x0011, 0x0011) AM_READ_PORT("P1")
|
||||
AM_RANGE(0x0012, 0x0012) AM_READ_PORT("P2")
|
||||
@ -78,21 +79,17 @@ static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0015, 0x0015) AM_READ_PORT("DSW2")
|
||||
AM_RANGE(0x0016, 0x0016) AM_READ_PORT("DSW3")
|
||||
|
||||
AM_RANGE(0x0c00, 0x0cff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x1000, 0x5fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x6000, 0x7fff) AM_READ(SMH_BANK1)
|
||||
AM_RANGE(0x8000, 0xffff) AM_READ(SMH_ROM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x0007) AM_WRITE(contra_K007121_ctrl_0_w)
|
||||
AM_RANGE(0x0018, 0x0018) AM_WRITE(contra_coin_counter_w)
|
||||
AM_RANGE(0x001a, 0x001a) AM_WRITE(contra_sh_irqtrigger_w)
|
||||
AM_RANGE(0x001c, 0x001c) AM_WRITE(cpu_sound_command_w)
|
||||
AM_RANGE(0x001e, 0x001e) AM_WRITENOP /* ? */
|
||||
AM_RANGE(0x0060, 0x0067) AM_WRITE(contra_K007121_ctrl_1_w)
|
||||
AM_RANGE(0x0c00, 0x0cff) AM_WRITE(SMH_RAM) AM_BASE(&paletteram)
|
||||
AM_RANGE(0x1000, 0x1fff) AM_WRITE(SMH_RAM)
|
||||
|
||||
AM_RANGE(0x0c00, 0x0cff) AM_RAM AM_BASE(&paletteram)
|
||||
|
||||
AM_RANGE(0x1000, 0x1fff) AM_RAM
|
||||
|
||||
AM_RANGE(0x2000, 0x5fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x2000, 0x23ff) AM_WRITE(contra_fg_cram_w) AM_BASE(&contra_fg_cram)
|
||||
AM_RANGE(0x2400, 0x27ff) AM_WRITE(contra_fg_vram_w) AM_BASE(&contra_fg_vram)
|
||||
AM_RANGE(0x2800, 0x2bff) AM_WRITE(contra_text_cram_w) AM_BASE(&contra_text_cram)
|
||||
@ -102,23 +99,21 @@ static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x4000, 0x43ff) AM_WRITE(contra_bg_cram_w) AM_BASE(&contra_bg_cram)
|
||||
AM_RANGE(0x4400, 0x47ff) AM_WRITE(contra_bg_vram_w) AM_BASE(&contra_bg_vram)
|
||||
AM_RANGE(0x4800, 0x5fff) AM_WRITE(SMH_RAM)
|
||||
|
||||
AM_RANGE(0x6000, 0x7fff) AM_READ(SMH_BANK1)
|
||||
AM_RANGE(0x6000, 0x6fff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x7000, 0x7000) AM_WRITE(contra_bankswitch_w)
|
||||
AM_RANGE(0x7001, 0xffff) AM_WRITE(SMH_ROM)
|
||||
|
||||
AM_RANGE(0x8000, 0xffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( readmem_sound, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x0000) AM_READ(soundlatch_r)
|
||||
AM_RANGE(0x2000, 0x2001) AM_DEVREAD("ym", ym2151_r)
|
||||
AM_RANGE(0x6000, 0x67ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x8000, 0xffff) AM_READ(SMH_ROM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( writemem_sound, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x2000, 0x2001) AM_DEVWRITE("ym", ym2151_w)
|
||||
AM_RANGE(0x2000, 0x2001) AM_DEVREADWRITE("ym", ym2151_r, ym2151_w)
|
||||
AM_RANGE(0x4000, 0x4000) AM_WRITENOP /* read triggers irq reset and latch read (in the hardware only). */
|
||||
AM_RANGE(0x6000, 0x67ff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x6000, 0x67ff) AM_RAM
|
||||
AM_RANGE(0x8000, 0xffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -197,11 +192,11 @@ static MACHINE_DRIVER_START( contra )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M6809, 1500000)
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(contra_map,0)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
|
||||
|
||||
MDRV_CPU_ADD("audiocpu", M6809, 2000000)
|
||||
MDRV_CPU_PROGRAM_MAP(readmem_sound,writemem_sound)
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
|
||||
MDRV_QUANTUM_TIME(HZ(600)) /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
|
||||
|
||||
|
@ -101,16 +101,10 @@ static CUSTOM_INPUT( mightguy_area_r )
|
||||
}
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0xbfff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0xc000, 0xcfff) AM_READ(SMH_RAM) /* c000-c7ff in cop01 */
|
||||
AM_RANGE(0xd000, 0xdfff) AM_READ(SMH_RAM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0xbfff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0xc000, 0xcfff) AM_WRITE(SMH_RAM) /* c000-c7ff in cop01 */
|
||||
AM_RANGE(0xd000, 0xdfff) AM_WRITE(cop01_background_w) AM_BASE(&cop01_bgvideoram)
|
||||
static ADDRESS_MAP_START( cop01_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0xbfff) AM_ROM
|
||||
AM_RANGE(0xc000, 0xcfff) AM_RAM /* c000-c7ff in cop01 */
|
||||
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(cop01_background_w) AM_BASE(&cop01_bgvideoram)
|
||||
AM_RANGE(0xe000, 0xe0ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
|
||||
AM_RANGE(0xf000, 0xf3ff) AM_WRITE(cop01_foreground_w) AM_BASE(&cop01_fgvideoram)
|
||||
ADDRESS_MAP_END
|
||||
@ -139,15 +133,10 @@ static ADDRESS_MAP_START( mightguy_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
AM_RANGE(0x45, 0x45) AM_WRITE(watchdog_reset_w) /* ? */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
|
||||
static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0x8000, 0x8000) AM_READNOP /* irq ack? */
|
||||
AM_RANGE(0xc000, 0xc7ff) AM_READ(SMH_RAM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0xc000, 0xc7ff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0xc000, 0xc7ff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( audio_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
@ -401,12 +390,12 @@ static MACHINE_DRIVER_START( cop01 )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80, 4000000) /* ???? */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(cop01_map,0)
|
||||
MDRV_CPU_IO_MAP(io_map,0)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
|
||||
|
||||
MDRV_CPU_ADD("audiocpu", Z80, 3000000) /* ???? */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
MDRV_CPU_IO_MAP(audio_io_map,0)
|
||||
|
||||
/* video hardware */
|
||||
@ -441,12 +430,12 @@ static MACHINE_DRIVER_START( mightguy )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80, 4000000) /* ???? */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(cop01_map,0)
|
||||
MDRV_CPU_IO_MAP(mightguy_io_map,0)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
|
||||
|
||||
MDRV_CPU_ADD("audiocpu", Z80, 3000000) /* ???? */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
MDRV_CPU_IO_MAP(mightguy_audio_io_map,0)
|
||||
|
||||
/* video hardware */
|
||||
|
@ -469,19 +469,14 @@ static WRITE8_HANDLER( flip_screen_w )
|
||||
}
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( panic_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x4000, 0x5fff) AM_READ(SMH_RAM)
|
||||
static ADDRESS_MAP_START( panic_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_ROM
|
||||
AM_RANGE(0x4000, 0x5fff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size)
|
||||
AM_RANGE(0x6000, 0x601f) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
|
||||
AM_RANGE(0x6800, 0x6800) AM_READ_PORT("P1")
|
||||
AM_RANGE(0x6801, 0x6801) AM_READ_PORT("P2")
|
||||
AM_RANGE(0x6802, 0x6802) AM_READ_PORT("DSW")
|
||||
AM_RANGE(0x6803, 0x6803) AM_READ_PORT("SYSTEM")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( panic_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x4000, 0x5fff) AM_WRITE(SMH_RAM) AM_BASE(&videoram) AM_SIZE(&videoram_size)
|
||||
AM_RANGE(0x6000, 0x601f) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
|
||||
AM_RANGE(0x7000, 0x700b) AM_WRITE(panic_sound_output_w)
|
||||
AM_RANGE(0x700c, 0x700e) AM_WRITE(cosmic_color_register_w)
|
||||
AM_RANGE(0x700f, 0x700f) AM_WRITE(flip_screen_w)
|
||||
@ -489,33 +484,23 @@ static ADDRESS_MAP_START( panic_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( cosmica_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x4000, 0x5fff) AM_READ(SMH_RAM)
|
||||
static ADDRESS_MAP_START( cosmica_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_ROM
|
||||
AM_RANGE(0x4000, 0x5fff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size)
|
||||
AM_RANGE(0x6000, 0x601f) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
|
||||
AM_RANGE(0x6800, 0x6800) AM_READ_PORT("P1")
|
||||
AM_RANGE(0x6801, 0x6801) AM_READ_PORT("P2")
|
||||
AM_RANGE(0x6802, 0x6802) AM_READ_PORT("DSW")
|
||||
AM_RANGE(0x6803, 0x6803) AM_READ(cosmica_pixel_clock_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( cosmica_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x4000, 0x5fff) AM_WRITE(SMH_RAM) AM_BASE(&videoram) AM_SIZE(&videoram_size)
|
||||
AM_RANGE(0x6000, 0x601f) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
|
||||
AM_RANGE(0x7000, 0x700b) AM_WRITE(cosmica_sound_output_w)
|
||||
AM_RANGE(0x700c, 0x700d) AM_WRITE(cosmic_color_register_w)
|
||||
AM_RANGE(0x700f, 0x700f) AM_WRITE(flip_screen_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( cosmicg_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x1fff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x2000, 0x3fff) AM_READ(SMH_RAM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( cosmicg_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x1fff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x2000, 0x3fff) AM_WRITE(SMH_RAM) AM_BASE(&videoram) AM_SIZE(&videoram_size)
|
||||
static ADDRESS_MAP_START( cosmicg_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x1fff) AM_ROM
|
||||
AM_RANGE(0x2000, 0x3fff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( cosmicg_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
@ -526,23 +511,18 @@ static ADDRESS_MAP_START( cosmicg_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( magspot_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x2fff) AM_READ(SMH_ROM)
|
||||
static ADDRESS_MAP_START( magspot_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x2fff) AM_ROM
|
||||
AM_RANGE(0x3800, 0x3807) AM_READ(magspot_coinage_dip_r)
|
||||
AM_RANGE(0x5000, 0x5000) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x5001, 0x5001) AM_READ_PORT("IN1")
|
||||
AM_RANGE(0x5002, 0x5002) AM_READ_PORT("IN2")
|
||||
AM_RANGE(0x5003, 0x5003) AM_READ_PORT("IN3")
|
||||
AM_RANGE(0x6000, 0x7fff) AM_READ(SMH_RAM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( magspot_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x2fff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x4000, 0x401f) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
|
||||
AM_RANGE(0x4800, 0x4800) AM_DEVWRITE("dac", dac_w)
|
||||
AM_RANGE(0x480c, 0x480d) AM_WRITE(cosmic_color_register_w)
|
||||
AM_RANGE(0x480f, 0x480f) AM_WRITE(flip_screen_w)
|
||||
AM_RANGE(0x6000, 0x7fff) AM_WRITE(SMH_RAM) AM_BASE(&videoram) AM_SIZE(&videoram_size)
|
||||
AM_RANGE(0x5000, 0x5000) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x5001, 0x5001) AM_READ_PORT("IN1")
|
||||
AM_RANGE(0x5002, 0x5002) AM_READ_PORT("IN2")
|
||||
AM_RANGE(0x5003, 0x5003) AM_READ_PORT("IN3")
|
||||
AM_RANGE(0x6000, 0x7fff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -1102,7 +1082,7 @@ static MACHINE_DRIVER_START( panic )
|
||||
MDRV_IMPORT_FROM(cosmic)
|
||||
MDRV_CPU_MODIFY("maincpu")
|
||||
|
||||
MDRV_CPU_PROGRAM_MAP(panic_readmem,panic_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(panic_map,0)
|
||||
MDRV_CPU_VBLANK_INT_HACK(panic_interrupt,2)
|
||||
|
||||
/* video hardware */
|
||||
@ -1130,7 +1110,7 @@ static MACHINE_DRIVER_START( cosmica )
|
||||
MDRV_IMPORT_FROM(cosmic)
|
||||
MDRV_CPU_MODIFY("maincpu")
|
||||
|
||||
MDRV_CPU_PROGRAM_MAP(cosmica_readmem,cosmica_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(cosmica_map,0)
|
||||
MDRV_CPU_VBLANK_INT_HACK(cosmica_interrupt,32)
|
||||
|
||||
/* video hardware */
|
||||
@ -1161,7 +1141,7 @@ static MACHINE_DRIVER_START( cosmicg )
|
||||
/* R Nabet : huh ? This would imply the crystal frequency is somehow divided by 2 before being
|
||||
fed to the tms9904 or tms9980. Also, I have never heard of a tms9900/9980 operating under
|
||||
1.5MHz. So, if someone can check this... */
|
||||
MDRV_CPU_PROGRAM_MAP(cosmicg_readmem,cosmicg_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(cosmicg_map,0)
|
||||
MDRV_CPU_IO_MAP(cosmicg_io_map,0)
|
||||
MDRV_CPU_VBLANK_INT("screen", cosmicg_interrupt)
|
||||
|
||||
@ -1195,7 +1175,7 @@ static MACHINE_DRIVER_START( magspot )
|
||||
MDRV_IMPORT_FROM(cosmic)
|
||||
MDRV_CPU_MODIFY("maincpu")
|
||||
|
||||
MDRV_CPU_PROGRAM_MAP(magspot_readmem,magspot_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(magspot_map,0)
|
||||
MDRV_CPU_VBLANK_INT("screen", magspot_interrupt)
|
||||
|
||||
/* video hardware */
|
||||
@ -1229,7 +1209,7 @@ static MACHINE_DRIVER_START( nomnlnd )
|
||||
MDRV_IMPORT_FROM(cosmic)
|
||||
MDRV_CPU_MODIFY("maincpu")
|
||||
|
||||
MDRV_CPU_PROGRAM_MAP(magspot_readmem,magspot_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(magspot_map,0)
|
||||
MDRV_CPU_VBLANK_INT("screen", nomnlnd_interrupt)
|
||||
|
||||
/* video hardware */
|
||||
|
@ -836,81 +836,69 @@ static READ16_HANDLER( joy_or_paddle_r )
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static ADDRESS_MAP_START( cps2_readmem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x3fffff) AM_READ(SMH_ROM) /* 68000 ROM */
|
||||
AM_RANGE(0x400000, 0x40000b) AM_READ(SMH_RAM) /* CPS2 object output */
|
||||
AM_RANGE(0x618000, 0x619fff) AM_READ(qsound_sharedram1_r) /* Q RAM */
|
||||
AM_RANGE(0x662000, 0x662001) AM_READ(SMH_RAM) /* Network adapter related, accessed in SSF2TB */
|
||||
AM_RANGE(0x662008, 0x662009) AM_READ(SMH_RAM) /* Network adapter related, accessed in SSF2TB */
|
||||
AM_RANGE(0x662020, 0x662021) AM_READ(SMH_RAM) /* Network adapter related, accessed in SSF2TB */
|
||||
AM_RANGE(0x660000, 0x663fff) AM_READ(SMH_RAM) /* When bit 14 of 0x804030 equals 0 this space is available. Many games store highscores and other info here if available. */
|
||||
AM_RANGE(0x664000, 0x664001) AM_READ(SMH_RAM) /* Unknown - Only used if 0x660000-0x663fff available (could be RAM enable?) */
|
||||
AM_RANGE(0x708000, 0x709fff) AM_READ(cps2_objram2_r) /* Object RAM */
|
||||
AM_RANGE(0x70a000, 0x70bfff) AM_READ(cps2_objram2_r) /* mirror */
|
||||
AM_RANGE(0x70c000, 0x70dfff) AM_READ(cps2_objram2_r) /* mirror */
|
||||
AM_RANGE(0x70e000, 0x70ffff) AM_READ(cps2_objram2_r) /* mirror */
|
||||
AM_RANGE(0x800140, 0x80017f) AM_READ(cps1_cps_b_r) /* mirror (sfa) */
|
||||
AM_RANGE(0x804000, 0x804001) AM_READ_PORT("IN0") /* IN0 */
|
||||
AM_RANGE(0x804010, 0x804011) AM_READ_PORT("IN1") /* IN1 */
|
||||
AM_RANGE(0x804020, 0x804021) AM_READ_PORT("IN2") /* IN2 + EEPROM */
|
||||
AM_RANGE(0x804030, 0x804031) AM_READ(cps2_qsound_volume_r) /* Master volume. Also when bit 14=0 addon memory is present, when bit 15=0 network adapter present. */
|
||||
AM_RANGE(0x8040b0, 0x8040b3) AM_READ(kludge_r) /* unknown (xmcotaj hangs if this is 0) */
|
||||
AM_RANGE(0x804140, 0x80417f) AM_READ(cps1_cps_b_r) /* CPS-B custom */
|
||||
AM_RANGE(0x900000, 0x92ffff) AM_READ(SMH_RAM) /* Video RAM */
|
||||
AM_RANGE(0xff0000, 0xffffff) AM_READ(SMH_RAM) /* RAM */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( cps2_writemem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x3fffff) AM_WRITE(SMH_ROM) /* ROM */
|
||||
AM_RANGE(0x400000, 0x40000b) AM_WRITE(SMH_RAM) AM_BASE(&cps2_output) AM_SIZE(&cps2_output_size) /* CPS2 output */
|
||||
AM_RANGE(0x618000, 0x619fff) AM_WRITE(qsound_sharedram1_w) /* Q RAM */
|
||||
AM_RANGE(0x662000, 0x662001) AM_WRITE(SMH_RAM) /* Network adapter related, accessed in SSF2TB */
|
||||
AM_RANGE(0x662008, 0x662009) AM_WRITE(SMH_RAM) /* Network adapter related, accessed in SSF2TB (not sure if this port is write only yet)*/
|
||||
AM_RANGE(0x662020, 0x662021) AM_WRITE(SMH_RAM) /* Network adapter related, accessed in SSF2TB */
|
||||
AM_RANGE(0x660000, 0x663fff) AM_WRITE(SMH_RAM) /* When bit 14 of 0x804030 equals 0 this space is available. Many games store highscores and other info here if available. */
|
||||
AM_RANGE(0x664000, 0x664001) AM_WRITE(SMH_RAM) /* Unknown - Only used if 0x660000-0x663fff available (could be RAM enable?) */
|
||||
AM_RANGE(0x700000, 0x701fff) AM_WRITE(cps2_objram1_w) AM_BASE(&cps2_objram1) /* Object RAM, no game seems to use it directly */
|
||||
AM_RANGE(0x708000, 0x709fff) AM_WRITE(cps2_objram2_w) AM_BASE(&cps2_objram2) /* Object RAM */
|
||||
AM_RANGE(0x70a000, 0x70bfff) AM_WRITE(cps2_objram2_w) /* mirror */
|
||||
AM_RANGE(0x70c000, 0x70dfff) AM_WRITE(cps2_objram2_w) /* mirror */
|
||||
AM_RANGE(0x70e000, 0x70ffff) AM_WRITE(cps2_objram2_w) /* mirror */
|
||||
AM_RANGE(0x800100, 0x80013f) AM_WRITE(cps1_cps_a_w) AM_BASE(&cps1_cps_a_regs) /* mirror (sfa) */
|
||||
AM_RANGE(0x800140, 0x80017f) AM_WRITE(cps1_cps_b_w) AM_BASE(&cps1_cps_b_regs) /* mirror (sfa) */
|
||||
AM_RANGE(0x804040, 0x804041) AM_WRITE(cps2_eeprom_port_w) /* EEPROM */
|
||||
AM_RANGE(0x8040a0, 0x8040a1) AM_WRITENOP /* Unknown (reset once on startup) */
|
||||
AM_RANGE(0x8040e0, 0x8040e1) AM_WRITE(cps2_objram_bank_w) /* bit 0 = Object ram bank swap */
|
||||
AM_RANGE(0x804100, 0x80413f) AM_WRITE(cps1_cps_a_w) AM_BASE(&cps1_cps_a_regs) /* CPS-A custom */
|
||||
AM_RANGE(0x804140, 0x80417f) AM_WRITE(cps1_cps_b_w) AM_BASE(&cps1_cps_b_regs) /* CPS-B custom */
|
||||
AM_RANGE(0x900000, 0x92ffff) AM_WRITE(cps1_gfxram_w) AM_BASE(&cps1_gfxram) AM_SIZE(&cps1_gfxram_size)
|
||||
AM_RANGE(0xff0000, 0xffffff) AM_WRITE(SMH_RAM) /* RAM */
|
||||
static ADDRESS_MAP_START( cps2_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x3fffff) AM_ROM /* 68000 ROM */
|
||||
AM_RANGE(0x400000, 0x40000b) AM_RAM AM_BASE(&cps2_output) AM_SIZE(&cps2_output_size) /* CPS2 object output */
|
||||
AM_RANGE(0x618000, 0x619fff) AM_READWRITE(qsound_sharedram1_r, qsound_sharedram1_w) /* Q RAM */
|
||||
AM_RANGE(0x662000, 0x662001) AM_RAM /* Network adapter related, accessed in SSF2TB */
|
||||
AM_RANGE(0x662008, 0x662009) AM_RAM /* Network adapter related, accessed in SSF2TB */
|
||||
AM_RANGE(0x662020, 0x662021) AM_RAM /* Network adapter related, accessed in SSF2TB */
|
||||
AM_RANGE(0x660000, 0x663fff) AM_RAM /* When bit 14 of 0x804030 equals 0 this space is available. Many games store highscores and other info here if available. */
|
||||
AM_RANGE(0x664000, 0x664001) AM_RAM /* Unknown - Only used if 0x660000-0x663fff available (could be RAM enable?) */
|
||||
AM_RANGE(0x700000, 0x701fff) AM_WRITE(cps2_objram1_w) AM_BASE(&cps2_objram1) /* Object RAM, no game seems to use it directly */
|
||||
AM_RANGE(0x708000, 0x709fff) AM_READWRITE(cps2_objram2_r, cps2_objram2_w) AM_BASE(&cps2_objram2) /* Object RAM */
|
||||
AM_RANGE(0x70a000, 0x70bfff) AM_READWRITE(cps2_objram2_r, cps2_objram2_w) AM_BASE(&cps2_objram2) /* mirror */
|
||||
AM_RANGE(0x70c000, 0x70dfff) AM_READWRITE(cps2_objram2_r, cps2_objram2_w) AM_BASE(&cps2_objram2) /* mirror */
|
||||
AM_RANGE(0x70e000, 0x70ffff) AM_READWRITE(cps2_objram2_r, cps2_objram2_w) AM_BASE(&cps2_objram2) /* mirror */
|
||||
AM_RANGE(0x800100, 0x80013f) AM_WRITE(cps1_cps_a_w) AM_BASE(&cps1_cps_a_regs) /* mirror (sfa) */
|
||||
AM_RANGE(0x800140, 0x80017f) AM_READWRITE(cps1_cps_b_r, cps1_cps_b_w) AM_BASE(&cps1_cps_b_regs) /* mirror (sfa) */
|
||||
AM_RANGE(0x804000, 0x804001) AM_READ_PORT("IN0") /* IN0 */
|
||||
AM_RANGE(0x804010, 0x804011) AM_READ_PORT("IN1") /* IN1 */
|
||||
AM_RANGE(0x804020, 0x804021) AM_READ_PORT("IN2") /* IN2 + EEPROM */
|
||||
AM_RANGE(0x804030, 0x804031) AM_READ(cps2_qsound_volume_r) /* Master volume. Also when bit 14=0 addon memory is present, when bit 15=0 network adapter present. */
|
||||
AM_RANGE(0x804040, 0x804041) AM_WRITE(cps2_eeprom_port_w) /* EEPROM */
|
||||
AM_RANGE(0x8040a0, 0x8040a1) AM_WRITENOP /* Unknown (reset once on startup) */
|
||||
AM_RANGE(0x8040b0, 0x8040b3) AM_READ(kludge_r) /* unknown (xmcotaj hangs if this is 0) */
|
||||
AM_RANGE(0x8040e0, 0x8040e1) AM_WRITE(cps2_objram_bank_w) /* bit 0 = Object ram bank swap */
|
||||
AM_RANGE(0x804100, 0x80413f) AM_WRITE(cps1_cps_a_w) AM_BASE(&cps1_cps_a_regs) /* CPS-A custom */
|
||||
AM_RANGE(0x804140, 0x80417f) AM_READWRITE(cps1_cps_b_r, cps1_cps_b_w) /* CPS-B custom */
|
||||
AM_RANGE(0x900000, 0x92ffff) AM_RAM_WRITE(cps1_gfxram_w) AM_BASE(&cps1_gfxram) AM_SIZE(&cps1_gfxram_size) /* Video RAM */
|
||||
AM_RANGE(0xff0000, 0xffffff) AM_RAM /* RAM */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( dead_cps2_writemem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x3fffff) AM_WRITE(SMH_ROM) /* ROM */
|
||||
AM_RANGE(0x618000, 0x619fff) AM_WRITE(qsound_sharedram1_w) /* Q RAM */
|
||||
AM_RANGE(0x662000, 0x662001) AM_WRITE(SMH_RAM) /* Network adapter related, accessed in SSF2TB */
|
||||
AM_RANGE(0x662008, 0x662009) AM_WRITE(SMH_RAM) /* Network adapter related, accessed in SSF2TB (not sure if this port is write only yet)*/
|
||||
AM_RANGE(0x662020, 0x662021) AM_WRITE(SMH_RAM) /* Network adapter related, accessed in SSF2TB */
|
||||
AM_RANGE(0x660000, 0x663fff) AM_WRITE(SMH_RAM) /* When bit 14 of 0x804030 equals 0 this space is available. Many games store highscores and other info here if available. */
|
||||
AM_RANGE(0x664000, 0x664001) AM_WRITE(SMH_RAM) /* Unknown - Only used if 0x660000-0x663fff available (could be RAM enable?) */
|
||||
AM_RANGE(0x700000, 0x701fff) AM_WRITE(cps2_objram1_w) AM_BASE(&cps2_objram1) /* Object RAM, no game seems to use it directly */
|
||||
AM_RANGE(0x708000, 0x709fff) AM_WRITE(cps2_objram2_w) AM_BASE(&cps2_objram2) /* Object RAM */
|
||||
AM_RANGE(0x70a000, 0x70bfff) AM_WRITE(cps2_objram2_w) /* mirror */
|
||||
AM_RANGE(0x70c000, 0x70dfff) AM_WRITE(cps2_objram2_w) /* mirror */
|
||||
AM_RANGE(0x70e000, 0x70ffff) AM_WRITE(cps2_objram2_w) /* mirror */
|
||||
AM_RANGE(0x800100, 0x80013f) AM_WRITE(cps1_cps_a_w) AM_BASE(&cps1_cps_a_regs) /* mirror (sfa) */
|
||||
AM_RANGE(0x800140, 0x80017f) AM_WRITE(cps1_cps_b_w) AM_BASE(&cps1_cps_b_regs) /* mirror (sfa) */
|
||||
AM_RANGE(0x804040, 0x804041) AM_WRITE(cps2_eeprom_port_w) /* EEPROM */
|
||||
AM_RANGE(0x8040a0, 0x8040a1) AM_WRITENOP /* Unknown (reset once on startup) */
|
||||
AM_RANGE(0x8040e0, 0x8040e1) AM_WRITE(cps2_objram_bank_w) /* bit 0 = Object ram bank swap */
|
||||
AM_RANGE(0x804100, 0x80413f) AM_WRITE(cps1_cps_a_w) AM_BASE(&cps1_cps_a_regs) /* CPS-A custom */
|
||||
AM_RANGE(0x804140, 0x80417f) AM_WRITE(cps1_cps_b_w) AM_BASE(&cps1_cps_b_regs) /* CPS-B custom */
|
||||
AM_RANGE(0x900000, 0x92ffff) AM_WRITE(cps1_gfxram_w) AM_BASE(&cps1_gfxram) AM_SIZE(&cps1_gfxram_size)
|
||||
AM_RANGE(0xff0000, 0xffffef) AM_WRITE(SMH_RAM) /* RAM */
|
||||
AM_RANGE(0xfffff0, 0xfffffb) AM_WRITE(SMH_RAM) AM_BASE(&cps2_output) AM_SIZE(&cps2_output_size) /* CPS2 output */
|
||||
static ADDRESS_MAP_START( dead_cps2_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x3fffff) AM_ROM /* 68000 ROM */
|
||||
AM_RANGE(0x400000, 0x40000b) AM_RAM AM_BASE(&cps2_output) AM_SIZE(&cps2_output_size) /* CPS2 object output */
|
||||
AM_RANGE(0x618000, 0x619fff) AM_READWRITE(qsound_sharedram1_r, qsound_sharedram1_w) /* Q RAM */
|
||||
AM_RANGE(0x662000, 0x662001) AM_RAM /* Network adapter related, accessed in SSF2TB */
|
||||
AM_RANGE(0x662008, 0x662009) AM_RAM /* Network adapter related, accessed in SSF2TB */
|
||||
AM_RANGE(0x662020, 0x662021) AM_RAM /* Network adapter related, accessed in SSF2TB */
|
||||
AM_RANGE(0x660000, 0x663fff) AM_RAM /* When bit 14 of 0x804030 equals 0 this space is available. Many games store highscores and other info here if available. */
|
||||
AM_RANGE(0x664000, 0x664001) AM_RAM /* Unknown - Only used if 0x660000-0x663fff available (could be RAM enable?) */
|
||||
AM_RANGE(0x700000, 0x701fff) AM_WRITE(cps2_objram1_w) AM_BASE(&cps2_objram1) /* Object RAM, no game seems to use it directly */
|
||||
AM_RANGE(0x708000, 0x709fff) AM_READWRITE(cps2_objram2_r, cps2_objram2_w) AM_BASE(&cps2_objram2) /* Object RAM */
|
||||
AM_RANGE(0x70a000, 0x70bfff) AM_READWRITE(cps2_objram2_r, cps2_objram2_w) AM_BASE(&cps2_objram2) /* mirror */
|
||||
AM_RANGE(0x70c000, 0x70dfff) AM_READWRITE(cps2_objram2_r, cps2_objram2_w) AM_BASE(&cps2_objram2) /* mirror */
|
||||
AM_RANGE(0x70e000, 0x70ffff) AM_READWRITE(cps2_objram2_r, cps2_objram2_w) AM_BASE(&cps2_objram2) /* mirror */
|
||||
AM_RANGE(0x800100, 0x80013f) AM_WRITE(cps1_cps_a_w) AM_BASE(&cps1_cps_a_regs) /* mirror (sfa) */
|
||||
AM_RANGE(0x800140, 0x80017f) AM_READWRITE(cps1_cps_b_r, cps1_cps_b_w) AM_BASE(&cps1_cps_b_regs) /* mirror (sfa) */
|
||||
AM_RANGE(0x804000, 0x804001) AM_READ_PORT("IN0") /* IN0 */
|
||||
AM_RANGE(0x804010, 0x804011) AM_READ_PORT("IN1") /* IN1 */
|
||||
AM_RANGE(0x804020, 0x804021) AM_READ_PORT("IN2") /* IN2 + EEPROM */
|
||||
AM_RANGE(0x804030, 0x804031) AM_READ(cps2_qsound_volume_r) /* Master volume. Also when bit 14=0 addon memory is present, when bit 15=0 network adapter present. */
|
||||
AM_RANGE(0x804040, 0x804041) AM_WRITE(cps2_eeprom_port_w) /* EEPROM */
|
||||
AM_RANGE(0x8040a0, 0x8040a1) AM_WRITENOP /* Unknown (reset once on startup) */
|
||||
AM_RANGE(0x8040b0, 0x8040b3) AM_READ(kludge_r) /* unknown (xmcotaj hangs if this is 0) */
|
||||
AM_RANGE(0x8040e0, 0x8040e1) AM_WRITE(cps2_objram_bank_w) /* bit 0 = Object ram bank swap */
|
||||
AM_RANGE(0x804100, 0x80413f) AM_WRITE(cps1_cps_a_w) AM_BASE(&cps1_cps_a_regs) /* CPS-A custom */
|
||||
AM_RANGE(0x804140, 0x80417f) AM_READWRITE(cps1_cps_b_r, cps1_cps_b_w) /* CPS-B custom */
|
||||
AM_RANGE(0x900000, 0x92ffff) AM_RAM_WRITE(cps1_gfxram_w) AM_BASE(&cps1_gfxram) AM_SIZE(&cps1_gfxram_size) /* Video RAM */
|
||||
AM_RANGE(0xff0000, 0xffffef) AM_RAM /* RAM */
|
||||
AM_RANGE(0xfffff0, 0xfffffb) AM_RAM AM_BASE(&cps2_output) AM_SIZE(&cps2_output_size) /* CPS2 output */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Generic port definitions
|
||||
@ -1224,7 +1212,7 @@ static MACHINE_DRIVER_START( cps2 )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz)
|
||||
MDRV_CPU_PROGRAM_MAP(cps2_readmem,cps2_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(cps2_map,0)
|
||||
MDRV_CPU_VBLANK_INT_HACK(cps2_interrupt,259) // 262 /* ??? interrupts per frame */
|
||||
|
||||
MDRV_CPU_ADD("audiocpu", Z80, 8000000)
|
||||
@ -1270,7 +1258,7 @@ static MACHINE_DRIVER_START( dead_cps2 )
|
||||
MDRV_IMPORT_FROM(cps2)
|
||||
|
||||
MDRV_CPU_MODIFY("maincpu")
|
||||
MDRV_CPU_PROGRAM_MAP(cps2_readmem,dead_cps2_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(dead_cps2_map,0)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( gigamn2 )
|
||||
|
@ -52,9 +52,9 @@ static WRITE8_DEVICE_HANDLER( crimfght_snd_bankswitch_w )
|
||||
|
||||
/********************************************/
|
||||
|
||||
static ADDRESS_MAP_START( crimfght_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x03ff) AM_READ(SMH_BANK1) /* banked RAM */
|
||||
AM_RANGE(0x0400, 0x1fff) AM_READ(SMH_RAM) /* RAM */
|
||||
static ADDRESS_MAP_START( crimfght_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x03ff) AM_READWRITE(SMH_BANK1, SMH_BANK1) /* banked RAM */
|
||||
AM_RANGE(0x0400, 0x1fff) AM_RAM /* RAM */
|
||||
AM_RANGE(0x3f80, 0x3f80) AM_READ_PORT("SYSTEM")
|
||||
AM_RANGE(0x3f81, 0x3f81) AM_READ_PORT("P1")
|
||||
AM_RANGE(0x3f82, 0x3f82) AM_READ_PORT("P2")
|
||||
@ -63,35 +63,19 @@ static ADDRESS_MAP_START( crimfght_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x3f85, 0x3f85) AM_READ_PORT("P3")
|
||||
AM_RANGE(0x3f86, 0x3f86) AM_READ_PORT("P4")
|
||||
AM_RANGE(0x3f87, 0x3f87) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0x3f88, 0x3f88) AM_READ(watchdog_reset_r) /* watchdog reset */
|
||||
AM_RANGE(0x2000, 0x5fff) AM_READ(K052109_051960_r) /* video RAM + sprite RAM */
|
||||
AM_RANGE(0x6000, 0x7fff) AM_READ(SMH_BANK2) /* banked ROM */
|
||||
AM_RANGE(0x8000, 0xffff) AM_READ(SMH_ROM) /* ROM */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( crimfght_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x03ff) AM_WRITE(SMH_BANK1) /* banked RAM */
|
||||
AM_RANGE(0x0400, 0x1fff) AM_WRITE(SMH_RAM) /* RAM */
|
||||
AM_RANGE(0x3f88, 0x3f88) AM_WRITE(crimfght_coin_w) /* coin counters */
|
||||
AM_RANGE(0x3f88, 0x3f88) AM_READWRITE(watchdog_reset_r, crimfght_coin_w) /* watchdog reset */
|
||||
AM_RANGE(0x3f8c, 0x3f8c) AM_WRITE(crimfght_sh_irqtrigger_w) /* cause interrupt on audio CPU? */
|
||||
AM_RANGE(0x2000, 0x5fff) AM_WRITE(K052109_051960_w) /* video RAM + sprite RAM */
|
||||
AM_RANGE(0x6000, 0x7fff) AM_WRITE(SMH_ROM) /* banked ROM */
|
||||
AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM) /* ROM */
|
||||
AM_RANGE(0x2000, 0x5fff) AM_READWRITE(K052109_051960_r, K052109_051960_w) /* video RAM + sprite RAM */
|
||||
AM_RANGE(0x6000, 0x7fff) AM_READWRITE(SMH_BANK2, SMH_ROM) /* banked ROM */
|
||||
AM_RANGE(0x8000, 0xffff) AM_ROM /* ROM */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( crimfght_readmem_sound, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) /* ROM 821l01.h4 */
|
||||
AM_RANGE(0x8000, 0x87ff) AM_READ(SMH_RAM) /* RAM */
|
||||
AM_RANGE(0xa000, 0xa001) AM_DEVREAD("ym", ym2151_r) /* YM2151 */
|
||||
AM_RANGE(0xc000, 0xc000) AM_READ(soundlatch_r) /* soundlatch_r */
|
||||
AM_RANGE(0xe000, 0xe00d) AM_DEVREAD("konami", k007232_r) /* 007232 registers */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( crimfght_writemem_sound, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM) /* ROM 821l01.h4 */
|
||||
AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM) /* RAM */
|
||||
AM_RANGE(0xa000, 0xa001) AM_DEVWRITE("ym", ym2151_w) /* YM2151 */
|
||||
AM_RANGE(0xe000, 0xe00d) AM_DEVWRITE("konami", k007232_w) /* 007232 registers */
|
||||
static ADDRESS_MAP_START( crimfght_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM /* ROM 821l01.h4 */
|
||||
AM_RANGE(0x8000, 0x87ff) AM_RAM /* RAM */
|
||||
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ym", ym2151_r, ym2151_w) /* YM2151 */
|
||||
AM_RANGE(0xc000, 0xc000) AM_READ(soundlatch_r) /* soundlatch_r */
|
||||
AM_RANGE(0xe000, 0xe00d) AM_DEVREADWRITE("konami", k007232_r, k007232_w) /* 007232 registers */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
/***************************************************************************
|
||||
@ -232,11 +216,11 @@ static MACHINE_DRIVER_START( crimfght )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", KONAMI, 3000000) /* ? */
|
||||
MDRV_CPU_PROGRAM_MAP(crimfght_readmem,crimfght_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(crimfght_map,0)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
|
||||
|
||||
MDRV_CPU_ADD("audiocpu", Z80, 3579545) /* verified with PCB */
|
||||
MDRV_CPU_PROGRAM_MAP(crimfght_readmem_sound,crimfght_writemem_sound)
|
||||
MDRV_CPU_PROGRAM_MAP(crimfght_sound_map,0)
|
||||
|
||||
MDRV_MACHINE_RESET(crimfght)
|
||||
|
||||
|
@ -63,48 +63,27 @@ static WRITE16_HANDLER ( crospang_soundlatch_w )
|
||||
|
||||
/* main cpu */
|
||||
|
||||
static ADDRESS_MAP_START( crospang_readmem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x120000, 0x1207ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x122000, 0x1227ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x200000, 0x2005ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x210000, 0x2107ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x280000, 0x280001) AM_READ_PORT("P1_P2")
|
||||
AM_RANGE(0x280002, 0x280003) AM_READ_PORT("COIN")
|
||||
AM_RANGE(0x280004, 0x280005) AM_READ_PORT("DSW")
|
||||
AM_RANGE(0x320000, 0x32ffff) AM_READ(SMH_RAM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( crospang_writemem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_WRITENOP // writes to rom quite often
|
||||
static ADDRESS_MAP_START( crospang_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_READ(SMH_ROM) AM_WRITENOP // writes to rom quite often
|
||||
AM_RANGE(0x100000, 0x100001) AM_WRITENOP
|
||||
AM_RANGE(0x100002, 0x100003) AM_WRITE(crospang_fg_scrolly_w)
|
||||
AM_RANGE(0x100004, 0x100005) AM_WRITE(crospang_bg_scrollx_w)
|
||||
AM_RANGE(0x100006, 0x100007) AM_WRITE(crospang_bg_scrolly_w)
|
||||
AM_RANGE(0x100008, 0x100009) AM_WRITE(crospang_fg_scrollx_w)
|
||||
AM_RANGE(0x10000e, 0x10000f) AM_WRITENOP
|
||||
AM_RANGE(0x120000, 0x1207ff) AM_WRITE(crospang_fg_videoram_w) AM_BASE(&crospang_fg_videoram)
|
||||
AM_RANGE(0x122000, 0x1227ff) AM_WRITE(crospang_bg_videoram_w) AM_BASE(&crospang_bg_videoram)
|
||||
AM_RANGE(0x200000, 0x2005ff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
|
||||
AM_RANGE(0x210000, 0x2107ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
|
||||
AM_RANGE(0x120000, 0x1207ff) AM_RAM_WRITE(crospang_fg_videoram_w) AM_BASE(&crospang_fg_videoram)
|
||||
AM_RANGE(0x122000, 0x1227ff) AM_RAM_WRITE(crospang_bg_videoram_w) AM_BASE(&crospang_bg_videoram)
|
||||
AM_RANGE(0x200000, 0x2005ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
|
||||
AM_RANGE(0x210000, 0x2107ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
|
||||
AM_RANGE(0x270000, 0x270001) AM_WRITE(crospang_soundlatch_w)
|
||||
AM_RANGE(0x320000, 0x32ffff) AM_WRITE(SMH_RAM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( bestri_readmem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x120000, 0x1207ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x122000, 0x1227ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x200000, 0x2005ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x210000, 0x2107ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x280000, 0x280001) AM_READ_PORT("P1_P2")
|
||||
AM_RANGE(0x280002, 0x280003) AM_READ_PORT("COIN")
|
||||
AM_RANGE(0x280004, 0x280005) AM_READ_PORT("DSW")
|
||||
AM_RANGE(0x3a0000, 0x3affff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x320000, 0x32ffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( bestri_writemem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_WRITENOP // writes to rom quite often
|
||||
static ADDRESS_MAP_START( bestri_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_READ(SMH_ROM) AM_WRITENOP // writes to rom quite often
|
||||
|
||||
AM_RANGE(0x100004, 0x100005) AM_WRITE(bestri_fg_scrollx_w)
|
||||
AM_RANGE(0x100006, 0x100007) AM_WRITE(bestri_fg_scrolly_w)
|
||||
@ -112,28 +91,24 @@ static ADDRESS_MAP_START( bestri_writemem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x10000c, 0x10000d) AM_WRITE(bestri_bg_scrollx_w)
|
||||
AM_RANGE(0x10000e, 0x10000f) AM_WRITE(bestri_tilebank_w)
|
||||
|
||||
AM_RANGE(0x120000, 0x1207ff) AM_WRITE(crospang_fg_videoram_w) AM_BASE(&crospang_fg_videoram)
|
||||
AM_RANGE(0x122000, 0x1227ff) AM_WRITE(crospang_bg_videoram_w) AM_BASE(&crospang_bg_videoram)
|
||||
AM_RANGE(0x200000, 0x2005ff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
|
||||
AM_RANGE(0x210000, 0x2107ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
|
||||
AM_RANGE(0x120000, 0x1207ff) AM_RAM_WRITE(crospang_fg_videoram_w) AM_BASE(&crospang_fg_videoram)
|
||||
AM_RANGE(0x122000, 0x1227ff) AM_RAM_WRITE(crospang_bg_videoram_w) AM_BASE(&crospang_bg_videoram)
|
||||
AM_RANGE(0x200000, 0x2005ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
|
||||
AM_RANGE(0x210000, 0x2107ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
|
||||
AM_RANGE(0x270000, 0x270001) AM_WRITE(crospang_soundlatch_w)
|
||||
AM_RANGE(0x270004, 0x270005) AM_WRITENOP
|
||||
AM_RANGE(0x280000, 0x280001) AM_READ_PORT("P1_P2")
|
||||
AM_RANGE(0x280002, 0x280003) AM_READ_PORT("COIN")
|
||||
AM_RANGE(0x280004, 0x280005) AM_READ_PORT("DSW")
|
||||
|
||||
|
||||
|
||||
AM_RANGE(0x3a0000, 0x3affff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0x3a0000, 0x3affff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
/* sound cpu */
|
||||
|
||||
static ADDRESS_MAP_START( crospang_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0xbfff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0xc000, 0xc7ff) AM_READ(SMH_RAM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( crospang_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0xbfff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0xc000, 0xc7ff) AM_WRITE(SMH_RAM)
|
||||
static ADDRESS_MAP_START( crospang_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0xbfff) AM_ROM
|
||||
AM_RANGE(0xc000, 0xc7ff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( crospang_sound_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
@ -329,11 +304,11 @@ static MACHINE_DRIVER_START( crospang )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M68000, 14318180/2)
|
||||
MDRV_CPU_PROGRAM_MAP(crospang_readmem,crospang_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(crospang_map,0)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq6_line_hold)
|
||||
|
||||
MDRV_CPU_ADD("audiocpu", Z80, 14318180/4)
|
||||
MDRV_CPU_PROGRAM_MAP(crospang_sound_readmem,crospang_sound_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(crospang_sound_map,0)
|
||||
MDRV_CPU_IO_MAP(crospang_sound_io_map,0)
|
||||
|
||||
/* video hardware */
|
||||
@ -366,11 +341,11 @@ static MACHINE_DRIVER_START( bestri )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M68000, 14318180/2)
|
||||
MDRV_CPU_PROGRAM_MAP(bestri_readmem,bestri_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(bestri_map,0)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq6_line_hold)
|
||||
|
||||
MDRV_CPU_ADD("audiocpu", Z80, 14318180/4)
|
||||
MDRV_CPU_PROGRAM_MAP(crospang_sound_readmem,crospang_sound_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(crospang_sound_map,0)
|
||||
MDRV_CPU_IO_MAP(crospang_sound_io_map,0)
|
||||
|
||||
/* video hardware */
|
||||
|
@ -187,50 +187,33 @@ static WRITE8_HANDLER( pending_command_clear_w )
|
||||
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x07ffff) AM_READ(SMH_ROM)
|
||||
static ADDRESS_MAP_START( crshrace_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
||||
AM_RANGE(0x300000, 0x3fffff) AM_READ(extrarom1_r)
|
||||
AM_RANGE(0x400000, 0x4fffff) AM_READ(extrarom2_r)
|
||||
AM_RANGE(0x500000, 0x5fffff) AM_READ(extrarom2_r) /* mirror */
|
||||
AM_RANGE(0xa00000, 0xa0ffff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0xd00000, 0xd01fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0xe00000, 0xe01fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0xfe0000, 0xfeffff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0xffd000, 0xffdfff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0xffe000, 0xffefff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("P1")
|
||||
AM_RANGE(0xa00000, 0xa0ffff) AM_RAM AM_BASE(&spriteram16_2) AM_SIZE(&spriteram_2_size)
|
||||
AM_RANGE(0xd00000, 0xd01fff) AM_RAM_WRITE(crshrace_videoram1_w) AM_BASE(&crshrace_videoram1)
|
||||
AM_RANGE(0xe00000, 0xe01fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
|
||||
AM_RANGE(0xfe0000, 0xfeffff) AM_RAM
|
||||
AM_RANGE(0xffc000, 0xffc001) AM_WRITE(crshrace_roz_bank_w)
|
||||
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE(crshrace_videoram2_w) AM_BASE(&crshrace_videoram2)
|
||||
AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(paletteram16_xGGGGGBBBBBRRRRR_word_w) AM_BASE(&paletteram16)
|
||||
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("P1") AM_WRITE(crshrace_gfxctrl_w)
|
||||
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("P2")
|
||||
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW0")
|
||||
AM_RANGE(0xfff006, 0xfff007) AM_READ_PORT("DSW2")
|
||||
AM_RANGE(0xfff008, 0xfff009) AM_WRITE(sound_command_w)
|
||||
AM_RANGE(0xfff00a, 0xfff00b) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0xfff00e, 0xfff00f) AM_READ_PORT("P3")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x07ffff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0xa00000, 0xa0ffff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16_2) AM_SIZE(&spriteram_2_size) // RAM-5
|
||||
AM_RANGE(0xd00000, 0xd01fff) AM_WRITE(crshrace_videoram1_w) AM_BASE(&crshrace_videoram1) // RAM-3 H/L
|
||||
AM_RANGE(0xe00000, 0xe01fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // RAM-6
|
||||
AM_RANGE(0xffc000, 0xffc001) AM_WRITE(crshrace_roz_bank_w)
|
||||
AM_RANGE(0xfe0000, 0xfeffff) AM_WRITE(SMH_RAM) /* work RAM */ // RAM-1 H/L
|
||||
AM_RANGE(0xffd000, 0xffdfff) AM_WRITE(crshrace_videoram2_w) AM_BASE(&crshrace_videoram2) // RAM-2 H/L
|
||||
AM_RANGE(0xffe000, 0xffefff) AM_WRITE(paletteram16_xGGGGGBBBBBRRRRR_word_w) AM_BASE(&paletteram16) // RAM-4 H/L
|
||||
AM_RANGE(0xfff000, 0xfff001) AM_WRITE(crshrace_gfxctrl_w)
|
||||
AM_RANGE(0xfff008, 0xfff009) AM_WRITE(sound_command_w)
|
||||
AM_RANGE(0xfff020, 0xfff03f) AM_WRITE(SMH_RAM) AM_BASE(&K053936_0_ctrl)
|
||||
AM_RANGE(0xfff044, 0xfff047) AM_WRITE(SMH_RAM) // ??? moves during race
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x77ff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x7800, 0x7fff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x8000, 0xffff) AM_READ(SMH_BANK1)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x77ff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x7800, 0x7fff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM)
|
||||
static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x77ff) AM_ROM
|
||||
AM_RANGE(0x7800, 0x7fff) AM_RAM
|
||||
AM_RANGE(0x8000, 0xffff) AM_READWRITE(SMH_BANK1, SMH_ROM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sound_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
@ -459,11 +442,11 @@ static MACHINE_DRIVER_START( crshrace )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M68000,16000000) /* 16 MHz ??? */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(crshrace_map,0)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
|
||||
|
||||
MDRV_CPU_ADD("audiocpu", Z80,4000000) /* 4 MHz ??? */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
MDRV_CPU_IO_MAP(sound_io_map,0)
|
||||
|
||||
/* video hardware */
|
||||
|
@ -258,9 +258,9 @@ static READ8_HANDLER(pal_r)
|
||||
return paletteram[offset];
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x8000, 0xafff) AM_READ(SMH_BANK1)
|
||||
static ADDRESS_MAP_START( cshooter_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0x8000, 0xafff) AM_READWRITE(SMH_BANK1, SMH_RAM)
|
||||
AM_RANGE(0xb000, 0xb0ff) AM_READ(SMH_RAM) // sound related ?
|
||||
AM_RANGE(0xc000, 0xc1ff) AM_WRITE(pal_w) AM_READ(pal_r) AM_BASE(&paletteram)
|
||||
AM_RANGE(0xc200, 0xc200) AM_READ_PORT("IN0")
|
||||
@ -269,25 +269,17 @@ static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0xc203, 0xc203) AM_READ_PORT("DSW2")
|
||||
AM_RANGE(0xc204, 0xc204) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0xc205, 0xc205) AM_READ(cshooter_coin_r) // hack until I understand
|
||||
AM_RANGE(0xd000, 0xd7ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0xd800, 0xdfff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0xe000, 0xffff) 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, 0xafff) AM_WRITE(SMH_RAM) // to be confirmed
|
||||
AM_RANGE(0xc500, 0xc500) AM_WRITE(cshooter_c500_w)
|
||||
AM_RANGE(0xc600, 0xc600) AM_WRITENOP // see notes
|
||||
AM_RANGE(0xc700, 0xc700) AM_WRITE(cshooter_c700_w)
|
||||
AM_RANGE(0xc801, 0xc801) AM_WRITENOP // see notes
|
||||
AM_RANGE(0xd000, 0xd7ff) AM_WRITE(cshooter_txram_w) AM_BASE(&cshooter_txram)
|
||||
AM_RANGE(0xd800, 0xdfff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0xe000, 0xffff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(cshooter_txram_w) AM_BASE(&cshooter_txram)
|
||||
AM_RANGE(0xd800, 0xdfff) AM_RAM
|
||||
AM_RANGE(0xe000, 0xffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( arreadmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
|
||||
static ADDRESS_MAP_START( airraid_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0x8000, 0xbfff) AM_READ(SMH_BANK1)
|
||||
AM_RANGE(0xb000, 0xb0ff) AM_RAM // sound related ?
|
||||
AM_RANGE(0xb100, 0xb1ff) AM_RAM//READ(SMH_BANK1) // sound related ?
|
||||
@ -296,7 +288,11 @@ static ADDRESS_MAP_START( arreadmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0xc002, 0xc002) AM_READ_PORT("IN2")
|
||||
AM_RANGE(0xc003, 0xc003) AM_READ_PORT("DSW2")
|
||||
AM_RANGE(0xc004, 0xc004) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0xd000, 0xd7ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0xc500, 0xc500) AM_WRITE(cshooter_c500_w)
|
||||
AM_RANGE(0xc600, 0xc600) AM_WRITENOP // see notes
|
||||
AM_RANGE(0xc700, 0xc700) AM_WRITE(cshooter_c700_w)
|
||||
AM_RANGE(0xc801, 0xc801) AM_WRITENOP // see notes
|
||||
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(cshooter_txram_w) AM_BASE(&cshooter_txram)
|
||||
AM_RANGE(0xd800, 0xdbff) AM_WRITE(pal2_w) AM_READ(pal_r) AM_BASE(&paletteram)
|
||||
AM_RANGE(0xdc11, 0xdc11) AM_WRITE(bank_w)
|
||||
AM_RANGE(0xdc00, 0xddff) AM_RAM
|
||||
@ -305,38 +301,21 @@ static ADDRESS_MAP_START( arreadmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0xfe00, 0xffff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( arwritemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0xc500, 0xc500) AM_WRITE(cshooter_c500_w)
|
||||
AM_RANGE(0xc600, 0xc600) AM_WRITENOP // see notes
|
||||
AM_RANGE(0xc700, 0xc700) AM_WRITE(cshooter_c700_w)
|
||||
AM_RANGE(0xc801, 0xc801) AM_WRITENOP // see notes
|
||||
AM_RANGE(0xd000, 0xd7ff) AM_WRITE(cshooter_txram_w) AM_BASE(&cshooter_txram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
/* Sound CPU */
|
||||
|
||||
static ADDRESS_MAP_START( s_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x1fff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0xf800, 0xffff) AM_READ(SMH_RAM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( s_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(0xc000, 0xc001) AM_WRITENOP // AM_DEVWRITE("ym1", ym2203_w) ?
|
||||
AM_RANGE(0xc800, 0xc801) AM_WRITENOP // AM_DEVWRITE("ym2", ym2203_w) ?
|
||||
AM_RANGE(0xf800, 0xffff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0xf800, 0xffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( s2_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
static ADDRESS_MAP_START( sound_map2, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x1fff) AM_ROM
|
||||
AM_RANGE(0x2000, 0x27ff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( s2_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x4000, 0x4001) AM_WRITENOP // AM_DEVWRITE("ym1", ym2203_w) ?
|
||||
AM_RANGE(0x4008, 0x4009) AM_WRITENOP // AM_DEVWRITE("ym2", ym2203_w) ?
|
||||
AM_RANGE(0x2000, 0x27ff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -442,11 +421,11 @@ GFXDECODE_END
|
||||
|
||||
static MACHINE_DRIVER_START( cshooter )
|
||||
MDRV_CPU_ADD("maincpu", Z80,XTAL_12MHz/2) /* verified on pcb */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(cshooter_map,0)
|
||||
MDRV_CPU_VBLANK_INT_HACK(cshooter_interrupt,2)
|
||||
|
||||
MDRV_CPU_ADD("audiocpu", Z80,XTAL_14_31818MHz/4) /* verified on pcb */
|
||||
MDRV_CPU_PROGRAM_MAP(s_readmem,s_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
|
||||
MDRV_MACHINE_RESET(cshooter)
|
||||
|
||||
@ -471,11 +450,11 @@ MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( airraid )
|
||||
MDRV_CPU_ADD("maincpu", Z80,XTAL_12MHz/2) /* verified on pcb */
|
||||
MDRV_CPU_PROGRAM_MAP(arreadmem,arwritemem)
|
||||
MDRV_CPU_PROGRAM_MAP(airraid_map,0)
|
||||
MDRV_CPU_VBLANK_INT_HACK(cshooter_interrupt,2)
|
||||
|
||||
MDRV_CPU_ADD("audiocpu", Z80,XTAL_14_31818MHz/4) /* verified on pcb */
|
||||
MDRV_CPU_PROGRAM_MAP(s2_readmem,s2_writemem)
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map2,0)
|
||||
|
||||
MDRV_MACHINE_RESET(cshooter)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user