Index: firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c =================================================================== --- firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c (revision 19276) +++ firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c (working copy) @@ -368,10 +368,10 @@ 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); @@ -407,9 +407,10 @@ 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);