⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vgatables.h

📁 xen 3.2.2 源码
💻 H
📖 第 1 页 / 共 2 页
字号:
/* * * BIOS Memory  * */#define BIOSMEM_SEG 0x40#define BIOSMEM_INITIAL_MODE  0x10#define BIOSMEM_CURRENT_MODE  0x49#define BIOSMEM_NB_COLS       0x4A#define BIOSMEM_PAGE_SIZE     0x4C#define BIOSMEM_CURRENT_START 0x4E#define BIOSMEM_CURSOR_POS    0x50#define BIOSMEM_CURSOR_TYPE   0x60#define BIOSMEM_CURRENT_PAGE  0x62#define BIOSMEM_CRTC_ADDRESS  0x63#define BIOSMEM_CURRENT_MSR   0x65#define BIOSMEM_CURRENT_PAL   0x66#define BIOSMEM_NB_ROWS       0x84#define BIOSMEM_CHAR_HEIGHT   0x85#define BIOSMEM_VIDEO_CTL     0x87#define BIOSMEM_SWITCHES      0x88#define BIOSMEM_MODESET_CTL   0x89#define BIOSMEM_DCC_INDEX     0x8A#define BIOSMEM_VS_POINTER    0xA8#define BIOSMEM_VBE_FLAG      0xB9#define BIOSMEM_VBE_MODE      0xBA/* * * VGA registers * */#define VGAREG_ACTL_ADDRESS            0x3c0#define VGAREG_ACTL_WRITE_DATA         0x3c0#define VGAREG_ACTL_READ_DATA          0x3c1#define VGAREG_INPUT_STATUS            0x3c2#define VGAREG_WRITE_MISC_OUTPUT       0x3c2#define VGAREG_VIDEO_ENABLE            0x3c3#define VGAREG_SEQU_ADDRESS            0x3c4#define VGAREG_SEQU_DATA               0x3c5#define VGAREG_PEL_MASK                0x3c6#define VGAREG_DAC_STATE               0x3c7#define VGAREG_DAC_READ_ADDRESS        0x3c7#define VGAREG_DAC_WRITE_ADDRESS       0x3c8#define VGAREG_DAC_DATA                0x3c9#define VGAREG_READ_FEATURE_CTL        0x3ca#define VGAREG_READ_MISC_OUTPUT        0x3cc#define VGAREG_GRDC_ADDRESS            0x3ce#define VGAREG_GRDC_DATA               0x3cf#define VGAREG_MDA_CRTC_ADDRESS        0x3b4#define VGAREG_MDA_CRTC_DATA           0x3b5#define VGAREG_VGA_CRTC_ADDRESS        0x3d4#define VGAREG_VGA_CRTC_DATA           0x3d5#define VGAREG_MDA_WRITE_FEATURE_CTL   0x3ba#define VGAREG_VGA_WRITE_FEATURE_CTL   0x3da#define VGAREG_ACTL_RESET              0x3da#define VGAREG_MDA_MODECTL             0x3b8#define VGAREG_CGA_MODECTL             0x3d8#define VGAREG_CGA_PALETTE             0x3d9/* Video memory */#define VGAMEM_GRAPH 0xA000#define VGAMEM_CTEXT 0xB800#define VGAMEM_MTEXT 0xB000/* * * Tables of default values for each mode * */#define MODE_MAX   0x14#define TEXT       0x00#define GRAPH      0x01#define CTEXT      0x00#define MTEXT      0x01#define CGA        0x02#define PLANAR1    0x03#define PLANAR4    0x04#define LINEAR8    0x05// for SVGA#define LINEAR15   0x10#define LINEAR16   0x11#define LINEAR24   0x12#define LINEAR32   0x13typedef struct{Bit8u  svgamode; Bit16u vesamode; Bit8u  class;    /* TEXT, GRAPH */ Bit8u  memmodel; /* CTEXT,MTEXT,CGA,PL1,PL2,PL4,P8,P15,P16,P24,P32 */ Bit8u  nbpages;  Bit8u  pixbits; Bit16u swidth, sheight; Bit16u twidth, theight; Bit16u cwidth, cheight; Bit16u sstart; Bit16u slength; Bit8u  miscreg; Bit8u  pelmask; Bit8u  crtcmodel; Bit8u  actlmodel; Bit8u  grdcmodel; Bit8u  sequmodel; Bit8u  dacmodel; /* 0 1 2 3 */} VGAMODES;static VGAMODES vga_modes[MODE_MAX+1]={//mode  vesa   class  model   pg bits sw   sh  tw  th  cw ch  sstart  slength misc  pelm  crtc  actl  gdc   sequ  dac {0x00, 0xFFFF, TEXT,  CTEXT,   8, 4, 360, 400, 40, 25, 9, 16, 0xB800, 0x0800, 0x67, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x02}, {0x01, 0xFFFF, TEXT,  CTEXT,   8, 4, 360, 400, 40, 25, 9, 16, 0xB800, 0x0800, 0x67, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x02}, {0x02, 0xFFFF, TEXT,  CTEXT,   4, 4, 720, 400, 80, 25, 9, 16, 0xB800, 0x1000, 0x67, 0xFF, 0x01, 0x00, 0x00, 0x01, 0x02}, {0x03, 0xFFFF, TEXT,  CTEXT,   4, 4, 720, 400, 80, 25, 9, 16, 0xB800, 0x1000, 0x67, 0xFF, 0x01, 0x00, 0x00, 0x01, 0x02}, {0x04, 0xFFFF, GRAPH, CGA,     4, 2, 320, 200, 40, 25, 8, 8,  0xB800, 0x0800, 0x63, 0xFF, 0x02, 0x01, 0x01, 0x02, 0x01}, {0x05, 0xFFFF, GRAPH, CGA,     1, 2, 320, 200, 40, 25, 8, 8,  0xB800, 0x0800, 0x63, 0xFF, 0x02, 0x01, 0x01, 0x02, 0x01}, {0x06, 0xFFFF, GRAPH, CGA,     1, 1, 640, 200, 80, 25, 8, 8,  0xB800, 0x1000, 0x63, 0xFF, 0x03, 0x02, 0x02, 0x03, 0x01}, {0x07, 0xFFFF, TEXT,  MTEXT,   4, 4, 720, 400, 80, 25, 9, 16, 0xB000, 0x1000, 0x66, 0xFF, 0x04, 0x03, 0x03, 0x01, 0x00}, {0x0D, 0xFFFF, GRAPH, PLANAR4, 8, 4, 320, 200, 40, 25, 8, 8,  0xA000, 0x2000, 0x63, 0xFF, 0x05, 0x04, 0x04, 0x04, 0x01}, {0x0E, 0xFFFF, GRAPH, PLANAR4, 4, 4, 640, 200, 80, 25, 8, 8,  0xA000, 0x4000, 0x63, 0xFF, 0x06, 0x04, 0x04, 0x05, 0x01}, {0x0F, 0xFFFF, GRAPH, PLANAR1, 2, 1, 640, 350, 80, 25, 8, 14, 0xA000, 0x8000, 0xa3, 0xFF, 0x07, 0x05, 0x04, 0x05, 0x00}, {0x10, 0xFFFF, GRAPH, PLANAR4, 2, 4, 640, 350, 80, 25, 8, 14, 0xA000, 0x8000, 0xa3, 0xFF, 0x07, 0x06, 0x04, 0x05, 0x02}, {0x11, 0xFFFF, GRAPH, PLANAR1, 1, 1, 640, 480, 80, 30, 8, 16, 0xA000, 0x0000, 0xe3, 0xFF, 0x08, 0x07, 0x04, 0x05, 0x02}, {0x12, 0xFFFF, GRAPH, PLANAR4, 1, 4, 640, 480, 80, 30, 8, 16, 0xA000, 0x0000, 0xe3, 0xFF, 0x08, 0x06, 0x04, 0x05, 0x02}, {0x13, 0xFFFF, GRAPH, LINEAR8, 1, 8, 320, 200, 40, 25, 8, 8,  0xA000, 0x0000, 0x63, 0xFF, 0x09, 0x08, 0x05, 0x06, 0x03}, {0x6A, 0xFFFF, GRAPH, PLANAR4, 1, 4, 800, 600,100, 37, 8, 16, 0xA000, 0x0000, 0xe3, 0xFF, 0x0A, 0x06, 0x04, 0x05, 0x02}};/* CRTC */#define CRTC_MAX_REG   0x18#define CRTC_MAX_MODEL 0x0Astatic Bit8u crtc_access[CRTC_MAX_REG+1]={        /* 00   01   02   03   04   05   06   07   08   09   0A   0B   0C   0D   0E   0F   10   11   12   13   14   15   16   17   18 */          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};static Bit8u crtc_regs[CRTC_MAX_MODEL+1][CRTC_MAX_REG+1]={/* Model   00   01   02   03   04   05   06   07   08   09   0A   0B   0C   0D   0E   0F   10   11   12   13   14   15   16   17   18 */ /* 00 */ 0x2d,0x27,0x28,0x90,0x2b,0xa0,0xbf,0x1f,0x00,0x4f,0x0d,0x0e,0x00,0x00,0x00,0x00,0x9c,0x8e,0x8f,0x14,0x1f,0x96,0xb9,0xa3,0xff, /* 01 */ 0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,0x00,0x4f,0x0d,0x0e,0x00,0x00,0x00,0x00,0x9c,0x8e,0x8f,0x28,0x1f,0x96,0xb9,0xa3,0xff, /* 02 */ 0x2d,0x27,0x28,0x90,0x2b,0x80,0xbf,0x1f,0x00,0xc1,0x00,0x00,0x00,0x00,0x00,0x00,0x9c,0x8e,0x8f,0x14,0x00,0x96,0xb9,0xa2,0xff, /* 03 */ 0x5f,0x4f,0x50,0x82,0x54,0x80,0xbf,0x1f,0x00,0xc1,0x00,0x00,0x00,0x00,0x00,0x00,0x9c,0x8e,0x8f,0x28,0x00,0x96,0xb9,0xc2,0xff, /* 04 */ 0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,0x00,0x4f,0x0d,0x0e,0x00,0x00,0x00,0x00,0x9c,0x8e,0x8f,0x28,0x0f,0x96,0xb9,0xa3,0xff, /* 05 */ 0x2d,0x27,0x28,0x90,0x2b,0x80,0xbf,0x1f,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x9c,0x8e,0x8f,0x14,0x00,0x96,0xb9,0xe3,0xff, /* 06 */ 0x5f,0x4f,0x50,0x82,0x54,0x80,0xbf,0x1f,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x9c,0x8e,0x8f,0x28,0x00,0x96,0xb9,0xe3,0xff, /* 07 */ 0x5f,0x4f,0x50,0x82,0x54,0x80,0xbf,0x1f,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x83,0x85,0x5d,0x28,0x0f,0x63,0xba,0xe3,0xff, /* 08 */ 0x5f,0x4f,0x50,0x82,0x54,0x80,0x0b,0x3e,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0xea,0x8c,0xdf,0x28,0x00,0xe7,0x04,0xe3,0xff, /* 09 */ 0x5f,0x4f,0x50,0x82,0x54,0x80,0xbf,0x1f,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x9c,0x8e,0x8f,0x28,0x40,0x96,0xb9,0xa3,0xff, /* 0A */ 0x7f,0x63,0x63,0x83,0x6b,0x1b,0x72,0xf0,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x8d,0x57,0x32,0x00,0x57,0x73,0xe3,0xff};/* Attribute Controler 0x3c0 */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -