summaryrefslogtreecommitdiff
path: root/uisimulator
diff options
context:
space:
mode:
authorDave Chapman <dave@dchapman.com>2007-01-14 13:48:09 +0000
committerDave Chapman <dave@dchapman.com>2007-01-14 13:48:09 +0000
commitd64e626387e21dc6a7ab374f17dec1e902cd9779 (patch)
tree6a16bbf5de0becfd6588bff30c11c8ed9fd25c9e /uisimulator
parent72f1027b3edae94ad9962c654519c2cab8566078 (diff)
downloadrockbox-d64e626387e21dc6a7ab374f17dec1e902cd9779.tar.gz
rockbox-d64e626387e21dc6a7ab374f17dec1e902cd9779.zip
Start of work on a port to the Archos 'AV300' (AV320/340/380) - a working UI simulator (but with a dummy background image for now) and the beginnings of the target-specific firmare code. Port is temporarily using a 2bpp LCD buffer format - the AV300 has a 320x240 colour (YCbCr-based) LCD which will need a new framebuffer format and drawing routines, but the LCD is also capable of various paletted bitmap modes, one of which has an identical framebuffer format to the greyscale ipods. Buttons (and hence the button mappings) are identical to the Archos Recorder, with the exception that the PLAY button on the Recorder is replaced by pressing the joystick on the AV300 (which I call BUTTON_SELECT). The initial port will begin by being strictly HWCODEC, but will evolve to be a hybrid SWCODEC/HWCODEC platform - it has a MAS3587F but also a main CPU (54MHz arm7tdmi plus DSP) capable of software decoding of at least some formats.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12008 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'uisimulator')
-rw-r--r--uisimulator/sdl/UI-av300.bmpbin0 -> 428454 bytes
-rw-r--r--uisimulator/sdl/button.c43
-rw-r--r--uisimulator/sdl/uisdl.h13
3 files changed, 56 insertions, 0 deletions
diff --git a/uisimulator/sdl/UI-av300.bmp b/uisimulator/sdl/UI-av300.bmp
new file mode 100644
index 0000000000..e86221ca7e
--- /dev/null
+++ b/uisimulator/sdl/UI-av300.bmp
Binary files differ
diff --git a/uisimulator/sdl/button.c b/uisimulator/sdl/button.c
index 6931d13fe5..f5da828914 100644
--- a/uisimulator/sdl/button.c
+++ b/uisimulator/sdl/button.c
@@ -421,6 +421,49 @@ void button_event(int key, bool pressed)
421 new_btn = BUTTON_PLAY; 421 new_btn = BUTTON_PLAY;
422 break; 422 break;
423 423
424#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD
425 case SDLK_KP4:
426 case SDLK_LEFT:
427 new_btn = BUTTON_LEFT;
428 break;
429 case SDLK_KP6:
430 case SDLK_RIGHT:
431 new_btn = BUTTON_RIGHT;
432 break;
433 case SDLK_KP8:
434 case SDLK_UP:
435 new_btn = BUTTON_UP;
436 break;
437 case SDLK_KP2:
438 case SDLK_DOWN:
439 new_btn = BUTTON_DOWN;
440 break;
441 case SDLK_KP_PLUS:
442 case SDLK_F8:
443 new_btn = BUTTON_ON;
444 break;
445 case SDLK_KP_ENTER:
446 case SDLK_RETURN:
447 case SDLK_a:
448 new_btn = BUTTON_OFF;
449 break;
450 case SDLK_KP_DIVIDE:
451 case SDLK_F1:
452 new_btn = BUTTON_F1;
453 break;
454 case SDLK_KP_MULTIPLY:
455 case SDLK_F2:
456 new_btn = BUTTON_F2;
457 break;
458 case SDLK_KP_MINUS:
459 case SDLK_F3:
460 new_btn = BUTTON_F3;
461 break;
462 case SDLK_KP5:
463 case SDLK_SPACE:
464 new_btn = BUTTON_SELECT;
465 break;
466
424#elif CONFIG_KEYPAD == SANSA_E200_PAD 467#elif CONFIG_KEYPAD == SANSA_E200_PAD
425 case SDLK_KP4: 468 case SDLK_KP4:
426 case SDLK_LEFT: 469 case SDLK_LEFT:
diff --git a/uisimulator/sdl/uisdl.h b/uisimulator/sdl/uisdl.h
index e742155f6a..7f0a567e79 100644
--- a/uisimulator/sdl/uisdl.h
+++ b/uisimulator/sdl/uisdl.h
@@ -241,6 +241,19 @@
241#define UI_LCD_WIDTH LCD_WIDTH /* * 1.5 */ 241#define UI_LCD_WIDTH LCD_WIDTH /* * 1.5 */
242#define UI_LCD_HEIGHT LCD_HEIGHT /* * 1.5 */ 242#define UI_LCD_HEIGHT LCD_HEIGHT /* * 1.5 */
243 243
244#elif defined(ARCHOS_AV300)
245#define UI_TITLE "Archos AV300"
246/* We are temporarily using a 2bpp LCD driver and dummy bitmap */
247#define UI_WIDTH 420 /* width of GUI window */
248#define UI_HEIGHT 340 /* height of GUI window */
249#define UI_LCD_POSX 50 /* x position of lcd */
250#define UI_LCD_POSY 50 /* y position of lcd */
251#define UI_LCD_WIDTH 320
252#define UI_LCD_HEIGHT 240
253#define UI_LCD_BGCOLOR 90, 145, 90 /* bkgnd color of LCD (no backlight) */
254#define UI_LCD_BGCOLORLIGHT 173, 216, 230 /* bkgnd color of LCD (backlight) */
255#define UI_LCD_BLACK 0, 0, 0 /* black */
256
244#endif 257#endif
245extern SDL_Surface *gui_surface; 258extern SDL_Surface *gui_surface;
246extern bool background; /* True if the background image is enabled */ 259extern bool background; /* True if the background image is enabled */