diff options
Diffstat (limited to 'apps/plugins/pacbox/pacbox_lcd.c')
-rw-r--r-- | apps/plugins/pacbox/pacbox_lcd.c | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/apps/plugins/pacbox/pacbox_lcd.c b/apps/plugins/pacbox/pacbox_lcd.c index e63ef4dd31..b312cf087b 100644 --- a/apps/plugins/pacbox/pacbox_lcd.c +++ b/apps/plugins/pacbox/pacbox_lcd.c | |||
@@ -56,7 +56,7 @@ void blit_display(fb_data* lcd_framebuffer, unsigned char* vbuf) | |||
56 | } | 56 | } |
57 | } | 57 | } |
58 | #elif (LCD_WIDTH >= 216) && (LCD_HEIGHT >= 168) | 58 | #elif (LCD_WIDTH >= 216) && (LCD_HEIGHT >= 168) |
59 | /* 0.75 scaling - display 3 out of 4 pixels = 216x168 | 59 | /* 0.75 scaling - display 3 out of 4 pixels - rotated = 216x168 |
60 | Skipping pixel #2 out of 4 seems to give the most legible display | 60 | Skipping pixel #2 out of 4 seems to give the most legible display |
61 | */ | 61 | */ |
62 | next_dst=&lcd_framebuffer[YOFS*LCD_WIDTH+XOFS+((ScreenHeight*3)/4)-1]; | 62 | next_dst=&lcd_framebuffer[YOFS*LCD_WIDTH+XOFS+((ScreenHeight*3)/4)-1]; |
@@ -74,8 +74,27 @@ void blit_display(fb_data* lcd_framebuffer, unsigned char* vbuf) | |||
74 | vbuf+=ScreenWidth; | 74 | vbuf+=ScreenWidth; |
75 | } | 75 | } |
76 | } | 76 | } |
77 | #elif (LCD_WIDTH >= 168) && (LCD_HEIGHT >= 216) | ||
78 | /* 0.75 scaling - display 3 out of 4 pixels - = 168x216 | ||
79 | Skipping pixel #2 out of 4 seems to give the most legible display | ||
80 | */ | ||
81 | (void)next_dst; | ||
82 | dst=&lcd_framebuffer[YOFS*LCD_WIDTH+XOFS]; | ||
83 | for (y=0;y<ScreenHeight;y++) { | ||
84 | if ((y & 3) != 1) { | ||
85 | for (x=0;x<ScreenWidth;x++) { | ||
86 | if ((x & 3) == 1) { vbuf++; } | ||
87 | else { | ||
88 | *(dst++) = palette[*(vbuf++)]; | ||
89 | } | ||
90 | } | ||
91 | dst += XOFS*2; | ||
92 | } else { | ||
93 | vbuf+=ScreenWidth; | ||
94 | } | ||
95 | } | ||
77 | #elif (LCD_WIDTH >= 144) && (LCD_HEIGHT >= 112) | 96 | #elif (LCD_WIDTH >= 144) && (LCD_HEIGHT >= 112) |
78 | /* 0.5 scaling - display every other pixel = 144x112 */ | 97 | /* 0.5 scaling - display every other pixel - rotated = 144x112 */ |
79 | next_dst=&lcd_framebuffer[YOFS*LCD_WIDTH+XOFS+ScreenHeight/2-1]; | 98 | next_dst=&lcd_framebuffer[YOFS*LCD_WIDTH+XOFS+ScreenHeight/2-1]; |
80 | for (y=(ScreenHeight/2)-1;y >= 0; y--) { | 99 | for (y=(ScreenHeight/2)-1;y >= 0; y--) { |
81 | dst = (next_dst--); | 100 | dst = (next_dst--); |