summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/plugins/pegbox.c207
-rw-r--r--manual/plugins/images/ss-pegbox-132x80x16.pngbin3906 -> 590 bytes
-rw-r--r--manual/plugins/images/ss-pegbox-240x320x16.pngbin0 -> 7465 bytes
-rw-r--r--manual/plugins/images/ss-pegbox-320x240x16.pngbin0 -> 10584 bytes
-rw-r--r--manual/plugins/pegbox.tex75
5 files changed, 146 insertions, 136 deletions
diff --git a/apps/plugins/pegbox.c b/apps/plugins/pegbox.c
index a0526726b5..6a2feb1bf3 100644
--- a/apps/plugins/pegbox.c
+++ b/apps/plugins/pegbox.c
@@ -51,10 +51,9 @@ PLUGIN_HEADER
51#define PLAYER 7 51#define PLAYER 7
52 52
53#if CONFIG_KEYPAD == RECORDER_PAD 53#if CONFIG_KEYPAD == RECORDER_PAD
54#define PEGBOX_SELECT BUTTON_ON 54#define PEGBOX_SAVE BUTTON_ON
55#define PEGBOX_QUIT BUTTON_OFF 55#define PEGBOX_QUIT BUTTON_OFF
56#define PEGBOX_SAVE BUTTON_F2 56#define PEGBOX_RESTART BUTTON_F2
57#define PEGBOX_RESTART BUTTON_ON
58#define PEGBOX_LVL_UP BUTTON_F1 57#define PEGBOX_LVL_UP BUTTON_F1
59#define PEGBOX_LVL_DOWN BUTTON_F3 58#define PEGBOX_LVL_DOWN BUTTON_F3
60#define PEGBOX_UP BUTTON_UP 59#define PEGBOX_UP BUTTON_UP
@@ -62,90 +61,85 @@ PLUGIN_HEADER
62#define PEGBOX_RIGHT BUTTON_RIGHT 61#define PEGBOX_RIGHT BUTTON_RIGHT
63#define PEGBOX_LEFT BUTTON_LEFT 62#define PEGBOX_LEFT BUTTON_LEFT
64 63
65#define RESTART_TEXT "ON" 64#define SAVE_TEXT "ON"
65#define QUIT_TEXT "OFF"
66#define RESTART_TEXT "F2"
66#define LVL_UP_TEXT "F1" 67#define LVL_UP_TEXT "F1"
67#define LVL_DOWN_TEXT "F3" 68#define LVL_DOWN_TEXT "F3"
68#define SAVE_TEXT "F2"
69#define QUIT_TEXT "OFF"
70 69
71#elif CONFIG_KEYPAD == ONDIO_PAD 70#elif CONFIG_KEYPAD == ONDIO_PAD
72#define PEGBOX_SELECT BUTTON_MENU 71#define PEGBOX_SAVE BUTTON_OFF
73#define PEGBOX_QUIT BUTTON_OFF 72#define PEGBOX_QUIT (BUTTON_MENU | BUTTON_LEFT)
74#define PEGBOX_SAVE (BUTTON_MENU | BUTTON_UP) 73#define PEGBOX_RESTART (BUTTON_MENU | BUTTON_RIGHT)
75#define PEGBOX_RESTART (BUTTON_MENU | BUTTON_DOWN) 74#define PEGBOX_LVL_UP (BUTTON_MENU | BUTTON_UP)
76#define PEGBOX_LVL_UP (BUTTON_MENU | BUTTON_LEFT) 75#define PEGBOX_LVL_DOWN (BUTTON_MENU | BUTTON_DOWN)
77#define PEGBOX_LVL_DOWN (BUTTON_MENU | BUTTON_RIGHT)
78#define PEGBOX_UP BUTTON_UP 76#define PEGBOX_UP BUTTON_UP
79#define PEGBOX_DOWN BUTTON_DOWN 77#define PEGBOX_DOWN BUTTON_DOWN
80#define PEGBOX_RIGHT BUTTON_RIGHT 78#define PEGBOX_RIGHT BUTTON_RIGHT
81#define PEGBOX_LEFT BUTTON_LEFT 79#define PEGBOX_LEFT BUTTON_LEFT
82 80
83#define RESTART_TEXT "M+DOWN" 81#define SAVE_TEXT "OFF"
84#define LVL_UP_TEXT "M+RIGHT" 82#define QUIT_TEXT "M+LEFT"
85#define LVL_DOWN_TEXT "M+LEFT" 83#define RESTART_TEXT "M+RIGHT"
86#define SAVE_TEXT "M+UP" 84#define LVL_UP_TEXT "M+UP"
87#define QUIT_TEXT "OFF" 85#define LVL_DOWN_TEXT "M+DOWN"
88 86
89#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ 87#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
90 (CONFIG_KEYPAD == IRIVER_H300_PAD) 88 (CONFIG_KEYPAD == IRIVER_H300_PAD)
91#define PEGBOX_SELECT BUTTON_SELECT 89#define PEGBOX_SAVE BUTTON_SELECT
92#define PEGBOX_QUIT BUTTON_OFF 90#define PEGBOX_QUIT BUTTON_OFF
93#define PEGBOX_SAVE BUTTON_MODE 91#define PEGBOX_RESTART BUTTON_ON
94#define PEGBOX_RESTART BUTTON_SELECT 92#define PEGBOX_LVL_UP BUTTON_MODE
95#define PEGBOX_LVL_UP BUTTON_ON
96#define PEGBOX_LVL_DOWN BUTTON_REC 93#define PEGBOX_LVL_DOWN BUTTON_REC
97#define PEGBOX_UP BUTTON_UP 94#define PEGBOX_UP BUTTON_UP
98#define PEGBOX_DOWN BUTTON_DOWN 95#define PEGBOX_DOWN BUTTON_DOWN
99#define PEGBOX_RIGHT BUTTON_RIGHT 96#define PEGBOX_RIGHT BUTTON_RIGHT
100#define PEGBOX_LEFT BUTTON_LEFT 97#define PEGBOX_LEFT BUTTON_LEFT
101 98
102#define RESTART_TEXT "NAVI" 99#define SAVE_TEXT "NAVI"
103#define LVL_UP_TEXT "PLAY"
104#define LVL_DOWN_TEXT "REC"
105#define SAVE_TEXT "AB"
106#define QUIT_TEXT "OFF" 100#define QUIT_TEXT "OFF"
101#define RESTART_TEXT "ON"
102#define LVL_UP_TEXT "AB"
103#define LVL_DOWN_TEXT "REC"
107 104
108#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 105#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
109 (CONFIG_KEYPAD == IPOD_3G_PAD) || \ 106 (CONFIG_KEYPAD == IPOD_3G_PAD) || \
110 (CONFIG_KEYPAD == IPOD_1G2G_PAD) 107 (CONFIG_KEYPAD == IPOD_1G2G_PAD)
111#define PEGBOX_SELECT (BUTTON_SELECT|BUTTON_REL)
112#define PEGBOX_QUIT (BUTTON_SELECT|BUTTON_MENU)
113#define PEGBOX_SAVE (BUTTON_SELECT|BUTTON_RIGHT) 108#define PEGBOX_SAVE (BUTTON_SELECT|BUTTON_RIGHT)
109#define PEGBOX_QUIT (BUTTON_SELECT|BUTTON_PLAY)
114#define PEGBOX_RESTART (BUTTON_SELECT|BUTTON_LEFT) 110#define PEGBOX_RESTART (BUTTON_SELECT|BUTTON_LEFT)
115#define PEGBOX_LVL_UP BUTTON_SCROLL_BACK 111#define PEGBOX_LVL_UP (BUTTON_SELECT|BUTTON_MENU)
116#define PEGBOX_LVL_DOWN BUTTON_SCROLL_FWD
117#define PEGBOX_UP BUTTON_MENU 112#define PEGBOX_UP BUTTON_MENU
118#define PEGBOX_DOWN BUTTON_PLAY 113#define PEGBOX_DOWN BUTTON_PLAY
119#define PEGBOX_RIGHT BUTTON_RIGHT 114#define PEGBOX_RIGHT BUTTON_RIGHT
120#define PEGBOX_LEFT BUTTON_LEFT 115#define PEGBOX_LEFT BUTTON_LEFT
121 116
122#define RESTART_TEXT "SELECT+LEFT"
123#define LVL_UP_TEXT "SCROLL BACK"
124#define LVL_DOWN_TEXT "SCROLL FWD"
125#define SAVE_TEXT "SELECT+RIGHT" 117#define SAVE_TEXT "SELECT+RIGHT"
126#define QUIT_TEXT "SELECT+MENU" 118#define QUIT_TEXT "SELECT+PLAY"
119#define RESTART_TEXT "SELECT+LEFT"
120#define LVL_UP_TEXT "SELECT+MENU"
121#define LVL_DOWN_TEXT "-"
127 122
128#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD 123#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD
129#define PEGBOX_SELECT BUTTON_SELECT 124#define PEGBOX_SAVE BUTTON_SELECT
130#define PEGBOX_QUIT BUTTON_POWER 125#define PEGBOX_QUIT BUTTON_POWER
131#define PEGBOX_SAVE BUTTON_PLAY
132#define PEGBOX_RESTART BUTTON_REC 126#define PEGBOX_RESTART BUTTON_REC
127#define PEGBOX_LVL_UP BUTTON_PLAY
133#define PEGBOX_UP BUTTON_UP 128#define PEGBOX_UP BUTTON_UP
134#define PEGBOX_DOWN BUTTON_DOWN 129#define PEGBOX_DOWN BUTTON_DOWN
135#define PEGBOX_RIGHT BUTTON_RIGHT 130#define PEGBOX_RIGHT BUTTON_RIGHT
136#define PEGBOX_LEFT BUTTON_LEFT 131#define PEGBOX_LEFT BUTTON_LEFT
137 132
133#define SAVE_TEXT "SELECT"
134#define QUIT_TEXT "OFF"
138#define RESTART_TEXT "REC" 135#define RESTART_TEXT "REC"
139#define LVL_UP_TEXT "-" 136#define LVL_UP_TEXT "PLAY"
140#define LVL_DOWN_TEXT "-" 137#define LVL_DOWN_TEXT "-"
141#define SAVE_TEXT "PLAY"
142#define QUIT_TEXT "OFF"
143 138
144#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD 139#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
145#define PEGBOX_SELECT BUTTON_MODE 140#define PEGBOX_SAVE BUTTON_MODE
146#define PEGBOX_QUIT BUTTON_PLAY 141#define PEGBOX_QUIT BUTTON_PLAY
147#define PEGBOX_SAVE (BUTTON_EQ|BUTTON_MODE) 142#define PEGBOX_RESTART (BUTTON_EQ|BUTTON_MODE)
148#define PEGBOX_RESTART BUTTON_MODE
149#define PEGBOX_LVL_UP (BUTTON_EQ|BUTTON_UP) 143#define PEGBOX_LVL_UP (BUTTON_EQ|BUTTON_UP)
150#define PEGBOX_LVL_DOWN (BUTTON_EQ|BUTTON_DOWN) 144#define PEGBOX_LVL_DOWN (BUTTON_EQ|BUTTON_DOWN)
151#define PEGBOX_UP BUTTON_UP 145#define PEGBOX_UP BUTTON_UP
@@ -153,16 +147,15 @@ PLUGIN_HEADER
153#define PEGBOX_RIGHT BUTTON_RIGHT 147#define PEGBOX_RIGHT BUTTON_RIGHT
154#define PEGBOX_LEFT BUTTON_LEFT 148#define PEGBOX_LEFT BUTTON_LEFT
155 149
156#define RESTART_TEXT "MODE" 150#define SAVE_TEXT "MODE"
151#define QUIT_TEXT "PLAY"
152#define RESTART_TEXT "EQ+MODE"
157#define LVL_UP_TEXT "EQ+UP" 153#define LVL_UP_TEXT "EQ+UP"
158#define LVL_DOWN_TEXT "EQ+DOWN" 154#define LVL_DOWN_TEXT "EQ+DOWN"
159#define SAVE_TEXT "EQ+MODE"
160#define QUIT_TEXT "PLAY"
161 155
162#elif CONFIG_KEYPAD == IRIVER_H10_PAD 156#elif CONFIG_KEYPAD == IRIVER_H10_PAD
163#define PEGBOX_SELECT BUTTON_PLAY 157#define PEGBOX_SAVE BUTTON_PLAY
164#define PEGBOX_QUIT BUTTON_POWER 158#define PEGBOX_QUIT BUTTON_POWER
165#define PEGBOX_SAVE BUTTON_FF
166#define PEGBOX_RESTART (BUTTON_FF|BUTTON_REPEAT) 159#define PEGBOX_RESTART (BUTTON_FF|BUTTON_REPEAT)
167#define PEGBOX_LVL_UP (BUTTON_FF|BUTTON_SCROLL_UP) 160#define PEGBOX_LVL_UP (BUTTON_FF|BUTTON_SCROLL_UP)
168#define PEGBOX_LVL_DOWN (BUTTON_FF|BUTTON_SCROLL_DOWN) 161#define PEGBOX_LVL_DOWN (BUTTON_FF|BUTTON_SCROLL_DOWN)
@@ -171,17 +164,16 @@ PLUGIN_HEADER
171#define PEGBOX_RIGHT BUTTON_RIGHT 164#define PEGBOX_RIGHT BUTTON_RIGHT
172#define PEGBOX_LEFT BUTTON_LEFT 165#define PEGBOX_LEFT BUTTON_LEFT
173 166
167#define SAVE_TEXT "PLAY"
168#define QUIT_TEXT "OFF"
174#define RESTART_TEXT "LONG FF" 169#define RESTART_TEXT "LONG FF"
175#define LVL_UP_TEXT "FF+SCROLL_UP" 170#define LVL_UP_TEXT "FF+SCROLL_UP"
176#define LVL_DOWN_TEXT "FF+SCROLL_DOWN" 171#define LVL_DOWN_TEXT "FF+SCROLL_DOWN"
177#define SAVE_TEXT "FF"
178#define QUIT_TEXT "OFF"
179 172
180#elif CONFIG_KEYPAD == SANSA_E200_PAD 173#elif CONFIG_KEYPAD == SANSA_E200_PAD
181#define PEGBOX_SELECT BUTTON_SELECT 174#define PEGBOX_SAVE BUTTON_SELECT
182#define PEGBOX_QUIT BUTTON_POWER 175#define PEGBOX_QUIT BUTTON_POWER
183#define PEGBOX_SAVE BUTTON_REC 176#define PEGBOX_RESTART BUTTON_REC
184#define PEGBOX_RESTART BUTTON_SELECT
185#define PEGBOX_LVL_UP BUTTON_SCROLL_BACK 177#define PEGBOX_LVL_UP BUTTON_SCROLL_BACK
186#define PEGBOX_LVL_DOWN BUTTON_SCROLL_FWD 178#define PEGBOX_LVL_DOWN BUTTON_SCROLL_FWD
187#define PEGBOX_UP BUTTON_UP 179#define PEGBOX_UP BUTTON_UP
@@ -189,16 +181,15 @@ PLUGIN_HEADER
189#define PEGBOX_RIGHT BUTTON_RIGHT 181#define PEGBOX_RIGHT BUTTON_RIGHT
190#define PEGBOX_LEFT BUTTON_LEFT 182#define PEGBOX_LEFT BUTTON_LEFT
191 183
192#define RESTART_TEXT "SELECT" 184#define SAVE_TEXT "SELECT"
193#define LVL_UP_TEXT "SCROLL_UP"
194#define LVL_DOWN_TEXT "SCROLL_DOWN"
195#define SAVE_TEXT "REC"
196#define QUIT_TEXT "POWER" 185#define QUIT_TEXT "POWER"
186#define RESTART_TEXT "REC"
187#define LVL_UP_TEXT "SCROLL BACK"
188#define LVL_DOWN_TEXT "SCROLL FWD"
197 189
198#elif CONFIG_KEYPAD == GIGABEAT_PAD 190#elif CONFIG_KEYPAD == GIGABEAT_PAD
199#define PEGBOX_SELECT BUTTON_SELECT 191#define PEGBOX_SAVE BUTTON_SELECT
200#define PEGBOX_QUIT BUTTON_POWER 192#define PEGBOX_QUIT BUTTON_POWER
201#define PEGBOX_SAVE BUTTON_MENU
202#define PEGBOX_RESTART BUTTON_A 193#define PEGBOX_RESTART BUTTON_A
203#define PEGBOX_LVL_UP BUTTON_VOL_UP 194#define PEGBOX_LVL_UP BUTTON_VOL_UP
204#define PEGBOX_LVL_DOWN BUTTON_VOL_DOWN 195#define PEGBOX_LVL_DOWN BUTTON_VOL_DOWN
@@ -207,35 +198,33 @@ PLUGIN_HEADER
207#define PEGBOX_RIGHT BUTTON_RIGHT 198#define PEGBOX_RIGHT BUTTON_RIGHT
208#define PEGBOX_LEFT BUTTON_LEFT 199#define PEGBOX_LEFT BUTTON_LEFT
209 200
210#define RESTART_TEXT "POWER" 201#define SAVE_TEXT "SELECT"
202#define QUIT_TEXT "POWER"
203#define RESTART_TEXT "A"
211#define LVL_UP_TEXT "VOL+" 204#define LVL_UP_TEXT "VOL+"
212#define LVL_DOWN_TEXT "VOL-" 205#define LVL_DOWN_TEXT "VOL-"
213#define SAVE_TEXT "MENU"
214#define QUIT_TEXT "A"
215 206
216#elif CONFIG_KEYPAD == MROBE100_PAD 207#elif CONFIG_KEYPAD == MROBE100_PAD
217#define PEGBOX_SELECT BUTTON_SELECT 208#define PEGBOX_SAVE BUTTON_SELECT
218#define PEGBOX_QUIT BUTTON_POWER 209#define PEGBOX_QUIT BUTTON_POWER
219#define PEGBOX_SAVE BUTTON_MENU
220#define PEGBOX_RESTART BUTTON_PLAY 210#define PEGBOX_RESTART BUTTON_PLAY
221#define PEGBOX_LVL_UP (BUTTON_DISPLAY | BUTTON_REL) 211#define PEGBOX_LVL_UP BUTTON_MENU
222#define PEGBOX_LVL_DOWN (BUTTON_DISPLAY | BUTTON_REPEAT) 212#define PEGBOX_LVL_DOWN BUTTON_DISPLAY
223#define PEGBOX_UP BUTTON_UP 213#define PEGBOX_UP BUTTON_UP
224#define PEGBOX_DOWN BUTTON_DOWN 214#define PEGBOX_DOWN BUTTON_DOWN
225#define PEGBOX_RIGHT BUTTON_RIGHT 215#define PEGBOX_RIGHT BUTTON_RIGHT
226#define PEGBOX_LEFT BUTTON_LEFT 216#define PEGBOX_LEFT BUTTON_LEFT
227 217
228#define RESTART_TEXT "PLAY" 218#define SAVE_TEXT "SELECT"
229#define LVL_UP_TEXT "DISPLAY+UP"
230#define LVL_DOWN_TEXT "DISPLAY+DOWN"
231#define SAVE_TEXT "MENU"
232#define QUIT_TEXT "POWER" 219#define QUIT_TEXT "POWER"
220#define RESTART_TEXT "PLAY"
221#define LVL_UP_TEXT "MENU"
222#define LVL_DOWN_TEXT "DISPLAY"
233 223
234#elif CONFIG_KEYPAD == SANSA_C200_PAD 224#elif CONFIG_KEYPAD == SANSA_C200_PAD
235#define PEGBOX_SELECT BUTTON_SELECT 225#define PEGBOX_SAVE BUTTON_SELECT
236#define PEGBOX_QUIT BUTTON_POWER 226#define PEGBOX_QUIT BUTTON_POWER
237#define PEGBOX_SAVE (BUTTON_REC | BUTTON_SELECT) 227#define PEGBOX_RESTART BUTTON_REC
238#define PEGBOX_RESTART (BUTTON_REC | BUTTON_REL)
239#define PEGBOX_LVL_UP BUTTON_VOL_UP 228#define PEGBOX_LVL_UP BUTTON_VOL_UP
240#define PEGBOX_LVL_DOWN BUTTON_VOL_DOWN 229#define PEGBOX_LVL_DOWN BUTTON_VOL_DOWN
241#define PEGBOX_UP BUTTON_UP 230#define PEGBOX_UP BUTTON_UP
@@ -243,16 +232,15 @@ PLUGIN_HEADER
243#define PEGBOX_RIGHT BUTTON_RIGHT 232#define PEGBOX_RIGHT BUTTON_RIGHT
244#define PEGBOX_LEFT BUTTON_LEFT 233#define PEGBOX_LEFT BUTTON_LEFT
245 234
235#define SAVE_TEXT "SELECT"
236#define QUIT_TEXT "POWER"
246#define RESTART_TEXT "REC" 237#define RESTART_TEXT "REC"
247#define LVL_UP_TEXT "VOL+" 238#define LVL_UP_TEXT "VOL+"
248#define LVL_DOWN_TEXT "VOL-" 239#define LVL_DOWN_TEXT "VOL-"
249#define SAVE_TEXT "REC+SELECT"
250#define QUIT_TEXT "POWER"
251 240
252#elif CONFIG_KEYPAD == IAUDIO_M3_PAD 241#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
253#define PEGBOX_SELECT BUTTON_RC_PLAY 242#define PEGBOX_SAVE BUTTON_RC_PLAY
254#define PEGBOX_QUIT BUTTON_RC_REC 243#define PEGBOX_QUIT BUTTON_RC_REC
255#define PEGBOX_SAVE BUTTON_RC_MENU
256#define PEGBOX_RESTART BUTTON_RC_MODE 244#define PEGBOX_RESTART BUTTON_RC_MODE
257#define PEGBOX_LVL_UP BUTTON_VOL_UP 245#define PEGBOX_LVL_UP BUTTON_VOL_UP
258#define PEGBOX_LVL_DOWN BUTTON_VOL_DOWN 246#define PEGBOX_LVL_DOWN BUTTON_VOL_DOWN
@@ -261,28 +249,28 @@ PLUGIN_HEADER
261#define PEGBOX_RIGHT BUTTON_RC_FF 249#define PEGBOX_RIGHT BUTTON_RC_FF
262#define PEGBOX_LEFT BUTTON_RC_REW 250#define PEGBOX_LEFT BUTTON_RC_REW
263 251
252#define SAVE_TEXT "REM. PLAY"
253#define QUIT_TEXT "REM. REC"
264#define RESTART_TEXT "REM. MODE" 254#define RESTART_TEXT "REM. MODE"
265#define LVL_UP_TEXT "VOL+" 255#define LVL_UP_TEXT "VOL+"
266#define LVL_DOWN_TEXT "VOL-" 256#define LVL_DOWN_TEXT "VOL-"
267#define SAVE_TEXT "REM. PLAY"
268#define QUIT_TEXT "REM. REC"
269 257
270#elif CONFIG_KEYPAD == COWOND2_PAD 258#elif CONFIG_KEYPAD == COWOND2_PAD
271#define PEGBOX_SELECT BUTTON_SELECT 259#define PEGBOX_SAVE BUTTON_SELECT
272#define PEGBOX_QUIT BUTTON_POWER 260#define PEGBOX_QUIT BUTTON_POWER
273#define PEGBOX_SAVE BUTTON_MENU 261#define PEGBOX_RESTART BUTTON_MENU
274#define PEGBOX_RESTART BUTTON_MINUS
275#define PEGBOX_LVL_UP BUTTON_PLUS 262#define PEGBOX_LVL_UP BUTTON_PLUS
263#define PEGBOX_LVL_DOWN BUTTON_MINUS
276#define PEGBOX_UP BUTTON_UP 264#define PEGBOX_UP BUTTON_UP
277#define PEGBOX_DOWN BUTTON_DOWN 265#define PEGBOX_DOWN BUTTON_DOWN
278#define PEGBOX_RIGHT BUTTON_RIGHT 266#define PEGBOX_RIGHT BUTTON_RIGHT
279#define PEGBOX_LEFT BUTTON_LEFT 267#define PEGBOX_LEFT BUTTON_LEFT
280 268
281#define RESTART_TEXT "MINUS" 269#define SAVE_TEXT "SELECT"
282#define LVL_UP_TEXT "PLUS"
283#define LVL_DOWN_TEXT "-"
284#define SAVE_TEXT "MENU"
285#define QUIT_TEXT "POWER" 270#define QUIT_TEXT "POWER"
271#define RESTART_TEXT "MENU"
272#define LVL_UP_TEXT "PLUS"
273#define LVL_DOWN_TEXT "MINUS"
286#endif 274#endif
287 275
288#if (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240) 276#if (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240)
@@ -618,6 +606,15 @@ static void draw_board(struct game_context* pb) {
618 606
619#else 607#else
620 rb->lcd_clear_display(); 608 rb->lcd_clear_display();
609
610#ifdef HAVE_LCD_COLOR
611 rb->lcd_set_foreground(LCD_WHITE);
612 rb->lcd_fillrect((LCD_WIDTH-12*BMPWIDTH_pegbox_pieces)/2-1,0,
613 12*BMPWIDTH_pegbox_pieces+2,8*BMPWIDTH_pegbox_pieces+1);
614 rb->lcd_set_foreground(LCD_BLACK);
615 rb->lcd_set_background(TEXT_BG);
616#endif
617
621#endif 618#endif
622 619
623 for (r=0 ; r < ROWS ; r++) { 620 for (r=0 ; r < ROWS ; r++) {
@@ -708,7 +705,7 @@ static void new_piece(struct game_context* pb, unsigned int x_loc,
708 else 705 else
709 pb->playboard[x_loc][y_loc] = CIRCLE; 706 pb->playboard[x_loc][y_loc] = CIRCLE;
710 break; 707 break;
711 case PEGBOX_SELECT: 708 case PEGBOX_SAVE:
712 exit = true; 709 exit = true;
713 break; 710 break;
714 } 711 }
@@ -1006,7 +1003,8 @@ static unsigned int pegbox_menu(struct game_context* pb) {
1006 button = rb->button_get(true); 1003 button = rb->button_get(true);
1007 1004
1008 switch(button) { 1005 switch(button) {
1009 case PEGBOX_SELECT: /* start playing */ 1006 case PEGBOX_SAVE: /* start playing */
1007 case PEGBOX_RIGHT:
1010 if (loc == 0) { 1008 if (loc == 0) {
1011 breakout = true; 1009 breakout = true;
1012 pb->level = startlevel; 1010 pb->level = startlevel;
@@ -1032,13 +1030,13 @@ static unsigned int pegbox_menu(struct game_context* pb) {
1032 RESTART_TEXT " to restart level\n" 1030 RESTART_TEXT " to restart level\n"
1033 LVL_UP_TEXT " to go up a level\n" 1031 LVL_UP_TEXT " to go up a level\n"
1034 LVL_DOWN_TEXT " to go down a level\n" 1032 LVL_DOWN_TEXT " to go down a level\n"
1035 SAVE_TEXT " to save\n" 1033 SAVE_TEXT " to select/save\n"
1036 QUIT_TEXT " to quit\n",true); 1034 QUIT_TEXT " to quit\n",true);
1037#else 1035#else
1038 RESTART_TEXT ": restart\n" 1036 RESTART_TEXT ": restart\n"
1039 LVL_UP_TEXT ": level up\n" 1037 LVL_UP_TEXT ": level up\n"
1040 LVL_DOWN_TEXT " level down\n" 1038 LVL_DOWN_TEXT " level down\n"
1041 SAVE_TEXT " save game\n" 1039 SAVE_TEXT " select/save\n"
1042 QUIT_TEXT " quit\n",true); 1040 QUIT_TEXT " quit\n",true);
1043#endif 1041#endif
1044 else if (loc == 3) 1042 else if (loc == 3)
@@ -1071,8 +1069,8 @@ static unsigned int pegbox_menu(struct game_context* pb) {
1071 } 1069 }
1072 break; 1070 break;
1073 1071
1074 case (PEGBOX_RIGHT|BUTTON_REPEAT): 1072 case (PEGBOX_LVL_UP|BUTTON_REPEAT):
1075 case PEGBOX_RIGHT: /* increase starting level */ 1073 case PEGBOX_LVL_UP: /* increase starting level */
1076 if(startlevel >= pb->highlevel) { 1074 if(startlevel >= pb->highlevel) {
1077 startlevel = 1; 1075 startlevel = 1;
1078 } else { 1076 } else {
@@ -1080,15 +1078,17 @@ static unsigned int pegbox_menu(struct game_context* pb) {
1080 } 1078 }
1081 break; 1079 break;
1082 1080
1083 case (PEGBOX_LEFT|BUTTON_REPEAT): 1081/* only for targets with enough buttons */
1084 case PEGBOX_LEFT: /* decrease starting level */ 1082#ifdef PEGBOX_LVL_DOWN
1083 case (PEGBOX_LVL_DOWN|BUTTON_REPEAT):
1084 case PEGBOX_LVL_DOWN: /* decrease starting level */
1085 if(startlevel <= 1) { 1085 if(startlevel <= 1) {
1086 startlevel = pb->highlevel; 1086 startlevel = pb->highlevel;
1087 } else { 1087 } else {
1088 startlevel--; 1088 startlevel--;
1089 } 1089 }
1090 break; 1090 break;
1091 1091#endif
1092 default: 1092 default:
1093 if(rb->default_event_handler_ex(button, pegbox_callback, 1093 if(rb->default_event_handler_ex(button, pegbox_callback,
1094 (void*) pb) == SYS_USB_CONNECTED) 1094 (void*) pb) == SYS_USB_CONNECTED)
@@ -1151,23 +1151,28 @@ static int pegbox(struct game_context* pb) {
1151 draw_board(pb); 1151 draw_board(pb);
1152 break; 1152 break;
1153 1153
1154#ifdef PEGBOX_LVL_UP 1154 case (PEGBOX_LVL_UP|BUTTON_REPEAT):
1155 case PEGBOX_LVL_UP: 1155 case PEGBOX_LVL_UP:
1156 if(pb->level < pb->highlevel) { 1156 if(pb->level >= pb->highlevel) {
1157 pb->level = 1;
1158 } else {
1157 pb->level++; 1159 pb->level++;
1158 load_level(pb);
1159 draw_board(pb);
1160 } 1160 }
1161 load_level(pb);
1162 draw_board(pb);
1161 break; 1163 break;
1162#endif
1163 1164
1165/* only for targets with enough buttons */
1164#ifdef PEGBOX_LVL_DOWN 1166#ifdef PEGBOX_LVL_DOWN
1167 case (PEGBOX_LVL_DOWN|BUTTON_REPEAT):
1165 case PEGBOX_LVL_DOWN: 1168 case PEGBOX_LVL_DOWN:
1166 if(pb->level > 1) { 1169 if(pb->level <= 1) {
1170 pb->level = pb->highlevel;
1171 } else {
1167 pb->level--; 1172 pb->level--;
1168 load_level(pb);
1169 draw_board(pb);
1170 } 1173 }
1174 load_level(pb);
1175 draw_board(pb);
1171 break; 1176 break;
1172#endif 1177#endif
1173 1178
diff --git a/manual/plugins/images/ss-pegbox-132x80x16.png b/manual/plugins/images/ss-pegbox-132x80x16.png
index 69e0340dd7..affe7fd704 100644
--- a/manual/plugins/images/ss-pegbox-132x80x16.png
+++ b/manual/plugins/images/ss-pegbox-132x80x16.png
Binary files differ
diff --git a/manual/plugins/images/ss-pegbox-240x320x16.png b/manual/plugins/images/ss-pegbox-240x320x16.png
new file mode 100644
index 0000000000..951c667477
--- /dev/null
+++ b/manual/plugins/images/ss-pegbox-240x320x16.png
Binary files differ
diff --git a/manual/plugins/images/ss-pegbox-320x240x16.png b/manual/plugins/images/ss-pegbox-320x240x16.png
new file mode 100644
index 0000000000..8c100e3716
--- /dev/null
+++ b/manual/plugins/images/ss-pegbox-320x240x16.png
Binary files differ
diff --git a/manual/plugins/pegbox.tex b/manual/plugins/pegbox.tex
index ab1cd3dcb8..eb1209c169 100644
--- a/manual/plugins/pegbox.tex
+++ b/manual/plugins/pegbox.tex
@@ -9,28 +9,45 @@ block and crosses which allow you to choose a replacement block.
9 \begin{btnmap}{}{} 9 \begin{btnmap}{}{}
10 \multicolumn{2}{c}{\textbf{In game}}\\\hline 10 \multicolumn{2}{c}{\textbf{In game}}\\\hline
11 11
12 \opt{RECORDER_PAD,ARCHOS_AV300_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD,GIGABEAT_PAD,MROBE100_PAD,SANSA_E200_PAD}{\ButtonUp, \ButtonDown, } 12 \opt{RECORDER_PAD}{\ButtonUp, \ButtonDown, }
13 \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu, \ButtonPlay, } 13 \opt{ONDIO_PAD}{\ButtonUp, \ButtonDown, }
14 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonUp, \ButtonDown, }
15 \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonMenu, \ButtonPlay, }
16 \opt{IAUDIO_X5_PAD}{\ButtonUp, \ButtonDown, }
14 \opt{IRIVER_H10_PAD}{\ButtonScrollUp, \ButtonScrollDown, } 17 \opt{IRIVER_H10_PAD}{\ButtonScrollUp, \ButtonScrollDown, }
15 \ButtonLeft, \ButtonRight 18 \opt{SANSA_E200_PAD}{\ButtonUp, \ButtonDown, }
19 \opt{GIGABEAT_PAD}{\ButtonUp, \ButtonDown, }
20 \opt{MROBE100_PAD}{\ButtonUp, \ButtonDown, }
21 \opt{SANSA_C200_PAD}{\ButtonUp, \ButtonDown, }
22
23 \opt{RECORDER_PAD}{\ButtonLeft, \ButtonRight}
24 \opt{ONDIO_PAD}{\ButtonLeft, \ButtonRight}
25 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonLeft, \ButtonRight}
26 \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonLeft, \ButtonRight}
27 \opt{IAUDIO_X5_PAD}{\ButtonLeft, \ButtonRight}
28 \opt{IRIVER_H10_PAD}{\ButtonLeft, \ButtonRight}
29 \opt{SANSA_E200_PAD}{\ButtonLeft, \ButtonRight}
30 \opt{GIGABEAT_PAD}{\ButtonLeft, \ButtonRight}
31 \opt{MROBE100_PAD}{\ButtonLeft, \ButtonRight}
32 \opt{SANSA_C200_PAD}{\ButtonLeft, \ButtonRight}
16 & to move around\\ 33 & to move around\\
17 34
18 \opt{RECORDER_PAD}{\ButtonOn} 35 \opt{RECORDER_PAD}{\ButtonOn}
19 \opt{ONDIO_PAD}{\ButtonMenu} 36 \opt{ONDIO_PAD}{\ButtonOff}
20 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonSelect} 37 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonSelect}
21 \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonSelect} 38 \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonSelect + \ButtonRight}
22 \opt{IAUDIO_X5_PAD}{\ButtonSelect} 39 \opt{IAUDIO_X5_PAD}{\ButtonSelect}
23 \opt{IRIVER_H10_PAD}{\ButtonPlay} 40 \opt{IRIVER_H10_PAD}{\ButtonPlay}
24 \opt{SANSA_E200_PAD}{\ButtonSelect} 41 \opt{SANSA_E200_PAD}{\ButtonSelect}
25 \opt{GIGABEAT_PAD}{\ButtonSelect} 42 \opt{GIGABEAT_PAD}{\ButtonSelect}
26 \opt{MROBE100_PAD}{\ButtonSelect} 43 \opt{MROBE100_PAD}{\ButtonSelect}
27 \opt{SANSA_C200_PAD}{\ButtonSelect} 44 \opt{SANSA_C200_PAD}{\ButtonSelect}
28 & to select\\ 45 & to select/save\\
29 46
30 \opt{RECORDER_PAD}{\ButtonOff} 47 \opt{RECORDER_PAD}{\ButtonOff}
31 \opt{ONDIO_PAD}{\ButtonOFF} 48 \opt{ONDIO_PAD}{\ButtonMenu + \ButtonOff}
32 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} 49 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOFF}
33 \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonSelect + \ButtonMenu} 50 \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonSelect + \ButtonPlay}
34 \opt{IAUDIO_X5_PAD}{\ButtonPower} 51 \opt{IAUDIO_X5_PAD}{\ButtonPower}
35 \opt{IRIVER_H10_PAD}{\ButtonPower} 52 \opt{IRIVER_H10_PAD}{\ButtonPower}
36 \opt{SANSA_E200_PAD}{\ButtonPower} 53 \opt{SANSA_E200_PAD}{\ButtonPower}
@@ -40,51 +57,39 @@ block and crosses which allow you to choose a replacement block.
40 & to quit\\ 57 & to quit\\
41 58
42 \opt{RECORDER_PAD}{\ButtonF2} 59 \opt{RECORDER_PAD}{\ButtonF2}
43 \opt{ONDIO_PAD}{\ButtonMenu + \ButtonUp} 60 \opt{ONDIO_PAD}{\ButtonMenu + \ButtonRight}
44 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonMode} 61 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn}
45 \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonSelect + \ButtonRight}
46 \opt{IAUDIO_X5_PAD}{\ButtonPlay + \ButtonRight}
47 \opt{IRIVER_H10_PAD}{\ButtonFf}
48 \opt{SANSA_E200_PAD}{\ButtonRec}
49 \opt{GIGABEAT_PAD}{\ButtonMenu}
50 \opt{MROBE100_PAD}{\ButtonMenu}
51 \opt{SANSA_C200_PAD}{\ButtonRec + \ButtonSelect}
52 & to save\\
53
54 \opt{RECORDER_PAD}{\ButtonOn}
55 \opt{ONDIO_PAD}{\ButtonMenu + \ButtonDown}
56 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonSelect}
57 \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonSelect + \ButtonLeft} 62 \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonSelect + \ButtonLeft}
58 \opt{IAUDIO_X5_PAD}{\ButtonPlay + \ButtonLeft} 63 \opt{IAUDIO_X5_PAD}{\ButtonRec}
59 \opt{IRIVER_H10_PAD}{long \ButtonFf} 64 \opt{IRIVER_H10_PAD}{long \ButtonFf}
60 \opt{SANSA_E200_PAD}{\ButtonSelect} 65 \opt{SANSA_E200_PAD}{\ButtonRec}
61 \opt{GIGABEAT_PAD}{\ButtonA} 66 \opt{GIGABEAT_PAD}{\ButtonA}
62 \opt{MROBE100_PAD}{\ButtonPlay} 67 \opt{MROBE100_PAD}{\ButtonPlay}
63 \opt{SANSA_C200_PAD}{\ButtonRec} 68 \opt{SANSA_C200_PAD}{\ButtonRec}
64 & to restart level\\ 69 & to restart level\\
65 70
66 \opt{RECORDER_PAD}{\ButtonF1} 71 \opt{RECORDER_PAD}{\ButtonF1}
67 \opt{ONDIO_PAD}{\ButtonMenu + \ButtonLeft} 72 \opt{ONDIO_PAD}{\ButtonMenu + \ButtonUp}
68 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn} 73 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonMode}
69 \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonScrollBack} 74 \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonSelect + \ButtonMenu}
70 \opt{IAUDIO_X5_PAD}{-} 75 \opt{IAUDIO_X5_PAD}{\ButtonPlay}
71 \opt{IRIVER_H10_PAD}{\ButtonFf + \ButtonScrollUp} 76 \opt{IRIVER_H10_PAD}{\ButtonFf + \ButtonScrollUp}
72 \opt{SANSA_E200_PAD}{\ButtonScrollBack} 77 \opt{SANSA_E200_PAD}{\ButtonScrollBack}
73 \opt{GIGABEAT_PAD}{\ButtonVolUp} 78 \opt{GIGABEAT_PAD}{\ButtonVolUp}
74 \opt{MROBE100_PAD}{\ButtonDisplay} 79 \opt{MROBE100_PAD}{\ButtonMenu}
75 \opt{SANSA_C200_PAD}{\ButtonRec + \ButtonVolUp} 80 \opt{SANSA_C200_PAD}{\ButtonVolUp}
76 & to go up a level\\ 81 & to go up a level\\
77 82
78 \opt{RECORDER_PAD}{\ButtonF3} 83 \opt{RECORDER_PAD}{\ButtonF3}
79 \opt{ONDIO_PAD}{\ButtonMenu + \ButtonRight} 84 \opt{ONDIO_PAD}{\ButtonMenu + \ButtonDown}
80 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonRec} 85 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonRec}
81 \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonScrollFwd} 86 \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{-}
82 \opt{IAUDIO_X5_PAD}{-} 87 \opt{IAUDIO_X5_PAD}{-}
83 \opt{IRIVER_H10_PAD}{\ButtonFf + \ButtonScrollDown} 88 \opt{IRIVER_H10_PAD}{\ButtonFf + \ButtonScrollDown}
84 \opt{SANSA_E200_PAD}{\ButtonScrollFwd} 89 \opt{SANSA_E200_PAD}{\ButtonScrollFwd}
85 \opt{GIGABEAT_PAD}{\ButtonVolDown} 90 \opt{GIGABEAT_PAD}{\ButtonVolDown}
86 \opt{MROBE100_PAD}{Long \ButtonDisplay} 91 \opt{MROBE100_PAD}{\ButtonDisplay}
87 \opt{SANSA_C200_PAD}{\ButtonRec + \ButtonVolDown} 92 \opt{SANSA_C200_PAD}{\ButtonVolDown}
88 & to go down a level\\ 93 & to go down a level\\
89 94
90 \end{btnmap} 95 \end{btnmap}