Ejemplo n.º 1
0
static void get_tile_info_screen1(int tile_index)
{
    unsigned short data = READ_WORD(&splash_videoram[2*tile_index+0x1000]);
    unsigned char attr = data >> 8;
    unsigned char code = data & 0xff;

    tile_info.flags = TILE_FLIPXY(code & 0x03);

    SET_TILE_INFO(1, (code >> 2) + ((0x30 + (attr & 0x0f)) << 6), (attr & 0xf0) >> 4);
}
Ejemplo n.º 2
0
static TILE_GET_INFO( equites_bg_info )
{
	equites_state *state = machine.driver_data<equites_state>();
	int data = state->m_bg_videoram[tile_index];
	int tile = data & 0x1ff;
	int color = (data & 0xf000) >> 12;
	int fxy = (data & 0x0600) >> 9;

	SET_TILE_INFO(1, tile, color, TILE_FLIPXY(fxy));
}
Ejemplo n.º 3
0
static TILE_GET_INFO( splndrbt_bg_info )
{
	equites_state *state = machine.driver_data<equites_state>();
	int data = state->m_bg_videoram[tile_index];
	int tile = data & 0x1ff;
	int color = (data & 0xf800) >> 11;
	int fxy = (data & 0x0600) >> 9;

	SET_TILE_INFO(1, tile, color, TILE_FLIPXY(fxy));
	tileinfo->group = color;
}
Ejemplo n.º 4
0
/* call with tilesize = 0 for 8x8 or 1 for 16x16 */
INLINE void get_rabbit_tilemap_info(running_machine &machine, tile_data &tileinfo, int tile_index, int whichtilemap, int tilesize)
{
	rabbit_state *state = machine.driver_data<rabbit_state>();
	/* fedcba98 76543210 fedcba98 76543210
	   x                                    color mask? how exactly does it relate to color bits?
	    xx                                  flip
	      x                                 depth
	       xxxx xxxx                        color
	                xxxx                    bank
	                     xxxxxxxx xxxxxxxx  tile
	*/
	int depth = (state->m_tilemap_ram[whichtilemap][tile_index]&0x10000000)>>28;
	int tileno = state->m_tilemap_ram[whichtilemap][tile_index]&0xffff;
	int bank = (state->m_tilemap_ram[whichtilemap][tile_index]&0x000f0000)>>16;
	int colour = (state->m_tilemap_ram[whichtilemap][tile_index]>>20)&0xff;
	int cmask = state->m_tilemap_ram[whichtilemap][tile_index]>>31&1;
	int flipxy = (state->m_tilemap_ram[whichtilemap][tile_index]>>29)&3;

	if (state->m_banking)
	{
		switch (bank)
		{
			case 0x0:
				break;

			case 0x8:
				tileno += 0x10000;
				break;

			case 0xc:
				tileno += 0x20000;
				break;

			default:
				//printf("tilebank %x\n",bank);
				break;
		}
	}
	else
	{
		tileno += (bank << 16);
	}

	if (depth)
	{
		tileno >>=(1+tilesize*2);
		colour &= 0x0f;
		colour += 0x20;
		tileinfo.group = 1;
		SET_TILE_INFO(6+tilesize,tileno,colour,TILE_FLIPXY(flipxy));
	}
	else
	{