Initial import from FreeBSD RELENG_4:
[games.git] / usr.sbin / pcvt / vgaio / vgaio.8
1 .\"
2 .\" Copyright (c) 1994 Joerg Wunsch
3 .\"
4 .\" All rights reserved.
5 .\"
6 .\" This program is free software.
7 .\"
8 .\" Redistribution and use in source and binary forms, with or without
9 .\" modification, are permitted provided that the following conditions
10 .\" are met:
11 .\" 1. Redistributions of source code must retain the above copyright
12 .\"    notice, this list of conditions and the following disclaimer.
13 .\" 2. Redistributions in binary form must reproduce the above copyright
14 .\"    notice, this list of conditions and the following disclaimer in the
15 .\"    documentation and/or other materials provided with the distribution.
16 .\" 3. All advertising materials mentioning features or use of this software
17 .\"    must display the following acknowledgement:
18 .\"     This product includes software developed by Joerg Wunsch
19 .\" 4. The name of the developer may not be used to endorse or promote
20 .\"    products derived from this software without specific prior written
21 .\"    permission.
22 .\"
23 .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
24 .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
25 .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
26 .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
27 .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
28 .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29 .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30 .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
32 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 .\"
34 .\" $FreeBSD: src/usr.sbin/pcvt/vgaio/vgaio.8,v 1.6.2.7 2003/03/11 22:31:30 trhodes Exp $
35 .\" -hm updated 31.12.94
36 .\"
37 .Dd December 31, 1994
38 .Dt VGAIO 8
39 .Os
40 .Sh NAME
41 .Nm vgaio
42 .Nd perform input/output on a Video Graphics Array
43 .Sh SYNOPSIS
44 .Nm
45 .Op Fl d
46 .Sh DESCRIPTION
47 .Ss Purpose
48 The
49 .Nm
50 utility
51 is used to perform register-level input/output on a Video Graphics Array.
52 Since some of the sequences required to access those registers are very
53 silly,
54 .Nm
55 cares of all the things necessary and allows the user to access the
56 registers of several register groups with their symbolic names.
57 .Ss Options
58 .Bl -tag -width 10n -offset indent
59 .It Fl d
60 Turn on the grammar parser debugger.
61 .El
62 .Ss Command language
63 The command language of
64 .Nm
65 constitutes of some very simple tokens and rules.
66 Commands are executed
67 line by line as they are entered.
68 Each line may contain any number of
69 semicolon-separated input/output commands.
70 .Pp
71 Symbolic register names look like:
72 .Pp
73 .D1 Ao Em reggroup Ac Ns Aq Em regnumber
74 .Pp
75 with
76 .Aq Em regnumber
77 being any hexadecimal number
78 (without a leading
79 .Em 0x ) ,
80 and
81 .Aq Em reggroup
82 one of the strings
83 .Dq Em ar ,
84 .Dq Em cr ,
85 .Dq Em gr ,
86 .Dq Em mi ,
87 or
88 .Dq Em sr ,
89 standing for the
90 .Em Attribute controller ,
91 .Em CRT controller ,
92 .Em Graphics controller ,
93 .Em Miscellaneous Output Register ,
94 or
95 .Em Timing sequencer ,
96 respectively.
97 .Pp
98 An input instruction has the form
99 .Pp
100 .D1 Ao Em regname Ac \&?
101 .Pp
102 and will cause
103 .Nm
104 to output a line like
105 .Bd -ragged -offset indent
106 .Aq Em regname
107 .No = 0x Ns Aq Em number
108 .Ed
109 .Pp
110 An output instruction looks like
111 .Bd -ragged -offset indent
112 .Ao Em regname Ac =
113 .Aq Em number
114 .Ed
115 .Pp
116 Spaces or Tabs between the
117 .Aq Em reggroup ,
118 the
119 .Aq Em regnumber ,
120 or any of the other tokens are ignored.
121 They are not required anyway.
122 .Pp
123 The
124 .Dq Em mi
125 needs a single unused argument to satisfy the syntax :-) (-hm).
126 .Ss Access control
127 The caller must have uid 0 in order to gain the required access to
128 the IO registers.
129 .Sh HISTORY
130 This program is considered
131 .Dq hackware .
132 It has been developed in order to simplify the process of developing other
133 software that needs to program the Video Graphics Array.
134 .Pp
135 Remember, to use this program, your kernel has to be compiled with XSERVER
136 being defined!
137 .Sh AUTHORS
138 The program has been contributed by
139 .An J\(:org Wunsch ,
140 Dresden
141 .Aq joerg_wunsch@uriah.sax.de .