FUNCTION: Prints a sequential file to a printer attached to the auxiliary
Port of a terminal from a BASIC program.
HINTS/RESTRICTIONS: For optimum results the terminal must be capable of
supporting a transparent print mode. A terminal with
simultaneous (such as a SOROC IQ120) will work but the
text will also be printed on the terminal screen. The
terminal driver TCRT code #82 must correspond with turning
on transparent mode and TCRT code #83 must correspond with
turning transparent mode off. The terminal driver DUMB.TDV
must be resident in memory as a driver on a TRMDEF
statement in the .INI file. An example of DUMB.TDV is
provided at the end of this documentation.
Example: TRMDEF AUXPRT,PSEUDO,DUMB,1,1,1
or include it as a driver for a printer,
Example:
TRMDEF LASER,AM300=12:9600,DUMB,2,2,25
As long as the DUMB.TDV is in a TRMDEF statement, AUXSBR
will find it.
AUXSBR.SBR is LOKSER compatible and will work under
AMOS MULTI environment.
FORMAT:
XCALL AUXSBR, filename, flag
WHERE:
filename = string variable of the name of the file to print.
Default extension is .LST
flag = binary one number that receives a status flag from
AUXSBR.SBR.
0 = All ok.
1 = Filename not found.
2 = File is RANDOM.
3 = DUMB.TDV not on a TRMDEF statement.
4 = File is in use (LOKSER).
5 = Any other file service error
(AUXSBR will report error on terminal)
EXAMPLE:
MAP1 FILENAME, S, 25, "AUXSBR.BAS" ! name of file to print
MAP1 FLAG, B, 1 ! returned value
DEFAULTS: Defaults to files with the extension .LST
Always defaults to the printer attached to the terminal.
OPTIONS: none
OPERATION: From BASIC use the statement:
XCALL AUXSBR, FILENAME, FLAG
AUXSBR will change the current terminal driver to DUMB then opens
the file selected. The terminal driver is then changed to DUMB.TDV
so that control characters (such as microspace characters for the
DIABLO) will not effect the terminal screen. AUXSBR then turns on
the auxiliary port using the TCRT code 82 or Print TAB(-1,82). Then
each character is then taken from the file, passed to the terminal
and out the auxiliary port to the printer. At the end of the file a
form feed is sent, the terminal's original driver is replaced, the
auxiliary port is turned off, the sequential file is closed and the
user is returned to the BASIC program.
COMMAND SUMMARY: If AUXSBR does not work with your terminal and printer
configuration then first check the cabling between the
terminal and printer for correct data flow. Also check the
terminal's terminal driver to see that TCRT code 82 is
corresponding with the codes that turn the terminal's
auxiliary port on in transparent print mode and that TCRT
code 83 turns the auxiliary port off. Also check the protocal
on the Auxiliary port and the protocal on the printer.
XON/XOFF protocal on the Auxiliary port and the Printer
usually works best. Also be sure the Baud rates on the
Auxiliary port and the printer match.
ERRORS:
The FLAG variable will report:
0 if all was OK.
1 if the requested filename was not found.
2 if the requested filename was a RANDOM file.
3 if DUMB.TDV could not be found in the system TERMINAL DRIVER area.
4 if the requested filename is in use under LOKSER.
5 if any other file service error happens.
The following errors are reported from AUXSBR.SBR:
- Must pass 2 variable in AUXSBR.SBR
The XCALL statement must have 2 arguments.
- Variable 2 must be Binary in AUXSBR.SBR.
The second argument on the XCALL statement must be mapped as a binary
1 number.
MAP1 FLAG, B, 1
- First variable must be a STRING in AUXSBR.SBR
The first argument on the XCALL statement must be mapped as a String
MAP1 FILENAME, S, 24
CHARACTERISTICS:
Ninety-nine point nine percent of the time that it doesn't
work it is a problem with the cable hookup between the
terminal and the printer. In some cases a 25-pin to 25-pin
hookup works just fine. In other cases pins 2,3,7 to 2,3,7
work. In other cases 2,3,7 on the terminal end to 2,3,7 on
the printer end and 5,6,8,20 on the printer end tied together
work. Some printers work in the PTR RDY state, while others
work in the DC1/DC3 state. Always consult your printer manual
and terminal's auxiliary port configuration. I have found
that in most instances any set up that works from the I/O
port from an ALPHA to the printer will also work from the
terminal to the printer. It also works at different baud
rates. I.E. if your terminal is set at 9600 baud and the
auxiliary port and printer are set at 1200 baud, AUXSBR
works. I have seen set ups with BROTHER printers, DIABLO
printers, TI810 printers, OKIDATA printers, and HPLaserJet
printers, in use with SOROC terminals, LNK125 terminals, WYSE
terminals, AM60 terminals, and FRREDOM 100 terminals. So
almost any configuration is possible.
Will work with LOKSER and AMOS MULTI.
SPECIAL:
;DUMB.TDV
OBJNAM DUMB.TDV
DUMB: WORD 0
RTN
RTN
RTN
RTN
END
WYSE 50 & WYSE 350 TERMINALS:
In the Wyse terminal driver make sure that the transparent print on
code is equivalent to a Control X (BYTE 24.,0) and the transparent off
code is equivalent to a Control T (BYTE 20.,0). In setup mode of the
WYSE terminal make sure that HANDSHAKE is XON/XOFF and ENHANCE is ON.
Set up the printer for XON/XOFF protocal. With most printers a 25 pin
to 25 pin cable will work.
WYSE 50, WYSE 350 TO HP LASER JET PRINTER - 25 PIN TO 25 PIN CABLE
Prints all HP escape codes with no problems.
WYSE 50, WYSE 350 TO DIABLO 630 - CONNECT DIABLO CABLE DIRECTLY
TO AUXILIARY PORT ON WYSE TERMINAL. Set Diablo printer to
correct baud rate, PTR RDY, DISABLE Parity. Prints all codes
to do underlining, bold, backspace, etc. with no adverse
effects.
WYSE 50, WYSE 350 to OKIDATA 93 - 25 pin to 25 Pin CABLE
Set the Okidata printer to PTR RDY protocal or (OKI SIMPLEX)
LINK 125 TERMINALS:
In the LINK terminal driver make sure that the transparent print on
code is equivalent to a Control X (BYTE 24.,0) and the transparent off
code is equivalent to a Control T (BYTE 20.,0). In setup mode of the
Set up LINK TERMINALS auxiliary port to PRINTER, DATA BIT=8, STOP
BIT=1, PARITY=NONE, ATTRIBUTES=CHARACTER, FULL DUPLEX, HANDSHAKE
XON/XOFF. With most printers a 25 pin to 25 pin cable will work.
LINK 125 TO HP LASER JET - 25 PIN TO 25 PIN CABLE
Set Terminal baud rate to 9600. Prints all HP codes with no
problems.
LINK 125 TO DIABLO 630 - CONNECT DIABLO CABLE DIRECTLY TO AUXILIARY
PORT ON LINK TERMINAL. Set Diablo printer to
correct baud rate, PTR RDY, DISABLE Parity. Prints all codes
to do underlining, bold, backspace, etc. with no adverse
effects.
LINK 125 to OKIDATA 93 - 25 pin to 25 Pin CABLE
Set the Okidata printer to PTR RDY protocal or (OKI SIMPLEX).
OTHER PRINTERS:
Most problems occur with the protocal between the terminal port and
the printer. The other problem is incorrect cabling. Check cabling
procedure for the printer and terminal that you have.
NOTE:
This program is not part of the original AMOS/L operating system
distributed by Alpha Microsystems.
The author of this program is: James A. Jarboe IV
1401 19th Street
Huntsville, TX 77340
1-409-295-5767
GR/AM
This command was donated by: James A. Jarboe IV
Distributed by the Alpha Micro Users Society, 735 Walnut St.,
Boulder, CO 80302. (303) 449-6917.