📄 302567f87c19001b1635a980f546e085
字号:
#ifndef __VGA_H__
#define __VGA_H__
// VGA Parameter
#define VGA_WIDTH 200
#define VGA_HEIGHT 480
#define OSD_MEM_ADDR VGA_WIDTH*VGA_HEIGHT
// VGA Set Function
#define Vga_Write_Ctrl(base,value) IOWR(base, OSD_MEM_ADDR , value)
#define Vga_Cursor_X(base,value) IOWR(base, OSD_MEM_ADDR+1 , value)
#define Vga_Cursor_Y(base,value) IOWR(base, OSD_MEM_ADDR+2 , value)
#define Vga_Cursor_Color_R(base,value) IOWR(base, OSD_MEM_ADDR+3 , value)
#define Vga_Cursor_Color_G(base,value) IOWR(base, OSD_MEM_ADDR+4 , value)
#define Vga_Cursor_Color_B(base,value) IOWR(base, OSD_MEM_ADDR+5 , value)
#define Vga_Pixel_On_Color_R(base,value) IOWR(base, OSD_MEM_ADDR+6 , value)
#define Vga_Pixel_On_Color_G(base,value) IOWR(base, OSD_MEM_ADDR+7 , value)
#define Vga_Pixel_On_Color_B(base,value) IOWR(base, OSD_MEM_ADDR+8 , value)
#define Vga_Pixel_Off_Color_R(base,value) IOWR(base, OSD_MEM_ADDR+9 , value)
#define Vga_Pixel_Off_Color_G(base,value) IOWR(base, OSD_MEM_ADDR+10 , value)
#define Vga_Pixel_Off_Color_B(base,value) IOWR(base, OSD_MEM_ADDR+11 , value)
#define Vga_Set_Pixel(base,x,y,k) IOWR(base, y*VGA_WIDTH+x, k) //改动过
#define Vga_Clr_Pixel(base,x,y) IOWR(base, y*VGA_WIDTH+x, 0)
//-------------------------------------------------------------------------
typedef union VGA_Ctrl_Reg
{
struct _VGA_Ctrl_Flags
{
unsigned char RED_ON : 1;
unsigned char GREEN_ON : 1;
unsigned char BLUE_ON : 1;
unsigned char CURSOR_ON : 1;
unsigned char RESERVED : 4;
}VGA_Ctrl_Flags;
unsigned char Value;
}VGA_Ctrl_Reg;
//-------------------------------------------------------------------------
void Set_Cursor_XY(unsigned int X,unsigned int Y);
void Set_Cursor_Color(unsigned int R,unsigned int G,unsigned int B);
void Set_Pixel_On_Color(unsigned int R,unsigned int G,unsigned int B);
void Set_Pixel_Off_Color(unsigned int R,unsigned int G,unsigned int B);
//-------------------------------------------------------------------------
#endif
//-------------------------------------------------------------------------
void Set_Cursor_XY(unsigned int X,unsigned int Y)
{
Vga_Cursor_X(VGA_6_BASE,X);
Vga_Cursor_Y(VGA_6_BASE,Y);
}
//-------------------------------------------------------------------------
void Set_Cursor_Color(unsigned int R,unsigned int G,unsigned int B)
{
Vga_Cursor_Color_R(VGA_6_BASE,R);
Vga_Cursor_Color_G(VGA_6_BASE,G);
Vga_Cursor_Color_B(VGA_6_BASE,B);
}
//-------------------------------------------------------------------------
void Set_Pixel_On_Color(unsigned int R,unsigned int G,unsigned int B)
{
Vga_Pixel_On_Color_R(VGA_6_BASE,R);
Vga_Pixel_On_Color_G(VGA_6_BASE,G);
Vga_Pixel_On_Color_B(VGA_6_BASE,B);
}
//-------------------------------------------------------------------------
void Set_Pixel_Off_Color(unsigned int R,unsigned int G,unsigned int B)
{
Vga_Pixel_Off_Color_R(VGA_6_BASE,R);
Vga_Pixel_Off_Color_G(VGA_6_BASE,G);
Vga_Pixel_Off_Color_B(VGA_6_BASE,B);
}
//-------------------------------------------------------------------------
unsigned long RGB(unsigned int r,unsigned int g,unsigned int b)
{
unsigned long temp;
temp=r+g*1024+b*1048576;
return (unsigned long)temp;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -