Epson FX-286 User Manual - Page 115

IBM PC BASIC solutions, OPEN LPT1: AS #1, PRINT #1, Now I can print anything

Page 115 highlights

IBM PC BASIC solutions There are three problems in using the IBM Personal Computer BASIC to drive a printer. First, the IBM PC BASIC inserts a carriagereturn/line-feed (CR-LINE FEED) after each 80 characters you send it. Second, it adds an LINE FEED to each CR in an LPRINT statement. Third, it will not send hex 1A (decimal 26). 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: WIDTH "LPT1:",255 The 255 is a special number that prevents the computer system from inserting a CR-LINE FEED into the line. Unless, of course, there's one in your program. The extra line feed-CHR$(10)-that accompanies each carriage return-CHR$(13)-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: OPEN "LPT1:" 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 #l command: PRINT #1, "Now I can print anything" This does allow you to print anything, but it ignores any previous WIDTH statements. If you want to print more than 80 columns per line in a graphics program, you must therefore change your opening statement to include the appropriate WIDTH statement: OPEN "LPT1:" AS #1 : WIDTH #1, 255 And for the programs in this manual, don't forget to use PRINT #l instead of LPRINT. There is no easy solution to the problem with CHR$(26). It is best to change any instance of decimal 26 (hex 1A) in your programs to another number. C-7

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223

IBM PC BASIC solutions
There are three problems in using the IBM Personal Computer
BASIC to drive a printer. First, the IBM PC BASIC inserts a carriage-
return/line-feed (CR-LINE FEED) after each 80 characters you send it.
Second, it adds an LINE FEED to each CR in an LPRINT statement.
Third, it will not send hex 1A (decimal 26).
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:
WIDTH "LPT1:",255
The 255 is a special number that prevents the computer system from
inserting a CR-LINE FEED into the line. Unless, of course, there’s one
in your program.
The extra line feed—CHR$(10)—that accompanies each carriage
return—CHR$(13)—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:
OPEN "LPT1:" 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 #l
command:
PRINT #1, "Now I can print anything"
This does allow you to print anything, but it ignores any previous
WIDTH
statements.
If you want to print more than 80 columns per line in a graphics
program, you must therefore change your opening statement to
include the appropriate WIDTH statement:
OPEN "LPT1:" AS #1 : WIDTH #1, 255
And for the programs in this manual, don’t forget to use PRINT #l
instead of LPRINT.
There is no easy solution to the problem with CHR$(26). It is best to
change any instance of decimal 26 (hex
1A)
in your programs to
another number.
C-7