diff options
author | Dave Chapman <dave@dchapman.com> | 2007-01-14 13:48:09 +0000 |
---|---|---|
committer | Dave Chapman <dave@dchapman.com> | 2007-01-14 13:48:09 +0000 |
commit | d64e626387e21dc6a7ab374f17dec1e902cd9779 (patch) | |
tree | 6a16bbf5de0becfd6588bff30c11c8ed9fd25c9e /uisimulator | |
parent | 72f1027b3edae94ad9962c654519c2cab8566078 (diff) | |
download | rockbox-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.bmp | bin | 0 -> 428454 bytes | |||
-rw-r--r-- | uisimulator/sdl/button.c | 43 | ||||
-rw-r--r-- | uisimulator/sdl/uisdl.h | 13 |
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 |
245 | extern SDL_Surface *gui_surface; | 258 | extern SDL_Surface *gui_surface; |
246 | extern bool background; /* True if the background image is enabled */ | 259 | extern bool background; /* True if the background image is enabled */ |