diff options
author | Amaury Pouly <amaury.pouly@gmail.com> | 2017-09-16 23:29:50 +0200 |
---|---|---|
committer | Amaury Pouly <amaury.pouly@gmail.com> | 2017-09-17 00:03:45 +0200 |
commit | a0fca0c7bf3bd1c121667a1e66614646a6b96752 (patch) | |
tree | e5e53563357dd75a057531cad5f293f99c26fa57 | |
parent | ac57f96838b53e574477d13bf41bc54711a70c21 (diff) | |
download | rockbox-a0fca0c7bf3bd1c121667a1e66614646a6b96752.tar.gz rockbox-a0fca0c7bf3bd1c121667a1e66614646a6b96752.zip |
Add simulator support for the A860
This requires a few changes unrelated to the A860 because configure unsets
APPLICATION but the NWZ is an application!
Change-Id: Id91aa23193383ac95886b281653da5286edd9caf
-rw-r--r-- | apps/debug_menu.c | 2 | ||||
-rw-r--r-- | firmware/SOURCES | 4 | ||||
-rw-r--r-- | firmware/export/config/sonynwzlinux.h | 12 | ||||
-rw-r--r-- | firmware/export/hostfs.h | 3 | ||||
-rw-r--r-- | firmware/target/hosted/sdl/sim-ui-defines.h | 7 | ||||
-rw-r--r-- | uisimulator/bitmaps/UI-sonynwza860.bmp | bin | 0 -> 808734 bytes | |||
-rw-r--r-- | uisimulator/buttonmap/SOURCES | 2 | ||||
-rw-r--r-- | uisimulator/buttonmap/sony-nwza860.c | 65 |
8 files changed, 89 insertions, 6 deletions
diff --git a/apps/debug_menu.c b/apps/debug_menu.c index 55454e0b94..5224dbe267 100644 --- a/apps/debug_menu.c +++ b/apps/debug_menu.c | |||
@@ -2594,7 +2594,7 @@ static const struct { | |||
2594 | #endif | 2594 | #endif |
2595 | { "Skin Engine RAM usage", dbg_skin_engine }, | 2595 | { "Skin Engine RAM usage", dbg_skin_engine }, |
2596 | #endif | 2596 | #endif |
2597 | #if (CONFIG_PLATFORM & PLATFORM_NATIVE) || defined(SONY_NWZ_LINUX) | 2597 | #if (CONFIG_PLATFORM & PLATFORM_NATIVE) || (defined(SONY_NWZ_LINUX) && !defined(SIMULATOR)) |
2598 | { "View HW info", dbg_hw_info }, | 2598 | { "View HW info", dbg_hw_info }, |
2599 | #endif | 2599 | #endif |
2600 | #if (CONFIG_PLATFORM & PLATFORM_NATIVE) | 2600 | #if (CONFIG_PLATFORM & PLATFORM_NATIVE) |
diff --git a/firmware/SOURCES b/firmware/SOURCES index 8ec17f7ec6..c29b5318d5 100644 --- a/firmware/SOURCES +++ b/firmware/SOURCES | |||
@@ -95,12 +95,11 @@ target/hosted/samsungypr/radio-ypr.c | |||
95 | #endif | 95 | #endif |
96 | #endif | 96 | #endif |
97 | 97 | ||
98 | #ifdef SONY_NWZ_LINUX | 98 | #if defined(SONY_NWZ_LINUX) && !defined(SIMULATOR) |
99 | target/hosted/backtrace-glibc.c | 99 | target/hosted/backtrace-glibc.c |
100 | target/hosted/kernel-unix.c | 100 | target/hosted/kernel-unix.c |
101 | target/hosted/filesystem-unix.c | 101 | target/hosted/filesystem-unix.c |
102 | target/hosted/lc-unix.c | 102 | target/hosted/lc-unix.c |
103 | target/hosted/pcm-alsa.c | ||
104 | target/hosted/sonynwz/lcd-nwz.c | 103 | target/hosted/sonynwz/lcd-nwz.c |
105 | target/hosted/sonynwz/button-nwz.c | 104 | target/hosted/sonynwz/button-nwz.c |
106 | target/hosted/sonynwz/system-nwz.c | 105 | target/hosted/sonynwz/system-nwz.c |
@@ -467,6 +466,7 @@ target/hosted/pcm-alsa.c | |||
467 | #elif defined(HAVE_NWZ_LINUX_CODEC) | 466 | #elif defined(HAVE_NWZ_LINUX_CODEC) |
468 | drivers/audio/nwzlinux-codec.c | 467 | drivers/audio/nwzlinux-codec.c |
469 | target/hosted/alsa-controls.c | 468 | target/hosted/alsa-controls.c |
469 | target/hosted/pcm-alsa.c | ||
470 | #elif defined(HAVE_SDL_AUDIO) | 470 | #elif defined(HAVE_SDL_AUDIO) |
471 | drivers/audio/sdl.c | 471 | drivers/audio/sdl.c |
472 | #if CONFIG_CODEC == SWCODEC | 472 | #if CONFIG_CODEC == SWCODEC |
diff --git a/firmware/export/config/sonynwzlinux.h b/firmware/export/config/sonynwzlinux.h index 4c66651e6b..4d95ef9cdd 100644 --- a/firmware/export/config/sonynwzlinux.h +++ b/firmware/export/config/sonynwzlinux.h | |||
@@ -2,7 +2,9 @@ | |||
2 | * This config file is for the Sony NWZ Linux based targets | 2 | * This config file is for the Sony NWZ Linux based targets |
3 | */ | 3 | */ |
4 | 4 | ||
5 | #ifndef SIMULATOR | ||
5 | #define CONFIG_PLATFORM (PLATFORM_HOSTED) | 6 | #define CONFIG_PLATFORM (PLATFORM_HOSTED) |
7 | #endif | ||
6 | 8 | ||
7 | /* define this if you have a bitmap LCD display */ | 9 | /* define this if you have a bitmap LCD display */ |
8 | #define HAVE_LCD_BITMAP | 10 | #define HAVE_LCD_BITMAP |
@@ -64,10 +66,17 @@ | |||
64 | #define CONFIG_KEYPAD SONY_NWZ_PAD | 66 | #define CONFIG_KEYPAD SONY_NWZ_PAD |
65 | #define HAS_BUTTON_HOLD | 67 | #define HAS_BUTTON_HOLD |
66 | 68 | ||
69 | /** Non-simulator section **/ | ||
70 | #ifndef SIMULATOR | ||
67 | /* We have usb power and can detect usb but it is handled by Linux */ | 71 | /* We have usb power and can detect usb but it is handled by Linux */ |
68 | #define HAVE_USB_POWER | 72 | #define HAVE_USB_POWER |
69 | #define USB_NONE | 73 | #define USB_NONE |
70 | 74 | ||
75 | /* Audio codec */ | ||
76 | #define HAVE_NWZ_LINUX_CODEC | ||
77 | |||
78 | #endif /* SIMULATOR */ | ||
79 | |||
71 | #define CONFIG_BATTERY_MEASURE VOLTAGE_MEASURE | 80 | #define CONFIG_BATTERY_MEASURE VOLTAGE_MEASURE |
72 | 81 | ||
73 | /* Linux controlls charging, we can monitor */ | 82 | /* Linux controlls charging, we can monitor */ |
@@ -92,9 +101,6 @@ | |||
92 | /* Battery */ | 101 | /* Battery */ |
93 | #define BATTERY_TYPES_COUNT 1 | 102 | #define BATTERY_TYPES_COUNT 1 |
94 | 103 | ||
95 | /* Audio codec */ | ||
96 | #define HAVE_NWZ_LINUX_CODEC | ||
97 | |||
98 | /* special define to be use in various places */ | 104 | /* special define to be use in various places */ |
99 | #define SONY_NWZ_LINUX | 105 | #define SONY_NWZ_LINUX |
100 | 106 | ||
diff --git a/firmware/export/hostfs.h b/firmware/export/hostfs.h index a24d009ca9..fa916870f3 100644 --- a/firmware/export/hostfs.h +++ b/firmware/export/hostfs.h | |||
@@ -60,6 +60,9 @@ extern int hostfs_driver_type(int drive); | |||
60 | # define hostfs_driver_type(drive) (STORAGE_NAND_NUM) | 60 | # define hostfs_driver_type(drive) (STORAGE_NAND_NUM) |
61 | # elif (CONFIG_STORAGE & STORAGE_RAMDISK) | 61 | # elif (CONFIG_STORAGE & STORAGE_RAMDISK) |
62 | # define hostfs_driver_type(drive) (STORAGE_RAMDISK_NUM) | 62 | # define hostfs_driver_type(drive) (STORAGE_RAMDISK_NUM) |
63 | /* we may have hostfs without application when building sims for applications! */ | ||
64 | # elif (CONFIG_STORAGE & STORAGE_HOSTFS) | ||
65 | # define hostfs_driver_type(drive) (STORAGE_HOSTFS_NUM) | ||
63 | # else | 66 | # else |
64 | # error Unknown storage driver | 67 | # error Unknown storage driver |
65 | # endif /* CONFIG_STORAGE */ | 68 | # endif /* CONFIG_STORAGE */ |
diff --git a/firmware/target/hosted/sdl/sim-ui-defines.h b/firmware/target/hosted/sdl/sim-ui-defines.h index 8f2a112cf9..d14f70bf99 100644 --- a/firmware/target/hosted/sdl/sim-ui-defines.h +++ b/firmware/target/hosted/sdl/sim-ui-defines.h | |||
@@ -508,6 +508,13 @@ | |||
508 | #define UI_LCD_POSX 46 | 508 | #define UI_LCD_POSX 46 |
509 | #define UI_LCD_POSY 40 | 509 | #define UI_LCD_POSY 40 |
510 | 510 | ||
511 | #elif defined(SONY_NWZA860) | ||
512 | #define UI_TITLE "Sony NWZ-A860 Series" | ||
513 | #define UI_WIDTH 390 /* width of GUI window */ | ||
514 | #define UI_HEIGHT 690/* height of GUI window */ | ||
515 | #define UI_LCD_POSX 78 | ||
516 | #define UI_LCD_POSY 92 | ||
517 | |||
511 | #elif defined(SIMULATOR) | 518 | #elif defined(SIMULATOR) |
512 | #error no UI defines | 519 | #error no UI defines |
513 | #endif | 520 | #endif |
diff --git a/uisimulator/bitmaps/UI-sonynwza860.bmp b/uisimulator/bitmaps/UI-sonynwza860.bmp new file mode 100644 index 0000000000..c8b9b6335c --- /dev/null +++ b/uisimulator/bitmaps/UI-sonynwza860.bmp | |||
Binary files differ | |||
diff --git a/uisimulator/buttonmap/SOURCES b/uisimulator/buttonmap/SOURCES index 7f361959f4..6acbd94624 100644 --- a/uisimulator/buttonmap/SOURCES +++ b/uisimulator/buttonmap/SOURCES | |||
@@ -81,5 +81,7 @@ sony-nwz.c | |||
81 | samsung-ypr0.c | 81 | samsung-ypr0.c |
82 | #elif CONFIG_KEYPAD == CREATIVE_ZEN_PAD | 82 | #elif CONFIG_KEYPAD == CREATIVE_ZEN_PAD |
83 | creative-zen.c | 83 | creative-zen.c |
84 | #elif CONFIG_KEYPAD == SONY_NWZA860_PAD | ||
85 | sony-nwza860.c | ||
84 | #endif | 86 | #endif |
85 | #endif /* SIMULATOR */ | 87 | #endif /* SIMULATOR */ |
diff --git a/uisimulator/buttonmap/sony-nwza860.c b/uisimulator/buttonmap/sony-nwza860.c new file mode 100644 index 0000000000..c117c0afb0 --- /dev/null +++ b/uisimulator/buttonmap/sony-nwza860.c | |||
@@ -0,0 +1,65 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2017 by Amaury Pouly | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or | ||
13 | * modify it under the terms of the GNU General Public License | ||
14 | * as published by the Free Software Foundation; either version 2 | ||
15 | * of the License, or (at your option) any later version. | ||
16 | * | ||
17 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
18 | * KIND, either express or implied. | ||
19 | * | ||
20 | ****************************************************************************/ | ||
21 | |||
22 | |||
23 | #include <SDL.h> | ||
24 | #include "button.h" | ||
25 | #include "buttonmap.h" | ||
26 | |||
27 | int key_to_button(int keyboard_button) | ||
28 | { | ||
29 | int new_btn = BUTTON_NONE; | ||
30 | switch (keyboard_button) | ||
31 | { | ||
32 | case SDLK_F1: | ||
33 | new_btn = BUTTON_REW; | ||
34 | break; | ||
35 | case SDLK_F2: | ||
36 | new_btn = BUTTON_FF; | ||
37 | break; | ||
38 | case SDLK_KP_PLUS: | ||
39 | new_btn = BUTTON_VOL_UP; | ||
40 | break; | ||
41 | case SDLK_KP_MINUS: | ||
42 | new_btn = BUTTON_VOL_DOWN; | ||
43 | break; | ||
44 | case SDLK_KP1: | ||
45 | case SDLK_HOME: | ||
46 | case SDLK_BACKSPACE: | ||
47 | new_btn = BUTTON_BACK; | ||
48 | break; | ||
49 | case SDLK_F3: | ||
50 | new_btn = BUTTON_PLAY; | ||
51 | break; | ||
52 | } | ||
53 | printf("btn: %d -> %x\n", keyboard_button, new_btn); | ||
54 | return new_btn; | ||
55 | } | ||
56 | |||
57 | struct button_map bm[] = { | ||
58 | { SDLK_F1, 368, 490, 30, "Rewind" }, | ||
59 | { SDLK_F2, 368, 384, 30, "Fast Forward" }, | ||
60 | { SDLK_BACKSPACE, 197, 651, 50, "Home" }, | ||
61 | { SDLK_F3, 368, 435, 30, "Play" }, | ||
62 | { SDLK_KP_MINUS, 368, 166, 30, "Volume -" }, | ||
63 | { SDLK_KP_PLUS, 368, 226, 30, "Volume +" }, | ||
64 | { 0, 0, 0, 0, "None" } | ||
65 | }; | ||