TRS-80TMsolutions

A routine to POKE codes to the memory of a Model I is given in the POKEing codes subsection. A special printer driver for either the Model I or the Model III is shown in the Special printer drivers subsection. One of those methods should solve any problems with the programs in this manual.

IBM-PCTMsolutions

There are two problems in using the IBM Personal Computer BASIC to drive a printer. First, the IBM-PC BASIC inserts a carriage-return/line-feed (CR-LF) after each 80 characters you send it. Second, it adds an LF to each CR in an LPRINT statement.

Here is the way to adjust the width when it is the only problem. Tell the computer that the print line is wider than 80 characters with this WIDTH statement:

WIDTIi “IAPT : “, 2 5 5

The 255 is a special number that prevents the computer system from inserting a CR-LF into the line. Unless, of course, there’s one in your program.

The extra line feed-CHR$(10)-that accompanies each carriage r e t u r n - C H R $ ( 1 3 ) - is no problem except when you need to use CHR$(13) in a graphics program. Getting rid of the extra CHR$(10) is rather complicated. First you open the printer as a random file:

O P E N “IJ’TI : ” AS # 1

Although this allows you to send any code to the printer, you can no longer use the LPRINT command. Instead, you must use a PRINT #1 command :

P R I N T # 1 , “ N o w I c a n p r i n t , a n y t h i n g ”

This does allow you to print anything, but it ignores any previous WIDTH statements.

If you want to print more than 80 characters per line in a graphics program, you must therefore change your opening statement to ir elude the appropriate WIDTH statement:

O P E N “IPTl: ” A S #1 : WIBTH $41, 25Lj

F-13