? lcd.diff Index: lcd.c =================================================================== RCS file: /cvsroot/rockbox/firmware/drivers/lcd.c,v retrieving revision 1.95 diff -u -b -r1.95 lcd.c --- lcd.c 6 Sep 2002 12:30:30 -0000 1.95 +++ lcd.c 9 Sep 2002 16:23:37 -0000 @@ -1435,6 +1435,18 @@ } } +/** + * Rolls up the lcd display by the specified amount of lines. + * Lines that are rolled out over the top of the screen are + * rolled in from the bottom again. This is a hardware + * remapping only and all operations on the lcd are affected. + * -> + * @param int lines - The number of lines that are rolled. + * The value must be 0 <= pixels < LCD_HEIGHT. + */ +void lcd_v_roll(int lines) { + lcd_write(true, LCD_SET_DISPLAY_START_LINE | (lines & 0x3F)); +} /* ----------------------------------------------------------------- * local variables: Index: lcd.h =================================================================== RCS file: /cvsroot/rockbox/firmware/drivers/lcd.h,v retrieving revision 1.35 diff -u -b -r1.35 lcd.h --- lcd.h 6 Sep 2002 12:30:30 -0000 1.35 +++ lcd.h 9 Sep 2002 16:23:38 -0000 @@ -115,6 +115,7 @@ extern void lcd_drawpixel(int x, int y); extern void lcd_clearpixel(int x, int y); extern void lcd_invertpixel(int x, int y); +extern void lcd_v_roll(int pixels) ; #endif /* CHARCELLS / BITMAP */