home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 24 / 64er_Magazin_Sonderheft_24_19xx_Markt__Technik_de_Side_A.d64 / druckeranpassung (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  6KB  |  280 lines

  1. 10 rem ********************************
  2. 11 rem *                              *
  3. 12 rem *   super-print-editor fuer    *
  4. 13 rem *                              *
  5. 14 rem *      super-print v 3.0       *
  6. 15 rem *                              *
  7. 16 rem *          11.2.1986           *
  8. 17 rem *                              *
  9. 18 rem *       eckehard fiedler       *
  10. 19 rem *     adalbertsteinweg 74      *
  11. 20 rem *         5100 aachen          *
  12. 21 rem *         0241/500303          *
  13. 22 rem *                              *
  14. 23 rem ********************************
  15. 24 :
  16. 25 :
  17. 90 dim w(50):wm=49
  18. 100 print chr$(147)
  19. 110 print tab(5)"**** super-print editor ****"
  20. 120 print:print:print:print:print
  21. 130 print tab(5)"bitte diskette einlegen und"
  22. 140 print:print
  23. 150 print tab(7)"schreibschutz entfernen"
  24. 160 print:print
  25. 180 print tab(9)"taste druecken > <" chr$(157) chr$(157);
  26. 190 poke 204,0
  27. 200 geta$:ifa$=""then 200
  28. 201 :
  29. 202 :
  30. 203 :  rem zwischenfile loeschen
  31. 204 :
  32. 205 :
  33. 210 poke 204,1:print" "
  34. 220 print:print
  35. 230 open 15,8,15,"i"
  36. 240 nn$ = chr$(21)+"super-print"        :rem name fuer zwischenfile
  37. 250 print#15,"s0:"nn$                   :rem ev. altes zwischenfile
  38. 255 :
  39. 260 gosub 50000                         :rem loeschen
  40. 270 if m1<>1then 60000 :rem abbruch
  41. 290 :
  42. 291 :
  43. 292 :  rem alte werte auslesen
  44. 293 :
  45. 294 :
  46. 300 open 3,8,3,"super-print,p,r"
  47. 310 gosub 50000                         :rem fehlermeldung holen
  48. 311 print tab(5)m2$
  49. 312 if m1<>0then 60000
  50. 318 :
  51. 319 :
  52. 320 fori=1to23
  53. 325 get#3,a$:if st<>0then 60000          :rem abbruch
  54. 330 next i
  55. 340 :
  56. 341 :
  57. 350 for i=1 to wm                       :rem alte werte einlesen
  58. 360 get#3,w$: if st<>0 then 60000       :rem abbruch
  59. 370 w(i)=0:if w$<>"" thenw(i)=asc(w$)
  60. 380 next i
  61. 390 close 3 
  62. 400 :
  63. 401 :
  64. 402 :  rem werte editieren
  65. 403 :
  66. 404 :
  67. 407 restore: poke 198,0
  68. 409 :
  69. 410 sm=10:for ea=0tosm                  :rem schleife drucker-codes <---
  70. 411 :
  71. 412 :
  72. 420 print chr$(147):print
  73. 430 print tab(6)"bitte steuersequenzen fuer":print
  74. 440 print tab(10)"drucker eingeben :":print
  75. 441 print tab(2)"(fuer 2-byte-befehle 3. wert 255!)"
  76. 442 print:print:print
  77. 445 print tab(2)"steuerbefehl :":print
  78. 449 :
  79. 450 read o$
  80. 451 data 480 punkte/zeile (standard)
  81. 452 data 960 punkte/zeile (double)
  82. 453 data 960 punkte/zeile double speed
  83. 454 data 1920 punkte/zeile (quadruple)
  84. 455 data 640 punkte/zeile
  85. 456 data 512 punkte/zeile (plotter)
  86. 457 data 720 punkte/zeile
  87. 458 data hoechste moegliche dichte
  88. 459 data drucker initialisieren
  89. 460 data linken rand einstellen
  90. 461 data zeilenvorschub n/216
  91. 462 :
  92. 463 print tab(2)chr$(18)"*** "o$" ***"
  93. 464 print:print:print
  94. 465 :
  95. 466 :
  96. 470 a=4*ea+1
  97. 480 b=4*ea+2
  98. 490 c=4*ea+3
  99. 500 :
  100. 510 :
  101. 520 print tab(26)w(a);chr$(145)
  102. 530 input "  1) escape-code       : ";w(a)
  103. 535 :
  104. 540 print tab(26)w(b);chr$(145)
  105. 550 input "  2) erster steuercode : ";w(b)
  106. 555 :
  107. 560 print tab(26)w(c);chr$(145)
  108. 570 input "  3) zweiter steuercode: ";w(c)
  109. 575 :
  110. 576 :
  111. 580 next ea                             :rem schleife drucker-codes --->
  112. 581 :
  113. 582 :
  114. 583 :  rem drucker-tabelle ok ?
  115. 584 :
  116. 585 :
  117. 590 printchr$(147):restore              :rem werte darstellen
  118. 591 print
  119. 592 :
  120. 593 for i=0tosm
  121. 594 read a$
  122. 595 print a$" :"
  123. 596 print tab(24);chr$(18);w(4*i+1);w(4*i+2);w(4*i+3)
  124. 597 nexti
  125. 598 :
  126. 599 printchr$(19);
  127. 600 print tab(4)"steuercodes ok ? [j/n] > <"chr$(157)chr$(157);
  128. 610 poke 204,0
  129. 620 get a$:ifa$=""then 620
  130. 625 poke 204,1
  131. 630 ifa$="n"then 400
  132. 640 ifa$<>"j"and a$<>"y"then 610
  133. 690 :
  134. 691 :
  135. 692 :  rem rest einstellen
  136. 693 :
  137. 694 :
  138. 700 print chr$(147)
  139. 705 print:print
  140. 710 print tab(5)"**** sonstige parameter ****"
  141. 715 print:print:print
  142. 716 p0=45
  143. 718 :
  144. 719 :
  145. 720 print tab(25);w(p0);chr$(145)
  146. 730 input "  carriage return      :";w(p0)
  147. 735 print
  148. 740 print tab(25);w(p0+1);chr$(145)
  149. 750 input "  linefeed character   :";w(p0+1)
  150. 755 print
  151. 760 print tab(25);w(p0+2);chr$(145)
  152. 770 input "  printer-geraetenummer:";w(p0+2)
  153. 775 print
  154. 780 print tab(25);w(p0+3);chr$(145)
  155. 790 input "  hintergrund-farbe    :";w(p0+3)
  156. 795 print
  157. 800 print tab(25);w(p0+4);chr$(145)
  158. 810 input "  text-farbe           :";w(p0+4)
  159. 812 print:print
  160. 815 :
  161. 816 :
  162. 817 :  rem parameter ok?
  163. 818 :
  164. 819 :
  165. 820 print "  parameter ok ? [j/n/^] > <"chr$(157)chr$(157);
  166. 825 :
  167. 830 poke 204,0
  168. 840 get a$:ifa$=""then 840
  169. 850 poke 204,1
  170. 855 :
  171. 860 if a$="n"then 700
  172. 865 if a$="^"then 400
  173. 870 if a$<>"j"and a$<>"y"then 830
  174. 875 :
  175. 876 :
  176. 877 :  rem abspeichern ?
  177. 878 :
  178. 879 :
  179. 880 print chr$(147)
  180. 885 print:print:print:print
  181. 890 print tab(5)"abspeichern ? [j/n] > <"chr$(157)chr$(157);
  182. 895 :
  183. 900 poke 204,0
  184. 910 get a$:ifa$=""then 910
  185. 920 poke 204,1
  186. 925 :
  187. 930 ifa$="n"then end
  188. 940 ifa$<>"j"and a$<>"y"then 900
  189. 951 :
  190. 952 :
  191. 953 :  rem super-print-file aendern
  192. 954 :
  193. 955 :
  194. 1000 printchr$(147)
  195. 1005 print:print:print:print
  196. 1010 printtab(10)"working..."chr$(191)chr$(157);
  197. 1020 poke204,0
  198. 1031 :
  199. 1032 : rem files oeffnen
  200. 1033 :
  201. 1100 print#15,"i"
  202. 1110 open 3,8,3,"super-print,p,r"       :rem lesefile
  203. 1115 nm$ = nn$+",p,w"
  204. 1120 open 4,8,4,nm$                     :rem schreibfile
  205. 1130 for i=1to23                        :rem ersten 23 bytes uebernehmen
  206. 1135 get#3,a$:if a$=""then a$=chr$(0)
  207. 1140 if st<>0 then 60000 :rem abbruch
  208. 1150 print#4,a$;
  209. 1160 next i
  210. 1161 :
  211. 1162 : rem werte einfuegen
  212. 1163 :
  213. 1170 for i=1towm                        :rem alte werte ignorieren
  214. 1175 get#3,a$:ifst<>0 then 60000        :rem abbruch
  215. 1180 next i
  216. 1181 :
  217. 1182 : rem neue werte einfuegen
  218. 1183 :
  219. 1190 for i=1towm
  220. 1195 print#4,chr$(w(i));
  221. 1196 ifst<>0then 60000                  :rem abbruch
  222. 1200 next i
  223. 1201 :
  224. 1202 : rem rest uebernehmen
  225. 1203 :
  226. 1210 j=0:for i=0to1                     :rem endlosschleife
  227. 1215 :
  228. 1220 get#3,a$
  229. 1221 :
  230. 1225 ifa$=""then a$=chr$(0)
  231. 1230 if st<>0 then j=1                  :rem file-ende ??
  232. 1235 :
  233. 1240 print#4,a$;                        :rem wert schreiben
  234. 1245 i=j: next i
  235. 1246 :
  236. 1247 gosub 50000:if m1<>0 then 60000
  237. 1250 close 4: close 3
  238. 1255 :
  239. 1256 :
  240. 1257 :  rem altes file ersetzen
  241. 1258 :
  242. 1259 :
  243. 1260 print#15,"i"
  244. 1270 print#15,"s0:super-print"          :rem altes loeschen
  245. 1275 print#15,"i"
  246. 1280 print#15,"c0:super-print="nn$      :rem neues auf alten platz
  247. 1290 gosub 50000
  248. 1295 print#15,"i"
  249. 1297 :
  250. 1298 :
  251. 1300 poke204,1:print" "
  252. 1310 print:print
  253. 1315 print tab(5)m2$,m3                 :rem fehlermeldung ?
  254. 1317 :
  255. 1318 :
  256. 1320 print#15,"s0:"nn$                  :rem zwischenfile loeschen
  257. 1330 gosub 50000
  258. 1335 print#15,"i"                       :rem floppy initialisieren
  259. 1337 :
  260. 1340 if m1=1then print tab(5)"ok":goto1400
  261. 1350 print tab(5) m2$
  262. 1400 close 15                           :rem ende
  263. 1500 end
  264. 49000 :rem ------------------------------------------------
  265. 49001 :
  266. 49002 :
  267. 49003 :  rem fehlermeldung von floppy lesen
  268. 49004 :
  269. 49005 :
  270. 50000 input#15,m1,m2$,m3,m4 : return
  271. 59000 :rem ------------------------------------------------
  272. 59001 :
  273. 59002 :
  274. 59003 :  rem abbruch bei diskettenfehler
  275. 59004 :
  276. 59005 :
  277. 60000 print:print"diskettenfehler !!":print
  278. 60010 gosub 50000: print m2$
  279. 60020 close 3:close 4: close 15:end
  280.