home *** CD-ROM | disk | FTP | other *** search
/ 64'er 1985 July / 64er_Magazin_85-07_1985_Markt__Technik_de.d64 / bas.terminal (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  11KB  |  526 lines

  1. 10 rem written by peter falk
  2. 20 rem 828=preis einer einheit
  3. 30 poke 829,32:rem 7 datenbits
  4. 40 poke 830,6:rem 300 baud
  5. 50 poke 831,0:rem 1 stopbit
  6. 60 rem 832,80:rem (lo) pufferanfang
  7. 70 rem 833,60:rem (hi) bei 15440
  8. 80 rem 834=gegenstelle duplex
  9. 90 rem 835=gebuehren ja/nein
  10. 100 rem 836=gebuehren-zone
  11. 110 rem 837=gebuehren-tarif
  12. 120 rem 838=rahmen-farbe
  13. 130 rem 839=hintergrund-farbe
  14. 140 rem 840-845=drucker-parameter
  15. 150 :
  16. 160 rem ** menue **
  17. 170 print:print"[147][144]       [175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175]"
  18. 180 print"         ** [212][197][210][205][201][206][193][204]-[205][197][206][213][197] **  "
  19. 190 print"       [183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183]"
  20. 200 print"       (1) - [203]ommunizieren";a$;""
  21. 210 print"       (2) - [196]aten speichern"
  22. 220 print"       (3) - [196]aten laden"
  23. 230 print"       (4) - [196]aten ausgeben"
  24. 240 print"       (5) - [198]unktionstasten"
  25. 250 print"       (6) - [208]arameter"
  26. 260 print"       (7) - [199]ebuehren"
  27. 270 print"       (8) - [196]iskbefehle"
  28. 280 print"       (9) - [197]ditor laden"
  29. 290 get q$:if q$="" then 290
  30. 300 if q$="1" and a$="([198]ortsetzung)" then a$="":goto 480
  31. 310 on val(q$) goto 360,2390,2610,2770,4110,3070,3850,4810,340
  32. 320 if q$="0" then end
  33. 330 goto 290
  34. 340 load"editor",8
  35. 350 :
  36. 360 rem *** kommunizieren ***
  37. 370 input"[147]  [199]egenstelle [200][146]alb- / [214][146]ollduplex   v[157][157][157]";q$
  38. 380 if q$="v" then poke 834,1
  39. 390 if q$="h" then poke 834,0
  40. 400 print"  [199]ebuehren-[194]erechnung (j/n)?"
  41. 410 get q$:if q$<>"j" and q$<>"n" then 410
  42. 420 poke 835,0
  43. 430 if q$="j" then poke 835,1:gosub 3390
  44. 440 print"           [218]um [211]tarten [212]aste !"
  45. 450 get q$:if q$="" then 450
  46. 460 if q$="_" then 160
  47. 470 ti$="000000"
  48. 480 baud=peek(830):db=peek(829):sb=peek(831)
  49. 490 open 2,2,0,chr$(baud+db+sb)+chr$(0):get#2,q$
  50. 500 print"[147]";
  51. 510 gosub 4990
  52. 520 gosub 4030
  53. 530 dp=-peek(834)
  54. 540 gb=-peek(835)
  55. 550 get#2,q$:print
  56. 560 :
  57. 570 gosub 4700
  58. 580 get b$:if b$="" then 650
  59. 590 gosub 4760
  60. 600 if asc(b$)>132 and asc(b$)<141 then gosub 4480:goto 570
  61. 610 if peek(653)=2 then 2250
  62. 620 gosub 2100
  63. 630 :
  64. 640 gosub 4700
  65. 650 if peek(667)=peek(668) then 580
  66. 660 gosub 4760
  67. 670 get#2,c$:if c$="" then c$=chr$(0)
  68. 680 gosub 2170
  69. 690 if not sp then 570
  70. 700 poke sg,d:sg=sg+1:if sg=53248 then sg=57344
  71. 710 if sg=65536 then poke 53280,peek(838):sp=0:sg=65535
  72. 720 goto 570
  73. 730 :
  74. 740 rem * programm-uebertragung *
  75. 750 gosub 3970:close 2:clr
  76. 760 baud=peek(830)
  77. 770 open 2,2,0,chr$(baud)+chr$(0):get#2,q$
  78. 780 input"[147][208]rogramm-[206]ame:";dn$:if dn$="" then print:close 2:goto 480
  79. 790 dim b$(258)
  80. 800 open 1,8,15,"m-w"+chr$(7)+chr$(28)+chr$(1)+chr$(15):close 1
  81. 810 print"[211][146]enden / [197][146]mpfangen ?"
  82. 820 get q$:if q$<>"s" and q$<>"e" then 820
  83. 830 if q$="e" then 1440
  84. 840 :
  85. 850 rem * senden *
  86. 860 print"[204]aenge einer [213]ebertragungs-[197]inheit"
  87. 870 input"in [194]ytes (max.256)   80[157][157][157][157]";e
  88. 880 if e<1 or e>256 then 860
  89. 890 open 1,8,2,dn$+",p,r"
  90. 900 gosub 4930
  91. 910 if val(b$)<>0 then 1360
  92. 920 poke 668,peek(667):poke 198,0
  93. 930 print#2,chr$(2);
  94. 940 get#2,e$:get q$
  95. 950 for w=1 to 100:next
  96. 960 if e$="" and q$<>"_" then 930
  97. 970 if q$="_" then 1360
  98. 980 print"[194]eginn der [213]ebertragung."
  99. 990 for w=1 to 250:next
  100. 1000 poke 688,peek(667):by=0
  101. 1010 :
  102. 1020 for z=1 to e
  103. 1030 get#1,b$(z):if b$(z)="" then b$(z)=chr$(0)
  104. 1040 if st=0 then next z
  105. 1050 f=st:if z>e then z=e
  106. 1060 for w=1 to 1000:next
  107. 1070 su=0:get#2,e$
  108. 1080 for x=1 to z
  109. 1090 print#2,b$(x);
  110. 1100 su=su+asc(b$(x))
  111. 1110 next x
  112. 1120 if peek(669)<>peek(670) then 1120
  113. 1130 poke 668,peek(667)
  114. 1140 get q$:if peek(667)=peek(668) and q$<>"_" then 1140
  115. 1150 if q$="_" then 1360
  116. 1160 get#2,lo$:if lo$="" then lo$=chr$(0)
  117. 1170 get q$:if peek(667)=peek(668) and q$<>"_" then 1170
  118. 1180 if q$="_" then 1360
  119. 1190 get#2,hi$:if hi$="" then hi$=chr$(0)
  120. 1200 se=asc(lo$)+256*asc(hi$)
  121. 1210 if se<>su then 1300
  122. 1220 by=by+z
  123. 1230 print" [207][203].       ";int(by/254)+1;"[157]. [194][204][207][195][203]"
  124. 1240 if f<>0 then 1360
  125. 1250 print#2,chr$(2);
  126. 1260 get q$:if peek(667)=peek(668) and q$<>"_" then 1260
  127. 1270 if q$="_" then 1360
  128. 1280 goto 1020
  129. 1290 :
  130. 1300 rem error
  131. 1310 print#2,chr$(1);:print" [197][210][210][207][210] !"
  132. 1320 get q$:if peek(667)=peek(668) and q$<>"_" then 1320
  133. 1330 for w=1 to 1000:next
  134. 1340 if q$<>"_" then 1070
  135. 1350 :
  136. 1360 if q$="_" then print"[193][194][194][210][213][195][200] !"
  137. 1370 print#2,chr$(3);
  138. 1380 print"[197]nde der [213]ebertragung."
  139. 1390 close 1:close 15:close 2
  140. 1400 print"           [212]aste druecken !"
  141. 1410 wait 198,255:poke 198,0
  142. 1420 goto 480
  143. 1430 :
  144. 1440 rem * empfangen *
  145. 1450 open 1,8,2,dn$+",p,w"
  146. 1460 gosub 4930
  147. 1470 if val(b$)<>0 then 1800
  148. 1480 poke 668,peek(667):poke 198,0
  149. 1490 print#2,chr$(2);
  150. 1500 get#2,e$:get q$
  151. 1510 for w=1 to 100:next
  152. 1520 if e$="" and q$<>"_" then 1490
  153. 1530 if q$="_" then 1800
  154. 1540 print"[194]eginn der [213]ebertragung."
  155. 1550 for w=1 to 100:next
  156. 1560 get#2,e$:poke 668,peek(667):by=0
  157. 1570 su=0:z=1
  158. 1580 get q$:if peek(667)=peek(668) and q$<>"_" then 1580
  159. 1590 if q$="_" then 1800
  160. 1600 at=ti
  161. 1610 if ti-at>30 then 1660
  162. 1620 if peek(667)=peek(668) then 1610
  163. 1630 get#2,b$(z):if b$(z)="" then b$(z)=chr$(0)
  164. 1640 su=su+asc(b$(z)):z=z+1
  165. 1650 if z<258 then 1600
  166. 1660 hi=int(su/256):lo=su-256*hi
  167. 1670 print#2,chr$(lo);chr$(hi);
  168. 1680 get q$:if peek(667)=peek(668) and q$<>"_" then 1680
  169. 1690 if q$="_" then 1800
  170. 1700 get#2,e$
  171. 1710 if e$<>chr$(2)and e$<>chr$(3)then 1870
  172. 1720 print#2,chr$(4);
  173. 1730 for x=1 to z
  174. 1740 print#1,b$(x);
  175. 1750 next x
  176. 1760 get#2,q$
  177. 1770 by=by+z
  178. 1780 print" [207][203].       ";int(by/254)+1;"[157]. [194][204][207][195][203]"
  179. 1790 if e$=chr$(2) then 1570
  180. 1800 if q$="_" then print"[193][194][194][210][213][195][200] !"
  181. 1810 print"[197]nde der [213]ebertragung."
  182. 1820 close 1:close 15:close 2
  183. 1830 print"           [212]aste druecken !"
  184. 1840 wait 198,255:poke 198,0
  185. 1850 goto 480
  186. 1860 :
  187. 1870 rem error
  188. 1880 print" [197][210][210][207][210] !"
  189. 1890 print#2,chr$(3);
  190. 1900 poke 668,peek(667)
  191. 1910 goto 1570
  192. 1920 :
  193. 1930 rem * daten senden *
  194. 1940 for sz=15440 to sg
  195. 1950 get q$:if q$="_" then print:return
  196. 1960 if q$=" " then get e$:if e$<>" " then 1960
  197. 1970 for w=1 to 24:next
  198. 1980 get#2,c$:if c$=chr$(24) then print:return
  199. 1990 if c$<>chr$(19) then 2010
  200. 2000 get#2,q$:if q$<>chr$(17) and peek(203)=64 then 2000
  201. 2010 sys 62595:rem cia's setzen
  202. 2020 b$=chr$(usr(sz)):get#2,c$
  203. 2030 if dp then poke 646,0:print b$;
  204. 2040 if sz=53247 then sz=57343
  205. 2050 gosub 2100
  206. 2060 if d=13 then for w=1 to 100:next
  207. 2070 next sz
  208. 2080 return
  209. 2090 :
  210. 2100 rem * umformen/senden *
  211. 2110 e=0:d=asc(b$):if d>64 and d<91 then e=32
  212. 2120 if d=20 then d=8
  213. 2130 d=d+e
  214. 2140 print#2,chr$(d);:if not dp then poke 646,0:print b$;
  215. 2150 return
  216. 2160 :
  217. 2170 rem * umformen/ausgeben *
  218. 2180 e=0:d=asc(c$):if d>64 and d<91 then e=32
  219. 2190 if d>96 and d<123then e=-32
  220. 2200 if d=8 then d=20
  221. 2210 d=d+e
  222. 2220 poke646,0:poke199,0:print chr$(d);
  223. 2230 return
  224. 2240 :
  225. 2250 rem * tastatur-auswertung *
  226. 2260 e=asc(b$)
  227. 2270 if e=174 and sg<65536 then sp=-1:poke 53280,2:goto 570
  228. 2280 if e=182 then sg=15440:gosub 3970:goto 570
  229. 2290 if e=177 then sp=0:poke 53280,peek(838):goto 570
  230. 2300 if e=176 and sg>15440 then gosub 1930:goto 570
  231. 2310 if e=165 then gosub 3520:goto 570
  232. 2320 if e=191 then gosub 4050:goto 570
  233. 2330 if e=175 then 740
  234. 2340 ife=95thenpoke53280,peek(838):gosub3970:gosub3520:close2:wait198,1:goto160
  235. 2350 ife=222thenpoke53280,peek(838):gosub3970:close2:a$="([198]ortsetzung)":goto160
  236. 2360 if e=180 then gosub 4990:goto 570
  237. 2370 goto 570
  238. 2380 :
  239. 2390 rem *** daten speichern ***
  240. 2400 print"[147]"
  241. 2410 gosub 4030
  242. 2420 if sg=15440 then 160
  243. 2430 dn$=""
  244. 2440 input"[196]ateiname ";dn$
  245. 2450 if dn$="" then 160
  246. 2460 open 1,8,2,dn$+",s,w"
  247. 2470 gosub 4930
  248. 2480 print#1,chr$(usr(15440));
  249. 2490 if st<>0 then 2570
  250. 2500 cmd 1:a=15441
  251. 2510 e=sg:if e>53247 then e=53247
  252. 2520 for sz=a to e
  253. 2530 print chr$(usr(sz));
  254. 2540 next
  255. 2550 if e<sg then a=57344:e=sg:goto2520
  256. 2560 print#1,"";
  257. 2570 close 1:close 15
  258. 2580 if val(b$)<>0 then wait 198,255
  259. 2590 goto 160
  260. 2600 :
  261. 2610 rem *** daten laden ***
  262. 2620 dn$=""
  263. 2630 input"[147][196]ateiname ";dn$
  264. 2640 if dn$="" then 160
  265. 2650 sg=15440
  266. 2660 open 1,8,2,dn$+",s,r"
  267. 2670 gosub 4930
  268. 2680 if val(b$)<>0 then 2720
  269. 2690 poke 144,0:poke 832,80:poke 833,60
  270. 2700 sys 848:rem load-routine
  271. 2710 sg=peek(832)+peek(833)*256-1
  272. 2720 close 1:close 15
  273. 2730 if sg=-1 then print"[193]chtung, [208]uffer voll !!!":sg=65535
  274. 2740 gosub 3970:poke 198,0:wait 198,255
  275. 2750 goto 160
  276. 2760 :
  277. 2770 rem *** daten ausgeben ***
  278. 2780 print"[147]"
  279. 2790 gosub 4030
  280. 2800 if sg=15440 then 160
  281. 2810 print"'[198]1' = [194]ildschirm"
  282. 2820 print"'[198]3' = [196]rucker"
  283. 2830 print"'[198]5' = [200]ardcopy"
  284. 2840 wait 198,255
  285. 2850 d=0
  286. 2860 for sz=15440 to sg
  287. 2870 if peek(198)<>0 then 2980
  288. 2880 c$=chr$(usr(sz))
  289. 2890 print c$;
  290. 2900 if d then print#1,c$;
  291. 2910 if sz=53247 then sz=57343
  292. 2920 next sz
  293. 2930 close 1:poke 53280,peek(838)
  294. 2940 get b$:if b$="" then 2940
  295. 2950 if b$="[135]" then gosub 5130
  296. 2960 goto 160
  297. 2970 :
  298. 2980 get b$
  299. 2990 if b$=" " then wait 198,255:get b$
  300. 3000 if b$="_" then close 1:poke 53280,peek(838):goto 160
  301. 3010 if b$="[134]" and d=0 then e=peek(840):poke 53280,2
  302. 3020 if b$="[134]"andd=0thenopen1,4,e:fore=841to845:print#1,chr$(peek(e));:next:d=1
  303. 3030 if b$="[133]" then d=0:close 1:poke 53280,peek(838)
  304. 3040 if b$="[135]" then gosub 5130
  305. 3050 goto 2880
  306. 3060 :
  307. 3070 rem ** parameter **
  308. 3080 print"[147]"
  309. 3090 :
  310. 3100 rem baudrate
  311. 3110 if peek(830)=3 then baud=110
  312. 3120 if peek(830)=5 then baud=150
  313. 3130 if peek(830)=6 then baud=300
  314. 3140 if peek(830)=7 then baud=600
  315. 3150 print spc(22) baud;"[145]"
  316. 3160 input"110,150,300,600 [194]aud ";baud
  317. 3170 if baud=110 then poke 830,3
  318. 3180 if baud=150 then poke 830,5
  319. 3190 if baud=300 then poke 830,6
  320. 3200 if baud=600 then poke 830,7
  321. 3210 :
  322. 3220 rem datenbits
  323. 3230 if peek(829)=32 then db=7
  324. 3240 if peek(829)=0 then db=8
  325. 3250 print"";spc(20) db;"[145]"
  326. 3260 input"7 oder 8 [196]atenbits ";db
  327. 3270 if db=7 then poke 829,32
  328. 3280 if db=8 then poke 829,0
  329. 3290 :
  330. 3300 rem stopbits
  331. 3310 if peek(831)=0 then sb=1
  332. 3320 if peek(831)=128 then sb=2
  333. 3330 print"";spc(19) sb;"[145]"
  334. 3340 input"1 oder 2 [211]topbits ";sb
  335. 3350 if sb=1 then poke 831,0
  336. 3360 if sb=2 then poke 831,128
  337. 3370 goto 160
  338. 3380 :
  339. 3390 rem ** gebuehren berechnen **
  340. 3400 print"  0. [218]one: [206]ahgespraech"
  341. 3410 print"  1. [218]one: unter 50 [203][205]"
  342. 3420 print"  2. [218]one: 50 - 100 [203][205]"
  343. 3430 print"  3. [218]one: ueber 100 [203][205]"
  344. 3440 zo=4:input"  [218]one 0, 1, 2 oder 3 ";zo
  345. 3450 if zo<>0 and zo<>1 and zo<>2 and zo<>3 then 3440
  346. 3460 input"  [206][146]ormal- / [194][146]illig-[212]arif ";q$
  347. 3470 if q$<>"n" and q$<>"b" then 3460
  348. 3480 poke 836,zo
  349. 3490 poke 837,asc(q$)
  350. 3500 return
  351. 3510 :
  352. 3520 if not gb then return
  353. 3530 zo=peek(836)
  354. 3540 q$=chr$(peek(837))
  355. 3550 zeit=val(left$(ti$,2))*3600+val(mid$(ti$,3,2))*60+val(right$(ti$,2))
  356. 3560 if q$="b" then 3620
  357. 3570 if zo=0 then betrag=int(zeit/480+1)*peek(828)/100
  358. 3580 if zo=1 then betrag=int(zeit/45+1)*peek(828)/100
  359. 3590 if zo=2 then betrag=int(zeit/20+1)*peek(828)/100
  360. 3600 if zo=3 then betrag=int(zeit/12+1)*peek(828)/100
  361. 3610 goto 3650
  362. 3620 if zo=0 then betrag=int(zeit/720+1)*peek(828)/100
  363. 3630 if zo=1 then betrag=int(zeit/67.5+1)*peek(828)/100
  364. 3640 if zo=2 or zo=3 then betrag=int(zeit/38.6+1)*peek(828)/100
  365. 3650 print
  366. 3660 print"[218]eit  =";ti$
  367. 3670 print"[194]etrag=";betrag;"[196][205]"
  368. 3680 print
  369. 3690 if b$<>"_" then 3830
  370. 3700 print"[199]ebuehren speichern (j/n)?"
  371. 3710 get q$
  372. 3720 if q$<>"j" and q$<>"n" then 3710
  373. 3730 if q$="n" then 3830
  374. 3740 open 1,8,2,"gebuehren,s,r"
  375. 3750 input#1,gesb
  376. 3760 close 1
  377. 3770 gesb=gesb+betrag
  378. 3780 open 1,8,2,"@:gebuehren,s,w"
  379. 3790 print#1,gesb
  380. 3800 close 1
  381. 3810 print"[199]esamtbetrag=";gesb;"[196][205]"
  382. 3820 wait 198,255
  383. 3830 poke 198,1:return
  384. 3840 :
  385. 3850 rem ** gebuehren ansehen **
  386. 3860 print"[147]"
  387. 3870 input"[199]ebuehren loeschen   n[157][157][157]";q$
  388. 3880 if q$<>"j" and q$<>"n" then 3870
  389. 3890 if q$="j" then open 1,8,2,"@:gebuehren,s,w":print#1,0:close 1
  390. 3900 open 1,8,2,"gebuehren,s,r"
  391. 3910 input#1,gesb
  392. 3920 close 1
  393. 3930 print"[199]esamtbetrag=";gesb;"[196][205]"
  394. 3940 wait 198,255
  395. 3950 goto 160
  396. 3960 :
  397. 3970 rem ** lo/hi-berechnung **
  398. 3980 poke 832,sg-int(sg/256)*256
  399. 3990 poke 833,int(sg/256)
  400. 4000 gosub 4030
  401. 4010 return
  402. 4020 :
  403. 4030 rem ** speichergrenze **
  404. 4040 sg=peek(832)+peek(833)*256
  405. 4050 if sg<53248 then by=sg-15440
  406. 4060 if sg>57343 then by=sg-15440-4095
  407. 4070 print:print"[194]ytes belegt:";by
  408. 4080 print"[194]ytes frei  :";46000-by
  409. 4090 return
  410. 4100 :
  411. 4110 rem ** funktionstasten **
  412. 4120 print"[147]            [198][213][206][203][212][201][207][206][211][212][193][211][212][197][206]"
  413. 4130 print"            [183][183][183][183][183][183][183][183][183][183][183][183][183][183][183]"
  414. 4140 for ft=0 to 7
  415. 4150 print" [198]";ft+1;":  ";chr$(34);
  416. 4160 sz=54000+70*ft
  417. 4170 e=usr(sz):if e=13 then 4210
  418. 4180 print chr$(e);
  419. 4190 sz=sz+1
  420. 4200 goto 4170
  421. 4210 print
  422. 4220 next ft
  423. 4230 print"            [193]endern (j/n)?"
  424. 4240 get q$:if q$<>"j" and q$<>"n" then4240
  425. 4250 if q$="n" then 160
  426. 4260 print""
  427. 4270 for ft=0 to 7
  428. 4280 poke 631,29:poke 198,1
  429. 4290 input"";q$
  430. 4300 if q$="" then 4370
  431. 4310 q$=left$(q$,69)+chr$(13)
  432. 4320 sz=54000+70*ft
  433. 4330 for sp=1 to len(q$)
  434. 4340 sys 735,sz,asc(mid$(q$,sp,1))
  435. 4350 sz=sz+1
  436. 4360 next sp
  437. 4370 next ft
  438. 4380 print"            [211]peichern (j/n)?"
  439. 4390 get q$:if q$<>"j" and q$<>"n" then4390
  440. 4400 if q$="n" then 160
  441. 4410 open 1,8,2,"@:f-tasten,s,w"
  442. 4420 for sz=54000 to 54559
  443. 4430 print#1,chr$(usr(sz));
  444. 4440 next sz
  445. 4450 close 1
  446. 4460 goto 160
  447. 4470 :
  448. 4480 rem ** funktionstasten senden **
  449. 4490 d=asc(b$)
  450. 4500 if d=133 then ft=0
  451. 4510 if d=134 then ft=2
  452. 4520 if d=135 then ft=4
  453. 4530 if d=136 then ft=6
  454. 4540 if d=137 then ft=1
  455. 4550 if d=138 then ft=3
  456. 4560 if d=139 then ft=5
  457. 4570 if d=140 then ft=7
  458. 4580 sz=54000+70*ft
  459. 4590 for w=1 to 30:next
  460. 4600 sys 62595
  461. 4610 b$=chr$(usr(sz))
  462. 4620 get#2,q$
  463. 4630 if dp then print b$;
  464. 4640 gosub 2100
  465. 4650 sz=sz+1
  466. 4660 if b$<>chr$(13) then 4590
  467. 4670 poke 668,peek(667):get#2,q$
  468. 4680 return
  469. 4690 :
  470. 4700 rem * cursor ein *
  471. 4710 e=peek(209)+peek(210)*256+peek(211)
  472. 4720 if peek(e)<128 then poke e,peek(e)+128
  473. 4730 poke 54272+e,0
  474. 4740 return
  475. 4750 :
  476. 4760 rem * cursor aus *
  477. 4770 e=peek(209)+peek(210)*256+peek(211)
  478. 4780 if peek(e)>127 then poke e,peek(e)-128
  479. 4790 return
  480. 4800 :
  481. 4810 rem ** diskbefehle **
  482. 4820 print"[147]'$' = [196]irectory"
  483. 4830 print spc(13) chr$(34);:poke 212,0:print"[145]"
  484. 4840 poke 198,1:poke 631,29
  485. 4850 input"[196]iskbefehl ";b$
  486. 4860 if b$="$" then print:sys 918:wait 198,255:goto 160
  487. 4870 open 15,8,15
  488. 4880 print#15,b$
  489. 4890 gosub 4950
  490. 4900 close 15
  491. 4910 wait 198,255:goto 160
  492. 4920 :
  493. 4930 rem ** diskstatus **
  494. 4940 open 15,8,15
  495. 4950 input#15,b$,c$
  496. 4960 print"[196]iskstatus: "b$;" ";c$;""
  497. 4970 return
  498. 4980 :
  499. 4990 rem * help *
  500. 5000 print
  501. 5010 print"'[195]= [211]':[196]aten speichern"
  502. 5020 print"'[195]= [197]':[211]peichern [197]nde"
  503. 5030 print"'[195]= [193]':[196]aten aussenden"
  504. 5040 print"'[195]= [204]':[208]uffer loeschen"
  505. 5050 print"'[195]= [199]':[199]ebuehren"
  506. 5060 print"'[195]= [194]':[194]ytes frei"
  507. 5070 print"'[195]= [208]':[208]rg-[213]ebertragung"
  508. 5080 print"'[195]= _':[207]ff-line"
  509. 5090 print"'[195]= ^':[213]nterbrechung"
  510. 5100 print"'[195]= [200]':[200]elp"
  511. 5110 return
  512. 5120 :
  513. 5130 rem * hardcopy *
  514. 5140 d=0:close 1:e=peek(840):open 1,4,e
  515. 5150 for e=841 to 845:print#1,chr$(peek(e));:next
  516. 5160 open 2,3
  517. 5170 print"";
  518. 5180 print#1
  519. 5190 for z=1 to 25
  520. 5200 for sp=1 to 40
  521. 5210 get#2,e$:print#1,e$;
  522. 5220 next sp
  523. 5230 next z
  524. 5240 print#1:close 1:close 2
  525. 5250 return
  526.