Ejemplo n.º 1
0
UINT32 joystand_state::screen_update( screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect )
{
	int layers_ctrl = -1;

#ifdef MAME_DEBUG
	if (machine().input().code_pressed(KEYCODE_Z))
	{
		int msk = 0;
		if (machine().input().code_pressed(KEYCODE_Q))  msk |= 1;
		if (machine().input().code_pressed(KEYCODE_W))  msk |= 2;
		if (machine().input().code_pressed(KEYCODE_A))  msk |= 4;
		if (machine().input().code_pressed(KEYCODE_S))  msk |= 8;
		if (msk != 0) layers_ctrl &= msk;
	}
#endif

	m_bg1_tmap->set_scrollx(0, 0);
	m_bg1_tmap->set_scrolly(0, 0);

	m_bg2_tmap->set_scrollx(0, m_scroll[0] - 0xa);
	m_bg2_tmap->set_scrolly(0, m_scroll[1]);

	draw_bg15_tilemap();
		
	bitmap.fill(m_palette->black_pen(), cliprect);
	if (layers_ctrl & 4)	copybitmap_trans(bitmap, m_bg15_bitmap[0], 0, 0, 1, 0, cliprect, BG15_TRANSPARENT);
	if (layers_ctrl & 8)	copybitmap_trans(bitmap, m_bg15_bitmap[1], 0, 0, 0, 0, cliprect, BG15_TRANSPARENT);
	if (layers_ctrl & 1)	m_bg1_tmap->draw(screen, bitmap, cliprect, 0, 0);
	if (layers_ctrl & 2)	m_bg2_tmap->draw(screen, bitmap, cliprect, 0, 0);

	popmessage("S0: %04X S1: %04X EN: %04X OUT: %04X", m_scroll[0], m_scroll[1], m_enable[0], m_outputs[0]);
	return 0;
}
Ejemplo n.º 2
0
uint32_t sbowling_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
	bitmap.fill(0x18, cliprect);
	m_tilemap->draw(screen, bitmap, cliprect, 0, 0);
	copybitmap_trans(bitmap, *m_tmpbitmap, 0, 0, 0, 0, cliprect, m_color_prom_address);
	return 0;
}
Ejemplo n.º 3
0
Archivo: byvid.cpp Proyecto: Fulg/mame
UINT32 by133_state::screen_update_granny(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
	//bitmap.fill(0xff000000, cliprect);
	copybitmap(bitmap, m_crtc->get_bitmap(), 0, 0, 0, 0, cliprect);
	copybitmap_trans(bitmap, m_crtc2->get_bitmap(), 0, 0, 0, 0, cliprect, 0xff000000);
	return 0;
}
Ejemplo n.º 4
0
static SCREEN_UPDATE(sliver)
{
	sliver_state *state = screen->machine().driver_data<sliver_state>();

	copybitmap      (bitmap, state->m_bitmap_bg, 0, 0, 0, 0, cliprect);
	copybitmap_trans(bitmap, state->m_bitmap_fg, 0, 0, 0, 0, cliprect, 0);
	return 0;
}
Ejemplo n.º 5
0
void kaneko_pandora_device::update( bitmap_ind16 &bitmap, const rectangle &cliprect )
{
	if (!m_sprites_bitmap)
	{
		printf("ERROR: pandora_update with no pandora_sprites_bitmap\n");
		return;
	}

	copybitmap_trans(bitmap, *m_sprites_bitmap, 0, 0, 0, 0, cliprect, 0);
}
Ejemplo n.º 6
0
void pandora_update( device_t *device, bitmap_ind16 &bitmap, const rectangle &cliprect )
{
	kaneko_pandora_state *pandora = get_safe_token(device);

	if (!pandora->sprites_bitmap)
	{
		printf("ERROR: pandora_update with no pandora_sprites_bitmap\n");
		return;
	}

	copybitmap_trans(bitmap, *pandora->sprites_bitmap, 0, 0, 0, 0, cliprect, 0);
}
Ejemplo n.º 7
0
uint32_t metro_state::screen_update_psac_vdp2_mix(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
	/* TODO: bit 5 of reg 7 is off when ROZ is supposed to be disabled
	 * (Blazing Tornado title screen/character select/ending and Grand Striker 2 title/how to play transition)
	 */
		
	bitmap.fill(m_vdp2->get_background_pen(), cliprect);
	m_k053936->zoom_draw(screen, bitmap, cliprect, m_k053936_tilemap, 0, 0, 1);
	m_vdp2->screen_update(screen, m_vdp_bitmap, cliprect);
	copybitmap_trans(bitmap, m_vdp_bitmap, 0, 0, 0, 0, cliprect, m_vdp2->get_background_pen());
	
	return 0;
}
Ejemplo n.º 8
0
UINT32 paradise_state::screen_update_paradise(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
	int layers_ctrl = -1;

#ifdef MAME_DEBUG
if (machine().input().code_pressed(KEYCODE_Z))
{
	int mask = 0;
	if (machine().input().code_pressed(KEYCODE_Q))  mask |= 1;
	if (machine().input().code_pressed(KEYCODE_W))  mask |= 2;
	if (machine().input().code_pressed(KEYCODE_E))  mask |= 4;
	if (machine().input().code_pressed(KEYCODE_R))  mask |= 8;
	if (machine().input().code_pressed(KEYCODE_A))  mask |= 16;
	if (mask != 0) layers_ctrl &= mask;
}
#endif

	bitmap.fill(m_palette->black_pen(), cliprect);

	if (!(m_priority & 4))  /* Screen blanking */
		return 0;

	if (m_priority & 1)
		if (layers_ctrl & 16)
			draw_sprites(bitmap, cliprect);

	if (layers_ctrl & 1)    m_tilemap_0->draw(screen, bitmap, cliprect, 0, 0);
	if (layers_ctrl & 2)    m_tilemap_1->draw(screen, bitmap, cliprect, 0, 0);
	if (layers_ctrl & 4)    copybitmap_trans(bitmap, m_tmpbitmap, flip_screen(), flip_screen(), 0, 0, cliprect, 0x80f);

	if (m_priority & 2)
	{
		if (!(m_priority & 1))
			if (layers_ctrl & 16)
				draw_sprites(bitmap, cliprect);
		if (layers_ctrl & 8)
			m_tilemap_2->draw(screen, bitmap, cliprect, 0, 0);
	}
	else
	{
		if (layers_ctrl & 8)
			m_tilemap_2->draw(screen, bitmap, cliprect, 0, 0);
		if (!(m_priority & 1))
			if (layers_ctrl & 16)
				draw_sprites(bitmap, cliprect);
	}
	return 0;
}
Ejemplo n.º 9
0
UINT32 sliver_state::screen_update_sliver(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
	copybitmap      (bitmap, m_bitmap_bg, 0, 0, 0, 0, cliprect);
	copybitmap_trans(bitmap, m_bitmap_fg, 0, 0, 0, 0, cliprect, 0);
	return 0;
}
Ejemplo n.º 10
0
static SCREEN_UPDATE(coolridr)
{
	coolridr_state *state = screen->machine().driver_data<coolridr_state>();
	/* planes seems to basically be at 0x8000 and 0x28000... */
	const gfx_element *gfx = screen->machine().gfx[2];
	UINT32 count;
	int y,x;


	if(screen->machine().input().code_pressed(KEYCODE_Z))
		state->m_test_offs+=4;

	if(screen->machine().input().code_pressed(KEYCODE_X))
		state->m_test_offs-=4;

	if(screen->machine().input().code_pressed(KEYCODE_C))
		state->m_test_offs+=0x40;

	if(screen->machine().input().code_pressed(KEYCODE_V))
		state->m_test_offs-=0x40;

	if(screen->machine().input().code_pressed(KEYCODE_B))
		state->m_test_offs+=0x400;

	if(screen->machine().input().code_pressed(KEYCODE_N))
		state->m_test_offs-=0x400;

	if(screen->machine().input().code_pressed_once(KEYCODE_A))
		state->m_color++;

	if(screen->machine().input().code_pressed_once(KEYCODE_S))
		state->m_color--;

	if(state->m_test_offs > 0x100000*4)
		state->m_test_offs = 0;

	count = state->m_test_offs/4;

	popmessage("%08x %04x",state->m_test_offs,state->m_color);

	for (y=0;y<64;y++)
	{
		for (x=0;x<128;x+=2)
		{
			int tile;

			tile = (state->m_h1_vram[count] & 0x0fff0000) >> 16;
			drawgfx_opaque(bitmap,cliprect,gfx,tile,state->m_color,0,0,(x+0)*16,y*16);

			tile = (state->m_h1_vram[count] & 0x00000fff) >> 0;
			drawgfx_opaque(bitmap,cliprect,gfx,tile,state->m_color,0,0,(x+1)*16,y*16);

			count++;
		}
	}

	copybitmap_trans(bitmap, state->m_temp_bitmap_sprites, 0, 0, 0, 0, cliprect, 0);
	bitmap_fill(state->m_temp_bitmap_sprites, cliprect, 0);


	return 0;
}
Ejemplo n.º 11
0
void tc0780fpa_renderer::draw(bitmap_ind16 &bitmap, const rectangle &cliprect)
{
	copybitmap_trans(bitmap, *m_fb[m_current_fb^1], 0, 0, 0, 0, cliprect, 0);
}
Ejemplo n.º 12
0
void rollext_renderer::display(bitmap_rgb32 *bitmap, const rectangle &cliprect)
{
	copybitmap_trans(*bitmap, *m_fb, 0, 0, 0, 0, cliprect, 0);
}
Ejemplo n.º 13
0
static VIDEO_UPDATE(sliver)
{
	copybitmap      (bitmap, sliver_bitmap_bg, 0, 0, 0, 0, cliprect);
	copybitmap_trans(bitmap, sliver_bitmap_fg, 0, 0, 0, 0, cliprect, 0);
	return 0;
}