diff --git a/apps/plugins/pacbox/pacbox.h b/apps/plugins/pacbox/pacbox.h index 273408875e..99d9e2ffee 100644 --- a/apps/plugins/pacbox/pacbox.h +++ b/apps/plugins/pacbox/pacbox.h @@ -293,7 +293,13 @@ #define YOFS ((LCD_HEIGHT-224/2)/2) #elif (LCD_WIDTH >= 128) #define XOFS ((LCD_WIDTH-224/2)/2) +#if LCD_HEIGHT < 144 #define YCLIP ((288-2*LCD_HEIGHT)/2) +#define YOFS 0 +#else +#define YCLIP 0 +#define YOFS ((LCD_HEIGHT-288/2)/2) +#endif #endif /* How many video frames (out of a possible 60) we display each second. diff --git a/apps/plugins/pacbox/pacbox_lcd.c b/apps/plugins/pacbox/pacbox_lcd.c index 04bfe5f797..bc2de20858 100644 --- a/apps/plugins/pacbox/pacbox_lcd.c +++ b/apps/plugins/pacbox/pacbox_lcd.c @@ -106,11 +106,13 @@ void blit_display(fb_data* lcd_framebuffer, unsigned char* vbuf) vbuf+=ScreenWidth; } #elif (LCD_WIDTH >= 128) && (LCD_HEIGHT >= 128) - /* 0.5 scaling - display every other pixel = 112x144, crop to 112x128 */ + /* 0.5 scaling - display every other pixel + * LCD_HEIGHT < 144: 112x144, crop to 112x128 + * else center vertically without clipping */ (void)next_dst; - dst=&lcd_framebuffer[XOFS]; + dst=&lcd_framebuffer[YOFS*LCD_WIDTH+XOFS]; - /* Skip first 16 lines */ + /* Skip first YCLIP lines */ vbuf+=ScreenWidth*YCLIP; /* Show regular screen */