示例#1
0
文件: bionicc.c 项目: cdrr/MAME_hack
int bionicc_vh_start(void)
{
	tx_tilemap = tilemap_create(
		get_tx_tile_info,
		TILEMAP_TRANSPARENT,
		8,8,
		32,32
	);
	fg_tilemap = tilemap_create(
		get_fg_tile_info,
		TILEMAP_TRANSPARENT,
		16,16,
		64,64
	);
	bg_tilemap = tilemap_create(
		get_bg_tile_info,
		TILEMAP_TRANSPARENT,
		8,8,
		64,64
	);

	if (fg_tilemap && bg_tilemap && tx_tilemap)
	{
		tx_tilemap->transparent_pen = 3;
		fg_tilemap->transparent_pen = 15;
		bg_tilemap->transparent_pen = 15;

		return 0;
	}

	return 1;
}
示例#2
0
static void wgp_core_vh_start( running_machine *machine, int piv_xoffs, int piv_yoffs )
{
	wgp_state *state = machine->driver_data<wgp_state>();

	state->piv_tilemap[0] = tilemap_create(machine, get_piv0_tile_info, tilemap_scan_rows, 16, 16, 64, 64);
	state->piv_tilemap[1] = tilemap_create(machine, get_piv1_tile_info, tilemap_scan_rows, 16, 16, 64, 64);
	state->piv_tilemap[2] = tilemap_create(machine, get_piv2_tile_info, tilemap_scan_rows, 16, 16, 64, 64);

	state->piv_xoffs = piv_xoffs;
	state->piv_yoffs = piv_yoffs;

	tilemap_set_transparent_pen(state->piv_tilemap[0], 0);
	tilemap_set_transparent_pen(state->piv_tilemap[1], 0);
	tilemap_set_transparent_pen(state->piv_tilemap[2], 0);

	/* flipscreen n/a */
	tilemap_set_scrolldx(state->piv_tilemap[0], -piv_xoffs, 0);
	tilemap_set_scrolldx(state->piv_tilemap[1], -piv_xoffs, 0);
	tilemap_set_scrolldx(state->piv_tilemap[2], -piv_xoffs, 0);
	tilemap_set_scrolldy(state->piv_tilemap[0], -piv_yoffs, 0);
	tilemap_set_scrolldy(state->piv_tilemap[1], -piv_yoffs, 0);
	tilemap_set_scrolldy(state->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(state->tc0100scn, 0x80, 0xc0, 0x40);

	state->save_item(NAME(state->piv_ctrl_reg));
	state->save_item(NAME(state->rotate_ctrl));
	state->save_item(NAME(state->piv_zoom));
	state->save_item(NAME(state->piv_scrollx));
	state->save_item(NAME(state->piv_scrolly));
}
示例#3
0
int rpunch_vh_start(void)
{
	int i;

	/* allocate tilemaps for the backgrounds and a bitmap for the direct-mapped bitmap */
	background[0] = tilemap_create(get_bg_tile_info,tilemap_scan_cols,TILEMAP_OPAQUE,     8,8,64,64);
	background[1] = tilemap_create(get_bg_tile_info,tilemap_scan_cols,TILEMAP_TRANSPARENT,8,8,64,64);

	/* allocate a bitmap sum */
	rpunch_bitmapsum = (UINT32*)malloc(BITMAP_HEIGHT * sizeof(UINT32));

	/* if anything failed, clean up and return an error */
	if (!background[0] || !background[1] || !rpunch_bitmapsum)
	{
		rpunch_vh_stop();
		return 1;
	}

	/* configure the tilemaps */
	background[1]->transparent_pen = 15;

	/* reset the sums and bitmap */
	for (i = 0; i < BITMAP_HEIGHT; i++)
		rpunch_bitmapsum[i] = (BITMAP_WIDTH/4) * 0xffff;
	if (rpunch_bitmapram)
		memset(rpunch_bitmapram, 0xff, rpunch_bitmapram_size);

	/* reset the timer */
	crtc_timer = NULL;
	return 0;
}
示例#4
0
static VIDEO_START ( pipeline )
{
	palram=auto_malloc(0x1000);
	tilemap1 = tilemap_create( get_tile_info,tilemap_scan_rows,8,8,64,32 );
	tilemap2 = tilemap_create( get_tile_info2,tilemap_scan_rows,8,8,64,32 );
	tilemap_set_transparent_pen(tilemap2,0);
}
示例#5
0
int tecmo_vh_start(void)
{
	if (tecmo_video_type == 2)	/* gemini */
	{
		bg_tilemap = tilemap_create(gemini_get_bg_tile_info,tilemap_scan_rows,TILEMAP_TRANSPARENT,16,16,32,16);
		fg_tilemap = tilemap_create(gemini_get_fg_tile_info,tilemap_scan_rows,TILEMAP_TRANSPARENT,16,16,32,16);
	}
	else	/* rygar, silkworm */
	{
		bg_tilemap = tilemap_create(get_bg_tile_info,tilemap_scan_rows,TILEMAP_TRANSPARENT,16,16,32,16);
		fg_tilemap = tilemap_create(get_fg_tile_info,tilemap_scan_rows,TILEMAP_TRANSPARENT,16,16,32,16);
	}
	tx_tilemap = tilemap_create(get_tx_tile_info,tilemap_scan_rows,TILEMAP_TRANSPARENT, 8, 8,32,32);

	if (!bg_tilemap || !fg_tilemap || !tx_tilemap)
		return 1;

	bg_tilemap->transparent_pen = 0;
	fg_tilemap->transparent_pen = 0;
	tx_tilemap->transparent_pen = 0;
	/* 0x100 is the background color */
	palette_transparent_color = 0x100;

	tilemap_set_scrolldx(bg_tilemap,-48,256+48);
	tilemap_set_scrolldx(fg_tilemap,-48,256+48);

	return 0;
}
示例#6
0
static VIDEO_START( ppmast93 )
{
	ppmast93_bg_tilemap = tilemap_create(get_ppmast93_bg_tile_info,tilemap_scan_rows,TILEMAP_TYPE_PEN,8,8,32, 32);
	ppmast93_fg_tilemap = tilemap_create(get_ppmast93_fg_tile_info,tilemap_scan_rows,TILEMAP_TYPE_PEN,8,8,32, 32);

	tilemap_set_transparent_pen(ppmast93_fg_tilemap,0);
}
示例#7
0
文件: calorie.c 项目: nitrologic/emu
static VIDEO_START( calorie )
{
	bg_tilemap = tilemap_create(machine, get_bg_tile_info,tilemap_scan_rows,16,16,16,16);
	fg_tilemap = tilemap_create(machine, get_fg_tile_info,tilemap_scan_rows,8, 8,32,32);

	tilemap_set_transparent_pen(fg_tilemap,0);
}
示例#8
0
static VIDEO_START(cabaret)
{
	bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan_rows,	8,  32,	64, 8);
	fg_tilemap = tilemap_create(machine, get_fg_tile_info, tilemap_scan_rows,	8,  8,	64, 32);
	tilemap_set_transparent_pen(fg_tilemap, 0);
	tilemap_set_scroll_cols(bg_tilemap, 64);
}
示例#9
0
static VIDEO_START( good )
{
    good_state *state = (good_state *)machine->driver_data;
    state->bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan_rows, 16, 16, 32, 32);
    state->fg_tilemap = tilemap_create(machine, get_fg_tile_info, tilemap_scan_rows, 16, 16, 32, 32);
    tilemap_set_transparent_pen(state->fg_tilemap, 0xf);
}
示例#10
0
static VIDEO_START( koftball )
{
	tilemap_1 = tilemap_create(machine, get_t1_tile_info,tilemap_scan_rows,8,8,64,32);
	tilemap_2 = tilemap_create(machine, get_t2_tile_info,tilemap_scan_rows,8,8,64,32);

	tilemap_set_transparent_pen(tilemap_1,0);
}
示例#11
0
static VIDEO_START( drtomy )
{
	tilemap_bg = tilemap_create(machine, get_tile_info_bg,tilemap_scan_rows,16,16,32,32);
	tilemap_fg = tilemap_create(machine, get_tile_info_fg,tilemap_scan_rows,16,16,32,32);

	tilemap_set_transparent_pen(tilemap_fg,0);
}
示例#12
0
static VIDEO_START(pturn)
{
	pturn_fgmap = tilemap_create(get_pturn_tile_info,tilemap_scan_rows,8, 8,32,32);
	tilemap_set_transparent_pen(pturn_fgmap,0);
	pturn_bgmap = tilemap_create(get_pturn_bg_tile_info,tilemap_scan_rows,8, 8,32,32*8);
	tilemap_set_transparent_pen(pturn_bgmap,0);
}
示例#13
0
文件: zaxxon.c 项目: vikke/mame_0145
static void video_start_common(running_machine &machine, tile_get_info_func fg_tile_info)
{
	zaxxon_state *state = machine.driver_data<zaxxon_state>();

	/* reset globals */
	state->m_bg_enable = 0;
	state->m_bg_color = 0;
	state->m_bg_position = 0;
	state->m_fg_color = 0;
	state->m_congo_fg_bank = 0;
	state->m_congo_color_bank = 0;
	memset(state->m_congo_custom, 0, sizeof(state->m_congo_custom));

	/* create a background and foreground tilemap */
	state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan_rows,  8,8, 32,512);
	state->m_fg_tilemap = tilemap_create(machine, fg_tile_info, tilemap_scan_rows,  8,8, 32,32);

	/* configure the foreground tilemap */
	state->m_fg_tilemap->set_transparent_pen(0);
	state->m_fg_tilemap->set_scrolldx(0, machine.primary_screen->width() - 256);
	state->m_fg_tilemap->set_scrolldy(0, machine.primary_screen->height() - 256);

	/* register for save states */
	state->save_item(NAME(state->m_bg_enable));
	state->save_item(NAME(state->m_bg_color));
	state->save_item(NAME(state->m_bg_position));
	state->save_item(NAME(state->m_fg_color));
}
示例#14
0
int bigkarnk_vh_start(void)
{
	int i;

	pant[0] = tilemap_create(get_tile_info_gaelco_screen0,tilemap_scan_rows,TILEMAP_SPLIT,16,16,32,32);
	pant[1] = tilemap_create(get_tile_info_gaelco_screen1,tilemap_scan_rows,TILEMAP_SPLIT,16,16,32,32);

	if (!pant[0] || !pant[1])
		return 1;

	tilemap_set_transparent_pen(pant[0],0);
	tilemap_set_transparent_pen(pant[1],0);

	tilemap_set_transmask(pant[0],0,0xff01,0x00fe); /* pens 1-7 opaque, pens 0, 8-15 transparent */
	tilemap_set_transmask(pant[1],0,0xff01,0x00fe); /* pens 1-7 opaque, pens 0, 8-15 transparent */

	for (i = 0; i < 5; i++){
		sprite_table[i] = malloc(512*sizeof(int));
		if (!sprite_table[i]){
			gaelco_vh_stop();
			return 1;
		}
	}

	return 0;
}
示例#15
0
static VIDEO_START(chanbara )
{
	chanbara_state *state = machine->driver_data<chanbara_state>();
	state->bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan_rows,8, 8, 32, 32);
	state->bg2_tilemap = tilemap_create(machine, get_bg2_tile_info, tilemap_scan_rows,16, 16, 16, 32);
	tilemap_set_transparent_pen(state->bg_tilemap, 0);
}
示例#16
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);
}
示例#17
0
int raiden_vh_start(void)
{
	bg_layer = tilemap_create(get_back_tile_info,tilemap_scan_cols,TILEMAP_OPAQUE,     16,16,32,32);
	fg_layer = tilemap_create(get_fore_tile_info,tilemap_scan_cols,TILEMAP_TRANSPARENT,16,16,32,32);

	/* Weird - Raiden (Alternate) has different char format! */
	if (!strcmp(Machine->gamedrv->name,"raiden"))
		ALTERNATE=0;
	else
		ALTERNATE=1;

	/* Weird - Raiden (Alternate) has different char format! */
	if (!ALTERNATE)
		tx_layer = tilemap_create(get_text_tile_info,tilemap_scan_cols,TILEMAP_TRANSPARENT,8,8,32,32);
	else
		tx_layer = tilemap_create(get_text_alt_tile_info,tilemap_scan_cols,TILEMAP_TRANSPARENT,8,8,32,32);

	if (!bg_layer || !fg_layer || !tx_layer)
		return 1;

	fg_layer->transparent_pen = 15;
	tx_layer->transparent_pen = 15;

	return 0;
}
示例#18
0
static VIDEO_START( dynadice )
{
	/* pacman - style videoram layout */
	bg_tilemap = tilemap_create(get_tile_info,tilemap_scan_rows,TILEMAP_TYPE_PEN,8,8,32,32);
	top_tilemap = tilemap_create(get_tile_info,tilemap_scan_cols,TILEMAP_TYPE_PEN,8,8,2,32);
	tilemap_set_scrollx(bg_tilemap, 0, -16 );
}
示例#19
0
文件: good.c 项目: j4y4r/j4ymame
static VIDEO_START( good )
{
	good_state *state = machine.driver_data<good_state>();
	state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan_rows, 16, 16, 32, 32);
	state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, tilemap_scan_rows, 16, 16, 32, 32);
	state->m_fg_tilemap->set_transparent_pen(0xf);
}
示例#20
0
static VIDEO_START(pturn)
{
	pturn_state *state = machine.driver_data<pturn_state>();
	state->m_fgmap = tilemap_create(machine, get_pturn_tile_info,tilemap_scan_rows,8, 8,32,32);
	tilemap_set_transparent_pen(state->m_fgmap,0);
	state->m_bgmap = tilemap_create(machine, get_pturn_bg_tile_info,tilemap_scan_rows,8, 8,32,32*8);
	tilemap_set_transparent_pen(state->m_bgmap,0);
}
示例#21
0
static VIDEO_START ( pipeline )
{
	pipeline_state *state = machine.driver_data<pipeline_state>();
	state->m_palram=auto_alloc_array(machine, UINT8, 0x1000);
	state->m_tilemap1 = tilemap_create( machine, get_tile_info,tilemap_scan_rows,8,8,64,32 );
	state->m_tilemap2 = tilemap_create( machine, get_tile_info2,tilemap_scan_rows,8,8,64,32 );
	state->m_tilemap2->set_transparent_pen(0);
}
示例#22
0
文件: cabaret.c 项目: cdenix/psmame
static VIDEO_START(cabaret)
{
	cabaret_state *state = machine.driver_data<cabaret_state>();
	state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan_rows,	8,  32,	64, 8);
	state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, tilemap_scan_rows,	8,  8,	64, 32);
	tilemap_set_transparent_pen(state->m_fg_tilemap, 0);
	tilemap_set_scroll_cols(state->m_bg_tilemap, 64);
}
示例#23
0
static VIDEO_START(quizpun2)
{
	bg_tmap = tilemap_create(	machine, get_bg_tile_info, tilemap_scan_rows,	8,16, 0x20,0x20	);
	fg_tmap = tilemap_create(	machine, get_fg_tile_info, tilemap_scan_rows,	8,16, 0x20,0x20	);

	tilemap_set_transparent_pen(bg_tmap, 0);
	tilemap_set_transparent_pen(fg_tmap, 0);
}
示例#24
0
static VIDEO_START( koftball )
{
	koftball_state *state = machine.driver_data<koftball_state>();
	state->m_tilemap_1 = tilemap_create(machine, get_t1_tile_info,tilemap_scan_rows,8,8,64,32);
	state->m_tilemap_2 = tilemap_create(machine, get_t2_tile_info,tilemap_scan_rows,8,8,64,32);

	state->m_tilemap_1->set_transparent_pen(0);
}
示例#25
0
static VIDEO_START( dacholer )
{
	dacholer_state *state = (dacholer_state *)machine->driver_data;
	state->bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan_rows, 8, 8, 32, 32);
	state->fg_tilemap = tilemap_create(machine, get_fg_tile_info, tilemap_scan_rows, 8, 8, 32, 32);

	tilemap_set_transparent_pen(state->fg_tilemap, 0);
}
示例#26
0
文件: dacholer.c 项目: j4y4r/j4ymame
static VIDEO_START( dacholer )
{
	dacholer_state *state = machine.driver_data<dacholer_state>();
	state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan_rows, 8, 8, 32, 32);
	state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, tilemap_scan_rows, 8, 8, 32, 32);

	state->m_fg_tilemap->set_transparent_pen(0);
}
示例#27
0
文件: calorie.c 项目: j4y4r/j4ymame
static VIDEO_START( calorie )
{
	calorie_state *state = machine.driver_data<calorie_state>();

	state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan_rows, 16, 16, 16, 16);
	state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, tilemap_scan_rows, 8, 8, 32, 32);

	state->m_fg_tilemap->set_transparent_pen(0);
}
示例#28
0
static VIDEO_START(kingdrby)
{
	kingdrby_state *state = machine.driver_data<kingdrby_state>();
	state->m_sc0_tilemap = tilemap_create(machine, get_sc0_tile_info,tilemap_scan_rows,8,8,32,24);
	state->m_sc1_tilemap = tilemap_create(machine, get_sc1_tile_info,tilemap_scan_rows,8,8,32,24);
	state->m_sc0w_tilemap = tilemap_create(machine, get_sc0_tile_info,tilemap_scan_rows,8,8,32,32);

	tilemap_set_transparent_pen(state->m_sc1_tilemap,0);
}
示例#29
0
static VIDEO_START(quizpun2)
{
	quizpun2_state *state = machine.driver_data<quizpun2_state>();
	state->m_bg_tmap = tilemap_create(	machine, get_bg_tile_info, tilemap_scan_rows,	8,16, 0x20,0x20	);
	state->m_fg_tmap = tilemap_create(	machine, get_fg_tile_info, tilemap_scan_rows,	8,16, 0x20,0x20	);

	tilemap_set_transparent_pen(state->m_bg_tmap, 0);
	tilemap_set_transparent_pen(state->m_fg_tmap, 0);
}
示例#30
0
static VIDEO_START( drtomy )
{
	drtomy_state *state = machine->driver_data<drtomy_state>();

	state->tilemap_bg = tilemap_create(machine, get_tile_info_bg, tilemap_scan_rows, 16, 16, 32, 32);
	state->tilemap_fg = tilemap_create(machine, get_tile_info_fg, tilemap_scan_rows, 16, 16, 32, 32);

	tilemap_set_transparent_pen(state->tilemap_fg, 0);
}