summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2005-06-29 01:54:21 +0000
committerJens Arnold <amiconn@rockbox.org>2005-06-29 01:54:21 +0000
commitce19ce00b784036a06478acff7b6f830bd7837db (patch)
treee5ff31adf8bbb3d975fbc0fb1e289aad4726ee0d /firmware
parent576908d36a58d51ee880791418a32cef25b49aba (diff)
downloadrockbox-ce19ce00b784036a06478acff7b6f830bd7837db.tar.gz
rockbox-ce19ce00b784036a06478acff7b6f830bd7837db.zip
Oops, that was no optimisation, but a bug.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6908 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r--firmware/drivers/lcd-h100-remote.c8
-rw-r--r--firmware/drivers/lcd-recorder.c8
2 files changed, 6 insertions, 10 deletions
diff --git a/firmware/drivers/lcd-h100-remote.c b/firmware/drivers/lcd-h100-remote.c
index fe1c82dd3d..3edb27c155 100644
--- a/firmware/drivers/lcd-h100-remote.c
+++ b/firmware/drivers/lcd-h100-remote.c
@@ -421,14 +421,12 @@ void lcd_remote_update_rect(int x, int y, int width, int height)
421 if(ymax >= LCD_REMOTE_HEIGHT/8) 421 if(ymax >= LCD_REMOTE_HEIGHT/8)
422 ymax = LCD_REMOTE_HEIGHT/8-1; 422 ymax = LCD_REMOTE_HEIGHT/8-1;
423 423
424 x += xoffset;
425
426 /* Copy specified rectange bitmap to hardware */ 424 /* Copy specified rectange bitmap to hardware */
427 for (; y <= ymax; y++) 425 for (; y <= ymax; y++)
428 { 426 {
429 lcd_remote_write_command(LCD_REMOTE_CNTL_SET_PAGE_ADDRESS | y); 427 lcd_remote_write_command(LCD_REMOTE_CNTL_SET_PAGE_ADDRESS | y);
430 lcd_remote_write_command(LCD_REMOTE_CNTL_HIGHCOL | ((x >> 4) & 0xf)); 428 lcd_remote_write_command(LCD_REMOTE_CNTL_HIGHCOL | (((x+xoffset) >> 4) & 0xf));
431 lcd_remote_write_command(LCD_REMOTE_CNTL_LOWCOL | (x & 0xf)); 429 lcd_remote_write_command(LCD_REMOTE_CNTL_LOWCOL | ((x+xoffset) & 0xf));
432 lcd_remote_write_data(&lcd_remote_framebuffer[y][x], width); 430 lcd_remote_write_data(&lcd_remote_framebuffer[y][x], width);
433 } 431 }
434} 432}
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 }