home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 83 / 083.d81 / cal.print (.txt) < prev    next >
Encoding:
Commodore BASIC  |  1991-01-01  |  13.3 KB  |  406 lines

  1. 100 poke 55,0:poke 56,160:clr:n$="ab":goto220
  2. 110 :
  3. 120 sys 52496,fr,fc,tr,tc,ad,fu,co,rv
  4. 130 ad=ad+(tr-fr+1)*(tc-fc+1)*2:n=n+1
  5. 140 if ad>52495thenprint"windows abort!":end
  6. 150 fr(n)=fr:fc(n)=fc:tr(n)=tr:tc(n)=tc
  7. 160 return
  8. 170 :
  9. 180 fr=fr(n):fc=fc(n):tr=tr(n):tc=tc(n)
  10. 190 ad=ad-(tr-fr+1)*(tc-fc+1)*2:n=n-1
  11. 200 sys 52496,fr,fc,tr,tc,ad,8,1,1
  12. 210 return
  13. 220 de=peek(186):ifde<8thende=8
  14. 230 dim la(12),lw$(7),mm$(4),l$(12)
  15. 240 dim la$(106),lb(106),lc(106),lp(106),pi(21)
  16. 250 l$(1)="[197]ach ":l$(2)="[199]ram ":l$(3)="[207]unce":l$(4)="[208]ound":l$(5)="[212]sp  "
  17. 260 l$(6)="[212]bl  ":l$(7)="[207]unce":l$(8)="[195]up  ":l$(9)="[208]int ":l$(10)="[209]uart"
  18. 270 l$(11)="[199]al  ":l$(12)="     "
  19. 280 a3$=chr$(125):a6$="[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]"
  20. 290 la(1)=0.:la(2)=31.:la(3)=59.:la(4)=90.:la(5)=120.:la(6)=151.
  21. 300 la(7)=181.:la(8)=212.:la(9)=243.:la(10)=273.:la(11)=304.:la(12)=334.
  22. 310 lw$(0)="[211][213][206]":lw$(1)="[205][207][206]":lw$(2)="[212][213][197]":lw$(3)="[215][197][196]":lw$(4)="[212][200][210]"
  23. 320 lw$(5)="[198][210][201]":lw$(6)="[211][193][212]"
  24. 330 mm$(1)="[194][203][198][193][211][212]":mm$(2)="[204][213][206][195][200] ":mm$(3)="[196][201][206][206][197][210]":mm$(4)="[211][206][193][195][203] "
  25. 340 ss$="                               ":zc=0:z$=chr$(0):lm=66
  26. 350 forx=900to933:ready:pokex,y:next
  27. 360 gosub610
  28. 370 gosub1770:ifga=1 then 390
  29. 380 ifga=2then 2450
  30. 390 gosub690:ifbt=0then 370
  31. 400 yy=22:xx=0:gosub600:print"f1 = [208]age  <[210][212][206]> = [211]elect  _ = [197]scape"
  32. 410 goto 2140
  33. 420 data 160,2,177,45,153,137,0,200,192,6,208,246,162
  34. 430 data 1,32,198,255,32,228,255,164,142,145,140,200
  35. 440 data 132,142,196,139,208,242,76,204,255
  36. 450 fr=21:fc=09:tr=23:tc=29:fu=7 :co=0 :rv=02:gosub120
  37. 460 yy=23:xx=10:gosub600
  38. 470 print" [193]ny [203]ey [195]ontinues";
  39. 480 poke198,0:wait198,15:geta$:gosub180:return
  40. 490 if zc=1then return
  41. 500 fr=18:fc=08:tr=22:tc=32:fu=7 :co=2 :rv=12:gosub120:yy=21:xx=09:gosub600
  42. 510 print"[152]   [204]oading [196]irectory ":gosub1080:gosub180:return
  43. 520 gosub590:print"[147]new":print"load"chr$(34)f$chr$(34)","de
  44. 530 print"?c[200](144)c[200](142):run"
  45. 540 poke198,3:poke631,13:poke632,13:poke633,13:poke56,160:end
  46. 550 input#15,e,e$,a,b:ife<20 orre=73 then return
  47. 560 if e=50thenreturn
  48. 570 print "[147]  [196][201][211][203] [208][210][207][194][204][197][205]: [195]an't [195]ontinue!":gosub450
  49. 580 gosub590:end
  50. 590 close3:close15:open15,de,15,"i0":close15:return
  51. 600 poke 214,yy:poke211,xx:print"[145]";:return
  52. 610 rem hskpng
  53. 620 poke53281,1:poke53280,1
  54. 630 dim dp$(53),dc$(53):dp=1:dp$(1)=chr$(255):dc=1:dc$(1)=chr$(255)
  55. 640 dim fr(20),fc(20),tr(20),tc(20)
  56. 650 ad=49920
  57. 660 rempoke 147,0:sys57812"windows.o",de,1:sys62631:poke53281,1
  58. 670 yy=10:xx=10:gosub600
  59. 680 return:poke147,0:sys57812"cal.rd.o",de,1:sys62631:return
  60. 690 print"[147]":poke53280,1:fr=07:fc=10:tr=15:tc=30:fu=7 :co=0 :rv=02:gosub120
  61. 700 yy=9:xx=13:gosub600:print"[193][206][193][204][217][218][197] & [208][210][201][206][212]":yy=10:gosub600
  62. 710 print"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]":yy=11:xx=16:gosub600:print"[197]nter [206]ame":xx=15
  63. 720 a7$="":a5$="a":al=8:a2$="":yy=13:gosub750:pn$=left$(a1$+"........",8)
  64. 730 gosub500:gosub180:ifbt=0then return
  65. 740 gosub1430:return
  66. 750 rem get routine
  67. 760 a1$=""
  68. 770 gosub970
  69. 780 get a$:if a$="" then 780
  70. 790 a=asc(a$):if a=20 thengosub1000:goto860.
  71. 800 if a=13then 880
  72. 810 if a5$="a"then 1020
  73. 820 if a$="."ora$="," then850
  74. 830 if a$ = "-" and len(a1$) = 0 then 850
  75. 840 if a < 48 or a > 60 then 780
  76. 850 iflen(a1$)<al then a1$=a1$+a$
  77. 860 gosub870:goto 780
  78. 870 gosub970:return
  79. 880 dv=0:l =len(a1$):a = 0:at = 0:p = 0:an = 1
  80. 890 if a5$="a"then return
  81. 900 for i=1 to l:a$ = mid$(a1$,i,1)
  82. 910 if a$="-" then an=-1:goto 960
  83. 920 ifa$=","then 960
  84. 930 if a$="."thendv=1:goto 960
  85. 940 if dv=0 then a=val(a$):at = at*10 + a
  86. 950 if dv=1 then p=p+1:a=val(a$):at = at + a/(10^p)
  87. 960 next:at=at*an:return
  88. 970 a4$=left$(a6$,al)
  89. 980 gosub600:printa7$;a2$;" "; a3$;a1$" ";spc(al-len(a1$));"[157]"a3$
  90. 990 print a7$;spc(xx+    len(a2$)+1);chr$(173);a4$;chr$(189);"[145][145]":return
  91. 1000 l=len(a1$):ifl=0then return
  92. 1010 l=l-1:a1$=mid$(a1$,1,l):return
  93. 1020 if a> 31 and a <94 then 850
  94. 1030 if a> 159 and a <221 then 850
  95. 1040 goto 780
  96. 1050 mm=int(mc/100000000):mc=mc-mm*100000000:mt=int(mc/10000):mf=mc-mt*10000
  97. 1060 md=int(mu/10000000):mu=mu-md*10000000:mx=int(mu/100):mq=mu-mx*100
  98. 1070 return
  99. 1080 rem get directory
  100. 1090 n$="az":forx=1to6:n$=n$+n$:next:n$=mid$(n$,2):n$=n$+n$
  101. 1100 dp=1:dp$(1)=chr$(255):dc=1:dc$(1)=chr$(255)
  102. 1110 close15:open15,de,15,"i0":gosub550:open1,de,2,"$":gosub550:bt=0
  103. 1120 sys900:gosub550
  104. 1130 sys900:forx=1to254step32:a=asc(mid$(n$,x,1))
  105. 1140 if a<>129 then 1180
  106. 1150 a=asc(mid$(n$,x+3,1)):ifa<>037 then 1180
  107. 1160 a=asc(mid$(n$,x+4,1)):if a=33 then 1240*
  108. 1170 ifa=36 then 1260*
  109. 1180 next:ifst=0 then 1130
  110. 1190 ifbt=0 then 1210
  111. 1200 close1:close15:return
  112. 1210 fr=10:fc=8:tr=15:tc=33:fu=7:co=.:rv=5:gosub120:print""
  113. 1220 yy=14:xx=10:gosub600:print"[206]ame [206]ot in [196]irectory!"
  114. 1230 gosub 450:gosub180:goto1200
  115. 1240 a1$=mid$(n$,x+5,8):ifa1$<>pn$then1180
  116. 1250 bt=1:a1$=mid$(n$,x+13,6):gosub1350:goto1180
  117. 1260 a1$=mid$(n$,x+5,8):ifa1$<>pn$then1180
  118. 1270 bt=1:a1$=mid$(n$,x+13,6):gosub1390:goto1180
  119. 1280 a$="   [208][204][193][206]  ":if cx=1thena$="[195][207][206][211][213][205][208][212][201][207][206]"
  120. 1290 print#4,spc(3);a$;" for ";pn$;spc(30);"[196][193][212][197]: ";n$
  121. 1300 print#4,spc(15);" [215][197][201][199][200][212]: ";wa/10;spc(22);" -- [195][193][204][207][210][201][197][211] --"
  122. 1310 a$="[198][193][212]    [212][207][212]"
  123. 1320 print#4,spc(5);". . . . [197][206][212][210][217] . . . . . . . ."spc(9);"[209][213][193][206][212][201][212][217]"spc(6)a$
  124. 1330 gosub2430:gc=4:return
  125. 1340 for ga=1to(66-gc):print#4,:next:gosub1280:return
  126. 1350 k=0
  127. 1360 k=k+1:ifa1$>dp$(k)then 1360
  128. 1370 dp=dp+1:forj=dptokstep-1:dp$(j)=dp$(j-1):next
  129. 1380 dp$(k)=a1$:return
  130. 1390 k=0
  131. 1400 k=k+1:ifa1$>dc$(k)then 1400
  132. 1410 dc=dc+1:forj=dctokstep-1:dc$(j)=dc$(j-1):next
  133. 1420 dc$(k)=a1$:return
  134. 1430 fr=3:fc=7:tr=20:tc=17:fu=7:co=.:rv=6:gosub120:print""
  135. 1440 fr=3:fc=24:tr=20:tc=34:fu=7:co=.:rv=6:gosub120
  136. 1450 yy=1:xx=12:gosub600:ifga=1then print"[211]elect [201]tem to [208]rint."
  137. 1460 if ga=2 then print"[207]rder for [193]nalysis!"
  138. 1470 yy=5:xx=10:gosub600:print"[208][204][193][206] ";spc(12);"[193][195][212][213][193][204]"
  139. 1480 yy=7:gosub600
  140. 1490 gosub1560:gosub1570:pp=1:cp=1:gosub1580:gosub1660:return
  141. 1500 fr=10:fc=08:tr=15:tc=33:fu=7:co=.:rv=4:gosub120:print"[156]"
  142. 1510 yy=13:xx=10:gosub600:print"  [208][210][201][206][212][197][210] [213][206][193][214][193][201][204][193][194][204][197]!"
  143. 1520 gosub 450:gosub180:return
  144. 1530 fr=10:fc=08:tr=15:tc=33:fu=7:co=.:rv=4:gosub120:print"[156]"
  145. 1540 yy=13:xx=10:gosub600:print" [193][204][201][199][206] [212][207] [212][207][208] [207][198] [198][207][210][205]!"
  146. 1550 gosub 450:gosub180:return
  147. 1560 yy=6:xx=0:gosub600:forj=1to14:printtab(10);"      ":next:return
  148. 1570 yy=6:xx=0:gosub600:forj=1to14:printtab(27);"      ":next:return
  149. 1580 yy=6:xx=0:gosub600:ps=pp
  150. 1590 ifpp>dpthen 1640
  151. 1600 if (pp-ps)>12 then 1630
  152. 1610 if dp$(pp)=chr$(255) then 1640
  153. 1620 printtab(10);"";dp$(pp):pp=pp+1:goto1590
  154. 1630 print tab(11);"[205][207][210][197]":bp=12:return
  155. 1640 if ps=pp and dp>1 then pp=1:goto1580
  156. 1650 print tab(11);"[197][206][196]":bp=pp-ps-1:return
  157. 1660 yy=6:xx=0:gosub600:cs=cp
  158. 1670 ifcp>dcthen 1720
  159. 1680 if (cp-cs)>12 then 1710
  160. 1690 if dc$(cp)=chr$(255) then 1720
  161. 1700 printtab(27);"";dc$(cp):cp=cp+1:goto1670
  162. 1710 print tab(28);"[205][207][210][197]":bc=12:return
  163. 1720 if cs=cp and dc>1 then cp=1:goto1660
  164. 1730 print tab(28);"[197][206][196]":bc=cp-cs-1:return
  165. 1740 ifa$="[139]" or a$="[134]" ora$="[135]" or a$="[136]" thenreturn
  166. 1750 if a$="_"then return
  167. 1760 goto 1920
  168. 1770 gosub5000:print"":fr=10:fc=7:tr=20:tc=33:fu=7:co=.:rv=2:gosub120:print""
  169. 1780 yy=12:xx=0:gosub600:print tab(13);"[193][206][193][204][217][218][197] & [208][210][201][206][212]"
  170. 1790 print tab(13);"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  171. 1800 print tab(17);"[207][208][212][201][207][206][211]"
  172. 1810 print tab(09);"1. [208]rint [197]ntry":printtab(09);"2. [208]lan/[193]ctual [193]nalysis"
  173. 1820 printtab(09);"3. [210]eturn to [205]ain [205]enu"
  174. 1830 printtab(09);"4. [197]xit to [204][207][193][196][211][212][193][210]"
  175. 1840 poke198,0:wait198,15:geta$:if a$<"1"ora$>"4" then 1840
  176. 1850 gosub180:if a$="1"then ga=1:return
  177. 1860 if a$="2"then ga=2:return
  178. 1870 if a$="3" then f$="cal.track":goto520
  179. 1880 if a$="4" then f$="hello connect":de=8:goto520
  180. 1890 cy=0:if cx=1 then gosub1570:gosub1660:goto 1910
  181. 1900 gosub1560:gosub1580:goto1910
  182. 1910 gosub2110
  183. 1920 poke198,0:wait198,15:geta$:if a$="[145]" then cy=cy-1:goto2010
  184. 1930 if a$="" then cy=cy+1:goto2010
  185. 1940 if a$="" then cx=cx+1:goto2010
  186. 1950 if a$="[157]" then cx=cx-1:goto2010
  187. 1960 if a$="_"then return
  188. 1970 if ga=1 and asc(a$)=13 then return
  189. 1980 if a$="[133]"then 1890
  190. 1990 if ga=2 then 1740
  191. 2000 goto1920
  192. 2010 if cx>1 then cx=0
  193. 2020 if cx<0 then cx=1
  194. 2030 if cx=1 then 2070
  195. 2040 if cy>bp then cy=0
  196. 2050 if cy<0  then cy=bp
  197. 2060 goto 1910
  198. 2070 if cy>bc then cy=0
  199. 2080 if cy<0 then cy=bc
  200. 2090 goto 1910
  201. 2100 gosub 180:gosub180:goto370
  202. 2110 yy=6+hy:xx=9+(17*hx):gosub600:print" "
  203. 2120 yy=6+cy:xx=9+(17*cx):gosub600:print">"
  204. 2130 hy=cy:hx=cx:return
  205. 2140 print"":hx=0:hy=0:cx=0:cy=0:gosub1910:if a$="_" then 2100
  206. 2150 if cx=1then 2170
  207. 2160 p=ps+cy:n$=dp$(p):a$="%!":goto2180
  208. 2170 p=cs+cy:n$=dc$(p):a$="%$"
  209. 2180 a1$=a$+pn$+n$:close15:open15,de,15,"i0":print#15,"r0:"+a1$+"="+a1$
  210. 2190 input#15,er:close15:ifer<>63 then 570
  211. 2200 open15,de,15:open3,de,3,a1$+",s,r":gosub550:i=0:input#3,wa,wb
  212. 2210 i=i+1:input#3,la$(i):input#3,lb(i):input#3,lc(i)
  213. 2220 if left$(la$(i),1)<>chr$(255) then 2210
  214. 2230 ih=i:gosub550:close3:close15
  215. 2240 rem
  216. 2250 close4:open4,4,7:close4:if st<>0 then gosub 1500:goto2250
  217. 2260 close4:open4,4,7:print#4,:gosub1530
  218. 2270 i=0:mc=lb(1):mu=lc(1):gosub1050:fd=md:fm=mm:gosub1280
  219. 2280 i=i+1:mc=lb(i):mu=lc(i):gosub1050:if md<>fd then gosub2360:gosub2430
  220. 2290 if mm<>fm then gosub2390:gosub2430
  221. 2300 if left$(la$(i),1)=chr$(255)thenpoke186,de:goto100
  222. 2310 if gc>58 then gosub1340
  223. 2320 m1$=right$("     "+str$(mf),5):m2$=right$("     "+str$(mt),5)
  224. 2330 m3$=right$("     "+str$(mx/1000),5):l=len(la$(i))
  225. 2340 print#4,spc(6);la$(i);spc(35-l);m3$;" ";l$(mq);"   ";m1$;"  "m2$
  226. 2350 gc=gc+1:m1=m1+mf:m2=m2+mt:goto2280
  227. 2360 gosub2390:m1$=right$("     "+str$(ma),6):m2$=right$("      "+str$(mb),6)
  228. 2370 print#4,spc(54);m1$;" ";m2$:gc=gc+1
  229. 2380 ma=0:mb=0:fd=md:return
  230. 2390 ma=ma+m1:mb=mb+m2:m1$=right$("      "+str$(m1),6)
  231. 2400 m2$=right$("      "+str$(m2),6)
  232. 2410 print#4,spc(54);m1$;" ";m2$:fm=mm:m1=0:m2=0:gc=gc+1
  233. 2420 return
  234. 2430 if mm=0ormm=9  then return
  235. 2440 print#4," ":print#4,lw$(md);"  ";mm$(mm):gc=gc+2:return
  236. 2450 gosub690:ifbt=0then 370
  237. 2460 yy=22:xx=0:gosub600:print"       f1 = [208]age     f3 = [199]rab/[208]lace"
  238. 2470 print "       f5 = [201]nsert   f6 = [196]elete"
  239. 2480 print "       _  = [197]scape   f7 = [211]tart"
  240. 2490 hx=0:hy=0:cx=0:cy=0:hn=0:hn$=""
  241. 2500 gosub1910:p=ps+cy:ifcx=1then p=cs+cy
  242. 2510 if a$="_"then gosub180:gosub180:goto100
  243. 2520 if a$="[134]"then2580
  244. 2530 if hn<>0 then gosub2920:ifhn<>0then 2500
  245. 2540 if a$="[139]"then gosub2830:goto2500
  246. 2550 if a$="[135]" then gosub 2860  :goto2500
  247. 2560 if a$="[136]" then goto3070
  248. 2570 print "malfunction":end
  249. 2580 if hn<>0then 2610
  250. 2590 hn=cx+1:ifcx=0 then n$=dp$(p):goto2650
  251. 2600 n$=dc$(p):goto2670
  252. 2610 if(cx+1)<>hnthen gosub 2890 :goto2500
  253. 2620 gosub2740:gosub180:ifhn=1then dp$(p)=n$:gosub2790
  254. 2630 ifhn=2 then dc$(p)=n$:gosub2820
  255. 2640 hn=0:goto2500
  256. 2650 if left$(n$,1)<>chr$(255) then gosub2690:gosub2800:gosub2790:goto2500
  257. 2660 hn=0:goto2500
  258. 2670 if left$(n$,1)<>chr$(255) then gosub2690:gosub2800:gosub2820:goto2500
  259. 2680 hn=0:goto2500
  260. 2690 ifhn=2 then 2720
  261. 2700 dp=dp-1:ifdp<1thendp=1:return
  262. 2710 cy=0:forj=p to dp:dp$(j)=dp$(j+1):next:return
  263. 2720 dc=dc-1:ifdc<1then dc=1:return
  264. 2730 cy=0:forj=p to dc:dc$(j)=dc$(j+1):next:return
  265. 2740 ifhn=2 then 2770
  266. 2750 dp=dp+1:ifdp>53thendp=53:gosub2950:p=0:return
  267. 2760 forj=dptopstep-1:dp$(j)=dp$(j-1):next:return
  268. 2770 dc=dc+1:ifdc>53thendp=53:gosub2950:p=0:return
  269. 2780 forj=dctopstep-1:dc$(j)=dc$(j-1):next:return
  270. 2790 gosub1560:pp=ps:gosub1580:return
  271. 2800 fr=1:fc=13:tr=3:tc=27:fu=7:co=.:rv=0:gosub120
  272. 2810 yy=3:xx=14:gosub600:print"[199][210][193][194]= ";n$:return
  273. 2820 gosub1570:cp=cs:gosub1660:return
  274. 2830 hn=cx+1:gosub2690:ifhn=1 then gosub2790
  275. 2840 if hn=2then gosub2820
  276. 2850 hn=0:return
  277. 2860 hn=cx+1:gosub2740:n$="000000":ifhn=1then dp$(p)=n$:gosub2790
  278. 2870 if hn=2 then dc$(p)=n$:gosub2820
  279. 2880 hn=0:return
  280. 2890 fr=12:fc=12:tr=17:tc=29:fu=7:co=.:rv=8:gosub120
  281. 2900 yy=15:xx=15:gosub600:print"[129][208]lace [195]olumn"
  282. 2910 printtab(14);"[206]ot [197]qual [199][210][193][194]":gosub450:gosub180:print"":goto2500
  283. 2920 fr=12:fc=11:tr=17:tc=29:fu=7:co=.:rv=8:gosub120
  284. 2930 yy=15:xx=13:gosub600:print"[129][199][210][193][194] in [208]rocess"
  285. 2940 gosub450:gosub180:print"":goto2500
  286. 2950 fr=12:fc=12:tr=17:tc=29:fu=7:co=.:rv=8:gosub120
  287. 2960 yy=15:xx=15:gosub600:print"[129]    [204]imit"
  288. 2970 printtab(14);"  [197]xceeded!   ":gosub450:gosub180:print"":return
  289. 2980 rem: get fls
  290. 2990 open3,de,3,a1$+",s,r":gosub550:input#3,wa,wb
  291. 3000 wc=val(n$)*1000+int((wa+5)/10)
  292. 3010 input#3,la$:input#3,lb:input#3,lc:mc=lb:mu=lc
  293. 3020 if left$(la$,1)=chr$(255)then 3060
  294. 3030 gosub1050:p=(fx-1)*112+md*16+(mm-1)*4:if fd=1then p=(fx-1)*28+md*4
  295. 3040 p=p+2*fp:fa(p)=fa(p)+mf:fa(p+1)=fa(p+1)+mt
  296. 3050 goto3010
  297. 3060 close3:return
  298. 3070 fr=12:fc=12:tr=17:tc=29:fu=7:co=.:rv=8:gosub120:yy=14:xx=15:
  299. 3080 gosub600:dim fa(2915)
  300. 3090 print"[129][193]nalysis by:":print tab(15);" ([205])eal":print tab(15);" ([196])ay"
  301. 3100 poke198,0:wait198,15:geta$:ifa$<>"m"and a$<>"d" then 3100
  302. 3110 fd=0:ifa$="d"thenfd=1
  303. 3120 fl=26+(-26*(fd=1)):fx=0:xl=dp:ifdc>dpthen xl=dc
  304. 3130 if fl>xl then fl=xl
  305. 3140 gosub4050:close15:open15,de,15,"i0":gosub550
  306. 3150 fx=fx+1:iffx>flthen close15:goto3350
  307. 3160 n$=dp$(fx)+chr$(0):if left$(n$,1)=chr$(255) then 3210
  308. 3170 if left$(n$,1)=chr$(0) then 3210
  309. 3180 if left$(n$,4)="0000"then 3210
  310. 3190 hz$="  [208][204][193][206] ":gosub4080
  311. 3200 fp=0:a1$="%!"+pn$+dp$(fx):gosub2980:lb((fx-1)*2)=wc
  312. 3210 n$=dc$(fx)+chr$(0):if left$(n$,1)=chr$(255) then 3150
  313. 3220 if left$(n$,1)=chr$(0)then 3150
  314. 3230 if left$(n$,4)="0000" then 3150
  315. 3240 hz$="[193][195][212][213][193][204] ":gosub4080
  316. 3250 fp=1:a1$="%$"+pn$+dc$(fx):gosub2980:lb((fx-1)*2+1)=wc:goto3150
  317. 3260 fx=int(p/112):px=p-fx*112:md=int(px/16):px=px-md*16
  318. 3270 mm=int(px/4):px=px-mm*4:return
  319. 3280 fx=int(p/28):px=p-fx*28:md=int(px/4):px=px-md*4:return
  320. 3290 print"[144][147][215][197][197][203] [211][212][193][210][212]     [208][204][193][206]/[193][195][212][213][193][204] - [214][193][210][201][193][206][195][197] -"
  321. 3300 print"  [196][193][217] [205][197][193][204]     [211]-[198][193][212] [212][207][212][193][204] [211]-[198][193][212] [212][207][212][193][204]"
  322. 3310 return
  323. 3320 print#4,"[196][193][212][197]   [196][193][217] [205][197][193][204]   -- [208][204][193][206] --- - [193][195][212][213][193][204] --  [214][193][210][201][193][206][195][197]      [215][197][201][199][200][212] "
  324. 3330 print#4,tab(18);"[211]-[198][193][212] [212][207][212][193][204] [211]-[198][193][212] [212][207][212][193][204] [211]-[198][193][212] [212][207][212][193][204]    [212][193][210][199][197][212]  [193][195][212][213][193][204]"
  325. 3340 return
  326. 3350 fl=(fl-1)*-112*(fd=0)+(fl-1)*-28*(fd=1)
  327. 3360 gosub180:gosub180:gosub180:print"[147]"
  328. 3370 fr=12:fc=12:tr=18:tc=29:fu=7:co=.:rv=6:gosub120:yy=14:xx=14:gosub600
  329. 3380 print"  [207][213][212][208][213][212] [212][207]:":printtab(14);"  ([211])creen"
  330. 3390 printtab(15);" ([208])rinter":printtab(15);" ([194])oth":printtab(15);" ([205])enu"
  331. 3400 poke198,0:wait198,15:geta$:ifa$="s"or a$="p"or a$="b"ora$="m"then 3420
  332. 3410 goto3400
  333. 3420 if a$="m"then poke186,de:run
  334. 3430 os=1:ifa$="p"thenos=2
  335. 3440 if a$="b" then os=3
  336. 3450 yy=15:xx=0:gosub600:forj=1to4:printtab(14);"           ":next
  337. 3460 yy=16:xx=16:gosub600:ifos=1 then print" [211][195][210][197][197][206] "
  338. 3470 if os=2 then print" [208][210][201][206][212][197][210]"
  339. 3480 if os=3then print" [194][207][212][200]"
  340. 3490 if os=1 then 3520
  341. 3500 close4:open4,4,7:close4:ifst<>0then gosub1500:goto3500
  342. 3510 close4:open4,4,7:print#4,:gosub1530
  343. 3520 lc=0:p=0:sc=0:iffd=0 thengosub3260:gosub3880
  344. 3530 fx=0:gosub3960:hm$=kd$:if fd=1 then gosub3280
  345. 3540 hn$=lw$(md):if fd=0 then ho$=mm$(gm+1)
  346. 3550 gf=fx:gd=md:gm=mm:fori=1to8:lc(i)=0:next
  347. 3560 if os=1 or os=3 then gosub3290:gosub4010:sc=3
  348. 3570 if os=2 or os=3 then gosub3320:pc=2
  349. 3580 if fd=1 then ho$="      ":goto3680
  350. 3590 if fx=gf then3630
  351. 3600 gosub3770:gosub3930:gm=mm:ho$=mm$(gm+1):gd=md:hn$=lw$(md):gf=fx
  352. 3610 if p>fl-1then 3950
  353. 3620 gosub3960:gosub4010
  354. 3630 if md=gd then 3650
  355. 3640 gosub3770:gosub3930:gm=mm:ho$=mm$(gm+1):gd=md:hn$=lw$(md)
  356. 3650 if mm<>gm then gosub3770:gm=mm:ho$=mm$(gm+1)
  357. 3660 gosub3760:p=p+1:if p>fl-1 then 3950
  358. 3670 gosub 3260:goto3590
  359. 3680 if fx=gf then3720
  360. 3690 gosub3770:gosub3930:gm=mm:ho$="      ":gd=md:hn$=lw$(md):gf=fx
  361. 3700 gosub3910:ifp>fl-1then 3950
  362. 3710 gosub3960:gosub4010
  363. 3720 if md=gd then 3740
  364. 3730 gosub3770:gd=md:hn$=lw$(md)
  365. 3740 gosub3760:p=p+1:if p>fl-1then 3950
  366. 3750 gosub 3280:goto3680
  367. 3760 lc(px)=lc(px)+fa(p):return
  368. 3770 fori=0 to 3:lc(4+i)=lc(4+i)+lc(i):next
  369. 3780 ha$=right$("      "+str$(lc(0)),6):hb$=right$("      "+str$(lc(1)),6)
  370. 3790 hc$=right$("      "+str$(lc(2)),6):hd$=right$("      "+str$(lc(3)),6)
  371. 3800 he$=right$("      "+str$(lc(0)-lc(2)),6)
  372. 3810 hf$=right$("      "+str$(lc(1)-lc(3)),6)
  373. 3820 if os=2 then goto3850
  374. 3830 print"  ";hn$;" ";ho$;" [208]";ha$;hb$:printtab(13);"[193]";hc$;hd$;he$;hf$
  375. 3840 sc=sc+2:if sc>21 then gosub3910
  376. 3850 if os=1 then 3880
  377. 3860 print#4,hm$;" ";hn$;" ";ho$;ha$;hb$;hc$;hd$;he$;hf$;spc(7);hi$;spc(5);hj$
  378. 3870 pc=pc+1:if pc>lm-6 then gosub4090
  379. 3880 for i=0 to 3:lc(i)=0:next:hm$="      ":hn$="   ":ho$="      "
  380. 3890 hi$="   ":hj$="   ":return
  381. 3900 hm$=str$(int((lb((int(fx/2))*2))/1000)):return
  382. 3910 print tab(17);"[208][193][199][197][146]";:poke198,0:wait198,15:geta$:gosub3290:sc=3:return
  383. 3920 fori=pctolm:print#4,chr$(32):next:gosub3320:pc=0:return
  384. 3930 for  i=0to3:lc(i)=lc(i+4):next:ho$="*[212][207][212][193][204]":gosub3770
  385. 3940 fori=0to8:lc(i)=0:next:return
  386. 3950 gosub3770:gosub3930:gosub3910:goto3370
  387. 3960 wc=lb((int(fx))*2):wd=lb((int(fx))*2+1)
  388. 3970 k1=int(wc/1000):k2=int(wd/1000):ifk1=0 then k1=k2
  389. 3980 wc=wc-(k1*1000):wd=wd-(k2*1000)
  390. 3990 kd$=right$("      "+str$(k1),6):wc$=right$("   "+str$(wc),3)
  391. 4000 wd$=right$("   "+str$(wd),3):hm$=kd$:hi$=wc$:hj$=wd$:return
  392. 4010 if sc>3 then print
  393. 4020 print "";kd$;spc(5);"[215][197][201][199][200][212]: [208][204][206]/[193][195][212]";spc(3);wc$;" / ";wd$
  394. 4030 sc=sc+2:if sc>21 then gosub3910
  395. 4040 return
  396. 4050 yy=15:xx=15:gosub600:iffd=0then print"[129]    [205][197][193][204][160][160][160]"
  397. 4060 if fd=1 then print "[129]    [196][193][217]    "
  398. 4070 forj=1to2:printtab(14);"           ":next:return
  399. 4080 yy=17:xx=14:gosub600:print"[129]";hz$;n$:return
  400. 4090 for ij=pc tolm:print#4:next:pc=2:gosub3320:return
  401. 5000 print"[147][150][146][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]";
  402. 5010 fori=1to3:print"[129]                                        ";:next
  403. 5020 print"[162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]"
  404. 5030 print"[129]"tab(5)"[195][160][193] [204] [207] [210] [201] [197] [160] [208][160][210][160][201][160][206] [212][160][197][160][210]"
  405. 5040 fori=217to242:pokei,peek(i)or128:next:return
  406.