home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Input 64
/
Input_64_85-10_1985_Verlag_Heinz_Weise_de.d64
/
Hilfsprogramme
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
12KB
|
248 lines
100 poke55,000:poke56,128:clr:printchr$(8)chr$(142):poke53276,0
101 poke50257,24:ifpeek(10815)<>0then103
102 poke 10815,1:sys10752
103 sys 10816
104 sys18176,0:sys18356:poke50258,000
107 dimad(2,2):am=050259
108 ad(1,1)=16640 :ad(1,2)=17232
109 ad(2,1)=17408 :ad(2,2)=18178
110 demo=0:sp=.5
120 si=54272:fori=0to24:pokesi+i,0:next
130 pokesi+24,15:pokesi+1,8:pokesi+6,10*16+14:sf=1
140 pokesi+4,65:pokesi+12,13:pokesi+8,4:pokesi+19,11:f=16
150 v=53248:v1=v+17:rz=v+18:ab=20472:naz=2:pokev+39,1:pokev,0:pokev+16,0
160 sen=v+21:l$=" ":dimn$(naz),f$(1)
170 n$(1)="rahmensprite":pokesen,0
171 g$(1)="[210]ahmensprite":pokesen,0
180 n$(2)="joysprite"
182 g$(2)="[202]oysprite":en=251:hi=250:ct=252:pokeen,0
190 hf=12:poke53280,hf:poke53281,hf
200 pokev1,11:goto2400
210 print"[147]demonstration fuer :"
220 fori=1tonaz
230 print""tab(10)"[153]"i"[157] [146] [151]"n$(i)
240 nexti:pokev1,27
250 print""tab(10)"[153]"i"[157] [146] [151]mit ctrl-s kann nun"
260 print""tab(14)"[153]"n$(sf)
270 print""tab(14)"[151]abgespeichert werden"
275 print"das input-betriebssystem ist nur auf dieser seite erreichbar
280 [161]a$:n[178][197](a$):[145]n[137]300,1860,2380
290 [137]280
300 [151]50258,127:[158]18176,0:[151]32767,255:[151]ct,[194](ct)[175][168]16:[151]hi,0
310 [151]53281,2:[151]53280,0
320 [153]"loadstop";:pz[178]9:[141]1800
330 s$[178]"ballus":b[178]0:vb[178]1:[141]1590
340 [151]en,1:[151]v[170]1,0:[151]v,24:[151]ab,0:[151]ct,27:x[178]24:[139]demo[167]510
350 f1$[178]" ohne "[170]n$(n)[170]" wait"
360 l2$[178][200](l$,(40[171][195](f1$))[173]2)
370 f$(1)[178]l2$[170]f1$:f$(0)[178]l$
380 [151]ct,27:bz[178]255:z[178]0
390 [129]i[178]1[164]2
400 [129]o[178][171]10[164]9.8[169]sp:[141]1730:[130]:[130]
410 f1$[178]" mit "[170]n$(n)[170]" wait":[151]en,1:[151]hi,0
420 l2$[178][200](l$,(40[171][195](f1$))[173]2)
430 f$(1)[178]l2$[170]f1$:f$(0)[178]l$
440 z[178]0:[151]53281,5
450 f[178]24:[129]o[178][171]10[164]12.6[169]sp:[141]1730
460 [139]o[177][178]1[175]o[179][178]8[167][151]32767,2[174](8[171][181](o))[171]1
470 [130]:[141]1820:[141]1510
480 f[178]32:[129]o[178][171]12.6[164]12.6[169]sp:[141]1730:[130]:[141]1820
490 [151]si[170]4,64
500 [129]i[178]1[164]2000:[130]
510 [151]32767,0:[151]53281,15
520 [153]""g$(n)" erweitert den sichtbaren"
530 [153]"y-(NULL)oordinatenbereich fuer (NULL)prites von"
540 [153]"bisher 50 - 249 auf 0 - 311, indem es"
550 [153]"oben und unten den (NULL)ahmen abschaltet."
560 kk$[178]"for (NULL) wait poke(NULL)valright$(NULL)val(NULL) for val wait pokeval(NULL)str$val":[153]kk$;
570 [141]1530
580 [153]"chr$ehandhabt wird dieses (NULL)ool mit drei "
590 [153]"(NULL)(NULL)(NULL)-atnufrufen. str$er erste atnufruf dient"
600 [153]"zum atnktivieren des (NULL)ools. vals wird die"
610 [153]"gesamte chr$rafikorganisation geaendert."
620 [153] kk$;
630 [141]1530
640 [153]"str$er (NULL)ert nach dem (NULL)omma gibt an, ob "
650 [153]"der (NULL)eichensatz ins (NULL)atn(NULL) kopiert "
660 [153]"werden soll. 0 fuer kopieren, "
670 [153]" 1 fuer nicht kopieren. "
680 [153]">(NULL)(NULL)(NULL) atnstr$(NULL)val(NULL)(NULL)val1,(NULL)val(NULL)(NULL)< "
690 [153] kk$;
700 [141]1530
710 [153]"str$er zweite (NULL)(NULL)(NULL)-atnufruf definiert den "
720 [153]"(NULL)eichensatz um. (NULL)ert ist hier der "
730 [153]"peekildschirmcode des (NULL)eichens. vals "
740 [153]"folgen die (NULL)erte fuer das peekitmuster. "
750 [153]">(NULL)(NULL)(NULL) atnstr$(NULL)val(NULL)(NULL)val2,(NULL)val(NULL)(NULL),atn,peek,len,str$,val,asc,chr$,left$<"
760 [153] kk$;
770 [141]1530
780 [153]"atnls peekeispiel wird der (NULL)tern (*) umde-"
790 [153]"finiert (peekildschirm-lenode 42) "
800 [153]"left$ierzu druecken sie bitte wait (NULL) "
810 [153]" * * * * * * * * * * * * * * "
820 [153]">(NULL)(NULL)(NULL) atnstr$(NULL)val(NULL)(NULL)val2,42,1,2,4,8,16,32,64,128<"
830 [153] kk$;
840 [141]1530
850 [158]18579,42[170]128,254,253,251,255[171]8,255[171]16,255[171]32,255[171]64,127
860 [153]"(NULL)o sieht der (NULL)tern nach dem "
870 [153]"(NULL)(NULL)(NULL)-atnufruf aus : "
880 [153]" "
890 [153]" * * * * * * * * * * * * * * "
900 [153]">(NULL)(NULL)(NULL) atnstr$(NULL)val(NULL)(NULL)val2,42,1,2,4,8,16,32,64,128<"
910 [153]kk$;
920 [141]1530:[158]18176,0:[151]en,0:[151]hi,1
930 [153]"str$er letzte sys-atnufruf dient zum atnb- "
940 [153]"schalten des (NULL)ools. (NULL)ie haben dann "
950 [153]"wieder den ganz normalen peekildschirm "
960 [153]"vor sich. "
970 [153]">(NULL)(NULL)(NULL) atnstr$(NULL)val(NULL)(NULL)val3< ":[151]32767,255
980 [153] kk$;
990 [141]1530
1000 [151]32767,0:[153]"stop";:pz[178]15:[141]1800:[153]"";
1010 [153]"(NULL)un zu der (NULL)prite-(NULL)ositionierung: (NULL)ie"
1020 [153]"(NULL)ie es von der (NULL)-(NULL)osition kennen, "
1030 [153]"muessen (NULL)ie jetzt auch fuer (NULL)-(NULL)osi- "
1040 [153]"tionen groesser 255 ein zweites peekyte "
1050 [153]"benutzen. (NULL)ie kennen dies schon von "
1060 [153]"(NULL)right$len-(NULL)egister 16 fuer die (NULL)-(NULL)osition. "
1070 [153]">str$ie (NULL)(NULL)(NULL)val-atndresse lautet 250< "
1080 [153] kk$"stop";:pz[178]19
1090 [141]1530
1100 [141]1800:[153]" wait(NULL)right$lenleft$(NULL)right$chr$: atnus technischen chr$ruenden "
1110 [153]"mussten zwei (NULL)right$len-(NULL)egister sowie der "
1120 [153]"peekildschirmspeicher verlegt werden. "
1130 [153]"left$ierdurch verschieben sich auch die "
1140 [153]"(NULL)pritepointer. "
1150 [153]"peekildschirmspeicher : "
1160 [153]"alt: 1024-2023 , neu: 52224-53223 "
1170 [153]"(NULL)pritepointer : "
1180 [153]"alt: 2040-2047 , neu: 53240-53247 "
1190 [153] kk$;:[141]1530
1200 [153]"str$ie beiden 'verschobenen' (NULL)egister : "
1210 [153]" alt neu ascunktion "
1220 [153]"53265 252 (NULL)right$len-(NULL)ontrollregister"
1230 [153]"53270 251 (NULL)prites an/aus "
1240 [153]"str$ie alten (NULL)egister duerfen nicht mehr"
1250 [153]"benutzt werden ! "
1260 [153]"vals folgt die geaenderte (NULL)peicherauf- "
1270 [153]"teilung auf einen peeklick. "
1280 [153]" "
1290 [153] kk$;:[141]1530
1300 [153]"$0400-$07ff frei "
1310 [153]"$c000-$c750 frei fuer (NULL)prites oder "
1320 [153]" (NULL)upertape "
1330 [153]"$c751-$cbff belegt vom (NULL)ool "
1340 [153]"$cc00-$cfe7 neuer peekildschirmspeicher "
1350 [153]"$cff8-$cfff neue (NULL)pritepointer "
1360 [153]"$d000-$dfff (NULL)eichensatz im (NULL)atn(NULL) "
1370 [153]"$e000-$ffbf frei fuer (NULL)prites oder "
1380 [153]" hochaufloes. chr$rafik "
1390 [153] kk$;:[141]1530
1400 [153]"str$ie normalen (NULL)prite-peekloecke sind nun "
1410 [153]"fuer den (NULL)ideo-lenhip nicht mehr er- "
1420 [153]"reichbar. str$ie neuen liegen wie folgt:"
1430 [153]" peeklock atndresse peekerechnung "
1440 [153]" 0 49152 0*64+49152 "
1450 [153]" 1 49216 1*64+49152 "
1460 [153]" 2 49380 2*64+49152 "
1470 [153]" 3 49344 3*64+49152 "
1480 [153]" u.s.w. "
1490 [153] kk$;:[141]1530
1500 [138]
1510 [153]""f$(bz[175]1):bz[178]255[171]bz:[151]si[170]18,32:[151]si[170]18,33
1520 [151]si[170]15,f:[142]
1530 [161]a$:[139]a$[179][177]"e"[175]a$[179][177]"w"[167]1530
1540 [139]a$[178]"e"[167][138]
1550 [142]
1560 [128]
1570 [139][185](0)[179][177]40[167][153]" ";:[137]1570
1580 [142]
1590 [140]
1600 [135]q$:[139]q$[179][177]s$[167]1600
1610 [129]i[178]64[172]b[170]16384[172]vb[164]i[170]63:[135]q:[151]i,q:[130]
1620 [142]
1630 [131]ballus
1640 [131]120,0,0,252,0,0,252,0,0,252,0,0,252,0,0,120
1650 [131]0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1660 [131]0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1670 [131]0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255
1680 [131]joydem
1690 [131]120,0,0,180,0,0,252,0,0,132,0,0,204,0,0,120
1700 [131]0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1710 [131]0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1720 [131]0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255
1730 z[178]z[170]1:[139]z[178]10[167][141]1510:z[178]0
1740 [139]o[178][171]10[170]sp[167][141]1820
1750 y[178]144[170]o[174]2:x[178]x[170]1.7:[151]si[170]2,(y[171]140)[175]255:[137]1770
1760 [129]i[178]1[164]3000:[130]:[151]en,0
1770 [151]v,x[175]255:[151]v[170]16,x[173]256
1780 [151]v[170]1,y[175]255:[151]hi,y[173]256
1790 [151]en,1:[142]
1800 [129]zh[178]1[164]pz:[153]" wait";:[130]
1810 [142]
1820 [151]si[170]11,32:[151]si[170]11,33:[142]
1830 [159]1,8,15
1840 [161]#1,a$:[153]a$;:[139]st[179][177]64[167]1840
1850 [160]1
1860 [151]50258,127:[153]"load";
1870 s$[178]"joyde1":b[178]11:vb[178]0:[141]1590
1880 s$[178]"joyde2":b[178]13:vb[178]0:[141]1600
1890 [129]i[178]0[164]3:[151]v[170]i,145[170]i[172]12:[130]
1900 [151]v[170]21,3:[151]v[170]39,6:[151]v[170]40,1:[151]v[170]37,2:[151]v[170]38,0
1910 [151]2040,11:[151]2041,13
1920 [151]v[170]28,3:[137]2030
1930 [131]joyde1
1940 [131]2,160,0,10,160,0,42,160,0,40,10,160,160,10,128,160
1950 [131]10,0,160,0,0,160,0,0,160,5,0,160,5,64,40,5
1960 [131]80,42,160,0,10,160,0,2,160,0,0,0,0,0,0,2
1970 [131]0,0,2,0,0,2,0,0,2,0,0,2,0,0,2,255
1980 [131]joyde2
1990 [131]0,255,192,3,255,128,15,255,128,63,248,128,255,248,0,255
2000 [131]136,0,255,128,0,32,128,0,0,0,0,0,0,0,0,0
2010 [131]0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34
2020 [131]0,0,34,0,0,34,0,0,34,0,0,34,0,0,34,255
2030 [151]53280,12:[151]53281,12
2040 [153]"loadverify "g$(2)" ermoeglicht es, unab- "
2050 [153]" haengig von aktiven peekasic-(NULL)ro- "
2060 [153]" grammen (NULL)prites mit den mid$oy- "
2070 [153]" sticks auf dem peekildschirm "
2080 [153]" su bewegen. "
2090 [153]" (NULL)ersuchen (NULL)ie es jetzt gleich einmal ! stop"
2100 [158]18720,1,0,4,24,50,295,175
2110 [158]18720,2,1,4,24,50,295,175
2120 k$[178]" (NULL) wait (NULL)valright$(NULL)val(NULL) onon"
2130 [153]k$
2140 [151]646,1[171][194](646):[161]a$:[139]a$[179][177]"w"[167][129]i[178]1[164]100:[130]:[137]2130
2150 [153]"loadverify str$er atnufruf erfolgt durch: "
2160 [153]"(NULL)(NULL)(NULL) atnstr$(NULL)val(NULL)(NULL)val,(NULL),(NULL),chr$,(NULL),(NULL),peek,left$"
2170 [153]"(NULL) steht fuer den lenontrol-(NULL)ort (1-2) "
2180 [153]"(NULL) fuer die (NULL)prite-(NULL)ummer (0-7) "
2190 [153]"chr$ fuer die chr$eschwindigkeit (0-15) "
2200 [153]"str$ie naechsten vier (NULL)erte geben "
2210 [153]"den peekereich an, in dem der (NULL)prite "
2220 [153]"bewegt werden kann. "
2230 [153]" (NULL) und (NULL) bestimmen den oberen "
2240 [153]" linken (NULL)unkt. "
2250 [153]""
2260 [153]" peek ist die peekreite und "
2270 [153]" left$ die left$oehe. "
2280 [153]"verify"k$
2290 [161]a$:[139]a$[179][177]"w"[175]a$[179][177]"e"[167]2290
2300 [153]"loadatnusschalten koennen (NULL)ie das left$ilfs- "
2301 [153]"(NULL)rogramm fuer den entsprechenden "
2302 [153]"(NULL)ort mit "
2310 [153]"(NULL)(NULL)(NULL) atnstr$(NULL)val(NULL)(NULL)val,(NULL)(NULL)(NULL)(NULL)verify"
2320 [153]k$:[141]1530
2330 [153]"loadverify atnusserhalb von right$(NULL)(NULL)(NULL)(NULL) 64 kann "g$(2)
2340 [153]" auch mit "g$(1)" zusammenarbeiten"
2350 [153]" "g$(1)" muss dann zuerst "
2360 [153]" gestartet werden. "
2370 [153]" val wait val(NULL)str$val":[141]1530:[138]
2380 [139]sf[178]1[167]sf[178]2:[137]2400
2390 sf[178]1
2400 [151]am[170]0,ad(sf,1)[175]255
2410 [151]am[170]1,ad(sf,1)[173]256
2420 [151]am[170]2,ad(sf,2)[175]255
2430 [151]am[170]3,ad(sf,2)[173]256
2440 [137]210