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 >
Wrap
Commodore BASIC
|
2022-10-26
|
6KB
|
187 lines
10 rem --- k e y 3 2 ---
20 rem copyright: siegbert werner
30 rem beethovenstr. 59 siegen 31
40 poke53280,0:poke53281,0:poke646,15
42 a=a+1
44 ifa<2thenload"m-key-32",8,1
50 sp=3:rem-------cursor in spalte 3
60 gosub580:rem bildschirmaufbau
70 goto190:rem----cursor setzen
78 rem------------tastaturabfrage
80 poke198,0:wait198,1
90 geta$
97 rem------------unerwuenschte taste?
98 rem------------z.b.:return,home,ect.
99 rem------------dann nicht reagieren
100 ifasc(a$)=17orasc(a$)=145orasc(a$)=148orasc(a$)=20orasc(a$)=147orasc(a$)=19then190
105 ifasc(a$)=13then190
107 rem------------abfrage der erlaubten
108 rem------------tasten
109 rem------------cursor links-taste?
110 ifasc(a$)=157thensp=sp-2
120 ifsp<2thensp=2:rem-cursorfeldanfang
129 rem------------ctrl mit _ taste?
130 ifasc(a$)=6thengoto340 :rem prg-start!
135 ifa$="\"then880
137 ifa$="[169]"then1810
140 ifa$="_"thengoto290
150 printa$
160 ifa$="@"thengosub400
170 ifsp=36then190:rem-cursorfeldende
180 sp=sp+1:rem---cursor eins rechts
189 rem------------cursor setzen
190 poke211,sp
200 poke214,23
210 sys58732
218 rem------------setzen des zeigers
219 rem------------auf das eingabefeld
220 cr=1024+(peek(214)+1)*40+peek(211)
230 pokecr,30:pokecr-1,67:pokecr+1,67
238 rem------------invertieren der
239 rem------------zahlen fuer f+staste
240 fr=peek(1947):sr=peek(1948)
250 iffr<=127thenfr=fr+128
260 ifsr<=127thensr=sr+128
270 poke1947,fr:poke1948,sr
279 rem------------neue taste abfragen
280 goto80
289 rem------------eingabefeld loeschen
290 pokecr,67:pokecr-1,67:pokecr+1,67
300 sp=3
310 a$=""
320 fori=0to33:poke1947+i,32:nexti
330 goto190
339 rem------------maschinenprg.-start!
340 :a$=" "
350 sys 52000:rem-irq auf neue routine!
359 rem------------bereitschaftsbild
360 print"[147]"
370 print" k e y 3 2 "
380 print"----------------------------------------";
382 poke211,0:poke214,23:sys58732
384 print"----------------------------------------";
388 poke211,0:poke214,2:sys58732
390 end
398 rem------------fuer f+s nur zahlen
399 rem------------erlauben!
400 t1=peek(1947)-128:t2=peek(1948)-128
402 ift1<49ort1>52then840
404 ift2<48ort2>55then840:rem-fehler
408 rem------------speichern? - zeigen?
410 kf=peek(1949)
420 ifkf<>0then510
429 rem------------keybelegung zeigen
430 fz=peek(1947):sz=peek(1948)
440 pb=51968+(fz-176)*256+(sz-176)*32
450 fori=0to31:pe=pb+i:ze=peek(pe)
460 ifze=0then490:rem-textende=@=0
470 poke1949+i,ze:rem-zeichenausgabe
480 nexti
490 sp=4:return
500 rem------------keybeleg. speichern
510 fz=peek(1947):sz=peek(1948)
520 pb=51968+(fz-176)*256+(sz-176)*32
530 fori=0to31:pe=1949+i:ze=peek(pe)
540 pokepb+i,ze
550 ifze=0then290
560 nexti
570 goto290
579 rem------------bildschirmaufbau
580 print"[147] ";
590 print" k e y 3 2 ";
600 print" [146]";
610 print
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] ";
630 print" [194]f-tasten[194] [194]s-tasten [194] ";
640 print" [194]= [194] [194]= [194] ";
650 print" [194]1= f1+f2[194] [194]0= ohne sondertaste [194] ";
660 print" [194]2= f3+f4[194] [194]1= shift [194] ";
670 print" [194]3= f5+f6[194] [194]2= commodore [194] ";
680 print" [194]4= f7+f8[194] [194]3= shift+commodore [194] ";
690 print" [202][195][178][195][195][195][195][195][195][203] [194]4= ctrl [194] ";
700 print" [194] [194]5= shift+ctrl [194] ";
710 print" [194] [194]6= commodore+ctrl [194] ";
720 print" [194][176][195][195][195][195][195][195][195][179]7= shift+commodore+ctrl [194] ";
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] ";
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] ";
750 print" [194][194][176][195][195][195][195][195][195][179]texteingabe mit @ beenden[194] ";
760 print" [194][194][194] [194]nur @ hinter f+s= ausgabe[194] ";
770 print" [194][194][194] [194]ctrl/_ =start \= keylist[194] ";
780 print" [194][194][194] [194]shift/\=saven _= loesch.[194] ";
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] ";
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]"
800 print" [195] [195]"
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]";
820 return
830 rem--------------eingabefehler
831 rem--------------kenntlich machen!
840 fori=0to31:readq:poke1949+i,q:nexti
845 pokecr,67:pokecr-1,67:pokecr+1,67
850 restore:sp=3:goto190
860 data14,21,18,32,6,5,19,20,7,5,12,5,7,20,5,32,26,1,8,12,5,14
870 data32,9,14,32,6,43,19,33,32,32
879 rem--------------keylisting blatt1
880 gosub900:sa=52224:gosub1600
890 goto1360
899 rem--------------keylisting bild
900 print"[147] ";
910 print" k e y 3 2 -blatt 1- werner-made ";
920 print" [146]";
930 print
940 print" [176][195][195][195]shift 1 / 2=seitenwahl"
950 print" [194][176][195][195]commodore h =ruecksprung"
960 print" [194][194][176][195]ctrl ctrl/_=start hauptprg.";
970 print" [194][194][194]"
1000 print" f1+[215][215][215]=..............................."
1010 print" f1+[209][215][215]=..............................."
1020 print" f1+[215][209][215]=..............................."
1030 print" f1+[209][209][215]=..............................."
1040 print" f1+[215][215][209]=..............................."
1050 print" f1+[209][215][209]=..............................."
1060 print" f1+[215][209][209]=..............................."
1070 print" f1+[209][209][209]=..............................."
1080 print" f2+[215][215][215]=..............................."
1090 print" f2+[209][215][215]=..............................."
1100 print" f2+[215][209][215]=..............................."
1110 print" f2+[209][209][215]=..............................."
1120 print" f2+[215][215][209]=..............................."
1130 print" f2+[209][215][209]=..............................."
1140 print" f2+[215][209][209]=..............................."
1150 print" f2+[209][209][209]=...............................";
1152 return
1350 rem------------welche auswahltaste?
1360 poke198,0:wait198,1
1370 getb$
1380 ifasc(b$)=6then340
1390 ifb$="h"then50
1400 ifb$="1"then880
1405 ifb$="2"then1500
1410 goto1360
1498 rem------------keylisting blatt2
1499 rem------------aenderung d. bildes
1500 poke1087,178
1502 fori=0to7:poke1346+i*40,53:nexti
1504 fori=0to7:poke1666+i*40,55:nexti
1507 rem------------leseadresse aendern
1508 sa=52736:gosub1600
1510 goto1360
1599 rem------------ausgabeschleife
1600 fl=1:forhi=0to15
1610 forlo=0to30
1620 pw=peek(sa+hi*32+lo)
1630 ps=1352+hi*40+lo
1640 ifpw=0thenfl=0
1650 iffl=0thenpw=46:rem punkte nach text
1660 pokeps,pw
1670 nextlo
1680 fl=1
1690 nexthi
1700 return
1800 rem saven der belegung
1810 open1,8,1,"@:m-key-32"
1820 a$=chr$(32):b$=chr$(203)
1830 print#1,a$;b$;
1840 fori=52000to53248:a$=chr$(peek(i)):print#1,a$;:nexti
1950 close1
1960 goto50:rem------zurueck zum prg.