summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
authorSebastian Leonhardt <sebastian.leonhardt@web.de>2018-07-28 01:00:44 +0200
committerSebastian Leonhardt <sebastian.leonhardt@web.de>2018-08-05 15:19:07 +0200
commit91500e12961a8cd7410c5be15ffbd8eba05feae1 (patch)
tree68d45a5dfe91d511f54946df540ffa64cfbffa58 /apps/plugins
parent5dfcadc45bdecd2d5f075e9792e0c7ca65f9bb5f (diff)
downloadrockbox-91500e12961a8cd7410c5be15ffbd8eba05feae1.tar.gz
rockbox-91500e12961a8cd7410c5be15ffbd8eba05feae1.zip
pacbox: fix screen and buttons for Creative Zen
* rotate screen counterclockwise * rotate directional buttons Change-Id: Icbdf26fe1e14638eb8b0746a9eea99e0236ac6b1
Diffstat (limited to 'apps/plugins')
-rw-r--r--apps/plugins/pacbox/pacbox.h15
-rw-r--r--apps/plugins/pacbox/pacbox_lcd.c10
2 files changed, 21 insertions, 4 deletions
diff --git a/apps/plugins/pacbox/pacbox.h b/apps/plugins/pacbox/pacbox.h
index 5eb9103d90..3461bd62c7 100644
--- a/apps/plugins/pacbox/pacbox.h
+++ b/apps/plugins/pacbox/pacbox.h
@@ -340,10 +340,10 @@
340#define PACMAN_COIN BUTTON_PLAY 340#define PACMAN_COIN BUTTON_PLAY
341 341
342#elif CONFIG_KEYPAD == CREATIVE_ZEN_PAD 342#elif CONFIG_KEYPAD == CREATIVE_ZEN_PAD
343#define PACMAN_UP BUTTON_UP 343#define PACMAN_UP BUTTON_LEFT
344#define PACMAN_DOWN BUTTON_DOWN 344#define PACMAN_DOWN BUTTON_RIGHT
345#define PACMAN_LEFT BUTTON_LEFT 345#define PACMAN_LEFT BUTTON_DOWN
346#define PACMAN_RIGHT BUTTON_RIGHT 346#define PACMAN_RIGHT BUTTON_UP
347#define PACMAN_MENU BUTTON_MENU 347#define PACMAN_MENU BUTTON_MENU
348#define PACMAN_1UP BUTTON_SELECT 348#define PACMAN_1UP BUTTON_SELECT
349#define PACMAN_COIN BUTTON_PLAYPAUSE 349#define PACMAN_COIN BUTTON_PLAYPAUSE
@@ -406,10 +406,17 @@
406#define YOFS ((LCD_HEIGHT-288)/2) 406#define YOFS ((LCD_HEIGHT-288)/2)
407 407
408#elif (LCD_WIDTH >= 288) && (LCD_HEIGHT >= 224) 408#elif (LCD_WIDTH >= 288) && (LCD_HEIGHT >= 224)
409#if defined(CREATIVE_ZEN)
410#define LCD_SCALE 100
411#define LCD_ROTATE 2
412#define XOFS ((LCD_WIDTH-288)/2)
413#define YOFS ((LCD_HEIGHT-224)/2)
414#else
409#define LCD_SCALE 100 415#define LCD_SCALE 100
410#define LCD_ROTATE 1 416#define LCD_ROTATE 1
411#define XOFS ((LCD_WIDTH-288)/2) 417#define XOFS ((LCD_WIDTH-288)/2)
412#define YOFS ((LCD_HEIGHT-224)/2) 418#define YOFS ((LCD_HEIGHT-224)/2)
419#endif
413 420
414#elif (LCD_WIDTH >= 168) && (LCD_HEIGHT >= 216) 421#elif (LCD_WIDTH >= 168) && (LCD_HEIGHT >= 216)
415#define LCD_SCALE 75 422#define LCD_SCALE 75
diff --git a/apps/plugins/pacbox/pacbox_lcd.c b/apps/plugins/pacbox/pacbox_lcd.c
index bf4aa9f028..172faf3f84 100644
--- a/apps/plugins/pacbox/pacbox_lcd.c
+++ b/apps/plugins/pacbox/pacbox_lcd.c
@@ -55,6 +55,16 @@ void blit_display(fb_data* lcd_framebuffer, unsigned char* vbuf)
55 dst+=LCD_WIDTH; 55 dst+=LCD_WIDTH;
56 } 56 }
57 } 57 }
58#elif LCD_SCALE==100 && LCD_ROTATE==2
59 /* Native resolution - rotated 270 degrees = 288x224 */
60 next_dst=&lcd_framebuffer[(LCD_HEIGHT-YOFS)*LCD_WIDTH+XOFS];
61 for( y=0; y<ScreenHeight; y++ ) {
62 dst = (next_dst++);
63 for( x=ScreenWidth-1; x>=0; x-- ) {
64 *dst = palette[*(vbuf++)];
65 dst-=LCD_WIDTH;
66 }
67 }
58#elif LCD_SCALE==75 && LCD_ROTATE==1 68#elif LCD_SCALE==75 && LCD_ROTATE==1
59 /* 0.75 scaling - display 3 out of 4 pixels - rotated = 216x168 69 /* 0.75 scaling - display 3 out of 4 pixels - rotated = 216x168
60 Skipping pixel #2 out of 4 seems to give the most legible display 70 Skipping pixel #2 out of 4 seems to give the most legible display