home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 105 / 105.d81 / edstar ii / edstar ii.0829 / edstar ii.a7ae (.txt)
Encoding:
Commodore BASIC  |  1993-01-01  |  57.5 KB  |  211 lines

  1. 100 poke650,128:print"";:dv=peek(186):poke787,0:goto130
  2. 110 xx=0:ifxy<760thenreturn
  3. 120 ms$="[207]ut of lines!":gosub1900:poke198,0:return
  4. 130 poke53280,0:poke53281,0:poke788,52:gosub160:poke55,15:poke56,39:clr
  5. 140 poke53272,23:dv=peek(186):ifdv<8thendv=8
  6. 150 print"":cm=49152:sw=51968:bb=52224:goto170
  7. 160 poke1020,1:poke1021,19:poke1022,0:poke1023,39:return
  8. 170 ls=49430:mb=49436:sd=49415:sc=49412:sys49439:gosub1060:z=1465:j=1502
  9. 180 deffns(x)=x*40+9960:ifpeek(49152)<>1thensyssw
  10. 190 poke646,12:sys49409:ln=1:ps=z:poke53272,23:gosub470
  11. 200 getc$:ifc$<>""then233
  12. 210 pokeps,peek(ps)or128
  13. 220 getc$:ifc$<>""then233
  14. 230 gosub480:goto200
  15. 233 ifc$=""thengosub2080:goto200
  16. 234 ifc$=""thengosub2060:goto200
  17. 235 ifc$=""thengosub2040:goto200
  18. 236 ifc$=chr$(141)thenpoke631,29:poke632,20:poke198,2:goto200
  19. 240 poke150,asc(c$):sys49448:ifpeek(150)=0thengosub440:goto200
  20. 249 i=peek(151)
  21. 250 onigosub270,610,510,530,550,590,710,770,370,1130,490,1650,1240,1280,430
  22. 260 goto220
  23. 270 xy=ln:gosub110:ifxxthen290
  24. 280 gosub480:ps=z:sysls,ln:ln=ln+1:syssc:sysmb,ln+8
  25. 290 gosub450:return
  26. 370 gosub480:gosub890:sysbb+9,160:return
  27. 430 onasc(c$)-132gosub1560,1720,1700,1550,1520,1540,1530,1510:return
  28. 440 lp=peek(49151+asc(c$)):pokeps,lp:ps=ps+1:ifps=1503thenps=z:gosub640:sysls,ln:sysmb,ln+8
  29. 450 ifln>nlthennl=ln
  30. 460 return
  31. 470 sysbb+3,0,39,1,19,255,3:sysbb+3,0,39,11,11,255,1:return
  32. 480 pokeps,peek(ps)and127:return
  33. 490 ifps<1466thenreturn
  34. 500 poke150,ps-z:gosub480:sys49424:ps=ps-1:return
  35. 510 ifps>zthengosub480:pokeps,peek(ps)or128:gosub480:ps=ps-1
  36. 520 return
  37. 530 ifps<jthengosub480:pokeps,peek(ps)or128:gosub480:ps=ps+1
  38. 540 return
  39. 550 ifln>1then570
  40. 560 sysbb+6,168:poke781,0:sys59903:sysbb+18,0,"[146][212]op of text[152]":gosub820:return
  41. 570 gosub480:sysls,ln:ln=ln-1:syssd:ifln>10thensys49433,ln-10
  42. 580 return
  43. 590 ifln>=nlthengosub810:return
  44. 600 gosub480:sysls,ln:ln=ln+1:syssc:sysmb,ln+8:return
  45. 610 gosub480:poke150,ps-1463:sys49427:return
  46. 620 sysbb+3,0,39,21,23,32,1:sysbb+3,0,39,20,23,160,3:sysbb+3,0,39,20,20,100,1
  47. 630 sysbb+3,0,39,24,24,99,1:sysbb+15,1,21,"":return
  48. 640 xy=ln:gosub110:ifxxthenreturn
  49. 650 ms$="":ifpeek(1503-1)=32thenms$=" "
  50. 660 sm=fns(ln+1):poke251,int(sm/256):poke250,sm-peek(251)*256:poke253,fns(nl)/256
  51. 670 poke252,fns(nl)-peek(253)*256:sys49457
  52. 680 ifpeek(150)<>0thenpoke1020,12:syssd:sys49454:nl=nl+1:poke1020,1
  53. 690 sys49445:ps=peek(150)+1464:sysls,ln:syssc:ln=ln+1:ifms$=" "thenps=z
  54. 700 return
  55. 710 ifnl=0thenreturn
  56. 720 sysbb+6,168:poke781,0:sys59903:sysbb+18,0,"[146][196]eleting line...[152]":sm=fns(ln)
  57. 730 poke251,sm/256:poke250,sm-peek(251)*256:sm=fns(nl+1):poke253,sm/256
  58. 740 poke252,sm-peek(253)*256:sys49451:poke251,sm/256:poke250,sm-peek(251)*256:sysbb+9,168
  59. 750 poke1020,11:syssc:gosub160:ps=z:nl=nl-1:sysls,ln:sysmb,ln+8:gosub850:ifnl<lnthengosub550
  60. 760 return
  61. 770 xy=nl:gosub110:ifxxthenreturn
  62. 780 sysbb+6,168:poke781,0:sys59903:sysbb+18,0,"[146][201]nserting line...[152]":sm=fns(ln)
  63. 790 poke251,sm/256:poke250,sm-peek(251)*256:poke253,fns(nl)/256:poke252,fns(nl)-peek(253)*256
  64. 800 sys49454:nl=nl+1:poke1020,11:sysbb+9,168:gosub480:syssd:gosub160:ps=z:goto850
  65. 810 sysbb+6,168:poke781,0:sys59903:poke199,0:sysbb+18,0,"[194]ottom of text"
  66. 820 fori=1to600:next:sysbb+9,168:poke198,0:poke198,0:return
  67. 830 poke54296,15:poke54277,45:poke54278,165:poke54276,33:poke54273,6:poke54272,5:fori=1to200:next
  68. 840 poke54276,32:poke54273,0:poke54272,0:poke198,0:return
  69. 850 poke150,0:poke151,0:poke152,0:poke153,0:return
  70. 860 ms$="[197]xit? ([217]/[206])":gosub1900:ifa$<>"y"thenreturn
  71. 870 ifnl>1thenms$="[211]ave [198]ile? ([217]/[206])":gosub1900:ifa$<>"n"thene$="7":gosub890
  72. 875 ifval(c$)ora$="q"thenreturn
  73. 880 run
  74. 890 gosub480:sysls,ln:sysbb+6,160
  75. 900 iff$=""thena$="n":goto940
  76. 910 ms$="[211]ave as "+f$+"? ([217]/[206]/$/[209])":gosub1900
  77. 920 ifa$<>"y"anda$<>"n"anda$<>"q"anda$<>"$"anda$<>"4"then910
  78. 921 ifa$="4"thena$="$"
  79. 925 ifa$="$"thenpoke51078,dv:sysbb+6,208:print"[147]":sys49466:poke198,0:wait198,15
  80. 926 ifa$="$"thengeta$:sysbb+9,208:goto910
  81. 930 ifa$="y"then970
  82. 940 ifa$="n"thengosub1940:f$=w$:a$="q":ifw$<>""then960
  83. 950 ifa$="q"thenreturn
  84. 960 ifleft$(w$,1)="$"thengosub1810:sysbb+9,168:w$="":goto900
  85. 970 ms$="[198]ile type? ([208]/[211])":gosub1900:ifa$<>"s"anda$<>"p"thena$="p"
  86. 980 c$=a$:close15:open15,dv,15,"r:"+f$+"="+f$:input#15,a$:ifval(a$)<>63then1020
  87. 985 gosub830
  88. 990 ms$="[210]eplace file? ([217]/[206])":gosub1900:ifa$<>"y"anda$<>"n"then990
  89. 1000 ifa$="n"thenclose15:return
  90. 1010 print#15,"s:"+f$
  91. 1020 poke787,1:ms$="[211]aving "+f$+"...":gosub1900:poke50318,dv:poke50345,dv
  92. 1030 f$=f$+","+c$+",w":gosub1890:f$=left$(f$,len(f$)-4):poke251,nl/256
  93. 1035 close15
  94. 1040 poke250,256*((nl)/256-peek(251)):sys49418:sysbb+9,168:syssw:syscm+42,"",dv:syssw
  95. 1050 ms$=e$:c$=e$:gosub1900:close15:return
  96. 1060 gosub1740:ifa$<>"3"thensysbb+9,184
  97. 1065 ifa$="2"thenreturn
  98. 1070 ifa$="3"thengosub2000:run
  99. 1075 iff$=""then1060
  100. 1080 poke50318,dv:poke50345,dv:poke787,1:ms$="[204]oading "+f$:gosub1900:sys49439:poke250,17
  101. 1090 poke251,39:poke252,nl/256:poke253,256*((nl/256)-peek(252)):sys49421:gosub1630:gosub470
  102. 1100 ifnl<>0then1120
  103. 1110 open15,dv,15:input#15,e$:close15
  104. 1120 return
  105. 1130 sysls,ln:ms$="[210]eady [208]rinter/[210][197][212][213][210][206]/[209]":gosub1900:ifa$<>chr$(13)thenreturn
  106. 1140 close4:open4,4,4:close4:ifst=0then1160
  107. 1150 ms$="[208]rinter offline!":gosub1900:return
  108. 1160 open4,4,7:cmd4:lp=1
  109. 1170 ifnl-lp<120then1200
  110. 1180 fori=lptolp+59:rs=60:gosub1220:next:ifpeek(203)=23then1210
  111. 1190 print:print:print:print:print:print:print:lp=lp+120:goto1170
  112. 1200 rs=int((nl-lp+2)/2):fori=lptolp+rs-1:gosub1220:next:printchr$(12);:geta$
  113. 1210 print#4:close4:return
  114. 1220 poke151,fns(i)/256:poke150,256*(fns(i)/256-peek(151)):sys49460:poke151,fns(i+rs)/256
  115. 1230 poke150,256*(fns(i+rs)/256-peek(151)):sys49460:return
  116. 1240 gosub480:sysls,ln:return
  117. 1250 sysbb+9,184:poke646,3:sys49409:fori=ln-10toln+7:ifi<1then1270
  118. 1260 sysmb,i:syssc
  119. 1270 next:sysmb,i:gosub470:return
  120. 1280 gosub480:sysbb+6,168:sysls,ln:pokeps,peek(ps)or128:sysbb+3,1,32,2,9,255,6
  121. 1290 sysbb+3,0,39,0,0,255,11:sysbb+3,2,33,1,8,160,13:sysbb+3,2,33,2,7,160,3
  122. 1300 sys51584
  123. 1310 geta$:ifa$=""then1310
  124. 1320 sysbb+9,168:gosub480:a$=chr$(asc(a$)or64):ifa$="g"then1410
  125. 1330 ifa$="s"then1470
  126. 1340 ifa$="r"then1550
  127. 1350 ifa$="l"then1560
  128. 1360 ifa$="w"then1570
  129. 1370 ifa$="a"then1590
  130. 1380 ifa$="z"then1620
  131. 1390 ifa$="d"then1660
  132. 1400 return
  133. 1410 ifln>nl-2thengosub1930:return
  134. 1420 sys49469:if(peek(252)+256*peek(253))>jthen1450
  135. 1430 sys49472:qx=peek(150):gosub590:ifqx=0then1450
  136. 1440 poke150,qx:sys49478:gosub1570:ifqx>37thengosub710
  137. 1450 sys49481:ps=peek(250)+peek(251)*256:ifps=jthengosub590
  138. 1460 return
  139. 1470 pz=ps:ifps=zthen1500
  140. 1480 gosub590:gosub770:poke151,fns(ln-1)/256:poke150,256*((fns(ln-1)/256)-peek(151))
  141. 1490 poke250,pz-z:sys49463
  142. 1500 return
  143. 1510 gosub480:sysls,ln:ln=nl:goto1250
  144. 1520 gosub480:sysls,ln:ln=1:goto1250
  145. 1530 fori=1to10:poke630+i,asc(""):next:poke198,10:return
  146. 1540 fori=1to10:poke630+i,asc("[145]"):next:poke198,10:return
  147. 1550 gosub480:ps=j:return
  148. 1560 gosub480:ps=z:return
  149. 1570 sys49475:qx=peek(150):iff$=""thengosub590
  150. 1580 return
  151. 1590 gosub1510:gosub1810:iff$=""thensysbb+9,168:return
  152. 1595 ma=fns(ln)+1:poke251,ma/256:poke250,256*((ma/256)-peek(251))
  153. 1600 poke50318,dv:poke50345,dv:poke253,ln/256:poke252,256*((ln/256)-peek(253))
  154. 1610 sys49421:qd=ln:gosub1630:ln=qd:gosub1250:return
  155. 1620 sys49484
  156. 1630 ma=peek(250)+peek(251)*256:ma=ma-10001:ifma<0thenma=0
  157. 1640 nl=int(ma/40)+1:ln=1:gosub1250:return
  158. 1650 gosub860:return
  159. 1660 ms$="[196]ouble space text? ([217]/[206])":gosub1900:ifa$<>"y"thenreturn
  160. 1670 gosub1520:gosub590
  161. 1680 ifln<nlthengosub770:gosub590:gosub590:ifpeek(197)=64then1680
  162. 1690 gosub770:return
  163. 1700 gosub480
  164. 1704 ifps<jthenps=ps+1:ifpeek(ps)=32then1704
  165. 1705 ifps<jthenps=ps+1:ifpeek(ps)<>32then1705
  166. 1706 ifps=jthenpoke631,13:poke198,1
  167. 1707 ifps<jthenps=ps+1
  168. 1710 goto1730
  169. 1720 gosub480
  170. 1724 ifps>zthenps=ps-1:ifpeek(ps)=32then1724
  171. 1725 ifps>zthenps=ps-1:ifpeek(ps)<>32then1725
  172. 1726 ifps=zthenpoke631,145:poke632,136:poke198,2
  173. 1727 ifps>zthenps=ps+1
  174. 1730 pokeps,peek(ps)or128:return
  175. 1740 gosub1990:poke53265,11:sysbb+3,0,39,5,19,127,14
  176. 1750 sysbb+3,2,35,10,14,255,6:sysbb+3,3,36,9,13,160,3
  177. 1760 sysbb+15,5,10,"[159][204]oad and edit a file from disk"
  178. 1770 sysbb+15,5,11,"[197]dit a file from scratch"
  179. 1780 sysbb+15,5,12,"[210]eturn to [204][207][193][196][211][212][193][210]":gosub1970:sysbb,10,3,36,3,3+128,129,0:geta$
  180. 1790 ifa$="1"then1810
  181. 1800 return
  182. 1810 sysbb+3,18,23,8,18,255,6:sysbb+3,19,24,7,17,160,5:print"";:fori=8to16
  183. 1820 sysbb+15,20,i,str$(i):next:poke646,3:sysbb+3,0,39,21,23,160,3
  184. 1830 sysbb+18,22,"[208]lease [211]elect [196]rive":sysbb,8,19,24,9,5+128,129,0:getc$
  185. 1840 dv=val(c$)+7:close2:open2,dv,2:close2:ifstthen1830
  186. 1850 ifw$=""thenw$="$:*"
  187. 1855 sysbb+3,0,39,21,23,160,3
  188. 1860 sysbb+18,22,"[159][199]etting [196]irectory":syssw:syscm,w$,dv,53248,15,13,10,13,1
  189. 1870 syssw:ifval(e$)thenms$=e$:gosub1900:return
  190. 1880 iff$=""thenreturn
  191. 1890 fori=1tolen(f$):poke827+i,asc(mid$(f$,i,1)):next:poke827,len(f$):return
  192. 1900 sysbb+6,168:sysbb+3,0,38,8,10,255,6:sysbb+3,1,39,7,9,160,13:poke199,1:poke646,13
  193. 1910 sysbb+18,8,ms$:ms$="":e$="":poke212,0:ifpeek(787)thenpoke787,0:return
  194. 1920 poke198,0:wait198,15:geta$:sysbb+9,168:return
  195. 1930 fori=1to6:poke630+i,asc(mid$(chr$(13)+chr$(13)+"[145][145]",i,1)):next:poke198,6:return
  196. 1940 ms$="[145][197]nter [198]ile name or $:wildcard below:":poke787,1:gosub1900
  197. 1950 sysbb+3,1,39,6,6,100,1:sysbb+3,3,37,9,9,32,0:sysbb+3,1,39,10,10,99,1
  198. 1960 sysbb+15,3,9,"[146][198]ilename: ":syssw:sysbb,7,1,24:syssw:sysbb+9,168:return
  199. 1970 sysbb+6,168:sysbb+3,0,39,0,24,255,0:poke53265,27:a$="":fori=1to4
  200. 1980 sysbb+3,0,39,0,24,255,asc(mid$(a$,i,1)):next:sysbb+9,168:return
  201. 1990 a$=""+chr$(0):fori=1to5:sysbb+3,0,39,0,24,255,asc(mid$(a$,i,1)):next:print"[147]":return
  202. 2000 ms$="[193]re you sure? ([217]/[206])":gosub1900:ifa$<>"y"thenreturn
  203. 2010 poke788,49:poke56,160:poke55,0:poke650,0:syssw
  204. 2020 syscm+42,"r:hello connect=hello connect",8:ifval(e$)<>63thenprint"[147][159]":new
  205. 2030 print"[147][144]":syscm+33,"hello connect",8:clr:new
  206. 2040 gosub480:fori=0to4:poke631+i,148:poke636+i,32:next:poke198,10:return
  207. 2060 fori=ztoj:ifpeek(i)<27thenpokei,peek(i)or64
  208. 2070 next:sysls,ln:return
  209. 2080 fori=ztoj:if(peek(i)and63)<27thenpokei,peek(i)and63
  210. 2090 next:sysls,ln:return
  211.