summaryrefslogtreecommitdiff
path: root/firmware/drivers/lcd-recorder.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers/lcd-recorder.c')
-rw-r--r--firmware/drivers/lcd-recorder.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/firmware/drivers/lcd-recorder.c b/firmware/drivers/lcd-recorder.c
index 65866ec83f..bec441c689 100644
--- a/firmware/drivers/lcd-recorder.c
+++ b/firmware/drivers/lcd-recorder.c
@@ -293,7 +293,7 @@ void lcd_update(void)
293 for (y = 0; y < LCD_HEIGHT/8; y++) 293 for (y = 0; y < LCD_HEIGHT/8; y++)
294 { 294 {
295 lcd_write_command (LCD_CNTL_PAGE | (y & 0xf)); 295 lcd_write_command (LCD_CNTL_PAGE | (y & 0xf));
296 lcd_write_command (LCD_CNTL_HIGHCOL | ((xoffset>>4) & 0xf)); 296 lcd_write_command (LCD_CNTL_HIGHCOL | ((xoffset >> 4) & 0xf));
297 lcd_write_command (LCD_CNTL_LOWCOL | (xoffset & 0xf)); 297 lcd_write_command (LCD_CNTL_LOWCOL | (xoffset & 0xf));
298 298
299 lcd_write_data (lcd_framebuffer[y], LCD_WIDTH); 299 lcd_write_data (lcd_framebuffer[y], LCD_WIDTH);
@@ -316,15 +316,13 @@ void lcd_update_rect(int x, int y, int width, int height)
316 return; /* nothing left to do, 0 is harmful to lcd_write_data() */ 316 return; /* nothing left to do, 0 is harmful to lcd_write_data() */
317 if(ymax >= LCD_HEIGHT/8) 317 if(ymax >= LCD_HEIGHT/8)
318 ymax = LCD_HEIGHT/8-1; 318 ymax = LCD_HEIGHT/8-1;
319
320 x += xoffset;
321 319
322 /* Copy specified rectange bitmap to hardware */ 320 /* Copy specified rectange bitmap to hardware */
323 for (; y <= ymax; y++) 321 for (; y <= ymax; y++)
324 { 322 {
325 lcd_write_command (LCD_CNTL_PAGE | (y & 0xf)); 323 lcd_write_command (LCD_CNTL_PAGE | (y & 0xf));
326 lcd_write_command (LCD_CNTL_HIGHCOL | ((x >> 4) & 0xf)); 324 lcd_write_command (LCD_CNTL_HIGHCOL | (((x+xoffset) >> 4) & 0xf));
327 lcd_write_command (LCD_CNTL_LOWCOL | (x & 0xf)); 325 lcd_write_command (LCD_CNTL_LOWCOL | ((x+xoffset) & 0xf));
328 326
329 lcd_write_data (&lcd_framebuffer[y][x], width); 327 lcd_write_data (&lcd_framebuffer[y][x], width);
330 } 328 }