home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Input 64
/
Input_64_85-02_1985_Verlag_Heinz_Weise_de.d64
/
reset-taster
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
6KB
|
186 lines
1 poke50257,16
10 poke53280,14:poke53281,6:print"[154]":print"[147]";:printchr$(142);
20 print"r e s e t"
30 forw=1to1000:next
40 v=53248
50 pokev+22,peek(v+22)and(255-8)or7:poke649,0
60 fori=0to2500:next
70 poke53280,14:poke53281,6:poke780,115:poke782,228:sys43806:printchr$(142)
80 print""tab(17)"kaum basic-bytes frei"
90 pokev+22,(peek(v+22)or8)and(255-7):poke198,0:poke649,10
100 print:print"ready."
110 fori=1to15:print" [146]";"[157]";:fori1=1to300:next:print" ";"[157]";
120 geta$:ifa$<>""then140
130 fori1=1to300:next:next
140 print"[147]"
150 printchr$(14):poke53280,7:poke53281,0:print"[158]"
160 print" [196]er [210]eset-[212]aster"
170 print" ================"
180 print"[215]ie oft hat man schon vor dem [208]roblem"
190 print"gestanden, dass der [210]echner beim [193]us-"
200 print"testen eines [208]rogrammes durch irgend-"
210 print"welche [198]ehler abgestuerzt ist."
220 print"[196]ie einzige [205]oeglichkeit war,dass man"
230 print"den [210]echner aus- und eingeschaltet hat."
240 print"[196]abei hat sich das [208]rogramm auf nimmer-"
250 print"wiedersehen in [204]uft aufgeloest."
260 print"[213]m dieses zu verhindern, gibt es eine"
270 print"elegante [205]oeglichkeit. [196]en [210][197][211][197][212]-[212]aster."
280 print"[197]r ermoeglicht einen [211]ystem-[210]eset, wobei";
290 print"der [210]echner in einen aehnlichen [218]ustand"
300 print"wie nach dem [197]inschalten versetzt wird."
310 zw=24:sw=2
320 gosub1650
330 print"[147]"
340 print"[193]lle [208]rogramme sind noch im [210][193][205] und"
350 print"koennen wiedergefunden werden."
360 print"[215]ie? [199]anz einfach!!"
370 print"[197]in [194][193][211][201][195]-[208]rogramm kann mit der":printchr$(34);
380 print"[210][197]-[206][197][215]";:printchr$(34);" [210]outine aus [201][206][208][213][212]64[146]"
390 print"[193]usgabe 1/85 wieder zum [204]eben erweckt"
400 print"werden."
410 print"[205]aschinenprogramme sind sowieso auch"
420 print"ohne ";chr$(34);"[210][197]-[206][197][215]";chr$(34);" noch in [207]rdnung."
430 zw=24:sw=2
440 gosub1650
450 print"[147]"
460 print" [215]ie funktioniert der [212]aster?"
470 print"[201]n dem [205]oment, da der [210]echner einge-"
480 print"schaltet wird,legt der [212]imer [206][197] 556"
490 print"eine ";chr$(34);"0";chr$(34);" auf die [210][197][211][197][212]-[204]eitung, wodurch"
500 print"die [195][208][213] in einen [210]uhezustand versetzt"
510 print"wird."
520 print"[196]anach folgt ein [213]ebergang von ";chr$(34);"0";chr$(34)
530 print"nach ";chr$(34);"1";chr$(34);", und der [210]echner wird veran-"
540 print"lasst zum [201]nhalt der [193]dressen $[198][198][198][195] "
550 print"und $[198][198][198][196] zu springen ([210][197][211][197][212]-[210]outine)."
560 print"[206]ach einem solchen [213]ebergang also,"
570 print"springt der [210]echner immer diese [210]outine"
580 print"an und wird in einen definierten"
590 print"[193]nfangszustand gesetzt."
600 zw=24:sw=2:gosub1650
610 print"[147]"
620 print"[205]it dem im folgenden beschriebenen"
630 print"[210][197][211][197][212]-[212]aster kann man den [211]prung zur"
640 print"[210][197][211][197][212]-[210]outine kuenstlich erzeugen."
650 print"[215]enn der [212]aster mit der [210][197][211][197][212]-[204]eitung" "
660 [153]"und mit der (NULL)asse-(NULL)eitung (chr$(NULL)str$) ver-"
670 [153]"bunden und anschliessend betaetigt"
680 [153]"wird, findet zwangsweise ein ";[199](34);"0 1";[199](34)
690 [153]"(NULL)ebergang statt."
700 [141]1580
710 [141]1150
720 [141]1650
730 [151]53281,15
740 [153]"load";
750 [153][199](142)
760 [153]"contwait ";
770 [153]" ";
780 [153]" reset-tastercont ";
790 [153]" ";
800 [153]" ";
810 [153]" ";
820 [153]" ";
830 [153]" ";
840 [153]" sys(NULL)kerbecont ";
850 [153]" sysder tastercont ";
860 [153]"stopnewsys(NULL)stop*newcont sys sicht auf diecont ";
870 [153]" stopnewnewcontwait stoplogcoscont stopnewwaitnewcont ";
880 [153]" syswird ancont ";
890 [153]" stopsincontwait stopsincont sysloetpunkte";
900 [153]" descont stopsincontwait 5 1";
910 [153]" stopsincont syspin ";
920 [153]"6 stop*coscont stoplog cont 6 stopcoscont stoplogrndcont sysstec";
930 [153]"kers.cont stopgetcontwait ";
940 [153]" stoprndcont stopgetcont ";
950 [153]" sysund cont stopgetcont 4 2 stopgetcontwait ";
960 [153]" ";
970 [153]"stopsincont stop*cont stoprndcont stopsincontwait syspin 6: re";
980 [153]"setcont syspin 2 cont stopgetcontwait 3 ";
990 [153]" stopgetcont ";
1000 [153]" stopgetcont stoprndcont stopgetcontwait syspin ";
1010 [153]"2: gndcont sys cont sysgeloetet.cont stoplogrndcont ";
1020 [153]" stop*coscont ";
1030 [153]" stoplognewcont stopnewcoscont ";
1040 [153]" ";
1050 [153]" stopnewwaitnewnewnewnewnewcontwait ";
1060 [153]" ";
1070 [153]" ";
1080 [153]" ";
1090 [153]" ";
1100 [153]" ";
1110 [153]" ";
1120 [153]" ";
1130 zw[178]24:sw[178]2:[141]1730
1140 [137]1190
1150 [153]:[153]
1160 [153]"str$as atnnschliessen des (NULL)asters sehen (NULL)ie"
1170 [153]"im naechsten peekild."
1180 [142]
1190 [153]"load":[153][199](142);
1200 [153]"contwait ";
1210 [153]" stecker mit tastercont ";
1220 [153]" ";
1230 [153]" ";
1240 [153]" ";
1250 [153]" ";
1260 [153]" ";
1270 [153]" ";
1280 [153]" syssteckercont ";
1290 [153]" sys(NULL)cont ";
1300 [153]" ";
1310 [153]" sys(NULL)cont ";
1320 [153]" stoportantantantantantantantantansys(NULL)stoptantantantantanright$";
1330 [153]"cont stoptantantan=>=";
1340 [153]"tantantantantantantansys(NULL)cont stop(NULL)cont ";
1350 [153]" stoptantan<cont stop-tancont ";
1360 [153]" stop(NULL)cont ";
1370 [153]" stop(NULL)cont stop(NULL)cont 6stoportantantantantantan^or^cont stopmid$tantancont ";
1380 [153]" stoptantan<cont stop-tantantan<cont ";
1390 [153]" stop-<(NULL)cont stepwait(NULL)andandandandandcont ";
1400 [153]" stop(NULL)cont stop(NULL)cont 2stop(NULL)cont stop(NULL)(NULL)(NULL)cont (NULL)";
1410 [153]"(NULL)usrusrusrusrusrcont stoptantan<cont stop-";
1420 [153]"tantantan<cont sys(NULL)stop-<(NULL)cont stop(NULL)tantancont ";
1430 [153]" stoptantan<cont stop-tancont stop/tantantantantantan";
1440 [153]"sys(NULL)stop/expcont stop(NULL)cont stoptan";
1450 [153]"tantan>=>tantantantantantantanexpcont sys(NULL)cont stop(NULL)cont ";
1460 [153]" stop/tantantantantantan";
1470 [153]"tantantantantantantansys(NULL)stoptan(NULL)cont ";
1480 [153]" sys(NULL)cont ";
1490 [153]" sysso wird der ta";
1500 [153]"ster amcont sys(NULL)cont ";
1510 [153]" ";
1520 [153]" systastercont sysstecker a";
1530 [153]"ngeloetet.cont ";
1540 [153]" ";
1550 zw[178]24:sw[178]2:[141]1730
1560 [141]1810
1570 [153]"cont";:[137]40
1580 [153]:[153]"(NULL)um peekauen des (NULL)val(NULL)val(NULL)-(NULL)atn(NULL)(NULL)val(NULL)s benoetigt"
1590 [153]"man einen 6-poligen str$right$(NULL) (NULL)tecker und"
1600 [153]"einen (NULL)aster ((NULL)chliesser).
1610 print:print"[196]er fertige [212]aster wird in den seriellen";
1620 print"[194][213][211] gesteckt und kann dann benutzt "
1630 print"werden."
1640 return
1650 printchr$(14)
1660 poke214,zw:poke211,sw:sys58640
1670 print"[215][197][201][212][197][210][160][205][201][212][160][215] ";
1680 getx$:poke204,0:ifx$=""then1680
1690 ifpeek(207)then1690
1700 poke204,1
1710 ifx$="w"thenreturn
1720 goto1680
1730 printchr$(142);
1740 poke214,zw:poke211,sw:sys58640
1750 print"weiter mit w ";
1760 getx$:poke204,0:ifx$=""then1760
1770 ifpeek(207)then1770
1780 poke204,1
1790 ifx$="w"thenreturn
1800 goto1760
1810 print"[147]":poke53280,7:poke53281,0:printchr$(14):print"[158]"
1820 print"[206]achdem [211]ie den [210][197][211][197][212]-[212]aster betaetigt"
1830 print"haben, erscheint folgendes [194]ild:"
1840 zw=24:sw=2:gosub1650:return