VP(4) Kernel Interfaces Manual VP(4)
vp - Versatec printer-plotter
Vp0 is the interface to a Versatec D1200A printer-plotter with a Ver-
satec C-PDP11(DMA) controller. Ordinarily bytes written on it are
interpreted as ASCII characters and printed. As a printer, it writes
64 lines of 132 characters each on 11 by 8.5 inch paper. Only some of
the ASCII control characters are interpreted.
NL performs the usual new-line function, i.e. spaces up the paper
and resets to the left margin. It is ignored however following
a CR which ends a non-empty line.
CR is ignored if the current line is empty but is otherwise like
FF resets to the left margin and then to the top of the next page.
EOT resets to the left margin, advances 8 inches, and then performs
The ioctl(2) system call may be used to change the mode of the device.
Only the first word of the 3-word argument structure is used. The bits
0400 Enter simultaneous print/plot mode.
0200 Enter plot mode.
0100 Enter print mode (default on open).
040 Send remote terminate.
020 Send remote form-feed.
010 Send remote EOT.
04 Send remote clear.
02 Send remote reset.
On open a reset, clear, and form-feed are performed automatically.
Notice that the mode bits are not encoded, so that it is required that
exactly one be set.
In plot mode each byte is interpreted as 8 bits of which the high-order
is plotted to the left; a `1' leaves a visible dot. A full line of
dots is produced by 264 bytes; lines are terminated only by count or by
a remote terminate function. There are 200 dots per inch both verti-
cally and horizontally.
When simultaneous print-plot mode is entered exactly one line of char-
acters, terminated by NL, CR, or the remote terminate function, should
be written. Then the device enters plot mode and at least 20 lines of
plotting bytes should be sent. As the line of characters (which is 20
dots high) is printed, the plotting bytes overlay the characters.
Notice that it is impossible to print characters on baselines that dif-
fer by fewer than 20 dot-lines.
In print mode lines may be terminated either with an appropriate ASCII
character or by using the remote terminate function.