Asynchronous Terminals and Printer Processes Programming Manual

PRINTER PROGRAMMING CONSIDERATIONS
Using Vertical Format Control (VFC)
| %B0000000000000100, !50
| %B0000000010001100, !51
| %B0000000000010100, !52
| %B0000000000001100, !53
| %B0000000000000100, !54
| %B0000000000011100, !55
| %B0000000000000100, !56
| %B0000000000001100, !57
| %B0000000000010100, !58
| %B0000000100001100, !59
| %B0000000010000110, !60
| %B0000000000000000, !61
| %B0000000000000000, !62
| %B0000000000000000, !63
| %B0000000000000000, !64
| %B0000000000000000, !65
| %B0000001000000000], !66
| XCOUNT,
| COUNT:=146,
| RETRY:=-5;
| ?NOLIST
| ?SOURCE $SYSTEM.SYSTEM.EXTDECS(OPEN,READ,WRITE,FILEERROR,DEBUG)
| ?LIST
| PROC LOAD^VFC^TEST MAIN;
| FORWARD;
|
| PROC LOAD^VFC^TEST MAIN;
| BEGIN
|
| CALL OPEN( REC, RECV, %40000, 1 );! OPEN $RECEIVE
| IF <> THEN CALL DEBUG;
| CALL READ( RECV, INBUF, 149 ); ! READ OPEN MESSAGE FROM CI
| IF <= OR INBUF <> -30 THEN
| CALL DEBUG;
| CALL READ( RECV, STARTUP^MSG, 68 ); ! READ STARTUP MESSAGE
| IF <> OR STARTUP^MSG <> -1 THEN
| CALL DEBUG;
| CALL READ( RECV, INBUF, 149 ); ! READ CLOSE MESSAGE FROM CI
| IF <= OR INBUF <> -31 THEN
| CALL DEBUG;
|
| CALL OPEN( STARTUP^MSG[21], PRINTER, %20020 );
| IF <> THEN
| BEGIN
| CALL FILEERROR( -1 );
| CALL DEBUG;
| END;
|
| START:
| !send VFC data
| AGAIN:
| CALL WRITE( PRINTER, VFUBUF, COUNT, XCOUNT );
| IF <> THEN
7-34 November 1987