VIDEO_START_MEMBER(madalien_state,madalien) { int i; static const tilemap_mapper_delegate scan_functions[4] = { tilemap_mapper_delegate(FUNC(madalien_state::scan_mode0),this), tilemap_mapper_delegate(FUNC(madalien_state::scan_mode1),this), tilemap_mapper_delegate(FUNC(madalien_state::scan_mode2),this), tilemap_mapper_delegate(FUNC(madalien_state::scan_mode3),this) }; static const int tilemap_cols[4] = { 16, 16, 32, 32 }; m_tilemap_fg = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(madalien_state::get_tile_info_FG),this), TILEMAP_SCAN_COLS_FLIP_X, 8, 8, 32, 32); m_tilemap_fg->set_transparent_pen(0); for (i = 0; i < 4; i++) { m_tilemap_edge1[i] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(madalien_state::get_tile_info_BG_1),this), scan_functions[i], 16, 16, tilemap_cols[i], 8); m_tilemap_edge2[i] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(madalien_state::get_tile_info_BG_2),this), scan_functions[i], 16, 16, tilemap_cols[i], 8); } m_headlight_bitmap = std::make_unique<bitmap_ind16>(128, 128); m_gfxdecode->gfx(0)->set_source(m_charram); m_gfxdecode->gfx(2)->opaque(*m_headlight_bitmap,m_headlight_bitmap->cliprect(), 0, 0, 0, 0, 0x00, 0x00); m_gfxdecode->gfx(2)->opaque(*m_headlight_bitmap,m_headlight_bitmap->cliprect(), 0, 0, 0, 1, 0x00, 0x40); }
VIDEO_START_MEMBER(madalien_state,madalien) { int i; static const tilemap_mapper_delegate scan_functions[4] = { tilemap_mapper_delegate(FUNC(madalien_state::scan_mode0),this), tilemap_mapper_delegate(FUNC(madalien_state::scan_mode1),this), tilemap_mapper_delegate(FUNC(madalien_state::scan_mode2),this), tilemap_mapper_delegate(FUNC(madalien_state::scan_mode3),this) }; static const int tilemap_cols[4] = { 16, 16, 32, 32 }; m_tilemap_fg = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(madalien_state::get_tile_info_FG),this), TILEMAP_SCAN_COLS_FLIP_X, 8, 8, 32, 32); m_tilemap_fg->set_transparent_pen(0); m_tilemap_fg->set_scrolldx(0, 0x50); m_tilemap_fg->set_scrolldy(0, 0x20); for (i = 0; i < 4; i++) { m_tilemap_edge1[i] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(madalien_state::get_tile_info_BG_1),this), scan_functions[i], 16, 16, tilemap_cols[i], 8); m_tilemap_edge1[i]->set_scrolldx(0, 0x50); m_tilemap_edge1[i]->set_scrolldy(0, 0x20); m_tilemap_edge2[i] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(madalien_state::get_tile_info_BG_2),this), scan_functions[i], 16, 16, tilemap_cols[i], 8); m_tilemap_edge2[i]->set_scrolldx(0, 0x50); m_tilemap_edge2[i]->set_scrolldy(0, machine().primary_screen->height() - 256); } m_headlight_bitmap = auto_bitmap_ind16_alloc(machine(), 128, 128); machine().gfx[0]->set_source(m_charram); drawgfx_opaque(*m_headlight_bitmap, m_headlight_bitmap->cliprect(), machine().gfx[2], 0, 0, 0, 0, 0x00, 0x00); drawgfx_opaque(*m_headlight_bitmap, m_headlight_bitmap->cliprect(), machine().gfx[2], 0, 0, 0, 1, 0x00, 0x40); }
VIDEO_START_MEMBER(armedf_state,terraf) { m_sprite_offy = (m_scroll_type & 2 ) ? 0 : 128; /* legion, legiono, crazy climber 2 */ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(armedf_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 64, 32); m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(armedf_state::get_fg_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 64, 32); m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(armedf_state::get_nb1414m4_tx_tile_info),this), (m_scroll_type == 2) ? tilemap_mapper_delegate(FUNC(armedf_state::armedf_scan_type3),this) : tilemap_mapper_delegate(FUNC(armedf_state::armedf_scan_type2),this), 8, 8, 64, 32); m_bg_tilemap->set_transparent_pen(0xf); m_fg_tilemap->set_transparent_pen(0xf); m_tx_tilemap->set_transparent_pen(0xf); if (m_scroll_type != 1) m_tx_tilemap->set_scrollx(0, -128); m_text_videoram = auto_alloc_array(machine(), UINT8, 0x1000); memset(m_text_videoram, 0x00, 0x1000); }
void wwfsstar_state::video_start() { m_fg0_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(wwfsstar_state::get_fg0_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8,32,32); m_fg0_tilemap->set_transparent_pen(0); m_bg0_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(wwfsstar_state::get_bg0_tile_info),this),tilemap_mapper_delegate(FUNC(wwfsstar_state::bg0_scan),this), 16, 16,32,32); m_fg0_tilemap->set_transparent_pen(0); }
void cswat_state::video_start() { m_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(cswat_state::get_tile_info),this), tilemap_mapper_delegate(FUNC(cswat_state::tilemap_scan_rows),this), 8, 8, 36, 28); }
VIDEO_START_MEMBER(lwings_state,trojan) { m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(lwings_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32); m_bg1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(lwings_state::trojan_get_bg1_tile_info),this),TILEMAP_SCAN_COLS, 16, 16, 32, 32); m_bg2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(lwings_state::get_bg2_tile_info),this), tilemap_mapper_delegate(FUNC(lwings_state::get_bg2_memory_offset),this), 16, 16, 32, 16); m_fg_tilemap->set_transparent_pen(3); m_bg1_tilemap->set_transmask(0, 0xffff, 0x0001); /* split type 0 is totally transparent in front half */ m_bg1_tilemap->set_transmask(1, 0xf07f, 0x0f81); /* split type 1 has pens 7-11 opaque in front half */ m_bg2_avenger_hw = 0; }
void ddribble_state::video_start() { m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(ddribble_state::get_fg_tile_info),this), tilemap_mapper_delegate(FUNC(ddribble_state::tilemap_scan),this), 8, 8, 64, 32); m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(ddribble_state::get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(ddribble_state::tilemap_scan),this), 8, 8, 64, 32); m_fg_tilemap->set_transparent_pen(0); }
void deco_bac06_device::create_tilemaps(int region8x8, int region16x16) { m_tile_region = region8x8; m_pf8x8_tilemap[0] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(deco_bac06_device::get_pf8x8_tile_info),this),tilemap_mapper_delegate(FUNC(deco_bac06_device::tile_shape0_8x8_scan),this), 8, 8,128, 32); m_pf8x8_tilemap[1] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(deco_bac06_device::get_pf8x8_tile_info),this),tilemap_mapper_delegate(FUNC(deco_bac06_device::tile_shape1_8x8_scan),this), 8, 8, 64, 64); m_pf8x8_tilemap[2] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(deco_bac06_device::get_pf8x8_tile_info),this),tilemap_mapper_delegate(FUNC(deco_bac06_device::tile_shape2_8x8_scan),this), 8, 8, 32,128); m_tile_region = region16x16; if (m_wide==2) { m_pf16x16_tilemap[0] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(deco_bac06_device::get_pf16x16_tile_info),this), tilemap_mapper_delegate(FUNC(deco_bac06_device::tile_shape0_scan),this), 16, 16, 256, 16); m_pf16x16_tilemap[1] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(deco_bac06_device::get_pf16x16_tile_info),this), tilemap_mapper_delegate(FUNC(deco_bac06_device::tile_shape1_scan),this), 16, 16, 128, 32); m_pf16x16_tilemap[2] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(deco_bac06_device::get_pf16x16_tile_info),this), tilemap_mapper_delegate(FUNC(deco_bac06_device::tile_shape2_scan),this), 16, 16, 64, 64); } else if (m_wide==1) { m_pf16x16_tilemap[0] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(deco_bac06_device::get_pf16x16_tile_info),this), tilemap_mapper_delegate(FUNC(deco_bac06_device::tile_shape0_scan),this), 16, 16, 128, 16); m_pf16x16_tilemap[1] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(deco_bac06_device::get_pf16x16_tile_info),this), tilemap_mapper_delegate(FUNC(deco_bac06_device::tile_shape1_scan),this), 16, 16, 64, 32); m_pf16x16_tilemap[2] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(deco_bac06_device::get_pf16x16_tile_info),this), tilemap_mapper_delegate(FUNC(deco_bac06_device::tile_shape2_scan),this), 16, 16, 32, 64); } else { m_pf16x16_tilemap[0] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(deco_bac06_device::get_pf16x16_tile_info),this),tilemap_mapper_delegate(FUNC(deco_bac06_device::tile_shape0_scan),this), 16,16, 64, 16); m_pf16x16_tilemap[1] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(deco_bac06_device::get_pf16x16_tile_info),this),tilemap_mapper_delegate(FUNC(deco_bac06_device::tile_shape1_scan),this), 16,16, 32, 32); m_pf16x16_tilemap[2] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(deco_bac06_device::get_pf16x16_tile_info),this),tilemap_mapper_delegate(FUNC(deco_bac06_device::tile_shape2_scan),this), 16,16, 16, 64); } }
void yunsun16_state::video_start() { m_tilemap_0 = &machine().tilemap().create( *m_gfxdecode, tilemap_get_info_delegate(FUNC(yunsun16_state::get_tile_info_0),this),tilemap_mapper_delegate(FUNC(yunsun16_state::tilemap_scan_pages),this), 16,16, TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y); m_tilemap_1 = &machine().tilemap().create( *m_gfxdecode, tilemap_get_info_delegate(FUNC(yunsun16_state::get_tile_info_1),this),tilemap_mapper_delegate(FUNC(yunsun16_state::tilemap_scan_pages),this), 16,16, TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y); m_tilemap_0->set_scrolldx(-0x34, 0); m_tilemap_1->set_scrolldx(-0x38, 0); m_tilemap_0->set_scrolldy(-0x10, 0); m_tilemap_1->set_scrolldy(-0x10, 0); m_tilemap_0->set_transparent_pen(0xff); m_tilemap_1->set_transparent_pen(0xff); }
void bigstrkb_state::video_start() { m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bigstrkb_state::get_bsb_tile_info),this),TILEMAP_SCAN_COLS, 8, 8,64,32); m_tilemap2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bigstrkb_state::get_bsb_tile2_info),this),tilemap_mapper_delegate(FUNC(bigstrkb_state::bsb_bg_scan),this), 16, 16,128,64); m_tilemap3 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bigstrkb_state::get_bsb_tile3_info),this),tilemap_mapper_delegate(FUNC(bigstrkb_state::bsb_bg_scan),this), 16, 16,128,64); m_tilemap->set_transparent_pen(15); //m_tilemap2->set_transparent_pen(15); m_tilemap3->set_transparent_pen(15); }
void deco16ic_device::device_start() { m_bank_cb_func[0] = m_bank_cb0; m_bank_cb_func[1] = m_bank_cb1; int fullheight = 0; int fullwidth = 0; if (m_full_width12&2) fullheight = 1; if (m_full_width12&1) fullwidth = 1; m_pf1_tilemap_16x16 = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(deco16ic_device::get_pf1_tile_info),this), tilemap_mapper_delegate(FUNC(deco16ic_device::deco16_scan_rows),this), 16, 16, fullwidth ? 64 : 32, fullheight ?64 : 32); // m_pf1_tilemap_8x8 = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(deco16ic_device::get_pf1_tile_info_b),this), TILEMAP_SCAN_ROWS, 8, 8, m_full_width12 ? 64 : 32, 32); m_pf1_tilemap_8x8 = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(deco16ic_device::get_pf1_tile_info_b),this), TILEMAP_SCAN_ROWS, 8, 8, 64 , 32); // nitroball if (m_split) m_pf2_tilemap_16x16 = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(deco16ic_device::get_pf2_tile_info),this), tilemap_mapper_delegate(FUNC(deco16ic_device::deco16_scan_rows),this), 16, 16, fullwidth ? 64 : 32, fullheight ? 64 : 32); else m_pf2_tilemap_16x16 = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(deco16ic_device::get_pf2_tile_info),this), tilemap_mapper_delegate(FUNC(deco16ic_device::deco16_scan_rows),this), 16, 16, fullwidth ? 64 : 32, fullheight ? 64 : 32); m_pf2_tilemap_8x8 = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(deco16ic_device::get_pf2_tile_info_b),this), TILEMAP_SCAN_ROWS, 8, 8, fullwidth ? 64 : 32, fullheight ? 64 : 32); m_pf1_tilemap_8x8->set_transparent_pen(0); m_pf2_tilemap_8x8->set_transparent_pen(0); m_pf1_tilemap_16x16->set_transparent_pen(0); m_pf2_tilemap_16x16->set_transparent_pen(0); if (m_split) /* Caveman Ninja only */ m_pf2_tilemap_16x16->set_transmask(0, 0x00ff, 0xff01); m_pf1_8bpp_mode = 0; m_pf1_data = auto_alloc_array_clear(machine(), UINT16, 0x2000 / 2); m_pf2_data = auto_alloc_array_clear(machine(), UINT16, 0x2000 / 2); m_pf12_control = auto_alloc_array_clear(machine(), UINT16, 0x10 / 2); save_item(NAME(m_use_custom_pf1)); save_item(NAME(m_use_custom_pf2)); save_item(NAME(m_pf1_bank)); save_item(NAME(m_pf2_bank)); save_item(NAME(m_pf12_8x8_gfx_bank)); save_item(NAME(m_pf12_16x16_gfx_bank)); save_item(NAME(m_pf12_last_small)); save_item(NAME(m_pf12_last_big)); save_item(NAME(m_pf1_8bpp_mode)); save_pointer(NAME(m_pf1_data), 0x2000 / 2); save_pointer(NAME(m_pf2_data), 0x2000 / 2); save_pointer(NAME(m_pf12_control), 0x10 / 2); }
VIDEO_START_MEMBER(punchout_state,armwrest) { m_bg_top_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::armwrest_top_get_info),this), TILEMAP_SCAN_ROWS, 8,8, 32,32); m_bg_bot_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::armwrest_bot_get_info),this), TILEMAP_SCAN_ROWS, 8,8, 32,32); m_spr1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::bs1_get_info),this), tilemap_mapper_delegate(FUNC(punchout_state::armwrest_bs1_scan),this), 8,8, 32,16); m_spr1_tilemap_flipx = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::bs1_get_info),this), tilemap_mapper_delegate(FUNC(punchout_state::armwrest_bs1_scan_flipx),this), 8,8, 32,16); m_spr2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::bs2_get_info),this), TILEMAP_SCAN_ROWS, 8,8, 16,32); m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::armwrest_fg_get_info),this), TILEMAP_SCAN_ROWS, 8,8, 32,32); m_spr1_tilemap->set_transparent_pen(0x07); m_spr1_tilemap_flipx->set_transparent_pen(0x07); m_spr2_tilemap->set_transparent_pen(0x03); m_fg_tilemap->set_transparent_pen(0x07); }
void deco16ic_device::device_start() { if(!m_gfxdecode->started()) throw device_missing_dependencies(); m_bank1_cb.bind_relative_to(*owner()); m_bank2_cb.bind_relative_to(*owner()); int fullheight = 0; int fullwidth = 0; if (m_full_width12&2) fullheight = 1; if (m_full_width12&1) fullwidth = 1; m_pf1_tilemap_16x16 = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(deco16ic_device::get_pf1_tile_info),this), tilemap_mapper_delegate(FUNC(deco16ic_device::deco16_scan_rows),this), 16, 16, fullwidth ? 64 : 32, fullheight ?64 : 32); // m_pf1_tilemap_8x8 = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(deco16ic_device::get_pf1_tile_info_b),this), TILEMAP_SCAN_ROWS, 8, 8, m_full_width12 ? 64 : 32, 32); m_pf1_tilemap_8x8 = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(deco16ic_device::get_pf1_tile_info_b),this), TILEMAP_SCAN_ROWS, 8, 8, 64 , 32); // nitroball if (m_split) m_pf2_tilemap_16x16 = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(deco16ic_device::get_pf2_tile_info),this), tilemap_mapper_delegate(FUNC(deco16ic_device::deco16_scan_rows),this), 16, 16, fullwidth ? 64 : 32, fullheight ? 64 : 32); else m_pf2_tilemap_16x16 = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(deco16ic_device::get_pf2_tile_info),this), tilemap_mapper_delegate(FUNC(deco16ic_device::deco16_scan_rows),this), 16, 16, fullwidth ? 64 : 32, fullheight ? 64 : 32); m_pf2_tilemap_8x8 = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(deco16ic_device::get_pf2_tile_info_b),this), TILEMAP_SCAN_ROWS, 8, 8, fullwidth ? 64 : 32, fullheight ? 64 : 32); m_pf1_tilemap_8x8->set_transparent_pen(0); m_pf2_tilemap_8x8->set_transparent_pen(0); m_pf1_tilemap_16x16->set_transparent_pen(0); m_pf2_tilemap_16x16->set_transparent_pen(0); if (m_split) /* Caveman Ninja only */ m_pf2_tilemap_16x16->set_transmask(0, 0x00ff, 0xff01); m_pf1_8bpp_mode = 0; m_pf1_data = make_unique_clear<UINT16[]>(0x2000 / 2); m_pf2_data = make_unique_clear<UINT16[]>(0x2000 / 2); m_pf12_control = make_unique_clear<UINT16[]>(0x10 / 2); save_item(NAME(m_use_custom_pf1)); save_item(NAME(m_use_custom_pf2)); save_item(NAME(m_pf1_bank)); save_item(NAME(m_pf2_bank)); save_item(NAME(m_pf12_8x8_gfx_bank)); save_item(NAME(m_pf12_16x16_gfx_bank)); save_item(NAME(m_pf12_last_small)); save_item(NAME(m_pf12_last_big)); save_item(NAME(m_pf1_8bpp_mode)); save_pointer(NAME(m_pf1_data.get()), 0x2000 / 2); save_pointer(NAME(m_pf2_data.get()), 0x2000 / 2); save_pointer(NAME(m_pf12_control.get()), 0x10 / 2); }
void skykid_state::video_start() { m_tx_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(skykid_state::tx_get_tile_info),this),tilemap_mapper_delegate(FUNC(skykid_state::tx_tilemap_scan),this), 8,8,36,28); m_bg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(skykid_state::bg_get_tile_info),this),TILEMAP_SCAN_ROWS, 8,8,64,32); m_tx_tilemap->set_transparent_pen(0); save_item(NAME(m_priority)); save_item(NAME(m_scroll_x)); save_item(NAME(m_scroll_y)); }
VIDEO_START_MEMBER(ninjakd2_state,omegaf) { video_init_common(0x2000); m_vram_bank_mask = 7; m_robokid_sprites = 1; m_bg0_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::robokid_get_bg0_tile_info),this), tilemap_mapper_delegate(FUNC(ninjakd2_state::omegaf_bg_scan),this), 16, 16, 128, 32); m_bg1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::robokid_get_bg1_tile_info),this), tilemap_mapper_delegate(FUNC(ninjakd2_state::omegaf_bg_scan),this), 16, 16, 128, 32); m_bg2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::robokid_get_bg2_tile_info),this), tilemap_mapper_delegate(FUNC(ninjakd2_state::omegaf_bg_scan),this), 16, 16, 128, 32); m_bg0_tilemap->set_transparent_pen(0xf); m_bg1_tilemap->set_transparent_pen(0xf); m_bg2_tilemap->set_transparent_pen(0xf); m_stencil_compare_function = stencil_omegaf; }
void amspdwy_state::video_start() { m_bg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(amspdwy_state::get_tile_info),this), tilemap_mapper_delegate(FUNC(amspdwy_state::tilemap_scan_cols_back),this), 8, 8, 0x20, 0x20); }
void blktiger_state::video_start() { m_chon = 1; m_bgon = 1; m_objon = 1; m_screen_layout = 0; m_scroll_ram = std::make_unique<uint8_t[]>(BGRAM_BANK_SIZE * BGRAM_BANKS); m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(blktiger_state::get_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32); m_bg_tilemap8x4 = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(blktiger_state::get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(blktiger_state::bg8x4_scan),this), 16, 16, 128, 64); m_bg_tilemap4x8 = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(blktiger_state::get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(blktiger_state::bg4x8_scan),this), 16, 16, 64, 128); m_tx_tilemap->set_transparent_pen(3); m_bg_tilemap8x4->set_transmask(0, 0xffff, 0x8000); /* split type 0 is totally transparent in front half */ m_bg_tilemap8x4->set_transmask(1, 0xfff0, 0x800f); /* split type 1 has pens 4-15 transparent in front half */ m_bg_tilemap8x4->set_transmask(2, 0xff00, 0x80ff); /* split type 1 has pens 8-15 transparent in front half */ m_bg_tilemap8x4->set_transmask(3, 0xf000, 0x8fff); /* split type 1 has pens 12-15 transparent in front half */ m_bg_tilemap4x8->set_transmask(0, 0xffff, 0x8000); m_bg_tilemap4x8->set_transmask(1, 0xfff0, 0x800f); m_bg_tilemap4x8->set_transmask(2, 0xff00, 0x80ff); m_bg_tilemap4x8->set_transmask(3, 0xf000, 0x8fff); save_pointer(NAME(m_scroll_ram.get()), BGRAM_BANK_SIZE * BGRAM_BANKS); }
void funkybee_state::video_start() { m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(funkybee_state::get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(funkybee_state::funkybee_tilemap_scan),this), 8, 8, 32, 32); }
void wwfsstar_state::video_start() { m_fg0_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(wwfsstar_state::get_fg0_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8,32,32); m_fg0_tilemap->set_transparent_pen(0); m_bg0_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(wwfsstar_state::get_bg0_tile_info),this),tilemap_mapper_delegate(FUNC(wwfsstar_state::bg0_scan),this), 16, 16,32,32); m_fg0_tilemap->set_transparent_pen(0); save_item(NAME(m_vblank)); save_item(NAME(m_scrollx)); save_item(NAME(m_scrolly)); }
VIDEO_START_MEMBER(nmk16_state,macross) { m_bg_tilemap0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg0_tile_info),this), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),this),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y); m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_tx_tile_info),this),TILEMAP_SCAN_COLS,8,8,32,32); m_tx_tilemap->set_transparent_pen(15); nmk16_video_init(); }
void metlclsh_state::video_start() { m_otherram = auto_alloc_array(machine(), UINT8, 0x800); // banked ram m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(metlclsh_state::get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(metlclsh_state::metlclsh_bgtilemap_scan),this), 16, 16, 32, 16); m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(metlclsh_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32); m_bg_tilemap->set_transparent_pen(0); m_fg_tilemap->set_transparent_pen(0); save_pointer(NAME(m_otherram), 0x800); }
void megasys1_state::create_tilemaps() { int layer, i; for (layer = 0; layer < 3; layer++) { /* 16x16 tilemaps */ m_tilemap[layer][0][0] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_16x16),this), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_16x16),this), 8,8, TILES_PER_PAGE_X * 16, TILES_PER_PAGE_Y * 2); m_tilemap[layer][0][1] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_16x16),this), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_16x16),this), 8,8, TILES_PER_PAGE_X * 8, TILES_PER_PAGE_Y * 4); m_tilemap[layer][0][2] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_16x16),this), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_16x16),this), 8,8, TILES_PER_PAGE_X * 4, TILES_PER_PAGE_Y * 8); m_tilemap[layer][0][3] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_16x16),this), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_16x16),this), 8,8, TILES_PER_PAGE_X * 2, TILES_PER_PAGE_Y * 16); /* 8x8 tilemaps */ m_tilemap[layer][1][0] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_8x8),this), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_8x8),this), 8,8, TILES_PER_PAGE_X * 8, TILES_PER_PAGE_Y * 1); m_tilemap[layer][1][1] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_8x8),this), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_8x8),this), 8,8, TILES_PER_PAGE_X * 4, TILES_PER_PAGE_Y * 2); m_tilemap[layer][1][2] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_8x8),this), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_8x8),this), 8,8, TILES_PER_PAGE_X * 4, TILES_PER_PAGE_Y * 2); m_tilemap[layer][1][3] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_8x8),this), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_8x8),this), 8,8, TILES_PER_PAGE_X * 2, TILES_PER_PAGE_Y * 4); /* set user data and transparency */ for (i = 0; i < 8; i++) { m_tilemap[layer][i/4][i%4]->set_user_data((void *)(FPTR)layer); m_tilemap[layer][i/4][i%4]->set_transparent_pen(15); } } }
VIDEO_START_MEMBER(nmk16_state,bioship) { m_bg_tilemap0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg0_tile_info),this), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),this),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y); m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_tx_tile_info),this),TILEMAP_SCAN_COLS,8,8,32,32); m_bg_tilemap0->set_transparent_pen(15); m_tx_tilemap->set_transparent_pen(15); nmk16_video_init(); m_background_bitmap = auto_bitmap_ind16_alloc(machine(),8192,512); m_bioship_background_bank=0; m_redraw_bitmap = 1; }
void chinagat_state::video_start() { ddragon_state::video_start(); m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(chinagat_state::get_bg_tile_info),this),tilemap_mapper_delegate(FUNC(chinagat_state::background_scan),this), 16, 16, 32, 32); m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(chinagat_state::get_fg_16color_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8, 32, 32); m_fg_tilemap->set_transparent_pen(0); m_fg_tilemap->set_scrolldy(-8, -8); m_bg_tilemap->set_scrolldy(-8, -8); }
VIDEO_START_MEMBER(nmk16_state,macross2) { m_bg_tilemap0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg0_tile_info),this), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),this),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y); m_bg_tilemap1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg1_tile_info),this), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),this),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y); m_bg_tilemap2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg2_tile_info),this), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),this),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y); m_bg_tilemap3 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg3_tile_info),this), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),this),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y); m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_tx_tile_info),this),TILEMAP_SCAN_COLS,8,8,64,32); m_tx_tilemap->set_transparent_pen(15); nmk16_video_init(); m_videoshift = 64; /* 384x224 screen, leftmost 64 pixels have to be retrieved */ /* from the other side of the tilemap (!) */ }
VIDEO_START_MEMBER(ddragon_state,ddragon) { m_bg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(ddragon_state::get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(ddragon_state::background_scan),this), 16, 16, 32, 32); m_fg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(ddragon_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32); m_fg_tilemap->set_transparent_pen(0); m_fg_tilemap->set_scrolldx(0, 0); m_bg_tilemap->set_scrolldx(0, 0); m_fg_tilemap->set_scrolldy(-8, -8); m_bg_tilemap->set_scrolldy(-8, -8); }
void deniam_state::video_start() { m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(deniam_state::get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(deniam_state::scan_pages),this), 8, 8, 128, 64); m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(deniam_state::get_fg_tile_info),this), tilemap_mapper_delegate(FUNC(deniam_state::scan_pages),this), 8, 8, 128, 64); m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(deniam_state::get_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32); m_fg_tilemap->set_transparent_pen(0); m_tx_tilemap->set_transparent_pen(0); }
void bestleag_state::video_start() { m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bestleag_state::get_tx_tile_info),this),TILEMAP_SCAN_COLS,8,8,256, 32); m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bestleag_state::get_bg_tile_info),this),tilemap_mapper_delegate(FUNC(bestleag_state::bsb_bg_scan),this),16,16,128, 64); m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bestleag_state::get_fg_tile_info),this),tilemap_mapper_delegate(FUNC(bestleag_state::bsb_bg_scan),this),16,16,128, 64); m_tx_tilemap->set_transparent_pen(15); m_fg_tilemap->set_transparent_pen(15); }
void k001604_device::device_start() { static const gfx_layout k001604_char_layout_layer_8x8 = { 8, 8, K001604_NUM_TILES_LAYER0, 8, { 8,9,10,11,12,13,14,15 }, { 1*16, 0*16, 3*16, 2*16, 5*16, 4*16, 7*16, 6*16 }, { 0*128, 1*128, 2*128, 3*128, 4*128, 5*128, 6*128, 7*128 }, 8*128 }; static const gfx_layout k001604_char_layout_layer_16x16 = { 16, 16, K001604_NUM_TILES_LAYER1, 8, { 8,9,10,11,12,13,14,15 }, { 1*16, 0*16, 3*16, 2*16, 5*16, 4*16, 7*16, 6*16, 9*16, 8*16, 11*16, 10*16, 13*16, 12*16, 15*16, 14*16 }, { 0*256, 1*256, 2*256, 3*256, 4*256, 5*256, 6*256, 7*256, 8*256, 9*256, 10*256, 11*256, 12*256, 13*256, 14*256, 15*256 }, 16*256 }; if(!m_gfxdecode->started()) throw device_missing_dependencies(); int roz_tile_size; m_gfx_index[0] = m_gfx_index_1; m_gfx_index[1] = m_gfx_index_2; m_char_ram = auto_alloc_array_clear(machine(), UINT32, 0x200000 / 4); m_tile_ram = auto_alloc_array_clear(machine(), UINT32, 0x20000 / 4); m_reg = auto_alloc_array_clear(machine(), UINT32, 0x400 / 4); /* create tilemaps */ roz_tile_size = m_roz_size ? 16 : 8; if (m_layer_size) { m_layer_8x8[0] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(k001604_device::tile_info_layer_8x8),this), tilemap_mapper_delegate(FUNC(k001604_device::scan_layer_8x8_0_size1),this), 8, 8, 64, 64); m_layer_8x8[1] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(k001604_device::tile_info_layer_8x8),this), tilemap_mapper_delegate(FUNC(k001604_device::scan_layer_8x8_1_size1),this), 8, 8, 64, 64); m_layer_roz = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(k001604_device::tile_info_layer_roz),this), tilemap_mapper_delegate(FUNC(k001604_device::scan_layer_roz_256),this), roz_tile_size, roz_tile_size, 128, 64); } else { m_layer_8x8[0] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(k001604_device::tile_info_layer_8x8),this), tilemap_mapper_delegate(FUNC(k001604_device::scan_layer_8x8_0_size0),this), 8, 8, 64, 64); m_layer_8x8[1] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(k001604_device::tile_info_layer_8x8),this), tilemap_mapper_delegate(FUNC(k001604_device::scan_layer_8x8_1_size0),this), 8, 8, 64, 64); m_layer_roz = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(k001604_device::tile_info_layer_roz),this), tilemap_mapper_delegate(FUNC(k001604_device::scan_layer_roz_128),this), roz_tile_size, roz_tile_size, 128, 64); } m_layer_8x8[0]->set_transparent_pen(0); m_layer_8x8[1]->set_transparent_pen(0); m_gfxdecode->set_gfx(m_gfx_index[0], global_alloc(gfx_element(m_palette, k001604_char_layout_layer_8x8, (UINT8*)&m_char_ram[0], 0, m_palette->entries() / 16, 0))); m_gfxdecode->set_gfx(m_gfx_index[1], global_alloc(gfx_element(m_palette, k001604_char_layout_layer_16x16, (UINT8*)&m_char_ram[0], 0, m_palette->entries() / 16, 0))); save_pointer(NAME(m_reg), 0x400 / 4); save_pointer(NAME(m_char_ram), 0x200000 / 4); save_pointer(NAME(m_tile_ram), 0x20000 / 4); }
void supduck_state::video_start() { m_text_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(supduck_state::get_text_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32); m_fore_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(supduck_state::get_fore_tile_info),this), tilemap_mapper_delegate(FUNC(supduck_state::supduk_tilemap_scan),this), 32, 32, 128,64); m_back_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(supduck_state::get_back_tile_info),this), tilemap_mapper_delegate(FUNC(supduck_state::supduk_tilemap_scan),this), 32, 32, 128,64); m_text_tilemap->set_transparent_pen(0x3); m_fore_tilemap->set_transparent_pen(0xf); }