void dmndrby_state::video_start() { m_bg = 0; m_racetrack_tilemap_rom = memregion("user1")->base(); m_racetrack_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(dmndrby_state::get_dmndrby_tile_info),this),TILEMAP_SCAN_ROWS,16,16, 16, 512); m_racetrack_tilemap->mark_all_dirty(); }
uint32_t patapata_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { // vregs // 0/1 are fg scroll? 0x0ff0 , 0x07b0 is no scroll // 2/3 are bg scroll? // 4 is fg bank int scrollx = (m_vregs[2]-0xff0)&0xfff; int scrolly = (m_vregs[3]-0x7b0)&0xfff; if (scrolly&0x200) scrollx += 0x1000; scrolly&=0x1ff; m_bg_tilemap->set_scrollx(0, scrollx); m_bg_tilemap->set_scrolly(0, scrolly); scrollx = (m_vregs[0]-0xff0)&0xfff; scrolly = (m_vregs[1]-0x7b0)&0xfff; if (scrolly&0x200) scrollx += 0x1000; scrolly&=0x1ff; m_fg_tilemap->set_scrollx(0, scrollx); m_fg_tilemap->set_scrolly(0, scrolly); if ((m_vregs[4]&0x3) != m_fg_bank) { m_fg_bank = m_vregs[4]&0x3; m_fg_tilemap->mark_all_dirty(); } m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0); m_fg_tilemap->draw(screen, bitmap, cliprect, 0, 0); /* popmessage("%04x %04x %04x %04x\n%04x %04x %04x %04x", m_vregs[0], m_vregs[1], m_vregs[2], m_vregs[3], m_vregs[4], m_vregs[5], m_vregs[6], m_vregs[7]); */ return 0; }
UINT32 flyball_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { int pitcherx = m_pitcher_horz; int pitchery = m_pitcher_vert - 31; int ballx = m_ball_horz - 1; int bally = m_ball_vert - 17; m_tmap->mark_all_dirty(); /* draw playfield */ m_tmap->draw(screen, bitmap, cliprect, 0, 0); /* draw pitcher */ m_gfxdecode->m_gfx[1]->transpen(bitmap,cliprect, m_pitcher_pic ^ 0xf, 0, 1, 0, pitcherx, pitchery, 1); /* draw ball */ for (int y = bally; y < bally + 2; y++) for (int x = ballx; x < ballx + 2; x++) if (cliprect.contains(x, y)) bitmap.pix16(y, x) = 1; return 0; }
UINT32 tattack_state::screen_update_tattack(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { m_tmap->mark_all_dirty(); m_tmap->draw(screen, bitmap, cliprect, 0,0); return 0; }