mirror of
https://github.com/holub/mame
synced 2025-04-24 01:11:11 +03:00
namcos1.c, namcos86.c: fix flipscreen after core changes, add SCREEN_RAW_PARAMs [Alex Jackson]
This commit is contained in:
parent
c4ba73f743
commit
1819b3c8b8
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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())
|
||||
{
|
||||
|
@ -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<namcos86_state>();
|
||||
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;
|
||||
|
Loading…
Reference in New Issue
Block a user