static void capbowl_update(int scan) { force_partial_update(scan - 1); scan += 32; if (scan > 240) scan = 32; timer_set(cpu_getscanlinetime(scan), scan, capbowl_update); }
void system18_set_grayscale(int enable) { enable = (enable != 0); if (enable != grayscale_enable) { force_partial_update(cpu_getscanline()); grayscale_enable = enable; /* printf("Grayscale = %02X\n", enable); */ } }
void qix_scanline_callback(int scanline) { /* force a partial update */ force_partial_update(scanline - 1); /* set a timer for the next increment */ scanline += SCANLINE_INCREMENT; if (scanline > 256) scanline = SCANLINE_INCREMENT; timer_set(cpu_getscanlinetime(scanline), scanline, qix_scanline_callback); }
void system18_set_vdp_mixing(int mixing) { if (mixing != vdp_mixing) { force_partial_update(cpu_getscanline()); vdp_mixing = mixing; #if DEBUG_VDP printf("VDP mixing = %02X\n", mixing); #endif } }
void system18_set_vdp_enable(int enable) { enable = (enable != 0); if (enable != vdp_enable) { force_partial_update(cpu_getscanline()); vdp_enable = enable; #if DEBUG_VDP printf("VDP enable = %02X\n", enable); #endif } }
static void interrupt_common(void) { int i,next; force_partial_update(CurrentScan); next = (CurrentScan + 1) % MAX_INT_PER_FRAME; for (i = 0;i < 8;i++) colors[next][i] = colors[CurrentScan][i]; for (i = 0;i < 4;i++) sparkle[next][i] = sparkle[CurrentScan][i]; colorsplit[next] = colorsplit[CurrentScan]; CurrentScan = next; }
void batman_scanline_update(int scanline) { /* update the scanline parameters */ if (scanline <= Machine->visible_area.max_y && atarivc_state.rowscroll_enable) { data16_t *base = &atarigen_alpha[scanline / 8 * 64 + 48]; int scan, i; for (scan = 0; scan < 8; scan++, scanline++) for (i = 0; i < 2; i++) { int data = *base++; switch (data & 15) { case 9: force_partial_update(scanline - 1); atarivc_state.mo_xscroll = (data >> 7) & 0x1ff; atarimo_set_xscroll(0, atarivc_state.mo_xscroll); break; case 10: force_partial_update(scanline - 1); atarivc_state.pf1_xscroll_raw = (data >> 7) & 0x1ff; atarivc_update_pf_xscrolls(); tilemap_set_scrollx(atarigen_playfield_tilemap, 0, atarivc_state.pf0_xscroll); tilemap_set_scrollx(atarigen_playfield2_tilemap, 0, atarivc_state.pf1_xscroll); break; case 11: force_partial_update(scanline - 1); atarivc_state.pf0_xscroll_raw = (data >> 7) & 0x1ff; atarivc_update_pf_xscrolls(); tilemap_set_scrollx(atarigen_playfield_tilemap, 0, atarivc_state.pf0_xscroll); break; case 13: force_partial_update(scanline - 1); atarivc_state.mo_yscroll = (data >> 7) & 0x1ff; atarimo_set_yscroll(0, atarivc_state.mo_yscroll); break; case 14: force_partial_update(scanline - 1); atarivc_state.pf1_yscroll = (data >> 7) & 0x1ff; tilemap_set_scrolly(atarigen_playfield2_tilemap, 0, atarivc_state.pf1_yscroll); break; case 15: force_partial_update(scanline - 1); atarivc_state.pf0_yscroll = (data >> 7) & 0x1ff; tilemap_set_scrolly(atarigen_playfield_tilemap, 0, atarivc_state.pf0_yscroll); break; } } }
static INTERRUPT_GEN(namcofl_interrupt) { int currentscanline=224-cpu_getiloops(); int v=(paletteram32[0x1808/4]>>16)&0xffff; int triggerscanline=(((v>>8)&0xff)|((v&0xff)<<8))-(32+1); if (triggerscanline==currentscanline) { force_partial_update(currentscanline); cpunum_set_input_line(0, I960_IRQ1, ASSERT_LINE); } switch (cpu_getiloops()) { case 0: cpunum_set_input_line(0, I960_IRQ2, ASSERT_LINE); /*VSYNC */ break; case 2: cpunum_set_input_line(0, I960_IRQ0, ASSERT_LINE); /*Network */ break; } }
void draw_screen(void) { /* finish updating the screen */ force_partial_update(Machine->visible_area.max_y); }
/* set the display enable bit */ void segac2_enable_display(int enable) { if (!cpu_getvblank()) force_partial_update(cpu_getscanline() + scanbase); display_enable = enable; }
void namcos2_68k_slave_posirq( int scanline ) { force_partial_update(scanline); cpunum_set_input_line(CPU_SLAVE , namcos2_68k_slave_C148[NAMCOS2_C148_POSIRQ] , ASSERT_LINE); }
void namcos2_68k_master_posirq( int scanline ) { force_partial_update(scanline); cpunum_set_input_line(CPU_MASTER , namcos2_68k_master_C148[NAMCOS2_C148_POSIRQ] , ASSERT_LINE); }