home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Loadstar 227
/
227.d81
/
b.nexsnail
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-08-26
|
7KB
|
254 lines
1 rem a$="64snail":savea$,8:verifya$,8
2 poke788,52:rembypass clock-stop check
10 xm=319:xc=xm/2:op=0:o=op:sa=24576
20 ym=199:yc=ym/2:c=0:pt=1:ea=sa+7999:dn=peek(186):cp=0:sn=1:fp=0
22 ed$=".....end of line."
24 ed$=ed$+""
30 gosub6000:gosub9000
100 rem *** main ***
110 gosub8000
120 rem *** mainloop ***
130 e$="":print"";:gete$:ife$=""then130
140 gosub7000
150 goto120
200 rem *** reverse screen ***
250 fori=satoea
255 e$="":gete$:ife$="^"then299
260 pokei,255-peek(i)
280 nexti
290 getc$:ifc$=""then290
299 return
999 end
1000 rem *** snailskin vi ***
1001 poke53280,5
1100 for v=1 to yc
1110 for n=0 to v step sn
1120 c=c+.05
1126 if fp=0thenpt=1
1128 if fp=1thenpt=pt+1:ifpt>1thenpt=0
1130 x=int(xc+v*sin(n/(c/2)*(NULL)))
1140 y=int(yc-v*cos(n/(c/2)*(NULL)))
1150 if x>xm or x<0 or y>ym or y<0 then 1180
1160 rem pt=pt+1:if pt>1 then pt=0
1170 gosub4000
1172 e$="":gete$:ife$="^"then1199
1180 next n
1190 next v
1191 poke53280,2
1192 c$="":getc$:ifc$=""then1192
1199 return
2000 rem *** sinmore iii ***
2001 poke53280,5
2091 poke53280,5
2100 for v=yc to 1 step-1
2110 for n=-v to 0 step sn
2120 c=c+.05
2130 x=int(xc+v*sin(n/(c/4)*(NULL)))
2140 y=int(yc-v*cos(n/(c/5)*(NULL)))
2150 if x>xm or x<0 or y>ym or y<0 then 2180
2160 iffp=1thenpt=pt+1:ifpt>1thenpt=0
2162 iffp=0thenpt=1
2170 gosub4000
2172 e$="":gete$:ife$="^"then2199
2180 next n
2190 next v
2191 poke53280,2
2192 c$="":getc$:ifc$=""then2192
2199 return
3000 rem *** moriphic iii ***
3001 poke53280,5
3100 for v=yc to -yc step -1
3110 for n=-v to v step sn
3120 c=c+.05
3130 x=int(xc+v*sin(n/(c/4)*(NULL)))
3140 y=int(yc-v*cos(n/(c/5)*(NULL)))
3150 if x>xm or x<0 or y>ym or y<0 then 3180
3160 iffp=1thenpt=pt+1:ifpt>1thenpt=0
3162 iffp=0thenpt=1
3170 gosub4000
3172 e$="":gete$:ife$="^"then3199
3180 next n
3190 next v
3191 poke53280,2
3192 c$="":getc$:ifc$=""then3192
3199 return
4000 rem *** plot ***
4010 ifx>xmorx<0ory>ymory<0then4999
4020 ch=int(x/8):ro=int(y/8):ln=yand7
4030 by=sa+ro*320+8*ch+ln:bi=7-(xand7)
4040 ifpt=1thenpokeby,peek(by)or(2^bi)
4050 ifpt=0andpeek(by)=(peek(by)or(2^bi))thenpokeby,peek(by)-(2^bi)
4999 return
5000 rem *** setup hires ***
5010 poke53265,peek(53265)or32
5012 poke56576,150
5014 poke648,92
5016 poke53272,121
5020 ifcp=0thenfori=23552to24551:pokei,1:nexti:cp=1
5030 if op=0thenfori=satoea:pokei,0:nexti
5040 return
6000 rem *** text mode ***
6010 poke53265,peek(53265)and223
6012 poke56576,151
6013 poke648,4
6014 poke53272,21
6020 poke53281,0:poke53280,11:poke646,1
6030 return
7000 rem *** check key press ***
7010 ife$="1"thengosub5000:gosub1000
7020 ife$="2"thengosub5000:gosub2000
7030 ife$="3"thengosub5000:gosub3000
7040 ife$="4"thenop=1:gosub5000:op=o:gosub200
7050 ife$="5"thenop=op+1:o=op:ifop>1thenop=0:o=op
7060 ife$="6"thenop=0:gosub5000:op=o
7070 ife$="7"thenfp=fp+1:iffp>1thenfp=0
7080 ife$="8"thenprint"enter c value ";:f=1:gosub20000:c=val(f$):f=0
7090 ife$="9"thenprint"set step value ";:f=1:gosub20000:sn=abs(val(f$)):f=0
7092 ifsn>319thensn=1
7100 ife$="0"thenop=1:gosub5000:e$="":op=o:goto7120
7104 ife$="/"thengosub30000
7106 ife$="q"thenprinted$:poke788,49:goto40000
7108 ife$="s"thengosub10000
7110 gosub6000:gosub8000
7120 return
8000 rem *** menu ***
8008 poke53281,0:poke53280,11:poke646,1
8010 print"[147][144][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
8012 print"[155] snail[211]kin[164][214][201][201], sin[205]ore[164][201][201][201], [146]"
8013 print"[152][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
8018 print"[164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
8020 print"[155] and [205]oriphic[164][201][201][201] [146]"
8022 print"[152][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
8030 print"[164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
8032 print"[155] by [194]rian [195]rosthwaite [146]"
8034 print"[152][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
8040 print"[164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
8042 print"[155]press.... "
8050 print" 1 snail[211]kin[164][214][201][201] / drive # "
8060 print" 2 sin[205]ore[164][201][201][201] "
8062 print"[146] [196][206] ="dn"[157] "
8070 print" 3 [205]oriphic[164][201][201][201] "
8080 print" 4 reverse plot screen "
8090 print" 5 toggle over plot [146] [207][208] ="op" "
8100 print" 6 clear plot screen "
8110 print" 7 false/true plot "
8112 print"[146] [198][208] ="fp"[157] "
8120 print" 8 set c "
8122 print"[146] [195] ="c"[157] "
8130 print" 9 set step [211] to save "
8132 print"[146] [211] ="sn"[157] "
8140 print" 0 view ^ menu [209] to quit "
8142 print"[152][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
8150 return
9000 rem *** opening screens ***
9010 print"[147][159][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
9020 print"[154] [202] & [198] [208]ublishing [146]"
9030 print"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
9040 print"[159][164][164][164]"
9050 print"[154] & [146]"
9060 print"[163][163][163]"
9070 print"[159][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
9080 print"[154] noesiscreation.org [146]"
9090 print"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
9100 print"[159][164][164][164][164][164][164][164][164][164]"
9110 print"[154] present [146]"
9120 print"[163][163][163][163][163][163][163][163][163]"
9130 print"[159][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
9140 print"[154] snail[211]kin[164][214][201][201], sin[205]ore[164][201][201][201], [146]"
9150 print"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
9160 print"[159][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
9170 print"[154] and [205]oriphic[164][201][201][201] [146]"
9180 print"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
9190 print"[159][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
9200 print"[154] by [194]rian [195]rosthwaite [146]"
9210 print"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
9212 poke53370,0
9214 fortd=0to4000
9215 c$="":getc$:ifc$<>""then9218
9216 nexttd
9218 poke53371,0
9220 print"[158][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
9230 print"[153] [195]opyright 2003, 2004 [146]"
9240 print"[163][163][163][163]