summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/plugins/lib/xlcd_scroll.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/apps/plugins/lib/xlcd_scroll.c b/apps/plugins/lib/xlcd_scroll.c
index f8eac1d4b9..0d06545c84 100644
--- a/apps/plugins/lib/xlcd_scroll.c
+++ b/apps/plugins/lib/xlcd_scroll.c
@@ -171,7 +171,7 @@ void xlcd_scroll_left(int count)
171 int bx, y; 171 int bx, y;
172 unsigned char *addr = rb->lcd_framebuffer + blocklen; 172 unsigned char *addr = rb->lcd_framebuffer + blocklen;
173#if LCD_DEPTH == 2 173#if LCD_DEPTH == 2
174 unsigned fill = 0x55 * (~rb->lcd_get_background() & 3); 174 unsigned fill = (0x55 * (~rb->lcd_get_background() & 3)) << bitcount;
175#endif 175#endif
176 176
177 for (y = 0; y < LCD_HEIGHT; y++) 177 for (y = 0; y < LCD_HEIGHT; y++)
@@ -479,12 +479,9 @@ void xlcd_scroll_up(int count)
479 ".su_iloop: \n" /* repeat for all rows */ 479 ".su_iloop: \n" /* repeat for all rows */
480 "sub.l %[wide],%%a1\n" /* address -= width */ 480 "sub.l %[wide],%%a1\n" /* address -= width */
481 481
482 "clr.l %%d0 \n"
483 "move.b (%%a1),%%d0 \n" /* get data byte */
484 "lsl.l #8,%%d1 \n" /* old data to 2nd byte */ 482 "lsl.l #8,%%d1 \n" /* old data to 2nd byte */
485 "or.l %%d1,%%d0 \n" /* combine old data */ 483 "move.b (%%a1),%%d1 \n" /* combine with new data byte */
486 "clr.l %%d1 \n" 484 "move.l %%d1,%%d0 \n" /* keep data for next round */
487 "move.b %%d0,%%d1 \n" /* keep data for next round */
488 "lsr.l %[cnt],%%d0 \n" /* shift right */ 485 "lsr.l %[cnt],%%d0 \n" /* shift right */
489 "move.b %%d0,(%%a1) \n" /* store data */ 486 "move.b %%d0,(%%a1) \n" /* store data */
490 487