home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 12 / 64er_Magazin_Sonderheft_12_86-12_1986_Markt__Technik_de_Side_A.d64 / key-32 (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  6KB  |  187 lines

  1. 10 rem       --- k e y   3 2 ---
  2. 20 rem copyright: siegbert werner
  3. 30 rem beethovenstr. 59 siegen 31
  4. 40 poke53280,0:poke53281,0:poke646,15
  5. 42 a=a+1
  6. 44 ifa<2thenload"m-key-32",8,1
  7. 50 sp=3:rem-------cursor in spalte 3
  8. 60 gosub580:rem bildschirmaufbau
  9. 70 goto190:rem----cursor setzen
  10. 78 rem------------tastaturabfrage
  11. 80 poke198,0:wait198,1
  12. 90 geta$
  13. 97 rem------------unerwuenschte taste?
  14. 98 rem------------z.b.:return,home,ect.
  15. 99 rem------------dann nicht reagieren
  16. 100 ifasc(a$)=17orasc(a$)=145orasc(a$)=148orasc(a$)=20orasc(a$)=147orasc(a$)=19then190
  17. 105 ifasc(a$)=13then190
  18. 107 rem------------abfrage der erlaubten
  19. 108 rem------------tasten
  20. 109 rem------------cursor links-taste?
  21. 110 ifasc(a$)=157thensp=sp-2
  22. 120 ifsp<2thensp=2:rem-cursorfeldanfang
  23. 129 rem------------ctrl mit _ taste?
  24. 130 ifasc(a$)=6thengoto340  :rem prg-start!
  25. 135 ifa$="\"then880
  26. 137 ifa$="[169]"then1810
  27. 140 ifa$="_"thengoto290
  28. 150 printa$
  29. 160 ifa$="@"thengosub400
  30. 170 ifsp=36then190:rem-cursorfeldende
  31. 180 sp=sp+1:rem---cursor eins rechts
  32. 189 rem------------cursor setzen
  33. 190 poke211,sp
  34. 200 poke214,23
  35. 210 sys58732
  36. 218 rem------------setzen des zeigers
  37. 219 rem------------auf das eingabefeld
  38. 220 cr=1024+(peek(214)+1)*40+peek(211)
  39. 230 pokecr,30:pokecr-1,67:pokecr+1,67
  40. 238 rem------------invertieren der
  41. 239 rem------------zahlen fuer f+staste
  42. 240 fr=peek(1947):sr=peek(1948)
  43. 250 iffr<=127thenfr=fr+128
  44. 260 ifsr<=127thensr=sr+128
  45. 270 poke1947,fr:poke1948,sr
  46. 279 rem------------neue taste abfragen
  47. 280 goto80
  48. 289 rem------------eingabefeld loeschen
  49. 290 pokecr,67:pokecr-1,67:pokecr+1,67
  50. 300 sp=3
  51. 310 a$=""
  52. 320 fori=0to33:poke1947+i,32:nexti
  53. 330 goto190
  54. 339 rem------------maschinenprg.-start!
  55. 340 :a$=" "
  56. 350 sys 52000:rem-irq auf neue routine!
  57. 359 rem------------bereitschaftsbild
  58. 360 print"[147]"
  59. 370 print"              k e y   3 2             "
  60. 380 print"----------------------------------------";
  61. 382 poke211,0:poke214,23:sys58732
  62. 384 print"----------------------------------------";
  63. 388 poke211,0:poke214,2:sys58732
  64. 390 end
  65. 398 rem------------fuer f+s nur zahlen
  66. 399 rem------------erlauben!
  67. 400 t1=peek(1947)-128:t2=peek(1948)-128
  68. 402 ift1<49ort1>52then840
  69. 404 ift2<48ort2>55then840:rem-fehler
  70. 408 rem------------speichern? - zeigen?
  71. 410 kf=peek(1949)
  72. 420 ifkf<>0then510
  73. 429 rem------------keybelegung zeigen
  74. 430 fz=peek(1947):sz=peek(1948)
  75. 440 pb=51968+(fz-176)*256+(sz-176)*32
  76. 450 fori=0to31:pe=pb+i:ze=peek(pe)
  77. 460 ifze=0then490:rem-textende=@=0
  78. 470 poke1949+i,ze:rem-zeichenausgabe
  79. 480 nexti
  80. 490 sp=4:return
  81. 500 rem------------keybeleg. speichern
  82. 510 fz=peek(1947):sz=peek(1948)
  83. 520 pb=51968+(fz-176)*256+(sz-176)*32
  84. 530 fori=0to31:pe=1949+i:ze=peek(pe)
  85. 540 pokepb+i,ze
  86. 550 ifze=0then290
  87. 560 nexti
  88. 570 goto290
  89. 579 rem------------bildschirmaufbau
  90. 580 print"[147]                                        ";
  91. 590 print"              k e y   3 2               ";
  92. 600 print"                                        [146]";
  93. 610 print
  94. 620 print" [213][195][195][195][195][195][195][195][195][201] [213][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][201] ";
  95. 630 print" [194]f-tasten[194] [194]s-tasten                 [194] ";
  96. 640 print" [194]=       [194] [194]=                        [194] ";
  97. 650 print" [194]1= f1+f2[194] [194]0= ohne sondertaste      [194] ";
  98. 660 print" [194]2= f3+f4[194] [194]1= shift                 [194] ";
  99. 670 print" [194]3= f5+f6[194] [194]2= commodore             [194] ";
  100. 680 print" [194]4= f7+f8[194] [194]3= shift+commodore       [194] ";
  101. 690 print" [202][195][178][195][195][195][195][195][195][203] [194]4= ctrl                  [194] ";
  102. 700 print"   [194]        [194]5= shift+ctrl            [194] ";
  103. 710 print"   [194]        [194]6= commodore+ctrl        [194] ";
  104. 720 print"   [194][176][195][195][195][195][195][195][195][179]7= shift+commodore+ctrl  [194] ";
  105. 730 print"   f[194]       [202][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][203] ";
  106. 740 print"   [194]s       [213][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][201] ";
  107. 750 print"   [194][194][176][195][195][195][195][195][195][179]texteingabe mit @ beenden[194] ";
  108. 760 print"   [194][194][194]      [194]nur @ hinter f+s= ausgabe[194] ";
  109. 770 print"   [194][194][194]      [194]ctrl/_ =start  \= keylist[194] ";
  110. 780 print"   [194][194][194]      [194]shift/\=saven  _= loesch.[194] ";
  111. 785 print"   [194][194][194]      [202][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][203] ";
  112. 790 print" [213][195][219][219][219][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][201]"
  113. 800 print" [195]                                    [195]"
  114. 810 print" [202][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][203]";
  115. 820 return
  116. 830 rem--------------eingabefehler
  117. 831 rem--------------kenntlich machen!
  118. 840 fori=0to31:readq:poke1949+i,q:nexti
  119. 845 pokecr,67:pokecr-1,67:pokecr+1,67
  120. 850 restore:sp=3:goto190
  121. 860 data14,21,18,32,6,5,19,20,7,5,12,5,7,20,5,32,26,1,8,12,5,14
  122. 870 data32,9,14,32,6,43,19,33,32,32
  123. 879 rem--------------keylisting blatt1
  124. 880 gosub900:sa=52224:gosub1600
  125. 890 goto1360
  126. 899 rem--------------keylisting bild
  127. 900 print"[147]                                        ";
  128. 910 print"  k e y   3 2   -blatt 1-  werner-made  ";
  129. 920 print"                                        [146]";
  130. 930 print
  131. 940 print"    [176][195][195][195]shift     1 / 2=seitenwahl"
  132. 950 print"    [194][176][195][195]commodore h    =ruecksprung"
  133. 960 print"    [194][194][176][195]ctrl      ctrl/_=start hauptprg.";
  134. 970 print"    [194][194][194]"
  135. 1000 print" f1+[215][215][215]=..............................."
  136. 1010 print" f1+[209][215][215]=..............................."
  137. 1020 print" f1+[215][209][215]=..............................."
  138. 1030 print" f1+[209][209][215]=..............................."
  139. 1040 print" f1+[215][215][209]=..............................."
  140. 1050 print" f1+[209][215][209]=..............................."
  141. 1060 print" f1+[215][209][209]=..............................."
  142. 1070 print" f1+[209][209][209]=..............................."
  143. 1080 print" f2+[215][215][215]=..............................."
  144. 1090 print" f2+[209][215][215]=..............................."
  145. 1100 print" f2+[215][209][215]=..............................."
  146. 1110 print" f2+[209][209][215]=..............................."
  147. 1120 print" f2+[215][215][209]=..............................."
  148. 1130 print" f2+[209][215][209]=..............................."
  149. 1140 print" f2+[215][209][209]=..............................."
  150. 1150 print" f2+[209][209][209]=...............................";
  151. 1152 return
  152. 1350 rem------------welche auswahltaste?
  153. 1360 poke198,0:wait198,1
  154. 1370 getb$
  155. 1380 ifasc(b$)=6then340
  156. 1390 ifb$="h"then50
  157. 1400 ifb$="1"then880
  158. 1405 ifb$="2"then1500
  159. 1410 goto1360
  160. 1498 rem------------keylisting blatt2
  161. 1499 rem------------aenderung d. bildes
  162. 1500 poke1087,178
  163. 1502 fori=0to7:poke1346+i*40,53:nexti
  164. 1504 fori=0to7:poke1666+i*40,55:nexti
  165. 1507 rem------------leseadresse aendern
  166. 1508 sa=52736:gosub1600
  167. 1510 goto1360
  168. 1599 rem------------ausgabeschleife
  169. 1600 fl=1:forhi=0to15
  170. 1610 forlo=0to30
  171. 1620 pw=peek(sa+hi*32+lo)
  172. 1630 ps=1352+hi*40+lo
  173. 1640 ifpw=0thenfl=0
  174. 1650 iffl=0thenpw=46:rem punkte nach text
  175. 1660 pokeps,pw
  176. 1670 nextlo
  177. 1680 fl=1
  178. 1690 nexthi
  179. 1700 return
  180. 1800 rem           saven der belegung
  181. 1810 open1,8,1,"@:m-key-32"
  182. 1820 a$=chr$(32):b$=chr$(203)
  183. 1830 print#1,a$;b$;
  184. 1840 fori=52000to53248:a$=chr$(peek(i)):print#1,a$;:nexti
  185. 1950 close1
  186. 1960 goto50:rem------zurueck zum prg.
  187.