diff --git a/src/mame/drivers/lkage.c b/src/mame/drivers/lkage.c index feed0f5faf5..2e494d67582 100644 --- a/src/mame/drivers/lkage.c +++ b/src/mame/drivers/lkage.c @@ -114,14 +114,14 @@ static WRITE8_HANDLER( lkage_sh_nmi_enable_w ) } } -static ADDRESS_MAP_START( lkage, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0xdfff) AM_READ(SMH_ROM) AM_WRITE(SMH_ROM) - AM_RANGE(0xe000, 0xe7ff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) /* work ram */ +static ADDRESS_MAP_START( lkage_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0xdfff) AM_ROM + AM_RANGE(0xe000, 0xe7ff) AM_RAM /* work ram */ AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_le_w) AM_BASE(&paletteram) - AM_RANGE(0xf000, 0xf003) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) AM_BASE(&lkage_vreg) /* video registers */ + AM_RANGE(0xf000, 0xf003) AM_RAM AM_BASE(&lkage_vreg) /* video registers */ AM_RANGE(0xf060, 0xf060) AM_WRITE(lkage_sound_command_w) AM_RANGE(0xf061, 0xf061) AM_WRITENOP - AM_RANGE(0xf062, 0xf062) AM_READ(lkage_mcu_r) AM_WRITE(lkage_mcu_w) + AM_RANGE(0xf062, 0xf062) AM_READWRITE(lkage_mcu_r,lkage_mcu_w) AM_RANGE(0xf063, 0xf063) AM_WRITENOP /* pulsed; nmi on sound cpu? */ AM_RANGE(0xf080, 0xf080) AM_READ_PORT("DSW1") AM_RANGE(0xf081, 0xf081) AM_READ_PORT("DSW2") @@ -130,11 +130,11 @@ static ADDRESS_MAP_START( lkage, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xf084, 0xf084) AM_READ_PORT("P1") AM_RANGE(0xf086, 0xf086) AM_READ_PORT("P2") AM_RANGE(0xf087, 0xf087) AM_READ(lkage_mcu_status_r) - AM_RANGE(0xf0a0, 0xf0a3) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) /* unknown */ - AM_RANGE(0xf0c0, 0xf0c5) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) AM_BASE(&lkage_scroll) + AM_RANGE(0xf0a0, 0xf0a3) AM_RAM /* unknown */ + AM_RANGE(0xf0c0, 0xf0c5) AM_RAM AM_BASE(&lkage_scroll) AM_RANGE(0xf0e1, 0xf0e1) AM_WRITENOP /* pulsed */ - AM_RANGE(0xf100, 0xf15f) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) - AM_RANGE(0xf400, 0xffff) AM_READ(SMH_RAM) AM_WRITE(lkage_videoram_w) AM_BASE(&videoram) /* videoram */ + AM_RANGE(0xf100, 0xf15f) AM_RAM AM_BASE(&spriteram) + AM_RANGE(0xf400, 0xffff) AM_RAM_WRITE(lkage_videoram_w) AM_BASE(&videoram) /* videoram */ ADDRESS_MAP_END static READ8_HANDLER( port_fetch_r ) @@ -142,54 +142,35 @@ static READ8_HANDLER( port_fetch_r ) return memory_region(space->machine, "user1")[offset]; } -static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 ) +static ADDRESS_MAP_START( lkage_io_map, ADDRESS_SPACE_IO, 8 ) AM_RANGE(0x4000, 0x7fff) AM_READ(port_fetch_r) ADDRESS_MAP_END -static ADDRESS_MAP_START( m68705_readmem, ADDRESS_SPACE_PROGRAM, 8 ) +static ADDRESS_MAP_START( lkage_m68705_map, ADDRESS_SPACE_PROGRAM, 8 ) ADDRESS_MAP_GLOBAL_MASK(0x7ff) - AM_RANGE(0x0000, 0x0000) AM_READ(lkage_68705_portA_r) - AM_RANGE(0x0001, 0x0001) AM_READ(lkage_68705_portB_r) - AM_RANGE(0x0002, 0x0002) AM_READ(lkage_68705_portC_r) - AM_RANGE(0x0010, 0x007f) AM_READ(SMH_RAM) - AM_RANGE(0x0080, 0x07ff) AM_READ(SMH_ROM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( m68705_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - ADDRESS_MAP_GLOBAL_MASK(0x7ff) - AM_RANGE(0x0000, 0x0000) AM_WRITE(lkage_68705_portA_w) - AM_RANGE(0x0001, 0x0001) AM_WRITE(lkage_68705_portB_w) - AM_RANGE(0x0002, 0x0002) AM_WRITE(lkage_68705_portC_w) + AM_RANGE(0x0000, 0x0000) AM_READWRITE(lkage_68705_portA_r,lkage_68705_portA_w) + AM_RANGE(0x0001, 0x0001) AM_READWRITE(lkage_68705_portB_r,lkage_68705_portB_w) + AM_RANGE(0x0002, 0x0002) AM_READWRITE(lkage_68705_portC_r,lkage_68705_portC_w) AM_RANGE(0x0004, 0x0004) AM_WRITE(lkage_68705_ddrA_w) AM_RANGE(0x0005, 0x0005) AM_WRITE(lkage_68705_ddrB_w) AM_RANGE(0x0006, 0x0006) AM_WRITE(lkage_68705_ddrC_w) - AM_RANGE(0x0010, 0x007f) AM_WRITE(SMH_RAM) - AM_RANGE(0x0080, 0x07ff) AM_WRITE(SMH_ROM) + AM_RANGE(0x0010, 0x007f) AM_RAM + AM_RANGE(0x0080, 0x07ff) AM_ROM ADDRESS_MAP_END /***************************************************************************/ /* sound section is almost identical to Bubble Bobble, YM2203 instead of YM3526 */ -static ADDRESS_MAP_START( readmem_sound, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) - AM_RANGE(0x8000, 0x87ff) AM_READ(SMH_RAM) - AM_RANGE(0x9000, 0x9001) AM_DEVREAD("ym1", ym2203_r) - AM_RANGE(0xa000, 0xa001) AM_DEVREAD("ym2", ym2203_r) - AM_RANGE(0xb000, 0xb000) AM_READ(soundlatch_r) - AM_RANGE(0xb001, 0xb001) AM_READNOP /* ??? */ - AM_RANGE(0xe000, 0xefff) AM_READ(SMH_ROM) /* space for diagnostic ROM? */ -ADDRESS_MAP_END - -static ADDRESS_MAP_START( writemem_sound, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x9000, 0x9001) AM_DEVWRITE("ym1", ym2203_w) - AM_RANGE(0xa000, 0xa001) AM_DEVWRITE("ym2", ym2203_w) - AM_RANGE(0xb000, 0xb000) AM_WRITENOP /* ??? */ - AM_RANGE(0xb001, 0xb001) AM_WRITE(lkage_sh_nmi_enable_w) +static ADDRESS_MAP_START( lkage_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x7fff) AM_ROM + AM_RANGE(0x8000, 0x87ff) AM_RAM + AM_RANGE(0x9000, 0x9001) AM_DEVREADWRITE("ym1", ym2203_r,ym2203_w) + AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ym2", ym2203_r,ym2203_w) + AM_RANGE(0xb000, 0xb000) AM_READ(soundlatch_r) AM_WRITENOP /* ??? */ + AM_RANGE(0xb001, 0xb001) AM_READNOP /* ??? */ AM_WRITE(lkage_sh_nmi_enable_w) AM_RANGE(0xb002, 0xb002) AM_WRITE(lkage_sh_nmi_disable_w) - AM_RANGE(0xe000, 0xefff) AM_WRITE(SMH_ROM) /* space for diagnostic ROM? */ + AM_RANGE(0xe000, 0xefff) AM_ROM /* space for diagnostic ROM? */ ADDRESS_MAP_END /***************************************************************************/ @@ -372,15 +353,16 @@ static const ym2203_interface ym2203_config = static MACHINE_DRIVER_START( lkage ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", Z80,6000000) - MDRV_CPU_PROGRAM_MAP(lkage,0) - MDRV_CPU_IO_MAP(readport,0) + MDRV_CPU_PROGRAM_MAP(lkage_map,0) + MDRV_CPU_IO_MAP(lkage_io_map,0) MDRV_CPU_VBLANK_INT("screen", irq0_line_hold) MDRV_CPU_ADD("audiocpu", Z80, 6000000) - MDRV_CPU_PROGRAM_MAP(readmem_sound,writemem_sound) + MDRV_CPU_PROGRAM_MAP(lkage_sound_map,0) /* IRQs are triggered by the YM2203 */ + MDRV_CPU_ADD("mcu", M68705,4000000) /* ??? */ - MDRV_CPU_PROGRAM_MAP(m68705_readmem,m68705_writemem) + MDRV_CPU_PROGRAM_MAP(lkage_m68705_map,0) /* video hardware */ MDRV_SCREEN_ADD("screen", RASTER) @@ -417,12 +399,12 @@ MACHINE_DRIVER_END static MACHINE_DRIVER_START( lkageb ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", Z80,6000000) - MDRV_CPU_PROGRAM_MAP(lkage,0) - MDRV_CPU_IO_MAP(readport,0) + MDRV_CPU_PROGRAM_MAP(lkage_map,0) + MDRV_CPU_IO_MAP(lkage_io_map,0) MDRV_CPU_VBLANK_INT("screen", irq0_line_hold) MDRV_CPU_ADD("audiocpu", Z80, 6000000) - MDRV_CPU_PROGRAM_MAP(readmem_sound,writemem_sound) + MDRV_CPU_PROGRAM_MAP(lkage_sound_map,0) /* IRQs are triggered by the YM2203 */ /* video hardware */ diff --git a/src/mame/drivers/lsasquad.c b/src/mame/drivers/lsasquad.c index 86a8752a725..1ab2532bddd 100644 --- a/src/mame/drivers/lsasquad.c +++ b/src/mame/drivers/lsasquad.c @@ -168,10 +168,13 @@ static WRITE8_HANDLER( lsasquad_bankswitch_w ) /* other bits unknown */ } -static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) - AM_RANGE(0x8000, 0x9fff) AM_READ(SMH_BANK(1)) - AM_RANGE(0xa000, 0xe5ff) AM_READ(SMH_RAM) +static ADDRESS_MAP_START( lsasquad_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x7fff) AM_ROM + AM_RANGE(0x8000, 0x9fff) AM_ROMBANK(1) + AM_RANGE(0xa000, 0xbfff) AM_RAM /* SRAM */ + AM_RANGE(0xc000, 0xdfff) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size) /* SCREEN RAM */ + AM_RANGE(0xe000, 0xe3ff) AM_RAM AM_BASE(&lsasquad_scrollram) /* SCROLL RAM */ + AM_RANGE(0xe400, 0xe5ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) /* OBJECT RAM */ AM_RANGE(0xe800, 0xe800) AM_READ_PORT("DSWA") AM_RANGE(0xe801, 0xe801) AM_READ_PORT("DSWB") AM_RANGE(0xe802, 0xe802) AM_READ_PORT("DSWC") @@ -180,63 +183,36 @@ static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xe805, 0xe805) AM_READ_PORT("P2") AM_RANGE(0xe806, 0xe806) AM_READ_PORT("START") AM_RANGE(0xe807, 0xe807) AM_READ_PORT("SERVICE") - AM_RANGE(0xec00, 0xec00) AM_READ(lsasquad_sound_result_r) - AM_RANGE(0xec01, 0xec01) AM_READ(lsasquad_sound_status_r) - AM_RANGE(0xee00, 0xee00) AM_READ(lsasquad_mcu_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x9fff) AM_WRITE(SMH_ROM) - AM_RANGE(0xa000, 0xbfff) AM_WRITE(SMH_RAM) /* SRAM */ - AM_RANGE(0xc000, 0xdfff) AM_WRITE(SMH_RAM) AM_BASE(&videoram) AM_SIZE(&videoram_size) /* SCREEN RAM */ - AM_RANGE(0xe000, 0xe3ff) AM_WRITE(SMH_RAM) AM_BASE(&lsasquad_scrollram) /* SCROLL RAM */ - AM_RANGE(0xe400, 0xe5ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size) /* OBJECT RAM */ AM_RANGE(0xea00, 0xea00) AM_WRITE(lsasquad_bankswitch_w) - AM_RANGE(0xec00, 0xec00) AM_WRITE(lsasquad_sound_command_w) - AM_RANGE(0xee00, 0xee00) AM_WRITE(lsasquad_mcu_w) + AM_RANGE(0xec00, 0xec00) AM_READWRITE(lsasquad_sound_result_r,lsasquad_sound_command_w) + AM_RANGE(0xec01, 0xec01) AM_READ(lsasquad_sound_status_r) + AM_RANGE(0xee00, 0xee00) AM_READWRITE(lsasquad_mcu_r,lsasquad_mcu_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) - AM_RANGE(0x8000, 0x87ff) AM_READ(SMH_RAM) - AM_RANGE(0xa000, 0xa001) AM_DEVREAD("ym", ym2203_r) - AM_RANGE(0xd000, 0xd000) AM_READ(lsasquad_sh_sound_command_r) - AM_RANGE(0xd800, 0xd800) AM_READ(lsasquad_sound_status_r) - AM_RANGE(0xe000, 0xefff) AM_READ(SMH_ROM) /* space for diagnostic ROM? */ -ADDRESS_MAP_END - -static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM) - AM_RANGE(0xa000, 0xa001) AM_DEVWRITE("ym", ym2203_w) +static ADDRESS_MAP_START( lsasquad_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x7fff) AM_ROM + AM_RANGE(0x8000, 0x87ff) AM_RAM + AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ym", ym2203_r,ym2203_w) AM_RANGE(0xc000, 0xc001) AM_DEVWRITE("ay", ay8910_address_data_w) - AM_RANGE(0xd000, 0xd000) AM_WRITE(lsasquad_sh_result_w) + AM_RANGE(0xd000, 0xd000) AM_READWRITE(lsasquad_sh_sound_command_r,lsasquad_sh_result_w) AM_RANGE(0xd400, 0xd400) AM_WRITE(lsasquad_sh_nmi_disable_w) AM_RANGE(0xd800, 0xd800) AM_WRITE(lsasquad_sh_nmi_enable_w) - AM_RANGE(0xe000, 0xefff) AM_WRITE(SMH_ROM) /* space for diagnostic ROM? */ + AM_RANGE(0xd800, 0xd800) AM_READ(lsasquad_sound_status_r) + AM_RANGE(0xe000, 0xefff) AM_ROM /* space for diagnostic ROM? */ ADDRESS_MAP_END -static ADDRESS_MAP_START( m68705_readmem, ADDRESS_SPACE_PROGRAM, 8 ) +static ADDRESS_MAP_START( lsasquad_m68705_map, ADDRESS_SPACE_PROGRAM, 8 ) ADDRESS_MAP_GLOBAL_MASK(0x7ff) - AM_RANGE(0x0000, 0x0000) AM_READ(lsasquad_68705_portA_r) - AM_RANGE(0x0001, 0x0001) AM_READ(lsasquad_68705_portB_r) + AM_RANGE(0x0000, 0x0000) AM_READWRITE(lsasquad_68705_portA_r,lsasquad_68705_portA_w) + AM_RANGE(0x0001, 0x0001) AM_READWRITE(lsasquad_68705_portB_r,lsasquad_68705_portB_w) AM_RANGE(0x0002, 0x0002) AM_READ(lsasquad_mcu_status_r) - AM_RANGE(0x0010, 0x007f) AM_READ(SMH_RAM) - AM_RANGE(0x0080, 0x07ff) AM_READ(SMH_ROM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( m68705_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - ADDRESS_MAP_GLOBAL_MASK(0x7ff) - AM_RANGE(0x0000, 0x0000) AM_WRITE(lsasquad_68705_portA_w) - AM_RANGE(0x0001, 0x0001) AM_WRITE(lsasquad_68705_portB_w) AM_RANGE(0x0004, 0x0004) AM_WRITE(lsasquad_68705_ddrA_w) AM_RANGE(0x0005, 0x0005) AM_WRITE(lsasquad_68705_ddrB_w) - AM_RANGE(0x0010, 0x007f) AM_WRITE(SMH_RAM) - AM_RANGE(0x0080, 0x07ff) AM_WRITE(SMH_ROM) + AM_RANGE(0x0010, 0x007f) AM_RAM + AM_RANGE(0x0080, 0x07ff) AM_ROM ADDRESS_MAP_END - static INPUT_PORTS_START( lsasquad ) PORT_START("DSWA") PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) @@ -362,7 +338,7 @@ INPUT_PORTS_END /* DAIKAIJU */ -static ADDRESS_MAP_START( mem_daikaiju, ADDRESS_SPACE_PROGRAM, 8 ) +static ADDRESS_MAP_START( daikaiju_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x8000, 0x9fff) AM_READ(SMH_BANK(1)) AM_RANGE(0xa000, 0xbfff) AM_RAM /* SRAM */ @@ -382,7 +358,7 @@ static ADDRESS_MAP_START( mem_daikaiju, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xee00, 0xee00) AM_READWRITE(daikaiju_mcu_r, daikaiju_mcu_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( sound_mem_daikaiju, ADDRESS_SPACE_PROGRAM, 8 ) +static ADDRESS_MAP_START( daikaiju_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x8000, 0x87ff) AM_RAM AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ym", ym2203_r, ym2203_w) @@ -556,14 +532,14 @@ static MACHINE_DRIVER_START( lsasquad ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", Z80, 6000000) /* 6 MHz? */ - MDRV_CPU_PROGRAM_MAP(readmem,writemem) + MDRV_CPU_PROGRAM_MAP(lsasquad_map,0) MDRV_CPU_VBLANK_INT("screen", irq0_line_hold) MDRV_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz? */ - MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem) + MDRV_CPU_PROGRAM_MAP(lsasquad_sound_map,0) /* IRQs are triggered by the YM2203 */ MDRV_CPU_ADD("mcu", M68705,4000000) /* ? */ - MDRV_CPU_PROGRAM_MAP(m68705_readmem,m68705_writemem) + MDRV_CPU_PROGRAM_MAP(lsasquad_m68705_map,0) MDRV_QUANTUM_TIME(HZ(30000)) /* 500 CPU slices per frame - an high value to ensure proper */ /* synchronization of the CPUs */ @@ -601,11 +577,11 @@ static MACHINE_DRIVER_START( daikaiju ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", Z80, 6000000) - MDRV_CPU_PROGRAM_MAP(mem_daikaiju, 0) + MDRV_CPU_PROGRAM_MAP(daikaiju_map, 0) MDRV_CPU_VBLANK_INT("screen", irq0_line_hold) MDRV_CPU_ADD("audiocpu", Z80, 3000000) - MDRV_CPU_PROGRAM_MAP(sound_mem_daikaiju, 0) + MDRV_CPU_PROGRAM_MAP(daikaiju_sound_map, 0) /* IRQs are triggered by the YM2203 */ MDRV_QUANTUM_TIME(HZ(30000)) /* 500 CPU slices per frame - an high value to ensure proper */ diff --git a/src/mame/drivers/lwings.c b/src/mame/drivers/lwings.c index 54b0f086931..ded52835e6b 100644 --- a/src/mame/drivers/lwings.c +++ b/src/mame/drivers/lwings.c @@ -302,9 +302,11 @@ static ADDRESS_MAP_START( lwings_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xf400, 0xf7ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_split1_w) AM_BASE(&paletteram) AM_RANGE(0xf808, 0xf808) AM_READ_PORT("SERVICE") - AM_RANGE(0xf809, 0xf809) AM_READ_PORT("P1") AM_WRITE(lwings_bg1_scrollx_w) + AM_RANGE(0xf809, 0xf809) AM_READ_PORT("P1") + AM_RANGE(0xf808, 0xf809) AM_WRITE(lwings_bg1_scrollx_w) AM_RANGE(0xf80a, 0xf80a) AM_READ_PORT("P2") - AM_RANGE(0xf80b, 0xf80b) AM_READ_PORT("DSWA") AM_WRITE(lwings_bg1_scrolly_w) + AM_RANGE(0xf80b, 0xf80b) AM_READ_PORT("DSWA") + AM_RANGE(0xf80a, 0xf80b) AM_WRITE(lwings_bg1_scrolly_w) AM_RANGE(0xf80c, 0xf80c) AM_READ_PORT("DSWB") AM_WRITE(soundlatch_w) AM_RANGE(0xf80d, 0xf80d) AM_WRITE(watchdog_reset_w) AM_RANGE(0xf80e, 0xf80e) AM_WRITE(lwings_bankswitch_w)