UINT32 joystand_state::screen_update( screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect ) { int layers_ctrl = -1; #ifdef MAME_DEBUG if (machine().input().code_pressed(KEYCODE_Z)) { int msk = 0; if (machine().input().code_pressed(KEYCODE_Q)) msk |= 1; if (machine().input().code_pressed(KEYCODE_W)) msk |= 2; if (machine().input().code_pressed(KEYCODE_A)) msk |= 4; if (machine().input().code_pressed(KEYCODE_S)) msk |= 8; if (msk != 0) layers_ctrl &= msk; } #endif m_bg1_tmap->set_scrollx(0, 0); m_bg1_tmap->set_scrolly(0, 0); m_bg2_tmap->set_scrollx(0, m_scroll[0] - 0xa); m_bg2_tmap->set_scrolly(0, m_scroll[1]); draw_bg15_tilemap(); bitmap.fill(m_palette->black_pen(), cliprect); if (layers_ctrl & 4) copybitmap_trans(bitmap, m_bg15_bitmap[0], 0, 0, 1, 0, cliprect, BG15_TRANSPARENT); if (layers_ctrl & 8) copybitmap_trans(bitmap, m_bg15_bitmap[1], 0, 0, 0, 0, cliprect, BG15_TRANSPARENT); if (layers_ctrl & 1) m_bg1_tmap->draw(screen, bitmap, cliprect, 0, 0); if (layers_ctrl & 2) m_bg2_tmap->draw(screen, bitmap, cliprect, 0, 0); popmessage("S0: %04X S1: %04X EN: %04X OUT: %04X", m_scroll[0], m_scroll[1], m_enable[0], m_outputs[0]); return 0; }
uint32_t sbowling_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { bitmap.fill(0x18, cliprect); m_tilemap->draw(screen, bitmap, cliprect, 0, 0); copybitmap_trans(bitmap, *m_tmpbitmap, 0, 0, 0, 0, cliprect, m_color_prom_address); return 0; }
UINT32 by133_state::screen_update_granny(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { //bitmap.fill(0xff000000, cliprect); copybitmap(bitmap, m_crtc->get_bitmap(), 0, 0, 0, 0, cliprect); copybitmap_trans(bitmap, m_crtc2->get_bitmap(), 0, 0, 0, 0, cliprect, 0xff000000); return 0; }
static SCREEN_UPDATE(sliver) { sliver_state *state = screen->machine().driver_data<sliver_state>(); copybitmap (bitmap, state->m_bitmap_bg, 0, 0, 0, 0, cliprect); copybitmap_trans(bitmap, state->m_bitmap_fg, 0, 0, 0, 0, cliprect, 0); return 0; }
void kaneko_pandora_device::update( bitmap_ind16 &bitmap, const rectangle &cliprect ) { if (!m_sprites_bitmap) { printf("ERROR: pandora_update with no pandora_sprites_bitmap\n"); return; } copybitmap_trans(bitmap, *m_sprites_bitmap, 0, 0, 0, 0, cliprect, 0); }
void pandora_update( device_t *device, bitmap_ind16 &bitmap, const rectangle &cliprect ) { kaneko_pandora_state *pandora = get_safe_token(device); if (!pandora->sprites_bitmap) { printf("ERROR: pandora_update with no pandora_sprites_bitmap\n"); return; } copybitmap_trans(bitmap, *pandora->sprites_bitmap, 0, 0, 0, 0, cliprect, 0); }
uint32_t metro_state::screen_update_psac_vdp2_mix(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { /* TODO: bit 5 of reg 7 is off when ROZ is supposed to be disabled * (Blazing Tornado title screen/character select/ending and Grand Striker 2 title/how to play transition) */ bitmap.fill(m_vdp2->get_background_pen(), cliprect); m_k053936->zoom_draw(screen, bitmap, cliprect, m_k053936_tilemap, 0, 0, 1); m_vdp2->screen_update(screen, m_vdp_bitmap, cliprect); copybitmap_trans(bitmap, m_vdp_bitmap, 0, 0, 0, 0, cliprect, m_vdp2->get_background_pen()); return 0; }
UINT32 paradise_state::screen_update_paradise(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { int layers_ctrl = -1; #ifdef MAME_DEBUG if (machine().input().code_pressed(KEYCODE_Z)) { int mask = 0; if (machine().input().code_pressed(KEYCODE_Q)) mask |= 1; if (machine().input().code_pressed(KEYCODE_W)) mask |= 2; if (machine().input().code_pressed(KEYCODE_E)) mask |= 4; if (machine().input().code_pressed(KEYCODE_R)) mask |= 8; if (machine().input().code_pressed(KEYCODE_A)) mask |= 16; if (mask != 0) layers_ctrl &= mask; } #endif bitmap.fill(m_palette->black_pen(), cliprect); if (!(m_priority & 4)) /* Screen blanking */ return 0; if (m_priority & 1) if (layers_ctrl & 16) draw_sprites(bitmap, cliprect); if (layers_ctrl & 1) m_tilemap_0->draw(screen, bitmap, cliprect, 0, 0); if (layers_ctrl & 2) m_tilemap_1->draw(screen, bitmap, cliprect, 0, 0); if (layers_ctrl & 4) copybitmap_trans(bitmap, m_tmpbitmap, flip_screen(), flip_screen(), 0, 0, cliprect, 0x80f); if (m_priority & 2) { if (!(m_priority & 1)) if (layers_ctrl & 16) draw_sprites(bitmap, cliprect); if (layers_ctrl & 8) m_tilemap_2->draw(screen, bitmap, cliprect, 0, 0); } else { if (layers_ctrl & 8) m_tilemap_2->draw(screen, bitmap, cliprect, 0, 0); if (!(m_priority & 1)) if (layers_ctrl & 16) draw_sprites(bitmap, cliprect); } return 0; }
UINT32 sliver_state::screen_update_sliver(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { copybitmap (bitmap, m_bitmap_bg, 0, 0, 0, 0, cliprect); copybitmap_trans(bitmap, m_bitmap_fg, 0, 0, 0, 0, cliprect, 0); return 0; }
static SCREEN_UPDATE(coolridr) { coolridr_state *state = screen->machine().driver_data<coolridr_state>(); /* planes seems to basically be at 0x8000 and 0x28000... */ const gfx_element *gfx = screen->machine().gfx[2]; UINT32 count; int y,x; if(screen->machine().input().code_pressed(KEYCODE_Z)) state->m_test_offs+=4; if(screen->machine().input().code_pressed(KEYCODE_X)) state->m_test_offs-=4; if(screen->machine().input().code_pressed(KEYCODE_C)) state->m_test_offs+=0x40; if(screen->machine().input().code_pressed(KEYCODE_V)) state->m_test_offs-=0x40; if(screen->machine().input().code_pressed(KEYCODE_B)) state->m_test_offs+=0x400; if(screen->machine().input().code_pressed(KEYCODE_N)) state->m_test_offs-=0x400; if(screen->machine().input().code_pressed_once(KEYCODE_A)) state->m_color++; if(screen->machine().input().code_pressed_once(KEYCODE_S)) state->m_color--; if(state->m_test_offs > 0x100000*4) state->m_test_offs = 0; count = state->m_test_offs/4; popmessage("%08x %04x",state->m_test_offs,state->m_color); for (y=0;y<64;y++) { for (x=0;x<128;x+=2) { int tile; tile = (state->m_h1_vram[count] & 0x0fff0000) >> 16; drawgfx_opaque(bitmap,cliprect,gfx,tile,state->m_color,0,0,(x+0)*16,y*16); tile = (state->m_h1_vram[count] & 0x00000fff) >> 0; drawgfx_opaque(bitmap,cliprect,gfx,tile,state->m_color,0,0,(x+1)*16,y*16); count++; } } copybitmap_trans(bitmap, state->m_temp_bitmap_sprites, 0, 0, 0, 0, cliprect, 0); bitmap_fill(state->m_temp_bitmap_sprites, cliprect, 0); return 0; }
void tc0780fpa_renderer::draw(bitmap_ind16 &bitmap, const rectangle &cliprect) { copybitmap_trans(bitmap, *m_fb[m_current_fb^1], 0, 0, 0, 0, cliprect, 0); }
void rollext_renderer::display(bitmap_rgb32 *bitmap, const rectangle &cliprect) { copybitmap_trans(*bitmap, *m_fb, 0, 0, 0, 0, cliprect, 0); }
static VIDEO_UPDATE(sliver) { copybitmap (bitmap, sliver_bitmap_bg, 0, 0, 0, 0, cliprect); copybitmap_trans(bitmap, sliver_bitmap_fg, 0, 0, 0, 0, cliprect, 0); return 0; }