pacbox: fix screen and buttons for Creative Zen
* rotate screen counterclockwise * rotate directional buttons Change-Id: Icbdf26fe1e14638eb8b0746a9eea99e0236ac6b1
This commit is contained in:
parent
5dfcadc45b
commit
91500e1296
2 changed files with 21 additions and 4 deletions
|
@ -340,10 +340,10 @@
|
||||||
#define PACMAN_COIN BUTTON_PLAY
|
#define PACMAN_COIN BUTTON_PLAY
|
||||||
|
|
||||||
#elif CONFIG_KEYPAD == CREATIVE_ZEN_PAD
|
#elif CONFIG_KEYPAD == CREATIVE_ZEN_PAD
|
||||||
#define PACMAN_UP BUTTON_UP
|
#define PACMAN_UP BUTTON_LEFT
|
||||||
#define PACMAN_DOWN BUTTON_DOWN
|
#define PACMAN_DOWN BUTTON_RIGHT
|
||||||
#define PACMAN_LEFT BUTTON_LEFT
|
#define PACMAN_LEFT BUTTON_DOWN
|
||||||
#define PACMAN_RIGHT BUTTON_RIGHT
|
#define PACMAN_RIGHT BUTTON_UP
|
||||||
#define PACMAN_MENU BUTTON_MENU
|
#define PACMAN_MENU BUTTON_MENU
|
||||||
#define PACMAN_1UP BUTTON_SELECT
|
#define PACMAN_1UP BUTTON_SELECT
|
||||||
#define PACMAN_COIN BUTTON_PLAYPAUSE
|
#define PACMAN_COIN BUTTON_PLAYPAUSE
|
||||||
|
@ -406,10 +406,17 @@
|
||||||
#define YOFS ((LCD_HEIGHT-288)/2)
|
#define YOFS ((LCD_HEIGHT-288)/2)
|
||||||
|
|
||||||
#elif (LCD_WIDTH >= 288) && (LCD_HEIGHT >= 224)
|
#elif (LCD_WIDTH >= 288) && (LCD_HEIGHT >= 224)
|
||||||
|
#if defined(CREATIVE_ZEN)
|
||||||
|
#define LCD_SCALE 100
|
||||||
|
#define LCD_ROTATE 2
|
||||||
|
#define XOFS ((LCD_WIDTH-288)/2)
|
||||||
|
#define YOFS ((LCD_HEIGHT-224)/2)
|
||||||
|
#else
|
||||||
#define LCD_SCALE 100
|
#define LCD_SCALE 100
|
||||||
#define LCD_ROTATE 1
|
#define LCD_ROTATE 1
|
||||||
#define XOFS ((LCD_WIDTH-288)/2)
|
#define XOFS ((LCD_WIDTH-288)/2)
|
||||||
#define YOFS ((LCD_HEIGHT-224)/2)
|
#define YOFS ((LCD_HEIGHT-224)/2)
|
||||||
|
#endif
|
||||||
|
|
||||||
#elif (LCD_WIDTH >= 168) && (LCD_HEIGHT >= 216)
|
#elif (LCD_WIDTH >= 168) && (LCD_HEIGHT >= 216)
|
||||||
#define LCD_SCALE 75
|
#define LCD_SCALE 75
|
||||||
|
|
|
@ -55,6 +55,16 @@ void blit_display(fb_data* lcd_framebuffer, unsigned char* vbuf)
|
||||||
dst+=LCD_WIDTH;
|
dst+=LCD_WIDTH;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#elif LCD_SCALE==100 && LCD_ROTATE==2
|
||||||
|
/* Native resolution - rotated 270 degrees = 288x224 */
|
||||||
|
next_dst=&lcd_framebuffer[(LCD_HEIGHT-YOFS)*LCD_WIDTH+XOFS];
|
||||||
|
for( y=0; y<ScreenHeight; y++ ) {
|
||||||
|
dst = (next_dst++);
|
||||||
|
for( x=ScreenWidth-1; x>=0; x-- ) {
|
||||||
|
*dst = palette[*(vbuf++)];
|
||||||
|
dst-=LCD_WIDTH;
|
||||||
|
}
|
||||||
|
}
|
||||||
#elif LCD_SCALE==75 && LCD_ROTATE==1
|
#elif LCD_SCALE==75 && LCD_ROTATE==1
|
||||||
/* 0.75 scaling - display 3 out of 4 pixels - rotated = 216x168
|
/* 0.75 scaling - display 3 out of 4 pixels - rotated = 216x168
|
||||||
Skipping pixel #2 out of 4 seems to give the most legible display
|
Skipping pixel #2 out of 4 seems to give the most legible display
|
||||||
|
|
Loading…
Reference in a new issue