[87db514] | 1 | //------------------------------------------------------------------------ |
---|
| 2 | // lcd_lut.h: Lookup Table Values |
---|
| 3 | // |
---|
| 4 | |
---|
| 5 | uchar lcd_lut[256][3] = { |
---|
| 6 | // RED, GREEN, BLUE // Entry |
---|
| 7 | { 0x0, 0x0, 0x0, }, // 00 |
---|
| 8 | { 0x0, 0x0, 0xA, }, // 01 |
---|
| 9 | { 0x0, 0xA, 0x0, }, // 02 |
---|
| 10 | { 0x0, 0xA, 0xA, }, // 03 |
---|
| 11 | { 0xA, 0x0, 0x0, }, // 04 |
---|
| 12 | { 0xA, 0x0, 0xA, }, // 05 |
---|
| 13 | { 0xA, 0xA, 0x0, }, // 06 |
---|
| 14 | { 0xA, 0xA, 0xA, }, // 07 |
---|
| 15 | { 0x5, 0x5, 0x5, }, // 08 |
---|
| 16 | { 0x5, 0x5, 0xF, }, // 09 |
---|
| 17 | { 0x5, 0xF, 0x5, }, // 0A |
---|
| 18 | { 0x5, 0xF, 0xF, }, // 0B |
---|
| 19 | { 0xF, 0x5, 0x5, }, // 0C |
---|
| 20 | { 0xF, 0x5, 0xF, }, // 0D |
---|
| 21 | { 0xF, 0xF, 0x5, }, // 0E |
---|
| 22 | { 0xF, 0xF, 0xF, }, // 0F |
---|
| 23 | { 0x0, 0x0, 0x0, }, // 10 |
---|
| 24 | { 0x1, 0x1, 0x1, }, // 11 |
---|
| 25 | { 0x2, 0x2, 0x2, }, // 12 |
---|
| 26 | { 0x2, 0x2, 0x2, }, // 13 |
---|
| 27 | { 0x3, 0x3, 0x3, }, // 14 |
---|
| 28 | { 0x4, 0x4, 0x4, }, // 15 |
---|
| 29 | { 0x5, 0x5, 0x5, }, // 16 |
---|
| 30 | { 0x6, 0x6, 0x6, }, // 17 |
---|
| 31 | { 0x7, 0x7, 0x7, }, // 18 |
---|
| 32 | { 0x8, 0x8, 0x8, }, // 19 |
---|
| 33 | { 0x9, 0x9, 0x9, }, // 1A |
---|
| 34 | { 0xA, 0xA, 0xA, }, // 1B |
---|
| 35 | { 0xB, 0xB, 0xB, }, // 1C |
---|
| 36 | { 0xC, 0xC, 0xC, }, // 1D |
---|
| 37 | { 0xE, 0xE, 0xE, }, // 1E |
---|
| 38 | { 0xF, 0xF, 0xF, }, // 1F |
---|
| 39 | { 0x0, 0x0, 0xF, }, // 20 |
---|
| 40 | { 0x4, 0x0, 0xF, }, // 21 |
---|
| 41 | { 0x7, 0x0, 0xF, }, // 22 |
---|
| 42 | { 0xB, 0x0, 0xF, }, // 23 |
---|
| 43 | { 0xF, 0x0, 0xF, }, // 24 |
---|
| 44 | { 0xF, 0x0, 0xB, }, // 25 |
---|
| 45 | { 0xF, 0x0, 0x7, }, // 26 |
---|
| 46 | { 0xF, 0x0, 0x4, }, // 27 |
---|
| 47 | { 0xF, 0x0, 0x0, }, // 28 |
---|
| 48 | { 0xF, 0x4, 0x0, }, // 29 |
---|
| 49 | { 0xF, 0x7, 0x0, }, // 2A |
---|
| 50 | { 0xF, 0xB, 0x0, }, // 2B |
---|
| 51 | { 0xF, 0xF, 0x0, }, // 2C |
---|
| 52 | { 0xB, 0xF, 0x0, }, // 2D |
---|
| 53 | { 0x7, 0xF, 0x0, }, // 2E |
---|
| 54 | { 0x4, 0xF, 0x0, }, // 2F |
---|
| 55 | { 0x0, 0xF, 0x0, }, // 30 |
---|
| 56 | { 0x0, 0xF, 0x4, }, // 31 |
---|
| 57 | { 0x0, 0xF, 0x7, }, // 32 |
---|
| 58 | { 0x0, 0xF, 0xB, }, // 33 |
---|
| 59 | { 0x0, 0xF, 0xF, }, // 34 |
---|
| 60 | { 0x0, 0xB, 0xF, }, // 35 |
---|
| 61 | { 0x0, 0x7, 0xF, }, // 36 |
---|
| 62 | { 0x0, 0x4, 0xF, }, // 37 |
---|
| 63 | { 0x7, 0x7, 0xF, }, // 38 |
---|
| 64 | { 0x9, 0x7, 0xF, }, // 39 |
---|
| 65 | { 0xB, 0x7, 0xF, }, // 3A |
---|
| 66 | { 0xD, 0x7, 0xF, }, // 3B |
---|
| 67 | { 0xF, 0x7, 0xF, }, // 3C |
---|
| 68 | { 0xF, 0x7, 0xD, }, // 3D |
---|
| 69 | { 0xF, 0x7, 0xB, }, // 3E |
---|
| 70 | { 0xF, 0x7, 0x9, }, // 3F |
---|
| 71 | { 0xF, 0x7, 0x7, }, // 40 |
---|
| 72 | { 0xF, 0x9, 0x7, }, // 41 |
---|
| 73 | { 0xF, 0xB, 0x7, }, // 42 |
---|
| 74 | { 0xF, 0xD, 0x7, }, // 43 |
---|
| 75 | { 0xF, 0xF, 0x7, }, // 44 |
---|
| 76 | { 0xD, 0xF, 0x7, }, // 45 |
---|
| 77 | { 0xB, 0xF, 0x7, }, // 46 |
---|
| 78 | { 0x9, 0xF, 0x7, }, // 47 |
---|
| 79 | { 0x7, 0xF, 0x7, }, // 48 |
---|
| 80 | { 0x7, 0xF, 0x9, }, // 49 |
---|
| 81 | { 0x7, 0xF, 0xB, }, // 4A |
---|
| 82 | { 0x7, 0xF, 0xD, }, // 4B |
---|
| 83 | { 0x7, 0xF, 0xF, }, // 4C |
---|
| 84 | { 0x7, 0xD, 0xF, }, // 4D |
---|
| 85 | { 0x7, 0xB, 0xF, }, // 4E |
---|
| 86 | { 0x7, 0x9, 0xF, }, // 4F |
---|
| 87 | { 0xB, 0xB, 0xF, }, // 50 |
---|
| 88 | { 0xC, 0xB, 0xF, }, // 51 |
---|
| 89 | { 0xD, 0xB, 0xF, }, // 52 |
---|
| 90 | { 0xE, 0xB, 0xF, }, // 53 |
---|
| 91 | { 0xF, 0xB, 0xF, }, // 54 |
---|
| 92 | { 0xF, 0xB, 0xE, }, // 55 |
---|
| 93 | { 0xF, 0xB, 0xD, }, // 56 |
---|
| 94 | { 0xF, 0xB, 0xC, }, // 57 |
---|
| 95 | { 0xF, 0xB, 0xB, }, // 58 |
---|
| 96 | { 0xF, 0xC, 0xB, }, // 59 |
---|
| 97 | { 0xF, 0xD, 0xB, }, // 5A |
---|
| 98 | { 0xF, 0xE, 0xB, }, // 5B |
---|
| 99 | { 0xF, 0xF, 0xB, }, // 5C |
---|
| 100 | { 0xE, 0xF, 0xB, }, // 5D |
---|
| 101 | { 0xD, 0xF, 0xB, }, // 5E |
---|
| 102 | { 0xC, 0xF, 0xB, }, // 5F |
---|
| 103 | { 0xB, 0xF, 0xB, }, // 60 |
---|
| 104 | { 0xB, 0xF, 0xC, }, // 61 |
---|
| 105 | { 0xB, 0xF, 0xD, }, // 62 |
---|
| 106 | { 0xB, 0xF, 0xE, }, // 63 |
---|
| 107 | { 0xB, 0xF, 0xF, }, // 64 |
---|
| 108 | { 0xB, 0xE, 0xF, }, // 65 |
---|
| 109 | { 0xB, 0xD, 0xF, }, // 66 |
---|
| 110 | { 0xB, 0xC, 0xF, }, // 67 |
---|
| 111 | { 0x0, 0x0, 0x7, }, // 68 |
---|
| 112 | { 0x1, 0x0, 0x7, }, // 69 |
---|
| 113 | { 0x3, 0x0, 0x7, }, // 6A |
---|
| 114 | { 0x5, 0x0, 0x7, }, // 6B |
---|
| 115 | { 0x7, 0x0, 0x7, }, // 6C |
---|
| 116 | { 0x7, 0x0, 0x5, }, // 6D |
---|
| 117 | { 0x7, 0x0, 0x3, }, // 6E |
---|
| 118 | { 0x7, 0x0, 0x1, }, // 6F |
---|
| 119 | { 0x7, 0x0, 0x0, }, // 70 |
---|
| 120 | { 0x7, 0x1, 0x0, }, // 71 |
---|
| 121 | { 0x7, 0x3, 0x0, }, // 72 |
---|
| 122 | { 0x7, 0x5, 0x0, }, // 73 |
---|
| 123 | { 0x7, 0x7, 0x0, }, // 74 |
---|
| 124 | { 0x5, 0x7, 0x0, }, // 75 |
---|
| 125 | { 0x3, 0x7, 0x0, }, // 76 |
---|
| 126 | { 0x1, 0x7, 0x0, }, // 77 |
---|
| 127 | { 0x0, 0x7, 0x0, }, // 78 |
---|
| 128 | { 0x0, 0x7, 0x1, }, // 79 |
---|
| 129 | { 0x0, 0x7, 0x3, }, // 7A |
---|
| 130 | { 0x0, 0x7, 0x5, }, // 7B |
---|
| 131 | { 0x0, 0x7, 0x7, }, // 7C |
---|
| 132 | { 0x0, 0x5, 0x7, }, // 7D |
---|
| 133 | { 0x0, 0x3, 0x7, }, // 7E |
---|
| 134 | { 0x0, 0x1, 0x7, }, // 7F |
---|
| 135 | { 0x3, 0x3, 0x7, }, // 80 |
---|
| 136 | { 0x4, 0x3, 0x7, }, // 81 |
---|
| 137 | { 0x5, 0x3, 0x7, }, // 82 |
---|
| 138 | { 0x6, 0x3, 0x7, }, // 83 |
---|
| 139 | { 0x7, 0x3, 0x7, }, // 84 |
---|
| 140 | { 0x7, 0x3, 0x6, }, // 85 |
---|
| 141 | { 0x7, 0x3, 0x5, }, // 86 |
---|
| 142 | { 0x7, 0x3, 0x4, }, // 87 |
---|
| 143 | { 0x7, 0x3, 0x3, }, // 88 |
---|
| 144 | { 0x7, 0x4, 0x3, }, // 89 |
---|
| 145 | { 0x7, 0x5, 0x3, }, // 8A |
---|
| 146 | { 0x7, 0x6, 0x3, }, // 8B |
---|
| 147 | { 0x7, 0x7, 0x3, }, // 8C |
---|
| 148 | { 0x6, 0x7, 0x3, }, // 8D |
---|
| 149 | { 0x5, 0x7, 0x3, }, // 8E |
---|
| 150 | { 0x4, 0x7, 0x3, }, // 8F |
---|
| 151 | { 0x3, 0x7, 0x3, }, // 90 |
---|
| 152 | { 0x3, 0x7, 0x4, }, // 91 |
---|
| 153 | { 0x3, 0x7, 0x5, }, // 92 |
---|
| 154 | { 0x3, 0x7, 0x6, }, // 93 |
---|
| 155 | { 0x3, 0x7, 0x7, }, // 94 |
---|
| 156 | { 0x3, 0x6, 0x7, }, // 95 |
---|
| 157 | { 0x3, 0x5, 0x7, }, // 96 |
---|
| 158 | { 0x3, 0x4, 0x7, }, // 97 |
---|
| 159 | { 0x5, 0x5, 0x7, }, // 98 |
---|
| 160 | { 0x5, 0x5, 0x7, }, // 99 |
---|
| 161 | { 0x6, 0x5, 0x7, }, // 9A |
---|
| 162 | { 0x6, 0x5, 0x7, }, // 9B |
---|
| 163 | { 0x7, 0x5, 0x7, }, // 9C |
---|
| 164 | { 0x7, 0x5, 0x6, }, // 9D |
---|
| 165 | { 0x7, 0x5, 0x6, }, // 9E |
---|
| 166 | { 0x7, 0x5, 0x5, }, // 9F |
---|
| 167 | { 0x7, 0x5, 0x5, }, // A0 |
---|
| 168 | { 0x7, 0x5, 0x5, }, // A1 |
---|
| 169 | { 0x7, 0x6, 0x5, }, // A2 |
---|
| 170 | { 0x7, 0x6, 0x5, }, // A3 |
---|
| 171 | { 0x7, 0x7, 0x5, }, // A4 |
---|
| 172 | { 0x6, 0x7, 0x5, }, // A5 |
---|
| 173 | { 0x6, 0x7, 0x5, }, // A6 |
---|
| 174 | { 0x5, 0x7, 0x5, }, // A7 |
---|
| 175 | { 0x5, 0x7, 0x5, }, // A8 |
---|
| 176 | { 0x5, 0x7, 0x5, }, // A9 |
---|
| 177 | { 0x5, 0x7, 0x6, }, // AA |
---|
| 178 | { 0x5, 0x7, 0x6, }, // AB |
---|
| 179 | { 0x5, 0x7, 0x7, }, // AC |
---|
| 180 | { 0x5, 0x6, 0x7, }, // AD |
---|
| 181 | { 0x5, 0x6, 0x7, }, // AE |
---|
| 182 | { 0x5, 0x5, 0x7, }, // AF |
---|
| 183 | { 0x0, 0x0, 0x4, }, // B0 |
---|
| 184 | { 0x1, 0x0, 0x4, }, // B1 |
---|
| 185 | { 0x2, 0x0, 0x4, }, // B2 |
---|
| 186 | { 0x3, 0x0, 0x4, }, // B3 |
---|
| 187 | { 0x4, 0x0, 0x4, }, // B4 |
---|
| 188 | { 0x4, 0x0, 0x3, }, // B5 |
---|
| 189 | { 0x4, 0x0, 0x2, }, // B6 |
---|
| 190 | { 0x4, 0x0, 0x1, }, // B7 |
---|
| 191 | { 0x4, 0x0, 0x0, }, // B8 |
---|
| 192 | { 0x4, 0x1, 0x0, }, // B9 |
---|
| 193 | { 0x4, 0x2, 0x0, }, // BA |
---|
| 194 | { 0x4, 0x3, 0x0, }, // BB |
---|
| 195 | { 0x4, 0x4, 0x0, }, // BC |
---|
| 196 | { 0x3, 0x4, 0x0, }, // BD |
---|
| 197 | { 0x2, 0x4, 0x0, }, // BE |
---|
| 198 | { 0x1, 0x4, 0x0, }, // BF |
---|
| 199 | { 0x0, 0x4, 0x0, }, // C0 |
---|
| 200 | { 0x0, 0x4, 0x1, }, // C1 |
---|
| 201 | { 0x0, 0x4, 0x2, }, // C2 |
---|
| 202 | { 0x0, 0x4, 0x3, }, // C3 |
---|
| 203 | { 0x0, 0x4, 0x4, }, // C4 |
---|
| 204 | { 0x0, 0x3, 0x4, }, // C5 |
---|
| 205 | { 0x0, 0x2, 0x4, }, // C6 |
---|
| 206 | { 0x0, 0x1, 0x4, }, // C7 |
---|
| 207 | { 0x2, 0x2, 0x4, }, // C8 |
---|
| 208 | { 0x2, 0x2, 0x4, }, // C9 |
---|
| 209 | { 0x3, 0x2, 0x4, }, // CA |
---|
| 210 | { 0x3, 0x2, 0x4, }, // CB |
---|
| 211 | { 0x4, 0x2, 0x4, }, // CC |
---|
| 212 | { 0x4, 0x2, 0x3, }, // CD |
---|
| 213 | { 0x4, 0x2, 0x3, }, // CE |
---|
| 214 | { 0x4, 0x2, 0x2, }, // CF |
---|
| 215 | { 0x4, 0x2, 0x2, }, // D0 |
---|
| 216 | { 0x4, 0x2, 0x2, }, // D1 |
---|
| 217 | { 0x4, 0x3, 0x2, }, // D2 |
---|
| 218 | { 0x4, 0x3, 0x2, }, // D3 |
---|
| 219 | { 0x4, 0x4, 0x2, }, // D4 |
---|
| 220 | { 0x3, 0x4, 0x2, }, // D5 |
---|
| 221 | { 0x3, 0x4, 0x2, }, // D6 |
---|
| 222 | { 0x2, 0x4, 0x2, }, // D7 |
---|
| 223 | { 0x2, 0x4, 0x2, }, // D8 |
---|
| 224 | { 0x2, 0x4, 0x2, }, // D9 |
---|
| 225 | { 0x2, 0x4, 0x3, }, // DA |
---|
| 226 | { 0x2, 0x4, 0x3, }, // DB |
---|
| 227 | { 0x2, 0x4, 0x4, }, // DC |
---|
| 228 | { 0x2, 0x3, 0x4, }, // DD |
---|
| 229 | { 0x2, 0x3, 0x4, }, // DE |
---|
| 230 | { 0x2, 0x2, 0x4, }, // DF |
---|
| 231 | { 0x2, 0x2, 0x4, }, // E0 |
---|
| 232 | { 0x3, 0x2, 0x4, }, // E1 |
---|
| 233 | { 0x3, 0x2, 0x4, }, // E2 |
---|
| 234 | { 0x3, 0x2, 0x4, }, // E3 |
---|
| 235 | { 0x4, 0x2, 0x4, }, // E4 |
---|
| 236 | { 0x4, 0x2, 0x3, }, // E5 |
---|
| 237 | { 0x4, 0x2, 0x3, }, // E6 |
---|
| 238 | { 0x4, 0x2, 0x3, }, // E7 |
---|
| 239 | { 0x4, 0x2, 0x2, }, // E8 |
---|
| 240 | { 0x4, 0x3, 0x2, }, // E9 |
---|
| 241 | { 0x4, 0x3, 0x2, }, // EA |
---|
| 242 | { 0x4, 0x3, 0x2, }, // EB |
---|
| 243 | { 0x4, 0x4, 0x2, }, // EC |
---|
| 244 | { 0x3, 0x4, 0x2, }, // ED |
---|
| 245 | { 0x3, 0x4, 0x2, }, // EE |
---|
| 246 | { 0x3, 0x4, 0x2, }, // EF |
---|
| 247 | { 0x2, 0x4, 0x2, }, // F0 |
---|
| 248 | { 0x2, 0x4, 0x3, }, // F1 |
---|
| 249 | { 0x2, 0x4, 0x3, }, // F2 |
---|
| 250 | { 0x2, 0x4, 0x3, }, // F3 |
---|
| 251 | { 0x2, 0x4, 0x4, }, // F4 |
---|
| 252 | { 0x2, 0x3, 0x4, }, // F5 |
---|
| 253 | { 0x2, 0x3, 0x4, }, // F6 |
---|
| 254 | { 0x2, 0x3, 0x4, }, // F7 |
---|
| 255 | { 0x0, 0x0, 0x0, }, // F8 |
---|
| 256 | { 0x0, 0x0, 0x0, }, // F9 |
---|
| 257 | { 0x0, 0x0, 0x0, }, // FA |
---|
| 258 | { 0x0, 0x0, 0x0, }, // FB |
---|
| 259 | { 0x0, 0x0, 0x0, }, // FC |
---|
| 260 | { 0x0, 0x0, 0x0, }, // FD |
---|
| 261 | { 0x0, 0x0, 0x0, }, // FE |
---|
| 262 | { 0x0, 0x0, 0x0, }, // FF |
---|
| 263 | }; |
---|
| 264 | |
---|
| 265 | // 16-bit pixels are RGB 565 - LSB of RED and BLUE are tied low at the |
---|
| 266 | // LCD Interface, while the LSB of GREEN is loaded as 0 |
---|
| 267 | //#define RED_SUBPIXEL(n) (n & 0x1f) << 11 |
---|
| 268 | //#define GREEN_SUBPIXEL(n) (n & 0x1f) << 6 |
---|
| 269 | //#define BLUE_SUBPIXEL(n) (n & 0x1f) << 0 |
---|
| 270 | |
---|
| 271 | // define a simple VGA style 16-color pallette |
---|
| 272 | //#define LU_BLACK RED_SUBPIXEL(0x00) | GREEN_SUBPIXEL(0x00) | BLUE_SUBPIXEL(0x00) |
---|
| 273 | //#define LU_BLUE RED_SUBPIXEL(0x00) | GREEN_SUBPIXEL(0x00) | BLUE_SUBPIXEL(0x0f) |
---|
| 274 | //#define LU_GREEN RED_SUBPIXEL(0x00) | GREEN_SUBPIXEL(0x0f) | BLUE_SUBPIXEL(0x00) |
---|
| 275 | //#define LU_CYAN RED_SUBPIXEL(0x00) | GREEN_SUBPIXEL(0x0f) | BLUE_SUBPIXEL(0x0f) |
---|
| 276 | //#define LU_RED RED_SUBPIXEL(0x0f) | GREEN_SUBPIXEL(0x00) | BLUE_SUBPIXEL(0x00) |
---|
| 277 | //#define LU_VIOLET RED_SUBPIXEL(0x0f) | GREEN_SUBPIXEL(0x00) | BLUE_SUBPIXEL(0x0f) |
---|
| 278 | //#define LU_YELLOW RED_SUBPIXEL(0x0f) | GREEN_SUBPIXEL(0x0f) | BLUE_SUBPIXEL(0x00) |
---|
| 279 | //#define LU_GREY RED_SUBPIXEL(0x0f) | GREEN_SUBPIXEL(0x0f) | BLUE_SUBPIXEL(0x0f) |
---|
| 280 | //#define LU_WHITE RED_SUBPIXEL(0x17) | GREEN_SUBPIXEL(0x17) | BLUE_SUBPIXEL(0x17) |
---|
| 281 | //#define LU_BRT_BLUE RED_SUBPIXEL(0x00) | GREEN_SUBPIXEL(0x00) | BLUE_SUBPIXEL(0x1f) |
---|
| 282 | //#define LU_BRT_GREEN RED_SUBPIXEL(0x00) | GREEN_SUBPIXEL(0x1f) | BLUE_SUBPIXEL(0x00) |
---|
| 283 | //#define LU_BRT_CYAN RED_SUBPIXEL(0x00) | GREEN_SUBPIXEL(0x1f) | BLUE_SUBPIXEL(0x1f) |
---|
| 284 | //#define LU_BRT_RED RED_SUBPIXEL(0x1f) | GREEN_SUBPIXEL(0x00) | BLUE_SUBPIXEL(0x00) |
---|
| 285 | //#define LU_BRT_VIOLET RED_SUBPIXEL(0x1f) | GREEN_SUBPIXEL(0x00) | BLUE_SUBPIXEL(0x1f) |
---|
| 286 | //#define LU_BRT_YELLOW RED_SUBPIXEL(0x00) | GREEN_SUBPIXEL(0x1f) | BLUE_SUBPIXEL(0x1f) |
---|
| 287 | //#define LU_BRT_WHITE RED_SUBPIXEL(0x1f) | GREEN_SUBPIXEL(0x1f) | BLUE_SUBPIXEL(0x1f) |
---|
| 288 | |
---|
| 289 | |
---|