📄 vga_table.h
字号:
/* * (C) Copyright 2001 * Denis Peter, MPL AG, d.peter@mpl.ch. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of * the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Note: Parts of these software are imported from * - UBL, The Universal Talkware Boot Loader * Copyright (C) 2000 Universal Talkware Inc. * - Linux * * File: vga_table.c * * contains all tables (include fonts) for the vga controller. * **********************************************/#ifndef _VGA_TABLE_H#define _VGA_TABLE_H/* table for VGA Initialization */typedef struct { const unsigned char reg; const unsigned char val;} VIDEO_CFG_TABLE;/* Attribute table */static VIDEO_CFG_TABLE attr[] = { { 0x00, 0x00 }, /* black */ { 0x01, 0x01 }, /* blue */ { 0x02, 0x02 }, /* green */ { 0x03, 0x03 }, /* cyan */ { 0x04, 0x04 }, /* red */ { 0x05, 0x05 }, /* magenta */ { 0x06, 0x14 }, /* brown */ { 0x07, 0x07 }, /* white */ { 0x08, 0x38 }, /* dark gray */ { 0x09, 0x39 }, /* light blue */ { 0x0A, 0x3A }, /* light green */ { 0x0B, 0x3B }, /* light Cyan */ { 0x0C, 0x3C }, /* light red */ { 0x0D, 0x3D }, /* light magenta */ { 0x0E, 0x3E }, /* yellow */ { 0x0F, 0x3F }, /* intense white */ { 0x10, 0x0C }, /* mode control */ { 0x11, 0x00 }, /* overscan color */ { 0x12, 0x0f }, /* color plane enable */ { 0x13, 0x08 }, /* horizontal Pel Panning */ { 0x14, 0x00 }, /* color select */ { 0xFF, 0xFF} /* end of table */};/* Values for VGA 80 x 25 Text mode */static VIDEO_CFG_TABLE crtc[] = { {0x00,0x5F}, /* horizontal total */ {0x01,0x4F}, /* horizontal displayed */ {0x02,0x50}, /* horizontal blank start */ {0x03,0x82}, /* horizontal blank end MIP520 BIOS*/ {0x04,0x55}, /* horizontal synch pos MIP520 */ {0x05,0x9F}, /* horizontal synch width BIOS Source */ {0x06,0xBF}, /* vertical total BIOS MIP520*/ {0x07,0x1F}, /* overflow */ {0x08,0x00}, /* prescan */ {0x09,0x4F}, /* maximum scanline */ {0x0A,0x0D}, /* cursor start */ {0x0B,0x0E}, /* cursor end */ {0x0C,0x00}, /* start address high byte */ {0x0D,0x00}, /* start address low byte */ {0x0E,0x07}, /* cursor location high byte */ {0x0F,0x80}, /* cursor location low byte */ {0x10,0x9C}, /* vertical synch start BIOS MIP520*/ {0x11,0x8E}, /* vertical synch end */ {0x12,0x8F}, /* vertical display enable end BIOS MIP520 */ {0x13,0x28}, /* offset */ {0x14,0x1F}, /* underline row */ {0x15,0x96}, /* verical blank start */ {0x16,0xB9}, /* verical blank end */ {0x17,0xA3}, /* crt Mode Control */ {0x18,0xFF}, /* line compare */ /* added for 69000 */ {0x22,0x20}, /* Memory Latch */ {0x30,0x00}, /* ext. total vertical register */ {0x31,0x00}, /* ext. vertical display end */ {0x32,0x00}, /* ext. vertical synch */ {0x33,0x00}, /* ext. vertical blanking start */ {0x38,0x00}, /* ext. total horizontal register */ {0x3C,0x00}, /* ext. horizontal blanking end */ {0x40,0x00}, /* ext. start address */ {0x41,0x00}, /* ext. offset */ {0x70,0x4F}, /* interlace control register */ {0x71,0x00}, /* NTSC/PAL Video Output Control */ {0x72,0x00}, /* NTSC/PAL horizontal serration 1 start */ {0x73,0x00}, /* NTSC/PAL horizontal serration 2 start */ {0x74,0x00}, /* NTSC/PAL horizontal pulse width */ {0x75,0x00}, /* NTSC/PAL filtering burst read length */ {0x76,0x00}, /* NTSC/PAL filtering burst read quantity */ {0x77,0x00}, /* NTSC/PAL Filtering Control */ {0x78,0x00}, /* NTSC/PAL Vertical reduction */ {0x79,0x00}, /* NTSC/PAL horizontal total fine adjust */ {0xFF,0xFF} /* end of table */};static VIDEO_CFG_TABLE grmr[] = { {0x00,0x00}, /* all planes are reset */ {0x01,0x00}, /* no special altering of plane */ {0x02,0x00}, /* color compare */ {0x03,0x00}, /* data rotate */ {0x04,0x00}, /* read plane 0 */ {0x05,0x10}, /* Mode */ {0x06,0x0E}, /* misc */ {0x07,0x00}, /* Color */ {0x08,0xFF}, /* Bitmask */ {0xFF,0xFF} /* end of table */};static VIDEO_CFG_TABLE seq[] = { {0x00,0x03}, /* release the resets */ {0x01,0x00}, /* clocking mode */ {0x02,0x03}, /* enable plane 0,1 access */ {0x03,0x00}, /* character map */ {0x04,0x02}, /* Memory mode */ {0x07,0x00}, /* Reset Counter */ {0xFF,0xFF} /* end of table */};static VIDEO_CFG_TABLE xreg[] = { { 0x0A, 0x00 }, /* Frame Buffer Mapping */ { 0x0B, 0x01 }, /* PCI Write Burst support */ { 0x0E, 0x00 }, /* Frame buffer Page select */ { 0x20, 0x00 }, /* BitBLT Configuration */ /* { 0x40, 0x03 }, */ /* Memory Access Control */ { 0x40, 0x00 }, /* Memory Access Control */ { 0x60, 0x00 }, /* Video Pin Control */ { 0x61, 0x00 }, /* DPMS Synch control */ { 0x62, 0x00 }, /* GPIO Pin Control */ { 0x63, 0xBD }, /* GPIO Pin Data*/ { 0x67, 0x00 }, /* Pin Tri-State */ { 0x80, 0x00 }, /* Pixel Pipeline Config 0 register */ { 0x81, 0x00 }, /* Pixel Pipeline Config 1 register */ { 0x82, 0x00 }, /* Pixel Pipeline Config 2 register */ { 0xA0, 0x00 }, /* Cursor 1 Control Reg */ { 0xA1, 0x00 }, /* Cursor 1 Vertical Extension Reg */ { 0xA2, 0x00 }, /* Cursor 1 Base Address Low */ { 0xA3, 0x00 }, /* Cursor 1 Base Address High */ { 0xA4, 0x00 }, /* Cursor 1 X-Position Low */ { 0xA5, 0x00 }, /* Cursor 1 X-Position High */ { 0xA6, 0x00 }, /* Cursor 1 Y-Position Low */ { 0xA7, 0x00 }, /* Cursor 1 Y-Position High */ { 0xA8, 0x00 }, /* Cursor 2 Control Reg */ { 0xA9, 0x00 }, /* Cursor 2 Vertical Extension Reg */ { 0xAA, 0x00 }, /* Cursor 2 Base Address Low */ { 0xAB, 0x00 }, /* Cursor 2 Base Address High */ { 0xAC, 0x00 }, /* Cursor 2 X-Position Low */ { 0xAD, 0x00 }, /* Cursor 2 X-Position High */ { 0xAE, 0x00 }, /* Cursor 2 Y-Position Low */ { 0xAF, 0x00 }, /* Cursor 2 Y-Position High */ { 0xC0, 0x7D }, /* Dot Clock 0 VCO M-Divisor */ { 0xC1, 0x07 }, /* Dot Clock 0 VCO N-Divisor */ { 0xC3, 0x34 }, /* Dot Clock 0 Divisor select */ { 0xC4, 0x55 }, /* Dot Clock 1 VCO M-Divisor */ { 0xC5, 0x09 }, /* Dot Clock 1 VCO N-Divisor */ { 0xC7, 0x24 }, /* Dot Clock 1 Divisor select */ { 0xC8, 0x7D }, /* Dot Clock 2 VCO M-Divisor */ { 0xC9, 0x07 }, /* Dot Clock 2 VCO N-Divisor */ { 0xCB, 0x34 }, /* Dot Clock 2 Divisor select */ { 0xCC, 0x38 }, /* Memory Clock 0 VCO M-Divisor */ { 0xCD, 0x03 }, /* Memory Clock 0 VCO N-Divisor */ { 0xCE, 0x90 }, /* Memory Clock 0 Divisor select */ { 0xCF, 0x06 }, /* Clock Config */ { 0xD0, 0x0F }, /* Power Down */ { 0xD1, 0x01 }, /* Power Down BitBLT */ /* { 0xD2, 0x0F }, */ /* 2KHz Counter Power Down */ { 0xFF, 0xFF} /* end of table */};/* Clock Config: * If Loop Divisor = 1 * Fvco = (Fref * M/N) * Fout = Fvco / Post Divisor * Dot Clk0: * --------- * M = (M Div + 2) = 127 * N = (N Div + 2) = 9 * Post Divisor = 8 * Loop Divisor = 1 * Fref = 14.31818MHz => Fvco 202.045MHz => Dot Clock 0 = 25.25MHz * * Dot Clk1: * --------- * M = (M Div + 2) = 57 * N = (N Div + 2) = 11 * Post Divisor = 4 * Loop Divisor = 1 * Fref = 14.31818MHz => Fvco 113.24MHz => Dot Clock 1 = 28.31MHz * * Dot Clk2: * --------- * M = (M Div + 2) = 127 * N = (N Div + 2) = 9 * Post Divisor = 8 * Loop Divisor = 1 * Fref = 14.31818MHz => Fvco 202.045MHz => Dot Clock 2 = 25.25MHz * * Memory Clk: * ----------- * M = (M Div + 2) = 58 * N = (N Div + 2) = 5 * Post Divisor = 2 * Fref = 14.31818MHz => Fvco 166MHz => Dot Clock 1 = 83MHz * *//* DAC datas */static unsigned char dac[][3] = { {0x00, 0x00, 0x00}, /* Index 0 (00) */ {0x00, 0x00, 0x2A}, /* Index 1 (01) */ {0x00, 0x2A, 0x00}, /* Index 2 (02) */ {0x00, 0x2A, 0x2A}, /* Index 3 (03) */ {0x2A, 0x00, 0x00}, /* Index 4 (04) */ {0x2A, 0x00, 0x2A}, /* Index 5 (05) */ {0x2A, 0x2A, 0x00}, /* Index 6 (06) */ {0x2A, 0x2A, 0x2A}, /* Index 7 (07) */ {0x00, 0x00, 0x15}, /* Index 8 (08) */ {0x00, 0x00, 0x3F}, /* Index 9 (09) */ {0x00, 0x2A, 0x15}, /* Index 10 (0A) */ {0x00, 0x2A, 0x3F}, /* Index 11 (0B) */ {0x2A, 0x00, 0x15}, /* Index 12 (0C) */ {0x2A, 0x00, 0x3F}, /* Index 13 (0D) */ {0x2A, 0x2A, 0x15}, /* Index 14 (0E) */ {0x2A, 0x2A, 0x3F}, /* Index 15 (0F) */ {0x00, 0x15, 0x00}, /* Index 16 (10) */ {0x00, 0x15, 0x2A}, /* Index 17 (11) */ {0x00, 0x3F, 0x00}, /* Index 18 (12) */ {0x00, 0x3F, 0x2A}, /* Index 19 (13) */ {0x2A, 0x15, 0x00}, /* Index 20 (14) */ {0x2A, 0x15, 0x2A}, /* Index 21 (15) */ {0x2A, 0x3F, 0x00}, /* Index 22 (16) */ {0x2A, 0x3F, 0x2A}, /* Index 23 (17) */ {0x00, 0x15, 0x15}, /* Index 24 (18) */ {0x00, 0x15, 0x3F}, /* Index 25 (19) */ {0x00, 0x3F, 0x15}, /* Index 26 (1A) */ {0x00, 0x3F, 0x3F}, /* Index 27 (1B) */ {0x2A, 0x15, 0x15}, /* Index 28 (1C) */ {0x2A, 0x15, 0x3F}, /* Index 29 (1D) */ {0x2A, 0x3F, 0x15}, /* Index 30 (1E) */ {0x2A, 0x3F, 0x3F}, /* Index 31 (1F) */ {0x15, 0x00, 0x00}, /* Index 32 (20) */ {0x15, 0x00, 0x2A}, /* Index 33 (21) */ {0x15, 0x2A, 0x00}, /* Index 34 (22) */ {0x15, 0x2A, 0x2A}, /* Index 35 (23) */ {0x3F, 0x00, 0x00}, /* Index 36 (24) */ {0x3F, 0x00, 0x2A}, /* Index 37 (25) */ {0x3F, 0x2A, 0x00}, /* Index 38 (26) */ {0x3F, 0x2A, 0x2A}, /* Index 39 (27) */ {0x15, 0x00, 0x15}, /* Index 40 (28) */ {0x15, 0x00, 0x3F}, /* Index 41 (29) */ {0x15, 0x2A, 0x15}, /* Index 42 (2A) */ {0x15, 0x2A, 0x3F}, /* Index 43 (2B) */ {0x3F, 0x00, 0x15}, /* Index 44 (2C) */ {0x3F, 0x00, 0x3F}, /* Index 45 (2D) */ {0x3F, 0x2A, 0x15}, /* Index 46 (2E) */ {0x3F, 0x2A, 0x3F}, /* Index 47 (2F) */ {0x15, 0x15, 0x00}, /* Index 48 (30) */ {0x15, 0x15, 0x2A}, /* Index 49 (31) */ {0x15, 0x3F, 0x00}, /* Index 50 (32) */ {0x15, 0x3F, 0x2A}, /* Index 51 (33) */ {0x3F, 0x15, 0x00}, /* Index 52 (34) */ {0x3F, 0x15, 0x2A}, /* Index 53 (35) */ {0x3F, 0x3F, 0x00}, /* Index 54 (36) */ {0x3F, 0x3F, 0x2A}, /* Index 55 (37) */ {0x15, 0x15, 0x15}, /* Index 56 (38) */ {0x15, 0x15, 0x3F}, /* Index 57 (39) */ {0x15, 0x3F, 0x15}, /* Index 58 (3A) */ {0x15, 0x3F, 0x3F}, /* Index 59 (3B) */ {0x3F, 0x15, 0x15}, /* Index 60 (3C) */ {0x3F, 0x15, 0x3F}, /* Index 61 (3D) */ {0x3F, 0x3F, 0x15}, /* Index 62 (3E) */ {0x3F, 0x3F, 0x3F}, /* Index 63 (3F) */ {0x16, 0x1E, 0x17}, /* Index 64 (40) */ {0x27, 0x2F, 0x00}, /* Index 65 (41) */ {0x1E, 0x20, 0x18}, /* Index 66 (42) */ {0x30, 0x04, 0x06}, /* Index 67 (43) */ {0x08, 0x05, 0x12}, /* Index 68 (44) */ {0x30, 0x0A, 0x31}, /* Index 69 (45) */ {0x08, 0x16, 0x07}, /* Index 70 (46) */ {0x1B, 0x33, 0x21}, /* Index 71 (47) */ {0x02, 0x2C, 0x16}, /* Index 72 (48) */ {0x3D, 0x1C, 0x11}, /* Index 73 (49) */ {0x07, 0x22, 0x33}, /* Index 74 (4A) */ {0x1D, 0x2B, 0x0A}, /* Index 75 (4B) */ {0x1A, 0x15, 0x16}, /* Index 76 (4C) */ {0x15, 0x26, 0x24}, /* Index 77 (4D) */ {0x05, 0x2B, 0x1E}, /* Index 78 (4E) */ {0x11, 0x18, 0x01}, /* Index 79 (4F) */ {0x3A, 0x2C, 0x27}, /* Index 80 (50) */ {0x25, 0x23, 0x00}, /* Index 81 (51) */ {0x2A, 0x16, 0x2A}, /* Index 82 (52) */ {0x18, 0x19, 0x17}, /* Index 83 (53) */ {0x0B, 0x0F, 0x06}, /* Index 84 (54) */ {0x00, 0x34, 0x08}, /* Index 85 (55) */ {0x00, 0x19, 0x12}, /* Index 86 (56) */ {0x01, 0x06, 0x3B}, /* Index 87 (57) */ {0x29, 0x0E, 0x25}, /* Index 88 (58) */ {0x20, 0x10, 0x28}, /* Index 89 (59) */ {0x02, 0x37, 0x24}, /* Index 90 (5A) */ {0x08, 0x2A, 0x2E}, /* Index 91 (5B) */ {0x26, 0x2A, 0x22}, /* Index 92 (5C) */ {0x0C, 0x0C, 0x2A}, /* Index 93 (5D) */ {0x28, 0x07, 0x02}, /* Index 94 (5E) */ {0x34, 0x05, 0x2B}, /* Index 95 (5F) */ {0x0C, 0x31, 0x33}, /* Index 96 (60) */ {0x22, 0x08, 0x30}, /* Index 97 (61) */ {0x00, 0x25, 0x01}, /* Index 98 (62) */ {0x06, 0x15, 0x01}, /* Index 99 (63) */ {0x0D, 0x2A, 0x0A}, /* Index 100 (64) */ {0x08, 0x25, 0x16}, /* Index 101 (65) */ {0x2A, 0x0A, 0x01}, /* Index 102 (66) */ {0x08, 0x3B, 0x28}, /* Index 103 (67) */ {0x00, 0x09, 0x04}, /* Index 104 (68) */ {0x16, 0x0F, 0x05}, /* Index 105 (69) */ {0x02, 0x2F, 0x1D}, /* Index 106 (6A) */ {0x06, 0x3E, 0x02}, /* Index 107 (6B) */ {0x09, 0x30, 0x07}, /* Index 108 (6C) */ {0x34, 0x03, 0x06}, /* Index 109 (6D) */ {0x00, 0x15, 0x2A}, /* Index 110 (6E) */ {0x39, 0x23, 0x20}, /* Index 111 (6F) */ {0x2A, 0x32, 0x0C}, /* Index 112 (70) */ {0x09, 0x31, 0x26}, /* Index 113 (71) */ {0x27, 0x23, 0x28}, /* Index 114 (72) */ {0x20, 0x13, 0x0C}, /* Index 115 (73) */ {0x2C, 0x1E, 0x26}, /* Index 116 (74) */ {0x20, 0x2F, 0x05}, /* Index 117 (75) */ {0x22, 0x1B, 0x22}, /* Index 118 (76) */ {0x09, 0x1C, 0x06}, /* Index 119 (77) */ {0x16, 0x38, 0x0E}, /* Index 120 (78) */ {0x22, 0x16, 0x20}, /* Index 121 (79) */ {0x10, 0x17, 0x25}, /* Index 122 (7A) */ {0x04, 0x32, 0x22}, /* Index 123 (7B) */ {0x20, 0x00, 0x37}, /* Index 124 (7C) */ {0x21, 0x15, 0x1A}, /* Index 125 (7D) */ {0x01, 0x04, 0x20}, /* Index 126 (7E) */ {0x02, 0x0C, 0x1E}, /* Index 127 (7F) */ {0x15, 0x15, 0x29}, /* Index 128 (80) */ {0x24, 0x3B, 0x00}, /* Index 129 (81) */ {0x24, 0x28, 0x01}, /* Index 130 (82) */ {0x20, 0x19, 0x07}, /* Index 131 (83) */ {0x1A, 0x13, 0x02}, /* Index 132 (84) */ {0x04, 0x24, 0x1F}, /* Index 133 (85) */ {0x32, 0x30, 0x08}, /* Index 134 (86) */ {0x23, 0x12, 0x0B}, /* Index 135 (87) */ {0x21, 0x38, 0x00}, /* Index 136 (88) */ {0x04, 0x13, 0x09}, /* Index 137 (89) */ {0x06, 0x3E, 0x14}, /* Index 138 (8A) */ {0x23, 0x22, 0x2D}, /* Index 139 (8B) */ {0x3D, 0x35, 0x30}, /* Index 140 (8C) */ {0x24, 0x38, 0x05}, /* Index 141 (8D) */ {0x18, 0x01, 0x26}, /* Index 142 (8E) */ {0x27, 0x11, 0x38}, /* Index 143 (8F) */ {0x08, 0x1A, 0x08}, /* Index 144 (90) */ {0x00, 0x1A, 0x07}, /* Index 145 (91) */ {0x16, 0x0C, 0x30}, /* Index 146 (92) */ {0x1B, 0x0A, 0x0B}, /* Index 147 (93) */ {0x01, 0x0C, 0x09}, /* Index 148 (94) */ {0x00, 0x33, 0x03}, /* Index 149 (95) */ {0x13, 0x0A, 0x06}, /* Index 150 (96) */ {0x22, 0x19, 0x23}, /* Index 151 (97) */ {0x07, 0x30, 0x39}, /* Index 152 (98) */ {0x20, 0x07, 0x0D}, /* Index 153 (99) */ {0x39, 0x18, 0x20}, /* Index 154 (9A) */ {0x32, 0x31, 0x29}, /* Index 155 (9B) */ {0x28, 0x3F, 0x02}, /* Index 156 (9C) */ {0x02, 0x15, 0x3E}, /* Index 157 (9D) */ {0x27, 0x33, 0x0E}, /* Index 158 (9E) */ {0x39, 0x2E, 0x1D}, /* Index 159 (9F) */ {0x1E, 0x38, 0x10}, /* Index 160 (A0) */ {0x01, 0x33, 0x19}, /* Index 161 (A1) */ {0x2B, 0x20, 0x0B}, /* Index 162 (A2) */ {0x29, 0x0B, 0x23}, /* Index 163 (A3) */ {0x25, 0x04, 0x19}, /* Index 164 (A4) */ {0x34, 0x36, 0x08}, /* Index 165 (A5) */ {0x17, 0x1D, 0x01}, /* Index 166 (A6) */ {0x0A, 0x29, 0x10}, /* Index 167 (A7) */ {0x14, 0x1C, 0x2B}, /* Index 168 (A8) */ {0x02, 0x2C, 0x13}, /* Index 169 (A9) */ {0x14, 0x16, 0x3A}, /* Index 170 (AA) */ {0x2B, 0x22, 0x28}, /* Index 171 (AB) */ {0x2E, 0x0A, 0x22}, /* Index 172 (AC) */ {0x00, 0x20, 0x28}, /* Index 173 (AD) */ {0x08, 0x22, 0x2D}, /* Index 174 (AE) */ {0x2C, 0x17, 0x1D}, /* Index 175 (AF) */ {0x02, 0x0D, 0x20}, /* Index 176 (B0) */ {0x00, 0x18, 0x2C}, /* Index 177 (B1) */ {0x19, 0x19, 0x3C}, /* Index 178 (B2) */ {0x20, 0x32, 0x10}, /* Index 179 (B3) */ {0x38, 0x1C, 0x21}, /* Index 180 (B4) */ {0x36, 0x10, 0x00}, /* Index 181 (B5) */ {0x20, 0x08, 0x19}, /* Index 182 (B6) */ {0x09, 0x12, 0x01}, /* Index 183 (B7) */ {0x1D, 0x39, 0x03}, /* Index 184 (B8) */ {0x20, 0x28, 0x11}, /* Index 185 (B9) */ {0x35, 0x17, 0x01}, /* Index 186 (BA) */ {0x0C, 0x02, 0x08}, /* Index 187 (BB) */ {0x39, 0x0D, 0x10}, /* Index 188 (BC) */ {0x38, 0x21, 0x16}, /* Index 189 (BD) */ {0x29, 0x3E, 0x14}, /* Index 190 (BE) */ {0x0A, 0x1C, 0x28}, /* Index 191 (BF) */ {0x2F, 0x03, 0x08}, /* Index 192 (C0) */ {0x02, 0x18, 0x39}, /* Index 193 (C1) */ {0x0F, 0x31, 0x1E}, /* Index 194 (C2) */ {0x24, 0x0C, 0x03}, /* Index 195 (C3) */ {0x04, 0x1A, 0x04}, /* Index 196 (C4) */ {0x30, 0x33, 0x04}, /* Index 197 (C5) */ {0x2C, 0x18, 0x36}, /* Index 198 (C6) */ {0x18, 0x2F, 0x09}, /* Index 199 (C7) */ {0x03, 0x04, 0x03}, /* Index 200 (C8) */ {0x22, 0x05, 0x10}, /* Index 201 (C9) */ {0x03, 0x24, 0x0A}, /* Index 202 (CA) */ {0x00, 0x1E, 0x1A}, /* Index 203 (CB) */ {0x00, 0x0A, 0x11}, /* Index 204 (CC) */ {0x0E, 0x1F, 0x09}, /* Index 205 (CD) */ {0x1B, 0x3A, 0x3B}, /* Index 206 (CE) */ {0x22, 0x39, 0x36}, /* Index 207 (CF) */ {0x22, 0x10, 0x23}, /* Index 208 (D0) */ {0x31, 0x14, 0x2B}, /* Index 209 (D1) */ {0x0C, 0x33, 0x35}, /* Index 210 (D2) */ {0x27, 0x3E, 0x10}, /* Index 211 (D3) */ {0x10, 0x04, 0x30}, /* Index 212 (D4) */ {0x05, 0x21, 0x0A}, /* Index 213 (D5) */ {0x09, 0x11, 0x24}, /* Index 214 (D6) */ {0x02, 0x2B, 0x00}, /* Index 215 (D7) */ {0x02, 0x05, 0x15}, /* Index 216 (D8) */ {0x11, 0x32, 0x1A}, /* Index 217 (D9) */ {0x2E, 0x1B, 0x08}, /* Index 218 (DA) */ {0x0D, 0x2F, 0x11}, /* Index 219 (DB) */ {0x03, 0x30, 0x28}, /* Index 220 (DC) */ {0x15, 0x38, 0x0A}, /* Index 221 (DD) */ {0x07, 0x00, 0x00}, /* Index 222 (DE) */ {0x1D, 0x1C, 0x20}, /* Index 223 (DF) */ {0x35, 0x11, 0x35}, /* Index 224 (E0) */ {0x24, 0x29, 0x03}, /* Index 225 (E1) */ {0x22, 0x37, 0x39}, /* Index 226 (E2) */ {0x11, 0x1B, 0x10}, /* Index 227 (E3) */ {0x2D, 0x18, 0x00}, /* Index 228 (E4) */ {0x20, 0x2F, 0x10}, /* Index 229 (E5) */ {0x21, 0x26, 0x32}, /* Index 230 (E6) */ {0x24, 0x10, 0x3D}, /* Index 231 (E7) */ {0x27, 0x0E, 0x03}, /* Index 232 (E8) */ {0x31, 0x1F, 0x11}, /* Index 233 (E9) */ {0x16, 0x0D, 0x02}, /* Index 234 (EA) */ {0x24, 0x12, 0x16}, /* Index 235 (EB) */ {0x0F, 0x27, 0x18}, /* Index 236 (EC) */ {0x10, 0x0E, 0x20}, /* Index 237 (ED) */ {0x12, 0x0C, 0x0D}, /* Index 238 (EE) */ {0x14, 0x38, 0x0B}, /* Index 239 (EF) */ {0x23, 0x0C, 0x09}, /* Index 240 (F0) */ {0x13, 0x21, 0x0E}, /* Index 241 (F1) */ {0x2C, 0x05, 0x2C}, /* Index 242 (F2) */ {0x08, 0x29, 0x01}, /* Index 243 (F3) */ {0x36, 0x0A, 0x13}, /* Index 244 (F4) */ {0x08, 0x2D, 0x26}, /* Index 245 (F5) */ {0x23, 0x30, 0x3E}, /* Index 246 (F6) */ {0x33, 0x00, 0x04}, /* Index 247 (F7) */ {0x25, 0x1E, 0x3A}, /* Index 248 (F8) */ {0x11, 0x2C, 0x26}, /* Index 249 (F9) */ {0x20, 0x32, 0x27}, /* Index 250 (FA) */ {0x23, 0x21, 0x13}, /* Index 251 (FB) */ {0x22, 0x23, 0x1F}, /* Index 252 (FC) */ {0x31, 0x08, 0x0A}, /* Index 253 (FD) */ {0x00, 0x01, 0x09}, /* Index 254 (FE) */ {0x17, 0x07, 0x38} /* Index 255 (FF) */};/*********************************************** * 8x16 Font * * copied from file * drivers/video/font_8x16.c (LINUX) **********************************************//**********************************************//* *//* Font file generated by cpi2fnt *//* *//**********************************************/#define FONTDATAMAX 4096unsigned char fontdata_8x16[FONTDATAMAX] = { /* 0 0x00 '^@' */ 0x00, /* 00000000 */ 0x00, /* 00000000 */ 0x00, /* 00000000 */ 0x00, /* 00000000 */ 0x00, /* 00000000 */ 0x00, /* 00000000 */ 0x00, /* 00000000 */ 0x00, /* 00000000 */ 0x00, /* 00000000 */ 0x00, /* 00000000 */ 0x00, /* 00000000 */ 0x00, /* 00000000 */ 0x00, /* 00000000 */ 0x00, /* 00000000 */ 0x00, /* 00000000 */ 0x00, /* 00000000 */ /* 1 0x01 '^A' */ 0x00, /* 00000000 */ 0x00, /* 00000000 */ 0x7e, /* 01111110 */ 0x81, /* 10000001 */ 0xa5, /* 10100101 */ 0x81, /* 10000001 */ 0x81, /* 10000001 */ 0xbd, /* 10111101 */ 0x99, /* 10011001 */ 0x81, /* 10000001 */ 0x81, /* 10000001 */ 0x7e, /* 01111110 */ 0x00, /* 00000000 */ 0x00, /* 00000000 */ 0x00, /* 00000000 */ 0x00, /* 00000000 */ /* 2 0x02 '^B' */ 0x00, /* 00000000 */ 0x00, /* 00000000 */ 0x7e, /* 01111110 */ 0xff, /* 11111111 */ 0xdb, /* 11011011 */ 0xff, /* 11111111 */ 0xff, /* 11111111 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -