Epson LX-80 User Manual - Page 89

then reads the next two numbers 8 and 0 and sends them to

Page 89 highlights

The numbers for the second and third lines were calculated in the same manner. Once the numbers for the pin patterns are calculated, they go in DATA statements, separated by commas. First we'll give you the whole program and its printout; then we'll explain two techniques we have not used before: 90 WIDTH LPRINT 255 100 LPRINT CHR$(27)"1" 590 FOR K=l TO 3 600 LPRINT CHR$(27)"Y"CHR$(50)CHR$(0); 610 READ N: IF N=128 THEN 650 620 IF N>=0 THEN LPRINT CHR$(N);: GOT0 610 630 READ P,R: FOR J=l TO -N 632 LPRINT CHR$(P)CHR$(R);: NEXT J 640 GOT0 610 650 LPRINT: NEXT K: LPRINT CHR$(27)"@": END 800 DATA 8,4,10,1,-6,8,0,4,0,2,0,1,-9,0,0,0 805 DATA 23,8,4,2,1,-2,0,0,0,128 810 DATA 0,0,0,0,64,32,17,10,4,0,-6,0,0,-10 815 DATA 64,0,0,0,0,64,32,17,10,4,128 820 DATA 2,4,10,16,34,64,-5,2,0,4,0,8,0,16 825 DATA 0,-9,32,0,61,2,4,8,16,32,64,0,0,0,128 In this program we used the number 128 in the DATA statements to signal the end of a print line. This is the reason for the IF-THEN statement in line 610 that skips to line 650 and causes a line feed. The other special technique used in this program is found in lines 620 and 630. Since some of the data numbers are repeated many times, we save typing by using negative DATA numbers for repetitions. Line 620 tests for a negative number, and if it finds one, reads the next two numbers and prints their pin patterns the number of times indicated by the negative number. For example, when the minus 6 in line 800 is read, the program then reads the next two numbers (8 and 0) and sends them to the printer six times. This feature is not a necessary part of the program, but it does allow you to type fewer data numbers. Otherwise the program is a straightforward graphics program that uses 7-dot line spacing and reads numbers from DATA statements and sends them to the printer. If you want to see the figure in other densities, change the "Y" in line 600 to "L" or "Z". 85

  • 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

The numbers for the second and third lines were calculated in the
same manner. Once the numbers for the pin patterns are calculated,
they go in DATA statements, separated by commas.
First we’ll give you the whole program and its printout; then we’ll
explain two techniques we have not used before:
90
WIDTH
LPRINT
255
100
LPRINT
CHR$(27)"1"
590
FOR
K=l
TO
3
600
LPRINT
CHR$(27)"Y"CHR$(50)CHR$(0);
610
READ
N:
IF
N=128
THEN
650
620
IF
N>=0
THEN
LPRINT
CHR$(N);:
GOT0
610
630
READ
P,R:
FOR
J=l
TO
-N
632
LPRINT
CHR$(P)CHR$(R);:
NEXT
J
640
GOT0
610
650
LPRINT:
NEXT
K:
LPRINT
CHR$(27)"@":
END
800
DATA
8,4,10,1,-6,8,0,4,0,2,0,1,-9,0,0,0
805
DATA
23,8,4,2,1,-2,0,0,0,128
810
DATA
0,0,0,0,64,32,17,10,4,0,-6,0,0,-10
815
DATA
64,0,0,0,0,64,32,17,10,4,128
820
DATA
2,4,10,16,34,64,-5,2,0,4,0,8,0,16
825
DATA
0,-9,32,0,61,2,4,8,16,32,64,0,0,0,128
In this program we used the number 128 in the DATA statements
to signal the end of a print line. This is the reason for the IF-THEN
statement in line
610
that skips to line
650
and causes a line feed.
The other special technique used in this program is found in lines
620
and 630. Since some of the data numbers are repeated many
times, we save typing by using negative DATA numbers for repeti-
tions. Line 620 tests for a negative number, and if it finds one, reads
the next two numbers and prints their pin patterns the number of
times indicated by the negative number.
For example, when the minus 6 in line 800 is read, the program
then reads the next two numbers (8 and 0) and sends them to the
printer six times. This feature is not a necessary part of the program,
but it does allow you to type fewer data numbers.
Otherwise the program is a straightforward graphics program that
uses 7-dot line spacing and reads numbers from DATA statements
and sends them to the printer. If you want to see the figure in other
densities, change the “Y” in line
600
to “L” or “Z”.
85