Asynchronous Terminals and Printer Processes Programming Manual

PRINTER PROGRAMMING CONSIDERATIONS
Using Vertical Format Control (VFC)
| The
byte count
parameter specifies the number of VFC data bytes
| (in decimal) that the printer should expect immediately following
| the termination of the escape sequence. You can specify the
byte
|
count
in 0 through 256 range. However, you must specify an even
|
byte count
. If you specify an odd
byte count
, the VFC table
| in the printer cannot be overridden and the
VFC data
following
| the termination of the escape sequence will be read and then
| discarded.
|
| The
VFC data
parameter is the binary data (in bytes) that is
| loaded into the RAM of the printer VFC table. These bytes are
| 8-bits long. The most significant byte of the first word is
| sent to printer first, followed by the least significant byte of
| the first word. This is then followed by the most significant
| byte of the second word, then the least significant byte of the
| second word. This continues until all the
VFC data
is sent to
| the printer.
|
|
| NOTE
|
| A word is 2 bytes or 16 bits long. The most significant
| bit of each word is channel 16 and the least significant
| bit of each word is channel 1.
|
|
| Once the VFC has been loaded into the printer RAM table, the
| VFC channels are selected using the <ESC>&l[
channel
]V sequence as
| described above.
|
| Powering off the printer causes the VFC table to be reloaded with
| the standard default VFC table. Resetting the printer by means
| of the front panel or using the RESET command <ESC>E also causes
| the VFC table to be reloaded with the standard default VFC table.
| In addition, when you issue a SETMODE 28 operation or when the
| first device is first opended, the I/O process resets the printer
| and the VFC table is reloaded with the standard default VFC
| table.
|
| The following is an example of program code that downloads the
| VFC table. This example downloads the default 11 inch VFC table.
|
|
| ?abslist, map
| !
| ! Global variables
| !
| INT PRINTER,
| RECV,
| .REC[0:11] := ["$RECEIVE",8*[" "]],
| .TERMNAME[0:11],
| .STARTUP^MSG[0:34],
| .INBUF[0:74],
7-32 November 1987