Пример #1
0
static VIDEO_START( ninjaw_core )
{
	int chips;

	spritelist = auto_malloc(0x1000 * sizeof(*spritelist));

	chips = number_of_TC0100SCN();

	if (chips <= 0)	/* we have an erroneous TC0100SCN configuration */
		return 1;

	if (TC0100SCN_vh_start(chips,TC0100SCN_GFX_NUM,taito_hide_pixels,0,0,0,0,0,0))
		return 1;

	if (has_TC0110PCR())
		if (TC0110PCR_vh_start())
			return 1;

	if (has_second_TC0110PCR())
		if (TC0110PCR_1_vh_start())
			return 1;

	if (has_third_TC0110PCR())
		if (TC0110PCR_2_vh_start())
			return 1;

	/* Ensure palette from correct TC0110PCR used for each screen */
	TC0100SCN_set_chip_colbanks(0x0,0x100,0x200);

	return 0;
}
Пример #2
0
static void wgp_core_vh_start(running_machine *machine, int x_offs,int y_offs,int piv_xoffs,int piv_yoffs)
{
	wgp_piv_tilemap[0] = tilemap_create(get_piv0_tile_info,tilemap_scan_rows,TILEMAP_TYPE_PEN,16,16,64,64);
	wgp_piv_tilemap[1] = tilemap_create(get_piv1_tile_info,tilemap_scan_rows,TILEMAP_TYPE_PEN,16,16,64,64);
	wgp_piv_tilemap[2] = tilemap_create(get_piv2_tile_info,tilemap_scan_rows,TILEMAP_TYPE_PEN,16,16,64,64);

	TC0100SCN_vh_start(machine,1,TC0100SCN_GFX_NUM,x_offs,y_offs,0,0,0,0,0);

	if (has_TC0110PCR())
		TC0110PCR_vh_start();

	wgp_piv_xoffs = piv_xoffs;
	wgp_piv_yoffs = piv_yoffs;

	tilemap_set_transparent_pen( wgp_piv_tilemap[0],0 );
	tilemap_set_transparent_pen( wgp_piv_tilemap[1],0 );
	tilemap_set_transparent_pen( wgp_piv_tilemap[2],0 );

	/* flipscreen n/a */
	tilemap_set_scrolldx( wgp_piv_tilemap[0],-piv_xoffs,0 );
	tilemap_set_scrolldx( wgp_piv_tilemap[1],-piv_xoffs,0 );
	tilemap_set_scrolldx( wgp_piv_tilemap[2],-piv_xoffs,0 );
	tilemap_set_scrolldy( wgp_piv_tilemap[0],-piv_yoffs,0 );
	tilemap_set_scrolldy( wgp_piv_tilemap[1],-piv_yoffs,0 );
	tilemap_set_scrolldy( wgp_piv_tilemap[2],-piv_yoffs,0 );

	/* We don't need tilemap_set_scroll_rows, as the custom draw routine
       applies rowscroll manually */

	TC0100SCN_set_colbanks(0x80,0xc0,0x40);

	/* colors from saved states are often screwy (and this doesn't help...) */
	state_save_register_func_postload(dirty_piv_tilemaps);
}
Пример #3
0
static int warriorb_core_vh_start (int x_offs,int multiscrn_xoffs)
{
	int chips;

	chips = number_of_TC0100SCN();

	if (chips <= 0)	/* we have an erroneous TC0100SCN configuration */
		return 1;

	if (TC0100SCN_vh_start(chips,TC0100SCN_GFX_NUM,x_offs,0,0,0,0,0,multiscrn_xoffs))
		return 1;

	if (has_TC0110PCR())
		if (TC0110PCR_vh_start())
			return 1;

	if (has_second_TC0110PCR())
		if (TC0110PCR_1_vh_start())
			return 1;

	/* Ensure palette from correct TC0110PCR used for each screen */
	TC0100SCN_set_chip_colbanks(0,0x100,0x0);

	return 0;
}
Пример #4
0
int asuka_core_video_start(int x_offs,int buffering)
{
	if (PC090OJ_vh_start(0,0,8,buffering))	/* gfxset, x offset, y offset, buffering */
		return 1;

	if (TC0100SCN_vh_start(1,TC0100SCN_GFX_NUM,x_offs,0,0,0,0,0,0))
		return 1;

	if (TC0110PCR_vh_start())
		return 1;

	return 0;
}
Пример #5
0
static VIDEO_START( othunder_core )
{
	/* Up to $800/8 big sprites, requires 0x100 * sizeof(*spritelist)
       Multiply this by 32 to give room for the number of small sprites,
       which are what actually get put in the structure. */

	spritelist = auto_malloc(0x2000 * sizeof(*spritelist));

	TC0100SCN_vh_start(machine,1,TC0100SCN_GFX_NUM,taito_hide_pixels,0,0,0,0,0,0);

	if (has_TC0110PCR())
		TC0110PCR_vh_start();
}
Пример #6
0
static void taitoz_core_vh_start(running_machine *machine, int x_offs)
{
	if (has_TC0480SCP(machine))	/* it's Dblaxle, a tc0480scp game */
		TC0480SCP_vh_start(machine,TC0480SCP_GFX_NUM,x_offs,0x21,0x08,4,0,0,0,0);
	else	/* it's a tc0100scn game */
		TC0100SCN_vh_start(machine,1,TC0100SCN_GFX_NUM,x_offs,0,0,0,0,0,0);

	if (has_TC0150ROD(machine))
		TC0150ROD_vh_start(machine);

	if (TC0110PCR_mask(machine) & 1)
		TC0110PCR_vh_start(machine);
}
Пример #7
0
static void warriorb_core_vh_start(running_machine *machine, int x_offs,int multiscrn_xoffs)
{
	int chips;

	chips = number_of_TC0100SCN();

	assert_always(chips > 0, "erroneous TC0100SCN configuration");

	TC0100SCN_vh_start(machine,chips,TC0100SCN_GFX_NUM,x_offs,0,0,0,0,0,multiscrn_xoffs);

	if (has_TC0110PCR())
		TC0110PCR_vh_start();

	if (has_second_TC0110PCR())
		TC0110PCR_1_vh_start();

	/* Ensure palette from correct TC0110PCR used for each screen */
	TC0100SCN_set_chip_colbanks(0,0x100,0x0);
}
Пример #8
0
static int taitoz_core_vh_start (int x_offs)
{
	if (has_TC0480SCP())	/* it's Dblaxle, a tc0480scp game */
	{
		if (TC0480SCP_vh_start(TC0480SCP_GFX_NUM,x_offs,0x21,0x08,4,0,0,0,0))
			return 1;
	}
	else	/* it's a tc0100scn game */
	{
		if (TC0100SCN_vh_start(1,TC0100SCN_GFX_NUM,x_offs,0,0,0,0,0,0))
			return 1;
	}

	if (has_TC0150ROD())
		if (TC0150ROD_vh_start())
			return 1;

	if (has_TC0110PCR())
		if (TC0110PCR_vh_start())
			return 1;

	return 0;
}
Пример #9
0
static void asuka_core_video_start(running_machine *machine, int x_offs,int buffering)
{
	PC090OJ_vh_start(0,0,8,buffering);	/* gfxset, x offset, y offset, buffering */
	TC0100SCN_vh_start(machine,1,TC0100SCN_GFX_NUM,x_offs,0,0,0,0,0,0);
	TC0110PCR_vh_start(machine);
}