Index: apps/plugins/stats.c =================================================================== --- apps/plugins/stats.c (revision 14641) +++ apps/plugins/stats.c (working copy) @@ -53,7 +53,8 @@ #elif CONFIG_KEYPAD == GIGABEAT_PAD #define STATS_STOP BUTTON_POWER -#elif CONFIG_KEYPAD == SANSA_E200_PAD +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define STATS_STOP BUTTON_POWER #elif CONFIG_KEYPAD == IRIVER_H10_PAD Index: apps/plugins/mp3_encoder.c =================================================================== --- apps/plugins/mp3_encoder.c (revision 14641) +++ apps/plugins/mp3_encoder.c (working copy) @@ -2343,7 +2343,8 @@ #define MP3ENC_NEXT BUTTON_DOWN #define MP3ENC_DONE BUTTON_POWER #define MP3ENC_SELECT BUTTON_SELECT -#elif CONFIG_KEYPAD == SANSA_E200_PAD +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define MP3ENC_PREV BUTTON_UP #define MP3ENC_NEXT BUTTON_DOWN #define MP3ENC_DONE BUTTON_POWER Index: apps/plugins/xobox.c =================================================================== --- apps/plugins/xobox.c (revision 14641) +++ apps/plugins/xobox.c (working copy) @@ -74,7 +74,8 @@ #define DOWN BUTTON_DOWN #define PAUSE BUTTON_A -#elif (CONFIG_KEYPAD == SANSA_E200_PAD) +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define QUIT BUTTON_POWER #define LEFT BUTTON_LEFT Index: apps/plugins/sliding_puzzle.c =================================================================== --- apps/plugins/sliding_puzzle.c (revision 14641) +++ apps/plugins/sliding_puzzle.c (working copy) @@ -77,7 +77,8 @@ #define PUZZLE_SHUFFLE BUTTON_SELECT #define PUZZLE_PICTURE BUTTON_A -#elif (CONFIG_KEYPAD == SANSA_E200_PAD) +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define PUZZLE_QUIT BUTTON_POWER #define PUZZLE_UP BUTTON_UP #define PUZZLE_DOWN BUTTON_DOWN Index: apps/plugins/pong.c =================================================================== --- apps/plugins/pong.c (revision 14641) +++ apps/plugins/pong.c (working copy) @@ -100,7 +100,8 @@ #define PONG_RIGHT_UP BUTTON_VOL_UP #define PONG_RIGHT_DOWN BUTTON_VOL_DOWN -#elif (CONFIG_KEYPAD == SANSA_E200_PAD) +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define PONG_QUIT BUTTON_POWER #define PONG_PAUSE BUTTON_SELECT #define PONG_LEFT_UP BUTTON_LEFT Index: apps/plugins/plasma.c =================================================================== --- apps/plugins/plasma.c (revision 14641) +++ apps/plugins/plasma.c (working copy) @@ -63,7 +63,8 @@ #define PLASMA_INCREASE_FREQUENCY BUTTON_UP #define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN -#elif (CONFIG_KEYPAD == SANSA_E200_PAD) +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define PLASMA_QUIT BUTTON_POWER #define PLASMA_INCREASE_FREQUENCY BUTTON_UP #define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN @@ -90,7 +91,8 @@ #define PLASMA_REGEN_COLORS BUTTON_PLAY #elif CONFIG_KEYPAD == IRIVER_H10_PAD #define PLASMA_REGEN_COLORS BUTTON_PLAY -#elif CONFIG_KEYPAD == SANSA_E200_PAD +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define PLASMA_REGEN_COLORS BUTTON_SELECT #elif CONFIG_KEYPAD == IPOD_4G_PAD #define PLASMA_REGEN_COLORS BUTTON_SELECT Index: apps/plugins/dict.c =================================================================== --- apps/plugins/dict.c (revision 14641) +++ apps/plugins/dict.c (working copy) @@ -114,7 +114,8 @@ #define LP_QUIT BUTTON_POWER #elif CONFIG_KEYPAD == GIGABEAT_PAD #define LP_QUIT BUTTON_POWER -#elif CONFIG_KEYPAD == SANSA_E200_PAD +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define LP_QUIT BUTTON_POWER #elif CONFIG_KEYPAD == IRIVER_H10_PAD #define LP_QUIT BUTTON_POWER Index: apps/plugins/flipit.c =================================================================== --- apps/plugins/flipit.c (revision 14641) +++ apps/plugins/flipit.c (working copy) @@ -107,7 +107,8 @@ #define FLIPIT_STEP_BY_STEP BUTTON_VOL_DOWN #define FLIPIT_TOGGLE BUTTON_SELECT -#elif CONFIG_KEYPAD == SANSA_E200_PAD +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define FLIPIT_UP BUTTON_UP #define FLIPIT_DOWN BUTTON_DOWN Index: apps/plugins/mandelbrot.c =================================================================== --- apps/plugins/mandelbrot.c (revision 14641) +++ apps/plugins/mandelbrot.c (working copy) @@ -132,6 +132,18 @@ #define MANDELBROT_MAXITER_DEC (BUTTON_SELECT | BUTTON_LEFT) #define MANDELBROT_RESET BUTTON_REC +#elif CONFIG_KEYPAD == SANSA_C200_PAD +#define MANDELBROT_QUIT BUTTON_POWER +#define MANDELBROT_UP BUTTON_UP +#define MANDELBROT_DOWN BUTTON_DOWN +#define MANDELBROT_LEFT BUTTON_LEFT +#define MANDELBROT_RIGHT BUTTON_RIGHT +#define MANDELBROT_ZOOM_IN BUTTON_VOL_UP +#define MANDELBROT_ZOOM_OUT BUTTON_VOL_DOWN +#define MANDELBROT_MAXITER_INC (BUTTON_SELECT | BUTTON_RIGHT) +#define MANDELBROT_MAXITER_DEC (BUTTON_SELECT | BUTTON_LEFT) +#define MANDELBROT_RESET BUTTON_REC + #elif CONFIG_KEYPAD == IRIVER_H10_PAD #define MANDELBROT_QUIT BUTTON_POWER #define MANDELBROT_UP BUTTON_SCROLL_UP Index: apps/plugins/zxbox/zxbox_keyb.c =================================================================== --- apps/plugins/zxbox/zxbox_keyb.c (revision 14641) +++ apps/plugins/zxbox/zxbox_keyb.c (working copy) @@ -101,7 +101,8 @@ #define KBD_UP BUTTON_SCROLL_UP #define KBD_DOWN BUTTON_SCROLL_DOWN -#elif CONFIG_KEYPAD == SANSA_E200_PAD +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) /* TODO: Check keyboard mappings */ Index: apps/plugins/zxbox/keymaps.h =================================================================== --- apps/plugins/zxbox/keymaps.h (revision 14641) +++ apps/plugins/zxbox/keymaps.h (working copy) @@ -77,7 +77,8 @@ #define ZX_UP BUTTON_SCROLL_UP #define ZX_DOWN BUTTON_SCROLL_DOWN -#elif CONFIG_KEYPAD == SANSA_E200_PAD +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define ZX_SELECT BUTTON_SELECT #define ZX_MENU BUTTON_POWER #define ZX_LEFT BUTTON_LEFT Index: apps/plugins/sudoku/sudoku.h =================================================================== --- apps/plugins/sudoku/sudoku.h (revision 14641) +++ apps/plugins/sudoku/sudoku.h (working copy) @@ -122,6 +122,17 @@ #define SUDOKU_BUTTON_MENU BUTTON_SELECT #define SUDOKU_BUTTON_POSSIBLE BUTTON_REC +#elif (CONFIG_KEYPAD == SANSA_C200_PAD) +#define SUDOKU_BUTTON_QUIT BUTTON_POWER +#define SUDOKU_BUTTON_UP BUTTON_UP +#define SUDOKU_BUTTON_DOWN BUTTON_DOWN +#define SUDOKU_BUTTON_LEFT BUTTON_LEFT +#define SUDOKU_BUTTON_RIGHT BUTTON_RIGHT +#define SUDOKU_BUTTON_TOGGLEBACK BUTTON_VOL_DOWN +#define SUDOKU_BUTTON_TOGGLE BUTTON_VOL_UP +#define SUDOKU_BUTTON_MENU BUTTON_SELECT +#define SUDOKU_BUTTON_POSSIBLE BUTTON_REC + #elif #error SUDOKU: Unsupported keypad #endif Index: apps/plugins/sudoku/sudoku.c =================================================================== --- apps/plugins/sudoku/sudoku.c (revision 14641) +++ apps/plugins/sudoku/sudoku.c (working copy) @@ -107,6 +107,15 @@ #define CELL_HEIGHT 6 #define SMALL_BOARD + +#elif ((LCD_HEIGHT==80) && (LCD_WIDTH==132)) +/* C200, 9 cells @ 8x8 with 14 border lines */ + +/* Internal dimensions of a cell */ +#define CELL_WIDTH 8 +#define CELL_HEIGHT 8 +#define SMALL_BOARD + #elif (LCD_HEIGHT==110) && (LCD_WIDTH==138) /* iPod Mini - 138x110, 9 cells @ 10x10 with 14 border lines */ Index: apps/plugins/chessbox/chessbox.c =================================================================== --- apps/plugins/chessbox/chessbox.c (revision 14641) +++ apps/plugins/chessbox/chessbox.c (working copy) @@ -188,7 +188,7 @@ #define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT) #define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT) -#elif CONFIG_KEYPAD == SANSA_E200_PAD +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) #define CB_SELECT BUTTON_SELECT #define CB_UP BUTTON_UP #define CB_DOWN BUTTON_DOWN @@ -204,6 +204,22 @@ #define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT) #define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT) +#elif (CONFIG_KEYPAD == SANSA_C200_PAD) +#define CB_SELECT BUTTON_SELECT +#define CB_UP BUTTON_UP +#define CB_DOWN BUTTON_DOWN +#define CB_LEFT BUTTON_LEFT +#define CB_RIGHT BUTTON_RIGHT +#define CB_PLAY (BUTTON_SELECT | BUTTON_RIGHT) +#define CB_LEVEL BUTTON_REC +#define CB_RESTART (BUTTON_SELECT | BUTTON_REPEAT) +#define CB_MENU BUTTON_POWER + +#define CB_SCROLL_UP (BUTTON_VOL_UP|BUTTON_REPEAT) +#define CB_SCROLL_DOWN (BUTTON_VOL_DOWN|BUTTON_REPEAT) +#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT) +#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT) + #else #error CHESSBOX: Unsupported keypad #endif Index: apps/plugins/chessbox/chessbox_pgn.c =================================================================== --- apps/plugins/chessbox/chessbox_pgn.c (revision 14641) +++ apps/plugins/chessbox/chessbox_pgn.c (working copy) @@ -168,7 +168,8 @@ #define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT) #define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT) -#elif CONFIG_KEYPAD == SANSA_E200_PAD +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define CB_SELECT BUTTON_SELECT #define CB_UP BUTTON_UP #define CB_DOWN BUTTON_DOWN Index: apps/plugins/oscilloscope.c =================================================================== --- apps/plugins/oscilloscope.c (revision 14641) +++ apps/plugins/oscilloscope.c (working copy) @@ -109,6 +109,17 @@ #define OSCILLOSCOPE_VOL_UP BUTTON_SCROLL_DOWN #define OSCILLOSCOPE_VOL_DOWN BUTTON_SCROLL_UP +#elif (CONFIG_KEYPAD == SANSA_C200_PAD) +#define OSCILLOSCOPE_QUIT BUTTON_POWER +#define OSCILLOSCOPE_DRAWMODE BUTTON_SELECT +#define OSCILLOSCOPE_ADVMODE BUTTON_DOWN +#define OSCILLOSCOPE_ORIENTATION BUTTON_UP +#define OSCILLOSCOPE_PAUSE BUTTON_REC +#define OSCILLOSCOPE_SPEED_UP BUTTON_RIGHT +#define OSCILLOSCOPE_SPEED_DOWN BUTTON_LEFT +#define OSCILLOSCOPE_VOL_UP BUTTON_VOL_UP +#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN + #elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD #define OSCILLOSCOPE_QUIT BUTTON_POWER #define OSCILLOSCOPE_DRAWMODE_PRE BUTTON_SELECT Index: apps/plugins/midiplay.c =================================================================== --- apps/plugins/midiplay.c (revision 14641) +++ apps/plugins/midiplay.c (working copy) @@ -55,7 +55,8 @@ #define BTN_UP BUTTON_UP #define BTN_DOWN BUTTON_DOWN -#elif (CONFIG_KEYPAD == SANSA_E200_PAD) +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define BTN_QUIT BUTTON_POWER #define BTN_RIGHT BUTTON_RIGHT #define BTN_UP BUTTON_UP Index: apps/plugins/battery_bench.c =================================================================== --- apps/plugins/battery_bench.c (revision 14641) +++ apps/plugins/battery_bench.c (working copy) @@ -80,7 +80,8 @@ #define BATTERY_ON BUTTON_SELECT #define BATTERY_OFF BUTTON_PLAY -#elif CONFIG_KEYPAD == SANSA_E200_PAD +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define BATTERY_ON BUTTON_SELECT #define BATTERY_OFF BUTTON_POWER Index: apps/plugins/fireworks.c =================================================================== --- apps/plugins/fireworks.c (revision 14641) +++ apps/plugins/fireworks.c (working copy) @@ -57,7 +57,8 @@ #elif (CONFIG_KEYPAD == GIGABEAT_PAD) #define BTN_MENU BUTTON_MENU #define BTN_FIRE BUTTON_SELECT -#elif (CONFIG_KEYPAD == SANSA_E200_PAD) +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define BTN_MENU BUTTON_POWER #define BTN_FIRE BUTTON_SELECT #elif (CONFIG_KEYPAD == IRIVER_H10_PAD) Index: apps/plugins/starfield.c =================================================================== --- apps/plugins/starfield.c (revision 14641) +++ apps/plugins/starfield.c (working copy) @@ -57,7 +57,8 @@ #define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT #define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT #define STARFIELD_TOGGLE_COLOR BUTTON_SELECT -#elif (CONFIG_KEYPAD == SANSA_E200_PAD) +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define STARFIELD_QUIT BUTTON_POWER #define STARFIELD_INCREASE_ZMOVE BUTTON_UP #define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN Index: apps/plugins/bitmaps/native/SOURCES =================================================================== --- apps/plugins/bitmaps/native/SOURCES (revision 14641) +++ apps/plugins/bitmaps/native/SOURCES (working copy) @@ -54,6 +54,16 @@ brickmania_pads.176x132x16.bmp brickmania_powerups.176x132x16.bmp brickmania_break.176x132x16.bmp +#elif (LCD_WIDTH == 132) && (LCD_HEIGHT == 80) && (LCD_DEPTH == 16) +brickmania_menu_items.176x132x16.bmp +brickmania_ball.176x132x16.bmp +brickmania_bricks.176x132x16.bmp +brickmania_gameover.176x132x16.bmp +brickmania_menu_bg.176x132x16.bmp +brickmania_pads.176x132x16.bmp +brickmania_powerups.176x132x16.bmp +brickmania_break.176x132x16.bmp + #endif /* Jackpot */ @@ -73,6 +83,11 @@ #elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 128) bubbles_emblem.160x128x16.bmp bubbles_left.160x128x16.bmp +/* for sansa c200, needs plenty of tweaking */ +#elif (LCD_WIDTH == 132) && (LCD_HEIGHT == 80) +bubbles_emblem.160x128x16.bmp +bubbles_left.160x128x16.bmp +bubbles_right.160x128x16.bmp #elif (LCD_WIDTH == 176) && (LCD_HEIGHT == 132) bubbles_emblem.160x128x16.bmp bubbles_left.176x132x16.bmp @@ -188,6 +203,9 @@ #elif LCD_WIDTH >= 140 && LCD_HEIGHT >= 122 flipit_cursor.28x28x16.bmp flipit_tokens.28x56x16.bmp +#elif LCD_WIDTH >= 132 && LCD_HEIGHT >= 80 +flipit_cursor.28x28x16.bmp +flipit_tokens.28x56x16.bmp #elif LCD_WIDTH >= 125 && LCD_HEIGHT >= 110 flipit_cursor.25x25x16.bmp flipit_tokens.25x50x16.bmp @@ -221,6 +239,9 @@ #elif (LCD_WIDTH == 160) && (LCD_HEIGHT == 128) && (LCD_DEPTH >= 8) /* Use iPod Nano character bitmap */ invadrox.176x132x16.bmp +#elif (LCD_WIDTH == 132) && (LCD_HEIGHT == 80) && (LCD_DEPTH >= 8) +/* Use iPod Nano character bitmap */ +invadrox.176x132x16.bmp #elif (LCD_WIDTH == 160) && (LCD_HEIGHT == 128) && (LCD_DEPTH == 2) /* Grayscale */ invadrox.160x128x2.bmp @@ -237,6 +258,9 @@ jewels.112x64x1.bmp #elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 128) jewels.128x128x16.bmp +/*Sansa C200 */ +#elif (LCD_WIDTH == 132) && (LCD_HEIGHT == 80) +jewels.128x128x16.bmp #elif (LCD_WIDTH == 138) && (LCD_HEIGHT == 110) jewels.138x110x2.bmp #elif (LCD_WIDTH == 160) && (LCD_HEIGHT == 128) && !defined(HAVE_LCD_COLOR) @@ -283,6 +307,8 @@ rockblox_background.160x128x16.bmp #elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 128) && (LCD_DEPTH == 16) rockblox_background.128x128x16.bmp +#elif (LCD_WIDTH == 132) && (LCD_HEIGHT == 80) && (LCD_DEPTH == 16) +rockblox_background.132x80x16.bmp #elif (LCD_WIDTH == 160) && (LCD_HEIGHT == 128) && (LCD_DEPTH == 2) rockblox_background.160x128x2.bmp #elif (LCD_WIDTH == 138) && (LCD_HEIGHT == 110) && (LCD_DEPTH == 2) @@ -430,6 +456,10 @@ sudoku_start.128x128x16.bmp sudoku_normal.128x128x16.bmp sudoku_inverse.128x128x16.bmp +#elif (LCD_WIDTH == 132) && (LCD_HEIGHT == 80) && (LCD_DEPTH == 16) +sudoku_start.128x128x16.bmp +sudoku_normal.128x128x16.bmp +sudoku_inverse.128x128x16.bmp #elif ((LCD_WIDTH == 160) && (LCD_HEIGHT == 128) && (LCD_DEPTH == 16)) || \ ((LCD_WIDTH == 176) && (LCD_HEIGHT == 132) && (LCD_DEPTH == 16)) sudoku_start.160x128x16.bmp Index: apps/plugins/bitmaps/mono/SOURCES =================================================================== --- apps/plugins/bitmaps/mono/SOURCES (revision 14641) +++ apps/plugins/bitmaps/mono/SOURCES (working copy) @@ -6,6 +6,8 @@ #elif ((LCD_WIDTH == 160) && (LCD_HEIGHT == 128)) || \ ((LCD_WIDTH == 128) && (LCD_HEIGHT == 128)) bubbles_bubble.160x128x1.bmp +#elif (LCD_WIDTH == 132) && (LCD_HEIGHT == 80) +bubbles_bubble.160x128x1.bmp #elif (LCD_WIDTH == 176) && (LCD_HEIGHT == 132) bubbles_bubble.160x128x1.bmp #elif (LCD_WIDTH == 138) && (LCD_HEIGHT == 110) Index: apps/plugins/rockblox.c =================================================================== --- apps/plugins/rockblox.c (revision 14641) +++ apps/plugins/rockblox.c (working copy) @@ -121,6 +121,17 @@ #define ROCKBLOX_DROP BUTTON_SELECT #define ROCKBLOX_RESTART BUTTON_REC +#elif CONFIG_KEYPAD == SANSA_C200_PAD + +#define ROCKBLOX_OFF BUTTON_POWER +#define ROCKBLOX_ROTATE_RIGHT BUTTON_VOL_UP +#define ROCKBLOX_ROTATE_LEFT BUTTON_VOL_DOWN +#define ROCKBLOX_DOWN BUTTON_DOWN +#define ROCKBLOX_LEFT BUTTON_LEFT +#define ROCKBLOX_RIGHT BUTTON_RIGHT +#define ROCKBLOX_DROP BUTTON_SELECT +#define ROCKBLOX_RESTART BUTTON_REC + #elif CONFIG_KEYPAD == IRIVER_H10_PAD #define ROCKBLOX_OFF BUTTON_POWER @@ -233,6 +244,21 @@ #define SCORE_Y 24 #define LEVEL_Y 65 #define LINES_Y 103 + +#elif (LCD_WIDTH == 132) && (LCD_HEIGHT == 80) + +#define BLOCK_WIDTH 6 +#define BLOCK_HEIGHT 6 +#define BOARD_X 13 +#define BOARD_Y 22 +#define PREVIEW_X 98 +#define PREVIEW_Y 88 +#define LABEL_X 80 +#define SCORE_Y 15 +#define LEVEL_Y 45 +#define LINES_Y 74 + + #elif (LCD_WIDTH == 160) && (LCD_HEIGHT == 128) #define BLOCK_WIDTH 6 Index: apps/plugins/snake2.c =================================================================== --- apps/plugins/snake2.c (revision 14641) +++ apps/plugins/snake2.c (working copy) @@ -232,7 +232,8 @@ #define SNAKE2_PLAYPAUSE BUTTON_SELECT #define SNAKE2_PLAYPAUSE_TEXT "Select" -#elif (CONFIG_KEYPAD == SANSA_E200_PAD) +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define SNAKE2_UP BUTTON_UP #define SNAKE2_DOWN BUTTON_DOWN #define SNAKE2_QUIT BUTTON_POWER Index: apps/plugins/mpegplayer/mpegplayer.c =================================================================== --- apps/plugins/mpegplayer/mpegplayer.c (revision 14641) +++ apps/plugins/mpegplayer/mpegplayer.c (working copy) @@ -160,6 +160,13 @@ #define MPEG_VOLDOWN BUTTON_SCROLL_UP #define MPEG_VOLUP BUTTON_SCROLL_DOWN +#elif CONFIG_KEYPAD == SANSA_C200_PAD +#define MPEG_MENU BUTTON_SELECT +#define MPEG_STOP BUTTON_POWER +#define MPEG_PAUSE BUTTON_UP +#define MPEG_VOLDOWN BUTTON_VOL_DOWN +#define MPEG_VOLUP BUTTON_VOL_UP + #else #error MPEGPLAYER: Unsupported keypad #endif Index: apps/plugins/fire.c =================================================================== --- apps/plugins/fire.c (revision 14641) +++ apps/plugins/fire.c (working copy) @@ -96,7 +96,8 @@ #define FIRE_INCREASE_MULT BUTTON_UP #define FIRE_DECREASE_MULT BUTTON_DOWN -#elif (CONFIG_KEYPAD == SANSA_E200_PAD) +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define FIRE_QUIT BUTTON_POWER #define FIRE_SWITCH_FLAMES_TYPE BUTTON_LEFT #define FIRE_SWITCH_FLAMES_MOVING BUTTON_RIGHT Index: apps/plugins/solitaire.c =================================================================== --- apps/plugins/solitaire.c (revision 14641) +++ apps/plugins/solitaire.c (working copy) @@ -213,6 +213,24 @@ # define HK_CUR2STACK "DOUBLE SELECT" # define HK_REM2STACK "RIGHT" +#elif (CONFIG_KEYPAD == SANSA_C200_PAD) +# define SOL_QUIT BUTTON_POWER +# define SOL_UP BUTTON_UP +# define SOL_DOWN BUTTON_DOWN +# define SOL_LEFT BUTTON_VOL_DOWN +# define SOL_RIGHT BUTTON_VOL_UP +# define SOL_MOVE BUTTON_SELECT +# define SOL_DRAW BUTTON_REC +# define SOL_REM2CUR BUTTON_LEFT +# define SOL_CUR2STACK_PRE BUTTON_REC +# define SOL_CUR2STACK (BUTTON_REC | BUTTON_RIGHT) +# define SOL_REM2STACK BUTTON_RIGHT +# define HK_MOVE "SELECT" +# define HK_DRAW "REC" +# define HK_REM2CUR "LEFT" +# define HK_CUR2STACK "DOUBLE SELECT" +# define HK_REM2STACK "RIGHT" + #elif (CONFIG_KEYPAD == IRIVER_H10_PAD) # define SOL_QUIT BUTTON_POWER # define SOL_UP BUTTON_SCROLL_UP Index: apps/plugins/snake.c =================================================================== --- apps/plugins/snake.c (revision 14641) +++ apps/plugins/snake.c (working copy) @@ -83,7 +83,8 @@ #define SNAKE_DOWN BUTTON_DOWN #define SNAKE_PLAYPAUSE BUTTON_SELECT -#elif (CONFIG_KEYPAD == SANSA_E200_PAD) +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define SNAKE_QUIT BUTTON_POWER #define SNAKE_UP BUTTON_UP #define SNAKE_DOWN BUTTON_DOWN Index: apps/plugins/star.c =================================================================== --- apps/plugins/star.c (revision 14641) +++ apps/plugins/star.c (working copy) @@ -144,7 +144,8 @@ #define STAR_LEVEL_REPEAT BUTTON_A #define STAR_MENU_RUN BUTTON_SELECT -#elif (CONFIG_KEYPAD == SANSA_E200_PAD) +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define STAR_QUIT BUTTON_POWER #define STAR_UP BUTTON_UP Index: apps/plugins/bounce.c =================================================================== --- apps/plugins/bounce.c (revision 14641) +++ apps/plugins/bounce.c (working copy) @@ -82,6 +82,12 @@ #define BOUNCE_QUIT BUTTON_POWER #define BOUNCE_MODE BUTTON_SELECT +#elif CONFIG_KEYPAD == SANSA_C200_PAD +#define BOUNCE_UP BUTTON_UP +#define BOUNCE_DOWN BUTTON_DOWN +#define BOUNCE_QUIT BUTTON_POWER +#define BOUNCE_MODE BUTTON_SELECT + #elif (CONFIG_KEYPAD == IRIVER_H10_PAD) #define BOUNCE_UP BUTTON_SCROLL_UP #define BOUNCE_DOWN BUTTON_SCROLL_DOWN Index: apps/plugins/doom/i_video.c =================================================================== --- apps/plugins/doom/i_video.c (revision 14641) +++ apps/plugins/doom/i_video.c (working copy) @@ -192,6 +192,16 @@ #define DOOMBUTTON_ESC BUTTON_POWER #define DOOMBUTTON_ENTER BUTTON_SELECT #define DOOMBUTTON_WEAPON DOOMBUTTON_SCROLLWHEEL_CW +#elif CONFIG_KEYPAD == SANSA_C200_PAD +#define DOOMBUTTON_UP BUTTON_UP +#define DOOMBUTTON_DOWN BUTTON_DOWN +#define DOOMBUTTON_LEFT BUTTON_LEFT +#define DOOMBUTTON_RIGHT BUTTON_RIGHT +#define DOOMBUTTON_SHOOT BUTTON_SELECT +#define DOOMBUTTON_OPEN BUTTON_REC +#define DOOMBUTTON_ESC BUTTON_POWER +#define DOOMBUTTON_ENTER BUTTON_SELECT +#define DOOMBUTTON_WEAPON (BUTTON_VOL_UP|BUTTON_VOL_DOWN) #elif CONFIG_KEYPAD == GIGABEAT_PAD #define DOOMBUTTON_UP BUTTON_UP #define DOOMBUTTON_DOWN BUTTON_DOWN Index: apps/plugins/cube.c =================================================================== --- apps/plugins/cube.c (revision 14641) +++ apps/plugins/cube.c (working copy) @@ -149,12 +149,13 @@ #define CUBE_PAUSE BUTTON_SELECT #define CUBE_HIGHSPEED BUTTON_A -#elif (CONFIG_KEYPAD == SANSA_E200_PAD) +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define CUBE_QUIT BUTTON_POWER #define CUBE_X_INC BUTTON_LEFT #define CUBE_X_DEC BUTTON_RIGHT -#define CUBE_Y_INC BUTTON_SCROLL_UP -#define CUBE_Y_DEC BUTTON_SCROLL_DOWN +#define CUBE_Y_INC BUTTON_VOL_UP +#define CUBE_Y_DEC BUTTON_VOL_DOWN #define CUBE_Z_INC BUTTON_UP #define CUBE_Z_DEC BUTTON_DOWN #define CUBE_MODE_PRE BUTTON_SELECT Index: apps/plugins/minesweeper.c =================================================================== --- apps/plugins/minesweeper.c (revision 14641) +++ apps/plugins/minesweeper.c (working copy) @@ -114,6 +114,16 @@ # define MINESWP_DISCOVER BUTTON_SELECT # define MINESWP_INFO (BUTTON_REC|BUTTON_REPEAT) +#elif (CONFIG_KEYPAD == SANSA_C200_PAD) +# define MINESWP_UP BUTTON_UP +# define MINESWP_DOWN BUTTON_DOWN +# define MINESWP_QUIT BUTTON_POWER +# define MINESWP_NEXT BUTTON_VOL_UP +# define MINESWP_PREV BUTTON_VOL_DOWN +# define MINESWP_TOGGLE BUTTON_REC +# define MINESWP_DISCOVER BUTTON_SELECT +# define MINESWP_INFO (BUTTON_REC|BUTTON_REPEAT) + #elif (CONFIG_KEYPAD == IRIVER_H10_PAD) # define MINESWP_UP BUTTON_SCROLL_UP # define MINESWP_DOWN BUTTON_SCROLL_DOWN Index: apps/plugins/disktidy.c =================================================================== --- apps/plugins/disktidy.c (revision 14641) +++ apps/plugins/disktidy.c (working copy) @@ -66,7 +66,8 @@ #elif CONFIG_KEYPAD == GIGABEAT_PAD #define TIDY_STOP BUTTON_POWER -#elif CONFIG_KEYPAD == SANSA_E200_PAD +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define TIDY_STOP BUTTON_POWER #elif CONFIG_KEYPAD == IRIVER_H10_PAD Index: apps/plugins/lib/pluginlib_actions.h =================================================================== --- apps/plugins/lib/pluginlib_actions.h (revision 14641) +++ apps/plugins/lib/pluginlib_actions.h (working copy) @@ -142,6 +142,15 @@ { PLA_DOWN_REPEAT, BUTTON_SCROLL_DOWN|BUTTON_REPEAT, BUTTON_NONE}, { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE}, { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE}, +#elif CONFIG_KEYPAD == SANSA_C200_PAD + { PLA_UP, BUTTON_UP, BUTTON_NONE}, + { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE}, + { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, + { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE}, + { PLA_UP_REPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_DOWN_REPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE}, #else #error pluginlib_actions: Unsupported keypad #endif @@ -198,7 +207,8 @@ { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE}, { PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, { PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT,BUTTON_NONE}, -#elif (CONFIG_KEYPAD == SANSA_E200_PAD) +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ + (CONFIG_KEYPAD == SANSA_C200_PAD) { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE}, { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE}, @@ -285,6 +295,12 @@ {PLA_MENU, BUTTON_DOWN, BUTTON_NONE}, {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, +#elif CONFIG_KEYPAD == SANSA_C200_PAD + {PLA_QUIT, BUTTON_POWER, BUTTON_NONE}, + {PLA_START, BUTTON_UP, BUTTON_NONE}, + {PLA_MENU, BUTTON_DOWN, BUTTON_NONE}, + {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, + {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, #elif CONFIG_KEYPAD == IRIVER_H10_PAD {PLA_QUIT, BUTTON_POWER, BUTTON_NONE}, {PLA_START, BUTTON_PLAY, BUTTON_NONE}, Index: apps/plugins/jpeg.c =================================================================== --- apps/plugins/jpeg.c (revision 14641) +++ apps/plugins/jpeg.c (working copy) @@ -142,6 +142,21 @@ #define JPEG_PREVIOUS BUTTON_SCROLL_UP #define JPEG_PREVIOUS_REPEAT (BUTTON_SCROLL_UP|BUTTON_REPEAT) +#elif CONFIG_KEYPAD == SANSA_C200_PAD +#define JPEG_ZOOM_PRE BUTTON_SELECT +#define JPEG_ZOOM_IN (BUTTON_SELECT | BUTTON_REL) +#define JPEG_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT) +#define JPEG_UP BUTTON_UP +#define JPEG_DOWN BUTTON_DOWN +#define JPEG_LEFT BUTTON_LEFT +#define JPEG_RIGHT BUTTON_RIGHT +#define JPEG_MENU BUTTON_POWER +#define JPEG_SLIDE_SHOW BUTTON_REC +#define JPEG_NEXT BUTTON_VOL_UP +#define JPEG_NEXT_REPEAT (BUTTON_VOL_UP|BUTTON_REPEAT) +#define JPEG_PREVIOUS BUTTON_VOL_DOWN +#define JPEG_PREVIOUS_REPEAT (BUTTON_VOL_DOWN|BUTTON_REPEAT) + #elif CONFIG_KEYPAD == IRIVER_H10_PAD #define JPEG_ZOOM_PRE BUTTON_PLAY #define JPEG_ZOOM_IN (BUTTON_PLAY | BUTTON_REL) Index: apps/plugins/snow.c =================================================================== --- apps/plugins/snow.c (revision 14641) +++ apps/plugins/snow.c (working copy) @@ -46,7 +46,8 @@ #define SNOW_QUIT BUTTON_POWER #elif CONFIG_KEYPAD == GIGABEAT_PAD #define SNOW_QUIT BUTTON_POWER -#elif CONFIG_KEYPAD == SANSA_E200_PAD +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define SNOW_QUIT BUTTON_POWER #elif CONFIG_KEYPAD == IRIVER_H10_PAD #define SNOW_QUIT BUTTON_POWER Index: apps/plugins/vu_meter.c =================================================================== --- apps/plugins/vu_meter.c (revision 14641) +++ apps/plugins/vu_meter.c (working copy) @@ -94,6 +94,15 @@ #define VUMETER_UP BUTTON_SCROLL_DOWN #define VUMETER_DOWN BUTTON_SCROLL_UP +#elif (CONFIG_KEYPAD == SANSA_C200_PAD) +#define VUMETER_QUIT BUTTON_POWER +#define VUMETER_HELP BUTTON_REC +#define VUMETER_MENU BUTTON_SELECT +#define VUMETER_MENU_EXIT BUTTON_SELECT +#define VUMETER_MENU_EXIT2 BUTTON_POWER +#define VUMETER_UP BUTTON_VOL_UP +#define VUMETER_DOWN BUTTON_VOL_DOWN + #elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD #define VUMETER_QUIT BUTTON_POWER #define VUMETER_HELP BUTTON_PLAY Index: apps/plugins/sokoban.c =================================================================== --- apps/plugins/sokoban.c (revision 14641) +++ apps/plugins/sokoban.c (working copy) @@ -203,7 +203,8 @@ #define BUTTON_SAVE BUTTON_SELECT #define BUTTON_SAVE_NAME "SELECT" -#elif CONFIG_KEYPAD == SANSA_E200_PAD +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define SOKOBAN_UP BUTTON_UP #define SOKOBAN_DOWN BUTTON_DOWN #define SOKOBAN_MENU BUTTON_POWER Index: apps/plugins/spacerocks.c =================================================================== --- apps/plugins/spacerocks.c (revision 14641) +++ apps/plugins/spacerocks.c (working copy) @@ -135,6 +135,19 @@ #define AST_FIRE BUTTON_SELECT #define AST_FIRE_REP (BUTTON_SELECT | BUTTON_REPEAT) +#elif (CONFIG_KEYPAD == SANSA_C200_PAD) +#define AST_PAUSE BUTTON_REC +#define AST_QUIT BUTTON_POWER +#define AST_THRUST_REP (BUTTON_UP | BUTTON_REPEAT) +#define AST_THRUST BUTTON_UP +#define AST_HYPERSPACE BUTTON_DOWN +#define AST_LEFT BUTTON_VOL_DOWN +#define AST_LEFT_REP (BUTTON_VOL_DOWN | BUTTON_REPEAT) +#define AST_RIGHT BUTTON_VOL_UP +#define AST_RIGHT_REP (BUTTON_VOL_UP | BUTTON_REPEAT) +#define AST_FIRE BUTTON_SELECT +#define AST_FIRE_REP (BUTTON_SELECT | BUTTON_REPEAT) + #elif (CONFIG_KEYPAD == IRIVER_H10_PAD) #define AST_PAUSE BUTTON_PLAY #define AST_QUIT BUTTON_POWER Index: apps/plugins/reversi/reversi-gui.c =================================================================== --- apps/plugins/reversi/reversi-gui.c (revision 14641) +++ apps/plugins/reversi/reversi-gui.c (working copy) @@ -67,6 +67,14 @@ #define CELL_HEIGHT 6 #define SMALL_BOARD +#elif (LCD_HEIGHT==80) && (LCD_WIDTH==132) +/* Sansa C200 - 132x80, 8 cells @ 10x10 with 9 border lines */ + +/* Internal dimensions of a cell */ +#define CELL_WIDTH 10 +#define CELL_HEIGHT 10 +#define SMALL_BOARD + #elif (LCD_HEIGHT==110) && (LCD_WIDTH==138) /* iPod Mini - 138x110, 8 cells @ 10x10 with 9 border lines */ Index: apps/plugins/reversi/reversi-gui.h =================================================================== --- apps/plugins/reversi/reversi-gui.h (revision 14641) +++ apps/plugins/reversi/reversi-gui.h (working copy) @@ -95,7 +95,8 @@ #define REVERSI_BUTTON_MAKE_MOVE BUTTON_REW #define REVERSI_BUTTON_MENU BUTTON_PLAY -#elif (CONFIG_KEYPAD == SANSA_E200_PAD) +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define REVERSI_BUTTON_QUIT BUTTON_POWER #define REVERSI_BUTTON_UP BUTTON_UP #define REVERSI_BUTTON_DOWN BUTTON_DOWN Index: apps/plugins/logo.c =================================================================== --- apps/plugins/logo.c (revision 14641) +++ apps/plugins/logo.c (working copy) @@ -210,7 +210,8 @@ #define LP_DEC_Y BUTTON_DOWN #define LP_INC_Y BUTTON_UP -#elif CONFIG_KEYPAD == SANSA_E200_PAD +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define LP_QUIT BUTTON_POWER #define LP_DEC_X BUTTON_LEFT #define LP_INC_X BUTTON_RIGHT Index: apps/plugins/brickmania.c =================================================================== --- apps/plugins/brickmania.c (revision 14641) +++ apps/plugins/brickmania.c (working copy) @@ -129,6 +129,19 @@ #define SCROLL_FWD(x) ((x) & BUTTON_SCROLL_DOWN) #define SCROLL_BACK(x) ((x) & BUTTON_SCROLL_UP) +#elif CONFIG_KEYPAD == SANSA_C200_PAD + +#define QUIT BUTTON_POWER +#define LEFT BUTTON_LEFT +#define RIGHT BUTTON_RIGHT +#define SELECT BUTTON_SELECT +#define UP BUTTON_VOL_UP +#define DOWN BUTTON_VOL_DOWN + +#define SCROLL_FWD(x) ((x) & BUTTON_VOL_DOWN) +#define SCROLL_BACK(x) ((x) & BUTTON_VOL_UP) + + #elif CONFIG_KEYPAD == IRIVER_H10_PAD /* grayscale at the moment */ #define QUIT BUTTON_POWER @@ -421,6 +434,51 @@ #define STRINGPOS_navi 44 #define STRINGPOS_flipsides 44 +/* Sansa C200 */ +#elif (LCD_WIDTH == 132) && (LCD_HEIGHT == 80) +/* The time (in ms) for one iteration through the game loop - decrease this + to speed up the game - note that current_tick is (currently) only accurate + to 10ms. +*/ +#define CYCLETIME 75 + +#define GAMESCREEN_HEIGHT LCD_HEIGHT + +#define PAD_WIDTH 30 +#define PAD_HEIGHT 3 +#define PAD_POS_Y LCD_HEIGHT - 5 +#define BRICK_HEIGHT 4 +#define BRICK_WIDTH 11 +#define BALL 3 +#define HALFBALL 2 +#define LEFTMARGIN 1 +#define TOPMARGIN 10 + +#define MENU_BMPHEIGHT 9 +#define MENU_BMPWIDTH 80 +#define BMPHEIGHT_menu 45 +#define BMPWIDTH_menu 160 + +#define BMPHEIGHT_powerup 6 +#define BMPWIDTH_powerup 7 + +#define BMPXOFS_start 12 +#define BMPYOFS_start 20 +#define BMPXOFS_resume 18 +#define BMPYOFS_resume 31 +#define BMPXOFS_help 39 +#define BMPYOFS_help 42 +#define BMPXOFS_quit 40 +#define BMPYOFS_quit 53 +#define HIGHSCORE_XPOS 0 +#define HIGHSCORE_YPOS 0 + +#define STRINGPOS_finsh 54 +#define STRINGPOS_congrats 44 +#define STRINGPOS_navi 44 +#define STRINGPOS_flipsides 44 + + /* nano and sansa */ #elif (LCD_WIDTH == 176) && (LCD_HEIGHT >= 132) && (LCD_DEPTH==16) /* The time (in ms) for one iteration through the game loop - decrease this Index: apps/plugins/chopper.c =================================================================== --- apps/plugins/chopper.c (revision 14641) +++ apps/plugins/chopper.c (working copy) @@ -60,7 +60,8 @@ #define ACTION BUTTON_RIGHT #define ACTIONTEXT "RIGHT" -#elif CONFIG_KEYPAD == SANSA_E200_PAD +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define QUIT BUTTON_POWER #define ACTION BUTTON_SELECT #define ACTIONTEXT "SELECT" Index: apps/plugins/viewer.c =================================================================== --- apps/plugins/viewer.c (revision 14641) +++ apps/plugins/viewer.c (working copy) @@ -184,6 +184,18 @@ #define VIEWER_LINE_UP BUTTON_SCROLL_UP #define VIEWER_LINE_DOWN BUTTON_SCROLL_DOWN +/* Sansa C200 keys */ +#elif CONFIG_KEYPAD == SANSA_C200_PAD +#define VIEWER_QUIT BUTTON_POWER +#define VIEWER_PAGE_UP BUTTON_VOL_UP +#define VIEWER_PAGE_DOWN BUTTON_VOL_DOWN +#define VIEWER_SCREEN_LEFT BUTTON_LEFT +#define VIEWER_SCREEN_RIGHT BUTTON_RIGHT +#define VIEWER_MENU BUTTON_SELECT +#define VIEWER_AUTOSCROLL BUTTON_REC +#define VIEWER_LINE_UP BUTTON_UP +#define VIEWER_LINE_DOWN BUTTON_DOWN + /* iriver H10 keys */ #elif CONFIG_KEYPAD == IRIVER_H10_PAD #define VIEWER_QUIT BUTTON_POWER Index: apps/plugins/mazezam.c =================================================================== --- apps/plugins/mazezam.c (revision 14641) +++ apps/plugins/mazezam.c (working copy) @@ -115,7 +115,8 @@ #define MAZEZAM_QUIT BUTTON_POWER #define MAZEZAM_QUIT_KEYNAME "[POWER]" -#elif (CONFIG_KEYPAD == SANSA_E200_PAD) +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define MAZEZAM_UP BUTTON_UP #define MAZEZAM_DOWN BUTTON_DOWN #define MAZEZAM_LEFT BUTTON_LEFT Index: apps/plugins/blackjack.c =================================================================== --- apps/plugins/blackjack.c (revision 14641) +++ apps/plugins/blackjack.c (working copy) @@ -173,6 +173,21 @@ #define BJACK_RIGHT BUTTON_RIGHT #define BJACK_LEFT BUTTON_LEFT +#elif CONFIG_KEYPAD == SANSA_C200_PAD +#define BJACK_START BUTTON_SELECT +#define BJACK_QUIT BUTTON_POWER +#define BJACK_MAX (BUTTON_REC|BUTTON_UP) +#define BJACK_MIN (BUTTON_REC|BUTTON_VOL_DOWN) +#define BJACK_HIT BUTTON_SELECT +#define BJACK_STAY BUTTON_RIGHT +#define BJACK_DOUBLEDOWN BUTTON_LEFT +#define BJACK_SCORES BUTTON_VOL_UP +#define BJACK_RESUME BUTTON_REC +#define BJACK_UP BUTTON_UP +#define BJACK_DOWN BUTTON_DOWN +#define BJACK_RIGHT BUTTON_RIGHT +#define BJACK_LEFT BUTTON_LEFT + #elif CONFIG_KEYPAD == ELIO_TPJ1022_PAD #define BJACK_START BUTTON_MAIN #define BJACK_QUIT BUTTON_POWER Index: apps/plugins/chip8.c =================================================================== --- apps/plugins/chip8.c (revision 14641) +++ apps/plugins/chip8.c (working copy) @@ -1028,6 +1028,14 @@ #define CHIP8_KEY6 BUTTON_RIGHT #define CHIP8_KEY8 BUTTON_SCROLL_DOWN +#elif CONFIG_KEYPAD == SANSA_C200_PAD +#define CHIP8_OFF BUTTON_POWER +#define CHIP8_KEY2 BUTTON_VOL_UP +#define CHIP8_KEY4 BUTTON_LEFT +#define CHIP8_KEY5 BUTTON_SELECT +#define CHIP8_KEY6 BUTTON_RIGHT +#define CHIP8_KEY8 BUTTON_VOL_DOWN + #elif (CONFIG_KEYPAD == IRIVER_H10_PAD) #define CHIP8_OFF BUTTON_POWER #define CHIP8_KEY2 BUTTON_SCROLL_UP Index: apps/plugins/stopwatch.c =================================================================== --- apps/plugins/stopwatch.c (revision 14641) +++ apps/plugins/stopwatch.c (working copy) @@ -100,7 +100,8 @@ #define STOPWATCH_LAP_TIMER BUTTON_MENU #define STOPWATCH_SCROLL_UP BUTTON_UP #define STOPWATCH_SCROLL_DOWN BUTTON_DOWN -#elif CONFIG_KEYPAD == SANSA_E200_PAD +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define STOPWATCH_QUIT BUTTON_POWER #define STOPWATCH_START_STOP BUTTON_LEFT #define STOPWATCH_RESET_TIMER BUTTON_REC Index: apps/plugins/bubbles.c =================================================================== --- apps/plugins/bubbles.c (revision 14641) +++ apps/plugins/bubbles.c (working copy) @@ -141,6 +141,16 @@ #define ROW_INDENT 8 #define MAX_FPS 30 +/* 8x7 bubbles (Sansa C200) */ +#elif (LCD_HEIGHT == 80) && (LCD_WIDTH == 132) +#define BUBBLE_WIDTH 8 +#define BUBBLE_HEIGHT 7 +#define EMBLEM_WIDTH 8 +#define EMBLEM_HEIGHT 8 +#define XOFS 33 +#define ROW_HEIGHT 10 +#define ROW_INDENT 6 +#define MAX_FPS 30 /* 12x12 bubbles (iPod Nano) */ #elif (LCD_HEIGHT == 132) && (LCD_WIDTH == 176) #define BUBBLE_WIDTH 12 Index: apps/plugins/chessclock.c =================================================================== --- apps/plugins/chessclock.c (revision 14641) +++ apps/plugins/chessclock.c (working copy) @@ -119,7 +119,8 @@ #define CHC_SETTINGS_OK BUTTON_SELECT #define CHC_SETTINGS_CANCEL BUTTON_POWER -#elif CONFIG_KEYPAD == SANSA_E200_PAD +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define CHC_QUIT BUTTON_POWER #define CHC_STARTSTOP BUTTON_SELECT #define CHC_RESET BUTTON_DOWN Index: apps/plugins/mosaique.c =================================================================== --- apps/plugins/mosaique.c (revision 14641) +++ apps/plugins/mosaique.c (working copy) @@ -91,7 +91,8 @@ #define MOSAIQUE_SPEED BUTTON_A #define MOSAIQUE_RESTART BUTTON_SELECT -#elif CONFIG_KEYPAD == SANSA_E200_PAD +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define MOSAIQUE_QUIT BUTTON_POWER #define MOSAIQUE_SPEED BUTTON_DOWN #define MOSAIQUE_RESTART BUTTON_SELECT Index: apps/plugins/jewels.c =================================================================== --- apps/plugins/jewels.c (revision 14641) +++ apps/plugins/jewels.c (working copy) @@ -95,7 +95,8 @@ #define JEWELS_SELECT BUTTON_SELECT #define JEWELS_CANCEL BUTTON_POWER -#elif CONFIG_KEYPAD == SANSA_E200_PAD +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define JEWELS_UP BUTTON_UP #define JEWELS_DOWN BUTTON_DOWN #define JEWELS_LEFT BUTTON_LEFT @@ -166,6 +167,13 @@ #define YOFS 0 #define NUM_SCORES 8 +/* use 10x8 tiles (Sansa c200) */ +#elif (LCD_HEIGHT == 80) && (LCD_WIDTH == 132) +#define TILE_WIDTH 10 +#define TILE_HEIGHT 8 +#define YOFS 0 +#define NUM_SCORES 8 + /* use 10x8 tiles (Recorder, Ondio) */ #elif (LCD_HEIGHT == 64) && (LCD_WIDTH == 112) #define TILE_WIDTH 10 Index: apps/plugins/calculator.c =================================================================== --- apps/plugins/calculator.c (revision 14641) +++ apps/plugins/calculator.c (working copy) @@ -176,7 +176,8 @@ #define CALCULATOR_CALC BUTTON_SELECT #define CALCULATOR_CLEAR BUTTON_A -#elif CONFIG_KEYPAD == SANSA_E200_PAD +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define CALCULATOR_UP BUTTON_UP #define CALCULATOR_DOWN BUTTON_DOWN #define CALCULATOR_QUIT BUTTON_POWER Index: apps/plugins/wormlet.c =================================================================== --- apps/plugins/wormlet.c (revision 14641) +++ apps/plugins/wormlet.c (working copy) @@ -148,7 +148,8 @@ #define WORMS_TEXT "Left/Right" -#elif (CONFIG_KEYPAD == SANSA_E200_PAD) +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define BTN_DIR_UP BUTTON_UP #define BTN_DIR_DOWN BUTTON_DOWN @@ -182,6 +183,11 @@ #define ARGH_SIZE 4 #define SPEED 14 #define MAX_WORM_SEGMENTS 128 +#elif (LCD_WIDTH == 132) && (LCD_HEIGHT == 80) +#define FOOD_SIZE 3 +#define ARGH_SIZE 4 +#define SPEED 14 +#define MAX_WORM_SEGMENTS 128 #elif (LCD_WIDTH == 138) && (LCD_HEIGHT == 110) #define FOOD_SIZE 4 #define ARGH_SIZE 5 Index: apps/plugins/invadrox.c =================================================================== --- apps/plugins/invadrox.c (revision 14641) +++ apps/plugins/invadrox.c (working copy) @@ -92,7 +92,8 @@ #define RIGHT BUTTON_RIGHT #define FIRE BUTTON_SELECT -#elif CONFIG_KEYPAD == SANSA_E200_PAD +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define QUIT BUTTON_POWER #define LEFT BUTTON_LEFT @@ -332,7 +333,61 @@ #define MAX_X 75 #define MAX_Y 18 +#elif (LCD_WIDTH == 132) && (LCD_HEIGHT == 80) +/* Sansa C200: 132x80x16 + * ====================================== + * X: No padding. No border -> 160p playfield. + * + * LIVES_X 0 + * ALIEN_WIDTH 8 + * ALIEN_HEIGHT 5 + * ALIEN_SPACING 3 + * SHIP_WIDTH 10 + * SHIP_HEIGHT 5 + * FONT_HEIGHT 5 + * UFO_WIDTH 10 + * UFO_HEIGHT 5 + * SHIELD_WIDTH 15 + * SHIELD_HEIGHT 10 + * MAX_X 75 + * MAX_Y = 18 + * ALIEN_START_Y (UFO_Y + 10) + * + * 8p Aliens with 3p spacing -> 88 + 30 = 118p aliens block. + * (160 - 118) / 2 = 21 rounds for whole block (more than original) + * MAX_X = (160 - 8) / 2 - 1 = 75 rounds for single alien (less than original) + * + * Y: Scoreline 5 0 (combine scoretext and numbers on same line) + * Space 5 5 + * 1 Ufo 5 10 + * 2 Space 5 15 + * 8 aliens 9*5 20 - + * space ~6*5 65 | Just above 18 aliens space between + * shield 2*5 96 | first alien and ship. + * space 5 106 | MAX_Y = 18 + * ship 5 111 - + * space 5 116 + * hline 1 121 PLAYFIELD_Y + * bottom border 6 122 + * LCD_HEIGHT 128 + * Lives and Level goes inside bottom border + */ + +#define TINY_GRAPHICS +#define PLAYFIELD_X 0 +#define SHIP_Y (PLAYFIELD_Y - 2 * SHIP_HEIGHT) +#define ALIEN_START_Y (UFO_Y + 10) +#define SCORENUM_X (PLAYFIELD_X + SCORE_WIDTH + NUMBERS_WIDTH + NUM_SPACING) +#define SCORENUM_Y SCORE_Y +#define HISCORENUM_X (LCD_WIDTH - PLAYFIELD_X - 4 * NUMBERS_WIDTH - 3 * NUM_SPACING) +#define HISCORE_X (HISCORENUM_X - NUMBERS_WIDTH - NUM_SPACING - HISCORE_WIDTH) +#define SHIELD_Y (SHIP_Y - SHIP_HEIGHT - SHIELD_HEIGHT) +#define LIVES_X 0 +#define MAX_X 75 +#define MAX_Y 18 + + #elif (LCD_WIDTH == 240) && (LCD_HEIGHT == 320) /* Gigabeat: 240x320x16 Index: apps/plugins/rockpaint.c =================================================================== --- apps/plugins/rockpaint.c (revision 14641) +++ apps/plugins/rockpaint.c (working copy) @@ -82,7 +82,8 @@ #define ROCKPAINT_LEFT BUTTON_LEFT #define ROCKPAINT_RIGHT BUTTON_RIGHT -#elif CONFIG_KEYPAD == SANSA_E200_PAD +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define ROCKPAINT_QUIT BUTTON_POWER #define ROCKPAINT_DRAW BUTTON_SELECT #define ROCKPAINT_MENU ( BUTTON_SELECT | BUTTON_POWER ) Index: apps/plugins/pacbox/pacbox.h =================================================================== --- apps/plugins/pacbox/pacbox.h (revision 14641) +++ apps/plugins/pacbox/pacbox.h (working copy) @@ -87,7 +87,8 @@ #define PACMAN_COIN BUTTON_REC #define PACMAN_MENU BUTTON_PLAY -#elif CONFIG_KEYPAD == SANSA_E200_PAD +#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ +(CONFIG_KEYPAD == SANSA_C200_PAD) #define PACMAN_UP BUTTON_UP #define PACMAN_DOWN BUTTON_DOWN