1*61601Sbostic.\" Copyright (c) 1980, 1991, 1993 2*61601Sbostic.\" The Regents of the University of California. All rights reserved. 320696Smckusick.\" 447674Scael.\" %sccs.include.redist.man% 520696Smckusick.\" 6*61601Sbostic.\" @(#)va.4 8.1 (Berkeley) 06/05/93 747674Scael.\" 847674Scael.Dd 947674Scael.Dt VA 4 vax 1047674Scael.Os BSD 4 1147674Scael.Sh NAME 1247674Scael.Nm va 1347674Scael.Nd Benson-Varian interface 1447674Scael.Sh SYNOPSIS 1547674Scael.Cd "controller va0 at uba0 csr 0164000 vector vaintr" 1647674Scael.Cd "disk vz0 at va0 drive 0" 1747674Scael.Sh DESCRIPTION 1847674Scael.Bf -symbolic 1947674Scael(NOTE: the configuration description, while counter-intuitive, 2047674Scaelis actually as shown above.) 2147674Scael.Ef 2247674Scael.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. 2747674Scael.Pp 2847674ScaelIn print mode, the Benson-Varian uses a modified 2947674Scael.Tn ASCII 3047674Scaelcharacter set. 3147674ScaelMost control characters print various non- 3247674Scael.Tn ASCII 3347674Scaelgraphics such as daggers, 3420696Smckusicksigmas, copyright symbols, etc. 3547674ScaelOnly 3647674Scael.Tn LF 3747674Scaeland 3847674Scael.Tn FF 3947674Scaelare used as format effectors. 4047674Scael.Tn LF 4147674Scaelacts as a newline, 4247674Scaeladvancing to the beginning of the next line, and 4347674Scael.Tn FF 4447674Scaeladvances to the top of 4520696Smckusickthe next page. 4647674Scael.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. 5047674Scael.Pp 5147674Scael.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. 5547674Scael.Pp 5620697SmckusickTo use the Benson-Varian yourself, 5720697Smckusickyou must realize that you cannot open the device, 5847674Scael.Pa /dev/va0 5947674Scaelif there is an daemon active. 6020697SmckusickYou can see if there is an active daemon by doing a 6147674Scael.Xr lpq 1 6220697Smckusickand seeing if there are any files being printed. 6328179SbloomPrinting should be turned off using 6447674Scael.Xr lpc 8 . 6547674Scael.Pp 6620697SmckusickTo set the Benson-Varian into plot mode include the file 6747674Scael.Aq Pa sys/vcmd.h 6820696Smckusickand use the following 6947674Scael.Xr ioctl 2 7020696Smckusickcall 7147674Scael.Bd -literal -offset indent 7220696Smckusickioctl(fileno(va), VSETSTATE, plotmd); 7347674Scael.Ed 7447674Scael.Pp 7520696Smckusickwhere 7647674Scael.Ar plotmd 7720696Smckusickis defined to be 7847674Scael.Bd -literal -offset indent 7947674Scaelint plotmd[] = { VPLOT, 0, 0 }; 8047674Scael.Ed 8147674Scael.Pp 8220696Smckusickand 8347674Scael.Ar va 8420696Smckusickis the result of a call to 8547674Scael.Xr fopen 8620696Smckusickon stdio. 8720696SmckusickWhen you finish using the Benson-Varian in plot mode you should advance to 8820696Smckusicka new page 8947674Scaelby sending it a 9047674Scael.Tn FF 9147674Scaelafter putting it back into print mode, i.e. by 9247674Scael.Bd -literal -offset indent 9347674Scaelint prtmd[] = { VPRINT, 0, 0 }; 9447674Scael\&... 9547674Scaelfflush(va); 9647674Scaelioctl(fileno(va), VSETSTATE, prtmd); 9747674Scaelwrite(fileno(va), "\ef\e0", 2); 9847674Scael.Ed 9947674Scael.Sh FILES 10047674Scael.Bl -tag -width /dev/va0xx -compact 10147674Scael.It Pa /dev/va0 10247674Scael.El 10347674Scael.Sh DIAGNOSTICS 10420697SmckusickThe following error numbers are significant at the 10520697Smckusicktime the device is opened. 10647674Scael.Bl -tag -width ENXIOxx 10747674Scael.It Bq Er ENXIO 10820697SmckusickThe device is already in use. 10947674Scael.It Bq Er EIO 11020697SmckusickThe device is offline. 11147674Scael.El 11247674Scael.Pp 11320697SmckusickThe following message may be printed on the console. 11447674Scael.Pp 11547674Scael.Bl -diag 11647674Scael.It va%d: npr timeout. 11747674ScaelThe device was not able to get data from 11847674Scaelthe 11947674Scael.Tn UNIBUS 12047674Scaelwithin the timeout period, most likely because some other 12147674Scaeldevice was hogging the bus. (But see 12247674Scael.Sx BUGS 12347674Scaelbelow). 12447674Scael.El 12547674Scael.Sh SEE ALSO 12647674Scael.Xr vfont 5 , 12747674Scael.Xr lpr 1 , 12847674Scael.Xr lpd 8 , 12947674Scael.Xr vp 4 13047674Scael.Sh HISTORY 13147674ScaelThe 13247674Scael.Nm 13347674Scaeldriver appeared in 13447674Scael.Bx 4.0 . 13547674Scael.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. 13847674Scael.Pp 13920696SmckusickThe interface hardware is rumored to have problems which can 14047674Scaelplay havoc with the 14147674Scael.Tn UNIBUS . 14247674ScaelWe have intermittent minor problems on the 14347674Scael.Tn UNIBUS 14447674Scaelwhere our 14547674Scael.Xr va 14620697Smckusicklives, but haven't ever been able to pin them down 14720696Smckusickcompletely. 148