summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins')
-rw-r--r--apps/plugins/SUBDIRS4
-rw-r--r--apps/plugins/bitmaps/native/SOURCES6
-rw-r--r--apps/plugins/bitmaps/native/sudoku_inverse.128x96x2.bmpbin0 -> 424 bytes
-rw-r--r--apps/plugins/bitmaps/native/sudoku_normal.128x96x2.bmpbin0 -> 424 bytes
-rw-r--r--apps/plugins/bitmaps/native/sudoku_start.128x96x2.bmpbin0 -> 840 bytes
-rw-r--r--apps/plugins/chessbox/chessbox.c205
-rw-r--r--apps/plugins/chessbox/chessbox_pgn.c215
-rw-r--r--apps/plugins/chessbox/chessbox_pgn.h231
-rw-r--r--apps/plugins/midi/midiplay.c9
-rw-r--r--apps/plugins/reversi/reversi-gui.c15
-rw-r--r--apps/plugins/reversi/reversi-gui.h9
-rw-r--r--apps/plugins/sudoku/sudoku.c16
-rw-r--r--apps/plugins/sudoku/sudoku.h10
-rw-r--r--apps/plugins/zxbox/keymaps.h8
-rw-r--r--apps/plugins/zxbox/zxbox_keyb.c9
-rw-r--r--apps/plugins/zxbox/zxconfig.h3
-rw-r--r--apps/plugins/zxbox/zxvid_4bpp.c42
17 files changed, 335 insertions, 447 deletions
diff --git a/apps/plugins/SUBDIRS b/apps/plugins/SUBDIRS
index 4f9731f0ba..b82c6ad172 100644
--- a/apps/plugins/SUBDIRS
+++ b/apps/plugins/SUBDIRS
@@ -34,7 +34,7 @@ pacbox
34 34
35/* For all the color targets */ 35/* For all the color targets */
36#if defined(HAVE_LCD_COLOR) || \ 36#if defined(HAVE_LCD_COLOR) || \
37 (LCD_DEPTH == 2) && !defined(ARCHOS_AV300) 37 (LCD_DEPTH == 2) && !defined(ARCHOS_AV300) && !defined(IAUDIO_M3)
38doom 38doom
39#endif 39#endif
40 40
@@ -42,7 +42,9 @@ doom
42#if CONFIG_CODEC == SWCODEC 42#if CONFIG_CODEC == SWCODEC
43midi 43midi
44/* beatbox */ 44/* beatbox */
45#ifndef IAUDIO_M3 /* TODO: no greyscale lib yet */
45mpegplayer 46mpegplayer
46#endif 47#endif
48#endif
47 49
48#endif /* IRIVER_IFP7XX_SERIES */ 50#endif /* IRIVER_IFP7XX_SERIES */
diff --git a/apps/plugins/bitmaps/native/SOURCES b/apps/plugins/bitmaps/native/SOURCES
index 70071ca8e3..1afc30fc0d 100644
--- a/apps/plugins/bitmaps/native/SOURCES
+++ b/apps/plugins/bitmaps/native/SOURCES
@@ -475,10 +475,14 @@ star_tiles.6x7.mono.bmp
475 475
476/* Sudoku */ 476/* Sudoku */
477#if LCD_WIDTH >= LCD_HEIGHT 477#if LCD_WIDTH >= LCD_HEIGHT
478#if (LCD_WIDTH == 112) && (LCD_HEIGHT==64) && (LCD_DEPTH == 1) 478#if (LCD_WIDTH == 112) && (LCD_HEIGHT == 64) && (LCD_DEPTH == 1)
479sudoku_start.112x64x1.bmp 479sudoku_start.112x64x1.bmp
480sudoku_normal.112x64x1.bmp 480sudoku_normal.112x64x1.bmp
481sudoku_inverse.112x64x1.bmp 481sudoku_inverse.112x64x1.bmp
482#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 96) && (LCD_DEPTH >= 2)
483sudoku_start.128x96x2.bmp
484sudoku_normal.128x96x2.bmp
485sudoku_inverse.128x96x2.bmp
482#elif (LCD_WIDTH == 138) && (LCD_HEIGHT == 110) && (LCD_DEPTH >= 2) 486#elif (LCD_WIDTH == 138) && (LCD_HEIGHT == 110) && (LCD_DEPTH >= 2)
483sudoku_start.138x110x2.bmp 487sudoku_start.138x110x2.bmp
484sudoku_normal.138x110x2.bmp 488sudoku_normal.138x110x2.bmp
diff --git a/apps/plugins/bitmaps/native/sudoku_inverse.128x96x2.bmp b/apps/plugins/bitmaps/native/sudoku_inverse.128x96x2.bmp
new file mode 100644
index 0000000000..1745eac95e
--- /dev/null
+++ b/apps/plugins/bitmaps/native/sudoku_inverse.128x96x2.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/sudoku_normal.128x96x2.bmp b/apps/plugins/bitmaps/native/sudoku_normal.128x96x2.bmp
new file mode 100644
index 0000000000..35fe1c3357
--- /dev/null
+++ b/apps/plugins/bitmaps/native/sudoku_normal.128x96x2.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/sudoku_start.128x96x2.bmp b/apps/plugins/bitmaps/native/sudoku_start.128x96x2.bmp
new file mode 100644
index 0000000000..c7c50893ea
--- /dev/null
+++ b/apps/plugins/bitmaps/native/sudoku_start.128x96x2.bmp
Binary files differ
diff --git a/apps/plugins/chessbox/chessbox.c b/apps/plugins/chessbox/chessbox.c
index 24198e507a..920def82d5 100644
--- a/apps/plugins/chessbox/chessbox.c
+++ b/apps/plugins/chessbox/chessbox.c
@@ -40,211 +40,6 @@ extern const fb_data chessbox_pieces[];
40 40
41PLUGIN_HEADER 41PLUGIN_HEADER
42 42
43/* button definitions */
44#if (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) || \
45 (CONFIG_KEYPAD == IPOD_1G2G_PAD)
46#define CB_SELECT BUTTON_SELECT
47#define CB_UP BUTTON_MENU
48#define CB_DOWN BUTTON_PLAY
49#define CB_LEFT BUTTON_LEFT
50#define CB_RIGHT BUTTON_RIGHT
51#define CB_PLAY (BUTTON_SELECT | BUTTON_PLAY)
52#define CB_LEVEL (BUTTON_SELECT | BUTTON_RIGHT)
53#define CB_MENU (BUTTON_SELECT | BUTTON_MENU)
54
55#define CB_SCROLL_UP (BUTTON_SCROLL_FWD|BUTTON_REPEAT)
56#define CB_SCROLL_DOWN (BUTTON_SCROLL_BACK|BUTTON_REPEAT)
57#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
58#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
59
60#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD
61#define CB_SELECT BUTTON_SELECT
62#define CB_UP BUTTON_UP
63#define CB_DOWN BUTTON_DOWN
64#define CB_LEFT BUTTON_LEFT
65#define CB_RIGHT BUTTON_RIGHT
66#define CB_PLAY BUTTON_PLAY
67#define CB_LEVEL BUTTON_REC
68#define CB_MENU BUTTON_POWER
69
70#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
71#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
72#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
73#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
74
75#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD)
76#define CB_SELECT BUTTON_SELECT
77#define CB_UP BUTTON_UP
78#define CB_DOWN BUTTON_DOWN
79#define CB_LEFT BUTTON_LEFT
80#define CB_RIGHT BUTTON_RIGHT
81#define CB_PLAY BUTTON_ON
82#define CB_LEVEL BUTTON_MODE
83#define CB_MENU BUTTON_OFF
84
85#define CB_RC_QUIT BUTTON_RC_STOP
86
87#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
88#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
89#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
90#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
91
92#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
93#define CB_SELECT BUTTON_SELECT
94#define CB_UP BUTTON_UP
95#define CB_DOWN BUTTON_DOWN
96#define CB_LEFT BUTTON_LEFT
97#define CB_RIGHT BUTTON_RIGHT
98#define CB_PLAY BUTTON_PLAY
99#define CB_LEVEL BUTTON_EQ
100#define CB_MENU BUTTON_MODE
101
102#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
103#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
104#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
105#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
106
107#elif CONFIG_KEYPAD == RECORDER_PAD
108#define CB_SELECT BUTTON_PLAY
109#define CB_UP BUTTON_UP
110#define CB_DOWN BUTTON_DOWN
111#define CB_LEFT BUTTON_LEFT
112#define CB_RIGHT BUTTON_RIGHT
113#define CB_PLAY BUTTON_ON
114#define CB_LEVEL BUTTON_F1
115#define CB_MENU BUTTON_OFF
116
117#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
118#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
119#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
120#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
121
122#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD
123#define CB_SELECT BUTTON_SELECT
124#define CB_UP BUTTON_UP
125#define CB_DOWN BUTTON_DOWN
126#define CB_LEFT BUTTON_LEFT
127#define CB_RIGHT BUTTON_RIGHT
128#define CB_PLAY BUTTON_ON
129#define CB_LEVEL BUTTON_F1
130#define CB_MENU BUTTON_OFF
131
132#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
133#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
134#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
135#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
136
137#elif CONFIG_KEYPAD == ONDIO_PAD
138#define CB_SELECT_PRE BUTTON_MENU
139#define CB_SELECT (BUTTON_MENU|BUTTON_REL)
140#define CB_UP BUTTON_UP
141#define CB_DOWN BUTTON_DOWN
142#define CB_LEFT BUTTON_LEFT
143#define CB_RIGHT BUTTON_RIGHT
144#define CB_PLAY_PRE BUTTON_MENU
145#define CB_PLAY (BUTTON_MENU|BUTTON_REPEAT)
146#define CB_LEVEL (BUTTON_MENU|BUTTON_OFF)
147#define CB_MENU BUTTON_OFF
148
149#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
150#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
151#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
152#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
153
154#elif (CONFIG_KEYPAD == GIGABEAT_PAD)
155#define CB_SELECT BUTTON_SELECT
156#define CB_UP BUTTON_UP
157#define CB_DOWN BUTTON_DOWN
158#define CB_LEFT BUTTON_LEFT
159#define CB_RIGHT BUTTON_RIGHT
160#define CB_PLAY BUTTON_A
161#define CB_LEVEL BUTTON_MENU
162#define CB_MENU BUTTON_POWER
163
164#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
165#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
166#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
167#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
168
169#elif CONFIG_KEYPAD == IRIVER_H10_PAD
170#define CB_SELECT BUTTON_REW
171#define CB_UP BUTTON_SCROLL_UP
172#define CB_DOWN BUTTON_SCROLL_DOWN
173#define CB_LEFT BUTTON_LEFT
174#define CB_RIGHT BUTTON_RIGHT
175#define CB_PLAY BUTTON_PLAY
176#define CB_LEVEL BUTTON_FF
177#define CB_MENU BUTTON_POWER
178
179#define CB_SCROLL_UP (BUTTON_SCROLL_UP|BUTTON_REPEAT)
180#define CB_SCROLL_DOWN (BUTTON_SCROLL_DOWN|BUTTON_REPEAT)
181#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
182#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
183
184#elif CONFIG_KEYPAD == SANSA_E200_PAD
185#define CB_SELECT BUTTON_SELECT
186#define CB_UP BUTTON_UP
187#define CB_DOWN BUTTON_DOWN
188#define CB_LEFT BUTTON_LEFT
189#define CB_RIGHT BUTTON_RIGHT
190#define CB_PLAY (BUTTON_SELECT | BUTTON_RIGHT)
191#define CB_LEVEL BUTTON_REC
192#define CB_MENU BUTTON_POWER
193
194#define CB_SCROLL_UP (BUTTON_SCROLL_BACK|BUTTON_REPEAT)
195#define CB_SCROLL_DOWN (BUTTON_SCROLL_FWD|BUTTON_REPEAT)
196#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
197#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
198
199#elif CONFIG_KEYPAD == SANSA_C200_PAD
200#define CB_SELECT BUTTON_SELECT
201#define CB_UP BUTTON_UP
202#define CB_DOWN BUTTON_DOWN
203#define CB_LEFT BUTTON_LEFT
204#define CB_RIGHT BUTTON_RIGHT
205#define CB_PLAY BUTTON_VOL_UP
206#define CB_LEVEL BUTTON_REC
207#define CB_MENU BUTTON_POWER
208
209#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
210#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
211#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
212#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
213
214#elif CONFIG_KEYPAD == MROBE500_PAD
215#define CB_SELECT BUTTON_RC_MODE
216#define CB_UP BUTTON_RC_PLAY
217#define CB_DOWN BUTTON_RC_DOWN
218#define CB_LEFT BUTTON_RC_REW
219#define CB_RIGHT BUTTON_RC_FF
220#define CB_PLAY BUTTON_RC_HEART
221#define CB_LEVEL BUTTON_RC_VOL_DOWN
222#define CB_MENU BUTTON_POWER
223
224#define CB_SCROLL_UP (BUTTON_RC_PLAY|BUTTON_REPEAT)
225#define CB_SCROLL_DOWN (BUTTON_RC_DOWN|BUTTON_REPEAT)
226#define CB_SCROLL_LEFT (BUTTON_RC_REW|BUTTON_REPEAT)
227#define CB_SCROLL_RIGHT (BUTTON_RC_FF|BUTTON_REPEAT)
228
229#elif (CONFIG_KEYPAD == MROBE100_PAD)
230#define CB_SELECT BUTTON_SELECT
231#define CB_UP BUTTON_UP
232#define CB_DOWN BUTTON_DOWN
233#define CB_LEFT BUTTON_LEFT
234#define CB_RIGHT BUTTON_RIGHT
235#define CB_PLAY BUTTON_PLAY
236#define CB_LEVEL BUTTON_DISPLAY
237#define CB_MENU BUTTON_POWER
238
239#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
240#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
241#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
242#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
243
244#else
245#error No keymap defined!
246#endif
247
248/* Tile size defined by the assigned bitmap */ 43/* Tile size defined by the assigned bitmap */
249#include "chessbox_pieces.h" 44#include "chessbox_pieces.h"
250#define TILE_WIDTH BMPWIDTH_chessbox_pieces 45#define TILE_WIDTH BMPWIDTH_chessbox_pieces
diff --git a/apps/plugins/chessbox/chessbox_pgn.c b/apps/plugins/chessbox/chessbox_pgn.c
index b59d0fc308..b3e71de77f 100644
--- a/apps/plugins/chessbox/chessbox_pgn.c
+++ b/apps/plugins/chessbox/chessbox_pgn.c
@@ -17,221 +17,8 @@
17* 17*
18****************************************************************************/ 18****************************************************************************/
19 19
20#include "chessbox_pgn.h"
21#include "plugin.h" 20#include "plugin.h"
22 21#include "chessbox_pgn.h"
23/* button definitions */
24#if (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) || \
25 (CONFIG_KEYPAD == IPOD_1G2G_PAD)
26#define CB_SELECT BUTTON_SELECT
27#define CB_UP BUTTON_MENU
28#define CB_DOWN BUTTON_PLAY
29#define CB_LEFT BUTTON_LEFT
30#define CB_RIGHT BUTTON_RIGHT
31#define CB_PLAY (BUTTON_SELECT | BUTTON_PLAY)
32#define CB_LEVEL (BUTTON_SELECT | BUTTON_RIGHT)
33#define CB_RESTART (BUTTON_SELECT | BUTTON_LEFT)
34#define CB_MENU (BUTTON_SELECT | BUTTON_MENU)
35
36#define CB_SCROLL_UP (BUTTON_SCROLL_FWD|BUTTON_REPEAT)
37#define CB_SCROLL_DOWN (BUTTON_SCROLL_BACK|BUTTON_REPEAT)
38#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
39#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
40
41#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD
42#define CB_SELECT BUTTON_SELECT
43#define CB_UP BUTTON_UP
44#define CB_DOWN BUTTON_DOWN
45#define CB_LEFT BUTTON_LEFT
46#define CB_RIGHT BUTTON_RIGHT
47#define CB_PLAY BUTTON_PLAY
48#define CB_LEVEL BUTTON_REC
49#define CB_RESTART (BUTTON_SELECT | BUTTON_PLAY)
50#define CB_MENU BUTTON_POWER
51
52#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
53#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
54#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
55#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
56
57#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD)
58#define CB_SELECT BUTTON_SELECT
59#define CB_UP BUTTON_UP
60#define CB_DOWN BUTTON_DOWN
61#define CB_LEFT BUTTON_LEFT
62#define CB_RIGHT BUTTON_RIGHT
63#define CB_PLAY BUTTON_ON
64#define CB_LEVEL BUTTON_MODE
65#define CB_RESTART BUTTON_REC
66#define CB_MENU BUTTON_OFF
67
68#define CB_RC_QUIT BUTTON_RC_STOP
69
70#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
71#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
72#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
73#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
74
75#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
76#define CB_SELECT BUTTON_SELECT
77#define CB_UP BUTTON_UP
78#define CB_DOWN BUTTON_DOWN
79#define CB_LEFT BUTTON_LEFT
80#define CB_RIGHT BUTTON_RIGHT
81#define CB_PLAY BUTTON_PLAY
82#define CB_LEVEL BUTTON_EQ
83#define CB_MENU BUTTON_MODE
84
85#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
86#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
87#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
88#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
89
90#elif CONFIG_KEYPAD == RECORDER_PAD
91#define CB_SELECT BUTTON_PLAY
92#define CB_UP BUTTON_UP
93#define CB_DOWN BUTTON_DOWN
94#define CB_LEFT BUTTON_LEFT
95#define CB_RIGHT BUTTON_RIGHT
96#define CB_PLAY BUTTON_ON
97#define CB_LEVEL BUTTON_F1
98#define CB_RESTART BUTTON_F3
99#define CB_MENU BUTTON_OFF
100
101#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
102#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
103#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
104#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
105
106#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD
107#define CB_SELECT BUTTON_SELECT
108#define CB_UP BUTTON_UP
109#define CB_DOWN BUTTON_DOWN
110#define CB_LEFT BUTTON_LEFT
111#define CB_RIGHT BUTTON_RIGHT
112#define CB_PLAY BUTTON_ON
113#define CB_LEVEL BUTTON_F1
114#define CB_RESTART BUTTON_F3
115#define CB_MENU BUTTON_OFF
116
117#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
118#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
119#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
120#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
121
122#elif CONFIG_KEYPAD == ONDIO_PAD
123#define CB_SELECT_PRE BUTTON_MENU
124#define CB_SELECT (BUTTON_MENU|BUTTON_REL)
125#define CB_UP BUTTON_UP
126#define CB_DOWN BUTTON_DOWN
127#define CB_LEFT BUTTON_LEFT
128#define CB_RIGHT BUTTON_RIGHT
129#define CB_PLAY_PRE BUTTON_MENU
130#define CB_PLAY (BUTTON_MENU|BUTTON_REPEAT)
131#define CB_LEVEL (BUTTON_MENU|BUTTON_OFF)
132#define CB_RESTART (BUTTON_MENU|BUTTON_LEFT)
133#define CB_MENU BUTTON_OFF
134
135#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
136#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
137#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
138#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
139
140#elif (CONFIG_KEYPAD == GIGABEAT_PAD)
141#define CB_SELECT BUTTON_SELECT
142#define CB_UP BUTTON_UP
143#define CB_DOWN BUTTON_DOWN
144#define CB_LEFT BUTTON_LEFT
145#define CB_RIGHT BUTTON_RIGHT
146#define CB_PLAY BUTTON_A
147#define CB_LEVEL BUTTON_MENU
148#define CB_MENU BUTTON_POWER
149
150#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
151#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
152#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
153#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
154
155#elif CONFIG_KEYPAD == IRIVER_H10_PAD
156#define CB_SELECT BUTTON_REW
157#define CB_UP BUTTON_SCROLL_UP
158#define CB_DOWN BUTTON_SCROLL_DOWN
159#define CB_LEFT BUTTON_LEFT
160#define CB_RIGHT BUTTON_RIGHT
161#define CB_PLAY BUTTON_PLAY
162#define CB_LEVEL BUTTON_FF
163#define CB_RESTART (BUTTON_REW | BUTTON_PLAY)
164#define CB_MENU BUTTON_POWER
165
166#define CB_SCROLL_UP (BUTTON_SCROLL_BACK|BUTTON_REPEAT)
167#define CB_SCROLL_DOWN (BUTTON_SCROLL_FWD|BUTTON_REPEAT)
168#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
169#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
170
171#elif CONFIG_KEYPAD == SANSA_E200_PAD
172#define CB_SELECT BUTTON_SELECT
173#define CB_UP BUTTON_UP
174#define CB_DOWN BUTTON_DOWN
175#define CB_LEFT BUTTON_LEFT
176#define CB_RIGHT BUTTON_RIGHT
177#define CB_PLAY (BUTTON_SELECT | BUTTON_RIGHT)
178#define CB_LEVEL BUTTON_REC
179#define CB_RESTART (BUTTON_SELECT | BUTTON_REPEAT)
180#define CB_MENU BUTTON_POWER
181
182#define CB_SCROLL_UP (BUTTON_SCROLL_UP|BUTTON_REPEAT)
183#define CB_SCROLL_DOWN (BUTTON_SCROLL_DOWN|BUTTON_REPEAT)
184#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
185#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
186
187#elif CONFIG_KEYPAD == SANSA_C200_PAD
188#define CB_SELECT BUTTON_SELECT
189#define CB_UP BUTTON_UP
190#define CB_DOWN BUTTON_DOWN
191#define CB_LEFT BUTTON_LEFT
192#define CB_RIGHT BUTTON_RIGHT
193#define CB_PLAY BUTTON_VOL_UP
194#define CB_LEVEL BUTTON_REC
195#define CB_MENU BUTTON_POWER
196
197#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
198#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
199#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
200#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
201
202#elif CONFIG_KEYPAD == MROBE500_PAD
203#define CB_SELECT BUTTON_RC_MODE
204#define CB_UP BUTTON_RC_PLAY
205#define CB_DOWN BUTTON_RC_DOWN
206#define CB_LEFT BUTTON_RC_REW
207#define CB_RIGHT BUTTON_RC_FF
208#define CB_PLAY BUTTON_RC_HEART
209#define CB_LEVEL BUTTON_RC_VOL_DOWN
210#define CB_MENU BUTTON_POWER
211
212#define CB_SCROLL_UP (BUTTON_RC_PLAY|BUTTON_REPEAT)
213#define CB_SCROLL_DOWN (BUTTON_RC_DOWN|BUTTON_REPEAT)
214#define CB_SCROLL_LEFT (BUTTON_RC_REW|BUTTON_REPEAT)
215#define CB_SCROLL_RIGHT (BUTTON_RC_FF|BUTTON_REPEAT)
216
217#elif (CONFIG_KEYPAD == MROBE100_PAD)
218#define CB_SELECT BUTTON_SELECT
219#define CB_UP BUTTON_UP
220#define CB_DOWN BUTTON_DOWN
221#define CB_LEFT BUTTON_LEFT
222#define CB_RIGHT BUTTON_RIGHT
223#define CB_PLAY BUTTON_PLAY
224#define CB_LEVEL BUTTON_DISPLAY
225#define CB_MENU BUTTON_POWER
226
227#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
228#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
229#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
230#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
231
232#else
233#error No keymap defined!
234#endif
235 22
236#define PGN_FILE PLUGIN_GAMES_DIR "/chessbox.pgn" 23#define PGN_FILE PLUGIN_GAMES_DIR "/chessbox.pgn"
237#define LOG_FILE PLUGIN_GAMES_DIR "/chessbox.log" 24#define LOG_FILE PLUGIN_GAMES_DIR "/chessbox.log"
diff --git a/apps/plugins/chessbox/chessbox_pgn.h b/apps/plugins/chessbox/chessbox_pgn.h
index c4dd5c671f..59760ec7b3 100644
--- a/apps/plugins/chessbox/chessbox_pgn.h
+++ b/apps/plugins/chessbox/chessbox_pgn.h
@@ -20,6 +20,237 @@
20#include "plugin.h" 20#include "plugin.h"
21#include "gnuchess.h" 21#include "gnuchess.h"
22 22
23/* button definitions */
24#if (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) || \
25 (CONFIG_KEYPAD == IPOD_1G2G_PAD)
26#define CB_SELECT BUTTON_SELECT
27#define CB_UP BUTTON_MENU
28#define CB_DOWN BUTTON_PLAY
29#define CB_LEFT BUTTON_LEFT
30#define CB_RIGHT BUTTON_RIGHT
31#define CB_PLAY (BUTTON_SELECT | BUTTON_PLAY)
32#define CB_LEVEL (BUTTON_SELECT | BUTTON_RIGHT)
33#define CB_RESTART (BUTTON_SELECT | BUTTON_LEFT)
34#define CB_MENU (BUTTON_SELECT | BUTTON_MENU)
35
36#define CB_SCROLL_UP (BUTTON_SCROLL_FWD|BUTTON_REPEAT)
37#define CB_SCROLL_DOWN (BUTTON_SCROLL_BACK|BUTTON_REPEAT)
38#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
39#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
40
41#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD
42#define CB_SELECT BUTTON_SELECT
43#define CB_UP BUTTON_UP
44#define CB_DOWN BUTTON_DOWN
45#define CB_LEFT BUTTON_LEFT
46#define CB_RIGHT BUTTON_RIGHT
47#define CB_PLAY BUTTON_PLAY
48#define CB_LEVEL BUTTON_REC
49#define CB_RESTART (BUTTON_SELECT | BUTTON_PLAY)
50#define CB_MENU BUTTON_POWER
51
52#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
53#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
54#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
55#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
56
57#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD)
58#define CB_SELECT BUTTON_SELECT
59#define CB_UP BUTTON_UP
60#define CB_DOWN BUTTON_DOWN
61#define CB_LEFT BUTTON_LEFT
62#define CB_RIGHT BUTTON_RIGHT
63#define CB_PLAY BUTTON_ON
64#define CB_LEVEL BUTTON_MODE
65#define CB_RESTART BUTTON_REC
66#define CB_MENU BUTTON_OFF
67
68#define CB_RC_QUIT BUTTON_RC_STOP
69
70#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
71#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
72#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
73#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
74
75#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
76#define CB_SELECT BUTTON_SELECT
77#define CB_UP BUTTON_UP
78#define CB_DOWN BUTTON_DOWN
79#define CB_LEFT BUTTON_LEFT
80#define CB_RIGHT BUTTON_RIGHT
81#define CB_PLAY BUTTON_PLAY
82#define CB_LEVEL BUTTON_EQ
83#define CB_MENU BUTTON_MODE
84
85#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
86#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
87#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
88#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
89
90#elif CONFIG_KEYPAD == RECORDER_PAD
91#define CB_SELECT BUTTON_PLAY
92#define CB_UP BUTTON_UP
93#define CB_DOWN BUTTON_DOWN
94#define CB_LEFT BUTTON_LEFT
95#define CB_RIGHT BUTTON_RIGHT
96#define CB_PLAY BUTTON_ON
97#define CB_LEVEL BUTTON_F1
98#define CB_RESTART BUTTON_F3
99#define CB_MENU BUTTON_OFF
100
101#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
102#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
103#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
104#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
105
106#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD
107#define CB_SELECT BUTTON_SELECT
108#define CB_UP BUTTON_UP
109#define CB_DOWN BUTTON_DOWN
110#define CB_LEFT BUTTON_LEFT
111#define CB_RIGHT BUTTON_RIGHT
112#define CB_PLAY BUTTON_ON
113#define CB_LEVEL BUTTON_F1
114#define CB_RESTART BUTTON_F3
115#define CB_MENU BUTTON_OFF
116
117#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
118#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
119#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
120#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
121
122#elif CONFIG_KEYPAD == ONDIO_PAD
123#define CB_SELECT_PRE BUTTON_MENU
124#define CB_SELECT (BUTTON_MENU|BUTTON_REL)
125#define CB_UP BUTTON_UP
126#define CB_DOWN BUTTON_DOWN
127#define CB_LEFT BUTTON_LEFT
128#define CB_RIGHT BUTTON_RIGHT
129#define CB_PLAY_PRE BUTTON_MENU
130#define CB_PLAY (BUTTON_MENU|BUTTON_REPEAT)
131#define CB_LEVEL (BUTTON_MENU|BUTTON_OFF)
132#define CB_RESTART (BUTTON_MENU|BUTTON_LEFT)
133#define CB_MENU BUTTON_OFF
134
135#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
136#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
137#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
138#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
139
140#elif (CONFIG_KEYPAD == GIGABEAT_PAD)
141#define CB_SELECT BUTTON_SELECT
142#define CB_UP BUTTON_UP
143#define CB_DOWN BUTTON_DOWN
144#define CB_LEFT BUTTON_LEFT
145#define CB_RIGHT BUTTON_RIGHT
146#define CB_PLAY BUTTON_A
147#define CB_LEVEL BUTTON_MENU
148#define CB_MENU BUTTON_POWER
149
150#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
151#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
152#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
153#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
154
155#elif CONFIG_KEYPAD == IRIVER_H10_PAD
156#define CB_SELECT BUTTON_REW
157#define CB_UP BUTTON_SCROLL_UP
158#define CB_DOWN BUTTON_SCROLL_DOWN
159#define CB_LEFT BUTTON_LEFT
160#define CB_RIGHT BUTTON_RIGHT
161#define CB_PLAY BUTTON_PLAY
162#define CB_LEVEL BUTTON_FF
163#define CB_RESTART (BUTTON_REW | BUTTON_PLAY)
164#define CB_MENU BUTTON_POWER
165
166#define CB_SCROLL_UP (BUTTON_SCROLL_BACK|BUTTON_REPEAT)
167#define CB_SCROLL_DOWN (BUTTON_SCROLL_FWD|BUTTON_REPEAT)
168#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
169#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
170
171#elif CONFIG_KEYPAD == SANSA_E200_PAD
172#define CB_SELECT BUTTON_SELECT
173#define CB_UP BUTTON_UP
174#define CB_DOWN BUTTON_DOWN
175#define CB_LEFT BUTTON_LEFT
176#define CB_RIGHT BUTTON_RIGHT
177#define CB_PLAY (BUTTON_SELECT | BUTTON_RIGHT)
178#define CB_LEVEL BUTTON_REC
179#define CB_RESTART (BUTTON_SELECT | BUTTON_REPEAT)
180#define CB_MENU BUTTON_POWER
181
182#define CB_SCROLL_UP (BUTTON_SCROLL_UP|BUTTON_REPEAT)
183#define CB_SCROLL_DOWN (BUTTON_SCROLL_DOWN|BUTTON_REPEAT)
184#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
185#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
186
187#elif CONFIG_KEYPAD == SANSA_C200_PAD
188#define CB_SELECT BUTTON_SELECT
189#define CB_UP BUTTON_UP
190#define CB_DOWN BUTTON_DOWN
191#define CB_LEFT BUTTON_LEFT
192#define CB_RIGHT BUTTON_RIGHT
193#define CB_PLAY BUTTON_VOL_UP
194#define CB_LEVEL BUTTON_REC
195#define CB_MENU BUTTON_POWER
196
197#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
198#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
199#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
200#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
201
202#elif CONFIG_KEYPAD == MROBE500_PAD
203#define CB_SELECT BUTTON_RC_MODE
204#define CB_UP BUTTON_RC_PLAY
205#define CB_DOWN BUTTON_RC_DOWN
206#define CB_LEFT BUTTON_RC_REW
207#define CB_RIGHT BUTTON_RC_FF
208#define CB_PLAY BUTTON_RC_HEART
209#define CB_LEVEL BUTTON_RC_VOL_DOWN
210#define CB_MENU BUTTON_POWER
211
212#define CB_SCROLL_UP (BUTTON_RC_PLAY|BUTTON_REPEAT)
213#define CB_SCROLL_DOWN (BUTTON_RC_DOWN|BUTTON_REPEAT)
214#define CB_SCROLL_LEFT (BUTTON_RC_REW|BUTTON_REPEAT)
215#define CB_SCROLL_RIGHT (BUTTON_RC_FF|BUTTON_REPEAT)
216
217#elif (CONFIG_KEYPAD == MROBE100_PAD)
218#define CB_SELECT BUTTON_SELECT
219#define CB_UP BUTTON_UP
220#define CB_DOWN BUTTON_DOWN
221#define CB_LEFT BUTTON_LEFT
222#define CB_RIGHT BUTTON_RIGHT
223#define CB_PLAY BUTTON_PLAY
224#define CB_LEVEL BUTTON_DISPLAY
225#define CB_MENU BUTTON_POWER
226
227#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
228#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
229#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
230#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
231
232#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
233#define CB_SELECT BUTTON_RC_PLAY
234#define CB_UP BUTTON_RC_VOL_UP
235#define CB_DOWN BUTTON_RC_VOL_DOWN
236#define CB_LEFT BUTTON_RC_REW
237#define CB_RIGHT BUTTON_RC_FF
238#define CB_PLAY BUTTON_RC_MODE
239#define CB_LEVEL BUTTON_RC_MENU
240#define CB_RESTART (BUTTON_RC_PLAY|BUTTON_REPEAT)
241#define CB_MENU BUTTON_RC_REC
242
243#define CB_SCROLL_UP (BUTTON_RC_VOL_UP|BUTTON_REPEAT)
244#define CB_SCROLL_DOWN (BUTTON_RC_VOL_DOWN|BUTTON_REPEAT)
245#define CB_SCROLL_LEFT (BUTTON_RC_REW|BUTTON_REPEAT)
246#define CB_SCROLL_RIGHT (BUTTON_RC_FF|BUTTON_REPEAT)
247
248#define CB_RC_QUIT BUTTON_REC
249
250#else
251#error No keymap defined!
252#endif
253
23/* structure to represent the plies */ 254/* structure to represent the plies */
24struct pgn_ply_node { 255struct pgn_ply_node {
25 unsigned short player; 256 unsigned short player;
diff --git a/apps/plugins/midi/midiplay.c b/apps/plugins/midi/midiplay.c
index 940fce3a19..c5865beb09 100644
--- a/apps/plugins/midi/midiplay.c
+++ b/apps/plugins/midi/midiplay.c
@@ -126,6 +126,15 @@ PLUGIN_IRAM_DECLARE
126#define BTN_PLAY BUTTON_DISPLAY 126#define BTN_PLAY BUTTON_DISPLAY
127 127
128 128
129#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
130#define BTN_QUIT BUTTON_RC_REC
131#define BTN_RIGHT BUTTON_RC_FF
132#define BTN_LEFT BUTTON_RC_REW
133#define BTN_UP BUTTON_RC_VOL_UP
134#define BTN_DOWN BUTTON_RC_VOL_DOWN
135#define BTN_PLAY BUTTON_RC_PLAY
136
137
129#else 138#else
130#error No keymap defined! 139#error No keymap defined!
131#endif 140#endif
diff --git a/apps/plugins/reversi/reversi-gui.c b/apps/plugins/reversi/reversi-gui.c
index 6bfa4ae1af..1995923f4f 100644
--- a/apps/plugins/reversi/reversi-gui.c
+++ b/apps/plugins/reversi/reversi-gui.c
@@ -75,22 +75,19 @@ static struct plugin_api* rb;
75#define CELL_HEIGHT 8 75#define CELL_HEIGHT 8
76#define SMALL_BOARD 76#define SMALL_BOARD
77 77
78#elif (LCD_HEIGHT==110) && (LCD_WIDTH==138) 78#elif (LCD_HEIGHT==96) && (LCD_WIDTH==128) \
79 || (LCD_HEIGHT==110) && (LCD_WIDTH==138) \
80 || (LCD_HEIGHT==128) && (LCD_WIDTH==128)
81/* iAudio M3 - 138x110, 8 cells @ 10x10 with 9 border lines */
79/* iPod Mini - 138x110, 8 cells @ 10x10 with 9 border lines */ 82/* iPod Mini - 138x110, 8 cells @ 10x10 with 9 border lines */
80
81/* Internal dimensions of a cell */
82#define CELL_WIDTH 10
83#define CELL_HEIGHT 10
84
85#elif (LCD_HEIGHT==128) && (LCD_WIDTH==128)
86/* iriver H10 5-6GB - 128x128, 8 cells @ 10x10 with 9 border lines */ 83/* iriver H10 5-6GB - 128x128, 8 cells @ 10x10 with 9 border lines */
87 84
88/* Internal dimensions of a cell */ 85/* Internal dimensions of a cell */
89#define CELL_WIDTH 10 86#define CELL_WIDTH 10
90#define CELL_HEIGHT 10 87#define CELL_HEIGHT 10
91 88
92#elif ((LCD_HEIGHT==128) && (LCD_WIDTH==160)) || \ 89#elif ((LCD_HEIGHT==128) && (LCD_WIDTH==160)) \
93 ((LCD_HEIGHT==132) && (LCD_WIDTH==176)) 90 || ((LCD_HEIGHT==132) && (LCD_WIDTH==176))
94/* iAudio X5, Iriver H1x0, iPod G3, G4 - 160x128; */ 91/* iAudio X5, Iriver H1x0, iPod G3, G4 - 160x128; */
95/* iPod Nano - 176x132, 8 cells @ 12x12 with 9 border lines */ 92/* iPod Nano - 176x132, 8 cells @ 12x12 with 9 border lines */
96 93
diff --git a/apps/plugins/reversi/reversi-gui.h b/apps/plugins/reversi/reversi-gui.h
index 84552c8fe1..de2286e5df 100644
--- a/apps/plugins/reversi/reversi-gui.h
+++ b/apps/plugins/reversi/reversi-gui.h
@@ -123,6 +123,15 @@
123#define REVERSI_BUTTON_MAKE_MOVE BUTTON_SELECT 123#define REVERSI_BUTTON_MAKE_MOVE BUTTON_SELECT
124#define REVERSI_BUTTON_MENU BUTTON_MENU 124#define REVERSI_BUTTON_MENU BUTTON_MENU
125 125
126#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
127#define REVERSI_BUTTON_QUIT BUTTON_RC_REC
128#define REVERSI_BUTTON_UP BUTTON_RC_VOL_UP
129#define REVERSI_BUTTON_DOWN BUTTON_RC_VOL_DOWN
130#define REVERSI_BUTTON_LEFT BUTTON_RC_REW
131#define REVERSI_BUTTON_RIGHT BUTTON_RC_FF
132#define REVERSI_BUTTON_MAKE_MOVE BUTTON_RC_PLAY
133#define REVERSI_BUTTON_MENU BUTTON_RC_MENU
134
126#else 135#else
127#error No keymap defined! 136#error No keymap defined!
128#endif 137#endif
diff --git a/apps/plugins/sudoku/sudoku.c b/apps/plugins/sudoku/sudoku.c
index 1d548ace6d..553357fc5c 100644
--- a/apps/plugins/sudoku/sudoku.c
+++ b/apps/plugins/sudoku/sudoku.c
@@ -116,22 +116,24 @@ static const char default_game[9][9] =
116#define CELL_HEIGHT 8 116#define CELL_HEIGHT 8
117#define SMALL_BOARD 117#define SMALL_BOARD
118 118
119#elif (LCD_HEIGHT==110) && (LCD_WIDTH==138) 119#elif ((LCD_HEIGHT==96) && (LCD_WIDTH==128))
120/* iPod Mini - 138x110, 9 cells @ 10x10 with 14 border lines */ 120/* iAudio M3, 9 cells @ 9x9 with 14 border lines */
121 121
122/* Internal dimensions of a cell */ 122/* Internal dimensions of a cell */
123#define CELL_WIDTH 10 123#define CELL_WIDTH 9
124#define CELL_HEIGHT 10 124#define CELL_HEIGHT 9
125 125
126#elif (LCD_HEIGHT==128) && (LCD_WIDTH==128) 126#elif (LCD_HEIGHT==110) && (LCD_WIDTH==138) \
127 || (LCD_HEIGHT==128) && (LCD_WIDTH==128)
128/* iPod Mini - 138x110, 9 cells @ 10x10 with 14 border lines */
127/* iriver H10 5-6GB - 128x128, 9 cells @ 10x10 with 14 border lines */ 129/* iriver H10 5-6GB - 128x128, 9 cells @ 10x10 with 14 border lines */
128 130
129/* Internal dimensions of a cell */ 131/* Internal dimensions of a cell */
130#define CELL_WIDTH 10 132#define CELL_WIDTH 10
131#define CELL_HEIGHT 10 133#define CELL_HEIGHT 10
132 134
133#elif ((LCD_HEIGHT==128) && (LCD_WIDTH==160)) || \ 135#elif ((LCD_HEIGHT==128) && (LCD_WIDTH==160)) \
134 ((LCD_HEIGHT==132) && (LCD_WIDTH==176)) 136 || ((LCD_HEIGHT==132) && (LCD_WIDTH==176))
135/* iAudio X5, Iriver H1x0, iPod G3, G4 - 160x128; */ 137/* iAudio X5, Iriver H1x0, iPod G3, G4 - 160x128; */
136/* iPod Nano - 176x132, 9 cells @ 12x12 with 14 border lines */ 138/* iPod Nano - 176x132, 9 cells @ 12x12 with 14 border lines */
137 139
diff --git a/apps/plugins/sudoku/sudoku.h b/apps/plugins/sudoku/sudoku.h
index 78d1b73e63..8c2759796a 100644
--- a/apps/plugins/sudoku/sudoku.h
+++ b/apps/plugins/sudoku/sudoku.h
@@ -160,6 +160,16 @@
160#define SUDOKU_BUTTON_MENU BUTTON_MENU 160#define SUDOKU_BUTTON_MENU BUTTON_MENU
161#define SUDOKU_BUTTON_POSSIBLE BUTTON_DISPLAY 161#define SUDOKU_BUTTON_POSSIBLE BUTTON_DISPLAY
162 162
163#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
164#define SUDOKU_BUTTON_QUIT BUTTON_RC_REC
165#define SUDOKU_BUTTON_UP BUTTON_RC_VOL_UP
166#define SUDOKU_BUTTON_DOWN BUTTON_RC_VOL_DOWN
167#define SUDOKU_BUTTON_LEFT BUTTON_RC_REW
168#define SUDOKU_BUTTON_RIGHT BUTTON_RC_FF
169#define SUDOKU_BUTTON_TOGGLE BUTTON_RC_MODE
170#define SUDOKU_BUTTON_MENU BUTTON_RC_MENU
171#define SUDOKU_BUTTON_POSSIBLE BUTTON_RC_PLAY
172
163#else 173#else
164#error No keymap defined! 174#error No keymap defined!
165#endif 175#endif
diff --git a/apps/plugins/zxbox/keymaps.h b/apps/plugins/zxbox/keymaps.h
index 9e9e3ed616..19503e1c78 100644
--- a/apps/plugins/zxbox/keymaps.h
+++ b/apps/plugins/zxbox/keymaps.h
@@ -94,6 +94,14 @@
94#define ZX_SELECT BUTTON_RC_MODE 94#define ZX_SELECT BUTTON_RC_MODE
95#define ZX_MENU (BUTTON_POWER | BUTTON_REL) 95#define ZX_MENU (BUTTON_POWER | BUTTON_REL)
96 96
97#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
98#define ZX_UP BUTTON_RC_VOL_UP
99#define ZX_DOWN BUTTON_RC_VOL_DOWN
100#define ZX_LEFT BUTTON_RC_REW
101#define ZX_RIGHT BUTTON_RC_FF
102#define ZX_SELECT BUTTON_RC_PLAY
103#define ZX_MENU BUTTON_RC_REC
104
97#else 105#else
98#error Keymap not defined! 106#error Keymap not defined!
99 107
diff --git a/apps/plugins/zxbox/zxbox_keyb.c b/apps/plugins/zxbox/zxbox_keyb.c
index 2b1d171c11..e3fb92c43d 100644
--- a/apps/plugins/zxbox/zxbox_keyb.c
+++ b/apps/plugins/zxbox/zxbox_keyb.c
@@ -113,6 +113,15 @@
113#define KBD_UP BUTTON_UP 113#define KBD_UP BUTTON_UP
114#define KBD_DOWN BUTTON_DOWN 114#define KBD_DOWN BUTTON_DOWN
115 115
116#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
117
118#define KBD_SELECT BUTTON_RC_PLAY
119#define KBD_ABORT BUTTON_RC_REC
120#define KBD_LEFT BUTTON_RC_REW
121#define KBD_RIGHT BUTTON_RC_FF
122#define KBD_UP BUTTON_RC_VOL_UP
123#define KBD_DOWN BUTTON_RC_VOL_DOWN
124
116#endif 125#endif
117 126
118 127
diff --git a/apps/plugins/zxbox/zxconfig.h b/apps/plugins/zxbox/zxconfig.h
index f83c091ab9..cdba2626cf 100644
--- a/apps/plugins/zxbox/zxconfig.h
+++ b/apps/plugins/zxbox/zxconfig.h
@@ -18,7 +18,8 @@ extern int intkeys[5];
18#define SETTINGS_VERSION 2 18#define SETTINGS_VERSION 2
19 19
20/* undef not to use greyscale lib */ 20/* undef not to use greyscale lib */
21#if !defined HAVE_LCD_COLOR 21#if !defined HAVE_LCD_COLOR && !defined(IAUDIO_M3)
22 /* FIXME: change after implementing greyscale lib for M3 */
22#define USE_GREY 23#define USE_GREY
23#define USE_BUFFERED_GREY 24#define USE_BUFFERED_GREY
24#endif 25#endif
diff --git a/apps/plugins/zxbox/zxvid_4bpp.c b/apps/plugins/zxbox/zxvid_4bpp.c
index c05e48b8e6..5129d17327 100644
--- a/apps/plugins/zxbox/zxvid_4bpp.c
+++ b/apps/plugins/zxbox/zxvid_4bpp.c
@@ -5,13 +5,20 @@
5 5
6#if LCD_PIXELFORMAT == HORIZONTAL_PACKING 6#if LCD_PIXELFORMAT == HORIZONTAL_PACKING
7#define FB_WIDTH ((LCD_WIDTH+3)/4) 7#define FB_WIDTH ((LCD_WIDTH+3)/4)
8unsigned char pixmask[4] ICONST_ATTR = { 8fb_data pixmask[4] ICONST_ATTR = {
9 0xC0, 0x30, 0x0C, 0x03 9 0xC0, 0x30, 0x0C, 0x03
10 }; 10};
11#elif LCD_PIXELFORMAT == VERTICAL_PACKING 11#elif LCD_PIXELFORMAT == VERTICAL_PACKING
12unsigned char pixmask[4] ICONST_ATTR = { 12fb_data pixmask[4] ICONST_ATTR = {
13 0x03, 0x0C, 0x30, 0xC0 13 0x03, 0x0C, 0x30, 0xC0
14}; 14};
15#elif LCD_PIXELFORMAT == VERTICAL_INTERLEAVED
16fb_data pixmask[8] ICONST_ATTR = {
17 0x0101, 0x0202, 0x0404, 0x0808, 0x1010, 0x2020, 0x4040, 0x8080
18};
19fb_data pixval[4] ICONST_ATTR = {
20 0x0000, 0x0001, 0x0100, 0x0101
21};
15#endif 22#endif
16 23
17void init_spect_scr(void) 24void init_spect_scr(void)
@@ -63,8 +70,8 @@ void update_screen(void)
63 srcx = 0; /* reset our x counter before each row... */ 70 srcx = 0; /* reset our x counter before each row... */
64 for(x = 0; x < LCD_WIDTH; x++) 71 for(x = 0; x < LCD_WIDTH; x++)
65 { 72 {
66 mask = pixmask[x & 3]; 73 mask = ~pixmask[x & 3];
67 frameb[x >> 2] = (frameb[x >> 2] & ~mask) | ((image[(srcx>>16)]&0x3) << ((3-(x & 3 )) * 2 )); 74 frameb[x >> 2] = (frameb[x >> 2] & mask) | ((image[(srcx>>16)]&0x3) << ((3-(x & 3 )) * 2 ));
68 srcx += X_STEP; /* move through source image */ 75 srcx += X_STEP; /* move through source image */
69 } 76 }
70 srcy += Y_STEP; /* move through the source image... */ 77 srcy += Y_STEP; /* move through the source image... */
@@ -78,17 +85,34 @@ void update_screen(void)
78 frameb = rb->lcd_framebuffer + (y/4) * LCD_WIDTH; 85 frameb = rb->lcd_framebuffer + (y/4) * LCD_WIDTH;
79 srcx = 0; /* reset our x counter before each row... */ 86 srcx = 0; /* reset our x counter before each row... */
80 shift = ((y & 3 ) * 2 ); 87 shift = ((y & 3 ) * 2 );
81 mask = pixmask[y & 3]; 88 mask = ~pixmask[y & 3];
89 for(x = 0; x < LCD_WIDTH; x++)
90 {
91 frameb[x] = (frameb[x] & mask) | ((image[(srcx>>16)]&0x3) << shift );
92 srcx += X_STEP; /* move through source image */
93 }
94 srcy += Y_STEP; /* move through the source image... */
95 image += (srcy>>16)*WIDTH; /* and possibly to the next row. */
96 srcy &= 0xffff; /* set up the y-coordinate between 0 and 1 */
97 }
98#elif LCD_PIXELFORMAT == VERTICAL_INTERLEAVED
99 int shift;
100 for(y = 0; y < LCD_HEIGHT; y++)
101 {
102 frameb = rb->lcd_framebuffer + (y/8) * LCD_WIDTH;
103 srcx = 0; /* reset our x counter before each row... */
104 shift = (y & 7);
105 mask = ~pixmask[y & 7];
82 for(x = 0; x < LCD_WIDTH; x++) 106 for(x = 0; x < LCD_WIDTH; x++)
83 { 107 {
84 frameb[x] = (frameb[x] & ~mask) | ((image[(srcx>>16)]&0x3) << shift ); 108 frameb[x] = (frameb[x] & mask) | (pixval[image[(srcx>>16)]&0x3] << shift );
85 srcx += X_STEP; /* move through source image */ 109 srcx += X_STEP; /* move through source image */
86 } 110 }
87 srcy += Y_STEP; /* move through the source image... */ 111 srcy += Y_STEP; /* move through the source image... */
88 image += (srcy>>16)*WIDTH; /* and possibly to the next row. */ 112 image += (srcy>>16)*WIDTH; /* and possibly to the next row. */
89 srcy &= 0xffff; /* set up the y-coordinate between 0 and 1 */ 113 srcy &= 0xffff; /* set up the y-coordinate between 0 and 1 */
90 } 114 }
91#endif 115#endif
92 116
93 if ( settings.showfps ) { 117 if ( settings.showfps ) {
94 int percent=0; 118 int percent=0;