162306a36Sopenharmony_ci/************************************************************************** 262306a36Sopenharmony_ci 362306a36Sopenharmony_ciCopyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas. 462306a36Sopenharmony_ciAll Rights Reserved. 562306a36Sopenharmony_ci 662306a36Sopenharmony_ciPermission is hereby granted, free of charge, to any person obtaining a 762306a36Sopenharmony_cicopy of this software and associated documentation files (the 862306a36Sopenharmony_ci"Software"), to deal in the Software without restriction, including 962306a36Sopenharmony_ciwithout limitation the rights to use, copy, modify, merge, publish, 1062306a36Sopenharmony_cidistribute, sub license, and/or sell copies of the Software, and to 1162306a36Sopenharmony_cipermit persons to whom the Software is furnished to do so, subject to 1262306a36Sopenharmony_cithe following conditions: 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ciThe above copyright notice and this permission notice (including the 1562306a36Sopenharmony_cinext paragraph) shall be included in all copies or substantial portions 1662306a36Sopenharmony_ciof the Software. 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 1962306a36Sopenharmony_ciOR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 2062306a36Sopenharmony_ciMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. 2162306a36Sopenharmony_ciIN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR 2262306a36Sopenharmony_ciANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 2362306a36Sopenharmony_ciTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 2462306a36Sopenharmony_ciSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci**************************************************************************/ 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci/* 2962306a36Sopenharmony_ci * Authors: 3062306a36Sopenharmony_ci * Kevin E. Martin <kevin@precisioninsight.com> 3162306a36Sopenharmony_ci */ 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci/* I/O register offsets */ 3462306a36Sopenharmony_ci#define SRX VGA_SEQ_I 3562306a36Sopenharmony_ci#define GRX VGA_GFX_I 3662306a36Sopenharmony_ci#define ARX VGA_ATT_IW 3762306a36Sopenharmony_ci#define XRX 0x3D6 3862306a36Sopenharmony_ci#define MRX 0x3D2 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci/* VGA Color Palette Registers */ 4162306a36Sopenharmony_ci#define DACMASK 0x3C6 4262306a36Sopenharmony_ci#define DACSTATE 0x3C7 4362306a36Sopenharmony_ci#define DACRX 0x3C7 4462306a36Sopenharmony_ci#define DACWX 0x3C8 4562306a36Sopenharmony_ci#define DACDATA 0x3C9 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci/* CRT Controller Registers (CRX) */ 4862306a36Sopenharmony_ci#define START_ADDR_HI 0x0C 4962306a36Sopenharmony_ci#define START_ADDR_LO 0x0D 5062306a36Sopenharmony_ci#define VERT_SYNC_END 0x11 5162306a36Sopenharmony_ci#define EXT_VERT_TOTAL 0x30 5262306a36Sopenharmony_ci#define EXT_VERT_DISPLAY 0x31 5362306a36Sopenharmony_ci#define EXT_VERT_SYNC_START 0x32 5462306a36Sopenharmony_ci#define EXT_VERT_BLANK_START 0x33 5562306a36Sopenharmony_ci#define EXT_HORIZ_TOTAL 0x35 5662306a36Sopenharmony_ci#define EXT_HORIZ_BLANK 0x39 5762306a36Sopenharmony_ci#define EXT_START_ADDR 0x40 5862306a36Sopenharmony_ci#define EXT_START_ADDR_ENABLE 0x80 5962306a36Sopenharmony_ci#define EXT_OFFSET 0x41 6062306a36Sopenharmony_ci#define EXT_START_ADDR_HI 0x42 6162306a36Sopenharmony_ci#define INTERLACE_CNTL 0x70 6262306a36Sopenharmony_ci#define INTERLACE_ENABLE 0x80 6362306a36Sopenharmony_ci#define INTERLACE_DISABLE 0x00 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci/* Miscellaneous Output Register */ 6662306a36Sopenharmony_ci#define MSR_R 0x3CC 6762306a36Sopenharmony_ci#define MSR_W 0x3C2 6862306a36Sopenharmony_ci#define IO_ADDR_SELECT 0x01 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ci#define MDA_BASE 0x3B0 7162306a36Sopenharmony_ci#define CGA_BASE 0x3D0 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ci/* System Configuration Extension Registers (XRX) */ 7462306a36Sopenharmony_ci#define IO_CTNL 0x09 7562306a36Sopenharmony_ci#define EXTENDED_ATTR_CNTL 0x02 7662306a36Sopenharmony_ci#define EXTENDED_CRTC_CNTL 0x01 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ci#define ADDRESS_MAPPING 0x0A 7962306a36Sopenharmony_ci#define PACKED_MODE_ENABLE 0x04 8062306a36Sopenharmony_ci#define LINEAR_MODE_ENABLE 0x02 8162306a36Sopenharmony_ci#define PAGE_MAPPING_ENABLE 0x01 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ci#define BITBLT_CNTL 0x20 8462306a36Sopenharmony_ci#define COLEXP_MODE 0x30 8562306a36Sopenharmony_ci#define COLEXP_8BPP 0x00 8662306a36Sopenharmony_ci#define COLEXP_16BPP 0x10 8762306a36Sopenharmony_ci#define COLEXP_24BPP 0x20 8862306a36Sopenharmony_ci#define COLEXP_RESERVED 0x30 8962306a36Sopenharmony_ci#define CHIP_RESET 0x02 9062306a36Sopenharmony_ci#define BITBLT_STATUS 0x01 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci#define DISPLAY_CNTL 0x40 9362306a36Sopenharmony_ci#define VGA_WRAP_MODE 0x02 9462306a36Sopenharmony_ci#define VGA_WRAP_AT_256KB 0x00 9562306a36Sopenharmony_ci#define VGA_NO_WRAP 0x02 9662306a36Sopenharmony_ci#define GUI_MODE 0x01 9762306a36Sopenharmony_ci#define STANDARD_VGA_MODE 0x00 9862306a36Sopenharmony_ci#define HIRES_MODE 0x01 9962306a36Sopenharmony_ci 10062306a36Sopenharmony_ci#define DRAM_ROW_TYPE 0x50 10162306a36Sopenharmony_ci#define DRAM_ROW_0 0x07 10262306a36Sopenharmony_ci#define DRAM_ROW_0_SDRAM 0x00 10362306a36Sopenharmony_ci#define DRAM_ROW_0_EMPTY 0x07 10462306a36Sopenharmony_ci#define DRAM_ROW_1 0x38 10562306a36Sopenharmony_ci#define DRAM_ROW_1_SDRAM 0x00 10662306a36Sopenharmony_ci#define DRAM_ROW_1_EMPTY 0x38 10762306a36Sopenharmony_ci#define DRAM_ROW_CNTL_LO 0x51 10862306a36Sopenharmony_ci#define DRAM_CAS_LATENCY 0x10 10962306a36Sopenharmony_ci#define DRAM_RAS_TIMING 0x08 11062306a36Sopenharmony_ci#define DRAM_RAS_PRECHARGE 0x04 11162306a36Sopenharmony_ci#define DRAM_ROW_CNTL_HI 0x52 11262306a36Sopenharmony_ci#define DRAM_EXT_CNTL 0x53 11362306a36Sopenharmony_ci#define DRAM_REFRESH_RATE 0x03 11462306a36Sopenharmony_ci#define DRAM_REFRESH_DISABLE 0x00 11562306a36Sopenharmony_ci#define DRAM_REFRESH_60HZ 0x01 11662306a36Sopenharmony_ci#define DRAM_REFRESH_FAST_TEST 0x02 11762306a36Sopenharmony_ci#define DRAM_REFRESH_RESERVED 0x03 11862306a36Sopenharmony_ci#define DRAM_TIMING 0x54 11962306a36Sopenharmony_ci#define DRAM_ROW_BNDRY_0 0x55 12062306a36Sopenharmony_ci#define DRAM_ROW_BNDRY_1 0x56 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ci#define DPMS_SYNC_SELECT 0x61 12362306a36Sopenharmony_ci#define VSYNC_CNTL 0x08 12462306a36Sopenharmony_ci#define VSYNC_ON 0x00 12562306a36Sopenharmony_ci#define VSYNC_OFF 0x08 12662306a36Sopenharmony_ci#define HSYNC_CNTL 0x02 12762306a36Sopenharmony_ci#define HSYNC_ON 0x00 12862306a36Sopenharmony_ci#define HSYNC_OFF 0x02 12962306a36Sopenharmony_ci 13062306a36Sopenharmony_ci#define PIXPIPE_CONFIG_0 0x80 13162306a36Sopenharmony_ci#define DAC_8_BIT 0x80 13262306a36Sopenharmony_ci#define DAC_6_BIT 0x00 13362306a36Sopenharmony_ci#define HW_CURSOR_ENABLE 0x10 13462306a36Sopenharmony_ci#define EXTENDED_PALETTE 0x01 13562306a36Sopenharmony_ci 13662306a36Sopenharmony_ci#define PIXPIPE_CONFIG_1 0x81 13762306a36Sopenharmony_ci#define DISPLAY_COLOR_MODE 0x0F 13862306a36Sopenharmony_ci#define DISPLAY_VGA_MODE 0x00 13962306a36Sopenharmony_ci#define DISPLAY_8BPP_MODE 0x02 14062306a36Sopenharmony_ci#define DISPLAY_15BPP_MODE 0x04 14162306a36Sopenharmony_ci#define DISPLAY_16BPP_MODE 0x05 14262306a36Sopenharmony_ci#define DISPLAY_24BPP_MODE 0x06 14362306a36Sopenharmony_ci#define DISPLAY_32BPP_MODE 0x07 14462306a36Sopenharmony_ci 14562306a36Sopenharmony_ci#define PIXPIPE_CONFIG_2 0x82 14662306a36Sopenharmony_ci#define DISPLAY_GAMMA_ENABLE 0x08 14762306a36Sopenharmony_ci#define DISPLAY_GAMMA_DISABLE 0x00 14862306a36Sopenharmony_ci#define OVERLAY_GAMMA_ENABLE 0x04 14962306a36Sopenharmony_ci#define OVERLAY_GAMMA_DISABLE 0x00 15062306a36Sopenharmony_ci 15162306a36Sopenharmony_ci#define CURSOR_CONTROL 0xA0 15262306a36Sopenharmony_ci#define CURSOR_ORIGIN_SCREEN 0x00 15362306a36Sopenharmony_ci#define CURSOR_ORIGIN_DISPLAY 0x10 15462306a36Sopenharmony_ci#define CURSOR_MODE 0x07 15562306a36Sopenharmony_ci#define CURSOR_MODE_DISABLE 0x00 15662306a36Sopenharmony_ci#define CURSOR_MODE_32_4C_AX 0x01 15762306a36Sopenharmony_ci#define CURSOR_MODE_128_2C 0x02 15862306a36Sopenharmony_ci#define CURSOR_MODE_128_1C 0x03 15962306a36Sopenharmony_ci#define CURSOR_MODE_64_3C 0x04 16062306a36Sopenharmony_ci#define CURSOR_MODE_64_4C_AX 0x05 16162306a36Sopenharmony_ci#define CURSOR_MODE_64_4C 0x06 16262306a36Sopenharmony_ci#define CURSOR_MODE_RESERVED 0x07 16362306a36Sopenharmony_ci#define CURSOR_BASEADDR_LO 0xA2 16462306a36Sopenharmony_ci#define CURSOR_BASEADDR_HI 0xA3 16562306a36Sopenharmony_ci#define CURSOR_X_LO 0xA4 16662306a36Sopenharmony_ci#define CURSOR_X_HI 0xA5 16762306a36Sopenharmony_ci#define CURSOR_X_POS 0x00 16862306a36Sopenharmony_ci#define CURSOR_X_NEG 0x80 16962306a36Sopenharmony_ci#define CURSOR_Y_LO 0xA6 17062306a36Sopenharmony_ci#define CURSOR_Y_HI 0xA7 17162306a36Sopenharmony_ci#define CURSOR_Y_POS 0x00 17262306a36Sopenharmony_ci#define CURSOR_Y_NEG 0x80 17362306a36Sopenharmony_ci 17462306a36Sopenharmony_ci#define VCLK2_VCO_M 0xC8 17562306a36Sopenharmony_ci#define VCLK2_VCO_N 0xC9 17662306a36Sopenharmony_ci#define VCLK2_VCO_MN_MSBS 0xCA 17762306a36Sopenharmony_ci#define VCO_N_MSBS 0x30 17862306a36Sopenharmony_ci#define VCO_M_MSBS 0x03 17962306a36Sopenharmony_ci#define VCLK2_VCO_DIV_SEL 0xCB 18062306a36Sopenharmony_ci#define POST_DIV_SELECT 0x70 18162306a36Sopenharmony_ci#define POST_DIV_1 0x00 18262306a36Sopenharmony_ci#define POST_DIV_2 0x10 18362306a36Sopenharmony_ci#define POST_DIV_4 0x20 18462306a36Sopenharmony_ci#define POST_DIV_8 0x30 18562306a36Sopenharmony_ci#define POST_DIV_16 0x40 18662306a36Sopenharmony_ci#define POST_DIV_32 0x50 18762306a36Sopenharmony_ci#define VCO_LOOP_DIV_BY_4M 0x00 18862306a36Sopenharmony_ci#define VCO_LOOP_DIV_BY_16M 0x04 18962306a36Sopenharmony_ci#define REF_CLK_DIV_BY_5 0x02 19062306a36Sopenharmony_ci#define REF_DIV_4 0x00 19162306a36Sopenharmony_ci#define REF_DIV_1 0x01 19262306a36Sopenharmony_ci 19362306a36Sopenharmony_ci#define PLL_CNTL 0xCE 19462306a36Sopenharmony_ci#define PLL_MEMCLK_SEL 0x03 19562306a36Sopenharmony_ci#define PLL_MEMCLK__66667KHZ 0x00 19662306a36Sopenharmony_ci#define PLL_MEMCLK__75000KHZ 0x01 19762306a36Sopenharmony_ci#define PLL_MEMCLK__88889KHZ 0x02 19862306a36Sopenharmony_ci#define PLL_MEMCLK_100000KHZ 0x03 19962306a36Sopenharmony_ci 20062306a36Sopenharmony_ci/* Multimedia Extension Registers (MRX) */ 20162306a36Sopenharmony_ci#define ACQ_CNTL_1 0x02 20262306a36Sopenharmony_ci#define ACQ_CNTL_2 0x03 20362306a36Sopenharmony_ci#define FRAME_CAP_MODE 0x01 20462306a36Sopenharmony_ci#define CONT_CAP_MODE 0x00 20562306a36Sopenharmony_ci#define SINGLE_CAP_MODE 0x01 20662306a36Sopenharmony_ci#define ACQ_CNTL_3 0x04 20762306a36Sopenharmony_ci#define COL_KEY_CNTL_1 0x3C 20862306a36Sopenharmony_ci#define BLANK_DISP_OVERLAY 0x20 20962306a36Sopenharmony_ci 21062306a36Sopenharmony_ci/* FIFOs */ 21162306a36Sopenharmony_ci#define LP_FIFO 0x1000 21262306a36Sopenharmony_ci#define HP_FIFO 0x2000 21362306a36Sopenharmony_ci#define INSTPNT 0x3040 21462306a36Sopenharmony_ci#define LP_FIFO_COUNT 0x3040 21562306a36Sopenharmony_ci#define HP_FIFO_COUNT 0x3041 21662306a36Sopenharmony_ci 21762306a36Sopenharmony_ci/* FIFO Commands */ 21862306a36Sopenharmony_ci#define CLIENT 0xE0000000 21962306a36Sopenharmony_ci#define CLIENT_2D 0x60000000 22062306a36Sopenharmony_ci 22162306a36Sopenharmony_ci/* Command Parser Mode Register */ 22262306a36Sopenharmony_ci#define COMPARS 0x3038 22362306a36Sopenharmony_ci#define TWO_D_INST_DISABLE 0x08 22462306a36Sopenharmony_ci#define THREE_D_INST_DISABLE 0x04 22562306a36Sopenharmony_ci#define STATE_VAR_UPDATE_DISABLE 0x02 22662306a36Sopenharmony_ci#define PAL_STIP_DISABLE 0x01 22762306a36Sopenharmony_ci 22862306a36Sopenharmony_ci/* Interrupt Control Registers */ 22962306a36Sopenharmony_ci#define IER 0x3030 23062306a36Sopenharmony_ci#define IIR 0x3032 23162306a36Sopenharmony_ci#define IMR 0x3034 23262306a36Sopenharmony_ci#define ISR 0x3036 23362306a36Sopenharmony_ci#define VMIINTB_EVENT 0x2000 23462306a36Sopenharmony_ci#define GPIO4_INT 0x1000 23562306a36Sopenharmony_ci#define DISP_FLIP_EVENT 0x0800 23662306a36Sopenharmony_ci#define DVD_PORT_DMA 0x0400 23762306a36Sopenharmony_ci#define DISP_VBLANK 0x0200 23862306a36Sopenharmony_ci#define FIFO_EMPTY_DMA_DONE 0x0100 23962306a36Sopenharmony_ci#define INST_PARSER_ERROR 0x0080 24062306a36Sopenharmony_ci#define USER_DEFINED 0x0040 24162306a36Sopenharmony_ci#define BREAKPOINT 0x0020 24262306a36Sopenharmony_ci#define DISP_HORIZ_COUNT 0x0010 24362306a36Sopenharmony_ci#define DISP_VSYNC 0x0008 24462306a36Sopenharmony_ci#define CAPTURE_HORIZ_COUNT 0x0004 24562306a36Sopenharmony_ci#define CAPTURE_VSYNC 0x0002 24662306a36Sopenharmony_ci#define THREE_D_PIPE_FLUSHED 0x0001 24762306a36Sopenharmony_ci 24862306a36Sopenharmony_ci/* FIFO Watermark and Burst Length Control Register */ 24962306a36Sopenharmony_ci#define FWATER_BLC 0x00006000 25062306a36Sopenharmony_ci#define LMI_BURST_LENGTH 0x7F000000 25162306a36Sopenharmony_ci#define LMI_FIFO_WATERMARK 0x003F0000 25262306a36Sopenharmony_ci#define AGP_BURST_LENGTH 0x00007F00 25362306a36Sopenharmony_ci#define AGP_FIFO_WATERMARK 0x0000003F 25462306a36Sopenharmony_ci 25562306a36Sopenharmony_ci/* BitBLT Registers */ 25662306a36Sopenharmony_ci#define SRC_DST_PITCH 0x00040000 25762306a36Sopenharmony_ci#define DST_PITCH 0x1FFF0000 25862306a36Sopenharmony_ci#define SRC_PITCH 0x00001FFF 25962306a36Sopenharmony_ci#define COLEXP_BG_COLOR 0x00040004 26062306a36Sopenharmony_ci#define COLEXP_FG_COLOR 0x00040008 26162306a36Sopenharmony_ci#define MONO_SRC_CNTL 0x0004000C 26262306a36Sopenharmony_ci#define MONO_USE_COLEXP 0x00000000 26362306a36Sopenharmony_ci#define MONO_USE_SRCEXP 0x08000000 26462306a36Sopenharmony_ci#define MONO_DATA_ALIGN 0x07000000 26562306a36Sopenharmony_ci#define MONO_BIT_ALIGN 0x01000000 26662306a36Sopenharmony_ci#define MONO_BYTE_ALIGN 0x02000000 26762306a36Sopenharmony_ci#define MONO_WORD_ALIGN 0x03000000 26862306a36Sopenharmony_ci#define MONO_DWORD_ALIGN 0x04000000 26962306a36Sopenharmony_ci#define MONO_QWORD_ALIGN 0x05000000 27062306a36Sopenharmony_ci#define MONO_SRC_INIT_DSCRD 0x003F0000 27162306a36Sopenharmony_ci#define MONO_SRC_RIGHT_CLIP 0x00003F00 27262306a36Sopenharmony_ci#define MONO_SRC_LEFT_CLIP 0x0000003F 27362306a36Sopenharmony_ci#define BITBLT_CONTROL 0x00040010 27462306a36Sopenharmony_ci#define BLTR_STATUS 0x80000000 27562306a36Sopenharmony_ci#define DYN_DEPTH 0x03000000 27662306a36Sopenharmony_ci#define DYN_DEPTH_8BPP 0x00000000 27762306a36Sopenharmony_ci#define DYN_DEPTH_16BPP 0x01000000 27862306a36Sopenharmony_ci#define DYN_DEPTH_24BPP 0x02000000 27962306a36Sopenharmony_ci#define DYN_DEPTH_32BPP 0x03000000 /* Unimplemented on the i740 */ 28062306a36Sopenharmony_ci#define DYN_DEPTH_ENABLE 0x00800000 28162306a36Sopenharmony_ci#define PAT_VERT_ALIGN 0x00700000 28262306a36Sopenharmony_ci#define SOLID_PAT_SELECT 0x00080000 28362306a36Sopenharmony_ci#define PAT_IS_IN_COLOR 0x00000000 28462306a36Sopenharmony_ci#define PAT_IS_MONO 0x00040000 28562306a36Sopenharmony_ci#define MONO_PAT_TRANSP 0x00020000 28662306a36Sopenharmony_ci#define COLOR_TRANSP_ROP 0x00000000 28762306a36Sopenharmony_ci#define COLOR_TRANSP_DST 0x00008000 28862306a36Sopenharmony_ci#define COLOR_TRANSP_EQ 0x00000000 28962306a36Sopenharmony_ci#define COLOR_TRANSP_NOT_EQ 0x00010000 29062306a36Sopenharmony_ci#define COLOR_TRANSP_ENABLE 0x00004000 29162306a36Sopenharmony_ci#define MONO_SRC_TRANSP 0x00002000 29262306a36Sopenharmony_ci#define SRC_IS_IN_COLOR 0x00000000 29362306a36Sopenharmony_ci#define SRC_IS_MONO 0x00001000 29462306a36Sopenharmony_ci#define SRC_USE_SRC_ADDR 0x00000000 29562306a36Sopenharmony_ci#define SRC_USE_BLTDATA 0x00000400 29662306a36Sopenharmony_ci#define BLT_TOP_TO_BOT 0x00000000 29762306a36Sopenharmony_ci#define BLT_BOT_TO_TOP 0x00000200 29862306a36Sopenharmony_ci#define BLT_LEFT_TO_RIGHT 0x00000000 29962306a36Sopenharmony_ci#define BLT_RIGHT_TO_LEFT 0x00000100 30062306a36Sopenharmony_ci#define BLT_ROP 0x000000FF 30162306a36Sopenharmony_ci#define BLT_PAT_ADDR 0x00040014 30262306a36Sopenharmony_ci#define BLT_SRC_ADDR 0x00040018 30362306a36Sopenharmony_ci#define BLT_DST_ADDR 0x0004001C 30462306a36Sopenharmony_ci#define BLT_DST_H_W 0x00040020 30562306a36Sopenharmony_ci#define BLT_DST_HEIGHT 0x1FFF0000 30662306a36Sopenharmony_ci#define BLT_DST_WIDTH 0x00001FFF 30762306a36Sopenharmony_ci#define SRCEXP_BG_COLOR 0x00040024 30862306a36Sopenharmony_ci#define SRCEXP_FG_COLOR 0x00040028 30962306a36Sopenharmony_ci#define BLTDATA 0x00050000 310