home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Commodore Disc 51
/
Commodore_Disc_51_19xx_-_de.d64
/
spritehelper..64
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
4KB
|
189 lines
10 rem sprite-helper============64
20 rem (p) commodore disc ==
30 rem ===========================
40 rem (c) by m.jungmann ==
50 rem ==
60 rem ==
70 rem version 2.0 40z/ascii ==
80 rem c 64 + floppy+drucker ==
90 rem ===========================
95 gosub 60000
100 ifa=0thena=1:load"mc ii",8,1
110 ifa=1thena=2:goto130
120 end
130 clr:gosub60000:gosub1340:poke32,1:poke2041,255
140 printcl$s2$:za=210:poke650,128
150 fori=0to62:poke832+i,0:next
160 fori=0to22step3:poke832+i,255:next
170 sys49779:sys50432:sys49920:gosub1000
180 gett$:sys49946:printhe$left$(qd$,22)"block";za
190 ift$="l"thengosub550
200 ift$="s"thengosub770
210 ift$="d"thengosub310
220 ift$="c"thengosub890
230 ift$="f"thengosub450
240 ift$="m"then1210
250 ift$="[205]"thenpoke53248+28,0
260 ift$=f1$thenza=za+1:gosub1300:ifza>254thenza=100
270 ift$=f3$thenza=za-1:gosub1300:ifza<100thenza=254
280 z1=255*64:z2=z1+63:z3=za*64
290 sys51235,z1,z2,z3+63
300 goto180
310 printcl$
320 rem ***** drucken *****
330 v=53248:pokev+21,1:poke2040,255:pokev,100:pokev+1,100
340 input"zu druckender block";b1:ifb1<192orb1>254then340
350 sys51235,b1*64,b1*64+63,255*64+63
360 printcl$
370 sys49779:sys50944
380 open4,4:print#4,"data";
390 k$=",":x=63:fori=64*255to64*255+x
400 print#4,peek(i);
410 print#4,k$;
420 next
430 close4:pokev+21,3
440 printcl$:goto170
450 printcl$
460 rem ***** film *****
470 v=53248:pokev+21,1:s=50
480 input"von block";a1:ifa1<100ora1>254then480
490 input" zu block";a2:ifa2<100ora2>254ora2<=a1then490
500 printleft$(qd$,6)" / schneller"
510 printc4$" shift+/ langsamer"
520 printc4$" press space to end"
530 sys51456,a1,a2
540 pokev+21,0:printcl$:goto170
550 rem ***** laden *****
560 v=53248:pokev+21,0:printcl$"1) file laden"
570 print"2) directory"
580 print"3) disk comands"
590 gett$
600 ift$="1"then640
610 ift$="2"then1530
620 ift$="3"then1600
630 goto590
640 printcl$:v=53248:pokev+21,0
650 input"filename";fi$:iflen(fi$)<1orlen(fi$)>16then650
660 open15,8,15
670 open1,8,2,fi$+",s,r":input#1,b1:input#1,b2
680 input#15,aa,bb$,cc,dd:ifaa<20then700
690 close1:close15:goto170
700 forx=64*b1to64*b2+63
710 input#1,a
720 pokex,a
730 next
740 close1:close15
750 sys51235,za*64,(za+1)*64,256*64
760 goto170
770 rem *****speichern*****
780 printcl$:v=53248:pokev+21,0
790 input"von block";b1:ifb1>254orb1<100then790
800 input" zu block";b2:ifb2>254orb2<100then800
810 input"filename";fi$:iflen(fi$)<1orlen(fi$)>16then810
820 open2,8,2,"@:"+fi$+",s,w":print#2,b1:print#2,b2
830 forx=64*b1to64*b2+63
840 a=peek(x)
850 print#2,a
860 next
870 close2
880 goto170
890 rem *****copieren*****
900 printcl$:v=53248:pokev+21,12
910 input"von block";b1:poke2042,b1:ifb1>254orb1<100then910
920 input" zu block";b2:poke2043,b2:ifb2<100orb2>254then920
930 x1=b1*64:x2=x1+64:x3=b2*64
940 pokev+4,100:pokev+5,100:pokev+41,1:pokev+42,1
950 pokev+6,150:pokev+7,100
960 sys51235,x1,x2,x3+64
970 print"taste"
980 gett$:ift$=""then980
990 pokev+21,0:printcl$:goto170
1000 i=25:rem *****menu*****
1010 printhe$tab(i)rn$"f7"rf$" drehen"
1020 printtab(i)rn$"cursor"rf$" scroll"
1030 printtab(i)rn$"+/-"rf$" farben"
1040 printtab(i)rn$"a"rf$" y-spiegeln"
1050 printtab(i)rn$"shift+a"rf$" x-sp."
1060 printtab(i)rn$"x"rf$" x-vergr."
1070 printtab(i)rn$"sh.+x"rf$" normal"
1080 printtab(i)rn$"z"rf$" y-vergr."
1090 printtab(i)rn$"shift+z"rf$" normal"
1100 printtab(i)rn$"home"rf$" revers "
1110 printtab(i)rn$"clr"rf$" loeschen"
1120 printtab(i)rn$"space"rf$" l.punkt"
1130 printtab(i)rn$"button"rf$"s.punkt"
1140 printtab(i)rn$"f"rf$" film"
1150 printtab(i)rn$"c"rf$" kopieren"
1160 printtab(i)rn$"l/s"rf$" load/save"
1170 printtab(i)rn$"m"rf$" multicolor"
1180 printtab(i)rn$"shift+m"rf$" mc aus"
1190 printtab(i)rn$"f1/f2"rf$" bl.zaeh."
1200 return
1210 printcl$:rem multicolor
1220 v=53248:pokev+28,2
1230 input"farbe 1";f1
1240 input"fabre 2";f2
1250 input"farbe 3";f3
1260 pokev+37,f1
1270 pokev+38,f2
1280 pokev+40,f3
1290 goto170
1300 rem ***** blockzaehlen *****
1310 x1=za*64:x2=x1+64
1320 sys51235,x1,x2,64*255+64
1330 sys49779:return
1340 rem *****titlescreen*****
1350 dima$(13):printcl$:poke53280,0:poke53281,0
1360 a$(1)="the computerfuture"
1370 a$(2)=c4$+c4$+" presents "
1380 a$(3)=left$(qd$,4)+" the "
1390 a$(4)=left$(qd$,6)+"sprite-helper v1.0"
1400 a$(5)=left$(qd$,8)+" written by"
1410 a$(6)=left$(qd$,10)+" michael jungmann"
1420 a$(7)=left$(qd$,22)+" press any key"
1430 a(1)=0:a(2)=11:a(3)=12:a(4)=15:a(5)=1:z=1
1440 fory=0to2
1450 fori=2to5
1460 forw=0to100:next
1470 poke646,a(i)
1480 printhe$tab(10)a$(z)
1490 next:next
1500 z=z+1:ifz<>8then1440
1510 gett$:ift$=""then1510
1520 return
1530 rem ***** directory *****
1540 printcl$"taste fuer directory"
1550 gett$:ift$=""then1550
1560 sys51712
1570 print"taste"
1580 gett$:ift$=""then1580
1590 printcl$:goto170
1600 rem ***** disk comands *****
1610 printcl$
1620 open2,8,15
1630 c$="":print">";
1640 getb$:ifb$=""then1640
1650 printb$;:ifb$=chr$(13)then1670
1660 c$=c$+b$:goto1640
1670 print#2,c$
1680 printrn$;
1690 get#2,az$:printaz$;:ifaz$<>chr$(13)then1690
1700 printrf$
1710 close2
1720 printc4$"taste"
1730 gett$:ift$=""then1730
1740 printcl$:goto170
60000 rem nachspann ==============
60010 rem farb-/steuercodes
60020 c4$=chr$(017):rn$=chr$(018)
60030 he$=chr$(019):f1$=chr$(133)
60040 f3$=chr$(134):rf$=chr$(146)
60050 cl$=chr$(147)
60060 rem zeichensatz/graphik
60070 s2$=chr$(160)
60080 rem zeichenfolgen
60090 for q=1 to 40
60100 qd$=qd$+c4$
60110 next q
60120 return