当前位置:  技术问答>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位判断显示器是彩色或是单色?
                                      

|
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)

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3