Category : Files from Magazines
Archive   : COMPUTE2.ZIP
Filename : SPIN.BAS
10 SCREEN 0: WIDTH 80: COLOR 7, 0, 0: CLS : KEY OFF: HALT = 0: DIR = 0
20 COLOR 12: PRINT TAB(35); "Spin 'n' Print"
30 COLOR 7: LOCATE 4, 1: PRINT "Enter drive name containing text file (default=A:) >"; : COLOR 11: INPUT "", A$: LOCATE 5, 1: PRINT SPACE$(70)
35 IF A$ = CHR$(27) THEN 370
40 IF A$ = "" THEN A$ = "A:" ELSE IF LEN(A$) <> 2 OR RIGHT$(A$, 1) <> ":" THEN LOCATE 5, 1: PRINT "ERROR: illegal drive name, try A:,B:, or C:": GOTO 30
50 LOCATE 6, 1: PRINT SPACE$(79): COLOR 7: LOCATE 6, 1: PRINT "Enter text filename (D=Directory) >"; : COLOR 11: INPUT "", IN$: LOCATE 7, 1: PRINT SPACE$(79)
55 IF IN$ = "" THEN 50
56 IF IN$ = CHR$(27) THEN 30
60 IF IN$ = "D" OR IN$ = "d" THEN 3230 ELSE IN$ = A$ + IN$
70 ON ERROR GOTO 3110: OPEN "I", 1, IN$: ON ERROR GOTO 3180
80 WS = 7: TS = 6
90 COLOR 2: LOCATE 15, 16: PRINT "CPI = Characters Per Inch CPP = Characters Per Page"; TAB(16); "LPI = Lines Per Inch"; SPC(8); "LPP = Lines Per Page"
100 COLOR 15: LOCATE 22, 26: PRINT "Press (Enter) to Begin Printing"
110 COLOR 10: LOCATE 10, 22: PRINT USING "CPI ##.## ###.# CPP (Right) (Left)"; 72 / WS; 792 / WS: LOCATE 11, 22: PRINT USING "LPI ##.## ###.# LPP (Up) (Down)"; TS; INT(960 / -(INT(-14 * 8.571 / TS)))
120 A$ = INKEY$: IF LEN(A$) = 2 THEN A$ = RIGHT$(A$, 1): WS = WS + (A$ = "M" AND WS > 3) - (A$ = "K" AND WS < 72): TS = TS - (A$ = "H" AND TS < 15) + (A$ = "P" AND TS > 1): GOTO 110 ELSE IF A$ <> CHR$(13) THEN 120
130 COLOR 15: LOCATE 22, 14: PRINT "Get Printer Ready - Press any key when ready to print": A$ = INPUT$(1): ON ERROR GOTO 3180
140 IF WS = 7 AND TS = 6 THEN DEFAULT = -1
150 WS = .114286 * WS: HORZ = -INT(-INT(WS * 125) / 100)
160 TS = 8.571 / TS: VERT = INT(960 / -(INT(-TS * 14)))
170 SCREEN 1: GOSUB 3130: WIDTH "LPT1:", 255
180 DIM L$(255), A$(125): FOR Z = 0 TO 255: READ L$(Z): NEXT Z
190 DIM LCHR$(255, 11): FOR Z = 0 TO HORZ - 1: LCHR$(0, Z) = STRING$(-INT(-TS * 14), 0): LCHR$(32, Z) = LCHR$(0, Z): NEXT Z
200 FOR Z = 1 TO VERT: A$(Z) = ""
210 IF NOT (EOF(1)) THEN LINE INPUT #1, A$(Z)
220 NEXT Z: Z1 = 1
230 FOR Z2 = 1 TO VERT: IF LEN(A$(Z2)) >= Z1 THEN 250
240 NEXT Z2: GOTO 340
250 FOR Z2 = 1 TO HORZ: LPRINT CHR$(27) + CHR$(76) + CHR$(192) + CHR$(3) + STRING$(960 - VERT * -INT(-TS * 14), 0); : GRAPH = 0
260 FOR Z3 = VERT TO 1 STEP -1
270 ESC$ = INKEY$: IF ESC$ = CHR$(27) THEN GOSUB 3150
280 IF Z1 > LEN(A$(Z3)) THEN Z = 0 ELSE Z = ASC(MID$(A$(Z3), Z1, 1))
290 IF Z > 128 THEN GRAPH = -1
300 IF L$(Z) <> "" THEN GOSUB 2950
310 LPRINT LCHR$(Z, Z2 - 1); : NEXT Z3: IF DEFAULT AND NOT (GRAPH) THEN LPRINT CHR$(27) + CHR$(49): GOTO 330 ELSE IF Z2 = HORZ THEN GOSUB 380 ELSE LPRINT CHR$(27) + CHR$(49)
320 NEXT Z2
330 Z1 = Z1 + 1: IF NOT (HALT) THEN 230 ELSE 350
340 IF NOT (EOF(1)) THEN LPRINT CHR$(12): IF NOT (HALT) THEN 200
350 SCREEN 0: WIDTH 80: COLOR 7: PRINT "Do you wish to print another text file sideways (Y/N)?"
360 WHILE INKEY$ <> "": WEND: A$ = INPUT$(1): IF A$ = "Y" OR A$ = "y" THEN CLOSE : CLEAR : RESTORE: RUN ELSE IF A$ <> "N" AND A$ <> "n" THEN 360
370 END
380 IF WS * 1.25 - HORZ + 1 = 0 THEN LPRINT CHR$(27) + CHR$(74) + CHR$(1) ELSE LPRINT CHR$(27) + CHR$(65) + CHR$(7 * (WS * 1.25 - HORZ + 1)) + CHR$(27) + CHR$(50): RETURN
390 DATA BD1: ' nul
400 DATA BD2D4F2R2E2U4H2L2G2BR2BD1Z0BR2Z0BD2G1H1: ' happy
410 DATA BD2D4F2R2E2U4H2L2G2BR2BD1Z0BR2Z0BD3H1G1: ' sad
420 DATA BD4D1F3E3U1H1L1G1H1L1G1: ' heart
430 DATA BD5F3E3H3G3: ' diamond
440 DATA BR3BD7F1L2E1BU2F1R1E1U1H1L1E1H1L2G1F1L1G1D1F1R1E1: ' club
450 DATA BR3BD1F3D1G1L1H1G1L1H1U1E3BD6F1L2E1: ' spade
460 DATA BD1: ' beep
470 DATA BD2R6D6L6U6BF3Z0: ' bs
480 DATA BD1: ' tab
490 DATA BD1: ' lf
500 DATA BD1: ' home
510 DATA BD1: ' ff
520 DATA BD1: ' return
530 DATA BR2D7H1G1F1E1U7R4D2L4R4D4H1G1F1E1: ' note
540 DATA BD4R1F1G1E1F1D1U1E1F1H1E1R1L1H1E1G1H1U1D1G1H1F1H1F1G1: ' star
550 DATA BD2BR1F3G3U6: ' r-arrow
560 DATA BD5BR1E3D6H3: ' l-arrow
570 DATA BR3BD2L2E2F2L2D4L2F2E2L2: ' d-arrow
580 DATA BR1D6BD2Z0BR4Z0BU2U6: ' !!
590 DATA BR2G2F2U4D8BR2U8L2R4: ' parg
600 DATA BR5BD1H1L2G1D3E2F2G2H2BR4D3G1L2H1: ' mark
610 DATA BD8R6U2L6D2BE1P0: ' syn
620 DATA BR3BD2L2E2F2L2D4L2F2R3L6R3E2L2: ' dd-arrow
630 DATA BR3BD2L2E2F2L2D6: ' up
640 DATA BR3D6L2F2E2L2: ' down
650 DATA BD4R4U2F2G2U2: ' right
660 DATA BD3BR2U2G2F2U2R4: ' left
670 DATA BD1: ' c-right
680 DATA BD1: ' c-left
690 DATA BD1: ' c-up
700 DATA BD1: ' c-down
710 DATA BD1: ' space
720 DATA BR3D5BD2Z1: ' !
730 DATA BR2Z1D2U2BR3Z1D2: ' "
740 DATA BR2BD1D7BR3U7BF2L7BD3R7: ' #
750 DATA BR3D8U2BL3F1R4E1U1H1L4H1U1E1R4F1: ' $
760 DATA Z0BR6D1G6D1BR6Z1: ' %
770 DATA BD8BR6H6E2F2G4D1F1R2E2: ' &
780 DATA BR2Z1D2: ' '
790 DATA BR4G2D4F2: ' (
800 DATA BR2F2D4G2: ' )
810 DATA BD4R6L3U3D6U3E2G4E2F2H4: ' *
820 DATA BD4R6L3U3D6: ' +
830 DATA BR2BD8Z1D2: ' ,
840 DATA BD4R6: ' -
850 DATA BR2BD8Z1: ' .
860 DATA BR6BD1G6: ' /
870 DATA BD2D4F2R2E2U4H2L2G2BR5G4: ' 0
880 DATA BR3G1E1D8: ' 1
890 DATA BD2E2R2F2G6R6: ' 2
900 DATA BD2E2R2F2G2L1R1F2G2L2H2: ' 3
910 DATA BR5G5R6BD3BL1U8: ' 4
920 DATA R6L6D3R4F2D1G2L2H2: ' 5
930 DATA BR5L3G2D4F2R2E2U1H2L2G2: ' 6
940 DATA R6D2G4D2: ' 7
950 DATA BD2F2R2L2G2F2R2E2H2E2H2L2G2: ' 8
960 DATA BD3BR6G2L2H2U1E2R2F2D4G2L3: ' 9
970 DATA BR2BD2Z0BD4Z0: ' :
980 DATA BR2BD2Z0BD4Z1D2: ' ;
990 DATA BR5G4F4: ' <
1000 DATA BD2R6BD3L6: ' =
1010 DATA BR1F4G4: ' >
1020 DATA BD2E2R2F2G3D1BD2Z0: ' ?
1030 DATA BD7BR5L3H2U2E2R2F2D2L2U2D1H1G1F1E1: ' @
1040 DATA BD8U5E3F3D2L6R6D3: ' A
1050 DATA D8R4E2H2L4R4E2H2L4: ' B
1060 DATA BD2D4F2R2E2BU4H2L2G2: ' C
1070 DATA D8R4E2U4H2L4: ' D
1080 DATA R6L6D4R4L4D4R6: ' E
1090 DATA R6L6D4R4L4D4: ' F
1100 DATA BD2D4F2R2E2U2L3R3BU2H2L2G2: ' G
1110 DATA D8U4R6D4U8: ' H
1120 DATA BR2R2L1D8L1R2: ' I
1130 DATA BD6F2R2E2U6: ' J
1140 DATA D8U4R2E4G4R2F2D2: ' K
1150 DATA D8R6: ' L
1160 DATA D8U8F3E3D8: ' M
1170 DATA D8U8F6D2U8: ' N
1180 DATA BD2D4F2R2E2U4H2L2G2: ' O
1190 DATA D8U4R4E2H2L4: ' P
1200 DATA BD2D4F2R2H2F3H1E2U4H2L2G2: ' Q
1210 DATA D8U4R2F4H4R2E2H2L4: ' R
1220 DATA BD6F2R2E2H2L2H2E2R2F2: ' S
1230 DATA R6L3D8: ' T
1240 DATA D6F2R2E2U6: ' U
1250 DATA D5F3E3U5: ' V
1260 DATA D8E3F3U8: ' W
1270 DATA D1F6D1BL6U1E6U1: ' X
1280 DATA D1F3D4U4E3U1: ' Y
1290 DATA R6D1G6D1R6: ' Z
1300 DATA BR2R2L2D8R2: ' [
1310 DATA BD1F6: ' \
1320 DATA BR2R2D8L2: ' ]
1330 DATA BR3G2E2F2: ' ^
1340 DATA BD9BD2R9: ' _
1350 DATA BR4Z0D2: ' `
1360 DATA BD2BR6D6U2G2L2H2U2E2R2F2: ' a
1370 DATA D8U2F2R2E2U2H2L2G2: ' b
1380 DATA BD3BR6H1L3G2D2F2R3E1: ' c
1390 DATA BR6D8U2G2L2H2U2E2R2F2: ' a
1400 DATA BD5R6U1H2L2G2D2F2R3: ' e
1410 DATA BR6BD2H2G2D6U3L2R4: ' f
1420 DATA BR6BD4H2L2G2D1F2R2E2U3D7G1L4: ' g
1430 DATA D8U4E2R2F2D4: ' h
1440 DATA BR3Z0BD2D6: ' i
1450 DATA BR5Z0BD2D6G2H2: ' j
1460 DATA D8U3R2E3G3R3F1D2: ' k
1470 DATA BR3D8: ' l
1480 DATA BD2D6U4E2F1D5U4E2F1D5: ' m
1490 DATA BD2D6U4E2R2F2D4: ' n
1500 DATA BD4D2F2R2E2U2H2L2G2: ' o
1510 DATA BD2D8U6E2R2F2D2G2L2H2: ' p
1520 DATA BR6BD2D8U6H2L2G2D2F2R2E2: ' q
1530 DATA BD2D6U4E2R2F2: ' r
1540 DATA BD8BR1R4E1U1H1L4H1U1E1R4: ' s
1550 DATA BR3D8U6R2L4: ' t
1560 DATA BD2D4F2R2E2U4D6: ' u
1570 DATA BD2D3F3E3U3: ' v
1580 DATA BD2D6E3F3U6: ' w
1590 DATA BD2F6H3E3G6: 'x
1600 DATA BD2D3F2R2E2U3D7G1L4: ' y
1610 DATA BD2R6G6R6: ' z
1620 DATA BR5L1G1D2G1F1D2F1R1: ' {
1630 DATA BR3D4BD2D4: ' |
1640 DATA BR1R1F1D2F1G1D2G1L1: ' }
1650 DATA BF1E1F2E1: ' ~
1660 DATA BD5E3F3D3L6U3: ' 127
1670 DATA BD2D4F2R1D2U2R1E2BU4H2L2G2: ' C,
1680 DATA BR1Z0BR4Z0BL5BD3D3F2R2E2U3D5: ' u..
1690 DATA BR4G1BL3BD5R6U1H2L2G2D1F2R3: ' e'
1700 DATA BR3G1E1F1BR2BD2D5U2G2L2H2U1E2R2F2: ' a^
1710 DATA BR1Z0BR4Z0BR1BD3D5U2G2L2H2U1E2R2F2: ' a..
1720 DATA BR3F1BR2BD2D5U2G2L2H2U1E2R2F2: ' a`
1730 DATA BR3R1D1L1U1BR3BD3D5U2G2L2H2U1E2R2F2: ' a.
1740 DATA BD3BR6H1L3G2D2F2R1D2U2R2E1: ' c,
1750 DATA BR3F1H1G1BL2BD5R6U1H2L2G2D1F2R3: ' e^
1760 DATA BR1Z0BR4Z1BL5BD6R6U1H2L2G2D1F2R3: ' e..
1770 DATA BR3F1BL4BD5R6U1H2L2G2D1F2R3: ' e`
1780 DATA BR1Z0BR4Z0BL2BD3D5: ' i..
1790 DATA BR3G1E1F1BG1BD1D5: ' i^
1800 DATA BR3F1BG1BD1D5: ' i`
1810 DATA BR1Z0BR4Z0BL2BD2F3D3U2L6D2U3E3: ' A..
1820 DATA BR3R1D1L1U1BD2F3D3U2L6D2U3E3: ' A.
1830 DATA BR4G1BD1R3L6D3R4L4D3R6: ' E'
1840 DATA BD3E1R1F1U1D6U1G1L1H1U4BR3E1R1F1D2L3D2F1R1E1: ' ae
1850 DATA BR3G3D5U4R3U4R3BD4BL1L2D4R3: ' AE
1860 DATA BR3F1H1G1BD2R2F2D1G2L2H2U1E2: ' o^
1870 DATA BR1Z0BR4Z0BL1BD3F2D1G2L2H2U1E2R2: ' o..
1880 DATA BR3F1BD2F2D1G2L2H2U1E2R2: ' o`
1890 DATA BR3F1H1G1BG2D3F2R2E2U3D5: ' u^
1900 DATA BR2F1BL3BD2D3F2R2E2U3D5: ' u`
1910 DATA BR1Z0BR4Z0BL5BD3D2F2R2E2U2D6G1L4: ' y..
1920 DATA BR1Z0BR4Z0BL5BD4E2R2F2D2G2L2H2U2E2R2: ' O..
1930 DATA BR1Z0BR4Z0BR1BD2D4G2L2H2U4: ' U..
1940 DATA BR3BD1D7U2R2L3H1U1E1R3: ' cent
1950 DATA BR6BD2H2L1G2D2R2L3R1D3G1R5E1: ' pound
1960 DATA BR1F2E2G2D2R2L4R2D2R2L4R2D2: ' tree
1970 DATA R2F2G2L2U4D8BR5U4R1L2R2L1U1: ' Pt
1980 DATA BR5L1G1D8G1L1BU5R4: ' freq
1990 DATA BR4G1BR3BD2D5U2G2L2H2U1E2R2F2: ' a'
2000 DATA BR4G1BD2D5: ' i'
2010 DATA BR4G1BD2L1G2D1F2R2E2U1H2L1: ' o'
2020 DATA BR4G1BL3BD2D3F2R2E2U3D5: ' u'
2030 DATA BF1E1F1E1BL4BD3D5U3E2R2F2D3: ' n~
2040 DATA BF2E1F1E1BL5BD2D6U6F6U6: ' N~
2050 DATA BD2BR6D6U2G2L2H2U2E2R2F2BD6L6: ' a_
2060 DATA BD4D2F2R2E2U2H2L2G2BD6R6: ' o_
2070 DATA BR3Z0BD2D1G3F2R2E2: ' ?
2080 DATA BD9BD4U8R9: ' l-corner
2090 DATA BD5R9D8: ' r-corner
2100 DATA D4U3BR6G6BD1BR6L2E2U1H1G1: ' 1/2
2110 DATA D4U3BR6G6BD1BR6U4D2L2U1: ' 1/4
2120 DATA BR3Z0BD2D6: ' i
2130 DATA BD4E3G3F3BR3H3E3: ' <<
2140 DATA BD1F3G3BR3E3H3: ' >>
2150 DATA BH1R9R2D9D6L9L2U9U6BF2P0: ' block
2160 DATA BH1R9R2D9D6L9L2U9U6BF2P0: ' block
2170 DATA BH1R9R2D9D6L9L2U9U6BF2P0: ' block
2180 DATA BR3D9D4: ' 179
2190 DATA BD5R3U5D9D4: ' 180
2200 DATA BD4R3D2L3R3U6D9D4: ' 181
2210 DATA BD5R2U5D9D4BR2U9U4: ' 182
2220 DATA BD5R4D8BL2U8: ' 183
2230 DATA BD4R3D9U7L3: ' 184
2240 DATA BD4R2U4BR2D9D4BL2U7L2: ' 185
2250 DATA BR2D9D4BR2U9U4: ' 186
2260 DATA BD4R4D9BL2U7L2: ' 187
2270 DATA BD4R2U4BR2D6L4: ' 188
2280 DATA BD5R4U5BL2D5: ' 189
2290 DATA BD4R3U4D6L3: ' 190
2300 DATA BD5R3D8: ' 191
2310 DATA BR3D5R6: ' 192
2320 DATA BR3D5L3R9: ' 193
2330 DATA BD5R3D8U8R6: ' 194
2340 DATA BR3D5R6L6D8: ' 195
2350 DATA BD5R9: ' 196
2360 DATA BD5R9L6U5D9D4: ' 197
2370 DATA BR3D9D4U8R6BU2L6: ' 198
2380 DATA BR2D9D4BR2U8R5L5U5: ' 199
2390 DATA BR2D6R7BU2L5U4: ' 200
2400 DATA BR2BD4D9BR2U7R5BU2L7: ' 201
2410 DATA BD4R2U4BR2D4R5BD2L9: ' 202
2420 DATA BD4R9BD2L5D7BL2U7L2: ' 203
2430 DATA BR2D9D4BR2U7R5BU2L5U4: ' 204
2440 DATA BD4R9BD2L9: ' 205
2450 DATA BD4R2U4BR2D4R5BD2L5D7BL2U7L2: ' 206
2460 DATA BD4R3U4D4R6BD2L9: ' 207
2470 DATA BD5R2U5D5R2U5D5R5: ' 208
2480 DATA BD4R9BD2L6D7U7L3: ' 209
2490 DATA BD5R2D8U8R2D8U8R5: ' 210
2500 DATA BR2D5R2U5D5R5: ' 211
2510 DATA BR3D6R6BU2L6: ' 212
2520 DATA BR3BD4D9U9R6BD2L6: ' 213
2530 DATA BR2BD5D8U8R7L5D8: ' 214
2540 DATA BR2D9D4BR2U9U4BL4BD5R9: ' 215
2550 DATA BR3D9D4BL3BU7R9BU2L9: ' 216
2560 DATA BD5R3U5: ' 217
2570 DATA BR3BD5D7U7R6: ' 218
2580 DATA R9D9D4L9U9U4BF2P0: ' 219
2590 DATA BD7R9D6L9U6BF2P0: ' 223
2600 DATA D9D4R4U9U4L4BF2P0: ' 221
2610 DATA BR4R5D9D4L5U9U4BF2P0: ' 222
2620 DATA R9D6L9U6BF2P0: ' 220
2630 DATA BD4D2F2E2F2H2U2E2G2H2G2: ' alpha
2640 DATA BD1D9U3F1R3E2U1H2L4R3E2H1L3G1: ' beta
2650 DATA D9D1U9U1R6D2: ' gamma
2660 DATA BD4E2D6U6R3D6U6E1: ' pi
2670 DATA R6D1U1L6F3G3D2R5E1: ' sum
2680 DATA BD4D2F2R1E2U2H2R3L4G2: ' sigma
2690 DATA BD2D8U4F2R2E2U4D6: ' mu
2700 DATA BD2R6L3D6: ' tau
2710 DATA BR2R2L1D1R1F2D2G2L1D1R1L2R1U1L1H2U2E2R1: ' phi
2720 DATA BD4R6U1H2L2G2D2F2R2E2U1: ' theta
2730 DATA BD8R1U2H1U3E2R2F2D3G1D2R1: ' omega
2740 DATA BR2R2L2G1D1F1R3F2D1G2L3H2U1E2: ' delta
2750 DATA BD3D1F1R1E1U1E1R1F1D1G1L1H1U1H1L1G1: ' infinity
2760 DATA BR3BD1G2D2F2E2U2H2BR3G6: ' empty
2770 DATA BR4L1G2D3R2L2D2F2R1: ' 238
2780 DATA BD8U6E2R2F2D6: ' and
2790 DATA BD3R6BD2L6BD2R6: ' define
2800 DATA BR3BD1D4U2R2L4BD4R4: ' +-
2810 DATA BR1F3G3BD2R3: ' >=
2820 DATA BR4G3F3BD2L3: ' <=
2830 DATA BR6BD1H1L1G1D9D3: ' int1
2840 DATA BR3D9D3G1L1H1: ' int2
2850 DATA BR3BD1Z0BD6Z0BU3L3R6: ' div
2860 DATA BD3E1R2F1R1E1BD3G1L1H1L2G1: ' approx
2870 DATA BR2R1D1L1U1: ' degree
2880 DATA BR2R1G1U1F1U1D1L1: ' degree
2890 DATA BR3BD1Z0: ' dot
2900 DATA BD5R1F3U8R2: ' root
2910 DATA BR1D4U2E2F2D2: ' n
2920 DATA BF1E1R1F1D1G3R3: ' 2
2930 DATA BF1R3D3L3U3R3BG1P0: ' box
2940 DATA BD1: ' blank
2950 GOSUB 3130: X = 10: Y = 10: PSET (X, Y), 0
2960 A$ = " " + L$(Z)
2970 FOR Z9 = 2 TO LEN(A$) STEP 2: IF MID$(A$, Z9, 1) = "B" THEN Z9 = Z9 + 1
2980 D$ = MID$(A$, Z9, 1): IF D$ <> "Z" THEN 3010
2990 Z8 = WS / 3: IF Z8 * 3 > TS THEN Z8 = TS / 3
3000 LINE (X - Z8, Y - Z8)-(X + Z8, Y + Z8), 1, BF: IF MID$(A$, Z9 + 1, 1) = "0" THEN PSET (X, Y), 1: GOTO 3050 ELSE 3050
3010 IF D$ = "P" THEN PAINT (X, Y), 1, 1
3020 X = X + ((-(INSTR("ERF", D$) <> 0) + (INSTR("HGL", D$) <> 0)) * VAL(MID$(A$, Z9 + 1, 1)) * WS)
3030 Y = Y + ((-(INSTR("GDF", D$) <> 0) + (INSTR("HUE", D$) <> 0)) * VAL(MID$(A$, Z9 + 1, 1)) * TS)
3040 IF MID$(A$, Z9 - 1, 1) = "B" THEN PSET (X, Y), 0 ELSE LINE -(X, Y), 1
3050 NEXT Z9
3060 FOR Z9 = 1 TO HORZ: LCHR$(Z, Z9 - 1) = ""
3070 FOR Z8 = 0 TO -INT(-14 * TS) - 1
3080 X = 10 + (Z9 - 1) * 8: Y = 10 + (-INT(-14 * TS) - 1) - Z8
3090 LCHR$(Z, Z9 - 1) = LCHR$(Z, Z9 - 1) + CHR$(POINT(X, Y) * 128 + POINT(X + 1, Y) * 64 + POINT(X + 2, Y) * 32 + POINT(X + 3, Y) * 16 + POINT(X + 4, Y) * 8 + POINT(X + 5, Y) * 4 + POINT(X + 6, Y) * 2 + POINT(X + 7, Y))
3100 NEXT Z8, Z9: L$(Z) = "": RETURN
3110 LOCATE 7, 1: PRINT "ERROR: file not found": RESUME 30
3120 LOCATE 1, 1: PRINT "ERROR: `"; A$; "' is an illegal drive name": PRINT "Press any key to continue": A$ = INPUT$(1): RESUME 10
3130 LINE (0, 8)-(320, 200), 0, BF: LOCATE 1, 6: IF HALT THEN PRINT "----- ONE MOMENT PLEASE -----" ELSE PRINT " Press ESC to halt printing ": RETURN
3140 RETURN
3150 LOCATE 1, 6: PRINT "(Q)uit or (C)ontinue printing"
3160 ESC$ = INPUT$(1): IF ESC$ = "Q" OR ESC$ = "q" THEN HALT = -1: GOSUB 3130: RETURN
3170 IF ESC$ = "C" OR ESC$ = "c" THEN GOSUB 3130: RETURN ELSE BEEP: GOTO 3160
3180 IF ERR = 5 THEN SCREEN 0: WIDTH 80: CLS : LOCATE 12, 12: PRINT "This program requires CGA or equivalent hardware.": END
3190 IF ERR <> 25 AND ERR <> 57 AND ERR <> 27 THEN SCREEN 0: WIDTH 80: PRINT "UNRECOVERABLE ERROR: error #"; ERR, ERL: PRINT "Press any key to exit.": WHILE INKEY$ = "": WEND: END
3200 CLS : SCREEN 0: WIDTH 80: PRINT "ERROR: Printer not ready": PRINT "(C)ontinue or (Q)uit": WHILE INKEY$ <> "": WEND
3210 A$ = INPUT$(1): IF A$ = "Q" OR A$ = "q" THEN RESUME 350 ELSE IF A$ <> "C" AND A$ <> "c" THEN 3210
3220 LOCATE 2, 1: PRINT "Setup printer and press any key when ready": A$ = INPUT$(1): SCREEN 1: CLS : RESUME
3230 CLS : ON ERROR GOTO 3120: FILES A$ + "*.*": ON ERROR GOTO 0
3240 COLOR 7: PRINT "Enter text filename >"; : COLOR 11: INPUT "", IN$
3250 CLS : COLOR 12: PRINT TAB(35); "Spin 'N' Print"
3260 COLOR 7: LOCATE 4, 1: PRINT "Drive name containing text file >"; : COLOR 11: PRINT A$
3270 COLOR 7: LOCATE 6, 1: PRINT "Text filename >"; : COLOR 11: PRINT IN$
3280 IN$ = A$ + IN$: GOTO 70
Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!
This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.
But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/