From 979c23a71554a480d8a7d7a3996327145ee10d2d Mon Sep 17 00:00:00 2001 From: Barry Wardell Date: Mon, 25 Sep 2006 18:45:03 +0000 Subject: Fix "Upside down" behaviour on H10. We need to flip horizontally as well as vertically and also need to flip the scroll pad up/down. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11049 a1c6a512-1295-4272-9138-f99709370657 --- firmware/drivers/button.c | 9 +++++++++ firmware/target/arm/iriver/h10/lcd-h10_20gb.c | 4 +++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/firmware/drivers/button.c b/firmware/drivers/button.c index 6536a34037..5add6cb817 100644 --- a/firmware/drivers/button.c +++ b/firmware/drivers/button.c @@ -704,6 +704,9 @@ static int button_flip(int button) #if defined(BUTTON_UP) && defined(BUTTON_DOWN) | BUTTON_UP | BUTTON_DOWN #endif +#if defined(BUTTON_SCROLL_UP) && defined(BUTTON_SCROLL_DOWN) + | BUTTON_SCROLL_UP | BUTTON_SCROLL_DOWN +#endif #if CONFIG_KEYPAD == RECORDER_PAD | BUTTON_F1 | BUTTON_F3 #endif @@ -719,6 +722,12 @@ static int button_flip(int button) if (button & BUTTON_DOWN) newbutton |= BUTTON_UP; #endif +#if defined(BUTTON_SCROLL_UP) && defined(BUTTON_SCROLL_DOWN) + if (button & BUTTON_SCROLL_UP) + newbutton |= BUTTON_SCROLL_DOWN; + if (button & BUTTON_SCROLL_DOWN) + newbutton |= BUTTON_SCROLL_UP; +#endif #if CONFIG_KEYPAD == RECORDER_PAD if (button & BUTTON_F1) newbutton |= BUTTON_F3; diff --git a/firmware/target/arm/iriver/h10/lcd-h10_20gb.c b/firmware/target/arm/iriver/h10/lcd-h10_20gb.c index cbada34b2c..834149d2a5 100644 --- a/firmware/target/arm/iriver/h10/lcd-h10_20gb.c +++ b/firmware/target/arm/iriver/h10/lcd-h10_20gb.c @@ -169,8 +169,10 @@ void lcd_set_flip(bool yesno) if (!power_on) return; + /* SCN4-0=000x0 (G1/G160) */ + lcd_write_reg(R_GATE_SCAN_START_POS, yesno ? 0x0002 : 0x0000); /* SM=0, GS=x, SS=x, NL4-0=10011 (G1-G160) */ - lcd_write_reg(R_DRV_OUTPUT_CONTROL, yesno ? 0x0013 : 0x0113); + lcd_write_reg(R_DRV_OUTPUT_CONTROL, yesno ? 0x0213 : 0x0113); /* HEA7-0=0xxx, HSA7-0=0xxx */ lcd_write_reg(R_HORIZ_RAM_ADDR_POS, y_offset ? 0x8304 : 0x7f00); } -- cgit v1.2.3