当前位置: 技术问答>linux和unix
看vgalib(直接写屏)源程序时遇到个问题请高人指点?
来源: 互联网 发布时间:2016-03-25
本文导语: 这是一个LINUX里直接下来写屏的源程序.在进行图形初始化时有一段鉴别显示器是彩色还是单色的程序如下: static int color_text; /* true if color text emulation */ . . . static unsigned cha...
这是一个LINUX里直接下来写屏的源程序.在进行图形初始化时有一段鉴别显示器是彩色还是单色的程序如下:
static int color_text; /* true if color text emulation */
.
.
.
static unsigned char inline port_in(unsigned short port)
{
unsigned char _v;
_asm_ volatile("inb %1,%0" :"=a" (_v):"d" ((unsigned short) port));
return _v;
}
.
.
.
/* color or monochrome text emulation? */
color_text=port_in(MIS_R) & 0x01; // 这段代码里的MIS_R就是显示适配器的混合输出寄存器(只读)地址0x3cch,
// 为什么能用0X3CCH读出的一个字节第1位判断显示器是彩色或是单色?
static int color_text; /* true if color text emulation */
.
.
.
static unsigned char inline port_in(unsigned short port)
{
unsigned char _v;
_asm_ volatile("inb %1,%0" :"=a" (_v):"d" ((unsigned short) port));
return _v;
}
.
.
.
/* color or monochrome text emulation? */
color_text=port_in(MIS_R) & 0x01; // 这段代码里的MIS_R就是显示适配器的混合输出寄存器(只读)地址0x3cch,
// 为什么能用0X3CCH读出的一个字节第1位判断显示器是彩色或是单色?
|
http://www.osdev.org/wiki/VGA_Hardware
http://wiki.opengraphics.org/tiki-index.php?page=Miscellanous+Output
Miscellanous Output Register
Read: 0x3CC
Write: 0x3C2
bit 0 - Input/Output Address Select: This bit controls the location of the CRTC and Feature Control register locations.
* 0 - CRTC at 0x3Bx, FC at 0x3BA (mono compatibility)
* 1 - CRTC at 0x3Dx, FC at 0x3DA (color compatibility)
http://wiki.opengraphics.org/tiki-index.php?page=Miscellanous+Output
Miscellanous Output Register
Read: 0x3CC
Write: 0x3C2
bit 0 - Input/Output Address Select: This bit controls the location of the CRTC and Feature Control register locations.
* 0 - CRTC at 0x3Bx, FC at 0x3BA (mono compatibility)
* 1 - CRTC at 0x3Dx, FC at 0x3DA (color compatibility)
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。