Annotation of lucent/sys/man/3/vga, revision 1.1

1.1     ! root        1: .TH VGA 3 
        !             2: .SH NAME
        !             3: vga \- VGA controller device
        !             4: .SH SYNOPSIS
        !             5: .nf
        !             6: .B bind #v /dev
        !             7: 
        !             8: .B /dev/vgactl
        !             9: .B /dev/vgaiob
        !            10: .B /dev/vgaiow
        !            11: .B /dev/vgaiol
        !            12: .fi
        !            13: .SH DESCRIPTION
        !            14: The VGA device allows configuration of a graphics controller
        !            15: on a PC.
        !            16: .B Vgactl
        !            17: allows control over higher-level settings such as display height, width, depth,
        !            18: controller and hardware-cursor type.
        !            19: .BR Vgaiob ,
        !            20: .B vgaiow 
        !            21: and
        !            22: .B vgaiol
        !            23: allow control over individual 8-bit, 16-bit and 32-bit
        !            24: x86
        !            25: I/O-ports respectively, such as those
        !            26: used to implement configuration and setup registers on a VGA controller card.
        !            27: These functions are normally carried out by
        !            28: .IR vga (8).
        !            29: .PP
        !            30: Writes to
        !            31: .B vgactl
        !            32: are of the form
        !            33: .RI ` attribute\ value '.
        !            34: Valid attributes are
        !            35: .TP
        !            36: .I size
        !            37: .I value
        !            38: is 
        !            39: .IB 'X x Y x Z'
        !            40: , where
        !            41: .IR X ,
        !            42: .I Y
        !            43: and
        !            44: .I Z
        !            45: are numbers that tell the kernel the width and
        !            46: height of the screen in pixels and the number of
        !            47: bits per pixel.
        !            48: .TP
        !            49: .I type
        !            50: tells the kernel which type of controller is
        !            51: being used, mainly to enable the correct code for display-memory bank switching
        !            52: at resolutions greater than 640x480x1. The names
        !            53: .IR vga ,
        !            54: .IR clgd542x ,
        !            55: .IR et4000 ,
        !            56: .IR mach32 ,
        !            57: and
        !            58: .I s3
        !            59: are supported for
        !            60: .IR value .
        !            61: .IP
        !            62: Note that this list does not indicate the full set of VGA chips
        !            63: supported. For example,
        !            64: .I s3
        !            65: includes the 86C801/5, 86C928, Vision864, and Vision964.
        !            66: It is the job of
        !            67: .IR vga (8)
        !            68: to recognize which particular chip is being used and to initialize it
        !            69: appropriately.
        !            70: .TP
        !            71: .I hwgc
        !            72: tells the kernel to use a particular type of hardware graphics cursor.
        !            73: .IR Bt485hwgc ,
        !            74: .IR et4000hwgc ,
        !            75: .I s3hwgc
        !            76: and
        !            77: .IR tvp3020hwgc ,
        !            78: are currently recognized values.
        !            79: A value of
        !            80: .I off
        !            81: reverts to using the software cursor.
        !            82: .PP
        !            83: Reading
        !            84: .B vgactl
        !            85: returns the current settings, one per line.
        !            86: .SH EXAMPLES
        !            87: The following reverts to using the software graphics
        !            88: cursor
        !            89: .EX
        !            90: 
        !            91:        echo -n 'hwgc off' >/dev/vgactl
        !            92: 
        !            93: .EE
        !            94: Sample code to read an
        !            95: x86
        !            96: 8-bit I/O port
        !            97: .EX
        !            98: 
        !            99:        uchar
        !           100:        inportb(long port)
        !           101:        {
        !           102:                uchar data;
        !           103:        
        !           104:                if(iobfd == -1)
        !           105:                        iobfd = open("#v/vgaiob", ORDWR);
        !           106:        
        !           107:                seek(iobfd, port, 0);
        !           108:                if(read(iobfd, &data, sizeof(data)) != sizeof(data))
        !           109:                        error("inportb(0x%4.4x): %r\n", port);
        !           110:                return data;
        !           111:        }
        !           112: 
        !           113: .EE
        !           114: .SH SOURCE
        !           115: .B /sys/src/9/pc/devvga.c
        !           116: .SH SEE ALSO
        !           117: .IR vga (8)
        !           118: .SH BUGS
        !           119: There should be some restriction on the range of valid ports.
        !           120: .PP
        !           121: There should be support for the hardware graphics cursor on the
        !           122: .I clgd54[23]x
        !           123: VGA controller chips.
        !           124: .PP
        !           125: The hardware graphics cursor on the
        !           126: .I et4000
        !           127: does not work in 2x8-bit mode.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.