From 1aac71cbef933ff2fe5d86fdab98f692b750657b Mon Sep 17 00:00:00 2001 From: Phil Bennett Date: Sun, 1 Mar 2009 14:35:01 +0000 Subject: [PATCH] 02994: labyrunr all sets: all labyrunr sets resets on bootup Merged labyrunr memory maps. [Phil Bennett] --- src/mame/drivers/labyrunr.c | 41 +++++++++++++++---------------------- 1 file changed, 16 insertions(+), 25 deletions(-) diff --git a/src/mame/drivers/labyrunr.c b/src/mame/drivers/labyrunr.c index 250e147cb90..5afe99a1c7a 100644 --- a/src/mame/drivers/labyrunr.c +++ b/src/mame/drivers/labyrunr.c @@ -53,35 +53,26 @@ if (data & 0xe0) popmessage("bankswitch %02x",data); coin_counter_w(1,data & 0x10); } -static ADDRESS_MAP_START( labyrunr_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0020, 0x005f) AM_READ(SMH_RAM) /* scroll registers */ - AM_RANGE(0x0800, 0x0801) AM_DEVREAD(SOUND, "ym1", ym2203_r) - AM_RANGE(0x0900, 0x0901) AM_DEVREAD(SOUND, "ym2", ym2203_r) +static ADDRESS_MAP_START( labyrunr_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x0007) AM_WRITE(K007121_ctrl_0_w) + AM_RANGE(0x0020, 0x005f) AM_RAM AM_BASE(&labyrunr_scrollram) + AM_RANGE(0x0800, 0x0800) AM_DEVREADWRITE(SOUND, "ym1", ym2203_read_port_r, ym2203_write_port_w) + AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE(SOUND, "ym1", ym2203_status_port_r, ym2203_control_port_w) + AM_RANGE(0x0900, 0x0900) AM_DEVREADWRITE(SOUND, "ym2", ym2203_read_port_r, ym2203_write_port_w) + AM_RANGE(0x0901, 0x0901) AM_DEVREADWRITE(SOUND, "ym2", ym2203_status_port_r, ym2203_control_port_w) AM_RANGE(0x0a00, 0x0a00) AM_READ_PORT("P2") AM_RANGE(0x0a01, 0x0a01) AM_READ_PORT("P1") AM_RANGE(0x0b00, 0x0b00) AM_READ_PORT("SYSTEM") - AM_RANGE(0x0d00, 0x0d1f) AM_READ(K051733_r) /* 051733 (protection) */ - AM_RANGE(0x1000, 0x10ff) AM_READ(SMH_RAM) - AM_RANGE(0x1800, 0x1fff) AM_READ(SMH_RAM) - AM_RANGE(0x2000, 0x3fff) AM_READ(SMH_RAM) - AM_RANGE(0x4000, 0x7fff) AM_READ(SMH_BANK1) - AM_RANGE(0x8000, 0xffff) AM_READ(SMH_ROM) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( labyrunr_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x0007) AM_WRITE(K007121_ctrl_0_w) - AM_RANGE(0x0020, 0x005f) AM_WRITE(SMH_RAM) AM_BASE(&labyrunr_scrollram) /* scroll registers */ - AM_RANGE(0x0800, 0x0801) AM_DEVWRITE(SOUND, "ym1", ym2203_w) - AM_RANGE(0x0900, 0x0901) AM_DEVWRITE(SOUND, "ym2", ym2203_w) AM_RANGE(0x0c00, 0x0c00) AM_WRITE(labyrunr_bankswitch_w) - AM_RANGE(0x0d00, 0x0d1f) AM_WRITE(K051733_w) /* 051733 (protection) */ + AM_RANGE(0x0d00, 0x0d1f) AM_READWRITE(K051733_r, K051733_w) AM_RANGE(0x0e00, 0x0e00) AM_WRITE(watchdog_reset_w) - AM_RANGE(0x1000, 0x10ff) AM_WRITE(SMH_RAM) AM_BASE(&paletteram) - AM_RANGE(0x1800, 0x1fff) AM_WRITE(SMH_RAM) - AM_RANGE(0x2000, 0x2fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) /* Sprite RAM */ - AM_RANGE(0x3000, 0x37ff) AM_WRITE(labyrunr_vram1_w) AM_BASE(&labyrunr_videoram1) - AM_RANGE(0x3800, 0x3fff) AM_WRITE(labyrunr_vram2_w) AM_BASE(&labyrunr_videoram2) - AM_RANGE(0x4000, 0xffff) AM_WRITE(SMH_ROM) + AM_RANGE(0x1000, 0x10ff) AM_RAM AM_BASE(&paletteram) + AM_RANGE(0x1800, 0x1fff) AM_RAM + AM_RANGE(0x2000, 0x2fff) AM_RAM AM_BASE(&spriteram) + AM_RANGE(0x3000, 0x37ff) AM_RAM_WRITE(labyrunr_vram1_w) AM_BASE(&labyrunr_videoram1) + AM_RANGE(0x3800, 0x3fff) AM_RAM_WRITE(labyrunr_vram2_w) AM_BASE(&labyrunr_videoram2) + AM_RANGE(0x4000, 0x7fff) AM_ROMBANK(1) + AM_RANGE(0x8000, 0xffff) AM_ROM ADDRESS_MAP_END @@ -250,7 +241,7 @@ static MACHINE_DRIVER_START( labyrunr ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", HD6309, 3000000*4) /* 24MHz/8? */ - MDRV_CPU_PROGRAM_MAP(labyrunr_readmem,labyrunr_writemem) + MDRV_CPU_PROGRAM_MAP(labyrunr_map,0) MDRV_CPU_VBLANK_INT_HACK(labyrunr_interrupt,8) /* 1 IRQ + 4 NMI (generated by 007121) */ /* video hardware */