home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 3 / 64er_Magazin_Sonderheft_03_86-03_1986_Markt__Technik_de_Side_A.d64 / matrix-editor (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  7KB  |  287 lines

  1. 10 print"[147]";
  2. 20 (NULL)1,6,2,"[132]bitte warten !!!!!!"
  3. 30 poke56,62:poke55,223:clr
  4. 40 (NULL) 2570
  5. 50 printchr$(8)
  6. 60 za=4096:e$=chr$(27)
  7. 70 fort=1to8:(NULL)t,chr$(t+34):next
  8. 80 ifpeek(44)=20then140
  9. 90 fort=16096to16381
  10. 100 readd$:d=(NULL)(d$):s=s+d
  11. 110 poket,d:next
  12. 120 ifs<>35182thenprint"[147][130]pruefsummenfehler !![132]":end
  13. 130 sys 16278:run
  14. 140 w=0:x1=0
  15. 150 poke16174,109:poke16271,64:sys16128
  16. 160 (NULL) 0,2,6:(NULL) 4,5,3:print"[147][156]";
  17. 170 fort=1to40:print"     ";:next
  18. 180 (NULL) 1,5,2,"  m a t r i x    e d i t o r  "
  19. 190 (NULL) 1,10,4,"[144](c) 1985 by c. sauer[146]"
  20. 200 sys 16096
  21. 210 (NULL)1,0,14,"darstellung:"
  22. 220 (NULL)1,0,16,"f1[146]   : standard   zeichensatz"
  23. 230 print:print"[130]f2[132][146]   : umdefinierter zeichensatz"
  24. 240 print"f3[146]   : zeichen zur bearbeitung laden"
  25. 250 (NULL)1,0,21,"clear[146]":print:print"home [146]: zeichensatz initialisieren"
  26. 260 x=sx:y=sy
  27. 270 gosub2670
  28. 280 ifa$="%"thenfa=1:sys16122:goto1590
  29. 290 ifa$="[147]"then320
  30. 300 ifa$=chr$(13)thenc=w:poke2368+x1,113:sx=x:sy=y:goto370
  31. 310 goto270
  32. 320 (NULL) 0,7,1:(NULL) 1,7,1
  33. 330 (NULL)1,0,21,"clear"
  34. 340 (NULL)1,0,22,"home : [130]     sind sie sicher ?     [146][132]"
  35. 350 get(NULL)a$:ifa$="j"thensys16349
  36. 360 goto160
  37. 370 gosub2850:poke65298,196
  38. 380 fort=0to7
  39. 390 be(t)=peek(za+t+c*8)
  40. 400 bn=be(t):gosub950
  41. 410 next
  42. 420 (NULL) 0,2,6:(NULL) 4,4,5:print"[147]";
  43. 430 print"[166][166][166][166][166][166][166][166][166][166]"
  44. 440 print"[166]76543210[166]"
  45. 450 fort=1to8
  46. 460 print""t"[157]. [166][144]";bo$(t-1);"[166] ";be(t-1)
  47. 470 next
  48. 480 print"[166][166][166][166][166][166][166][166][166][166]"
  49. 490 (NULL) 1,22,6,"standard zeichen"
  50. 500 (NULL) 1,21,11,"selbstdef. zeichen"
  51. 510 poke16271,106:poke16174,123:sys 16128:rem rasterinterrupt
  52. 520 poke2398,60:poke3422,c
  53. 530 poke2598,60:poke3622,c
  54. 540 (NULL) 1,21,11,"selbstdef. zeichen"
  55. 550 printe$"m"
  56. 560 (NULL) 1,0,17,"[154][213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201]"
  57. 570 print"[221]    f u n k t i o n s t a s t e n     [221]"
  58. 580 print"[171][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][178][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][179]"
  59. 590 print"[221]f1[146]: punkt setzen   [221]f4[146]: darstellung   [221]"
  60. 600 print"[221]f2[146]: punkt loeschen [221]f5[146]: ende          [221]"
  61. 610 print"[221]f3[146]: kopieren       [221]f6[146]: z.satz  laden [221]"
  62. 620 print"[221]he[146]: hilfschirm     [221]f7[146]: zs. speichern [221]"
  63. 630 print"[202][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][203]";
  64. 640 p=2:d=1
  65. 650 geta$:ifa$=""then650
  66. 660 ifa$=chr$(27)then150
  67. 670 ifa$="&"then1990
  68. 680 ifa$="'"then2110
  69. 690 ifa$="#"thenp=1:goto820
  70. 700 ifa$="$"thenp=0:goto820
  71. 710 ifa$="%"then1110
  72. 720 ifa$="[147]"thenfort=0to7:gosub2850:pokeza+c*8+t,0:next:goto380
  73. 730 ifa$="[148]"thenfort=0to7:gosub2850:pokeza+c*8+t,255:next:goto380
  74. 740 ifa$="("then1580
  75. 750 ifa$=")"then1720
  76. 760 ifa$="*"then1370
  77. 770 fa=0
  78. 780 gosub2800
  79. 790 iffa=0then820
  80. 800 if a$=""thenx=0:y=0:goto820
  81. 810 goto650
  82. 820 ifd=1thend=0:x=0:y=0:ax=0:ay=0:z=peek(3157)
  83. 830 ifx>7thenx=0:y=y+40
  84. 840 ifx<0thenx=7:y=y-40
  85. 850 ify>280theny=0
  86. 860 ify<0theny=280
  87. 870 poke3157+ax+ay,z
  88. 880 z=peek(3157+x+y)
  89. 890 ifz=81thenpoke3157+x+y,209:goto910
  90. 900 poke3157+x+y,190
  91. 910 ax=x:ay=y
  92. 920 ifp=0thengosub1020:x=x-1:z=32:goto820
  93. 930 ifp=1thengosub1020:x=x+1:z=81:goto820
  94. 940 goto650
  95. 950 bo$(t)=""
  96. 960 forb=1to8
  97. 970 bn=bn/2
  98. 980 if bn=int(bn)thenbo$(t)=" "+bo$(t):(NULL)bo$(t)="[209]"+bo$(t)
  99. 990 bn=int(bn)
  100. 1000 next
  101. 1010 return
  102. 1020 t=y/40
  103. 1030 on p+1goto1040,1050
  104. 1040 be(t)=be(t)and255-2^(7-x):goto1060
  105. 1050 be(t)=be(t)or2^(7-x)
  106. 1060 bn=be(t):gosub950
  107. 1070 (NULL) 1,0,t+2,"":p=2
  108. 1080 print""t+1"[157].[166][144]"bo$(t)"[166]      [157][157][157][157][157]"be(t)
  109. 1090 pokeza+c*8+t,be(t)
  110. 1100 return
  111. 1110 poke16174,109:poke16271,64:sys16128
  112. 1120 (NULL) 0,7,5:(NULL) 4,13,2:print"[147][156]";
  113. 1130 print"    z e i c h e n     k o p i e r e n   [146]"
  114. 1140 sys16096
  115. 1150 (NULL)1,0,14,"kopieren von:"
  116. 1160 (NULL)1,0,16,"f1[146]   : standard   zeichensatz"
  117. 1170 print:print"[130]f2[132][146]   : umdefinierter zeichensatz"
  118. 1180 print"f3[146]   :"
  119. 1190 fl=2:zs=0
  120. 1200 gosub2670
  121. 1210 iffl=1then(NULL)1,0,18,"f3[146]   : umschaltung gross/klein"
  122. 1220 iffl=2then(NULL)1,0,18,"f3[146]":fort=1to35:print" ";:next
  123. 1230 ifa$=chr$(13)thenpoke2368+x1,113:gosub2850:goto1280
  124. 1240 ifa$=chr$(27)then420
  125. 1250 ifa$="%"andfl=1andzs=0thenprintchr$(14):zs=4:goto1200:(NULL)1200
  126. 1260 ifa$="%"andfl=1andzs=4thenprintchr$(142):zs=0
  127. 1270 goto1200
  128. 1280 iffl=1thenad=208+zs:goto1300
  129. 1290 ad=za/256
  130. 1300 w1=w*8:c1=c*8:w2=int(w1/256):c2=int(c1/256)
  131. 1310 w1=w1-w2*256:poke16115,ad+w2
  132. 1320 c1=c1-c2*256:poke16118,za/256+c2
  133. 1330 poke16114,w1:poke16117,c1
  134. 1340 sys16111:printchr$(142)
  135. 1350 goto380
  136. 1360 print"[147] zeichensatz:":ff=6
  137. 1370 sys16122
  138. 1380 print"[147]     h  i  l  f  s  s  c  h  i  r  m    "
  139. 1390 print"   [206][205]
  140. 1400 [153]"   thenfn             ewait
  141. 1410 print" [206][164][213][201][164][205]                     [213][192][192][192][192][192][192][192][192][192][192][201]
  142. 1420 [153]" (NULL)tab(mid$(NULL)tab((NULL)  oder   swait  dwait  oder  (NULL)  "s$"  (NULL)
  143. 1430 print"   [167][165]                       [202][192][192][192][192][192][192][192][192][192][192][203]
  144. 1440 [153]"   (NULL)(NULL)            xwait
  145. 1450 print"esc[146]: ruecksprung in eine hoehere ebene"
  146. 1460 print"clear[146] shift[146]: zeichen(satz) loeschen"
  147. 1470 print"home [146]      : cursor in linke obere ecke"
  148. 1480 print"ins[146]: zeichen fuellen"
  149. 1490 print"f3[146]: ein gewaehltes zeichen wird kopiert"
  150. 1500 print"f4[146]: schreibmodus (ausprobieren des zs.)"
  151. 1510 print"f5[146]: beenden des programms"
  152. 1520 print"f6[146]: zeichensatz von band oder disk laden"
  153. 1530 print"f7[146]: zeichensatz abspeichern"
  154. 1540 print"           zurueck mit [130]esc[132][146]";
  155. 1550 get(NULL)a$
  156. 1560 ifa$<>chr$(27)then1550
  157. 1570 goto420
  158. 1580 sys16122
  159. 1590 print"[147]   z e i c h e n s a t z    l a d e n   "
  160. 1600 print"[130]b[132]and oder [130]f[132]loppy ?[146]  ";
  161. 1610 get(NULL)a$
  162. 1620 if a$="b"thengn=1:print"band":goto1650
  163. 1630 if a$="f"thengn=8:print"floppy":goto1650
  164. 1640 if a$=chr$(27)then420:(NULL)1610
  165. 1650 gosub 1830
  166. 1660 print"[130]sind sie sicher ?[132][146]"
  167. 1670 get(NULL) a$:ifa$<>"j"then420
  168. 1680 load f$,gn,1
  169. 1690 gosub1930
  170. 1700 iffa=1thenfa=0:goto150
  171. 1710 goto420
  172. 1720 sys16122
  173. 1730 print"[147]z e i c h e n s a t z  s p e i c h e r n"
  174. 1740 print"[130]b[132]and oder [130]f[132]loppy ?[146]  ";
  175. 1750 get(NULL)a$
  176. 1760 if a$="b"thengn=1:print"band":goto1790
  177. 1770 if a$="f"thengn=8:print"floppy":goto1790
  178. 1780 if a$=chr$(27)then420(NULL)1750
  179. 1790 gosub1830
  180. 1800 poke157,0:poke158,20:poke178,0:poke179,16:sys61857
  181. 1810 gosub1930
  182. 1820 ifff=1thenreturn:(NULL)goto420
  183. 1830 ifgn=1theninput"filename[146]";f$:goto1860
  184. 1840 input"filename[146] (?=dir) ";f$
  185. 1850 iff$="?"thenprint"[147]":(NULL):goto1830
  186. 1860 iflen(a$)>16thenf$=left$(f$,16)
  187. 1870 poke174,gn:poke171,len(f$)
  188. 1880 fort=1tolen(f$)
  189. 1890 poke1630+t,asc(mid$(f$,t,1))
  190. 1900 next
  191. 1910 poke175,95:poke176,6
  192. 1920 return
  193. 1930 if gn<>8thenreturn
  194. 1940 if ds=0thenreturn
  195. 1950 print"[130]floppyfehler:[132] "ds$
  196. 1960 print"weiter mit taste[146]"
  197. 1970 get(NULL) a$
  198. 1980 return
  199. 1990 print"[147]   d a r s t e l l u n g s m o d u s    "
  200. 2000 for t=4to35:(NULL)1,t,5,"[192]":next
  201. 2010 for t=6to19:(NULL)1,4,t,"[221]                              [221]":next
  202. 2020 for t=4to35:(NULL)1,t,20,"[192]":next
  203. 2030 (NULL)1,4,5,"[213]":(NULL)1,35,5,"[201]"
  204. 2040 (NULL)1,4,20,"[202]":(NULL)1,35,20,"[203]"
  205. 2050 (NULL)1,10,23,"ende mit return[146]"
  206. 2060 poke2021,19:poke2022,6:poke2023,5:poke2024,34
  207. 2070 sys16122:poke65298,peek(65298)and251
  208. 2080 open1,0:print"";
  209. 2090 input#1,a$
  210. 2100 print"":close1:goto420
  211. 2110 print"[147]            e   n   d   e               ":ff=0
  212. 2120 print"wollen sie den zeichens. absaven ? ";
  213. 2130 get(NULL)a$
  214. 2140 if a$=chr$(27)then420
  215. 2150 if a$="j"thenprint"ja":ff=1:gosub1720
  216. 2160 if a$<>"n"then2130
  217. 2170 poke65298,peek(65298)or4:sys16122
  218. 2180 (NULL) 0,7,5:(NULL) 4,13,2
  219. 2190 printe$"l[147][144]"
  220. 2200 end
  221. 2210 data a2,7f,8a,9d,40,0d,a9,0a
  222. 2220 data 9d,40,09,ca,10,f4,60,a2
  223. 2230 data 07,bd,34,12,9d,00,10,ca
  224. 2240 data 10,f7,78,20,ce,f2,58,60
  225. 2250 data 78,a9,0d,8d,14,03,a9,3f
  226. 2260 data 8d,15,03,58,60,ad,09,ff
  227. 2270 data 29,02,f0,3d,ad,1c,ff,29
  228. 2280 data 01,d0,2c,ad,1d,ff,c9,91
  229. 2290 data b0,19,a9,c0,8d,12,ff,8d
  230. 2300 data 19,ff,ad,1d,ff,c9,93,90
  231. 2310 data f9,a9,c4,8d,12,ff,8d,19
  232. 2320 data ff,d0,0c,c9,b1,90,08,a9
  233. 2330 data c0,8d,12,ff,8d,19,ff,ad
  234. 2340 data 09,ff,29,02,f0,03,20,60
  235. 2350 data ce,2c,d8,07,10,0e,ad,01
  236. 2360 data fd,8d,d4,07,10,06,20,95
  237. 2370 data ea,20,5b,ea,20,e4,e3,ad
  238. 2380 data 09,ff,29,02,f0,25,8d,09
  239. 2390 data ff,2c,0b,ff,a9,c3,50,18
  240. 2400 data 20,bf,cf,20,cd,ce,a5,fb
  241. 2410 data 48,a9,00,85,fb,08,58,20
  242. 2420 data 11,db,28,68,85,fa,a9,62
  243. 2430 data 8d,0b,ff,4c,be,fc,a6,2d
  244. 2440 data 86,5a,a4,2e,84,5b,20,d0
  245. 2450 data 3f,86,58,86,2d,84,59,84
  246. 2460 data 2e,a6,2b,86,5f,a4,2c,84
  247. 2470 data 60,20,d0,3f,86,2b,86,a6
  248. 2480 data 84,2c,84,a7,20,c0,88,20
  249. 2490 data 18,88,a5,a6,d0,02,c6,a7
  250. 2500 data c6,a6,a9,00,a8,91,a6,60
  251. 2510 data 84,a8,18,8a,69,00,aa,a5
  252. 2520 data a8,69,04,a8,60,a9,00,85
  253. 2530 data a6,85,a8,a9,d0,85,a7,a9
  254. 2540 data 10,85,a9,a2,04,a0,00,b1
  255. 2550 data a6,91,a8,c8,d0,f9,e6,a7
  256. 2560 data e6,a9,ca,d0,f0,60
  257. 2570 if er=4then(NULL)next
  258. 2580 if er=35then2110
  259. 2590 if er=30then2110
  260. 2600 if er=5thenprint"[130]floppy einschalten !!!":fort=1to1000:next:(NULL)1700
  261. 2610 print(NULL)(er)" in "el
  262. 2620 goto 2110
  263. 2630 x=sx:y=sy
  264. 2640 poke2368+x1,10
  265. 2650 poke2368+w,241:x1=w
  266. 2660 return
  267. 2670 poke2368+x1,10
  268. 2680 poke2368+w,241:x1=w
  269. 2690 get(NULL)a$
  270. 2700 gosub2800
  271. 2710 ifx>40thenx=0:y=y+40
  272. 2720 ifx<0thenx=40:y=y-40
  273. 2730 ify>120theny=120
  274. 2740 ify<0theny=0
  275. 2750 w=y+x
  276. 2760 if w>127thenw=127
  277. 2770 ifa$="#"thensys16122:(NULL)1,0,16,"[130]f1[132][146]":print:print"f2[146]":fl=1
  278. 2780 ifa$="$"thensys16128:(NULL)1,0,16,"f1[146]":print:print"[130]f2[132][146]":fl=2
  279. 2790 return
  280. 2800 ifa$=""ora$="x"theny=y+40:return
  281. 2810 ifa$=""ora$="d"thenx=x+1:return
  282. 2820 ifa$="[145]"ora$="e"theny=y-40:return
  283. 2830 ifa$="[157]"ora$="s"thenx=x-1:return
  284. 2840 fa=0:return
  285. 2850 (NULL)1,32,4,"[130]working[146][132]"
  286. 2860 return
  287.