From 1819b3c8b8119d9e86681485ed411bfc756263ae Mon Sep 17 00:00:00 2001 From: "Alex W. Jackson" Date: Tue, 25 Feb 2014 14:26:40 +0000 Subject: [PATCH] namcos1.c, namcos86.c: fix flipscreen after core changes, add SCREEN_RAW_PARAMs [Alex Jackson] --- src/mame/drivers/namcos1.c | 15 ++++++--------- src/mame/drivers/namcos86.c | 13 +++++-------- src/mame/video/namcos1.c | 22 ++++++++++++++-------- src/mame/video/namcos86.c | 17 ++++++++++------- 4 files changed, 35 insertions(+), 32 deletions(-) diff --git a/src/mame/drivers/namcos1.c b/src/mame/drivers/namcos1.c index 6e2d9f96672..f5f4c4ffb85 100644 --- a/src/mame/drivers/namcos1.c +++ b/src/mame/drivers/namcos1.c @@ -1073,19 +1073,19 @@ static const namco_interface namco_config = static MACHINE_CONFIG_START( ns1, namcos1_state ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809,49152000/32) + MCFG_CPU_ADD("maincpu", M6809,XTAL_49_152MHz/32) MCFG_CPU_PROGRAM_MAP(main_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos1_state, irq0_line_assert) - MCFG_CPU_ADD("sub", M6809,49152000/32) + MCFG_CPU_ADD("sub", M6809,XTAL_49_152MHz/32) MCFG_CPU_PROGRAM_MAP(sub_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos1_state, irq0_line_assert) - MCFG_CPU_ADD("audiocpu", M6809,49152000/32) + MCFG_CPU_ADD("audiocpu", M6809,XTAL_49_152MHz/32) MCFG_CPU_PROGRAM_MAP(sound_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos1_state, irq0_line_assert) - MCFG_CPU_ADD("mcu",HD63701,49152000/8) + MCFG_CPU_ADD("mcu",HD63701,XTAL_49_152MHz/8) MCFG_CPU_PROGRAM_MAP(mcu_map) MCFG_CPU_IO_MAP(mcu_port_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos1_state, irq0_line_assert) @@ -1099,10 +1099,7 @@ static MACHINE_CONFIG_START( ns1, namcos1_state ) MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS) MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60.606060) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - MCFG_SCREEN_SIZE(64*8, 64*8) - MCFG_SCREEN_VISIBLE_AREA(9 + 8*8, 9 + 44*8-1, 2*8, 30*8-1) + MCFG_SCREEN_RAW_PARAMS(XTAL_49_152MHz/8, 384, 9+8*8, 9+44*8, 264, 2*8, 30*8) MCFG_SCREEN_UPDATE_DRIVER(namcos1_state, screen_update_namcos1) MCFG_SCREEN_VBLANK_DRIVER(namcos1_state, screen_eof_namcos1) @@ -1118,7 +1115,7 @@ static MACHINE_CONFIG_START( ns1, namcos1_state ) MCFG_SOUND_ROUTE(0, "lspeaker", 0.50) MCFG_SOUND_ROUTE(1, "rspeaker", 0.50) - MCFG_SOUND_ADD("namco", NAMCO_CUS30, 49152000/2048/2) + MCFG_SOUND_ADD("namco", NAMCO_CUS30, XTAL_49_152MHz/2048/2) MCFG_SOUND_CONFIG(namco_config) MCFG_SOUND_ROUTE(0, "lspeaker", 0.50) MCFG_SOUND_ROUTE(1, "rspeaker", 0.50) diff --git a/src/mame/drivers/namcos86.c b/src/mame/drivers/namcos86.c index 35abeea91ec..03ed34d01e7 100644 --- a/src/mame/drivers/namcos86.c +++ b/src/mame/drivers/namcos86.c @@ -989,15 +989,15 @@ static const namco_interface namco_config = static MACHINE_CONFIG_START( hopmappy, namcos86_state ) /* basic machine hardware */ - MCFG_CPU_ADD("cpu1", M6809, 49152000/32) + MCFG_CPU_ADD("cpu1", M6809, XTAL_49_152MHz/32) MCFG_CPU_PROGRAM_MAP(cpu1_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos86_state, irq0_line_assert) - MCFG_CPU_ADD("cpu2", M6809, 49152000/32) + MCFG_CPU_ADD("cpu2", M6809, XTAL_49_152MHz/32) MCFG_CPU_PROGRAM_MAP(hopmappy_cpu2_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos86_state, irq0_line_assert) - MCFG_CPU_ADD("mcu", HD63701, 49152000/8) /* or compatible 6808 with extra instructions */ + MCFG_CPU_ADD("mcu", HD63701, XTAL_49_152MHz/8) /* or compatible 6808 with extra instructions */ MCFG_CPU_PROGRAM_MAP(hopmappy_mcu_map) MCFG_CPU_IO_MAP(mcu_port_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos86_state, irq0_line_hold) /* ??? */ @@ -1007,10 +1007,7 @@ static MACHINE_CONFIG_START( hopmappy, namcos86_state ) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60.606060) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - MCFG_SCREEN_SIZE(64*8, 32*8) - MCFG_SCREEN_VISIBLE_AREA(3 + 8*8, 3 + 44*8-1, 2*8, 30*8-1) + MCFG_SCREEN_RAW_PARAMS(XTAL_49_152MHz/8, 384, 3+8*8, 3+44*8, 264, 2*8, 30*8) MCFG_SCREEN_UPDATE_DRIVER(namcos86_state, screen_update_namcos86) MCFG_SCREEN_VBLANK_DRIVER(namcos86_state, screen_eof_namcos86) @@ -1025,7 +1022,7 @@ static MACHINE_CONFIG_START( hopmappy, namcos86_state ) MCFG_SOUND_ROUTE(0, "mono", 0.0) MCFG_SOUND_ROUTE(1, "mono", 0.60) /* only right channel is connected */ - MCFG_SOUND_ADD("namco", NAMCO_CUS30, 49152000/2048) + MCFG_SOUND_ADD("namco", NAMCO_CUS30, XTAL_49_152MHz/2048) MCFG_SOUND_CONFIG(namco_config) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) MACHINE_CONFIG_END diff --git a/src/mame/video/namcos1.c b/src/mame/video/namcos1.c index cec453305cb..dd32f098572 100644 --- a/src/mame/video/namcos1.c +++ b/src/mame/video/namcos1.c @@ -126,10 +126,18 @@ void namcos1_state::video_start() m_bg_tilemap[4] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(namcos1_state::fg_get_info4),this),TILEMAP_SCAN_ROWS,8,8,36,28); m_bg_tilemap[5] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(namcos1_state::fg_get_info5),this),TILEMAP_SCAN_ROWS,8,8,36,28); - m_bg_tilemap[4]->set_scrolldx(73,512-73); - m_bg_tilemap[5]->set_scrolldx(73,512-73); - m_bg_tilemap[4]->set_scrolldy(0x10,0x110); - m_bg_tilemap[5]->set_scrolldy(0x10,0x110); + for (i = 0; i < 4; i++) + { + static const int xdisp[] = { 25, 27, 28, 29 }; + + m_bg_tilemap[i]->set_scrolldx(xdisp[i], 434 - xdisp[i]); + m_bg_tilemap[i]->set_scrolldy(-8, 256 + 8); + } + + m_bg_tilemap[4]->set_scrolldx(73, 73); + m_bg_tilemap[5]->set_scrolldx(73, 73); + m_bg_tilemap[4]->set_scrolldy(16, 16); + m_bg_tilemap[5]->set_scrolldy(16, 16); /* register videoram to the save state system (post-allocation) */ save_pointer(NAME(m_videoram), 0x8000); @@ -395,11 +403,9 @@ UINT32 namcos1_state::screen_update_namcos1(screen_device &screen, bitmap_ind16 for (i = 0;i < 4;i++) { - static const int disp_x[] = { 25, 27, 28, 29 }; - j = i << 2; - scrollx = ( m_playfield_control[j+1] + (m_playfield_control[j+0]<<8) ) - disp_x[i]; - scrolly = ( m_playfield_control[j+3] + (m_playfield_control[j+2]<<8) ) + 8; + scrollx = ( m_playfield_control[j+1] + (m_playfield_control[j+0]<<8) ); + scrolly = ( m_playfield_control[j+3] + (m_playfield_control[j+2]<<8) ); if (flip_screen()) { diff --git a/src/mame/video/namcos86.c b/src/mame/video/namcos86.c index 75dd2bf5467..9188b30bf6c 100644 --- a/src/mame/video/namcos86.c +++ b/src/mame/video/namcos86.c @@ -137,10 +137,14 @@ void namcos86_state::video_start() m_bg_tilemap[2] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(namcos86_state::get_tile_info2),this),TILEMAP_SCAN_ROWS,8,8,64,32); m_bg_tilemap[3] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(namcos86_state::get_tile_info3),this),TILEMAP_SCAN_ROWS,8,8,64,32); - m_bg_tilemap[0]->set_transparent_pen(7); - m_bg_tilemap[1]->set_transparent_pen(7); - m_bg_tilemap[2]->set_transparent_pen(7); - m_bg_tilemap[3]->set_transparent_pen(7); + for (int i = 0; i < 4; i++) + { + static const int xdisp[] = { 47, 49, 46, 48 }; + + m_bg_tilemap[i]->set_scrolldx(xdisp[i], 422 - xdisp[i]); + m_bg_tilemap[i]->set_scrolldy(-9, 9); + m_bg_tilemap[i]->set_transparent_pen(7); + } m_spriteram = m_rthunder_spriteram + 0x1800; } @@ -333,11 +337,10 @@ static void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rect static void set_scroll(running_machine &machine, int layer) { namcos86_state *state = machine.driver_data(); - static const int xdisp[4] = { 47, 49, 46, 48 }; int scrollx,scrolly; - scrollx = state->m_xscroll[layer] - xdisp[layer]; - scrolly = state->m_yscroll[layer] + 9; + scrollx = state->m_xscroll[layer]; + scrolly = state->m_yscroll[layer]; if (state->flip_screen()) { scrollx = -scrollx;