summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
Diffstat (limited to 'firmware')
-rw-r--r--firmware/drivers/lcd-2bit-horz.c18
-rw-r--r--firmware/export/lcd.h8
2 files changed, 15 insertions, 11 deletions
diff --git a/firmware/drivers/lcd-2bit-horz.c b/firmware/drivers/lcd-2bit-horz.c
index 164e94cb73..a76ebe1f0d 100644
--- a/firmware/drivers/lcd-2bit-horz.c
+++ b/firmware/drivers/lcd-2bit-horz.c
@@ -38,7 +38,7 @@
38 38
39/*** globals ***/ 39/*** globals ***/
40 40
41unsigned char lcd_framebuffer[LCD_HEIGHT][FB_WIDTH] IBSS_ATTR; 41unsigned char lcd_framebuffer[LCD_HEIGHT][LCD_FBWIDTH] IBSS_ATTR;
42 42
43static const unsigned char dibits[16] ICONST_ATTR = { 43static const unsigned char dibits[16] ICONST_ATTR = {
44 0x00, 0x03, 0x0C, 0x0F, 0x30, 0x33, 0x3C, 0x3F, 44 0x00, 0x03, 0x0C, 0x0F, 0x30, 0x33, 0x3C, 0x3F,
@@ -419,11 +419,11 @@ void lcd_vline(int x, int y1, int y2)
419 dst = &lcd_framebuffer[y1][x>>2]; 419 dst = &lcd_framebuffer[y1][x>>2];
420 mask = pixmask[x & 3]; 420 mask = pixmask[x & 3];
421 421
422 dst_end = dst + (y2 - y1) * FB_WIDTH; 422 dst_end = dst + (y2 - y1) * LCD_FBWIDTH;
423 do 423 do
424 { 424 {
425 bfunc(dst, mask, 0xFFu); 425 bfunc(dst, mask, 0xFFu);
426 dst += FB_WIDTH; 426 dst += LCD_FBWIDTH;
427 } 427 }
428 while (dst <= dst_end); 428 while (dst <= dst_end);
429} 429}
@@ -482,11 +482,11 @@ void lcd_fillrect(int x, int y, int width, int height)
482 { 482 {
483 unsigned char *dst_col = dst; 483 unsigned char *dst_col = dst;
484 484
485 dst_end = dst_col + height * FB_WIDTH; 485 dst_end = dst_col + height * LCD_FBWIDTH;
486 do 486 do
487 { 487 {
488 bfunc(dst_col, mask, 0xFFu); 488 bfunc(dst_col, mask, 0xFFu);
489 dst_col += FB_WIDTH; 489 dst_col += LCD_FBWIDTH;
490 } 490 }
491 while (dst_col < dst_end); 491 while (dst_col < dst_end);
492 492
@@ -495,11 +495,11 @@ void lcd_fillrect(int x, int y, int width, int height)
495 } 495 }
496 mask &= mask_right; 496 mask &= mask_right;
497 497
498 dst_end = dst + height * FB_WIDTH; 498 dst_end = dst + height * LCD_FBWIDTH;
499 do 499 do
500 { 500 {
501 bfunc(dst, mask, 0xFFu); 501 bfunc(dst, mask, 0xFFu);
502 dst += FB_WIDTH; 502 dst += LCD_FBWIDTH;
503 } 503 }
504 while (dst < dst_end); 504 while (dst < dst_end);
505} 505}
@@ -651,7 +651,7 @@ void lcd_bitmap_part(const unsigned char *src, int src_x, int src_y,
651 mask_right = 0xFFu >> (2 * (~nx & 3)); 651 mask_right = 0xFFu >> (2 * (~nx & 3));
652 652
653 shift *= 2; 653 shift *= 2;
654 dst_end = dst + height * FB_WIDTH; 654 dst_end = dst + height * LCD_FBWIDTH;
655 do 655 do
656 { 656 {
657 const unsigned char *src_row = src; 657 const unsigned char *src_row = src;
@@ -678,7 +678,7 @@ void lcd_bitmap_part(const unsigned char *src, int src_x, int src_y,
678 setblock(dst_row, mask_row & mask_right, data); 678 setblock(dst_row, mask_row & mask_right, data);
679 679
680 src += stride; 680 src += stride;
681 dst += FB_WIDTH; 681 dst += LCD_FBWIDTH;
682 } 682 }
683 while (dst < dst_end); 683 while (dst < dst_end);
684} 684}
diff --git a/firmware/export/lcd.h b/firmware/export/lcd.h
index 6f7fef94ee..89bf35300c 100644
--- a/firmware/export/lcd.h
+++ b/firmware/export/lcd.h
@@ -205,8 +205,8 @@ typedef void lcd_fastpixelfunc_type(fb_data *address);
205extern fb_data lcd_framebuffer[LCD_HEIGHT/8][LCD_WIDTH]; 205extern fb_data lcd_framebuffer[LCD_HEIGHT/8][LCD_WIDTH];
206#elif LCD_DEPTH == 2 206#elif LCD_DEPTH == 2
207#if LCD_PIXELFORMAT == HORIZONTAL_PACKING 207#if LCD_PIXELFORMAT == HORIZONTAL_PACKING
208#define FB_WIDTH ((LCD_WIDTH+3)/4) 208#define LCD_FBWIDTH ((LCD_WIDTH+3)/4)
209extern fb_data lcd_framebuffer[LCD_HEIGHT][FB_WIDTH]; 209extern fb_data lcd_framebuffer[LCD_HEIGHT][LCD_FBWIDTH];
210#else 210#else
211extern fb_data lcd_framebuffer[LCD_HEIGHT/4][LCD_WIDTH]; 211extern fb_data lcd_framebuffer[LCD_HEIGHT/4][LCD_WIDTH];
212#endif 212#endif
@@ -214,6 +214,10 @@ extern fb_data lcd_framebuffer[LCD_HEIGHT/4][LCD_WIDTH];
214extern fb_data lcd_framebuffer[LCD_HEIGHT][LCD_WIDTH]; 214extern fb_data lcd_framebuffer[LCD_HEIGHT][LCD_WIDTH];
215#elif LCD_DEPTH == 18 215#elif LCD_DEPTH == 18
216extern fb_data lcd_framebuffer[LCD_HEIGHT][LCD_WIDTH]; 216extern fb_data lcd_framebuffer[LCD_HEIGHT][LCD_WIDTH];
217#endif
218
219#ifndef LCD_FBWIDTH
220#define LCD_FBWIDTH LCD_WIDTH
217#endif 221#endif
218 222
219#if (CONFIG_BACKLIGHT==BL_IRIVER_H300) || (CONFIG_BACKLIGHT==BL_IPOD3G) 223#if (CONFIG_BACKLIGHT==BL_IRIVER_H300) || (CONFIG_BACKLIGHT==BL_IPOD3G)