summaryrefslogtreecommitdiff
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
parent576908d36a58d51ee880791418a32cef25b49aba (diff)
downloadrockbox-ce19ce00b784036a06478acff7b6f830bd7837db.zip
rockbox-ce19ce00b784036a06478acff7b6f830bd7837db.tar.gz
rockbox-ce19ce00b784036a06478acff7b6f830bd7837db.tar.bz2
rockbox-ce19ce00b784036a06478acff7b6f830bd7837db.tar.xz
Oops, that was no optimisation, but a bug.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6908 a1c6a512-1295-4272-9138-f99709370657
-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 fe1c82d..3edb27c 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)
if(ymax >= LCD_REMOTE_HEIGHT/8)
ymax = LCD_REMOTE_HEIGHT/8-1;
- x += xoffset;
-
/* Copy specified rectange bitmap to hardware */
for (; y <= ymax; y++)
- {
+ {
lcd_remote_write_command(LCD_REMOTE_CNTL_SET_PAGE_ADDRESS | y);
- lcd_remote_write_command(LCD_REMOTE_CNTL_HIGHCOL | ((x >> 4) & 0xf));
- lcd_remote_write_command(LCD_REMOTE_CNTL_LOWCOL | (x & 0xf));
+ lcd_remote_write_command(LCD_REMOTE_CNTL_HIGHCOL | (((x+xoffset) >> 4) & 0xf));
+ lcd_remote_write_command(LCD_REMOTE_CNTL_LOWCOL | ((x+xoffset) & 0xf));
lcd_remote_write_data(&lcd_remote_framebuffer[y][x], width);
}
}
diff --git a/firmware/drivers/lcd-recorder.c b/firmware/drivers/lcd-recorder.c
index 65866ec..bec441c 100644
--- a/firmware/drivers/lcd-recorder.c
+++ b/firmware/drivers/lcd-recorder.c
@@ -293,7 +293,7 @@ void lcd_update(void)
for (y = 0; y < LCD_HEIGHT/8; y++)
{
lcd_write_command (LCD_CNTL_PAGE | (y & 0xf));
- lcd_write_command (LCD_CNTL_HIGHCOL | ((xoffset>>4) & 0xf));
+ lcd_write_command (LCD_CNTL_HIGHCOL | ((xoffset >> 4) & 0xf));
lcd_write_command (LCD_CNTL_LOWCOL | (xoffset & 0xf));
lcd_write_data (lcd_framebuffer[y], LCD_WIDTH);
@@ -316,15 +316,13 @@ void lcd_update_rect(int x, int y, int width, int height)
return; /* nothing left to do, 0 is harmful to lcd_write_data() */
if(ymax >= LCD_HEIGHT/8)
ymax = LCD_HEIGHT/8-1;
-
- x += xoffset;
/* Copy specified rectange bitmap to hardware */
for (; y <= ymax; y++)
{
lcd_write_command (LCD_CNTL_PAGE | (y & 0xf));
- lcd_write_command (LCD_CNTL_HIGHCOL | ((x >> 4) & 0xf));
- lcd_write_command (LCD_CNTL_LOWCOL | (x & 0xf));
+ lcd_write_command (LCD_CNTL_HIGHCOL | (((x+xoffset) >> 4) & 0xf));
+ lcd_write_command (LCD_CNTL_LOWCOL | ((x+xoffset) & 0xf));
lcd_write_data (&lcd_framebuffer[y][x], width);
}