/********************************************************************* * Clear to end of line : *********************************************************************/ void lcd_clrtoeol(void) { int x, z; lcd(LCD_Data); for ( x=lcd_x; x<lcd_cols; ++x ) { for ( z=0; z<6; ++z ) lcd_wr_byte(0x00); lcd_buf[lcd_y][x] = ' '; } lcd(LCD_Unselect); lcd_restore(); }
/* * Internal - scroll the text on the screen up one * line. */ static void lcd_scroll(void) { int y, x; lcd_home(); /* Home cursor */ /* Scroll up text */ for ( y=0; y<lcd_lines-1; ++y ) for ( x=0; x<lcd_cols; ++x ) { lcd_buf[y][x] = lcd_buf[y+1][x]; lcd_putraw(lcd_buf[y][x]); } /* Blank the last line */ for ( x=0; x<lcd_cols; ++x ) { lcd_buf[lcd_lines-1][x] = ' '; lcd_putraw(' '); } lcd_restore(); /* Restore cursor */ }
bool asic_restore(const emu_image *s) { asic.deviceType = s->deviceType; return backlight_restore(s) && control_restore(s) && cpu_restore(s) && flash_restore(s) && intrpt_restore(s) && keypad_restore(s) && lcd_restore(s) && mem_restore(s) && watchdog_restore(s) && protect_restore(s) && rtc_restore(s) && sha256_restore(s) && gpt_restore(s) && usb_restore(s) && cxxx_restore(s) && dxxx_restore(s) && exxx_restore(s) && sched_restore(s); }
/********************************************************************* * Clear to end of screen from current position: *********************************************************************/ void lcd_clrtobot(void) { int y, x, z, start_x; lcd_move(lcd_y,lcd_x); lcd(LCD_Data); start_x = lcd_x; for ( y=lcd_y; y<lcd_lines; ++y ) { for ( x=start_x; x<lcd_cols; ++x ) { for ( z=0; z<6; ++z ) lcd_wr_byte(0x00); } lcd_buf[y][x] = ' '; start_x = 0; } lcd(LCD_Unselect); lcd_restore(); }