Classic Computer Magazine Archive COMPUTE! ISSUE 37 / JUNE 1983 / PAGE 61

Using a Printer With the TI-99/4A

These tips will give you a good start on adding a printer to the TI-99/4A. Here are the fundamentals from the RS-232 Interface to PRINT # statements.

Texas Instruments has a thermal printer which attaches to the side of the TI. It is a small unit which uses a special thermal printer paper and can print a 30-column line. A number of other printers may also be used with your TI. Prices range from about $500 on up. The cost depends on whether the printing is dot-matrix or letter quality, on various options available, and on how the printer is built.

(For definitions of these terms, see other articles in this issue.)

To connect your printer to the TI-99/4A, you will need the RS-232 interface. You may use either the ''old-style'' individual RS-232 Interface peripheral or the RS-232 Interface Card which fits in the TI Peripheral Expansion Box. You will also need a cable to go from the interface to the printer, and the cable should be sold with the printer. If you want to wire your own cable, the plug is a standard DB-25, and the pin connections are given in the manual that comes with the RS-232 Interface.

Configurations

Manuals are important. The manual that comes with the R5-232 Interface describes how you list parameters for your ''printer configuration'' so you can give instructions to your computer to access the printer through the RS-232. The manual that comes with the printer should describe how to achieve various type styles (fonts) and how to set margins, line lengths, and the top of the form. Be prepared to spend some time experimenting with the different switches and features of your printer.

When you use the printer configuration in a command, it is set off in quotes. Parameters may be chosen for baud rate, stop bits, and number of nulls. Some examples are:

''RS232.TW.BA = 110'' (teletype)

''RS232.BA = 600'' (TI 825 or TI 840 printer)

''RS232.BA = 9600.DA = 8'' (Epson MX 80)

One of the primary uses of a printer is to obtain a ''hard copy'' listing of a program. Using your own printer configuration in the quotes, the following commands may be used:

LIST ''RS232.BA = 600"

Lists whole program

LIST ''RS232.BA = 600'': -250

Lists program lines up to line 250

LIST ''RS232.BA = 600'':300-330

Lists program lines 300 to 330

LIST ''RS232.BA = 600":700-

Lists program from line 700 to end.

Another valuable use for a printer is to print a report from your program. Before you print, an OPEN statement is necessary. The OPEN statement designates a device number and your printer configuration. You may have several devices, and you may number your devices in any order. An example statement is:

120 OPEN #1:"RS232.BA=600''

After the OPEN statement, you may print to the printer by a statement such as:

130 PRINT #1:''MY NAME IS REGENA."

When you've finished printing or you're at the end of the program, you should close all devices. This can be done with the following statement:

550 CLOSE #1

Here is a short sample program that illustrates printing to a printer:

100 OPEN #1:''RS232.BA = 600''

Opens device #1 for printer.

110 OPEN #2:"SPEECH'',OUTPUT

Opens device #2 for speech (Terminal Emulator II required)

120 PRINT ''HERE IS A SAMPLE"

Prints message on screen.

130 PRINT #1:"TEST REPORT''

Prints on printer.

140 PRINT #2:''HELLO''

Speaks the word using synthesizer.

150 CLOSE #1

Closes device #1.

160 CLOSE #2

Closes device #2.

170 END

The print list following the colon in a PRINT # statement follows the same rules as regular printing to the screen. Since the length of lines may be longer on the printer (the screen has 28 columns in a print line), you may use the TAB function to arrange your printing:

100 OPEN #1:''RS232.BA= 600''

110 PRINT #1:TAB(25):''MONTHLY PAYMENTS''

You may use a variable in the TAB function:

200 PRINT #1:TAB(T+A);MONTH$;X

You may also use colons to print blank lines:

220 PRINT #1:::

lf you have adjusted your printer properly for vertical tabs, you may go to the top of the next page by using:

300 PRINT #1:CHR$(12)