diff --git a/src/mame/drivers/truco.c b/src/mame/drivers/truco.c index 69c3bf6a131..2db36b36a59 100644 --- a/src/mame/drivers/truco.c +++ b/src/mame/drivers/truco.c @@ -29,25 +29,15 @@ PALETTE_INIT( truco ); /***************************************************************************/ -static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x17ff) AM_READ(SMH_RAM) /* general purpose ram */ - AM_RANGE(0x1800, 0x7bff) AM_READ(SMH_RAM) /* video ram */ - AM_RANGE(0x7c00, 0x7fff) AM_READ(SMH_RAM) /* battery backed ram */ - AM_RANGE(0x8000, 0x8000) AM_READ(input_port_0_r) /* controls (and irq ack?) */ - AM_RANGE(0x8001, 0x8001) AM_READ(SMH_NOP) /* unknown */ - AM_RANGE(0x8002, 0x8002) AM_READ(input_port_1_r) /* dipswitches */ - AM_RANGE(0x8003, 0x8007) AM_READ(SMH_NOP) /* unknown */ - AM_RANGE(0x8008, 0xffff) AM_READ(SMH_ROM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x17ff) AM_WRITE(SMH_RAM) /* general purpose ram */ - AM_RANGE(0x1800, 0x7bff) AM_WRITE(SMH_RAM) AM_BASE(&videoram) /* video ram */ - AM_RANGE(0x7c00, 0x7fff) AM_WRITE(SMH_RAM) AM_BASE(&battery_ram) /* battery backed ram */ - AM_RANGE(0x8000, 0x8001) AM_WRITE(SMH_NOP) /* unknown */ - AM_RANGE(0x8002, 0x8002) AM_WRITE(DAC_0_data_w) - AM_RANGE(0x8003, 0x8007) AM_WRITE(SMH_NOP) /* unknown */ - AM_RANGE(0x8008, 0xffff) AM_WRITE(SMH_ROM) +static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x17ff) AM_RAM /* general purpose ram */ + AM_RANGE(0x1800, 0x7bff) AM_RAM AM_BASE(&videoram) /* video ram */ + AM_RANGE(0x7c00, 0x7fff) AM_RAM AM_BASE(&battery_ram) /* battery backed ram */ + AM_RANGE(0x8000, 0x8000) AM_READWRITE(input_port_0_r, SMH_NOP) /* controls (and irq ack?) */ + AM_RANGE(0x8001, 0x8001) AM_READWRITE(SMH_NOP, SMH_NOP) /* unknown */ + AM_RANGE(0x8002, 0x8002) AM_READWRITE(input_port_1_r, DAC_0_data_w) /* dipswitches */ + AM_RANGE(0x8003, 0x8007) AM_READWRITE(SMH_NOP, SMH_NOP) /* unknown */ + AM_RANGE(0x8008, 0xffff) AM_ROM ADDRESS_MAP_END static INPUT_PORTS_START( truco ) @@ -149,7 +139,7 @@ static MACHINE_DRIVER_START( truco ) /* basic machine hardware */ MDRV_CPU_ADD(M6809, 750000) /* ?? guess */ - MDRV_CPU_PROGRAM_MAP(readmem,writemem) + MDRV_CPU_PROGRAM_MAP(main_map,0) MDRV_CPU_VBLANK_INT("main", truco_interrupt) diff --git a/src/mame/drivers/trucocl.c b/src/mame/drivers/trucocl.c index a5381aa5378..63759f3b32e 100644 --- a/src/mame/drivers/trucocl.c +++ b/src/mame/drivers/trucocl.c @@ -85,24 +85,16 @@ static WRITE8_HANDLER( audio_dac_w) timer_set( ATTOTIME_IN_HZ( 16000 ), NULL, 0, dac_irq ); } -static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM) - AM_RANGE(0x4000, 0x43ff) AM_READ(SMH_RAM) - AM_RANGE(0x4400, 0x47ff) AM_READ(SMH_RAM) - AM_RANGE(0x4c00, 0x4fff) AM_READ(SMH_RAM) - AM_RANGE(0x5000, 0x503f) AM_READ(input_port_0_r) /* IN0 */ - AM_RANGE(0x8000, 0xffff) AM_READ(SMH_ROM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x4000, 0x43ff) AM_WRITE(trucocl_videoram_w) AM_BASE(&videoram) - AM_RANGE(0x4400, 0x47ff) AM_WRITE(trucocl_colorram_w) AM_BASE(&colorram) - AM_RANGE(0x4c00, 0x4fff) AM_WRITE(SMH_RAM) +static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x3fff) AM_ROM + AM_RANGE(0x4000, 0x43ff) AM_RAM_WRITE(trucocl_videoram_w) AM_BASE(&videoram) + AM_RANGE(0x4400, 0x47ff) AM_RAM_WRITE(trucocl_colorram_w) AM_BASE(&colorram) + AM_RANGE(0x4c00, 0x4fff) AM_RAM AM_RANGE(0x5000, 0x5000) AM_WRITE(irq_enable_w) + AM_RANGE(0x5000, 0x503f) AM_READ(input_port_0_r) /* IN0 */ AM_RANGE(0x5080, 0x5080) AM_WRITE(audio_dac_w) AM_RANGE(0x50c0, 0x50c0) AM_WRITE(watchdog_reset_w) - AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM) + AM_RANGE(0x8000, 0xffff) AM_ROM ADDRESS_MAP_END static INPUT_PORTS_START( trucocl ) @@ -144,7 +136,7 @@ static INTERRUPT_GEN( trucocl_interrupt ) static MACHINE_DRIVER_START( trucocl ) /* basic machine hardware */ MDRV_CPU_ADD(Z80, 18432000/6) - MDRV_CPU_PROGRAM_MAP(readmem,writemem) + MDRV_CPU_PROGRAM_MAP(main_map,0) MDRV_CPU_VBLANK_INT("main", trucocl_interrupt) /* video hardware */ diff --git a/src/mame/drivers/tugboat.c b/src/mame/drivers/tugboat.c index 46676271fba..1946a83b0e6 100644 --- a/src/mame/drivers/tugboat.c +++ b/src/mame/drivers/tugboat.c @@ -184,28 +184,20 @@ static MACHINE_RESET( tugboat ) } -static ADDRESS_MAP_START( tugboat_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x01ff) AM_READ(SMH_RAM) - AM_RANGE(0x11e4, 0x11e7) AM_READ(pia_0_r) - AM_RANGE(0x11e8, 0x11eb) AM_READ(pia_1_r) - //AM_RANGE(0x1700, 0x1fff) AM_READ(SMH_RAM) - AM_RANGE(0x2000, 0x2fff) AM_READ(SMH_RAM) - AM_RANGE(0x4000, 0x7fff) AM_READ(SMH_ROM) - AM_RANGE(0xfff0, 0xffff) AM_READ(SMH_ROM) /* vectors */ -ADDRESS_MAP_END - -static ADDRESS_MAP_START( tugboat_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x01ff) AM_WRITE(SMH_RAM) AM_BASE(&tugboat_ram) +static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x01ff) AM_RAM AM_BASE(&tugboat_ram) AM_RANGE(0x1060, 0x1060) AM_WRITE(AY8910_control_port_0_w) AM_RANGE(0x1061, 0x1061) AM_WRITE(AY8910_write_port_0_w) - AM_RANGE(0x10a0, 0x10a1) AM_WRITE(tugboat_hd46505_0_w) // scrolling is performed changing the start_addr register (0C/0D) + AM_RANGE(0x10a0, 0x10a1) AM_WRITE(tugboat_hd46505_0_w) /* scrolling is performed changing the start_addr register (0C/0D) */ AM_RANGE(0x10c0, 0x10c1) AM_WRITE(tugboat_hd46505_1_w) - AM_RANGE(0x11e4, 0x11e7) AM_WRITE(pia_0_w) - AM_RANGE(0x11e8, 0x11eb) AM_WRITE(pia_1_w) - //AM_RANGE(0x1700, 0x1fff) AM_WRITE(SMH_RAM) + AM_RANGE(0x11e4, 0x11e7) AM_READWRITE(pia_0_r, pia_0_w) + AM_RANGE(0x11e8, 0x11eb) AM_READWRITE(pia_1_r, pia_1_w) + //AM_RANGE(0x1700, 0x1fff) AM_RAM AM_RANGE(0x18e0, 0x18ef) AM_WRITE(tugboat_score_w) - AM_RANGE(0x2000, 0x2fff) AM_WRITE(SMH_RAM) /* tilemap RAM */ + AM_RANGE(0x2000, 0x2fff) AM_RAM /* tilemap RAM */ + AM_RANGE(0x4000, 0x7fff) AM_READ(SMH_ROM) AM_RANGE(0x5000, 0x7fff) AM_WRITE(SMH_ROM) + AM_RANGE(0xfff0, 0xffff) AM_READ(SMH_ROM) /* vectors */ ADDRESS_MAP_END @@ -373,7 +365,7 @@ GFXDECODE_END static MACHINE_DRIVER_START( tugboat ) MDRV_CPU_ADD_TAG("main", M6502, 2000000) /* 2 MHz ???? */ - MDRV_CPU_PROGRAM_MAP(tugboat_readmem,tugboat_writemem) + MDRV_CPU_PROGRAM_MAP(main_map,0) MDRV_CPU_VBLANK_INT("main", nmi_line_pulse) MDRV_MACHINE_START(tugboat) diff --git a/src/mame/drivers/tumblep.c b/src/mame/drivers/tumblep.c index 36132be9d46..705f72e50fa 100644 --- a/src/mame/drivers/tumblep.c +++ b/src/mame/drivers/tumblep.c @@ -106,30 +106,22 @@ static READ16_HANDLER( tumblepop_controls_r ) /******************************************************************************/ -static ADDRESS_MAP_START( tumblepop_readmem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x07ffff) AM_READ(SMH_ROM) - AM_RANGE(0x120000, 0x123fff) AM_READ(SMH_RAM) - AM_RANGE(0x140000, 0x1407ff) AM_READ(SMH_RAM) - AM_RANGE(0x180000, 0x18000f) AM_READ(tumblepop_controls_r) - AM_RANGE(0x1a0000, 0x1a07ff) AM_READ(SMH_RAM) - AM_RANGE(0x320000, 0x320fff) AM_READ(SMH_RAM) - AM_RANGE(0x322000, 0x322fff) AM_READ(SMH_RAM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( tumblepop_writemem, ADDRESS_SPACE_PROGRAM, 16 ) +static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) #if TUMBLEP_HACK AM_RANGE(0x000000, 0x07ffff) AM_WRITE(SMH_RAM) // To write levels modifications + AM_RANGE(0x000000, 0x07ffff) AM_READ(SMH_ROM) #else - AM_RANGE(0x000000, 0x07ffff) AM_WRITE(SMH_ROM) + AM_RANGE(0x000000, 0x07ffff) AM_ROM #endif AM_RANGE(0x100000, 0x100001) AM_WRITE(tumblep_sound_w) - AM_RANGE(0x120000, 0x123fff) AM_WRITE(SMH_RAM) - AM_RANGE(0x140000, 0x1407ff) AM_READ(SMH_RAM) AM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16) + AM_RANGE(0x120000, 0x123fff) AM_RAM + AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16) + AM_RANGE(0x180000, 0x18000f) AM_READ(tumblepop_controls_r) AM_RANGE(0x18000c, 0x18000d) AM_WRITE(SMH_NOP) - AM_RANGE(0x1a0000, 0x1a07ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) + AM_RANGE(0x1a0000, 0x1a07ff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) AM_RANGE(0x300000, 0x30000f) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf12_control) - AM_RANGE(0x320000, 0x320fff) AM_WRITE(deco16_pf1_data_w) AM_BASE(&deco16_pf1_data) - AM_RANGE(0x322000, 0x322fff) AM_WRITE(deco16_pf2_data_w) AM_BASE(&deco16_pf2_data) + AM_RANGE(0x320000, 0x320fff) AM_RAM_WRITE(deco16_pf1_data_w) AM_BASE(&deco16_pf1_data) + AM_RANGE(0x322000, 0x322fff) AM_RAM_WRITE(deco16_pf2_data_w) AM_BASE(&deco16_pf2_data) AM_RANGE(0x340000, 0x3407ff) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf1_rowscroll) // unused AM_RANGE(0x342000, 0x3427ff) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf2_rowscroll) // unused ADDRESS_MAP_END @@ -149,23 +141,14 @@ static WRITE8_HANDLER( YM2151_w ) } /* Physical memory map (21 bits) */ -static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x000000, 0x00ffff) AM_READ(SMH_ROM) - AM_RANGE(0x100000, 0x100001) AM_READ(SMH_NOP) - AM_RANGE(0x110000, 0x110001) AM_READ(YM2151_status_port_0_r) - AM_RANGE(0x120000, 0x120001) AM_READ(OKIM6295_status_0_r) - AM_RANGE(0x130000, 0x130001) AM_READ(SMH_NOP) /* This board only has 1 oki chip */ +static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x000000, 0x00ffff) AM_ROM + AM_RANGE(0x100000, 0x100001) AM_NOP /* YM2203 - this board doesn't have one */ + AM_RANGE(0x110000, 0x110001) AM_READWRITE(YM2151_status_port_0_r, YM2151_w) + AM_RANGE(0x120000, 0x120001) AM_READWRITE(OKIM6295_status_0_r, OKIM6295_data_0_w) + AM_RANGE(0x130000, 0x130001) AM_NOP /* This board only has 1 oki chip */ 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_WRITE(SMH_NOP) /* YM2203 - this board doesn't have one */ - AM_RANGE(0x110000, 0x110001) AM_WRITE(YM2151_w) - AM_RANGE(0x120000, 0x120001) AM_WRITE(OKIM6295_data_0_w) - AM_RANGE(0x130000, 0x130001) AM_WRITE(SMH_NOP) - 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 @@ -320,12 +303,12 @@ static MACHINE_DRIVER_START( tumblep ) /* basic machine hardware */ MDRV_CPU_ADD(M68000, 14000000) - MDRV_CPU_PROGRAM_MAP(tumblepop_readmem,tumblepop_writemem) + MDRV_CPU_PROGRAM_MAP(main_map,0) MDRV_CPU_VBLANK_INT("main", irq6_line_hold) - MDRV_CPU_ADD(H6280, 32220000/8) /* Custom chip 45; Audio section crystal is 32.220 MHz */ /* audio CPU */ - MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem) + MDRV_CPU_ADD(H6280, 32220000/8) /* Custom chip 45; Audio section crystal is 32.220 MHz */ + MDRV_CPU_PROGRAM_MAP(sound_map,0) /* video hardware */ MDRV_SCREEN_ADD("main", RASTER) diff --git a/src/mame/drivers/tunhunt.c b/src/mame/drivers/tunhunt.c index c1383ff3811..b10ac58edfe 100644 --- a/src/mame/drivers/tunhunt.c +++ b/src/mame/drivers/tunhunt.c @@ -145,37 +145,29 @@ static READ8_HANDLER( dsw2_4r ) * *************************************/ -static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x03ff) AM_READ(SMH_RAM) /* Work RAM */ - AM_RANGE(0x2000, 0x2007) AM_READ(tunhunt_button_r) - AM_RANGE(0x3000, 0x300f) AM_READ(pokey1_r) - AM_RANGE(0x4000, 0x400f) AM_READ(pokey2_r) - AM_RANGE(0x5000, 0x7fff) AM_READ(SMH_ROM) - AM_RANGE(0xfffa, 0xffff) AM_READ(SMH_ROM) -ADDRESS_MAP_END - - -static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x03ff) AM_WRITE(SMH_RAM) AM_BASE(&tunhunt_ram) /* Work RAM */ +static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x03ff) AM_RAM AM_BASE(&tunhunt_ram) /* Work RAM */ AM_RANGE(0x1080, 0x10ff) AM_WRITE(SMH_RAM) AM_RANGE(0x1200, 0x12ff) AM_WRITE(SMH_RAM) AM_RANGE(0x1400, 0x14ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x1600, 0x160f) AM_WRITE(SMH_RAM) AM_BASE(&paletteram) /* COLRAM (D7-D4 SHADE; D3-D0 COLOR) */ - AM_RANGE(0x1800, 0x1800) AM_WRITE(SMH_RAM) /* SHEL0H */ - AM_RANGE(0x1a00, 0x1a00) AM_WRITE(SMH_RAM) /* SHEL1H */ - AM_RANGE(0x1c00, 0x1c00) AM_WRITE(SMH_RAM) /* MOBJV */ + AM_RANGE(0x1600, 0x160f) AM_WRITE(SMH_RAM) AM_BASE(&paletteram) /* COLRAM (D7-D4 SHADE; D3-D0 COLOR) */ + AM_RANGE(0x1800, 0x1800) AM_WRITE(SMH_RAM) /* SHEL0H */ + AM_RANGE(0x1a00, 0x1a00) AM_WRITE(SMH_RAM) /* SHEL1H */ + AM_RANGE(0x1c00, 0x1c00) AM_WRITE(SMH_RAM) /* MOBJV */ AM_RANGE(0x1e00, 0x1eff) AM_WRITE(tunhunt_videoram_w) AM_BASE(&videoram) /* ALPHA */ - AM_RANGE(0x2c00, 0x2fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) - AM_RANGE(0x2000, 0x2000) AM_WRITE(SMH_NOP) /* watchdog */ - AM_RANGE(0x2400, 0x2400) AM_WRITE(SMH_NOP) /* INT ACK */ + AM_RANGE(0x2000, 0x2000) AM_WRITE(SMH_NOP) /* watchdog */ + AM_RANGE(0x2000, 0x2007) AM_READ(tunhunt_button_r) + AM_RANGE(0x2400, 0x2400) AM_WRITE(SMH_NOP) /* INT ACK */ AM_RANGE(0x2800, 0x2800) AM_WRITE(tunhunt_control_w) - AM_RANGE(0x3000, 0x300f) AM_WRITE(pokey1_w) - AM_RANGE(0x4000, 0x400f) AM_WRITE(pokey2_w) + AM_RANGE(0x2c00, 0x2fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) + AM_RANGE(0x3000, 0x300f) AM_READWRITE(pokey1_r, pokey1_w) + AM_RANGE(0x4000, 0x400f) AM_READWRITE(pokey2_r, pokey2_w) + AM_RANGE(0x5000, 0x7fff) AM_READ(SMH_ROM) + AM_RANGE(0xfffa, 0xffff) AM_READ(SMH_ROM) AM_RANGE(0x5000, 0xffff) AM_WRITE(SMH_ROM) ADDRESS_MAP_END - /************************************* * * Port definitions @@ -319,7 +311,7 @@ static MACHINE_DRIVER_START( tunhunt ) /* basic machine hardware */ MDRV_CPU_ADD(M6502,2000000) /* ??? */ - MDRV_CPU_PROGRAM_MAP(readmem,writemem) + MDRV_CPU_PROGRAM_MAP(main_map,0) MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,2) /* ? probably wrong */ /* video hardware */