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