home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / enterprs / cpm / utils / f / mxset.arc / MXSET.BAS next >
Encoding:
BASIC Source File  |  1993-03-31  |  8.5 KB  |  259 lines

  1. 100 'EPSON PRINTER INITIALIZATION PROGRAM
  2. 110 'PROGRAM ID: MXSET
  3. 120 '
  4. 130 'WRITTEN BY JEROME BERNSTEIN
  5. 140 '           325 ARLINGTON ROAD, N.
  6. 150 '           JACKSONVILLE, FL 32211
  7. 160 'PERMISSION IS GRANTED TO COPY FOR ANY 
  8. 170 'NON-COMMERCIAL USE.
  9. 180 '
  10. 190 ESC$ = CHR$(27)
  11. 200 CLS$ = CHR$(26)
  12. 210 LPRINT ESC$"@";
  13. 220 F1$ = "ON "          '11" @ 6 LPI
  14. 230 F2$ = "OFF"          '11" @ 8 LPI
  15. 240 F3$ = "OFF"          '8 1/2" @ 6 LPI
  16. 250 F4$ = "OFF"          '8 1/2" @ 8 LPI
  17. 260 SOP$ = "OFF"         'SKIP OVER PERF
  18. 270 PO$ = "ON "          'PAPER OUT SENSOR
  19. 280 CP$ = "OFF"          'COMPRESSED PRINT
  20. 290 UL$ = "OFF"          'UNDERLINE MODE
  21. 300 IT$ = "OFF"          'ITALICS
  22. 310 UP$ = "OFF"          'UNIDIRECTIONAL PRINTING
  23. 320 EM$ = "OFF"          'EMPHASIZED PRINT
  24. 330 DS$ = "OFF"          'DOUBLE STRIKE
  25. 340 SL$ = "0"            'SKIP OVER PERF LINES
  26. 350 SW$ = "136"          'COLUMN WIDTH
  27. 360 SUP$ = "OFF"         'SUPERSCRIPT 
  28. 370 SUB$ = "OFF"         'SUBSCRIPT
  29. 380 DW$ = "OFF"
  30. 390 PRINT CLS$
  31. 400 PRINT TAB(7);"EPSON PRINTER INITIALIZATION PROGRAM":PRINT
  32. 410 PRINT " 1. RESET TO DEFAULTS      10. ITALICS -";IT$
  33. 420 PRINT " 2. 11 IN. @ 6 LPI -";F1$;SPC(4);"11. UNIDIRECT. PRINT -";UP$
  34. 430 PRINT " 3. 11 IN. @ 8 LPI -";F2$;SPC(4);"12. EMPHASIZE PRINT -";EM$
  35. 440 PRINT " 4. 8.5IN. @ 6 LPI -";F3$;SPC(4);"13. DOUBLE STRIKE -";DS$
  36. 450 PRINT " 5. 8.5IN. @ 8 LPI -";F4$;SPC(4);"14. SET SOP LINES -";SL$
  37. 460 PRINT " 6. SKIP OVER PERF -";SOP$;SPC(4);"15. SET WIDTH -";SW$
  38. 470 PRINT " 7. PAPER OUT SENSE -";PO$;SPC(3);"16. SUPERSCRIPT -";SUP$
  39. 480 PRINT " 8. COMPRESSED CHAR -";CP$;SPC(3);"17. SUBSCRIPT -";SUB$
  40. 490 PRINT " 9. UNDERLINE MODE -";UL$;SPC(4);"18. DOUBLE WIDTH -";DW$
  41. 500 PRINT
  42. 510 PRINT "(Q)UIT WHEN FINISHED":PRINT
  43. 520 LINE INPUT "ENTER OPTION NUMBER: "; X$
  44. 530 IF (MID$(X$,1,1) = "Q") OR (MID$(X$,1,1) = "q") THEN GOTO 2640
  45. 540 IF (LEN(X$) > 0) AND (LEN(X$) < 3) THEN GOTO 610
  46. 550 PRINT:PRINT CHR$(7)
  47. 560 LINE INPUT "INVALID OPTION NUMBER - PRESS RETURN"; X$
  48. 570 GOTO 390
  49. 580 FOR L = 1 TO LEN(X$)
  50. 590 IF (MID$(X$,L,1) < "0") OR (MID$(X$,L,1) > "9") THEN GOTO 550
  51. 600 NEXT L
  52. 610 X = VAL(X$)
  53. 620 IF (X > 0) AND (X < 19) THEN GOTO 640
  54. 630 GOTO 550
  55. 640 ON X GOTO 660, 690, 730, 770, 810, 850, 950, 1030, 1110,1190,1270, 1350, 1430, 1510, 1760, 2420, 2500, 2570
  56. 650 'RESET ALL TO DEFAULTS
  57. 660 LPRINT ESC$"@";
  58. 670 GOTO 220
  59. 680 'SET 11 INCH PAPER AT 6 LINES PER INCH
  60. 690 F1$ = "ON ":F2$ = "OFF":F3$ = F2$:F4$ = F2$
  61. 700 LPRINT ESC$"2"ESC$"C"CHR$(66);
  62. 710 GOTO 390
  63. 720 'SET 11 INCH PAPER AT 8 LINES PER INCH
  64. 730 F1$ = "OFF":F2$ = "ON ":F3$ = F1$:F4$ = F1$
  65. 740 LPRINT ESC$"0"ESC$"C"CHR$(88);
  66. 750 GOTO 390
  67. 760 'SET 8 1/2 INCH PAPER AT 6 LINES PER INCH
  68. 770 F1$ = "OFF":F2$ = F1$:F3$ = "ON ":F4$ = F1$
  69. 780 LPRINT ESC$"2"ESC$"C"CHR$(51);
  70. 790 GOTO 390
  71. 800 'SET 8 1/2 INCH PAPER AT 8 LINES PER INCH
  72. 810 F1$ = "OFF":F2$ = F1$:F3$ = F1$:F4$ = "ON "
  73. 820 LPRINT ESC$"0"ESC$"C"CHR$(68);
  74. 830 GOTO 390
  75. 840 'SET SKIP OVER PERF
  76. 850 IF SOP$ = "OFF" THEN GOTO 900
  77. 860 SOP$ = "OFF"
  78. 870 LPRINT ESC$"O";
  79. 880 SL$ = "0"
  80. 890 GOTO 390
  81. 900 LPRINT ESC$"N"CHR$(6);
  82. 910 SOP$ = "ON "
  83. 920 SL$ = "6"
  84. 930 GOTO 390
  85. 940 'TOGGLE PAPER OUT SENSOR
  86. 950 IF PO$ = "ON " THEN GOTO 990
  87. 960 LPRINT ESC$"9";
  88. 970 PO$ = "ON "
  89. 980 GOTO 390
  90. 990 LPRINT ESC$"8";
  91. 1000 PO$ = "OFF"
  92. 1010 GOTO 390
  93. 1020 'TOGGLE COMPRESSED CHARACTER MODE
  94. 1030 IF CP$ = "ON " THEN GOTO 1070
  95. 1040 CP$ = "ON "
  96. 1050 LPRINT CHR$(15);
  97. 1060 GOTO 390
  98. 1070 CP$ = "OFF"
  99. 1080 LPRINT CHR$(18);
  100. 1090 GOTO 390
  101. 1100 'TOGGLE UNDERLINE MODE
  102. 1110 IF UL$ = "ON " THEN GOTO 1150
  103. 1120 UL$ = "ON "
  104. 1130 LPRINT ESC$"-"CHR$(1);
  105. 1140 GOTO 390
  106. 1150 UL$ = "OFF"
  107. 1160 LPRINT ESC$"-"CHR$(0);
  108. 1170 GOTO 390
  109. 1180 'TOGGLE ITALICS
  110. 1190 IF IT$ = "ON " THEN GOTO 1230
  111. 1200 IT$ = "ON "
  112. 1210 LPRINT ESC$CHR$(52);
  113. 1220 GOTO 390
  114. 1230 IT$ = "OFF"
  115. 1240 LPRINT ESC$CHR$(53);
  116. 1250 GOTO 390
  117. 1260 ' TOGGLE UNIDIRECTIONAL PRINTING
  118. 1270 IF UP$ = "ON " THEN GOTO 1310
  119. 1280 UP$ = "ON "
  120. 1290 LPRINT ESC$CHR$(85)CHR$(1);
  121. 1300 GOTO 390
  122. 1310 UP$ = "OFF"
  123. 1320 LPRINT ESC$CHR$(85)CHR$(0);
  124. 1330 GOTO 390
  125. 1340 'TOGGLE EMPHASZE PRINT
  126. 1350 IF EM$ = "ON " THEN GOTO 1390
  127. 1360 EM$ = "ON "
  128. 1370 LPRINT ESC$"E";
  129. 1380 GOTO 390
  130. 1390 EM$ = "OFF"
  131. 1400 LPRINT ESC$"F";
  132. 1410 GOTO 390
  133. 1420 'TOGGLE DOUBLE STRIKE
  134. 1430 IF DS$ = "ON " THEN GOTO 1470
  135. 1440 DS$ = "ON "
  136. 1450 LPRINT ESC$"G";
  137. 1460 GOTO 390
  138. 1470 DS$ = "OFF"
  139. 1480 LPRINT ESC$"H";
  140. 1490 GOTO 390
  141. 1500 'SET SKIP OVER PERF. LINES
  142. 1510 PRINT CLS$
  143. 1520 PRINT "ENTER NUMBER OF LINES TO SKIP OVER PERF"
  144. 1530 PRINT "(2 TO 16)":PRINT
  145. 1540 LINE INPUT; L$
  146. 1550 L = VAL(L$)
  147. 1560 IF (L > 1) AND (L < 17) THEN GOTO 1590
  148. 1570 PRINT CLS$: PRINT CHR$(7)
  149. 1580 PRINT "INCORRECT RESPONSE": PRINT: GOTO 1520
  150. 1590 ON L GOTO 1570,1600,1610,1620,1630,1640,1650,1660,1670,1680,1690,1700,1710,1720,1730,1740
  151. 1600 SL$ = "2":LPRINT ESC$"N"CHR$(2);:GOTO 390
  152. 1610 SL$ = "3":LPRINT ESC$"N"CHR$(3);:GOTO 390
  153. 1620 SL$ = "4":LPRINT ESC$"N"CHR$(4);:GOTO 390
  154. 1630 SL$ = "5":LPRINT ESC$"N"CHR$(5);:GOTO 390
  155. 1640 SL$ = "6":LPRINT ESC$"N"CHR$(6);:GOTO 390
  156. 1650 SL$ = "7":LPRINT ESC$"N"CHR$(7);:GOTO 390
  157. 1660 SL$ = "8":LPRINT ESC$"N"CHR$(8);:GOTO 390
  158. 1670 SL$ = "9":LPRINT ESC$"N"CHR$(9);:GOTO 390
  159. 1680 SL$ = "10":LPRINT ESC$"N"CHR$(10);:GOTO 390
  160. 1690 SL$ = "11":LPRINT ESC$"N"CHR$(11);:GOTO 390
  161. 1700 SL$ = "12":LPRINT ESC$"N"CHR$(12);:GOTO 390
  162. 1710 SL$ = "13":LPRINT ESC$"N"CHR$(13);:GOTO 390
  163. 1720 SL$ = "14":LPRINT ESC$"N"CHR$(14);:GOTO 390
  164. 1730 SL$ = "15":LPRINT ESC$"N"CHR$(15);:GOTO 390
  165. 1740 SL$ = "16":LPRINT ESC$"N"CHR$(16);:GOTO 390
  166. 1750 'SET WIDTH
  167. 1760 PRINT CLS$:PRINT
  168. 1770 PRINT "SELECT A COLUMN WIDTH FROM THE FOLLOWING"
  169. 1780 PRINT "BY ENTERING THE WIDTH DESIRED"
  170. 1790 PRINT
  171. 1800 PRINT "10    90    160"
  172. 1810 PRINT "20   100    170"
  173. 1820 PRINT "30   110    180"
  174. 1830 PRINT "40   120    190"
  175. 1840 PRINT "50   130    200"
  176. 1850 PRINT "60   136    210"
  177. 1860 PRINT "70   140    220"
  178. 1870 PRINT "80   150    231"
  179. 1880 LINE INPUT; L$
  180. 1890 L = VAL(L$)
  181. 1900 IF L = 10 THEN GOTO 2170
  182. 1910 IF L = 20 THEN GOTO 2180
  183. 1920 IF L = 30 THEN GOTO 2190
  184. 1930 IF L = 40 THEN GOTO 2200
  185. 1940 IF L = 50 THEN GOTO 2210
  186. 1950 IF L = 60 THEN GOTO 2220
  187. 1960 IF L = 70 THEN GOTO 2230
  188. 1970 IF L = 80 THEN GOTO 2240
  189. 1980 IF L = 90 THEN GOTO 2250
  190. 1990 IF L = 100 THEN GOTO 2260
  191. 2000 IF L = 110 THEN GOTO 2270
  192. 2010 IF L = 120 THEN GOTO 2280
  193. 2020 IF L = 130 THEN GOTO 2290
  194. 2030 IF L = 136 THEN GOTO 2300
  195. 2040 IF L = 140 THEN GOTO 2310
  196. 2050 IF L = 150 THEN GOTO 2320
  197. 2060 IF L = 160 THEN GOTO 2330
  198. 2070 IF L = 170 THEN GOTO 2340
  199. 2080 IF L = 180 THEN GOTO 2350
  200. 2090 IF L = 190 THEN GOTO 2360
  201. 2100 IF L = 200 THEN GOTO 2370
  202. 2110 IF L = 210 THEN GOTO 2380
  203. 2120 IF L = 220 THEN GOTO 2390
  204. 2130 IF L = 231 THEN GOTO 2400
  205. 2140 PRINT CLS$:PRINT
  206. 2150 PRINT "INCORRECT RESPONSE - PLEASE TRY AGAIN":PRINT
  207. 2160 GOTO 1770
  208. 2170 SW$ = "10":LPRINT ESC$"Q"CHR$(10);:GOTO 390
  209. 2180 SW$ = "20":LPRINT ESC$"Q"CHR$(20);:GOTO 390
  210. 2190 SW$ = "30":LPRINT ESC$"Q"CHR$(30);:GOTO 390
  211. 2200 SW$ = "40":LPRINT ESC$"Q"CHR$(40);:GOTO 390
  212. 2210 SW$ = "50":LPRINT ESC$"Q"CHR$(50);:GOTO 390
  213. 2220 SW$ = "60":LPRINT ESC$"Q"CHR$(60);:GOTO 390
  214. 2230 SW$ = "70":LPRINT ESC$"Q"CHR$(70);:GOTO 390
  215. 2240 SW$ = "80":LPRINT ESC$"Q"CHR$(80);:GOTO 390
  216. 2250 SW$ = "90":LPRINT ESC$"Q"CHR$(90);:GOTO 390
  217. 2260 SW$ = "100":LPRINT ESC$"Q"CHR$(100);:GOTO 390
  218. 2270 SW$ = "110":LPRINT ESC$"Q"CHR$(110);:GOTO 390
  219. 2280 SW$ = "120":LPRINT ESC$"Q"CHR$(120);:GOTO 390
  220. 2290 SW$ = "130":LPRINT ESC$"Q"CHR$(130);:GOTO 390
  221. 2300 SW$ = "136":LPRINT ESC$"Q"CHR$(136);:GOTO 390
  222. 2310 SW$ = "140":LPRINT ESC$"Q"CHR$(140);:GOTO 390
  223. 2320 SW$ = "150":LPRINT ESC$"Q"CHR$(150);:GOTO 390
  224. 2330 SW$ = "160":LPRINT ESC$"Q"CHR$(160);:GOTO 390
  225. 2340 SW$ = "170":LPRINT ESC$"Q"CHR$(170);:GOTO 390
  226. 2350 SW$ = "180":LPRINT ESC$"Q"CHR$(180);:GOTO 390
  227. 2360 SW$ = "190":LPRINT ESC$"Q"CHR$(190);:GOTO 390
  228. 2370 SW$ = "200":LPRINT ESC$"Q"CHR$(200);:GOTO 390
  229. 2380 SW$ = "210":LPRINT ESC$"Q"CHR$(210);:GOTO 390
  230. 2390 SW$ = "220":LPRINT ESC$"Q"CHR$(220);:GOTO 390
  231. 2400 SW$ = "231":LPRINT ESC$"Q"CHR$(231);:GOTO 390
  232. 2410 'TOGGLE SUPERSCRIPT
  233. 2420 IF SUP$ = "ON " THEN GOTO 2460
  234. 2430 SUP$ = "ON "
  235. 2440 LPRINT ESC$"S"CHR$(0);
  236. 2450 GOTO 390
  237. 2460 SUP$ = "OFF"
  238. 2470 LPRINT ESC$"T";
  239. 2480 GOTO 390
  240. 2490 'TOGGLE SUBSCRIPT
  241. 2500 IF SUB$ = "ON " THEN GOTO 2540
  242. 2510 SUB$ = "ON "
  243. 2520 LPRINT ESC$"S"CHR$(1);
  244. 2530 GOTO 390
  245. 2540 SUB$ = "OFF"
  246. 2550 LPRINT ESC$"T";
  247. 2560 GOTO 390
  248. 2570 IF DW$ = "ON " THEN GOTO 2610
  249. 2580 DW$ = "ON "
  250. 2590 LPRINT ESC$"W"CHR$(1);
  251. 2600 GOTO 390
  252. 2610 SW$ = "OFF"
  253. 2620 LPRINT ESC$"W"CHR$(0);
  254. 2630 GOTO 390
  255. 2640 END
  256. $ = "ON "
  257. 2590 LPRINT ESC$"W"CHR$(1);
  258. 2600 GOTO 390
  259. 2610 SW$ = "OFF