1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 3 #include "vga.h" 4 5 /* 6 * Basic palette. 7 */ 8 const struct palette 9 default_vga_palette[0x100] = { 10 { 0x00, 0x00, 0x00}, 11 { 0x00, 0x00, 0x2A}, 12 { 0x00, 0x2A, 0x00}, 13 { 0x00, 0x2A, 0x2A}, 14 { 0x2A, 0x00, 0x00}, 15 { 0x2A, 0x00, 0x2A}, 16 { 0x2A, 0x15, 0x00}, 17 { 0x2A, 0x2A, 0x2A}, 18 { 0x15, 0x15, 0x15}, 19 { 0x15, 0x15, 0x3F}, 20 { 0x15, 0x3F, 0x15}, 21 { 0x15, 0x3F, 0x3F}, 22 { 0x3F, 0x15, 0x15}, 23 { 0x3F, 0x15, 0x3F}, 24 { 0x3F, 0x3F, 0x15}, 25 { 0x3F, 0x3F, 0x3F}, 26 { 0x00, 0x00, 0x00}, 27 { 0x05, 0x05, 0x05}, 28 { 0x08, 0x08, 0x08}, 29 { 0x0B, 0x0B, 0x0B}, 30 { 0x0E, 0x0E, 0x0E}, 31 { 0x11, 0x11, 0x11}, 32 { 0x16, 0x16, 0x16}, 33 { 0x18, 0x18, 0x18}, 34 { 0x1C, 0x1C, 0x1C}, 35 { 0x20, 0x20, 0x20}, 36 { 0x24, 0x24, 0x24}, 37 { 0x28, 0x28, 0x28}, 38 { 0x2D, 0x2D, 0x2D}, 39 { 0x32, 0x32, 0x32}, 40 { 0x38, 0x38, 0x38}, 41 { 0x3F, 0x3F, 0x3F}, 42 { 0x00, 0x00, 0x3F}, 43 { 0x20, 0x00, 0x3F}, 44 { 0x1F, 0x00, 0x3F}, 45 { 0x2F, 0x00, 0x3F}, 46 { 0x3F, 0x00, 0x3F}, 47 { 0x3F, 0x00, 0x2F}, 48 { 0x3F, 0x00, 0x1F}, 49 { 0x3F, 0x00, 0x20}, 50 { 0x3F, 0x00, 0x00}, 51 { 0x3F, 0x20, 0x00}, 52 { 0x3F, 0x1F, 0x00}, 53 { 0x3F, 0x2F, 0x00}, 54 { 0x3F, 0x3F, 0x00}, 55 { 0x2F, 0x3F, 0x00}, 56 { 0x1F, 0x3F, 0x00}, 57 { 0x20, 0x3F, 0x00}, 58 { 0x00, 0x3F, 0x00}, 59 { 0x00, 0x3F, 0x20}, 60 { 0x00, 0x3F, 0x1F}, 61 { 0x00, 0x3F, 0x2F}, 62 { 0x00, 0x3F, 0x3F}, 63 { 0x00, 0x2F, 0x3F}, 64 { 0x00, 0x1F, 0x3F}, 65 { 0x00, 0x20, 0x3F}, 66 { 0x1F, 0x1F, 0x3F}, 67 { 0x27, 0x1F, 0x3F}, 68 { 0x2F, 0x1F, 0x3F}, 69 { 0x37, 0x1F, 0x3F}, 70 { 0x3F, 0x1F, 0x3F}, 71 { 0x3F, 0x1F, 0x37}, 72 { 0x3F, 0x1F, 0x2F}, 73 { 0x3F, 0x1F, 0x27}, 74 { 0x3F, 0x1F, 0x1F}, 75 { 0x3F, 0x27, 0x1F}, 76 { 0x3F, 0x2F, 0x1F}, 77 { 0x3F, 0x37, 0x1F}, 78 { 0x3F, 0x3F, 0x1F}, 79 { 0x37, 0x3F, 0x1F}, 80 { 0x2F, 0x3F, 0x1F}, 81 { 0x27, 0x3F, 0x1F}, 82 { 0x1F, 0x3F, 0x1F}, 83 { 0x1F, 0x3F, 0x27}, 84 { 0x1F, 0x3F, 0x2F}, 85 { 0x1F, 0x3F, 0x37}, 86 { 0x1F, 0x3F, 0x3F}, 87 { 0x1F, 0x37, 0x3F}, 88 { 0x1F, 0x2F, 0x3F}, 89 { 0x1F, 0x27, 0x3F}, 90 { 0x2D, 0x2D, 0x3F}, 91 { 0x31, 0x2D, 0x3F}, 92 { 0x36, 0x2D, 0x3F}, 93 { 0x3A, 0x2D, 0x3F}, 94 { 0x3F, 0x2D, 0x3F}, 95 { 0x3F, 0x2D, 0x3A}, 96 { 0x3F, 0x2D, 0x36}, 97 { 0x3F, 0x2D, 0x31}, 98 { 0x3F, 0x2D, 0x2D}, 99 { 0x3F, 0x31, 0x2D}, 100 { 0x3F, 0x36, 0x2D}, 101 { 0x3F, 0x3A, 0x2D}, 102 { 0x3F, 0x3F, 0x2D}, 103 { 0x3A, 0x3F, 0x2D}, 104 { 0x36, 0x3F, 0x2D}, 105 { 0x31, 0x3F, 0x2D}, 106 { 0x2D, 0x3F, 0x2D}, 107 { 0x2D, 0x3F, 0x31}, 108 { 0x2D, 0x3F, 0x36}, 109 { 0x2D, 0x3F, 0x3A}, 110 { 0x2D, 0x3F, 0x3F}, 111 { 0x2D, 0x3A, 0x3F}, 112 { 0x2D, 0x36, 0x3F}, 113 { 0x2D, 0x31, 0x3F}, 114 { 0x00, 0x00, 0x1C}, 115 { 0x07, 0x00, 0x1C}, 116 { 0x0E, 0x00, 0x1C}, 117 { 0x15, 0x00, 0x1C}, 118 { 0x1C, 0x00, 0x1C}, 119 { 0x1C, 0x00, 0x15}, 120 { 0x1C, 0x00, 0x0E}, 121 { 0x1C, 0x00, 0x07}, 122 { 0x1C, 0x00, 0x00}, 123 { 0x1C, 0x07, 0x00}, 124 { 0x1C, 0x0E, 0x00}, 125 { 0x1C, 0x15, 0x00}, 126 { 0x1C, 0x1C, 0x00}, 127 { 0x15, 0x1C, 0x00}, 128 { 0x0E, 0x1C, 0x00}, 129 { 0x07, 0x1C, 0x00}, 130 { 0x00, 0x1C, 0x00}, 131 { 0x00, 0x1C, 0x07}, 132 { 0x00, 0x1C, 0x0E}, 133 { 0x00, 0x1C, 0x15}, 134 { 0x00, 0x1C, 0x1C}, 135 { 0x00, 0x15, 0x1C}, 136 { 0x00, 0x0E, 0x1C}, 137 { 0x00, 0x07, 0x1C}, 138 { 0x0E, 0x0E, 0x1C}, 139 { 0x11, 0x0E, 0x1C}, 140 { 0x15, 0x0E, 0x1C}, 141 { 0x18, 0x0E, 0x1C}, 142 { 0x1C, 0x0E, 0x1C}, 143 { 0x1C, 0x0E, 0x18}, 144 { 0x1C, 0x0E, 0x15}, 145 { 0x1C, 0x0E, 0x11}, 146 { 0x1C, 0x0E, 0x0E}, 147 { 0x1C, 0x11, 0x0E}, 148 { 0x1C, 0x15, 0x0E}, 149 { 0x1C, 0x18, 0x0E}, 150 { 0x1C, 0x1C, 0x0E}, 151 { 0x18, 0x1C, 0x0E}, 152 { 0x15, 0x1C, 0x0E}, 153 { 0x11, 0x1C, 0x0E}, 154 { 0x0E, 0x1C, 0x0E}, 155 { 0x0E, 0x1C, 0x11}, 156 { 0x0E, 0x1C, 0x15}, 157 { 0x0E, 0x1C, 0x18}, 158 { 0x0E, 0x1C, 0x1C}, 159 { 0x0E, 0x18, 0x1C}, 160 { 0x0E, 0x15, 0x1C}, 161 { 0x0E, 0x11, 0x1C}, 162 { 0x16, 0x16, 0x1C}, 163 { 0x16, 0x16, 0x1C}, 164 { 0x18, 0x16, 0x1C}, 165 { 0x1A, 0x16, 0x1C}, 166 { 0x1C, 0x16, 0x1C}, 167 { 0x1C, 0x16, 0x1A}, 168 { 0x1C, 0x16, 0x18}, 169 { 0x1C, 0x16, 0x16}, 170 { 0x1C, 0x16, 0x16}, 171 { 0x1C, 0x16, 0x16}, 172 { 0x1C, 0x18, 0x16}, 173 { 0x1C, 0x1A, 0x16}, 174 { 0x1C, 0x1C, 0x16}, 175 { 0x1A, 0x1C, 0x16}, 176 { 0x18, 0x1C, 0x16}, 177 { 0x16, 0x1C, 0x16}, 178 { 0x16, 0x1C, 0x16}, 179 { 0x16, 0x1C, 0x16}, 180 { 0x16, 0x1C, 0x18}, 181 { 0x16, 0x1C, 0x1A}, 182 { 0x16, 0x1C, 0x1C}, 183 { 0x16, 0x1A, 0x1C}, 184 { 0x16, 0x18, 0x1C}, 185 { 0x16, 0x16, 0x1C}, 186 { 0x00, 0x00, 0x20}, 187 { 0x04, 0x00, 0x20}, 188 { 0x08, 0x00, 0x20}, 189 { 0x0C, 0x00, 0x20}, 190 { 0x20, 0x00, 0x20}, 191 { 0x20, 0x00, 0x0C}, 192 { 0x20, 0x00, 0x08}, 193 { 0x20, 0x00, 0x04}, 194 { 0x20, 0x00, 0x00}, 195 { 0x20, 0x04, 0x00}, 196 { 0x20, 0x08, 0x00}, 197 { 0x20, 0x0C, 0x00}, 198 { 0x20, 0x20, 0x00}, 199 { 0x0C, 0x20, 0x00}, 200 { 0x08, 0x20, 0x00}, 201 { 0x04, 0x20, 0x00}, 202 { 0x00, 0x20, 0x00}, 203 { 0x00, 0x20, 0x04}, 204 { 0x00, 0x20, 0x08}, 205 { 0x00, 0x20, 0x0C}, 206 { 0x00, 0x20, 0x20}, 207 { 0x00, 0x0C, 0x20}, 208 { 0x00, 0x08, 0x20}, 209 { 0x00, 0x04, 0x20}, 210 { 0x08, 0x08, 0x20}, 211 { 0x0A, 0x08, 0x20}, 212 { 0x0C, 0x08, 0x20}, 213 { 0x0E, 0x08, 0x20}, 214 { 0x20, 0x08, 0x20}, 215 { 0x20, 0x08, 0x0E}, 216 { 0x20, 0x08, 0x0C}, 217 { 0x20, 0x08, 0x0A}, 218 { 0x20, 0x08, 0x08}, 219 { 0x20, 0x0A, 0x08}, 220 { 0x20, 0x0C, 0x08}, 221 { 0x20, 0x0E, 0x08}, 222 { 0x20, 0x20, 0x08}, 223 { 0x0E, 0x20, 0x08}, 224 { 0x0C, 0x20, 0x08}, 225 { 0x0A, 0x20, 0x08}, 226 { 0x08, 0x20, 0x08}, 227 { 0x08, 0x20, 0x0A}, 228 { 0x08, 0x20, 0x0C}, 229 { 0x08, 0x20, 0x0E}, 230 { 0x08, 0x20, 0x20}, 231 { 0x08, 0x0E, 0x20}, 232 { 0x08, 0x0C, 0x20}, 233 { 0x08, 0x0A, 0x20}, 234 { 0x0B, 0x0B, 0x20}, 235 { 0x0C, 0x0B, 0x20}, 236 { 0x0D, 0x0B, 0x20}, 237 { 0x0F, 0x0B, 0x20}, 238 { 0x20, 0x0B, 0x20}, 239 { 0x20, 0x0B, 0x0F}, 240 { 0x20, 0x0B, 0x0D}, 241 { 0x20, 0x0B, 0x0C}, 242 { 0x20, 0x0B, 0x0B}, 243 { 0x20, 0x0C, 0x0B}, 244 { 0x20, 0x0D, 0x0B}, 245 { 0x20, 0x0F, 0x0B}, 246 { 0x20, 0x20, 0x0B}, 247 { 0x0F, 0x20, 0x0B}, 248 { 0x0D, 0x20, 0x0B}, 249 { 0x0C, 0x20, 0x0B}, 250 { 0x0B, 0x20, 0x0B}, 251 { 0x0B, 0x20, 0x0C}, 252 { 0x0B, 0x20, 0x0D}, 253 { 0x0B, 0x20, 0x0F}, 254 { 0x0B, 0x20, 0x20}, 255 { 0x0B, 0x0F, 0x20}, 256 { 0x0B, 0x0D, 0x20}, 257 { 0x0B, 0x0C, 0x20}, 258 /* Pad with NULL */ 259 }; 260