summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Giacomelli <giac2000@hotmail.com>2008-12-16 02:50:39 +0000
committerMichael Giacomelli <giac2000@hotmail.com>2008-12-16 02:50:39 +0000
commit4e79f8edc7be26f5548e004766ac1572d47a2419 (patch)
treef9d60ec2b0ea3c7f446b49db6bb92394976fce95
parentf78bf7d9fcdd34c3d0171262a0377e9aaa7cbf13 (diff)
downloadrockbox-4e79f8edc7be26f5548e004766ac1572d47a2419.tar.gz
rockbox-4e79f8edc7be26f5548e004766ac1572d47a2419.zip
Commit updated FS#9569 by Michael Chicoine. Fixes a bug in lcd_update_rect on the e200v2.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19453 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c b/firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c
index f157b552e4..98ed8421f6 100644
--- a/firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c
+++ b/firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c
@@ -369,10 +369,10 @@ void lcd_update(void)
lcd_write_reg(R_ENTRY_MODE, R_ENTRY_MODE_HORZ);
/* Set start position and window */
- lcd_write_reg(R_HORIZ_RAM_ADDR_POS,
- ((y_offset + LCD_WIDTH-1) << 8) | y_offset);
- lcd_write_reg(R_VERT_RAM_ADDR_POS, (LCD_HEIGHT-1) << 8);
- lcd_write_reg(R_RAM_ADDR_SET, y_offset);
+ lcd_write_reg(R_HORIZ_RAM_ADDR_POS, (LCD_WIDTH-1) << 8);
+ lcd_write_reg(R_VERT_RAM_ADDR_POS,
+ ((y_offset + LCD_HEIGHT-1) << 8) | y_offset);
+ lcd_write_reg(R_RAM_ADDR_SET, (y_offset) << 8);
lcd_write_cmd(R_WRITE_DATA_2_GRAM);
@@ -408,9 +408,10 @@ void lcd_update_rect(int x, int y, int width, int height)
lcd_write_reg(R_ENTRY_MODE, R_ENTRY_MODE_HORZ);
/* Set start position and window */
lcd_write_reg(R_HORIZ_RAM_ADDR_POS,
- ((y_offset + LCD_WIDTH-1) << 8) | y_offset);
- lcd_write_reg(R_VERT_RAM_ADDR_POS, ((y + height - 1) << 8) | y);
- lcd_write_reg(R_RAM_ADDR_SET, (x << 8) | (y + y_offset));
+ ((x + width-1) << 8) | x);
+ lcd_write_reg(R_VERT_RAM_ADDR_POS,
+ ((y_offset + y + height - 1) << 8) | (y_offset + y));
+ lcd_write_reg(R_RAM_ADDR_SET, ((y + y_offset) << 8) | x);
lcd_write_cmd(R_WRITE_DATA_2_GRAM);