xref: /csrg-svn/share/man/man4/man4.vax/va.4 (revision 47674)
1*47674Scael.\" Copyright (c) 1980, 1991 Regents of the University of California.
2*47674Scael.\" All rights reserved.
320696Smckusick.\"
4*47674Scael.\" %sccs.include.redist.man%
520696Smckusick.\"
6*47674Scael.\"     @(#)va.4	6.3 (Berkeley) 03/27/91
7*47674Scael.\"
8*47674Scael.Dd
9*47674Scael.Dt VA 4 vax
10*47674Scael.Os BSD 4
11*47674Scael.Sh NAME
12*47674Scael.Nm va
13*47674Scael.Nd Benson-Varian interface
14*47674Scael.Sh SYNOPSIS
15*47674Scael.Cd "controller va0 at uba0 csr 0164000 vector vaintr"
16*47674Scael.Cd "disk vz0 at va0 drive 0"
17*47674Scael.Sh DESCRIPTION
18*47674Scael.Bf -symbolic
19*47674Scael(NOTE: the configuration description, while counter-intuitive,
20*47674Scaelis actually as shown above.)
21*47674Scael.Ef
22*47674Scael.Pp
2328179SbloomThe Benson-Varian printer/plotter in normally used with the line printer
2428179Sbloomsystem.
2520696SmckusickThis description is designed for those who wish to drive the Benson-Varian
2620696Smckusickdirectly.
27*47674Scael.Pp
28*47674ScaelIn print mode, the Benson-Varian uses a modified
29*47674Scael.Tn ASCII
30*47674Scaelcharacter set.
31*47674ScaelMost control characters print various non-
32*47674Scael.Tn ASCII
33*47674Scaelgraphics such as daggers,
3420696Smckusicksigmas, copyright symbols, etc.
35*47674ScaelOnly
36*47674Scael.Tn LF
37*47674Scaeland
38*47674Scael.Tn FF
39*47674Scaelare used as format effectors.
40*47674Scael.Tn LF
41*47674Scaelacts as a newline,
42*47674Scaeladvancing to the beginning of the next line, and
43*47674Scael.Tn FF
44*47674Scaeladvances to the top of
4520696Smckusickthe next page.
46*47674Scael.Pp
4720696SmckusickIn plot mode, the Benson-Varian prints one raster line at a time.
4820696SmckusickAn entire raster line of bits (2112 bits = 264 bytes) is sent, and
4920696Smckusickthen the Benson-Varian advances to the next raster line.
50*47674Scael.Pp
51*47674Scael.Em Note :
5220696SmckusickThe Benson-Varian must be sent an even number of bytes.
5320696SmckusickIf an odd number is sent, the last byte will be lost.
5420696SmckusickNulls can be used in print mode to pad to an even number of bytes.
55*47674Scael.Pp
5620697SmckusickTo use the Benson-Varian yourself,
5720697Smckusickyou must realize that you cannot open the device,
58*47674Scael.Pa /dev/va0
59*47674Scaelif there is an daemon active.
6020697SmckusickYou can see if there is an active daemon by doing a
61*47674Scael.Xr lpq 1
6220697Smckusickand seeing if there are any files being printed.
6328179SbloomPrinting should be turned off using
64*47674Scael.Xr lpc 8 .
65*47674Scael.Pp
6620697SmckusickTo set the Benson-Varian into plot mode include the file
67*47674Scael.Aq Pa sys/vcmd.h
6820696Smckusickand use the following
69*47674Scael.Xr ioctl 2
7020696Smckusickcall
71*47674Scael.Bd -literal -offset indent
7220696Smckusickioctl(fileno(va), VSETSTATE, plotmd);
73*47674Scael.Ed
74*47674Scael.Pp
7520696Smckusickwhere
76*47674Scael.Ar plotmd
7720696Smckusickis defined to be
78*47674Scael.Bd -literal -offset indent
79*47674Scaelint plotmd[] = { VPLOT, 0, 0 };
80*47674Scael.Ed
81*47674Scael.Pp
8220696Smckusickand
83*47674Scael.Ar va
8420696Smckusickis the result of a call to
85*47674Scael.Xr fopen
8620696Smckusickon stdio.
8720696SmckusickWhen you finish using the Benson-Varian in plot mode you should advance to
8820696Smckusicka new page
89*47674Scaelby sending it a
90*47674Scael.Tn FF
91*47674Scaelafter putting it back into print mode, i.e. by
92*47674Scael.Bd -literal -offset indent
93*47674Scaelint prtmd[] = { VPRINT, 0, 0 };
94*47674Scael\&...
95*47674Scaelfflush(va);
96*47674Scaelioctl(fileno(va), VSETSTATE, prtmd);
97*47674Scaelwrite(fileno(va), "\ef\e0", 2);
98*47674Scael.Ed
99*47674Scael.Sh FILES
100*47674Scael.Bl -tag -width /dev/va0xx -compact
101*47674Scael.It Pa /dev/va0
102*47674Scael.El
103*47674Scael.Sh DIAGNOSTICS
10420697SmckusickThe following error numbers are significant at the
10520697Smckusicktime the device is opened.
106*47674Scael.Bl -tag -width ENXIOxx
107*47674Scael.It Bq Er ENXIO
10820697SmckusickThe device is already in use.
109*47674Scael.It Bq Er EIO
11020697SmckusickThe device is offline.
111*47674Scael.El
112*47674Scael.Pp
11320697SmckusickThe following message may be printed on the console.
114*47674Scael.Pp
115*47674Scael.Bl -diag
116*47674Scael.It va%d: npr timeout.
117*47674ScaelThe device was not able to get data from
118*47674Scaelthe
119*47674Scael.Tn UNIBUS
120*47674Scaelwithin the timeout period, most likely because some other
121*47674Scaeldevice was hogging the bus.  (But see
122*47674Scael.Sx BUGS
123*47674Scaelbelow).
124*47674Scael.El
125*47674Scael.Sh SEE ALSO
126*47674Scael.Xr vfont 5 ,
127*47674Scael.Xr lpr 1 ,
128*47674Scael.Xr lpd 8 ,
129*47674Scael.Xr vp 4
130*47674Scael.Sh HISTORY
131*47674ScaelThe
132*47674Scael.Nm
133*47674Scaeldriver appeared in
134*47674Scael.Bx 4.0 .
135*47674Scael.Sh BUGS
13620696SmckusickThe 1's (one's) and l's (lower-case el's) in the Benson-Varian's
13720696Smckusickstandard character set look very similar; caution is advised.
138*47674Scael.Pp
13920696SmckusickThe interface hardware is rumored to have problems which can
140*47674Scaelplay havoc with the
141*47674Scael.Tn UNIBUS .
142*47674ScaelWe have intermittent minor problems on the
143*47674Scael.Tn UNIBUS
144*47674Scaelwhere our
145*47674Scael.Xr va
14620697Smckusicklives, but haven't ever been able to pin them down
14720696Smckusickcompletely.
148