VGAIO(8)

NAME
vgaio - perform input/output on a Video Graphics Array

SYNOPSIS
vgaio [-d]

DESCRIPTION

  Purpose
Vgaio is used to perform register-level input/output on a Video Graphics Array. Since some of the sequences required to access those registers are very silly, vgaio cares of all the things necessary and allows the user to access the registers of several register groups with their symbolic names.

  Options

-d  Turn on the grammar parser debugger.

  Command language
The command language of vgaio constitutes of some very simple tokens and rules. Commands are executed line by line as they are entered. Each line may contain any number of semicolon-separated input/output commands. Symbolic register names look like:
    <reggroup> <regnumber>
with <regnumber> being any hexadecimal number (without a leading 0x), and <reggroup> one of the strings “ar”, “cr”, “gr”, “mi”, or “sr”, standing for the Attribute controller, CRT controller, Graphics controller, Miscellaneous Output Register, or Timing sequencer, respectively. An input instruction has the form
    <regname>?
and will cause vgaio to output a line like

<regname> = 0x <number>

An output instruction looks like

<regname> = <number>

Spaces or Tabs between the <reggroup>, the <regnumber>, or any of the other tokens are ignored. They are not required anyway. The “mi” needs a single unused argument to satisfy the syntax :-) (-hm).

  Access control
The caller must have uid 0 in order to gain the required access to the IO registers.

HISTORY
This program is considered “hackware”. It has been developed in order to simplify the process of developing other software that needs to program the Video Graphics Array. Remember, to use this program, your kernel has to be compiled with XSERVER being defined !

AUTHOR
The program has been contributed by Joerg Wunsch, Dresden <joerg_wunsch@uriah.sax.de>.