summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarianne Arnold <pixelma@rockbox.org>2007-09-20 10:49:48 +0000
committerMarianne Arnold <pixelma@rockbox.org>2007-09-20 10:49:48 +0000
commit12ddb8ea0d8dbaa38703c37551fcd5c5267819e6 (patch)
treee679031afc87caf181d21cce816aff540d4a5cb0
parent7b71787bd8dc1f570d2270a312438f86b66e3456 (diff)
downloadrockbox-12ddb8ea0d8dbaa38703c37551fcd5c5267819e6.tar.gz
rockbox-12ddb8ea0d8dbaa38703c37551fcd5c5267819e6.zip
Enable plugins on the Sansa C200. Large parts taken from patch FS#7749 by Max Kelley with tweaks, bit of cleanup and additional bitmaps by me. Some of the now enabled plugins could still be improved in regard to screen size adaptation or keymaps but this way it can easily be done later and one by one. The rather ugly 'ifndef's I added temporaryly in plugins/SOURCES will also go one by one. Plugin button actions cause some quirks in a few plugins (e.g. 'clock') but since it's not critical , the bitmaps were already done and it makes a good example for discussing plugin button actions, I thought it could go in.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14771 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/keymaps/keymap-c200.c10
-rw-r--r--apps/plugins/SOURCES14
-rw-r--r--apps/plugins/SUBDIRS6
-rw-r--r--apps/plugins/battery_bench.c3
-rw-r--r--apps/plugins/bitmaps/native/SOURCES16
-rwxr-xr-xapps/plugins/bitmaps/native/clock_binary.132x80x16.bmpbin0 -> 2854 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/clock_digits.132x80x16.bmpbin0 -> 14406 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/clock_logo.132x80x16.bmpbin0 -> 26190 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/clock_messages.132x80x16.bmpbin0 -> 33318 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/clock_segments.132x80x16.bmpbin0 -> 14406 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/clock_smalldigits.132x80x16.bmpbin0 -> 4786 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/clock_smallsegments.132x80x16.bmpbin0 -> 4786 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/jewels.132x80x16.bmpbin0 -> 7414 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/rockblox_background.132x80x16.bmpbin0 -> 31734 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/sudoku_inverse.132x80x16.bmpbin0 -> 2358 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/sudoku_normal.132x80x16.bmpbin0 -> 3894 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/sudoku_start.132x80x16.bmpbin0 -> 3894 bytes
-rw-r--r--apps/plugins/blackjack.c15
-rw-r--r--apps/plugins/bounce.c6
-rw-r--r--apps/plugins/calculator.c15
-rw-r--r--apps/plugins/chessclock.c3
-rw-r--r--apps/plugins/chip8.c8
-rw-r--r--apps/plugins/chopper.c3
-rw-r--r--apps/plugins/cube.c15
-rw-r--r--apps/plugins/dict.c3
-rw-r--r--apps/plugins/disktidy.c3
-rw-r--r--apps/plugins/doom/i_video.c10
-rw-r--r--apps/plugins/fire.c3
-rw-r--r--apps/plugins/fireworks.c3
-rw-r--r--apps/plugins/jewels.c13
-rw-r--r--apps/plugins/jpeg.c15
-rw-r--r--apps/plugins/lib/pluginlib_actions.h15
-rw-r--r--apps/plugins/logo.c3
-rw-r--r--apps/plugins/mandelbrot.c12
-rw-r--r--apps/plugins/maze.c3
-rw-r--r--apps/plugins/mazezam.c3
-rw-r--r--apps/plugins/midiplay.c3
-rw-r--r--apps/plugins/mosaique.c3
-rw-r--r--apps/plugins/mp3_encoder.c3
-rw-r--r--apps/plugins/mpegplayer/mpegplayer.c7
-rw-r--r--apps/plugins/oscilloscope.c11
-rw-r--r--apps/plugins/plasma.c6
-rw-r--r--apps/plugins/pong.c3
-rw-r--r--apps/plugins/reversi/reversi-gui.c8
-rw-r--r--apps/plugins/reversi/reversi-gui.h3
-rw-r--r--apps/plugins/rockblox.c25
-rw-r--r--apps/plugins/rockpaint.c3
-rw-r--r--apps/plugins/sliding_puzzle.c3
-rw-r--r--apps/plugins/snake.c3
-rw-r--r--apps/plugins/snake2.c3
-rw-r--r--apps/plugins/snow.c3
-rw-r--r--apps/plugins/solitaire.c19
-rw-r--r--apps/plugins/spacerocks.c13
-rw-r--r--apps/plugins/star.c3
-rw-r--r--apps/plugins/starfield.c3
-rw-r--r--apps/plugins/stats.c3
-rw-r--r--apps/plugins/stopwatch.c7
-rw-r--r--apps/plugins/sudoku/sudoku.c8
-rw-r--r--apps/plugins/sudoku/sudoku.h14
-rw-r--r--apps/plugins/viewer.c12
-rw-r--r--apps/plugins/vu_meter.c9
-rw-r--r--apps/plugins/wormlet.c8
-rw-r--r--apps/plugins/xobox.c3
-rw-r--r--apps/plugins/zxbox/keymaps.h3
-rw-r--r--apps/plugins/zxbox/zxbox_keyb.c3
-rw-r--r--docs/CREDITS2
-rwxr-xr-xtools/configure2
67 files changed, 344 insertions, 55 deletions
diff --git a/apps/keymaps/keymap-c200.c b/apps/keymaps/keymap-c200.c
index 9a4c2b4c75..6e541579f7 100644
--- a/apps/keymaps/keymap-c200.c
+++ b/apps/keymaps/keymap-c200.c
@@ -269,19 +269,16 @@ static const struct button_mapping button_context_radio[] = {
static const struct button_mapping button_context_keyboard[] = {
{ ACTION_KBD_LEFT, BUTTON_LEFT, BUTTON_NONE },
{ ACTION_KBD_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
-
{ ACTION_KBD_RIGHT, BUTTON_RIGHT, BUTTON_NONE },
{ ACTION_KBD_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
- { ACTION_KBD_CURSOR_LEFT, BUTTON_REC|BUTTON_LEFT, BUTTON_NONE },
+ { ACTION_KBD_CURSOR_LEFT, BUTTON_REC|BUTTON_LEFT, BUTTON_NONE },
{ ACTION_KBD_CURSOR_LEFT, BUTTON_REC|BUTTON_LEFT|BUTTON_REPEAT,BUTTON_NONE },
-
- { ACTION_KBD_CURSOR_RIGHT, BUTTON_REC|BUTTON_RIGHT, BUTTON_NONE },
+ { ACTION_KBD_CURSOR_RIGHT, BUTTON_REC|BUTTON_RIGHT, BUTTON_NONE },
{ ACTION_KBD_CURSOR_RIGHT, BUTTON_REC|BUTTON_RIGHT|BUTTON_REPEAT,BUTTON_NONE },
{ ACTION_KBD_UP, BUTTON_UP, BUTTON_NONE },
{ ACTION_KBD_UP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
-
{ ACTION_KBD_DOWN, BUTTON_DOWN, BUTTON_NONE },
{ ACTION_KBD_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
@@ -291,7 +288,8 @@ static const struct button_mapping button_context_keyboard[] = {
{ ACTION_KBD_PAGE_FLIP, BUTTON_REC|BUTTON_SELECT, BUTTON_REC },
{ ACTION_KBD_SELECT, BUTTON_SELECT, BUTTON_NONE },
- { ACTION_KBD_DONE, BUTTON_UP, BUTTON_NONE },
+ { ACTION_KBD_DONE, BUTTON_VOL_UP, BUTTON_NONE },
+ { ACTION_KBD_DONE, BUTTON_VOL_DOWN, BUTTON_NONE },
{ ACTION_KBD_ABORT, BUTTON_POWER, BUTTON_NONE },
LAST_ITEM_IN_LIST
diff --git a/apps/plugins/SOURCES b/apps/plugins/SOURCES
index 31d94d5811..8479cd8b9b 100644
--- a/apps/plugins/SOURCES
+++ b/apps/plugins/SOURCES
@@ -34,7 +34,9 @@ wavrecord.c
#ifndef IRIVER_IFP7XX_SERIES /* Temporarily disable plugins for iFP7xx */
dice.c
disktidy.c
+#ifndef SANSA_C200
flipit.c
+#endif
#ifdef HAVE_LCD_BITMAP /* Not for the Player */
maze.c
@@ -50,14 +52,16 @@ plasma.c
blackjack.c
bounce.c
+#ifndef SANSA_C200
bubbles.c
+#endif
-#if (LCD_DEPTH >= 2) && !defined(IPOD_MINI) && !defined(IPOD_MINI2G) && !defined(IRIVER_H10_5GB)
+#if (LCD_WIDTH >= 160)
invadrox.c
#endif
-#if LCD_WIDTH != 128
-/* These need adjusting for the iRiver if'p screen */
+#if LCD_WIDTH != 128 && !defined SANSA_C200
+/* These need adjusting for the iRiver if'p and Sansa c200, small H10 screen */
brickmania.c
#endif
calculator.c
@@ -65,14 +69,18 @@ chip8.c
chopper.c
demystify.c
jewels.c
+#ifndef SANSA_C200
minesweeper.c
+#endif
oscilloscope.c
pong.c
sliding_puzzle.c
snake.c
snake2.c
solitaire.c
+#ifndef SANSA_C200
sokoban.c
+#endif
star.c
starfield.c
#if CONFIG_LCD == LCD_SSD1815
diff --git a/apps/plugins/SUBDIRS b/apps/plugins/SUBDIRS
index 11643a5b2f..f537fb8965 100644
--- a/apps/plugins/SUBDIRS
+++ b/apps/plugins/SUBDIRS
@@ -16,7 +16,9 @@ rockboy
/* For all targets with a bitmap display */
#ifdef HAVE_LCD_BITMAP
+#ifndef SANSA_C200
chessbox
+#endif
sudoku
reversi
#endif
@@ -27,8 +29,8 @@ zxbox
#endif
/* For all the colour targets, iriver H1x0 and iAudio M5 */
-#if defined(HAVE_LCD_COLOR) || defined(IRIVER_H100_SERIES) \
- || defined(IAUDIO_M5)
+#if defined(HAVE_LCD_COLOR) && !defined (SANSA_C200)\
+ || defined(IRIVER_H100_SERIES) || defined(IAUDIO_M5)
pacbox
#endif
diff --git a/apps/plugins/battery_bench.c b/apps/plugins/battery_bench.c
index 85377e22a9..43bfc7255f 100644
--- a/apps/plugins/battery_bench.c
+++ b/apps/plugins/battery_bench.c
@@ -80,7 +80,8 @@ PLUGIN_HEADER
#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
diff --git a/apps/plugins/bitmaps/native/SOURCES b/apps/plugins/bitmaps/native/SOURCES
index 93939c95f7..55ad8392c3 100644
--- a/apps/plugins/bitmaps/native/SOURCES
+++ b/apps/plugins/bitmaps/native/SOURCES
@@ -167,6 +167,14 @@ clock_segments.138x110x2.bmp
clock_smallsegments.160x128x2.bmp
clock_logo.138x110x2.bmp
clock_messages.138x110x2.bmp
+#elif (LCD_WIDTH >= 132) && (LCD_HEIGHT >= 80) && (LCD_DEPTH >= 16)
+clock_binary.132x80x16.bmp
+clock_digits.132x80x16.bmp
+clock_smalldigits.132x80x16.bmp
+clock_segments.132x80x16.bmp
+clock_smallsegments.132x80x16.bmp
+clock_logo.132x80x16.bmp
+clock_messages.132x80x16.bmp
#elif (LCD_WIDTH >= 112) && (LCD_HEIGHT >= 64) && (LCD_DEPTH >= 1)
clock_binary.112x64x1.bmp
clock_digits.112x64x1.bmp
@@ -237,6 +245,8 @@ jewels.112x64x1.bmp
jewels.112x64x1.bmp
#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 128)
jewels.128x128x16.bmp
+#elif (LCD_WIDTH == 132) && (LCD_HEIGHT == 80)
+jewels.132x80x16.bmp
#elif (LCD_WIDTH == 138) && (LCD_HEIGHT == 110)
jewels.138x110x2.bmp
#elif (LCD_WIDTH == 160) && (LCD_HEIGHT == 128) && !defined(HAVE_LCD_COLOR)
@@ -283,6 +293,8 @@ rockblox_background.176x220x16.bmp
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)
@@ -426,6 +438,10 @@ sudoku_inverse.112x64x1.bmp
sudoku_start.138x110x2.bmp
sudoku_normal.138x110x2.bmp
sudoku_inverse.138x110x2.bmp
+#elif (LCD_WIDTH == 132) && (LCD_HEIGHT == 80) && (LCD_DEPTH >= 16)
+sudoku_start.132x80x16.bmp
+sudoku_normal.132x80x16.bmp
+sudoku_inverse.132x80x16.bmp
#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 128) && (LCD_DEPTH == 16)
sudoku_start.128x128x16.bmp
sudoku_normal.128x128x16.bmp
diff --git a/apps/plugins/bitmaps/native/clock_binary.132x80x16.bmp b/apps/plugins/bitmaps/native/clock_binary.132x80x16.bmp
new file mode 100755
index 0000000000..fcf7097f8a
--- /dev/null
+++ b/apps/plugins/bitmaps/native/clock_binary.132x80x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/clock_digits.132x80x16.bmp b/apps/plugins/bitmaps/native/clock_digits.132x80x16.bmp
new file mode 100755
index 0000000000..eff4c370a8
--- /dev/null
+++ b/apps/plugins/bitmaps/native/clock_digits.132x80x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/clock_logo.132x80x16.bmp b/apps/plugins/bitmaps/native/clock_logo.132x80x16.bmp
new file mode 100755
index 0000000000..b3d620954e
--- /dev/null
+++ b/apps/plugins/bitmaps/native/clock_logo.132x80x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/clock_messages.132x80x16.bmp b/apps/plugins/bitmaps/native/clock_messages.132x80x16.bmp
new file mode 100755
index 0000000000..e8a25d5bf5
--- /dev/null
+++ b/apps/plugins/bitmaps/native/clock_messages.132x80x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/clock_segments.132x80x16.bmp b/apps/plugins/bitmaps/native/clock_segments.132x80x16.bmp
new file mode 100755
index 0000000000..0b9d436e1c
--- /dev/null
+++ b/apps/plugins/bitmaps/native/clock_segments.132x80x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/clock_smalldigits.132x80x16.bmp b/apps/plugins/bitmaps/native/clock_smalldigits.132x80x16.bmp
new file mode 100755
index 0000000000..e82dbe8727
--- /dev/null
+++ b/apps/plugins/bitmaps/native/clock_smalldigits.132x80x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/clock_smallsegments.132x80x16.bmp b/apps/plugins/bitmaps/native/clock_smallsegments.132x80x16.bmp
new file mode 100755
index 0000000000..e4bd944865
--- /dev/null
+++ b/apps/plugins/bitmaps/native/clock_smallsegments.132x80x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/jewels.132x80x16.bmp b/apps/plugins/bitmaps/native/jewels.132x80x16.bmp
new file mode 100755
index 0000000000..c6c8e04eba
--- /dev/null
+++ b/apps/plugins/bitmaps/native/jewels.132x80x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/rockblox_background.132x80x16.bmp b/apps/plugins/bitmaps/native/rockblox_background.132x80x16.bmp
new file mode 100755
index 0000000000..d4d720f088
--- /dev/null
+++ b/apps/plugins/bitmaps/native/rockblox_background.132x80x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/sudoku_inverse.132x80x16.bmp b/apps/plugins/bitmaps/native/sudoku_inverse.132x80x16.bmp
new file mode 100755
index 0000000000..491593c3a0
--- /dev/null
+++ b/apps/plugins/bitmaps/native/sudoku_inverse.132x80x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/sudoku_normal.132x80x16.bmp b/apps/plugins/bitmaps/native/sudoku_normal.132x80x16.bmp
new file mode 100755
index 0000000000..ff2a824464
--- /dev/null
+++ b/apps/plugins/bitmaps/native/sudoku_normal.132x80x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/sudoku_start.132x80x16.bmp b/apps/plugins/bitmaps/native/sudoku_start.132x80x16.bmp
new file mode 100755
index 0000000000..ab6e978e0b
--- /dev/null
+++ b/apps/plugins/bitmaps/native/sudoku_start.132x80x16.bmp
Binary files differ
diff --git a/apps/plugins/blackjack.c b/apps/plugins/blackjack.c
index c4b424143d..2ece48d75d 100644
--- a/apps/plugins/blackjack.c
+++ b/apps/plugins/blackjack.c
@@ -173,6 +173,21 @@ PLUGIN_HEADER
#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
diff --git a/apps/plugins/bounce.c b/apps/plugins/bounce.c
index eac6933815..9373050292 100644
--- a/apps/plugins/bounce.c
+++ b/apps/plugins/bounce.c
@@ -82,6 +82,12 @@ PLUGIN_HEADER
#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
diff --git a/apps/plugins/calculator.c b/apps/plugins/calculator.c
index e16f58a412..103ce50a07 100644
--- a/apps/plugins/calculator.c
+++ b/apps/plugins/calculator.c
@@ -176,14 +176,15 @@ PLUGIN_HEADER
#define CALCULATOR_CALC BUTTON_SELECT
#define CALCULATOR_CLEAR BUTTON_A
-#elif CONFIG_KEYPAD == SANSA_E200_PAD
-#define CALCULATOR_UP BUTTON_UP
-#define CALCULATOR_DOWN BUTTON_DOWN
-#define CALCULATOR_QUIT BUTTON_POWER
+#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
#define CALCULATOR_INPUT_CALC_PRE BUTTON_SELECT
-#define CALCULATOR_INPUT (BUTTON_SELECT|BUTTON_REL)
-#define CALCULATOR_CALC BUTTON_SELECT
-#define CALCULATOR_CLEAR BUTTON_REC
+#define CALCULATOR_INPUT (BUTTON_SELECT|BUTTON_REL)
+#define CALCULATOR_CALC (BUTTON_SELECT|BUTTON_REPEAT)
+#define CALCULATOR_CLEAR BUTTON_REC
#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
diff --git a/apps/plugins/chessclock.c b/apps/plugins/chessclock.c
index 73c49767f9..56d2709bb7 100644
--- a/apps/plugins/chessclock.c
+++ b/apps/plugins/chessclock.c
@@ -119,7 +119,8 @@ PLUGIN_HEADER
#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
diff --git a/apps/plugins/chip8.c b/apps/plugins/chip8.c
index 0b06ace784..ae6e3bfd29 100644
--- a/apps/plugins/chip8.c
+++ b/apps/plugins/chip8.c
@@ -1028,6 +1028,14 @@ STATIC void chip8 (void)
#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
diff --git a/apps/plugins/chopper.c b/apps/plugins/chopper.c
index 5e27a5e6e7..46acf2c74e 100644
--- a/apps/plugins/chopper.c
+++ b/apps/plugins/chopper.c
@@ -64,7 +64,8 @@ Still To do:
#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"
diff --git a/apps/plugins/cube.c b/apps/plugins/cube.c
index f5158e9b7a..3294b37fab 100644
--- a/apps/plugins/cube.c
+++ b/apps/plugins/cube.c
@@ -163,6 +163,21 @@ PLUGIN_HEADER
#define CUBE_PAUSE (BUTTON_SELECT|BUTTON_REL)
#define CUBE_HIGHSPEED BUTTON_REC
+#elif (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_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
+#define CUBE_MODE (BUTTON_SELECT|BUTTON_REPEAT)
+#define CUBE_PAUSE_PRE BUTTON_SELECT
+#define CUBE_PAUSE (BUTTON_SELECT|BUTTON_REL)
+#define CUBE_HIGHSPEED BUTTON_REC
+
+
#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
#define CUBE_QUIT BUTTON_POWER
#define CUBE_X_INC BUTTON_LEFT
diff --git a/apps/plugins/dict.c b/apps/plugins/dict.c
index 32793cbc9f..257a0c6147 100644
--- a/apps/plugins/dict.c
+++ b/apps/plugins/dict.c
@@ -114,7 +114,8 @@ long reverse (long N) {
#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
diff --git a/apps/plugins/disktidy.c b/apps/plugins/disktidy.c
index aba78afb3e..a1c51d762a 100644
--- a/apps/plugins/disktidy.c
+++ b/apps/plugins/disktidy.c
@@ -66,7 +66,8 @@ enum tidy_system
#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
diff --git a/apps/plugins/doom/i_video.c b/apps/plugins/doom/i_video.c
index 24079a0f71..32990f3923 100644
--- a/apps/plugins/doom/i_video.c
+++ b/apps/plugins/doom/i_video.c
@@ -192,6 +192,16 @@ void I_ShutdownGraphics(void)
#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
#elif CONFIG_KEYPAD == GIGABEAT_PAD
#define DOOMBUTTON_UP BUTTON_UP
#define DOOMBUTTON_DOWN BUTTON_DOWN
diff --git a/apps/plugins/fire.c b/apps/plugins/fire.c
index 5d6f0618a7..7b8a104ec0 100644
--- a/apps/plugins/fire.c
+++ b/apps/plugins/fire.c
@@ -96,7 +96,8 @@ static unsigned char draw_buffer[8*LCD_WIDTH];
#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
diff --git a/apps/plugins/fireworks.c b/apps/plugins/fireworks.c
index e8439dff15..bedf82ffda 100644
--- a/apps/plugins/fireworks.c
+++ b/apps/plugins/fireworks.c
@@ -57,7 +57,8 @@ static struct plugin_api* rb;
#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)
diff --git a/apps/plugins/jewels.c b/apps/plugins/jewels.c
index cb4ab88048..dde53a0933 100644
--- a/apps/plugins/jewels.c
+++ b/apps/plugins/jewels.c
@@ -95,7 +95,8 @@ PLUGIN_HEADER
#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
@@ -159,6 +160,13 @@ PLUGIN_HEADER
#define YOFS 6
#define NUM_SCORES 10
++/* use 10x10 tiles (Sansa c200) */
+#elif (LCD_HEIGHT == 80) && (LCD_WIDTH == 132)
+#define TILE_WIDTH 10
+#define TILE_HEIGHT 10
+#define YOFS 0
+#define NUM_SCORES 8
+
/* use 10x8 tiles (iFP 700) */
#elif (LCD_HEIGHT == 64) && (LCD_WIDTH == 128)
#define TILE_WIDTH 10
@@ -1480,7 +1488,8 @@ static int jewels_main(struct game_context* bj) {
rb->lcd_puts(0, 9, "SELECT to select");
rb->lcd_puts(0, 10, "Long SELECT to show menu");
rb->lcd_puts(0, 11, "POWER to cancel");
-#elif CONFIG_KEYPAD == SANSA_E200_PAD
+#elif CONFIG_KEYPAD == SANSA_E200_PAD \
+ || CONFIG_KEYPAD == SANSA_C200_PAD
rb->lcd_puts(0, 2, "Swap pairs of jewels to");
rb->lcd_puts(0, 3, "form connected segments");
rb->lcd_puts(0, 4, "of three or more of the");
diff --git a/apps/plugins/jpeg.c b/apps/plugins/jpeg.c
index 2c8942f8bc..09f7455f8b 100644
--- a/apps/plugins/jpeg.c
+++ b/apps/plugins/jpeg.c
@@ -142,6 +142,21 @@ PLUGIN_HEADER
#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)
diff --git a/apps/plugins/lib/pluginlib_actions.h b/apps/plugins/lib/pluginlib_actions.h
index c38745a4f1..7b2b0a42e2 100644
--- a/apps/plugins/lib/pluginlib_actions.h
+++ b/apps/plugins/lib/pluginlib_actions.h
@@ -94,7 +94,8 @@ static const struct button_mapping generic_directions[] =
|| (CONFIG_KEYPAD == GIGABEAT_PAD) \
|| (CONFIG_KEYPAD == RECORDER_PAD) \
|| (CONFIG_KEYPAD == ARCHOS_AV300_PAD) \
- || (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD)
+ || (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD) \
+ || (CONFIG_KEYPAD == SANSA_C200_PAD)
{ PLA_UP, BUTTON_UP, BUTTON_NONE},
{ PLA_DOWN, BUTTON_DOWN, BUTTON_NONE},
{ PLA_LEFT, BUTTON_LEFT, BUTTON_NONE},
@@ -142,6 +143,7 @@ static const struct button_mapping generic_directions[] =
{ 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},
+
#else
#error pluginlib_actions: Unsupported keypad
#endif
@@ -191,14 +193,15 @@ static const struct button_mapping generic_left_right_fire[] =
{ PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
{ PLA_FIRE, BUTTON_PLAY, BUTTON_NONE},
{ PLA_FIRE_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE},
-#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD
+#elif (CONFIG_KEYPAD == SANSA_C200_PAD) \
+ || (CONFIG_KEYPAD == ARCHOS_AV300_PAD)
{ PLA_LEFT, BUTTON_LEFT, BUTTON_NONE},
{ PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE},
{ PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
{ 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)
{ PLA_LEFT, BUTTON_LEFT, BUTTON_NONE},
{ PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE},
{ PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
@@ -285,6 +288,12 @@ static const struct button_mapping generic_actions[] =
{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},
diff --git a/apps/plugins/logo.c b/apps/plugins/logo.c
index 6a37e3602d..88821c8a78 100644
--- a/apps/plugins/logo.c
+++ b/apps/plugins/logo.c
@@ -210,7 +210,8 @@ const unsigned char rockbox16x7[] = {
#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
diff --git a/apps/plugins/mandelbrot.c b/apps/plugins/mandelbrot.c
index 48450ae455..b1f243b01c 100644
--- a/apps/plugins/mandelbrot.c
+++ b/apps/plugins/mandelbrot.c
@@ -132,6 +132,18 @@ PLUGIN_HEADER
#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
diff --git a/apps/plugins/maze.c b/apps/plugins/maze.c
index 2948eb2aec..8967f59132 100644
--- a/apps/plugins/maze.c
+++ b/apps/plugins/maze.c
@@ -89,6 +89,9 @@ const struct button_mapping *plugin_contexts[]
#if ( LCD_WIDTH == 112 )
#define MAZE_WIDTH 16
#define MAZE_HEIGHT 12
+#elif( LCD_WIDTH == 132 )
+#define MAZE_WIDTH 26
+#define MAZE_HEIGHT 16
#else
#define MAZE_WIDTH 32
#define MAZE_HEIGHT 24
diff --git a/apps/plugins/mazezam.c b/apps/plugins/mazezam.c
index 48c564ab8a..41edd3a5e5 100644
--- a/apps/plugins/mazezam.c
+++ b/apps/plugins/mazezam.c
@@ -116,7 +116,8 @@ MEM_FUNCTION_WRAPPERS(rb);
#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
diff --git a/apps/plugins/midiplay.c b/apps/plugins/midiplay.c
index 59594a97f7..f8a6929661 100644
--- a/apps/plugins/midiplay.c
+++ b/apps/plugins/midiplay.c
@@ -55,7 +55,8 @@ PLUGIN_IRAM_DECLARE
#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
diff --git a/apps/plugins/mosaique.c b/apps/plugins/mosaique.c
index bfcd53af66..45d2319101 100644
--- a/apps/plugins/mosaique.c
+++ b/apps/plugins/mosaique.c
@@ -91,7 +91,8 @@ PLUGIN_HEADER
#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
diff --git a/apps/plugins/mp3_encoder.c b/apps/plugins/mp3_encoder.c
index 55cfac3899..453c755f10 100644
--- a/apps/plugins/mp3_encoder.c
+++ b/apps/plugins/mp3_encoder.c
@@ -2343,7 +2343,8 @@ void get_mp3_filename(char *wav_name)
#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
diff --git a/apps/plugins/mpegplayer/mpegplayer.c b/apps/plugins/mpegplayer/mpegplayer.c
index 481454dc87..af0567c0d1 100644
--- a/apps/plugins/mpegplayer/mpegplayer.c
+++ b/apps/plugins/mpegplayer/mpegplayer.c
@@ -160,6 +160,13 @@ PLUGIN_IRAM_DECLARE
#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
diff --git a/apps/plugins/oscilloscope.c b/apps/plugins/oscilloscope.c
index bd16341008..ee4b089ac1 100644
--- a/apps/plugins/oscilloscope.c
+++ b/apps/plugins/oscilloscope.c
@@ -109,6 +109,17 @@ PLUGIN_HEADER
#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
diff --git a/apps/plugins/plasma.c b/apps/plugins/plasma.c
index 1fae239e53..76c54122e0 100644
--- a/apps/plugins/plasma.c
+++ b/apps/plugins/plasma.c
@@ -63,7 +63,8 @@ static int plasma_frequency;
#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 @@ static int plasma_frequency;
#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
diff --git a/apps/plugins/pong.c b/apps/plugins/pong.c
index b88b95bb91..79069b9285 100644
--- a/apps/plugins/pong.c
+++ b/apps/plugins/pong.c
@@ -100,7 +100,8 @@ PLUGIN_HEADER
#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
diff --git a/apps/plugins/reversi/reversi-gui.c b/apps/plugins/reversi/reversi-gui.c
index 374cc0f151..f99f616668 100644
--- a/apps/plugins/reversi/reversi-gui.c
+++ b/apps/plugins/reversi/reversi-gui.c
@@ -67,6 +67,14 @@ static struct plugin_api* rb;
#define CELL_HEIGHT 6
#define SMALL_BOARD
+#elif (LCD_HEIGHT==80) && (LCD_WIDTH==132)
+/* Sansa C200 - 132x80, 8 cells @ 9x9 with 9 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, 8 cells @ 10x10 with 9 border lines */
diff --git a/apps/plugins/reversi/reversi-gui.h b/apps/plugins/reversi/reversi-gui.h
index b82e40d275..5543ea8fd6 100644
--- a/apps/plugins/reversi/reversi-gui.h
+++ b/apps/plugins/reversi/reversi-gui.h
@@ -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
diff --git a/apps/plugins/rockblox.c b/apps/plugins/rockblox.c
index 8625e35cfb..0b3382ff19 100644
--- a/apps/plugins/rockblox.c
+++ b/apps/plugins/rockblox.c
@@ -121,6 +121,18 @@ PLUGIN_HEADER
#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_UP
+#define ROCKBLOX_ROTATE_RIGHT2 BUTTON_VOL_DOWN
+#define ROCKBLOX_ROTATE_LEFT BUTTON_VOL_UP
+#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
@@ -259,6 +271,19 @@ PLUGIN_HEADER
#define LEVEL_Y 49
#define LINES_Y 82
+#elif (LCD_WIDTH == 132) && (LCD_HEIGHT == 80)
+
+#define BLOCK_WIDTH 4
+#define BLOCK_HEIGHT 4
+#define BOARD_X 10
+#define BOARD_Y 0
+#define PREVIEW_X 89
+#define PREVIEW_Y 61
+#define LABEL_X 78
+#define SCORE_Y 10
+#define LEVEL_Y 30
+#define LINES_Y 50
+
#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 64)
#define BLOCK_WIDTH 3
diff --git a/apps/plugins/rockpaint.c b/apps/plugins/rockpaint.c
index 3038a06bee..41519f66e1 100644
--- a/apps/plugins/rockpaint.c
+++ b/apps/plugins/rockpaint.c
@@ -82,7 +82,8 @@ PLUGIN_HEADER
#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 )
diff --git a/apps/plugins/sliding_puzzle.c b/apps/plugins/sliding_puzzle.c
index b819f354cc..17a96baf2a 100644
--- a/apps/plugins/sliding_puzzle.c
+++ b/apps/plugins/sliding_puzzle.c
@@ -77,7 +77,8 @@ PLUGIN_HEADER
#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
diff --git a/apps/plugins/snake.c b/apps/plugins/snake.c
index eeca6bd547..2beeaa4c5b 100644
--- a/apps/plugins/snake.c
+++ b/apps/plugins/snake.c
@@ -83,7 +83,8 @@ PLUGIN_HEADER
#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
diff --git a/apps/plugins/snake2.c b/apps/plugins/snake2.c
index 385af159e4..1d13b0523b 100644
--- a/apps/plugins/snake2.c
+++ b/apps/plugins/snake2.c
@@ -232,7 +232,8 @@ PLUGIN_HEADER
#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
diff --git a/apps/plugins/snow.c b/apps/plugins/snow.c
index c815471e11..6078f87708 100644
--- a/apps/plugins/snow.c
+++ b/apps/plugins/snow.c
@@ -46,7 +46,8 @@ PLUGIN_HEADER
#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
diff --git a/apps/plugins/solitaire.c b/apps/plugins/solitaire.c
index 05ff25b721..ae1294cbc5 100644
--- a/apps/plugins/solitaire.c
+++ b/apps/plugins/solitaire.c
@@ -213,6 +213,25 @@ static struct plugin_api* rb;
# 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_LEFT
+# define SOL_RIGHT BUTTON_RIGHT
+# define SOL_MOVE_PRE BUTTON_SELECT
+# define SOL_MOVE (BUTTON_SELECT | BUTTON_REL)
+# define SOL_DRAW BUTTON_VOL_DOWN
+# define SOL_REM2CUR BUTTON_REC
+# define SOL_CUR2STACK_PRE BUTTON_SELECT
+# define SOL_CUR2STACK (BUTTON_SELECT | BUTTON_REPEAT)
+# define SOL_REM2STACK BUTTON_VOL_UP
+# 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
diff --git a/apps/plugins/spacerocks.c b/apps/plugins/spacerocks.c
index 1278a611ce..d98041da39 100644
--- a/apps/plugins/spacerocks.c
+++ b/apps/plugins/spacerocks.c
@@ -135,6 +135,19 @@ static struct plugin_api* rb; /* global api struct pointer */
#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_LEFT
+#define AST_LEFT_REP (BUTTON_LEFT | BUTTON_REPEAT)
+#define AST_RIGHT BUTTON_RIGHT
+#define AST_RIGHT_REP (BUTTON_RIGHT | 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
diff --git a/apps/plugins/star.c b/apps/plugins/star.c
index c9d31a6c9a..1c2501d6a4 100644
--- a/apps/plugins/star.c
+++ b/apps/plugins/star.c
@@ -144,7 +144,8 @@ PLUGIN_HEADER
#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
diff --git a/apps/plugins/starfield.c b/apps/plugins/starfield.c
index 278d24fbc7..333fd32fcd 100644
--- a/apps/plugins/starfield.c
+++ b/apps/plugins/starfield.c
@@ -57,7 +57,8 @@ static struct plugin_api* rb; /* global api struct pointer */
#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
diff --git a/apps/plugins/stats.c b/apps/plugins/stats.c
index a33331a429..03dc9fa038 100644
--- a/apps/plugins/stats.c
+++ b/apps/plugins/stats.c
@@ -53,7 +53,8 @@ static bool abort;
#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
diff --git a/apps/plugins/stopwatch.c b/apps/plugins/stopwatch.c
index 6f18617d2d..d36a774447 100644
--- a/apps/plugins/stopwatch.c
+++ b/apps/plugins/stopwatch.c
@@ -100,10 +100,11 @@ PLUGIN_HEADER
#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
+#define STOPWATCH_START_STOP BUTTON_RIGHT
+#define STOPWATCH_RESET_TIMER BUTTON_LEFT
#define STOPWATCH_LAP_TIMER BUTTON_SELECT
#define STOPWATCH_SCROLL_UP BUTTON_UP
#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN
diff --git a/apps/plugins/sudoku/sudoku.c b/apps/plugins/sudoku/sudoku.c
index 9485f2de23..1d548ace6d 100644
--- a/apps/plugins/sudoku/sudoku.c
+++ b/apps/plugins/sudoku/sudoku.c
@@ -108,6 +108,14 @@ static const char default_game[9][9] =
#define CELL_HEIGHT 6
#define SMALL_BOARD
+#elif ((LCD_HEIGHT==80) && (LCD_WIDTH==132))
+/* C200, 9 cells @ 8x8 with 8 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 */
diff --git a/apps/plugins/sudoku/sudoku.h b/apps/plugins/sudoku/sudoku.h
index d41c0b879d..f888bd7090 100644
--- a/apps/plugins/sudoku/sudoku.h
+++ b/apps/plugins/sudoku/sudoku.h
@@ -122,6 +122,20 @@
#define SUDOKU_BUTTON_MENU BUTTON_SELECT
#define SUDOKU_BUTTON_POSSIBLE BUTTON_REC
+#elif (CONFIG_KEYPAD == SANSA_C200_PAD)
+#define SUDOKU_BUTTON_QUIT_PRE BUTTON_POWER
+#define SUDOKU_BUTTON_QUIT (BUTTON_POWER | BUTTON_REPEAT)
+#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_ALTTOGGLE BUTTON_SELECT
+#define SUDOKU_BUTTON_MENU_PRE BUTTON_POWER
+#define SUDOKU_BUTTON_MENU (BUTTON_POWER | BUTTON_REL)
+#define SUDOKU_BUTTON_POSSIBLE BUTTON_REC
+
#elif
#error SUDOKU: Unsupported keypad
#endif
diff --git a/apps/plugins/viewer.c b/apps/plugins/viewer.c
index 055ace08c5..7f87b7caa2 100644
--- a/apps/plugins/viewer.c
+++ b/apps/plugins/viewer.c
@@ -184,6 +184,18 @@ PLUGIN_HEADER
#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
diff --git a/apps/plugins/vu_meter.c b/apps/plugins/vu_meter.c
index f054a5946e..9175e1d4d3 100644
--- a/apps/plugins/vu_meter.c
+++ b/apps/plugins/vu_meter.c
@@ -94,6 +94,15 @@ PLUGIN_HEADER
#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
diff --git a/apps/plugins/wormlet.c b/apps/plugins/wormlet.c
index 1c78f33ad0..c05918e9b4 100644
--- a/apps/plugins/wormlet.c
+++ b/apps/plugins/wormlet.c
@@ -148,7 +148,8 @@ PLUGIN_HEADER
#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 @@ PLUGIN_HEADER
#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
diff --git a/apps/plugins/xobox.c b/apps/plugins/xobox.c
index c91e20aedd..f51e98ecff 100644
--- a/apps/plugins/xobox.c
+++ b/apps/plugins/xobox.c
@@ -74,7 +74,8 @@ PLUGIN_HEADER
#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
diff --git a/apps/plugins/zxbox/keymaps.h b/apps/plugins/zxbox/keymaps.h
index 603869d454..6af84719ff 100644
--- a/apps/plugins/zxbox/keymaps.h
+++ b/apps/plugins/zxbox/keymaps.h
@@ -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
diff --git a/apps/plugins/zxbox/zxbox_keyb.c b/apps/plugins/zxbox/zxbox_keyb.c
index 5bea491a51..2b1d171c11 100644
--- a/apps/plugins/zxbox/zxbox_keyb.c
+++ b/apps/plugins/zxbox/zxbox_keyb.c
@@ -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 */
diff --git a/docs/CREDITS b/docs/CREDITS
index 9edfa7ffcc..edbea3515f 100644
--- a/docs/CREDITS
+++ b/docs/CREDITS
@@ -331,6 +331,8 @@ Sofian Babai
Costas Calamvokis
Catalin Patulea
Peter Harley
+Max Kelley
+
The libmad team
The wavpack team
The ffmpeg team
diff --git a/tools/configure b/tools/configure
index a928e3060c..63e5512c01 100755
--- a/tools/configure
+++ b/tools/configure
@@ -1349,7 +1349,7 @@ EOF
appextra="recorder:gui"
archosrom=""
flash=""
- plugins=""
+ plugins="yes"
swcodec="yes"
boottool="$rootdir/tools/scramble -mi4v3 -model=c200 -type=RBBL"
bootoutput="firmware.mi4"