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); }
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)); }
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; }
/* 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 {