From 0d935ce75e1408dfd9832ae7dbb7d84df50a645d Mon Sep 17 00:00:00 2001 From: Jens Arnold Date: Mon, 9 Feb 2009 00:32:59 +0000 Subject: Put the display colours for monochrome and greyscale targets into the target config files, and use them both for the simulator UI and screendumps. The Clip now shows the split display properly in screendumps and simulator. A side effect is that screendumps of ordinary monochrome targets are now 4-bit BMP files (saves an alternate code path, and might be more compatible with some gfx programs). * Simplify the simulation of split display, and also simplify greylib simulation. The simulator now always calculates 129 shades (2*128 for a Clip sim), and just uses 2 (or 4) of those for native display simulation. * Centralised the simulator LCD dimension definition. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19950 a1c6a512-1295-4272-9138-f99709370657 --- firmware/export/config-clip.h | 17 +++++++++++++++++ firmware/export/config-fmrecorder.h | 6 ++++++ firmware/export/config-h100.h | 12 ++++++++++++ firmware/export/config-h120.h | 12 ++++++++++++ firmware/export/config-h300.h | 6 ++++++ firmware/export/config-iaudiom3.h | 6 ++++++ firmware/export/config-iaudiom5.h | 12 ++++++++++++ firmware/export/config-iaudiox5.h | 6 ++++++ firmware/export/config-ifp7xx.h | 6 ++++++ firmware/export/config-ipod1g2g.h | 6 ++++++ firmware/export/config-ipod3g.h | 6 ++++++ firmware/export/config-ipod4g.h | 6 ++++++ firmware/export/config-ipodmini.h | 6 ++++++ firmware/export/config-ipodmini2g.h | 6 ++++++ firmware/export/config-logikdax.h | 6 ++++++ firmware/export/config-m200.h | 6 ++++++ firmware/export/config-m200v4.h | 6 ++++++ firmware/export/config-mrobe100.h | 10 +++++++++- firmware/export/config-ondiofm.h | 6 ++++++ firmware/export/config-ondiosp.h | 6 ++++++ firmware/export/config-player.h | 6 ++++++ firmware/export/config-recorder.h | 6 ++++++ firmware/export/config-recorderv2.h | 6 ++++++ firmware/export/config.h | 22 ++++++++++++++++++++++ 24 files changed, 192 insertions(+), 1 deletion(-) (limited to 'firmware') diff --git a/firmware/export/config-clip.h b/firmware/export/config-clip.h index da8acf2fdf..95ed715276 100644 --- a/firmware/export/config-clip.h +++ b/firmware/export/config-clip.h @@ -45,7 +45,24 @@ #define LCD_WIDTH 128 #define LCD_HEIGHT 64 #define LCD_DEPTH 1 + #define LCD_PIXELFORMAT VERTICAL_PACKING +#define HAVE_NEGATIVE_LCD /* bright on dark */ +#define HAVE_LCD_SPLIT /* split display */ + +/* Display colours, for screenshots and sim (0xRRGGBB) */ +#define LCD_DARKCOLOR 0x000000 +#define LCD_BRIGHTCOLOR 0x000000 +#define LCD_BL_DARKCOLOR 0x000000 +#define LCD_BL_BRIGHTCOLOR 0x0de2e5 + +#define LCD_DARKCOLOR_2 0x000000 +#define LCD_BRIGHTCOLOR_2 0x000000 +#define LCD_BL_DARKCOLOR_2 0x000000 +#define LCD_BL_BRIGHTCOLOR_2 0xffe60f + +#define LCD_SPLIT_POS 16 +#define LCD_SPLIT_LINES 2 /* define this if you have LCD enable function */ #define HAVE_LCD_ENABLE diff --git a/firmware/export/config-fmrecorder.h b/firmware/export/config-fmrecorder.h index da281bd033..bc859df67a 100644 --- a/firmware/export/config-fmrecorder.h +++ b/firmware/export/config-fmrecorder.h @@ -39,6 +39,12 @@ #define LCD_PIXELFORMAT VERTICAL_PACKING +/* Display colours, for screenshots and sim (0xRRGGBB) */ +#define LCD_DARKCOLOR 0x000000 +#define LCD_BRIGHTCOLOR 0x5a915a +#define LCD_BL_DARKCOLOR 0x000000 +#define LCD_BL_BRIGHTCOLOR 0x7ee57e + /* define this if you have a Recorder style 10-key keyboard */ #define CONFIG_KEYPAD RECORDER_PAD diff --git a/firmware/export/config-h100.h b/firmware/export/config-h100.h index 6ca2a0701e..34ba3e5ad9 100644 --- a/firmware/export/config-h100.h +++ b/firmware/export/config-h100.h @@ -44,6 +44,12 @@ #define LCD_PIXELFORMAT VERTICAL_PACKING +/* Display colours, for screenshots and sim (0xRRGGBB) */ +#define LCD_DARKCOLOR 0x000000 +#define LCD_BRIGHTCOLOR 0x7e917e +#define LCD_BL_DARKCOLOR 0x000000 +#define LCD_BL_BRIGHTCOLOR 0xadd8e6 + /* remote LCD */ #define LCD_REMOTE_WIDTH 128 #define LCD_REMOTE_HEIGHT 64 @@ -51,6 +57,12 @@ #define LCD_REMOTE_PIXELFORMAT VERTICAL_PACKING +/* Remote display colours, for screenshots and sim (0xRRGGBB) */ +#define LCD_REMOTE_DARKCOLOR 0x000000 +#define LCD_REMOTE_BRIGHTCOLOR 0x5a915a +#define LCD_REMOTE_BL_DARKCOLOR 0x000000 +#define LCD_REMOTE_BL_BRIGHTCOLOR 0x82b4fa + #define CONFIG_KEYPAD IRIVER_H100_PAD #define CONFIG_REMOTE_KEYPAD H100_REMOTE diff --git a/firmware/export/config-h120.h b/firmware/export/config-h120.h index 74074e83e0..37c1872335 100644 --- a/firmware/export/config-h120.h +++ b/firmware/export/config-h120.h @@ -39,6 +39,12 @@ #define LCD_PIXELFORMAT VERTICAL_PACKING +/* Display colours, for screenshots and sim (0xRRGGBB) */ +#define LCD_DARKCOLOR 0x000000 +#define LCD_BRIGHTCOLOR 0x7e917e +#define LCD_BL_DARKCOLOR 0x000000 +#define LCD_BL_BRIGHTCOLOR 0xadd8e6 + /* remote LCD */ #define LCD_REMOTE_WIDTH 128 #define LCD_REMOTE_HEIGHT 64 @@ -46,6 +52,12 @@ #define LCD_REMOTE_PIXELFORMAT VERTICAL_PACKING +/* Remote display colours, for screenshots and sim (0xRRGGBB) */ +#define LCD_REMOTE_DARKCOLOR 0x000000 +#define LCD_REMOTE_BRIGHTCOLOR 0x5a915a +#define LCD_REMOTE_BL_DARKCOLOR 0x000000 +#define LCD_REMOTE_BL_BRIGHTCOLOR 0x82b4fa + #define CONFIG_KEYPAD IRIVER_H100_PAD #define CONFIG_REMOTE_KEYPAD H100_REMOTE diff --git a/firmware/export/config-h300.h b/firmware/export/config-h300.h index 037bb26b2d..ba09884957 100644 --- a/firmware/export/config-h300.h +++ b/firmware/export/config-h300.h @@ -45,6 +45,12 @@ #define LCD_REMOTE_PIXELFORMAT VERTICAL_PACKING +/* Remote display colours, for screenshots and sim (0xRRGGBB) */ +#define LCD_REMOTE_DARKCOLOR 0x000000 +#define LCD_REMOTE_BRIGHTCOLOR 0x5a915a +#define LCD_REMOTE_BL_DARKCOLOR 0x000000 +#define LCD_REMOTE_BL_BRIGHTCOLOR 0x82b4fa + #define CONFIG_KEYPAD IRIVER_H300_PAD #define CONFIG_REMOTE_KEYPAD H300_REMOTE diff --git a/firmware/export/config-iaudiom3.h b/firmware/export/config-iaudiom3.h index a6e1028897..e72813c853 100644 --- a/firmware/export/config-iaudiom3.h +++ b/firmware/export/config-iaudiom3.h @@ -52,6 +52,12 @@ #define LCD_PIXELFORMAT VERTICAL_INTERLEAVED +/* Display colours, for screenshots and sim (0xRRGGBB) */ +#define LCD_DARKCOLOR 0x000000 +#define LCD_BRIGHTCOLOR 0x7e917e +#define LCD_BL_DARKCOLOR 0x000000 +#define LCD_BL_BRIGHTCOLOR 0x82b4fa + /* define this if only the remote has an LCD */ #define HAVE_REMOTE_LCD_AS_MAIN diff --git a/firmware/export/config-iaudiom5.h b/firmware/export/config-iaudiom5.h index 26cc9c5da6..d186895b45 100644 --- a/firmware/export/config-iaudiom5.h +++ b/firmware/export/config-iaudiom5.h @@ -52,6 +52,12 @@ #define LCD_PIXELFORMAT VERTICAL_PACKING +/* Display colours, for screenshots and sim (0xRRGGBB) */ +#define LCD_DARKCOLOR 0x000000 +#define LCD_BRIGHTCOLOR 0x648764 +#define LCD_BL_DARKCOLOR 0x000000 +#define LCD_BL_BRIGHTCOLOR 0xdfd8ff + /* remote LCD */ #define LCD_REMOTE_WIDTH 128 #define LCD_REMOTE_HEIGHT 96 @@ -59,6 +65,12 @@ #define LCD_REMOTE_PIXELFORMAT VERTICAL_INTERLEAVED +/* Remote display colours, for screenshots and sim (0xRRGGBB) */ +#define LCD_REMOTE_DARKCOLOR 0x000000 +#define LCD_REMOTE_BRIGHTCOLOR 0x5a915a +#define LCD_REMOTE_BL_DARKCOLOR 0x000000 +#define LCD_REMOTE_BL_BRIGHTCOLOR 0x82b4fa + #define CONFIG_KEYPAD IAUDIO_X5M5_PAD #define AB_REPEAT_ENABLE 1 diff --git a/firmware/export/config-iaudiox5.h b/firmware/export/config-iaudiox5.h index 27bd2c523b..218e1657dd 100644 --- a/firmware/export/config-iaudiox5.h +++ b/firmware/export/config-iaudiox5.h @@ -61,6 +61,12 @@ #define LCD_REMOTE_PIXELFORMAT VERTICAL_INTERLEAVED +/* Remote display colours, for screenshots and sim (0xRRGGBB) */ +#define LCD_REMOTE_DARKCOLOR 0x000000 +#define LCD_REMOTE_BRIGHTCOLOR 0x5a915a +#define LCD_REMOTE_BL_DARKCOLOR 0x000000 +#define LCD_REMOTE_BL_BRIGHTCOLOR 0x82b4fa + #ifndef BOOTLOADER /* Define this if your LCD can be enabled/disabled */ #define HAVE_LCD_ENABLE diff --git a/firmware/export/config-ifp7xx.h b/firmware/export/config-ifp7xx.h index 6a26a93da2..96faf46e91 100644 --- a/firmware/export/config-ifp7xx.h +++ b/firmware/export/config-ifp7xx.h @@ -29,6 +29,12 @@ #define LCD_PIXELFORMAT VERTICAL_PACKING +/* Display colours, for screenshots and sim (0xRRGGBB) */ +#define LCD_DARKCOLOR 0x000000 +#define LCD_BRIGHTCOLOR 0x5e6854 +#define LCD_BL_DARKCOLOR 0x000000 +#define LCD_BL_BRIGHTCOLOR 0x3ca0e6 + #define CONFIG_KEYPAD IRIVER_IFP7XX_PAD #define CONFIG_STORAGE STORAGE_NAND diff --git a/firmware/export/config-ipod1g2g.h b/firmware/export/config-ipod1g2g.h index 4308d9c66c..a06cb65828 100644 --- a/firmware/export/config-ipod1g2g.h +++ b/firmware/export/config-ipod1g2g.h @@ -51,6 +51,12 @@ #define LCD_PIXELFORMAT HORIZONTAL_PACKING +/* Display colours, for screenshots and sim (0xRRGGBB) */ +#define LCD_DARKCOLOR 0x000000 +#define LCD_BRIGHTCOLOR 0x648764 +#define LCD_BL_DARKCOLOR 0x000000 +#define LCD_BL_BRIGHTCOLOR 0xdfd8ff + /* define this if you can flip your LCD */ #define HAVE_LCD_FLIP diff --git a/firmware/export/config-ipod3g.h b/firmware/export/config-ipod3g.h index f1550576d2..fad3d3d0fb 100644 --- a/firmware/export/config-ipod3g.h +++ b/firmware/export/config-ipod3g.h @@ -52,6 +52,12 @@ #define LCD_PIXELFORMAT HORIZONTAL_PACKING +/* Display colours, for screenshots and sim (0xRRGGBB) */ +#define LCD_DARKCOLOR 0x000000 +#define LCD_BRIGHTCOLOR 0x5a915a +#define LCD_BL_DARKCOLOR 0x000000 +#define LCD_BL_BRIGHTCOLOR 0xadd8e6 + /* define this if you can flip your LCD */ #define HAVE_LCD_FLIP diff --git a/firmware/export/config-ipod4g.h b/firmware/export/config-ipod4g.h index e2aaa96ded..5bc0a18a98 100644 --- a/firmware/export/config-ipod4g.h +++ b/firmware/export/config-ipod4g.h @@ -52,6 +52,12 @@ #define LCD_DEPTH 2 /* 4 colours - 2bpp */ #define LCD_PIXELFORMAT HORIZONTAL_PACKING +/* Display colours, for screenshots and sim (0xRRGGBB) */ +#define LCD_DARKCOLOR 0x000000 +#define LCD_BRIGHTCOLOR 0x5a915a +#define LCD_BL_DARKCOLOR 0x000000 +#define LCD_BL_BRIGHTCOLOR 0xadd8e6 + #define HAVE_LCD_CONTRAST /* LCD contrast */ diff --git a/firmware/export/config-ipodmini.h b/firmware/export/config-ipodmini.h index bc59ededfe..0e87d02ee8 100644 --- a/firmware/export/config-ipodmini.h +++ b/firmware/export/config-ipodmini.h @@ -51,6 +51,12 @@ #define LCD_PIXELFORMAT HORIZONTAL_PACKING +/* Display colours, for screenshots and sim (0xRRGGBB) */ +#define LCD_DARKCOLOR 0x000000 +#define LCD_BRIGHTCOLOR 0x648764 +#define LCD_BL_DARKCOLOR 0x000000 +#define LCD_BL_BRIGHTCOLOR 0xdfd8ff + #define HAVE_LCD_CONTRAST /* LCD contrast */ diff --git a/firmware/export/config-ipodmini2g.h b/firmware/export/config-ipodmini2g.h index 4775350712..a44087f897 100644 --- a/firmware/export/config-ipodmini2g.h +++ b/firmware/export/config-ipodmini2g.h @@ -51,6 +51,12 @@ #define LCD_PIXELFORMAT HORIZONTAL_PACKING +/* Display colours, for screenshots and sim (0xRRGGBB) */ +#define LCD_DARKCOLOR 0x000000 +#define LCD_BRIGHTCOLOR 0x648764 +#define LCD_BL_DARKCOLOR 0x000000 +#define LCD_BL_BRIGHTCOLOR 0xdfd8ff + #define HAVE_LCD_CONTRAST /* LCD contrast */ diff --git a/firmware/export/config-logikdax.h b/firmware/export/config-logikdax.h index 78a39d32b7..800688b01d 100644 --- a/firmware/export/config-logikdax.h +++ b/firmware/export/config-logikdax.h @@ -55,6 +55,12 @@ #define LCD_PIXELFORMAT VERTICAL_PACKING +/* Display colours, for screenshots and sim (0xRRGGBB) */ +#define LCD_DARKCOLOR 0x000000 +#define LCD_BRIGHTCOLOR 0x5a915a +#define LCD_BL_DARKCOLOR 0x000000 +#define LCD_BL_BRIGHTCOLOR 0x82b4fa + /* define this to indicate your device's keypad */ #define CONFIG_KEYPAD LOGIK_DAX_PAD diff --git a/firmware/export/config-m200.h b/firmware/export/config-m200.h index cab1c9927b..38d59cbcbe 100644 --- a/firmware/export/config-m200.h +++ b/firmware/export/config-m200.h @@ -49,6 +49,12 @@ #define LCD_PIXELFORMAT VERTICAL_PACKING +/* Display colours, for screenshots and sim (0xRRGGBB) */ +#define LCD_BARKCOLOR 0x000000 +#define LCD_BRIGHTCOLOR 0x5e6854 +#define LCD_BL_DARKCOLOR 0x000000 +#define LCD_BL_BRIGHTCOLOR 0x3ca0e6 + /* define this to indicate your device's keypad */ #define CONFIG_KEYPAD SANSA_M200_PAD diff --git a/firmware/export/config-m200v4.h b/firmware/export/config-m200v4.h index 3c601a77cb..c34f33c306 100644 --- a/firmware/export/config-m200v4.h +++ b/firmware/export/config-m200v4.h @@ -58,6 +58,12 @@ #define LCD_PIXELFORMAT VERTICAL_PACKING +/* Display colours, for screenshots and sim (0xRRGGBB) */ +#define LCD_BARKCOLOR 0x000000 +#define LCD_BRIGHTCOLOR 0x5e6854 +#define LCD_BL_DARKCOLOR 0x000000 +#define LCD_BL_BRIGHTCOLOR 0x3ca0e6 + /* define this to indicate your device's keypad */ #define CONFIG_KEYPAD SANSA_M200_PAD diff --git a/firmware/export/config-mrobe100.h b/firmware/export/config-mrobe100.h index f2fc5cb37a..817c7640b2 100644 --- a/firmware/export/config-mrobe100.h +++ b/firmware/export/config-mrobe100.h @@ -27,7 +27,15 @@ #define LCD_WIDTH 160 #define LCD_HEIGHT 128 #define LCD_DEPTH 1 -#define LCD_PIXELFORMAT VERTICAL_PACKING + +#define LCD_PIXELFORMAT VERTICAL_PACKING +#define HAVE_NEGATIVE_LCD /* bright on dark */ + +/* Display colours, for screenshots and sim (0xRRGGBB) */ +#define LCD_DARKCOLOR 0x000000 +#define LCD_BRIGHTCOLOR 0x323232 +#define LCD_BL_DARKCOLOR 0x5e0202 +#define LCD_BL_BRIGHTCOLOR 0xf10603 /* define this if you can flip your LCD */ #define HAVE_LCD_FLIP diff --git a/firmware/export/config-ondiofm.h b/firmware/export/config-ondiofm.h index 1b3b266191..32e67cac09 100644 --- a/firmware/export/config-ondiofm.h +++ b/firmware/export/config-ondiofm.h @@ -29,6 +29,12 @@ #define LCD_PIXELFORMAT VERTICAL_PACKING +/* Display colours, for screenshots and sim (0xRRGGBB) */ +#define LCD_DARKCOLOR 0x000000 +#define LCD_BRIGHTCOLOR 0x5a915a +#define LCD_BL_DARKCOLOR 0x000000 +#define LCD_BL_BRIGHTCOLOR 0x82b4fa + /* define this if you have an Ondio style 6-key keyboard */ #define CONFIG_KEYPAD ONDIO_PAD diff --git a/firmware/export/config-ondiosp.h b/firmware/export/config-ondiosp.h index 85065f40bb..baa54011ae 100644 --- a/firmware/export/config-ondiosp.h +++ b/firmware/export/config-ondiosp.h @@ -22,6 +22,12 @@ #define LCD_PIXELFORMAT VERTICAL_PACKING +/* Display colours, for screenshots and sim (0xRRGGBB) */ +#define LCD_DARKCOLOR 0x000000 +#define LCD_BRIGHTCOLOR 0x5a915a +#define LCD_BL_DARKCOLOR 0x000000 +#define LCD_BL_BRIGHTCOLOR 0x82b4fa + /* define this if you have an Ondio style 6-key keyboard */ #define CONFIG_KEYPAD ONDIO_PAD diff --git a/firmware/export/config-player.h b/firmware/export/config-player.h index 91d97abd97..3071a09be8 100644 --- a/firmware/export/config-player.h +++ b/firmware/export/config-player.h @@ -15,6 +15,12 @@ #define SIM_LCD_WIDTH 132 /* pixels */ #define SIM_LCD_HEIGHT 64 /* pixels */ +/* Display colours, for screenshots and sim (0xRRGGBB) */ +#define LCD_DARKCOLOR 0x000000 +#define LCD_BRIGHTCOLOR 0x5a915a +#define LCD_BL_DARKCOLOR 0x000000 +#define LCD_BL_BRIGHTCOLOR 0x7ee57e + /* define this if you have the Player's keyboard */ #define CONFIG_KEYPAD PLAYER_PAD diff --git a/firmware/export/config-recorder.h b/firmware/export/config-recorder.h index f0a513851f..44006b4196 100644 --- a/firmware/export/config-recorder.h +++ b/firmware/export/config-recorder.h @@ -39,6 +39,12 @@ #define LCD_PIXELFORMAT VERTICAL_PACKING +/* Display colours, for screenshots and sim (0xRRGGBB) */ +#define LCD_DARKCOLOR 0x000000 +#define LCD_BRIGHTCOLOR 0x5a915a +#define LCD_BL_DARKCOLOR 0x000000 +#define LCD_BL_BRIGHTCOLOR 0x7ee57e + /* define this if you have the Recorder's 10-key keyboard */ #define CONFIG_KEYPAD RECORDER_PAD diff --git a/firmware/export/config-recorderv2.h b/firmware/export/config-recorderv2.h index 4e77e3d4ed..5e404a9873 100644 --- a/firmware/export/config-recorderv2.h +++ b/firmware/export/config-recorderv2.h @@ -39,6 +39,12 @@ #define LCD_PIXELFORMAT VERTICAL_PACKING +/* Display colours, for screenshots and sim (0xRRGGBB) */ +#define LCD_DARKCOLOR 0x000000 +#define LCD_BRIGHTCOLOR 0x5a915a +#define LCD_BL_DARKCOLOR 0x000000 +#define LCD_BL_BRIGHTCOLOR 0x7ee57e + /* define this if you have a Recorder style 10-key keyboard */ #define CONFIG_KEYPAD RECORDER_PAD diff --git a/firmware/export/config.h b/firmware/export/config.h index 58ae66d1cd..2c299491f9 100644 --- a/firmware/export/config.h +++ b/firmware/export/config.h @@ -412,6 +412,28 @@ #define LCD_PIXEL_ASPECT_WIDTH 1 #endif +/* Used for split displays (Sansa Clip). Set to 0 otherwise */ +#ifndef LCD_SPLIT_LINES +#define LCD_SPLIT_LINES 0 +#endif + +/* Simulator LCD dimensions. Set to standard dimensions if undefined */ +#ifndef SIM_LCD_WIDTH +#define SIM_LCD_WIDTH LCD_WIDTH +#endif +#ifndef SIM_LCD_HEIGHT +#define SIM_LCD_HEIGHT (LCD_HEIGHT + LCD_SPLIT_LINES) +#endif + +#ifdef HAVE_REMOTE_LCD +#ifndef SIM_REMOTE_WIDTH +#define SIM_REMOTE_WIDTH LCD_REMOTE_WIDTH +#endif +#ifndef SIM_REMOTE_HEIGHT +#define SIM_REMOTE_HEIGHT LCD_REMOTE_HEIGHT +#endif +#endif /* HAVE_REMOTE_LCD */ + /* define this in the target config.h to use a different size */ #ifndef CONFIG_DEFAULT_ICON_HEIGHT #define CONFIG_DEFAULT_ICON_HEIGHT 8 -- cgit v1.2.3